@dskripchenko/ui 1.2.1 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dskripchenko/ui",
3
- "version": "1.2.1",
3
+ "version": "1.3.0",
4
4
  "description": "Vue 3 component, token, and theme library on CSS custom properties",
5
5
  "keywords": [
6
6
  "vue",
@@ -31,7 +31,6 @@
31
31
  "engines": {
32
32
  "node": ">=20"
33
33
  },
34
- "packageManager": "pnpm@10.28.0",
35
34
  "publishConfig": {
36
35
  "access": "public"
37
36
  },
@@ -63,19 +62,6 @@
63
62
  "files": [
64
63
  "dist"
65
64
  ],
66
- "scripts": {
67
- "dev": "storybook dev -p 6006",
68
- "build-storybook": "storybook build",
69
- "build": "vue-tsc --noEmit -p tsconfig.build.json && vite build && node scripts/build-styles.mjs",
70
- "build:lib": "vite build && node scripts/build-styles.mjs",
71
- "build:analyze": "ANALYZE=true vite build && node scripts/build-styles.mjs",
72
- "test": "vitest run",
73
- "test:watch": "vitest",
74
- "lint": "eslint src",
75
- "typecheck": "vue-tsc --noEmit",
76
- "changeset": "changeset",
77
- "release": "pnpm build && changeset publish"
78
- },
79
65
  "peerDependencies": {
80
66
  "vue": "^3.4.0"
81
67
  },
@@ -105,5 +91,18 @@
105
91
  "vitest": "^4.1.5",
106
92
  "vue": "^3.5.33",
107
93
  "vue-tsc": "^3.2.7"
94
+ },
95
+ "scripts": {
96
+ "dev": "storybook dev -p 6006",
97
+ "build-storybook": "storybook build",
98
+ "build": "vue-tsc --noEmit -p tsconfig.build.json && vite build && node scripts/build-styles.mjs",
99
+ "build:lib": "vite build && node scripts/build-styles.mjs",
100
+ "build:analyze": "ANALYZE=true vite build && node scripts/build-styles.mjs",
101
+ "test": "vitest run",
102
+ "test:watch": "vitest",
103
+ "lint": "eslint src",
104
+ "typecheck": "vue-tsc --noEmit",
105
+ "changeset": "changeset",
106
+ "release": "pnpm build && changeset publish"
108
107
  }
