@codemonster-ru/vueforge 0.60.0 → 0.62.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 +94 -1
- package/dist/index.css +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.ts.mjs +4522 -4194
- package/dist/index.ts.umd.js +3 -3
- package/dist/package/components/__tests__/empty-state.test.d.ts +1 -0
- package/dist/package/components/__tests__/splitter.test.d.ts +1 -0
- package/dist/package/components/empty-state.vue.d.ts +35 -0
- package/dist/package/components/splitter-context.d.ts +15 -0
- package/dist/package/components/splitter-panel.vue.d.ts +24 -0
- package/dist/package/components/splitter.vue.d.ts +41 -0
- package/dist/package/config/theme-core.d.ts +45 -0
- package/dist/package/themes/default/components/empty-state.d.ts +33 -0
- package/dist/package/themes/default/components/splitter.d.ts +12 -0
- package/dist/package/themes/default/index.d.ts +43 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -58,6 +58,7 @@ import {
|
|
|
58
58
|
Switch,
|
|
59
59
|
SegmentedControl,
|
|
60
60
|
Alert,
|
|
61
|
+
EmptyState,
|
|
61
62
|
Skeleton,
|
|
62
63
|
Progress,
|
|
63
64
|
Badge,
|
|
@@ -66,6 +67,8 @@ import {
|
|
|
66
67
|
Accordion,
|
|
67
68
|
AccordionItem,
|
|
68
69
|
Slider,
|
|
70
|
+
Splitter,
|
|
71
|
+
SplitterPanel,
|
|
69
72
|
Stepper,
|
|
70
73
|
Timeline,
|
|
71
74
|
Rating,
|
|
@@ -147,6 +150,7 @@ app.use(VueForge, {
|
|
|
147
150
|
]"
|
|
148
151
|
/>
|
|
149
152
|
<Alert severity="info" title="Heads up" message="Project settings were updated." />
|
|
153
|
+
<EmptyState title="No projects yet" description="Create your first project to get started." icon="📂" />
|
|
150
154
|
<Skeleton height="12px" width="140px" />
|
|
151
155
|
<Progress :value="64" />
|
|
152
156
|
<Badge label="Beta" />
|
|
@@ -160,6 +164,10 @@ app.use(VueForge, {
|
|
|
160
164
|
clearable
|
|
161
165
|
/>
|
|
162
166
|
<Slider v-model="volume" :min="0" :max="100" :step="5" show-value />
|
|
167
|
+
<Splitter v-model="splitSizes" style="height: 280px">
|
|
168
|
+
<SplitterPanel :min-size="20">Left panel</SplitterPanel>
|
|
169
|
+
<SplitterPanel :min-size="20">Right panel</SplitterPanel>
|
|
170
|
+
</Splitter>
|
|
163
171
|
<Stepper v-model="step" :steps="steps" clickable />
|
|
164
172
|
<Timeline :items="timelineItems" />
|
|
165
173
|
<Rating v-model="rating" allow-half />
|
|
@@ -231,6 +239,7 @@ app.use(VueForge, {
|
|
|
231
239
|
- Toast
|
|
232
240
|
- ToastContainer
|
|
233
241
|
- Alert
|
|
242
|
+
- EmptyState
|
|
234
243
|
- Input
|
|
235
244
|
- InputGroup
|
|
236
245
|
- InputAddon
|
|
@@ -278,6 +287,8 @@ app.use(VueForge, {
|
|
|
278
287
|
- FilterChips
|
|
279
288
|
- Avatar
|
|
280
289
|
- Slider
|
|
290
|
+
- Splitter
|
|
291
|
+
- SplitterPanel
|
|
281
292
|
- Stepper
|
|
282
293
|
- Timeline
|
|
283
294
|
- Rating
|
|
@@ -289,6 +300,7 @@ Input / InputGroup / Search / Password / Textarea (quick API):
|
|
|
289
300
|
|
|
290
301
|
- `Input`: single-line control, supports `v-model`, `size`, `variant`, `disabled`, `readonly`.
|
|
291
302
|
- `InputGroup`: horizontal control combiner for field/addon/button layouts with unified corners and borders.
|
|
303
|
+
- `EmptyState`: reusable empty-data block with icon/title/description/actions for table/list/search blank states.
|
|
292
304
|
- `InlineEdit`: inline value editing with view/edit states, save/cancel actions, and text/number modes.
|
|
293
305
|
- `SearchInput`: search-focused control with `debounce`, `clearable`, `loading`, `size`, and `variant`.
|
|
294
306
|
- `MentionInput`: text input with `@`/`#` triggers, suggestions panel, keyboard selection, and mention insertion events.
|
|
@@ -297,6 +309,7 @@ Input / InputGroup / Search / Password / Textarea (quick API):
|
|
|
297
309
|
- `ColorPicker`: color control with presets, optional alpha channel, and output formats (`hex`/`rgb`/`hsl`).
|
|
298
310
|
- `MaskedInput`: formatted input control with string/function masks and optional raw output (`unmask`).
|
|
299
311
|
- `NumberInput`: numeric control, supports `v-model`, `min`, `max`, `step`, `precision`, `controls`, `size`, `variant`.
|
|
312
|
+
- `Splitter`: resizable multi-panel container with draggable separators and `v-model` percentage sizes.
|
|
300
313
|
- `Textarea`: multi-line control, same as Input plus `rows`.
|
|
301
314
|
- `TagInput`: token/tag control, supports `v-model` (array), suggestions, custom tags, `maxTags`, `clearable`, `size`, `variant`.
|
|
302
315
|
- `FilterChips`: compact chip-based filter toggles with single/multiple selection modes and optional clear action.
|
|
@@ -1666,6 +1679,47 @@ Component tokens (override via `theme.overrides.components.alert`):
|
|
|
1666
1679
|
- `actionsGap`, `closeSize`, `closeRadius`, `closeFontSize`, `closeHoverBackgroundColor`
|
|
1667
1680
|
- `info.*`, `success.*`, `warn.*`, `danger.*` (backgroundColor/borderColor/textColor)
|
|
1668
1681
|
|
|
1682
|
+
## EmptyState
|
|
1683
|
+
|
|
1684
|
+
Props:
|
|
1685
|
+
|
|
1686
|
+
- `title?: string`
|
|
1687
|
+
- `description?: string`
|
|
1688
|
+
- `icon?: string`
|
|
1689
|
+
- `size?: 'small' | 'normal' | 'large'` (default `normal`)
|
|
1690
|
+
- `variant?: 'filled' | 'outlined'` (default `filled`)
|
|
1691
|
+
|
|
1692
|
+
Slots:
|
|
1693
|
+
|
|
1694
|
+
- `default` - description content (fallbacks to `description`)
|
|
1695
|
+
- `title` (optional)
|
|
1696
|
+
- `icon` (optional)
|
|
1697
|
+
- `actions` (optional)
|
|
1698
|
+
|
|
1699
|
+
Example:
|
|
1700
|
+
|
|
1701
|
+
```vue
|
|
1702
|
+
<EmptyState title="No projects yet" description="Create your first project to get started." icon="📂">
|
|
1703
|
+
<template #actions>
|
|
1704
|
+
<Button label="Create project" size="small" />
|
|
1705
|
+
<Button label="Import" size="small" severity="secondary" />
|
|
1706
|
+
</template>
|
|
1707
|
+
</EmptyState>
|
|
1708
|
+
```
|
|
1709
|
+
|
|
1710
|
+
### EmptyState tokens
|
|
1711
|
+
|
|
1712
|
+
Component tokens (override via `theme.overrides.components.emptyState`):
|
|
1713
|
+
|
|
1714
|
+
- `gap`, `bodyGap`, `padding`, `borderRadius`
|
|
1715
|
+
- `borderColor`, `backgroundColor`, `textColor`, `maxWidth`
|
|
1716
|
+
- `iconSize`, `iconColor`
|
|
1717
|
+
- `titleFontSize`, `titleLineHeight`, `titleFontWeight`, `titleColor`
|
|
1718
|
+
- `descriptionFontSize`, `descriptionLineHeight`, `descriptionColor`
|
|
1719
|
+
- `actionsGap`
|
|
1720
|
+
- `small.padding`, `small.iconSize`, `small.titleFontSize`, `small.descriptionFontSize`
|
|
1721
|
+
- `large.padding`, `large.iconSize`, `large.titleFontSize`, `large.descriptionFontSize`
|
|
1722
|
+
|
|
1669
1723
|
### Textarea tokens
|
|
1670
1724
|
|
|
1671
1725
|
Component tokens (override via `theme.overrides.components.textarea`):
|
|
@@ -2273,6 +2327,45 @@ Component tokens (override via `theme.overrides.components.slider`):
|
|
|
2273
2327
|
- `small.trackHeight`, `small.thumbSize`, `small.valueFontSize`
|
|
2274
2328
|
- `large.trackHeight`, `large.thumbSize`, `large.valueFontSize`
|
|
2275
2329
|
|
|
2330
|
+
## Splitter / SplitterPanel
|
|
2331
|
+
|
|
2332
|
+
Props (`Splitter`):
|
|
2333
|
+
|
|
2334
|
+
- `modelValue?: number[]` (v-model panel sizes in %)
|
|
2335
|
+
- `minSizes?: number[]` (panel minimum sizes in %)
|
|
2336
|
+
- `direction?: 'horizontal' | 'vertical'` (default `horizontal`)
|
|
2337
|
+
- `gutterSize?: number | string` (default `8`)
|
|
2338
|
+
- `disabled?: boolean` (default `false`)
|
|
2339
|
+
|
|
2340
|
+
Props (`SplitterPanel`):
|
|
2341
|
+
|
|
2342
|
+
- `size?: number` (initial panel size in % when `v-model` is not provided)
|
|
2343
|
+
- `minSize?: number` (minimum panel size in %)
|
|
2344
|
+
|
|
2345
|
+
Events (`Splitter`):
|
|
2346
|
+
|
|
2347
|
+
- `update:modelValue`
|
|
2348
|
+
- `change`
|
|
2349
|
+
|
|
2350
|
+
Example:
|
|
2351
|
+
|
|
2352
|
+
```vue
|
|
2353
|
+
<Splitter v-model="splitSizes" :min-sizes="[20, 20]" style="height: 280px">
|
|
2354
|
+
<SplitterPanel>Navigation</SplitterPanel>
|
|
2355
|
+
<SplitterPanel>Content</SplitterPanel>
|
|
2356
|
+
</Splitter>
|
|
2357
|
+
```
|
|
2358
|
+
|
|
2359
|
+
### Splitter tokens
|
|
2360
|
+
|
|
2361
|
+
Component tokens (override via `theme.overrides.components.splitter`):
|
|
2362
|
+
|
|
2363
|
+
- `borderColor`, `borderRadius`
|
|
2364
|
+
- `panelBackgroundColor`
|
|
2365
|
+
- `handleWidth`, `handleHeight`, `handleRadius`, `handleColor`
|
|
2366
|
+
- `gutterActiveBackgroundColor`
|
|
2367
|
+
- `disabledOpacity`
|
|
2368
|
+
|
|
2276
2369
|
## Stepper
|
|
2277
2370
|
|
|
2278
2371
|
Props:
|
|
@@ -2559,7 +2652,7 @@ VueForge exposes design tokens as CSS variables generated from the theme preset.
|
|
|
2559
2652
|
Typed tokens:
|
|
2560
2653
|
|
|
2561
2654
|
- `ThemeTokens`/`ThemeOptions`/`ThemePreset` are exported for type-safe theming in TS.
|
|
2562
|
-
- `components.*` accepts component-specific tokens (typed keys: button/card/checkbox/radio/tabs/accordion/toast/alert/input/inputGroup/inlineEdit/searchInput/mentionInput/passwordInput/otpInput/colorPicker/maskedInput/numberInput/form/formField/textarea/link/breadcrumbs/menu/modal/confirmDialog/drawer/popover/dropdown/contextMenu/commandPalette/select/autocomplete/combobox/multiselect/taginput/datepicker/calendar/daterangepicker/timepicker/datetimepicker/pagination/switch/segmentedControl/tooltip/skeleton/progress/badge/chip/filterChips/avatar/datatable/slider/stepper/rating/tree/treeselect/virtualScroller).
|
|
2655
|
+
- `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/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).
|
|
2563
2656
|
|
|
2564
2657
|
Default core values (from `DefaultTheme`):
|
|
2565
2658
|
|