@vuetify/nightly 3.0.0-next-20220112.0 → 3.0.0-next-20220128.0

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 (71) hide show
  1. package/dist/json/attributes.json +96 -8
  2. package/dist/json/importMap.json +8 -0
  3. package/dist/json/tags.json +36 -4
  4. package/dist/json/web-types.json +354 -25
  5. package/dist/vuetify.css +116 -35
  6. package/dist/vuetify.d.ts +226 -65
  7. package/dist/vuetify.esm.js +745 -403
  8. package/dist/vuetify.esm.js.map +1 -1
  9. package/dist/vuetify.js +745 -403
  10. package/dist/vuetify.js.map +1 -1
  11. package/dist/vuetify.min.css +2 -2
  12. package/dist/vuetify.min.js +2 -2
  13. package/dist/vuetify.min.js.map +1 -1
  14. package/lib/components/VExpansionPanel/VExpansionPanel.mjs +2 -2
  15. package/lib/components/VExpansionPanel/VExpansionPanel.mjs.map +1 -1
  16. package/lib/components/VHover/VHover.mjs +3 -3
  17. package/lib/components/VHover/VHover.mjs.map +1 -1
  18. package/lib/components/VIcon/VIcon.mjs +8 -3
  19. package/lib/components/VIcon/VIcon.mjs.map +1 -1
  20. package/lib/components/VList/VList.css +4 -2
  21. package/lib/components/VList/VList.mjs +37 -36
  22. package/lib/components/VList/VList.mjs.map +1 -1
  23. package/lib/components/VList/VList.sass +5 -2
  24. package/lib/components/VList/VListChildren.mjs +25 -15
  25. package/lib/components/VList/VListChildren.mjs.map +1 -1
  26. package/lib/components/VList/VListGroup.mjs +19 -41
  27. package/lib/components/VList/VListGroup.mjs.map +1 -1
  28. package/lib/components/VList/VListItem.mjs +9 -5
  29. package/lib/components/VList/VListItem.mjs.map +1 -1
  30. package/lib/components/VList/VListSubheader.mjs +20 -12
  31. package/lib/components/VList/VListSubheader.mjs.map +1 -1
  32. package/lib/components/VList/list.mjs +31 -0
  33. package/lib/components/VList/list.mjs.map +1 -0
  34. package/lib/components/VPagination/VPagination.mjs +3 -0
  35. package/lib/components/VPagination/VPagination.mjs.map +1 -1
  36. package/lib/components/VRangeSlider/VRangeSlider.mjs +40 -28
  37. package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
  38. package/lib/components/VSlider/VSlider.css +2 -0
  39. package/lib/components/VSlider/VSlider.mjs +4 -3
  40. package/lib/components/VSlider/VSlider.mjs.map +1 -1
  41. package/lib/components/VSlider/VSlider.sass +2 -0
  42. package/lib/components/VSlider/VSliderThumb.css +8 -2
  43. package/lib/components/VSlider/VSliderThumb.mjs +4 -3
  44. package/lib/components/VSlider/VSliderThumb.mjs.map +1 -1
  45. package/lib/components/VSlider/VSliderThumb.sass +7 -2
  46. package/lib/components/VSlider/_variables.scss +2 -1
  47. package/lib/components/VSlider/slider.mjs +8 -6
  48. package/lib/components/VSlider/slider.mjs.map +1 -1
  49. package/lib/components/VWindow/VWindow.css +70 -0
  50. package/lib/components/VWindow/VWindow.mjs +158 -233
  51. package/lib/components/VWindow/VWindow.mjs.map +1 -1
  52. package/lib/components/VWindow/VWindow.sass +26 -50
  53. package/lib/components/VWindow/VWindowItem.mjs +72 -98
  54. package/lib/components/VWindow/VWindowItem.mjs.map +1 -1
  55. package/lib/components/VWindow/_variables.scss +2 -3
  56. package/lib/components/VWindow/index.mjs +2 -9
  57. package/lib/components/VWindow/index.mjs.map +1 -1
  58. package/lib/components/index.d.ts +222 -64
  59. package/lib/components/index.mjs +1 -1
  60. package/lib/components/index.mjs.map +1 -1
  61. package/lib/composables/group.mjs +1 -6
  62. package/lib/composables/group.mjs.map +1 -1
  63. package/lib/composables/nested/nested.mjs +1 -1
  64. package/lib/composables/nested/nested.mjs.map +1 -1
  65. package/lib/composables/nested/openStrategies.mjs +1 -1
  66. package/lib/composables/nested/openStrategies.mjs.map +1 -1
  67. package/lib/directives/touch/index.mjs +6 -3
  68. package/lib/directives/touch/index.mjs.map +1 -1
  69. package/lib/entry-bundler.mjs +1 -1
  70. package/lib/index.d.ts +2 -0
  71. package/package.json +2 -1
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.0.0-next-20220112.0
2
+ * Vuetify v3.0.0-next-20220128.0
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -2607,12 +2607,7 @@ function useGroup(props, injectKey) {
2607
2607
  next: () => step(1),
2608
2608
  isSelected: id => selected.value.includes(id),
2609
2609
  selectedClass: computed(() => props.selectedClass),
2610
- items: computed(() => items.map(_ref => {
2611
- let {
2612
- id
2613
- } = _ref;
2614
- return id;
2615
- }))
2610
+ items: computed(() => items)
2616
2611
  };
2617
2612
  provide(injectKey, state);
2618
2613
  return state;
@@ -2853,7 +2848,8 @@ const VIcon = defineComponent({
2853
2848
  ...makeSizeProps(),
2854
2849
  ...makeTagProps({
2855
2850
  tag: 'i'
2856
- })
2851
+ }),
2852
+ ...makeThemeProps()
2857
2853
  },
2858
2854
 
2859
2855
  setup(props, _ref) {
@@ -2872,6 +2868,9 @@ const VIcon = defineComponent({
2872
2868
  });
2873
2869
  }
2874
2870
 
2871
+ const {
2872
+ themeClasses
2873
+ } = provideTheme(props);
2875
2874
  const {
2876
2875
  iconData
2877
2876
  } = useIcon(slotIcon || props);
