Introduction
NILOVA - Responsive Angular Ng Bootstrap Admin Template for All Your Web Projects
Nilova is a premium Angular Ng Bootstrap Admin Template that combines
different
themes with full flexibility and responsiveness.this template is built using
using Angular,CSS,Scssand with
TypeScript , offering
seamless customization with SASS integration. Whether you’re building a web
application, admin dashboard, or project management platform, this template
ensures your site stands out with ease.
Support and Updates:
When you purchase Nilova, you gain access to free future updates to ensure your template remains up-to-date. Plus, our support team is always ready to assist with any questions.
Dependencies for Nilova
What Do You Get with the Nilova:
Nilova provides all necessary Angular Components files, CSS, SCSS, JS files, along with detailed Documentation to help you easily customize and implement the template.
Nilova Compatibility with Popular Browsers:
Nilova is fully compatible with major browsers, ensuring a seamless user experience across Chrome, Firefox, Safari, Edge, and Opera.
Getting Start Guide
Setting Up The Local Environment & Workspace
This comprehensive guide provides step-by-step instructions on how to set up your development environment Angular tool. It covers everything from the necessary prerequisites to installing the tool, creating an initial workspace, and setting up a starter app. You'll also learn how to run the app locally to test and verify your setup. By following this guide, you can ensure that your development environment is properly configured for Angular, and you can get started with your project confidently and efficiently. Whether you're a beginner or an experienced developer, this guide is an essential resource for anyone looking to work with Angular.
Prerequisites
To use the Angular Framework, you should be familiar with the following:- Angular
- Angular Bootstrap
- Typescript
Prerequisites
To install Angular on your local System, you need the following:
Node.js
Angular requires a current, active LTS (long term support) or maintenance LTS
(long term support) version of Node.js.
Download latest version of node.js from nodejs.org.
Install Node.js using downloaded file.
To check your node version, run node -v in a terminal/console window (cmd)
Npm package Manager
The Angular CLI and Angular applications depend on npm packages for
many features and functions.
To download and install npm packages, you need an npm package manager.
This guide uses the npm client command line interface, which is installed with
Node.js by default.
To check that you have the npm client installed, run npm -v in a
terminal/console window (cmd)
For better understanding Angular we suggest you once go through official
documentation of Angular from Angular
Documentation
Installation Process
How to Run the Nilova Angular Template:
Download the Nilova.rar/zip file.
Extract it there you will find Nilova(main project file), Starter-kit(set of files and code that provides a basic structure and functionality for a specific type of application), Readme.txt, Documentation.
Go to the Nilova folder/directory. open the command prompt/ terminal run the below command.
code
npm install // If you faced any issue running "npm install" Please make sure to use,
npm install --force // This command will ignore if there was any dependency issue.
(or)
yarn install // yarn can handle dependency issues better than npm.
Once the installation was successful then you can find node_modules folder where all the downloaded libraries are available.
To serve the Angular project, In command prompt or terminal run the following command:
code
ng serve
Once you serve your application by default port is set to 4200 :http://localhost:4200/
To change the Angular port manually, you can specify the port number when running the ng serve command. By default, the port is set to 4200, but you can specify a different port number by appending `--port` followed by the desired port number.
code
ng serve --port 1234
If you need to change any styles, modify the SCSS files. To convert SCSS to CSS, run the following command:
code
npm run sass
Installation Video
Folder Structure
StaterKit Guide
Purpose of a starter kit
Introduction to the Angular Template Starter Kit:
The Angular template starterkit is a resource that helps developers kickstart their Angular web development projects by providing a preconfigured and ready-to-use template. It aims to simplify the initial setup and provide a foundation for building Angular-based websites or applications.
Purpose of the Angular Template Starter Kit:
The purpose of the Angular template starter kit is to save developers time and effort by offering a set of prebuilt files and configurations commonly used in Angular projects. Instead of starting from scratch, developers can leverage the starter kit to quickly set up a project structure that adheres to best practices and industry standards.
Benefits of Using the Angular Template Starter Kit:
The starter kit eliminates the need to set up the
basic project structure manually. It provides a
well-organized file and folder structure, including
commonly used directories for separating code,
templates, assets, and configuration files. This
allows developers to focus more on implementing
business logic rather than spending time on initial
setup.
Before using the Angular template starter kit,
developers should have a basic understanding of
Angular and web development concepts.
Starterkit Overview
You can use the Starterkit if you are creating a new project. It will be time-consuming to use the full admin version for a new project as Dashtic have more than 120+ Components.
We have provided all the pre-build layouts like Sidemenu, Header, footer and blank pages etc in the Starterkit.
For further information or support regarding the template, please contact us using the provided link.
https://support.spruko.comStarterkit Folder Structure
code
Main Layout
General angular component structure of the Nilova
template Shared Folder.
Root:shared/layouts/full-layout.html
html
Angular file Structure
General Angular file structure of the Nilova template
.Root:src\app\components\pages\empty-page\empty-page.html
html
<!-- Start::row-1 -->
<div class="row">
<div class="col-xl-12">
<div class="card custom-card">
<div class="card-body">
<h6 class="mb-0">Empty Card</h6>
</div>
</div>
</div>
</div>
<!-- End::row-1 -->
Routing
To handle the navigation from one view to the next, you use the Angular Router. The Router enables navigation by interpreting a browser URL as an instruction to change the view. Your complete route structure is place at app-routes.ts file under src » app
Suppose you want to create a new module then you have to add new routes for that modules.
Basic Route
Following are the fundamental building blocks to creating a route.
- Import the
AppRoutingModuleintoapp.config.tsand add it to the imports array.
ts
import { ApplicationConfig, importProvidersFrom } from '@angular/core';
import { RouterOutlet, provideRouter } from '@angular/router';
import { App_Route } from './app.routes';
export const appConfig: ApplicationConfig = {
providers: [provideRouter(App_Route),RouterOutlet,
importProvidersFrom()
]
};
Import RouterModule and Routes into your routingmodule.
The Angular CLI performs this steps automatically. The CLI also set up a Routes
array for your routes and configures the imports and
exports array
ts
import { Routes } from '@angular/router';
import { dashboardRoutingModule } from '../../components/dashboards/dashboard.routes';
export const content: Routes = [
{ path: '', children: [
...dashboardRoutingModule,
]}
];
export class SaredRoutingModule { }
Define your routes in your Routes array.
Each route in this array is a JavaScript object that contains two properties. The first property path, defines the URL path for the route. The second property component, defines the component Angular should use for the corresponding path.
Use that component name with path, name, and data attribute in routes array in app-routes.ts file
ts
import { Routes } from '@angular/router';
export const AppRoutingModule: Routes = [
{path:'default',children:[ {
path: 'default',
loadComponent: () =>
import('./default/default').then((m) => m.DefaultComponent),
},]}
];
Add your routes to your application.
Now that you have defined your routes, you can add the component to your
application. First, add links to the components. Assign the anchor tag that you
want to add the route to the routerLink attribute. Set the value of the
attribute to the component to show when a user clicks on each link. Next, update
your component template to include<router-outlet>This element
informs Angular
to update the application view with the component for the selected route.
html
<nav>
<ul class="list-unstyled">
<li><a [routerLink]="['/default']" routerLinkActive="active">First Component</a></li>
</ul>
</nav>
<router-outlet></router-outlet>
Changing SCSS to CSS using the SASS Package
Introduction :
This documentation outlines the process of converting SCSS (Sassy CSS) files to standard CSS (Cascading Style Sheets) in a project's assets directory using the SASS package. SCSS is a preprocessor for CSS, and SASS is a popular choice for transforming SCSS into CSS efficiently. This guide provides step-by-step instructions on installing the SASS package, configuring it in your project, and converting SCSS files to CSS.
-
Prerequisites
Before proceeding, ensure that you have the following prerequisites:
Node.js installed on your system.
A project directory with SCSS files that you want to compile into CSS.
Installation :
Install the SASS package using npm (Node Package Manager) by running the following command:
code
npm install sass
This command will download and install the SASS package and its dependencies into your project.
Configuration :
To configure SASS for your project, follow these steps:
-
1. Open your project's
package.jsonfile. If you don't have one, you can create it by running npm init and following the prompts. -
2. Inside the
package.jsonfile, locate the "scripts" section. If it doesn't exist, create one:code
"scripts": { // ...existing scripts... } -
3. Add a script that specifies the compilation process from SCSS to CSS. You can name the script as you prefer, but for this example, we'll name it "sass." The script should look like this:
code
"scripts": { "sass": "sass ./public/assets/scss:./public/assets/css/" }In the script above, replace
./public/assets/scsswith the path to your SCSS files and./public/assets/csswith the destination directory for your compiled CSS files. -
4. Add a script that specifies the compilation compressed process from SCSS to CSS. You can name the script as you prefer, but for this example, we'll name it "sass-min." The script should look like this:
code
"scripts": { "sass-min": "sass ./public/assets/scss:./public/assets/css/ --style compressed" }In the script above, replace
./public/assets/scsswith the path to your SCSS files and./public/assets/csswith the destination directory for your compiled CSS files. -
5. Save the
package.jsonfile.
Compiling SCSS to CSS :
With the SASS package and script configured, you can now compile your SCSS files to CSS with the following steps:
-
1. Open your terminal or command prompt.
-
2. Navigate to your project's root directory if you're not already there.
-
3. Execute the following command to run the "sass" script:
code
npm run sassThis command will initiate the SCSS to CSS compilation process using the SASS package.
-
4. Execute the following command to run the "sass-min" script:
code
npm run sass-minThis command will initiate the SCSS to CSS compilation compressed process using the SASS package.
-
5. Once the process is complete, the compiled CSS files will be generated in the specified destination directory (e.g., ./public/assets/css).
Conclusion :
You have successfully configured and used the SASS package to convert SCSS files to CSS in your project. This allows you to take advantage of SCSS's powerful features while ensuring that your web application uses standard CSS for styling.
Firebase Authentication Guide
Firebase SetUp
Step-1: Now run below commands inside angular 19 to install firebase latest.
terminal
step-2: Now we need to add firebase configuration details(create database on firebase) and we need to add that details in (angular_project/src/environments/environment.ts)
ts
And also include them in
angular_project/src/environments/environment-prod.ts file:
ts
angular_project/src/app/app.module.tsfile:
ts
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { environment } from 'src/environments/environment';
import { AngularFireModule } from '@angular/fire/compat';
import { AngularFirestoreModule } from '@angular/fire/compat/firestore';
import { AngularFireAuthModule } from '@angular/fire/compat/auth';
imports:[
...
BrowserAnimationsModule, // required animations module
AngularFireModule.initializeApp(environment.firebase),
AngularFirestoreModule,
AngularFireAuthModule
]
Process to remove firebase :
- To remove firebase from the project make sure that you have to remove the
auth.service.tsfile insrc/app/shared/auth. -
In
login.tsreplace login function with -
ts
login() { if (this.loginForm.controls['email'].value === "spruko@template.com" && this.loginForm.controls['password'].value === "spruko"){ this.router.navigate(['/dashboard/sales']); } } -
or else you can use any other authentication as per your requirement.
And make sure to remove canActivate: [AdminGuard] from
app-routes.ts. Remove the firebase-related content in app.module.ts, environment. - Note: make sure to remove all AuthService from the project which can be found in the switcher, header, authentication, ect..
Firebase installation process
FAQ'S
Step 1:
Go To style.scss (public/assets/scss/styles.scss )
if you want to change another font-family Go to the site Google Fonts And Select One font Family and import in to styles.scss file
How to Select font Family

Step 2:
And paste Your Selected font-family in style.scss

Step 3:
And add the Your Selected font-family in _variables.scss(public/assets/scss/_variables.scss)
code
--default-font-family: "Space Grotesk", sans-serif;
By default menu icons are phosphoricons if
you
want to change icons please follow below steps
Step 1 :
To change Menu icons, open
Path:src/app/shared/services/navservice.ts and
go
through
MENUITEMS Array in that section you will find icon
Object
which contains svg
tag, there you can replace previous icon with your icon.
Example
as shown in below
next
Go To
"src/assets/images/brand-logos"
folder and replace
your
logo with Previous Logos within in image size.
note: Please don't increase logo sizes. Replace your logo within
given
image size. otherwise the logo will not fit in particular place
it
disturbs the template design.
Step1:
Open src/app/shared/services/app-state.service.ts
file
src/app/shared/services/app-state.service.ts
To clear LocalStorage loading functions you need to remove updateStateAndEmit() function in src/app/shared/services/app-state.service.ts as shown below
code
private updateStateAndEmit(state: any) {...}
Step2:
To remove complete LocalStorage saving you need to
remove
all localstorage related calling functions in
src/app/shared/services/app-state.service.ts
src/app/shared/services/app-state.service.ts file.
LocalStorage related functions like localStorage.setItem, localStorage.removeItem, localStorage.getItem, localStorage.clear. Below are the some examples to find out.
code
localStorage.clear();
Step1:
Open header.html file
src\app\shared\componets\header\header.html
To remove switcher icons remove below code shown in
header.html file
code
<!-- Start::header-element -->
<li class="header-element">
<!-- Start::header-link|switcher-icon -->
<a (click)="toggleSwitcher()" href="javascript:void(0);" class="header-link switcher-icon" data-bs-toggle="offcanvas" data-bs-target="#switcher-canvas">
<i class="ti ti-settings"></i>
</a>
<!-- End::header-link|switcher-icon -->
</div>
<!-- End::header-element -->
Step2:
After removing code in header.html
To remove switcher Toggle function From
header.ts open
src\app\shared\componets\header\header.ts
file
code
toggleSwitcher() {...}
Example:
To remove the Switcher in Landing page, follow these steps :
Step1:
Remove below shown code in head part of the
landing.html file
Path:src/app/components/pages/landing/landing.html
code
<!-- Start::header-link|switcher-icon -->
<a (click)="toggleSwitcher()" href="javascript:void(0);" class="header-link switcher-icon" data-bs-toggle="offcanvas" data-bs-target="#switcher-canvas">
<i class="ti ti-settings"></i>
</a>
<!-- End::header-link|switcher-icon -->
Step2:
Remove below code from landing.js file
Path:src/app/components/pages/landing/landing.ts
code
openSwitcher() {...}
Please follow the below steps to change Primary Color
Step 1 :
To change Primary Color you have to open _variables.scss file and replace what color you want as shown in below
Rootpath : _variables.scss (src/assets/scss/_variables.scss )
Please follow the below steps to change Dark body Color
Step 1 :
Make sure the theme is set completely to dark mode by adding the following attributes to the html tag data-theme-mode="dark" data-header-styles="dark" data-menu-styles="dark"
Step 2 :
To change Dark body Color you have to open _variables.scss file and replace what color you want as shown in below
Rootpath : _variables.scss (src/assets/scss/_variables.scss )
Step 3 :
Also Change the following variable colors to the desired theme background accordingly in [data-theme-mode="dark"]
--light-rgb : --form-control-bg : --input-border : --gray-3 :Credit's
Icons Credit
| Icons | References |
|---|---|
| Bootstrap Icons | https://icons.getbootstrap.com/ |
| Boxicons | https://boxicons.com/ |
| Remix Icons | https://remixicon.com/ |
| Feather Icons | https://feathericons.com/ |
| Tabler Icons | https://tabler-icons.io/ |
| Line Awesome Icons | https://icons8.com/line-awesome |
| lucide Icons | https://lucideicons.com/ |
Images Credit
| Images | References |
|---|---|
| Vecteezy | https://www.vecteezy.com/ |
| Iconscount | https://iconscout.com/ |
| Unsplash | https://unsplash.com/ |
| Png Tree | https://pngtree.com/ |
| flaticon | https://www.flaticon.com/authors/flat-icons |
| freepik | https://www.freepik.com |
Fonts Credit
| Font | References |
|---|---|
| Google Fonts | https://fonts.google.com/ |
Sidemenu Icons
| Icon | References |
|---|---|
| lucide Icons | https://lucide.dev/icons/ |
Switcher styles
(Root:html/partials/mainhead.html)
html
<html lang="en" dir="ltr" data-nav-layout="vertical" data-theme-mode="light" data-header-styles="transparent" data-width="fullwidth" data-menu-styles="transparent" data-page-style="flat" data-toggled="close" data-vertical-style="doublemenu" data-toggled="double-menu-open">
(Root:src/app/shared/services/app-state.service.ts)
Ts
export class AppStateService {
private readonly localStorageKey = 'Nilova-ng'; // Customize this key
private initialState: StateType = {
theme: '', // light, dark
themetemplate: '', // default,fusion,modern,saas,neon,galaxy,elegant,flat,prism,retro,frost,nova
direction: '', // ltr, rtl
navigationStyles: '', // vertical, horizontal
menuStyles: '', // menu-click, menu-hover, icon-click, icon-hover
layoutStyles: '', // double-menu, detached, icon-overlay, icontext-menu, closed-menu, default-menu
pageStyles: '', // regular, classic, modern
widthStyles: '', // fullwidth, boxed
menuPosition: '', // fixed, scrollable
headerPosition: '', // fixed, scrollable
menuColor: '', // light, dark, color, gradient, transparent
headerColor: '', // light, dark, color, gradient, transparent
themePrimary: '', // '58, 88, 146', '92, 144, 163', '161, 90, 223', '78, 172, 76', '223, 90, 90'
themeBackground: '',
backgroundImage: '', // bgimg1, bgimg2, bgimg3, bgimg4, bgimg5
} // Store initial state
}
html
data-theme-template="default" data-header-styles="light" data-menu-styles="dark"
html
data-theme-template="fusion" data-header-styles="transparent" data-menu-styles="light"
html
data-theme-template="modern" data-header-styles="gradient" data-menu-styles="light"
html
data-theme-template="saas" data-header-styles="transparent" data-menu-styles="dark"
html
data-theme-template="neon" data-header-styles="transparent" data-menu-styles="dark"
html
data-theme-template="galaxy" data-them-mode="dark" data-header-styles="dark" data-menu-styles="dark"
html
data-theme-template="elegant" data-header-styles="transparent" data-menu-styles="dark"
html
data-theme-template="flat" data-header-styles="light" data-menu-styles="light" data-vertical-style="doublemenu" data-toggled="double-menu-open"
html
data-theme-template="prism" data-header-styles="transparent" data-menu-styles="transparent"
html
data-theme-template="retro" data-header-styles="transparent" data-menu-styles="dark" data-vertical-style="detached"
html
data-theme-template="frost" data-header-styles="transparent" data-menu-styles="gradient"
html
data-theme-template="nova" data-header-styles="light" data-menu-styles="dark"
html
data-theme-mode="dark" data-header-styles="light" data-menu-styles="light"
html
data-theme-mode="dark" data-header-styles="dark" data-menu-styles="dark"
html
dir="ltr"
html
dir="rtl"
html
data-nav-layout="vertical"
html
data-nav-layout="horizontal" data-nav-style="menu-click"
html
data-page-style="regular"
html
data-page-style="classic"
html
data-page-style="modern"
html
data-width="default"
html
data-width="full-width"
html
data-width="boxed"
html
data-header-position="fixed"
html
data-header-position="scrollable"
html
data-vertical-style="closed"
html
data-vertical-style="icontext"
html
data-vertical-style="overlay"
html
data-vertical-style="detached"
html
data-vertical-style="doublemenu"
html
loader="enable"
html
loader="disable"
html
data-menu-styles="light"
html
data-menu-styles="dark"
html
data-menu-styles="color"
html
data-menu-styles="gradient"
html
data-menu-styles="transparent"
html
data-header-styles="light"
html
data-header-styles="dark"
html
data-header-styles="color"
html
data-header-styles="gradient"
html
data-header-styles="transparent"
html
data-bg-img="bgimg1"
html
data-bg-img="bgimg2"
html
data-bg-img="bgimg3"
html
data-bg-img="bgimg4"
html
data-bg-img="bgimg5"
Ng-Apexcharts :
Ng-Apexcharts is an implementation of apexcharts for angular. It comes with one simple component that enables you to use apexcharts in an angular project.
code
Html
<Spk-apexcharts [chartOptions]="chartOptions"></Spk-apexcharts>
Ts
import { Component } from '@angular/core';
import { SpkApexcharts } from '../../../../@spk/plugins&reusable/charts/spk-apexcharts/spk-apexcharts';
import { ApexOptions } from 'ng-apexcharts';
@Component({
selector: 'app-area-charts',
imports: [SpkApexcharts],
templateUrl: './area-charts.html',
styleUrl: './area-charts.scss',
})
export class AreaCharts {
chartoptions: ApexOptions = {
};
}
Plugin Link
https://www.npmjs.com/package/apexcharts
Reference Link
https://apexcharts.com/angular-chart-demos/
Ng2 Charts :
Ng2 Charts is an implementation of Chartjs for angular. It comes with one simple component that enables you to use Chartjs in an angular project.
code
Html
<spk-chartjs
id="chartjs-line"
class="chartjs-chart"
[chartjs]=""ChartjsLineChart"
></spk-chartjs>
Ts
import { Component } from '@angular/core';
import { ChartConfiguration } from 'chart.js';
import { SpkChartjs } from '../../../@spk/plugins&reusable/charts/spk-chartjs/spk-chartjs';
@Component({
selector: 'app-chartjs-charts',
imports: [SpkChartjs],
templateUrl: './chartjs-charts.html',
styleUrl: './chartjs-charts.scss',
})
export class ChartjsCharts {
ChartjsLineChart: ChartConfiguration = {
};
}
Plugin Link
https://www.npmjs.com/package/ng2-charts
Reference Link
https://valor-software.com/ng2-charts/
Ngx charts :
Ngx Echarts is an implementation of Echarts for angular. It comes with one simple component that enables you to use Echarts in an angular project.
code
Html
<spk-echarts
[options]="BasicLineChart"
[id]="'echart-basic-line'"
[class]="'echart-charts'"
></spk-echarts>
Ts
import { Component } from '@angular/core';
import * as echarts from 'echarts';
import type { EChartsOption } from 'echarts';
import { SpkEcharts } from '../../../@spk/plugins&reusable/charts/spk-echarts/spk-echarts';
@Component({
selector: 'app-echarts-charts',
imports: [SpkEcharts],
templateUrl: './echarts-charts.html',
styleUrl: './echarts-charts.scss',
})
export class EchartsCharts {
BasicLineChart: EChartsOption = {
};
}
Plugin Link
https://www.npmjs.com/package/ngx-echarts
Reference Link
https://xieziyu.github.io/ngx-echarts/#/basic/basic-usage
Accordions :
Angular Bootstrap Accordion is a component that allows you to display collapsible content panels in a stack, ideal for organizing large amounts of content in a compact, interactive layout. It integrates with Bootstrap’s accordion system, supporting features like multiple or single panel expansion, custom styling, and smooth animations, making it easy to create dynamic, space-efficient UIs in Angular applications.
code
Html
<spk-accordion
[items]="BasicAccordion"
[closeOthers]="true"
[headerTemplate]="header"
[bodyTemplate]="body"
></spk-accordion>
<ng-template #header let-item>
...
</ng-template>
<ng-template #body let-item>
...
</ng-template>
Ts
import { Component } from '@angular/core';
import { SpkAccordion } from '../../../../@spk/plugins&reusable/spk-accordion/spk-accordion';
@Component({
selector: 'app-accordions-collapse',
imports: [SpkAccordion],
templateUrl: './accordion.html',
styleUrl: './accordion.scss',
})
export class AccordionsCollapse {
BasicAccordion = [];
}
Plugin Link
https://ng-bootstrap.github.io/#/home
Reference Link
https://ng-bootstrap.github.io/#/components/accordion/overview
Alerts :
Angular Bootstrap Alerts are pre-styled, customizable alert components that integrate Bootstrap's alert system with Angular. They provide an easy way to display important messages or notifications, with built-in support for different styles (success, error, info, etc.), dismissible functionality, and seamless Angular integration.
code
Html
<spk-alerts
[variant]="'primary'"
[title]="'Default Alert'"
></spk-alerts>
Ts
import { Component } from '@angular/core';
import { SpkAlerts } from '../../../../@spk/plugins&reusable/spk-alerts/spk-alerts';
@Component({
selector: 'app-alerts',
imports: [SpkAlerts],
templateUrl: './alerts.html',
styleUrl: './alerts.scss',
})
export class Alerts {
}
Plugin Link
https://ng-bootstrap.github.io/#/home
Reference Link
https://ng-bootstrap.github.io/#/components/alert/examples
Breadcrumb :
Breadcrumb is a Custom navigation component that displays a series of links to help users understand their location within a hierarchical structure. It seamlessly integrates with Bootstrap’s breadcrumb styling, offering customizable options for separators, active links, and responsive behavior in Angular applications.
Html
<spk-breadcrumb>
<li
class="breadcrumb-item active"
aria-current="page">
Home
</li>
</spk-breadcrumb>
Ts
import { Component } from '@angular/core';
import { SpkBreadcrumb } from '../../../../@spk/plugins&reusable/spk-breadcrumb/spk-breadcrumb';
@Component({
selector: 'app-breadcrumb',
imports: [SpkBreadcrumb],
templateUrl: './breadcrumb.html',
styleUrl: './breadcrumb.scss',
})
export class Breadcrumb {
}
Cards :
Angular Bootstrap Cards are versatile, customizable components for displaying content in a flexible, structured layout. They integrate Bootstrap’s card system with Angular, allowing you to create various types of content containers with options for images, headers, footers, and more, making them ideal for building rich, responsive UI elements.
Html
<spk-card
[cardOptions]="true"
[closeable]="true"
[collapsable]="true"
>
<ng-container
#header
header
>
<h3
class="card-title"
>....</h3>
</ng-container>
<ng-container>
......
</ng-container>
<ng-container
#footer
footer
>
.....
</ng-container>
</spk-card>
Html
import { Component } from '@angular/core';
import { SpkCard } from '../../../@spk/spk-card/spk-card';
@Component({
selector: 'app-cards',
standalone: true,
imports: [SpkCard],
templateUrl: './cards.html',
styleUrl: './cards.scss'
})
export class Cards {
}
Dropdown :
Angular Bootstrap Dropdown is a component that provides a simple way to create dropdown menus in Angular applications, following Bootstrap's design conventions. It supports various options like single or multi-level menus, alignment, and customization of triggers (e.g., buttons or links), making it easy to build responsive, interactive dropdowns with minimal effort.
Html
<spk-dropdowns
[ToggleTitle]="title"
[ToggleClass]="btnClass"
[toggleId]="id"
>
<li>
<a class="dropdown-item" href="javascript:void(0);">Action</a>
</li>
<li>
<a class="dropdown-item" href="javascript:void(0);">Another action</a>
</li>
<li>
<a class="dropdown-item" href="javascript:void(0);">Something else here</a>
</li>
</spk-dropdowns>
Html
import { Component } from '@angular/core';
import { SpkDropdowns } from '../../../../@spk/plugins&reusable/spk-dropdowns/spk-dropdowns';
@Component({
selector: 'app-dropdowns',
imports: [SpkDropdowns],
templateUrl: './dropdowns.html',
styleUrl: './dropdowns.scss',
})
export class Dropdowns {
}
Quill Editor :
Quill Editor is an implementation of quill for angular. It comes with one simple component that enables you to use quill editor in an angular project.
code
Html
<spk-editor
id="editor"
class="w-100"
[content]="editorContent"
[theme]="'bubble'"
[modules]="toolbarOptions"
/>
Ts
import { Component } from '@angular/core';
import { SpkEditor } from '../../../../@spk/plugins&reusable/spk-editor/spk-editor';
@Component({
selector: 'app-quill-editor',
imports: [SpkEditor],
templateUrl: './quill-editor.html',
styleUrl: './quill-editor.scss',
})
export class QuillEditor {
editorContent = `...;
toolbarOptions = {
toolbar: [
["bold", "italic", "underline"],
["image", "video"]
]
};
}
Plugin Link
https://www.npmjs.com/package/ngx-quill
Reference Link
https://killercodemonkey.github.io/ngx-quill-example/
Ngx Filepond :
Ngx Filepond is an implementation of filepond for angular. It comes with one simple component that enables you to use ngx Filepond in an angular project.
code
Html
<spk-filepond
[className]="'filepond multiple-filepond'"
[pondOptions]="MultiplepondOptions"
/>
Ts
import { Component } from '@angular/core';
import { SpkFilepond } from '../../../../../@spk/plugins&reusable/spk-filepond/spk-filepond';
@Component({
selector: 'app-file-uploads',
imports: [SpkFilepond],
templateUrl: './file-uploads.html',
styleUrl: './file-uploads.scss',
})
export class FileUploads {
MultiplepondOptions = {
allowImagePreview: false,
maxFiles: 5,
allowMultiple: true,
labelIdle: "Drop files here to Upload..."
};
}
Plugin Link
https://www.npmjs.com/package/ngx-filepond
Reference Link
https://pqina.nl/filepond/
Angularx flatpickr :
Angularx flatpickr is an implementation of flatpickr for angular. It comes with one simple component that enables you to use flatpickr in an angular project.
code
Html
<spk-flatpickr
placeholder="Choose Date With Time"
class="form-control"
[mode]="'single'"
[altInput]="false"
[convertModelValue]="true"
[enableTime]="true"
[dateFormat]="'Y-m-d H:i'"
></spk-flatpickr>
Ts
import { Component } from '@angular/core';
import { SpkFlatpickr } from '../../../../../@spk/plugins&reusable/spk-flatpickr/spk-flatpickr';
@Component({
selector: 'app-date-time-picker',
imports: [SpkFlatpickr],
templateUrl: './date-time-picker.html',
styleUrl: './date-time-picker.scss',
})
export class DateTimePicker {
}
Plugin Link
https://www.npmjs.com/package/angularx-flatpickr
Reference Link
https://mattlewis92.github.io/angularx-flatpickr/
Ngx leaflet :
Ngx leaflet is an implementation of leaflet for angular. It comes with one simple component that enables you to use leaflet in an angular project.
code
Html
<spk-leaflet
[config]="LeafletMap"
></spk-leaflet>
Ts
import { Component } from '@angular/core';
import { leafletConfig, SpkLeaflet } from '../../../@spk/plugins&reusable/spk-leaflet/spk-leaflet';
import { latLng, tileLayer } from 'leaflet';
@Component({
selector: 'app-leaflet-maps',
imports: [SpkLeaflet],
templateUrl: './leaflet-maps.html',
styleUrl: './leaflet-maps.scss',
})
export class LeafletMaps {
LeafletMap: leafletConfig = {
id: "map",
options: {
layers: [
tileLayer(
'https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png',
{
maxZoom: 18,
attribution: '© OpenStreetMap'
}
)
],
zoom: 13,
center: latLng(51.505, -0.09)
}
};
}
Plugin Link
https://www.npmjs.com/package/@bluehalo/ngx-leaflet
Ng Select :
Ng Select is a flexible, customizable dropdown/select input component for Angular, offering features like multi-select, search, and async options. It provides an intuitive, user-friendly interface with advanced styling and accessibility support.
code
Html
<spk-ng-select
[id]="'basic-state-select'"
[options]="BasicSelect2"
[selectClass]="'js-example-basic-single w-full !rounded-md'"
[placeholder]="'Select an option'"
></spk-ng-select>
Ts
import { Component } from '@angular/core';
import { SpkNgSelect } from '../../../../@spk/plugins&reusable/spk-ng-select/spk-ng-select';
import { NgOption } from '@ng-select/ng-select';
@Component({
selector: 'app-select2',
imports: [SpkNgSelect],
templateUrl: './select2.html',
styleUrl: './select2.scss',
})
export class Select2 {
BasicSelect2: NgOption[] = [
{ value: 's-1', label: 'Selection-1' },
{ value: 's-2', label: 'Selection-2' },
{ value: 's-3', label: 'Selection-3' },
{ value: 's-4', label: 'Selection-4' },
{ value: 's-5', label: 'Selection-5' }
];
}
Plugin Link
https://www.npmjs.com/package/@ng-select/ng-select
Reference Link
https://ng-select.github.io/ng-select/#/data-sources
NgbRating
NgbRating is a component that integrates Rating design system to create customizable, interactive rating systems in Angular applications. It allows users to easily select a rating through stars or other symbols, with built-in support for customization, accessibility, and styling.
code
Html
<spk-rating
[id]="'rater-basic'"
[rating]="4"
[maxStars]="5"
>
</spk-rating>
Ts
import { Component } from '@angular/core';
import { SpkRating } from '../../../../@spk/plugins&reusable/spk-rating/spk-rating';
@Component({
selector: 'app-ratings',
imports: [SpkRating],
templateUrl: './ratings.html',
styleUrl: './ratings.scss',
})
export class Ratings {
}
Plugin Link
https://ng-bootstrap.github.io/#/components/rating/examples
Reference Link
https://ng-bootstrap.github.io/#/components/rating/api
Swiper Elelment
Swiper is a modern, touch-enabled slider component designed to create customizable, interactive carousels and slideshows in Angular applications. It allows users to easily swipe through images or content cards, with built-in support for pagination, navigation controls, autoplay functionality, and fully responsive layouts.
code
Html
<spk-swiper
[items]="BasicSwiper.items"
[options]="BasicSwiper.options"
[slideTemplate]="SwiperSlide"
[swiperClass]="'swiper'"
>
</spk-swiper>
<ng-template #SwiperSlide let-image>
<img
[src]="image.src"
class="img-fluid rounded"
alt="Image"
/>
Ts
import { Component } from '@angular/core';
import { SwiperOptions } from 'swiper/types';
import { SpkSwiper } from '../../../../@spk/plugins&reusable/spk-swiper/spk-swiper';
@Component({
selector: 'swiper-element',
imports: [SpkSwiper],
templateUrl: './swiper-element.html',
styleUrl: './swiper-element.scss',
})
export class SwiperElement {
BasicSwiper = {
options: {
spaceBetween: 10,
slidesPerView: 1,
direction: 'horizontal',
autoplay: true,
autoplayDelay: 1500
} as SwiperOptions,
items: [
{ src: './assets/images/media/media-27.jpg' },
{ src: './assets/images/media/media-26.jpg' },
{ src: './assets/images/media/media-25.jpg' }
]
};
}
Plugin Link
https://swiperjs.com/element
Reference Link
https://swiperjs.com/demos
Additional Plugins Included :
The following plugins have also been included, apart from the ones already listed in the above sections