@vuetify/nightly 3.2.0-dev-20230322.0 → 3.2.0-dev-20230405.0

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 (473) hide show
  1. package/CHANGELOG.md +2 -2
  2. package/dist/_component-variables-labs.sass +2 -1
  3. package/dist/json/attributes.json +4333 -4117
  4. package/dist/json/importMap-labs.json +8 -4
  5. package/dist/json/importMap.json +176 -176
  6. package/dist/json/tags.json +603 -544
  7. package/dist/json/web-types.json +14307 -13728
  8. package/dist/vuetify-labs.css +331 -113
  9. package/dist/vuetify-labs.d.ts +1881 -993
  10. package/dist/vuetify-labs.esm.js +686 -488
  11. package/dist/vuetify-labs.esm.js.map +1 -1
  12. package/dist/vuetify-labs.js +685 -489
  13. package/dist/vuetify-labs.min.css +2 -2
  14. package/dist/vuetify.css +108 -110
  15. package/dist/vuetify.d.ts +1393 -764
  16. package/dist/vuetify.esm.js +523 -474
  17. package/dist/vuetify.esm.js.map +1 -1
  18. package/dist/vuetify.js +523 -476
  19. package/dist/vuetify.js.map +1 -1
  20. package/dist/vuetify.min.css +2 -2
  21. package/dist/vuetify.min.js +353 -346
  22. package/dist/vuetify.min.js.map +1 -1
  23. package/lib/components/VAlert/VAlert.mjs.map +1 -1
  24. package/lib/components/VApp/VApp.mjs.map +1 -1
  25. package/lib/components/VApp/index.d.ts +2 -2
  26. package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
  27. package/lib/components/VAppBar/VAppBarNavIcon.mjs.map +1 -1
  28. package/lib/components/VAppBar/VAppBarTitle.mjs.map +1 -1
  29. package/lib/components/VAutocomplete/VAutocomplete.mjs +2 -3
  30. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  31. package/lib/components/VAutocomplete/index.d.ts +39 -39
  32. package/lib/components/VAvatar/VAvatar.mjs.map +1 -1
  33. package/lib/components/VBadge/VBadge.css +1 -0
  34. package/lib/components/VBadge/VBadge.mjs +1 -1
  35. package/lib/components/VBadge/VBadge.mjs.map +1 -1
  36. package/lib/components/VBadge/VBadge.sass +1 -0
  37. package/lib/components/VBadge/index.d.ts +13 -13
  38. package/lib/components/VBanner/VBanner.mjs.map +1 -1
  39. package/lib/components/VBanner/VBannerActions.mjs.map +1 -1
  40. package/lib/components/VBottomNavigation/VBottomNavigation.mjs.map +1 -1
  41. package/lib/components/VBottomSheet/VBottomSheet.mjs.map +1 -1
  42. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs.map +1 -1
  43. package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.mjs.map +1 -1
  44. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs.map +1 -1
  45. package/lib/components/VBtn/VBtn.mjs.map +1 -1
  46. package/lib/components/VBtn/index.d.ts +4 -4
  47. package/lib/components/VBtnGroup/VBtnGroup.mjs.map +1 -1
  48. package/lib/components/VBtnToggle/VBtnToggle.mjs.map +1 -1
  49. package/lib/components/VCalendar/VCalendar.mjs.map +1 -1
  50. package/lib/components/VCalendar/VCalendarCategory.mjs.map +1 -1
  51. package/lib/components/VCalendar/VCalendarDaily.mjs.map +1 -1
  52. package/lib/components/VCalendar/VCalendarMonthly.mjs.map +1 -1
  53. package/lib/components/VCalendar/VCalendarWeekly.mjs.map +1 -1
  54. package/lib/components/VCalendar/mixins/calendar-base.mjs.map +1 -1
  55. package/lib/components/VCalendar/mixins/calendar-with-events.mjs.map +1 -1
  56. package/lib/components/VCalendar/mixins/calendar-with-intervals.mjs.map +1 -1
  57. package/lib/components/VCalendar/mixins/mouse.mjs.map +1 -1
  58. package/lib/components/VCalendar/mixins/times.mjs.map +1 -1
  59. package/lib/components/VCalendar/modes/column.mjs.map +1 -1
  60. package/lib/components/VCalendar/modes/common.mjs.map +1 -1
  61. package/lib/components/VCalendar/modes/stack.mjs.map +1 -1
  62. package/lib/components/VCalendar/util/events.mjs.map +1 -1
  63. package/lib/components/VCalendar/util/parser.mjs.map +1 -1
  64. package/lib/components/VCalendar/util/props.mjs.map +1 -1
  65. package/lib/components/VCalendar/util/timestamp.mjs.map +1 -1
  66. package/lib/components/VCard/VCard.mjs.map +1 -1
  67. package/lib/components/VCard/VCardActions.mjs.map +1 -1
  68. package/lib/components/VCard/VCardItem.mjs.map +1 -1
  69. package/lib/components/VCard/index.d.ts +1 -13
  70. package/lib/components/VCarousel/VCarousel.mjs +10 -10
  71. package/lib/components/VCarousel/VCarousel.mjs.map +1 -1
  72. package/lib/components/VCarousel/VCarouselItem.mjs.map +1 -1
  73. package/lib/components/VCarousel/index.d.ts +197 -19
  74. package/lib/components/VCheckbox/VCheckbox.mjs +2 -2
  75. package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
  76. package/lib/components/VCheckbox/VCheckboxBtn.mjs.map +1 -1
  77. package/lib/components/VCheckbox/index.d.ts +41 -50
  78. package/lib/components/VChip/VChip.mjs.map +1 -1
  79. package/lib/components/VChipGroup/VChipGroup.mjs.map +1 -1
  80. package/lib/components/VColorPicker/VColorPicker.mjs +58 -61
  81. package/lib/components/VColorPicker/VColorPicker.mjs.map +1 -1
  82. package/lib/components/VColorPicker/VColorPickerCanvas.mjs.map +1 -1
  83. package/lib/components/VColorPicker/VColorPickerEdit.mjs.map +1 -1
  84. package/lib/components/VColorPicker/VColorPickerPreview.mjs.map +1 -1
  85. package/lib/components/VColorPicker/VColorPickerSwatches.mjs.map +1 -1
  86. package/lib/components/VColorPicker/index.d.ts +113 -50
  87. package/lib/components/VColorPicker/util/index.mjs.map +1 -1
  88. package/lib/components/VCombobox/VCombobox.mjs +11 -4
  89. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  90. package/lib/components/VCombobox/index.d.ts +39 -39
  91. package/lib/components/VCounter/VCounter.mjs.map +1 -1
  92. package/lib/components/VCounter/index.d.ts +123 -24
  93. package/lib/components/VData/VData.mjs.map +1 -1
  94. package/lib/components/VDataIterator/VDataFooter.mjs.map +1 -1
  95. package/lib/components/VDataIterator/VDataIterator.mjs.map +1 -1
  96. package/lib/components/VDatePicker/VDatePicker.mjs.map +1 -1
  97. package/lib/components/VDatePicker/VDatePickerDateTable.mjs.map +1 -1
  98. package/lib/components/VDatePicker/VDatePickerHeader.mjs.map +1 -1
  99. package/lib/components/VDatePicker/VDatePickerMonthTable.mjs.map +1 -1
  100. package/lib/components/VDatePicker/VDatePickerTitle.mjs.map +1 -1
  101. package/lib/components/VDatePicker/VDatePickerYears.mjs.map +1 -1
  102. package/lib/components/VDatePicker/mixins/date-picker-table.mjs.map +1 -1
  103. package/lib/components/VDatePicker/util/createNativeLocaleFormatter.mjs.map +1 -1
  104. package/lib/components/VDatePicker/util/eventHelpers.mjs.map +1 -1
  105. package/lib/components/VDatePicker/util/isDateAllowed.mjs.map +1 -1
  106. package/lib/components/VDatePicker/util/pad.mjs.map +1 -1
  107. package/lib/components/VDefaultsProvider/VDefaultsProvider.mjs.map +1 -1
  108. package/lib/components/VDialog/VDialog.css +11 -18
  109. package/lib/components/VDialog/VDialog.mjs +2 -2
  110. package/lib/components/VDialog/VDialog.mjs.map +1 -1
  111. package/lib/components/VDialog/VDialog.sass +8 -15
  112. package/lib/components/VDialog/index.d.ts +43 -43
  113. package/lib/components/VDivider/VDivider.mjs.map +1 -1
  114. package/lib/components/VExpansionPanel/VExpansionPanel.mjs.map +1 -1
  115. package/lib/components/VExpansionPanel/VExpansionPanelText.mjs.map +1 -1
  116. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs.map +1 -1
  117. package/lib/components/VExpansionPanel/VExpansionPanels.mjs.map +1 -1
  118. package/lib/components/VField/VField.mjs +5 -1
  119. package/lib/components/VField/VField.mjs.map +1 -1
  120. package/lib/components/VField/VFieldLabel.mjs.map +1 -1
  121. package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
  122. package/lib/components/VFileInput/index.d.ts +9 -9
  123. package/lib/components/VFooter/VFooter.mjs.map +1 -1
  124. package/lib/components/VForm/VForm.mjs.map +1 -1
  125. package/lib/components/VGrid/VCol.mjs +2 -2
  126. package/lib/components/VGrid/VCol.mjs.map +1 -1
  127. package/lib/components/VGrid/VContainer.mjs.map +1 -1
  128. package/lib/components/VGrid/VRow.mjs +2 -2
  129. package/lib/components/VGrid/VRow.mjs.map +1 -1
  130. package/lib/components/VHover/VHover.mjs.map +1 -1
  131. package/lib/components/VIcon/VIcon.mjs.map +1 -1
  132. package/lib/components/VImg/VImg.mjs.map +1 -1
  133. package/lib/components/VImg/index.d.ts +9 -9
  134. package/lib/components/VInput/InputIcon.mjs.map +1 -1
  135. package/lib/components/VInput/VInput.mjs.map +1 -1
  136. package/lib/components/VItemGroup/VItem.mjs.map +1 -1
  137. package/lib/components/VItemGroup/VItemGroup.mjs.map +1 -1
  138. package/lib/components/VLabel/VLabel.mjs.map +1 -1
  139. package/lib/components/VLayout/VLayout.mjs.map +1 -1
  140. package/lib/components/VLayout/VLayoutItem.mjs.map +1 -1
  141. package/lib/components/VLayout/index.d.ts +2 -2
  142. package/lib/components/VLazy/VLazy.mjs.map +1 -1
  143. package/lib/components/VLazy/index.d.ts +13 -13
  144. package/lib/components/VList/VList.mjs.map +1 -1
  145. package/lib/components/VList/VListChildren.mjs.map +1 -1
  146. package/lib/components/VList/VListGroup.mjs +24 -13
  147. package/lib/components/VList/VListGroup.mjs.map +1 -1
  148. package/lib/components/VList/VListItem.mjs.map +1 -1
  149. package/lib/components/VList/VListItemAction.mjs.map +1 -1
  150. package/lib/components/VList/VListItemMedia.mjs.map +1 -1
  151. package/lib/components/VList/VListSubheader.mjs.map +1 -1
  152. package/lib/components/VList/list.mjs.map +1 -1
  153. package/lib/components/VLocaleProvider/VLocaleProvider.mjs.map +1 -1
  154. package/lib/components/VMain/VMain.mjs.map +1 -1
  155. package/lib/components/VMenu/VMenu.mjs.map +1 -1
  156. package/lib/components/VMenu/index.d.ts +43 -43
  157. package/lib/components/VMessages/VMessages.mjs.map +1 -1
  158. package/lib/components/VMessages/index.d.ts +123 -24
  159. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +8 -2
  160. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
  161. package/lib/components/VNavigationDrawer/sticky.mjs.map +1 -1
  162. package/lib/components/VNavigationDrawer/touch.mjs.map +1 -1
  163. package/lib/components/VNoSsr/VNoSsr.mjs.map +1 -1
  164. package/lib/components/VNoSsr/index.d.ts +1 -13
  165. package/lib/components/VOtpInput/VOtpInput.mjs.map +1 -1
  166. package/lib/components/VOverflowBtn/VOverflowBtn.mjs.map +1 -1
  167. package/lib/components/VOverlay/VOverlay.css +1 -1
  168. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  169. package/lib/components/VOverlay/VOverlay.sass +1 -1
  170. package/lib/components/VOverlay/index.d.ts +15 -15
  171. package/lib/components/VOverlay/locationStrategies.mjs.map +1 -1
  172. package/lib/components/VOverlay/requestNewFrame.mjs.map +1 -1
  173. package/lib/components/VOverlay/scrollStrategies.mjs.map +1 -1
  174. package/lib/components/VOverlay/useActivator.mjs.map +1 -1
  175. package/lib/components/VOverlay/util/point.mjs.map +1 -1
  176. package/lib/components/VPagination/VPagination.mjs +2 -2
  177. package/lib/components/VPagination/VPagination.mjs.map +1 -1
  178. package/lib/components/VParallax/VParallax.mjs.map +1 -1
  179. package/lib/components/VPicker/VPicker.mjs.map +1 -1
  180. package/lib/components/VProgressCircular/VProgressCircular.mjs.map +1 -1
  181. package/lib/components/VProgressLinear/VProgressLinear.css +1 -1
  182. package/lib/components/VProgressLinear/VProgressLinear.mjs.map +1 -1
  183. package/lib/components/VRadio/VRadio.mjs.map +1 -1
  184. package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
  185. package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
  186. package/lib/components/VRating/VRating.mjs.map +1 -1
  187. package/lib/components/VRating/index.d.ts +2 -2
  188. package/lib/components/VResponsive/VResponsive.mjs.map +1 -1
  189. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  190. package/lib/components/VSelect/index.d.ts +39 -39
  191. package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
  192. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs.map +1 -1
  193. package/lib/components/VSheet/VSheet.mjs.map +1 -1
  194. package/lib/components/VSlideGroup/VSlideGroup.mjs +29 -28
  195. package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
  196. package/lib/components/VSlideGroup/VSlideGroupItem.mjs.map +1 -1
  197. package/lib/components/VSlideGroup/helpers.mjs.map +1 -1
  198. package/lib/components/VSlideGroup/index.d.ts +17 -17
  199. package/lib/components/VSlider/VSlider.mjs +1 -1
  200. package/lib/components/VSlider/VSlider.mjs.map +1 -1
  201. package/lib/components/VSlider/VSliderThumb.mjs.map +1 -1
  202. package/lib/components/VSlider/VSliderTrack.mjs.map +1 -1
  203. package/lib/components/VSlider/slider.mjs +1 -1
  204. package/lib/components/VSlider/slider.mjs.map +1 -1
  205. package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
  206. package/lib/components/VSnackbar/index.d.ts +43 -43
  207. package/lib/components/VSparkline/VSparkline.mjs.map +1 -1
  208. package/lib/components/VSparkline/helpers/core.mjs.map +1 -1
  209. package/lib/components/VSparkline/helpers/math.mjs.map +1 -1
  210. package/lib/components/VSparkline/helpers/path.mjs.map +1 -1
  211. package/lib/components/VSpeedDial/VSpeedDial.mjs.map +1 -1
  212. package/lib/components/VStepper/VStepper.mjs.map +1 -1
  213. package/lib/components/VStepper/VStepperContent.mjs.map +1 -1
  214. package/lib/components/VStepper/VStepperStep.mjs.map +1 -1
  215. package/lib/components/VSwitch/VSwitch.css +4 -0
  216. package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
  217. package/lib/components/VSwitch/VSwitch.sass +4 -0
  218. package/lib/components/VSystemBar/VSystemBar.mjs.map +1 -1
  219. package/lib/components/VTable/VTable.css +1 -1
  220. package/lib/components/VTable/VTable.mjs.map +1 -1
  221. package/lib/components/VTable/VTable.sass +1 -1
  222. package/lib/components/VTabs/VTab.mjs.map +1 -1
  223. package/lib/components/VTabs/VTabs.mjs +25 -30
  224. package/lib/components/VTabs/VTabs.mjs.map +1 -1
  225. package/lib/components/VTabs/index.d.ts +165 -28
  226. package/lib/components/VTextField/VTextField.mjs +7 -5
  227. package/lib/components/VTextField/VTextField.mjs.map +1 -1
  228. package/lib/components/VTextarea/VTextarea.mjs +1 -1
  229. package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
  230. package/lib/components/VThemeProvider/VThemeProvider.mjs.map +1 -1
  231. package/lib/components/VTimePicker/SelectingTimes.mjs +3 -3
  232. package/lib/components/VTimePicker/SelectingTimes.mjs.map +1 -1
  233. package/lib/components/VTimePicker/VTimePicker.mjs.map +1 -1
  234. package/lib/components/VTimePicker/VTimePickerClock.mjs.map +1 -1
  235. package/lib/components/VTimePicker/VTimePickerTitle.mjs.map +1 -1
  236. package/lib/components/VTimeline/VTimeline.mjs.map +1 -1
  237. package/lib/components/VTimeline/VTimelineDivider.mjs.map +1 -1
  238. package/lib/components/VTimeline/VTimelineItem.mjs.map +1 -1
  239. package/lib/components/VTimeline/index.d.ts +8 -8
  240. package/lib/components/VToolbar/VToolbar.mjs.map +1 -1
  241. package/lib/components/VToolbar/VToolbarItems.mjs.map +1 -1
  242. package/lib/components/VToolbar/VToolbarTitle.mjs.map +1 -1
  243. package/lib/components/VTooltip/VTooltip.mjs.map +1 -1
  244. package/lib/components/VTooltip/index.d.ts +43 -43
  245. package/lib/components/VTreeview/VTreeview.mjs.map +1 -1
  246. package/lib/components/VTreeview/VTreeviewNode.mjs.map +1 -1
  247. package/lib/components/VTreeview/util/filterTreeItems.mjs.map +1 -1
  248. package/lib/components/VValidation/VValidation.mjs.map +1 -1
  249. package/lib/components/VWindow/VWindow.mjs +38 -37
  250. package/lib/components/VWindow/VWindow.mjs.map +1 -1
  251. package/lib/components/VWindow/VWindowItem.mjs +2 -1
  252. package/lib/components/VWindow/VWindowItem.mjs.map +1 -1
  253. package/lib/components/index.d.ts +1270 -641
  254. package/lib/components/transitions/createTransition.mjs +59 -50
  255. package/lib/components/transitions/createTransition.mjs.map +1 -1
  256. package/lib/components/transitions/dialog-transition.mjs.map +1 -1
  257. package/lib/components/transitions/expand-transition.mjs.map +1 -1
  258. package/lib/components/transitions/index.d.ts +150 -15
  259. package/lib/composables/border.mjs.map +1 -1
  260. package/lib/composables/color.mjs.map +1 -1
  261. package/lib/composables/defaults.mjs +1 -1
  262. package/lib/composables/defaults.mjs.map +1 -1
  263. package/lib/composables/delay.mjs.map +1 -1
  264. package/lib/composables/density.mjs.map +1 -1
  265. package/lib/composables/dimensions.mjs.map +1 -1
  266. package/lib/composables/display.mjs.map +1 -1
  267. package/lib/composables/elevation.mjs.map +1 -1
  268. package/lib/composables/filter.mjs.map +1 -1
  269. package/lib/composables/focus.mjs.map +1 -1
  270. package/lib/composables/form.mjs.map +1 -1
  271. package/lib/composables/forwardRefs.mjs +29 -15
  272. package/lib/composables/forwardRefs.mjs.map +1 -1
  273. package/lib/composables/group.mjs.map +1 -1
  274. package/lib/composables/hydration.mjs.map +1 -1
  275. package/lib/composables/icons.mjs.map +1 -1
  276. package/lib/composables/intersectionObserver.mjs.map +1 -1
  277. package/lib/composables/items.mjs.map +1 -1
  278. package/lib/composables/layout.mjs.map +1 -1
  279. package/lib/composables/lazy.mjs.map +1 -1
  280. package/lib/composables/loader.mjs.map +1 -1
  281. package/lib/composables/locale.mjs.map +1 -1
  282. package/lib/composables/location.mjs.map +1 -1
  283. package/lib/composables/mutationObserver.mjs.map +1 -1
  284. package/lib/composables/nested/nested.mjs.map +1 -1
  285. package/lib/composables/nested/openStrategies.mjs.map +1 -1
  286. package/lib/composables/nested/selectStrategies.mjs.map +1 -1
  287. package/lib/composables/position.mjs.map +1 -1
  288. package/lib/composables/proxiedModel.mjs.map +1 -1
  289. package/lib/composables/refs.mjs.map +1 -1
  290. package/lib/composables/resizeObserver.mjs.map +1 -1
  291. package/lib/composables/rounded.mjs.map +1 -1
  292. package/lib/composables/router.mjs.map +1 -1
  293. package/lib/composables/scopeId.mjs.map +1 -1
  294. package/lib/composables/scroll.mjs.map +1 -1
  295. package/lib/composables/selectLink.mjs.map +1 -1
  296. package/lib/composables/size.mjs.map +1 -1
  297. package/lib/composables/ssrBoot.mjs.map +1 -1
  298. package/lib/composables/stack.mjs.map +1 -1
  299. package/lib/composables/teleport.mjs.map +1 -1
  300. package/lib/composables/theme.mjs.map +1 -1
  301. package/lib/composables/toggleScope.mjs.map +1 -1
  302. package/lib/composables/touch.mjs.map +1 -1
  303. package/lib/composables/transition.mjs.map +1 -1
  304. package/lib/composables/validation.mjs +1 -1
  305. package/lib/composables/validation.mjs.map +1 -1
  306. package/lib/composables/variant.mjs.map +1 -1
  307. package/lib/directives/click-outside/index.mjs.map +1 -1
  308. package/lib/directives/color/index.mjs.map +1 -1
  309. package/lib/directives/intersect/index.mjs.map +1 -1
  310. package/lib/directives/mutate/index.mjs.map +1 -1
  311. package/lib/directives/resize/index.mjs.map +1 -1
  312. package/lib/directives/ripple/index.mjs.map +1 -1
  313. package/lib/directives/scroll/index.mjs.map +1 -1
  314. package/lib/directives/touch/index.mjs.map +1 -1
  315. package/lib/entry-bundler.mjs +1 -1
  316. package/lib/entry-bundler.mjs.map +1 -1
  317. package/lib/framework.mjs +1 -1
  318. package/lib/framework.mjs.map +1 -1
  319. package/lib/index.d.ts +45 -45
  320. package/lib/labs/VDataTable/VDataTable.mjs +3 -1
  321. package/lib/labs/VDataTable/VDataTable.mjs.map +1 -1
  322. package/lib/labs/VDataTable/VDataTableColumn.mjs.map +1 -1
  323. package/lib/labs/VDataTable/VDataTableFooter.mjs.map +1 -1
  324. package/lib/labs/VDataTable/VDataTableGroupHeaderRow.mjs.map +1 -1
  325. package/lib/labs/VDataTable/VDataTableHeaders.mjs.map +1 -1
  326. package/lib/labs/VDataTable/VDataTableRow.mjs +5 -4
  327. package/lib/labs/VDataTable/VDataTableRow.mjs.map +1 -1
  328. package/lib/labs/VDataTable/VDataTableRows.mjs.map +1 -1
  329. package/lib/labs/VDataTable/VDataTableServer.mjs +3 -1
  330. package/lib/labs/VDataTable/VDataTableServer.mjs.map +1 -1
  331. package/lib/labs/VDataTable/VDataTableVirtual.mjs.map +1 -1
  332. package/lib/labs/VDataTable/composables/expand.mjs.map +1 -1
  333. package/lib/labs/VDataTable/composables/group.mjs.map +1 -1
  334. package/lib/labs/VDataTable/composables/headers.mjs.map +1 -1
  335. package/lib/labs/VDataTable/composables/items.mjs +14 -1
  336. package/lib/labs/VDataTable/composables/items.mjs.map +1 -1
  337. package/lib/labs/VDataTable/composables/options.mjs.map +1 -1
  338. package/lib/labs/VDataTable/composables/paginate.mjs.map +1 -1
  339. package/lib/labs/VDataTable/composables/select.mjs.map +1 -1
  340. package/lib/labs/VDataTable/composables/sort.mjs.map +1 -1
  341. package/lib/labs/VDataTable/composables/virtual.mjs.map +1 -1
  342. package/lib/labs/VDataTable/index.d.ts +303 -260
  343. package/lib/labs/VSkeletonLoader/VSkeletonLoader.css +221 -0
  344. package/lib/labs/VSkeletonLoader/VSkeletonLoader.mjs +141 -0
  345. package/lib/labs/VSkeletonLoader/VSkeletonLoader.mjs.map +1 -0
  346. package/lib/labs/VSkeletonLoader/VSkeletonLoader.sass +225 -0
  347. package/lib/labs/VSkeletonLoader/_variables.scss +44 -0
  348. package/lib/labs/VSkeletonLoader/index.d.ts +222 -0
  349. package/lib/labs/VSkeletonLoader/index.mjs +2 -0
  350. package/lib/labs/VSkeletonLoader/index.mjs.map +1 -0
  351. package/lib/labs/VVirtualScroll/VVirtualScroll.mjs.map +1 -1
  352. package/lib/labs/VVirtualScroll/VVirtualScrollItem.mjs.map +1 -1
  353. package/lib/labs/components.d.ts +518 -261
  354. package/lib/labs/components.mjs +1 -0
  355. package/lib/labs/components.mjs.map +1 -1
  356. package/lib/labs/entry-bundler.mjs.map +1 -1
  357. package/lib/locale/adapters/vue-i18n.mjs.map +1 -1
  358. package/lib/locale/adapters/vuetify.mjs.map +1 -1
  359. package/lib/locale/af.mjs +2 -1
  360. package/lib/locale/af.mjs.map +1 -1
  361. package/lib/locale/ar.mjs +2 -1
  362. package/lib/locale/ar.mjs.map +1 -1
  363. package/lib/locale/az.mjs +2 -1
  364. package/lib/locale/az.mjs.map +1 -1
  365. package/lib/locale/bg.mjs +2 -1
  366. package/lib/locale/bg.mjs.map +1 -1
  367. package/lib/locale/ca.mjs +2 -1
  368. package/lib/locale/ca.mjs.map +1 -1
  369. package/lib/locale/ckb.mjs +2 -1
  370. package/lib/locale/ckb.mjs.map +1 -1
  371. package/lib/locale/cs.mjs +2 -1
  372. package/lib/locale/cs.mjs.map +1 -1
  373. package/lib/locale/da.mjs +2 -1
  374. package/lib/locale/da.mjs.map +1 -1
  375. package/lib/locale/de.mjs +2 -1
  376. package/lib/locale/de.mjs.map +1 -1
  377. package/lib/locale/el.mjs +2 -1
  378. package/lib/locale/el.mjs.map +1 -1
  379. package/lib/locale/en.mjs +2 -1
  380. package/lib/locale/en.mjs.map +1 -1
  381. package/lib/locale/es.mjs +2 -1
  382. package/lib/locale/es.mjs.map +1 -1
  383. package/lib/locale/et.mjs +2 -1
  384. package/lib/locale/et.mjs.map +1 -1
  385. package/lib/locale/fa.mjs +2 -1
  386. package/lib/locale/fa.mjs.map +1 -1
  387. package/lib/locale/fi.mjs +2 -1
  388. package/lib/locale/fi.mjs.map +1 -1
  389. package/lib/locale/fr.mjs +2 -1
  390. package/lib/locale/fr.mjs.map +1 -1
  391. package/lib/locale/he.mjs +2 -1
  392. package/lib/locale/he.mjs.map +1 -1
  393. package/lib/locale/hr.mjs +2 -1
  394. package/lib/locale/hr.mjs.map +1 -1
  395. package/lib/locale/hu.mjs +2 -1
  396. package/lib/locale/hu.mjs.map +1 -1
  397. package/lib/locale/id.mjs +2 -1
  398. package/lib/locale/id.mjs.map +1 -1
  399. package/lib/locale/index.d.ts +42 -0
  400. package/lib/locale/it.mjs +2 -1
  401. package/lib/locale/it.mjs.map +1 -1
  402. package/lib/locale/ja.mjs +2 -1
  403. package/lib/locale/ja.mjs.map +1 -1
  404. package/lib/locale/ko.mjs +2 -1
  405. package/lib/locale/ko.mjs.map +1 -1
  406. package/lib/locale/lt.mjs +2 -1
  407. package/lib/locale/lt.mjs.map +1 -1
  408. package/lib/locale/lv.mjs +2 -1
  409. package/lib/locale/lv.mjs.map +1 -1
  410. package/lib/locale/nl.mjs +2 -1
  411. package/lib/locale/nl.mjs.map +1 -1
  412. package/lib/locale/no.mjs +2 -1
  413. package/lib/locale/no.mjs.map +1 -1
  414. package/lib/locale/pl.mjs +2 -1
  415. package/lib/locale/pl.mjs.map +1 -1
  416. package/lib/locale/pt.mjs +2 -1
  417. package/lib/locale/pt.mjs.map +1 -1
  418. package/lib/locale/ro.mjs +2 -1
  419. package/lib/locale/ro.mjs.map +1 -1
  420. package/lib/locale/ru.mjs +2 -1
  421. package/lib/locale/ru.mjs.map +1 -1
  422. package/lib/locale/sk.mjs +2 -1
  423. package/lib/locale/sk.mjs.map +1 -1
  424. package/lib/locale/sl.mjs +2 -1
  425. package/lib/locale/sl.mjs.map +1 -1
  426. package/lib/locale/sr-Cyrl.mjs +2 -1
  427. package/lib/locale/sr-Cyrl.mjs.map +1 -1
  428. package/lib/locale/sr-Latn.mjs +2 -1
  429. package/lib/locale/sr-Latn.mjs.map +1 -1
  430. package/lib/locale/sv.mjs +2 -1
  431. package/lib/locale/sv.mjs.map +1 -1
  432. package/lib/locale/th.mjs +2 -1
  433. package/lib/locale/th.mjs.map +1 -1
  434. package/lib/locale/tr.mjs +2 -1
  435. package/lib/locale/tr.mjs.map +1 -1
  436. package/lib/locale/uk.mjs +2 -1
  437. package/lib/locale/uk.mjs.map +1 -1
  438. package/lib/locale/vi.mjs +2 -1
  439. package/lib/locale/vi.mjs.map +1 -1
  440. package/lib/locale/zh-Hans.mjs +2 -1
  441. package/lib/locale/zh-Hans.mjs.map +1 -1
  442. package/lib/locale/zh-Hant.mjs +2 -1
  443. package/lib/locale/zh-Hant.mjs.map +1 -1
  444. package/lib/services/goto/index.mjs.map +1 -1
  445. package/lib/services/goto/util.mjs.map +1 -1
  446. package/lib/util/anchor.mjs.map +1 -1
  447. package/lib/util/animation.mjs.map +1 -1
  448. package/lib/util/box.mjs.map +1 -1
  449. package/lib/util/color/APCA.mjs.map +1 -1
  450. package/lib/util/color/transformCIELAB.mjs.map +1 -1
  451. package/lib/util/color/transformSRGB.mjs.map +1 -1
  452. package/lib/util/colorUtils.mjs.map +1 -1
  453. package/lib/util/console.mjs.map +1 -1
  454. package/lib/util/createSimpleFunctional.mjs.map +1 -1
  455. package/lib/util/dateTimeUtils.mjs.map +1 -1
  456. package/lib/util/defineComponent.mjs.map +1 -1
  457. package/lib/util/dom.mjs.map +1 -1
  458. package/lib/util/getCurrentInstance.mjs.map +1 -1
  459. package/lib/util/getScrollParent.mjs.map +1 -1
  460. package/lib/util/globals.mjs +1 -1
  461. package/lib/util/globals.mjs.map +1 -1
  462. package/lib/util/helpers.mjs.map +1 -1
  463. package/lib/util/injectSelf.mjs.map +1 -1
  464. package/lib/util/isFixedPosition.mjs.map +1 -1
  465. package/lib/util/propsFactory.mjs.map +1 -1
  466. package/lib/util/useRender.mjs.map +1 -1
  467. package/package.json +24 -24
  468. package/lib/components/VSkeletonLoader/VSkeletonLoader.mjs +0 -179
  469. package/lib/components/VSkeletonLoader/VSkeletonLoader.mjs.map +0 -1
  470. package/lib/components/VSkeletonLoader/VSkeletonLoader.sass +0 -377
  471. package/lib/components/VSkeletonLoader/_variables.scss +0 -54
  472. package/lib/components/VSkeletonLoader/index.mjs +0 -4
  473. package/lib/components/VSkeletonLoader/index.mjs.map +0 -1
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.2.0-dev-20230322.0
2
+ * Vuetify v3.2.0-dev-20230405.0
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -13,7 +13,7 @@
13
13
  const IN_BROWSER = typeof window !== 'undefined';
