vuetify 3.6.4 → 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 +292 -4
- package/dist/json/importMap-labs.json +30 -18
- package/dist/json/importMap.json +134 -134
- package/dist/json/tags.json +87 -0
- package/dist/json/web-types.json +1313 -6
- package/dist/vuetify-labs.css +2150 -2035
- package/dist/vuetify-labs.d.ts +1669 -28
- package/dist/vuetify-labs.esm.js +326 -25
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +326 -25
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +812 -765
- package/dist/vuetify.d.ts +153 -75
- package/dist/vuetify.esm.js +66 -25
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +66 -25
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +54 -54
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VBtn/index.d.mts +2 -0
- package/lib/components/VDataTable/VDataTable.mjs +6 -2
- package/lib/components/VDataTable/VDataTable.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/index.d.mts +54 -0
- 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 +1 -1
- package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
- package/lib/components/VSlideGroup/index.d.mts +2 -0
- 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/index.d.mts +1 -1
- package/lib/components/VTabs/index.d.mts +2 -0
- package/lib/components/VWindow/index.d.mts +2 -0
- package/lib/components/index.d.mts +102 -27
- package/lib/composables/group.mjs +8 -0
- package/lib/composables/group.mjs.map +1 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/index.d.mts +51 -48
- 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/components.d.mts +1599 -20
- package/lib/labs/components.mjs +1 -0
- package/lib/labs/components.mjs.map +1 -1
- package/package.json +2 -2
package/dist/vuetify-labs.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Vuetify v3.6.
|
|
2
|
+
* Vuetify v3.6.5
|
|
3
3
|
* Forged by John Leider
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
@@ -4137,6 +4137,12 @@
|
|
|
4137
4137
|
const isSelected = vue.computed(() => {
|
|
4138
4138
|
return group.isSelected(id);
|
|
4139
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
|
+
});
|
|
4140
4146
|
const selectedClass = vue.computed(() => isSelected.value && [group.selectedClass.value, props.selectedClass]);
|
|
4141
4147
|
vue.watch(isSelected, value => {
|
|
4142
4148
|
vm.emit('group:selected', {
|
|
@@ -4148,6 +4154,8 @@
|
|
|
4148
4154
|
return {
|
|
4149
4155
|
id,
|
|
4150
4156
|
isSelected,
|
|
4157
|
+
isFirst,
|
|
4158
|
+
isLast,
|
|
4151
4159
|
toggle: () => group.select(id, !isSelected.value),
|
|
4152
4160
|
select: value => group.select(id, value),
|
|
4153
4161
|
selectedClass,
|
|
@@ -20255,6 +20263,8 @@
|
|
|
20255
20263
|
|
|
20256
20264
|
const makeDataTableProps = propsFactory({
|
|
20257
20265
|
...makeVDataTableRowsProps(),
|
|
20266
|
+
hideDefaultFooter: Boolean,
|
|
20267
|
+
hideDefaultHeader: Boolean,
|
|
20258
20268
|
width: [String, Number],
|
|
20259
20269
|
search: String,
|
|
20260
20270
|
...makeDataTableExpandProps(),
|
|
@@ -20437,10 +20447,12 @@
|
|
|
20437
20447
|
"style": props.style
|
|
20438
20448
|
}, tableProps), {
|
|
20439
20449
|
top: () => slots.top?.(slotProps.value),
|
|
20440
|
-
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, {
|
|
20441
20453
|
"items": paginatedItems.value
|
|
20442
20454
|
}), slots), slots['body.append']?.(slotProps.value)]), slots.tbody?.(slotProps.value), slots.tfoot?.(slotProps.value)]),
|
|
20443
|
-
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, {
|
|
20444
20456
|
prepend: slots['footer.prepend']
|
|
20445
20457
|
})])
|
|
20446
20458
|
});
|
|
@@ -20608,7 +20620,9 @@
|
|
|
20608
20620
|
"style": {
|
|
20609
20621
|
height: convertToUnit(props.height)
|
|
20610
20622
|
}
|
|
20611
|
-
}, [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, {
|
|
20612
20626
|
"sticky": props.fixedHeader
|
|
20613
20627
|
}), slots)]), vue.createVNode("tbody", null, [vue.createVNode("tr", {
|
|
20614
20628
|
"ref": markerRef,
|
|
@@ -20813,7 +20827,8 @@
|
|
|
20813
20827
|
"style": props.style
|
|
20814
20828
|
}, tableProps), {
|
|
20815
20829
|
top: () => slots.top?.(slotProps.value),
|
|
20816
|
-
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",
|
|
20817
20832
|
"class": "v-data-table__thead",
|
|
20818
20833
|
"role": "rowgroup"
|
|
20819
20834
|
}, [vue.createVNode(VDataTableHeaders, vue.mergeProps(dataTableHeadersProps, {
|
|
@@ -20824,7 +20839,7 @@
|
|
|
20824
20839
|
}, [slots['body.prepend']?.(slotProps.value), slots.body ? slots.body(slotProps.value) : vue.createVNode(VDataTableRows, vue.mergeProps(attrs, dataTableRowsProps, {
|
|
20825
20840
|
"items": flatItems.value
|
|
20826
20841
|
}), slots), slots['body.append']?.(slotProps.value)]), slots.tbody?.(slotProps.value), slots.tfoot?.(slotProps.value)]),
|
|
20827
|
-
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, {
|
|
20828
20843
|
prepend: slots['footer.prepend']
|
|
20829
20844
|
})])
|
|
20830
20845
|
});
|
|
@@ -22368,7 +22383,9 @@
|
|
|
22368
22383
|
}), slots.default?.()]
|
|
22369
22384
|
});
|
|
22370
22385
|
});
|
|
22371
|
-
return {
|
|
22386
|
+
return {
|
|
22387
|
+
groupItem
|
|
22388
|
+
};
|
|
22372
22389
|
}
|
|
22373
22390
|
});
|
|
22374
22391
|
|
|
@@ -22397,7 +22414,10 @@
|
|
|
22397
22414
|
let {
|
|
22398
22415
|
slots
|
|
22399
22416
|
} = _ref;
|
|
22400
|
-
|
|
22417
|
+
const {
|
|
22418
|
+
next,
|
|
22419
|
+
prev
|
|
22420
|
+
} = useGroup(props, VExpansionPanelSymbol);
|
|
22401
22421
|
const {
|
|
22402
22422
|
themeClasses
|
|
22403
22423
|
} = provideTheme(props);
|
|
@@ -22424,8 +22444,16 @@
|
|
|
22424
22444
|
'v-expansion-panels--tile': props.tile
|
|
22425
22445
|
}, themeClasses.value, variantClass.value, props.class],
|
|
22426
22446
|
"style": props.style
|
|
22427
|
-
},
|
|
22428
|
-
|
|
22447
|
+
}, {
|
|
22448
|
+
default: () => [slots.default?.({
|
|
22449
|
+
prev,
|
|
22450
|
+
next
|
|
22451
|
+
})]
|
|
22452
|
+
}));
|
|
22453
|
+
return {
|
|
22454
|
+
next,
|
|
22455
|
+
prev
|
|
22456
|
+
};
|
|
22429
22457
|
}
|
|
22430
22458
|
});
|
|
22431
22459
|
|
|
@@ -22689,7 +22717,7 @@
|
|
|
22689
22717
|
}, fieldProps, {
|
|
22690
22718
|
"id": id.value,
|
|
22691
22719
|
"active": isActive.value || isDirty.value,
|
|
22692
|
-
"dirty": isDirty.value,
|
|
22720
|
+
"dirty": isDirty.value || props.dirty,
|
|
22693
22721
|
"disabled": isDisabled.value,
|
|
22694
22722
|
"focused": isFocused.value,
|
|
22695
22723
|
"error": isValid.value === false
|
|
@@ -25788,7 +25816,7 @@
|
|
|
25788
25816
|
|
|
25789
25817
|
// Types
|
|
25790
25818
|
|
|
25791
|
-
const
|
|
25819
|
+
const makeStepperItemProps = propsFactory({
|
|
25792
25820
|
color: String,
|
|
25793
25821
|
title: String,
|
|
25794
25822
|
subtitle: String,
|
|
@@ -25815,7 +25843,10 @@
|
|
|
25815
25843
|
rules: {
|
|
25816
25844
|
type: Array,
|
|
25817
25845
|
default: () => []
|
|
25818
|
-
}
|
|
25846
|
+
}
|
|
25847
|
+
}, 'StepperItem');
|
|
25848
|
+
const makeVStepperItemProps = propsFactory({
|
|
25849
|
+
...makeStepperItemProps(),
|
|
25819
25850
|
...makeGroupItemProps()
|
|
25820
25851
|
}, 'VStepperItem');
|
|
25821
25852
|
const VStepperItem = genericComponent()({
|
|
@@ -25834,13 +25865,14 @@
|
|
|
25834
25865
|
const group = useGroupItem(props, VStepperSymbol, true);
|
|
25835
25866
|
const step = vue.computed(() => group?.value.value ?? props.value);
|
|
25836
25867
|
const isValid = vue.computed(() => props.rules.every(handler => handler() === true));
|
|
25868
|
+
const isClickable = vue.computed(() => !props.disabled && props.editable);
|
|
25837
25869
|
const canEdit = vue.computed(() => !props.disabled && props.editable);
|
|
25838
25870
|
const hasError = vue.computed(() => props.error || !isValid.value);
|
|
25839
25871
|
const hasCompleted = vue.computed(() => props.complete || props.rules.length > 0 && isValid.value);
|
|
25840
25872
|
const icon = vue.computed(() => {
|
|
25841
25873
|
if (hasError.value) return props.errorIcon;
|
|
25842
25874
|
if (hasCompleted.value) return props.completeIcon;
|
|
25843
|
-
if (props.editable) return props.editIcon;
|
|
25875
|
+
if (group.isSelected.value && props.editable) return props.editIcon;
|
|
25844
25876
|
return props.icon;
|
|
25845
25877
|
});
|
|
25846
25878
|
const slotProps = vue.computed(() => ({
|
|
@@ -25867,7 +25899,7 @@
|
|
|
25867
25899
|
}, group?.selectedClass.value],
|
|
25868
25900
|
"disabled": !props.editable,
|
|
25869
25901
|
"onClick": onClick
|
|
25870
|
-
}, [vue.createVNode(VAvatar, {
|
|
25902
|
+
}, [isClickable.value && genOverlays(true, 'v-stepper-item'), vue.createVNode(VAvatar, {
|
|
25871
25903
|
"key": "stepper-avatar",
|
|
25872
25904
|
"class": "v-stepper-item__avatar",
|
|
25873
25905
|
"color": hasColor ? props.color : undefined,
|
|
@@ -25965,7 +25997,7 @@
|
|
|
25965
25997
|
// Types
|
|
25966
25998
|
|
|
25967
25999
|
const VStepperSymbol = Symbol.for('vuetify:v-stepper');
|
|
25968
|
-
const
|
|
26000
|
+
const makeStepperProps = propsFactory({
|
|
25969
26001
|
altLabels: Boolean,
|
|
25970
26002
|
bgColor: String,
|
|
25971
26003
|
editable: Boolean,
|
|
@@ -25984,7 +26016,10 @@
|
|
|
25984
26016
|
},
|
|
25985
26017
|
mobile: Boolean,
|
|
25986
26018
|
nonLinear: Boolean,
|
|
25987
|
-
flat: Boolean
|
|
26019
|
+
flat: Boolean
|
|
26020
|
+
}, 'Stepper');
|
|
26021
|
+
const makeVStepperProps = propsFactory({
|
|
26022
|
+
...makeStepperProps(),
|
|
25988
26023
|
...makeGroupProps({
|
|
25989
26024
|
mandatory: 'force',
|
|
25990
26025
|
selectedClass: 'v-stepper-item--selected'
|
|
@@ -26063,12 +26098,18 @@
|
|
|
26063
26098
|
default: () => [hasHeader && vue.createVNode(VStepperHeader, {
|
|
26064
26099
|
"key": "stepper-header"
|
|
26065
26100
|
}, {
|
|
26066
|
-
default: () => [items.value.map((
|
|
26067
|
-
|
|
26068
|
-
|
|
26069
|
-
|
|
26070
|
-
|
|
26071
|
-
|
|
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
|
+
})]
|
|
26072
26113
|
}), hasWindow && vue.createVNode(VStepperWindow, {
|
|
26073
26114
|
"key": "stepper-window"
|
|
26074
26115
|
}, {
|
|
@@ -28078,6 +28119,263 @@
|
|
|
28078
28119
|
}
|
|
28079
28120
|
});
|
|
28080
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 => {
|
|
28359
|
+
let {
|
|
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
|
+
}
|
|
28373
|
+
});
|
|
28374
|
+
});
|
|
28375
|
+
return {};
|
|
28376
|
+
}
|
|
28377
|
+
});
|
|
28378
|
+
|
|
28081
28379
|
const VPullToRefresh = genericComponent()({
|
|
28082
28380
|
name: 'VPullToRefresh',
|
|
28083
28381
|
props: {
|
|
@@ -29438,6 +29736,9 @@
|
|
|
29438
29736
|
VStepperActions: VStepperActions,
|
|
29439
29737
|
VStepperHeader: VStepperHeader,
|
|
29440
29738
|
VStepperItem: VStepperItem,
|
|
29739
|
+
VStepperVertical: VStepperVertical,
|
|
29740
|
+
VStepperVerticalActions: VStepperVerticalActions,
|
|
29741
|
+
VStepperVerticalItem: VStepperVerticalItem,
|
|
29441
29742
|
VStepperWindow: VStepperWindow,
|
|
29442
29743
|
VStepperWindowItem: VStepperWindowItem,
|
|
29443
29744
|
VSvgIcon: VSvgIcon,
|
|
@@ -29775,7 +30076,7 @@
|
|
|
29775
30076
|
goTo
|
|
29776
30077
|
};
|
|
29777
30078
|
}
|
|
29778
|
-
const version$1 = "3.6.
|
|
30079
|
+
const version$1 = "3.6.5";
|
|
29779
30080
|
createVuetify$1.version = version$1;
|
|
29780
30081
|
|
|
29781
30082
|
// Vue's inject() can only be used in setup
|
|
@@ -30028,7 +30329,7 @@
|
|
|
30028
30329
|
|
|
30029
30330
|
/* eslint-disable local-rules/sort-imports */
|
|
30030
30331
|
|
|
30031
|
-
const version = "3.6.
|
|
30332
|
+
const version = "3.6.5";
|
|
30032
30333
|
|
|
30033
30334
|
/* eslint-disable local-rules/sort-imports */
|
|
30034
30335
|
|