@vuetify/nightly 3.8.1-next.2025-04-18 → 3.8.2-dev.2025-04-28
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/CHANGELOG.md +7 -16
- package/dist/json/attributes.json +2825 -2817
- package/dist/json/importMap-labs.json +20 -20
- package/dist/json/importMap.json +168 -168
- package/dist/json/tags.json +2 -0
- package/dist/json/web-types.json +5590 -5610
- package/dist/vuetify-labs.cjs +180 -249
- package/dist/vuetify-labs.css +25246 -23473
- package/dist/vuetify-labs.d.ts +715 -279
- package/dist/vuetify-labs.esm.js +180 -249
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +180 -249
- package/dist/vuetify-labs.min.css +4 -3
- package/dist/vuetify.cjs +156 -231
- package/dist/vuetify.cjs.map +1 -1
- package/dist/vuetify.css +23931 -22162
- package/dist/vuetify.d.ts +753 -317
- package/dist/vuetify.esm.js +156 -231
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +156 -231
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +4 -3
- package/dist/vuetify.min.js +295 -280
- package/dist/vuetify.min.js.map +1 -1
- package/lib/blueprints/md3.js +18 -5
- package/lib/blueprints/md3.js.map +1 -1
- package/lib/components/VAlert/VAlert.css +215 -207
- package/lib/components/VApp/VApp.css +15 -16
- package/lib/components/VAppBar/VAppBar.css +12 -14
- package/lib/components/VAutocomplete/VAutocomplete.css +84 -85
- package/lib/components/VAutocomplete/VAutocomplete.d.ts +9 -18
- package/lib/components/VAutocomplete/VAutocomplete.js +3 -6
- package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
- package/lib/components/VAvatar/VAvatar.css +106 -108
- package/lib/components/VBadge/VBadge.css +77 -77
- package/lib/components/VBanner/VBanner.css +166 -161
- package/lib/components/VBottomNavigation/VBottomNavigation.css +64 -65
- package/lib/components/VBottomSheet/VBottomSheet.css +31 -34
- package/lib/components/VBreadcrumbs/VBreadcrumbs.css +57 -54
- package/lib/components/VBtn/VBtn.css +408 -372
- package/lib/components/VBtn/VBtn.sass +23 -10
- package/lib/components/VBtn/_variables.scss +1 -1
- package/lib/components/VBtnGroup/VBtnGroup.css +87 -63
- package/lib/components/VBtnGroup/VBtnGroup.d.ts +58 -32
- package/lib/components/VBtnGroup/VBtnGroup.js +7 -3
- package/lib/components/VBtnGroup/VBtnGroup.js.map +1 -1
- package/lib/components/VBtnGroup/VBtnGroup.sass +44 -17
- package/lib/components/VBtnToggle/VBtnToggle.css +14 -16
- package/lib/components/VBtnToggle/VBtnToggle.d.ts +25 -0
- package/lib/components/VCard/VCard.css +302 -294
- package/lib/components/VCarousel/VCarousel.css +65 -63
- package/lib/components/VCarousel/VCarousel.sass +1 -1
- package/lib/components/VCheckbox/VCheckbox.css +5 -7
- package/lib/components/VChip/VChip.css +411 -378
- package/lib/components/VChipGroup/VChipGroup.css +18 -19
- package/lib/components/VCode/VCode.css +11 -10
- package/lib/components/VCode/VCode.sass +3 -0
- package/lib/components/VColorPicker/VColorPicker.css +23 -23
- package/lib/components/VColorPicker/VColorPickerCanvas.css +22 -24
- package/lib/components/VColorPicker/VColorPickerEdit.css +28 -29
- package/lib/components/VColorPicker/VColorPickerPreview.css +67 -69
- package/lib/components/VColorPicker/VColorPickerPreview.sass +2 -4
- package/lib/components/VColorPicker/VColorPickerSwatches.css +34 -34
- package/lib/components/VCombobox/VCombobox.css +84 -85
- package/lib/components/VCombobox/VCombobox.d.ts +9 -18
- package/lib/components/VCombobox/VCombobox.js +3 -6
- package/lib/components/VCombobox/VCombobox.js.map +1 -1
- package/lib/components/VCounter/VCounter.css +5 -7
- package/lib/components/VDataTable/VDataTable.css +186 -189
- package/lib/components/VDataTable/VDataTable.sass +11 -21
- package/lib/components/VDataTable/VDataTableFooter.css +31 -33
- package/lib/components/VDatePicker/VDatePicker.css +6 -8
- package/lib/components/VDatePicker/VDatePicker.d.ts +7 -7
- package/lib/components/VDatePicker/VDatePickerControls.css +57 -55
- package/lib/components/VDatePicker/VDatePickerHeader.css +60 -56
- package/lib/components/VDatePicker/VDatePickerMonth.css +55 -51
- package/lib/components/VDatePicker/VDatePickerMonth.d.ts +7 -7
- package/lib/components/VDatePicker/VDatePickerMonths.css +19 -20
- package/lib/components/VDatePicker/VDatePickerYears.css +15 -16
- package/lib/components/VDialog/VDialog.css +98 -98
- package/lib/components/VDivider/VDivider.css +52 -52
- package/lib/components/VEmptyState/VEmptyState.css +67 -62
- package/lib/components/VExpansionPanel/VExpansionPanel.css +209 -203
- package/lib/components/VExpansionPanel/VExpansionPanel.sass +25 -27
- package/lib/components/VFab/VFab.css +73 -78
- package/lib/components/VFab/VFab.sass +4 -5
- package/lib/components/VField/VField.css +589 -541
- package/lib/components/VField/VField.sass +11 -4
- package/lib/components/VField/_variables.scss +1 -1
- package/lib/components/VFileInput/VFileInput.css +28 -30
- package/lib/components/VFooter/VFooter.css +36 -38
- package/lib/components/VForm/VForm.d.ts +531 -111
- package/lib/components/VForm/VForm.js +1 -11
- package/lib/components/VForm/VForm.js.map +1 -1
- package/lib/components/VGrid/VGrid.css +592 -565
- package/lib/components/VIcon/VIcon.css +53 -52
- package/lib/components/VImg/VImg.css +51 -50
- package/lib/components/VInfiniteScroll/VInfiniteScroll.css +37 -36
- package/lib/components/VInput/VInput.css +147 -136
- package/lib/components/VInput/VInput.d.ts +1 -1
- package/lib/components/VItemGroup/VItemGroup.css +5 -7
- package/lib/components/VKbd/VKbd.css +11 -13
- package/lib/components/VLabel/VLabel.css +15 -16
- package/lib/components/VLayout/VLayout.css +8 -10
- package/lib/components/VLayout/VLayoutItem.css +7 -8
- package/lib/components/VList/VList.css +108 -104
- package/lib/components/VList/VList.sass +1 -1
- package/lib/components/VList/VListItem.css +452 -440
- package/lib/components/VList/VListItem.sass +1 -2
- package/lib/components/VLocaleProvider/VLocaleProvider.css +2 -4
- package/lib/components/VMain/VMain.css +30 -32
- package/lib/components/VMenu/VMenu.css +19 -21
- package/lib/components/VMessages/VMessages.css +15 -17
- package/lib/components/VNavigationDrawer/VNavigationDrawer.css +104 -102
- package/lib/components/VNumberInput/VNumberInput.css +46 -48
- package/lib/components/VOtpInput/VOtpInput.css +58 -56
- package/lib/components/VOverlay/VOverlay.css +64 -61
- package/lib/components/VOverlay/VOverlay.sass +13 -14
- package/lib/components/VOverlay/_variables.scss +1 -1
- package/lib/components/VPagination/VPagination.css +8 -10
- package/lib/components/VParallax/VParallax.css +6 -8
- package/lib/components/VProgressCircular/VProgressCircular.css +101 -95
- package/lib/components/VProgressLinear/VProgressLinear.css +222 -209
- package/lib/components/VRadioGroup/VRadioGroup.css +12 -14
- package/lib/components/VRating/VRating.css +53 -52
- package/lib/components/VResponsive/VResponsive.css +26 -25
- package/lib/components/VSelect/VSelect.css +51 -53
- package/lib/components/VSelect/VSelect.d.ts +9 -18
- package/lib/components/VSelect/VSelect.js +3 -6
- package/lib/components/VSelect/VSelect.js.map +1 -1
- package/lib/components/VSelectionControl/VSelectionControl.css +100 -98
- package/lib/components/VSelectionControlGroup/VSelectionControlGroup.css +8 -10
- package/lib/components/VSheet/VSheet.css +36 -38
- package/lib/components/VSkeletonLoader/VSkeletonLoader.css +224 -225
- package/lib/components/VSlideGroup/VSlideGroup.css +55 -53
- package/lib/components/VSlider/VSlider.css +57 -53
- package/lib/components/VSlider/VSliderThumb.css +153 -142
- package/lib/components/VSlider/VSliderTrack.css +174 -155
- package/lib/components/VSnackbar/VSnackbar.css +140 -140
- package/lib/components/VSpeedDial/VSpeedDial.css +41 -43
- package/lib/components/VStepper/VStepper.css +56 -55
- package/lib/components/VStepper/VStepperItem.css +115 -112
- package/lib/components/VSwitch/VSwitch.css +139 -129
- package/lib/components/VSystemBar/VSystemBar.css +43 -45
- package/lib/components/VTable/VTable.css +141 -140
- package/lib/components/VTable/VTable.sass +2 -4
- package/lib/components/VTabs/VTab.css +29 -30
- package/lib/components/VTabs/VTabs.css +65 -59
- package/lib/components/VTextField/VTextField.css +85 -77
- package/lib/components/VTextarea/VTextarea.css +40 -48
- package/lib/components/VTextarea/VTextarea.sass +2 -4
- package/lib/components/VThemeProvider/VThemeProvider.css +3 -5
- package/lib/components/VTimeline/VTimeline.css +427 -388
- package/lib/components/VToolbar/VToolbar.css +144 -137
- package/lib/components/VTooltip/VTooltip.css +23 -27
- package/lib/components/VTooltip/VTooltip.sass +6 -8
- package/lib/components/VVirtualScroll/VVirtualScroll.css +9 -11
- package/lib/components/VWindow/VWindow.css +70 -73
- package/lib/composables/calendar.d.ts +3 -2
- package/lib/composables/calendar.js +5 -7
- package/lib/composables/calendar.js.map +1 -1
- package/lib/composables/date/DateAdapter.d.ts +1 -0
- package/lib/composables/date/DateAdapter.js.map +1 -1
- package/lib/composables/date/adapters/vuetify.d.ts +1 -0
- package/lib/composables/date/adapters/vuetify.js +101 -160
- package/lib/composables/date/adapters/vuetify.js.map +1 -1
- package/lib/composables/date/date.d.ts +1 -1
- package/lib/composables/date/date.js +0 -20
- package/lib/composables/date/date.js.map +1 -1
- package/lib/composables/filter.js +2 -1
- package/lib/composables/filter.js.map +1 -1
- package/lib/composables/theme.js +5 -5
- package/lib/composables/theme.js.map +1 -1
- package/lib/composables/validation.js +5 -0
- package/lib/composables/validation.js.map +1 -1
- package/lib/directives/ripple/VRipple.css +36 -38
- package/lib/entry-bundler.d.ts +1 -0
- package/lib/entry-bundler.js +1 -1
- package/lib/entry-bundler.js.map +1 -1
- package/lib/framework.d.ts +62 -59
- package/lib/framework.js +1 -1
- package/lib/framework.js.map +1 -1
- package/lib/labs/VCalendar/VCalendar.css +225 -219
- package/lib/labs/VCalendar/VCalendar.d.ts +7 -7
- package/lib/labs/VCalendar/VCalendarDay.css +32 -33
- package/lib/labs/VCalendar/VCalendarHeader.css +13 -13
- package/lib/labs/VCalendar/VCalendarInterval.css +42 -43
- package/lib/labs/VCalendar/VCalendarInterval.js +25 -19
- package/lib/labs/VCalendar/VCalendarInterval.js.map +1 -1
- package/lib/labs/VCalendar/VCalendarIntervalEvent.css +5 -7
- package/lib/labs/VCalendar/VCalendarMonthDay.css +58 -61
- package/lib/labs/VCalendar/VCalendarMonthDay.sass +2 -3
- package/lib/labs/VDateInput/VDateInput.d.ts +7 -7
- package/lib/labs/VFileUpload/VFileUpload.css +77 -74
- package/lib/labs/VIconBtn/VIconBtn.css +164 -162
- package/lib/labs/VPicker/VPicker.css +63 -58
- package/lib/labs/VTimePicker/VTimePicker.css +7 -9
- package/lib/labs/VTimePicker/VTimePickerClock.css +129 -126
- package/lib/labs/VTimePicker/VTimePickerControls.css +103 -102
- package/lib/labs/VTreeview/VTreeviewItem.css +28 -30
- package/lib/labs/VTreeview/VTreeviewItem.sass +2 -3
- package/lib/labs/entry-bundler.d.ts +1 -0
- package/lib/styles/elements/_global.sass +1 -1
- package/lib/styles/generic/_colors.scss +3 -3
- package/lib/styles/generic/_layers.scss +1 -13
- package/lib/styles/generic/_reset.scss +1 -0
- package/lib/styles/generic/_transitions.scss +32 -32
- package/lib/styles/main.css +16142 -14667
- package/lib/styles/settings/_utilities.scss +5 -0
- package/lib/styles/settings/_variables.scss +3 -2
- package/lib/styles/tools/_bootable.sass +3 -0
- package/lib/styles/tools/_border.sass +4 -4
- package/lib/styles/tools/_display.sass +10 -0
- package/lib/styles/tools/_elevation.sass +2 -2
- package/lib/styles/tools/_index.sass +2 -0
- package/lib/styles/tools/_layer.scss +2 -4
- package/lib/styles/tools/_position.sass +2 -2
- package/lib/styles/tools/_radius.sass +10 -0
- package/lib/styles/tools/_rounded.sass +2 -2
- package/lib/styles/tools/_utilities.sass +5 -1
- package/lib/styles/utilities/_elevation.scss +1 -1
- package/package.json +46 -45
package/dist/vuetify.cjs
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
/*!
|
2
|
-
* Vuetify v3.8.
|
2
|
+
* Vuetify v3.8.2-dev.2025-04-28
|
3
3
|
* Forged by John Leider
|
4
4
|
* Released under the MIT License.
|
5
5
|
*/
|
@@ -1941,7 +1941,7 @@
|
|
1941
1941
|
flat: true
|
1942
1942
|
},
|
1943
1943
|
VAutocomplete: {
|
1944
|
-
variant: '
|
1944
|
+
variant: 'outlined'
|
1945
1945
|
},
|
1946
1946
|
VBanner: {
|
1947
1947
|
color: 'primary'
|
@@ -1970,7 +1970,10 @@
|
|
1970
1970
|
rounded: 'sm'
|
1971
1971
|
},
|
1972
1972
|
VCombobox: {
|
1973
|
-
variant: '
|
1973
|
+
variant: 'outlined'
|
1974
|
+
},
|
1975
|
+
VDateInput: {
|
1976
|
+
variant: 'outlined'
|
1974
1977
|
},
|
1975
1978
|
VDatePicker: {
|
1976
1979
|
controlHeight: 48,
|
@@ -1984,6 +1987,9 @@
|
|
1984
1987
|
rounded: 'circle'
|
1985
1988
|
}
|
1986
1989
|
},
|
1990
|
+
VFileInput: {
|
1991
|
+
variant: 'outlined'
|
1992
|
+
},
|
1987
1993
|
VNavigationDrawer: {
|
1988
1994
|
// VList: {
|
1989
1995
|
// nav: true,
|
@@ -1992,8 +1998,15 @@
|
|
1992
1998
|
// },
|
1993
1999
|
// },
|
1994
2000
|
},
|
2001
|
+
VNumberInput: {
|
2002
|
+
variant: 'outlined',
|
2003
|
+
VBtn: {
|
2004
|
+
color: undefined,
|
2005
|
+
rounded: undefined
|
2006
|
+
}
|
2007
|
+
},
|
1995
2008
|
VSelect: {
|
1996
|
-
variant: '
|
2009
|
+
variant: 'outlined'
|
1997
2010
|
},
|
1998
2011
|
VSlider: {
|
1999
2012
|
color: 'primary'
|
@@ -2002,10 +2015,10 @@
|
|
2002
2015
|
color: 'primary'
|
2003
2016
|
},
|
2004
2017
|
VTextarea: {
|
2005
|
-
variant: '
|
2018
|
+
variant: 'outlined'
|
2006
2019
|
},
|
2007
2020
|
VTextField: {
|
2008
|
-
variant: '
|
2021
|
+
variant: 'outlined'
|
2009
2022
|
},
|
2010
2023
|
VToolbar: {
|
2011
2024
|
VBtn: {
|
@@ -2758,7 +2771,7 @@
|
|
2758
2771
|
}, 'theme');
|
2759
2772
|
function genDefaults$1() {
|
2760
2773
|
return {
|
2761
|
-
defaultTheme: '
|
2774
|
+
defaultTheme: 'light',
|
2762
2775
|
prefix: 'v-',
|
2763
2776
|
variations: {
|
2764
2777
|
colors: [],
|
@@ -2810,8 +2823,8 @@
|
|
2810
2823
|
surface: '#212121',
|
2811
2824
|
'surface-bright': '#ccbfd6',
|
2812
2825
|
'surface-light': '#424242',
|
2813
|
-
'surface-variant': '#
|
2814
|
-
'on-surface-variant': '#
|
2826
|
+
'surface-variant': '#c8c8c8',
|
2827
|
+
'on-surface-variant': '#000000',
|
2815
2828
|
primary: '#2196F3',
|
2816
2829
|
'primary-darken-1': '#277CC1',
|
2817
2830
|
secondary: '#54B6B2',
|
@@ -2843,7 +2856,7 @@
|
|
2843
2856
|
},
|
2844
2857
|
stylesheetId: 'vuetify-theme-stylesheet',
|
2845
2858
|
scoped: false,
|
2846
|
-
unimportant:
|
2859
|
+
unimportant: false,
|
2847
2860
|
utilities: true
|
2848
2861
|
};
|
2849
2862
|
}
|
@@ -3001,7 +3014,7 @@
|
|
3001
3014
|
}
|
3002
3015
|
lines.push(...bgLines, ...fgLines);
|
3003
3016
|
}
|
3004
|
-
return
|
3017
|
+
return lines.map((str, i) => i === 0 ? str : ` ${str}`).join('');
|
3005
3018
|
});
|
3006
3019
|
const themeClasses = vue.computed(() => parsedOptions.isDisabled ? undefined : `${parsedOptions.prefix}theme--${name.value}`);
|
3007
3020
|
const themeNames = vue.computed(() => Object.keys(computedThemes.value));
|
@@ -4657,9 +4670,15 @@
|
|
4657
4670
|
};
|
4658
4671
|
}
|
4659
4672
|
|
4673
|
+
// Types
|
4674
|
+
|
4660
4675
|
const makeVBtnGroupProps = propsFactory({
|
4661
4676
|
baseColor: String,
|
4662
4677
|
divided: Boolean,
|
4678
|
+
direction: {
|
4679
|
+
type: String,
|
4680
|
+
default: 'horizontal'
|
4681
|
+
},
|
4663
4682
|
...makeBorderProps(),
|
4664
4683
|
...makeComponentProps(),
|
4665
4684
|
...makeDensityProps(),
|
@@ -4693,7 +4712,7 @@
|
|
4693
4712
|
} = useRounded(props);
|
4694
4713
|
provideDefaults({
|
4695
4714
|
VBtn: {
|
4696
|
-
height: 'auto',
|
4715
|
+
height: props.direction === 'horizontal' ? 'auto' : null,
|
4697
4716
|
baseColor: vue.toRef(props, 'baseColor'),
|
4698
4717
|
color: vue.toRef(props, 'color'),
|
4699
4718
|
density: vue.toRef(props, 'density'),
|
@@ -4703,7 +4722,7 @@
|
|
4703
4722
|
});
|
4704
4723
|
useRender(() => {
|
4705
4724
|
return vue.createVNode(props.tag, {
|
4706
|
-
"class": ['v-btn-group', {
|
4725
|
+
"class": ['v-btn-group', `v-btn-group--${props.direction}`, {
|
4707
4726
|
'v-btn-group--divided': props.divided
|
4708
4727
|
}, themeClasses.value, borderClasses.value, densityClasses.value, elevationClasses.value, roundedClasses.value, props.class],
|
4709
4728
|
"style": props.style
|
@@ -7232,6 +7251,11 @@
|
|
7232
7251
|
}
|
7233
7252
|
async function validate() {
|
7234
7253
|
let silent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
7254
|
+
if (props.disabled || props.readonly) {
|
7255
|
+
internalErrorMessages.value = [];
|
7256
|
+
isValidating.value = false;
|
7257
|
+
return internalErrorMessages.value;
|
7258
|
+
}
|
7235
7259
|
const results = [];
|
7236
7260
|
isValidating.value = true;
|
7237
7261
|
for (const rule of props.rules) {
|
@@ -13275,8 +13299,7 @@
|
|
13275
13299
|
onClick: () => select(item, null)
|
13276
13300
|
});
|
13277
13301
|
return slots.item?.({
|
13278
|
-
item
|
13279
|
-
internalItem: item,
|
13302
|
+
item,
|
13280
13303
|
index,
|
13281
13304
|
props: itemProps
|
13282
13305
|
}) ?? vue.createVNode(VListItem, vue.mergeProps(itemProps, {
|
@@ -13324,13 +13347,11 @@
|
|
13324
13347
|
};
|
13325
13348
|
const hasSlot = hasChips ? !!slots.chip : !!slots.selection;
|
13326
13349
|
const slotContent = hasSlot ? ensureValidVNode(hasChips ? slots.chip({
|
13327
|
-
item
|
13328
|
-
internalItem: item,
|
13350
|
+
item,
|
13329
13351
|
index,
|
13330
13352
|
props: slotProps
|
13331
13353
|
}) : slots.selection({
|
13332
|
-
item
|
13333
|
-
internalItem: item,
|
13354
|
+
item,
|
13334
13355
|
index
|
13335
13356
|
})) : undefined;
|
13336
13357
|
if (hasSlot && !slotContent) return undefined;
|
@@ -13396,6 +13417,7 @@
|
|
13396
13417
|
// Composables
|
13397
13418
|
const defaultFilter = (value, query, item) => {
|
13398
13419
|
if (value == null || query == null) return -1;
|
13420
|
+
if (!query.length) return 0;
|
13399
13421
|
value = value.toString().toLocaleLowerCase();
|
13400
13422
|
query = query.toString().toLocaleLowerCase();
|
13401
13423
|
const result = [];
|
@@ -13408,7 +13430,7 @@
|
|
13408
13430
|
};
|
13409
13431
|
function normaliseMatch(match, query) {
|
13410
13432
|
if (match == null || typeof match === 'boolean' || match === -1) return;
|
13411
|
-
if (typeof match === 'number') return [[match, query.length]];
|
13433
|
+
if (typeof match === 'number') return [[match, match + query.length]];
|
13412
13434
|
if (Array.isArray(match[0])) return match;
|
13413
13435
|
return [match];
|
13414
13436
|
}
|
@@ -13876,8 +13898,7 @@
|
|
13876
13898
|
onClick: () => select(item, null)
|
13877
13899
|
});
|
13878
13900
|
return slots.item?.({
|
13879
|
-
item
|
13880
|
-
internalItem: item,
|
13901
|
+
item,
|
13881
13902
|
index,
|
13882
13903
|
props: itemProps
|
13883
13904
|
}) ?? vue.createVNode(VListItem, vue.mergeProps(itemProps, {
|
@@ -13928,13 +13949,11 @@
|
|
13928
13949
|
};
|
13929
13950
|
const hasSlot = hasChips.value ? !!slots.chip : !!slots.selection;
|
13930
13951
|
const slotContent = hasSlot ? ensureValidVNode(hasChips.value ? slots.chip({
|
13931
|
-
item
|
13932
|
-
internalItem: item,
|
13952
|
+
item,
|
13933
13953
|
index,
|
13934
13954
|
props: slotProps
|
13935
13955
|
}) : slots.selection({
|
13936
|
-
item
|
13937
|
-
internalItem: item,
|
13956
|
+
item,
|
13938
13957
|
index
|
13939
13958
|
})) : undefined;
|
13940
13959
|
if (hasSlot && !slotContent) return undefined;
|
@@ -17326,165 +17345,81 @@
|
|
17326
17345
|
|
17327
17346
|
// Types
|
17328
17347
|
|
17329
|
-
|
17330
|
-
|
17331
|
-
|
17332
|
-
|
17333
|
-
|
17334
|
-
|
17335
|
-
|
17336
|
-
|
17337
|
-
|
17338
|
-
|
17339
|
-
|
17340
|
-
|
17341
|
-
|
17342
|
-
|
17343
|
-
|
17344
|
-
|
17345
|
-
|
17346
|
-
|
17347
|
-
|
17348
|
-
|
17349
|
-
|
17350
|
-
|
17351
|
-
|
17352
|
-
|
17353
|
-
|
17354
|
-
|
17355
|
-
|
17356
|
-
|
17357
|
-
|
17358
|
-
|
17359
|
-
|
17360
|
-
|
17361
|
-
|
17362
|
-
|
17363
|
-
|
17364
|
-
|
17365
|
-
|
17366
|
-
|
17367
|
-
|
17368
|
-
|
17369
|
-
|
17370
|
-
|
17371
|
-
|
17372
|
-
|
17373
|
-
|
17374
|
-
|
17375
|
-
|
17376
|
-
|
17377
|
-
|
17378
|
-
|
17379
|
-
|
17380
|
-
|
17381
|
-
|
17382
|
-
|
17383
|
-
|
17384
|
-
|
17385
|
-
|
17386
|
-
|
17387
|
-
|
17388
|
-
|
17389
|
-
|
17390
|
-
|
17391
|
-
|
17392
|
-
|
17393
|
-
|
17394
|
-
|
17395
|
-
|
17396
|
-
|
17397
|
-
|
17398
|
-
IQ: 6,
|
17399
|
-
IR: 6,
|
17400
|
-
IS: 1,
|
17401
|
-
IT: 1,
|
17402
|
-
JM: 0,
|
17403
|
-
JO: 6,
|
17404
|
-
JP: 0,
|
17405
|
-
KE: 0,
|
17406
|
-
KG: 1,
|
17407
|
-
KH: 0,
|
17408
|
-
KR: 0,
|
17409
|
-
KW: 6,
|
17410
|
-
KZ: 1,
|
17411
|
-
LA: 0,
|
17412
|
-
LB: 1,
|
17413
|
-
LI: 1,
|
17414
|
-
LK: 1,
|
17415
|
-
LT: 1,
|
17416
|
-
LU: 1,
|
17417
|
-
LV: 1,
|
17418
|
-
LY: 6,
|
17419
|
-
MC: 1,
|
17420
|
-
MD: 1,
|
17421
|
-
ME: 1,
|
17422
|
-
MH: 0,
|
17423
|
-
MK: 1,
|
17424
|
-
MM: 0,
|
17425
|
-
MN: 1,
|
17426
|
-
MO: 0,
|
17427
|
-
MQ: 1,
|
17428
|
-
MT: 0,
|
17429
|
-
MV: 5,
|
17430
|
-
MX: 0,
|
17431
|
-
MY: 1,
|
17432
|
-
MZ: 0,
|
17433
|
-
NI: 0,
|
17434
|
-
NL: 1,
|
17435
|
-
NO: 1,
|
17436
|
-
NP: 0,
|
17437
|
-
NZ: 1,
|
17438
|
-
OM: 6,
|
17439
|
-
PA: 0,
|
17440
|
-
PE: 0,
|
17441
|
-
PH: 0,
|
17442
|
-
PK: 0,
|
17443
|
-
PL: 1,
|
17444
|
-
PR: 0,
|
17445
|
-
PT: 0,
|
17446
|
-
PY: 0,
|
17447
|
-
QA: 6,
|
17448
|
-
RE: 1,
|
17449
|
-
RO: 1,
|
17450
|
-
RS: 1,
|
17451
|
-
RU: 1,
|
17452
|
-
SA: 0,
|
17453
|
-
SD: 6,
|
17454
|
-
SE: 1,
|
17455
|
-
SG: 0,
|
17456
|
-
SI: 1,
|
17457
|
-
SK: 1,
|
17458
|
-
SM: 1,
|
17459
|
-
SV: 0,
|
17460
|
-
SY: 6,
|
17461
|
-
TH: 0,
|
17462
|
-
TJ: 1,
|
17463
|
-
TM: 1,
|
17464
|
-
TR: 1,
|
17465
|
-
TT: 0,
|
17466
|
-
TW: 0,
|
17467
|
-
UA: 1,
|
17468
|
-
UM: 0,
|
17469
|
-
US: 0,
|
17470
|
-
UY: 1,
|
17471
|
-
UZ: 1,
|
17472
|
-
VA: 1,
|
17473
|
-
VE: 0,
|
17474
|
-
VI: 0,
|
17475
|
-
VN: 1,
|
17476
|
-
WS: 0,
|
17477
|
-
XK: 1,
|
17478
|
-
YE: 0,
|
17479
|
-
ZA: 0,
|
17480
|
-
ZW: 0
|
17481
|
-
};
|
17348
|
+
function weekInfo(locale) {
|
17349
|
+
// https://simplelocalize.io/data/locales/
|
17350
|
+
// then `new Intl.Locale(...).getWeekInfo()`
|
17351
|
+
const code = locale.slice(-2).toUpperCase();
|
17352
|
+
switch (true) {
|
17353
|
+
case locale === 'GB-alt-variant':
|
17354
|
+
{
|
17355
|
+
return {
|
17356
|
+
firstDay: 0,
|
17357
|
+
firstWeekSize: 4
|
17358
|
+
};
|
17359
|
+
}
|
17360
|
+
case locale === '001':
|
17361
|
+
{
|
17362
|
+
return {
|
17363
|
+
firstDay: 1,
|
17364
|
+
firstWeekSize: 1
|
17365
|
+
};
|
17366
|
+
}
|
17367
|
+
case `AG AS BD BR BS BT BW BZ CA CO DM DO ET GT GU HK HN ID IL IN JM JP KE
|
17368
|
+
KH KR LA MH MM MO MT MX MZ NI NP PA PE PH PK PR PY SA SG SV TH TT TW UM US
|
17369
|
+
VE VI WS YE ZA ZW`.includes(code):
|
17370
|
+
{
|
17371
|
+
return {
|
17372
|
+
firstDay: 0,
|
17373
|
+
firstWeekSize: 1
|
17374
|
+
};
|
17375
|
+
}
|
17376
|
+
case `AI AL AM AR AU AZ BA BM BN BY CL CM CN CR CY EC GE HR KG KZ LB LK LV
|
17377
|
+
MD ME MK MN MY NZ RO RS SI TJ TM TR UA UY UZ VN XK`.includes(code):
|
17378
|
+
{
|
17379
|
+
return {
|
17380
|
+
firstDay: 1,
|
17381
|
+
firstWeekSize: 1
|
17382
|
+
};
|
17383
|
+
}
|
17384
|
+
case `AD AN AT AX BE BG CH CZ DE DK EE ES FI FJ FO FR GB GF GP GR HU IE IS
|
17385
|
+
IT LI LT LU MC MQ NL NO PL RE RU SE SK SM VA`.includes(code):
|
17386
|
+
{
|
17387
|
+
return {
|
17388
|
+
firstDay: 1,
|
17389
|
+
firstWeekSize: 4
|
17390
|
+
};
|
17391
|
+
}
|
17392
|
+
case `AE AF BH DJ DZ EG IQ IR JO KW LY OM QA SD SY`.includes(code):
|
17393
|
+
{
|
17394
|
+
return {
|
17395
|
+
firstDay: 6,
|
17396
|
+
firstWeekSize: 1
|
17397
|
+
};
|
17398
|
+
}
|
17399
|
+
case code === 'MV':
|
17400
|
+
{
|
17401
|
+
return {
|
17402
|
+
firstDay: 5,
|
17403
|
+
firstWeekSize: 1
|
17404
|
+
};
|
17405
|
+
}
|
17406
|
+
case code === 'PT':
|
17407
|
+
{
|
17408
|
+
return {
|
17409
|
+
firstDay: 0,
|
17410
|
+
firstWeekSize: 4
|
17411
|
+
};
|
17412
|
+
}
|
17413
|
+
default:
|
17414
|
+
return null;
|
17415
|
+
}
|
17416
|
+
}
|
17482
17417
|
function getWeekArray(date, locale, firstDayOfWeek) {
|
17483
17418
|
const weeks = [];
|
17484
17419
|
let currentWeek = [];
|
17485
17420
|
const firstDayOfMonth = startOfMonth(date);
|
17486
17421
|
const lastDayOfMonth = endOfMonth(date);
|
17487
|
-
const first = firstDayOfWeek ??
|
17422
|
+
const first = firstDayOfWeek ?? weekInfo(locale)?.firstDay ?? 0;
|
17488
17423
|
const firstDayWeekIndex = (firstDayOfMonth.getDay() - first + 7) % 7;
|
17489
17424
|
const lastDayWeekIndex = (lastDayOfMonth.getDay() - first + 7) % 7;
|
17490
17425
|
for (let i = 0; i < firstDayWeekIndex; i++) {
|
@@ -17515,7 +17450,7 @@
|
|
17515
17450
|
return weeks;
|
17516
17451
|
}
|
17517
17452
|
function startOfWeek(date, locale, firstDayOfWeek) {
|
17518
|
-
const day = firstDayOfWeek ??
|
17453
|
+
const day = firstDayOfWeek ?? weekInfo(locale)?.firstDay ?? 0;
|
17519
17454
|
const d = new Date(date);
|
17520
17455
|
while (d.getDay() !== day) {
|
17521
17456
|
d.setDate(d.getDate() - 1);
|
@@ -17524,7 +17459,7 @@
|
|
17524
17459
|
}
|
17525
17460
|
function endOfWeek(date, locale) {
|
17526
17461
|
const d = new Date(date);
|
17527
|
-
const lastDay = ((
|
17462
|
+
const lastDay = ((weekInfo(locale)?.firstDay ?? 0) + 6) % 7;
|
17528
17463
|
while (d.getDay() !== lastDay) {
|
17529
17464
|
d.setDate(d.getDate() + 1);
|
17530
17465
|
}
|
@@ -17559,7 +17494,7 @@
|
|
17559
17494
|
}
|
17560
17495
|
const sundayJanuarySecond2000 = new Date(2000, 0, 2);
|
17561
17496
|
function getWeekdays(locale, firstDayOfWeek) {
|
17562
|
-
const daysFromSunday = firstDayOfWeek ??
|
17497
|
+
const daysFromSunday = firstDayOfWeek ?? weekInfo(locale)?.firstDay ?? 0;
|
17563
17498
|
return createRange(7).map(i => {
|
17564
17499
|
const weekday = new Date(sundayJanuarySecond2000);
|
17565
17500
|
weekday.setDate(sundayJanuarySecond2000.getDate() + daysFromSunday + i);
|
@@ -17807,6 +17742,24 @@
|
|
17807
17742
|
function getMonth(date) {
|
17808
17743
|
return date.getMonth();
|
17809
17744
|
}
|
17745
|
+
function getWeek(date, locale, firstDayOfWeek, firstWeekMinSize) {
|
17746
|
+
const weekInfoFromLocale = weekInfo(locale);
|
17747
|
+
const weekStart = firstDayOfWeek ?? weekInfoFromLocale?.firstDay ?? 0;
|
17748
|
+
const minWeekSize = firstWeekMinSize ?? weekInfoFromLocale?.firstWeekSize ?? 1;
|
17749
|
+
function firstWeekSize(year) {
|
17750
|
+
const yearStart = new Date(year, 0, 1);
|
17751
|
+
return 7 - getDiff(yearStart, startOfWeek(yearStart, locale, weekStart), 'days');
|
17752
|
+
}
|
17753
|
+
let year = getYear(date);
|
17754
|
+
const currentWeekEnd = addDays(startOfWeek(date, locale, weekStart), 6);
|
17755
|
+
if (year < getYear(currentWeekEnd) && firstWeekSize(year + 1) >= minWeekSize) {
|
17756
|
+
year++;
|
17757
|
+
}
|
17758
|
+
const yearStart = new Date(year, 0, 1);
|
17759
|
+
const size = firstWeekSize(year);
|
17760
|
+
const d1w1 = size >= minWeekSize ? addDays(yearStart, size - 7) : addDays(yearStart, size);
|
17761
|
+
return 1 + getDiff(date, d1w1, 'weeks');
|
17762
|
+
}
|
17810
17763
|
function getDate(date) {
|
17811
17764
|
return date.getDate();
|
17812
17765
|
}
|
@@ -17946,10 +17899,12 @@
|
|
17946
17899
|
return addMonths(date, amount);
|
17947
17900
|
}
|
17948
17901
|
getWeekArray(date, firstDayOfWeek) {
|
17949
|
-
|
17902
|
+
const firstDay = firstDayOfWeek !== undefined ? Number(firstDayOfWeek) : undefined;
|
17903
|
+
return getWeekArray(date, this.locale, firstDay);
|
17950
17904
|
}
|
17951
17905
|
startOfWeek(date, firstDayOfWeek) {
|
17952
|
-
|
17906
|
+
const firstDay = firstDayOfWeek !== undefined ? Number(firstDayOfWeek) : undefined;
|
17907
|
+
return startOfWeek(date, this.locale, firstDay);
|
17953
17908
|
}
|
17954
17909
|
endOfWeek(date) {
|
17955
17910
|
return endOfWeek(date, this.locale);
|
@@ -18009,7 +17964,8 @@
|
|
18009
17964
|
return getDiff(date, comparing, unit);
|
18010
17965
|
}
|
18011
17966
|
getWeekdays(firstDayOfWeek) {
|
18012
|
-
|
17967
|
+
const firstDay = firstDayOfWeek !== undefined ? Number(firstDayOfWeek) : undefined;
|
17968
|
+
return getWeekdays(this.locale, firstDay);
|
18013
17969
|
}
|
18014
17970
|
getYear(date) {
|
18015
17971
|
return getYear(date);
|
@@ -18017,6 +17973,10 @@
|
|
18017
17973
|
getMonth(date) {
|
18018
17974
|
return getMonth(date);
|
18019
17975
|
}
|
17976
|
+
getWeek(date, firstDayOfWeek, firstWeekMinSize) {
|
17977
|
+
const firstDay = firstDayOfWeek !== undefined ? Number(firstDayOfWeek) : undefined;
|
17978
|
+
return getWeek(date, this.locale, firstDay, firstWeekMinSize);
|
17979
|
+
}
|
18020
17980
|
getDate(date) {
|
18021
17981
|
return getDate(date);
|
18022
17982
|
}
|
@@ -18120,26 +18080,6 @@
|
|
18120
18080
|
return createInstance(options, locale);
|
18121
18081
|
}
|
18122
18082
|
|
18123
|
-
// https://stackoverflow.com/questions/274861/how-do-i-calculate-the-week-number-given-a-date/275024#275024
|
18124
|
-
function getWeek(adapter, value) {
|
18125
|
-
const date = adapter.toJsDate(value);
|
18126
|
-
let year = date.getFullYear();
|
18127
|
-
let d1w1 = new Date(year, 0, 1);
|
18128
|
-
if (date < d1w1) {
|
18129
|
-
year = year - 1;
|
18130
|
-
d1w1 = new Date(year, 0, 1);
|
18131
|
-
} else {
|
18132
|
-
const tv = new Date(year + 1, 0, 1);
|
18133
|
-
if (date >= tv) {
|
18134
|
-
year = year + 1;
|
18135
|
-
d1w1 = tv;
|
18136
|
-
}
|
18137
|
-
}
|
18138
|
-
const diffTime = Math.abs(date.getTime() - d1w1.getTime());
|
18139
|
-
const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24));
|
18140
|
-
return Math.floor(diffDays / 7) + 1;
|
18141
|
-
}
|
18142
|
-
|
18143
18083
|
// Types
|
18144
18084
|
|
18145
18085
|
const makeVColorPickerProps = propsFactory({
|
@@ -18686,8 +18626,7 @@
|
|
18686
18626
|
onClick: () => select(item, null)
|
18687
18627
|
});
|
18688
18628
|
return slots.item?.({
|
18689
|
-
item
|
18690
|
-
internalItem: item,
|
18629
|
+
item,
|
18691
18630
|
index,
|
18692
18631
|
props: itemProps
|
18693
18632
|
}) ?? vue.createVNode(VListItem, vue.mergeProps(itemProps, {
|
@@ -18738,13 +18677,11 @@
|
|
18738
18677
|
};
|
18739
18678
|
const hasSlot = hasChips.value ? !!slots.chip : !!slots.selection;
|
18740
18679
|
const slotContent = hasSlot ? ensureValidVNode(hasChips.value ? slots.chip({
|
18741
|
-
item
|
18742
|
-
internalItem: item,
|
18680
|
+
item,
|
18743
18681
|
index,
|
18744
18682
|
props: slotProps
|
18745
18683
|
}) : slots.selection({
|
18746
|
-
item
|
18747
|
-
internalItem: item,
|
18684
|
+
item,
|
18748
18685
|
index
|
18749
18686
|
})) : undefined;
|
18750
18687
|
if (hasSlot && !slotContent) return undefined;
|
@@ -22331,7 +22268,7 @@
|
|
22331
22268
|
},
|
22332
22269
|
firstDayOfWeek: {
|
22333
22270
|
type: [Number, String],
|
22334
|
-
default:
|
22271
|
+
default: undefined
|
22335
22272
|
}
|
22336
22273
|
}, 'calendar');
|
22337
22274
|
function useCalendar(props) {
|
@@ -22354,14 +22291,12 @@
|
|
22354
22291
|
return adapter.setMonth(date, value);
|
22355
22292
|
}, v => adapter.getMonth(v));
|
22356
22293
|
const weekDays = vue.computed(() => {
|
22357
|
-
const firstDayOfWeek =
|
22358
|
-
|
22294
|
+
const firstDayOfWeek = adapter.toJsDate(adapter.startOfWeek(adapter.date(), props.firstDayOfWeek)).getDay();
|
22359
22295
|
// Always generate all days, regardless of props.weekdays
|
22360
22296
|
return [0, 1, 2, 3, 4, 5, 6].map(day => (day + firstDayOfWeek) % 7);
|
22361
22297
|
});
|
22362
22298
|
const weeksInMonth = vue.computed(() => {
|
22363
|
-
const
|
22364
|
-
const weeks = adapter.getWeekArray(month.value, firstDayOfWeek);
|
22299
|
+
const weeks = adapter.getWeekArray(month.value, props.firstDayOfWeek);
|
22365
22300
|
const days = weeks.flat();
|
22366
22301
|
|
22367
22302
|
// Make sure there's always 6 weeks in month (6 * 7 days)
|
@@ -22425,7 +22360,7 @@
|
|
22425
22360
|
});
|
22426
22361
|
const weekNumbers = vue.computed(() => {
|
22427
22362
|
return weeksInMonth.value.map(week => {
|
22428
|
-
return week.length ? getWeek(
|
22363
|
+
return week.length ? adapter.getWeek(week[0], props.firstDayOfWeek) : null;
|
22429
22364
|
});
|
22430
22365
|
});
|
22431
22366
|
function isDisabled(value) {
|
@@ -23914,17 +23849,7 @@
|
|
23914
23849
|
"novalidate": true,
|
23915
23850
|
"onReset": onReset,
|
23916
23851
|
"onSubmit": onSubmit
|
23917
|
-
}, [slots.default?.(
|
23918
|
-
errors: form.errors.value,
|
23919
|
-
isDisabled: form.isDisabled.value,
|
23920
|
-
isReadonly: form.isReadonly.value,
|
23921
|
-
isValidating: form.isValidating.value,
|
23922
|
-
isValid: form.isValid.value,
|
23923
|
-
items: form.items.value,
|
23924
|
-
validate: form.validate,
|
23925
|
-
reset: form.reset,
|
23926
|
-
resetValidation: form.resetValidation
|
23927
|
-
})]));
|
23852
|
+
}, [slots.default?.(form)]));
|
23928
23853
|
return forwardRefs(form, formRef);
|
23929
23854
|
}
|
23930
23855
|
});
|
@@ -29333,7 +29258,7 @@
|
|
29333
29258
|
};
|
29334
29259
|
});
|
29335
29260
|
}
|
29336
|
-
const version$1 = "3.8.
|
29261
|
+
const version$1 = "3.8.2-dev.2025-04-28";
|
29337
29262
|
createVuetify$1.version = version$1;
|
29338
29263
|
|
29339
29264
|
// Vue's inject() can only be used in setup
|
@@ -29358,7 +29283,7 @@
|
|
29358
29283
|
...options
|
29359
29284
|
});
|
29360
29285
|
};
|
29361
|
-
const version = "3.8.
|
29286
|
+
const version = "3.8.2-dev.2025-04-28";
|
29362
29287
|
createVuetify.version = version;
|
29363
29288
|
|
29364
29289
|
exports.blueprints = index;
|