vuetify 3.1.12 → 3.1.13

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 (455) hide show
  1. package/dist/_component-variables-labs.sass +2 -1
  2. package/dist/json/attributes.json +4130 -3910
  3. package/dist/json/importMap-labs.json +8 -4
  4. package/dist/json/importMap.json +150 -150
  5. package/dist/json/tags.json +603 -543
  6. package/dist/json/web-types.json +14479 -13894
  7. package/dist/vuetify-labs.css +450 -226
  8. package/dist/vuetify-labs.d.ts +1808 -927
  9. package/dist/vuetify-labs.esm.js +653 -484
  10. package/dist/vuetify-labs.esm.js.map +1 -1
  11. package/dist/vuetify-labs.js +653 -486
  12. package/dist/vuetify-labs.min.css +2 -2
  13. package/dist/vuetify.css +164 -160
  14. package/dist/vuetify.d.ts +1345 -707
  15. package/dist/vuetify.esm.js +511 -476
  16. package/dist/vuetify.esm.js.map +1 -1
  17. package/dist/vuetify.js +511 -478
  18. package/dist/vuetify.js.map +1 -1
  19. package/dist/vuetify.min.css +2 -2
  20. package/dist/vuetify.min.js +164 -158
  21. package/dist/vuetify.min.js.map +1 -1
  22. package/lib/components/VAlert/VAlert.mjs.map +1 -1
  23. package/lib/components/VApp/VApp.mjs.map +1 -1
  24. package/lib/components/VApp/index.d.ts +2 -2
  25. package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
  26. package/lib/components/VAppBar/VAppBarNavIcon.mjs.map +1 -1
  27. package/lib/components/VAppBar/VAppBarTitle.mjs.map +1 -1
  28. package/lib/components/VAutocomplete/VAutocomplete.mjs +2 -3
  29. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  30. package/lib/components/VAutocomplete/index.d.ts +39 -39
  31. package/lib/components/VAvatar/VAvatar.mjs.map +1 -1
  32. package/lib/components/VBadge/VBadge.mjs +1 -1
  33. package/lib/components/VBadge/VBadge.mjs.map +1 -1
  34. package/lib/components/VBadge/index.d.ts +13 -13
  35. package/lib/components/VBanner/VBanner.mjs.map +1 -1
  36. package/lib/components/VBanner/VBannerActions.mjs.map +1 -1
  37. package/lib/components/VBottomNavigation/VBottomNavigation.mjs.map +1 -1
  38. package/lib/components/VBottomSheet/VBottomSheet.mjs.map +1 -1
  39. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs.map +1 -1
  40. package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.mjs.map +1 -1
  41. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs.map +1 -1
  42. package/lib/components/VBtn/VBtn.mjs.map +1 -1
  43. package/lib/components/VBtn/index.d.ts +4 -4
  44. package/lib/components/VBtnGroup/VBtnGroup.mjs.map +1 -1
  45. package/lib/components/VBtnToggle/VBtnToggle.mjs.map +1 -1
  46. package/lib/components/VCalendar/VCalendar.mjs.map +1 -1
  47. package/lib/components/VCalendar/VCalendarCategory.mjs.map +1 -1
  48. package/lib/components/VCalendar/VCalendarDaily.mjs.map +1 -1
  49. package/lib/components/VCalendar/VCalendarMonthly.mjs.map +1 -1
  50. package/lib/components/VCalendar/VCalendarWeekly.mjs.map +1 -1
  51. package/lib/components/VCalendar/mixins/calendar-base.mjs.map +1 -1
  52. package/lib/components/VCalendar/mixins/calendar-with-events.mjs.map +1 -1
  53. package/lib/components/VCalendar/mixins/calendar-with-intervals.mjs.map +1 -1
  54. package/lib/components/VCalendar/mixins/mouse.mjs.map +1 -1
  55. package/lib/components/VCalendar/mixins/times.mjs.map +1 -1
  56. package/lib/components/VCalendar/modes/column.mjs.map +1 -1
  57. package/lib/components/VCalendar/modes/common.mjs.map +1 -1
  58. package/lib/components/VCalendar/modes/stack.mjs.map +1 -1
  59. package/lib/components/VCalendar/util/events.mjs.map +1 -1
  60. package/lib/components/VCalendar/util/parser.mjs.map +1 -1
  61. package/lib/components/VCalendar/util/props.mjs.map +1 -1
  62. package/lib/components/VCalendar/util/timestamp.mjs.map +1 -1
  63. package/lib/components/VCard/VCard.mjs.map +1 -1
  64. package/lib/components/VCard/VCardActions.mjs.map +1 -1
  65. package/lib/components/VCard/VCardItem.mjs.map +1 -1
  66. package/lib/components/VCard/index.d.ts +1 -13
  67. package/lib/components/VCarousel/VCarousel.mjs +10 -10
  68. package/lib/components/VCarousel/VCarousel.mjs.map +1 -1
  69. package/lib/components/VCarousel/VCarouselItem.mjs.map +1 -1
  70. package/lib/components/VCarousel/index.d.ts +197 -19
  71. package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
  72. package/lib/components/VCheckbox/VCheckboxBtn.mjs.map +1 -1
  73. package/lib/components/VChip/VChip.mjs.map +1 -1
  74. package/lib/components/VChipGroup/VChipGroup.mjs.map +1 -1
  75. package/lib/components/VColorPicker/VColorPicker.mjs +58 -61
  76. package/lib/components/VColorPicker/VColorPicker.mjs.map +1 -1
  77. package/lib/components/VColorPicker/VColorPickerCanvas.mjs.map +1 -1
  78. package/lib/components/VColorPicker/VColorPickerEdit.mjs.map +1 -1
  79. package/lib/components/VColorPicker/VColorPickerPreview.mjs.map +1 -1
  80. package/lib/components/VColorPicker/VColorPickerSwatches.mjs.map +1 -1
  81. package/lib/components/VColorPicker/index.d.ts +113 -50
  82. package/lib/components/VColorPicker/util/index.mjs.map +1 -1
  83. package/lib/components/VCombobox/VCombobox.mjs +2 -3
  84. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  85. package/lib/components/VCombobox/index.d.ts +39 -39
  86. package/lib/components/VCounter/VCounter.mjs.map +1 -1
  87. package/lib/components/VCounter/index.d.ts +123 -24
  88. package/lib/components/VData/VData.mjs.map +1 -1
  89. package/lib/components/VDataIterator/VDataFooter.mjs.map +1 -1
  90. package/lib/components/VDataIterator/VDataIterator.mjs.map +1 -1
  91. package/lib/components/VDatePicker/VDatePicker.mjs.map +1 -1
  92. package/lib/components/VDatePicker/VDatePickerDateTable.mjs.map +1 -1
  93. package/lib/components/VDatePicker/VDatePickerHeader.mjs.map +1 -1
  94. package/lib/components/VDatePicker/VDatePickerMonthTable.mjs.map +1 -1
  95. package/lib/components/VDatePicker/VDatePickerTitle.mjs.map +1 -1
  96. package/lib/components/VDatePicker/VDatePickerYears.mjs.map +1 -1
  97. package/lib/components/VDatePicker/mixins/date-picker-table.mjs.map +1 -1
  98. package/lib/components/VDatePicker/util/createNativeLocaleFormatter.mjs.map +1 -1
  99. package/lib/components/VDatePicker/util/eventHelpers.mjs.map +1 -1
  100. package/lib/components/VDatePicker/util/isDateAllowed.mjs.map +1 -1
  101. package/lib/components/VDatePicker/util/pad.mjs.map +1 -1
  102. package/lib/components/VDefaultsProvider/VDefaultsProvider.mjs.map +1 -1
  103. package/lib/components/VDialog/VDialog.mjs.map +1 -1
  104. package/lib/components/VDialog/index.d.ts +43 -43
  105. package/lib/components/VDivider/VDivider.mjs.map +1 -1
  106. package/lib/components/VExpansionPanel/VExpansionPanel.mjs.map +1 -1
  107. package/lib/components/VExpansionPanel/VExpansionPanelText.mjs.map +1 -1
  108. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs.map +1 -1
  109. package/lib/components/VExpansionPanel/VExpansionPanels.mjs.map +1 -1
  110. package/lib/components/VField/VField.mjs.map +1 -1
  111. package/lib/components/VField/VFieldLabel.mjs.map +1 -1
  112. package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
  113. package/lib/components/VFileInput/index.d.ts +9 -9
  114. package/lib/components/VFooter/VFooter.mjs.map +1 -1
  115. package/lib/components/VForm/VForm.mjs.map +1 -1
  116. package/lib/components/VGrid/VCol.mjs.map +1 -1
  117. package/lib/components/VGrid/VContainer.mjs.map +1 -1
  118. package/lib/components/VGrid/VRow.mjs.map +1 -1
  119. package/lib/components/VHover/VHover.mjs.map +1 -1
  120. package/lib/components/VIcon/VIcon.mjs.map +1 -1
  121. package/lib/components/VImg/VImg.mjs.map +1 -1
  122. package/lib/components/VImg/index.d.ts +9 -9
  123. package/lib/components/VInput/InputIcon.mjs.map +1 -1
  124. package/lib/components/VInput/VInput.mjs.map +1 -1
  125. package/lib/components/VItemGroup/VItem.mjs.map +1 -1
  126. package/lib/components/VItemGroup/VItemGroup.mjs.map +1 -1
  127. package/lib/components/VLabel/VLabel.mjs.map +1 -1
  128. package/lib/components/VLayout/VLayout.mjs.map +1 -1
  129. package/lib/components/VLayout/VLayoutItem.mjs.map +1 -1
  130. package/lib/components/VLayout/index.d.ts +2 -2
  131. package/lib/components/VLazy/VLazy.mjs.map +1 -1
  132. package/lib/components/VLazy/index.d.ts +13 -13
  133. package/lib/components/VList/VList.mjs.map +1 -1
  134. package/lib/components/VList/VListChildren.mjs.map +1 -1
  135. package/lib/components/VList/VListGroup.mjs +24 -13
  136. package/lib/components/VList/VListGroup.mjs.map +1 -1
  137. package/lib/components/VList/VListItem.mjs.map +1 -1
  138. package/lib/components/VList/VListItemAction.mjs.map +1 -1
  139. package/lib/components/VList/VListItemMedia.mjs.map +1 -1
  140. package/lib/components/VList/VListSubheader.mjs.map +1 -1
  141. package/lib/components/VList/list.mjs.map +1 -1
  142. package/lib/components/VLocaleProvider/VLocaleProvider.mjs.map +1 -1
  143. package/lib/components/VMain/VMain.mjs.map +1 -1
  144. package/lib/components/VMenu/VMenu.mjs.map +1 -1
  145. package/lib/components/VMenu/index.d.ts +43 -43
  146. package/lib/components/VMessages/VMessages.mjs.map +1 -1
  147. package/lib/components/VMessages/index.d.ts +123 -24
  148. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +8 -2
  149. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
  150. package/lib/components/VNavigationDrawer/sticky.mjs.map +1 -1
  151. package/lib/components/VNavigationDrawer/touch.mjs.map +1 -1
  152. package/lib/components/VNoSsr/VNoSsr.mjs.map +1 -1
  153. package/lib/components/VNoSsr/index.d.ts +1 -13
  154. package/lib/components/VOtpInput/VOtpInput.mjs.map +1 -1
  155. package/lib/components/VOverflowBtn/VOverflowBtn.mjs.map +1 -1
  156. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  157. package/lib/components/VOverlay/index.d.ts +15 -15
  158. package/lib/components/VOverlay/locationStrategies.mjs.map +1 -1
  159. package/lib/components/VOverlay/requestNewFrame.mjs.map +1 -1
  160. package/lib/components/VOverlay/scrollStrategies.mjs.map +1 -1
  161. package/lib/components/VOverlay/useActivator.mjs.map +1 -1
  162. package/lib/components/VOverlay/util/point.mjs.map +1 -1
  163. package/lib/components/VPagination/VPagination.mjs +2 -2
  164. package/lib/components/VPagination/VPagination.mjs.map +1 -1
  165. package/lib/components/VParallax/VParallax.mjs.map +1 -1
  166. package/lib/components/VPicker/VPicker.mjs.map +1 -1
  167. package/lib/components/VProgressCircular/VProgressCircular.mjs.map +1 -1
  168. package/lib/components/VProgressLinear/VProgressLinear.css +1 -1
  169. package/lib/components/VProgressLinear/VProgressLinear.mjs.map +1 -1
  170. package/lib/components/VRadio/VRadio.mjs.map +1 -1
  171. package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
  172. package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
  173. package/lib/components/VRating/VRating.mjs.map +1 -1
  174. package/lib/components/VRating/index.d.ts +2 -2
  175. package/lib/components/VResponsive/VResponsive.mjs.map +1 -1
  176. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  177. package/lib/components/VSelect/index.d.ts +39 -39
  178. package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
  179. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs.map +1 -1
  180. package/lib/components/VSheet/VSheet.mjs.map +1 -1
  181. package/lib/components/VSlideGroup/VSlideGroup.mjs +29 -28
  182. package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
  183. package/lib/components/VSlideGroup/VSlideGroupItem.mjs.map +1 -1
  184. package/lib/components/VSlideGroup/helpers.mjs.map +1 -1
  185. package/lib/components/VSlideGroup/index.d.ts +17 -17
  186. package/lib/components/VSlider/VSlider.mjs +1 -1
  187. package/lib/components/VSlider/VSlider.mjs.map +1 -1
  188. package/lib/components/VSlider/VSliderThumb.mjs.map +1 -1
  189. package/lib/components/VSlider/VSliderTrack.mjs.map +1 -1
  190. package/lib/components/VSlider/slider.mjs +1 -1
  191. package/lib/components/VSlider/slider.mjs.map +1 -1
  192. package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
  193. package/lib/components/VSnackbar/index.d.ts +43 -43
  194. package/lib/components/VSparkline/VSparkline.mjs.map +1 -1
  195. package/lib/components/VSparkline/helpers/core.mjs.map +1 -1
  196. package/lib/components/VSparkline/helpers/math.mjs.map +1 -1
  197. package/lib/components/VSparkline/helpers/path.mjs.map +1 -1
  198. package/lib/components/VSpeedDial/VSpeedDial.mjs.map +1 -1
  199. package/lib/components/VStepper/VStepper.mjs.map +1 -1
  200. package/lib/components/VStepper/VStepperContent.mjs.map +1 -1
  201. package/lib/components/VStepper/VStepperStep.mjs.map +1 -1
  202. package/lib/components/VSwitch/VSwitch.css +4 -0
  203. package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
  204. package/lib/components/VSwitch/VSwitch.sass +4 -0
  205. package/lib/components/VSystemBar/VSystemBar.mjs.map +1 -1
  206. package/lib/components/VTable/VTable.css +1 -1
  207. package/lib/components/VTable/VTable.mjs.map +1 -1
  208. package/lib/components/VTable/VTable.sass +1 -1
  209. package/lib/components/VTabs/VTab.mjs.map +1 -1
  210. package/lib/components/VTabs/VTabs.mjs +25 -30
  211. package/lib/components/VTabs/VTabs.mjs.map +1 -1
  212. package/lib/components/VTabs/index.d.ts +165 -28
  213. package/lib/components/VTextField/VTextField.mjs +1 -4
  214. package/lib/components/VTextField/VTextField.mjs.map +1 -1
  215. package/lib/components/VTextarea/VTextarea.mjs +1 -1
  216. package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
  217. package/lib/components/VThemeProvider/VThemeProvider.mjs.map +1 -1
  218. package/lib/components/VTimePicker/SelectingTimes.mjs +3 -3
  219. package/lib/components/VTimePicker/SelectingTimes.mjs.map +1 -1
  220. package/lib/components/VTimePicker/VTimePicker.mjs.map +1 -1
  221. package/lib/components/VTimePicker/VTimePickerClock.mjs.map +1 -1
  222. package/lib/components/VTimePicker/VTimePickerTitle.mjs.map +1 -1
  223. package/lib/components/VTimeline/VTimeline.mjs.map +1 -1
  224. package/lib/components/VTimeline/VTimelineDivider.mjs.map +1 -1
  225. package/lib/components/VTimeline/VTimelineItem.mjs.map +1 -1
  226. package/lib/components/VTimeline/index.d.ts +8 -8
  227. package/lib/components/VToolbar/VToolbar.mjs.map +1 -1
  228. package/lib/components/VToolbar/VToolbarItems.mjs.map +1 -1
  229. package/lib/components/VToolbar/VToolbarTitle.mjs.map +1 -1
  230. package/lib/components/VTooltip/VTooltip.mjs.map +1 -1
  231. package/lib/components/VTooltip/index.d.ts +43 -43
  232. package/lib/components/VTreeview/VTreeview.mjs.map +1 -1
  233. package/lib/components/VTreeview/VTreeviewNode.mjs.map +1 -1
  234. package/lib/components/VTreeview/util/filterTreeItems.mjs.map +1 -1
  235. package/lib/components/VValidation/VValidation.mjs.map +1 -1
  236. package/lib/components/VWindow/VWindow.mjs +38 -37
  237. package/lib/components/VWindow/VWindow.mjs.map +1 -1
  238. package/lib/components/VWindow/VWindowItem.mjs +2 -1
  239. package/lib/components/VWindow/VWindowItem.mjs.map +1 -1
  240. package/lib/components/index.d.ts +1229 -591
  241. package/lib/components/transitions/createTransition.mjs +59 -50
  242. package/lib/components/transitions/createTransition.mjs.map +1 -1
  243. package/lib/components/transitions/dialog-transition.mjs.map +1 -1
  244. package/lib/components/transitions/expand-transition.mjs.map +1 -1
  245. package/lib/components/transitions/index.d.ts +150 -15
  246. package/lib/composables/border.mjs.map +1 -1
  247. package/lib/composables/color.mjs.map +1 -1
  248. package/lib/composables/defaults.mjs +1 -1
  249. package/lib/composables/defaults.mjs.map +1 -1
  250. package/lib/composables/delay.mjs.map +1 -1
  251. package/lib/composables/density.mjs.map +1 -1
  252. package/lib/composables/dimensions.mjs.map +1 -1
  253. package/lib/composables/display.mjs.map +1 -1
  254. package/lib/composables/elevation.mjs.map +1 -1
  255. package/lib/composables/filter.mjs.map +1 -1
  256. package/lib/composables/focus.mjs.map +1 -1
  257. package/lib/composables/form.mjs.map +1 -1
  258. package/lib/composables/forwardRefs.mjs +17 -0
  259. package/lib/composables/forwardRefs.mjs.map +1 -1
  260. package/lib/composables/group.mjs.map +1 -1
  261. package/lib/composables/hydration.mjs.map +1 -1
  262. package/lib/composables/icons.mjs.map +1 -1
  263. package/lib/composables/intersectionObserver.mjs.map +1 -1
  264. package/lib/composables/items.mjs.map +1 -1
  265. package/lib/composables/layout.mjs.map +1 -1
  266. package/lib/composables/lazy.mjs.map +1 -1
  267. package/lib/composables/loader.mjs.map +1 -1
  268. package/lib/composables/locale.mjs.map +1 -1
  269. package/lib/composables/location.mjs.map +1 -1
  270. package/lib/composables/mutationObserver.mjs.map +1 -1
  271. package/lib/composables/nested/nested.mjs.map +1 -1
  272. package/lib/composables/nested/openStrategies.mjs.map +1 -1
  273. package/lib/composables/nested/selectStrategies.mjs.map +1 -1
  274. package/lib/composables/position.mjs.map +1 -1
  275. package/lib/composables/proxiedModel.mjs.map +1 -1
  276. package/lib/composables/refs.mjs.map +1 -1
  277. package/lib/composables/resizeObserver.mjs.map +1 -1
  278. package/lib/composables/rounded.mjs.map +1 -1
  279. package/lib/composables/router.mjs.map +1 -1
  280. package/lib/composables/scopeId.mjs.map +1 -1
  281. package/lib/composables/scroll.mjs.map +1 -1
  282. package/lib/composables/selectLink.mjs.map +1 -1
  283. package/lib/composables/size.mjs.map +1 -1
  284. package/lib/composables/ssrBoot.mjs.map +1 -1
  285. package/lib/composables/stack.mjs.map +1 -1
  286. package/lib/composables/teleport.mjs.map +1 -1
  287. package/lib/composables/theme.mjs.map +1 -1
  288. package/lib/composables/toggleScope.mjs.map +1 -1
  289. package/lib/composables/touch.mjs.map +1 -1
  290. package/lib/composables/transition.mjs.map +1 -1
  291. package/lib/composables/validation.mjs +1 -1
  292. package/lib/composables/validation.mjs.map +1 -1
  293. package/lib/composables/variant.mjs.map +1 -1
  294. package/lib/directives/click-outside/index.mjs.map +1 -1
  295. package/lib/directives/color/index.mjs.map +1 -1
  296. package/lib/directives/intersect/index.mjs.map +1 -1
  297. package/lib/directives/mutate/index.mjs.map +1 -1
  298. package/lib/directives/resize/index.mjs.map +1 -1
  299. package/lib/directives/ripple/index.mjs.map +1 -1
  300. package/lib/directives/scroll/index.mjs.map +1 -1
  301. package/lib/directives/touch/index.mjs.map +1 -1
  302. package/lib/entry-bundler.mjs +1 -1
  303. package/lib/entry-bundler.mjs.map +1 -1
  304. package/lib/framework.mjs +1 -1
  305. package/lib/framework.mjs.map +1 -1
  306. package/lib/index.d.ts +38 -38
  307. package/lib/labs/VDataTable/VDataTable.mjs +3 -1
  308. package/lib/labs/VDataTable/VDataTable.mjs.map +1 -1
  309. package/lib/labs/VDataTable/VDataTableColumn.mjs.map +1 -1
  310. package/lib/labs/VDataTable/VDataTableFooter.mjs.map +1 -1
  311. package/lib/labs/VDataTable/VDataTableGroupHeaderRow.mjs.map +1 -1
  312. package/lib/labs/VDataTable/VDataTableHeaders.mjs.map +1 -1
  313. package/lib/labs/VDataTable/VDataTableRow.mjs.map +1 -1
  314. package/lib/labs/VDataTable/VDataTableRows.mjs.map +1 -1
  315. package/lib/labs/VDataTable/VDataTableServer.mjs.map +1 -1
  316. package/lib/labs/VDataTable/VDataTableVirtual.mjs.map +1 -1
  317. package/lib/labs/VDataTable/composables/expand.mjs.map +1 -1
  318. package/lib/labs/VDataTable/composables/group.mjs.map +1 -1
  319. package/lib/labs/VDataTable/composables/headers.mjs.map +1 -1
  320. package/lib/labs/VDataTable/composables/items.mjs.map +1 -1
  321. package/lib/labs/VDataTable/composables/options.mjs.map +1 -1
  322. package/lib/labs/VDataTable/composables/paginate.mjs.map +1 -1
  323. package/lib/labs/VDataTable/composables/select.mjs.map +1 -1
  324. package/lib/labs/VDataTable/composables/sort.mjs.map +1 -1
  325. package/lib/labs/VDataTable/composables/virtual.mjs.map +1 -1
  326. package/lib/labs/VDataTable/index.d.ts +271 -244
  327. package/lib/labs/VSkeletonLoader/VSkeletonLoader.css +221 -0
  328. package/lib/labs/VSkeletonLoader/VSkeletonLoader.mjs +141 -0
  329. package/lib/labs/VSkeletonLoader/VSkeletonLoader.mjs.map +1 -0
  330. package/lib/labs/VSkeletonLoader/VSkeletonLoader.sass +225 -0
  331. package/lib/labs/VSkeletonLoader/_variables.scss +44 -0
  332. package/lib/labs/VSkeletonLoader/index.d.ts +222 -0
  333. package/lib/labs/VSkeletonLoader/index.mjs +2 -0
  334. package/lib/labs/VSkeletonLoader/index.mjs.map +1 -0
  335. package/lib/labs/VVirtualScroll/VVirtualScroll.mjs.map +1 -1
  336. package/lib/labs/VVirtualScroll/VVirtualScrollItem.mjs.map +1 -1
  337. package/lib/labs/components.d.ts +486 -245
  338. package/lib/labs/components.mjs +1 -0
  339. package/lib/labs/components.mjs.map +1 -1
  340. package/lib/labs/entry-bundler.mjs.map +1 -1
  341. package/lib/locale/adapters/vue-i18n.mjs.map +1 -1
  342. package/lib/locale/adapters/vuetify.mjs.map +1 -1
  343. package/lib/locale/af.mjs +2 -1
  344. package/lib/locale/af.mjs.map +1 -1
  345. package/lib/locale/ar.mjs +2 -1
  346. package/lib/locale/ar.mjs.map +1 -1
  347. package/lib/locale/az.mjs +2 -1
  348. package/lib/locale/az.mjs.map +1 -1
  349. package/lib/locale/bg.mjs +2 -1
  350. package/lib/locale/bg.mjs.map +1 -1
  351. package/lib/locale/ca.mjs +2 -1
  352. package/lib/locale/ca.mjs.map +1 -1
  353. package/lib/locale/ckb.mjs +2 -1
  354. package/lib/locale/ckb.mjs.map +1 -1
  355. package/lib/locale/cs.mjs +2 -1
  356. package/lib/locale/cs.mjs.map +1 -1
  357. package/lib/locale/da.mjs +2 -1
  358. package/lib/locale/da.mjs.map +1 -1
  359. package/lib/locale/de.mjs +2 -1
  360. package/lib/locale/de.mjs.map +1 -1
  361. package/lib/locale/el.mjs +2 -1
  362. package/lib/locale/el.mjs.map +1 -1
  363. package/lib/locale/en.mjs +2 -1
  364. package/lib/locale/en.mjs.map +1 -1
  365. package/lib/locale/es.mjs +2 -1
  366. package/lib/locale/es.mjs.map +1 -1
  367. package/lib/locale/et.mjs +2 -1
  368. package/lib/locale/et.mjs.map +1 -1
  369. package/lib/locale/fa.mjs +2 -1
  370. package/lib/locale/fa.mjs.map +1 -1
  371. package/lib/locale/fi.mjs +2 -1
  372. package/lib/locale/fi.mjs.map +1 -1
  373. package/lib/locale/fr.mjs +2 -1
  374. package/lib/locale/fr.mjs.map +1 -1
  375. package/lib/locale/he.mjs +2 -1
  376. package/lib/locale/he.mjs.map +1 -1
  377. package/lib/locale/hr.mjs +2 -1
  378. package/lib/locale/hr.mjs.map +1 -1
  379. package/lib/locale/hu.mjs +2 -1
  380. package/lib/locale/hu.mjs.map +1 -1
  381. package/lib/locale/id.mjs +2 -1
  382. package/lib/locale/id.mjs.map +1 -1
  383. package/lib/locale/index.d.ts +42 -0
  384. package/lib/locale/it.mjs +2 -1
  385. package/lib/locale/it.mjs.map +1 -1
  386. package/lib/locale/ja.mjs +2 -1
  387. package/lib/locale/ja.mjs.map +1 -1
  388. package/lib/locale/ko.mjs +2 -1
  389. package/lib/locale/ko.mjs.map +1 -1
  390. package/lib/locale/lt.mjs +2 -1
  391. package/lib/locale/lt.mjs.map +1 -1
  392. package/lib/locale/lv.mjs +2 -1
  393. package/lib/locale/lv.mjs.map +1 -1
  394. package/lib/locale/nl.mjs +2 -1
  395. package/lib/locale/nl.mjs.map +1 -1
  396. package/lib/locale/no.mjs +2 -1
  397. package/lib/locale/no.mjs.map +1 -1
  398. package/lib/locale/pl.mjs +2 -1
  399. package/lib/locale/pl.mjs.map +1 -1
  400. package/lib/locale/pt.mjs +2 -1
  401. package/lib/locale/pt.mjs.map +1 -1
  402. package/lib/locale/ro.mjs +2 -1
  403. package/lib/locale/ro.mjs.map +1 -1
  404. package/lib/locale/ru.mjs +2 -1
  405. package/lib/locale/ru.mjs.map +1 -1
  406. package/lib/locale/sk.mjs +2 -1
  407. package/lib/locale/sk.mjs.map +1 -1
  408. package/lib/locale/sl.mjs +2 -1
  409. package/lib/locale/sl.mjs.map +1 -1
  410. package/lib/locale/sr-Cyrl.mjs +2 -1
  411. package/lib/locale/sr-Cyrl.mjs.map +1 -1
  412. package/lib/locale/sr-Latn.mjs +2 -1
  413. package/lib/locale/sr-Latn.mjs.map +1 -1
  414. package/lib/locale/sv.mjs +2 -1
  415. package/lib/locale/sv.mjs.map +1 -1
  416. package/lib/locale/th.mjs +2 -1
  417. package/lib/locale/th.mjs.map +1 -1
  418. package/lib/locale/tr.mjs +2 -1
  419. package/lib/locale/tr.mjs.map +1 -1
  420. package/lib/locale/uk.mjs +2 -1
  421. package/lib/locale/uk.mjs.map +1 -1
  422. package/lib/locale/vi.mjs +2 -1
  423. package/lib/locale/vi.mjs.map +1 -1
  424. package/lib/locale/zh-Hans.mjs +2 -1
  425. package/lib/locale/zh-Hans.mjs.map +1 -1
  426. package/lib/locale/zh-Hant.mjs +2 -1
  427. package/lib/locale/zh-Hant.mjs.map +1 -1
  428. package/lib/services/goto/index.mjs.map +1 -1
  429. package/lib/services/goto/util.mjs.map +1 -1
  430. package/lib/util/anchor.mjs.map +1 -1
  431. package/lib/util/animation.mjs.map +1 -1
  432. package/lib/util/box.mjs.map +1 -1
  433. package/lib/util/color/APCA.mjs.map +1 -1
  434. package/lib/util/color/transformCIELAB.mjs.map +1 -1
  435. package/lib/util/color/transformSRGB.mjs.map +1 -1
  436. package/lib/util/colorUtils.mjs.map +1 -1
  437. package/lib/util/console.mjs.map +1 -1
  438. package/lib/util/createSimpleFunctional.mjs.map +1 -1
  439. package/lib/util/dateTimeUtils.mjs.map +1 -1
  440. package/lib/util/defineComponent.mjs.map +1 -1
  441. package/lib/util/dom.mjs.map +1 -1
  442. package/lib/util/getCurrentInstance.mjs.map +1 -1
  443. package/lib/util/getScrollParent.mjs.map +1 -1
  444. package/lib/util/helpers.mjs.map +1 -1
  445. package/lib/util/injectSelf.mjs.map +1 -1
  446. package/lib/util/isFixedPosition.mjs.map +1 -1
  447. package/lib/util/propsFactory.mjs.map +1 -1
  448. package/lib/util/useRender.mjs.map +1 -1
  449. package/package.json +25 -25
  450. package/lib/components/VSkeletonLoader/VSkeletonLoader.mjs +0 -179
  451. package/lib/components/VSkeletonLoader/VSkeletonLoader.mjs.map +0 -1
  452. package/lib/components/VSkeletonLoader/VSkeletonLoader.sass +0 -377
  453. package/lib/components/VSkeletonLoader/_variables.scss +0 -54
  454. package/lib/components/VSkeletonLoader/index.mjs +0 -4
  455. package/lib/components/VSkeletonLoader/index.mjs.map +0 -1
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.1.12
2
+ * Vuetify v3.1.13
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -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
  }
