vuetify 3.1.12 → 3.1.14

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 (490) hide show
  1. package/dist/_component-variables-labs.sass +2 -1
  2. package/dist/json/attributes.json +4138 -3902
  3. package/dist/json/importMap-labs.json +8 -4
  4. package/dist/json/importMap.json +154 -154
  5. package/dist/json/tags.json +608 -544
  6. package/dist/json/web-types.json +14730 -14109
  7. package/dist/vuetify-labs.css +479 -236
  8. package/dist/vuetify-labs.d.ts +2356 -1425
  9. package/dist/vuetify-labs.esm.js +716 -505
  10. package/dist/vuetify-labs.esm.js.map +1 -1
  11. package/dist/vuetify-labs.js +716 -507
  12. package/dist/vuetify-labs.min.css +2 -2
  13. package/dist/vuetify.css +156 -133
  14. package/dist/vuetify.d.ts +1772 -1110
  15. package/dist/vuetify.esm.js +556 -480
  16. package/dist/vuetify.esm.js.map +1 -1
  17. package/dist/vuetify.js +556 -482
  18. package/dist/vuetify.js.map +1 -1
  19. package/dist/vuetify.min.css +2 -2
  20. package/dist/vuetify.min.js +202 -186
  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 +7 -5
  29. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  30. package/lib/components/VAutocomplete/index.d.ts +77 -71
  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/VCheckbox/index.d.ts +14 -14
  74. package/lib/components/VChip/VChip.mjs +2 -2
  75. package/lib/components/VChip/VChip.mjs.map +1 -1
  76. package/lib/components/VChip/index.d.ts +14 -14
  77. package/lib/components/VChipGroup/VChipGroup.mjs.map +1 -1
  78. package/lib/components/VColorPicker/VColorPicker.mjs +58 -61
  79. package/lib/components/VColorPicker/VColorPicker.mjs.map +1 -1
  80. package/lib/components/VColorPicker/VColorPickerCanvas.mjs.map +1 -1
  81. package/lib/components/VColorPicker/VColorPickerEdit.mjs.map +1 -1
  82. package/lib/components/VColorPicker/VColorPickerPreview.mjs.map +1 -1
  83. package/lib/components/VColorPicker/VColorPickerSwatches.mjs.map +1 -1
  84. package/lib/components/VColorPicker/index.d.ts +113 -50
  85. package/lib/components/VColorPicker/util/index.mjs.map +1 -1
  86. package/lib/components/VCombobox/VCombobox.mjs +8 -6
  87. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  88. package/lib/components/VCombobox/index.d.ts +77 -71
  89. package/lib/components/VCounter/VCounter.mjs.map +1 -1
  90. package/lib/components/VCounter/index.d.ts +123 -24
  91. package/lib/components/VData/VData.mjs.map +1 -1
  92. package/lib/components/VDataIterator/VDataFooter.mjs.map +1 -1
  93. package/lib/components/VDataIterator/VDataIterator.mjs.map +1 -1
  94. package/lib/components/VDatePicker/VDatePicker.mjs.map +1 -1
  95. package/lib/components/VDatePicker/VDatePickerDateTable.mjs.map +1 -1
  96. package/lib/components/VDatePicker/VDatePickerHeader.mjs.map +1 -1
  97. package/lib/components/VDatePicker/VDatePickerMonthTable.mjs.map +1 -1
  98. package/lib/components/VDatePicker/VDatePickerTitle.mjs.map +1 -1
  99. package/lib/components/VDatePicker/VDatePickerYears.mjs.map +1 -1
  100. package/lib/components/VDatePicker/mixins/date-picker-table.mjs.map +1 -1
  101. package/lib/components/VDatePicker/util/createNativeLocaleFormatter.mjs.map +1 -1
  102. package/lib/components/VDatePicker/util/eventHelpers.mjs.map +1 -1
  103. package/lib/components/VDatePicker/util/isDateAllowed.mjs.map +1 -1
  104. package/lib/components/VDatePicker/util/pad.mjs.map +1 -1
  105. package/lib/components/VDefaultsProvider/VDefaultsProvider.mjs.map +1 -1
  106. package/lib/components/VDialog/VDialog.mjs.map +1 -1
  107. package/lib/components/VDialog/index.d.ts +43 -43
  108. package/lib/components/VDivider/VDivider.mjs.map +1 -1
  109. package/lib/components/VExpansionPanel/VExpansionPanel.mjs.map +1 -1
  110. package/lib/components/VExpansionPanel/VExpansionPanelText.mjs.map +1 -1
  111. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs.map +1 -1
  112. package/lib/components/VExpansionPanel/VExpansionPanels.mjs.map +1 -1
  113. package/lib/components/VField/VField.mjs +3 -3
  114. package/lib/components/VField/VField.mjs.map +1 -1
  115. package/lib/components/VField/VFieldLabel.mjs.map +1 -1
  116. package/lib/components/VField/index.d.ts +20 -20
  117. package/lib/components/VFileInput/VFileInput.mjs +0 -1
  118. package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
  119. package/lib/components/VFileInput/index.d.ts +59 -65
  120. package/lib/components/VFooter/VFooter.mjs.map +1 -1
  121. package/lib/components/VForm/VForm.mjs.map +1 -1
  122. package/lib/components/VGrid/VCol.mjs.map +1 -1
  123. package/lib/components/VGrid/VContainer.mjs.map +1 -1
  124. package/lib/components/VGrid/VRow.mjs.map +1 -1
  125. package/lib/components/VHover/VHover.mjs.map +1 -1
  126. package/lib/components/VIcon/VIcon.mjs.map +1 -1
  127. package/lib/components/VImg/VImg.mjs +3 -3
  128. package/lib/components/VImg/VImg.mjs.map +1 -1
  129. package/lib/components/VImg/index.d.ts +28 -28
  130. package/lib/components/VInput/InputIcon.mjs.map +1 -1
  131. package/lib/components/VInput/VInput.mjs +2 -2
  132. package/lib/components/VInput/VInput.mjs.map +1 -1
  133. package/lib/components/VInput/index.d.ts +14 -14
  134. package/lib/components/VItemGroup/VItem.mjs.map +1 -1
  135. package/lib/components/VItemGroup/VItemGroup.mjs.map +1 -1
  136. package/lib/components/VLabel/VLabel.mjs.map +1 -1
  137. package/lib/components/VLayout/VLayout.mjs.map +1 -1
  138. package/lib/components/VLayout/VLayoutItem.mjs.map +1 -1
  139. package/lib/components/VLayout/index.d.ts +2 -2
  140. package/lib/components/VLazy/VLazy.mjs.map +1 -1
  141. package/lib/components/VLazy/index.d.ts +13 -13
  142. package/lib/components/VList/VList.mjs +2 -1
  143. package/lib/components/VList/VList.mjs.map +1 -1
  144. package/lib/components/VList/VListChildren.mjs.map +1 -1
  145. package/lib/components/VList/VListGroup.mjs +24 -13
  146. package/lib/components/VList/VListGroup.mjs.map +1 -1
  147. package/lib/components/VList/VListItem.css +12 -0
  148. package/lib/components/VList/VListItem.mjs +2 -2
  149. package/lib/components/VList/VListItem.mjs.map +1 -1
  150. package/lib/components/VList/VListItem.sass +5 -0
  151. package/lib/components/VList/VListItemAction.mjs.map +1 -1
  152. package/lib/components/VList/VListItemMedia.mjs.map +1 -1
  153. package/lib/components/VList/VListSubheader.mjs.map +1 -1
  154. package/lib/components/VList/index.d.ts +14 -14
  155. package/lib/components/VList/list.mjs.map +1 -1
  156. package/lib/components/VLocaleProvider/VLocaleProvider.mjs.map +1 -1
  157. package/lib/components/VMain/VMain.mjs.map +1 -1
  158. package/lib/components/VMenu/VMenu.mjs.map +1 -1
  159. package/lib/components/VMenu/index.d.ts +43 -43
  160. package/lib/components/VMessages/VMessages.mjs.map +1 -1
  161. package/lib/components/VMessages/index.d.ts +123 -24
  162. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +8 -2
  163. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
  164. package/lib/components/VNavigationDrawer/sticky.mjs.map +1 -1
  165. package/lib/components/VNavigationDrawer/touch.mjs.map +1 -1
  166. package/lib/components/VNoSsr/VNoSsr.mjs.map +1 -1
  167. package/lib/components/VNoSsr/index.d.ts +1 -13
  168. package/lib/components/VOtpInput/VOtpInput.mjs.map +1 -1
  169. package/lib/components/VOverflowBtn/VOverflowBtn.mjs.map +1 -1
  170. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  171. package/lib/components/VOverlay/index.d.ts +15 -15
  172. package/lib/components/VOverlay/locationStrategies.mjs.map +1 -1
  173. package/lib/components/VOverlay/requestNewFrame.mjs.map +1 -1
  174. package/lib/components/VOverlay/scrollStrategies.mjs.map +1 -1
  175. package/lib/components/VOverlay/useActivator.mjs +1 -0
  176. package/lib/components/VOverlay/useActivator.mjs.map +1 -1
  177. package/lib/components/VOverlay/util/point.mjs.map +1 -1
  178. package/lib/components/VPagination/VPagination.mjs +2 -2
  179. package/lib/components/VPagination/VPagination.mjs.map +1 -1
  180. package/lib/components/VParallax/VParallax.mjs.map +1 -1
  181. package/lib/components/VPicker/VPicker.mjs.map +1 -1
  182. package/lib/components/VProgressCircular/VProgressCircular.css +3 -1
  183. package/lib/components/VProgressCircular/VProgressCircular.mjs.map +1 -1
  184. package/lib/components/VProgressCircular/VProgressCircular.sass +3 -1
  185. package/lib/components/VProgressCircular/_variables.scss +1 -0
  186. package/lib/components/VProgressLinear/VProgressLinear.css +6 -3
  187. package/lib/components/VProgressLinear/VProgressLinear.mjs.map +1 -1
  188. package/lib/components/VProgressLinear/VProgressLinear.sass +3 -0
  189. package/lib/components/VProgressLinear/_variables.scss +1 -1
  190. package/lib/components/VRadio/VRadio.mjs.map +1 -1
  191. package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
  192. package/lib/components/VRadioGroup/index.d.ts +14 -14
  193. package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
  194. package/lib/components/VRangeSlider/index.d.ts +14 -14
  195. package/lib/components/VRating/VRating.mjs.map +1 -1
  196. package/lib/components/VRating/index.d.ts +2 -2
  197. package/lib/components/VResponsive/VResponsive.mjs.map +1 -1
  198. package/lib/components/VSelect/VSelect.mjs +31 -2
  199. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  200. package/lib/components/VSelect/index.d.ts +77 -71
  201. package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
  202. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs.map +1 -1
  203. package/lib/components/VSheet/VSheet.mjs.map +1 -1
  204. package/lib/components/VSlideGroup/VSlideGroup.mjs +29 -28
  205. package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
  206. package/lib/components/VSlideGroup/VSlideGroupItem.mjs.map +1 -1
  207. package/lib/components/VSlideGroup/helpers.mjs.map +1 -1
  208. package/lib/components/VSlideGroup/index.d.ts +17 -17
  209. package/lib/components/VSlider/VSlider.mjs +1 -1
  210. package/lib/components/VSlider/VSlider.mjs.map +1 -1
  211. package/lib/components/VSlider/VSliderThumb.mjs.map +1 -1
  212. package/lib/components/VSlider/VSliderTrack.mjs.map +1 -1
  213. package/lib/components/VSlider/index.d.ts +14 -14
  214. package/lib/components/VSlider/slider.mjs +1 -1
  215. package/lib/components/VSlider/slider.mjs.map +1 -1
  216. package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
  217. package/lib/components/VSnackbar/index.d.ts +43 -43
  218. package/lib/components/VSparkline/VSparkline.mjs.map +1 -1
  219. package/lib/components/VSparkline/helpers/core.mjs.map +1 -1
  220. package/lib/components/VSparkline/helpers/math.mjs.map +1 -1
  221. package/lib/components/VSparkline/helpers/path.mjs.map +1 -1
  222. package/lib/components/VSpeedDial/VSpeedDial.mjs.map +1 -1
  223. package/lib/components/VStepper/VStepper.mjs.map +1 -1
  224. package/lib/components/VStepper/VStepperContent.mjs.map +1 -1
  225. package/lib/components/VStepper/VStepperStep.mjs.map +1 -1
  226. package/lib/components/VSwitch/VSwitch.css +4 -0
  227. package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
  228. package/lib/components/VSwitch/VSwitch.sass +4 -0
  229. package/lib/components/VSwitch/index.d.ts +14 -14
  230. package/lib/components/VSystemBar/VSystemBar.mjs.map +1 -1
  231. package/lib/components/VTable/VTable.css +1 -1
  232. package/lib/components/VTable/VTable.mjs.map +1 -1
  233. package/lib/components/VTable/VTable.sass +1 -1
  234. package/lib/components/VTabs/VTab.mjs.map +1 -1
  235. package/lib/components/VTabs/VTabs.mjs +25 -30
  236. package/lib/components/VTabs/VTabs.mjs.map +1 -1
  237. package/lib/components/VTabs/index.d.ts +165 -28
  238. package/lib/components/VTextField/VTextField.mjs +3 -6
  239. package/lib/components/VTextField/VTextField.mjs.map +1 -1
  240. package/lib/components/VTextField/index.d.ts +83 -77
  241. package/lib/components/VTextarea/VTextarea.mjs +9 -6
  242. package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
  243. package/lib/components/VTextarea/index.d.ts +56 -50
  244. package/lib/components/VThemeProvider/VThemeProvider.mjs.map +1 -1
  245. package/lib/components/VTimePicker/SelectingTimes.mjs +3 -3
  246. package/lib/components/VTimePicker/SelectingTimes.mjs.map +1 -1
  247. package/lib/components/VTimePicker/VTimePicker.mjs.map +1 -1
  248. package/lib/components/VTimePicker/VTimePickerClock.mjs.map +1 -1
  249. package/lib/components/VTimePicker/VTimePickerTitle.mjs.map +1 -1
  250. package/lib/components/VTimeline/VTimeline.mjs.map +1 -1
  251. package/lib/components/VTimeline/VTimelineDivider.mjs.map +1 -1
  252. package/lib/components/VTimeline/VTimelineItem.mjs.map +1 -1
  253. package/lib/components/VTimeline/index.d.ts +8 -8
  254. package/lib/components/VToolbar/VToolbar.css +2 -0
  255. package/lib/components/VToolbar/VToolbar.mjs.map +1 -1
  256. package/lib/components/VToolbar/VToolbar.sass +2 -0
  257. package/lib/components/VToolbar/VToolbarItems.mjs.map +1 -1
  258. package/lib/components/VToolbar/VToolbarTitle.mjs.map +1 -1
  259. package/lib/components/VTooltip/VTooltip.mjs.map +1 -1
  260. package/lib/components/VTooltip/index.d.ts +43 -43
  261. package/lib/components/VTreeview/VTreeview.mjs.map +1 -1
  262. package/lib/components/VTreeview/VTreeviewNode.mjs.map +1 -1
  263. package/lib/components/VTreeview/util/filterTreeItems.mjs.map +1 -1
  264. package/lib/components/VValidation/VValidation.mjs.map +1 -1
  265. package/lib/components/VWindow/VWindow.mjs +38 -37
  266. package/lib/components/VWindow/VWindow.mjs.map +1 -1
  267. package/lib/components/VWindow/VWindowItem.mjs +2 -1
  268. package/lib/components/VWindow/VWindowItem.mjs.map +1 -1
  269. package/lib/components/index.d.ts +1655 -993
  270. package/lib/components/transitions/createTransition.mjs +59 -50
  271. package/lib/components/transitions/createTransition.mjs.map +1 -1
  272. package/lib/components/transitions/dialog-transition.mjs.map +1 -1
  273. package/lib/components/transitions/expand-transition.mjs.map +1 -1
  274. package/lib/components/transitions/index.d.ts +150 -15
  275. package/lib/composables/border.mjs.map +1 -1
  276. package/lib/composables/color.mjs.map +1 -1
  277. package/lib/composables/defaults.mjs +1 -1
  278. package/lib/composables/defaults.mjs.map +1 -1
  279. package/lib/composables/delay.mjs.map +1 -1
  280. package/lib/composables/density.mjs.map +1 -1
  281. package/lib/composables/dimensions.mjs.map +1 -1
  282. package/lib/composables/display.mjs.map +1 -1
  283. package/lib/composables/elevation.mjs.map +1 -1
  284. package/lib/composables/filter.mjs.map +1 -1
  285. package/lib/composables/focus.mjs.map +1 -1
  286. package/lib/composables/form.mjs.map +1 -1
  287. package/lib/composables/forwardRefs.mjs +17 -0
  288. package/lib/composables/forwardRefs.mjs.map +1 -1
  289. package/lib/composables/group.mjs.map +1 -1
  290. package/lib/composables/hydration.mjs.map +1 -1
  291. package/lib/composables/icons.mjs.map +1 -1
  292. package/lib/composables/intersectionObserver.mjs.map +1 -1
  293. package/lib/composables/items.mjs.map +1 -1
  294. package/lib/composables/layout.mjs.map +1 -1
  295. package/lib/composables/lazy.mjs.map +1 -1
  296. package/lib/composables/loader.mjs.map +1 -1
  297. package/lib/composables/locale.mjs.map +1 -1
  298. package/lib/composables/location.mjs.map +1 -1
  299. package/lib/composables/mutationObserver.mjs.map +1 -1
  300. package/lib/composables/nested/nested.mjs.map +1 -1
  301. package/lib/composables/nested/openStrategies.mjs.map +1 -1
  302. package/lib/composables/nested/selectStrategies.mjs.map +1 -1
  303. package/lib/composables/position.mjs.map +1 -1
  304. package/lib/composables/proxiedModel.mjs +2 -1
  305. package/lib/composables/proxiedModel.mjs.map +1 -1
  306. package/lib/composables/refs.mjs.map +1 -1
  307. package/lib/composables/resizeObserver.mjs.map +1 -1
  308. package/lib/composables/rounded.mjs.map +1 -1
  309. package/lib/composables/router.mjs.map +1 -1
  310. package/lib/composables/scopeId.mjs.map +1 -1
  311. package/lib/composables/scroll.mjs.map +1 -1
  312. package/lib/composables/selectLink.mjs.map +1 -1
  313. package/lib/composables/size.mjs.map +1 -1
  314. package/lib/composables/ssrBoot.mjs.map +1 -1
  315. package/lib/composables/stack.mjs.map +1 -1
  316. package/lib/composables/teleport.mjs.map +1 -1
  317. package/lib/composables/theme.mjs +1 -1
  318. package/lib/composables/theme.mjs.map +1 -1
  319. package/lib/composables/toggleScope.mjs.map +1 -1
  320. package/lib/composables/touch.mjs.map +1 -1
  321. package/lib/composables/transition.mjs.map +1 -1
  322. package/lib/composables/validation.mjs +1 -1
  323. package/lib/composables/validation.mjs.map +1 -1
  324. package/lib/composables/variant.mjs.map +1 -1
  325. package/lib/directives/click-outside/index.mjs.map +1 -1
  326. package/lib/directives/color/index.mjs.map +1 -1
  327. package/lib/directives/intersect/index.mjs.map +1 -1
  328. package/lib/directives/mutate/index.mjs.map +1 -1
  329. package/lib/directives/resize/index.mjs.map +1 -1
  330. package/lib/directives/ripple/index.mjs.map +1 -1
  331. package/lib/directives/scroll/index.mjs.map +1 -1
  332. package/lib/directives/touch/index.mjs.map +1 -1
  333. package/lib/entry-bundler.mjs +1 -1
  334. package/lib/entry-bundler.mjs.map +1 -1
  335. package/lib/framework.mjs +1 -1
  336. package/lib/framework.mjs.map +1 -1
  337. package/lib/index.d.ts +39 -39
  338. package/lib/labs/VDataTable/VDataTable.mjs +7 -5
  339. package/lib/labs/VDataTable/VDataTable.mjs.map +1 -1
  340. package/lib/labs/VDataTable/VDataTableColumn.mjs.map +1 -1
  341. package/lib/labs/VDataTable/VDataTableFooter.mjs.map +1 -1
  342. package/lib/labs/VDataTable/VDataTableGroupHeaderRow.mjs.map +1 -1
  343. package/lib/labs/VDataTable/VDataTableHeaders.mjs.map +1 -1
  344. package/lib/labs/VDataTable/VDataTableRow.mjs.map +1 -1
  345. package/lib/labs/VDataTable/VDataTableRows.mjs +5 -7
  346. package/lib/labs/VDataTable/VDataTableRows.mjs.map +1 -1
  347. package/lib/labs/VDataTable/VDataTableServer.mjs +4 -3
  348. package/lib/labs/VDataTable/VDataTableServer.mjs.map +1 -1
  349. package/lib/labs/VDataTable/VDataTableVirtual.mjs +5 -3
  350. package/lib/labs/VDataTable/VDataTableVirtual.mjs.map +1 -1
  351. package/lib/labs/VDataTable/composables/expand.mjs.map +1 -1
  352. package/lib/labs/VDataTable/composables/group.mjs.map +1 -1
  353. package/lib/labs/VDataTable/composables/headers.mjs.map +1 -1
  354. package/lib/labs/VDataTable/composables/items.mjs.map +1 -1
  355. package/lib/labs/VDataTable/composables/options.mjs.map +1 -1
  356. package/lib/labs/VDataTable/composables/paginate.mjs.map +1 -1
  357. package/lib/labs/VDataTable/composables/select.mjs.map +1 -1
  358. package/lib/labs/VDataTable/composables/sort.mjs.map +1 -1
  359. package/lib/labs/VDataTable/composables/virtual.mjs.map +1 -1
  360. package/lib/labs/VDataTable/index.d.ts +393 -340
  361. package/lib/labs/VSkeletonLoader/VSkeletonLoader.css +221 -0
  362. package/lib/labs/VSkeletonLoader/VSkeletonLoader.mjs +141 -0
  363. package/lib/labs/VSkeletonLoader/VSkeletonLoader.mjs.map +1 -0
  364. package/lib/labs/VSkeletonLoader/VSkeletonLoader.sass +225 -0
  365. package/lib/labs/VSkeletonLoader/_variables.scss +44 -0
  366. package/lib/labs/VSkeletonLoader/index.d.ts +222 -0
  367. package/lib/labs/VSkeletonLoader/index.mjs +2 -0
  368. package/lib/labs/VSkeletonLoader/index.mjs.map +1 -0
  369. package/lib/labs/VVirtualScroll/VVirtualScroll.mjs.map +1 -1
  370. package/lib/labs/VVirtualScroll/VVirtualScrollItem.mjs.map +1 -1
  371. package/lib/labs/components.d.ts +608 -341
  372. package/lib/labs/components.mjs +1 -0
  373. package/lib/labs/components.mjs.map +1 -1
  374. package/lib/labs/entry-bundler.mjs.map +1 -1
  375. package/lib/locale/adapters/vue-i18n.mjs.map +1 -1
  376. package/lib/locale/adapters/vuetify.mjs.map +1 -1
  377. package/lib/locale/af.mjs +2 -1
  378. package/lib/locale/af.mjs.map +1 -1
  379. package/lib/locale/ar.mjs +2 -1
  380. package/lib/locale/ar.mjs.map +1 -1
  381. package/lib/locale/az.mjs +2 -1
  382. package/lib/locale/az.mjs.map +1 -1
  383. package/lib/locale/bg.mjs +2 -1
  384. package/lib/locale/bg.mjs.map +1 -1
  385. package/lib/locale/ca.mjs +2 -1
  386. package/lib/locale/ca.mjs.map +1 -1
  387. package/lib/locale/ckb.mjs +2 -1
  388. package/lib/locale/ckb.mjs.map +1 -1
  389. package/lib/locale/cs.mjs +2 -1
  390. package/lib/locale/cs.mjs.map +1 -1
  391. package/lib/locale/da.mjs +2 -1
  392. package/lib/locale/da.mjs.map +1 -1
  393. package/lib/locale/de.mjs +2 -1
  394. package/lib/locale/de.mjs.map +1 -1
  395. package/lib/locale/el.mjs +2 -1
  396. package/lib/locale/el.mjs.map +1 -1
  397. package/lib/locale/en.mjs +2 -1
  398. package/lib/locale/en.mjs.map +1 -1
  399. package/lib/locale/es.mjs +2 -1
  400. package/lib/locale/es.mjs.map +1 -1
  401. package/lib/locale/et.mjs +2 -1
  402. package/lib/locale/et.mjs.map +1 -1
  403. package/lib/locale/fa.mjs +2 -1
  404. package/lib/locale/fa.mjs.map +1 -1
  405. package/lib/locale/fi.mjs +2 -1
  406. package/lib/locale/fi.mjs.map +1 -1
  407. package/lib/locale/fr.mjs +2 -1
  408. package/lib/locale/fr.mjs.map +1 -1
  409. package/lib/locale/he.mjs +2 -1
  410. package/lib/locale/he.mjs.map +1 -1
  411. package/lib/locale/hr.mjs +2 -1
  412. package/lib/locale/hr.mjs.map +1 -1
  413. package/lib/locale/hu.mjs +2 -1
  414. package/lib/locale/hu.mjs.map +1 -1
  415. package/lib/locale/id.mjs +2 -1
  416. package/lib/locale/id.mjs.map +1 -1
  417. package/lib/locale/index.d.ts +42 -0
  418. package/lib/locale/it.mjs +2 -1
  419. package/lib/locale/it.mjs.map +1 -1
  420. package/lib/locale/ja.mjs +2 -1
  421. package/lib/locale/ja.mjs.map +1 -1
  422. package/lib/locale/ko.mjs +2 -1
  423. package/lib/locale/ko.mjs.map +1 -1
  424. package/lib/locale/lt.mjs +2 -1
  425. package/lib/locale/lt.mjs.map +1 -1
  426. package/lib/locale/lv.mjs +2 -1
  427. package/lib/locale/lv.mjs.map +1 -1
  428. package/lib/locale/nl.mjs +2 -1
  429. package/lib/locale/nl.mjs.map +1 -1
  430. package/lib/locale/no.mjs +2 -1
  431. package/lib/locale/no.mjs.map +1 -1
  432. package/lib/locale/pl.mjs +2 -1
  433. package/lib/locale/pl.mjs.map +1 -1
  434. package/lib/locale/pt.mjs +2 -1
  435. package/lib/locale/pt.mjs.map +1 -1
  436. package/lib/locale/ro.mjs +2 -1
  437. package/lib/locale/ro.mjs.map +1 -1
  438. package/lib/locale/ru.mjs +2 -1
  439. package/lib/locale/ru.mjs.map +1 -1
  440. package/lib/locale/sk.mjs +2 -1
  441. package/lib/locale/sk.mjs.map +1 -1
  442. package/lib/locale/sl.mjs +2 -1
  443. package/lib/locale/sl.mjs.map +1 -1
  444. package/lib/locale/sr-Cyrl.mjs +2 -1
  445. package/lib/locale/sr-Cyrl.mjs.map +1 -1
  446. package/lib/locale/sr-Latn.mjs +2 -1
  447. package/lib/locale/sr-Latn.mjs.map +1 -1
  448. package/lib/locale/sv.mjs +2 -1
  449. package/lib/locale/sv.mjs.map +1 -1
  450. package/lib/locale/th.mjs +2 -1
  451. package/lib/locale/th.mjs.map +1 -1
  452. package/lib/locale/tr.mjs +2 -1
  453. package/lib/locale/tr.mjs.map +1 -1
  454. package/lib/locale/uk.mjs +2 -1
  455. package/lib/locale/uk.mjs.map +1 -1
  456. package/lib/locale/vi.mjs +2 -1
  457. package/lib/locale/vi.mjs.map +1 -1
  458. package/lib/locale/zh-Hans.mjs +2 -1
  459. package/lib/locale/zh-Hans.mjs.map +1 -1
  460. package/lib/locale/zh-Hant.mjs +2 -1
  461. package/lib/locale/zh-Hant.mjs.map +1 -1
  462. package/lib/services/goto/index.mjs.map +1 -1
  463. package/lib/services/goto/util.mjs.map +1 -1
  464. package/lib/util/anchor.mjs.map +1 -1
  465. package/lib/util/animation.mjs.map +1 -1
  466. package/lib/util/box.mjs.map +1 -1
  467. package/lib/util/color/APCA.mjs.map +1 -1
  468. package/lib/util/color/transformCIELAB.mjs.map +1 -1
  469. package/lib/util/color/transformSRGB.mjs.map +1 -1
  470. package/lib/util/colorUtils.mjs.map +1 -1
  471. package/lib/util/console.mjs.map +1 -1
  472. package/lib/util/createSimpleFunctional.mjs.map +1 -1
  473. package/lib/util/dateTimeUtils.mjs.map +1 -1
  474. package/lib/util/defineComponent.mjs.map +1 -1
  475. package/lib/util/dom.mjs.map +1 -1
  476. package/lib/util/getCurrentInstance.mjs.map +1 -1
  477. package/lib/util/getScrollParent.mjs.map +1 -1
  478. package/lib/util/helpers.mjs +1 -1
  479. package/lib/util/helpers.mjs.map +1 -1
  480. package/lib/util/injectSelf.mjs.map +1 -1
  481. package/lib/util/isFixedPosition.mjs.map +1 -1
  482. package/lib/util/propsFactory.mjs.map +1 -1
  483. package/lib/util/useRender.mjs.map +1 -1
  484. package/package.json +25 -25
  485. package/lib/components/VSkeletonLoader/VSkeletonLoader.mjs +0 -179
  486. package/lib/components/VSkeletonLoader/VSkeletonLoader.mjs.map +0 -1
  487. package/lib/components/VSkeletonLoader/VSkeletonLoader.sass +0 -377
  488. package/lib/components/VSkeletonLoader/_variables.scss +0 -54
  489. package/lib/components/VSkeletonLoader/index.mjs +0 -4
  490. package/lib/components/VSkeletonLoader/index.mjs.map +0 -1
