@vuetify/nightly 3.7.4-next.2024-11-06 → 3.7.5-dev.2024-12-16

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 (262) hide show
  1. package/dist/json/attributes.json +2853 -2845
  2. package/dist/json/importMap-labs.json +20 -20
  3. package/dist/json/importMap.json +150 -150
  4. package/dist/json/tags.json +2 -0
  5. package/dist/json/web-types.json +5324 -5306
  6. package/dist/vuetify-labs.css +25135 -23418
  7. package/dist/vuetify-labs.d.ts +202 -196
  8. package/dist/vuetify-labs.esm.js +107 -106
  9. package/dist/vuetify-labs.esm.js.map +1 -1
  10. package/dist/vuetify-labs.js +106 -105
  11. package/dist/vuetify-labs.min.css +4 -3
  12. package/dist/vuetify.css +23838 -22118
  13. package/dist/vuetify.d.ts +191 -185
  14. package/dist/vuetify.esm.js +96 -96
  15. package/dist/vuetify.esm.js.map +1 -1
  16. package/dist/vuetify.js +95 -95
  17. package/dist/vuetify.js.map +1 -1
  18. package/dist/vuetify.min.css +4 -3
  19. package/dist/vuetify.min.js +884 -889
  20. package/dist/vuetify.min.js.map +1 -1
  21. package/lib/components/VAlert/VAlert.css +215 -207
  22. package/lib/components/VApp/VApp.css +15 -16
  23. package/lib/components/VAppBar/VAppBar.css +12 -14
  24. package/lib/components/VAppBar/index.d.mts +6 -6
  25. package/lib/components/VAutocomplete/VAutocomplete.css +85 -86
  26. package/lib/components/VAutocomplete/VAutocomplete.mjs +4 -4
  27. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  28. package/lib/components/VAutocomplete/index.d.mts +22 -22
  29. package/lib/components/VAvatar/VAvatar.css +106 -108
  30. package/lib/components/VBadge/VBadge.css +77 -73
  31. package/lib/components/VBadge/VBadge.sass +4 -0
  32. package/lib/components/VBanner/VBanner.css +166 -161
  33. package/lib/components/VBottomNavigation/VBottomNavigation.css +63 -64
  34. package/lib/components/VBottomSheet/VBottomSheet.css +31 -34
  35. package/lib/components/VBreadcrumbs/VBreadcrumbs.css +57 -54
  36. package/lib/components/VBtn/VBtn.css +408 -385
  37. package/lib/components/VBtn/VBtn.sass +4 -4
  38. package/lib/components/VBtn/index.d.mts +7 -7
  39. package/lib/components/VBtnGroup/VBtnGroup.css +64 -63
  40. package/lib/components/VBtnToggle/VBtnToggle.css +14 -16
  41. package/lib/components/VBtnToggle/index.d.mts +9 -9
  42. package/lib/components/VCard/VCard.css +302 -294
  43. package/lib/components/VCarousel/VCarousel.css +65 -63
  44. package/lib/components/VCarousel/VCarousel.mjs.map +1 -1
  45. package/lib/components/VCarousel/VCarousel.sass +1 -1
  46. package/lib/components/VCarousel/index.d.mts +9 -9
  47. package/lib/components/VCheckbox/VCheckbox.css +5 -7
  48. package/lib/components/VCheckbox/VCheckbox.mjs +3 -3
  49. package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
  50. package/lib/components/VChip/VChip.css +411 -378
  51. package/lib/components/VChip/VChip.mjs +18 -10
  52. package/lib/components/VChip/VChip.mjs.map +1 -1
  53. package/lib/components/VChip/index.d.mts +13 -8
  54. package/lib/components/VChipGroup/VChipGroup.css +18 -19
  55. package/lib/components/VChipGroup/VChipGroup.mjs +2 -0
  56. package/lib/components/VChipGroup/VChipGroup.mjs.map +1 -1
  57. package/lib/components/VChipGroup/index.d.mts +20 -15
  58. package/lib/components/VCode/VCode.css +8 -10
  59. package/lib/components/VColorPicker/VColorPicker.css +22 -22
  60. package/lib/components/VColorPicker/VColorPickerCanvas.css +22 -24
  61. package/lib/components/VColorPicker/VColorPickerEdit.css +28 -29
  62. package/lib/components/VColorPicker/VColorPickerPreview.css +67 -69
  63. package/lib/components/VColorPicker/VColorPickerPreview.sass +2 -4
  64. package/lib/components/VColorPicker/VColorPickerSwatches.css +34 -34
  65. package/lib/components/VCombobox/VCombobox.css +85 -86
  66. package/lib/components/VCombobox/VCombobox.mjs +4 -4
  67. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  68. package/lib/components/VCombobox/index.d.mts +22 -22
  69. package/lib/components/VConfirmEdit/VConfirmEdit.mjs +9 -7
  70. package/lib/components/VConfirmEdit/VConfirmEdit.mjs.map +1 -1
  71. package/lib/components/VConfirmEdit/__test__/VConfirmEdit.spec.browser.mjs +1 -1
  72. package/lib/components/VConfirmEdit/__test__/VConfirmEdit.spec.browser.mjs.map +1 -1
  73. package/lib/components/VConfirmEdit/index.d.mts +3 -7
  74. package/lib/components/VCounter/VCounter.css +5 -7
  75. package/lib/components/VDataTable/VDataTable.css +186 -189
  76. package/lib/components/VDataTable/VDataTable.sass +10 -20
  77. package/lib/components/VDataTable/VDataTableFooter.css +31 -33
  78. package/lib/components/VDatePicker/VDatePicker.css +6 -8
  79. package/lib/components/VDatePicker/VDatePickerControls.css +56 -54
  80. package/lib/components/VDatePicker/VDatePickerHeader.css +60 -56
  81. package/lib/components/VDatePicker/VDatePickerHeader.mjs +2 -1
  82. package/lib/components/VDatePicker/VDatePickerHeader.mjs.map +1 -1
  83. package/lib/components/VDatePicker/VDatePickerMonth.css +55 -51
  84. package/lib/components/VDatePicker/VDatePickerMonths.css +19 -20
  85. package/lib/components/VDatePicker/VDatePickerYears.css +15 -16
  86. package/lib/components/VDatePicker/index.d.mts +5 -5
  87. package/lib/components/VDialog/VDialog.css +95 -95
  88. package/lib/components/VDivider/VDivider.css +52 -52
  89. package/lib/components/VEmptyState/VEmptyState.css +67 -62
  90. package/lib/components/VExpansionPanel/VExpansionPanel.css +209 -203
  91. package/lib/components/VExpansionPanel/VExpansionPanel.sass +25 -27
  92. package/lib/components/VExpansionPanel/index.d.mts +7 -7
  93. package/lib/components/VFab/VFab.css +69 -74
  94. package/lib/components/VFab/VFab.sass +4 -5
  95. package/lib/components/VFab/index.d.mts +6 -6
  96. package/lib/components/VField/VField.css +579 -539
  97. package/lib/components/VField/VField.mjs +5 -4
  98. package/lib/components/VField/VField.mjs.map +1 -1
  99. package/lib/components/VFileInput/VFileInput.css +29 -31
  100. package/lib/components/VFooter/VFooter.css +36 -38
  101. package/lib/components/VGrid/VGrid.css +592 -565
  102. package/lib/components/VIcon/VIcon.css +52 -51
  103. package/lib/components/VImg/VImg.css +51 -50
  104. package/lib/components/VInfiniteScroll/VInfiniteScroll.css +37 -36
  105. package/lib/components/VInput/VInput.css +142 -131
  106. package/lib/components/VInput/VInput.mjs +3 -3
  107. package/lib/components/VInput/VInput.mjs.map +1 -1
  108. package/lib/components/VItemGroup/VItemGroup.css +5 -7
  109. package/lib/components/VItemGroup/VItemGroup.mjs.map +1 -1
  110. package/lib/components/VItemGroup/index.d.mts +9 -9
  111. package/lib/components/VKbd/VKbd.css +11 -13
  112. package/lib/components/VLabel/VLabel.css +15 -16
  113. package/lib/components/VLayout/VLayout.css +8 -10
  114. package/lib/components/VLayout/VLayoutItem.css +7 -8
  115. package/lib/components/VList/VList.css +108 -104
  116. package/lib/components/VList/VList.mjs +3 -2
  117. package/lib/components/VList/VList.mjs.map +1 -1
  118. package/lib/components/VList/VList.sass +1 -1
  119. package/lib/components/VList/VListItem.css +452 -440
  120. package/lib/components/VList/VListItem.mjs +3 -2
  121. package/lib/components/VList/VListItem.mjs.map +1 -1
  122. package/lib/components/VList/VListItem.sass +1 -2
  123. package/lib/components/VList/index.d.mts +10 -10
  124. package/lib/components/VLocaleProvider/VLocaleProvider.css +2 -4
  125. package/lib/components/VMain/VMain.css +30 -32
  126. package/lib/components/VMenu/VMenu.css +19 -21
  127. package/lib/components/VMenu/VMenu.mjs +3 -3
  128. package/lib/components/VMenu/VMenu.mjs.map +1 -1
  129. package/lib/components/VMenu/index.d.mts +6 -6
  130. package/lib/components/VMessages/VMessages.css +15 -17
  131. package/lib/components/VNavigationDrawer/VNavigationDrawer.css +108 -106
  132. package/lib/components/VOtpInput/VOtpInput.css +58 -56
  133. package/lib/components/VOverlay/VOverlay.css +63 -60
  134. package/lib/components/VOverlay/VOverlay.sass +13 -14
  135. package/lib/components/VPagination/VPagination.css +8 -10
  136. package/lib/components/VParallax/VParallax.css +6 -8
  137. package/lib/components/VProgressCircular/VProgressCircular.css +101 -95
  138. package/lib/components/VProgressLinear/VProgressLinear.css +222 -209
  139. package/lib/components/VRadioGroup/VRadioGroup.css +12 -14
  140. package/lib/components/VRadioGroup/VRadioGroup.mjs +3 -3
  141. package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
  142. package/lib/components/VRating/VRating.css +53 -52
  143. package/lib/components/VRating/VRating.mjs +4 -3
  144. package/lib/components/VRating/VRating.mjs.map +1 -1
  145. package/lib/components/VResponsive/VResponsive.css +26 -25
  146. package/lib/components/VSelect/VSelect.css +52 -54
  147. package/lib/components/VSelect/VSelect.mjs +3 -3
  148. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  149. package/lib/components/VSelect/index.d.mts +22 -22
  150. package/lib/components/VSelectionControl/VSelectionControl.css +102 -100
  151. package/lib/components/VSelectionControl/VSelectionControl.mjs +3 -3
  152. package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
  153. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.css +8 -10
  154. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs +3 -3
  155. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs.map +1 -1
  156. package/lib/components/VSheet/VSheet.css +36 -38
  157. package/lib/components/VSkeletonLoader/VSkeletonLoader.css +224 -225
  158. package/lib/components/VSlideGroup/VSlideGroup.css +55 -53
  159. package/lib/components/VSlideGroup/index.d.mts +10 -10
  160. package/lib/components/VSlider/VSlider.css +57 -53
  161. package/lib/components/VSlider/VSliderThumb.css +153 -142
  162. package/lib/components/VSlider/VSliderTrack.css +174 -155
  163. package/lib/components/VSnackbar/VSnackbar.css +140 -140
  164. package/lib/components/VSparkline/VBarline.mjs +3 -3
  165. package/lib/components/VSparkline/VBarline.mjs.map +1 -1
  166. package/lib/components/VSparkline/VTrendline.mjs +3 -3
  167. package/lib/components/VSparkline/VTrendline.mjs.map +1 -1
  168. package/lib/components/VSpeedDial/VSpeedDial.css +41 -43
  169. package/lib/components/VStepper/VStepper.css +56 -55
  170. package/lib/components/VStepper/VStepper.mjs +5 -4
  171. package/lib/components/VStepper/VStepper.mjs.map +1 -1
  172. package/lib/components/VStepper/VStepperItem.css +115 -112
  173. package/lib/components/VStepper/VStepperItem.mjs +5 -4
  174. package/lib/components/VStepper/VStepperItem.mjs.map +1 -1
  175. package/lib/components/VStepper/index.d.mts +51 -45
  176. package/lib/components/VSwitch/VSwitch.css +139 -129
  177. package/lib/components/VSwitch/VSwitch.mjs +3 -3
  178. package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
  179. package/lib/components/VSystemBar/VSystemBar.css +43 -45
  180. package/lib/components/VTable/VTable.css +141 -140
  181. package/lib/components/VTable/VTable.sass +2 -4
  182. package/lib/components/VTabs/VTab.css +29 -30
  183. package/lib/components/VTabs/VTabs.css +65 -59
  184. package/lib/components/VTabs/index.d.mts +7 -7
  185. package/lib/components/VTextField/VTextField.css +68 -65
  186. package/lib/components/VTextarea/VTextarea.css +39 -47
  187. package/lib/components/VTextarea/VTextarea.sass +2 -4
  188. package/lib/components/VThemeProvider/VThemeProvider.css +3 -5
  189. package/lib/components/VTimeline/VTimeline.css +418 -379
  190. package/lib/components/VToolbar/VToolbar.css +143 -136
  191. package/lib/components/VTooltip/VTooltip.css +21 -25
  192. package/lib/components/VTooltip/VTooltip.mjs +3 -3
  193. package/lib/components/VTooltip/VTooltip.mjs.map +1 -1
  194. package/lib/components/VTooltip/VTooltip.sass +6 -8
  195. package/lib/components/VVirtualScroll/VVirtualScroll.css +9 -11
  196. package/lib/components/VWindow/VWindow.css +70 -73
  197. package/lib/components/VWindow/index.d.mts +7 -7
  198. package/lib/components/index.d.mts +138 -132
  199. package/lib/composables/form.mjs +7 -2
  200. package/lib/composables/form.mjs.map +1 -1
  201. package/lib/composables/group.mjs +3 -3
  202. package/lib/composables/group.mjs.map +1 -1
  203. package/lib/composables/layout.mjs +3 -3
  204. package/lib/composables/layout.mjs.map +1 -1
  205. package/lib/composables/nested/nested.mjs +2 -2
  206. package/lib/composables/nested/nested.mjs.map +1 -1
  207. package/lib/composables/theme.mjs +4 -4
  208. package/lib/composables/theme.mjs.map +1 -1
  209. package/lib/composables/validation.mjs +13 -15
  210. package/lib/composables/validation.mjs.map +1 -1
  211. package/lib/directives/ripple/VRipple.css +36 -38
  212. package/lib/entry-bundler.mjs +1 -1
  213. package/lib/entry-bundler.mjs.map +1 -1
  214. package/lib/framework.mjs +2 -3
  215. package/lib/framework.mjs.map +1 -1
  216. package/lib/index.d.mts +53 -53
  217. package/lib/labs/VCalendar/VCalendar.css +225 -219
  218. package/lib/labs/VCalendar/VCalendarDay.css +32 -33
  219. package/lib/labs/VCalendar/VCalendarHeader.css +13 -13
  220. package/lib/labs/VCalendar/VCalendarInterval.css +42 -43
  221. package/lib/labs/VCalendar/VCalendarIntervalEvent.css +5 -7
  222. package/lib/labs/VCalendar/VCalendarMonthDay.css +58 -61
  223. package/lib/labs/VCalendar/VCalendarMonthDay.sass +2 -3
  224. package/lib/labs/VDateInput/VDateInput.mjs +1 -1
  225. package/lib/labs/VDateInput/VDateInput.mjs.map +1 -1
  226. package/lib/labs/VNumberInput/VNumberInput.css +38 -40
  227. package/lib/labs/VNumberInput/VNumberInput.mjs +7 -5
  228. package/lib/labs/VNumberInput/VNumberInput.mjs.map +1 -1
  229. package/lib/labs/VPicker/VPicker.css +57 -53
  230. package/lib/labs/VStepperVertical/index.d.mts +44 -44
  231. package/lib/labs/VTimePicker/VTimePicker.css +7 -9
  232. package/lib/labs/VTimePicker/VTimePickerClock.css +129 -126
  233. package/lib/labs/VTimePicker/VTimePickerControls.css +103 -102
  234. package/lib/labs/VTreeview/VTreeviewItem.css +15 -17
  235. package/lib/labs/VTreeview/VTreeviewItem.mjs +3 -4
  236. package/lib/labs/VTreeview/VTreeviewItem.mjs.map +1 -1
  237. package/lib/labs/VTreeview/VTreeviewItem.sass +1 -2
  238. package/lib/labs/VTreeview/index.d.mts +20 -20
  239. package/lib/labs/components.d.mts +64 -64
  240. package/lib/locale/fr.mjs +1 -1
  241. package/lib/locale/fr.mjs.map +1 -1
  242. package/lib/styles/elements/_global.sass +1 -1
  243. package/lib/styles/generic/_colors.scss +3 -3
  244. package/lib/styles/generic/_layers.scss +1 -13
  245. package/lib/styles/generic/_transitions.scss +32 -32
  246. package/lib/styles/main.css +16139 -14666
  247. package/lib/styles/settings/_utilities.scss +5 -0
  248. package/lib/styles/settings/_variables.scss +2 -1
  249. package/lib/styles/tools/_bootable.sass +3 -0
  250. package/lib/styles/tools/_border.sass +4 -4
  251. package/lib/styles/tools/_display.sass +10 -0
  252. package/lib/styles/tools/_elevation.sass +2 -2
  253. package/lib/styles/tools/_index.sass +2 -0
  254. package/lib/styles/tools/_layer.scss +2 -4
  255. package/lib/styles/tools/_position.sass +2 -2
  256. package/lib/styles/tools/_radius.sass +10 -0
  257. package/lib/styles/tools/_rounded.sass +2 -2
  258. package/lib/styles/tools/_utilities.sass +5 -1
  259. package/lib/styles/utilities/_elevation.scss +1 -1
  260. package/lib/util/getCurrentInstance.mjs +1 -15
  261. package/lib/util/getCurrentInstance.mjs.map +1 -1
  262. package/package.json +1 -1
