@vuetify/nightly 3.8.4-master.2025-05-12 → 3.8.5-dev.2025-05-14
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 +20 -12
- package/dist/_component-variables-labs.sass +1 -0
- package/dist/json/attributes.json +2152 -1792
- package/dist/json/importMap-labs.json +40 -36
- package/dist/json/importMap.json +106 -106
- package/dist/json/tags.json +95 -0
- package/dist/json/web-types.json +5016 -3760
- package/dist/vuetify-labs.cjs +429 -61
- package/dist/vuetify-labs.css +4205 -4149
- package/dist/vuetify-labs.d.ts +2274 -1142
- package/dist/vuetify-labs.esm.js +430 -62
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +429 -61
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.cjs +151 -41
- package/dist/vuetify.cjs.map +1 -1
- package/dist/vuetify.css +4725 -4672
- package/dist/vuetify.d.ts +544 -487
- package/dist/vuetify.esm.js +152 -42
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +151 -41
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +1181 -1173
- 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 +94 -94
- package/lib/components/VBottomSheet/VBottomSheet.css +1 -1
- package/lib/components/VBottomSheet/VBottomSheet.sass +1 -1
- package/lib/components/VBtn/VBtn.css +25 -0
- package/lib/components/VBtn/VBtn.sass +9 -0
- package/lib/components/VBtn/_variables.scss +1 -0
- 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 +94 -94
- 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/VNumberInput/VNumberInput.d.ts +89 -89
- 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 +94 -94
- package/lib/components/VSlider/VSlider.d.ts +3 -3
- package/lib/components/VSnackbarQueue/VSnackbarQueue.d.ts +3 -1
- package/lib/components/VSnackbarQueue/VSnackbarQueue.js.map +1 -1
- 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 +1 -0
- package/lib/composables/calendar.js.map +1 -1
- package/lib/composables/dateFormat.d.ts +24 -0
- package/lib/composables/dateFormat.js +112 -0
- package/lib/composables/dateFormat.js.map +1 -0
- 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.js +1 -1
- package/lib/entry-bundler.js.map +1 -1
- package/lib/framework.d.ts +51 -43
- package/lib/framework.js +1 -1
- package/lib/framework.js.map +1 -1
- package/lib/iconsets/mdi.js +2 -1
- package/lib/iconsets/mdi.js.map +1 -1
- package/lib/labs/VColorInput/VColorInput.css +4 -0
- package/lib/labs/VColorInput/VColorInput.d.ts +1767 -0
- package/lib/labs/VColorInput/VColorInput.js +129 -0
- package/lib/labs/VColorInput/VColorInput.js.map +1 -0
- package/lib/labs/VColorInput/VColorInput.sass +7 -0
- package/lib/labs/VColorInput/_variables.scss +2 -0
- package/lib/labs/VColorInput/index.d.ts +1 -0
- package/lib/labs/VColorInput/index.js +2 -0
- package/lib/labs/VColorInput/index.js.map +1 -0
- package/lib/labs/VDateInput/VDateInput.d.ts +133 -108
- package/lib/labs/VDateInput/VDateInput.js +43 -10
- package/lib/labs/VDateInput/VDateInput.js.map +1 -1
- 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/components.d.ts +1 -0
- package/lib/labs/components.js +1 -0
- package/lib/labs/components.js.map +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 +2 -1
package/dist/vuetify.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
/*!
|
2
|
-
* Vuetify v3.8.
|
2
|
+
* Vuetify v3.8.5-dev.2025-05-14
|
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"); }
|
@@ -1773,7 +1774,8 @@
|
|
1773
1774
|
treeviewCollapse: 'mdi-menu-down',
|
1774
1775
|
treeviewExpand: 'mdi-menu-right',
|
1775
1776
|
eyeDropper: 'mdi-eyedropper',
|
1776
|
-
upload: 'mdi-cloud-upload'
|
1777
|
+
upload: 'mdi-cloud-upload',
|
1778
|
+
color: 'mdi-palette'
|
1777
1779
|
};
|
1778
1780
|
const mdi = {
|
1779
1781
|
// Not using mergeProps here, functional components merge props by default (?)
|
@@ -2785,6 +2787,7 @@
|
|
2785
2787
|
function genDefaults$1() {
|
2786
2788
|
return {
|
2787
2789
|
defaultTheme: 'light',
|
2790
|
+
prefix: 'v-',
|
2788
2791
|
variations: {
|
2789
2792
|
colors: [],
|
2790
2793
|
lighten: 0,
|
@@ -2866,7 +2869,10 @@
|
|
2866
2869
|
}
|
2867
2870
|
}
|
2868
2871
|
},
|
2869
|
-
stylesheetId: 'vuetify-theme-stylesheet'
|
2872
|
+
stylesheetId: 'vuetify-theme-stylesheet',
|
2873
|
+
scoped: false,
|
2874
|
+
unimportant: false,
|
2875
|
+
utilities: true
|
2870
2876
|
};
|
2871
2877
|
}
|
2872
2878
|
function parseThemeOptions() {
|
@@ -2889,21 +2895,21 @@
|
|
2889
2895
|
function createCssClass(lines, selector, content, scope) {
|
2890
2896
|
lines.push(`${getScopedSelector(selector, scope)} {\n`, ...content.map(line => ` ${line};\n`), '}\n');
|
2891
2897
|
}
|
2892
|
-
function genCssVariables(theme) {
|
2898
|
+
function genCssVariables(theme, prefix) {
|
2893
2899
|
const lightOverlay = theme.dark ? 2 : 1;
|
2894
2900
|
const darkOverlay = theme.dark ? 1 : 2;
|
2895
2901
|
const variables = [];
|
2896
2902
|
for (const [key, value] of Object.entries(theme.colors)) {
|
2897
2903
|
const rgb = parseColor(value);
|
2898
|
-
variables.push(
|
2904
|
+
variables.push(`--${prefix}theme-${key}: ${rgb.r},${rgb.g},${rgb.b}`);
|
2899
2905
|
if (!key.startsWith('on-')) {
|
2900
|
-
variables.push(
|
2906
|
+
variables.push(`--${prefix}theme-${key}-overlay-multiplier: ${getLuma(value) > 0.18 ? lightOverlay : darkOverlay}`);
|
2901
2907
|
}
|
2902
2908
|
}
|
2903
2909
|
for (const [key, value] of Object.entries(theme.variables)) {
|
2904
2910
|
const color = typeof value === 'string' && value.startsWith('#') ? parseColor(value) : undefined;
|
2905
2911
|
const rgb = color ? `${color.r}, ${color.g}, ${color.b}` : undefined;
|
2906
|
-
variables.push(
|
2912
|
+
variables.push(`--${prefix}${key}: ${rgb ?? value}`);
|
2907
2913
|
}
|
2908
2914
|
return variables;
|
2909
2915
|
}
|
@@ -2947,7 +2953,8 @@
|
|
2947
2953
|
const scopeSelector = `:where(${scope})`;
|
2948
2954
|
return selector === ':root' ? scopeSelector : `${scopeSelector} ${selector}`;
|
2949
2955
|
}
|
2950
|
-
function upsertStyles(
|
2956
|
+
function upsertStyles(id, cspNonce, styles) {
|
2957
|
+
const styleEl = getOrCreateStyleElement(id, cspNonce);
|
2951
2958
|
if (!styleEl) return;
|
2952
2959
|
styleEl.innerHTML = styles;
|
2953
2960
|
}
|
@@ -2967,8 +2974,17 @@
|
|
2967
2974
|
// Composables
|
2968
2975
|
function createTheme(options) {
|
2969
2976
|
const parsedOptions = parseThemeOptions(options);
|
2970
|
-
const
|
2977
|
+
const _name = vue.shallowRef(parsedOptions.defaultTheme);
|
2971
2978
|
const themes = vue.ref(parsedOptions.themes);
|
2979
|
+
const systemName = vue.shallowRef('light');
|
2980
|
+
const name = vue.computed({
|
2981
|
+
get() {
|
2982
|
+
return _name.value === 'system' ? systemName.value : _name.value;
|
2983
|
+
},
|
2984
|
+
set(val) {
|
2985
|
+
_name.value = val;
|
2986
|
+
}
|
2987
|
+
});
|
2972
2988
|
const computedThemes = vue.computed(() => {
|
2973
2989
|
const acc = {};
|
2974
2990
|
for (const [name, original] of Object.entries(themes.value)) {
|
@@ -2989,28 +3005,49 @@
|
|
2989
3005
|
const current = vue.toRef(() => computedThemes.value[name.value]);
|
2990
3006
|
const styles = vue.computed(() => {
|
2991
3007
|
const lines = [];
|
3008
|
+
const important = parsedOptions.unimportant ? '' : ' !important';
|
3009
|
+
const scoped = parsedOptions.scoped ? parsedOptions.prefix : '';
|
2992
3010
|
if (current.value?.dark) {
|
2993
3011
|
createCssClass(lines, ':root', ['color-scheme: dark'], parsedOptions.scope);
|
2994
3012
|
}
|
2995
|
-
createCssClass(lines, ':root', genCssVariables(current.value), parsedOptions.scope);
|
3013
|
+
createCssClass(lines, ':root', genCssVariables(current.value, parsedOptions.prefix), parsedOptions.scope);
|
2996
3014
|
for (const [themeName, theme] of Object.entries(computedThemes.value)) {
|
2997
|
-
createCssClass(lines,
|
2998
|
-
}
|
2999
|
-
|
3000
|
-
|
3001
|
-
|
3002
|
-
|
3003
|
-
|
3004
|
-
|
3005
|
-
|
3006
|
-
|
3007
|
-
|
3008
|
-
|
3015
|
+
createCssClass(lines, `.${parsedOptions.prefix}theme--${themeName}`, [`color-scheme: ${theme.dark ? 'dark' : 'normal'}`, ...genCssVariables(theme, parsedOptions.prefix)], parsedOptions.scope);
|
3016
|
+
}
|
3017
|
+
if (parsedOptions.utilities) {
|
3018
|
+
const bgLines = [];
|
3019
|
+
const fgLines = [];
|
3020
|
+
const colors = new Set(Object.values(computedThemes.value).flatMap(theme => Object.keys(theme.colors)));
|
3021
|
+
for (const key of colors) {
|
3022
|
+
if (key.startsWith('on-')) {
|
3023
|
+
createCssClass(fgLines, `.${key}`, [`color: rgb(var(--${parsedOptions.prefix}theme-${key}))${important}`], parsedOptions.scope);
|
3024
|
+
} else {
|
3025
|
+
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);
|
3026
|
+
createCssClass(fgLines, `.${scoped}text-${key}`, [`color: rgb(var(--${parsedOptions.prefix}theme-${key}))${important}`], parsedOptions.scope);
|
3027
|
+
createCssClass(fgLines, `.${scoped}border-${key}`, [`--${parsedOptions.prefix}border-color: var(--${parsedOptions.prefix}theme-${key})`], parsedOptions.scope);
|
3028
|
+
}
|
3009
3029
|
}
|
3030
|
+
lines.push(...bgLines, ...fgLines);
|
3010
3031
|
}
|
3011
|
-
lines.push(...bgLines, ...fgLines);
|
3012
3032
|
return lines.map((str, i) => i === 0 ? str : ` ${str}`).join('');
|
3013
3033
|
});
|
3034
|
+
const themeClasses = vue.toRef(() => parsedOptions.isDisabled ? undefined : `${parsedOptions.prefix}theme--${name.value}`);
|
3035
|
+
const themeNames = vue.toRef(() => Object.keys(computedThemes.value));
|
3036
|
+
if (SUPPORTS_MATCH_MEDIA) {
|
3037
|
+
const media = window.matchMedia('(prefers-color-scheme: dark)');
|
3038
|
+
function updateSystemName() {
|
3039
|
+
systemName.value = media.matches ? 'dark' : 'light';
|
3040
|
+
}
|
3041
|
+
updateSystemName();
|
3042
|
+
media.addEventListener('change', updateSystemName, {
|
3043
|
+
passive: true
|
3044
|
+
});
|
3045
|
+
if (vue.getCurrentScope()) {
|
3046
|
+
vue.onScopeDispose(() => {
|
3047
|
+
media.removeEventListener('change', updateSystemName);
|
3048
|
+
});
|
3049
|
+
}
|
3050
|
+
}
|
3014
3051
|
function install(app) {
|
3015
3052
|
if (parsedOptions.isDisabled) return;
|
3016
3053
|
const head = app._context.provides.usehead;
|
@@ -3048,22 +3085,55 @@
|
|
3048
3085
|
updateStyles();
|
3049
3086
|
}
|
3050
3087
|
function updateStyles() {
|
3051
|
-
upsertStyles(
|
3088
|
+
upsertStyles(parsedOptions.stylesheetId, parsedOptions.cspNonce, styles.value);
|
3052
3089
|
}
|
3053
3090
|
}
|
3054
3091
|
}
|
3055
|
-
|
3092
|
+
function change(themeName) {
|
3093
|
+
if (!themeNames.value.includes(themeName)) {
|
3094
|
+
consoleWarn(`Theme "${themeName}" not found on the Vuetify theme instance`);
|
3095
|
+
return;
|
3096
|
+
}
|
3097
|
+
name.value = themeName;
|
3098
|
+
}
|
3099
|
+
function cycle() {
|
3100
|
+
let themeArray = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : themeNames.value;
|
3101
|
+
const currentIndex = themeArray.indexOf(name.value);
|
3102
|
+
const nextIndex = currentIndex === -1 ? 0 : (currentIndex + 1) % themeArray.length;
|
3103
|
+
change(themeArray[nextIndex]);
|
3104
|
+
}
|
3105
|
+
function toggle() {
|
3106
|
+
let themeArray = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ['light', 'dark'];
|
3107
|
+
cycle(themeArray);
|
3108
|
+
}
|
3109
|
+
const globalName = new Proxy(name, {
|
3110
|
+
get(target, prop) {
|
3111
|
+
return target[prop];
|
3112
|
+
},
|
3113
|
+
set(target, prop, val) {
|
3114
|
+
if (prop === 'value') {
|
3115
|
+
deprecate(`theme.global.name.value = ${val}`, `theme.change('${val}')`);
|
3116
|
+
}
|
3117
|
+
// @ts-expect-error
|
3118
|
+
target[prop] = val;
|
3119
|
+
return true;
|
3120
|
+
}
|
3121
|
+
});
|
3056
3122
|
return {
|
3057
3123
|
install,
|
3124
|
+
change,
|
3125
|
+
cycle,
|
3126
|
+
toggle,
|
3058
3127
|
isDisabled: parsedOptions.isDisabled,
|
3059
3128
|
name,
|
3060
3129
|
themes,
|
3061
3130
|
current,
|
3062
3131
|
computedThemes,
|
3132
|
+
prefix: parsedOptions.prefix,
|
3063
3133
|
themeClasses,
|
3064
3134
|
styles,
|
3065
3135
|
global: {
|
3066
|
-
name,
|
3136
|
+
name: globalName,
|
3067
3137
|
current
|
3068
3138
|
}
|
3069
3139
|
};
|
@@ -3074,7 +3144,7 @@
|
|
3074
3144
|
if (!theme) throw new Error('Could not find Vuetify theme injection');
|
3075
3145
|
const name = vue.toRef(() => props.theme ?? theme.name.value);
|
3076
3146
|
const current = vue.toRef(() => theme.themes.value[name.value]);
|
3077
|
-
const themeClasses = vue.toRef(() => theme.isDisabled ? undefined :
|
3147
|
+
const themeClasses = vue.toRef(() => theme.isDisabled ? undefined : `${theme.prefix}theme--${name.value}`);
|
3078
3148
|
const newTheme = {
|
3079
3149
|
...theme,
|
3080
3150
|
name,
|
@@ -4621,9 +4691,15 @@
|
|
4621
4691
|
};
|
4622
4692
|
}
|
4623
4693
|
|
4694
|
+
// Types
|
4695
|
+
|
4624
4696
|
const makeVBtnGroupProps = propsFactory({
|
4625
4697
|
baseColor: String,
|
4626
4698
|
divided: Boolean,
|
4699
|
+
direction: {
|
4700
|
+
type: String,
|
4701
|
+
default: 'horizontal'
|
4702
|
+
},
|
4627
4703
|
...makeBorderProps(),
|
4628
4704
|
...makeComponentProps(),
|
4629
4705
|
...makeDensityProps(),
|
@@ -4657,7 +4733,7 @@
|
|
4657
4733
|
} = useRounded(props);
|
4658
4734
|
provideDefaults({
|
4659
4735
|
VBtn: {
|
4660
|
-
height: 'auto',
|
4736
|
+
height: vue.toRef(() => props.direction === 'horizontal' ? 'auto' : null),
|
4661
4737
|
baseColor: vue.toRef(() => props.baseColor),
|
4662
4738
|
color: vue.toRef(() => props.color),
|
4663
4739
|
density: vue.toRef(() => props.density),
|
@@ -4667,7 +4743,7 @@
|
|
4667
4743
|
});
|
4668
4744
|
useRender(() => {
|
4669
4745
|
return vue.createVNode(props.tag, {
|
4670
|
-
"class": ['v-btn-group', {
|
4746
|
+
"class": ['v-btn-group', `v-btn-group--${props.direction}`, {
|
4671
4747
|
'v-btn-group--divided': props.divided
|
4672
4748
|
}, themeClasses.value, borderClasses.value, densityClasses.value, elevationClasses.value, roundedClasses.value, props.class],
|
4673
4749
|
"style": props.style
|
@@ -6146,6 +6222,31 @@
|
|
6146
6222
|
// Utilities
|
6147
6223
|
const VAlertTitle = createSimpleFunctional('v-alert-title');
|
6148
6224
|
|
6225
|
+
// Utilities
|
6226
|
+
|
6227
|
+
// Types
|
6228
|
+
|
6229
|
+
// Types
|
6230
|
+
|
6231
|
+
// Composables
|
6232
|
+
const makeIconSizeProps = propsFactory({
|
6233
|
+
iconSize: [Number, String],
|
6234
|
+
iconSizes: {
|
6235
|
+
type: Array,
|
6236
|
+
default: () => [['x-small', 10], ['small', 16], ['default', 24], ['large', 28], ['x-large', 32]]
|
6237
|
+
}
|
6238
|
+
}, 'iconSize');
|
6239
|
+
function useIconSizes(props, fallback) {
|
6240
|
+
const iconSize = vue.computed(() => {
|
6241
|
+
const iconSizeMap = new Map(props.iconSizes);
|
6242
|
+
const _iconSize = props.iconSize ?? fallback() ?? 'default';
|
6243
|
+
return iconSizeMap.has(_iconSize) ? iconSizeMap.get(_iconSize) : _iconSize;
|
6244
|
+
});
|
6245
|
+
return {
|
6246
|
+
iconSize
|
6247
|
+
};
|
6248
|
+
}
|
6249
|
+
|
6149
6250
|
// Types
|
6150
6251
|
|
6151
6252
|
const allowedTypes = ['success', 'info', 'warning', 'error'];
|
@@ -6185,6 +6286,7 @@
|
|
6185
6286
|
...makeDensityProps(),
|
6186
6287
|
...makeDimensionProps(),
|
6187
6288
|
...makeElevationProps(),
|
6289
|
+
...makeIconSizeProps(),
|
6188
6290
|
...makeLocationProps(),
|
6189
6291
|
...makePositionProps(),
|
6190
6292
|
...makeRoundedProps(),
|
@@ -6212,6 +6314,9 @@
|
|
6212
6314
|
if (!props.type) return props.icon;
|
6213
6315
|
return props.icon ?? `$${props.type}`;
|
6214
6316
|
});
|
6317
|
+
const {
|
6318
|
+
iconSize
|
6319
|
+
} = useIconSizes(props, () => props.prominent ? 44 : 28);
|
6215
6320
|
const {
|
6216
6321
|
themeClasses
|
6217
6322
|
} = provideTheme(props);
|
@@ -6259,6 +6364,11 @@
|
|
6259
6364
|
const hasPrepend = !!(slots.prepend || icon.value);
|
6260
6365
|
const hasTitle = !!(slots.title || props.title);
|
6261
6366
|
const hasClose = !!(slots.close || props.closable);
|
6367
|
+
const iconProps = {
|
6368
|
+
density: props.density,
|
6369
|
+
icon: icon.value,
|
6370
|
+
size: iconSize.value
|
6371
|
+
};
|
6262
6372
|
return isActive.value && vue.createVNode(props.tag, {
|
6263
6373
|
"class": ['v-alert', props.border && {
|
6264
6374
|
'v-alert--border': !!props.border,
|
@@ -6276,19 +6386,14 @@
|
|
6276
6386
|
}, null), hasPrepend && vue.createVNode("div", {
|
6277
6387
|
"key": "prepend",
|
6278
6388
|
"class": "v-alert__prepend"
|
6279
|
-
}, [!slots.prepend ? vue.createVNode(VIcon, {
|
6280
|
-
"key": "prepend-icon"
|
6281
|
-
|
6282
|
-
"icon": icon.value,
|
6283
|
-
"size": props.prominent ? 44 : 28
|
6284
|
-
}, null) : vue.createVNode(VDefaultsProvider, {
|
6389
|
+
}, [!slots.prepend ? vue.createVNode(VIcon, vue.mergeProps({
|
6390
|
+
"key": "prepend-icon"
|
6391
|
+
}, iconProps), null) : vue.createVNode(VDefaultsProvider, {
|
6285
6392
|
"key": "prepend-defaults",
|
6286
6393
|
"disabled": !icon.value,
|
6287
6394
|
"defaults": {
|
6288
6395
|
VIcon: {
|
6289
|
-
|
6290
|
-
icon: icon.value,
|
6291
|
-
size: props.prominent ? 44 : 28
|
6396
|
+
...iconProps
|
6292
6397
|
}
|
6293
6398
|
}
|
6294
6399
|
}, slots.prepend)]), vue.createVNode("div", {
|
@@ -12634,7 +12739,12 @@
|
|
12634
12739
|
}
|
12635
12740
|
function calculateOffset(index) {
|
12636
12741
|
index = clamp(index, 0, items.value.length - 1);
|
12637
|
-
|
12742
|
+
const whole = Math.floor(index);
|
12743
|
+
const fraction = index % 1;
|
12744
|
+
const next = whole + 1;
|
12745
|
+
const wholeOffset = offsets[whole] || 0;
|
12746
|
+
const nextOffset = offsets[next] || wholeOffset;
|
12747
|
+
return wholeOffset + (nextOffset - wholeOffset) * fraction;
|
12638
12748
|
}
|
12639
12749
|
function calculateIndex(scrollTop) {
|
12640
12750
|
return binaryClosest(offsets, scrollTop);
|
@@ -29237,7 +29347,7 @@
|
|
29237
29347
|
};
|
29238
29348
|
});
|
29239
29349
|
}
|
29240
|
-
const version$1 = "3.8.
|
29350
|
+
const version$1 = "3.8.5-dev.2025-05-14";
|
29241
29351
|
createVuetify$1.version = version$1;
|
29242
29352
|
|
29243
29353
|
// Vue's inject() can only be used in setup
|
@@ -29262,7 +29372,7 @@
|
|
29262
29372
|
...options
|
29263
29373
|
});
|
29264
29374
|
};
|
29265
|
-
const version = "3.8.
|
29375
|
+
const version = "3.8.5-dev.2025-05-14";
|
29266
29376
|
createVuetify.version = version;
|
29267
29377
|
|
29268
29378
|
exports.blueprints = index;
|