vuetify 3.2.2 → 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 (299) hide show
  1. package/dist/json/attributes.json +538 -242
  2. package/dist/json/importMap.json +8 -8
  3. package/dist/json/tags.json +77 -2
  4. package/dist/json/web-types.json +1284 -558
  5. package/dist/vuetify-labs.css +123 -119
  6. package/dist/vuetify-labs.d.ts +2222 -11380
  7. package/dist/vuetify-labs.esm.js +2230 -2144
  8. package/dist/vuetify-labs.esm.js.map +1 -1
  9. package/dist/vuetify-labs.js +2230 -2144
  10. package/dist/vuetify-labs.min.css +2 -2
  11. package/dist/vuetify.css +39 -35
  12. package/dist/vuetify.d.ts +1225 -11178
  13. package/dist/vuetify.esm.js +1691 -1591
  14. package/dist/vuetify.esm.js.map +1 -1
  15. package/dist/vuetify.js +1691 -1591
  16. package/dist/vuetify.js.map +1 -1
  17. package/dist/vuetify.min.css +2 -2
  18. package/dist/vuetify.min.js +597 -597
  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 +21 -20
  30. package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
  31. package/lib/components/VAppBar/VAppBarNavIcon.mjs +8 -5
  32. package/lib/components/VAppBar/VAppBarNavIcon.mjs.map +1 -1
  33. package/lib/components/VAppBar/index.d.ts +4 -4
  34. package/lib/components/VAutocomplete/VAutocomplete.css +0 -4
  35. package/lib/components/VAutocomplete/VAutocomplete.mjs +28 -33
  36. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  37. package/lib/components/VAutocomplete/VAutocomplete.sass +0 -5
  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/VBtnToggle/VBtnToggle.mjs +6 -5
  56. package/lib/components/VBtnToggle/VBtnToggle.mjs.map +1 -1
  57. package/lib/components/VCard/VCard.mjs +38 -37
  58. package/lib/components/VCard/VCard.mjs.map +1 -1
  59. package/lib/components/VCard/VCardItem.mjs +12 -11
  60. package/lib/components/VCard/VCardItem.mjs.map +1 -1
  61. package/lib/components/VCard/index.d.ts +4 -4
  62. package/lib/components/VCarousel/VCarousel.mjs +28 -27
  63. package/lib/components/VCarousel/VCarousel.mjs.map +1 -1
  64. package/lib/components/VCarousel/VCarouselItem.mjs +18 -16
  65. package/lib/components/VCarousel/VCarouselItem.mjs.map +1 -1
  66. package/lib/components/VCarousel/index.d.ts +170 -20
  67. package/lib/components/VCheckbox/VCheckbox.mjs +6 -5
  68. package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
  69. package/lib/components/VCheckbox/index.d.ts +24 -12
  70. package/lib/components/VChip/VChip.css +8 -0
  71. package/lib/components/VChip/VChip.mjs +60 -57
  72. package/lib/components/VChip/VChip.mjs.map +1 -1
  73. package/lib/components/VChip/VChip.sass +10 -0
  74. package/lib/components/VChip/index.d.ts +8 -8
  75. package/lib/components/VChipGroup/VChipGroup.mjs +19 -18
  76. package/lib/components/VChipGroup/VChipGroup.mjs.map +1 -1
  77. package/lib/components/VColorPicker/VColorPicker.mjs +44 -39
  78. package/lib/components/VColorPicker/VColorPicker.mjs.map +1 -1
  79. package/lib/components/VColorPicker/VColorPickerCanvas.mjs +21 -20
  80. package/lib/components/VColorPicker/VColorPickerCanvas.mjs.map +1 -1
  81. package/lib/components/VColorPicker/VColorPickerEdit.mjs +17 -16
  82. package/lib/components/VColorPicker/VColorPickerEdit.mjs.map +1 -1
  83. package/lib/components/VColorPicker/VColorPickerPreview.mjs +10 -9
  84. package/lib/components/VColorPicker/VColorPickerPreview.mjs.map +1 -1
  85. package/lib/components/VColorPicker/VColorPickerSwatches.mjs +12 -11
  86. package/lib/components/VColorPicker/VColorPickerSwatches.mjs.map +1 -1
  87. package/lib/components/VColorPicker/index.d.ts +4 -4
  88. package/lib/components/VColorPicker/util/index.mjs +2 -2
  89. package/lib/components/VColorPicker/util/index.mjs.map +1 -1
  90. package/lib/components/VCombobox/VCombobox.mjs +32 -36
  91. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  92. package/lib/components/VCombobox/index.d.ts +67 -1171
  93. package/lib/components/VCounter/VCounter.mjs +16 -15
  94. package/lib/components/VCounter/VCounter.mjs.map +1 -1
  95. package/lib/components/VCounter/index.d.ts +25 -1774
  96. package/lib/components/VDefaultsProvider/VDefaultsProvider.mjs +9 -8
  97. package/lib/components/VDefaultsProvider/VDefaultsProvider.mjs.map +1 -1
  98. package/lib/components/VDialog/VDialog.mjs +18 -17
  99. package/lib/components/VDialog/VDialog.mjs.map +1 -1
  100. package/lib/components/VDialog/index.d.ts +130 -1120
  101. package/lib/components/VDivider/VDivider.mjs +11 -10
  102. package/lib/components/VDivider/VDivider.mjs.map +1 -1
  103. package/lib/components/VExpansionPanel/VExpansionPanel.mjs +15 -15
  104. package/lib/components/VExpansionPanel/VExpansionPanel.mjs.map +1 -1
  105. package/lib/components/VExpansionPanel/VExpansionPanelText.mjs +6 -5
  106. package/lib/components/VExpansionPanel/VExpansionPanelText.mjs.map +1 -1
  107. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs +3 -5
  108. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs.map +1 -1
  109. package/lib/components/VExpansionPanel/VExpansionPanels.mjs +15 -14
  110. package/lib/components/VExpansionPanel/VExpansionPanels.mjs.map +1 -1
  111. package/lib/components/VExpansionPanel/index.d.ts +15 -15
  112. package/lib/components/VField/VField.mjs +6 -2
  113. package/lib/components/VField/VField.mjs.map +1 -1
  114. package/lib/components/VField/VFieldLabel.mjs +6 -5
  115. package/lib/components/VField/VFieldLabel.mjs.map +1 -1
  116. package/lib/components/VFileInput/VFileInput.mjs +35 -34
  117. package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
  118. package/lib/components/VFileInput/index.d.ts +3 -3
  119. package/lib/components/VFooter/VFooter.mjs +19 -18
  120. package/lib/components/VFooter/VFooter.mjs.map +1 -1
  121. package/lib/components/VForm/VForm.mjs +6 -5
  122. package/lib/components/VForm/VForm.mjs.map +1 -1
  123. package/lib/components/VForm/index.d.ts +3 -3
  124. package/lib/components/VGrid/VCol.mjs +26 -25
  125. package/lib/components/VGrid/VCol.mjs.map +1 -1
  126. package/lib/components/VGrid/VContainer.mjs +16 -11
  127. package/lib/components/VGrid/VContainer.mjs.map +1 -1
  128. package/lib/components/VGrid/VRow.mjs +26 -25
  129. package/lib/components/VGrid/VRow.mjs.map +1 -1
  130. package/lib/components/VHover/VHover.mjs +10 -9
  131. package/lib/components/VHover/VHover.mjs.map +1 -1
  132. package/lib/components/VImg/VImg.mjs +29 -28
  133. package/lib/components/VImg/VImg.mjs.map +1 -1
  134. package/lib/components/VItemGroup/VItemGroup.mjs +10 -9
  135. package/lib/components/VItemGroup/VItemGroup.mjs.map +1 -1
  136. package/lib/components/VLabel/VLabel.mjs +8 -7
  137. package/lib/components/VLabel/VLabel.mjs.map +1 -1
  138. package/lib/components/VLayout/VLayout.mjs +6 -5
  139. package/lib/components/VLayout/VLayout.mjs.map +1 -1
  140. package/lib/components/VLayout/VLayoutItem.mjs +15 -14
  141. package/lib/components/VLayout/VLayoutItem.mjs.map +1 -1
  142. package/lib/components/VLazy/VLazy.mjs +21 -20
  143. package/lib/components/VLazy/VLazy.mjs.map +1 -1
  144. package/lib/components/VList/VList.mjs +33 -32
  145. package/lib/components/VList/VList.mjs.map +1 -1
  146. package/lib/components/VList/VListChildren.mjs +5 -4
  147. package/lib/components/VList/VListChildren.mjs.map +1 -1
  148. package/lib/components/VList/VListGroup.mjs +2 -4
  149. package/lib/components/VList/VListGroup.mjs.map +1 -1
  150. package/lib/components/VList/VListItem.mjs +42 -41
  151. package/lib/components/VList/VListItem.mjs.map +1 -1
  152. package/lib/components/VList/VListItemAction.mjs +8 -7
  153. package/lib/components/VList/VListItemAction.mjs.map +1 -1
  154. package/lib/components/VList/VListItemMedia.mjs +8 -7
  155. package/lib/components/VList/VListItemMedia.mjs.map +1 -1
  156. package/lib/components/VList/VListSubheader.mjs +10 -9
  157. package/lib/components/VList/VListSubheader.mjs.map +1 -1
  158. package/lib/components/VList/index.d.ts +30 -30
  159. package/lib/components/VLocaleProvider/VLocaleProvider.mjs +12 -11
  160. package/lib/components/VLocaleProvider/VLocaleProvider.mjs.map +1 -1
  161. package/lib/components/VMain/VMain.mjs +9 -8
  162. package/lib/components/VMain/VMain.mjs.map +1 -1
  163. package/lib/components/VMenu/VMenu.mjs +18 -17
  164. package/lib/components/VMenu/VMenu.mjs.map +1 -1
  165. package/lib/components/VMenu/index.d.ts +40 -1030
  166. package/lib/components/VMessages/VMessages.mjs +18 -17
  167. package/lib/components/VMessages/VMessages.mjs.map +1 -1
  168. package/lib/components/VMessages/index.d.ts +25 -1774
  169. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +48 -47
  170. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
  171. package/lib/components/VNavigationDrawer/sticky.mjs +9 -3
  172. package/lib/components/VNavigationDrawer/sticky.mjs.map +1 -1
  173. package/lib/components/VOverlay/locationStrategies.mjs +5 -3
  174. package/lib/components/VOverlay/locationStrategies.mjs.map +1 -1
  175. package/lib/components/VPagination/VPagination.mjs +82 -81
  176. package/lib/components/VPagination/VPagination.mjs.map +1 -1
  177. package/lib/components/VPagination/index.d.ts +8 -8
  178. package/lib/components/VParallax/VParallax.mjs +9 -8
  179. package/lib/components/VParallax/VParallax.mjs.map +1 -1
  180. package/lib/components/VProgressCircular/VProgressCircular.mjs +25 -24
  181. package/lib/components/VProgressCircular/VProgressCircular.mjs.map +1 -1
  182. package/lib/components/VProgressLinear/VProgressLinear.mjs +44 -42
  183. package/lib/components/VProgressLinear/VProgressLinear.mjs.map +1 -1
  184. package/lib/components/VProgressLinear/index.d.ts +8 -8
  185. package/lib/components/VRadio/VRadio.mjs +8 -7
  186. package/lib/components/VRadio/VRadio.mjs.map +1 -1
  187. package/lib/components/VRadio/index.d.ts +18 -12
  188. package/lib/components/VRadioGroup/VRadioGroup.mjs +22 -21
  189. package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
  190. package/lib/components/VRadioGroup/index.d.ts +16 -10
  191. package/lib/components/VRangeSlider/VRangeSlider.mjs +18 -13
  192. package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
  193. package/lib/components/VRating/VRating.mjs +44 -43
  194. package/lib/components/VRating/VRating.mjs.map +1 -1
  195. package/lib/components/VRating/index.d.ts +8 -8
  196. package/lib/components/VResponsive/VResponsive.mjs +8 -7
  197. package/lib/components/VResponsive/VResponsive.mjs.map +1 -1
  198. package/lib/components/VSelect/VSelect.mjs +20 -19
  199. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  200. package/lib/components/VSelect/index.d.ts +64 -2506
  201. package/lib/components/VSelectionControl/index.d.ts +42 -36
  202. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs +10 -10
  203. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs.map +1 -1
  204. package/lib/components/VSelectionControlGroup/index.d.ts +28 -28
  205. package/lib/components/VSheet/VSheet.mjs +1 -3
  206. package/lib/components/VSheet/VSheet.mjs.map +1 -1
  207. package/lib/components/VSlideGroup/VSlideGroupItem.mjs +1 -3
  208. package/lib/components/VSlideGroup/VSlideGroupItem.mjs.map +1 -1
  209. package/lib/components/VSlider/VSlider.mjs +18 -13
  210. package/lib/components/VSlider/VSlider.mjs.map +1 -1
  211. package/lib/components/VSlider/VSliderThumb.mjs +26 -25
  212. package/lib/components/VSlider/VSliderThumb.mjs.map +1 -1
  213. package/lib/components/VSlider/VSliderTrack.mjs +13 -12
  214. package/lib/components/VSlider/VSliderTrack.mjs.map +1 -1
  215. package/lib/components/VSnackbar/VSnackbar.mjs +20 -19
  216. package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
  217. package/lib/components/VSwitch/VSwitch.mjs +13 -12
  218. package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
  219. package/lib/components/VSwitch/index.d.ts +18 -12
  220. package/lib/components/VSystemBar/VSystemBar.mjs +13 -12
  221. package/lib/components/VSystemBar/VSystemBar.mjs.map +1 -1
  222. package/lib/components/VTable/VTable.mjs +12 -11
  223. package/lib/components/VTable/VTable.mjs.map +1 -1
  224. package/lib/components/VTabs/VTab.mjs +15 -14
  225. package/lib/components/VTabs/VTab.mjs.map +1 -1
  226. package/lib/components/VTabs/VTabs.mjs +28 -27
  227. package/lib/components/VTabs/VTabs.mjs.map +1 -1
  228. package/lib/components/VTabs/index.d.ts +12 -12
  229. package/lib/components/VTextField/index.d.ts +3 -3
  230. package/lib/components/VTextarea/VTextarea.mjs +26 -25
  231. package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
  232. package/lib/components/VTextarea/index.d.ts +3 -3
  233. package/lib/components/VThemeProvider/VThemeProvider.mjs +8 -7
  234. package/lib/components/VThemeProvider/VThemeProvider.mjs.map +1 -1
  235. package/lib/components/VTimeline/VTimeline.mjs +46 -41
  236. package/lib/components/VTimeline/VTimeline.mjs.map +1 -1
  237. package/lib/components/VTimeline/VTimelineDivider.mjs +14 -13
  238. package/lib/components/VTimeline/VTimelineDivider.mjs.map +1 -1
  239. package/lib/components/VTimeline/VTimelineItem.mjs +21 -20
  240. package/lib/components/VTimeline/VTimelineItem.mjs.map +1 -1
  241. package/lib/components/VToolbar/VToolbar.mjs +6 -2
  242. package/lib/components/VToolbar/VToolbar.mjs.map +1 -1
  243. package/lib/components/VToolbar/VToolbarItems.mjs +8 -7
  244. package/lib/components/VToolbar/VToolbarItems.mjs.map +1 -1
  245. package/lib/components/VToolbar/index.d.ts +11 -11
  246. package/lib/components/VTooltip/VTooltip.mjs +20 -19
  247. package/lib/components/VTooltip/VTooltip.mjs.map +1 -1
  248. package/lib/components/VValidation/VValidation.mjs +1 -3
  249. package/lib/components/VValidation/VValidation.mjs.map +1 -1
  250. package/lib/components/VVirtualScroll/VVirtualScroll.mjs +11 -10
  251. package/lib/components/VVirtualScroll/VVirtualScroll.mjs.map +1 -1
  252. package/lib/components/VVirtualScroll/VVirtualScrollItem.mjs +6 -5
  253. package/lib/components/VVirtualScroll/VVirtualScrollItem.mjs.map +1 -1
  254. package/lib/components/VWindow/VWindow.mjs.map +1 -1
  255. package/lib/components/VWindow/VWindowItem.mjs +15 -14
  256. package/lib/components/VWindow/VWindowItem.mjs.map +1 -1
  257. package/lib/components/VWindow/index.d.ts +9 -9
  258. package/lib/components/index.d.ts +1301 -11252
  259. package/lib/components/transitions/createTransition.mjs +16 -15
  260. package/lib/components/transitions/createTransition.mjs.map +1 -1
  261. package/lib/components/transitions/dialog-transition.mjs +5 -4
  262. package/lib/components/transitions/dialog-transition.mjs.map +1 -1
  263. package/lib/components/transitions/index.d.ts +143 -143
  264. package/lib/composables/forwardRefs.mjs.map +1 -1
  265. package/lib/composables/theme.mjs +3 -3
  266. package/lib/composables/theme.mjs.map +1 -1
  267. package/lib/directives/click-outside/index.mjs +1 -1
  268. package/lib/directives/click-outside/index.mjs.map +1 -1
  269. package/lib/entry-bundler.mjs +1 -1
  270. package/lib/framework.mjs +1 -1
  271. package/lib/index.d.ts +3 -5
  272. package/lib/labs/VDataTable/VDataTable.mjs +53 -59
  273. package/lib/labs/VDataTable/VDataTable.mjs.map +1 -1
  274. package/lib/labs/VDataTable/VDataTableFooter.mjs +64 -63
  275. package/lib/labs/VDataTable/VDataTableFooter.mjs.map +1 -1
  276. package/lib/labs/VDataTable/VDataTableGroupHeaderRow.mjs +8 -7
  277. package/lib/labs/VDataTable/VDataTableGroupHeaderRow.mjs.map +1 -1
  278. package/lib/labs/VDataTable/VDataTableHeaders.mjs +16 -15
  279. package/lib/labs/VDataTable/VDataTableHeaders.mjs.map +1 -1
  280. package/lib/labs/VDataTable/VDataTableRow.mjs +7 -6
  281. package/lib/labs/VDataTable/VDataTableRow.mjs.map +1 -1
  282. package/lib/labs/VDataTable/VDataTableRows.mjs +20 -19
  283. package/lib/labs/VDataTable/VDataTableRows.mjs.map +1 -1
  284. package/lib/labs/VDataTable/VDataTableServer.mjs +53 -64
  285. package/lib/labs/VDataTable/VDataTableServer.mjs.map +1 -1
  286. package/lib/labs/VDataTable/VDataTableVirtual.mjs +65 -72
  287. package/lib/labs/VDataTable/VDataTableVirtual.mjs.map +1 -1
  288. package/lib/labs/VDataTable/index.d.ts +991 -206
  289. package/lib/labs/VInfiniteScroll/VInfiniteScroll.mjs +54 -48
  290. package/lib/labs/VInfiniteScroll/VInfiniteScroll.mjs.map +1 -1
  291. package/lib/labs/VInfiniteScroll/index.d.ts +16 -1
  292. package/lib/labs/VSkeletonLoader/VSkeletonLoader.mjs +18 -17
  293. package/lib/labs/VSkeletonLoader/VSkeletonLoader.mjs.map +1 -1
  294. package/lib/labs/VSkeletonLoader/index.d.ts +9 -9
  295. package/lib/labs/components.d.ts +1011 -211
  296. package/lib/labs/date/date.mjs +7 -7
  297. package/lib/labs/date/date.mjs.map +1 -1
  298. package/lib/labs/date/index.d.ts +1 -3
  299. package/package.json +2 -2
