@vuetify/nightly 3.6.13-3.7.0-beta.0.0-pr-20092.dc840ce → 3.6.13-pr-20185.5bf1ff4

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 (204) hide show
  1. package/dist/json/attributes.json +125 -273
  2. package/dist/json/importMap-labs.json +12 -12
  3. package/dist/json/importMap.json +102 -102
  4. package/dist/json/tags.json +5 -42
  5. package/dist/json/web-types.json +239 -610
  6. package/dist/vuetify-labs.css +4045 -3340
  7. package/dist/vuetify-labs.d.ts +368 -697
  8. package/dist/vuetify-labs.esm.js +236 -241
  9. package/dist/vuetify-labs.esm.js.map +1 -1
  10. package/dist/vuetify-labs.js +236 -241
  11. package/dist/vuetify-labs.min.css +2 -2
  12. package/dist/vuetify.css +1754 -1049
  13. package/dist/vuetify.d.ts +338 -601
  14. package/dist/vuetify.esm.js +97 -160
  15. package/dist/vuetify.esm.js.map +1 -1
  16. package/dist/vuetify.js +97 -160
  17. package/dist/vuetify.js.map +1 -1
  18. package/dist/vuetify.min.css +2 -2
  19. package/dist/vuetify.min.js +1038 -1037
  20. package/dist/vuetify.min.js.map +1 -1
  21. package/lib/components/VAlert/VAlert.css +5 -1
  22. package/lib/components/VAppBar/index.d.mts +0 -6
  23. package/lib/components/VAutocomplete/VAutocomplete.css +4 -0
  24. package/lib/components/VAutocomplete/VAutocomplete.mjs +8 -15
  25. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  26. package/lib/components/VAutocomplete/index.d.mts +42 -61
  27. package/lib/components/VAvatar/VAvatar.css +2 -7
  28. package/lib/components/VAvatar/VAvatar.mjs +2 -7
  29. package/lib/components/VAvatar/VAvatar.mjs.map +1 -1
  30. package/lib/components/VAvatar/VAvatar.sass +0 -1
  31. package/lib/components/VAvatar/_variables.scss +0 -13
  32. package/lib/components/VAvatar/index.d.mts +0 -6
  33. package/lib/components/VBadge/VBadge.css +2 -0
  34. package/lib/components/VBanner/VBanner.css +12 -4
  35. package/lib/components/VBottomNavigation/VBottomNavigation.css +11 -3
  36. package/lib/components/VBottomSheet/VBottomSheet.css +2 -0
  37. package/lib/components/VBreadcrumbs/index.d.mts +8 -8
  38. package/lib/components/VBtn/VBtn.css +16 -9
  39. package/lib/components/VBtn/VBtn.mjs +2 -4
  40. package/lib/components/VBtn/VBtn.mjs.map +1 -1
  41. package/lib/components/VBtn/VBtn.sass +4 -4
  42. package/lib/components/VBtn/index.d.mts +0 -6
  43. package/lib/components/VBtnGroup/VBtnGroup.css +12 -4
  44. package/lib/components/VCard/VCard.css +9 -1
  45. package/lib/components/VCarousel/VCarousel.css +2 -0
  46. package/lib/components/VCarousel/index.d.mts +0 -9
  47. package/lib/components/VCheckbox/index.d.mts +6 -6
  48. package/lib/components/VChip/VChip.css +15 -9
  49. package/lib/components/VChip/VChip.sass +1 -1
  50. package/lib/components/VColorPicker/VColorPicker.css +2 -0
  51. package/lib/components/VColorPicker/VColorPicker.sass +4 -4
  52. package/lib/components/VColorPicker/VColorPickerPreview.sass +4 -4
  53. package/lib/components/VCombobox/VCombobox.css +4 -0
  54. package/lib/components/VCombobox/VCombobox.mjs +8 -15
  55. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  56. package/lib/components/VCombobox/index.d.mts +42 -61
  57. package/lib/components/VDataTable/composables/options.mjs +1 -1
  58. package/lib/components/VDataTable/composables/options.mjs.map +1 -1
  59. package/lib/components/VDialog/VDialog.css +5 -0
  60. package/lib/components/VDialog/index.d.mts +3 -3
  61. package/lib/components/VDivider/VDivider.css +2 -0
  62. package/lib/components/VExpansionPanel/VExpansionPanel.css +11 -5
  63. package/lib/components/VExpansionPanel/VExpansionPanel.sass +3 -3
  64. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs +2 -7
  65. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs.map +1 -1
  66. package/lib/components/VExpansionPanel/index.d.mts +0 -72
  67. package/lib/components/VFab/index.d.mts +0 -6
  68. package/lib/components/VField/VField.css +13 -1
  69. package/lib/components/VField/VField.sass +5 -8
  70. package/lib/components/VFileInput/index.d.mts +18 -18
  71. package/lib/components/VFooter/VFooter.css +12 -4
  72. package/lib/components/VFooter/VFooter.mjs +20 -14
  73. package/lib/components/VFooter/VFooter.mjs.map +1 -1
  74. package/lib/components/VFooter/index.d.mts +3 -3
  75. package/lib/components/VForm/index.d.mts +9 -9
  76. package/lib/components/VGrid/VContainer.mjs +1 -6
  77. package/lib/components/VGrid/VContainer.mjs.map +1 -1
  78. package/lib/components/VGrid/VGrid.sass +1 -1
  79. package/lib/components/VGrid/_mixins.sass +4 -4
  80. package/lib/components/VGrid/index.d.mts +0 -36
  81. package/lib/components/VImg/VImg.css +6 -9
  82. package/lib/components/VImg/VImg.mjs +0 -2
  83. package/lib/components/VImg/VImg.mjs.map +1 -1
  84. package/lib/components/VImg/VImg.sass +0 -9
  85. package/lib/components/VImg/index.d.mts +0 -9
  86. package/lib/components/VInput/index.d.mts +6 -6
  87. package/lib/components/VKbd/VKbd.css +2 -0
  88. package/lib/components/VList/VList.css +12 -4
  89. package/lib/components/VList/VListItem.css +23 -13
  90. package/lib/components/VList/VListItem.mjs +0 -2
  91. package/lib/components/VList/VListItem.mjs.map +1 -1
  92. package/lib/components/VList/VListItem.sass +2 -2
  93. package/lib/components/VList/index.d.mts +18 -19
  94. package/lib/components/VMain/VMain.css +2 -0
  95. package/lib/components/VMenu/VMenu.css +6 -0
  96. package/lib/components/VMenu/VMenu.mjs +6 -27
  97. package/lib/components/VMenu/VMenu.mjs.map +1 -1
  98. package/lib/components/VMenu/index.d.mts +15 -30
  99. package/lib/components/VNavigationDrawer/VNavigationDrawer.css +9 -3
  100. package/lib/components/VOtpInput/VOtpInput.css +3 -1
  101. package/lib/components/VOtpInput/VOtpInput.sass +1 -2
  102. package/lib/components/VOverflowBtn/VOverflowBtn.sass +1 -1
  103. package/lib/components/VOverlay/VOverlay.mjs +4 -5
  104. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  105. package/lib/components/VOverlay/useActivator.mjs +2 -3
  106. package/lib/components/VOverlay/useActivator.mjs.map +1 -1
  107. package/lib/components/VRadioGroup/index.d.mts +6 -6
  108. package/lib/components/VRangeSlider/index.d.mts +6 -6
  109. package/lib/components/VSelect/VSelect.css +4 -0
  110. package/lib/components/VSelect/VSelect.mjs +13 -15
  111. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  112. package/lib/components/VSelect/index.d.mts +42 -61
  113. package/lib/components/VSelect/useScrolling.mjs +3 -3
  114. package/lib/components/VSelect/useScrolling.mjs.map +1 -1
  115. package/lib/components/VSelectionControl/VSelectionControl.css +6 -4
  116. package/lib/components/VSelectionControl/VSelectionControl.sass +1 -1
  117. package/lib/components/VSheet/VSheet.css +12 -4
  118. package/lib/components/VSkeletonLoader/VSkeletonLoader.css +6 -4
  119. package/lib/components/VSkeletonLoader/VSkeletonLoader.mjs +9 -8
  120. package/lib/components/VSkeletonLoader/VSkeletonLoader.mjs.map +1 -1
  121. package/lib/components/VSkeletonLoader/VSkeletonLoader.sass +1 -2
  122. package/lib/components/VSlideGroup/VSlideGroup.mjs +1 -3
  123. package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
  124. package/lib/components/VSlideGroup/index.d.mts +0 -6
  125. package/lib/components/VSlider/VSliderThumb.sass +2 -2
  126. package/lib/components/VSlider/index.d.mts +6 -6
  127. package/lib/components/VSnackbar/VSnackbar.css +2 -0
  128. package/lib/components/VSnackbar/VSnackbar.mjs +4 -4
  129. package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
  130. package/lib/components/VSnackbar/index.d.mts +3 -3
  131. package/lib/components/VSpeedDial/index.d.mts +13 -28
  132. package/lib/components/VStepper/VStepper.css +8 -2
  133. package/lib/components/VStepper/VStepper.sass +2 -4
  134. package/lib/components/VStepper/VStepperItem.css +4 -1
  135. package/lib/components/VStepper/VStepperItem.sass +1 -1
  136. package/lib/components/VSwitch/VSwitch.css +2 -0
  137. package/lib/components/VSwitch/VSwitch.sass +10 -10
  138. package/lib/components/VSwitch/index.d.mts +6 -6
  139. package/lib/components/VSystemBar/VSystemBar.css +14 -8
  140. package/lib/components/VTable/VTable.css +8 -4
  141. package/lib/components/VTable/VTable.sass +2 -3
  142. package/lib/components/VTabs/index.d.mts +3 -21
  143. package/lib/components/VTextField/index.d.mts +18 -18
  144. package/lib/components/VTextarea/index.d.mts +18 -18
  145. package/lib/components/VTimeline/VTimeline.css +2 -0
  146. package/lib/components/VToolbar/VToolbar.css +21 -7
  147. package/lib/components/VToolbar/VToolbar.sass +1 -2
  148. package/lib/components/VTooltip/index.d.mts +3 -3
  149. package/lib/components/VTreeview/VTreeview.sass +9 -9
  150. package/lib/components/VValidation/index.d.mts +8 -9
  151. package/lib/components/VVirtualScroll/VVirtualScroll.mjs +0 -2
  152. package/lib/components/VVirtualScroll/VVirtualScroll.mjs.map +1 -1
  153. package/lib/components/VVirtualScroll/index.d.mts +0 -3
  154. package/lib/components/index.d.mts +302 -565
  155. package/lib/composables/nested/nested.mjs +3 -3
  156. package/lib/composables/nested/nested.mjs.map +1 -1
  157. package/lib/composables/nested/openStrategies.mjs +2 -4
  158. package/lib/composables/nested/openStrategies.mjs.map +1 -1
  159. package/lib/composables/nested/selectStrategies.mjs +5 -5
  160. package/lib/composables/nested/selectStrategies.mjs.map +1 -1
  161. package/lib/composables/validation.mjs +6 -8
  162. package/lib/composables/validation.mjs.map +1 -1
  163. package/lib/composables/virtual.mjs +0 -1
  164. package/lib/composables/virtual.mjs.map +1 -1
  165. package/lib/entry-bundler.mjs +1 -1
  166. package/lib/entry-bundler.mjs.map +1 -1
  167. package/lib/framework.mjs +1 -1
  168. package/lib/framework.mjs.map +1 -1
  169. package/lib/index.d.mts +36 -36
  170. package/lib/labs/VDateInput/index.d.mts +6 -6
  171. package/lib/labs/VNumberInput/VNumberInput.mjs +60 -36
  172. package/lib/labs/VNumberInput/VNumberInput.mjs.map +1 -1
  173. package/lib/labs/VNumberInput/index.d.mts +23 -14
  174. package/lib/labs/VPicker/VPicker.css +6 -2
  175. package/lib/labs/VPicker/VPicker.sass +2 -3
  176. package/lib/labs/VSnackbarQueue/index.d.mts +3 -3
  177. package/lib/labs/VStepperVertical/index.d.mts +0 -36
  178. package/lib/labs/VTreeview/VTreeview.mjs +5 -7
  179. package/lib/labs/VTreeview/VTreeview.mjs.map +1 -1
  180. package/lib/labs/VTreeview/VTreeviewChildren.mjs +10 -33
  181. package/lib/labs/VTreeview/VTreeviewChildren.mjs.map +1 -1
  182. package/lib/labs/VTreeview/VTreeviewItem.css +1 -1
  183. package/lib/labs/VTreeview/VTreeviewItem.mjs +74 -14
  184. package/lib/labs/VTreeview/VTreeviewItem.mjs.map +1 -1
  185. package/lib/labs/VTreeview/VTreeviewItem.sass +5 -2
  186. package/lib/labs/VTreeview/index.d.mts +60 -77
  187. package/lib/labs/components.d.mts +92 -136
  188. package/lib/styles/generic/_colors.scss +9 -3
  189. package/lib/styles/main.css +520 -0
  190. package/lib/styles/tools/_absolute.sass +8 -7
  191. package/lib/styles/tools/_border.sass +4 -3
  192. package/lib/styles/tools/_display.sass +8 -7
  193. package/lib/styles/tools/_elevation.sass +4 -2
  194. package/lib/styles/tools/_index.sass +0 -1
  195. package/lib/styles/tools/_radius.sass +6 -5
  196. package/lib/styles/tools/_rounded.sass +2 -1
  197. package/lib/styles/tools/_theme.sass +3 -2
  198. package/lib/styles/tools/_typography.sass +6 -5
  199. package/lib/styles/tools/_utilities.sass +5 -5
  200. package/lib/styles/utilities/_index.sass +7 -7
  201. package/lib/util/helpers.mjs +0 -5
  202. package/lib/util/helpers.mjs.map +1 -1
  203. package/package.json +1 -1
  204. package/lib/styles/tools/_sheet.sass +0 -14
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.6.13-3.7.0-beta.0.0-pr-20092.dc840ce
2
+ * Vuetify v3.6.13-pr-20185.5bf1ff4
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -498,11 +498,6 @@ function templateRef() {
498
498
  });
