@codemonster-ru/vueforge 0.63.0 → 0.65.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/README.md +136 -1
- package/dist/index.css +1 -1
- package/dist/index.d.ts +5 -0
- package/dist/index.ts.mjs +4776 -4329
- package/dist/index.ts.umd.js +3 -3
- package/dist/package/components/__tests__/notification-center.test.d.ts +1 -0
- package/dist/package/components/__tests__/wizard.test.d.ts +1 -0
- package/dist/package/components/filter-chips.vue.d.ts +1 -1
- package/dist/package/components/notification-center.vue.d.ts +87 -0
- package/dist/package/components/wizard-context.d.ts +9 -0
- package/dist/package/components/wizard-step.vue.d.ts +21 -0
- package/dist/package/components/wizard.vue.d.ts +78 -0
- package/dist/package/config/theme-core.d.ts +83 -0
- package/dist/package/themes/default/components/notification-center.d.ts +43 -0
- package/dist/package/themes/default/components/wizard.d.ts +40 -0
- package/dist/package/themes/default/index.d.ts +81 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -70,6 +70,8 @@ import {
|
|
|
70
70
|
Splitter,
|
|
71
71
|
SplitterPanel,
|
|
72
72
|
Stepper,
|
|
73
|
+
Wizard,
|
|
74
|
+
WizardStep,
|
|
73
75
|
Timeline,
|
|
74
76
|
Rating,
|
|
75
77
|
Tree,
|
|
@@ -81,6 +83,7 @@ import {
|
|
|
81
83
|
SplitButton,
|
|
82
84
|
ContextMenu,
|
|
83
85
|
CommandPalette,
|
|
86
|
+
NotificationCenter,
|
|
84
87
|
Tour,
|
|
85
88
|
} from '@codemonster-ru/vueforge';
|
|
86
89
|
import '@codemonster-ru/vueforge/dist/index.css';
|
|
@@ -170,6 +173,10 @@ app.use(VueForge, {
|
|
|
170
173
|
<SplitterPanel :min-size="20">Right panel</SplitterPanel>
|
|
171
174
|
</Splitter>
|
|
172
175
|
<Stepper v-model="step" :steps="steps" clickable />
|
|
176
|
+
<Wizard v-model="wizardStep" :steps="wizardSteps">
|
|
177
|
+
<WizardStep value="account">Account step</WizardStep>
|
|
178
|
+
<WizardStep value="confirm">Confirm step</WizardStep>
|
|
179
|
+
</Wizard>
|
|
173
180
|
<Timeline :items="timelineItems" />
|
|
174
181
|
<Rating v-model="rating" allow-half />
|
|
175
182
|
<Tree v-model="selectedNode" v-model:expandedKeys="expandedKeys" :items="treeItems" />
|
|
@@ -222,6 +229,7 @@ app.use(VueForge, {
|
|
|
222
229
|
{ label: 'Save as draft', value: 'draft', group: 'Actions' },
|
|
223
230
|
]"
|
|
224
231
|
/>
|
|
232
|
+
<NotificationCenter v-model="notificationsOpen" v-model:items="notificationsItems" />
|
|
225
233
|
<Tour v-model="tourOpen" :steps="tourSteps" />
|
|
226
234
|
```
|
|
227
235
|
|
|
@@ -267,6 +275,7 @@ app.use(VueForge, {
|
|
|
267
275
|
- SplitButton
|
|
268
276
|
- ContextMenu
|
|
269
277
|
- CommandPalette
|
|
278
|
+
- NotificationCenter
|
|
270
279
|
- Tour
|
|
271
280
|
- Popover
|
|
272
281
|
- Select
|
|
@@ -293,6 +302,8 @@ app.use(VueForge, {
|
|
|
293
302
|
- Splitter
|
|
294
303
|
- SplitterPanel
|
|
295
304
|
- Stepper
|
|
305
|
+
- Wizard
|
|
306
|
+
- WizardStep
|
|
296
307
|
- Timeline
|
|
297
308
|
- Rating
|
|
298
309
|
- Tree
|
|
@@ -314,6 +325,8 @@ Input / InputGroup / Search / Password / Textarea (quick API):
|
|
|
314
325
|
- `NumberInput`: numeric control, supports `v-model`, `min`, `max`, `step`, `precision`, `controls`, `size`, `variant`.
|
|
315
326
|
- `Splitter`: resizable multi-panel container with draggable separators and `v-model` percentage sizes.
|
|
316
327
|
- `Tour`: guided step-by-step onboarding overlay anchored to target elements.
|
|
328
|
+
- `NotificationCenter`: persistent notifications inbox with read/unread state and bulk actions.
|
|
329
|
+
- `Wizard`: multi-step flow container with linear navigation, per-step validation, and completion events.
|
|
317
330
|
- `Textarea`: multi-line control, same as Input plus `rows`.
|
|
318
331
|
- `TagInput`: token/tag control, supports `v-model` (array), suggestions, custom tags, `maxTags`, `clearable`, `size`, `variant`.
|
|
319
332
|
- `FilterChips`: compact chip-based filter toggles with single/multiple selection modes and optional clear action.
|
|
@@ -2048,6 +2061,60 @@ Component tokens (override via `theme.overrides.components.commandPalette`):
|
|
|
2048
2061
|
- `shortcutBackgroundColor`, `shortcutTextColor`, `shortcutFontSize`
|
|
2049
2062
|
- `emptyPadding`, `emptyColor`
|
|
2050
2063
|
|
|
2064
|
+
## NotificationCenter
|
|
2065
|
+
|
|
2066
|
+
Props:
|
|
2067
|
+
|
|
2068
|
+
- `modelValue?: boolean` (v-model)
|
|
2069
|
+
- `items?: Array<{ id: string | number; title: string; message?: string; date?: string; read?: boolean; severity?: 'neutral' | 'info' | 'success' | 'warn' | 'danger'; avatar?: string }>`
|
|
2070
|
+
- `title?: string` (default `Notifications`)
|
|
2071
|
+
- `emptyText?: string` (default `No notifications`)
|
|
2072
|
+
- `closeOnOverlay?: boolean` (default `true`)
|
|
2073
|
+
- `closeOnEsc?: boolean` (default `true`)
|
|
2074
|
+
- `markAllLabel?: string` (default `Mark all as read`)
|
|
2075
|
+
- `clearLabel?: string` (default `Clear`)
|
|
2076
|
+
- `closeLabel?: string` (default `Close notifications`)
|
|
2077
|
+
- `readLabel?: string` (default `Mark as read`)
|
|
2078
|
+
- `unreadLabel?: string` (default `Mark as unread`)
|
|
2079
|
+
|
|
2080
|
+
Slots:
|
|
2081
|
+
|
|
2082
|
+
- `item` (optional) - slot props `{ item, index, toggleRead }`
|
|
2083
|
+
- `empty` (optional)
|
|
2084
|
+
|
|
2085
|
+
Events:
|
|
2086
|
+
|
|
2087
|
+
- `update:modelValue`
|
|
2088
|
+
- `update:items`
|
|
2089
|
+
- `open`
|
|
2090
|
+
- `close`
|
|
2091
|
+
- `click`
|
|
2092
|
+
- `read`
|
|
2093
|
+
- `readAll`
|
|
2094
|
+
- `clear`
|
|
2095
|
+
|
|
2096
|
+
Example:
|
|
2097
|
+
|
|
2098
|
+
```vue
|
|
2099
|
+
<NotificationCenter v-model="open" v-model:items="notifications" />
|
|
2100
|
+
```
|
|
2101
|
+
|
|
2102
|
+
### NotificationCenter tokens
|
|
2103
|
+
|
|
2104
|
+
Component tokens (override via `theme.overrides.components.notificationCenter`):
|
|
2105
|
+
|
|
2106
|
+
- `zIndex`, `overlayBackgroundColor`
|
|
2107
|
+
- `top`, `right`, `width`, `maxWidth`, `maxHeight`
|
|
2108
|
+
- `borderColor`, `borderRadius`, `backgroundColor`, `textColor`, `shadow`
|
|
2109
|
+
- `dividerColor`, `headerGap`, `headerPadding`
|
|
2110
|
+
- `titleGap`, `titleFontSize`, `titleLineHeight`, `titleFontWeight`
|
|
2111
|
+
- `badgeSize`, `badgeBackgroundColor`, `badgeTextColor`, `badgeFontSize`
|
|
2112
|
+
- `actionsGap`, `closeSize`, `closeHoverBackgroundColor`, `disabledOpacity`
|
|
2113
|
+
- `itemGap`, `itemPadding`, `unreadBackgroundColor`
|
|
2114
|
+
- `avatarSize`, `avatarBackgroundColor`, `avatarTextColor`, `avatarFontSize`
|
|
2115
|
+
- `itemTitleFontSize`, `itemTitleFontWeight`, `itemMetaFontSize`, `itemMetaColor`
|
|
2116
|
+
- `emptyPadding`, `emptyColor`
|
|
2117
|
+
|
|
2051
2118
|
## Tour
|
|
2052
2119
|
|
|
2053
2120
|
Props:
|
|
@@ -2477,6 +2544,74 @@ Component tokens (override via `theme.overrides.components.stepper`):
|
|
|
2477
2544
|
- `small.indicatorSize`, `small.indicatorFontSize`, `small.labelFontSize`, `small.descriptionFontSize`, `small.lineLength`, `small.itemGap`
|
|
2478
2545
|
- `large.indicatorSize`, `large.indicatorFontSize`, `large.labelFontSize`, `large.descriptionFontSize`, `large.lineLength`, `large.itemGap`
|
|
2479
2546
|
|
|
2547
|
+
## Wizard / WizardStep
|
|
2548
|
+
|
|
2549
|
+
Props (`Wizard`):
|
|
2550
|
+
|
|
2551
|
+
- `modelValue?: string | number` (v-model active step value)
|
|
2552
|
+
- `steps?: Array<{ value: string | number; title?: string; description?: string; optional?: boolean; disabled?: boolean; validate?: (value, index) => boolean | string | Promise<...> }>`
|
|
2553
|
+
- `linear?: boolean` (default `true`)
|
|
2554
|
+
- `disabled?: boolean` (default `false`)
|
|
2555
|
+
- `nextLabel?: string` (default `Next`)
|
|
2556
|
+
- `prevLabel?: string` (default `Back`)
|
|
2557
|
+
- `finishLabel?: string` (default `Finish`)
|
|
2558
|
+
- `validateStep?: (step, index, value) => boolean | string | Promise<...>`
|
|
2559
|
+
- `ariaLabel?: string`
|
|
2560
|
+
- `ariaLabelledby?: string`
|
|
2561
|
+
|
|
2562
|
+
Props (`WizardStep`):
|
|
2563
|
+
|
|
2564
|
+
- `value: string | number` (must match one of `Wizard.steps[].value`)
|
|
2565
|
+
|
|
2566
|
+
Slots (`Wizard`):
|
|
2567
|
+
|
|
2568
|
+
- `default` - place `WizardStep` components
|
|
2569
|
+
- `indicator` (optional) - slot props `{ step, index }`
|
|
2570
|
+
- `actions` (optional) - slot props `{ step, index, isFirst, isLast, next, prev, complete }`
|
|
2571
|
+
|
|
2572
|
+
Events (`Wizard`):
|
|
2573
|
+
|
|
2574
|
+
- `update:modelValue`
|
|
2575
|
+
- `change`
|
|
2576
|
+
- `next`
|
|
2577
|
+
- `prev`
|
|
2578
|
+
- `complete`
|
|
2579
|
+
- `invalidStep`
|
|
2580
|
+
|
|
2581
|
+
Example:
|
|
2582
|
+
|
|
2583
|
+
```vue
|
|
2584
|
+
<Wizard v-model="wizardStep" :steps="wizardSteps">
|
|
2585
|
+
<WizardStep value="account">
|
|
2586
|
+
<Input v-model="email" placeholder="Email" />
|
|
2587
|
+
</WizardStep>
|
|
2588
|
+
<WizardStep value="plan">
|
|
2589
|
+
<Select v-model="plan" :options="plans" />
|
|
2590
|
+
</WizardStep>
|
|
2591
|
+
<WizardStep value="confirm">
|
|
2592
|
+
Review and finish
|
|
2593
|
+
</WizardStep>
|
|
2594
|
+
</Wizard>
|
|
2595
|
+
```
|
|
2596
|
+
|
|
2597
|
+
### Wizard tokens
|
|
2598
|
+
|
|
2599
|
+
Component tokens (override via `theme.overrides.components.wizard`):
|
|
2600
|
+
|
|
2601
|
+
- `gap`, `borderColor`, `headerPaddingBottom`
|
|
2602
|
+
- `itemGap`, `stepGap`
|
|
2603
|
+
- `indicatorSize`, `indicatorBorderRadius`, `indicatorFontSize`
|
|
2604
|
+
- `indicatorBorderColor`, `indicatorBackgroundColor`, `indicatorTextColor`
|
|
2605
|
+
- `activeIndicatorBorderColor`, `activeIndicatorBackgroundColor`, `activeIndicatorTextColor`
|
|
2606
|
+
- `completedIndicatorBorderColor`, `completedIndicatorBackgroundColor`, `completedIndicatorTextColor`
|
|
2607
|
+
- `errorIndicatorBorderColor`, `errorIndicatorBackgroundColor`, `errorIndicatorTextColor`
|
|
2608
|
+
- `titleFontSize`, `titleColor`, `descriptionFontSize`, `descriptionColor`
|
|
2609
|
+
- `actionsGap`
|
|
2610
|
+
- `buttonMinWidth`, `buttonPadding`, `buttonBorderRadius`
|
|
2611
|
+
- `buttonBorderColor`, `buttonBackgroundColor`, `buttonTextColor`, `buttonHoverBackgroundColor`
|
|
2612
|
+
- `secondaryButtonBorderColor`, `secondaryButtonBackgroundColor`, `secondaryButtonTextColor`, `secondaryButtonHoverBackgroundColor`
|
|
2613
|
+
- `disabledOpacity`
|
|
2614
|
+
|
|
2480
2615
|
## Timeline
|
|
2481
2616
|
|
|
2482
2617
|
Props:
|
|
@@ -2724,7 +2859,7 @@ VueForge exposes design tokens as CSS variables generated from the theme preset.
|
|
|
2724
2859
|
Typed tokens:
|
|
2725
2860
|
|
|
2726
2861
|
- `ThemeTokens`/`ThemeOptions`/`ThemePreset` are exported for type-safe theming in TS.
|
|
2727
|
-
- `components.*` accepts component-specific tokens (typed keys: button/card/checkbox/radio/tabs/accordion/toast/alert/emptyState/input/inputGroup/inlineEdit/searchInput/mentionInput/passwordInput/otpInput/colorPicker/maskedInput/numberInput/form/formField/textarea/link/breadcrumbs/menu/modal/confirmDialog/drawer/popover/dropdown/contextMenu/commandPalette/tour/select/autocomplete/combobox/multiselect/taginput/datepicker/calendar/daterangepicker/timepicker/datetimepicker/pagination/switch/segmentedControl/tooltip/skeleton/progress/badge/chip/filterChips/avatar/datatable/slider/splitter/stepper/rating/tree/treeselect/virtualScroller).
|
|
2862
|
+
- `components.*` accepts component-specific tokens (typed keys: button/card/checkbox/radio/tabs/accordion/toast/alert/emptyState/input/inputGroup/inlineEdit/searchInput/mentionInput/passwordInput/otpInput/colorPicker/maskedInput/numberInput/form/formField/textarea/link/breadcrumbs/menu/modal/confirmDialog/drawer/popover/dropdown/contextMenu/commandPalette/notificationCenter/tour/select/autocomplete/combobox/multiselect/taginput/datepicker/calendar/daterangepicker/timepicker/datetimepicker/pagination/switch/segmentedControl/tooltip/skeleton/progress/badge/chip/filterChips/avatar/datatable/slider/splitter/stepper/wizard/rating/tree/treeselect/virtualScroller).
|
|
2728
2863
|
|
|
2729
2864
|
Default core values (from `DefaultTheme`):
|
|
2730
2865
|
|