package/dist/vuetify.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.1.12
2
+ * Vuetify v3.1.14
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -343,7 +343,7 @@
343
343
  }
344
344
  const onRE = /^on[^a-z]/;
345
345
  const isOn = key => onRE.test(key);
346
- const EventProp = [Function, Array];
346
+ const EventProp = () => [Function, Array];
347
347
  function hasEvent(props, name) {
348
348
  name = 'on' + vue.capitalize(name);
349
349
  return !!(props[name] || props[`${name}Once`] || props[`${name}Capture`] || props[`${name}OnceCapture`] || props[`${name}CaptureOnce`]);
@@ -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;
@@ -1703,7 +1703,7 @@
1703
1703
  if (/^on-[a-z]/.test(key)) {
1704
1704
  createCssClass(fgLines, `.${key}`, [`color: rgb(var(--v-theme-${key})) !important`]);
1705
1705
  } else {
1706
- createCssClass(bgLines, `.bg-${key}`, [`--v-theme-overlay-multiplier: var(--v-theme-${key}-overlay-multiplier)`, `background: rgb(var(--v-theme-${key})) !important`, `color: rgb(var(--v-theme-on-${key})) !important`]);
1706
+ createCssClass(bgLines, `.bg-${key}`, [`--v-theme-overlay-multiplier: var(--v-theme-${key}-overlay-multiplier)`, `background-color: rgb(var(--v-theme-${key})) !important`, `color: rgb(var(--v-theme-on-${key})) !important`]);
1707
1707
  createCssClass(fgLines, `.text-${key}`, [`color: rgb(var(--v-theme-${key})) !important`]);
1708
1708
  createCssClass(fgLines, `.border-${key}`, [`--v-border-color: var(--v-theme-${key})`]);
1709
1709
  }
@@ -1841,7 +1841,8 @@
1841
1841
  });
