@vuetify/nightly 3.7.5-master.2024-12-17 → 3.7.6-dev.2025-01-06

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 (290) hide show
  1. package/dist/json/attributes.json +2037 -2021
  2. package/dist/json/importMap-labs.json +16 -16
  3. package/dist/json/importMap.json +164 -164
  4. package/dist/json/tags.json +4 -0
  5. package/dist/json/web-types.json +4057 -4019
  6. package/dist/vuetify-labs.css +4809 -4809
  7. package/dist/vuetify-labs.d.ts +3395 -14377
  8. package/dist/vuetify-labs.esm.js +81 -62
  9. package/dist/vuetify-labs.esm.js.map +1 -1
  10. package/dist/vuetify-labs.js +80 -61
  11. package/dist/vuetify-labs.min.css +2 -2
  12. package/dist/vuetify.css +2423 -2423
  13. package/dist/vuetify.d.ts +3157 -12301
  14. package/dist/vuetify.esm.js +81 -62
  15. package/dist/vuetify.esm.js.map +1 -1
  16. package/dist/vuetify.js +80 -61
  17. package/dist/vuetify.js.map +1 -1
  18. package/dist/vuetify.min.css +2 -2
  19. package/dist/vuetify.min.js +894 -894
  20. package/dist/vuetify.min.js.map +1 -1
  21. package/lib/blueprints/index.d.mts +2 -0
  22. package/lib/blueprints/md1.d.mts +2 -0
  23. package/lib/blueprints/md2.d.mts +2 -0
  24. package/lib/blueprints/md3.d.mts +2 -0
  25. package/lib/components/VAlert/VAlert.mjs +1 -1
  26. package/lib/components/VAlert/index.d.mts +8 -86
  27. package/lib/components/VApp/index.d.mts +4 -20
  28. package/lib/components/VAppBar/VAppBar.mjs +1 -1
  29. package/lib/components/VAppBar/VAppBarNavIcon.mjs +1 -1
  30. package/lib/components/VAppBar/VAppBarTitle.mjs +1 -1
  31. package/lib/components/VAppBar/index.d.mts +18 -154
  32. package/lib/components/VAutocomplete/VAutocomplete.mjs +3 -2
  33. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  34. package/lib/components/VAutocomplete/index.d.mts +201 -1360
  35. package/lib/components/VAvatar/index.d.mts +4 -31
  36. package/lib/components/VBadge/VBadge.mjs +1 -1
  37. package/lib/components/VBadge/index.d.mts +4 -41
  38. package/lib/components/VBanner/VBanner.mjs +1 -1
  39. package/lib/components/VBanner/index.d.mts +12 -88
  40. package/lib/components/VBottomNavigation/index.d.mts +4 -32
  41. package/lib/components/VBottomSheet/VBottomSheet.mjs +1 -1
  42. package/lib/components/VBottomSheet/index.d.mts +4 -88
  43. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs +1 -1
  44. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs +1 -1
  45. package/lib/components/VBreadcrumbs/index.d.mts +12 -65
  46. package/lib/components/VBtn/VBtn.mjs +1 -1
  47. package/lib/components/VBtn/index.d.mts +11 -79
  48. package/lib/components/VBtnGroup/VBtnGroup.mjs +1 -1
  49. package/lib/components/VBtnGroup/index.d.mts +4 -28
  50. package/lib/components/VBtnToggle/VBtnToggle.mjs +1 -1
  51. package/lib/components/VBtnToggle/index.d.mts +13 -33
  52. package/lib/components/VCard/VCard.mjs +1 -1
  53. package/lib/components/VCard/VCardItem.mjs +1 -1
  54. package/lib/components/VCard/VCardSubtitle.mjs +1 -1
  55. package/lib/components/VCard/VCardText.mjs +1 -1
  56. package/lib/components/VCard/index.d.mts +24 -190
  57. package/lib/components/VCarousel/VCarousel.mjs +1 -1
  58. package/lib/components/VCarousel/VCarousel.mjs.map +1 -1
  59. package/lib/components/VCarousel/VCarouselItem.mjs +1 -1
  60. package/lib/components/VCarousel/index.d.mts +17 -95
  61. package/lib/components/VCheckbox/VCheckbox.mjs +4 -4
  62. package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
  63. package/lib/components/VCheckbox/VCheckboxBtn.mjs +1 -1
  64. package/lib/components/VCheckbox/index.d.mts +8 -90
  65. package/lib/components/VChip/VChip.mjs +16 -9
  66. package/lib/components/VChip/VChip.mjs.map +1 -1
  67. package/lib/components/VChip/index.d.mts +9 -105
  68. package/lib/components/VChipGroup/VChipGroup.mjs +3 -1
  69. package/lib/components/VChipGroup/VChipGroup.mjs.map +1 -1
  70. package/lib/components/VChipGroup/index.d.mts +24 -43
  71. package/lib/components/VCode/index.d.mts +4 -18
  72. package/lib/components/VColorPicker/VColorPicker.mjs +1 -1
  73. package/lib/components/VColorPicker/index.d.mts +4 -68
  74. package/lib/components/VCombobox/VCombobox.mjs +3 -2
  75. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  76. package/lib/components/VCombobox/index.d.mts +201 -1360
  77. package/lib/components/VConfirmEdit/VConfirmEdit.mjs +1 -1
  78. package/lib/components/VConfirmEdit/__test__/VConfirmEdit.spec.browser.mjs +1 -1
  79. package/lib/components/VConfirmEdit/index.d.mts +6 -13
  80. package/lib/components/VCounter/VCounter.mjs +1 -1
  81. package/lib/components/VCounter/index.d.mts +9 -31
  82. package/lib/components/VDataIterator/index.d.mts +12 -56
  83. package/lib/components/VDataTable/VDataTable.mjs +1 -1
  84. package/lib/components/VDataTable/VDataTableFooter.mjs +1 -1
  85. package/lib/components/VDataTable/VDataTableGroupHeaderRow.mjs +1 -1
  86. package/lib/components/VDataTable/VDataTableHeaders.mjs +1 -1
  87. package/lib/components/VDataTable/VDataTableRow.mjs +1 -1
  88. package/lib/components/VDataTable/VDataTableRows.mjs +1 -1
  89. package/lib/components/VDataTable/VDataTableServer.mjs +1 -1
  90. package/lib/components/VDataTable/VDataTableVirtual.mjs +1 -1
  91. package/lib/components/VDataTable/index.d.mts +50 -388
  92. package/lib/components/VDatePicker/VDatePicker.mjs +1 -1
  93. package/lib/components/VDatePicker/VDatePickerMonth.mjs +1 -1
  94. package/lib/components/VDatePicker/VDatePickerMonths.mjs +1 -1
  95. package/lib/components/VDatePicker/VDatePickerYears.mjs +1 -1
  96. package/lib/components/VDatePicker/index.d.mts +24 -276
  97. package/lib/components/VDefaultsProvider/index.d.mts +4 -20
  98. package/lib/components/VDialog/VDialog.mjs +1 -1
  99. package/lib/components/VDialog/__test__/VDialog.spec.cy.mjs +1 -1
  100. package/lib/components/VDialog/index.d.mts +143 -389
  101. package/lib/components/VDivider/index.d.mts +4 -24
  102. package/lib/components/VEmptyState/VEmptyState.mjs +1 -1
  103. package/lib/components/VEmptyState/index.d.mts +4 -66
  104. package/lib/components/VExpansionPanel/VExpansionPanelText.mjs +1 -1
  105. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs +1 -1
  106. package/lib/components/VExpansionPanel/index.d.mts +23 -159
  107. package/lib/components/VFab/VFab.mjs +1 -1
  108. package/lib/components/VFab/index.d.mts +15 -84
  109. package/lib/components/VField/VField.mjs +4 -4
  110. package/lib/components/VField/VField.mjs.map +1 -1
  111. package/lib/components/VField/VFieldLabel.mjs +1 -1
  112. package/lib/components/VField/index.d.mts +11 -59
  113. package/lib/components/VFileInput/VFileInput.mjs +1 -1
  114. package/lib/components/VFileInput/index.d.mts +71 -256
  115. package/lib/components/VFooter/VFooter.mjs +1 -1
  116. package/lib/components/VFooter/index.d.mts +4 -29
  117. package/lib/components/VForm/index.d.mts +267 -175
  118. package/lib/components/VGrid/VContainer.mjs +1 -1
  119. package/lib/components/VGrid/index.d.mts +16 -118
  120. package/lib/components/VHover/index.d.mts +4 -33
  121. package/lib/components/VIcon/index.d.mts +17 -75
  122. package/lib/components/VImg/VImg.mjs +1 -1
  123. package/lib/components/VImg/index.d.mts +19 -74
  124. package/lib/components/VInfiniteScroll/VInfiniteScroll.mjs +1 -1
  125. package/lib/components/VInfiniteScroll/index.d.mts +4 -46
  126. package/lib/components/VInput/VInput.mjs +4 -4
  127. package/lib/components/VInput/VInput.mjs.map +1 -1
  128. package/lib/components/VInput/index.d.mts +4 -37
  129. package/lib/components/VItemGroup/VItemGroup.mjs.map +1 -1
  130. package/lib/components/VItemGroup/index.d.mts +17 -74
  131. package/lib/components/VKbd/index.d.mts +4 -18
  132. package/lib/components/VLabel/index.d.mts +4 -20
  133. package/lib/components/VLayout/index.d.mts +8 -48
  134. package/lib/components/VLazy/VLazy.mjs +1 -1
  135. package/lib/components/VLazy/index.d.mts +4 -31
  136. package/lib/components/VList/VList.mjs +1 -1
  137. package/lib/components/VList/VListChildren.mjs +1 -1
  138. package/lib/components/VList/VListGroup.mjs +1 -1
  139. package/lib/components/VList/VListItem.mjs +1 -1
  140. package/lib/components/VList/VListItemAction.mjs +1 -1
  141. package/lib/components/VList/VListItemMedia.mjs +1 -1
  142. package/lib/components/VList/VListItemSubtitle.mjs +1 -1
  143. package/lib/components/VList/index.d.mts +48 -291
  144. package/lib/components/VLocaleProvider/index.d.mts +4 -21
  145. package/lib/components/VMain/index.d.mts +4 -25
  146. package/lib/components/VMenu/VMenu.mjs +4 -4
  147. package/lib/components/VMenu/VMenu.mjs.map +1 -1
  148. package/lib/components/VMenu/index.d.mts +155 -397
  149. package/lib/components/VMessages/index.d.mts +4 -27
  150. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +1 -1
  151. package/lib/components/VNavigationDrawer/index.d.mts +7 -62
  152. package/lib/components/VOtpInput/VOtpInput.mjs +1 -1
  153. package/lib/components/VOtpInput/index.d.mts +7 -52
  154. package/lib/components/VOverlay/VOverlay.mjs +1 -1
  155. package/lib/components/VOverlay/index.d.mts +19 -101
  156. package/lib/components/VPagination/VPagination.mjs +1 -1
  157. package/lib/components/VPagination/index.d.mts +4 -64
  158. package/lib/components/VParallax/VParallax.mjs +1 -1
  159. package/lib/components/VParallax/index.d.mts +4 -27
  160. package/lib/components/VProgressCircular/index.d.mts +4 -34
  161. package/lib/components/VProgressLinear/index.d.mts +4 -54
  162. package/lib/components/VRadio/VRadio.mjs +1 -1
  163. package/lib/components/VRadio/index.d.mts +4 -68
  164. package/lib/components/VRadioGroup/VRadioGroup.mjs +4 -4
  165. package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
  166. package/lib/components/VRadioGroup/index.d.mts +4 -48
  167. package/lib/components/VRangeSlider/VRangeSlider.mjs +1 -1
  168. package/lib/components/VRangeSlider/index.d.mts +4 -107
  169. package/lib/components/VRating/VRating.mjs +5 -4
  170. package/lib/components/VRating/VRating.mjs.map +1 -1
  171. package/lib/components/VRating/index.d.mts +4 -42
  172. package/lib/components/VResponsive/index.d.mts +4 -29
  173. package/lib/components/VSelect/VSelect.mjs +3 -2
  174. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  175. package/lib/components/VSelect/index.d.mts +200 -1352
  176. package/lib/components/VSelectionControl/VSelectionControl.mjs +4 -4
  177. package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
  178. package/lib/components/VSelectionControl/index.d.mts +10 -37
  179. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs +3 -3
  180. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs.map +1 -1
  181. package/lib/components/VSelectionControlGroup/index.d.mts +4 -26
  182. package/lib/components/VSheet/VSheet.mjs +1 -1
  183. package/lib/components/VSheet/index.d.mts +4 -32
  184. package/lib/components/VSkeletonLoader/VSkeletonLoader.mjs +1 -1
  185. package/lib/components/VSkeletonLoader/index.d.mts +4 -28
  186. package/lib/components/VSlideGroup/index.d.mts +21 -77
  187. package/lib/components/VSlider/VSlider.mjs +1 -1
  188. package/lib/components/VSlider/VSliderThumb.mjs +1 -1
  189. package/lib/components/VSlider/index.d.mts +4 -106
  190. package/lib/components/VSnackbar/VSnackbar.mjs +1 -1
  191. package/lib/components/VSnackbar/index.d.mts +152 -398
  192. package/lib/components/VSparkline/VBarline.mjs +3 -4
  193. package/lib/components/VSparkline/VBarline.mjs.map +1 -1
  194. package/lib/components/VSparkline/VSparkline.mjs +1 -1
  195. package/lib/components/VSparkline/VTrendline.mjs +3 -4
  196. package/lib/components/VSparkline/VTrendline.mjs.map +1 -1
  197. package/lib/components/VSparkline/index.d.mts +4 -49
  198. package/lib/components/VSpeedDial/VSpeedDial.mjs +1 -1
  199. package/lib/components/VSpeedDial/index.d.mts +4 -85
  200. package/lib/components/VStepper/VStepper.mjs +1 -1
  201. package/lib/components/VStepper/VStepperItem.mjs +1 -1
  202. package/lib/components/VStepper/VStepperWindow.mjs +1 -1
  203. package/lib/components/VStepper/VStepperWindowItem.mjs +1 -1
  204. package/lib/components/VStepper/index.d.mts +24 -250
  205. package/lib/components/VSwitch/VSwitch.mjs +4 -4
  206. package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
  207. package/lib/components/VSwitch/index.d.mts +4 -59
  208. package/lib/components/VSystemBar/VSystemBar.mjs +1 -1
  209. package/lib/components/VSystemBar/index.d.mts +4 -28
  210. package/lib/components/VTable/index.d.mts +4 -33
  211. package/lib/components/VTabs/VTab.mjs +1 -1
  212. package/lib/components/VTabs/VTabs.mjs +1 -1
  213. package/lib/components/VTabs/VTabsWindow.mjs +1 -1
  214. package/lib/components/VTabs/VTabsWindowItem.mjs +1 -1
  215. package/lib/components/VTabs/index.d.mts +105 -401
  216. package/lib/components/VTextField/VTextField.mjs +1 -1
  217. package/lib/components/VTextField/index.d.mts +152 -374
  218. package/lib/components/VTextarea/VTextarea.mjs +1 -1
  219. package/lib/components/VTextarea/index.d.mts +71 -244
  220. package/lib/components/VThemeProvider/index.d.mts +4 -20
  221. package/lib/components/VTimeline/VTimeline.mjs +1 -1
  222. package/lib/components/VTimeline/VTimelineDivider.mjs +1 -1
  223. package/lib/components/VTimeline/VTimelineItem.mjs +1 -1
  224. package/lib/components/VTimeline/index.d.mts +8 -75
  225. package/lib/components/VToolbar/VToolbar.mjs +1 -1
  226. package/lib/components/VToolbar/index.d.mts +12 -90
  227. package/lib/components/VTooltip/VTooltip.mjs +4 -4
  228. package/lib/components/VTooltip/VTooltip.mjs.map +1 -1
  229. package/lib/components/VTooltip/index.d.mts +147 -386
  230. package/lib/components/VValidation/index.d.mts +10 -24
  231. package/lib/components/VVirtualScroll/VVirtualScroll.mjs +1 -1
  232. package/lib/components/VVirtualScroll/VVirtualScrollItem.mjs +1 -1
  233. package/lib/components/VVirtualScroll/index.d.mts +21 -16
  234. package/lib/components/VWindow/VWindow.mjs +1 -1
  235. package/lib/components/VWindow/VWindowItem.mjs +1 -1
  236. package/lib/components/VWindow/index.d.mts +15 -54
  237. package/lib/components/index.d.mts +2975 -12121
  238. package/lib/components/transitions/dialog-transition.mjs +1 -2
  239. package/lib/components/transitions/dialog-transition.mjs.map +1 -1
  240. package/lib/components/transitions/index.d.mts +64 -309
  241. package/lib/composables/group.mjs +3 -3
  242. package/lib/composables/group.mjs.map +1 -1
  243. package/lib/composables/icons.mjs +1 -1
  244. package/lib/composables/layout.mjs +3 -3
  245. package/lib/composables/layout.mjs.map +1 -1
  246. package/lib/composables/nested/nested.mjs +2 -2
  247. package/lib/composables/nested/nested.mjs.map +1 -1
  248. package/lib/composables/theme.mjs +18 -7
  249. package/lib/composables/theme.mjs.map +1 -1
  250. package/lib/composables/validation.mjs +3 -3
  251. package/lib/composables/validation.mjs.map +1 -1
  252. package/lib/composables/variant.mjs +1 -1
  253. package/lib/composables/virtual.mjs +14 -7
  254. package/lib/composables/virtual.mjs.map +1 -1
  255. package/lib/entry-bundler.mjs +1 -1
  256. package/lib/entry-bundler.mjs.map +1 -1
  257. package/lib/framework.mjs +2 -3
  258. package/lib/framework.mjs.map +1 -1
  259. package/lib/index.d.mts +63 -61
  260. package/lib/labs/VCalendar/VCalendar.mjs +1 -1
  261. package/lib/labs/VCalendar/VCalendarDay.mjs +1 -1
  262. package/lib/labs/VCalendar/index.d.mts +24 -211
  263. package/lib/labs/VDateInput/VDateInput.mjs +1 -1
  264. package/lib/labs/VDateInput/index.d.mts +4 -115
  265. package/lib/labs/VFileUpload/VFileUpload.mjs +1 -1
  266. package/lib/labs/VFileUpload/VFileUploadItem.mjs +1 -1
  267. package/lib/labs/VFileUpload/index.d.mts +8 -195
  268. package/lib/labs/VNumberInput/VNumberInput.mjs +1 -1
  269. package/lib/labs/VNumberInput/index.d.mts +577 -1280
  270. package/lib/labs/VPicker/VPicker.mjs +1 -1
  271. package/lib/labs/VPicker/index.d.mts +8 -63
  272. package/lib/labs/VPullToRefresh/index.d.mts +4 -35
  273. package/lib/labs/VSnackbarQueue/VSnackbarQueue.mjs +1 -1
  274. package/lib/labs/VSnackbarQueue/index.d.mts +156 -453
  275. package/lib/labs/VStepperVertical/VStepperVertical.mjs +1 -1
  276. package/lib/labs/VStepperVertical/VStepperVerticalActions.mjs +1 -1
  277. package/lib/labs/VStepperVertical/VStepperVerticalItem.mjs +1 -1
  278. package/lib/labs/VStepperVertical/index.d.mts +12 -227
  279. package/lib/labs/VTimePicker/VTimePicker.mjs +1 -1
  280. package/lib/labs/VTimePicker/VTimePickerControls.mjs +1 -1
  281. package/lib/labs/VTimePicker/index.d.mts +12 -122
  282. package/lib/labs/VTreeview/VTreeview.mjs +1 -1
  283. package/lib/labs/VTreeview/VTreeviewChildren.mjs +1 -1
  284. package/lib/labs/VTreeview/VTreeviewGroup.mjs +1 -1
  285. package/lib/labs/VTreeview/VTreeviewItem.mjs +1 -1
  286. package/lib/labs/VTreeview/index.d.mts +18 -205
  287. package/lib/labs/components.d.mts +1116 -3200
  288. package/lib/util/getCurrentInstance.mjs +1 -15
  289. package/lib/util/getCurrentInstance.mjs.map +1 -1
  290. package/package.json +5 -4
