@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-labs.js
CHANGED
@@ -1,5 +1,5 @@
|
|
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
|
*/
|
@@ -85,6 +85,7 @@
|
|
85
85
|
const SUPPORTS_INTERSECTION = IN_BROWSER && 'IntersectionObserver' in window;
|
86
86
|
const SUPPORTS_TOUCH = IN_BROWSER && ('ontouchstart' in window || window.navigator.maxTouchPoints > 0);
|
87
87
|
const SUPPORTS_EYE_DROPPER = IN_BROWSER && 'EyeDropper' in window;
|
88
|
+
const SUPPORTS_MATCH_MEDIA = IN_BROWSER && 'matchMedia' in window && typeof window.matchMedia === 'function';
|
88
89
|
|
89
90
|
function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
|
90
91
|
function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
|
@@ -2299,6 +2300,7 @@
|
|
2299
2300
|
function genDefaults$2() {
|
2300
2301
|
return {
|
2301
2302
|
defaultTheme: 'light',
|
2303
|
+
prefix: 'v-',
|
2302
2304
|
variations: {
|
2303
2305
|
colors: [],
|
2304
2306
|
lighten: 0,
|
@@ -2380,7 +2382,10 @@
|
|
2380
2382
|
}
|
2381
2383
|
}
|
2382
2384
|
},
|
2383
|
-
stylesheetId: 'vuetify-theme-stylesheet'
|
2385
|
+
stylesheetId: 'vuetify-theme-stylesheet',
|
2386
|
+
scoped: false,
|
2387
|
+
unimportant: false,
|
2388
|
+
utilities: true
|
2384
2389
|
};
|
2385
2390
|
}
|
2386
2391
|
function parseThemeOptions() {
|
@@ -2403,21 +2408,21 @@
|
|
2403
2408
|
function createCssClass(lines, selector, content, scope) {
|
2404
2409
|
lines.push(`${getScopedSelector(selector, scope)} {\n`, ...content.map(line => ` ${line};\n`), '}\n');
|
2405
2410
|
}
|
2406
|
-
function genCssVariables(theme) {
|
2411
|
+
function genCssVariables(theme, prefix) {
|
2407
2412
|
const lightOverlay = theme.dark ? 2 : 1;
|
2408
2413
|
const darkOverlay = theme.dark ? 1 : 2;
|
2409
2414
|
const variables = [];
|
2410
2415
|
for (const [key, value] of Object.entries(theme.colors)) {
|
2411
2416
|
const rgb = parseColor(value);
|
2412
|
-
variables.push(
|
2417
|
+
variables.push(`--${prefix}theme-${key}: ${rgb.r},${rgb.g},${rgb.b}`);
|
2413
2418
|
if (!key.startsWith('on-')) {
|
2414
|
-
variables.push(
|
2419
|
+
variables.push(`--${prefix}theme-${key}-overlay-multiplier: ${getLuma(value) > 0.18 ? lightOverlay : darkOverlay}`);
|
2415
2420
|
}
|
2416
2421
|
}
|
2417
2422
|
for (const [key, value] of Object.entries(theme.variables)) {
|
2418
2423
|
const color = typeof value === 'string' && value.startsWith('#') ? parseColor(value) : undefined;
|
2419
2424
|
const rgb = color ? `${color.r}, ${color.g}, ${color.b}` : undefined;
|
2420
|
-
variables.push(
|
2425
|
+
variables.push(`--${prefix}${key}: ${rgb ?? value}`);
|
2421
2426
|
}
|
2422
2427
|
return variables;
|
2423
2428
|
}
|
@@ -2461,7 +2466,8 @@
|
|
2461
2466
|
const scopeSelector = `:where(${scope})`;
|
2462
2467
|
return selector === ':root' ? scopeSelector : `${scopeSelector} ${selector}`;
|
2463
2468
|
}
|
2464
|
-
function upsertStyles(
|
2469
|
+
function upsertStyles(id, cspNonce, styles) {
|
2470
|
+
const styleEl = getOrCreateStyleElement(id, cspNonce);
|
2465
2471
|
if (!styleEl) return;
|
2466
2472
|
styleEl.innerHTML = styles;
|
2467
2473
|
}
|
@@ -2481,8 +2487,17 @@
|
|
2481
2487
|
// Composables
|
2482
2488
|
function createTheme(options) {
|
2483
2489
|
const parsedOptions = parseThemeOptions(options);
|
2484
|
-
const
|
2490
|
+
const _name = vue.shallowRef(parsedOptions.defaultTheme);
|
2485
2491
|
const themes = vue.ref(parsedOptions.themes);
|
2492
|
+
const systemName = vue.shallowRef('light');
|
2493
|
+
const name = vue.computed({
|
2494
|
+
get() {
|
2495
|
+
return _name.value === 'system' ? systemName.value : _name.value;
|
2496
|
+
},
|
2497
|
+
set(val) {
|
2498
|
+
_name.value = val;
|
2499
|
+
}
|
2500
|
+
});
|
2486
2501
|
const computedThemes = vue.computed(() => {
|
2487
2502
|
const acc = {};
|
2488
2503
|
for (const [name, original] of Object.entries(themes.value)) {
|
@@ -2503,28 +2518,49 @@
|
|
2503
2518
|
const current = vue.toRef(() => computedThemes.value[name.value]);
|
2504
2519
|
const styles = vue.computed(() => {
|
2505
2520
|
const lines = [];
|
2521
|
+
const important = parsedOptions.unimportant ? '' : ' !important';
|
2522
|
+
const scoped = parsedOptions.scoped ? parsedOptions.prefix : '';
|
2506
2523
|
if (current.value?.dark) {
|
2507
2524
|
createCssClass(lines, ':root', ['color-scheme: dark'], parsedOptions.scope);
|
2508
2525
|
}
|
2509
|
-
createCssClass(lines, ':root', genCssVariables(current.value), parsedOptions.scope);
|
2526
|
+
createCssClass(lines, ':root', genCssVariables(current.value, parsedOptions.prefix), parsedOptions.scope);
|
2510
2527
|
for (const [themeName, theme] of Object.entries(computedThemes.value)) {
|
2511
|
-
createCssClass(lines,
|
2512
|
-
}
|
2513
|
-
|
2514
|
-
|
2515
|
-
|
2516
|
-
|
2517
|
-
|
2518
|
-
|
2519
|
-
|
2520
|
-
|
2521
|
-
|
2522
|
-
|
2528
|
+
createCssClass(lines, `.${parsedOptions.prefix}theme--${themeName}`, [`color-scheme: ${theme.dark ? 'dark' : 'normal'}`, ...genCssVariables(theme, parsedOptions.prefix)], parsedOptions.scope);
|
2529
|
+
}
|
2530
|
+
if (parsedOptions.utilities) {
|
2531
|
+
const bgLines = [];
|
2532
|
+
const fgLines = [];
|
2533
|
+
const colors = new Set(Object.values(computedThemes.value).flatMap(theme => Object.keys(theme.colors)));
|
2534
|
+
for (const key of colors) {
|
2535
|
+
if (key.startsWith('on-')) {
|
2536
|
+
createCssClass(fgLines, `.${key}`, [`color: rgb(var(--${parsedOptions.prefix}theme-${key}))${important}`], parsedOptions.scope);
|
2537
|
+
} else {
|
2538
|
+
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);
|
2539
|
+
createCssClass(fgLines, `.${scoped}text-${key}`, [`color: rgb(var(--${parsedOptions.prefix}theme-${key}))${important}`], parsedOptions.scope);
|
2540
|
+
createCssClass(fgLines, `.${scoped}border-${key}`, [`--${parsedOptions.prefix}border-color: var(--${parsedOptions.prefix}theme-${key})`], parsedOptions.scope);
|
2541
|
+
}
|
2523
2542
|
}
|
2543
|
+
lines.push(...bgLines, ...fgLines);
|
2524
2544
|
}
|
2525
|
-
lines.push(...bgLines, ...fgLines);
|
2526
2545
|
return lines.map((str, i) => i === 0 ? str : ` ${str}`).join('');
|
2527
2546
|
});
|
2547
|
+
const themeClasses = vue.toRef(() => parsedOptions.isDisabled ? undefined : `${parsedOptions.prefix}theme--${name.value}`);
|
2548
|
+
const themeNames = vue.toRef(() => Object.keys(computedThemes.value));
|
2549
|
+
if (SUPPORTS_MATCH_MEDIA) {
|
2550
|
+
const media = window.matchMedia('(prefers-color-scheme: dark)');
|
2551
|
+
function updateSystemName() {
|
2552
|
+
systemName.value = media.matches ? 'dark' : 'light';
|
2553
|
+
}
|
2554
|
+
updateSystemName();
|
2555
|
+
media.addEventListener('change', updateSystemName, {
|
2556
|
+
passive: true
|
2557
|
+
});
|
2558
|
+
if (vue.getCurrentScope()) {
|
2559
|
+
vue.onScopeDispose(() => {
|
2560
|
+
media.removeEventListener('change', updateSystemName);
|
2561
|
+
});
|
2562
|
+
}
|
2563
|
+
}
|
2528
2564
|
function install(app) {
|
2529
2565
|
if (parsedOptions.isDisabled) return;
|
2530
2566
|
const head = app._context.provides.usehead;
|
@@ -2562,22 +2598,55 @@
|
|
2562
2598
|
updateStyles();
|
2563
2599
|
}
|
2564
2600
|
function updateStyles() {
|
2565
|
-
upsertStyles(
|
2601
|
+
upsertStyles(parsedOptions.stylesheetId, parsedOptions.cspNonce, styles.value);
|
2566
2602
|
}
|
2567
2603
|
}
|
2568
2604
|
}
|
2569
|
-
|
2605
|
+
function change(themeName) {
|
2606
|
+
if (!themeNames.value.includes(themeName)) {
|
2607
|
+
consoleWarn(`Theme "${themeName}" not found on the Vuetify theme instance`);
|
2608
|
+
return;
|
2609
|
+
}
|
2610
|
+
name.value = themeName;
|
2611
|
+
}
|
2612
|
+
function cycle() {
|
2613
|
+
let themeArray = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : themeNames.value;
|
2614
|
+
const currentIndex = themeArray.indexOf(name.value);
|
2615
|
+
const nextIndex = currentIndex === -1 ? 0 : (currentIndex + 1) % themeArray.length;
|
2616
|
+
change(themeArray[nextIndex]);
|
2617
|
+
}
|
2618
|
+
function toggle() {
|
2619
|
+
let themeArray = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ['light', 'dark'];
|
2620
|
+
cycle(themeArray);
|
2621
|
+
}
|
2622
|
+
const globalName = new Proxy(name, {
|
2623
|
+
get(target, prop) {
|
2624
|
+
return target[prop];
|
2625
|
+
},
|
2626
|
+
set(target, prop, val) {
|
2627
|
+
if (prop === 'value') {
|
2628
|
+
deprecate(`theme.global.name.value = ${val}`, `theme.change('${val}')`);
|
2629
|
+
}
|
2630
|
+
// @ts-expect-error
|
2631
|
+
target[prop] = val;
|
2632
|
+
return true;
|
2633
|
+
}
|
2634
|
+
});
|
2570
2635
|
return {
|
2571
2636
|
install,
|
2637
|
+
change,
|
2638
|
+
cycle,
|
2639
|
+
toggle,
|
2572
2640
|
isDisabled: parsedOptions.isDisabled,
|
2573
2641
|
name,
|
2574
2642
|
themes,
|
2575
2643
|
current,
|
2576
2644
|
computedThemes,
|
2645
|
+
prefix: parsedOptions.prefix,
|
2577
2646
|
themeClasses,
|
2578
2647
|
styles,
|
2579
2648
|
global: {
|
2580
|
-
name,
|
2649
|
+
name: globalName,
|
2581
2650
|
current
|
2582
2651
|
}
|
2583
2652
|
};
|
@@ -2588,7 +2657,7 @@
|
|
2588
2657
|
if (!theme) throw new Error('Could not find Vuetify theme injection');
|
2589
2658
|
const name = vue.toRef(() => props.theme ?? theme.name.value);
|
2590
2659
|
const current = vue.toRef(() => theme.themes.value[name.value]);
|
2591
|
-
const themeClasses = vue.toRef(() => theme.isDisabled ? undefined :
|
2660
|
+
const themeClasses = vue.toRef(() => theme.isDisabled ? undefined : `${theme.prefix}theme--${name.value}`);
|
2592
2661
|
const newTheme = {
|
2593
2662
|
...theme,
|
2594
2663
|
name,
|
@@ -4135,9 +4204,15 @@
|
|
4135
4204
|
};
|
4136
4205
|
}
|
4137
4206
|
|
4207
|
+
// Types
|
4208
|
+
|
4138
4209
|
const makeVBtnGroupProps = propsFactory({
|
4139
4210
|
baseColor: String,
|
4140
4211
|
divided: Boolean,
|
4212
|
+
direction: {
|
4213
|
+
type: String,
|
4214
|
+
default: 'horizontal'
|
4215
|
+
},
|
4141
4216
|
...makeBorderProps(),
|
4142
4217
|
...makeComponentProps(),
|
4143
4218
|
...makeDensityProps(),
|
@@ -4171,7 +4246,7 @@
|
|
4171
4246
|
} = useRounded(props);
|
4172
4247
|
provideDefaults({
|
4173
4248
|
VBtn: {
|
4174
|
-
height: 'auto',
|
4249
|
+
height: vue.toRef(() => props.direction === 'horizontal' ? 'auto' : null),
|
4175
4250
|
baseColor: vue.toRef(() => props.baseColor),
|
4176
4251
|
color: vue.toRef(() => props.color),
|
4177
4252
|
density: vue.toRef(() => props.density),
|
@@ -4181,7 +4256,7 @@
|
|
4181
4256
|
});
|
4182
4257
|
useRender(() => {
|
4183
4258
|
return vue.createVNode(props.tag, {
|
4184
|
-
"class": ['v-btn-group', {
|
4259
|
+
"class": ['v-btn-group', `v-btn-group--${props.direction}`, {
|
4185
4260
|
'v-btn-group--divided': props.divided
|
4186
4261
|
}, themeClasses.value, borderClasses.value, densityClasses.value, elevationClasses.value, roundedClasses.value, props.class],
|
4187
4262
|
"style": props.style
|
@@ -5869,6 +5944,31 @@
|
|
5869
5944
|
// Utilities
|
5870
5945
|
const VAlertTitle = createSimpleFunctional('v-alert-title');
|
5871
5946
|
|
5947
|
+
// Utilities
|
5948
|
+
|
5949
|
+
// Types
|
5950
|
+
|
5951
|
+
// Types
|
5952
|
+
|
5953
|
+
// Composables
|
5954
|
+
const makeIconSizeProps = propsFactory({
|
5955
|
+
iconSize: [Number, String],
|
5956
|
+
iconSizes: {
|
5957
|
+
type: Array,
|
5958
|
+
default: () => [['x-small', 10], ['small', 16], ['default', 24], ['large', 28], ['x-large', 32]]
|
5959
|
+
}
|
5960
|
+
}, 'iconSize');
|
5961
|
+
function useIconSizes(props, fallback) {
|
5962
|
+
const iconSize = vue.computed(() => {
|
5963
|
+
const iconSizeMap = new Map(props.iconSizes);
|
5964
|
+
const _iconSize = props.iconSize ?? fallback() ?? 'default';
|
5965
|
+
return iconSizeMap.has(_iconSize) ? iconSizeMap.get(_iconSize) : _iconSize;
|
5966
|
+
});
|
5967
|
+
return {
|
5968
|
+
iconSize
|
5969
|
+
};
|
5970
|
+
}
|
5971
|
+
|
5872
5972
|
// Types
|
5873
5973
|
|
5874
5974
|
const allowedTypes = ['success', 'info', 'warning', 'error'];
|
@@ -5908,6 +6008,7 @@
|
|
5908
6008
|
...makeDensityProps(),
|
5909
6009
|
...makeDimensionProps(),
|
5910
6010
|
...makeElevationProps(),
|
6011
|
+
...makeIconSizeProps(),
|
5911
6012
|
...makeLocationProps(),
|
5912
6013
|
...makePositionProps(),
|
5913
6014
|
...makeRoundedProps(),
|
@@ -5935,6 +6036,9 @@
|
|
5935
6036
|
if (!props.type) return props.icon;
|
5936
6037
|
return props.icon ?? `$${props.type}`;
|
5937
6038
|
});
|
6039
|
+
const {
|
6040
|
+
iconSize
|
6041
|
+
} = useIconSizes(props, () => props.prominent ? 44 : 28);
|
5938
6042
|
const {
|
5939
6043
|
themeClasses
|
5940
6044
|
} = provideTheme(props);
|
@@ -5982,6 +6086,11 @@
|
|
5982
6086
|
const hasPrepend = !!(slots.prepend || icon.value);
|
5983
6087
|
const hasTitle = !!(slots.title || props.title);
|
5984
6088
|
const hasClose = !!(slots.close || props.closable);
|
6089
|
+
const iconProps = {
|
6090
|
+
density: props.density,
|
6091
|
+
icon: icon.value,
|
6092
|
+
size: iconSize.value
|
6093
|
+
};
|
5985
6094
|
return isActive.value && vue.createVNode(props.tag, {
|
5986
6095
|
"class": ['v-alert', props.border && {
|
5987
6096
|
'v-alert--border': !!props.border,
|
@@ -5999,19 +6108,14 @@
|
|
5999
6108
|
}, null), hasPrepend && vue.createVNode("div", {
|
6000
6109
|
"key": "prepend",
|
6001
6110
|
"class": "v-alert__prepend"
|
6002
|
-
}, [!slots.prepend ? vue.createVNode(VIcon, {
|
6003
|
-
"key": "prepend-icon"
|
6004
|
-
|
6005
|
-
"icon": icon.value,
|
6006
|
-
"size": props.prominent ? 44 : 28
|
6007
|
-
}, null) : vue.createVNode(VDefaultsProvider, {
|
6111
|
+
}, [!slots.prepend ? vue.createVNode(VIcon, vue.mergeProps({
|
6112
|
+
"key": "prepend-icon"
|
6113
|
+
}, iconProps), null) : vue.createVNode(VDefaultsProvider, {
|
6008
6114
|
"key": "prepend-defaults",
|
6009
6115
|
"disabled": !icon.value,
|
6010
6116
|
"defaults": {
|
6011
6117
|
VIcon: {
|
6012
|
-
|
6013
|
-
icon: icon.value,
|
6014
|
-
size: props.prominent ? 44 : 28
|
6118
|
+
...iconProps
|
6015
6119
|
}
|
6016
6120
|
}
|
6017
6121
|
}, slots.prepend)]), vue.createVNode("div", {
|
@@ -8209,6 +8313,68 @@
|
|
8209
8313
|
}
|
8210
8314
|
});
|
8211
8315
|
|
8316
|
+
const makeVDividerProps = propsFactory({
|
8317
|
+
color: String,
|
8318
|
+
inset: Boolean,
|
8319
|
+
length: [Number, String],
|
8320
|
+
opacity: [Number, String],
|
8321
|
+
thickness: [Number, String],
|
8322
|
+
vertical: Boolean,
|
8323
|
+
...makeComponentProps(),
|
8324
|
+
...makeThemeProps()
|
8325
|
+
}, 'VDivider');
|
8326
|
+
const VDivider = genericComponent()({
|
8327
|
+
name: 'VDivider',
|
8328
|
+
props: makeVDividerProps(),
|
8329
|
+
setup(props, _ref) {
|
8330
|
+
let {
|
8331
|
+
attrs,
|
8332
|
+
slots
|
8333
|
+
} = _ref;
|
8334
|
+
const {
|
8335
|
+
themeClasses
|
8336
|
+
} = provideTheme(props);
|
8337
|
+
const {
|
8338
|
+
textColorClasses,
|
8339
|
+
textColorStyles
|
8340
|
+
} = useTextColor(() => props.color);
|
8341
|
+
const dividerStyles = vue.computed(() => {
|
8342
|
+
const styles = {};
|
8343
|
+
if (props.length) {
|
8344
|
+
styles[props.vertical ? 'height' : 'width'] = convertToUnit(props.length);
|
8345
|
+
}
|
8346
|
+
if (props.thickness) {
|
8347
|
+
styles[props.vertical ? 'borderRightWidth' : 'borderTopWidth'] = convertToUnit(props.thickness);
|
8348
|
+
}
|
8349
|
+
return styles;
|
8350
|
+
});
|
8351
|
+
useRender(() => {
|
8352
|
+
const divider = vue.createVNode("hr", {
|
8353
|
+
"class": [{
|
8354
|
+
'v-divider': true,
|
8355
|
+
'v-divider--inset': props.inset,
|
8356
|
+
'v-divider--vertical': props.vertical
|
8357
|
+
}, themeClasses.value, textColorClasses.value, props.class],
|
8358
|
+
"style": [dividerStyles.value, textColorStyles.value, {
|
8359
|
+
'--v-border-opacity': props.opacity
|
8360
|
+
}, props.style],
|
8361
|
+
"aria-orientation": !attrs.role || attrs.role === 'separator' ? props.vertical ? 'vertical' : 'horizontal' : undefined,
|
8362
|
+
"role": `${attrs.role || 'separator'}`
|
8363
|
+
}, null);
|
8364
|
+
if (!slots.default) return divider;
|
8365
|
+
return vue.createVNode("div", {
|
8366
|
+
"class": ['v-divider__wrapper', {
|
8367
|
+
'v-divider__wrapper--vertical': props.vertical,
|
8368
|
+
'v-divider__wrapper--inset': props.inset
|
8369
|
+
}]
|
8370
|
+
}, [divider, vue.createVNode("div", {
|
8371
|
+
"class": "v-divider__content"
|
8372
|
+
}, [slots.default()]), divider]);
|
8373
|
+
});
|
8374
|
+
return {};
|
8375
|
+
}
|
8376
|
+
});
|
8377
|
+
|
8212
8378
|
// Utilities
|
8213
8379
|
|
8214
8380
|
// List
|
@@ -9360,68 +9526,6 @@
|
|
9360
9526
|
}
|
9361
9527
|
});
|
9362
9528
|
|
9363
|
-
const makeVDividerProps = propsFactory({
|
9364
|
-
color: String,
|
9365
|
-
inset: Boolean,
|
9366
|
-
length: [Number, String],
|
9367
|
-
opacity: [Number, String],
|
9368
|
-
thickness: [Number, String],
|
9369
|
-
vertical: Boolean,
|
9370
|
-
...makeComponentProps(),
|
9371
|
-
...makeThemeProps()
|
9372
|
-
}, 'VDivider');
|
9373
|
-
const VDivider = genericComponent()({
|
9374
|
-
name: 'VDivider',
|
9375
|
-
props: makeVDividerProps(),
|
9376
|
-
setup(props, _ref) {
|
9377
|
-
let {
|
9378
|
-
attrs,
|
9379
|
-
slots
|
9380
|
-
} = _ref;
|
9381
|
-
const {
|
9382
|
-
themeClasses
|
9383
|
-
} = provideTheme(props);
|
9384
|
-
const {
|
9385
|
-
textColorClasses,
|
9386
|
-
textColorStyles
|
9387
|
-
} = useTextColor(() => props.color);
|
9388
|
-
const dividerStyles = vue.computed(() => {
|
9389
|
-
const styles = {};
|
9390
|
-
if (props.length) {
|
9391
|
-
styles[props.vertical ? 'height' : 'width'] = convertToUnit(props.length);
|
9392
|
-
}
|
9393
|
-
if (props.thickness) {
|
9394
|
-
styles[props.vertical ? 'borderRightWidth' : 'borderTopWidth'] = convertToUnit(props.thickness);
|
9395
|
-
}
|
9396
|
-
return styles;
|
9397
|
-
});
|
9398
|
-
useRender(() => {
|
9399
|
-
const divider = vue.createVNode("hr", {
|
9400
|
-
"class": [{
|
9401
|
-
'v-divider': true,
|
9402
|
-
'v-divider--inset': props.inset,
|
9403
|
-
'v-divider--vertical': props.vertical
|
9404
|
-
}, themeClasses.value, textColorClasses.value, props.class],
|
9405
|
-
"style": [dividerStyles.value, textColorStyles.value, {
|
9406
|
-
'--v-border-opacity': props.opacity
|
9407
|
-
}, props.style],
|
9408
|
-
"aria-orientation": !attrs.role || attrs.role === 'separator' ? props.vertical ? 'vertical' : 'horizontal' : undefined,
|
9409
|
-
"role": `${attrs.role || 'separator'}`
|
9410
|
-
}, null);
|
9411
|
-
if (!slots.default) return divider;
|
9412
|
-
return vue.createVNode("div", {
|
9413
|
-
"class": ['v-divider__wrapper', {
|
9414
|
-
'v-divider__wrapper--vertical': props.vertical,
|
9415
|
-
'v-divider__wrapper--inset': props.inset
|
9416
|
-
}]
|
9417
|
-
}, [divider, vue.createVNode("div", {
|
9418
|
-
"class": "v-divider__content"
|
9419
|
-
}, [slots.default()]), divider]);
|
9420
|
-
});
|
9421
|
-
return {};
|
9422
|
-
}
|
9423
|
-
});
|
9424
|
-
|
9425
9529
|
// Types
|
9426
9530
|
|
9427
9531
|
const makeVListChildrenProps = propsFactory({
|
@@ -12339,7 +12443,12 @@
|
|
12339
12443
|
}
|
12340
12444
|
function calculateOffset(index) {
|
12341
12445
|
index = clamp(index, 0, items.value.length - 1);
|
12342
|
-
|
12446
|
+
const whole = Math.floor(index);
|
12447
|
+
const fraction = index % 1;
|
12448
|
+
const next = whole + 1;
|
12449
|
+
const wholeOffset = offsets[whole] || 0;
|
12450
|
+
const nextOffset = offsets[next] || wholeOffset;
|
12451
|
+
return wholeOffset + (nextOffset - wholeOffset) * fraction;
|
12343
12452
|
}
|
12344
12453
|
function calculateIndex(scrollTop) {
|
12345
12454
|
return binaryClosest(offsets, scrollTop);
|
@@ -12743,7 +12852,6 @@
|
|
12743
12852
|
const selectedValues = vue.computed(() => model.value.map(selection => selection.value));
|
12744
12853
|
const isFocused = vue.shallowRef(false);
|
12745
12854
|
let keyboardLookupPrefix = '';
|
12746
|
-
let keyboardLookupIndex = -1;
|
12747
12855
|
let keyboardLookupLastTime;
|
12748
12856
|
const displayItems = vue.computed(() => {
|
12749
12857
|
if (props.hideSelected) {
|
@@ -12811,41 +12919,10 @@
|
|
12811
12919
|
const now = performance.now();
|
12812
12920
|
if (now - keyboardLookupLastTime > KEYBOARD_LOOKUP_THRESHOLD) {
|
12813
12921
|
keyboardLookupPrefix = '';
|
12814
|
-
keyboardLookupIndex = -1;
|
12815
12922
|
}
|
12816
12923
|
keyboardLookupPrefix += e.key.toLowerCase();
|
12817
12924
|
keyboardLookupLastTime = now;
|
12818
|
-
const
|
12819
|
-
function findItem() {
|
12820
|
-
let result = findItemBase();
|
12821
|
-
if (result !== undefined) return result;
|
12822
|
-
if (keyboardLookupPrefix.at(-1) === keyboardLookupPrefix.at(-2)) {
|
12823
|
-
// No matches but we have a repeated letter, try the next item with that prefix
|
12824
|
-
keyboardLookupPrefix = keyboardLookupPrefix.slice(0, -1);
|
12825
|
-
result = findItemBase();
|
12826
|
-
if (result !== undefined) return result;
|
12827
|
-
}
|
12828
|
-
|
12829
|
-
// Still nothing, wrap around to the top
|
12830
|
-
keyboardLookupIndex = -1;
|
12831
|
-
result = findItemBase();
|
12832
|
-
if (result !== undefined) return result;
|
12833
|
-
|
12834
|
-
// Still nothing, try just the new letter
|
12835
|
-
keyboardLookupPrefix = e.key.toLowerCase();
|
12836
|
-
return findItemBase();
|
12837
|
-
}
|
12838
|
-
function findItemBase() {
|
12839
|
-
for (let i = 0; i < items.length; i++) {
|
12840
|
-
const _item = items[i];
|
12841
|
-
if (i > keyboardLookupIndex && _item.title.toLowerCase().startsWith(keyboardLookupPrefix)) {
|
12842
|
-
keyboardLookupIndex = i;
|
12843
|
-
return _item;
|
12844
|
-
}
|
12845
|
-
}
|
12846
|
-
return undefined;
|
12847
|
-
}
|
12848
|
-
const item = findItem();
|
12925
|
+
const item = items.value.find(item => item.title.toLowerCase().startsWith(keyboardLookupPrefix));
|
12849
12926
|
if (item !== undefined) {
|
12850
12927
|
if (!props.multiple) {
|
12851
12928
|
model.value = [item];
|
@@ -13002,6 +13079,22 @@
|
|
13002
13079
|
key: item.value,
|
13003
13080
|
onClick: () => select(item, null)
|
13004
13081
|
});
|
13082
|
+
if (item.raw.type === 'divider') {
|
13083
|
+
return slots.divider?.({
|
13084
|
+
props: item.raw,
|
13085
|
+
index
|
13086
|
+
}) ?? vue.createVNode(VDivider, vue.mergeProps(item.props, {
|
13087
|
+
"key": `divider-${index}`
|
13088
|
+
}), null);
|
13089
|
+
}
|
13090
|
+
if (item.raw.type === 'subheader') {
|
13091
|
+
return slots.subheader?.({
|
13092
|
+
props: item.raw,
|
13093
|
+
index
|
13094
|
+
}) ?? vue.createVNode(VListSubheader, vue.mergeProps(item.props, {
|
13095
|
+
"key": `subheader-${index}`
|
13096
|
+
}), null);
|
13097
|
+
}
|
13005
13098
|
return slots.item?.({
|
13006
13099
|
item,
|
13007
13100
|
index,
|
@@ -13162,6 +13255,9 @@
|
|
13162
13255
|
let match = -1;
|
13163
13256
|
if ((query || customFiltersLength > 0) && !options?.noFilter) {
|
13164
13257
|
if (typeof item === 'object') {
|
13258
|
+
if (['divider', 'subheader'].includes(item.raw?.type)) {
|
13259
|
+
continue;
|
13260
|
+
}
|
13165
13261
|
const filterKeys = keys || Object.keys(transformed);
|
13166
13262
|
for (const key of filterKeys) {
|
13167
13263
|
const value = getPropertyFromItem(transformed, key);
|
@@ -13600,6 +13696,22 @@
|
|
13600
13696
|
active: highlightFirst.value && index === 0 ? true : undefined,
|
13601
13697
|
onClick: () => select(item, null)
|
13602
13698
|
});
|
13699
|
+
if (item.raw.type === 'divider') {
|
13700
|
+
return slots.divider?.({
|
13701
|
+
props: item.raw,
|
13702
|
+
index
|
13703
|
+
}) ?? vue.createVNode(VDivider, vue.mergeProps(item.props, {
|
13704
|
+
"key": `divider-${index}`
|
13705
|
+
}), null);
|
13706
|
+
}
|
13707
|
+
if (item.raw.type === 'subheader') {
|
13708
|
+
return slots.subheader?.({
|
13709
|
+
props: item.raw,
|
13710
|
+
index
|
13711
|
+
}) ?? vue.createVNode(VListSubheader, vue.mergeProps(item.props, {
|
13712
|
+
"key": `subheader-${index}`
|
13713
|
+
}), null);
|
13714
|
+
}
|
13603
13715
|
return slots.item?.({
|
13604
13716
|
item,
|
13605
13717
|
index,
|
@@ -17195,13 +17307,13 @@
|
|
17195
17307
|
return null;
|
17196
17308
|
}
|
17197
17309
|
const sundayJanuarySecond2000 = new Date(2000, 0, 2);
|
17198
|
-
function getWeekdays(locale, firstDayOfWeek) {
|
17310
|
+
function getWeekdays(locale, firstDayOfWeek, weekdayFormat) {
|
17199
17311
|
const daysFromSunday = firstDayOfWeek ?? weekInfo(locale)?.firstDay ?? 0;
|
17200
17312
|
return createRange(7).map(i => {
|
17201
17313
|
const weekday = new Date(sundayJanuarySecond2000);
|
17202
17314
|
weekday.setDate(sundayJanuarySecond2000.getDate() + daysFromSunday + i);
|
17203
17315
|
return new Intl.DateTimeFormat(locale, {
|
17204
|
-
weekday: 'narrow'
|
17316
|
+
weekday: weekdayFormat ?? 'narrow'
|
17205
17317
|
}).format(weekday);
|
17206
17318
|
});
|
17207
17319
|
}
|
@@ -17665,9 +17777,9 @@
|
|
17665
17777
|
getDiff(date, comparing, unit) {
|
17666
17778
|
return getDiff(date, comparing, unit);
|
17667
17779
|
}
|
17668
|
-
getWeekdays(firstDayOfWeek) {
|
17780
|
+
getWeekdays(firstDayOfWeek, weekdayFormat) {
|
17669
17781
|
const firstDay = firstDayOfWeek !== undefined ? Number(firstDayOfWeek) : undefined;
|
17670
|
-
return getWeekdays(this.locale, firstDay);
|
17782
|
+
return getWeekdays(this.locale, firstDay, weekdayFormat);
|
17671
17783
|
}
|
17672
17784
|
getYear(date) {
|
17673
17785
|
return getYear(date);
|
@@ -18010,6 +18122,7 @@
|
|
18010
18122
|
_search.value = val ?? '';
|
18011
18123
|
if (!props.multiple && !hasSelectionSlot.value) {
|
18012
18124
|
model.value = [transformItem$3(props, val)];
|
18125
|
+
vue.nextTick(() => vVirtualScrollRef.value?.scrollToIndex(0));
|
18013
18126
|
}
|
18014
18127
|
if (val && props.multiple && props.delimiters?.length) {
|
18015
18128
|
const values = val.split(new RegExp(`(?:${props.delimiters.join('|')})+`));
|
@@ -18326,6 +18439,22 @@
|
|
18326
18439
|
active: highlightFirst.value && index === 0 ? true : undefined,
|
18327
18440
|
onClick: () => select(item, null)
|
18328
18441
|
});
|
18442
|
+
if (item.raw.type === 'divider') {
|
18443
|
+
return slots.divider?.({
|
18444
|
+
props: item.raw,
|
18445
|
+
index
|
18446
|
+
}) ?? vue.createVNode(VDivider, vue.mergeProps(item.props, {
|
18447
|
+
"key": `divider-${index}`
|
18448
|
+
}), null);
|
18449
|
+
}
|
18450
|
+
if (item.raw.type === 'subheader') {
|
18451
|
+
return slots.subheader?.({
|
18452
|
+
props: item.raw,
|
18453
|
+
index
|
18454
|
+
}) ?? vue.createVNode(VListSubheader, vue.mergeProps(item.props, {
|
18455
|
+
"key": `subheader-${index}`
|
18456
|
+
}), null);
|
18457
|
+
}
|
18329
18458
|
return slots.item?.({
|
18330
18459
|
item,
|
18331
18460
|
index,
|
@@ -21969,7 +22098,8 @@
|
|
21969
22098
|
firstDayOfWeek: {
|
21970
22099
|
type: [Number, String],
|
21971
22100
|
default: undefined
|
21972
|
-
}
|
22101
|
+
},
|
22102
|
+
weekdayFormat: String
|
21973
22103
|
}, 'calendar');
|
21974
22104
|
function useCalendar(props) {
|
21975
22105
|
const adapter = useDate();
|
@@ -22217,7 +22347,7 @@
|
|
22217
22347
|
"ref": daysRef,
|
22218
22348
|
"key": daysInMonth.value[0].date?.toString(),
|
22219
22349
|
"class": "v-date-picker-month__days"
|
22220
|
-
}, [!props.hideWeekdays && adapter.getWeekdays(props.firstDayOfWeek).map(weekDay => vue.createVNode("div", {
|
22350
|
+
}, [!props.hideWeekdays && adapter.getWeekdays(props.firstDayOfWeek, props.weekdayFormat).map(weekDay => vue.createVNode("div", {
|
22221
22351
|
"class": ['v-date-picker-month__day', 'v-date-picker-month__weekday']
|
22222
22352
|
}, [weekDay])), daysInMonth.value.map((item, i) => {
|
22223
22353
|
const slotProps = {
|
@@ -24748,6 +24878,10 @@
|
|
24748
24878
|
type: Number,
|
24749
24879
|
default: 0
|
24750
24880
|
},
|
24881
|
+
minFractionDigits: {
|
24882
|
+
type: Number,
|
24883
|
+
default: null
|
24884
|
+
},
|
24751
24885
|
...omit(makeVTextFieldProps(), ['modelValue', 'validationValue'])
|
24752
24886
|
}, 'VNumberInput');
|
24753
24887
|
const VNumberInput = genericComponent()({
|
@@ -24778,9 +24912,19 @@
|
|
24778
24912
|
} = useFocus(props);
|
24779
24913
|
function correctPrecision(val) {
|
24780
24914
|
let precision = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : props.precision;
|
24781
|
-
|
24782
|
-
|
24783
|
-
|
24915
|
+
if (precision == null) {
|
24916
|
+
return String(val);
|
24917
|
+
}
|
24918
|
+
let fixed = val.toFixed(precision);
|
24919
|
+
if (isFocused.value) {
|
24920
|
+
return Number(fixed).toString(); // trim zeros
|
24921
|
+
}
|
24922
|
+
if ((props.minFractionDigits ?? precision) < precision) {
|
24923
|
+
const trimLimit = precision - props.minFractionDigits;
|
24924
|
+
const [baseDigits, fractionDigits] = fixed.split('.');
|
24925
|
+
fixed = [baseDigits, fractionDigits.replace(new RegExp(`0{1,${trimLimit}}$`), '')].filter(Boolean).join('.');
|
24926
|
+
}
|
24927
|
+
return fixed;
|
24784
24928
|
}
|
24785
24929
|
const model = useProxiedModel(props, 'modelValue', null, val => val ?? null, val => val == null ? val ?? null : clamp(Number(val), props.min, props.max));
|
24786
24930
|
const _inputText = vue.shallowRef(null);
|
@@ -24833,6 +24977,7 @@
|
|
24833
24977
|
}
|
24834
24978
|
};
|
24835
24979
|
vue.watch(() => props.precision, () => formatInputValue());
|
24980
|
+
vue.watch(() => props.minFractionDigits, () => formatInputValue());
|
24836
24981
|
vue.onMounted(() => {
|
24837
24982
|
clampModel();
|
24838
24983
|
});
|
@@ -24934,7 +25079,7 @@
|
|
24934
25079
|
inputText.value = null;
|
24935
25080
|
return;
|
24936
25081
|
}
|
24937
|
-
inputText.value =
|
25082
|
+
inputText.value = correctPrecision(model.value);
|
24938
25083
|
}
|
24939
25084
|
function trimDecimalZeros() {
|
24940
25085
|
if (controlsDisabled.value) return;
|
@@ -29901,11 +30046,6 @@
|
|
29901
30046
|
hideOverlay: Boolean,
|
29902
30047
|
icon: [String, Function, Object],
|
29903
30048
|
iconColor: String,
|
29904
|
-
iconSize: [Number, String],
|
29905
|
-
iconSizes: {
|
29906
|
-
type: Array,
|
29907
|
-
default: () => [['x-small', 10], ['small', 16], ['default', 24], ['large', 28], ['x-large', 32]]
|
29908
|
-
},
|
29909
30049
|
loading: Boolean,
|
29910
30050
|
opacity: [Number, String],
|
29911
30051
|
readonly: Boolean,
|
@@ -29925,6 +30065,7 @@
|
|
29925
30065
|
...makeBorderProps(),
|
29926
30066
|
...makeComponentProps(),
|
29927
30067
|
...makeElevationProps(),
|
30068
|
+
...makeIconSizeProps(),
|
29928
30069
|
...makeRoundedProps(),
|
29929
30070
|
...makeTagProps({
|
29930
30071
|
tag: 'button'
|
@@ -29979,7 +30120,6 @@
|
|
29979
30120
|
})()
|
29980
30121
|
}));
|
29981
30122
|
const btnSizeMap = new Map(props.sizes);
|
29982
|
-
const iconSizeMap = new Map(props.iconSizes);
|
29983
30123
|
function onClick() {
|
29984
30124
|
if (props.disabled || props.readonly || isActive.value === undefined || props.tag === 'a' && attrs.href) return;
|
29985
30125
|
isActive.value = !isActive.value;
|
@@ -29991,12 +30131,12 @@
|
|
29991
30131
|
const btnSize = hasNamedSize ? btnSizeMap.get(_btnSize) : _btnSize;
|
29992
30132
|
const btnHeight = props.height ?? btnSize;
|
29993
30133
|
const btnWidth = props.width ?? btnSize;
|
29994
|
-
const
|
29995
|
-
|
29996
|
-
|
30134
|
+
const {
|
30135
|
+
iconSize
|
30136
|
+
} = useIconSizes(props, () => new Map(props.iconSizes).get(_btnSize));
|
29997
30137
|
const iconProps = {
|
29998
30138
|
icon,
|
29999
|
-
size: iconSize,
|
30139
|
+
size: iconSize.value,
|
30000
30140
|
iconColor: props.iconColor,
|
30001
30141
|
opacity: props.opacity
|
30002
30142
|
};
|
@@ -30039,7 +30179,7 @@
|
|
30039
30179
|
"color": typeof props.loading === 'boolean' ? undefined : props.loading,
|
30040
30180
|
"indeterminate": "disable-shrink",
|
30041
30181
|
"width": "2",
|
30042
|
-
"size": iconSize
|
30182
|
+
"size": iconSize.value
|
30043
30183
|
}, null)])]
|
30044
30184
|
});
|
30045
30185
|
});
|
@@ -31949,7 +32089,7 @@
|
|
31949
32089
|
};
|
31950
32090
|
});
|
31951
32091
|
}
|
31952
|
-
const version$1 = "3.8.
|
32092
|
+
const version$1 = "3.8.6-dev.2025-05-21";
|
31953
32093
|
createVuetify$1.version = version$1;
|
31954
32094
|
|
31955
32095
|
// Vue's inject() can only be used in setup
|
@@ -32247,7 +32387,7 @@
|
|
32247
32387
|
|
32248
32388
|
/* eslint-disable local-rules/sort-imports */
|
32249
32389
|
|
32250
|
-
const version = "3.8.
|
32390
|
+
const version = "3.8.6-dev.2025-05-21";
|
32251
32391
|
|
32252
32392
|
/* eslint-disable local-rules/sort-imports */
|
32253
32393
|
|