vuetify 3.7.0 → 3.7.2

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 (191) hide show
  1. package/dist/json/attributes.json +172 -172
  2. package/dist/json/importMap-labs.json +8 -8
  3. package/dist/json/importMap.json +160 -160
  4. package/dist/json/web-types.json +230 -219
  5. package/dist/vuetify-labs.css +1941 -1926
  6. package/dist/vuetify-labs.d.ts +4266 -2397
  7. package/dist/vuetify-labs.esm.js +107 -111
  8. package/dist/vuetify-labs.esm.js.map +1 -1
  9. package/dist/vuetify-labs.js +107 -111
  10. package/dist/vuetify-labs.min.css +2 -2
  11. package/dist/vuetify.css +1521 -1506
  12. package/dist/vuetify.d.ts +1282 -901
  13. package/dist/vuetify.esm.js +79 -54
  14. package/dist/vuetify.esm.js.map +1 -1
  15. package/dist/vuetify.js +79 -54
  16. package/dist/vuetify.js.map +1 -1
  17. package/dist/vuetify.min.css +2 -2
  18. package/dist/vuetify.min.js +1087 -1086
  19. package/dist/vuetify.min.js.map +1 -1
  20. package/lib/blueprints/index.d.mts +4 -1
  21. package/lib/blueprints/md1.d.mts +4 -1
  22. package/lib/blueprints/md2.d.mts +4 -1
  23. package/lib/blueprints/md3.d.mts +4 -1
  24. package/lib/components/VAlert/index.d.mts +14 -11
  25. package/lib/components/VAppBar/index.d.mts +22 -19
  26. package/lib/components/VAutocomplete/index.d.mts +158 -110
  27. package/lib/components/VAvatar/VAvatar.css +1 -1
  28. package/lib/components/VAvatar/_variables.scss +1 -1
  29. package/lib/components/VAvatar/index.d.mts +8 -5
  30. package/lib/components/VBadge/index.d.mts +8 -5
  31. package/lib/components/VBanner/index.d.mts +18 -15
  32. package/lib/components/VBottomNavigation/index.d.mts +4 -4
  33. package/lib/components/VBottomSheet/index.d.mts +11 -11
  34. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs +3 -5
  35. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs.map +1 -1
  36. package/lib/components/VBreadcrumbs/index.d.mts +8 -5
  37. package/lib/components/VBtn/VBtn.mjs +3 -4
  38. package/lib/components/VBtn/VBtn.mjs.map +1 -1
  39. package/lib/components/VBtn/index.d.mts +18 -15
  40. package/lib/components/VBtnGroup/index.d.mts +4 -4
  41. package/lib/components/VBtnToggle/index.d.mts +4 -4
  42. package/lib/components/VCard/VCard.mjs +3 -4
  43. package/lib/components/VCard/VCard.mjs.map +1 -1
  44. package/lib/components/VCard/index.d.mts +18 -15
  45. package/lib/components/VCarousel/index.d.mts +17 -14
  46. package/lib/components/VCheckbox/index.d.mts +8 -5
  47. package/lib/components/VChip/VChip.mjs +2 -3
  48. package/lib/components/VChip/VChip.mjs.map +1 -1
  49. package/lib/components/VChip/index.d.mts +12 -9
  50. package/lib/components/VChipGroup/index.d.mts +8 -5
  51. package/lib/components/VColorPicker/index.d.mts +22 -22
  52. package/lib/components/VCombobox/index.d.mts +158 -110
  53. package/lib/components/VDataTable/index.d.mts +18 -15
  54. package/lib/components/VDatePicker/index.d.mts +16 -13
  55. package/lib/components/VDialog/VDialog.css +4 -1
  56. package/lib/components/VDialog/VDialog.mjs +3 -2
  57. package/lib/components/VDialog/VDialog.mjs.map +1 -1
  58. package/lib/components/VDialog/VDialog.sass +2 -1
  59. package/lib/components/VDialog/index.d.mts +89 -50
  60. package/lib/components/VEmptyState/index.d.mts +12 -9
  61. package/lib/components/VExpansionPanel/index.d.mts +8 -5
  62. package/lib/components/VFab/index.d.mts +22 -19
  63. package/lib/components/VField/index.d.mts +4 -1
  64. package/lib/components/VFileInput/index.d.mts +34 -7
  65. package/lib/components/VFooter/index.d.mts +4 -4
  66. package/lib/components/VForm/index.d.mts +96 -3
  67. package/lib/components/VIcon/index.d.mts +8 -5
  68. package/lib/components/VInfiniteScroll/VInfiniteScroll.css +13 -1
  69. package/lib/components/VInfiniteScroll/VInfiniteScroll.mjs +6 -8
  70. package/lib/components/VInfiniteScroll/VInfiniteScroll.mjs.map +1 -1
  71. package/lib/components/VInfiniteScroll/VInfiniteScroll.sass +10 -1
  72. package/lib/components/VInput/index.d.mts +6 -3
  73. package/lib/components/VItemGroup/index.d.mts +4 -4
  74. package/lib/components/VLabel/index.d.mts +4 -4
  75. package/lib/components/VList/VList.mjs +4 -2
  76. package/lib/components/VList/VList.mjs.map +1 -1
  77. package/lib/components/VList/VListItem.mjs +8 -6
  78. package/lib/components/VList/VListItem.mjs.map +1 -1
  79. package/lib/components/VList/index.d.mts +84 -24
  80. package/lib/components/VMenu/index.d.mts +92 -50
  81. package/lib/components/VMessages/index.d.mts +8 -8
  82. package/lib/components/VNavigationDrawer/index.d.mts +18 -18
  83. package/lib/components/VOtpInput/index.d.mts +4 -4
  84. package/lib/components/VOverlay/index.d.mts +11 -11
  85. package/lib/components/VPagination/index.d.mts +8 -5
  86. package/lib/components/VProgressCircular/index.d.mts +4 -4
  87. package/lib/components/VRadio/index.d.mts +4 -1
  88. package/lib/components/VRadioGroup/index.d.mts +6 -3
  89. package/lib/components/VRangeSlider/index.d.mts +12 -9
  90. package/lib/components/VRating/index.d.mts +4 -1
  91. package/lib/components/VSelect/index.d.mts +158 -110
  92. package/lib/components/VSelectionControl/index.d.mts +4 -1
  93. package/lib/components/VSelectionControlGroup/index.d.mts +4 -1
  94. package/lib/components/VSheet/index.d.mts +10 -10
  95. package/lib/components/VSkeletonLoader/index.d.mts +4 -4
  96. package/lib/components/VSlideGroup/index.d.mts +4 -1
  97. package/lib/components/VSlider/index.d.mts +12 -9
  98. package/lib/components/VSnackbar/index.d.mts +95 -62
  99. package/lib/components/VSpeedDial/index.d.mts +11 -11
  100. package/lib/components/VStepper/index.d.mts +12 -12
  101. package/lib/components/VSwitch/index.d.mts +6 -3
  102. package/lib/components/VSystemBar/index.d.mts +4 -4
  103. package/lib/components/VTabs/index.d.mts +69 -54
  104. package/lib/components/VTextField/index.d.mts +47 -14
  105. package/lib/components/VTextarea/index.d.mts +38 -11
  106. package/lib/components/VTimeline/index.d.mts +8 -5
  107. package/lib/components/VToolbar/index.d.mts +4 -4
  108. package/lib/components/VTooltip/index.d.mts +78 -45
  109. package/lib/components/VWindow/index.d.mts +10 -7
  110. package/lib/components/index.d.mts +1204 -814
  111. package/lib/components/index.mjs +1 -1
  112. package/lib/components/index.mjs.map +1 -1
  113. package/lib/composables/directiveComponent.mjs +1 -1
  114. package/lib/composables/directiveComponent.mjs.map +1 -1
  115. package/lib/composables/forwardRefs.mjs +2 -0
  116. package/lib/composables/forwardRefs.mjs.map +1 -1
  117. package/lib/composables/icons.mjs.map +1 -1
  118. package/lib/composables/index.mjs.map +1 -1
  119. package/lib/composables/nested/nested.mjs +18 -6
  120. package/lib/composables/nested/nested.mjs.map +1 -1
  121. package/lib/composables/nested/openStrategies.mjs +2 -4
  122. package/lib/composables/nested/openStrategies.mjs.map +1 -1
  123. package/lib/composables/router.mjs +19 -9
  124. package/lib/composables/router.mjs.map +1 -1
  125. package/lib/directives/tooltip/index.mjs +1 -1
  126. package/lib/directives/tooltip/index.mjs.map +1 -1
  127. package/lib/entry-bundler.mjs +1 -1
  128. package/lib/framework.mjs +1 -1
  129. package/lib/iconsets/fa-svg.d.mts +4 -1
  130. package/lib/iconsets/fa.d.mts +4 -1
  131. package/lib/iconsets/fa4.d.mts +4 -1
  132. package/lib/iconsets/md.d.mts +4 -1
  133. package/lib/iconsets/mdi-svg.d.mts +4 -1
  134. package/lib/iconsets/mdi.d.mts +4 -1
  135. package/lib/index.d.mts +82 -88
  136. package/lib/labs/VDateInput/index.d.mts +16 -13
  137. package/lib/labs/VNumberInput/VNumberInput.mjs +7 -1
  138. package/lib/labs/VNumberInput/VNumberInput.mjs.map +1 -1
  139. package/lib/labs/VNumberInput/index.d.mts +2212 -730
  140. package/lib/labs/VPicker/index.d.mts +10 -10
  141. package/lib/labs/VSnackbarQueue/index.d.mts +128 -95
  142. package/lib/labs/VStepperVertical/index.d.mts +10 -7
  143. package/lib/labs/VTimePicker/VTimePicker.mjs +1 -1
  144. package/lib/labs/VTimePicker/VTimePicker.mjs.map +1 -1
  145. package/lib/labs/VTimePicker/VTimePickerControls.mjs +2 -2
  146. package/lib/labs/VTimePicker/VTimePickerControls.mjs.map +1 -1
  147. package/lib/labs/VTimePicker/index.d.mts +26 -26
  148. package/lib/labs/VTimePicker/util.mjs +5 -0
  149. package/lib/labs/VTimePicker/util.mjs.map +1 -0
  150. package/lib/labs/VTreeview/VTreeview.mjs +3 -12
  151. package/lib/labs/VTreeview/VTreeview.mjs.map +1 -1
  152. package/lib/labs/VTreeview/VTreeviewChildren.mjs +1 -1
  153. package/lib/labs/VTreeview/VTreeviewChildren.mjs.map +1 -1
  154. package/lib/labs/VTreeview/VTreeviewItem.mjs +9 -20
  155. package/lib/labs/VTreeview/VTreeviewItem.mjs.map +1 -1
  156. package/lib/labs/VTreeview/index.d.mts +44 -41
  157. package/lib/labs/components.d.mts +2515 -1000
  158. package/lib/util/helpers.mjs +7 -3
  159. package/lib/util/helpers.mjs.map +1 -1
  160. package/package.json +7 -13
  161. package/lib/components/VDatePicker/util/createNativeLocaleFormatter.mjs +0 -21
  162. package/lib/components/VDatePicker/util/createNativeLocaleFormatter.mjs.map +0 -1
  163. package/lib/components/VDatePicker/util/eventHelpers.mjs +0 -22
  164. package/lib/components/VDatePicker/util/eventHelpers.mjs.map +0 -1
  165. package/lib/components/VDatePicker/util/index.mjs +0 -9
  166. package/lib/components/VDatePicker/util/index.mjs.map +0 -1
  167. package/lib/components/VDatePicker/util/isDateAllowed.mjs +0 -7
  168. package/lib/components/VDatePicker/util/isDateAllowed.mjs.map +0 -1
  169. package/lib/components/VDatePicker/util/monthChange.mjs +0 -18
  170. package/lib/components/VDatePicker/util/monthChange.mjs.map +0 -1
  171. package/lib/components/VDatePicker/util/pad.mjs +0 -21
  172. package/lib/components/VDatePicker/util/pad.mjs.map +0 -1
  173. package/lib/components/VDatePicker/util/sanitizeDateString.mjs +0 -12
  174. package/lib/components/VDatePicker/util/sanitizeDateString.mjs.map +0 -1
  175. package/lib/components/VTreeview/VTreeview.mjs +0 -350
  176. package/lib/components/VTreeview/VTreeview.mjs.map +0 -1
  177. package/lib/components/VTreeview/VTreeview.sass +0 -128
  178. package/lib/components/VTreeview/VTreeviewNode.mjs +0 -321
  179. package/lib/components/VTreeview/VTreeviewNode.mjs.map +0 -1
  180. package/lib/components/VTreeview/_mixins.sass +0 -18
  181. package/lib/components/VTreeview/_variables.scss +0 -10
  182. package/lib/components/VTreeview/index.mjs +0 -10
  183. package/lib/components/VTreeview/index.mjs.map +0 -1
  184. package/lib/components/VTreeview/util/filterTreeItems.mjs +0 -25
  185. package/lib/components/VTreeview/util/filterTreeItems.mjs.map +0 -1
  186. package/lib/services/goto/easing-patterns.mjs +0 -27
  187. package/lib/services/goto/easing-patterns.mjs.map +0 -1
  188. package/lib/services/goto/index.mjs +0 -73
  189. package/lib/services/goto/index.mjs.map +0 -1
  190. package/lib/services/goto/util.mjs +0 -39
  191. package/lib/services/goto/util.mjs.map +0 -1
