@codemonster-ru/vueforge 0.53.0 → 0.54.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
@@ -56,6 +56,7 @@ import {
56
56
  Progress,
57
57
  Badge,
58
58
  Chip,
59
+ FilterChips,
59
60
  Accordion,
60
61
  AccordionItem,
61
62
  Slider,
@@ -121,6 +122,14 @@ app.use(VueForge, {
121
122
  <Progress :value="64" />
122
123
  <Badge label="Beta" />
123
124
  <Chip label="New" />
125
+ <FilterChips
126
+ v-model="filters"
127
+ :options="[
128
+ { label: 'Open', value: 'open' },
129
+ { label: 'Done', value: 'done' },
130
+ ]"
131
+ clearable
132
+ />
124
133
  <Slider v-model="volume" :min="0" :max="100" :step="5" show-value />
125
134
  <Stepper v-model="step" :steps="steps" clickable />
126
135
  <Rating v-model="rating" allow-half />
@@ -230,6 +239,7 @@ app.use(VueForge, {
230
239
  - Progress
231
240
  - Badge
232
241
  - Chip
242
+ - FilterChips
233
243
  - Avatar
234
244
  - Slider
235
245
  - Stepper
@@ -249,6 +259,7 @@ Input / Search / Password / Textarea (quick API):
249
259
  - `NumberInput`: numeric control, supports `v-model`, `min`, `max`, `step`, `precision`, `controls`, `size`, `variant`.
250
260
  - `Textarea`: multi-line control, same as Input plus `rows`.
251
261
  - `TagInput`: token/tag control, supports `v-model` (array), suggestions, custom tags, `maxTags`, `clearable`, `size`, `variant`.
262
+ - `FilterChips`: compact chip-based filter toggles with single/multiple selection modes and optional clear action.
252
263
  - `SearchInput`, `OtpInput`, `ColorPicker`, `MaskedInput`, `Checkbox`, `Select`, `Autocomplete`, `MultiSelect`, `TagInput`, `DatePicker`, `Calendar`, `DateRangePicker`, `DateTimePicker`, `Pagination`, `DataTable`, `SegmentedControl`, and `TreeSelect` also support `variant: 'filled' | 'outlined'`.
253
264
 
254
265
  ## FormField
@@ -1799,6 +1810,61 @@ Component tokens (override via `theme.overrides.components.chip`):
1799
1810
  - `small.fontSize`, `small.paddingX`, `small.paddingY`
1800
1811
  - `large.fontSize`, `large.paddingX`, `large.paddingY`
1801
1812
 
1813
+ ## FilterChips
1814
+
1815
+ Props:
1816
+
1817
+ - `modelValue?: string | number | Array<string | number> | null` (v-model)
1818
+ - `options?: Array<{ label: string; value: string | number; disabled?: boolean; count?: number }>` (default `[]`)
1819
+ - `multiple?: boolean` (default `true`)
1820
+ - `allowEmpty?: boolean` (default `true`, used in single mode)
1821
+ - `clearable?: boolean` (default `false`)
1822
+ - `clearText?: string` (default `Clear`)
1823
+ - `clearLabel?: string` (default `Clear filters`)
1824
+ - `disabled?: boolean`
1825
+ - `wrap?: boolean` (default `true`)
1826
+ - `size?: 'small' | 'normal' | 'large'` (default `normal`)
1827
+ - `variant?: 'soft' | 'outline' | 'solid'` (default `soft`)
1828
+ - `ariaLabel?: string`
1829
+ - `ariaLabelledby?: string`
1830
+
1831
+ Events:
1832
+
1833
+ - `update:modelValue`
1834
+ - `change`
1835
+ - `clear`
1836
+
1837
+ Example:
1838
+
1839
+ ```vue
1840
+ <FilterChips
1841
+ v-model="activeFilters"
1842
+ :options="[
1843
+ { label: 'Open', value: 'open', count: 12 },
1844
+ { label: 'In progress', value: 'progress', count: 7 },
1845
+ { label: 'Done', value: 'done', count: 18 },
1846
+ ]"
1847
+ clearable
1848
+ />
1849
+ <FilterChips v-model="activeStatus" :options="statusOptions" :multiple="false" variant="outline" />
1850
+ ```
1851
+
1852
+ ### FilterChips tokens
1853
+
1854
+ Component tokens (override via `theme.overrides.components.filterChips`):
1855
+
1856
+ - `fontSize`, `gap`
1857
+ - `chipGap`, `chipPadding`, `chipBorderRadius`
1858
+ - `chipBorderColor`, `chipBackgroundColor`, `chipTextColor`
1859
+ - `chipHoverBackgroundColor`, `chipHoverBorderColor`
1860
+ - `chipActiveBackgroundColor`, `chipActiveBorderColor`, `chipActiveTextColor`
1861
+ - `chipSolidActiveBackgroundColor`, `chipSolidActiveBorderColor`, `chipSolidActiveTextColor`
1862
+ - `countPadding`, `countFontSize`, `countBackgroundColor`, `countTextColor`
1863
+ - `countActiveBackgroundColor`, `countActiveTextColor`
1864
+ - `disabledOpacity`
1865
+ - `small.fontSize`, `small.chipPadding`
1866
+ - `large.fontSize`, `large.chipPadding`
1867
+
1802
1868
  ## Avatar
1803
1869
 
1804
1870
  Props:
@@ -2154,7 +2220,7 @@ VueForge exposes design tokens as CSS variables generated from the theme preset.
2154
2220
  Typed tokens:
2155
2221
 
2156
2222
  - `ThemeTokens`/`ThemeOptions`/`ThemePreset` are exported for type-safe theming in TS.
2157
- - `components.*` accepts component-specific tokens (typed keys: button/card/checkbox/radio/tabs/accordion/toast/alert/input/searchInput/passwordInput/otpInput/colorPicker/maskedInput/numberInput/formField/textarea/link/breadcrumbs/menu/modal/confirmDialog/drawer/popover/dropdown/contextMenu/commandPalette/select/autocomplete/multiselect/taginput/datepicker/calendar/daterangepicker/timepicker/datetimepicker/pagination/switch/segmentedControl/tooltip/skeleton/progress/badge/chip/avatar/datatable/slider/stepper/rating/tree/treeselect/virtualScroller).
2223
+ - `components.*` accepts component-specific tokens (typed keys: button/card/checkbox/radio/tabs/accordion/toast/alert/input/searchInput/passwordInput/otpInput/colorPicker/maskedInput/numberInput/formField/textarea/link/breadcrumbs/menu/modal/confirmDialog/drawer/popover/dropdown/contextMenu/commandPalette/select/autocomplete/multiselect/taginput/datepicker/calendar/daterangepicker/timepicker/datetimepicker/pagination/switch/segmentedControl/tooltip/skeleton/progress/badge/chip/filterChips/avatar/datatable/slider/stepper/rating/tree/treeselect/virtualScroller).
2158
2224
 
2159
2225
  Default core values (from `DefaultTheme`):
2160
2226