@codemonster-ru/vueforge 0.61.0 → 0.62.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,
@@ -162,6 +164,10 @@ app.use(VueForge, {
162
164
  clearable
163
165
  />
164
166
  <Slider v-model="volume" :min="0" :max="100" :step="5" show-value />
167
+ <Splitter v-model="splitSizes" style="height: 280px">
168
+ <SplitterPanel :min-size="20">Left panel</SplitterPanel>
169
+ <SplitterPanel :min-size="20">Right panel</SplitterPanel>
170
+ </Splitter>
165
171
  <Stepper v-model="step" :steps="steps" clickable />
166
172
  <Timeline :items="timelineItems" />
167
173
  <Rating v-model="rating" allow-half />
@@ -281,6 +287,8 @@ app.use(VueForge, {
281
287
  - FilterChips
282
288
  - Avatar
283
289
  - Slider
290
+ - Splitter
291
+ - SplitterPanel
284
292
  - Stepper
285
293
  - Timeline
286
294
  - Rating
@@ -301,6 +309,7 @@ Input / InputGroup / Search / Password / Textarea (quick API):
301
309
  - `ColorPicker`: color control with presets, optional alpha channel, and output formats (`hex`/`rgb`/`hsl`).
302
310
  - `MaskedInput`: formatted input control with string/function masks and optional raw output (`unmask`).
303
311
  - `NumberInput`: numeric control, supports `v-model`, `min`, `max`, `step`, `precision`, `controls`, `size`, `variant`.
312
+ - `Splitter`: resizable multi-panel container with draggable separators and `v-model` percentage sizes.
304
313
  - `Textarea`: multi-line control, same as Input plus `rows`.
305
314
  - `TagInput`: token/tag control, supports `v-model` (array), suggestions, custom tags, `maxTags`, `clearable`, `size`, `variant`.
306
315
  - `FilterChips`: compact chip-based filter toggles with single/multiple selection modes and optional clear action.
@@ -2318,6 +2327,45 @@ Component tokens (override via `theme.overrides.components.slider`):
2318
2327
  - `small.trackHeight`, `small.thumbSize`, `small.valueFontSize`
2319
2328
  - `large.trackHeight`, `large.thumbSize`, `large.valueFontSize`
2320
2329
 
2330
+ ## Splitter / SplitterPanel
2331
+
2332
+ Props (`Splitter`):
2333
+
2334
+ - `modelValue?: number[]` (v-model panel sizes in %)
2335
+ - `minSizes?: number[]` (panel minimum sizes in %)
2336
+ - `direction?: 'horizontal' | 'vertical'` (default `horizontal`)
2337
+ - `gutterSize?: number | string` (default `8`)
2338
+ - `disabled?: boolean` (default `false`)
2339
+
2340
+ Props (`SplitterPanel`):
2341
+
2342
+ - `size?: number` (initial panel size in % when `v-model` is not provided)
2343
+ - `minSize?: number` (minimum panel size in %)
2344
+
2345
+ Events (`Splitter`):
2346
+
2347
+ - `update:modelValue`
2348
+ - `change`
2349
+
2350
+ Example:
2351
+
2352
+ ```vue
2353
+ <Splitter v-model="splitSizes" :min-sizes="[20, 20]" style="height: 280px">
2354
+ <SplitterPanel>Navigation</SplitterPanel>
2355
+ <SplitterPanel>Content</SplitterPanel>
2356
+ </Splitter>
2357
+ ```
2358
+
2359
+ ### Splitter tokens
2360
+
2361
+ Component tokens (override via `theme.overrides.components.splitter`):
2362
+
2363
+ - `borderColor`, `borderRadius`
2364
+ - `panelBackgroundColor`
2365
+ - `handleWidth`, `handleHeight`, `handleRadius`, `handleColor`
2366
+ - `gutterActiveBackgroundColor`
2367
+ - `disabledOpacity`
2368
+
2321
2369
  ## Stepper
2322
2370
 
2323
2371
  Props:
@@ -2604,7 +2652,7 @@ VueForge exposes design tokens as CSS variables generated from the theme preset.
2604
2652
  Typed tokens:
2605
2653
 
2606
2654
  - `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).
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).
2608
2656
 
2609
2657
  Default core values (from `DefaultTheme`):
2610
2658