Introduction

NILOVA - Responsive Vue3 Admin Template for All Your Web Projects

Nilova - Vue3 Premium Bootstrap Admin Template, With these template formats, it's very easy to create a presence and grab someone's attention around the web page Because the template is built using Vue pages HTML5, CSS3, Bootstrap framework and with Sass. So please before you start working with the template take a quick look on the documentation so that you can easily built your website.

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 Vue, CSS, SCSS, Ts files, along with detailed Documentation to help you easily customize and implement the template.

  • All Vue 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 and workspace

This guide explains how to set up your environment for Vue development. It includes information about prerequisites, installation , creating an initial workspace and starter app, and running that app locally to verify your setup.

For getting started an Vue Application you needs things as Prerequisites.

Prerequisites

To use the Vue Framework, you should be familiar with the following:

  • HTML
  • CSS
  • JS/TS
Knowledge of Modern JS is helpful.
To install React on your local System, you need the following:

Node.js - v22.0.0 or newer

Vue 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 Vue application 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)

It sets up your development environment so that you can use the latest JavaScript features, provides a nice developer experience, and optimizes your app for production. You’ll need to have Node >= 22.0.0 on your machine. To create a project, run:

For better understanding Vue.js we suggest you once go through official documentation of React from Vue Documentation

Nilova - File Generate

Creating a Pages

You can generate new pages in Vue using the vue generate command

code


# Generates `pages/about.vue`
npx nuxi add page about

# Generates `pages/category/[id].vue`
npx nuxi add page "category/[id]"
                                            

Creating a Component

To create components using the Vue CLI (Command Line Interface), you can use the generate command. Here's how you can create components:

Creating a component using the Vue CLI

To create a component using the CLI:

code

npx nuxi add component YourComponentName

By default, this command creates the following:
  • YourComponentName.vue
Where <YourComponentName> is the name of your component.

Creating a Custom Commands

In Vue 3, you can generate custom commands using the @vue/cli package. For example, to generate a custom command:

code

npx vue create command my-custom-command

Installation Process

How to Run the Nilova Template:
Step 1:
Download the project, extract it, and navigate to the final template folder named Nilova-Vue3 Final. Open the template to proceed.
Step 2:
Open your terminal or command prompt and run the following command to install the packages:

code

npm install
(Or)

code

yarn install
Step 3:
After the installation, run the project using the following command:

code

npm run dev
                                        
(Or)

code

yarn run dev
                                        

Once you serve your application by default it will take their default port using http://localhost:3000/

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 Process

How to Run the Nilova Template:
Step 1:
Download the project, extract it, and navigate to the final template folder named Nilova-Vue3 Final. Open the template to proceed.
Step 2:
Open your terminal or command prompt and run the following command to install the packages:

code

npm install
(Or)

code

yarn install
Step 3:
After the installation, run the project using the following command:

code

npm run dev
                                        
(Or)

code

yarn run dev
                                        

Once you serve your application by default it will take their default port using http://localhost:3000/

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 Vuejs Typescript Starter Kit Template:

The Vuejs template starterkit is a resource that helps developers kickstart their Vuejs 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 Vuejs-based websites or applications.

Purpose of the Vuejs Starter Kit Template:

The purpose of the Vuejs Starter Kit Template is to save developers time and effort by offering a set of prebuilt files and configurations commonly used in Vuejs 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 Vuejs Starter Kit Template:

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 Vuejs Starter Kit Template, developers should have a basic understanding of Vuejs 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 Nilova-Vuejs Typescript have more than 150 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

  • Take a quick look at the folder structure of the "Starterkit."
  • Integration of your customized Vuejs pages becomes easy when using the "Starterkit."
  • The "Starterkit" provides all the layout components, related assets, and plugins.
  • To explore the contents of the "Starterkit," unzip the project folder received after purchase.

Main Layout

Basic Layout Structure

Main Layout structure of the Nilova template .Root:src/shared/layouts/maindashboard.vue

html

                                            
<script lang="ts" setup>
import { computed, onBeforeUnmount, onMounted, reactive, ref } from 'vue'
import { switcherStore } from '../../stores/switcher'
import Switcher from '../common/switcher.vue'
import Header from '../common/header.vue'
import Sidebar from '../common/sidebar.vue'
import Footer from '../common/footer.vue'
import Backtotop from '../common/backtotop.vue'


// Reactive store
const switcher = reactive(switcherStore())

// Computed class
const customClass = computed(() =>
  switcher.pageStyles === 'flat' ? 'main-body-container' : ''
)

// Scroll progress logic
const progressRef = ref(null)