package/dist/vuetify.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.7.5-master.2024-12-17
2
+ * Vuetify v3.7.6-dev.2025-01-06
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -1251,9 +1251,6 @@
1251
1251
  }, 'component');
1252
1252
 
1253
1253
  // Utilities
1254
-
1255
- // Types
1256
-
1257
1254
  function getCurrentInstance(name, message) {
1258
1255
  const vm = vue.getCurrentInstance();
1259
1256
  if (!vm) {
@@ -1266,20 +1263,6 @@
1266
1263
  const vm = getCurrentInstance(name).type;
1267
1264
  return toKebabCase(vm?.aliasName || vm?.name);
1268
1265
  }
1269
- let _uid = 0;
1270
- let _map = new WeakMap();
1271
- function getUid() {
1272
- const vm = getCurrentInstance('getUid');
1273
- if (_map.has(vm)) return _map.get(vm);else {
1274
- const uid = _uid++;
1275
- _map.set(vm, uid);
1276
- return uid;
1277
- }
1278
- }
1279
- getUid.reset = () => {
1280
- _uid = 0;
1281
- _map = new WeakMap();
1282
- };
1283
1266
 
1284
1267
  // Utilities
1285
1268
 
@@ -2096,7 +2079,7 @@
2096
2079
  function useLayoutItem(options) {
2097
2080
  const layout = vue.inject(VuetifyLayoutKey);
2098
2081
  if (!layout) throw new Error('[Vuetify] Could not find injected layout');
2099
- const id = options.id ?? `layout-item-${getUid()}`;
2082
+ const id = options.id ?? `layout-item-${vue.useId()}`;
2100
2083
  const vm = getCurrentInstance('useLayoutItem');
2101
2084
  vue.provide(VuetifyLayoutItemKey, {
2102
2085
  id
@@ -2806,7 +2789,8 @@
2806
2789
  'theme-on-code': '#CCCCCC'
2807
2790
  }
2808
2791
  }
2809
- }
2792
+ },
2793
+ stylesheetId: 'vuetify-theme-stylesheet'
2810
2794
  };
