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.
Files changed (68) hide show
  1. package/dist/_component-variables-labs.sass +1 -0
  2. package/dist/json/attributes.json +292 -4
  3. package/dist/json/importMap-labs.json +30 -18
  4. package/dist/json/importMap.json +134 -134
  5. package/dist/json/tags.json +87 -0
  6. package/dist/json/web-types.json +1313 -6
  7. package/dist/vuetify-labs.css +2150 -2035
  8. package/dist/vuetify-labs.d.ts +1669 -28
  9. package/dist/vuetify-labs.esm.js +326 -25
  10. package/dist/vuetify-labs.esm.js.map +1 -1
  11. package/dist/vuetify-labs.js +326 -25
  12. package/dist/vuetify-labs.min.css +2 -2
  13. package/dist/vuetify.css +812 -765
  14. package/dist/vuetify.d.ts +153 -75
  15. package/dist/vuetify.esm.js +66 -25
  16. package/dist/vuetify.esm.js.map +1 -1
  17. package/dist/vuetify.js +66 -25
  18. package/dist/vuetify.js.map +1 -1
  19. package/dist/vuetify.min.css +2 -2
  20. package/dist/vuetify.min.js +54 -54
  21. package/dist/vuetify.min.js.map +1 -1
  22. package/lib/components/VBtn/index.d.mts +2 -0
  23. package/lib/components/VDataTable/VDataTable.mjs +6 -2
  24. package/lib/components/VDataTable/VDataTable.mjs.map +1 -1
  25. package/lib/components/VDataTable/VDataTableServer.mjs +3 -2
  26. package/lib/components/VDataTable/VDataTableServer.mjs.map +1 -1
  27. package/lib/components/VDataTable/VDataTableVirtual.mjs +3 -1
  28. package/lib/components/VDataTable/VDataTableVirtual.mjs.map +1 -1
  29. package/lib/components/VDataTable/index.d.mts +54 -0
  30. package/lib/components/VExpansionPanel/VExpansionPanel.mjs +3 -1
  31. package/lib/components/VExpansionPanel/VExpansionPanel.mjs.map +1 -1
  32. package/lib/components/VExpansionPanel/VExpansionPanels.mjs +15 -4
  33. package/lib/components/VExpansionPanel/VExpansionPanels.mjs.map +1 -1
  34. package/lib/components/VExpansionPanel/index.d.mts +82 -27
  35. package/lib/components/VFileInput/VFileInput.mjs +1 -1
  36. package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
  37. package/lib/components/VSlideGroup/index.d.mts +2 -0
  38. package/lib/components/VStepper/VStepper.mjs +17 -8
  39. package/lib/components/VStepper/VStepper.mjs.map +1 -1
  40. package/lib/components/VStepper/VStepperItem.css +47 -0
  41. package/lib/components/VStepper/VStepperItem.mjs +10 -5
  42. package/lib/components/VStepper/VStepperItem.mjs.map +1 -1
  43. package/lib/components/VStepper/VStepperItem.sass +18 -0
  44. package/lib/components/VStepper/index.d.mts +1 -1
  45. package/lib/components/VTabs/index.d.mts +2 -0
  46. package/lib/components/VWindow/index.d.mts +2 -0
  47. package/lib/components/index.d.mts +102 -27
  48. package/lib/composables/group.mjs +8 -0
  49. package/lib/composables/group.mjs.map +1 -1
  50. package/lib/entry-bundler.mjs +1 -1
  51. package/lib/framework.mjs +1 -1
  52. package/lib/index.d.mts +51 -48
  53. package/lib/labs/VStepperVertical/VStepperVertical.mjs +106 -0
  54. package/lib/labs/VStepperVertical/VStepperVertical.mjs.map +1 -0
  55. package/lib/labs/VStepperVertical/VStepperVerticalActions.mjs +38 -0
  56. package/lib/labs/VStepperVertical/VStepperVerticalActions.mjs.map +1 -0
  57. package/lib/labs/VStepperVertical/VStepperVerticalItem.css +69 -0
  58. package/lib/labs/VStepperVertical/VStepperVerticalItem.mjs +134 -0
  59. package/lib/labs/VStepperVertical/VStepperVerticalItem.mjs.map +1 -0
  60. package/lib/labs/VStepperVertical/VStepperVerticalItem.sass +74 -0
  61. package/lib/labs/VStepperVertical/_variables.scss +3 -0
  62. package/lib/labs/VStepperVertical/index.d.mts +1590 -0
  63. package/lib/labs/VStepperVertical/index.mjs +4 -0
  64. package/lib/labs/VStepperVertical/index.mjs.map +1 -0
  65. package/lib/labs/components.d.mts +1599 -20
  66. package/lib/labs/components.mjs +1 -0
  67. package/lib/labs/components.mjs.map +1 -1
  68. package/package.json +2 -2
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.6.4
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), vue.createVNode("thead", null, [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, {
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", null, [vue.createVNode(VDataTableHeaders, vue.mergeProps(dataTableHeadersProps, {
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
- useGroup(props, VExpansionPanelSymbol);
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
- }, slots));
22428
- return {};
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 makeVStepperItemProps = propsFactory({
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 makeVStepperProps = propsFactory({
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((item, index) => vue.createVNode(vue.Fragment, null, [!!index && vue.createVNode(VDivider, null, null), vue.createVNode(VStepperItem, item, {
26067
- default: slots[`header-item.${item.value}`] ?? slots.header,
26068
- icon: slots.icon,
26069
- title: slots.title,
26070
- subtitle: slots.subtitle
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.4";
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.4";
30332
+ const version = "3.6.5";
30032
30333
 
30033
30334
  /* eslint-disable local-rules/sort-imports */
30034
30335