@codemonster-ru/vueforge 0.48.0 → 0.50.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 +110 -2
- package/dist/index.css +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.ts.mjs +3756 -3221
- package/dist/index.ts.umd.js +3 -3
- package/dist/package/components/__tests__/datetimepicker.test.d.ts +1 -0
- package/dist/package/components/__tests__/masked-input.test.d.ts +1 -0
- package/dist/package/components/datetimepicker.vue.d.ts +46 -0
- package/dist/package/components/masked-input.vue.d.ts +60 -0
- package/dist/package/config/theme-core.d.ts +86 -0
- package/dist/package/themes/default/components/datetimepicker.d.ts +63 -0
- package/dist/package/themes/default/components/masked-input.d.ts +23 -0
- package/dist/package/themes/default/index.d.ts +84 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -30,6 +30,7 @@ import {
|
|
|
30
30
|
PasswordInput,
|
|
31
31
|
OtpInput,
|
|
32
32
|
ColorPicker,
|
|
33
|
+
MaskedInput,
|
|
33
34
|
NumberInput,
|
|
34
35
|
FormField,
|
|
35
36
|
Textarea,
|
|
@@ -42,6 +43,7 @@ import {
|
|
|
42
43
|
DatePicker,
|
|
43
44
|
DateRangePicker,
|
|
44
45
|
TimePicker,
|
|
46
|
+
DateTimePicker,
|
|
45
47
|
Pagination,
|
|
46
48
|
DataTable,
|
|
47
49
|
Checkbox,
|
|
@@ -85,6 +87,7 @@ app.use(VueForge, {
|
|
|
85
87
|
<PasswordInput v-model="password" placeholder="Enter password" show-strength />
|
|
86
88
|
<OtpInput v-model="otp" :length="6" />
|
|
87
89
|
<ColorPicker v-model="brandColor" :presets="['#2b6cb0', '#0cbc87', '#d6293e']" />
|
|
90
|
+
<MaskedInput v-model="phone" mask="+7 (###) ###-##-##" />
|
|
88
91
|
<NumberInput v-model="age" :min="0" :max="120" :step="1" />
|
|
89
92
|
<Textarea v-model="bio" placeholder="Tell us about yourself" />
|
|
90
93
|
<FileUpload v-model="resume" accept=".pdf,.doc,.docx" />
|
|
@@ -96,6 +99,7 @@ app.use(VueForge, {
|
|
|
96
99
|
<DatePicker v-model="birthday" placeholder="Pick birthday" />
|
|
97
100
|
<DateRangePicker v-model="range" placeholder="Pick range" />
|
|
98
101
|
<TimePicker v-model="meetingTime" placeholder="Pick time" />
|
|
102
|
+
<DateTimePicker v-model="meetingAt" placeholder="Pick date and time" />
|
|
99
103
|
<Pagination v-model="page" :total-items="240" :page-size="20" />
|
|
100
104
|
<DataTable :columns="columns" :rows="rows" sortable striped />
|
|
101
105
|
<Checkbox v-model="agreed" label="I agree" />
|
|
@@ -179,6 +183,7 @@ app.use(VueForge, {
|
|
|
179
183
|
- PasswordInput
|
|
180
184
|
- OtpInput
|
|
181
185
|
- ColorPicker
|
|
186
|
+
- MaskedInput
|
|
182
187
|
- NumberInput
|
|
183
188
|
- FormField
|
|
184
189
|
- Textarea
|
|
@@ -201,6 +206,7 @@ app.use(VueForge, {
|
|
|
201
206
|
- DatePicker
|
|
202
207
|
- DateRangePicker
|
|
203
208
|
- TimePicker
|
|
209
|
+
- DateTimePicker
|
|
204
210
|
- Pagination
|
|
205
211
|
- DataTable
|
|
206
212
|
- Switch
|
|
@@ -223,10 +229,11 @@ Input / Password / Textarea (quick API):
|
|
|
223
229
|
- `PasswordInput`: password control, supports visibility toggle, strength meter, CapsLock hint, `size`, and `variant`.
|
|
224
230
|
- `OtpInput`: one-time code control, supports fixed length, paste handling, numeric/alphanumeric modes, `size`, and `variant`.
|
|
225
231
|
- `ColorPicker`: color control with presets, optional alpha channel, and output formats (`hex`/`rgb`/`hsl`).
|
|
232
|
+
- `MaskedInput`: formatted input control with string/function masks and optional raw output (`unmask`).
|
|
226
233
|
- `NumberInput`: numeric control, supports `v-model`, `min`, `max`, `step`, `precision`, `controls`, `size`, `variant`.
|
|
227
234
|
- `Textarea`: multi-line control, same as Input plus `rows`.
|
|
228
235
|
- `TagInput`: token/tag control, supports `v-model` (array), suggestions, custom tags, `maxTags`, `clearable`, `size`, `variant`.
|
|
229
|
-
- `OtpInput`, `ColorPicker`, `Checkbox`, `Select`, `Autocomplete`, `MultiSelect`, `TagInput`, `DatePicker`, `DateRangePicker`, `Pagination`, `DataTable`, and `TreeSelect` also support `variant: 'filled' | 'outlined'`.
|
|
236
|
+
- `OtpInput`, `ColorPicker`, `MaskedInput`, `Checkbox`, `Select`, `Autocomplete`, `MultiSelect`, `TagInput`, `DatePicker`, `DateRangePicker`, `DateTimePicker`, `Pagination`, `DataTable`, and `TreeSelect` also support `variant: 'filled' | 'outlined'`.
|
|
230
237
|
|
|
231
238
|
## FormField
|
|
232
239
|
|
|
@@ -506,6 +513,65 @@ Component tokens (override via `theme.overrides.components.timepicker`):
|
|
|
506
513
|
- `small.fontSize`, `small.padding`
|
|
507
514
|
- `large.fontSize`, `large.padding`
|
|
508
515
|
|
|
516
|
+
## DateTimePicker
|
|
517
|
+
|
|
518
|
+
Props:
|
|
519
|
+
|
|
520
|
+
- `modelValue?: string` (v-model, ISO datetime `YYYY-MM-DDTHH:mm`)
|
|
521
|
+
- `placeholder?: string`
|
|
522
|
+
- `disabled?: boolean`
|
|
523
|
+
- `readonly?: boolean`
|
|
524
|
+
- `min?: string` (ISO datetime `YYYY-MM-DDTHH:mm`)
|
|
525
|
+
- `max?: string` (ISO datetime `YYYY-MM-DDTHH:mm`)
|
|
526
|
+
- `locale?: string` (default `en-US`)
|
|
527
|
+
- `firstDayOfWeek?: number` (default `0`, Sunday)
|
|
528
|
+
- `minuteStep?: number` (default `30`)
|
|
529
|
+
- `format?: '24h' | '12h'` (default `24h`)
|
|
530
|
+
- `size?: 'small' | 'normal' | 'large'` (default `normal`)
|
|
531
|
+
- `variant?: 'filled' | 'outlined'` (default `filled`)
|
|
532
|
+
|
|
533
|
+
Events:
|
|
534
|
+
|
|
535
|
+
- `update:modelValue`
|
|
536
|
+
- `change`
|
|
537
|
+
- `focus`
|
|
538
|
+
- `blur`
|
|
539
|
+
|
|
540
|
+
Example:
|
|
541
|
+
|
|
542
|
+
```vue
|
|
543
|
+
<DateTimePicker v-model="meetingAt" placeholder="Pick date and time" />
|
|
544
|
+
<DateTimePicker
|
|
545
|
+
v-model="meetingAtAlt"
|
|
546
|
+
variant="outlined"
|
|
547
|
+
min="2026-01-10T09:00"
|
|
548
|
+
max="2026-12-31T18:00"
|
|
549
|
+
:minute-step="15"
|
|
550
|
+
format="12h"
|
|
551
|
+
/>
|
|
552
|
+
```
|
|
553
|
+
|
|
554
|
+
### DateTimePicker tokens
|
|
555
|
+
|
|
556
|
+
Component tokens (override via `theme.overrides.components.datetimepicker`):
|
|
557
|
+
|
|
558
|
+
- `minWidth`, `fontSize`, `controlGap`, `chevronSize`
|
|
559
|
+
- `padding`, `borderRadius`, `borderColor`
|
|
560
|
+
- `backgroundColor`, `textColor`, `placeholderColor`
|
|
561
|
+
- `focusBorderColor`, `focusRingShadow`, `hoverBorderColor`
|
|
562
|
+
- `disabledOpacity`
|
|
563
|
+
- `panelWidth`, `panelBackgroundColor`, `panelBorderColor`, `panelPadding`, `panelRadiusOffset`, `panelShadow`, `panelGap`
|
|
564
|
+
- `headerGap`, `headerPadding`, `monthLabelFontSize`, `monthLabelFontWeight`
|
|
565
|
+
- `navButtonSize`, `navButtonRadius`, `navButtonFontSize`
|
|
566
|
+
- `weekdayColor`, `weekdayFontSize`, `weekdaysMarginBottom`
|
|
567
|
+
- `daysGap`, `daySize`, `dayFontSize`, `dayBorderRadius`
|
|
568
|
+
- `dayHoverBackgroundColor`, `daySelectedBackgroundColor`, `daySelectedTextColor`, `dayMutedColor`, `dayTodayBorderColor`
|
|
569
|
+
- `timesWidth`, `timesMaxHeight`, `timesPaddingLeft`, `timesBorderColor`
|
|
570
|
+
- `timeOptionPadding`, `timeOptionBorderRadius`, `timeOptionFontSize`
|
|
571
|
+
- `timeOptionHoverBackgroundColor`, `timeOptionActiveBackgroundColor`, `timeOptionActiveTextColor`
|
|
572
|
+
- `small.fontSize`, `small.padding`, `small.daySize`
|
|
573
|
+
- `large.fontSize`, `large.padding`, `large.daySize`
|
|
574
|
+
|
|
509
575
|
## Pagination
|
|
510
576
|
|
|
511
577
|
Props:
|
|
@@ -868,6 +934,48 @@ Component tokens (override via `theme.overrides.components.colorPicker`):
|
|
|
868
934
|
- `small.padding`, `small.fontSize`, `small.swatchSize`, `small.presetSize`
|
|
869
935
|
- `large.padding`, `large.fontSize`, `large.swatchSize`, `large.presetSize`
|
|
870
936
|
|
|
937
|
+
## MaskedInput
|
|
938
|
+
|
|
939
|
+
Props:
|
|
940
|
+
|
|
941
|
+
- `modelValue?: string` (v-model)
|
|
942
|
+
- `mask?: string | ((value: string) => string)` (default `''`)
|
|
943
|
+
- `placeholder?: string`
|
|
944
|
+
- `placeholderChar?: string` (default `_`)
|
|
945
|
+
- `disabled?: boolean`
|
|
946
|
+
- `readonly?: boolean`
|
|
947
|
+
- `unmask?: boolean` (default `false`)
|
|
948
|
+
- `size?: 'small' | 'normal' | 'large'` (default `normal`)
|
|
949
|
+
- `variant?: 'filled' | 'outlined'` (default `filled`)
|
|
950
|
+
|
|
951
|
+
Events:
|
|
952
|
+
|
|
953
|
+
- `update:modelValue`
|
|
954
|
+
- `input`
|
|
955
|
+
- `change`
|
|
956
|
+
- `focus`
|
|
957
|
+
- `blur`
|
|
958
|
+
- `complete`
|
|
959
|
+
|
|
960
|
+
Example:
|
|
961
|
+
|
|
962
|
+
```vue
|
|
963
|
+
<MaskedInput v-model="phone" mask="+7 (###) ###-##-##" />
|
|
964
|
+
<MaskedInput v-model="licenseRaw" mask="AA-####" unmask variant="outlined" />
|
|
965
|
+
```
|
|
966
|
+
|
|
967
|
+
### MaskedInput tokens
|
|
968
|
+
|
|
969
|
+
Component tokens (override via `theme.overrides.components.maskedInput`):
|
|
970
|
+
|
|
971
|
+
- `gap`, `fontSize`, `padding`
|
|
972
|
+
- `borderRadius`, `borderColor`
|
|
973
|
+
- `backgroundColor`, `textColor`, `placeholderColor`
|
|
974
|
+
- `focusBorderColor`, `focusRingShadow`, `hoverBorderColor`
|
|
975
|
+
- `disabledOpacity`
|
|
976
|
+
- `small.fontSize`, `small.padding`
|
|
977
|
+
- `large.fontSize`, `large.padding`
|
|
978
|
+
|
|
871
979
|
## RadioGroup / RadioButton
|
|
872
980
|
|
|
873
981
|
Props (RadioGroup):
|
|
@@ -1896,7 +2004,7 @@ VueForge exposes design tokens as CSS variables generated from the theme preset.
|
|
|
1896
2004
|
Typed tokens:
|
|
1897
2005
|
|
|
1898
2006
|
- `ThemeTokens`/`ThemeOptions`/`ThemePreset` are exported for type-safe theming in TS.
|
|
1899
|
-
- `components.*` accepts component-specific tokens (typed keys: button/card/checkbox/radio/tabs/accordion/toast/alert/input/passwordInput/otpInput/colorPicker/numberInput/formField/textarea/link/breadcrumbs/menu/modal/confirmDialog/drawer/popover/dropdown/contextMenu/commandPalette/select/autocomplete/multiselect/taginput/datepicker/daterangepicker/timepicker/pagination/switch/tooltip/skeleton/progress/badge/chip/avatar/datatable/slider/stepper/rating/tree/treeselect/virtualScroller).
|
|
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).
|
|
1900
2008
|
|
|
1901
2009
|
Default core values (from `DefaultTheme`):
|
|
1902
2010
|
|