@vuetify/nightly 4.0.0-dev-20230422.0 → 4.0.0-dev-20230427.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 (468) hide show
  1. package/CHANGELOG.md +11 -2
  2. package/dist/_component-variables-labs.sass +1 -0
  3. package/dist/json/attributes.json +274 -198
  4. package/dist/json/importMap-labs.json +4 -0
  5. package/dist/json/importMap.json +60 -60
  6. package/dist/json/tags.json +25 -1
  7. package/dist/json/web-types.json +624 -344
  8. package/dist/vuetify-labs.css +110 -86
  9. package/dist/vuetify-labs.d.ts +5976 -8072
  10. package/dist/vuetify-labs.esm.js +1499 -1093
  11. package/dist/vuetify-labs.esm.js.map +1 -1
  12. package/dist/vuetify-labs.js +1498 -1092
  13. package/dist/vuetify-labs.min.css +2 -2
  14. package/dist/vuetify.css +21 -22
  15. package/dist/vuetify.d.ts +5999 -7524
  16. package/dist/vuetify.esm.js +1255 -1066
  17. package/dist/vuetify.esm.js.map +1 -1
  18. package/dist/vuetify.js +1254 -1065
  19. package/dist/vuetify.js.map +1 -1
  20. package/dist/vuetify.min.css +2 -2
  21. package/dist/vuetify.min.js +744 -739
  22. package/dist/vuetify.min.js.map +1 -1
  23. package/lib/blueprints/index.d.ts +1 -1
  24. package/lib/blueprints/md1.d.ts +1 -1
  25. package/lib/blueprints/md2.d.ts +1 -1
  26. package/lib/blueprints/md3.d.ts +1 -1
  27. package/lib/components/VAlert/VAlert.mjs +6 -4
  28. package/lib/components/VAlert/VAlert.mjs.map +1 -1
  29. package/lib/components/VAlert/index.d.ts +57 -55
  30. package/lib/components/VApp/VApp.mjs +4 -2
  31. package/lib/components/VApp/VApp.mjs.map +1 -1
  32. package/lib/components/VApp/index.d.ts +22 -13
  33. package/lib/components/VAppBar/VAppBar.mjs +3 -3
  34. package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
  35. package/lib/components/VAppBar/VAppBarNavIcon.mjs +7 -4
  36. package/lib/components/VAppBar/VAppBarNavIcon.mjs.map +1 -1
  37. package/lib/components/VAppBar/index.d.ts +87 -92
  38. package/lib/components/VAutocomplete/VAutocomplete.mjs +2 -1
  39. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  40. package/lib/components/VAutocomplete/index.d.ts +225 -403
  41. package/lib/components/VAvatar/VAvatar.mjs +4 -2
  42. package/lib/components/VAvatar/VAvatar.mjs.map +1 -1
  43. package/lib/components/VAvatar/index.d.ts +23 -14
  44. package/lib/components/VBadge/VBadge.mjs +6 -5
  45. package/lib/components/VBadge/VBadge.mjs.map +1 -1
  46. package/lib/components/VBadge/index.d.ts +27 -22
  47. package/lib/components/VBanner/VBanner.mjs +6 -4
  48. package/lib/components/VBanner/VBanner.mjs.map +1 -1
  49. package/lib/components/VBanner/VBannerActions.mjs +5 -2
  50. package/lib/components/VBanner/VBannerActions.mjs.map +1 -1
  51. package/lib/components/VBanner/index.d.ts +92 -66
  52. package/lib/components/VBottomNavigation/VBottomNavigation.mjs +4 -2
  53. package/lib/components/VBottomNavigation/VBottomNavigation.mjs.map +1 -1
  54. package/lib/components/VBottomNavigation/index.d.ts +22 -13
  55. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs +35 -18
  56. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs.map +1 -1
  57. package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.mjs +6 -3
  58. package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.mjs.map +1 -1
  59. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs +4 -2
  60. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs.map +1 -1
  61. package/lib/components/VBreadcrumbs/index.d.ts +134 -93
  62. package/lib/components/VBtn/VBtn.mjs +5 -3
  63. package/lib/components/VBtn/VBtn.mjs.map +1 -1
  64. package/lib/components/VBtn/index.d.ts +33 -36
  65. package/lib/components/VBtnGroup/VBtnGroup.mjs +4 -1
  66. package/lib/components/VBtnGroup/VBtnGroup.mjs.map +1 -1
  67. package/lib/components/VBtnGroup/index.d.ts +22 -13
  68. package/lib/components/VBtnToggle/VBtnToggle.mjs +4 -2
  69. package/lib/components/VBtnToggle/VBtnToggle.mjs.map +1 -1
  70. package/lib/components/VBtnToggle/index.d.ts +30 -21
  71. package/lib/components/VCard/VCard.mjs +5 -3
  72. package/lib/components/VCard/VCard.mjs.map +1 -1
  73. package/lib/components/VCard/VCardActions.mjs +7 -4
  74. package/lib/components/VCard/VCardActions.mjs.map +1 -1
  75. package/lib/components/VCard/VCardItem.mjs +5 -2
  76. package/lib/components/VCard/VCardItem.mjs.map +1 -1
  77. package/lib/components/VCard/index.d.ts +250 -141
  78. package/lib/components/VCarousel/VCarousel.mjs +3 -3
  79. package/lib/components/VCarousel/VCarousel.mjs.map +1 -1
  80. package/lib/components/VCarousel/VCarouselItem.mjs +6 -3
  81. package/lib/components/VCarousel/VCarouselItem.mjs.map +1 -1
  82. package/lib/components/VCarousel/index.d.ts +78 -141
  83. package/lib/components/VCheckbox/VCheckbox.mjs +3 -2
  84. package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
  85. package/lib/components/VCheckbox/VCheckboxBtn.mjs +2 -1
  86. package/lib/components/VCheckbox/VCheckboxBtn.mjs.map +1 -1
  87. package/lib/components/VCheckbox/index.d.ts +69 -103
  88. package/lib/components/VChip/VChip.mjs +7 -8
  89. package/lib/components/VChip/VChip.mjs.map +1 -1
  90. package/lib/components/VChip/index.d.ts +27 -30
  91. package/lib/components/VChipGroup/VChipGroup.mjs +4 -1
  92. package/lib/components/VChipGroup/VChipGroup.mjs.map +1 -1
  93. package/lib/components/VChipGroup/index.d.ts +22 -13
  94. package/lib/components/VCode/index.d.ts +30 -17
  95. package/lib/components/VColorPicker/VColorPicker.mjs +3 -3
  96. package/lib/components/VColorPicker/VColorPicker.mjs.map +1 -1
  97. package/lib/components/VColorPicker/VColorPickerCanvas.mjs +5 -2
  98. package/lib/components/VColorPicker/VColorPickerCanvas.mjs.map +1 -1
  99. package/lib/components/VColorPicker/VColorPickerEdit.mjs +6 -3
  100. package/lib/components/VColorPicker/VColorPickerEdit.mjs.map +1 -1
  101. package/lib/components/VColorPicker/VColorPickerPreview.mjs +6 -3
  102. package/lib/components/VColorPicker/VColorPickerPreview.mjs.map +1 -1
  103. package/lib/components/VColorPicker/VColorPickerSwatches.mjs +7 -5
  104. package/lib/components/VColorPicker/VColorPickerSwatches.mjs.map +1 -1
  105. package/lib/components/VColorPicker/index.d.ts +34 -1
  106. package/lib/components/VCombobox/VCombobox.mjs +2 -1
  107. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  108. package/lib/components/VCombobox/index.d.ts +225 -403
  109. package/lib/components/VCounter/VCounter.mjs +4 -1
  110. package/lib/components/VCounter/VCounter.mjs.map +1 -1
  111. package/lib/components/VCounter/index.d.ts +22 -145
  112. package/lib/components/VDefaultsProvider/index.d.ts +0 -12
  113. package/lib/components/VDialog/VDialog.mjs +4 -3
  114. package/lib/components/VDialog/VDialog.mjs.map +1 -1
  115. package/lib/components/VDialog/index.d.ts +104 -282
  116. package/lib/components/VDivider/VDivider.mjs +4 -2
  117. package/lib/components/VDivider/VDivider.mjs.map +1 -1
  118. package/lib/components/VDivider/index.d.ts +22 -13
  119. package/lib/components/VExpansionPanel/VExpansionPanel.mjs +4 -2
  120. package/lib/components/VExpansionPanel/VExpansionPanel.mjs.map +1 -1
  121. package/lib/components/VExpansionPanel/VExpansionPanelText.mjs +4 -1
  122. package/lib/components/VExpansionPanel/VExpansionPanelText.mjs.map +1 -1
  123. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs +4 -2
  124. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs.map +1 -1
  125. package/lib/components/VExpansionPanel/VExpansionPanels.mjs +4 -1
  126. package/lib/components/VExpansionPanel/VExpansionPanels.mjs.map +1 -1
  127. package/lib/components/VExpansionPanel/index.d.ts +109 -81
  128. package/lib/components/VField/VField.css +0 -1
  129. package/lib/components/VField/VField.mjs +9 -6
  130. package/lib/components/VField/VField.mjs.map +1 -1
  131. package/lib/components/VField/VField.sass +0 -1
  132. package/lib/components/VField/VFieldLabel.mjs +6 -3
  133. package/lib/components/VField/VFieldLabel.mjs.map +1 -1
  134. package/lib/components/VField/index.d.ts +119 -70
  135. package/lib/components/VFileInput/VFileInput.mjs +2 -1
  136. package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
  137. package/lib/components/VFileInput/index.d.ts +99 -150
  138. package/lib/components/VFooter/VFooter.mjs +4 -2
  139. package/lib/components/VFooter/VFooter.mjs.map +1 -1
  140. package/lib/components/VFooter/index.d.ts +22 -13
  141. package/lib/components/VForm/VForm.mjs +5 -2
  142. package/lib/components/VForm/VForm.mjs.map +1 -1
  143. package/lib/components/VForm/index.d.ts +30 -17
  144. package/lib/components/VGrid/VCol.mjs +4 -1
  145. package/lib/components/VGrid/VCol.mjs.map +1 -1
  146. package/lib/components/VGrid/VContainer.mjs +4 -1
  147. package/lib/components/VGrid/VContainer.mjs.map +1 -1
  148. package/lib/components/VGrid/VRow.mjs +4 -1
  149. package/lib/components/VGrid/VRow.mjs.map +1 -1
  150. package/lib/components/VGrid/index.d.ts +104 -60
  151. package/lib/components/VHover/index.d.ts +20 -44
  152. package/lib/components/VIcon/VIcon.mjs +4 -2
  153. package/lib/components/VIcon/VIcon.mjs.map +1 -1
  154. package/lib/components/VIcon/index.d.ts +23 -26
  155. package/lib/components/VImg/VImg.mjs +5 -3
  156. package/lib/components/VImg/VImg.mjs.map +1 -1
  157. package/lib/components/VImg/index.d.ts +26 -29
  158. package/lib/components/VInput/VInput.mjs +4 -1
  159. package/lib/components/VInput/VInput.mjs.map +1 -1
  160. package/lib/components/VInput/index.d.ts +31 -34
  161. package/lib/components/VItemGroup/VItemGroup.mjs +4 -1
  162. package/lib/components/VItemGroup/VItemGroup.mjs.map +1 -1
  163. package/lib/components/VItemGroup/index.d.ts +30 -33
  164. package/lib/components/VKbd/index.d.ts +30 -17
  165. package/lib/components/VLabel/VLabel.mjs +4 -1
  166. package/lib/components/VLabel/VLabel.mjs.map +1 -1
  167. package/lib/components/VLabel/index.d.ts +22 -13
  168. package/lib/components/VLayout/VLayout.mjs +8 -4
  169. package/lib/components/VLayout/VLayout.mjs.map +1 -1
  170. package/lib/components/VLayout/VLayoutItem.mjs +4 -2
  171. package/lib/components/VLayout/VLayoutItem.mjs.map +1 -1
  172. package/lib/components/VLayout/index.d.ts +44 -26
  173. package/lib/components/VLazy/VLazy.mjs +4 -2
  174. package/lib/components/VLazy/VLazy.mjs.map +1 -1
  175. package/lib/components/VLazy/index.d.ts +22 -13
  176. package/lib/components/VList/VList.mjs +7 -24
  177. package/lib/components/VList/VList.mjs.map +1 -1
  178. package/lib/components/VList/VListChildren.mjs.map +1 -1
  179. package/lib/components/VList/VListGroup.mjs +5 -2
  180. package/lib/components/VList/VListGroup.mjs.map +1 -1
  181. package/lib/components/VList/VListItem.mjs +4 -2
  182. package/lib/components/VList/VListItem.mjs.map +1 -1
  183. package/lib/components/VList/VListItemAction.mjs +4 -1
  184. package/lib/components/VList/VListItemAction.mjs.map +1 -1
  185. package/lib/components/VList/VListItemMedia.mjs +4 -1
  186. package/lib/components/VList/VListItemMedia.mjs.map +1 -1
  187. package/lib/components/VList/VListSubheader.mjs +5 -3
  188. package/lib/components/VList/VListSubheader.mjs.map +1 -1
  189. package/lib/components/VList/index.d.ts +932 -826
  190. package/lib/components/VLocaleProvider/VLocaleProvider.mjs +5 -2
  191. package/lib/components/VLocaleProvider/VLocaleProvider.mjs.map +1 -1
  192. package/lib/components/VLocaleProvider/index.d.ts +30 -17
  193. package/lib/components/VMain/VMain.mjs +4 -2
  194. package/lib/components/VMain/VMain.mjs.map +1 -1
  195. package/lib/components/VMain/index.d.ts +30 -17
  196. package/lib/components/VMenu/VMenu.mjs +2 -1
  197. package/lib/components/VMenu/VMenu.mjs.map +1 -1
  198. package/lib/components/VMenu/index.d.ts +104 -282
  199. package/lib/components/VMessages/VMessages.mjs +4 -2
  200. package/lib/components/VMessages/VMessages.mjs.map +1 -1
  201. package/lib/components/VMessages/index.d.ts +22 -145
  202. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +4 -2
  203. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
  204. package/lib/components/VNavigationDrawer/index.d.ts +26 -29
  205. package/lib/components/VNoSsr/VNoSsr.mjs.map +1 -1
  206. package/lib/components/VNoSsr/index.d.ts +3 -13
  207. package/lib/components/VOverlay/VOverlay.mjs +5 -3
  208. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  209. package/lib/components/VOverlay/index.d.ts +38 -45
  210. package/lib/components/VPagination/VPagination.mjs +4 -1
  211. package/lib/components/VPagination/VPagination.mjs.map +1 -1
  212. package/lib/components/VPagination/index.d.ts +23 -30
  213. package/lib/components/VParallax/VParallax.mjs +5 -2
  214. package/lib/components/VParallax/VParallax.mjs.map +1 -1
  215. package/lib/components/VParallax/index.d.ts +34 -33
  216. package/lib/components/VProgressCircular/VProgressCircular.mjs +4 -2
  217. package/lib/components/VProgressCircular/VProgressCircular.mjs.map +1 -1
  218. package/lib/components/VProgressCircular/index.d.ts +22 -13
  219. package/lib/components/VProgressLinear/VProgressLinear.mjs +6 -4
  220. package/lib/components/VProgressLinear/VProgressLinear.mjs.map +1 -1
  221. package/lib/components/VProgressLinear/index.d.ts +42 -45
  222. package/lib/components/VRadio/VRadio.mjs +2 -1
  223. package/lib/components/VRadio/VRadio.mjs.map +1 -1
  224. package/lib/components/VRadio/index.d.ts +27 -38
  225. package/lib/components/VRadioGroup/VRadioGroup.mjs +2 -1
  226. package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
  227. package/lib/components/VRadioGroup/index.d.ts +39 -62
  228. package/lib/components/VRangeSlider/VRangeSlider.mjs +2 -1
  229. package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
  230. package/lib/components/VRangeSlider/index.d.ts +27 -38
  231. package/lib/components/VRating/VRating.mjs +4 -1
  232. package/lib/components/VRating/VRating.mjs.map +1 -1
  233. package/lib/components/VRating/index.d.ts +23 -18
  234. package/lib/components/VResponsive/VResponsive.mjs +4 -2
  235. package/lib/components/VResponsive/VResponsive.mjs.map +1 -1
  236. package/lib/components/VResponsive/index.d.ts +43 -31
  237. package/lib/components/VSelect/VSelect.mjs +2 -1
  238. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  239. package/lib/components/VSelect/index.d.ts +194 -552
  240. package/lib/components/VSelectionControl/VSelectionControl.mjs +6 -2
  241. package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
  242. package/lib/components/VSelectionControl/index.d.ts +76 -46
  243. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs +4 -1
  244. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs.map +1 -1
  245. package/lib/components/VSelectionControlGroup/index.d.ts +23 -14
  246. package/lib/components/VSheet/VSheet.mjs +4 -2
  247. package/lib/components/VSheet/VSheet.mjs.map +1 -1
  248. package/lib/components/VSheet/index.d.ts +22 -13
  249. package/lib/components/VSlideGroup/VSlideGroup.mjs +6 -3
  250. package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
  251. package/lib/components/VSlideGroup/index.d.ts +59 -90
  252. package/lib/components/VSlider/VSlider.mjs +2 -1
  253. package/lib/components/VSlider/VSlider.mjs.map +1 -1
  254. package/lib/components/VSlider/VSliderThumb.mjs +6 -4
  255. package/lib/components/VSlider/VSliderThumb.mjs.map +1 -1
  256. package/lib/components/VSlider/VSliderTrack.mjs +6 -4
  257. package/lib/components/VSlider/VSliderTrack.mjs.map +1 -1
  258. package/lib/components/VSlider/index.d.ts +27 -38
  259. package/lib/components/VSnackbar/VSnackbar.mjs +2 -1
  260. package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
  261. package/lib/components/VSnackbar/index.d.ts +92 -142
  262. package/lib/components/VSwitch/VSwitch.mjs +2 -1
  263. package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
  264. package/lib/components/VSwitch/index.d.ts +39 -66
  265. package/lib/components/VSystemBar/VSystemBar.mjs +4 -2
  266. package/lib/components/VSystemBar/VSystemBar.mjs.map +1 -1
  267. package/lib/components/VSystemBar/index.d.ts +22 -13
  268. package/lib/components/VTable/VTable.mjs +4 -1
  269. package/lib/components/VTable/VTable.mjs.map +1 -1
  270. package/lib/components/VTable/index.d.ts +26 -29
  271. package/lib/components/VTabs/VTab.mjs +2 -2
  272. package/lib/components/VTabs/VTab.mjs.map +1 -1
  273. package/lib/components/VTabs/VTabs.mjs +2 -2
  274. package/lib/components/VTabs/VTabs.mjs.map +1 -1
  275. package/lib/components/VTabs/index.d.ts +45 -27
  276. package/lib/components/VTextField/VTextField.mjs +2 -1
  277. package/lib/components/VTextField/VTextField.mjs.map +1 -1
  278. package/lib/components/VTextField/index.d.ts +208 -269
  279. package/lib/components/VTextarea/VTextarea.mjs +2 -1
  280. package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
  281. package/lib/components/VTextarea/index.d.ts +79 -122
  282. package/lib/components/VThemeProvider/VThemeProvider.mjs +6 -3
  283. package/lib/components/VThemeProvider/VThemeProvider.mjs.map +1 -1
  284. package/lib/components/VThemeProvider/index.d.ts +22 -13
  285. package/lib/components/VTimeline/VTimeline.mjs +5 -3
  286. package/lib/components/VTimeline/VTimeline.mjs.map +1 -1
  287. package/lib/components/VTimeline/VTimelineDivider.mjs +4 -1
  288. package/lib/components/VTimeline/VTimelineDivider.mjs.map +1 -1
  289. package/lib/components/VTimeline/VTimelineItem.mjs +8 -6
  290. package/lib/components/VTimeline/VTimelineItem.mjs.map +1 -1
  291. package/lib/components/VTimeline/index.d.ts +67 -57
  292. package/lib/components/VToolbar/VToolbar.mjs +4 -2
  293. package/lib/components/VToolbar/VToolbar.mjs.map +1 -1
  294. package/lib/components/VToolbar/VToolbarItems.mjs +9 -4
  295. package/lib/components/VToolbar/VToolbarItems.mjs.map +1 -1
  296. package/lib/components/VToolbar/VToolbarTitle.mjs +5 -2
  297. package/lib/components/VToolbar/VToolbarTitle.mjs.map +1 -1
  298. package/lib/components/VToolbar/index.d.ts +74 -71
  299. package/lib/components/VTooltip/VTooltip.mjs +2 -1
  300. package/lib/components/VTooltip/VTooltip.mjs.map +1 -1
  301. package/lib/components/VTooltip/index.d.ts +104 -150
  302. package/lib/components/VValidation/index.d.ts +0 -12
  303. package/lib/components/VVirtualScroll/VVirtualScroll.mjs +21 -23
  304. package/lib/components/VVirtualScroll/VVirtualScroll.mjs.map +1 -1
  305. package/lib/components/VVirtualScroll/VVirtualScrollItem.mjs +5 -2
  306. package/lib/components/VVirtualScroll/VVirtualScrollItem.mjs.map +1 -1
  307. package/lib/components/VVirtualScroll/index.d.ts +70 -30
  308. package/lib/components/VWindow/VWindow.mjs +4 -1
  309. package/lib/components/VWindow/VWindow.mjs.map +1 -1
  310. package/lib/components/VWindow/VWindowItem.mjs +4 -1
  311. package/lib/components/VWindow/VWindowItem.mjs.map +1 -1
  312. package/lib/components/VWindow/index.d.ts +61 -79
  313. package/lib/components/index.d.ts +5229 -6754
  314. package/lib/components/transitions/index.d.ts +0 -192
  315. package/lib/composables/component.mjs +11 -0
  316. package/lib/composables/component.mjs.map +1 -0
  317. package/lib/composables/defaults.mjs +51 -5
  318. package/lib/composables/defaults.mjs.map +1 -1
  319. package/lib/composables/icons.mjs +15 -4
  320. package/lib/composables/icons.mjs.map +1 -1
  321. package/lib/composables/index.mjs +1 -1
  322. package/lib/composables/index.mjs.map +1 -1
  323. package/lib/composables/intersectionObserver.mjs +2 -2
  324. package/lib/composables/intersectionObserver.mjs.map +1 -1
  325. package/lib/composables/loader.mjs.map +1 -1
  326. package/lib/entry-bundler.mjs +1 -1
  327. package/lib/framework.mjs +2 -2
  328. package/lib/framework.mjs.map +1 -1
  329. package/lib/iconsets/fa-svg.d.ts +1 -1
  330. package/lib/iconsets/fa.d.ts +1 -1
  331. package/lib/iconsets/fa4.d.ts +1 -1
  332. package/lib/iconsets/md.d.ts +1 -1
  333. package/lib/iconsets/mdi-svg.d.ts +1 -1
  334. package/lib/iconsets/mdi.d.ts +1 -1
  335. package/lib/index.d.ts +24 -24
  336. package/lib/labs/VDataTable/VDataTable.mjs +1 -1
  337. package/lib/labs/VDataTable/VDataTable.mjs.map +1 -1
  338. package/lib/labs/VDataTable/VDataTableHeaders.mjs +34 -20
  339. package/lib/labs/VDataTable/VDataTableHeaders.mjs.map +1 -1
  340. package/lib/labs/VDataTable/VDataTableRow.mjs +2 -4
  341. package/lib/labs/VDataTable/VDataTableRow.mjs.map +1 -1
  342. package/lib/labs/VDataTable/VDataTableRows.mjs +2 -2
  343. package/lib/labs/VDataTable/VDataTableRows.mjs.map +1 -1
  344. package/lib/labs/VDataTable/VDataTableServer.mjs +1 -1
  345. package/lib/labs/VDataTable/VDataTableServer.mjs.map +1 -1
  346. package/lib/labs/VDataTable/index.d.ts +61 -933
  347. package/lib/labs/VInfiniteScroll/VInfiniteScroll.css +26 -0
  348. package/lib/labs/VInfiniteScroll/VInfiniteScroll.mjs +215 -0
  349. package/lib/labs/VInfiniteScroll/VInfiniteScroll.mjs.map +1 -0
  350. package/lib/labs/VInfiniteScroll/VInfiniteScroll.sass +25 -0
  351. package/lib/labs/VInfiniteScroll/_variables.scss +3 -0
  352. package/lib/labs/VInfiniteScroll/index.d.ts +321 -0
  353. package/lib/labs/VInfiniteScroll/index.mjs +2 -0
  354. package/lib/labs/VInfiniteScroll/index.mjs.map +1 -0
  355. package/lib/labs/VSkeletonLoader/index.d.ts +0 -12
  356. package/lib/labs/components.d.ts +398 -969
  357. package/lib/labs/components.mjs +1 -0
  358. package/lib/labs/components.mjs.map +1 -1
  359. package/lib/labs/date/DateAdapter.mjs +2 -0
  360. package/lib/labs/date/DateAdapter.mjs.map +1 -0
  361. package/lib/labs/date/adapters/vuetify.d.ts +52 -0
  362. package/lib/{adapters → labs/date/adapters}/vuetify.mjs +2 -2
  363. package/lib/labs/date/adapters/vuetify.mjs.map +1 -0
  364. package/lib/{composables → labs/date}/date.mjs +3 -3
  365. package/lib/labs/date/date.mjs.map +1 -0
  366. package/lib/labs/date/index.d.ts +40 -0
  367. package/lib/labs/date/index.mjs +2 -0
  368. package/lib/labs/date/index.mjs.map +1 -0
  369. package/lib/labs/index.mjs +3 -2
  370. package/lib/labs/index.mjs.map +1 -1
  371. package/lib/locale/af.mjs +5 -1
  372. package/lib/locale/af.mjs.map +1 -1
  373. package/lib/locale/ar.mjs +5 -1
  374. package/lib/locale/ar.mjs.map +1 -1
  375. package/lib/locale/az.mjs +5 -1
  376. package/lib/locale/az.mjs.map +1 -1
  377. package/lib/locale/bg.mjs +5 -1
  378. package/lib/locale/bg.mjs.map +1 -1
  379. package/lib/locale/ca.mjs +5 -1
  380. package/lib/locale/ca.mjs.map +1 -1
  381. package/lib/locale/ckb.mjs +5 -1
  382. package/lib/locale/ckb.mjs.map +1 -1
  383. package/lib/locale/cs.mjs +5 -1
  384. package/lib/locale/cs.mjs.map +1 -1
  385. package/lib/locale/da.mjs +5 -1
  386. package/lib/locale/da.mjs.map +1 -1
  387. package/lib/locale/de.mjs +5 -1
  388. package/lib/locale/de.mjs.map +1 -1
  389. package/lib/locale/el.mjs +5 -1
  390. package/lib/locale/el.mjs.map +1 -1
  391. package/lib/locale/en.mjs +5 -1
  392. package/lib/locale/en.mjs.map +1 -1
  393. package/lib/locale/es.mjs +5 -1
  394. package/lib/locale/es.mjs.map +1 -1
  395. package/lib/locale/et.mjs +5 -1
  396. package/lib/locale/et.mjs.map +1 -1
  397. package/lib/locale/fa.mjs +5 -1
  398. package/lib/locale/fa.mjs.map +1 -1
  399. package/lib/locale/fi.mjs +5 -1
  400. package/lib/locale/fi.mjs.map +1 -1
  401. package/lib/locale/fr.mjs +5 -1
  402. package/lib/locale/fr.mjs.map +1 -1
  403. package/lib/locale/he.mjs +5 -1
  404. package/lib/locale/he.mjs.map +1 -1
  405. package/lib/locale/hr.mjs +5 -1
  406. package/lib/locale/hr.mjs.map +1 -1
  407. package/lib/locale/hu.mjs +5 -1
  408. package/lib/locale/hu.mjs.map +1 -1
  409. package/lib/locale/id.mjs +5 -1
  410. package/lib/locale/id.mjs.map +1 -1
  411. package/lib/locale/index.d.ts +168 -0
  412. package/lib/locale/it.mjs +5 -1
  413. package/lib/locale/it.mjs.map +1 -1
  414. package/lib/locale/ja.mjs +5 -1
  415. package/lib/locale/ja.mjs.map +1 -1
  416. package/lib/locale/ko.mjs +5 -1
  417. package/lib/locale/ko.mjs.map +1 -1
  418. package/lib/locale/lt.mjs +5 -1
  419. package/lib/locale/lt.mjs.map +1 -1
  420. package/lib/locale/lv.mjs +5 -1
  421. package/lib/locale/lv.mjs.map +1 -1
  422. package/lib/locale/nl.mjs +5 -1
  423. package/lib/locale/nl.mjs.map +1 -1
  424. package/lib/locale/no.mjs +5 -1
  425. package/lib/locale/no.mjs.map +1 -1
  426. package/lib/locale/pl.mjs +5 -1
  427. package/lib/locale/pl.mjs.map +1 -1
  428. package/lib/locale/pt.mjs +5 -1
  429. package/lib/locale/pt.mjs.map +1 -1
  430. package/lib/locale/ro.mjs +5 -1
  431. package/lib/locale/ro.mjs.map +1 -1
  432. package/lib/locale/ru.mjs +5 -1
  433. package/lib/locale/ru.mjs.map +1 -1
  434. package/lib/locale/sk.mjs +5 -1
  435. package/lib/locale/sk.mjs.map +1 -1
  436. package/lib/locale/sl.mjs +5 -1
  437. package/lib/locale/sl.mjs.map +1 -1
  438. package/lib/locale/sr-Cyrl.mjs +5 -1
  439. package/lib/locale/sr-Cyrl.mjs.map +1 -1
  440. package/lib/locale/sr-Latn.mjs +5 -1
  441. package/lib/locale/sr-Latn.mjs.map +1 -1
  442. package/lib/locale/sv.mjs +5 -1
  443. package/lib/locale/sv.mjs.map +1 -1
  444. package/lib/locale/th.mjs +5 -1
  445. package/lib/locale/th.mjs.map +1 -1
  446. package/lib/locale/tr.mjs +5 -1
  447. package/lib/locale/tr.mjs.map +1 -1
  448. package/lib/locale/uk.mjs +5 -1
  449. package/lib/locale/uk.mjs.map +1 -1
  450. package/lib/locale/vi.mjs +5 -1
  451. package/lib/locale/vi.mjs.map +1 -1
  452. package/lib/locale/zh-Hans.mjs +5 -1
  453. package/lib/locale/zh-Hans.mjs.map +1 -1
  454. package/lib/locale/zh-Hant.mjs +5 -1
  455. package/lib/locale/zh-Hant.mjs.map +1 -1
  456. package/lib/util/createSimpleFunctional.mjs +9 -4
  457. package/lib/util/createSimpleFunctional.mjs.map +1 -1
  458. package/lib/util/defineComponent.mjs +11 -43
  459. package/lib/util/defineComponent.mjs.map +1 -1
  460. package/lib/util/helpers.mjs +28 -2
  461. package/lib/util/helpers.mjs.map +1 -1
  462. package/lib/util/index.mjs +1 -0
  463. package/lib/util/index.mjs.map +1 -1
  464. package/package.json +2 -1
  465. package/lib/adapters/date-adapter.mjs +0 -2
  466. package/lib/adapters/date-adapter.mjs.map +0 -1
  467. package/lib/adapters/vuetify.mjs.map +0 -1
  468. package/lib/composables/date.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"VIcon.mjs","names":["IconValue","useIcon","makeSizeProps","useSize","makeTagProps","makeThemeProps","provideTheme","useTextColor","computed","Text","toRef","convertToUnit","genericComponent","propsFactory","useRender","makeVIconProps","color","String","start","Boolean","end","icon","tag","VIcon","name","props","setup","_ref","attrs","slots","slotIcon","default","slot","filter","node","type","children","themeClasses","iconData","sizeClasses","textColorClasses","textColorStyles","_createVNode","value","component","onClick","fontSize","size","height","width","undefined"],"sources":["../../../src/components/VIcon/VIcon.tsx"],"sourcesContent":["// Styles\nimport './VIcon.sass'\n\n// Composables\nimport { IconValue, useIcon } from '@/composables/icons'\nimport { makeSizeProps, useSize } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useTextColor } from '@/composables/color'\n\n// Utilities\nimport { computed, Text, toRef } from 'vue'\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { ComputedRef } from 'vue'\n\nexport const makeVIconProps = propsFactory({\n color: String,\n start: Boolean,\n end: Boolean,\n icon: IconValue,\n\n ...makeSizeProps(),\n ...makeTagProps({ tag: 'i' }),\n ...makeThemeProps(),\n}, 'v-icon')\n\nexport const VIcon = genericComponent()({\n name: 'VIcon',\n\n props: makeVIconProps(),\n\n setup (props, { attrs, slots }) {\n let slotIcon: ComputedRef<string | undefined> | undefined\n if (slots.default) {\n slotIcon = computed(() => {\n const slot = slots.default?.()\n if (!slot) return\n\n return slot.filter(node =>\n node.type === Text && node.children && typeof node.children === 'string'\n )[0]?.children as string\n })\n }\n\n const { themeClasses } = provideTheme(props)\n const { iconData } = useIcon(slotIcon || props)\n const { sizeClasses } = useSize(props)\n const { textColorClasses, textColorStyles } = useTextColor(toRef(props, 'color'))\n\n useRender(() => (\n <iconData.value.component\n tag={ props.tag }\n icon={ iconData.value.icon }\n class={[\n 'v-icon',\n 'notranslate',\n themeClasses.value,\n sizeClasses.value,\n textColorClasses.value,\n {\n 'v-icon--clickable': !!attrs.onClick,\n 'v-icon--start': props.start,\n 'v-icon--end': props.end,\n },\n ]}\n style={[\n !sizeClasses.value ? ({\n fontSize: convertToUnit(props.size),\n height: convertToUnit(props.size),\n width: convertToUnit(props.size),\n }) : undefined,\n textColorStyles.value,\n ]}\n role={ attrs.onClick ? 'button' : undefined }\n aria-hidden={ !attrs.onClick }\n >\n { slots.default?.() }\n </iconData.value.component>\n ))\n\n return {}\n },\n})\n\nexport type VIcon = InstanceType<typeof VIcon>\n"],"mappings":"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"}
