vuetify 3.7.1 → 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 (147) hide show
  1. package/dist/json/attributes.json +3 -3
  2. package/dist/json/importMap-labs.json +24 -24
  3. package/dist/json/importMap.json +124 -124
  4. package/dist/json/web-types.json +4 -4
  5. package/dist/vuetify-labs.css +2653 -2650
  6. package/dist/vuetify-labs.d.ts +1056 -999
  7. package/dist/vuetify-labs.esm.js +83 -99
  8. package/dist/vuetify-labs.esm.js.map +1 -1
  9. package/dist/vuetify-labs.js +83 -99
  10. package/dist/vuetify-labs.min.css +2 -2
  11. package/dist/vuetify.css +2736 -2733
  12. package/dist/vuetify.d.ts +1016 -959
  13. package/dist/vuetify.esm.js +62 -43
  14. package/dist/vuetify.esm.js.map +1 -1
  15. package/dist/vuetify.js +62 -43
  16. package/dist/vuetify.js.map +1 -1
  17. package/dist/vuetify.min.css +2 -2
  18. package/dist/vuetify.min.js +284 -284
  19. package/dist/vuetify.min.js.map +1 -1
  20. package/lib/components/VAlert/index.d.mts +10 -10
  21. package/lib/components/VAppBar/index.d.mts +18 -18
  22. package/lib/components/VAutocomplete/index.d.mts +112 -109
  23. package/lib/components/VAvatar/index.d.mts +4 -4
  24. package/lib/components/VBadge/index.d.mts +4 -4
  25. package/lib/components/VBanner/index.d.mts +14 -14
  26. package/lib/components/VBottomNavigation/index.d.mts +4 -4
  27. package/lib/components/VBottomSheet/index.d.mts +11 -11
  28. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs +3 -5
  29. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs.map +1 -1
  30. package/lib/components/VBreadcrumbs/index.d.mts +4 -4
  31. package/lib/components/VBtn/VBtn.mjs +3 -4
  32. package/lib/components/VBtn/VBtn.mjs.map +1 -1
  33. package/lib/components/VBtn/index.d.mts +14 -14
  34. package/lib/components/VBtnGroup/index.d.mts +4 -4
  35. package/lib/components/VBtnToggle/index.d.mts +4 -4
  36. package/lib/components/VCard/VCard.mjs +3 -4
  37. package/lib/components/VCard/VCard.mjs.map +1 -1
  38. package/lib/components/VCard/index.d.mts +14 -14
  39. package/lib/components/VCarousel/index.d.mts +13 -13
  40. package/lib/components/VCheckbox/index.d.mts +4 -4
  41. package/lib/components/VChip/VChip.mjs +2 -3
  42. package/lib/components/VChip/VChip.mjs.map +1 -1
  43. package/lib/components/VChip/index.d.mts +8 -8
  44. package/lib/components/VChipGroup/index.d.mts +4 -4
  45. package/lib/components/VColorPicker/index.d.mts +22 -22
  46. package/lib/components/VCombobox/index.d.mts +112 -109
  47. package/lib/components/VDataTable/index.d.mts +14 -14
  48. package/lib/components/VDatePicker/index.d.mts +12 -12
  49. package/lib/components/VDialog/VDialog.css +4 -1
  50. package/lib/components/VDialog/VDialog.mjs +1 -2
  51. package/lib/components/VDialog/VDialog.mjs.map +1 -1
  52. package/lib/components/VDialog/VDialog.sass +2 -1
  53. package/lib/components/VDialog/index.d.mts +50 -50
  54. package/lib/components/VEmptyState/index.d.mts +8 -8
  55. package/lib/components/VExpansionPanel/index.d.mts +4 -4
  56. package/lib/components/VFab/index.d.mts +18 -18
  57. package/lib/components/VFileInput/index.d.mts +6 -6
  58. package/lib/components/VFooter/index.d.mts +4 -4
  59. package/lib/components/VIcon/index.d.mts +4 -4
  60. package/lib/components/VInput/index.d.mts +2 -2
  61. package/lib/components/VItemGroup/index.d.mts +4 -4
  62. package/lib/components/VLabel/index.d.mts +4 -4
  63. package/lib/components/VList/VList.mjs +4 -2
  64. package/lib/components/VList/VList.mjs.map +1 -1
  65. package/lib/components/VList/VListItem.mjs +8 -6
  66. package/lib/components/VList/VListItem.mjs.map +1 -1
  67. package/lib/components/VList/index.d.mts +80 -23
  68. package/lib/components/VMenu/index.d.mts +50 -50
  69. package/lib/components/VMessages/index.d.mts +8 -8
  70. package/lib/components/VNavigationDrawer/index.d.mts +18 -18
  71. package/lib/components/VOtpInput/index.d.mts +4 -4
  72. package/lib/components/VOverlay/index.d.mts +11 -11
  73. package/lib/components/VPagination/index.d.mts +4 -4
  74. package/lib/components/VProgressCircular/index.d.mts +4 -4
  75. package/lib/components/VRadioGroup/index.d.mts +2 -2
  76. package/lib/components/VRangeSlider/index.d.mts +8 -8
  77. package/lib/components/VSelect/index.d.mts +112 -109
  78. package/lib/components/VSheet/index.d.mts +10 -10
  79. package/lib/components/VSkeletonLoader/index.d.mts +4 -4
  80. package/lib/components/VSlider/index.d.mts +8 -8
  81. package/lib/components/VSnackbar/index.d.mts +62 -62
  82. package/lib/components/VSpeedDial/index.d.mts +11 -11
  83. package/lib/components/VStepper/index.d.mts +12 -12
  84. package/lib/components/VSwitch/index.d.mts +2 -2
  85. package/lib/components/VSystemBar/index.d.mts +4 -4
  86. package/lib/components/VTabs/index.d.mts +53 -53
  87. package/lib/components/VTextField/index.d.mts +13 -13
  88. package/lib/components/VTextarea/index.d.mts +10 -10
  89. package/lib/components/VTimeline/index.d.mts +4 -4
  90. package/lib/components/VToolbar/index.d.mts +4 -4
  91. package/lib/components/VTooltip/index.d.mts +45 -45
  92. package/lib/components/VWindow/index.d.mts +6 -6
  93. package/lib/components/index.d.mts +867 -810
  94. package/lib/composables/directiveComponent.mjs +1 -1
  95. package/lib/composables/directiveComponent.mjs.map +1 -1
  96. package/lib/composables/nested/nested.mjs +18 -6
  97. package/lib/composables/nested/nested.mjs.map +1 -1
  98. package/lib/composables/nested/openStrategies.mjs +2 -4
  99. package/lib/composables/nested/openStrategies.mjs.map +1 -1
  100. package/lib/composables/router.mjs +19 -9
  101. package/lib/composables/router.mjs.map +1 -1
  102. package/lib/directives/tooltip/index.mjs +1 -1
  103. package/lib/directives/tooltip/index.mjs.map +1 -1
  104. package/lib/entry-bundler.mjs +1 -1
  105. package/lib/framework.mjs +1 -1
  106. package/lib/index.d.mts +45 -45
  107. package/lib/labs/VDateInput/index.d.mts +12 -12
  108. package/lib/labs/VNumberInput/index.d.mts +67 -67
  109. package/lib/labs/VPicker/index.d.mts +10 -10
  110. package/lib/labs/VSnackbarQueue/index.d.mts +95 -95
  111. package/lib/labs/VStepperVertical/index.d.mts +6 -6
  112. package/lib/labs/VTimePicker/VTimePicker.mjs +1 -1
  113. package/lib/labs/VTimePicker/VTimePicker.mjs.map +1 -1
  114. package/lib/labs/VTimePicker/VTimePickerControls.mjs +2 -2
  115. package/lib/labs/VTimePicker/VTimePickerControls.mjs.map +1 -1
  116. package/lib/labs/VTimePicker/index.d.mts +26 -26
  117. package/lib/labs/VTimePicker/util.mjs +5 -0
  118. package/lib/labs/VTimePicker/util.mjs.map +1 -0
  119. package/lib/labs/VTreeview/VTreeview.mjs +3 -12
  120. package/lib/labs/VTreeview/VTreeview.mjs.map +1 -1
  121. package/lib/labs/VTreeview/VTreeviewChildren.mjs +1 -1
  122. package/lib/labs/VTreeview/VTreeviewChildren.mjs.map +1 -1
  123. package/lib/labs/VTreeview/VTreeviewItem.mjs +9 -20
  124. package/lib/labs/VTreeview/VTreeviewItem.mjs.map +1 -1
  125. package/lib/labs/VTreeview/index.d.mts +40 -40
  126. package/lib/labs/components.d.mts +256 -256
  127. package/package.json +7 -9
  128. package/lib/components/VDatePicker/util/createNativeLocaleFormatter.mjs +0 -21
  129. package/lib/components/VDatePicker/util/createNativeLocaleFormatter.mjs.map +0 -1
  130. package/lib/components/VDatePicker/util/eventHelpers.mjs +0 -22
  131. package/lib/components/VDatePicker/util/eventHelpers.mjs.map +0 -1
  132. package/lib/components/VDatePicker/util/index.mjs +0 -9
  133. package/lib/components/VDatePicker/util/index.mjs.map +0 -1
  134. package/lib/components/VDatePicker/util/isDateAllowed.mjs +0 -7
  135. package/lib/components/VDatePicker/util/isDateAllowed.mjs.map +0 -1
  136. package/lib/components/VDatePicker/util/monthChange.mjs +0 -18
  137. package/lib/components/VDatePicker/util/monthChange.mjs.map +0 -1
  138. package/lib/components/VDatePicker/util/pad.mjs +0 -21
  139. package/lib/components/VDatePicker/util/pad.mjs.map +0 -1
  140. package/lib/components/VDatePicker/util/sanitizeDateString.mjs +0 -12
  141. package/lib/components/VDatePicker/util/sanitizeDateString.mjs.map +0 -1
  142. package/lib/services/goto/easing-patterns.mjs +0 -27
  143. package/lib/services/goto/easing-patterns.mjs.map +0 -1
  144. package/lib/services/goto/index.mjs +0 -73
  145. package/lib/services/goto/index.mjs.map +0 -1
  146. package/lib/services/goto/util.mjs +0 -39
  147. package/lib/services/goto/util.mjs.map +0 -1
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.7.1
2
+ * Vuetify v3.7.2
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -5389,10 +5389,14 @@ function useLink(props, attrs) {
5389
5389
  return isLink?.value || hasEvent(attrs, 'click') || hasEvent(props, 'click');
5390
5390
  });
