@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
package/dist/vuetify.js CHANGED
@@ -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;
@@ -1933,7 +1933,8 @@
1933
1933
  ariaLabel: {
1934
1934
  item: 'Rating {0} of {1}'
1935
1935
  }
1936
- }
1936
+ },
1937
+ loading: 'Loading...'
1937
1938
  };
1938
1939
 
1939
1940
  const LANG_PREFIX = '$vuetify.';
@@ -2210,6 +2211,7 @@
2210
2211
  return genericComponent()({
2211
2212
  name,
2212
2213
  props: {
2214
+ disabled: Boolean,
2213
2215
  group: Boolean,
2214
2216
  hideOnLeave: Boolean,
2215
2217
  leaveAbsolute: Boolean,
@@ -2226,56 +2228,62 @@
2226
2228
  let {
2227
2229
  slots
2228
2230
  } = _ref;
2231
+ const functions = {
2232
+ onBeforeEnter(el) {
2233
+ el.style.transformOrigin = props.origin;
2234
+ },
2235
+ onLeave(el) {
2236
+ if (props.leaveAbsolute) {
2237
+ const {
2238
+ offsetTop,
2239
+ offsetLeft,
2240
+ offsetWidth,
2241
+ offsetHeight
2242
+ } = el;
2243
+ el._transitionInitialStyles = {
2244
+ position: el.style.position,
2245
+ top: el.style.top,
2246
+ left: el.style.left,
2247
+ width: el.style.width,
2248
+ height: el.style.height
2249
+ };
2250
+ el.style.position = 'absolute';
2251
+ el.style.top = `${offsetTop}px`;
2252
+ el.style.left = `${offsetLeft}px`;
2253
+ el.style.width = `${offsetWidth}px`;
2254
+ el.style.height = `${offsetHeight}px`;
2255
+ }
2256
+ if (props.hideOnLeave) {
2257
+ el.style.setProperty('display', 'none', 'important');
2258
+ }
2259
+ },
2260
+ onAfterLeave(el) {
2261
+ if (props.leaveAbsolute && el?._transitionInitialStyles) {
2262
+ const {
2263
+ position,
2264
+ top,
2265
+ left,
2266
+ width,
2267
+ height
2268
+ } = el._transitionInitialStyles;
2269
+ delete el._transitionInitialStyles;
2270
+ el.style.position = position || '';
2271
+ el.style.top = top || '';
2272
+ el.style.left = left || '';
2273
+ el.style.width = width || '';
2274
+ el.style.height = height || '';
2275
+ }
2276
+ }
2277
+ };
2229
2278
  return () => {
2230
2279
  const tag = props.group ? vue.TransitionGroup : vue.Transition;
2231
2280
  return vue.h(tag, {
2232
- name,
2233
- mode: props.mode,
2234
- onBeforeEnter(el) {
2235
- el.style.transformOrigin = props.origin;
2236
- },
2237
- onLeave(el) {
2238
- if (props.leaveAbsolute) {
2239
- const {
2240
- offsetTop,
2241
- offsetLeft,
2242
- offsetWidth,
2243
- offsetHeight
2244
- } = el;
2245
- el._transitionInitialStyles = {
2246
- position: el.style.position,
2247
- top: el.style.top,
2248
- left: el.style.left,
2249
- width: el.style.width,
2250
- height: el.style.height
2251
- };
2252
- el.style.position = 'absolute';
2253
- el.style.top = `${offsetTop}px`;
2254
- el.style.left = `${offsetLeft}px`;
2255
- el.style.width = `${offsetWidth}px`;
2256
- el.style.height = `${offsetHeight}px`;
2257
- }
2258
- if (props.hideOnLeave) {
2259
- el.style.setProperty('display', 'none', 'important');
2260
- }
2261
- },
2262
- onAfterLeave(el) {
2263
- if (props.leaveAbsolute && el?._transitionInitialStyles) {
2264
- const {
2265
- position,
2266
- top,
2267
- left,
2268
- width,
2269
- height
2270
- } = el._transitionInitialStyles;
2271
- delete el._transitionInitialStyles;
2272
- el.style.position = position || '';
2273
- el.style.top = top || '';
2274
- el.style.left = left || '';
2275
- el.style.width = width || '';
2276
- el.style.height = height || '';
2277
- }
2278
- }
2281
+ name: props.disabled ? '' : name,
2282
+ css: !props.disabled,
2283
+ ...(props.group ? undefined : {
2284
+ mode: props.mode
2285
+ }),
2286
+ ...(props.disabled ? {} : functions)
2279
2287
  }, slots.default);
2280
2288
  };
2281
2289
  }
@@ -2289,7 +2297,8 @@
2289
2297
  mode: {
2290
2298
  type: String,
2291
2299
  default: mode
2292
- }
2300
+ },
2301
+ disabled: Boolean
2293
2302
  },
2294
2303
  setup(props, _ref2) {
2295
2304
  let {
@@ -2297,9 +2306,10 @@
2297
2306
  } = _ref2;
2298
2307
  return () => {
2299
2308
  return vue.h(vue.Transition, {
2300
- name,
2309
+ name: props.disabled ? '' : name,
2310
+ css: !props.disabled,
2301
2311
  // mode: props.mode, // TODO: vuejs/vue-next#3104
2302
- ...functions
2312
+ ...(props.disabled ? {} : functions)
2303
2313
  }, slots.default);
2304
2314
  };
2305
2315
  }
@@ -5509,7 +5519,11 @@
5509
5519
  "key": "clear"
