@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.esm.js
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
|
*/
|
@@ -1937,7 +1937,7 @@ const md3 = {
|
|
1937
1937
|
flat: true
|
1938
1938
|
},
|
1939
1939
|
VAutocomplete: {
|
1940
|
-
variant: '
|
1940
|
+
variant: 'outlined'
|
1941
1941
|
},
|
1942
1942
|
VBanner: {
|
1943
1943
|
color: 'primary'
|
@@ -1966,7 +1966,10 @@ const md3 = {
|
|
1966
1966
|
rounded: 'sm'
|
1967
1967
|
},
|
1968
1968
|
VCombobox: {
|
1969
|
-
variant: '
|
1969
|
+
variant: 'outlined'
|
1970
|
+
},
|
1971
|
+
VDateInput: {
|
1972
|
+
variant: 'outlined'
|
1970
1973
|
},
|
1971
1974
|
VDatePicker: {
|
1972
1975
|
controlHeight: 48,
|
@@ -1980,6 +1983,9 @@ const md3 = {
|
|
1980
1983
|
rounded: 'circle'
|
1981
1984
|
}
|
1982
1985
|
},
|
1986
|
+
VFileInput: {
|
1987
|
+
variant: 'outlined'
|
1988
|
+
},
|
1983
1989
|
VNavigationDrawer: {
|
1984
1990
|
// VList: {
|
1985
1991
|
// nav: true,
|
@@ -1988,8 +1994,15 @@ const md3 = {
|
|
1988
1994
|
// },
|
1989
1995
|
// },
|
1990
1996
|
},
|
1997
|
+
VNumberInput: {
|
1998
|
+
variant: 'outlined',
|
1999
|
+
VBtn: {
|
2000
|
+
color: undefined,
|
2001
|
+
rounded: undefined
|
2002
|
+
}
|
2003
|
+
},
|
1991
2004
|
VSelect: {
|
1992
|
-
variant: '
|
2005
|
+
variant: 'outlined'
|
1993
2006
|
},
|
1994
2007
|
VSlider: {
|
1995
2008
|
color: 'primary'
|
@@ -1998,10 +2011,10 @@ const md3 = {
|
|
1998
2011
|
color: 'primary'
|
1999
2012
|
},
|
2000
2013
|
VTextarea: {
|
2001
|
-
variant: '
|
2014
|
+
variant: 'outlined'
|
2002
2015
|
},
|
2003
2016
|
VTextField: {
|
2004
|
-
variant: '
|
2017
|
+
variant: 'outlined'
|
2005
2018
|
},
|
2006
2019
|
VToolbar: {
|
2007
2020
|
VBtn: {
|
@@ -2754,7 +2767,7 @@ const makeThemeProps = propsFactory({
|
|
2754
2767
|
}, 'theme');
|
2755
2768
|
function genDefaults$1() {
|
2756
2769
|
return {
|
2757
|
-
defaultTheme: '
|
2770
|
+
defaultTheme: 'light',
|
2758
2771
|
prefix: 'v-',
|
2759
2772
|
variations: {
|
2760
2773
|
colors: [],
|
@@ -2806,8 +2819,8 @@ function genDefaults$1() {
|
|
2806
2819
|
surface: '#212121',
|
2807
2820
|
'surface-bright': '#ccbfd6',
|
2808
2821
|
'surface-light': '#424242',
|
2809
|
-
'surface-variant': '#
|
2810
|
-
'on-surface-variant': '#
|
2822
|
+
'surface-variant': '#c8c8c8',
|
2823
|
+
'on-surface-variant': '#000000',
|
2811
2824
|
primary: '#2196F3',
|
2812
2825
|
'primary-darken-1': '#277CC1',
|
2813
2826
|
secondary: '#54B6B2',
|
@@ -2839,7 +2852,7 @@ function genDefaults$1() {
|
|
2839
2852
|
},
|
2840
2853
|
stylesheetId: 'vuetify-theme-stylesheet',
|
2841
2854
|
scoped: false,
|
2842
|
-
unimportant:
|
2855
|
+
unimportant: false,
|
2843
2856
|
utilities: true
|
2844
2857
|
};
|
2845
2858
|
}
|
@@ -2997,7 +3010,7 @@ function createTheme(options) {
|
|
2997
3010
|
}
|
2998
3011
|
lines.push(...bgLines, ...fgLines);
|
2999
3012
|
}
|
3000
|
-
return
|
3013
|
+
return lines.map((str, i) => i === 0 ? str : ` ${str}`).join('');
|
3001
3014
|
});
|
3002
3015
|
const themeClasses = computed(() => parsedOptions.isDisabled ? undefined : `${parsedOptions.prefix}theme--${name.value}`);
|
3003
3016
|
const themeNames = computed(() => Object.keys(computedThemes.value));
|
@@ -4653,9 +4666,15 @@ function useVariant(props) {
|
|
4653
4666
|
};
|
4654
4667
|
}
|
4655
4668
|
|
4669
|
+
// Types
|
4670
|
+
|
4656
4671
|
const makeVBtnGroupProps = propsFactory({
|
4657
4672
|
baseColor: String,
|
4658
4673
|
divided: Boolean,
|
4674
|
+
direction: {
|
4675
|
+
type: String,
|
4676
|
+
default: 'horizontal'
|
4677
|
+
},
|
4659
4678
|
...makeBorderProps(),
|
4660
4679
|
...makeComponentProps(),
|
4661
4680
|
...makeDensityProps(),
|
@@ -4689,7 +4708,7 @@ const VBtnGroup = genericComponent()({
|
|
4689
4708
|
} = useRounded(props);
|
4690
4709
|
provideDefaults({
|
4691
4710
|
VBtn: {
|
4692
|
-
height: 'auto',
|
4711
|
+
height: props.direction === 'horizontal' ? 'auto' : null,
|
4693
4712
|
baseColor: toRef(props, 'baseColor'),
|
4694
4713
|
color: toRef(props, 'color'),
|
4695
4714
|
density: toRef(props, 'density'),
|
@@ -4699,7 +4718,7 @@ const VBtnGroup = genericComponent()({
|
|
4699
4718
|
});
|
4700
4719
|
useRender(() => {
|
4701
4720
|
return createVNode(props.tag, {
|
4702
|
-
"class": ['v-btn-group', {
|
4721
|
+
"class": ['v-btn-group', `v-btn-group--${props.direction}`, {
|
4703
4722
|
'v-btn-group--divided': props.divided
|
4704
4723
|
}, themeClasses.value, borderClasses.value, densityClasses.value, elevationClasses.value, roundedClasses.value, props.class],
|
4705
4724
|
"style": props.style
|
@@ -7228,6 +7247,11 @@ function useValidation(props) {
|
|
7228
7247
|
}
|
7229
7248
|
async function validate() {
|
7230
7249
|
let silent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
7250
|
+
if (props.disabled || props.readonly) {
|
7251
|
+
internalErrorMessages.value = [];
|
7252
|
+
isValidating.value = false;
|
7253
|
+
return internalErrorMessages.value;
|
7254
|
+
}
|
7231
7255
|
const results = [];
|
7232
7256
|
isValidating.value = true;
|
7233
7257
|
for (const rule of props.rules) {
|
@@ -13271,8 +13295,7 @@ const VSelect = genericComponent()({
|
|
13271
13295
|
onClick: () => select(item, null)
|
13272
13296
|
});
|
13273
13297
|
return slots.item?.({
|
13274
|
-
item
|
13275
|
-
internalItem: item,
|
13298
|
+
item,
|
13276
13299
|
index,
|
13277
13300
|
props: itemProps
|
13278
13301
|
}) ?? createVNode(VListItem, mergeProps(itemProps, {
|
@@ -13320,13 +13343,11 @@ const VSelect = genericComponent()({
|
|
13320
13343
|
};
|
13321
13344
|
const hasSlot = hasChips ? !!slots.chip : !!slots.selection;
|
13322
13345
|
const slotContent = hasSlot ? ensureValidVNode(hasChips ? slots.chip({
|
13323
|
-
item
|
13324
|
-
internalItem: item,
|
13346
|
+
item,
|
13325
13347
|
index,
|
13326
13348
|
props: slotProps
|
13327
13349
|
}) : slots.selection({
|
13328
|
-
item
|
13329
|
-
internalItem: item,
|
13350
|
+
item,
|
13330
13351
|
index
|
13331
13352
|
})) : undefined;
|
13332
13353
|
if (hasSlot && !slotContent) return undefined;
|
@@ -13392,6 +13413,7 @@ const VSelect = genericComponent()({
|
|
13392
13413
|
// Composables
|
13393
13414
|
const defaultFilter = (value, query, item) => {
|
13394
13415
|
if (value == null || query == null) return -1;
|
13416
|
+
if (!query.length) return 0;
|
13395
13417
|
value = value.toString().toLocaleLowerCase();
|
13396
13418
|
query = query.toString().toLocaleLowerCase();
|
13397
13419
|
const result = [];
|
@@ -13404,7 +13426,7 @@ const defaultFilter = (value, query, item) => {
|
|
13404
13426
|
};
|
13405
13427
|
function normaliseMatch(match, query) {
|
13406
13428
|
if (match == null || typeof match === 'boolean' || match === -1) return;
|
13407
|
-
if (typeof match === 'number') return [[match, query.length]];
|
13429
|
+
if (typeof match === 'number') return [[match, match + query.length]];
|
13408
13430
|
if (Array.isArray(match[0])) return match;
|
13409
13431
|
return [match];
|
13410
13432
|
}
|
@@ -13872,8 +13894,7 @@ const VAutocomplete = genericComponent()({
|
|
13872
13894
|
onClick: () => select(item, null)
|
13873
13895
|
});
|
13874
13896
|
return slots.item?.({
|
13875
|
-
item
|
13876
|
-
internalItem: item,
|
13897
|
+
item,
|
13877
13898
|
index,
|
13878
13899
|
props: itemProps
|
13879
13900
|
}) ?? createVNode(VListItem, mergeProps(itemProps, {
|
@@ -13924,13 +13945,11 @@ const VAutocomplete = genericComponent()({
|
|
13924
13945
|
};
|
13925
13946
|
const hasSlot = hasChips.value ? !!slots.chip : !!slots.selection;
|
13926
13947
|
const slotContent = hasSlot ? ensureValidVNode(hasChips.value ? slots.chip({
|
13927
|
-
item
|
13928
|
-
internalItem: item,
|
13948
|
+
item,
|
13929
13949
|
index,
|
13930
13950
|
props: slotProps
|
13931
13951
|
}) : slots.selection({
|
13932
|
-
item
|
13933
|
-
internalItem: item,
|
13952
|
+
item,
|
13934
13953
|
index
|
13935
13954
|
})) : undefined;
|
13936
13955
|
if (hasSlot && !slotContent) return undefined;
|
@@ -17322,165 +17341,81 @@ const VPicker = genericComponent()({
|
|
17322
17341
|
|
17323
17342
|
// Types
|
17324
17343
|
|
17325
|
-
|
17326
|
-
|
17327
|
-
|
17328
|
-
|
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
|
-
IQ: 6,
|
17395
|
-
IR: 6,
|
17396
|
-
IS: 1,
|
17397
|
-
IT: 1,
|
17398
|
-
JM: 0,
|
17399
|
-
JO: 6,
|
17400
|
-
JP: 0,
|
17401
|
-
KE: 0,
|
17402
|
-
KG: 1,
|
17403
|
-
KH: 0,
|
17404
|
-
KR: 0,
|
17405
|
-
KW: 6,
|
17406
|
-
KZ: 1,
|
17407
|
-
LA: 0,
|
17408
|
-
LB: 1,
|
17409
|
-
LI: 1,
|
17410
|
-
LK: 1,
|
17411
|
-
LT: 1,
|
17412
|
-
LU: 1,
|
17413
|
-
LV: 1,
|
17414
|
-
LY: 6,
|
17415
|
-
MC: 1,
|
17416
|
-
MD: 1,
|
17417
|
-
ME: 1,
|
17418
|
-
MH: 0,
|
17419
|
-
MK: 1,
|
17420
|
-
MM: 0,
|
17421
|
-
MN: 1,
|
17422
|
-
MO: 0,
|
17423
|
-
MQ: 1,
|
17424
|
-
MT: 0,
|
17425
|
-
MV: 5,
|
17426
|
-
MX: 0,
|
17427
|
-
MY: 1,
|
17428
|
-
MZ: 0,
|
17429
|
-
NI: 0,
|
17430
|
-
NL: 1,
|
17431
|
-
NO: 1,
|
17432
|
-
NP: 0,
|
17433
|
-
NZ: 1,
|
17434
|
-
OM: 6,
|
17435
|
-
PA: 0,
|
17436
|
-
PE: 0,
|
17437
|
-
PH: 0,
|
17438
|
-
PK: 0,
|
17439
|
-
PL: 1,
|
17440
|
-
PR: 0,
|
17441
|
-
PT: 0,
|
17442
|
-
PY: 0,
|
17443
|
-
QA: 6,
|
17444
|
-
RE: 1,
|
17445
|
-
RO: 1,
|
17446
|
-
RS: 1,
|
17447
|
-
RU: 1,
|
17448
|
-
SA: 0,
|
17449
|
-
SD: 6,
|
17450
|
-
SE: 1,
|
17451
|
-
SG: 0,
|
17452
|
-
SI: 1,
|
17453
|
-
SK: 1,
|
17454
|
-
SM: 1,
|
17455
|
-
SV: 0,
|
17456
|
-
SY: 6,
|
17457
|
-
TH: 0,
|
17458
|
-
TJ: 1,
|
17459
|
-
TM: 1,
|
17460
|
-
TR: 1,
|
17461
|
-
TT: 0,
|
17462
|
-
TW: 0,
|
17463
|
-
UA: 1,
|
17464
|
-
UM: 0,
|
17465
|
-
US: 0,
|
17466
|
-
UY: 1,
|
17467
|
-
UZ: 1,
|
17468
|
-
VA: 1,
|
17469
|
-
VE: 0,
|
17470
|
-
VI: 0,
|
17471
|
-
VN: 1,
|
17472
|
-
WS: 0,
|
17473
|
-
XK: 1,
|
17474
|
-
YE: 0,
|
17475
|
-
ZA: 0,
|
17476
|
-
ZW: 0
|
17477
|
-
};
|
17344
|
+
function weekInfo(locale) {
|
17345
|
+
// https://simplelocalize.io/data/locales/
|
17346
|
+
// then `new Intl.Locale(...).getWeekInfo()`
|
17347
|
+
const code = locale.slice(-2).toUpperCase();
|
17348
|
+
switch (true) {
|
17349
|
+
case locale === 'GB-alt-variant':
|
17350
|
+
{
|
17351
|
+
return {
|
17352
|
+
firstDay: 0,
|
17353
|
+
firstWeekSize: 4
|
17354
|
+
};
|
17355
|
+
}
|
17356
|
+
case locale === '001':
|
17357
|
+
{
|
17358
|
+
return {
|
17359
|
+
firstDay: 1,
|
17360
|
+
firstWeekSize: 1
|
17361
|
+
};
|
17362
|
+
}
|
17363
|
+
case `AG AS BD BR BS BT BW BZ CA CO DM DO ET GT GU HK HN ID IL IN JM JP KE
|
17364
|
+
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
|
17365
|
+
VE VI WS YE ZA ZW`.includes(code):
|
17366
|
+
{
|
17367
|
+
return {
|
17368
|
+
firstDay: 0,
|
17369
|
+
firstWeekSize: 1
|
17370
|
+
};
|
17371
|
+
}
|
17372
|
+
case `AI AL AM AR AU AZ BA BM BN BY CL CM CN CR CY EC GE HR KG KZ LB LK LV
|
17373
|
+
MD ME MK MN MY NZ RO RS SI TJ TM TR UA UY UZ VN XK`.includes(code):
|
17374
|
+
{
|
17375
|
+
return {
|
17376
|
+
firstDay: 1,
|
17377
|
+
firstWeekSize: 1
|
17378
|
+
};
|
17379
|
+
}
|
17380
|
+
case `AD AN AT AX BE BG CH CZ DE DK EE ES FI FJ FO FR GB GF GP GR HU IE IS
|
17381
|
+
IT LI LT LU MC MQ NL NO PL RE RU SE SK SM VA`.includes(code):
|
17382
|
+
{
|
17383
|
+
return {
|
17384
|
+
firstDay: 1,
|
17385
|
+
firstWeekSize: 4
|
17386
|
+
};
|
17387
|
+
}
|
17388
|
+
case `AE AF BH DJ DZ EG IQ IR JO KW LY OM QA SD SY`.includes(code):
|
17389
|
+
{
|
17390
|
+
return {
|
17391
|
+
firstDay: 6,
|
17392
|
+
firstWeekSize: 1
|
17393
|
+
};
|
17394
|
+
}
|
17395
|
+
case code === 'MV':
|
17396
|
+
{
|
17397
|
+
return {
|
17398
|
+
firstDay: 5,
|
17399
|
+
firstWeekSize: 1
|
17400
|
+
};
|
17401
|
+
}
|
17402
|
+
case code === 'PT':
|
17403
|
+
{
|
17404
|
+
return {
|
17405
|
+
firstDay: 0,
|
17406
|
+
firstWeekSize: 4
|
17407
|
+
};
|
17408
|
+
}
|
17409
|
+
default:
|
17410
|
+
return null;
|
17411
|
+
}
|
17412
|
+
}
|
17478
17413
|
function getWeekArray(date, locale, firstDayOfWeek) {
|
17479
17414
|
const weeks = [];
|
17480
17415
|
let currentWeek = [];
|
17481
17416
|
const firstDayOfMonth = startOfMonth(date);
|
17482
17417
|
const lastDayOfMonth = endOfMonth(date);
|
17483
|
-
const first = firstDayOfWeek ??
|
17418
|
+
const first = firstDayOfWeek ?? weekInfo(locale)?.firstDay ?? 0;
|
17484
17419
|
const firstDayWeekIndex = (firstDayOfMonth.getDay() - first + 7) % 7;
|
17485
17420
|
const lastDayWeekIndex = (lastDayOfMonth.getDay() - first + 7) % 7;
|
17486
17421
|
for (let i = 0; i < firstDayWeekIndex; i++) {
|
@@ -17511,7 +17446,7 @@ function getWeekArray(date, locale, firstDayOfWeek) {
|
|
17511
17446
|
return weeks;
|
17512
17447
|
}
|
17513
17448
|
function startOfWeek(date, locale, firstDayOfWeek) {
|
17514
|
-
const day = firstDayOfWeek ??
|
17449
|
+
const day = firstDayOfWeek ?? weekInfo(locale)?.firstDay ?? 0;
|
17515
17450
|
const d = new Date(date);
|
17516
17451
|
while (d.getDay() !== day) {
|
17517
17452
|
d.setDate(d.getDate() - 1);
|
@@ -17520,7 +17455,7 @@ function startOfWeek(date, locale, firstDayOfWeek) {
|
|
17520
17455
|
}
|
17521
17456
|
function endOfWeek(date, locale) {
|
17522
17457
|
const d = new Date(date);
|
17523
|
-
const lastDay = ((
|
17458
|
+
const lastDay = ((weekInfo(locale)?.firstDay ?? 0) + 6) % 7;
|
17524
17459
|
while (d.getDay() !== lastDay) {
|
17525
17460
|
d.setDate(d.getDate() + 1);
|
17526
17461
|
}
|
@@ -17555,7 +17490,7 @@ function date(value) {
|
|
17555
17490
|
}
|
17556
17491
|
const sundayJanuarySecond2000 = new Date(2000, 0, 2);
|
17557
17492
|
function getWeekdays(locale, firstDayOfWeek) {
|
17558
|
-
const daysFromSunday = firstDayOfWeek ??
|
17493
|
+
const daysFromSunday = firstDayOfWeek ?? weekInfo(locale)?.firstDay ?? 0;
|
17559
17494
|
return createRange(7).map(i => {
|
17560
17495
|
const weekday = new Date(sundayJanuarySecond2000);
|
17561
17496
|
weekday.setDate(sundayJanuarySecond2000.getDate() + daysFromSunday + i);
|
@@ -17803,6 +17738,24 @@ function getYear(date) {
|
|
17803
17738
|
function getMonth(date) {
|
17804
17739
|
return date.getMonth();
|
17805
17740
|
}
|
17741
|
+
function getWeek(date, locale, firstDayOfWeek, firstWeekMinSize) {
|
17742
|
+
const weekInfoFromLocale = weekInfo(locale);
|
17743
|
+
const weekStart = firstDayOfWeek ?? weekInfoFromLocale?.firstDay ?? 0;
|
17744
|
+
const minWeekSize = firstWeekMinSize ?? weekInfoFromLocale?.firstWeekSize ?? 1;
|
17745
|
+
function firstWeekSize(year) {
|
17746
|
+
const yearStart = new Date(year, 0, 1);
|
17747
|
+
return 7 - getDiff(yearStart, startOfWeek(yearStart, locale, weekStart), 'days');
|
17748
|
+
}
|
17749
|
+
let year = getYear(date);
|
17750
|
+
const currentWeekEnd = addDays(startOfWeek(date, locale, weekStart), 6);
|
17751
|
+
if (year < getYear(currentWeekEnd) && firstWeekSize(year + 1) >= minWeekSize) {
|
17752
|
+
year++;
|
17753
|
+
}
|
17754
|
+
const yearStart = new Date(year, 0, 1);
|
17755
|
+
const size = firstWeekSize(year);
|
17756
|
+
const d1w1 = size >= minWeekSize ? addDays(yearStart, size - 7) : addDays(yearStart, size);
|
17757
|
+
return 1 + getDiff(date, d1w1, 'weeks');
|
17758
|
+
}
|
17806
17759
|
function getDate(date) {
|
17807
17760
|
return date.getDate();
|
17808
17761
|
}
|
@@ -17942,10 +17895,12 @@ class VuetifyDateAdapter {
|
|
17942
17895
|
return addMonths(date, amount);
|
17943
17896
|
}
|
17944
17897
|
getWeekArray(date, firstDayOfWeek) {
|
17945
|
-
|
17898
|
+
const firstDay = firstDayOfWeek !== undefined ? Number(firstDayOfWeek) : undefined;
|
17899
|
+
return getWeekArray(date, this.locale, firstDay);
|
17946
17900
|
}
|
17947
17901
|
startOfWeek(date, firstDayOfWeek) {
|
17948
|
-
|
17902
|
+
const firstDay = firstDayOfWeek !== undefined ? Number(firstDayOfWeek) : undefined;
|
17903
|
+
return startOfWeek(date, this.locale, firstDay);
|
17949
17904
|
}
|
17950
17905
|
endOfWeek(date) {
|
17951
17906
|
return endOfWeek(date, this.locale);
|
@@ -18005,7 +17960,8 @@ class VuetifyDateAdapter {
|
|
18005
17960
|
return getDiff(date, comparing, unit);
|
18006
17961
|
}
|
18007
17962
|
getWeekdays(firstDayOfWeek) {
|
18008
|
-
|
17963
|
+
const firstDay = firstDayOfWeek !== undefined ? Number(firstDayOfWeek) : undefined;
|
17964
|
+
return getWeekdays(this.locale, firstDay);
|
18009
17965
|
}
|
18010
17966
|
getYear(date) {
|
18011
17967
|
return getYear(date);
|
@@ -18013,6 +17969,10 @@ class VuetifyDateAdapter {
|
|
18013
17969
|
getMonth(date) {
|
18014
17970
|
return getMonth(date);
|
18015
17971
|
}
|
17972
|
+
getWeek(date, firstDayOfWeek, firstWeekMinSize) {
|
17973
|
+
const firstDay = firstDayOfWeek !== undefined ? Number(firstDayOfWeek) : undefined;
|
17974
|
+
return getWeek(date, this.locale, firstDay, firstWeekMinSize);
|
17975
|
+
}
|
18016
17976
|
getDate(date) {
|
18017
17977
|
return getDate(date);
|
18018
17978
|
}
|
@@ -18116,26 +18076,6 @@ function useDate() {
|
|
18116
18076
|
return createInstance(options, locale);
|
18117
18077
|
}
|
18118
18078
|
|
18119
|
-
// https://stackoverflow.com/questions/274861/how-do-i-calculate-the-week-number-given-a-date/275024#275024
|
18120
|
-
function getWeek(adapter, value) {
|
18121
|
-
const date = adapter.toJsDate(value);
|
18122
|
-
let year = date.getFullYear();
|
18123
|
-
let d1w1 = new Date(year, 0, 1);
|
18124
|
-
if (date < d1w1) {
|
18125
|
-
year = year - 1;
|
18126
|
-
d1w1 = new Date(year, 0, 1);
|
18127
|
-
} else {
|
18128
|
-
const tv = new Date(year + 1, 0, 1);
|
18129
|
-
if (date >= tv) {
|
18130
|
-
year = year + 1;
|
18131
|
-
d1w1 = tv;
|
18132
|
-
}
|
18133
|
-
}
|
18134
|
-
const diffTime = Math.abs(date.getTime() - d1w1.getTime());
|
18135
|
-
const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24));
|
18136
|
-
return Math.floor(diffDays / 7) + 1;
|
18137
|
-
}
|
18138
|
-
|
18139
18079
|
// Types
|
18140
18080
|
|
18141
18081
|
const makeVColorPickerProps = propsFactory({
|
@@ -18682,8 +18622,7 @@ const VCombobox = genericComponent()({
|
|
18682
18622
|
onClick: () => select(item, null)
|
18683
18623
|
});
|
18684
18624
|
return slots.item?.({
|
18685
|
-
item
|
18686
|
-
internalItem: item,
|
18625
|
+
item,
|
18687
18626
|
index,
|
18688
18627
|
props: itemProps
|
18689
18628
|
}) ?? createVNode(VListItem, mergeProps(itemProps, {
|
@@ -18734,13 +18673,11 @@ const VCombobox = genericComponent()({
|
|
18734
18673
|
};
|
18735
18674
|
const hasSlot = hasChips.value ? !!slots.chip : !!slots.selection;
|
18736
18675
|
const slotContent = hasSlot ? ensureValidVNode(hasChips.value ? slots.chip({
|
18737
|
-
item
|
18738
|
-
internalItem: item,
|
18676
|
+
item,
|
18739
18677
|
index,
|
18740
18678
|
props: slotProps
|
18741
18679
|
}) : slots.selection({
|
18742
|
-
item
|
18743
|
-
internalItem: item,
|
18680
|
+
item,
|
18744
18681
|
index
|
18745
18682
|
})) : undefined;
|
18746
18683
|
if (hasSlot && !slotContent) return undefined;
|
@@ -22327,7 +22264,7 @@ const makeCalendarProps = propsFactory({
|
|
22327
22264
|
},
|
22328
22265
|
firstDayOfWeek: {
|
22329
22266
|
type: [Number, String],
|
22330
|
-
default:
|
22267
|
+
default: undefined
|
22331
22268
|
}
|
22332
22269
|
}, 'calendar');
|
22333
22270
|
function useCalendar(props) {
|
@@ -22350,14 +22287,12 @@ function useCalendar(props) {
|
|
22350
22287
|
return adapter.setMonth(date, value);
|
22351
22288
|
}, v => adapter.getMonth(v));
|
22352
22289
|
const weekDays = computed(() => {
|
22353
|
-
const firstDayOfWeek =
|
22354
|
-
|
22290
|
+
const firstDayOfWeek = adapter.toJsDate(adapter.startOfWeek(adapter.date(), props.firstDayOfWeek)).getDay();
|
22355
22291
|
// Always generate all days, regardless of props.weekdays
|
22356
22292
|
return [0, 1, 2, 3, 4, 5, 6].map(day => (day + firstDayOfWeek) % 7);
|
22357
22293
|
});
|
22358
22294
|
const weeksInMonth = computed(() => {
|
22359
|
-
const
|
22360
|
-
const weeks = adapter.getWeekArray(month.value, firstDayOfWeek);
|
22295
|
+
const weeks = adapter.getWeekArray(month.value, props.firstDayOfWeek);
|
22361
22296
|
const days = weeks.flat();
|
22362
22297
|
|
22363
22298
|
// Make sure there's always 6 weeks in month (6 * 7 days)
|
@@ -22421,7 +22356,7 @@ function useCalendar(props) {
|
|
22421
22356
|
});
|
22422
22357
|
const weekNumbers = computed(() => {
|
22423
22358
|
return weeksInMonth.value.map(week => {
|
22424
|
-
return week.length ? getWeek(
|
22359
|
+
return week.length ? adapter.getWeek(week[0], props.firstDayOfWeek) : null;
|
22425
22360
|
});
|
22426
22361
|
});
|
22427
22362
|
function isDisabled(value) {
|
@@ -23910,17 +23845,7 @@ const VForm = genericComponent()({
|
|
23910
23845
|
"novalidate": true,
|
23911
23846
|
"onReset": onReset,
|
23912
23847
|
"onSubmit": onSubmit
|
23913
|
-
}, [slots.default?.(
|
23914
|
-
errors: form.errors.value,
|
23915
|
-
isDisabled: form.isDisabled.value,
|
23916
|
-
isReadonly: form.isReadonly.value,
|
23917
|
-
isValidating: form.isValidating.value,
|
23918
|
-
isValid: form.isValid.value,
|
23919
|
-
items: form.items.value,
|
23920
|
-
validate: form.validate,
|
23921
|
-
reset: form.reset,
|
23922
|
-
resetValidation: form.resetValidation
|
23923
|
-
})]));
|
23848
|
+
}, [slots.default?.(form)]));
|
23924
23849
|
return forwardRefs(form, formRef);
|
23925
23850
|
}
|
23926
23851
|
});
|
@@ -29329,7 +29254,7 @@ function createVuetify$1() {
|
|
29329
29254
|
};
|
29330
29255
|
});
|
29331
29256
|
}
|
29332
|
-
const version$1 = "3.8.
|
29257
|
+
const version$1 = "3.8.2-dev.2025-04-28";
|
29333
29258
|
createVuetify$1.version = version$1;
|
29334
29259
|
|
29335
29260
|
// Vue's inject() can only be used in setup
|
@@ -29354,7 +29279,7 @@ const createVuetify = function () {
|
|
29354
29279
|
...options
|
29355
29280
|
});
|
29356
29281
|
};
|
29357
|
-
const version = "3.8.
|
29282
|
+
const version = "3.8.2-dev.2025-04-28";
|
29358
29283
|
createVuetify.version = version;
|
29359
29284
|
|
29360
29285
|
export { index as blueprints, components, createVuetify, directives, useDate, useDefaults, useDisplay, useGoTo, useLayout, useLocale, useRtl, useTheme, version };
|