14
14
  const SUPPORTS_INTERSECTION = IN_BROWSER && 'IntersectionObserver' in window;
15
15
  const SUPPORTS_TOUCH = IN_BROWSER && ('ontouchstart' in window || window.navigator.maxTouchPoints > 0);
16
- const SUPPORTS_FOCUS_VISIBLE = IN_BROWSER && typeof CSS !== 'undefined' && CSS.supports('selector(:focus-visible)');
16
+ const SUPPORTS_FOCUS_VISIBLE = IN_BROWSER && typeof CSS !== 'undefined' && typeof CSS.supports !== 'undefined' && CSS.supports('selector(:focus-visible)');
17
17
 
18
18
  // Utilities
19
19
  function useResizeObserver(callback) {
@@ -983,7 +983,7 @@
983
983
  }
984
984
  return properties;
985
985
  }
986
- return mergeDeep(properties.prev, properties);
986
+ return properties.prev ? mergeDeep(properties.prev, properties) : properties;
987
987
  });
988
988
  vue.provide(DefaultsSymbol, newDefaults);
989
989
  return newDefaults;
@@ -1937,7 +1937,8 @@
1937
1937
  ariaLabel: {
1938
1938
  item: 'Rating {0} of {1}'
1939
1939
  }
1940
- }
1940
+ },
1941
+ loading: 'Loading...'
1941
1942
  };
