vuetify 3.10.2 → 3.10.3

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 (205) hide show
  1. package/dist/json/attributes.json +1022 -1022
  2. package/dist/json/importMap-labs.json +18 -18
  3. package/dist/json/importMap.json +148 -148
  4. package/dist/json/web-types.json +1827 -1813
  5. package/dist/vuetify-labs.cjs +36 -50
  6. package/dist/vuetify-labs.css +5911 -5911
  7. package/dist/vuetify-labs.d.ts +1488 -1486
  8. package/dist/vuetify-labs.esm.js +36 -50
  9. package/dist/vuetify-labs.esm.js.map +1 -1
  10. package/dist/vuetify-labs.js +36 -50
  11. package/dist/vuetify-labs.min.css +2 -2
  12. package/dist/vuetify.cjs +36 -49
  13. package/dist/vuetify.cjs.map +1 -1
  14. package/dist/vuetify.css +6147 -6147
  15. package/dist/vuetify.d.ts +1112 -1110
  16. package/dist/vuetify.esm.js +36 -49
  17. package/dist/vuetify.esm.js.map +1 -1
  18. package/dist/vuetify.js +36 -49
  19. package/dist/vuetify.js.map +1 -1
  20. package/dist/vuetify.min.css +2 -2
  21. package/dist/vuetify.min.js +1421 -1419
  22. package/dist/vuetify.min.js.map +1 -1
  23. package/lib/components/VAlert/VAlert.d.ts +3 -3
  24. package/lib/components/VAlert/VAlertTitle.d.ts +3 -3
  25. package/lib/components/VApp/VApp.d.ts +3 -3
  26. package/lib/components/VAppBar/VAppBar.d.ts +3 -3
  27. package/lib/components/VAppBar/VAppBarNavIcon.d.ts +6 -6
  28. package/lib/components/VAppBar/VAppBarTitle.d.ts +3 -3
  29. package/lib/components/VAutocomplete/VAutocomplete.d.ts +116 -116
  30. package/lib/components/VAutocomplete/VAutocomplete.js +1 -1
  31. package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
  32. package/lib/components/VAvatar/VAvatar.d.ts +3 -3
  33. package/lib/components/VBadge/VBadge.d.ts +3 -3
  34. package/lib/components/VBanner/VBanner.d.ts +3 -3
  35. package/lib/components/VBanner/VBannerActions.d.ts +3 -3
  36. package/lib/components/VBanner/VBannerText.d.ts +3 -3
  37. package/lib/components/VBottomNavigation/VBottomNavigation.d.ts +3 -3
  38. package/lib/components/VBottomSheet/VBottomSheet.d.ts +3 -3
  39. package/lib/components/VBreadcrumbs/VBreadcrumbs.d.ts +3 -3
  40. package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.d.ts +3 -3
  41. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.d.ts +3 -3
  42. package/lib/components/VBtn/VBtn.d.ts +6 -6
  43. package/lib/components/VBtn/VBtn.js +4 -4
  44. package/lib/components/VBtn/VBtn.js.map +1 -1
  45. package/lib/components/VBtnGroup/VBtnGroup.d.ts +3 -3
  46. package/lib/components/VBtnToggle/VBtnToggle.d.ts +3 -3
  47. package/lib/components/VCard/VCard.d.ts +6 -6
  48. package/lib/components/VCard/VCard.js +2 -2
  49. package/lib/components/VCard/VCard.js.map +1 -1
  50. package/lib/components/VCard/VCardActions.d.ts +3 -3
  51. package/lib/components/VCard/VCardItem.d.ts +3 -3
  52. package/lib/components/VCard/VCardSubtitle.d.ts +3 -3
  53. package/lib/components/VCard/VCardText.d.ts +3 -3
  54. package/lib/components/VCard/VCardTitle.d.ts +3 -3
  55. package/lib/components/VCarousel/VCarousel.d.ts +3 -3
  56. package/lib/components/VCarousel/VCarouselItem.d.ts +3 -3
  57. package/lib/components/VCheckbox/VCheckbox.d.ts +15 -15
  58. package/lib/components/VCheckbox/VCheckboxBtn.d.ts +6 -6
  59. package/lib/components/VChip/VChip.d.ts +6 -6
  60. package/lib/components/VChip/VChip.js +2 -2
  61. package/lib/components/VChip/VChip.js.map +1 -1
  62. package/lib/components/VChipGroup/VChipGroup.d.ts +3 -3
  63. package/lib/components/VCode/index.d.ts +3 -3
  64. package/lib/components/VCombobox/VCombobox.d.ts +116 -116
  65. package/lib/components/VCombobox/VCombobox.js +6 -25
  66. package/lib/components/VCombobox/VCombobox.js.map +1 -1
  67. package/lib/components/VCounter/VCounter.d.ts +3 -3
  68. package/lib/components/VDataIterator/VDataIterator.d.ts +9 -9
  69. package/lib/components/VDataTable/VDataTable.d.ts +3 -3
  70. package/lib/components/VDataTable/VDataTableServer.d.ts +3 -3
  71. package/lib/components/VDataTable/VDataTableVirtual.d.ts +6 -6
  72. package/lib/components/VDataTable/composables/expand.js +8 -8
  73. package/lib/components/VDataTable/composables/expand.js.map +1 -1
  74. package/lib/components/VDatePicker/VDatePicker.d.ts +3 -3
  75. package/lib/components/VDialog/VDialog.d.ts +12 -12
  76. package/lib/components/VDivider/VDivider.d.ts +3 -3
  77. package/lib/components/VEmptyState/VEmptyState.d.ts +6 -6
  78. package/lib/components/VExpansionPanel/VExpansionPanel.d.ts +6 -6
  79. package/lib/components/VExpansionPanel/VExpansionPanelText.d.ts +3 -3
  80. package/lib/components/VExpansionPanel/VExpansionPanelTitle.d.ts +6 -6
  81. package/lib/components/VExpansionPanel/VExpansionPanels.d.ts +6 -6
  82. package/lib/components/VFab/VFab.d.ts +6 -6
  83. package/lib/components/VField/VField.d.ts +3 -3
  84. package/lib/components/VField/VFieldLabel.d.ts +3 -3
  85. package/lib/components/VFileInput/VFileInput.d.ts +12 -12
  86. package/lib/components/VFooter/VFooter.d.ts +3 -3
  87. package/lib/components/VForm/VForm.d.ts +6 -6
  88. package/lib/components/VGrid/VCol.d.ts +3 -3
  89. package/lib/components/VGrid/VContainer.d.ts +3 -3
  90. package/lib/components/VGrid/VRow.d.ts +3 -3
  91. package/lib/components/VGrid/VSpacer.d.ts +3 -3
  92. package/lib/components/VIcon/VIcon.d.ts +3 -3
  93. package/lib/components/VImg/VImg.d.ts +3 -3
  94. package/lib/components/VInput/VInput.d.ts +3 -3
  95. package/lib/components/VItemGroup/VItemGroup.d.ts +3 -3
  96. package/lib/components/VKbd/VKbd.d.ts +3 -3
  97. package/lib/components/VLabel/VLabel.d.ts +3 -3
  98. package/lib/components/VLayout/VLayout.d.ts +3 -3
  99. package/lib/components/VLayout/VLayoutItem.d.ts +3 -3
  100. package/lib/components/VLazy/VLazy.d.ts +3 -3
  101. package/lib/components/VList/VList.d.ts +11 -11
  102. package/lib/components/VList/VList.js.map +1 -1
  103. package/lib/components/VList/VListGroup.d.ts +3 -3
  104. package/lib/components/VList/VListImg.d.ts +3 -3
  105. package/lib/components/VList/VListItem.d.ts +6 -6
  106. package/lib/components/VList/VListItem.js +2 -2
  107. package/lib/components/VList/VListItem.js.map +1 -1
  108. package/lib/components/VList/VListItemAction.d.ts +3 -3
  109. package/lib/components/VList/VListItemMedia.d.ts +3 -3
  110. package/lib/components/VList/VListItemSubtitle.d.ts +3 -3
  111. package/lib/components/VList/VListItemTitle.d.ts +3 -3
  112. package/lib/components/VList/VListSubheader.d.ts +3 -3
  113. package/lib/components/VLocaleProvider/VLocaleProvider.d.ts +3 -3
  114. package/lib/components/VMain/VMain.d.ts +3 -3
  115. package/lib/components/VMenu/VMenu.d.ts +15 -15
  116. package/lib/components/VMessages/VMessages.d.ts +3 -3
  117. package/lib/components/VNavigationDrawer/VNavigationDrawer.d.ts +3 -3
  118. package/lib/components/VNumberInput/VNumberInput.d.ts +66 -66
  119. package/lib/components/VNumberInput/VNumberInput.js +1 -0
  120. package/lib/components/VNumberInput/VNumberInput.js.map +1 -1
  121. package/lib/components/VOtpInput/VOtpInput.d.ts +3 -3
  122. package/lib/components/VOverlay/VOverlay.d.ts +3 -3
  123. package/lib/components/VPagination/VPagination.d.ts +3 -3
  124. package/lib/components/VParallax/VParallax.d.ts +3 -3
  125. package/lib/components/VProgressCircular/VProgressCircular.d.ts +3 -3
  126. package/lib/components/VProgressLinear/VProgressLinear.d.ts +3 -3
  127. package/lib/components/VRadio/VRadio.d.ts +6 -6
  128. package/lib/components/VRadioGroup/VRadioGroup.d.ts +15 -15
  129. package/lib/components/VRangeSlider/VRangeSlider.d.ts +12 -12
  130. package/lib/components/VRating/VRating.d.ts +3 -3
  131. package/lib/components/VResponsive/VResponsive.d.ts +3 -3
  132. package/lib/components/VSelect/VSelect.d.ts +140 -140
  133. package/lib/components/VSelectionControl/VSelectionControl.d.ts +6 -6
  134. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.d.ts +6 -6
  135. package/lib/components/VSheet/VSheet.d.ts +3 -3
  136. package/lib/components/VSlideGroup/VSlideGroup.d.ts +3 -3
  137. package/lib/components/VSlider/VSlider.d.ts +12 -12
  138. package/lib/components/VSlider/VSliderThumb.d.ts +6 -6
  139. package/lib/components/VSlider/VSliderTrack.d.ts +3 -3
  140. package/lib/components/VSnackbar/VSnackbar.d.ts +12 -12
  141. package/lib/components/VSnackbarQueue/VSnackbarQueue.d.ts +3 -3
  142. package/lib/components/VSpeedDial/VSpeedDial.d.ts +9 -9
  143. package/lib/components/VStepper/VStepper.d.ts +3 -3
  144. package/lib/components/VStepper/VStepperHeader.d.ts +3 -3
  145. package/lib/components/VStepper/VStepperItem.d.ts +3 -3
  146. package/lib/components/VStepper/VStepperWindow.d.ts +3 -3
  147. package/lib/components/VStepper/VStepperWindowItem.d.ts +3 -3
  148. package/lib/components/VSwitch/VSwitch.d.ts +15 -15
  149. package/lib/components/VSwitch/VSwitch.js +2 -2
  150. package/lib/components/VSwitch/VSwitch.js.map +1 -1
  151. package/lib/components/VSystemBar/VSystemBar.d.ts +3 -3
  152. package/lib/components/VTable/VTable.d.ts +3 -3
  153. package/lib/components/VTabs/VTab.d.ts +24 -24
  154. package/lib/components/VTabs/VTabs.d.ts +3 -3
  155. package/lib/components/VTabs/VTabsWindow.d.ts +3 -3
  156. package/lib/components/VTabs/VTabsWindowItem.d.ts +3 -3
  157. package/lib/components/VTextField/VTextField.d.ts +21 -21
  158. package/lib/components/VTextarea/VTextarea.d.ts +12 -12
  159. package/lib/components/VThemeProvider/VThemeProvider.d.ts +3 -3
  160. package/lib/components/VTimePicker/VTimePicker.d.ts +3 -3
  161. package/lib/components/VTimeline/VTimeline.d.ts +3 -3
  162. package/lib/components/VTimeline/VTimelineDivider.d.ts +3 -3
  163. package/lib/components/VTimeline/VTimelineItem.d.ts +3 -3
  164. package/lib/components/VToolbar/VToolbar.d.ts +3 -3
  165. package/lib/components/VToolbar/VToolbarItems.d.ts +3 -3
  166. package/lib/components/VToolbar/VToolbarTitle.d.ts +3 -3
  167. package/lib/components/VTooltip/VTooltip.d.ts +15 -15
  168. package/lib/components/VTreeview/VTreeview.d.ts +26 -26
  169. package/lib/components/VTreeview/VTreeviewGroup.d.ts +3 -3
  170. package/lib/components/VTreeview/VTreeviewItem.d.ts +24 -24
  171. package/lib/components/VVirtualScroll/VVirtualScroll.d.ts +6 -6
  172. package/lib/components/VVirtualScroll/VVirtualScrollItem.d.ts +3 -3
  173. package/lib/components/VWindow/VWindow.d.ts +3 -3
  174. package/lib/components/VWindow/VWindowItem.d.ts +3 -3
  175. package/lib/components/transitions/createTransition.d.ts +6 -6
  176. package/lib/components/transitions/index.d.ts +78 -78
  177. package/lib/composables/goto.js +2 -2
  178. package/lib/composables/goto.js.map +1 -1
  179. package/lib/composables/router.d.ts +2 -0
  180. package/lib/composables/router.js +6 -1
  181. package/lib/composables/router.js.map +1 -1
  182. package/lib/entry-bundler.js +1 -1
  183. package/lib/framework.d.ts +65 -65
  184. package/lib/framework.js +1 -1
  185. package/lib/labs/VCalendar/VCalendar.js +0 -1
  186. package/lib/labs/VCalendar/VCalendar.js.map +1 -1
  187. package/lib/labs/VColorInput/VColorInput.d.ts +6 -6
  188. package/lib/labs/VDateInput/VDateInput.d.ts +66 -66
  189. package/lib/labs/VFileUpload/VFileUpload.d.ts +3 -3
  190. package/lib/labs/VFileUpload/VFileUploadItem.d.ts +6 -6
  191. package/lib/labs/VHotkey/VHotkey.d.ts +3 -3
  192. package/lib/labs/VIconBtn/VIconBtn.d.ts +3 -3
  193. package/lib/labs/VMaskInput/VMaskInput.d.ts +66 -66
  194. package/lib/labs/VPicker/VPicker.d.ts +3 -3
  195. package/lib/labs/VPicker/VPickerTitle.d.ts +3 -3
  196. package/lib/labs/VPie/VPieTooltip.d.ts +3 -3
  197. package/lib/labs/VStepperVertical/VStepperVertical.d.ts +6 -6
  198. package/lib/labs/VStepperVertical/VStepperVerticalItem.d.ts +6 -6
  199. package/lib/labs/VVideo/VVideo.d.ts +87 -87
  200. package/lib/labs/VVideo/VVideoControls.d.ts +40 -40
  201. package/lib/labs/VVideo/VVideoVolume.d.ts +33 -33
  202. package/lib/util/createSimpleFunctional.d.ts +3 -3
  203. package/lib/util/events.js +2 -2
  204. package/lib/util/events.js.map +1 -1
  205. package/package.json +9 -9