const handleScroll = () => {
  const scrollTop = document.documentElement.scrollTop || document.body.scrollTop
  const scrollHeight =
    document.documentElement.scrollHeight - document.documentElement.clientHeight

  if (scrollHeight === 0) return

  const scrollPercent = (scrollTop / scrollHeight) * 100

  if (progressRef.value) {
    progressRef.value.style.width = `${scrollPercent}%`
  }
}

onMounted(() => {
  window.addEventListener('scroll', handleScroll)
  switcher.retrieveFromLocalStorage()
})

onBeforeUnmount(() => {
  window.removeEventListener('scroll', handleScroll)
})
</script>

<template>
  <div ref="progressRef" class="progress-top-bar"></div>
  <Switcher />
  <div class="page">
    <Header />
    <Sidebar />

    <!-- Start::app-content -->
    <div class="main-content app-content">
      <div :class="['container-fluid', 'page-container', customClass]">
        <router-view />
      </div>
    </div>
    <!-- End::app-content -->

    <Footer />
  </div>
  <Backtotop />
</template>

<style scoped lang="scss"></style>
                                        

Vuejs File Structure

General Vuejs file structure of the Nilova template .Root:src/components/pages/empty.vue

next

    
<script lang="ts" setup>
import Pageheader from '../../shared/common/pageheader.vue';

const dataToPass = {
    title: "Pages",
    currentpage: "Empty",
    activepage: "Empty"
}
</script>

<template>
    <Pageheader :propData="dataToPass" />
    <!-- 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 -->
</template>

<style scoped>
/* Add your styles here */
</style>

SideMenu Guide

Sidemenu Layout Structure

How to Add Menus to Sidebar.

In Vue project, it can be easy to add menus to the sidebar by modifying the MenuItems array in the nav.ts (/src/data/sidebar/nav.ts) file. The sidebar will dynamically display the menus based on the contents of this array. below are the steps as follows

Steps:
Open nav.ts File:

Open the nav.ts (/src/data/sidebar/nav.ts) file in Vue 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:

next


     {
       menutitle: "Your Menu Title",
     },
     {
       title: 'Your Component Title',
       selected: false,
       icon: 'icon-name',
       type: 'link', // or 'sub', 'external', 'empty'
       path: '/path-to-route', // Specify the route path for link type
       dirchange: false, change the direction from right to left .
       active: false,
       badge: 'badge-class', // (optional) Add a badge to the menu item
       badgetxt: 'Badge Text', // (optional) Text to display in the badge
     }
            
To add the children to Menu Items:

Inside the MenuItems array, you can add custom nested menu items using the following format:

next


    {
        menutitle: "Your Menu Title",   // The display name of the menu.
    }
    {
        title: 'Your Component Title',   //The display name of the component
        selected: false,    //Set to true if this menu is currently selected.
        icon: 'icon-name',   // The icon to display next to the menu.
        type: 'link',   //Specify the type of the menu item (link, sub and empty).
        active: false,  //Set to true to mark this menu as active.
        dirchange: false,  //change the direction from right to left .
        badge: 'badge-class',  // (optional) Add a badge to the menu item
        badgetxt: 'Badge Text'  // (optional) Text to display in the badge
        children: [
          // (optional) Define child items for sub-menu  type
         {
           path: '/child-path',  //Specify the route path for link type menu.
           title: 'Child Menu Title',  //The display name of the Child Menu Title
           type: 'link',  //Specify the type of the menu item (link, sub and empty).
           selected: false,  //Set to true if this menu is currently selected.
           active: false,  //Set to true to mark this menu as active.
         },
         // Add more child items if needed
       ]
    }
            
Save the Changes:

After adding your menu items, save the changes made to the nav.ts (/src/data/sidebar/nav.ts) file.

View Sidebar Changes:

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

To Remove the Menu Items:

To remove menu items that you don't need, you can simply delete the corresponding object from the MenuItems array.

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

Routing


Vue file-system routing creates a route for every file in the pages/ directory.

One core feature of Vue is the file system router. Every Vue file inside the pages/ directory creates a corresponding URL (or route) that displays the contents of the file. By using dynamic imports for each page, Vue leverages code-splitting to ship the minimum amount of JavaScript for the requested route.

Pages

Vue routing is based on vue-router and generates the routes from every component created in the pages/ directory, based on their filename.

This file system routing uses naming conventions to create dynamic and nested routes:
| pages/
---| about.vue
---| index.vue
---| posts/
-----| [id].vue
{
   "routes": [
      {
         "path": "/about",
         "component": "pages/about.vue"
      },
      {
         "path": "/",
         "component": "pages/index.vue"
      },
      {
         "path": "/posts/:id",
         "component": "pages/posts/[id].vue"
      }
   ]
}
					
