@codemonster-ru/vueforge 0.51.0 → 0.53.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 +101 -2
- package/dist/index.css +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.ts.mjs +3515 -3244
- package/dist/index.ts.umd.js +3 -3
- package/dist/package/components/__tests__/calendar.test.d.ts +1 -0
- package/dist/package/components/__tests__/segmented-control.test.d.ts +1 -0
- package/dist/package/components/calendar.vue.d.ts +31 -0
- package/dist/package/components/segmented-control.vue.d.ts +39 -0
- package/dist/package/config/theme-core.d.ts +68 -0
- package/dist/package/themes/default/components/calendar.d.ts +40 -0
- package/dist/package/themes/default/components/segmented-control.d.ts +28 -0
- package/dist/package/themes/default/index.d.ts +66 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -42,6 +42,7 @@ import {
|
|
|
42
42
|
MultiSelect,
|
|
43
43
|
TagInput,
|
|
44
44
|
DatePicker,
|
|
45
|
+
Calendar,
|
|
45
46
|
DateRangePicker,
|
|
46
47
|
TimePicker,
|
|
47
48
|
DateTimePicker,
|
|
@@ -49,6 +50,7 @@ import {
|
|
|
49
50
|
DataTable,
|
|
50
51
|
Checkbox,
|
|
51
52
|
Switch,
|
|
53
|
+
SegmentedControl,
|
|
52
54
|
Alert,
|
|
53
55
|
Skeleton,
|
|
54
56
|
Progress,
|
|
@@ -99,6 +101,7 @@ app.use(VueForge, {
|
|
|
99
101
|
<MultiSelect v-model="countries" :options="countryOptions" placeholder="Select countries" clearable />
|
|
100
102
|
<TagInput v-model="skills" :options="skillOptions" placeholder="Add skills" clearable />
|
|
101
103
|
<DatePicker v-model="birthday" placeholder="Pick birthday" />
|
|
104
|
+
<Calendar v-model="selectedDate" />
|
|
102
105
|
<DateRangePicker v-model="range" placeholder="Pick range" />
|
|
103
106
|
<TimePicker v-model="meetingTime" placeholder="Pick time" />
|
|
104
107
|
<DateTimePicker v-model="meetingAt" placeholder="Pick date and time" />
|
|
@@ -106,6 +109,13 @@ app.use(VueForge, {
|
|
|
106
109
|
<DataTable :columns="columns" :rows="rows" sortable striped />
|
|
107
110
|
<Checkbox v-model="agreed" label="I agree" />
|
|
108
111
|
<Switch v-model="darkMode" label="Dark mode" />
|
|
112
|
+
<SegmentedControl
|
|
113
|
+
v-model="view"
|
|
114
|
+
:options="[
|
|
115
|
+
{ label: 'List', value: 'list' },
|
|
116
|
+
{ label: 'Grid', value: 'grid' },
|
|
117
|
+
]"
|
|
118
|
+
/>
|
|
109
119
|
<Alert severity="info" title="Heads up" message="Project settings were updated." />
|
|
110
120
|
<Skeleton height="12px" width="140px" />
|
|
111
121
|
<Progress :value="64" />
|
|
@@ -173,6 +183,7 @@ app.use(VueForge, {
|
|
|
173
183
|
- Checkbox
|
|
174
184
|
- RadioGroup
|
|
175
185
|
- RadioButton
|
|
186
|
+
- SegmentedControl
|
|
176
187
|
- Tabs
|
|
177
188
|
- Tab
|
|
178
189
|
- TabPanel
|
|
@@ -207,6 +218,7 @@ app.use(VueForge, {
|
|
|
207
218
|
- MultiSelect
|
|
208
219
|
- TagInput
|
|
209
220
|
- DatePicker
|
|
221
|
+
- Calendar
|
|
210
222
|
- DateRangePicker
|
|
211
223
|
- TimePicker
|
|
212
224
|
- DateTimePicker
|
|
@@ -237,7 +249,7 @@ Input / Search / Password / Textarea (quick API):
|
|
|
237
249
|
- `NumberInput`: numeric control, supports `v-model`, `min`, `max`, `step`, `precision`, `controls`, `size`, `variant`.
|
|
238
250
|
- `Textarea`: multi-line control, same as Input plus `rows`.
|
|
239
251
|
- `TagInput`: token/tag control, supports `v-model` (array), suggestions, custom tags, `maxTags`, `clearable`, `size`, `variant`.
|
|
240
|
-
- `SearchInput`, `OtpInput`, `ColorPicker`, `MaskedInput`, `Checkbox`, `Select`, `Autocomplete`, `MultiSelect`, `TagInput`, `DatePicker`, `DateRangePicker`, `DateTimePicker`, `Pagination`, `DataTable`, and `TreeSelect` also support `variant: 'filled' | 'outlined'`.
|
|
252
|
+
- `SearchInput`, `OtpInput`, `ColorPicker`, `MaskedInput`, `Checkbox`, `Select`, `Autocomplete`, `MultiSelect`, `TagInput`, `DatePicker`, `Calendar`, `DateRangePicker`, `DateTimePicker`, `Pagination`, `DataTable`, `SegmentedControl`, and `TreeSelect` also support `variant: 'filled' | 'outlined'`.
|
|
241
253
|
|
|
242
254
|
## FormField
|
|
243
255
|
|
|
@@ -443,6 +455,48 @@ Example:
|
|
|
443
455
|
<DatePicker v-model="startDate" placeholder="Pick date" min="2026-01-01" max="2026-12-31" />
|
|
444
456
|
```
|
|
445
457
|
|
|
458
|
+
## Calendar
|
|
459
|
+
|
|
460
|
+
Props:
|
|
461
|
+
|
|
462
|
+
- `modelValue?: string` (v-model, ISO date `YYYY-MM-DD`)
|
|
463
|
+
- `disabled?: boolean`
|
|
464
|
+
- `readonly?: boolean`
|
|
465
|
+
- `min?: string` (ISO date `YYYY-MM-DD`)
|
|
466
|
+
- `max?: string` (ISO date `YYYY-MM-DD`)
|
|
467
|
+
- `locale?: string` (default `en-US`)
|
|
468
|
+
- `firstDayOfWeek?: number` (default `0`, Sunday)
|
|
469
|
+
- `size?: 'small' | 'normal' | 'large'` (default `normal`)
|
|
470
|
+
- `variant?: 'filled' | 'outlined'` (default `filled`)
|
|
471
|
+
|
|
472
|
+
Events:
|
|
473
|
+
|
|
474
|
+
- `update:modelValue`
|
|
475
|
+
- `change`
|
|
476
|
+
|
|
477
|
+
Example:
|
|
478
|
+
|
|
479
|
+
```vue
|
|
480
|
+
<Calendar v-model="selectedDate" min="2026-01-01" max="2026-12-31" />
|
|
481
|
+
<Calendar v-model="selectedDateAlt" variant="outlined" :first-day-of-week="1" />
|
|
482
|
+
```
|
|
483
|
+
|
|
484
|
+
### Calendar tokens
|
|
485
|
+
|
|
486
|
+
Component tokens (override via `theme.overrides.components.calendar`):
|
|
487
|
+
|
|
488
|
+
- `width`, `fontSize`, `padding`
|
|
489
|
+
- `borderRadius`, `borderColor`
|
|
490
|
+
- `backgroundColor`, `textColor`
|
|
491
|
+
- `disabledOpacity`
|
|
492
|
+
- `headerGap`, `headerPadding`, `monthLabelFontSize`, `monthLabelFontWeight`
|
|
493
|
+
- `navButtonSize`, `navButtonRadius`, `navButtonFontSize`
|
|
494
|
+
- `weekdayColor`, `weekdayFontSize`, `weekdaysMarginBottom`
|
|
495
|
+
- `daysGap`, `daySize`, `dayFontSize`, `dayBorderRadius`
|
|
496
|
+
- `dayHoverBackgroundColor`, `daySelectedBackgroundColor`, `daySelectedTextColor`, `dayMutedColor`, `dayTodayBorderColor`
|
|
497
|
+
- `small.fontSize`, `small.padding`, `small.daySize`
|
|
498
|
+
- `large.fontSize`, `large.padding`, `large.daySize`
|
|
499
|
+
|
|
446
500
|
## DateRangePicker
|
|
447
501
|
|
|
448
502
|
Props:
|
|
@@ -1086,6 +1140,51 @@ Component tokens (override via `theme.overrides.components.breadcrumbs`):
|
|
|
1086
1140
|
- `gap`, `fontSize`, `textColor`, `hoverColor`, `activeColor`
|
|
1087
1141
|
- `separatorColor`, `disabledOpacity`
|
|
1088
1142
|
|
|
1143
|
+
## SegmentedControl
|
|
1144
|
+
|
|
1145
|
+
Props:
|
|
1146
|
+
|
|
1147
|
+
- `modelValue?: string | number` (v-model)
|
|
1148
|
+
- `options?: Array<{ label: string; value: string | number; disabled?: boolean }>` (default `[]`)
|
|
1149
|
+
- `disabled?: boolean`
|
|
1150
|
+
- `fullWidth?: boolean` (default `false`)
|
|
1151
|
+
- `size?: 'small' | 'normal' | 'large'` (default `normal`)
|
|
1152
|
+
- `variant?: 'filled' | 'outlined'` (default `filled`)
|
|
1153
|
+
- `ariaLabel?: string`
|
|
1154
|
+
- `ariaLabelledby?: string`
|
|
1155
|
+
|
|
1156
|
+
Events:
|
|
1157
|
+
|
|
1158
|
+
- `update:modelValue`
|
|
1159
|
+
- `change`
|
|
1160
|
+
- `focus`
|
|
1161
|
+
- `blur`
|
|
1162
|
+
|
|
1163
|
+
Example:
|
|
1164
|
+
|
|
1165
|
+
```vue
|
|
1166
|
+
<SegmentedControl
|
|
1167
|
+
v-model="view"
|
|
1168
|
+
:options="[
|
|
1169
|
+
{ label: 'List', value: 'list' },
|
|
1170
|
+
{ label: 'Grid', value: 'grid' },
|
|
1171
|
+
{ label: 'Board', value: 'board' },
|
|
1172
|
+
]"
|
|
1173
|
+
/>
|
|
1174
|
+
```
|
|
1175
|
+
|
|
1176
|
+
### SegmentedControl tokens
|
|
1177
|
+
|
|
1178
|
+
Component tokens (override via `theme.overrides.components.segmentedControl`):
|
|
1179
|
+
|
|
1180
|
+
- `fontSize`, `padding`, `gap`
|
|
1181
|
+
- `borderRadius`, `borderColor`, `backgroundColor`, `textColor`
|
|
1182
|
+
- `hoverBackgroundColor`, `activeBackgroundColor`, `activeTextColor`
|
|
1183
|
+
- `focusRingShadow`, `disabledOpacity`
|
|
1184
|
+
- `segmentPadding`, `segmentRadius`, `segmentFontWeight`
|
|
1185
|
+
- `small.fontSize`, `small.padding`, `small.segmentPadding`
|
|
1186
|
+
- `large.fontSize`, `large.padding`, `large.segmentPadding`
|
|
1187
|
+
|
|
1089
1188
|
## Tabs / Tab / TabPanel
|
|
1090
1189
|
|
|
1091
1190
|
Props (Tabs):
|
|
@@ -2055,7 +2154,7 @@ VueForge exposes design tokens as CSS variables generated from the theme preset.
|
|
|
2055
2154
|
Typed tokens:
|
|
2056
2155
|
|
|
2057
2156
|
- `ThemeTokens`/`ThemeOptions`/`ThemePreset` are exported for type-safe theming in TS.
|
|
2058
|
-
- `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/daterangepicker/timepicker/datetimepicker/pagination/switch/tooltip/skeleton/progress/badge/chip/avatar/datatable/slider/stepper/rating/tree/treeselect/virtualScroller).
|
|
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).
|
|
2059
2158
|
|
|
2060
2159
|
Default core values (from `DefaultTheme`):
|
|
2061
2160
|
|