DDS component library built on PrimeVue v4 with Direct design tokens, icons, and typography.
Nuxt module registers PrimeVue, token CSS, and auto-imports DDS components.
nuxt ^3.10 || ^4vue ^3.5Configure .npmrc for @directksa (GitHub Packages), then install.
npm install @directksa/dds # or yarn add @directksa/dds
Add the module and optional dds settings.
export default defineNuxtConfig({
modules: ['@directksa/dds'],
dds: {
prefix: 'Dds', // component name prefix (default: 'Dds')
global: false, // false = auto-import per page (recommended)
// true = register every DDS component on app globally
primeicons: true, // PrimeIcons CSS (default: false)
primeflex: false, // PrimeFlex CSS (default: false)
}
})No component imports in <script>. Tags use the folder name in kebab-case.
<template>
<dds-button label="Save" />
<dds-inputtext v-model="name" />
<dds-select v-model="city" :options="cities" option-label="name" />
<dds-datatable :value="rows" paginator :rows="10">
<dds-column field="name" header="Name" sortable />
<dds-column field="price" header="Price" />
</dds-datatable>
</template>dds-column, dds-row, and dds-splitterpanel are registered by the DDS Nuxt plugin automatically.
<script setup>
const toast = useToast()
const confirm = useConfirm()
const { smAndDown, mdAndUp } = useDisplay()
toast.add({ severity: 'success', summary: 'Saved', life: 3000 })
</script>nuxi dev