@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.js
CHANGED
@@ -1,5 +1,5 @@
|
|
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
|
*/
|
@@ -74,7 +74,7 @@
|
|
74
74
|
|
75
75
|
// Composables
|
76
76
|
const makeComponentProps = propsFactory({
|
77
|
-
class: [String, Array],
|
77
|
+
class: [String, Array, Object],
|
78
78
|
style: {
|
79
79
|
type: [String, Array, Object],
|
80
80
|
default: null
|
@@ -561,6 +561,22 @@
|
|
561
561
|
const divBottom = divRect.bottom;
|
562
562
|
return mouseX >= divLeft && mouseX <= divRight && mouseY >= divTop && mouseY <= divBottom;
|
563
563
|
}
|
564
|
+
function templateRef() {
|
565
|
+
const el = vue.shallowRef();
|
566
|
+
const fn = target => {
|
567
|
+
el.value = target;
|
568
|
+
};
|
569
|
+
Object.defineProperty(fn, 'value', {
|
570
|
+
enumerable: true,
|
571
|
+
get: () => el.value,
|
572
|
+
set: val => el.value = val
|
573
|
+
});
|
574
|
+
Object.defineProperty(fn, 'el', {
|
575
|
+
enumerable: true,
|
576
|
+
get: () => refElement(el.value)
|
577
|
+
});
|
578
|
+
return fn;
|
579
|
+
}
|
564
580
|
|
565
581
|
// Utilities
|
566
582
|
const block = ['top', 'bottom'];
|
@@ -1569,7 +1585,7 @@
|
|
1569
1585
|
|
1570
1586
|
function useResizeObserver(callback) {
|
1571
1587
|
let box = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'content';
|
1572
|
-
const resizeRef =
|
1588
|
+
const resizeRef = templateRef();
|
1573
1589
|
const contentRect = vue.ref();
|
1574
1590
|
if (IN_BROWSER) {
|
1575
1591
|
const observer = new ResizeObserver(entries => {
|
@@ -1584,12 +1600,12 @@
|
|
1584
1600
|
vue.onBeforeUnmount(() => {
|
1585
1601
|
observer.disconnect();
|
1586
1602
|
});
|
1587
|
-
vue.watch(resizeRef, (newValue, oldValue) => {
|
1603
|
+
vue.watch(() => resizeRef.el, (newValue, oldValue) => {
|
1588
1604
|
if (oldValue) {
|
1589
|
-
observer.unobserve(
|
1605
|
+
observer.unobserve(oldValue);
|
1590
1606
|
contentRect.value = undefined;
|
1591
1607
|
}
|
1592
|
-
if (newValue) observer.observe(
|
1608
|
+
if (newValue) observer.observe(newValue);
|
1593
1609
|
}, {
|
1594
1610
|
flush: 'post'
|
1595
1611
|
});
|
@@ -3005,7 +3021,7 @@
|
|
3005
3021
|
}
|
3006
3022
|
const makeVResponsiveProps = propsFactory({
|
3007
3023
|
aspectRatio: [String, Number],
|
3008
|
-
contentClass:
|
3024
|
+
contentClass: null,
|
3009
3025
|
inline: Boolean,
|
3010
3026
|
...makeComponentProps(),
|
3011
3027
|
...makeDimensionProps()
|
@@ -7388,7 +7404,7 @@
|
|
7388
7404
|
const goTo = useGoTo();
|
7389
7405
|
const goToOptions = vue.computed(() => {
|
7390
7406
|
return {
|
7391
|
-
container: containerRef.
|
7407
|
+
container: containerRef.el,
|
7392
7408
|
duration: 200,
|
7393
7409
|
easing: 'easeOutQuart'
|
7394
7410
|
};
|
@@ -7412,9 +7428,9 @@
|
|
7412
7428
|
contentSize.value = contentRect.value[sizeProperty];
|
7413
7429
|
isOverflowing.value = containerSize.value + 1 < contentSize.value;
|
7414
7430
|
}
|
7415
|
-
if (firstSelectedIndex.value >= 0 && contentRef.
|
7431
|
+
if (firstSelectedIndex.value >= 0 && contentRef.el) {
|
7416
7432
|
// TODO: Is this too naive? Should we store element references in group composable?
|
7417
|
-
const selectedElement = contentRef.
|
7433
|
+
const selectedElement = contentRef.el.children[lastSelectedIndex.value];
|
7418
7434
|
scrollToChildren(selectedElement, props.centerActive);
|
7419
7435
|
}
|
7420
7436
|
});
|
@@ -7425,13 +7441,13 @@
|
|
7425
7441
|
let target = 0;
|
7426
7442
|
if (center) {
|
7427
7443
|
target = calculateCenteredTarget({
|
7428
|
-
containerElement: containerRef.
|
7444
|
+
containerElement: containerRef.el,
|
7429
7445
|
isHorizontal: isHorizontal.value,
|
7430
7446
|
selectedElement: children
|
7431
7447
|
});
|
7432
7448
|
} else {
|
7433
7449
|
target = calculateUpdatedTarget({
|
7434
|
-
containerElement: containerRef.
|
7450
|
+
containerElement: containerRef.el,
|
7435
7451
|
isHorizontal: isHorizontal.value,
|
7436
7452
|
isRtl: isRtl.value,
|
7437
7453
|
selectedElement: children
|
@@ -7440,18 +7456,18 @@
|
|
7440
7456
|
scrollToPosition(target);
|
7441
7457
|
}
|
7442
7458
|
function scrollToPosition(newPosition) {
|
7443
|
-
if (!IN_BROWSER || !containerRef.
|
7444
|
-
const offsetSize = getOffsetSize(isHorizontal.value, containerRef.
|
7445
|
-
const scrollPosition = getScrollPosition(isHorizontal.value, isRtl.value, containerRef.
|
7446
|
-
const scrollSize = getScrollSize(isHorizontal.value, containerRef.
|
7459
|
+
if (!IN_BROWSER || !containerRef.el) return;
|
7460
|
+
const offsetSize = getOffsetSize(isHorizontal.value, containerRef.el);
|
7461
|
+
const scrollPosition = getScrollPosition(isHorizontal.value, isRtl.value, containerRef.el);
|
7462
|
+
const scrollSize = getScrollSize(isHorizontal.value, containerRef.el);
|
7447
7463
|
if (scrollSize <= offsetSize ||
|
7448
7464
|
// Prevent scrolling by only a couple of pixels, which doesn't look smooth
|
7449
7465
|
Math.abs(newPosition - scrollPosition) < 16) return;
|
7450
|
-
if (isHorizontal.value && isRtl.value && containerRef.
|
7466
|
+
if (isHorizontal.value && isRtl.value && containerRef.el) {
|
7451
7467
|
const {
|
7452
7468
|
scrollWidth,
|
7453
7469
|
offsetWidth: containerWidth
|
7454
|
-
} = containerRef.
|
7470
|
+
} = containerRef.el;
|
7455
7471
|
newPosition = scrollWidth - containerWidth - newPosition;
|
7456
7472
|
}
|
7457
7473
|
if (isHorizontal.value) {
|
@@ -7469,12 +7485,12 @@
|
|
7469
7485
|
}
|
7470
7486
|
function onFocusin(e) {
|
7471
7487
|
isFocused.value = true;
|
7472
|
-
if (!isOverflowing.value || !contentRef.
|
7488
|
+
if (!isOverflowing.value || !contentRef.el) return;
|
7473
7489
|
|
7474
7490
|
// Focused element is likely to be the root of an item, so a
|
7475
7491
|
// breadth-first search will probably find it in the first iteration
|
7476
7492
|
for (const el of e.composedPath()) {
|
7477
|
-
for (const item of contentRef.
|
7493
|
+
for (const item of contentRef.el.children) {
|
7478
7494
|
if (item === el) {
|
7479
7495
|
scrollToChildren(item);
|
7480
7496
|
return;
|
@@ -7489,14 +7505,14 @@
|
|
7489
7505
|
// Affix clicks produce onFocus that we have to ignore to avoid extra scrollToChildren
|
7490
7506
|
let ignoreFocusEvent = false;
|
7491
7507
|
function onFocus(e) {
|
7492
|
-
if (!ignoreFocusEvent && !isFocused.value && !(e.relatedTarget && contentRef.
|
7508
|
+
if (!ignoreFocusEvent && !isFocused.value && !(e.relatedTarget && contentRef.el?.contains(e.relatedTarget))) focus();
|
7493
7509
|
ignoreFocusEvent = false;
|
7494
7510
|
}
|
7495
7511
|
function onFocusAffixes() {
|
7496
7512
|
ignoreFocusEvent = true;
|
7497
7513
|
}
|
7498
7514
|
function onKeydown(e) {
|
7499
|
-
if (!contentRef.
|
7515
|
+
if (!contentRef.el) return;
|
7500
7516
|
function toFocus(location) {
|
7501
7517
|
e.preventDefault();
|
7502
7518
|
focus(location);
|
@@ -7521,21 +7537,21 @@
|
|
7521
7537
|
}
|
7522
7538
|
}
|
7523
7539
|
function focus(location) {
|
7524
|
-
if (!contentRef.
|
7540
|
+
if (!contentRef.el) return;
|
7525
7541
|
let el;
|
7526
7542
|
if (!location) {
|
7527
|
-
const focusable = focusableChildren(contentRef.
|
7543
|
+
const focusable = focusableChildren(contentRef.el);
|
7528
7544
|
el = focusable[0];
|
7529
7545
|
} else if (location === 'next') {
|
7530
|
-
el = contentRef.
|
7546
|
+
el = contentRef.el.querySelector(':focus')?.nextElementSibling;
|
7531
7547
|
if (!el) return focus('first');
|
7532
7548
|
} else if (location === 'prev') {
|
7533
|
-
el = contentRef.
|
7549
|
+
el = contentRef.el.querySelector(':focus')?.previousElementSibling;
|
7534
7550
|
if (!el) return focus('last');
|
7535
7551
|
} else if (location === 'first') {
|
7536
|
-
el = contentRef.
|
7552
|
+
el = contentRef.el.firstElementChild;
|
7537
7553
|
} else if (location === 'last') {
|
7538
|
-
el = contentRef.
|
7554
|
+
el = contentRef.el.lastElementChild;
|
7539
7555
|
}
|
7540
7556
|
if (el) {
|
7541
7557
|
el.focus({
|
@@ -7549,11 +7565,11 @@
|
|
7549
7565
|
let newPosition = scrollOffset.value + offsetStep;
|
7550
7566
|
|
7551
7567
|
// TODO: improve it
|
7552
|
-
if (isHorizontal.value && isRtl.value && containerRef.
|
7568
|
+
if (isHorizontal.value && isRtl.value && containerRef.el) {
|
7553
7569
|
const {
|
7554
7570
|
scrollWidth,
|
7555
7571
|
offsetWidth: containerWidth
|
7556
|
-
} = containerRef.
|
7572
|
+
} = containerRef.el;
|
7557
7573
|
newPosition += scrollWidth - containerWidth;
|
7558
7574
|
}
|
7559
7575
|
scrollToPosition(newPosition);
|
@@ -7596,8 +7612,8 @@
|
|
7596
7612
|
});
|
7597
7613
|
const hasNext = vue.computed(() => {
|
7598
7614
|
if (!containerRef.value) return false;
|
7599
|
-
const scrollSize = getScrollSize(isHorizontal.value, containerRef.
|
7600
|
-
const clientSize = getClientSize(isHorizontal.value, containerRef.
|
7615
|
+
const scrollSize = getScrollSize(isHorizontal.value, containerRef.el);
|
7616
|
+
const clientSize = getClientSize(isHorizontal.value, containerRef.el);
|
7601
7617
|
const scrollSizeMax = scrollSize - clientSize;
|
7602
7618
|
|
7603
7619
|
// 1 pixel in reserve, may be lost after rounding
|
@@ -8021,14 +8037,16 @@
|
|
8021
8037
|
},
|
8022
8038
|
in: (v, children, parents) => {
|
8023
8039
|
let set = new Set();
|
8024
|
-
|
8025
|
-
|
8026
|
-
|
8027
|
-
|
8028
|
-
|
8029
|
-
|
8030
|
-
|
8031
|
-
|
8040
|
+
if (v != null) {
|
8041
|
+
for (const id of wrapInArray(v)) {
|
8042
|
+
set = strategy.activate({
|
8043
|
+
id,
|
8044
|
+
value: true,
|
8045
|
+
activated: new Set(set),
|
8046
|
+
children,
|
8047
|
+
parents
|
8048
|
+
});
|
8049
|
+
}
|
8032
8050
|
}
|
8033
8051
|
return set;
|
8034
8052
|
},
|
@@ -8057,8 +8075,11 @@
|
|
8057
8075
|
},
|
8058
8076
|
in: (v, children, parents) => {
|
8059
8077
|
let set = new Set();
|
8060
|
-
if (v
|
8061
|
-
|
8078
|
+
if (v != null) {
|
8079
|
+
const arr = wrapInArray(v);
|
8080
|
+
if (arr.length) {
|
8081
|
+
set = parentStrategy.in(arr.slice(0, 1), children, parents);
|
8082
|
+
}
|
8062
8083
|
}
|
8063
8084
|
return set;
|
8064
8085
|
},
|
@@ -8402,12 +8423,12 @@
|
|
8402
8423
|
const makeNestedProps = propsFactory({
|
8403
8424
|
activatable: Boolean,
|
8404
8425
|
selectable: Boolean,
|
8405
|
-
activeStrategy: [String, Function],
|
8406
|
-
selectStrategy: [String, Function],
|
8426
|
+
activeStrategy: [String, Function, Object],
|
8427
|
+
selectStrategy: [String, Function, Object],
|
8407
8428
|
openStrategy: [String, Object],
|
8408
|
-
opened:
|
8409
|
-
activated:
|
8410
|
-
selected:
|
8429
|
+
opened: null,
|
8430
|
+
activated: null,
|
8431
|
+
selected: null,
|
8411
8432
|
mandatory: Boolean
|
8412
8433
|
}, 'nested');
|
8413
8434
|
const useNested = props => {
|
@@ -8417,6 +8438,7 @@
|
|
8417
8438
|
const opened = useProxiedModel(props, 'opened', props.opened, v => new Set(v), v => [...v.values()]);
|
8418
8439
|
const activeStrategy = vue.computed(() => {
|
8419
8440
|
if (typeof props.activeStrategy === 'object') return props.activeStrategy;
|
8441
|
+
if (typeof props.activeStrategy === 'function') return props.activeStrategy(props.mandatory);
|
8420
8442
|
switch (props.activeStrategy) {
|
8421
8443
|
case 'leaf':
|
8422
8444
|
return leafActiveStrategy(props.mandatory);
|
@@ -8431,6 +8453,7 @@
|
|
8431
8453
|
});
|
8432
8454
|
const selectStrategy = vue.computed(() => {
|
8433
8455
|
if (typeof props.selectStrategy === 'object') return props.selectStrategy;
|
8456
|
+
if (typeof props.selectStrategy === 'function') return props.selectStrategy(props.mandatory);
|
8434
8457
|
switch (props.selectStrategy) {
|
8435
8458
|
case 'single-leaf':
|
8436
8459
|
return leafSingleSelectStrategy(props.mandatory);
|
@@ -8759,7 +8782,7 @@
|
|
8759
8782
|
appendIcon: IconValue,
|
8760
8783
|
baseColor: String,
|
8761
8784
|
disabled: Boolean,
|
8762
|
-
lines: String,
|
8785
|
+
lines: [Boolean, String],
|
8763
8786
|
link: {
|
8764
8787
|
type: Boolean,
|
8765
8788
|
default: undefined
|
@@ -8870,8 +8893,9 @@
|
|
8870
8893
|
}));
|
8871
8894
|
function onClick(e) {
|
8872
8895
|
emit('click', e);
|
8873
|
-
if (
|
8896
|
+
if (!isClickable.value) return;
|
8874
8897
|
link.navigate?.(e);
|
8898
|
+
if (isGroupActivator) return;
|
8875
8899
|
if (root.activatable.value) {
|
8876
8900
|
activate(!isActivated.value, e);
|
8877
8901
|
} else if (root.selectable.value) {
|
@@ -10330,17 +10354,17 @@
|
|
10330
10354
|
}, {
|
10331
10355
|
flush: 'post'
|
10332
10356
|
});
|
10333
|
-
const activatorRef =
|
10357
|
+
const activatorRef = templateRef();
|
10334
10358
|
vue.watchEffect(() => {
|
10335
10359
|
if (!activatorRef.value) return;
|
10336
10360
|
vue.nextTick(() => {
|
10337
|
-
activatorEl.value =
|
10361
|
+
activatorEl.value = activatorRef.el;
|
10338
10362
|
});
|
10339
10363
|
});
|
10340
|
-
const targetRef =
|
10364
|
+
const targetRef = templateRef();
|
10341
10365
|
const target = vue.computed(() => {
|
10342
10366
|
if (props.target === 'cursor' && cursorTarget.value) return cursorTarget.value;
|
10343
|
-
if (targetRef.value) return
|
10367
|
+
if (targetRef.value) return targetRef.el;
|
10344
10368
|
return getTarget(props.target, vm) || activatorEl.value;
|
10345
10369
|
});
|
10346
10370
|
const targetEl = vue.computed(() => {
|
@@ -10685,10 +10709,7 @@
|
|
10685
10709
|
disabled: Boolean,
|
10686
10710
|
opacity: [Number, String],
|
10687
10711
|
noClickAnimation: Boolean,
|
10688
|
-
modelValue:
|
10689
|
-
type: Boolean,
|
10690
|
-
default: null
|
10691
|
-
},
|
10712
|
+
modelValue: Boolean,
|
10692
10713
|
persistent: Boolean,
|
10693
10714
|
scrim: {
|
10694
10715
|
type: [Boolean, String],
|
@@ -10731,7 +10752,7 @@
|
|
10731
10752
|
} = _ref;
|
10732
10753
|
const model = useProxiedModel(props, 'modelValue');
|
10733
10754
|
const isActive = vue.computed({
|
10734
|
-
get: () =>
|
10755
|
+
get: () => model.value,
|
10735
10756
|
set: v => {
|
10736
10757
|
if (!(v && props.disabled)) model.value = v;
|
10737
10758
|
}
|
@@ -12968,7 +12989,7 @@
|
|
12968
12989
|
select(displayItems.value[0]);
|
12969
12990
|
}
|
12970
12991
|
menu.value = false;
|
12971
|
-
search.value = '';
|
12992
|
+
if (props.multiple || hasSelectionSlot.value) search.value = '';
|
12972
12993
|
selectionIndex.value = -1;
|
12973
12994
|
}
|
12974
12995
|
});
|
@@ -14812,7 +14833,7 @@
|
|
14812
14833
|
const {
|
14813
14834
|
resizeRef
|
14814
14835
|
} = useResizeObserver(entries => {
|
14815
|
-
if (!resizeRef.
|
14836
|
+
if (!resizeRef.el?.offsetParent) return;
|
14816
14837
|
const {
|
14817
14838
|
width,
|
14818
14839
|
height
|
@@ -18435,6 +18456,7 @@
|
|
18435
18456
|
});
|
18436
18457
|
return !!items.length && isSelected(items);
|
18437
18458
|
});
|
18459
|
+
const showSelectAll = vue.computed(() => selectStrategy.value.showSelectAll);
|
18438
18460
|
const data = {
|
18439
18461
|
toggleSelect,
|
18440
18462
|
select,
|
@@ -18443,7 +18465,7 @@
|
|
18443
18465
|
isSomeSelected,
|
18444
18466
|
someSelected,
|
18445
18467
|
allSelected,
|
18446
|
-
showSelectAll
|
18468
|
+
showSelectAll
|
18447
18469
|
};
|
18448
18470
|
vue.provide(VDataTableSelectionSymbol, data);
|
18449
18471
|
return data;
|
@@ -19714,7 +19736,7 @@
|
|
19714
19736
|
};
|
19715
19737
|
if (slots[columnSlotName]) return slots[columnSlotName](columnSlotProps);
|
19716
19738
|
if (column.key === 'data-table-select') {
|
19717
|
-
return slots['header.data-table-select']?.(columnSlotProps) ?? (showSelectAll && vue.createVNode(VCheckboxBtn, {
|
19739
|
+
return slots['header.data-table-select']?.(columnSlotProps) ?? (showSelectAll.value && vue.createVNode(VCheckboxBtn, {
|
19718
19740
|
"modelValue": allSelected.value,
|
19719
19741
|
"indeterminate": someSelected.value && !allSelected.value,
|
19720
19742
|
"onUpdate:modelValue": selectAll
|
@@ -21683,10 +21705,10 @@
|
|
21683
21705
|
vue.watchEffect(() => {
|
21684
21706
|
model.value = model.value ?? adapter.getYear(adapter.date());
|
21685
21707
|
});
|
21686
|
-
const yearRef =
|
21708
|
+
const yearRef = templateRef();
|
21687
21709
|
vue.onMounted(async () => {
|
21688
21710
|
await vue.nextTick();
|
21689
|
-
yearRef.
|
21711
|
+
yearRef.el?.scrollIntoView({
|
21690
21712
|
block: 'center'
|
21691
21713
|
});
|
21692
21714
|
});
|
@@ -22563,7 +22585,7 @@
|
|
22563
22585
|
const {
|
22564
22586
|
t
|
22565
22587
|
} = useLocale();
|
22566
|
-
const model = useProxiedModel(props, 'modelValue', props.modelValue, val => wrapInArray(val), val => props.multiple || Array.isArray(props.modelValue) ? val : val[0]);
|
22588
|
+
const model = useProxiedModel(props, 'modelValue', props.modelValue, val => wrapInArray(val), val => props.multiple || Array.isArray(props.modelValue) ? val : val[0] ?? null);
|
22567
22589
|
const {
|
22568
22590
|
isFocused,
|
22569
22591
|
focus,
|
@@ -23012,7 +23034,7 @@
|
|
23012
23034
|
function intersecting(side) {
|
23013
23035
|
if (props.mode !== 'manual' && !isIntersecting.value) return;
|
23014
23036
|
const status = getStatus(side);
|
23015
|
-
if (!rootEl.value ||
|
23037
|
+
if (!rootEl.value || ['empty', 'loading'].includes(status)) return;
|
23016
23038
|
previousScrollSize = getScrollSize();
|
23017
23039
|
setStatus(side, 'loading');
|
23018
23040
|
function done(status) {
|
@@ -25907,7 +25929,8 @@
|
|
25907
25929
|
}, windowProps, {
|
25908
25930
|
"modelValue": model.value,
|
25909
25931
|
"onUpdate:modelValue": $event => model.value = $event,
|
25910
|
-
"class":
|
25932
|
+
"class": ['v-stepper-window', props.class],
|
25933
|
+
"style": props.style,
|
25911
25934
|
"mandatory": false,
|
25912
25935
|
"touch": false
|
25913
25936
|
}), slots);
|
@@ -25931,7 +25954,8 @@
|
|
25931
25954
|
return vue.createVNode(VWindowItem, vue.mergeProps({
|
25932
25955
|
"_as": "VStepperWindowItem"
|
25933
25956
|
}, windowItemProps, {
|
25934
|
-
"class":
|
25957
|
+
"class": ['v-stepper-window-item', props.class],
|
25958
|
+
"style": props.style
|
25935
25959
|
}), slots);
|
25936
25960
|
});
|
25937
25961
|
return {};
|
@@ -26430,7 +26454,8 @@
|
|
26430
26454
|
}, windowProps, {
|
26431
26455
|
"modelValue": model.value,
|
26432
26456
|
"onUpdate:modelValue": $event => model.value = $event,
|
26433
|
-
"class":
|
26457
|
+
"class": ['v-tabs-window', props.class],
|
26458
|
+
"style": props.style,
|
26434
26459
|
"mandatory": false,
|
26435
26460
|
"touch": false
|
26436
26461
|
}), slots);
|
@@ -27848,19 +27873,13 @@
|
|
27848
27873
|
type: Number,
|
27849
27874
|
default: 1
|
27850
27875
|
},
|
27851
|
-
...
|
27852
|
-
...only(makeVFieldProps(), ['baseColor', 'bgColor', 'class', 'color', 'disabled', 'error', 'loading', 'reverse', 'rounded', 'style', 'theme', 'variant']),
|
27853
|
-
...makeFocusProps()
|
27876
|
+
...omit(makeVTextFieldProps(), ['appendInnerIcon', 'prependInnerIcon'])
|
27854
27877
|
}, 'VNumberInput');
|
27855
27878
|
const VNumberInput = genericComponent()({
|
27856
27879
|
name: 'VNumberInput',
|
27857
27880
|
inheritAttrs: false,
|
27858
27881
|
props: {
|
27859
|
-
...makeVNumberInputProps()
|
27860
|
-
modelValue: {
|
27861
|
-
type: Number,
|
27862
|
-
default: undefined
|
27863
|
-
}
|
27882
|
+
...makeVNumberInputProps()
|
27864
27883
|
},
|
27865
27884
|
emits: {
|
27866
27885
|
'update:modelValue': val => true
|
@@ -27872,12 +27891,6 @@
|
|
27872
27891
|
slots
|
27873
27892
|
} = _ref;
|
27874
27893
|
const model = useProxiedModel(props, 'modelValue');
|
27875
|
-
const {
|
27876
|
-
isFocused,
|
27877
|
-
focus,
|
27878
|
-
blur
|
27879
|
-
} = useFocus(props);
|
27880
|
-
const inputRef = vue.ref();
|
27881
27894
|
const stepDecimals = vue.computed(() => getDecimals(props.step));
|
27882
27895
|
const modelDecimals = vue.computed(() => model.value != null ? getDecimals(model.value) : 0);
|
27883
27896
|
const canIncrease = vue.computed(() => {
|
@@ -27893,9 +27906,6 @@
|
|
27893
27906
|
model.value = clamp(model.value, props.min, props.max);
|
27894
27907
|
}
|
27895
27908
|
});
|
27896
|
-
function onFocus() {
|
27897
|
-
if (!isFocused.value) focus();
|
27898
|
-
}
|
27899
27909
|
const controlVariant = vue.computed(() => {
|
27900
27910
|
return props.hideInput ? 'stacked' : props.controlVariant;
|
27901
27911
|
});
|
@@ -27925,7 +27935,7 @@
|
|
27925
27935
|
toggleUpDown(false);
|
27926
27936
|
}
|
27927
27937
|
function onKeydown(e) {
|
27928
|
-
if (['Enter', 'ArrowLeft', 'ArrowRight', 'Backspace'].includes(e.key) || e.ctrlKey) return;
|
27938
|
+
if (['Enter', 'ArrowLeft', 'ArrowRight', 'Backspace', 'Tab'].includes(e.key) || e.ctrlKey) return;
|
27929
27939
|
if (['ArrowDown'].includes(e.key)) {
|
27930
27940
|
e.preventDefault();
|
27931
27941
|
toggleUpDown(false);
|
@@ -27942,17 +27952,14 @@
|
|
27942
27952
|
e.preventDefault();
|
27943
27953
|
}
|
27944
27954
|
}
|
27945
|
-
function
|
27946
|
-
|
27947
|
-
model.value = el.value ? +el.value : undefined;
|
27955
|
+
function onModelUpdate(v) {
|
27956
|
+
model.value = v ? +v : undefined;
|
27948
27957
|
}
|
27949
27958
|
useRender(() => {
|
27950
|
-
const fieldProps = filterFieldProps(props);
|
27951
|
-
const [rootAttrs, inputAttrs] = filterInputAttrs(attrs);
|
27952
27959
|
const {
|
27953
27960
|
modelValue: _,
|
27954
|
-
...
|
27955
|
-
} =
|
27961
|
+
...textFieldProps
|
27962
|
+
} = VTextField.filterProps(props);
|
27956
27963
|
function controlNode() {
|
27957
27964
|
const defaultHeight = controlVariant.value === 'stacked' ? 'auto' : '100%';
|
27958
27965
|
return vue.createVNode("div", {
|
@@ -27965,6 +27972,7 @@
|
|
27965
27972
|
"name": "decrement-btn",
|
27966
27973
|
"icon": "$expand",
|
27967
27974
|
"size": "small",
|
27975
|
+
"tabindex": "-1",
|
27968
27976
|
"onClick": onClickDown
|
27969
27977
|
}, null) : vue.createVNode(VDefaultsProvider, {
|
27970
27978
|
"key": "decrement-defaults",
|
@@ -27989,7 +27997,8 @@
|
|
27989
27997
|
"name": "increment-btn",
|
27990
27998
|
"icon": "$collapse",
|
27991
27999
|
"onClick": onClickUp,
|
27992
|
-
"size": "small"
|
28000
|
+
"size": "small",
|
28001
|
+
"tabindex": "-1"
|
27993
28002
|
}, null) : vue.createVNode(VDefaultsProvider, {
|
27994
28003
|
"key": "increment-defaults",
|
27995
28004
|
"defaults": {
|
@@ -28010,7 +28019,36 @@
|
|
28010
28019
|
"vertical": true
|
28011
28020
|
}, null) : undefined;
|
28012
28021
|
}
|
28013
|
-
|
28022
|
+
const appendInnerControl = controlVariant.value === 'split' ? vue.createVNode("div", {
|
28023
|
+
"class": "v-number-input__control"
|
28024
|
+
}, [vue.createVNode(VDivider, {
|
28025
|
+
"vertical": true
|
28026
|
+
}, null), vue.createVNode(VBtn, {
|
28027
|
+
"flat": true,
|
28028
|
+
"height": "100%",
|
28029
|
+
"icon": "$plus",
|
28030
|
+
"tile": true,
|
28031
|
+
"tabindex": "-1",
|
28032
|
+
"onClick": onClickUp
|
28033
|
+
}, null)]) : !props.reverse ? vue.createVNode(vue.Fragment, null, [dividerNode(), controlNode()]) : undefined;
|
28034
|
+
const hasAppendInner = slots['append-inner'] || appendInnerControl;
|
28035
|
+
const prependInnerControl = controlVariant.value === 'split' ? vue.createVNode("div", {
|
28036
|
+
"class": "v-number-input__control"
|
28037
|
+
}, [vue.createVNode(VBtn, {
|
28038
|
+
"flat": true,
|
28039
|
+
"height": "100%",
|
28040
|
+
"icon": "$minus",
|
28041
|
+
"tile": true,
|
28042
|
+
"tabindex": "-1",
|
28043
|
+
"onClick": onClickDown
|
28044
|
+
}, null), vue.createVNode(VDivider, {
|
28045
|
+
"vertical": true
|
28046
|
+
}, null)]) : props.reverse ? vue.createVNode(vue.Fragment, null, [controlNode(), dividerNode()]) : undefined;
|
28047
|
+
const hasPrependInner = slots['prepend-inner'] || prependInnerControl;
|
28048
|
+
return vue.createVNode(VTextField, vue.mergeProps({
|
28049
|
+
"modelValue": model.value,
|
28050
|
+
"onUpdate:modelValue": onModelUpdate,
|
28051
|
+
"onKeydown": onKeydown,
|
28014
28052
|
"class": ['v-number-input', {
|
28015
28053
|
'v-number-input--default': controlVariant.value === 'default',
|
28016
28054
|
'v-number-input--hide-input': props.hideInput,
|
@@ -28019,57 +28057,22 @@
|
|
28019
28057
|
'v-number-input--split': controlVariant.value === 'split',
|
28020
28058
|
'v-number-input--stacked': controlVariant.value === 'stacked'
|
28021
28059
|
}, props.class]
|
28022
|
-
},
|
28023
|
-
"focused": isFocused.value,
|
28060
|
+
}, textFieldProps, {
|
28024
28061
|
"style": props.style
|
28025
28062
|
}), {
|
28026
28063
|
...slots,
|
28027
|
-
|
28028
|
-
|
28029
|
-
|
28030
|
-
|
28031
|
-
...
|
28032
|
-
|
28033
|
-
|
28034
|
-
|
28035
|
-
|
28036
|
-
|
28037
|
-
|
28038
|
-
|
28039
|
-
return vue.createVNode("input", vue.mergeProps({
|
28040
|
-
"ref": inputRef,
|
28041
|
-
"type": "text",
|
28042
|
-
"value": model.value,
|
28043
|
-
"onInput": onInput,
|
28044
|
-
"onKeydown": onKeydown,
|
28045
|
-
"class": fieldClass,
|
28046
|
-
"onFocus": onFocus,
|
28047
|
-
"onBlur": blur
|
28048
|
-
}, inputAttrs), null);
|
28049
|
-
},
|
28050
|
-
'append-inner': controlVariant.value === 'split' ? () => vue.createVNode("div", {
|
28051
|
-
"class": "v-number-input__control"
|
28052
|
-
}, [vue.createVNode(VDivider, {
|
28053
|
-
"vertical": true
|
28054
|
-
}, null), vue.createVNode(VBtn, {
|
28055
|
-
"flat": true,
|
28056
|
-
"height": "100%",
|
28057
|
-
"icon": "$plus",
|
28058
|
-
"tile": true,
|
28059
|
-
"onClick": onClickUp
|
28060
|
-
}, null)]) : !props.reverse ? () => vue.createVNode(vue.Fragment, null, [dividerNode(), controlNode()]) : undefined,
|
28061
|
-
'prepend-inner': controlVariant.value === 'split' ? () => vue.createVNode("div", {
|
28062
|
-
"class": "v-number-input__control"
|
28063
|
-
}, [vue.createVNode(VBtn, {
|
28064
|
-
"flat": true,
|
28065
|
-
"height": "100%",
|
28066
|
-
"icon": "$minus",
|
28067
|
-
"tile": true,
|
28068
|
-
"onClick": onClickDown
|
28069
|
-
}, null), vue.createVNode(VDivider, {
|
28070
|
-
"vertical": true
|
28071
|
-
}, null)]) : props.reverse ? () => vue.createVNode(vue.Fragment, null, [controlNode(), dividerNode()]) : undefined
|
28072
|
-
})
|
28064
|
+
'append-inner': hasAppendInner ? function () {
|
28065
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
28066
|
+
args[_key] = arguments[_key];
|
28067
|
+
}
|
28068
|
+
return vue.createVNode(vue.Fragment, null, [slots['append-inner']?.(...args), appendInnerControl]);
|
28069
|
+
} : undefined,
|
28070
|
+
'prepend-inner': hasPrependInner ? function () {
|
28071
|
+
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
28072
|
+
args[_key2] = arguments[_key2];
|
28073
|
+
}
|
28074
|
+
return vue.createVNode(vue.Fragment, null, [prependInnerControl, slots['prepend-inner']?.(...args)]);
|
28075
|
+
} : undefined
|
28073
28076
|
});
|
28074
28077
|
});
|
28075
28078
|
}
|
@@ -29772,7 +29775,7 @@
|
|
29772
29775
|
goTo
|
29773
29776
|
};
|
29774
29777
|
}
|
29775
|
-
const version$1 = "3.6.
|
29778
|
+
const version$1 = "3.6.4-master.2024-05-08";
|
29776
29779
|
createVuetify$1.version = version$1;
|
29777
29780
|
|
29778
29781
|
// Vue's inject() can only be used in setup
|
@@ -30025,7 +30028,7 @@
|
|
30025
30028
|
|
30026
30029
|
/* eslint-disable local-rules/sort-imports */
|
30027
30030
|
|
30028
|
-
const version = "3.6.
|
30031
|
+
const version = "3.6.4-master.2024-05-08";
|
30029
30032
|
|
30030
30033
|
/* eslint-disable local-rules/sort-imports */
|
30031
30034
|
|