vuetify 3.2.1 → 3.2.3

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 (320) hide show
  1. package/dist/json/attributes.json +1302 -870
  2. package/dist/json/importMap.json +8 -8
  3. package/dist/json/tags.json +112 -3
  4. package/dist/json/web-types.json +2973 -1917
  5. package/dist/vuetify-labs.css +67 -57
  6. package/dist/vuetify-labs.d.ts +2785 -11610
  7. package/dist/vuetify-labs.esm.js +2318 -2227
  8. package/dist/vuetify-labs.esm.js.map +1 -1
  9. package/dist/vuetify-labs.js +2318 -2227
  10. package/dist/vuetify-labs.min.css +2 -2
  11. package/dist/vuetify.css +31 -21
  12. package/dist/vuetify.d.ts +1786 -11406
  13. package/dist/vuetify.esm.js +1785 -1685
  14. package/dist/vuetify.esm.js.map +1 -1
  15. package/dist/vuetify.js +1785 -1685
  16. package/dist/vuetify.js.map +1 -1
  17. package/dist/vuetify.min.css +2 -2
  18. package/dist/vuetify.min.js +612 -614
  19. package/dist/vuetify.min.js.map +1 -1
  20. package/lib/blueprints/index.d.ts +1 -3
  21. package/lib/blueprints/md1.d.ts +1 -3
  22. package/lib/blueprints/md2.d.ts +1 -3
  23. package/lib/blueprints/md3.d.ts +1 -3
  24. package/lib/components/VAlert/VAlert.mjs +47 -46
  25. package/lib/components/VAlert/VAlert.mjs.map +1 -1
  26. package/lib/components/VAlert/index.d.ts +2 -2
  27. package/lib/components/VApp/VApp.mjs +9 -8
  28. package/lib/components/VApp/VApp.mjs.map +1 -1
  29. package/lib/components/VAppBar/VAppBar.mjs +28 -31
  30. package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
  31. package/lib/components/VAppBar/VAppBarNavIcon.mjs +14 -17
  32. package/lib/components/VAppBar/VAppBarNavIcon.mjs.map +1 -1
  33. package/lib/components/VAppBar/index.d.ts +394 -28
  34. package/lib/components/VAutocomplete/VAutocomplete.css +1 -5
  35. package/lib/components/VAutocomplete/VAutocomplete.mjs +37 -34
  36. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  37. package/lib/components/VAutocomplete/VAutocomplete.sass +1 -6
  38. package/lib/components/VAutocomplete/index.d.ts +67 -1174
  39. package/lib/components/VBadge/VBadge.mjs +33 -32
  40. package/lib/components/VBadge/VBadge.mjs.map +1 -1
  41. package/lib/components/VBanner/VBanner.mjs +21 -20
  42. package/lib/components/VBanner/VBanner.mjs.map +1 -1
  43. package/lib/components/VBanner/VBannerActions.mjs +7 -6
  44. package/lib/components/VBanner/VBannerActions.mjs.map +1 -1
  45. package/lib/components/VBanner/index.d.ts +2 -2
  46. package/lib/components/VBottomNavigation/VBottomNavigation.mjs +35 -34
  47. package/lib/components/VBottomNavigation/VBottomNavigation.mjs.map +1 -1
  48. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs +24 -23
  49. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs.map +1 -1
  50. package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.mjs +6 -5
  51. package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.mjs.map +1 -1
  52. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs +15 -14
  53. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs.map +1 -1
  54. package/lib/components/VBreadcrumbs/index.d.ts +1 -0
  55. package/lib/components/VBtn/VBtn.mjs +7 -6
  56. package/lib/components/VBtn/VBtn.mjs.map +1 -1
  57. package/lib/components/VBtnToggle/VBtnToggle.mjs +6 -5
  58. package/lib/components/VBtnToggle/VBtnToggle.mjs.map +1 -1
  59. package/lib/components/VCard/VCard.mjs +38 -37
  60. package/lib/components/VCard/VCard.mjs.map +1 -1
  61. package/lib/components/VCard/VCardItem.mjs +12 -11
  62. package/lib/components/VCard/VCardItem.mjs.map +1 -1
  63. package/lib/components/VCard/index.d.ts +4 -4
  64. package/lib/components/VCarousel/VCarousel.mjs +28 -27
  65. package/lib/components/VCarousel/VCarousel.mjs.map +1 -1
  66. package/lib/components/VCarousel/VCarouselItem.mjs +18 -16
  67. package/lib/components/VCarousel/VCarouselItem.mjs.map +1 -1
  68. package/lib/components/VCarousel/index.d.ts +170 -20
  69. package/lib/components/VCheckbox/VCheckbox.mjs +6 -5
  70. package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
  71. package/lib/components/VCheckbox/VCheckboxBtn.mjs +0 -1
  72. package/lib/components/VCheckbox/VCheckboxBtn.mjs.map +1 -1
  73. package/lib/components/VCheckbox/index.d.ts +24 -12
  74. package/lib/components/VChip/VChip.css +8 -0
  75. package/lib/components/VChip/VChip.mjs +60 -57
  76. package/lib/components/VChip/VChip.mjs.map +1 -1
  77. package/lib/components/VChip/VChip.sass +10 -0
  78. package/lib/components/VChip/index.d.ts +8 -8
  79. package/lib/components/VChipGroup/VChipGroup.mjs +19 -18
  80. package/lib/components/VChipGroup/VChipGroup.mjs.map +1 -1
  81. package/lib/components/VColorPicker/VColorPicker.mjs +44 -39
  82. package/lib/components/VColorPicker/VColorPicker.mjs.map +1 -1
  83. package/lib/components/VColorPicker/VColorPickerCanvas.mjs +21 -20
  84. package/lib/components/VColorPicker/VColorPickerCanvas.mjs.map +1 -1
  85. package/lib/components/VColorPicker/VColorPickerEdit.mjs +17 -16
  86. package/lib/components/VColorPicker/VColorPickerEdit.mjs.map +1 -1
  87. package/lib/components/VColorPicker/VColorPickerPreview.mjs +10 -9
  88. package/lib/components/VColorPicker/VColorPickerPreview.mjs.map +1 -1
  89. package/lib/components/VColorPicker/VColorPickerSwatches.mjs +12 -11
  90. package/lib/components/VColorPicker/VColorPickerSwatches.mjs.map +1 -1
  91. package/lib/components/VColorPicker/index.d.ts +4 -4
  92. package/lib/components/VColorPicker/util/index.mjs +2 -2
  93. package/lib/components/VColorPicker/util/index.mjs.map +1 -1
  94. package/lib/components/VCombobox/VCombobox.mjs +40 -37
  95. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  96. package/lib/components/VCombobox/index.d.ts +67 -1171
  97. package/lib/components/VCounter/VCounter.mjs +16 -15
  98. package/lib/components/VCounter/VCounter.mjs.map +1 -1
  99. package/lib/components/VCounter/index.d.ts +25 -1774
  100. package/lib/components/VDefaultsProvider/VDefaultsProvider.mjs +9 -8
  101. package/lib/components/VDefaultsProvider/VDefaultsProvider.mjs.map +1 -1
  102. package/lib/components/VDialog/VDialog.mjs +18 -17
  103. package/lib/components/VDialog/VDialog.mjs.map +1 -1
  104. package/lib/components/VDialog/index.d.ts +130 -1120
  105. package/lib/components/VDivider/VDivider.mjs +11 -10
  106. package/lib/components/VDivider/VDivider.mjs.map +1 -1
  107. package/lib/components/VExpansionPanel/VExpansionPanel.mjs +15 -15
  108. package/lib/components/VExpansionPanel/VExpansionPanel.mjs.map +1 -1
  109. package/lib/components/VExpansionPanel/VExpansionPanelText.mjs +6 -5
  110. package/lib/components/VExpansionPanel/VExpansionPanelText.mjs.map +1 -1
  111. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs +3 -5
  112. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs.map +1 -1
  113. package/lib/components/VExpansionPanel/VExpansionPanels.mjs +15 -14
  114. package/lib/components/VExpansionPanel/VExpansionPanels.mjs.map +1 -1
  115. package/lib/components/VExpansionPanel/index.d.ts +15 -15
  116. package/lib/components/VField/VField.mjs +6 -2
  117. package/lib/components/VField/VField.mjs.map +1 -1
  118. package/lib/components/VField/VFieldLabel.mjs +6 -5
  119. package/lib/components/VField/VFieldLabel.mjs.map +1 -1
  120. package/lib/components/VFileInput/VFileInput.mjs +37 -35
  121. package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
  122. package/lib/components/VFileInput/index.d.ts +3 -3
  123. package/lib/components/VFooter/VFooter.mjs +19 -18
  124. package/lib/components/VFooter/VFooter.mjs.map +1 -1
  125. package/lib/components/VForm/VForm.mjs +6 -5
  126. package/lib/components/VForm/VForm.mjs.map +1 -1
  127. package/lib/components/VForm/index.d.ts +3 -3
  128. package/lib/components/VGrid/VCol.mjs +26 -25
  129. package/lib/components/VGrid/VCol.mjs.map +1 -1
  130. package/lib/components/VGrid/VContainer.mjs +16 -11
  131. package/lib/components/VGrid/VContainer.mjs.map +1 -1
  132. package/lib/components/VGrid/VRow.mjs +26 -25
  133. package/lib/components/VGrid/VRow.mjs.map +1 -1
  134. package/lib/components/VHover/VHover.mjs +10 -9
  135. package/lib/components/VHover/VHover.mjs.map +1 -1
  136. package/lib/components/VIcon/VIcon.mjs +28 -29
  137. package/lib/components/VIcon/VIcon.mjs.map +1 -1
  138. package/lib/components/VImg/VImg.mjs +29 -28
  139. package/lib/components/VImg/VImg.mjs.map +1 -1
  140. package/lib/components/VItemGroup/VItemGroup.mjs +10 -9
  141. package/lib/components/VItemGroup/VItemGroup.mjs.map +1 -1
  142. package/lib/components/VLabel/VLabel.mjs +8 -7
  143. package/lib/components/VLabel/VLabel.mjs.map +1 -1
  144. package/lib/components/VLayout/VLayout.mjs +6 -5
  145. package/lib/components/VLayout/VLayout.mjs.map +1 -1
  146. package/lib/components/VLayout/VLayoutItem.mjs +15 -14
  147. package/lib/components/VLayout/VLayoutItem.mjs.map +1 -1
  148. package/lib/components/VLazy/VLazy.mjs +21 -20
  149. package/lib/components/VLazy/VLazy.mjs.map +1 -1
  150. package/lib/components/VList/VList.mjs +33 -32
  151. package/lib/components/VList/VList.mjs.map +1 -1
  152. package/lib/components/VList/VListChildren.mjs +5 -4
  153. package/lib/components/VList/VListChildren.mjs.map +1 -1
  154. package/lib/components/VList/VListGroup.mjs +2 -4
  155. package/lib/components/VList/VListGroup.mjs.map +1 -1
  156. package/lib/components/VList/VListItem.mjs +42 -41
  157. package/lib/components/VList/VListItem.mjs.map +1 -1
  158. package/lib/components/VList/VListItemAction.mjs +8 -7
  159. package/lib/components/VList/VListItemAction.mjs.map +1 -1
  160. package/lib/components/VList/VListItemMedia.mjs +8 -7
  161. package/lib/components/VList/VListItemMedia.mjs.map +1 -1
  162. package/lib/components/VList/VListSubheader.mjs +10 -9
  163. package/lib/components/VList/VListSubheader.mjs.map +1 -1
  164. package/lib/components/VList/index.d.ts +30 -30
  165. package/lib/components/VLocaleProvider/VLocaleProvider.mjs +12 -11
  166. package/lib/components/VLocaleProvider/VLocaleProvider.mjs.map +1 -1
  167. package/lib/components/VMain/VMain.mjs +9 -8
  168. package/lib/components/VMain/VMain.mjs.map +1 -1
  169. package/lib/components/VMenu/VMenu.mjs +18 -17
  170. package/lib/components/VMenu/VMenu.mjs.map +1 -1
  171. package/lib/components/VMenu/index.d.ts +40 -1030
  172. package/lib/components/VMessages/VMessages.mjs +18 -17
  173. package/lib/components/VMessages/VMessages.mjs.map +1 -1
  174. package/lib/components/VMessages/index.d.ts +25 -1774
  175. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +48 -54
  176. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
  177. package/lib/components/VNavigationDrawer/sticky.mjs +9 -3
  178. package/lib/components/VNavigationDrawer/sticky.mjs.map +1 -1
  179. package/lib/components/VOverlay/locationStrategies.mjs +5 -3
  180. package/lib/components/VOverlay/locationStrategies.mjs.map +1 -1
  181. package/lib/components/VPagination/VPagination.mjs +82 -81
  182. package/lib/components/VPagination/VPagination.mjs.map +1 -1
  183. package/lib/components/VPagination/index.d.ts +8 -8
  184. package/lib/components/VParallax/VParallax.mjs +9 -8
  185. package/lib/components/VParallax/VParallax.mjs.map +1 -1
  186. package/lib/components/VProgressCircular/VProgressCircular.mjs +25 -24
  187. package/lib/components/VProgressCircular/VProgressCircular.mjs.map +1 -1
  188. package/lib/components/VProgressLinear/VProgressLinear.mjs +44 -42
  189. package/lib/components/VProgressLinear/VProgressLinear.mjs.map +1 -1
  190. package/lib/components/VProgressLinear/index.d.ts +8 -8
  191. package/lib/components/VRadio/VRadio.mjs +8 -7
  192. package/lib/components/VRadio/VRadio.mjs.map +1 -1
  193. package/lib/components/VRadio/index.d.ts +18 -12
  194. package/lib/components/VRadioGroup/VRadioGroup.mjs +22 -21
  195. package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
  196. package/lib/components/VRadioGroup/index.d.ts +16 -10
  197. package/lib/components/VRangeSlider/VRangeSlider.mjs +18 -13
  198. package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
  199. package/lib/components/VRating/VRating.mjs +44 -43
  200. package/lib/components/VRating/VRating.mjs.map +1 -1
  201. package/lib/components/VRating/index.d.ts +8 -8
  202. package/lib/components/VResponsive/VResponsive.mjs +8 -7
  203. package/lib/components/VResponsive/VResponsive.mjs.map +1 -1
  204. package/lib/components/VSelect/VSelect.mjs +29 -21
  205. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  206. package/lib/components/VSelect/index.d.ts +64 -2506
  207. package/lib/components/VSelectionControl/index.d.ts +42 -36
  208. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs +10 -10
  209. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs.map +1 -1
  210. package/lib/components/VSelectionControlGroup/index.d.ts +28 -28
  211. package/lib/components/VSheet/VSheet.css +6 -0
  212. package/lib/components/VSheet/VSheet.mjs +1 -3
  213. package/lib/components/VSheet/VSheet.mjs.map +1 -1
  214. package/lib/components/VSheet/_variables.scss +1 -1
  215. package/lib/components/VSlideGroup/VSlideGroupItem.mjs +1 -3
  216. package/lib/components/VSlideGroup/VSlideGroupItem.mjs.map +1 -1
  217. package/lib/components/VSlider/VSlider.mjs +18 -13
  218. package/lib/components/VSlider/VSlider.mjs.map +1 -1
  219. package/lib/components/VSlider/VSliderThumb.mjs +26 -25
  220. package/lib/components/VSlider/VSliderThumb.mjs.map +1 -1
  221. package/lib/components/VSlider/VSliderTrack.mjs +13 -12
  222. package/lib/components/VSlider/VSliderTrack.mjs.map +1 -1
  223. package/lib/components/VSnackbar/VSnackbar.mjs +20 -19
  224. package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
  225. package/lib/components/VSwitch/VSwitch.mjs +13 -12
  226. package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
  227. package/lib/components/VSwitch/index.d.ts +18 -12
  228. package/lib/components/VSystemBar/VSystemBar.mjs +13 -12
  229. package/lib/components/VSystemBar/VSystemBar.mjs.map +1 -1
  230. package/lib/components/VTable/VTable.mjs +12 -11
  231. package/lib/components/VTable/VTable.mjs.map +1 -1
  232. package/lib/components/VTabs/VTab.mjs +15 -14
  233. package/lib/components/VTabs/VTab.mjs.map +1 -1
  234. package/lib/components/VTabs/VTabs.mjs +28 -27
  235. package/lib/components/VTabs/VTabs.mjs.map +1 -1
  236. package/lib/components/VTabs/index.d.ts +12 -12
  237. package/lib/components/VTextField/VTextField.mjs +1 -1
  238. package/lib/components/VTextField/VTextField.mjs.map +1 -1
  239. package/lib/components/VTextField/index.d.ts +3 -3
  240. package/lib/components/VTextarea/VTextarea.mjs +27 -26
  241. package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
  242. package/lib/components/VTextarea/index.d.ts +3 -3
  243. package/lib/components/VThemeProvider/VThemeProvider.mjs +8 -7
  244. package/lib/components/VThemeProvider/VThemeProvider.mjs.map +1 -1
  245. package/lib/components/VTimeline/VTimeline.mjs +46 -41
  246. package/lib/components/VTimeline/VTimeline.mjs.map +1 -1
  247. package/lib/components/VTimeline/VTimelineDivider.mjs +14 -13
  248. package/lib/components/VTimeline/VTimelineDivider.mjs.map +1 -1
  249. package/lib/components/VTimeline/VTimelineItem.mjs +21 -20
  250. package/lib/components/VTimeline/VTimelineItem.mjs.map +1 -1
  251. package/lib/components/VToolbar/VToolbar.mjs +6 -2
  252. package/lib/components/VToolbar/VToolbar.mjs.map +1 -1
  253. package/lib/components/VToolbar/VToolbarItems.mjs +8 -7
  254. package/lib/components/VToolbar/VToolbarItems.mjs.map +1 -1
  255. package/lib/components/VToolbar/index.d.ts +11 -11
  256. package/lib/components/VTooltip/VTooltip.mjs +20 -19
  257. package/lib/components/VTooltip/VTooltip.mjs.map +1 -1
  258. package/lib/components/VTreeview/_mixins.sass +0 -0
  259. package/lib/components/VTreeview/util/filterTreeItems.mjs +0 -0
  260. package/lib/components/VValidation/VValidation.mjs +1 -3
  261. package/lib/components/VValidation/VValidation.mjs.map +1 -1
  262. package/lib/components/VVirtualScroll/VVirtualScroll.mjs +11 -10
  263. package/lib/components/VVirtualScroll/VVirtualScroll.mjs.map +1 -1
  264. package/lib/components/VVirtualScroll/VVirtualScrollItem.mjs +6 -5
  265. package/lib/components/VVirtualScroll/VVirtualScrollItem.mjs.map +1 -1
  266. package/lib/components/VWindow/VWindow.mjs.map +1 -1
  267. package/lib/components/VWindow/VWindowItem.mjs +15 -14
  268. package/lib/components/VWindow/VWindowItem.mjs.map +1 -1
  269. package/lib/components/VWindow/index.d.ts +9 -9
  270. package/lib/components/index.d.ts +1755 -11373
  271. package/lib/components/transitions/createTransition.mjs +16 -15
  272. package/lib/components/transitions/createTransition.mjs.map +1 -1
  273. package/lib/components/transitions/dialog-transition.mjs +5 -4
  274. package/lib/components/transitions/dialog-transition.mjs.map +1 -1
  275. package/lib/components/transitions/index.d.ts +143 -143
  276. package/lib/composables/forwardRefs.mjs.map +1 -1
  277. package/lib/composables/icons.mjs +2 -2
  278. package/lib/composables/icons.mjs.map +1 -1
  279. package/lib/composables/scroll.mjs +16 -17
  280. package/lib/composables/scroll.mjs.map +1 -1
  281. package/lib/composables/theme.mjs +3 -3
  282. package/lib/composables/theme.mjs.map +1 -1
  283. package/lib/directives/click-outside/index.mjs +1 -1
  284. package/lib/directives/click-outside/index.mjs.map +1 -1
  285. package/lib/entry-bundler.mjs +1 -1
  286. package/lib/framework.mjs +1 -1
  287. package/lib/framework.mjs.map +1 -1
  288. package/lib/index.d.ts +4 -6
  289. package/lib/labs/VDataTable/VDataTable.mjs +53 -59
  290. package/lib/labs/VDataTable/VDataTable.mjs.map +1 -1
  291. package/lib/labs/VDataTable/VDataTableFooter.mjs +64 -63
  292. package/lib/labs/VDataTable/VDataTableFooter.mjs.map +1 -1
  293. package/lib/labs/VDataTable/VDataTableGroupHeaderRow.mjs +8 -7
  294. package/lib/labs/VDataTable/VDataTableGroupHeaderRow.mjs.map +1 -1
  295. package/lib/labs/VDataTable/VDataTableHeaders.mjs +16 -15
  296. package/lib/labs/VDataTable/VDataTableHeaders.mjs.map +1 -1
  297. package/lib/labs/VDataTable/VDataTableRow.mjs +7 -6
  298. package/lib/labs/VDataTable/VDataTableRow.mjs.map +1 -1
  299. package/lib/labs/VDataTable/VDataTableRows.mjs +20 -19
  300. package/lib/labs/VDataTable/VDataTableRows.mjs.map +1 -1
  301. package/lib/labs/VDataTable/VDataTableServer.mjs +53 -64
  302. package/lib/labs/VDataTable/VDataTableServer.mjs.map +1 -1
  303. package/lib/labs/VDataTable/VDataTableVirtual.mjs +65 -72
  304. package/lib/labs/VDataTable/VDataTableVirtual.mjs.map +1 -1
  305. package/lib/labs/VDataTable/composables/paginate.mjs +6 -1
  306. package/lib/labs/VDataTable/composables/paginate.mjs.map +1 -1
  307. package/lib/labs/VDataTable/index.d.ts +991 -206
  308. package/lib/labs/VInfiniteScroll/VInfiniteScroll.mjs +54 -48
  309. package/lib/labs/VInfiniteScroll/VInfiniteScroll.mjs.map +1 -1
  310. package/lib/labs/VInfiniteScroll/index.d.ts +16 -1
  311. package/lib/labs/VSkeletonLoader/VSkeletonLoader.mjs +18 -17
  312. package/lib/labs/VSkeletonLoader/VSkeletonLoader.mjs.map +1 -1
  313. package/lib/labs/VSkeletonLoader/index.d.ts +9 -9
  314. package/lib/labs/components.d.ts +1011 -211
  315. package/lib/labs/date/date.mjs +7 -7
  316. package/lib/labs/date/date.mjs.map +1 -1
  317. package/lib/labs/date/index.d.ts +1 -3
  318. package/lib/locale/el.mjs +0 -0
  319. package/lib/locale/index.mjs +0 -0
  320. package/package.json +2 -2
package/dist/vuetify.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.2.1
2
+ * Vuetify v3.2.3
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -1674,9 +1674,9 @@
1674
1674
  variables: {
1675
1675
  'border-color': '#FFFFFF',
1676
1676
  'border-opacity': 0.12,
1677
- 'high-emphasis-opacity': 0.87,
1678
- 'medium-emphasis-opacity': 0.60,
1679
- 'disabled-opacity': 0.38,
1677
+ 'high-emphasis-opacity': 1,
1678
+ 'medium-emphasis-opacity': 0.70,
1679
+ 'disabled-opacity': 0.50,
1680
1680
  'idle-opacity': 0.10,
1681
1681
  'hover-opacity': 0.04,
1682
1682
  'focus-opacity': 0.12,
@@ -2205,15 +2205,16 @@
2205
2205
  };
2206
2206
  }
2207
2207
 