Configure Link in Menu

To Add new link in Sidemenu

Following are the fundamental building blocks to creating a new link. Path for existing code path: "/src/data/sidebar/nav.ts".


			├── data
				├──sidebar
                    ├──nav.ts

			export const MENUITEMS = [
				{
					// To add the menu title
					{
						menuTitle: 'MAIN'
					},
					// To add the link
					{ path: "/dashboards/sales", icon: Svgicons.Salesicon, type: "link", active: false, selected: false, dirchange: false, title: "Sales" },
					// To add the sub

					{ title: "Dashboards", icon: Svgicons.Dashboardicon, type: "sub", active: false, dirchange: false, children: [
                        { path: "/dashboards/sales", icon: Svgicons.Salesicon, type: "link", active: false, selected: false, dirchange: false, title: "Sales" },
                        { path: "/dashboards/analytics", icon: Svgicons.Analyticsicon, type: "link", active: false, selected: false, dirchange: false, title: "Analytics" },
                      ]
					}
					// In the same way you can add "n" no.of sub/links in sub, But you can not add the sub inside the type "link" as well as in menutitle.
				}
			]
			
				

SCSS to CSS

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:

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:

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

    "scripts": { "sass": "sass ./src/assets/scss:./src/assets/css/" }

    In the script above, replace ./src/assets/scss with the path to your SCSS files and ./src/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:

    "scripts": { "sass-min": "sass ./src/assets/scss:./src/assets/css/ --style compressed" }

    In the script above, replace ./src/assets/scss with the path to your SCSS files and ./src/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:

    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:

    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., ./src/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.

FAQ'S

Step 1:

