@codemonster-ru/vueforge 0.53.0 → 0.55.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 +119 -2
- package/dist/index.css +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.ts.mjs +2822 -2577
- package/dist/index.ts.umd.js +3 -3
- package/dist/package/components/__tests__/filter-chips.test.d.ts +1 -0
- package/dist/package/components/__tests__/inline-edit.test.d.ts +1 -0
- package/dist/package/components/filter-chips.vue.d.ts +49 -0
- package/dist/package/components/inline-edit.vue.d.ts +47 -0
- package/dist/package/config/theme-core.d.ts +69 -0
- package/dist/package/themes/default/components/filter-chips.d.ts +34 -0
- package/dist/package/themes/default/components/inline-edit.d.ts +35 -0
- package/dist/package/themes/default/index.d.ts +67 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -27,6 +27,7 @@ import {
|
|
|
27
27
|
DefaultTheme,
|
|
28
28
|
Button,
|
|
29
29
|
Input,
|
|
30
|
+
InlineEdit,
|
|
30
31
|
SearchInput,
|
|
31
32
|
PasswordInput,
|
|
32
33
|
OtpInput,
|
|
@@ -56,6 +57,7 @@ import {
|
|
|
56
57
|
Progress,
|
|
57
58
|
Badge,
|
|
58
59
|
Chip,
|
|
60
|
+
FilterChips,
|
|
59
61
|
Accordion,
|
|
60
62
|
AccordionItem,
|
|
61
63
|
Slider,
|
|
@@ -87,6 +89,7 @@ app.use(VueForge, {
|
|
|
87
89
|
<FormField label="Name" hint="Required field">
|
|
88
90
|
<Input v-model="name" placeholder="Your name" />
|
|
89
91
|
</FormField>
|
|
92
|
+
<InlineEdit v-model="name" placeholder="No name" />
|
|
90
93
|
<SearchInput v-model="query" placeholder="Search components" clearable />
|
|
91
94
|
<PasswordInput v-model="password" placeholder="Enter password" show-strength />
|
|
92
95
|
<OtpInput v-model="otp" :length="6" />
|
|
@@ -121,6 +124,14 @@ app.use(VueForge, {
|
|
|
121
124
|
<Progress :value="64" />
|
|
122
125
|
<Badge label="Beta" />
|
|
123
126
|
<Chip label="New" />
|
|
127
|
+
<FilterChips
|
|
128
|
+
v-model="filters"
|
|
129
|
+
:options="[
|
|
130
|
+
{ label: 'Open', value: 'open' },
|
|
131
|
+
{ label: 'Done', value: 'done' },
|
|
132
|
+
]"
|
|
133
|
+
clearable
|
|
134
|
+
/>
|
|
124
135
|
<Slider v-model="volume" :min="0" :max="100" :step="5" show-value />
|
|
125
136
|
<Stepper v-model="step" :steps="steps" clickable />
|
|
126
137
|
<Rating v-model="rating" allow-half />
|
|
@@ -193,6 +204,7 @@ app.use(VueForge, {
|
|
|
193
204
|
- ToastContainer
|
|
194
205
|
- Alert
|
|
195
206
|
- Input
|
|
207
|
+
- InlineEdit
|
|
196
208
|
- SearchInput
|
|
197
209
|
- PasswordInput
|
|
198
210
|
- OtpInput
|
|
@@ -230,6 +242,7 @@ app.use(VueForge, {
|
|
|
230
242
|
- Progress
|
|
231
243
|
- Badge
|
|
232
244
|
- Chip
|
|
245
|
+
- FilterChips
|
|
233
246
|
- Avatar
|
|
234
247
|
- Slider
|
|
235
248
|
- Stepper
|
|
@@ -241,6 +254,7 @@ app.use(VueForge, {
|
|
|
241
254
|
Input / Search / Password / Textarea (quick API):
|
|
242
255
|
|
|
243
256
|
- `Input`: single-line control, supports `v-model`, `size`, `variant`, `disabled`, `readonly`.
|
|
257
|
+
- `InlineEdit`: inline value editing with view/edit states, save/cancel actions, and text/number modes.
|
|
244
258
|
- `SearchInput`: search-focused control with `debounce`, `clearable`, `loading`, `size`, and `variant`.
|
|
245
259
|
- `PasswordInput`: password control, supports visibility toggle, strength meter, CapsLock hint, `size`, and `variant`.
|
|
246
260
|
- `OtpInput`: one-time code control, supports fixed length, paste handling, numeric/alphanumeric modes, `size`, and `variant`.
|
|
@@ -249,7 +263,8 @@ Input / Search / Password / Textarea (quick API):
|
|
|
249
263
|
- `NumberInput`: numeric control, supports `v-model`, `min`, `max`, `step`, `precision`, `controls`, `size`, `variant`.
|
|
250
264
|
- `Textarea`: multi-line control, same as Input plus `rows`.
|
|
251
265
|
- `TagInput`: token/tag control, supports `v-model` (array), suggestions, custom tags, `maxTags`, `clearable`, `size`, `variant`.
|
|
252
|
-
- `
|
|
266
|
+
- `FilterChips`: compact chip-based filter toggles with single/multiple selection modes and optional clear action.
|
|
267
|
+
- `SearchInput`, `InlineEdit`, `OtpInput`, `ColorPicker`, `MaskedInput`, `Checkbox`, `Select`, `Autocomplete`, `MultiSelect`, `TagInput`, `DatePicker`, `Calendar`, `DateRangePicker`, `DateTimePicker`, `Pagination`, `DataTable`, `SegmentedControl`, and `TreeSelect` also support `variant: 'filled' | 'outlined'`.
|
|
253
268
|
|
|
254
269
|
## FormField
|
|
255
270
|
|
|
@@ -280,6 +295,53 @@ Example:
|
|
|
280
295
|
</FormField>
|
|
281
296
|
```
|
|
282
297
|
|
|
298
|
+
## InlineEdit
|
|
299
|
+
|
|
300
|
+
Props:
|
|
301
|
+
|
|
302
|
+
- `modelValue?: string | number | null` (v-model)
|
|
303
|
+
- `type?: 'text' | 'number'` (default `text`)
|
|
304
|
+
- `placeholder?: string`
|
|
305
|
+
- `disabled?: boolean`
|
|
306
|
+
- `readonly?: boolean`
|
|
307
|
+
- `size?: 'small' | 'normal' | 'large'` (default `normal`)
|
|
308
|
+
- `variant?: 'filled' | 'outlined'` (default `filled`)
|
|
309
|
+
- `editLabel?: string` (default `Edit`)
|
|
310
|
+
- `saveLabel?: string` (default `Save`)
|
|
311
|
+
- `cancelLabel?: string` (default `Cancel`)
|
|
312
|
+
|
|
313
|
+
Events:
|
|
314
|
+
|
|
315
|
+
- `update:modelValue`
|
|
316
|
+
- `save`
|
|
317
|
+
- `cancel`
|
|
318
|
+
- `start`
|
|
319
|
+
- `end`
|
|
320
|
+
- `focus`
|
|
321
|
+
- `blur`
|
|
322
|
+
|
|
323
|
+
Example:
|
|
324
|
+
|
|
325
|
+
```vue
|
|
326
|
+
<InlineEdit v-model="projectName" placeholder="No project name" />
|
|
327
|
+
<InlineEdit v-model="budget" type="number" variant="outlined" />
|
|
328
|
+
```
|
|
329
|
+
|
|
330
|
+
### InlineEdit tokens
|
|
331
|
+
|
|
332
|
+
Component tokens (override via `theme.overrides.components.inlineEdit`):
|
|
333
|
+
|
|
334
|
+
- `gap`, `fontSize`, `padding`
|
|
335
|
+
- `borderRadius`, `borderColor`
|
|
336
|
+
- `backgroundColor`, `textColor`, `placeholderColor`
|
|
337
|
+
- `focusBorderColor`, `focusRingShadow`, `hoverBorderColor`, `disabledOpacity`
|
|
338
|
+
- `actionsGap`
|
|
339
|
+
- `buttonPadding`, `buttonRadius`, `buttonBorderColor`
|
|
340
|
+
- `buttonBackgroundColor`, `buttonTextColor`, `buttonHoverBackgroundColor`
|
|
341
|
+
- `cancelButtonBackgroundColor`, `cancelButtonTextColor`, `cancelButtonBorderColor`
|
|
342
|
+
- `small.fontSize`, `small.padding`, `small.buttonPadding`
|
|
343
|
+
- `large.fontSize`, `large.padding`, `large.buttonPadding`
|
|
344
|
+
|
|
283
345
|
Note: default filled backgrounds for Input/Select/Textarea use `controls.backgroundColor` (defaults to `bgSoftColor`). Set it to `bgColor` to disable soft backgrounds.
|
|
284
346
|
|
|
285
347
|
## Autocomplete
|
|
@@ -1799,6 +1861,61 @@ Component tokens (override via `theme.overrides.components.chip`):
|
|
|
1799
1861
|
- `small.fontSize`, `small.paddingX`, `small.paddingY`
|
|
1800
1862
|
- `large.fontSize`, `large.paddingX`, `large.paddingY`
|
|
1801
1863
|
|
|
1864
|
+
## FilterChips
|
|
1865
|
+
|
|
1866
|
+
Props:
|
|
1867
|
+
|
|
1868
|
+
- `modelValue?: string | number | Array<string | number> | null` (v-model)
|
|
1869
|
+
- `options?: Array<{ label: string; value: string | number; disabled?: boolean; count?: number }>` (default `[]`)
|
|
1870
|
+
- `multiple?: boolean` (default `true`)
|
|
1871
|
+
- `allowEmpty?: boolean` (default `true`, used in single mode)
|
|
1872
|
+
- `clearable?: boolean` (default `false`)
|
|
1873
|
+
- `clearText?: string` (default `Clear`)
|
|
1874
|
+
- `clearLabel?: string` (default `Clear filters`)
|
|
1875
|
+
- `disabled?: boolean`
|
|
1876
|
+
- `wrap?: boolean` (default `true`)
|
|
1877
|
+
- `size?: 'small' | 'normal' | 'large'` (default `normal`)
|
|
1878
|
+
- `variant?: 'soft' | 'outline' | 'solid'` (default `soft`)
|
|
1879
|
+
- `ariaLabel?: string`
|
|
1880
|
+
- `ariaLabelledby?: string`
|
|
1881
|
+
|
|
1882
|
+
Events:
|
|
1883
|
+
|
|
1884
|
+
- `update:modelValue`
|
|
1885
|
+
- `change`
|
|
1886
|
+
- `clear`
|
|
1887
|
+
|
|
1888
|
+
Example:
|
|
1889
|
+
|
|
1890
|
+
```vue
|
|
1891
|
+
<FilterChips
|
|
1892
|
+
v-model="activeFilters"
|
|
1893
|
+
:options="[
|
|
1894
|
+
{ label: 'Open', value: 'open', count: 12 },
|
|
1895
|
+
{ label: 'In progress', value: 'progress', count: 7 },
|
|
1896
|
+
{ label: 'Done', value: 'done', count: 18 },
|
|
1897
|
+
]"
|
|
1898
|
+
clearable
|
|
1899
|
+
/>
|
|
1900
|
+
<FilterChips v-model="activeStatus" :options="statusOptions" :multiple="false" variant="outline" />
|
|
1901
|
+
```
|
|
1902
|
+
|
|
1903
|
+
### FilterChips tokens
|
|
1904
|
+
|
|
1905
|
+
Component tokens (override via `theme.overrides.components.filterChips`):
|
|
1906
|
+
|
|
1907
|
+
- `fontSize`, `gap`
|
|
1908
|
+
- `chipGap`, `chipPadding`, `chipBorderRadius`
|
|
1909
|
+
- `chipBorderColor`, `chipBackgroundColor`, `chipTextColor`
|
|
1910
|
+
- `chipHoverBackgroundColor`, `chipHoverBorderColor`
|
|
1911
|
+
- `chipActiveBackgroundColor`, `chipActiveBorderColor`, `chipActiveTextColor`
|
|
1912
|
+
- `chipSolidActiveBackgroundColor`, `chipSolidActiveBorderColor`, `chipSolidActiveTextColor`
|
|
1913
|
+
- `countPadding`, `countFontSize`, `countBackgroundColor`, `countTextColor`
|
|
1914
|
+
- `countActiveBackgroundColor`, `countActiveTextColor`
|
|
1915
|
+
- `disabledOpacity`
|
|
1916
|
+
- `small.fontSize`, `small.chipPadding`
|
|
1917
|
+
- `large.fontSize`, `large.chipPadding`
|
|
1918
|
+
|
|
1802
1919
|
## Avatar
|
|
1803
1920
|
|
|
1804
1921
|
Props:
|
|
@@ -2154,7 +2271,7 @@ VueForge exposes design tokens as CSS variables generated from the theme preset.
|
|
|
2154
2271
|
Typed tokens:
|
|
2155
2272
|
|
|
2156
2273
|
- `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).
|
|
2274
|
+
- `components.*` accepts component-specific tokens (typed keys: button/card/checkbox/radio/tabs/accordion/toast/alert/input/inlineEdit/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
2275
|
|
|
2159
2276
|
Default core values (from `DefaultTheme`):
|
|
2160
2277
|
|