1842
1842
  const model = vue.computed({
1843
1843
  get() {
1844
- return transformIn(isControlled.value ? props[prop] : internal.value);
1844
+ const externalValue = props[prop];
1845
+ return transformIn(isControlled.value ? externalValue : internal.value);
1845
1846
  },
1846
1847
  set(internalValue) {
1847
1848
  const newValue = transformOut(internalValue);
@@ -1933,7 +1934,8 @@
1933
1934
  ariaLabel: {
1934
1935
  item: 'Rating {0} of {1}'
1935
1936
  }
1936
- }
1937
+ },
1938
+ loading: 'Loading...'
1937
1939
  };
1938
1940
 
1939
1941
  const LANG_PREFIX = '$vuetify.';
@@ -2210,6 +2212,7 @@
2210
2212
  return genericComponent()({
2211
2213
  name,
2212
2214
  props: {
2215
+ disabled: Boolean,
2213
2216
  group: Boolean,
2214
2217
  hideOnLeave: Boolean,
2215
2218
  leaveAbsolute: Boolean,
@@ -2226,56 +2229,62 @@
2226
2229
  let {
2227
2230
  slots
2228
2231
  } = _ref;
2232
+ const functions = {
2233
+ onBeforeEnter(el) {
2234
+ el.style.transformOrigin = props.origin;
2235
+ },
2236
+ onLeave(el) {
2237
+ if (props.leaveAbsolute) {
2238
+ const {
2239
+ offsetTop,
2240
+ offsetLeft,
2241
+ offsetWidth,
2242
+ offsetHeight
2243
+ } = el;
2244
+ el._transitionInitialStyles = {
2245
+ position: el.style.position,
2246
+ top: el.style.top,
2247
+ left: el.style.left,
2248
+ width: el.style.width,
2249
+ height: el.style.height
2250
+ };
2251
+ el.style.position = 'absolute';
2252
+ el.style.top = `${offsetTop}px`;
2253
+ el.style.left = `${offsetLeft}px`;
2254
+ el.style.width = `${offsetWidth}px`;
2255
+ el.style.height = `${offsetHeight}px`;
2256
+ }
2257
+ if (props.hideOnLeave) {
2258
+ el.style.setProperty('display', 'none', 'important');
2259
+ }
2260
+ },
2261
+ onAfterLeave(el) {
2262
+ if (props.leaveAbsolute && el?._transitionInitialStyles) {
2263
+ const {
2264
+ position,
2265
+ top,
2266
+ left,
2267
+ width,
2268
+ height
2269
+ } = el._transitionInitialStyles;
2270
+ delete el._transitionInitialStyles;
2271
+ el.style.position = position || '';
2272
+ el.style.top = top || '';
2273
+ el.style.left = left || '';
2274
+ el.style.width = width || '';
2275
+ el.style.height = height || '';
2276
+ }
2277
+ }
2278
+ };
2229
2279
  return () => {
2230
2280
  const tag = props.group ? vue.TransitionGroup : vue.Transition;
2231
2281
  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
- }
2282
+ name: props.disabled ? '' : name,
2283
+ css: !props.disabled,
2284
+ ...(props.group ? undefined : {
2285
+ mode: props.mode
2286
+ }),
2287
+ ...(props.disabled ? {} : functions)
2279
2288
  }, slots.default);
2280
2289
  };
2281
2290
  }
@@ -2289,7 +2298,8 @@
2289
2298
  mode: {
2290
2299
  type: String,
2291
2300
  default: mode
2292
- }
2301
+ },
2302
+ disabled: Boolean
2293
2303
  },
2294
2304
  setup(props, _ref2) {
2295
2305
  let {
@@ -2297,9 +2307,10 @@
2297
2307
  } = _ref2;
2298
2308
  return () => {
2299
2309
  return vue.h(vue.Transition, {
2300
- name,
2310
+ name: props.disabled ? '' : name,
2311
+ css: !props.disabled,
2301
2312
  // mode: props.mode, // TODO: vuejs/vue-next#3104
2302
- ...functions
2313
+ ...(props.disabled ? {} : functions)
2303
2314
  }, slots.default);
2304
2315
  };
2305
2316
  }
@@ -2705,9 +2716,9 @@
2705
2716
  ...makeTransitionProps()
2706
2717
  },
2707
2718
  emits: {
2708
- loadstart: event => true,
2709
- load: event => true,
2710
- error: event => true
2719
+ loadstart: value => true,
2720
+ load: value => true,
2721
+ error: value => true
2711
2722
  },
2712
2723
  setup(props, _ref) {
2713
2724
  let {
@@ -5332,9 +5343,9 @@
5332
5343
  default: 'filled',
5333
5344
  validator: v => allowedVariants$1.includes(v)
5334
5345
  },
5335
- 'onClick:clear': EventProp,
5336
- 'onClick:appendInner': EventProp,
5337
- 'onClick:prependInner': EventProp,
5346
+ 'onClick:clear': EventProp(),
5347
+ 'onClick:appendInner': EventProp(),
5348
+ 'onClick:prependInner': EventProp(),
5338
5349
  ...makeThemeProps(),
5339
5350
  ...makeLoaderProps()
5340
5351
  }, 'v-field');
