@codemonster-ru/vueforge 0.68.0 → 0.70.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
@@ -43,6 +43,7 @@ import {
43
43
  RichTextEditor,
44
44
  FileUpload,
45
45
  Breadcrumbs,
46
+ Divider,
46
47
  Select,
47
48
  Autocomplete,
48
49
  Combobox,
@@ -62,6 +63,7 @@ import {
62
63
  EmptyState,
63
64
  Skeleton,
64
65
  Progress,
66
+ Spinner,
65
67
  Badge,
66
68
  Chip,
67
69
  FilterChips,
@@ -136,6 +138,7 @@ app.use(VueForge, {
136
138
  <RichTextEditor v-model="article" />
137
139
  <FileUpload v-model="resume" accept=".pdf,.doc,.docx" />
138
140
  <Breadcrumbs :items="breadcrumbItems" />
141
+ <Divider label="OR" />
139
142
  <Select v-model="role" :options="roles" placeholder="Choose role" />
140
143
  <Autocomplete v-model="country" :options="countries" placeholder="Find country" />
141
144
  <Combobox v-model="countryId" :options="countries" placeholder="Pick country" clearable />
@@ -161,6 +164,7 @@ app.use(VueForge, {
161
164
  <EmptyState title="No projects yet" description="Create your first project to get started." icon="📂" />
162
165
  <Skeleton height="12px" width="140px" />
163
166
  <Progress :value="64" />
167
+ <Spinner label="Loading..." />
164
168
  <Badge label="Beta" />
165
169
  <Chip label="New" />
166
170
  <FilterChips
@@ -278,6 +282,7 @@ app.use(VueForge, {
278
282
  - FileUpload
279
283
  - Link
280
284
  - Breadcrumbs
285
+ - Divider
281
286
  - Menu
282
287
  - Modal
283
288
  - ConfirmDialog
@@ -307,6 +312,7 @@ app.use(VueForge, {
307
312
  - Tooltip
308
313
  - Skeleton
309
314
  - Progress
315
+ - Spinner
310
316
  - Badge
311
317
  - Chip
312
318
  - FilterChips
@@ -342,6 +348,8 @@ Input / InputGroup / Search / Password / Textarea (quick API):
342
348
  - `AppShell`: application layout shell with sidebar/header/main/footer regions, collapse toggle, and mobile drawer behavior.
343
349
  - `KanbanBoard`: task board with draggable cards, customizable column/card slots, and move events.
344
350
  - `RichTextEditor`: formatting editor with toolbar actions and Markdown/HTML output.
351
+ - `Divider`: horizontal/vertical visual separator with optional label and style variants.
352
+ - `Spinner`: lightweight loading indicator with inline/overlay variants and severity colors.
345
353
  - `Wizard`: multi-step flow container with linear navigation, per-step validation, and completion events.
346
354
  - `Textarea`: multi-line control, same as Input plus `rows`.
347
355
  - `TagInput`: token/tag control, supports `v-model` (array), suggestions, custom tags, `maxTags`, `clearable`, `size`, `variant`.
@@ -1532,6 +1540,40 @@ Component tokens (override via `theme.overrides.components.breadcrumbs`):
1532
1540
  - `gap`, `fontSize`, `textColor`, `hoverColor`, `activeColor`
1533
1541
  - `separatorColor`, `disabledOpacity`
1534
1542
 
1543
+ ## Divider
1544
+
1545
+ Props:
1546
+
1547
+ - `orientation?: 'horizontal' | 'vertical'` (default `horizontal`)
1548
+ - `variant?: 'solid' | 'dashed' | 'dotted'` (default `solid`)
1549
+ - `inset?: boolean` (default `false`)
1550
+ - `label?: string`
1551
+ - `ariaLabel?: string` (default `Divider`)
1552
+
1553
+ Slots:
1554
+
1555
+ - `default` (optional) - custom label content (horizontal mode only)
1556
+
1557
+ Example:
1558
+
1559
+ ```vue
1560
+ <Divider />
1561
+ <Divider label="OR" />
1562
+ <div style="height: 32px; display: flex; align-items: center; gap: 8px">
1563
+ <span>Left</span>
1564
+ <Divider orientation="vertical" />
1565
+ <span>Right</span>
1566
+ </div>
1567
+ ```
1568
+
1569
+ ### Divider tokens
1570
+
1571
+ Component tokens (override via `theme.overrides.components.divider`):
1572
+
1573
+ - `color`, `textColor`, `thickness`, `minLength`
1574
+ - `gap`, `inset`
1575
+ - `labelPadding`, `labelFontSize`
1576
+
1535
1577
  ## SegmentedControl
1536
1578
 
1537
1579
  Props:
@@ -2594,6 +2636,40 @@ Component tokens (override via `theme.overrides.components.progress`):
2594
2636
  - `small.height`, `small.labelFontSize`, `small.circularSize`, `small.circularThickness`
2595
2637
  - `large.height`, `large.labelFontSize`, `large.circularSize`, `large.circularThickness`
2596
2638
 
2639
+ ## Spinner
2640
+
2641
+ Props:
2642
+
2643
+ - `variant?: 'inline' | 'overlay'` (default `inline`)
2644
+ - `size?: 'small' | 'normal' | 'large'` (default `normal`)
2645
+ - `severity?: 'neutral' | 'info' | 'success' | 'warn' | 'danger'` (default `neutral`)
2646
+ - `label?: string`
2647
+ - `ariaLabel?: string` (default `Loading`)
2648
+
2649
+ Slots:
2650
+
2651
+ - `default` (optional) - custom label content
2652
+
2653
+ Example:
2654
+
2655
+ ```vue
2656
+ <Spinner />
2657
+ <Spinner label="Loading users..." size="small" />
2658
+ <Spinner variant="overlay" severity="info" label="Sync in progress" />
2659
+ ```
2660
+
2661
+ ### Spinner tokens
2662
+
2663
+ Component tokens (override via `theme.overrides.components.spinner`):
2664
+
2665
+ - `size`, `thickness`, `color`, `trackColor`
2666
+ - `gap`, `labelColor`, `labelFontSize`
2667
+ - `animationDuration`
2668
+ - `overlayMinHeight`, `overlayPadding`, `overlayBorderRadius`, `overlayBackgroundColor`
2669
+ - `info.color`, `success.color`, `warn.color`, `danger.color`
2670
+ - `small.size`, `small.thickness`, `small.labelFontSize`
2671
+ - `large.size`, `large.thickness`, `large.labelFontSize`
2672
+
2597
2673
  ## Slider
2598
2674
 
2599
2675
  Props:
@@ -3031,7 +3107,7 @@ VueForge exposes design tokens as CSS variables generated from the theme preset.
3031
3107
  Typed tokens:
3032
3108
 
3033
3109
  - `ThemeTokens`/`ThemeOptions`/`ThemePreset` are exported for type-safe theming in TS.
3034
- - `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/richTextEditor/link/breadcrumbs/menu/modal/confirmDialog/drawer/popover/dropdown/contextMenu/commandPalette/notificationCenter/appShell/kanbanBoard/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).
3110
+ - `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/richTextEditor/link/breadcrumbs/divider/menu/modal/confirmDialog/drawer/popover/dropdown/contextMenu/commandPalette/notificationCenter/appShell/kanbanBoard/tour/select/autocomplete/combobox/multiselect/taginput/datepicker/calendar/daterangepicker/timepicker/datetimepicker/pagination/switch/segmentedControl/tooltip/skeleton/progress/spinner/badge/chip/filterChips/avatar/datatable/slider/splitter/stepper/wizard/rating/tree/treeselect/virtualScroller).
3035
3111
 
3036
3112
  Default core values (from `DefaultTheme`):
3037
3113