1942
1943
 
1943
1944
  const LANG_PREFIX = '$vuetify.';
@@ -2214,6 +2215,7 @@
2214
2215
  return genericComponent()({
2215
2216
  name,
2216
2217
  props: {
2218
+ disabled: Boolean,
2217
2219
  group: Boolean,
2218
2220
  hideOnLeave: Boolean,
2219
2221
  leaveAbsolute: Boolean,
@@ -2230,56 +2232,62 @@
2230
2232
  let {
2231
2233
  slots
2232
2234
  } = _ref;
2235
+ const functions = {
2236
+ onBeforeEnter(el) {
2237
+ el.style.transformOrigin = props.origin;
2238
+ },
2239
+ onLeave(el) {
2240
+ if (props.leaveAbsolute) {
2241
+ const {
2242
+ offsetTop,
2243
+ offsetLeft,
2244
+ offsetWidth,
2245
+ offsetHeight
2246
+ } = el;
2247
+ el._transitionInitialStyles = {
2248
+ position: el.style.position,
2249
+ top: el.style.top,
2250
+ left: el.style.left,
2251
+ width: el.style.width,
2252
+ height: el.style.height
2253
+ };
2254
+ el.style.position = 'absolute';
2255
+ el.style.top = `${offsetTop}px`;
2256
+ el.style.left = `${offsetLeft}px`;
2257
+ el.style.width = `${offsetWidth}px`;
2258
+ el.style.height = `${offsetHeight}px`;
2259
+ }
2260
+ if (props.hideOnLeave) {
2261
+ el.style.setProperty('display', 'none', 'important');
2262
+ }
2263
+ },
2264
+ onAfterLeave(el) {
2265
+ if (props.leaveAbsolute && el?._transitionInitialStyles) {
2266
+ const {
2267
+ position,
2268
+ top,
2269
+ left,
2270
+ width,
2271
+ height
2272
+ } = el._transitionInitialStyles;
2273
+ delete el._transitionInitialStyles;
2274
+ el.style.position = position || '';
2275
+ el.style.top = top || '';
2276
+ el.style.left = left || '';
2277
+ el.style.width = width || '';
2278
+ el.style.height = height || '';
2279
+ }
2280
+ }
2281
+ };
2233
2282
  return () => {
2234
2283
  const tag = props.group ? vue.TransitionGroup : vue.Transition;
2235
2284
  return vue.h(tag, {
2236
- name,
2237
- mode: props.mode,
2238
- onBeforeEnter(el) {
2239
- el.style.transformOrigin = props.origin;
2240
- },
2241
- onLeave(el) {
2242
- if (props.leaveAbsolute) {
2243
- const {
2244
- offsetTop,
2245
- offsetLeft,
2246
- offsetWidth,
2247
- offsetHeight
2248
- } = el;
2249
- el._transitionInitialStyles = {
2250
- position: el.style.position,
2251
- top: el.style.top,
2252
- left: el.style.left,
2253
- width: el.style.width,
2254
- height: el.style.height
2255
- };
2256
- el.style.position = 'absolute';
2257
- el.style.top = `${offsetTop}px`;
2258
- el.style.left = `${offsetLeft}px`;
2259
- el.style.width = `${offsetWidth}px`;
2260
- el.style.height = `${offsetHeight}px`;
2261
- }
2262
- if (props.hideOnLeave) {
2263
- el.style.setProperty('display', 'none', 'important');
2264
- }
2265
- },
2266
- onAfterLeave(el) {
2267
- if (props.leaveAbsolute && el?._transitionInitialStyles) {
2268
- const {
2269
- position,
2270
- top,
2271
- left,
2272
- width,
2273
- height
2274
- } = el._transitionInitialStyles;
2275
- delete el._transitionInitialStyles;
2276
- el.style.position = position || '';
2277
- el.style.top = top || '';
2278
- el.style.left = left || '';
2279
- el.style.width = width || '';
2280
- el.style.height = height || '';
2281
- }
2282
- }
2285
+ name: props.disabled ? '' : name,
2286
+ css: !props.disabled,
2287
+ ...(props.group ? undefined : {
2288
+ mode: props.mode
2289
+ }),
2290
+ ...(props.disabled ? {} : functions)
2283
2291
  }, slots.default);
2284
2292
  };
2285
2293
  }
@@ -2293,7 +2301,8 @@
2293
2301
  mode: {
2294
2302
  type: String,
2295
2303
  default: mode
2296
- }
2304
+ },
2305
+ disabled: Boolean
2297
2306
  },
