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
  */
@@ -315,7 +315,7 @@ function padEnd(str, length) {
315
315
  let char = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '0';
316
316
  return str + char.repeat(Math.max(0, length - str.length));
317
317
  }
318
- function padStart$1(str, length) {
318
+ function padStart(str, length) {
319
319
  let char = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '0';
320
320
  return char.repeat(Math.max(0, length - str.length)) + str;
321
321
  }
@@ -5156,10 +5156,14 @@ function useLink(props, attrs) {
5156
5156
  return isLink?.value || hasEvent(attrs, 'click') || hasEvent(props, 'click');
5157
5157
  });
5158
5158
  if (typeof RouterLink === 'string' || !('useLink' in RouterLink)) {
5159
+ const href = toRef(props, 'href');
5159
5160
  return {
5160
5161
  isLink,
5161
5162
  isClickable,
5162
- href: toRef(props, 'href')
5163
+ href,
5164
+ linkProps: reactive({
5165
+ href
5166
+ })
5163
5167
  };
5164
5168
  }
5165
5169
  // vue-router useLink `to` prop needs to be reactive and useLink will crash if undefined
@@ -5171,18 +5175,24 @@ function useLink(props, attrs) {
5171
5175
  // Actual link needs to be undefined when to prop is not used
5172
5176
  const link = computed(() => props.to ? routerLink : undefined);
5173
5177
  const route = useRoute();
5178
+ const isActive = computed(() => {
5179
+ if (!link.value) return false;
5180
+ if (!props.exact) return link.value.isActive?.value ?? false;
5181
+ if (!route.value) return link.value.isExactActive?.value ?? false;
5182
+ return link.value.isExactActive?.value && deepEqual(link.value.route.value.query, route.value.query);
5183
+ });
5184
+ const href = computed(() => props.to ? link.value?.route.value.href : props.href);
5174
5185
  return {
5175
5186
  isLink,
5176
5187
  isClickable,
5188
+ isActive,
5177
5189
  route: link.value?.route,
5178
5190
  navigate: link.value?.navigate,
5179
- isActive: computed(() => {
5180
- if (!link.value) return false;
5181
- if (!props.exact) return link.value.isActive?.value ?? false;
5182
- if (!route.value) return link.value.isExactActive?.value ?? false;
5183
- return link.value.isExactActive?.value && deepEqual(link.value.route.value.query, route.value.query);
5184
- }),
5185
- href: computed(() => props.to ? link.value?.route.value.href : props.href)
5191
+ href,
5192
+ linkProps: reactive({
5193
+ href,
5194
+ 'aria-current': computed(() => isActive.value ? 'page' : undefined)
5195
+ })
5186
5196
  };
5187
5197
  }
