@vuetify/nightly 3.8.1-next.2025-04-15 → 3.8.2-master.2025-04-17
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 +5 -27
- package/dist/json/attributes.json +3031 -3031
- package/dist/json/importMap-labs.json +36 -36
- package/dist/json/importMap.json +150 -150
- package/dist/json/web-types.json +5537 -5577
- package/dist/vuetify-labs.cjs +197 -346
- package/dist/vuetify-labs.css +25469 -23739
- package/dist/vuetify-labs.d.ts +677 -274
- package/dist/vuetify-labs.esm.js +198 -347
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +197 -346
- package/dist/vuetify-labs.min.css +4 -3
- package/dist/vuetify.cjs +173 -328
- package/dist/vuetify.cjs.map +1 -1
- package/dist/vuetify.css +24041 -22315
- package/dist/vuetify.d.ts +680 -277
- package/dist/vuetify.esm.js +174 -329
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +173 -328
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +4 -3
- package/dist/vuetify.min.js +1161 -1152
- 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 -385
- package/lib/components/VBtn/VBtn.sass +4 -4
- package/lib/components/VBtnGroup/VBtnGroup.css +64 -63
- package/lib/components/VBtnToggle/VBtnToggle.css +14 -16
- 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 -548
- 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/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/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 +2 -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.d.ts +1 -6
- package/lib/composables/theme.js +30 -98
- 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/composables/virtual.js +1 -6
- package/lib/composables/virtual.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 +64 -66
- 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 +2 -1
- 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/lib/util/globals.d.ts +0 -1
- package/lib/util/globals.js +0 -1
- package/lib/util/globals.js.map +1 -1
- package/package.json +46 -45
package/dist/vuetify.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
/*!
|
2
|
-
* Vuetify v3.8.
|
2
|
+
* Vuetify v3.8.2-master.2025-04-17
|
3
3
|
* Forged by John Leider
|
4
4
|
* Released under the MIT License.
|
5
5
|
*/
|
@@ -14,7 +14,6 @@
|
|
14
14
|
const SUPPORTS_INTERSECTION = IN_BROWSER && 'IntersectionObserver' in window;
|
15
15
|
const SUPPORTS_TOUCH = IN_BROWSER && ('ontouchstart' in window || window.navigator.maxTouchPoints > 0);
|
16
16
|
const SUPPORTS_EYE_DROPPER = IN_BROWSER && 'EyeDropper' in window;
|
17
|
-
const SUPPORTS_MATCH_MEDIA = IN_BROWSER && 'matchMedia' in window && typeof window.matchMedia === 'function';
|
18
17
|
|
19
18
|
function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
|
20
19
|
function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
|
@@ -1941,7 +1940,7 @@
|
|
1941
1940
|
flat: true
|
1942
1941
|
},
|
1943
1942
|
VAutocomplete: {
|
1944
|
-
variant: '
|
1943
|
+
variant: 'outlined'
|
1945
1944
|
},
|
1946
1945
|
VBanner: {
|
1947
1946
|
color: 'primary'
|
@@ -1970,7 +1969,10 @@
|
|
1970
1969
|
rounded: 'sm'
|
1971
1970
|
},
|
1972
1971
|
VCombobox: {
|
1973
|
-
variant: '
|
1972
|
+
variant: 'outlined'
|
1973
|
+
},
|
1974
|
+
VDateInput: {
|
1975
|
+
variant: 'outlined'
|
1974
1976
|
},
|
1975
1977
|
VDatePicker: {
|
1976
1978
|
controlHeight: 48,
|
@@ -1984,6 +1986,9 @@
|
|
1984
1986
|
rounded: 'circle'
|
1985
1987
|
}
|
1986
1988
|
},
|
1989
|
+
VFileInput: {
|
1990
|
+
variant: 'outlined'
|
1991
|
+
},
|
1987
1992
|
VNavigationDrawer: {
|
1988
1993
|
// VList: {
|
1989
1994
|
// nav: true,
|
@@ -1992,8 +1997,15 @@
|
|
1992
1997
|
// },
|
1993
1998
|
// },
|
1994
1999
|
},
|
2000
|
+
VNumberInput: {
|
2001
|
+
variant: 'outlined',
|
2002
|
+
VBtn: {
|
2003
|
+
color: undefined,
|
2004
|
+
rounded: undefined
|
2005
|
+
}
|
2006
|
+
},
|
1995
2007
|
VSelect: {
|
1996
|
-
variant: '
|
2008
|
+
variant: 'outlined'
|
1997
2009
|
},
|
1998
2010
|
VSlider: {
|
1999
2011
|
color: 'primary'
|
@@ -2002,10 +2014,10 @@
|
|
2002
2014
|
color: 'primary'
|
2003
2015
|
},
|
2004
2016
|
VTextarea: {
|
2005
|
-
variant: '
|
2017
|
+
variant: 'outlined'
|
2006
2018
|
},
|
2007
2019
|
VTextField: {
|
2008
|
-
variant: '
|
2020
|
+
variant: 'outlined'
|
2009
2021
|
},
|
2010
2022
|
VToolbar: {
|
2011
2023
|
VBtn: {
|
@@ -2758,8 +2770,7 @@
|
|
2758
2770
|
}, 'theme');
|
2759
2771
|
function genDefaults$1() {
|
2760
2772
|
return {
|
2761
|
-
defaultTheme: '
|
2762
|
-
prefix: 'v-',
|
2773
|
+
defaultTheme: 'light',
|
2763
2774
|
variations: {
|
2764
2775
|
colors: [],
|
2765
2776
|
lighten: 0,
|
@@ -2810,8 +2821,8 @@
|
|
2810
2821
|
surface: '#212121',
|
2811
2822
|
'surface-bright': '#ccbfd6',
|
2812
2823
|
'surface-light': '#424242',
|
2813
|
-
'surface-variant': '#
|
2814
|
-
'on-surface-variant': '#
|
2824
|
+
'surface-variant': '#c8c8c8',
|
2825
|
+
'on-surface-variant': '#000000',
|
2815
2826
|
primary: '#2196F3',
|
2816
2827
|
'primary-darken-1': '#277CC1',
|
2817
2828
|
secondary: '#54B6B2',
|
@@ -2841,10 +2852,7 @@
|
|
2841
2852
|
}
|
2842
2853
|
}
|
2843
2854
|
},
|
2844
|
-
stylesheetId: 'vuetify-theme-stylesheet'
|
2845
|
-
scoped: false,
|
2846
|
-
unimportant: true,
|
2847
|
-
utilities: true
|
2855
|
+
stylesheetId: 'vuetify-theme-stylesheet'
|
2848
2856
|
};
|
2849
2857
|
}
|
2850
2858
|
function parseThemeOptions() {
|
@@ -2867,21 +2875,21 @@
|
|
2867
2875
|
function createCssClass(lines, selector, content, scope) {
|
2868
2876
|
lines.push(`${getScopedSelector(selector, scope)} {\n`, ...content.map(line => ` ${line};\n`), '}\n');
|
2869
2877
|
}
|
2870
|
-
function genCssVariables(theme
|
2878
|
+
function genCssVariables(theme) {
|
2871
2879
|
const lightOverlay = theme.dark ? 2 : 1;
|
2872
2880
|
const darkOverlay = theme.dark ? 1 : 2;
|
2873
2881
|
const variables = [];
|
2874
2882
|
for (const [key, value] of Object.entries(theme.colors)) {
|
2875
2883
|
const rgb = parseColor(value);
|
2876
|
-
variables.push(
|
2884
|
+
variables.push(`--v-theme-${key}: ${rgb.r},${rgb.g},${rgb.b}`);
|
2877
2885
|
if (!key.startsWith('on-')) {
|
2878
|
-
variables.push(
|
2886
|
+
variables.push(`--v-theme-${key}-overlay-multiplier: ${getLuma(value) > 0.18 ? lightOverlay : darkOverlay}`);
|
2879
2887
|
}
|
2880
2888
|
}
|
2881
2889
|
for (const [key, value] of Object.entries(theme.variables)) {
|
2882
2890
|
const color = typeof value === 'string' && value.startsWith('#') ? parseColor(value) : undefined;
|
2883
2891
|
const rgb = color ? `${color.r}, ${color.g}, ${color.b}` : undefined;
|
2884
|
-
variables.push(
|
2892
|
+
variables.push(`--v-${key}: ${rgb ?? value}`);
|
2885
2893
|
}
|
2886
2894
|
return variables;
|
2887
2895
|
}
|
@@ -2925,8 +2933,7 @@
|
|
2925
2933
|
const scopeSelector = `:where(${scope})`;
|
2926
2934
|
return selector === ':root' ? scopeSelector : `${scopeSelector} ${selector}`;
|
2927
2935
|
}
|
2928
|
-
function upsertStyles(
|
2929
|
-
const styleEl = getOrCreateStyleElement(id, cspNonce);
|
2936
|
+
function upsertStyles(styleEl, styles) {
|
2930
2937
|
if (!styleEl) return;
|
2931
2938
|
styleEl.innerHTML = styles;
|
2932
2939
|
}
|
@@ -2946,17 +2953,8 @@
|
|
2946
2953
|
// Composables
|
2947
2954
|
function createTheme(options) {
|
2948
2955
|
const parsedOptions = parseThemeOptions(options);
|
2949
|
-
const
|
2956
|
+
const name = vue.shallowRef(parsedOptions.defaultTheme);
|
2950
2957
|
const themes = vue.ref(parsedOptions.themes);
|
2951
|
-
const systemName = vue.shallowRef('light');
|
2952
|
-
const name = vue.computed({
|
2953
|
-
get() {
|
2954
|
-
return _name.value === 'system' ? systemName.value : _name.value;
|
2955
|
-
},
|
2956
|
-
set(val) {
|
2957
|
-
_name.value = val;
|
2958
|
-
}
|
2959
|
-
});
|
2960
2958
|
const computedThemes = vue.computed(() => {
|
2961
2959
|
const acc = {};
|
2962
2960
|
for (const [name, original] of Object.entries(themes.value)) {
|
@@ -2977,49 +2975,28 @@
|
|
2977
2975
|
const current = vue.computed(() => computedThemes.value[name.value]);
|
2978
2976
|
const styles = vue.computed(() => {
|
2979
2977
|
const lines = [];
|
2980
|
-
const important = parsedOptions.unimportant ? '' : ' !important';
|
2981
|
-
const scoped = parsedOptions.scoped ? parsedOptions.prefix : '';
|
2982
2978
|
if (current.value?.dark) {
|
2983
2979
|
createCssClass(lines, ':root', ['color-scheme: dark'], parsedOptions.scope);
|
2984
2980
|
}
|
2985
|
-
createCssClass(lines, ':root', genCssVariables(current.value
|
2981
|
+
createCssClass(lines, ':root', genCssVariables(current.value), parsedOptions.scope);
|
2986
2982
|
for (const [themeName, theme] of Object.entries(computedThemes.value)) {
|
2987
|
-
createCssClass(lines,
|
2988
|
-
}
|
2989
|
-
|
2990
|
-
|
2991
|
-
|
2992
|
-
|
2993
|
-
|
2994
|
-
|
2995
|
-
|
2996
|
-
}
|
2997
|
-
|
2998
|
-
|
2999
|
-
createCssClass(fgLines, `.${scoped}border-${key}`, [`--${parsedOptions.prefix}border-color: var(--${parsedOptions.prefix}theme-${key})`], parsedOptions.scope);
|
3000
|
-
}
|
2983
|
+
createCssClass(lines, `.v-theme--${themeName}`, [`color-scheme: ${theme.dark ? 'dark' : 'normal'}`, ...genCssVariables(theme)], parsedOptions.scope);
|
2984
|
+
}
|
2985
|
+
const bgLines = [];
|
2986
|
+
const fgLines = [];
|
2987
|
+
const colors = new Set(Object.values(computedThemes.value).flatMap(theme => Object.keys(theme.colors)));
|
2988
|
+
for (const key of colors) {
|
2989
|
+
if (key.startsWith('on-')) {
|
2990
|
+
createCssClass(fgLines, `.${key}`, [`color: rgb(var(--v-theme-${key})) !important`], parsedOptions.scope);
|
2991
|
+
} else {
|
2992
|
+
createCssClass(bgLines, `.bg-${key}`, [`--v-theme-overlay-multiplier: var(--v-theme-${key}-overlay-multiplier)`, `background-color: rgb(var(--v-theme-${key})) !important`, `color: rgb(var(--v-theme-on-${key})) !important`], parsedOptions.scope);
|
2993
|
+
createCssClass(fgLines, `.text-${key}`, [`color: rgb(var(--v-theme-${key})) !important`], parsedOptions.scope);
|
2994
|
+
createCssClass(fgLines, `.border-${key}`, [`--v-border-color: var(--v-theme-${key})`], parsedOptions.scope);
|
3001
2995
|
}
|
3002
|
-
lines.push(...bgLines, ...fgLines);
|
3003
2996
|
}
|
3004
|
-
|
2997
|
+
lines.push(...bgLines, ...fgLines);
|
2998
|
+
return lines.map((str, i) => i === 0 ? str : ` ${str}`).join('');
|
3005
2999
|
});
|
3006
|
-
const themeClasses = vue.computed(() => parsedOptions.isDisabled ? undefined : `${parsedOptions.prefix}theme--${name.value}`);
|
3007
|
-
const themeNames = vue.computed(() => Object.keys(computedThemes.value));
|
3008
|
-
if (SUPPORTS_MATCH_MEDIA) {
|
3009
|
-
const media = window.matchMedia('(prefers-color-scheme: dark)');
|
3010
|
-
function updateSystemName() {
|
3011
|
-
systemName.value = media.matches ? 'dark' : 'light';
|
3012
|
-
}
|
3013
|
-
updateSystemName();
|
3014
|
-
media.addEventListener('change', updateSystemName, {
|
3015
|
-
passive: true
|
3016
|
-
});
|
3017
|
-
if (vue.getCurrentScope()) {
|
3018
|
-
vue.onScopeDispose(() => {
|
3019
|
-
media.removeEventListener('change', updateSystemName);
|
3020
|
-
});
|
3021
|
-
}
|
3022
|
-
}
|
3023
3000
|
function install(app) {
|
3024
3001
|
if (parsedOptions.isDisabled) return;
|
3025
3002
|
const head = app._context.provides.usehead;
|
@@ -3057,55 +3034,22 @@
|
|
3057
3034
|
updateStyles();
|
3058
3035
|
}
|
3059
3036
|
function updateStyles() {
|
3060
|
-
upsertStyles(parsedOptions.stylesheetId, parsedOptions.cspNonce, styles.value);
|
3037
|
+
upsertStyles(getOrCreateStyleElement(parsedOptions.stylesheetId, parsedOptions.cspNonce), styles.value);
|
3061
3038
|
}
|
3062
3039
|
}
|
3063
3040
|
}
|
3064
|
-
|
3065
|
-
if (!themeNames.value.includes(themeName)) {
|
3066
|
-
consoleWarn(`Theme "${themeName}" not found on the Vuetify theme instance`);
|
3067
|
-
return;
|
3068
|
-
}
|
3069
|
-
name.value = themeName;
|
3070
|
-
}
|
3071
|
-
function cycle() {
|
3072
|
-
let themeArray = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : themeNames.value;
|
3073
|
-
const currentIndex = themeArray.indexOf(name.value);
|
3074
|
-
const nextIndex = currentIndex === -1 ? 0 : (currentIndex + 1) % themeArray.length;
|
3075
|
-
change(themeArray[nextIndex]);
|
3076
|
-
}
|
3077
|
-
function toggle() {
|
3078
|
-
let themeArray = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ['light', 'dark'];
|
3079
|
-
cycle(themeArray);
|
3080
|
-
}
|
3081
|
-
const globalName = new Proxy(name, {
|
3082
|
-
get(target, prop) {
|
3083
|
-
return target[prop];
|
3084
|
-
},
|
3085
|
-
set(target, prop, val) {
|
3086
|
-
if (prop === 'value') {
|
3087
|
-
deprecate(`theme.global.name.value = ${val}`, `theme.change('${val}')`);
|
3088
|
-
}
|
3089
|
-
// @ts-expect-error
|
3090
|
-
target[prop] = val;
|
3091
|
-
return true;
|
3092
|
-
}
|
3093
|
-
});
|
3041
|
+
const themeClasses = vue.computed(() => parsedOptions.isDisabled ? undefined : `v-theme--${name.value}`);
|
3094
3042
|
return {
|
3095
3043
|
install,
|
3096
|
-
change,
|
3097
|
-
cycle,
|
3098
|
-
toggle,
|
3099
3044
|
isDisabled: parsedOptions.isDisabled,
|
3100
3045
|
name,
|
3101
3046
|
themes,
|
3102
3047
|
current,
|
3103
3048
|
computedThemes,
|
3104
|
-
prefix: parsedOptions.prefix,
|
3105
3049
|
themeClasses,
|
3106
3050
|
styles,
|
3107
3051
|
global: {
|
3108
|
-
name
|
3052
|
+
name,
|
3109
3053
|
current
|
3110
3054
|
}
|
3111
3055
|
};
|
@@ -3116,7 +3060,7 @@
|
|
3116
3060
|
if (!theme) throw new Error('Could not find Vuetify theme injection');
|
3117
3061
|
const name = vue.computed(() => props.theme ?? theme.name.value);
|
3118
3062
|
const current = vue.computed(() => theme.themes.value[name.value]);
|
3119
|
-
const themeClasses = vue.computed(() => theme.isDisabled ? undefined :
|
3063
|
+
const themeClasses = vue.computed(() => theme.isDisabled ? undefined : `v-theme--${name.value}`);
|
3120
3064
|
const newTheme = {
|
3121
3065
|
...theme,
|
3122
3066
|
name,
|
@@ -7232,6 +7176,11 @@
|
|
7232
7176
|
}
|
7233
7177
|
async function validate() {
|
7234
7178
|
let silent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
7179
|
+
if (props.disabled || props.readonly) {
|
7180
|
+
internalErrorMessages.value = [];
|
7181
|
+
isValidating.value = false;
|
7182
|
+
return internalErrorMessages.value;
|
7183
|
+
}
|
7235
7184
|
const results = [];
|
7236
7185
|
isValidating.value = true;
|
7237
7186
|
for (const rule of props.rules) {
|
@@ -12641,12 +12590,7 @@
|
|
12641
12590
|
}
|
12642
12591
|
function calculateOffset(index) {
|
12643
12592
|
index = clamp(index, 0, items.value.length - 1);
|
12644
|
-
|
12645
|
-
const fraction = index % 1;
|
12646
|
-
const next = whole + 1;
|
12647
|
-
const wholeOffset = offsets[whole] || 0;
|
12648
|
-
const nextOffset = offsets[next] || wholeOffset;
|
12649
|
-
return wholeOffset + (nextOffset - wholeOffset) * fraction;
|
12593
|
+
return offsets[index] || 0;
|
12650
12594
|
}
|
12651
12595
|
function calculateIndex(scrollTop) {
|
12652
12596
|
return binaryClosest(offsets, scrollTop);
|
@@ -13275,8 +13219,7 @@
|
|
13275
13219
|
onClick: () => select(item, null)
|
13276
13220
|
});
|
13277
13221
|
return slots.item?.({
|
13278
|
-
item
|
13279
|
-
internalItem: item,
|
13222
|
+
item,
|
13280
13223
|
index,
|
13281
13224
|
props: itemProps
|
13282
13225
|
}) ?? vue.createVNode(VListItem, vue.mergeProps(itemProps, {
|
@@ -13324,13 +13267,11 @@
|
|
13324
13267
|
};
|
13325
13268
|
const hasSlot = hasChips ? !!slots.chip : !!slots.selection;
|
13326
13269
|
const slotContent = hasSlot ? ensureValidVNode(hasChips ? slots.chip({
|
13327
|
-
item
|
13328
|
-
internalItem: item,
|
13270
|
+
item,
|
13329
13271
|
index,
|
13330
13272
|
props: slotProps
|
13331
13273
|
}) : slots.selection({
|
13332
|
-
item
|
13333
|
-
internalItem: item,
|
13274
|
+
item,
|
13334
13275
|
index
|
13335
13276
|
})) : undefined;
|
13336
13277
|
if (hasSlot && !slotContent) return undefined;
|
@@ -13396,6 +13337,7 @@
|
|
13396
13337
|
// Composables
|
13397
13338
|
const defaultFilter = (value, query, item) => {
|
13398
13339
|
if (value == null || query == null) return -1;
|
13340
|
+
if (!query.length) return 0;
|
13399
13341
|
value = value.toString().toLocaleLowerCase();
|
13400
13342
|
query = query.toString().toLocaleLowerCase();
|
13401
13343
|
const result = [];
|
@@ -13408,7 +13350,7 @@
|
|
13408
13350
|
};
|
13409
13351
|
function normaliseMatch(match, query) {
|
13410
13352
|
if (match == null || typeof match === 'boolean' || match === -1) return;
|
13411
|
-
if (typeof match === 'number') return [[match, query.length]];
|
13353
|
+
if (typeof match === 'number') return [[match, match + query.length]];
|
13412
13354
|
if (Array.isArray(match[0])) return match;
|
13413
13355
|
return [match];
|
13414
13356
|
}
|
@@ -13876,8 +13818,7 @@
|
|
13876
13818
|
onClick: () => select(item, null)
|
13877
13819
|
});
|
13878
13820
|
return slots.item?.({
|
13879
|
-
item
|
13880
|
-
internalItem: item,
|
13821
|
+
item,
|
13881
13822
|
index,
|
13882
13823
|
props: itemProps
|
13883
13824
|
}) ?? vue.createVNode(VListItem, vue.mergeProps(itemProps, {
|
@@ -13928,13 +13869,11 @@
|
|
13928
13869
|
};
|
13929
13870
|
const hasSlot = hasChips.value ? !!slots.chip : !!slots.selection;
|
13930
13871
|
const slotContent = hasSlot ? ensureValidVNode(hasChips.value ? slots.chip({
|
13931
|
-
item
|
13932
|
-
internalItem: item,
|
13872
|
+
item,
|
13933
13873
|
index,
|
13934
13874
|
props: slotProps
|
13935
13875
|
}) : slots.selection({
|
13936
|
-
item
|
13937
|
-
internalItem: item,
|
13876
|
+
item,
|
13938
13877
|
index
|
13939
13878
|
})) : undefined;
|
13940
13879
|
if (hasSlot && !slotContent) return undefined;
|
@@ -17326,165 +17265,81 @@
|
|
17326
17265
|
|
17327
17266
|
// Types
|
17328
17267
|
|
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
|
-
};
|
17268
|
+
function weekInfo(locale) {
|
17269
|
+
// https://simplelocalize.io/data/locales/
|
17270
|
+
// then `new Intl.Locale(...).getWeekInfo()`
|
17271
|
+
const code = locale.slice(-2).toUpperCase();
|
17272
|
+
switch (true) {
|
17273
|
+
case locale === 'GB-alt-variant':
|
17274
|
+
{
|
17275
|
+
return {
|
17276
|
+
firstDay: 0,
|
17277
|
+
firstWeekSize: 4
|
17278
|
+
};
|
17279
|
+
}
|
17280
|
+
case locale === '001':
|
17281
|
+
{
|
17282
|
+
return {
|
17283
|
+
firstDay: 1,
|
17284
|
+
firstWeekSize: 1
|
17285
|
+
};
|
17286
|
+
}
|
17287
|
+
case `AG AS BD BR BS BT BW BZ CA CO DM DO ET GT GU HK HN ID IL IN JM JP KE
|
17288
|
+
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
|
17289
|
+
VE VI WS YE ZA ZW`.includes(code):
|
17290
|
+
{
|
17291
|
+
return {
|
17292
|
+
firstDay: 0,
|
17293
|
+
firstWeekSize: 1
|
17294
|
+
};
|
17295
|
+
}
|
17296
|
+
case `AI AL AM AR AU AZ BA BM BN BY CL CM CN CR CY EC GE HR KG KZ LB LK LV
|
17297
|
+
MD ME MK MN MY NZ RO RS SI TJ TM TR UA UY UZ VN XK`.includes(code):
|
17298
|
+
{
|
17299
|
+
return {
|
17300
|
+
firstDay: 1,
|
17301
|
+
firstWeekSize: 1
|
17302
|
+
};
|
17303
|
+
}
|
17304
|
+
case `AD AN AT AX BE BG CH CZ DE DK EE ES FI FJ FO FR GB GF GP GR HU IE IS
|
17305
|
+
IT LI LT LU MC MQ NL NO PL RE RU SE SK SM VA`.includes(code):
|
17306
|
+
{
|
17307
|
+
return {
|
17308
|
+
firstDay: 1,
|
17309
|
+
firstWeekSize: 4
|
17310
|
+
};
|
17311
|
+
}
|
17312
|
+
case `AE AF BH DJ DZ EG IQ IR JO KW LY OM QA SD SY`.includes(code):
|
17313
|
+
{
|
17314
|
+
return {
|
17315
|
+
firstDay: 6,
|
17316
|
+
firstWeekSize: 1
|
17317
|
+
};
|
17318
|
+
}
|
17319
|
+
case code === 'MV':
|
17320
|
+
{
|
17321
|
+
return {
|
17322
|
+
firstDay: 5,
|
17323
|
+
firstWeekSize: 1
|
17324
|
+
};
|
17325
|
+
}
|
17326
|
+
case code === 'PT':
|
17327
|
+
{
|
17328
|
+
return {
|
17329
|
+
firstDay: 0,
|
17330
|
+
firstWeekSize: 4
|
17331
|
+
};
|
17332
|
+
}
|
17333
|
+
default:
|
17334
|
+
return null;
|
17335
|
+
}
|
17336
|
+
}
|
17482
17337
|
function getWeekArray(date, locale, firstDayOfWeek) {
|
17483
17338
|
const weeks = [];
|
17484
17339
|
let currentWeek = [];
|
17485
17340
|
const firstDayOfMonth = startOfMonth(date);
|
17486
17341
|
const lastDayOfMonth = endOfMonth(date);
|
17487
|
-
const first = firstDayOfWeek ??
|
17342
|
+
const first = firstDayOfWeek ?? weekInfo(locale)?.firstDay ?? 0;
|
17488
17343
|
const firstDayWeekIndex = (firstDayOfMonth.getDay() - first + 7) % 7;
|
17489
17344
|
const lastDayWeekIndex = (lastDayOfMonth.getDay() - first + 7) % 7;
|
17490
17345
|
for (let i = 0; i < firstDayWeekIndex; i++) {
|
@@ -17515,7 +17370,7 @@
|
|
17515
17370
|
return weeks;
|
17516
17371
|
}
|
17517
17372
|
function startOfWeek(date, locale, firstDayOfWeek) {
|
17518
|
-
const day = firstDayOfWeek ??
|
17373
|
+
const day = firstDayOfWeek ?? weekInfo(locale)?.firstDay ?? 0;
|
17519
17374
|
const d = new Date(date);
|
17520
17375
|
while (d.getDay() !== day) {
|
17521
17376
|
d.setDate(d.getDate() - 1);
|
@@ -17524,7 +17379,7 @@
|
|
17524
17379
|
}
|
17525
17380
|
function endOfWeek(date, locale) {
|
17526
17381
|
const d = new Date(date);
|
17527
|
-
const lastDay = ((
|
17382
|
+
const lastDay = ((weekInfo(locale)?.firstDay ?? 0) + 6) % 7;
|
17528
17383
|
while (d.getDay() !== lastDay) {
|
17529
17384
|
d.setDate(d.getDate() + 1);
|
17530
17385
|
}
|
@@ -17559,7 +17414,7 @@
|
|
17559
17414
|
}
|
17560
17415
|
const sundayJanuarySecond2000 = new Date(2000, 0, 2);
|
17561
17416
|
function getWeekdays(locale, firstDayOfWeek) {
|
17562
|
-
const daysFromSunday = firstDayOfWeek ??
|
17417
|
+
const daysFromSunday = firstDayOfWeek ?? weekInfo(locale)?.firstDay ?? 0;
|
17563
17418
|
return createRange(7).map(i => {
|
17564
17419
|
const weekday = new Date(sundayJanuarySecond2000);
|
17565
17420
|
weekday.setDate(sundayJanuarySecond2000.getDate() + daysFromSunday + i);
|
@@ -17807,6 +17662,24 @@
|
|
17807
17662
|
function getMonth(date) {
|
17808
17663
|
return date.getMonth();
|
17809
17664
|
}
|
17665
|
+
function getWeek(date, locale, firstDayOfWeek, firstWeekMinSize) {
|
17666
|
+
const weekInfoFromLocale = weekInfo(locale);
|
17667
|
+
const weekStart = firstDayOfWeek ?? weekInfoFromLocale?.firstDay ?? 0;
|
17668
|
+
const minWeekSize = firstWeekMinSize ?? weekInfoFromLocale?.firstWeekSize ?? 1;
|
17669
|
+
function firstWeekSize(year) {
|
17670
|
+
const yearStart = new Date(year, 0, 1);
|
17671
|
+
return 7 - getDiff(yearStart, startOfWeek(yearStart, locale, weekStart), 'days');
|
17672
|
+
}
|
17673
|
+
let year = getYear(date);
|
17674
|
+
const currentWeekEnd = addDays(startOfWeek(date, locale, weekStart), 6);
|
17675
|
+
if (year < getYear(currentWeekEnd) && firstWeekSize(year + 1) >= minWeekSize) {
|
17676
|
+
year++;
|
17677
|
+
}
|
17678
|
+
const yearStart = new Date(year, 0, 1);
|
17679
|
+
const size = firstWeekSize(year);
|
17680
|
+
const d1w1 = size >= minWeekSize ? addDays(yearStart, size - 7) : addDays(yearStart, size);
|
17681
|
+
return 1 + getDiff(date, d1w1, 'weeks');
|
17682
|
+
}
|
17810
17683
|
function getDate(date) {
|
17811
17684
|
return date.getDate();
|
17812
17685
|
}
|
@@ -17946,10 +17819,12 @@
|
|
17946
17819
|
return addMonths(date, amount);
|
17947
17820
|
}
|
17948
17821
|
getWeekArray(date, firstDayOfWeek) {
|
17949
|
-
|
17822
|
+
const firstDay = firstDayOfWeek !== undefined ? Number(firstDayOfWeek) : undefined;
|
17823
|
+
return getWeekArray(date, this.locale, firstDay);
|
17950
17824
|
}
|
17951
17825
|
startOfWeek(date, firstDayOfWeek) {
|
17952
|
-
|
17826
|
+
const firstDay = firstDayOfWeek !== undefined ? Number(firstDayOfWeek) : undefined;
|
17827
|
+
return startOfWeek(date, this.locale, firstDay);
|
17953
17828
|
}
|
17954
17829
|
endOfWeek(date) {
|
17955
17830
|
return endOfWeek(date, this.locale);
|
@@ -18009,7 +17884,8 @@
|
|
18009
17884
|
return getDiff(date, comparing, unit);
|
18010
17885
|
}
|
18011
17886
|
getWeekdays(firstDayOfWeek) {
|
18012
|
-
|
17887
|
+
const firstDay = firstDayOfWeek !== undefined ? Number(firstDayOfWeek) : undefined;
|
17888
|
+
return getWeekdays(this.locale, firstDay);
|
18013
17889
|
}
|
18014
17890
|
getYear(date) {
|
18015
17891
|
return getYear(date);
|
@@ -18017,6 +17893,10 @@
|
|
18017
17893
|
getMonth(date) {
|
18018
17894
|
return getMonth(date);
|
18019
17895
|
}
|
17896
|
+
getWeek(date, firstDayOfWeek, firstWeekMinSize) {
|
17897
|
+
const firstDay = firstDayOfWeek !== undefined ? Number(firstDayOfWeek) : undefined;
|
17898
|
+
return getWeek(date, this.locale, firstDay, firstWeekMinSize);
|
17899
|
+
}
|
18020
17900
|
getDate(date) {
|
18021
17901
|
return getDate(date);
|
18022
17902
|
}
|
@@ -18120,26 +18000,6 @@
|
|
18120
18000
|
return createInstance(options, locale);
|
18121
18001
|
}
|
18122
18002
|
|
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
18003
|
// Types
|
18144
18004
|
|
18145
18005
|
const makeVColorPickerProps = propsFactory({
|
@@ -18686,8 +18546,7 @@
|
|
18686
18546
|
onClick: () => select(item, null)
|
18687
18547
|
});
|
18688
18548
|
return slots.item?.({
|
18689
|
-
item
|
18690
|
-
internalItem: item,
|
18549
|
+
item,
|
18691
18550
|
index,
|
18692
18551
|
props: itemProps
|
18693
18552
|
}) ?? vue.createVNode(VListItem, vue.mergeProps(itemProps, {
|
@@ -18738,13 +18597,11 @@
|
|
18738
18597
|
};
|
18739
18598
|
const hasSlot = hasChips.value ? !!slots.chip : !!slots.selection;
|
18740
18599
|
const slotContent = hasSlot ? ensureValidVNode(hasChips.value ? slots.chip({
|
18741
|
-
item
|
18742
|
-
internalItem: item,
|
18600
|
+
item,
|
18743
18601
|
index,
|
18744
18602
|
props: slotProps
|
18745
18603
|
}) : slots.selection({
|
18746
|
-
item
|
18747
|
-
internalItem: item,
|
18604
|
+
item,
|
18748
18605
|
index
|
18749
18606
|
})) : undefined;
|
18750
18607
|
if (hasSlot && !slotContent) return undefined;
|
@@ -22331,7 +22188,7 @@
|
|
22331
22188
|
},
|
22332
22189
|
firstDayOfWeek: {
|
22333
22190
|
type: [Number, String],
|
22334
|
-
default:
|
22191
|
+
default: undefined
|
22335
22192
|
}
|
22336
22193
|
}, 'calendar');
|
22337
22194
|
function useCalendar(props) {
|
@@ -22354,14 +22211,12 @@
|
|
22354
22211
|
return adapter.setMonth(date, value);
|
22355
22212
|
}, v => adapter.getMonth(v));
|
22356
22213
|
const weekDays = vue.computed(() => {
|
22357
|
-
const firstDayOfWeek =
|
22358
|
-
|
22214
|
+
const firstDayOfWeek = adapter.toJsDate(adapter.startOfWeek(adapter.date(), props.firstDayOfWeek)).getDay();
|
22359
22215
|
// Always generate all days, regardless of props.weekdays
|
22360
22216
|
return [0, 1, 2, 3, 4, 5, 6].map(day => (day + firstDayOfWeek) % 7);
|
22361
22217
|
});
|
22362
22218
|
const weeksInMonth = vue.computed(() => {
|
22363
|
-
const
|
22364
|
-
const weeks = adapter.getWeekArray(month.value, firstDayOfWeek);
|
22219
|
+
const weeks = adapter.getWeekArray(month.value, props.firstDayOfWeek);
|
22365
22220
|
const days = weeks.flat();
|
22366
22221
|
|
22367
22222
|
// Make sure there's always 6 weeks in month (6 * 7 days)
|
@@ -22425,7 +22280,7 @@
|
|
22425
22280
|
});
|
22426
22281
|
const weekNumbers = vue.computed(() => {
|
22427
22282
|
return weeksInMonth.value.map(week => {
|
22428
|
-
return week.length ? getWeek(
|
22283
|
+
return week.length ? adapter.getWeek(week[0], props.firstDayOfWeek) : null;
|
22429
22284
|
});
|
22430
22285
|
});
|
22431
22286
|
function isDisabled(value) {
|
@@ -23914,17 +23769,7 @@
|
|
23914
23769
|
"novalidate": true,
|
23915
23770
|
"onReset": onReset,
|
23916
23771
|
"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
|
-
})]));
|
23772
|
+
}, [slots.default?.(form)]));
|
23928
23773
|
return forwardRefs(form, formRef);
|
23929
23774
|
}
|
23930
23775
|
});
|
@@ -29333,7 +29178,7 @@
|
|
29333
29178
|
};
|
29334
29179
|
});
|
29335
29180
|
}
|
29336
|
-
const version$1 = "3.8.
|
29181
|
+
const version$1 = "3.8.2-master.2025-04-17";
|
29337
29182
|
createVuetify$1.version = version$1;
|
29338
29183
|
|
29339
29184
|
// Vue's inject() can only be used in setup
|
@@ -29358,7 +29203,7 @@
|
|
29358
29203
|
...options
|
29359
29204
|
});
|
29360
29205
|
};
|
29361
|
-
const version = "3.8.
|
29206
|
+
const version = "3.8.2-master.2025-04-17";
|
29362
29207
|
createVuetify.version = version;
|
29363
29208
|
|
29364
29209
|
exports.blueprints = index;
|