@vuetify/nightly 4.0.0-dev-20230426.0 → 4.0.0-dev-20230511.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (399) hide show
  1. package/CHANGELOG.md +22 -15
  2. package/dist/json/attributes.json +949 -729
  3. package/dist/json/importMap-labs.json +4 -4
  4. package/dist/json/importMap.json +12 -12
  5. package/dist/json/tags.json +57 -2
  6. package/dist/json/web-types.json +1966 -1440
  7. package/dist/vuetify-labs.css +1504 -1493
  8. package/dist/vuetify-labs.d.ts +6175 -8100
  9. package/dist/vuetify-labs.esm.js +1462 -1230
  10. package/dist/vuetify-labs.esm.js.map +1 -1
  11. package/dist/vuetify-labs.js +1461 -1229
  12. package/dist/vuetify-labs.min.css +2 -2
  13. package/dist/vuetify.css +51 -40
  14. package/dist/vuetify.d.ts +6327 -7380
  15. package/dist/vuetify.esm.js +1401 -1194
  16. package/dist/vuetify.esm.js.map +1 -1
  17. package/dist/vuetify.js +1400 -1193
  18. package/dist/vuetify.js.map +1 -1
  19. package/dist/vuetify.min.css +2 -2
  20. package/dist/vuetify.min.js +805 -805
  21. package/dist/vuetify.min.js.map +1 -1
  22. package/lib/blueprints/{index.d.ts → index.d.mts} +6 -2
  23. package/lib/blueprints/{md1.d.ts → md1.d.mts} +6 -2
  24. package/lib/blueprints/{md2.d.ts → md2.d.mts} +6 -2
  25. package/lib/blueprints/{md3.d.ts → md3.d.mts} +6 -2
  26. package/lib/components/VAlert/VAlert.mjs +6 -4
  27. package/lib/components/VAlert/VAlert.mjs.map +1 -1
  28. package/lib/components/VAlert/{index.d.ts → index.d.mts} +57 -55
  29. package/lib/components/VApp/VApp.mjs +4 -2
  30. package/lib/components/VApp/VApp.mjs.map +1 -1
  31. package/lib/components/VApp/{index.d.ts → index.d.mts} +22 -13
  32. package/lib/components/VAppBar/VAppBar.mjs +10 -14
  33. package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
  34. package/lib/components/VAppBar/VAppBarNavIcon.mjs +10 -13
  35. package/lib/components/VAppBar/VAppBarNavIcon.mjs.map +1 -1
  36. package/lib/components/VAppBar/{index.d.ts → index.d.mts} +479 -118
  37. package/lib/components/VAutocomplete/VAutocomplete.css +1 -1
  38. package/lib/components/VAutocomplete/VAutocomplete.mjs +11 -3
  39. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  40. package/lib/components/VAutocomplete/VAutocomplete.sass +1 -1
  41. package/lib/components/VAutocomplete/{index.d.ts → index.d.mts} +231 -409
  42. package/lib/components/VAvatar/VAvatar.mjs +4 -2
  43. package/lib/components/VAvatar/VAvatar.mjs.map +1 -1
  44. package/lib/components/VAvatar/{index.d.ts → index.d.mts} +23 -14
  45. package/lib/components/VBadge/VBadge.mjs +6 -5
  46. package/lib/components/VBadge/VBadge.mjs.map +1 -1
  47. package/lib/components/VBadge/{index.d.ts → index.d.mts} +27 -22
  48. package/lib/components/VBanner/VBanner.mjs +6 -4
  49. package/lib/components/VBanner/VBanner.mjs.map +1 -1
  50. package/lib/components/VBanner/VBannerActions.mjs +5 -2
  51. package/lib/components/VBanner/VBannerActions.mjs.map +1 -1
  52. package/lib/components/VBanner/{index.d.ts → index.d.mts} +92 -66
  53. package/lib/components/VBottomNavigation/VBottomNavigation.mjs +4 -2
  54. package/lib/components/VBottomNavigation/VBottomNavigation.mjs.map +1 -1
  55. package/lib/components/VBottomNavigation/{index.d.ts → index.d.mts} +22 -13
  56. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs +35 -18
  57. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs.map +1 -1
  58. package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.mjs +6 -3
  59. package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.mjs.map +1 -1
  60. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs +4 -2
  61. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs.map +1 -1
  62. package/lib/components/VBreadcrumbs/{index.d.ts → index.d.mts} +134 -93
  63. package/lib/components/VBtn/VBtn.mjs +12 -9
  64. package/lib/components/VBtn/VBtn.mjs.map +1 -1
  65. package/lib/components/VBtn/{index.d.ts → index.d.mts} +33 -36
  66. package/lib/components/VBtnGroup/VBtnGroup.mjs +4 -1
  67. package/lib/components/VBtnGroup/VBtnGroup.mjs.map +1 -1
  68. package/lib/components/VBtnGroup/{index.d.ts → index.d.mts} +22 -13
  69. package/lib/components/VBtnToggle/VBtnToggle.mjs +4 -2
  70. package/lib/components/VBtnToggle/VBtnToggle.mjs.map +1 -1
  71. package/lib/components/VBtnToggle/{index.d.ts → index.d.mts} +30 -21
  72. package/lib/components/VCard/VCard.mjs +5 -3
  73. package/lib/components/VCard/VCard.mjs.map +1 -1
  74. package/lib/components/VCard/VCardActions.mjs +7 -4
  75. package/lib/components/VCard/VCardActions.mjs.map +1 -1
  76. package/lib/components/VCard/VCardItem.mjs +5 -2
  77. package/lib/components/VCard/VCardItem.mjs.map +1 -1
  78. package/lib/components/VCard/{index.d.ts → index.d.mts} +250 -141
  79. package/lib/components/VCarousel/VCarousel.mjs +3 -3
  80. package/lib/components/VCarousel/VCarousel.mjs.map +1 -1
  81. package/lib/components/VCarousel/VCarouselItem.mjs +6 -3
  82. package/lib/components/VCarousel/VCarouselItem.mjs.map +1 -1
  83. package/lib/components/VCarousel/{index.d.ts → index.d.mts} +78 -141
  84. package/lib/components/VCheckbox/VCheckbox.mjs +3 -2
  85. package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
  86. package/lib/components/VCheckbox/VCheckboxBtn.mjs +2 -2
  87. package/lib/components/VCheckbox/VCheckboxBtn.mjs.map +1 -1
  88. package/lib/components/VCheckbox/{index.d.ts → index.d.mts} +75 -109
  89. package/lib/components/VChip/VChip.mjs +7 -8
  90. package/lib/components/VChip/VChip.mjs.map +1 -1
  91. package/lib/components/VChip/{index.d.ts → index.d.mts} +27 -30
  92. package/lib/components/VChipGroup/VChipGroup.mjs +4 -1
  93. package/lib/components/VChipGroup/VChipGroup.mjs.map +1 -1
  94. package/lib/components/VChipGroup/{index.d.ts → index.d.mts} +22 -13
  95. package/lib/components/VCode/{index.d.ts → index.d.mts} +30 -17
  96. package/lib/components/VColorPicker/VColorPicker.mjs +12 -7
  97. package/lib/components/VColorPicker/VColorPicker.mjs.map +1 -1
  98. package/lib/components/VColorPicker/VColorPickerCanvas.mjs +5 -2
  99. package/lib/components/VColorPicker/VColorPickerCanvas.mjs.map +1 -1
  100. package/lib/components/VColorPicker/VColorPickerEdit.mjs +6 -3
  101. package/lib/components/VColorPicker/VColorPickerEdit.mjs.map +1 -1
  102. package/lib/components/VColorPicker/VColorPickerPreview.mjs +6 -3
  103. package/lib/components/VColorPicker/VColorPickerPreview.mjs.map +1 -1
  104. package/lib/components/VColorPicker/VColorPickerSwatches.mjs +12 -9
  105. package/lib/components/VColorPicker/VColorPickerSwatches.mjs.map +1 -1
  106. package/lib/components/VColorPicker/{index.d.ts → index.d.mts} +131 -32
  107. package/lib/components/VColorPicker/util/index.mjs +2 -22
  108. package/lib/components/VColorPicker/util/index.mjs.map +1 -1
  109. package/lib/components/VCombobox/VCombobox.mjs +11 -3
  110. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  111. package/lib/components/VCombobox/{index.d.ts → index.d.mts} +231 -409
  112. package/lib/components/VCounter/VCounter.mjs +4 -1
  113. package/lib/components/VCounter/VCounter.mjs.map +1 -1
  114. package/lib/components/VCounter/{index.d.ts → index.d.mts} +22 -145
  115. package/lib/components/VDefaultsProvider/{index.d.ts → index.d.mts} +0 -12
  116. package/lib/components/VDialog/VDialog.mjs +4 -3
  117. package/lib/components/VDialog/VDialog.mjs.map +1 -1
  118. package/lib/components/VDialog/{index.d.ts → index.d.mts} +104 -282
  119. package/lib/components/VDivider/VDivider.mjs +4 -2
  120. package/lib/components/VDivider/VDivider.mjs.map +1 -1
  121. package/lib/components/VDivider/{index.d.ts → index.d.mts} +22 -13
  122. package/lib/components/VExpansionPanel/VExpansionPanel.mjs +4 -2
  123. package/lib/components/VExpansionPanel/VExpansionPanel.mjs.map +1 -1
  124. package/lib/components/VExpansionPanel/VExpansionPanelText.mjs +4 -1
  125. package/lib/components/VExpansionPanel/VExpansionPanelText.mjs.map +1 -1
  126. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs +4 -2
  127. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs.map +1 -1
  128. package/lib/components/VExpansionPanel/VExpansionPanels.mjs +4 -1
  129. package/lib/components/VExpansionPanel/VExpansionPanels.mjs.map +1 -1
  130. package/lib/components/VExpansionPanel/{index.d.ts → index.d.mts} +109 -81
  131. package/lib/components/VField/VField.css +0 -1
  132. package/lib/components/VField/VField.mjs +9 -6
  133. package/lib/components/VField/VField.mjs.map +1 -1
  134. package/lib/components/VField/VField.sass +0 -1
  135. package/lib/components/VField/VFieldLabel.mjs +6 -3
  136. package/lib/components/VField/VFieldLabel.mjs.map +1 -1
  137. package/lib/components/VField/{index.d.ts → index.d.mts} +125 -76
  138. package/lib/components/VFileInput/VFileInput.mjs +4 -2
  139. package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
  140. package/lib/components/VFileInput/{index.d.ts → index.d.mts} +114 -165
  141. package/lib/components/VFooter/VFooter.mjs +4 -2
  142. package/lib/components/VFooter/VFooter.mjs.map +1 -1
  143. package/lib/components/VFooter/{index.d.ts → index.d.mts} +22 -13
  144. package/lib/components/VForm/VForm.mjs +5 -2
  145. package/lib/components/VForm/VForm.mjs.map +1 -1
  146. package/lib/components/VForm/{index.d.ts → index.d.mts} +30 -17
  147. package/lib/components/VGrid/VCol.mjs +4 -1
  148. package/lib/components/VGrid/VCol.mjs.map +1 -1
  149. package/lib/components/VGrid/VContainer.mjs +4 -1
  150. package/lib/components/VGrid/VContainer.mjs.map +1 -1
  151. package/lib/components/VGrid/VRow.mjs +4 -1
  152. package/lib/components/VGrid/VRow.mjs.map +1 -1
  153. package/lib/components/VGrid/{index.d.ts → index.d.mts} +104 -60
  154. package/lib/components/VHover/{index.d.ts → index.d.mts} +20 -44
  155. package/lib/components/VIcon/VIcon.mjs +4 -2
  156. package/lib/components/VIcon/VIcon.mjs.map +1 -1
  157. package/lib/components/VIcon/{index.d.ts → index.d.mts} +23 -26
  158. package/lib/components/VImg/VImg.css +2 -4
  159. package/lib/components/VImg/VImg.mjs +27 -24
  160. package/lib/components/VImg/VImg.mjs.map +1 -1
  161. package/lib/components/VImg/VImg.sass +4 -3
  162. package/lib/components/VImg/{index.d.ts → index.d.mts} +73 -31
  163. package/lib/components/VInput/VInput.mjs +4 -1
  164. package/lib/components/VInput/VInput.mjs.map +1 -1
  165. package/lib/components/VInput/{index.d.ts → index.d.mts} +37 -40
  166. package/lib/components/VItemGroup/VItemGroup.mjs +4 -1
  167. package/lib/components/VItemGroup/VItemGroup.mjs.map +1 -1
  168. package/lib/components/VItemGroup/{index.d.ts → index.d.mts} +30 -33
  169. package/lib/components/VKbd/{index.d.ts → index.d.mts} +30 -17
  170. package/lib/components/VLabel/VLabel.mjs +4 -1
  171. package/lib/components/VLabel/VLabel.mjs.map +1 -1
  172. package/lib/components/VLabel/{index.d.ts → index.d.mts} +22 -13
  173. package/lib/components/VLayout/VLayout.mjs +8 -4
  174. package/lib/components/VLayout/VLayout.mjs.map +1 -1
  175. package/lib/components/VLayout/VLayoutItem.mjs +4 -2
  176. package/lib/components/VLayout/VLayoutItem.mjs.map +1 -1
  177. package/lib/components/VLayout/{index.d.ts → index.d.mts} +44 -26
  178. package/lib/components/VLazy/VLazy.mjs +4 -2
  179. package/lib/components/VLazy/VLazy.mjs.map +1 -1
  180. package/lib/components/VLazy/{index.d.ts → index.d.mts} +22 -13
  181. package/lib/components/VList/VList.mjs +12 -24
  182. package/lib/components/VList/VList.mjs.map +1 -1
  183. package/lib/components/VList/VListChildren.mjs.map +1 -1
  184. package/lib/components/VList/VListGroup.mjs +8 -2
  185. package/lib/components/VList/VListGroup.mjs.map +1 -1
  186. package/lib/components/VList/VListItem.mjs +12 -5
  187. package/lib/components/VList/VListItem.mjs.map +1 -1
  188. package/lib/components/VList/VListItemAction.mjs +4 -1
  189. package/lib/components/VList/VListItemAction.mjs.map +1 -1
  190. package/lib/components/VList/VListItemMedia.mjs +4 -1
  191. package/lib/components/VList/VListItemMedia.mjs.map +1 -1
  192. package/lib/components/VList/VListSubheader.mjs +5 -3
  193. package/lib/components/VList/VListSubheader.mjs.map +1 -1
  194. package/lib/components/VList/{index.d.ts → index.d.mts} +950 -826
  195. package/lib/components/VLocaleProvider/VLocaleProvider.mjs +5 -2
  196. package/lib/components/VLocaleProvider/VLocaleProvider.mjs.map +1 -1
  197. package/lib/components/VLocaleProvider/{index.d.ts → index.d.mts} +30 -17
  198. package/lib/components/VMain/VMain.mjs +4 -2
  199. package/lib/components/VMain/VMain.mjs.map +1 -1
  200. package/lib/components/VMain/{index.d.ts → index.d.mts} +30 -17
  201. package/lib/components/VMenu/VMenu.mjs +2 -1
  202. package/lib/components/VMenu/VMenu.mjs.map +1 -1
  203. package/lib/components/VMenu/{index.d.ts → index.d.mts} +104 -282
  204. package/lib/components/VMessages/VMessages.mjs +4 -2
  205. package/lib/components/VMessages/VMessages.mjs.map +1 -1
  206. package/lib/components/VMessages/{index.d.ts → index.d.mts} +22 -145
  207. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +5 -10
  208. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
  209. package/lib/components/VNavigationDrawer/{index.d.ts → index.d.mts} +26 -29
  210. package/lib/components/VNoSsr/VNoSsr.mjs.map +1 -1
  211. package/lib/components/VNoSsr/index.d.mts +8 -0
  212. package/lib/components/VOverlay/VOverlay.mjs +5 -3
  213. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  214. package/lib/components/VOverlay/{index.d.ts → index.d.mts} +38 -45
  215. package/lib/components/VPagination/VPagination.mjs +4 -1
  216. package/lib/components/VPagination/VPagination.mjs.map +1 -1
  217. package/lib/components/VPagination/{index.d.ts → index.d.mts} +23 -30
  218. package/lib/components/VParallax/VParallax.mjs +5 -2
  219. package/lib/components/VParallax/VParallax.mjs.map +1 -1
  220. package/lib/components/VParallax/{index.d.ts → index.d.mts} +34 -33
  221. package/lib/components/VProgressCircular/VProgressCircular.mjs +4 -2
  222. package/lib/components/VProgressCircular/VProgressCircular.mjs.map +1 -1
  223. package/lib/components/VProgressCircular/{index.d.ts → index.d.mts} +22 -13
  224. package/lib/components/VProgressLinear/VProgressLinear.mjs +6 -4
  225. package/lib/components/VProgressLinear/VProgressLinear.mjs.map +1 -1
  226. package/lib/components/VProgressLinear/{index.d.ts → index.d.mts} +42 -45
  227. package/lib/components/VRadio/VRadio.mjs +2 -1
  228. package/lib/components/VRadio/VRadio.mjs.map +1 -1
  229. package/lib/components/VRadio/{index.d.ts → index.d.mts} +27 -38
  230. package/lib/components/VRadioGroup/VRadioGroup.mjs +2 -1
  231. package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
  232. package/lib/components/VRadioGroup/{index.d.ts → index.d.mts} +45 -68
  233. package/lib/components/VRangeSlider/VRangeSlider.mjs +2 -1
  234. package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
  235. package/lib/components/VRangeSlider/{index.d.ts → index.d.mts} +33 -44
  236. package/lib/components/VRating/VRating.mjs +4 -1
  237. package/lib/components/VRating/VRating.mjs.map +1 -1
  238. package/lib/components/VRating/{index.d.ts → index.d.mts} +23 -18
  239. package/lib/components/VResponsive/VResponsive.css +13 -5
  240. package/lib/components/VResponsive/VResponsive.mjs +14 -8
  241. package/lib/components/VResponsive/VResponsive.mjs.map +1 -1
  242. package/lib/components/VResponsive/VResponsive.sass +12 -4
  243. package/lib/components/VResponsive/{index.d.ts → index.d.mts} +52 -31
  244. package/lib/components/VSelect/VSelect.mjs +11 -3
  245. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  246. package/lib/components/VSelect/{index.d.ts → index.d.mts} +200 -558
  247. package/lib/components/VSelectionControl/VSelectionControl.mjs +6 -2
  248. package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
  249. package/lib/components/VSelectionControl/{index.d.ts → index.d.mts} +76 -46
  250. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs +4 -1
  251. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs.map +1 -1
  252. package/lib/components/VSelectionControlGroup/{index.d.ts → index.d.mts} +23 -14
  253. package/lib/components/VSheet/VSheet.css +6 -0
  254. package/lib/components/VSheet/VSheet.mjs +4 -2
  255. package/lib/components/VSheet/VSheet.mjs.map +1 -1
  256. package/lib/components/VSheet/_variables.scss +1 -1
  257. package/lib/components/VSheet/{index.d.ts → index.d.mts} +22 -13
  258. package/lib/components/VSlideGroup/VSlideGroup.mjs +6 -3
  259. package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
  260. package/lib/components/VSlideGroup/{index.d.ts → index.d.mts} +59 -90
  261. package/lib/components/VSlider/VSlider.mjs +2 -1
  262. package/lib/components/VSlider/VSlider.mjs.map +1 -1
  263. package/lib/components/VSlider/VSliderThumb.mjs +6 -4
  264. package/lib/components/VSlider/VSliderThumb.mjs.map +1 -1
  265. package/lib/components/VSlider/VSliderTrack.mjs +6 -4
  266. package/lib/components/VSlider/VSliderTrack.mjs.map +1 -1
  267. package/lib/components/VSlider/{index.d.ts → index.d.mts} +33 -44
  268. package/lib/components/VSnackbar/VSnackbar.mjs +2 -1
  269. package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
  270. package/lib/components/VSnackbar/{index.d.ts → index.d.mts} +92 -142
  271. package/lib/components/VSwitch/VSwitch.mjs +2 -1
  272. package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
  273. package/lib/components/VSwitch/{index.d.ts → index.d.mts} +45 -72
  274. package/lib/components/VSystemBar/VSystemBar.mjs +4 -2
  275. package/lib/components/VSystemBar/VSystemBar.mjs.map +1 -1
  276. package/lib/components/VSystemBar/{index.d.ts → index.d.mts} +22 -13
  277. package/lib/components/VTable/VTable.mjs +4 -1
  278. package/lib/components/VTable/VTable.mjs.map +1 -1
  279. package/lib/components/VTable/{index.d.ts → index.d.mts} +26 -29
  280. package/lib/components/VTabs/VTab.mjs +2 -2
  281. package/lib/components/VTabs/VTab.mjs.map +1 -1
  282. package/lib/components/VTabs/VTabs.mjs +2 -2
  283. package/lib/components/VTabs/VTabs.mjs.map +1 -1
  284. package/lib/components/VTabs/{index.d.ts → index.d.mts} +45 -27
  285. package/lib/components/VTextField/VTextField.mjs +3 -2
  286. package/lib/components/VTextField/VTextField.mjs.map +1 -1
  287. package/lib/components/VTextField/{index.d.ts → index.d.mts} +232 -293
  288. package/lib/components/VTextarea/VTextarea.mjs +3 -2
  289. package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
  290. package/lib/components/VTextarea/{index.d.ts → index.d.mts} +94 -137
  291. package/lib/components/VThemeProvider/VThemeProvider.mjs +6 -3
  292. package/lib/components/VThemeProvider/VThemeProvider.mjs.map +1 -1
  293. package/lib/components/VThemeProvider/{index.d.ts → index.d.mts} +22 -13
  294. package/lib/components/VTimeline/VTimeline.mjs +5 -3
  295. package/lib/components/VTimeline/VTimeline.mjs.map +1 -1
  296. package/lib/components/VTimeline/VTimelineDivider.mjs +4 -1
  297. package/lib/components/VTimeline/VTimelineDivider.mjs.map +1 -1
  298. package/lib/components/VTimeline/VTimelineItem.mjs +8 -6
  299. package/lib/components/VTimeline/VTimelineItem.mjs.map +1 -1
  300. package/lib/components/VTimeline/{index.d.ts → index.d.mts} +67 -57
  301. package/lib/components/VToolbar/VToolbar.mjs +4 -2
  302. package/lib/components/VToolbar/VToolbar.mjs.map +1 -1
  303. package/lib/components/VToolbar/VToolbarItems.mjs +9 -4
  304. package/lib/components/VToolbar/VToolbarItems.mjs.map +1 -1
  305. package/lib/components/VToolbar/VToolbarTitle.mjs +5 -2
  306. package/lib/components/VToolbar/VToolbarTitle.mjs.map +1 -1
  307. package/lib/components/VToolbar/{index.d.ts → index.d.mts} +74 -71
  308. package/lib/components/VTooltip/VTooltip.mjs +2 -1
  309. package/lib/components/VTooltip/VTooltip.mjs.map +1 -1
  310. package/lib/components/VTooltip/{index.d.ts → index.d.mts} +104 -150
  311. package/lib/components/VValidation/{index.d.ts → index.d.mts} +6 -18
  312. package/lib/components/VVirtualScroll/VVirtualScroll.mjs +21 -23
  313. package/lib/components/VVirtualScroll/VVirtualScroll.mjs.map +1 -1
  314. package/lib/components/VVirtualScroll/VVirtualScrollItem.mjs +5 -2
  315. package/lib/components/VVirtualScroll/VVirtualScrollItem.mjs.map +1 -1
  316. package/lib/components/VVirtualScroll/{index.d.ts → index.d.mts} +70 -30
  317. package/lib/components/VWindow/VWindow.mjs +4 -1
  318. package/lib/components/VWindow/VWindow.mjs.map +1 -1
  319. package/lib/components/VWindow/VWindowItem.mjs +4 -1
  320. package/lib/components/VWindow/VWindowItem.mjs.map +1 -1
  321. package/lib/components/VWindow/{index.d.ts → index.d.mts} +61 -79
  322. package/lib/components/{index.d.ts → index.d.mts} +6475 -7529
  323. package/lib/components/transitions/{index.d.ts → index.d.mts} +0 -192
  324. package/lib/composables/component.mjs +11 -0
  325. package/lib/composables/component.mjs.map +1 -0
  326. package/lib/composables/defaults.mjs +63 -5
  327. package/lib/composables/defaults.mjs.map +1 -1
  328. package/lib/composables/display.mjs +6 -6
  329. package/lib/composables/display.mjs.map +1 -1
  330. package/lib/composables/focus.mjs.map +1 -1
  331. package/lib/composables/icons.mjs +15 -4
  332. package/lib/composables/icons.mjs.map +1 -1
  333. package/lib/composables/index.mjs +1 -1
  334. package/lib/composables/index.mjs.map +1 -1
  335. package/lib/composables/loader.mjs.map +1 -1
  336. package/lib/composables/scroll.mjs +18 -19
  337. package/lib/composables/scroll.mjs.map +1 -1
  338. package/lib/entry-bundler.mjs +1 -1
  339. package/lib/framework.mjs +2 -2
  340. package/lib/framework.mjs.map +1 -1
  341. package/lib/iconsets/{fa-svg.d.ts → fa-svg.d.mts} +1 -1
  342. package/lib/iconsets/{fa.d.ts → fa.d.mts} +1 -1
  343. package/lib/iconsets/{fa4.d.ts → fa4.d.mts} +1 -1
  344. package/lib/iconsets/{md.d.ts → md.d.mts} +1 -1
  345. package/lib/iconsets/{mdi-svg.d.ts → mdi-svg.d.mts} +1 -1
  346. package/lib/iconsets/{mdi.d.ts → mdi.d.mts} +1 -1
  347. package/lib/{index.d.ts → index.d.mts} +13 -12
  348. package/lib/labs/VDataTable/VDataTable.mjs +12 -3
  349. package/lib/labs/VDataTable/VDataTable.mjs.map +1 -1
  350. package/lib/labs/VDataTable/VDataTableHeaders.mjs +34 -20
  351. package/lib/labs/VDataTable/VDataTableHeaders.mjs.map +1 -1
  352. package/lib/labs/VDataTable/VDataTableRow.mjs +2 -4
  353. package/lib/labs/VDataTable/VDataTableRow.mjs.map +1 -1
  354. package/lib/labs/VDataTable/VDataTableRows.mjs +2 -2
  355. package/lib/labs/VDataTable/VDataTableRows.mjs.map +1 -1
  356. package/lib/labs/VDataTable/VDataTableServer.mjs +1 -6
  357. package/lib/labs/VDataTable/VDataTableServer.mjs.map +1 -1
  358. package/lib/labs/VDataTable/VDataTableVirtual.mjs +7 -2
  359. package/lib/labs/VDataTable/VDataTableVirtual.mjs.map +1 -1
  360. package/lib/labs/VDataTable/composables/paginate.mjs +6 -1
  361. package/lib/labs/VDataTable/composables/paginate.mjs.map +1 -1
  362. package/lib/labs/VDataTable/{index.d.ts → index.d.mts} +113 -943
  363. package/lib/labs/VInfiniteScroll/{index.d.ts → index.d.mts} +8 -36
  364. package/lib/labs/VSkeletonLoader/{index.d.ts → index.d.mts} +0 -12
  365. package/lib/labs/{components.d.ts → components.d.mts} +161 -1031
  366. package/lib/labs/date/DateAdapter.mjs +2 -0
  367. package/lib/labs/date/DateAdapter.mjs.map +1 -0
  368. package/lib/labs/date/adapters/vuetify.d.mts +52 -0
  369. package/lib/{adapters → labs/date/adapters}/vuetify.mjs +2 -2
  370. package/lib/labs/date/adapters/vuetify.mjs.map +1 -0
  371. package/lib/{composables → labs/date}/date.mjs +3 -3
  372. package/lib/labs/date/date.mjs.map +1 -0
  373. package/lib/labs/date/index.d.mts +40 -0
  374. package/lib/labs/date/index.mjs +2 -0
  375. package/lib/labs/date/index.mjs.map +1 -0
  376. package/lib/labs/index.mjs +3 -2
  377. package/lib/labs/index.mjs.map +1 -1
  378. package/lib/util/colorUtils.mjs +68 -3
  379. package/lib/util/colorUtils.mjs.map +1 -1
  380. package/lib/util/console.mjs +12 -81
  381. package/lib/util/console.mjs.map +1 -1
  382. package/lib/util/createSimpleFunctional.mjs +9 -4
  383. package/lib/util/createSimpleFunctional.mjs.map +1 -1
  384. package/lib/util/defineComponent.mjs +11 -43
  385. package/lib/util/defineComponent.mjs.map +1 -1
  386. package/lib/util/helpers.mjs +31 -2
  387. package/lib/util/helpers.mjs.map +1 -1
  388. package/lib/util/index.mjs +1 -0
  389. package/lib/util/index.mjs.map +1 -1
  390. package/package.json +11 -6
  391. package/lib/adapters/date-adapter.mjs +0 -2
  392. package/lib/adapters/date-adapter.mjs.map +0 -1
  393. package/lib/adapters/vuetify.mjs.map +0 -1
  394. package/lib/components/VNoSsr/index.d.ts +0 -18
  395. package/lib/composables/date.mjs.map +0 -1
  396. /package/lib/directives/{index.d.ts → index.d.mts} +0 -0
  397. /package/lib/locale/adapters/{vue-i18n.d.ts → vue-i18n.d.mts} +0 -0
  398. /package/lib/locale/adapters/{vuetify.d.ts → vuetify.d.mts} +0 -0
  399. /package/lib/locale/{index.d.ts → index.d.mts} +0 -0
