@cavicode/uikit-webadmin (0.1.3)
Installation
@cavicode:registry=npm install @cavicode/uikit-webadmin@0.1.3"@cavicode/uikit-webadmin": "0.1.3"About this package
@cavicode/uikit-webadmin
Vue 3 UI-компоненты административных интерфейсов CaviCode/HVZ.
Установка
npm install @cavicode/uikit-webadmin @tanstack/vue-table
.npmrc:
@cavicode:registry=https://git.cavicode.tech/api/packages/cavicode/npm/
@tanstack/vue-table требуется текущим единым entry пакета, даже если consumer
напрямую не использует UiDataTable. В package.json пакета peer metadata пока
объявляет только Vue; consumer не должен полагаться на автоматическую установку
TanStack.
Nuxt 4
// plugins/uikit.ts
import CavicodeUIKitWebadmin from '@cavicode/uikit-webadmin'
export default defineNuxtPlugin((nuxtApp) => {
nuxtApp.vueApp.use(CavicodeUIKitWebadmin)
})
// nuxt.config.ts
export default defineNuxtConfig({
css: ['@cavicode/uikit-webadmin/style.css'],
})
Для template types consumer добавляет GlobalComponents augmentation. Nuxt
components[] не подходит: опубликованный dist содержит compiled JS и .d.ts,
а не каталог исходных .vue.
Tailwind v4 consumer должен импортировать package CSS в общий pipeline и сканировать compiled dist:
@import "tailwindcss";
@import "@cavicode/uikit-webadmin/style.css";
@source "../../../node_modules/@cavicode/uikit-webadmin/dist";
Путь @source зависит от расположения consumer stylesheet.
Компоненты (30)
- Поля:
UiInput,UiTextarea,UiSelect,UiCheckbox,UiRadio,UiColorInput,UiSearchInput. - Кнопки:
UiButton,UiIconButton. - Формы/layout:
UiFormField,UiFormGrid,UiCard,UiAlert. - Диалоги:
UiModal,UiConfirmDialog. - Таблицы:
UiDataTable,UiSimpleTable,UiTableSearch. - Навигация:
UiPagination,UiTabs,UiPageHeader. - Состояния:
UiState,UiStatusBadge,UiToast. - Прочее:
UiDropdown,UiMediaPicker,UiOrderControls,UiBarChart,UiLineChart,UiPieChart.
Consumer-owned state
UiToast и UiConfirmDialog презентационные. Consumer передаёт props и
обрабатывает emits; Nuxt composables в пакет не переносятся.
Charts используют generic data:
type UiBarChartDatum = { label: string; value: number; color?: string }
type UiLineChartPoint = { label?: string; date: string; value: number }
type UiPieChartDatum = { label: string; value: number; color?: string }
Ограничения версии 0.1.0
UiPageHeaderиспользует глобальныйNuxtLink,UiToast—ClientOnly; полный набор компонентов пока не гарантирует работу в чистом Vue без adapters.- Часть legacy CSS variables определяется consumer theme.
UiFormGridmodescols=1|2|3требуют исправления передачи class; до новой версии использоватьcols="auto"либо consumer layout.- Export
./themeне предоставляет отдельный runtime API: tokens входят в общийstyle.css.
Эти ограничения нельзя удалять из consumer workarounds без выпуска и проверки новой версии пакета.
Разработка
npm ci
npm run typecheck
npm run build
npm run build также выполняет vue-tsc --noEmit. Тестов и lint script сейчас
нет; изменения компонентов требуют проверки package build и consumer builds.
Dependencies
Development dependencies
| ID | Version |
|---|---|
| @tanstack/vue-table | ^8.21.3 |
| @types/node | ^26.2.0 |
| @vitejs/plugin-vue | ^5.2.1 |
| @vue/tsconfig | ^0.7.0 |
| sass-embedded | ^1.100.0 |
| tailwindcss | ^4.3.3 |
| typescript | ^5.6.0 |
| vite | ^6.0.0 |
| vite-plugin-dts | ^4.5.0 |
| vue | ^3.5.0 |
| vue-tsc | ^3.3.8 |
Peer dependencies
| ID | Version |
|---|---|
| vue | ^3.5.0 |