Go To style.scss (/src/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

Example:

Step 2:

And paste Your Selected font-family in style.scss

Example:

Step 3:

And add the Your Selected font-family in _variables.scss(public/scss/_variables.scss)

Example:

    --default-font-family:    							"Montserrat", sans-serif;

                                                            

By default menu icons are Boxicons if you want to change icons please follow below steps
Step 1 :

To change Menu icons, open nav.ts file Path:/src/data/sidebar/nav.ts you can find the array of objects in that icon propery is for images, you can change values in icons property to see changes.

	


	Before: (Boxicons)

    {
        type: 'sub',
        title: 'Task',
        icon: 'bx bx-task',
        badge: 'New',
		...
	}

	After: (Feather Icons)

    {
        type: 'sub',
        title: 'Task',
        icon: 'fe fe-home',
        badge: 'New',
		...
	}
	// After this change in the place of task icon you can see home icon.

			
		

Go To "/public/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 switcher.ts file app/stores/switcher.ts

To clear LocalStorage loading functions you need to remove lines which are reassigning the localStorage value in retrieveFromLocalStorage function in actions.


retrieveFromLocalStorage() {
	this.colorthemeFn(this.colortheme);
	this.directionFn(this.direction);
	this.navigationStylesFn(this.navigationStyles);
	this.pageStylesFn(this.pageStyles);
	this.widthStylesFn(this.widthStyles);
	this.menuPositionFn(this.menuPosition);
	this.headerPositionFn(this.headerPosition);
	this.menuColorFn(this.menuColor);
	this.headerColorFn(this.headerColor);
	this.themePrimaryFn(this.themePrimary);
	if (this.themeBackground) {
		this.themeBackgroundFn(this.themeBackground);
	}
	this.backgroundImageFn(this.backgroundImage);
	if (!localStorage.getItem('ynexverticalstyles')) {
			this.menuStylesFn(this.menuStyles);
	}
	if (!localStorage.getItem('ynexmenuStyles') && localStorage.getItem('ynexnavstyles') != 'horizontal') {
		this.layoutStylesFn(this.layoutStyles);
	}
},

To remove switcher icons from landingpage header remove below code inapp/components/common/header.vue file


		<!-- Start::header-element -->
		<a href="javascript:void(0);" class="header-link switcher-icon" data-bs-toggle="offcanvas" data-bs-target="#switcher-canvas">
                    <svg xmlns="http://www.w3.org/2000/svg" class="header-link-icon" height="24px" viewBox="0 0 24 24" width="24px" fill="#5f6368">
                        <path d="M0 0h24v24H0V0z" fill="none" />
                        <path d="M19.43 12.98c.04-.32.07-.64.07-.98 0-.34-.03-.66-.07-.98l2.11-1.65c.19-.15.24-.42.12-.64l-2-3.46c-.09-.16-.26-.25-.44-.25-.06 0-.12.01-.17.03l-2.49 1c-.52-.4-1.08-.73-1.69-.98l-.38-2.65C14.46 2.18 14.25 2 14 2h-4c-.25 0-.46.18-.49.42l-.38 2.65c-.61.25-1.17.59-1.69.98l-2.49-1c-.06-.02-.12-.03-.18-.03-.17 0-.34.09-.43.25l-2 3.46c-.13.22-.07.49.12.64l2.11 1.65c-.04.32-.07.65-.07.98 0 .33.03.66.07.98l-2.11 1.65c-.19.15-.24.42-.12.64l2 3.46c.09.16.26.25.44.25.06 0 .12-.01.17-.03l2.49-1c.52.4 1.08.73 1.69.98l.38 2.65c.03.24.24.42.49.42h4c.25 0 .46-.18.49-.42l.38-2.65c.61-.25 1.17-.59 1.69-.98l2.49 1c.06.02.12.03.18.03.17 0 .34-.09.43-.25l2-3.46c.12-.22.07-.49-.12-.64l-2.11-1.65zm-1.98-1.71c.04.31.05.52.05.73 0 .21-.02.43-.05.73l-.14 1.13.89.7 1.08.84-.7 1.21-1.27-.51-1.04-.42-.9.68c-.43.32-.84.56-1.25.73l-1.06.43-.16 1.13-.2 1.35h-1.4l-.19-1.35-.16-1.13-1.06-.43c-.43-.18-.83-.41-1.23-.71l-.91-.7-1.06.43-1.27.51-.7-1.21 1.08-.84.89-.7-.14-1.13c-.03-.31-.05-.54-.05-.74s.02-.43.05-.73l.14-1.13-.89-.7-1.08-.84.7-1.21 1.27.51 1.04.42.9-.68c.43-.32.84-.56 1.25-.73l1.06-.43.16-1.13.2-1.35h1.39l.19 1.35.16 1.13 1.06.43c.43.18.83.41 1.23.71l.91.7 1.06-.43 1.27-.51.7 1.21-1.07.85-.89.7.14 1.13zM12 8c-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4zm0 6c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2z" />
                    </svg>
                </a>
		<!-- End::header-element -->
	

To remove switcher from all the pages go to layouts/* file. And remove the <Switcher /> and <CustomSwitcher />

To remove switcher icons from landingpage header remove below code inapp/components/common/header.vue file


		<!-- Start::header-element -->
		<button class="btn btn-wave btn-icon btn-secondary switcher-icon d-flex align-items-center justify-content-center" data-bs-toggle="offcanvas"    data-bs-target="#switcher-canvas">
                                <i class="ri-settings-3-line">
                            </button>
		<!-- End::header-element -->
	

To remove switcher from all the pages go tolayouts/* file. And remove the <Switcher /> and <CustomSwitcher />

Additional Plugins Included :

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

Plugin Version URL
Vue v3.5.34 https://Vue.com/docs/getting-started/installation
pinia v3.0.4 https://www.npmjs.com/package/pinia
Bootstrap v5.3.8 https://www.npmjs.com/package/bootstrap
vue-multiselect v3.5.0 https://www.npmjs.com/package/vue-multiselect
Swiper v12.2.0 https://www.npmjs.com/package/swiper
vue-sweetalert2 v5.0.11 https://www.npmjs.com/package/vue-sweetalert2
vue-3-slider-component v1.0.2 https://www.npmjs.com/package/vue-3-slider-component
@vuepic/vue-datepicker v11.0.2 https://www.npmjs.com/package/@vuepic/vue-datepicker
vue3-colorpicker v2.3.0 https://www.npmjs.com/package/vue3-colorpicker
photoswipe v5.4.4 https://www.npmjs.com/package/photoswipe
@fullcalendar/vue3 v6.1.20 https://www.npmjs.com/package/@fullcalendar/vue3
Leaflet Maps v0.10.1 https://www.npmjs.com/package/leaflet
@vue-leaflet/vue-leaflet v0.10.1 https://www.npmjs.com/package/@vue-leaflet/vue-leaflet
jsvectormap v1.7.0 https://www.npmjs.com/package/jsvectormap
vue3-google-map v0.27.0 https://www.npmjs.com/package/vue3-google-map
vue3-apexcharts v1.11.1 https://www.npmjs.com/package/vue3-apexcharts
vue-chart-3 v4.0.1 https://www.npmjs.com/package/vue-chart-3
vue-echarts v8.0.1 https://www.npmjs.com/package/vue-echarts
vue3-perfect-scrollbar v2.0.0 https://www.npmjs.com/package/vue3-perfect-scrollbar
vue3-editor v0.1.1 https://www.npmjs.com/package/vue3-editor
vue-filepond v8.0.0 https://www.npmjs.com/package/vue-filepond
dropzone-vue v0.1.11 https://www.npmjs.com/package/dropzone-vue
vue3-easy-data-table v1.5.47 https://www.npmjs.com/package/vue3-easy-data-table
vue3-flip-countdown v0.1.6 https://www.npmjs.com/package/vue3-flip-countdown
vue3-toastify v0.2.9 https://www.npmjs.com/package/vue3-toastify
vue-draggable-next v2.3.0 https://www.npmjs.com/package/vue-draggable-next
vee-validate v4.15.1 https://www.npmjs.com/package/vee-validate
tsparticles v4.1.3 https://www.npmjs.com/package/tsparticles
maska v3.2.0 https://www.npmjs.com/package/maska
vue-countup-v3 v1.4.2 https://www.npmjs.com/package/vue-countup-v3
vue3-carousel v0.17.0 https://www.npmjs.com/package/vue3-carousel

Vue-Apexcharts :

Vue-ApexCharts is a Vue wrapper for the powerful ApexCharts library, making it easy to create interactive and responsive charts in Vue. It supports a wide variety of chart types and offers extensive customization options with smooth Vue integration.

Vuejs

npm i vue3-apexcharts

Vuejs


    plugins/plugins.ts
     |__ import VueApexCharts from "../components/UI/apexcharts.vue";
    import * as lineData from '@/data/apexcharts/apexchart-linemap';

    <apexchart height="350px" type="line" :options="Linebasicoptions" :series="Linebasicseries" />
                            

Vuejs


export const Linebasicseries = [{
    name: "Desktops",
    data: [10, 41, 35, 51, 49, 62, 69, 91, 148]
  }]

export const Linebasicoptions: any = {
    chart: {
      height: 320,
      type: 'line',
      zoom: {
        enabled: false
      }
    },
    colors: ['#8b7eff'],
    dataLabels: {
      enabled: false
    },
    stroke: {
      curve: 'straight',
      width: 3,
    },
    grid: {
      borderColor: '#f2f5f7',
    },
    title: {
      text: 'Product Trends by Month',
      align: 'left',
      style: {
        fontSize: '13px',
        fontWeight: 'bold',
        color: '#8c9097'
      },
    },
    xaxis: {
      categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep'],
      labels: {
        show: true,
        style: {
          colors: "#8c9097",
          fontSize: '11px',
          fontWeight: 600,
          cssClass: 'apexcharts-xaxis-label',
        },
      }
    },
    yaxis: {
      labels: {
        show: true,
        style: {
          colors: "#8c9097",
          fontSize: '11px',
          fontWeight: 600,
          cssClass: 'apexcharts-yaxis-label',
        },
      }
    },
  }
                            

Basic Table : :

Vue Basic Tables are lightweight, customizable table components for Vue, designed to display structured data in a clean, responsive layout. They offer flexibility and simplicity for building data-driven interfaces.

Vuejs

import TableComponent from "@/components/@spk/table-reuseble/tables-re.vue";
import * as tableData from "@/data/tables"

<TableComponent :headers="[{text:'Name'}, {text:'Created On'}, {text:'Number'}, {text:'Status'}]" :rows="tableData.basicRows" tableClass="table text-nowrap" v-slot:cell="{ row }">
    <td>{{ row.name }}</td>
    <td>{{ row.createdOn }}</td>
    <td>{{ row.number }}</td>
    <td><span :class="`badge ${row.color}`">{{ row.status }}</span></td>
</TableComponent>

data

interface RowDataType {
    name: string;
    createdOn: string;
    number: string;
    status: string;
    color: string;
}
export const basicRows: RowDataType[] = [
    { name: 'Mark', createdOn: '21, Dec 2021', number: '+1234-12340', status: 'Completed', color: "bg-outline-primary" },
    { name: 'Monika', createdOn: '29, April 2022', number: '+1523-12459', status: 'Failed', color: "bg-outline-warning" },
    { name: 'Madina', createdOn: '30, Nov 2022', number: '+1982-16234', status: 'Successful', color: "bg-outline-success" },
    { name: 'Bhamako', createdOn: '18, Mar 2022', number: '+1526-10729', status: 'Pending', color: "bg-outline-secondary" },
]
                                                
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.