@@ -5837,7 +5847,7 @@
5837
5847
  const results = [];
5838
5848
  isValidating.value = true;
5839
5849
  for (const rule of props.rules) {
5840
- if (results.length >= (props.maxErrors ?? 1)) {
5850
+ if (results.length >= +(props.maxErrors ?? 1)) {
5841
5851
  break;
5842
5852
  }
5843
5853
  const handler = typeof rule === 'function' ? rule : () => rule;
@@ -6042,6 +6052,9 @@
6042
6052
  if (Reflect.has(target, key)) {
6043
6053
  return Reflect.get(target, key);
6044
6054
  }
6055
+
6056
+ // Skip internal properties
6057
+ if (typeof key === 'symbol' || key.startsWith('__')) return;
6045
6058
  for (const ref of refs) {
6046
6059
  if (ref.value && Reflect.has(ref.value, key)) {
6047
6060
  const val = Reflect.get(ref.value, key);
@@ -6049,6 +6062,20 @@
6049
6062
  }
6050
6063
  }
6051
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
+ },
6052
6079
  getOwnPropertyDescriptor(target, key) {
6053
6080
  const descriptor = Reflect.getOwnPropertyDescriptor(target, key);
6054
6081
  if (descriptor) return descriptor;
@@ -6238,9 +6265,6 @@
6238
6265
  ...slotProps
6239
6266
  }
6240
6267
  } = _ref3;
