@codemonster-ru/vueforge 0.38.0 → 0.40.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
@@ -53,7 +53,9 @@ import {
53
53
  Stepper,
54
54
  Rating,
55
55
  Tree,
56
+ TreeSelect,
56
57
  Drawer,
58
+ ConfirmDialog,
57
59
  Dropdown,
58
60
  } from '@codemonster-ru/vueforge';
59
61
  import '@codemonster-ru/vueforge/dist/index.css';
@@ -95,6 +97,7 @@ app.use(VueForge, {
95
97
  <Stepper v-model="step" :steps="steps" clickable />
96
98
  <Rating v-model="rating" allow-half />
97
99
  <Tree v-model="selectedNode" v-model:expandedKeys="expandedKeys" :items="treeItems" />
100
+ <TreeSelect v-model="selectedNode" v-model:expandedKeys="expandedKeys" :items="treeItems" placeholder="Select node" />
98
101
  <Accordion v-model="faq">
99
102
  <AccordionItem value="shipping" title="Shipping">
100
103
  Shipping details
@@ -108,6 +111,13 @@ app.use(VueForge, {
108
111
  Drawer content
109
112
  </template>
110
113
  </Drawer>
114
+ <ConfirmDialog
115
+ v-model="confirmOpen"
116
+ title="Delete item?"
117
+ message="This action cannot be undone."
118
+ confirm-label="Delete"
119
+ @confirm="removeItem"
120
+ />
111
121
  <Dropdown :items="menuItems">
112
122
  <template #trigger>
113
123
  <Button label="Actions" />
@@ -139,6 +149,7 @@ app.use(VueForge, {
139
149
  - Breadcrumbs
140
150
  - Menu
141
151
  - Modal
152
+ - ConfirmDialog
142
153
  - Drawer
143
154
  - Dropdown
144
155
  - Popover
@@ -161,13 +172,14 @@ app.use(VueForge, {
161
172
  - Stepper
162
173
  - Rating
163
174
  - Tree
175
+ - TreeSelect
164
176
 
165
177
  Input / Textarea (quick API):
166
178
 
167
179
  - `Input`: single-line control, supports `v-model`, `size`, `variant`, `disabled`, `readonly`.
168
180
  - `NumberInput`: numeric control, supports `v-model`, `min`, `max`, `step`, `precision`, `controls`, `size`, `variant`.
169
181
  - `Textarea`: multi-line control, same as Input plus `rows`.
170
- - `Checkbox`, `Select`, `Autocomplete`, `MultiSelect`, `DatePicker`, `DateRangePicker`, `Pagination`, and `DataTable` also support `variant: 'filled' | 'outlined'`.
182
+ - `Checkbox`, `Select`, `Autocomplete`, `MultiSelect`, `DatePicker`, `DateRangePicker`, `Pagination`, `DataTable`, and `TreeSelect` also support `variant: 'filled' | 'outlined'`.
171
183
 
172
184
  ## FormField
173
185
 
@@ -907,6 +919,57 @@ Component tokens (override via `theme.overrides.components.modal`):
907
919
  - `closeSize`, `closeRadius`, `closeOffset`
908
920
  - `closeColor`, `closeFontSize`, `closeHoverBackgroundColor`
909
921
 
922
+ ## ConfirmDialog
923
+
924
+ Props:
925
+
926
+ - `modelValue?: boolean` (v-model)
927
+ - `title?: string` (default `Confirm action`)
928
+ - `message?: string`
929
+ - `confirmLabel?: string` (default `Confirm`)
930
+ - `cancelLabel?: string` (default `Cancel`)
931
+ - `confirmSeverity?: 'primary' | 'secondary' | 'success' | 'info' | 'warning' | 'danger'` (default `danger`)
932
+ - `loading?: boolean` (default `false`)
933
+ - `closeOnConfirm?: boolean` (default `true`)
934
+ - `size?: 'sm' | 'md' | 'lg'` (default `sm`)
935
+ - `closeOnOverlay?: boolean` (default `true`)
936
+ - `closeOnEsc?: boolean` (default `true`)
937
+ - `showClose?: boolean` (default `true`)
938
+ - `lockScroll?: boolean` (default `true`)
939
+
940
+ Slots:
941
+
942
+ - `default` (optional) - dialog message/body content (fallbacks to `message`)
943
+ - `actions` (optional) - custom action buttons; slot props: `{ confirm, cancel }`
944
+
945
+ Events:
946
+
947
+ - `update:modelValue`
948
+ - `confirm`
949
+ - `cancel`
950
+ - `open`
951
+ - `close`
952
+
953
+ Example:
954
+
955
+ ```vue
956
+ <ConfirmDialog
957
+ v-model="open"
958
+ title="Delete item?"
959
+ message="This action cannot be undone."
960
+ confirm-label="Delete"
961
+ @confirm="removeItem"
962
+ />
963
+ ```
964
+
965
+ ### ConfirmDialog tokens
966
+
967
+ Component tokens (override via `theme.overrides.components.confirmDialog`):
968
+
969
+ - `maxWidth`
970
+ - `messageColor`, `messageFontSize`, `messageLineHeight`
971
+ - `actionsGap`
972
+
910
973
  ## Drawer
911
974
 
912
975
  Props:
@@ -1355,6 +1418,73 @@ Component tokens (override via `theme.overrides.components.tree`):
1355
1418
  - `small.rowPadding`, `small.rowPaddingInline`, `small.rowFontSize`, `small.toggleSize`
1356
1419
  - `large.rowPadding`, `large.rowPaddingInline`, `large.rowFontSize`, `large.toggleSize`
1357
1420
 
1421
+ ## TreeSelect
1422
+
1423
+ Props:
1424
+
1425
+ - `items?: Array<{ key: string | number; label: string; disabled?: boolean; children?: Array<...> }>` (default `[]`)
1426
+ - `modelValue?: string | number | Array<string | number>` (v-model)
1427
+ - `expandedKeys?: Array<string | number>` (`v-model:expandedKeys`)
1428
+ - `multiple?: boolean` (default `false`)
1429
+ - `selectable?: boolean` (default `true`)
1430
+ - `expandOnClick?: boolean` (default `true`)
1431
+ - `placeholder?: string`
1432
+ - `searchPlaceholder?: string` (default `Search...`)
1433
+ - `disabled?: boolean`
1434
+ - `readonly?: boolean`
1435
+ - `loading?: boolean` (default `false`)
1436
+ - `loadingText?: string` (default `Loading...`)
1437
+ - `emptyText?: string` (default `No results`)
1438
+ - `filter?: boolean` (default `true`)
1439
+ - `clearable?: boolean` (default `false`)
1440
+ - `size?: 'small' | 'normal' | 'large'` (default `normal`)
1441
+ - `variant?: 'filled' | 'outlined'` (default `filled`)
1442
+
1443
+ Events:
1444
+
1445
+ - `update:modelValue`
1446
+ - `change`
1447
+ - `update:expandedKeys`
1448
+ - `toggle`
1449
+ - `nodeClick`
1450
+ - `search`
1451
+ - `focus`
1452
+ - `blur`
1453
+
1454
+ Slots:
1455
+
1456
+ - `label` - forwarded Tree node label slot props: `{ node, level, selected, expanded, disabled }`
1457
+
1458
+ Example:
1459
+
1460
+ ```vue
1461
+ <TreeSelect
1462
+ v-model="selectedNode"
1463
+ v-model:expandedKeys="expandedKeys"
1464
+ :items="treeItems"
1465
+ placeholder="Select docs section"
1466
+ clearable
1467
+ />
1468
+ <TreeSelect v-model="selectedMany" :items="treeItems" multiple variant="outlined" />
1469
+ ```
1470
+
1471
+ ### TreeSelect tokens
1472
+
1473
+ Component tokens (override via `theme.overrides.components.treeselect`):
1474
+
1475
+ - `minWidth`, `fontSize`, `controlGap`, `chevronSize`
1476
+ - `padding`, `borderRadius`, `borderColor`
1477
+ - `backgroundColor`, `textColor`, `placeholderColor`
1478
+ - `focusBorderColor`, `focusRingShadow`, `hoverBorderColor`
1479
+ - `disabledOpacity`
1480
+ - `panelBackgroundColor`, `panelBorderColor`, `panelPadding`, `panelMaxHeight`, `panelRadiusOffset`, `panelShadow`
1481
+ - `searchPadding`, `searchBorderColor`, `searchBorderRadius`
1482
+ - `emptyPadding`, `emptyColor`
1483
+ - `loadingPadding`, `loadingColor`
1484
+ - `clearSize`, `clearRadius`, `clearHoverBackgroundColor`
1485
+ - `small.fontSize`, `small.padding`
1486
+ - `large.fontSize`, `large.padding`
1487
+
1358
1488
  ## Tokens
1359
1489
 
1360
1490
  VueForge exposes design tokens as CSS variables generated from the theme preset. Core groups:
@@ -1369,7 +1499,7 @@ VueForge exposes design tokens as CSS variables generated from the theme preset.
1369
1499
  Typed tokens:
1370
1500
 
1371
1501
  - `ThemeTokens`/`ThemeOptions`/`ThemePreset` are exported for type-safe theming in TS.
1372
- - `components.*` accepts component-specific tokens (typed keys: button/card/checkbox/radio/tabs/accordion/toast/alert/input/numberInput/formField/textarea/link/breadcrumbs/menu/modal/drawer/popover/dropdown/select/autocomplete/multiselect/datepicker/daterangepicker/timepicker/pagination/switch/tooltip/skeleton/progress/badge/chip/avatar/datatable/slider/stepper/rating/tree).
1502
+ - `components.*` accepts component-specific tokens (typed keys: button/card/checkbox/radio/tabs/accordion/toast/alert/input/numberInput/formField/textarea/link/breadcrumbs/menu/modal/confirmDialog/drawer/popover/dropdown/select/autocomplete/multiselect/datepicker/daterangepicker/timepicker/pagination/switch/tooltip/skeleton/progress/badge/chip/avatar/datatable/slider/stepper/rating/tree/treeselect).
1373
1503
 
1374
1504
  Default core values (from `DefaultTheme`):
1375
1505