vuetify 3.6.3 → 3.6.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_component-variables-labs.sass +1 -0
- package/dist/json/attributes.json +489 -61
- package/dist/json/importMap-labs.json +30 -18
- package/dist/json/importMap.json +168 -168
- package/dist/json/tags.json +123 -1
- package/dist/json/web-types.json +1915 -198
- package/dist/vuetify-labs.css +3151 -2738
- package/dist/vuetify-labs.d.ts +3424 -1434
- package/dist/vuetify-labs.esm.js +483 -173
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +482 -172
- package/dist/vuetify-labs.min.css +3 -3
- package/dist/vuetify.css +957 -616
- package/dist/vuetify.d.ts +1451 -1380
- package/dist/vuetify.esm.js +171 -99
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +170 -98
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +3 -3
- package/dist/vuetify.min.js +982 -978
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAlert/VAlert.css +3 -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/VAvatar/VAvatar.css +3 -1
- package/lib/components/VBanner/index.d.mts +11 -11
- package/lib/components/VBottomSheet/index.d.mts +42 -42
- package/lib/components/VBtn/VBtn.css +3 -1
- package/lib/components/VBtn/index.d.mts +2 -0
- package/lib/components/VCard/VCard.css +3 -1
- package/lib/components/VCarousel/index.d.mts +6 -6
- package/lib/components/VChip/VChip.css +3 -1
- package/lib/components/VChipGroup/index.d.mts +11 -11
- 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.mjs +6 -2
- package/lib/components/VDataTable/VDataTable.mjs.map +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/VDataTableServer.mjs +3 -2
- package/lib/components/VDataTable/VDataTableServer.mjs.map +1 -1
- package/lib/components/VDataTable/VDataTableVirtual.mjs +3 -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 +130 -71
- 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/VExpansionPanel/VExpansionPanel.mjs +3 -1
- package/lib/components/VExpansionPanel/VExpansionPanel.mjs.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanels.mjs +15 -4
- package/lib/components/VExpansionPanel/VExpansionPanels.mjs.map +1 -1
- package/lib/components/VExpansionPanel/index.d.mts +82 -27
- package/lib/components/VFileInput/VFileInput.mjs +2 -2
- 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.css +3 -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/VNavigationDrawer/VNavigationDrawer.mjs +3 -1
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
- package/lib/components/VNavigationDrawer/index.d.mts +19 -13
- 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/VSlideGroup/index.d.mts +13 -11
- 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.css +3 -1
- 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/VStepper.mjs +17 -8
- package/lib/components/VStepper/VStepper.mjs.map +1 -1
- package/lib/components/VStepper/VStepperItem.css +47 -0
- package/lib/components/VStepper/VStepperItem.mjs +10 -5
- 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/VStepper/index.d.mts +1 -1
- package/lib/components/VTabs/VTabs.mjs +8 -3
- package/lib/components/VTabs/VTabs.mjs.map +1 -1
- package/lib/components/VTabs/VTabsWindow.mjs +2 -1
- package/lib/components/VTabs/VTabsWindow.mjs.map +1 -1
- package/lib/components/VTabs/index.d.mts +13 -11
- package/lib/components/VToolbar/VToolbar.css +5 -5
- package/lib/components/VToolbar/_variables.scss +3 -3
- package/lib/components/VTooltip/index.d.mts +126 -126
- package/lib/components/VVirtualScroll/VVirtualScrollItem.mjs.map +1 -1
- package/lib/components/VWindow/index.d.mts +2 -0
- package/lib/components/index.d.mts +1393 -1325
- package/lib/composables/component.mjs +1 -1
- package/lib/composables/component.mjs.map +1 -1
- package/lib/composables/display.mjs +1 -1
- package/lib/composables/display.mjs.map +1 -1
- package/lib/composables/group.mjs +8 -0
- package/lib/composables/group.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 +58 -55
- 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/VStepperVertical/VStepperVertical.mjs +106 -0
- package/lib/labs/VStepperVertical/VStepperVertical.mjs.map +1 -0
- package/lib/labs/VStepperVertical/VStepperVerticalActions.mjs +38 -0
- package/lib/labs/VStepperVertical/VStepperVerticalActions.mjs.map +1 -0
- package/lib/labs/VStepperVertical/VStepperVerticalItem.css +69 -0
- package/lib/labs/VStepperVertical/VStepperVerticalItem.mjs +134 -0
- package/lib/labs/VStepperVertical/VStepperVerticalItem.mjs.map +1 -0
- package/lib/labs/VStepperVertical/VStepperVerticalItem.sass +74 -0
- package/lib/labs/VStepperVertical/_variables.scss +3 -0
- package/lib/labs/VStepperVertical/index.d.mts +1590 -0
- package/lib/labs/VStepperVertical/index.mjs +4 -0
- package/lib/labs/VStepperVertical/index.mjs.map +1 -0
- package/lib/labs/VTreeview/VTreeview.mjs.map +1 -1
- package/lib/labs/VTreeview/index.d.mts +88 -64
- package/lib/labs/components.d.mts +2303 -339
- package/lib/labs/components.mjs +1 -0
- package/lib/labs/components.mjs.map +1 -1
- package/lib/styles/generic/_colors.scss +1 -0
- package/lib/styles/main.css +260 -0
- package/lib/styles/tools/_variant.sass +3 -1
- package/lib/util/helpers.mjs +16 -0
- package/lib/util/helpers.mjs.map +1 -1
- package/package.json +3 -3
package/dist/vuetify-labs.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Vuetify v3.6.
|
|
2
|
+
* Vuetify v3.6.5
|
|
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()
|
|
@@ -4121,6 +4137,12 @@
|
|
|
4121
4137
|
const isSelected = vue.computed(() => {
|
|
4122
4138
|
return group.isSelected(id);
|
|
4123
4139
|
});
|
|
4140
|
+
const isFirst = vue.computed(() => {
|
|
4141
|
+
return group.items.value[0].id === id;
|
|
4142
|
+
});
|
|
4143
|
+
const isLast = vue.computed(() => {
|
|
4144
|
+
return group.items.value[group.items.value.length - 1].id === id;
|
|
4145
|
+
});
|
|
4124
4146
|
const selectedClass = vue.computed(() => isSelected.value && [group.selectedClass.value, props.selectedClass]);
|
|
4125
4147
|
vue.watch(isSelected, value => {
|
|
4126
4148
|
vm.emit('group:selected', {
|
|
@@ -4132,6 +4154,8 @@
|
|
|
4132
4154
|
return {
|
|
4133
4155
|
id,
|
|
4134
4156
|
isSelected,
|
|
4157
|
+
isFirst,
|
|
4158
|
+
isLast,
|
|
4135
4159
|
toggle: () => group.select(id, !isSelected.value),
|
|
4136
4160
|
select: value => group.select(id, value),
|
|
4137
4161
|
selectedClass,
|
|
@@ -7093,7 +7117,7 @@
|
|
|
7093
7117
|
const makeDisplayProps = propsFactory({
|
|
7094
7118
|
mobile: {
|
|
7095
7119
|
type: Boolean,
|
|
7096
|
-
default:
|
|
7120
|
+
default: false
|
|
7097
7121
|
},
|
|
7098
7122
|
mobileBreakpoint: [Number, String]
|
|
7099
7123
|
}, 'display');
|
|
@@ -7388,7 +7412,7 @@
|
|
|
7388
7412
|
const goTo = useGoTo();
|
|
7389
7413
|
const goToOptions = vue.computed(() => {
|
|
7390
7414
|
return {
|
|
7391
|
-
container: containerRef.
|
|
7415
|
+
container: containerRef.el,
|
|
7392
7416
|
duration: 200,
|
|
7393
7417
|
easing: 'easeOutQuart'
|
|
7394
7418
|
};
|
|
@@ -7412,9 +7436,9 @@
|
|
|
7412
7436
|
contentSize.value = contentRect.value[sizeProperty];
|
|
7413
7437
|
isOverflowing.value = containerSize.value + 1 < contentSize.value;
|
|
7414
7438
|
}
|
|
7415
|
-
if (firstSelectedIndex.value >= 0 && contentRef.
|
|
7439
|
+
if (firstSelectedIndex.value >= 0 && contentRef.el) {
|
|
7416
7440
|
// TODO: Is this too naive? Should we store element references in group composable?
|
|
7417
|
-
const selectedElement = contentRef.
|
|
7441
|
+
const selectedElement = contentRef.el.children[lastSelectedIndex.value];
|
|
7418
7442
|
scrollToChildren(selectedElement, props.centerActive);
|
|
7419
7443
|
}
|
|
7420
7444
|
});
|
|
@@ -7425,13 +7449,13 @@
|
|
|
7425
7449
|
let target = 0;
|
|
7426
7450
|
if (center) {
|
|
7427
7451
|
target = calculateCenteredTarget({
|
|
7428
|
-
containerElement: containerRef.
|
|
7452
|
+
containerElement: containerRef.el,
|
|
7429
7453
|
isHorizontal: isHorizontal.value,
|
|
7430
7454
|
selectedElement: children
|
|
7431
7455
|
});
|
|
7432
7456
|
} else {
|
|
7433
7457
|
target = calculateUpdatedTarget({
|
|
7434
|
-
containerElement: containerRef.
|
|
7458
|
+
containerElement: containerRef.el,
|
|
7435
7459
|
isHorizontal: isHorizontal.value,
|
|
7436
7460
|
isRtl: isRtl.value,
|
|
7437
7461
|
selectedElement: children
|
|
@@ -7440,18 +7464,18 @@
|
|
|
7440
7464
|
scrollToPosition(target);
|
|
7441
7465
|
}
|
|
7442
7466
|
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.
|
|
7467
|
+
if (!IN_BROWSER || !containerRef.el) return;
|
|
7468
|
+
const offsetSize = getOffsetSize(isHorizontal.value, containerRef.el);
|
|
7469
|
+
const scrollPosition = getScrollPosition(isHorizontal.value, isRtl.value, containerRef.el);
|
|
7470
|
+
const scrollSize = getScrollSize(isHorizontal.value, containerRef.el);
|
|
7447
7471
|
if (scrollSize <= offsetSize ||
|
|
7448
7472
|
// Prevent scrolling by only a couple of pixels, which doesn't look smooth
|
|
7449
7473
|
Math.abs(newPosition - scrollPosition) < 16) return;
|
|
7450
|
-
if (isHorizontal.value && isRtl.value && containerRef.
|
|
7474
|
+
if (isHorizontal.value && isRtl.value && containerRef.el) {
|
|
7451
7475
|
const {
|
|
7452
7476
|
scrollWidth,
|
|
7453
7477
|
offsetWidth: containerWidth
|
|
7454
|
-
} = containerRef.
|
|
7478
|
+
} = containerRef.el;
|
|
7455
7479
|
newPosition = scrollWidth - containerWidth - newPosition;
|
|
7456
7480
|
}
|
|
7457
7481
|
if (isHorizontal.value) {
|
|
@@ -7469,12 +7493,12 @@
|
|
|
7469
7493
|
}
|
|
7470
7494
|
function onFocusin(e) {
|
|
7471
7495
|
isFocused.value = true;
|
|
7472
|
-
if (!isOverflowing.value || !contentRef.
|
|
7496
|
+
if (!isOverflowing.value || !contentRef.el) return;
|
|
7473
7497
|
|
|
7474
7498
|
// Focused element is likely to be the root of an item, so a
|
|
7475
7499
|
// breadth-first search will probably find it in the first iteration
|
|
7476
7500
|
for (const el of e.composedPath()) {
|
|
7477
|
-
for (const item of contentRef.
|
|
7501
|
+
for (const item of contentRef.el.children) {
|
|
7478
7502
|
if (item === el) {
|
|
7479
7503
|
scrollToChildren(item);
|
|
7480
7504
|
return;
|
|
@@ -7489,14 +7513,14 @@
|
|
|
7489
7513
|
// Affix clicks produce onFocus that we have to ignore to avoid extra scrollToChildren
|
|
7490
7514
|
let ignoreFocusEvent = false;
|
|
7491
7515
|
function onFocus(e) {
|
|
7492
|
-
if (!ignoreFocusEvent && !isFocused.value && !(e.relatedTarget && contentRef.
|
|
7516
|
+
if (!ignoreFocusEvent && !isFocused.value && !(e.relatedTarget && contentRef.el?.contains(e.relatedTarget))) focus();
|
|
7493
7517
|
ignoreFocusEvent = false;
|
|
7494
7518
|
}
|
|
7495
7519
|
function onFocusAffixes() {
|
|
7496
7520
|
ignoreFocusEvent = true;
|
|
7497
7521
|
}
|
|
7498
7522
|
function onKeydown(e) {
|
|
7499
|
-
if (!contentRef.
|
|
7523
|
+
if (!contentRef.el) return;
|
|
7500
7524
|
function toFocus(location) {
|
|
7501
7525
|
e.preventDefault();
|
|
7502
7526
|
focus(location);
|
|
@@ -7521,21 +7545,21 @@
|
|
|
7521
7545
|
}
|
|
7522
7546
|
}
|
|
7523
7547
|
function focus(location) {
|
|
7524
|
-
if (!contentRef.
|
|
7548
|
+
if (!contentRef.el) return;
|
|
7525
7549
|
let el;
|
|
7526
7550
|
if (!location) {
|
|
7527
|
-
const focusable = focusableChildren(contentRef.
|
|
7551
|
+
const focusable = focusableChildren(contentRef.el);
|
|
7528
7552
|
el = focusable[0];
|
|
7529
7553
|
} else if (location === 'next') {
|
|
7530
|
-
el = contentRef.
|
|
7554
|
+
el = contentRef.el.querySelector(':focus')?.nextElementSibling;
|
|
7531
7555
|
if (!el) return focus('first');
|
|
7532
7556
|
} else if (location === 'prev') {
|
|
7533
|
-
el = contentRef.
|
|
7557
|
+
el = contentRef.el.querySelector(':focus')?.previousElementSibling;
|
|
7534
7558
|
if (!el) return focus('last');
|
|
7535
7559
|
} else if (location === 'first') {
|
|
7536
|
-
el = contentRef.
|
|
7560
|
+
el = contentRef.el.firstElementChild;
|
|
7537
7561
|
} else if (location === 'last') {
|
|
7538
|
-
el = contentRef.
|
|
7562
|
+
el = contentRef.el.lastElementChild;
|
|
7539
7563
|
}
|
|
7540
7564
|
if (el) {
|
|
7541
7565
|
el.focus({
|
|
@@ -7549,11 +7573,11 @@
|
|
|
7549
7573
|
let newPosition = scrollOffset.value + offsetStep;
|
|
7550
7574
|
|
|
7551
7575
|
// TODO: improve it
|
|
7552
|
-
if (isHorizontal.value && isRtl.value && containerRef.
|
|
7576
|
+
if (isHorizontal.value && isRtl.value && containerRef.el) {
|
|
7553
7577
|
const {
|
|
7554
7578
|
scrollWidth,
|
|
7555
7579
|
offsetWidth: containerWidth
|
|
7556
|
-
} = containerRef.
|
|
7580
|
+
} = containerRef.el;
|
|
7557
7581
|
newPosition += scrollWidth - containerWidth;
|
|
7558
7582
|
}
|
|
7559
7583
|
scrollToPosition(newPosition);
|
|
@@ -7596,8 +7620,8 @@
|
|
|
7596
7620
|
});
|
|
7597
7621
|
const hasNext = vue.computed(() => {
|
|
7598
7622
|
if (!containerRef.value) return false;
|
|
7599
|
-
const scrollSize = getScrollSize(isHorizontal.value, containerRef.
|
|
7600
|
-
const clientSize = getClientSize(isHorizontal.value, containerRef.
|
|
7623
|
+
const scrollSize = getScrollSize(isHorizontal.value, containerRef.el);
|
|
7624
|
+
const clientSize = getClientSize(isHorizontal.value, containerRef.el);
|
|
7601
7625
|
const scrollSizeMax = scrollSize - clientSize;
|
|
7602
7626
|
|
|
7603
7627
|
// 1 pixel in reserve, may be lost after rounding
|
|
@@ -8021,14 +8045,16 @@
|
|
|
8021
8045
|
},
|
|
8022
8046
|
in: (v, children, parents) => {
|
|
8023
8047
|
let set = new Set();
|
|
8024
|
-
|
|
8025
|
-
|
|
8026
|
-
|
|
8027
|
-
|
|
8028
|
-
|
|
8029
|
-
|
|
8030
|
-
|
|
8031
|
-
|
|
8048
|
+
if (v != null) {
|
|
8049
|
+
for (const id of wrapInArray(v)) {
|
|
8050
|
+
set = strategy.activate({
|
|
8051
|
+
id,
|
|
8052
|
+
value: true,
|
|
8053
|
+
activated: new Set(set),
|
|
8054
|
+
children,
|
|
8055
|
+
parents
|
|
8056
|
+
});
|
|
8057
|
+
}
|
|
8032
8058
|
}
|
|
8033
8059
|
return set;
|
|
8034
8060
|
},
|
|
@@ -8057,8 +8083,11 @@
|
|
|
8057
8083
|
},
|
|
8058
8084
|
in: (v, children, parents) => {
|
|
8059
8085
|
let set = new Set();
|
|
8060
|
-
if (v
|
|
8061
|
-
|
|
8086
|
+
if (v != null) {
|
|
8087
|
+
const arr = wrapInArray(v);
|
|
8088
|
+
if (arr.length) {
|
|
8089
|
+
set = parentStrategy.in(arr.slice(0, 1), children, parents);
|
|
8090
|
+
}
|
|
8062
8091
|
}
|
|
8063
8092
|
return set;
|
|
8064
8093
|
},
|
|
@@ -8402,12 +8431,12 @@
|
|
|
8402
8431
|
const makeNestedProps = propsFactory({
|
|
8403
8432
|
activatable: Boolean,
|
|
8404
8433
|
selectable: Boolean,
|
|
8405
|
-
activeStrategy: [String, Function],
|
|
8406
|
-
selectStrategy: [String, Function],
|
|
8434
|
+
activeStrategy: [String, Function, Object],
|
|
8435
|
+
selectStrategy: [String, Function, Object],
|
|
8407
8436
|
openStrategy: [String, Object],
|
|
8408
|
-
opened:
|
|
8409
|
-
activated:
|
|
8410
|
-
selected:
|
|
8437
|
+
opened: null,
|
|
8438
|
+
activated: null,
|
|
8439
|
+
selected: null,
|
|
8411
8440
|
mandatory: Boolean
|
|
8412
8441
|
}, 'nested');
|
|
8413
8442
|
const useNested = props => {
|
|
@@ -8417,6 +8446,7 @@
|
|
|
8417
8446
|
const opened = useProxiedModel(props, 'opened', props.opened, v => new Set(v), v => [...v.values()]);
|
|
8418
8447
|
const activeStrategy = vue.computed(() => {
|
|
8419
8448
|
if (typeof props.activeStrategy === 'object') return props.activeStrategy;
|
|
8449
|
+
if (typeof props.activeStrategy === 'function') return props.activeStrategy(props.mandatory);
|
|
8420
8450
|
switch (props.activeStrategy) {
|
|
8421
8451
|
case 'leaf':
|
|
8422
8452
|
return leafActiveStrategy(props.mandatory);
|
|
@@ -8431,6 +8461,7 @@
|
|
|
8431
8461
|
});
|
|
8432
8462
|
const selectStrategy = vue.computed(() => {
|
|
8433
8463
|
if (typeof props.selectStrategy === 'object') return props.selectStrategy;
|
|
8464
|
+
if (typeof props.selectStrategy === 'function') return props.selectStrategy(props.mandatory);
|
|
8434
8465
|
switch (props.selectStrategy) {
|
|
8435
8466
|
case 'single-leaf':
|
|
8436
8467
|
return leafSingleSelectStrategy(props.mandatory);
|
|
@@ -8759,7 +8790,7 @@
|
|
|
8759
8790
|
appendIcon: IconValue,
|
|
8760
8791
|
baseColor: String,
|
|
8761
8792
|
disabled: Boolean,
|
|
8762
|
-
lines: String,
|
|
8793
|
+
lines: [Boolean, String],
|
|
8763
8794
|
link: {
|
|
8764
8795
|
type: Boolean,
|
|
8765
8796
|
default: undefined
|
|
@@ -8870,8 +8901,9 @@
|
|
|
8870
8901
|
}));
|
|
8871
8902
|
function onClick(e) {
|
|
8872
8903
|
emit('click', e);
|
|
8873
|
-
if (
|
|
8904
|
+
if (!isClickable.value) return;
|
|
8874
8905
|
link.navigate?.(e);
|
|
8906
|
+
if (isGroupActivator) return;
|
|
8875
8907
|
if (root.activatable.value) {
|
|
8876
8908
|
activate(!isActivated.value, e);
|
|
8877
8909
|
} else if (root.selectable.value) {
|
|
@@ -10330,17 +10362,17 @@
|
|
|
10330
10362
|
}, {
|
|
10331
10363
|
flush: 'post'
|
|
10332
10364
|
});
|
|
10333
|
-
const activatorRef =
|
|
10365
|
+
const activatorRef = templateRef();
|
|
10334
10366
|
vue.watchEffect(() => {
|
|
10335
10367
|
if (!activatorRef.value) return;
|
|
10336
10368
|
vue.nextTick(() => {
|
|
10337
|
-
activatorEl.value =
|
|
10369
|
+
activatorEl.value = activatorRef.el;
|
|
10338
10370
|
});
|
|
10339
10371
|
});
|
|
10340
|
-
const targetRef =
|
|
10372
|
+
const targetRef = templateRef();
|
|
10341
10373
|
const target = vue.computed(() => {
|
|
10342
10374
|
if (props.target === 'cursor' && cursorTarget.value) return cursorTarget.value;
|
|
10343
|
-
if (targetRef.value) return
|
|
10375
|
+
if (targetRef.value) return targetRef.el;
|
|
10344
10376
|
return getTarget(props.target, vm) || activatorEl.value;
|
|
10345
10377
|
});
|
|
10346
10378
|
const targetEl = vue.computed(() => {
|
|
@@ -10685,10 +10717,7 @@
|
|
|
10685
10717
|
disabled: Boolean,
|
|
10686
10718
|
opacity: [Number, String],
|
|
10687
10719
|
noClickAnimation: Boolean,
|
|
10688
|
-
modelValue:
|
|
10689
|
-
type: Boolean,
|
|
10690
|
-
default: null
|
|
10691
|
-
},
|
|
10720
|
+
modelValue: Boolean,
|
|
10692
10721
|
persistent: Boolean,
|
|
10693
10722
|
scrim: {
|
|
10694
10723
|
type: [Boolean, String],
|
|
@@ -10731,7 +10760,7 @@
|
|
|
10731
10760
|
} = _ref;
|
|
10732
10761
|
const model = useProxiedModel(props, 'modelValue');
|
|
10733
10762
|
const isActive = vue.computed({
|
|
10734
|
-
get: () =>
|
|
10763
|
+
get: () => model.value,
|
|
10735
10764
|
set: v => {
|
|
10736
10765
|
if (!(v && props.disabled)) model.value = v;
|
|
10737
10766
|
}
|
|
@@ -12968,7 +12997,7 @@
|
|
|
12968
12997
|
select(displayItems.value[0]);
|
|
12969
12998
|
}
|
|
12970
12999
|
menu.value = false;
|
|
12971
|
-
search.value = '';
|
|
13000
|
+
if (props.multiple || hasSelectionSlot.value) search.value = '';
|
|
12972
13001
|
selectionIndex.value = -1;
|
|
12973
13002
|
}
|
|
12974
13003
|
});
|
|
@@ -14812,7 +14841,7 @@
|
|
|
14812
14841
|
const {
|
|
14813
14842
|
resizeRef
|
|
14814
14843
|
} = useResizeObserver(entries => {
|
|
14815
|
-
if (!resizeRef.
|
|
14844
|
+
if (!resizeRef.el?.offsetParent) return;
|
|
14816
14845
|
const {
|
|
14817
14846
|
width,
|
|
14818
14847
|
height
|
|
@@ -18435,6 +18464,7 @@
|
|
|
18435
18464
|
});
|
|
18436
18465
|
return !!items.length && isSelected(items);
|
|
18437
18466
|
});
|
|
18467
|
+
const showSelectAll = vue.computed(() => selectStrategy.value.showSelectAll);
|
|
18438
18468
|
const data = {
|
|
18439
18469
|
toggleSelect,
|
|
18440
18470
|
select,
|
|
@@ -18443,7 +18473,7 @@
|
|
|
18443
18473
|
isSomeSelected,
|
|
18444
18474
|
someSelected,
|
|
18445
18475
|
allSelected,
|
|
18446
|
-
showSelectAll
|
|
18476
|
+
showSelectAll
|
|
18447
18477
|
};
|
|
18448
18478
|
vue.provide(VDataTableSelectionSymbol, data);
|
|
18449
18479
|
return data;
|
|
@@ -19714,7 +19744,7 @@
|
|
|
19714
19744
|
};
|
|
19715
19745
|
if (slots[columnSlotName]) return slots[columnSlotName](columnSlotProps);
|
|
19716
19746
|
if (column.key === 'data-table-select') {
|
|
19717
|
-
return slots['header.data-table-select']?.(columnSlotProps) ?? (showSelectAll && vue.createVNode(VCheckboxBtn, {
|
|
19747
|
+
return slots['header.data-table-select']?.(columnSlotProps) ?? (showSelectAll.value && vue.createVNode(VCheckboxBtn, {
|
|
19718
19748
|
"modelValue": allSelected.value,
|
|
19719
19749
|
"indeterminate": someSelected.value && !allSelected.value,
|
|
19720
19750
|
"onUpdate:modelValue": selectAll
|
|
@@ -20233,6 +20263,8 @@
|
|
|
20233
20263
|
|
|
20234
20264
|
const makeDataTableProps = propsFactory({
|
|
20235
20265
|
...makeVDataTableRowsProps(),
|
|
20266
|
+
hideDefaultFooter: Boolean,
|
|
20267
|
+
hideDefaultHeader: Boolean,
|
|
20236
20268
|
width: [String, Number],
|
|
20237
20269
|
search: String,
|
|
20238
20270
|
...makeDataTableExpandProps(),
|
|
@@ -20415,10 +20447,12 @@
|
|
|
20415
20447
|
"style": props.style
|
|
20416
20448
|
}, tableProps), {
|
|
20417
20449
|
top: () => slots.top?.(slotProps.value),
|
|
20418
|
-
default: () => slots.default ? slots.default(slotProps.value) : vue.createVNode(vue.Fragment, null, [slots.colgroup?.(slotProps.value),
|
|
20450
|
+
default: () => slots.default ? slots.default(slotProps.value) : vue.createVNode(vue.Fragment, null, [slots.colgroup?.(slotProps.value), !props.hideDefaultHeader && vue.createVNode("thead", {
|
|
20451
|
+
"key": "thead"
|
|
20452
|
+
}, [vue.createVNode(VDataTableHeaders, dataTableHeadersProps, slots)]), slots.thead?.(slotProps.value), vue.createVNode("tbody", null, [slots['body.prepend']?.(slotProps.value), slots.body ? slots.body(slotProps.value) : vue.createVNode(VDataTableRows, vue.mergeProps(attrs, dataTableRowsProps, {
|
|
20419
20453
|
"items": paginatedItems.value
|
|
20420
20454
|
}), slots), slots['body.append']?.(slotProps.value)]), slots.tbody?.(slotProps.value), slots.tfoot?.(slotProps.value)]),
|
|
20421
|
-
bottom: () => slots.bottom ? slots.bottom(slotProps.value) : vue.createVNode(vue.Fragment, null, [vue.createVNode(VDivider, null, null), vue.createVNode(VDataTableFooter, dataTableFooterProps, {
|
|
20455
|
+
bottom: () => slots.bottom ? slots.bottom(slotProps.value) : !props.hideDefaultFooter && vue.createVNode(vue.Fragment, null, [vue.createVNode(VDivider, null, null), vue.createVNode(VDataTableFooter, dataTableFooterProps, {
|
|
20422
20456
|
prepend: slots['footer.prepend']
|
|
20423
20457
|
})])
|
|
20424
20458
|
});
|
|
@@ -20586,7 +20620,9 @@
|
|
|
20586
20620
|
"style": {
|
|
20587
20621
|
height: convertToUnit(props.height)
|
|
20588
20622
|
}
|
|
20589
|
-
}, [vue.createVNode("table", null, [slots.colgroup?.(slotProps.value), vue.createVNode("thead",
|
|
20623
|
+
}, [vue.createVNode("table", null, [slots.colgroup?.(slotProps.value), !props.hideDefaultHeader && vue.createVNode("thead", {
|
|
20624
|
+
"key": "thead"
|
|
20625
|
+
}, [vue.createVNode(VDataTableHeaders, vue.mergeProps(dataTableHeadersProps, {
|
|
20590
20626
|
"sticky": props.fixedHeader
|
|
20591
20627
|
}), slots)]), vue.createVNode("tbody", null, [vue.createVNode("tr", {
|
|
20592
20628
|
"ref": markerRef,
|
|
@@ -20791,7 +20827,8 @@
|
|
|
20791
20827
|
"style": props.style
|
|
20792
20828
|
}, tableProps), {
|
|
20793
20829
|
top: () => slots.top?.(slotProps.value),
|
|
20794
|
-
default: () => slots.default ? slots.default(slotProps.value) : vue.createVNode(vue.Fragment, null, [slots.colgroup?.(slotProps.value), vue.createVNode("thead", {
|
|
20830
|
+
default: () => slots.default ? slots.default(slotProps.value) : vue.createVNode(vue.Fragment, null, [slots.colgroup?.(slotProps.value), !props.hideDefaultHeader && vue.createVNode("thead", {
|
|
20831
|
+
"key": "thead",
|
|
20795
20832
|
"class": "v-data-table__thead",
|
|
20796
20833
|
"role": "rowgroup"
|
|
20797
20834
|
}, [vue.createVNode(VDataTableHeaders, vue.mergeProps(dataTableHeadersProps, {
|
|
@@ -20802,7 +20839,7 @@
|
|
|
20802
20839
|
}, [slots['body.prepend']?.(slotProps.value), slots.body ? slots.body(slotProps.value) : vue.createVNode(VDataTableRows, vue.mergeProps(attrs, dataTableRowsProps, {
|
|
20803
20840
|
"items": flatItems.value
|
|
20804
20841
|
}), slots), slots['body.append']?.(slotProps.value)]), slots.tbody?.(slotProps.value), slots.tfoot?.(slotProps.value)]),
|
|
20805
|
-
bottom: () => slots.bottom ? slots.bottom(slotProps.value) : vue.createVNode(vue.Fragment, null, [vue.createVNode(VDivider, null, null), vue.createVNode(VDataTableFooter, dataTableFooterProps, {
|
|
20842
|
+
bottom: () => slots.bottom ? slots.bottom(slotProps.value) : !props.hideDefaultFooter && vue.createVNode(vue.Fragment, null, [vue.createVNode(VDivider, null, null), vue.createVNode(VDataTableFooter, dataTableFooterProps, {
|
|
20806
20843
|
prepend: slots['footer.prepend']
|
|
20807
20844
|
})])
|
|
20808
20845
|
});
|
|
@@ -21683,10 +21720,10 @@
|
|
|
21683
21720
|
vue.watchEffect(() => {
|
|
21684
21721
|
model.value = model.value ?? adapter.getYear(adapter.date());
|
|
21685
21722
|
});
|
|
21686
|
-
const yearRef =
|
|
21723
|
+
const yearRef = templateRef();
|
|
21687
21724
|
vue.onMounted(async () => {
|
|
21688
21725
|
await vue.nextTick();
|
|
21689
|
-
yearRef.
|
|
21726
|
+
yearRef.el?.scrollIntoView({
|
|
21690
21727
|
block: 'center'
|
|
21691
21728
|
});
|
|
21692
21729
|
});
|
|
@@ -22346,7 +22383,9 @@
|
|
|
22346
22383
|
}), slots.default?.()]
|
|
22347
22384
|
});
|
|
22348
22385
|
});
|
|
22349
|
-
return {
|
|
22386
|
+
return {
|
|
22387
|
+
groupItem
|
|
22388
|
+
};
|
|
22350
22389
|
}
|
|
22351
22390
|
});
|
|
22352
22391
|
|
|
@@ -22375,7 +22414,10 @@
|
|
|
22375
22414
|
let {
|
|
22376
22415
|
slots
|
|
22377
22416
|
} = _ref;
|
|
22378
|
-
|
|
22417
|
+
const {
|
|
22418
|
+
next,
|
|
22419
|
+
prev
|
|
22420
|
+
} = useGroup(props, VExpansionPanelSymbol);
|
|
22379
22421
|
const {
|
|
22380
22422
|
themeClasses
|
|
22381
22423
|
} = provideTheme(props);
|
|
@@ -22402,8 +22444,16 @@
|
|
|
22402
22444
|
'v-expansion-panels--tile': props.tile
|
|
22403
22445
|
}, themeClasses.value, variantClass.value, props.class],
|
|
22404
22446
|
"style": props.style
|
|
22405
|
-
},
|
|
22406
|
-
|
|
22447
|
+
}, {
|
|
22448
|
+
default: () => [slots.default?.({
|
|
22449
|
+
prev,
|
|
22450
|
+
next
|
|
22451
|
+
})]
|
|
22452
|
+
}));
|
|
22453
|
+
return {
|
|
22454
|
+
next,
|
|
22455
|
+
prev
|
|
22456
|
+
};
|
|
22407
22457
|
}
|
|
22408
22458
|
});
|
|
22409
22459
|
|
|
@@ -22563,7 +22613,7 @@
|
|
|
22563
22613
|
const {
|
|
22564
22614
|
t
|
|
22565
22615
|
} = useLocale();
|
|
22566
|
-
const model = useProxiedModel(props, 'modelValue', props.modelValue, val => wrapInArray(val), val => props.multiple || Array.isArray(props.modelValue) ? val : val[0]);
|
|
22616
|
+
const model = useProxiedModel(props, 'modelValue', props.modelValue, val => wrapInArray(val), val => props.multiple || Array.isArray(props.modelValue) ? val : val[0] ?? null);
|
|
22567
22617
|
const {
|
|
22568
22618
|
isFocused,
|
|
22569
22619
|
focus,
|
|
@@ -22667,7 +22717,7 @@
|
|
|
22667
22717
|
}, fieldProps, {
|
|
22668
22718
|
"id": id.value,
|
|
22669
22719
|
"active": isActive.value || isDirty.value,
|
|
22670
|
-
"dirty": isDirty.value,
|
|
22720
|
+
"dirty": isDirty.value || props.dirty,
|
|
22671
22721
|
"disabled": isDisabled.value,
|
|
22672
22722
|
"focused": isFocused.value,
|
|
22673
22723
|
"error": isValid.value === false
|
|
@@ -23012,7 +23062,7 @@
|
|
|
23012
23062
|
function intersecting(side) {
|
|
23013
23063
|
if (props.mode !== 'manual' && !isIntersecting.value) return;
|
|
23014
23064
|
const status = getStatus(side);
|
|
23015
|
-
if (!rootEl.value ||
|
|
23065
|
+
if (!rootEl.value || ['empty', 'loading'].includes(status)) return;
|
|
23016
23066
|
previousScrollSize = getScrollSize();
|
|
23017
23067
|
setStatus(side, 'loading');
|
|
23018
23068
|
function done(status) {
|
|
@@ -23758,7 +23808,9 @@
|
|
|
23758
23808
|
...makeBorderProps(),
|
|
23759
23809
|
...makeComponentProps(),
|
|
23760
23810
|
...makeDelayProps(),
|
|
23761
|
-
...makeDisplayProps(
|
|
23811
|
+
...makeDisplayProps({
|
|
23812
|
+
mobile: null
|
|
23813
|
+
}),
|
|
23762
23814
|
...makeElevationProps(),
|
|
23763
23815
|
...makeLayoutItemProps(),
|
|
23764
23816
|
...makeRoundedProps(),
|
|
@@ -25764,7 +25816,7 @@
|
|
|
25764
25816
|
|
|
25765
25817
|
// Types
|
|
25766
25818
|
|
|
25767
|
-
const
|
|
25819
|
+
const makeStepperItemProps = propsFactory({
|
|
25768
25820
|
color: String,
|
|
25769
25821
|
title: String,
|
|
25770
25822
|
subtitle: String,
|
|
@@ -25791,7 +25843,10 @@
|
|
|
25791
25843
|
rules: {
|
|
25792
25844
|
type: Array,
|
|
25793
25845
|
default: () => []
|
|
25794
|
-
}
|
|
25846
|
+
}
|
|
25847
|
+
}, 'StepperItem');
|
|
25848
|
+
const makeVStepperItemProps = propsFactory({
|
|
25849
|
+
...makeStepperItemProps(),
|
|
25795
25850
|
...makeGroupItemProps()
|
|
25796
25851
|
}, 'VStepperItem');
|
|
25797
25852
|
const VStepperItem = genericComponent()({
|
|
@@ -25810,13 +25865,14 @@
|
|
|
25810
25865
|
const group = useGroupItem(props, VStepperSymbol, true);
|
|
25811
25866
|
const step = vue.computed(() => group?.value.value ?? props.value);
|
|
25812
25867
|
const isValid = vue.computed(() => props.rules.every(handler => handler() === true));
|
|
25868
|
+
const isClickable = vue.computed(() => !props.disabled && props.editable);
|
|
25813
25869
|
const canEdit = vue.computed(() => !props.disabled && props.editable);
|
|
25814
25870
|
const hasError = vue.computed(() => props.error || !isValid.value);
|
|
25815
25871
|
const hasCompleted = vue.computed(() => props.complete || props.rules.length > 0 && isValid.value);
|
|
25816
25872
|
const icon = vue.computed(() => {
|
|
25817
25873
|
if (hasError.value) return props.errorIcon;
|
|
25818
25874
|
if (hasCompleted.value) return props.completeIcon;
|
|
25819
|
-
if (props.editable) return props.editIcon;
|
|
25875
|
+
if (group.isSelected.value && props.editable) return props.editIcon;
|
|
25820
25876
|
return props.icon;
|
|
25821
25877
|
});
|
|
25822
25878
|
const slotProps = vue.computed(() => ({
|
|
@@ -25843,7 +25899,7 @@
|
|
|
25843
25899
|
}, group?.selectedClass.value],
|
|
25844
25900
|
"disabled": !props.editable,
|
|
25845
25901
|
"onClick": onClick
|
|
25846
|
-
}, [vue.createVNode(VAvatar, {
|
|
25902
|
+
}, [isClickable.value && genOverlays(true, 'v-stepper-item'), vue.createVNode(VAvatar, {
|
|
25847
25903
|
"key": "stepper-avatar",
|
|
25848
25904
|
"class": "v-stepper-item__avatar",
|
|
25849
25905
|
"color": hasColor ? props.color : undefined,
|
|
@@ -25905,7 +25961,8 @@
|
|
|
25905
25961
|
}, windowProps, {
|
|
25906
25962
|
"modelValue": model.value,
|
|
25907
25963
|
"onUpdate:modelValue": $event => model.value = $event,
|
|
25908
|
-
"class":
|
|
25964
|
+
"class": ['v-stepper-window', props.class],
|
|
25965
|
+
"style": props.style,
|
|
25909
25966
|
"mandatory": false,
|
|
25910
25967
|
"touch": false
|
|
25911
25968
|
}), slots);
|
|
@@ -25929,7 +25986,8 @@
|
|
|
25929
25986
|
return vue.createVNode(VWindowItem, vue.mergeProps({
|
|
25930
25987
|
"_as": "VStepperWindowItem"
|
|
25931
25988
|
}, windowItemProps, {
|
|
25932
|
-
"class":
|
|
25989
|
+
"class": ['v-stepper-window-item', props.class],
|
|
25990
|
+
"style": props.style
|
|
25933
25991
|
}), slots);
|
|
25934
25992
|
});
|
|
25935
25993
|
return {};
|
|
@@ -25939,7 +25997,7 @@
|
|
|
25939
25997
|
// Types
|
|
25940
25998
|
|
|
25941
25999
|
const VStepperSymbol = Symbol.for('vuetify:v-stepper');
|
|
25942
|
-
const
|
|
26000
|
+
const makeStepperProps = propsFactory({
|
|
25943
26001
|
altLabels: Boolean,
|
|
25944
26002
|
bgColor: String,
|
|
25945
26003
|
editable: Boolean,
|
|
@@ -25958,7 +26016,10 @@
|
|
|
25958
26016
|
},
|
|
25959
26017
|
mobile: Boolean,
|
|
25960
26018
|
nonLinear: Boolean,
|
|
25961
|
-
flat: Boolean
|
|
26019
|
+
flat: Boolean
|
|
26020
|
+
}, 'Stepper');
|
|
26021
|
+
const makeVStepperProps = propsFactory({
|
|
26022
|
+
...makeStepperProps(),
|
|
25962
26023
|
...makeGroupProps({
|
|
25963
26024
|
mandatory: 'force',
|
|
25964
26025
|
selectedClass: 'v-stepper-item--selected'
|
|
@@ -26037,12 +26098,18 @@
|
|
|
26037
26098
|
default: () => [hasHeader && vue.createVNode(VStepperHeader, {
|
|
26038
26099
|
"key": "stepper-header"
|
|
26039
26100
|
}, {
|
|
26040
|
-
default: () => [items.value.map((
|
|
26041
|
-
|
|
26042
|
-
|
|
26043
|
-
|
|
26044
|
-
|
|
26045
|
-
|
|
26101
|
+
default: () => [items.value.map((_ref2, index) => {
|
|
26102
|
+
let {
|
|
26103
|
+
raw,
|
|
26104
|
+
...item
|
|
26105
|
+
} = _ref2;
|
|
26106
|
+
return vue.createVNode(vue.Fragment, null, [!!index && vue.createVNode(VDivider, null, null), vue.createVNode(VStepperItem, item, {
|
|
26107
|
+
default: slots[`header-item.${item.value}`] ?? slots.header,
|
|
26108
|
+
icon: slots.icon,
|
|
26109
|
+
title: slots.title,
|
|
26110
|
+
subtitle: slots.subtitle
|
|
26111
|
+
})]);
|
|
26112
|
+
})]
|
|
26046
26113
|
}), hasWindow && vue.createVNode(VStepperWindow, {
|
|
26047
26114
|
"key": "stepper-window"
|
|
26048
26115
|
}, {
|
|
@@ -26428,7 +26495,8 @@
|
|
|
26428
26495
|
}, windowProps, {
|
|
26429
26496
|
"modelValue": model.value,
|
|
26430
26497
|
"onUpdate:modelValue": $event => model.value = $event,
|
|
26431
|
-
"class":
|
|
26498
|
+
"class": ['v-tabs-window', props.class],
|
|
26499
|
+
"style": props.style,
|
|
26432
26500
|
"mandatory": false,
|
|
26433
26501
|
"touch": false
|
|
26434
26502
|
}), slots);
|
|
@@ -26505,6 +26573,7 @@
|
|
|
26505
26573
|
},
|
|
26506
26574
|
setup(props, _ref) {
|
|
26507
26575
|
let {
|
|
26576
|
+
attrs,
|
|
26508
26577
|
slots
|
|
26509
26578
|
} = _ref;
|
|
26510
26579
|
const model = useProxiedModel(props, 'modelValue');
|
|
@@ -26516,6 +26585,9 @@
|
|
|
26516
26585
|
backgroundColorClasses,
|
|
26517
26586
|
backgroundColorStyles
|
|
26518
26587
|
} = useBackgroundColor(vue.toRef(props, 'bgColor'));
|
|
26588
|
+
const {
|
|
26589
|
+
scopeId
|
|
26590
|
+
} = useScopeId();
|
|
26519
26591
|
provideDefaults({
|
|
26520
26592
|
VTab: {
|
|
26521
26593
|
color: vue.toRef(props, 'color'),
|
|
@@ -26542,7 +26614,7 @@
|
|
|
26542
26614
|
}, backgroundColorStyles.value, props.style],
|
|
26543
26615
|
"role": "tablist",
|
|
26544
26616
|
"symbol": VTabsSymbol
|
|
26545
|
-
}), {
|
|
26617
|
+
}, scopeId, attrs), {
|
|
26546
26618
|
default: () => [slots.default?.() ?? items.value.map(item => slots.tab?.({
|
|
26547
26619
|
item
|
|
26548
26620
|
}) ?? vue.createVNode(VTab, vue.mergeProps(item, {
|
|
@@ -26553,11 +26625,11 @@
|
|
|
26553
26625
|
item
|
|
26554
26626
|
})
|
|
26555
26627
|
}))]
|
|
26556
|
-
}), hasWindow && vue.createVNode(VTabsWindow, {
|
|
26628
|
+
}), hasWindow && vue.createVNode(VTabsWindow, vue.mergeProps({
|
|
26557
26629
|
"modelValue": model.value,
|
|
26558
26630
|
"onUpdate:modelValue": $event => model.value = $event,
|
|
26559
26631
|
"key": "tabs-window"
|
|
26560
|
-
}, {
|
|
26632
|
+
}, scopeId), {
|
|
26561
26633
|
default: () => [items.value.map(item => slots.item?.({
|
|
26562
26634
|
item
|
|
26563
26635
|
}) ?? vue.createVNode(VTabsWindowItem, {
|
|
@@ -27842,19 +27914,13 @@
|
|
|
27842
27914
|
type: Number,
|
|
27843
27915
|
default: 1
|
|
27844
27916
|
},
|
|
27845
|
-
...
|
|
27846
|
-
...only(makeVFieldProps(), ['baseColor', 'bgColor', 'class', 'color', 'disabled', 'error', 'loading', 'reverse', 'rounded', 'style', 'theme', 'variant']),
|
|
27847
|
-
...makeFocusProps()
|
|
27917
|
+
...omit(makeVTextFieldProps(), ['appendInnerIcon', 'prependInnerIcon'])
|
|
27848
27918
|
}, 'VNumberInput');
|
|
27849
27919
|
const VNumberInput = genericComponent()({
|
|
27850
27920
|
name: 'VNumberInput',
|
|
27851
27921
|
inheritAttrs: false,
|
|
27852
27922
|
props: {
|
|
27853
|
-
...makeVNumberInputProps()
|
|
27854
|
-
modelValue: {
|
|
27855
|
-
type: Number,
|
|
27856
|
-
default: undefined
|
|
27857
|
-
}
|
|
27923
|
+
...makeVNumberInputProps()
|
|
27858
27924
|
},
|
|
27859
27925
|
emits: {
|
|
27860
27926
|
'update:modelValue': val => true
|
|
@@ -27866,12 +27932,6 @@
|
|
|
27866
27932
|
slots
|
|
27867
27933
|
} = _ref;
|
|
27868
27934
|
const model = useProxiedModel(props, 'modelValue');
|
|
27869
|
-
const {
|
|
27870
|
-
isFocused,
|
|
27871
|
-
focus,
|
|
27872
|
-
blur
|
|
27873
|
-
} = useFocus(props);
|
|
27874
|
-
const inputRef = vue.ref();
|
|
27875
27935
|
const stepDecimals = vue.computed(() => getDecimals(props.step));
|
|
27876
27936
|
const modelDecimals = vue.computed(() => model.value != null ? getDecimals(model.value) : 0);
|
|
27877
27937
|
const canIncrease = vue.computed(() => {
|
|
@@ -27887,9 +27947,6 @@
|
|
|
27887
27947
|
model.value = clamp(model.value, props.min, props.max);
|
|
27888
27948
|
}
|
|
27889
27949
|
});
|
|
27890
|
-
function onFocus() {
|
|
27891
|
-
if (!isFocused.value) focus();
|
|
27892
|
-
}
|
|
27893
27950
|
const controlVariant = vue.computed(() => {
|
|
27894
27951
|
return props.hideInput ? 'stacked' : props.controlVariant;
|
|
27895
27952
|
});
|
|
@@ -27919,7 +27976,7 @@
|
|
|
27919
27976
|
toggleUpDown(false);
|
|
27920
27977
|
}
|
|
27921
27978
|
function onKeydown(e) {
|
|
27922
|
-
if (['Enter', 'ArrowLeft', 'ArrowRight', 'Backspace'].includes(e.key) || e.ctrlKey) return;
|
|
27979
|
+
if (['Enter', 'ArrowLeft', 'ArrowRight', 'Backspace', 'Tab'].includes(e.key) || e.ctrlKey) return;
|
|
27923
27980
|
if (['ArrowDown'].includes(e.key)) {
|
|
27924
27981
|
e.preventDefault();
|
|
27925
27982
|
toggleUpDown(false);
|
|
@@ -27936,17 +27993,14 @@
|
|
|
27936
27993
|
e.preventDefault();
|
|
27937
27994
|
}
|
|
27938
27995
|
}
|
|
27939
|
-
function
|
|
27940
|
-
|
|
27941
|
-
model.value = el.value ? +el.value : undefined;
|
|
27996
|
+
function onModelUpdate(v) {
|
|
27997
|
+
model.value = v ? +v : undefined;
|
|
27942
27998
|
}
|
|
27943
27999
|
useRender(() => {
|
|
27944
|
-
const fieldProps = filterFieldProps(props);
|
|
27945
|
-
const [rootAttrs, inputAttrs] = filterInputAttrs(attrs);
|
|
27946
28000
|
const {
|
|
27947
28001
|
modelValue: _,
|
|
27948
|
-
...
|
|
27949
|
-
} =
|
|
28002
|
+
...textFieldProps
|
|
28003
|
+
} = VTextField.filterProps(props);
|
|
27950
28004
|
function controlNode() {
|
|
27951
28005
|
const defaultHeight = controlVariant.value === 'stacked' ? 'auto' : '100%';
|
|
27952
28006
|
return vue.createVNode("div", {
|
|
@@ -27959,6 +28013,7 @@
|
|
|
27959
28013
|
"name": "decrement-btn",
|
|
27960
28014
|
"icon": "$expand",
|
|
27961
28015
|
"size": "small",
|
|
28016
|
+
"tabindex": "-1",
|
|
27962
28017
|
"onClick": onClickDown
|
|
27963
28018
|
}, null) : vue.createVNode(VDefaultsProvider, {
|
|
27964
28019
|
"key": "decrement-defaults",
|
|
@@ -27983,7 +28038,8 @@
|
|
|
27983
28038
|
"name": "increment-btn",
|
|
27984
28039
|
"icon": "$collapse",
|
|
27985
28040
|
"onClick": onClickUp,
|
|
27986
|
-
"size": "small"
|
|
28041
|
+
"size": "small",
|
|
28042
|
+
"tabindex": "-1"
|
|
27987
28043
|
}, null) : vue.createVNode(VDefaultsProvider, {
|
|
27988
28044
|
"key": "increment-defaults",
|
|
27989
28045
|
"defaults": {
|
|
@@ -28004,7 +28060,36 @@
|
|
|
28004
28060
|
"vertical": true
|
|
28005
28061
|
}, null) : undefined;
|
|
28006
28062
|
}
|
|
28007
|
-
|
|
28063
|
+
const appendInnerControl = controlVariant.value === 'split' ? vue.createVNode("div", {
|
|
28064
|
+
"class": "v-number-input__control"
|
|
28065
|
+
}, [vue.createVNode(VDivider, {
|
|
28066
|
+
"vertical": true
|
|
28067
|
+
}, null), vue.createVNode(VBtn, {
|
|
28068
|
+
"flat": true,
|
|
28069
|
+
"height": "100%",
|
|
28070
|
+
"icon": "$plus",
|
|
28071
|
+
"tile": true,
|
|
28072
|
+
"tabindex": "-1",
|
|
28073
|
+
"onClick": onClickUp
|
|
28074
|
+
}, null)]) : !props.reverse ? vue.createVNode(vue.Fragment, null, [dividerNode(), controlNode()]) : undefined;
|
|
28075
|
+
const hasAppendInner = slots['append-inner'] || appendInnerControl;
|
|
28076
|
+
const prependInnerControl = controlVariant.value === 'split' ? vue.createVNode("div", {
|
|
28077
|
+
"class": "v-number-input__control"
|
|
28078
|
+
}, [vue.createVNode(VBtn, {
|
|
28079
|
+
"flat": true,
|
|
28080
|
+
"height": "100%",
|
|
28081
|
+
"icon": "$minus",
|
|
28082
|
+
"tile": true,
|
|
28083
|
+
"tabindex": "-1",
|
|
28084
|
+
"onClick": onClickDown
|
|
28085
|
+
}, null), vue.createVNode(VDivider, {
|
|
28086
|
+
"vertical": true
|
|
28087
|
+
}, null)]) : props.reverse ? vue.createVNode(vue.Fragment, null, [controlNode(), dividerNode()]) : undefined;
|
|
28088
|
+
const hasPrependInner = slots['prepend-inner'] || prependInnerControl;
|
|
28089
|
+
return vue.createVNode(VTextField, vue.mergeProps({
|
|
28090
|
+
"modelValue": model.value,
|
|
28091
|
+
"onUpdate:modelValue": onModelUpdate,
|
|
28092
|
+
"onKeydown": onKeydown,
|
|
28008
28093
|
"class": ['v-number-input', {
|
|
28009
28094
|
'v-number-input--default': controlVariant.value === 'default',
|
|
28010
28095
|
'v-number-input--hide-input': props.hideInput,
|
|
@@ -28013,59 +28098,281 @@
|
|
|
28013
28098
|
'v-number-input--split': controlVariant.value === 'split',
|
|
28014
28099
|
'v-number-input--stacked': controlVariant.value === 'stacked'
|
|
28015
28100
|
}, props.class]
|
|
28016
|
-
},
|
|
28017
|
-
"focused": isFocused.value,
|
|
28101
|
+
}, textFieldProps, {
|
|
28018
28102
|
"style": props.style
|
|
28019
28103
|
}), {
|
|
28020
28104
|
...slots,
|
|
28021
|
-
|
|
28022
|
-
|
|
28023
|
-
|
|
28024
|
-
|
|
28025
|
-
...
|
|
28026
|
-
|
|
28105
|
+
'append-inner': hasAppendInner ? function () {
|
|
28106
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
28107
|
+
args[_key] = arguments[_key];
|
|
28108
|
+
}
|
|
28109
|
+
return vue.createVNode(vue.Fragment, null, [slots['append-inner']?.(...args), appendInnerControl]);
|
|
28110
|
+
} : undefined,
|
|
28111
|
+
'prepend-inner': hasPrependInner ? function () {
|
|
28112
|
+
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
|
28113
|
+
args[_key2] = arguments[_key2];
|
|
28114
|
+
}
|
|
28115
|
+
return vue.createVNode(vue.Fragment, null, [prependInnerControl, slots['prepend-inner']?.(...args)]);
|
|
28116
|
+
} : undefined
|
|
28117
|
+
});
|
|
28118
|
+
});
|
|
28119
|
+
}
|
|
28120
|
+
});
|
|
28121
|
+
|
|
28122
|
+
// Types
|
|
28123
|
+
|
|
28124
|
+
const makeVStepperVerticalActionsProps = propsFactory({
|
|
28125
|
+
...makeVStepperActionsProps()
|
|
28126
|
+
}, 'VStepperActions');
|
|
28127
|
+
const VStepperVerticalActions = genericComponent()({
|
|
28128
|
+
name: 'VStepperVerticalActions',
|
|
28129
|
+
props: makeVStepperVerticalActionsProps(),
|
|
28130
|
+
emits: {
|
|
28131
|
+
'click:prev': () => true,
|
|
28132
|
+
'click:next': () => true
|
|
28133
|
+
},
|
|
28134
|
+
setup(props, _ref) {
|
|
28135
|
+
let {
|
|
28136
|
+
emit,
|
|
28137
|
+
slots
|
|
28138
|
+
} = _ref;
|
|
28139
|
+
function onClickPrev() {
|
|
28140
|
+
emit('click:prev');
|
|
28141
|
+
}
|
|
28142
|
+
function onClickNext() {
|
|
28143
|
+
emit('click:next');
|
|
28144
|
+
}
|
|
28145
|
+
useRender(() => {
|
|
28146
|
+
const stepperActionsProps = VStepperActions.filterProps(props);
|
|
28147
|
+
return vue.createVNode(VStepperActions, vue.mergeProps({
|
|
28148
|
+
"class": "v-stepper-vertical-actions"
|
|
28149
|
+
}, stepperActionsProps, {
|
|
28150
|
+
"onClick:prev": onClickPrev,
|
|
28151
|
+
"onClick:next": onClickNext
|
|
28152
|
+
}), slots);
|
|
28153
|
+
});
|
|
28154
|
+
return {};
|
|
28155
|
+
}
|
|
28156
|
+
});
|
|
28157
|
+
|
|
28158
|
+
// Types
|
|
28159
|
+
|
|
28160
|
+
const makeVStepperVerticalItemProps = propsFactory({
|
|
28161
|
+
hideActions: Boolean,
|
|
28162
|
+
...makeStepperItemProps(),
|
|
28163
|
+
...omit(makeVExpansionPanelProps({
|
|
28164
|
+
expandIcon: '',
|
|
28165
|
+
collapseIcon: ''
|
|
28166
|
+
}), ['hideActions'])
|
|
28167
|
+
}, 'VStepperVerticalItem');
|
|
28168
|
+
const VStepperVerticalItem = genericComponent()({
|
|
28169
|
+
name: 'VStepperVerticalItem',
|
|
28170
|
+
props: makeVStepperVerticalItemProps(),
|
|
28171
|
+
emits: {
|
|
28172
|
+
'click:next': () => true,
|
|
28173
|
+
'click:prev': () => true,
|
|
28174
|
+
'click:finish': () => true
|
|
28175
|
+
},
|
|
28176
|
+
setup(props, _ref) {
|
|
28177
|
+
let {
|
|
28178
|
+
emit,
|
|
28179
|
+
slots
|
|
28180
|
+
} = _ref;
|
|
28181
|
+
const vExpansionPanelRef = vue.ref();
|
|
28182
|
+
const step = vue.computed(() => !isNaN(parseInt(props.value)) ? Number(props.value) : props.value);
|
|
28183
|
+
const groupItem = vue.computed(() => vExpansionPanelRef.value?.groupItem);
|
|
28184
|
+
const isSelected = vue.computed(() => groupItem.value?.isSelected.value ?? false);
|
|
28185
|
+
const isValid = vue.computed(() => isSelected.value ? props.rules.every(handler => handler() === true) : null);
|
|
28186
|
+
const canEdit = vue.computed(() => !props.disabled && props.editable);
|
|
28187
|
+
const hasError = vue.computed(() => props.error || isSelected.value && !isValid.value);
|
|
28188
|
+
const hasCompleted = vue.computed(() => props.complete || props.rules.length > 0 && isValid.value === true);
|
|
28189
|
+
const disabled = vue.computed(() => {
|
|
28190
|
+
if (props.disabled) return props.disabled;
|
|
28191
|
+
if (groupItem.value?.isFirst.value) return 'prev';
|
|
28192
|
+
return false;
|
|
28193
|
+
});
|
|
28194
|
+
const icon = vue.computed(() => {
|
|
28195
|
+
if (hasError.value) return props.errorIcon;
|
|
28196
|
+
if (hasCompleted.value) return props.completeIcon;
|
|
28197
|
+
if (groupItem.value?.isSelected.value && props.editable) return props.editIcon;
|
|
28198
|
+
return props.icon;
|
|
28199
|
+
});
|
|
28200
|
+
const slotProps = vue.computed(() => ({
|
|
28201
|
+
canEdit: canEdit.value,
|
|
28202
|
+
hasError: hasError.value,
|
|
28203
|
+
hasCompleted: hasCompleted.value,
|
|
28204
|
+
title: props.title,
|
|
28205
|
+
subtitle: props.subtitle,
|
|
28206
|
+
step: step.value,
|
|
28207
|
+
value: props.value
|
|
28208
|
+
}));
|
|
28209
|
+
const actionProps = vue.computed(() => ({
|
|
28210
|
+
...slotProps.value,
|
|
28211
|
+
prev: onClickPrev,
|
|
28212
|
+
next: onClickNext
|
|
28213
|
+
}));
|
|
28214
|
+
function onClickNext() {
|
|
28215
|
+
emit('click:next');
|
|
28216
|
+
if (groupItem.value?.isLast.value) return;
|
|
28217
|
+
groupItem.value.group.next();
|
|
28218
|
+
}
|
|
28219
|
+
function onClickPrev() {
|
|
28220
|
+
emit('click:prev');
|
|
28221
|
+
groupItem.value.group.prev();
|
|
28222
|
+
}
|
|
28223
|
+
useRender(() => {
|
|
28224
|
+
const hasColor = (hasCompleted.value || groupItem.value?.isSelected.value) && !hasError.value && !props.disabled;
|
|
28225
|
+
const hasActions = !props.hideActions || !!slots.actions;
|
|
28226
|
+
const expansionPanelProps = VExpansionPanel.filterProps(props);
|
|
28227
|
+
return vue.createVNode(VExpansionPanel, vue.mergeProps({
|
|
28228
|
+
"_as": "VStepperVerticalItem",
|
|
28229
|
+
"ref": vExpansionPanelRef
|
|
28230
|
+
}, expansionPanelProps, {
|
|
28231
|
+
"class": ['v-stepper-vertical-item', {
|
|
28232
|
+
'v-stepper-vertical-item--complete': hasCompleted.value,
|
|
28233
|
+
'v-stepper-vertical-item--disabled': props.disabled,
|
|
28234
|
+
'v-stepper-vertical-item--editable': canEdit.value,
|
|
28235
|
+
'v-stepper-vertical-item--error': hasError.value
|
|
28236
|
+
}, props.class],
|
|
28237
|
+
"readonly": !props.editable,
|
|
28238
|
+
"style": props.style,
|
|
28239
|
+
"color": "",
|
|
28240
|
+
"hide-actions": false,
|
|
28241
|
+
"value": step.value
|
|
28242
|
+
}), {
|
|
28243
|
+
title: () => vue.createVNode(vue.Fragment, null, [vue.createVNode(VAvatar, {
|
|
28244
|
+
"key": "stepper-avatar",
|
|
28245
|
+
"class": "v-stepper-vertical-item__avatar",
|
|
28246
|
+
"color": hasColor ? props.color : undefined,
|
|
28247
|
+
"size": 24,
|
|
28248
|
+
"start": true
|
|
28249
|
+
}, {
|
|
28250
|
+
default: () => [slots.icon?.(slotProps.value) ?? (icon.value ? vue.createVNode(VIcon, {
|
|
28251
|
+
"icon": icon.value
|
|
28252
|
+
}, null) : step.value)]
|
|
28253
|
+
}), vue.createVNode("div", null, [vue.createVNode("div", {
|
|
28254
|
+
"class": "v-stepper-vertical-item__title"
|
|
28255
|
+
}, [slots.title?.(slotProps.value) ?? props.title]), vue.createVNode("div", {
|
|
28256
|
+
"class": "v-stepper-vertical-item__subtitle"
|
|
28257
|
+
}, [slots.subtitle?.(slotProps.value) ?? props.subtitle])])]),
|
|
28258
|
+
text: () => vue.createVNode(vue.Fragment, null, [slots.default?.(slotProps.value) ?? props.text, hasActions && vue.createVNode(VDefaultsProvider, {
|
|
28259
|
+
"defaults": {
|
|
28260
|
+
VStepperVerticalActions: {
|
|
28261
|
+
disabled: disabled.value,
|
|
28262
|
+
finish: groupItem.value?.isLast.value
|
|
28263
|
+
}
|
|
28264
|
+
}
|
|
28265
|
+
}, {
|
|
28266
|
+
default: () => [slots.actions?.(actionProps.value) ?? vue.createVNode(VStepperVerticalActions, {
|
|
28267
|
+
"onClick:next": onClickNext,
|
|
28268
|
+
"onClick:prev": onClickPrev
|
|
28269
|
+
}, {
|
|
28270
|
+
prev: slots.prev ? () => slots.prev?.(actionProps.value) : undefined,
|
|
28271
|
+
next: slots.next ? () => slots.next?.(actionProps.value) : undefined
|
|
28272
|
+
})]
|
|
28273
|
+
})])
|
|
28274
|
+
});
|
|
28275
|
+
});
|
|
28276
|
+
return {};
|
|
28277
|
+
}
|
|
28278
|
+
});
|
|
28279
|
+
|
|
28280
|
+
// Types
|
|
28281
|
+
|
|
28282
|
+
const makeVStepperVerticalProps = propsFactory({
|
|
28283
|
+
prevText: {
|
|
28284
|
+
type: String,
|
|
28285
|
+
default: '$vuetify.stepper.prev'
|
|
28286
|
+
},
|
|
28287
|
+
nextText: {
|
|
28288
|
+
type: String,
|
|
28289
|
+
default: '$vuetify.stepper.next'
|
|
28290
|
+
},
|
|
28291
|
+
...makeStepperProps(),
|
|
28292
|
+
...omit(makeVExpansionPanelsProps({
|
|
28293
|
+
mandatory: 'force',
|
|
28294
|
+
variant: 'accordion'
|
|
28295
|
+
}), ['static'])
|
|
28296
|
+
}, 'VStepperVertical');
|
|
28297
|
+
const VStepperVertical = genericComponent()({
|
|
28298
|
+
name: 'VStepperVertical',
|
|
28299
|
+
props: makeVStepperVerticalProps(),
|
|
28300
|
+
emits: {
|
|
28301
|
+
'update:modelValue': val => true
|
|
28302
|
+
},
|
|
28303
|
+
setup(props, _ref) {
|
|
28304
|
+
let {
|
|
28305
|
+
slots
|
|
28306
|
+
} = _ref;
|
|
28307
|
+
const vExpansionPanelsRef = vue.ref();
|
|
28308
|
+
const {
|
|
28309
|
+
color,
|
|
28310
|
+
editable,
|
|
28311
|
+
prevText,
|
|
28312
|
+
nextText,
|
|
28313
|
+
hideActions
|
|
28314
|
+
} = vue.toRefs(props);
|
|
28315
|
+
const model = useProxiedModel(props, 'modelValue');
|
|
28316
|
+
const items = vue.computed(() => props.items.map((item, index) => {
|
|
28317
|
+
const title = getPropertyFromItem(item, props.itemTitle, item);
|
|
28318
|
+
const value = getPropertyFromItem(item, props.itemValue, index + 1);
|
|
28319
|
+
return {
|
|
28320
|
+
title,
|
|
28321
|
+
value,
|
|
28322
|
+
raw: item
|
|
28323
|
+
};
|
|
28324
|
+
}));
|
|
28325
|
+
provideDefaults({
|
|
28326
|
+
VStepperVerticalItem: {
|
|
28327
|
+
color,
|
|
28328
|
+
editable,
|
|
28329
|
+
prevText,
|
|
28330
|
+
nextText,
|
|
28331
|
+
hideActions,
|
|
28332
|
+
static: true
|
|
28333
|
+
},
|
|
28334
|
+
VStepperActions: {
|
|
28335
|
+
color
|
|
28336
|
+
}
|
|
28337
|
+
});
|
|
28338
|
+
useRender(() => {
|
|
28339
|
+
const expansionPanelProps = VExpansionPanels.filterProps(props);
|
|
28340
|
+
return vue.createVNode(VExpansionPanels, vue.mergeProps(expansionPanelProps, {
|
|
28341
|
+
"modelValue": model.value,
|
|
28342
|
+
"onUpdate:modelValue": $event => model.value = $event,
|
|
28343
|
+
"ref": vExpansionPanelsRef,
|
|
28344
|
+
"class": ['v-stepper', {
|
|
28345
|
+
'v-stepper--alt-labels': props.altLabels,
|
|
28346
|
+
'v-stepper--flat': props.flat,
|
|
28347
|
+
'v-stepper--non-linear': props.nonLinear,
|
|
28348
|
+
'v-stepper--mobile': props.mobile
|
|
28349
|
+
}, props.class],
|
|
28350
|
+
"style": props.style
|
|
28351
|
+
}), {
|
|
28352
|
+
...slots,
|
|
28353
|
+
default: _ref2 => {
|
|
28354
|
+
let {
|
|
28355
|
+
prev,
|
|
28356
|
+
next
|
|
28357
|
+
} = _ref2;
|
|
28358
|
+
return vue.createVNode(vue.Fragment, null, [items.value.map(_ref3 => {
|
|
28027
28359
|
let {
|
|
28028
|
-
|
|
28029
|
-
|
|
28030
|
-
|
|
28031
|
-
|
|
28032
|
-
|
|
28033
|
-
|
|
28034
|
-
|
|
28035
|
-
|
|
28036
|
-
|
|
28037
|
-
|
|
28038
|
-
|
|
28039
|
-
|
|
28040
|
-
|
|
28041
|
-
"onBlur": blur
|
|
28042
|
-
}, inputAttrs), null);
|
|
28043
|
-
},
|
|
28044
|
-
'append-inner': controlVariant.value === 'split' ? () => vue.createVNode("div", {
|
|
28045
|
-
"class": "v-number-input__control"
|
|
28046
|
-
}, [vue.createVNode(VDivider, {
|
|
28047
|
-
"vertical": true
|
|
28048
|
-
}, null), vue.createVNode(VBtn, {
|
|
28049
|
-
"flat": true,
|
|
28050
|
-
"height": "100%",
|
|
28051
|
-
"icon": "$plus",
|
|
28052
|
-
"tile": true,
|
|
28053
|
-
"onClick": onClickUp
|
|
28054
|
-
}, null)]) : !props.reverse ? () => vue.createVNode(vue.Fragment, null, [dividerNode(), controlNode()]) : undefined,
|
|
28055
|
-
'prepend-inner': controlVariant.value === 'split' ? () => vue.createVNode("div", {
|
|
28056
|
-
"class": "v-number-input__control"
|
|
28057
|
-
}, [vue.createVNode(VBtn, {
|
|
28058
|
-
"flat": true,
|
|
28059
|
-
"height": "100%",
|
|
28060
|
-
"icon": "$minus",
|
|
28061
|
-
"tile": true,
|
|
28062
|
-
"onClick": onClickDown
|
|
28063
|
-
}, null), vue.createVNode(VDivider, {
|
|
28064
|
-
"vertical": true
|
|
28065
|
-
}, null)]) : props.reverse ? () => vue.createVNode(vue.Fragment, null, [controlNode(), dividerNode()]) : undefined
|
|
28066
|
-
})
|
|
28360
|
+
raw,
|
|
28361
|
+
...item
|
|
28362
|
+
} = _ref3;
|
|
28363
|
+
return vue.createVNode(VStepperVerticalItem, item, {
|
|
28364
|
+
...slots,
|
|
28365
|
+
default: slots[`item.${item.value}`]
|
|
28366
|
+
});
|
|
28367
|
+
}), slots.default?.({
|
|
28368
|
+
prev,
|
|
28369
|
+
next,
|
|
28370
|
+
step: model.value
|
|
28371
|
+
})]);
|
|
28372
|
+
}
|
|
28067
28373
|
});
|
|
28068
28374
|
});
|
|
28375
|
+
return {};
|
|
28069
28376
|
}
|
|
28070
28377
|
});
|
|
28071
28378
|
|
|
@@ -29429,6 +29736,9 @@
|
|
|
29429
29736
|
VStepperActions: VStepperActions,
|
|
29430
29737
|
VStepperHeader: VStepperHeader,
|
|
29431
29738
|
VStepperItem: VStepperItem,
|
|
29739
|
+
VStepperVertical: VStepperVertical,
|
|
29740
|
+
VStepperVerticalActions: VStepperVerticalActions,
|
|
29741
|
+
VStepperVerticalItem: VStepperVerticalItem,
|
|
29432
29742
|
VStepperWindow: VStepperWindow,
|
|
29433
29743
|
VStepperWindowItem: VStepperWindowItem,
|
|
29434
29744
|
VSvgIcon: VSvgIcon,
|
|
@@ -29766,7 +30076,7 @@
|
|
|
29766
30076
|
goTo
|
|
29767
30077
|
};
|
|
29768
30078
|
}
|
|
29769
|
-
const version$1 = "3.6.
|
|
30079
|
+
const version$1 = "3.6.5";
|
|
29770
30080
|
createVuetify$1.version = version$1;
|
|
29771
30081
|
|
|
29772
30082
|
// Vue's inject() can only be used in setup
|
|
@@ -30019,7 +30329,7 @@
|
|
|
30019
30329
|
|
|
30020
30330
|
/* eslint-disable local-rules/sort-imports */
|
|
30021
30331
|
|
|
30022
|
-
const version = "3.6.
|
|
30332
|
+
const version = "3.6.5";
|
|
30023
30333
|
|
|
30024
30334
|
/* eslint-disable local-rules/sort-imports */
|
|
30025
30335
|
|