2811
2795
  }
2812
2796
  function parseThemeOptions() {
@@ -2863,6 +2847,19 @@
2863
2847
  return acc;
2864
2848
  });
2865
2849
  const current = vue.computed(() => computedThemes.value[name.value]);
2850
+ function createCssClass(lines, selector, content) {
2851
+ lines.push(`${getScopedSelector(selector)} {\n`, ...content.map(line => ` ${line};\n`), '}\n');
2852
+ }
2853
+ function getScopedSelector(selector) {
2854
+ if (!parsedOptions.scope) {
2855
+ return selector;
2856
+ }
2857
+ const scopeSelector = `:where(${parsedOptions.scope})`;
2858
+ if (selector === ':root') {
2859
+ return scopeSelector;
2860
+ }
2861
+ return `${scopeSelector} ${selector}`;
2862
+ }
2866
2863
  const styles = vue.computed(() => {
2867
2864
  const lines = [];
2868
2865
  if (current.value?.dark) {
@@ -2891,7 +2888,7 @@
2891
2888
  return {
2892
2889
  style: [{
2893
2890
  children: styles.value,
2894
- id: 'vuetify-theme-stylesheet',
2891
+ id: parsedOptions.stylesheetId,
2895
2892
  nonce: parsedOptions.cspNonce || false
2896
2893
  }]
2897
2894
  };
@@ -2916,7 +2913,7 @@
2916
2913
  }
2917
2914
  }
2918
2915
  } else {
2919
- let styleEl = IN_BROWSER ? document.getElementById('vuetify-theme-stylesheet') : null;
2916
+ let styleEl = IN_BROWSER ? document.getElementById(parsedOptions.stylesheetId) : null;
2920
2917
  if (IN_BROWSER) {
2921
2918
  vue.watch(styles, updateStyles, {
2922
2919
  immediate: true
@@ -2928,7 +2925,7 @@
2928
2925
  if (typeof document !== 'undefined' && !styleEl) {
2929
2926
  const el = document.createElement('style');
2930
2927
  el.type = 'text/css';
2931
- el.id = 'vuetify-theme-stylesheet';
2928
+ el.id = parsedOptions.stylesheetId;
2932
2929
  if (parsedOptions.cspNonce) el.setAttribute('nonce', parsedOptions.cspNonce);
2933
2930
  styleEl = el;
2934
2931
  document.head.appendChild(styleEl);
@@ -2977,9 +2974,6 @@
2977
2974
  if (!theme) throw new Error('Could not find Vuetify theme injection');
2978
2975
  return theme;
2979
2976
  }
2980
- function createCssClass(lines, selector, content) {
2981
- lines.push(`${selector} {\n`, ...content.map(line => ` ${line};\n`), '}\n');
2982
- }
2983
2977
  function genCssVariables(theme) {
2984
2978
  const lightOverlay = theme.dark ? 2 : 1;
2985
2979
  const darkOverlay = theme.dark ? 1 : 2;
@@ -3255,6 +3249,8 @@
3255
3249
  }
3256
3250
  }
3257
3251
 
3252
+ // Utilities
3253
+
3258
3254
  // Types
3259
3255
 
3260
3256
  const makeVDialogTransitionProps = propsFactory({
@@ -4601,7 +4597,7 @@
4601
4597
  if (!vm) {
4602
4598
  throw new Error('[Vuetify] useGroupItem composable must be used inside a component setup function');
4603
4599
  }
4604
- const id = getUid();
4600
+ const id = vue.useId();
4605
4601
  vue.provide(Symbol.for(`${injectKey.description}:id`), id);
4606
4602
  const group = vue.inject(injectKey, null);
4607
4603
  if (!group) {
@@ -6373,7 +6369,7 @@
6373
6369
  slots
6374
6370
  } = _ref;
6375
6371
  const modelValue = useProxiedModel(props, 'modelValue');
6376
- const uid = getUid();
6372
+ const uid = vue.useId();
6377
6373
  const id = vue.computed(() => props.id || `v-selection-control-group-${uid}`);
6378
6374
  const name = vue.computed(() => props.name || id.value);
6379
6375
  const updateHandlers = new Set();
@@ -6510,7 +6506,7 @@
6510
6506
  backgroundColorStyles,
6511
6507
  trueValue
6512
6508
  } = useSelectionControl(props);
6513
- const uid = getUid();
6509
+ const uid = vue.useId();
6514
6510
  const isFocused = vue.shallowRef(false);
6515
6511
  const isFocusVisible = vue.shallowRef(false);
6516
6512
  const input = vue.ref();
@@ -6955,7 +6951,7 @@
6955
6951
  }, 'validation');
6956
6952
  function useValidation(props) {
6957
6953
  let name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getCurrentInstanceName();
6958
- let id = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : getUid();
6954
+ let id = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : vue.useId();
6959
6955
  const model = useProxiedModel(props, 'modelValue');
6960
6956
  const validationModel = vue.computed(() => props.validationValue === undefined ? model.value : props.validationValue);
6961
6957
  const form = useForm(props);
@@ -7147,7 +7143,7 @@
7147
7143
  const {
7148
7144
  InputIcon
7149
7145
  } = useInputIcon(props);
7150
- const uid = getUid();
7146
+ const uid = vue.useId();
7151
7147
  const id = vue.computed(() => props.id || `input-${uid}`);
7152
7148
  const messagesId = vue.computed(() => `${id.value}-messages`);
7153
7149
  const {
@@ -7255,7 +7251,7 @@
7255
7251
  focus,
7256
7252
  blur
7257
7253
  } = useFocus(props);
7258
- const uid = getUid();
7254
+ const uid = vue.useId();
7259
7255
  const id = vue.computed(() => props.id || `checkbox-${uid}`);
7260
7256
  useRender(() => {
7261
7257
  const [rootAttrs, controlAttrs] = filterInputAttrs(attrs);
@@ -7995,6 +7991,7 @@
7995
7991
 
7996
7992
  const VChipGroupSymbol = Symbol.for('vuetify:v-chip-group');
7997
7993
  const makeVChipGroupProps = propsFactory({
7994
+ baseColor: String,
7998
7995
  column: Boolean,
7999
7996
  filter: Boolean,
8000
7997
  valueComparator: {
@@ -8034,6 +8031,7 @@
8034
8031
  } = useGroup(props, VChipGroupSymbol);
8035
8032
  provideDefaults({
8036
8033
  VChip: {
8034
+ baseColor: vue.toRef(props, 'baseColor'),
8037
8035
  color: vue.toRef(props, 'color'),
8038
8036
  disabled: vue.toRef(props, 'disabled'),
8039
8037
  filter: vue.toRef(props, 'filter'),
@@ -8067,6 +8065,7 @@
8067
8065
  activeClass: String,
8068
8066
  appendAvatar: String,
8069
8067
  appendIcon: IconValue,
8068
+ baseColor: String,
8070
8069
  closable: Boolean,
8071
8070
  closeIcon: {
8072
8071
  type: IconValue,
@@ -8141,11 +8140,6 @@
8141
8140
  const {
8142
8141
  borderClasses
8143
8142
  } = useBorder(props);
8144
- const {
8145
- colorClasses,
8146
- colorStyles,
8147
- variantClasses
8148
- } = useVariant(props);
8149
8143
  const {
8150
8144
  densityClasses
8151
8145
  } = useDensity(props);
@@ -8175,6 +8169,18 @@
8175
8169
  emit('click:close', e);
8176
8170
  }
8177
8171
  }));
8172
+ const variantProps = vue.computed(() => {
8173
+ const showColor = !group || group.isSelected.value;
8174
+ return {
8175
+ color: showColor ? props.color ?? props.baseColor : props.baseColor,
8176
+ variant: props.variant
8177
+ };
8178
+ });
8179
+ const {
8180
+ colorClasses,
8181
+ colorStyles,
8182
+ variantClasses
8183
+ } = useVariant(variantProps);
8178
8184
  function onClick(e) {
8179
8185
  emit('click', e);
8180
8186
  if (!isClickable.value) return;
@@ -8195,7 +8201,6 @@
8195
8201
  const hasFilter = !!(slots.filter || props.filter) && group;
8196
8202
  const hasPrependMedia = !!(props.prependIcon || props.prependAvatar);
8197
8203
  const hasPrepend = !!(hasPrependMedia || slots.prepend);
8198
- const hasColor = !group || group.isSelected.value;
8199
8204
  return isActive.value && vue.withDirectives(vue.createVNode(Tag, vue.mergeProps({
8200
8205
  "class": ['v-chip', {
8201
8206
  'v-chip--disabled': props.disabled,
@@ -8204,8 +8209,8 @@
8204
8209
  'v-chip--filter': hasFilter,
8205
8210
  'v-chip--pill': props.pill,
8206
8211
  [`${props.activeClass}`]: props.activeClass && link.isActive?.value
8207
- }, themeClasses.value, borderClasses.value, hasColor ? colorClasses.value : undefined, densityClasses.value, elevationClasses.value, roundedClasses.value, sizeClasses.value, variantClasses.value, group?.selectedClass.value, props.class],
8208
- "style": [hasColor ? colorStyles.value : undefined, props.style],
8212
+ }, themeClasses.value, borderClasses.value, colorClasses.value, densityClasses.value, elevationClasses.value, roundedClasses.value, sizeClasses.value, variantClasses.value, group?.selectedClass.value, props.class],
8213
+ "style": [colorStyles.value, props.style],
8209
8214
  "disabled": props.disabled || undefined,
8210
8215
  "draggable": props.draggable,
8211
8216
  "tabindex": isClickable.value ? 0 : undefined,
@@ -8934,7 +8939,7 @@
8934
8939
  };
8935
8940
  const useNestedItem = (id, isGroup) => {
8936
8941
  const parent = vue.inject(VNestedSymbol, emptyNested);
8937
- const uidSymbol = Symbol(getUid());
8942
+ const uidSymbol = Symbol('nested item');
8938
8943
  const computedId = vue.computed(() => id.value !== undefined ? id.value : uidSymbol);
8939
8944
  const item = {
8940
8945
  ...parent,
@@ -11444,7 +11449,7 @@
11444
11449
  const {
11445
11450
  isRtl
11446
11451
  } = useRtl();
11447
- const uid = getUid();
11452
+ const uid = vue.useId();
11448
11453
  const id = vue.computed(() => props.id || `v-menu-${uid}`);
11449
11454
  const overlay = vue.ref();
11450
11455
  const parent = vue.inject(VMenuSymbol, null);
@@ -11740,7 +11745,7 @@
11740
11745
  } = useRtl();
11741
11746
  const isActive = vue.computed(() => props.dirty || props.active);
11742
11747
  const hasLabel = vue.computed(() => !props.singleLine && !!(props.label || slots.label));
11743
- const uid = getUid();
11748
+ const uid = vue.useId();
11744
11749
  const id = vue.computed(() => props.id || `input-${uid}`);
11745
11750
  const messagesId = vue.computed(() => `${id.value}-messages`);
11746
11751
  const labelRef = vue.ref();
@@ -12206,6 +12211,10 @@
12206
12211
  type: [Number, String],
12207
12212
  default: null
12208
12213
  },
12214
+ itemKey: {
12215
+ type: [String, Array, Function],
12216
+ default: null
12217
+ },
12209
12218
  height: [Number, String]
12210
12219
  }, 'virtual');
12211
12220
  function useVirtual(props, items) {
@@ -12384,11 +12393,14 @@
12384
12393
  }
12385
12394
  }
12386
12395
  const computedItems = vue.computed(() => {
12387
- return items.value.slice(first.value, last.value).map((item, index) => ({
12388
- raw: item,
12389
- index: index + first.value,
12390
- key: isObject(item) && 'value' in item ? item.value : index + first.value
12391
- }));
12396
+ return items.value.slice(first.value, last.value).map((item, index) => {
12397
+ const _index = index + first.value;
12398
+ return {
12399
+ raw: item,
12400
+ index: _index,
12401
+ key: getPropertyFromItem(item, props.itemKey, _index)
12402
+ };
12403
+ });
12392
12404
  });
12393
12405
  vue.watch(items, () => {
12394
12406
  sizes = Array.from({
@@ -12400,7 +12412,7 @@
12400
12412
  updateOffsets.immediate();
12401
12413
  calculateVisibleItems();
12402
12414
  }, {
12403
- deep: true
12415
+ deep: 1
12404
12416
  });
12405
12417
  return {
12406
12418
  calculateVisibleItems,
@@ -12906,7 +12918,8 @@
12906
12918
  }, null)), vue.createVNode(VVirtualScroll, {
12907
12919
  "ref": vVirtualScrollRef,
12908
12920
  "renderless": true,
12909
- "items": displayItems.value
12921
+ "items": displayItems.value,
12922
+ "itemKey": "value"
12910
12923
  }, {
12911
12924
  default: _ref2 => {
12912
12925
  let {
@@ -13481,7 +13494,8 @@
13481
13494
  }, null)), vue.createVNode(VVirtualScroll, {
13482
13495
  "ref": vVirtualScrollRef,
13483
13496
  "renderless": true,
13484
- "items": displayItems.value
13497
+ "items": displayItems.value,
13498
+ "itemKey": "value"
13485
13499
  }, {
13486
13500
  default: _ref4 => {
13487
13501
  let {
@@ -17361,7 +17375,8 @@
17361
17375
  }, null)), vue.createVNode(VVirtualScroll, {
17362
17376
  "ref": vVirtualScrollRef,
17363
17377
  "renderless": true,
17364
- "items": displayItems.value
17378
+ "items": displayItems.value,
17379
+ "itemKey": "value"
17365
17380
  }, {
17366
17381
  default: _ref4 => {
17367
17382
  let {
@@ -24901,7 +24916,7 @@
24901
24916
  attrs,
24902
24917
  slots
24903
24918
  } = _ref;
24904
- const uid = getUid();
24919
+ const uid = vue.useId();
24905
24920
  const id = vue.computed(() => props.id || `radio-group-${uid}`);
24906
24921
  const model = useProxiedModel(props, 'modelValue');
24907
24922
  useRender(() => {
@@ -25264,7 +25279,8 @@
25264
25279
  onClick
25265
25280
  };
25266
25281
  }));
25267
- const name = vue.computed(() => props.name ?? `v-rating-${getUid()}`);
25282
+ const uid = vue.useId();
25283
+ const name = vue.computed(() => props.name ?? `v-rating-${uid}`);
25268
25284
  function VRatingItem(_ref2) {
25269
25285
  let {
25270
25286
  value,
@@ -25788,6 +25804,8 @@
25788
25804
  }
25789
25805
  }, 'Line');
25790
25806
 
25807
+ // Utilities
25808
+
25791
25809
  // Types
25792
25810
 
25793
25811
  const makeVBarlineProps = propsFactory({
@@ -25801,7 +25819,7 @@
25801
25819
  let {
25802
25820
  slots
25803
25821
  } = _ref;
25804
- const uid = getUid();
25822
+ const uid = vue.useId();
25805
25823
  const id = vue.computed(() => props.id || `barline-${uid}`);
25806
25824
  const autoDrawDuration = vue.computed(() => Number(props.autoDrawDuration) || 500);
25807
25825
  const hasLabels = vue.computed(() => {
@@ -25984,6 +26002,8 @@
25984
26002
  };
25985
26003
  }
25986
26004
 
26005
+ // Utilities
26006
+
25987
26007
  // Types
25988
26008
 
25989
26009
  const makeVTrendlineProps = propsFactory({
@@ -25997,7 +26017,7 @@
25997
26017
  let {
25998
26018
  slots
25999
26019
  } = _ref;
26000
- const uid = getUid();
26020
+ const uid = vue.useId();
26001
26021
  const id = vue.computed(() => props.id || `trendline-${uid}`);
26002
26022
  const autoDrawDuration = vue.computed(() => Number(props.autoDrawDuration) || (props.fill ? 500 : 2000));
26003
26023
  const lastLength = vue.ref(0);
@@ -26701,7 +26721,7 @@
26701
26721
  const loaderColor = vue.computed(() => {
26702
26722
  return typeof props.loading === 'string' && props.loading !== '' ? props.loading : props.color;
26703
26723
  });
26704
- const uid = getUid();
26724
+ const uid = vue.useId();
26705
26725
  const id = vue.computed(() => props.id || `switch-${uid}`);
26706
26726
  function onChange() {
26707
26727
  if (indeterminate.value) {
@@ -27746,7 +27766,7 @@
27746
27766
  const {
27747
27767
  scopeId
27748
27768
  } = useScopeId();
27749
- const uid = getUid();
27769
+ const uid = vue.useId();
27750
27770
  const id = vue.computed(() => props.id || `v-tooltip-${uid}`);
27751
27771
  const overlay = vue.ref();
27752
27772
  const location = vue.computed(() => {
@@ -28259,7 +28279,6 @@
28259
28279
  };
28260
28280
  }
28261
28281
  }
28262
- getUid.reset();
28263
28282
  if (typeof __VUE_OPTIONS_API__ !== 'boolean' || __VUE_OPTIONS_API__) {
28264
28283
  app.mixin({
28265
28284
  computed: {
@@ -28288,7 +28307,7 @@
28288
28307
  goTo
28289
28308
  };
28290
28309
  }
28291
- const version$1 = "3.7.5-master.2024-12-17";
28310
+ const version$1 = "3.7.6-dev.2025-01-06";
28292
28311
  createVuetify$1.version = version$1;
28293
28312
 
28294
28313
  // Vue's inject() can only be used in setup
@@ -28313,7 +28332,7 @@
28313
28332
  ...options
28314
28333
  });
28315
28334
  };
28316
- const version = "3.7.5-master.2024-12-17";
28335
+ const version = "3.7.6-dev.2025-01-06";
28317
28336
  createVuetify.version = version;
28318
28337
 
28319
28338
  exports.blueprints = index;