@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
package/dist/vuetify.js CHANGED
@@ -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
  */
@@ -502,11 +502,6 @@
502
502
  });
503
503
  return fn;
504
504
  }
505
- function checkPrintable(e) {
506
- const isPrintableChar = e.key.length === 1;
507
- const noModifier = !e.ctrlKey && !e.metaKey && !e.altKey;
508
- return isPrintableChar && noModifier;
509
- }
510
505
 
511
506
  // Utilities
512
507
  const block = ['top', 'bottom'];
@@ -3697,7 +3692,6 @@
3697
3692
  // not intended for public use, this is passed in by vuetify-loader
3698
3693
 
3699
3694
  const makeVImgProps = propsFactory({
3700
- absolute: Boolean,
3701
3695
  alt: String,
3702
3696
  cover: Boolean,
3703
3697
  color: String,
@@ -3954,7 +3948,6 @@
3954
3948
  const responsiveProps = VResponsive.filterProps(props);
3955
3949
  return vue.withDirectives(vue.createVNode(VResponsive, vue.mergeProps({
3956
3950
  "class": ['v-img', {
3957
- 'v-img--absolute': props.absolute,
3958
3951
  'v-img--booting': !isBooted.value
3959
3952
  }, backgroundColorClasses.value, roundedClasses.value, props.class],
3960
3953
  "style": [{
@@ -5755,7 +5748,6 @@
5755
5748
  type: Boolean,
5756
5749
  default: undefined
5757
5750
  },
5758
- activeColor: String,
5759
5751
  baseColor: String,
5760
5752
  symbol: {
5761
5753
  type: null,
@@ -5847,11 +5839,10 @@
5847
5839
  }
5848
5840
  return group?.isSelected.value;
5849
5841
  });
5850
- const color = vue.computed(() => isActive.value ? props.activeColor ?? props.color : props.color);
5851
5842
  const variantProps = vue.computed(() => {
5852
5843
  const showColor = group?.isSelected.value && (!link.isLink.value || link.isActive?.value) || !group || link.isActive?.value;
5853
5844
  return {
5854
- color: showColor ? color.value ?? props.baseColor : props.baseColor,
5845
+ color: showColor ? props.color ?? props.baseColor : props.baseColor,
5855
5846
  variant: props.variant
5856
5847
  };
5857
5848
  });
@@ -5953,7 +5944,7 @@
5953
5944
  "indeterminate": true,
5954
5945
  "width": "2"
5955
5946
  }, null)])]
5956
- }), [[Ripple, !isDisabled.value && !!props.ripple, '', {
5947
+ }), [[Ripple, !isDisabled.value && props.ripple, '', {
5957
5948
  center: !!props.icon
5958
5949
  }]]);
5959
5950
  });
@@ -6192,7 +6183,6 @@
6192
6183
  icon: IconValue,
6193
6184
  image: String,
6194
6185
  text: String,
6195
- ...makeBorderProps(),
6196
6186
  ...makeComponentProps(),
6197
6187
  ...makeDensityProps(),
6198
6188
  ...makeRoundedProps(),
@@ -6213,9 +6203,6 @@
6213
6203
  const {
6214
6204
  themeClasses
6215
6205
  } = provideTheme(props);
6216
- const {
6217
- borderClasses
6218
- } = useBorder(props);
6219
6206
  const {
6220
6207
  colorClasses,
6221
6208
  colorStyles,
@@ -6235,7 +6222,7 @@
6235
6222
  "class": ['v-avatar', {
6236
6223
  'v-avatar--start': props.start,
6237
6224
  'v-avatar--end': props.end
6238
- }, themeClasses.value, borderClasses.value, colorClasses.value, densityClasses.value, roundedClasses.value, sizeClasses.value, variantClasses.value, props.class],
6225
+ }, themeClasses.value, colorClasses.value, densityClasses.value, roundedClasses.value, sizeClasses.value, variantClasses.value, props.class],
6239
6226
  "style": [colorStyles.value, sizeStyles.value, props.style]