@@ -5833,7 +5844,7 @@
5833
5844
  const results = [];
5834
5845
  isValidating.value = true;
5835
5846
  for (const rule of props.rules) {
5836
- if (results.length >= (props.maxErrors ?? 1)) {
5847
+ if (results.length >= +(props.maxErrors ?? 1)) {
5837
5848
  break;
5838
5849
  }
5839
5850
  const handler = typeof rule === 'function' ? rule : () => rule;
@@ -5880,8 +5891,8 @@
5880
5891
  default: 'horizontal',
5881
5892
  validator: v => ['horizontal', 'vertical'].includes(v)
5882
5893
  },
5883
- 'onClick:prepend': EventProp,
5884
- 'onClick:append': EventProp,
5894
+ 'onClick:prepend': EventProp(),
5895
+ 'onClick:append': EventProp(),
5885
5896
  ...makeDensityProps(),
5886
5897
  ...makeValidationProps()
5887
5898
  }, 'v-input');
@@ -6038,6 +6049,9 @@
6038
6049
  if (Reflect.has(target, key)) {
6039
6050
  return Reflect.get(target, key);
6040
6051
  }
6052
+
6053
+ // Skip internal properties
6054
+ if (typeof key === 'symbol' || key.startsWith('__')) return;
6041
6055
  for (const ref of refs) {
6042
6056
  if (ref.value && Reflect.has(ref.value, key)) {
6043
6057
  const val = Reflect.get(ref.value, key);
@@ -6045,6 +6059,20 @@
6045
6059
  }
6046
6060
  }
6047
6061
  },
6062
+ has(target, key) {
6063
+ if (Reflect.has(target, key)) {
6064
+ return true;
6065
+ }
6066
+
6067
+ // Skip internal properties
6068
+ if (typeof key === 'symbol' || key.startsWith('__')) return false;
6069
+ for (const ref of refs) {
6070
+ if (ref.value && Reflect.has(ref.value, key)) {
6071
+ return true;
6072
+ }
6073
+ }
6074
+ return false;
6075
+ },
6048
6076
  getOwnPropertyDescriptor(target, key) {
6049
6077
  const descriptor = Reflect.getOwnPropertyDescriptor(target, key);
6050
6078
  if (descriptor) return descriptor;
@@ -6095,6 +6123,7 @@
6095
6123
  type: String,
6096
6124
  default: 'text'
6097
6125
  },
6126
+ modelModifiers: Object,
6098
6127
  ...makeVInputProps(),
6099
6128
  ...makeVFieldProps()
6100
6129
  }, 'v-text-field');