109
- }
108
+ }
package/README.de.md DELETED
@@ -1,145 +0,0 @@
1
- # @dskripchenko/ui
2
-
3
- Eine Bibliothek aus Vue-3-Komponenten, Tokens und Themes auf Basis von CSS Custom Properties.
4
-
5
- [English](./README.md) · [Русский](./README.ru.md) · [**Deutsch**](./README.de.md) · [中文](./README.zh.md)
6
-
7
- [![npm](https://img.shields.io/npm/v/@dskripchenko/ui.svg)](https://www.npmjs.com/package/@dskripchenko/ui)
8
- [![bundle](https://img.shields.io/bundlephobia/minzip/@dskripchenko/ui)](https://bundlephobia.com/package/@dskripchenko/ui)
9
- [![license](https://img.shields.io/npm/l/@dskripchenko/ui.svg)](./LICENSE)
10
-
11
- > **Status:** stabil. SemVer-Garantien gelten — Breaking Changes nur in Major-Versionen.
12
-
13
- 📖 **Storybook:** [dskripchenko.github.io/ui](https://dskripchenko.github.io/ui/)
14
-
15
- ## Highlights
16
-
17
- - **70+ Komponenten** — Formulare, Navigation, Overlays, Datenanzeige, Charts, Patterns, Layouts
18
- - **Vue 3 + TypeScript** — Composition API, `<script setup>`, vollständig typisiert
19
- - **CSS Custom Properties** — kein CSS-in-JS, kein Tailwind, keine Präprozessoren; alles über Variablen
20
- - **Light / Dark Themes** — Umschalten über `data-theme` auf `:root`, einfach zu überschreiben
21
- - **Tree-shakable** — Import pro Komponente, ESM + CJS Builds
22
- - **A11y** — `:focus-visible`, ARIA-Attribute, Tastatur-Navigation in allen interaktiven Komponenten
23
- - **i18n** — eingebaute `ru` + `en` Locales, `UidLocaleProvider` für partielle Überschreibungen und eigene Locales
24
- - **~1500 Icons** — `lucide-vue-next` unter der Haube + Sub-Export `@dskripchenko/ui/icons`
25
- - **Keine Runtime-Chart-Deps** — eingebaute SVG-Primitive (Sparkline, ProgressRing, Gauge, Heatmap)
26
-
27
- ## Installation
28
-
29
- ```bash
30
- pnpm add @dskripchenko/ui
31
- # oder
32
- npm install @dskripchenko/ui
33
- ```
34
-
35
- ## Schnellstart
36
-
37
- ```ts
38
- // main.ts
39
- import { createApp } from 'vue'
40
- import App from './App.vue'
41
-
42
- import '@dskripchenko/ui/styles/tokens.css'
43
- import '@dskripchenko/ui/styles/themes.css'
44
-
45
- createApp(App).mount('#app')
46
- ```
47
-
48
- ```vue
49
- <!-- App.vue -->
50
- <script setup lang="ts">
51
- import { UidButton, UidIcon, UidLocaleProvider, en } from '@dskripchenko/ui'
52
- import { Check } from '@dskripchenko/ui/icons'
53
- </script>
54
-
55
- <template>
56
- <UidLocaleProvider :locale="en">
57
- <UidButton variant="primary">
58
- <UidIcon :icon="Check" /> Speichern
59
- </UidButton>
60
- </UidLocaleProvider>
61
- </template>
62
- ```
63
-
64
- Theme über Attribut auf `<html>` umschalten:
65
-
66
- ```html
67
- <html data-theme="dark">
68
- ```
69
-
70
- ## Inhalt
71
-
72
- Kurze Auswahl — vollständiger Katalog im [Storybook](https://dskripchenko.github.io/ui/).
73
-
74
- **Formulare & Eingabe:** Button, Input, Textarea, NumberInput, Checkbox, Radio, Switch, Label, FormField, Select, Combobox, TagsInput, DatePicker, DateRangePicker, TimePicker, ColorPicker, Slider, Rating, FileUpload, Mention, TreeSelect, Cascader
75
-
76
- **Feedback:** Spinner, Skeleton, Badge, Alert, Progress, Toast, Tour
77
-
78
- **Overlays:** Modal, Drawer, Tooltip, Popover, Menu, Command
79
-
80
- **Navigation:** Tabs, Breadcrumb, Link, Pagination (+ Cursor / LoadMore / InfiniteScroll / PageSize), BackTop, Affix, Anchor
81
-
82
- **Datenanzeige:** Card, Avatar, AvatarGroup, Tag, Divider, Accordion, Table, VirtualList, Stat, DescriptionList, Timeline, TreeView, Code, Watermark, Carousel, Calendar, NotificationBadge
83
-
84
- **Layout-Helfer:** Stack, Grid, Container, Splitter
85
-
86
- **Charts:** Sparkline, ProgressRing, Gauge, Heatmap
87
-
88
- **Wizards:** Stepper, Wizard, WizardStep
89
-
90
- **Patterns:** Header, Footer, Sidebar, PageHeader, EmptyState, ErrorState, Result
91
-
92
- **Layouts:** SimpleLayout, SidebarLayout, AuthLayout, WizardLayout
93
-
94
- **Composables:** useTheme, useLocale, useField, useToast, useWizard, useSidebar, useCommandPalette, useFocusTrap, useScrollLock, usePopover
95
-
96
- ## Dokumentation
97
-
98
- Anwender-Dokumentation in vier Sprachen — wähle deine:
99
-
100
- - 🇬🇧 **English** (default): [docs/en/](./docs/en/)
101
- - 🇷🇺 **Русский**: [docs/ru/](./docs/ru/)
102
- - 🇩🇪 **Deutsch**: [Erste Schritte](./docs/de/getting-started.md), [Theming](./docs/de/theming.md), [Tokens](./docs/de/tokens.md), [Icons](./docs/de/icons.md), [Patterns](./docs/de/patterns.md), [Validation](./docs/de/validation.md), [Charts](./docs/de/charts.md), [i18n](./docs/de/i18n.md)
103
- - 🇨🇳 **中文**: [docs/zh/](./docs/zh/)
104
-
105
- Mitwirkenden-Dokumentation (nur Englisch): [Architecture](./docs/ARCHITECTURE.md), [Component guidelines](./docs/COMPONENT_GUIDELINES.md), [Contributing](./docs/CONTRIBUTING.md), [Roadmap](./docs/ROADMAP.md).
106
-
107
- ## Theming
108
-
109
- Alle Farben, Abstände und Schriften sind CSS-Variablen. Theme überschreiben — Tokens auf `:root` oder einem Container setzen:
110
-
111
- ```css
112
- :root[data-theme='dark'] {
113
- --uid-color-primary: #8b5cf6;
114
- --uid-color-bg: #0a0a0a;
115
- }
116
- ```
117
-
118
- Mehr in [Theming](./docs/de/theming.md) und [Tokens](./docs/de/tokens.md).
119
-
120
- ## Icons
121
-
122
- Sub-Export `@dskripchenko/ui/icons` re-exportiert alle ~1500 Lucide-Icons:
123
-
124
- ```ts
125
- import { UidIcon } from '@dskripchenko/ui'
126
- import { Heart, Star } from '@dskripchenko/ui/icons'
127
- ```
128
-
129
- Mehr in [Icons](./docs/de/icons.md).
130
-
131
- ## Entwicklung
132
-
133
- ```bash
134
- pnpm install
135
- pnpm dev # Storybook auf :6006
136
- pnpm test # Vitest
137
- pnpm build # Library-Build
138
- pnpm build-storybook # Storybook → storybook-static
139
- pnpm build:analyze # Bundle-Visualizer
140
- pnpm changeset # Änderung fürs nächste Release beschreiben
141
- ```
142
-
143
- ## Lizenz
144
-
145
- MIT
package/README.ru.md DELETED
@@ -1,143 +0,0 @@
1
- # @dskripchenko/ui
2
-
3
- Набор Vue 3 компонентов, токенов и тем на CSS custom properties.
4
-
5
- [English](./README.md) · [**Русский**](./README.ru.md) · [Deutsch](./README.de.md) · [中文](./README.zh.md)
6
-
7
- [![npm](https://img.shields.io/npm/v/@dskripchenko/ui.svg)](https://www.npmjs.com/package/@dskripchenko/ui)
8
- [![bundle](https://img.shields.io/bundlephobia/minzip/@dskripchenko/ui)](https://bundlephobia.com/package/@dskripchenko/ui)
9
- [![license](https://img.shields.io/npm/l/@dskripchenko/ui.svg)](./LICENSE)
10
-
11
- > **Статус:** стабильно. Действуют гарантии SemVer — ломающие изменения только в major-версиях.
12
-
13
- 📖 **Storybook:** [dskripchenko.github.io/ui](https://dskripchenko.github.io/ui/)
14
-
15
- ## Особенности
16
-
17
- - **70+ компонентов** — формы, навигация, оверлеи, отображение данных, графики, паттерны, лейауты
18
- - **Vue 3 + TypeScript** — Composition API, `<script setup>`, полная типизация
19
- - **CSS custom properties** — никакого CSS-in-JS, Tailwind или препроцессоров; всё через переменные
20
- - **Light / Dark темы** — через `data-theme` на `:root`, легко переопределяются
21
- - **Tree-shakeable** — импорт по компонентам, ESM + CJS сборки
22
- - **A11y** — `:focus-visible`, ARIA-атрибуты, keyboard-навигация во всех интерактивных компонентах
23
- - **i18n** — встроенные `ru` + `en` локали, `UidLocaleProvider` для частичных переопределений и кастомных локалей
24
- - **~1500 иконок** — `lucide-vue-next` под капотом + sub-export `@dskripchenko/ui/icons`
25
- - **Zero runtime chart deps** — встроенные SVG-примитивы (Sparkline, ProgressRing, Gauge, Heatmap)
26
-
27
- ## Установка
28
-
29
- ```bash
30
- pnpm add @dskripchenko/ui
31
- # или
32
- npm install @dskripchenko/ui
33
- ```
34
-
35
- ## Быстрый старт
36
-
37
- ```ts
38
- // main.ts
39
- import { createApp } from 'vue'
40
- import App from './App.vue'
41
-
42
- import '@dskripchenko/ui/styles/tokens.css'
43
- import '@dskripchenko/ui/styles/themes.css'
44
-
45
- createApp(App).mount('#app')
46
- ```
47
-
48
- ```vue
49
- <!-- App.vue -->
50
- <script setup lang="ts">
51
- import { UidButton, UidIcon } from '@dskripchenko/ui'
52
- import { Check } from '@dskripchenko/ui/icons'
53
- </script>
54
-
55
- <template>
56
- <UidButton variant="primary">
57
- <UidIcon :icon="Check" /> Сохранить
58
- </UidButton>
59
- </template>
60
- ```
61
-
62
- Переключение темы — атрибут на `<html>`:
63
-
64
- ```html
65
- <html data-theme="dark">
66
- ```
67
-
68
- ## Что внутри
69
-
70
- Краткий список — полный каталог в [Storybook](https://dskripchenko.github.io/ui/).
71
-
72
- **Формы и ввод:** Button, Input, Textarea, NumberInput, Checkbox, Radio, Switch, Label, FormField, Select, Combobox, TagsInput, DatePicker, DateRangePicker, TimePicker, ColorPicker, Slider, Rating, FileUpload, Mention, TreeSelect, Cascader
73
-
74
- **Обратная связь:** Spinner, Skeleton, Badge, Alert, Progress, Toast, Tour
75
-
76
- **Оверлеи:** Modal, Drawer, Tooltip, Popover, Menu, Command
77
-
78
- **Навигация:** Tabs, Breadcrumb, Link, Pagination (+ Cursor / LoadMore / InfiniteScroll / PageSize), BackTop, Affix, Anchor
79
-
80
- **Отображение данных:** Card, Avatar, AvatarGroup, Tag, Divider, Accordion, Table, VirtualList, Stat, DescriptionList, Timeline, TreeView, Code, Watermark, Carousel, Calendar, NotificationBadge
81
-
82
- **Layout-помощники:** Stack, Grid, Container, Splitter
83
-
84
- **Графики:** Sparkline, ProgressRing, Gauge, Heatmap
85
-
86
- **Wizards:** Stepper, Wizard, WizardStep
87
-
88
- **Patterns:** Header, Footer, Sidebar, PageHeader, EmptyState, ErrorState, Result
89
-
90
- **Layouts:** SimpleLayout, SidebarLayout, AuthLayout, WizardLayout
91
-
92
- **Composables:** useTheme, useLocale, useField, useToast, useWizard, useSidebar, useCommandPalette, useFocusTrap, useScrollLock, usePopover
93
-
94
- ## Документация
95
-
96
- Пользовательская документация переведена на 4 языка — выбери свой:
97
-
98
- - 🇬🇧 **English** (default): [docs/en/](./docs/en/)
99
- - 🇷🇺 **Русский**: [getting-started](./docs/ru/getting-started.md), [тема](./docs/ru/theming.md), [токены](./docs/ru/tokens.md), [иконки](./docs/ru/icons.md), [патерны](./docs/ru/patterns.md), [валидация](./docs/ru/validation.md), [графики](./docs/ru/charts.md), [i18n](./docs/ru/i18n.md)
100
- - 🇩🇪 **Deutsch**: [docs/de/](./docs/de/)
101
- - 🇨🇳 **中文**: [docs/zh/](./docs/zh/)
102
-
103
- Документация для контрибьюторов (только английская): [Architecture](./docs/ARCHITECTURE.md), [Component guidelines](./docs/COMPONENT_GUIDELINES.md), [Contributing](./docs/CONTRIBUTING.md), [Roadmap](./docs/ROADMAP.md).
104
-
105
- ## Темизация
106
-
107
- Все цвета, отступы, шрифты — CSS-переменные. Переопределить тему — задать токены на `:root` или контейнере:
108
-
109
- ```css
110
- :root[data-theme='dark'] {
111
- --uid-color-primary: #8b5cf6;
112
- --uid-color-bg: #0a0a0a;
113
- }
114
- ```
115
-
116
- Подробнее — [темизация](./docs/ru/theming.md) и [токены](./docs/ru/tokens.md).
117
-
118
- ## Иконки
119
-
120
- Sub-export `@dskripchenko/ui/icons` реэкспортирует все ~1500 иконок Lucide:
121
-
122
- ```ts
123
- import { UidIcon } from '@dskripchenko/ui'
124
- import { Heart, Star } from '@dskripchenko/ui/icons'
125
- ```
126
-
127
- Подробнее — [иконки](./docs/ru/icons.md).
128
-
129
- ## Разработка
130
-
131
- ```bash
132
- pnpm install
133
- pnpm dev # Storybook на :6006
134
- pnpm test # Vitest
135
- pnpm build # Сборка библиотеки
136
- pnpm build-storybook # Сборка Storybook → storybook-static
137
- pnpm build:analyze # Bundle visualizer
138
- pnpm changeset # Описать изменения для следующего релиза
139
- ```
140
-
141
- ## Лицензия
142
-
143
- MIT
package/README.zh.md DELETED
@@ -1,145 +0,0 @@
1
- # @dskripchenko/ui
2
-
3
- 基于 CSS Custom Properties 的 Vue 3 组件、token 与主题库。
4
-
5
- [English](./README.md) · [Русский](./README.ru.md) · [Deutsch](./README.de.md) · [**中文**](./README.zh.md)
6
-
7
- [![npm](https://img.shields.io/npm/v/@dskripchenko/ui.svg)](https://www.npmjs.com/package/@dskripchenko/ui)
8
- [![bundle](https://img.shields.io/bundlephobia/minzip/@dskripchenko/ui)](https://bundlephobia.com/package/@dskripchenko/ui)
9
- [![license](https://img.shields.io/npm/l/@dskripchenko/ui.svg)](./LICENSE)
10
-
11
- > **状态:** 稳定。遵循 SemVer 保障——破坏性变更仅在主版本中发布。
12
-
13
- 📖 **Storybook:**[dskripchenko.github.io/ui](https://dskripchenko.github.io/ui/)
14
-
15
- ## 亮点
16
-
17
- - **70+ 组件** — 表单、导航、浮层、数据展示、图表、Patterns、Layouts
18
- - **Vue 3 + TypeScript** — Composition API、`<script setup>`、完整类型
19
- - **CSS 自定义属性** — 不用 CSS-in-JS、Tailwind 或预处理器;一切都是变量
20
- - **Light / Dark 主题** — 通过 `:root` 上的 `data-theme` 切换,便于覆盖
21
- - **可 tree-shake** — 按组件导入,ESM + CJS 构建
22
- - **无障碍** — `:focus-visible`、ARIA 属性、所有交互组件支持键盘
23
- - **i18n** — 内置 `ru` + `en` locale,`UidLocaleProvider` 支持部分覆盖与自定义 locale
24
- - **~1500 图标** — 底层使用 `lucide-vue-next` + 子导出 `@dskripchenko/ui/icons`
25
- - **零图表运行时依赖** — 内置 SVG 原语(Sparkline、ProgressRing、Gauge、Heatmap)
26
-
27
- ## 安装
28
-
29
- ```bash
30
- pnpm add @dskripchenko/ui
31
- # 或
32
- npm install @dskripchenko/ui
33
- ```
34
-
35
- ## 快速开始
36
-
37
- ```ts
38
- // main.ts
39
- import { createApp } from 'vue'
40
- import App from './App.vue'
41
-
42
- import '@dskripchenko/ui/styles/tokens.css'
43
- import '@dskripchenko/ui/styles/themes.css'
44
-
45
- createApp(App).mount('#app')
46
- ```
47
-
48
- ```vue
49
- <!-- App.vue -->
50
- <script setup lang="ts">
51
- import { UidButton, UidIcon, UidLocaleProvider, en } from '@dskripchenko/ui'
52
- import { Check } from '@dskripchenko/ui/icons'
53
- </script>
54
-
55
- <template>
56
- <UidLocaleProvider :locale="en">
57
- <UidButton variant="primary">
58
- <UidIcon :icon="Check" /> 保存
59
- </UidButton>
60
- </UidLocaleProvider>
61
- </template>
62
- ```
63
-
64
- 通过 `<html>` 上的属性切换主题:
65
-
66
- ```html
67
- <html data-theme="dark">
68
- ```
69
-
70
- ## 内容速览
71
-
72
- 精简列表 — 完整目录在 [Storybook](https://dskripchenko.github.io/ui/)。
73
-
74
- **表单与输入:** Button、Input、Textarea、NumberInput、Checkbox、Radio、Switch、Label、FormField、Select、Combobox、TagsInput、DatePicker、DateRangePicker、TimePicker、ColorPicker、Slider、Rating、FileUpload、Mention、TreeSelect、Cascader
75
-
76
- **反馈:** Spinner、Skeleton、Badge、Alert、Progress、Toast、Tour
77
-
78
- **浮层:** Modal、Drawer、Tooltip、Popover、Menu、Command
79
-
80
- **导航:** Tabs、Breadcrumb、Link、Pagination(+ Cursor / LoadMore / InfiniteScroll / PageSize)、BackTop、Affix、Anchor
81
-
82
- **数据展示:** Card、Avatar、AvatarGroup、Tag、Divider、Accordion、Table、VirtualList、Stat、DescriptionList、Timeline、TreeView、Code、Watermark、Carousel、Calendar、NotificationBadge
83
-
84
- **布局辅助:** Stack、Grid、Container、Splitter
85
-
86
- **图表:** Sparkline、ProgressRing、Gauge、Heatmap
87
-
88
- **Wizards:** Stepper、Wizard、WizardStep
89
-
90
- **Patterns:** Header、Footer、Sidebar、PageHeader、EmptyState、ErrorState、Result
91
-
92
- **Layouts:** SimpleLayout、SidebarLayout、AuthLayout、WizardLayout
93
-
94
- **Composables:** useTheme、useLocale、useField、useToast、useWizard、useSidebar、useCommandPalette、useFocusTrap、useScrollLock、usePopover
95
-
96
- ## 文档
97
-
98
- 用户文档已译为四种语言 — 选择你的:
99
-
100
- - 🇬🇧 **English**(default):[docs/en/](./docs/en/)
101
- - 🇷🇺 **Русский**:[docs/ru/](./docs/ru/)
102
- - 🇩🇪 **Deutsch**:[docs/de/](./docs/de/)
103
- - 🇨🇳 **中文**:[快速开始](./docs/zh/getting-started.md)、[主题](./docs/zh/theming.md)、[Tokens](./docs/zh/tokens.md)、[图标](./docs/zh/icons.md)、[Patterns](./docs/zh/patterns.md)、[表单校验](./docs/zh/validation.md)、[图表](./docs/zh/charts.md)、[i18n](./docs/zh/i18n.md)
104
-
105
- 贡献者文档(仅英文):[Architecture](./docs/ARCHITECTURE.md)、[Component guidelines](./docs/COMPONENT_GUIDELINES.md)、[Contributing](./docs/CONTRIBUTING.md)、[Roadmap](./docs/ROADMAP.md)。
106
-
107
- ## 主题
108
-
109
- 所有颜色、间距、字体都是 CSS 变量。覆盖主题——在 `:root` 或容器上设置 token:
110
-
111
- ```css
112
- :root[data-theme='dark'] {
113
- --uid-color-primary: #8b5cf6;
114
- --uid-color-bg: #0a0a0a;
115
- }
116
- ```
117
-
118
- 详见 [主题](./docs/zh/theming.md) 与 [Tokens](./docs/zh/tokens.md)。
119
-
120
- ## 图标
121
-
122
- 子导出 `@dskripchenko/ui/icons` re-export 了全部 ~1500 个 Lucide 图标:
123
-
124
- ```ts
125
- import { UidIcon } from '@dskripchenko/ui'
126
- import { Heart, Star } from '@dskripchenko/ui/icons'
127
- ```
128
-
129
- 详见 [图标](./docs/zh/icons.md)。
130
-
131
- ## 开发
132
-
133
- ```bash
134
- pnpm install
135
- pnpm dev # Storybook,端口 6006
136
- pnpm test # Vitest
137
- pnpm build # 库构建
138
- pnpm build-storybook # Storybook → storybook-static
139
- pnpm build:analyze # Bundle visualizer
140
- pnpm changeset # 描述下一次发布的变更
141
- ```
142
-
143
- ## 许可证
144
-
145
- MIT