6241
- const placeholder = vue.computed(() => {
6242
- return (props.persistentPlaceholder || isFocused.value) && !isDirty.value ? props.placeholder : '';
6243
- });
6244
6268
  const inputNode = vue.withDirectives(vue.createVNode("input", vue.mergeProps({
6245
6269
  "ref": inputRef,
6246
6270
  "value": model.value,
@@ -6249,7 +6273,7 @@
6249
6273
  "readonly": isReadonly.value,
6250
6274
  "disabled": isDisabled.value,
6251
6275
  "name": props.name,
6252
- "placeholder": placeholder.value,
6276
+ "placeholder": props.placeholder,
6253
6277
  "size": 1,
6254
6278
  "type": props.type,
6255
6279
  "onFocus": onFocus,
@@ -7565,6 +7589,9 @@
7565
7589
  } = useNestedItem(vue.toRef(props, 'value'), true);
7566
7590
  const id = vue.computed(() => `v-list-group--id-${String(_id.value)}`);
7567
7591
  const list = useList();
7592
+ const {
7593
+ isBooted
7594
+ } = useSsrBoot();
7568
7595
  function onClick(e) {
7569
7596
  open(!isOpen.value, e);
7570
7597
  }
@@ -7574,6 +7601,17 @@
7574
7601
  id: id.value
7575
7602
  }));