@@ -6169,7 +6198,7 @@
6169
6198
  function onInput(e) {
6170
6199
  const el = e.target;
6171
6200
  model.value = el.value;
6172
- if (['text', 'search', 'password', 'tel', 'url'].includes(props.type)) {
6201
+ if (props.modelModifiers?.trim && ['text', 'search', 'password', 'tel', 'url'].includes(props.type)) {
6173
6202
  const caretPosition = [el.selectionStart, el.selectionEnd];
6174
6203
  vue.nextTick(() => {
6175
6204
  el.selectionStart = caretPosition[0];
@@ -6234,9 +6263,6 @@
6234
6263
  ...slotProps
6235
6264
  }
6236
6265
  } = _ref3;
6237
- const placeholder = vue.computed(() => {
6238
- return (props.persistentPlaceholder || isFocused.value) && !isDirty.value ? props.placeholder : '';
6239
- });
6240
6266
  const inputNode = vue.withDirectives(vue.createVNode("input", vue.mergeProps({
6241
6267
  "ref": inputRef,
6242
6268
  "value": model.value,
@@ -6245,7 +6271,7 @@
6245
6271
  "readonly": isReadonly.value,
6246
6272
  "disabled": isDisabled.value,
6247
6273
  "name": props.name,
6248
- "placeholder": placeholder.value,
6274
+ "placeholder": props.placeholder,
6249
6275
  "size": 1,
6250
6276
  "type": props.type,
6251
6277
  "onFocus": onFocus,
@@ -6809,8 +6835,8 @@
6809
6835
  type: Boolean,
6810
6836
  default: true
6811
6837
  },
6812
- onClick: EventProp,
6813
- onClickOnce: EventProp,
6838
+ onClick: EventProp(),
6839
+ onClickOnce: EventProp(),
6814
6840
  ...makeBorderProps(),
6815
6841
  ...makeDensityProps(),
6816
6842
  ...makeElevationProps(),
@@ -7561,6 +7587,9 @@
7561
7587
  } = useNestedItem(vue.toRef(props, 'value'), true);
7562
7588
  const id = vue.computed(() => `v-list-group--id-${String(_id.value)}`);
7563
7589
  const list = useList();
7590
+ const {
7591
+ isBooted
7592
+ } = useSsrBoot();
7564
7593
  function onClick(e) {
7565
7594
  open(!isOpen.value, e);
7566
7595
  }
@@ -7570,6 +7599,17 @@
7570
7599
  id: id.value
7571
7600
  }));
7572
7601
  const toggleIcon = vue.computed(() => isOpen.value ? props.collapseIcon : props.expandIcon);
7602
+ const activatorDefaults = vue.computed(() => ({
7603
+ VListItem: {
7604
+ active: isOpen.value,
7605
+ activeColor: props.activeColor,
7606
+ color: props.color,
7607
+ prependIcon: props.prependIcon || props.subgroup && toggleIcon.value,
7608
+ appendIcon: props.appendIcon || !props.subgroup && toggleIcon.value,
7609
+ title: props.title,
7610
+ value: props.value
7611
+ }
7612
+ }));
7573
7613
  useRender(() => vue.createVNode(props.tag, {
7574
7614
  "class": ['v-list-group', {
7575
7615
  'v-list-group--prepend': list?.hasPrepend.value,
@@ -7579,17 +7619,7 @@
7579
7619
  }]
7580
7620
  }, {
7581
7621
  default: () => [slots.activator && vue.createVNode(VDefaultsProvider, {
7582
- "defaults": {
7583
- VListItem: {
7584
- active: isOpen.value,
7585
- activeColor: props.activeColor,
7586
- color: props.color,
7587
- prependIcon: props.prependIcon || props.subgroup && toggleIcon.value,
7588
- appendIcon: props.appendIcon || !props.subgroup && toggleIcon.value,
7589
- title: props.title,
7590
- value: props.value
7591
- }
7592
- }
7622
+ "defaults": activatorDefaults.value
7593
7623
  }, {
7594
7624
  default: () => [vue.createVNode(VListGroupActivator, null, {
7595
7625
  default: () => [slots.activator({
@@ -7597,7 +7627,12 @@
7597
7627
  isOpen: isOpen.value
7598
7628
  })]
7599
7629
  })]
7600
- }), vue.createVNode(VExpandTransition, null, {
7630
+ }), vue.createVNode(MaybeTransition, {
7631
+ "transition": {
7632
+ component: VExpandTransition
7633
+ },
7634
+ "disabled": !isBooted.value
7635
+ }, {
7601
7636
  default: () => [vue.withDirectives(vue.createVNode("div", {
7602
7637
  "class": "v-list-group__items",
7603
7638
  "role": "group",
@@ -7645,8 +7680,8 @@
7645
7680
  subtitle: [String, Number, Boolean],
7646
7681
  title: [String, Number, Boolean],
7647
7682
  value: null,
7648
- onClick: EventProp,
7649
- onClickOnce: EventProp,
7683
+ onClick: EventProp(),
7684
+ onClickOnce: EventProp(),
7650
7685
  ...makeBorderProps(),
7651
7686
  ...makeDensityProps(),
7652
7687
  ...makeDimensionProps(),
@@ -8188,7 +8223,8 @@
8188
8223
  }
8189
8224
  function focus(location) {
8190
8225
  if (!contentRef.value) return;
8191
- const focusable = [...contentRef.value.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])')].filter(el => !el.hasAttribute('disabled'));
8226
+ const targets = ['button', '[href]', 'input', 'select', 'textarea', '[tabindex]'].map(s => `${s}:not([tabindex="-1"])`).join(', ');
8227
+ const focusable = [...contentRef.value.querySelectorAll(targets)].filter(el => !el.hasAttribute('disabled'));
8192
8228
  const idx = focusable.indexOf(document.activeElement);
8193
8229
  if (!location) {
8194
8230
  if (!contentRef.value.contains(document.activeElement)) {
@@ -8369,6 +8405,7 @@
8369
8405
  isActive.value = !isActive.value;
8370
8406
  },
8371
8407
  mouseenter: e => {
8408
+ if (e.sourceCapabilities?.firesTouchEvents) return;
8372
8409
  isHovered = true;
8373
8410
  activatorEl.value = e.currentTarget || e.target;
8374
8411
  runOpenDelay();
@@ -9895,6 +9932,9 @@
9895
9932
  });
9896
9933
  });
9897
9934
  const selected = vue.computed(() => selections.value.map(selection => selection.props.value));
9935
+ const isFocused = vue.ref(false);
9936
+ let keyboardLookupPrefix = '';
9937
+ let keyboardLookupLastTime;
9898
9938
  const displayItems = vue.computed(() => {
9899
9939
  if (props.hideSelected) {
9900
9940
  return items.value.filter(item => !selections.value.some(s => s === item));
@@ -9931,6 +9971,26 @@
9931
9971
  } else if (e.key === 'End') {
9932
9972
  listRef.value?.focus('last');
9933
9973
  }
9974
+
9975
+ // html select hotkeys
9976
+ const KEYBOARD_LOOKUP_THRESHOLD = 1000; // milliseconds
9977
+
9978
+ function checkPrintable(e) {
9979
+ const isPrintableChar = e.key.length === 1;
9980
+ const noModifier = !e.ctrlKey && !e.metaKey && !e.altKey;
9981
+ return isPrintableChar && noModifier;
9982
+ }
9983
+ if (props.multiple || !checkPrintable(e)) return;
9984
+ const now = performance.now();
9985
+ if (now - keyboardLookupLastTime > KEYBOARD_LOOKUP_THRESHOLD) {
9986
+ keyboardLookupPrefix = '';
9987
+ }
9988
+ keyboardLookupPrefix += e.key.toLowerCase();
9989
+ keyboardLookupLastTime = now;
9990
+ const item = items.value.find(item => item.title.toLowerCase().startsWith(keyboardLookupPrefix));
9991
+ if (item !== undefined) {
9992
+ model.value = [item];
9993
+ }
9934
9994
  }
9935
9995
  function select(item) {
9936
9996
  if (props.multiple) {
@@ -9960,7 +10020,9 @@
9960
10020
  useRender(() => {
9961
10021
  const hasChips = !!(props.chips || slots.chip);
9962
10022
  const hasList = !!(!props.hideNoData || displayItems.value.length || slots.prepend || slots.append || slots['no-data']);
10023
+ const isDirty = model.value.length > 0;
9963
10024
  const [textFieldProps] = VTextField.filterProps(props);
10025
+ const placeholder = isDirty || !isFocused.value && props.label && !props.persistentPlaceholder ? undefined : props.placeholder;
9964
10026
  return vue.createVNode(VTextField, vue.mergeProps({
9965
10027
  "ref": vTextFieldRef
9966
10028
  }, textFieldProps, {
@@ -9968,8 +10030,10 @@
9968
10030
  "onUpdate:modelValue": v => {
9969
10031
  if (v == null) model.value = [];
9970
10032
  },
10033
+ "focused": isFocused.value,
10034
+ "onUpdate:focused": $event => isFocused.value = $event,
9971
10035
  "validationValue": model.externalValue,
9972
- "dirty": model.value.length > 0,
10036
+ "dirty": isDirty,
9973
10037
  "class": ['v-select', {
9974
10038
  'v-select--active-menu': menu.value,
9975
10039
  'v-select--chips': !!props.chips,
@@ -9978,6 +10042,7 @@
9978
10042
  }],
9979
10043
  "appendInnerIcon": props.menuIcon,
9980
10044
  "readonly": true,
10045
+ "placeholder": placeholder,
9981
10046
  "onClick:clear": onClear,
9982
10047
  "onMousedown:control": onMousedownControl,
9983
10048
  "onBlur": onBlur,
@@ -10026,7 +10091,8 @@
10026
10091
  } = _ref2;
10027
10092
  return props.multiple && !props.hideSelected ? vue.createVNode(VCheckboxBtn, {
10028
10093
  "modelValue": isSelected,
10029
- "ripple": false
10094
+ "ripple": false,
10095
+ "tabindex": "-1"
10030
10096
  }, null) : undefined;
10031
10097
  }
10032
10098
  });
@@ -10353,6 +10419,7 @@
10353
10419
  useRender(() => {
10354
10420
  const hasChips = !!(props.chips || slots.chip);
10355
10421
  const hasList = !!(!props.hideNoData || displayItems.value.length || slots.prepend || slots.append || slots['no-data']);
10422
+ const isDirty = model.value.length > 0;
10356
10423
  const [textFieldProps] = VTextField.filterProps(props);
10357
10424
  return vue.createVNode(VTextField, vue.mergeProps({
10358
10425
  "ref": vTextFieldRef
@@ -10362,7 +10429,7 @@
10362
10429
  if (v == null) model.value = [];
10363
10430
  },
10364
10431
  "validationValue": model.externalValue,
10365
- "dirty": model.value.length > 0,
10432
+ "dirty": isDirty,
10366
10433
  "onInput": onInput,
10367
10434
  "class": ['v-autocomplete', {
10368
10435
  'v-autocomplete--active-menu': menu.value,
@@ -10372,6 +10439,7 @@
10372
10439
  }],
10373
10440
  "appendInnerIcon": props.menuIcon,
10374
10441
  "readonly": props.readonly,
10442
+ "placeholder": isDirty ? undefined : props.placeholder,
10375
10443
  "onClick:clear": onClear,
10376
10444
  "onMousedown:control": onMousedownControl,
10377
10445
  "onFocus": () => isFocused.value = true,
@@ -10402,14 +10470,13 @@
10402
10470
  }, {
10403
10471
  default: () => [!displayItems.value.length && !props.hideNoData && (slots['no-data']?.() ?? vue.createVNode(VListItem, {
10404
10472
  "title": t(props.noDataText)
10405
- }, null)), slots['prepend-item']?.(), displayItems.value.map((item, index) => slots.item?.({
10473
+ }, null)), slots['prepend-item']?.(), displayItems.value.map(item => slots.item?.({
10406
10474
  item,
10407
- index,
10408
10475
  props: vue.mergeProps(item.props, {
10409
10476
  onClick: () => select(item)
10410
10477
  })
10411
10478
  }) ?? vue.createVNode(VListItem, vue.mergeProps({
10412
- "key": index
10479
+ "key": item.value
10413
10480
  }, item.props, {
10414
10481
  "onClick": () => select(item)
10415
10482
  }), {
@@ -10419,7 +10486,8 @@
10419
10486
  } = _ref2;
10420
10487
  return props.multiple && !props.hideSelected ? vue.createVNode(VCheckboxBtn, {
10421
10488
  "modelValue": isSelected,
10422
- "ripple": false
10489
+ "ripple": false,
10490
+ "tabindex": "-1"
10423
10491
  }, null) : undefined;
10424
10492
  },
10425
10493
  title: () => {
@@ -10544,7 +10612,7 @@
10544
10612
  });
10545
10613
  useRender(() => {
10546
10614
  const value = Number(props.content);
10547
- const content = !props.max || isNaN(value) ? props.content : value <= props.max ? value : `${props.max}+`;
10615
+ const content = !props.max || isNaN(value) ? props.content : value <= +props.max ? value : `${props.max}+`;
10548
10616
  const [badgeAttrs, attrs] = pick(ctx.attrs, ['aria-atomic', 'aria-label', 'aria-live', 'role', 'title']);
10549
10617
  return vue.createVNode(props.tag, vue.mergeProps({
10550
10618
  "class": ['v-badge', {
@@ -11341,47 +11409,48 @@
11341
11409
 
11342
11410
  const VWindowSymbol = Symbol.for('vuetify:v-window');
11343
11411
  const VWindowGroupSymbol = Symbol.for('vuetify:v-window-group');
11412
+ const makeVWindowProps = propsFactory({
11413
+ continuous: Boolean,
11414
+ nextIcon: {
11415
+ type: [Boolean, String, Function, Object],
11416
+ default: '$next'
11417
+ },
11418
+ prevIcon: {
11419
+ type: [Boolean, String, Function, Object],
11420
+ default: '$prev'
11421
+ },
11422
+ reverse: Boolean,
11423
+ showArrows: {
11424
+ type: [Boolean, String],
11425
+ validator: v => typeof v === 'boolean' || v === 'hover'
11426
+ },
11427
+ touch: {
11428
+ type: [Object, Boolean],
11429
+ default: undefined
11430
+ },
11431
+ direction: {
11432
+ type: String,
11433
+ default: 'horizontal'
11434
+ },
11435
+ modelValue: null,
11436
+ disabled: Boolean,
11437
+ selectedClass: {
11438
+ type: String,
11439
+ default: 'v-window-item--active'
11440
+ },
11441
+ // TODO: mandatory should probably not be exposed but do this for now
11442
+ mandatory: {
11443
+ default: 'force'
11444
+ },
11445
+ ...makeTagProps(),
11446
+ ...makeThemeProps()
11447
+ }, 'v-window');
11344
11448
  const VWindow = genericComponent()({
11345
11449
  name: 'VWindow',
11346
11450
  directives: {
11347
11451
  Touch
11348
11452
  },
11349
- props: {
11350
- continuous: Boolean,
11351
- nextIcon: {
11352
- type: [Boolean, String, Function, Object],
11353
- default: '$next'
11354
- },
11355
- prevIcon: {
11356
- type: [Boolean, String, Function, Object],
11357
- default: '$prev'
11358
- },
11359
- reverse: Boolean,
11360
- showArrows: {
11361
- type: [Boolean, String],
11362
- validator: v => typeof v === 'boolean' || v === 'hover'
11363
- },
11364
- touch: {
11365
- type: [Object, Boolean],
11366
- default: undefined
11367
- },
11368
- direction: {
11369
- type: String,
11370
- default: 'horizontal'
11371
- },
11372
- modelValue: null,
11373
- disabled: Boolean,
11374
- selectedClass: {
11375
- type: String,
11376
- default: 'v-window-item--active'
11377
- },
11378
- // TODO: mandatory should probably not be exposed but do this for now
11379
- mandatory: {
11380
- default: 'force'
11381
- },
11382
- ...makeTagProps(),
11383
- ...makeThemeProps()
11384
- },
11453
+ props: makeVWindowProps(),
11385
11454
  emits: {
11386
11455
  'update:modelValue': v => true
11387
11456
  },
@@ -11509,112 +11578,6 @@
11509
11578
  }
11510
11579
  });
11511
11580
 
11512
- const VWindowItem = genericComponent()({
11513
- name: 'VWindowItem',
11514
- directives: {
11515
- Touch
11516
- },
11517
- props: {
11518
- reverseTransition: {
11519
- type: [Boolean, String],
11520
- default: undefined
11521
- },
11522
- transition: {
11523
- type: [Boolean, String],
11524
- default: undefined
11525
- },
11526
- ...makeGroupItemProps(),
11527
- ...makeLazyProps()
11528
- },
11529
- emits: {
11530
- 'group:selected': val => true
11531
- },
11532
- setup(props, _ref) {
11533
- let {
11534
- slots
11535
- } = _ref;
11536
- const window = vue.inject(VWindowSymbol);
11537
- const groupItem = useGroupItem(props, VWindowGroupSymbol);
11538
- const {
11539
- isBooted
11540
- } = useSsrBoot();
11541
- if (!window || !groupItem) throw new Error('[Vuetify] VWindowItem must be used inside VWindow');
11542
- const isTransitioning = vue.ref(false);
11543
- const hasTransition = vue.computed(() => window.isReversed.value ? props.reverseTransition !== false : props.transition !== false);
11544
- function onAfterTransition() {
11545
- if (!isTransitioning.value || !window) {
11546
- return;
11547
- }
11548
-
11549
- // Finalize transition state.
11550
- isTransitioning.value = false;
11551
- if (window.transitionCount.value > 0) {
11552
- window.transitionCount.value -= 1;
11553
-
11554
- // Remove container height if we are out of transition.
11555
- if (window.transitionCount.value === 0) {
11556
- window.transitionHeight.value = undefined;
11557
- }
11558
- }
11559
- }
11560
- function onBeforeTransition() {
11561
- if (isTransitioning.value || !window) {
11562
- return;
11563
- }
11564
-
11565
- // Initialize transition state here.
11566
- isTransitioning.value = true;
11567
- if (window.transitionCount.value === 0) {
11568
- // Set initial height for height transition.
11569
- window.transitionHeight.value = convertToUnit(window.rootRef.value?.clientHeight);
11570
- }
11571
- window.transitionCount.value += 1;
11572
- }
11573
- function onTransitionCancelled() {
11574
- onAfterTransition(); // This should have the same path as normal transition end.
11575
- }
11576
-
11577
- function onEnterTransition(el) {
11578
- if (!isTransitioning.value) {
11579
- return;
11580
- }
11581
- vue.nextTick(() => {
11582
- // Do not set height if no transition or cancelled.
11583
- if (!hasTransition.value || !isTransitioning.value || !window) {
11584
- return;
11585
- }
11586
-
11587
- // Set transition target height.
11588
- window.transitionHeight.value = convertToUnit(el.clientHeight);
11589
- });
11590
- }
11591
- const transition = vue.computed(() => {
11592
- const name = window.isReversed.value ? props.reverseTransition : props.transition;
11593
- return !hasTransition.value ? false : {
11594
- name: typeof name !== 'string' ? window.transition.value : name,
11595
- onBeforeEnter: onBeforeTransition,
11596
- onAfterEnter: onAfterTransition,
11597
- onEnterCancelled: onTransitionCancelled,
11598
- onBeforeLeave: onBeforeTransition,
11599
- onAfterLeave: onAfterTransition,
11600
- onLeaveCancelled: onTransitionCancelled,
11601
- onEnter: onEnterTransition
11602
- };
11603
- });
11604
- const {
11605
- hasContent
11606
- } = useLazy(props, groupItem.isSelected);
11607
- useRender(() => vue.createVNode(MaybeTransition, {
11608
- "transition": isBooted.value && transition.value
11609
- }, {
11610
- default: () => [vue.withDirectives(vue.createVNode("div", {
11611
- "class": ['v-window-item', groupItem.selectedClass.value]
11612
- }, [hasContent.value && slots.default?.()]), [[vue.vShow, groupItem.isSelected.value]])]
11613
- }));
11614
- return {};
11615
- }
11616
- });
11617
-
11618
11581
  // Types
11619
11582
 
11620
11583
  const VCarousel = genericComponent()({
@@ -11635,16 +11598,15 @@
11635
11598
  interval: {
11636
11599
  type: [Number, String],
11637
11600
  default: 6000,
11638
- validator: value => value > 0
11601
+ validator: value => Number(value) > 0
11639
11602
  },
11640
- modelValue: null,
11641
11603
  progress: [Boolean, String],
11642
- showArrows: {
11643
- type: [Boolean, String],
11644
- default: true,
11645
- validator: v => typeof v === 'boolean' || v === 'hover'
11646
- },
11647
- verticalDelimiters: [Boolean, String]
11604
+ verticalDelimiters: [Boolean, String],
11605
+ ...makeVWindowProps({
11606
+ continuous: true,
11607
+ mandatory: 'force',
11608
+ showArrows: true
11609
+ })
11648
11610
  },
11649
11611
  emits: {
11650
11612
  'update:modelValue': val => true
@@ -11712,6 +11674,7 @@
11712
11674
  }, {
11713
11675
  default: () => [group.items.value.map((item, index) => {
11714
11676
  const props = {
11677
+ id: `carousel-item-${item.id}`,
11715
11678
  'aria-label': t('$vuetify.carousel.ariaLabel.delimiter', index + 1, group.items.value.length),
11716
11679
  class: [group.isSelected(item.id) && 'v-btn--active'],
11717
11680
  onClick: () => group.select(item.id, true)
@@ -11734,29 +11697,189 @@
11734
11697
  }
11735
11698
  });
11736
11699
 
11737
- // Types
11738
-
11739
- const VCarouselItem = genericComponent()({
11740
- name: 'VCarouselItem',
11741
- inheritAttrs: false,
11700
+ const VWindowItem = genericComponent()({
11701
+ name: 'VWindowItem',
11702
+ directives: {
11703
+ Touch
11704
+ },
11742
11705
  props: {
11743
- value: null
11706
+ reverseTransition: {
11707
+ type: [Boolean, String],
11708
+ default: undefined
11709
+ },
11710
+ transition: {
11711
+ type: [Boolean, String],
11712
+ default: undefined
11713
+ },
11714
+ ...makeGroupItemProps(),
11715
+ ...makeLazyProps()
11716
+ },
11717
+ emits: {
11718
+ 'group:selected': val => true
11744
11719
  },
11745
11720
  setup(props, _ref) {
11746
11721
  let {
11747
- slots,
11748
- attrs
11722
+ slots
11749
11723
  } = _ref;
11750
- useRender(() => vue.createVNode(VWindowItem, {
11751
- "class": "v-carousel-item",
11752
- "value": props.value
11753
- }, {
11754
- default: () => [vue.createVNode(VImg, attrs, slots)]
11755
- }));
11756
- }
11757
- });
11758
-
11759
- const VCode = createSimpleFunctional('v-code');
11724
+ const window = vue.inject(VWindowSymbol);
11725
+ const groupItem = useGroupItem(props, VWindowGroupSymbol);
11726
+ const {
11727
+ isBooted
11728
+ } = useSsrBoot();
11729
+ if (!window || !groupItem) throw new Error('[Vuetify] VWindowItem must be used inside VWindow');
11730
+ const isTransitioning = vue.ref(false);
11731
+ const hasTransition = vue.computed(() => window.isReversed.value ? props.reverseTransition !== false : props.transition !== false);
11732
+ function onAfterTransition() {
11733
+ if (!isTransitioning.value || !window) {
11734
+ return;
11735
+ }
11736
+
11737
+ // Finalize transition state.
11738
+ isTransitioning.value = false;
11739
+ if (window.transitionCount.value > 0) {
11740
+ window.transitionCount.value -= 1;
11741
+
11742
+ // Remove container height if we are out of transition.
11743
+ if (window.transitionCount.value === 0) {
11744
+ window.transitionHeight.value = undefined;
11745
+ }
11746
+ }
11747
+ }
11748
+ function onBeforeTransition() {
11749
+ if (isTransitioning.value || !window) {
11750
+ return;
11751
+ }
11752
+
11753
+ // Initialize transition state here.
11754
+ isTransitioning.value = true;
11755
+ if (window.transitionCount.value === 0) {
11756
+ // Set initial height for height transition.
11757
+ window.transitionHeight.value = convertToUnit(window.rootRef.value?.clientHeight);
11758
+ }
11759
+ window.transitionCount.value += 1;
11760
+ }
11761
+ function onTransitionCancelled() {
11762
+ onAfterTransition(); // This should have the same path as normal transition end.
11763
+ }
11764
+
11765
+ function onEnterTransition(el) {
11766
+ if (!isTransitioning.value) {
11767
+ return;
11768
+ }
11769
+ vue.nextTick(() => {
11770
+ // Do not set height if no transition or cancelled.
11771
+ if (!hasTransition.value || !isTransitioning.value || !window) {
11772
+ return;
11773
+ }
11774
+
11775
+ // Set transition target height.
11776
+ window.transitionHeight.value = convertToUnit(el.clientHeight);
11777
+ });
11778
+ }
11779
+ const transition = vue.computed(() => {
11780
+ const name = window.isReversed.value ? props.reverseTransition : props.transition;
11781
+ return !hasTransition.value ? false : {
11782
+ name: typeof name !== 'string' ? window.transition.value : name,
11783
+ onBeforeEnter: onBeforeTransition,
11784
+ onAfterEnter: onAfterTransition,
11785
+ onEnterCancelled: onTransitionCancelled,
11786
+ onBeforeLeave: onBeforeTransition,
11787
+ onAfterLeave: onAfterTransition,
11788
+ onLeaveCancelled: onTransitionCancelled,
11789
+ onEnter: onEnterTransition
11790
+ };
11791
+ });
11792
+ const {
11793
+ hasContent
11794
+ } = useLazy(props, groupItem.isSelected);
11795
+ useRender(() => vue.createVNode(MaybeTransition, {
11796
+ "transition": transition.value,
11797
+ "disabled": !isBooted.value
11798
+ }, {
11799
+ default: () => [vue.withDirectives(vue.createVNode("div", {
11800
+ "class": ['v-window-item', groupItem.selectedClass.value]
11801
+ }, [hasContent.value && slots.default?.()]), [[vue.vShow, groupItem.isSelected.value]])]
11802
+ }));
11803
+ return {};
11804
+ }
11805
+ });
11806
+
11807
+ // Types
11808
+
11809
+ const VCarouselItem = genericComponent()({
11810
+ name: 'VCarouselItem',
11811
+ inheritAttrs: false,
11812
+ props: {
11813
+ value: null
11814
+ },
11815
+ setup(props, _ref) {
11816
+ let {
11817
+ slots,
11818
+ attrs
11819
+ } = _ref;
11820
+ useRender(() => vue.createVNode(VWindowItem, {
11821
+ "class": "v-carousel-item",
11822
+ "value": props.value
11823
+ }, {
11824
+ default: () => [vue.createVNode(VImg, attrs, slots)]
11825
+ }));
11826
+ }
11827
+ });
11828
+
11829
+ const VCode = createSimpleFunctional('v-code');
11830
+
11831
+ const makeVSheetProps = propsFactory({
11832
+ color: String,
11833
+ ...makeBorderProps(),
11834
+ ...makeDimensionProps(),
11835
+ ...makeElevationProps(),
11836
+ ...makeLocationProps(),
11837
+ ...makePositionProps(),
11838
+ ...makeRoundedProps(),
11839
+ ...makeTagProps(),
11840
+ ...makeThemeProps()
11841
+ }, 'v-sheet');
11842
+ const VSheet = genericComponent()({
11843
+ name: 'VSheet',
11844
+ props: {
11845
+ ...makeVSheetProps()
11846
+ },
11847
+ setup(props, _ref) {
11848
+ let {
11849
+ slots
11850
+ } = _ref;
11851
+ const {
11852
+ themeClasses
11853
+ } = provideTheme(props);
11854
+ const {
11855
+ backgroundColorClasses,
11856
+ backgroundColorStyles
11857
+ } = useBackgroundColor(vue.toRef(props, 'color'));
11858
+ const {
11859
+ borderClasses
11860
+ } = useBorder(props);
11861
+ const {
11862
+ dimensionStyles
11863
+ } = useDimension(props);
11864
+ const {
11865
+ elevationClasses
11866
+ } = useElevation(props);
11867
+ const {
11868
+ locationStyles
11869
+ } = useLocation(props);
11870
+ const {
11871
+ positionClasses
11872
+ } = usePosition(props);
11873
+ const {
11874
+ roundedClasses
11875
+ } = useRounded(props);
11876
+ useRender(() => vue.createVNode(props.tag, {
11877
+ "class": ['v-sheet', themeClasses.value, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, positionClasses.value, roundedClasses.value],
11878
+ "style": [backgroundColorStyles.value, dimensionStyles.value, locationStyles.value]
11879
+ }, slots));
11880
+ return {};
11881
+ }
11882
+ });
11760
11883
 
11761
11884
  // Types
11762
11885
 
@@ -12300,7 +12423,7 @@
12300
12423
  });
12301
12424
  const min = vue.computed(() => parseFloat(props.min));
12302
12425
  const max = vue.computed(() => parseFloat(props.max));
12303
- const step = vue.computed(() => props.step > 0 ? parseFloat(props.step) : 0);
12426
+ const step = vue.computed(() => +props.step > 0 ? parseFloat(props.step) : 0);
12304
12427
  const decimals = vue.computed(() => Math.max(getDecimals(step.value), getDecimals(min.value)));
12305
12428
  const thumbSize = vue.computed(() => parseInt(props.thumbSize, 10));
12306
12429
  const tickSize = vue.computed(() => parseInt(props.tickSize, 10));
@@ -12794,7 +12917,7 @@
12794
12917
  }), {
12795
12918
  ...slots,
12796
12919
  prepend: hasPrepend ? slotProps => vue.createVNode(vue.Fragment, null, [slots.label?.(slotProps) ?? props.label ? vue.createVNode(VLabel, {
12797
- "id": slotProps.id,
12920
+ "id": slotProps.id.value,
12798
12921
  "class": "v-slider__label",
12799
12922
  "text": props.label
12800
12923
  }, null) : undefined, slots.prepend?.(slotProps)]) : undefined,
@@ -13279,59 +13402,6 @@
13279
13402
  }
13280
13403
  });
13281
13404
 
13282
- const makeVSheetProps = propsFactory({
13283
- color: String,
13284
- ...makeBorderProps(),
13285
- ...makeDimensionProps(),
13286
- ...makeElevationProps(),
13287
- ...makeLocationProps(),
13288
- ...makePositionProps(),
13289
- ...makeRoundedProps(),
13290
- ...makeTagProps(),
13291
- ...makeThemeProps()
13292
- }, 'v-sheet');
13293
- const VSheet = genericComponent()({
13294
- name: 'VSheet',
13295
- props: {
13296
- ...makeVSheetProps()
13297
- },
13298
- setup(props, _ref) {
13299
- let {
13300
- slots
13301
- } = _ref;
13302
- const {
13303
- themeClasses
13304
- } = provideTheme(props);
13305
- const {
13306
- backgroundColorClasses,
13307
- backgroundColorStyles
13308
- } = useBackgroundColor(vue.toRef(props, 'color'));
13309
- const {
13310
- borderClasses
13311
- } = useBorder(props);
13312
- const {
13313
- dimensionStyles
13314
- } = useDimension(props);
13315
- const {
13316
- elevationClasses
13317
- } = useElevation(props);
13318
- const {
13319
- locationStyles
13320
- } = useLocation(props);
13321
- const {
13322
- positionClasses
13323
- } = usePosition(props);
13324
- const {
13325
- roundedClasses
13326
- } = useRounded(props);
13327
- useRender(() => vue.createVNode(props.tag, {
13328
- "class": ['v-sheet', themeClasses.value, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, positionClasses.value, roundedClasses.value],
13329
- "style": [backgroundColorStyles.value, dimensionStyles.value, locationStyles.value]
13330
- }, slots));
13331
- return {};
13332
- }
13333
- });
13334
-
13335
13405
  // Types
13336
13406
 
13337
13407
  const VColorPicker = defineComponent({
@@ -13368,13 +13438,9 @@
13368
13438
  modelValue: {
13369
13439
  type: [Object, String]
13370
13440
  },
13371
- width: {
13372
- type: [Number, String],
13373
- default: 300
13374
- },
13375
- ...makeElevationProps(),
13376
- ...makeRoundedProps(),
13377
- ...makeThemeProps()
13441
+ ...omit(makeVSheetProps({
13442
+ width: 300
13443
+ }), ['height', 'location', 'minHeight', 'maxHeight', 'minWidth', 'maxWidth'])
13378
13444
  },
13379
13445
  emits: {
13380
13446
  'update:modelValue': color => true,
@@ -13412,53 +13478,57 @@
13412
13478
  trackFillColor: undefined
13413
13479
  }
13414
13480
  });
13415
- useRender(() => vue.createVNode(VSheet, {
13416
- "rounded": props.rounded,
13417
- "elevation": props.elevation,
13418
- "theme": props.theme,
13419
- "class": ['v-color-picker'],
13420
- "style": {
13421
- '--v-color-picker-color-hsv': HSVtoCSS({
13422
- ...(currentColor.value ?? nullColor),
13423
- a: 1
13424
- })
13425
- },
13426
- "maxWidth": props.width
13427
- }, {
13428
- default: () => [!props.hideCanvas && vue.createVNode(VColorPickerCanvas, {
13429
- "key": "canvas",
13430
- "color": currentColor.value,
13431
- "onUpdate:color": updateColor,
13432
- "disabled": props.disabled,
13433
- "dotSize": props.dotSize,
13434
- "width": props.width,
13435
- "height": props.canvasHeight
13436
- }, null), (!props.hideSliders || !props.hideInputs) && vue.createVNode("div", {
13437
- "key": "controls",
13438
- "class": "v-color-picker__controls"
13439
- }, [!props.hideSliders && vue.createVNode(VColorPickerPreview, {
13440
- "key": "preview",
13441
- "color": currentColor.value,
13442
- "onUpdate:color": updateColor,
13443
- "hideAlpha": !mode.value.endsWith('a'),
13444
- "disabled": props.disabled
13445
- }, null), !props.hideInputs && vue.createVNode(VColorPickerEdit, {
13446
- "key": "edit",
13447
- "modes": props.modes,
13448
- "mode": mode.value,
13449
- "onUpdate:mode": m => mode.value = m,
13450
- "color": currentColor.value,
13451
- "onUpdate:color": updateColor,
13452
- "disabled": props.disabled
13453
- }, null)]), props.showSwatches && vue.createVNode(VColorPickerSwatches, {
13454
- "key": "swatches",
13455
- "color": currentColor.value,
13456
- "onUpdate:color": updateColor,
13457
- "maxHeight": props.swatchesMaxHeight,
13458
- "swatches": props.swatches,
13459
- "disabled": props.disabled
13460
- }, null)]
13461
- }));
13481
+ useRender(() => {
13482
+ const [sheetProps] = VSheet.filterProps(props);
13483
+ return vue.createVNode(VSheet, vue.mergeProps({
13484
+ "rounded": props.rounded,
13485
+ "elevation": props.elevation,
13486
+ "theme": props.theme,
13487
+ "class": ['v-color-picker'],
13488
+ "style": {
13489
+ '--v-color-picker-color-hsv': HSVtoCSS({
13490
+ ...(currentColor.value ?? nullColor),
13491
+ a: 1
13492
+ })
13493
+ }
13494
+ }, sheetProps, {
13495
+ "maxWidth": props.width
13496
+ }), {
13497
+ default: () => [!props.hideCanvas && vue.createVNode(VColorPickerCanvas, {
13498
+ "key": "canvas",
13499
+ "color": currentColor.value,
13500
+ "onUpdate:color": updateColor,
13501
+ "disabled": props.disabled,
13502
+ "dotSize": props.dotSize,
13503
+ "width": props.width,
13504
+ "height": props.canvasHeight
13505
+ }, null), (!props.hideSliders || !props.hideInputs) && vue.createVNode("div", {
13506
+ "key": "controls",
13507
+ "class": "v-color-picker__controls"
13508
+ }, [!props.hideSliders && vue.createVNode(VColorPickerPreview, {
13509
+ "key": "preview",
13510
+ "color": currentColor.value,
13511
+ "onUpdate:color": updateColor,
13512
+ "hideAlpha": !mode.value.endsWith('a'),
13513
+ "disabled": props.disabled
13514
+ }, null), !props.hideInputs && vue.createVNode(VColorPickerEdit, {
13515
+ "key": "edit",
13516
+ "modes": props.modes,
13517
+ "mode": mode.value,
13518
+ "onUpdate:mode": m => mode.value = m,
13519
+ "color": currentColor.value,
13520
+ "onUpdate:color": updateColor,
13521
+ "disabled": props.disabled
13522
+ }, null)]), props.showSwatches && vue.createVNode(VColorPickerSwatches, {
13523
+ "key": "swatches",
13524
+ "color": currentColor.value,
13525
+ "onUpdate:color": updateColor,
13526
+ "maxHeight": props.swatchesMaxHeight,
13527
+ "swatches": props.swatches,
13528
+ "disabled": props.disabled
13529
+ }, null)]
13530
+ });
13531
+ });
13462
13532
  return {};
13463
13533
  }
13464
13534
  });
@@ -13533,7 +13603,7 @@
13533
13603
  textColorClasses,
13534
13604
  textColorStyles
13535
13605
  } = useTextColor(color);
13536
- const model = useProxiedModel(props, 'modelValue', [], v => transformIn(wrapInArray(v || [])), v => {
13606
+ const model = useProxiedModel(props, 'modelValue', [], v => transformIn(wrapInArray(v)), v => {
13537
13607
  const transformed = transformOut(v);
13538
13608
  return props.multiple ? transformed : transformed[0] ?? null;
13539
13609
  });
@@ -13711,6 +13781,7 @@
13711
13781
  useRender(() => {
13712
13782
  const hasChips = !!(props.chips || slots.chip);
13713
13783
  const hasList = !!(!props.hideNoData || displayItems.value.length || slots.prepend || slots.append || slots['no-data']);
13784
+ const isDirty = model.value.length > 0;
13714
13785
  const [textFieldProps] = VTextField.filterProps(props);
13715
13786
  return vue.createVNode(VTextField, vue.mergeProps({
13716
13787
  "ref": vTextFieldRef
@@ -13720,7 +13791,7 @@
13720
13791
  if (v == null) model.value = [];
13721
13792
  }],
13722
13793
  "validationValue": model.externalValue,
13723
- "dirty": model.value.length > 0,
13794
+ "dirty": isDirty,
13724
13795
  "class": ['v-combobox', {
13725
13796
  'v-combobox--active-menu': menu.value,
13726
13797
  'v-combobox--chips': !!props.chips,
@@ -13729,6 +13800,7 @@
13729
13800
  }],
13730
13801
  "appendInnerIcon": props.items.length ? props.menuIcon : undefined,
13731
13802
  "readonly": props.readonly,
13803
+ "placeholder": isDirty ? undefined : props.placeholder,
13732
13804
  "onClick:clear": onClear,
13733
13805
  "onMousedown:control": onMousedownControl,
13734
13806
  "onFocus": () => isFocused.value = true,
@@ -13759,14 +13831,13 @@
13759
13831
  }, {
13760
13832
  default: () => [!displayItems.value.length && !props.hideNoData && (slots['no-data']?.() ?? vue.createVNode(VListItem, {
13761
13833
  "title": t(props.noDataText)
13762
- }, null)), slots['prepend-item']?.(), displayItems.value.map((item, index) => slots.item?.({
13834
+ }, null)), slots['prepend-item']?.(), displayItems.value.map(item => slots.item?.({
13763
13835
  item,
13764
- index,
13765
13836
  props: vue.mergeProps(item.props, {
13766
13837
  onClick: () => select(item)
13767
13838
  })
13768
13839
  }) ?? vue.createVNode(VListItem, vue.mergeProps({
13769
- "key": index
13840
+ "key": item.value
13770
13841
  }, item.props, {
13771
13842
  "onClick": () => select(item)
13772
13843
  }), {
@@ -13776,7 +13847,8 @@
13776
13847
  } = _ref2;
13777
13848
  return props.multiple && !props.hideSelected ? vue.createVNode(VCheckboxBtn, {
13778
13849
  "modelValue": isSelected,
13779
- "ripple": false
13850
+ "ripple": false,
13851
+ "tabindex": "-1"
13780
13852
  }, null) : undefined;
13781
13853
  },
13782
13854
  title: () => {
@@ -14186,7 +14258,6 @@
14186
14258
  multiple: Boolean,
14187
14259
  hint: String,
14188
14260
  persistentHint: Boolean,
14189
- placeholder: String,
14190
14261
  showSize: {
14191
14262
  type: [Boolean, Number],
14192
14263
  default: false,
@@ -15510,12 +15581,18 @@
15510
15581
  bgColor: 'transparent'
15511
15582
  }
15512
15583
  });
15584
+ function onMouseenter() {
15585
+ isHovering.value = true;
15586
+ }
15587
+ function onMouseleave() {
15588
+ isHovering.value = false;
15589
+ }
15513
15590
  useRender(() => {
15514
15591
  const hasImage = slots.image || props.image;
15515
15592
  return vue.createVNode(vue.Fragment, null, [vue.createVNode(props.tag, vue.mergeProps({
15516
15593
  "ref": rootEl,
15517
- "onMouseenter": () => isHovering.value = true,
15518
- "onMouseleave": () => isHovering.value = false,
15594
+ "onMouseenter": onMouseenter,
15595
+ "onMouseleave": onMouseleave,
15519
15596
  "class": ['v-navigation-drawer', `v-navigation-drawer--${location.value}`, {
15520
15597
  'v-navigation-drawer--expand-on-hover': props.expandOnHover,
15521
15598
  'v-navigation-drawer--floating': props.floating,
@@ -15791,7 +15868,7 @@
15791
15868
  ref,
15792
15869
  ellipsis: false,
15793
15870
  icon: true,
15794
- disabled: !!props.disabled || props.length < 2,
15871
+ disabled: !!props.disabled || +props.length < 2,
15795
15872
  color: isActive ? props.activeColor : props.color,
15796
15873
  ariaCurrent: isActive,
15797
15874
  ariaLabel: t(isActive ? props.currentPageAriaLabel : props.pageAriaLabel, item),
@@ -15840,7 +15917,7 @@
15840
15917
  refs.value[currentIndex]?.$el.focus();
15841
15918
  }
15842
15919
  function onKeydown(e) {
15843
- if (e.key === keyValues.left && !props.disabled && page.value > props.start) {
15920
+ if (e.key === keyValues.left && !props.disabled && page.value > +props.start) {
15844
15921
  page.value = page.value - 1;
15845
15922
  vue.nextTick(updateFocus);
15846
15923
  } else if (e.key === keyValues.right && !props.disabled && page.value < start.value + length.value - 1) {
@@ -16544,35 +16621,36 @@
16544
16621
  // Types
16545
16622
 
16546
16623
  const VSlideGroupSymbol = Symbol.for('vuetify:v-slide-group');
16624
+ const makeVSlideGroupProps = propsFactory({
16625
+ centerActive: Boolean,
16626
+ direction: {
16627
+ type: String,
16628
+ default: 'horizontal'
16629
+ },
16630
+ symbol: {
16631
+ type: null,
16632
+ default: VSlideGroupSymbol
16633
+ },
16634
+ nextIcon: {
16635
+ type: IconValue,
16636
+ default: '$next'
16637
+ },
16638
+ prevIcon: {
16639
+ type: IconValue,
16640
+ default: '$prev'
16641
+ },
16642
+ showArrows: {
16643
+ type: [Boolean, String],
16644
+ validator: v => typeof v === 'boolean' || ['always', 'desktop', 'mobile'].includes(v)
16645
+ },
16646
+ ...makeTagProps(),
16647
+ ...makeGroupProps({
16648
+ selectedClass: 'v-slide-group-item--active'
16649
+ })
16650
+ }, 'v-slide-group');
16547
16651
  const VSlideGroup = genericComponent()({
16548
16652
  name: 'VSlideGroup',
16549
- props: {
16550
- centerActive: Boolean,
16551
- direction: {
16552
- type: String,
16553
- default: 'horizontal'
16554
- },
16555
- symbol: {
16556
- type: null,
16557
- default: VSlideGroupSymbol
16558
- },
16559
- nextIcon: {
16560
- type: IconValue,
16561
- default: '$next'
16562
- },
16563
- prevIcon: {
16564
- type: IconValue,
16565
- default: '$prev'
16566
- },
16567
- showArrows: {
16568
- type: [Boolean, String],
16569
- validator: v => typeof v === 'boolean' || ['always', 'desktop', 'mobile'].includes(v)
16570
- },
16571
- ...makeTagProps(),
16572
- ...makeGroupProps({
16573
- selectedClass: 'v-slide-group-item--active'
16574
- })
16575
- },
16653
+ props: makeVSlideGroupProps(),
16576
16654
  emits: {
16577
16655
  'update:modelValue': value => true
16578
16656
  },
@@ -17281,10 +17359,6 @@
17281
17359
  default: 'start'
17282
17360
  },
17283
17361
  color: String,
17284
- direction: {
17285
- type: String,
17286
- default: 'horizontal'
17287
- },
17288
17362
  fixedTabs: Boolean,
17289
17363
  items: {
17290
17364
  type: Array,
@@ -17299,11 +17373,9 @@
17299
17373
  },
17300
17374
  hideSlider: Boolean,
17301
17375
  sliderColor: String,
17302
- modelValue: null,
17303
- mandatory: {
17304
- type: [Boolean, String],
17305
- default: 'force'
17306
- },
17376
+ ...makeVSlideGroupProps({
17377
+ mandatory: 'force'
17378
+ }),
17307
17379
  ...makeDensityProps(),
17308
17380
  ...makeTagProps()
17309
17381
  },
@@ -17333,26 +17405,27 @@
17333
17405
  hideSlider: vue.toRef(props, 'hideSlider')
17334
17406
  }
17335
17407
  });
17336
- useRender(() => vue.createVNode(VSlideGroup, {
17337
- "modelValue": model.value,
17338
- "onUpdate:modelValue": $event => model.value = $event,
17339
- "class": ['v-tabs', `v-tabs--${props.direction}`, `v-tabs--align-tabs-${props.alignTabs}`, {
17340
- 'v-tabs--fixed-tabs': props.fixedTabs,
17341
- 'v-tabs--grow': props.grow,
17342
- 'v-tabs--stacked': props.stacked
17343
- }, densityClasses.value, backgroundColorClasses.value],
17344
- "style": [{
17345
- '--v-tabs-height': convertToUnit(props.height)
17346
- }, backgroundColorStyles.value],
17347
- "role": "tablist",
17348
- "symbol": VTabsSymbol,
17349
- "mandatory": props.mandatory,
17350
- "direction": props.direction
17351
- }, {
17352
- default: () => [slots.default ? slots.default() : parsedItems.value.map(item => vue.createVNode(VTab, vue.mergeProps(item, {
17353
- "key": item.title
17354
- }), null))]
17355
- }));
17408
+ useRender(() => {
17409
+ const [slideGroupProps] = VSlideGroup.filterProps(props);
17410
+ return vue.createVNode(VSlideGroup, vue.mergeProps(slideGroupProps, {
17411
+ "modelValue": model.value,
17412
+ "onUpdate:modelValue": $event => model.value = $event,
17413
+ "class": ['v-tabs', `v-tabs--${props.direction}`, `v-tabs--align-tabs-${props.alignTabs}`, {
17414
+ 'v-tabs--fixed-tabs': props.fixedTabs,
17415
+ 'v-tabs--grow': props.grow,
17416
+ 'v-tabs--stacked': props.stacked
17417
+ }, densityClasses.value, backgroundColorClasses.value],
17418
+ "style": [{
17419
+ '--v-tabs-height': convertToUnit(props.height)
17420
+ }, backgroundColorStyles.value],
17421
+ "role": "tablist",
17422
+ "symbol": VTabsSymbol
17423
+ }), {
17424
+ default: () => [slots.default ? slots.default() : parsedItems.value.map(item => vue.createVNode(VTab, vue.mergeProps(item, {
17425
+ "key": item.title
17426
+ }), null))]
17427
+ });
17428
+ });
17356
17429
  return {};
17357
17430
  }
17358
17431
  });
@@ -17429,6 +17502,7 @@
17429
17502
  validator: v => !isNaN(parseFloat(v))
17430
17503
  },
17431
17504
  suffix: String,
17505
+ modelModifiers: Object,
17432
17506
  ...makeVInputProps(),
17433
17507
  ...makeVFieldProps()
17434
17508
  },
@@ -17468,7 +17542,7 @@
17468
17542
  const textareaRef = vue.ref();
17469
17543
  const isActive = vue.computed(() => isFocused.value || props.persistentPlaceholder);
17470
17544
  const messages = vue.computed(() => {
17471
- return props.messages.length ? props.messages : isActive.value || props.persistentHint ? props.hint : '';
17545
+ return props.messages.length ? props.messages : isFocused.value || props.persistentHint ? props.hint : '';
17472
17546
  });
17473
17547
  function onFocus() {
17474
17548
  if (textareaRef.value !== document.activeElement) {
@@ -17493,12 +17567,14 @@
17493
17567
  }
17494
17568
  function onInput(e) {
17495
17569
  const el = e.target;
17496
- const caretPosition = [el.selectionStart, el.selectionEnd];
17497
17570
  model.value = el.value;
17498
- vue.nextTick(() => {
17499
- el.selectionStart = caretPosition[0];
17500
- el.selectionEnd = caretPosition[1];
17501
- });
17571
+ if (props.modelModifiers?.trim) {
17572
+ const caretPosition = [el.selectionStart, el.selectionEnd];
17573
+ vue.nextTick(() => {
17574
+ el.selectionStart = caretPosition[0];
17575
+ el.selectionEnd = caretPosition[1];
17576
+ });
17577
+ }
17502
17578
  }
17503
17579
  const sizerRef = vue.ref();
17504
17580
  function calculateInputHeight() {
@@ -17989,12 +18065,12 @@
17989
18065
 
17990
18066
  var components = /*#__PURE__*/Object.freeze({
17991
18067
  __proto__: null,
18068
+ VAlert: VAlert,
18069
+ VAlertTitle: VAlertTitle,
17992
18070
  VApp: VApp,
17993
18071
  VAppBar: VAppBar,
17994
18072
  VAppBarNavIcon: VAppBarNavIcon,
17995
18073
  VAppBarTitle: VAppBarTitle,
17996
- VAlert: VAlert,
17997
- VAlertTitle: VAlertTitle,
17998
18074
  VAutocomplete: VAutocomplete,
17999
18075
  VAvatar: VAvatar,
18000
18076
  VBadge: VBadge,
@@ -18003,8 +18079,8 @@
18003
18079
  VBannerText: VBannerText,
18004
18080
  VBottomNavigation: VBottomNavigation,
18005
18081
  VBreadcrumbs: VBreadcrumbs,
18006
- VBreadcrumbsItem: VBreadcrumbsItem,
18007
18082
  VBreadcrumbsDivider: VBreadcrumbsDivider,
18083
+ VBreadcrumbsItem: VBreadcrumbsItem,
18008
18084
  VBtn: VBtn,
18009
18085
  VBtnGroup: VBtnGroup,
18010
18086
  VBtnToggle: VBtnToggle,
@@ -18020,41 +18096,45 @@
18020
18096
  VCheckboxBtn: VCheckboxBtn,
18021
18097
  VChip: VChip,
18022
18098
  VChipGroup: VChipGroup,
18099
+ VClassIcon: VClassIcon,
18023
18100
  VCode: VCode,
18101
+ VCol: VCol,
18024
18102
  VColorPicker: VColorPicker,
18025
18103
  VCombobox: VCombobox,
18104
+ VComponentIcon: VComponentIcon,
18105
+ VContainer: VContainer,
18026
18106
  VCounter: VCounter,
18027
18107
  VDefaultsProvider: VDefaultsProvider,
18028
18108
  VDialog: VDialog,
18109
+ VDialogBottomTransition: VDialogBottomTransition,
18110
+ VDialogTopTransition: VDialogTopTransition,
18111
+ VDialogTransition: VDialogTransition,
18029
18112
  VDivider: VDivider,
18030
- VExpansionPanels: VExpansionPanels,
18113
+ VExpandTransition: VExpandTransition,
18114
+ VExpandXTransition: VExpandXTransition,
18031
18115
  VExpansionPanel: VExpansionPanel,
18032
18116
  VExpansionPanelText: VExpansionPanelText,
18033
18117
  VExpansionPanelTitle: VExpansionPanelTitle,
18118
+ VExpansionPanels: VExpansionPanels,
18119
+ VFabTransition: VFabTransition,
18120
+ VFadeTransition: VFadeTransition,
18034
18121
  VField: VField,
18035
18122
  VFieldLabel: VFieldLabel,
18036
18123
  VFileInput: VFileInput,
18037
18124
  VFooter: VFooter,
18038
18125
  VForm: VForm,
18039
- VContainer: VContainer,
18040
- VCol: VCol,
18041
- VRow: VRow,
18042
- VSpacer: VSpacer,
18043
18126
  VHover: VHover,
18044
18127
  VIcon: VIcon,
18045
- VComponentIcon: VComponentIcon,
18046
- VSvgIcon: VSvgIcon,
18047
- VLigatureIcon: VLigatureIcon,
18048
- VClassIcon: VClassIcon,
18049
18128
  VImg: VImg,
18050
18129
  VInput: VInput,
18051
- VItemGroup: VItemGroup,
18052
18130
  VItem: VItem,
18131
+ VItemGroup: VItemGroup,
18053
18132
  VKbd: VKbd,
18054
18133
  VLabel: VLabel,
18055
18134
  VLayout: VLayout,
18056
18135
  VLayoutItem: VLayoutItem,
18057
18136
  VLazy: VLazy,
18137
+ VLigatureIcon: VLigatureIcon,
18058
18138
  VList: VList,
18059
18139
  VListGroup: VListGroup,
18060
18140
  VListImg: VListImg,
@@ -18080,47 +18160,43 @@
18080
18160
  VRangeSlider: VRangeSlider,
18081
18161
  VRating: VRating,
18082
18162
  VResponsive: VResponsive,
18163
+ VRow: VRow,
18164
+ VScaleTransition: VScaleTransition,
18165
+ VScrollXReverseTransition: VScrollXReverseTransition,
18166
+ VScrollXTransition: VScrollXTransition,
18167
+ VScrollYReverseTransition: VScrollYReverseTransition,
18168
+ VScrollYTransition: VScrollYTransition,
18083
18169
  VSelect: VSelect,
18084
18170
  VSelectionControl: VSelectionControl,
18085
18171
  VSelectionControlGroup: VSelectionControlGroup,
18086
18172
  VSheet: VSheet,
18087
18173
  VSlideGroup: VSlideGroup,
18088
18174
  VSlideGroupItem: VSlideGroupItem,
18175
+ VSlideXReverseTransition: VSlideXReverseTransition,
18176
+ VSlideXTransition: VSlideXTransition,
18177
+ VSlideYReverseTransition: VSlideYReverseTransition,
18178
+ VSlideYTransition: VSlideYTransition,
18089
18179
  VSlider: VSlider,
18090
18180
  VSnackbar: VSnackbar,
18181
+ VSpacer: VSpacer,
18182
+ VSvgIcon: VSvgIcon,
18091
18183
  VSwitch: VSwitch,
18092
18184
  VSystemBar: VSystemBar,
18093
- VTabs: VTabs,
18094
18185
  VTab: VTab,
18095
18186
  VTable: VTable,
18096
- VTextarea: VTextarea,
18187
+ VTabs: VTabs,
18097
18188
  VTextField: VTextField,
18189
+ VTextarea: VTextarea,
18098
18190
  VThemeProvider: VThemeProvider,
18099
18191
  VTimeline: VTimeline,
18100
18192
  VTimelineItem: VTimelineItem,
18101
18193
  VToolbar: VToolbar,
18102
- VToolbarTitle: VToolbarTitle,
18103
18194
  VToolbarItems: VToolbarItems,
18195
+ VToolbarTitle: VToolbarTitle,
18104
18196
  VTooltip: VTooltip,
18105
18197
  VValidation: VValidation,
18106
18198
  VWindow: VWindow,
18107
- VWindowItem: VWindowItem,
18108
- VDialogTransition: VDialogTransition,
18109
- VFabTransition: VFabTransition,
18110
- VDialogBottomTransition: VDialogBottomTransition,
18111
- VDialogTopTransition: VDialogTopTransition,
18112
- VFadeTransition: VFadeTransition,
18113
- VScaleTransition: VScaleTransition,
18114
- VScrollXTransition: VScrollXTransition,
18115
- VScrollXReverseTransition: VScrollXReverseTransition,
18116
- VScrollYTransition: VScrollYTransition,
18117
- VScrollYReverseTransition: VScrollYReverseTransition,
18118
- VSlideXTransition: VSlideXTransition,
18119
- VSlideXReverseTransition: VSlideXReverseTransition,
18120
- VSlideYTransition: VSlideYTransition,
18121
- VSlideYReverseTransition: VSlideYReverseTransition,
18122
- VExpandTransition: VExpandTransition,
18123
- VExpandXTransition: VExpandXTransition
18199
+ VWindowItem: VWindowItem
18124
18200
  });
18125
18201
 
18126
18202
  // Types
@@ -18331,7 +18407,7 @@
18331
18407
  locale
18332
18408
  };
18333
18409
  }
18334
- const version$1 = "3.1.12";
18410
+ const version$1 = "3.1.14";
18335
18411
  createVuetify$1.version = version$1;
18336
18412
 
18337
18413
  // Vue's inject() can only be used in setup
@@ -18351,7 +18427,7 @@
18351
18427
  ...options
18352
18428
  });
18353
18429
  };
18354
- const version = "3.1.12";
18430
+ const version = "3.1.14";
18355
18431
  createVuetify.version = version;
18356
18432
 
18357
18433
  exports.components = components;
@@ -18364,7 +18440,5 @@
18364
18440
  exports.useTheme = useTheme;
18365
18441
  exports.version = version;
18366
18442
 
18367
- Object.defineProperty(exports, '__esModule', { value: true });
18368
-
18369
18443
  }));
18370
18444
  //# sourceMappingURL=vuetify.js.map