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.esm.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
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
|
*/
|
|
6
6
|
|
|
7
|
-
import { Fragment, reactive, computed, watchEffect, toRefs, capitalize, isVNode, Comment,
|
|
7
|
+
import { shallowRef, Fragment, reactive, computed, watchEffect, toRefs, capitalize, isVNode, Comment, readonly, unref, warn, ref, provide, inject as inject$1, defineComponent as defineComponent$1, camelize, h, getCurrentInstance as getCurrentInstance$1, onBeforeUnmount, watch, nextTick, onDeactivated, onActivated, onScopeDispose, effectScope, toRaw, createVNode, Suspense, TransitionGroup, Transition, mergeProps, isRef, toRef, onBeforeMount, withDirectives, resolveDirective, vShow, onMounted, onUpdated, Text, resolveDynamicComponent, markRaw, Teleport, cloneVNode, createTextVNode, onUnmounted, onBeforeUpdate, withModifiers, toDisplayString, vModelText, resolveComponent, render } from 'vue';
|
|
8
8
|
|
|
9
9
|
// Types
|
|
10
10
|
// eslint-disable-line vue/prefer-import-from-vue
|
|
@@ -70,7 +70,7 @@ function propsFactory(props, source) {
|
|
|
70
70
|
|
|
71
71
|
// Composables
|
|
72
72
|
const makeComponentProps = propsFactory({
|
|
73
|
-
class: [String, Array],
|
|
73
|
+
class: [String, Array, Object],
|
|
74
74
|
style: {
|
|
75
75
|
type: [String, Array, Object],
|
|
76
76
|
default: null
|
|
@@ -557,6 +557,22 @@ function isClickInsideElement(event, targetDiv) {
|
|
|
557
557
|
const divBottom = divRect.bottom;
|
|
558
558
|
return mouseX >= divLeft && mouseX <= divRight && mouseY >= divTop && mouseY <= divBottom;
|
|
559
559
|
}
|
|
560
|
+
function templateRef() {
|
|
561
|
+
const el = shallowRef();
|
|
562
|
+
const fn = target => {
|
|
563
|
+
el.value = target;
|
|
564
|
+
};
|
|
565
|
+
Object.defineProperty(fn, 'value', {
|
|
566
|
+
enumerable: true,
|
|
567
|
+
get: () => el.value,
|
|
568
|
+
set: val => el.value = val
|
|
569
|
+
});
|
|
570
|
+
Object.defineProperty(fn, 'el', {
|
|
571
|
+
enumerable: true,
|
|
572
|
+
get: () => refElement(el.value)
|
|
573
|
+
});
|
|
574
|
+
return fn;
|
|
575
|
+
}
|
|
560
576
|
|
|
561
577
|
// Utilities
|
|
562
578
|
const block = ['top', 'bottom'];
|
|
@@ -1565,7 +1581,7 @@ function useRender(render) {
|
|
|
1565
1581
|
|
|
1566
1582
|
function useResizeObserver(callback) {
|
|
1567
1583
|
let box = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'content';
|
|
1568
|
-
const resizeRef =
|
|
1584
|
+
const resizeRef = templateRef();
|
|
1569
1585
|
const contentRect = ref();
|
|
1570
1586
|
if (IN_BROWSER) {
|
|
1571
1587
|
const observer = new ResizeObserver(entries => {
|
|
@@ -1580,12 +1596,12 @@ function useResizeObserver(callback) {
|
|
|
1580
1596
|
onBeforeUnmount(() => {
|
|
1581
1597
|
observer.disconnect();
|
|
1582
1598
|
});
|
|
1583
|
-
watch(resizeRef, (newValue, oldValue) => {
|
|
1599
|
+
watch(() => resizeRef.el, (newValue, oldValue) => {
|
|
1584
1600
|
if (oldValue) {
|
|
1585
|
-
observer.unobserve(
|
|
1601
|
+
observer.unobserve(oldValue);
|
|
1586
1602
|
contentRect.value = undefined;
|
|
1587
1603
|
}
|
|
1588
|
-
if (newValue) observer.observe(
|
|
1604
|
+
if (newValue) observer.observe(newValue);
|
|
1589
1605
|
}, {
|
|
1590
1606
|
flush: 'post'
|
|
1591
1607
|
});
|
|
@@ -3001,7 +3017,7 @@ function useAspectStyles(props) {
|
|
|
3001
3017
|
}
|
|
3002
3018
|
const makeVResponsiveProps = propsFactory({
|
|
3003
3019
|
aspectRatio: [String, Number],
|
|
3004
|
-
contentClass:
|
|
3020
|
+
contentClass: null,
|
|
3005
3021
|
inline: Boolean,
|
|
3006
3022
|
...makeComponentProps(),
|
|
3007
3023
|
...makeDimensionProps()
|
|
@@ -4117,6 +4133,12 @@ function useGroupItem(props, injectKey) {
|
|
|
4117
4133
|
const isSelected = computed(() => {
|
|
4118
4134
|
return group.isSelected(id);
|
|
4119
4135
|
});
|
|
4136
|
+
const isFirst = computed(() => {
|
|
4137
|
+
return group.items.value[0].id === id;
|
|
4138
|
+
});
|
|
4139
|
+
const isLast = computed(() => {
|
|
4140
|
+
return group.items.value[group.items.value.length - 1].id === id;
|
|
4141
|
+
});
|
|
4120
4142
|
const selectedClass = computed(() => isSelected.value && [group.selectedClass.value, props.selectedClass]);
|
|
4121
4143
|
watch(isSelected, value => {
|
|
4122
4144
|
vm.emit('group:selected', {
|
|
@@ -4128,6 +4150,8 @@ function useGroupItem(props, injectKey) {
|
|
|
4128
4150
|
return {
|
|
4129
4151
|
id,
|
|
4130
4152
|
isSelected,
|
|
4153
|
+
isFirst,
|
|
4154
|
+
isLast,
|
|
4131
4155
|
toggle: () => group.select(id, !isSelected.value),
|
|
4132
4156
|
select: value => group.select(id, value),
|
|
4133
4157
|
selectedClass,
|
|
@@ -7089,7 +7113,7 @@ function createDisplay(options, ssr) {
|
|
|
7089
7113
|
const makeDisplayProps = propsFactory({
|
|
7090
7114
|
mobile: {
|
|
7091
7115
|
type: Boolean,
|
|
7092
|
-
default:
|
|
7116
|
+
default: false
|
|
7093
7117
|
},
|
|
7094
7118
|
mobileBreakpoint: [Number, String]
|
|
7095
7119
|
}, 'display');
|
|
@@ -7384,7 +7408,7 @@ const VSlideGroup = genericComponent()({
|
|
|
7384
7408
|
const goTo = useGoTo();
|
|
7385
7409
|
const goToOptions = computed(() => {
|
|
7386
7410
|
return {
|
|
7387
|
-
container: containerRef.
|
|
7411
|
+
container: containerRef.el,
|
|
7388
7412
|
duration: 200,
|
|
7389
7413
|
easing: 'easeOutQuart'
|
|
7390
7414
|
};
|
|
@@ -7408,9 +7432,9 @@ const VSlideGroup = genericComponent()({
|
|
|
7408
7432
|
contentSize.value = contentRect.value[sizeProperty];
|
|
7409
7433
|
isOverflowing.value = containerSize.value + 1 < contentSize.value;
|
|
7410
7434
|
}
|
|
7411
|
-
if (firstSelectedIndex.value >= 0 && contentRef.
|
|
7435
|
+
if (firstSelectedIndex.value >= 0 && contentRef.el) {
|
|
7412
7436
|
// TODO: Is this too naive? Should we store element references in group composable?
|
|
7413
|
-
const selectedElement = contentRef.
|
|
7437
|
+
const selectedElement = contentRef.el.children[lastSelectedIndex.value];
|
|
7414
7438
|
scrollToChildren(selectedElement, props.centerActive);
|
|
7415
7439
|
}
|
|
7416
7440
|
});
|
|
@@ -7421,13 +7445,13 @@ const VSlideGroup = genericComponent()({
|
|
|
7421
7445
|
let target = 0;
|
|
7422
7446
|
if (center) {
|
|
7423
7447
|
target = calculateCenteredTarget({
|
|
7424
|
-
containerElement: containerRef.
|
|
7448
|
+
containerElement: containerRef.el,
|
|
7425
7449
|
isHorizontal: isHorizontal.value,
|
|
7426
7450
|
selectedElement: children
|
|
7427
7451
|
});
|
|
7428
7452
|
} else {
|
|
7429
7453
|
target = calculateUpdatedTarget({
|
|
7430
|
-
containerElement: containerRef.
|
|
7454
|
+
containerElement: containerRef.el,
|
|
7431
7455
|
isHorizontal: isHorizontal.value,
|
|
7432
7456
|
isRtl: isRtl.value,
|
|
7433
7457
|
selectedElement: children
|
|
@@ -7436,18 +7460,18 @@ const VSlideGroup = genericComponent()({
|
|
|
7436
7460
|
scrollToPosition(target);
|
|
7437
7461
|
}
|
|
7438
7462
|
function scrollToPosition(newPosition) {
|
|
7439
|
-
if (!IN_BROWSER || !containerRef.
|
|
7440
|
-
const offsetSize = getOffsetSize(isHorizontal.value, containerRef.
|
|
7441
|
-
const scrollPosition = getScrollPosition(isHorizontal.value, isRtl.value, containerRef.
|
|
7442
|
-
const scrollSize = getScrollSize(isHorizontal.value, containerRef.
|
|
7463
|
+
if (!IN_BROWSER || !containerRef.el) return;
|
|
7464
|
+
const offsetSize = getOffsetSize(isHorizontal.value, containerRef.el);
|
|
7465
|
+
const scrollPosition = getScrollPosition(isHorizontal.value, isRtl.value, containerRef.el);
|
|
7466
|
+
const scrollSize = getScrollSize(isHorizontal.value, containerRef.el);
|
|
7443
7467
|
if (scrollSize <= offsetSize ||
|
|
7444
7468
|
// Prevent scrolling by only a couple of pixels, which doesn't look smooth
|
|
7445
7469
|
Math.abs(newPosition - scrollPosition) < 16) return;
|
|
7446
|
-
if (isHorizontal.value && isRtl.value && containerRef.
|
|
7470
|
+
if (isHorizontal.value && isRtl.value && containerRef.el) {
|
|
7447
7471
|
const {
|
|
7448
7472
|
scrollWidth,
|
|
7449
7473
|
offsetWidth: containerWidth
|
|
7450
|
-
} = containerRef.
|
|
7474
|
+
} = containerRef.el;
|
|
7451
7475
|
newPosition = scrollWidth - containerWidth - newPosition;
|
|
7452
7476
|
}
|
|
7453
7477
|
if (isHorizontal.value) {
|
|
@@ -7465,12 +7489,12 @@ const VSlideGroup = genericComponent()({
|
|
|
7465
7489
|
}
|
|
7466
7490
|
function onFocusin(e) {
|
|
7467
7491
|
isFocused.value = true;
|
|
7468
|
-
if (!isOverflowing.value || !contentRef.
|
|
7492
|
+
if (!isOverflowing.value || !contentRef.el) return;
|
|
7469
7493
|
|
|
7470
7494
|
// Focused element is likely to be the root of an item, so a
|
|
7471
7495
|
// breadth-first search will probably find it in the first iteration
|
|
7472
7496
|
for (const el of e.composedPath()) {
|
|
7473
|
-
for (const item of contentRef.
|
|
7497
|
+
for (const item of contentRef.el.children) {
|
|
7474
7498
|
if (item === el) {
|
|
7475
7499
|
scrollToChildren(item);
|
|
7476
7500
|
return;
|
|
@@ -7485,14 +7509,14 @@ const VSlideGroup = genericComponent()({
|
|
|
7485
7509
|
// Affix clicks produce onFocus that we have to ignore to avoid extra scrollToChildren
|
|
7486
7510
|
let ignoreFocusEvent = false;
|
|
7487
7511
|
function onFocus(e) {
|
|
7488
|
-
if (!ignoreFocusEvent && !isFocused.value && !(e.relatedTarget && contentRef.
|
|
7512
|
+
if (!ignoreFocusEvent && !isFocused.value && !(e.relatedTarget && contentRef.el?.contains(e.relatedTarget))) focus();
|
|
7489
7513
|
ignoreFocusEvent = false;
|
|
7490
7514
|
}
|
|
7491
7515
|
function onFocusAffixes() {
|
|
7492
7516
|
ignoreFocusEvent = true;
|
|
7493
7517
|
}
|
|
7494
7518
|
function onKeydown(e) {
|
|
7495
|
-
if (!contentRef.
|
|
7519
|
+
if (!contentRef.el) return;
|
|
7496
7520
|
function toFocus(location) {
|
|
7497
7521
|
e.preventDefault();
|
|
7498
7522
|
focus(location);
|
|
@@ -7517,21 +7541,21 @@ const VSlideGroup = genericComponent()({
|
|
|
7517
7541
|
}
|
|
7518
7542
|
}
|
|
7519
7543
|
function focus(location) {
|
|
7520
|
-
if (!contentRef.
|
|
7544
|
+
if (!contentRef.el) return;
|
|
7521
7545
|
let el;
|
|
7522
7546
|
if (!location) {
|
|
7523
|
-
const focusable = focusableChildren(contentRef.
|
|
7547
|
+
const focusable = focusableChildren(contentRef.el);
|
|
7524
7548
|
el = focusable[0];
|
|
7525
7549
|
} else if (location === 'next') {
|
|
7526
|
-
el = contentRef.
|
|
7550
|
+
el = contentRef.el.querySelector(':focus')?.nextElementSibling;
|
|
7527
7551
|
if (!el) return focus('first');
|
|
7528
7552
|
} else if (location === 'prev') {
|
|
7529
|
-
el = contentRef.
|
|
7553
|
+
el = contentRef.el.querySelector(':focus')?.previousElementSibling;
|
|
7530
7554
|
if (!el) return focus('last');
|
|
7531
7555
|
} else if (location === 'first') {
|
|
7532
|
-
el = contentRef.
|
|
7556
|
+
el = contentRef.el.firstElementChild;
|
|
7533
7557
|
} else if (location === 'last') {
|
|
7534
|
-
el = contentRef.
|
|
7558
|
+
el = contentRef.el.lastElementChild;
|
|
7535
7559
|
}
|
|
7536
7560
|
if (el) {
|
|
7537
7561
|
el.focus({
|
|
@@ -7545,11 +7569,11 @@ const VSlideGroup = genericComponent()({
|
|
|
7545
7569
|
let newPosition = scrollOffset.value + offsetStep;
|
|
7546
7570
|
|
|
7547
7571
|
// TODO: improve it
|
|
7548
|
-
if (isHorizontal.value && isRtl.value && containerRef.
|
|
7572
|
+
if (isHorizontal.value && isRtl.value && containerRef.el) {
|
|
7549
7573
|
const {
|
|
7550
7574
|
scrollWidth,
|
|
7551
7575
|
offsetWidth: containerWidth
|
|
7552
|
-
} = containerRef.
|
|
7576
|
+
} = containerRef.el;
|
|
7553
7577
|
newPosition += scrollWidth - containerWidth;
|
|
7554
7578
|
}
|
|
7555
7579
|
scrollToPosition(newPosition);
|
|
@@ -7592,8 +7616,8 @@ const VSlideGroup = genericComponent()({
|
|
|
7592
7616
|
});
|
|
7593
7617
|
const hasNext = computed(() => {
|
|
7594
7618
|
if (!containerRef.value) return false;
|
|
7595
|
-
const scrollSize = getScrollSize(isHorizontal.value, containerRef.
|
|
7596
|
-
const clientSize = getClientSize(isHorizontal.value, containerRef.
|
|
7619
|
+
const scrollSize = getScrollSize(isHorizontal.value, containerRef.el);
|
|
7620
|
+
const clientSize = getClientSize(isHorizontal.value, containerRef.el);
|
|
7597
7621
|
const scrollSizeMax = scrollSize - clientSize;
|
|
7598
7622
|
|
|
7599
7623
|
// 1 pixel in reserve, may be lost after rounding
|
|
@@ -8017,14 +8041,16 @@ const independentActiveStrategy = mandatory => {
|
|
|
8017
8041
|
},
|
|
8018
8042
|
in: (v, children, parents) => {
|
|
8019
8043
|
let set = new Set();
|
|
8020
|
-
|
|
8021
|
-
|
|
8022
|
-
|
|
8023
|
-
|
|
8024
|
-
|
|
8025
|
-
|
|
8026
|
-
|
|
8027
|
-
|
|
8044
|
+
if (v != null) {
|
|
8045
|
+
for (const id of wrapInArray(v)) {
|
|
8046
|
+
set = strategy.activate({
|
|
8047
|
+
id,
|
|
8048
|
+
value: true,
|
|
8049
|
+
activated: new Set(set),
|
|
8050
|
+
children,
|
|
8051
|
+
parents
|
|
8052
|
+
});
|
|
8053
|
+
}
|
|
8028
8054
|
}
|
|
8029
8055
|
return set;
|
|
8030
8056
|
},
|
|
@@ -8053,8 +8079,11 @@ const independentSingleActiveStrategy = mandatory => {
|
|
|
8053
8079
|
},
|
|
8054
8080
|
in: (v, children, parents) => {
|
|
8055
8081
|
let set = new Set();
|
|
8056
|
-
if (v
|
|
8057
|
-
|
|
8082
|
+
if (v != null) {
|
|
8083
|
+
const arr = wrapInArray(v);
|
|
8084
|
+
if (arr.length) {
|
|
8085
|
+
set = parentStrategy.in(arr.slice(0, 1), children, parents);
|
|
8086
|
+
}
|
|
8058
8087
|
}
|
|
8059
8088
|
return set;
|
|
8060
8089
|
},
|
|
@@ -8398,12 +8427,12 @@ const emptyNested = {
|
|
|
8398
8427
|
const makeNestedProps = propsFactory({
|
|
8399
8428
|
activatable: Boolean,
|
|
8400
8429
|
selectable: Boolean,
|
|
8401
|
-
activeStrategy: [String, Function],
|
|
8402
|
-
selectStrategy: [String, Function],
|
|
8430
|
+
activeStrategy: [String, Function, Object],
|
|
8431
|
+
selectStrategy: [String, Function, Object],
|
|
8403
8432
|
openStrategy: [String, Object],
|
|
8404
|
-
opened:
|
|
8405
|
-
activated:
|
|
8406
|
-
selected:
|
|
8433
|
+
opened: null,
|
|
8434
|
+
activated: null,
|
|
8435
|
+
selected: null,
|
|
8407
8436
|
mandatory: Boolean
|
|
8408
8437
|
}, 'nested');
|
|
8409
8438
|
const useNested = props => {
|
|
@@ -8413,6 +8442,7 @@ const useNested = props => {
|
|
|
8413
8442
|
const opened = useProxiedModel(props, 'opened', props.opened, v => new Set(v), v => [...v.values()]);
|
|
8414
8443
|
const activeStrategy = computed(() => {
|
|
8415
8444
|
if (typeof props.activeStrategy === 'object') return props.activeStrategy;
|
|
8445
|
+
if (typeof props.activeStrategy === 'function') return props.activeStrategy(props.mandatory);
|
|
8416
8446
|
switch (props.activeStrategy) {
|
|
8417
8447
|
case 'leaf':
|
|
8418
8448
|
return leafActiveStrategy(props.mandatory);
|
|
@@ -8427,6 +8457,7 @@ const useNested = props => {
|
|
|
8427
8457
|
});
|
|
8428
8458
|
const selectStrategy = computed(() => {
|
|
8429
8459
|
if (typeof props.selectStrategy === 'object') return props.selectStrategy;
|
|
8460
|
+
if (typeof props.selectStrategy === 'function') return props.selectStrategy(props.mandatory);
|
|
8430
8461
|
switch (props.selectStrategy) {
|
|
8431
8462
|
case 'single-leaf':
|
|
8432
8463
|
return leafSingleSelectStrategy(props.mandatory);
|
|
@@ -8755,7 +8786,7 @@ const makeVListItemProps = propsFactory({
|
|
|
8755
8786
|
appendIcon: IconValue,
|
|
8756
8787
|
baseColor: String,
|
|
8757
8788
|
disabled: Boolean,
|
|
8758
|
-
lines: String,
|
|
8789
|
+
lines: [Boolean, String],
|
|
8759
8790
|
link: {
|
|
8760
8791
|
type: Boolean,
|
|
8761
8792
|
default: undefined
|
|
@@ -8866,8 +8897,9 @@ const VListItem = genericComponent()({
|
|
|
8866
8897
|
}));
|
|
8867
8898
|
function onClick(e) {
|
|
8868
8899
|
emit('click', e);
|
|
8869
|
-
if (
|
|
8900
|
+
if (!isClickable.value) return;
|
|
8870
8901
|
link.navigate?.(e);
|
|
8902
|
+
if (isGroupActivator) return;
|
|
8871
8903
|
if (root.activatable.value) {
|
|
8872
8904
|
activate(!isActivated.value, e);
|
|
8873
8905
|
} else if (root.selectable.value) {
|
|
@@ -10326,17 +10358,17 @@ function useActivator(props, _ref) {
|
|
|
10326
10358
|
}, {
|
|
10327
10359
|
flush: 'post'
|
|
10328
10360
|
});
|
|
10329
|
-
const activatorRef =
|
|
10361
|
+
const activatorRef = templateRef();
|
|
10330
10362
|
watchEffect(() => {
|
|
10331
10363
|
if (!activatorRef.value) return;
|
|
10332
10364
|
nextTick(() => {
|
|
10333
|
-
activatorEl.value =
|
|
10365
|
+
activatorEl.value = activatorRef.el;
|
|
10334
10366
|
});
|
|
10335
10367
|
});
|
|
10336
|
-
const targetRef =
|
|
10368
|
+
const targetRef = templateRef();
|
|
10337
10369
|
const target = computed(() => {
|
|
10338
10370
|
if (props.target === 'cursor' && cursorTarget.value) return cursorTarget.value;
|
|
10339
|
-
if (targetRef.value) return
|
|
10371
|
+
if (targetRef.value) return targetRef.el;
|
|
10340
10372
|
return getTarget(props.target, vm) || activatorEl.value;
|
|
10341
10373
|
});
|
|
10342
10374
|
const targetEl = computed(() => {
|
|
@@ -10681,10 +10713,7 @@ const makeVOverlayProps = propsFactory({
|
|
|
10681
10713
|
disabled: Boolean,
|
|
10682
10714
|
opacity: [Number, String],
|
|
10683
10715
|
noClickAnimation: Boolean,
|
|
10684
|
-
modelValue:
|
|
10685
|
-
type: Boolean,
|
|
10686
|
-
default: null
|
|
10687
|
-
},
|
|
10716
|
+
modelValue: Boolean,
|
|
10688
10717
|
persistent: Boolean,
|
|
10689
10718
|
scrim: {
|
|
10690
10719
|
type: [Boolean, String],
|
|
@@ -10727,7 +10756,7 @@ const VOverlay = genericComponent()({
|
|
|
10727
10756
|
} = _ref;
|
|
10728
10757
|
const model = useProxiedModel(props, 'modelValue');
|
|
10729
10758
|
const isActive = computed({
|
|
10730
|
-
get: () =>
|
|
10759
|
+
get: () => model.value,
|
|
10731
10760
|
set: v => {
|
|
10732
10761
|
if (!(v && props.disabled)) model.value = v;
|
|
10733
10762
|
}
|
|
@@ -12964,7 +12993,7 @@ const VAutocomplete = genericComponent()({
|
|
|
12964
12993
|
select(displayItems.value[0]);
|
|
12965
12994
|
}
|
|
12966
12995
|
menu.value = false;
|
|
12967
|
-
search.value = '';
|
|
12996
|
+
if (props.multiple || hasSelectionSlot.value) search.value = '';
|
|
12968
12997
|
selectionIndex.value = -1;
|
|
12969
12998
|
}
|
|
12970
12999
|
});
|
|
@@ -14808,7 +14837,7 @@ const VColorPickerCanvas = defineComponent({
|
|
|
14808
14837
|
const {
|
|
14809
14838
|
resizeRef
|
|
14810
14839
|
} = useResizeObserver(entries => {
|
|
14811
|
-
if (!resizeRef.
|
|
14840
|
+
if (!resizeRef.el?.offsetParent) return;
|
|
14812
14841
|
const {
|
|
14813
14842
|
width,
|
|
14814
14843
|
height
|
|
@@ -18431,6 +18460,7 @@ function provideSelection(props, _ref9) {
|
|
|
18431
18460
|
});
|
|
18432
18461
|
return !!items.length && isSelected(items);
|
|
18433
18462
|
});
|
|
18463
|
+
const showSelectAll = computed(() => selectStrategy.value.showSelectAll);
|
|
18434
18464
|
const data = {
|
|
18435
18465
|
toggleSelect,
|
|
18436
18466
|
select,
|
|
@@ -18439,7 +18469,7 @@ function provideSelection(props, _ref9) {
|
|
|
18439
18469
|
isSomeSelected,
|
|
18440
18470
|
someSelected,
|
|
18441
18471
|
allSelected,
|
|
18442
|
-
showSelectAll
|
|
18472
|
+
showSelectAll
|
|
18443
18473
|
};
|
|
18444
18474
|
provide(VDataTableSelectionSymbol, data);
|
|
18445
18475
|
return data;
|
|
@@ -19710,7 +19740,7 @@ const VDataTableHeaders = genericComponent()({
|
|
|
19710
19740
|
};
|
|
19711
19741
|
if (slots[columnSlotName]) return slots[columnSlotName](columnSlotProps);
|
|
19712
19742
|
if (column.key === 'data-table-select') {
|
|
19713
|
-
return slots['header.data-table-select']?.(columnSlotProps) ?? (showSelectAll && createVNode(VCheckboxBtn, {
|
|
19743
|
+
return slots['header.data-table-select']?.(columnSlotProps) ?? (showSelectAll.value && createVNode(VCheckboxBtn, {
|
|
19714
19744
|
"modelValue": allSelected.value,
|
|
19715
19745
|
"indeterminate": someSelected.value && !allSelected.value,
|
|
19716
19746
|
"onUpdate:modelValue": selectAll
|
|
@@ -20229,6 +20259,8 @@ function useDataTableItems(props, columns) {
|
|
|
20229
20259
|
|
|
20230
20260
|
const makeDataTableProps = propsFactory({
|
|
20231
20261
|
...makeVDataTableRowsProps(),
|
|
20262
|
+
hideDefaultFooter: Boolean,
|
|
20263
|
+
hideDefaultHeader: Boolean,
|
|
20232
20264
|
width: [String, Number],
|
|
20233
20265
|
search: String,
|
|
20234
20266
|
...makeDataTableExpandProps(),
|
|
@@ -20411,10 +20443,12 @@ const VDataTable = genericComponent()({
|
|
|
20411
20443
|
"style": props.style
|
|
20412
20444
|
}, tableProps), {
|
|
20413
20445
|
top: () => slots.top?.(slotProps.value),
|
|
20414
|
-
default: () => slots.default ? slots.default(slotProps.value) : createVNode(Fragment, null, [slots.colgroup?.(slotProps.value),
|
|
20446
|
+
default: () => slots.default ? slots.default(slotProps.value) : createVNode(Fragment, null, [slots.colgroup?.(slotProps.value), !props.hideDefaultHeader && createVNode("thead", {
|
|
20447
|
+
"key": "thead"
|
|
20448
|
+
}, [createVNode(VDataTableHeaders, dataTableHeadersProps, slots)]), slots.thead?.(slotProps.value), createVNode("tbody", null, [slots['body.prepend']?.(slotProps.value), slots.body ? slots.body(slotProps.value) : createVNode(VDataTableRows, mergeProps(attrs, dataTableRowsProps, {
|
|
20415
20449
|
"items": paginatedItems.value
|
|
20416
20450
|
}), slots), slots['body.append']?.(slotProps.value)]), slots.tbody?.(slotProps.value), slots.tfoot?.(slotProps.value)]),
|
|
20417
|
-
bottom: () => slots.bottom ? slots.bottom(slotProps.value) : createVNode(Fragment, null, [createVNode(VDivider, null, null), createVNode(VDataTableFooter, dataTableFooterProps, {
|
|
20451
|
+
bottom: () => slots.bottom ? slots.bottom(slotProps.value) : !props.hideDefaultFooter && createVNode(Fragment, null, [createVNode(VDivider, null, null), createVNode(VDataTableFooter, dataTableFooterProps, {
|
|
20418
20452
|
prepend: slots['footer.prepend']
|
|
20419
20453
|
})])
|
|
20420
20454
|
});
|
|
@@ -20582,7 +20616,9 @@ const VDataTableVirtual = genericComponent()({
|
|
|
20582
20616
|
"style": {
|
|
20583
20617
|
height: convertToUnit(props.height)
|
|
20584
20618
|
}
|
|
20585
|
-
}, [createVNode("table", null, [slots.colgroup?.(slotProps.value), createVNode("thead",
|
|
20619
|
+
}, [createVNode("table", null, [slots.colgroup?.(slotProps.value), !props.hideDefaultHeader && createVNode("thead", {
|
|
20620
|
+
"key": "thead"
|
|
20621
|
+
}, [createVNode(VDataTableHeaders, mergeProps(dataTableHeadersProps, {
|
|
20586
20622
|
"sticky": props.fixedHeader
|
|
20587
20623
|
}), slots)]), createVNode("tbody", null, [createVNode("tr", {
|
|
20588
20624
|
"ref": markerRef,
|
|
@@ -20787,7 +20823,8 @@ const VDataTableServer = genericComponent()({
|
|
|
20787
20823
|
"style": props.style
|
|
20788
20824
|
}, tableProps), {
|
|
20789
20825
|
top: () => slots.top?.(slotProps.value),
|
|
20790
|
-
default: () => slots.default ? slots.default(slotProps.value) : createVNode(Fragment, null, [slots.colgroup?.(slotProps.value), createVNode("thead", {
|
|
20826
|
+
default: () => slots.default ? slots.default(slotProps.value) : createVNode(Fragment, null, [slots.colgroup?.(slotProps.value), !props.hideDefaultHeader && createVNode("thead", {
|
|
20827
|
+
"key": "thead",
|
|
20791
20828
|
"class": "v-data-table__thead",
|
|
20792
20829
|
"role": "rowgroup"
|
|
20793
20830
|
}, [createVNode(VDataTableHeaders, mergeProps(dataTableHeadersProps, {
|
|
@@ -20798,7 +20835,7 @@ const VDataTableServer = genericComponent()({
|
|
|
20798
20835
|
}, [slots['body.prepend']?.(slotProps.value), slots.body ? slots.body(slotProps.value) : createVNode(VDataTableRows, mergeProps(attrs, dataTableRowsProps, {
|
|
20799
20836
|
"items": flatItems.value
|
|
20800
20837
|
}), slots), slots['body.append']?.(slotProps.value)]), slots.tbody?.(slotProps.value), slots.tfoot?.(slotProps.value)]),
|
|
20801
|
-
bottom: () => slots.bottom ? slots.bottom(slotProps.value) : createVNode(Fragment, null, [createVNode(VDivider, null, null), createVNode(VDataTableFooter, dataTableFooterProps, {
|
|
20838
|
+
bottom: () => slots.bottom ? slots.bottom(slotProps.value) : !props.hideDefaultFooter && createVNode(Fragment, null, [createVNode(VDivider, null, null), createVNode(VDataTableFooter, dataTableFooterProps, {
|
|
20802
20839
|
prepend: slots['footer.prepend']
|
|
20803
20840
|
})])
|
|
20804
20841
|
});
|
|
@@ -21679,10 +21716,10 @@ const VDatePickerYears = genericComponent()({
|
|
|
21679
21716
|
watchEffect(() => {
|
|
21680
21717
|
model.value = model.value ?? adapter.getYear(adapter.date());
|
|
21681
21718
|
});
|
|
21682
|
-
const yearRef =
|
|
21719
|
+
const yearRef = templateRef();
|
|
21683
21720
|
onMounted(async () => {
|
|
21684
21721
|
await nextTick();
|
|
21685
|
-
yearRef.
|
|
21722
|
+
yearRef.el?.scrollIntoView({
|
|
21686
21723
|
block: 'center'
|
|
21687
21724
|
});
|
|
21688
21725
|
});
|
|
@@ -22342,7 +22379,9 @@ const VExpansionPanel = genericComponent()({
|
|
|
22342
22379
|
}), slots.default?.()]
|
|
22343
22380
|
});
|
|
22344
22381
|
});
|
|
22345
|
-
return {
|
|
22382
|
+
return {
|
|
22383
|
+
groupItem
|
|
22384
|
+
};
|
|
22346
22385
|
}
|
|
22347
22386
|
});
|
|
22348
22387
|
|
|
@@ -22371,7 +22410,10 @@ const VExpansionPanels = genericComponent()({
|
|
|
22371
22410
|
let {
|
|
22372
22411
|
slots
|
|
22373
22412
|
} = _ref;
|
|
22374
|
-
|
|
22413
|
+
const {
|
|
22414
|
+
next,
|
|
22415
|
+
prev
|
|
22416
|
+
} = useGroup(props, VExpansionPanelSymbol);
|
|
22375
22417
|
const {
|
|
22376
22418
|
themeClasses
|
|
22377
22419
|
} = provideTheme(props);
|
|
@@ -22398,8 +22440,16 @@ const VExpansionPanels = genericComponent()({
|
|
|
22398
22440
|
'v-expansion-panels--tile': props.tile
|
|
22399
22441
|
}, themeClasses.value, variantClass.value, props.class],
|
|
22400
22442
|
"style": props.style
|
|
22401
|
-
},
|
|
22402
|
-
|
|
22443
|
+
}, {
|
|
22444
|
+
default: () => [slots.default?.({
|
|
22445
|
+
prev,
|
|
22446
|
+
next
|
|
22447
|
+
})]
|
|
22448
|
+
}));
|
|
22449
|
+
return {
|
|
22450
|
+
next,
|
|
22451
|
+
prev
|
|
22452
|
+
};
|
|
22403
22453
|
}
|
|
22404
22454
|
});
|
|
22405
22455
|
|
|
@@ -22559,7 +22609,7 @@ const VFileInput = genericComponent()({
|
|
|
22559
22609
|
const {
|
|
22560
22610
|
t
|
|
22561
22611
|
} = useLocale();
|
|
22562
|
-
const model = useProxiedModel(props, 'modelValue', props.modelValue, val => wrapInArray(val), val => props.multiple || Array.isArray(props.modelValue) ? val : val[0]);
|
|
22612
|
+
const model = useProxiedModel(props, 'modelValue', props.modelValue, val => wrapInArray(val), val => props.multiple || Array.isArray(props.modelValue) ? val : val[0] ?? null);
|
|
22563
22613
|
const {
|
|
22564
22614
|
isFocused,
|
|
22565
22615
|
focus,
|
|
@@ -22663,7 +22713,7 @@ const VFileInput = genericComponent()({
|
|
|
22663
22713
|
}, fieldProps, {
|
|
22664
22714
|
"id": id.value,
|
|
22665
22715
|
"active": isActive.value || isDirty.value,
|
|
22666
|
-
"dirty": isDirty.value,
|
|
22716
|
+
"dirty": isDirty.value || props.dirty,
|
|
22667
22717
|
"disabled": isDisabled.value,
|
|
22668
22718
|
"focused": isFocused.value,
|
|
22669
22719
|
"error": isValid.value === false
|
|
@@ -23008,7 +23058,7 @@ const VInfiniteScroll = genericComponent()({
|
|
|
23008
23058
|
function intersecting(side) {
|
|
23009
23059
|
if (props.mode !== 'manual' && !isIntersecting.value) return;
|
|
23010
23060
|
const status = getStatus(side);
|
|
23011
|
-
if (!rootEl.value ||
|
|
23061
|
+
if (!rootEl.value || ['empty', 'loading'].includes(status)) return;
|
|
23012
23062
|
previousScrollSize = getScrollSize();
|
|
23013
23063
|
setStatus(side, 'loading');
|
|
23014
23064
|
function done(status) {
|
|
@@ -23754,7 +23804,9 @@ const makeVNavigationDrawerProps = propsFactory({
|
|
|
23754
23804
|
...makeBorderProps(),
|
|
23755
23805
|
...makeComponentProps(),
|
|
23756
23806
|
...makeDelayProps(),
|
|
23757
|
-
...makeDisplayProps(
|
|
23807
|
+
...makeDisplayProps({
|
|
23808
|
+
mobile: null
|
|
23809
|
+
}),
|
|
23758
23810
|
...makeElevationProps(),
|
|
23759
23811
|
...makeLayoutItemProps(),
|
|
23760
23812
|
...makeRoundedProps(),
|
|
@@ -25760,7 +25812,7 @@ const VStepperHeader = createSimpleFunctional('v-stepper-header');
|
|
|
25760
25812
|
|
|
25761
25813
|
// Types
|
|
25762
25814
|
|
|
25763
|
-
const
|
|
25815
|
+
const makeStepperItemProps = propsFactory({
|
|
25764
25816
|
color: String,
|
|
25765
25817
|
title: String,
|
|
25766
25818
|
subtitle: String,
|
|
@@ -25787,7 +25839,10 @@ const makeVStepperItemProps = propsFactory({
|
|
|
25787
25839
|
rules: {
|
|
25788
25840
|
type: Array,
|
|
25789
25841
|
default: () => []
|
|
25790
|
-
}
|
|
25842
|
+
}
|
|
25843
|
+
}, 'StepperItem');
|
|
25844
|
+
const makeVStepperItemProps = propsFactory({
|
|
25845
|
+
...makeStepperItemProps(),
|
|
25791
25846
|
...makeGroupItemProps()
|
|
25792
25847
|
}, 'VStepperItem');
|
|
25793
25848
|
const VStepperItem = genericComponent()({
|
|
@@ -25806,13 +25861,14 @@ const VStepperItem = genericComponent()({
|
|
|
25806
25861
|
const group = useGroupItem(props, VStepperSymbol, true);
|
|
25807
25862
|
const step = computed(() => group?.value.value ?? props.value);
|
|
25808
25863
|
const isValid = computed(() => props.rules.every(handler => handler() === true));
|
|
25864
|
+
const isClickable = computed(() => !props.disabled && props.editable);
|
|
25809
25865
|
const canEdit = computed(() => !props.disabled && props.editable);
|
|
25810
25866
|
const hasError = computed(() => props.error || !isValid.value);
|
|
25811
25867
|
const hasCompleted = computed(() => props.complete || props.rules.length > 0 && isValid.value);
|
|
25812
25868
|
const icon = computed(() => {
|
|
25813
25869
|
if (hasError.value) return props.errorIcon;
|
|
25814
25870
|
if (hasCompleted.value) return props.completeIcon;
|
|
25815
|
-
if (props.editable) return props.editIcon;
|
|
25871
|
+
if (group.isSelected.value && props.editable) return props.editIcon;
|
|
25816
25872
|
return props.icon;
|
|
25817
25873
|
});
|
|
25818
25874
|
const slotProps = computed(() => ({
|
|
@@ -25839,7 +25895,7 @@ const VStepperItem = genericComponent()({
|
|
|
25839
25895
|
}, group?.selectedClass.value],
|
|
25840
25896
|
"disabled": !props.editable,
|
|
25841
25897
|
"onClick": onClick
|
|
25842
|
-
}, [createVNode(VAvatar, {
|
|
25898
|
+
}, [isClickable.value && genOverlays(true, 'v-stepper-item'), createVNode(VAvatar, {
|
|
25843
25899
|
"key": "stepper-avatar",
|
|
25844
25900
|
"class": "v-stepper-item__avatar",
|
|
25845
25901
|
"color": hasColor ? props.color : undefined,
|
|
@@ -25901,7 +25957,8 @@ const VStepperWindow = genericComponent()({
|
|
|
25901
25957
|
}, windowProps, {
|
|
25902
25958
|
"modelValue": model.value,
|
|
25903
25959
|
"onUpdate:modelValue": $event => model.value = $event,
|
|
25904
|
-
"class":
|
|
25960
|
+
"class": ['v-stepper-window', props.class],
|
|
25961
|
+
"style": props.style,
|
|
25905
25962
|
"mandatory": false,
|
|
25906
25963
|
"touch": false
|
|
25907
25964
|
}), slots);
|
|
@@ -25925,7 +25982,8 @@ const VStepperWindowItem = genericComponent()({
|
|
|
25925
25982
|
return createVNode(VWindowItem, mergeProps({
|
|
25926
25983
|
"_as": "VStepperWindowItem"
|
|
25927
25984
|
}, windowItemProps, {
|
|
25928
|
-
"class":
|
|
25985
|
+
"class": ['v-stepper-window-item', props.class],
|
|
25986
|
+
"style": props.style
|
|
25929
25987
|
}), slots);
|
|
25930
25988
|
});
|
|
25931
25989
|
return {};
|
|
@@ -25935,7 +25993,7 @@ const VStepperWindowItem = genericComponent()({
|
|
|
25935
25993
|
// Types
|
|
25936
25994
|
|
|
25937
25995
|
const VStepperSymbol = Symbol.for('vuetify:v-stepper');
|
|
25938
|
-
const
|
|
25996
|
+
const makeStepperProps = propsFactory({
|
|
25939
25997
|
altLabels: Boolean,
|
|
25940
25998
|
bgColor: String,
|
|
25941
25999
|
editable: Boolean,
|
|
@@ -25954,7 +26012,10 @@ const makeVStepperProps = propsFactory({
|
|
|
25954
26012
|
},
|
|
25955
26013
|
mobile: Boolean,
|
|
25956
26014
|
nonLinear: Boolean,
|
|
25957
|
-
flat: Boolean
|
|
26015
|
+
flat: Boolean
|
|
26016
|
+
}, 'Stepper');
|
|
26017
|
+
const makeVStepperProps = propsFactory({
|
|
26018
|
+
...makeStepperProps(),
|
|
25958
26019
|
...makeGroupProps({
|
|
25959
26020
|
mandatory: 'force',
|
|
25960
26021
|
selectedClass: 'v-stepper-item--selected'
|
|
@@ -26033,12 +26094,18 @@ const VStepper = genericComponent()({
|
|
|
26033
26094
|
default: () => [hasHeader && createVNode(VStepperHeader, {
|
|
26034
26095
|
"key": "stepper-header"
|
|
26035
26096
|
}, {
|
|
26036
|
-
default: () => [items.value.map((
|
|
26037
|
-
|
|
26038
|
-
|
|
26039
|
-
|
|
26040
|
-
|
|
26041
|
-
|
|
26097
|
+
default: () => [items.value.map((_ref2, index) => {
|
|
26098
|
+
let {
|
|
26099
|
+
raw,
|
|
26100
|
+
...item
|
|
26101
|
+
} = _ref2;
|
|
26102
|
+
return createVNode(Fragment, null, [!!index && createVNode(VDivider, null, null), createVNode(VStepperItem, item, {
|
|
26103
|
+
default: slots[`header-item.${item.value}`] ?? slots.header,
|
|
26104
|
+
icon: slots.icon,
|
|
26105
|
+
title: slots.title,
|
|
26106
|
+
subtitle: slots.subtitle
|
|
26107
|
+
})]);
|
|
26108
|
+
})]
|
|
26042
26109
|
}), hasWindow && createVNode(VStepperWindow, {
|
|
26043
26110
|
"key": "stepper-window"
|
|
26044
26111
|
}, {
|
|
@@ -26424,7 +26491,8 @@ const VTabsWindow = genericComponent()({
|
|
|
26424
26491
|
}, windowProps, {
|
|
26425
26492
|
"modelValue": model.value,
|
|
26426
26493
|
"onUpdate:modelValue": $event => model.value = $event,
|
|
26427
|
-
"class":
|
|
26494
|
+
"class": ['v-tabs-window', props.class],
|
|
26495
|
+
"style": props.style,
|
|
26428
26496
|
"mandatory": false,
|
|
26429
26497
|
"touch": false
|
|
26430
26498
|
}), slots);
|
|
@@ -26501,6 +26569,7 @@ const VTabs = genericComponent()({
|
|
|
26501
26569
|
},
|
|
26502
26570
|
setup(props, _ref) {
|
|
26503
26571
|
let {
|
|
26572
|
+
attrs,
|
|
26504
26573
|
slots
|
|
26505
26574
|
} = _ref;
|
|
26506
26575
|
const model = useProxiedModel(props, 'modelValue');
|
|
@@ -26512,6 +26581,9 @@ const VTabs = genericComponent()({
|
|
|
26512
26581
|
backgroundColorClasses,
|
|
26513
26582
|
backgroundColorStyles
|
|
26514
26583
|
} = useBackgroundColor(toRef(props, 'bgColor'));
|
|
26584
|
+
const {
|
|
26585
|
+
scopeId
|
|
26586
|
+
} = useScopeId();
|
|
26515
26587
|
provideDefaults({
|
|
26516
26588
|
VTab: {
|
|
26517
26589
|
color: toRef(props, 'color'),
|
|
@@ -26538,7 +26610,7 @@ const VTabs = genericComponent()({
|
|
|
26538
26610
|
}, backgroundColorStyles.value, props.style],
|
|
26539
26611
|
"role": "tablist",
|
|
26540
26612
|
"symbol": VTabsSymbol
|
|
26541
|
-
}), {
|
|
26613
|
+
}, scopeId, attrs), {
|
|
26542
26614
|
default: () => [slots.default?.() ?? items.value.map(item => slots.tab?.({
|
|
26543
26615
|
item
|
|
26544
26616
|
}) ?? createVNode(VTab, mergeProps(item, {
|
|
@@ -26549,11 +26621,11 @@ const VTabs = genericComponent()({
|
|
|
26549
26621
|
item
|
|
26550
26622
|
})
|
|
26551
26623
|
}))]
|
|
26552
|
-
}), hasWindow && createVNode(VTabsWindow, {
|
|
26624
|
+
}), hasWindow && createVNode(VTabsWindow, mergeProps({
|
|
26553
26625
|
"modelValue": model.value,
|
|
26554
26626
|
"onUpdate:modelValue": $event => model.value = $event,
|
|
26555
26627
|
"key": "tabs-window"
|
|
26556
|
-
}, {
|
|
26628
|
+
}, scopeId), {
|
|
26557
26629
|
default: () => [items.value.map(item => slots.item?.({
|
|
26558
26630
|
item
|
|
26559
26631
|
}) ?? createVNode(VTabsWindowItem, {
|
|
@@ -27838,19 +27910,13 @@ const makeVNumberInputProps = propsFactory({
|
|
|
27838
27910
|
type: Number,
|
|
27839
27911
|
default: 1
|
|
27840
27912
|
},
|
|
27841
|
-
...
|
|
27842
|
-
...only(makeVFieldProps(), ['baseColor', 'bgColor', 'class', 'color', 'disabled', 'error', 'loading', 'reverse', 'rounded', 'style', 'theme', 'variant']),
|
|
27843
|
-
...makeFocusProps()
|
|
27913
|
+
...omit(makeVTextFieldProps(), ['appendInnerIcon', 'prependInnerIcon'])
|
|
27844
27914
|
}, 'VNumberInput');
|
|
27845
27915
|
const VNumberInput = genericComponent()({
|
|
27846
27916
|
name: 'VNumberInput',
|
|
27847
27917
|
inheritAttrs: false,
|
|
27848
27918
|
props: {
|
|
27849
|
-
...makeVNumberInputProps()
|
|
27850
|
-
modelValue: {
|
|
27851
|
-
type: Number,
|
|
27852
|
-
default: undefined
|
|
27853
|
-
}
|
|
27919
|
+
...makeVNumberInputProps()
|
|
27854
27920
|
},
|
|
27855
27921
|
emits: {
|
|
27856
27922
|
'update:modelValue': val => true
|
|
@@ -27862,12 +27928,6 @@ const VNumberInput = genericComponent()({
|
|
|
27862
27928
|
slots
|
|
27863
27929
|
} = _ref;
|
|
27864
27930
|
const model = useProxiedModel(props, 'modelValue');
|
|
27865
|
-
const {
|
|
27866
|
-
isFocused,
|
|
27867
|
-
focus,
|
|
27868
|
-
blur
|
|
27869
|
-
} = useFocus(props);
|
|
27870
|
-
const inputRef = ref();
|
|
27871
27931
|
const stepDecimals = computed(() => getDecimals(props.step));
|
|
27872
27932
|
const modelDecimals = computed(() => model.value != null ? getDecimals(model.value) : 0);
|
|
27873
27933
|
const canIncrease = computed(() => {
|
|
@@ -27883,9 +27943,6 @@ const VNumberInput = genericComponent()({
|
|
|
27883
27943
|
model.value = clamp(model.value, props.min, props.max);
|
|
27884
27944
|
}
|
|
27885
27945
|
});
|
|
27886
|
-
function onFocus() {
|
|
27887
|
-
if (!isFocused.value) focus();
|
|
27888
|
-
}
|
|
27889
27946
|
const controlVariant = computed(() => {
|
|
27890
27947
|
return props.hideInput ? 'stacked' : props.controlVariant;
|
|
27891
27948
|
});
|
|
@@ -27915,7 +27972,7 @@ const VNumberInput = genericComponent()({
|
|
|
27915
27972
|
toggleUpDown(false);
|
|
27916
27973
|
}
|
|
27917
27974
|
function onKeydown(e) {
|
|
27918
|
-
if (['Enter', 'ArrowLeft', 'ArrowRight', 'Backspace'].includes(e.key) || e.ctrlKey) return;
|
|
27975
|
+
if (['Enter', 'ArrowLeft', 'ArrowRight', 'Backspace', 'Tab'].includes(e.key) || e.ctrlKey) return;
|
|
27919
27976
|
if (['ArrowDown'].includes(e.key)) {
|
|
27920
27977
|
e.preventDefault();
|
|
27921
27978
|
toggleUpDown(false);
|
|
@@ -27932,17 +27989,14 @@ const VNumberInput = genericComponent()({
|
|
|
27932
27989
|
e.preventDefault();
|
|
27933
27990
|
}
|
|
27934
27991
|
}
|
|
27935
|
-
function
|
|
27936
|
-
|
|
27937
|
-
model.value = el.value ? +el.value : undefined;
|
|
27992
|
+
function onModelUpdate(v) {
|
|
27993
|
+
model.value = v ? +v : undefined;
|
|
27938
27994
|
}
|
|
27939
27995
|
useRender(() => {
|
|
27940
|
-
const fieldProps = filterFieldProps(props);
|
|
27941
|
-
const [rootAttrs, inputAttrs] = filterInputAttrs(attrs);
|
|
27942
27996
|
const {
|
|
27943
27997
|
modelValue: _,
|
|
27944
|
-
...
|
|
27945
|
-
} =
|
|
27998
|
+
...textFieldProps
|
|
27999
|
+
} = VTextField.filterProps(props);
|
|
27946
28000
|
function controlNode() {
|
|
27947
28001
|
const defaultHeight = controlVariant.value === 'stacked' ? 'auto' : '100%';
|
|
27948
28002
|
return createVNode("div", {
|
|
@@ -27955,6 +28009,7 @@ const VNumberInput = genericComponent()({
|
|
|
27955
28009
|
"name": "decrement-btn",
|
|
27956
28010
|
"icon": "$expand",
|
|
27957
28011
|
"size": "small",
|
|
28012
|
+
"tabindex": "-1",
|
|
27958
28013
|
"onClick": onClickDown
|
|
27959
28014
|
}, null) : createVNode(VDefaultsProvider, {
|
|
27960
28015
|
"key": "decrement-defaults",
|
|
@@ -27979,7 +28034,8 @@ const VNumberInput = genericComponent()({
|
|
|
27979
28034
|
"name": "increment-btn",
|
|
27980
28035
|
"icon": "$collapse",
|
|
27981
28036
|
"onClick": onClickUp,
|
|
27982
|
-
"size": "small"
|
|
28037
|
+
"size": "small",
|
|
28038
|
+
"tabindex": "-1"
|
|
27983
28039
|
}, null) : createVNode(VDefaultsProvider, {
|
|
27984
28040
|
"key": "increment-defaults",
|
|
27985
28041
|
"defaults": {
|
|
@@ -28000,7 +28056,36 @@ const VNumberInput = genericComponent()({
|
|
|
28000
28056
|
"vertical": true
|
|
28001
28057
|
}, null) : undefined;
|
|
28002
28058
|
}
|
|
28003
|
-
|
|
28059
|
+
const appendInnerControl = controlVariant.value === 'split' ? createVNode("div", {
|
|
28060
|
+
"class": "v-number-input__control"
|
|
28061
|
+
}, [createVNode(VDivider, {
|
|
28062
|
+
"vertical": true
|
|
28063
|
+
}, null), createVNode(VBtn, {
|
|
28064
|
+
"flat": true,
|
|
28065
|
+
"height": "100%",
|
|
28066
|
+
"icon": "$plus",
|
|
28067
|
+
"tile": true,
|
|
28068
|
+
"tabindex": "-1",
|
|
28069
|
+
"onClick": onClickUp
|
|
28070
|
+
}, null)]) : !props.reverse ? createVNode(Fragment, null, [dividerNode(), controlNode()]) : undefined;
|
|
28071
|
+
const hasAppendInner = slots['append-inner'] || appendInnerControl;
|
|
28072
|
+
const prependInnerControl = controlVariant.value === 'split' ? createVNode("div", {
|
|
28073
|
+
"class": "v-number-input__control"
|
|
28074
|
+
}, [createVNode(VBtn, {
|
|
28075
|
+
"flat": true,
|
|
28076
|
+
"height": "100%",
|
|
28077
|
+
"icon": "$minus",
|
|
28078
|
+
"tile": true,
|
|
28079
|
+
"tabindex": "-1",
|
|
28080
|
+
"onClick": onClickDown
|
|
28081
|
+
}, null), createVNode(VDivider, {
|
|
28082
|
+
"vertical": true
|
|
28083
|
+
}, null)]) : props.reverse ? createVNode(Fragment, null, [controlNode(), dividerNode()]) : undefined;
|
|
28084
|
+
const hasPrependInner = slots['prepend-inner'] || prependInnerControl;
|
|
28085
|
+
return createVNode(VTextField, mergeProps({
|
|
28086
|
+
"modelValue": model.value,
|
|
28087
|
+
"onUpdate:modelValue": onModelUpdate,
|
|
28088
|
+
"onKeydown": onKeydown,
|
|
28004
28089
|
"class": ['v-number-input', {
|
|
28005
28090
|
'v-number-input--default': controlVariant.value === 'default',
|
|
28006
28091
|
'v-number-input--hide-input': props.hideInput,
|
|
@@ -28009,59 +28094,281 @@ const VNumberInput = genericComponent()({
|
|
|
28009
28094
|
'v-number-input--split': controlVariant.value === 'split',
|
|
28010
28095
|
'v-number-input--stacked': controlVariant.value === 'stacked'
|
|
28011
28096
|
}, props.class]
|
|
28012
|
-
},
|
|
28013
|
-
"focused": isFocused.value,
|
|
28097
|
+
}, textFieldProps, {
|
|
28014
28098
|
"style": props.style
|
|
28015
28099
|
}), {
|
|
28016
28100
|
...slots,
|
|
28017
|
-
|
|
28018
|
-
|
|
28019
|
-
|
|
28020
|
-
|
|
28021
|
-
...
|
|
28022
|
-
|
|
28101
|
+
'append-inner': hasAppendInner ? function () {
|
|
28102
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
28103
|
+
args[_key] = arguments[_key];
|
|
28104
|
+
}
|
|
28105
|
+
return createVNode(Fragment, null, [slots['append-inner']?.(...args), appendInnerControl]);
|
|
28106
|
+
} : undefined,
|
|
28107
|
+
'prepend-inner': hasPrependInner ? function () {
|
|
28108
|
+
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
|
28109
|
+
args[_key2] = arguments[_key2];
|
|
28110
|
+
}
|
|
28111
|
+
return createVNode(Fragment, null, [prependInnerControl, slots['prepend-inner']?.(...args)]);
|
|
28112
|
+
} : undefined
|
|
28113
|
+
});
|
|
28114
|
+
});
|
|
28115
|
+
}
|
|
28116
|
+
});
|
|
28117
|
+
|
|
28118
|
+
// Types
|
|
28119
|
+
|
|
28120
|
+
const makeVStepperVerticalActionsProps = propsFactory({
|
|
28121
|
+
...makeVStepperActionsProps()
|
|
28122
|
+
}, 'VStepperActions');
|
|
28123
|
+
const VStepperVerticalActions = genericComponent()({
|
|
28124
|
+
name: 'VStepperVerticalActions',
|
|
28125
|
+
props: makeVStepperVerticalActionsProps(),
|
|
28126
|
+
emits: {
|
|
28127
|
+
'click:prev': () => true,
|
|
28128
|
+
'click:next': () => true
|
|
28129
|
+
},
|
|
28130
|
+
setup(props, _ref) {
|
|
28131
|
+
let {
|
|
28132
|
+
emit,
|
|
28133
|
+
slots
|
|
28134
|
+
} = _ref;
|
|
28135
|
+
function onClickPrev() {
|
|
28136
|
+
emit('click:prev');
|
|
28137
|
+
}
|
|
28138
|
+
function onClickNext() {
|
|
28139
|
+
emit('click:next');
|
|
28140
|
+
}
|
|
28141
|
+
useRender(() => {
|
|
28142
|
+
const stepperActionsProps = VStepperActions.filterProps(props);
|
|
28143
|
+
return createVNode(VStepperActions, mergeProps({
|
|
28144
|
+
"class": "v-stepper-vertical-actions"
|
|
28145
|
+
}, stepperActionsProps, {
|
|
28146
|
+
"onClick:prev": onClickPrev,
|
|
28147
|
+
"onClick:next": onClickNext
|
|
28148
|
+
}), slots);
|
|
28149
|
+
});
|
|
28150
|
+
return {};
|
|
28151
|
+
}
|
|
28152
|
+
});
|
|
28153
|
+
|
|
28154
|
+
// Types
|
|
28155
|
+
|
|
28156
|
+
const makeVStepperVerticalItemProps = propsFactory({
|
|
28157
|
+
hideActions: Boolean,
|
|
28158
|
+
...makeStepperItemProps(),
|
|
28159
|
+
...omit(makeVExpansionPanelProps({
|
|
28160
|
+
expandIcon: '',
|
|
28161
|
+
collapseIcon: ''
|
|
28162
|
+
}), ['hideActions'])
|
|
28163
|
+
}, 'VStepperVerticalItem');
|
|
28164
|
+
const VStepperVerticalItem = genericComponent()({
|
|
28165
|
+
name: 'VStepperVerticalItem',
|
|
28166
|
+
props: makeVStepperVerticalItemProps(),
|
|
28167
|
+
emits: {
|
|
28168
|
+
'click:next': () => true,
|
|
28169
|
+
'click:prev': () => true,
|
|
28170
|
+
'click:finish': () => true
|
|
28171
|
+
},
|
|
28172
|
+
setup(props, _ref) {
|
|
28173
|
+
let {
|
|
28174
|
+
emit,
|
|
28175
|
+
slots
|
|
28176
|
+
} = _ref;
|
|
28177
|
+
const vExpansionPanelRef = ref();
|
|
28178
|
+
const step = computed(() => !isNaN(parseInt(props.value)) ? Number(props.value) : props.value);
|
|
28179
|
+
const groupItem = computed(() => vExpansionPanelRef.value?.groupItem);
|
|
28180
|
+
const isSelected = computed(() => groupItem.value?.isSelected.value ?? false);
|
|
28181
|
+
const isValid = computed(() => isSelected.value ? props.rules.every(handler => handler() === true) : null);
|
|
28182
|
+
const canEdit = computed(() => !props.disabled && props.editable);
|
|
28183
|
+
const hasError = computed(() => props.error || isSelected.value && !isValid.value);
|
|
28184
|
+
const hasCompleted = computed(() => props.complete || props.rules.length > 0 && isValid.value === true);
|
|
28185
|
+
const disabled = computed(() => {
|
|
28186
|
+
if (props.disabled) return props.disabled;
|
|
28187
|
+
if (groupItem.value?.isFirst.value) return 'prev';
|
|
28188
|
+
return false;
|
|
28189
|
+
});
|
|
28190
|
+
const icon = computed(() => {
|
|
28191
|
+
if (hasError.value) return props.errorIcon;
|
|
28192
|
+
if (hasCompleted.value) return props.completeIcon;
|
|
28193
|
+
if (groupItem.value?.isSelected.value && props.editable) return props.editIcon;
|
|
28194
|
+
return props.icon;
|
|
28195
|
+
});
|
|
28196
|
+
const slotProps = computed(() => ({
|
|
28197
|
+
canEdit: canEdit.value,
|
|
28198
|
+
hasError: hasError.value,
|
|
28199
|
+
hasCompleted: hasCompleted.value,
|
|
28200
|
+
title: props.title,
|
|
28201
|
+
subtitle: props.subtitle,
|
|
28202
|
+
step: step.value,
|
|
28203
|
+
value: props.value
|
|
28204
|
+
}));
|
|
28205
|
+
const actionProps = computed(() => ({
|
|
28206
|
+
...slotProps.value,
|
|
28207
|
+
prev: onClickPrev,
|
|
28208
|
+
next: onClickNext
|
|
28209
|
+
}));
|
|
28210
|
+
function onClickNext() {
|
|
28211
|
+
emit('click:next');
|
|
28212
|
+
if (groupItem.value?.isLast.value) return;
|
|
28213
|
+
groupItem.value.group.next();
|
|
28214
|
+
}
|
|
28215
|
+
function onClickPrev() {
|
|
28216
|
+
emit('click:prev');
|
|
28217
|
+
groupItem.value.group.prev();
|
|
28218
|
+
}
|
|
28219
|
+
useRender(() => {
|
|
28220
|
+
const hasColor = (hasCompleted.value || groupItem.value?.isSelected.value) && !hasError.value && !props.disabled;
|
|
28221
|
+
const hasActions = !props.hideActions || !!slots.actions;
|
|
28222
|
+
const expansionPanelProps = VExpansionPanel.filterProps(props);
|
|
28223
|
+
return createVNode(VExpansionPanel, mergeProps({
|
|
28224
|
+
"_as": "VStepperVerticalItem",
|
|
28225
|
+
"ref": vExpansionPanelRef
|
|
28226
|
+
}, expansionPanelProps, {
|
|
28227
|
+
"class": ['v-stepper-vertical-item', {
|
|
28228
|
+
'v-stepper-vertical-item--complete': hasCompleted.value,
|
|
28229
|
+
'v-stepper-vertical-item--disabled': props.disabled,
|
|
28230
|
+
'v-stepper-vertical-item--editable': canEdit.value,
|
|
28231
|
+
'v-stepper-vertical-item--error': hasError.value
|
|
28232
|
+
}, props.class],
|
|
28233
|
+
"readonly": !props.editable,
|
|
28234
|
+
"style": props.style,
|
|
28235
|
+
"color": "",
|
|
28236
|
+
"hide-actions": false,
|
|
28237
|
+
"value": step.value
|
|
28238
|
+
}), {
|
|
28239
|
+
title: () => createVNode(Fragment, null, [createVNode(VAvatar, {
|
|
28240
|
+
"key": "stepper-avatar",
|
|
28241
|
+
"class": "v-stepper-vertical-item__avatar",
|
|
28242
|
+
"color": hasColor ? props.color : undefined,
|
|
28243
|
+
"size": 24,
|
|
28244
|
+
"start": true
|
|
28245
|
+
}, {
|
|
28246
|
+
default: () => [slots.icon?.(slotProps.value) ?? (icon.value ? createVNode(VIcon, {
|
|
28247
|
+
"icon": icon.value
|
|
28248
|
+
}, null) : step.value)]
|
|
28249
|
+
}), createVNode("div", null, [createVNode("div", {
|
|
28250
|
+
"class": "v-stepper-vertical-item__title"
|
|
28251
|
+
}, [slots.title?.(slotProps.value) ?? props.title]), createVNode("div", {
|
|
28252
|
+
"class": "v-stepper-vertical-item__subtitle"
|
|
28253
|
+
}, [slots.subtitle?.(slotProps.value) ?? props.subtitle])])]),
|
|
28254
|
+
text: () => createVNode(Fragment, null, [slots.default?.(slotProps.value) ?? props.text, hasActions && createVNode(VDefaultsProvider, {
|
|
28255
|
+
"defaults": {
|
|
28256
|
+
VStepperVerticalActions: {
|
|
28257
|
+
disabled: disabled.value,
|
|
28258
|
+
finish: groupItem.value?.isLast.value
|
|
28259
|
+
}
|
|
28260
|
+
}
|
|
28261
|
+
}, {
|
|
28262
|
+
default: () => [slots.actions?.(actionProps.value) ?? createVNode(VStepperVerticalActions, {
|
|
28263
|
+
"onClick:next": onClickNext,
|
|
28264
|
+
"onClick:prev": onClickPrev
|
|
28265
|
+
}, {
|
|
28266
|
+
prev: slots.prev ? () => slots.prev?.(actionProps.value) : undefined,
|
|
28267
|
+
next: slots.next ? () => slots.next?.(actionProps.value) : undefined
|
|
28268
|
+
})]
|
|
28269
|
+
})])
|
|
28270
|
+
});
|
|
28271
|
+
});
|
|
28272
|
+
return {};
|
|
28273
|
+
}
|
|
28274
|
+
});
|
|
28275
|
+
|
|
28276
|
+
// Types
|
|
28277
|
+
|
|
28278
|
+
const makeVStepperVerticalProps = propsFactory({
|
|
28279
|
+
prevText: {
|
|
28280
|
+
type: String,
|
|
28281
|
+
default: '$vuetify.stepper.prev'
|
|
28282
|
+
},
|
|
28283
|
+
nextText: {
|
|
28284
|
+
type: String,
|
|
28285
|
+
default: '$vuetify.stepper.next'
|
|
28286
|
+
},
|
|
28287
|
+
...makeStepperProps(),
|
|
28288
|
+
...omit(makeVExpansionPanelsProps({
|
|
28289
|
+
mandatory: 'force',
|
|
28290
|
+
variant: 'accordion'
|
|
28291
|
+
}), ['static'])
|
|
28292
|
+
}, 'VStepperVertical');
|
|
28293
|
+
const VStepperVertical = genericComponent()({
|
|
28294
|
+
name: 'VStepperVertical',
|
|
28295
|
+
props: makeVStepperVerticalProps(),
|
|
28296
|
+
emits: {
|
|
28297
|
+
'update:modelValue': val => true
|
|
28298
|
+
},
|
|
28299
|
+
setup(props, _ref) {
|
|
28300
|
+
let {
|
|
28301
|
+
slots
|
|
28302
|
+
} = _ref;
|
|
28303
|
+
const vExpansionPanelsRef = ref();
|
|
28304
|
+
const {
|
|
28305
|
+
color,
|
|
28306
|
+
editable,
|
|
28307
|
+
prevText,
|
|
28308
|
+
nextText,
|
|
28309
|
+
hideActions
|
|
28310
|
+
} = toRefs(props);
|
|
28311
|
+
const model = useProxiedModel(props, 'modelValue');
|
|
28312
|
+
const items = computed(() => props.items.map((item, index) => {
|
|
28313
|
+
const title = getPropertyFromItem(item, props.itemTitle, item);
|
|
28314
|
+
const value = getPropertyFromItem(item, props.itemValue, index + 1);
|
|
28315
|
+
return {
|
|
28316
|
+
title,
|
|
28317
|
+
value,
|
|
28318
|
+
raw: item
|
|
28319
|
+
};
|
|
28320
|
+
}));
|
|
28321
|
+
provideDefaults({
|
|
28322
|
+
VStepperVerticalItem: {
|
|
28323
|
+
color,
|
|
28324
|
+
editable,
|
|
28325
|
+
prevText,
|
|
28326
|
+
nextText,
|
|
28327
|
+
hideActions,
|
|
28328
|
+
static: true
|
|
28329
|
+
},
|
|
28330
|
+
VStepperActions: {
|
|
28331
|
+
color
|
|
28332
|
+
}
|
|
28333
|
+
});
|
|
28334
|
+
useRender(() => {
|
|
28335
|
+
const expansionPanelProps = VExpansionPanels.filterProps(props);
|
|
28336
|
+
return createVNode(VExpansionPanels, mergeProps(expansionPanelProps, {
|
|
28337
|
+
"modelValue": model.value,
|
|
28338
|
+
"onUpdate:modelValue": $event => model.value = $event,
|
|
28339
|
+
"ref": vExpansionPanelsRef,
|
|
28340
|
+
"class": ['v-stepper', {
|
|
28341
|
+
'v-stepper--alt-labels': props.altLabels,
|
|
28342
|
+
'v-stepper--flat': props.flat,
|
|
28343
|
+
'v-stepper--non-linear': props.nonLinear,
|
|
28344
|
+
'v-stepper--mobile': props.mobile
|
|
28345
|
+
}, props.class],
|
|
28346
|
+
"style": props.style
|
|
28347
|
+
}), {
|
|
28348
|
+
...slots,
|
|
28349
|
+
default: _ref2 => {
|
|
28350
|
+
let {
|
|
28351
|
+
prev,
|
|
28352
|
+
next
|
|
28353
|
+
} = _ref2;
|
|
28354
|
+
return createVNode(Fragment, null, [items.value.map(_ref3 => {
|
|
28023
28355
|
let {
|
|
28024
|
-
|
|
28025
|
-
|
|
28026
|
-
|
|
28027
|
-
|
|
28028
|
-
|
|
28029
|
-
|
|
28030
|
-
|
|
28031
|
-
|
|
28032
|
-
|
|
28033
|
-
|
|
28034
|
-
|
|
28035
|
-
|
|
28036
|
-
|
|
28037
|
-
"onBlur": blur
|
|
28038
|
-
}, inputAttrs), null);
|
|
28039
|
-
},
|
|
28040
|
-
'append-inner': controlVariant.value === 'split' ? () => createVNode("div", {
|
|
28041
|
-
"class": "v-number-input__control"
|
|
28042
|
-
}, [createVNode(VDivider, {
|
|
28043
|
-
"vertical": true
|
|
28044
|
-
}, null), createVNode(VBtn, {
|
|
28045
|
-
"flat": true,
|
|
28046
|
-
"height": "100%",
|
|
28047
|
-
"icon": "$plus",
|
|
28048
|
-
"tile": true,
|
|
28049
|
-
"onClick": onClickUp
|
|
28050
|
-
}, null)]) : !props.reverse ? () => createVNode(Fragment, null, [dividerNode(), controlNode()]) : undefined,
|
|
28051
|
-
'prepend-inner': controlVariant.value === 'split' ? () => createVNode("div", {
|
|
28052
|
-
"class": "v-number-input__control"
|
|
28053
|
-
}, [createVNode(VBtn, {
|
|
28054
|
-
"flat": true,
|
|
28055
|
-
"height": "100%",
|
|
28056
|
-
"icon": "$minus",
|
|
28057
|
-
"tile": true,
|
|
28058
|
-
"onClick": onClickDown
|
|
28059
|
-
}, null), createVNode(VDivider, {
|
|
28060
|
-
"vertical": true
|
|
28061
|
-
}, null)]) : props.reverse ? () => createVNode(Fragment, null, [controlNode(), dividerNode()]) : undefined
|
|
28062
|
-
})
|
|
28356
|
+
raw,
|
|
28357
|
+
...item
|
|
28358
|
+
} = _ref3;
|
|
28359
|
+
return createVNode(VStepperVerticalItem, item, {
|
|
28360
|
+
...slots,
|
|
28361
|
+
default: slots[`item.${item.value}`]
|
|
28362
|
+
});
|
|
28363
|
+
}), slots.default?.({
|
|
28364
|
+
prev,
|
|
28365
|
+
next,
|
|
28366
|
+
step: model.value
|
|
28367
|
+
})]);
|
|
28368
|
+
}
|
|
28063
28369
|
});
|
|
28064
28370
|
});
|
|
28371
|
+
return {};
|
|
28065
28372
|
}
|
|
28066
28373
|
});
|
|
28067
28374
|
|
|
@@ -29425,6 +29732,9 @@ var components = /*#__PURE__*/Object.freeze({
|
|
|
29425
29732
|
VStepperActions: VStepperActions,
|
|
29426
29733
|
VStepperHeader: VStepperHeader,
|
|
29427
29734
|
VStepperItem: VStepperItem,
|
|
29735
|
+
VStepperVertical: VStepperVertical,
|
|
29736
|
+
VStepperVerticalActions: VStepperVerticalActions,
|
|
29737
|
+
VStepperVerticalItem: VStepperVerticalItem,
|
|
29428
29738
|
VStepperWindow: VStepperWindow,
|
|
29429
29739
|
VStepperWindowItem: VStepperWindowItem,
|
|
29430
29740
|
VSvgIcon: VSvgIcon,
|
|
@@ -29762,7 +30072,7 @@ function createVuetify$1() {
|
|
|
29762
30072
|
goTo
|
|
29763
30073
|
};
|
|
29764
30074
|
}
|
|
29765
|
-
const version$1 = "3.6.
|
|
30075
|
+
const version$1 = "3.6.5";
|
|
29766
30076
|
createVuetify$1.version = version$1;
|
|
29767
30077
|
|
|
29768
30078
|
// Vue's inject() can only be used in setup
|
|
@@ -30015,7 +30325,7 @@ var index = /*#__PURE__*/Object.freeze({
|
|
|
30015
30325
|
|
|
30016
30326
|
/* eslint-disable local-rules/sort-imports */
|
|
30017
30327
|
|
|
30018
|
-
const version = "3.6.
|
|
30328
|
+
const version = "3.6.5";
|
|
30019
30329
|
|
|
30020
30330
|
/* eslint-disable local-rules/sort-imports */
|
|
30021
30331
|
|