5391
5391
  if (typeof RouterLink === 'string' || !('useLink' in RouterLink)) {
5392
+ const href = toRef(props, 'href');
5392
5393
  return {
5393
5394
  isLink,
5394
5395
  isClickable,
5395
- href: toRef(props, 'href')
5396
+ href,
5397
+ linkProps: reactive({
5398
+ href
5399
+ })
5396
5400
  };
5397
5401
  }
5398
5402
  // vue-router useLink `to` prop needs to be reactive and useLink will crash if undefined
@@ -5404,18 +5408,24 @@ function useLink(props, attrs) {
5404
5408
  // Actual link needs to be undefined when to prop is not used
5405
5409
  const link = computed(() => props.to ? routerLink : undefined);
5406
5410
  const route = useRoute();
5411
+ const isActive = computed(() => {
5412
+ if (!link.value) return false;
5413
+ if (!props.exact) return link.value.isActive?.value ?? false;
5414
+ if (!route.value) return link.value.isExactActive?.value ?? false;
5415
+ return link.value.isExactActive?.value && deepEqual(link.value.route.value.query, route.value.query);
5416
+ });
5417
+ const href = computed(() => props.to ? link.value?.route.value.href : props.href);
5407
5418
  return {
5408
5419
  isLink,
5409
5420
  isClickable,
5421
+ isActive,
5410
5422
  route: link.value?.route,
5411
5423
  navigate: link.value?.navigate,
5412
- isActive: 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: computed(() => props.to ? link.value?.route.value.href : props.href)
5424
+ href,
5425
+ linkProps: reactive({
5426
+ href,
5427
+ 'aria-current': computed(() => isActive.value ? 'page' : undefined)
5428
+ })
5419
5429
  };
5420
5430
  }
