@vuetify/nightly 3.8.1-master.2025-04-16 → 3.8.1-next.2025-04-18
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 +36 -32
- package/dist/json/attributes.json +2908 -2908
- package/dist/json/importMap-labs.json +24 -24
- package/dist/json/importMap.json +176 -176
- package/dist/json/web-types.json +5479 -5439
- package/dist/vuetify-labs.cjs +346 -197
- package/dist/vuetify-labs.css +26018 -27768
- package/dist/vuetify-labs.d.ts +243 -646
- package/dist/vuetify-labs.esm.js +347 -198
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +346 -197
- package/dist/vuetify-labs.min.css +3 -4
- package/dist/vuetify.cjs +328 -173
- package/dist/vuetify.cjs.map +1 -1
- package/dist/vuetify.css +22735 -24481
- package/dist/vuetify.d.ts +281 -684
- package/dist/vuetify.esm.js +329 -174
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +328 -173
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +3 -4
- package/dist/vuetify.min.js +1152 -1161
- package/dist/vuetify.min.js.map +1 -1
- package/lib/blueprints/md3.js +5 -18
- package/lib/blueprints/md3.js.map +1 -1
- package/lib/components/VAlert/VAlert.css +207 -215
- package/lib/components/VApp/VApp.css +16 -15
- package/lib/components/VAppBar/VAppBar.css +14 -12
- package/lib/components/VAutocomplete/VAutocomplete.css +85 -84
- package/lib/components/VAutocomplete/VAutocomplete.d.ts +18 -9
- package/lib/components/VAutocomplete/VAutocomplete.js +6 -3
- package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
- package/lib/components/VAvatar/VAvatar.css +108 -106
- package/lib/components/VBadge/VBadge.css +77 -77
- package/lib/components/VBanner/VBanner.css +161 -166
- package/lib/components/VBottomNavigation/VBottomNavigation.css +65 -64
- package/lib/components/VBottomSheet/VBottomSheet.css +34 -31
- package/lib/components/VBreadcrumbs/VBreadcrumbs.css +54 -57
- package/lib/components/VBtn/VBtn.css +372 -408
- package/lib/components/VBtn/VBtn.sass +10 -23
- package/lib/components/VBtn/_variables.scss +1 -1
- package/lib/components/VBtnGroup/VBtnGroup.css +63 -64
- package/lib/components/VBtnToggle/VBtnToggle.css +16 -14
- package/lib/components/VCard/VCard.css +294 -302
- package/lib/components/VCarousel/VCarousel.css +63 -65
- package/lib/components/VCarousel/VCarousel.sass +1 -1
- package/lib/components/VCheckbox/VCheckbox.css +7 -5
- package/lib/components/VChip/VChip.css +378 -411
- package/lib/components/VChipGroup/VChipGroup.css +19 -18
- package/lib/components/VCode/VCode.css +10 -11
- package/lib/components/VCode/VCode.sass +0 -3
- package/lib/components/VColorPicker/VColorPicker.css +23 -23
- package/lib/components/VColorPicker/VColorPickerCanvas.css +24 -22
- package/lib/components/VColorPicker/VColorPickerEdit.css +29 -28
- package/lib/components/VColorPicker/VColorPickerPreview.css +69 -67
- package/lib/components/VColorPicker/VColorPickerPreview.sass +4 -2
- package/lib/components/VColorPicker/VColorPickerSwatches.css +34 -34
- package/lib/components/VCombobox/VCombobox.css +85 -84
- package/lib/components/VCombobox/VCombobox.d.ts +18 -9
- package/lib/components/VCombobox/VCombobox.js +6 -3
- package/lib/components/VCombobox/VCombobox.js.map +1 -1
- package/lib/components/VCounter/VCounter.css +7 -5
- package/lib/components/VDataTable/VDataTable.css +189 -186
- package/lib/components/VDataTable/VDataTable.sass +21 -11
- package/lib/components/VDataTable/VDataTableFooter.css +33 -31
- package/lib/components/VDatePicker/VDatePicker.css +8 -6
- package/lib/components/VDatePicker/VDatePicker.d.ts +7 -7
- package/lib/components/VDatePicker/VDatePickerControls.css +55 -57
- package/lib/components/VDatePicker/VDatePickerHeader.css +56 -60
- package/lib/components/VDatePicker/VDatePickerMonth.css +51 -55
- package/lib/components/VDatePicker/VDatePickerMonth.d.ts +7 -7
- package/lib/components/VDatePicker/VDatePickerMonths.css +20 -19
- package/lib/components/VDatePicker/VDatePickerYears.css +16 -15
- package/lib/components/VDialog/VDialog.css +98 -98
- package/lib/components/VDivider/VDivider.css +52 -52
- package/lib/components/VEmptyState/VEmptyState.css +62 -67
- package/lib/components/VExpansionPanel/VExpansionPanel.css +203 -209
- package/lib/components/VExpansionPanel/VExpansionPanel.sass +27 -25
- package/lib/components/VFab/VFab.css +78 -73
- package/lib/components/VFab/VFab.sass +5 -4
- package/lib/components/VField/VField.css +541 -589
- package/lib/components/VField/VField.sass +4 -11
- package/lib/components/VField/_variables.scss +1 -1
- package/lib/components/VFileInput/VFileInput.css +30 -28
- package/lib/components/VFooter/VFooter.css +38 -36
- package/lib/components/VForm/VForm.d.ts +111 -531
- package/lib/components/VForm/VForm.js +11 -1
- package/lib/components/VForm/VForm.js.map +1 -1
- package/lib/components/VGrid/VGrid.css +565 -592
- package/lib/components/VIcon/VIcon.css +52 -53
- package/lib/components/VImg/VImg.css +50 -51
- package/lib/components/VInfiniteScroll/VInfiniteScroll.css +36 -37
- package/lib/components/VInput/VInput.css +136 -147
- package/lib/components/VItemGroup/VItemGroup.css +7 -5
- package/lib/components/VKbd/VKbd.css +13 -11
- package/lib/components/VLabel/VLabel.css +16 -15
- package/lib/components/VLayout/VLayout.css +10 -8
- package/lib/components/VLayout/VLayoutItem.css +8 -7
- package/lib/components/VList/VList.css +104 -108
- package/lib/components/VList/VList.sass +1 -1
- package/lib/components/VList/VListItem.css +440 -452
- package/lib/components/VList/VListItem.sass +2 -1
- package/lib/components/VLocaleProvider/VLocaleProvider.css +4 -2
- package/lib/components/VMain/VMain.css +32 -30
- package/lib/components/VMenu/VMenu.css +21 -19
- package/lib/components/VMessages/VMessages.css +17 -15
- package/lib/components/VNavigationDrawer/VNavigationDrawer.css +102 -104
- package/lib/components/VNumberInput/VNumberInput.css +48 -46
- package/lib/components/VOtpInput/VOtpInput.css +56 -58
- package/lib/components/VOverlay/VOverlay.css +61 -64
- package/lib/components/VOverlay/VOverlay.sass +14 -13
- package/lib/components/VPagination/VPagination.css +10 -8
- package/lib/components/VParallax/VParallax.css +8 -6
- package/lib/components/VProgressCircular/VProgressCircular.css +95 -101
- package/lib/components/VProgressLinear/VProgressLinear.css +209 -222
- package/lib/components/VRadioGroup/VRadioGroup.css +14 -12
- package/lib/components/VRating/VRating.css +52 -53
- package/lib/components/VResponsive/VResponsive.css +25 -26
- package/lib/components/VSelect/VSelect.css +53 -51
- package/lib/components/VSelect/VSelect.d.ts +18 -9
- package/lib/components/VSelect/VSelect.js +6 -3
- package/lib/components/VSelect/VSelect.js.map +1 -1
- package/lib/components/VSelectionControl/VSelectionControl.css +98 -100
- package/lib/components/VSelectionControlGroup/VSelectionControlGroup.css +10 -8
- package/lib/components/VSheet/VSheet.css +38 -36
- package/lib/components/VSkeletonLoader/VSkeletonLoader.css +225 -224
- package/lib/components/VSlideGroup/VSlideGroup.css +53 -55
- package/lib/components/VSlider/VSlider.css +53 -57
- package/lib/components/VSlider/VSliderThumb.css +142 -153
- package/lib/components/VSlider/VSliderTrack.css +155 -174
- package/lib/components/VSnackbar/VSnackbar.css +140 -140
- package/lib/components/VSpeedDial/VSpeedDial.css +43 -41
- package/lib/components/VStepper/VStepper.css +55 -56
- package/lib/components/VStepper/VStepperItem.css +112 -115
- package/lib/components/VSwitch/VSwitch.css +129 -139
- package/lib/components/VSystemBar/VSystemBar.css +45 -43
- package/lib/components/VTable/VTable.css +140 -141
- package/lib/components/VTable/VTable.sass +4 -2
- package/lib/components/VTabs/VTab.css +30 -29
- package/lib/components/VTabs/VTabs.css +59 -65
- package/lib/components/VTextField/VTextField.css +77 -85
- package/lib/components/VTextarea/VTextarea.css +48 -40
- package/lib/components/VTextarea/VTextarea.sass +4 -2
- package/lib/components/VThemeProvider/VThemeProvider.css +5 -3
- package/lib/components/VTimeline/VTimeline.css +388 -427
- package/lib/components/VToolbar/VToolbar.css +137 -144
- package/lib/components/VTooltip/VTooltip.css +27 -23
- package/lib/components/VTooltip/VTooltip.sass +8 -6
- package/lib/components/VVirtualScroll/VVirtualScroll.css +11 -9
- package/lib/components/VWindow/VWindow.css +73 -70
- package/lib/composables/calendar.d.ts +2 -2
- package/lib/composables/calendar.js +7 -5
- package/lib/composables/calendar.js.map +1 -1
- package/lib/composables/date/DateAdapter.d.ts +0 -1
- package/lib/composables/date/DateAdapter.js.map +1 -1
- package/lib/composables/date/adapters/vuetify.d.ts +0 -1
- package/lib/composables/date/adapters/vuetify.js +160 -101
- 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 +20 -0
- package/lib/composables/date/date.js.map +1 -1
- package/lib/composables/filter.js +1 -2
- package/lib/composables/filter.js.map +1 -1
- package/lib/composables/theme.d.ts +6 -1
- package/lib/composables/theme.js +98 -30
- package/lib/composables/theme.js.map +1 -1
- package/lib/composables/validation.js +0 -5
- package/lib/composables/validation.js.map +1 -1
- package/lib/composables/virtual.js +6 -1
- package/lib/composables/virtual.js.map +1 -1
- package/lib/directives/ripple/VRipple.css +38 -36
- package/lib/entry-bundler.d.ts +0 -1
- package/lib/entry-bundler.js +1 -1
- package/lib/entry-bundler.js.map +1 -1
- package/lib/framework.d.ts +70 -68
- package/lib/framework.js +1 -1
- package/lib/framework.js.map +1 -1
- package/lib/labs/VCalendar/VCalendar.css +219 -225
- package/lib/labs/VCalendar/VCalendar.d.ts +7 -7
- package/lib/labs/VCalendar/VCalendarDay.css +33 -32
- package/lib/labs/VCalendar/VCalendarHeader.css +13 -13
- package/lib/labs/VCalendar/VCalendarInterval.css +43 -42
- package/lib/labs/VCalendar/VCalendarInterval.js +19 -25
- package/lib/labs/VCalendar/VCalendarInterval.js.map +1 -1
- package/lib/labs/VCalendar/VCalendarIntervalEvent.css +7 -5
- package/lib/labs/VCalendar/VCalendarMonthDay.css +61 -58
- package/lib/labs/VCalendar/VCalendarMonthDay.sass +3 -2
- package/lib/labs/VDateInput/VDateInput.d.ts +7 -7
- package/lib/labs/VFileUpload/VFileUpload.css +74 -77
- package/lib/labs/VIconBtn/VIconBtn.css +162 -164
- package/lib/labs/VPicker/VPicker.css +58 -63
- package/lib/labs/VTimePicker/VTimePicker.css +9 -7
- package/lib/labs/VTimePicker/VTimePickerClock.css +126 -129
- package/lib/labs/VTimePicker/VTimePickerControls.css +102 -103
- package/lib/labs/VTreeview/VTreeviewItem.css +30 -28
- package/lib/labs/VTreeview/VTreeviewItem.sass +3 -2
- package/lib/labs/entry-bundler.d.ts +0 -1
- package/lib/styles/elements/_global.sass +1 -1
- package/lib/styles/generic/_colors.scss +3 -3
- package/lib/styles/generic/_layers.scss +13 -1
- package/lib/styles/generic/_reset.scss +0 -1
- package/lib/styles/generic/_transitions.scss +32 -32
- package/lib/styles/main.css +14668 -16143
- package/lib/styles/settings/_utilities.scss +0 -5
- package/lib/styles/settings/_variables.scss +2 -3
- package/lib/styles/tools/_border.sass +4 -4
- package/lib/styles/tools/_display.sass +0 -10
- package/lib/styles/tools/_elevation.sass +2 -2
- package/lib/styles/tools/_index.sass +0 -2
- package/lib/styles/tools/_layer.scss +4 -2
- package/lib/styles/tools/_position.sass +2 -2
- package/lib/styles/tools/_rounded.sass +2 -2
- package/lib/styles/tools/_utilities.sass +1 -5
- package/lib/styles/utilities/_elevation.scss +1 -1
- package/lib/util/globals.d.ts +1 -0
- package/lib/util/globals.js +1 -0
- package/lib/util/globals.js.map +1 -1
- package/package.json +45 -46
- package/lib/styles/tools/_bootable.sass +0 -3
- package/lib/styles/tools/_radius.sass +0 -10
package/dist/vuetify.cjs
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
/*!
|
2
|
-
* Vuetify v3.8.1-
|
2
|
+
* Vuetify v3.8.1-next.2025-04-18
|
3
3
|
* Forged by John Leider
|
4
4
|
* Released under the MIT License.
|
5
5
|
*/
|
@@ -14,6 +14,7 @@
|
|
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';
|
17
18
|
|
18
19
|
function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
|
19
20
|
function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
|
@@ -1940,7 +1941,7 @@
|
|
1940
1941
|
flat: true
|
1941
1942
|
},
|
1942
1943
|
VAutocomplete: {
|
1943
|
-
variant: '
|
1944
|
+
variant: 'filled'
|
1944
1945
|
},
|
1945
1946
|
VBanner: {
|
1946
1947
|
color: 'primary'
|
@@ -1969,10 +1970,7 @@
|
|
1969
1970
|
rounded: 'sm'
|
1970
1971
|
},
|
1971
1972
|
VCombobox: {
|
1972
|
-
variant: '
|
1973
|
-
},
|
1974
|
-
VDateInput: {
|
1975
|
-
variant: 'outlined'
|
1973
|
+
variant: 'filled'
|
1976
1974
|
},
|
1977
1975
|
VDatePicker: {
|
1978
1976
|
controlHeight: 48,
|
@@ -1986,9 +1984,6 @@
|
|
1986
1984
|
rounded: 'circle'
|
1987
1985
|
}
|
1988
1986
|
},
|
1989
|
-
VFileInput: {
|
1990
|
-
variant: 'outlined'
|
1991
|
-
},
|
1992
1987
|
VNavigationDrawer: {
|
1993
1988
|
// VList: {
|
1994
1989
|
// nav: true,
|
@@ -1997,15 +1992,8 @@
|
|
1997
1992
|
// },
|
1998
1993
|
// },
|
1999
1994
|
},
|
2000
|
-
VNumberInput: {
|
2001
|
-
variant: 'outlined',
|
2002
|
-
VBtn: {
|
2003
|
-
color: undefined,
|
2004
|
-
rounded: undefined
|
2005
|
-
}
|
2006
|
-
},
|
2007
1995
|
VSelect: {
|
2008
|
-
variant: '
|
1996
|
+
variant: 'filled'
|
2009
1997
|
},
|
2010
1998
|
VSlider: {
|
2011
1999
|
color: 'primary'
|
@@ -2014,10 +2002,10 @@
|
|
2014
2002
|
color: 'primary'
|
2015
2003
|
},
|
2016
2004
|
VTextarea: {
|
2017
|
-
variant: '
|
2005
|
+
variant: 'filled'
|
2018
2006
|
},
|
2019
2007
|
VTextField: {
|
2020
|
-
variant: '
|
2008
|
+
variant: 'filled'
|
2021
2009
|
},
|
2022
2010
|
VToolbar: {
|
2023
2011
|
VBtn: {
|
@@ -2770,7 +2758,8 @@
|
|
2770
2758
|
}, 'theme');
|
2771
2759
|
function genDefaults$1() {
|
2772
2760
|
return {
|
2773
|
-
defaultTheme: '
|
2761
|
+
defaultTheme: 'system',
|
2762
|
+
prefix: 'v-',
|
2774
2763
|
variations: {
|
2775
2764
|
colors: [],
|
2776
2765
|
lighten: 0,
|
@@ -2821,8 +2810,8 @@
|
|
2821
2810
|
surface: '#212121',
|
2822
2811
|
'surface-bright': '#ccbfd6',
|
2823
2812
|
'surface-light': '#424242',
|
2824
|
-
'surface-variant': '#
|
2825
|
-
'on-surface-variant': '#
|
2813
|
+
'surface-variant': '#a3a3a3',
|
2814
|
+
'on-surface-variant': '#424242',
|
2826
2815
|
primary: '#2196F3',
|
2827
2816
|
'primary-darken-1': '#277CC1',
|
2828
2817
|
secondary: '#54B6B2',
|
@@ -2852,7 +2841,10 @@
|
|
2852
2841
|
}
|
2853
2842
|
}
|
2854
2843
|
},
|
2855
|
-
stylesheetId: 'vuetify-theme-stylesheet'
|
2844
|
+
stylesheetId: 'vuetify-theme-stylesheet',
|
2845
|
+
scoped: false,
|
2846
|
+
unimportant: true,
|
2847
|
+
utilities: true
|
2856
2848
|
};
|
2857
2849
|
}
|
2858
2850
|
function parseThemeOptions() {
|
@@ -2875,21 +2867,21 @@
|
|
2875
2867
|
function createCssClass(lines, selector, content, scope) {
|
2876
2868
|
lines.push(`${getScopedSelector(selector, scope)} {\n`, ...content.map(line => ` ${line};\n`), '}\n');
|
2877
2869
|
}
|
2878
|
-
function genCssVariables(theme) {
|
2870
|
+
function genCssVariables(theme, prefix) {
|
2879
2871
|
const lightOverlay = theme.dark ? 2 : 1;
|
2880
2872
|
const darkOverlay = theme.dark ? 1 : 2;
|
2881
2873
|
const variables = [];
|
2882
2874
|
for (const [key, value] of Object.entries(theme.colors)) {
|
2883
2875
|
const rgb = parseColor(value);
|
2884
|
-
variables.push(
|
2876
|
+
variables.push(`--${prefix}theme-${key}: ${rgb.r},${rgb.g},${rgb.b}`);
|
2885
2877
|
if (!key.startsWith('on-')) {
|
2886
|
-
variables.push(
|
2878
|
+
variables.push(`--${prefix}theme-${key}-overlay-multiplier: ${getLuma(value) > 0.18 ? lightOverlay : darkOverlay}`);
|
2887
2879
|
}
|
2888
2880
|
}
|
2889
2881
|
for (const [key, value] of Object.entries(theme.variables)) {
|
2890
2882
|
const color = typeof value === 'string' && value.startsWith('#') ? parseColor(value) : undefined;
|
2891
2883
|
const rgb = color ? `${color.r}, ${color.g}, ${color.b}` : undefined;
|
2892
|
-
variables.push(
|
2884
|
+
variables.push(`--${prefix}${key}: ${rgb ?? value}`);
|
2893
2885
|
}
|
2894
2886
|
return variables;
|
2895
2887
|
}
|
@@ -2933,7 +2925,8 @@
|
|
2933
2925
|
const scopeSelector = `:where(${scope})`;
|
2934
2926
|
return selector === ':root' ? scopeSelector : `${scopeSelector} ${selector}`;
|
2935
2927
|
}
|
2936
|
-
function upsertStyles(
|
2928
|
+
function upsertStyles(id, cspNonce, styles) {
|
2929
|
+
const styleEl = getOrCreateStyleElement(id, cspNonce);
|
2937
2930
|
if (!styleEl) return;
|
2938
2931
|
styleEl.innerHTML = styles;
|
2939
2932
|
}
|
@@ -2953,8 +2946,17 @@
|
|
2953
2946
|
// Composables
|
2954
2947
|
function createTheme(options) {
|
2955
2948
|
const parsedOptions = parseThemeOptions(options);
|
2956
|
-
const
|
2949
|
+
const _name = vue.shallowRef(parsedOptions.defaultTheme);
|
2957
2950
|
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
|
+
});
|
2958
2960
|
const computedThemes = vue.computed(() => {
|
2959
2961
|
const acc = {};
|
2960
2962
|
for (const [name, original] of Object.entries(themes.value)) {
|
@@ -2975,28 +2977,49 @@
|
|
2975
2977
|
const current = vue.computed(() => computedThemes.value[name.value]);
|
2976
2978
|
const styles = vue.computed(() => {
|
2977
2979
|
const lines = [];
|
2980
|
+
const important = parsedOptions.unimportant ? '' : ' !important';
|
2981
|
+
const scoped = parsedOptions.scoped ? parsedOptions.prefix : '';
|
2978
2982
|
if (current.value?.dark) {
|
2979
2983
|
createCssClass(lines, ':root', ['color-scheme: dark'], parsedOptions.scope);
|
2980
2984
|
}
|
2981
|
-
createCssClass(lines, ':root', genCssVariables(current.value), parsedOptions.scope);
|
2985
|
+
createCssClass(lines, ':root', genCssVariables(current.value, parsedOptions.prefix), parsedOptions.scope);
|
2982
2986
|
for (const [themeName, theme] of Object.entries(computedThemes.value)) {
|
2983
|
-
createCssClass(lines,
|
2984
|
-
}
|
2985
|
-
|
2986
|
-
|
2987
|
-
|
2988
|
-
|
2989
|
-
|
2990
|
-
|
2991
|
-
|
2992
|
-
|
2993
|
-
|
2994
|
-
|
2987
|
+
createCssClass(lines, `.${parsedOptions.prefix}theme--${themeName}`, [`color-scheme: ${theme.dark ? 'dark' : 'normal'}`, ...genCssVariables(theme, parsedOptions.prefix)], parsedOptions.scope);
|
2988
|
+
}
|
2989
|
+
if (parsedOptions.utilities) {
|
2990
|
+
const bgLines = [];
|
2991
|
+
const fgLines = [];
|
2992
|
+
const colors = new Set(Object.values(computedThemes.value).flatMap(theme => Object.keys(theme.colors)));
|
2993
|
+
for (const key of colors) {
|
2994
|
+
if (key.startsWith('on-')) {
|
2995
|
+
createCssClass(fgLines, `.${key}`, [`color: rgb(var(--${parsedOptions.prefix}theme-${key}))${important}`], parsedOptions.scope);
|
2996
|
+
} else {
|
2997
|
+
createCssClass(bgLines, `.${scoped}bg-${key}`, [`--${parsedOptions.prefix}theme-overlay-multiplier: var(--${parsedOptions.prefix}theme-${key}-overlay-multiplier)`, `background-color: rgb(var(--${parsedOptions.prefix}theme-${key}))${important}`, `color: rgb(var(--${parsedOptions.prefix}theme-on-${key}))${important}`], parsedOptions.scope);
|
2998
|
+
createCssClass(fgLines, `.${scoped}text-${key}`, [`color: rgb(var(--${parsedOptions.prefix}theme-${key}))${important}`], parsedOptions.scope);
|
2999
|
+
createCssClass(fgLines, `.${scoped}border-${key}`, [`--${parsedOptions.prefix}border-color: var(--${parsedOptions.prefix}theme-${key})`], parsedOptions.scope);
|
3000
|
+
}
|
2995
3001
|
}
|
3002
|
+
lines.push(...bgLines, ...fgLines);
|
2996
3003
|
}
|
2997
|
-
lines.
|
2998
|
-
return lines.map((str, i) => i === 0 ? str : ` ${str}`).join('');
|
3004
|
+
return '@layer vuetify.theme {\n' + lines.map(v => ` ${v}`).join('') + '\n}';
|
2999
3005
|
});
|
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
|
+
}
|
3000
3023
|
function install(app) {
|
3001
3024
|
if (parsedOptions.isDisabled) return;
|
3002
3025
|
const head = app._context.provides.usehead;
|
@@ -3034,22 +3057,55 @@
|
|
3034
3057
|
updateStyles();
|
3035
3058
|
}
|
3036
3059
|
function updateStyles() {
|
3037
|
-
upsertStyles(
|
3060
|
+
upsertStyles(parsedOptions.stylesheetId, parsedOptions.cspNonce, styles.value);
|
3038
3061
|
}
|
3039
3062
|
}
|
3040
3063
|
}
|
3041
|
-
|
3064
|
+
function change(themeName) {
|
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
|
+
});
|
3042
3094
|
return {
|
3043
3095
|
install,
|
3096
|
+
change,
|
3097
|
+
cycle,
|
3098
|
+
toggle,
|
3044
3099
|
isDisabled: parsedOptions.isDisabled,
|
3045
3100
|
name,
|
3046
3101
|
themes,
|
3047
3102
|
current,
|
3048
3103
|
computedThemes,
|
3104
|
+
prefix: parsedOptions.prefix,
|
3049
3105
|
themeClasses,
|
3050
3106
|
styles,
|
3051
3107
|
global: {
|
3052
|
-
name,
|
3108
|
+
name: globalName,
|
3053
3109
|
current
|
3054
3110
|
}
|
3055
3111
|
};
|
@@ -3060,7 +3116,7 @@
|
|
3060
3116
|
if (!theme) throw new Error('Could not find Vuetify theme injection');
|
3061
3117
|
const name = vue.computed(() => props.theme ?? theme.name.value);
|
3062
3118
|
const current = vue.computed(() => theme.themes.value[name.value]);
|
3063
|
-
const themeClasses = vue.computed(() => theme.isDisabled ? undefined :
|
3119
|
+
const themeClasses = vue.computed(() => theme.isDisabled ? undefined : `${theme.prefix}theme--${name.value}`);
|
3064
3120
|
const newTheme = {
|
3065
3121
|
...theme,
|
3066
3122
|
name,
|
@@ -7176,11 +7232,6 @@
|
|
7176
7232
|
}
|
7177
7233
|
async function validate() {
|
7178
7234
|
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
|
-
}
|
7184
7235
|
const results = [];
|
7185
7236
|
isValidating.value = true;
|
7186
7237
|
for (const rule of props.rules) {
|
@@ -12590,7 +12641,12 @@
|
|
12590
12641
|
}
|
12591
12642
|
function calculateOffset(index) {
|
12592
12643
|
index = clamp(index, 0, items.value.length - 1);
|
12593
|
-
|
12644
|
+
const whole = Math.floor(index);
|
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;
|
12594
12650
|
}
|
12595
12651
|
function calculateIndex(scrollTop) {
|
12596
12652
|
return binaryClosest(offsets, scrollTop);
|
@@ -13219,7 +13275,8 @@
|
|
13219
13275
|
onClick: () => select(item, null)
|
13220
13276
|
});
|
13221
13277
|
return slots.item?.({
|
13222
|
-
item,
|
13278
|
+
item: item.raw,
|
13279
|
+
internalItem: item,
|
13223
13280
|
index,
|
13224
13281
|
props: itemProps
|
13225
13282
|
}) ?? vue.createVNode(VListItem, vue.mergeProps(itemProps, {
|
@@ -13267,11 +13324,13 @@
|
|
13267
13324
|
};
|
13268
13325
|
const hasSlot = hasChips ? !!slots.chip : !!slots.selection;
|
13269
13326
|
const slotContent = hasSlot ? ensureValidVNode(hasChips ? slots.chip({
|
13270
|
-
item,
|
13327
|
+
item: item.raw,
|
13328
|
+
internalItem: item,
|
13271
13329
|
index,
|
13272
13330
|
props: slotProps
|
13273
13331
|
}) : slots.selection({
|
13274
|
-
item,
|
13332
|
+
item: item.raw,
|
13333
|
+
internalItem: item,
|
13275
13334
|
index
|
13276
13335
|
})) : undefined;
|
13277
13336
|
if (hasSlot && !slotContent) return undefined;
|
@@ -13337,7 +13396,6 @@
|
|
13337
13396
|
// Composables
|
13338
13397
|
const defaultFilter = (value, query, item) => {
|
13339
13398
|
if (value == null || query == null) return -1;
|
13340
|
-
if (!query.length) return 0;
|
13341
13399
|
value = value.toString().toLocaleLowerCase();
|
13342
13400
|
query = query.toString().toLocaleLowerCase();
|
13343
13401
|
const result = [];
|
@@ -13350,7 +13408,7 @@
|
|
13350
13408
|
};
|
13351
13409
|
function normaliseMatch(match, query) {
|
13352
13410
|
if (match == null || typeof match === 'boolean' || match === -1) return;
|
13353
|
-
if (typeof match === 'number') return [[match,
|
13411
|
+
if (typeof match === 'number') return [[match, query.length]];
|
13354
13412
|
if (Array.isArray(match[0])) return match;
|
13355
13413
|
return [match];
|
13356
13414
|
}
|
@@ -13818,7 +13876,8 @@
|
|
13818
13876
|
onClick: () => select(item, null)
|
13819
13877
|
});
|
13820
13878
|
return slots.item?.({
|
13821
|
-
item,
|
13879
|
+
item: item.raw,
|
13880
|
+
internalItem: item,
|
13822
13881
|
index,
|
13823
13882
|
props: itemProps
|
13824
13883
|
}) ?? vue.createVNode(VListItem, vue.mergeProps(itemProps, {
|
@@ -13869,11 +13928,13 @@
|
|
13869
13928
|
};
|
13870
13929
|
const hasSlot = hasChips.value ? !!slots.chip : !!slots.selection;
|
13871
13930
|
const slotContent = hasSlot ? ensureValidVNode(hasChips.value ? slots.chip({
|
13872
|
-
item,
|
13931
|
+
item: item.raw,
|
13932
|
+
internalItem: item,
|
13873
13933
|
index,
|
13874
13934
|
props: slotProps
|
13875
13935
|
}) : slots.selection({
|
13876
|
-
item,
|
13936
|
+
item: item.raw,
|
13937
|
+
internalItem: item,
|
13877
13938
|
index
|
13878
13939
|
})) : undefined;
|
13879
13940
|
if (hasSlot && !slotContent) return undefined;
|
@@ -17265,81 +17326,165 @@
|
|
17265
17326
|
|
17266
17327
|
// Types
|
17267
17328
|
|
17268
|
-
|
17269
|
-
|
17270
|
-
|
17271
|
-
|
17272
|
-
|
17273
|
-
|
17274
|
-
|
17275
|
-
|
17276
|
-
|
17277
|
-
|
17278
|
-
|
17279
|
-
|
17280
|
-
|
17281
|
-
|
17282
|
-
|
17283
|
-
|
17284
|
-
|
17285
|
-
|
17286
|
-
|
17287
|
-
|
17288
|
-
|
17289
|
-
|
17290
|
-
|
17291
|
-
|
17292
|
-
|
17293
|
-
|
17294
|
-
|
17295
|
-
|
17296
|
-
|
17297
|
-
|
17298
|
-
|
17299
|
-
|
17300
|
-
|
17301
|
-
|
17302
|
-
|
17303
|
-
|
17304
|
-
|
17305
|
-
|
17306
|
-
|
17307
|
-
|
17308
|
-
|
17309
|
-
|
17310
|
-
|
17311
|
-
|
17312
|
-
|
17313
|
-
|
17314
|
-
|
17315
|
-
|
17316
|
-
|
17317
|
-
|
17318
|
-
|
17319
|
-
|
17320
|
-
|
17321
|
-
|
17322
|
-
|
17323
|
-
|
17324
|
-
|
17325
|
-
|
17326
|
-
|
17327
|
-
|
17328
|
-
|
17329
|
-
|
17330
|
-
|
17331
|
-
|
17332
|
-
|
17333
|
-
|
17334
|
-
|
17335
|
-
|
17336
|
-
|
17329
|
+
const firstDay = {
|
17330
|
+
'001': 1,
|
17331
|
+
AD: 1,
|
17332
|
+
AE: 6,
|
17333
|
+
AF: 6,
|
17334
|
+
AG: 0,
|
17335
|
+
AI: 1,
|
17336
|
+
AL: 1,
|
17337
|
+
AM: 1,
|
17338
|
+
AN: 1,
|
17339
|
+
AR: 1,
|
17340
|
+
AS: 0,
|
17341
|
+
AT: 1,
|
17342
|
+
AU: 1,
|
17343
|
+
AX: 1,
|
17344
|
+
AZ: 1,
|
17345
|
+
BA: 1,
|
17346
|
+
BD: 0,
|
17347
|
+
BE: 1,
|
17348
|
+
BG: 1,
|
17349
|
+
BH: 6,
|
17350
|
+
BM: 1,
|
17351
|
+
BN: 1,
|
17352
|
+
BR: 0,
|
17353
|
+
BS: 0,
|
17354
|
+
BT: 0,
|
17355
|
+
BW: 0,
|
17356
|
+
BY: 1,
|
17357
|
+
BZ: 0,
|
17358
|
+
CA: 0,
|
17359
|
+
CH: 1,
|
17360
|
+
CL: 1,
|
17361
|
+
CM: 1,
|
17362
|
+
CN: 1,
|
17363
|
+
CO: 0,
|
17364
|
+
CR: 1,
|
17365
|
+
CY: 1,
|
17366
|
+
CZ: 1,
|
17367
|
+
DE: 1,
|
17368
|
+
DJ: 6,
|
17369
|
+
DK: 1,
|
17370
|
+
DM: 0,
|
17371
|
+
DO: 0,
|
17372
|
+
DZ: 6,
|
17373
|
+
EC: 1,
|
17374
|
+
EE: 1,
|
17375
|
+
EG: 6,
|
17376
|
+
ES: 1,
|
17377
|
+
ET: 0,
|
17378
|
+
FI: 1,
|
17379
|
+
FJ: 1,
|
17380
|
+
FO: 1,
|
17381
|
+
FR: 1,
|
17382
|
+
GB: 1,
|
17383
|
+
'GB-alt-variant': 0,
|
17384
|
+
GE: 1,
|
17385
|
+
GF: 1,
|
17386
|
+
GP: 1,
|
17387
|
+
GR: 1,
|
17388
|
+
GT: 0,
|
17389
|
+
GU: 0,
|
17390
|
+
HK: 0,
|
17391
|
+
HN: 0,
|
17392
|
+
HR: 1,
|
17393
|
+
HU: 1,
|
17394
|
+
ID: 0,
|
17395
|
+
IE: 1,
|
17396
|
+
IL: 0,
|
17397
|
+
IN: 0,
|
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
|
+
};
|
17337
17482
|
function getWeekArray(date, locale, firstDayOfWeek) {
|
17338
17483
|
const weeks = [];
|
17339
17484
|
let currentWeek = [];
|
17340
17485
|
const firstDayOfMonth = startOfMonth(date);
|
17341
17486
|
const lastDayOfMonth = endOfMonth(date);
|
17342
|
-
const first = firstDayOfWeek ??
|
17487
|
+
const first = firstDayOfWeek ?? firstDay[locale.slice(-2).toUpperCase()] ?? 0;
|
17343
17488
|
const firstDayWeekIndex = (firstDayOfMonth.getDay() - first + 7) % 7;
|
17344
17489
|
const lastDayWeekIndex = (lastDayOfMonth.getDay() - first + 7) % 7;
|
17345
17490
|
for (let i = 0; i < firstDayWeekIndex; i++) {
|
@@ -17370,7 +17515,7 @@
|
|
17370
17515
|
return weeks;
|
17371
17516
|
}
|
17372
17517
|
function startOfWeek(date, locale, firstDayOfWeek) {
|
17373
|
-
const day = firstDayOfWeek ??
|
17518
|
+
const day = firstDayOfWeek ?? firstDay[locale.slice(-2).toUpperCase()] ?? 0;
|
17374
17519
|
const d = new Date(date);
|
17375
17520
|
while (d.getDay() !== day) {
|
17376
17521
|
d.setDate(d.getDate() - 1);
|
@@ -17379,7 +17524,7 @@
|
|
17379
17524
|
}
|
17380
17525
|
function endOfWeek(date, locale) {
|
17381
17526
|
const d = new Date(date);
|
17382
|
-
const lastDay = ((
|
17527
|
+
const lastDay = ((firstDay[locale.slice(-2).toUpperCase()] ?? 0) + 6) % 7;
|
17383
17528
|
while (d.getDay() !== lastDay) {
|
17384
17529
|
d.setDate(d.getDate() + 1);
|
17385
17530
|
}
|
@@ -17414,7 +17559,7 @@
|
|
17414
17559
|
}
|
17415
17560
|
const sundayJanuarySecond2000 = new Date(2000, 0, 2);
|
17416
17561
|
function getWeekdays(locale, firstDayOfWeek) {
|
17417
|
-
const daysFromSunday = firstDayOfWeek ??
|
17562
|
+
const daysFromSunday = firstDayOfWeek ?? firstDay[locale.slice(-2).toUpperCase()] ?? 0;
|
17418
17563
|
return createRange(7).map(i => {
|
17419
17564
|
const weekday = new Date(sundayJanuarySecond2000);
|
17420
17565
|
weekday.setDate(sundayJanuarySecond2000.getDate() + daysFromSunday + i);
|
@@ -17662,24 +17807,6 @@
|
|
17662
17807
|
function getMonth(date) {
|
17663
17808
|
return date.getMonth();
|
17664
17809
|
}
|
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
|
-
}
|
17683
17810
|
function getDate(date) {
|
17684
17811
|
return date.getDate();
|
17685
17812
|
}
|
@@ -17819,12 +17946,10 @@
|
|
17819
17946
|
return addMonths(date, amount);
|
17820
17947
|
}
|
17821
17948
|
getWeekArray(date, firstDayOfWeek) {
|
17822
|
-
|
17823
|
-
return getWeekArray(date, this.locale, firstDay);
|
17949
|
+
return getWeekArray(date, this.locale, firstDayOfWeek ? Number(firstDayOfWeek) : undefined);
|
17824
17950
|
}
|
17825
17951
|
startOfWeek(date, firstDayOfWeek) {
|
17826
|
-
|
17827
|
-
return startOfWeek(date, this.locale, firstDay);
|
17952
|
+
return startOfWeek(date, this.locale, firstDayOfWeek ? Number(firstDayOfWeek) : undefined);
|
17828
17953
|
}
|
17829
17954
|
endOfWeek(date) {
|
17830
17955
|
return endOfWeek(date, this.locale);
|
@@ -17884,8 +18009,7 @@
|
|
17884
18009
|
return getDiff(date, comparing, unit);
|
17885
18010
|
}
|
17886
18011
|
getWeekdays(firstDayOfWeek) {
|
17887
|
-
|
17888
|
-
return getWeekdays(this.locale, firstDay);
|
18012
|
+
return getWeekdays(this.locale, firstDayOfWeek ? Number(firstDayOfWeek) : undefined);
|
17889
18013
|
}
|
17890
18014
|
getYear(date) {
|
17891
18015
|
return getYear(date);
|
@@ -17893,10 +18017,6 @@
|
|
17893
18017
|
getMonth(date) {
|
17894
18018
|
return getMonth(date);
|
17895
18019
|
}
|
17896
|
-
getWeek(date, firstDayOfWeek, firstWeekMinSize) {
|
17897
|
-
const firstDay = firstDayOfWeek !== undefined ? Number(firstDayOfWeek) : undefined;
|
17898
|
-
return getWeek(date, this.locale, firstDay, firstWeekMinSize);
|
17899
|
-
}
|
17900
18020
|
getDate(date) {
|
17901
18021
|
return getDate(date);
|
17902
18022
|
}
|
@@ -18000,6 +18120,26 @@
|
|
18000
18120
|
return createInstance(options, locale);
|
18001
18121
|
}
|
18002
18122
|
|
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
|
+
|
18003
18143
|
// Types
|
18004
18144
|
|
18005
18145
|
const makeVColorPickerProps = propsFactory({
|
@@ -18546,7 +18686,8 @@
|
|
18546
18686
|
onClick: () => select(item, null)
|
18547
18687
|
});
|
18548
18688
|
return slots.item?.({
|
18549
|
-
item,
|
18689
|
+
item: item.raw,
|
18690
|
+
internalItem: item,
|
18550
18691
|
index,
|
18551
18692
|
props: itemProps
|
18552
18693
|
}) ?? vue.createVNode(VListItem, vue.mergeProps(itemProps, {
|
@@ -18597,11 +18738,13 @@
|
|
18597
18738
|
};
|
18598
18739
|
const hasSlot = hasChips.value ? !!slots.chip : !!slots.selection;
|
18599
18740
|
const slotContent = hasSlot ? ensureValidVNode(hasChips.value ? slots.chip({
|
18600
|
-
item,
|
18741
|
+
item: item.raw,
|
18742
|
+
internalItem: item,
|
18601
18743
|
index,
|
18602
18744
|
props: slotProps
|
18603
18745
|
}) : slots.selection({
|
18604
|
-
item,
|
18746
|
+
item: item.raw,
|
18747
|
+
internalItem: item,
|
18605
18748
|
index
|
18606
18749
|
})) : undefined;
|
18607
18750
|
if (hasSlot && !slotContent) return undefined;
|
@@ -22188,7 +22331,7 @@
|
|
22188
22331
|
},
|
22189
22332
|
firstDayOfWeek: {
|
22190
22333
|
type: [Number, String],
|
22191
|
-
default:
|
22334
|
+
default: 0
|
22192
22335
|
}
|
22193
22336
|
}, 'calendar');
|
22194
22337
|
function useCalendar(props) {
|
@@ -22211,12 +22354,14 @@
|
|
22211
22354
|
return adapter.setMonth(date, value);
|
22212
22355
|
}, v => adapter.getMonth(v));
|
22213
22356
|
const weekDays = vue.computed(() => {
|
22214
|
-
const firstDayOfWeek =
|
22357
|
+
const firstDayOfWeek = Number(props.firstDayOfWeek);
|
22358
|
+
|
22215
22359
|
// Always generate all days, regardless of props.weekdays
|
22216
22360
|
return [0, 1, 2, 3, 4, 5, 6].map(day => (day + firstDayOfWeek) % 7);
|
22217
22361
|
});
|
22218
22362
|
const weeksInMonth = vue.computed(() => {
|
22219
|
-
const
|
22363
|
+
const firstDayOfWeek = Number(props.firstDayOfWeek);
|
22364
|
+
const weeks = adapter.getWeekArray(month.value, firstDayOfWeek);
|
22220
22365
|
const days = weeks.flat();
|
22221
22366
|
|
22222
22367
|
// Make sure there's always 6 weeks in month (6 * 7 days)
|
@@ -22280,7 +22425,7 @@
|
|
22280
22425
|
});
|
22281
22426
|
const weekNumbers = vue.computed(() => {
|
22282
22427
|
return weeksInMonth.value.map(week => {
|
22283
|
-
return week.length ?
|
22428
|
+
return week.length ? getWeek(adapter, week[0]) : null;
|
22284
22429
|
});
|
22285
22430
|
});
|
22286
22431
|
function isDisabled(value) {
|
@@ -23769,7 +23914,17 @@
|
|
23769
23914
|
"novalidate": true,
|
23770
23915
|
"onReset": onReset,
|
23771
23916
|
"onSubmit": onSubmit
|
23772
|
-
}, [slots.default?.(
|
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
|
+
})]));
|
23773
23928
|
return forwardRefs(form, formRef);
|
23774
23929
|
}
|
23775
23930
|
});
|
@@ -29178,7 +29333,7 @@
|
|
29178
29333
|
};
|
29179
29334
|
});
|
29180
29335
|
}
|
29181
|
-
const version$1 = "3.8.1-
|
29336
|
+
const version$1 = "3.8.1-next.2025-04-18";
|
29182
29337
|
createVuetify$1.version = version$1;
|
29183
29338
|
|
29184
29339
|
// Vue's inject() can only be used in setup
|
@@ -29203,7 +29358,7 @@
|
|
29203
29358
|
...options
|
29204
29359
|
});
|
29205
29360
|
};
|
29206
|
-
const version = "3.8.1-
|
29361
|
+
const version = "3.8.1-next.2025-04-18";
|
29207
29362
|
createVuetify.version = version;
|
29208
29363
|
|
29209
29364
|
exports.blueprints = index;
|