package/dist/vuetify.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.10.2
2
+ * Vuetify v3.10.3
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -1589,7 +1589,7 @@
1589
1589
  // Utilities
1590
1590
  function getPrefixedEventHandlers(attrs, suffix, getData) {
1591
1591
  return Object.keys(attrs).filter(key => isOn(key) && key.endsWith(suffix)).reduce((acc, key) => {
1592
- acc[key.slice(0, -suffix.length)] = event => attrs[key](event, getData(event));
1592
+ acc[key.slice(0, -suffix.length)] = event => callEvent(attrs[key], event, getData(event));
1593
1593
  return acc;
1594
1594
  }, {});
1595
1595
  }
@@ -5890,6 +5890,7 @@
5890
5890
  const href = vue.toRef(() => props.href);
5891
5891
  return {
5892
5892
  isLink,
5893
+ isRouterLink: vue.toRef(() => false),
5893
5894
  isClickable,
5894
5895
  href,
5895
5896
  linkProps: vue.reactive({
@@ -5913,8 +5914,10 @@
5913
5914
  return link.value.isExactActive?.value && deepEqual(link.value.route.value.query, route.value.query);
5914
5915
  });
5915
5916
  const href = vue.computed(() => props.to ? link.value?.route.value.href : props.href);
5917
+ const isRouterLink = vue.toRef(() => !!props.to);
5916
5918
  return {
5917
5919
  isLink,
5920
+ isRouterLink,
5918
5921
  isClickable,
5919
5922
  isActive,
5920
5923
  route: link.value?.route,
@@ -5922,7 +5925,9 @@
5922
5925
  href,
5923
5926
  linkProps: vue.reactive({
5924
5927
  href,
5925
- 'aria-current': vue.toRef(() => isActive.value ? 'page' : undefined)
5928
+ 'aria-current': vue.toRef(() => isActive.value ? 'page' : undefined),
5929
+ 'aria-disabled': vue.toRef(() => props.disabled && isLink.value ? 'true' : undefined),
5930
+ tabindex: vue.toRef(() => props.disabled && isLink.value ? '-1' : undefined)
5926
5931
  })
5927
5932
  };
5928
5933
  }