7576
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
+ }));
7577
7615
  useRender(() => vue.createVNode(props.tag, {
7578
7616
  "class": ['v-list-group', {
7579
7617
  'v-list-group--prepend': list?.hasPrepend.value,
@@ -7583,17 +7621,7 @@
7583
7621
  }]
7584
7622
  }, {
7585
7623
  default: () => [slots.activator && vue.createVNode(VDefaultsProvider, {
7586
- "defaults": {
7587
- VListItem: {
7588
- active: isOpen.value,
7589
- activeColor: props.activeColor,
7590
- color: props.color,
7591
- prependIcon: props.prependIcon || props.subgroup && toggleIcon.value,
7592
- appendIcon: props.appendIcon || !props.subgroup && toggleIcon.value,
7593
- title: props.title,
7594
- value: props.value
7595
- }
7596
- }
7624
+ "defaults": activatorDefaults.value
7597
7625
  }, {
7598
7626
  default: () => [vue.createVNode(VListGroupActivator, null, {
7599
7627
  default: () => [slots.activator({
@@ -7601,7 +7629,12 @@
7601
7629
  isOpen: isOpen.value
7602
7630
  })]
7603
7631
  })]
7604
- }), vue.createVNode(VExpandTransition, null, {
7632
+ }), vue.createVNode(MaybeTransition, {
7633
+ "transition": {
7634
+ component: VExpandTransition
7635
+ },
7636
+ "disabled": !isBooted.value
7637
+ }, {
7605
7638
  default: () => [vue.withDirectives(vue.createVNode("div", {
7606
7639
  "class": "v-list-group__items",
7607
7640
  "role": "group",
@@ -10406,14 +10439,13 @@
10406
10439
  }, {
10407
10440
  default: () => [!displayItems.value.length && !props.hideNoData && (slots['no-data']?.() ?? vue.createVNode(VListItem, {
10408
10441
  "title": t(props.noDataText)
10409
- }, null)), slots['prepend-item']?.(), displayItems.value.map((item, index) => slots.item?.({
10442
+ }, null)), slots['prepend-item']?.(), displayItems.value.map(item => slots.item?.({
10410
10443
  item,
10411
- index,
10412
10444
  props: vue.mergeProps(item.props, {
10413
10445
  onClick: () => select(item)
10414
10446
  })
10415
10447
  }) ?? vue.createVNode(VListItem, vue.mergeProps({
10416
- "key": index
10448
+ "key": item.value
10417
10449
  }, item.props, {
10418
10450
  "onClick": () => select(item)
10419
10451
  }), {
@@ -10548,7 +10580,7 @@
10548
10580
  });
10549
10581
  useRender(() => {
10550
10582
  const value = Number(props.content);
10551
- 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}+`;
10552
10584
  const [badgeAttrs, attrs] = pick(ctx.attrs, ['aria-atomic', 'aria-label', 'aria-live', 'role', 'title']);
10553
10585
  return vue.createVNode(props.tag, vue.mergeProps({
10554
10586
  "class": ['v-badge', {
@@ -11345,47 +11377,48 @@
11345
11377
 
11346
11378
  const VWindowSymbol = Symbol.for('vuetify:v-window');
11347
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');
11348
11416
  const VWindow = genericComponent()({
11349
11417
  name: 'VWindow',
11350
11418
  directives: {
11351
11419
  Touch
11352
11420
  },
11353
- props: {
11354
- continuous: Boolean,
11355
- nextIcon: {
11356
- type: [Boolean, String, Function, Object],
11357
- default: '$next'
11358
- },
11359
- prevIcon: {
11360
- type: [Boolean, String, Function, Object],
11361
- default: '$prev'
11362
- },
11363
- reverse: Boolean,
11364
- showArrows: {
11365
- type: [Boolean, String],
11366
- validator: v => typeof v === 'boolean' || v === 'hover'
11367
- },
11368
- touch: {
11369
- type: [Object, Boolean],
11370
- default: undefined
11371
- },
11372
- direction: {
11373
- type: String,
11374
- default: 'horizontal'
11375
- },
11376
- modelValue: null,
11377
- disabled: Boolean,
11378
- selectedClass: {
11379
- type: String,
11380
- default: 'v-window-item--active'
11381
- },
11382
- // TODO: mandatory should probably not be exposed but do this for now
11383
- mandatory: {
11384
- default: 'force'
11385
- },
11386
- ...makeTagProps(),
11387
- ...makeThemeProps()
11388
- },
11421
+ props: makeVWindowProps(),
11389
11422
  emits: {
11390
11423
  'update:modelValue': v => true
11391
11424
  },
@@ -11513,112 +11546,6 @@
11513
11546
  }
11514
11547
  });
11515
11548
 
11516
- const VWindowItem = genericComponent()({
11517
- name: 'VWindowItem',
11518
- directives: {
11519
- Touch
11520
- },
11521
- props: {
11522
- reverseTransition: {
11523
- type: [Boolean, String],
11524
- default: undefined
11525
- },
11526
- transition: {
11527
- type: [Boolean, String],
11528
- default: undefined
11529
- },
11530
- ...makeGroupItemProps(),
11531
- ...makeLazyProps()
11532
- },
11533
- emits: {
11534
- 'group:selected': val => true
11535
- },
11536
- setup(props, _ref) {
11537
- let {
11538
- slots
11539
- } = _ref;
11540
- const window = vue.inject(VWindowSymbol);
11541
- const groupItem = useGroupItem(props, VWindowGroupSymbol);
11542
- const {
11543
- isBooted
11544
- } = useSsrBoot();
11545
- if (!window || !groupItem) throw new Error('[Vuetify] VWindowItem must be used inside VWindow');
11546
- const isTransitioning = vue.ref(false);
11547
- const hasTransition = vue.computed(() => window.isReversed.value ? props.reverseTransition !== false : props.transition !== false);
11548
- function onAfterTransition() {
11549
- if (!isTransitioning.value || !window) {
11550
- return;
11551
- }
11552
-
11553
- // Finalize transition state.
11554
- isTransitioning.value = false;
11555
- if (window.transitionCount.value > 0) {
11556
- window.transitionCount.value -= 1;
11557
-
11558
- // Remove container height if we are out of transition.
11559
- if (window.transitionCount.value === 0) {
11560
- window.transitionHeight.value = undefined;
11561
- }
11562
- }
11563
- }
11564
- function onBeforeTransition() {
11565
- if (isTransitioning.value || !window) {
11566
- return;
11567
- }
11568
-
11569
- // Initialize transition state here.
11570
- isTransitioning.value = true;
11571
- if (window.transitionCount.value === 0) {
11572
- // Set initial height for height transition.
11573
- window.transitionHeight.value = convertToUnit(window.rootRef.value?.clientHeight);
11574
- }
11575
- window.transitionCount.value += 1;
11576
- }
11577
- function onTransitionCancelled() {
11578
- onAfterTransition(); // This should have the same path as normal transition end.
11579
- }
11580
-
11581
- function onEnterTransition(el) {
11582
- if (!isTransitioning.value) {
11583
- return;
11584
- }
11585
- vue.nextTick(() => {
11586
- // Do not set height if no transition or cancelled.
11587
- if (!hasTransition.value || !isTransitioning.value || !window) {
11588
- return;
11589
- }
11590
-
11591
- // Set transition target height.
11592
- window.transitionHeight.value = convertToUnit(el.clientHeight);
11593
- });
11594
- }
11595
- const transition = vue.computed(() => {
11596
- const name = window.isReversed.value ? props.reverseTransition : props.transition;
11597
- return !hasTransition.value ? false : {
11598
- name: typeof name !== 'string' ? window.transition.value : name,
11599
- onBeforeEnter: onBeforeTransition,
11600
- onAfterEnter: onAfterTransition,
11601
- onEnterCancelled: onTransitionCancelled,
11602
- onBeforeLeave: onBeforeTransition,
11603
- onAfterLeave: onAfterTransition,
11604
- onLeaveCancelled: onTransitionCancelled,
11605
- onEnter: onEnterTransition
11606
- };
11607
- });
11608
- const {
11609
- hasContent
11610
- } = useLazy(props, groupItem.isSelected);
11611
- useRender(() => vue.createVNode(MaybeTransition, {
11612
- "transition": isBooted.value && transition.value
11613
- }, {
11614
- default: () => [vue.withDirectives(vue.createVNode("div", {
11615
- "class": ['v-window-item', groupItem.selectedClass.value]
11616
- }, [hasContent.value && slots.default?.()]), [[vue.vShow, groupItem.isSelected.value]])]
11617
- }));
11618
- return {};
11619
- }
11620
- });
11621
-
11622
11549
  // Types
11623
11550
 
11624
11551
  const VCarousel = genericComponent()({
@@ -11639,16 +11566,15 @@
11639
11566
  interval: {
11640
11567
  type: [Number, String],
11641
11568
  default: 6000,
11642
- validator: value => value > 0
11569
+ validator: value => Number(value) > 0
11643
11570
  },
11644
- modelValue: null,
11645
11571
  progress: [Boolean, String],
11646
- showArrows: {
11647
- type: [Boolean, String],
11648
- default: true,
11649
- validator: v => typeof v === 'boolean' || v === 'hover'
11650
- },
11651
- verticalDelimiters: [Boolean, String]
11572
+ verticalDelimiters: [Boolean, String],
11573
+ ...makeVWindowProps({
11574
+ continuous: true,
11575
+ mandatory: 'force',
11576
+ showArrows: true
11577
+ })
11652
11578
  },
11653
11579
  emits: {
11654
11580
  'update:modelValue': val => true
@@ -11716,6 +11642,7 @@
11716
11642
  }, {
11717
11643
  default: () => [group.items.value.map((item, index) => {
11718
11644
  const props = {
11645
+ id: `carousel-item-${item.id}`,
11719
11646
  'aria-label': t('$vuetify.carousel.ariaLabel.delimiter', index + 1, group.items.value.length),
11720
11647
  class: [group.isSelected(item.id) && 'v-btn--active'],
11721
11648
  onClick: () => group.select(item.id, true)
@@ -11738,59 +11665,219 @@
11738
11665
  }
11739
11666
  });
11740
11667
 
11741
- // Types
11742
-
11743
- const VCarouselItem = genericComponent()({
11744
- name: 'VCarouselItem',
11745
- inheritAttrs: false,
11746
- props: {
11747
- value: null
11668
+ const VWindowItem = genericComponent()({
11669
+ name: 'VWindowItem',
11670
+ directives: {
11671
+ Touch
11748
11672
  },
11749
- setup(props, _ref) {
11750
- let {
11751
- slots,
11752
- attrs
11753
- } = _ref;
11754
- useRender(() => vue.createVNode(VWindowItem, {
11755
- "class": "v-carousel-item",
11756
- "value": props.value
11757
- }, {
11758
- default: () => [vue.createVNode(VImg, attrs, slots)]
11759
- }));
11760
- }
11761
- });
11762
-
11763
- const VCode = createSimpleFunctional('v-code');
11764
-
11765
- // Types
11766
-
11767
- const VColorPickerCanvas = defineComponent({
11768
- name: 'VColorPickerCanvas',
11769
11673
  props: {
11770
- color: {
11771
- type: Object
11772
- },
11773
- disabled: Boolean,
11774
- dotSize: {
11775
- type: [Number, String],
11776
- default: 10
11674
+ reverseTransition: {
11675
+ type: [Boolean, String],
11676
+ default: undefined
11777
11677
  },
11778
- height: {
11779
- type: [Number, String],
11780
- default: 150
11678
+ transition: {
11679
+ type: [Boolean, String],
11680
+ default: undefined
11781
11681
  },
11782
- width: {
11783
- type: [Number, String],
11784
- default: 300
11785
- }
11682
+ ...makeGroupItemProps(),
11683
+ ...makeLazyProps()
11786
11684
  },
11787
11685
  emits: {
11788
- 'update:color': color => true,
11789
- 'update:position': hue => true
11686
+ 'group:selected': val => true
11790
11687
  },
11791
11688
  setup(props, _ref) {
11792
11689
  let {
11793
- emit
11690
+ slots
11691
+ } = _ref;
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
11853
+
11854
+ const VColorPickerCanvas = defineComponent({
11855
+ name: 'VColorPickerCanvas',
11856
+ props: {
11857
+ color: {
11858
+ type: Object
11859
+ },
11860
+ disabled: Boolean,
11861
+ dotSize: {
11862
+ type: [Number, String],
11863
+ default: 10
11864
+ },
11865
+ height: {
11866
+ type: [Number, String],
11867
+ default: 150
11868
+ },
11869
+ width: {
11870
+ type: [Number, String],
11871
+ default: 300
11872
+ }
11873
+ },
11874
+ emits: {
11875
+ 'update:color': color => true,
11876
+ 'update:position': hue => true
11877
+ },
11878
+ setup(props, _ref) {
11879
+ let {
11880
+ emit
11794
11881
  } = _ref;
11795
11882
  const isInteracting = vue.ref(false);
11796
11883
  const isOutsideUpdate = vue.ref(false);
@@ -12304,7 +12391,7 @@
12304
12391
  });
12305
12392
  const min = vue.computed(() => parseFloat(props.min));
12306
12393
  const max = vue.computed(() => parseFloat(props.max));
12307
- const step = vue.computed(() => props.step > 0 ? parseFloat(props.step) : 0);
12394
+ const step = vue.computed(() => +props.step > 0 ? parseFloat(props.step) : 0);
12308
12395
  const decimals = vue.computed(() => Math.max(getDecimals(step.value), getDecimals(min.value)));
12309
12396
  const thumbSize = vue.computed(() => parseInt(props.thumbSize, 10));
12310
12397
  const tickSize = vue.computed(() => parseInt(props.tickSize, 10));
@@ -12798,7 +12885,7 @@
12798
12885
  }), {
12799
12886
  ...slots,
12800
12887
  prepend: hasPrepend ? slotProps => vue.createVNode(vue.Fragment, null, [slots.label?.(slotProps) ?? props.label ? vue.createVNode(VLabel, {
12801
- "id": slotProps.id,
12888
+ "id": slotProps.id.value,
12802
12889
  "class": "v-slider__label",
12803
12890
  "text": props.label
12804
12891
  }, null) : undefined, slots.prepend?.(slotProps)]) : undefined,
@@ -13283,59 +13370,6 @@
13283
13370
  }
13284
13371
  });
13285
13372
 
13286
- const makeVSheetProps = propsFactory({
13287
- color: String,
13288
- ...makeBorderProps(),
13289
- ...makeDimensionProps(),
13290
- ...makeElevationProps(),
13291
- ...makeLocationProps(),
13292
- ...makePositionProps(),
13293
- ...makeRoundedProps(),
13294
- ...makeTagProps(),
13295
- ...makeThemeProps()
13296
- }, 'v-sheet');
13297
- const VSheet = genericComponent()({
13298
- name: 'VSheet',
13299
- props: {
13300
- ...makeVSheetProps()
13301
- },
13302
- setup(props, _ref) {
13303
- let {
13304
- slots
13305
- } = _ref;
13306
- const {
13307
- themeClasses
13308
- } = provideTheme(props);
13309
- const {
13310
- backgroundColorClasses,
13311
- backgroundColorStyles
13312
- } = useBackgroundColor(vue.toRef(props, 'color'));
13313
- const {
13314
- borderClasses
13315
- } = useBorder(props);
13316
- const {
13317
- dimensionStyles
13318
- } = useDimension(props);
13319
- const {
13320
- elevationClasses
13321
- } = useElevation(props);
13322
- const {
13323
- locationStyles
13324
- } = useLocation(props);
13325
- const {
13326
- positionClasses
13327
- } = usePosition(props);
13328
- const {
13329
- roundedClasses
13330
- } = useRounded(props);
13331
- useRender(() => vue.createVNode(props.tag, {
13332
- "class": ['v-sheet', themeClasses.value, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, positionClasses.value, roundedClasses.value],
13333
- "style": [backgroundColorStyles.value, dimensionStyles.value, locationStyles.value]
13334
- }, slots));
13335
- return {};
13336
- }
13337
- });
13338
-
13339
13373
  // Types
13340
13374
 
13341
13375
  const VColorPicker = defineComponent({
@@ -13372,13 +13406,9 @@
13372
13406
  modelValue: {
13373
13407
  type: [Object, String]
13374
13408
  },
13375
- width: {
13376
- type: [Number, String],
13377
- default: 300
13378
- },
13379
- ...makeElevationProps(),
13380
- ...makeRoundedProps(),
13381
- ...makeThemeProps()
13409
+ ...omit(makeVSheetProps({
13410
+ width: 300
13411
+ }), ['height', 'location', 'minHeight', 'maxHeight', 'minWidth', 'maxWidth'])
13382
13412
  },
13383
13413
  emits: {
13384
13414
  'update:modelValue': color => true,
@@ -13416,53 +13446,57 @@
13416
13446
  trackFillColor: undefined
13417
13447
  }
13418
13448
  });
13419
- useRender(() => vue.createVNode(VSheet, {
13420
- "rounded": props.rounded,
13421
- "elevation": props.elevation,
13422
- "theme": props.theme,
13423
- "class": ['v-color-picker'],
13424
- "style": {
13425
- '--v-color-picker-color-hsv': HSVtoCSS({
13426
- ...(currentColor.value ?? nullColor),
13427
- a: 1
13428
- })
13429
- },
13430
- "maxWidth": props.width
13431
- }, {
13432
- default: () => [!props.hideCanvas && vue.createVNode(VColorPickerCanvas, {
13433
- "key": "canvas",
13434
- "color": currentColor.value,
13435
- "onUpdate:color": updateColor,
13436
- "disabled": props.disabled,
13437
- "dotSize": props.dotSize,
13438
- "width": props.width,
13439
- "height": props.canvasHeight
13440
- }, null), (!props.hideSliders || !props.hideInputs) && vue.createVNode("div", {
13441
- "key": "controls",
13442
- "class": "v-color-picker__controls"
13443
- }, [!props.hideSliders && vue.createVNode(VColorPickerPreview, {
13444
- "key": "preview",
13445
- "color": currentColor.value,
13446
- "onUpdate:color": updateColor,
13447
- "hideAlpha": !mode.value.endsWith('a'),
13448
- "disabled": props.disabled
13449
- }, null), !props.hideInputs && vue.createVNode(VColorPickerEdit, {
13450
- "key": "edit",
13451
- "modes": props.modes,
13452
- "mode": mode.value,
13453
- "onUpdate:mode": m => mode.value = m,
13454
- "color": currentColor.value,
13455
- "onUpdate:color": updateColor,
13456
- "disabled": props.disabled
13457
- }, null)]), props.showSwatches && vue.createVNode(VColorPickerSwatches, {
13458
- "key": "swatches",
13459
- "color": currentColor.value,
13460
- "onUpdate:color": updateColor,
13461
- "maxHeight": props.swatchesMaxHeight,
13462
- "swatches": props.swatches,
13463
- "disabled": props.disabled
13464
- }, null)]
13465
- }));
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
+ });
13466
13500
  return {};
13467
13501
  }
13468
13502
  });
@@ -13763,14 +13797,13 @@
13763
13797
  }, {
13764
13798
  default: () => [!displayItems.value.length && !props.hideNoData && (slots['no-data']?.() ?? vue.createVNode(VListItem, {
13765
13799
  "title": t(props.noDataText)
13766
- }, null)), slots['prepend-item']?.(), displayItems.value.map((item, index) => slots.item?.({
13800
+ }, null)), slots['prepend-item']?.(), displayItems.value.map(item => slots.item?.({
13767
13801
  item,
13768
- index,
13769
13802
  props: vue.mergeProps(item.props, {
13770
13803
  onClick: () => select(item)
13771
13804
  })
13772
13805
  }) ?? vue.createVNode(VListItem, vue.mergeProps({
13773
- "key": index
13806
+ "key": item.value
13774
13807
  }, item.props, {
13775
13808
  "onClick": () => select(item)
13776
13809
  }), {
@@ -15514,12 +15547,18 @@
15514
15547
  bgColor: 'transparent'
15515
15548
  }
15516
15549
  });
15550
+ function onMouseenter() {
15551
+ isHovering.value = true;
15552
+ }
15553
+ function onMouseleave() {
15554
+ isHovering.value = false;
15555
+ }
15517
15556
  useRender(() => {
15518
15557
  const hasImage = slots.image || props.image;
15519
15558
  return vue.createVNode(vue.Fragment, null, [vue.createVNode(props.tag, vue.mergeProps({
15520
15559
  "ref": rootEl,
15521
- "onMouseenter": () => isHovering.value = true,
15522
- "onMouseleave": () => isHovering.value = false,
15560
+ "onMouseenter": onMouseenter,
15561
+ "onMouseleave": onMouseleave,
15523
15562
  "class": ['v-navigation-drawer', `v-navigation-drawer--${location.value}`, {
15524
15563
  'v-navigation-drawer--expand-on-hover': props.expandOnHover,
15525
15564
  'v-navigation-drawer--floating': props.floating,
@@ -15795,7 +15834,7 @@
15795
15834
  ref,
15796
15835
  ellipsis: false,
15797
15836
  icon: true,
15798
- disabled: !!props.disabled || props.length < 2,
15837
+ disabled: !!props.disabled || +props.length < 2,
15799
15838
  color: isActive ? props.activeColor : props.color,
15800
15839
  ariaCurrent: isActive,
15801
15840
  ariaLabel: t(isActive ? props.currentPageAriaLabel : props.pageAriaLabel, item),
@@ -15844,7 +15883,7 @@
15844
15883
  refs.value[currentIndex]?.$el.focus();
15845
15884
  }
15846
15885
  function onKeydown(e) {
15847
- if (e.key === keyValues.left && !props.disabled && page.value > props.start) {
15886
+ if (e.key === keyValues.left && !props.disabled && page.value > +props.start) {
15848
15887
  page.value = page.value - 1;
15849
15888
  vue.nextTick(updateFocus);
15850
15889
  } else if (e.key === keyValues.right && !props.disabled && page.value < start.value + length.value - 1) {
@@ -16548,35 +16587,36 @@
16548
16587
  // Types
16549
16588
 
16550
16589
  const VSlideGroupSymbol = Symbol.for('vuetify:v-slide-group');
16590
+ const makeVSlideGroupProps = propsFactory({
16591
+ centerActive: Boolean,
16592
+ direction: {
16593
+ type: String,
16594
+ default: 'horizontal'
16595
+ },
16596
+ symbol: {
16597
+ type: null,
16598
+ default: VSlideGroupSymbol
16599
+ },
16600
+ nextIcon: {
16601
+ type: IconValue,
16602
+ default: '$next'
16603
+ },
16604
+ prevIcon: {
16605
+ type: IconValue,
16606
+ default: '$prev'
16607
+ },
16608
+ showArrows: {
16609
+ type: [Boolean, String],
16610
+ validator: v => typeof v === 'boolean' || ['always', 'desktop', 'mobile'].includes(v)
16611
+ },
16612
+ ...makeTagProps(),
16613
+ ...makeGroupProps({
16614
+ selectedClass: 'v-slide-group-item--active'
16615
+ })
16616
+ }, 'v-slide-group');
16551
16617
  const VSlideGroup = genericComponent()({
16552
16618
  name: 'VSlideGroup',
16553
- props: {
16554
- centerActive: Boolean,
16555
- direction: {
16556
- type: String,
16557
- default: 'horizontal'
16558
- },
16559
- symbol: {
16560
- type: null,
16561
- default: VSlideGroupSymbol
16562
- },
16563
- nextIcon: {
16564
- type: IconValue,
16565
- default: '$next'
16566
- },
16567
- prevIcon: {
16568
- type: IconValue,
16569
- default: '$prev'
16570
- },
16571
- showArrows: {
16572
- type: [Boolean, String],
16573
- validator: v => typeof v === 'boolean' || ['always', 'desktop', 'mobile'].includes(v)
16574
- },
16575
- ...makeTagProps(),
16576
- ...makeGroupProps({
16577
- selectedClass: 'v-slide-group-item--active'
16578
- })
16579
- },
16619
+ props: makeVSlideGroupProps(),
16580
16620
  emits: {
16581
16621
  'update:modelValue': value => true
16582
16622
  },
@@ -17285,10 +17325,6 @@
17285
17325
  default: 'start'
17286
17326
  },
17287
17327
  color: String,
17288
- direction: {
17289
- type: String,
17290
- default: 'horizontal'
17291
- },
17292
17328
  fixedTabs: Boolean,
17293
17329
  items: {
17294
17330
  type: Array,
@@ -17303,11 +17339,9 @@
17303
17339
  },
17304
17340
  hideSlider: Boolean,
17305
17341
  sliderColor: String,
17306
- modelValue: null,
17307
- mandatory: {
17308
- type: [Boolean, String],
17309
- default: 'force'
17310
- },
17342
+ ...makeVSlideGroupProps({
17343
+ mandatory: 'force'
17344
+ }),
17311
17345
  ...makeDensityProps(),
17312
17346
  ...makeTagProps()
17313
17347
  },
@@ -17337,26 +17371,27 @@
17337
17371
  hideSlider: vue.toRef(props, 'hideSlider')
17338
17372
  }
17339
17373
  });
17340
- useRender(() => vue.createVNode(VSlideGroup, {
17341
- "modelValue": model.value,
17342
- "onUpdate:modelValue": $event => model.value = $event,
17343
- "class": ['v-tabs', `v-tabs--${props.direction}`, `v-tabs--align-tabs-${props.alignTabs}`, {
17344
- 'v-tabs--fixed-tabs': props.fixedTabs,
17345
- 'v-tabs--grow': props.grow,
17346
- 'v-tabs--stacked': props.stacked
17347
- }, densityClasses.value, backgroundColorClasses.value],
17348
- "style": [{
17349
- '--v-tabs-height': convertToUnit(props.height)
17350
- }, backgroundColorStyles.value],
17351
- "role": "tablist",
17352
- "symbol": VTabsSymbol,
17353
- "mandatory": props.mandatory,
17354
- "direction": props.direction
17355
- }, {
17356
- default: () => [slots.default ? slots.default() : parsedItems.value.map(item => vue.createVNode(VTab, vue.mergeProps(item, {
17357
- "key": item.title
17358
- }), null))]
17359
- }));
17374
+ useRender(() => {
17375
+ const [slideGroupProps] = VSlideGroup.filterProps(props);
17376
+ return vue.createVNode(VSlideGroup, vue.mergeProps(slideGroupProps, {
17377
+ "modelValue": model.value,
17378
+ "onUpdate:modelValue": $event => model.value = $event,
17379
+ "class": ['v-tabs', `v-tabs--${props.direction}`, `v-tabs--align-tabs-${props.alignTabs}`, {
17380
+ 'v-tabs--fixed-tabs': props.fixedTabs,
17381
+ 'v-tabs--grow': props.grow,
17382
+ 'v-tabs--stacked': props.stacked
17383
+ }, densityClasses.value, backgroundColorClasses.value],
17384
+ "style": [{
17385
+ '--v-tabs-height': convertToUnit(props.height)
17386
+ }, backgroundColorStyles.value],
17387
+ "role": "tablist",
17388
+ "symbol": VTabsSymbol
17389
+ }), {
17390
+ default: () => [slots.default ? slots.default() : parsedItems.value.map(item => vue.createVNode(VTab, vue.mergeProps(item, {
17391
+ "key": item.title
17392
+ }), null))]
17393
+ });
17394
+ });
17360
17395
  return {};
17361
17396
  }
17362
17397
  });
@@ -17472,7 +17507,7 @@
17472
17507
  const textareaRef = vue.ref();
17473
17508
  const isActive = vue.computed(() => isFocused.value || props.persistentPlaceholder);
17474
17509
  const messages = vue.computed(() => {
17475
- return props.messages.length ? props.messages : isActive.value || props.persistentHint ? props.hint : '';
17510
+ return props.messages.length ? props.messages : isFocused.value || props.persistentHint ? props.hint : '';
17476
17511
  });
17477
17512
  function onFocus() {
17478
17513
  if (textareaRef.value !== document.activeElement) {
@@ -19223,6 +19258,7 @@
19223
19258
  ...makeDataTableItemProps(),
19224
19259
  ...makeDataTableHeaderProps(),
19225
19260
  hideNoData: Boolean,
19261
+ hover: Boolean,
19226
19262
  noDataText: {
19227
19263
  type: String,
19228
19264
  default: '$vuetify.noDataText'
@@ -19347,7 +19383,8 @@
19347
19383
  }],
19348
19384
  "fixedHeader": props.fixedHeader,
19349
19385
  "fixedFooter": props.fixedFooter,
19350
- "height": props.height
19386
+ "height": props.height,
19387
+ "hover": props.hover
19351
19388
  }, {
19352
19389
  top: slots.top,
19353
19390
  default: slots.default ?? (() => vue.createVNode(vue.Fragment, null, [slots.colgroup?.({
@@ -19733,6 +19770,137 @@
19733
19770
  }
19734
19771
  });
19735
19772
 
19773
+ // Types
19774
+
19775
+ const rootTypes = {
19776
+ actions: 'button@2',
19777
+ article: 'heading, paragraph',
19778
+ avatar: 'avatar',
19779
+ button: 'button',
19780
+ card: 'image, heading',
19781
+ 'card-avatar': 'image, list-item-avatar',
19782
+ chip: 'chip',
19783
+ 'date-picker': 'list-item, heading, divider, date-picker-options, date-picker-days, actions',
19784
+ 'date-picker-options': 'text, avatar@2',
19785
+ 'date-picker-days': 'avatar@28',
19786
+ heading: 'heading',
19787
+ image: 'image',
19788
+ 'list-item': 'text',
19789
+ 'list-item-avatar': 'avatar, text',
19790
+ 'list-item-two-line': 'sentences',
19791
+ 'list-item-avatar-two-line': 'avatar, sentences',
19792
+ 'list-item-three-line': 'paragraph',
19793
+ 'list-item-avatar-three-line': 'avatar, paragraph',
19794
+ paragraph: 'text@3',
19795
+ sentences: 'text@2',
19796
+ subtitle: 'text',
19797
+ table: 'table-heading, table-thead, table-tbody, table-tfoot',
19798
+ 'table-heading': 'chip, text',
19799
+ 'table-thead': 'heading@6',
19800
+ 'table-tbody': 'table-row-divider@6',
19801
+ 'table-row-divider': 'table-row, divider',
19802
+ 'table-row': 'text@6',
19803
+ 'table-tfoot': 'text@2, avatar@2',
19804
+ text: 'text'
19805
+ };
19806
+ function genBone(type) {
19807
+ let children = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
19808
+ return vue.createVNode("div", {
19809
+ "class": ['v-skeleton-loader__bone', `v-skeleton-loader__${type}`]
19810
+ }, [children]);
19811
+ }
19812
+ function genBones(bone) {
19813
+ // e.g. 'text@3'
19814
+ const [type, length] = bone.split('@');
19815
+
19816
+ // Generate a length array based upon
19817
+ // value after @ in the bone string
19818
+ return Array.from({
19819
+ length
19820
+ }).map(() => genStructure(type));
19821
+ }
19822
+ function genStructure(type) {
19823
+ let children = [];
19824
+ if (!type) return children;
19825
+
19826
+ // TODO: figure out a better way to type this
19827
+ const bone = rootTypes[type];
19828
+
19829
+ // End of recursion, do nothing
19830
+ /* eslint-disable-next-line no-empty, brace-style */
19831
+ if (type === bone) ;
19832
+ // Array of values - e.g. 'heading, paragraph, text@2'
19833
+ else if (type.includes(',')) return mapBones(type);
19834
+ // Array of values - e.g. 'paragraph@4'
19835
+ else if (type.includes('@')) return genBones(type);
19836
+ // Array of values - e.g. 'card@2'
19837
+ else if (bone.includes(',')) children = mapBones(bone);
19838
+ // Array of values - e.g. 'list-item@2'
19839
+ else if (bone.includes('@')) children = genBones(bone);
19840
+ // Single value - e.g. 'card-heading'
19841
+ else if (bone) children.push(genStructure(bone));
19842
+ return [genBone(type, children)];
19843
+ }
19844
+ function mapBones(bones) {
19845
+ // Remove spaces and return array of structures
19846
+ return bones.replace(/\s/g, '').split(',').map(genStructure);
19847
+ }
19848
+ const VSkeletonLoader = genericComponent()({
19849
+ name: 'VSkeletonLoader',
19850
+ props: {
19851
+ boilerplate: Boolean,
19852
+ color: String,
19853
+ loading: Boolean,
19854
+ loadingText: {
19855
+ type: String,
19856
+ default: '$vuetify.loading'
19857
+ },
19858
+ type: {
19859
+ type: [String, Array],
19860
+ default: 'image'
19861
+ },
19862
+ ...makeDimensionProps(),
19863
+ ...makeElevationProps(),
19864
+ ...makeThemeProps()
19865
+ },
19866
+ setup(props, _ref) {
19867
+ let {
19868
+ slots
19869
+ } = _ref;
19870
+ const {
19871
+ backgroundColorClasses,
19872
+ backgroundColorStyles
19873
+ } = useBackgroundColor(vue.toRef(props, 'color'));
19874
+ const {
19875
+ dimensionStyles
19876
+ } = useDimension(props);
19877
+ const {
19878
+ elevationClasses
19879
+ } = useElevation(props);
19880
+ const {
19881
+ themeClasses
19882
+ } = provideTheme(props);
19883
+ const {
19884
+ t
19885
+ } = useLocale();
19886
+ const items = vue.computed(() => genStructure(wrapInArray(props.type).join(',')));
19887
+ useRender(() => {
19888
+ const isLoading = !slots.default || props.loading;
19889
+ return vue.createVNode("div", {
19890
+ "class": ['v-skeleton-loader', {
19891
+ 'v-skeleton-loader--boilerplate': props.boilerplate
19892
+ }, themeClasses.value, backgroundColorClasses.value, elevationClasses.value],
19893
+ "style": [backgroundColorStyles.value, isLoading ? dimensionStyles.value : {}],
19894
+ "aria-busy": !props.boilerplate ? isLoading : undefined,
19895
+ "aria-live": !props.boilerplate ? 'polite' : undefined,
19896
+ "aria-label": !props.boilerplate ? t(props.loadingText) : undefined,
19897
+ "role": !props.boilerplate ? 'alert' : undefined
19898
+ }, [isLoading ? items.value : slots.default?.()]);
19899
+ });
19900
+ return {};
19901
+ }
19902
+ });
19903
+
19736
19904
  const VVirtualScrollItem = genericComponent()({
19737
19905
  name: 'VVirtualScrollItem',
19738
19906
  props: {
@@ -19906,12 +20074,12 @@
19906
20074
 
19907
20075
  var components = /*#__PURE__*/Object.freeze({
19908
20076
  __proto__: null,
20077
+ VAlert: VAlert,
20078
+ VAlertTitle: VAlertTitle,
19909
20079
  VApp: VApp,
19910
20080
  VAppBar: VAppBar,
19911
20081
  VAppBarNavIcon: VAppBarNavIcon,
19912
20082
  VAppBarTitle: VAppBarTitle,
19913
- VAlert: VAlert,
19914
- VAlertTitle: VAlertTitle,
19915
20083
  VAutocomplete: VAutocomplete,
19916
20084
  VAvatar: VAvatar,
19917
20085
  VBadge: VBadge,
@@ -19920,8 +20088,8 @@
19920
20088
  VBannerText: VBannerText,
19921
20089
  VBottomNavigation: VBottomNavigation,
19922
20090
  VBreadcrumbs: VBreadcrumbs,
19923
- VBreadcrumbsItem: VBreadcrumbsItem,
19924
20091
  VBreadcrumbsDivider: VBreadcrumbsDivider,
20092
+ VBreadcrumbsItem: VBreadcrumbsItem,
19925
20093
  VBtn: VBtn,
19926
20094
  VBtnGroup: VBtnGroup,
19927
20095
  VBtnToggle: VBtnToggle,
@@ -19937,41 +20105,51 @@
19937
20105
  VCheckboxBtn: VCheckboxBtn,
19938
20106
  VChip: VChip,
19939
20107
  VChipGroup: VChipGroup,
20108
+ VClassIcon: VClassIcon,
19940
20109
  VCode: VCode,
20110
+ VCol: VCol,
19941
20111
  VColorPicker: VColorPicker,
19942
20112
  VCombobox: VCombobox,
20113
+ VComponentIcon: VComponentIcon,
20114
+ VContainer: VContainer,
19943
20115
  VCounter: VCounter,
20116
+ VDataTable: VDataTable,
20117
+ VDataTableFooter: VDataTableFooter,
20118
+ VDataTableRow: VDataTableRow,
20119
+ VDataTableRows: VDataTableRows,
20120
+ VDataTableServer: VDataTableServer,
20121
+ VDataTableVirtual: VDataTableVirtual,
19944
20122
  VDefaultsProvider: VDefaultsProvider,
19945
20123
  VDialog: VDialog,
20124
+ VDialogBottomTransition: VDialogBottomTransition,
20125
+ VDialogTopTransition: VDialogTopTransition,
20126
+ VDialogTransition: VDialogTransition,
19946
20127
  VDivider: VDivider,
19947
- VExpansionPanels: VExpansionPanels,
20128
+ VExpandTransition: VExpandTransition,
20129
+ VExpandXTransition: VExpandXTransition,
19948
20130
  VExpansionPanel: VExpansionPanel,
19949
20131
  VExpansionPanelText: VExpansionPanelText,
19950
20132
  VExpansionPanelTitle: VExpansionPanelTitle,
20133
+ VExpansionPanels: VExpansionPanels,
20134
+ VFabTransition: VFabTransition,
20135
+ VFadeTransition: VFadeTransition,
19951
20136
  VField: VField,
19952
20137
  VFieldLabel: VFieldLabel,
19953
20138
  VFileInput: VFileInput,
19954
20139
  VFooter: VFooter,
19955
20140
  VForm: VForm,
19956
- VContainer: VContainer,
19957
- VCol: VCol,
19958
- VRow: VRow,
19959
- VSpacer: VSpacer,
19960
20141
  VHover: VHover,
19961
20142
  VIcon: VIcon,
19962
- VComponentIcon: VComponentIcon,
19963
- VSvgIcon: VSvgIcon,
19964
- VLigatureIcon: VLigatureIcon,
19965
- VClassIcon: VClassIcon,
19966
20143
  VImg: VImg,
19967
20144
  VInput: VInput,
19968
- VItemGroup: VItemGroup,
19969
20145
  VItem: VItem,
20146
+ VItemGroup: VItemGroup,
19970
20147
  VKbd: VKbd,
19971
20148
  VLabel: VLabel,
19972
20149
  VLayout: VLayout,
19973
20150
  VLayoutItem: VLayoutItem,
19974
20151
  VLazy: VLazy,
20152
+ VLigatureIcon: VLigatureIcon,
19975
20153
  VList: VList,
19976
20154
  VListGroup: VListGroup,
19977
20155
  VListImg: VListImg,
@@ -19997,54 +20175,45 @@
19997
20175
  VRangeSlider: VRangeSlider,
19998
20176
  VRating: VRating,
19999
20177
  VResponsive: VResponsive,
20178
+ VRow: VRow,
20179
+ VScaleTransition: VScaleTransition,
20180
+ VScrollXReverseTransition: VScrollXReverseTransition,
20181
+ VScrollXTransition: VScrollXTransition,
20182
+ VScrollYReverseTransition: VScrollYReverseTransition,
20183
+ VScrollYTransition: VScrollYTransition,
20000
20184
  VSelect: VSelect,
20001
20185
  VSelectionControl: VSelectionControl,
20002
20186
  VSelectionControlGroup: VSelectionControlGroup,
20003
20187
  VSheet: VSheet,
20188
+ VSkeletonLoader: VSkeletonLoader,
20004
20189
  VSlideGroup: VSlideGroup,
20005
20190
  VSlideGroupItem: VSlideGroupItem,
20191
+ VSlideXReverseTransition: VSlideXReverseTransition,
20192
+ VSlideXTransition: VSlideXTransition,
20193
+ VSlideYReverseTransition: VSlideYReverseTransition,
20194
+ VSlideYTransition: VSlideYTransition,
20006
20195
  VSlider: VSlider,
20007
20196
  VSnackbar: VSnackbar,
20197
+ VSpacer: VSpacer,
20198
+ VSvgIcon: VSvgIcon,
20008
20199
  VSwitch: VSwitch,
20009
20200
  VSystemBar: VSystemBar,
20010
- VTabs: VTabs,
20011
20201
  VTab: VTab,
20012
20202
  VTable: VTable,
20013
- VTextarea: VTextarea,
20203
+ VTabs: VTabs,
20014
20204
  VTextField: VTextField,
20205
+ VTextarea: VTextarea,
20015
20206
  VThemeProvider: VThemeProvider,
20016
20207
  VTimeline: VTimeline,
20017
20208
  VTimelineItem: VTimelineItem,
20018
20209
  VToolbar: VToolbar,
20019
- VToolbarTitle: VToolbarTitle,
20020
20210
  VToolbarItems: VToolbarItems,
20211
+ VToolbarTitle: VToolbarTitle,
20021
20212
  VTooltip: VTooltip,
20022
20213
  VValidation: VValidation,
20214
+ VVirtualScroll: VVirtualScroll,
20023
20215
  VWindow: VWindow,
20024
- VWindowItem: VWindowItem,
20025
- VDialogTransition: VDialogTransition,
20026
- VFabTransition: VFabTransition,
20027
- VDialogBottomTransition: VDialogBottomTransition,
20028
- VDialogTopTransition: VDialogTopTransition,
20029
- VFadeTransition: VFadeTransition,
20030
- VScaleTransition: VScaleTransition,
20031
- VScrollXTransition: VScrollXTransition,
20032
- VScrollXReverseTransition: VScrollXReverseTransition,
20033
- VScrollYTransition: VScrollYTransition,
20034
- VScrollYReverseTransition: VScrollYReverseTransition,
20035
- VSlideXTransition: VSlideXTransition,
20036
- VSlideXReverseTransition: VSlideXReverseTransition,
20037
- VSlideYTransition: VSlideYTransition,
20038
- VSlideYReverseTransition: VSlideYReverseTransition,
20039
- VExpandTransition: VExpandTransition,
20040
- VExpandXTransition: VExpandXTransition,
20041
- VDataTable: VDataTable,
20042
- VDataTableRows: VDataTableRows,
20043
- VDataTableRow: VDataTableRow,
20044
- VDataTableVirtual: VDataTableVirtual,
20045
- VDataTableServer: VDataTableServer,
20046
- VDataTableFooter: VDataTableFooter,
20047
- VVirtualScroll: VVirtualScroll
20216
+ VWindowItem: VWindowItem
20048
20217
  });
20049
20218
 
20050
20219
  // Types
@@ -20255,7 +20424,7 @@
20255
20424
  locale
20256
20425
  };
20257
20426
  }
20258
- const version$1 = "3.1.12";
20427
+ const version$1 = "3.1.13";
20259
20428
  createVuetify$1.version = version$1;
20260
20429
 
20261
20430
  // Vue's inject() can only be used in setup
@@ -20267,7 +20436,7 @@
20267
20436
  }
20268
20437
  }
20269
20438
 
20270
- const version = "3.1.12";
20439
+ const version = "3.1.13";
20271
20440
 
20272
20441
  const createVuetify = function () {
20273
20442
  let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
@@ -20288,6 +20457,4 @@
20288
20457
  exports.useTheme = useTheme;
20289
20458
  exports.version = version;
20290
20459
 
20291
- Object.defineProperty(exports, '__esModule', { value: true });
20292
-
20293
20460
  }));