1
+ {"version":3,"file":"VIcon.mjs","names":["IconValue","useIcon","makeComponentProps","makeSizeProps","useSize","makeTagProps","makeThemeProps","provideTheme","useTextColor","computed","Text","toRef","convertToUnit","genericComponent","propsFactory","useRender","makeVIconProps","color","String","start","Boolean","end","icon","tag","VIcon","name","props","setup","_ref","attrs","slots","slotIcon","default","slot","filter","node","type","children","themeClasses","iconData","sizeClasses","textColorClasses","textColorStyles","_createVNode","value","component","onClick","class","fontSize","size","height","width","undefined","style"],"sources":["../../../src/components/VIcon/VIcon.tsx"],"sourcesContent":["// Styles\nimport './VIcon.sass'\n\n// Composables\nimport { IconValue, useIcon } from '@/composables/icons'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeSizeProps, useSize } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useTextColor } from '@/composables/color'\n\n// Utilities\nimport { computed, Text, toRef } from 'vue'\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { ComputedRef } from 'vue'\n\nexport const makeVIconProps = propsFactory({\n color: String,\n start: Boolean,\n end: Boolean,\n icon: IconValue,\n\n ...makeComponentProps(),\n ...makeSizeProps(),\n ...makeTagProps({ tag: 'i' }),\n ...makeThemeProps(),\n}, 'v-icon')\n\nexport const VIcon = genericComponent()({\n name: 'VIcon',\n\n props: makeVIconProps(),\n\n setup (props, { attrs, slots }) {\n let slotIcon: ComputedRef<string | undefined> | undefined\n if (slots.default) {\n slotIcon = computed(() => {\n const slot = slots.default?.()\n if (!slot) return\n\n return slot.filter(node =>\n node.type === Text && node.children && typeof node.children === 'string'\n )[0]?.children as string\n })\n }\n\n const { themeClasses } = provideTheme(props)\n const { iconData } = useIcon(slotIcon || props)\n const { sizeClasses } = useSize(props)\n const { textColorClasses, textColorStyles } = useTextColor(toRef(props, 'color'))\n\n useRender(() => (\n <iconData.value.component\n tag={ props.tag }\n icon={ iconData.value.icon }\n class={[\n 'v-icon',\n 'notranslate',\n themeClasses.value,\n sizeClasses.value,\n textColorClasses.value,\n {\n 'v-icon--clickable': !!attrs.onClick,\n 'v-icon--start': props.start,\n 'v-icon--end': props.end,\n },\n props.class,\n ]}\n style={[\n !sizeClasses.value ? ({\n fontSize: convertToUnit(props.size),\n height: convertToUnit(props.size),\n width: convertToUnit(props.size),\n }) : undefined,\n textColorStyles.value,\n props.style,\n ]}\n role={ attrs.onClick ? 'button' : undefined }\n aria-hidden={ !attrs.onClick }\n >\n { slots.default?.() }\n </iconData.value.component>\n ))\n\n return {}\n },\n})\n\nexport type VIcon = InstanceType<typeof VIcon>\n"],"mappings":"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"}
@@ -5,7 +5,7 @@ interface FilterPropsOptions<PropsOptions extends Readonly<ComponentPropsOptions
5
5
  filterProps<T extends Partial<Props>, U extends Exclude<keyof Props, Exclude<keyof Props, keyof T>>>(props: T): [yes: Partial<Pick<T, U>>, no: Omit<T, U>];