package/dist/vuetify.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.7.0
2
+ * Vuetify v3.7.2
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -95,6 +95,10 @@
95
95
  function isObject(obj) {
96
96
  return obj !== null && typeof obj === 'object' && !Array.isArray(obj);
97
97
  }
98
+ function isPlainObject(obj) {
99
+ let proto;
100
+ return obj !== null && typeof obj === 'object' && ((proto = Object.getPrototypeOf(obj)) === Object.prototype || proto === null);
101
+ }
98
102
  function refElement(obj) {
99
103
  if (obj && '$el' in obj) {
100
104
  const el = obj.$el;
@@ -284,12 +288,12 @@
284
288
  const targetProperty = target[key];
285
289
 
286
290
  // Only continue deep merging if
287
- // both properties are objects
288
- if (isObject(sourceProperty) && isObject(targetProperty)) {
291
+ // both properties are plain objects
292
+ if (isPlainObject(sourceProperty) && isPlainObject(targetProperty)) {
289
293
  out[key] = mergeDeep(sourceProperty, targetProperty, arrayFn);
290
294
  continue;
291
295
  }
292
- if (Array.isArray(sourceProperty) && Array.isArray(targetProperty) && arrayFn) {
296
+ if (arrayFn && Array.isArray(sourceProperty) && Array.isArray(targetProperty)) {
293
297
  out[key] = arrayFn(sourceProperty, targetProperty);
294
298
  continue;
295
299
  }
@@ -5389,10 +5393,14 @@
5389
5393
  return isLink?.value || hasEvent(attrs, 'click') || hasEvent(props, 'click');
5390
5394
  });
5391
5395
  if (typeof RouterLink === 'string' || !('useLink' in RouterLink)) {
5396
+ const href = vue.toRef(props, 'href');
5392
5397
  return {
5393
5398
  isLink,
5394
5399
  isClickable,
5395
- href: vue.toRef(props, 'href')
5400
+ href,
5401
+ linkProps: vue.reactive({
5402
+ href
5403
+ })
5396
5404
  };
5397
5405
  }
5398
5406
  // vue-router useLink `to` prop needs to be reactive and useLink will crash if undefined
@@ -5404,18 +5412,24 @@
5404
5412
  // Actual link needs to be undefined when to prop is not used
5405
5413
  const link = vue.computed(() => props.to ? routerLink : undefined);
5406
5414
  const route = useRoute();
5415
+ const isActive = vue.computed(() => {
5416
+ if (!link.value) return false;
5417
+ if (!props.exact) return link.value.isActive?.value ?? false;
5418
+ if (!route.value) return link.value.isExactActive?.value ?? false;
5419
+ return link.value.isExactActive?.value && deepEqual(link.value.route.value.query, route.value.query);
5420
+ });
5421
+ const href = vue.computed(() => props.to ? link.value?.route.value.href : props.href);
5407
5422
  return {
5408
5423
  isLink,
5409
5424
  isClickable,
5425
+ isActive,
5410
5426
  route: link.value?.route,
5411
5427
  navigate: link.value?.navigate,
5412
- isActive: vue.computed(() => {
5413
- if (!link.value) return false;
5414
- if (!props.exact) return link.value.isActive?.value ?? false;
5415
- if (!route.value) return link.value.isExactActive?.value ?? false;
5416
- return link.value.isExactActive?.value && deepEqual(link.value.route.value.query, route.value.query);
5417
- }),
5418
- href: vue.computed(() => props.to ? link.value?.route.value.href : props.href)
5428
+ href,
5429
+ linkProps: vue.reactive({
5430
+ href,
5431
+ 'aria-current': vue.computed(() => isActive.value ? 'page' : undefined)
5432
+ })
5419
5433
  };
5420
5434
  }
5421
5435
  const makeRouterProps = propsFactory({
@@ -5890,7 +5904,7 @@
5890
5904
  const hasPrepend = !!(props.prependIcon || slots.prepend);
5891
5905
  const hasAppend = !!(props.appendIcon || slots.append);
5892
5906
  const hasIcon = !!(props.icon && props.icon !== true);
5893
- return vue.withDirectives(vue.createVNode(Tag, {
5907
+ return vue.withDirectives(vue.createVNode(Tag, vue.mergeProps({
5894
5908
  "type": Tag === 'a' ? undefined : 'button',
5895
5909
  "class": ['v-btn', group?.selectedClass.value, {
5896
5910
  'v-btn--active': isActive.value,
@@ -5907,11 +5921,10 @@
5907
5921
  "style": [colorStyles.value, dimensionStyles.value, locationStyles.value, sizeStyles.value, props.style],
5908
5922
  "aria-busy": props.loading ? true : undefined,
5909
5923
  "disabled": isDisabled.value || undefined,
5910
- "href": link.href.value,
5911
5924
  "tabindex": props.loading || props.readonly ? -1 : undefined,
5912
5925
  "onClick": onClick,
5913
5926
  "value": valueAttr.value
5914
- }, {
5927
+ }, link.linkProps), {
5915
5928
  default: () => [genOverlays(true, 'v-btn'), !props.icon && hasPrepend && vue.createVNode("span", {
5916
5929
  "key": "prepend",
5917
5930
  "class": "v-btn__prepend"
@@ -8174,7 +8187,7 @@
8174
8187
  const hasPrependMedia = !!(props.prependIcon || props.prependAvatar);
8175
8188
  const hasPrepend = !!(hasPrependMedia || slots.prepend);
8176
8189
  const hasColor = !group || group.isSelected.value;
8177
- return isActive.value && vue.withDirectives(vue.createVNode(Tag, {
8190
+ return isActive.value && vue.withDirectives(vue.createVNode(Tag, vue.mergeProps({
8178
8191
  "class": ['v-chip', {
8179
8192
  'v-chip--disabled': props.disabled,
8180
8193
  'v-chip--label': props.label,
@@ -8185,11 +8198,10 @@
8185
8198
  "style": [hasColor ? colorStyles.value : undefined, props.style],
8186
8199
  "disabled": props.disabled || undefined,
8187
8200
  "draggable": props.draggable,
8188
- "href": link.href.value,
8189
8201
  "tabindex": isClickable.value ? 0 : undefined,
8190
8202
  "onClick": onClick,
8191
8203
  "onKeydown": isClickable.value && !isLink.value && onKeyDown
8192
- }, {
8204
+ }, link.linkProps), {
8193
8205
  default: () => [genOverlays(isClickable.value, 'v-chip'), hasFilter && vue.createVNode(VExpandXTransition, {
8194
8206
  "key": "filter"
8195
8207
  }, {
@@ -8434,7 +8446,6 @@
8434
8446
  return strategy;
8435
8447
  };
8436
8448
 
8437
- // Utilities
8438
8449
  const singleOpenStrategy = {
8439
8450
  open: _ref => {
8440
8451
  let {
@@ -8468,11 +8479,11 @@
8468
8479
  parents
8469
8480
  } = _ref2;
8470
8481
  if (value) {
8471
- let parent = vue.toRaw(parents.get(id));
8482
+ let parent = parents.get(id);
8472
8483
  opened.add(id);
8473
8484
  while (parent != null && parent !== id) {
8474
8485
  opened.add(parent);
8475
- parent = vue.toRaw(parents.get(parent));
8486
+ parent = parents.get(parent);
8476
8487
  }
8477
8488
  return opened;
8478
8489
  } else {
@@ -8714,7 +8725,8 @@
8714
8725
  opened: vue.ref(new Set()),
8715
8726
  activated: vue.ref(new Set()),
8716
8727
  selected: vue.ref(new Map()),
8717
- selectedValues: vue.ref([])
8728
+ selectedValues: vue.ref([]),
8729
+ getPath: () => []
8718
8730
  }
8719
8731
  };
8720
8732
  const makeNestedProps = propsFactory({
@@ -8732,7 +8744,7 @@
8732
8744
  let isUnmounted = false;
8733
8745
  const children = vue.ref(new Map());
8734
8746
  const parents = vue.ref(new Map());
8735
- const opened = useProxiedModel(props, 'opened', props.opened, v => new Set(vue.toRaw(v)), v => [...v.values()]);
8747
+ const opened = useProxiedModel(props, 'opened', props.opened, v => new Set(v), v => [...v.values()]);
8736
8748
  const activeStrategy = vue.computed(() => {
8737
8749
  if (typeof props.activeStrategy === 'object') return props.activeStrategy;
8738
8750
  if (typeof props.activeStrategy === 'function') return props.activeStrategy(props.mandatory);
@@ -8792,6 +8804,7 @@
8792
8804
  return path;
8793
8805
  }
8794
8806
  const vm = getCurrentInstance('nested');
8807
+ const nodeIds = new Set();
8795
8808
  const nested = {
8796
8809
  id: vue.shallowRef(),
8797
8810
  root: {
@@ -8808,6 +8821,14 @@
8808
8821
  return arr;
8809
8822
  }),
8810
8823
  register: (id, parentId, isGroup) => {
8824
+ if (nodeIds.has(id)) {
8825
+ const path = getPath(id).join(' -> ');
8826
+ const newPath = getPath(parentId).concat(id).join(' -> ');
8827
+ consoleError(`Multiple nodes with the same ID\n\t${path}\n\t${newPath}`);
8828
+ return;
8829
+ } else {
8830
+ nodeIds.add(id);
8831
+ }
8811
8832
  parentId && id !== parentId && parents.value.set(id, parentId);
8812
8833
  isGroup && children.value.set(id, []);
8813
8834
  if (parentId != null) {
@@ -8816,6 +8837,7 @@
8816
8837
  },
8817
8838
  unregister: id => {
8818
8839
  if (isUnmounted) return;
8840
+ nodeIds.delete(id);
8819
8841
  children.value.delete(id);
8820
8842
  const parent = parents.value.get(id);
8821
8843
  if (parent) {
@@ -8892,7 +8914,8 @@
8892
8914
  newActivated && (activated.value = newActivated);
8893
8915
  },
8894
8916
  children,
8895
- parents
8917
+ parents,
8918
+ getPath
8896
8919
  }
8897
8920
  };
8898
8921
  vue.provide(VNestedSymbol, nested);
@@ -8905,9 +8928,9 @@
8905
8928
  const item = {
8906
8929
  ...parent,
8907
8930
  id: computedId,
8908
- open: (open, e) => parent.root.open(vue.toRaw(computedId.value), open, e),
8931
+ open: (open, e) => parent.root.open(computedId.value, open, e),
8909
8932
  openOnSelect: (open, e) => parent.root.openOnSelect(computedId.value, open, e),
8910
- isOpen: vue.computed(() => parent.root.opened.value.has(vue.toRaw(computedId.value))),
8933
+ isOpen: vue.computed(() => parent.root.opened.value.has(computedId.value)),
8911
8934
  parent: vue.computed(() => parent.root.parents.value.get(computedId.value)),
8912
8935
  activate: (activated, e) => parent.root.activate(computedId.value, activated, e),
8913
8936
  isActivated: vue.computed(() => parent.root.activated.value.has(vue.toRaw(computedId.value))),
@@ -9137,7 +9160,8 @@
9137
9160
  isGroupActivator,
9138
9161
  root,
9139
9162
  parent,
9140
- openOnSelect
9163
+ openOnSelect,
9164
+ id: uid
9141
9165
  } = useNestedItem(id, false);
9142
9166
  const list = useList();
9143
9167
  const isActive = vue.computed(() => props.active !== false && (props.active || link.isActive?.value || (root.activatable.value ? isActivated.value : isSelected.value)));
@@ -9221,7 +9245,7 @@
9221
9245
  if (props.activeColor) {
9222
9246
  deprecate('active-color', ['color', 'base-color']);
9223
9247
  }
9224
- return vue.withDirectives(vue.createVNode(Tag, {
9248
+ return vue.withDirectives(vue.createVNode(Tag, vue.mergeProps({
9225
9249
  "class": ['v-list-item', {
9226
9250
  'v-list-item--active': isActive.value,
9227
9251
  'v-list-item--disabled': props.disabled,
@@ -9232,11 +9256,10 @@
9232
9256
  [`${props.activeClass}`]: props.activeClass && isActive.value
9233
9257
  }, themeClasses.value, borderClasses.value, colorClasses.value, densityClasses.value, elevationClasses.value, lineClasses.value, roundedClasses.value, variantClasses.value, props.class],
9234
9258
  "style": [colorStyles.value, dimensionStyles.value, props.style],
9235
- "href": link.href.value,
9236
9259
  "tabindex": isClickable.value ? list ? -2 : 0 : undefined,
9237
9260
  "onClick": onClick,
9238
9261
  "onKeydown": isClickable.value && !isLink.value && onKeyDown
9239
- }, {
9262
+ }, link.linkProps), {
9240
9263
  default: () => [genOverlays(isClickable.value || isActive.value, 'v-list-item'), hasPrepend && vue.createVNode("div", {
9241
9264
  "key": "prepend",
9242
9265
  "class": "v-list-item__prepend"
@@ -9323,7 +9346,9 @@
9323
9346
  isGroupActivator,
9324
9347
  isSelected,
9325
9348
  list,
9326
- select
9349
+ select,
9350
+ root,
9351
+ id: uid
9327
9352
  };
9328
9353
  }
9329
9354
  });
@@ -9724,7 +9749,8 @@
9724
9749
  children,
9725
9750
  open,
9726
9751
  parents,
9727
- select
9752
+ select,
9753
+ getPath
9728
9754
  } = useNested(props);
9729
9755
  const lineClasses = vue.computed(() => props.lines ? `v-list--${props.lines}-line` : undefined);
9730
9756
  const activeColor = vue.toRef(props, 'activeColor');
@@ -9816,7 +9842,8 @@
9816
9842
  select,
9817
9843
  focus,
9818
9844
  children,
9819
- parents
9845
+ parents,
9846
+ getPath
9820
9847
  };
9821
9848
  }
9822
9849
  });
@@ -11268,6 +11295,8 @@
11268
11295
 
11269
11296
  /** Omit properties starting with P */
11270
11297
 
11298
+ /** Omit keyof $props from T */
11299
+
11271
11300
  function getDescriptor(obj, key) {
11272
11301
  let currentObj = obj;
11273
11302
  while (currentObj) {
@@ -13923,6 +13952,7 @@
13923
13952
  props: makeVDialogProps(),
13924
13953
  emits: {
13925
13954
  'update:modelValue': value => true,
13955
+ afterEnter: () => true,
13926
13956
  afterLeave: () => true
13927
13957
  },
13928
13958
  setup(props, _ref) {
@@ -13964,6 +13994,7 @@
13964
13994
  });
13965
13995
  }
13966
13996
  function onAfterEnter() {
13997
+ emit('afterEnter');
13967
13998
  if (overlay.value?.contentEl && !overlay.value.contentEl.contains(document.activeElement)) {
13968
13999
  overlay.value.contentEl.focus({
13969
14000
  preventScroll: true
@@ -13984,8 +14015,7 @@
13984
14015
  useRender(() => {
13985
14016
  const overlayProps = VOverlay.filterProps(props);
13986
14017
  const activatorProps = vue.mergeProps({
13987
- 'aria-haspopup': 'dialog',
13988
- 'aria-expanded': String(isActive.value)
14018
+ 'aria-haspopup': 'dialog'
13989
14019
  }, props.activatorProps);
13990
14020
  const contentProps = vue.mergeProps({
13991
14021
  tabindex: -1
@@ -14116,12 +14146,10 @@
14116
14146
  "style": [textColorStyles.value, props.style],
14117
14147
  "aria-current": isActive.value ? 'page' : undefined
14118
14148
  }, {
14119
- default: () => [!link.isLink.value ? slots.default?.() ?? props.title : vue.createVNode("a", {
14149
+ default: () => [!link.isLink.value ? slots.default?.() ?? props.title : vue.createVNode("a", vue.mergeProps({
14120
14150
  "class": "v-breadcrumbs-item--link",
14121
- "href": link.href.value,
14122
- "aria-current": isActive.value ? 'page' : undefined,
14123
14151
  "onClick": link.navigate
14124
- }, [slots.default?.() ?? props.title])]
14152
+ }, link.linkProps), [slots.default?.() ?? props.title])]
14125
14153
  });
14126
14154
  });
14127
14155
  return {};
@@ -14497,7 +14525,7 @@
14497
14525
  const hasImage = !!(slots.image || props.image);
14498
14526
  const hasCardItem = hasHeader || hasPrepend || hasAppend;
14499
14527
  const hasText = !!(slots.text || props.text != null);
14500
- return vue.withDirectives(vue.createVNode(Tag, {
14528
+ return vue.withDirectives(vue.createVNode(Tag, vue.mergeProps({
14501
14529
  "class": ['v-card', {
14502
14530
  'v-card--disabled': props.disabled,
14503
14531
  'v-card--flat': props.flat,
@@ -14505,10 +14533,9 @@
14505
14533
  'v-card--link': isClickable.value
14506
14534
  }, themeClasses.value, borderClasses.value, colorClasses.value, densityClasses.value, elevationClasses.value, loaderClasses.value, positionClasses.value, roundedClasses.value, variantClasses.value, props.class],
14507
14535
  "style": [colorStyles.value, dimensionStyles.value, locationStyles.value, props.style],
14508
- "href": link.href.value,
14509
14536
  "onClick": isClickable.value && link.navigate,
14510
14537
  "tabindex": props.disabled ? -1 : undefined
14511
- }, {
14538
+ }, link.linkProps), {
14512
14539
  default: () => [hasImage && vue.createVNode("div", {
14513
14540
  "key": "image",
14514
14541
  "class": "v-card__image"
@@ -23403,7 +23430,6 @@
23403
23430
  type: String,
23404
23431
  required: true
23405
23432
  },
23406
- rootRef: null,
23407
23433
  rootMargin: String
23408
23434
  },
23409
23435
  emits: {
@@ -23416,14 +23442,15 @@
23416
23442
  const {
23417
23443
  intersectionRef,
23418
23444
  isIntersecting
23419
- } = useIntersectionObserver(entries => {}, props.rootMargin ? {
23420
- rootMargin: props.rootMargin
23421
- } : undefined);
23445
+ } = useIntersectionObserver();
23422
23446
  vue.watch(isIntersecting, async val => {
23423
23447
  emit('intersect', props.side, val);
23424
23448
  });
23425
23449
  useRender(() => vue.createVNode("div", {
23426
23450
  "class": "v-infinite-scroll-intersect",
23451
+ "style": {
23452
+ '--v-infinite-margin-size': props.rootMargin
23453
+ },
23427
23454
  "ref": intersectionRef
23428
23455
  }, [vue.createTextVNode("\xA0")]));
23429
23456
  return {};
@@ -23574,17 +23601,15 @@
23574
23601
  }, {
23575
23602
  default: () => [vue.createVNode("div", {
23576
23603
  "class": "v-infinite-scroll__side"
23577
- }, [renderSide('start', startStatus.value)]), rootEl.value && hasStartIntersect && intersectMode && vue.createVNode(VInfiniteScrollIntersect, {
23604
+ }, [renderSide('start', startStatus.value)]), hasStartIntersect && intersectMode && vue.createVNode(VInfiniteScrollIntersect, {
23578
23605
  "key": "start",
23579
23606
  "side": "start",
23580
23607
  "onIntersect": handleIntersect,
23581
- "rootRef": rootEl.value,
23582
23608
  "rootMargin": margin.value
23583
- }, null), slots.default?.(), rootEl.value && hasEndIntersect && intersectMode && vue.createVNode(VInfiniteScrollIntersect, {
23609
+ }, null), slots.default?.(), hasEndIntersect && intersectMode && vue.createVNode(VInfiniteScrollIntersect, {
23584
23610
  "key": "end",
23585
23611
  "side": "end",
23586
23612
  "onIntersect": handleIntersect,
23587
- "rootRef": rootEl.value,
23588
23613
  "rootMargin": margin.value
23589
23614
  }, null), vue.createVNode("div", {
23590
23615
  "class": "v-infinite-scroll__side"
@@ -28048,7 +28073,7 @@
28048
28073
  const value = isObject(binding.value) ? binding.value : {};
28049
28074
 
28050
28075
  // Get the children from the props or directive value, or the element's children
28051
- const children = () => text ?? el.innerHTML;
28076
+ const children = () => text ?? el.textContent;
28052
28077
 
28053
28078
  // If vnode.ctx is the same as the instance, then we're bound to a plain element
28054
28079
  // and need to find the nearest parent component instance to inherit provides from
@@ -28106,7 +28131,7 @@
28106
28131
  const Tooltip = useDirectiveComponent(VTooltip, binding => {
28107
28132
  return {
28108
28133
  activator: 'parent',
28109
- location: binding.arg?.replace('-', ' ') ?? 'top',
28134
+ location: binding.arg?.replace('-', ' '),
28110
28135
  text: typeof binding.value === 'boolean' ? undefined : binding.value
28111
28136
  };
28112
28137
  });
@@ -28212,7 +28237,7 @@
28212
28237
  goTo
28213
28238
  };
28214
28239
  }
28215
- const version$1 = "3.7.0";
28240
+ const version$1 = "3.7.2";
28216
28241
  createVuetify$1.version = version$1;
28217
28242
 
28218
28243
  // Vue's inject() can only be used in setup
@@ -28237,7 +28262,7 @@
28237
28262
  ...options
28238
28263
  });
28239
28264
  };
28240
- const version = "3.7.0";
28265
+ const version = "3.7.2";
28241
28266
  createVuetify.version = version;
28242
28267
 
28243
28268
  exports.blueprints = index;