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.

  • Angular Components files Files
  • CSS Files
  • SCSS Files
  • TS Files
  • Documentation

Nilova Compatibility with Popular Browsers:

Nilova is fully compatible with major browsers, ensuring a seamless user experience across Chrome, Firefox, Safari, Edge, and Opera.

  • Firefox
  • Safari
  • Opera
  • Chrome
  • Edge

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
Knowledge of Typescript is helpful.

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:

Step1:

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.

Step2:

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.

Step3:

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
How to Convert SCSS to CSS:

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.com
Starterkit 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 -->
   

SideMenu Guide

How to Add Menus to Sidebar

In your Angular project, you can easily add menus to the sidebar by modifying the MENUITEMS array in the nav.service.ts (src\app\shared\services\nav.service.ts) file. The sidebar will dynamically display the menus based on the contents of this array.

Steps:
1 .Open nav.service.ts File:

Open the nav.service.ts (src\app\shared\services\nav.service.ts) file in your Angular project. This file contains the MENUITEMS array that defines the menus to be displayed in the sidebar.

To add the parent Menu Items:

Inside the MENUITEMS array, you can add your menu items using the following format:

ts

    
title: 'Your Menu Title',
selected: false,
icon: 'icon-name',
type: 'link', // or 'sub', 'mega-menu', 'external', 'empty'
path: '/path-to-route', // Specify the route path for link type
active: false,
badgeClass: 'badge-class', // (optional) Add a badge to the menu item
badgeValue: 'Badge Text', // (optional) Text to display in the badge
        
To add the children Menu Items:

Inside the MENUITEMS array, you can add your menu items using the following format:

ts

    
    {
        title: 'Your Menu Title',
        selected: false,
        icon: 'icon-name',
        type: 'link', // or 'sub', 'mega-menu', 'external', 'empty'
        active: false,
        badgeClass: 'badge-class', // (optional) Add a badge to the menu item
        badgeValue: 'Badge Text', // (optional) Text to display in the badge
        children: [
         // (optional) Define child items for sub-menu or mega-menu type
         {
           path: '/child-path',
           title: 'Child Menu Title',
           type: 'link',
           selected: false,
         },
         // Add more child items if needed
       ],
     }
        
  • title: The display name of the menu.
  • selected: Set to true if this menu is currently selected.
  • icon: The icon to display next to the menu.
  • type: Specify the type of the menu item (link, sub, mega-menu, external, empty).
  • path: Specify the route path for link type menu.
  • Menusub: Set to true for sub-menu or mega-menu types.
  • active: Set to true to mark this menu as active.
  • badgeClass (optional): CSS class for the badge.
  • badgeValue (optional): Text to display in the badge.
  • children: Define an array of child menu items for sub-menu or mega-menu type.
3 . Save the Changes:

After adding your menu items, save the changes made to the nav.service.ts (src\app\shared\services\nav.service.ts) file.

4 . View Sidebar Changes:

he sidebar will now automatically display the added menu items based on the modifications you made in the MENUITEMS array.

By following these steps, you can easily customize and add menus to the sidebar of your Angular project. The menus will be dynamically generated based on the content of the MENUITEMS array in the nav.service.ts file.

Routing

In a single-page application, you change what the user sees by showing or hiding portions of the display that correspond to particular components, rather than going out to the server to get a new page. As users perform application tasks, they need to move between the different views that you have defined.

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.

  1. Import the AppRoutingModule into app.config.ts and 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.json file. If you don't have one, you can create it by running npm init and following the prompts.

  • 2. Inside the package.json file, 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/scss with the path to your SCSS files and ./public/assets/css with 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/scss with the path to your SCSS files and ./public/assets/css with the destination directory for your compiled CSS files.

  • 5. Save the package.json file.

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 sass

    This 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-min

    This 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