5188
5198
  const makeRouterProps = propsFactory({
@@ -5657,7 +5667,7 @@ const VBtn = genericComponent()({
5657
5667
  const hasPrepend = !!(props.prependIcon || slots.prepend);
5658
5668
  const hasAppend = !!(props.appendIcon || slots.append);
5659
5669
  const hasIcon = !!(props.icon && props.icon !== true);
5660
- return withDirectives(createVNode(Tag, {
5670
+ return withDirectives(createVNode(Tag, mergeProps({
5661
5671
  "type": Tag === 'a' ? undefined : 'button',
5662
5672
  "class": ['v-btn', group?.selectedClass.value, {
5663
5673
  'v-btn--active': isActive.value,
@@ -5674,11 +5684,10 @@ const VBtn = genericComponent()({
5674
5684
  "style": [colorStyles.value, dimensionStyles.value, locationStyles.value, sizeStyles.value, props.style],
5675
5685
  "aria-busy": props.loading ? true : undefined,
5676
5686
  "disabled": isDisabled.value || undefined,
5677
- "href": link.href.value,
5678
5687
  "tabindex": props.loading || props.readonly ? -1 : undefined,
5679
5688
  "onClick": onClick,
5680
5689
  "value": valueAttr.value
5681
- }, {
5690
+ }, link.linkProps), {
5682
5691
  default: () => [genOverlays(true, 'v-btn'), !props.icon && hasPrepend && createVNode("span", {
5683
5692
  "key": "prepend",
5684
5693
  "class": "v-btn__prepend"
@@ -7941,7 +7950,7 @@ const VChip = genericComponent()({
7941
7950
  const hasPrependMedia = !!(props.prependIcon || props.prependAvatar);
7942
7951
  const hasPrepend = !!(hasPrependMedia || slots.prepend);
7943
7952
  const hasColor = !group || group.isSelected.value;
7944
- return isActive.value && withDirectives(createVNode(Tag, {
7953
+ return isActive.value && withDirectives(createVNode(Tag, mergeProps({
7945
7954
  "class": ['v-chip', {
7946
7955
  'v-chip--disabled': props.disabled,
7947
7956
  'v-chip--label': props.label,
@@ -7952,11 +7961,10 @@ const VChip = genericComponent()({
7952
7961
  "style": [hasColor ? colorStyles.value : undefined, props.style],
7953
7962
  "disabled": props.disabled || undefined,
7954
7963
  "draggable": props.draggable,
7955
- "href": link.href.value,
7956
7964
  "tabindex": isClickable.value ? 0 : undefined,
7957
7965
  "onClick": onClick,
7958
7966
  "onKeydown": isClickable.value && !isLink.value && onKeyDown
7959
- }, {
7967
+ }, link.linkProps), {
7960
7968
  default: () => [genOverlays(isClickable.value, 'v-chip'), hasFilter && createVNode(VExpandXTransition, {
7961
7969
  "key": "filter"
7962
7970
  }, {
@@ -8201,7 +8209,6 @@ const leafSingleActiveStrategy = mandatory => {
8201
8209
  return strategy;
8202
8210
  };
8203
8211
 
8204
- // Utilities
8205
8212
  const singleOpenStrategy = {
8206
8213
  open: _ref => {
8207
8214
  let {
@@ -8235,11 +8242,11 @@ const multipleOpenStrategy = {
8235
8242
  parents
8236
8243
  } = _ref2;
8237
8244
  if (value) {
8238
- let parent = toRaw(parents.get(id));
8245
+ let parent = parents.get(id);
8239
8246
  opened.add(id);
8240
8247
  while (parent != null && parent !== id) {
8241
8248
  opened.add(parent);
8242
- parent = toRaw(parents.get(parent));
8249
+ parent = parents.get(parent);
8243
8250
  }
8244
8251
  return opened;
8245
8252
  } else {
@@ -8481,7 +8488,8 @@ const emptyNested = {
8481
8488
  opened: ref(new Set()),
8482
8489
  activated: ref(new Set()),
8483
8490
  selected: ref(new Map()),
8484
- selectedValues: ref([])
8491
+ selectedValues: ref([]),
8492
+ getPath: () => []
8485
8493
  }
8486
8494
  };
8487
8495
  const makeNestedProps = propsFactory({
@@ -8499,7 +8507,7 @@ const useNested = props => {
8499
8507
  let isUnmounted = false;
8500
8508
  const children = ref(new Map());
8501
8509
  const parents = ref(new Map());
8502
- const opened = useProxiedModel(props, 'opened', props.opened, v => new Set(toRaw(v)), v => [...v.values()]);
8510
+ const opened = useProxiedModel(props, 'opened', props.opened, v => new Set(v), v => [...v.values()]);
8503
8511
  const activeStrategy = computed(() => {
8504
8512
  if (typeof props.activeStrategy === 'object') return props.activeStrategy;
8505
8513
  if (typeof props.activeStrategy === 'function') return props.activeStrategy(props.mandatory);
@@ -8559,6 +8567,7 @@ const useNested = props => {
8559
8567
  return path;
8560
8568
  }
8561
8569
  const vm = getCurrentInstance('nested');
8570
+ const nodeIds = new Set();
8562
8571
  const nested = {
8563
8572
  id: shallowRef(),
8564
8573
  root: {
@@ -8575,6 +8584,14 @@ const useNested = props => {
8575
8584
  return arr;
8576
8585
  }),
8577
8586
  register: (id, parentId, isGroup) => {
8587
+ if (nodeIds.has(id)) {
8588
+ const path = getPath(id).join(' -> ');
8589
+ const newPath = getPath(parentId).concat(id).join(' -> ');
8590
+ consoleError(`Multiple nodes with the same ID\n\t${path}\n\t${newPath}`);
8591
+ return;
8592
+ } else {
8593
+ nodeIds.add(id);
8594
+ }
8578
8595
  parentId && id !== parentId && parents.value.set(id, parentId);
8579
8596
  isGroup && children.value.set(id, []);
8580
8597
  if (parentId != null) {
@@ -8583,6 +8600,7 @@ const useNested = props => {
8583
8600
  },
8584
8601
  unregister: id => {
8585
8602
  if (isUnmounted) return;
8603
+ nodeIds.delete(id);
8586
8604
  children.value.delete(id);
8587
8605
  const parent = parents.value.get(id);
8588
8606
  if (parent) {
@@ -8659,7 +8677,8 @@ const useNested = props => {
8659
8677
  newActivated && (activated.value = newActivated);
8660
8678
  },
8661
8679
  children,
8662
- parents
8680
+ parents,
8681
+ getPath
8663
8682
  }
8664
8683
  };
8665
8684
  provide(VNestedSymbol, nested);
@@ -8672,9 +8691,9 @@ const useNestedItem = (id, isGroup) => {
8672
8691
  const item = {
8673
8692
  ...parent,
8674
8693
  id: computedId,
8675
- open: (open, e) => parent.root.open(toRaw(computedId.value), open, e),
8694
+ open: (open, e) => parent.root.open(computedId.value, open, e),
8676
8695
  openOnSelect: (open, e) => parent.root.openOnSelect(computedId.value, open, e),
8677
- isOpen: computed(() => parent.root.opened.value.has(toRaw(computedId.value))),
8696
+ isOpen: computed(() => parent.root.opened.value.has(computedId.value)),
8678
8697
  parent: computed(() => parent.root.parents.value.get(computedId.value)),
8679
8698
  activate: (activated, e) => parent.root.activate(computedId.value, activated, e),
8680
8699
  isActivated: computed(() => parent.root.activated.value.has(toRaw(computedId.value))),
@@ -8904,7 +8923,8 @@ const VListItem = genericComponent()({
8904
8923
  isGroupActivator,
8905
8924
  root,
8906
8925
  parent,
8907
- openOnSelect
8926
+ openOnSelect,
8927
+ id: uid
8908
8928
  } = useNestedItem(id, false);
8909
8929
  const list = useList();
8910
8930
  const isActive = computed(() => props.active !== false && (props.active || link.isActive?.value || (root.activatable.value ? isActivated.value : isSelected.value)));
@@ -8988,7 +9008,7 @@ const VListItem = genericComponent()({
8988
9008
  if (props.activeColor) {
8989
9009
  deprecate('active-color', ['color', 'base-color']);
8990
9010
  }
8991
- return withDirectives(createVNode(Tag, {
9011
+ return withDirectives(createVNode(Tag, mergeProps({
8992
9012
  "class": ['v-list-item', {
8993
9013
  'v-list-item--active': isActive.value,
8994
9014
  'v-list-item--disabled': props.disabled,
@@ -8999,11 +9019,10 @@ const VListItem = genericComponent()({
8999
9019
  [`${props.activeClass}`]: props.activeClass && isActive.value
9000
9020
  }, themeClasses.value, borderClasses.value, colorClasses.value, densityClasses.value, elevationClasses.value, lineClasses.value, roundedClasses.value, variantClasses.value, props.class],
9001
9021
  "style": [colorStyles.value, dimensionStyles.value, props.style],
9002
- "href": link.href.value,
9003
9022
  "tabindex": isClickable.value ? list ? -2 : 0 : undefined,
9004
9023
  "onClick": onClick,
9005
9024
  "onKeydown": isClickable.value && !isLink.value && onKeyDown
9006
- }, {
9025
+ }, link.linkProps), {
9007
9026
  default: () => [genOverlays(isClickable.value || isActive.value, 'v-list-item'), hasPrepend && createVNode("div", {
9008
9027
  "key": "prepend",
9009
9028
  "class": "v-list-item__prepend"
@@ -9090,7 +9109,9 @@ const VListItem = genericComponent()({
9090
9109
  isGroupActivator,
9091
9110
  isSelected,
9092
9111
  list,
9093
- select
9112
+ select,
9113
+ root,
9114
+ id: uid
9094
9115
  };
9095
9116
  }
9096
9117
  });
@@ -9491,7 +9512,8 @@ const VList = genericComponent()({
9491
9512
  children,
9492
9513
  open,
9493
9514
  parents,
9494
- select
9515
+ select,
9516
+ getPath
9495
9517
  } = useNested(props);
9496
9518
  const lineClasses = computed(() => props.lines ? `v-list--${props.lines}-line` : undefined);
9497
9519
  const activeColor = toRef(props, 'activeColor');
@@ -9583,7 +9605,8 @@ const VList = genericComponent()({
9583
9605
  select,
9584
9606
  focus,
9585
9607
  children,
9586
- parents
9608
+ parents,
9609
+ getPath
9587
9610
  };
9588
9611
  }
9589
9612
  });
@@ -13755,8 +13778,7 @@ const VDialog = genericComponent()({
13755
13778
  useRender(() => {
13756
13779
  const overlayProps = VOverlay.filterProps(props);
13757
13780
  const activatorProps = mergeProps({
13758
- 'aria-haspopup': 'dialog',
13759
- 'aria-expanded': String(isActive.value)
13781
+ 'aria-haspopup': 'dialog'
13760
13782
  }, props.activatorProps);
13761
13783
  const contentProps = mergeProps({
13762
13784
  tabindex: -1
@@ -13887,12 +13909,10 @@ const VBreadcrumbsItem = genericComponent()({
13887
13909
  "style": [textColorStyles.value, props.style],
13888
13910
  "aria-current": isActive.value ? 'page' : undefined
13889
13911
  }, {
13890
- default: () => [!link.isLink.value ? slots.default?.() ?? props.title : createVNode("a", {
13912
+ default: () => [!link.isLink.value ? slots.default?.() ?? props.title : createVNode("a", mergeProps({
13891
13913
  "class": "v-breadcrumbs-item--link",
13892
- "href": link.href.value,
13893
- "aria-current": isActive.value ? 'page' : undefined,
13894
13914
  "onClick": link.navigate
13895
- }, [slots.default?.() ?? props.title])]
13915
+ }, link.linkProps), [slots.default?.() ?? props.title])]
13896
13916
  });
13897
13917
  });
13898
13918
  return {};
@@ -14268,7 +14288,7 @@ const VCard = genericComponent()({
14268
14288
  const hasImage = !!(slots.image || props.image);
14269
14289
  const hasCardItem = hasHeader || hasPrepend || hasAppend;
14270
14290
  const hasText = !!(slots.text || props.text != null);
14271
- return withDirectives(createVNode(Tag, {
14291
+ return withDirectives(createVNode(Tag, mergeProps({
14272
14292
  "class": ['v-card', {
14273
14293
  'v-card--disabled': props.disabled,
14274
14294
  'v-card--flat': props.flat,
@@ -14276,10 +14296,9 @@ const VCard = genericComponent()({
14276
14296
  'v-card--link': isClickable.value
14277
14297
  }, themeClasses.value, borderClasses.value, colorClasses.value, densityClasses.value, elevationClasses.value, loaderClasses.value, positionClasses.value, roundedClasses.value, variantClasses.value, props.class],
14278
14298
  "style": [colorStyles.value, dimensionStyles.value, locationStyles.value, props.style],
14279
- "href": link.href.value,
14280
14299
  "onClick": isClickable.value && link.navigate,
14281
14300
  "tabindex": props.disabled ? -1 : undefined
14282
- }, {
14301
+ }, link.linkProps), {
14283
14302
  default: () => [hasImage && createVNode("div", {
14284
14303
  "key": "image",
14285
14304
  "class": "v-card__image"
@@ -17645,8 +17664,8 @@ function format(value, formatString, locale, formats) {
17645
17664
  function toISO(adapter, value) {
17646
17665
  const date = adapter.toJsDate(value);
17647
17666
  const year = date.getFullYear();
17648
- const month = padStart$1(String(date.getMonth() + 1), 2, '0');
17649
- const day = padStart$1(String(date.getDate()), 2, '0');
17667
+ const month = padStart(String(date.getMonth() + 1), 2, '0');
17668
+ const day = padStart(String(date.getDate()), 2, '0');
17650
17669
  return `${year}-${month}-${day}`;
17651
17670
  }
17652
17671
  function parseISO(value) {
@@ -28852,6 +28871,11 @@ const VSnackbarQueue = genericComponent()({
28852
28871
  }
28853
28872
  });
28854
28873
 
28874
+ function pad(n) {
28875
+ let length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2;
28876
+ return String(n).padStart(length, '0');
28877
+ }
28878
+
28855
28879
  // Types
28856
28880
 
28857
28881
  const makeVTimePickerClockProps = propsFactory({
@@ -29092,27 +29116,6 @@ const VTimePickerClock = genericComponent()({
29092
29116
  }
29093
29117
  });
29094
29118
 
29095
- // @ts-nocheck
29096
- /* eslint-disable */
29097
-
29098
- const padStart = (string, targetLength, padString) => {
29099
- targetLength = targetLength >> 0;
29100
- string = String(string);
29101
- padString = String(padString);
29102
- if (string.length > targetLength) {
29103
- return String(string);
29104
- }
29105
- targetLength = targetLength - string.length;
29106
- if (targetLength > padString.length) {
29107
- padString += padString.repeat(targetLength / padString.length);
29108
- }
29109
- return padString.slice(0, targetLength) + String(string);
29110
- };
29111
- var pad = (function (n) {
29112
- let length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2;
29113
- return padStart(n, length, '0');
29114
- });
29115
-
29116
29119
  // @ts-nocheck
29117
29120
  /* eslint-disable */
29118
29121
  var SelectingTimes = /*#__PURE__*/function (SelectingTimes) {
@@ -29560,25 +29563,13 @@ const VTreeviewItem = genericComponent()({
29560
29563
  emit
29561
29564
  } = _ref;
29562
29565
  const link = useLink(props, attrs);
29563
- const rawId = computed(() => props.value === undefined ? link.href.value : props.value);
29564
29566
  const vListItemRef = ref();
29565
- const {
29566
- activate,
29567
- isActivated,
29568
- isGroupActivator,
29569
- root,
29570
- id
29571
- } = useNestedItem(rawId, false);
29572
- const isActivatableGroupActivator = computed(() => root.activatable.value && isGroupActivator);
29567
+ const isActivatableGroupActivator = computed(() => vListItemRef.value?.root.activatable.value && vListItemRef.value?.isGroupActivator);
29573
29568
  const isClickable = computed(() => !props.disabled && props.link !== false && (props.link || link.isClickable.value || props.value != null && !!vListItemRef.value?.list || isActivatableGroupActivator.value));
29574
29569
  function activateItem(e) {
29575
- if (!isClickable.value || !isActivatableGroupActivator.value && isGroupActivator) return;
29576
- if (root.activatable.value) {
29577
- if (isActivatableGroupActivator.value) {
29578
- activate(!isActivated.value, e);
29579
- } else {
29580
- vListItemRef.value?.activate(!vListItemRef.value?.isActivated, e);
29581
- }
29570
+ if (!isClickable.value || !isActivatableGroupActivator.value && vListItemRef.value?.isGroupActivator) return;
29571
+ if (vListItemRef.value?.root.activatable.value) {
29572
+ vListItemRef.value?.activate(!vListItemRef.value?.isActivated, e);
29582
29573
  }
29583
29574
  }
29584
29575
  const visibleIds = inject$1(VTreeviewSymbol, {
@@ -29587,11 +29578,13 @@ const VTreeviewItem = genericComponent()({
29587
29578
  useRender(() => {
29588
29579
  const listItemProps = omit(VListItem.filterProps(props), ['onClick']);
29589
29580
  const hasPrepend = slots.prepend || props.toggleIcon;
29590
- return createVNode(VListItem, mergeProps(listItemProps, {
29591
- "active": isActivated.value,
29581
+ return createVNode(VListItem, mergeProps({
29582
+ "ref": vListItemRef
29583
+ }, listItemProps, {
29584
+ "active": vListItemRef.value?.isActivated,
29592
29585
  "class": ['v-treeview-item', {
29593
29586
  'v-treeview-item--activatable-group-activator': isActivatableGroupActivator.value,
29594
- 'v-treeview-item--filtered': visibleIds.value && !visibleIds.value.has(id.value)
29587
+ 'v-treeview-item--filtered': visibleIds.value && !visibleIds.value.has(vListItemRef.value?.id)
29595
29588
  }, props.class],
29596
29589
  "ripple": false,
29597
29590
  "onClick": props.onClick ?? activateItem
@@ -29725,7 +29718,7 @@ const VTreeviewChildren = genericComponent()({
29725
29718
  ...itemProps,
29726
29719
  ...activatorProps,
29727
29720
  value: itemProps?.value,
29728
- onToggleExpand: activatorProps.onClick,
29721
+ onToggleExpand: [() => checkChildren(item), activatorProps.onClick],
29729
29722
  onClick: isClickOnOpen.value ? [() => checkChildren(item), activatorProps.onClick] : undefined
29730
29723
  };
29731
29724
  return createVNode(VTreeviewItem, mergeProps(listItemProps, {
@@ -29810,22 +29803,13 @@ const VTreeview = genericComponent()({
29810
29803
  filteredItems
29811
29804
  } = useFilter(props, flatItems, search);
29812
29805
  const visibleIds = computed(() => {
29813
- if (!search.value) {
29814
- return null;
29815
- }
29806
+ if (!search.value) return null;
29807
+ const getPath = vListRef.value?.getPath;
29808
+ if (!getPath) return null;
29816
29809
  return new Set(filteredItems.value.flatMap(item => {
29817
29810
  return [...getPath(item.props.value), ...getChildren(item.props.value)];
29818
29811
  }));
29819
29812
  });
29820
- function getPath(id) {
29821
- const path = [];
29822
- let parent = id;
29823
- while (parent != null) {
29824
- path.unshift(parent);
29825
- parent = vListRef.value?.parents.get(parent);
29826
- }
29827
- return path;
29828
- }
29829
29813
  function getChildren(id) {
29830
29814
  const arr = [];
29831
29815
  const queue = (vListRef.value?.children.get(id) ?? []).slice();
@@ -30226,7 +30210,7 @@ function mountComponent(component, props) {
30226
30210
  const value = isObject(binding.value) ? binding.value : {};
30227
30211
 
30228
30212
  // Get the children from the props or directive value, or the element's children
30229
- const children = () => text ?? el.innerHTML;
30213
+ const children = () => text ?? el.textContent;
30230
30214
 
30231
30215
  // If vnode.ctx is the same as the instance, then we're bound to a plain element
30232
30216
  // and need to find the nearest parent component instance to inherit provides from
@@ -30284,7 +30268,7 @@ function findComponentParent(vnode, root) {
30284
30268
  const Tooltip = useDirectiveComponent(VTooltip, binding => {
30285
30269
  return {
30286
30270
  activator: 'parent',
30287
- location: binding.arg?.replace('-', ' ') ?? 'top',
30271
+ location: binding.arg?.replace('-', ' '),
30288
30272
  text: typeof binding.value === 'boolean' ? undefined : binding.value
30289
30273
  };
30290
30274
  });
@@ -30390,7 +30374,7 @@ function createVuetify$1() {
30390
30374
  goTo
30391
30375
  };
30392
30376
  }
30393
- const version$1 = "3.7.1";
30377
+ const version$1 = "3.7.2";
30394
30378
  createVuetify$1.version = version$1;
30395
30379
 
30396
30380
  // Vue's inject() can only be used in setup
@@ -30643,7 +30627,7 @@ var index = /*#__PURE__*/Object.freeze({
30643
30627
 
30644
30628
  /* eslint-disable local-rules/sort-imports */
30645
30629
 
30646
- const version = "3.7.1";
30630
+ const version = "3.7.2";
30647
30631
 
30648
30632
  /* eslint-disable local-rules/sort-imports */
30649
30633