@geniusdynamics/ns8-ui-lib

Vue 3 library for NethServer 8 UI with TailwindCSS and Shadcn Vue
3,521
Install
npm install @geniusdynamics/ns8-ui-lib
Latest Version:1.0.9
Vue:3
License:GPL-3.0-or-later
Last Updated:Mar 15, 2026
Links: GitHub  ·  npm
Maintainer: kemboi22

NS8 UI Library

A Vue 3 component library for NethServer 8 UI applications, built with TypeScript, TailwindCSS, and Shadcn Vue.

Installation

pnpm add @geniusdynamics/ns8-ui-lib
# or
npm install @geniusdynamics/ns8-ui-lib
# or
yarn add @geniusdynamics/ns8-ui-lib

CSS Import

Import the library CSS in your main entry file (e.g., main.ts or main.js):

import '@geniusdynamics/ns8-ui-lib/dist/style.css'

Features

  • Vue 3 - Composition API with TypeScript support
  • TailwindCSS - Utility-first CSS framework
  • Shadcn Vue - Accessible UI components
  • TypeScript - Full type support
  • Vite - Fast development and building

Components

NS Components (Enhanced)

  • NSCheckbox - Checkbox component with validation
  • NSTextInput - Text input with validation and icons
  • NSToggle - Toggle/switch component
  • NSTag - Tag/badge component
  • NSEmptyState - Empty state display
  • NSInlineNotification - Inline notifications (info, success, warning, error)
  • NSToastNotification - Toast notifications
  • NSProgress / NSProgressBar - Progress indicators
  • NSModal / NSModalTrigger - Modal dialogs
  • NSSlider / NSByteSlider - Slider inputs
  • NSPagination - Pagination component
  • NSDataTable - Data table with sorting, filtering, and pagination
  • NSWizard - Multi-step wizard
  • NSBackupCard - Backup management card
  • NSSystemdServiceCard - Systemd service status card
  • NSSystemInfoCard - System information card
  • NSLottieAnimation - Lottie animation component

UI Components (Shadcn Vue)

  • Button, Card, Dialog, Input, Label, Select
  • Sheet, Switch, Table, Tabs, Textarea

Composables

import {
  useUtilService,
  useDateTimeService,
  useQueryParamService,
  usePageTitleService,
  useTaskService,
  useFilterService,
  useStorageService,
  useIconService
} from '@geniusdynamics/ns8-ui-lib'

// UtilService - UUID generation, error messages, sorting
const { getUuid, getErrorMessage, sortByProperty } = useUtilService()

// DateTimeService - Date formatting
const { formatDate, formatTime } = useDateTimeService()

// QueryParamService - URL query parameter handling
const { getPage, getQueryParamsForApp } = useQueryParamService()

// PageTitleService - Page title management
const { setPageTitle } = usePageTitleService()

// TaskService - NS8 task execution
const { 
  createModuleTaskForApp, 
  createClusterTaskForApp,
  createErrorNotificationForApp 
} = useTaskService()

Usage Example

<script setup lang="ts">
import { 
  NSInlineNotification, 
  NSTextInput, 
  NSToggle,
  useTaskService 
} from '@geniusdynamics/ns8-ui-lib'

const { createModuleTaskForApp } = useTaskService()
</script>

<template>
  <NSInlineNotification
    variant="success"
    title="Success!"
    description="Operation completed successfully."
  />
  
  <NSTextInput
    label="Hostname"
    placeholder="example.org"
  />
  
  <NSToggle
    label="Enable feature"
    left-text="Off"
    right-text="On"
  />
</template>

Example Application

See the example-vue3/ directory for a complete NS8 module UI example that demonstrates:

  • Status page with services, images, volumes
  • Settings page with configuration
  • About page with module information
  • Side menu navigation
  • i18n internationalization

Development

# Install dependencies
pnpm install

# Start development server
pnpm dev

# Build library
pnpm build-lib

# Type check
pnpm type-check

License

GPL-3.0-or-later

Author

Genius Dynamics

Related Packages

@nethserver/ns8-ui-lib

Vue.js library for NethServer 8 UI

32,093 0
@nethesis/vue-components

This library contains: - a collection of Vue 3 components based on Flowbite - a...

13,853 3
fuxsto-design

Monochrome zinc, Tailwind CSS v4 component library for Vue 3 (fuxsto-ui)

2,089
@j-solution/components

Vue 3 Atomic Design component kit for enterprise dashboards

51,690
@tu-design/vue

shadcn 风格的 Vue 3 组件库:Tailwind CSS v4 主题 + Ark UI 原语,CLI 分发组件源码...

740 0

Version History

Version Released Vue License
1.0.9 ^3.3.0 GPL-3.0-or-later
1.0.8 ^3.3.0 GPL-3.0-or-later
1.0.7 ^3.3.0 GPL-3.0-or-later
1.0.6 ^3.3.0 GPL-3.0-or-later
1.0.5 ^3.3.0 GPL-3.0-or-later