@@ -13,7 +13,7 @@ type Density = null | 'default' | 'comfortable' | 'compact';
13
13
  type ValidationResult = string | boolean;
14
14
  type ValidationRule = ValidationResult | PromiseLike<ValidationResult> | ((value: any) => ValidationResult) | ((value: any) => PromiseLike<ValidationResult>);
15
15
 
16
- type IconValue = string | JSXComponent;
16
+ type IconValue = string | (string | [path: string, opacity: number])[] | JSXComponent;
17
17
  declare const IconValue: PropType<IconValue>;
18
18
 
19
19
  interface VInputSlot {
@@ -40,6 +40,7 @@ declare const VRangeSlider: {
40
40
  error: boolean;
41
41
  strict: boolean;
42
42
  direction: "horizontal" | "vertical";
43
+ style: vue.StyleValue;
43
44
  disabled: boolean;
44
45
  readonly: boolean;
45
46
  step: string | number;
@@ -65,6 +66,7 @@ declare const VRangeSlider: {
65
66
  error: boolean;
66
67
  strict: boolean;
67
68
  direction: "horizontal" | "vertical";
69
+ style: vue.StyleValue;
68
70
  disabled: boolean;
69
71
  readonly: boolean;
70
72
  step: string | number;
@@ -87,12 +89,13 @@ declare const VRangeSlider: {
87
89
  name?: string | undefined;
88
90
  color?: string | undefined;
89
91
  label?: string | undefined;
92
+ class?: any;
90
93
  rounded?: string | number | boolean | undefined;
91
94
  prependIcon?: IconValue | undefined;
92
95
  appendIcon?: IconValue | undefined;
93
96
  'onClick:append'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
94
97
  'onClick:prepend'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
95
- 'onUpdate:focused'?: EventProp<[FocusEvent], (args_0: FocusEvent) => any> | undefined;
98
+ 'onUpdate:focused'?: EventProp<[boolean], (args_0: boolean) => any> | undefined;
96
99
  validateOn?: "input" | "blur" | "submit" | undefined;
97
100
  validationValue?: any;
98
101
  hint?: string | undefined;
@@ -103,7 +106,7 @@ declare const VRangeSlider: {
103
106
  thumbLabel?: boolean | "always" | undefined;
104
107
  ticks?: number[] | Record<number, string> | undefined;
105
108
  } & {
106
- $children?: {} | vue.VNodeChild | {
109
+ $children?: vue.VNodeChild | ((args_0: VInputSlot) => vue.VNodeChild) | {
107
110
  default?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
108
111
  prepend?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
109
112
  append?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
@@ -111,14 +114,6 @@ declare const VRangeSlider: {
111
114
  'tick-label'?: (() => vue.VNodeChild) | undefined;
112
115
  'thumb-label'?: (() => vue.VNodeChild) | undefined;
113
116
  };
114
- $slots?: {
115
- default?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
116
- prepend?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
117
- append?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
118
- details?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
119
- 'tick-label'?: (() => vue.VNodeChild) | undefined;
120
- 'thumb-label'?: (() => vue.VNodeChild) | undefined;
121
- } | undefined;
122
117
  'v-slots'?: {
123
118
  default?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
124
119
  prepend?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
@@ -139,7 +134,7 @@ declare const VRangeSlider: {
139
134
  "onUpdate:focused"?: ((value: boolean) => any) | undefined;
140
135
  onEnd?: ((value: [number, number]) => any) | undefined;
141
136
  onStart?: ((value: [number, number]) => any) | undefined;
142
- } & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, "reverse" | "max" | "error" | "strict" | "direction" | "disabled" | "readonly" | "step" | "min" | "elevation" | "messages" | "rounded" | "density" | "modelValue" | "focused" | "errorMessages" | "maxErrors" | "rules" | "persistentHint" | "showTicks" | "tickSize" | "trackSize" | "thumbLabel" | "thumbSize">;
137
+ } & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, "reverse" | "max" | "error" | "strict" | "direction" | "style" | "disabled" | "readonly" | "step" | "min" | "elevation" | "messages" | "rounded" | "density" | "modelValue" | "focused" | "errorMessages" | "maxErrors" | "rules" | "persistentHint" | "showTicks" | "tickSize" | "trackSize" | "thumbLabel" | "thumbSize">;
143
138
  $attrs: {
144
139
  [x: string]: unknown;
145
140
  };
@@ -159,6 +154,7 @@ declare const VRangeSlider: {
159
154
  error: boolean;
160
155
  strict: boolean;
161
156
  direction: "horizontal" | "vertical";
157
+ style: vue.StyleValue;
162
158
  disabled: boolean;
163
159
  readonly: boolean;
164
160
  step: string | number;
@@ -181,12 +177,13 @@ declare const VRangeSlider: {
181
177
  name?: string | undefined;
182
178
  color?: string | undefined;
183
179
  label?: string | undefined;
180
+ class?: any;
184
181
  rounded?: string | number | boolean | undefined;
185
182
  prependIcon?: IconValue | undefined;
186
183
  appendIcon?: IconValue | undefined;
187
184
  'onClick:append'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
188
185
  'onClick:prepend'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
189
- 'onUpdate:focused'?: EventProp<[FocusEvent], (args_0: FocusEvent) => any> | undefined;
186
+ 'onUpdate:focused'?: EventProp<[boolean], (args_0: boolean) => any> | undefined;
190
187
  validateOn?: "input" | "blur" | "submit" | undefined;
191
188
  validationValue?: any;
192
189
  hint?: string | undefined;
@@ -197,7 +194,7 @@ declare const VRangeSlider: {
197
194
  thumbLabel?: boolean | "always" | undefined;
198
195
  ticks?: number[] | Record<number, string> | undefined;
199
196
  } & {
200
- $children?: {} | vue.VNodeChild | {
197
+ $children?: vue.VNodeChild | ((args_0: VInputSlot) => vue.VNodeChild) | {
201
198
  default?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
202
199
  prepend?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
203
200
  append?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
@@ -205,14 +202,6 @@ declare const VRangeSlider: {
205
202
  'tick-label'?: (() => vue.VNodeChild) | undefined;
206
203
  'thumb-label'?: (() => vue.VNodeChild) | undefined;
207
204
  };
208
- $slots?: {
209
- default?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
210
- prepend?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
211
- append?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
212
- details?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
213
- 'tick-label'?: (() => vue.VNodeChild) | undefined;
214
- 'thumb-label'?: (() => vue.VNodeChild) | undefined;
215
- } | undefined;
216
205
  'v-slots'?: {
217
206
  default?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
218
207
  prepend?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
@@ -244,6 +233,7 @@ declare const VRangeSlider: {
244
233
  error: boolean;
245
234
  strict: boolean;
246
235
  direction: "horizontal" | "vertical";
236
+ style: vue.StyleValue;
247
237
  disabled: boolean;
248
238
  readonly: boolean;
249
239
  step: string | number;
@@ -289,6 +279,7 @@ declare const VRangeSlider: {
289
279
  error: boolean;
290
280
  strict: boolean;
291
281
  direction: "horizontal" | "vertical";
282
+ style: vue.StyleValue;
292
283
  disabled: boolean;
293
284
  readonly: boolean;
294
285
  step: string | number;
@@ -311,12 +302,13 @@ declare const VRangeSlider: {
311
302
  name?: string | undefined;
312
303
  color?: string | undefined;
313
304
  label?: string | undefined;
305
+ class?: any;
314
306
  rounded?: string | number | boolean | undefined;
315
307
  prependIcon?: IconValue | undefined;
316
308
  appendIcon?: IconValue | undefined;
317
309
  'onClick:append'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
318
310
  'onClick:prepend'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
319
- 'onUpdate:focused'?: EventProp<[FocusEvent], (args_0: FocusEvent) => any> | undefined;
311
+ 'onUpdate:focused'?: EventProp<[boolean], (args_0: boolean) => any> | undefined;
320
312
  validateOn?: "input" | "blur" | "submit" | undefined;
321
313
  validationValue?: any;
322
314
  hint?: string | undefined;
@@ -327,7 +319,7 @@ declare const VRangeSlider: {
327
319
  thumbLabel?: boolean | "always" | undefined;
328
320
  ticks?: number[] | Record<number, string> | undefined;
329
321
  } & {
330
- $children?: {} | vue.VNodeChild | {
322
+ $children?: vue.VNodeChild | ((args_0: VInputSlot) => vue.VNodeChild) | {
331
323
  default?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
332
324
  prepend?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
333
325
  append?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
@@ -335,14 +327,6 @@ declare const VRangeSlider: {
335
327
  'tick-label'?: (() => vue.VNodeChild) | undefined;
336
328
  'thumb-label'?: (() => vue.VNodeChild) | undefined;
337
329
  };
338
- $slots?: {
339
- default?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
340
- prepend?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
341
- append?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
342
- details?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
343
- 'tick-label'?: (() => vue.VNodeChild) | undefined;
344
- 'thumb-label'?: (() => vue.VNodeChild) | undefined;
345
- } | undefined;
346
330
  'v-slots'?: {
347
331
  default?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
348
332
  prepend?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
@@ -373,6 +357,7 @@ declare const VRangeSlider: {
373
357
  error: boolean;
374
358
  strict: boolean;
375
359
  direction: "horizontal" | "vertical";
360
+ style: vue.StyleValue;
376
361
  disabled: boolean;
377
362
  readonly: boolean;
378
363
  step: string | number;
@@ -395,12 +380,13 @@ declare const VRangeSlider: {
395
380
  name?: string | undefined;
396
381
  color?: string | undefined;
397
382
  label?: string | undefined;
383
+ class?: any;
398
384
  rounded?: string | number | boolean | undefined;
399
385
  prependIcon?: IconValue | undefined;
400
386
  appendIcon?: IconValue | undefined;
401
387
  'onClick:append'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
402
388
  'onClick:prepend'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
403
- 'onUpdate:focused'?: EventProp<[FocusEvent], (args_0: FocusEvent) => any> | undefined;
389
+ 'onUpdate:focused'?: EventProp<[boolean], (args_0: boolean) => any> | undefined;
404
390
  validateOn?: "input" | "blur" | "submit" | undefined;
405
391
  validationValue?: any;
406
392
  hint?: string | undefined;
@@ -411,7 +397,7 @@ declare const VRangeSlider: {
411
397
  thumbLabel?: boolean | "always" | undefined;
412
398
  ticks?: number[] | Record<number, string> | undefined;
413
399
  } & {
414
- $children?: {} | vue.VNodeChild | {
400
+ $children?: vue.VNodeChild | ((args_0: VInputSlot) => vue.VNodeChild) | {
415
401
  default?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
416
402
  prepend?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
417
403
  append?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
@@ -419,14 +405,6 @@ declare const VRangeSlider: {
419
405
  'tick-label'?: (() => vue.VNodeChild) | undefined;
420
406
  'thumb-label'?: (() => vue.VNodeChild) | undefined;
421
407
  };
422
- $slots?: {
423
- default?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
424
- prepend?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
425
- append?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
426
- details?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
427
- 'tick-label'?: (() => vue.VNodeChild) | undefined;
428
- 'thumb-label'?: (() => vue.VNodeChild) | undefined;
429
- } | undefined;
430
408
  'v-slots'?: {
431
409
  default?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
432
410
  prepend?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
@@ -458,6 +436,7 @@ declare const VRangeSlider: {
458
436
  error: boolean;
459
437
  strict: boolean;
460
438
  direction: "horizontal" | "vertical";
439
+ style: vue.StyleValue;
461
440
  disabled: boolean;
462
441
  readonly: boolean;
463
442
  step: string | number;
@@ -545,7 +524,7 @@ declare const VRangeSlider: {
545
524
  };
546
525
  reverse: BooleanConstructor;
547
526
  focused: BooleanConstructor;
548
- 'onUpdate:focused': PropType<EventProp<[FocusEvent], (args_0: FocusEvent) => any>>;
527
+ 'onUpdate:focused': PropType<EventProp<[boolean], (args_0: boolean) => any>>;
549
528
  errorMessages: {
550
529
  type: PropType<string | string[]>;
551
530
  default: () => never[];
@@ -567,6 +546,11 @@ declare const VRangeSlider: {
567
546
  default: string;
568
547
  validator: (v: any) => boolean;
569
548
  };
549
+ class: PropType<any>;
550
+ style: {
551
+ type: PropType<vue.StyleValue>;
552
+ default: null;
553
+ };
570
554
  id: StringConstructor;
571
555
  appendIcon: PropType<IconValue>;
572
556
  prependIcon: PropType<IconValue>;
@@ -647,7 +631,7 @@ declare const VRangeSlider: {
647
631
  };
648
632
  reverse: BooleanConstructor;
649
633
  focused: BooleanConstructor;
650
- 'onUpdate:focused': PropType<EventProp<[FocusEvent], (args_0: FocusEvent) => any>>;
634
+ 'onUpdate:focused': PropType<EventProp<[boolean], (args_0: boolean) => any>>;
651
635
  errorMessages: {
652
636
  type: PropType<string | string[]>;
653
637
  default: () => never[];
@@ -669,6 +653,11 @@ declare const VRangeSlider: {
669
653
  default: string;
670
654
  validator: (v: any) => boolean;
671
655
  };
656
+ class: PropType<any>;
657
+ style: {
658
+ type: PropType<vue.StyleValue>;
659
+ default: null;
660
+ };
672
661
  id: StringConstructor;
673
662
  appendIcon: PropType<IconValue>;
674
663
  prependIcon: PropType<IconValue>;
@@ -5,6 +5,7 @@ import "./VRating.css";
5
5
  // Components
6
6
  import { VBtn } from "../VBtn/index.mjs"; // Composables
7
7
  import { IconValue } from "../../composables/icons.mjs";
8
+ import { makeComponentProps } from "../../composables/component.mjs";
8
9
  import { makeDensityProps } from "../../composables/density.mjs";
9
10
  import { makeSizeProps } from "../../composables/size.mjs";
10
11
  import { makeTagProps } from "../../composables/tag.mjs";
@@ -51,6 +52,7 @@ export const VRating = genericComponent()({
51
52
  validator: v => ['top', 'bottom'].includes(v)
52
53
  },
53
54
  ripple: Boolean,
55
+ ...makeComponentProps(),
54
56
  ...makeDensityProps(),
55
57
  ...makeSizeProps(),
56
58
  ...makeTagProps(),
@@ -168,7 +170,8 @@ export const VRating = genericComponent()({
168
170
  "class": ['v-rating', {
169
171
  'v-rating--hover': props.hover,
170
172
  'v-rating--readonly': props.readonly
171
- }, themeClasses.value]
173
+ }, themeClasses.value, props.class],
174
+ "style": props.style
172
175
  }, {
173
176
  default: () => [_createVNode(VRatingItem, {
174
177
  "value": 0,
@@ -1 +1 @@
1
- {"version":3,"file":"VRating.mjs","names":["VBtn","IconValue","makeDensityProps","makeSizeProps","makeTagProps","makeThemeProps","provideTheme","useLocale","useProxiedModel","computed","ref","clamp","createRange","genericComponent","getUid","useRender","VRating","name","props","String","itemAriaLabel","type","default","activeColor","color","clearable","Boolean","disabled","emptyIcon","fullIcon","halfIncrements","hover","length","Number","readonly","modelValue","itemLabels","Array","itemLabelPosition","validator","v","includes","ripple","emits","value","setup","_ref","slots","t","themeClasses","rating","normalizedValue","parseFloat","range","increments","flatMap","hoverIndex","itemState","map","isHovering","isFilled","isHovered","isFullIcon","icon","eventState","onMouseenter","onMouseleave","onClick","undefined","VRatingItem","_ref2","index","showStar","id","replace","btnProps","density","size","variant","_createVNode","_Fragment","item","createLabel","labelProps","label","_createTextVNode","hasLabels","tag","i"],"sources":["../../../src/components/VRating/VRating.tsx"],"sourcesContent":["// Styles\nimport './VRating.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\n\n// Composables\nimport { IconValue } from '@/composables/icons'\nimport { makeDensityProps } from '@/composables/density'\nimport { makeSizeProps } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, ref } from 'vue'\nimport { clamp, createRange, genericComponent, getUid, useRender } from '@/util'\n\n// Types\nimport type { Prop } from 'vue'\nimport type { Variant } from '@/composables/variant'\n\ntype VRatingItemSlot = {\n value: number\n index: number\n isFilled: boolean\n isHovered: boolean\n icon: IconValue\n color?: string\n props: Record<string, unknown>\n rating: number\n}\n\ntype VRatingItemLabelSlot = {\n value: number\n index: number\n label?: string\n}\n\ntype VRatingSlots = {\n item: [VRatingItemSlot]\n 'item-label': [VRatingItemLabelSlot]\n}\n\nexport const VRating = genericComponent<VRatingSlots>()({\n name: 'VRating',\n\n props: {\n name: String,\n itemAriaLabel: {\n type: String,\n default: '$vuetify.rating.ariaLabel.item',\n },\n activeColor: String,\n color: String,\n clearable: Boolean,\n disabled: Boolean,\n emptyIcon: {\n type: IconValue,\n default: '$ratingEmpty',\n },\n fullIcon: {\n type: IconValue,\n default: '$ratingFull',\n },\n halfIncrements: Boolean,\n hover: Boolean,\n length: {\n type: [Number, String],\n default: 5,\n },\n readonly: Boolean,\n modelValue: {\n type: [Number, String],\n default: 0,\n },\n itemLabels: Array as Prop<string[]>,\n itemLabelPosition: {\n type: String,\n default: 'top',\n validator: (v: any) => ['top', 'bottom'].includes(v),\n },\n ripple: Boolean,\n\n ...makeDensityProps(),\n ...makeSizeProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n },\n\n emits: {\n 'update:modelValue': (value: number | string) => true,\n },\n\n setup (props, { slots }) {\n const { t } = useLocale()\n const { themeClasses } = provideTheme(props)\n const rating = useProxiedModel(props, 'modelValue')\n const normalizedValue = computed(() => clamp(parseFloat(rating.value), 0, +props.length))\n\n const range = computed(() => createRange(Number(props.length), 1))\n const increments = computed(() => range.value.flatMap(v => props.halfIncrements ? [v - 0.5, v] : [v]))\n const hoverIndex = ref(-1)\n\n const itemState = computed(() => increments.value.map(value => {\n const isHovering = props.hover && hoverIndex.value > -1\n const isFilled = normalizedValue.value >= value\n const isHovered = hoverIndex.value >= value\n const isFullIcon = isHovering ? isHovered : isFilled\n const icon = isFullIcon ? props.fullIcon : props.emptyIcon\n const activeColor = props.activeColor ?? props.color\n const color = (isFilled || isHovered) ? activeColor : props.color\n\n return { isFilled, isHovered, icon, color }\n }))\n\n const eventState = computed(() => [0, ...increments.value].map(value => {\n function onMouseenter () {\n hoverIndex.value = value\n }\n\n function onMouseleave () {\n hoverIndex.value = -1\n }\n\n function onClick () {\n if (props.disabled || props.readonly) return\n rating.value = normalizedValue.value === value && props.clearable ? 0 : value\n }\n\n return {\n onMouseenter: props.hover ? onMouseenter : undefined,\n onMouseleave: props.hover ? onMouseleave : undefined,\n onClick,\n }\n }))\n\n const name = computed(() => props.name ?? `v-rating-${getUid()}`)\n\n function VRatingItem ({ value, index, showStar = true }: { value: number, index: number, showStar?: boolean }) {\n const { onMouseenter, onMouseleave, onClick } = eventState.value[index + 1]\n const id = `${name.value}-${String(value).replace('.', '-')}`\n const btnProps = {\n color: itemState.value[index]?.color,\n density: props.density,\n disabled: props.disabled,\n icon: itemState.value[index]?.icon,\n ripple: props.ripple,\n size: props.size,\n variant: 'plain' as Variant,\n }\n\n return (\n <>\n <label\n for={ id }\n class={{\n 'v-rating__item--half': props.halfIncrements && value % 1 > 0,\n 'v-rating__item--full': props.halfIncrements && value % 1 === 0,\n }}\n onMouseenter={ onMouseenter }\n onMouseleave={ onMouseleave }\n onClick={ onClick }\n >\n <span class=\"v-rating__hidden\">{ t(props.itemAriaLabel, value, props.length) }</span>\n {\n !showStar ? undefined\n : slots.item ? slots.item({\n ...itemState.value[index],\n props: btnProps,\n value,\n index,\n rating: normalizedValue.value,\n })\n : (\n <VBtn { ...btnProps } />\n )\n }\n </label>\n\n <input\n class=\"v-rating__hidden\"\n name={ name.value }\n id={ id }\n type=\"radio\"\n value={ value }\n checked={ normalizedValue.value === value }\n tabindex={ -1 }\n readonly={ props.readonly }\n disabled={ props.disabled }\n />\n </>\n )\n }\n\n function createLabel (labelProps: { value: number, index: number, label?: string }) {\n if (slots['item-label']) return slots['item-label'](labelProps)\n\n if (labelProps.label) return <span>{ labelProps.label }</span>\n\n return <span>&nbsp;</span>\n }\n\n useRender(() => {\n const hasLabels = !!props.itemLabels?.length || slots['item-label']\n\n return (\n <props.tag\n class={[\n 'v-rating',\n {\n 'v-rating--hover': props.hover,\n 'v-rating--readonly': props.readonly,\n },\n themeClasses.value,\n ]}\n >\n <VRatingItem value={ 0 } index={ -1 } showStar={ false } />\n\n { range.value.map((value, i) => (\n <div class=\"v-rating__wrapper\">\n {\n hasLabels && props.itemLabelPosition === 'top'\n ? createLabel({ value, index: i, label: props.itemLabels?.[i] })\n : undefined\n }\n <div class=\"v-rating__item\">\n { props.halfIncrements ? (\n <>\n <VRatingItem value={ value - 0.5 } index={ i * 2 } />\n <VRatingItem value={ value } index={ (i * 2) + 1 } />\n </>\n ) : (\n <VRatingItem value={ value } index={ i } />\n )}\n </div>\n {\n hasLabels && props.itemLabelPosition === 'bottom'\n ? createLabel({ value, index: i, label: props.itemLabels?.[i] })\n : undefined\n }\n </div>\n ))}\n </props.tag>\n )\n })\n\n return {}\n },\n})\n\nexport type VRating = InstanceType<typeof VRating>\n"],"mappings":"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"}
1
+ {"version":3,"file":"VRating.mjs","names":["VBtn","IconValue","makeComponentProps","makeDensityProps","makeSizeProps","makeTagProps","makeThemeProps","provideTheme","useLocale","useProxiedModel","computed","ref","clamp","createRange","genericComponent","getUid","useRender","VRating","name","props","String","itemAriaLabel","type","default","activeColor","color","clearable","Boolean","disabled","emptyIcon","fullIcon","halfIncrements","hover","length","Number","readonly","modelValue","itemLabels","Array","itemLabelPosition","validator","v","includes","ripple","emits","value","setup","_ref","slots","t","themeClasses","rating","normalizedValue","parseFloat","range","increments","flatMap","hoverIndex","itemState","map","isHovering","isFilled","isHovered","isFullIcon","icon","eventState","onMouseenter","onMouseleave","onClick","undefined","VRatingItem","_ref2","index","showStar","id","replace","btnProps","density","size","variant","_createVNode","_Fragment","item","createLabel","labelProps","label","_createTextVNode","hasLabels","tag","class","style","i"],"sources":["../../../src/components/VRating/VRating.tsx"],"sourcesContent":["// Styles\nimport './VRating.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\n\n// Composables\nimport { IconValue } from '@/composables/icons'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDensityProps } from '@/composables/density'\nimport { makeSizeProps } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, ref } from 'vue'\nimport { clamp, createRange, genericComponent, getUid, useRender } from '@/util'\n\n// Types\nimport type { Prop } from 'vue'\nimport type { Variant } from '@/composables/variant'\n\ntype VRatingItemSlot = {\n value: number\n index: number\n isFilled: boolean\n isHovered: boolean\n icon: IconValue\n color?: string\n props: Record<string, unknown>\n rating: number\n}\n\ntype VRatingItemLabelSlot = {\n value: number\n index: number\n label?: string\n}\n\ntype VRatingSlots = {\n item: [VRatingItemSlot]\n 'item-label': [VRatingItemLabelSlot]\n}\n\nexport const VRating = genericComponent<VRatingSlots>()({\n name: 'VRating',\n\n props: {\n name: String,\n itemAriaLabel: {\n type: String,\n default: '$vuetify.rating.ariaLabel.item',\n },\n activeColor: String,\n color: String,\n clearable: Boolean,\n disabled: Boolean,\n emptyIcon: {\n type: IconValue,\n default: '$ratingEmpty',\n },\n fullIcon: {\n type: IconValue,\n default: '$ratingFull',\n },\n halfIncrements: Boolean,\n hover: Boolean,\n length: {\n type: [Number, String],\n default: 5,\n },\n readonly: Boolean,\n modelValue: {\n type: [Number, String],\n default: 0,\n },\n itemLabels: Array as Prop<string[]>,\n itemLabelPosition: {\n type: String,\n default: 'top',\n validator: (v: any) => ['top', 'bottom'].includes(v),\n },\n ripple: Boolean,\n\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeSizeProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n },\n\n emits: {\n 'update:modelValue': (value: number | string) => true,\n },\n\n setup (props, { slots }) {\n const { t } = useLocale()\n const { themeClasses } = provideTheme(props)\n const rating = useProxiedModel(props, 'modelValue')\n const normalizedValue = computed(() => clamp(parseFloat(rating.value), 0, +props.length))\n\n const range = computed(() => createRange(Number(props.length), 1))\n const increments = computed(() => range.value.flatMap(v => props.halfIncrements ? [v - 0.5, v] : [v]))\n const hoverIndex = ref(-1)\n\n const itemState = computed(() => increments.value.map(value => {\n const isHovering = props.hover && hoverIndex.value > -1\n const isFilled = normalizedValue.value >= value\n const isHovered = hoverIndex.value >= value\n const isFullIcon = isHovering ? isHovered : isFilled\n const icon = isFullIcon ? props.fullIcon : props.emptyIcon\n const activeColor = props.activeColor ?? props.color\n const color = (isFilled || isHovered) ? activeColor : props.color\n\n return { isFilled, isHovered, icon, color }\n }))\n\n const eventState = computed(() => [0, ...increments.value].map(value => {\n function onMouseenter () {\n hoverIndex.value = value\n }\n\n function onMouseleave () {\n hoverIndex.value = -1\n }\n\n function onClick () {\n if (props.disabled || props.readonly) return\n rating.value = normalizedValue.value === value && props.clearable ? 0 : value\n }\n\n return {\n onMouseenter: props.hover ? onMouseenter : undefined,\n onMouseleave: props.hover ? onMouseleave : undefined,\n onClick,\n }\n }))\n\n const name = computed(() => props.name ?? `v-rating-${getUid()}`)\n\n function VRatingItem ({ value, index, showStar = true }: { value: number, index: number, showStar?: boolean }) {\n const { onMouseenter, onMouseleave, onClick } = eventState.value[index + 1]\n const id = `${name.value}-${String(value).replace('.', '-')}`\n const btnProps = {\n color: itemState.value[index]?.color,\n density: props.density,\n disabled: props.disabled,\n icon: itemState.value[index]?.icon,\n ripple: props.ripple,\n size: props.size,\n variant: 'plain' as Variant,\n }\n\n return (\n <>\n <label\n for={ id }\n class={{\n 'v-rating__item--half': props.halfIncrements && value % 1 > 0,\n 'v-rating__item--full': props.halfIncrements && value % 1 === 0,\n }}\n onMouseenter={ onMouseenter }\n onMouseleave={ onMouseleave }\n onClick={ onClick }\n >\n <span class=\"v-rating__hidden\">{ t(props.itemAriaLabel, value, props.length) }</span>\n {\n !showStar ? undefined\n : slots.item ? slots.item({\n ...itemState.value[index],\n props: btnProps,\n value,\n index,\n rating: normalizedValue.value,\n })\n : (\n <VBtn { ...btnProps } />\n )\n }\n </label>\n\n <input\n class=\"v-rating__hidden\"\n name={ name.value }\n id={ id }\n type=\"radio\"\n value={ value }\n checked={ normalizedValue.value === value }\n tabindex={ -1 }\n readonly={ props.readonly }\n disabled={ props.disabled }\n />\n </>\n )\n }\n\n function createLabel (labelProps: { value: number, index: number, label?: string }) {\n if (slots['item-label']) return slots['item-label'](labelProps)\n\n if (labelProps.label) return <span>{ labelProps.label }</span>\n\n return <span>&nbsp;</span>\n }\n\n useRender(() => {\n const hasLabels = !!props.itemLabels?.length || slots['item-label']\n\n return (\n <props.tag\n class={[\n 'v-rating',\n {\n 'v-rating--hover': props.hover,\n 'v-rating--readonly': props.readonly,\n },\n themeClasses.value,\n props.class,\n ]}\n style={ props.style }\n >\n <VRatingItem value={ 0 } index={ -1 } showStar={ false } />\n\n { range.value.map((value, i) => (\n <div class=\"v-rating__wrapper\">\n {\n hasLabels && props.itemLabelPosition === 'top'\n ? createLabel({ value, index: i, label: props.itemLabels?.[i] })\n : undefined\n }\n <div class=\"v-rating__item\">\n { props.halfIncrements ? (\n <>\n <VRatingItem value={ value - 0.5 } index={ i * 2 } />\n <VRatingItem value={ value } index={ (i * 2) + 1 } />\n </>\n ) : (\n <VRatingItem value={ value } index={ i } />\n )}\n </div>\n {\n hasLabels && props.itemLabelPosition === 'bottom'\n ? createLabel({ value, index: i, label: props.itemLabels?.[i] })\n : undefined\n }\n </div>\n ))}\n </props.tag>\n )\n })\n\n return {}\n },\n})\n\nexport type VRating = InstanceType<typeof VRating>\n"],"mappings":"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"}
@@ -7,7 +7,7 @@ interface FilterPropsOptions<PropsOptions extends Readonly<ComponentPropsOptions
7
7
 
8
8
  type Density = null | 'default' | 'comfortable' | 'compact';
9
9
 
10
- type IconValue = string | JSXComponent;
10
+ type IconValue = string | (string | [path: string, opacity: number])[] | JSXComponent;
11
11
  declare const IconValue: PropType<IconValue>;
12
12
 
13
13
  type VRatingItemSlot = {
@@ -31,6 +31,7 @@ declare const VRating: {
31
31
  $data: {};
32
32
  $props: Partial<{
33
33
  length: string | number;
34
+ style: vue.StyleValue;
34
35
  disabled: boolean;
35
36
  size: string | number;
36
37
  readonly: boolean;
@@ -47,6 +48,7 @@ declare const VRating: {
47
48
  itemLabelPosition: string;
48
49
  }> & Omit<{
49
50
  length: string | number;
51
+ style: vue.StyleValue;
50
52
  disabled: boolean;
51
53
  size: string | number;
52
54
  readonly: boolean;
@@ -64,6 +66,7 @@ declare const VRating: {
64
66
  } & {
65
67
  name?: string | undefined;
66
68
  color?: string | undefined;
69
+ class?: any;
67
70
  theme?: string | undefined;
68
71
  activeColor?: string | undefined;
69
72
  itemLabels?: string[] | undefined;
@@ -72,10 +75,6 @@ declare const VRating: {
72
75
  item?: ((args_0: VRatingItemSlot) => vue.VNodeChild) | undefined;
73
76
  'item-label'?: ((args_0: VRatingItemLabelSlot) => vue.VNodeChild) | undefined;
74
77
  };
75
- $slots?: {
76
- item?: ((args_0: VRatingItemSlot) => vue.VNodeChild) | undefined;
77
- 'item-label'?: ((args_0: VRatingItemLabelSlot) => vue.VNodeChild) | undefined;
78
- } | undefined;
79
78
  'v-slots'?: {
80
79
  item?: false | ((args_0: VRatingItemSlot) => vue.VNodeChild) | undefined;
81
80
  'item-label'?: false | ((args_0: VRatingItemLabelSlot) => vue.VNodeChild) | undefined;
@@ -85,7 +84,7 @@ declare const VRating: {
85
84
  "v-slot:item-label"?: false | ((args_0: VRatingItemLabelSlot) => vue.VNodeChild) | undefined;
86
85
  } & {
87
86
  "onUpdate:modelValue"?: ((value: string | number) => any) | undefined;
88
- } & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, "length" | "disabled" | "size" | "readonly" | "tag" | "density" | "modelValue" | "ripple" | "clearable" | "hover" | "halfIncrements" | "itemAriaLabel" | "emptyIcon" | "fullIcon" | "itemLabelPosition">;
87
+ } & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, "length" | "style" | "disabled" | "size" | "readonly" | "tag" | "density" | "modelValue" | "ripple" | "clearable" | "hover" | "halfIncrements" | "itemAriaLabel" | "emptyIcon" | "fullIcon" | "itemLabelPosition">;
89
88
  $attrs: {
90
89
  [x: string]: unknown;
91
90
  };
@@ -101,6 +100,7 @@ declare const VRating: {
101
100
  $el: any;
102
101
  $options: vue.ComponentOptionsBase<{
103
102
  length: string | number;
103
+ style: vue.StyleValue;
104
104
  disabled: boolean;
105
105
  size: string | number;
106
106
  readonly: boolean;
@@ -118,6 +118,7 @@ declare const VRating: {
118
118
  } & {
119
119
  name?: string | undefined;
120
120
  color?: string | undefined;
121
+ class?: any;
121
122
  theme?: string | undefined;
122
123
  activeColor?: string | undefined;
123
124
  itemLabels?: string[] | undefined;
@@ -126,10 +127,6 @@ declare const VRating: {
126
127
  item?: ((args_0: VRatingItemSlot) => vue.VNodeChild) | undefined;
127
128
  'item-label'?: ((args_0: VRatingItemLabelSlot) => vue.VNodeChild) | undefined;
128
129
  };
129
- $slots?: {
130
- item?: ((args_0: VRatingItemSlot) => vue.VNodeChild) | undefined;
131
- 'item-label'?: ((args_0: VRatingItemLabelSlot) => vue.VNodeChild) | undefined;
132
- } | undefined;
133
130
  'v-slots'?: {
134
131
  item?: false | ((args_0: VRatingItemSlot) => vue.VNodeChild) | undefined;
135
132
  'item-label'?: false | ((args_0: VRatingItemLabelSlot) => vue.VNodeChild) | undefined;
@@ -143,6 +140,7 @@ declare const VRating: {
143
140
  'update:modelValue': (value: number | string) => boolean;
144
141
  }, string, {
145
142
  length: string | number;
143
+ style: vue.StyleValue;
146
144
  disabled: boolean;
147
145
  size: string | number;
148
146
  readonly: boolean;
@@ -179,6 +177,7 @@ declare const VRating: {
179
177
  $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (args_0: R, args_1: R) => any : (...args: any) => any, options?: vue.WatchOptions<boolean> | undefined): vue.WatchStopHandle;
180
178
  } & {
181
179
  length: string | number;
180
+ style: vue.StyleValue;
182
181
  disabled: boolean;
183
182
  size: string | number;
184
183
  readonly: boolean;
@@ -196,6 +195,7 @@ declare const VRating: {
196
195
  } & {
197
196
  name?: string | undefined;
198
197
  color?: string | undefined;
198
+ class?: any;
199
199
  theme?: string | undefined;
200
200
  activeColor?: string | undefined;
201
201
  itemLabels?: string[] | undefined;
@@ -204,10 +204,6 @@ declare const VRating: {
204
204
  item?: ((args_0: VRatingItemSlot) => vue.VNodeChild) | undefined;
205
205
  'item-label'?: ((args_0: VRatingItemLabelSlot) => vue.VNodeChild) | undefined;
206
206
  };
207
- $slots?: {
208
- item?: ((args_0: VRatingItemSlot) => vue.VNodeChild) | undefined;
209
- 'item-label'?: ((args_0: VRatingItemLabelSlot) => vue.VNodeChild) | undefined;
210
- } | undefined;
211
207
  'v-slots'?: {
212
208
  item?: false | ((args_0: VRatingItemSlot) => vue.VNodeChild) | undefined;
213
209
  'item-label'?: false | ((args_0: VRatingItemLabelSlot) => vue.VNodeChild) | undefined;
@@ -223,6 +219,7 @@ declare const VRating: {
223
219
  __isSuspense?: undefined;
224
220
  } & vue.ComponentOptionsBase<{
225
221
  length: string | number;
222
+ style: vue.StyleValue;
226
223
  disabled: boolean;
227
224
  size: string | number;
228
225
  readonly: boolean;
@@ -240,6 +237,7 @@ declare const VRating: {
240
237
  } & {
241
238
  name?: string | undefined;
242
239
  color?: string | undefined;
240
+ class?: any;
243
241
  theme?: string | undefined;
244
242
  activeColor?: string | undefined;
245
243
  itemLabels?: string[] | undefined;
@@ -248,10 +246,6 @@ declare const VRating: {
248
246
  item?: ((args_0: VRatingItemSlot) => vue.VNodeChild) | undefined;
249
247
  'item-label'?: ((args_0: VRatingItemLabelSlot) => vue.VNodeChild) | undefined;
250
248
  };
251
- $slots?: {
252
- item?: ((args_0: VRatingItemSlot) => vue.VNodeChild) | undefined;
253
- 'item-label'?: ((args_0: VRatingItemLabelSlot) => vue.VNodeChild) | undefined;
254
- } | undefined;
255
249
  'v-slots'?: {
256
250
  item?: false | ((args_0: VRatingItemSlot) => vue.VNodeChild) | undefined;
257
251
  'item-label'?: false | ((args_0: VRatingItemLabelSlot) => vue.VNodeChild) | undefined;
@@ -265,6 +259,7 @@ declare const VRating: {
265
259
  'update:modelValue': (value: number | string) => boolean;
266
260
  }, string, {
267
261
  length: string | number;
262
+ style: vue.StyleValue;
268
263
  disabled: boolean;
269
264
  size: string | number;
270
265
  readonly: boolean;
@@ -294,6 +289,11 @@ declare const VRating: {
294
289
  default: string;
295
290
  validator: (v: any) => boolean;
296
291
  };
292
+ class: vue.PropType<any>;
293
+ style: {
294
+ type: vue.PropType<vue.StyleValue>;
295
+ default: null;
296
+ };
297
297
  name: StringConstructor;
298
298
  itemAriaLabel: {
299
299
  type: StringConstructor;
@@ -344,6 +344,11 @@ declare const VRating: {
344
344
  default: string;
345
345
  validator: (v: any) => boolean;
346
346
  };
347
+ class: vue.PropType<any>;
348
+ style: {
349
+ type: vue.PropType<vue.StyleValue>;
350
+ default: null;
351
+ };
347
352
  name: StringConstructor;
348
353
  itemAriaLabel: {
349
354
  type: StringConstructor;
@@ -1,23 +1,31 @@
1
1
  .v-responsive {
2
- display: flex;
2
+ display: grid;
3
+ grid-template-rows: minmax(100%, 1fr);
4
+ grid-template-columns: 1fr;
3
5
  flex: 1 0 auto;
4
6
  max-height: 100%;
5
7
  max-width: 100%;
6
8
  overflow: hidden;
7
9
  position: relative;
8
10
  }
11
+ .v-responsive--inline {
12
+ display: inline-grid;
13
+ flex: 0 0 auto;
14
+ }
9
15
 
10
16
  .v-responsive__content {
11
17
  flex: 1 0 0px;
12
18
  max-width: 100%;
13
19
  }
14
20
 
15
- .v-responsive__sizer ~ .v-responsive__content {
16
- margin-inline-start: -100%;
17
- }
18
-
19
21
  .v-responsive__sizer {
20
22
  flex: 1 0 0px;
21
23
  transition: padding-bottom 0.2s cubic-bezier(0.4, 0, 0.2, 1);
22
24
  pointer-events: none;
25
+ }
26
+
27
+ .v-responsive__sizer,
28
+ .v-responsive__content {
29
+ grid-row-start: 1;
30
+ grid-column-start: 1;
23
31
  }
@@ -3,9 +3,10 @@ import { createVNode as _createVNode } from "vue";
3
3
  import "./VResponsive.css";
4
4
 
5
5
  // Composables
6
+ import { makeComponentProps } from "../../composables/component.mjs";
6
7
  import { makeDimensionProps, useDimension } from "../../composables/dimensions.mjs"; // Utilities
7
8
  import { computed } from 'vue';
8
- import { genericComponent, useRender } from "../../util/index.mjs";
9
+ import { genericComponent, propsFactory, useRender } from "../../util/index.mjs";
9
10
  export function useAspectStyles(props) {
10
11
  return {
11
12
  aspectStyles: computed(() => {
@@ -16,13 +17,16 @@ export function useAspectStyles(props) {
16
17
  })
17
18
  };
18
19
  }
20
+ export const makeVResponsiveProps = propsFactory({
21
+ aspectRatio: [String, Number],
22
+ contentClass: String,
23
+ inline: Boolean,
24
+ ...makeComponentProps(),
25
+ ...makeDimensionProps()
26
+ }, 'v-responsive');
19
27
  export const VResponsive = genericComponent()({
20
28
  name: 'VResponsive',
21
- props: {
22
- aspectRatio: [String, Number],
23
- contentClass: String,
24
- ...makeDimensionProps()
25
- },
29
+ props: makeVResponsiveProps(),
26
30
  setup(props, _ref) {
27
31
  let {
28
32
  slots
@@ -34,8 +38,10 @@ export const VResponsive = genericComponent()({
34
38
  dimensionStyles
35
39
  } = useDimension(props);
36
40
  useRender(() => _createVNode("div", {
37
- "class": "v-responsive",
38
- "style": dimensionStyles.value
41
+ "class": ['v-responsive', {
42
+ 'v-responsive--inline': props.inline
43
+ }, props.class],
44
+ "style": [dimensionStyles.value, props.style]
39
45
  }, [_createVNode("div", {
40
46
  "class": "v-responsive__sizer",
41
47
  "style": aspectStyles.value
@@ -1 +1 @@
1
- {"version":3,"file":"VResponsive.mjs","names":["makeDimensionProps","useDimension","computed","genericComponent","useRender","useAspectStyles","props","aspectStyles","ratio","Number","aspectRatio","paddingBottom","String","undefined","VResponsive","name","contentClass","setup","_ref","slots","dimensionStyles","_createVNode","value","additional","default"],"sources":["../../../src/components/VResponsive/VResponsive.tsx"],"sourcesContent":["// Styles\nimport './VResponsive.sass'\n\n// Composables\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\n\n// Utilities\nimport { computed } from 'vue'\nimport { genericComponent, useRender } from '@/util'\n\nexport type VResponsiveSlots = {\n default: []\n additional: []\n}\n\nexport function useAspectStyles (props: { aspectRatio?: string | number }) {\n return {\n aspectStyles: computed(() => {\n const ratio = Number(props.aspectRatio)\n\n return ratio\n ? { paddingBottom: String(1 / ratio * 100) + '%' }\n : undefined\n }),\n }\n}\n\nexport const VResponsive = genericComponent<VResponsiveSlots>()({\n name: 'VResponsive',\n\n props: {\n aspectRatio: [String, Number],\n contentClass: String,\n\n ...makeDimensionProps(),\n },\n\n setup (props, { slots }) {\n const { aspectStyles } = useAspectStyles(props)\n const { dimensionStyles } = useDimension(props)\n\n useRender(() => (\n <div class=\"v-responsive\" style={ dimensionStyles.value }>\n <div class=\"v-responsive__sizer\" style={ aspectStyles.value } />\n\n { slots.additional?.() }\n\n { slots.default && (\n <div class={['v-responsive__content', props.contentClass]}>{ slots.default() }</div>\n )}\n </div>\n ))\n\n return {}\n },\n})\n\nexport type VResponsive = InstanceType<typeof VResponsive>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,kBAAkB,EAAEC,YAAY,4CAEzC;AACA,SAASC,QAAQ,QAAQ,KAAK;AAAA,SACrBC,gBAAgB,EAAEC,SAAS;AAOpC,OAAO,SAASC,eAAeA,CAAEC,KAAwC,EAAE;EACzE,OAAO;IACLC,YAAY,EAAEL,QAAQ,CAAC,MAAM;MAC3B,MAAMM,KAAK,GAAGC,MAAM,CAACH,KAAK,CAACI,WAAW,CAAC;MAEvC,OAAOF,KAAK,GACR;QAAEG,aAAa,EAAEC,MAAM,CAAC,CAAC,GAAGJ,KAAK,GAAG,GAAG,CAAC,GAAG;MAAI,CAAC,GAChDK,SAAS;IACf,CAAC;EACH,CAAC;AACH;AAEA,OAAO,MAAMC,WAAW,GAAGX,gBAAgB,EAAoB,CAAC;EAC9DY,IAAI,EAAE,aAAa;EAEnBT,KAAK,EAAE;IACLI,WAAW,EAAE,CAACE,MAAM,EAAEH,MAAM,CAAC;IAC7BO,YAAY,EAAEJ,MAAM;IAEpB,GAAGZ,kBAAkB;EACvB,CAAC;EAEDiB,KAAKA,CAAEX,KAAK,EAAAY,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrB,MAAM;MAAEX;IAAa,CAAC,GAAGF,eAAe,CAACC,KAAK,CAAC;IAC/C,MAAM;MAAEc;IAAgB,CAAC,GAAGnB,YAAY,CAACK,KAAK,CAAC;IAE/CF,SAAS,CAAC,MAAAiB,YAAA;MAAA,SACG,cAAc;MAAA,SAASD,eAAe,CAACE;IAAK,IAAAD,YAAA;MAAA,SAC1C,qBAAqB;MAAA,SAASd,YAAY,CAACe;IAAK,UAEzDH,KAAK,CAACI,UAAU,IAAI,EAEpBJ,KAAK,CAACK,OAAO,IAAAH,YAAA;MAAA,SACD,CAAC,uBAAuB,EAAEf,KAAK,CAACU,YAAY;IAAC,IAAIG,KAAK,CAACK,OAAO,EAAE,EAC7E,EAEJ,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC"}
1
+ {"version":3,"file":"VResponsive.mjs","names":["makeComponentProps","makeDimensionProps","useDimension","computed","genericComponent","propsFactory","useRender","useAspectStyles","props","aspectStyles","ratio","Number","aspectRatio","paddingBottom","String","undefined","makeVResponsiveProps","contentClass","inline","Boolean","VResponsive","name","setup","_ref","slots","dimensionStyles","_createVNode","class","value","style","additional","default"],"sources":["../../../src/components/VResponsive/VResponsive.tsx"],"sourcesContent":["// Styles\nimport './VResponsive.sass'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\n\n// Utilities\nimport { computed } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\nexport type VResponsiveSlots = {\n default: []\n additional: []\n}\n\nexport function useAspectStyles (props: { aspectRatio?: string | number }) {\n return {\n aspectStyles: computed(() => {\n const ratio = Number(props.aspectRatio)\n\n return ratio\n ? { paddingBottom: String(1 / ratio * 100) + '%' }\n : undefined\n }),\n }\n}\n\nexport const makeVResponsiveProps = propsFactory({\n aspectRatio: [String, Number],\n contentClass: String,\n inline: Boolean,\n\n ...makeComponentProps(),\n ...makeDimensionProps(),\n}, 'v-responsive')\n\nexport const VResponsive = genericComponent<VResponsiveSlots>()({\n name: 'VResponsive',\n\n props: makeVResponsiveProps(),\n\n setup (props, { slots }) {\n const { aspectStyles } = useAspectStyles(props)\n const { dimensionStyles } = useDimension(props)\n\n useRender(() => (\n <div\n class={[\n 'v-responsive',\n { 'v-responsive--inline': props.inline },\n props.class,\n ]}\n style={[\n dimensionStyles.value,\n props.style,\n ]}\n >\n <div class=\"v-responsive__sizer\" style={ aspectStyles.value } />\n\n { slots.additional?.() }\n\n { slots.default && (\n <div class={['v-responsive__content', props.contentClass]}>{ slots.default() }</div>\n )}\n </div>\n ))\n\n return {}\n },\n})\n\nexport type VResponsive = InstanceType<typeof VResponsive>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,kBAAkB;AAAA,SAClBC,kBAAkB,EAAEC,YAAY,4CAEzC;AACA,SAASC,QAAQ,QAAQ,KAAK;AAAA,SACrBC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS;AAOlD,OAAO,SAASC,eAAeA,CAAEC,KAAwC,EAAE;EACzE,OAAO;IACLC,YAAY,EAAEN,QAAQ,CAAC,MAAM;MAC3B,MAAMO,KAAK,GAAGC,MAAM,CAACH,KAAK,CAACI,WAAW,CAAC;MAEvC,OAAOF,KAAK,GACR;QAAEG,aAAa,EAAEC,MAAM,CAAC,CAAC,GAAGJ,KAAK,GAAG,GAAG,CAAC,GAAG;MAAI,CAAC,GAChDK,SAAS;IACf,CAAC;EACH,CAAC;AACH;AAEA,OAAO,MAAMC,oBAAoB,GAAGX,YAAY,CAAC;EAC/CO,WAAW,EAAE,CAACE,MAAM,EAAEH,MAAM,CAAC;EAC7BM,YAAY,EAAEH,MAAM;EACpBI,MAAM,EAAEC,OAAO;EAEf,GAAGnB,kBAAkB,EAAE;EACvB,GAAGC,kBAAkB;AACvB,CAAC,EAAE,cAAc,CAAC;AAElB,OAAO,MAAMmB,WAAW,GAAGhB,gBAAgB,EAAoB,CAAC;EAC9DiB,IAAI,EAAE,aAAa;EAEnBb,KAAK,EAAEQ,oBAAoB,EAAE;EAE7BM,KAAKA,CAAEd,KAAK,EAAAe,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrB,MAAM;MAAEd;IAAa,CAAC,GAAGF,eAAe,CAACC,KAAK,CAAC;IAC/C,MAAM;MAAEiB;IAAgB,CAAC,GAAGvB,YAAY,CAACM,KAAK,CAAC;IAE/CF,SAAS,CAAC,MAAAoB,YAAA;MAAA,SAEC,CACL,cAAc,EACd;QAAE,sBAAsB,EAAElB,KAAK,CAACU;MAAO,CAAC,EACxCV,KAAK,CAACmB,KAAK,CACZ;MAAA,SACM,CACLF,eAAe,CAACG,KAAK,EACrBpB,KAAK,CAACqB,KAAK;IACZ,IAAAH,YAAA;MAAA,SAEU,qBAAqB;MAAA,SAASjB,YAAY,CAACmB;IAAK,UAEzDJ,KAAK,CAACM,UAAU,IAAI,EAEpBN,KAAK,CAACO,OAAO,IAAAL,YAAA;MAAA,SACD,CAAC,uBAAuB,EAAElB,KAAK,CAACS,YAAY;IAAC,IAAIO,KAAK,CAACO,OAAO,EAAE,EAC7E,EAEJ,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC"}