vuetify 3.5.3 → 3.5.5
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 +2771 -2523
- package/dist/json/importMap-labs.json +12 -8
- package/dist/json/importMap.json +100 -100
- package/dist/json/tags.json +236 -169
- package/dist/json/web-types.json +3218 -2563
- package/dist/vuetify-labs.css +2265 -2242
- package/dist/vuetify-labs.d.ts +1234 -152
- package/dist/vuetify-labs.esm.js +582 -88
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +582 -88
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +1316 -1293
- package/dist/vuetify.d.ts +894 -187
- package/dist/vuetify.esm.js +148 -87
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +148 -87
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +652 -647
- 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 +4 -4
- package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
- package/lib/components/VAutocomplete/index.d.mts +33 -6
- package/lib/components/VAvatar/VAvatar.mjs +2 -2
- package/lib/components/VAvatar/VAvatar.mjs.map +1 -1
- 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/VColorPicker.mjs +24 -12
- package/lib/components/VColorPicker/VColorPicker.mjs.map +1 -1
- package/lib/components/VColorPicker/index.d.mts +9 -0
- 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 +355 -117
- package/lib/components/VDataTable/types.mjs.map +1 -1
- package/lib/components/VDatePicker/VDatePicker.css +2 -21
- package/lib/components/VDatePicker/VDatePicker.mjs +15 -11
- 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 +14 -0
- package/lib/components/VExpansionPanel/VExpansionPanel.sass +14 -0
- package/lib/components/VExpansionPanel/VExpansionPanels.mjs +9 -2
- package/lib/components/VExpansionPanel/VExpansionPanels.mjs.map +1 -1
- package/lib/components/VExpansionPanel/index.d.mts +27 -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 +4 -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/VSnackbar.mjs +1 -2
- package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
- 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 +857 -151
- 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 +37 -36
- package/lib/labs/VCalendar/VCalendar.mjs +1 -1
- package/lib/labs/VCalendar/VCalendar.mjs.map +1 -1
- package/lib/labs/VConfirmEdit/__test__/VConfirmEdit.spec.cy.mjs +1 -1
- package/lib/labs/VConfirmEdit/__test__/VConfirmEdit.spec.cy.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.5
|
|
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 */
|
|
@@ -5895,7 +5915,7 @@
|
|
|
5895
5915
|
}, null) : props.text : vue.createVNode(VDefaultsProvider, {
|
|
5896
5916
|
"key": "content-defaults",
|
|
5897
5917
|
"defaults": {
|
|
5898
|
-
|
|
5918
|
+
VImg: {
|
|
5899
5919
|
cover: true,
|
|
5900
5920
|
image: props.image
|
|
5901
5921
|
},
|
|
@@ -5904,7 +5924,7 @@
|
|
|
5904
5924
|
}
|
|
5905
5925
|
}
|
|
5906
5926
|
}, {
|
|
5907
|
-
default: () => [slots.default
|
|
5927
|
+
default: () => [slots.default()]
|
|
5908
5928
|
}), genOverlays(false, 'v-avatar')]
|
|
5909
5929
|
}));
|
|
5910
5930
|
return {};
|
|
@@ -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,10 @@
|
|
|
11814
11843
|
}
|
|
11815
11844
|
}
|
|
11816
11845
|
function select(item) {
|
|
11846
|
+
const index = model.value.findIndex(selection => props.valueComparator(selection.value, item.value));
|
|
11847
|
+
const add = index === -1;
|
|
11817
11848
|
if (props.multiple) {
|
|
11818
|
-
|
|
11819
|
-
if (index === -1) {
|
|
11849
|
+
if (add) {
|
|
11820
11850
|
model.value = [...model.value, item];
|
|
11821
11851
|
} else {
|
|
11822
11852
|
const value = [...model.value];
|
|
@@ -11824,7 +11854,7 @@
|
|
|
11824
11854
|
model.value = value;
|
|
11825
11855
|
}
|
|
11826
11856
|
} else {
|
|
11827
|
-
model.value = [item];
|
|
11857
|
+
model.value = add ? [item] : [];
|
|
11828
11858
|
menu.value = false;
|
|
11829
11859
|
}
|
|
11830
11860
|
}
|
|
@@ -12361,11 +12391,11 @@
|
|
|
12361
12391
|
}
|
|
12362
12392
|
const isSelecting = vue.shallowRef(false);
|
|
12363
12393
|
function select(item) {
|
|
12364
|
-
let add = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
12365
12394
|
if (item.props.disabled) return;
|
|
12395
|
+
const index = model.value.findIndex(selection => props.valueComparator(selection.value, item.value));
|
|
12396
|
+
const add = index === -1;
|
|
12366
12397
|
if (props.multiple) {
|
|
12367
|
-
|
|
12368
|
-
if (index === -1) {
|
|
12398
|
+
if (add) {
|
|
12369
12399
|
model.value = [...model.value, item];
|
|
12370
12400
|
} else {
|
|
12371
12401
|
const value = [...model.value];
|
|
@@ -12534,7 +12564,7 @@
|
|
|
12534
12564
|
function onChipClose(e) {
|
|
12535
12565
|
e.stopPropagation();
|
|
12536
12566
|
e.preventDefault();
|
|
12537
|
-
select(item
|
|
12567
|
+
select(item);
|
|
12538
12568
|
}
|
|
12539
12569
|
const slotProps = {
|
|
12540
12570
|
'onClick:close': onChipClose,
|
|
@@ -15806,8 +15836,8 @@
|
|
|
15806
15836
|
},
|
|
15807
15837
|
setup(props) {
|
|
15808
15838
|
const mode = useProxiedModel(props, 'mode');
|
|
15809
|
-
const
|
|
15810
|
-
const
|
|
15839
|
+
const hue = vue.ref(null);
|
|
15840
|
+
const model = useProxiedModel(props, 'modelValue', undefined, v => {
|
|
15811
15841
|
if (v == null || v === '') return null;
|
|
15812
15842
|
let c;
|
|
15813
15843
|
try {
|
|
@@ -15816,24 +15846,36 @@
|
|
|
15816
15846
|
consoleWarn(err);
|
|
15817
15847
|
return null;
|
|
15818
15848
|
}
|
|
15819
|
-
if (lastPickedColor.value) {
|
|
15820
|
-
c = {
|
|
15821
|
-
...c,
|
|
15822
|
-
h: lastPickedColor.value.h
|
|
15823
|
-
};
|
|
15824
|
-
lastPickedColor.value = null;
|
|
15825
|
-
}
|
|
15826
15849
|
return c;
|
|
15827
15850
|
}, v => {
|
|
15828
15851
|
if (!v) return null;
|
|
15829
15852
|
return extractColor(v, props.modelValue);
|
|
15830
15853
|
});
|
|
15854
|
+
const currentColor = vue.computed(() => {
|
|
15855
|
+
return model.value ? {
|
|
15856
|
+
...model.value,
|
|
15857
|
+
h: hue.value ?? model.value.h
|
|
15858
|
+
} : null;
|
|
15859
|
+
});
|
|
15831
15860
|
const {
|
|
15832
15861
|
rtlClasses
|
|
15833
15862
|
} = useRtl();
|
|
15863
|
+
let externalChange = true;
|
|
15864
|
+
vue.watch(model, v => {
|
|
15865
|
+
if (!externalChange) {
|
|
15866
|
+
// prevent hue shift from rgb conversion inaccuracy
|
|
15867
|
+
externalChange = true;
|
|
15868
|
+
return;
|
|
15869
|
+
}
|
|
15870
|
+
if (!v) return;
|
|
15871
|
+
hue.value = v.h;
|
|
15872
|
+
}, {
|
|
15873
|
+
immediate: true
|
|
15874
|
+
});
|
|
15834
15875
|
const updateColor = hsva => {
|
|
15835
|
-
|
|
15836
|
-
|
|
15876
|
+
externalChange = false;
|
|
15877
|
+
hue.value = hsva.h;
|
|
15878
|
+
model.value = hsva;
|
|
15837
15879
|
};
|
|
15838
15880
|
vue.onMounted(() => {
|
|
15839
15881
|
if (!props.modes.includes(mode.value)) mode.value = props.modes[0];
|
|
@@ -17603,7 +17645,8 @@
|
|
|
17603
17645
|
};
|
|
17604
17646
|
}
|
|
17605
17647
|
async function scrollTo(_target, _options, horizontal, goTo) {
|
|
17606
|
-
const
|
|
17648
|
+
const property = horizontal ? 'scrollLeft' : 'scrollTop';
|
|
17649
|
+
const options = mergeDeep(goTo?.options ?? genDefaults(), _options);
|
|
17607
17650
|
const rtl = goTo?.rtl.value;
|
|
17608
17651
|
const target = (typeof _target === 'number' ? _target : getTarget(_target)) ?? 0;
|
|
17609
17652
|
const container = options.container === 'parent' && target instanceof HTMLElement ? target.parentElement : getContainer(options.container);
|
|
@@ -17621,25 +17664,22 @@
|
|
|
17621
17664
|
}
|
|
17622
17665
|
}
|
|
17623
17666
|
targetLocation += options.offset;
|
|
17624
|
-
const startLocation =
|
|
17667
|
+
const startLocation = container[property] ?? 0;
|
|
17625
17668
|
if (targetLocation === startLocation) return Promise.resolve(targetLocation);
|
|
17626
17669
|
const startTime = performance.now();
|
|
17627
17670
|
return new Promise(resolve => requestAnimationFrame(function step(currentTime) {
|
|
17628
17671
|
const timeElapsed = currentTime - startTime;
|
|
17629
|
-
const progress =
|
|
17630
|
-
const location = Math.floor(startLocation + (targetLocation - startLocation) * ease(progress));
|
|
17631
|
-
container[
|
|
17632
|
-
|
|
17633
|
-
|
|
17634
|
-
|
|
17635
|
-
|
|
17636
|
-
|
|
17637
|
-
|
|
17638
|
-
|
|
17639
|
-
|
|
17640
|
-
clientSize = container === document.body ? document.documentElement.clientWidth : container.clientWidth;
|
|
17641
|
-
reachEnd = clientSize + container.scrollLeft >= container.scrollWidth;
|
|
17642
|
-
if (targetLocation > container.scrollLeft && reachEnd) return resolve(targetLocation);
|
|
17672
|
+
const progress = timeElapsed / options.duration;
|
|
17673
|
+
const location = Math.floor(startLocation + (targetLocation - startLocation) * ease(Math.max(progress, 1)));
|
|
17674
|
+
container[property] = location;
|
|
17675
|
+
|
|
17676
|
+
// Allow for some jitter if target time has elapsed
|
|
17677
|
+
if (progress >= 1 && Math.abs(location - container[property]) < 10) {
|
|
17678
|
+
return resolve(targetLocation);
|
|
17679
|
+
} else if (progress > 2) {
|
|
17680
|
+
// The target might not be reachable
|
|
17681
|
+
consoleWarn('Scroll target is not reachable');
|
|
17682
|
+
return resolve(container[property]);
|
|
17643
17683
|
}
|
|
17644
17684
|
requestAnimationFrame(step);
|
|
17645
17685
|
}));
|
|
@@ -20576,12 +20616,13 @@
|
|
|
20576
20616
|
}, [(props.showAdjacentMonths || !item.isAdjacent) && vue.createVNode(VDefaultsProvider, {
|
|
20577
20617
|
"defaults": {
|
|
20578
20618
|
VBtn: {
|
|
20619
|
+
class: 'v-date-picker-month__day-btn',
|
|
20579
20620
|
color: (item.isSelected || item.isToday) && !item.isDisabled ? props.color : undefined,
|
|
20580
20621
|
disabled: item.isDisabled,
|
|
20581
20622
|
icon: true,
|
|
20582
20623
|
ripple: false,
|
|
20583
20624
|
text: item.localized,
|
|
20584
|
-
variant: item.isDisabled ? 'text' : item.isToday && !item.isSelected ? 'outlined' : 'flat',
|
|
20625
|
+
variant: item.isDisabled ? item.isToday ? 'outlined' : 'text' : item.isToday && !item.isSelected ? 'outlined' : 'flat',
|
|
20585
20626
|
onClick: () => onClick(item.date)
|
|
20586
20627
|
}
|
|
20587
20628
|
}
|
|
@@ -20607,6 +20648,7 @@
|
|
|
20607
20648
|
},
|
|
20608
20649
|
setup(props, _ref) {
|
|
20609
20650
|
let {
|
|
20651
|
+
emit,
|
|
20610
20652
|
slots
|
|
20611
20653
|
} = _ref;
|
|
20612
20654
|
const adapter = useDate();
|
|
@@ -20642,6 +20684,10 @@
|
|
|
20642
20684
|
onClick: () => onClick(i)
|
|
20643
20685
|
};
|
|
20644
20686
|
function onClick(i) {
|
|
20687
|
+
if (model.value === i) {
|
|
20688
|
+
emit('update:modelValue', model.value);
|
|
20689
|
+
return;
|
|
20690
|
+
}
|
|
20645
20691
|
model.value = i;
|
|
20646
20692
|
}
|
|
20647
20693
|
return slots.month?.({
|
|
@@ -20650,9 +20696,7 @@
|
|
|
20650
20696
|
props: btnProps
|
|
20651
20697
|
}) ?? vue.createVNode(VBtn, vue.mergeProps({
|
|
20652
20698
|
"key": "month"
|
|
20653
|
-
}, btnProps,
|
|
20654
|
-
"onClick": () => onClick(i)
|
|
20655
|
-
}), null);
|
|
20699
|
+
}, btnProps), null);
|
|
20656
20700
|
})])]));
|
|
20657
20701
|
return {};
|
|
20658
20702
|
}
|
|
@@ -20677,6 +20721,7 @@
|
|
|
20677
20721
|
},
|
|
20678
20722
|
setup(props, _ref) {
|
|
20679
20723
|
let {
|
|
20724
|
+
emit,
|
|
20680
20725
|
slots
|
|
20681
20726
|
} = _ref;
|
|
20682
20727
|
const adapter = useDate();
|
|
@@ -20727,7 +20772,13 @@
|
|
|
20727
20772
|
rounded: true,
|
|
20728
20773
|
text: year.text,
|
|
20729
20774
|
variant: model.value === year.value ? 'flat' : 'text',
|
|
20730
|
-
onClick: () =>
|
|
20775
|
+
onClick: () => {
|
|
20776
|
+
if (model.value === year.value) {
|
|
20777
|
+
emit('update:modelValue', model.value);
|
|
20778
|
+
return;
|
|
20779
|
+
}
|
|
20780
|
+
model.value = year.value;
|
|
20781
|
+
}
|
|
20731
20782
|
};
|
|
20732
20783
|
return slots.year?.({
|
|
20733
20784
|
year,
|
|
@@ -20877,7 +20928,7 @@
|
|
|
20877
20928
|
return props.multiple && model.value.length > 1 ? t('$vuetify.datePicker.itemsSelected', model.value.length) : model.value[0] && adapter.isValid(model.value[0]) ? adapter.format(model.value[0], 'normalDateWithWeekday') : t(props.header);
|
|
20878
20929
|
});
|
|
20879
20930
|
const text = vue.computed(() => {
|
|
20880
|
-
return adapter.format(adapter.
|
|
20931
|
+
return adapter.format(adapter.date(new Date(year.value, month.value, 1)), 'monthAndYear');
|
|
20881
20932
|
});
|
|
20882
20933
|
// const headerIcon = computed(() => props.inputMode === 'calendar' ? props.keyboardIcon : props.calendarIcon)
|
|
20883
20934
|
const headerTransition = vue.computed(() => `date-picker-header${isReversing.value ? '-reverse' : ''}-transition`);
|
|
@@ -20920,7 +20971,9 @@
|
|
|
20920
20971
|
} else {
|
|
20921
20972
|
year.value++;
|
|
20922
20973
|
month.value = 0;
|
|
20974
|
+
onUpdateYear(year.value);
|
|
20923
20975
|
}
|
|
20976
|
+
onUpdateMonth(month.value);
|
|
20924
20977
|
}
|
|
20925
20978
|
function onClickPrev() {
|
|
20926
20979
|
if (month.value > 0) {
|
|
@@ -20928,7 +20981,9 @@
|
|
|
20928
20981
|
} else {
|
|
20929
20982
|
year.value--;
|
|
20930
20983
|
month.value = 11;
|
|
20984
|
+
onUpdateYear(year.value);
|
|
20931
20985
|
}
|
|
20986
|
+
onUpdateMonth(month.value);
|
|
20932
20987
|
}
|
|
20933
20988
|
function onClickDate() {
|
|
20934
20989
|
viewMode.value = 'month';
|
|
@@ -20939,14 +20994,14 @@
|
|
|
20939
20994
|
function onClickYear() {
|
|
20940
20995
|
viewMode.value = viewMode.value === 'year' ? 'month' : 'year';
|
|
20941
20996
|
}
|
|
20942
|
-
|
|
20997
|
+
function onUpdateMonth(value) {
|
|
20943
20998
|
if (viewMode.value === 'months') onClickMonth();
|
|
20944
|
-
emit('update:month',
|
|
20945
|
-
}
|
|
20946
|
-
|
|
20999
|
+
emit('update:month', value);
|
|
21000
|
+
}
|
|
21001
|
+
function onUpdateYear(value) {
|
|
20947
21002
|
if (viewMode.value === 'year') onClickYear();
|
|
20948
|
-
emit('update:year',
|
|
20949
|
-
}
|
|
21003
|
+
emit('update:year', value);
|
|
21004
|
+
}
|
|
20950
21005
|
vue.watch(model, (val, oldVal) => {
|
|
20951
21006
|
const before = adapter.date(wrapInArray(val)[0]);
|
|
20952
21007
|
const after = adapter.date(wrapInArray(oldVal)[0]);
|
|
@@ -21002,14 +21057,14 @@
|
|
|
21002
21057
|
"key": "date-picker-months"
|
|
21003
21058
|
}, datePickerMonthsProps, {
|
|
21004
21059
|
"modelValue": month.value,
|
|
21005
|
-
"onUpdate:modelValue": $event => month.value = $event,
|
|
21060
|
+
"onUpdate:modelValue": [$event => month.value = $event, onUpdateMonth],
|
|
21006
21061
|
"min": minDate.value,
|
|
21007
21062
|
"max": maxDate.value
|
|
21008
21063
|
}), null) : viewMode.value === 'year' ? vue.createVNode(VDatePickerYears, vue.mergeProps({
|
|
21009
21064
|
"key": "date-picker-years"
|
|
21010
21065
|
}, datePickerYearsProps, {
|
|
21011
21066
|
"modelValue": year.value,
|
|
21012
|
-
"onUpdate:modelValue": $event => year.value = $event,
|
|
21067
|
+
"onUpdate:modelValue": [$event => year.value = $event, onUpdateYear],
|
|
21013
21068
|
"min": minDate.value,
|
|
21014
21069
|
"max": maxDate.value
|
|
21015
21070
|
}), null) : vue.createVNode(VDatePickerMonth, vue.mergeProps({
|
|
@@ -21018,9 +21073,9 @@
|
|
|
21018
21073
|
"modelValue": model.value,
|
|
21019
21074
|
"onUpdate:modelValue": $event => model.value = $event,
|
|
21020
21075
|
"month": month.value,
|
|
21021
|
-
"onUpdate:month": $event => month.value = $event,
|
|
21076
|
+
"onUpdate:month": [$event => month.value = $event, onUpdateMonth],
|
|
21022
21077
|
"year": year.value,
|
|
21023
|
-
"onUpdate:year": $event => year.value = $event,
|
|
21078
|
+
"onUpdate:year": [$event => year.value = $event, onUpdateYear],
|
|
21024
21079
|
"min": minDate.value,
|
|
21025
21080
|
"max": maxDate.value
|
|
21026
21081
|
}), null)]
|
|
@@ -21038,7 +21093,9 @@
|
|
|
21038
21093
|
const allowedVariants = ['default', 'accordion', 'inset', 'popout'];
|
|
21039
21094
|
const makeVExpansionPanelsProps = propsFactory({
|
|
21040
21095
|
color: String,
|
|
21096
|
+
flat: Boolean,
|
|
21041
21097
|
static: Boolean,
|
|
21098
|
+
tile: Boolean,
|
|
21042
21099
|
variant: {
|
|
21043
21100
|
type: String,
|
|
21044
21101
|
default: 'default',
|
|
@@ -21068,12 +21125,17 @@
|
|
|
21068
21125
|
provideDefaults({
|
|
21069
21126
|
VExpansionPanel: {
|
|
21070
21127
|
color: vue.toRef(props, 'color'),
|
|
21071
|
-
readonly: vue.toRef(props, 'readonly')
|
|
21128
|
+
readonly: vue.toRef(props, 'readonly')
|
|
21129
|
+
},
|
|
21130
|
+
VExpansionPanelTitle: {
|
|
21072
21131
|
static: vue.toRef(props, 'static')
|
|
21073
21132
|
}
|
|
21074
21133
|
});
|
|
21075
21134
|
useRender(() => vue.createVNode(props.tag, {
|
|
21076
|
-
"class": ['v-expansion-panels',
|
|
21135
|
+
"class": ['v-expansion-panels', {
|
|
21136
|
+
'v-expansion-panels--flat': props.flat,
|
|
21137
|
+
'v-expansion-panels--tile': props.tile
|
|
21138
|
+
}, themeClasses.value, variantClass.value, props.class],
|
|
21077
21139
|
"style": props.style
|
|
21078
21140
|
}, slots));
|
|
21079
21141
|
return {};
|
|
@@ -21357,7 +21419,7 @@
|
|
|
21357
21419
|
if (!isFocused.value) focus();
|
|
21358
21420
|
}
|
|
21359
21421
|
function onClickPrepend(e) {
|
|
21360
|
-
|
|
21422
|
+
inputRef.value?.click();
|
|
21361
21423
|
}
|
|
21362
21424
|
function onControlMousedown(e) {
|
|
21363
21425
|
emit('mousedown:control', e);
|
|
@@ -23811,12 +23873,11 @@
|
|
|
23811
23873
|
"scrollStrategy": "none",
|
|
23812
23874
|
"_disableGlobalStack": true
|
|
23813
23875
|
}, scopeId), {
|
|
23814
|
-
default: () => [genOverlays(false, 'v-snackbar'), props.timer && vue.createVNode("div", {
|
|
23876
|
+
default: () => [genOverlays(false, 'v-snackbar'), props.timer && !isHovering.value && vue.createVNode("div", {
|
|
23815
23877
|
"key": "timer",
|
|
23816
23878
|
"class": "v-snackbar__timer"
|
|
23817
23879
|
}, [vue.createVNode(VProgressLinear, {
|
|
23818
23880
|
"ref": timerRef,
|
|
23819
|
-
"active": !isHovering.value,
|
|
23820
23881
|
"color": typeof props.timer === 'string' ? props.timer : 'info',
|
|
23821
23882
|
"max": props.timeout,
|
|
23822
23883
|
"model-value": countdown.time.value
|
|
@@ -25666,7 +25727,7 @@
|
|
|
25666
25727
|
goTo
|
|
25667
25728
|
};
|
|
25668
25729
|
}
|
|
25669
|
-
const version$1 = "3.5.
|
|
25730
|
+
const version$1 = "3.5.5";
|
|
25670
25731
|
createVuetify$1.version = version$1;
|
|
25671
25732
|
|
|
25672
25733
|
// Vue's inject() can only be used in setup
|
|
@@ -25691,7 +25752,7 @@
|
|
|
25691
25752
|
...options
|
|
25692
25753
|
});
|
|
25693
25754
|
};
|
|
25694
|
-
const version = "3.5.
|
|
25755
|
+
const version = "3.5.5";
|
|
25695
25756
|
createVuetify.version = version;
|
|
25696
25757
|
|
|
25697
25758
|
exports.components = components;
|