6240
6227
  }, {
6241
6228
  default: () => [!slots.default ? props.image ? vue.createVNode(VImg, {
@@ -6251,7 +6238,7 @@
6251
6238
  "defaults": {
6252
6239
  VImg: {
6253
6240
  cover: true,
6254
- image: props.image
6241
+ src: props.image
6255
6242
  },
6256
6243
  VIcon: {
6257
6244
  icon: props.icon
@@ -6935,14 +6922,12 @@
6935
6922
  const validateOn = vue.computed(() => {
6936
6923
  let value = (props.validateOn ?? form?.validateOn.value) || 'input';
6937
6924
  if (value === 'lazy') value = 'input lazy';
6938
- if (value === 'eager') value = 'input eager';
6939
6925
  const set = new Set(value?.split(' ') ?? []);
6940
6926
  return {
6927
+ blur: set.has('blur') || set.has('input'),
6941
6928
  input: set.has('input'),
6942
- blur: set.has('blur') || set.has('input') || set.has('invalid-input'),
6943
- invalidInput: set.has('invalid-input'),
6944
- lazy: set.has('lazy'),
6945
- eager: set.has('eager')
6929
+ submit: set.has('submit'),
6930
+ lazy: set.has('lazy')
6946
6931
  };
6947
6932
  });
6948
6933
  const isValid = vue.computed(() => {
@@ -6979,11 +6964,11 @@
6979
6964
  });
6980
6965
  vue.onMounted(async () => {
6981
6966
  if (!validateOn.value.lazy) {
6982
- await validate(!validateOn.value.eager);
6967
+ await validate(true);
6983
6968
  }
6984
6969
  form?.update(uid.value, isValid.value, errorMessages.value);
6985
6970
  });
6986
- useToggleScope(() => validateOn.value.input || validateOn.value.invalidInput && isValid.value === false, () => {
6971
+ useToggleScope(() => validateOn.value.input, () => {
6987
6972
  vue.watch(validationModel, () => {
6988
6973
  if (validationModel.value != null) {
6989
6974
  validate();
@@ -7011,7 +6996,7 @@
7011
6996
  async function resetValidation() {
7012
6997
  isPristine.value = true;
7013
6998
  if (!validateOn.value.lazy) {
7014
- await validate(!validateOn.value.eager);
6999
+ await validate(true);
7015
7000
  } else {
7016
7001
  internalErrorMessages.value = [];
7017
7002
  }
@@ -7951,9 +7936,7 @@
7951
7936
  selected: group.selected,
7952
7937
  scrollTo,
7953
7938
  scrollOffset,
7954
- focus,
7955
- hasPrev,
7956
- hasNext
7939
+ focus
7957
7940
  };
7958
7941
  }
7959
7942
  });
@@ -8423,7 +8406,6 @@
8423
8406
  return strategy;
8424
8407
  };
8425
8408
 
8426
- // Utilities
8427
8409
  const singleOpenStrategy = {
8428
8410
  open: _ref => {
8429
8411
  let {
@@ -8457,11 +8439,11 @@
8457
8439
  parents
8458
8440
  } = _ref2;
8459
8441
  if (value) {
8460
- let parent = vue.toRaw(parents.get(id));
8442
+ let parent = parents.get(id);
8461
8443
  opened.add(id);
8462
8444
  while (parent != null && parent !== id) {
8463
8445
  opened.add(parent);
8464
- parent = vue.toRaw(parents.get(parent));
8446
+ parent = parents.get(parent);
8465
8447
  }
8466
8448
  return opened;
8467
8449
  } else {
@@ -8632,18 +8614,18 @@
8632
8614
  const items = [id];
8633
8615
  while (items.length) {
8634
8616
  const item = items.shift();
8635
- selected.set(vue.toRaw(item), value ? 'on' : 'off');
8617
+ selected.set(item, value ? 'on' : 'off');
8636
8618
  if (children.has(item)) {
8637
8619
  items.push(...children.get(item));
8638
8620
  }
8639
8621
  }
8640
- let parent = vue.toRaw(parents.get(id));
8622
+ let parent = parents.get(id);
8641
8623
  while (parent) {
8642
8624
  const childrenIds = children.get(parent);
8643
- const everySelected = childrenIds.every(cid => selected.get(vue.toRaw(cid)) === 'on');
8644
- const noneSelected = childrenIds.every(cid => !selected.has(vue.toRaw(cid)) || selected.get(vue.toRaw(cid)) === 'off');
8625
+ const everySelected = childrenIds.every(cid => selected.get(cid) === 'on');
8626
+ const noneSelected = childrenIds.every(cid => !selected.has(cid) || selected.get(cid) === 'off');
8645
8627
  selected.set(parent, everySelected ? 'on' : noneSelected ? 'off' : 'indeterminate');
8646
- parent = vue.toRaw(parents.get(parent));
8628
+ parent = parents.get(parent);
8647
8629
  }
8648
8630
 
8649
8631
  // If mandatory and planned deselect results in no selected
@@ -8721,7 +8703,7 @@
8721
8703
  let isUnmounted = false;
8722
8704
  const children = vue.ref(new Map());
8723
8705
  const parents = vue.ref(new Map());
8724
- const opened = useProxiedModel(props, 'opened', props.opened, v => new Set(vue.toRaw(v)), v => [...v.values()]);
8706
+ const opened = useProxiedModel(props, 'opened', props.opened, v => new Set(v), v => [...v.values()]);
8725
8707
  const activeStrategy = vue.computed(() => {
8726
8708
  if (typeof props.activeStrategy === 'object') return props.activeStrategy;
8727
8709
  if (typeof props.activeStrategy === 'function') return props.activeStrategy(props.mandatory);
@@ -8894,9 +8876,9 @@
8894
8876
  const item = {
8895
8877
  ...parent,
8896
8878
  id: computedId,
8897
- open: (open, e) => parent.root.open(vue.toRaw(computedId.value), open, e),
8879
+ open: (open, e) => parent.root.open(computedId.value, open, e),
8898
8880
  openOnSelect: (open, e) => parent.root.openOnSelect(computedId.value, open, e),
8899
- isOpen: vue.computed(() => parent.root.opened.value.has(vue.toRaw(computedId.value))),
8881
+ isOpen: vue.computed(() => parent.root.opened.value.has(computedId.value)),
8900
8882
  parent: vue.computed(() => parent.root.parents.value.get(computedId.value)),
8901
8883
  activate: (activated, e) => parent.root.activate(computedId.value, activated, e),
8902
8884
  isActivated: vue.computed(() => parent.root.activated.value.has(vue.toRaw(computedId.value))),
@@ -9120,7 +9102,6 @@
9120
9102
  activate,
9121
9103
  isActivated,
9122
9104
  select,
9123
- isOpen,
9124
9105
  isSelected,
9125
9106
  isIndeterminate,
9126
9107
  isGroupActivator,
@@ -9175,7 +9156,6 @@
9175
9156
  const slotProps = vue.computed(() => ({
9176
9157
  isActive: isActive.value,
9177
9158
  select,
9178
- isOpen: isOpen.value,
9179
9159
  isSelected: isSelected.value,
9180
9160
  isIndeterminate: isIndeterminate.value
9181
9161
  }));
@@ -10518,8 +10498,7 @@
10518
10498
  function useActivator(props, _ref) {
10519
10499
  let {
10520
10500
  isActive,
10521
- isTop,
10522
- contentEl
10501
+ isTop
10523
10502
  } = _ref;
10524
10503
  const vm = getCurrentInstance('useActivator');
10525
10504
  const activatorEl = vue.ref();
@@ -10636,7 +10615,7 @@
10636
10615
  return events;
10637
10616
  });
10638
10617
  vue.watch(isTop, val => {
10639
- if (val && (props.openOnHover && !isHovered && (!openOnFocus.value || !isFocused) || openOnFocus.value && !isFocused && (!props.openOnHover || !isHovered)) && !contentEl.value?.contains(document.activeElement)) {
10618
+ if (val && (props.openOnHover && !isHovered && (!openOnFocus.value || !isFocused) || openOnFocus.value && !isFocused && (!props.openOnHover || !isHovered))) {
10640
10619
  isActive.value = false;
10641
10620
  }
10642
10621
  });
@@ -11042,9 +11021,6 @@
11042
11021
  attrs,
11043
11022
  emit
11044
11023
  } = _ref;
11045
- const root = vue.ref();
11046
- const scrimEl = vue.ref();
11047
- const contentEl = vue.ref();
11048
11024
  const model = useProxiedModel(props, 'modelValue');
11049
11025
  const isActive = vue.computed({
11050
11026
  get: () => model.value,
@@ -11082,8 +11058,7 @@
11082
11058
  scrimEvents
11083
11059
  } = useActivator(props, {
11084
11060
  isActive,
11085
- isTop: localTop,
11086
- contentEl
11061
+ isTop: localTop
11087
11062
  });
11088
11063
  const {
11089
11064
  teleportTarget
@@ -11104,6 +11079,9 @@
11104
11079
  vue.watch(() => props.disabled, v => {
11105
11080
  if (v) isActive.value = false;
11106
11081
  });
11082
+ const root = vue.ref();
11083
+ const scrimEl = vue.ref();
11084
+ const contentEl = vue.ref();
11107
11085
  const {
11108
11086
  contentStyles,
11109
11087
  updateLocation
@@ -11354,12 +11332,10 @@
11354
11332
  // TODO
11355
11333
  // disableKeys: Boolean,
11356
11334
  id: String,
11357
- submenu: Boolean,
11358
11335
  ...omit(makeVOverlayProps({
11359
11336
  closeDelay: 250,
11360
11337
  closeOnContentClick: true,
11361
11338
  locationStrategy: 'connected',
11362
- location: undefined,
11363
11339
  openDelay: 300,
11364
11340
  scrim: false,
11365
11341
  scrollStrategy: 'reposition',
@@ -11382,32 +11358,27 @@
11382
11358
  const {
11383
11359
  scopeId
11384
11360
  } = useScopeId();
11385
- const {
11386
- isRtl
11387
- } = useRtl();
11388
11361
  const uid = getUid();
11389
11362
  const id = vue.computed(() => props.id || `v-menu-${uid}`);
11390
11363
  const overlay = vue.ref();
11391
11364
  const parent = vue.inject(VMenuSymbol, null);
11392
- const openChildren = vue.shallowRef(new Set());
11365
+ const openChildren = vue.shallowRef(0);
11393
11366
  vue.provide(VMenuSymbol, {
11394
11367
  register() {
11395
- openChildren.value.add(uid);
11368
+ ++openChildren.value;
11396
11369
  },
11397
11370
  unregister() {
11398
- openChildren.value.delete(uid);
11371
+ --openChildren.value;
11399
11372
  },
11400
11373
  closeParents(e) {
11401
11374
  setTimeout(() => {
11402
- if (!openChildren.value.size && !props.persistent && (e == null || e && !isClickInsideElement(e, overlay.value.contentEl))) {
11375
+ if (!openChildren.value && !props.persistent && (e == null || overlay.value?.contentEl && !isClickInsideElement(e, overlay.value.contentEl))) {
11403
11376
  isActive.value = false;
11404
11377
  parent?.closeParents();
11405
11378
  }
11406
11379
  }, 40);
11407
11380
  }
11408
11381
  });
11409
- vue.onBeforeUnmount(() => parent?.unregister());
11410
- vue.onDeactivated(() => isActive.value = false);
11411
11382
  async function onFocusIn(e) {
11412
11383
  const before = e.relatedTarget;
11413
11384
  const after = e.target;
@@ -11450,9 +11421,6 @@
11450
11421
  } else if (['Enter', ' '].includes(e.key) && props.closeOnContentClick) {
11451
11422
  isActive.value = false;
11452
11423
  parent?.closeParents();
11453
- } else if (props.submenu && e.key === (isRtl.value ? 'ArrowRight' : 'ArrowLeft')) {
11454
- isActive.value = false;
11455
- overlay.value?.activatorEl?.focus();
11456
11424
  }
11457
11425
  }
11458
11426
  function onActivatorKeydown(e) {
@@ -11461,21 +11429,12 @@
11461
11429
  if (el && isActive.value) {
11462
11430
  if (e.key === 'ArrowDown') {
11463
11431
  e.preventDefault();
11464
- e.stopImmediatePropagation();
11465
11432
  focusChild(el, 'next');
11466
11433
  } else if (e.key === 'ArrowUp') {
11467
11434
  e.preventDefault();
11468
- e.stopImmediatePropagation();
11469
11435
  focusChild(el, 'prev');
11470
- } else if (props.submenu) {
11471
- if (e.key === (isRtl.value ? 'ArrowRight' : 'ArrowLeft')) {
11472
- isActive.value = false;
11473
- } else if (e.key === (isRtl.value ? 'ArrowLeft' : 'ArrowRight')) {
11474
- e.preventDefault();
11475
- focusChild(el, 'first');
11476
- }
11477
11436
  }
11478
- } else if (props.submenu ? e.key === (isRtl.value ? 'ArrowLeft' : 'ArrowRight') : ['ArrowDown', 'ArrowUp'].includes(e.key)) {
11437
+ } else if (['ArrowDown', 'ArrowUp'].includes(e.key)) {
11479
11438
  isActive.value = true;
11480
11439
  e.preventDefault();
11481
11440
  setTimeout(() => setTimeout(() => onActivatorKeydown(e)));
@@ -11499,7 +11458,6 @@
11499
11458
  "onUpdate:modelValue": $event => isActive.value = $event,
11500
11459
  "absolute": true,
11501
11460
  "activatorProps": activatorProps.value,
11502
- "location": props.location ?? (props.submenu ? 'end' : 'bottom'),
11503
11461
  "onClick:outside": onClickOutside,
11504
11462
  "onKeydown": onKeydown
11505
11463
  }, scopeId), {
@@ -12332,7 +12290,6 @@
12332
12290
  deep: true
12333
12291
  });
12334
12292
  return {
12335
- calculateVisibleItems,
12336
12293
  containerRef,
12337
12294
  markerRef,
12338
12295
  computedItems,
@@ -12396,7 +12353,6 @@
12396
12353
  dimensionStyles
12397
12354
  } = useDimension(props);
12398
12355
  const {
12399
- calculateVisibleItems,
12400
12356
  containerRef,
12401
12357
  markerRef,
12402
12358
  handleScroll,
@@ -12468,7 +12424,6 @@
12468
12424
  }, [children])]);
12469
12425
  });
12470
12426
  return {
12471
- calculateVisibleItems,
12472
12427
  scrollToIndex
12473
12428
  };
12474
12429
  }
@@ -12537,9 +12492,9 @@
12537
12492
  }
12538
12493
  }
12539
12494
  return {
12540
- onScrollPassive: onListScroll,
12541
- onKeydown: onListKeydown
12542
- }; // typescript doesn't know about vue's event merging
12495
+ onListScroll,
12496
+ onListKeydown
12497
+ };
12543
12498
  }
12544
12499
 
12545
12500
  // Types
@@ -12614,7 +12569,7 @@
12614
12569
  const menu = vue.computed({
12615
12570
  get: () => _menu.value,
12616
12571
  set: v => {
12617
- if (_menu.value && !v && vMenuRef.value?.ΨopenChildren.size) return;
12572
+ if (_menu.value && !v && vMenuRef.value?.ΨopenChildren) return;
12618
12573
  _menu.value = v;
12619
12574
  }
12620
12575
  });
@@ -12653,7 +12608,10 @@
12653
12608
  };
12654
12609
  });
12655
12610
  const listRef = vue.ref();
12656
- const listEvents = useScrolling(listRef, vTextFieldRef);
12611
+ const {
12612
+ onListScroll,
12613
+ onListKeydown
12614
+ } = useScrolling(listRef, vTextFieldRef);
12657
12615
  function onClear(e) {
12658
12616
  if (props.openOnClear) {
12659
12617
  menu.value = true;
@@ -12663,11 +12621,6 @@
12663
12621
  if (menuDisabled.value) return;
12664
12622
  menu.value = !menu.value;
12665
12623
  }
12666
- function onListKeydown(e) {
12667
- if (checkPrintable(e)) {
12668
- onKeydown(e);
12669
- }
12670
- }
12671
12624
  function onKeydown(e) {
12672
12625
  if (!e.key || props.readonly || form?.isReadonly.value) return;
12673
12626
  if (['Enter', ' ', 'ArrowDown', 'ArrowUp', 'Home', 'End'].includes(e.key)) {
@@ -12688,6 +12641,11 @@
12688
12641
  // html select hotkeys
12689
12642
  const KEYBOARD_LOOKUP_THRESHOLD = 1000; // milliseconds
12690
12643
 
12644
+ function checkPrintable(e) {
12645
+ const isPrintableChar = e.key.length === 1;
12646
+ const noModifier = !e.ctrlKey && !e.metaKey && !e.altKey;
12647
+ return isPrintableChar && noModifier;
12648
+ }
12691
12649
  if (props.multiple || !checkPrintable(e)) return;
12692
12650
  const now = performance.now();
12693
12651
  if (now - keyboardLookupLastTime > KEYBOARD_LOOKUP_THRESHOLD) {
@@ -12732,11 +12690,6 @@
12732
12690
  menu.value = false;
12733
12691
  }
12734
12692
  }
12735
- function onAfterEnter() {
12736
- if (props.eager) {
12737
- vVirtualScrollRef.value?.calculateVisibleItems();
12738
- }
12739
- }
12740
12693
  function onAfterLeave() {
12741
12694
  if (isFocused.value) {
12742
12695
  vTextFieldRef.value?.focus();
@@ -12815,7 +12768,6 @@
12815
12768
  "openOnClick": false,
12816
12769
  "closeOnContentClick": false,
12817
12770
  "transition": props.transition,
12818
- "onAfterEnter": onAfterEnter,
12819
12771
  "onAfterLeave": onAfterLeave
12820
12772
  }, computedMenuProps.value), {
12821
12773
  default: () => [hasList && vue.createVNode(VList, vue.mergeProps({
@@ -12825,10 +12777,11 @@
12825
12777
  "onMousedown": e => e.preventDefault(),
12826
12778
  "onKeydown": onListKeydown,
12827
12779
  "onFocusin": onFocusin,
12780
+ "onScrollPassive": onListScroll,
12828
12781
  "tabindex": "-1",
12829
12782
  "aria-live": "polite",
12830
12783
  "color": props.itemColor ?? props.color
12831
- }, listEvents, props.listProps), {
12784
+ }, props.listProps), {
12832
12785
  default: () => [slots['prepend-item']?.(), !displayItems.value.length && !props.hideNoData && (slots['no-data']?.() ?? vue.createVNode(VListItem, {
12833
12786
  "title": t(props.noDataText)
12834
12787
  }, null)), vue.createVNode(VVirtualScroll, {
@@ -13123,7 +13076,7 @@
13123
13076
  const menu = vue.computed({
13124
13077
  get: () => _menu.value,
13125
13078
  set: v => {
13126
- if (_menu.value && !v && vMenuRef.value?.ΨopenChildren.size) return;
13079
+ if (_menu.value && !v && vMenuRef.value?.ΨopenChildren) return;
13127
13080
  _menu.value = v;
13128
13081
  }
13129
13082
  });
@@ -13167,7 +13120,10 @@
13167
13120
  });
13168
13121
  const menuDisabled = vue.computed(() => props.hideNoData && !displayItems.value.length || props.readonly || form?.isReadonly.value);
13169
13122
  const listRef = vue.ref();
13170
- const listEvents = useScrolling(listRef, vTextFieldRef);
13123
+ const {
13124
+ onListScroll,
13125
+ onListKeydown
13126
+ } = useScrolling(listRef, vTextFieldRef);
13171
13127
  function onClear(e) {
13172
13128
  if (props.openOnClear) {
13173
13129
  menu.value = true;
@@ -13186,11 +13142,6 @@
13186
13142
  }
13187
13143
  menu.value = !menu.value;
13188
13144
  }
13189
- function onListKeydown(e) {
13190
- if (checkPrintable(e)) {
13191
- vTextFieldRef.value?.focus();
13192
- }
13193
- }
13194
13145
  function onKeydown(e) {
13195
13146
  if (props.readonly || form?.isReadonly.value) return;
13196
13147
  const selectionStart = vTextFieldRef.value.selectionStart;
@@ -13255,11 +13206,6 @@
13255
13206
  }
13256
13207
  }
13257
13208
  }
13258
- function onAfterEnter() {
13259
- if (props.eager) {
13260
- vVirtualScrollRef.value?.calculateVisibleItems();
13261
- }
13262
- }
13263
13209
  function onAfterLeave() {
13264
13210
  if (isFocused.value) {
13265
13211
  isPristine.value = true;
@@ -13388,7 +13334,6 @@
13388
13334
  "openOnClick": false,
13389
13335
  "closeOnContentClick": false,
13390
13336
  "transition": props.transition,
13391
- "onAfterEnter": onAfterEnter,
13392
13337
  "onAfterLeave": onAfterLeave
13393
13338
  }, props.menuProps), {
13394
13339
  default: () => [hasList && vue.createVNode(VList, vue.mergeProps({
@@ -13399,10 +13344,11 @@
13399
13344
  "onKeydown": onListKeydown,
13400
13345
  "onFocusin": onFocusin,
13401
13346
  "onFocusout": onFocusout,
13347
+ "onScrollPassive": onListScroll,
13402
13348
  "tabindex": "-1",
13403
13349
  "aria-live": "polite",
13404
13350
  "color": props.itemColor ?? props.color
13405
- }, listEvents, props.listProps), {
13351
+ }, props.listProps), {
13406
13352
  default: () => [slots['prepend-item']?.(), !displayItems.value.length && !props.hideNoData && (slots['no-data']?.() ?? vue.createVNode(VListItem, {
13407
13353
  "title": t(props.noDataText)
13408
13354
  }, null)), vue.createVNode(VVirtualScroll, {
@@ -16963,7 +16909,7 @@
16963
16909
  const menu = vue.computed({
16964
16910
  get: () => _menu.value,
16965
16911
  set: v => {
16966
- if (_menu.value && !v && vMenuRef.value?.ΨopenChildren.size) return;
16912
+ if (_menu.value && !v && vMenuRef.value?.ΨopenChildren) return;
16967
16913
  _menu.value = v;
16968
16914
  }
16969
16915
  });
@@ -17046,7 +16992,10 @@
17046
16992
  });
17047
16993
  const menuDisabled = vue.computed(() => props.hideNoData && !displayItems.value.length || props.readonly || form?.isReadonly.value);
17048
16994
  const listRef = vue.ref();
17049
- const listEvents = useScrolling(listRef, vTextFieldRef);
16995
+ const {
16996
+ onListScroll,
16997
+ onListKeydown
16998
+ } = useScrolling(listRef, vTextFieldRef);
17050
16999
  function onClear(e) {
17051
17000
  cleared = true;
17052
17001
  if (props.openOnClear) {
@@ -17065,11 +17014,6 @@
17065
17014
  }
17066
17015
  menu.value = !menu.value;
17067
17016
  }
17068
- function onListKeydown(e) {
17069
- if (checkPrintable(e)) {
17070
- vTextFieldRef.value?.focus();
17071
- }
17072
- }
17073
17017
  // eslint-disable-next-line complexity
17074
17018
  function onKeydown(e) {
17075
17019
  if (isComposingIgnoreKey(e) || props.readonly || form?.isReadonly.value) return;
@@ -17134,11 +17078,6 @@
17134
17078
  }
17135
17079
  }
17136
17080
  }
17137
- function onAfterEnter() {
17138
- if (props.eager) {
17139
- vVirtualScrollRef.value?.calculateVisibleItems();
17140
- }
17141
- }
17142
17081
  function onAfterLeave() {
17143
17082
  if (isFocused.value) {
17144
17083
  isPristine.value = true;
@@ -17263,7 +17202,6 @@
17263
17202
  "openOnClick": false,
17264
17203
  "closeOnContentClick": false,
17265
17204
  "transition": props.transition,
17266
- "onAfterEnter": onAfterEnter,
17267
17205
  "onAfterLeave": onAfterLeave
17268
17206
  }, props.menuProps), {
17269
17207
  default: () => [hasList && vue.createVNode(VList, vue.mergeProps({
@@ -17274,10 +17212,11 @@
17274
17212
  "onKeydown": onListKeydown,
17275
17213
  "onFocusin": onFocusin,
17276
17214
  "onFocusout": onFocusout,
17215
+ "onScrollPassive": onListScroll,
17277
17216
  "tabindex": "-1",
17278
17217
  "aria-live": "polite",
17279
17218
  "color": props.itemColor ?? props.color
17280
- }, listEvents, props.listProps), {
17219
+ }, props.listProps), {
17281
17220
  default: () => [slots['prepend-item']?.(), !displayItems.value.length && !props.hideNoData && (slots['no-data']?.() ?? vue.createVNode(VListItem, {
17282
17221
  "title": t(props.noDataText)
17283
17222
  }, null)), vue.createVNode(VVirtualScroll, {
@@ -18541,7 +18480,7 @@
18541
18480
  if (deepEqual(oldOptions, options.value)) return;
18542
18481
 
18543
18482
  // Reset page when searching
18544
- if (oldOptions && oldOptions.search !== options.value.search) {
18483
+ if (oldOptions?.search != null && oldOptions.search !== options.value.search) {
18545
18484
  page.value = 1;
18546
18485
  }
18547
18486
  vm.emit('update:options', options.value);
@@ -21221,7 +21160,6 @@
21221
21160
  default: false
21222
21161
  },
21223
21162
  ...makeComponentProps(),
21224
- ...makeDimensionProps(),
21225
21163
  ...makeTagProps()
21226
21164
  }, 'VContainer');
21227
21165
  const VContainer = genericComponent()({
@@ -21234,14 +21172,11 @@
21234
21172
  const {
21235
21173
  rtlClasses
21236
21174
  } = useRtl();
21237
- const {
21238
- dimensionStyles
21239
- } = useDimension(props);
21240
21175
  useRender(() => vue.createVNode(props.tag, {
21241
21176
  "class": ['v-container', {
21242
21177
  'v-container--fluid': props.fluid
21243
21178
  }, rtlClasses.value, props.class],
21244
- "style": [dimensionStyles.value, props.style]
21179
+ "style": props.style
21245
21180
  }, slots));
21246
21181
  return {};
21247
21182
  }
@@ -22663,8 +22598,7 @@
22663
22598
  default: false
22664
22599
  },
22665
22600
  readonly: Boolean,
22666
- ...makeComponentProps(),
22667
- ...makeDimensionProps()
22601
+ ...makeComponentProps()
22668
22602
  }, 'VExpansionPanelTitle');
22669
22603
  const VExpansionPanelTitle = genericComponent()({
22670
22604
  name: 'VExpansionPanelTitle',
@@ -22682,9 +22616,6 @@
22682
22616
  backgroundColorClasses,
22683
22617
  backgroundColorStyles
22684
22618
  } = useBackgroundColor(props, 'color');
22685
- const {
22686
- dimensionStyles
22687
- } = useDimension(props);
22688
22619
  const slotProps = vue.computed(() => ({
22689
22620
  collapseIcon: props.collapseIcon,
22690
22621
  disabled: expansionPanel.disabled.value,
@@ -22699,7 +22630,7 @@
22699
22630
  'v-expansion-panel-title--focusable': props.focusable,
22700
22631
  'v-expansion-panel-title--static': props.static
22701
22632
  }, backgroundColorClasses.value, props.class],
22702
- "style": [backgroundColorStyles.value, dimensionStyles.value, props.style],
22633
+ "style": [backgroundColorStyles.value, props.style],
22703
22634
  "type": "button",
22704
22635
  "tabindex": expansionPanel.disabled.value ? -1 : undefined,
22705
22636
  "disabled": expansionPanel.disabled.value,
@@ -23221,6 +23152,8 @@
23221
23152
  let {
23222
23153
  slots
23223
23154
  } = _ref;
23155
+ const layoutItemStyles = vue.ref();
23156
+ const layoutIsReady = vue.shallowRef();
23224
23157
  const {
23225
23158
  themeClasses
23226
23159
  } = provideTheme(props);
@@ -23245,17 +23178,20 @@
23245
23178
  autoHeight.value = entries[0].target.clientHeight;
23246
23179
  });
23247
23180
  const height = vue.computed(() => props.height === 'auto' ? autoHeight.value : parseInt(props.height, 10));
23248
- const {
23249
- layoutItemStyles,
23250
- layoutIsReady
23251
- } = useLayoutItem({
23252
- id: props.name,
23253
- order: vue.computed(() => parseInt(props.order, 10)),
23254
- position: vue.computed(() => 'bottom'),
23255
- layoutSize: height,
23256
- elementSize: vue.computed(() => props.height === 'auto' ? undefined : height.value),
23257
- active: vue.computed(() => props.app),
23258
- absolute: vue.toRef(props, 'absolute')
23181
+ useToggleScope(() => props.app, () => {
23182
+ const layout = useLayoutItem({
23183
+ id: props.name,
23184
+ order: vue.computed(() => parseInt(props.order, 10)),
23185
+ position: vue.computed(() => 'bottom'),
23186
+ layoutSize: height,
23187
+ elementSize: vue.computed(() => props.height === 'auto' ? undefined : height.value),
23188
+ active: vue.computed(() => props.app),
23189
+ absolute: vue.toRef(props, 'absolute')
23190
+ });
23191
+ vue.watchEffect(() => {
23192
+ layoutItemStyles.value = layout.layoutItemStyles.value;
23193
+ layoutIsReady.value = layout.layoutIsReady;
23194
+ });
23259
23195
  });
23260
23196
  useRender(() => vue.createVNode(props.tag, {
23261
23197
  "ref": resizeRef,
@@ -23264,7 +23200,7 @@
23264
23200
  height: convertToUnit(props.height)
23265
23201
  }, props.style]
23266
23202
  }, slots));
23267
- return props.app ? layoutIsReady : {};
23203
+ return props.app ? layoutIsReady.value : {};
23268
23204
  }
23269
23205
  });
23270
23206
 
@@ -25405,16 +25341,17 @@
25405
25341
  const items = vue.computed(() => genStructure(wrapInArray(props.type).join(',')));
25406
25342
  useRender(() => {
25407
25343
  const isLoading = !slots.default || props.loading;
25408
- return vue.createVNode("div", {
25344
+ const loadingProps = props.boilerplate || !isLoading ? {} : {
25345
+ ariaLive: 'polite',
25346
+ ariaLabel: t(props.loadingText),
25347
+ role: 'alert'
25348
+ };
25349
+ return vue.createVNode("div", vue.mergeProps({
25409
25350
  "class": ['v-skeleton-loader', {
25410
25351
  'v-skeleton-loader--boilerplate': props.boilerplate
25411
25352
  }, themeClasses.value, backgroundColorClasses.value, elevationClasses.value],
25412
- "style": [backgroundColorStyles.value, isLoading ? dimensionStyles.value : {}],
25413
- "aria-busy": !props.boilerplate ? isLoading : undefined,
25414
- "aria-live": !props.boilerplate ? 'polite' : undefined,
25415
- "aria-label": !props.boilerplate ? t(props.loadingText) : undefined,
25416
- "role": !props.boilerplate ? 'alert' : undefined
25417
- }, [isLoading ? items.value : slots.default?.()]);
25353
+ "style": [backgroundColorStyles.value, isLoading ? dimensionStyles.value : {}]
25354
+ }, loadingProps), [isLoading ? items.value : slots.default?.()]);
25418
25355
  });
25419
25356
  return {};
25420
25357
  }
@@ -25447,14 +25384,14 @@
25447
25384
  // Types
25448
25385
 
25449
25386
  function useCountdown(milliseconds) {
25450
- const time = vue.shallowRef(milliseconds);
25387
+ const time = vue.shallowRef(milliseconds());
25451
25388
  let timer = -1;
25452
25389
  function clear() {
25453
25390
  clearInterval(timer);
25454
25391
  }
25455
25392
  function reset() {
25456
25393
  clear();
25457
- vue.nextTick(() => time.value = milliseconds);
25394
+ vue.nextTick(() => time.value = milliseconds());
25458
25395
  }
25459
25396
  function start(el) {
25460
25397
  const style = el ? getComputedStyle(el) : {
@@ -25466,7 +25403,7 @@
25466
25403
  const startTime = performance.now();
25467
25404
  timer = window.setInterval(() => {
25468
25405
  const elapsed = performance.now() - startTime + interval;
25469
- time.value = Math.max(milliseconds - elapsed, 0);
25406
+ time.value = Math.max(milliseconds() - elapsed, 0);
25470
25407
  if (time.value <= 0) clear();
25471
25408
  }, interval);
25472
25409
  }
@@ -25526,7 +25463,7 @@
25526
25463
  const {
25527
25464
  roundedClasses
25528
25465
  } = useRounded(props);
25529
- const countdown = useCountdown(Number(props.timeout));
25466
+ const countdown = useCountdown(() => Number(props.timeout));
25530
25467
  const overlay = vue.ref();
25531
25468
  const timerRef = vue.ref();
25532
25469
  const isHovering = vue.shallowRef(false);
@@ -28205,7 +28142,7 @@
28205
28142
  goTo
28206
28143
  };
28207
28144
  }
28208
- const version$1 = "3.6.13-3.7.0-beta.0.0-pr-20092.dc840ce";
28145
+ const version$1 = "3.6.13-pr-20185.5bf1ff4";
28209
28146
  createVuetify$1.version = version$1;
28210
28147
 
28211
28148
  // Vue's inject() can only be used in setup
@@ -28230,7 +28167,7 @@
28230
28167
  ...options
28231
28168
  });
28232
28169
  };
28233
- const version = "3.6.13-3.7.0-beta.0.0-pr-20092.dc840ce";
28170
+ const version = "3.6.13-pr-20185.5bf1ff4";
28234
28171
  createVuetify.version = version;
28235
28172
 
28236
28173
  exports.blueprints = index;