@@ -6372,7 +6377,7 @@
6372
6377
  if (props.active !== undefined) {
6373
6378
  return props.active;
6374
6379
  }
6375
- if (link.isLink.value) {
6380
+ if (link.isRouterLink.value) {
6376
6381
  return link.isActive?.value;
6377
6382
  }
6378
6383
  return group?.isSelected.value;
@@ -6413,7 +6418,7 @@
6413
6418
  const hasPrepend = !!(props.prependIcon || slots.prepend);
6414
6419
  const hasAppend = !!(props.appendIcon || slots.append);
6415
6420
  const hasIcon = !!(props.icon && props.icon !== true);
6416
- return vue.withDirectives(vue.createVNode(Tag, vue.mergeProps({
6421
+ return vue.withDirectives(vue.createVNode(Tag, vue.mergeProps(link.linkProps, {
6417
6422
  "type": Tag === 'a' ? undefined : 'button',
6418
6423
  "class": ['v-btn', group?.selectedClass.value, {
6419
6424
  'v-btn--active': isActive.value,
@@ -6429,11 +6434,11 @@
6429
6434
  }, props.spaced ? ['v-btn--spaced', `v-btn--spaced-${props.spaced}`] : [], themeClasses.value, borderClasses.value, colorClasses.value, densityClasses.value, elevationClasses.value, loaderClasses.value, positionClasses.value, roundedClasses.value, sizeClasses.value, variantClasses.value, props.class],
6430
6435
  "style": [colorStyles.value, dimensionStyles.value, locationStyles.value, sizeStyles.value, props.style],
6431
6436
  "aria-busy": props.loading ? true : undefined,
6432
- "disabled": isDisabled.value || undefined,
6437
+ "disabled": isDisabled.value && Tag !== 'a' || undefined,
6433
6438
  "tabindex": props.loading || props.readonly ? -1 : undefined,
6434
6439
  "onClick": onClick,
6435
6440
  "value": valueAttr.value
6436
- }, link.linkProps), {
6441
+ }), {
6437
6442
  default: () => [genOverlays(true, 'v-btn'), !props.icon && hasPrepend && vue.createElementVNode("span", {
6438
6443
  "key": "prepend",
6439
6444
  "class": "v-btn__prepend"
@@ -8178,7 +8183,7 @@
8178
8183
  const rtl = goTo?.rtl.value;
8179
8184
  const target = (typeof _target === 'number' ? _target : getTarget$1(_target)) ?? 0;
8180
8185
  const container = options.container === 'parent' && target instanceof HTMLElement ? target.parentElement : getContainer(options.container);
8181
- const ease = window.matchMedia('(prefers-reduced-motion: reduce)').matches ? options.patterns.instant : typeof options.easing === 'function' ? options.easing : options.patterns[options.easing];
8186
+ const ease = PREFERS_REDUCED_MOTION() ? options.patterns.instant : typeof options.easing === 'function' ? options.easing : options.patterns[options.easing];
8182
8187
  if (!ease) throw new TypeError(`Easing function "${options.easing}" not found.`);
8183
8188
  let targetLocation;
8184
8189
  if (typeof target === 'number') {
@@ -8890,7 +8895,7 @@
8890
8895
  const hasFilter = !!(slots.filter || props.filter) && group;
8891
8896
  const hasPrependMedia = !!(props.prependIcon || props.prependAvatar);
8892
8897
  const hasPrepend = !!(hasPrependMedia || slots.prepend);
8893
- return isActive.value && vue.withDirectives(vue.createVNode(Tag, vue.mergeProps({
8898
+ return isActive.value && vue.withDirectives(vue.createVNode(Tag, vue.mergeProps(link.linkProps, {
8894
8899
  "class": ['v-chip', {
8895
8900
  'v-chip--disabled': props.disabled,
8896
8901
  'v-chip--label': props.label,
@@ -8905,7 +8910,7 @@
8905
8910
  "tabindex": isClickable.value ? 0 : undefined,
8906
8911
  "onClick": onClick,
8907
8912
  "onKeydown": isClickable.value && !isLink.value && onKeyDown
8908
- }, link.linkProps), {
8913
+ }), {
8909
8914
  default: () => [genOverlays(isClickable.value, 'v-chip'), hasFilter && vue.createVNode(VExpandXTransition, {
8910
8915
  "key": "filter"
8911
8916
  }, {
@@ -10108,7 +10113,7 @@
10108
10113
  if (props.activeColor) {
10109
10114
  deprecate('active-color', ['color', 'base-color']);
10110
10115
  }
10111
- return vue.withDirectives(vue.createVNode(Tag, vue.mergeProps({
10116
+ return vue.withDirectives(vue.createVNode(Tag, vue.mergeProps(link.linkProps, {
10112
10117
  "class": ['v-list-item', {
10113
10118
  'v-list-item--active': isActive.value,
10114
10119
  'v-list-item--disabled': props.disabled,
@@ -10124,7 +10129,7 @@
10124
10129
  "role": role.value,
10125
10130
  "onClick": onClick,
10126
10131
  "onKeydown": isClickable.value && !isLink.value && onKeyDown
10127
- }, link.linkProps), {
10132
+ }), {
10128
10133
  default: () => [genOverlays(isClickable.value || isActive.value, 'v-list-item'), hasPrepend && vue.createElementVNode("div", {
10129
10134
  "key": "prepend",
10130
10135
  "class": "v-list-item__prepend"
@@ -14406,7 +14411,7 @@
14406
14411
  } else {
14407
14412
  if (!props.multiple && search.value == null) model.value = [];
14408
14413
  menu.value = false;
14409
- if (props.multiple || hasSelectionSlot.value) search.value = '';
14414
+ search.value = '';
14410
14415
  selectionIndex.value = -1;
14411
14416
  }
14412
14417
  });
@@ -15629,7 +15634,7 @@
15629
15634
  const hasImage = !!(slots.image || props.image);
15630
15635
  const hasCardItem = hasHeader || hasPrepend || hasAppend;
15631
15636
  const hasText = !!(slots.text || props.text != null);
15632
- return vue.withDirectives(vue.createVNode(Tag, vue.mergeProps({
15637
+ return vue.withDirectives(vue.createVNode(Tag, vue.mergeProps(link.linkProps, {
15633
15638
  "class": ['v-card', {
15634
15639
  'v-card--disabled': props.disabled,
15635
15640
  'v-card--flat': props.flat,
@@ -15639,7 +15644,7 @@
15639
15644
  "style": [colorStyles.value, dimensionStyles.value, locationStyles.value, props.style],
15640
15645
  "onClick": isClickable && link.navigate,
15641
15646
  "tabindex": props.disabled ? -1 : undefined
15642
- }, link.linkProps), {
15647
+ }), {
15643
15648
  default: () => [hasImage && vue.createElementVNode("div", {
15644
15649
  "key": "image",
15645
15650
  "class": "v-card__image"
@@ -19498,7 +19503,6 @@
19498
19503
  const isFocused = vue.shallowRef(false);
19499
19504
  const isPristine = vue.shallowRef(true);
19500
19505
  const listHasFocus = vue.shallowRef(false);
19501
- const showAllItemsForNoMatch = vue.shallowRef(false);
19502
19506
  const vMenuRef = vue.ref();
19503
19507
  const vVirtualScrollRef = vue.ref();
19504
19508
  const selectionIndex = vue.shallowRef(-1);
@@ -19554,22 +19558,14 @@
19554
19558
  const {
19555
19559
  filteredItems,
19556
19560
  getMatches
19557
- } = useFilter(props, items, search);
19558
- const hasMatchingItems = vue.computed(() => {
19559
- return props.hideSelected ? filteredItems.value.some(filteredItem => !model.value.some(s => s.value === filteredItem.value)) : filteredItems.value.length > 0;
19560
- });
19561
+ } = useFilter(props, items, () => isPristine.value ? '' : search.value);
19561
19562
  const displayItems = vue.computed(() => {
19562
19563
  if (props.hideSelected) {
19563
19564
  return filteredItems.value.filter(filteredItem => !model.value.some(s => s.value === filteredItem.value));
19564
19565
  }
19565
- if (filteredItems.value.length === 0 && showAllItemsForNoMatch.value) {
19566
- return items.value;
19567
- }
19568
19566
  return filteredItems.value;
19569
19567
  });
19570
- const menuDisabled = vue.computed(() => {
19571
- return form.isReadonly.value || form.isDisabled.value;
19572
- });
19568
+ const menuDisabled = vue.computed(() => props.hideNoData && !displayItems.value.length || form.isReadonly.value || form.isDisabled.value);
19573
19569
  const _menu = useProxiedModel(props, 'menu');
19574
19570
  const menu = vue.computed({
19575
19571
  get: () => _menu.value,
@@ -19586,17 +19582,13 @@
19586
19582
  ariaLabel
19587
19583
  } = useMenuActivator(props, menu);
19588
19584
  vue.watch(_search, value => {
19589
- showAllItemsForNoMatch.value = false;
19590
19585
  if (cleared) {
19591
19586
  // wait for clear to finish, VTextField sets _search to null
19592
19587
  // then search computed triggers and updates _search to ''
19593
19588
  vue.nextTick(() => cleared = false);
19594
19589
  } else if (isFocused.value && !menu.value) {
19595
- menu.value = hasMatchingItems.value || !props.hideNoData;
19596
- } else if (isFocused.value && menu.value && !hasMatchingItems.value && props.hideNoData) {
19597
- menu.value = false;
19590
+ menu.value = true;
19598
19591
  }
19599
- isPristine.value = !value;
19600
19592
  emit('update:search', value);
19601
19593
  });
19602
19594
  vue.watch(model, value => {
@@ -19775,19 +19767,13 @@
19775
19767
  }
19776
19768
  }
19777
19769
  });
19778
- vue.watch(menu, val => {
19779
- if (!props.hideSelected && val && model.value.length) {
19770
+ vue.watch(menu, () => {
19771
+ if (!props.hideSelected && menu.value && model.value.length) {
19780
19772
  const index = displayItems.value.findIndex(item => model.value.some(s => (props.valueComparator || deepEqual)(s.value, item.value)));
19781
19773
  IN_BROWSER && window.requestAnimationFrame(() => {
19782
19774
  index >= 0 && vVirtualScrollRef.value?.scrollToIndex(index);
19783
19775
  });
19784
19776
  }
19785
- if (val && search.value && !hasMatchingItems.value) {
19786
- showAllItemsForNoMatch.value = true;
19787
- }
19788
- isPristine.value = !search.value;
19789
- }, {
19790
- immediate: true
19791
19777
  });
19792
19778
  vue.watch(items, (newVal, oldVal) => {
19793
19779
  if (menu.value) return;
@@ -19984,7 +19970,7 @@
19984
19970
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
19985
19971
  args[_key] = arguments[_key];
19986
19972
  }
19987
- return vue.createElementVNode(vue.Fragment, null, [slots['append-inner']?.(...args), props.menuIcon ? vue.createVNode(VIcon, {
19973
+ return vue.createElementVNode(vue.Fragment, null, [slots['append-inner']?.(...args), (!props.hideNoData || props.items.length) && props.menuIcon ? vue.createVNode(VIcon, {
19988
19974
  "class": "v-combobox__menu-icon",
19989
19975
  "color": vTextFieldRef.value?.fieldIconColor,
19990
19976
  "icon": props.menuIcon,
@@ -20127,20 +20113,20 @@
20127
20113
  }, v => {
20128
20114
  return [...v.values()];
20129
20115
  });
20130
- function getItemKey(item) {
20131
- return isObject(item.value) ? item.key : item.value;
20132
- }
20133
20116
  function expand(item, value) {
20134
20117
  const newExpanded = new Set(expanded.value);
20118
+ const rawValue = vue.toRaw(item.value);
20135
20119
  if (!value) {
20136
- newExpanded.delete(getItemKey(item));
20120
+ const item = [...expanded.value].find(x => vue.toRaw(x) === rawValue);
20121
+ newExpanded.delete(item);
20137
20122
  } else {
20138
- newExpanded.add(getItemKey(item));
20123
+ newExpanded.add(rawValue);
20139
20124
  }
20140
20125
  expanded.value = newExpanded;
20141
20126
  }
20142
20127
  function isExpanded(item) {
20143
- return expanded.value.has(getItemKey(item));
20128
+ const rawValue = vue.toRaw(item.value);
20129
+ return [...expanded.value].some(x => vue.toRaw(x) === rawValue);
20144
20130
  }
20145
20131
  function toggleExpand(item) {
20146
20132
  expand(item, !isExpanded(item));
@@ -27003,6 +26989,7 @@
27003
26989
  useRender(() => {
27004
26990
  const {
27005
26991
  modelValue: _,
26992
+ type,
27006
26993
  ...textFieldProps
27007
26994
  } = VTextField.filterProps(props);
27008
26995
  function incrementControlNode() {
@@ -29452,7 +29439,7 @@
29452
29439
  } = useFocus(props);
29453
29440
  const control = vue.ref();
29454
29441
  const inputRef = vue.ref();
29455
- const isForcedColorsModeActive = IN_BROWSER && window.matchMedia('(forced-colors: active)').matches;
29442
+ const isForcedColorsModeActive = SUPPORTS_MATCH_MEDIA && window.matchMedia('(forced-colors: active)').matches;
29456
29443
  const loaderColor = vue.toRef(() => {
29457
29444
  return typeof props.loading === 'string' && props.loading !== '' ? props.loading : props.color;
29458
29445
  });
@@ -32254,7 +32241,7 @@
32254
32241
  };
32255
32242
  });
32256
32243
  }
32257
- const version$1 = "3.10.2";
32244
+ const version$1 = "3.10.3";
32258
32245
  createVuetify$1.version = version$1;
32259
32246
 
32260
32247
  // Vue's inject() can only be used in setup
@@ -32279,7 +32266,7 @@
32279
32266
  ...options
32280
32267
  });
32281
32268
  };
32282
- const version = "3.10.2";
32269
+ const version = "3.10.3";
32283
32270
  createVuetify.version = version;
32284
32271
 
32285
32272
  exports.blueprints = index;