5510
5520
  }, {
5511
5521
  default: () => [vue.withDirectives(vue.createVNode("div", {
5512
- "class": "v-field__clearable"
5522
+ "class": "v-field__clearable",
5523
+ "onMousedown": e => {
5524
+ e.preventDefault();
5525
+ e.stopPropagation();
5526
+ }
5513
5527
  }, [slots.clear ? slots.clear() : vue.createVNode(InputIcon, {
5514
5528
  "name": "clear"
5515
5529
  }, null)]), [[vue.vShow, props.dirty]])]
@@ -5829,7 +5843,7 @@
5829
5843
  const results = [];
5830
5844
  isValidating.value = true;
5831
5845
  for (const rule of props.rules) {
5832
- if (results.length >= (props.maxErrors ?? 1)) {
5846
+ if (results.length >= +(props.maxErrors ?? 1)) {
5833
5847
  break;
5834
5848
  }
5835
5849
  const handler = typeof rule === 'function' ? rule : () => rule;
@@ -6015,6 +6029,15 @@
6015
6029
 
6016
6030
  /** Omit properties starting with P */
6017
6031
 
6032
+ function getDescriptor(obj, key) {
6033
+ let currentObj = obj;
6034
+ while (currentObj) {
6035
+ const descriptor = Reflect.getOwnPropertyDescriptor(currentObj, key);
6036
+ if (descriptor) return descriptor;
6037
+ currentObj = Object.getPrototypeOf(currentObj);
6038
+ }
6039
+ return undefined;
6040
+ }
6018
6041
  function forwardRefs(target) {
6019
6042
  for (var _len = arguments.length, refs = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
6020
6043
  refs[_key - 1] = arguments[_key];
@@ -6025,6 +6048,9 @@
6025
6048
  if (Reflect.has(target, key)) {
6026
6049
  return Reflect.get(target, key);
6027
6050
  }
6051
+
6052
+ // Skip internal properties
6053
+ if (typeof key === 'symbol' || key.startsWith('__')) return;
6028
6054
  for (const ref of refs) {
6029
6055
  if (ref.value && Reflect.has(ref.value, key)) {
6030
6056
  const val = Reflect.get(ref.value, key);
@@ -6032,6 +6058,20 @@
6032
6058
  }
6033
6059
  }
6034
6060
  },
6061
+ has(target, key) {
6062
+ if (Reflect.has(target, key)) {
6063
+ return true;
6064
+ }
6065
+
6066
+ // Skip internal properties
6067
+ if (typeof key === 'symbol' || key.startsWith('__')) return false;
6068
+ for (const ref of refs) {
6069
+ if (ref.value && Reflect.has(ref.value, key)) {
6070
+ return true;
6071
+ }
6072
+ }
6073
+ return false;
6074
+ },
6035
6075
  getOwnPropertyDescriptor(target, key) {
6036
6076
  const descriptor = Reflect.getOwnPropertyDescriptor(target, key);
6037
6077
  if (descriptor) return descriptor;
@@ -6042,30 +6082,18 @@
6042
6082
  // Check each ref's own properties
6043
6083
  for (const ref of refs) {
6044
6084
  if (!ref.value) continue;
6045
- const descriptor = Reflect.getOwnPropertyDescriptor(ref.value, key);
6085
+ const descriptor = getDescriptor(ref.value, key) ?? ('_' in ref.value ? getDescriptor(ref.value._?.setupState, key) : undefined);
6046
6086
  if (descriptor) return descriptor;
6047
- if ('_' in ref.value && 'setupState' in ref.value._) {
6048
- const descriptor = Reflect.getOwnPropertyDescriptor(ref.value._.setupState, key);
6049
- if (descriptor) return descriptor;
6050
- }
6051
6087
  }
6088
+
6052
6089
  // Recursive search up each ref's prototype
6053
- for (const ref of refs) {
6054
- let obj = ref.value && Object.getPrototypeOf(ref.value);
6055
- while (obj) {
6056
- const descriptor = Reflect.getOwnPropertyDescriptor(obj, key);
6057
- if (descriptor) return descriptor;
6058
- obj = Object.getPrototypeOf(obj);
6059
- }
6060
- }
6061
- // Call forwarded refs' proxies
6062
6090
  for (const ref of refs) {
6063
6091
  const childRefs = ref.value && ref.value[Refs];
6064
6092
  if (!childRefs) continue;
6065
6093
  const queue = childRefs.slice();
6066
6094
  while (queue.length) {
6067
6095
  const ref = queue.shift();
6068
- const descriptor = Reflect.getOwnPropertyDescriptor(ref.value, key);
6096
+ const descriptor = getDescriptor(ref.value, key);
6069
6097
  if (descriptor) return descriptor;
6070
6098
  const childRefs = ref.value && ref.value[Refs];
6071
6099
  if (childRefs) queue.push(...childRefs);
@@ -6167,12 +6195,14 @@
6167
6195
  }
6168
6196
  function onInput(e) {
6169
6197
  const el = e.target;
6170
- const caretPosition = [el.selectionStart, el.selectionEnd];
6171
6198
  model.value = el.value;
6172
- vue.nextTick(() => {
6173
- el.selectionStart = caretPosition[0];
6174
- el.selectionEnd = caretPosition[1];
6175
- });
6199
+ if (['text', 'search', 'password', 'tel', 'url'].includes(props.type)) {
6200
+ const caretPosition = [el.selectionStart, el.selectionEnd];
6201
+ vue.nextTick(() => {
6202
+ el.selectionStart = caretPosition[0];
6203
+ el.selectionEnd = caretPosition[1];
6204
+ });
6205
+ }
6176
6206
  }
6177
6207
  useRender(() => {
6178
6208
  const hasCounter = !!(slots.counter || props.counter || props.counterValue);
@@ -6586,7 +6616,7 @@
6586
6616
  inheritAttrs: false,
6587
6617
  props: {
6588
6618
  ...makeVInputProps(),
6589
- ...makeVCheckboxBtnProps()
6619
+ ...omit(makeVCheckboxBtnProps(), ['inline'])
6590
6620
  },
6591
6621
  emits: {
6592
6622
  'update:focused': focused => true
@@ -7555,6 +7585,9 @@
7555
7585
  } = useNestedItem(vue.toRef(props, 'value'), true);
7556
7586
  const id = vue.computed(() => `v-list-group--id-${String(_id.value)}`);
7557
7587
  const list = useList();
7588
+ const {
7589
+ isBooted
7590
+ } = useSsrBoot();
7558
7591
  function onClick(e) {
7559
7592
  open(!isOpen.value, e);
7560
7593
  }
@@ -7564,6 +7597,17 @@
7564
7597
  id: id.value
7565
7598
  }));
7566
7599
  const toggleIcon = vue.computed(() => isOpen.value ? props.collapseIcon : props.expandIcon);
7600
+ const activatorDefaults = vue.computed(() => ({
7601
+ VListItem: {
7602
+ active: isOpen.value,
7603
+ activeColor: props.activeColor,
7604
+ color: props.color,
7605
+ prependIcon: props.prependIcon || props.subgroup && toggleIcon.value,
7606
+ appendIcon: props.appendIcon || !props.subgroup && toggleIcon.value,
7607
+ title: props.title,
7608
+ value: props.value
7609
+ }
7610
+ }));
7567
7611
  useRender(() => vue.createVNode(props.tag, {
7568
7612
  "class": ['v-list-group', {
7569
7613
  'v-list-group--prepend': list?.hasPrepend.value,
@@ -7573,17 +7617,7 @@
7573
7617
  }]
7574
7618
  }, {
7575
7619
  default: () => [slots.activator && vue.createVNode(VDefaultsProvider, {
7576
- "defaults": {
7577
- VListItem: {
7578
- active: isOpen.value,
7579
- activeColor: props.activeColor,
7580
- color: props.color,
7581
- prependIcon: props.prependIcon || props.subgroup && toggleIcon.value,
7582
- appendIcon: props.appendIcon || !props.subgroup && toggleIcon.value,
7583
- title: props.title,
7584
- value: props.value
7585
- }
7586
- }
7620
+ "defaults": activatorDefaults.value
7587
7621
  }, {
7588
7622
  default: () => [vue.createVNode(VListGroupActivator, null, {
7589
7623
  default: () => [slots.activator({
@@ -7591,7 +7625,12 @@
7591
7625
  isOpen: isOpen.value
7592
7626
  })]
7593
7627
  })]
7594
- }), vue.createVNode(VExpandTransition, null, {
7628
+ }), vue.createVNode(MaybeTransition, {
7629
+ "transition": {
7630
+ component: VExpandTransition
7631
+ },
7632
+ "disabled": !isBooted.value
7633
+ }, {
7595
7634
  default: () => [vue.withDirectives(vue.createVNode("div", {
7596
7635
  "class": "v-list-group__items",
7597
7636
  "role": "group",
@@ -10396,14 +10435,13 @@
10396
10435
  }, {
10397
10436
  default: () => [!displayItems.value.length && !props.hideNoData && (slots['no-data']?.() ?? vue.createVNode(VListItem, {
10398
10437
  "title": t(props.noDataText)
10399
- }, null)), slots['prepend-item']?.(), displayItems.value.map((item, index) => slots.item?.({
10438
+ }, null)), slots['prepend-item']?.(), displayItems.value.map(item => slots.item?.({
10400
10439
  item,
10401
- index,
10402
10440
  props: vue.mergeProps(item.props, {
10403
10441
  onClick: () => select(item)
10404
10442
  })
10405
10443
  }) ?? vue.createVNode(VListItem, vue.mergeProps({
10406
- "key": index
10444
+ "key": item.value
10407
10445
  }, item.props, {
10408
10446
  "onClick": () => select(item)
10409
10447
  }), {
@@ -10538,7 +10576,7 @@
10538
10576
  });
10539
10577
  useRender(() => {
10540
10578
  const value = Number(props.content);
10541
- const content = !props.max || isNaN(value) ? props.content : value <= props.max ? value : `${props.max}+`;
10579
+ const content = !props.max || isNaN(value) ? props.content : value <= +props.max ? value : `${props.max}+`;
10542
10580
  const [badgeAttrs, attrs] = pick(ctx.attrs, ['aria-atomic', 'aria-label', 'aria-live', 'role', 'title']);
10543
10581
  return vue.createVNode(props.tag, vue.mergeProps({
10544
10582
  "class": ['v-badge', {
@@ -11335,47 +11373,48 @@
11335
11373
 
11336
11374
  const VWindowSymbol = Symbol.for('vuetify:v-window');
11337
11375
  const VWindowGroupSymbol = Symbol.for('vuetify:v-window-group');
11376
+ const makeVWindowProps = propsFactory({
11377
+ continuous: Boolean,
11378
+ nextIcon: {
11379
+ type: [Boolean, String, Function, Object],
11380
+ default: '$next'
11381
+ },
11382
+ prevIcon: {
11383
+ type: [Boolean, String, Function, Object],
11384
+ default: '$prev'
11385
+ },
11386
+ reverse: Boolean,
11387
+ showArrows: {
11388
+ type: [Boolean, String],
11389
+ validator: v => typeof v === 'boolean' || v === 'hover'
11390
+ },
11391
+ touch: {
11392
+ type: [Object, Boolean],
11393
+ default: undefined
11394
+ },
11395
+ direction: {
11396
+ type: String,
11397
+ default: 'horizontal'
11398
+ },
11399
+ modelValue: null,
11400
+ disabled: Boolean,
11401
+ selectedClass: {
11402
+ type: String,
11403
+ default: 'v-window-item--active'
11404
+ },
11405
+ // TODO: mandatory should probably not be exposed but do this for now
11406
+ mandatory: {
11407
+ default: 'force'
11408
+ },
11409
+ ...makeTagProps(),
11410
+ ...makeThemeProps()
11411
+ }, 'v-window');
11338
11412
  const VWindow = genericComponent()({
11339
11413
  name: 'VWindow',
11340
11414
  directives: {
11341
11415
  Touch
11342
11416
  },
11343
- props: {
11344
- continuous: Boolean,
11345
- nextIcon: {
11346
- type: [Boolean, String, Function, Object],
11347
- default: '$next'
11348
- },
11349
- prevIcon: {
11350
- type: [Boolean, String, Function, Object],
11351
- default: '$prev'
11352
- },
11353
- reverse: Boolean,
11354
- showArrows: {
11355
- type: [Boolean, String],
11356
- validator: v => typeof v === 'boolean' || v === 'hover'
11357
- },
11358
- touch: {
11359
- type: [Object, Boolean],
11360
- default: undefined
11361
- },
11362
- direction: {
11363
- type: String,
11364
- default: 'horizontal'
11365
- },
11366
- modelValue: null,
11367
- disabled: Boolean,
11368
- selectedClass: {
11369
- type: String,
11370
- default: 'v-window-item--active'
11371
- },
11372
- // TODO: mandatory should probably not be exposed but do this for now
11373
- mandatory: {
11374
- default: 'force'
11375
- },
11376
- ...makeTagProps(),
11377
- ...makeThemeProps()
11378
- },
11417
+ props: makeVWindowProps(),
11379
11418
  emits: {
11380
11419
  'update:modelValue': v => true
11381
11420
  },
@@ -11503,112 +11542,6 @@
11503
11542
  }
11504
11543
  });
11505
11544
 
11506
- const VWindowItem = genericComponent()({
11507
- name: 'VWindowItem',
11508
- directives: {
11509
- Touch
11510
- },
11511
- props: {
11512
- reverseTransition: {
11513
- type: [Boolean, String],
11514
- default: undefined
11515
- },
11516
- transition: {
11517
- type: [Boolean, String],
11518
- default: undefined
11519
- },
11520
- ...makeGroupItemProps(),
11521
- ...makeLazyProps()
11522
- },
11523
- emits: {
11524
- 'group:selected': val => true
11525
- },
11526
- setup(props, _ref) {
11527
- let {
11528
- slots
11529
- } = _ref;
11530
- const window = vue.inject(VWindowSymbol);
11531
- const groupItem = useGroupItem(props, VWindowGroupSymbol);
11532
- const {
11533
- isBooted
11534
- } = useSsrBoot();
11535
- if (!window || !groupItem) throw new Error('[Vuetify] VWindowItem must be used inside VWindow');
11536
- const isTransitioning = vue.ref(false);
11537
- const hasTransition = vue.computed(() => window.isReversed.value ? props.reverseTransition !== false : props.transition !== false);
11538
- function onAfterTransition() {
11539
- if (!isTransitioning.value || !window) {
11540
- return;
11541
- }
11542
-
11543
- // Finalize transition state.
11544
- isTransitioning.value = false;
11545
- if (window.transitionCount.value > 0) {
11546
- window.transitionCount.value -= 1;
11547
-
11548
- // Remove container height if we are out of transition.
11549
- if (window.transitionCount.value === 0) {
11550
- window.transitionHeight.value = undefined;
11551
- }
11552
- }
11553
- }
11554
- function onBeforeTransition() {
11555
- if (isTransitioning.value || !window) {
11556
- return;
11557
- }
11558
-
11559
- // Initialize transition state here.
11560
- isTransitioning.value = true;
11561
- if (window.transitionCount.value === 0) {
11562
- // Set initial height for height transition.
11563
- window.transitionHeight.value = convertToUnit(window.rootRef.value?.clientHeight);
11564
- }
11565
- window.transitionCount.value += 1;
11566
- }
11567
- function onTransitionCancelled() {
11568
- onAfterTransition(); // This should have the same path as normal transition end.
11569
- }
11570
-
11571
- function onEnterTransition(el) {
11572
- if (!isTransitioning.value) {
11573
- return;
11574
- }
11575
- vue.nextTick(() => {
11576
- // Do not set height if no transition or cancelled.
11577
- if (!hasTransition.value || !isTransitioning.value || !window) {
11578
- return;
11579
- }
11580
-
11581
- // Set transition target height.
11582
- window.transitionHeight.value = convertToUnit(el.clientHeight);
11583
- });
11584
- }
11585
- const transition = vue.computed(() => {
11586
- const name = window.isReversed.value ? props.reverseTransition : props.transition;
11587
- return !hasTransition.value ? false : {
11588
- name: typeof name !== 'string' ? window.transition.value : name,
11589
- onBeforeEnter: onBeforeTransition,
11590
- onAfterEnter: onAfterTransition,
11591
- onEnterCancelled: onTransitionCancelled,
11592
- onBeforeLeave: onBeforeTransition,
11593
- onAfterLeave: onAfterTransition,
11594
- onLeaveCancelled: onTransitionCancelled,
11595
- onEnter: onEnterTransition
11596
- };
11597
- });
11598
- const {
11599
- hasContent
11600
- } = useLazy(props, groupItem.isSelected);
11601
- useRender(() => vue.createVNode(MaybeTransition, {
11602
- "transition": isBooted.value && transition.value
11603
- }, {
11604
- default: () => [vue.withDirectives(vue.createVNode("div", {
11605
- "class": ['v-window-item', groupItem.selectedClass.value]
11606
- }, [hasContent.value && slots.default?.()]), [[vue.vShow, groupItem.isSelected.value]])]
11607
- }));
11608
- return {};
11609
- }
11610
- });
11611
-
11612
11545
  // Types
11613
11546
 
11614
11547
  const VCarousel = genericComponent()({
@@ -11629,16 +11562,15 @@
11629
11562
  interval: {
11630
11563
  type: [Number, String],
11631
11564
  default: 6000,
11632
- validator: value => value > 0
11565
+ validator: value => Number(value) > 0
11633
11566
  },
11634
- modelValue: null,
11635
11567
  progress: [Boolean, String],
11636
- showArrows: {
11637
- type: [Boolean, String],
11638
- default: true,
11639
- validator: v => typeof v === 'boolean' || v === 'hover'
11640
- },
11641
- verticalDelimiters: [Boolean, String]
11568
+ verticalDelimiters: [Boolean, String],
11569
+ ...makeVWindowProps({
11570
+ continuous: true,
11571
+ mandatory: 'force',
11572
+ showArrows: true
11573
+ })
11642
11574
  },
11643
11575
  emits: {
11644
11576
  'update:modelValue': val => true
@@ -11706,6 +11638,7 @@
11706
11638
  }, {
11707
11639
  default: () => [group.items.value.map((item, index) => {
11708
11640
  const props = {
11641
+ id: `carousel-item-${item.id}`,
11709
11642
  'aria-label': t('$vuetify.carousel.ariaLabel.delimiter', index + 1, group.items.value.length),
11710
11643
  class: [group.isSelected(item.id) && 'v-btn--active'],
11711
11644
  onClick: () => group.select(item.id, true)
@@ -11728,31 +11661,191 @@
11728
11661
  }
11729
11662
  });
11730
11663
 
11731
- // Types
11732
-
11733
- const VCarouselItem = genericComponent()({
11734
- name: 'VCarouselItem',
11735
- inheritAttrs: false,
11664
+ const VWindowItem = genericComponent()({
11665
+ name: 'VWindowItem',
11666
+ directives: {
11667
+ Touch
11668
+ },
11736
11669
  props: {
11737
- value: null
11670
+ reverseTransition: {
11671
+ type: [Boolean, String],
11672
+ default: undefined
11673
+ },
11674
+ transition: {
11675
+ type: [Boolean, String],
11676
+ default: undefined
11677
+ },
11678
+ ...makeGroupItemProps(),
11679
+ ...makeLazyProps()
11680
+ },
11681
+ emits: {
11682
+ 'group:selected': val => true
11738
11683
  },
11739
11684
  setup(props, _ref) {
11740
11685
  let {
11741
- slots,
11742
- attrs
11686
+ slots
11743
11687
  } = _ref;
11744
- useRender(() => vue.createVNode(VWindowItem, {
11745
- "class": "v-carousel-item",
11746
- "value": props.value
11747
- }, {
11748
- default: () => [vue.createVNode(VImg, attrs, slots)]
11749
- }));
11750
- }
11751
- });
11752
-
11753
- const VCode = createSimpleFunctional('v-code');
11754
-
11755
- // Types
11688
+ const window = vue.inject(VWindowSymbol);
11689
+ const groupItem = useGroupItem(props, VWindowGroupSymbol);
11690
+ const {
11691
+ isBooted
11692
+ } = useSsrBoot();
11693
+ if (!window || !groupItem) throw new Error('[Vuetify] VWindowItem must be used inside VWindow');
11694
+ const isTransitioning = vue.ref(false);
11695
+ const hasTransition = vue.computed(() => window.isReversed.value ? props.reverseTransition !== false : props.transition !== false);
11696
+ function onAfterTransition() {
11697
+ if (!isTransitioning.value || !window) {
11698
+ return;
11699
+ }
11700
+
11701
+ // Finalize transition state.
11702
+ isTransitioning.value = false;
11703
+ if (window.transitionCount.value > 0) {
11704
+ window.transitionCount.value -= 1;
11705
+
11706
+ // Remove container height if we are out of transition.
11707
+ if (window.transitionCount.value === 0) {
11708
+ window.transitionHeight.value = undefined;
11709
+ }
11710
+ }
11711
+ }
11712
+ function onBeforeTransition() {
11713
+ if (isTransitioning.value || !window) {
11714
+ return;
11715
+ }
11716
+
11717
+ // Initialize transition state here.
11718
+ isTransitioning.value = true;
11719
+ if (window.transitionCount.value === 0) {
11720
+ // Set initial height for height transition.
11721
+ window.transitionHeight.value = convertToUnit(window.rootRef.value?.clientHeight);
11722
+ }
11723
+ window.transitionCount.value += 1;
11724
+ }
11725
+ function onTransitionCancelled() {
11726
+ onAfterTransition(); // This should have the same path as normal transition end.
11727
+ }
11728
+
11729
+ function onEnterTransition(el) {
11730
+ if (!isTransitioning.value) {
11731
+ return;
11732
+ }
11733
+ vue.nextTick(() => {
11734
+ // Do not set height if no transition or cancelled.
11735
+ if (!hasTransition.value || !isTransitioning.value || !window) {
11736
+ return;
11737
+ }
11738
+
11739
+ // Set transition target height.
11740
+ window.transitionHeight.value = convertToUnit(el.clientHeight);
11741
+ });
11742
+ }
11743
+ const transition = vue.computed(() => {
11744
+ const name = window.isReversed.value ? props.reverseTransition : props.transition;
11745
+ return !hasTransition.value ? false : {
11746
+ name: typeof name !== 'string' ? window.transition.value : name,
11747
+ onBeforeEnter: onBeforeTransition,
11748
+ onAfterEnter: onAfterTransition,
11749
+ onEnterCancelled: onTransitionCancelled,
11750
+ onBeforeLeave: onBeforeTransition,
11751
+ onAfterLeave: onAfterTransition,
11752
+ onLeaveCancelled: onTransitionCancelled,
11753
+ onEnter: onEnterTransition
11754
+ };
11755
+ });
11756
+ const {
11757
+ hasContent
11758
+ } = useLazy(props, groupItem.isSelected);
11759
+ useRender(() => vue.createVNode(MaybeTransition, {
11760
+ "transition": transition.value,
11761
+ "disabled": !isBooted.value
11762
+ }, {
11763
+ default: () => [vue.withDirectives(vue.createVNode("div", {
11764
+ "class": ['v-window-item', groupItem.selectedClass.value]
11765
+ }, [hasContent.value && slots.default?.()]), [[vue.vShow, groupItem.isSelected.value]])]
11766
+ }));
11767
+ return {};
11768
+ }
11769
+ });
11770
+
11771
+ // Types
11772
+
11773
+ const VCarouselItem = genericComponent()({
11774
+ name: 'VCarouselItem',
11775
+ inheritAttrs: false,
11776
+ props: {
11777
+ value: null
11778
+ },
11779
+ setup(props, _ref) {
11780
+ let {
11781
+ slots,
11782
+ attrs
11783
+ } = _ref;
11784
+ useRender(() => vue.createVNode(VWindowItem, {
11785
+ "class": "v-carousel-item",
11786
+ "value": props.value
11787
+ }, {
11788
+ default: () => [vue.createVNode(VImg, attrs, slots)]
11789
+ }));
11790
+ }
11791
+ });
11792
+
11793
+ const VCode = createSimpleFunctional('v-code');
11794
+
11795
+ const makeVSheetProps = propsFactory({
11796
+ color: String,
11797
+ ...makeBorderProps(),
11798
+ ...makeDimensionProps(),
11799
+ ...makeElevationProps(),
11800
+ ...makeLocationProps(),
11801
+ ...makePositionProps(),
11802
+ ...makeRoundedProps(),
11803
+ ...makeTagProps(),
11804
+ ...makeThemeProps()
11805
+ }, 'v-sheet');
11806
+ const VSheet = genericComponent()({
11807
+ name: 'VSheet',
11808
+ props: {
11809
+ ...makeVSheetProps()
11810
+ },
11811
+ setup(props, _ref) {
11812
+ let {
11813
+ slots
11814
+ } = _ref;
11815
+ const {
11816
+ themeClasses
11817
+ } = provideTheme(props);
11818
+ const {
11819
+ backgroundColorClasses,
11820
+ backgroundColorStyles
11821
+ } = useBackgroundColor(vue.toRef(props, 'color'));
11822
+ const {
11823
+ borderClasses
11824
+ } = useBorder(props);
11825
+ const {
11826
+ dimensionStyles
11827
+ } = useDimension(props);
11828
+ const {
11829
+ elevationClasses
11830
+ } = useElevation(props);
11831
+ const {
11832
+ locationStyles
11833
+ } = useLocation(props);
11834
+ const {
11835
+ positionClasses
11836
+ } = usePosition(props);
11837
+ const {
11838
+ roundedClasses
11839
+ } = useRounded(props);
11840
+ useRender(() => vue.createVNode(props.tag, {
11841
+ "class": ['v-sheet', themeClasses.value, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, positionClasses.value, roundedClasses.value],
11842
+ "style": [backgroundColorStyles.value, dimensionStyles.value, locationStyles.value]
11843
+ }, slots));
11844
+ return {};
11845
+ }
11846
+ });
11847
+
11848
+ // Types
11756
11849
 
11757
11850
  const VColorPickerCanvas = defineComponent({
11758
11851
  name: 'VColorPickerCanvas',
@@ -12294,7 +12387,7 @@
12294
12387
  });
12295
12388
  const min = vue.computed(() => parseFloat(props.min));
12296
12389
  const max = vue.computed(() => parseFloat(props.max));
12297
- const step = vue.computed(() => props.step > 0 ? parseFloat(props.step) : 0);
12390
+ const step = vue.computed(() => +props.step > 0 ? parseFloat(props.step) : 0);
12298
12391
  const decimals = vue.computed(() => Math.max(getDecimals(step.value), getDecimals(min.value)));
12299
12392
  const thumbSize = vue.computed(() => parseInt(props.thumbSize, 10));
12300
12393
  const tickSize = vue.computed(() => parseInt(props.tickSize, 10));
@@ -12788,7 +12881,7 @@
12788
12881
  }), {
12789
12882
  ...slots,
12790
12883
  prepend: hasPrepend ? slotProps => vue.createVNode(vue.Fragment, null, [slots.label?.(slotProps) ?? props.label ? vue.createVNode(VLabel, {
12791
- "id": slotProps.id,
12884
+ "id": slotProps.id.value,
12792
12885
  "class": "v-slider__label",
12793
12886
  "text": props.label
12794
12887
  }, null) : undefined, slots.prepend?.(slotProps)]) : undefined,
@@ -13273,59 +13366,6 @@
13273
13366
  }
13274
13367
  });
13275
13368
 
13276
- const makeVSheetProps = propsFactory({
13277
- color: String,
13278
- ...makeBorderProps(),
13279
- ...makeDimensionProps(),
13280
- ...makeElevationProps(),
13281
- ...makeLocationProps(),
13282
- ...makePositionProps(),
13283
- ...makeRoundedProps(),
13284
- ...makeTagProps(),
13285
- ...makeThemeProps()
13286
- }, 'v-sheet');
13287
- const VSheet = genericComponent()({
13288
- name: 'VSheet',
13289
- props: {
13290
- ...makeVSheetProps()
13291
- },
13292
- setup(props, _ref) {
13293
- let {
13294
- slots
13295
- } = _ref;
13296
- const {
13297
- themeClasses
13298
- } = provideTheme(props);
13299
- const {
13300
- backgroundColorClasses,
13301
- backgroundColorStyles
13302
- } = useBackgroundColor(vue.toRef(props, 'color'));
13303
- const {
13304
- borderClasses
13305
- } = useBorder(props);
13306
- const {
13307
- dimensionStyles
13308
- } = useDimension(props);
13309
- const {
13310
- elevationClasses
13311
- } = useElevation(props);
13312
- const {
13313
- locationStyles
13314
- } = useLocation(props);
13315
- const {
13316
- positionClasses
13317
- } = usePosition(props);
13318
- const {
13319
- roundedClasses
13320
- } = useRounded(props);
13321
- useRender(() => vue.createVNode(props.tag, {
13322
- "class": ['v-sheet', themeClasses.value, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, positionClasses.value, roundedClasses.value],
13323
- "style": [backgroundColorStyles.value, dimensionStyles.value, locationStyles.value]
13324
- }, slots));
13325
- return {};
13326
- }
13327
- });
13328
-
13329
13369
  // Types
13330
13370
 
13331
13371
  const VColorPicker = defineComponent({
@@ -13362,13 +13402,9 @@
13362
13402
  modelValue: {
13363
13403
  type: [Object, String]
13364
13404
  },
13365
- width: {
13366
- type: [Number, String],
13367
- default: 300
13368
- },
13369
- ...makeElevationProps(),
13370
- ...makeRoundedProps(),
13371
- ...makeThemeProps()
13405
+ ...omit(makeVSheetProps({
13406
+ width: 300
13407
+ }), ['height', 'location', 'minHeight', 'maxHeight', 'minWidth', 'maxWidth'])
13372
13408
  },
13373
13409
  emits: {
13374
13410
  'update:modelValue': color => true,
@@ -13406,53 +13442,57 @@
13406
13442
  trackFillColor: undefined
13407
13443
  }
13408
13444
  });
13409
- useRender(() => vue.createVNode(VSheet, {
13410
- "rounded": props.rounded,
13411
- "elevation": props.elevation,
13412
- "theme": props.theme,
13413
- "class": ['v-color-picker'],
13414
- "style": {
13415
- '--v-color-picker-color-hsv': HSVtoCSS({
13416
- ...(currentColor.value ?? nullColor),
13417
- a: 1
13418
- })
13419
- },
13420
- "maxWidth": props.width
13421
- }, {
13422
- default: () => [!props.hideCanvas && vue.createVNode(VColorPickerCanvas, {
13423
- "key": "canvas",
13424
- "color": currentColor.value,
13425
- "onUpdate:color": updateColor,
13426
- "disabled": props.disabled,
13427
- "dotSize": props.dotSize,
13428
- "width": props.width,
13429
- "height": props.canvasHeight
13430
- }, null), (!props.hideSliders || !props.hideInputs) && vue.createVNode("div", {
13431
- "key": "controls",
13432
- "class": "v-color-picker__controls"
13433
- }, [!props.hideSliders && vue.createVNode(VColorPickerPreview, {
13434
- "key": "preview",
13435
- "color": currentColor.value,
13436
- "onUpdate:color": updateColor,
13437
- "hideAlpha": !mode.value.endsWith('a'),
13438
- "disabled": props.disabled
13439
- }, null), !props.hideInputs && vue.createVNode(VColorPickerEdit, {
13440
- "key": "edit",
13441
- "modes": props.modes,
13442
- "mode": mode.value,
13443
- "onUpdate:mode": m => mode.value = m,
13444
- "color": currentColor.value,
13445
- "onUpdate:color": updateColor,
13446
- "disabled": props.disabled
13447
- }, null)]), props.showSwatches && vue.createVNode(VColorPickerSwatches, {
13448
- "key": "swatches",
13449
- "color": currentColor.value,
13450
- "onUpdate:color": updateColor,
13451
- "maxHeight": props.swatchesMaxHeight,
13452
- "swatches": props.swatches,
13453
- "disabled": props.disabled
13454
- }, null)]
13455
- }));
13445
+ useRender(() => {
13446
+ const [sheetProps] = VSheet.filterProps(props);
13447
+ return vue.createVNode(VSheet, vue.mergeProps({
13448
+ "rounded": props.rounded,
13449
+ "elevation": props.elevation,
13450
+ "theme": props.theme,
13451
+ "class": ['v-color-picker'],
13452
+ "style": {
13453
+ '--v-color-picker-color-hsv': HSVtoCSS({
13454
+ ...(currentColor.value ?? nullColor),
13455
+ a: 1
13456
+ })
13457
+ }
13458
+ }, sheetProps, {
13459
+ "maxWidth": props.width
13460
+ }), {
13461
+ default: () => [!props.hideCanvas && vue.createVNode(VColorPickerCanvas, {
13462
+ "key": "canvas",
13463
+ "color": currentColor.value,
13464
+ "onUpdate:color": updateColor,
13465
+ "disabled": props.disabled,
13466
+ "dotSize": props.dotSize,
13467
+ "width": props.width,
13468
+ "height": props.canvasHeight
13469
+ }, null), (!props.hideSliders || !props.hideInputs) && vue.createVNode("div", {
13470
+ "key": "controls",
13471
+ "class": "v-color-picker__controls"
13472
+ }, [!props.hideSliders && vue.createVNode(VColorPickerPreview, {
13473
+ "key": "preview",
13474
+ "color": currentColor.value,
13475
+ "onUpdate:color": updateColor,
13476
+ "hideAlpha": !mode.value.endsWith('a'),
13477
+ "disabled": props.disabled
13478
+ }, null), !props.hideInputs && vue.createVNode(VColorPickerEdit, {
13479
+ "key": "edit",
13480
+ "modes": props.modes,
13481
+ "mode": mode.value,
13482
+ "onUpdate:mode": m => mode.value = m,
13483
+ "color": currentColor.value,
13484
+ "onUpdate:color": updateColor,
13485
+ "disabled": props.disabled
13486
+ }, null)]), props.showSwatches && vue.createVNode(VColorPickerSwatches, {
13487
+ "key": "swatches",
13488
+ "color": currentColor.value,
13489
+ "onUpdate:color": updateColor,
13490
+ "maxHeight": props.swatchesMaxHeight,
13491
+ "swatches": props.swatches,
13492
+ "disabled": props.disabled
13493
+ }, null)]
13494
+ });
13495
+ });
13456
13496
  return {};
13457
13497
  }
13458
13498
  });
@@ -13516,6 +13556,7 @@
13516
13556
  }
13517
13557
  });
13518
13558
  const selectionIndex = vue.ref(-1);
13559
+ let cleared = false;
13519
13560
  const color = vue.computed(() => vTextFieldRef.value?.color);
13520
13561
  const {
13521
13562
  items,
@@ -13552,11 +13593,17 @@
13552
13593
  }
13553
13594
  }
13554
13595
  if (!val) selectionIndex.value = -1;
13555
- if (isFocused.value) menu.value = true;
13556
13596
  isPristine.value = !val;
13557
13597
  }
13558
13598
  });
13559
13599
  vue.watch(_search, value => {
13600
+ if (cleared) {
13601
+ // wait for clear to finish, VTextField sets _search to null
13602
+ // then search computed triggers and updates _search to ''
13603
+ vue.nextTick(() => cleared = false);
13604
+ } else if (isFocused.value && !menu.value) {
13605
+ menu.value = true;
13606
+ }
13560
13607
  emit('update:search', value);
13561
13608
  });
13562
13609
  vue.watch(model, value => {
@@ -13583,6 +13630,7 @@
13583
13630
  const selection = vue.computed(() => selections.value[selectionIndex.value]);
13584
13631
  const listRef = vue.ref();
13585
13632
  function onClear(e) {
13633
+ cleared = true;
13586
13634
  if (props.openOnClear) {
13587
13635
  menu.value = true;
13588
13636
  }
@@ -13745,14 +13793,13 @@
13745
13793
  }, {
13746
13794
  default: () => [!displayItems.value.length && !props.hideNoData && (slots['no-data']?.() ?? vue.createVNode(VListItem, {
13747
13795
  "title": t(props.noDataText)
13748
- }, null)), slots['prepend-item']?.(), displayItems.value.map((item, index) => slots.item?.({
13796
+ }, null)), slots['prepend-item']?.(), displayItems.value.map(item => slots.item?.({
13749
13797
  item,
13750
- index,
13751
13798
  props: vue.mergeProps(item.props, {
13752
13799
  onClick: () => select(item)
13753
13800
  })
13754
13801
  }) ?? vue.createVNode(VListItem, vue.mergeProps({
13755
- "key": index
13802
+ "key": item.value
13756
13803
  }, item.props, {
13757
13804
  "onClick": () => select(item)
13758
13805
  }), {
@@ -13915,9 +13962,9 @@
13915
13962
  }, overlayProps, {
13916
13963
  "modelValue": isActive.value,
13917
13964
  "onUpdate:modelValue": $event => isActive.value = $event,
13918
- "aria-role": "dialog",
13919
13965
  "aria-modal": "true",
13920
- "activatorProps": activatorProps.value
13966
+ "activatorProps": activatorProps.value,
13967
+ "role": "dialog"
13921
13968
  }, scopeId), {
13922
13969
  activator: slots.activator,
13923
13970
  default: function () {
@@ -15496,12 +15543,18 @@
15496
15543
  bgColor: 'transparent'
15497
15544
  }
15498
15545
  });
15546
+ function onMouseenter() {
15547
+ isHovering.value = true;
15548
+ }
15549
+ function onMouseleave() {
15550
+ isHovering.value = false;
15551
+ }
15499
15552
  useRender(() => {
15500
15553
  const hasImage = slots.image || props.image;
15501
15554
  return vue.createVNode(vue.Fragment, null, [vue.createVNode(props.tag, vue.mergeProps({
15502
15555
  "ref": rootEl,
15503
- "onMouseenter": () => isHovering.value = true,
15504
- "onMouseleave": () => isHovering.value = false,
15556
+ "onMouseenter": onMouseenter,
15557
+ "onMouseleave": onMouseleave,
15505
15558
  "class": ['v-navigation-drawer', `v-navigation-drawer--${location.value}`, {
15506
15559
  'v-navigation-drawer--expand-on-hover': props.expandOnHover,
15507
15560
  'v-navigation-drawer--floating': props.floating,
@@ -15777,7 +15830,7 @@
15777
15830
  ref,
15778
15831
  ellipsis: false,
15779
15832
  icon: true,
15780
- disabled: !!props.disabled || props.length < 2,
15833
+ disabled: !!props.disabled || +props.length < 2,
15781
15834
  color: isActive ? props.activeColor : props.color,
15782
15835
  ariaCurrent: isActive,
15783
15836
  ariaLabel: t(isActive ? props.currentPageAriaLabel : props.pageAriaLabel, item),
@@ -15826,7 +15879,7 @@
15826
15879
  refs.value[currentIndex]?.$el.focus();
15827
15880
  }
15828
15881
  function onKeydown(e) {
15829
- if (e.key === keyValues.left && !props.disabled && page.value > props.start) {
15882
+ if (e.key === keyValues.left && !props.disabled && page.value > +props.start) {
15830
15883
  page.value = page.value - 1;
15831
15884
  vue.nextTick(updateFocus);
15832
15885
  } else if (e.key === keyValues.right && !props.disabled && page.value < start.value + length.value - 1) {
@@ -16501,35 +16554,36 @@
16501
16554
  // Types
16502
16555
 
16503
16556
  const VSlideGroupSymbol = Symbol.for('vuetify:v-slide-group');
16557
+ const makeVSlideGroupProps = propsFactory({
16558
+ centerActive: Boolean,
16559
+ direction: {
16560
+ type: String,
16561
+ default: 'horizontal'
16562
+ },
16563
+ symbol: {
16564
+ type: null,
16565
+ default: VSlideGroupSymbol
16566
+ },
16567
+ nextIcon: {
16568
+ type: IconValue,
16569
+ default: '$next'
16570
+ },
16571
+ prevIcon: {
16572
+ type: IconValue,
16573
+ default: '$prev'
16574
+ },
16575
+ showArrows: {
16576
+ type: [Boolean, String],
16577
+ validator: v => typeof v === 'boolean' || ['always', 'desktop', 'mobile'].includes(v)
16578
+ },
16579
+ ...makeTagProps(),
16580
+ ...makeGroupProps({
16581
+ selectedClass: 'v-slide-group-item--active'
16582
+ })
16583
+ }, 'v-slide-group');
16504
16584
  const VSlideGroup = genericComponent()({
16505
16585
  name: 'VSlideGroup',
16506
- props: {
16507
- centerActive: Boolean,
16508
- direction: {
16509
- type: String,
16510
- default: 'horizontal'
16511
- },
16512
- symbol: {
16513
- type: null,
16514
- default: VSlideGroupSymbol
16515
- },
16516
- nextIcon: {
16517
- type: IconValue,
16518
- default: '$next'
16519
- },
16520
- prevIcon: {
16521
- type: IconValue,
16522
- default: '$prev'
16523
- },
16524
- showArrows: {
16525
- type: [Boolean, String],
16526
- validator: v => typeof v === 'boolean' || ['always', 'desktop', 'mobile'].includes(v)
16527
- },
16528
- ...makeTagProps(),
16529
- ...makeGroupProps({
16530
- selectedClass: 'v-slide-group-item--active'
16531
- })
16532
- },
16586
+ props: makeVSlideGroupProps(),
16533
16587
  emits: {
16534
16588
  'update:modelValue': value => true
16535
16589
  },
@@ -17238,10 +17292,6 @@
17238
17292
  default: 'start'
17239
17293
  },
17240
17294
  color: String,
17241
- direction: {
17242
- type: String,
17243
- default: 'horizontal'
17244
- },
17245
17295
  fixedTabs: Boolean,
17246
17296
  items: {
17247
17297
  type: Array,
@@ -17256,11 +17306,9 @@
17256
17306
  },
17257
17307
  hideSlider: Boolean,
17258
17308
  sliderColor: String,
17259
- modelValue: null,
17260
- mandatory: {
17261
- type: [Boolean, String],
17262
- default: 'force'
17263
- },
17309
+ ...makeVSlideGroupProps({
17310
+ mandatory: 'force'
17311
+ }),
17264
17312
  ...makeDensityProps(),
17265
17313
  ...makeTagProps()
17266
17314
  },
@@ -17290,26 +17338,27 @@
17290
17338
  hideSlider: vue.toRef(props, 'hideSlider')
17291
17339
  }
17292
17340
  });
17293
- useRender(() => vue.createVNode(VSlideGroup, {
17294
- "modelValue": model.value,
17295
- "onUpdate:modelValue": $event => model.value = $event,
17296
- "class": ['v-tabs', `v-tabs--${props.direction}`, `v-tabs--align-tabs-${props.alignTabs}`, {
17297
- 'v-tabs--fixed-tabs': props.fixedTabs,
17298
- 'v-tabs--grow': props.grow,
17299
- 'v-tabs--stacked': props.stacked
17300
- }, densityClasses.value, backgroundColorClasses.value],
17301
- "style": [{
17302
- '--v-tabs-height': convertToUnit(props.height)
17303
- }, backgroundColorStyles.value],
17304
- "role": "tablist",
17305
- "symbol": VTabsSymbol,
17306
- "mandatory": props.mandatory,
17307
- "direction": props.direction
17308
- }, {
17309
- default: () => [slots.default ? slots.default() : parsedItems.value.map(item => vue.createVNode(VTab, vue.mergeProps(item, {
17310
- "key": item.title
17311
- }), null))]
17312
- }));
17341
+ useRender(() => {
17342
+ const [slideGroupProps] = VSlideGroup.filterProps(props);
17343
+ return vue.createVNode(VSlideGroup, vue.mergeProps(slideGroupProps, {
17344
+ "modelValue": model.value,
17345
+ "onUpdate:modelValue": $event => model.value = $event,
17346
+ "class": ['v-tabs', `v-tabs--${props.direction}`, `v-tabs--align-tabs-${props.alignTabs}`, {
17347
+ 'v-tabs--fixed-tabs': props.fixedTabs,
17348
+ 'v-tabs--grow': props.grow,
17349
+ 'v-tabs--stacked': props.stacked
17350
+ }, densityClasses.value, backgroundColorClasses.value],
17351
+ "style": [{
17352
+ '--v-tabs-height': convertToUnit(props.height)
17353
+ }, backgroundColorStyles.value],
17354
+ "role": "tablist",
17355
+ "symbol": VTabsSymbol
17356
+ }), {
17357
+ default: () => [slots.default ? slots.default() : parsedItems.value.map(item => vue.createVNode(VTab, vue.mergeProps(item, {
17358
+ "key": item.title
17359
+ }), null))]
17360
+ });
17361
+ });
17313
17362
  return {};
17314
17363
  }
17315
17364
  });
@@ -17425,7 +17474,7 @@
17425
17474
  const textareaRef = vue.ref();
17426
17475
  const isActive = vue.computed(() => isFocused.value || props.persistentPlaceholder);
17427
17476
  const messages = vue.computed(() => {
17428
- return props.messages.length ? props.messages : isActive.value || props.persistentHint ? props.hint : '';
17477
+ return props.messages.length ? props.messages : isFocused.value || props.persistentHint ? props.hint : '';
17429
17478
  });
17430
17479
  function onFocus() {
17431
17480
  if (textareaRef.value !== document.activeElement) {
@@ -17946,12 +17995,12 @@
17946
17995
 
17947
17996
  var components = /*#__PURE__*/Object.freeze({
17948
17997
  __proto__: null,
17998
+ VAlert: VAlert,
17999
+ VAlertTitle: VAlertTitle,
17949
18000
  VApp: VApp,
17950
18001
  VAppBar: VAppBar,
17951
18002
  VAppBarNavIcon: VAppBarNavIcon,
17952
18003
  VAppBarTitle: VAppBarTitle,
17953
- VAlert: VAlert,
17954
- VAlertTitle: VAlertTitle,
17955
18004
  VAutocomplete: VAutocomplete,
17956
18005
  VAvatar: VAvatar,
17957
18006
  VBadge: VBadge,
@@ -17960,8 +18009,8 @@
17960
18009
  VBannerText: VBannerText,
17961
18010
  VBottomNavigation: VBottomNavigation,
17962
18011
  VBreadcrumbs: VBreadcrumbs,
17963
- VBreadcrumbsItem: VBreadcrumbsItem,
17964
18012
  VBreadcrumbsDivider: VBreadcrumbsDivider,
18013
+ VBreadcrumbsItem: VBreadcrumbsItem,
17965
18014
  VBtn: VBtn,
17966
18015
  VBtnGroup: VBtnGroup,
17967
18016
  VBtnToggle: VBtnToggle,
@@ -17977,41 +18026,45 @@
17977
18026
  VCheckboxBtn: VCheckboxBtn,
17978
18027
  VChip: VChip,
17979
18028
  VChipGroup: VChipGroup,
18029
+ VClassIcon: VClassIcon,
17980
18030
  VCode: VCode,
18031
+ VCol: VCol,
17981
18032
  VColorPicker: VColorPicker,
17982
18033
  VCombobox: VCombobox,
18034
+ VComponentIcon: VComponentIcon,
18035
+ VContainer: VContainer,
17983
18036
  VCounter: VCounter,
17984
18037
  VDefaultsProvider: VDefaultsProvider,
17985
18038
  VDialog: VDialog,
18039
+ VDialogBottomTransition: VDialogBottomTransition,
18040
+ VDialogTopTransition: VDialogTopTransition,
18041
+ VDialogTransition: VDialogTransition,
17986
18042
  VDivider: VDivider,
17987
- VExpansionPanels: VExpansionPanels,
18043
+ VExpandTransition: VExpandTransition,
18044
+ VExpandXTransition: VExpandXTransition,
17988
18045
  VExpansionPanel: VExpansionPanel,
17989
18046
  VExpansionPanelText: VExpansionPanelText,
17990
18047
  VExpansionPanelTitle: VExpansionPanelTitle,
18048
+ VExpansionPanels: VExpansionPanels,
18049
+ VFabTransition: VFabTransition,
18050
+ VFadeTransition: VFadeTransition,
17991
18051
  VField: VField,
17992
18052
  VFieldLabel: VFieldLabel,
17993
18053
  VFileInput: VFileInput,
17994
18054
  VFooter: VFooter,
17995
18055
  VForm: VForm,
17996
- VContainer: VContainer,
17997
- VCol: VCol,
17998
- VRow: VRow,
17999
- VSpacer: VSpacer,
18000
18056
  VHover: VHover,
18001
18057
  VIcon: VIcon,
18002
- VComponentIcon: VComponentIcon,
18003
- VSvgIcon: VSvgIcon,
18004
- VLigatureIcon: VLigatureIcon,
18005
- VClassIcon: VClassIcon,
18006
18058
  VImg: VImg,
18007
18059
  VInput: VInput,
18008
- VItemGroup: VItemGroup,
18009
18060
  VItem: VItem,
18061
+ VItemGroup: VItemGroup,
18010
18062
  VKbd: VKbd,
18011
18063
  VLabel: VLabel,
18012
18064
  VLayout: VLayout,
18013
18065
  VLayoutItem: VLayoutItem,
18014
18066
  VLazy: VLazy,
18067
+ VLigatureIcon: VLigatureIcon,
18015
18068
  VList: VList,
18016
18069
  VListGroup: VListGroup,
18017
18070
  VListImg: VListImg,
@@ -18037,47 +18090,43 @@
18037
18090
  VRangeSlider: VRangeSlider,
18038
18091
  VRating: VRating,
18039
18092
  VResponsive: VResponsive,
18093
+ VRow: VRow,
18094
+ VScaleTransition: VScaleTransition,
18095
+ VScrollXReverseTransition: VScrollXReverseTransition,
18096
+ VScrollXTransition: VScrollXTransition,
18097
+ VScrollYReverseTransition: VScrollYReverseTransition,
18098
+ VScrollYTransition: VScrollYTransition,
18040
18099
  VSelect: VSelect,
18041
18100
  VSelectionControl: VSelectionControl,
18042
18101
  VSelectionControlGroup: VSelectionControlGroup,
18043
18102
  VSheet: VSheet,
18044
18103
  VSlideGroup: VSlideGroup,
18045
18104
  VSlideGroupItem: VSlideGroupItem,
18105
+ VSlideXReverseTransition: VSlideXReverseTransition,
18106
+ VSlideXTransition: VSlideXTransition,
18107
+ VSlideYReverseTransition: VSlideYReverseTransition,
18108
+ VSlideYTransition: VSlideYTransition,
18046
18109
  VSlider: VSlider,
18047
18110
  VSnackbar: VSnackbar,
18111
+ VSpacer: VSpacer,
18112
+ VSvgIcon: VSvgIcon,
18048
18113
  VSwitch: VSwitch,
18049
18114
  VSystemBar: VSystemBar,
18050
- VTabs: VTabs,
18051
18115
  VTab: VTab,
18052
18116
  VTable: VTable,
18053
- VTextarea: VTextarea,
18117
+ VTabs: VTabs,
18054
18118
  VTextField: VTextField,
18119
+ VTextarea: VTextarea,
18055
18120
  VThemeProvider: VThemeProvider,
18056
18121
  VTimeline: VTimeline,
18057
18122
  VTimelineItem: VTimelineItem,
18058
18123
  VToolbar: VToolbar,
18059
- VToolbarTitle: VToolbarTitle,
18060
18124
  VToolbarItems: VToolbarItems,
18125
+ VToolbarTitle: VToolbarTitle,
18061
18126
  VTooltip: VTooltip,
18062
18127
  VValidation: VValidation,
18063
18128
  VWindow: VWindow,
18064
- VWindowItem: VWindowItem,
18065
- VDialogTransition: VDialogTransition,
18066
- VFabTransition: VFabTransition,
18067
- VDialogBottomTransition: VDialogBottomTransition,
18068
- VDialogTopTransition: VDialogTopTransition,
18069
- VFadeTransition: VFadeTransition,
18070
- VScaleTransition: VScaleTransition,
18071
- VScrollXTransition: VScrollXTransition,
18072
- VScrollXReverseTransition: VScrollXReverseTransition,
18073
- VScrollYTransition: VScrollYTransition,
18074
- VScrollYReverseTransition: VScrollYReverseTransition,
18075
- VSlideXTransition: VSlideXTransition,
18076
- VSlideXReverseTransition: VSlideXReverseTransition,
18077
- VSlideYTransition: VSlideYTransition,
18078
- VSlideYReverseTransition: VSlideYReverseTransition,
18079
- VExpandTransition: VExpandTransition,
18080
- VExpandXTransition: VExpandXTransition
18129
+ VWindowItem: VWindowItem
18081
18130
  });
18082
18131
 
18083
18132
  // Types
@@ -18288,7 +18337,7 @@
18288
18337
  locale
18289
18338
  };
18290
18339
  }
18291
- const version$1 = "3.2.0-dev-20230322.0";
18340
+ const version$1 = "3.2.0-dev-20230405.0";
18292
18341
  createVuetify$1.version = version$1;
18293
18342
 
18294
18343
  // Vue's inject() can only be used in setup
@@ -18308,7 +18357,7 @@
18308
18357
  ...options
18309
18358
  });
18310
18359
  };
18311
- const version = "3.2.0-dev-20230322.0";
18360
+ const version = "3.2.0-dev-20230405.0";
18312
18361
  createVuetify.version = version;
18313
18362
 
18314
18363
  exports.components = components;
@@ -18321,7 +18370,5 @@
18321
18370
  exports.useTheme = useTheme;
18322
18371
  exports.version = version;
18323
18372
 
18324
- Object.defineProperty(exports, '__esModule', { value: true });
18325
-
18326
18373
  }));
18327
18374
  //# sourceMappingURL=vuetify.js.map