2208
+ const makeVAppProps = propsFactory({
2209
+ ...makeComponentProps(),
2210
+ ...makeLayoutProps({
2211
+ fullHeight: true
2212
+ }),
2213
+ ...makeThemeProps()
2214
+ }, 'v-app');
2208
2215
  const VApp = genericComponent()({
2209
2216
  name: 'VApp',
2210
- props: {
2211
- ...makeComponentProps(),
2212
- ...makeLayoutProps({
2213
- fullHeight: true
2214
- }),
2215
- ...makeThemeProps()
2216
- },
2217
+ props: makeVAppProps(),
2217
2218
  setup(props, _ref) {
2218
2219
  let {
2219
2220
  slots
@@ -2248,15 +2249,16 @@
2248
2249
 
2249
2250
  // Types
2250
2251
 
2252
+ const makeDefaultsProviderProps = propsFactory({
2253
+ defaults: Object,
2254
+ disabled: Boolean,
2255
+ reset: [Number, String],
2256
+ root: Boolean,
2257
+ scoped: Boolean
2258
+ }, 'v-defaults-provider');
2251
2259
  const VDefaultsProvider = genericComponent(false)({
2252
2260
  name: 'VDefaultsProvider',
2253
- props: {
2254
- defaults: Object,
2255
- disabled: Boolean,
2256
- reset: [Number, String],
2257
- root: Boolean,
2258
- scoped: Boolean
2259
- },
2261
+ props: makeDefaultsProviderProps(),
2260
2262
  setup(props, _ref) {
2261
2263
  let {
2262
2264
  slots
@@ -2282,25 +2284,23 @@
2282
2284
 
2283
2285
  // Types
2284
2286
 
2287
+ const makeTransitionProps$1 = propsFactory({
2288
+ disabled: Boolean,
2289
+ group: Boolean,
2290
+ hideOnLeave: Boolean,
2291
+ leaveAbsolute: Boolean,
2292
+ mode: String,
2293
+ origin: String
2294
+ }, 'transition');
2285
2295
  function createCssTransition(name) {
2286
2296
  let origin = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'center center';
2287
2297
  let mode = arguments.length > 2 ? arguments[2] : undefined;
2288
2298
  return genericComponent()({
2289
2299
  name,
2290
- props: {
2291
- disabled: Boolean,
2292
- group: Boolean,
2293
- hideOnLeave: Boolean,
2294
- leaveAbsolute: Boolean,
2295
- mode: {
2296
- type: String,
2297
- default: mode
2298
- },
2299
- origin: {
2300
- type: String,
2301
- default: origin
2302
- }
2303
- },
2300
+ props: makeTransitionProps$1({
2301
+ mode,
2302
+ origin
2303
+ }),
2304
2304
  setup(props, _ref) {
2305
2305
  let {
2306
2306
  slots
@@ -2458,11 +2458,12 @@
2458
2458
 
2459
2459
  // Types
2460
2460
 
2461
+ const makeVDialogTransitionProps = propsFactory({
2462
+ target: Object
2463
+ }, 'v-dialog-transition');
2461
2464
  const VDialogTransition = genericComponent()({
2462
2465
  name: 'VDialogTransition',
2463
- props: {
2464
- target: Object
2465
- },
2466
+ props: makeVDialogTransitionProps(),
2466
2467
  setup(props, _ref) {
2467
2468
  let {
2468
2469
  slots
@@ -2652,14 +2653,15 @@
2652
2653
  })
2653
2654
  };
2654
2655
  }
2656
+ const makeVResponsiveProps = propsFactory({
2657
+ aspectRatio: [String, Number],
2658
+ contentClass: String,
2659
+ ...makeComponentProps(),
2660
+ ...makeDimensionProps()
2661
+ }, 'v-responsive');
2655
2662
  const VResponsive = genericComponent()({
2656
2663
  name: 'VResponsive',
2657
- props: {
2658
- aspectRatio: [String, Number],
2659
- contentClass: String,
2660
- ...makeComponentProps(),
2661
- ...makeDimensionProps()
2662
- },
2664
+ props: makeVResponsiveProps(),
2663
2665
  setup(props, _ref) {
2664
2666
  let {
2665
2667
  slots
@@ -2761,38 +2763,39 @@
2761
2763
 
2762
2764
  // Types
2763
2765
 
2766
+ const makeVImgProps = propsFactory({
2767
+ aspectRatio: [String, Number],
2768
+ alt: String,
2769
+ cover: Boolean,
2770
+ eager: Boolean,
2771
+ gradient: String,
2772
+ lazySrc: String,
2773
+ options: {
2774
+ type: Object,
2775
+ // For more information on types, navigate to:
2776
+ // https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API
2777
+ default: () => ({
2778
+ root: undefined,
2779
+ rootMargin: undefined,
2780
+ threshold: undefined
2781
+ })
2782
+ },
2783
+ sizes: String,
2784
+ src: {
2785
+ type: [String, Object],
2786
+ default: ''
2787
+ },
2788
+ srcset: String,
2789
+ width: [String, Number],
2790
+ ...makeComponentProps(),
2791
+ ...makeTransitionProps()
2792
+ }, 'v-img');
2764
2793
  const VImg = genericComponent()({
2765
2794
  name: 'VImg',
2766
2795
  directives: {
2767
2796
  intersect: Intersect
2768
2797
  },
2769
- props: {
2770
- aspectRatio: [String, Number],
2771
- alt: String,
2772
- cover: Boolean,
2773
- eager: Boolean,
2774
- gradient: String,
2775
- lazySrc: String,
2776
- options: {
2777
- type: Object,
2778
- // For more information on types, navigate to:
2779
- // https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API
2780
- default: () => ({
2781
- root: undefined,
2782
- rootMargin: undefined,
2783
- threshold: undefined
2784
- })
2785
- },
2786
- sizes: String,
2787
- src: {
2788
- type: [String, Object],
2789
- default: ''
2790
- },
2791
- srcset: String,
2792
- width: [String, Number],
2793
- ...makeComponentProps(),
2794
- ...makeTransitionProps()
2795
- },
2798
+ props: makeVImgProps(),
2796
2799
  emits: {
2797
2800
  loadstart: value => true,
2798
2801
  load: value => true,
@@ -3244,6 +3247,9 @@
3244
3247
  const {
3245
3248
  themeClasses
3246
3249
  } = provideTheme(props);
3250
+ const {
3251
+ rtlClasses
3252
+ } = useRtl();
3247
3253
  const isExtended = vue.ref(!!(props.extended || slots.extension?.()));
3248
3254
  const contentHeight = vue.computed(() => parseInt(Number(props.height) + (props.density === 'prominent' ? Number(props.height) : 0) - (props.density === 'comfortable' ? 8 : 0) - (props.density === 'compact' ? 16 : 0), 10));
3249
3255
  const extensionHeight = vue.computed(() => isExtended.value ? parseInt(Number(props.extensionHeight) + (props.density === 'prominent' ? Number(props.extensionHeight) : 0) - (props.density === 'comfortable' ? 4 : 0) - (props.density === 'compact' ? 8 : 0), 10) : 0);
@@ -3264,7 +3270,7 @@
3264
3270
  'v-toolbar--flat': props.flat,
3265
3271
  'v-toolbar--floating': props.floating,
3266
3272
  [`v-toolbar--density-${props.density}`]: true
3267
- }, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, roundedClasses.value, themeClasses.value, props.class],
3273
+ }, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, roundedClasses.value, themeClasses.value, rtlClasses.value, props.class],
3268
3274
  "style": [backgroundColorStyles.value, props.style]
3269
3275
  }, {
3270
3276
  default: () => [hasImage && vue.createVNode("div", {
@@ -3340,14 +3346,13 @@
3340
3346
  type: String
3341
3347
  },
3342
3348
  scrollThreshold: {
3343
- type: [String, Number]
3349
+ type: [String, Number],
3350
+ default: 300
3344
3351
  }
3345
3352
  }, 'scroll');
3346
3353
  function useScroll(props) {
3347
3354
  let args = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
3348
3355
  const {
3349
- thresholdMetCallback,
3350
- scrollThreshold,
3351
3356
  canScroll
3352
3357
  } = args;
3353
3358
  let previousScroll = 0;
@@ -3357,8 +3362,16 @@
3357
3362
  const currentThreshold = vue.ref(0);
3358
3363
  const isScrollActive = vue.ref(false);
3359
3364
  const isScrollingUp = vue.ref(false);
3360
- const computedScrollThreshold = vue.computed(() => {
3361
- return Number(props.scrollThreshold ?? scrollThreshold ?? 300);
3365
+ const scrollThreshold = vue.computed(() => {
3366
+ return Number(props.scrollThreshold);
3367
+ });
3368
+
3369
+ /**
3370
+ * 1: at top
3371
+ * 0: at threshold
3372
+ */
3373
+ const scrollRatio = vue.computed(() => {
3374
+ return clamp((scrollThreshold.value - currentScroll.value) / scrollThreshold.value || 0);
3362
3375
  });
3363
3376
  const onScroll = () => {
3364
3377
  const targetEl = target.value;
@@ -3366,7 +3379,7 @@
3366
3379
  previousScroll = currentScroll.value;
3367
3380
  currentScroll.value = 'window' in targetEl ? targetEl.pageYOffset : targetEl.scrollTop;
3368
3381
  isScrollingUp.value = currentScroll.value < previousScroll;
3369
- currentThreshold.value = Math.abs(currentScroll.value - computedScrollThreshold.value);
3382
+ currentThreshold.value = Math.abs(currentScroll.value - scrollThreshold.value);
3370
3383
  };
3371
3384
  vue.watch(isScrollingUp, () => {
3372
3385
  savedScroll.value = savedScroll.value || currentScroll.value;
@@ -3394,15 +3407,6 @@
3394
3407
  vue.onBeforeUnmount(() => {
3395
3408
  target.value?.removeEventListener('scroll', onScroll);
3396
3409
  });
3397
- thresholdMetCallback && vue.watch(() => Math.abs(currentScroll.value - savedScroll.value) > computedScrollThreshold.value, thresholdMet => {
3398
- thresholdMet && thresholdMetCallback({
3399
- currentThreshold: currentThreshold.value,
3400
- isScrollingUp: isScrollingUp.value,
3401
- savedScroll
3402
- });
3403
- }, {
3404
- immediate: true
3405
- });
3406
3410
 
3407
3411
  // Do we need this? If yes - seems that
3408
3412
  // there's no need to expose onScroll
@@ -3410,10 +3414,11 @@
3410
3414
  immediate: true
3411
3415
  });
3412
3416
  return {
3413
- computedScrollThreshold,
3417
+ scrollThreshold,
3414
3418
  currentScroll,
3415
3419
  currentThreshold,
3416
3420
  isScrollActive,
3421
+ scrollRatio,
3417
3422
  // required only for testing
3418
3423
  // probably can be removed
3419
3424
  // later (2 chars chlng)
@@ -3443,27 +3448,28 @@
3443
3448
 
3444
3449
  // Types
3445
3450
 
3451
+ const makeVAppBarProps = propsFactory({
3452
+ scrollBehavior: String,
3453
+ modelValue: {
3454
+ type: Boolean,
3455
+ default: true
3456
+ },
3457
+ location: {
3458
+ type: String,
3459
+ default: 'top',
3460
+ validator: value => ['top', 'bottom'].includes(value)
3461
+ },
3462
+ ...makeVToolbarProps(),
3463
+ ...makeLayoutItemProps(),
3464
+ ...makeScrollProps(),
3465
+ height: {
3466
+ type: [Number, String],
3467
+ default: 64
3468
+ }
3469
+ }, 'v-app-bar');
3446
3470
  const VAppBar = genericComponent()({
3447
3471
  name: 'VAppBar',
3448
- props: {
3449
- scrollBehavior: String,
3450
- modelValue: {
3451
- type: Boolean,
3452
- default: true
3453
- },
3454
- location: {
3455
- type: String,
3456
- default: 'top',
3457
- validator: value => ['top', 'bottom'].includes(value)
3458
- },
3459
- ...makeVToolbarProps(),
3460
- ...makeLayoutItemProps(),
3461
- ...makeScrollProps(),
3462
- height: {
3463
- type: [Number, String],
3464
- default: 64
3465
- }
3466
- },
3472
+ props: makeVAppBarProps(),
3467
3473
  emits: {
3468
3474
  'update:modelValue': value => true
3469
3475
  },
@@ -3496,15 +3502,14 @@
3496
3502
  });
3497
3503
  const {
3498
3504
  currentScroll,
3499
- currentThreshold,
3500
- computedScrollThreshold,
3501
- isScrollingUp
3505
+ scrollThreshold,
3506
+ isScrollingUp,
3507
+ scrollRatio
3502
3508
  } = useScroll(props, {
3503
3509
  canScroll
3504
3510
  });
3505
- const isCollapsed = vue.computed(() => props.collapse || scrollBehavior.value.collapse && (scrollBehavior.value.inverted ? currentScroll.value < 1 : currentScroll.value > 0));
3506
- const isFlat = vue.computed(() => props.flat || scrollBehavior.value.elevate && currentScroll.value === (scrollBehavior.value.inverted ? 1 : 0));
3507
- const scrollRatio = vue.computed(() => Math.min((currentThreshold.value - currentScroll.value) / currentThreshold.value || 1, 1));
3511
+ const isCollapsed = vue.computed(() => props.collapse || scrollBehavior.value.collapse && (scrollBehavior.value.inverted ? scrollRatio.value > 0 : scrollRatio.value === 0));
3512
+ const isFlat = vue.computed(() => props.flat || scrollBehavior.value.elevate && (scrollBehavior.value.inverted ? currentScroll.value > 0 : currentScroll.value === 0));
3508
3513
  const opacity = vue.computed(() => scrollBehavior.value.fadeImage ? scrollBehavior.value.inverted ? 1 - scrollRatio.value : scrollRatio.value : undefined);
3509
3514
  const height = vue.computed(() => {
3510
3515
  if (scrollBehavior.value.hide && scrollBehavior.value.inverted) return 0;
@@ -3513,15 +3518,12 @@
3513
3518
  return height + extensionHeight;
3514
3519
  });
3515
3520
  function setActive() {
3516
- const val = currentScroll.value;
3517
3521
  if (scrollBehavior.value.hide) {
3518
3522
  if (scrollBehavior.value.inverted) {
3519
- isActive.value = val > computedScrollThreshold.value;
3523
+ isActive.value = currentScroll.value > scrollThreshold.value;
3520
3524
  } else {
3521
- isActive.value = isScrollingUp.value || val < computedScrollThreshold.value;
3525
+ isActive.value = isScrollingUp.value || currentScroll.value < scrollThreshold.value;
3522
3526
  }
3523
- } else if (scrollBehavior.value.inverted) {
3524
- isActive.value = currentScroll.value === 0;
3525
3527
  } else {
3526
3528
  isActive.value = true;
3527
3529
  }
@@ -3897,12 +3899,13 @@
3897
3899
  // Types
3898
3900
 
3899
3901
  const VBtnToggleSymbol = Symbol.for('vuetify:v-btn-toggle');
3902
+ const makeVBtnToggleProps = propsFactory({
3903
+ ...makeVBtnGroupProps(),
3904
+ ...makeGroupProps()
3905
+ }, 'v-btn-toggle');
3900
3906
  const VBtnToggle = genericComponent()({
3901
3907
  name: 'VBtnToggle',
3902
- props: {
3903
- ...makeVBtnGroupProps(),
3904
- ...makeGroupProps()
3905
- },
3908
+ props: makeVBtnToggleProps(),
3906
3909
  emits: {
3907
3910
  'update:modelValue': value => true
3908
3911
  },
@@ -4097,7 +4100,7 @@
4097
4100
  const icons = vue.inject(IconSymbol);
4098
4101
  if (!icons) throw new Error('Missing Vuetify Icons provide!');
4099
4102
  const iconData = vue.computed(() => {
4100
- const iconAlias = vue.isRef(props) ? props.value : props.icon;
4103
+ const iconAlias = vue.unref(props);
4101
4104
  if (!iconAlias) return {
4102
4105
  component: VComponentIcon
4103
4106
  };
@@ -4164,8 +4167,6 @@
4164
4167
  });
4165
4168
  }
4166
4169
 
4167
- // Types
4168
-
4169
4170
  const makeVIconProps = propsFactory({
4170
4171
  color: String,
4171
4172
  start: Boolean,
@@ -4186,20 +4187,13 @@
4186
4187
  attrs,
4187
4188
  slots
4188
4189
  } = _ref;
4189
- let slotIcon;
4190
- if (slots.default) {
4191
- slotIcon = vue.computed(() => {
4192
- const slot = slots.default?.();
4193
- if (!slot) return;
4194
- return slot.filter(node => node.type === vue.Text && node.children && typeof node.children === 'string')[0]?.children;
4195
- });
4196
- }
4190
+ const slotIcon = vue.ref();
4197
4191
  const {
4198
4192
  themeClasses
4199
4193
  } = provideTheme(props);
4200
4194
  const {
4201
4195
  iconData
4202
- } = useIcon(slotIcon || props);
4196
+ } = useIcon(vue.computed(() => slotIcon.value || props.icon));
4203
4197
  const {
4204
4198
  sizeClasses
4205
4199
  } = useSize(props);
@@ -4207,24 +4201,30 @@
4207
4201
  textColorClasses,
4208
4202
  textColorStyles
4209
4203
  } = useTextColor(vue.toRef(props, 'color'));
4210
- useRender(() => vue.createVNode(iconData.value.component, {
4211
- "tag": props.tag,
4212
- "icon": iconData.value.icon,
4213
- "class": ['v-icon', 'notranslate', themeClasses.value, sizeClasses.value, textColorClasses.value, {
4214
- 'v-icon--clickable': !!attrs.onClick,
4215
- 'v-icon--start': props.start,
4216
- 'v-icon--end': props.end
4217
- }, props.class],
4218
- "style": [!sizeClasses.value ? {
4219
- fontSize: convertToUnit(props.size),
4220
- height: convertToUnit(props.size),
4221
- width: convertToUnit(props.size)
4222
- } : undefined, textColorStyles.value, props.style],
4223
- "role": attrs.onClick ? 'button' : undefined,
4224
- "aria-hidden": !attrs.onClick
4225
- }, {
4226
- default: () => [slots.default?.()]
4227
- }));
4204
+ useRender(() => {
4205
+ const slotValue = slots.default?.();
4206
+ if (slotValue) {
4207
+ slotIcon.value = slotValue.filter(node => node.type === vue.Text && node.children && typeof node.children === 'string')[0]?.children;
4208
+ }
4209
+ return vue.createVNode(iconData.value.component, {
4210
+ "tag": props.tag,
4211
+ "icon": iconData.value.icon,
4212
+ "class": ['v-icon', 'notranslate', themeClasses.value, sizeClasses.value, textColorClasses.value, {
4213
+ 'v-icon--clickable': !!attrs.onClick,
4214
+ 'v-icon--start': props.start,
4215
+ 'v-icon--end': props.end
4216
+ }, props.class],
4217
+ "style": [!sizeClasses.value ? {
4218
+ fontSize: convertToUnit(props.size),
4219
+ height: convertToUnit(props.size),
4220
+ width: convertToUnit(props.size)
4221
+ } : undefined, textColorStyles.value, props.style],
4222
+ "role": attrs.onClick ? 'button' : undefined,
4223
+ "aria-hidden": !attrs.onClick
4224
+ }, {
4225
+ default: () => [slotValue]
4226
+ });
4227
+ });
4228
4228
  return {};
4229
4229
  }
4230
4230
  });
@@ -4259,31 +4259,32 @@
4259
4259
 
4260
4260
  // Types
4261
4261
 
4262
+ const makeVProgressCircularProps = propsFactory({
4263
+ bgColor: String,
4264
+ color: String,
4265
+ indeterminate: [Boolean, String],
4266
+ modelValue: {
4267
+ type: [Number, String],
4268
+ default: 0
4269
+ },
4270
+ rotate: {
4271
+ type: [Number, String],
4272
+ default: 0
4273
+ },
4274
+ width: {
4275
+ type: [Number, String],
4276
+ default: 4
4277
+ },
4278
+ ...makeComponentProps(),
4279
+ ...makeSizeProps(),
4280
+ ...makeTagProps({
4281
+ tag: 'div'
4282
+ }),
4283
+ ...makeThemeProps()
4284
+ }, 'v-progress-circular');
4262
4285
  const VProgressCircular = genericComponent()({
4263
4286
  name: 'VProgressCircular',
4264
- props: {
4265
- bgColor: String,
4266
- color: String,
4267
- indeterminate: [Boolean, String],
4268
- modelValue: {
4269
- type: [Number, String],
4270
- default: 0
4271
- },
4272
- rotate: {
4273
- type: [Number, String],
4274
- default: 0
4275
- },
4276
- width: {
4277
- type: [Number, String],
4278
- default: 4
4279
- },
4280
- ...makeComponentProps(),
4281
- ...makeSizeProps(),
4282
- ...makeTagProps({
4283
- tag: 'div'
4284
- }),
4285
- ...makeThemeProps()
4286
- },
4287
+ props: makeVProgressCircularProps(),
4287
4288
  setup(props, _ref) {
4288
4289
  let {
4289
4290
  slots
@@ -4720,47 +4721,48 @@
4720
4721
  };
4721
4722
  }
4722
4723
 
4724
+ const makeVProgressLinearProps = propsFactory({
4725
+ absolute: Boolean,
4726
+ active: {
4727
+ type: Boolean,
4728
+ default: true
4729
+ },
4730
+ bgColor: String,
4731
+ bgOpacity: [Number, String],
4732
+ bufferValue: {
4733
+ type: [Number, String],
4734
+ default: 0
4735
+ },
4736
+ clickable: Boolean,
4737
+ color: String,
4738
+ height: {
4739
+ type: [Number, String],
4740
+ default: 4
4741
+ },
4742
+ indeterminate: Boolean,
4743
+ max: {
4744
+ type: [Number, String],
4745
+ default: 100
4746
+ },
4747
+ modelValue: {
4748
+ type: [Number, String],
4749
+ default: 0
4750
+ },
4751
+ reverse: Boolean,
4752
+ stream: Boolean,
4753
+ striped: Boolean,
4754
+ roundedBar: Boolean,
4755
+ ...makeComponentProps(),
4756
+ ...makeLocationProps({
4757
+ location: 'top'
4758
+ }),
4759
+ ...makeRoundedProps(),
4760
+ ...makeTagProps(),
4761
+ ...makeThemeProps()
4762
+ }, 'v-progress-linear');
4723
4763
  const VProgressLinear = genericComponent()({
4724
4764
  name: 'VProgressLinear',
4725
- props: {
4726
- absolute: Boolean,
4727
- active: {
4728
- type: Boolean,
4729
- default: true
4730
- },
4731
- bgColor: String,
4732
- bgOpacity: [Number, String],
4733
- bufferValue: {
4734
- type: [Number, String],
4735
- default: 0
4736
- },
4737
- clickable: Boolean,
4738
- color: String,
4739
- height: {
4740
- type: [Number, String],
4741
- default: 4
4742
- },
4743
- indeterminate: Boolean,
4744
- max: {
4745
- type: [Number, String],
4746
- default: 100
4747
- },
4748
- modelValue: {
4749
- type: [Number, String],
4750
- default: 0
4751
- },
4752
- reverse: Boolean,
4753
- stream: Boolean,
4754
- striped: Boolean,
4755
- roundedBar: Boolean,
4756
- ...makeComponentProps(),
4757
- ...makeLocationProps({
4758
- location: 'top'
4759
- }),
4760
- ...makeRoundedProps(),
4761
- ...makeTagProps(),
4762
- ...makeThemeProps()
4763
- },
4765
+ props: makeVProgressLinearProps(),
4764
4766
  emits: {
4765
4767
  'update:modelValue': value => true
4766
4768
  },
@@ -4770,7 +4772,8 @@
4770
4772
  } = _ref;
4771
4773
  const progress = useProxiedModel(props, 'modelValue');
4772
4774
  const {
4773
- isRtl
4775
+ isRtl,
4776
+ rtlClasses
4774
4777
  } = useRtl();
4775
4778
  const {
4776
4779
  themeClasses
@@ -4825,7 +4828,7 @@
4825
4828
  'v-progress-linear--rounded': props.rounded,
4826
4829
  'v-progress-linear--rounded-bar': props.roundedBar,
4827
4830
  'v-progress-linear--striped': props.striped
4828
- }, roundedClasses.value, themeClasses.value, props.class],
4831
+ }, roundedClasses.value, themeClasses.value, rtlClasses.value, props.class],
4829
4832
  "style": [{
4830
4833
  bottom: props.location === 'bottom' ? 0 : undefined,
4831
4834
  top: props.location === 'top' ? 0 : undefined,
@@ -5061,7 +5064,7 @@
5061
5064
  ...makeVariantProps({
5062
5065
  variant: 'elevated'
5063
5066
  })
5064
- }, 'VBtn');
5067
+ }, 'v-btn');
5065
5068
  const VBtn = genericComponent()({
5066
5069
  name: 'VBtn',
5067
5070
  directives: {
@@ -5131,6 +5134,11 @@
5131
5134
  if (props.value === undefined) return undefined;
5132
5135
  return Object(props.value) === props.value ? JSON.stringify(props.value, null, 0) : props.value;
5133
5136
  });
5137
+ function onClick(e) {
5138
+ if (isDisabled.value) return;
5139
+ link.navigate?.(e);
5140
+ group?.toggle();
5141
+ }
5134
5142
  useSelectLink(link, group?.select);
5135
5143
  useRender(() => {
5136
5144
  const Tag = link.isLink.value ? 'a' : props.tag;
@@ -5153,11 +5161,7 @@
5153
5161
  "style": [hasColor ? colorStyles.value : undefined, dimensionStyles.value, locationStyles.value, sizeStyles.value, props.style],
5154
5162
  "disabled": isDisabled.value || undefined,
5155
5163
  "href": link.href.value,
5156
- "onClick": e => {
5157
- if (isDisabled.value) return;
5158
- link.navigate?.(e);
5159
- group?.toggle();
5160
- },
5164
+ "onClick": onClick,
5161
5165
  "value": valueAttr.value
5162
5166
  }, {
5163
5167
  default: () => [genOverlays(true, 'v-btn'), !props.icon && hasPrepend && vue.createVNode("span", {
@@ -5221,36 +5225,35 @@
5221
5225
 
5222
5226
  // Types
5223
5227
 
5228
+ const makeVAppBarNavIconProps = propsFactory({
5229
+ ...makeVBtnProps({
5230
+ icon: '$menu',
5231
+ variant: 'text'
5232
+ })
5233
+ }, 'v-app-bar-nav-icon');
5224
5234
  const VAppBarNavIcon = genericComponent()({
5225
5235
  name: 'VAppBarNavIcon',
5226
- props: {
5227
- icon: {
5228
- type: IconValue,
5229
- default: '$menu'
5230
- },
5231
- ...makeComponentProps()
5232
- },
5236
+ props: makeVAppBarNavIconProps(),
5233
5237
  setup(props, _ref) {
5234
5238
  let {
5235
5239
  slots
5236
5240
  } = _ref;
5237
- useRender(() => vue.createVNode(VBtn, {
5238
- "class": ['v-app-bar-nav-icon', props.class],
5239
- "icon": props.icon,
5240
- "style": props.style
5241
- }, slots));
5241
+ useRender(() => vue.createVNode(VBtn, vue.mergeProps(props, {
5242
+ "class": ['v-app-bar-nav-icon']
5243
+ }), slots));
5242
5244
  return {};
5243
5245
  }
5244
5246
  });
5245
5247
 
5248
+ const makeVToolbarItemsProps = propsFactory({
5249
+ ...makeComponentProps(),
5250
+ ...makeVariantProps({
5251
+ variant: 'text'
5252
+ })
5253
+ }, 'v-toolbar-items');
5246
5254
  const VToolbarItems = genericComponent()({
5247
5255
  name: 'VToolbarItems',
5248
- props: {
5249
- ...makeComponentProps(),
5250
- ...makeVariantProps({
5251
- variant: 'text'
5252
- })
5253
- },
5256
+ props: makeVToolbarItemsProps(),
5254
5257
  setup(props, _ref) {
5255
5258
  let {
5256
5259
  slots
@@ -5292,53 +5295,54 @@
5292
5295
  // Types
5293
5296
 
5294
5297
  const allowedTypes = ['success', 'info', 'warning', 'error'];
5298
+ const makeVAlertProps = propsFactory({
5299
+ border: {
5300
+ type: [Boolean, String],
5301
+ validator: val => {
5302
+ return typeof val === 'boolean' || ['top', 'end', 'bottom', 'start'].includes(val);
5303
+ }
5304
+ },
5305
+ borderColor: String,
5306
+ closable: Boolean,
5307
+ closeIcon: {
5308
+ type: IconValue,
5309
+ default: '$close'
5310
+ },
5311
+ closeLabel: {
5312
+ type: String,
5313
+ default: '$vuetify.close'
5314
+ },
5315
+ icon: {
5316
+ type: [Boolean, String, Function, Object],
5317
+ default: null
5318
+ },
5319
+ modelValue: {
5320
+ type: Boolean,
5321
+ default: true
5322
+ },
5323
+ prominent: Boolean,
5324
+ title: String,
5325
+ text: String,
5326
+ type: {
5327
+ type: String,
5328
+ validator: val => allowedTypes.includes(val)
5329
+ },
5330
+ ...makeComponentProps(),
5331
+ ...makeDensityProps(),
5332
+ ...makeDimensionProps(),
5333
+ ...makeElevationProps(),
5334
+ ...makeLocationProps(),
5335
+ ...makePositionProps(),
5336
+ ...makeRoundedProps(),
5337
+ ...makeTagProps(),
5338
+ ...makeThemeProps(),
5339
+ ...makeVariantProps({
5340
+ variant: 'flat'
5341
+ })
5342
+ }, 'v-alert');
5295
5343
  const VAlert = genericComponent()({
5296
5344
  name: 'VAlert',
5297
- props: {
5298
- border: {
5299
- type: [Boolean, String],
5300
- validator: val => {
5301
- return typeof val === 'boolean' || ['top', 'end', 'bottom', 'start'].includes(val);
5302
- }
5303
- },
5304
- borderColor: String,
5305
- closable: Boolean,
5306
- closeIcon: {
5307
- type: IconValue,
5308
- default: '$close'
5309
- },
5310
- closeLabel: {
5311
- type: String,
5312
- default: '$vuetify.close'
5313
- },
5314
- icon: {
5315
- type: [Boolean, String, Function, Object],
5316
- default: null
5317
- },
5318
- modelValue: {
5319
- type: Boolean,
5320
- default: true
5321
- },
5322
- prominent: Boolean,
5323
- title: String,
5324
- text: String,
5325
- type: {
5326
- type: String,
5327
- validator: val => allowedTypes.includes(val)
5328
- },
5329
- ...makeComponentProps(),
5330
- ...makeDensityProps(),
5331
- ...makeDimensionProps(),
5332
- ...makeElevationProps(),
5333
- ...makeLocationProps(),
5334
- ...makePositionProps(),
5335
- ...makeRoundedProps(),
5336
- ...makeTagProps(),
5337
- ...makeThemeProps(),
5338
- ...makeVariantProps({
5339
- variant: 'flat'
5340
- })
5341
- },
5345
+ props: makeVAlertProps(),
5342
5346
  emits: {
5343
5347
  'click:close': e => true,
5344
5348
  'update:modelValue': value => true
@@ -5499,14 +5503,15 @@
5499
5503
  };
5500
5504
  }
5501
5505
 
5506
+ const makeVLabelProps = propsFactory({
5507
+ text: String,
5508
+ clickable: Boolean,
5509
+ ...makeComponentProps(),
5510
+ ...makeThemeProps()
5511
+ }, 'v-label');
5502
5512
  const VLabel = genericComponent()({
5503
5513
  name: 'VLabel',
5504
- props: {
5505
- text: String,
5506
- clickable: Boolean,
5507
- ...makeComponentProps(),
5508
- ...makeThemeProps()
5509
- },
5514
+ props: makeVLabelProps(),
5510
5515
  setup(props, _ref) {
5511
5516
  let {
5512
5517
  slots
@@ -5521,12 +5526,13 @@
5521
5526
  }
5522
5527
  });
5523
5528
 
5529
+ const makeVFieldLabelProps = propsFactory({
5530
+ floating: Boolean,
5531
+ ...makeComponentProps()
5532
+ }, 'v-field-label');
5524
5533
  const VFieldLabel = genericComponent()({
5525
5534
  name: 'VFieldLabel',
5526
- props: {
5527
- floating: Boolean,
5528
- ...makeComponentProps()
5529
- },
5535
+ props: makeVFieldLabelProps(),
5530
5536
  setup(props, _ref) {
5531
5537
  let {
5532
5538
  slots
@@ -5645,6 +5651,9 @@
5645
5651
  const {
5646
5652
  roundedClasses
5647
5653
  } = useRounded(props);
5654
+ const {
5655
+ rtlClasses
5656
+ } = useRtl();
5648
5657
  const isActive = vue.computed(() => props.dirty || props.active);
5649
5658
  const hasLabel = vue.computed(() => !props.singleLine && !!(props.label || slots.label));
5650
5659
  const uid = getUid();
@@ -5738,7 +5747,7 @@
5738
5747
  'v-field--single-line': props.singleLine,
5739
5748
  'v-field--no-label': !label,
5740
5749
  [`v-field--variant-${props.variant}`]: true
5741
- }, themeClasses.value, backgroundColorClasses.value, focusClasses.value, loaderClasses.value, roundedClasses.value, props.class],
5750
+ }, themeClasses.value, backgroundColorClasses.value, focusClasses.value, loaderClasses.value, roundedClasses.value, rtlClasses.value, props.class],
5742
5751
  "style": [backgroundColorStyles.value, textColorStyles.value, props.style],
5743
5752
  "onClick": onClick
5744
5753
  }, attrs), [vue.createVNode("div", {
@@ -5833,24 +5842,25 @@
5833
5842
 
5834
5843
  // Types
5835
5844
 
5845
+ const makeVMessagesProps = propsFactory({
5846
+ active: Boolean,
5847
+ color: String,
5848
+ messages: {
5849
+ type: [Array, String],
5850
+ default: () => []
5851
+ },
5852
+ ...makeComponentProps(),
5853
+ ...makeTransitionProps({
5854
+ transition: {
5855
+ component: VSlideYTransition,
5856
+ leaveAbsolute: true,
5857
+ group: true
5858
+ }
5859
+ })
5860
+ }, 'v-messages');
5836
5861
  const VMessages = genericComponent()({
5837
5862
  name: 'VMessages',
5838
- props: {
5839
- active: Boolean,
5840
- color: String,
5841
- messages: {
5842
- type: [Array, String],
5843
- default: () => []
5844
- },
5845
- ...makeComponentProps(),
5846
- ...makeTransitionProps({
5847
- transition: {
5848
- component: VSlideYTransition,
5849
- leaveAbsolute: true,
5850
- group: true
5851
- }
5852
- })
5853
- },
5863
+ props: makeVMessagesProps(),
5854
5864
  setup(props, _ref) {
5855
5865
  let {
5856
5866
  slots
@@ -6262,23 +6272,24 @@
6262
6272
  }
6263
6273
  });
6264
6274
 
6275
+ const makeVCounterProps = propsFactory({
6276
+ active: Boolean,
6277
+ max: [Number, String],
6278
+ value: {
6279
+ type: [Number, String],
6280
+ default: 0
6281
+ },
6282
+ ...makeComponentProps(),
6283
+ ...makeTransitionProps({
6284
+ transition: {
6285
+ component: VSlideYTransition
6286
+ }
6287
+ })
6288
+ }, 'v-counter');
6265
6289
  const VCounter = genericComponent()({
6266
6290
  name: 'VCounter',
6267
6291
  functional: true,
6268
- props: {
6269
- active: Boolean,
6270
- max: [Number, String],
6271
- value: {
6272
- type: [Number, String],
6273
- default: 0
6274
- },
6275
- ...makeComponentProps(),
6276
- ...makeTransitionProps({
6277
- transition: {
6278
- component: VSlideYTransition
6279
- }
6280
- })
6281
- },
6292
+ props: makeVCounterProps(),
6282
6293
  setup(props, _ref) {
6283
6294
  let {
6284
6295
  slots
@@ -6441,7 +6452,7 @@
6441
6452
  const vInputRef = vue.ref();
6442
6453
  const vFieldRef = vue.ref();
6443
6454
  const inputRef = vue.ref();
6444
- const isActive = vue.computed(() => activeTypes.includes(props.type) || props.persistentPlaceholder || isFocused.value);
6455
+ const isActive = vue.computed(() => activeTypes.includes(props.type) || props.persistentPlaceholder || isFocused.value || props.active);
6445
6456
  function onFocus() {
6446
6457
  if (inputRef.value !== document.activeElement) {
6447
6458
  inputRef.value?.focus();
@@ -6580,6 +6591,7 @@
6580
6591
  const makeSelectionControlGroupProps = propsFactory({
6581
6592
  color: String,
6582
6593
  disabled: Boolean,
6594
+ defaultsTarget: String,
6583
6595
  error: Boolean,
6584
6596
  id: String,
6585
6597
  inline: Boolean,
@@ -6601,19 +6613,18 @@
6601
6613
  type: Function,
6602
6614
  default: deepEqual
6603
6615
  },
6604
- ...makeThemeProps(),
6605
- ...makeDensityProps()
6616
+ ...makeComponentProps(),
6617
+ ...makeDensityProps(),
6618
+ ...makeThemeProps()
6619
+ }, 'selection-control-group');
6620
+ const makeVSelectionControlGroupProps = propsFactory({
6621
+ ...makeSelectionControlGroupProps({
6622
+ defaultsTarget: 'VSelectionControl'
6623
+ })
6606
6624
  }, 'v-selection-control-group');
6607
6625
  const VSelectionControlGroup = genericComponent()({
6608
6626
  name: 'VSelectionControlGroup',
6609
- props: {
6610
- defaultsTarget: {
6611
- type: String,
6612
- default: 'VSelectionControl'
6613
- },
6614
- ...makeComponentProps(),
6615
- ...makeSelectionControlGroupProps()
6616
- },
6627
+ props: makeVSelectionControlGroupProps(),
6617
6628
  emits: {
6618
6629
  'update:modelValue': val => true
6619
6630
  },
@@ -6877,7 +6888,6 @@
6877
6888
  "class": ['v-checkbox-btn', props.class],
6878
6889
  "style": props.style,
6879
6890
  "type": "checkbox",
6880
- "inline": true,
6881
6891
  "falseIcon": falseIcon.value,
6882
6892
  "trueIcon": trueIcon.value,
6883
6893
  "aria-checked": props.indeterminate ? 'mixed' : undefined
@@ -6888,13 +6898,14 @@
6888
6898
 
6889
6899
  // Types
6890
6900
 
6901
+ const makeVCheckboxProps = propsFactory({
6902
+ ...makeVInputProps(),
6903
+ ...omit(makeVCheckboxBtnProps(), ['inline'])
6904
+ }, 'v-checkbox');
6891
6905
  const VCheckbox = genericComponent()({
6892
6906
  name: 'VCheckbox',
6893
6907
  inheritAttrs: false,
6894
- props: {
6895
- ...makeVInputProps(),
6896
- ...omit(makeVCheckboxBtnProps(), ['inline'])
6897
- },
6908
+ props: makeVCheckboxProps(),
6898
6909
  emits: {
6899
6910
  'update:focused': focused => true
6900
6911
  },
@@ -7009,25 +7020,26 @@
7009
7020
  // Types
7010
7021
 
7011
7022
  const VChipGroupSymbol = Symbol.for('vuetify:v-chip-group');
7023
+ const makeVChipGroupProps = propsFactory({
7024
+ column: Boolean,
7025
+ filter: Boolean,
7026
+ valueComparator: {
7027
+ type: Function,
7028
+ default: deepEqual
7029
+ },
7030
+ ...makeComponentProps(),
7031
+ ...makeGroupProps({
7032
+ selectedClass: 'v-chip--selected'
7033
+ }),
7034
+ ...makeTagProps(),
7035
+ ...makeThemeProps(),
7036
+ ...makeVariantProps({
7037
+ variant: 'tonal'
7038
+ })
7039
+ }, 'v-chip-group');
7012
7040
  const VChipGroup = genericComponent()({
7013
7041
  name: 'VChipGroup',
7014
- props: {
7015
- column: Boolean,
7016
- filter: Boolean,
7017
- valueComparator: {
7018
- type: Function,
7019
- default: deepEqual
7020
- },
7021
- ...makeComponentProps(),
7022
- ...makeGroupProps({
7023
- selectedClass: 'v-chip--selected'
7024
- }),
7025
- ...makeTagProps(),
7026
- ...makeThemeProps(),
7027
- ...makeVariantProps({
7028
- variant: 'tonal'
7029
- })
7030
- },
7042
+ props: makeVChipGroupProps(),
7031
7043
  emits: {
7032
7044
  'update:modelValue': value => true
7033
7045
  },
@@ -7071,65 +7083,66 @@
7071
7083
  }
7072
7084
  });
7073
7085
 
7086
+ const makeVChipProps = propsFactory({
7087
+ activeClass: String,
7088
+ appendAvatar: String,
7089
+ appendIcon: IconValue,
7090
+ closable: Boolean,
7091
+ closeIcon: {
7092
+ type: IconValue,
7093
+ default: '$delete'
7094
+ },
7095
+ closeLabel: {
7096
+ type: String,
7097
+ default: '$vuetify.close'
7098
+ },
7099
+ draggable: Boolean,
7100
+ filter: Boolean,
7101
+ filterIcon: {
7102
+ type: String,
7103
+ default: '$complete'
7104
+ },
7105
+ label: Boolean,
7106
+ link: {
7107
+ type: Boolean,
7108
+ default: undefined
7109
+ },
7110
+ pill: Boolean,
7111
+ prependAvatar: String,
7112
+ prependIcon: IconValue,
7113
+ ripple: {
7114
+ type: Boolean,
7115
+ default: true
7116
+ },
7117
+ text: String,
7118
+ modelValue: {
7119
+ type: Boolean,
7120
+ default: true
7121
+ },
7122
+ onClick: EventProp(),
7123
+ onClickOnce: EventProp(),
7124
+ ...makeBorderProps(),
7125
+ ...makeComponentProps(),
7126
+ ...makeDensityProps(),
7127
+ ...makeElevationProps(),
7128
+ ...makeGroupItemProps(),
7129
+ ...makeRoundedProps(),
7130
+ ...makeRouterProps(),
7131
+ ...makeSizeProps(),
7132
+ ...makeTagProps({
7133
+ tag: 'span'
7134
+ }),
7135
+ ...makeThemeProps(),
7136
+ ...makeVariantProps({
7137
+ variant: 'tonal'
7138
+ })
7139
+ }, 'v-chip');
7074
7140
  const VChip = genericComponent()({
7075
7141
  name: 'VChip',
7076
7142
  directives: {
7077
7143
  Ripple
7078
7144
  },
7079
- props: {
7080
- activeClass: String,
7081
- appendAvatar: String,
7082
- appendIcon: IconValue,
7083
- closable: Boolean,
7084
- closeIcon: {
7085
- type: IconValue,
7086
- default: '$delete'
7087
- },
7088
- closeLabel: {
7089
- type: String,
7090
- default: '$vuetify.close'
7091
- },
7092
- draggable: Boolean,
7093
- filter: Boolean,
7094
- filterIcon: {
7095
- type: String,
7096
- default: '$complete'
7097
- },
7098
- label: Boolean,
7099
- link: {
7100
- type: Boolean,
7101
- default: undefined
7102
- },
7103
- pill: Boolean,
7104
- prependAvatar: String,
7105
- prependIcon: IconValue,
7106
- ripple: {
7107
- type: Boolean,
7108
- default: true
7109
- },
7110
- text: String,
7111
- modelValue: {
7112
- type: Boolean,
7113
- default: true
7114
- },
7115
- onClick: EventProp(),
7116
- onClickOnce: EventProp(),
7117
- ...makeBorderProps(),
7118
- ...makeComponentProps(),
7119
- ...makeDensityProps(),
7120
- ...makeElevationProps(),
7121
- ...makeGroupItemProps(),
7122
- ...makeRoundedProps(),
7123
- ...makeRouterProps(),
7124
- ...makeSizeProps(),
7125
- ...makeTagProps({
7126
- tag: 'span'
7127
- }),
7128
- ...makeThemeProps(),
7129
- ...makeVariantProps({
7130
- variant: 'tonal'
7131
- })
7132
- },
7145
+ props: makeVChipProps(),
7133
7146
  emits: {
7134
7147
  'click:close': e => true,
7135
7148
  'update:modelValue': value => true,
@@ -7258,14 +7271,16 @@
7258
7271
  start: true
7259
7272
  }
7260
7273
  }
7261
- }, slots.prepend)]), slots.default?.({
7274
+ }, slots.prepend)]), vue.createVNode("div", {
7275
+ "class": "v-chip__content"
7276
+ }, [slots.default?.({
7262
7277
  isSelected: group?.isSelected.value,
7263
7278
  selectedClass: group?.selectedClass.value,
7264
7279
  select: group?.select,
7265
7280
  toggle: group?.toggle,
7266
7281
  value: group?.value.value,
7267
7282
  disabled: props.disabled
7268
- }) ?? props.text, hasAppend && vue.createVNode("div", {
7283
+ }) ?? props.text]), hasAppend && vue.createVNode("div", {
7269
7284
  "key": "append",
7270
7285
  "class": "v-chip__append"
7271
7286
  }, [!slots.append ? vue.createVNode(vue.Fragment, null, [props.appendIcon && vue.createVNode(VIcon, {
@@ -7310,17 +7325,18 @@
7310
7325
  }
7311
7326
  });
7312
7327
 
7328
+ const makeVDividerProps = propsFactory({
7329
+ color: String,
7330
+ inset: Boolean,
7331
+ length: [Number, String],
7332
+ thickness: [Number, String],
7333
+ vertical: Boolean,
7334
+ ...makeComponentProps(),
7335
+ ...makeThemeProps()
7336
+ }, 'v-divider');
7313
7337
  const VDivider = genericComponent()({
7314
7338
  name: 'VDivider',
7315
- props: {
7316
- color: String,
7317
- inset: Boolean,
7318
- length: [Number, String],
7319
- thickness: [Number, String],
7320
- vertical: Boolean,
7321
- ...makeComponentProps(),
7322
- ...makeThemeProps()
7323
- },
7339
+ props: makeVDividerProps(),
7324
7340
  setup(props, _ref) {
7325
7341
  let {
7326
7342
  attrs
@@ -7846,16 +7862,14 @@
7846
7862
  appendIcon: IconValue,
7847
7863
  fluid: Boolean,
7848
7864
  subgroup: Boolean,
7865
+ title: String,
7849
7866
  value: null,
7850
7867
  ...makeComponentProps(),
7851
7868
  ...makeTagProps()
7852
7869
  }, 'v-list-group');
7853
7870
  const VListGroup = genericComponent()({
7854
7871
  name: 'VListGroup',
7855
- props: {
7856
- title: String,
7857
- ...makeVListGroupProps()
7858
- },
7872
+ props: makeVListGroupProps(),
7859
7873
  setup(props, _ref2) {
7860
7874
  let {
7861
7875
  slots
@@ -7931,51 +7945,52 @@
7931
7945
 
7932
7946
  // Types
7933
7947
 
7948
+ const makeVListItemProps = propsFactory({
7949
+ active: {
7950
+ type: Boolean,
7951
+ default: undefined
7952
+ },
7953
+ activeClass: String,
7954
+ activeColor: String,
7955
+ appendAvatar: String,
7956
+ appendIcon: IconValue,
7957
+ disabled: Boolean,
7958
+ lines: String,
7959
+ link: {
7960
+ type: Boolean,
7961
+ default: undefined
7962
+ },
7963
+ nav: Boolean,
7964
+ prependAvatar: String,
7965
+ prependIcon: IconValue,
7966
+ ripple: {
7967
+ type: Boolean,
7968
+ default: true
7969
+ },
7970
+ subtitle: [String, Number, Boolean],
7971
+ title: [String, Number, Boolean],
7972
+ value: null,
7973
+ onClick: EventProp(),
7974
+ onClickOnce: EventProp(),
7975
+ ...makeBorderProps(),
7976
+ ...makeComponentProps(),
7977
+ ...makeDensityProps(),
7978
+ ...makeDimensionProps(),
7979
+ ...makeElevationProps(),
7980
+ ...makeRoundedProps(),
7981
+ ...makeRouterProps(),
7982
+ ...makeTagProps(),
7983
+ ...makeThemeProps(),
7984
+ ...makeVariantProps({
7985
+ variant: 'text'
7986
+ })
7987
+ }, 'v-list-item');
7934
7988
  const VListItem = genericComponent()({
7935
7989
  name: 'VListItem',
7936
7990
  directives: {
7937
7991
  Ripple
7938
7992
  },
7939
- props: {
7940
- active: {
7941
- type: Boolean,
7942
- default: undefined
7943
- },
7944
- activeClass: String,
7945
- activeColor: String,
7946
- appendAvatar: String,
7947
- appendIcon: IconValue,
7948
- disabled: Boolean,
7949
- lines: String,
7950
- link: {
7951
- type: Boolean,
7952
- default: undefined
7953
- },
7954
- nav: Boolean,
7955
- prependAvatar: String,
7956
- prependIcon: IconValue,
7957
- ripple: {
7958
- type: Boolean,
7959
- default: true
7960
- },
7961
- subtitle: [String, Number, Boolean],
7962
- title: [String, Number, Boolean],
7963
- value: null,
7964
- onClick: EventProp(),
7965
- onClickOnce: EventProp(),
7966
- ...makeBorderProps(),
7967
- ...makeComponentProps(),
7968
- ...makeDensityProps(),
7969
- ...makeDimensionProps(),
7970
- ...makeElevationProps(),
7971
- ...makeRoundedProps(),
7972
- ...makeRouterProps(),
7973
- ...makeTagProps(),
7974
- ...makeThemeProps(),
7975
- ...makeVariantProps({
7976
- variant: 'text'
7977
- })
7978
- },
7993
+ props: makeVListItemProps(),
7979
7994
  emits: {
7980
7995
  click: e => true
7981
7996
  },
@@ -8162,16 +8177,17 @@
8162
8177
  }
8163
8178
  });
8164
8179
 
8180
+ const makeVListSubheaderProps = propsFactory({
8181
+ color: String,
8182
+ inset: Boolean,
8183
+ sticky: Boolean,
8184
+ title: String,
8185
+ ...makeComponentProps(),
8186
+ ...makeTagProps()
8187
+ }, 'v-list-subheader');
8165
8188
  const VListSubheader = genericComponent()({
8166
8189
  name: 'VListSubheader',
8167
- props: {
8168
- color: String,
8169
- inset: Boolean,
8170
- sticky: Boolean,
8171
- title: String,
8172
- ...makeComponentProps(),
8173
- ...makeTagProps()
8174
- },
8190
+ props: makeVListSubheaderProps(),
8175
8191
  setup(props, _ref) {
8176
8192
  let {
8177
8193
  slots
@@ -8202,11 +8218,12 @@
8202
8218
 
8203
8219
  // Types
8204
8220
 
8221
+ const makeVListChildrenProps = propsFactory({
8222
+ items: Array
8223
+ }, 'v-list-children');
8205
8224
  const VListChildren = genericComponent()({
8206
8225
  name: 'VListChildren',
8207
- props: {
8208
- items: Array
8209
- },
8226
+ props: makeVListChildrenProps(),
8210
8227
  setup(props, _ref) {
8211
8228
  let {
8212
8229
  slots
@@ -8392,39 +8409,40 @@
8392
8409
  items
8393
8410
  };
8394
8411
  }
8412
+ const makeVListProps = propsFactory({
8413
+ activeColor: String,
8414
+ activeClass: String,
8415
+ bgColor: String,
8416
+ disabled: Boolean,
8417
+ lines: {
8418
+ type: [Boolean, String],
8419
+ default: 'one'
8420
+ },
8421
+ nav: Boolean,
8422
+ ...makeNestedProps({
8423
+ selectStrategy: 'single-leaf',
8424
+ openStrategy: 'list'
8425
+ }),
8426
+ ...makeBorderProps(),
8427
+ ...makeComponentProps(),
8428
+ ...makeDensityProps(),
8429
+ ...makeDimensionProps(),
8430
+ ...makeElevationProps(),
8431
+ itemType: {
8432
+ type: String,
8433
+ default: 'type'
8434
+ },
8435
+ ...makeItemsProps(),
8436
+ ...makeRoundedProps(),
8437
+ ...makeTagProps(),
8438
+ ...makeThemeProps(),
8439
+ ...makeVariantProps({
8440
+ variant: 'text'
8441
+ })
8442
+ }, 'v-list');
8395
8443
  const VList = genericComponent()({
8396
8444
  name: 'VList',
8397
- props: {
8398
- activeColor: String,
8399
- activeClass: String,
8400
- bgColor: String,
8401
- disabled: Boolean,
8402
- lines: {
8403
- type: [Boolean, String],
8404
- default: 'one'
8405
- },
8406
- nav: Boolean,
8407
- ...makeNestedProps({
8408
- selectStrategy: 'single-leaf',
8409
- openStrategy: 'list'
8410
- }),
8411
- ...makeBorderProps(),
8412
- ...makeComponentProps(),
8413
- ...makeDensityProps(),
8414
- ...makeDimensionProps(),
8415
- ...makeElevationProps(),
8416
- itemType: {
8417
- type: String,
8418
- default: 'type'
8419
- },
8420
- ...makeItemsProps(),
8421
- ...makeRoundedProps(),
8422
- ...makeTagProps(),
8423
- ...makeThemeProps(),
8424
- ...makeVariantProps({
8425
- variant: 'text'
8426
- })
8427
- },
8445
+ props: makeVListProps(),
8428
8446
  emits: {
8429
8447
  'update:selected': val => true,
8430
8448
  'update:opened': val => true,
@@ -8545,14 +8563,15 @@
8545
8563
 
8546
8564
  const VListImg = createSimpleFunctional('v-list-img');
8547
8565
 
8566
+ const makeVListItemActionProps = propsFactory({
8567
+ start: Boolean,
8568
+ end: Boolean,
8569
+ ...makeComponentProps(),
8570
+ ...makeTagProps()
8571
+ }, 'v-list-item-action');
8548
8572
  const VListItemAction = genericComponent()({
8549
8573
  name: 'VListItemAction',
8550
- props: {
8551
- start: Boolean,
8552
- end: Boolean,
8553
- ...makeComponentProps(),
8554
- ...makeTagProps()
8555
- },
8574
+ props: makeVListItemActionProps(),
8556
8575
  setup(props, _ref) {
8557
8576
  let {
8558
8577
  slots
@@ -8568,14 +8587,15 @@
8568
8587
  }
8569
8588
  });
8570
8589
 
8590
+ const makeVListItemMediaProps = propsFactory({
8591
+ start: Boolean,
8592
+ end: Boolean,
8593
+ ...makeComponentProps(),
8594
+ ...makeTagProps()
8595
+ }, 'v-list-item-media');
8571
8596
  const VListItemMedia = genericComponent()({
8572
8597
  name: 'VListItemMedia',
8573
- props: {
8574
- start: Boolean,
8575
- end: Boolean,
8576
- ...makeComponentProps(),
8577
- ...makeTagProps()
8578
- },
8598
+ props: makeVListItemMediaProps(),
8579
8599
  setup(props, _ref) {
8580
8600
  let {
8581
8601
  slots
@@ -9037,7 +9057,9 @@
9037
9057
  const activatorFixed = isFixedPosition(data.activatorEl.value);
9038
9058
  if (activatorFixed) {
9039
9059
  Object.assign(contentStyles.value, {
9040
- position: 'fixed'
9060
+ position: 'fixed',
9061
+ top: 0,
9062
+ left: 0
9041
9063
  });
9042
9064
  }
9043
9065
  const {
@@ -9109,8 +9131,8 @@
9109
9131
  if (!scrollParents.length) {
9110
9132
  scrollParents.push(document.documentElement);
9111
9133
  if (!(data.contentEl.value.style.top && data.contentEl.value.style.left)) {
9112
- contentBox.x += parseFloat(document.documentElement.style.getPropertyValue('--v-body-scroll-x') || 0);
9113
- contentBox.y += parseFloat(document.documentElement.style.getPropertyValue('--v-body-scroll-y') || 0);
9134
+ contentBox.x -= parseFloat(document.documentElement.style.getPropertyValue('--v-body-scroll-x') || 0);
9135
+ contentBox.y -= parseFloat(document.documentElement.style.getPropertyValue('--v-body-scroll-y') || 0);
9114
9136
  }
9115
9137
  }
9116
9138
  const viewport = scrollParents.reduce((box, el) => {
@@ -9763,7 +9785,7 @@
9763
9785
  });
9764
9786
  if (!el._clickOutside) {
9765
9787
  el._clickOutside = {
9766
- lastMousedownWasOutside: true
9788
+ lastMousedownWasOutside: false
9767
9789
  };
9768
9790
  }
9769
9791
  el._clickOutside[binding.instance.$.uid] = {
@@ -10039,24 +10061,25 @@
10039
10061
 
10040
10062
  // Types
10041
10063
 
10064
+ const makeVMenuProps = propsFactory({
10065
+ // TODO
10066
+ // disableKeys: Boolean,
10067
+ id: String,
10068
+ ...omit(makeVOverlayProps({
10069
+ closeDelay: 250,
10070
+ closeOnContentClick: true,
10071
+ locationStrategy: 'connected',
10072
+ openDelay: 300,
10073
+ scrim: false,
10074
+ scrollStrategy: 'reposition',
10075
+ transition: {
10076
+ component: VDialogTransition
10077
+ }
10078
+ }), ['absolute'])
10079
+ }, 'v-menu');
10042
10080
  const VMenu = genericComponent()({
10043
10081
  name: 'VMenu',
10044
- props: {
10045
- // TODO
10046
- // disableKeys: Boolean,
10047
- id: String,
10048
- ...omit(makeVOverlayProps({
10049
- closeDelay: 250,
10050
- closeOnContentClick: true,
10051
- locationStrategy: 'connected',
10052
- openDelay: 300,
10053
- scrim: false,
10054
- scrollStrategy: 'reposition',
10055
- transition: {
10056
- component: VDialogTransition
10057
- }
10058
- }), ['absolute'])
10059
- },
10082
+ props: makeVMenuProps(),
10060
10083
  emits: {
10061
10084
  'update:modelValue': value => true
10062
10085
  },
@@ -10162,20 +10185,21 @@
10162
10185
  ...makeItemsProps({
10163
10186
  itemChildren: false
10164
10187
  })
10188
+ }, 'select');
10189
+ const makeVSelectProps = propsFactory({
10190
+ ...makeSelectProps(),
10191
+ ...omit(makeVTextFieldProps({
10192
+ modelValue: null
10193
+ }), ['validationValue', 'dirty', 'appendInnerIcon']),
10194
+ ...makeTransitionProps({
10195
+ transition: {
10196
+ component: VDialogTransition
10197
+ }
10198
+ })
10165
10199
  }, 'v-select');
10166
10200
  const VSelect = genericComponent()({
10167
10201
  name: 'VSelect',
10168
- props: {
10169
- ...makeSelectProps(),
10170
- ...omit(makeVTextFieldProps({
10171
- modelValue: null
10172
- }), ['validationValue', 'dirty', 'appendInnerIcon']),
10173
- ...makeTransitionProps({
10174
- transition: {
10175
- component: VDialogTransition
10176
- }
10177
- })
10178
- },
10202
+ props: makeVSelectProps(),
10179
10203
  emits: {
10180
10204
  'update:focused': focused => true,
10181
10205
  'update:modelValue': val => true,
@@ -10294,14 +10318,14 @@
10294
10318
  menu.value = false;
10295
10319
  }
10296
10320
  }
10297
- function onFocusin(e) {
10298
- isFocused.value = true;
10299
- }
10300
- function onFocusout(e) {
10301
- if (e.relatedTarget == null) {
10321
+ function onAfterLeave() {
10322
+ if (isFocused.value) {
10302
10323
  vTextFieldRef.value?.focus();
10303
10324
  }
10304
10325
  }
10326
+ function onFocusin(e) {
10327
+ isFocused.value = true;
10328
+ }
10305
10329
  useRender(() => {
10306
10330
  const hasChips = !!(props.chips || slots.chip);
10307
10331
  const hasList = !!(!props.hideNoData || displayItems.value.length || slots.prepend || slots.append || slots['no-data']);
@@ -10345,15 +10369,15 @@
10345
10369
  "maxHeight": 310,
10346
10370
  "openOnClick": false,
10347
10371
  "closeOnContentClick": false,
10348
- "transition": props.transition
10372
+ "transition": props.transition,
10373
+ "onAfterLeave": onAfterLeave
10349
10374
  }, props.menuProps), {
10350
10375
  default: () => [hasList && vue.createVNode(VList, {
10351
10376
  "ref": listRef,
10352
10377
  "selected": selected.value,
10353
10378
  "selectStrategy": props.multiple ? 'independent' : 'single-independent',
10354
10379
  "onMousedown": e => e.preventDefault(),
10355
- "onFocusin": onFocusin,
10356
- "onFocusout": onFocusout
10380
+ "onFocusin": onFocusin
10357
10381
  }, {
10358
10382
  default: () => [!displayItems.value.length && !props.hideNoData && (slots['no-data']?.() ?? vue.createVNode(VListItem, {
10359
10383
  "title": t(props.noDataText)
@@ -10376,11 +10400,13 @@
10376
10400
  let {
10377
10401
  isSelected
10378
10402
  } = _ref2;
10379
- return props.multiple && !props.hideSelected ? vue.createVNode(VCheckboxBtn, {
10403
+ return vue.createVNode(vue.Fragment, null, [props.multiple && !props.hideSelected ? vue.createVNode(VCheckboxBtn, {
10380
10404
  "modelValue": isSelected,
10381
10405
  "ripple": false,
10382
10406
  "tabindex": "-1"
10383
- }, null) : undefined;
10407
+ }, null) : undefined, item.props.prependIcon && vue.createVNode(VIcon, {
10408
+ "icon": item.props.prependIcon
10409
+ }, null)]);
10384
10410
  }
10385
10411
  });
10386
10412
  }), slots['append-item']?.()]
@@ -10393,6 +10419,10 @@
10393
10419
  }
10394
10420
  const slotProps = {
10395
10421
  'onClick:close': onChipClose,
10422
+ onMousedown(e) {
10423
+ e.preventDefault();
10424
+ e.stopPropagation();
10425
+ },
10396
10426
  modelValue: true,
10397
10427
  'onUpdate:modelValue': undefined
10398
10428
  };
@@ -10552,23 +10582,24 @@
10552
10582
  "class": "v-autocomplete__unmask"
10553
10583
  }, [text.substr(matches + length)])]) : text;
10554
10584
  }
10585
+ const makeVAutocompleteProps = propsFactory({
10586
+ // TODO: implement post keyboard support
10587
+ // autoSelectFirst: Boolean,
10588
+ search: String,
10589
+ ...makeFilterProps({
10590
+ filterKeys: ['title']
10591
+ }),
10592
+ ...makeSelectProps(),
10593
+ ...omit(makeVTextFieldProps({
10594
+ modelValue: null
10595
+ }), ['validationValue', 'dirty', 'appendInnerIcon']),
10596
+ ...makeTransitionProps({
10597
+ transition: false
10598
+ })
10599
+ }, 'v-autocomplete');
10555
10600
  const VAutocomplete = genericComponent()({
10556
10601
  name: 'VAutocomplete',
10557
- props: {
10558
- // TODO: implement post keyboard support
10559
- // autoSelectFirst: Boolean,
10560
- search: String,
10561
- ...makeFilterProps({
10562
- filterKeys: ['title']
10563
- }),
10564
- ...makeSelectProps(),
10565
- ...omit(makeVTextFieldProps({
10566
- modelValue: null
10567
- }), ['validationValue', 'dirty', 'appendInnerIcon']),
10568
- ...makeTransitionProps({
10569
- transition: false
10570
- })
10571
- },
10602
+ props: makeVAutocompleteProps(),
10572
10603
  emits: {
10573
10604
  'update:focused': focused => true,
10574
10605
  'update:search': val => true,
@@ -10697,16 +10728,14 @@
10697
10728
  search.value = e.target.value;
10698
10729
  }
10699
10730
  function onAfterLeave() {
10700
- if (isFocused.value) isPristine.value = true;
10731
+ if (isFocused.value) {
10732
+ isPristine.value = true;
10733
+ vTextFieldRef.value?.focus();
10734
+ }
10701
10735
  }
10702
10736
  function onFocusin(e) {
10703
10737
  isFocused.value = true;
10704
10738
  }
10705
- function onFocusout(e) {
10706
- if (e.relatedTarget == null) {
10707
- vTextFieldRef.value?.focus();
10708
- }
10709
- }
10710
10739
  const isSelecting = vue.ref(false);
10711
10740
  function select(item) {
10712
10741
  if (props.multiple) {
@@ -10721,9 +10750,7 @@
10721
10750
  } else {
10722
10751
  model.value = [item];
10723
10752
  isSelecting.value = true;
10724
- if (!slots.selection) {
10725
- search.value = item.title;
10726
- }
10753
+ search.value = item.title;
10727
10754
  menu.value = false;
10728
10755
  isPristine.value = true;
10729
10756
  vue.nextTick(() => isSelecting.value = false);
@@ -10732,12 +10759,14 @@
10732
10759
  vue.watch(isFocused, val => {
10733
10760
  if (val) {
10734
10761
  isSelecting.value = true;
10735
- search.value = props.multiple || !!slots.selection ? '' : String(selections.value.at(-1)?.props.title ?? '');
10762
+ search.value = props.multiple ? '' : String(selections.value.at(-1)?.props.title ?? '');
10736
10763
  isPristine.value = true;
10737
10764
  vue.nextTick(() => isSelecting.value = false);
10738
10765
  } else {
10766
+ if (!props.multiple && !search.value) model.value = [];
10739
10767
  menu.value = false;
10740
10768
  search.value = '';
10769
+ selectionIndex.value = -1;
10741
10770
  }
10742
10771
  });
10743
10772
  vue.watch(search, val => {
@@ -10762,12 +10791,10 @@
10762
10791
  "validationValue": model.externalValue,
10763
10792
  "dirty": isDirty,
10764
10793
  "onInput": onInput,
10765
- "class": ['v-autocomplete', {
10794
+ "class": ['v-autocomplete', `v-autocomplete--${props.multiple ? 'multiple' : 'single'}`, {
10766
10795
  'v-autocomplete--active-menu': menu.value,
10767
10796
  'v-autocomplete--chips': !!props.chips,
10768
- 'v-autocomplete--selecting-index': selectionIndex.value > -1,
10769
- [`v-autocomplete--${props.multiple ? 'multiple' : 'single'}`]: true,
10770
- 'v-autocomplete--selection-slot': !!slots.selection
10797
+ 'v-autocomplete--selecting-index': selectionIndex.value > -1
10771
10798
  }, props.class],
10772
10799
  "style": props.style,
10773
10800
  "appendInnerIcon": props.menuIcon,
@@ -10796,8 +10823,7 @@
10796
10823
  "selected": selected.value,
10797
10824
  "selectStrategy": props.multiple ? 'independent' : 'single-independent',
10798
10825
  "onMousedown": e => e.preventDefault(),
10799
- "onFocusin": onFocusin,
10800
- "onFocusout": onFocusout
10826
+ "onFocusin": onFocusin
10801
10827
  }, {
10802
10828
  default: () => [!displayItems.value.length && !props.hideNoData && (slots['no-data']?.() ?? vue.createVNode(VListItem, {
10803
10829
  "title": t(props.noDataText)
@@ -10815,11 +10841,13 @@
10815
10841
  let {
10816
10842
  isSelected
10817
10843
  } = _ref2;
10818
- return props.multiple && !props.hideSelected ? vue.createVNode(VCheckboxBtn, {
10844
+ return vue.createVNode(vue.Fragment, null, [props.multiple && !props.hideSelected ? vue.createVNode(VCheckboxBtn, {
10819
10845
  "modelValue": isSelected,
10820
10846
  "ripple": false,
10821
10847
  "tabindex": "-1"
10822
- }, null) : undefined;
10848
+ }, null) : undefined, item.props.prependIcon && vue.createVNode(VIcon, {
10849
+ "icon": item.props.prependIcon
10850
+ }, null)]);
10823
10851
  },
10824
10852
  title: () => {
10825
10853
  return isPristine.value ? item.title : highlightResult$1(item.title, getMatches(item)?.title, search.value?.length ?? 0);
@@ -10834,6 +10862,10 @@
10834
10862
  }
10835
10863
  const slotProps = {
10836
10864
  'onClick:close': onChipClose,
10865
+ onMousedown(e) {
10866
+ e.preventDefault();
10867
+ e.stopPropagation();
10868
+ },
10837
10869
  modelValue: true,
10838
10870
  'onUpdate:modelValue': undefined
10839
10871
  };
@@ -10883,40 +10915,41 @@
10883
10915
  }
10884
10916
  });
10885
10917
 
10918
+ const makeVBadgeProps = propsFactory({
10919
+ bordered: Boolean,
10920
+ color: String,
10921
+ content: [Number, String],
10922
+ dot: Boolean,
10923
+ floating: Boolean,
10924
+ icon: IconValue,
10925
+ inline: Boolean,
10926
+ label: {
10927
+ type: String,
10928
+ default: '$vuetify.badge'
10929
+ },
10930
+ max: [Number, String],
10931
+ modelValue: {
10932
+ type: Boolean,
10933
+ default: true
10934
+ },
10935
+ offsetX: [Number, String],
10936
+ offsetY: [Number, String],
10937
+ textColor: String,
10938
+ ...makeComponentProps(),
10939
+ ...makeLocationProps({
10940
+ location: 'top end'
10941
+ }),
10942
+ ...makeRoundedProps(),
10943
+ ...makeTagProps(),
10944
+ ...makeThemeProps(),
10945
+ ...makeTransitionProps({
10946
+ transition: 'scale-rotate-transition'
10947
+ })
10948
+ }, 'v-badge');
10886
10949
  const VBadge = genericComponent()({
10887
10950
  name: 'VBadge',
10888
10951
  inheritAttrs: false,
10889
- props: {
10890
- bordered: Boolean,
10891
- color: String,
10892
- content: [Number, String],
10893
- dot: Boolean,
10894
- floating: Boolean,
10895
- icon: IconValue,
10896
- inline: Boolean,
10897
- label: {
10898
- type: String,
10899
- default: '$vuetify.badge'
10900
- },
10901
- max: [Number, String],
10902
- modelValue: {
10903
- type: Boolean,
10904
- default: true
10905
- },
10906
- offsetX: [Number, String],
10907
- offsetY: [Number, String],
10908
- textColor: String,
10909
- ...makeComponentProps(),
10910
- ...makeLocationProps({
10911
- location: 'top end'
10912
- }),
10913
- ...makeRoundedProps(),
10914
- ...makeTagProps(),
10915
- ...makeThemeProps(),
10916
- ...makeTransitionProps({
10917
- transition: 'scale-rotate-transition'
10918
- })
10919
- },
10952
+ props: makeVBadgeProps(),
10920
10953
  setup(props, ctx) {
10921
10954
  const {
10922
10955
  backgroundColorClasses,
@@ -10977,13 +11010,14 @@
10977
11010
  }
10978
11011
  });
10979
11012
 
11013
+ const makeVBannerActionsProps = propsFactory({
11014
+ color: String,
11015
+ density: String,
11016
+ ...makeComponentProps()
11017
+ }, 'v-banner-actions');
10980
11018
  const VBannerActions = genericComponent()({
10981
11019
  name: 'VBannerActions',
10982
- props: {
10983
- color: String,
10984
- density: String,
10985
- ...makeComponentProps()
10986
- },
11020
+ props: makeVBannerActionsProps(),
10987
11021
  setup(props, _ref) {
10988
11022
  let {
10989
11023
  slots
@@ -11007,27 +11041,28 @@
11007
11041
 
11008
11042
  // Types
11009
11043
 
11044
+ const makeVBannerProps = propsFactory({
11045
+ avatar: String,
11046
+ color: String,
11047
+ icon: IconValue,
11048
+ lines: String,
11049
+ stacked: Boolean,
11050
+ sticky: Boolean,
11051
+ text: String,
11052
+ ...makeBorderProps(),
11053
+ ...makeComponentProps(),
11054
+ ...makeDensityProps(),
11055
+ ...makeDimensionProps(),
11056
+ ...makeElevationProps(),
11057
+ ...makeLocationProps(),
11058
+ ...makePositionProps(),
11059
+ ...makeRoundedProps(),
11060
+ ...makeTagProps(),
11061
+ ...makeThemeProps()
11062
+ }, 'v-banner');
11010
11063
  const VBanner = genericComponent()({
11011
11064
  name: 'VBanner',
11012
- props: {
11013
- avatar: String,
11014
- color: String,
11015
- icon: IconValue,
11016
- lines: String,
11017
- stacked: Boolean,
11018
- sticky: Boolean,
11019
- text: String,
11020
- ...makeBorderProps(),
11021
- ...makeComponentProps(),
11022
- ...makeDensityProps(),
11023
- ...makeDimensionProps(),
11024
- ...makeElevationProps(),
11025
- ...makeLocationProps(),
11026
- ...makePositionProps(),
11027
- ...makeRoundedProps(),
11028
- ...makeTagProps(),
11029
- ...makeThemeProps()
11030
- },
11065
+ props: makeVBannerProps(),
11031
11066
  setup(props, _ref) {
11032
11067
  let {
11033
11068
  slots
@@ -11114,50 +11149,51 @@
11114
11149
  }
11115
11150
  });
11116
11151
 
11117
- const VBottomNavigation = genericComponent()({
11118
- name: 'VBottomNavigation',
11119
- props: {
11120
- bgColor: String,
11121
- color: String,
11122
- grow: Boolean,
11123
- mode: {
11124
- type: String,
11125
- validator: v => !v || ['horizontal', 'shift'].includes(v)
11126
- },
11127
- height: {
11128
- type: [Number, String],
11129
- default: 56
11130
- },
11131
- active: {
11132
- type: Boolean,
11133
- default: true
11134
- },
11135
- ...makeBorderProps(),
11136
- ...makeComponentProps(),
11137
- ...makeDensityProps(),
11138
- ...makeElevationProps(),
11139
- ...makeRoundedProps(),
11140
- ...makeLayoutItemProps({
11141
- name: 'bottom-navigation'
11142
- }),
11143
- ...makeTagProps({
11144
- tag: 'header'
11145
- }),
11146
- ...makeGroupProps({
11147
- modelValue: true,
11148
- selectedClass: 'v-btn--selected'
11149
- }),
11150
- ...makeThemeProps()
11152
+ const makeVBottomNavigationProps = propsFactory({
11153
+ bgColor: String,
11154
+ color: String,
11155
+ grow: Boolean,
11156
+ mode: {
11157
+ type: String,
11158
+ validator: v => !v || ['horizontal', 'shift'].includes(v)
11151
11159
  },
11152
- emits: {
11153
- 'update:modelValue': value => true
11160
+ height: {
11161
+ type: [Number, String],
11162
+ default: 56
11154
11163
  },
11155
- setup(props, _ref) {
11156
- let {
11157
- slots
11158
- } = _ref;
11159
- const {
11160
- themeClasses
11164
+ active: {
11165
+ type: Boolean,
11166
+ default: true
11167
+ },
11168
+ ...makeBorderProps(),
11169
+ ...makeComponentProps(),
11170
+ ...makeDensityProps(),
11171
+ ...makeElevationProps(),
11172
+ ...makeRoundedProps(),
11173
+ ...makeLayoutItemProps({
11174
+ name: 'bottom-navigation'
11175
+ }),
11176
+ ...makeTagProps({
11177
+ tag: 'header'
11178
+ }),
11179
+ ...makeGroupProps({
11180
+ modelValue: true,
11181
+ selectedClass: 'v-btn--selected'
11182
+ }),
11183
+ ...makeThemeProps()
11184
+ }, 'v-bottom-navigation');
11185
+ const VBottomNavigation = genericComponent()({
11186
+ name: 'VBottomNavigation',
11187
+ props: makeVBottomNavigationProps(),
11188
+ emits: {
11189
+ 'update:modelValue': value => true
11190
+ },
11191
+ setup(props, _ref) {
11192
+ let {
11193
+ slots
11194
+ } = _ref;
11195
+ const {
11196
+ themeClasses
11161
11197
  } = useTheme();
11162
11198
  const {
11163
11199
  borderClasses
@@ -11223,12 +11259,13 @@
11223
11259
  }
11224
11260
  });
11225
11261
 
11262
+ const makeVBreadcrumbsDividerProps = propsFactory({
11263
+ divider: [Number, String],
11264
+ ...makeComponentProps()
11265
+ }, 'v-breacrumbs-divider');
11226
11266
  const VBreadcrumbsDivider = genericComponent()({
11227
11267
  name: 'VBreadcrumbsDivider',
11228
- props: {
11229
- divider: [Number, String],
11230
- ...makeComponentProps()
11231
- },
11268
+ props: makeVBreadcrumbsDividerProps(),
11232
11269
  setup(props, _ref) {
11233
11270
  let {
11234
11271
  slots
@@ -11241,21 +11278,22 @@
11241
11278
  }
11242
11279
  });
11243
11280
 
11281
+ const makeVBreadcrumbsItemProps = propsFactory({
11282
+ active: Boolean,
11283
+ activeClass: String,
11284
+ activeColor: String,
11285
+ color: String,
11286
+ disabled: Boolean,
11287
+ title: String,
11288
+ ...makeComponentProps(),
11289
+ ...makeRouterProps(),
11290
+ ...makeTagProps({
11291
+ tag: 'li'
11292
+ })
11293
+ }, 'v-breadcrumbs-item');
11244
11294
  const VBreadcrumbsItem = genericComponent()({
11245
11295
  name: 'VBreadcrumbsItem',
11246
- props: {
11247
- active: Boolean,
11248
- activeClass: String,
11249
- activeColor: String,
11250
- color: String,
11251
- disabled: Boolean,
11252
- title: String,
11253
- ...makeComponentProps(),
11254
- ...makeRouterProps(),
11255
- ...makeTagProps({
11256
- tag: 'li'
11257
- })
11258
- },
11296
+ props: makeVBreadcrumbsItemProps(),
11259
11297
  setup(props, _ref) {
11260
11298
  let {
11261
11299
  slots,
@@ -11291,30 +11329,31 @@
11291
11329
 
11292
11330
  // Types
11293
11331
 
11332
+ const makeVBreadcrumbsProps = propsFactory({
11333
+ activeClass: String,
11334
+ activeColor: String,
11335
+ bgColor: String,
11336
+ color: String,
11337
+ disabled: Boolean,
11338
+ divider: {
11339
+ type: String,
11340
+ default: '/'
11341
+ },
11342
+ icon: IconValue,
11343
+ items: {
11344
+ type: Array,
11345
+ default: () => []
11346
+ },
11347
+ ...makeComponentProps(),
11348
+ ...makeDensityProps(),
11349
+ ...makeRoundedProps(),
11350
+ ...makeTagProps({
11351
+ tag: 'ul'
11352
+ })
11353
+ }, 'v-breacrumbs');
11294
11354
  const VBreadcrumbs = genericComponent()({
11295
11355
  name: 'VBreadcrumbs',
11296
- props: {
11297
- activeClass: String,
11298
- activeColor: String,
11299
- bgColor: String,
11300
- color: String,
11301
- disabled: Boolean,
11302
- divider: {
11303
- type: String,
11304
- default: '/'
11305
- },
11306
- icon: IconValue,
11307
- items: {
11308
- type: Array,
11309
- default: () => []
11310
- },
11311
- ...makeComponentProps(),
11312
- ...makeDensityProps(),
11313
- ...makeRoundedProps(),
11314
- ...makeTagProps({
11315
- tag: 'ul'
11316
- })
11317
- },
11356
+ props: makeVBreadcrumbsProps(),
11318
11357
  setup(props, _ref) {
11319
11358
  let {
11320
11359
  slots
@@ -11423,18 +11462,19 @@
11423
11462
 
11424
11463
  const VCardTitle = createSimpleFunctional('v-card-title');
11425
11464
 
11465
+ const makeCardItemProps = propsFactory({
11466
+ appendAvatar: String,
11467
+ appendIcon: IconValue,
11468
+ prependAvatar: String,
11469
+ prependIcon: IconValue,
11470
+ subtitle: String,
11471
+ title: String,
11472
+ ...makeComponentProps(),
11473
+ ...makeDensityProps()
11474
+ }, 'v-card-item');
11426
11475
  const VCardItem = genericComponent()({
11427
11476
  name: 'VCardItem',
11428
- props: {
11429
- appendAvatar: String,
11430
- appendIcon: IconValue,
11431
- prependAvatar: String,
11432
- prependIcon: IconValue,
11433
- subtitle: String,
11434
- title: String,
11435
- ...makeComponentProps(),
11436
- ...makeDensityProps()
11437
- },
11477
+ props: makeCardItemProps(),
11438
11478
  setup(props, _ref) {
11439
11479
  let {
11440
11480
  slots
@@ -11505,47 +11545,48 @@
11505
11545
 
11506
11546
  // Types
11507
11547
 
11548
+ const makeVCardProps = propsFactory({
11549
+ appendAvatar: String,
11550
+ appendIcon: IconValue,
11551
+ disabled: Boolean,
11552
+ flat: Boolean,
11553
+ hover: Boolean,
11554
+ image: String,
11555
+ link: {
11556
+ type: Boolean,
11557
+ default: undefined
11558
+ },
11559
+ prependAvatar: String,
11560
+ prependIcon: IconValue,
11561
+ ripple: {
11562
+ type: Boolean,
11563
+ default: true
11564
+ },
11565
+ subtitle: String,
11566
+ text: String,
11567
+ title: String,
11568
+ ...makeBorderProps(),
11569
+ ...makeComponentProps(),
11570
+ ...makeDensityProps(),
11571
+ ...makeDimensionProps(),
11572
+ ...makeElevationProps(),
11573
+ ...makeLoaderProps(),
11574
+ ...makeLocationProps(),
11575
+ ...makePositionProps(),
11576
+ ...makeRoundedProps(),
11577
+ ...makeRouterProps(),
11578
+ ...makeTagProps(),
11579
+ ...makeThemeProps(),
11580
+ ...makeVariantProps({
11581
+ variant: 'elevated'
11582
+ })
11583
+ }, 'v-card');
11508
11584
  const VCard = genericComponent()({
11509
11585
  name: 'VCard',
11510
11586
  directives: {
11511
11587
  Ripple
11512
11588
  },
11513
- props: {
11514
- appendAvatar: String,
11515
- appendIcon: IconValue,
11516
- disabled: Boolean,
11517
- flat: Boolean,
11518
- hover: Boolean,
11519
- image: String,
11520
- link: {
11521
- type: Boolean,
11522
- default: undefined
11523
- },
11524
- prependAvatar: String,
11525
- prependIcon: IconValue,
11526
- ripple: {
11527
- type: Boolean,
11528
- default: true
11529
- },
11530
- subtitle: String,
11531
- text: String,
11532
- title: String,
11533
- ...makeBorderProps(),
11534
- ...makeComponentProps(),
11535
- ...makeDensityProps(),
11536
- ...makeDimensionProps(),
11537
- ...makeElevationProps(),
11538
- ...makeLoaderProps(),
11539
- ...makeLocationProps(),
11540
- ...makePositionProps(),
11541
- ...makeRoundedProps(),
11542
- ...makeRouterProps(),
11543
- ...makeTagProps(),
11544
- ...makeThemeProps(),
11545
- ...makeVariantProps({
11546
- variant: 'elevated'
11547
- })
11548
- },
11589
+ props: makeVCardProps(),
11549
11590
  setup(props, _ref) {
11550
11591
  let {
11551
11592
  attrs,
@@ -11939,34 +11980,35 @@
11939
11980
 
11940
11981
  // Types
11941
11982
 
11983
+ const makeVCarouselProps = propsFactory({
11984
+ color: String,
11985
+ cycle: Boolean,
11986
+ delimiterIcon: {
11987
+ type: IconValue,
11988
+ default: '$delimiter'
11989
+ },
11990
+ height: {
11991
+ type: [Number, String],
11992
+ default: 500
11993
+ },
11994
+ hideDelimiters: Boolean,
11995
+ hideDelimiterBackground: Boolean,
11996
+ interval: {
11997
+ type: [Number, String],
11998
+ default: 6000,
11999
+ validator: value => Number(value) > 0
12000
+ },
12001
+ progress: [Boolean, String],
12002
+ verticalDelimiters: [Boolean, String],
12003
+ ...makeVWindowProps({
12004
+ continuous: true,
12005
+ mandatory: 'force',
12006
+ showArrows: true
12007
+ })
12008
+ }, 'v-carousel');
11942
12009
  const VCarousel = genericComponent()({
11943
12010
  name: 'VCarousel',
11944
- props: {
11945
- color: String,
11946
- cycle: Boolean,
11947
- delimiterIcon: {
11948
- type: IconValue,
11949
- default: '$delimiter'
11950
- },
11951
- height: {
11952
- type: [Number, String],
11953
- default: 500
11954
- },
11955
- hideDelimiters: Boolean,
11956
- hideDelimiterBackground: Boolean,
11957
- interval: {
11958
- type: [Number, String],
11959
- default: 6000,
11960
- validator: value => Number(value) > 0
11961
- },
11962
- progress: [Boolean, String],
11963
- verticalDelimiters: [Boolean, String],
11964
- ...makeVWindowProps({
11965
- continuous: true,
11966
- mandatory: 'force',
11967
- showArrows: true
11968
- })
11969
- },
12011
+ props: makeVCarouselProps(),
11970
12012
  emits: {
11971
12013
  'update:modelValue': val => true
11972
12014
  },
@@ -12056,24 +12098,25 @@
12056
12098
  }
12057
12099
  });
12058
12100
 
12101
+ const makeVWindowItemProps = propsFactory({
12102
+ reverseTransition: {
12103
+ type: [Boolean, String],
12104
+ default: undefined
12105
+ },
12106
+ transition: {
12107
+ type: [Boolean, String],
12108
+ default: undefined
12109
+ },
12110
+ ...makeComponentProps(),
12111
+ ...makeGroupItemProps(),
12112
+ ...makeLazyProps()
12113
+ }, 'v-window-item');
12059
12114
  const VWindowItem = genericComponent()({
12060
12115
  name: 'VWindowItem',
12061
12116
  directives: {
12062
12117
  Touch
12063
12118
  },
12064
- props: {
12065
- reverseTransition: {
12066
- type: [Boolean, String],
12067
- default: undefined
12068
- },
12069
- transition: {
12070
- type: [Boolean, String],
12071
- default: undefined
12072
- },
12073
- ...makeComponentProps(),
12074
- ...makeGroupItemProps(),
12075
- ...makeLazyProps()
12076
- },
12119
+ props: makeVWindowItemProps(),
12077
12120
  emits: {
12078
12121
  'group:selected': val => true
12079
12122
  },
@@ -12167,25 +12210,28 @@
12167
12210
 
12168
12211
  // Types
12169
12212
 
12213
+ const makeVCarouselItemProps = propsFactory({
12214
+ ...makeVImgProps(),
12215
+ ...makeVWindowItemProps()
12216
+ }, 'v-carousel-item');
12170
12217
  const VCarouselItem = genericComponent()({
12171
12218
  name: 'VCarouselItem',
12172
12219
  inheritAttrs: false,
12173
- props: {
12174
- value: null,
12175
- ...makeComponentProps()
12176
- },
12220
+ props: makeVCarouselItemProps(),
12177
12221
  setup(props, _ref) {
12178
12222
  let {
12179
12223
  slots,
12180
12224
  attrs
12181
12225
  } = _ref;
12182
- useRender(() => vue.createVNode(VWindowItem, {
12183
- "class": ['v-carousel-item', props.class],
12184
- "style": props.style,
12185
- "value": props.value
12186
- }, {
12187
- default: () => [vue.createVNode(VImg, attrs, slots)]
12188
- }));
12226
+ useRender(() => {
12227
+ const [imgProps] = VImg.filterProps(props);
12228
+ const [windowItemProps] = VWindowItem.filterProps(props);
12229
+ return vue.createVNode(VWindowItem, vue.mergeProps({
12230
+ "class": "v-carousel-item"
12231
+ }, windowItemProps), {
12232
+ default: () => [vue.createVNode(VImg, vue.mergeProps(attrs, imgProps), slots)]
12233
+ });
12234
+ });
12189
12235
  }
12190
12236
  });
12191
12237
 
@@ -12205,9 +12251,7 @@
12205
12251
  }, 'v-sheet');
12206
12252
  const VSheet = genericComponent()({
12207
12253
  name: 'VSheet',
12208
- props: {
12209
- ...makeVSheetProps()
12210
- },
12254
+ props: makeVSheetProps(),
12211
12255
  setup(props, _ref) {
12212
12256
  let {
12213
12257
  slots
@@ -12247,27 +12291,28 @@
12247
12291
 
12248
12292
  // Types
12249
12293
 
12294
+ const makeVColorPickerCanvasProps = propsFactory({
12295
+ color: {
12296
+ type: Object
12297
+ },
12298
+ disabled: Boolean,
12299
+ dotSize: {
12300
+ type: [Number, String],
12301
+ default: 10
12302
+ },
12303
+ height: {
12304
+ type: [Number, String],
12305
+ default: 150
12306
+ },
12307
+ width: {
12308
+ type: [Number, String],
12309
+ default: 300
12310
+ },
12311
+ ...makeComponentProps()
12312
+ }, 'v-color-picker-canvas');
12250
12313
  const VColorPickerCanvas = defineComponent({
12251
12314
  name: 'VColorPickerCanvas',
12252
- props: {
12253
- color: {
12254
- type: Object
12255
- },
12256
- disabled: Boolean,
12257
- dotSize: {
12258
- type: [Number, String],
12259
- default: 10
12260
- },
12261
- height: {
12262
- type: [Number, String],
12263
- default: 150
12264
- },
12265
- width: {
12266
- type: [Number, String],
12267
- default: 300
12268
- },
12269
- ...makeComponentProps()
12270
- },
12315
+ props: makeVColorPickerCanvasProps(),
12271
12316
  emits: {
12272
12317
  'update:color': color => true,
12273
12318
  'update:position': hue => true
@@ -12523,7 +12568,7 @@
12523
12568
  let {
12524
12569
  a
12525
12570
  } = _ref;
12526
- return a ? Math.round(a * 100) / 100 : 1;
12571
+ return a != null ? Math.round(a * 100) / 100 : 1;
12527
12572
  },
12528
12573
  getColor: (c, v) => ({
12529
12574
  ...c,
@@ -12577,7 +12622,7 @@
12577
12622
  let {
12578
12623
  a
12579
12624
  } = _ref2;
12580
- return a ? Math.round(a * 100) / 100 : 1;
12625
+ return a != null ? Math.round(a * 100) / 100 : 1;
12581
12626
  },
12582
12627
  getColor: (c, v) => ({
12583
12628
  ...c,
@@ -12631,23 +12676,24 @@
12631
12676
  "class": "v-color-picker-edit__input"
12632
12677
  }, [vue.createVNode("input", rest, null), vue.createVNode("span", null, [label])]);
12633
12678
  };
12679
+ const makeVColorPickerEditProps = propsFactory({
12680
+ color: Object,
12681
+ disabled: Boolean,
12682
+ mode: {
12683
+ type: String,
12684
+ default: 'rgba',
12685
+ validator: v => Object.keys(modes).includes(v)
12686
+ },
12687
+ modes: {
12688
+ type: Array,
12689
+ default: () => Object.keys(modes),
12690
+ validator: v => Array.isArray(v) && v.every(m => Object.keys(modes).includes(m))
12691
+ },
12692
+ ...makeComponentProps()
12693
+ }, 'v-color-picker-edit');
12634
12694
  const VColorPickerEdit = defineComponent({
12635
12695
  name: 'VColorPickerEdit',
12636
- props: {
12637
- color: Object,
12638
- disabled: Boolean,
12639
- mode: {
12640
- type: String,
12641
- default: 'rgba',
12642
- validator: v => Object.keys(modes).includes(v)
12643
- },
12644
- modes: {
12645
- type: Array,
12646
- default: () => Object.keys(modes),
12647
- validator: v => Array.isArray(v) && v.every(m => Object.keys(modes).includes(m))
12648
- },
12649
- ...makeComponentProps()
12650
- },
12696
+ props: makeVColorPickerEditProps(),
12651
12697
  emits: {
12652
12698
  'update:color': color => true,
12653
12699
  'update:mode': mode => true
@@ -12980,35 +13026,36 @@
12980
13026
  return data;
12981
13027
  };
12982
13028
 
13029
+ const makeVSliderThumbProps = propsFactory({
13030
+ focused: Boolean,
13031
+ max: {
13032
+ type: Number,
13033
+ required: true
13034
+ },
13035
+ min: {
13036
+ type: Number,
13037
+ required: true
13038
+ },
13039
+ modelValue: {
13040
+ type: Number,
13041
+ required: true
13042
+ },
13043
+ position: {
13044
+ type: Number,
13045
+ required: true
13046
+ },
13047
+ ripple: {
13048
+ type: Boolean,
13049
+ default: true
13050
+ },
13051
+ ...makeComponentProps()
13052
+ }, 'v-slider-thumb');
12983
13053
  const VSliderThumb = genericComponent()({
12984
13054
  name: 'VSliderThumb',
12985
13055
  directives: {
12986
13056
  Ripple
12987
13057
  },
12988
- props: {
12989
- focused: Boolean,
12990
- max: {
12991
- type: Number,
12992
- required: true
12993
- },
12994
- min: {
12995
- type: Number,
12996
- required: true
12997
- },
12998
- modelValue: {
12999
- type: Number,
13000
- required: true
13001
- },
13002
- position: {
13003
- type: Number,
13004
- required: true
13005
- },
13006
- ripple: {
13007
- type: Boolean,
13008
- default: true
13009
- },
13010
- ...makeComponentProps()
13011
- },
13058
+ props: makeVSliderThumbProps(),
13012
13059
  emits: {
13013
13060
  'update:modelValue': v => true
13014
13061
  },
@@ -13125,19 +13172,20 @@
13125
13172
  }
13126
13173
  });
13127
13174
 
13175
+ const makeVSliderTrackProps = propsFactory({
13176
+ start: {
13177
+ type: Number,
13178
+ required: true
13179
+ },
13180
+ stop: {
13181
+ type: Number,
13182
+ required: true
13183
+ },
13184
+ ...makeComponentProps()
13185
+ }, 'v-slider-track');
13128
13186
  const VSliderTrack = genericComponent()({
13129
13187
  name: 'VSliderTrack',
13130
- props: {
13131
- start: {
13132
- type: Number,
13133
- required: true
13134
- },
13135
- stop: {
13136
- type: Number,
13137
- required: true
13138
- },
13139
- ...makeComponentProps()
13140
- },
13188
+ props: makeVSliderTrackProps(),
13141
13189
  emits: {},
13142
13190
  setup(props, _ref) {
13143
13191
  let {
@@ -13243,17 +13291,18 @@
13243
13291
 
13244
13292
  // Types
13245
13293
 
13294
+ const makeVSliderProps = propsFactory({
13295
+ ...makeFocusProps(),
13296
+ ...makeSliderProps(),
13297
+ ...makeVInputProps(),
13298
+ modelValue: {
13299
+ type: [Number, String],
13300
+ default: 0
13301
+ }
13302
+ }, 'v-slider');
13246
13303
  const VSlider = genericComponent()({
13247
13304
  name: 'VSlider',
13248
- props: {
13249
- ...makeFocusProps(),
13250
- ...makeSliderProps(),
13251
- ...makeVInputProps(),
13252
- modelValue: {
13253
- type: [Number, String],
13254
- default: 0
13255
- }
13256
- },
13305
+ props: makeVSliderProps(),
13257
13306
  emits: {
13258
13307
  'update:focused': value => true,
13259
13308
  'update:modelValue': v => true,
@@ -13266,6 +13315,9 @@
13266
13315
  emit
13267
13316
  } = _ref;
13268
13317
  const thumbContainerRef = vue.ref();
13318
+ const {
13319
+ rtlClasses
13320
+ } = useRtl();
13269
13321
  const steps = useSteps(props);
13270
13322
  const model = useProxiedModel(props, 'modelValue', undefined, v => {
13271
13323
  const value = typeof v === 'string' ? parseFloat(v) : v == null ? steps.min.value : v;
@@ -13319,7 +13371,7 @@
13319
13371
  'v-slider--focused': isFocused.value,
13320
13372
  'v-slider--pressed': mousePressed.value,
13321
13373
  'v-slider--disabled': props.disabled
13322
- }, props.class],
13374
+ }, rtlClasses.value, props.class],
13323
13375
  "style": props.style
13324
13376
  }, inputProps, {
13325
13377
  "focused": isFocused.value
@@ -13376,16 +13428,17 @@
13376
13428
 
13377
13429
  // Types
13378
13430
 
13431
+ const makeVColorPickerPreviewProps = propsFactory({
13432
+ color: {
13433
+ type: Object
13434
+ },
13435
+ disabled: Boolean,
13436
+ hideAlpha: Boolean,
13437
+ ...makeComponentProps()
13438
+ }, 'v-color-picker-preview');
13379
13439
  const VColorPickerPreview = defineComponent({
13380
13440
  name: 'VColorPickerPreview',
13381
- props: {
13382
- color: {
13383
- type: Object
13384
- },
13385
- disabled: Boolean,
13386
- hideAlpha: Boolean,
13387
- ...makeComponentProps()
13388
- },
13441
+ props: makeVColorPickerPreviewProps(),
13389
13442
  emits: {
13390
13443
  'update:color': color => true
13391
13444
  },
@@ -13763,6 +13816,16 @@
13763
13816
 
13764
13817
  // Types
13765
13818
 
13819
+ const makeVColorPickerSwatchesProps = propsFactory({
13820
+ swatches: {
13821
+ type: Array,
13822
+ default: () => parseDefaultColors(colors)
13823
+ },
13824
+ disabled: Boolean,
13825
+ color: Object,
13826
+ maxHeight: [Number, String],
13827
+ ...makeComponentProps()
13828
+ }, 'v-color-picker-swatches');
13766
13829
  function parseDefaultColors(colors) {
13767
13830
  return Object.keys(colors).map(key => {
13768
13831
  const color = colors[key];
@@ -13771,16 +13834,7 @@
13771
13834
  }
13772
13835
  const VColorPickerSwatches = defineComponent({
13773
13836
  name: 'VColorPickerSwatches',
13774
- props: {
13775
- swatches: {
13776
- type: Array,
13777
- default: () => parseDefaultColors(colors)
13778
- },
13779
- disabled: Boolean,
13780
- color: Object,
13781
- maxHeight: [Number, String],
13782
- ...makeComponentProps()
13783
- },
13837
+ props: makeVColorPickerSwatchesProps(),
13784
13838
  emits: {
13785
13839
  'update:color': color => true
13786
13840
  },
@@ -13816,44 +13870,45 @@
13816
13870
 
13817
13871
  // Types
13818
13872
 
13873
+ const makeVPickerProps = propsFactory({
13874
+ canvasHeight: {
13875
+ type: [String, Number],
13876
+ default: 150
13877
+ },
13878
+ disabled: Boolean,
13879
+ dotSize: {
13880
+ type: [Number, String],
13881
+ default: 10
13882
+ },
13883
+ hideCanvas: Boolean,
13884
+ hideSliders: Boolean,
13885
+ hideInputs: Boolean,
13886
+ mode: {
13887
+ type: String,
13888
+ default: 'rgba',
13889
+ validator: v => Object.keys(modes).includes(v)
13890
+ },
13891
+ modes: {
13892
+ type: Array,
13893
+ default: () => Object.keys(modes),
13894
+ validator: v => Array.isArray(v) && v.every(m => Object.keys(modes).includes(m))
13895
+ },
13896
+ showSwatches: Boolean,
13897
+ swatches: Array,
13898
+ swatchesMaxHeight: {
13899
+ type: [Number, String],
13900
+ default: 150
13901
+ },
13902
+ modelValue: {
13903
+ type: [Object, String]
13904
+ },
13905
+ ...omit(makeVSheetProps({
13906
+ width: 300
13907
+ }), ['height', 'location', 'minHeight', 'maxHeight', 'minWidth', 'maxWidth'])
13908
+ }, 'v-color-picker');
13819
13909
  const VColorPicker = defineComponent({
13820
13910
  name: 'VColorPicker',
13821
- props: {
13822
- canvasHeight: {
13823
- type: [String, Number],
13824
- default: 150
13825
- },
13826
- disabled: Boolean,
13827
- dotSize: {
13828
- type: [Number, String],
13829
- default: 10
13830
- },
13831
- hideCanvas: Boolean,
13832
- hideSliders: Boolean,
13833
- hideInputs: Boolean,
13834
- mode: {
13835
- type: String,
13836
- default: 'rgba',
13837
- validator: v => Object.keys(modes).includes(v)
13838
- },
13839
- modes: {
13840
- type: Array,
13841
- default: () => Object.keys(modes),
13842
- validator: v => Array.isArray(v) && v.every(m => Object.keys(modes).includes(m))
13843
- },
13844
- showSwatches: Boolean,
13845
- swatches: Array,
13846
- swatchesMaxHeight: {
13847
- type: [Number, String],
13848
- default: 150
13849
- },
13850
- modelValue: {
13851
- type: [Object, String]
13852
- },
13853
- ...omit(makeVSheetProps({
13854
- width: 300
13855
- }), ['height', 'location', 'minHeight', 'maxHeight', 'minWidth', 'maxWidth'])
13856
- },
13911
+ props: makeVPickerProps(),
13857
13912
  emits: {
13858
13913
  'update:modelValue': color => true,
13859
13914
  'update:mode': mode => true
@@ -13876,6 +13931,9 @@
13876
13931
  if (!v) return null;
13877
13932
  return extractColor(v, props.modelValue);
13878
13933
  });
13934
+ const {
13935
+ rtlClasses
13936
+ } = useRtl();
13879
13937
  const updateColor = hsva => {
13880
13938
  currentColor.value = hsva;
13881
13939
  lastPickedColor.value = hsva;
@@ -13896,7 +13954,7 @@
13896
13954
  "rounded": props.rounded,
13897
13955
  "elevation": props.elevation,
13898
13956
  "theme": props.theme,
13899
- "class": ['v-color-picker', props.class],
13957
+ "class": ['v-color-picker', rtlClasses.value, props.class],
13900
13958
  "style": [{
13901
13959
  '--v-color-picker-color-hsv': HSVtoCSS({
13902
13960
  ...(currentColor.value ?? nullColor),
@@ -13958,26 +14016,27 @@
13958
14016
  "class": "v-combobox__unmask"
13959
14017
  }, [text.substr(matches + length)])]) : text;
13960
14018
  }
14019
+ const makeVComboboxProps = propsFactory({
14020
+ // TODO: implement post keyboard support
14021
+ // autoSelectFirst: Boolean,
14022
+ delimiters: Array,
14023
+ ...makeFilterProps({
14024
+ filterKeys: ['title']
14025
+ }),
14026
+ ...makeSelectProps({
14027
+ hideNoData: true,
14028
+ returnObject: true
14029
+ }),
14030
+ ...omit(makeVTextFieldProps({
14031
+ modelValue: null
14032
+ }), ['validationValue', 'dirty', 'appendInnerIcon']),
14033
+ ...makeTransitionProps({
14034
+ transition: false
14035
+ })
14036
+ }, 'v-combobox');
13961
14037
  const VCombobox = genericComponent()({
13962
14038
  name: 'VCombobox',
13963
- props: {
13964
- // TODO: implement post keyboard support
13965
- // autoSelectFirst: Boolean,
13966
- delimiters: Array,
13967
- ...makeFilterProps({
13968
- filterKeys: ['title']
13969
- }),
13970
- ...makeSelectProps({
13971
- hideNoData: true,
13972
- returnObject: true
13973
- }),
13974
- ...omit(makeVTextFieldProps({
13975
- modelValue: null
13976
- }), ['validationValue', 'dirty', 'appendInnerIcon']),
13977
- ...makeTransitionProps({
13978
- transition: false
13979
- })
13980
- },
14039
+ props: makeVComboboxProps(),
13981
14040
  emits: {
13982
14041
  'update:focused': focused => true,
13983
14042
  'update:modelValue': val => true,
@@ -14147,7 +14206,10 @@
14147
14206
  }
14148
14207
  }
14149
14208
  function onAfterLeave() {
14150
- if (isFocused.value) isPristine.value = true;
14209
+ if (isFocused.value) {
14210
+ isPristine.value = true;
14211
+ vTextFieldRef.value?.focus();
14212
+ }
14151
14213
  }
14152
14214
  function select(item) {
14153
14215
  if (props.multiple) {
@@ -14174,23 +14236,16 @@
14174
14236
  function onFocusin(e) {
14175
14237
  isFocused.value = true;
14176
14238
  }
14177
- function onFocusout(e) {
14178
- if (e.relatedTarget == null) {
14179
- vTextFieldRef.value?.focus();
14180
- }
14181
- }
14182
14239
  vue.watch(filteredItems, val => {
14183
14240
  if (!val.length && props.hideNoData) menu.value = false;
14184
14241
  });
14185
14242
  vue.watch(isFocused, val => {
14186
- if (val) {
14187
- selectionIndex.value = -1;
14188
- } else {
14189
- menu.value = false;
14190
- if (!props.multiple || !search.value) return;
14191
- model.value = [...model.value, transformItem$1(props, search.value)];
14192
- search.value = '';
14193
- }
14243
+ if (val) return;
14244
+ selectionIndex.value = -1;
14245
+ menu.value = false;
14246
+ if (!props.multiple || !search.value) return;
14247
+ model.value = [...model.value, transformItem$1(props, search.value)];
14248
+ search.value = '';
14194
14249
  });
14195
14250
  useRender(() => {
14196
14251
  const hasChips = !!(props.chips || slots.chip);
@@ -14241,8 +14296,7 @@
14241
14296
  "selected": selected.value,
14242
14297
  "selectStrategy": props.multiple ? 'independent' : 'single-independent',
14243
14298
  "onMousedown": e => e.preventDefault(),
14244
- "onFocusin": onFocusin,
14245
- "onFocusout": onFocusout
14299
+ "onFocusin": onFocusin
14246
14300
  }, {
14247
14301
  default: () => [!displayItems.value.length && !props.hideNoData && (slots['no-data']?.() ?? vue.createVNode(VListItem, {
14248
14302
  "title": t(props.noDataText)
@@ -14260,11 +14314,13 @@
14260
14314
  let {
14261
14315
  isSelected
14262
14316
  } = _ref2;
14263
- return props.multiple && !props.hideSelected ? vue.createVNode(VCheckboxBtn, {
14317
+ return vue.createVNode(vue.Fragment, null, [props.multiple && !props.hideSelected ? vue.createVNode(VCheckboxBtn, {
14264
14318
  "modelValue": isSelected,
14265
14319
  "ripple": false,
14266
14320
  "tabindex": "-1"
14267
- }, null) : undefined;
14321
+ }, null) : undefined, item.props.prependIcon && vue.createVNode(VIcon, {
14322
+ "icon": item.props.prependIcon
14323
+ }, null)]);
14268
14324
  },
14269
14325
  title: () => {
14270
14326
  return isPristine.value ? item.title : highlightResult(item.title, getMatches(item)?.title, search.value?.length ?? 0);
@@ -14279,6 +14335,10 @@
14279
14335
  }
14280
14336
  const slotProps = {
14281
14337
  'onClick:close': onChipClose,
14338
+ onMousedown(e) {
14339
+ e.preventDefault();
14340
+ e.stopPropagation();
14341
+ },
14282
14342
  modelValue: true,
14283
14343
  'onUpdate:modelValue': undefined
14284
14344
  };
@@ -14331,24 +14391,25 @@
14331
14391
 
14332
14392
  // Types
14333
14393
 
14394
+ const makeVDialogProps = propsFactory({
14395
+ fullscreen: Boolean,
14396
+ retainFocus: {
14397
+ type: Boolean,
14398
+ default: true
14399
+ },
14400
+ scrollable: Boolean,
14401
+ ...makeVOverlayProps({
14402
+ origin: 'center center',
14403
+ scrollStrategy: 'block',
14404
+ transition: {
14405
+ component: VDialogTransition
14406
+ },
14407
+ zIndex: 2400
14408
+ })
14409
+ }, 'v-dialog');
14334
14410
  const VDialog = genericComponent()({
14335
14411
  name: 'VDialog',
14336
- props: {
14337
- fullscreen: Boolean,
14338
- retainFocus: {
14339
- type: Boolean,
14340
- default: true
14341
- },
14342
- scrollable: Boolean,
14343
- ...makeVOverlayProps({
14344
- origin: 'center center',
14345
- scrollStrategy: 'block',
14346
- transition: {
14347
- component: VDialogTransition
14348
- },
14349
- zIndex: 2400
14350
- })
14351
- },
14412
+ props: makeVDialogProps(),
14352
14413
  emits: {
14353
14414
  'update:modelValue': value => true
14354
14415
  },
@@ -14442,21 +14503,22 @@
14442
14503
 
14443
14504
  const VExpansionPanelSymbol = Symbol.for('vuetify:v-expansion-panel');
14444
14505
  const allowedVariants = ['default', 'accordion', 'inset', 'popout'];
14506
+ const makeVExpansionPanelsProps = propsFactory({
14507
+ color: String,
14508
+ variant: {
14509
+ type: String,
14510
+ default: 'default',
14511
+ validator: v => allowedVariants.includes(v)
14512
+ },
14513
+ readonly: Boolean,
14514
+ ...makeComponentProps(),
14515
+ ...makeGroupProps(),
14516
+ ...makeTagProps(),
14517
+ ...makeThemeProps()
14518
+ }, 'v-expansion-panel');
14445
14519
  const VExpansionPanels = genericComponent()({
14446
14520
  name: 'VExpansionPanels',
14447
- props: {
14448
- color: String,
14449
- variant: {
14450
- type: String,
14451
- default: 'default',
14452
- validator: v => allowedVariants.includes(v)
14453
- },
14454
- readonly: Boolean,
14455
- ...makeComponentProps(),
14456
- ...makeGroupProps(),
14457
- ...makeTagProps(),
14458
- ...makeThemeProps()
14459
- },
14521
+ props: makeVExpansionPanelsProps(),
14460
14522
  emits: {
14461
14523
  'update:modelValue': val => true
14462
14524
  },
@@ -14500,17 +14562,15 @@
14500
14562
  type: [Boolean, Object],
14501
14563
  default: false
14502
14564
  },
14503
- readonly: Boolean
14565
+ readonly: Boolean,
14566
+ ...makeComponentProps()
14504
14567
  }, 'v-expansion-panel-title');
14505
14568
  const VExpansionPanelTitle = genericComponent()({
14506
14569
  name: 'VExpansionPanelTitle',
14507
14570
  directives: {
14508
14571
  Ripple
14509
14572
  },
14510
- props: {
14511
- ...makeComponentProps(),
14512
- ...makeVExpansionPanelTitleProps()
14513
- },
14573
+ props: makeVExpansionPanelTitleProps(),
14514
14574
  setup(props, _ref) {
14515
14575
  let {
14516
14576
  slots
@@ -14549,12 +14609,13 @@
14549
14609
  }
14550
14610
  });
14551
14611
 
14612
+ const makeVExpansionPanelTextProps = propsFactory({
14613
+ ...makeComponentProps(),
14614
+ ...makeLazyProps()
14615
+ }, 'v-expansion-panel-text');
14552
14616
  const VExpansionPanelText = genericComponent()({
14553
14617
  name: 'VExpansionPanelText',
14554
- props: {
14555
- ...makeComponentProps(),
14556
- ...makeLazyProps()
14557
- },
14618
+ props: makeVExpansionPanelTextProps(),
14558
14619
  setup(props, _ref) {
14559
14620
  let {
14560
14621
  slots
@@ -14579,20 +14640,21 @@
14579
14640
  }
14580
14641
  });
14581
14642
 
14643
+ const makeVExpansionPanelProps = propsFactory({
14644
+ title: String,
14645
+ text: String,
14646
+ bgColor: String,
14647
+ ...makeComponentProps(),
14648
+ ...makeElevationProps(),
14649
+ ...makeGroupItemProps(),
14650
+ ...makeLazyProps(),
14651
+ ...makeRoundedProps(),
14652
+ ...makeTagProps(),
14653
+ ...makeVExpansionPanelTitleProps()
14654
+ }, 'v-expansion-panel');
14582
14655
  const VExpansionPanel = genericComponent()({
14583
14656
  name: 'VExpansionPanel',
14584
- props: {
14585
- title: String,
14586
- text: String,
14587
- bgColor: String,
14588
- ...makeComponentProps(),
14589
- ...makeElevationProps(),
14590
- ...makeGroupItemProps(),
14591
- ...makeLazyProps(),
14592
- ...makeRoundedProps(),
14593
- ...makeTagProps(),
14594
- ...makeVExpansionPanelTitleProps()
14595
- },
14657
+ props: makeVExpansionPanelProps(),
14596
14658
  emits: {
14597
14659
  'group:selected': val => true
14598
14660
  },
@@ -14635,8 +14697,7 @@
14635
14697
  'v-expansion-panel--after-active': isAfterSelected.value,
14636
14698
  'v-expansion-panel--disabled': isDisabled.value
14637
14699
  }, roundedClasses.value, backgroundColorClasses.value, props.class],
14638
- "style": [backgroundColorStyles.value, props.style],
14639
- "aria-expanded": groupItem.isSelected.value
14700
+ "style": [backgroundColorStyles.value, props.style]
14640
14701
  }, {
14641
14702
  default: () => [vue.createVNode("div", {
14642
14703
  "class": ['v-expansion-panel__shadow', ...elevationClasses.value]
@@ -14663,42 +14724,43 @@
14663
14724
 
14664
14725
  // Types
14665
14726
 
14727
+ const makeVFileInputProps = propsFactory({
14728
+ chips: Boolean,
14729
+ counter: Boolean,
14730
+ counterSizeString: {
14731
+ type: String,
14732
+ default: '$vuetify.fileInput.counterSize'
14733
+ },
14734
+ counterString: {
14735
+ type: String,
14736
+ default: '$vuetify.fileInput.counter'
14737
+ },
14738
+ multiple: Boolean,
14739
+ showSize: {
14740
+ type: [Boolean, Number],
14741
+ default: false,
14742
+ validator: v => {
14743
+ return typeof v === 'boolean' || [1000, 1024].includes(v);
14744
+ }
14745
+ },
14746
+ ...makeVInputProps({
14747
+ prependIcon: '$file'
14748
+ }),
14749
+ modelValue: {
14750
+ type: Array,
14751
+ default: () => [],
14752
+ validator: val => {
14753
+ return wrapInArray(val).every(v => v != null && typeof v === 'object');
14754
+ }
14755
+ },
14756
+ ...makeVFieldProps({
14757
+ clearable: true
14758
+ })
14759
+ }, 'v-file-input');
14666
14760
  const VFileInput = genericComponent()({
14667
14761
  name: 'VFileInput',
14668
14762
  inheritAttrs: false,
14669
- props: {
14670
- chips: Boolean,
14671
- counter: Boolean,
14672
- counterSizeString: {
14673
- type: String,
14674
- default: '$vuetify.fileInput.counterSize'
14675
- },
14676
- counterString: {
14677
- type: String,
14678
- default: '$vuetify.fileInput.counter'
14679
- },
14680
- multiple: Boolean,
14681
- showSize: {
14682
- type: [Boolean, Number],
14683
- default: false,
14684
- validator: v => {
14685
- return typeof v === 'boolean' || [1000, 1024].includes(v);
14686
- }
14687
- },
14688
- ...makeVInputProps({
14689
- prependIcon: '$file'
14690
- }),
14691
- modelValue: {
14692
- type: Array,
14693
- default: () => [],
14694
- validator: val => {
14695
- return wrapInArray(val).every(v => v != null && typeof v === 'object');
14696
- }
14697
- },
14698
- ...makeVFieldProps({
14699
- clearable: true
14700
- })
14701
- },
14763
+ props: makeVFileInputProps(),
14702
14764
  emits: {
14703
14765
  'click:control': e => true,
14704
14766
  'mousedown:control': e => true,
@@ -14742,6 +14804,7 @@
14742
14804
  const vInputRef = vue.ref();
14743
14805
  const vFieldRef = vue.ref();
14744
14806
  const inputRef = vue.ref();
14807
+ const isActive = vue.computed(() => isFocused.value || props.active);
14745
14808
  function onFocus() {
14746
14809
  if (inputRef.value !== document.activeElement) {
14747
14810
  inputRef.value?.focus();
@@ -14810,7 +14873,7 @@
14810
14873
  "onClick:appendInner": props['onClick:appendInner']
14811
14874
  }, fieldProps, {
14812
14875
  "id": id.value,
14813
- "active": isDirty.value || isFocused.value,
14876
+ "active": isActive.value || isDirty.value,
14814
14877
  "dirty": isDirty.value,
14815
14878
  "disabled": isDisabled.value,
14816
14879
  "focused": isFocused.value,
@@ -14868,25 +14931,26 @@
14868
14931
  }
14869
14932
  });
14870
14933
 
14934
+ const makeVFooterProps = propsFactory({
14935
+ app: Boolean,
14936
+ color: String,
14937
+ height: {
14938
+ type: [Number, String],
14939
+ default: 'auto'
14940
+ },
14941
+ ...makeBorderProps(),
14942
+ ...makeComponentProps(),
14943
+ ...makeElevationProps(),
14944
+ ...makeLayoutItemProps(),
14945
+ ...makeRoundedProps(),
14946
+ ...makeTagProps({
14947
+ tag: 'footer'
14948
+ }),
14949
+ ...makeThemeProps()
14950
+ }, 'v-footer');
14871
14951
  const VFooter = genericComponent()({
14872
14952
  name: 'VFooter',
14873
- props: {
14874
- app: Boolean,
14875
- color: String,
14876
- height: {
14877
- type: [Number, String],
14878
- default: 'auto'
14879
- },
14880
- ...makeBorderProps(),
14881
- ...makeComponentProps(),
14882
- ...makeElevationProps(),
14883
- ...makeLayoutItemProps(),
14884
- ...makeRoundedProps(),
14885
- ...makeTagProps({
14886
- tag: 'footer'
14887
- }),
14888
- ...makeThemeProps()
14889
- },
14953
+ props: makeVFooterProps(),
14890
14954
  setup(props, _ref) {
14891
14955
  let {
14892
14956
  slots
@@ -14937,12 +15001,13 @@
14937
15001
 
14938
15002
  // Types
14939
15003
 
15004
+ const makeVFormProps = propsFactory({
15005
+ ...makeComponentProps(),
15006
+ ...makeFormProps()
15007
+ }, 'v-form');
14940
15008
  const VForm = genericComponent()({
14941
15009
  name: 'VForm',
14942
- props: {
14943
- ...makeComponentProps(),
14944
- ...makeFormProps()
14945
- },
15010
+ props: makeVFormProps(),
14946
15011
  emits: {
14947
15012
  'update:modelValue': val => true,
14948
15013
  submit: e => true
@@ -14989,24 +15054,28 @@
14989
15054
  }
14990
15055
  });
14991
15056
 
15057
+ const makeVContainerProps = propsFactory({
15058
+ fluid: {
15059
+ type: Boolean,
15060
+ default: false
15061
+ },
15062
+ ...makeComponentProps(),
15063
+ ...makeTagProps()
15064
+ }, 'v-container');
14992
15065
  const VContainer = genericComponent()({
14993
15066
  name: 'VContainer',
14994
- props: {
14995
- fluid: {
14996
- type: Boolean,
14997
- default: false
14998
- },
14999
- ...makeComponentProps(),
15000
- ...makeTagProps()
15001
- },
15067
+ props: makeVContainerProps(),
15002
15068
  setup(props, _ref) {
15003
15069
  let {
15004
15070
  slots
15005
15071
  } = _ref;
15072
+ const {
15073
+ rtlClasses
15074
+ } = useRtl();
15006
15075
  useRender(() => vue.createVNode(props.tag, {
15007
15076
  "class": ['v-container', {
15008
15077
  'v-container--fluid': props.fluid
15009
- }, props.class],
15078
+ }, rtlClasses.value, props.class],
15010
15079
  "style": props.style
15011
15080
  }, slots));
15012
15081
  return {};
@@ -15075,32 +15144,33 @@
15075
15144
  return className.toLowerCase();
15076
15145
  }
15077
15146
  const ALIGN_SELF_VALUES = ['auto', 'start', 'end', 'center', 'baseline', 'stretch'];
15147
+ const makeVColProps = propsFactory({
15148
+ cols: {
15149
+ type: [Boolean, String, Number],
15150
+ default: false
15151
+ },
15152
+ ...breakpointProps,
15153
+ offset: {
15154
+ type: [String, Number],
15155
+ default: null
15156
+ },
15157
+ ...offsetProps,
15158
+ order: {
15159
+ type: [String, Number],
15160
+ default: null
15161
+ },
15162
+ ...orderProps,
15163
+ alignSelf: {
15164
+ type: String,
15165
+ default: null,
15166
+ validator: str => ALIGN_SELF_VALUES.includes(str)
15167
+ },
15168
+ ...makeComponentProps(),
15169
+ ...makeTagProps()
15170
+ }, 'v-col');
15078
15171
  const VCol = genericComponent()({
15079
15172
  name: 'VCol',
15080
- props: {
15081
- cols: {
15082
- type: [Boolean, String, Number],
15083
- default: false
15084
- },
15085
- ...breakpointProps,
15086
- offset: {
15087
- type: [String, Number],
15088
- default: null
15089
- },
15090
- ...offsetProps,
15091
- order: {
15092
- type: [String, Number],
15093
- default: null
15094
- },
15095
- ...orderProps,
15096
- alignSelf: {
15097
- type: String,
15098
- default: null,
15099
- validator: str => ALIGN_SELF_VALUES.includes(str)
15100
- },
15101
- ...makeComponentProps(),
15102
- ...makeTagProps()
15103
- },
15173
+ props: makeVColProps(),
15104
15174
  setup(props, _ref) {
15105
15175
  let {
15106
15176
  slots
@@ -15193,32 +15263,33 @@
15193
15263
  className += `-${val}`;
15194
15264
  return className.toLowerCase();
15195
15265
  }
15266
+ const makeVRowProps = propsFactory({
15267
+ dense: Boolean,
15268
+ noGutters: Boolean,
15269
+ align: {
15270
+ type: String,
15271
+ default: null,
15272
+ validator: alignValidator
15273
+ },
15274
+ ...alignProps,
15275
+ justify: {
15276
+ type: String,
15277
+ default: null,
15278
+ validator: justifyValidator
15279
+ },
15280
+ ...justifyProps,
15281
+ alignContent: {
15282
+ type: String,
15283
+ default: null,
15284
+ validator: alignContentValidator
15285
+ },
15286
+ ...alignContentProps,
15287
+ ...makeComponentProps(),
15288
+ ...makeTagProps()
15289
+ }, 'v-row');
15196
15290
  const VRow = genericComponent()({
15197
15291
  name: 'VRow',
15198
- props: {
15199
- dense: Boolean,
15200
- noGutters: Boolean,
15201
- align: {
15202
- type: String,
15203
- default: null,
15204
- validator: alignValidator
15205
- },
15206
- ...alignProps,
15207
- justify: {
15208
- type: String,
15209
- default: null,
15210
- validator: justifyValidator
15211
- },
15212
- ...justifyProps,
15213
- alignContent: {
15214
- type: String,
15215
- default: null,
15216
- validator: alignContentValidator
15217
- },
15218
- ...alignContentProps,
15219
- ...makeComponentProps(),
15220
- ...makeTagProps()
15221
- },
15292
+ props: makeVRowProps(),
15222
15293
  setup(props, _ref) {
15223
15294
  let {
15224
15295
  slots
@@ -15254,16 +15325,17 @@
15254
15325
  const VSpacer = createSimpleFunctional('flex-grow-1', 'div', 'VSpacer');
15255
15326
 
15256
15327
  // Composables
15328
+ const makeVHoverProps = propsFactory({
15329
+ disabled: Boolean,
15330
+ modelValue: {
15331
+ type: Boolean,
15332
+ default: undefined
15333
+ },
15334
+ ...makeDelayProps()
15335
+ }, 'v-hover');
15257
15336
  const VHover = genericComponent()({
15258
15337
  name: 'VHover',
15259
- props: {
15260
- disabled: Boolean,
15261
- modelValue: {
15262
- type: Boolean,
15263
- default: undefined
15264
- },
15265
- ...makeDelayProps()
15266
- },
15338
+ props: makeVHoverProps(),
15267
15339
  emits: {
15268
15340
  'update:modelValue': value => true
15269
15341
  },
@@ -15287,16 +15359,17 @@
15287
15359
  });
15288
15360
 
15289
15361
  const VItemGroupSymbol = Symbol.for('vuetify:v-item-group');
15362
+ const makeVItemGroupProps = propsFactory({
15363
+ ...makeComponentProps(),
15364
+ ...makeGroupProps({
15365
+ selectedClass: 'v-item--selected'
15366
+ }),
15367
+ ...makeTagProps(),
15368
+ ...makeThemeProps()
15369
+ }, 'v-item-group');
15290
15370
  const VItemGroup = genericComponent()({
15291
15371
  name: 'VItemGroup',
15292
- props: {
15293
- ...makeComponentProps(),
15294
- ...makeGroupProps({
15295
- selectedClass: 'v-item--selected'
15296
- }),
15297
- ...makeTagProps(),
15298
- ...makeThemeProps()
15299
- },
15372
+ props: makeVItemGroupProps(),
15300
15373
  emits: {
15301
15374
  'update:modelValue': value => true
15302
15375
  },
@@ -15364,12 +15437,13 @@
15364
15437
 
15365
15438
  const VKbd = createSimpleFunctional('v-kbd');
15366
15439
 
15440
+ const makeVLayoutProps = propsFactory({
15441
+ ...makeComponentProps(),
15442
+ ...makeLayoutProps()
15443
+ }, 'v-layout');
15367
15444
  const VLayout = genericComponent()({
15368
15445
  name: 'VLayout',
15369
- props: {
15370
- ...makeComponentProps(),
15371
- ...makeLayoutProps()
15372
- },
15446
+ props: makeVLayoutProps(),
15373
15447
  setup(props, _ref) {
15374
15448
  let {
15375
15449
  slots
@@ -15395,21 +15469,22 @@
15395
15469
 
15396
15470
  // Types
15397
15471
 
15472
+ const makeVLayoutItemProps = propsFactory({
15473
+ position: {
15474
+ type: String,
15475
+ required: true
15476
+ },
15477
+ size: {
15478
+ type: [Number, String],
15479
+ default: 300
15480
+ },
15481
+ modelValue: Boolean,
15482
+ ...makeComponentProps(),
15483
+ ...makeLayoutItemProps()
15484
+ }, 'v-layout-item');
15398
15485
  const VLayoutItem = genericComponent()({
15399
15486
  name: 'VLayoutItem',
15400
- props: {
15401
- position: {
15402
- type: String,
15403
- required: true
15404
- },
15405
- size: {
15406
- type: [Number, String],
15407
- default: 300
15408
- },
15409
- modelValue: Boolean,
15410
- ...makeComponentProps(),
15411
- ...makeLayoutItemProps()
15412
- },
15487
+ props: makeVLayoutItemProps(),
15413
15488
  setup(props, _ref) {
15414
15489
  let {
15415
15490
  slots
@@ -15434,30 +15509,31 @@
15434
15509
 
15435
15510
  // Types
15436
15511
 
15512
+ const makeVLazyProps = propsFactory({
15513
+ modelValue: Boolean,
15514
+ options: {
15515
+ type: Object,
15516
+ // For more information on types, navigate to:
15517
+ // https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API
15518
+ default: () => ({
15519
+ root: undefined,
15520
+ rootMargin: undefined,
15521
+ threshold: undefined
15522
+ })
15523
+ },
15524
+ ...makeComponentProps(),
15525
+ ...makeDimensionProps(),
15526
+ ...makeTagProps(),
15527
+ ...makeTransitionProps({
15528
+ transition: 'fade-transition'
15529
+ })
15530
+ }, 'v-lazy');
15437
15531
  const VLazy = genericComponent()({
15438
15532
  name: 'VLazy',
15439
15533
  directives: {
15440
15534
  intersect: Intersect
15441
15535
  },
15442
- props: {
15443
- modelValue: Boolean,
15444
- options: {
15445
- type: Object,
15446
- // For more information on types, navigate to:
15447
- // https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API
15448
- default: () => ({
15449
- root: undefined,
15450
- rootMargin: undefined,
15451
- threshold: undefined
15452
- })
15453
- },
15454
- ...makeComponentProps(),
15455
- ...makeDimensionProps(),
15456
- ...makeTagProps(),
15457
- ...makeTransitionProps({
15458
- transition: 'fade-transition'
15459
- })
15460
- },
15536
+ props: makeVLazyProps(),
15461
15537
  emits: {
15462
15538
  'update:modelValue': value => true
15463
15539
  },
@@ -15491,18 +15567,19 @@
15491
15567
  }
15492
15568
  });
15493
15569
 
15570
+ const makeVLocaleProviderProps = propsFactory({
15571
+ locale: String,
15572
+ fallbackLocale: String,
15573
+ messages: Object,
15574
+ rtl: {
15575
+ type: Boolean,
15576
+ default: undefined
15577
+ },
15578
+ ...makeComponentProps()
15579
+ }, 'v-locale-provider');
15494
15580
  const VLocaleProvider = genericComponent()({
15495
15581
  name: 'VLocaleProvider',
15496
- props: {
15497
- locale: String,
15498
- fallbackLocale: String,
15499
- messages: Object,
15500
- rtl: {
15501
- type: Boolean,
15502
- default: undefined
15503
- },
15504
- ...makeComponentProps()
15505
- },
15582
+ props: makeVLocaleProviderProps(),
15506
15583
  setup(props, _ref) {
15507
15584
  let {
15508
15585
  slots
@@ -15518,15 +15595,16 @@
15518
15595
  }
15519
15596
  });
15520
15597
 
15598
+ const makeVMainProps = propsFactory({
15599
+ scrollable: Boolean,
15600
+ ...makeComponentProps(),
15601
+ ...makeTagProps({
15602
+ tag: 'main'
15603
+ })
15604
+ }, 'v-main');
15521
15605
  const VMain = genericComponent()({
15522
15606
  name: 'VMain',
15523
- props: {
15524
- scrollable: Boolean,
15525
- ...makeComponentProps(),
15526
- ...makeTagProps({
15527
- tag: 'main'
15528
- })
15529
- },
15607
+ props: makeVMainProps(),
15530
15608
  setup(props, _ref) {
15531
15609
  let {
15532
15610
  slots
@@ -15594,18 +15672,24 @@
15594
15672
  const layoutTop = parseFloat(layoutItemStyles.value.top ?? 0);
15595
15673
  const top = window.scrollY - Math.max(0, stuckPosition.value - layoutTop);
15596
15674
  const bottom = rect.height + Math.max(stuckPosition.value, layoutTop) - window.scrollY - window.innerHeight;
15675
+ const bodyScroll = parseFloat(getComputedStyle(rootEl.value).getPropertyValue('--v-body-scroll-y')) || 0;
15597
15676
  if (rect.height < window.innerHeight - layoutTop) {
15598
15677
  isStuck.value = 'top';
15599
15678
  stuckPosition.value = layoutTop;
15600
15679
  } else if (direction === 'up' && isStuck.value === 'bottom' || direction === 'down' && isStuck.value === 'top') {
15601
- stuckPosition.value = window.scrollY + rect.top;
15680
+ stuckPosition.value = window.scrollY + rect.top - bodyScroll;
15602
15681
  isStuck.value = true;
15603
15682
  } else if (direction === 'down' && bottom <= 0) {
15604
15683
  stuckPosition.value = 0;
15605
15684
  isStuck.value = 'bottom';
15606
15685
  } else if (direction === 'up' && top <= 0) {
15607
- stuckPosition.value = rect.top + top;
15608
- isStuck.value = 'top';
15686
+ if (!bodyScroll) {
15687
+ stuckPosition.value = rect.top + top;
15688
+ isStuck.value = 'top';
15689
+ } else if (isStuck.value !== 'top') {
15690
+ stuckPosition.value = -top + bodyScroll + layoutTop;
15691
+ isStuck.value = 'top';
15692
+ }
15609
15693
  }
15610
15694
  lastScrollTop = window.scrollY;
15611
15695
  }
@@ -15848,54 +15932,55 @@
15848
15932
  // Types
15849
15933
 
15850
15934
  const locations = ['start', 'end', 'left', 'right', 'top', 'bottom'];
15935
+ const makeVNavigationDrawerProps = propsFactory({
15936
+ color: String,
15937
+ disableResizeWatcher: Boolean,
15938
+ disableRouteWatcher: Boolean,
15939
+ expandOnHover: Boolean,
15940
+ floating: Boolean,
15941
+ modelValue: {
15942
+ type: Boolean,
15943
+ default: null
15944
+ },
15945
+ permanent: Boolean,
15946
+ rail: {
15947
+ type: Boolean,
15948
+ default: null
15949
+ },
15950
+ railWidth: {
15951
+ type: [Number, String],
15952
+ default: 56
15953
+ },
15954
+ scrim: {
15955
+ type: [String, Boolean],
15956
+ default: true
15957
+ },
15958
+ image: String,
15959
+ temporary: Boolean,
15960
+ touchless: Boolean,
15961
+ width: {
15962
+ type: [Number, String],
15963
+ default: 256
15964
+ },
15965
+ location: {
15966
+ type: String,
15967
+ default: 'start',
15968
+ validator: value => locations.includes(value)
15969
+ },
15970
+ sticky: Boolean,
15971
+ ...makeBorderProps(),
15972
+ ...makeComponentProps(),
15973
+ ...makeElevationProps(),
15974
+ ...makeLayoutItemProps(),
15975
+ ...makeRoundedProps(),
15976
+ ...makeTagProps({
15977
+ tag: 'nav'
15978
+ }),
15979
+ ...makeThemeProps()
15980
+ }, 'v-navigation-drawer');
15851
15981
  const VNavigationDrawer = genericComponent()({
15852
15982
  name: 'VNavigationDrawer',
15853
- props: {
15854
- color: String,
15855
- disableResizeWatcher: Boolean,
15856
- disableRouteWatcher: Boolean,
15857
- expandOnHover: Boolean,
15858
- floating: Boolean,
15859
- modelValue: {
15860
- type: Boolean,
15861
- default: null
15862
- },
15863
- permanent: Boolean,
15864
- rail: {
15865
- type: Boolean,
15866
- default: null
15867
- },
15868
- railWidth: {
15869
- type: [Number, String],
15870
- default: 56
15871
- },
15872
- scrim: {
15873
- type: [String, Boolean],
15874
- default: true
15875
- },
15876
- image: String,
15877
- temporary: Boolean,
15878
- touchless: Boolean,
15879
- width: {
15880
- type: [Number, String],
15881
- default: 256
15882
- },
15883
- location: {
15884
- type: String,
15885
- default: 'start',
15886
- validator: value => locations.includes(value)
15887
- },
15888
- sticky: Boolean,
15889
- ...makeBorderProps(),
15890
- ...makeComponentProps(),
15891
- ...makeElevationProps(),
15892
- ...makeLayoutItemProps(),
15893
- ...makeRoundedProps(),
15894
- ...makeTagProps({
15895
- tag: 'nav'
15896
- }),
15897
- ...makeThemeProps()
15898
- },
15983
+ props: makeVNavigationDrawerProps(),
15899
15984
  emits: {
15900
15985
  'update:modelValue': val => true,
15901
15986
  'update:rail': val => true
@@ -15976,7 +16061,6 @@
15976
16061
  });
15977
16062
  const {
15978
16063
  layoutItemStyles,
15979
- layoutRect,
15980
16064
  layoutItemScrimStyles
15981
16065
  } = useLayoutItem({
15982
16066
  id: props.name,
@@ -16006,12 +16090,6 @@
16006
16090
  opacity: dragProgress.value * 0.2,
16007
16091
  transition: 'none'
16008
16092
  } : undefined),
16009
- ...(layoutRect.value ? {
16010
- left: convertToUnit(layoutRect.value.left),
16011
- right: convertToUnit(layoutRect.value.right),
16012
- top: convertToUnit(layoutRect.value.top),
16013
- bottom: convertToUnit(layoutRect.value.bottom)
16014
- } : undefined),
16015
16093
  ...layoutItemScrimStyles.value
16016
16094
  }));
16017
16095
  provideDefaults({
@@ -16100,88 +16178,89 @@
16100
16178
 
16101
16179
  // Types
16102
16180
 
16103
- const VPagination = genericComponent()({
16104
- name: 'VPagination',
16105
- props: {
16106
- activeColor: String,
16107
- start: {
16108
- type: [Number, String],
16109
- default: 1
16110
- },
16111
- modelValue: {
16112
- type: Number,
16113
- default: props => props.start
16114
- },
16115
- disabled: Boolean,
16116
- length: {
16117
- type: [Number, String],
16118
- default: 1,
16119
- validator: val => val % 1 === 0
16120
- },
16121
- totalVisible: [Number, String],
16122
- firstIcon: {
16123
- type: IconValue,
16124
- default: '$first'
16125
- },
16126
- prevIcon: {
16127
- type: IconValue,
16128
- default: '$prev'
16129
- },
16130
- nextIcon: {
16131
- type: IconValue,
16132
- default: '$next'
16133
- },
16134
- lastIcon: {
16135
- type: IconValue,
16136
- default: '$last'
16137
- },
16138
- ariaLabel: {
16139
- type: String,
16140
- default: '$vuetify.pagination.ariaLabel.root'
16141
- },
16142
- pageAriaLabel: {
16143
- type: String,
16144
- default: '$vuetify.pagination.ariaLabel.page'
16145
- },
16146
- currentPageAriaLabel: {
16147
- type: String,
16148
- default: '$vuetify.pagination.ariaLabel.currentPage'
16149
- },
16150
- firstAriaLabel: {
16151
- type: String,
16152
- default: '$vuetify.pagination.ariaLabel.first'
16153
- },
16154
- previousAriaLabel: {
16155
- type: String,
16156
- default: '$vuetify.pagination.ariaLabel.previous'
16157
- },
16158
- nextAriaLabel: {
16159
- type: String,
16160
- default: '$vuetify.pagination.ariaLabel.next'
16161
- },
16162
- lastAriaLabel: {
16163
- type: String,
16164
- default: '$vuetify.pagination.ariaLabel.last'
16165
- },
16166
- ellipsis: {
16167
- type: String,
16168
- default: '...'
16169
- },
16170
- showFirstLastPage: Boolean,
16171
- ...makeBorderProps(),
16172
- ...makeComponentProps(),
16173
- ...makeDensityProps(),
16174
- ...makeElevationProps(),
16175
- ...makeRoundedProps(),
16176
- ...makeSizeProps(),
16177
- ...makeTagProps({
16178
- tag: 'nav'
16179
- }),
16180
- ...makeThemeProps(),
16181
- ...makeVariantProps({
16182
- variant: 'text'
16183
- })
16181
+ const makeVPaginationProps = propsFactory({
16182
+ activeColor: String,
16183
+ start: {
16184
+ type: [Number, String],
16185
+ default: 1
16186
+ },
16187
+ modelValue: {
16188
+ type: Number,
16189
+ default: props => props.start
16190
+ },
16191
+ disabled: Boolean,
16192
+ length: {
16193
+ type: [Number, String],
16194
+ default: 1,
16195
+ validator: val => val % 1 === 0
16196
+ },
16197
+ totalVisible: [Number, String],
16198
+ firstIcon: {
16199
+ type: IconValue,
16200
+ default: '$first'
16201
+ },
16202
+ prevIcon: {
16203
+ type: IconValue,
16204
+ default: '$prev'
16205
+ },
16206
+ nextIcon: {
16207
+ type: IconValue,
16208
+ default: '$next'
16209
+ },
16210
+ lastIcon: {
16211
+ type: IconValue,
16212
+ default: '$last'
16213
+ },
16214
+ ariaLabel: {
16215
+ type: String,
16216
+ default: '$vuetify.pagination.ariaLabel.root'
16217
+ },
16218
+ pageAriaLabel: {
16219
+ type: String,
16220
+ default: '$vuetify.pagination.ariaLabel.page'
16221
+ },
16222
+ currentPageAriaLabel: {
16223
+ type: String,
16224
+ default: '$vuetify.pagination.ariaLabel.currentPage'
16225
+ },
16226
+ firstAriaLabel: {
16227
+ type: String,
16228
+ default: '$vuetify.pagination.ariaLabel.first'
16229
+ },
16230
+ previousAriaLabel: {
16231
+ type: String,
16232
+ default: '$vuetify.pagination.ariaLabel.previous'
16233
+ },
16234
+ nextAriaLabel: {
16235
+ type: String,
16236
+ default: '$vuetify.pagination.ariaLabel.next'
16237
+ },
16238
+ lastAriaLabel: {
16239
+ type: String,
16240
+ default: '$vuetify.pagination.ariaLabel.last'
16241
+ },
16242
+ ellipsis: {
16243
+ type: String,
16244
+ default: '...'
16184
16245
  },
16246
+ showFirstLastPage: Boolean,
16247
+ ...makeBorderProps(),
16248
+ ...makeComponentProps(),
16249
+ ...makeDensityProps(),
16250
+ ...makeElevationProps(),
16251
+ ...makeRoundedProps(),
16252
+ ...makeSizeProps(),
16253
+ ...makeTagProps({
16254
+ tag: 'nav'
16255
+ }),
16256
+ ...makeThemeProps(),
16257
+ ...makeVariantProps({
16258
+ variant: 'text'
16259
+ })
16260
+ }, 'v-pagination');
16261
+ const VPagination = genericComponent()({
16262
+ name: 'VPagination',
16263
+ props: makeVPaginationProps(),
16185
16264
  emits: {
16186
16265
  'update:modelValue': value => true,
16187
16266
  first: value => true,
@@ -16420,15 +16499,16 @@
16420
16499
  function floor(val) {
16421
16500
  return Math.floor(Math.abs(val)) * Math.sign(val);
16422
16501
  }
16502
+ const makeVParallaxProps = propsFactory({
16503
+ scale: {
16504
+ type: [Number, String],
16505
+ default: 0.5
16506
+ },
16507
+ ...makeComponentProps()
16508
+ }, 'v-parallax');
16423
16509
  const VParallax = genericComponent()({
16424
16510
  name: 'VParallax',
16425
- props: {
16426
- scale: {
16427
- type: [Number, String],
16428
- default: 0.5
16429
- },
16430
- ...makeComponentProps()
16431
- },
16511
+ props: makeVParallaxProps(),
16432
16512
  setup(props, _ref) {
16433
16513
  let {
16434
16514
  slots
@@ -16502,14 +16582,15 @@
16502
16582
 
16503
16583
  // Types
16504
16584
 
16585
+ const makeVRadioProps = propsFactory({
16586
+ ...makeSelectionControlProps({
16587
+ falseIcon: '$radioOff',
16588
+ trueIcon: '$radioOn'
16589
+ })
16590
+ }, 'v-radio');
16505
16591
  const VRadio = genericComponent()({
16506
16592
  name: 'VRadio',
16507
- props: {
16508
- ...makeSelectionControlProps({
16509
- falseIcon: '$radioOff',
16510
- trueIcon: '$radioOn'
16511
- })
16512
- },
16593
+ props: makeVRadioProps(),
16513
16594
  setup(props, _ref) {
16514
16595
  let {
16515
16596
  slots
@@ -16525,29 +16606,30 @@
16525
16606
 
16526
16607
  // Types
16527
16608
 
16609
+ const makeVRadioGroupProps = propsFactory({
16610
+ height: {
16611
+ type: [Number, String],
16612
+ default: 'auto'
16613
+ },
16614
+ ...makeVInputProps(),
16615
+ ...omit(makeSelectionControlGroupProps(), ['multiple']),
16616
+ trueIcon: {
16617
+ type: IconValue,
16618
+ default: '$radioOn'
16619
+ },
16620
+ falseIcon: {
16621
+ type: IconValue,
16622
+ default: '$radioOff'
16623
+ },
16624
+ type: {
16625
+ type: String,
16626
+ default: 'radio'
16627
+ }
16628
+ }, 'v-radio-group');
16528
16629
  const VRadioGroup = genericComponent()({
16529
16630
  name: 'VRadioGroup',
16530
16631
  inheritAttrs: false,
16531
- props: {
16532
- height: {
16533
- type: [Number, String],
16534
- default: 'auto'
16535
- },
16536
- ...makeVInputProps(),
16537
- ...omit(makeSelectionControlGroupProps(), ['multiple']),
16538
- trueIcon: {
16539
- type: IconValue,
16540
- default: '$radioOn'
16541
- },
16542
- falseIcon: {
16543
- type: IconValue,
16544
- default: '$radioOff'
16545
- },
16546
- type: {
16547
- type: String,
16548
- default: 'radio'
16549
- }
16550
- },
16632
+ props: makeVRadioGroupProps(),
16551
16633
  emits: {
16552
16634
  'update:modelValue': val => true
16553
16635
  },
@@ -16613,18 +16695,19 @@
16613
16695
 
16614
16696
  // Types
16615
16697
 
16698
+ const makeVRangeSliderProps = propsFactory({
16699
+ ...makeFocusProps(),
16700
+ ...makeVInputProps(),
16701
+ ...makeSliderProps(),
16702
+ strict: Boolean,
16703
+ modelValue: {
16704
+ type: Array,
16705
+ default: () => [0, 0]
16706
+ }
16707
+ }, 'v-range-slider');
16616
16708
  const VRangeSlider = genericComponent()({
16617
16709
  name: 'VRangeSlider',
16618
- props: {
16619
- ...makeFocusProps(),
16620
- ...makeVInputProps(),
16621
- ...makeSliderProps(),
16622
- strict: Boolean,
16623
- modelValue: {
16624
- type: Array,
16625
- default: () => [0, 0]
16626
- }
16627
- },
16710
+ props: makeVRangeSliderProps(),
16628
16711
  emits: {
16629
16712
  'update:focused': value => true,
16630
16713
  'update:modelValue': value => true,
@@ -16639,6 +16722,9 @@
16639
16722
  const startThumbRef = vue.ref();
16640
16723
  const stopThumbRef = vue.ref();
16641
16724
  const inputRef = vue.ref();
16725
+ const {
16726
+ rtlClasses
16727
+ } = useRtl();
16642
16728
  function getActiveThumb(e) {
16643
16729
  if (!startThumbRef.value || !stopThumbRef.value) return;
16644
16730
  const startOffset = getOffset(e, startThumbRef.value.$el, props.direction);
@@ -16709,7 +16795,7 @@
16709
16795
  'v-slider--focused': isFocused.value,
16710
16796
  'v-slider--pressed': mousePressed.value,
16711
16797
  'v-slider--disabled': props.disabled
16712
- }, props.class],
16798
+ }, rtlClasses.value, props.class],
16713
16799
  "style": props.style,
16714
16800
  "ref": inputRef
16715
16801
  }, inputProps, {
@@ -16815,50 +16901,51 @@
16815
16901
 
16816
16902
  // Types
16817
16903
 
16904
+ const makeVRatingProps = propsFactory({
16905
+ name: String,
16906
+ itemAriaLabel: {
16907
+ type: String,
16908
+ default: '$vuetify.rating.ariaLabel.item'
16909
+ },
16910
+ activeColor: String,
16911
+ color: String,
16912
+ clearable: Boolean,
16913
+ disabled: Boolean,
16914
+ emptyIcon: {
16915
+ type: IconValue,
16916
+ default: '$ratingEmpty'
16917
+ },
16918
+ fullIcon: {
16919
+ type: IconValue,
16920
+ default: '$ratingFull'
16921
+ },
16922
+ halfIncrements: Boolean,
16923
+ hover: Boolean,
16924
+ length: {
16925
+ type: [Number, String],
16926
+ default: 5
16927
+ },
16928
+ readonly: Boolean,
16929
+ modelValue: {
16930
+ type: [Number, String],
16931
+ default: 0
16932
+ },
16933
+ itemLabels: Array,
16934
+ itemLabelPosition: {
16935
+ type: String,
16936
+ default: 'top',
16937
+ validator: v => ['top', 'bottom'].includes(v)
16938
+ },
16939
+ ripple: Boolean,
16940
+ ...makeComponentProps(),
16941
+ ...makeDensityProps(),
16942
+ ...makeSizeProps(),
16943
+ ...makeTagProps(),
16944
+ ...makeThemeProps()
16945
+ }, 'v-rating');
16818
16946
  const VRating = genericComponent()({
16819
16947
  name: 'VRating',
16820
- props: {
16821
- name: String,
16822
- itemAriaLabel: {
16823
- type: String,
16824
- default: '$vuetify.rating.ariaLabel.item'
16825
- },
16826
- activeColor: String,
16827
- color: String,
16828
- clearable: Boolean,
16829
- disabled: Boolean,
16830
- emptyIcon: {
16831
- type: IconValue,
16832
- default: '$ratingEmpty'
16833
- },
16834
- fullIcon: {
16835
- type: IconValue,
16836
- default: '$ratingFull'
16837
- },
16838
- halfIncrements: Boolean,
16839
- hover: Boolean,
16840
- length: {
16841
- type: [Number, String],
16842
- default: 5
16843
- },
16844
- readonly: Boolean,
16845
- modelValue: {
16846
- type: [Number, String],
16847
- default: 0
16848
- },
16849
- itemLabels: Array,
16850
- itemLabelPosition: {
16851
- type: String,
16852
- default: 'top',
16853
- validator: v => ['top', 'bottom'].includes(v)
16854
- },
16855
- ripple: Boolean,
16856
- ...makeComponentProps(),
16857
- ...makeDensityProps(),
16858
- ...makeSizeProps(),
16859
- ...makeTagProps(),
16860
- ...makeThemeProps()
16861
- },
16948
+ props: makeVRatingProps(),
16862
16949
  emits: {
16863
16950
  'update:modelValue': value => true
16864
16951
  },
@@ -17370,9 +17457,7 @@
17370
17457
 
17371
17458
  const VSlideGroupItem = genericComponent()({
17372
17459
  name: 'VSlideGroupItem',
17373
- props: {
17374
- ...makeGroupItemProps()
17375
- },
17460
+ props: makeGroupItemProps(),
17376
17461
  emits: {
17377
17462
  'group:selected': val => true
17378
17463
  },
@@ -17390,26 +17475,27 @@
17390
17475
  }
17391
17476
  });
17392
17477
 
17478
+ const makeVSnackbarProps = propsFactory({
17479
+ multiLine: Boolean,
17480
+ timeout: {
17481
+ type: [Number, String],
17482
+ default: 5000
17483
+ },
17484
+ vertical: Boolean,
17485
+ ...makeLocationProps({
17486
+ location: 'bottom'
17487
+ }),
17488
+ ...makePositionProps(),
17489
+ ...makeRoundedProps(),
17490
+ ...makeVariantProps(),
17491
+ ...makeThemeProps(),
17492
+ ...omit(makeVOverlayProps({
17493
+ transition: 'v-snackbar-transition'
17494
+ }), ['persistent', 'noClickAnimation', 'scrim', 'scrollStrategy'])
17495
+ }, 'v-snackbar');
17393
17496
  const VSnackbar = genericComponent()({
17394
17497
  name: 'VSnackbar',
17395
- props: {
17396
- multiLine: Boolean,
17397
- timeout: {
17398
- type: [Number, String],
17399
- default: 5000
17400
- },
17401
- vertical: Boolean,
17402
- ...makeLocationProps({
17403
- location: 'bottom'
17404
- }),
17405
- ...makePositionProps(),
17406
- ...makeRoundedProps(),
17407
- ...makeVariantProps(),
17408
- ...makeThemeProps(),
17409
- ...omit(makeVOverlayProps({
17410
- transition: 'v-snackbar-transition'
17411
- }), ['persistent', 'noClickAnimation', 'scrim', 'scrollStrategy'])
17412
- },
17498
+ props: makeVSnackbarProps(),
17413
17499
  emits: {
17414
17500
  'update:modelValue': v => true
17415
17501
  },
@@ -17506,20 +17592,21 @@
17506
17592
 
17507
17593
  // Types
17508
17594
 
17595
+ const makeVSwitchProps = propsFactory({
17596
+ indeterminate: Boolean,
17597
+ inset: Boolean,
17598
+ flat: Boolean,
17599
+ loading: {
17600
+ type: [Boolean, String],
17601
+ default: false
17602
+ },
17603
+ ...makeVInputProps(),
17604
+ ...makeSelectionControlProps()
17605
+ }, 'v-switch');
17509
17606
  const VSwitch = genericComponent()({
17510
17607
  name: 'VSwitch',
17511
17608
  inheritAttrs: false,
17512
- props: {
17513
- indeterminate: Boolean,
17514
- inset: Boolean,
17515
- flat: Boolean,
17516
- loading: {
17517
- type: [Boolean, String],
17518
- default: false
17519
- },
17520
- ...makeVInputProps(),
17521
- ...makeSelectionControlProps()
17522
- },
17609
+ props: makeVSwitchProps(),
17523
17610
  emits: {
17524
17611
  'update:focused': focused => true,
17525
17612
  'update:modelValue': () => true,
@@ -17629,19 +17716,20 @@
17629
17716
  }
17630
17717
  });
17631
17718
 
17719
+ const makeVSystemBarProps = propsFactory({
17720
+ color: String,
17721
+ height: [Number, String],
17722
+ window: Boolean,
17723
+ ...makeComponentProps(),
17724
+ ...makeElevationProps(),
17725
+ ...makeLayoutItemProps(),
17726
+ ...makeRoundedProps(),
17727
+ ...makeTagProps(),
17728
+ ...makeThemeProps()
17729
+ }, 'v-system-bar');
17632
17730
  const VSystemBar = genericComponent()({
17633
17731
  name: 'VSystemBar',
17634
- props: {
17635
- color: String,
17636
- height: [Number, String],
17637
- window: Boolean,
17638
- ...makeComponentProps(),
17639
- ...makeElevationProps(),
17640
- ...makeLayoutItemProps(),
17641
- ...makeRoundedProps(),
17642
- ...makeTagProps(),
17643
- ...makeThemeProps()
17644
- },
17732
+ props: makeVSystemBarProps(),
17645
17733
  setup(props, _ref) {
17646
17734
  let {
17647
17735
  slots
@@ -17686,21 +17774,22 @@
17686
17774
 
17687
17775
  const VTabsSymbol = Symbol.for('vuetify:v-tabs');
17688
17776
 
17777
+ const makeVTabProps = propsFactory({
17778
+ fixed: Boolean,
17779
+ sliderColor: String,
17780
+ hideSlider: Boolean,
17781
+ direction: {
17782
+ type: String,
17783
+ default: 'horizontal'
17784
+ },
17785
+ ...omit(makeVBtnProps({
17786
+ selectedClass: 'v-tab--selected',
17787
+ variant: 'text'
17788
+ }), ['active', 'block', 'flat', 'location', 'position', 'symbol'])
17789
+ }, 'v-tabs');
17689
17790
  const VTab = genericComponent()({
17690
17791
  name: 'VTab',
17691
- props: {
17692
- fixed: Boolean,
17693
- sliderColor: String,
17694
- hideSlider: Boolean,
17695
- direction: {
17696
- type: String,
17697
- default: 'horizontal'
17698
- },
17699
- ...omit(makeVBtnProps({
17700
- selectedClass: 'v-tab--selected',
17701
- variant: 'text'
17702
- }), ['active', 'block', 'flat', 'location', 'position', 'symbol'])
17703
- },
17792
+ props: makeVTabProps(),
17704
17793
  setup(props, _ref) {
17705
17794
  let {
17706
17795
  slots,
@@ -17786,34 +17875,35 @@
17786
17875
  return item;
17787
17876
  });
17788
17877
  }
17878
+ const makeVTabsProps = propsFactory({
17879
+ alignTabs: {
17880
+ type: String,
17881
+ default: 'start'
17882
+ },
17883
+ color: String,
17884
+ fixedTabs: Boolean,
17885
+ items: {
17886
+ type: Array,
17887
+ default: () => []
17888
+ },
17889
+ stacked: Boolean,
17890
+ bgColor: String,
17891
+ grow: Boolean,
17892
+ height: {
17893
+ type: [Number, String],
17894
+ default: undefined
17895
+ },
17896
+ hideSlider: Boolean,
17897
+ sliderColor: String,
17898
+ ...makeVSlideGroupProps({
17899
+ mandatory: 'force'
17900
+ }),
17901
+ ...makeDensityProps(),
17902
+ ...makeTagProps()
17903
+ }, 'v-tabs');
17789
17904
  const VTabs = genericComponent()({
17790
17905
  name: 'VTabs',
17791
- props: {
17792
- alignTabs: {
17793
- type: String,
17794
- default: 'start'
17795
- },
17796
- color: String,
17797
- fixedTabs: Boolean,
17798
- items: {
17799
- type: Array,
17800
- default: () => []
17801
- },
17802
- stacked: Boolean,
17803
- bgColor: String,
17804
- grow: Boolean,
17805
- height: {
17806
- type: [Number, String],
17807
- default: undefined
17808
- },
17809
- hideSlider: Boolean,
17810
- sliderColor: String,
17811
- ...makeVSlideGroupProps({
17812
- mandatory: 'force'
17813
- }),
17814
- ...makeDensityProps(),
17815
- ...makeTagProps()
17816
- },
17906
+ props: makeVTabsProps(),
17817
17907
  emits: {
17818
17908
  'update:modelValue': v => true
17819
17909
  },
@@ -17865,18 +17955,19 @@
17865
17955
  }
17866
17956
  });
17867
17957
 
17958
+ const makeVTableProps = propsFactory({
17959
+ fixedHeader: Boolean,
17960
+ fixedFooter: Boolean,
17961
+ height: [Number, String],
17962
+ hover: Boolean,
17963
+ ...makeComponentProps(),
17964
+ ...makeDensityProps(),
17965
+ ...makeTagProps(),
17966
+ ...makeThemeProps()
17967
+ }, 'v-table');
17868
17968
  const VTable = genericComponent()({
17869
17969
  name: 'VTable',
17870
- props: {
17871
- fixedHeader: Boolean,
17872
- fixedFooter: Boolean,
17873
- height: [Number, String],
17874
- hover: Boolean,
17875
- ...makeComponentProps(),
17876
- ...makeDensityProps(),
17877
- ...makeTagProps(),
17878
- ...makeThemeProps()
17879
- },
17970
+ props: makeVTableProps(),
17880
17971
  setup(props, _ref) {
17881
17972
  let {
17882
17973
  slots
@@ -17911,36 +18002,37 @@
17911
18002
 
17912
18003
  // Types
17913
18004
 
18005
+ const makeVTextareaProps = propsFactory({
18006
+ autoGrow: Boolean,
18007
+ autofocus: Boolean,
18008
+ counter: [Boolean, Number, String],
18009
+ counterValue: Function,
18010
+ prefix: String,
18011
+ placeholder: String,
18012
+ persistentPlaceholder: Boolean,
18013
+ persistentCounter: Boolean,
18014
+ noResize: Boolean,
18015
+ rows: {
18016
+ type: [Number, String],
18017
+ default: 5,
18018
+ validator: v => !isNaN(parseFloat(v))
18019
+ },
18020
+ maxRows: {
18021
+ type: [Number, String],
18022
+ validator: v => !isNaN(parseFloat(v))
18023
+ },
18024
+ suffix: String,
18025
+ modelModifiers: Object,
18026
+ ...makeVInputProps(),
18027
+ ...makeVFieldProps()
18028
+ }, 'v-textarea');
17914
18029
  const VTextarea = genericComponent()({
17915
18030
  name: 'VTextarea',
17916
18031
  directives: {
17917
18032
  Intersect
17918
18033
  },
17919
18034
  inheritAttrs: false,
17920
- props: {
17921
- autoGrow: Boolean,
17922
- autofocus: Boolean,
17923
- counter: [Boolean, Number, String],
17924
- counterValue: Function,
17925
- prefix: String,
17926
- placeholder: String,
17927
- persistentPlaceholder: Boolean,
17928
- persistentCounter: Boolean,
17929
- noResize: Boolean,
17930
- rows: {
17931
- type: [Number, String],
17932
- default: 5,
17933
- validator: v => !isNaN(parseFloat(v))
17934
- },
17935
- maxRows: {
17936
- type: [Number, String],
17937
- validator: v => !isNaN(parseFloat(v))
17938
- },
17939
- suffix: String,
17940
- modelModifiers: Object,
17941
- ...makeVInputProps(),
17942
- ...makeVFieldProps()
17943
- },
18035
+ props: makeVTextareaProps(),
17944
18036
  emits: {
17945
18037
  'click:control': e => true,
17946
18038
  'mousedown:control': e => true,
@@ -17975,7 +18067,7 @@
17975
18067
  const vFieldRef = vue.ref();
17976
18068
  const controlHeight = vue.ref('');
17977
18069
  const textareaRef = vue.ref();
17978
- const isActive = vue.computed(() => isFocused.value || props.persistentPlaceholder);
18070
+ const isActive = vue.computed(() => props.persistentPlaceholder || isFocused.value || props.active);
17979
18071
  function onFocus() {
17980
18072
  if (textareaRef.value !== document.activeElement) {
17981
18073
  textareaRef.value?.focus();
@@ -18142,14 +18234,15 @@
18142
18234
  }
18143
18235
  });
18144
18236
 
18237
+ const makeVThemeProviderProps = propsFactory({
18238
+ withBackground: Boolean,
18239
+ ...makeComponentProps(),
18240
+ ...makeThemeProps(),
18241
+ ...makeTagProps()
18242
+ }, 'v-theme-provider');
18145
18243
  const VThemeProvider = genericComponent()({
18146
18244
  name: 'VThemeProvider',
18147
- props: {
18148
- withBackground: Boolean,
18149
- ...makeComponentProps(),
18150
- ...makeThemeProps(),
18151
- ...makeTagProps()
18152
- },
18245
+ props: makeVThemeProviderProps(),
18153
18246
  setup(props, _ref) {
18154
18247
  let {
18155
18248
  slots
@@ -18171,46 +18264,47 @@
18171
18264
 
18172
18265
  // Types
18173
18266
 
18267
+ const makeVTimelineProps = propsFactory({
18268
+ align: {
18269
+ type: String,
18270
+ default: 'center',
18271
+ validator: v => ['center', 'start'].includes(v)
18272
+ },
18273
+ direction: {
18274
+ type: String,
18275
+ default: 'vertical',
18276
+ validator: v => ['vertical', 'horizontal'].includes(v)
18277
+ },
18278
+ justify: {
18279
+ type: String,
18280
+ default: 'auto',
18281
+ validator: v => ['auto', 'center'].includes(v)
18282
+ },
18283
+ side: {
18284
+ type: String,
18285
+ validator: v => v == null || ['start', 'end'].includes(v)
18286
+ },
18287
+ lineInset: {
18288
+ type: [String, Number],
18289
+ default: 0
18290
+ },
18291
+ lineThickness: {
18292
+ type: [String, Number],
18293
+ default: 2
18294
+ },
18295
+ lineColor: String,
18296
+ truncateLine: {
18297
+ type: String,
18298
+ validator: v => ['start', 'end', 'both'].includes(v)
18299
+ },
18300
+ ...makeComponentProps(),
18301
+ ...makeDensityProps(),
18302
+ ...makeTagProps(),
18303
+ ...makeThemeProps()
18304
+ }, 'v-timeline');
18174
18305
  const VTimeline = genericComponent()({
18175
18306
  name: 'VTimeline',
18176
- props: {
18177
- align: {
18178
- type: String,
18179
- default: 'center',
18180
- validator: v => ['center', 'start'].includes(v)
18181
- },
18182
- direction: {
18183
- type: String,
18184
- default: 'vertical',
18185
- validator: v => ['vertical', 'horizontal'].includes(v)
18186
- },
18187
- justify: {
18188
- type: String,
18189
- default: 'auto',
18190
- validator: v => ['auto', 'center'].includes(v)
18191
- },
18192
- side: {
18193
- type: String,
18194
- validator: v => v == null || ['start', 'end'].includes(v)
18195
- },
18196
- lineInset: {
18197
- type: [String, Number],
18198
- default: 0
18199
- },
18200
- lineThickness: {
18201
- type: [String, Number],
18202
- default: 2
18203
- },
18204
- lineColor: String,
18205
- truncateLine: {
18206
- type: String,
18207
- validator: v => ['start', 'end', 'both'].includes(v)
18208
- },
18209
- ...makeComponentProps(),
18210
- ...makeDensityProps(),
18211
- ...makeTagProps(),
18212
- ...makeThemeProps()
18213
- },
18307
+ props: makeVTimelineProps(),
18214
18308
  setup(props, _ref) {
18215
18309
  let {
18216
18310
  slots
@@ -18221,6 +18315,9 @@
18221
18315
  const {
18222
18316
  densityClasses
18223
18317
  } = useDensity(props);
18318
+ const {
18319
+ rtlClasses
18320
+ } = useRtl();
18224
18321
  provideDefaults({
18225
18322
  VTimelineDivider: {
18226
18323
  lineColor: vue.toRef(props, 'lineColor')
@@ -18250,7 +18347,7 @@
18250
18347
  useRender(() => vue.createVNode(props.tag, {
18251
18348
  "class": ['v-timeline', `v-timeline--${props.direction}`, `v-timeline--align-${props.align}`, `v-timeline--justify-${props.justify}`, truncateClasses.value, {
18252
18349
  'v-timeline--inset-line': !!props.lineInset
18253
- }, themeClasses.value, densityClasses.value, sideClasses.value, props.class],
18350
+ }, themeClasses.value, densityClasses.value, sideClasses.value, rtlClasses.value, props.class],
18254
18351
  "style": [{
18255
18352
  '--v-timeline-line-thickness': convertToUnit(props.lineThickness)
18256
18353
  }, props.style]
@@ -18259,20 +18356,21 @@
18259
18356
  }
18260
18357
  });
18261
18358
 
18359
+ const makeVTimelineDividerProps = propsFactory({
18360
+ dotColor: String,
18361
+ fillDot: Boolean,
18362
+ hideDot: Boolean,
18363
+ icon: IconValue,
18364
+ iconColor: String,
18365
+ lineColor: String,
18366
+ ...makeComponentProps(),
18367
+ ...makeRoundedProps(),
18368
+ ...makeSizeProps(),
18369
+ ...makeElevationProps()
18370
+ }, 'v-timeline-divider');
18262
18371
  const VTimelineDivider = genericComponent()({
18263
18372
  name: 'VTimelineDivider',
18264
- props: {
18265
- dotColor: String,
18266
- fillDot: Boolean,
18267
- hideDot: Boolean,
18268
- icon: IconValue,
18269
- iconColor: String,
18270
- lineColor: String,
18271
- ...makeComponentProps(),
18272
- ...makeRoundedProps(),
18273
- ...makeSizeProps(),
18274
- ...makeElevationProps()
18275
- },
18373
+ props: makeVTimelineDividerProps(),
18276
18374
  setup(props, _ref) {
18277
18375
  let {
18278
18376
  slots
@@ -18335,27 +18433,28 @@
18335
18433
 
18336
18434
  // Types
18337
18435
 
18436
+ const makeVTimelineItemProps = propsFactory({
18437
+ density: String,
18438
+ dotColor: String,
18439
+ fillDot: Boolean,
18440
+ hideDot: Boolean,
18441
+ hideOpposite: {
18442
+ type: Boolean,
18443
+ default: undefined
18444
+ },
18445
+ icon: IconValue,
18446
+ iconColor: String,
18447
+ lineInset: [Number, String],
18448
+ ...makeComponentProps(),
18449
+ ...makeDimensionProps(),
18450
+ ...makeElevationProps(),
18451
+ ...makeRoundedProps(),
18452
+ ...makeSizeProps(),
18453
+ ...makeTagProps()
18454
+ }, 'v-timeline-item');
18338
18455
  const VTimelineItem = genericComponent()({
18339
18456
  name: 'VTimelineItem',
18340
- props: {
18341
- density: String,
18342
- dotColor: String,
18343
- fillDot: Boolean,
18344
- hideDot: Boolean,
18345
- hideOpposite: {
18346
- type: Boolean,
18347
- default: undefined
18348
- },
18349
- icon: IconValue,
18350
- iconColor: String,
18351
- lineInset: [Number, String],
18352
- ...makeComponentProps(),
18353
- ...makeDimensionProps(),
18354
- ...makeElevationProps(),
18355
- ...makeRoundedProps(),
18356
- ...makeSizeProps(),
18357
- ...makeTagProps()
18358
- },
18457
+ props: makeVTimelineItemProps(),
18359
18458
  setup(props, _ref) {
18360
18459
  let {
18361
18460
  slots
@@ -18403,26 +18502,27 @@
18403
18502
 
18404
18503
  // Types
18405
18504
 
18505
+ const makeVTooltipProps = propsFactory({
18506
+ id: String,
18507
+ text: String,
18508
+ ...omit(makeVOverlayProps({
18509
+ closeOnBack: false,
18510
+ location: 'end',
18511
+ locationStrategy: 'connected',
18512
+ eager: true,
18513
+ minWidth: 0,
18514
+ offset: 10,
18515
+ openOnClick: false,
18516
+ openOnHover: true,
18517
+ origin: 'auto',
18518
+ scrim: false,
18519
+ scrollStrategy: 'reposition',
18520
+ transition: false
18521
+ }), ['absolute', 'persistent'])
18522
+ }, 'v-tooltip');
18406
18523
  const VTooltip = genericComponent()({
18407
18524
  name: 'VTooltip',
18408
- props: {
18409
- id: String,
18410
- text: String,
18411
- ...omit(makeVOverlayProps({
18412
- closeOnBack: false,
18413
- location: 'end',
18414
- locationStrategy: 'connected',
18415
- eager: true,
18416
- minWidth: 0,
18417
- offset: 10,
18418
- openOnClick: false,
18419
- openOnHover: true,
18420
- origin: 'auto',
18421
- scrim: false,
18422
- scrollStrategy: 'reposition',
18423
- transition: false
18424
- }), ['absolute', 'persistent'])
18425
- },
18525
+ props: makeVTooltipProps(),
18426
18526
  emits: {
18427
18527
  'update:modelValue': value => true
18428
18528
  },
@@ -18485,9 +18585,7 @@
18485
18585
  // Composables
18486
18586
  const VValidation = genericComponent()({
18487
18587
  name: 'VValidation',
18488
- props: {
18489
- ...makeValidationProps()
18490
- },
18588
+ props: makeValidationProps(),
18491
18589
  emits: {
18492
18590
  'update:modelValue': val => true
18493
18591
  },
@@ -18500,12 +18598,13 @@
18500
18598
  }
18501
18599
  });
18502
18600
 
18601
+ const makeVVirtualScrollItemProps = propsFactory({
18602
+ dynamicHeight: Boolean,
18603
+ ...makeComponentProps()
18604
+ }, 'v-virtual-scroll-item');
18503
18605
  const VVirtualScrollItem = genericComponent()({
18504
18606
  name: 'VVirtualScrollItem',
18505
- props: {
18506
- dynamicHeight: Boolean,
18507
- ...makeComponentProps()
18508
- },
18607
+ props: makeVVirtualScrollItemProps(),
18509
18608
  emits: {
18510
18609
  'update:height': height => true
18511
18610
  },
@@ -18541,17 +18640,18 @@
18541
18640
 
18542
18641
  const UP = -1;
18543
18642
  const DOWN = 1;
18643
+ const makeVVirtualScrollProps = propsFactory({
18644
+ items: {
18645
+ type: Array,
18646
+ default: () => []
18647
+ },
18648
+ itemHeight: [Number, String],
18649
+ ...makeComponentProps(),
18650
+ ...makeDimensionProps()
18651
+ }, 'v-virtual-scroll');
18544
18652
  const VVirtualScroll = genericComponent()({
18545
18653
  name: 'VVirtualScroll',
18546
- props: {
18547
- items: {
18548
- type: Array,
18549
- default: () => []
18550
- },
18551
- itemHeight: [Number, String],
18552
- ...makeComponentProps(),
18553
- ...makeDimensionProps()
18554
- },
18654
+ props: makeVVirtualScrollProps(),
18555
18655
  setup(props, _ref) {
18556
18656
  let {
18557
18657
  slots
@@ -19431,7 +19531,7 @@
19431
19531
  date
19432
19532
  };
19433
19533
  }
19434
- const version$1 = "3.2.1";
19534
+ const version$1 = "3.2.3";
19435
19535
  createVuetify$1.version = version$1;
19436
19536
 
19437
19537
  // Vue's inject() can only be used in setup
@@ -19451,7 +19551,7 @@
19451
19551
  ...options
19452
19552
  });
19453
19553
  };
19454
- const version = "3.2.1";
19554
+ const version = "3.2.3";
19455
19555
  createVuetify.version = version;
19456
19556
 
19457
19557
  exports.components = components;