@vuetify/nightly 3.6.3-master.2024-05-06 → 3.6.4-master.2024-05-08
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 +2 -11
- package/dist/json/attributes.json +178 -38
- package/dist/json/importMap-labs.json +16 -16
- package/dist/json/importMap.json +96 -96
- package/dist/json/tags.json +36 -1
- package/dist/json/web-types.json +495 -85
- package/dist/vuetify-labs.css +5373 -5349
- package/dist/vuetify-labs.d.ts +1626 -1283
- package/dist/vuetify-labs.esm.js +150 -147
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +149 -146
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +2102 -2082
- package/dist/vuetify.d.ts +1195 -1208
- package/dist/vuetify.esm.js +97 -72
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +96 -71
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +981 -977
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.mjs +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
- package/lib/components/VAutocomplete/index.d.mts +187 -158
- package/lib/components/VBottomSheet/index.d.mts +42 -42
- package/lib/components/VCarousel/index.d.mts +6 -6
- package/lib/components/VColorPicker/VColorPickerCanvas.mjs +1 -1
- package/lib/components/VColorPicker/VColorPickerCanvas.mjs.map +1 -1
- package/lib/components/VCombobox/index.d.mts +187 -158
- package/lib/components/VDataIterator/index.d.mts +1 -1
- package/lib/components/VDataTable/VDataTable.css +1 -1
- package/lib/components/VDataTable/VDataTable.sass +2 -1
- package/lib/components/VDataTable/VDataTableHeaders.mjs +1 -1
- package/lib/components/VDataTable/VDataTableHeaders.mjs.map +1 -1
- package/lib/components/VDataTable/VDataTableVirtual.mjs.map +1 -1
- package/lib/components/VDataTable/composables/select.mjs +2 -1
- package/lib/components/VDataTable/composables/select.mjs.map +1 -1
- package/lib/components/VDataTable/index.d.mts +10 -5
- package/lib/components/VDatePicker/VDatePickerYears.mjs +4 -4
- package/lib/components/VDatePicker/VDatePickerYears.mjs.map +1 -1
- package/lib/components/VDialog/index.d.mts +126 -126
- 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 -9
- package/lib/components/VImg/index.d.mts +6 -6
- package/lib/components/VInfiniteScroll/VInfiniteScroll.mjs +1 -1
- package/lib/components/VInfiniteScroll/VInfiniteScroll.mjs.map +1 -1
- package/lib/components/VList/VList.mjs.map +1 -1
- package/lib/components/VList/VListItem.mjs +3 -2
- package/lib/components/VList/VListItem.mjs.map +1 -1
- package/lib/components/VList/index.d.mts +76 -52
- package/lib/components/VMenu/index.d.mts +126 -126
- package/lib/components/VOverlay/VOverlay.mjs +2 -5
- package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
- package/lib/components/VOverlay/index.d.mts +42 -42
- package/lib/components/VOverlay/useActivator.mjs +5 -5
- package/lib/components/VOverlay/useActivator.mjs.map +1 -1
- package/lib/components/VResponsive/VResponsive.mjs +1 -1
- package/lib/components/VResponsive/VResponsive.mjs.map +1 -1
- package/lib/components/VResponsive/index.d.mts +6 -6
- package/lib/components/VSelect/index.d.mts +187 -158
- package/lib/components/VSheet/VSheet.css +1 -1
- package/lib/components/VSheet/_variables.scss +1 -1
- package/lib/components/VSlideGroup/VSlideGroup.mjs +25 -25
- package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
- package/lib/components/VSlider/VSliderThumb.css +5 -0
- package/lib/components/VSlider/VSliderThumb.sass +3 -0
- package/lib/components/VSlider/VSliderTrack.css +15 -0
- package/lib/components/VSlider/VSliderTrack.sass +9 -0
- package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
- package/lib/components/VSnackbar/index.d.mts +126 -126
- package/lib/components/VSpeedDial/index.d.mts +42 -42
- package/lib/components/VStepper/VStepperWindow.mjs +2 -1
- package/lib/components/VStepper/VStepperWindow.mjs.map +1 -1
- package/lib/components/VStepper/VStepperWindowItem.mjs +2 -1
- package/lib/components/VStepper/VStepperWindowItem.mjs.map +1 -1
- package/lib/components/VTabs/VTabsWindow.mjs +2 -1
- package/lib/components/VTabs/VTabsWindow.mjs.map +1 -1
- package/lib/components/VTooltip/index.d.mts +126 -126
- package/lib/components/VVirtualScroll/VVirtualScrollItem.mjs.map +1 -1
- package/lib/components/index.d.mts +1162 -1175
- package/lib/composables/component.mjs +1 -1
- package/lib/composables/component.mjs.map +1 -1
- package/lib/composables/nested/activeStrategies.mjs +16 -10
- package/lib/composables/nested/activeStrategies.mjs.map +1 -1
- package/lib/composables/nested/nested.mjs +7 -5
- package/lib/composables/nested/nested.mjs.map +1 -1
- package/lib/composables/resizeObserver.mjs +5 -5
- package/lib/composables/resizeObserver.mjs.map +1 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/index.d.mts +33 -33
- package/lib/labs/VCalendar/VCalendar.css +5 -1
- package/lib/labs/VCalendar/VCalendar.sass +3 -2
- package/lib/labs/VCalendar/_variables.scss +8 -0
- package/lib/labs/VNumberInput/VNumberInput.mjs +57 -81
- package/lib/labs/VNumberInput/VNumberInput.mjs.map +1 -1
- package/lib/labs/VNumberInput/index.d.mts +402 -34
- package/lib/labs/VSnackbarQueue/index.d.mts +138 -138
- package/lib/labs/VTreeview/VTreeview.mjs.map +1 -1
- package/lib/labs/VTreeview/index.d.mts +88 -64
- package/lib/labs/components.d.mts +620 -235
- package/lib/util/helpers.mjs +16 -0
- package/lib/util/helpers.mjs.map +1 -1
- package/package.json +2 -2
package/dist/vuetify-labs.esm.js
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
/*!
|
2
|
-
* Vuetify v3.6.
|
2
|
+
* Vuetify v3.6.4-master.2024-05-08
|
3
3
|
* Forged by John Leider
|
4
4
|
* Released under the MIT License.
|
5
5
|
*/
|
6
6
|
|
7
|
-
import { Fragment, reactive, computed, watchEffect, toRefs, capitalize, isVNode, Comment,
|
7
|
+
import { shallowRef, Fragment, reactive, computed, watchEffect, toRefs, capitalize, isVNode, Comment, readonly, unref, warn, ref, provide, inject as inject$1, defineComponent as defineComponent$1, camelize, h, getCurrentInstance as getCurrentInstance$1, onBeforeUnmount, watch, nextTick, onDeactivated, onActivated, onScopeDispose, effectScope, toRaw, createVNode, Suspense, TransitionGroup, Transition, mergeProps, isRef, toRef, onBeforeMount, withDirectives, resolveDirective, vShow, onMounted, onUpdated, Text, resolveDynamicComponent, markRaw, Teleport, cloneVNode, createTextVNode, onUnmounted, onBeforeUpdate, withModifiers, toDisplayString, vModelText, resolveComponent, render } from 'vue';
|
8
8
|
|
9
9
|
// Types
|
10
10
|
// eslint-disable-line vue/prefer-import-from-vue
|
@@ -70,7 +70,7 @@ function propsFactory(props, source) {
|
|
70
70
|
|
71
71
|
// Composables
|
72
72
|
const makeComponentProps = propsFactory({
|
73
|
-
class: [String, Array],
|
73
|
+
class: [String, Array, Object],
|
74
74
|
style: {
|
75
75
|
type: [String, Array, Object],
|
76
76
|
default: null
|
@@ -557,6 +557,22 @@ function isClickInsideElement(event, targetDiv) {
|
|
557
557
|
const divBottom = divRect.bottom;
|
558
558
|
return mouseX >= divLeft && mouseX <= divRight && mouseY >= divTop && mouseY <= divBottom;
|
559
559
|
}
|
560
|
+
function templateRef() {
|
561
|
+
const el = shallowRef();
|
562
|
+
const fn = target => {
|
563
|
+
el.value = target;
|
564
|
+
};
|
565
|
+
Object.defineProperty(fn, 'value', {
|
566
|
+
enumerable: true,
|
567
|
+
get: () => el.value,
|
568
|
+
set: val => el.value = val
|
569
|
+
});
|
570
|
+
Object.defineProperty(fn, 'el', {
|
571
|
+
enumerable: true,
|
572
|
+
get: () => refElement(el.value)
|
573
|
+
});
|
574
|
+
return fn;
|
575
|
+
}
|
560
576
|
|
561
577
|
// Utilities
|
562
578
|
const block = ['top', 'bottom'];
|
@@ -1565,7 +1581,7 @@ function useRender(render) {
|
|
1565
1581
|
|
1566
1582
|
function useResizeObserver(callback) {
|
1567
1583
|
let box = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'content';
|
1568
|
-
const resizeRef =
|
1584
|
+
const resizeRef = templateRef();
|
1569
1585
|
const contentRect = ref();
|
1570
1586
|
if (IN_BROWSER) {
|
1571
1587
|
const observer = new ResizeObserver(entries => {
|
@@ -1580,12 +1596,12 @@ function useResizeObserver(callback) {
|
|
1580
1596
|
onBeforeUnmount(() => {
|
1581
1597
|
observer.disconnect();
|
1582
1598
|
});
|
1583
|
-
watch(resizeRef, (newValue, oldValue) => {
|
1599
|
+
watch(() => resizeRef.el, (newValue, oldValue) => {
|
1584
1600
|
if (oldValue) {
|
1585
|
-
observer.unobserve(
|
1601
|
+
observer.unobserve(oldValue);
|
1586
1602
|
contentRect.value = undefined;
|
1587
1603
|
}
|
1588
|
-
if (newValue) observer.observe(
|
1604
|
+
if (newValue) observer.observe(newValue);
|
1589
1605
|
}, {
|
1590
1606
|
flush: 'post'
|
1591
1607
|
});
|
@@ -3001,7 +3017,7 @@ function useAspectStyles(props) {
|
|
3001
3017
|
}
|
3002
3018
|
const makeVResponsiveProps = propsFactory({
|
3003
3019
|
aspectRatio: [String, Number],
|
3004
|
-
contentClass:
|
3020
|
+
contentClass: null,
|
3005
3021
|
inline: Boolean,
|
3006
3022
|
...makeComponentProps(),
|
3007
3023
|
...makeDimensionProps()
|
@@ -7384,7 +7400,7 @@ const VSlideGroup = genericComponent()({
|
|
7384
7400
|
const goTo = useGoTo();
|
7385
7401
|
const goToOptions = computed(() => {
|
7386
7402
|
return {
|
7387
|
-
container: containerRef.
|
7403
|
+
container: containerRef.el,
|
7388
7404
|
duration: 200,
|
7389
7405
|
easing: 'easeOutQuart'
|
7390
7406
|
};
|
@@ -7408,9 +7424,9 @@ const VSlideGroup = genericComponent()({
|
|
7408
7424
|
contentSize.value = contentRect.value[sizeProperty];
|
7409
7425
|
isOverflowing.value = containerSize.value + 1 < contentSize.value;
|
7410
7426
|
}
|
7411
|
-
if (firstSelectedIndex.value >= 0 && contentRef.
|
7427
|
+
if (firstSelectedIndex.value >= 0 && contentRef.el) {
|
7412
7428
|
// TODO: Is this too naive? Should we store element references in group composable?
|
7413
|
-
const selectedElement = contentRef.
|
7429
|
+
const selectedElement = contentRef.el.children[lastSelectedIndex.value];
|
7414
7430
|
scrollToChildren(selectedElement, props.centerActive);
|
7415
7431
|
}
|
7416
7432
|
});
|
@@ -7421,13 +7437,13 @@ const VSlideGroup = genericComponent()({
|
|
7421
7437
|
let target = 0;
|
7422
7438
|
if (center) {
|
7423
7439
|
target = calculateCenteredTarget({
|
7424
|
-
containerElement: containerRef.
|
7440
|
+
containerElement: containerRef.el,
|
7425
7441
|
isHorizontal: isHorizontal.value,
|
7426
7442
|
selectedElement: children
|
7427
7443
|
});
|
7428
7444
|
} else {
|
7429
7445
|
target = calculateUpdatedTarget({
|
7430
|
-
containerElement: containerRef.
|
7446
|
+
containerElement: containerRef.el,
|
7431
7447
|
isHorizontal: isHorizontal.value,
|
7432
7448
|
isRtl: isRtl.value,
|
7433
7449
|
selectedElement: children
|
@@ -7436,18 +7452,18 @@ const VSlideGroup = genericComponent()({
|
|
7436
7452
|
scrollToPosition(target);
|
7437
7453
|
}
|
7438
7454
|
function scrollToPosition(newPosition) {
|
7439
|
-
if (!IN_BROWSER || !containerRef.
|
7440
|
-
const offsetSize = getOffsetSize(isHorizontal.value, containerRef.
|
7441
|
-
const scrollPosition = getScrollPosition(isHorizontal.value, isRtl.value, containerRef.
|
7442
|
-
const scrollSize = getScrollSize(isHorizontal.value, containerRef.
|
7455
|
+
if (!IN_BROWSER || !containerRef.el) return;
|
7456
|
+
const offsetSize = getOffsetSize(isHorizontal.value, containerRef.el);
|
7457
|
+
const scrollPosition = getScrollPosition(isHorizontal.value, isRtl.value, containerRef.el);
|
7458
|
+
const scrollSize = getScrollSize(isHorizontal.value, containerRef.el);
|
7443
7459
|
if (scrollSize <= offsetSize ||
|
7444
7460
|
// Prevent scrolling by only a couple of pixels, which doesn't look smooth
|
7445
7461
|
Math.abs(newPosition - scrollPosition) < 16) return;
|
7446
|
-
if (isHorizontal.value && isRtl.value && containerRef.
|
7462
|
+
if (isHorizontal.value && isRtl.value && containerRef.el) {
|
7447
7463
|
const {
|
7448
7464
|
scrollWidth,
|
7449
7465
|
offsetWidth: containerWidth
|
7450
|
-
} = containerRef.
|
7466
|
+
} = containerRef.el;
|
7451
7467
|
newPosition = scrollWidth - containerWidth - newPosition;
|
7452
7468
|
}
|
7453
7469
|
if (isHorizontal.value) {
|
@@ -7465,12 +7481,12 @@ const VSlideGroup = genericComponent()({
|
|
7465
7481
|
}
|
7466
7482
|
function onFocusin(e) {
|
7467
7483
|
isFocused.value = true;
|
7468
|
-
if (!isOverflowing.value || !contentRef.
|
7484
|
+
if (!isOverflowing.value || !contentRef.el) return;
|
7469
7485
|
|
7470
7486
|
// Focused element is likely to be the root of an item, so a
|
7471
7487
|
// breadth-first search will probably find it in the first iteration
|
7472
7488
|
for (const el of e.composedPath()) {
|
7473
|
-
for (const item of contentRef.
|
7489
|
+
for (const item of contentRef.el.children) {
|
7474
7490
|
if (item === el) {
|
7475
7491
|
scrollToChildren(item);
|
7476
7492
|
return;
|
@@ -7485,14 +7501,14 @@ const VSlideGroup = genericComponent()({
|
|
7485
7501
|
// Affix clicks produce onFocus that we have to ignore to avoid extra scrollToChildren
|
7486
7502
|
let ignoreFocusEvent = false;
|
7487
7503
|
function onFocus(e) {
|
7488
|
-
if (!ignoreFocusEvent && !isFocused.value && !(e.relatedTarget && contentRef.
|
7504
|
+
if (!ignoreFocusEvent && !isFocused.value && !(e.relatedTarget && contentRef.el?.contains(e.relatedTarget))) focus();
|
7489
7505
|
ignoreFocusEvent = false;
|
7490
7506
|
}
|
7491
7507
|
function onFocusAffixes() {
|
7492
7508
|
ignoreFocusEvent = true;
|
7493
7509
|
}
|
7494
7510
|
function onKeydown(e) {
|
7495
|
-
if (!contentRef.
|
7511
|
+
if (!contentRef.el) return;
|
7496
7512
|
function toFocus(location) {
|
7497
7513
|
e.preventDefault();
|
7498
7514
|
focus(location);
|
@@ -7517,21 +7533,21 @@ const VSlideGroup = genericComponent()({
|
|
7517
7533
|
}
|
7518
7534
|
}
|
7519
7535
|
function focus(location) {
|
7520
|
-
if (!contentRef.
|
7536
|
+
if (!contentRef.el) return;
|
7521
7537
|
let el;
|
7522
7538
|
if (!location) {
|
7523
|
-
const focusable = focusableChildren(contentRef.
|
7539
|
+
const focusable = focusableChildren(contentRef.el);
|
7524
7540
|
el = focusable[0];
|
7525
7541
|
} else if (location === 'next') {
|
7526
|
-
el = contentRef.
|
7542
|
+
el = contentRef.el.querySelector(':focus')?.nextElementSibling;
|
7527
7543
|
if (!el) return focus('first');
|
7528
7544
|
} else if (location === 'prev') {
|
7529
|
-
el = contentRef.
|
7545
|
+
el = contentRef.el.querySelector(':focus')?.previousElementSibling;
|
7530
7546
|
if (!el) return focus('last');
|
7531
7547
|
} else if (location === 'first') {
|
7532
|
-
el = contentRef.
|
7548
|
+
el = contentRef.el.firstElementChild;
|
7533
7549
|
} else if (location === 'last') {
|
7534
|
-
el = contentRef.
|
7550
|
+
el = contentRef.el.lastElementChild;
|
7535
7551
|
}
|
7536
7552
|
if (el) {
|
7537
7553
|
el.focus({
|
@@ -7545,11 +7561,11 @@ const VSlideGroup = genericComponent()({
|
|
7545
7561
|
let newPosition = scrollOffset.value + offsetStep;
|
7546
7562
|
|
7547
7563
|
// TODO: improve it
|
7548
|
-
if (isHorizontal.value && isRtl.value && containerRef.
|
7564
|
+
if (isHorizontal.value && isRtl.value && containerRef.el) {
|
7549
7565
|
const {
|
7550
7566
|
scrollWidth,
|
7551
7567
|
offsetWidth: containerWidth
|
7552
|
-
} = containerRef.
|
7568
|
+
} = containerRef.el;
|
7553
7569
|
newPosition += scrollWidth - containerWidth;
|
7554
7570
|
}
|
7555
7571
|
scrollToPosition(newPosition);
|
@@ -7592,8 +7608,8 @@ const VSlideGroup = genericComponent()({
|
|
7592
7608
|
});
|
7593
7609
|
const hasNext = computed(() => {
|
7594
7610
|
if (!containerRef.value) return false;
|
7595
|
-
const scrollSize = getScrollSize(isHorizontal.value, containerRef.
|
7596
|
-
const clientSize = getClientSize(isHorizontal.value, containerRef.
|
7611
|
+
const scrollSize = getScrollSize(isHorizontal.value, containerRef.el);
|
7612
|
+
const clientSize = getClientSize(isHorizontal.value, containerRef.el);
|
7597
7613
|
const scrollSizeMax = scrollSize - clientSize;
|
7598
7614
|
|
7599
7615
|
// 1 pixel in reserve, may be lost after rounding
|
@@ -8017,14 +8033,16 @@ const independentActiveStrategy = mandatory => {
|
|
8017
8033
|
},
|
8018
8034
|
in: (v, children, parents) => {
|
8019
8035
|
let set = new Set();
|
8020
|
-
|
8021
|
-
|
8022
|
-
|
8023
|
-
|
8024
|
-
|
8025
|
-
|
8026
|
-
|
8027
|
-
|
8036
|
+
if (v != null) {
|
8037
|
+
for (const id of wrapInArray(v)) {
|
8038
|
+
set = strategy.activate({
|
8039
|
+
id,
|
8040
|
+
value: true,
|
8041
|
+
activated: new Set(set),
|
8042
|
+
children,
|
8043
|
+
parents
|
8044
|
+
});
|
8045
|
+
}
|
8028
8046
|
}
|
8029
8047
|
return set;
|
8030
8048
|
},
|
@@ -8053,8 +8071,11 @@ const independentSingleActiveStrategy = mandatory => {
|
|
8053
8071
|
},
|
8054
8072
|
in: (v, children, parents) => {
|
8055
8073
|
let set = new Set();
|
8056
|
-
if (v
|
8057
|
-
|
8074
|
+
if (v != null) {
|
8075
|
+
const arr = wrapInArray(v);
|
8076
|
+
if (arr.length) {
|
8077
|
+
set = parentStrategy.in(arr.slice(0, 1), children, parents);
|
8078
|
+
}
|
8058
8079
|
}
|
8059
8080
|
return set;
|
8060
8081
|
},
|
@@ -8398,12 +8419,12 @@ const emptyNested = {
|
|
8398
8419
|
const makeNestedProps = propsFactory({
|
8399
8420
|
activatable: Boolean,
|
8400
8421
|
selectable: Boolean,
|
8401
|
-
activeStrategy: [String, Function],
|
8402
|
-
selectStrategy: [String, Function],
|
8422
|
+
activeStrategy: [String, Function, Object],
|
8423
|
+
selectStrategy: [String, Function, Object],
|
8403
8424
|
openStrategy: [String, Object],
|
8404
|
-
opened:
|
8405
|
-
activated:
|
8406
|
-
selected:
|
8425
|
+
opened: null,
|
8426
|
+
activated: null,
|
8427
|
+
selected: null,
|
8407
8428
|
mandatory: Boolean
|
8408
8429
|
}, 'nested');
|
8409
8430
|
const useNested = props => {
|
@@ -8413,6 +8434,7 @@ const useNested = props => {
|
|
8413
8434
|
const opened = useProxiedModel(props, 'opened', props.opened, v => new Set(v), v => [...v.values()]);
|
8414
8435
|
const activeStrategy = computed(() => {
|
8415
8436
|
if (typeof props.activeStrategy === 'object') return props.activeStrategy;
|
8437
|
+
if (typeof props.activeStrategy === 'function') return props.activeStrategy(props.mandatory);
|
8416
8438
|
switch (props.activeStrategy) {
|
8417
8439
|
case 'leaf':
|
8418
8440
|
return leafActiveStrategy(props.mandatory);
|
@@ -8427,6 +8449,7 @@ const useNested = props => {
|
|
8427
8449
|
});
|
8428
8450
|
const selectStrategy = computed(() => {
|
8429
8451
|
if (typeof props.selectStrategy === 'object') return props.selectStrategy;
|
8452
|
+
if (typeof props.selectStrategy === 'function') return props.selectStrategy(props.mandatory);
|
8430
8453
|
switch (props.selectStrategy) {
|
8431
8454
|
case 'single-leaf':
|
8432
8455
|
return leafSingleSelectStrategy(props.mandatory);
|
@@ -8755,7 +8778,7 @@ const makeVListItemProps = propsFactory({
|
|
8755
8778
|
appendIcon: IconValue,
|
8756
8779
|
baseColor: String,
|
8757
8780
|
disabled: Boolean,
|
8758
|
-
lines: String,
|
8781
|
+
lines: [Boolean, String],
|
8759
8782
|
link: {
|
8760
8783
|
type: Boolean,
|
8761
8784
|
default: undefined
|
@@ -8866,8 +8889,9 @@ const VListItem = genericComponent()({
|
|
8866
8889
|
}));
|
8867
8890
|
function onClick(e) {
|
8868
8891
|
emit('click', e);
|
8869
|
-
if (
|
8892
|
+
if (!isClickable.value) return;
|
8870
8893
|
link.navigate?.(e);
|
8894
|
+
if (isGroupActivator) return;
|
8871
8895
|
if (root.activatable.value) {
|
8872
8896
|
activate(!isActivated.value, e);
|
8873
8897
|
} else if (root.selectable.value) {
|
@@ -10326,17 +10350,17 @@ function useActivator(props, _ref) {
|
|
10326
10350
|
}, {
|
10327
10351
|
flush: 'post'
|
10328
10352
|
});
|
10329
|
-
const activatorRef =
|
10353
|
+
const activatorRef = templateRef();
|
10330
10354
|
watchEffect(() => {
|
10331
10355
|
if (!activatorRef.value) return;
|
10332
10356
|
nextTick(() => {
|
10333
|
-
activatorEl.value =
|
10357
|
+
activatorEl.value = activatorRef.el;
|
10334
10358
|
});
|
10335
10359
|
});
|
10336
|
-
const targetRef =
|
10360
|
+
const targetRef = templateRef();
|
10337
10361
|
const target = computed(() => {
|
10338
10362
|
if (props.target === 'cursor' && cursorTarget.value) return cursorTarget.value;
|
10339
|
-
if (targetRef.value) return
|
10363
|
+
if (targetRef.value) return targetRef.el;
|
10340
10364
|
return getTarget(props.target, vm) || activatorEl.value;
|
10341
10365
|
});
|
10342
10366
|
const targetEl = computed(() => {
|
@@ -10681,10 +10705,7 @@ const makeVOverlayProps = propsFactory({
|
|
10681
10705
|
disabled: Boolean,
|
10682
10706
|
opacity: [Number, String],
|
10683
10707
|
noClickAnimation: Boolean,
|
10684
|
-
modelValue:
|
10685
|
-
type: Boolean,
|
10686
|
-
default: null
|
10687
|
-
},
|
10708
|
+
modelValue: Boolean,
|
10688
10709
|
persistent: Boolean,
|
10689
10710
|
scrim: {
|
10690
10711
|
type: [Boolean, String],
|
@@ -10727,7 +10748,7 @@ const VOverlay = genericComponent()({
|
|
10727
10748
|
} = _ref;
|
10728
10749
|
const model = useProxiedModel(props, 'modelValue');
|
10729
10750
|
const isActive = computed({
|
10730
|
-
get: () =>
|
10751
|
+
get: () => model.value,
|
10731
10752
|
set: v => {
|
10732
10753
|
if (!(v && props.disabled)) model.value = v;
|
10733
10754
|
}
|
@@ -12964,7 +12985,7 @@ const VAutocomplete = genericComponent()({
|
|
12964
12985
|
select(displayItems.value[0]);
|
12965
12986
|
}
|
12966
12987
|
menu.value = false;
|
12967
|
-
search.value = '';
|
12988
|
+
if (props.multiple || hasSelectionSlot.value) search.value = '';
|
12968
12989
|
selectionIndex.value = -1;
|
12969
12990
|
}
|
12970
12991
|
});
|
@@ -14808,7 +14829,7 @@ const VColorPickerCanvas = defineComponent({
|
|
14808
14829
|
const {
|
14809
14830
|
resizeRef
|
14810
14831
|
} = useResizeObserver(entries => {
|
14811
|
-
if (!resizeRef.
|
14832
|
+
if (!resizeRef.el?.offsetParent) return;
|
14812
14833
|
const {
|
14813
14834
|
width,
|
14814
14835
|
height
|
@@ -18431,6 +18452,7 @@ function provideSelection(props, _ref9) {
|
|
18431
18452
|
});
|
18432
18453
|
return !!items.length && isSelected(items);
|
18433
18454
|
});
|
18455
|
+
const showSelectAll = computed(() => selectStrategy.value.showSelectAll);
|
18434
18456
|
const data = {
|
18435
18457
|
toggleSelect,
|
18436
18458
|
select,
|
@@ -18439,7 +18461,7 @@ function provideSelection(props, _ref9) {
|
|
18439
18461
|
isSomeSelected,
|
18440
18462
|
someSelected,
|
18441
18463
|
allSelected,
|
18442
|
-
showSelectAll
|
18464
|
+
showSelectAll
|
18443
18465
|
};
|
18444
18466
|
provide(VDataTableSelectionSymbol, data);
|
18445
18467
|
return data;
|
@@ -19710,7 +19732,7 @@ const VDataTableHeaders = genericComponent()({
|
|
19710
19732
|
};
|
19711
19733
|
if (slots[columnSlotName]) return slots[columnSlotName](columnSlotProps);
|
19712
19734
|
if (column.key === 'data-table-select') {
|
19713
|
-
return slots['header.data-table-select']?.(columnSlotProps) ?? (showSelectAll && createVNode(VCheckboxBtn, {
|
19735
|
+
return slots['header.data-table-select']?.(columnSlotProps) ?? (showSelectAll.value && createVNode(VCheckboxBtn, {
|
19714
19736
|
"modelValue": allSelected.value,
|
19715
19737
|
"indeterminate": someSelected.value && !allSelected.value,
|
19716
19738
|
"onUpdate:modelValue": selectAll
|
@@ -21679,10 +21701,10 @@ const VDatePickerYears = genericComponent()({
|
|
21679
21701
|
watchEffect(() => {
|
21680
21702
|
model.value = model.value ?? adapter.getYear(adapter.date());
|
21681
21703
|
});
|
21682
|
-
const yearRef =
|
21704
|
+
const yearRef = templateRef();
|
21683
21705
|
onMounted(async () => {
|
21684
21706
|
await nextTick();
|
21685
|
-
yearRef.
|
21707
|
+
yearRef.el?.scrollIntoView({
|
21686
21708
|
block: 'center'
|
21687
21709
|
});
|
21688
21710
|
});
|
@@ -22559,7 +22581,7 @@ const VFileInput = genericComponent()({
|
|
22559
22581
|
const {
|
22560
22582
|
t
|
22561
22583
|
} = useLocale();
|
22562
|
-
const model = useProxiedModel(props, 'modelValue', props.modelValue, val => wrapInArray(val), val => props.multiple || Array.isArray(props.modelValue) ? val : val[0]);
|
22584
|
+
const model = useProxiedModel(props, 'modelValue', props.modelValue, val => wrapInArray(val), val => props.multiple || Array.isArray(props.modelValue) ? val : val[0] ?? null);
|
22563
22585
|
const {
|
22564
22586
|
isFocused,
|
22565
22587
|
focus,
|
@@ -23008,7 +23030,7 @@ const VInfiniteScroll = genericComponent()({
|
|
23008
23030
|
function intersecting(side) {
|
23009
23031
|
if (props.mode !== 'manual' && !isIntersecting.value) return;
|
23010
23032
|
const status = getStatus(side);
|
23011
|
-
if (!rootEl.value ||
|
23033
|
+
if (!rootEl.value || ['empty', 'loading'].includes(status)) return;
|
23012
23034
|
previousScrollSize = getScrollSize();
|
23013
23035
|
setStatus(side, 'loading');
|
23014
23036
|
function done(status) {
|
@@ -25903,7 +25925,8 @@ const VStepperWindow = genericComponent()({
|
|
25903
25925
|
}, windowProps, {
|
25904
25926
|
"modelValue": model.value,
|
25905
25927
|
"onUpdate:modelValue": $event => model.value = $event,
|
25906
|
-
"class":
|
25928
|
+
"class": ['v-stepper-window', props.class],
|
25929
|
+
"style": props.style,
|
25907
25930
|
"mandatory": false,
|
25908
25931
|
"touch": false
|
25909
25932
|
}), slots);
|
@@ -25927,7 +25950,8 @@ const VStepperWindowItem = genericComponent()({
|
|
25927
25950
|
return createVNode(VWindowItem, mergeProps({
|
25928
25951
|
"_as": "VStepperWindowItem"
|
25929
25952
|
}, windowItemProps, {
|
25930
|
-
"class":
|
25953
|
+
"class": ['v-stepper-window-item', props.class],
|
25954
|
+
"style": props.style
|
25931
25955
|
}), slots);
|
25932
25956
|
});
|
25933
25957
|
return {};
|
@@ -26426,7 +26450,8 @@ const VTabsWindow = genericComponent()({
|
|
26426
26450
|
}, windowProps, {
|
26427
26451
|
"modelValue": model.value,
|
26428
26452
|
"onUpdate:modelValue": $event => model.value = $event,
|
26429
|
-
"class":
|
26453
|
+
"class": ['v-tabs-window', props.class],
|
26454
|
+
"style": props.style,
|
26430
26455
|
"mandatory": false,
|
26431
26456
|
"touch": false
|
26432
26457
|
}), slots);
|
@@ -27844,19 +27869,13 @@ const makeVNumberInputProps = propsFactory({
|
|
27844
27869
|
type: Number,
|
27845
27870
|
default: 1
|
27846
27871
|
},
|
27847
|
-
...
|
27848
|
-
...only(makeVFieldProps(), ['baseColor', 'bgColor', 'class', 'color', 'disabled', 'error', 'loading', 'reverse', 'rounded', 'style', 'theme', 'variant']),
|
27849
|
-
...makeFocusProps()
|
27872
|
+
...omit(makeVTextFieldProps(), ['appendInnerIcon', 'prependInnerIcon'])
|
27850
27873
|
}, 'VNumberInput');
|
27851
27874
|
const VNumberInput = genericComponent()({
|
27852
27875
|
name: 'VNumberInput',
|
27853
27876
|
inheritAttrs: false,
|
27854
27877
|
props: {
|
27855
|
-
...makeVNumberInputProps()
|
27856
|
-
modelValue: {
|
27857
|
-
type: Number,
|
27858
|
-
default: undefined
|
27859
|
-
}
|
27878
|
+
...makeVNumberInputProps()
|
27860
27879
|
},
|
27861
27880
|
emits: {
|
27862
27881
|
'update:modelValue': val => true
|
@@ -27868,12 +27887,6 @@ const VNumberInput = genericComponent()({
|
|
27868
27887
|
slots
|
27869
27888
|
} = _ref;
|
27870
27889
|
const model = useProxiedModel(props, 'modelValue');
|
27871
|
-
const {
|
27872
|
-
isFocused,
|
27873
|
-
focus,
|
27874
|
-
blur
|
27875
|
-
} = useFocus(props);
|
27876
|
-
const inputRef = ref();
|
27877
27890
|
const stepDecimals = computed(() => getDecimals(props.step));
|
27878
27891
|
const modelDecimals = computed(() => model.value != null ? getDecimals(model.value) : 0);
|
27879
27892
|
const canIncrease = computed(() => {
|
@@ -27889,9 +27902,6 @@ const VNumberInput = genericComponent()({
|
|
27889
27902
|
model.value = clamp(model.value, props.min, props.max);
|
27890
27903
|
}
|
27891
27904
|
});
|
27892
|
-
function onFocus() {
|
27893
|
-
if (!isFocused.value) focus();
|
27894
|
-
}
|
27895
27905
|
const controlVariant = computed(() => {
|
27896
27906
|
return props.hideInput ? 'stacked' : props.controlVariant;
|
27897
27907
|
});
|
@@ -27921,7 +27931,7 @@ const VNumberInput = genericComponent()({
|
|
27921
27931
|
toggleUpDown(false);
|
27922
27932
|
}
|
27923
27933
|
function onKeydown(e) {
|
27924
|
-
if (['Enter', 'ArrowLeft', 'ArrowRight', 'Backspace'].includes(e.key) || e.ctrlKey) return;
|
27934
|
+
if (['Enter', 'ArrowLeft', 'ArrowRight', 'Backspace', 'Tab'].includes(e.key) || e.ctrlKey) return;
|
27925
27935
|
if (['ArrowDown'].includes(e.key)) {
|
27926
27936
|
e.preventDefault();
|
27927
27937
|
toggleUpDown(false);
|
@@ -27938,17 +27948,14 @@ const VNumberInput = genericComponent()({
|
|
27938
27948
|
e.preventDefault();
|
27939
27949
|
}
|
27940
27950
|
}
|
27941
|
-
function
|
27942
|
-
|
27943
|
-
model.value = el.value ? +el.value : undefined;
|
27951
|
+
function onModelUpdate(v) {
|
27952
|
+
model.value = v ? +v : undefined;
|
27944
27953
|
}
|
27945
27954
|
useRender(() => {
|
27946
|
-
const fieldProps = filterFieldProps(props);
|
27947
|
-
const [rootAttrs, inputAttrs] = filterInputAttrs(attrs);
|
27948
27955
|
const {
|
27949
27956
|
modelValue: _,
|
27950
|
-
...
|
27951
|
-
} =
|
27957
|
+
...textFieldProps
|
27958
|
+
} = VTextField.filterProps(props);
|
27952
27959
|
function controlNode() {
|
27953
27960
|
const defaultHeight = controlVariant.value === 'stacked' ? 'auto' : '100%';
|
27954
27961
|
return createVNode("div", {
|
@@ -27961,6 +27968,7 @@ const VNumberInput = genericComponent()({
|
|
27961
27968
|
"name": "decrement-btn",
|
27962
27969
|
"icon": "$expand",
|
27963
27970
|
"size": "small",
|
27971
|
+
"tabindex": "-1",
|
27964
27972
|
"onClick": onClickDown
|
27965
27973
|
}, null) : createVNode(VDefaultsProvider, {
|
27966
27974
|
"key": "decrement-defaults",
|
@@ -27985,7 +27993,8 @@ const VNumberInput = genericComponent()({
|
|
27985
27993
|
"name": "increment-btn",
|
27986
27994
|
"icon": "$collapse",
|
27987
27995
|
"onClick": onClickUp,
|
27988
|
-
"size": "small"
|
27996
|
+
"size": "small",
|
27997
|
+
"tabindex": "-1"
|
27989
27998
|
}, null) : createVNode(VDefaultsProvider, {
|
27990
27999
|
"key": "increment-defaults",
|
27991
28000
|
"defaults": {
|
@@ -28006,7 +28015,36 @@ const VNumberInput = genericComponent()({
|
|
28006
28015
|
"vertical": true
|
28007
28016
|
}, null) : undefined;
|
28008
28017
|
}
|
28009
|
-
|
28018
|
+
const appendInnerControl = controlVariant.value === 'split' ? createVNode("div", {
|
28019
|
+
"class": "v-number-input__control"
|
28020
|
+
}, [createVNode(VDivider, {
|
28021
|
+
"vertical": true
|
28022
|
+
}, null), createVNode(VBtn, {
|
28023
|
+
"flat": true,
|
28024
|
+
"height": "100%",
|
28025
|
+
"icon": "$plus",
|
28026
|
+
"tile": true,
|
28027
|
+
"tabindex": "-1",
|
28028
|
+
"onClick": onClickUp
|
28029
|
+
}, null)]) : !props.reverse ? createVNode(Fragment, null, [dividerNode(), controlNode()]) : undefined;
|
28030
|
+
const hasAppendInner = slots['append-inner'] || appendInnerControl;
|
28031
|
+
const prependInnerControl = controlVariant.value === 'split' ? createVNode("div", {
|
28032
|
+
"class": "v-number-input__control"
|
28033
|
+
}, [createVNode(VBtn, {
|
28034
|
+
"flat": true,
|
28035
|
+
"height": "100%",
|
28036
|
+
"icon": "$minus",
|
28037
|
+
"tile": true,
|
28038
|
+
"tabindex": "-1",
|
28039
|
+
"onClick": onClickDown
|
28040
|
+
}, null), createVNode(VDivider, {
|
28041
|
+
"vertical": true
|
28042
|
+
}, null)]) : props.reverse ? createVNode(Fragment, null, [controlNode(), dividerNode()]) : undefined;
|
28043
|
+
const hasPrependInner = slots['prepend-inner'] || prependInnerControl;
|
28044
|
+
return createVNode(VTextField, mergeProps({
|
28045
|
+
"modelValue": model.value,
|
28046
|
+
"onUpdate:modelValue": onModelUpdate,
|
28047
|
+
"onKeydown": onKeydown,
|
28010
28048
|
"class": ['v-number-input', {
|
28011
28049
|
'v-number-input--default': controlVariant.value === 'default',
|
28012
28050
|
'v-number-input--hide-input': props.hideInput,
|
@@ -28015,57 +28053,22 @@ const VNumberInput = genericComponent()({
|
|
28015
28053
|
'v-number-input--split': controlVariant.value === 'split',
|
28016
28054
|
'v-number-input--stacked': controlVariant.value === 'stacked'
|
28017
28055
|
}, props.class]
|
28018
|
-
},
|
28019
|
-
"focused": isFocused.value,
|
28056
|
+
}, textFieldProps, {
|
28020
28057
|
"style": props.style
|
28021
28058
|
}), {
|
28022
28059
|
...slots,
|
28023
|
-
|
28024
|
-
|
28025
|
-
|
28026
|
-
|
28027
|
-
...
|
28028
|
-
|
28029
|
-
|
28030
|
-
|
28031
|
-
|
28032
|
-
|
28033
|
-
|
28034
|
-
|
28035
|
-
return createVNode("input", mergeProps({
|
28036
|
-
"ref": inputRef,
|
28037
|
-
"type": "text",
|
28038
|
-
"value": model.value,
|
28039
|
-
"onInput": onInput,
|
28040
|
-
"onKeydown": onKeydown,
|
28041
|
-
"class": fieldClass,
|
28042
|
-
"onFocus": onFocus,
|
28043
|
-
"onBlur": blur
|
28044
|
-
}, inputAttrs), null);
|
28045
|
-
},
|
28046
|
-
'append-inner': controlVariant.value === 'split' ? () => createVNode("div", {
|
28047
|
-
"class": "v-number-input__control"
|
28048
|
-
}, [createVNode(VDivider, {
|
28049
|
-
"vertical": true
|
28050
|
-
}, null), createVNode(VBtn, {
|
28051
|
-
"flat": true,
|
28052
|
-
"height": "100%",
|
28053
|
-
"icon": "$plus",
|
28054
|
-
"tile": true,
|
28055
|
-
"onClick": onClickUp
|
28056
|
-
}, null)]) : !props.reverse ? () => createVNode(Fragment, null, [dividerNode(), controlNode()]) : undefined,
|
28057
|
-
'prepend-inner': controlVariant.value === 'split' ? () => createVNode("div", {
|
28058
|
-
"class": "v-number-input__control"
|
28059
|
-
}, [createVNode(VBtn, {
|
28060
|
-
"flat": true,
|
28061
|
-
"height": "100%",
|
28062
|
-
"icon": "$minus",
|
28063
|
-
"tile": true,
|
28064
|
-
"onClick": onClickDown
|
28065
|
-
}, null), createVNode(VDivider, {
|
28066
|
-
"vertical": true
|
28067
|
-
}, null)]) : props.reverse ? () => createVNode(Fragment, null, [controlNode(), dividerNode()]) : undefined
|
28068
|
-
})
|
28060
|
+
'append-inner': hasAppendInner ? function () {
|
28061
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
28062
|
+
args[_key] = arguments[_key];
|
28063
|
+
}
|
28064
|
+
return createVNode(Fragment, null, [slots['append-inner']?.(...args), appendInnerControl]);
|
28065
|
+
} : undefined,
|
28066
|
+
'prepend-inner': hasPrependInner ? function () {
|
28067
|
+
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
28068
|
+
args[_key2] = arguments[_key2];
|
28069
|
+
}
|
28070
|
+
return createVNode(Fragment, null, [prependInnerControl, slots['prepend-inner']?.(...args)]);
|
28071
|
+
} : undefined
|
28069
28072
|
});
|
28070
28073
|
});
|
28071
28074
|
}
|
@@ -29768,7 +29771,7 @@ function createVuetify$1() {
|
|
29768
29771
|
goTo
|
29769
29772
|
};
|
29770
29773
|
}
|
29771
|
-
const version$1 = "3.6.
|
29774
|
+
const version$1 = "3.6.4-master.2024-05-08";
|
29772
29775
|
createVuetify$1.version = version$1;
|
29773
29776
|
|
29774
29777
|
// Vue's inject() can only be used in setup
|
@@ -30021,7 +30024,7 @@ var index = /*#__PURE__*/Object.freeze({
|
|
30021
30024
|
|
30022
30025
|
/* eslint-disable local-rules/sort-imports */
|
30023
30026
|
|
30024
|
-
const version = "3.6.
|
30027
|
+
const version = "3.6.4-master.2024-05-08";
|
30025
30028
|
|
30026
30029
|
/* eslint-disable local-rules/sort-imports */
|
30027
30030
|
|