@@ -1,10 +1,10 @@
1
1
  /*!
2
- * Vuetify v3.7.4-next.2024-11-06
2
+ * Vuetify v3.7.5-dev.2024-12-16
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
6
6
 
7
- import { shallowRef, Fragment, reactive, computed, watchEffect, toRefs, capitalize, isVNode, Comment, unref, warn, getCurrentInstance as getCurrentInstance$1, ref, provide, inject as inject$1, defineComponent as defineComponent$1, camelize, h, onBeforeUnmount, watch, readonly, onDeactivated, onActivated, onMounted, onScopeDispose, effectScope, toRaw, createVNode, TransitionGroup, Transition, mergeProps, isRef, toRef, onBeforeMount, nextTick, withDirectives, resolveDirective, vShow, onUpdated, Text, resolveDynamicComponent, markRaw, Teleport, cloneVNode, createTextVNode, onUnmounted, onBeforeUpdate, withModifiers, toDisplayString, vModelText, resolveComponent, render } from 'vue';
7
+ import { shallowRef, Fragment, reactive, computed, watchEffect, toRefs, capitalize, isVNode, Comment, unref, warn, getCurrentInstance as getCurrentInstance$1, ref, provide, inject as inject$1, defineComponent as defineComponent$1, camelize, h, onBeforeUnmount, watch, readonly, useId, onDeactivated, onActivated, onMounted, onScopeDispose, effectScope, toRaw, createVNode, TransitionGroup, Transition, mergeProps, isRef, toRef, onBeforeMount, nextTick, withDirectives, resolveDirective, vShow, onUpdated, Text, resolveDynamicComponent, markRaw, Teleport, cloneVNode, createTextVNode, onUnmounted, onBeforeUpdate, withModifiers, toDisplayString, vModelText, resolveComponent, render } from 'vue';
8
8
 
9
9
  // Types
10
10
  // eslint-disable-line vue/prefer-import-from-vue
@@ -1253,9 +1253,6 @@ function getForeground(color) {
1253
1253
  }
1254
1254
 
1255
1255
  // Utilities
1256
-
1257
- // Types
1258
-
1259
1256
  function getCurrentInstance(name, message) {
1260
1257
  const vm = getCurrentInstance$1();
1261
1258
  if (!vm) {
@@ -1268,20 +1265,6 @@ function getCurrentInstanceName() {
1268
1265
  const vm = getCurrentInstance(name).type;
1269
1266
  return toKebabCase(vm?.aliasName || vm?.name);
1270
1267
  }
1271
- let _uid = 0;
1272
- let _map = new WeakMap();
1273
- function getUid() {
1274
- const vm = getCurrentInstance('getUid');
1275
- if (_map.has(vm)) return _map.get(vm);else {
1276
- const uid = _uid++;
1277
- _map.set(vm, uid);
1278
- return uid;
1279
- }
1280
- }
1281
- getUid.reset = () => {
1282
- _uid = 0;
1283
- _map = new WeakMap();
1284
- };
1285
1268
 
1286
1269
  // Utilities
1287
1270
 
@@ -1651,7 +1634,7 @@ function useLayout() {
1651
1634
  function useLayoutItem(options) {
1652
1635
  const layout = inject$1(VuetifyLayoutKey);
1653
1636
  if (!layout) throw new Error('[Vuetify] Could not find injected layout');
1654
- const id = options.id ?? `layout-item-${getUid()}`;
1637
+ const id = options.id ?? `layout-item-${useId()}`;
1655
1638
  const vm = getCurrentInstance('useLayoutItem');
1656
1639
  provide(VuetifyLayoutItemKey, {
1657
1640
  id
@@ -2427,15 +2410,15 @@ function createTheme(options) {
2427
2410
  const colors = new Set(Object.values(computedThemes.value).flatMap(theme => Object.keys(theme.colors)));
2428
2411
  for (const key of colors) {
2429
2412
  if (/^on-[a-z]/.test(key)) {
2430
- createCssClass(fgLines, `.${key}`, [`color: rgb(var(--v-theme-${key}))`]);
2413
+ createCssClass(fgLines, `.${key}`, [`color: rgb(var(--v-theme-${key})) !important`]);
2431
2414
  } else {
2432
- createCssClass(bgLines, `.bg-${key}`, [`--v-theme-overlay-multiplier: var(--v-theme-${key}-overlay-multiplier)`, `background-color: rgb(var(--v-theme-${key}))`, `color: rgb(var(--v-theme-on-${key}))`]);
2433
- createCssClass(fgLines, `.text-${key}`, [`color: rgb(var(--v-theme-${key}))`]);
2415
+ createCssClass(bgLines, `.bg-${key}`, [`--v-theme-overlay-multiplier: var(--v-theme-${key}-overlay-multiplier)`, `background-color: rgb(var(--v-theme-${key})) !important`, `color: rgb(var(--v-theme-on-${key})) !important`]);
2416
+ createCssClass(fgLines, `.text-${key}`, [`color: rgb(var(--v-theme-${key})) !important`]);
2434
2417
  createCssClass(fgLines, `.border-${key}`, [`--v-border-color: var(--v-theme-${key})`]);
2435
2418
  }
2436
2419
  }
2437
2420
  lines.push(...bgLines, ...fgLines);
2438
- return '@layer vuetify.theme {\n' + lines.map(v => ` ${v}`).join('') + '\n}';
2421
+ return lines.map((str, i) => i === 0 ? str : ` ${str}`).join('');
2439
2422
  });
2440
2423
  function getHead() {
2441
2424
  return {
@@ -4153,7 +4136,7 @@ function useGroupItem(props, injectKey) {
4153
4136
  if (!vm) {
4154
4137
  throw new Error('[Vuetify] useGroupItem composable must be used inside a component setup function');
4155
4138
  }
4156
- const id = getUid();
4139
+ const id = useId();
4157
4140
  provide(Symbol.for(`${injectKey.description}:id`), id);
4158
4141
  const group = inject$1(injectKey, null);
4159
4142
  if (!group) {
@@ -6132,7 +6115,7 @@ const VSelectionControlGroup = genericComponent()({
6132
6115
  slots
6133
6116
  } = _ref;
6134
6117
  const modelValue = useProxiedModel(props, 'modelValue');
6135
- const uid = getUid();
6118
+ const uid = useId();
6136
6119
  const id = computed(() => props.id || `v-selection-control-group-${uid}`);
6137
6120
  const name = computed(() => props.name || id.value);
6138
6121
  const updateHandlers = new Set();
@@ -6269,7 +6252,7 @@ const VSelectionControl = genericComponent()({
6269
6252
  backgroundColorStyles,
6270
6253
  trueValue
6271
6254
  } = useSelectionControl(props);
6272
- const uid = getUid();
6255
+ const uid = useId();
6273
6256
  const isFocused = shallowRef(false);
6274
6257
  const isFocusVisible = shallowRef(false);
6275
6258
  const input = ref();
@@ -6670,8 +6653,13 @@ function createForm(props) {
6670
6653
  resetValidation
6671
6654
  };
6672
6655
  }
6673
- function useForm() {
6674
- return inject$1(FormKey, null);
6656
+ function useForm(props) {
6657
+ const form = inject$1(FormKey, null);
6658
+ return {
6659
+ ...form,
6660
+ isReadonly: computed(() => !!(props?.readonly ?? form?.isReadonly.value)),
6661
+ isDisabled: computed(() => !!(props?.disabled ?? form?.isDisabled.value))
6662
+ };
6675
6663
  }
6676
6664
 
6677
6665
  // Composables
@@ -6709,20 +6697,18 @@ const makeValidationProps = propsFactory({
6709
6697
  }, 'validation');
6710
6698
  function useValidation(props) {
6711
6699
  let name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getCurrentInstanceName();
6712
- let id = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : getUid();
6700
+ let id = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : useId();
6713
6701
  const model = useProxiedModel(props, 'modelValue');
6714
6702
  const validationModel = computed(() => props.validationValue === undefined ? model.value : props.validationValue);
6715
- const form = useForm();
6703
+ const form = useForm(props);
6716
6704
  const internalErrorMessages = ref([]);
6717
6705
  const isPristine = shallowRef(true);
6718
6706
  const isDirty = computed(() => !!(wrapInArray(model.value === '' ? null : model.value).length || wrapInArray(validationModel.value === '' ? null : validationModel.value).length));
6719
- const isDisabled = computed(() => !!(props.disabled ?? form?.isDisabled.value));
6720
- const isReadonly = computed(() => !!(props.readonly ?? form?.isReadonly.value));
6721
6707
  const errorMessages = computed(() => {
6722
6708
  return props.errorMessages?.length ? wrapInArray(props.errorMessages).concat(internalErrorMessages.value).slice(0, Math.max(0, +props.maxErrors)) : internalErrorMessages.value;
6723
6709
  });
6724
6710
  const validateOn = computed(() => {
6725
- let value = (props.validateOn ?? form?.validateOn.value) || 'input';
6711
+ let value = (props.validateOn ?? form.validateOn?.value) || 'input';
6726
6712
  if (value === 'lazy') value = 'input lazy';
6727
6713
  if (value === 'eager') value = 'input eager';
6728
6714
  const set = new Set(value?.split(' ') ?? []);
@@ -6748,14 +6734,14 @@ function useValidation(props) {
6748
6734
  return {
6749
6735
  [`${name}--error`]: isValid.value === false,
6750
6736
  [`${name}--dirty`]: isDirty.value,
6751
- [`${name}--disabled`]: isDisabled.value,
6752
- [`${name}--readonly`]: isReadonly.value
6737
+ [`${name}--disabled`]: form.isDisabled.value,
6738
+ [`${name}--readonly`]: form.isReadonly.value
6753
6739
  };
6754
6740
  });
6755
6741
  const vm = getCurrentInstance('validation');
6756
6742
  const uid = computed(() => props.name ?? unref(id));
6757
6743
  onBeforeMount(() => {
6758
- form?.register({
6744
+ form.register?.({
6759
6745
  id: uid.value,
6760
6746
  vm,
6761
6747
  validate,
@@ -6764,13 +6750,13 @@ function useValidation(props) {
6764
6750
  });
6765
6751
  });
6766
6752
  onBeforeUnmount(() => {
6767
- form?.unregister(uid.value);
6753
+ form.unregister?.(uid.value);
6768
6754
  });
6769
6755
  onMounted(async () => {
6770
6756
  if (!validateOn.value.lazy) {
6771
6757
  await validate(!validateOn.value.eager);
6772
6758
  }
6773
- form?.update(uid.value, isValid.value, errorMessages.value);
6759
+ form.update?.(uid.value, isValid.value, errorMessages.value);
6774
6760
  });
6775
6761
  useToggleScope(() => validateOn.value.input || validateOn.value.invalidInput && isValid.value === false, () => {
6776
6762
  watch(validationModel, () => {
@@ -6790,7 +6776,7 @@ function useValidation(props) {
6790
6776
  });
6791
6777
  });
6792
6778
  watch([isValid, errorMessages], () => {
6793
- form?.update(uid.value, isValid.value, errorMessages.value);
6779
+ form.update?.(uid.value, isValid.value, errorMessages.value);
6794
6780
  });
6795
6781
  async function reset() {
6796
6782
  model.value = null;
@@ -6831,8 +6817,8 @@ function useValidation(props) {
6831
6817
  return {
6832
6818
  errorMessages,
6833
6819
  isDirty,
6834
- isDisabled,
6835
- isReadonly,
6820
+ isDisabled: form.isDisabled,
6821
+ isReadonly: form.isReadonly,
6836
6822
  isPristine,
6837
6823
  isValid,
6838
6824
  isValidating,
@@ -6903,7 +6889,7 @@ const VInput = genericComponent()({
6903
6889
  const {
6904
6890
  InputIcon
6905
6891
  } = useInputIcon(props);
6906
- const uid = getUid();
6892
+ const uid = useId();
6907
6893
  const id = computed(() => props.id || `input-${uid}`);
6908
6894
  const messagesId = computed(() => `${id.value}-messages`);
6909
6895
  const {
@@ -7011,7 +6997,7 @@ const VCheckbox = genericComponent()({
7011
6997
  focus,
7012
6998
  blur
7013
6999
  } = useFocus(props);
7014
- const uid = getUid();
7000
+ const uid = useId();
7015
7001
  const id = computed(() => props.id || `checkbox-${uid}`);
7016
7002
  useRender(() => {
7017
7003
  const [rootAttrs, controlAttrs] = filterInputAttrs(attrs);
@@ -7751,6 +7737,7 @@ const VSlideGroup = genericComponent()({
7751
7737
 
7752
7738
  const VChipGroupSymbol = Symbol.for('vuetify:v-chip-group');
7753
7739
  const makeVChipGroupProps = propsFactory({
7740
+ baseColor: String,
7754
7741
  column: Boolean,
7755
7742
  filter: Boolean,
7756
7743
  valueComparator: {
@@ -7790,6 +7777,7 @@ const VChipGroup = genericComponent()({
7790
7777
  } = useGroup(props, VChipGroupSymbol);
7791
7778
  provideDefaults({
7792
7779
  VChip: {
7780
+ baseColor: toRef(props, 'baseColor'),
7793
7781
  color: toRef(props, 'color'),
7794
7782
  disabled: toRef(props, 'disabled'),
7795
7783
  filter: toRef(props, 'filter'),
@@ -7823,6 +7811,7 @@ const makeVChipProps = propsFactory({
7823
7811
  activeClass: String,
7824
7812
  appendAvatar: String,
7825
7813
  appendIcon: IconValue,
7814
+ baseColor: String,
7826
7815
  closable: Boolean,
7827
7816
  closeIcon: {
7828
7817
  type: IconValue,
@@ -7835,7 +7824,7 @@ const makeVChipProps = propsFactory({
7835
7824
  draggable: Boolean,
7836
7825
  filter: Boolean,
7837
7826
  filterIcon: {
7838
- type: String,
7827
+ type: IconValue,
7839
7828
  default: '$complete'
7840
7829
  },
7841
7830
  label: Boolean,
@@ -7897,11 +7886,6 @@ const VChip = genericComponent()({
7897
7886
  const {
7898
7887
  borderClasses
7899
7888
  } = useBorder(props);
7900
- const {
7901
- colorClasses,
7902
- colorStyles,
7903
- variantClasses
7904
- } = useVariant(props);
7905
7889
  const {
7906
7890
  densityClasses
7907
7891
  } = useDensity(props);
@@ -7931,6 +7915,18 @@ const VChip = genericComponent()({
7931
7915
  emit('click:close', e);
7932
7916
  }
7933
7917
  }));
7918
+ const variantProps = computed(() => {
7919
+ const showColor = !group || group.isSelected.value;
7920
+ return {
7921
+ color: showColor ? props.color ?? props.baseColor : props.baseColor,
7922
+ variant: props.variant
7923
+ };
7924
+ });
7925
+ const {
7926
+ colorClasses,
7927
+ colorStyles,
7928
+ variantClasses
7929
+ } = useVariant(variantProps);
7934
7930
  function onClick(e) {
7935
7931
  emit('click', e);
7936
7932
  if (!isClickable.value) return;
@@ -7951,16 +7947,16 @@ const VChip = genericComponent()({
7951
7947
  const hasFilter = !!(slots.filter || props.filter) && group;
7952
7948
  const hasPrependMedia = !!(props.prependIcon || props.prependAvatar);
7953
7949
  const hasPrepend = !!(hasPrependMedia || slots.prepend);
7954
- const hasColor = !group || group.isSelected.value;
7955
7950
  return isActive.value && withDirectives(createVNode(Tag, mergeProps({
7956
7951
  "class": ['v-chip', {
7957
7952
  'v-chip--disabled': props.disabled,
7958
7953
  'v-chip--label': props.label,
7959
7954
  'v-chip--link': isClickable.value,
7960
7955
  'v-chip--filter': hasFilter,
7961
- 'v-chip--pill': props.pill
7962
- }, themeClasses.value, borderClasses.value, hasColor ? colorClasses.value : undefined, densityClasses.value, elevationClasses.value, roundedClasses.value, sizeClasses.value, variantClasses.value, group?.selectedClass.value, props.class],
7963
- "style": [hasColor ? colorStyles.value : undefined, props.style],
7956
+ 'v-chip--pill': props.pill,
7957
+ [`${props.activeClass}`]: props.activeClass && link.isActive?.value
7958
+ }, themeClasses.value, borderClasses.value, colorClasses.value, densityClasses.value, elevationClasses.value, roundedClasses.value, sizeClasses.value, variantClasses.value, group?.selectedClass.value, props.class],
7959
+ "style": [colorStyles.value, props.style],
7964
7960
  "disabled": props.disabled || undefined,
7965
7961
  "draggable": props.draggable,
7966
7962
  "tabindex": isClickable.value ? 0 : undefined,
@@ -8689,7 +8685,7 @@ const useNested = props => {
8689
8685
  };
8690
8686
  const useNestedItem = (id, isGroup) => {
8691
8687
  const parent = inject$1(VNestedSymbol, emptyNested);
8692
- const uidSymbol = Symbol(getUid());
8688
+ const uidSymbol = Symbol('nested item');
8693
8689
  const computedId = computed(() => id.value !== undefined ? id.value : uidSymbol);
8694
8690
  const item = {
8695
8691
  ...parent,
@@ -8932,7 +8928,8 @@ const VListItem = genericComponent()({
8932
8928
  const list = useList();
8933
8929
  const isActive = computed(() => props.active !== false && (props.active || link.isActive?.value || (root.activatable.value ? isActivated.value : isSelected.value)));
8934
8930
  const isLink = computed(() => props.link !== false && link.isLink.value);
8935
- const isClickable = computed(() => !props.disabled && props.link !== false && (props.link || link.isClickable.value || !!list && (root.selectable.value || root.activatable.value || props.value != null)));
8931
+ const isSelectable = computed(() => !!list && (root.selectable.value || root.activatable.value || props.value != null));
8932
+ const isClickable = computed(() => !props.disabled && props.link !== false && (props.link || link.isClickable.value || isSelectable.value));
8936
8933
  const roundedProps = computed(() => props.rounded || props.nav);
8937
8934
  const color = computed(() => props.color ?? props.activeColor);
8938
8935
  const variantProps = computed(() => ({
@@ -9023,7 +9020,7 @@ const VListItem = genericComponent()({
9023
9020
  }, themeClasses.value, borderClasses.value, colorClasses.value, densityClasses.value, elevationClasses.value, lineClasses.value, roundedClasses.value, variantClasses.value, props.class],
9024
9021
  "style": [colorStyles.value, dimensionStyles.value, props.style],
9025
9022
  "tabindex": isClickable.value ? list ? -2 : 0 : undefined,
9026
- "aria-selected": root.activatable.value ? isActivated.value : isSelected.value,
9023
+ "aria-selected": isSelectable.value ? root.activatable.value ? isActivated.value : root.selectable.value ? isSelected.value : isActive.value : undefined,
9027
9024
  "onClick": onClick,
9028
9025
  "onKeydown": isClickable.value && !isLink.value && onKeyDown
9029
9026
  }, link.linkProps), {
@@ -9440,8 +9437,8 @@ const makeVListProps = propsFactory({
9440
9437
  activeClass: String,
9441
9438
  bgColor: String,
9442
9439
  disabled: Boolean,
9443
- expandIcon: String,
9444
- collapseIcon: String,
9440
+ expandIcon: IconValue,
9441
+ collapseIcon: IconValue,
9445
9442
  lines: {
9446
9443
  type: [Boolean, String],
9447
9444
  default: 'one'
@@ -11190,7 +11187,7 @@ const VMenu = genericComponent()({
11190
11187
  const {
11191
11188
  isRtl
11192
11189
  } = useRtl();
11193
- const uid = getUid();
11190
+ const uid = useId();
11194
11191
  const id = computed(() => props.id || `v-menu-${uid}`);
11195
11192
  const overlay = ref();
11196
11193
  const parent = inject$1(VMenuSymbol, null);
@@ -11486,7 +11483,7 @@ const VField = genericComponent()({
11486
11483
  } = useRtl();
11487
11484
  const isActive = computed(() => props.dirty || props.active);
11488
11485
  const hasLabel = computed(() => !props.singleLine && !!(props.label || slots.label));
11489
- const uid = getUid();
11486
+ const uid = useId();
11490
11487
  const id = computed(() => props.id || `input-${uid}`);
11491
11488
  const messagesId = computed(() => `${id.value}-messages`);
11492
11489
  const labelRef = ref();
@@ -11615,7 +11612,8 @@ const VField = genericComponent()({
11615
11612
  "style": textColorStyles.value
11616
11613
  }, {
11617
11614
  default: () => [label()]
11618
- }), createVNode(VFieldLabel, {
11615
+ }), hasLabel.value && createVNode(VFieldLabel, {
11616
+ "key": "label",
11619
11617
  "ref": labelRef,
11620
11618
  "for": id.value
11621
11619
  }, {
@@ -12441,7 +12439,7 @@ const VSelect = genericComponent()({
12441
12439
  const counterValue = computed(() => {
12442
12440
  return typeof props.counterValue === 'function' ? props.counterValue(model.value) : typeof props.counterValue === 'number' ? props.counterValue : model.value.length;
12443
12441
  });
12444
- const form = useForm();
12442
+ const form = useForm(props);
12445
12443
  const selectedValues = computed(() => model.value.map(selection => selection.value));
12446
12444
  const isFocused = shallowRef(false);
12447
12445
  const label = computed(() => menu.value ? props.closeText : props.openText);
@@ -12453,7 +12451,7 @@ const VSelect = genericComponent()({
12453
12451
  }
12454
12452
  return items.value;
12455
12453
  });
12456
- const menuDisabled = computed(() => props.hideNoData && !displayItems.value.length || props.readonly || form?.isReadonly.value);
12454
+ const menuDisabled = computed(() => props.hideNoData && !displayItems.value.length || form.isReadonly.value || form.isDisabled.value);
12457
12455
  const computedMenuProps = computed(() => {
12458
12456
  return {
12459
12457
  ...props.menuProps,
@@ -12480,7 +12478,7 @@ const VSelect = genericComponent()({
12480
12478
  }
12481
12479
  }
12482
12480
  function onKeydown(e) {
12483
- if (!e.key || props.readonly || form?.isReadonly.value) return;
12481
+ if (!e.key || form.isReadonly.value) return;
12484
12482
  if (['Enter', ' ', 'ArrowDown', 'ArrowUp', 'Home', 'End'].includes(e.key)) {
12485
12483
  e.preventDefault();
12486
12484
  }
@@ -12958,7 +12956,7 @@ const VAutocomplete = genericComponent()({
12958
12956
  const counterValue = computed(() => {
12959
12957
  return typeof props.counterValue === 'function' ? props.counterValue(model.value) : typeof props.counterValue === 'number' ? props.counterValue : model.value.length;
12960
12958
  });
12961
- const form = useForm();
12959
+ const form = useForm(props);
12962
12960
  const {
12963
12961
  filteredItems,
12964
12962
  getMatches
@@ -12976,7 +12974,7 @@ const VAutocomplete = genericComponent()({
12976
12974
  const selectFirst = props.autoSelectFirst === true || props.autoSelectFirst === 'exact' && search.value === displayItems.value[0]?.title;
12977
12975
  return selectFirst && displayItems.value.length > 0 && !isPristine.value && !listHasFocus.value;
12978
12976
  });
12979
- const menuDisabled = computed(() => props.hideNoData && !displayItems.value.length || props.readonly || form?.isReadonly.value);
12977
+ const menuDisabled = computed(() => props.hideNoData && !displayItems.value.length || form.isReadonly.value || form.isDisabled.value);
12980
12978
  const listRef = ref();
12981
12979
  const listEvents = useScrolling(listRef, vTextFieldRef);
12982
12980
  function onClear(e) {
@@ -13003,7 +13001,7 @@ const VAutocomplete = genericComponent()({
13003
13001
  }
13004
13002
  }
13005
13003
  function onKeydown(e) {
13006
- if (props.readonly || form?.isReadonly.value) return;
13004
+ if (form.isReadonly.value) return;
13007
13005
  const selectionStart = vTextFieldRef.value.selectionStart;
13008
13006
  const length = model.value.length;
13009
13007
  if (selectionIndex.value > -1 || ['Enter', 'ArrowDown', 'ArrowUp'].includes(e.key)) {
@@ -13180,7 +13178,7 @@ const VAutocomplete = genericComponent()({
13180
13178
  'v-autocomplete--selecting-index': selectionIndex.value > -1
13181
13179
  }, props.class],
13182
13180
  "style": props.style,
13183
- "readonly": props.readonly,
13181
+ "readonly": form.isReadonly.value,
13184
13182
  "placeholder": isDirty ? undefined : props.placeholder,
13185
13183
  "onClick:clear": onClear,
13186
13184
  "onMousedown:control": onMousedownControl,
@@ -16799,7 +16797,7 @@ const VCombobox = genericComponent()({
16799
16797
  const transformed = transformOut(v);
16800
16798
  return props.multiple ? transformed : transformed[0] ?? null;
16801
16799
  });
16802
- const form = useForm();
16800
+ const form = useForm(props);
16803
16801
  const hasChips = computed(() => !!(props.chips || slots.chip));
16804
16802
  const hasSelectionSlot = computed(() => hasChips.value || !!slots.selection);
16805
16803
  const _search = shallowRef(!props.multiple && !hasSelectionSlot.value ? model.value[0]?.title ?? '' : '');
@@ -16859,7 +16857,7 @@ const VCombobox = genericComponent()({
16859
16857
  const selectFirst = props.autoSelectFirst === true || props.autoSelectFirst === 'exact' && search.value === displayItems.value[0]?.title;
16860
16858
  return selectFirst && displayItems.value.length > 0 && !isPristine.value && !listHasFocus.value;
16861
16859
  });
16862
- const menuDisabled = computed(() => props.hideNoData && !displayItems.value.length || props.readonly || form?.isReadonly.value);
16860
+ const menuDisabled = computed(() => props.hideNoData && !displayItems.value.length || form.isReadonly.value || form.isDisabled.value);
16863
16861
  const listRef = ref();
16864
16862
  const listEvents = useScrolling(listRef, vTextFieldRef);
16865
16863
  function onClear(e) {
@@ -16887,7 +16885,7 @@ const VCombobox = genericComponent()({
16887
16885
  }
16888
16886
  // eslint-disable-next-line complexity
16889
16887
  function onKeydown(e) {
16890
- if (isComposingIgnoreKey(e) || props.readonly || form?.isReadonly.value) return;
16888
+ if (isComposingIgnoreKey(e) || form.isReadonly.value) return;
16891
16889
  const selectionStart = vTextFieldRef.value.selectionStart;
16892
16890
  const length = model.value.length;
16893
16891
  if (selectionIndex.value > -1 || ['Enter', 'ArrowDown', 'ArrowUp'].includes(e.key)) {
@@ -17059,7 +17057,7 @@ const VCombobox = genericComponent()({
17059
17057
  [`v-combobox--${props.multiple ? 'multiple' : 'single'}`]: true
17060
17058
  }, props.class],
17061
17059
  "style": props.style,
17062
- "readonly": props.readonly,
17060
+ "readonly": form.isReadonly.value,
17063
17061
  "placeholder": isDirty ? undefined : props.placeholder,
17064
17062
  "onClick:clear": onClear,
17065
17063
  "onMousedown:control": onMousedownControl,
@@ -18103,21 +18101,23 @@ const VConfirmEdit = genericComponent()({
18103
18101
  internalModel.value = structuredClone(toRaw(model.value));
18104
18102
  emit('cancel');
18105
18103
  }
18106
- let actionsUsed = false;
18107
- useRender(() => {
18108
- const actions = createVNode(Fragment, null, [createVNode(VBtn, {
18104
+ function actions(actionsProps) {
18105
+ return createVNode(Fragment, null, [createVNode(VBtn, mergeProps({
18109
18106
  "disabled": isPristine.value,
18110
18107
  "variant": "text",
18111
18108
  "color": props.color,
18112
18109
  "onClick": cancel,
18113
18110
  "text": t(props.cancelText)
18114
- }, null), createVNode(VBtn, {
18111
+ }, actionsProps), null), createVNode(VBtn, mergeProps({
18115
18112
  "disabled": isPristine.value,
18116
18113
  "variant": "text",
18117
18114
  "color": props.color,
18118
18115
  "onClick": save,
18119
18116
  "text": t(props.okText)
18120
- }, null)]);
18117
+ }, actionsProps), null)]);
18118
+ }
18119
+ let actionsUsed = false;
18120
+ useRender(() => {
18121
18121
  return createVNode(Fragment, null, [slots.default?.({
18122
18122
  model: internalModel,
18123
18123
  save,
@@ -18127,7 +18127,7 @@ const VConfirmEdit = genericComponent()({
18127
18127
  actionsUsed = true;
18128
18128
  return actions;
18129
18129
  }
18130
- }), !actionsUsed && actions]);
18130
+ }), !actionsUsed && actions()]);
18131
18131
  });
18132
18132
  return {
18133
18133
  save,
@@ -21417,7 +21417,7 @@ const VDatePickerControls = genericComponent()({
21417
21417
  // Types
21418
21418
 
21419
21419
  const makeVDatePickerHeaderProps = propsFactory({
21420
- appendIcon: String,
21420
+ appendIcon: IconValue,
21421
21421
  color: String,
21422
21422
  header: String,
21423
21423
  transition: String,
@@ -24636,7 +24636,7 @@ const VRadioGroup = genericComponent()({
24636
24636
  attrs,
24637
24637
  slots
24638
24638
  } = _ref;
24639
- const uid = getUid();
24639
+ const uid = useId();
24640
24640
  const id = computed(() => props.id || `radio-group-${uid}`);
24641
24641
  const model = useProxiedModel(props, 'modelValue');
24642
24642
  useRender(() => {
@@ -24999,7 +24999,8 @@ const VRating = genericComponent()({
24999
24999
  onClick
25000
25000
  };
25001
25001
  }));
25002
- const name = computed(() => props.name ?? `v-rating-${getUid()}`);
25002
+ const uid = useId();
25003
+ const name = computed(() => props.name ?? `v-rating-${uid}`);
25003
25004
  function VRatingItem(_ref2) {
25004
25005
  let {
25005
25006
  value,
@@ -25538,7 +25539,7 @@ const VBarline = genericComponent()({
25538
25539
  let {
25539
25540
  slots
25540
25541
  } = _ref;
25541
- const uid = getUid();
25542
+ const uid = useId();
25542
25543
  const id = computed(() => props.id || `barline-${uid}`);
25543
25544
  const autoDrawDuration = computed(() => Number(props.autoDrawDuration) || 500);
25544
25545
  const hasLabels = computed(() => {
@@ -25736,7 +25737,7 @@ const VTrendline = genericComponent()({
25736
25737
  let {
25737
25738
  slots
25738
25739
  } = _ref;
25739
- const uid = getUid();
25740
+ const uid = useId();
25740
25741
  const id = computed(() => props.id || `trendline-${uid}`);
25741
25742
  const autoDrawDuration = computed(() => Number(props.autoDrawDuration) || (props.fill ? 500 : 2000));
25742
25743
  const lastLength = ref(0);
@@ -26073,20 +26074,20 @@ const makeStepperItemProps = propsFactory({
26073
26074
  subtitle: String,
26074
26075
  complete: Boolean,
26075
26076
  completeIcon: {
26076
- type: String,
26077
+ type: IconValue,
26077
26078
  default: '$complete'
26078
26079
  },
26079
26080
  editable: Boolean,
26080
26081
  editIcon: {
26081
- type: String,
26082
+ type: IconValue,
26082
26083
  default: '$edit'
26083
26084
  },
26084
26085
  error: Boolean,
26085
26086
  errorIcon: {
26086
- type: String,
26087
+ type: IconValue,
26087
26088
  default: '$error'
26088
26089
  },
26089
- icon: String,
26090
+ icon: IconValue,
26090
26091
  ripple: {
26091
26092
  type: [Boolean, Object],
26092
26093
  default: true
@@ -26247,10 +26248,10 @@ const VStepperWindowItem = genericComponent()({
26247
26248
  const makeStepperProps = propsFactory({
26248
26249
  altLabels: Boolean,
26249
26250
  bgColor: String,
26250
- completeIcon: String,
26251
- editIcon: String,
26251
+ completeIcon: IconValue,
26252
+ editIcon: IconValue,
26252
26253
  editable: Boolean,
26253
- errorIcon: String,
26254
+ errorIcon: IconValue,
26254
26255
  hideActions: Boolean,
26255
26256
  items: {
26256
26257
  type: Array,
@@ -26440,7 +26441,7 @@ const VSwitch = genericComponent()({
26440
26441
  const loaderColor = computed(() => {
26441
26442
  return typeof props.loading === 'string' && props.loading !== '' ? props.loading : props.color;
26442
26443
  });
26443
- const uid = getUid();
26444
+ const uid = useId();
26444
26445
  const id = computed(() => props.id || `switch-${uid}`);
26445
26446
  function onChange() {
26446
26447
  if (indeterminate.value) {
@@ -27485,7 +27486,7 @@ const VTooltip = genericComponent()({
27485
27486
  const {
27486
27487
  scopeId
27487
27488
  } = useScopeId();
27488
- const uid = getUid();
27489
+ const uid = useId();
27489
27490
  const id = computed(() => props.id || `v-tooltip-${uid}`);
27490
27491
  const overlay = ref();
27491
27492
  const location = computed(() => {
@@ -28148,7 +28149,7 @@ const VDateInput = genericComponent()({
28148
28149
  },
28149
28150
  "onMousedown": e => e.preventDefault()
28150
28151
  }), {
28151
- actions: !props.hideActions ? () => actions : undefined
28152
+ actions: !props.hideActions ? actions : undefined
28152
28153
  });
28153
28154
  }
28154
28155
  })]
@@ -28213,8 +28214,8 @@ const VNumberInput = genericComponent()({
28213
28214
  const vTextFieldRef = ref();
28214
28215
  const stepDecimals = computed(() => getDecimals(props.step));
28215
28216
  const modelDecimals = computed(() => typeof model.value === 'number' ? getDecimals(model.value) : 0);
28216
- const form = useForm();
28217
- const controlsDisabled = computed(() => props.disabled || props.readonly || form?.isReadonly.value);
28217
+ const form = useForm(props);
28218
+ const controlsDisabled = computed(() => form.isDisabled.value || form.isReadonly.value);
28218
28219
  const canIncrease = computed(() => {
28219
28220
  if (controlsDisabled.value) return false;
28220
28221
  return (model.value ?? 0) + props.step <= props.max;
@@ -28237,7 +28238,7 @@ const VNumberInput = genericComponent()({
28237
28238
  click: onClickDown
28238
28239
  }));
28239
28240
  onMounted(() => {
28240
- if (!props.readonly && !props.disabled) {
28241
+ if (!controlsDisabled.value) {
28241
28242
  clampModel();
28242
28243
  }
28243
28244
  });
@@ -28313,7 +28314,8 @@ const VNumberInput = genericComponent()({
28313
28314
  "flat": true,
28314
28315
  "key": "increment-btn",
28315
28316
  "height": controlNodeDefaultHeight.value,
28316
- "name": "increment-btn",
28317
+ "data-testid": "increment",
28318
+ "aria-hidden": "true",
28317
28319
  "icon": incrementIcon.value,
28318
28320
  "onClick": onClickUp,
28319
28321
  "onMousedown": onControlMousedown,
@@ -28340,7 +28342,8 @@ const VNumberInput = genericComponent()({
28340
28342
  "flat": true,
28341
28343
  "key": "decrement-btn",
28342
28344
  "height": controlNodeDefaultHeight.value,
28343
- "name": "decrement-btn",
28345
+ "data-testid": "decrement",
28346
+ "aria-hidden": "true",
28344
28347
  "icon": decrementIcon.value,
28345
28348
  "size": controlNodeSize.value,
28346
28349
  "tabindex": "-1",
@@ -29592,9 +29595,8 @@ const VTreeviewItem = genericComponent()({
29592
29595
  const vListItemRef = ref();
29593
29596
  const isActivatableGroupActivator = computed(() => vListItemRef.value?.root.activatable.value && vListItemRef.value?.isGroupActivator);
29594
29597
  const isClickable = computed(() => !props.disabled && props.link !== false && (props.link || link.isClickable.value || props.value != null && !!vListItemRef.value?.list || isActivatableGroupActivator.value));
29595
- function activateItem(e) {
29596
- if (!isClickable.value || !isActivatableGroupActivator.value && vListItemRef.value?.isGroupActivator) return;
29597
- if (vListItemRef.value?.root.activatable.value) {
29598
+ function activateGroupActivator(e) {
29599
+ if (isClickable.value && isActivatableGroupActivator.value) {
29598
29600
  vListItemRef.value?.activate(!vListItemRef.value?.isActivated, e);
29599
29601
  }
29600
29602
  }
@@ -29613,7 +29615,7 @@ const VTreeviewItem = genericComponent()({
29613
29615
  'v-treeview-item--filtered': visibleIds.value && !visibleIds.value.has(vListItemRef.value?.id)
29614
29616
  }, props.class],
29615
29617
  "ripple": false,
29616
- "onClick": props.onClick ?? activateItem
29618
+ "onClick": props.onClick ?? activateGroupActivator
29617
29619
  }), {
29618
29620
  ...slots,
29619
29621
  prepend: hasPrepend ? slotProps => {
@@ -30374,7 +30376,6 @@ function createVuetify$1() {
30374
30376
  };
30375
30377
  }
30376
30378
  }
30377
- getUid.reset();
30378
30379
  if (typeof __VUE_OPTIONS_API__ !== 'boolean' || __VUE_OPTIONS_API__) {
30379
30380
  app.mixin({
30380
30381
  computed: {
@@ -30403,7 +30404,7 @@ function createVuetify$1() {
30403
30404
  goTo
30404
30405
  };
30405
30406
  }
30406
- const version$1 = "3.7.4-next.2024-11-06";
30407
+ const version$1 = "3.7.5-dev.2024-12-16";
30407
30408
  createVuetify$1.version = version$1;
30408
30409
 
30409
30410
  // Vue's inject() can only be used in setup
@@ -30656,7 +30657,7 @@ var index = /*#__PURE__*/Object.freeze({
30656
30657
 
30657
30658
  /* eslint-disable local-rules/sort-imports */
30658
30659
 
30659
- const version = "3.7.4-next.2024-11-06";
30660
+ const version = "3.7.5-dev.2024-12-16";
30660
30661
 
30661
30662
  /* eslint-disable local-rules/sort-imports */
30662
30663