@vuetify/nightly 3.6.4-master.2024-05-10 → 3.6.5-master.2024-05-11

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 (58) hide show
  1. package/CHANGELOG.md +2 -12
  2. package/dist/_component-variables-labs.sass +1 -0
  3. package/dist/json/attributes.json +268 -4
  4. package/dist/json/importMap-labs.json +22 -10
  5. package/dist/json/importMap.json +142 -142
  6. package/dist/json/tags.json +81 -0
  7. package/dist/json/web-types.json +1253 -6
  8. package/dist/vuetify-labs.css +1684 -1616
  9. package/dist/vuetify-labs.d.ts +1615 -28
  10. package/dist/vuetify-labs.esm.js +298 -11
  11. package/dist/vuetify-labs.esm.js.map +1 -1
  12. package/dist/vuetify-labs.js +298 -11
  13. package/dist/vuetify-labs.min.css +2 -2
  14. package/dist/vuetify.css +1239 -1239
  15. package/dist/vuetify.d.ts +97 -73
  16. package/dist/vuetify.esm.js +38 -11
  17. package/dist/vuetify.esm.js.map +1 -1
  18. package/dist/vuetify.js +38 -11
  19. package/dist/vuetify.js.map +1 -1
  20. package/dist/vuetify.min.css +2 -2
  21. package/dist/vuetify.min.js +47 -48
  22. package/dist/vuetify.min.js.map +1 -1
  23. package/lib/components/VBtn/index.d.mts +2 -0
  24. package/lib/components/VExpansionPanel/VExpansionPanel.mjs +3 -1
  25. package/lib/components/VExpansionPanel/VExpansionPanel.mjs.map +1 -1
  26. package/lib/components/VExpansionPanel/VExpansionPanels.mjs +15 -4
  27. package/lib/components/VExpansionPanel/VExpansionPanels.mjs.map +1 -1
  28. package/lib/components/VExpansionPanel/index.d.mts +82 -27
  29. package/lib/components/VSlideGroup/index.d.mts +2 -0
  30. package/lib/components/VStepper/VStepper.mjs +5 -2
  31. package/lib/components/VStepper/VStepper.mjs.map +1 -1
  32. package/lib/components/VStepper/VStepperItem.mjs +5 -2
  33. package/lib/components/VStepper/VStepperItem.mjs.map +1 -1
  34. package/lib/components/VStepper/index.d.mts +1 -1
  35. package/lib/components/VTabs/index.d.mts +2 -0
  36. package/lib/components/VWindow/index.d.mts +2 -0
  37. package/lib/components/index.d.mts +48 -27
  38. package/lib/composables/group.mjs +8 -0
  39. package/lib/composables/group.mjs.map +1 -1
  40. package/lib/entry-bundler.mjs +1 -1
  41. package/lib/framework.mjs +1 -1
  42. package/lib/index.d.mts +49 -46
  43. package/lib/labs/VStepperVertical/VStepperVertical.mjs +106 -0
  44. package/lib/labs/VStepperVertical/VStepperVertical.mjs.map +1 -0
  45. package/lib/labs/VStepperVertical/VStepperVerticalActions.mjs +38 -0
  46. package/lib/labs/VStepperVertical/VStepperVerticalActions.mjs.map +1 -0
  47. package/lib/labs/VStepperVertical/VStepperVerticalItem.css +69 -0
  48. package/lib/labs/VStepperVertical/VStepperVerticalItem.mjs +134 -0
  49. package/lib/labs/VStepperVertical/VStepperVerticalItem.mjs.map +1 -0
  50. package/lib/labs/VStepperVertical/VStepperVerticalItem.sass +74 -0
  51. package/lib/labs/VStepperVertical/_variables.scss +3 -0
  52. package/lib/labs/VStepperVertical/index.d.mts +1590 -0
  53. package/lib/labs/VStepperVertical/index.mjs +4 -0
  54. package/lib/labs/VStepperVertical/index.mjs.map +1 -0
  55. package/lib/labs/components.d.mts +1599 -20
  56. package/lib/labs/components.mjs +1 -0
  57. package/lib/labs/components.mjs.map +1 -1
  58. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.6.4-master.2024-05-10
2
+ * Vuetify v3.6.5-master.2024-05-11
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,
@@ -22375,7 +22383,9 @@
22375
22383
  }), slots.default?.()]
22376
22384
  });
22377
22385
  });
