@codemonster-ru/vueforge 0.61.0 → 0.63.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
@@ -67,6 +67,8 @@ import {
67
67
  Accordion,
68
68
  AccordionItem,
69
69
  Slider,
70
+ Splitter,
71
+ SplitterPanel,
70
72
  Stepper,
71
73
  Timeline,
72
74
  Rating,
@@ -79,6 +81,7 @@ import {
79
81
  SplitButton,
80
82
  ContextMenu,
81
83
  CommandPalette,
84
+ Tour,
82
85
  } from '@codemonster-ru/vueforge';
83
86
  import '@codemonster-ru/vueforge/dist/index.css';
84
87
 
@@ -162,6 +165,10 @@ app.use(VueForge, {
162
165
  clearable
163
166
  />
164
167
  <Slider v-model="volume" :min="0" :max="100" :step="5" show-value />
168
+ <Splitter v-model="splitSizes" style="height: 280px">
169
+ <SplitterPanel :min-size="20">Left panel</SplitterPanel>
170
+ <SplitterPanel :min-size="20">Right panel</SplitterPanel>
171
+ </Splitter>
165
172
  <Stepper v-model="step" :steps="steps" clickable />
166
173
  <Timeline :items="timelineItems" />
167
174
  <Rating v-model="rating" allow-half />
@@ -215,6 +222,7 @@ app.use(VueForge, {
215
222
  { label: 'Save as draft', value: 'draft', group: 'Actions' },
216
223
  ]"
217
224
  />
225
+ <Tour v-model="tourOpen" :steps="tourSteps" />
218
226
  ```
219
227
 
220
228
  ## Components
@@ -259,6 +267,7 @@ app.use(VueForge, {
259
267
  - SplitButton
260
268
  - ContextMenu
261
269
  - CommandPalette
270
+ - Tour
262
271
  - Popover
263
272
  - Select
264
273
  - Autocomplete
@@ -281,6 +290,8 @@ app.use(VueForge, {
281
290
  - FilterChips
282
291
  - Avatar
283
292
  - Slider
293
+ - Splitter
294
+ - SplitterPanel
284
295
  - Stepper
285
296
  - Timeline
286
297
  - Rating
@@ -301,6 +312,8 @@ Input / InputGroup / Search / Password / Textarea (quick API):
301
312
  - `ColorPicker`: color control with presets, optional alpha channel, and output formats (`hex`/`rgb`/`hsl`).
302
313
  - `MaskedInput`: formatted input control with string/function masks and optional raw output (`unmask`).
303
314
  - `NumberInput`: numeric control, supports `v-model`, `min`, `max`, `step`, `precision`, `controls`, `size`, `variant`.
315
+ - `Splitter`: resizable multi-panel container with draggable separators and `v-model` percentage sizes.
316
+ - `Tour`: guided step-by-step onboarding overlay anchored to target elements.
304
317
  - `Textarea`: multi-line control, same as Input plus `rows`.
305
318
  - `TagInput`: token/tag control, supports `v-model` (array), suggestions, custom tags, `maxTags`, `clearable`, `size`, `variant`.
306
319
  - `FilterChips`: compact chip-based filter toggles with single/multiple selection modes and optional clear action.
@@ -2035,6 +2048,74 @@ Component tokens (override via `theme.overrides.components.commandPalette`):
2035
2048
  - `shortcutBackgroundColor`, `shortcutTextColor`, `shortcutFontSize`
2036
2049
  - `emptyPadding`, `emptyColor`
2037
2050
 
2051
+ ## Tour
2052
+
2053
+ Props:
2054
+
2055
+ - `modelValue?: boolean` (v-model)
2056
+ - `steps?: Array<{ target?: string | HTMLElement; title?: string; content?: string; placement?: 'top' | 'bottom' | 'left' | 'right'; offset?: number }>`
2057
+ - `startIndex?: number` (default `0`)
2058
+ - `placement?: 'top' | 'bottom' | 'left' | 'right'` (default `bottom`)
2059
+ - `offset?: number` (default `10`)
2060
+ - `mask?: boolean` (default `true`)
2061
+ - `closeOnOverlay?: boolean` (default `true`)
2062
+ - `closeOnEsc?: boolean` (default `true`)
2063
+ - `showSkip?: boolean` (default `true`)
2064
+ - `showProgress?: boolean` (default `true`)
2065
+ - `spotlightPadding?: number` (default `6`)
2066
+ - `nextLabel?: string` (default `Next`)
2067
+ - `prevLabel?: string` (default `Back`)
2068
+ - `finishLabel?: string` (default `Finish`)
2069
+ - `skipLabel?: string` (default `Skip`)
2070
+ - `ariaLabel?: string` (default `Tour`)
2071
+
2072
+ Slots:
2073
+
2074
+ - `default` - step content with slot props `{ step, index }`
2075
+ - `title` (optional) - step title with slot props `{ step, index }`
2076
+ - `actions` (optional) - custom actions with slot props `{ step, index, isFirst, isLast, prev, next, skip }`
2077
+
2078
+ Events:
2079
+
2080
+ - `update:modelValue`
2081
+ - `open`
2082
+ - `close` (payload reason: `overlay | esc | complete | skip`)
2083
+ - `stepChange`
2084
+ - `next`
2085
+ - `prev`
2086
+ - `complete`
2087
+ - `skip`
2088
+
2089
+ Example:
2090
+
2091
+ ```vue
2092
+ <Tour
2093
+ v-model="tourOpen"
2094
+ :steps="[
2095
+ { target: '#tour-start', title: 'Start', content: 'Launch onboarding here.' },
2096
+ { target: '#tour-search', title: 'Search', content: 'Find projects quickly.', placement: 'bottom' },
2097
+ ]"
2098
+ />
2099
+ ```
2100
+
2101
+ ### Tour tokens
2102
+
2103
+ Component tokens (override via `theme.overrides.components.tour`):
2104
+
2105
+ - `zIndex`, `overlayBackgroundColor`
2106
+ - `width`, `maxWidth`, `padding`
2107
+ - `borderRadius`, `borderColor`
2108
+ - `backgroundColor`, `textColor`, `shadow`
2109
+ - `titleGap`, `titleFontSize`, `titleLineHeight`, `titleFontWeight`
2110
+ - `contentGap`, `contentFontSize`, `contentLineHeight`, `contentColor`
2111
+ - `progressGap`, `progressFontSize`, `progressColor`
2112
+ - `actionsGap`
2113
+ - `buttonMinWidth`, `buttonPadding`, `buttonRadius`
2114
+ - `buttonBorderColor`, `buttonBackgroundColor`, `buttonTextColor`, `buttonHoverBackgroundColor`
2115
+ - `secondaryButtonBorderColor`, `secondaryButtonBackgroundColor`, `secondaryButtonTextColor`, `secondaryButtonHoverBackgroundColor`
2116
+ - `spotlightRadius`, `spotlightBorderWidth`, `spotlightBorderColor`
2117
+ - `disabledOpacity`
2118
+
2038
2119
  ## Tooltip
2039
2120
 
2040
2121
  Props:
@@ -2318,6 +2399,45 @@ Component tokens (override via `theme.overrides.components.slider`):
2318
2399
  - `small.trackHeight`, `small.thumbSize`, `small.valueFontSize`
2319
2400
  - `large.trackHeight`, `large.thumbSize`, `large.valueFontSize`
2320
2401
 
2402
+ ## Splitter / SplitterPanel
2403
+
2404
+ Props (`Splitter`):
2405
+
2406
+ - `modelValue?: number[]` (v-model panel sizes in %)
2407
+ - `minSizes?: number[]` (panel minimum sizes in %)
2408
+ - `direction?: 'horizontal' | 'vertical'` (default `horizontal`)
2409
+ - `gutterSize?: number | string` (default `8`)
2410
+ - `disabled?: boolean` (default `false`)
2411
+
2412
+ Props (`SplitterPanel`):
2413
+
2414
+ - `size?: number` (initial panel size in % when `v-model` is not provided)
2415
+ - `minSize?: number` (minimum panel size in %)
2416
+
2417
+ Events (`Splitter`):
2418
+
2419
+ - `update:modelValue`
2420
+ - `change`
2421
+
2422
+ Example:
2423
+
2424
+ ```vue
2425
+ <Splitter v-model="splitSizes" :min-sizes="[20, 20]" style="height: 280px">
2426
+ <SplitterPanel>Navigation</SplitterPanel>
2427
+ <SplitterPanel>Content</SplitterPanel>
2428
+ </Splitter>
2429
+ ```
2430
+
2431
+ ### Splitter tokens
2432
+
2433
+ Component tokens (override via `theme.overrides.components.splitter`):
2434
+
2435
+ - `borderColor`, `borderRadius`
2436
+ - `panelBackgroundColor`
2437
+ - `handleWidth`, `handleHeight`, `handleRadius`, `handleColor`
2438
+ - `gutterActiveBackgroundColor`
2439
+ - `disabledOpacity`
2440
+
2321
2441
  ## Stepper
2322
2442
 
2323
2443
  Props:
@@ -2604,7 +2724,7 @@ VueForge exposes design tokens as CSS variables generated from the theme preset.
2604
2724
  Typed tokens:
2605
2725
 
2606
2726
  - `ThemeTokens`/`ThemeOptions`/`ThemePreset` are exported for type-safe theming in TS.
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).
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).
2608
2728
 
2609
2729
  Default core values (from `DefaultTheme`):
2610
2730