@codemonster-ru/vueforge 0.60.0 → 0.61.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 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,
@@ -147,6 +148,7 @@ app.use(VueForge, {
147
148
  ]"
148
149
  />
149
150
  <Alert severity="info" title="Heads up" message="Project settings were updated." />
151
+ <EmptyState title="No projects yet" description="Create your first project to get started." icon="📂" />
150
152
  <Skeleton height="12px" width="140px" />
151
153
  <Progress :value="64" />
152
154
  <Badge label="Beta" />
@@ -231,6 +233,7 @@ app.use(VueForge, {
231
233
  - Toast
232
234
  - ToastContainer
233
235
  - Alert
236
+ - EmptyState
234
237
  - Input
235
238
  - InputGroup
236
239
  - InputAddon
@@ -289,6 +292,7 @@ Input / InputGroup / Search / Password / Textarea (quick API):
289
292
 
290
293
  - `Input`: single-line control, supports `v-model`, `size`, `variant`, `disabled`, `readonly`.
291
294
  - `InputGroup`: horizontal control combiner for field/addon/button layouts with unified corners and borders.
295
+ - `EmptyState`: reusable empty-data block with icon/title/description/actions for table/list/search blank states.
292
296
  - `InlineEdit`: inline value editing with view/edit states, save/cancel actions, and text/number modes.
293
297
  - `SearchInput`: search-focused control with `debounce`, `clearable`, `loading`, `size`, and `variant`.
294
298
  - `MentionInput`: text input with `@`/`#` triggers, suggestions panel, keyboard selection, and mention insertion events.
@@ -1666,6 +1670,47 @@ Component tokens (override via `theme.overrides.components.alert`):
1666
1670
  - `actionsGap`, `closeSize`, `closeRadius`, `closeFontSize`, `closeHoverBackgroundColor`
1667
1671
  - `info.*`, `success.*`, `warn.*`, `danger.*` (backgroundColor/borderColor/textColor)
1668
1672
 
1673
+ ## EmptyState
1674
+
1675
+ Props:
1676
+
1677
+ - `title?: string`
1678
+ - `description?: string`
1679
+ - `icon?: string`
1680
+ - `size?: 'small' | 'normal' | 'large'` (default `normal`)
1681
+ - `variant?: 'filled' | 'outlined'` (default `filled`)
1682
+
1683
+ Slots:
1684
+
1685
+ - `default` - description content (fallbacks to `description`)
1686
+ - `title` (optional)
1687
+ - `icon` (optional)
1688
+ - `actions` (optional)
1689
+
1690
+ Example:
1691
+
1692
+ ```vue
1693
+ <EmptyState title="No projects yet" description="Create your first project to get started." icon="📂">
1694
+ <template #actions>
1695
+ <Button label="Create project" size="small" />
1696
+ <Button label="Import" size="small" severity="secondary" />
1697
+ </template>
1698
+ </EmptyState>
1699
+ ```
1700
+
1701
+ ### EmptyState tokens
1702
+
1703
+ Component tokens (override via `theme.overrides.components.emptyState`):
1704
+
1705
+ - `gap`, `bodyGap`, `padding`, `borderRadius`
1706
+ - `borderColor`, `backgroundColor`, `textColor`, `maxWidth`
1707
+ - `iconSize`, `iconColor`
1708
+ - `titleFontSize`, `titleLineHeight`, `titleFontWeight`, `titleColor`
1709
+ - `descriptionFontSize`, `descriptionLineHeight`, `descriptionColor`
1710
+ - `actionsGap`
1711
+ - `small.padding`, `small.iconSize`, `small.titleFontSize`, `small.descriptionFontSize`
1712
+ - `large.padding`, `large.iconSize`, `large.titleFontSize`, `large.descriptionFontSize`
1713
+
1669
1714
  ### Textarea tokens
1670
1715
 
1671
1716
  Component tokens (override via `theme.overrides.components.textarea`):
@@ -2559,7 +2604,7 @@ VueForge exposes design tokens as CSS variables generated from the theme preset.
2559
2604
  Typed tokens:
2560
2605
 
2561
2606
  - `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).
2607
+ - `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/stepper/rating/tree/treeselect/virtualScroller).
2563
2608
 
2564
2609
  Default core values (from `DefaultTheme`):
2565
2610