499
499
  return fn;
500
500
  }
501
- function checkPrintable(e) {
502
- const isPrintableChar = e.key.length === 1;
503
- const noModifier = !e.ctrlKey && !e.metaKey && !e.altKey;
504
- return isPrintableChar && noModifier;
505
- }
506
501
 
507
502
  // Utilities
508
503
  const block = ['top', 'bottom'];
@@ -3693,7 +3688,6 @@ const Intersect = {
3693
3688
  // not intended for public use, this is passed in by vuetify-loader
3694
3689
 
3695
3690
  const makeVImgProps = propsFactory({
3696
- absolute: Boolean,
3697
3691
  alt: String,
3698
3692
  cover: Boolean,
3699
3693
  color: String,
@@ -3950,7 +3944,6 @@ const VImg = genericComponent()({
3950
3944
  const responsiveProps = VResponsive.filterProps(props);
3951
3945
  return withDirectives(createVNode(VResponsive, mergeProps({
3952
3946
  "class": ['v-img', {
3953
- 'v-img--absolute': props.absolute,
3954
3947
  'v-img--booting': !isBooted.value
3955
3948
  }, backgroundColorClasses.value, roundedClasses.value, props.class],
3956
3949
  "style": [{
@@ -5751,7 +5744,6 @@ const makeVBtnProps = propsFactory({
5751
5744
  type: Boolean,
5752
5745
  default: undefined
5753
5746
  },
5754
- activeColor: String,
5755
5747
  baseColor: String,
5756
5748
  symbol: {
5757
5749
  type: null,
@@ -5843,11 +5835,10 @@ const VBtn = genericComponent()({
5843
5835
  }
5844
5836
  return group?.isSelected.value;
5845
5837
  });
5846
- const color = computed(() => isActive.value ? props.activeColor ?? props.color : props.color);
5847
5838
  const variantProps = computed(() => {
5848
5839
  const showColor = group?.isSelected.value && (!link.isLink.value || link.isActive?.value) || !group || link.isActive?.value;
5849
5840
  return {
5850
- color: showColor ? color.value ?? props.baseColor : props.baseColor,
5841
+ color: showColor ? props.color ?? props.baseColor : props.baseColor,
5851
5842
  variant: props.variant
5852
5843
  };
5853
5844
  });
@@ -5949,7 +5940,7 @@ const VBtn = genericComponent()({
5949
5940
  "indeterminate": true,
5950
5941
  "width": "2"
5951
5942
  }, null)])]
5952
- }), [[Ripple, !isDisabled.value && !!props.ripple, '', {
5943
+ }), [[Ripple, !isDisabled.value && props.ripple, '', {
5953
5944
  center: !!props.icon
5954
5945
  }]]);
5955
5946
  });
@@ -6188,7 +6179,6 @@ const makeVAvatarProps = propsFactory({
6188
6179
  icon: IconValue,
6189
6180
  image: String,
6190
6181
  text: String,
6191
- ...makeBorderProps(),
6192
6182
  ...makeComponentProps(),
6193
6183
  ...makeDensityProps(),
6194
6184
  ...makeRoundedProps(),
@@ -6209,9 +6199,6 @@ const VAvatar = genericComponent()({
6209
6199
  const {
6210
6200
  themeClasses
6211
6201
  } = provideTheme(props);
6212
- const {
6213
- borderClasses
6214
- } = useBorder(props);
6215
6202
  const {
6216
6203
  colorClasses,
6217
6204
  colorStyles,
@@ -6231,7 +6218,7 @@ const VAvatar = genericComponent()({
6231
6218
  "class": ['v-avatar', {
6232
6219
  'v-avatar--start': props.start,
6233
6220
  'v-avatar--end': props.end
6234
- }, themeClasses.value, borderClasses.value, colorClasses.value, densityClasses.value, roundedClasses.value, sizeClasses.value, variantClasses.value, props.class],
6221
+ }, themeClasses.value, colorClasses.value, densityClasses.value, roundedClasses.value, sizeClasses.value, variantClasses.value, props.class],
6235
6222
  "style": [colorStyles.value, sizeStyles.value, props.style]
6236
6223
  }, {
6237
6224
  default: () => [!slots.default ? props.image ? createVNode(VImg, {
@@ -6247,7 +6234,7 @@ const VAvatar = genericComponent()({
6247
6234
  "defaults": {
6248
6235
  VImg: {
6249
6236
  cover: true,
6250
- image: props.image
6237
+ src: props.image
6251
6238
  },
6252
6239
  VIcon: {
6253
6240
  icon: props.icon
@@ -6931,14 +6918,12 @@ function useValidation(props) {
6931
6918
  const validateOn = computed(() => {
6932
6919
  let value = (props.validateOn ?? form?.validateOn.value) || 'input';
6933
6920
  if (value === 'lazy') value = 'input lazy';
6934
- if (value === 'eager') value = 'input eager';
6935
6921
  const set = new Set(value?.split(' ') ?? []);
6936
6922
  return {
6923
+ blur: set.has('blur') || set.has('input'),
6937
6924
  input: set.has('input'),
6938
- blur: set.has('blur') || set.has('input') || set.has('invalid-input'),
6939
- invalidInput: set.has('invalid-input'),
6940
- lazy: set.has('lazy'),
6941
- eager: set.has('eager')
6925
+ submit: set.has('submit'),
6926
+ lazy: set.has('lazy')
6942
6927
  };
6943
6928
  });
6944
6929
  const isValid = computed(() => {
@@ -6975,11 +6960,11 @@ function useValidation(props) {
6975
6960
  });
6976
6961
  onMounted(async () => {
6977
6962
  if (!validateOn.value.lazy) {
6978
- await validate(!validateOn.value.eager);
6963
+ await validate(true);
6979
6964
  }
6980
6965
  form?.update(uid.value, isValid.value, errorMessages.value);
6981
6966
  });
6982
- useToggleScope(() => validateOn.value.input || validateOn.value.invalidInput && isValid.value === false, () => {
6967
+ useToggleScope(() => validateOn.value.input, () => {
6983
6968
  watch(validationModel, () => {
6984
6969
  if (validationModel.value != null) {
6985
6970
  validate();
@@ -7007,7 +6992,7 @@ function useValidation(props) {
7007
6992
  async function resetValidation() {
7008
6993
  isPristine.value = true;
7009
6994
  if (!validateOn.value.lazy) {
7010
- await validate(!validateOn.value.eager);
6995
+ await validate(true);
7011
6996
  } else {
7012
6997
  internalErrorMessages.value = [];
7013
6998
  }
@@ -7947,9 +7932,7 @@ const VSlideGroup = genericComponent()({
7947
7932
  selected: group.selected,
7948
7933
  scrollTo,
7949
7934
  scrollOffset,
7950
- focus,
7951
- hasPrev,
7952
- hasNext
7935
+ focus
7953
7936
  };
7954
7937
  }
7955
7938
  });
@@ -8419,7 +8402,6 @@ const leafSingleActiveStrategy = mandatory => {
8419
8402
  return strategy;
8420
8403
  };
8421
8404
 
8422
- // Utilities
8423
8405
  const singleOpenStrategy = {
8424
8406
  open: _ref => {
8425
8407
  let {
@@ -8453,11 +8435,11 @@ const multipleOpenStrategy = {
8453
8435
  parents
8454
8436
  } = _ref2;
8455
8437
  if (value) {
8456
- let parent = toRaw(parents.get(id));
8438
+ let parent = parents.get(id);
8457
8439
  opened.add(id);
8458
8440
  while (parent != null && parent !== id) {
8459
8441
  opened.add(parent);
8460
- parent = toRaw(parents.get(parent));
8442
+ parent = parents.get(parent);
8461
8443
  }
8462
8444
  return opened;
8463
8445
  } else {
@@ -8628,18 +8610,18 @@ const classicSelectStrategy = mandatory => {
8628
8610
  const items = [id];
8629
8611
  while (items.length) {
8630
8612
  const item = items.shift();
8631
- selected.set(toRaw(item), value ? 'on' : 'off');
8613
+ selected.set(item, value ? 'on' : 'off');
8632
8614
  if (children.has(item)) {
8633
8615
  items.push(...children.get(item));
8634
8616
  }
8635
8617
  }
8636
- let parent = toRaw(parents.get(id));
8618
+ let parent = parents.get(id);
8637
8619
  while (parent) {
8638
8620
  const childrenIds = children.get(parent);
8639
- const everySelected = childrenIds.every(cid => selected.get(toRaw(cid)) === 'on');
8640
- const noneSelected = childrenIds.every(cid => !selected.has(toRaw(cid)) || selected.get(toRaw(cid)) === 'off');
8621
+ const everySelected = childrenIds.every(cid => selected.get(cid) === 'on');
8622
+ const noneSelected = childrenIds.every(cid => !selected.has(cid) || selected.get(cid) === 'off');
8641
8623
  selected.set(parent, everySelected ? 'on' : noneSelected ? 'off' : 'indeterminate');
8642
- parent = toRaw(parents.get(parent));
8624
+ parent = parents.get(parent);
8643
8625
  }
8644
8626
 
8645
8627
  // If mandatory and planned deselect results in no selected
@@ -8717,7 +8699,7 @@ const useNested = props => {
8717
8699
  let isUnmounted = false;
8718
8700
  const children = ref(new Map());
8719
8701
  const parents = ref(new Map());
8720
- const opened = useProxiedModel(props, 'opened', props.opened, v => new Set(toRaw(v)), v => [...v.values()]);
8702
+ const opened = useProxiedModel(props, 'opened', props.opened, v => new Set(v), v => [...v.values()]);
8721
8703
  const activeStrategy = computed(() => {
8722
8704
  if (typeof props.activeStrategy === 'object') return props.activeStrategy;
8723
8705
  if (typeof props.activeStrategy === 'function') return props.activeStrategy(props.mandatory);
@@ -8890,9 +8872,9 @@ const useNestedItem = (id, isGroup) => {
8890
8872
  const item = {
8891
8873
  ...parent,
8892
8874
  id: computedId,
8893
- open: (open, e) => parent.root.open(toRaw(computedId.value), open, e),
8875
+ open: (open, e) => parent.root.open(computedId.value, open, e),
8894
8876
  openOnSelect: (open, e) => parent.root.openOnSelect(computedId.value, open, e),
8895
- isOpen: computed(() => parent.root.opened.value.has(toRaw(computedId.value))),
8877
+ isOpen: computed(() => parent.root.opened.value.has(computedId.value)),
8896
8878
  parent: computed(() => parent.root.parents.value.get(computedId.value)),
8897
8879
  activate: (activated, e) => parent.root.activate(computedId.value, activated, e),
8898
8880
  isActivated: computed(() => parent.root.activated.value.has(toRaw(computedId.value))),
@@ -9116,7 +9098,6 @@ const VListItem = genericComponent()({
9116
9098
  activate,
9117
9099
  isActivated,
9118
9100
  select,
9119
- isOpen,
9120
9101
  isSelected,
9121
9102
  isIndeterminate,
9122
9103
  isGroupActivator,
@@ -9171,7 +9152,6 @@ const VListItem = genericComponent()({
9171
9152
  const slotProps = computed(() => ({
9172
9153
  isActive: isActive.value,
9173
9154
  select,
9174
- isOpen: isOpen.value,
9175
9155
  isSelected: isSelected.value,
9176
9156
  isIndeterminate: isIndeterminate.value
9177
9157
  }));
@@ -10514,8 +10494,7 @@ const makeActivatorProps = propsFactory({
10514
10494
  function useActivator(props, _ref) {
10515
10495
  let {
10516
10496
  isActive,
10517
- isTop,
10518
- contentEl
10497
+ isTop
10519
10498
  } = _ref;
10520
10499
  const vm = getCurrentInstance('useActivator');
10521
10500
  const activatorEl = ref();
@@ -10632,7 +10611,7 @@ function useActivator(props, _ref) {
10632
10611
  return events;
10633
10612
  });
10634
10613
  watch(isTop, val => {
10635
- if (val && (props.openOnHover && !isHovered && (!openOnFocus.value || !isFocused) || openOnFocus.value && !isFocused && (!props.openOnHover || !isHovered)) && !contentEl.value?.contains(document.activeElement)) {
10614
+ if (val && (props.openOnHover && !isHovered && (!openOnFocus.value || !isFocused) || openOnFocus.value && !isFocused && (!props.openOnHover || !isHovered))) {
10636
10615
  isActive.value = false;
10637
10616
  }
10638
10617
  });
@@ -11038,9 +11017,6 @@ const VOverlay = genericComponent()({
11038
11017
  attrs,
11039
11018
  emit
11040
11019
  } = _ref;
11041
- const root = ref();
11042
- const scrimEl = ref();
11043
- const contentEl = ref();
11044
11020
  const model = useProxiedModel(props, 'modelValue');
11045
11021
  const isActive = computed({
11046
11022
  get: () => model.value,
@@ -11078,8 +11054,7 @@ const VOverlay = genericComponent()({
11078
11054
  scrimEvents
11079
11055
  } = useActivator(props, {
11080
11056
  isActive,
11081
- isTop: localTop,
11082
- contentEl
11057
+ isTop: localTop
11083
11058
  });
11084
11059
  const {
11085
11060
  teleportTarget
@@ -11100,6 +11075,9 @@ const VOverlay = genericComponent()({
11100
11075
  watch(() => props.disabled, v => {
11101
11076
  if (v) isActive.value = false;
11102
11077
  });
11078
+ const root = ref();
11079
+ const scrimEl = ref();
11080
+ const contentEl = ref();
11103
11081
  const {
11104
11082
  contentStyles,
11105
11083
  updateLocation
@@ -11350,12 +11328,10 @@ const makeVMenuProps = propsFactory({
11350
11328
  // TODO
11351
11329
  // disableKeys: Boolean,
11352
11330
  id: String,
11353
- submenu: Boolean,
11354
11331
  ...omit(makeVOverlayProps({
11355
11332
  closeDelay: 250,
11356
11333
  closeOnContentClick: true,
11357
11334
  locationStrategy: 'connected',
11358
- location: undefined,
11359
11335
  openDelay: 300,
11360
11336
  scrim: false,
11361
11337
  scrollStrategy: 'reposition',
@@ -11378,32 +11354,27 @@ const VMenu = genericComponent()({
11378
11354
  const {
11379
11355
  scopeId
11380
11356
  } = useScopeId();
11381
- const {
11382
- isRtl
11383
- } = useRtl();
11384
11357
  const uid = getUid();
11385
11358
  const id = computed(() => props.id || `v-menu-${uid}`);
11386
11359
  const overlay = ref();
11387
11360
  const parent = inject$1(VMenuSymbol, null);
11388
- const openChildren = shallowRef(new Set());
11361
+ const openChildren = shallowRef(0);
11389
11362
  provide(VMenuSymbol, {
11390
11363
  register() {
11391
- openChildren.value.add(uid);
11364
+ ++openChildren.value;
11392
11365
  },
11393
11366
  unregister() {
11394
- openChildren.value.delete(uid);
11367
+ --openChildren.value;
11395
11368
  },
11396
11369
  closeParents(e) {
11397
11370
  setTimeout(() => {
11398
- if (!openChildren.value.size && !props.persistent && (e == null || e && !isClickInsideElement(e, overlay.value.contentEl))) {
11371
+ if (!openChildren.value && !props.persistent && (e == null || overlay.value?.contentEl && !isClickInsideElement(e, overlay.value.contentEl))) {
11399
11372
  isActive.value = false;
11400
11373
  parent?.closeParents();
11401
11374
  }
11402
11375
  }, 40);
11403
11376
  }
11404
11377
  });
11405
- onBeforeUnmount(() => parent?.unregister());
11406
- onDeactivated(() => isActive.value = false);
11407
11378
  async function onFocusIn(e) {
11408
11379
  const before = e.relatedTarget;
11409
11380
  const after = e.target;
@@ -11446,9 +11417,6 @@ const VMenu = genericComponent()({
11446
11417
  } else if (['Enter', ' '].includes(e.key) && props.closeOnContentClick) {
11447
11418
  isActive.value = false;
11448
11419
  parent?.closeParents();
11449
- } else if (props.submenu && e.key === (isRtl.value ? 'ArrowRight' : 'ArrowLeft')) {
11450
- isActive.value = false;
11451
- overlay.value?.activatorEl?.focus();
11452
11420
  }
11453
11421
  }
11454
11422
  function onActivatorKeydown(e) {
@@ -11457,21 +11425,12 @@ const VMenu = genericComponent()({
11457
11425
  if (el && isActive.value) {
11458
11426
  if (e.key === 'ArrowDown') {
11459
11427
  e.preventDefault();
11460
- e.stopImmediatePropagation();
11461
11428
  focusChild(el, 'next');
11462
11429
  } else if (e.key === 'ArrowUp') {
11463
11430
  e.preventDefault();
11464
- e.stopImmediatePropagation();
11465
11431
  focusChild(el, 'prev');
11466
- } else if (props.submenu) {
11467
- if (e.key === (isRtl.value ? 'ArrowRight' : 'ArrowLeft')) {
11468
- isActive.value = false;
11469
- } else if (e.key === (isRtl.value ? 'ArrowLeft' : 'ArrowRight')) {
11470
- e.preventDefault();
11471
- focusChild(el, 'first');
11472
- }
11473
11432
  }
11474
- } else if (props.submenu ? e.key === (isRtl.value ? 'ArrowLeft' : 'ArrowRight') : ['ArrowDown', 'ArrowUp'].includes(e.key)) {
11433
+ } else if (['ArrowDown', 'ArrowUp'].includes(e.key)) {
11475
11434
  isActive.value = true;
11476
11435
  e.preventDefault();
11477
11436
  setTimeout(() => setTimeout(() => onActivatorKeydown(e)));
@@ -11495,7 +11454,6 @@ const VMenu = genericComponent()({
11495
11454
  "onUpdate:modelValue": $event => isActive.value = $event,
11496
11455
  "absolute": true,
11497
11456
  "activatorProps": activatorProps.value,
11498
- "location": props.location ?? (props.submenu ? 'end' : 'bottom'),
11499
11457
  "onClick:outside": onClickOutside,
11500
11458
  "onKeydown": onKeydown
11501
11459
  }, scopeId), {
@@ -12328,7 +12286,6 @@ function useVirtual(props, items) {
12328
12286
  deep: true
12329
12287
  });
12330
12288
  return {
12331
- calculateVisibleItems,
12332
12289
  containerRef,
12333
12290
  markerRef,
12334
12291
  computedItems,
@@ -12392,7 +12349,6 @@ const VVirtualScroll = genericComponent()({
12392
12349
  dimensionStyles
12393
12350
  } = useDimension(props);
12394
12351
  const {
12395
- calculateVisibleItems,
12396
12352
  containerRef,
12397
12353
  markerRef,
12398
12354
  handleScroll,
@@ -12464,7 +12420,6 @@ const VVirtualScroll = genericComponent()({
12464
12420
  }, [children])]);
12465
12421
  });
12466
12422
  return {
12467
- calculateVisibleItems,
12468
12423
  scrollToIndex
12469
12424
  };
12470
12425
  }
@@ -12533,9 +12488,9 @@ function useScrolling(listRef, textFieldRef) {
12533
12488
  }
12534
12489
  }
12535
12490
  return {
12536
- onScrollPassive: onListScroll,
12537
- onKeydown: onListKeydown
12538
- }; // typescript doesn't know about vue's event merging
12491
+ onListScroll,
12492
+ onListKeydown
12493
+ };
12539
12494
  }
12540
12495
 
12541
12496
  // Types
@@ -12610,7 +12565,7 @@ const VSelect = genericComponent()({
12610
12565
  const menu = computed({
12611
12566
  get: () => _menu.value,
12612
12567
  set: v => {
12613
- if (_menu.value && !v && vMenuRef.value?.ΨopenChildren.size) return;
12568
+ if (_menu.value && !v && vMenuRef.value?.ΨopenChildren) return;
12614
12569
  _menu.value = v;
12615
12570
  }
12616
12571
  });
@@ -12649,7 +12604,10 @@ const VSelect = genericComponent()({
12649
12604
  };
12650
12605
  });
12651
12606
  const listRef = ref();
12652
- const listEvents = useScrolling(listRef, vTextFieldRef);
12607
+ const {
12608
+ onListScroll,
12609
+ onListKeydown
12610
+ } = useScrolling(listRef, vTextFieldRef);
12653
12611
  function onClear(e) {
12654
12612
  if (props.openOnClear) {
12655
12613
  menu.value = true;
@@ -12659,11 +12617,6 @@ const VSelect = genericComponent()({
12659
12617
  if (menuDisabled.value) return;
12660
12618
  menu.value = !menu.value;
12661
12619
  }
12662
- function onListKeydown(e) {
12663
- if (checkPrintable(e)) {
12664
- onKeydown(e);
12665
- }
12666
- }
12667
12620
  function onKeydown(e) {
12668
12621
  if (!e.key || props.readonly || form?.isReadonly.value) return;
12669
12622
  if (['Enter', ' ', 'ArrowDown', 'ArrowUp', 'Home', 'End'].includes(e.key)) {
@@ -12684,6 +12637,11 @@ const VSelect = genericComponent()({
12684
12637
  // html select hotkeys
12685
12638
  const KEYBOARD_LOOKUP_THRESHOLD = 1000; // milliseconds
12686
12639
 
12640
+ function checkPrintable(e) {
12641
+ const isPrintableChar = e.key.length === 1;
12642
+ const noModifier = !e.ctrlKey && !e.metaKey && !e.altKey;
12643
+ return isPrintableChar && noModifier;
12644
+ }
12687
12645
  if (props.multiple || !checkPrintable(e)) return;
12688
12646
  const now = performance.now();
12689
12647
  if (now - keyboardLookupLastTime > KEYBOARD_LOOKUP_THRESHOLD) {
@@ -12728,11 +12686,6 @@ const VSelect = genericComponent()({
12728
12686
  menu.value = false;
12729
12687
  }
12730
12688
  }
12731
- function onAfterEnter() {
12732
- if (props.eager) {
12733
- vVirtualScrollRef.value?.calculateVisibleItems();
12734
- }
12735
- }
12736
12689
  function onAfterLeave() {
12737
12690
  if (isFocused.value) {
12738
12691
  vTextFieldRef.value?.focus();
@@ -12811,7 +12764,6 @@ const VSelect = genericComponent()({
12811
12764
  "openOnClick": false,
12812
12765
  "closeOnContentClick": false,
12813
12766
  "transition": props.transition,
12814
- "onAfterEnter": onAfterEnter,
12815
12767
  "onAfterLeave": onAfterLeave
12816
12768
  }, computedMenuProps.value), {
12817
12769
  default: () => [hasList && createVNode(VList, mergeProps({
@@ -12821,10 +12773,11 @@ const VSelect = genericComponent()({
12821
12773
  "onMousedown": e => e.preventDefault(),
12822
12774
  "onKeydown": onListKeydown,
12823
12775
  "onFocusin": onFocusin,
12776
+ "onScrollPassive": onListScroll,
12824
12777
  "tabindex": "-1",
12825
12778
  "aria-live": "polite",
12826
12779
  "color": props.itemColor ?? props.color
12827
- }, listEvents, props.listProps), {
12780
+ }, props.listProps), {
12828
12781
  default: () => [slots['prepend-item']?.(), !displayItems.value.length && !props.hideNoData && (slots['no-data']?.() ?? createVNode(VListItem, {
12829
12782
  "title": t(props.noDataText)
12830
12783
  }, null)), createVNode(VVirtualScroll, {
@@ -13119,7 +13072,7 @@ const VAutocomplete = genericComponent()({
13119
13072
  const menu = computed({
13120
13073
  get: () => _menu.value,
13121
13074
  set: v => {
13122
- if (_menu.value && !v && vMenuRef.value?.ΨopenChildren.size) return;
13075
+ if (_menu.value && !v && vMenuRef.value?.ΨopenChildren) return;
13123
13076
  _menu.value = v;
13124
13077
  }
13125
13078
  });
@@ -13163,7 +13116,10 @@ const VAutocomplete = genericComponent()({
13163
13116
  });
13164
13117
  const menuDisabled = computed(() => props.hideNoData && !displayItems.value.length || props.readonly || form?.isReadonly.value);
13165
13118
  const listRef = ref();
13166
- const listEvents = useScrolling(listRef, vTextFieldRef);
13119
+ const {
13120
+ onListScroll,
13121
+ onListKeydown
13122
+ } = useScrolling(listRef, vTextFieldRef);
13167
13123
  function onClear(e) {
13168
13124
  if (props.openOnClear) {
13169
13125
  menu.value = true;
@@ -13182,11 +13138,6 @@ const VAutocomplete = genericComponent()({
13182
13138
  }
13183
13139
  menu.value = !menu.value;
13184
13140
  }
13185
- function onListKeydown(e) {
13186
- if (checkPrintable(e)) {
13187
- vTextFieldRef.value?.focus();
13188
- }
13189
- }
13190
13141
  function onKeydown(e) {
13191
13142
  if (props.readonly || form?.isReadonly.value) return;
13192
13143
  const selectionStart = vTextFieldRef.value.selectionStart;
@@ -13251,11 +13202,6 @@ const VAutocomplete = genericComponent()({
13251
13202
  }
13252
13203
  }
13253
13204
  }
13254
- function onAfterEnter() {
13255
- if (props.eager) {
13256
- vVirtualScrollRef.value?.calculateVisibleItems();
13257
- }
13258
- }
13259
13205
  function onAfterLeave() {
13260
13206
  if (isFocused.value) {
13261
13207
  isPristine.value = true;
@@ -13384,7 +13330,6 @@ const VAutocomplete = genericComponent()({
13384
13330
  "openOnClick": false,
13385
13331
  "closeOnContentClick": false,
13386
13332
  "transition": props.transition,
13387
- "onAfterEnter": onAfterEnter,
13388
13333
  "onAfterLeave": onAfterLeave
13389
13334
  }, props.menuProps), {
13390
13335
  default: () => [hasList && createVNode(VList, mergeProps({
@@ -13395,10 +13340,11 @@ const VAutocomplete = genericComponent()({
13395
13340
  "onKeydown": onListKeydown,
13396
13341
  "onFocusin": onFocusin,
13397
13342
  "onFocusout": onFocusout,
13343
+ "onScrollPassive": onListScroll,
13398
13344
  "tabindex": "-1",
13399
13345
  "aria-live": "polite",
13400
13346
  "color": props.itemColor ?? props.color
13401
- }, listEvents, props.listProps), {
13347
+ }, props.listProps), {
13402
13348
  default: () => [slots['prepend-item']?.(), !displayItems.value.length && !props.hideNoData && (slots['no-data']?.() ?? createVNode(VListItem, {
13403
13349
  "title": t(props.noDataText)
13404
13350
  }, null)), createVNode(VVirtualScroll, {
@@ -16959,7 +16905,7 @@ const VCombobox = genericComponent()({
16959
16905
  const menu = computed({
16960
16906
  get: () => _menu.value,
16961
16907
  set: v => {
16962
- if (_menu.value && !v && vMenuRef.value?.ΨopenChildren.size) return;
16908
+ if (_menu.value && !v && vMenuRef.value?.ΨopenChildren) return;
16963
16909
  _menu.value = v;
16964
16910
  }
16965
16911
  });
@@ -17042,7 +16988,10 @@ const VCombobox = genericComponent()({
17042
16988
  });
17043
16989
  const menuDisabled = computed(() => props.hideNoData && !displayItems.value.length || props.readonly || form?.isReadonly.value);
17044
16990
  const listRef = ref();
17045
- const listEvents = useScrolling(listRef, vTextFieldRef);
16991
+ const {
16992
+ onListScroll,
16993
+ onListKeydown
16994
+ } = useScrolling(listRef, vTextFieldRef);
17046
16995
  function onClear(e) {
17047
16996
  cleared = true;
17048
16997
  if (props.openOnClear) {
@@ -17061,11 +17010,6 @@ const VCombobox = genericComponent()({
17061
17010
  }
17062
17011
  menu.value = !menu.value;
17063
17012
  }
17064
- function onListKeydown(e) {
17065
- if (checkPrintable(e)) {
17066
- vTextFieldRef.value?.focus();
17067
- }
17068
- }
17069
17013
  // eslint-disable-next-line complexity
17070
17014
  function onKeydown(e) {
17071
17015
  if (isComposingIgnoreKey(e) || props.readonly || form?.isReadonly.value) return;
@@ -17130,11 +17074,6 @@ const VCombobox = genericComponent()({
17130
17074
  }
17131
17075
  }
17132
17076
  }
17133
- function onAfterEnter() {
17134
- if (props.eager) {
17135
- vVirtualScrollRef.value?.calculateVisibleItems();
17136
- }
17137
- }
17138
17077
  function onAfterLeave() {
17139
17078
  if (isFocused.value) {
17140
17079
  isPristine.value = true;
@@ -17259,7 +17198,6 @@ const VCombobox = genericComponent()({
17259
17198
  "openOnClick": false,
17260
17199
  "closeOnContentClick": false,
17261
17200
  "transition": props.transition,
17262
- "onAfterEnter": onAfterEnter,
17263
17201
  "onAfterLeave": onAfterLeave
17264
17202
  }, props.menuProps), {
17265
17203
  default: () => [hasList && createVNode(VList, mergeProps({
@@ -17270,10 +17208,11 @@ const VCombobox = genericComponent()({
17270
17208
  "onKeydown": onListKeydown,
17271
17209
  "onFocusin": onFocusin,
17272
17210
  "onFocusout": onFocusout,
17211
+ "onScrollPassive": onListScroll,
17273
17212
  "tabindex": "-1",
17274
17213
  "aria-live": "polite",
17275
17214
  "color": props.itemColor ?? props.color
17276
- }, listEvents, props.listProps), {
17215
+ }, props.listProps), {
17277
17216
  default: () => [slots['prepend-item']?.(), !displayItems.value.length && !props.hideNoData && (slots['no-data']?.() ?? createVNode(VListItem, {
17278
17217
  "title": t(props.noDataText)
17279
17218
  }, null)), createVNode(VVirtualScroll, {
@@ -18537,7 +18476,7 @@ function useOptions(_ref) {
18537
18476
  if (deepEqual(oldOptions, options.value)) return;
18538
18477
 
18539
18478
  // Reset page when searching
18540
- if (oldOptions && oldOptions.search !== options.value.search) {
18479
+ if (oldOptions?.search != null && oldOptions.search !== options.value.search) {
18541
18480
  page.value = 1;
18542
18481
  }
18543
18482
  vm.emit('update:options', options.value);
@@ -21217,7 +21156,6 @@ const makeVContainerProps = propsFactory({
21217
21156
  default: false
21218
21157
  },
21219
21158
  ...makeComponentProps(),
21220
- ...makeDimensionProps(),
21221
21159
  ...makeTagProps()
21222
21160
  }, 'VContainer');
21223
21161
  const VContainer = genericComponent()({
@@ -21230,14 +21168,11 @@ const VContainer = genericComponent()({
21230
21168
  const {
21231
21169
  rtlClasses
21232
21170
  } = useRtl();
21233
- const {
21234
- dimensionStyles
21235
- } = useDimension(props);
21236
21171
  useRender(() => createVNode(props.tag, {
21237
21172
  "class": ['v-container', {
21238
21173
  'v-container--fluid': props.fluid
21239
21174
  }, rtlClasses.value, props.class],
21240
- "style": [dimensionStyles.value, props.style]
21175
+ "style": props.style
21241
21176
  }, slots));
21242
21177
  return {};
21243
21178
  }
@@ -22659,8 +22594,7 @@ const makeVExpansionPanelTitleProps = propsFactory({
22659
22594
  default: false
22660
22595
  },
22661
22596
  readonly: Boolean,
22662
- ...makeComponentProps(),
22663
- ...makeDimensionProps()
22597
+ ...makeComponentProps()
22664
22598
  }, 'VExpansionPanelTitle');
22665
22599
  const VExpansionPanelTitle = genericComponent()({
22666
22600
  name: 'VExpansionPanelTitle',
@@ -22678,9 +22612,6 @@ const VExpansionPanelTitle = genericComponent()({
22678
22612
  backgroundColorClasses,
22679
22613
  backgroundColorStyles
22680
22614
  } = useBackgroundColor(props, 'color');
22681
- const {
22682
- dimensionStyles
22683
- } = useDimension(props);
22684
22615
  const slotProps = computed(() => ({
22685
22616
  collapseIcon: props.collapseIcon,
22686
22617
  disabled: expansionPanel.disabled.value,
@@ -22695,7 +22626,7 @@ const VExpansionPanelTitle = genericComponent()({
22695
22626
  'v-expansion-panel-title--focusable': props.focusable,
22696
22627
  'v-expansion-panel-title--static': props.static
22697
22628
  }, backgroundColorClasses.value, props.class],
22698
- "style": [backgroundColorStyles.value, dimensionStyles.value, props.style],
22629
+ "style": [backgroundColorStyles.value, props.style],
22699
22630
  "type": "button",
22700
22631
  "tabindex": expansionPanel.disabled.value ? -1 : undefined,
22701
22632
  "disabled": expansionPanel.disabled.value,
@@ -23217,6 +23148,8 @@ const VFooter = genericComponent()({
23217
23148
  let {
23218
23149
  slots
23219
23150
  } = _ref;
23151
+ const layoutItemStyles = ref();
23152
+ const layoutIsReady = shallowRef();
23220
23153
  const {
23221
23154
  themeClasses
23222
23155
  } = provideTheme(props);
@@ -23241,17 +23174,20 @@ const VFooter = genericComponent()({
23241
23174
  autoHeight.value = entries[0].target.clientHeight;
23242
23175
  });
23243
23176
  const height = computed(() => props.height === 'auto' ? autoHeight.value : parseInt(props.height, 10));
23244
- const {
23245
- layoutItemStyles,
23246
- layoutIsReady
23247
- } = useLayoutItem({
23248
- id: props.name,
23249
- order: computed(() => parseInt(props.order, 10)),
23250
- position: computed(() => 'bottom'),
23251
- layoutSize: height,
23252
- elementSize: computed(() => props.height === 'auto' ? undefined : height.value),
23253
- active: computed(() => props.app),
23254
- absolute: toRef(props, 'absolute')
23177
+ useToggleScope(() => props.app, () => {
23178
+ const layout = useLayoutItem({
23179
+ id: props.name,
23180
+ order: computed(() => parseInt(props.order, 10)),
23181
+ position: computed(() => 'bottom'),
23182
+ layoutSize: height,
23183
+ elementSize: computed(() => props.height === 'auto' ? undefined : height.value),
23184
+ active: computed(() => props.app),
23185
+ absolute: toRef(props, 'absolute')
23186
+ });
23187
+ watchEffect(() => {
23188
+ layoutItemStyles.value = layout.layoutItemStyles.value;
23189
+ layoutIsReady.value = layout.layoutIsReady;
23190
+ });
23255
23191
  });
23256
23192
  useRender(() => createVNode(props.tag, {
23257
23193
  "ref": resizeRef,
@@ -23260,7 +23196,7 @@ const VFooter = genericComponent()({
23260
23196
  height: convertToUnit(props.height)
23261
23197
  }, props.style]
23262
23198
  }, slots));
23263
- return props.app ? layoutIsReady : {};
23199
+ return props.app ? layoutIsReady.value : {};
23264
23200
  }
23265
23201
  });
23266
23202
 
@@ -25401,16 +25337,17 @@ const VSkeletonLoader = genericComponent()({
25401
25337
  const items = computed(() => genStructure(wrapInArray(props.type).join(',')));
25402
25338
  useRender(() => {
25403
25339
  const isLoading = !slots.default || props.loading;
25404
- return createVNode("div", {
25340
+ const loadingProps = props.boilerplate || !isLoading ? {} : {
25341
+ ariaLive: 'polite',
25342
+ ariaLabel: t(props.loadingText),
25343
+ role: 'alert'
25344
+ };
25345
+ return createVNode("div", mergeProps({
25405
25346
  "class": ['v-skeleton-loader', {
25406
25347
  'v-skeleton-loader--boilerplate': props.boilerplate
25407
25348
  }, themeClasses.value, backgroundColorClasses.value, elevationClasses.value],
25408
- "style": [backgroundColorStyles.value, isLoading ? dimensionStyles.value : {}],
25409
- "aria-busy": !props.boilerplate ? isLoading : undefined,
25410
- "aria-live": !props.boilerplate ? 'polite' : undefined,
25411
- "aria-label": !props.boilerplate ? t(props.loadingText) : undefined,
25412
- "role": !props.boilerplate ? 'alert' : undefined
25413
- }, [isLoading ? items.value : slots.default?.()]);
25349
+ "style": [backgroundColorStyles.value, isLoading ? dimensionStyles.value : {}]
25350
+ }, loadingProps), [isLoading ? items.value : slots.default?.()]);
25414
25351
  });
25415
25352
  return {};
25416
25353
  }
@@ -25443,14 +25380,14 @@ const VSlideGroupItem = genericComponent()({
25443
25380
  // Types
25444
25381
 
25445
25382
  function useCountdown(milliseconds) {
25446
- const time = shallowRef(milliseconds);
25383
+ const time = shallowRef(milliseconds());
25447
25384
  let timer = -1;
25448
25385
  function clear() {
25449
25386
  clearInterval(timer);
25450
25387
  }
25451
25388
  function reset() {
25452
25389
  clear();
25453
- nextTick(() => time.value = milliseconds);
25390
+ nextTick(() => time.value = milliseconds());
25454
25391
  }
25455
25392
  function start(el) {
25456
25393
  const style = el ? getComputedStyle(el) : {
@@ -25462,7 +25399,7 @@ function useCountdown(milliseconds) {
25462
25399
  const startTime = performance.now();
25463
25400
  timer = window.setInterval(() => {
25464
25401
  const elapsed = performance.now() - startTime + interval;
25465
- time.value = Math.max(milliseconds - elapsed, 0);
25402
+ time.value = Math.max(milliseconds() - elapsed, 0);
25466
25403
  if (time.value <= 0) clear();
25467
25404
  }, interval);
25468
25405
  }
@@ -25522,7 +25459,7 @@ const VSnackbar = genericComponent()({
25522
25459
  const {
25523
25460
  roundedClasses
25524
25461
  } = useRounded(props);
25525
- const countdown = useCountdown(Number(props.timeout));
25462
+ const countdown = useCountdown(() => Number(props.timeout));
25526
25463
  const overlay = ref();
25527
25464
  const timerRef = ref();
25528
25465
  const isHovering = shallowRef(false);
@@ -28201,7 +28138,7 @@ function createVuetify$1() {
28201
28138
  goTo
28202
28139
  };
28203
28140
  }
28204
- const version$1 = "3.6.13-3.7.0-beta.0.0-pr-20092.dc840ce";
28141
+ const version$1 = "3.6.13-pr-20185.5bf1ff4";
28205
28142
  createVuetify$1.version = version$1;
28206
28143
 
28207
28144
  // Vue's inject() can only be used in setup
@@ -28226,7 +28163,7 @@ const createVuetify = function () {
28226
28163
  ...options
28227
28164
  });
28228
28165
  };
28229
- const version = "3.6.13-3.7.0-beta.0.0-pr-20092.dc840ce";
28166
+ const version = "3.6.13-pr-20185.5bf1ff4";
28230
28167
  createVuetify.version = version;
28231
28168
 
28232
28169
  export { index as blueprints, components, createVuetify, directives, useDate, useDefaults, useDisplay, useGoTo, useLayout, useLocale, useRtl, useTheme, version };