22378
- return {};
22386
+ return {
22387
+ groupItem
22388
+ };
22379
22389
  }
22380
22390
  });
22381
22391
 
@@ -22404,7 +22414,10 @@
22404
22414
  let {
22405
22415
  slots
22406
22416
  } = _ref;
22407
- useGroup(props, VExpansionPanelSymbol);
22417
+ const {
22418
+ next,
22419
+ prev
22420
+ } = useGroup(props, VExpansionPanelSymbol);
22408
22421
  const {
22409
22422
  themeClasses
22410
22423
  } = provideTheme(props);
@@ -22431,8 +22444,16 @@
22431
22444
  'v-expansion-panels--tile': props.tile
22432
22445
  }, themeClasses.value, variantClass.value, props.class],
22433
22446
  "style": props.style
22434
- }, slots));
22435
- return {};
22447
+ }, {
22448
+ default: () => [slots.default?.({
22449
+ prev,
22450
+ next
22451
+ })]
22452
+ }));
22453
+ return {
22454
+ next,
22455
+ prev
22456
+ };
22436
22457
  }
22437
22458
  });
22438
22459
 
@@ -25795,7 +25816,7 @@
25795
25816
 
25796
25817
  // Types
25797
25818
 
25798
- const makeVStepperItemProps = propsFactory({
25819
+ const makeStepperItemProps = propsFactory({
25799
25820
  color: String,
25800
25821
  title: String,
25801
25822
  subtitle: String,
@@ -25822,7 +25843,10 @@
25822
25843
  rules: {
25823
25844
  type: Array,
25824
25845
  default: () => []
25825
- },
25846
+ }
25847
+ }, 'StepperItem');
25848
+ const makeVStepperItemProps = propsFactory({
25849
+ ...makeStepperItemProps(),
25826
25850
  ...makeGroupItemProps()
25827
25851
  }, 'VStepperItem');
25828
25852
  const VStepperItem = genericComponent()({
@@ -25973,7 +25997,7 @@
25973
25997
  // Types
25974
25998
 
25975
25999
  const VStepperSymbol = Symbol.for('vuetify:v-stepper');
25976
- const makeVStepperProps = propsFactory({
26000
+ const makeStepperProps = propsFactory({
25977
26001
  altLabels: Boolean,
25978
26002
  bgColor: String,
25979
26003
  editable: Boolean,
@@ -25992,7 +26016,10 @@
25992
26016
  },
25993
26017
  mobile: Boolean,
25994
26018
  nonLinear: Boolean,
25995
- flat: Boolean,
26019
+ flat: Boolean
26020
+ }, 'Stepper');
26021
+ const makeVStepperProps = propsFactory({
26022
+ ...makeStepperProps(),
25996
26023
  ...makeGroupProps({
25997
26024
  mandatory: 'force',
25998
26025
  selectedClass: 'v-stepper-item--selected'
@@ -28092,6 +28119,263 @@
28092
28119
  }
28093
28120
  });
28094
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
+
28095
28379
  const VPullToRefresh = genericComponent()({
28096
28380
  name: 'VPullToRefresh',
28097
28381
  props: {
@@ -29452,6 +29736,9 @@
29452
29736
  VStepperActions: VStepperActions,
29453
29737
  VStepperHeader: VStepperHeader,
29454
29738
  VStepperItem: VStepperItem,
29739
+ VStepperVertical: VStepperVertical,
29740
+ VStepperVerticalActions: VStepperVerticalActions,
29741
+ VStepperVerticalItem: VStepperVerticalItem,
29455
29742
  VStepperWindow: VStepperWindow,
29456
29743
  VStepperWindowItem: VStepperWindowItem,
29457
29744
  VSvgIcon: VSvgIcon,
@@ -29789,7 +30076,7 @@
29789
30076
  goTo
29790
30077
  };
29791
30078
  }
29792
- const version$1 = "3.6.4-master.2024-05-10";
30079
+ const version$1 = "3.6.5-master.2024-05-11";
29793
30080
  createVuetify$1.version = version$1;
29794
30081
 
29795
30082
  // Vue's inject() can only be used in setup
@@ -30042,7 +30329,7 @@
30042
30329
 
30043
30330
  /* eslint-disable local-rules/sort-imports */
30044
30331
 
30045
- const version = "3.6.4-master.2024-05-10";
30332
+ const version = "3.6.5-master.2024-05-11";
30046
30333
 
30047
30334
  /* eslint-disable local-rules/sort-imports */
30048
30335