step-3: . Now we nee to add or replace below code into ourangular_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.ts file in src/app/shared/auth.
  • In login.ts replace 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..

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/
Fonts Credit
Font References
Google Fonts https://fonts.google.com/
Sidemenu Icons
Icon References
lucide Icons https://lucide.dev/icons/

Switcher styles

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">

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
 }
 

Default:

html

data-theme-template="default" data-header-styles="light" data-menu-styles="dark"
Fusion:

html

data-theme-template="fusion" data-header-styles="transparent" data-menu-styles="light"
Modern:

html

data-theme-template="modern"  data-header-styles="gradient" data-menu-styles="light"
SaaS:

html

data-theme-template="saas"  data-header-styles="transparent" data-menu-styles="dark"
Neon:

html

data-theme-template="neon"  data-header-styles="transparent" data-menu-styles="dark"
Galaxy:

html

data-theme-template="galaxy" data-them-mode="dark" data-header-styles="dark" data-menu-styles="dark"
Elegant:

html

data-theme-template="elegant" data-header-styles="transparent" data-menu-styles="dark"
Flat:

html

data-theme-template="flat" data-header-styles="light" data-menu-styles="light" data-vertical-style="doublemenu" data-toggled="double-menu-open"
Prism:

html

data-theme-template="prism" data-header-styles="transparent" data-menu-styles="transparent"
Retro:

html

data-theme-template="retro" data-header-styles="transparent" data-menu-styles="dark" data-vertical-style="detached"
Frost:

html

data-theme-template="frost" data-header-styles="transparent" data-menu-styles="gradient"
Nova:

html

data-theme-template="nova"  data-header-styles="light" data-menu-styles="dark"

Light:

html

data-theme-mode="dark" data-header-styles="light" data-menu-styles="light"
Dark:

html

data-theme-mode="dark" data-header-styles="dark" data-menu-styles="dark"

LTR (Left to Right):

html

dir="ltr"
RTL (Right to Left):

html

dir="rtl"

Vertical:

html

data-nav-layout="vertical"
Horizontal:

html

data-nav-layout="horizontal" data-nav-style="menu-click"

Default:

Menu Click

data-nav-style="menu-click"
Menu Hover

html

data-nav-style="menu-hover"
Icon Click:

html

data-nav-style="icon-click"
Icon Hover:

html

data-nav-style="icon-hover"

Regular:

html

data-page-style="regular"
Classic:

html

data-page-style="classic"
Mordern:

html

data-page-style="modern"

Default Width:

html

data-width="default"
Full Width:

html

data-width="full-width"
Boxed:

html

data-width="boxed"
Fixed:

html

data-menu-position="fixed"
Scrollable:

html

data-menu-position="scrollable"

Fixed:

html

data-header-position="fixed"
Scrollable:

html

data-header-position="scrollable"

Closed:

html

data-vertical-style="closed"
Icontext:

html

data-vertical-style="icontext"
Overlay:

html

data-vertical-style="overlay"
Detached:

html

data-vertical-style="detached"
Doublemenu:

html

data-vertical-style="doublemenu"

Enable:

html

loader="enable"
Disable:

html

loader="disable"

Light Style:

html

data-menu-styles="light"
Dark Style:

html

data-menu-styles="dark"
Color Style:

html

data-menu-styles="color"
Gradient Style:

html

data-menu-styles="gradient"
Transparent Style:

html

data-menu-styles="transparent"

Light Style:

html

data-header-styles="light"
Dark Style:

html

data-header-styles="dark"
Color Style:

html

data-header-styles="color"
Gradient Style:

html

data-header-styles="gradient"
Transparent Style:

html

data-header-styles="transparent"

Background Image Style-1:

html

data-bg-img="bgimg1"
Background Image Style-2:

html

data-bg-img="bgimg2"
Background Image Style-3:

html

data-bg-img="bgimg3"
Background Image Style-4:

html

data-bg-img="bgimg4"
Background Image Style-5:

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 = {
  
  };

}

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 = {

  };

}

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 = {

  };

}

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