6
6
  }
7
7
 
8
- type IconValue = string | JSXComponent;
8
+ type IconValue = string | (string | [path: string, opacity: number])[] | JSXComponent;
9
9
  declare const IconValue: PropType<IconValue>;
10
10
  declare const VComponentIcon: {
11
11
  new (...args: any[]): {
@@ -19,9 +19,6 @@ declare const VComponentIcon: {
19
19
  $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
20
20
  default?: (() => vue.VNodeChild) | undefined;
21
21
  };
22
- $slots?: {
23
- default?: (() => vue.VNodeChild) | undefined;
24
- } | undefined;
25
22
  'v-slots'?: {
26
23
  default?: false | (() => vue.VNodeChild) | undefined;
27
24
  } | undefined;
@@ -49,9 +46,6 @@ declare const VComponentIcon: {
49
46
  $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
50
47
  default?: (() => vue.VNodeChild) | undefined;
51
48
  };
52
- $slots?: {
53
- default?: (() => vue.VNodeChild) | undefined;
54
- } | undefined;
55
49
  'v-slots'?: {
56
50
  default?: false | (() => vue.VNodeChild) | undefined;
57
51
  } | undefined;
@@ -85,9 +79,6 @@ declare const VComponentIcon: {
85
79
  $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
86
80
  default?: (() => vue.VNodeChild) | undefined;
87
81
  };
88
- $slots?: {
89
- default?: (() => vue.VNodeChild) | undefined;
90
- } | undefined;
91
82
  'v-slots'?: {
92
83
  default?: false | (() => vue.VNodeChild) | undefined;
93
84
  } | undefined;
@@ -105,9 +96,6 @@ declare const VComponentIcon: {
105
96
  $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
106
97
  default?: (() => vue.VNodeChild) | undefined;
107
98
  };
108
- $slots?: {
109
- default?: (() => vue.VNodeChild) | undefined;
110
- } | undefined;
111
99
  'v-slots'?: {
112
100
  default?: false | (() => vue.VNodeChild) | undefined;
113
101
  } | undefined;
@@ -415,30 +403,30 @@ declare const VIcon: {
415
403
  $props: Partial<{
416
404
  end: boolean;
417
405
  start: boolean;
406
+ style: vue.StyleValue;
418
407
  size: string | number;
419
408
  tag: string;
420
409
  }> & Omit<{
421
410
  end: boolean;
422
411
  start: boolean;
412
+ style: vue.StyleValue;
423
413
  size: string | number;
424
414
  tag: string;
425
415
  } & {
426
416
  color?: string | undefined;
417
+ class?: any;
427
418
  icon?: IconValue | undefined;
428
419
  theme?: string | undefined;
429
420
  } & {
430
421
  $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
431
422
  default?: (() => vue.VNodeChild) | undefined;
432
423
  };
433
- $slots?: {
434
- default?: (() => vue.VNodeChild) | undefined;
435
- } | undefined;
436
424
  'v-slots'?: {
437
425
  default?: false | (() => vue.VNodeChild) | undefined;
438
426
  } | undefined;
439
427
  } & {
440
428
  "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
441
- } & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, "end" | "start" | "size" | "tag">;
429
+ } & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, "end" | "start" | "style" | "size" | "tag">;
442
430
  $attrs: {
443
431
  [x: string]: unknown;
444
432
  };
@@ -455,19 +443,18 @@ declare const VIcon: {
455
443
  $options: vue.ComponentOptionsBase<{
456
444
  end: boolean;
457
445
  start: boolean;
446
+ style: vue.StyleValue;
458
447
  size: string | number;
459
448
  tag: string;
460
449
  } & {
461
450
  color?: string | undefined;
451
+ class?: any;
462
452
  icon?: IconValue | undefined;
463
453
  theme?: string | undefined;
464
454
  } & {
465
455
  $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
466
456
  default?: (() => vue.VNodeChild) | undefined;
467
457
  };
468
- $slots?: {
469
- default?: (() => vue.VNodeChild) | undefined;
470
- } | undefined;
471
458
  'v-slots'?: {
472
459
  default?: false | (() => vue.VNodeChild) | undefined;
473
460
  } | undefined;
@@ -476,6 +463,7 @@ declare const VIcon: {
476
463
  }, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, {
477
464
  end: boolean;
478
465
  start: boolean;
466
+ style: vue.StyleValue;
479
467
  size: string | number;
480
468
  tag: string;
481
469
  }, {}, string> & {
@@ -501,19 +489,18 @@ declare const VIcon: {
501
489
  } & {
502
490
  end: boolean;
503
491
  start: boolean;
492
+ style: vue.StyleValue;
504
493
  size: string | number;
505
494
  tag: string;
506
495
  } & {
507
496
  color?: string | undefined;
497
+ class?: any;
508
498
  icon?: IconValue | undefined;
509
499
  theme?: string | undefined;
510
500
  } & {
511
501
  $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
512
502
  default?: (() => vue.VNodeChild) | undefined;
513
503
  };
514
- $slots?: {
515
- default?: (() => vue.VNodeChild) | undefined;
516
- } | undefined;
517
504
  'v-slots'?: {
518
505
  default?: false | (() => vue.VNodeChild) | undefined;
519
506
  } | undefined;
@@ -526,19 +513,18 @@ declare const VIcon: {
526
513
  } & vue.ComponentOptionsBase<{
527
514
  end: boolean;
528
515
  start: boolean;
516
+ style: vue.StyleValue;
529
517
  size: string | number;
530
518
  tag: string;
531
519
  } & {
532
520
  color?: string | undefined;
521
+ class?: any;
533
522
  icon?: IconValue | undefined;
534
523
  theme?: string | undefined;
535
524
  } & {
536
525
  $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
537
526
  default?: (() => vue.VNodeChild) | undefined;
538
527
  };
539
- $slots?: {
540
- default?: (() => vue.VNodeChild) | undefined;
541
- } | undefined;
542
528
  'v-slots'?: {
543
529
  default?: false | (() => vue.VNodeChild) | undefined;
544
530
  } | undefined;
@@ -547,6 +533,7 @@ declare const VIcon: {
547
533
  }, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, {
548
534
  end: boolean;
549
535
  start: boolean;
536
+ style: vue.StyleValue;
550
537
  size: string | number;
551
538
  tag: string;
552
539
  }, {}, string> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & FilterPropsOptions<{
@@ -562,6 +549,11 @@ declare const VIcon: {
562
549
  type: (StringConstructor | NumberConstructor)[];
563
550
  default: string;
564
551
  };
552
+ class: vue.PropType<any>;
553
+ style: {
554
+ type: vue.PropType<vue.StyleValue>;
555
+ default: null;
556
+ };
565
557
  color: StringConstructor;
566
558
  start: BooleanConstructor;
567
559
  end: BooleanConstructor;
@@ -579,6 +571,11 @@ declare const VIcon: {
579
571
  type: (StringConstructor | NumberConstructor)[];
580
572
  default: string;
581
573
  };
574
+ class: vue.PropType<any>;
575
+ style: {
576
+ type: vue.PropType<vue.StyleValue>;
577
+ default: null;
578
+ };
582
579
  color: StringConstructor;
583
580
  start: BooleanConstructor;
584
581
  end: BooleanConstructor;
@@ -4,6 +4,7 @@ import "./VImg.css";
4
4
  // Components
5
5
  import { VResponsive } from "../VResponsive/index.mjs"; // Directives
6
6
  import intersect from "../../directives/intersect/index.mjs"; // Composables
7
+ import { makeComponentProps } from "../../composables/component.mjs";
7
8
  import { makeTransitionProps, MaybeTransition } from "../../composables/transition.mjs"; // Utilities
8
9
  import { computed, nextTick, onBeforeMount, ref, vShow, watch, withDirectives } from 'vue';
9
10
  import { convertToUnit, genericComponent, SUPPORTS_INTERSECTION, useRender } from "../../util/index.mjs"; // Types
@@ -36,6 +37,7 @@ export const VImg = genericComponent()({
36
37
  },
37
38
  srcset: String,
38
39
  width: [String, Number],
40
+ ...makeComponentProps(),
39
41
  ...makeTransitionProps()
40
42
  },
41
43
  emits: {
@@ -223,10 +225,10 @@ export const VImg = genericComponent()({
223
225
  useRender(() => _withDirectives(_createVNode(VResponsive, {
224
226
  "class": ['v-img', {
225
227
  'v-img--booting': !isBooted.value
226
- }],
227
- "style": {
228
+ }, props.class],
229
+ "style": [{
228
230
  width: convertToUnit(props.width === 'auto' ? naturalWidth.value : props.width)
229
- },
231
+ }, props.style],
230
232
  "aspectRatio": aspectRatio.value,
231
233
  "aria-label": props.alt,
232
234
  "role": props.alt ? 'img' : undefined
@@ -1 +1 @@
1
- {"version":3,"file":"VImg.mjs","names":["VResponsive","intersect","makeTransitionProps","MaybeTransition","computed","nextTick","onBeforeMount","ref","vShow","watch","withDirectives","convertToUnit","genericComponent","SUPPORTS_INTERSECTION","useRender","VImg","name","directives","props","aspectRatio","String","Number","alt","cover","Boolean","eager","gradient","lazySrc","options","type","Object","default","root","undefined","rootMargin","threshold","sizes","src","srcset","width","emits","loadstart","value","load","error","setup","_ref","emit","slots","currentSrc","image","state","naturalWidth","naturalHeight","normalisedSrc","aspect","init","val","oldVal","pollForSize","isIntersecting","lazyImg","Image","complete","onError","onLoad","getSrc","img","timer","timeout","arguments","length","poll","clearTimeout","imgHeight","imgWidth","window","setTimeout","endsWith","startsWith","containClasses","__image","_createVNode","sources","transition","__preloadImage","__placeholder","placeholder","__error","__gradient","backgroundImage","isBooted","stop","requestAnimationFrame","_withDirectives","additional","_Fragment","_resolveDirective","handler","once"],"sources":["../../../src/components/VImg/VImg.tsx"],"sourcesContent":["import './VImg.sass'\n\n// Components\nimport { VResponsive } from '@/components/VResponsive'\n\n// Directives\nimport intersect from '@/directives/intersect'\n\n// Composables\nimport { makeTransitionProps, MaybeTransition } from '@/composables/transition'\n\n// Utilities\nimport {\n computed,\n nextTick,\n onBeforeMount,\n ref,\n vShow,\n watch,\n withDirectives,\n} from 'vue'\nimport {\n convertToUnit,\n genericComponent,\n SUPPORTS_INTERSECTION,\n useRender,\n} from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\n// not intended for public use, this is passed in by vuetify-loader\nexport interface srcObject {\n src?: string\n srcset?: string\n lazySrc?: string\n aspect: number\n}\n\nexport type VImgSlots = {\n default: []\n placeholder: []\n error: []\n sources: []\n}\n\nexport const VImg = genericComponent<VImgSlots>()({\n name: 'VImg',\n\n directives: { intersect },\n\n props: {\n aspectRatio: [String, Number],\n alt: String,\n cover: Boolean,\n eager: Boolean,\n gradient: String,\n lazySrc: String,\n options: {\n type: Object as PropType<IntersectionObserverInit>,\n // For more information on types, navigate to:\n // https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API\n default: () => ({\n root: undefined,\n rootMargin: undefined,\n threshold: undefined,\n }),\n },\n sizes: String,\n src: {\n type: [String, Object] as PropType<string | srcObject>,\n default: '',\n },\n srcset: String,\n width: [String, Number],\n\n ...makeTransitionProps(),\n },\n\n emits: {\n loadstart: (value: string | undefined) => true,\n load: (value: string | undefined) => true,\n error: (value: string | undefined) => true,\n },\n\n setup (props, { emit, slots }) {\n const currentSrc = ref('') // Set from srcset\n const image = ref<HTMLImageElement>()\n const state = ref<'idle' | 'loading' | 'loaded' | 'error'>(props.eager ? 'loading' : 'idle')\n const naturalWidth = ref<number>()\n const naturalHeight = ref<number>()\n\n const normalisedSrc = computed<srcObject>(() => {\n return props.src && typeof props.src === 'object'\n ? {\n src: props.src.src,\n srcset: props.srcset || props.src.srcset,\n lazySrc: props.lazySrc || props.src.lazySrc,\n aspect: Number(props.aspectRatio || props.src.aspect || 0),\n } : {\n src: props.src,\n srcset: props.srcset,\n lazySrc: props.lazySrc,\n aspect: Number(props.aspectRatio || 0),\n }\n })\n const aspectRatio = computed(() => {\n return normalisedSrc.value.aspect || naturalWidth.value! / naturalHeight.value! || 0\n })\n\n watch(() => props.src, () => {\n init(state.value !== 'idle')\n })\n watch(aspectRatio, (val, oldVal) => {\n if (!val && oldVal && image.value) {\n pollForSize(image.value)\n }\n })\n\n // TODO: getSrc when window width changes\n\n onBeforeMount(() => init())\n\n function init (isIntersecting?: boolean) {\n if (props.eager && isIntersecting) return\n if (\n SUPPORTS_INTERSECTION &&\n !isIntersecting &&\n !props.eager\n ) return\n\n state.value = 'loading'\n\n if (normalisedSrc.value.lazySrc) {\n const lazyImg = new Image()\n lazyImg.src = normalisedSrc.value.lazySrc\n pollForSize(lazyImg, null)\n }\n\n if (!normalisedSrc.value.src) return\n\n nextTick(() => {\n emit('loadstart', image.value?.currentSrc || normalisedSrc.value.src)\n\n if (image.value?.complete) {\n if (!image.value.naturalWidth) {\n onError()\n }\n\n if (state.value === 'error') return\n\n if (!aspectRatio.value) pollForSize(image.value, null)\n onLoad()\n } else {\n if (!aspectRatio.value) pollForSize(image.value!)\n getSrc()\n }\n })\n }\n\n function onLoad () {\n getSrc()\n state.value = 'loaded'\n emit('load', image.value?.currentSrc || normalisedSrc.value.src)\n }\n\n function onError () {\n state.value = 'error'\n emit('error', image.value?.currentSrc || normalisedSrc.value.src)\n }\n\n function getSrc () {\n const img = image.value\n if (img) currentSrc.value = img.currentSrc || img.src\n }\n\n let timer = -1\n function pollForSize (img: HTMLImageElement, timeout: number | null = 100) {\n const poll = () => {\n clearTimeout(timer)\n const { naturalHeight: imgHeight, naturalWidth: imgWidth } = img\n\n if (imgHeight || imgWidth) {\n naturalWidth.value = imgWidth\n naturalHeight.value = imgHeight\n } else if (!img.complete && state.value === 'loading' && timeout != null) {\n timer = window.setTimeout(poll, timeout)\n } else if (img.currentSrc.endsWith('.svg') || img.currentSrc.startsWith('data:image/svg+xml')) {\n naturalWidth.value = 1\n naturalHeight.value = 1\n }\n }\n\n poll()\n }\n\n const containClasses = computed(() => ({\n 'v-img__img--cover': props.cover,\n 'v-img__img--contain': !props.cover,\n }))\n\n const __image = () => {\n if (!normalisedSrc.value.src || state.value === 'idle') return null\n\n const img = (\n <img\n class={['v-img__img', containClasses.value]}\n src={ normalisedSrc.value.src }\n srcset={ normalisedSrc.value.srcset }\n alt={ props.alt }\n sizes={ props.sizes }\n ref={ image }\n onLoad={ onLoad }\n onError={ onError }\n />\n )\n\n const sources = slots.sources?.()\n\n return (\n <MaybeTransition transition={ props.transition } appear>\n {\n withDirectives(\n sources\n ? <picture class=\"v-img__picture\">{ sources }{ img }</picture>\n : img,\n [[vShow, state.value === 'loaded']]\n )\n }\n </MaybeTransition>\n )\n }\n\n const __preloadImage = () => (\n <MaybeTransition transition={ props.transition }>\n { normalisedSrc.value.lazySrc && state.value !== 'loaded' && (\n <img\n class={['v-img__img', 'v-img__img--preload', containClasses.value]}\n src={ normalisedSrc.value.lazySrc }\n alt={ props.alt }\n />\n )}\n </MaybeTransition>\n )\n\n const __placeholder = () => {\n if (!slots.placeholder) return null\n\n return (\n <MaybeTransition transition={ props.transition } appear>\n { (state.value === 'loading' || (state.value === 'error' && !slots.error)) &&\n <div class=\"v-img__placeholder\">{ slots.placeholder() }</div>\n }\n </MaybeTransition>\n )\n }\n\n const __error = () => {\n if (!slots.error) return null\n\n return (\n <MaybeTransition transition={ props.transition } appear>\n { state.value === 'error' &&\n <div class=\"v-img__error\">{ slots.error() }</div>\n }\n </MaybeTransition>\n )\n }\n\n const __gradient = () => {\n if (!props.gradient) return null\n\n return <div class=\"v-img__gradient\" style={{ backgroundImage: `linear-gradient(${props.gradient})` }} />\n }\n\n const isBooted = ref(false)\n {\n const stop = watch(aspectRatio, val => {\n if (val) {\n // Doesn't work with nextTick, idk why\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n isBooted.value = true\n })\n })\n stop()\n }\n })\n }\n\n useRender(() => (\n <VResponsive\n class={[\n 'v-img',\n { 'v-img--booting': !isBooted.value },\n ]}\n style={{ width: convertToUnit(props.width === 'auto' ? naturalWidth.value : props.width) }}\n aspectRatio={ aspectRatio.value }\n aria-label={ props.alt }\n role={ props.alt ? 'img' : undefined }\n v-intersect={[{\n handler: init,\n options: props.options,\n }, null, ['once']]}\n >{{\n additional: () => (\n <>\n <__image />\n <__preloadImage />\n <__gradient />\n <__placeholder />\n <__error />\n </>\n ),\n default: slots.default,\n }}</VResponsive>\n ))\n\n return {\n currentSrc,\n image,\n state,\n naturalWidth,\n naturalHeight,\n }\n },\n})\n\nexport type VImg = InstanceType<typeof VImg>\n"],"mappings":"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"}
1
+ {"version":3,"file":"VImg.mjs","names":["VResponsive","intersect","makeComponentProps","makeTransitionProps","MaybeTransition","computed","nextTick","onBeforeMount","ref","vShow","watch","withDirectives","convertToUnit","genericComponent","SUPPORTS_INTERSECTION","useRender","VImg","name","directives","props","aspectRatio","String","Number","alt","cover","Boolean","eager","gradient","lazySrc","options","type","Object","default","root","undefined","rootMargin","threshold","sizes","src","srcset","width","emits","loadstart","value","load","error","setup","_ref","emit","slots","currentSrc","image","state","naturalWidth","naturalHeight","normalisedSrc","aspect","init","val","oldVal","pollForSize","isIntersecting","lazyImg","Image","complete","onError","onLoad","getSrc","img","timer","timeout","arguments","length","poll","clearTimeout","imgHeight","imgWidth","window","setTimeout","endsWith","startsWith","containClasses","__image","_createVNode","sources","transition","__preloadImage","__placeholder","placeholder","__error","__gradient","backgroundImage","isBooted","stop","requestAnimationFrame","_withDirectives","class","style","additional","_Fragment","_resolveDirective","handler","once"],"sources":["../../../src/components/VImg/VImg.tsx"],"sourcesContent":["import './VImg.sass'\n\n// Components\nimport { VResponsive } from '@/components/VResponsive'\n\n// Directives\nimport intersect from '@/directives/intersect'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { makeTransitionProps, MaybeTransition } from '@/composables/transition'\n\n// Utilities\nimport {\n computed,\n nextTick,\n onBeforeMount,\n ref,\n vShow,\n watch,\n withDirectives,\n} from 'vue'\nimport {\n convertToUnit,\n genericComponent,\n SUPPORTS_INTERSECTION,\n useRender,\n} from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\n// not intended for public use, this is passed in by vuetify-loader\nexport interface srcObject {\n src?: string\n srcset?: string\n lazySrc?: string\n aspect: number\n}\n\nexport type VImgSlots = {\n default: []\n placeholder: []\n error: []\n sources: []\n}\n\nexport const VImg = genericComponent<VImgSlots>()({\n name: 'VImg',\n\n directives: { intersect },\n\n props: {\n aspectRatio: [String, Number],\n alt: String,\n cover: Boolean,\n eager: Boolean,\n gradient: String,\n lazySrc: String,\n options: {\n type: Object as PropType<IntersectionObserverInit>,\n // For more information on types, navigate to:\n // https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API\n default: () => ({\n root: undefined,\n rootMargin: undefined,\n threshold: undefined,\n }),\n },\n sizes: String,\n src: {\n type: [String, Object] as PropType<string | srcObject>,\n default: '',\n },\n srcset: String,\n width: [String, Number],\n\n ...makeComponentProps(),\n ...makeTransitionProps(),\n },\n\n emits: {\n loadstart: (value: string | undefined) => true,\n load: (value: string | undefined) => true,\n error: (value: string | undefined) => true,\n },\n\n setup (props, { emit, slots }) {\n const currentSrc = ref('') // Set from srcset\n const image = ref<HTMLImageElement>()\n const state = ref<'idle' | 'loading' | 'loaded' | 'error'>(props.eager ? 'loading' : 'idle')\n const naturalWidth = ref<number>()\n const naturalHeight = ref<number>()\n\n const normalisedSrc = computed<srcObject>(() => {\n return props.src && typeof props.src === 'object'\n ? {\n src: props.src.src,\n srcset: props.srcset || props.src.srcset,\n lazySrc: props.lazySrc || props.src.lazySrc,\n aspect: Number(props.aspectRatio || props.src.aspect || 0),\n } : {\n src: props.src,\n srcset: props.srcset,\n lazySrc: props.lazySrc,\n aspect: Number(props.aspectRatio || 0),\n }\n })\n const aspectRatio = computed(() => {\n return normalisedSrc.value.aspect || naturalWidth.value! / naturalHeight.value! || 0\n })\n\n watch(() => props.src, () => {\n init(state.value !== 'idle')\n })\n watch(aspectRatio, (val, oldVal) => {\n if (!val && oldVal && image.value) {\n pollForSize(image.value)\n }\n })\n\n // TODO: getSrc when window width changes\n\n onBeforeMount(() => init())\n\n function init (isIntersecting?: boolean) {\n if (props.eager && isIntersecting) return\n if (\n SUPPORTS_INTERSECTION &&\n !isIntersecting &&\n !props.eager\n ) return\n\n state.value = 'loading'\n\n if (normalisedSrc.value.lazySrc) {\n const lazyImg = new Image()\n lazyImg.src = normalisedSrc.value.lazySrc\n pollForSize(lazyImg, null)\n }\n\n if (!normalisedSrc.value.src) return\n\n nextTick(() => {\n emit('loadstart', image.value?.currentSrc || normalisedSrc.value.src)\n\n if (image.value?.complete) {\n if (!image.value.naturalWidth) {\n onError()\n }\n\n if (state.value === 'error') return\n\n if (!aspectRatio.value) pollForSize(image.value, null)\n onLoad()\n } else {\n if (!aspectRatio.value) pollForSize(image.value!)\n getSrc()\n }\n })\n }\n\n function onLoad () {\n getSrc()\n state.value = 'loaded'\n emit('load', image.value?.currentSrc || normalisedSrc.value.src)\n }\n\n function onError () {\n state.value = 'error'\n emit('error', image.value?.currentSrc || normalisedSrc.value.src)\n }\n\n function getSrc () {\n const img = image.value\n if (img) currentSrc.value = img.currentSrc || img.src\n }\n\n let timer = -1\n function pollForSize (img: HTMLImageElement, timeout: number | null = 100) {\n const poll = () => {\n clearTimeout(timer)\n const { naturalHeight: imgHeight, naturalWidth: imgWidth } = img\n\n if (imgHeight || imgWidth) {\n naturalWidth.value = imgWidth\n naturalHeight.value = imgHeight\n } else if (!img.complete && state.value === 'loading' && timeout != null) {\n timer = window.setTimeout(poll, timeout)\n } else if (img.currentSrc.endsWith('.svg') || img.currentSrc.startsWith('data:image/svg+xml')) {\n naturalWidth.value = 1\n naturalHeight.value = 1\n }\n }\n\n poll()\n }\n\n const containClasses = computed(() => ({\n 'v-img__img--cover': props.cover,\n 'v-img__img--contain': !props.cover,\n }))\n\n const __image = () => {\n if (!normalisedSrc.value.src || state.value === 'idle') return null\n\n const img = (\n <img\n class={['v-img__img', containClasses.value]}\n src={ normalisedSrc.value.src }\n srcset={ normalisedSrc.value.srcset }\n alt={ props.alt }\n sizes={ props.sizes }\n ref={ image }\n onLoad={ onLoad }\n onError={ onError }\n />\n )\n\n const sources = slots.sources?.()\n\n return (\n <MaybeTransition transition={ props.transition } appear>\n {\n withDirectives(\n sources\n ? <picture class=\"v-img__picture\">{ sources }{ img }</picture>\n : img,\n [[vShow, state.value === 'loaded']]\n )\n }\n </MaybeTransition>\n )\n }\n\n const __preloadImage = () => (\n <MaybeTransition transition={ props.transition }>\n { normalisedSrc.value.lazySrc && state.value !== 'loaded' && (\n <img\n class={['v-img__img', 'v-img__img--preload', containClasses.value]}\n src={ normalisedSrc.value.lazySrc }\n alt={ props.alt }\n />\n )}\n </MaybeTransition>\n )\n\n const __placeholder = () => {\n if (!slots.placeholder) return null\n\n return (\n <MaybeTransition transition={ props.transition } appear>\n { (state.value === 'loading' || (state.value === 'error' && !slots.error)) &&\n <div class=\"v-img__placeholder\">{ slots.placeholder() }</div>\n }\n </MaybeTransition>\n )\n }\n\n const __error = () => {\n if (!slots.error) return null\n\n return (\n <MaybeTransition transition={ props.transition } appear>\n { state.value === 'error' &&\n <div class=\"v-img__error\">{ slots.error() }</div>\n }\n </MaybeTransition>\n )\n }\n\n const __gradient = () => {\n if (!props.gradient) return null\n\n return <div class=\"v-img__gradient\" style={{ backgroundImage: `linear-gradient(${props.gradient})` }} />\n }\n\n const isBooted = ref(false)\n {\n const stop = watch(aspectRatio, val => {\n if (val) {\n // Doesn't work with nextTick, idk why\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n isBooted.value = true\n })\n })\n stop()\n }\n })\n }\n\n useRender(() => (\n <VResponsive\n class={[\n 'v-img',\n { 'v-img--booting': !isBooted.value },\n props.class,\n ]}\n style={[\n { width: convertToUnit(props.width === 'auto' ? naturalWidth.value : props.width) },\n props.style,\n ]}\n aspectRatio={ aspectRatio.value }\n aria-label={ props.alt }\n role={ props.alt ? 'img' : undefined }\n v-intersect={[{\n handler: init,\n options: props.options,\n }, null, ['once']]}\n >{{\n additional: () => (\n <>\n <__image />\n <__preloadImage />\n <__gradient />\n <__placeholder />\n <__error />\n </>\n ),\n default: slots.default,\n }}</VResponsive>\n ))\n\n return {\n currentSrc,\n image,\n state,\n naturalWidth,\n naturalHeight,\n }\n },\n})\n\nexport type VImg = InstanceType<typeof VImg>\n"],"mappings":"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"}
@@ -19,6 +19,7 @@ declare const VImg: {
19
19
  transition: string | boolean | (vue.TransitionProps & {
20
20
  component?: vue.Component | undefined;
21
21
  });
22
+ style: vue.StyleValue;
22
23
  eager: boolean;
23
24
  options: IntersectionObserverInit;
24
25
  cover: boolean;
@@ -27,6 +28,7 @@ declare const VImg: {
27
28
  transition: string | boolean | (vue.TransitionProps & {
28
29
  component?: vue.Component | undefined;
29
30
  });
31
+ style: vue.StyleValue;
30
32
  eager: boolean;
31
33
  options: IntersectionObserverInit;
32
34
  cover: boolean;
@@ -34,24 +36,19 @@ declare const VImg: {
34
36
  } & {
35
37
  width?: string | number | undefined;
36
38
  aspectRatio?: string | number | undefined;
39
+ class?: any;
37
40
  alt?: string | undefined;
38
41
  sizes?: string | undefined;
39
42
  srcset?: string | undefined;
40
43
  gradient?: string | undefined;
41
44
  lazySrc?: string | undefined;
42
45
  } & {
43
- $children?: {} | vue.VNodeChild | {
46
+ $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
44
47
  default?: (() => vue.VNodeChild) | undefined;
45
48
  placeholder?: (() => vue.VNodeChild) | undefined;
46
49
  error?: (() => vue.VNodeChild) | undefined;
47
50
  sources?: (() => vue.VNodeChild) | undefined;
48
51
  };
49
- $slots?: {
50
- default?: (() => vue.VNodeChild) | undefined;
51
- placeholder?: (() => vue.VNodeChild) | undefined;
52
- error?: (() => vue.VNodeChild) | undefined;
53
- sources?: (() => vue.VNodeChild) | undefined;
54
- } | undefined;
55
52
  'v-slots'?: {
56
53
  default?: false | (() => vue.VNodeChild) | undefined;
57
54
  placeholder?: false | (() => vue.VNodeChild) | undefined;
@@ -67,7 +64,7 @@ declare const VImg: {
67
64
  onError?: ((value: string | undefined) => any) | undefined;
68
65
  onLoad?: ((value: string | undefined) => any) | undefined;
69
66
  onLoadstart?: ((value: string | undefined) => any) | undefined;
70
- } & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, "transition" | "eager" | "options" | "cover" | "src">;
67
+ } & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, "transition" | "style" | "eager" | "options" | "cover" | "src">;
71
68
  $attrs: {
72
69
  [x: string]: unknown;
73
70
  };
@@ -85,6 +82,7 @@ declare const VImg: {
85
82
  transition: string | boolean | (vue.TransitionProps & {
86
83
  component?: vue.Component | undefined;
87
84
  });
85
+ style: vue.StyleValue;
88
86
  eager: boolean;
89
87
  options: IntersectionObserverInit;
90
88
  cover: boolean;
@@ -92,24 +90,19 @@ declare const VImg: {
92
90
  } & {
93
91
  width?: string | number | undefined;
94
92
  aspectRatio?: string | number | undefined;
93
+ class?: any;
95
94
  alt?: string | undefined;
96
95
  sizes?: string | undefined;
97
96
  srcset?: string | undefined;
98
97
  gradient?: string | undefined;
99
98
  lazySrc?: string | undefined;
100
99
  } & {
101
- $children?: {} | vue.VNodeChild | {
100
+ $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
102
101
  default?: (() => vue.VNodeChild) | undefined;
103
102
  placeholder?: (() => vue.VNodeChild) | undefined;
104
103
  error?: (() => vue.VNodeChild) | undefined;
105
104
  sources?: (() => vue.VNodeChild) | undefined;
106
105
  };
107
- $slots?: {
108
- default?: (() => vue.VNodeChild) | undefined;
109
- placeholder?: (() => vue.VNodeChild) | undefined;
110
- error?: (() => vue.VNodeChild) | undefined;
111
- sources?: (() => vue.VNodeChild) | undefined;
112
- } | undefined;
113
106
  'v-slots'?: {
114
107
  default?: false | (() => vue.VNodeChild) | undefined;
115
108
  placeholder?: false | (() => vue.VNodeChild) | undefined;
@@ -139,6 +132,7 @@ declare const VImg: {
139
132
  transition: string | boolean | (vue.TransitionProps & {
140
133
  component?: vue.Component | undefined;
141
134
  });
135
+ style: vue.StyleValue;
142
136
  eager: boolean;
143
137
  options: IntersectionObserverInit;
144
138
  cover: boolean;
@@ -167,6 +161,7 @@ declare const VImg: {
167
161
  transition: string | boolean | (vue.TransitionProps & {
168
162
  component?: vue.Component | undefined;
169
163
  });
164
+ style: vue.StyleValue;
170
165
  eager: boolean;
171
166
  options: IntersectionObserverInit;
172
167
  cover: boolean;
@@ -174,24 +169,19 @@ declare const VImg: {
174
169
  } & {
175
170
  width?: string | number | undefined;
176
171
  aspectRatio?: string | number | undefined;
172
+ class?: any;
177
173
  alt?: string | undefined;
178
174
  sizes?: string | undefined;
179
175
  srcset?: string | undefined;
180
176
  gradient?: string | undefined;
181
177
  lazySrc?: string | undefined;
182
178
  } & {
183
- $children?: {} | vue.VNodeChild | {
179
+ $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
184
180
  default?: (() => vue.VNodeChild) | undefined;
185
181
  placeholder?: (() => vue.VNodeChild) | undefined;
186
182
  error?: (() => vue.VNodeChild) | undefined;
187
183
  sources?: (() => vue.VNodeChild) | undefined;
188
184
  };
189
- $slots?: {
190
- default?: (() => vue.VNodeChild) | undefined;
191
- placeholder?: (() => vue.VNodeChild) | undefined;
192
- error?: (() => vue.VNodeChild) | undefined;
193
- sources?: (() => vue.VNodeChild) | undefined;
194
- } | undefined;
195
185
  'v-slots'?: {
196
186
  default?: false | (() => vue.VNodeChild) | undefined;
197
187
  placeholder?: false | (() => vue.VNodeChild) | undefined;
@@ -221,6 +211,7 @@ declare const VImg: {
221
211
  transition: string | boolean | (vue.TransitionProps & {
222
212
  component?: vue.Component | undefined;
223
213
  });
214
+ style: vue.StyleValue;
224
215
  eager: boolean;
225
216
  options: IntersectionObserverInit;
226
217
  cover: boolean;
@@ -228,24 +219,19 @@ declare const VImg: {
228
219
  } & {
229
220
  width?: string | number | undefined;
230
221
  aspectRatio?: string | number | undefined;
222
+ class?: any;
231
223
  alt?: string | undefined;
232
224
  sizes?: string | undefined;
233
225
  srcset?: string | undefined;
234
226
  gradient?: string | undefined;
235
227
  lazySrc?: string | undefined;
236
228
  } & {
237
- $children?: {} | vue.VNodeChild | {
229
+ $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
238
230
  default?: (() => vue.VNodeChild) | undefined;
239
231
  placeholder?: (() => vue.VNodeChild) | undefined;
240
232
  error?: (() => vue.VNodeChild) | undefined;
241
233
  sources?: (() => vue.VNodeChild) | undefined;
242
234
  };
243
- $slots?: {
244
- default?: (() => vue.VNodeChild) | undefined;
245
- placeholder?: (() => vue.VNodeChild) | undefined;
246
- error?: (() => vue.VNodeChild) | undefined;
247
- sources?: (() => vue.VNodeChild) | undefined;
248
- } | undefined;
249
235
  'v-slots'?: {
250
236
  default?: false | (() => vue.VNodeChild) | undefined;
251
237
  placeholder?: false | (() => vue.VNodeChild) | undefined;
@@ -275,6 +261,7 @@ declare const VImg: {
275
261
  transition: string | boolean | (vue.TransitionProps & {
276
262
  component?: vue.Component | undefined;
277
263
  });
264
+ style: vue.StyleValue;
278
265
  eager: boolean;
279
266
  options: IntersectionObserverInit;
280
267
  cover: boolean;
@@ -287,6 +274,11 @@ declare const VImg: {
287
274
  default: string;
288
275
  validator: (val: unknown) => boolean;
289
276
  };
277
+ class: PropType<any>;
278
+ style: {
279
+ type: PropType<vue.StyleValue>;
280
+ default: null;
281
+ };
290
282
  aspectRatio: (StringConstructor | NumberConstructor)[];
291
283
  alt: StringConstructor;
292
284
  cover: BooleanConstructor;
@@ -316,6 +308,11 @@ declare const VImg: {
316
308
  default: string;
317
309
  validator: (val: unknown) => boolean;
318
310
  };
311
+ class: PropType<any>;
312
+ style: {
313
+ type: PropType<vue.StyleValue>;
314
+ default: null;
315
+ };
319
316
  aspectRatio: (StringConstructor | NumberConstructor)[];
320
317
  alt: StringConstructor;
321
318
  cover: BooleanConstructor;
@@ -5,6 +5,7 @@ import "./VInput.css";
5
5
  // Components
6
6
  import { VMessages } from "../VMessages/index.mjs"; // Composables
7
7
  import { IconValue } from "../../composables/icons.mjs";
8
+ import { makeComponentProps } from "../../composables/component.mjs";
8
9
  import { makeDensityProps, useDensity } from "../../composables/density.mjs";
9
10
  import { makeValidationProps, useValidation } from "../../composables/validation.mjs"; // Utilities
10
11
  import { computed } from 'vue';
@@ -28,6 +29,7 @@ export const makeVInputProps = propsFactory({
28
29
  },
29
30
  'onClick:prepend': EventProp(),
30
31
  'onClick:append': EventProp(),
32
+ ...makeComponentProps(),
31
33
  ...makeDensityProps(),
32
34
  ...makeValidationProps()
33
35
  }, 'v-input');
@@ -95,7 +97,8 @@ export const VInput = genericComponent()({
95
97
  const hasMessages = messages.value.length > 0;
96
98
  const hasDetails = !props.hideDetails || props.hideDetails === 'auto' && (hasMessages || !!slots.details);
97
99
  return _createVNode("div", {
98
- "class": ['v-input', `v-input--${props.direction}`, densityClasses.value, validationClasses.value]
100
+ "class": ['v-input', `v-input--${props.direction}`, densityClasses.value, validationClasses.value, props.class],
101
+ "style": props.style
99
102
  }, [hasPrepend && _createVNode("div", {
100
103
  "key": "prepend",
101
104
  "class": "v-input__prepend"
@@ -1 +1 @@
1
- {"version":3,"file":"VInput.mjs","names":["VMessages","IconValue","makeDensityProps","useDensity","makeValidationProps","useValidation","computed","EventProp","genericComponent","getUid","propsFactory","useRender","useInputIcon","makeVInputProps","id","String","appendIcon","prependIcon","hideDetails","Boolean","hint","persistentHint","messages","type","Array","default","direction","validator","v","includes","VInput","name","props","emits","val","setup","_ref","attrs","slots","emit","densityClasses","InputIcon","uid","messagesId","value","errorMessages","isDirty","isDisabled","isReadonly","isPristine","isValid","isValidating","reset","resetValidation","validate","validationClasses","slotProps","length","focused","hasPrepend","prepend","hasAppend","append","hasMessages","hasDetails","details","_createVNode","message"],"sources":["../../../src/components/VInput/VInput.tsx"],"sourcesContent":["// Styles\nimport './VInput.sass'\n\n// Components\nimport { VMessages } from '@/components/VMessages'\n\n// Composables\nimport { IconValue } from '@/composables/icons'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeValidationProps, useValidation } from '@/composables/validation'\n\n// Utilities\nimport { computed } from 'vue'\nimport { EventProp, genericComponent, getUid, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { ComputedRef, PropType, Ref } from 'vue'\nimport type { MakeSlots } from '@/util'\nimport { useInputIcon } from '@/components/VInput/InputIcon'\n\nexport interface VInputSlot {\n id: ComputedRef<string>\n messagesId: ComputedRef<string>\n isDirty: ComputedRef<boolean>\n isDisabled: ComputedRef<boolean>\n isReadonly: ComputedRef<boolean>\n isPristine: Ref<boolean>\n isValid: ComputedRef<boolean | null>\n isValidating: Ref<boolean>\n reset: () => void\n resetValidation: () => void\n validate: () => void\n}\n\nexport const makeVInputProps = propsFactory({\n id: String,\n appendIcon: IconValue,\n prependIcon: IconValue,\n hideDetails: [Boolean, String] as PropType<boolean | 'auto'>,\n hint: String,\n persistentHint: Boolean,\n messages: {\n type: [Array, String] as PropType<string | string[]>,\n default: () => ([]),\n },\n direction: {\n type: String as PropType<'horizontal' | 'vertical'>,\n default: 'horizontal',\n validator: (v: any) => ['horizontal', 'vertical'].includes(v),\n },\n\n 'onClick:prepend': EventProp<[MouseEvent]>(),\n 'onClick:append': EventProp<[MouseEvent]>(),\n\n ...makeDensityProps(),\n ...makeValidationProps(),\n}, 'v-input')\n\nexport type VInputSlots = MakeSlots<{\n default: [VInputSlot]\n prepend: [VInputSlot]\n append: [VInputSlot]\n details: [VInputSlot]\n}>\n\nexport const VInput = genericComponent<VInputSlots>()({\n name: 'VInput',\n\n props: {\n ...makeVInputProps(),\n },\n\n emits: {\n 'update:modelValue': (val: any) => true,\n },\n\n setup (props, { attrs, slots, emit }) {\n const { densityClasses } = useDensity(props)\n const { InputIcon } = useInputIcon(props)\n\n const uid = getUid()\n const id = computed(() => props.id || `input-${uid}`)\n const messagesId = computed(() => `${id.value}-messages`)\n\n const {\n errorMessages,\n isDirty,\n isDisabled,\n isReadonly,\n isPristine,\n isValid,\n isValidating,\n reset,\n resetValidation,\n validate,\n validationClasses,\n } = useValidation(props, 'v-input', id)\n\n const slotProps = computed<VInputSlot>(() => ({\n id,\n messagesId,\n isDirty,\n isDisabled,\n isReadonly,\n isPristine,\n isValid,\n isValidating,\n reset,\n resetValidation,\n validate,\n }))\n\n const messages = computed(() => {\n if (errorMessages.value.length > 0) {\n return errorMessages.value\n } else if (props.hint && (props.persistentHint || props.focused)) {\n return props.hint\n } else {\n return props.messages\n }\n })\n\n useRender(() => {\n const hasPrepend = !!(slots.prepend || props.prependIcon)\n const hasAppend = !!(slots.append || props.appendIcon)\n const hasMessages = messages.value.length > 0\n const hasDetails = !props.hideDetails || (\n props.hideDetails === 'auto' &&\n (hasMessages || !!slots.details)\n )\n\n return (\n <div class={[\n 'v-input',\n `v-input--${props.direction}`,\n densityClasses.value,\n validationClasses.value,\n ]}\n >\n { hasPrepend && (\n <div key=\"prepend\" class=\"v-input__prepend\">\n { slots.prepend?.(slotProps.value) }\n\n { props.prependIcon && (\n <InputIcon\n key=\"prepend-icon\"\n name=\"prepend\"\n />\n )}\n </div>\n )}\n\n { slots.default && (\n <div class=\"v-input__control\">\n { slots.default?.(slotProps.value) }\n </div>\n )}\n\n { hasAppend && (\n <div key=\"append\" class=\"v-input__append\">\n { props.appendIcon && (\n <InputIcon\n key=\"append-icon\"\n name=\"append\"\n />\n )}\n\n { slots.append?.(slotProps.value) }\n </div>\n )}\n\n { hasDetails && (\n <div class=\"v-input__details\">\n <VMessages\n id={ messagesId.value }\n active={ hasMessages }\n messages={ messages.value }\n v-slots={{ message: slots.message }}\n />\n\n { slots.details?.(slotProps.value) }\n </div>\n )}\n </div>\n )\n })\n\n return {\n reset,\n resetValidation,\n validate,\n }\n },\n})\n\nexport type VInput = InstanceType<typeof VInput>\n"],"mappings":"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"}
1
+ {"version":3,"file":"VInput.mjs","names":["VMessages","IconValue","makeComponentProps","makeDensityProps","useDensity","makeValidationProps","useValidation","computed","EventProp","genericComponent","getUid","propsFactory","useRender","useInputIcon","makeVInputProps","id","String","appendIcon","prependIcon","hideDetails","Boolean","hint","persistentHint","messages","type","Array","default","direction","validator","v","includes","VInput","name","props","emits","val","setup","_ref","attrs","slots","emit","densityClasses","InputIcon","uid","messagesId","value","errorMessages","isDirty","isDisabled","isReadonly","isPristine","isValid","isValidating","reset","resetValidation","validate","validationClasses","slotProps","length","focused","hasPrepend","prepend","hasAppend","append","hasMessages","hasDetails","details","_createVNode","class","style","message"],"sources":["../../../src/components/VInput/VInput.tsx"],"sourcesContent":["// Styles\nimport './VInput.sass'\n\n// Components\nimport { VMessages } from '@/components/VMessages'\n\n// Composables\nimport { IconValue } from '@/composables/icons'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeValidationProps, useValidation } from '@/composables/validation'\n\n// Utilities\nimport { computed } from 'vue'\nimport { EventProp, genericComponent, getUid, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { ComputedRef, PropType, Ref } from 'vue'\nimport { useInputIcon } from '@/components/VInput/InputIcon'\n\nexport interface VInputSlot {\n id: ComputedRef<string>\n messagesId: ComputedRef<string>\n isDirty: ComputedRef<boolean>\n isDisabled: ComputedRef<boolean>\n isReadonly: ComputedRef<boolean>\n isPristine: Ref<boolean>\n isValid: ComputedRef<boolean | null>\n isValidating: Ref<boolean>\n reset: () => void\n resetValidation: () => void\n validate: () => void\n}\n\nexport const makeVInputProps = propsFactory({\n id: String,\n appendIcon: IconValue,\n prependIcon: IconValue,\n hideDetails: [Boolean, String] as PropType<boolean | 'auto'>,\n hint: String,\n persistentHint: Boolean,\n messages: {\n type: [Array, String] as PropType<string | string[]>,\n default: () => ([]),\n },\n direction: {\n type: String as PropType<'horizontal' | 'vertical'>,\n default: 'horizontal',\n validator: (v: any) => ['horizontal', 'vertical'].includes(v),\n },\n\n 'onClick:prepend': EventProp<[MouseEvent]>(),\n 'onClick:append': EventProp<[MouseEvent]>(),\n\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeValidationProps(),\n}, 'v-input')\n\nexport type VInputSlots = {\n default: [VInputSlot]\n prepend: [VInputSlot]\n append: [VInputSlot]\n details: [VInputSlot]\n}\n\nexport const VInput = genericComponent<VInputSlots>()({\n name: 'VInput',\n\n props: {\n ...makeVInputProps(),\n },\n\n emits: {\n 'update:modelValue': (val: any) => true,\n },\n\n setup (props, { attrs, slots, emit }) {\n const { densityClasses } = useDensity(props)\n const { InputIcon } = useInputIcon(props)\n\n const uid = getUid()\n const id = computed(() => props.id || `input-${uid}`)\n const messagesId = computed(() => `${id.value}-messages`)\n\n const {\n errorMessages,\n isDirty,\n isDisabled,\n isReadonly,\n isPristine,\n isValid,\n isValidating,\n reset,\n resetValidation,\n validate,\n validationClasses,\n } = useValidation(props, 'v-input', id)\n\n const slotProps = computed<VInputSlot>(() => ({\n id,\n messagesId,\n isDirty,\n isDisabled,\n isReadonly,\n isPristine,\n isValid,\n isValidating,\n reset,\n resetValidation,\n validate,\n }))\n\n const messages = computed(() => {\n if (errorMessages.value.length > 0) {\n return errorMessages.value\n } else if (props.hint && (props.persistentHint || props.focused)) {\n return props.hint\n } else {\n return props.messages\n }\n })\n\n useRender(() => {\n const hasPrepend = !!(slots.prepend || props.prependIcon)\n const hasAppend = !!(slots.append || props.appendIcon)\n const hasMessages = messages.value.length > 0\n const hasDetails = !props.hideDetails || (\n props.hideDetails === 'auto' &&\n (hasMessages || !!slots.details)\n )\n\n return (\n <div\n class={[\n 'v-input',\n `v-input--${props.direction}`,\n densityClasses.value,\n validationClasses.value,\n props.class,\n ]}\n style={ props.style }\n >\n { hasPrepend && (\n <div key=\"prepend\" class=\"v-input__prepend\">\n { slots.prepend?.(slotProps.value) }\n\n { props.prependIcon && (\n <InputIcon\n key=\"prepend-icon\"\n name=\"prepend\"\n />\n )}\n </div>\n )}\n\n { slots.default && (\n <div class=\"v-input__control\">\n { slots.default?.(slotProps.value) }\n </div>\n )}\n\n { hasAppend && (\n <div key=\"append\" class=\"v-input__append\">\n { props.appendIcon && (\n <InputIcon\n key=\"append-icon\"\n name=\"append\"\n />\n )}\n\n { slots.append?.(slotProps.value) }\n </div>\n )}\n\n { hasDetails && (\n <div class=\"v-input__details\">\n <VMessages\n id={ messagesId.value }\n active={ hasMessages }\n messages={ messages.value }\n v-slots={{ message: slots.message }}\n />\n\n { slots.details?.(slotProps.value) }\n </div>\n )}\n </div>\n )\n })\n\n return {\n reset,\n resetValidation,\n validate,\n }\n },\n})\n\nexport type VInput = InstanceType<typeof VInput>\n"],"mappings":"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"}