2298
2307
  setup(props, _ref2) {
2299
2308
  let {
@@ -2301,9 +2310,10 @@
2301
2310
  } = _ref2;
2302
2311
  return () => {
2303
2312
  return vue.h(vue.Transition, {
2304
- name,
2313
+ name: props.disabled ? '' : name,
2314
+ css: !props.disabled,
2305
2315
  // mode: props.mode, // TODO: vuejs/vue-next#3104
2306
- ...functions
2316
+ ...(props.disabled ? {} : functions)
2307
2317
  }, slots.default);
2308
2318
  };
2309
2319
  }
@@ -5513,7 +5523,11 @@
5513
5523
  "key": "clear"
5514
5524
  }, {
5515
5525
  default: () => [vue.withDirectives(vue.createVNode("div", {
5516
- "class": "v-field__clearable"
5526
+ "class": "v-field__clearable",
5527
+ "onMousedown": e => {
5528
+ e.preventDefault();
5529
+ e.stopPropagation();
5530
+ }
5517
5531
  }, [slots.clear ? slots.clear() : vue.createVNode(InputIcon, {
5518
5532
  "name": "clear"
5519
5533
  }, null)]), [[vue.vShow, props.dirty]])]
@@ -5833,7 +5847,7 @@
5833
5847
  const results = [];
5834
5848
  isValidating.value = true;
5835
5849
  for (const rule of props.rules) {
5836
- if (results.length >= (props.maxErrors ?? 1)) {
5850
+ if (results.length >= +(props.maxErrors ?? 1)) {
5837
5851
  break;
5838
5852
  }
5839
5853
  const handler = typeof rule === 'function' ? rule : () => rule;
@@ -6019,6 +6033,15 @@
6019
6033
 
6020
6034
  /** Omit properties starting with P */
6021
6035
 
6036
+ function getDescriptor(obj, key) {
6037
+ let currentObj = obj;
6038
+ while (currentObj) {
6039
+ const descriptor = Reflect.getOwnPropertyDescriptor(currentObj, key);
6040
+ if (descriptor) return descriptor;
6041
+ currentObj = Object.getPrototypeOf(currentObj);
6042
+ }
6043
+ return undefined;
6044
+ }
6022
6045
  function forwardRefs(target) {
6023
6046
  for (var _len = arguments.length, refs = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
6024
6047
  refs[_key - 1] = arguments[_key];
@@ -6029,6 +6052,9 @@
6029
6052
  if (Reflect.has(target, key)) {
6030
6053
  return Reflect.get(target, key);
6031
6054
  }
6055
+
6056
+ // Skip internal properties
6057
+ if (typeof key === 'symbol' || key.startsWith('__')) return;
6032
6058
  for (const ref of refs) {
6033
6059
  if (ref.value && Reflect.has(ref.value, key)) {
6034
6060
  const val = Reflect.get(ref.value, key);
@@ -6036,6 +6062,20 @@
6036
6062
  }
6037
6063
  }
6038
6064
  },
6065
+ has(target, key) {
6066
+ if (Reflect.has(target, key)) {
6067
+ return true;
6068
+ }
6069
+
6070
+ // Skip internal properties
6071
+ if (typeof key === 'symbol' || key.startsWith('__')) return false;
6072
+ for (const ref of refs) {
6073
+ if (ref.value && Reflect.has(ref.value, key)) {
6074
+ return true;
6075
+ }
6076
+ }
6077
+ return false;
6078
+ },
6039
6079
  getOwnPropertyDescriptor(target, key) {
6040
6080
  const descriptor = Reflect.getOwnPropertyDescriptor(target, key);
6041
6081
  if (descriptor) return descriptor;
@@ -6046,30 +6086,18 @@
6046
6086
  // Check each ref's own properties
6047
6087
  for (const ref of refs) {
6048
6088
  if (!ref.value) continue;
6049
- const descriptor = Reflect.getOwnPropertyDescriptor(ref.value, key);
6089
+ const descriptor = getDescriptor(ref.value, key) ?? ('_' in ref.value ? getDescriptor(ref.value._?.setupState, key) : undefined);
6050
6090
  if (descriptor) return descriptor;
6051
- if ('_' in ref.value && 'setupState' in ref.value._) {
6052
- const descriptor = Reflect.getOwnPropertyDescriptor(ref.value._.setupState, key);
6053
- if (descriptor) return descriptor;
6054
- }
6055
6091
  }
6092
+
6056
6093
  // Recursive search up each ref's prototype
6057
- for (const ref of refs) {
6058
- let obj = ref.value && Object.getPrototypeOf(ref.value);
6059
- while (obj) {
6060
- const descriptor = Reflect.getOwnPropertyDescriptor(obj, key);
6061
- if (descriptor) return descriptor;
6062
- obj = Object.getPrototypeOf(obj);
6063
- }
6064
- }
6065
- // Call forwarded refs' proxies
6066
6094
  for (const ref of refs) {
6067
6095
  const childRefs = ref.value && ref.value[Refs];
6068
6096
  if (!childRefs) continue;
6069
6097
  const queue = childRefs.slice();
6070
6098
  while (queue.length) {
6071
6099
  const ref = queue.shift();
6072
- const descriptor = Reflect.getOwnPropertyDescriptor(ref.value, key);
6100
+ const descriptor = getDescriptor(ref.value, key);
6073
6101
  if (descriptor) return descriptor;
6074
6102
  const childRefs = ref.value && ref.value[Refs];
6075
6103
  if (childRefs) queue.push(...childRefs);
@@ -6171,12 +6199,14 @@
6171
6199
  }
6172
6200
  function onInput(e) {
6173
6201
  const el = e.target;
6174
- const caretPosition = [el.selectionStart, el.selectionEnd];
6175
6202
  model.value = el.value;
6176
- vue.nextTick(() => {
6177
- el.selectionStart = caretPosition[0];
6178
- el.selectionEnd = caretPosition[1];
6179
- });
6203
+ if (['text', 'search', 'password', 'tel', 'url'].includes(props.type)) {
6204
+ const caretPosition = [el.selectionStart, el.selectionEnd];
6205
+ vue.nextTick(() => {
6206
+ el.selectionStart = caretPosition[0];
6207
+ el.selectionEnd = caretPosition[1];
6208
+ });
6209
+ }
6180
6210
  }
6181
6211
  useRender(() => {
6182
6212
  const hasCounter = !!(slots.counter || props.counter || props.counterValue);
@@ -6590,7 +6620,7 @@
6590
6620
  inheritAttrs: false,
6591
6621
  props: {
6592
6622
  ...makeVInputProps(),
6593
- ...makeVCheckboxBtnProps()
6623
+ ...omit(makeVCheckboxBtnProps(), ['inline'])
6594
6624
  },
6595
6625
  emits: {
6596
6626
  'update:focused': focused => true
@@ -7559,6 +7589,9 @@
7559
7589
  } = useNestedItem(vue.toRef(props, 'value'), true);
7560
7590
  const id = vue.computed(() => `v-list-group--id-${String(_id.value)}`);
7561
7591
  const list = useList();
7592
+ const {
7593
+ isBooted
7594
+ } = useSsrBoot();
7562
7595
  function onClick(e) {
7563
7596
  open(!isOpen.value, e);
7564
7597
  }
@@ -7568,6 +7601,17 @@
7568
7601
  id: id.value
7569
7602
  }));
7570
7603
  const toggleIcon = vue.computed(() => isOpen.value ? props.collapseIcon : props.expandIcon);
7604
+ const activatorDefaults = vue.computed(() => ({
7605
+ VListItem: {
7606
+ active: isOpen.value,
7607
+ activeColor: props.activeColor,
7608
+ color: props.color,
7609
+ prependIcon: props.prependIcon || props.subgroup && toggleIcon.value,
7610
+ appendIcon: props.appendIcon || !props.subgroup && toggleIcon.value,
7611
+ title: props.title,
7612
+ value: props.value
7613
+ }
7614
+ }));
7571
7615
  useRender(() => vue.createVNode(props.tag, {
7572
7616
  "class": ['v-list-group', {
7573
7617
  'v-list-group--prepend': list?.hasPrepend.value,
@@ -7577,17 +7621,7 @@
7577
7621
  }]
7578
7622
  }, {
7579
7623
  default: () => [slots.activator && vue.createVNode(VDefaultsProvider, {
7580
- "defaults": {
7581
- VListItem: {
7582
- active: isOpen.value,
7583
- activeColor: props.activeColor,
7584
- color: props.color,
7585
- prependIcon: props.prependIcon || props.subgroup && toggleIcon.value,
7586
- appendIcon: props.appendIcon || !props.subgroup && toggleIcon.value,
7587
- title: props.title,
7588
- value: props.value
7589
- }
7590
- }
7624
+ "defaults": activatorDefaults.value
7591
7625
  }, {
7592
7626
  default: () => [vue.createVNode(VListGroupActivator, null, {
7593
7627
  default: () => [slots.activator({
@@ -7595,7 +7629,12 @@
7595
7629
  isOpen: isOpen.value
7596
7630
  })]
7597
7631
  })]
7598
- }), vue.createVNode(VExpandTransition, null, {
7632
+ }), vue.createVNode(MaybeTransition, {
7633
+ "transition": {
7634
+ component: VExpandTransition
7635
+ },
7636
+ "disabled": !isBooted.value
7637
+ }, {
7599
7638
  default: () => [vue.withDirectives(vue.createVNode("div", {
7600
7639
  "class": "v-list-group__items",
7601
7640
  "role": "group",
@@ -10400,14 +10439,13 @@
10400
10439
  }, {
10401
10440
  default: () => [!displayItems.value.length && !props.hideNoData && (slots['no-data']?.() ?? vue.createVNode(VListItem, {
10402
10441
  "title": t(props.noDataText)
10403
- }, null)), slots['prepend-item']?.(), displayItems.value.map((item, index) => slots.item?.({
10442
+ }, null)), slots['prepend-item']?.(), displayItems.value.map(item => slots.item?.({
10404
10443
  item,
10405
- index,
10406
10444
  props: vue.mergeProps(item.props, {
10407
10445
  onClick: () => select(item)
10408
10446
  })
10409
10447
  }) ?? vue.createVNode(VListItem, vue.mergeProps({
10410
- "key": index
10448
+ "key": item.value
10411
10449
  }, item.props, {
10412
10450
  "onClick": () => select(item)
10413
10451
  }), {
@@ -10542,7 +10580,7 @@
10542
10580
  });
10543
10581
  useRender(() => {
10544
10582
  const value = Number(props.content);
10545
- const content = !props.max || isNaN(value) ? props.content : value <= props.max ? value : `${props.max}+`;
10583
+ const content = !props.max || isNaN(value) ? props.content : value <= +props.max ? value : `${props.max}+`;
10546
10584
  const [badgeAttrs, attrs] = pick(ctx.attrs, ['aria-atomic', 'aria-label', 'aria-live', 'role', 'title']);
10547
10585
  return vue.createVNode(props.tag, vue.mergeProps({
10548
10586
  "class": ['v-badge', {
@@ -11339,47 +11377,48 @@
11339
11377
 
11340
11378
  const VWindowSymbol = Symbol.for('vuetify:v-window');
11341
11379
  const VWindowGroupSymbol = Symbol.for('vuetify:v-window-group');
11380
+ const makeVWindowProps = propsFactory({
11381
+ continuous: Boolean,
11382
+ nextIcon: {
11383
+ type: [Boolean, String, Function, Object],
11384
+ default: '$next'
11385
+ },
11386
+ prevIcon: {
11387
+ type: [Boolean, String, Function, Object],
11388
+ default: '$prev'
11389
+ },
11390
+ reverse: Boolean,
11391
+ showArrows: {
11392
+ type: [Boolean, String],
11393
+ validator: v => typeof v === 'boolean' || v === 'hover'
11394
+ },
11395
+ touch: {
11396
+ type: [Object, Boolean],
11397
+ default: undefined
11398
+ },
11399
+ direction: {
11400
+ type: String,
11401
+ default: 'horizontal'
11402
+ },
11403
+ modelValue: null,
11404
+ disabled: Boolean,
11405
+ selectedClass: {
11406
+ type: String,
11407
+ default: 'v-window-item--active'
11408
+ },
11409
+ // TODO: mandatory should probably not be exposed but do this for now
11410
+ mandatory: {
11411
+ default: 'force'
11412
+ },
11413
+ ...makeTagProps(),
11414
+ ...makeThemeProps()
11415
+ }, 'v-window');
11342
11416
  const VWindow = genericComponent()({
11343
11417
  name: 'VWindow',
11344
11418
  directives: {
11345
11419
  Touch
11346
11420
  },
11347
- props: {
11348
- continuous: Boolean,
11349
- nextIcon: {
11350
- type: [Boolean, String, Function, Object],
11351
- default: '$next'
11352
- },
11353
- prevIcon: {
11354
- type: [Boolean, String, Function, Object],
11355
- default: '$prev'
11356
- },
11357
- reverse: Boolean,
11358
- showArrows: {
11359
- type: [Boolean, String],
11360
- validator: v => typeof v === 'boolean' || v === 'hover'
11361
- },
11362
- touch: {
11363
- type: [Object, Boolean],
11364
- default: undefined
11365
- },
11366
- direction: {
11367
- type: String,
11368
- default: 'horizontal'
11369
- },
11370
- modelValue: null,
11371
- disabled: Boolean,
11372
- selectedClass: {
11373
- type: String,
11374
- default: 'v-window-item--active'
11375
- },
11376
- // TODO: mandatory should probably not be exposed but do this for now
11377
- mandatory: {
11378
- default: 'force'
11379
- },
11380
- ...makeTagProps(),
11381
- ...makeThemeProps()
11382
- },
11421
+ props: makeVWindowProps(),
11383
11422
  emits: {
11384
11423
  'update:modelValue': v => true
11385
11424
  },
@@ -11507,112 +11546,6 @@
11507
11546
  }
11508
11547
  });
11509
11548
 
11510
- const VWindowItem = genericComponent()({
11511
- name: 'VWindowItem',
11512
- directives: {
11513
- Touch
11514
- },
11515
- props: {
11516
- reverseTransition: {
11517
- type: [Boolean, String],
11518
- default: undefined
11519
- },
11520
- transition: {
11521
- type: [Boolean, String],
11522
- default: undefined
11523
- },
11524
- ...makeGroupItemProps(),
11525
- ...makeLazyProps()
11526
- },
11527
- emits: {
11528
- 'group:selected': val => true
11529
- },
11530
- setup(props, _ref) {
11531
- let {
11532
- slots
11533
- } = _ref;
11534
- const window = vue.inject(VWindowSymbol);
11535
- const groupItem = useGroupItem(props, VWindowGroupSymbol);
11536
- const {
11537
- isBooted
11538
- } = useSsrBoot();
11539
- if (!window || !groupItem) throw new Error('[Vuetify] VWindowItem must be used inside VWindow');
11540
- const isTransitioning = vue.ref(false);
11541
- const hasTransition = vue.computed(() => window.isReversed.value ? props.reverseTransition !== false : props.transition !== false);
11542
- function onAfterTransition() {
11543
- if (!isTransitioning.value || !window) {
11544
- return;
11545
- }
11546
-
11547
- // Finalize transition state.
11548
- isTransitioning.value = false;
11549
- if (window.transitionCount.value > 0) {
11550
- window.transitionCount.value -= 1;
11551
-
11552
- // Remove container height if we are out of transition.
11553
- if (window.transitionCount.value === 0) {
11554
- window.transitionHeight.value = undefined;
11555
- }
11556
- }
11557
- }
11558
- function onBeforeTransition() {
11559
- if (isTransitioning.value || !window) {
11560
- return;
11561
- }
11562
-
11563
- // Initialize transition state here.
11564
- isTransitioning.value = true;
11565
- if (window.transitionCount.value === 0) {
11566
- // Set initial height for height transition.
11567
- window.transitionHeight.value = convertToUnit(window.rootRef.value?.clientHeight);
11568
- }
11569
- window.transitionCount.value += 1;
11570
- }
11571
- function onTransitionCancelled() {
11572
- onAfterTransition(); // This should have the same path as normal transition end.
11573
- }
11574
-
11575
- function onEnterTransition(el) {
11576
- if (!isTransitioning.value) {
11577
- return;
11578
- }
11579
- vue.nextTick(() => {
11580
- // Do not set height if no transition or cancelled.
11581
- if (!hasTransition.value || !isTransitioning.value || !window) {
11582
- return;
11583
- }
11584
-
11585
- // Set transition target height.
11586
- window.transitionHeight.value = convertToUnit(el.clientHeight);
11587
- });
11588
- }
11589
- const transition = vue.computed(() => {
11590
- const name = window.isReversed.value ? props.reverseTransition : props.transition;
11591
- return !hasTransition.value ? false : {
11592
- name: typeof name !== 'string' ? window.transition.value : name,
11593
- onBeforeEnter: onBeforeTransition,
11594
- onAfterEnter: onAfterTransition,
11595
- onEnterCancelled: onTransitionCancelled,
11596
- onBeforeLeave: onBeforeTransition,
11597
- onAfterLeave: onAfterTransition,
11598
- onLeaveCancelled: onTransitionCancelled,
11599
- onEnter: onEnterTransition
11600
- };
11601
- });
11602
- const {
11603
- hasContent
11604
- } = useLazy(props, groupItem.isSelected);
11605
- useRender(() => vue.createVNode(MaybeTransition, {
11606
- "transition": isBooted.value && transition.value
11607
- }, {
11608
- default: () => [vue.withDirectives(vue.createVNode("div", {
11609
- "class": ['v-window-item', groupItem.selectedClass.value]
11610
- }, [hasContent.value && slots.default?.()]), [[vue.vShow, groupItem.isSelected.value]])]
11611
- }));
11612
- return {};
11613
- }
11614
- });
11615
-
11616
11549
  // Types
11617
11550
 
11618
11551
  const VCarousel = genericComponent()({
@@ -11633,16 +11566,15 @@
11633
11566
  interval: {
11634
11567
  type: [Number, String],
11635
11568
  default: 6000,
11636
- validator: value => value > 0
11569
+ validator: value => Number(value) > 0
11637
11570
  },
11638
- modelValue: null,
11639
11571
  progress: [Boolean, String],
11640
- showArrows: {
11641
- type: [Boolean, String],
11642
- default: true,
11643
- validator: v => typeof v === 'boolean' || v === 'hover'
11644
- },
11645
- verticalDelimiters: [Boolean, String]
11572
+ verticalDelimiters: [Boolean, String],
11573
+ ...makeVWindowProps({
11574
+ continuous: true,
11575
+ mandatory: 'force',
11576
+ showArrows: true
11577
+ })
11646
11578
  },
11647
11579
  emits: {
11648
11580
  'update:modelValue': val => true
@@ -11710,6 +11642,7 @@
11710
11642
  }, {
11711
11643
  default: () => [group.items.value.map((item, index) => {
11712
11644
  const props = {
11645
+ id: `carousel-item-${item.id}`,
11713
11646
  'aria-label': t('$vuetify.carousel.ariaLabel.delimiter', index + 1, group.items.value.length),
11714
11647
  class: [group.isSelected(item.id) && 'v-btn--active'],
11715
11648
  onClick: () => group.select(item.id, true)
@@ -11732,31 +11665,191 @@
11732
11665
  }
11733
11666
  });
11734
11667
 
11735
- // Types
11736
-
11737
- const VCarouselItem = genericComponent()({
11738
- name: 'VCarouselItem',
11739
- inheritAttrs: false,
11668
+ const VWindowItem = genericComponent()({
11669
+ name: 'VWindowItem',
11670
+ directives: {
11671
+ Touch
11672
+ },
11740
11673
  props: {
11741
- value: null
11674
+ reverseTransition: {
11675
+ type: [Boolean, String],
11676
+ default: undefined
11677
+ },
11678
+ transition: {
11679
+ type: [Boolean, String],
11680
+ default: undefined
11681
+ },
11682
+ ...makeGroupItemProps(),
11683
+ ...makeLazyProps()
11684
+ },
11685
+ emits: {
11686
+ 'group:selected': val => true
11742
11687
  },
11743
11688
  setup(props, _ref) {
11744
11689
  let {
11745
- slots,
11746
- attrs
11690
+ slots
11747
11691
  } = _ref;
11748
- useRender(() => vue.createVNode(VWindowItem, {
11749
- "class": "v-carousel-item",
11750
- "value": props.value
11751
- }, {
11752
- default: () => [vue.createVNode(VImg, attrs, slots)]
11753
- }));
11754
- }
11755
- });
11756
-
11757
- const VCode = createSimpleFunctional('v-code');
11758
-
11759
- // Types
11692
+ const window = vue.inject(VWindowSymbol);
11693
+ const groupItem = useGroupItem(props, VWindowGroupSymbol);
11694
+ const {
11695
+ isBooted
11696
+ } = useSsrBoot();
11697
+ if (!window || !groupItem) throw new Error('[Vuetify] VWindowItem must be used inside VWindow');
11698
+ const isTransitioning = vue.ref(false);
11699
+ const hasTransition = vue.computed(() => window.isReversed.value ? props.reverseTransition !== false : props.transition !== false);
11700
+ function onAfterTransition() {
11701
+ if (!isTransitioning.value || !window) {
11702
+ return;
11703
+ }
11704
+
11705
+ // Finalize transition state.
11706
+ isTransitioning.value = false;
11707
+ if (window.transitionCount.value > 0) {
11708
+ window.transitionCount.value -= 1;
11709
+
11710
+ // Remove container height if we are out of transition.
11711
+ if (window.transitionCount.value === 0) {
11712
+ window.transitionHeight.value = undefined;
11713
+ }
11714
+ }
11715
+ }
11716
+ function onBeforeTransition() {
11717
+ if (isTransitioning.value || !window) {
11718
+ return;
11719
+ }
11720
+
11721
+ // Initialize transition state here.
11722
+ isTransitioning.value = true;
11723
+ if (window.transitionCount.value === 0) {
11724
+ // Set initial height for height transition.
11725
+ window.transitionHeight.value = convertToUnit(window.rootRef.value?.clientHeight);
11726
+ }
11727
+ window.transitionCount.value += 1;
11728
+ }
11729
+ function onTransitionCancelled() {
11730
+ onAfterTransition(); // This should have the same path as normal transition end.
11731
+ }
11732
+
11733
+ function onEnterTransition(el) {
11734
+ if (!isTransitioning.value) {
11735
+ return;
11736
+ }
11737
+ vue.nextTick(() => {
11738
+ // Do not set height if no transition or cancelled.
11739
+ if (!hasTransition.value || !isTransitioning.value || !window) {
11740
+ return;
11741
+ }
11742
+
11743
+ // Set transition target height.
11744
+ window.transitionHeight.value = convertToUnit(el.clientHeight);
11745
+ });
11746
+ }
11747
+ const transition = vue.computed(() => {
11748
+ const name = window.isReversed.value ? props.reverseTransition : props.transition;
11749
+ return !hasTransition.value ? false : {
11750
+ name: typeof name !== 'string' ? window.transition.value : name,
11751
+ onBeforeEnter: onBeforeTransition,
11752
+ onAfterEnter: onAfterTransition,
11753
+ onEnterCancelled: onTransitionCancelled,
11754
+ onBeforeLeave: onBeforeTransition,
11755
+ onAfterLeave: onAfterTransition,
11756
+ onLeaveCancelled: onTransitionCancelled,
11757
+ onEnter: onEnterTransition
11758
+ };
11759
+ });
11760
+ const {
11761
+ hasContent
11762
+ } = useLazy(props, groupItem.isSelected);
11763
+ useRender(() => vue.createVNode(MaybeTransition, {
11764
+ "transition": transition.value,
11765
+ "disabled": !isBooted.value
11766
+ }, {
11767
+ default: () => [vue.withDirectives(vue.createVNode("div", {
11768
+ "class": ['v-window-item', groupItem.selectedClass.value]
11769
+ }, [hasContent.value && slots.default?.()]), [[vue.vShow, groupItem.isSelected.value]])]
11770
+ }));
11771
+ return {};
11772
+ }
11773
+ });
11774
+
11775
+ // Types
11776
+
11777
+ const VCarouselItem = genericComponent()({
11778
+ name: 'VCarouselItem',
11779
+ inheritAttrs: false,
11780
+ props: {
11781
+ value: null
11782
+ },
11783
+ setup(props, _ref) {
11784
+ let {
11785
+ slots,
11786
+ attrs
11787
+ } = _ref;
11788
+ useRender(() => vue.createVNode(VWindowItem, {
11789
+ "class": "v-carousel-item",
11790
+ "value": props.value
11791
+ }, {
11792
+ default: () => [vue.createVNode(VImg, attrs, slots)]
11793
+ }));
11794
+ }
11795
+ });
11796
+
11797
+ const VCode = createSimpleFunctional('v-code');
11798
+
11799
+ const makeVSheetProps = propsFactory({
11800
+ color: String,
11801
+ ...makeBorderProps(),
11802
+ ...makeDimensionProps(),
11803
+ ...makeElevationProps(),
11804
+ ...makeLocationProps(),
11805
+ ...makePositionProps(),
11806
+ ...makeRoundedProps(),
11807
+ ...makeTagProps(),
11808
+ ...makeThemeProps()
11809
+ }, 'v-sheet');
11810
+ const VSheet = genericComponent()({
11811
+ name: 'VSheet',
11812
+ props: {
11813
+ ...makeVSheetProps()
11814
+ },
11815
+ setup(props, _ref) {
11816
+ let {
11817
+ slots
11818
+ } = _ref;
11819
+ const {
11820
+ themeClasses
11821
+ } = provideTheme(props);
11822
+ const {
11823
+ backgroundColorClasses,
11824
+ backgroundColorStyles
11825
+ } = useBackgroundColor(vue.toRef(props, 'color'));
11826
+ const {
11827
+ borderClasses
11828
+ } = useBorder(props);
11829
+ const {
11830
+ dimensionStyles
11831
+ } = useDimension(props);
11832
+ const {
11833
+ elevationClasses
11834
+ } = useElevation(props);
11835
+ const {
11836
+ locationStyles
11837
+ } = useLocation(props);
11838
+ const {
11839
+ positionClasses
11840
+ } = usePosition(props);
11841
+ const {
11842
+ roundedClasses
11843
+ } = useRounded(props);
11844
+ useRender(() => vue.createVNode(props.tag, {
11845
+ "class": ['v-sheet', themeClasses.value, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, positionClasses.value, roundedClasses.value],
11846
+ "style": [backgroundColorStyles.value, dimensionStyles.value, locationStyles.value]
11847
+ }, slots));
11848
+ return {};
11849
+ }
11850
+ });
11851
+
11852
+ // Types
11760
11853
 
11761
11854
  const VColorPickerCanvas = defineComponent({
11762
11855
  name: 'VColorPickerCanvas',
@@ -12298,7 +12391,7 @@
12298
12391
  });
12299
12392
  const min = vue.computed(() => parseFloat(props.min));
12300
12393
  const max = vue.computed(() => parseFloat(props.max));
12301
- const step = vue.computed(() => props.step > 0 ? parseFloat(props.step) : 0);
12394
+ const step = vue.computed(() => +props.step > 0 ? parseFloat(props.step) : 0);
12302
12395
  const decimals = vue.computed(() => Math.max(getDecimals(step.value), getDecimals(min.value)));
12303
12396
  const thumbSize = vue.computed(() => parseInt(props.thumbSize, 10));
12304
12397
  const tickSize = vue.computed(() => parseInt(props.tickSize, 10));
@@ -12792,7 +12885,7 @@
12792
12885
  }), {
12793
12886
  ...slots,
12794
12887
  prepend: hasPrepend ? slotProps => vue.createVNode(vue.Fragment, null, [slots.label?.(slotProps) ?? props.label ? vue.createVNode(VLabel, {
12795
- "id": slotProps.id,
12888
+ "id": slotProps.id.value,
12796
12889
  "class": "v-slider__label",
12797
12890
  "text": props.label
12798
12891
  }, null) : undefined, slots.prepend?.(slotProps)]) : undefined,
@@ -13277,59 +13370,6 @@
13277
13370
  }
13278
13371
  });
13279
13372
 
13280
- const makeVSheetProps = propsFactory({
13281
- color: String,
13282
- ...makeBorderProps(),
13283
- ...makeDimensionProps(),
13284
- ...makeElevationProps(),
13285
- ...makeLocationProps(),
13286
- ...makePositionProps(),
13287
- ...makeRoundedProps(),
13288
- ...makeTagProps(),
13289
- ...makeThemeProps()
13290
- }, 'v-sheet');
13291
- const VSheet = genericComponent()({
13292
- name: 'VSheet',
13293
- props: {
13294
- ...makeVSheetProps()
13295
- },
13296
- setup(props, _ref) {
13297
- let {
13298
- slots
13299
- } = _ref;
13300
- const {
13301
- themeClasses
13302
- } = provideTheme(props);
13303
- const {
13304
- backgroundColorClasses,
13305
- backgroundColorStyles
13306
- } = useBackgroundColor(vue.toRef(props, 'color'));
13307
- const {
13308
- borderClasses
13309
- } = useBorder(props);
13310
- const {
13311
- dimensionStyles
13312
- } = useDimension(props);
13313
- const {
13314
- elevationClasses
13315
- } = useElevation(props);
13316
- const {
13317
- locationStyles
13318
- } = useLocation(props);
13319
- const {
13320
- positionClasses
13321
- } = usePosition(props);
13322
- const {
13323
- roundedClasses
13324
- } = useRounded(props);
13325
- useRender(() => vue.createVNode(props.tag, {
13326
- "class": ['v-sheet', themeClasses.value, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, positionClasses.value, roundedClasses.value],
13327
- "style": [backgroundColorStyles.value, dimensionStyles.value, locationStyles.value]
13328
- }, slots));
13329
- return {};
13330
- }
13331
- });
13332
-
13333
13373
  // Types
13334
13374
 
13335
13375
  const VColorPicker = defineComponent({
@@ -13366,13 +13406,9 @@
13366
13406
  modelValue: {
13367
13407
  type: [Object, String]
13368
13408
  },
13369
- width: {
13370
- type: [Number, String],
13371
- default: 300
13372
- },
13373
- ...makeElevationProps(),
13374
- ...makeRoundedProps(),
13375
- ...makeThemeProps()
13409
+ ...omit(makeVSheetProps({
13410
+ width: 300
13411
+ }), ['height', 'location', 'minHeight', 'maxHeight', 'minWidth', 'maxWidth'])
13376
13412
  },
13377
13413
  emits: {
13378
13414
  'update:modelValue': color => true,
@@ -13410,53 +13446,57 @@
13410
13446
  trackFillColor: undefined
13411
13447
  }
13412
13448
  });
13413
- useRender(() => vue.createVNode(VSheet, {
13414
- "rounded": props.rounded,
13415
- "elevation": props.elevation,
13416
- "theme": props.theme,
13417
- "class": ['v-color-picker'],
13418
- "style": {
13419
- '--v-color-picker-color-hsv': HSVtoCSS({
13420
- ...(currentColor.value ?? nullColor),
13421
- a: 1
13422
- })
13423
- },
13424
- "maxWidth": props.width
13425
- }, {
13426
- default: () => [!props.hideCanvas && vue.createVNode(VColorPickerCanvas, {
13427
- "key": "canvas",
13428
- "color": currentColor.value,
13429
- "onUpdate:color": updateColor,
13430
- "disabled": props.disabled,
13431
- "dotSize": props.dotSize,
13432
- "width": props.width,
13433
- "height": props.canvasHeight
13434
- }, null), (!props.hideSliders || !props.hideInputs) && vue.createVNode("div", {
13435
- "key": "controls",
13436
- "class": "v-color-picker__controls"
13437
- }, [!props.hideSliders && vue.createVNode(VColorPickerPreview, {
13438
- "key": "preview",
13439
- "color": currentColor.value,
13440
- "onUpdate:color": updateColor,
13441
- "hideAlpha": !mode.value.endsWith('a'),
13442
- "disabled": props.disabled
13443
- }, null), !props.hideInputs && vue.createVNode(VColorPickerEdit, {
13444
- "key": "edit",
13445
- "modes": props.modes,
13446
- "mode": mode.value,
13447
- "onUpdate:mode": m => mode.value = m,
13448
- "color": currentColor.value,
13449
- "onUpdate:color": updateColor,
13450
- "disabled": props.disabled
13451
- }, null)]), props.showSwatches && vue.createVNode(VColorPickerSwatches, {
13452
- "key": "swatches",
13453
- "color": currentColor.value,
13454
- "onUpdate:color": updateColor,
13455
- "maxHeight": props.swatchesMaxHeight,
13456
- "swatches": props.swatches,
13457
- "disabled": props.disabled
13458
- }, null)]
13459
- }));
13449
+ useRender(() => {
13450
+ const [sheetProps] = VSheet.filterProps(props);
13451
+ return vue.createVNode(VSheet, vue.mergeProps({
13452
+ "rounded": props.rounded,
13453
+ "elevation": props.elevation,
13454
+ "theme": props.theme,
13455
+ "class": ['v-color-picker'],
13456
+ "style": {
13457
+ '--v-color-picker-color-hsv': HSVtoCSS({
13458
+ ...(currentColor.value ?? nullColor),
13459
+ a: 1
13460
+ })
13461
+ }
13462
+ }, sheetProps, {
13463
+ "maxWidth": props.width
13464
+ }), {
13465
+ default: () => [!props.hideCanvas && vue.createVNode(VColorPickerCanvas, {
13466
+ "key": "canvas",
13467
+ "color": currentColor.value,
13468
+ "onUpdate:color": updateColor,
13469
+ "disabled": props.disabled,
13470
+ "dotSize": props.dotSize,
13471
+ "width": props.width,
13472
+ "height": props.canvasHeight
13473
+ }, null), (!props.hideSliders || !props.hideInputs) && vue.createVNode("div", {
13474
+ "key": "controls",
13475
+ "class": "v-color-picker__controls"
13476
+ }, [!props.hideSliders && vue.createVNode(VColorPickerPreview, {
13477
+ "key": "preview",
13478
+ "color": currentColor.value,
13479
+ "onUpdate:color": updateColor,
13480
+ "hideAlpha": !mode.value.endsWith('a'),
13481
+ "disabled": props.disabled
13482
+ }, null), !props.hideInputs && vue.createVNode(VColorPickerEdit, {
13483
+ "key": "edit",
13484
+ "modes": props.modes,
13485
+ "mode": mode.value,
13486
+ "onUpdate:mode": m => mode.value = m,
13487
+ "color": currentColor.value,
13488
+ "onUpdate:color": updateColor,
13489
+ "disabled": props.disabled
13490
+ }, null)]), props.showSwatches && vue.createVNode(VColorPickerSwatches, {
13491
+ "key": "swatches",
13492
+ "color": currentColor.value,
13493
+ "onUpdate:color": updateColor,
13494
+ "maxHeight": props.swatchesMaxHeight,
13495
+ "swatches": props.swatches,
13496
+ "disabled": props.disabled
13497
+ }, null)]
13498
+ });
13499
+ });
13460
13500
  return {};
13461
13501
  }
13462
13502
  });
@@ -13520,6 +13560,7 @@
13520
13560
  }
13521
13561
  });
13522
13562
  const selectionIndex = vue.ref(-1);
13563
+ let cleared = false;
13523
13564
  const color = vue.computed(() => vTextFieldRef.value?.color);
13524
13565
  const {
13525
13566
  items,
@@ -13556,11 +13597,17 @@
13556
13597
  }
13557
13598
  }
13558
13599
  if (!val) selectionIndex.value = -1;
13559
- if (isFocused.value) menu.value = true;
13560
13600
  isPristine.value = !val;
13561
13601
  }
13562
13602
  });
13563
13603
  vue.watch(_search, value => {
13604
+ if (cleared) {
13605
+ // wait for clear to finish, VTextField sets _search to null
13606
+ // then search computed triggers and updates _search to ''
13607
+ vue.nextTick(() => cleared = false);
13608
+ } else if (isFocused.value && !menu.value) {
13609
+ menu.value = true;
13610
+ }
13564
13611
  emit('update:search', value);
13565
13612
  });
13566
13613
  vue.watch(model, value => {
@@ -13587,6 +13634,7 @@
13587
13634
  const selection = vue.computed(() => selections.value[selectionIndex.value]);
13588
13635
  const listRef = vue.ref();
13589
13636
  function onClear(e) {
13637
+ cleared = true;
13590
13638
  if (props.openOnClear) {
13591
13639
  menu.value = true;
13592
13640
  }
@@ -13749,14 +13797,13 @@
13749
13797
  }, {
13750
13798
  default: () => [!displayItems.value.length && !props.hideNoData && (slots['no-data']?.() ?? vue.createVNode(VListItem, {
13751
13799
  "title": t(props.noDataText)
13752
- }, null)), slots['prepend-item']?.(), displayItems.value.map((item, index) => slots.item?.({
13800
+ }, null)), slots['prepend-item']?.(), displayItems.value.map(item => slots.item?.({
13753
13801
  item,
13754
- index,
13755
13802
  props: vue.mergeProps(item.props, {
13756
13803
  onClick: () => select(item)
13757
13804
  })
13758
13805
  }) ?? vue.createVNode(VListItem, vue.mergeProps({
13759
- "key": index
13806
+ "key": item.value
13760
13807
  }, item.props, {
13761
13808
  "onClick": () => select(item)
13762
13809
  }), {
@@ -13919,9 +13966,9 @@
13919
13966
  }, overlayProps, {
13920
13967
  "modelValue": isActive.value,
13921
13968
  "onUpdate:modelValue": $event => isActive.value = $event,
13922
- "aria-role": "dialog",
13923
13969
  "aria-modal": "true",
13924
- "activatorProps": activatorProps.value
13970
+ "activatorProps": activatorProps.value,
13971
+ "role": "dialog"
13925
13972
  }, scopeId), {
13926
13973
  activator: slots.activator,
13927
13974
  default: function () {
@@ -15500,12 +15547,18 @@
15500
15547
  bgColor: 'transparent'
15501
15548
  }
15502
15549
  });
15550
+ function onMouseenter() {
15551
+ isHovering.value = true;
15552
+ }
15553
+ function onMouseleave() {
15554
+ isHovering.value = false;
15555
+ }
15503
15556
  useRender(() => {
15504
15557
  const hasImage = slots.image || props.image;
15505
15558
  return vue.createVNode(vue.Fragment, null, [vue.createVNode(props.tag, vue.mergeProps({
15506
15559
  "ref": rootEl,
15507
- "onMouseenter": () => isHovering.value = true,
15508
- "onMouseleave": () => isHovering.value = false,
15560
+ "onMouseenter": onMouseenter,
15561
+ "onMouseleave": onMouseleave,
15509
15562
  "class": ['v-navigation-drawer', `v-navigation-drawer--${location.value}`, {
15510
15563
  'v-navigation-drawer--expand-on-hover': props.expandOnHover,
15511
15564
  'v-navigation-drawer--floating': props.floating,
@@ -15781,7 +15834,7 @@
15781
15834
  ref,
15782
15835
  ellipsis: false,
15783
15836
  icon: true,
15784
- disabled: !!props.disabled || props.length < 2,
15837
+ disabled: !!props.disabled || +props.length < 2,
15785
15838
  color: isActive ? props.activeColor : props.color,
15786
15839
  ariaCurrent: isActive,
15787
15840
  ariaLabel: t(isActive ? props.currentPageAriaLabel : props.pageAriaLabel, item),
@@ -15830,7 +15883,7 @@
15830
15883
  refs.value[currentIndex]?.$el.focus();
15831
15884
  }
15832
15885
  function onKeydown(e) {
15833
- if (e.key === keyValues.left && !props.disabled && page.value > props.start) {
15886
+ if (e.key === keyValues.left && !props.disabled && page.value > +props.start) {
15834
15887
  page.value = page.value - 1;
15835
15888
  vue.nextTick(updateFocus);
15836
15889
  } else if (e.key === keyValues.right && !props.disabled && page.value < start.value + length.value - 1) {
@@ -16505,35 +16558,36 @@
16505
16558
  // Types
16506
16559
 
16507
16560
  const VSlideGroupSymbol = Symbol.for('vuetify:v-slide-group');
16561
+ const makeVSlideGroupProps = propsFactory({
16562
+ centerActive: Boolean,
16563
+ direction: {
16564
+ type: String,
16565
+ default: 'horizontal'
16566
+ },
16567
+ symbol: {
16568
+ type: null,
16569
+ default: VSlideGroupSymbol
16570
+ },
16571
+ nextIcon: {
16572
+ type: IconValue,
16573
+ default: '$next'
16574
+ },
16575
+ prevIcon: {
16576
+ type: IconValue,
16577
+ default: '$prev'
16578
+ },
16579
+ showArrows: {
16580
+ type: [Boolean, String],
16581
+ validator: v => typeof v === 'boolean' || ['always', 'desktop', 'mobile'].includes(v)
16582
+ },
16583
+ ...makeTagProps(),
16584
+ ...makeGroupProps({
16585
+ selectedClass: 'v-slide-group-item--active'
16586
+ })
16587
+ }, 'v-slide-group');
16508
16588
  const VSlideGroup = genericComponent()({
16509
16589
  name: 'VSlideGroup',
16510
- props: {
16511
- centerActive: Boolean,
16512
- direction: {
16513
- type: String,
16514
- default: 'horizontal'
16515
- },
16516
- symbol: {
16517
- type: null,
16518
- default: VSlideGroupSymbol
16519
- },
16520
- nextIcon: {
16521
- type: IconValue,
16522
- default: '$next'
16523
- },
16524
- prevIcon: {
16525
- type: IconValue,
16526
- default: '$prev'
16527
- },
16528
- showArrows: {
16529
- type: [Boolean, String],
16530
- validator: v => typeof v === 'boolean' || ['always', 'desktop', 'mobile'].includes(v)
16531
- },
16532
- ...makeTagProps(),
16533
- ...makeGroupProps({
16534
- selectedClass: 'v-slide-group-item--active'
16535
- })
16536
- },
16590
+ props: makeVSlideGroupProps(),
16537
16591
  emits: {
16538
16592
  'update:modelValue': value => true
16539
16593
  },
@@ -17242,10 +17296,6 @@
17242
17296
  default: 'start'
17243
17297
  },
17244
17298
  color: String,
17245
- direction: {
17246
- type: String,
17247
- default: 'horizontal'
17248
- },
17249
17299
  fixedTabs: Boolean,
17250
17300
  items: {
17251
17301
  type: Array,
@@ -17260,11 +17310,9 @@
17260
17310
  },
17261
17311
  hideSlider: Boolean,
17262
17312
  sliderColor: String,
17263
- modelValue: null,
17264
- mandatory: {
17265
- type: [Boolean, String],
17266
- default: 'force'
17267
- },
17313
+ ...makeVSlideGroupProps({
17314
+ mandatory: 'force'
17315
+ }),
17268
17316
  ...makeDensityProps(),
17269
17317
  ...makeTagProps()
17270
17318
  },
@@ -17294,26 +17342,27 @@
17294
17342
  hideSlider: vue.toRef(props, 'hideSlider')
17295
17343
  }
17296
17344
  });
17297
- useRender(() => vue.createVNode(VSlideGroup, {
17298
- "modelValue": model.value,
17299
- "onUpdate:modelValue": $event => model.value = $event,
17300
- "class": ['v-tabs', `v-tabs--${props.direction}`, `v-tabs--align-tabs-${props.alignTabs}`, {
17301
- 'v-tabs--fixed-tabs': props.fixedTabs,
17302
- 'v-tabs--grow': props.grow,
17303
- 'v-tabs--stacked': props.stacked
17304
- }, densityClasses.value, backgroundColorClasses.value],
17305
- "style": [{
17306
- '--v-tabs-height': convertToUnit(props.height)
17307
- }, backgroundColorStyles.value],
17308
- "role": "tablist",
17309
- "symbol": VTabsSymbol,
17310
- "mandatory": props.mandatory,
17311
- "direction": props.direction
17312
- }, {
17313
- default: () => [slots.default ? slots.default() : parsedItems.value.map(item => vue.createVNode(VTab, vue.mergeProps(item, {
17314
- "key": item.title
17315
- }), null))]
17316
- }));
17345
+ useRender(() => {
17346
+ const [slideGroupProps] = VSlideGroup.filterProps(props);
17347
+ return vue.createVNode(VSlideGroup, vue.mergeProps(slideGroupProps, {
17348
+ "modelValue": model.value,
17349
+ "onUpdate:modelValue": $event => model.value = $event,
17350
+ "class": ['v-tabs', `v-tabs--${props.direction}`, `v-tabs--align-tabs-${props.alignTabs}`, {
17351
+ 'v-tabs--fixed-tabs': props.fixedTabs,
17352
+ 'v-tabs--grow': props.grow,
17353
+ 'v-tabs--stacked': props.stacked
17354
+ }, densityClasses.value, backgroundColorClasses.value],
17355
+ "style": [{
17356
+ '--v-tabs-height': convertToUnit(props.height)
17357
+ }, backgroundColorStyles.value],
17358
+ "role": "tablist",
17359
+ "symbol": VTabsSymbol
17360
+ }), {
17361
+ default: () => [slots.default ? slots.default() : parsedItems.value.map(item => vue.createVNode(VTab, vue.mergeProps(item, {
17362
+ "key": item.title
17363
+ }), null))]
17364
+ });
17365
+ });
17317
17366
  return {};
17318
17367
  }
17319
17368
  });
@@ -17429,7 +17478,7 @@
17429
17478
  const textareaRef = vue.ref();
17430
17479
  const isActive = vue.computed(() => isFocused.value || props.persistentPlaceholder);
17431
17480
  const messages = vue.computed(() => {
17432
- return props.messages.length ? props.messages : isActive.value || props.persistentHint ? props.hint : '';
17481
+ return props.messages.length ? props.messages : isFocused.value || props.persistentHint ? props.hint : '';
17433
17482
  });
17434
17483
  function onFocus() {
17435
17484
  if (textareaRef.value !== document.activeElement) {
@@ -18767,7 +18816,7 @@
18767
18816
  if (column.key === 'data-table-select') {
18768
18817
  return slots['item.data-table-select']?.(slotProps) ?? vue.createVNode(VCheckboxBtn, {
18769
18818
  "modelValue": isSelected([item]),
18770
- "onClick": () => toggleSelect(item)
18819
+ "onClick": vue.withModifiers(() => toggleSelect(item), ['stop'])
18771
18820
  }, null);
18772
18821
  }
18773
18822
  if (column.key === 'data-table-expand') {
@@ -18775,10 +18824,10 @@
18775
18824
  "icon": isExpanded(item) ? '$collapse' : '$expand',
18776
18825
  "size": "small",
18777
18826
  "variant": "text",
18778
- "onClick": () => toggleExpand(item)
18827
+ "onClick": vue.withModifiers(() => toggleExpand(item), ['stop'])
18779
18828
  }, null);
18780
18829
  }
18781
- return item.columns[column.key];
18830
+ return getPropertyFromItem(item.columns, column.key);
18782
18831
  }
18783
18832
  }))]));
18784
18833
  }
@@ -19107,6 +19156,19 @@
19107
19156
  itemValue: 'id'
19108
19157
  })
19109
19158
  }, 'v-data-table-item');
19159
+ function add(obj, key, value) {
19160
+ const path = key.split('.');
19161
+ while (path.length > 1) {
19162
+ const part = path.shift();
19163
+ if (obj[part] == null) {
19164
+ obj[part] = {};
19165
+ }
19166
+ if (typeof obj[part] === 'object') {
19167
+ obj = obj[part];
19168
+ }
19169
+ }
19170
+ obj[path[0]] = value;
19171
+ }
19110
19172
  function useDataTableItems(props, columns) {
19111
19173
  const {
19112
19174
  items
@@ -19116,7 +19178,7 @@
19116
19178
  ...item,
19117
19179
  type: 'item',
19118
19180
  columns: columns.value.reduce((obj, column) => {
19119
- obj[column.key] = getPropertyFromItem(item.raw, column.value ?? column.key);
19181
+ add(obj, column.key, getPropertyFromItem(item.raw, column.value ?? column.key));
19120
19182
  return obj;
19121
19183
  }, {})
19122
19184
  };
@@ -19167,6 +19229,7 @@
19167
19229
  ...makeDataTableItemProps(),
19168
19230
  ...makeDataTableHeaderProps(),
19169
19231
  hideNoData: Boolean,
19232
+ hover: Boolean,
19170
19233
  noDataText: {
19171
19234
  type: String,
19172
19235
  default: '$vuetify.noDataText'
@@ -19291,7 +19354,8 @@
19291
19354
  }],
19292
19355
  "fixedHeader": props.fixedHeader,
19293
19356
  "fixedFooter": props.fixedFooter,
19294
- "height": props.height
19357
+ "height": props.height,
19358
+ "hover": props.hover
19295
19359
  }, {
19296
19360
  top: slots.top,
19297
19361
  default: slots.default ?? (() => vue.createVNode(vue.Fragment, null, [slots.colgroup?.({
@@ -19654,7 +19718,9 @@
19654
19718
  "height": props.height
19655
19719
  }, {
19656
19720
  top: slots.top,
19657
- default: slots.default ?? (() => vue.createVNode(vue.Fragment, null, [vue.createVNode("thead", {
19721
+ default: slots.default ?? (() => vue.createVNode(vue.Fragment, null, [slots.colgroup?.({
19722
+ columns
19723
+ }), vue.createVNode("thead", {
19658
19724
  "class": "v-data-table__thead",
19659
19725
  "role": "rowgroup"
19660
19726
  }, [slots.headers ? slots.headers() : vue.createVNode(VDataTableHeaders, {
@@ -19675,6 +19741,137 @@
19675
19741
  }
19676
19742
  });
19677
19743
 
19744
+ // Types
19745
+
19746
+ const rootTypes = {
19747
+ actions: 'button@2',
19748
+ article: 'heading, paragraph',
19749
+ avatar: 'avatar',
19750
+ button: 'button',
19751
+ card: 'image, heading',
19752
+ 'card-avatar': 'image, list-item-avatar',
19753
+ chip: 'chip',
19754
+ 'date-picker': 'list-item, heading, divider, date-picker-options, date-picker-days, actions',
19755
+ 'date-picker-options': 'text, avatar@2',
19756
+ 'date-picker-days': 'avatar@28',
19757
+ heading: 'heading',
19758
+ image: 'image',
19759
+ 'list-item': 'text',
19760
+ 'list-item-avatar': 'avatar, text',
19761
+ 'list-item-two-line': 'sentences',
19762
+ 'list-item-avatar-two-line': 'avatar, sentences',
19763
+ 'list-item-three-line': 'paragraph',
19764
+ 'list-item-avatar-three-line': 'avatar, paragraph',
19765
+ paragraph: 'text@3',
19766
+ sentences: 'text@2',
19767
+ subtitle: 'text',
19768
+ table: 'table-heading, table-thead, table-tbody, table-tfoot',
19769
+ 'table-heading': 'chip, text',
19770
+ 'table-thead': 'heading@6',
19771
+ 'table-tbody': 'table-row-divider@6',
19772
+ 'table-row-divider': 'table-row, divider',
19773
+ 'table-row': 'text@6',
19774
+ 'table-tfoot': 'text@2, avatar@2',
19775
+ text: 'text'
19776
+ };
19777
+ function genBone(type) {
19778
+ let children = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
19779
+ return vue.createVNode("div", {
19780
+ "class": ['v-skeleton-loader__bone', `v-skeleton-loader__${type}`]
19781
+ }, [children]);
19782
+ }
19783
+ function genBones(bone) {
19784
+ // e.g. 'text@3'
19785
+ const [type, length] = bone.split('@');
19786
+
19787
+ // Generate a length array based upon
19788
+ // value after @ in the bone string
19789
+ return Array.from({
19790
+ length
19791
+ }).map(() => genStructure(type));
19792
+ }
19793
+ function genStructure(type) {
19794
+ let children = [];
19795
+ if (!type) return children;
19796
+
19797
+ // TODO: figure out a better way to type this
19798
+ const bone = rootTypes[type];
19799
+
19800
+ // End of recursion, do nothing
19801
+ /* eslint-disable-next-line no-empty, brace-style */
19802
+ if (type === bone) ;
19803
+ // Array of values - e.g. 'heading, paragraph, text@2'
19804
+ else if (type.includes(',')) return mapBones(type);
19805
+ // Array of values - e.g. 'paragraph@4'
19806
+ else if (type.includes('@')) return genBones(type);
19807
+ // Array of values - e.g. 'card@2'
19808
+ else if (bone.includes(',')) children = mapBones(bone);
19809
+ // Array of values - e.g. 'list-item@2'
19810
+ else if (bone.includes('@')) children = genBones(bone);
19811
+ // Single value - e.g. 'card-heading'
19812
+ else if (bone) children.push(genStructure(bone));
19813
+ return [genBone(type, children)];
19814
+ }
19815
+ function mapBones(bones) {
19816
+ // Remove spaces and return array of structures
19817
+ return bones.replace(/\s/g, '').split(',').map(genStructure);
19818
+ }
19819
+ const VSkeletonLoader = genericComponent()({
19820
+ name: 'VSkeletonLoader',
19821
+ props: {
19822
+ boilerplate: Boolean,
19823
+ color: String,
19824
+ loading: Boolean,
19825
+ loadingText: {
19826
+ type: String,
19827
+ default: '$vuetify.loading'
19828
+ },
19829
+ type: {
19830
+ type: [String, Array],
19831
+ default: 'image'
19832
+ },
19833
+ ...makeDimensionProps(),
19834
+ ...makeElevationProps(),
19835
+ ...makeThemeProps()
19836
+ },
19837
+ setup(props, _ref) {
19838
+ let {
19839
+ slots
19840
+ } = _ref;
19841
+ const {
19842
+ backgroundColorClasses,
19843
+ backgroundColorStyles
19844
+ } = useBackgroundColor(vue.toRef(props, 'color'));
19845
+ const {
19846
+ dimensionStyles
19847
+ } = useDimension(props);
19848
+ const {
19849
+ elevationClasses
19850
+ } = useElevation(props);
19851
+ const {
19852
+ themeClasses
19853
+ } = provideTheme(props);
19854
+ const {
19855
+ t
19856
+ } = useLocale();
19857
+ const items = vue.computed(() => genStructure(wrapInArray(props.type).join(',')));
19858
+ useRender(() => {
19859
+ const isLoading = !slots.default || props.loading;
19860
+ return vue.createVNode("div", {
19861
+ "class": ['v-skeleton-loader', {
19862
+ 'v-skeleton-loader--boilerplate': props.boilerplate
19863
+ }, themeClasses.value, backgroundColorClasses.value, elevationClasses.value],
19864
+ "style": [backgroundColorStyles.value, isLoading ? dimensionStyles.value : {}],
19865
+ "aria-busy": !props.boilerplate ? isLoading : undefined,
19866
+ "aria-live": !props.boilerplate ? 'polite' : undefined,
19867
+ "aria-label": !props.boilerplate ? t(props.loadingText) : undefined,
19868
+ "role": !props.boilerplate ? 'alert' : undefined
19869
+ }, [isLoading ? items.value : slots.default?.()]);
19870
+ });
19871
+ return {};
19872
+ }
19873
+ });
19874
+
19678
19875
  const VVirtualScrollItem = genericComponent()({
19679
19876
  name: 'VVirtualScrollItem',
19680
19877
  props: {
@@ -19848,12 +20045,12 @@
19848
20045
 
19849
20046
  var components = /*#__PURE__*/Object.freeze({
19850
20047
  __proto__: null,
20048
+ VAlert: VAlert,
20049
+ VAlertTitle: VAlertTitle,
19851
20050
  VApp: VApp,
19852
20051
  VAppBar: VAppBar,
19853
20052
  VAppBarNavIcon: VAppBarNavIcon,
19854
20053
  VAppBarTitle: VAppBarTitle,
19855
- VAlert: VAlert,
19856
- VAlertTitle: VAlertTitle,
19857
20054
  VAutocomplete: VAutocomplete,
19858
20055
  VAvatar: VAvatar,
19859
20056
  VBadge: VBadge,
@@ -19862,8 +20059,8 @@
19862
20059
  VBannerText: VBannerText,
19863
20060
  VBottomNavigation: VBottomNavigation,
19864
20061
  VBreadcrumbs: VBreadcrumbs,
19865
- VBreadcrumbsItem: VBreadcrumbsItem,
19866
20062
  VBreadcrumbsDivider: VBreadcrumbsDivider,
20063
+ VBreadcrumbsItem: VBreadcrumbsItem,
19867
20064
  VBtn: VBtn,
19868
20065
  VBtnGroup: VBtnGroup,
19869
20066
  VBtnToggle: VBtnToggle,
@@ -19879,41 +20076,51 @@
19879
20076
  VCheckboxBtn: VCheckboxBtn,
19880
20077
  VChip: VChip,
19881
20078
  VChipGroup: VChipGroup,
20079
+ VClassIcon: VClassIcon,
19882
20080
  VCode: VCode,
20081
+ VCol: VCol,
19883
20082
  VColorPicker: VColorPicker,
19884
20083
  VCombobox: VCombobox,
20084
+ VComponentIcon: VComponentIcon,
20085
+ VContainer: VContainer,
19885
20086
  VCounter: VCounter,
20087
+ VDataTable: VDataTable,
20088
+ VDataTableFooter: VDataTableFooter,
20089
+ VDataTableRow: VDataTableRow,
20090
+ VDataTableRows: VDataTableRows,
20091
+ VDataTableServer: VDataTableServer,
20092
+ VDataTableVirtual: VDataTableVirtual,
19886
20093
  VDefaultsProvider: VDefaultsProvider,
19887
20094
  VDialog: VDialog,
20095
+ VDialogBottomTransition: VDialogBottomTransition,
20096
+ VDialogTopTransition: VDialogTopTransition,
20097
+ VDialogTransition: VDialogTransition,
19888
20098
  VDivider: VDivider,
19889
- VExpansionPanels: VExpansionPanels,
20099
+ VExpandTransition: VExpandTransition,
20100
+ VExpandXTransition: VExpandXTransition,
19890
20101
  VExpansionPanel: VExpansionPanel,
19891
20102
  VExpansionPanelText: VExpansionPanelText,
19892
20103
  VExpansionPanelTitle: VExpansionPanelTitle,
20104
+ VExpansionPanels: VExpansionPanels,
20105
+ VFabTransition: VFabTransition,
20106
+ VFadeTransition: VFadeTransition,
19893
20107
  VField: VField,
19894
20108
  VFieldLabel: VFieldLabel,
19895
20109
  VFileInput: VFileInput,
19896
20110
  VFooter: VFooter,
19897
20111
  VForm: VForm,
19898
- VContainer: VContainer,
19899
- VCol: VCol,
19900
- VRow: VRow,
19901
- VSpacer: VSpacer,
19902
20112
  VHover: VHover,
19903
20113
  VIcon: VIcon,
19904
- VComponentIcon: VComponentIcon,
19905
- VSvgIcon: VSvgIcon,
19906
- VLigatureIcon: VLigatureIcon,
19907
- VClassIcon: VClassIcon,
19908
20114
  VImg: VImg,
19909
20115
  VInput: VInput,
19910
- VItemGroup: VItemGroup,
19911
20116
  VItem: VItem,
20117
+ VItemGroup: VItemGroup,
19912
20118
  VKbd: VKbd,
19913
20119
  VLabel: VLabel,
19914
20120
  VLayout: VLayout,
19915
20121
  VLayoutItem: VLayoutItem,
19916
20122
  VLazy: VLazy,
20123
+ VLigatureIcon: VLigatureIcon,
19917
20124
  VList: VList,
19918
20125
  VListGroup: VListGroup,
19919
20126
  VListImg: VListImg,
@@ -19939,54 +20146,45 @@
19939
20146
  VRangeSlider: VRangeSlider,
19940
20147
  VRating: VRating,
19941
20148
  VResponsive: VResponsive,
20149
+ VRow: VRow,
20150
+ VScaleTransition: VScaleTransition,
20151
+ VScrollXReverseTransition: VScrollXReverseTransition,
20152
+ VScrollXTransition: VScrollXTransition,
20153
+ VScrollYReverseTransition: VScrollYReverseTransition,
20154
+ VScrollYTransition: VScrollYTransition,
19942
20155
  VSelect: VSelect,
19943
20156
  VSelectionControl: VSelectionControl,
19944
20157
  VSelectionControlGroup: VSelectionControlGroup,
19945
20158
  VSheet: VSheet,
20159
+ VSkeletonLoader: VSkeletonLoader,
19946
20160
  VSlideGroup: VSlideGroup,
19947
20161
  VSlideGroupItem: VSlideGroupItem,
20162
+ VSlideXReverseTransition: VSlideXReverseTransition,
20163
+ VSlideXTransition: VSlideXTransition,
20164
+ VSlideYReverseTransition: VSlideYReverseTransition,
20165
+ VSlideYTransition: VSlideYTransition,
19948
20166
  VSlider: VSlider,
19949
20167
  VSnackbar: VSnackbar,
20168
+ VSpacer: VSpacer,
20169
+ VSvgIcon: VSvgIcon,
19950
20170
  VSwitch: VSwitch,
19951
20171
  VSystemBar: VSystemBar,
19952
- VTabs: VTabs,
19953
20172
  VTab: VTab,
19954
20173
  VTable: VTable,
19955
- VTextarea: VTextarea,
20174
+ VTabs: VTabs,
19956
20175
  VTextField: VTextField,
20176
+ VTextarea: VTextarea,
19957
20177
  VThemeProvider: VThemeProvider,
19958
20178
  VTimeline: VTimeline,
19959
20179
  VTimelineItem: VTimelineItem,
19960
20180
  VToolbar: VToolbar,
19961
- VToolbarTitle: VToolbarTitle,
19962
20181
  VToolbarItems: VToolbarItems,
20182
+ VToolbarTitle: VToolbarTitle,
19963
20183
  VTooltip: VTooltip,
19964
20184
  VValidation: VValidation,
20185
+ VVirtualScroll: VVirtualScroll,
19965
20186
  VWindow: VWindow,
19966
- VWindowItem: VWindowItem,
19967
- VDialogTransition: VDialogTransition,
19968
- VFabTransition: VFabTransition,
19969
- VDialogBottomTransition: VDialogBottomTransition,
19970
- VDialogTopTransition: VDialogTopTransition,
19971
- VFadeTransition: VFadeTransition,
19972
- VScaleTransition: VScaleTransition,
19973
- VScrollXTransition: VScrollXTransition,
19974
- VScrollXReverseTransition: VScrollXReverseTransition,
19975
- VScrollYTransition: VScrollYTransition,
19976
- VScrollYReverseTransition: VScrollYReverseTransition,
19977
- VSlideXTransition: VSlideXTransition,
19978
- VSlideXReverseTransition: VSlideXReverseTransition,
19979
- VSlideYTransition: VSlideYTransition,
19980
- VSlideYReverseTransition: VSlideYReverseTransition,
19981
- VExpandTransition: VExpandTransition,
19982
- VExpandXTransition: VExpandXTransition,
19983
- VDataTable: VDataTable,
19984
- VDataTableRows: VDataTableRows,
19985
- VDataTableRow: VDataTableRow,
19986
- VDataTableVirtual: VDataTableVirtual,
19987
- VDataTableServer: VDataTableServer,
19988
- VDataTableFooter: VDataTableFooter,
19989
- VVirtualScroll: VVirtualScroll
20187
+ VWindowItem: VWindowItem
19990
20188
  });
19991
20189
 
19992
20190
  // Types
@@ -20197,7 +20395,7 @@
20197
20395
  locale
20198
20396
  };
20199
20397
  }
20200
- const version$1 = "3.2.0-dev-20230322.0";
20398
+ const version$1 = "3.2.0-dev-20230405.0";
20201
20399
  createVuetify$1.version = version$1;
20202
20400
 
20203
20401
  // Vue's inject() can only be used in setup
@@ -20209,7 +20407,7 @@
20209
20407
  }
20210
20408
  }
20211
20409
 
20212
- const version = "3.2.0-dev-20230322.0";
20410
+ const version = "3.2.0-dev-20230405.0";
20213
20411
 
20214
20412
  const createVuetify = function () {
20215
20413
  let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
@@ -20230,6 +20428,4 @@
20230
20428
  exports.useTheme = useTheme;
20231
20429
  exports.version = version;
20232
20430
 
20233
- Object.defineProperty(exports, '__esModule', { value: true });
20234
-
20235
20431
  }));