@application-kit/ui

Vue-обёртки над UI-вендором, мост токенов оформления и тестовые помощники без продуктовых словарей
1,648
Install
npm install @application-kit/ui
Latest Version:0.3.1
Vue:3
License:MIT
Last Updated:Oct 20, 2026
Links: GitLab  ·  npm
Maintainer: uwl

@application-kit/ui

Vue-обёртки над UI-вендором, мост токенов оформления (--p-* → --ui-*) и помощники спеков. Пакет не знает ни одного языка, имени иконки и feature-flag'а продукта: всё это приложение передаёт при установке плагина.

import { UiVendorPlugin } from '@application-kit/ui'
import '@application-kit/ui/style.css'

app.use(new UiVendorPlugin({
  darkModeSelector: 'dark-theme',
  describeRequestError: (error, fallbackMessage) => describe(error, fallbackMessage, i18n.global.t),
  iconClass: (name) => `app-icon app-icon--${name}`,
  locale: { overrides: { ru: { accept: 'Да' } }, reference: (vue) => localeRef },
  messages: () => ({ table: { empty: i18n.global.t('table.empty'), /* … */ } /* … */ }),
}))

Все четыре обязательные опции (darkModeSelector, describeRequestError, iconClass, messages) проверяются типом и при создании плагина: без них конструктор бросает ошибку на старте приложения.

Имена иконок

Реестр пустой — приложение расширяет его своими именами, и без этого ни одна иконка не компилируется:

declare module '@application-kit/ui' {
  interface UiIconRegistryInterface { refresh: true }
}

Входы

  • . — компоненты, composables, UiVendorPlugin, листинговые сторы, типы;
  • /testing — installVendorPlugins, submitForm, заглушки браузерных API для jsdom;
  • /lint — данные вендора для ESLint потребителя без Vue и стилей: шаблоны импорта и CSS-класса, подпути вендора, имена обёрток полей для label-has-for (их собирает @application-kit/lint-config);
  • /style.css — стили компонентов (подключить один раз);
  • /styles/tokens.scss — мост токенов: приложение сверяет по нему свои var(--ui-*).

Peer-зависимости

vue, pinia, vue-router, openvue — по одному экземпляру на приложение; vitest нужен только для /testing.

Related Packages

@shtabapp/ui-kit-mcp

MCP server exposing Shtab UI Kit components, design tokens and usage guides to A...

172
@mart-booking/ui

MART UI — Vue 3 component library built on Reka UI

2,119
@shtabapp/ui-kit

Vue 3 component library by Shtab — 30+ typed components, design tokens, light/da...

10,050
vue-server-renderer

server renderer for Vue 2.0

13,054,069 212,644
vite-plugin-ssr

Like Next.js/Nuxt but as do-one-thing-do-it-well Vite plugin.

550,634 18

Version History

Version Released Vue License
0.3.1 ^3.5.0 MIT
0.3.0 ^3.5.0 MIT
0.2.0 ^3.5.0 MIT
0.1.5 ^3.5.0 MIT
0.1.4 ^3.5.0 MIT
Pre-releases (1)
Version Released License
0.0.0-stage