package/dist/vuetify.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.2.2
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", {
@@ -3442,27 +3448,28 @@
3442
3448
 
3443
3449
  // Types
3444
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');
3445
3470
  const VAppBar = genericComponent()({
3446
3471
  name: 'VAppBar',
3447
- props: {
3448
- scrollBehavior: String,
3449
- modelValue: {
3450
- type: Boolean,
3451
- default: true
3452
- },
3453
- location: {
3454
- type: String,
3455
- default: 'top',
3456
- validator: value => ['top', 'bottom'].includes(value)
3457
- },
3458
- ...makeVToolbarProps(),
3459
- ...makeLayoutItemProps(),
3460
- ...makeScrollProps(),
3461
- height: {
3462
- type: [Number, String],
3463
- default: 64
3464
- }
3465
- },
3472
+ props: makeVAppBarProps(),
3466
3473
  emits: {
3467
3474
  'update:modelValue': value => true
3468
3475
  },
@@ -3892,12 +3899,13 @@
3892
3899
  // Types
3893
3900
 
3894
3901
  const VBtnToggleSymbol = Symbol.for('vuetify:v-btn-toggle');
3902
+ const makeVBtnToggleProps = propsFactory({
3903
+ ...makeVBtnGroupProps(),
3904
+ ...makeGroupProps()
3905
+ }, 'v-btn-toggle');
3895
3906
  const VBtnToggle = genericComponent()({
3896
3907
  name: 'VBtnToggle',
3897
- props: {
3898
- ...makeVBtnGroupProps(),
3899
- ...makeGroupProps()
3900
- },
3908
+ props: makeVBtnToggleProps(),
3901
3909
  emits: {
3902
3910
  'update:modelValue': value => true
3903
3911
  },
@@ -4251,31 +4259,32 @@
4251
4259
 
4252
4260
  // Types
4253
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');
4254
4285
  const VProgressCircular = genericComponent()({
4255
4286
  name: 'VProgressCircular',
4256
- props: {
4257
- bgColor: String,
4258
- color: String,
4259
- indeterminate: [Boolean, String],
4260
- modelValue: {
4261
- type: [Number, String],
4262
- default: 0
4263
- },
4264
- rotate: {
4265
- type: [Number, String],
4266
- default: 0
4267
- },
4268
- width: {
4269
- type: [Number, String],
4270
- default: 4
4271
- },
4272
- ...makeComponentProps(),
4273
- ...makeSizeProps(),
4274
- ...makeTagProps({
4275
- tag: 'div'
4276
- }),
4277
- ...makeThemeProps()
4278
- },
4287
+ props: makeVProgressCircularProps(),
4279
4288
  setup(props, _ref) {
4280
4289
  let {
4281
4290
  slots
@@ -4712,47 +4721,48 @@
4712
4721
  };
4713
4722
  }
4714
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');
4715
4763
  const VProgressLinear = genericComponent()({
4716
4764
  name: 'VProgressLinear',
4717
- props: {
4718
- absolute: Boolean,
4719
- active: {
4720
- type: Boolean,
4721
- default: true
4722
- },
4723
- bgColor: String,
4724
- bgOpacity: [Number, String],
4725
- bufferValue: {
4726
- type: [Number, String],
4727
- default: 0
4728
- },
4729
- clickable: Boolean,
4730
- color: String,
4731
- height: {
4732
- type: [Number, String],
4733
- default: 4
4734
- },
4735
- indeterminate: Boolean,
4736
- max: {
4737
- type: [Number, String],
4738
- default: 100
4739
- },
4740
- modelValue: {
4741
- type: [Number, String],
4742
- default: 0
4743
- },
4744
- reverse: Boolean,
4745
- stream: Boolean,
4746
- striped: Boolean,
4747
- roundedBar: Boolean,
4748
- ...makeComponentProps(),
4749
- ...makeLocationProps({
4750
- location: 'top'
4751
- }),
4752
- ...makeRoundedProps(),
4753
- ...makeTagProps(),
4754
- ...makeThemeProps()
4755
- },
4765
+ props: makeVProgressLinearProps(),
4756
4766
  emits: {
4757
4767
  'update:modelValue': value => true
4758
4768
  },
@@ -4762,7 +4772,8 @@
4762
4772
  } = _ref;
4763
4773
  const progress = useProxiedModel(props, 'modelValue');
4764
4774
  const {
4765
- isRtl
4775
+ isRtl,
4776
+ rtlClasses
4766
4777
  } = useRtl();
4767
4778
  const {
4768
4779
  themeClasses
@@ -4817,7 +4828,7 @@
4817
4828
  'v-progress-linear--rounded': props.rounded,
4818
4829
  'v-progress-linear--rounded-bar': props.roundedBar,
4819
4830
  'v-progress-linear--striped': props.striped
4820
- }, roundedClasses.value, themeClasses.value, props.class],
4831
+ }, roundedClasses.value, themeClasses.value, rtlClasses.value, props.class],
4821
4832
  "style": [{
4822
4833
  bottom: props.location === 'bottom' ? 0 : undefined,
4823
4834
  top: props.location === 'top' ? 0 : undefined,
@@ -5214,12 +5225,15 @@
5214
5225
 
5215
5226
  // Types
5216
5227
 
5217
- const VAppBarNavIcon = genericComponent()({
5218
- name: 'VAppBarNavIcon',
5219
- props: makeVBtnProps({
5228
+ const makeVAppBarNavIconProps = propsFactory({
5229
+ ...makeVBtnProps({
5220
5230
  icon: '$menu',
5221
5231
  variant: 'text'
5222
- }),
5232
+ })
5233
+ }, 'v-app-bar-nav-icon');
5234
+ const VAppBarNavIcon = genericComponent()({
5235
+ name: 'VAppBarNavIcon',
5236
+ props: makeVAppBarNavIconProps(),
5223
5237
  setup(props, _ref) {
5224
5238
  let {
5225
5239
  slots
@@ -5231,14 +5245,15 @@
5231
5245
  }
5232
5246
  });
5233
5247
 
5248
+ const makeVToolbarItemsProps = propsFactory({
5249
+ ...makeComponentProps(),
5250
+ ...makeVariantProps({
5251
+ variant: 'text'
5252
+ })
5253
+ }, 'v-toolbar-items');
5234
5254
  const VToolbarItems = genericComponent()({
5235
5255
  name: 'VToolbarItems',
5236
- props: {
5237
- ...makeComponentProps(),
5238
- ...makeVariantProps({
5239
- variant: 'text'
5240
- })
5241
- },
5256
+ props: makeVToolbarItemsProps(),
5242
5257
  setup(props, _ref) {
5243
5258
  let {
5244
5259
  slots
@@ -5280,53 +5295,54 @@
5280
5295
  // Types
5281
5296
 
5282
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');
5283
5343
  const VAlert = genericComponent()({
5284
5344
  name: 'VAlert',
5285
- props: {
5286
- border: {
5287
- type: [Boolean, String],
5288
- validator: val => {
5289
- return typeof val === 'boolean' || ['top', 'end', 'bottom', 'start'].includes(val);
5290
- }
5291
- },
5292
- borderColor: String,
5293
- closable: Boolean,
5294
- closeIcon: {
5295
- type: IconValue,
5296
- default: '$close'
5297
- },
5298
- closeLabel: {
5299
- type: String,
5300
- default: '$vuetify.close'
5301
- },
5302
- icon: {
5303
- type: [Boolean, String, Function, Object],
5304
- default: null
5305
- },
5306
- modelValue: {
5307
- type: Boolean,
5308
- default: true
5309
- },
5310
- prominent: Boolean,
5311
- title: String,
5312
- text: String,
5313
- type: {
5314
- type: String,
5315
- validator: val => allowedTypes.includes(val)
5316
- },
5317
- ...makeComponentProps(),
5318
- ...makeDensityProps(),
5319
- ...makeDimensionProps(),
5320
- ...makeElevationProps(),
5321
- ...makeLocationProps(),
5322
- ...makePositionProps(),
5323
- ...makeRoundedProps(),
5324
- ...makeTagProps(),
5325
- ...makeThemeProps(),
5326
- ...makeVariantProps({
5327
- variant: 'flat'
5328
- })
5329
- },
5345
+ props: makeVAlertProps(),
5330
5346
  emits: {
5331
5347
  'click:close': e => true,
5332
5348
  'update:modelValue': value => true
@@ -5487,14 +5503,15 @@
5487
5503
  };
5488
5504
  }
5489
5505
 
5506
+ const makeVLabelProps = propsFactory({
5507
+ text: String,
5508
+ clickable: Boolean,
5509
+ ...makeComponentProps(),
5510
+ ...makeThemeProps()
5511
+ }, 'v-label');
5490
5512
  const VLabel = genericComponent()({
5491
5513
  name: 'VLabel',
5492
- props: {
5493
- text: String,
5494
- clickable: Boolean,
5495
- ...makeComponentProps(),
5496
- ...makeThemeProps()
5497
- },
5514
+ props: makeVLabelProps(),
5498
5515
  setup(props, _ref) {
5499
5516
  let {
5500
5517
  slots
@@ -5509,12 +5526,13 @@
5509
5526
  }
5510
5527
  });
5511
5528
 
5529
+ const makeVFieldLabelProps = propsFactory({
5530
+ floating: Boolean,
5531
+ ...makeComponentProps()
5532
+ }, 'v-field-label');
5512
5533
  const VFieldLabel = genericComponent()({
5513
5534
  name: 'VFieldLabel',
5514
- props: {
5515
- floating: Boolean,
5516
- ...makeComponentProps()
5517
- },
5535
+ props: makeVFieldLabelProps(),
5518
5536
  setup(props, _ref) {
5519
5537
  let {
5520
5538
  slots
@@ -5633,6 +5651,9 @@
5633
5651
  const {
5634
5652
  roundedClasses
5635
5653
  } = useRounded(props);
5654
+ const {
5655
+ rtlClasses
5656
+ } = useRtl();
5636
5657
  const isActive = vue.computed(() => props.dirty || props.active);
5637
5658
  const hasLabel = vue.computed(() => !props.singleLine && !!(props.label || slots.label));
5638
5659
  const uid = getUid();
@@ -5726,7 +5747,7 @@
5726
5747
  'v-field--single-line': props.singleLine,
5727
5748
  'v-field--no-label': !label,
5728
5749
  [`v-field--variant-${props.variant}`]: true
5729
- }, 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],
5730
5751
  "style": [backgroundColorStyles.value, textColorStyles.value, props.style],
5731
5752
  "onClick": onClick
5732
5753
  }, attrs), [vue.createVNode("div", {
@@ -5821,24 +5842,25 @@
5821
5842
 
5822
5843
  // Types
5823
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');
5824
5861
  const VMessages = genericComponent()({
5825
5862
  name: 'VMessages',
5826
- props: {
5827
- active: Boolean,
5828
- color: String,
5829
- messages: {
5830
- type: [Array, String],
5831
- default: () => []
5832
- },
5833
- ...makeComponentProps(),
5834
- ...makeTransitionProps({
5835
- transition: {
5836
- component: VSlideYTransition,
5837
- leaveAbsolute: true,
5838
- group: true
5839
- }
5840
- })
5841
- },
5863
+ props: makeVMessagesProps(),
5842
5864
  setup(props, _ref) {
5843
5865
  let {
5844
5866
  slots
@@ -6250,23 +6272,24 @@
6250
6272
  }
6251
6273
  });
6252
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');
6253
6289
  const VCounter = genericComponent()({
6254
6290
  name: 'VCounter',
6255
6291
  functional: true,
6256
- props: {
6257
- active: Boolean,
6258
- max: [Number, String],
6259
- value: {
6260
- type: [Number, String],
6261
- default: 0
6262
- },
6263
- ...makeComponentProps(),
6264
- ...makeTransitionProps({
6265
- transition: {
6266
- component: VSlideYTransition
6267
- }
6268
- })
6269
- },
6292
+ props: makeVCounterProps(),
6270
6293
  setup(props, _ref) {
6271
6294
  let {
6272
6295
  slots
@@ -6568,6 +6591,7 @@
6568
6591
  const makeSelectionControlGroupProps = propsFactory({
6569
6592
  color: String,
6570
6593
  disabled: Boolean,
6594
+ defaultsTarget: String,
6571
6595
  error: Boolean,
6572
6596
  id: String,
6573
6597
  inline: Boolean,
@@ -6589,19 +6613,18 @@
6589
6613
  type: Function,
6590
6614
  default: deepEqual
6591
6615
  },
6592
- ...makeThemeProps(),
6593
- ...makeDensityProps()
6616
+ ...makeComponentProps(),
6617
+ ...makeDensityProps(),
6618
+ ...makeThemeProps()
6619
+ }, 'selection-control-group');
6620
+ const makeVSelectionControlGroupProps = propsFactory({
6621
+ ...makeSelectionControlGroupProps({
6622
+ defaultsTarget: 'VSelectionControl'
6623
+ })
6594
6624
  }, 'v-selection-control-group');
6595
6625
  const VSelectionControlGroup = genericComponent()({
6596
6626
  name: 'VSelectionControlGroup',
6597
- props: {
6598
- defaultsTarget: {
6599
- type: String,
6600
- default: 'VSelectionControl'
6601
- },
6602
- ...makeComponentProps(),
6603
- ...makeSelectionControlGroupProps()
6604
- },
6627
+ props: makeVSelectionControlGroupProps(),
6605
6628
  emits: {
6606
6629
  'update:modelValue': val => true
6607
6630
  },
@@ -6875,13 +6898,14 @@
6875
6898
 
6876
6899
  // Types
6877
6900
 
6901
+ const makeVCheckboxProps = propsFactory({
6902
+ ...makeVInputProps(),
6903
+ ...omit(makeVCheckboxBtnProps(), ['inline'])
6904
+ }, 'v-checkbox');
6878
6905
  const VCheckbox = genericComponent()({
6879
6906
  name: 'VCheckbox',
6880
6907
  inheritAttrs: false,
6881
- props: {
6882
- ...makeVInputProps(),
6883
- ...omit(makeVCheckboxBtnProps(), ['inline'])
6884
- },
6908
+ props: makeVCheckboxProps(),
6885
6909
  emits: {
6886
6910
  'update:focused': focused => true
6887
6911
  },
@@ -6996,25 +7020,26 @@
6996
7020
  // Types
6997
7021
 
6998
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');
6999
7040
  const VChipGroup = genericComponent()({
7000
7041
  name: 'VChipGroup',
7001
- props: {
7002
- column: Boolean,
7003
- filter: Boolean,
7004
- valueComparator: {
7005
- type: Function,
7006
- default: deepEqual
7007
- },
7008
- ...makeComponentProps(),
7009
- ...makeGroupProps({
7010
- selectedClass: 'v-chip--selected'
7011
- }),
7012
- ...makeTagProps(),
7013
- ...makeThemeProps(),
7014
- ...makeVariantProps({
7015
- variant: 'tonal'
7016
- })
7017
- },
7042
+ props: makeVChipGroupProps(),
7018
7043
  emits: {
7019
7044
  'update:modelValue': value => true
7020
7045
  },
@@ -7058,65 +7083,66 @@
7058
7083
  }
7059
7084
  });
7060
7085
 
7061
- const VChip = genericComponent()({
7062
- name: 'VChip',
7063
- directives: {
7064
- Ripple
7086
+ const makeVChipProps = propsFactory({
7087
+ activeClass: String,
7088
+ appendAvatar: String,
7089
+ appendIcon: IconValue,
7090
+ closable: Boolean,
7091
+ closeIcon: {
7092
+ type: IconValue,
7093
+ default: '$delete'
7065
7094
  },
7066
- props: {
7067
- activeClass: String,
7068
- appendAvatar: String,
7069
- appendIcon: IconValue,
7070
- closable: Boolean,
7071
- closeIcon: {
7072
- type: IconValue,
7073
- default: '$delete'
7074
- },
7075
- closeLabel: {
7076
- type: String,
7077
- default: '$vuetify.close'
7078
- },
7079
- draggable: Boolean,
7080
- filter: Boolean,
7081
- filterIcon: {
7082
- type: String,
7083
- default: '$complete'
7084
- },
7085
- label: Boolean,
7086
- link: {
7087
- type: Boolean,
7088
- default: undefined
7089
- },
7090
- pill: Boolean,
7091
- prependAvatar: String,
7092
- prependIcon: IconValue,
7093
- ripple: {
7094
- type: Boolean,
7095
- default: true
7096
- },
7097
- text: String,
7098
- modelValue: {
7099
- type: Boolean,
7100
- default: true
7101
- },
7102
- onClick: EventProp(),
7103
- onClickOnce: EventProp(),
7104
- ...makeBorderProps(),
7105
- ...makeComponentProps(),
7106
- ...makeDensityProps(),
7107
- ...makeElevationProps(),
7108
- ...makeGroupItemProps(),
7109
- ...makeRoundedProps(),
7110
- ...makeRouterProps(),
7111
- ...makeSizeProps(),
7112
- ...makeTagProps({
7113
- tag: 'span'
7114
- }),
7115
- ...makeThemeProps(),
7116
- ...makeVariantProps({
7117
- variant: 'tonal'
7118
- })
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');
7140
+ const VChip = genericComponent()({
7141
+ name: 'VChip',
7142
+ directives: {
7143
+ Ripple
7119
7144
  },
7145
+ props: makeVChipProps(),
7120
7146
  emits: {
7121
7147
  'click:close': e => true,
7122
7148
  'update:modelValue': value => true,
@@ -7245,14 +7271,16 @@
7245
7271
  start: true
7246
7272
  }
7247
7273
  }
7248
- }, slots.prepend)]), slots.default?.({
7274
+ }, slots.prepend)]), vue.createVNode("div", {
7275
+ "class": "v-chip__content"
7276
+ }, [slots.default?.({
7249
7277
  isSelected: group?.isSelected.value,
7250
7278
  selectedClass: group?.selectedClass.value,
7251
7279
  select: group?.select,
7252
7280
  toggle: group?.toggle,
7253
7281
  value: group?.value.value,
7254
7282
  disabled: props.disabled
7255
- }) ?? props.text, hasAppend && vue.createVNode("div", {
7283
+ }) ?? props.text]), hasAppend && vue.createVNode("div", {
7256
7284
  "key": "append",
7257
7285
  "class": "v-chip__append"
7258
7286
  }, [!slots.append ? vue.createVNode(vue.Fragment, null, [props.appendIcon && vue.createVNode(VIcon, {
@@ -7297,17 +7325,18 @@
7297
7325
  }
7298
7326
  });
7299
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');
7300
7337
  const VDivider = genericComponent()({
7301
7338
  name: 'VDivider',
7302
- props: {
7303
- color: String,
7304
- inset: Boolean,
7305
- length: [Number, String],
7306
- thickness: [Number, String],
7307
- vertical: Boolean,
7308
- ...makeComponentProps(),
7309
- ...makeThemeProps()
7310
- },
7339
+ props: makeVDividerProps(),
7311
7340
  setup(props, _ref) {
7312
7341
  let {
7313
7342
  attrs
@@ -7833,16 +7862,14 @@
7833
7862
  appendIcon: IconValue,
7834
7863
  fluid: Boolean,
7835
7864
  subgroup: Boolean,
7865
+ title: String,
7836
7866
  value: null,
7837
7867
  ...makeComponentProps(),
7838
7868
  ...makeTagProps()
7839
7869
  }, 'v-list-group');
7840
7870
  const VListGroup = genericComponent()({
7841
7871
  name: 'VListGroup',
7842
- props: {
7843
- title: String,
7844
- ...makeVListGroupProps()
7845
- },
7872
+ props: makeVListGroupProps(),
7846
7873
  setup(props, _ref2) {
7847
7874
  let {
7848
7875
  slots
@@ -7918,51 +7945,52 @@
7918
7945
 
7919
7946
  // Types
7920
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');
7921
7988
  const VListItem = genericComponent()({
7922
7989
  name: 'VListItem',
7923
7990
  directives: {
7924
7991
  Ripple
7925
7992
  },
7926
- props: {
7927
- active: {
7928
- type: Boolean,
7929
- default: undefined
7930
- },
7931
- activeClass: String,
7932
- activeColor: String,
7933
- appendAvatar: String,
7934
- appendIcon: IconValue,
7935
- disabled: Boolean,
7936
- lines: String,
7937
- link: {
7938
- type: Boolean,
7939
- default: undefined
7940
- },
7941
- nav: Boolean,
7942
- prependAvatar: String,
7943
- prependIcon: IconValue,
7944
- ripple: {
7945
- type: Boolean,
7946
- default: true
7947
- },
7948
- subtitle: [String, Number, Boolean],
7949
- title: [String, Number, Boolean],
7950
- value: null,
7951
- onClick: EventProp(),
7952
- onClickOnce: EventProp(),
7953
- ...makeBorderProps(),
7954
- ...makeComponentProps(),
7955
- ...makeDensityProps(),
7956
- ...makeDimensionProps(),
7957
- ...makeElevationProps(),
7958
- ...makeRoundedProps(),
7959
- ...makeRouterProps(),
7960
- ...makeTagProps(),
7961
- ...makeThemeProps(),
7962
- ...makeVariantProps({
7963
- variant: 'text'
7964
- })
7965
- },
7993
+ props: makeVListItemProps(),
7966
7994
  emits: {
7967
7995
  click: e => true
7968
7996
  },
@@ -8149,16 +8177,17 @@
8149
8177
  }
8150
8178
  });
8151
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');
8152
8188
  const VListSubheader = genericComponent()({
8153
8189
  name: 'VListSubheader',
8154
- props: {
8155
- color: String,
8156
- inset: Boolean,
8157
- sticky: Boolean,
8158
- title: String,
8159
- ...makeComponentProps(),
8160
- ...makeTagProps()
8161
- },
8190
+ props: makeVListSubheaderProps(),
8162
8191
  setup(props, _ref) {
8163
8192
  let {
8164
8193
  slots
@@ -8189,11 +8218,12 @@
8189
8218
 
8190
8219
  // Types
8191
8220
 
8221
+ const makeVListChildrenProps = propsFactory({
8222
+ items: Array
8223
+ }, 'v-list-children');
8192
8224
  const VListChildren = genericComponent()({
8193
8225
  name: 'VListChildren',
8194
- props: {
8195
- items: Array
8196
- },
8226
+ props: makeVListChildrenProps(),
8197
8227
  setup(props, _ref) {
8198
8228
  let {
8199
8229
  slots
@@ -8379,39 +8409,40 @@
8379
8409
  items
8380
8410
  };
8381
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');
8382
8443
  const VList = genericComponent()({
8383
8444
  name: 'VList',
8384
- props: {
8385
- activeColor: String,
8386
- activeClass: String,
8387
- bgColor: String,
8388
- disabled: Boolean,
8389
- lines: {
8390
- type: [Boolean, String],
8391
- default: 'one'
8392
- },
8393
- nav: Boolean,
8394
- ...makeNestedProps({
8395
- selectStrategy: 'single-leaf',
8396
- openStrategy: 'list'
8397
- }),
8398
- ...makeBorderProps(),
8399
- ...makeComponentProps(),
8400
- ...makeDensityProps(),
8401
- ...makeDimensionProps(),
8402
- ...makeElevationProps(),
8403
- itemType: {
8404
- type: String,
8405
- default: 'type'
8406
- },
8407
- ...makeItemsProps(),
8408
- ...makeRoundedProps(),
8409
- ...makeTagProps(),
8410
- ...makeThemeProps(),
8411
- ...makeVariantProps({
8412
- variant: 'text'
8413
- })
8414
- },
8445
+ props: makeVListProps(),
8415
8446
  emits: {
8416
8447
  'update:selected': val => true,
8417
8448
  'update:opened': val => true,
@@ -8532,14 +8563,15 @@
8532
8563
 
8533
8564
  const VListImg = createSimpleFunctional('v-list-img');
8534
8565
 
8566
+ const makeVListItemActionProps = propsFactory({
8567
+ start: Boolean,
8568
+ end: Boolean,
8569
+ ...makeComponentProps(),
8570
+ ...makeTagProps()
8571
+ }, 'v-list-item-action');
8535
8572
  const VListItemAction = genericComponent()({
8536
8573
  name: 'VListItemAction',
8537
- props: {
8538
- start: Boolean,
8539
- end: Boolean,
8540
- ...makeComponentProps(),
8541
- ...makeTagProps()
8542
- },
8574
+ props: makeVListItemActionProps(),
8543
8575
  setup(props, _ref) {
8544
8576
  let {
8545
8577
  slots
@@ -8555,14 +8587,15 @@
8555
8587
  }
8556
8588
  });
8557
8589
 
8590
+ const makeVListItemMediaProps = propsFactory({
8591
+ start: Boolean,
8592
+ end: Boolean,
8593
+ ...makeComponentProps(),
8594
+ ...makeTagProps()
8595
+ }, 'v-list-item-media');
8558
8596
  const VListItemMedia = genericComponent()({
8559
8597
  name: 'VListItemMedia',
8560
- props: {
8561
- start: Boolean,
8562
- end: Boolean,
8563
- ...makeComponentProps(),
8564
- ...makeTagProps()
8565
- },
8598
+ props: makeVListItemMediaProps(),
8566
8599
  setup(props, _ref) {
8567
8600
  let {
8568
8601
  slots
@@ -9024,7 +9057,9 @@
9024
9057
  const activatorFixed = isFixedPosition(data.activatorEl.value);
9025
9058
  if (activatorFixed) {
9026
9059
  Object.assign(contentStyles.value, {
9027
- position: 'fixed'
9060
+ position: 'fixed',
9061
+ top: 0,
9062
+ left: 0
9028
9063
  });
9029
9064
  }
9030
9065
  const {
@@ -9096,8 +9131,8 @@
9096
9131
  if (!scrollParents.length) {
9097
9132
  scrollParents.push(document.documentElement);
9098
9133
  if (!(data.contentEl.value.style.top && data.contentEl.value.style.left)) {
9099
- contentBox.x += parseFloat(document.documentElement.style.getPropertyValue('--v-body-scroll-x') || 0);
9100
- 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);
9101
9136
  }
9102
9137
  }
9103
9138
  const viewport = scrollParents.reduce((box, el) => {
@@ -9750,7 +9785,7 @@
9750
9785
  });
9751
9786
  if (!el._clickOutside) {
9752
9787
  el._clickOutside = {
9753
- lastMousedownWasOutside: true
9788
+ lastMousedownWasOutside: false
9754
9789
  };
9755
9790
  }
9756
9791
  el._clickOutside[binding.instance.$.uid] = {
@@ -10026,24 +10061,25 @@
10026
10061
 
10027
10062
  // Types
10028
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');
10029
10080
  const VMenu = genericComponent()({
10030
10081
  name: 'VMenu',
10031
- props: {
10032
- // TODO
10033
- // disableKeys: Boolean,
10034
- id: String,
10035
- ...omit(makeVOverlayProps({
10036
- closeDelay: 250,
10037
- closeOnContentClick: true,
10038
- locationStrategy: 'connected',
10039
- openDelay: 300,
10040
- scrim: false,
10041
- scrollStrategy: 'reposition',
10042
- transition: {
10043
- component: VDialogTransition
10044
- }
10045
- }), ['absolute'])
10046
- },
10082
+ props: makeVMenuProps(),
10047
10083
  emits: {
10048
10084
  'update:modelValue': value => true
10049
10085
  },
@@ -10149,20 +10185,21 @@
10149
10185
  ...makeItemsProps({
10150
10186
  itemChildren: false
10151
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
+ })
10152
10199
  }, 'v-select');
10153
10200
  const VSelect = genericComponent()({
10154
10201
  name: 'VSelect',
10155
- props: {
10156
- ...makeSelectProps(),
10157
- ...omit(makeVTextFieldProps({
10158
- modelValue: null
10159
- }), ['validationValue', 'dirty', 'appendInnerIcon']),
10160
- ...makeTransitionProps({
10161
- transition: {
10162
- component: VDialogTransition
10163
- }
10164
- })
10165
- },
10202
+ props: makeVSelectProps(),
10166
10203
  emits: {
10167
10204
  'update:focused': focused => true,
10168
10205
  'update:modelValue': val => true,
@@ -10281,14 +10318,14 @@
10281
10318
  menu.value = false;
10282
10319
  }
10283
10320
  }
10284
- function onFocusin(e) {
10285
- isFocused.value = true;
10286
- }
10287
- function onFocusout(e) {
10288
- if (e.relatedTarget == null) {
10321
+ function onAfterLeave() {
10322
+ if (isFocused.value) {
10289
10323
  vTextFieldRef.value?.focus();
10290
10324
  }
10291
10325
  }
10326
+ function onFocusin(e) {
10327
+ isFocused.value = true;
10328
+ }
10292
10329
  useRender(() => {
10293
10330
  const hasChips = !!(props.chips || slots.chip);
10294
10331
  const hasList = !!(!props.hideNoData || displayItems.value.length || slots.prepend || slots.append || slots['no-data']);
@@ -10332,15 +10369,15 @@
10332
10369
  "maxHeight": 310,
10333
10370
  "openOnClick": false,
10334
10371
  "closeOnContentClick": false,
10335
- "transition": props.transition
10372
+ "transition": props.transition,
10373
+ "onAfterLeave": onAfterLeave
10336
10374
  }, props.menuProps), {
10337
10375
  default: () => [hasList && vue.createVNode(VList, {
10338
10376
  "ref": listRef,
10339
10377
  "selected": selected.value,
10340
10378
  "selectStrategy": props.multiple ? 'independent' : 'single-independent',
10341
10379
  "onMousedown": e => e.preventDefault(),
10342
- "onFocusin": onFocusin,
10343
- "onFocusout": onFocusout
10380
+ "onFocusin": onFocusin
10344
10381
  }, {
10345
10382
  default: () => [!displayItems.value.length && !props.hideNoData && (slots['no-data']?.() ?? vue.createVNode(VListItem, {
10346
10383
  "title": t(props.noDataText)
@@ -10545,23 +10582,24 @@
10545
10582
  "class": "v-autocomplete__unmask"
10546
10583
  }, [text.substr(matches + length)])]) : text;
10547
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');
10548
10600
  const VAutocomplete = genericComponent()({
10549
10601
  name: 'VAutocomplete',
10550
- props: {
10551
- // TODO: implement post keyboard support
10552
- // autoSelectFirst: Boolean,
10553
- search: String,
10554
- ...makeFilterProps({
10555
- filterKeys: ['title']
10556
- }),
10557
- ...makeSelectProps(),
10558
- ...omit(makeVTextFieldProps({
10559
- modelValue: null
10560
- }), ['validationValue', 'dirty', 'appendInnerIcon']),
10561
- ...makeTransitionProps({
10562
- transition: false
10563
- })
10564
- },
10602
+ props: makeVAutocompleteProps(),
10565
10603
  emits: {
10566
10604
  'update:focused': focused => true,
10567
10605
  'update:search': val => true,
@@ -10690,16 +10728,14 @@
10690
10728
  search.value = e.target.value;
10691
10729
  }
10692
10730
  function onAfterLeave() {
10693
- if (isFocused.value) isPristine.value = true;
10731
+ if (isFocused.value) {
10732
+ isPristine.value = true;
10733
+ vTextFieldRef.value?.focus();
10734
+ }
10694
10735
  }
10695
10736
  function onFocusin(e) {
10696
10737
  isFocused.value = true;
10697
10738
  }
10698
- function onFocusout(e) {
10699
- if (e.relatedTarget == null) {
10700
- vTextFieldRef.value?.focus();
10701
- }
10702
- }
10703
10739
  const isSelecting = vue.ref(false);
10704
10740
  function select(item) {
10705
10741
  if (props.multiple) {
@@ -10714,9 +10750,7 @@
10714
10750
  } else {
10715
10751
  model.value = [item];
10716
10752
  isSelecting.value = true;
10717
- if (!slots.selection) {
10718
- search.value = item.title;
10719
- }
10753
+ search.value = item.title;
10720
10754
  menu.value = false;
10721
10755
  isPristine.value = true;
10722
10756
  vue.nextTick(() => isSelecting.value = false);
@@ -10725,13 +10759,14 @@
10725
10759
  vue.watch(isFocused, val => {
10726
10760
  if (val) {
10727
10761
  isSelecting.value = true;
10728
- 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 ?? '');
10729
10763
  isPristine.value = true;
10730
10764
  vue.nextTick(() => isSelecting.value = false);
10731
10765
  } else {
10732
10766
  if (!props.multiple && !search.value) model.value = [];
10733
10767
  menu.value = false;
10734
10768
  search.value = '';
10769
+ selectionIndex.value = -1;
10735
10770
  }
10736
10771
  });
10737
10772
  vue.watch(search, val => {
@@ -10756,12 +10791,10 @@
10756
10791
  "validationValue": model.externalValue,
10757
10792
  "dirty": isDirty,
10758
10793
  "onInput": onInput,
10759
- "class": ['v-autocomplete', {
10794
+ "class": ['v-autocomplete', `v-autocomplete--${props.multiple ? 'multiple' : 'single'}`, {
10760
10795
  'v-autocomplete--active-menu': menu.value,
10761
10796
  'v-autocomplete--chips': !!props.chips,
10762
- 'v-autocomplete--selecting-index': selectionIndex.value > -1,
10763
- [`v-autocomplete--${props.multiple ? 'multiple' : 'single'}`]: true,
10764
- 'v-autocomplete--selection-slot': !!slots.selection
10797
+ 'v-autocomplete--selecting-index': selectionIndex.value > -1
10765
10798
  }, props.class],
10766
10799
  "style": props.style,
10767
10800
  "appendInnerIcon": props.menuIcon,
@@ -10790,8 +10823,7 @@
10790
10823
  "selected": selected.value,
10791
10824
  "selectStrategy": props.multiple ? 'independent' : 'single-independent',
10792
10825
  "onMousedown": e => e.preventDefault(),
10793
- "onFocusin": onFocusin,
10794
- "onFocusout": onFocusout
10826
+ "onFocusin": onFocusin
10795
10827
  }, {
10796
10828
  default: () => [!displayItems.value.length && !props.hideNoData && (slots['no-data']?.() ?? vue.createVNode(VListItem, {
10797
10829
  "title": t(props.noDataText)
@@ -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,41 +11149,42 @@
11114
11149
  }
11115
11150
  });
11116
11151
 
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)
11159
+ },
11160
+ height: {
11161
+ type: [Number, String],
11162
+ default: 56
11163
+ },
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');
11117
11185
  const VBottomNavigation = genericComponent()({
11118
11186
  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()
11151
- },
11187
+ props: makeVBottomNavigationProps(),
11152
11188
  emits: {
11153
11189
  'update:modelValue': value => true
11154
11190
  },
@@ -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)
@@ -14337,24 +14391,25 @@
14337
14391
 
14338
14392
  // Types
14339
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');
14340
14410
  const VDialog = genericComponent()({
14341
14411
  name: 'VDialog',
14342
- props: {
14343
- fullscreen: Boolean,
14344
- retainFocus: {
14345
- type: Boolean,
14346
- default: true
14347
- },
14348
- scrollable: Boolean,
14349
- ...makeVOverlayProps({
14350
- origin: 'center center',
14351
- scrollStrategy: 'block',
14352
- transition: {
14353
- component: VDialogTransition
14354
- },
14355
- zIndex: 2400
14356
- })
14357
- },
14412
+ props: makeVDialogProps(),
14358
14413
  emits: {
14359
14414
  'update:modelValue': value => true
14360
14415
  },
@@ -14448,21 +14503,22 @@
14448
14503
 
14449
14504
  const VExpansionPanelSymbol = Symbol.for('vuetify:v-expansion-panel');
14450
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');
14451
14519
  const VExpansionPanels = genericComponent()({
14452
14520
  name: 'VExpansionPanels',
14453
- props: {
14454
- color: String,
14455
- variant: {
14456
- type: String,
14457
- default: 'default',
14458
- validator: v => allowedVariants.includes(v)
14459
- },
14460
- readonly: Boolean,
14461
- ...makeComponentProps(),
14462
- ...makeGroupProps(),
14463
- ...makeTagProps(),
14464
- ...makeThemeProps()
14465
- },
14521
+ props: makeVExpansionPanelsProps(),
14466
14522
  emits: {
14467
14523
  'update:modelValue': val => true
14468
14524
  },
@@ -14506,17 +14562,15 @@
14506
14562
  type: [Boolean, Object],
14507
14563
  default: false
14508
14564
  },
14509
- readonly: Boolean
14565
+ readonly: Boolean,
14566
+ ...makeComponentProps()
14510
14567
  }, 'v-expansion-panel-title');
14511
14568
  const VExpansionPanelTitle = genericComponent()({
14512
14569
  name: 'VExpansionPanelTitle',
14513
14570
  directives: {
14514
14571
  Ripple
14515
14572
  },
14516
- props: {
14517
- ...makeComponentProps(),
14518
- ...makeVExpansionPanelTitleProps()
14519
- },
14573
+ props: makeVExpansionPanelTitleProps(),
14520
14574
  setup(props, _ref) {
14521
14575
  let {
14522
14576
  slots
@@ -14555,12 +14609,13 @@
14555
14609
  }
14556
14610
  });
14557
14611
 
14612
+ const makeVExpansionPanelTextProps = propsFactory({
14613
+ ...makeComponentProps(),
14614
+ ...makeLazyProps()
14615
+ }, 'v-expansion-panel-text');
14558
14616
  const VExpansionPanelText = genericComponent()({
14559
14617
  name: 'VExpansionPanelText',
14560
- props: {
14561
- ...makeComponentProps(),
14562
- ...makeLazyProps()
14563
- },
14618
+ props: makeVExpansionPanelTextProps(),
14564
14619
  setup(props, _ref) {
14565
14620
  let {
14566
14621
  slots
@@ -14585,20 +14640,21 @@
14585
14640
  }
14586
14641
  });
14587
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');
14588
14655
  const VExpansionPanel = genericComponent()({
14589
14656
  name: 'VExpansionPanel',
14590
- props: {
14591
- title: String,
14592
- text: String,
14593
- bgColor: String,
14594
- ...makeComponentProps(),
14595
- ...makeElevationProps(),
14596
- ...makeGroupItemProps(),
14597
- ...makeLazyProps(),
14598
- ...makeRoundedProps(),
14599
- ...makeTagProps(),
14600
- ...makeVExpansionPanelTitleProps()
14601
- },
14657
+ props: makeVExpansionPanelProps(),
14602
14658
  emits: {
14603
14659
  'group:selected': val => true
14604
14660
  },
@@ -14641,8 +14697,7 @@
14641
14697
  'v-expansion-panel--after-active': isAfterSelected.value,
14642
14698
  'v-expansion-panel--disabled': isDisabled.value
14643
14699
  }, roundedClasses.value, backgroundColorClasses.value, props.class],
14644
- "style": [backgroundColorStyles.value, props.style],
14645
- "aria-expanded": groupItem.isSelected.value
14700
+ "style": [backgroundColorStyles.value, props.style]
14646
14701
  }, {
14647
14702
  default: () => [vue.createVNode("div", {
14648
14703
  "class": ['v-expansion-panel__shadow', ...elevationClasses.value]
@@ -14669,42 +14724,43 @@
14669
14724
 
14670
14725
  // Types
14671
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');
14672
14760
  const VFileInput = genericComponent()({
14673
14761
  name: 'VFileInput',
14674
14762
  inheritAttrs: false,
14675
- props: {
14676
- chips: Boolean,
14677
- counter: Boolean,
14678
- counterSizeString: {
14679
- type: String,
14680
- default: '$vuetify.fileInput.counterSize'
14681
- },
14682
- counterString: {
14683
- type: String,
14684
- default: '$vuetify.fileInput.counter'
14685
- },
14686
- multiple: Boolean,
14687
- showSize: {
14688
- type: [Boolean, Number],
14689
- default: false,
14690
- validator: v => {
14691
- return typeof v === 'boolean' || [1000, 1024].includes(v);
14692
- }
14693
- },
14694
- ...makeVInputProps({
14695
- prependIcon: '$file'
14696
- }),
14697
- modelValue: {
14698
- type: Array,
14699
- default: () => [],
14700
- validator: val => {
14701
- return wrapInArray(val).every(v => v != null && typeof v === 'object');
14702
- }
14703
- },
14704
- ...makeVFieldProps({
14705
- clearable: true
14706
- })
14707
- },
14763
+ props: makeVFileInputProps(),
14708
14764
  emits: {
14709
14765
  'click:control': e => true,
14710
14766
  'mousedown:control': e => true,
@@ -14875,25 +14931,26 @@
14875
14931
  }
14876
14932
  });
14877
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');
14878
14951
  const VFooter = genericComponent()({
14879
14952
  name: 'VFooter',
14880
- props: {
14881
- app: Boolean,
14882
- color: String,
14883
- height: {
14884
- type: [Number, String],
14885
- default: 'auto'
14886
- },
14887
- ...makeBorderProps(),
14888
- ...makeComponentProps(),
14889
- ...makeElevationProps(),
14890
- ...makeLayoutItemProps(),
14891
- ...makeRoundedProps(),
14892
- ...makeTagProps({
14893
- tag: 'footer'
14894
- }),
14895
- ...makeThemeProps()
14896
- },
14953
+ props: makeVFooterProps(),
14897
14954
  setup(props, _ref) {
14898
14955
  let {
14899
14956
  slots
@@ -14944,12 +15001,13 @@
14944
15001
 
14945
15002
  // Types
14946
15003
 
15004
+ const makeVFormProps = propsFactory({
15005
+ ...makeComponentProps(),
15006
+ ...makeFormProps()
15007
+ }, 'v-form');
14947
15008
  const VForm = genericComponent()({
14948
15009
  name: 'VForm',
14949
- props: {
14950
- ...makeComponentProps(),
14951
- ...makeFormProps()
14952
- },
15010
+ props: makeVFormProps(),
14953
15011
  emits: {
14954
15012
  'update:modelValue': val => true,
14955
15013
  submit: e => true
@@ -14996,24 +15054,28 @@
14996
15054
  }
14997
15055
  });
14998
15056
 
15057
+ const makeVContainerProps = propsFactory({
15058
+ fluid: {
15059
+ type: Boolean,
15060
+ default: false
15061
+ },
15062
+ ...makeComponentProps(),
15063
+ ...makeTagProps()
15064
+ }, 'v-container');
14999
15065
  const VContainer = genericComponent()({
15000
15066
  name: 'VContainer',
15001
- props: {
15002
- fluid: {
15003
- type: Boolean,
15004
- default: false
15005
- },
15006
- ...makeComponentProps(),
15007
- ...makeTagProps()
15008
- },
15067
+ props: makeVContainerProps(),
15009
15068
  setup(props, _ref) {
15010
15069
  let {
15011
15070
  slots
15012
15071
  } = _ref;
15072
+ const {
15073
+ rtlClasses
15074
+ } = useRtl();
15013
15075
  useRender(() => vue.createVNode(props.tag, {
15014
15076
  "class": ['v-container', {
15015
15077
  'v-container--fluid': props.fluid
15016
- }, props.class],
15078
+ }, rtlClasses.value, props.class],
15017
15079
  "style": props.style
15018
15080
  }, slots));
15019
15081
  return {};
@@ -15082,32 +15144,33 @@
15082
15144
  return className.toLowerCase();
15083
15145
  }
15084
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');
15085
15171
  const VCol = genericComponent()({
15086
15172
  name: 'VCol',
15087
- props: {
15088
- cols: {
15089
- type: [Boolean, String, Number],
15090
- default: false
15091
- },
15092
- ...breakpointProps,
15093
- offset: {
15094
- type: [String, Number],
15095
- default: null
15096
- },
15097
- ...offsetProps,
15098
- order: {
15099
- type: [String, Number],
15100
- default: null
15101
- },
15102
- ...orderProps,
15103
- alignSelf: {
15104
- type: String,
15105
- default: null,
15106
- validator: str => ALIGN_SELF_VALUES.includes(str)
15107
- },
15108
- ...makeComponentProps(),
15109
- ...makeTagProps()
15110
- },
15173
+ props: makeVColProps(),
15111
15174
  setup(props, _ref) {
15112
15175
  let {
15113
15176
  slots
@@ -15200,32 +15263,33 @@
15200
15263
  className += `-${val}`;
15201
15264
  return className.toLowerCase();
15202
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');
15203
15290
  const VRow = genericComponent()({
15204
15291
  name: 'VRow',
15205
- props: {
15206
- dense: Boolean,
15207
- noGutters: Boolean,
15208
- align: {
15209
- type: String,
15210
- default: null,
15211
- validator: alignValidator
15212
- },
15213
- ...alignProps,
15214
- justify: {
15215
- type: String,
15216
- default: null,
15217
- validator: justifyValidator
15218
- },
15219
- ...justifyProps,
15220
- alignContent: {
15221
- type: String,
15222
- default: null,
15223
- validator: alignContentValidator
15224
- },
15225
- ...alignContentProps,
15226
- ...makeComponentProps(),
15227
- ...makeTagProps()
15228
- },
15292
+ props: makeVRowProps(),
15229
15293
  setup(props, _ref) {
15230
15294
  let {
15231
15295
  slots
@@ -15261,16 +15325,17 @@
15261
15325
  const VSpacer = createSimpleFunctional('flex-grow-1', 'div', 'VSpacer');
15262
15326
 
15263
15327
  // Composables
15328
+ const makeVHoverProps = propsFactory({
15329
+ disabled: Boolean,
15330
+ modelValue: {
15331
+ type: Boolean,
15332
+ default: undefined
15333
+ },
15334
+ ...makeDelayProps()
15335
+ }, 'v-hover');
15264
15336
  const VHover = genericComponent()({
15265
15337
  name: 'VHover',
15266
- props: {
15267
- disabled: Boolean,
15268
- modelValue: {
15269
- type: Boolean,
15270
- default: undefined
15271
- },
15272
- ...makeDelayProps()
15273
- },
15338
+ props: makeVHoverProps(),
15274
15339
  emits: {
15275
15340
  'update:modelValue': value => true
15276
15341
  },
@@ -15294,16 +15359,17 @@
15294
15359
  });
15295
15360
 
15296
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');
15297
15370
  const VItemGroup = genericComponent()({
15298
15371
  name: 'VItemGroup',
15299
- props: {
15300
- ...makeComponentProps(),
15301
- ...makeGroupProps({
15302
- selectedClass: 'v-item--selected'
15303
- }),
15304
- ...makeTagProps(),
15305
- ...makeThemeProps()
15306
- },
15372
+ props: makeVItemGroupProps(),
15307
15373
  emits: {
15308
15374
  'update:modelValue': value => true
15309
15375
  },
@@ -15371,12 +15437,13 @@
15371
15437
 
15372
15438
  const VKbd = createSimpleFunctional('v-kbd');
15373
15439
 
15440
+ const makeVLayoutProps = propsFactory({
15441
+ ...makeComponentProps(),
15442
+ ...makeLayoutProps()
15443
+ }, 'v-layout');
15374
15444
  const VLayout = genericComponent()({
15375
15445
  name: 'VLayout',
15376
- props: {
15377
- ...makeComponentProps(),
15378
- ...makeLayoutProps()
15379
- },
15446
+ props: makeVLayoutProps(),
15380
15447
  setup(props, _ref) {
15381
15448
  let {
15382
15449
  slots
@@ -15402,21 +15469,22 @@
15402
15469
 
15403
15470
  // Types
15404
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');
15405
15485
  const VLayoutItem = genericComponent()({
15406
15486
  name: 'VLayoutItem',
15407
- props: {
15408
- position: {
15409
- type: String,
15410
- required: true
15411
- },
15412
- size: {
15413
- type: [Number, String],
15414
- default: 300
15415
- },
15416
- modelValue: Boolean,
15417
- ...makeComponentProps(),
15418
- ...makeLayoutItemProps()
15419
- },
15487
+ props: makeVLayoutItemProps(),
15420
15488
  setup(props, _ref) {
15421
15489
  let {
15422
15490
  slots
@@ -15441,30 +15509,31 @@
15441
15509
 
15442
15510
  // Types
15443
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');
15444
15531
  const VLazy = genericComponent()({
15445
15532
  name: 'VLazy',
15446
15533
  directives: {
15447
15534
  intersect: Intersect
15448
15535
  },
15449
- props: {
15450
- modelValue: Boolean,
15451
- options: {
15452
- type: Object,
15453
- // For more information on types, navigate to:
15454
- // https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API
15455
- default: () => ({
15456
- root: undefined,
15457
- rootMargin: undefined,
15458
- threshold: undefined
15459
- })
15460
- },
15461
- ...makeComponentProps(),
15462
- ...makeDimensionProps(),
15463
- ...makeTagProps(),
15464
- ...makeTransitionProps({
15465
- transition: 'fade-transition'
15466
- })
15467
- },
15536
+ props: makeVLazyProps(),
15468
15537
  emits: {
15469
15538
  'update:modelValue': value => true
15470
15539
  },
@@ -15498,18 +15567,19 @@
15498
15567
  }
15499
15568
  });
15500
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');
15501
15580
  const VLocaleProvider = genericComponent()({
15502
15581
  name: 'VLocaleProvider',
15503
- props: {
15504
- locale: String,
15505
- fallbackLocale: String,
15506
- messages: Object,
15507
- rtl: {
15508
- type: Boolean,
15509
- default: undefined
15510
- },
15511
- ...makeComponentProps()
15512
- },
15582
+ props: makeVLocaleProviderProps(),
15513
15583
  setup(props, _ref) {
15514
15584
  let {
15515
15585
  slots
@@ -15525,15 +15595,16 @@
15525
15595
  }
15526
15596
  });
15527
15597
 
15598
+ const makeVMainProps = propsFactory({
15599
+ scrollable: Boolean,
15600
+ ...makeComponentProps(),
15601
+ ...makeTagProps({
15602
+ tag: 'main'
15603
+ })
15604
+ }, 'v-main');
15528
15605
  const VMain = genericComponent()({
15529
15606
  name: 'VMain',
15530
- props: {
15531
- scrollable: Boolean,
15532
- ...makeComponentProps(),
15533
- ...makeTagProps({
15534
- tag: 'main'
15535
- })
15536
- },
15607
+ props: makeVMainProps(),
15537
15608
  setup(props, _ref) {
15538
15609
  let {
15539
15610
  slots
@@ -15601,18 +15672,24 @@
15601
15672
  const layoutTop = parseFloat(layoutItemStyles.value.top ?? 0);
15602
15673
  const top = window.scrollY - Math.max(0, stuckPosition.value - layoutTop);
15603
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;
15604
15676
  if (rect.height < window.innerHeight - layoutTop) {
15605
15677
  isStuck.value = 'top';
15606
15678
  stuckPosition.value = layoutTop;
15607
15679
  } else if (direction === 'up' && isStuck.value === 'bottom' || direction === 'down' && isStuck.value === 'top') {
15608
- stuckPosition.value = window.scrollY + rect.top;
15680
+ stuckPosition.value = window.scrollY + rect.top - bodyScroll;
15609
15681
  isStuck.value = true;
15610
15682
  } else if (direction === 'down' && bottom <= 0) {
15611
15683
  stuckPosition.value = 0;
15612
15684
  isStuck.value = 'bottom';
15613
15685
  } else if (direction === 'up' && top <= 0) {
15614
- stuckPosition.value = rect.top + top;
15615
- 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
+ }
15616
15693
  }
15617
15694
  lastScrollTop = window.scrollY;
15618
15695
  }
@@ -15855,54 +15932,55 @@
15855
15932
  // Types
15856
15933
 
15857
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');
15858
15981
  const VNavigationDrawer = genericComponent()({
15859
15982
  name: 'VNavigationDrawer',
15860
- props: {
15861
- color: String,
15862
- disableResizeWatcher: Boolean,
15863
- disableRouteWatcher: Boolean,
15864
- expandOnHover: Boolean,
15865
- floating: Boolean,
15866
- modelValue: {
15867
- type: Boolean,
15868
- default: null
15869
- },
15870
- permanent: Boolean,
15871
- rail: {
15872
- type: Boolean,
15873
- default: null
15874
- },
15875
- railWidth: {
15876
- type: [Number, String],
15877
- default: 56
15878
- },
15879
- scrim: {
15880
- type: [String, Boolean],
15881
- default: true
15882
- },
15883
- image: String,
15884
- temporary: Boolean,
15885
- touchless: Boolean,
15886
- width: {
15887
- type: [Number, String],
15888
- default: 256
15889
- },
15890
- location: {
15891
- type: String,
15892
- default: 'start',
15893
- validator: value => locations.includes(value)
15894
- },
15895
- sticky: Boolean,
15896
- ...makeBorderProps(),
15897
- ...makeComponentProps(),
15898
- ...makeElevationProps(),
15899
- ...makeLayoutItemProps(),
15900
- ...makeRoundedProps(),
15901
- ...makeTagProps({
15902
- tag: 'nav'
15903
- }),
15904
- ...makeThemeProps()
15905
- },
15983
+ props: makeVNavigationDrawerProps(),
15906
15984
  emits: {
15907
15985
  'update:modelValue': val => true,
15908
15986
  'update:rail': val => true
@@ -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,
@@ -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.2";
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.2";
19554
+ const version = "3.2.3";
19455
19555
  createVuetify.version = version;
19456
19556
 
19457
19557
  exports.components = components;