@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.esm.js
CHANGED
@@ -1,16 +1,15 @@
|
|
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
|
*/
|
6
6
|
|
7
|
-
import { shallowRef, reactive, computed, watchEffect, toRefs, capitalize, unref, Fragment, isVNode, Comment, warn, getCurrentInstance as getCurrentInstance$1, ref, provide, inject as inject$1, defineComponent as defineComponent$1, h, camelize, createVNode, mergeProps, onBeforeUnmount, watch, readonly, onMounted, useId, onDeactivated, onActivated, onScopeDispose, effectScope, toRaw,
|
7
|
+
import { shallowRef, reactive, computed, watchEffect, toRefs, capitalize, unref, Fragment, isVNode, Comment, warn, getCurrentInstance as getCurrentInstance$1, ref, provide, inject as inject$1, defineComponent as defineComponent$1, h, camelize, createVNode, mergeProps, onBeforeUnmount, watch, readonly, onMounted, useId, onDeactivated, onActivated, onScopeDispose, effectScope, toRaw, TransitionGroup, Transition, isRef, toRef, onBeforeMount, nextTick, withDirectives, resolveDirective, vShow, onUpdated, Text, resolveDynamicComponent, toDisplayString, markRaw, Teleport, cloneVNode, createTextVNode, onUnmounted, onBeforeUpdate, withModifiers, vModelText, resolveComponent, render } from 'vue';
|
8
8
|
|
9
9
|
const IN_BROWSER = typeof window !== 'undefined';
|
10
10
|
const SUPPORTS_INTERSECTION = IN_BROWSER && 'IntersectionObserver' in window;
|
11
11
|
const SUPPORTS_TOUCH = IN_BROWSER && ('ontouchstart' in window || window.navigator.maxTouchPoints > 0);
|
12
12
|
const SUPPORTS_EYE_DROPPER = IN_BROWSER && 'EyeDropper' in window;
|
13
|
-
const SUPPORTS_MATCH_MEDIA = IN_BROWSER && 'matchMedia' in window && typeof window.matchMedia === 'function';
|
14
13
|
|
15
14
|
function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
|
16
15
|
function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
|
@@ -1937,7 +1936,7 @@ const md3 = {
|
|
1937
1936
|
flat: true
|
1938
1937
|
},
|
1939
1938
|
VAutocomplete: {
|
1940
|
-
variant: '
|
1939
|
+
variant: 'outlined'
|
1941
1940
|
},
|
1942
1941
|
VBanner: {
|
1943
1942
|
color: 'primary'
|
@@ -1966,7 +1965,10 @@ const md3 = {
|
|
1966
1965
|
rounded: 'sm'
|
1967
1966
|
},
|
1968
1967
|
VCombobox: {
|
1969
|
-
variant: '
|
1968
|
+
variant: 'outlined'
|
1969
|
+
},
|
1970
|
+
VDateInput: {
|
1971
|
+
variant: 'outlined'
|
1970
1972
|
},
|
1971
1973
|
VDatePicker: {
|
1972
1974
|
controlHeight: 48,
|
@@ -1980,6 +1982,9 @@ const md3 = {
|
|
1980
1982
|
rounded: 'circle'
|
1981
1983
|
}
|
1982
1984
|
},
|
1985
|
+
VFileInput: {
|
1986
|
+
variant: 'outlined'
|
1987
|
+
},
|
1983
1988
|
VNavigationDrawer: {
|
1984
1989
|
// VList: {
|
1985
1990
|
// nav: true,
|
@@ -1988,8 +1993,15 @@ const md3 = {
|
|
1988
1993
|
// },
|
1989
1994
|
// },
|
1990
1995
|
},
|
1996
|
+
VNumberInput: {
|
1997
|
+
variant: 'outlined',
|
1998
|
+
VBtn: {
|
1999
|
+
color: undefined,
|
2000
|
+
rounded: undefined
|
2001
|
+
}
|
2002
|
+
},
|
1991
2003
|
VSelect: {
|
1992
|
-
variant: '
|
2004
|
+
variant: 'outlined'
|
1993
2005
|
},
|
1994
2006
|
VSlider: {
|
1995
2007
|
color: 'primary'
|
@@ -1998,10 +2010,10 @@ const md3 = {
|
|
1998
2010
|
color: 'primary'
|
1999
2011
|
},
|
2000
2012
|
VTextarea: {
|
2001
|
-
variant: '
|
2013
|
+
variant: 'outlined'
|
2002
2014
|
},
|
2003
2015
|
VTextField: {
|
2004
|
-
variant: '
|
2016
|
+
variant: 'outlined'
|
2005
2017
|
},
|
2006
2018
|
VToolbar: {
|
2007
2019
|
VBtn: {
|
@@ -2754,8 +2766,7 @@ const makeThemeProps = propsFactory({
|
|
2754
2766
|
}, 'theme');
|
2755
2767
|
function genDefaults$1() {
|
2756
2768
|
return {
|
2757
|
-
defaultTheme: '
|
2758
|
-
prefix: 'v-',
|
2769
|
+
defaultTheme: 'light',
|
2759
2770
|
variations: {
|
2760
2771
|
colors: [],
|
2761
2772
|
lighten: 0,
|
@@ -2806,8 +2817,8 @@ function genDefaults$1() {
|
|
2806
2817
|
surface: '#212121',
|
2807
2818
|
'surface-bright': '#ccbfd6',
|
2808
2819
|
'surface-light': '#424242',
|
2809
|
-
'surface-variant': '#
|
2810
|
-
'on-surface-variant': '#
|
2820
|
+
'surface-variant': '#c8c8c8',
|
2821
|
+
'on-surface-variant': '#000000',
|
2811
2822
|
primary: '#2196F3',
|
2812
2823
|
'primary-darken-1': '#277CC1',
|
2813
2824
|
secondary: '#54B6B2',
|
@@ -2837,10 +2848,7 @@ function genDefaults$1() {
|
|
2837
2848
|
}
|
2838
2849
|
}
|
2839
2850
|
},
|
2840
|
-
stylesheetId: 'vuetify-theme-stylesheet'
|
2841
|
-
scoped: false,
|
2842
|
-
unimportant: true,
|
2843
|
-
utilities: true
|
2851
|
+
stylesheetId: 'vuetify-theme-stylesheet'
|
2844
2852
|
};
|
2845
2853
|
}
|
2846
2854
|
function parseThemeOptions() {
|
@@ -2863,21 +2871,21 @@ function parseThemeOptions() {
|
|
2863
2871
|
function createCssClass(lines, selector, content, scope) {
|
2864
2872
|
lines.push(`${getScopedSelector(selector, scope)} {\n`, ...content.map(line => ` ${line};\n`), '}\n');
|
2865
2873
|
}
|
2866
|
-
function genCssVariables(theme
|
2874
|
+
function genCssVariables(theme) {
|
2867
2875
|
const lightOverlay = theme.dark ? 2 : 1;
|
2868
2876
|
const darkOverlay = theme.dark ? 1 : 2;
|
2869
2877
|
const variables = [];
|
2870
2878
|
for (const [key, value] of Object.entries(theme.colors)) {
|
2871
2879
|
const rgb = parseColor(value);
|
2872
|
-
variables.push(
|
2880
|
+
variables.push(`--v-theme-${key}: ${rgb.r},${rgb.g},${rgb.b}`);
|
2873
2881
|
if (!key.startsWith('on-')) {
|
2874
|
-
variables.push(
|
2882
|
+
variables.push(`--v-theme-${key}-overlay-multiplier: ${getLuma(value) > 0.18 ? lightOverlay : darkOverlay}`);
|
2875
2883
|
}
|
2876
2884
|
}
|
2877
2885
|
for (const [key, value] of Object.entries(theme.variables)) {
|
2878
2886
|
const color = typeof value === 'string' && value.startsWith('#') ? parseColor(value) : undefined;
|
2879
2887
|
const rgb = color ? `${color.r}, ${color.g}, ${color.b}` : undefined;
|
2880
|
-
variables.push(
|
2888
|
+
variables.push(`--v-${key}: ${rgb ?? value}`);
|
2881
2889
|
}
|
2882
2890
|
return variables;
|
2883
2891
|
}
|
@@ -2921,8 +2929,7 @@ function getScopedSelector(selector, scope) {
|
|
2921
2929
|
const scopeSelector = `:where(${scope})`;
|
2922
2930
|
return selector === ':root' ? scopeSelector : `${scopeSelector} ${selector}`;
|
2923
2931
|
}
|
2924
|
-
function upsertStyles(
|
2925
|
-
const styleEl = getOrCreateStyleElement(id, cspNonce);
|
2932
|
+
function upsertStyles(styleEl, styles) {
|
2926
2933
|
if (!styleEl) return;
|
2927
2934
|
styleEl.innerHTML = styles;
|
2928
2935
|
}
|
@@ -2942,17 +2949,8 @@ function getOrCreateStyleElement(id, cspNonce) {
|
|
2942
2949
|
// Composables
|
2943
2950
|
function createTheme(options) {
|
2944
2951
|
const parsedOptions = parseThemeOptions(options);
|
2945
|
-
const
|
2952
|
+
const name = shallowRef(parsedOptions.defaultTheme);
|
2946
2953
|
const themes = ref(parsedOptions.themes);
|
2947
|
-
const systemName = shallowRef('light');
|
2948
|
-
const name = computed({
|
2949
|
-
get() {
|
2950
|
-
return _name.value === 'system' ? systemName.value : _name.value;
|
2951
|
-
},
|
2952
|
-
set(val) {
|
2953
|
-
_name.value = val;
|
2954
|
-
}
|
2955
|
-
});
|
2956
2954
|
const computedThemes = computed(() => {
|
2957
2955
|
const acc = {};
|
2958
2956
|
for (const [name, original] of Object.entries(themes.value)) {
|
@@ -2973,49 +2971,28 @@ function createTheme(options) {
|
|
2973
2971
|
const current = computed(() => computedThemes.value[name.value]);
|
2974
2972
|
const styles = computed(() => {
|
2975
2973
|
const lines = [];
|
2976
|
-
const important = parsedOptions.unimportant ? '' : ' !important';
|
2977
|
-
const scoped = parsedOptions.scoped ? parsedOptions.prefix : '';
|
2978
2974
|
if (current.value?.dark) {
|
2979
2975
|
createCssClass(lines, ':root', ['color-scheme: dark'], parsedOptions.scope);
|
2980
2976
|
}
|
2981
|
-
createCssClass(lines, ':root', genCssVariables(current.value
|
2977
|
+
createCssClass(lines, ':root', genCssVariables(current.value), parsedOptions.scope);
|
2982
2978
|
for (const [themeName, theme] of Object.entries(computedThemes.value)) {
|
2983
|
-
createCssClass(lines,
|
2984
|
-
}
|
2985
|
-
|
2986
|
-
|
2987
|
-
|
2988
|
-
|
2989
|
-
|
2990
|
-
|
2991
|
-
|
2992
|
-
}
|
2993
|
-
|
2994
|
-
|
2995
|
-
createCssClass(fgLines, `.${scoped}border-${key}`, [`--${parsedOptions.prefix}border-color: var(--${parsedOptions.prefix}theme-${key})`], parsedOptions.scope);
|
2996
|
-
}
|
2979
|
+
createCssClass(lines, `.v-theme--${themeName}`, [`color-scheme: ${theme.dark ? 'dark' : 'normal'}`, ...genCssVariables(theme)], parsedOptions.scope);
|
2980
|
+
}
|
2981
|
+
const bgLines = [];
|
2982
|
+
const fgLines = [];
|
2983
|
+
const colors = new Set(Object.values(computedThemes.value).flatMap(theme => Object.keys(theme.colors)));
|
2984
|
+
for (const key of colors) {
|
2985
|
+
if (key.startsWith('on-')) {
|
2986
|
+
createCssClass(fgLines, `.${key}`, [`color: rgb(var(--v-theme-${key})) !important`], parsedOptions.scope);
|
2987
|
+
} else {
|
2988
|
+
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);
|
2989
|
+
createCssClass(fgLines, `.text-${key}`, [`color: rgb(var(--v-theme-${key})) !important`], parsedOptions.scope);
|
2990
|
+
createCssClass(fgLines, `.border-${key}`, [`--v-border-color: var(--v-theme-${key})`], parsedOptions.scope);
|
2997
2991
|
}
|
2998
|
-
lines.push(...bgLines, ...fgLines);
|
2999
2992
|
}
|
3000
|
-
|
2993
|
+
lines.push(...bgLines, ...fgLines);
|
2994
|
+
return lines.map((str, i) => i === 0 ? str : ` ${str}`).join('');
|
3001
2995
|
});
|
3002
|
-
const themeClasses = computed(() => parsedOptions.isDisabled ? undefined : `${parsedOptions.prefix}theme--${name.value}`);
|
3003
|
-
const themeNames = computed(() => Object.keys(computedThemes.value));
|
3004
|
-
if (SUPPORTS_MATCH_MEDIA) {
|
3005
|
-
const media = window.matchMedia('(prefers-color-scheme: dark)');
|
3006
|
-
function updateSystemName() {
|
3007
|
-
systemName.value = media.matches ? 'dark' : 'light';
|
3008
|
-
}
|
3009
|
-
updateSystemName();
|
3010
|
-
media.addEventListener('change', updateSystemName, {
|
3011
|
-
passive: true
|
3012
|
-
});
|
3013
|
-
if (getCurrentScope()) {
|
3014
|
-
onScopeDispose(() => {
|
3015
|
-
media.removeEventListener('change', updateSystemName);
|
3016
|
-
});
|
3017
|
-
}
|
3018
|
-
}
|
3019
2996
|
function install(app) {
|
3020
2997
|
if (parsedOptions.isDisabled) return;
|
3021
2998
|
const head = app._context.provides.usehead;
|
@@ -3053,55 +3030,22 @@ function createTheme(options) {
|
|
3053
3030
|
updateStyles();
|
3054
3031
|
}
|
3055
3032
|
function updateStyles() {
|
3056
|
-
upsertStyles(parsedOptions.stylesheetId, parsedOptions.cspNonce, styles.value);
|
3033
|
+
upsertStyles(getOrCreateStyleElement(parsedOptions.stylesheetId, parsedOptions.cspNonce), styles.value);
|
3057
3034
|
}
|
3058
3035
|
}
|
3059
3036
|
}
|
3060
|
-
|
3061
|
-
if (!themeNames.value.includes(themeName)) {
|
3062
|
-
consoleWarn(`Theme "${themeName}" not found on the Vuetify theme instance`);
|
3063
|
-
return;
|
3064
|
-
}
|
3065
|
-
name.value = themeName;
|
3066
|
-
}
|
3067
|
-
function cycle() {
|
3068
|
-
let themeArray = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : themeNames.value;
|
3069
|
-
const currentIndex = themeArray.indexOf(name.value);
|
3070
|
-
const nextIndex = currentIndex === -1 ? 0 : (currentIndex + 1) % themeArray.length;
|
3071
|
-
change(themeArray[nextIndex]);
|
3072
|
-
}
|
3073
|
-
function toggle() {
|
3074
|
-
let themeArray = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ['light', 'dark'];
|
3075
|
-
cycle(themeArray);
|
3076
|
-
}
|
3077
|
-
const globalName = new Proxy(name, {
|
3078
|
-
get(target, prop) {
|
3079
|
-
return target[prop];
|
3080
|
-
},
|
3081
|
-
set(target, prop, val) {
|
3082
|
-
if (prop === 'value') {
|
3083
|
-
deprecate(`theme.global.name.value = ${val}`, `theme.change('${val}')`);
|
3084
|
-
}
|
3085
|
-
// @ts-expect-error
|
3086
|
-
target[prop] = val;
|
3087
|
-
return true;
|
3088
|
-
}
|
3089
|
-
});
|
3037
|
+
const themeClasses = computed(() => parsedOptions.isDisabled ? undefined : `v-theme--${name.value}`);
|
3090
3038
|
return {
|
3091
3039
|
install,
|
3092
|
-
change,
|
3093
|
-
cycle,
|
3094
|
-
toggle,
|
3095
3040
|
isDisabled: parsedOptions.isDisabled,
|
3096
3041
|
name,
|
3097
3042
|
themes,
|
3098
3043
|
current,
|
3099
3044
|
computedThemes,
|
3100
|
-
prefix: parsedOptions.prefix,
|
3101
3045
|
themeClasses,
|
3102
3046
|
styles,
|
3103
3047
|
global: {
|
3104
|
-
name
|
3048
|
+
name,
|
3105
3049
|
current
|
3106
3050
|
}
|
3107
3051
|
};
|
@@ -3112,7 +3056,7 @@ function provideTheme(props) {
|
|
3112
3056
|
if (!theme) throw new Error('Could not find Vuetify theme injection');
|
3113
3057
|
const name = computed(() => props.theme ?? theme.name.value);
|
3114
3058
|
const current = computed(() => theme.themes.value[name.value]);
|
3115
|
-
const themeClasses = computed(() => theme.isDisabled ? undefined :
|
3059
|
+
const themeClasses = computed(() => theme.isDisabled ? undefined : `v-theme--${name.value}`);
|
3116
3060
|
const newTheme = {
|
3117
3061
|
...theme,
|
3118
3062
|
name,
|
@@ -7228,6 +7172,11 @@ function useValidation(props) {
|
|
7228
7172
|
}
|
7229
7173
|
async function validate() {
|
7230
7174
|
let silent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
7175
|
+
if (props.disabled || props.readonly) {
|
7176
|
+
internalErrorMessages.value = [];
|
7177
|
+
isValidating.value = false;
|
7178
|
+
return internalErrorMessages.value;
|
7179
|
+
}
|
7231
7180
|
const results = [];
|
7232
7181
|
isValidating.value = true;
|
7233
7182
|
for (const rule of props.rules) {
|
@@ -12637,12 +12586,7 @@ function useVirtual(props, items) {
|
|
12637
12586
|
}
|
12638
12587
|
function calculateOffset(index) {
|
12639
12588
|
index = clamp(index, 0, items.value.length - 1);
|
12640
|
-
|
12641
|
-
const fraction = index % 1;
|
12642
|
-
const next = whole + 1;
|
12643
|
-
const wholeOffset = offsets[whole] || 0;
|
12644
|
-
const nextOffset = offsets[next] || wholeOffset;
|
12645
|
-
return wholeOffset + (nextOffset - wholeOffset) * fraction;
|
12589
|
+
return offsets[index] || 0;
|
12646
12590
|
}
|
12647
12591
|
function calculateIndex(scrollTop) {
|
12648
12592
|
return binaryClosest(offsets, scrollTop);
|
@@ -13271,8 +13215,7 @@ const VSelect = genericComponent()({
|
|
13271
13215
|
onClick: () => select(item, null)
|
13272
13216
|
});
|
13273
13217
|
return slots.item?.({
|
13274
|
-
item
|
13275
|
-
internalItem: item,
|
13218
|
+
item,
|
13276
13219
|
index,
|
13277
13220
|
props: itemProps
|
13278
13221
|
}) ?? createVNode(VListItem, mergeProps(itemProps, {
|
@@ -13320,13 +13263,11 @@ const VSelect = genericComponent()({
|
|
13320
13263
|
};
|
13321
13264
|
const hasSlot = hasChips ? !!slots.chip : !!slots.selection;
|
13322
13265
|
const slotContent = hasSlot ? ensureValidVNode(hasChips ? slots.chip({
|
13323
|
-
item
|
13324
|
-
internalItem: item,
|
13266
|
+
item,
|
13325
13267
|
index,
|
13326
13268
|
props: slotProps
|
13327
13269
|
}) : slots.selection({
|
13328
|
-
item
|
13329
|
-
internalItem: item,
|
13270
|
+
item,
|
13330
13271
|
index
|
13331
13272
|
})) : undefined;
|
13332
13273
|
if (hasSlot && !slotContent) return undefined;
|
@@ -13392,6 +13333,7 @@ const VSelect = genericComponent()({
|
|
13392
13333
|
// Composables
|
13393
13334
|
const defaultFilter = (value, query, item) => {
|
13394
13335
|
if (value == null || query == null) return -1;
|
13336
|
+
if (!query.length) return 0;
|
13395
13337
|
value = value.toString().toLocaleLowerCase();
|
13396
13338
|
query = query.toString().toLocaleLowerCase();
|
13397
13339
|
const result = [];
|
@@ -13404,7 +13346,7 @@ const defaultFilter = (value, query, item) => {
|
|
13404
13346
|
};
|
13405
13347
|
function normaliseMatch(match, query) {
|
13406
13348
|
if (match == null || typeof match === 'boolean' || match === -1) return;
|
13407
|
-
if (typeof match === 'number') return [[match, query.length]];
|
13349
|
+
if (typeof match === 'number') return [[match, match + query.length]];
|
13408
13350
|
if (Array.isArray(match[0])) return match;
|
13409
13351
|
return [match];
|
13410
13352
|
}
|
@@ -13872,8 +13814,7 @@ const VAutocomplete = genericComponent()({
|
|
13872
13814
|
onClick: () => select(item, null)
|
13873
13815
|
});
|
13874
13816
|
return slots.item?.({
|
13875
|
-
item
|
13876
|
-
internalItem: item,
|
13817
|
+
item,
|
13877
13818
|
index,
|
13878
13819
|
props: itemProps
|
13879
13820
|
}) ?? createVNode(VListItem, mergeProps(itemProps, {
|
@@ -13924,13 +13865,11 @@ const VAutocomplete = genericComponent()({
|
|
13924
13865
|
};
|
13925
13866
|
const hasSlot = hasChips.value ? !!slots.chip : !!slots.selection;
|
13926
13867
|
const slotContent = hasSlot ? ensureValidVNode(hasChips.value ? slots.chip({
|
13927
|
-
item
|
13928
|
-
internalItem: item,
|
13868
|
+
item,
|
13929
13869
|
index,
|
13930
13870
|
props: slotProps
|
13931
13871
|
}) : slots.selection({
|
13932
|
-
item
|
13933
|
-
internalItem: item,
|
13872
|
+
item,
|
13934
13873
|
index
|
13935
13874
|
})) : undefined;
|
13936
13875
|
if (hasSlot && !slotContent) return undefined;
|
@@ -17322,165 +17261,81 @@ const VPicker = genericComponent()({
|
|
17322
17261
|
|
17323
17262
|
// Types
|
17324
17263
|
|
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
|
-
};
|
17264
|
+
function weekInfo(locale) {
|
17265
|
+
// https://simplelocalize.io/data/locales/
|
17266
|
+
// then `new Intl.Locale(...).getWeekInfo()`
|
17267
|
+
const code = locale.slice(-2).toUpperCase();
|
17268
|
+
switch (true) {
|
17269
|
+
case locale === 'GB-alt-variant':
|
17270
|
+
{
|
17271
|
+
return {
|
17272
|
+
firstDay: 0,
|
17273
|
+
firstWeekSize: 4
|
17274
|
+
};
|
17275
|
+
}
|
17276
|
+
case locale === '001':
|
17277
|
+
{
|
17278
|
+
return {
|
17279
|
+
firstDay: 1,
|
17280
|
+
firstWeekSize: 1
|
17281
|
+
};
|
17282
|
+
}
|
17283
|
+
case `AG AS BD BR BS BT BW BZ CA CO DM DO ET GT GU HK HN ID IL IN JM JP KE
|
17284
|
+
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
|
17285
|
+
VE VI WS YE ZA ZW`.includes(code):
|
17286
|
+
{
|
17287
|
+
return {
|
17288
|
+
firstDay: 0,
|
17289
|
+
firstWeekSize: 1
|
17290
|
+
};
|
17291
|
+
}
|
17292
|
+
case `AI AL AM AR AU AZ BA BM BN BY CL CM CN CR CY EC GE HR KG KZ LB LK LV
|
17293
|
+
MD ME MK MN MY NZ RO RS SI TJ TM TR UA UY UZ VN XK`.includes(code):
|
17294
|
+
{
|
17295
|
+
return {
|
17296
|
+
firstDay: 1,
|
17297
|
+
firstWeekSize: 1
|
17298
|
+
};
|
17299
|
+
}
|
17300
|
+
case `AD AN AT AX BE BG CH CZ DE DK EE ES FI FJ FO FR GB GF GP GR HU IE IS
|
17301
|
+
IT LI LT LU MC MQ NL NO PL RE RU SE SK SM VA`.includes(code):
|
17302
|
+
{
|
17303
|
+
return {
|
17304
|
+
firstDay: 1,
|
17305
|
+
firstWeekSize: 4
|
17306
|
+
};
|
17307
|
+
}
|
17308
|
+
case `AE AF BH DJ DZ EG IQ IR JO KW LY OM QA SD SY`.includes(code):
|
17309
|
+
{
|
17310
|
+
return {
|
17311
|
+
firstDay: 6,
|
17312
|
+
firstWeekSize: 1
|
17313
|
+
};
|
17314
|
+
}
|
17315
|
+
case code === 'MV':
|
17316
|
+
{
|
17317
|
+
return {
|
17318
|
+
firstDay: 5,
|
17319
|
+
firstWeekSize: 1
|
17320
|
+
};
|
17321
|
+
}
|
17322
|
+
case code === 'PT':
|
17323
|
+
{
|
17324
|
+
return {
|
17325
|
+
firstDay: 0,
|
17326
|
+
firstWeekSize: 4
|
17327
|
+
};
|
17328
|
+
}
|
17329
|
+
default:
|
17330
|
+
return null;
|
17331
|
+
}
|
17332
|
+
}
|
17478
17333
|
function getWeekArray(date, locale, firstDayOfWeek) {
|
17479
17334
|
const weeks = [];
|
17480
17335
|
let currentWeek = [];
|
17481
17336
|
const firstDayOfMonth = startOfMonth(date);
|
17482
17337
|
const lastDayOfMonth = endOfMonth(date);
|
17483
|
-
const first = firstDayOfWeek ??
|
17338
|
+
const first = firstDayOfWeek ?? weekInfo(locale)?.firstDay ?? 0;
|
17484
17339
|
const firstDayWeekIndex = (firstDayOfMonth.getDay() - first + 7) % 7;
|
17485
17340
|
const lastDayWeekIndex = (lastDayOfMonth.getDay() - first + 7) % 7;
|
17486
17341
|
for (let i = 0; i < firstDayWeekIndex; i++) {
|
@@ -17511,7 +17366,7 @@ function getWeekArray(date, locale, firstDayOfWeek) {
|
|
17511
17366
|
return weeks;
|
17512
17367
|
}
|
17513
17368
|
function startOfWeek(date, locale, firstDayOfWeek) {
|
17514
|
-
const day = firstDayOfWeek ??
|
17369
|
+
const day = firstDayOfWeek ?? weekInfo(locale)?.firstDay ?? 0;
|
17515
17370
|
const d = new Date(date);
|
17516
17371
|
while (d.getDay() !== day) {
|
17517
17372
|
d.setDate(d.getDate() - 1);
|
@@ -17520,7 +17375,7 @@ function startOfWeek(date, locale, firstDayOfWeek) {
|
|
17520
17375
|
}
|
17521
17376
|
function endOfWeek(date, locale) {
|
17522
17377
|
const d = new Date(date);
|
17523
|
-
const lastDay = ((
|
17378
|
+
const lastDay = ((weekInfo(locale)?.firstDay ?? 0) + 6) % 7;
|
17524
17379
|
while (d.getDay() !== lastDay) {
|
17525
17380
|
d.setDate(d.getDate() + 1);
|
17526
17381
|
}
|
@@ -17555,7 +17410,7 @@ function date(value) {
|
|
17555
17410
|
}
|
17556
17411
|
const sundayJanuarySecond2000 = new Date(2000, 0, 2);
|
17557
17412
|
function getWeekdays(locale, firstDayOfWeek) {
|
17558
|
-
const daysFromSunday = firstDayOfWeek ??
|
17413
|
+
const daysFromSunday = firstDayOfWeek ?? weekInfo(locale)?.firstDay ?? 0;
|
17559
17414
|
return createRange(7).map(i => {
|
17560
17415
|
const weekday = new Date(sundayJanuarySecond2000);
|
17561
17416
|
weekday.setDate(sundayJanuarySecond2000.getDate() + daysFromSunday + i);
|
@@ -17803,6 +17658,24 @@ function getYear(date) {
|
|
17803
17658
|
function getMonth(date) {
|
17804
17659
|
return date.getMonth();
|
17805
17660
|
}
|
17661
|
+
function getWeek(date, locale, firstDayOfWeek, firstWeekMinSize) {
|
17662
|
+
const weekInfoFromLocale = weekInfo(locale);
|
17663
|
+
const weekStart = firstDayOfWeek ?? weekInfoFromLocale?.firstDay ?? 0;
|
17664
|
+
const minWeekSize = firstWeekMinSize ?? weekInfoFromLocale?.firstWeekSize ?? 1;
|
17665
|
+
function firstWeekSize(year) {
|
17666
|
+
const yearStart = new Date(year, 0, 1);
|
17667
|
+
return 7 - getDiff(yearStart, startOfWeek(yearStart, locale, weekStart), 'days');
|
17668
|
+
}
|
17669
|
+
let year = getYear(date);
|
17670
|
+
const currentWeekEnd = addDays(startOfWeek(date, locale, weekStart), 6);
|
17671
|
+
if (year < getYear(currentWeekEnd) && firstWeekSize(year + 1) >= minWeekSize) {
|
17672
|
+
year++;
|
17673
|
+
}
|
17674
|
+
const yearStart = new Date(year, 0, 1);
|
17675
|
+
const size = firstWeekSize(year);
|
17676
|
+
const d1w1 = size >= minWeekSize ? addDays(yearStart, size - 7) : addDays(yearStart, size);
|
17677
|
+
return 1 + getDiff(date, d1w1, 'weeks');
|
17678
|
+
}
|
17806
17679
|
function getDate(date) {
|
17807
17680
|
return date.getDate();
|
17808
17681
|
}
|
@@ -17942,10 +17815,12 @@ class VuetifyDateAdapter {
|
|
17942
17815
|
return addMonths(date, amount);
|
17943
17816
|
}
|
17944
17817
|
getWeekArray(date, firstDayOfWeek) {
|
17945
|
-
|
17818
|
+
const firstDay = firstDayOfWeek !== undefined ? Number(firstDayOfWeek) : undefined;
|
17819
|
+
return getWeekArray(date, this.locale, firstDay);
|
17946
17820
|
}
|
17947
17821
|
startOfWeek(date, firstDayOfWeek) {
|
17948
|
-
|
17822
|
+
const firstDay = firstDayOfWeek !== undefined ? Number(firstDayOfWeek) : undefined;
|
17823
|
+
return startOfWeek(date, this.locale, firstDay);
|
17949
17824
|
}
|
17950
17825
|
endOfWeek(date) {
|
17951
17826
|
return endOfWeek(date, this.locale);
|
@@ -18005,7 +17880,8 @@ class VuetifyDateAdapter {
|
|
18005
17880
|
return getDiff(date, comparing, unit);
|
18006
17881
|
}
|
18007
17882
|
getWeekdays(firstDayOfWeek) {
|
18008
|
-
|
17883
|
+
const firstDay = firstDayOfWeek !== undefined ? Number(firstDayOfWeek) : undefined;
|
17884
|
+
return getWeekdays(this.locale, firstDay);
|
18009
17885
|
}
|
18010
17886
|
getYear(date) {
|
18011
17887
|
return getYear(date);
|
@@ -18013,6 +17889,10 @@ class VuetifyDateAdapter {
|
|
18013
17889
|
getMonth(date) {
|
18014
17890
|
return getMonth(date);
|
18015
17891
|
}
|
17892
|
+
getWeek(date, firstDayOfWeek, firstWeekMinSize) {
|
17893
|
+
const firstDay = firstDayOfWeek !== undefined ? Number(firstDayOfWeek) : undefined;
|
17894
|
+
return getWeek(date, this.locale, firstDay, firstWeekMinSize);
|
17895
|
+
}
|
18016
17896
|
getDate(date) {
|
18017
17897
|
return getDate(date);
|
18018
17898
|
}
|
@@ -18116,26 +17996,6 @@ function useDate() {
|
|
18116
17996
|
return createInstance(options, locale);
|
18117
17997
|
}
|
18118
17998
|
|
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
17999
|
// Types
|
18140
18000
|
|
18141
18001
|
const makeVColorPickerProps = propsFactory({
|
@@ -18682,8 +18542,7 @@ const VCombobox = genericComponent()({
|
|
18682
18542
|
onClick: () => select(item, null)
|
18683
18543
|
});
|
18684
18544
|
return slots.item?.({
|
18685
|
-
item
|
18686
|
-
internalItem: item,
|
18545
|
+
item,
|
18687
18546
|
index,
|
18688
18547
|
props: itemProps
|
18689
18548
|
}) ?? createVNode(VListItem, mergeProps(itemProps, {
|
@@ -18734,13 +18593,11 @@ const VCombobox = genericComponent()({
|
|
18734
18593
|
};
|
18735
18594
|
const hasSlot = hasChips.value ? !!slots.chip : !!slots.selection;
|
18736
18595
|
const slotContent = hasSlot ? ensureValidVNode(hasChips.value ? slots.chip({
|
18737
|
-
item
|
18738
|
-
internalItem: item,
|
18596
|
+
item,
|
18739
18597
|
index,
|
18740
18598
|
props: slotProps
|
18741
18599
|
}) : slots.selection({
|
18742
|
-
item
|
18743
|
-
internalItem: item,
|
18600
|
+
item,
|
18744
18601
|
index
|
18745
18602
|
})) : undefined;
|
18746
18603
|
if (hasSlot && !slotContent) return undefined;
|
@@ -22327,7 +22184,7 @@ const makeCalendarProps = propsFactory({
|
|
22327
22184
|
},
|
22328
22185
|
firstDayOfWeek: {
|
22329
22186
|
type: [Number, String],
|
22330
|
-
default:
|
22187
|
+
default: undefined
|
22331
22188
|
}
|
22332
22189
|
}, 'calendar');
|
22333
22190
|
function useCalendar(props) {
|
@@ -22350,14 +22207,12 @@ function useCalendar(props) {
|
|
22350
22207
|
return adapter.setMonth(date, value);
|
22351
22208
|
}, v => adapter.getMonth(v));
|
22352
22209
|
const weekDays = computed(() => {
|
22353
|
-
const firstDayOfWeek =
|
22354
|
-
|
22210
|
+
const firstDayOfWeek = adapter.toJsDate(adapter.startOfWeek(adapter.date(), props.firstDayOfWeek)).getDay();
|
22355
22211
|
// Always generate all days, regardless of props.weekdays
|
22356
22212
|
return [0, 1, 2, 3, 4, 5, 6].map(day => (day + firstDayOfWeek) % 7);
|
22357
22213
|
});
|
22358
22214
|
const weeksInMonth = computed(() => {
|
22359
|
-
const
|
22360
|
-
const weeks = adapter.getWeekArray(month.value, firstDayOfWeek);
|
22215
|
+
const weeks = adapter.getWeekArray(month.value, props.firstDayOfWeek);
|
22361
22216
|
const days = weeks.flat();
|
22362
22217
|
|
22363
22218
|
// Make sure there's always 6 weeks in month (6 * 7 days)
|
@@ -22421,7 +22276,7 @@ function useCalendar(props) {
|
|
22421
22276
|
});
|
22422
22277
|
const weekNumbers = computed(() => {
|
22423
22278
|
return weeksInMonth.value.map(week => {
|
22424
|
-
return week.length ? getWeek(
|
22279
|
+
return week.length ? adapter.getWeek(week[0], props.firstDayOfWeek) : null;
|
22425
22280
|
});
|
22426
22281
|
});
|
22427
22282
|
function isDisabled(value) {
|
@@ -23910,17 +23765,7 @@ const VForm = genericComponent()({
|
|
23910
23765
|
"novalidate": true,
|
23911
23766
|
"onReset": onReset,
|
23912
23767
|
"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
|
-
})]));
|
23768
|
+
}, [slots.default?.(form)]));
|
23924
23769
|
return forwardRefs(form, formRef);
|
23925
23770
|
}
|
23926
23771
|
});
|
@@ -29329,7 +29174,7 @@ function createVuetify$1() {
|
|
29329
29174
|
};
|
29330
29175
|
});
|
29331
29176
|
}
|
29332
|
-
const version$1 = "3.8.
|
29177
|
+
const version$1 = "3.8.2-master.2025-04-17";
|
29333
29178
|
createVuetify$1.version = version$1;
|
29334
29179
|
|
29335
29180
|
// Vue's inject() can only be used in setup
|
@@ -29354,7 +29199,7 @@ const createVuetify = function () {
|
|
29354
29199
|
...options
|
29355
29200
|
});
|
29356
29201
|
};
|
29357
|
-
const version = "3.8.
|
29202
|
+
const version = "3.8.2-master.2025-04-17";
|
29358
29203
|
createVuetify.version = version;
|
29359
29204
|
|
29360
29205
|
export { index as blueprints, components, createVuetify, directives, useDate, useDefaults, useDisplay, useGoTo, useLayout, useLocale, useRtl, useTheme, version };
|