@codemonster-ru/vueforge 0.50.0 → 0.52.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 +99 -3
- package/dist/index.css +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.ts.mjs +3130 -2826
- package/dist/index.ts.umd.js +3 -3
- package/dist/package/components/__tests__/calendar.test.d.ts +1 -0
- package/dist/package/components/__tests__/search-input.test.d.ts +1 -0
- package/dist/package/components/calendar.vue.d.ts +31 -0
- package/dist/package/components/multi-select.vue.d.ts +1 -1
- package/dist/package/components/otp-input.vue.d.ts +1 -1
- package/dist/package/components/password-input.vue.d.ts +1 -1
- package/dist/package/components/search-input.vue.d.ts +45 -0
- package/dist/package/components/tag-input.vue.d.ts +1 -1
- package/dist/package/components/tree-select.vue.d.ts +1 -1
- package/dist/package/config/theme-core.d.ts +75 -0
- package/dist/package/themes/default/components/calendar.d.ts +40 -0
- package/dist/package/themes/default/components/search-input.d.ts +35 -0
- package/dist/package/themes/default/index.d.ts +73 -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
|
+
SearchInput,
|
|
30
31
|
PasswordInput,
|
|
31
32
|
OtpInput,
|
|
32
33
|
ColorPicker,
|
|
@@ -41,6 +42,7 @@ import {
|
|
|
41
42
|
MultiSelect,
|
|
42
43
|
TagInput,
|
|
43
44
|
DatePicker,
|
|
45
|
+
Calendar,
|
|
44
46
|
DateRangePicker,
|
|
45
47
|
TimePicker,
|
|
46
48
|
DateTimePicker,
|
|
@@ -84,6 +86,7 @@ app.use(VueForge, {
|
|
|
84
86
|
<FormField label="Name" hint="Required field">
|
|
85
87
|
<Input v-model="name" placeholder="Your name" />
|
|
86
88
|
</FormField>
|
|
89
|
+
<SearchInput v-model="query" placeholder="Search components" clearable />
|
|
87
90
|
<PasswordInput v-model="password" placeholder="Enter password" show-strength />
|
|
88
91
|
<OtpInput v-model="otp" :length="6" />
|
|
89
92
|
<ColorPicker v-model="brandColor" :presets="['#2b6cb0', '#0cbc87', '#d6293e']" />
|
|
@@ -97,6 +100,7 @@ app.use(VueForge, {
|
|
|
97
100
|
<MultiSelect v-model="countries" :options="countryOptions" placeholder="Select countries" clearable />
|
|
98
101
|
<TagInput v-model="skills" :options="skillOptions" placeholder="Add skills" clearable />
|
|
99
102
|
<DatePicker v-model="birthday" placeholder="Pick birthday" />
|
|
103
|
+
<Calendar v-model="selectedDate" />
|
|
100
104
|
<DateRangePicker v-model="range" placeholder="Pick range" />
|
|
101
105
|
<TimePicker v-model="meetingTime" placeholder="Pick time" />
|
|
102
106
|
<DateTimePicker v-model="meetingAt" placeholder="Pick date and time" />
|
|
@@ -180,6 +184,7 @@ app.use(VueForge, {
|
|
|
180
184
|
- ToastContainer
|
|
181
185
|
- Alert
|
|
182
186
|
- Input
|
|
187
|
+
- SearchInput
|
|
183
188
|
- PasswordInput
|
|
184
189
|
- OtpInput
|
|
185
190
|
- ColorPicker
|
|
@@ -204,6 +209,7 @@ app.use(VueForge, {
|
|
|
204
209
|
- MultiSelect
|
|
205
210
|
- TagInput
|
|
206
211
|
- DatePicker
|
|
212
|
+
- Calendar
|
|
207
213
|
- DateRangePicker
|
|
208
214
|
- TimePicker
|
|
209
215
|
- DateTimePicker
|
|
@@ -223,9 +229,10 @@ app.use(VueForge, {
|
|
|
223
229
|
- TreeSelect
|
|
224
230
|
- VirtualScroller
|
|
225
231
|
|
|
226
|
-
Input / Password / Textarea (quick API):
|
|
232
|
+
Input / Search / Password / Textarea (quick API):
|
|
227
233
|
|
|
228
234
|
- `Input`: single-line control, supports `v-model`, `size`, `variant`, `disabled`, `readonly`.
|
|
235
|
+
- `SearchInput`: search-focused control with `debounce`, `clearable`, `loading`, `size`, and `variant`.
|
|
229
236
|
- `PasswordInput`: password control, supports visibility toggle, strength meter, CapsLock hint, `size`, and `variant`.
|
|
230
237
|
- `OtpInput`: one-time code control, supports fixed length, paste handling, numeric/alphanumeric modes, `size`, and `variant`.
|
|
231
238
|
- `ColorPicker`: color control with presets, optional alpha channel, and output formats (`hex`/`rgb`/`hsl`).
|
|
@@ -233,7 +240,7 @@ Input / Password / Textarea (quick API):
|
|
|
233
240
|
- `NumberInput`: numeric control, supports `v-model`, `min`, `max`, `step`, `precision`, `controls`, `size`, `variant`.
|
|
234
241
|
- `Textarea`: multi-line control, same as Input plus `rows`.
|
|
235
242
|
- `TagInput`: token/tag control, supports `v-model` (array), suggestions, custom tags, `maxTags`, `clearable`, `size`, `variant`.
|
|
236
|
-
- `OtpInput`, `ColorPicker`, `MaskedInput`, `Checkbox`, `Select`, `Autocomplete`, `MultiSelect`, `TagInput`, `DatePicker`, `DateRangePicker`, `DateTimePicker`, `Pagination`, `DataTable`, and `TreeSelect` also support `variant: 'filled' | 'outlined'`.
|
|
243
|
+
- `SearchInput`, `OtpInput`, `ColorPicker`, `MaskedInput`, `Checkbox`, `Select`, `Autocomplete`, `MultiSelect`, `TagInput`, `DatePicker`, `Calendar`, `DateRangePicker`, `DateTimePicker`, `Pagination`, `DataTable`, and `TreeSelect` also support `variant: 'filled' | 'outlined'`.
|
|
237
244
|
|
|
238
245
|
## FormField
|
|
239
246
|
|
|
@@ -439,6 +446,48 @@ Example:
|
|
|
439
446
|
<DatePicker v-model="startDate" placeholder="Pick date" min="2026-01-01" max="2026-12-31" />
|
|
440
447
|
```
|
|
441
448
|
|
|
449
|
+
## Calendar
|
|
450
|
+
|
|
451
|
+
Props:
|
|
452
|
+
|
|
453
|
+
- `modelValue?: string` (v-model, ISO date `YYYY-MM-DD`)
|
|
454
|
+
- `disabled?: boolean`
|
|
455
|
+
- `readonly?: boolean`
|
|
456
|
+
- `min?: string` (ISO date `YYYY-MM-DD`)
|
|
457
|
+
- `max?: string` (ISO date `YYYY-MM-DD`)
|
|
458
|
+
- `locale?: string` (default `en-US`)
|
|
459
|
+
- `firstDayOfWeek?: number` (default `0`, Sunday)
|
|
460
|
+
- `size?: 'small' | 'normal' | 'large'` (default `normal`)
|
|
461
|
+
- `variant?: 'filled' | 'outlined'` (default `filled`)
|
|
462
|
+
|
|
463
|
+
Events:
|
|
464
|
+
|
|
465
|
+
- `update:modelValue`
|
|
466
|
+
- `change`
|
|
467
|
+
|
|
468
|
+
Example:
|
|
469
|
+
|
|
470
|
+
```vue
|
|
471
|
+
<Calendar v-model="selectedDate" min="2026-01-01" max="2026-12-31" />
|
|
472
|
+
<Calendar v-model="selectedDateAlt" variant="outlined" :first-day-of-week="1" />
|
|
473
|
+
```
|
|
474
|
+
|
|
475
|
+
### Calendar tokens
|
|
476
|
+
|
|
477
|
+
Component tokens (override via `theme.overrides.components.calendar`):
|
|
478
|
+
|
|
479
|
+
- `width`, `fontSize`, `padding`
|
|
480
|
+
- `borderRadius`, `borderColor`
|
|
481
|
+
- `backgroundColor`, `textColor`
|
|
482
|
+
- `disabledOpacity`
|
|
483
|
+
- `headerGap`, `headerPadding`, `monthLabelFontSize`, `monthLabelFontWeight`
|
|
484
|
+
- `navButtonSize`, `navButtonRadius`, `navButtonFontSize`
|
|
485
|
+
- `weekdayColor`, `weekdayFontSize`, `weekdaysMarginBottom`
|
|
486
|
+
- `daysGap`, `daySize`, `dayFontSize`, `dayBorderRadius`
|
|
487
|
+
- `dayHoverBackgroundColor`, `daySelectedBackgroundColor`, `daySelectedTextColor`, `dayMutedColor`, `dayTodayBorderColor`
|
|
488
|
+
- `small.fontSize`, `small.padding`, `small.daySize`
|
|
489
|
+
- `large.fontSize`, `large.padding`, `large.daySize`
|
|
490
|
+
|
|
442
491
|
## DateRangePicker
|
|
443
492
|
|
|
444
493
|
Props:
|
|
@@ -758,6 +807,53 @@ Component tokens (override via `theme.overrides.components.fileUpload`):
|
|
|
758
807
|
- `small.fontSize`, `small.padding`, `small.buttonPadding`
|
|
759
808
|
- `large.fontSize`, `large.padding`, `large.buttonPadding`
|
|
760
809
|
|
|
810
|
+
## SearchInput
|
|
811
|
+
|
|
812
|
+
Props:
|
|
813
|
+
|
|
814
|
+
- `modelValue?: string` (v-model)
|
|
815
|
+
- `placeholder?: string`
|
|
816
|
+
- `disabled?: boolean`
|
|
817
|
+
- `readonly?: boolean`
|
|
818
|
+
- `debounce?: number` (default `300`)
|
|
819
|
+
- `loading?: boolean` (default `false`)
|
|
820
|
+
- `clearable?: boolean` (default `false`)
|
|
821
|
+
- `size?: 'small' | 'normal' | 'large'` (default `normal`)
|
|
822
|
+
- `variant?: 'filled' | 'outlined'` (default `filled`)
|
|
823
|
+
- `ariaLabel?: string` (default `Search input`)
|
|
824
|
+
|
|
825
|
+
Events:
|
|
826
|
+
|
|
827
|
+
- `update:modelValue`
|
|
828
|
+
- `input`
|
|
829
|
+
- `change`
|
|
830
|
+
- `search`
|
|
831
|
+
- `clear`
|
|
832
|
+
- `focus`
|
|
833
|
+
- `blur`
|
|
834
|
+
|
|
835
|
+
Example:
|
|
836
|
+
|
|
837
|
+
```vue
|
|
838
|
+
<SearchInput v-model="query" placeholder="Search..." clearable />
|
|
839
|
+
<SearchInput v-model="query" placeholder="Search..." :debounce="500" loading variant="outlined" />
|
|
840
|
+
```
|
|
841
|
+
|
|
842
|
+
### SearchInput tokens
|
|
843
|
+
|
|
844
|
+
Component tokens (override via `theme.overrides.components.searchInput`):
|
|
845
|
+
|
|
846
|
+
- `gap`, `fontSize`, `padding`
|
|
847
|
+
- `borderRadius`, `borderColor`
|
|
848
|
+
- `backgroundColor`, `textColor`, `placeholderColor`
|
|
849
|
+
- `focusBorderColor`, `focusRingShadow`, `hoverBorderColor`
|
|
850
|
+
- `disabledOpacity`
|
|
851
|
+
- `iconSize`, `iconColor`
|
|
852
|
+
- `clearSize`, `clearRadius`, `clearHoverBackgroundColor`
|
|
853
|
+
- `loadingSize`, `loadingBorderColor`, `loadingTopBorderColor`
|
|
854
|
+
- `small.fontSize`, `small.padding`, `small.iconSize`, `small.clearSize`
|
|
855
|
+
- `large.fontSize`, `large.padding`, `large.iconSize`, `large.clearSize`
|
|
856
|
+
|
|
761
857
|
## NumberInput
|
|
762
858
|
|
|
763
859
|
Props:
|
|
@@ -2004,7 +2100,7 @@ VueForge exposes design tokens as CSS variables generated from the theme preset.
|
|
|
2004
2100
|
Typed tokens:
|
|
2005
2101
|
|
|
2006
2102
|
- `ThemeTokens`/`ThemeOptions`/`ThemePreset` are exported for type-safe theming in TS.
|
|
2007
|
-
- `components.*` accepts component-specific tokens (typed keys: button/card/checkbox/radio/tabs/accordion/toast/alert/input/passwordInput/otpInput/colorPicker/maskedInput/numberInput/formField/textarea/link/breadcrumbs/menu/modal/confirmDialog/drawer/popover/dropdown/contextMenu/commandPalette/select/autocomplete/multiselect/taginput/datepicker/daterangepicker/timepicker/datetimepicker/pagination/switch/tooltip/skeleton/progress/badge/chip/avatar/datatable/slider/stepper/rating/tree/treeselect/virtualScroller).
|
|
2103
|
+
- `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/tooltip/skeleton/progress/badge/chip/avatar/datatable/slider/stepper/rating/tree/treeselect/virtualScroller).
|
|
2008
2104
|
|
|
2009
2105
|
Default core values (from `DefaultTheme`):
|
|
2010
2106
|
|