@@ -2886,7 +2885,7 @@ const VIcon = defineComponent({
2886
2885
  return createVNode(iconData.value.component, {
2887
2886
  "tag": props.tag,
2888
2887
  "icon": iconData.value.icon,
2889
- "class": ['v-icon', 'notranslate', sizeClasses.value, textColorClasses.value, {
2888
+ "class": ['v-icon', 'notranslate', sizeClasses.value, textColorClasses.value, themeClasses.value, {
2890
2889
  'v-icon--left': props.left,
2891
2890
  'v-icon--right': props.right
2892
2891
  }],
@@ -7112,11 +7111,11 @@ const VExpansionPanel = defineComponent({
7112
7111
  } = useElevation(props);
7113
7112
  provide(VExpansionPanelSymbol, groupItem);
7114
7113
  const isBeforeSelected = computed(() => {
7115
- const index = groupItem.group.items.value.indexOf(groupItem.id);
7114
+ const index = groupItem.group.items.value.findIndex(item => item.id === groupItem.id);
7116
7115
  return !groupItem.isSelected.value && groupItem.group.selected.value.some(id => groupItem.group.items.value.indexOf(id) - index === 1);
7117
7116
  });
7118
7117
  const isAfterSelected = computed(() => {
7119
- const index = groupItem.group.items.value.indexOf(groupItem.id);
7118
+ const index = groupItem.group.items.value.findIndex(item => item.id === groupItem.id);
7120
7119
  return !groupItem.isSelected.value && groupItem.group.selected.value.some(id => groupItem.group.items.value.indexOf(id) - index === -1);
7121
7120
  });
7122
7121
  const {
@@ -8369,16 +8368,16 @@ const VHover = defineComponent({
8369
8368
  let {
8370
8369
  slots
8371
8370
  } = _ref;
8372
- const hover = useProxiedModel(props, 'modelValue');
8371
+ const isHovering = useProxiedModel(props, 'modelValue');
8373
8372
  const {
8374
8373
  runOpenDelay,
8375
8374
  runCloseDelay
8376
- } = useDelay(props, value => !props.disabled && (hover.value = value));
8375
+ } = useDelay(props, value => !props.disabled && (isHovering.value = value));
8377
8376
  return () => {
8378
8377
  var _slots$default;
8379
8378
 
8380
8379
  return (_slots$default = slots.default) == null ? void 0 : _slots$default.call(slots, {
8381
- hover: hover.value,
8380
+ isHovering: isHovering.value,
8382
8381
  props: {
8383
8382
  onMouseenter: runOpenDelay,
8384
8383
  onMouseleave: runCloseDelay
@@ -8592,37 +8591,26 @@ const VLazy = defineComponent({
8592
8591
 
8593
8592
  });
8594
8593
 
8595
- const VListSubheader = defineComponent({
8596
- name: 'VListSubheader',
8597
- props: {
8598
- color: String,
8599
- inset: Boolean,
8600
- ...makeTagProps()
8601
- },
8602
-
8603
- setup(props, _ref) {
8604
- let {
8605
- slots
8606
- } = _ref;
8607
- const {
8608
- textColorClasses,
8609
- textColorStyles
8610
- } = useTextColor(toRef(props, 'color'));
8611
- return () => createVNode(props.tag, {
8612
- "class": ['v-list-subheader', {
8613
- 'v-list-subheader--inset': props.inset
8614
- }, textColorClasses.value],
8615
- "style": {
8616
- textColorStyles
8617
- }
8618
- }, {
8619
- default: () => [slots.default && createVNode("div", {
8620
- "class": "v-list-subheader__text"
8621
- }, [slots.default()])]
8622
- }, 8, ["class", "style"]);
8623
- }
8594
+ // Utilities
8624
8595
 
8625
- });
8596
+ const ListKey = Symbol.for('vuetify:list');
8597
+ function createList() {
8598
+ const parent = inject(ListKey, {
8599
+ hasPrepend: ref(false),
8600
+ updateHasPrepend: () => null
8601
+ });
8602
+ const data = {
8603
+ hasPrepend: ref(false),
8604
+ updateHasPrepend: value => {
8605
+ if (value) data.hasPrepend.value = value;
8606
+ }
8607
+ };
8608
+ provide(ListKey, data);
8609
+ return parent;
8610
+ }
8611
+ function useList() {
8612
+ return inject(ListKey, null);
8613
+ }
8626
8614
 
8627
8615
  const singleOpenStrategy = _ref => {
8628
8616
  let {
@@ -8660,7 +8648,7 @@ const multipleOpenStrategy = _ref2 => {
8660
8648
  let parent = parents.get(id);
8661
8649
  opened.add(id);
8662
8650
 
8663
- while (parent != null) {
8651
+ while (parent != null && parent !== id) {
8664
8652
  opened.add(parent);
8665
8653
  parent = parents.get(parent);
8666
8654
  }
@@ -8912,7 +8900,7 @@ const useNested = props => {
8912
8900
  return arr;
8913
8901
  }),
8914
8902
  register: (id, parentId, isGroup) => {
8915
- parentId && parents.value.set(id, parentId);
8903
+ parentId && id !== parentId && parents.value.set(id, parentId);
8916
8904
  isGroup && children.value.set(id, []);
8917
8905
 
8918
8906
  if (parentId != null) {
@@ -9019,30 +9007,6 @@ const useNestedGroup = props => {
9019
9007
  return group;
9020
9008
  };
9021
9009
 
9022
- const VListGroupItems = defineComponent({
9023
- name: 'VListGroupItems',
9024
- props: {
9025
- open: Boolean,
9026
- items: Array
9027
- },
9028
-
9029
- setup(props, _ref) {
9030
- let {
9031
- slots
9032
- } = _ref;
9033
- createList();
9034
- return () => {
9035
- return createVNode(VExpandTransition, null, {
9036
- default: () => [withDirectives(createVNode("div", {
9037
- "class": "v-list-group__items"
9038
- }, [createVNode(VListChildren, {
9039
- "items": props.items
9040
- }, slots, 8, ["items"])], 512), [[vShow, props.open]])]
9041
- });
9042
- };
9043
- }
9044
-
9045
- });
9046
9010
  const VListGroup = genericComponent()({
9047
9011
  name: 'VListGroup',
9048
9012
  props: {
@@ -9055,14 +9019,13 @@ const VListGroup = genericComponent()({
9055
9019
  type: String,
9056
9020
  default: '$expand'
9057
9021
  },
9058
- items: Array,
9059
9022
  ...makeTagProps()
9060
9023
  },
9061
9024
 
9062
- setup(props, _ref2) {
9025
+ setup(props, _ref) {
9063
9026
  let {
9064
9027
  slots
9065
- } = _ref2;
9028
+ } = _ref;
9066
9029
  const {
9067
9030
  isOpen,
9068
9031
  open
@@ -9073,23 +9036,27 @@ const VListGroup = genericComponent()({
9073
9036
  open(!isOpen.value, e);
9074
9037
  };
9075
9038
 
9076
- const headerProps = computed(() => ({
9039
+ const activatorProps = computed(() => ({
9077
9040
  onClick,
9078
9041
  appendIcon: isOpen.value ? props.collapseIcon : props.expandIcon,
9079
- class: 'v-list-group__header'
9042
+ class: 'v-list-group__header',
9043
+ value: `${props.value}_header`
9080
9044
  }));
9081
9045
  return () => {
9082
- var _slots$header;
9046
+ var _slots$activator, _slots$default;
9083
9047
 
9084
9048
  return createVNode(props.tag, {
9085
9049
  "class": ['v-list-group', {
9086
9050
  'v-list-group--prepend': list == null ? void 0 : list.hasPrepend.value
9087
9051
  }]
9088
9052
  }, {
9089
- default: () => [(_slots$header = slots.header) == null ? void 0 : _slots$header.call(slots, headerProps.value), createVNode(VListGroupItems, {
9090
- "items": props.items,
9091
- "open": isOpen.value
9092
- }, slots, 8, ["items", "open"])],
9053
+ default: () => [(_slots$activator = slots.activator) == null ? void 0 : _slots$activator.call(slots, {
9054
+ props: activatorProps.value
9055
+ }), createVNode(VExpandTransition, null, {
9056
+ default: () => [withDirectives(createVNode("div", {
9057
+ "class": "v-list-group__items"
9058
+ }, [(_slots$default = slots.default) == null ? void 0 : _slots$default.call(slots)], 512), [[vShow, isOpen.value]])]
9059
+ })],
9093
9060
  _: 1
9094
9061
  }, 8, ["class"]);
9095
9062
  };
@@ -9266,9 +9233,13 @@ const VListItem = genericComponent()({
9266
9233
  }, null, 8, ["density", "icon", "image"])]
9267
9234
  }, 8, ["left"])), hasHeader && createVNode(VListItemHeader, null, {
9268
9235
  default: () => [hasTitle && createVNode(VListItemTitle, null, {
9269
- default: () => [slots.title ? slots.title() : props.title]
9236
+ default: () => [slots.title ? slots.title({
9237
+ title: props.title
9238
+ }) : props.title]
9270
9239
  }), hasSubtitle && createVNode(VListItemSubtitle, null, {
9271
- default: () => [slots.subtitle ? slots.subtitle() : props.subtitle]
9240
+ default: () => [slots.subtitle ? slots.subtitle({
9241
+ subtitle: props.subtitle
9242
+ }) : props.subtitle]
9272
9243
  })],
9273
9244
  _: 1
9274
9245
  }), (_slots$default = slots.default) == null ? void 0 : _slots$default.call(slots, slotProps.value), hasAppend && (slots.append ? slots.append(slotProps.value) : createVNode(VListItemAvatar, {
@@ -9287,6 +9258,46 @@ const VListItem = genericComponent()({
9287
9258
 
9288
9259
  });
9289
9260
 
9261
+ const VListSubheader = defineComponent({
9262
+ name: 'VListSubheader',
9263
+ props: {
9264
+ color: String,
9265
+ inset: Boolean,
9266
+ sticky: Boolean,
9267
+ text: String,
9268
+ ...makeTagProps()
9269
+ },
9270
+
9271
+ setup(props, _ref) {
9272
+ let {
9273
+ slots
9274
+ } = _ref;
9275
+ const {
9276
+ textColorClasses,
9277
+ textColorStyles
9278
+ } = useTextColor(toRef(props, 'color'));
9279
+ return () => {
9280
+ var _slots$default, _slots$default2;
9281
+
9282
+ const hasText = !!(slots.default || props.text);
9283
+ return createVNode(props.tag, {
9284
+ "class": ['v-list-subheader', {
9285
+ 'v-list-subheader--inset': props.inset,
9286
+ 'v-list-subheader--sticky': props.sticky
9287
+ }, textColorClasses.value],
9288
+ "style": {
9289
+ textColorStyles
9290
+ }
9291
+ }, {
9292
+ default: () => [hasText && createVNode("div", {
9293
+ "class": "v-list-subheader__text"
9294
+ }, [(_slots$default = (_slots$default2 = slots.default) == null ? void 0 : _slots$default2.call(slots)) != null ? _slots$default : props.text])]
9295
+ }, 8, ["class", "style"]);
9296
+ };
9297
+ }
9298
+
9299
+ });
9300
+
9290
9301
  const VListChildren = genericComponent()({
9291
9302
  name: 'VListChildren',
9292
9303
  props: {
@@ -9297,51 +9308,69 @@ const VListChildren = genericComponent()({
9297
9308
  let {
9298
9309
  slots
9299
9310
  } = _ref;
9311
+ createList();
9300
9312
  return () => {
9301
9313
  var _slots$default, _slots$default2, _props$items;
9302
9314
 
9303
9315
  return (_slots$default = (_slots$default2 = slots.default) == null ? void 0 : _slots$default2.call(slots)) != null ? _slots$default : (_props$items = props.items) == null ? void 0 : _props$items.map(_ref2 => {
9304
9316
  let {
9305
9317
  children,
9306
- ...item
9318
+ props: itemProps,
9319
+ type
9307
9320
  } = _ref2;
9308
- const {
9309
- value,
9310
- ...rest
9311
- } = item;
9321
+ if (type === 'divider') return createVNode(VDivider, itemProps, null, 16);
9322
+ if (type === 'subheader') return createVNode(VListSubheader, itemProps, slots, 16);
9312
9323
  return children ? createVNode(VListGroup, {
9313
- "value": value,
9314
- "items": children
9315
- }, { ...slots,
9316
- header: headerProps => slots.externalHeader ? slots.externalHeader({ ...rest,
9317
- ...headerProps
9318
- }) : createVNode(VListItem, mergeProps(rest, headerProps), null, 16),
9324
+ "value": itemProps == null ? void 0 : itemProps.value
9325
+ }, {
9326
+ default: () => createVNode(VListChildren, {
9327
+ "items": children
9328
+ }, slots, 8, ["items"]),
9329
+ activator: _ref3 => {
9330
+ let {
9331
+ props: activatorProps
9332
+ } = _ref3;
9333
+ return slots.header ? slots.header({ ...itemProps,
9334
+ ...activatorProps
9335
+ }) : createVNode(VListItem, mergeProps(itemProps, activatorProps), null, 16);
9336
+ },
9319
9337
  _: 2
9320
- }, 8, ["value", "items"]) : slots.item ? slots.item(item) : createVNode(VListItem, item, slots, 16);
9338
+ }, 8, ["value"]) : slots.item ? slots.item(itemProps) : createVNode(VListItem, itemProps, slots, 16);
9321
9339
  });
9322
9340
  };
9323
9341
  }
9324
9342
 
9325
9343
  });
9326
9344
 
9327
- const ListKey = Symbol.for('vuetify:list');
9328
- const createList = () => {
9329
- const parent = inject(ListKey, {
9330
- hasPrepend: ref(false),
9331
- updateHasPrepend: () => null
9345
+ const parseItems = items => {
9346
+ if (!items) return undefined;
9347
+ return items.map(item => {
9348
+ if (typeof item === 'string') return {
9349
+ type: 'item',
9350
+ value: item,
9351
+ title: item
9352
+ };
9353
+ const {
9354
+ $type,
9355
+ $children,
9356
+ ...props
9357
+ } = item;
9358
+ if ($type === 'subheader') return {
9359
+ type: 'subheader',
9360
+ props
9361
+ };
9362
+ if ($type === 'divider') return {
9363
+ type: 'divider',
9364
+ props
9365
+ };
9366
+ return {
9367
+ type: 'item',
9368
+ props,
9369
+ children: parseItems($children)
9370
+ };
9332
9371
  });
9333
- const data = {
9334
- hasPrepend: ref(false),
9335
- updateHasPrepend: value => {
9336
- if (value) data.hasPrepend.value = value;
9337
- }
9338
- };
9339
- provide(ListKey, data);
9340
- return parent;
9341
- };
9342
- const useList = () => {
9343
- return inject(ListKey, null);
9344
9372
  };
9373
+
9345
9374
  const VList = genericComponent()({
9346
9375
  name: 'VList',
9347
9376
  props: {
@@ -9352,10 +9381,6 @@ const VList = genericComponent()({
9352
9381
  default: 'one'
9353
9382
  },
9354
9383
  nav: Boolean,
9355
- subheader: {
9356
- type: [Boolean, String],
9357
- default: false
9358
- },
9359
9384
  items: Array,
9360
9385
  ...makeNestedProps({
9361
9386
  selectStrategy: 'leaf',
@@ -9380,6 +9405,7 @@ const VList = genericComponent()({
9380
9405
  let {
9381
9406
  slots
9382
9407
  } = _ref;
9408
+ const items = computed(() => parseItems(props.items));
9383
9409
  const {
9384
9410
  themeClasses
9385
9411
  } = provideTheme(props);
@@ -9409,28 +9435,24 @@ const VList = genericComponent()({
9409
9435
  } = useNested(props);
9410
9436
  createList();
9411
9437
  useRender(() => {
9412
- const hasHeader = typeof props.subheader === 'string' || slots.subheader;
9413
9438
  return createVNode(props.tag, {
9414
9439
  "class": ['v-list', {
9415
9440
  'v-list--disabled': props.disabled,
9416
9441
  'v-list--nav': props.nav,
9417
- 'v-list--subheader': props.subheader,
9418
- 'v-list--subheader-sticky': props.subheader === 'sticky',
9419
9442
  [`v-list--${props.lines}-line`]: true
9420
9443
  }, themeClasses.value, backgroundColorClasses.value, borderClasses.value, densityClasses.value, elevationClasses.value, roundedClasses.value],
9421
9444
  "style": [backgroundColorStyles.value, dimensionStyles.value]
9422
9445
  }, {
9423
- default: () => [hasHeader && (slots.subheader ? slots.subheader() : createVNode(VListSubheader, null, {
9424
- default: () => [props.subheader]
9425
- })), createVNode(VListChildren, {
9426
- "items": props.items
9446
+ default: () => [createVNode(VListChildren, {
9447
+ "items": items.value
9427
9448
  }, {
9428
9449
  default: slots.default,
9429
9450
  item: slots.item,
9430
- externalHeader: slots.header,
9451
+ title: slots.title,
9452
+ subtitle: slots.subtitle,
9453
+ header: slots.header,
9431
9454
  _: 1
9432
- }, 8, ["items"])],
9433
- _: 1
9455
+ }, 8, ["items"])]
9434
9456
  }, 8, ["class", "style"]);
9435
9457
  });
9436
9458
  return {
@@ -10172,6 +10194,7 @@ const VPagination = defineComponent({
10172
10194
  default: '...'
10173
10195
  },
10174
10196
  showFirstLastPage: Boolean,
10197
+ ...makeRoundedProps(),
10175
10198
  ...makeBorderProps(),
10176
10199
  ...makeDensityProps(),
10177
10200
  ...makeElevationProps(),
@@ -10306,6 +10329,7 @@ const VPagination = defineComponent({
10306
10329
  icon: true,
10307
10330
  disabled: !!props.disabled || props.length < 2,
10308
10331
  elevation: props.elevation,
10332
+ rounded: props.rounded,
10309
10333
  color: isActive ? props.color : undefined,
10310
10334
  ariaCurrent: isActive,
10311
10335
  ariaLabel: t(isActive ? props.currentPageAriaLabel : props.pageAriaLabel, index + 1),
@@ -10733,7 +10757,7 @@ const makeSliderProps = propsFactory({
10733
10757
  },
10734
10758
  showTicks: {
10735
10759
  type: [Boolean, String],
10736
- default: true,
10760
+ default: false,
10737
10761
  validator: v => typeof v === 'boolean' || v === 'always'
10738
10762
  },
10739
10763
  showTickLabels: {
@@ -10817,6 +10841,7 @@ const useSlider = _ref => {
10817
10841
  const mousePressed = ref(false);
10818
10842
  const startOffset = ref(0);
10819
10843
  const trackContainerRef = ref();
10844
+ const activeThumbRef = ref();
10820
10845
 
10821
10846
  function roundValue(value) {
10822
10847
  if (step.value <= 0) return value;
@@ -10858,14 +10883,14 @@ const useSlider = _ref => {
10858
10883
  };
10859
10884
 
10860
10885
  const handleStart = e => {
10861
- const activeThumb = getActiveThumb(e);
10862
- if (!activeThumb) return;
10863
- activeThumb.focus();
10886
+ activeThumbRef.value = getActiveThumb(e);
10887
+ if (!activeThumbRef.value) return;
10888
+ activeThumbRef.value.focus();
10864
10889
  mousePressed.value = true;
10865
10890
 
10866
- if (activeThumb.contains(e.target)) {
10891
+ if (activeThumbRef.value.contains(e.target)) {
10867
10892
  thumbMoved = true;
10868
- startOffset.value = getOffset(e, activeThumb, props.direction);
10893
+ startOffset.value = getOffset(e, activeThumbRef.value, props.direction);
10869
10894
  } else {
10870
10895
  startOffset.value = 0;
10871
10896
  handleMouseMove(parseMouseMove(e));
@@ -10949,6 +10974,7 @@ const useSlider = _ref => {
10949
10974
  return !!label;
10950
10975
  }));
10951
10976
  const data = {
10977
+ activeThumbRef,
10952
10978
  color: toRef(props, 'color'),
10953
10979
  decimals,
10954
10980
  disabled,
@@ -11037,7 +11063,8 @@ const VSliderThumb = defineComponent({
11037
11063
  elevation,
11038
11064
  isReversed,
11039
11065
  horizontalDirection,
11040
- mousePressed
11066
+ mousePressed,
11067
+ decimals
11041
11068
  } = slider;
11042
11069
  const {
11043
11070
  textColorClasses,
@@ -11114,7 +11141,7 @@ const VSliderThumb = defineComponent({
11114
11141
  "aria-valuenow": props.modelValue,
11115
11142
  "aria-readonly": readonly.value,
11116
11143
  "aria-orientation": direction.value,
11117
- "onKeydown": onKeydown
11144
+ "onKeydown": !readonly.value ? onKeydown : undefined
11118
11145
  }, [createVNode("div", {
11119
11146
  "class": ['v-slider-thumb__surface', textColorClasses.value, elevationClasses.value],
11120
11147
  "style": { ...textColorStyles.value
@@ -11134,7 +11161,7 @@ const VSliderThumb = defineComponent({
11134
11161
  "class": ['v-slider-thumb__label']
11135
11162
  }, [createVNode("div", null, [(_slots$thumbLabel = (_slots$thumbLabel2 = slots['thumb-label']) == null ? void 0 : _slots$thumbLabel2.call(slots, {
11136
11163
  modelValue: props.modelValue
11137
- })) != null ? _slots$thumbLabel : props.modelValue.toFixed(1)])])], 512), [[vShow, thumbLabel.value && props.focused || thumbLabel.value === 'always']])]
11164
+ })) != null ? _slots$thumbLabel : props.modelValue.toFixed(step.value ? decimals.value : 1)])])], 512), [[vShow, thumbLabel.value && props.focused || thumbLabel.value === 'always']])]
11138
11165
  })], 46, ["tabindex", "aria-label", "aria-valuemin", "aria-valuemax", "aria-valuenow", "aria-readonly", "aria-orientation", "onKeydown"]);
11139
11166
  };
11140
11167
  }
@@ -11255,6 +11282,7 @@ const VRangeSlider = defineComponent$1({
11255
11282
  name: 'VRangeSlider',
11256
11283
  props: { ...makeVInputProps(),
11257
11284
  ...makeSliderProps(),
11285
+ strict: Boolean,
11258
11286
  modelValue: {
11259
11287
  type: Array,
11260
11288
  default: () => [0, 0]
@@ -11271,20 +11299,15 @@ const VRangeSlider = defineComponent$1({
11271
11299
  } = _ref;
11272
11300
  const startThumbRef = ref();
11273
11301
  const stopThumbRef = ref();
11274
- const focusedThumb = ref();
11275
11302
  const inputRef = ref();
11276
- let canSwitch = false;
11277
11303
 
11278
11304
  function getActiveThumb(e) {
11279
- var _startThumbRef$value, _stopThumbRef$value;
11280
-
11281
11305
  if (!startThumbRef.value || !stopThumbRef.value) return;
11282
- canSwitch = true;
11283
11306
  const startOffset = getOffset(e, startThumbRef.value.$el, props.direction);
11284
11307
  const stopOffset = getOffset(e, stopThumbRef.value.$el, props.direction);
11285
11308
  const a = Math.abs(startOffset);
11286
11309
  const b = Math.abs(stopOffset);
11287
- return a < b || a === b && startOffset < 0 ? (_startThumbRef$value = startThumbRef.value) == null ? void 0 : _startThumbRef$value.$el : (_stopThumbRef$value = stopThumbRef.value) == null ? void 0 : _stopThumbRef$value.$el;
11310
+ return a < b || a === b && startOffset < 0 ? startThumbRef.value.$el : stopThumbRef.value.$el;
11288
11311
  }
11289
11312
 
11290
11313
  const {
@@ -11296,25 +11319,33 @@ const VRangeSlider = defineComponent$1({
11296
11319
  onSliderTouchstart,
11297
11320
  trackContainerRef,
11298
11321
  position,
11299
- hasLabels
11322
+ hasLabels,
11323
+ activeThumbRef
11300
11324
  } = useSlider({
11301
11325
  /* eslint-disable @typescript-eslint/no-use-before-define */
11302
11326
  props,
11303
11327
  handleSliderMouseUp: newValue => {
11304
- model.value = focusedThumb.value === startThumbRef.value ? [newValue, model.value[1]] : [model.value[0], newValue];
11328
+ var _startThumbRef$value;
11329
+
11330
+ model.value = activeThumbRef.value === ((_startThumbRef$value = startThumbRef.value) == null ? void 0 : _startThumbRef$value.$el) ? [newValue, model.value[1]] : [model.value[0], newValue];
11305
11331
  },
11306
11332
  handleMouseMove: newValue => {
11307
- if (focusedThumb.value === startThumbRef.value) {
11308
- model.value = [Math.min(newValue, model.value[1]), model.value[1]];
11309
- } else {
11310
- model.value = [model.value[0], Math.max(model.value[0], newValue)];
11311
- }
11333
+ var _startThumbRef$value3;
11334
+
11335
+ const [start, stop] = model.value;
11336
+
11337
+ if (!props.strict && start === stop && start !== min.value) {
11338
+ var _stopThumbRef$value, _startThumbRef$value2, _activeThumbRef$value;
11312
11339
 
11313
- if (canSwitch && model.value[0] === model.value[1]) {
11314
- focusedThumb.value = newValue > model.value[0] ? stopThumbRef.value : startThumbRef.value;
11340
+ activeThumbRef.value = newValue > start ? (_stopThumbRef$value = stopThumbRef.value) == null ? void 0 : _stopThumbRef$value.$el : (_startThumbRef$value2 = startThumbRef.value) == null ? void 0 : _startThumbRef$value2.$el;
11341
+ (_activeThumbRef$value = activeThumbRef.value) == null ? void 0 : _activeThumbRef$value.focus();
11315
11342
  }
11316
11343
 
11317
- canSwitch = false;
11344
+ if (activeThumbRef.value === ((_startThumbRef$value3 = startThumbRef.value) == null ? void 0 : _startThumbRef$value3.$el)) {
11345
+ model.value = [Math.min(newValue, stop), stop];
11346
+ } else {
11347
+ model.value = [start, Math.max(start, newValue)];
11348
+ }
11318
11349
  },
11319
11350
  getActiveThumb
11320
11351
  /* eslint-enable @typescript-eslint/no-use-before-define */
@@ -11345,6 +11376,8 @@ const VRangeSlider = defineComponent$1({
11345
11376
  "focused": isFocused.value
11346
11377
  }), { ...slots,
11347
11378
  default: _ref2 => {
11379
+ var _startThumbRef$value4, _stopThumbRef$value4;
11380
+
11348
11381
  let {
11349
11382
  id
11350
11383
  } = _ref2;
@@ -11375,23 +11408,28 @@ const VRangeSlider = defineComponent$1({
11375
11408
  _: 1
11376
11409
  }, 8, ["start", "stop"]), createVNode(VSliderThumb, {
11377
11410
  "ref": startThumbRef,
11378
- "focused": isFocused && focusedThumb.value === startThumbRef.value,
11411
+ "focused": isFocused && activeThumbRef.value === ((_startThumbRef$value4 = startThumbRef.value) == null ? void 0 : _startThumbRef$value4.$el),
11379
11412
  "modelValue": model.value[0],
11380
11413
  "onUpdate:modelValue": v => model.value = [v, model.value[1]],
11381
11414
  "onFocus": e => {
11382
- var _stopThumbRef$value2, _stopThumbRef$value3;
11415
+ var _startThumbRef$value5, _stopThumbRef$value2;
11383
11416
 
11384
11417
  focus();
11385
- focusedThumb.value = startThumbRef.value; // Make sure second thumb is focused if
11418
+ activeThumbRef.value = (_startThumbRef$value5 = startThumbRef.value) == null ? void 0 : _startThumbRef$value5.$el; // Make sure second thumb is focused if
11386
11419
  // the thumbs are on top of each other
11387
11420
  // and they are both at minimum value
11388
11421
  // but only if focused from outside.
11389
11422
 
11390
- if (model.value[0] === model.value[1] && model.value[1] === min.value && e.relatedTarget !== ((_stopThumbRef$value2 = stopThumbRef.value) == null ? void 0 : _stopThumbRef$value2.$el)) (_stopThumbRef$value3 = stopThumbRef.value) == null ? void 0 : _stopThumbRef$value3.$el.focus();
11423
+ if (model.value[0] === model.value[1] && model.value[1] === min.value && e.relatedTarget !== ((_stopThumbRef$value2 = stopThumbRef.value) == null ? void 0 : _stopThumbRef$value2.$el)) {
11424
+ var _startThumbRef$value6, _stopThumbRef$value3;
11425
+
11426
+ (_startThumbRef$value6 = startThumbRef.value) == null ? void 0 : _startThumbRef$value6.$el.blur();
11427
+ (_stopThumbRef$value3 = stopThumbRef.value) == null ? void 0 : _stopThumbRef$value3.$el.focus();
11428
+ }
11391
11429
  },
11392
11430
  "onBlur": () => {
11393
11431
  blur();
11394
- focusedThumb.value = null;
11432
+ activeThumbRef.value = undefined;
11395
11433
  },
11396
11434
  "min": min.value,
11397
11435
  "max": model.value[1],
@@ -11401,27 +11439,28 @@ const VRangeSlider = defineComponent$1({
11401
11439
  _: 1
11402
11440
  }, 8, ["focused", "modelValue", "onUpdate:modelValue", "onFocus", "onBlur", "min", "max", "position"]), createVNode(VSliderThumb, {
11403
11441
  "ref": stopThumbRef,
11404
- "focused": isFocused && focusedThumb.value === stopThumbRef.value,
11442
+ "focused": isFocused && activeThumbRef.value === ((_stopThumbRef$value4 = stopThumbRef.value) == null ? void 0 : _stopThumbRef$value4.$el),
11405
11443
  "modelValue": model.value[1],
11406
11444
  "onUpdate:modelValue": v => model.value = [model.value[0], v],
11407
11445
  "onFocus": e => {
11408
- var _startThumbRef$value2;
11446
+ var _stopThumbRef$value5, _startThumbRef$value7;
11409
11447
 
11410
11448
  focus();
11411
- focusedThumb.value = stopThumbRef.value; // Make sure first thumb is focused if
11449
+ activeThumbRef.value = (_stopThumbRef$value5 = stopThumbRef.value) == null ? void 0 : _stopThumbRef$value5.$el; // Make sure first thumb is focused if
11412
11450
  // the thumbs are on top of each other
11413
11451
  // and they are both at maximum value
11414
11452
  // but only if focused from outside.
11415
11453
 
11416
- if (model.value[0] === model.value[1] && model.value[0] === max.value && e.relatedTarget !== ((_startThumbRef$value2 = startThumbRef.value) == null ? void 0 : _startThumbRef$value2.$el)) {
11417
- var _startThumbRef$value3;
11454
+ if (model.value[0] === model.value[1] && model.value[0] === max.value && e.relatedTarget !== ((_startThumbRef$value7 = startThumbRef.value) == null ? void 0 : _startThumbRef$value7.$el)) {
11455
+ var _stopThumbRef$value6, _startThumbRef$value8;
11418
11456
 
11419
- (_startThumbRef$value3 = startThumbRef.value) == null ? void 0 : _startThumbRef$value3.$el.focus();
11457
+ (_stopThumbRef$value6 = stopThumbRef.value) == null ? void 0 : _stopThumbRef$value6.$el.blur();
11458
+ (_startThumbRef$value8 = startThumbRef.value) == null ? void 0 : _startThumbRef$value8.$el.focus();
11420
11459
  }
11421
11460
  },
11422
11461
  "onBlur": () => {
11423
11462
  blur();
11424
- focusedThumb.value = null;
11463
+ activeThumbRef.value = undefined;
11425
11464
  },
11426
11465
  "min": model.value[0],
11427
11466
  "max": max.value,
@@ -11752,7 +11791,8 @@ const VSlider = defineComponent({
11752
11791
  onSliderTouchstart,
11753
11792
  trackContainerRef,
11754
11793
  position,
11755
- hasLabels
11794
+ hasLabels,
11795
+ readonly
11756
11796
  } = useSlider({
11757
11797
  props,
11758
11798
  // eslint-disable-next-line @typescript-eslint/no-use-before-define
@@ -11793,8 +11833,8 @@ const VSlider = defineComponent({
11793
11833
  } = _ref2;
11794
11834
  return createVNode("div", {
11795
11835
  "class": "v-slider__container",
11796
- "onMousedown": onSliderMousedown,
11797
- "onTouchstartPassive": onSliderTouchstart
11836
+ "onMousedown": !readonly.value ? onSliderMousedown : undefined,
11837
+ "onTouchstartPassive": !readonly.value ? onSliderTouchstart : undefined
11798
11838
  }, [createVNode("input", {
11799
11839
  "id": id.value,
11800
11840
  "name": props.name || id.value,
@@ -12796,111 +12836,535 @@ const VValidation = defineComponent({
12796
12836
 
12797
12837
  });
12798
12838
 
12799
- var components = /*#__PURE__*/Object.freeze({
12800
- __proto__: null,
12801
- VApp: VApp,
12802
- VAppBar: VAppBar,
12803
- VAppBarNavIcon: VAppBarNavIcon,
12804
- VAppBarTitle: VAppBarTitle,
12805
- VAlert: VAlert,
12806
- VAvatar: VAvatar,
12807
- VBadge: VBadge,
12808
- VBanner: VBanner,
12809
- VBannerActions: VBannerActions,
12810
- VBannerAvatar: VBannerAvatar,
12811
- VBannerContent: VBannerContent,
12812
- VBannerText: VBannerText,
12813
- VBottomNavigation: VBottomNavigation,
12814
- VBreadcrumbs: VBreadcrumbs,
12815
- VBreadcrumbsItem: VBreadcrumbsItem,
12816
- VBreadcrumbsDivider: VBreadcrumbsDivider,
12817
- VBtn: VBtn,
12818
- VBtnGroup: VBtnGroup,
12819
- VBtnToggle: VBtnToggle,
12820
- VCard: VCard,
12821
- VCardActions: VCardActions,
12822
- VCardAvatar: VCardAvatar,
12823
- VCardHeader: VCardHeader,
12824
- VCardHeaderText: VCardHeaderText,
12825
- VCardImg: VCardImg,
12826
- VCardSubtitle: VCardSubtitle,
12827
- VCardText: VCardText,
12828
- VCardTitle: VCardTitle,
12829
- VCheckbox: VCheckbox,
12830
- VChip: VChip,
12831
- VCode: VCode,
12832
- VCounter: VCounter,
12833
- VDefaultsProvider: VDefaultsProvider,
12834
- VDialog: VDialog,
12835
- VDivider: VDivider,
12836
- VExpansionPanels: VExpansionPanels,
12837
- VExpansionPanel: VExpansionPanel,
12838
- VExpansionPanelText: VExpansionPanelText,
12839
- VExpansionPanelTitle: VExpansionPanelTitle,
12840
- VField: VField,
12841
- VFieldLabel: VFieldLabel,
12842
- VFileInput: VFileInput,
12843
- VFooter: VFooter,
12844
- VForm: VForm,
12845
- VContainer: VContainer,
12846
- VCol: VCol,
12847
- VRow: VRow,
12848
- VSpacer: VSpacer,
12849
- VHover: VHover,
12850
- VIcon: VIcon,
12851
- VComponentIcon: VComponentIcon,
12852
- VSvgIcon: VSvgIcon,
12853
- VLigatureIcon: VLigatureIcon,
12854
- VClassIcon: VClassIcon,
12855
- VImg: VImg,
12856
- VInput: VInput,
12857
- VItemGroup: VItemGroup,
12858
- VItem: VItem,
12859
- VKbd: VKbd,
12860
- VLabel: VLabel,
12861
- VLayout: VLayout,
12862
- VLayoutItem: VLayoutItem,
12863
- VLazy: VLazy,
12864
- VList: VList,
12865
- VListSubheader: VListSubheader,
12866
- VListImg: VListImg,
12867
- VListItem: VListItem,
12868
- VListItemAvatar: VListItemAvatar,
12869
- VListItemHeader: VListItemHeader,
12870
- VListItemMedia: VListItemMedia,
12871
- VListItemSubtitle: VListItemSubtitle,
12872
- VListItemTitle: VListItemTitle,
12873
- VListGroup: VListGroup,
12874
- VLocaleProvider: VLocaleProvider,
12875
- VMain: VMain,
12876
- VMenu: VMenu,
12877
- VMessages: VMessages,
12878
- VNavigationDrawer: VNavigationDrawer,
12879
- VNoSsr: VNoSsr,
12880
- VOverlay: VOverlay,
12881
- VPagination: VPagination,
12882
- VParallax: VParallax,
12883
- VProgressCircular: VProgressCircular,
12884
- VProgressLinear: VProgressLinear,
12885
- VRadio: VRadio,
12886
- VRadioGroup: VRadioGroup,
12887
- VRangeSlider: VRangeSlider,
12888
- VRating: VRating,
12889
- VResponsive: VResponsive,
12890
- VSelectionControl: VSelectionControl,
12891
- VSelectionControlGroup: VSelectionControlGroup,
12892
- VSheet: VSheet,
12893
- VSlider: VSlider,
12894
- VSwitch: VSwitch,
12895
- VSystemBar: VSystemBar,
12896
- VTable: VTable,
12897
- VTextarea: VTextarea,
12898
- VTextField: VTextField,
12899
- VThemeProvider: VThemeProvider,
12839
+ // Types
12840
+
12841
+ const handleGesture = wrapper => {
12842
+ const {
12843
+ touchstartX,
12844
+ touchendX,
12845
+ touchstartY,
12846
+ touchendY
12847
+ } = wrapper;
12848
+ const dirRatio = 0.5;
12849
+ const minDistance = 16;
12850
+ wrapper.offsetX = touchendX - touchstartX;
12851
+ wrapper.offsetY = touchendY - touchstartY;
12852
+
12853
+ if (Math.abs(wrapper.offsetY) < dirRatio * Math.abs(wrapper.offsetX)) {
12854
+ wrapper.left && touchendX < touchstartX - minDistance && wrapper.left(wrapper);
12855
+ wrapper.right && touchendX > touchstartX + minDistance && wrapper.right(wrapper);
12856
+ }
12857
+
12858
+ if (Math.abs(wrapper.offsetX) < dirRatio * Math.abs(wrapper.offsetY)) {
12859
+ wrapper.up && touchendY < touchstartY - minDistance && wrapper.up(wrapper);
12860
+ wrapper.down && touchendY > touchstartY + minDistance && wrapper.down(wrapper);
12861
+ }
12862
+ };
12863
+
12864
+ function touchstart(event, wrapper) {
12865
+ var _wrapper$start;
12866
+
12867
+ const touch = event.changedTouches[0];
12868
+ wrapper.touchstartX = touch.clientX;
12869
+ wrapper.touchstartY = touch.clientY;
12870
+ (_wrapper$start = wrapper.start) == null ? void 0 : _wrapper$start.call(wrapper, {
12871
+ originalEvent: event,
12872
+ ...wrapper
12873
+ });
12874
+ }
12875
+
12876
+ function touchend(event, wrapper) {
12877
+ var _wrapper$end;
12878
+
12879
+ const touch = event.changedTouches[0];
12880
+ wrapper.touchendX = touch.clientX;
12881
+ wrapper.touchendY = touch.clientY;
12882
+ (_wrapper$end = wrapper.end) == null ? void 0 : _wrapper$end.call(wrapper, {
12883
+ originalEvent: event,
12884
+ ...wrapper
12885
+ });
12886
+ handleGesture(wrapper);
12887
+ }
12888
+
12889
+ function touchmove(event, wrapper) {
12890
+ var _wrapper$move;
12891
+
12892
+ const touch = event.changedTouches[0];
12893
+ wrapper.touchmoveX = touch.clientX;
12894
+ wrapper.touchmoveY = touch.clientY;
12895
+ (_wrapper$move = wrapper.move) == null ? void 0 : _wrapper$move.call(wrapper, {
12896
+ originalEvent: event,
12897
+ ...wrapper
12898
+ });
12899
+ }
12900
+
12901
+ function createHandlers() {
12902
+ let value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
12903
+ const wrapper = {
12904
+ touchstartX: 0,
12905
+ touchstartY: 0,
12906
+ touchendX: 0,
12907
+ touchendY: 0,
12908
+ touchmoveX: 0,
12909
+ touchmoveY: 0,
12910
+ offsetX: 0,
12911
+ offsetY: 0,
12912
+ left: value.left,
12913
+ right: value.right,
12914
+ up: value.up,
12915
+ down: value.down,
12916
+ start: value.start,
12917
+ move: value.move,
12918
+ end: value.end
12919
+ };
12920
+ return {
12921
+ touchstart: e => touchstart(e, wrapper),
12922
+ touchend: e => touchend(e, wrapper),
12923
+ touchmove: e => touchmove(e, wrapper)
12924
+ };
12925
+ }
12926
+
12927
+ function mounted$3(el, binding) {
12928
+ var _value$options, _binding$instance, _target$_touchHandler;
12929
+
12930
+ const value = binding.value;
12931
+ const target = value != null && value.parent ? el.parentElement : el;
12932
+ const options = (_value$options = value == null ? void 0 : value.options) != null ? _value$options : {
12933
+ passive: true
12934
+ };
12935
+ const uid = (_binding$instance = binding.instance) == null ? void 0 : _binding$instance.$.uid; // TODO: use custom uid generator
12936
+
12937
+ if (!target || !uid) return;
12938
+ const handlers = createHandlers(binding.value);
12939
+ target._touchHandlers = (_target$_touchHandler = target._touchHandlers) != null ? _target$_touchHandler : Object.create(null);
12940
+ target._touchHandlers[uid] = handlers;
12941
+ keys(handlers).forEach(eventName => {
12942
+ target.addEventListener(eventName, handlers[eventName], options);
12943
+ });
12944
+ }
12945
+
12946
+ function unmounted$3(el, binding) {
12947
+ var _binding$value, _binding$instance2;
12948
+
12949
+ const target = (_binding$value = binding.value) != null && _binding$value.parent ? el.parentElement : el;
12950
+ const uid = (_binding$instance2 = binding.instance) == null ? void 0 : _binding$instance2.$.uid;
12951
+ if (!(target != null && target._touchHandlers) || !uid) return;
12952
+ const handlers = target._touchHandlers[uid];
12953
+ keys(handlers).forEach(eventName => {
12954
+ target.removeEventListener(eventName, handlers[eventName]);
12955
+ });
12956
+ delete target._touchHandlers[uid];
12957
+ }
12958
+
12959
+ const Touch = {
12960
+ mounted: mounted$3,
12961
+ unmounted: unmounted$3
12962
+ };
12963
+
12964
+ const VWindowSymbol = Symbol.for('vuetify:v-window');
12965
+ const VWindowGroupSymbol = Symbol.for('vuetify:v-window-group');
12966
+ const VWindow = defineComponent$1({
12967
+ name: 'VWindow',
12968
+ directives: {
12969
+ Touch
12970
+ },
12971
+ props: {
12972
+ continuous: Boolean,
12973
+ nextIcon: {
12974
+ type: [Boolean, String],
12975
+ default: '$next'
12976
+ },
12977
+ prevIcon: {
12978
+ type: [Boolean, String],
12979
+ default: '$prev'
12980
+ },
12981
+ reverse: Boolean,
12982
+ showArrows: {
12983
+ type: [Boolean, String],
12984
+ validator: v => typeof v === 'boolean' || v === 'hover'
12985
+ },
12986
+ touch: {
12987
+ type: [Object, Boolean],
12988
+ default: undefined
12989
+ },
12990
+ direction: {
12991
+ type: String,
12992
+ default: 'horizontal'
12993
+ },
12994
+ modelValue: null,
12995
+ disabled: Boolean,
12996
+ selectedClass: {
12997
+ type: String,
12998
+ default: 'v-window-item--active'
12999
+ },
13000
+ // TODO: mandatory should probably not be exposed but do this for now
13001
+ mandatory: {
13002
+ default: 'force'
13003
+ },
13004
+ ...makeTagProps(),
13005
+ ...makeThemeProps()
13006
+ },
13007
+ emits: {
13008
+ 'update:modelValue': v => true
13009
+ },
13010
+
13011
+ setup(props, _ref) {
13012
+ let {
13013
+ slots
13014
+ } = _ref;
13015
+ const {
13016
+ themeClasses
13017
+ } = provideTheme(props);
13018
+ const {
13019
+ isRtl
13020
+ } = useRtl();
13021
+ const {
13022
+ t
13023
+ } = useLocale();
13024
+ const group = useGroup(props, VWindowGroupSymbol);
13025
+ const rootRef = ref();
13026
+ const isRtlReverse = computed(() => isRtl.value ? !props.reverse : props.reverse);
13027
+ const isReversed = ref(false);
13028
+ const transition = computed(() => {
13029
+ const axis = props.direction === 'vertical' ? 'y' : 'x';
13030
+ const reverse = isRtlReverse.value ? !isReversed.value : isReversed.value;
13031
+ const direction = reverse ? '-reverse' : '';
13032
+ return `v-window-${axis}${direction}-transition`;
13033
+ });
13034
+ const transitionCount = ref(0);
13035
+ const transitionHeight = ref(undefined);
13036
+ const activeIndex = computed(() => {
13037
+ return group.items.value.findIndex(item => group.selected.value.includes(item.id));
13038
+ });
13039
+ watch(activeIndex, (newVal, oldVal) => {
13040
+ const itemsLength = group.items.value.length;
13041
+ const lastIndex = itemsLength - 1;
13042
+
13043
+ if (itemsLength <= 2) {
13044
+ isReversed.value = newVal < oldVal;
13045
+ } else if (newVal === lastIndex && oldVal === 0) {
13046
+ isReversed.value = true;
13047
+ } else if (newVal === 0 && oldVal === lastIndex) {
13048
+ isReversed.value = false;
13049
+ } else {
13050
+ isReversed.value = newVal < oldVal;
13051
+ }
13052
+ });
13053
+ provide(VWindowSymbol, {
13054
+ transition,
13055
+ isReversed,
13056
+ transitionCount,
13057
+ transitionHeight,
13058
+ rootRef
13059
+ });
13060
+ const canMoveBack = computed(() => props.continuous || activeIndex.value !== 0);
13061
+ const canMoveForward = computed(() => props.continuous || activeIndex.value !== group.items.value.length - 1);
13062
+
13063
+ function prev() {
13064
+ canMoveBack.value && group.prev();
13065
+ }
13066
+
13067
+ function next() {
13068
+ canMoveForward.value && group.next();
13069
+ }
13070
+
13071
+ provideDefaults({
13072
+ VBtn: {
13073
+ variant: 'text'
13074
+ }
13075
+ }, {
13076
+ scoped: true
13077
+ });
13078
+ const arrows = computed(() => {
13079
+ const arrows = [];
13080
+ const prevProps = {
13081
+ icon: isRtl.value ? props.nextIcon : props.prevIcon,
13082
+ class: `v-window__${isRtlReverse.value ? 'right' : 'left'}`,
13083
+ onClick: group.prev,
13084
+ ariaLabel: t('$vuetify.carousel.prev')
13085
+ };
13086
+ arrows.push(canMoveBack.value ? slots.prev ? slots.prev({
13087
+ props: prevProps
13088
+ }) : createVNode(VBtn, prevProps, null, 16) : createVNode("div", null, null));
13089
+ const nextProps = {
13090
+ icon: isRtl.value ? props.prevIcon : props.nextIcon,
13091
+ class: `v-window__${isRtlReverse.value ? 'left' : 'right'}`,
13092
+ onClick: group.next,
13093
+ ariaLabel: t('$vuetify.carousel.next')
13094
+ };
13095
+ arrows.push(canMoveForward.value ? slots.next ? slots.next({
13096
+ props: nextProps
13097
+ }) : createVNode(VBtn, nextProps, null, 16) : createVNode("div", null, null));
13098
+ return arrows;
13099
+ });
13100
+ const touchOptions = computed(() => {
13101
+ if (props.touch === false) return props.touch;
13102
+ const options = {
13103
+ left: () => {
13104
+ isRtlReverse.value ? prev() : next();
13105
+ },
13106
+ right: () => {
13107
+ isRtlReverse.value ? next() : prev();
13108
+ },
13109
+ end: _ref2 => {
13110
+ let {
13111
+ originalEvent
13112
+ } = _ref2;
13113
+ originalEvent.stopPropagation();
13114
+ },
13115
+ start: _ref3 => {
13116
+ let {
13117
+ originalEvent
13118
+ } = _ref3;
13119
+ originalEvent.stopPropagation();
13120
+ }
13121
+ };
13122
+ return { ...options,
13123
+ ...(props.touch === true ? {} : props.touch)
13124
+ };
13125
+ });
13126
+ return () => {
13127
+ var _slots$default;
13128
+
13129
+ return withDirectives(createVNode(props.tag, {
13130
+ "ref": rootRef,
13131
+ "class": ['v-window', {
13132
+ 'v-window--show-arrows-on-hover': props.showArrows === 'hover'
13133
+ }, themeClasses.value]
13134
+ }, {
13135
+ default: () => [createVNode("div", {
13136
+ "class": "v-window__container",
13137
+ "style": {
13138
+ height: transitionHeight.value
13139
+ }
13140
+ }, [(_slots$default = slots.default) == null ? void 0 : _slots$default.call(slots), props.showArrows !== false && createVNode("div", {
13141
+ "class": "v-window__controls"
13142
+ }, [arrows.value])], 4)]
13143
+ }, 8, ["class"]), [[resolveDirective("touch"), touchOptions.value]]);
13144
+ };
13145
+ }
13146
+
13147
+ });
13148
+
13149
+ const VWindowItem = defineComponent({
13150
+ name: 'VWindowItem',
13151
+ directives: {
13152
+ Touch
13153
+ },
13154
+ props: {
13155
+ reverseTransition: {
13156
+ type: [Boolean, String],
13157
+ default: undefined
13158
+ },
13159
+ transition: {
13160
+ type: [Boolean, String],
13161
+ default: undefined
13162
+ },
13163
+ ...makeLazyProps(),
13164
+ ...makeGroupItemProps()
13165
+ },
13166
+
13167
+ setup(props, _ref) {
13168
+ let {
13169
+ slots
13170
+ } = _ref;
13171
+ const window = inject(VWindowSymbol);
13172
+ const groupItem = useGroupItem(props, VWindowGroupSymbol);
13173
+ if (!window || !groupItem) throw new Error('[Vuetify] VWindowItem must be used inside VWindow');
13174
+ const isTransitioning = ref(false);
13175
+ const hasTransition = computed(() => window.isReversed.value ? props.reverseTransition !== false : props.transition !== false);
13176
+
13177
+ function onAfterTransition() {
13178
+ if (!isTransitioning.value || !window) {
13179
+ return;
13180
+ } // Finalize transition state.
13181
+
13182
+
13183
+ isTransitioning.value = false;
13184
+
13185
+ if (window.transitionCount.value > 0) {
13186
+ window.transitionCount.value -= 1; // Remove container height if we are out of transition.
13187
+
13188
+ if (window.transitionCount.value === 0) {
13189
+ window.transitionHeight.value = undefined;
13190
+ }
13191
+ }
13192
+ }
13193
+
13194
+ function onBeforeTransition() {
13195
+ if (isTransitioning.value || !window) {
13196
+ return;
13197
+ } // Initialize transition state here.
13198
+
13199
+
13200
+ isTransitioning.value = true;
13201
+
13202
+ if (window.transitionCount.value === 0) {
13203
+ var _window$rootRef$value;
13204
+
13205
+ // Set initial height for height transition.
13206
+ window.transitionHeight.value = convertToUnit((_window$rootRef$value = window.rootRef.value) == null ? void 0 : _window$rootRef$value.clientHeight);
13207
+ }
13208
+
13209
+ window.transitionCount.value += 1;
13210
+ }
13211
+
13212
+ function onTransitionCancelled() {
13213
+ onAfterTransition(); // This should have the same path as normal transition end.
13214
+ }
13215
+
13216
+ function onEnterTransition(el) {
13217
+ if (!isTransitioning.value) {
13218
+ return;
13219
+ }
13220
+
13221
+ nextTick(() => {
13222
+ // Do not set height if no transition or cancelled.
13223
+ if (!hasTransition.value || !isTransitioning.value || !window) {
13224
+ return;
13225
+ } // Set transition target height.
13226
+
13227
+
13228
+ window.transitionHeight.value = convertToUnit(el.clientHeight);
13229
+ });
13230
+ }
13231
+
13232
+ const transition = computed(() => {
13233
+ const name = window.isReversed.value ? props.reverseTransition : props.transition;
13234
+ return !hasTransition.value ? false : {
13235
+ name: typeof name !== 'string' ? window.transition.value : name,
13236
+ onBeforeEnter: onBeforeTransition,
13237
+ onAfterEnter: onAfterTransition,
13238
+ onEnterCancelled: onTransitionCancelled,
13239
+ onBeforeLeave: onBeforeTransition,
13240
+ onAfterLeave: onAfterTransition,
13241
+ onLeaveCancelled: onTransitionCancelled,
13242
+ onEnter: onEnterTransition
13243
+ };
13244
+ });
13245
+ const {
13246
+ hasContent
13247
+ } = useLazy(props, groupItem.isSelected);
13248
+ return () => {
13249
+ return createVNode(MaybeTransition, {
13250
+ "transition": transition.value
13251
+ }, {
13252
+ default: () => [withDirectives(createVNode("div", {
13253
+ "class": ['v-window-item', groupItem.selectedClass.value]
13254
+ }, [slots.default && hasContent.value && slots.default()], 2), [[vShow, groupItem.isSelected.value]])]
13255
+ }, 8, ["transition"]);
13256
+ };
13257
+ }
13258
+
13259
+ });
13260
+
13261
+ var components = /*#__PURE__*/Object.freeze({
13262
+ __proto__: null,
13263
+ VApp: VApp,
13264
+ VAppBar: VAppBar,
13265
+ VAppBarNavIcon: VAppBarNavIcon,
13266
+ VAppBarTitle: VAppBarTitle,
13267
+ VAlert: VAlert,
13268
+ VAvatar: VAvatar,
13269
+ VBadge: VBadge,
13270
+ VBanner: VBanner,
13271
+ VBannerActions: VBannerActions,
13272
+ VBannerAvatar: VBannerAvatar,
13273
+ VBannerContent: VBannerContent,
13274
+ VBannerText: VBannerText,
13275
+ VBottomNavigation: VBottomNavigation,
13276
+ VBreadcrumbs: VBreadcrumbs,
13277
+ VBreadcrumbsItem: VBreadcrumbsItem,
13278
+ VBreadcrumbsDivider: VBreadcrumbsDivider,
13279
+ VBtn: VBtn,
13280
+ VBtnGroup: VBtnGroup,
13281
+ VBtnToggle: VBtnToggle,
13282
+ VCard: VCard,
13283
+ VCardActions: VCardActions,
13284
+ VCardAvatar: VCardAvatar,
13285
+ VCardHeader: VCardHeader,
13286
+ VCardHeaderText: VCardHeaderText,
13287
+ VCardImg: VCardImg,
13288
+ VCardSubtitle: VCardSubtitle,
13289
+ VCardText: VCardText,
13290
+ VCardTitle: VCardTitle,
13291
+ VCheckbox: VCheckbox,
13292
+ VChip: VChip,
13293
+ VCode: VCode,
13294
+ VCounter: VCounter,
13295
+ VDefaultsProvider: VDefaultsProvider,
13296
+ VDialog: VDialog,
13297
+ VDivider: VDivider,
13298
+ VExpansionPanels: VExpansionPanels,
13299
+ VExpansionPanel: VExpansionPanel,
13300
+ VExpansionPanelText: VExpansionPanelText,
13301
+ VExpansionPanelTitle: VExpansionPanelTitle,
13302
+ VField: VField,
13303
+ VFieldLabel: VFieldLabel,
13304
+ VFileInput: VFileInput,
13305
+ VFooter: VFooter,
13306
+ VForm: VForm,
13307
+ VContainer: VContainer,
13308
+ VCol: VCol,
13309
+ VRow: VRow,
13310
+ VSpacer: VSpacer,
13311
+ VHover: VHover,
13312
+ VIcon: VIcon,
13313
+ VComponentIcon: VComponentIcon,
13314
+ VSvgIcon: VSvgIcon,
13315
+ VLigatureIcon: VLigatureIcon,
13316
+ VClassIcon: VClassIcon,
13317
+ VImg: VImg,
13318
+ VInput: VInput,
13319
+ VItemGroup: VItemGroup,
13320
+ VItem: VItem,
13321
+ VKbd: VKbd,
13322
+ VLabel: VLabel,
13323
+ VLayout: VLayout,
13324
+ VLayoutItem: VLayoutItem,
13325
+ VLazy: VLazy,
13326
+ VList: VList,
13327
+ VListSubheader: VListSubheader,
13328
+ VListImg: VListImg,
13329
+ VListItem: VListItem,
13330
+ VListItemAvatar: VListItemAvatar,
13331
+ VListItemHeader: VListItemHeader,
13332
+ VListItemMedia: VListItemMedia,
13333
+ VListItemSubtitle: VListItemSubtitle,
13334
+ VListItemTitle: VListItemTitle,
13335
+ VListGroup: VListGroup,
13336
+ VLocaleProvider: VLocaleProvider,
13337
+ VMain: VMain,
13338
+ VMenu: VMenu,
13339
+ VMessages: VMessages,
13340
+ VNavigationDrawer: VNavigationDrawer,
13341
+ VNoSsr: VNoSsr,
13342
+ VOverlay: VOverlay,
13343
+ VPagination: VPagination,
13344
+ VParallax: VParallax,
13345
+ VProgressCircular: VProgressCircular,
13346
+ VProgressLinear: VProgressLinear,
13347
+ VRadio: VRadio,
13348
+ VRadioGroup: VRadioGroup,
13349
+ VRangeSlider: VRangeSlider,
13350
+ VRating: VRating,
13351
+ VResponsive: VResponsive,
13352
+ VSelectionControl: VSelectionControl,
13353
+ VSelectionControlGroup: VSelectionControlGroup,
13354
+ VSheet: VSheet,
13355
+ VSlider: VSlider,
13356
+ VSwitch: VSwitch,
13357
+ VSystemBar: VSystemBar,
13358
+ VTable: VTable,
13359
+ VTextarea: VTextarea,
13360
+ VTextField: VTextField,
13361
+ VThemeProvider: VThemeProvider,
12900
13362
  VTimeline: VTimeline,
12901
13363
  VTimelineItem: VTimelineItem,
12902
13364
  VTooltip: VTooltip,
12903
13365
  VValidation: VValidation,
13366
+ VWindow: VWindow,
13367
+ VWindowItem: VWindowItem,
12904
13368
  VDialogTransition: VDialogTransition,
12905
13369
  VCarouselTransition: VCarouselTransition,
12906
13370
  VCarouselReverseTransition: VCarouselReverseTransition,
@@ -12925,7 +13389,7 @@ var components = /*#__PURE__*/Object.freeze({
12925
13389
  });
12926
13390
 
12927
13391
  // Types
12928
- function mounted$3(el, binding) {
13392
+ function mounted$2(el, binding) {
12929
13393
  var _modifierKeys$attr, _modifierKeys$char, _modifierKeys$child, _modifierKeys$sub;
12930
13394
 
12931
13395
  const modifiers = binding.modifiers || {};
@@ -12952,7 +13416,7 @@ function mounted$3(el, binding) {
12952
13416
  let mutations = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
12953
13417
  let observer = arguments.length > 1 ? arguments[1] : undefined;
12954
13418
  handler == null ? void 0 : handler(mutations, observer);
12955
- if (once) unmounted$3(el, binding);
13419
+ if (once) unmounted$2(el, binding);
12956
13420
  });
12957
13421
  if (immediate) handler == null ? void 0 : handler([], observer);
12958
13422
  el._mutate = Object(el._mutate);
@@ -12962,7 +13426,7 @@ function mounted$3(el, binding) {
12962
13426
  observer.observe(el, options);
12963
13427
  }
12964
13428
 
12965
- function unmounted$3(el, binding) {
13429
+ function unmounted$2(el, binding) {
12966
13430
  var _el$_mutate;
12967
13431
 
12968
13432
  if (!((_el$_mutate = el._mutate) != null && _el$_mutate[binding.instance.$.uid])) return;
@@ -12973,11 +13437,11 @@ function unmounted$3(el, binding) {
12973
13437
  }
12974
13438
 
12975
13439
  const Mutate = {
12976
- mounted: mounted$3,
12977
- unmounted: unmounted$3
13440
+ mounted: mounted$2,
13441
+ unmounted: unmounted$2
12978
13442
  };
12979
13443
 
12980
- function mounted$2(el, binding) {
13444
+ function mounted$1(el, binding) {
12981
13445
  var _binding$modifiers, _binding$modifiers2;
12982
13446
 
12983
13447
  const handler = binding.value;
@@ -12996,7 +13460,7 @@ function mounted$2(el, binding) {
12996
13460
  }
12997
13461
  }
12998
13462
 
12999
- function unmounted$2(el, binding) {
13463
+ function unmounted$1(el, binding) {
13000
13464
  var _el$_onResize;
13001
13465
 
13002
13466
  if (!((_el$_onResize = el._onResize) != null && _el$_onResize[binding.instance.$.uid])) return;
@@ -13009,11 +13473,11 @@ function unmounted$2(el, binding) {
13009
13473
  }
13010
13474
 
13011
13475
  const Resize = {
13012
- mounted: mounted$2,
13013
- unmounted: unmounted$2
13476
+ mounted: mounted$1,
13477
+ unmounted: unmounted$1
13014
13478
  };
13015
13479
 
13016
- function mounted$1(el, binding) {
13480
+ function mounted(el, binding) {
13017
13481
  var _binding$modifiers;
13018
13482
 
13019
13483
  const {
@@ -13036,7 +13500,7 @@ function mounted$1(el, binding) {
13036
13500
  };
13037
13501
  }
13038
13502
 
13039
- function unmounted$1(el, binding) {
13503
+ function unmounted(el, binding) {
13040
13504
  var _el$_onScroll;
13041
13505
 
13042
13506
  if (!((_el$_onScroll = el._onScroll) != null && _el$_onScroll[binding.instance.$.uid])) return;
@@ -13051,136 +13515,14 @@ function unmounted$1(el, binding) {
13051
13515
 
13052
13516
  function updated(el, binding) {
13053
13517
  if (binding.value === binding.oldValue) return;
13054
- unmounted$1(el, binding);
13055
- mounted$1(el, binding);
13518
+ unmounted(el, binding);
13519
+ mounted(el, binding);
13056
13520
  }
13057
13521
 
13058
13522
  const Scroll = {
13059
- mounted: mounted$1,
13060
- unmounted: unmounted$1,
13061
- updated
13062
- };
13063
-
13064
- // Types
13065
-
13066
- const handleGesture = wrapper => {
13067
- const {
13068
- touchstartX,
13069
- touchendX,
13070
- touchstartY,
13071
- touchendY
13072
- } = wrapper;
13073
- const dirRatio = 0.5;
13074
- const minDistance = 16;
13075
- wrapper.offsetX = touchendX - touchstartX;
13076
- wrapper.offsetY = touchendY - touchstartY;
13077
-
13078
- if (Math.abs(wrapper.offsetY) < dirRatio * Math.abs(wrapper.offsetX)) {
13079
- wrapper.left && touchendX < touchstartX - minDistance && wrapper.left(wrapper);
13080
- wrapper.right && touchendX > touchstartX + minDistance && wrapper.right(wrapper);
13081
- }
13082
-
13083
- if (Math.abs(wrapper.offsetX) < dirRatio * Math.abs(wrapper.offsetY)) {
13084
- wrapper.up && touchendY < touchstartY - minDistance && wrapper.up(wrapper);
13085
- wrapper.down && touchendY > touchstartY + minDistance && wrapper.down(wrapper);
13086
- }
13087
- };
13088
-
13089
- function touchstart(event, wrapper) {
13090
- var _wrapper$start;
13091
-
13092
- const touch = event.changedTouches[0];
13093
- wrapper.touchstartX = touch.clientX;
13094
- wrapper.touchstartY = touch.clientY;
13095
- (_wrapper$start = wrapper.start) == null ? void 0 : _wrapper$start.call(wrapper, { ...event,
13096
- ...wrapper
13097
- });
13098
- }
13099
-
13100
- function touchend(event, wrapper) {
13101
- var _wrapper$end;
13102
-
13103
- const touch = event.changedTouches[0];
13104
- wrapper.touchendX = touch.clientX;
13105
- wrapper.touchendY = touch.clientY;
13106
- (_wrapper$end = wrapper.end) == null ? void 0 : _wrapper$end.call(wrapper, { ...event,
13107
- ...wrapper
13108
- });
13109
- handleGesture(wrapper);
13110
- }
13111
-
13112
- function touchmove(event, wrapper) {
13113
- var _wrapper$move;
13114
-
13115
- const touch = event.changedTouches[0];
13116
- wrapper.touchmoveX = touch.clientX;
13117
- wrapper.touchmoveY = touch.clientY;
13118
- (_wrapper$move = wrapper.move) == null ? void 0 : _wrapper$move.call(wrapper, { ...event,
13119
- ...wrapper
13120
- });
13121
- }
13122
-
13123
- function createHandlers() {
13124
- let value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
13125
- const wrapper = {
13126
- touchstartX: 0,
13127
- touchstartY: 0,
13128
- touchendX: 0,
13129
- touchendY: 0,
13130
- touchmoveX: 0,
13131
- touchmoveY: 0,
13132
- offsetX: 0,
13133
- offsetY: 0,
13134
- left: value.left,
13135
- right: value.right,
13136
- up: value.up,
13137
- down: value.down,
13138
- start: value.start,
13139
- move: value.move,
13140
- end: value.end
13141
- };
13142
- return {
13143
- touchstart: e => touchstart(e, wrapper),
13144
- touchend: e => touchend(e, wrapper),
13145
- touchmove: e => touchmove(e, wrapper)
13146
- };
13147
- }
13148
-
13149
- function mounted(el, binding) {
13150
- var _value$options, _binding$instance, _target$_touchHandler;
13151
-
13152
- const value = binding.value;
13153
- const target = value != null && value.parent ? el.parentElement : el;
13154
- const options = (_value$options = value == null ? void 0 : value.options) != null ? _value$options : {
13155
- passive: true
13156
- };
13157
- const uid = (_binding$instance = binding.instance) == null ? void 0 : _binding$instance.$.uid; // TODO: use custom uid generator
13158
-
13159
- if (!target || !uid) return;
13160
- const handlers = createHandlers(binding.value);
13161
- target._touchHandlers = (_target$_touchHandler = target._touchHandlers) != null ? _target$_touchHandler : Object.create(null);
13162
- target._touchHandlers[uid] = handlers;
13163
- keys(handlers).forEach(eventName => {
13164
- target.addEventListener(eventName, handlers[eventName], options);
13165
- });
13166
- }
13167
-
13168
- function unmounted(el, binding) {
13169
- var _binding$value, _binding$instance2;
13170
-
13171
- const target = (_binding$value = binding.value) != null && _binding$value.parent ? el.parentElement : el;
13172
- const uid = (_binding$instance2 = binding.instance) == null ? void 0 : _binding$instance2.$.uid;
13173
- if (!(target != null && target._touchHandlers) || !uid) return;
13174
- const handlers = target._touchHandlers[uid];
13175
- keys(handlers).forEach(eventName => {
13176
- target.removeEventListener(eventName, handlers[eventName]);
13177
- });
13178
- delete target._touchHandlers[uid];
13179
- }
13180
-
13181
- const Touch = {
13182
13523
  mounted,
13183
- unmounted
13524
+ unmounted,
13525
+ updated
13184
13526
  };
13185
13527
 
13186
13528
  var directives = /*#__PURE__*/Object.freeze({
@@ -13319,7 +13661,7 @@ const createVuetify = function () {
13319
13661
  ...options
13320
13662
  });
13321
13663
  };
13322
- const version = "3.0.0-next-20220112.0";
13664
+ const version = "3.0.0-next-20220128.0";
13323
13665
 
13324
13666
  export { components, createVuetify, directives, provideRtl, useDisplay, useLayout, useRtl, useTheme, version };
13325
13667
  //# sourceMappingURL=vuetify.esm.js.map