Note: This package is pre-installed in the Nilova Angular template. You can skip this step unless you have removed it from your project.

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 = [];

}

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

Note: This package is pre-installed in the Nilova Angular template. You can skip this step unless you have removed it from your project.

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 {

}

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.

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.

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

Note: This package is pre-installed in the Nilova Angular template. You can skip this step unless you have removed it from your project.

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"]
    ]
  };

}

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

Note: This package is pre-installed in the Nilova Angular template. You can skip this step unless you have removed it from your project.

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..."
  };

}

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

Note: This package is pre-installed in the Nilova Angular template. You can skip this step unless you have removed it from your project.

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 {

}

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

Note: This package is pre-installed in the Nilova Angular template. You can skip this step unless you have removed it from your project.

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)
    }
  };

}

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

Note: This package is pre-installed in the Nilova Angular template. You can skip this step unless you have removed it from your project.

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' }
  ];

}

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

Note: This package is pre-installed in the Nilova Angular template. You can skip this step unless you have removed it from your project.

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 {

}

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

Note: This package is pre-installed in the Nilova Angular template. You can skip this step unless you have removed it from your project.

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' }
    ]

  };

}

Additional Plugins Included :

The following plugins have also been included, apart from the ones already listed in the above sections

Plugin Version URL
Angular v21 https://angular.dev/
Ng Bootstrap v20 https://ng-bootstrap.github.io/#/home
@angular-slider/ngx-slider v21.0.0 https://www.npmjs.com/package/@angular-slider/ngx-slider
@angular/google-maps v21.2.11 https://www.npmjs.com/package/@angular/google-maps
@bluehalo/ngx-leaflet v21.2.1 https://www.npmjs.com/package/@bluehalo/ngx-leaflet
@fullcalendar/angular v6.1.20 https://www.npmjs.com/package/@fullcalendar/angular
@maksim_m/ngx-sortablejs v15.0.0 https://www.npmjs.com/package/@maksim_m/ngx-sortablejs
@ng-select/ng-select v21.8.2 https://www.npmjs.com/package/@ng-select/ng-select
@sweetalert2/ngx-sweetalert2 v14.1.4 https://www.npmjs.com/package/@sweetalert2/ngx-sweetalert2
angular-shepherd v22.0.0 https://www.npmjs.com/package/angular-shepherd
angularx-flatpickr v8.1.2 https://www.npmjs.com/package/angularx-flatpickr
ng-apexcharts v2.4.0 https://www.npmjs.com/package/ng-apexcharts
ng2-charts v10.0.0 https://www.npmjs.com/package/ng2-charts
ngx-echarts v21.0.0 https://www.npmjs.com/package/ngx-echarts
ng2-nouislider v2.0.0 https://www.npmjs.com/package/ng2-nouislider
ngx-chips v3.0.0 https://www.npmjs.com/package/ngx-chips
ngx-color-picker v2.0.0 https://www.npmjs.com/package/ngx-color-picker
ngx-colors v3.6.0 https://www.npmjs.com/package/ngx-colors
ngx-countup v21.0.0 https://www.npmjs.com/package/ngx-countup
ngx-filepond v7.0.3 https://www.npmjs.com/package/ngx-filepond
ngx-quill v30.1.3 https://www.npmjs.com/package/ngx-quill
ngxsmk-tel-input v1.6.11 https://www.npmjs.com/package/ngxsmk-tel-input
sweetalert2 v11.26.24 https://www.npmjs.com/package/sweetalert2
swiper v12.1.4 https://www.npmjs.com/package/swiper
Nilova- Premium Boostrap Admin Dashboard Template
Information
Need Help ?
Support Help Desk
Technical issues? Our support team is ready to help.
Pre-Sales
Have questions before purchasing? Contact our pre-sales team.
Pre-Sales Chat
Get immediate answers through our live chat support.