@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 +121 -1
- package/dist/index.css +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.ts.mjs +4806 -4316
- package/dist/index.ts.umd.js +3 -3
- package/dist/package/components/__tests__/splitter.test.d.ts +1 -0
- package/dist/package/components/__tests__/tour.test.d.ts +1 -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/components/tour.vue.d.ts +98 -0
- package/dist/package/config/theme-core.d.ts +52 -0
- package/dist/package/themes/default/components/splitter.d.ts +12 -0
- package/dist/package/themes/default/components/tour.d.ts +40 -0
- package/dist/package/themes/default/index.d.ts +50 -0
- package/package.json +1 -1
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
|
|