@codemonster-ru/vueforge 0.62.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 +73 -1
- package/dist/index.css +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.ts.mjs +3753 -3504
- package/dist/index.ts.umd.js +3 -3
- package/dist/package/components/__tests__/tour.test.d.ts +1 -0
- package/dist/package/components/tour.vue.d.ts +98 -0
- package/dist/package/config/theme-core.d.ts +40 -0
- package/dist/package/themes/default/components/tour.d.ts +40 -0
- package/dist/package/themes/default/index.d.ts +39 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -81,6 +81,7 @@ import {
|
|
|
81
81
|
SplitButton,
|
|
82
82
|
ContextMenu,
|
|
83
83
|
CommandPalette,
|
|
84
|
+
Tour,
|
|
84
85
|
} from '@codemonster-ru/vueforge';
|
|
85
86
|
import '@codemonster-ru/vueforge/dist/index.css';
|
|
86
87
|
|
|
@@ -221,6 +222,7 @@ app.use(VueForge, {
|
|
|
221
222
|
{ label: 'Save as draft', value: 'draft', group: 'Actions' },
|
|
222
223
|
]"
|
|
223
224
|
/>
|
|
225
|
+
<Tour v-model="tourOpen" :steps="tourSteps" />
|
|
224
226
|
```
|
|
225
227
|
|
|
226
228
|
## Components
|
|
@@ -265,6 +267,7 @@ app.use(VueForge, {
|
|
|
265
267
|
- SplitButton
|
|
266
268
|
- ContextMenu
|
|
267
269
|
- CommandPalette
|
|
270
|
+
- Tour
|
|
268
271
|
- Popover
|
|
269
272
|
- Select
|
|
270
273
|
- Autocomplete
|
|
@@ -310,6 +313,7 @@ Input / InputGroup / Search / Password / Textarea (quick API):
|
|
|
310
313
|
- `MaskedInput`: formatted input control with string/function masks and optional raw output (`unmask`).
|
|
311
314
|
- `NumberInput`: numeric control, supports `v-model`, `min`, `max`, `step`, `precision`, `controls`, `size`, `variant`.
|
|
312
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.
|
|
313
317
|
- `Textarea`: multi-line control, same as Input plus `rows`.
|
|
314
318
|
- `TagInput`: token/tag control, supports `v-model` (array), suggestions, custom tags, `maxTags`, `clearable`, `size`, `variant`.
|
|
315
319
|
- `FilterChips`: compact chip-based filter toggles with single/multiple selection modes and optional clear action.
|
|
@@ -2044,6 +2048,74 @@ Component tokens (override via `theme.overrides.components.commandPalette`):
|
|
|
2044
2048
|
- `shortcutBackgroundColor`, `shortcutTextColor`, `shortcutFontSize`
|
|
2045
2049
|
- `emptyPadding`, `emptyColor`
|
|
2046
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
|
+
|
|
2047
2119
|
## Tooltip
|
|
2048
2120
|
|
|
2049
2121
|
Props:
|
|
@@ -2652,7 +2724,7 @@ VueForge exposes design tokens as CSS variables generated from the theme preset.
|
|
|
2652
2724
|
Typed tokens:
|
|
2653
2725
|
|
|
2654
2726
|
- `ThemeTokens`/`ThemeOptions`/`ThemePreset` are exported for type-safe theming in TS.
|
|
2655
|
-
- `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/splitter/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).
|
|
2656
2728
|
|
|
2657
2729
|
Default core values (from `DefaultTheme`):
|
|
2658
2730
|
|