@vuetify/nightly 3.8.5-pr-21419.3ae3440 → 3.8.6-dev.2025-05-21
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 +21 -10
- package/dist/json/attributes.json +3457 -3421
- package/dist/json/importMap-labs.json +28 -28
- package/dist/json/importMap.json +174 -174
- package/dist/json/tags.json +9 -0
- package/dist/json/web-types.json +6421 -6246
- package/dist/vuetify-labs.cjs +296 -156
- package/dist/vuetify-labs.css +5588 -5549
- package/dist/vuetify-labs.d.ts +1512 -1354
- package/dist/vuetify-labs.esm.js +297 -157
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +296 -156
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.cjs +290 -145
- package/dist/vuetify.cjs.map +1 -1
- package/dist/vuetify.css +4006 -3967
- package/dist/vuetify.d.ts +671 -521
- package/dist/vuetify.esm.js +291 -146
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +290 -145
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +1196 -1189
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAlert/VAlert.css +6 -1
- package/lib/components/VAlert/VAlert.d.ts +35 -0
- package/lib/components/VAlert/VAlert.js +14 -9
- package/lib/components/VAlert/VAlert.js.map +1 -1
- package/lib/components/VAlert/VAlert.sass +7 -1
- package/lib/components/VAutocomplete/VAutocomplete.d.ts +120 -96
- package/lib/components/VAutocomplete/VAutocomplete.js +18 -1
- package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
- package/lib/components/VBtnGroup/VBtnGroup.css +30 -7
- package/lib/components/VBtnGroup/VBtnGroup.d.ts +58 -32
- package/lib/components/VBtnGroup/VBtnGroup.js +7 -3
- package/lib/components/VBtnGroup/VBtnGroup.js.map +1 -1
- package/lib/components/VBtnGroup/VBtnGroup.sass +44 -17
- package/lib/components/VBtnToggle/VBtnToggle.d.ts +25 -0
- package/lib/components/VCheckbox/VCheckbox.d.ts +3 -3
- package/lib/components/VCombobox/VCombobox.d.ts +120 -96
- package/lib/components/VCombobox/VCombobox.js +19 -1
- package/lib/components/VCombobox/VCombobox.js.map +1 -1
- package/lib/components/VDatePicker/VDatePicker.d.ts +10 -0
- package/lib/components/VDatePicker/VDatePickerMonth.d.ts +10 -0
- package/lib/components/VDatePicker/VDatePickerMonth.js +1 -1
- package/lib/components/VDatePicker/VDatePickerMonth.js.map +1 -1
- package/lib/components/VField/VField.d.ts +3 -3
- package/lib/components/VFileInput/VFileInput.d.ts +15 -15
- package/lib/components/VInput/VInput.d.ts +4 -4
- package/lib/components/VList/VListChildren.js.map +1 -1
- package/lib/components/VNumberInput/VNumberInput.css +15 -4
- package/lib/components/VNumberInput/VNumberInput.d.ts +103 -89
- package/lib/components/VNumberInput/VNumberInput.js +19 -4
- package/lib/components/VNumberInput/VNumberInput.js.map +1 -1
- package/lib/components/VNumberInput/VNumberInput.sass +18 -6
- package/lib/components/VOverlay/VOverlay.css +1 -1
- package/lib/components/VOverlay/_variables.scss +1 -1
- package/lib/components/VRadioGroup/VRadioGroup.d.ts +3 -3
- package/lib/components/VRangeSlider/VRangeSlider.d.ts +3 -3
- package/lib/components/VSelect/VSelect.d.ts +120 -96
- package/lib/components/VSelect/VSelect.js +19 -34
- package/lib/components/VSelect/VSelect.js.map +1 -1
- package/lib/components/VSlider/VSlider.d.ts +3 -3
- package/lib/components/VSwitch/VSwitch.d.ts +3 -3
- package/lib/components/VTextField/VTextField.d.ts +27 -27
- package/lib/components/VTextarea/VTextarea.d.ts +15 -15
- package/lib/composables/calendar.d.ts +6 -0
- package/lib/composables/calendar.js +2 -1
- package/lib/composables/calendar.js.map +1 -1
- package/lib/composables/date/DateAdapter.d.ts +1 -1
- package/lib/composables/date/DateAdapter.js.map +1 -1
- package/lib/composables/date/adapters/vuetify.d.ts +1 -1
- package/lib/composables/date/adapters/vuetify.js +4 -4
- package/lib/composables/date/adapters/vuetify.js.map +1 -1
- package/lib/composables/date/date.d.ts +1 -1
- package/lib/composables/date/index.d.ts +1 -0
- package/lib/composables/date/index.js +1 -0
- package/lib/composables/date/index.js.map +1 -1
- package/lib/composables/filter.js +3 -0
- package/lib/composables/filter.js.map +1 -1
- package/lib/composables/iconSizes.d.ts +28 -0
- package/lib/composables/iconSizes.js +23 -0
- package/lib/composables/iconSizes.js.map +1 -0
- package/lib/composables/theme.d.ts +6 -1
- package/lib/composables/theme.js +94 -26
- package/lib/composables/theme.js.map +1 -1
- package/lib/composables/virtual.js +6 -1
- package/lib/composables/virtual.js.map +1 -1
- package/lib/entry-bundler.d.ts +1 -1
- package/lib/entry-bundler.js +1 -1
- package/lib/entry-bundler.js.map +1 -1
- package/lib/framework.d.ts +76 -71
- package/lib/framework.js +1 -1
- package/lib/framework.js.map +1 -1
- package/lib/labs/VCalendar/VCalendar.d.ts +10 -0
- package/lib/labs/VColorInput/VColorInput.d.ts +3 -3
- package/lib/labs/VDateInput/VDateInput.d.ts +97 -87
- package/lib/labs/VFileUpload/VFileUpload.d.ts +3 -3
- package/lib/labs/VIconBtn/VIconBtn.d.ts +29 -29
- package/lib/labs/VIconBtn/VIconBtn.js +7 -11
- package/lib/labs/VIconBtn/VIconBtn.js.map +1 -1
- package/lib/labs/entry-bundler.d.ts +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 +3 -1
package/dist/vuetify.esm.js
CHANGED
@@ -1,15 +1,16 @@
|
|
1
1
|
/*!
|
2
|
-
* Vuetify v3.8.
|
2
|
+
* Vuetify v3.8.6-dev.2025-05-21
|
3
3
|
* Forged by John Leider
|
4
4
|
* Released under the MIT License.
|
5
5
|
*/
|
6
6
|
|
7
|
-
import { shallowRef, reactive, watchEffect, toRef, capitalize, unref, Fragment, isVNode, Comment, warn, getCurrentInstance as getCurrentInstance$1, ref, computed, provide, inject as inject$1, defineComponent as defineComponent$1, h, camelize, createVNode, mergeProps, toValue, onBeforeUnmount, watch, readonly, onMounted, useId, onDeactivated, onActivated, onScopeDispose, effectScope, toRaw, TransitionGroup, Transition, toRefs, isRef, onBeforeMount, nextTick, withDirectives, resolveDirective, vShow, onUpdated, Text, resolveDynamicComponent, toDisplayString, markRaw, Teleport, cloneVNode, createTextVNode, onUnmounted, onBeforeUpdate, withModifiers, vModelText, resolveComponent, render } from 'vue';
|
7
|
+
import { shallowRef, reactive, watchEffect, toRef, capitalize, unref, Fragment, isVNode, Comment, warn, getCurrentInstance as getCurrentInstance$1, ref, computed, provide, inject as inject$1, defineComponent as defineComponent$1, h, camelize, createVNode, mergeProps, toValue, onBeforeUnmount, watch, readonly, onMounted, useId, onDeactivated, onActivated, onScopeDispose, effectScope, toRaw, getCurrentScope, TransitionGroup, Transition, toRefs, isRef, 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';
|
13
14
|
|
14
15
|
function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
|
15
16
|
function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
|
@@ -2782,6 +2783,7 @@ const makeThemeProps = propsFactory({
|
|
2782
2783
|
function genDefaults$1() {
|
2783
2784
|
return {
|
2784
2785
|
defaultTheme: 'light',
|
2786
|
+
prefix: 'v-',
|
2785
2787
|
variations: {
|
2786
2788
|
colors: [],
|
2787
2789
|
lighten: 0,
|
@@ -2863,7 +2865,10 @@ function genDefaults$1() {
|
|
2863
2865
|
}
|
2864
2866
|
}
|
2865
2867
|
},
|
2866
|
-
stylesheetId: 'vuetify-theme-stylesheet'
|
2868
|
+
stylesheetId: 'vuetify-theme-stylesheet',
|
2869
|
+
scoped: false,
|
2870
|
+
unimportant: false,
|
2871
|
+
utilities: true
|
2867
2872
|
};
|
2868
2873
|
}
|
2869
2874
|
function parseThemeOptions() {
|
@@ -2886,21 +2891,21 @@ function parseThemeOptions() {
|
|
2886
2891
|
function createCssClass(lines, selector, content, scope) {
|
2887
2892
|
lines.push(`${getScopedSelector(selector, scope)} {\n`, ...content.map(line => ` ${line};\n`), '}\n');
|
2888
2893
|
}
|
2889
|
-
function genCssVariables(theme) {
|
2894
|
+
function genCssVariables(theme, prefix) {
|
2890
2895
|
const lightOverlay = theme.dark ? 2 : 1;
|
2891
2896
|
const darkOverlay = theme.dark ? 1 : 2;
|
2892
2897
|
const variables = [];
|
2893
2898
|
for (const [key, value] of Object.entries(theme.colors)) {
|
2894
2899
|
const rgb = parseColor(value);
|
2895
|
-
variables.push(
|
2900
|
+
variables.push(`--${prefix}theme-${key}: ${rgb.r},${rgb.g},${rgb.b}`);
|
2896
2901
|
if (!key.startsWith('on-')) {
|
2897
|
-
variables.push(
|
2902
|
+
variables.push(`--${prefix}theme-${key}-overlay-multiplier: ${getLuma(value) > 0.18 ? lightOverlay : darkOverlay}`);
|
2898
2903
|
}
|
2899
2904
|
}
|
2900
2905
|
for (const [key, value] of Object.entries(theme.variables)) {
|
2901
2906
|
const color = typeof value === 'string' && value.startsWith('#') ? parseColor(value) : undefined;
|
2902
2907
|
const rgb = color ? `${color.r}, ${color.g}, ${color.b}` : undefined;
|
2903
|
-
variables.push(
|
2908
|
+
variables.push(`--${prefix}${key}: ${rgb ?? value}`);
|
2904
2909
|
}
|
2905
2910
|
return variables;
|
2906
2911
|
}
|
@@ -2944,7 +2949,8 @@ function getScopedSelector(selector, scope) {
|
|
2944
2949
|
const scopeSelector = `:where(${scope})`;
|
2945
2950
|
return selector === ':root' ? scopeSelector : `${scopeSelector} ${selector}`;
|
2946
2951
|
}
|
2947
|
-
function upsertStyles(
|
2952
|
+
function upsertStyles(id, cspNonce, styles) {
|
2953
|
+
const styleEl = getOrCreateStyleElement(id, cspNonce);
|
2948
2954
|
if (!styleEl) return;
|
2949
2955
|
styleEl.innerHTML = styles;
|
2950
2956
|
}
|
@@ -2964,8 +2970,17 @@ function getOrCreateStyleElement(id, cspNonce) {
|
|
2964
2970
|
// Composables
|
2965
2971
|
function createTheme(options) {
|
2966
2972
|
const parsedOptions = parseThemeOptions(options);
|
2967
|
-
const
|
2973
|
+
const _name = shallowRef(parsedOptions.defaultTheme);
|
2968
2974
|
const themes = ref(parsedOptions.themes);
|
2975
|
+
const systemName = shallowRef('light');
|
2976
|
+
const name = computed({
|
2977
|
+
get() {
|
2978
|
+
return _name.value === 'system' ? systemName.value : _name.value;
|
2979
|
+
},
|
2980
|
+
set(val) {
|
2981
|
+
_name.value = val;
|
2982
|
+
}
|
2983
|
+
});
|
2969
2984
|
const computedThemes = computed(() => {
|
2970
2985
|
const acc = {};
|
2971
2986
|
for (const [name, original] of Object.entries(themes.value)) {
|
@@ -2986,28 +3001,49 @@ function createTheme(options) {
|
|
2986
3001
|
const current = toRef(() => computedThemes.value[name.value]);
|
2987
3002
|
const styles = computed(() => {
|
2988
3003
|
const lines = [];
|
3004
|
+
const important = parsedOptions.unimportant ? '' : ' !important';
|
3005
|
+
const scoped = parsedOptions.scoped ? parsedOptions.prefix : '';
|
2989
3006
|
if (current.value?.dark) {
|
2990
3007
|
createCssClass(lines, ':root', ['color-scheme: dark'], parsedOptions.scope);
|
2991
3008
|
}
|
2992
|
-
createCssClass(lines, ':root', genCssVariables(current.value), parsedOptions.scope);
|
3009
|
+
createCssClass(lines, ':root', genCssVariables(current.value, parsedOptions.prefix), parsedOptions.scope);
|
2993
3010
|
for (const [themeName, theme] of Object.entries(computedThemes.value)) {
|
2994
|
-
createCssClass(lines,
|
2995
|
-
}
|
2996
|
-
|
2997
|
-
|
2998
|
-
|
2999
|
-
|
3000
|
-
|
3001
|
-
|
3002
|
-
|
3003
|
-
|
3004
|
-
|
3005
|
-
|
3011
|
+
createCssClass(lines, `.${parsedOptions.prefix}theme--${themeName}`, [`color-scheme: ${theme.dark ? 'dark' : 'normal'}`, ...genCssVariables(theme, parsedOptions.prefix)], parsedOptions.scope);
|
3012
|
+
}
|
3013
|
+
if (parsedOptions.utilities) {
|
3014
|
+
const bgLines = [];
|
3015
|
+
const fgLines = [];
|
3016
|
+
const colors = new Set(Object.values(computedThemes.value).flatMap(theme => Object.keys(theme.colors)));
|
3017
|
+
for (const key of colors) {
|
3018
|
+
if (key.startsWith('on-')) {
|
3019
|
+
createCssClass(fgLines, `.${key}`, [`color: rgb(var(--${parsedOptions.prefix}theme-${key}))${important}`], parsedOptions.scope);
|
3020
|
+
} else {
|
3021
|
+
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);
|
3022
|
+
createCssClass(fgLines, `.${scoped}text-${key}`, [`color: rgb(var(--${parsedOptions.prefix}theme-${key}))${important}`], parsedOptions.scope);
|
3023
|
+
createCssClass(fgLines, `.${scoped}border-${key}`, [`--${parsedOptions.prefix}border-color: var(--${parsedOptions.prefix}theme-${key})`], parsedOptions.scope);
|
3024
|
+
}
|
3006
3025
|
}
|
3026
|
+
lines.push(...bgLines, ...fgLines);
|
3007
3027
|
}
|
3008
|
-
lines.push(...bgLines, ...fgLines);
|
3009
3028
|
return lines.map((str, i) => i === 0 ? str : ` ${str}`).join('');
|
3010
3029
|
});
|
3030
|
+
const themeClasses = toRef(() => parsedOptions.isDisabled ? undefined : `${parsedOptions.prefix}theme--${name.value}`);
|
3031
|
+
const themeNames = toRef(() => Object.keys(computedThemes.value));
|
3032
|
+
if (SUPPORTS_MATCH_MEDIA) {
|
3033
|
+
const media = window.matchMedia('(prefers-color-scheme: dark)');
|
3034
|
+
function updateSystemName() {
|
3035
|
+
systemName.value = media.matches ? 'dark' : 'light';
|
3036
|
+
}
|
3037
|
+
updateSystemName();
|
3038
|
+
media.addEventListener('change', updateSystemName, {
|
3039
|
+
passive: true
|
3040
|
+
});
|
3041
|
+
if (getCurrentScope()) {
|
3042
|
+
onScopeDispose(() => {
|
3043
|
+
media.removeEventListener('change', updateSystemName);
|
3044
|
+
});
|
3045
|
+
}
|
3046
|
+
}
|
3011
3047
|
function install(app) {
|
3012
3048
|
if (parsedOptions.isDisabled) return;
|
3013
3049
|
const head = app._context.provides.usehead;
|
@@ -3045,22 +3081,55 @@ function createTheme(options) {
|
|
3045
3081
|
updateStyles();
|
3046
3082
|
}
|
3047
3083
|
function updateStyles() {
|
3048
|
-
upsertStyles(
|
3084
|
+
upsertStyles(parsedOptions.stylesheetId, parsedOptions.cspNonce, styles.value);
|
3049
3085
|
}
|
3050
3086
|
}
|
3051
3087
|
}
|
3052
|
-
|
3088
|
+
function change(themeName) {
|
3089
|
+
if (!themeNames.value.includes(themeName)) {
|
3090
|
+
consoleWarn(`Theme "${themeName}" not found on the Vuetify theme instance`);
|
3091
|
+
return;
|
3092
|
+
}
|
3093
|
+
name.value = themeName;
|
3094
|
+
}
|
3095
|
+
function cycle() {
|
3096
|
+
let themeArray = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : themeNames.value;
|
3097
|
+
const currentIndex = themeArray.indexOf(name.value);
|
3098
|
+
const nextIndex = currentIndex === -1 ? 0 : (currentIndex + 1) % themeArray.length;
|
3099
|
+
change(themeArray[nextIndex]);
|
3100
|
+
}
|
3101
|
+
function toggle() {
|
3102
|
+
let themeArray = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ['light', 'dark'];
|
3103
|
+
cycle(themeArray);
|
3104
|
+
}
|
3105
|
+
const globalName = new Proxy(name, {
|
3106
|
+
get(target, prop) {
|
3107
|
+
return target[prop];
|
3108
|
+
},
|
3109
|
+
set(target, prop, val) {
|
3110
|
+
if (prop === 'value') {
|
3111
|
+
deprecate(`theme.global.name.value = ${val}`, `theme.change('${val}')`);
|
3112
|
+
}
|
3113
|
+
// @ts-expect-error
|
3114
|
+
target[prop] = val;
|
3115
|
+
return true;
|
3116
|
+
}
|
3117
|
+
});
|
3053
3118
|
return {
|
3054
3119
|
install,
|
3120
|
+
change,
|
3121
|
+
cycle,
|
3122
|
+
toggle,
|
3055
3123
|
isDisabled: parsedOptions.isDisabled,
|
3056
3124
|
name,
|
3057
3125
|
themes,
|
3058
3126
|
current,
|
3059
3127
|
computedThemes,
|
3128
|
+
prefix: parsedOptions.prefix,
|
3060
3129
|
themeClasses,
|
3061
3130
|
styles,
|
3062
3131
|
global: {
|
3063
|
-
name,
|
3132
|
+
name: globalName,
|
3064
3133
|
current
|
3065
3134
|
}
|
3066
3135
|
};
|
@@ -3071,7 +3140,7 @@ function provideTheme(props) {
|
|
3071
3140
|
if (!theme) throw new Error('Could not find Vuetify theme injection');
|
3072
3141
|
const name = toRef(() => props.theme ?? theme.name.value);
|
3073
3142
|
const current = toRef(() => theme.themes.value[name.value]);
|
3074
|
-
const themeClasses = toRef(() => theme.isDisabled ? undefined :
|
3143
|
+
const themeClasses = toRef(() => theme.isDisabled ? undefined : `${theme.prefix}theme--${name.value}`);
|
3075
3144
|
const newTheme = {
|
3076
3145
|
...theme,
|
3077
3146
|
name,
|
@@ -4618,9 +4687,15 @@ function useVariant(props) {
|
|
4618
4687
|
};
|
4619
4688
|
}
|
4620
4689
|
|
4690
|
+
// Types
|
4691
|
+
|
4621
4692
|
const makeVBtnGroupProps = propsFactory({
|
4622
4693
|
baseColor: String,
|
4623
4694
|
divided: Boolean,
|
4695
|
+
direction: {
|
4696
|
+
type: String,
|
4697
|
+
default: 'horizontal'
|
4698
|
+
},
|
4624
4699
|
...makeBorderProps(),
|
4625
4700
|
...makeComponentProps(),
|
4626
4701
|
...makeDensityProps(),
|
@@ -4654,7 +4729,7 @@ const VBtnGroup = genericComponent()({
|
|
4654
4729
|
} = useRounded(props);
|
4655
4730
|
provideDefaults({
|
4656
4731
|
VBtn: {
|
4657
|
-
height: 'auto',
|
4732
|
+
height: toRef(() => props.direction === 'horizontal' ? 'auto' : null),
|
4658
4733
|
baseColor: toRef(() => props.baseColor),
|
4659
4734
|
color: toRef(() => props.color),
|
4660
4735
|
density: toRef(() => props.density),
|
@@ -4664,7 +4739,7 @@ const VBtnGroup = genericComponent()({
|
|
4664
4739
|
});
|
4665
4740
|
useRender(() => {
|
4666
4741
|
return createVNode(props.tag, {
|
4667
|
-
"class": ['v-btn-group', {
|
4742
|
+
"class": ['v-btn-group', `v-btn-group--${props.direction}`, {
|
4668
4743
|
'v-btn-group--divided': props.divided
|
4669
4744
|
}, themeClasses.value, borderClasses.value, densityClasses.value, elevationClasses.value, roundedClasses.value, props.class],
|
4670
4745
|
"style": props.style
|
@@ -6143,6 +6218,31 @@ const VAppBarTitle = genericComponent()({
|
|
6143
6218
|
// Utilities
|
6144
6219
|
const VAlertTitle = createSimpleFunctional('v-alert-title');
|
6145
6220
|
|
6221
|
+
// Utilities
|
6222
|
+
|
6223
|
+
// Types
|
6224
|
+
|
6225
|
+
// Types
|
6226
|
+
|
6227
|
+
// Composables
|
6228
|
+
const makeIconSizeProps = propsFactory({
|
6229
|
+
iconSize: [Number, String],
|
6230
|
+
iconSizes: {
|
6231
|
+
type: Array,
|
6232
|
+
default: () => [['x-small', 10], ['small', 16], ['default', 24], ['large', 28], ['x-large', 32]]
|
6233
|
+
}
|
6234
|
+
}, 'iconSize');
|
6235
|
+
function useIconSizes(props, fallback) {
|
6236
|
+
const iconSize = computed(() => {
|
6237
|
+
const iconSizeMap = new Map(props.iconSizes);
|
6238
|
+
const _iconSize = props.iconSize ?? fallback() ?? 'default';
|
6239
|
+
return iconSizeMap.has(_iconSize) ? iconSizeMap.get(_iconSize) : _iconSize;
|
6240
|
+
});
|
6241
|
+
return {
|
6242
|
+
iconSize
|
6243
|
+
};
|
6244
|
+
}
|
6245
|
+
|
6146
6246
|
// Types
|
6147
6247
|
|
6148
6248
|
const allowedTypes = ['success', 'info', 'warning', 'error'];
|
@@ -6182,6 +6282,7 @@ const makeVAlertProps = propsFactory({
|
|
6182
6282
|
...makeDensityProps(),
|
6183
6283
|
...makeDimensionProps(),
|
6184
6284
|
...makeElevationProps(),
|
6285
|
+
...makeIconSizeProps(),
|
6185
6286
|
...makeLocationProps(),
|
6186
6287
|
...makePositionProps(),
|
6187
6288
|
...makeRoundedProps(),
|
@@ -6209,6 +6310,9 @@ const VAlert = genericComponent()({
|
|
6209
6310
|
if (!props.type) return props.icon;
|
6210
6311
|
return props.icon ?? `$${props.type}`;
|
6211
6312
|
});
|
6313
|
+
const {
|
6314
|
+
iconSize
|
6315
|
+
} = useIconSizes(props, () => props.prominent ? 44 : 28);
|
6212
6316
|
const {
|
6213
6317
|
themeClasses
|
6214
6318
|
} = provideTheme(props);
|
@@ -6256,6 +6360,11 @@ const VAlert = genericComponent()({
|
|
6256
6360
|
const hasPrepend = !!(slots.prepend || icon.value);
|
6257
6361
|
const hasTitle = !!(slots.title || props.title);
|
6258
6362
|
const hasClose = !!(slots.close || props.closable);
|
6363
|
+
const iconProps = {
|
6364
|
+
density: props.density,
|
6365
|
+
icon: icon.value,
|
6366
|
+
size: iconSize.value
|
6367
|
+
};
|
6259
6368
|
return isActive.value && createVNode(props.tag, {
|
6260
6369
|
"class": ['v-alert', props.border && {
|
6261
6370
|
'v-alert--border': !!props.border,
|
@@ -6273,19 +6382,14 @@ const VAlert = genericComponent()({
|
|
6273
6382
|
}, null), hasPrepend && createVNode("div", {
|
6274
6383
|
"key": "prepend",
|
6275
6384
|
"class": "v-alert__prepend"
|
6276
|
-
}, [!slots.prepend ? createVNode(VIcon, {
|
6277
|
-
"key": "prepend-icon"
|
6278
|
-
|
6279
|
-
"icon": icon.value,
|
6280
|
-
"size": props.prominent ? 44 : 28
|
6281
|
-
}, null) : createVNode(VDefaultsProvider, {
|
6385
|
+
}, [!slots.prepend ? createVNode(VIcon, mergeProps({
|
6386
|
+
"key": "prepend-icon"
|
6387
|
+
}, iconProps), null) : createVNode(VDefaultsProvider, {
|
6282
6388
|
"key": "prepend-defaults",
|
6283
6389
|
"disabled": !icon.value,
|
6284
6390
|
"defaults": {
|
6285
6391
|
VIcon: {
|
6286
|
-
|
6287
|
-
icon: icon.value,
|
6288
|
-
size: props.prominent ? 44 : 28
|
6392
|
+
...iconProps
|
6289
6393
|
}
|
6290
6394
|
}
|
6291
6395
|
}, slots.prepend)]), createVNode("div", {
|
@@ -8483,6 +8587,68 @@ const VChip = genericComponent()({
|
|
8483
8587
|
}
|
8484
8588
|
});
|
8485
8589
|
|
8590
|
+
const makeVDividerProps = propsFactory({
|
8591
|
+
color: String,
|
8592
|
+
inset: Boolean,
|
8593
|
+
length: [Number, String],
|
8594
|
+
opacity: [Number, String],
|
8595
|
+
thickness: [Number, String],
|
8596
|
+
vertical: Boolean,
|
8597
|
+
...makeComponentProps(),
|
8598
|
+
...makeThemeProps()
|
8599
|
+
}, 'VDivider');
|
8600
|
+
const VDivider = genericComponent()({
|
8601
|
+
name: 'VDivider',
|
8602
|
+
props: makeVDividerProps(),
|
8603
|
+
setup(props, _ref) {
|
8604
|
+
let {
|
8605
|
+
attrs,
|
8606
|
+
slots
|
8607
|
+
} = _ref;
|
8608
|
+
const {
|
8609
|
+
themeClasses
|
8610
|
+
} = provideTheme(props);
|
8611
|
+
const {
|
8612
|
+
textColorClasses,
|
8613
|
+
textColorStyles
|
8614
|
+
} = useTextColor(() => props.color);
|
8615
|
+
const dividerStyles = computed(() => {
|
8616
|
+
const styles = {};
|
8617
|
+
if (props.length) {
|
8618
|
+
styles[props.vertical ? 'height' : 'width'] = convertToUnit(props.length);
|
8619
|
+
}
|
8620
|
+
if (props.thickness) {
|
8621
|
+
styles[props.vertical ? 'borderRightWidth' : 'borderTopWidth'] = convertToUnit(props.thickness);
|
8622
|
+
}
|
8623
|
+
return styles;
|
8624
|
+
});
|
8625
|
+
useRender(() => {
|
8626
|
+
const divider = createVNode("hr", {
|
8627
|
+
"class": [{
|
8628
|
+
'v-divider': true,
|
8629
|
+
'v-divider--inset': props.inset,
|
8630
|
+
'v-divider--vertical': props.vertical
|
8631
|
+
}, themeClasses.value, textColorClasses.value, props.class],
|
8632
|
+
"style": [dividerStyles.value, textColorStyles.value, {
|
8633
|
+
'--v-border-opacity': props.opacity
|
8634
|
+
}, props.style],
|
8635
|
+
"aria-orientation": !attrs.role || attrs.role === 'separator' ? props.vertical ? 'vertical' : 'horizontal' : undefined,
|
8636
|
+
"role": `${attrs.role || 'separator'}`
|
8637
|
+
}, null);
|
8638
|
+
if (!slots.default) return divider;
|
8639
|
+
return createVNode("div", {
|
8640
|
+
"class": ['v-divider__wrapper', {
|
8641
|
+
'v-divider__wrapper--vertical': props.vertical,
|
8642
|
+
'v-divider__wrapper--inset': props.inset
|
8643
|
+
}]
|
8644
|
+
}, [divider, createVNode("div", {
|
8645
|
+
"class": "v-divider__content"
|
8646
|
+
}, [slots.default()]), divider]);
|
8647
|
+
});
|
8648
|
+
return {};
|
8649
|
+
}
|
8650
|
+
});
|
8651
|
+
|
8486
8652
|
// Utilities
|
8487
8653
|
|
8488
8654
|
// List
|
@@ -9634,68 +9800,6 @@ const VListSubheader = genericComponent()({
|
|
9634
9800
|
}
|
9635
9801
|
});
|
9636
9802
|
|
9637
|
-
const makeVDividerProps = propsFactory({
|
9638
|
-
color: String,
|
9639
|
-
inset: Boolean,
|
9640
|
-
length: [Number, String],
|
9641
|
-
opacity: [Number, String],
|
9642
|
-
thickness: [Number, String],
|
9643
|
-
vertical: Boolean,
|
9644
|
-
...makeComponentProps(),
|
9645
|
-
...makeThemeProps()
|
9646
|
-
}, 'VDivider');
|
9647
|
-
const VDivider = genericComponent()({
|
9648
|
-
name: 'VDivider',
|
9649
|
-
props: makeVDividerProps(),
|
9650
|
-
setup(props, _ref) {
|
9651
|
-
let {
|
9652
|
-
attrs,
|
9653
|
-
slots
|
9654
|
-
} = _ref;
|
9655
|
-
const {
|
9656
|
-
themeClasses
|
9657
|
-
} = provideTheme(props);
|
9658
|
-
const {
|
9659
|
-
textColorClasses,
|
9660
|
-
textColorStyles
|
9661
|
-
} = useTextColor(() => props.color);
|
9662
|
-
const dividerStyles = computed(() => {
|
9663
|
-
const styles = {};
|
9664
|
-
if (props.length) {
|
9665
|
-
styles[props.vertical ? 'height' : 'width'] = convertToUnit(props.length);
|
9666
|
-
}
|
9667
|
-
if (props.thickness) {
|
9668
|
-
styles[props.vertical ? 'borderRightWidth' : 'borderTopWidth'] = convertToUnit(props.thickness);
|
9669
|
-
}
|
9670
|
-
return styles;
|
9671
|
-
});
|
9672
|
-
useRender(() => {
|
9673
|
-
const divider = createVNode("hr", {
|
9674
|
-
"class": [{
|
9675
|
-
'v-divider': true,
|
9676
|
-
'v-divider--inset': props.inset,
|
9677
|
-
'v-divider--vertical': props.vertical
|
9678
|
-
}, themeClasses.value, textColorClasses.value, props.class],
|
9679
|
-
"style": [dividerStyles.value, textColorStyles.value, {
|
9680
|
-
'--v-border-opacity': props.opacity
|
9681
|
-
}, props.style],
|
9682
|
-
"aria-orientation": !attrs.role || attrs.role === 'separator' ? props.vertical ? 'vertical' : 'horizontal' : undefined,
|
9683
|
-
"role": `${attrs.role || 'separator'}`
|
9684
|
-
}, null);
|
9685
|
-
if (!slots.default) return divider;
|
9686
|
-
return createVNode("div", {
|
9687
|
-
"class": ['v-divider__wrapper', {
|
9688
|
-
'v-divider__wrapper--vertical': props.vertical,
|
9689
|
-
'v-divider__wrapper--inset': props.inset
|
9690
|
-
}]
|
9691
|
-
}, [divider, createVNode("div", {
|
9692
|
-
"class": "v-divider__content"
|
9693
|
-
}, [slots.default()]), divider]);
|
9694
|
-
});
|
9695
|
-
return {};
|
9696
|
-
}
|
9697
|
-
});
|
9698
|
-
|
9699
9803
|
// Types
|
9700
9804
|
|
9701
9805
|
const makeVListChildrenProps = propsFactory({
|
@@ -12613,7 +12717,12 @@ function useVirtual(props, items) {
|
|
12613
12717
|
}
|
12614
12718
|
function calculateOffset(index) {
|
12615
12719
|
index = clamp(index, 0, items.value.length - 1);
|
12616
|
-
|
12720
|
+
const whole = Math.floor(index);
|
12721
|
+
const fraction = index % 1;
|
12722
|
+
const next = whole + 1;
|
12723
|
+
const wholeOffset = offsets[whole] || 0;
|
12724
|
+
const nextOffset = offsets[next] || wholeOffset;
|
12725
|
+
return wholeOffset + (nextOffset - wholeOffset) * fraction;
|
12617
12726
|
}
|
12618
12727
|
function calculateIndex(scrollTop) {
|
12619
12728
|
return binaryClosest(offsets, scrollTop);
|
@@ -13017,7 +13126,6 @@ const VSelect = genericComponent()({
|
|
13017
13126
|
const selectedValues = computed(() => model.value.map(selection => selection.value));
|
13018
13127
|
const isFocused = shallowRef(false);
|
13019
13128
|
let keyboardLookupPrefix = '';
|
13020
|
-
let keyboardLookupIndex = -1;
|
13021
13129
|
let keyboardLookupLastTime;
|
13022
13130
|
const displayItems = computed(() => {
|
13023
13131
|
if (props.hideSelected) {
|
@@ -13085,41 +13193,10 @@ const VSelect = genericComponent()({
|
|
13085
13193
|
const now = performance.now();
|
13086
13194
|
if (now - keyboardLookupLastTime > KEYBOARD_LOOKUP_THRESHOLD) {
|
13087
13195
|
keyboardLookupPrefix = '';
|
13088
|
-
keyboardLookupIndex = -1;
|
13089
13196
|
}
|
13090
13197
|
keyboardLookupPrefix += e.key.toLowerCase();
|
13091
13198
|
keyboardLookupLastTime = now;
|
13092
|
-
const
|
13093
|
-
function findItem() {
|
13094
|
-
let result = findItemBase();
|
13095
|
-
if (result !== undefined) return result;
|
13096
|
-
if (keyboardLookupPrefix.at(-1) === keyboardLookupPrefix.at(-2)) {
|
13097
|
-
// No matches but we have a repeated letter, try the next item with that prefix
|
13098
|
-
keyboardLookupPrefix = keyboardLookupPrefix.slice(0, -1);
|
13099
|
-
result = findItemBase();
|
13100
|
-
if (result !== undefined) return result;
|
13101
|
-
}
|
13102
|
-
|
13103
|
-
// Still nothing, wrap around to the top
|
13104
|
-
keyboardLookupIndex = -1;
|
13105
|
-
result = findItemBase();
|
13106
|
-
if (result !== undefined) return result;
|
13107
|
-
|
13108
|
-
// Still nothing, try just the new letter
|
13109
|
-
keyboardLookupPrefix = e.key.toLowerCase();
|
13110
|
-
return findItemBase();
|
13111
|
-
}
|
13112
|
-
function findItemBase() {
|
13113
|
-
for (let i = 0; i < items.length; i++) {
|
13114
|
-
const _item = items[i];
|
13115
|
-
if (i > keyboardLookupIndex && _item.title.toLowerCase().startsWith(keyboardLookupPrefix)) {
|
13116
|
-
keyboardLookupIndex = i;
|
13117
|
-
return _item;
|
13118
|
-
}
|
13119
|
-
}
|
13120
|
-
return undefined;
|
13121
|
-
}
|
13122
|
-
const item = findItem();
|
13199
|
+
const item = items.value.find(item => item.title.toLowerCase().startsWith(keyboardLookupPrefix));
|
13123
13200
|
if (item !== undefined) {
|
13124
13201
|
if (!props.multiple) {
|
13125
13202
|
model.value = [item];
|
@@ -13276,6 +13353,22 @@ const VSelect = genericComponent()({
|
|
13276
13353
|
key: item.value,
|
13277
13354
|
onClick: () => select(item, null)
|
13278
13355
|
});
|
13356
|
+
if (item.raw.type === 'divider') {
|
13357
|
+
return slots.divider?.({
|
13358
|
+
props: item.raw,
|
13359
|
+
index
|
13360
|
+
}) ?? createVNode(VDivider, mergeProps(item.props, {
|
13361
|
+
"key": `divider-${index}`
|
13362
|
+
}), null);
|
13363
|
+
}
|
13364
|
+
if (item.raw.type === 'subheader') {
|
13365
|
+
return slots.subheader?.({
|
13366
|
+
props: item.raw,
|
13367
|
+
index
|
13368
|
+
}) ?? createVNode(VListSubheader, mergeProps(item.props, {
|
13369
|
+
"key": `subheader-${index}`
|
13370
|
+
}), null);
|
13371
|
+
}
|
13279
13372
|
return slots.item?.({
|
13280
13373
|
item,
|
13281
13374
|
index,
|
@@ -13436,6 +13529,9 @@ function filterItems(items, query, options) {
|
|
13436
13529
|
let match = -1;
|
13437
13530
|
if ((query || customFiltersLength > 0) && !options?.noFilter) {
|
13438
13531
|
if (typeof item === 'object') {
|
13532
|
+
if (['divider', 'subheader'].includes(item.raw?.type)) {
|
13533
|
+
continue;
|
13534
|
+
}
|
13439
13535
|
const filterKeys = keys || Object.keys(transformed);
|
13440
13536
|
for (const key of filterKeys) {
|
13441
13537
|
const value = getPropertyFromItem(transformed, key);
|
@@ -13874,6 +13970,22 @@ const VAutocomplete = genericComponent()({
|
|
13874
13970
|
active: highlightFirst.value && index === 0 ? true : undefined,
|
13875
13971
|
onClick: () => select(item, null)
|
13876
13972
|
});
|
13973
|
+
if (item.raw.type === 'divider') {
|
13974
|
+
return slots.divider?.({
|
13975
|
+
props: item.raw,
|
13976
|
+
index
|
13977
|
+
}) ?? createVNode(VDivider, mergeProps(item.props, {
|
13978
|
+
"key": `divider-${index}`
|
13979
|
+
}), null);
|
13980
|
+
}
|
13981
|
+
if (item.raw.type === 'subheader') {
|
13982
|
+
return slots.subheader?.({
|
13983
|
+
props: item.raw,
|
13984
|
+
index
|
13985
|
+
}) ?? createVNode(VListSubheader, mergeProps(item.props, {
|
13986
|
+
"key": `subheader-${index}`
|
13987
|
+
}), null);
|
13988
|
+
}
|
13877
13989
|
return slots.item?.({
|
13878
13990
|
item,
|
13879
13991
|
index,
|
@@ -17469,13 +17581,13 @@ function date(value) {
|
|
17469
17581
|
return null;
|
17470
17582
|
}
|
17471
17583
|
const sundayJanuarySecond2000 = new Date(2000, 0, 2);
|
17472
|
-
function getWeekdays(locale, firstDayOfWeek) {
|
17584
|
+
function getWeekdays(locale, firstDayOfWeek, weekdayFormat) {
|
17473
17585
|
const daysFromSunday = firstDayOfWeek ?? weekInfo(locale)?.firstDay ?? 0;
|
17474
17586
|
return createRange(7).map(i => {
|
17475
17587
|
const weekday = new Date(sundayJanuarySecond2000);
|
17476
17588
|
weekday.setDate(sundayJanuarySecond2000.getDate() + daysFromSunday + i);
|
17477
17589
|
return new Intl.DateTimeFormat(locale, {
|
17478
|
-
weekday: 'narrow'
|
17590
|
+
weekday: weekdayFormat ?? 'narrow'
|
17479
17591
|
}).format(weekday);
|
17480
17592
|
});
|
17481
17593
|
}
|
@@ -17939,9 +18051,9 @@ class VuetifyDateAdapter {
|
|
17939
18051
|
getDiff(date, comparing, unit) {
|
17940
18052
|
return getDiff(date, comparing, unit);
|
17941
18053
|
}
|
17942
|
-
getWeekdays(firstDayOfWeek) {
|
18054
|
+
getWeekdays(firstDayOfWeek, weekdayFormat) {
|
17943
18055
|
const firstDay = firstDayOfWeek !== undefined ? Number(firstDayOfWeek) : undefined;
|
17944
|
-
return getWeekdays(this.locale, firstDay);
|
18056
|
+
return getWeekdays(this.locale, firstDay, weekdayFormat);
|
17945
18057
|
}
|
17946
18058
|
getYear(date) {
|
17947
18059
|
return getYear(date);
|
@@ -18284,6 +18396,7 @@ const VCombobox = genericComponent()({
|
|
18284
18396
|
_search.value = val ?? '';
|
18285
18397
|
if (!props.multiple && !hasSelectionSlot.value) {
|
18286
18398
|
model.value = [transformItem$3(props, val)];
|
18399
|
+
nextTick(() => vVirtualScrollRef.value?.scrollToIndex(0));
|
18287
18400
|
}
|
18288
18401
|
if (val && props.multiple && props.delimiters?.length) {
|
18289
18402
|
const values = val.split(new RegExp(`(?:${props.delimiters.join('|')})+`));
|
@@ -18600,6 +18713,22 @@ const VCombobox = genericComponent()({
|
|
18600
18713
|
active: highlightFirst.value && index === 0 ? true : undefined,
|
18601
18714
|
onClick: () => select(item, null)
|
18602
18715
|
});
|
18716
|
+
if (item.raw.type === 'divider') {
|
18717
|
+
return slots.divider?.({
|
18718
|
+
props: item.raw,
|
18719
|
+
index
|
18720
|
+
}) ?? createVNode(VDivider, mergeProps(item.props, {
|
18721
|
+
"key": `divider-${index}`
|
18722
|
+
}), null);
|
18723
|
+
}
|
18724
|
+
if (item.raw.type === 'subheader') {
|
18725
|
+
return slots.subheader?.({
|
18726
|
+
props: item.raw,
|
18727
|
+
index
|
18728
|
+
}) ?? createVNode(VListSubheader, mergeProps(item.props, {
|
18729
|
+
"key": `subheader-${index}`
|
18730
|
+
}), null);
|
18731
|
+
}
|
18603
18732
|
return slots.item?.({
|
18604
18733
|
item,
|
18605
18734
|
index,
|
@@ -22243,7 +22372,8 @@ const makeCalendarProps = propsFactory({
|
|
22243
22372
|
firstDayOfWeek: {
|
22244
22373
|
type: [Number, String],
|
22245
22374
|
default: undefined
|
22246
|
-
}
|
22375
|
+
},
|
22376
|
+
weekdayFormat: String
|
22247
22377
|
}, 'calendar');
|
22248
22378
|
function useCalendar(props) {
|
22249
22379
|
const adapter = useDate();
|
@@ -22491,7 +22621,7 @@ const VDatePickerMonth = genericComponent()({
|
|
22491
22621
|
"ref": daysRef,
|
22492
22622
|
"key": daysInMonth.value[0].date?.toString(),
|
22493
22623
|
"class": "v-date-picker-month__days"
|
22494
|
-
}, [!props.hideWeekdays && adapter.getWeekdays(props.firstDayOfWeek).map(weekDay => createVNode("div", {
|
22624
|
+
}, [!props.hideWeekdays && adapter.getWeekdays(props.firstDayOfWeek, props.weekdayFormat).map(weekDay => createVNode("div", {
|
22495
22625
|
"class": ['v-date-picker-month__day', 'v-date-picker-month__weekday']
|
22496
22626
|
}, [weekDay])), daysInMonth.value.map((item, i) => {
|
22497
22627
|
const slotProps = {
|
@@ -25022,6 +25152,10 @@ const makeVNumberInputProps = propsFactory({
|
|
25022
25152
|
type: Number,
|
25023
25153
|
default: 0
|
25024
25154
|
},
|
25155
|
+
minFractionDigits: {
|
25156
|
+
type: Number,
|
25157
|
+
default: null
|
25158
|
+
},
|
25025
25159
|
...omit(makeVTextFieldProps(), ['modelValue', 'validationValue'])
|
25026
25160
|
}, 'VNumberInput');
|
25027
25161
|
const VNumberInput = genericComponent()({
|
@@ -25052,9 +25186,19 @@ const VNumberInput = genericComponent()({
|
|
25052
25186
|
} = useFocus(props);
|
25053
25187
|
function correctPrecision(val) {
|
25054
25188
|
let precision = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : props.precision;
|
25055
|
-
|
25056
|
-
|
25057
|
-
|
25189
|
+
if (precision == null) {
|
25190
|
+
return String(val);
|
25191
|
+
}
|
25192
|
+
let fixed = val.toFixed(precision);
|
25193
|
+
if (isFocused.value) {
|
25194
|
+
return Number(fixed).toString(); // trim zeros
|
25195
|
+
}
|
25196
|
+
if ((props.minFractionDigits ?? precision) < precision) {
|
25197
|
+
const trimLimit = precision - props.minFractionDigits;
|
25198
|
+
const [baseDigits, fractionDigits] = fixed.split('.');
|
25199
|
+
fixed = [baseDigits, fractionDigits.replace(new RegExp(`0{1,${trimLimit}}$`), '')].filter(Boolean).join('.');
|
25200
|
+
}
|
25201
|
+
return fixed;
|
25058
25202
|
}
|
25059
25203
|
const model = useProxiedModel(props, 'modelValue', null, val => val ?? null, val => val == null ? val ?? null : clamp(Number(val), props.min, props.max));
|
25060
25204
|
const _inputText = shallowRef(null);
|
@@ -25107,6 +25251,7 @@ const VNumberInput = genericComponent()({
|
|
25107
25251
|
}
|
25108
25252
|
};
|
25109
25253
|
watch(() => props.precision, () => formatInputValue());
|
25254
|
+
watch(() => props.minFractionDigits, () => formatInputValue());
|
25110
25255
|
onMounted(() => {
|
25111
25256
|
clampModel();
|
25112
25257
|
});
|
@@ -25208,7 +25353,7 @@ const VNumberInput = genericComponent()({
|
|
25208
25353
|
inputText.value = null;
|
25209
25354
|
return;
|
25210
25355
|
}
|
25211
|
-
inputText.value =
|
25356
|
+
inputText.value = correctPrecision(model.value);
|
25212
25357
|
}
|
25213
25358
|
function trimDecimalZeros() {
|
25214
25359
|
if (controlsDisabled.value) return;
|
@@ -29250,7 +29395,7 @@ function createVuetify$1() {
|
|
29250
29395
|
};
|
29251
29396
|
});
|
29252
29397
|
}
|
29253
|
-
const version$1 = "3.8.
|
29398
|
+
const version$1 = "3.8.6-dev.2025-05-21";
|
29254
29399
|
createVuetify$1.version = version$1;
|
29255
29400
|
|
29256
29401
|
// Vue's inject() can only be used in setup
|
@@ -29275,7 +29420,7 @@ const createVuetify = function () {
|
|
29275
29420
|
...options
|
29276
29421
|
});
|
29277
29422
|
};
|
29278
|
-
const version = "3.8.
|
29423
|
+
const version = "3.8.6-dev.2025-05-21";
|
29279
29424
|
createVuetify.version = version;
|
29280
29425
|
|
29281
29426
|
export { index as blueprints, components, createVuetify, directives, useDate, useDefaults, useDisplay, useGoTo, useLayout, useLocale, useRtl, useTheme, version };
|