5421
5431
  const makeRouterProps = propsFactory({
@@ -5890,7 +5900,7 @@ const VBtn = genericComponent()({
5890
5900
  const hasPrepend = !!(props.prependIcon || slots.prepend);
5891
5901
  const hasAppend = !!(props.appendIcon || slots.append);
5892
5902
  const hasIcon = !!(props.icon && props.icon !== true);
5893
- return withDirectives(createVNode(Tag, {
5903
+ return withDirectives(createVNode(Tag, mergeProps({
5894
5904
  "type": Tag === 'a' ? undefined : 'button',
5895
5905
  "class": ['v-btn', group?.selectedClass.value, {
5896
5906
  'v-btn--active': isActive.value,
@@ -5907,11 +5917,10 @@ const VBtn = genericComponent()({
5907
5917
  "style": [colorStyles.value, dimensionStyles.value, locationStyles.value, sizeStyles.value, props.style],
5908
5918
  "aria-busy": props.loading ? true : undefined,
5909
5919
  "disabled": isDisabled.value || undefined,
5910
- "href": link.href.value,
5911
5920
  "tabindex": props.loading || props.readonly ? -1 : undefined,
5912
5921
  "onClick": onClick,
5913
5922
  "value": valueAttr.value
5914
- }, {
5923
+ }, link.linkProps), {
5915
5924
  default: () => [genOverlays(true, 'v-btn'), !props.icon && hasPrepend && createVNode("span", {
5916
5925
  "key": "prepend",
5917
5926
  "class": "v-btn__prepend"
@@ -8174,7 +8183,7 @@ const VChip = genericComponent()({
8174
8183
  const hasPrependMedia = !!(props.prependIcon || props.prependAvatar);
8175
8184
  const hasPrepend = !!(hasPrependMedia || slots.prepend);
8176
8185
  const hasColor = !group || group.isSelected.value;
8177
- return isActive.value && withDirectives(createVNode(Tag, {
8186
+ return isActive.value && withDirectives(createVNode(Tag, mergeProps({
8178
8187
  "class": ['v-chip', {
8179
8188
  'v-chip--disabled': props.disabled,
8180
8189
  'v-chip--label': props.label,
@@ -8185,11 +8194,10 @@ const VChip = genericComponent()({
8185
8194
  "style": [hasColor ? colorStyles.value : undefined, props.style],
8186
8195
  "disabled": props.disabled || undefined,
8187
8196
  "draggable": props.draggable,
8188
- "href": link.href.value,
8189
8197
  "tabindex": isClickable.value ? 0 : undefined,
8190
8198
  "onClick": onClick,
8191
8199
  "onKeydown": isClickable.value && !isLink.value && onKeyDown
8192
- }, {
8200
+ }, link.linkProps), {
8193
8201
  default: () => [genOverlays(isClickable.value, 'v-chip'), hasFilter && createVNode(VExpandXTransition, {
8194
8202
  "key": "filter"
8195
8203
  }, {
@@ -8434,7 +8442,6 @@ const leafSingleActiveStrategy = mandatory => {
8434
8442
  return strategy;
8435
8443
  };
8436
8444
 
8437
- // Utilities
8438
8445
  const singleOpenStrategy = {
8439
8446
  open: _ref => {
8440
8447
  let {
@@ -8468,11 +8475,11 @@ const multipleOpenStrategy = {
8468
8475
  parents
8469
8476
  } = _ref2;
8470
8477
  if (value) {
8471
- let parent = toRaw(parents.get(id));
8478
+ let parent = parents.get(id);
8472
8479
  opened.add(id);
8473
8480
  while (parent != null && parent !== id) {
8474
8481
  opened.add(parent);
8475
- parent = toRaw(parents.get(parent));
8482
+ parent = parents.get(parent);
8476
8483
  }
8477
8484
  return opened;
8478
8485
  } else {
@@ -8714,7 +8721,8 @@ const emptyNested = {
8714
8721
  opened: ref(new Set()),
8715
8722
  activated: ref(new Set()),
8716
8723
  selected: ref(new Map()),
8717
- selectedValues: ref([])
8724
+ selectedValues: ref([]),
8725
+ getPath: () => []
8718
8726
  }
8719
8727
  };
8720
8728
  const makeNestedProps = propsFactory({
@@ -8732,7 +8740,7 @@ const useNested = props => {
8732
8740
  let isUnmounted = false;
8733
8741
  const children = ref(new Map());
8734
8742
  const parents = ref(new Map());
8735
- const opened = useProxiedModel(props, 'opened', props.opened, v => new Set(toRaw(v)), v => [...v.values()]);
8743
+ const opened = useProxiedModel(props, 'opened', props.opened, v => new Set(v), v => [...v.values()]);
8736
8744
  const activeStrategy = computed(() => {
8737
8745
  if (typeof props.activeStrategy === 'object') return props.activeStrategy;
8738
8746
  if (typeof props.activeStrategy === 'function') return props.activeStrategy(props.mandatory);
@@ -8792,6 +8800,7 @@ const useNested = props => {
8792
8800
  return path;
8793
8801
  }
8794
8802
  const vm = getCurrentInstance('nested');
8803
+ const nodeIds = new Set();
8795
8804
  const nested = {
8796
8805
  id: shallowRef(),
8797
8806
  root: {
@@ -8808,6 +8817,14 @@ const useNested = props => {
8808
8817
  return arr;
8809
8818
  }),
8810
8819
  register: (id, parentId, isGroup) => {
8820
+ if (nodeIds.has(id)) {
8821
+ const path = getPath(id).join(' -> ');
8822
+ const newPath = getPath(parentId).concat(id).join(' -> ');
8823
+ consoleError(`Multiple nodes with the same ID\n\t${path}\n\t${newPath}`);
8824
+ return;
8825
+ } else {
8826
+ nodeIds.add(id);
8827
+ }
8811
8828
  parentId && id !== parentId && parents.value.set(id, parentId);
8812
8829
  isGroup && children.value.set(id, []);
8813
8830
  if (parentId != null) {
@@ -8816,6 +8833,7 @@ const useNested = props => {
8816
8833
  },
8817
8834
  unregister: id => {
8818
8835
  if (isUnmounted) return;
8836
+ nodeIds.delete(id);
8819
8837
  children.value.delete(id);
8820
8838
  const parent = parents.value.get(id);
8821
8839
  if (parent) {
@@ -8892,7 +8910,8 @@ const useNested = props => {
8892
8910
  newActivated && (activated.value = newActivated);
8893
8911
  },
8894
8912
  children,
8895
- parents
8913
+ parents,
8914
+ getPath
8896
8915
  }
8897
8916
  };
8898
8917
  provide(VNestedSymbol, nested);
@@ -8905,9 +8924,9 @@ const useNestedItem = (id, isGroup) => {
8905
8924
  const item = {
8906
8925
  ...parent,
8907
8926
  id: computedId,
8908
- open: (open, e) => parent.root.open(toRaw(computedId.value), open, e),
8927
+ open: (open, e) => parent.root.open(computedId.value, open, e),
8909
8928
  openOnSelect: (open, e) => parent.root.openOnSelect(computedId.value, open, e),
8910
- isOpen: computed(() => parent.root.opened.value.has(toRaw(computedId.value))),
8929
+ isOpen: computed(() => parent.root.opened.value.has(computedId.value)),
8911
8930
  parent: computed(() => parent.root.parents.value.get(computedId.value)),
8912
8931
  activate: (activated, e) => parent.root.activate(computedId.value, activated, e),
8913
8932
  isActivated: computed(() => parent.root.activated.value.has(toRaw(computedId.value))),
@@ -9137,7 +9156,8 @@ const VListItem = genericComponent()({
9137
9156
  isGroupActivator,
9138
9157
  root,
9139
9158
  parent,
9140
- openOnSelect
9159
+ openOnSelect,
9160
+ id: uid
9141
9161
  } = useNestedItem(id, false);
9142
9162
  const list = useList();
9143
9163
  const isActive = computed(() => props.active !== false && (props.active || link.isActive?.value || (root.activatable.value ? isActivated.value : isSelected.value)));
@@ -9221,7 +9241,7 @@ const VListItem = genericComponent()({
9221
9241
  if (props.activeColor) {
9222
9242
  deprecate('active-color', ['color', 'base-color']);
9223
9243
  }
9224
- return withDirectives(createVNode(Tag, {
9244
+ return withDirectives(createVNode(Tag, mergeProps({
9225
9245
  "class": ['v-list-item', {
9226
9246
  'v-list-item--active': isActive.value,
9227
9247
  'v-list-item--disabled': props.disabled,
@@ -9232,11 +9252,10 @@ const VListItem = genericComponent()({
9232
9252
  [`${props.activeClass}`]: props.activeClass && isActive.value
9233
9253
  }, themeClasses.value, borderClasses.value, colorClasses.value, densityClasses.value, elevationClasses.value, lineClasses.value, roundedClasses.value, variantClasses.value, props.class],
9234
9254
  "style": [colorStyles.value, dimensionStyles.value, props.style],
9235
- "href": link.href.value,
9236
9255
  "tabindex": isClickable.value ? list ? -2 : 0 : undefined,
9237
9256
  "onClick": onClick,
9238
9257
  "onKeydown": isClickable.value && !isLink.value && onKeyDown
9239
- }, {
9258
+ }, link.linkProps), {
9240
9259
  default: () => [genOverlays(isClickable.value || isActive.value, 'v-list-item'), hasPrepend && createVNode("div", {
9241
9260
  "key": "prepend",
9242
9261
  "class": "v-list-item__prepend"
@@ -9323,7 +9342,9 @@ const VListItem = genericComponent()({
9323
9342
  isGroupActivator,
9324
9343
  isSelected,
9325
9344
  list,
9326
- select
9345
+ select,
9346
+ root,
9347
+ id: uid
9327
9348
  };
9328
9349
  }
9329
9350
  });
@@ -9724,7 +9745,8 @@ const VList = genericComponent()({
9724
9745
  children,
9725
9746
  open,
9726
9747
  parents,
9727
- select
9748
+ select,
9749
+ getPath
9728
9750
  } = useNested(props);
9729
9751
  const lineClasses = computed(() => props.lines ? `v-list--${props.lines}-line` : undefined);
9730
9752
  const activeColor = toRef(props, 'activeColor');
@@ -9816,7 +9838,8 @@ const VList = genericComponent()({
9816
9838
  select,
9817
9839
  focus,
9818
9840
  children,
9819
- parents
9841
+ parents,
9842
+ getPath
9820
9843
  };
9821
9844
  }
9822
9845
  });
@@ -13988,8 +14011,7 @@ const VDialog = genericComponent()({
13988
14011
  useRender(() => {
13989
14012
  const overlayProps = VOverlay.filterProps(props);
13990
14013
  const activatorProps = mergeProps({
13991
- 'aria-haspopup': 'dialog',
13992
- 'aria-expanded': String(isActive.value)
14014
+ 'aria-haspopup': 'dialog'
13993
14015
  }, props.activatorProps);
13994
14016
  const contentProps = mergeProps({
13995
14017
  tabindex: -1
@@ -14120,12 +14142,10 @@ const VBreadcrumbsItem = genericComponent()({
14120
14142
  "style": [textColorStyles.value, props.style],
14121
14143
  "aria-current": isActive.value ? 'page' : undefined
14122
14144
  }, {
14123
- default: () => [!link.isLink.value ? slots.default?.() ?? props.title : createVNode("a", {
14145
+ default: () => [!link.isLink.value ? slots.default?.() ?? props.title : createVNode("a", mergeProps({
14124
14146
  "class": "v-breadcrumbs-item--link",
14125
- "href": link.href.value,
14126
- "aria-current": isActive.value ? 'page' : undefined,
14127
14147
  "onClick": link.navigate
14128
- }, [slots.default?.() ?? props.title])]
14148
+ }, link.linkProps), [slots.default?.() ?? props.title])]
14129
14149
  });
14130
14150
  });
14131
14151
  return {};
@@ -14501,7 +14521,7 @@ const VCard = genericComponent()({
14501
14521
  const hasImage = !!(slots.image || props.image);
14502
14522
  const hasCardItem = hasHeader || hasPrepend || hasAppend;
14503
14523
  const hasText = !!(slots.text || props.text != null);
14504
- return withDirectives(createVNode(Tag, {
14524
+ return withDirectives(createVNode(Tag, mergeProps({
14505
14525
  "class": ['v-card', {
14506
14526
  'v-card--disabled': props.disabled,
14507
14527
  'v-card--flat': props.flat,
@@ -14509,10 +14529,9 @@ const VCard = genericComponent()({
14509
14529
  'v-card--link': isClickable.value
14510
14530
  }, themeClasses.value, borderClasses.value, colorClasses.value, densityClasses.value, elevationClasses.value, loaderClasses.value, positionClasses.value, roundedClasses.value, variantClasses.value, props.class],
14511
14531
  "style": [colorStyles.value, dimensionStyles.value, locationStyles.value, props.style],
14512
- "href": link.href.value,
14513
14532
  "onClick": isClickable.value && link.navigate,
14514
14533
  "tabindex": props.disabled ? -1 : undefined
14515
- }, {
14534
+ }, link.linkProps), {
14516
14535
  default: () => [hasImage && createVNode("div", {
14517
14536
  "key": "image",
14518
14537
  "class": "v-card__image"
@@ -28050,7 +28069,7 @@ function mountComponent(component, props) {
28050
28069
  const value = isObject(binding.value) ? binding.value : {};
28051
28070
 
28052
28071
  // Get the children from the props or directive value, or the element's children
28053
- const children = () => text ?? el.innerHTML;
28072
+ const children = () => text ?? el.textContent;
28054
28073
 
28055
28074
  // If vnode.ctx is the same as the instance, then we're bound to a plain element
28056
28075
  // and need to find the nearest parent component instance to inherit provides from
@@ -28108,7 +28127,7 @@ function findComponentParent(vnode, root) {
28108
28127
  const Tooltip = useDirectiveComponent(VTooltip, binding => {
28109
28128
  return {
28110
28129
  activator: 'parent',
28111
- location: binding.arg?.replace('-', ' ') ?? 'top',
28130
+ location: binding.arg?.replace('-', ' '),
28112
28131
  text: typeof binding.value === 'boolean' ? undefined : binding.value
28113
28132
  };
28114
28133
  });
@@ -28214,7 +28233,7 @@ function createVuetify$1() {
28214
28233
  goTo
28215
28234
  };
28216
28235
  }
28217
- const version$1 = "3.7.1";
28236
+ const version$1 = "3.7.2";
28218
28237
  createVuetify$1.version = version$1;
28219
28238
 
28220
28239
  // Vue's inject() can only be used in setup
@@ -28239,7 +28258,7 @@ const createVuetify = function () {
28239
28258
  ...options
28240
28259
  });
28241
28260
  };
28242
- const version = "3.7.1";
28261
+ const version = "3.7.2";
28243
28262
  createVuetify.version = version;
28244
28263
 
28245
28264
  export { index as blueprints, components, createVuetify, directives, useDate, useDefaults, useDisplay, useGoTo, useLayout, useLocale, useRtl, useTheme, version };