@vuetify/nightly 3.6.3-master.2024-05-07 → 3.6.4-master.2024-05-09
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 +7 -13
- package/dist/json/attributes.json +31 -31
- package/dist/json/importMap-labs.json +8 -8
- package/dist/json/importMap.json +124 -124
- package/dist/json/web-types.json +64 -64
- package/dist/vuetify-labs.css +2434 -2363
- package/dist/vuetify-labs.d.ts +995 -966
- package/dist/vuetify-labs.esm.js +104 -70
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +103 -69
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +775 -708
- package/dist/vuetify.d.ts +965 -936
- package/dist/vuetify.esm.js +104 -70
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +103 -69
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +981 -976
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAutocomplete/index.d.mts +169 -140
- package/lib/components/VBottomSheet/index.d.mts +33 -27
- package/lib/components/VColorPicker/VColorPickerCanvas.mjs +1 -1
- package/lib/components/VColorPicker/VColorPickerCanvas.mjs.map +1 -1
- package/lib/components/VCombobox/index.d.mts +169 -140
- 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 +99 -93
- package/lib/components/VFileInput/VFileInput.mjs +1 -1
- package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
- 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/index.d.mts +70 -46
- package/lib/components/VMenu/index.d.mts +99 -93
- package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
- package/lib/components/VOverlay/index.d.mts +33 -27
- package/lib/components/VOverlay/useActivator.mjs +5 -5
- package/lib/components/VOverlay/useActivator.mjs.map +1 -1
- package/lib/components/VSelect/index.d.mts +169 -140
- 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/index.d.mts +85 -79
- package/lib/components/VSpeedDial/index.d.mts +33 -27
- package/lib/components/VStepper/VStepper.mjs +12 -6
- package/lib/components/VStepper/VStepper.mjs.map +1 -1
- package/lib/components/VStepper/VStepperItem.css +47 -0
- package/lib/components/VStepper/VStepperItem.mjs +5 -3
- package/lib/components/VStepper/VStepperItem.mjs.map +1 -1
- package/lib/components/VStepper/VStepperItem.sass +18 -0
- 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 +99 -93
- package/lib/components/VVirtualScroll/VVirtualScrollItem.mjs.map +1 -1
- package/lib/components/index.d.mts +926 -897
- 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 +39 -39
- 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/VSnackbarQueue/index.d.mts +97 -91
- package/lib/labs/VTreeview/VTreeview.mjs.map +1 -1
- package/lib/labs/VTreeview/index.d.mts +82 -58
- package/lib/labs/components.d.mts +178 -149
- package/lib/util/helpers.mjs +16 -0
- package/lib/util/helpers.mjs.map +1 -1
- package/package.json +1 -1
package/dist/vuetify.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
/*!
|
2
|
-
* Vuetify v3.6.
|
2
|
+
* Vuetify v3.6.4-master.2024-05-09
|
3
3
|
* Forged by John Leider
|
4
4
|
* Released under the MIT License.
|
5
5
|
*/
|
@@ -484,6 +484,22 @@
|
|
484
484
|
const divBottom = divRect.bottom;
|
485
485
|
return mouseX >= divLeft && mouseX <= divRight && mouseY >= divTop && mouseY <= divBottom;
|
486
486
|
}
|
487
|
+
function templateRef() {
|
488
|
+
const el = vue.shallowRef();
|
489
|
+
const fn = target => {
|
490
|
+
el.value = target;
|
491
|
+
};
|
492
|
+
Object.defineProperty(fn, 'value', {
|
493
|
+
enumerable: true,
|
494
|
+
get: () => el.value,
|
495
|
+
set: val => el.value = val
|
496
|
+
});
|
497
|
+
Object.defineProperty(fn, 'el', {
|
498
|
+
enumerable: true,
|
499
|
+
get: () => refElement(el.value)
|
500
|
+
});
|
501
|
+
return fn;
|
502
|
+
}
|
487
503
|
|
488
504
|
// Utilities
|
489
505
|
const block = ['top', 'bottom'];
|
@@ -2009,7 +2025,7 @@
|
|
2009
2025
|
|
2010
2026
|
function useResizeObserver(callback) {
|
2011
2027
|
let box = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'content';
|
2012
|
-
const resizeRef =
|
2028
|
+
const resizeRef = templateRef();
|
2013
2029
|
const contentRect = vue.ref();
|
2014
2030
|
if (IN_BROWSER) {
|
2015
2031
|
const observer = new ResizeObserver(entries => {
|
@@ -2024,12 +2040,12 @@
|
|
2024
2040
|
vue.onBeforeUnmount(() => {
|
2025
2041
|
observer.disconnect();
|
2026
2042
|
});
|
2027
|
-
vue.watch(resizeRef, (newValue, oldValue) => {
|
2043
|
+
vue.watch(() => resizeRef.el, (newValue, oldValue) => {
|
2028
2044
|
if (oldValue) {
|
2029
|
-
observer.unobserve(
|
2045
|
+
observer.unobserve(oldValue);
|
2030
2046
|
contentRect.value = undefined;
|
2031
2047
|
}
|
2032
|
-
if (newValue) observer.observe(
|
2048
|
+
if (newValue) observer.observe(newValue);
|
2033
2049
|
}, {
|
2034
2050
|
flush: 'post'
|
2035
2051
|
});
|
@@ -7621,7 +7637,7 @@
|
|
7621
7637
|
const goTo = useGoTo();
|
7622
7638
|
const goToOptions = vue.computed(() => {
|
7623
7639
|
return {
|
7624
|
-
container: containerRef.
|
7640
|
+
container: containerRef.el,
|
7625
7641
|
duration: 200,
|
7626
7642
|
easing: 'easeOutQuart'
|
7627
7643
|
};
|
@@ -7645,9 +7661,9 @@
|
|
7645
7661
|
contentSize.value = contentRect.value[sizeProperty];
|
7646
7662
|
isOverflowing.value = containerSize.value + 1 < contentSize.value;
|
7647
7663
|
}
|
7648
|
-
if (firstSelectedIndex.value >= 0 && contentRef.
|
7664
|
+
if (firstSelectedIndex.value >= 0 && contentRef.el) {
|
7649
7665
|
// TODO: Is this too naive? Should we store element references in group composable?
|
7650
|
-
const selectedElement = contentRef.
|
7666
|
+
const selectedElement = contentRef.el.children[lastSelectedIndex.value];
|
7651
7667
|
scrollToChildren(selectedElement, props.centerActive);
|
7652
7668
|
}
|
7653
7669
|
});
|
@@ -7658,13 +7674,13 @@
|
|
7658
7674
|
let target = 0;
|
7659
7675
|
if (center) {
|
7660
7676
|
target = calculateCenteredTarget({
|
7661
|
-
containerElement: containerRef.
|
7677
|
+
containerElement: containerRef.el,
|
7662
7678
|
isHorizontal: isHorizontal.value,
|
7663
7679
|
selectedElement: children
|
7664
7680
|
});
|
7665
7681
|
} else {
|
7666
7682
|
target = calculateUpdatedTarget({
|
7667
|
-
containerElement: containerRef.
|
7683
|
+
containerElement: containerRef.el,
|
7668
7684
|
isHorizontal: isHorizontal.value,
|
7669
7685
|
isRtl: isRtl.value,
|
7670
7686
|
selectedElement: children
|
@@ -7673,18 +7689,18 @@
|
|
7673
7689
|
scrollToPosition(target);
|
7674
7690
|
}
|
7675
7691
|
function scrollToPosition(newPosition) {
|
7676
|
-
if (!IN_BROWSER || !containerRef.
|
7677
|
-
const offsetSize = getOffsetSize(isHorizontal.value, containerRef.
|
7678
|
-
const scrollPosition = getScrollPosition(isHorizontal.value, isRtl.value, containerRef.
|
7679
|
-
const scrollSize = getScrollSize(isHorizontal.value, containerRef.
|
7692
|
+
if (!IN_BROWSER || !containerRef.el) return;
|
7693
|
+
const offsetSize = getOffsetSize(isHorizontal.value, containerRef.el);
|
7694
|
+
const scrollPosition = getScrollPosition(isHorizontal.value, isRtl.value, containerRef.el);
|
7695
|
+
const scrollSize = getScrollSize(isHorizontal.value, containerRef.el);
|
7680
7696
|
if (scrollSize <= offsetSize ||
|
7681
7697
|
// Prevent scrolling by only a couple of pixels, which doesn't look smooth
|
7682
7698
|
Math.abs(newPosition - scrollPosition) < 16) return;
|
7683
|
-
if (isHorizontal.value && isRtl.value && containerRef.
|
7699
|
+
if (isHorizontal.value && isRtl.value && containerRef.el) {
|
7684
7700
|
const {
|
7685
7701
|
scrollWidth,
|
7686
7702
|
offsetWidth: containerWidth
|
7687
|
-
} = containerRef.
|
7703
|
+
} = containerRef.el;
|
7688
7704
|
newPosition = scrollWidth - containerWidth - newPosition;
|
7689
7705
|
}
|
7690
7706
|
if (isHorizontal.value) {
|
@@ -7702,12 +7718,12 @@
|
|
7702
7718
|
}
|
7703
7719
|
function onFocusin(e) {
|
7704
7720
|
isFocused.value = true;
|
7705
|
-
if (!isOverflowing.value || !contentRef.
|
7721
|
+
if (!isOverflowing.value || !contentRef.el) return;
|
7706
7722
|
|
7707
7723
|
// Focused element is likely to be the root of an item, so a
|
7708
7724
|
// breadth-first search will probably find it in the first iteration
|
7709
7725
|
for (const el of e.composedPath()) {
|
7710
|
-
for (const item of contentRef.
|
7726
|
+
for (const item of contentRef.el.children) {
|
7711
7727
|
if (item === el) {
|
7712
7728
|
scrollToChildren(item);
|
7713
7729
|
return;
|
@@ -7722,14 +7738,14 @@
|
|
7722
7738
|
// Affix clicks produce onFocus that we have to ignore to avoid extra scrollToChildren
|
7723
7739
|
let ignoreFocusEvent = false;
|
7724
7740
|
function onFocus(e) {
|
7725
|
-
if (!ignoreFocusEvent && !isFocused.value && !(e.relatedTarget && contentRef.
|
7741
|
+
if (!ignoreFocusEvent && !isFocused.value && !(e.relatedTarget && contentRef.el?.contains(e.relatedTarget))) focus();
|
7726
7742
|
ignoreFocusEvent = false;
|
7727
7743
|
}
|
7728
7744
|
function onFocusAffixes() {
|
7729
7745
|
ignoreFocusEvent = true;
|
7730
7746
|
}
|
7731
7747
|
function onKeydown(e) {
|
7732
|
-
if (!contentRef.
|
7748
|
+
if (!contentRef.el) return;
|
7733
7749
|
function toFocus(location) {
|
7734
7750
|
e.preventDefault();
|
7735
7751
|
focus(location);
|
@@ -7754,21 +7770,21 @@
|
|
7754
7770
|
}
|
7755
7771
|
}
|
7756
7772
|
function focus(location) {
|
7757
|
-
if (!contentRef.
|
7773
|
+
if (!contentRef.el) return;
|
7758
7774
|
let el;
|
7759
7775
|
if (!location) {
|
7760
|
-
const focusable = focusableChildren(contentRef.
|
7776
|
+
const focusable = focusableChildren(contentRef.el);
|
7761
7777
|
el = focusable[0];
|
7762
7778
|
} else if (location === 'next') {
|
7763
|
-
el = contentRef.
|
7779
|
+
el = contentRef.el.querySelector(':focus')?.nextElementSibling;
|
7764
7780
|
if (!el) return focus('first');
|
7765
7781
|
} else if (location === 'prev') {
|
7766
|
-
el = contentRef.
|
7782
|
+
el = contentRef.el.querySelector(':focus')?.previousElementSibling;
|
7767
7783
|
if (!el) return focus('last');
|
7768
7784
|
} else if (location === 'first') {
|
7769
|
-
el = contentRef.
|
7785
|
+
el = contentRef.el.firstElementChild;
|
7770
7786
|
} else if (location === 'last') {
|
7771
|
-
el = contentRef.
|
7787
|
+
el = contentRef.el.lastElementChild;
|
7772
7788
|
}
|
7773
7789
|
if (el) {
|
7774
7790
|
el.focus({
|
@@ -7782,11 +7798,11 @@
|
|
7782
7798
|
let newPosition = scrollOffset.value + offsetStep;
|
7783
7799
|
|
7784
7800
|
// TODO: improve it
|
7785
|
-
if (isHorizontal.value && isRtl.value && containerRef.
|
7801
|
+
if (isHorizontal.value && isRtl.value && containerRef.el) {
|
7786
7802
|
const {
|
7787
7803
|
scrollWidth,
|
7788
7804
|
offsetWidth: containerWidth
|
7789
|
-
} = containerRef.
|
7805
|
+
} = containerRef.el;
|
7790
7806
|
newPosition += scrollWidth - containerWidth;
|
7791
7807
|
}
|
7792
7808
|
scrollToPosition(newPosition);
|
@@ -7829,8 +7845,8 @@
|
|
7829
7845
|
});
|
7830
7846
|
const hasNext = vue.computed(() => {
|
7831
7847
|
if (!containerRef.value) return false;
|
7832
|
-
const scrollSize = getScrollSize(isHorizontal.value, containerRef.
|
7833
|
-
const clientSize = getClientSize(isHorizontal.value, containerRef.
|
7848
|
+
const scrollSize = getScrollSize(isHorizontal.value, containerRef.el);
|
7849
|
+
const clientSize = getClientSize(isHorizontal.value, containerRef.el);
|
7834
7850
|
const scrollSizeMax = scrollSize - clientSize;
|
7835
7851
|
|
7836
7852
|
// 1 pixel in reserve, may be lost after rounding
|
@@ -8254,14 +8270,16 @@
|
|
8254
8270
|
},
|
8255
8271
|
in: (v, children, parents) => {
|
8256
8272
|
let set = new Set();
|
8257
|
-
|
8258
|
-
|
8259
|
-
|
8260
|
-
|
8261
|
-
|
8262
|
-
|
8263
|
-
|
8264
|
-
|
8273
|
+
if (v != null) {
|
8274
|
+
for (const id of wrapInArray(v)) {
|
8275
|
+
set = strategy.activate({
|
8276
|
+
id,
|
8277
|
+
value: true,
|
8278
|
+
activated: new Set(set),
|
8279
|
+
children,
|
8280
|
+
parents
|
8281
|
+
});
|
8282
|
+
}
|
8265
8283
|
}
|
8266
8284
|
return set;
|
8267
8285
|
},
|
@@ -8290,8 +8308,11 @@
|
|
8290
8308
|
},
|
8291
8309
|
in: (v, children, parents) => {
|
8292
8310
|
let set = new Set();
|
8293
|
-
if (v
|
8294
|
-
|
8311
|
+
if (v != null) {
|
8312
|
+
const arr = wrapInArray(v);
|
8313
|
+
if (arr.length) {
|
8314
|
+
set = parentStrategy.in(arr.slice(0, 1), children, parents);
|
8315
|
+
}
|
8295
8316
|
}
|
8296
8317
|
return set;
|
8297
8318
|
},
|
@@ -8635,12 +8656,12 @@
|
|
8635
8656
|
const makeNestedProps = propsFactory({
|
8636
8657
|
activatable: Boolean,
|
8637
8658
|
selectable: Boolean,
|
8638
|
-
activeStrategy: [String, Function],
|
8639
|
-
selectStrategy: [String, Function],
|
8659
|
+
activeStrategy: [String, Function, Object],
|
8660
|
+
selectStrategy: [String, Function, Object],
|
8640
8661
|
openStrategy: [String, Object],
|
8641
|
-
opened:
|
8642
|
-
activated:
|
8643
|
-
selected:
|
8662
|
+
opened: null,
|
8663
|
+
activated: null,
|
8664
|
+
selected: null,
|
8644
8665
|
mandatory: Boolean
|
8645
8666
|
}, 'nested');
|
8646
8667
|
const useNested = props => {
|
@@ -8650,6 +8671,7 @@
|
|
8650
8671
|
const opened = useProxiedModel(props, 'opened', props.opened, v => new Set(v), v => [...v.values()]);
|
8651
8672
|
const activeStrategy = vue.computed(() => {
|
8652
8673
|
if (typeof props.activeStrategy === 'object') return props.activeStrategy;
|
8674
|
+
if (typeof props.activeStrategy === 'function') return props.activeStrategy(props.mandatory);
|
8653
8675
|
switch (props.activeStrategy) {
|
8654
8676
|
case 'leaf':
|
8655
8677
|
return leafActiveStrategy(props.mandatory);
|
@@ -8664,6 +8686,7 @@
|
|
8664
8686
|
});
|
8665
8687
|
const selectStrategy = vue.computed(() => {
|
8666
8688
|
if (typeof props.selectStrategy === 'object') return props.selectStrategy;
|
8689
|
+
if (typeof props.selectStrategy === 'function') return props.selectStrategy(props.mandatory);
|
8667
8690
|
switch (props.selectStrategy) {
|
8668
8691
|
case 'single-leaf':
|
8669
8692
|
return leafSingleSelectStrategy(props.mandatory);
|
@@ -10564,17 +10587,17 @@
|
|
10564
10587
|
}, {
|
10565
10588
|
flush: 'post'
|
10566
10589
|
});
|
10567
|
-
const activatorRef =
|
10590
|
+
const activatorRef = templateRef();
|
10568
10591
|
vue.watchEffect(() => {
|
10569
10592
|
if (!activatorRef.value) return;
|
10570
10593
|
vue.nextTick(() => {
|
10571
|
-
activatorEl.value =
|
10594
|
+
activatorEl.value = activatorRef.el;
|
10572
10595
|
});
|
10573
10596
|
});
|
10574
|
-
const targetRef =
|
10597
|
+
const targetRef = templateRef();
|
10575
10598
|
const target = vue.computed(() => {
|
10576
10599
|
if (props.target === 'cursor' && cursorTarget.value) return cursorTarget.value;
|
10577
|
-
if (targetRef.value) return
|
10600
|
+
if (targetRef.value) return targetRef.el;
|
10578
10601
|
return getTarget(props.target, vm) || activatorEl.value;
|
10579
10602
|
});
|
10580
10603
|
const targetEl = vue.computed(() => {
|
@@ -15043,7 +15066,7 @@
|
|
15043
15066
|
const {
|
15044
15067
|
resizeRef
|
15045
15068
|
} = useResizeObserver(entries => {
|
15046
|
-
if (!resizeRef.
|
15069
|
+
if (!resizeRef.el?.offsetParent) return;
|
15047
15070
|
const {
|
15048
15071
|
width,
|
15049
15072
|
height
|
@@ -18666,6 +18689,7 @@
|
|
18666
18689
|
});
|
18667
18690
|
return !!items.length && isSelected(items);
|
18668
18691
|
});
|
18692
|
+
const showSelectAll = vue.computed(() => selectStrategy.value.showSelectAll);
|
18669
18693
|
const data = {
|
18670
18694
|
toggleSelect,
|
18671
18695
|
select,
|
@@ -18674,7 +18698,7 @@
|
|
18674
18698
|
isSomeSelected,
|
18675
18699
|
someSelected,
|
18676
18700
|
allSelected,
|
18677
|
-
showSelectAll
|
18701
|
+
showSelectAll
|
18678
18702
|
};
|
18679
18703
|
vue.provide(VDataTableSelectionSymbol, data);
|
18680
18704
|
return data;
|
@@ -19945,7 +19969,7 @@
|
|
19945
19969
|
};
|
19946
19970
|
if (slots[columnSlotName]) return slots[columnSlotName](columnSlotProps);
|
19947
19971
|
if (column.key === 'data-table-select') {
|
19948
|
-
return slots['header.data-table-select']?.(columnSlotProps) ?? (showSelectAll && vue.createVNode(VCheckboxBtn, {
|
19972
|
+
return slots['header.data-table-select']?.(columnSlotProps) ?? (showSelectAll.value && vue.createVNode(VCheckboxBtn, {
|
19949
19973
|
"modelValue": allSelected.value,
|
19950
19974
|
"indeterminate": someSelected.value && !allSelected.value,
|
19951
19975
|
"onUpdate:modelValue": selectAll
|
@@ -21914,10 +21938,10 @@
|
|
21914
21938
|
vue.watchEffect(() => {
|
21915
21939
|
model.value = model.value ?? adapter.getYear(adapter.date());
|
21916
21940
|
});
|
21917
|
-
const yearRef =
|
21941
|
+
const yearRef = templateRef();
|
21918
21942
|
vue.onMounted(async () => {
|
21919
21943
|
await vue.nextTick();
|
21920
|
-
yearRef.
|
21944
|
+
yearRef.el?.scrollIntoView({
|
21921
21945
|
block: 'center'
|
21922
21946
|
});
|
21923
21947
|
});
|
@@ -22898,7 +22922,7 @@
|
|
22898
22922
|
}, fieldProps, {
|
22899
22923
|
"id": id.value,
|
22900
22924
|
"active": isActive.value || isDirty.value,
|
22901
|
-
"dirty": isDirty.value,
|
22925
|
+
"dirty": isDirty.value || props.dirty,
|
22902
22926
|
"disabled": isDisabled.value,
|
22903
22927
|
"focused": isFocused.value,
|
22904
22928
|
"error": isValid.value === false
|
@@ -23243,7 +23267,7 @@
|
|
23243
23267
|
function intersecting(side) {
|
23244
23268
|
if (props.mode !== 'manual' && !isIntersecting.value) return;
|
23245
23269
|
const status = getStatus(side);
|
23246
|
-
if (!rootEl.value ||
|
23270
|
+
if (!rootEl.value || ['empty', 'loading'].includes(status)) return;
|
23247
23271
|
previousScrollSize = getScrollSize();
|
23248
23272
|
setStatus(side, 'loading');
|
23249
23273
|
function done(status) {
|
@@ -26043,13 +26067,14 @@
|
|
26043
26067
|
const group = useGroupItem(props, VStepperSymbol, true);
|
26044
26068
|
const step = vue.computed(() => group?.value.value ?? props.value);
|
26045
26069
|
const isValid = vue.computed(() => props.rules.every(handler => handler() === true));
|
26070
|
+
const isClickable = vue.computed(() => !props.disabled && props.editable);
|
26046
26071
|
const canEdit = vue.computed(() => !props.disabled && props.editable);
|
26047
26072
|
const hasError = vue.computed(() => props.error || !isValid.value);
|
26048
26073
|
const hasCompleted = vue.computed(() => props.complete || props.rules.length > 0 && isValid.value);
|
26049
26074
|
const icon = vue.computed(() => {
|
26050
26075
|
if (hasError.value) return props.errorIcon;
|
26051
26076
|
if (hasCompleted.value) return props.completeIcon;
|
26052
|
-
if (props.editable) return props.editIcon;
|
26077
|
+
if (group.isSelected.value && props.editable) return props.editIcon;
|
26053
26078
|
return props.icon;
|
26054
26079
|
});
|
26055
26080
|
const slotProps = vue.computed(() => ({
|
@@ -26076,7 +26101,7 @@
|
|
26076
26101
|
}, group?.selectedClass.value],
|
26077
26102
|
"disabled": !props.editable,
|
26078
26103
|
"onClick": onClick
|
26079
|
-
}, [vue.createVNode(VAvatar, {
|
26104
|
+
}, [isClickable.value && genOverlays(true, 'v-stepper-item'), vue.createVNode(VAvatar, {
|
26080
26105
|
"key": "stepper-avatar",
|
26081
26106
|
"class": "v-stepper-item__avatar",
|
26082
26107
|
"color": hasColor ? props.color : undefined,
|
@@ -26138,7 +26163,8 @@
|
|
26138
26163
|
}, windowProps, {
|
26139
26164
|
"modelValue": model.value,
|
26140
26165
|
"onUpdate:modelValue": $event => model.value = $event,
|
26141
|
-
"class":
|
26166
|
+
"class": ['v-stepper-window', props.class],
|
26167
|
+
"style": props.style,
|
26142
26168
|
"mandatory": false,
|
26143
26169
|
"touch": false
|
26144
26170
|
}), slots);
|
@@ -26162,7 +26188,8 @@
|
|
26162
26188
|
return vue.createVNode(VWindowItem, vue.mergeProps({
|
26163
26189
|
"_as": "VStepperWindowItem"
|
26164
26190
|
}, windowItemProps, {
|
26165
|
-
"class":
|
26191
|
+
"class": ['v-stepper-window-item', props.class],
|
26192
|
+
"style": props.style
|
26166
26193
|
}), slots);
|
26167
26194
|
});
|
26168
26195
|
return {};
|
@@ -26270,12 +26297,18 @@
|
|
26270
26297
|
default: () => [hasHeader && vue.createVNode(VStepperHeader, {
|
26271
26298
|
"key": "stepper-header"
|
26272
26299
|
}, {
|
26273
|
-
default: () => [items.value.map((
|
26274
|
-
|
26275
|
-
|
26276
|
-
|
26277
|
-
|
26278
|
-
|
26300
|
+
default: () => [items.value.map((_ref2, index) => {
|
26301
|
+
let {
|
26302
|
+
raw,
|
26303
|
+
...item
|
26304
|
+
} = _ref2;
|
26305
|
+
return vue.createVNode(vue.Fragment, null, [!!index && vue.createVNode(VDivider, null, null), vue.createVNode(VStepperItem, item, {
|
26306
|
+
default: slots[`header-item.${item.value}`] ?? slots.header,
|
26307
|
+
icon: slots.icon,
|
26308
|
+
title: slots.title,
|
26309
|
+
subtitle: slots.subtitle
|
26310
|
+
})]);
|
26311
|
+
})]
|
26279
26312
|
}), hasWindow && vue.createVNode(VStepperWindow, {
|
26280
26313
|
"key": "stepper-window"
|
26281
26314
|
}, {
|
@@ -26661,7 +26694,8 @@
|
|
26661
26694
|
}, windowProps, {
|
26662
26695
|
"modelValue": model.value,
|
26663
26696
|
"onUpdate:modelValue": $event => model.value = $event,
|
26664
|
-
"class":
|
26697
|
+
"class": ['v-tabs-window', props.class],
|
26698
|
+
"style": props.style,
|
26665
26699
|
"mandatory": false,
|
26666
26700
|
"touch": false
|
26667
26701
|
}), slots);
|
@@ -27930,7 +27964,7 @@
|
|
27930
27964
|
goTo
|
27931
27965
|
};
|
27932
27966
|
}
|
27933
|
-
const version$1 = "3.6.
|
27967
|
+
const version$1 = "3.6.4-master.2024-05-09";
|
27934
27968
|
createVuetify$1.version = version$1;
|
27935
27969
|
|
27936
27970
|
// Vue's inject() can only be used in setup
|
@@ -27955,7 +27989,7 @@
|
|
27955
27989
|
...options
|
27956
27990
|
});
|
27957
27991
|
};
|
27958
|
-
const version = "3.6.
|
27992
|
+
const version = "3.6.4-master.2024-05-09";
|
27959
27993
|
createVuetify.version = version;
|
27960
27994
|
|
27961
27995
|
exports.blueprints = index;
|