vuetify 3.5.4 → 3.5.6
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/dist/json/attributes.json +2811 -2523
- package/dist/json/importMap-labs.json +12 -8
- package/dist/json/importMap.json +120 -116
- package/dist/json/tags.json +251 -169
- package/dist/json/web-types.json +3509 -2563
- package/dist/vuetify-labs.css +1757 -1737
- package/dist/vuetify-labs.d.ts +1475 -152
- package/dist/vuetify-labs.esm.js +566 -72
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +566 -72
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +864 -844
- package/dist/vuetify.d.ts +1140 -191
- package/dist/vuetify.esm.js +132 -71
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +132 -71
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +645 -642
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAlert/index.d.mts +9 -0
- package/lib/components/VAppBar/index.d.mts +18 -0
- package/lib/components/VAutocomplete/VAutocomplete.mjs +5 -2
- package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
- package/lib/components/VAutocomplete/index.d.mts +33 -6
- package/lib/components/VAvatar/index.d.mts +9 -0
- package/lib/components/VBadge/index.d.mts +9 -0
- package/lib/components/VBanner/index.d.mts +9 -0
- package/lib/components/VBottomNavigation/index.d.mts +9 -0
- package/lib/components/VBreadcrumbs/index.d.mts +9 -0
- package/lib/components/VBtn/index.d.mts +9 -0
- package/lib/components/VBtnGroup/index.d.mts +9 -0
- package/lib/components/VBtnToggle/index.d.mts +9 -0
- package/lib/components/VCard/index.d.mts +9 -0
- package/lib/components/VCarousel/index.d.mts +9 -0
- package/lib/components/VChip/index.d.mts +9 -0
- package/lib/components/VColorPicker/index.d.mts +9 -0
- package/lib/components/VCombobox/VCombobox.mjs +3 -1
- package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
- package/lib/components/VCombobox/index.d.mts +33 -6
- package/lib/components/VDataIterator/index.d.mts +3 -3
- package/lib/components/VDataTable/VDataTable.mjs.map +1 -1
- package/lib/components/VDataTable/VDataTableHeaders.mjs.map +1 -1
- package/lib/components/VDataTable/index.d.mts +569 -118
- package/lib/components/VDataTable/index.mjs +1 -0
- package/lib/components/VDataTable/index.mjs.map +1 -1
- package/lib/components/VDataTable/types.mjs.map +1 -1
- package/lib/components/VDatePicker/VDatePicker.css +2 -21
- package/lib/components/VDatePicker/VDatePicker.mjs +14 -10
- package/lib/components/VDatePicker/VDatePicker.mjs.map +1 -1
- package/lib/components/VDatePicker/VDatePicker.sass +3 -18
- package/lib/components/VDatePicker/VDatePickerHeader.css +2 -0
- package/lib/components/VDatePicker/VDatePickerHeader.sass +3 -0
- package/lib/components/VDatePicker/VDatePickerMonth.css +11 -5
- package/lib/components/VDatePicker/VDatePickerMonth.mjs +2 -1
- package/lib/components/VDatePicker/VDatePickerMonth.mjs.map +1 -1
- package/lib/components/VDatePicker/VDatePickerMonth.sass +13 -5
- package/lib/components/VDatePicker/VDatePickerMonths.css +2 -3
- package/lib/components/VDatePicker/VDatePickerMonths.mjs +6 -3
- package/lib/components/VDatePicker/VDatePickerMonths.mjs.map +1 -1
- package/lib/components/VDatePicker/VDatePickerMonths.sass +4 -3
- package/lib/components/VDatePicker/VDatePickerYears.css +2 -2
- package/lib/components/VDatePicker/VDatePickerYears.mjs +8 -1
- package/lib/components/VDatePicker/VDatePickerYears.mjs.map +1 -1
- package/lib/components/VDatePicker/VDatePickerYears.sass +4 -2
- package/lib/components/VDatePicker/_variables.scss +14 -34
- package/lib/components/VDatePicker/index.d.mts +13 -4
- package/lib/components/VExpansionPanel/VExpansionPanel.css +18 -7
- package/lib/components/VExpansionPanel/VExpansionPanel.sass +18 -3
- package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs +2 -0
- package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanels.mjs +11 -2
- package/lib/components/VExpansionPanel/VExpansionPanels.mjs.map +1 -1
- package/lib/components/VExpansionPanel/index.d.mts +54 -0
- package/lib/components/VField/VField.css +20 -1
- package/lib/components/VField/VField.sass +19 -1
- package/lib/components/VField/index.d.mts +9 -0
- package/lib/components/VFileInput/VFileInput.mjs +1 -1
- package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
- package/lib/components/VFileInput/index.d.mts +9 -0
- package/lib/components/VFooter/index.d.mts +9 -0
- package/lib/components/VImg/index.d.mts +9 -0
- package/lib/components/VList/VListItem.css +2 -1
- package/lib/components/VList/VListItem.sass +1 -0
- package/lib/components/VList/_variables.scss +2 -1
- package/lib/components/VList/index.d.mts +18 -0
- package/lib/components/VMenu/VMenu.mjs +5 -5
- package/lib/components/VMenu/VMenu.mjs.map +1 -1
- package/lib/components/VMenu/shared.mjs.map +1 -1
- package/lib/components/VNavigationDrawer/index.d.mts +9 -0
- package/lib/components/VPagination/index.d.mts +9 -0
- package/lib/components/VProgressLinear/index.d.mts +9 -0
- package/lib/components/VRangeSlider/index.d.mts +9 -0
- package/lib/components/VSelect/VSelect.mjs +5 -3
- package/lib/components/VSelect/VSelect.mjs.map +1 -1
- package/lib/components/VSelect/index.d.mts +33 -6
- package/lib/components/VSheet/index.d.mts +9 -0
- package/lib/components/VSlider/index.d.mts +9 -0
- package/lib/components/VSnackbar/index.d.mts +9 -0
- package/lib/components/VStepper/index.d.mts +9 -0
- package/lib/components/VSystemBar/index.d.mts +9 -0
- package/lib/components/VTabs/index.d.mts +33 -6
- package/lib/components/VTextField/index.d.mts +33 -6
- package/lib/components/VTextarea/index.d.mts +9 -0
- package/lib/components/VTimeline/index.d.mts +9 -0
- package/lib/components/VToolbar/index.d.mts +9 -0
- package/lib/components/VTooltip/VTooltip.css +1 -0
- package/lib/components/VTooltip/VTooltip.sass +1 -0
- package/lib/components/VTooltip/_variables.scss +1 -0
- package/lib/components/index.d.mts +1098 -152
- package/lib/composables/filter.mjs +1 -1
- package/lib/composables/filter.mjs.map +1 -1
- package/lib/composables/form.mjs +2 -1
- package/lib/composables/form.mjs.map +1 -1
- package/lib/composables/goto.mjs +16 -18
- package/lib/composables/goto.mjs.map +1 -1
- package/lib/composables/group.mjs +2 -0
- package/lib/composables/group.mjs.map +1 -1
- package/lib/composables/icons.mjs +17 -13
- package/lib/composables/icons.mjs.map +1 -1
- package/lib/composables/rounded.mjs +5 -1
- package/lib/composables/rounded.mjs.map +1 -1
- package/lib/composables/virtual.mjs +11 -3
- package/lib/composables/virtual.mjs.map +1 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/iconsets/fa-svg.mjs +2 -1
- package/lib/iconsets/fa-svg.mjs.map +1 -1
- package/lib/index.d.mts +41 -39
- package/lib/labs/VCalendar/VCalendar.mjs +1 -1
- package/lib/labs/VCalendar/VCalendar.mjs.map +1 -1
- package/lib/labs/VPicker/VPicker.css +2 -2
- package/lib/labs/VPicker/VPicker.sass +2 -2
- package/lib/labs/VPicker/_variables.scss +2 -4
- package/lib/labs/VPicker/index.d.mts +9 -0
- package/lib/labs/VSparkline/VBarline.mjs +138 -0
- package/lib/labs/VSparkline/VBarline.mjs.map +1 -0
- package/lib/labs/VSparkline/VSparkline.mjs +49 -0
- package/lib/labs/VSparkline/VSparkline.mjs.map +1 -0
- package/lib/labs/VSparkline/VTrendline.mjs +143 -0
- package/lib/labs/VSparkline/VTrendline.mjs.map +1 -0
- package/lib/labs/VSparkline/index.d.mts +374 -0
- package/lib/labs/VSparkline/index.mjs +2 -0
- package/lib/labs/VSparkline/index.mjs.map +1 -0
- package/lib/labs/VSparkline/util/line.mjs +52 -0
- package/lib/labs/VSparkline/util/line.mjs.map +1 -0
- package/lib/labs/VSparkline/util/path.mjs +60 -0
- package/lib/labs/VSparkline/util/path.mjs.map +1 -0
- package/lib/labs/components.d.mts +376 -1
- package/lib/labs/components.mjs +1 -0
- package/lib/labs/components.mjs.map +1 -1
- package/lib/locale/nl.mjs +1 -1
- package/lib/locale/nl.mjs.map +1 -1
- package/lib/util/helpers.mjs +10 -0
- package/lib/util/helpers.mjs.map +1 -1
- package/package.json +2 -2
- package/lib/components/VDatePicker/VDatePickerTitle.mjs +0 -81
- package/lib/components/VDatePicker/VDatePickerTitle.mjs.map +0 -1
- package/lib/components/VDatePicker/VDatePickerTitle.sass +0 -33
package/dist/vuetify.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Vuetify v3.5.
|
|
2
|
+
* Vuetify v3.5.6
|
|
3
3
|
* Forged by John Leider
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
@@ -543,6 +543,16 @@
|
|
|
543
543
|
const timeoutId = window.setTimeout(cb, timeout);
|
|
544
544
|
return () => window.clearTimeout(timeoutId);
|
|
545
545
|
}
|
|
546
|
+
function isClickInsideElement(event, targetDiv) {
|
|
547
|
+
const mouseX = event.clientX;
|
|
548
|
+
const mouseY = event.clientY;
|
|
549
|
+
const divRect = targetDiv.getBoundingClientRect();
|
|
550
|
+
const divLeft = divRect.left;
|
|
551
|
+
const divTop = divRect.top;
|
|
552
|
+
const divRight = divRect.right;
|
|
553
|
+
const divBottom = divRect.bottom;
|
|
554
|
+
return mouseX >= divLeft && mouseX <= divRight && mouseY >= divTop && mouseY <= divBottom;
|
|
555
|
+
}
|
|
546
556
|
|
|
547
557
|
// Utilities
|
|
548
558
|
const block = ['top', 'bottom'];
|
|
@@ -2154,7 +2164,7 @@
|
|
|
2154
2164
|
vue.provide(LocaleSymbol, data);
|
|
2155
2165
|
return data;
|
|
2156
2166
|
}
|
|
2157
|
-
function genDefaults$
|
|
2167
|
+
function genDefaults$3() {
|
|
2158
2168
|
return {
|
|
2159
2169
|
af: false,
|
|
2160
2170
|
ar: true,
|
|
@@ -2201,7 +2211,7 @@
|
|
|
2201
2211
|
};
|
|
2202
2212
|
}
|
|
2203
2213
|
function createRtl(i18n, options) {
|
|
2204
|
-
const rtl = vue.ref(options?.rtl ?? genDefaults$
|
|
2214
|
+
const rtl = vue.ref(options?.rtl ?? genDefaults$3());
|
|
2205
2215
|
const isRtl = vue.computed(() => rtl.value[i18n.current.value] ?? false);
|
|
2206
2216
|
return {
|
|
2207
2217
|
isRtl,
|
|
@@ -2234,7 +2244,7 @@
|
|
|
2234
2244
|
const makeThemeProps = propsFactory({
|
|
2235
2245
|
theme: String
|
|
2236
2246
|
}, 'theme');
|
|
2237
|
-
function genDefaults$
|
|
2247
|
+
function genDefaults$2() {
|
|
2238
2248
|
return {
|
|
2239
2249
|
defaultTheme: 'light',
|
|
2240
2250
|
variations: {
|
|
@@ -2321,8 +2331,8 @@
|
|
|
2321
2331
|
};
|
|
2322
2332
|
}
|
|
2323
2333
|
function parseThemeOptions() {
|
|
2324
|
-
let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : genDefaults$
|
|
2325
|
-
const defaults = genDefaults$
|
|
2334
|
+
let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : genDefaults$2();
|
|
2335
|
+
const defaults = genDefaults$2();
|
|
2326
2336
|
if (!options) return {
|
|
2327
2337
|
...defaults,
|
|
2328
2338
|
isDisabled: true
|
|
@@ -3105,12 +3115,14 @@
|
|
|
3105
3115
|
rounded: {
|
|
3106
3116
|
type: [Boolean, Number, String],
|
|
3107
3117
|
default: undefined
|
|
3108
|
-
}
|
|
3118
|
+
},
|
|
3119
|
+
tile: Boolean
|
|
3109
3120
|
}, 'rounded');
|
|
3110
3121
|
function useRounded(props) {
|
|
3111
3122
|
let name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getCurrentInstanceName();
|
|
3112
3123
|
const roundedClasses = vue.computed(() => {
|
|
3113
3124
|
const rounded = vue.isRef(props) ? props.value : props.rounded;
|
|
3125
|
+
const tile = vue.isRef(props) ? props.value : props.tile;
|
|
3114
3126
|
const classes = [];
|
|
3115
3127
|
if (rounded === true || rounded === '') {
|
|
3116
3128
|
classes.push(`${name}--rounded`);
|
|
@@ -3118,6 +3130,8 @@
|
|
|
3118
3130
|
for (const value of String(rounded).split(' ')) {
|
|
3119
3131
|
classes.push(`rounded-${value}`);
|
|
3120
3132
|
}
|
|
3133
|
+
} else if (tile) {
|
|
3134
|
+
classes.push('rounded-0');
|
|
3121
3135
|
}
|
|
3122
3136
|
return classes;
|
|
3123
3137
|
});
|
|
@@ -4108,6 +4122,8 @@
|
|
|
4108
4122
|
vm.emit('group:selected', {
|
|
4109
4123
|
value
|
|
4110
4124
|
});
|
|
4125
|
+
}, {
|
|
4126
|
+
flush: 'sync'
|
|
4111
4127
|
});
|
|
4112
4128
|
return {
|
|
4113
4129
|
id,
|
|
@@ -4443,23 +4459,27 @@
|
|
|
4443
4459
|
};
|
|
4444
4460
|
}
|
|
4445
4461
|
});
|
|
4446
|
-
|
|
4447
|
-
|
|
4448
|
-
|
|
4449
|
-
|
|
4450
|
-
|
|
4451
|
-
|
|
4452
|
-
|
|
4453
|
-
|
|
4462
|
+
function genDefaults$1() {
|
|
4463
|
+
return {
|
|
4464
|
+
svg: {
|
|
4465
|
+
component: VSvgIcon
|
|
4466
|
+
},
|
|
4467
|
+
class: {
|
|
4468
|
+
component: VClassIcon
|
|
4469
|
+
}
|
|
4470
|
+
};
|
|
4471
|
+
}
|
|
4454
4472
|
|
|
4455
4473
|
// Composables
|
|
4456
4474
|
function createIcons(options) {
|
|
4475
|
+
const sets = genDefaults$1();
|
|
4476
|
+
const defaultSet = options?.defaultSet ?? 'mdi';
|
|
4477
|
+
if (defaultSet === 'mdi' && !sets.mdi) {
|
|
4478
|
+
sets.mdi = mdi;
|
|
4479
|
+
}
|
|
4457
4480
|
return mergeDeep({
|
|
4458
|
-
defaultSet
|
|
4459
|
-
sets
|
|
4460
|
-
...defaultSets,
|
|
4461
|
-
mdi
|
|
4462
|
-
},
|
|
4481
|
+
defaultSet,
|
|
4482
|
+
sets,
|
|
4463
4483
|
aliases: {
|
|
4464
4484
|
...aliases,
|
|
4465
4485
|
/* eslint-disable max-len */
|
|
@@ -6463,7 +6483,8 @@
|
|
|
6463
6483
|
errors.value = results;
|
|
6464
6484
|
model.value = invalid > 0 ? false : valid === items.value.length ? true : null;
|
|
6465
6485
|
}, {
|
|
6466
|
-
deep: true
|
|
6486
|
+
deep: true,
|
|
6487
|
+
flush: 'post'
|
|
6467
6488
|
});
|
|
6468
6489
|
vue.provide(FormKey, {
|
|
6469
6490
|
register: _ref => {
|
|
@@ -10567,9 +10588,9 @@
|
|
|
10567
10588
|
unregister() {
|
|
10568
10589
|
--openChildren.value;
|
|
10569
10590
|
},
|
|
10570
|
-
closeParents() {
|
|
10591
|
+
closeParents(e) {
|
|
10571
10592
|
setTimeout(() => {
|
|
10572
|
-
if (!openChildren.value) {
|
|
10593
|
+
if (!openChildren.value && (e == null || e && !isClickInsideElement(e, overlay.value.contentEl))) {
|
|
10573
10594
|
isActive.value = false;
|
|
10574
10595
|
parent?.closeParents();
|
|
10575
10596
|
}
|
|
@@ -10602,8 +10623,8 @@
|
|
|
10602
10623
|
document.removeEventListener('focusin', onFocusIn);
|
|
10603
10624
|
}
|
|
10604
10625
|
});
|
|
10605
|
-
function onClickOutside() {
|
|
10606
|
-
parent?.closeParents();
|
|
10626
|
+
function onClickOutside(e) {
|
|
10627
|
+
parent?.closeParents(e);
|
|
10607
10628
|
}
|
|
10608
10629
|
function onKeydown(e) {
|
|
10609
10630
|
if (props.disabled) return;
|
|
@@ -11337,9 +11358,6 @@
|
|
|
11337
11358
|
});
|
|
11338
11359
|
});
|
|
11339
11360
|
});
|
|
11340
|
-
vue.watch(viewportHeight, (val, oldVal) => {
|
|
11341
|
-
oldVal && calculateVisibleItems();
|
|
11342
|
-
});
|
|
11343
11361
|
vue.onScopeDispose(() => {
|
|
11344
11362
|
updateOffsets.clear();
|
|
11345
11363
|
});
|
|
@@ -11362,6 +11380,17 @@
|
|
|
11362
11380
|
let lastScrollTop = 0;
|
|
11363
11381
|
let scrollVelocity = 0;
|
|
11364
11382
|
let lastScrollTime = 0;
|
|
11383
|
+
vue.watch(viewportHeight, (val, oldVal) => {
|
|
11384
|
+
if (oldVal) {
|
|
11385
|
+
calculateVisibleItems();
|
|
11386
|
+
if (val < oldVal) {
|
|
11387
|
+
requestAnimationFrame(() => {
|
|
11388
|
+
scrollVelocity = 0;
|
|
11389
|
+
calculateVisibleItems();
|
|
11390
|
+
});
|
|
11391
|
+
}
|
|
11392
|
+
}
|
|
11393
|
+
});
|
|
11365
11394
|
function handleScroll() {
|
|
11366
11395
|
if (!containerRef.value || !markerRef.value) return;
|
|
11367
11396
|
const scrollTop = containerRef.value.scrollTop;
|
|
@@ -11814,9 +11843,11 @@
|
|
|
11814
11843
|
}
|
|
11815
11844
|
}
|
|
11816
11845
|
function select(item) {
|
|
11846
|
+
let add = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
11817
11847
|
if (props.multiple) {
|
|
11818
11848
|
const index = model.value.findIndex(selection => props.valueComparator(selection.value, item.value));
|
|
11819
|
-
|
|
11849
|
+
add = index === -1;
|
|
11850
|
+
if (add) {
|
|
11820
11851
|
model.value = [...model.value, item];
|
|
11821
11852
|
} else {
|
|
11822
11853
|
const value = [...model.value];
|
|
@@ -11824,7 +11855,7 @@
|
|
|
11824
11855
|
model.value = value;
|
|
11825
11856
|
}
|
|
11826
11857
|
} else {
|
|
11827
|
-
model.value = [item];
|
|
11858
|
+
model.value = add ? [item] : [];
|
|
11828
11859
|
menu.value = false;
|
|
11829
11860
|
}
|
|
11830
11861
|
}
|
|
@@ -11976,7 +12007,7 @@
|
|
|
11976
12007
|
function onChipClose(e) {
|
|
11977
12008
|
e.stopPropagation();
|
|
11978
12009
|
e.preventDefault();
|
|
11979
|
-
select(item);
|
|
12010
|
+
select(item, false);
|
|
11980
12011
|
}
|
|
11981
12012
|
const slotProps = {
|
|
11982
12013
|
'onClick:close': onChipClose,
|
|
@@ -12086,7 +12117,7 @@
|
|
|
12086
12117
|
if (typeof item === 'object') {
|
|
12087
12118
|
const filterKeys = keys || Object.keys(transformed);
|
|
12088
12119
|
for (const key of filterKeys) {
|
|
12089
|
-
const value = getPropertyFromItem(transformed, key
|
|
12120
|
+
const value = getPropertyFromItem(transformed, key);
|
|
12090
12121
|
const keyFilter = options?.customKeyFilter?.[key];
|
|
12091
12122
|
match = keyFilter ? keyFilter(value, query, item) : filter(value, query, item);
|
|
12092
12123
|
if (match !== -1 && match !== false) {
|
|
@@ -12365,7 +12396,8 @@
|
|
|
12365
12396
|
if (item.props.disabled) return;
|
|
12366
12397
|
if (props.multiple) {
|
|
12367
12398
|
const index = model.value.findIndex(selection => props.valueComparator(selection.value, item.value));
|
|
12368
|
-
|
|
12399
|
+
add = index === -1;
|
|
12400
|
+
if (add) {
|
|
12369
12401
|
model.value = [...model.value, item];
|
|
12370
12402
|
} else {
|
|
12371
12403
|
const value = [...model.value];
|
|
@@ -12507,7 +12539,9 @@
|
|
|
12507
12539
|
item,
|
|
12508
12540
|
index,
|
|
12509
12541
|
props: itemProps
|
|
12510
|
-
}) ?? vue.createVNode(VListItem, itemProps, {
|
|
12542
|
+
}) ?? vue.createVNode(VListItem, vue.mergeProps(itemProps, {
|
|
12543
|
+
"role": "option"
|
|
12544
|
+
}), {
|
|
12511
12545
|
prepend: _ref4 => {
|
|
12512
12546
|
let {
|
|
12513
12547
|
isSelected
|
|
@@ -16297,7 +16331,9 @@
|
|
|
16297
16331
|
item,
|
|
16298
16332
|
index,
|
|
16299
16333
|
props: itemProps
|
|
16300
|
-
}) ?? vue.createVNode(VListItem, itemProps, {
|
|
16334
|
+
}) ?? vue.createVNode(VListItem, vue.mergeProps(itemProps, {
|
|
16335
|
+
"role": "option"
|
|
16336
|
+
}), {
|
|
16301
16337
|
prepend: _ref4 => {
|
|
16302
16338
|
let {
|
|
16303
16339
|
isSelected
|
|
@@ -17615,7 +17651,8 @@
|
|
|
17615
17651
|
};
|
|
17616
17652
|
}
|
|
17617
17653
|
async function scrollTo(_target, _options, horizontal, goTo) {
|
|
17618
|
-
const
|
|
17654
|
+
const property = horizontal ? 'scrollLeft' : 'scrollTop';
|
|
17655
|
+
const options = mergeDeep(goTo?.options ?? genDefaults(), _options);
|
|
17619
17656
|
const rtl = goTo?.rtl.value;
|
|
17620
17657
|
const target = (typeof _target === 'number' ? _target : getTarget(_target)) ?? 0;
|
|
17621
17658
|
const container = options.container === 'parent' && target instanceof HTMLElement ? target.parentElement : getContainer(options.container);
|
|
@@ -17633,25 +17670,22 @@
|
|
|
17633
17670
|
}
|
|
17634
17671
|
}
|
|
17635
17672
|
targetLocation += options.offset;
|
|
17636
|
-
const startLocation =
|
|
17673
|
+
const startLocation = container[property] ?? 0;
|
|
17637
17674
|
if (targetLocation === startLocation) return Promise.resolve(targetLocation);
|
|
17638
17675
|
const startTime = performance.now();
|
|
17639
17676
|
return new Promise(resolve => requestAnimationFrame(function step(currentTime) {
|
|
17640
17677
|
const timeElapsed = currentTime - startTime;
|
|
17641
|
-
const progress =
|
|
17642
|
-
const location = Math.floor(startLocation + (targetLocation - startLocation) * ease(progress));
|
|
17643
|
-
container[
|
|
17644
|
-
|
|
17645
|
-
|
|
17646
|
-
|
|
17647
|
-
|
|
17648
|
-
|
|
17649
|
-
|
|
17650
|
-
|
|
17651
|
-
|
|
17652
|
-
clientSize = container === document.body ? document.documentElement.clientWidth : container.clientWidth;
|
|
17653
|
-
reachEnd = clientSize + container.scrollLeft >= container.scrollWidth;
|
|
17654
|
-
if (targetLocation > container.scrollLeft && reachEnd) return resolve(targetLocation);
|
|
17678
|
+
const progress = timeElapsed / options.duration;
|
|
17679
|
+
const location = Math.floor(startLocation + (targetLocation - startLocation) * ease(clamp(progress, 0, 1)));
|
|
17680
|
+
container[property] = location;
|
|
17681
|
+
|
|
17682
|
+
// Allow for some jitter if target time has elapsed
|
|
17683
|
+
if (progress >= 1 && Math.abs(location - container[property]) < 10) {
|
|
17684
|
+
return resolve(targetLocation);
|
|
17685
|
+
} else if (progress > 2) {
|
|
17686
|
+
// The target might not be reachable
|
|
17687
|
+
consoleWarn('Scroll target is not reachable');
|
|
17688
|
+
return resolve(container[property]);
|
|
17655
17689
|
}
|
|
17656
17690
|
requestAnimationFrame(step);
|
|
17657
17691
|
}));
|
|
@@ -20588,12 +20622,13 @@
|
|
|
20588
20622
|
}, [(props.showAdjacentMonths || !item.isAdjacent) && vue.createVNode(VDefaultsProvider, {
|
|
20589
20623
|
"defaults": {
|
|
20590
20624
|
VBtn: {
|
|
20625
|
+
class: 'v-date-picker-month__day-btn',
|
|
20591
20626
|
color: (item.isSelected || item.isToday) && !item.isDisabled ? props.color : undefined,
|
|
20592
20627
|
disabled: item.isDisabled,
|
|
20593
20628
|
icon: true,
|
|
20594
20629
|
ripple: false,
|
|
20595
20630
|
text: item.localized,
|
|
20596
|
-
variant: item.isDisabled ? 'text' : item.isToday && !item.isSelected ? 'outlined' : 'flat',
|
|
20631
|
+
variant: item.isDisabled ? item.isToday ? 'outlined' : 'text' : item.isToday && !item.isSelected ? 'outlined' : 'flat',
|
|
20597
20632
|
onClick: () => onClick(item.date)
|
|
20598
20633
|
}
|
|
20599
20634
|
}
|
|
@@ -20619,6 +20654,7 @@
|
|
|
20619
20654
|
},
|
|
20620
20655
|
setup(props, _ref) {
|
|
20621
20656
|
let {
|
|
20657
|
+
emit,
|
|
20622
20658
|
slots
|
|
20623
20659
|
} = _ref;
|
|
20624
20660
|
const adapter = useDate();
|
|
@@ -20654,6 +20690,10 @@
|
|
|
20654
20690
|
onClick: () => onClick(i)
|
|
20655
20691
|
};
|
|
20656
20692
|
function onClick(i) {
|
|
20693
|
+
if (model.value === i) {
|
|
20694
|
+
emit('update:modelValue', model.value);
|
|
20695
|
+
return;
|
|
20696
|
+
}
|
|
20657
20697
|
model.value = i;
|
|
20658
20698
|
}
|
|
20659
20699
|
return slots.month?.({
|
|
@@ -20662,9 +20702,7 @@
|
|
|
20662
20702
|
props: btnProps
|
|
20663
20703
|
}) ?? vue.createVNode(VBtn, vue.mergeProps({
|
|
20664
20704
|
"key": "month"
|
|
20665
|
-
}, btnProps,
|
|
20666
|
-
"onClick": () => onClick(i)
|
|
20667
|
-
}), null);
|
|
20705
|
+
}, btnProps), null);
|
|
20668
20706
|
})])]));
|
|
20669
20707
|
return {};
|
|
20670
20708
|
}
|
|
@@ -20689,6 +20727,7 @@
|
|
|
20689
20727
|
},
|
|
20690
20728
|
setup(props, _ref) {
|
|
20691
20729
|
let {
|
|
20730
|
+
emit,
|
|
20692
20731
|
slots
|
|
20693
20732
|
} = _ref;
|
|
20694
20733
|
const adapter = useDate();
|
|
@@ -20739,7 +20778,13 @@
|
|
|
20739
20778
|
rounded: true,
|
|
20740
20779
|
text: year.text,
|
|
20741
20780
|
variant: model.value === year.value ? 'flat' : 'text',
|
|
20742
|
-
onClick: () =>
|
|
20781
|
+
onClick: () => {
|
|
20782
|
+
if (model.value === year.value) {
|
|
20783
|
+
emit('update:modelValue', model.value);
|
|
20784
|
+
return;
|
|
20785
|
+
}
|
|
20786
|
+
model.value = year.value;
|
|
20787
|
+
}
|
|
20743
20788
|
};
|
|
20744
20789
|
return slots.year?.({
|
|
20745
20790
|
year,
|
|
@@ -20932,7 +20977,9 @@
|
|
|
20932
20977
|
} else {
|
|
20933
20978
|
year.value++;
|
|
20934
20979
|
month.value = 0;
|
|
20980
|
+
onUpdateYear(year.value);
|
|
20935
20981
|
}
|
|
20982
|
+
onUpdateMonth(month.value);
|
|
20936
20983
|
}
|
|
20937
20984
|
function onClickPrev() {
|
|
20938
20985
|
if (month.value > 0) {
|
|
@@ -20940,7 +20987,9 @@
|
|
|
20940
20987
|
} else {
|
|
20941
20988
|
year.value--;
|
|
20942
20989
|
month.value = 11;
|
|
20990
|
+
onUpdateYear(year.value);
|
|
20943
20991
|
}
|
|
20992
|
+
onUpdateMonth(month.value);
|
|
20944
20993
|
}
|
|
20945
20994
|
function onClickDate() {
|
|
20946
20995
|
viewMode.value = 'month';
|
|
@@ -20951,14 +21000,14 @@
|
|
|
20951
21000
|
function onClickYear() {
|
|
20952
21001
|
viewMode.value = viewMode.value === 'year' ? 'month' : 'year';
|
|
20953
21002
|
}
|
|
20954
|
-
|
|
21003
|
+
function onUpdateMonth(value) {
|
|
20955
21004
|
if (viewMode.value === 'months') onClickMonth();
|
|
20956
|
-
emit('update:month',
|
|
20957
|
-
}
|
|
20958
|
-
|
|
21005
|
+
emit('update:month', value);
|
|
21006
|
+
}
|
|
21007
|
+
function onUpdateYear(value) {
|
|
20959
21008
|
if (viewMode.value === 'year') onClickYear();
|
|
20960
|
-
emit('update:year',
|
|
20961
|
-
}
|
|
21009
|
+
emit('update:year', value);
|
|
21010
|
+
}
|
|
20962
21011
|
vue.watch(model, (val, oldVal) => {
|
|
20963
21012
|
const before = adapter.date(wrapInArray(val)[0]);
|
|
20964
21013
|
const after = adapter.date(wrapInArray(oldVal)[0]);
|
|
@@ -21014,14 +21063,14 @@
|
|
|
21014
21063
|
"key": "date-picker-months"
|
|
21015
21064
|
}, datePickerMonthsProps, {
|
|
21016
21065
|
"modelValue": month.value,
|
|
21017
|
-
"onUpdate:modelValue": $event => month.value = $event,
|
|
21066
|
+
"onUpdate:modelValue": [$event => month.value = $event, onUpdateMonth],
|
|
21018
21067
|
"min": minDate.value,
|
|
21019
21068
|
"max": maxDate.value
|
|
21020
21069
|
}), null) : viewMode.value === 'year' ? vue.createVNode(VDatePickerYears, vue.mergeProps({
|
|
21021
21070
|
"key": "date-picker-years"
|
|
21022
21071
|
}, datePickerYearsProps, {
|
|
21023
21072
|
"modelValue": year.value,
|
|
21024
|
-
"onUpdate:modelValue": $event => year.value = $event,
|
|
21073
|
+
"onUpdate:modelValue": [$event => year.value = $event, onUpdateYear],
|
|
21025
21074
|
"min": minDate.value,
|
|
21026
21075
|
"max": maxDate.value
|
|
21027
21076
|
}), null) : vue.createVNode(VDatePickerMonth, vue.mergeProps({
|
|
@@ -21030,9 +21079,9 @@
|
|
|
21030
21079
|
"modelValue": model.value,
|
|
21031
21080
|
"onUpdate:modelValue": $event => model.value = $event,
|
|
21032
21081
|
"month": month.value,
|
|
21033
|
-
"onUpdate:month": $event => month.value = $event,
|
|
21082
|
+
"onUpdate:month": [$event => month.value = $event, onUpdateMonth],
|
|
21034
21083
|
"year": year.value,
|
|
21035
|
-
"onUpdate:year": $event => year.value = $event,
|
|
21084
|
+
"onUpdate:year": [$event => year.value = $event, onUpdateYear],
|
|
21036
21085
|
"min": minDate.value,
|
|
21037
21086
|
"max": maxDate.value
|
|
21038
21087
|
}), null)]
|
|
@@ -21050,7 +21099,10 @@
|
|
|
21050
21099
|
const allowedVariants = ['default', 'accordion', 'inset', 'popout'];
|
|
21051
21100
|
const makeVExpansionPanelsProps = propsFactory({
|
|
21052
21101
|
color: String,
|
|
21102
|
+
flat: Boolean,
|
|
21103
|
+
focusable: Boolean,
|
|
21053
21104
|
static: Boolean,
|
|
21105
|
+
tile: Boolean,
|
|
21054
21106
|
variant: {
|
|
21055
21107
|
type: String,
|
|
21056
21108
|
default: 'default',
|
|
@@ -21080,12 +21132,18 @@
|
|
|
21080
21132
|
provideDefaults({
|
|
21081
21133
|
VExpansionPanel: {
|
|
21082
21134
|
color: vue.toRef(props, 'color'),
|
|
21083
|
-
readonly: vue.toRef(props, 'readonly')
|
|
21135
|
+
readonly: vue.toRef(props, 'readonly')
|
|
21136
|
+
},
|
|
21137
|
+
VExpansionPanelTitle: {
|
|
21138
|
+
focusable: vue.toRef(props, 'focusable'),
|
|
21084
21139
|
static: vue.toRef(props, 'static')
|
|
21085
21140
|
}
|
|
21086
21141
|
});
|
|
21087
21142
|
useRender(() => vue.createVNode(props.tag, {
|
|
21088
|
-
"class": ['v-expansion-panels',
|
|
21143
|
+
"class": ['v-expansion-panels', {
|
|
21144
|
+
'v-expansion-panels--flat': props.flat,
|
|
21145
|
+
'v-expansion-panels--tile': props.tile
|
|
21146
|
+
}, themeClasses.value, variantClass.value, props.class],
|
|
21089
21147
|
"style": props.style
|
|
21090
21148
|
}, slots));
|
|
21091
21149
|
return {};
|
|
@@ -21136,6 +21194,7 @@
|
|
|
21136
21194
|
default: '$collapse'
|
|
21137
21195
|
},
|
|
21138
21196
|
hideActions: Boolean,
|
|
21197
|
+
focusable: Boolean,
|
|
21139
21198
|
static: Boolean,
|
|
21140
21199
|
ripple: {
|
|
21141
21200
|
type: [Boolean, Object],
|
|
@@ -21170,6 +21229,7 @@
|
|
|
21170
21229
|
useRender(() => vue.withDirectives(vue.createVNode("button", {
|
|
21171
21230
|
"class": ['v-expansion-panel-title', {
|
|
21172
21231
|
'v-expansion-panel-title--active': expansionPanel.isSelected.value,
|
|
21232
|
+
'v-expansion-panel-title--focusable': props.focusable,
|
|
21173
21233
|
'v-expansion-panel-title--static': props.static
|
|
21174
21234
|
}, backgroundColorClasses.value, props.class],
|
|
21175
21235
|
"style": [backgroundColorStyles.value, props.style],
|
|
@@ -21369,7 +21429,7 @@
|
|
|
21369
21429
|
if (!isFocused.value) focus();
|
|
21370
21430
|
}
|
|
21371
21431
|
function onClickPrepend(e) {
|
|
21372
|
-
|
|
21432
|
+
inputRef.value?.click();
|
|
21373
21433
|
}
|
|
21374
21434
|
function onControlMousedown(e) {
|
|
21375
21435
|
emit('mousedown:control', e);
|
|
@@ -25342,6 +25402,7 @@
|
|
|
25342
25402
|
VDataIterator: VDataIterator,
|
|
25343
25403
|
VDataTable: VDataTable,
|
|
25344
25404
|
VDataTableFooter: VDataTableFooter,
|
|
25405
|
+
VDataTableHeaders: VDataTableHeaders,
|
|
25345
25406
|
VDataTableRow: VDataTableRow,
|
|
25346
25407
|
VDataTableRows: VDataTableRows,
|
|
25347
25408
|
VDataTableServer: VDataTableServer,
|
|
@@ -25677,7 +25738,7 @@
|
|
|
25677
25738
|
goTo
|
|
25678
25739
|
};
|
|
25679
25740
|
}
|
|
25680
|
-
const version$1 = "3.5.
|
|
25741
|
+
const version$1 = "3.5.6";
|
|
25681
25742
|
createVuetify$1.version = version$1;
|
|
25682
25743
|
|
|
25683
25744
|
// Vue's inject() can only be used in setup
|
|
@@ -25702,7 +25763,7 @@
|
|
|
25702
25763
|
...options
|
|
25703
25764
|
});
|
|
25704
25765
|
};
|
|
25705
|
-
const version = "3.5.
|
|
25766
|
+
const version = "3.5.6";
|
|
25706
25767
|
createVuetify.version = version;
|
|
25707
25768
|
|
|
25708
25769
|
exports.components = components;
|