@vuetify/nightly 4.0.0-dev-20230426.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 (370) hide show
  1. package/CHANGELOG.md +10 -2
  2. package/dist/json/attributes.json +218 -194
  3. package/dist/json/importMap.json +12 -12
  4. package/dist/json/tags.json +7 -1
  5. package/dist/json/web-types.json +379 -326
  6. package/dist/vuetify-labs.css +1361 -1362
  7. package/dist/vuetify-labs.d.ts +5791 -8230
  8. package/dist/vuetify-labs.esm.js +1286 -1090
  9. package/dist/vuetify-labs.esm.js.map +1 -1
  10. package/dist/vuetify-labs.js +1285 -1089
  11. package/dist/vuetify-labs.min.css +2 -2
  12. package/dist/vuetify.css +29 -30
  13. package/dist/vuetify.d.ts +5991 -7516
  14. package/dist/vuetify.esm.js +1248 -1063
  15. package/dist/vuetify.esm.js.map +1 -1
  16. package/dist/vuetify.js +1247 -1062
  17. package/dist/vuetify.js.map +1 -1
  18. package/dist/vuetify.min.css +2 -2
  19. package/dist/vuetify.min.js +743 -738
  20. package/dist/vuetify.min.js.map +1 -1
  21. package/lib/blueprints/index.d.ts +1 -1
  22. package/lib/blueprints/md1.d.ts +1 -1
  23. package/lib/blueprints/md2.d.ts +1 -1
  24. package/lib/blueprints/md3.d.ts +1 -1
  25. package/lib/components/VAlert/VAlert.mjs +6 -4
  26. package/lib/components/VAlert/VAlert.mjs.map +1 -1
  27. package/lib/components/VAlert/index.d.ts +57 -55
  28. package/lib/components/VApp/VApp.mjs +4 -2
  29. package/lib/components/VApp/VApp.mjs.map +1 -1
  30. package/lib/components/VApp/index.d.ts +22 -13
  31. package/lib/components/VAppBar/VAppBar.mjs +3 -3
  32. package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
  33. package/lib/components/VAppBar/VAppBarNavIcon.mjs +7 -4
  34. package/lib/components/VAppBar/VAppBarNavIcon.mjs.map +1 -1
  35. package/lib/components/VAppBar/index.d.ts +87 -92
  36. package/lib/components/VAutocomplete/VAutocomplete.mjs +2 -1
  37. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  38. package/lib/components/VAutocomplete/index.d.ts +225 -403
  39. package/lib/components/VAvatar/VAvatar.mjs +4 -2
  40. package/lib/components/VAvatar/VAvatar.mjs.map +1 -1
  41. package/lib/components/VAvatar/index.d.ts +23 -14
  42. package/lib/components/VBadge/VBadge.mjs +6 -5
  43. package/lib/components/VBadge/VBadge.mjs.map +1 -1
  44. package/lib/components/VBadge/index.d.ts +27 -22
  45. package/lib/components/VBanner/VBanner.mjs +6 -4
  46. package/lib/components/VBanner/VBanner.mjs.map +1 -1
  47. package/lib/components/VBanner/VBannerActions.mjs +5 -2
  48. package/lib/components/VBanner/VBannerActions.mjs.map +1 -1
  49. package/lib/components/VBanner/index.d.ts +92 -66
  50. package/lib/components/VBottomNavigation/VBottomNavigation.mjs +4 -2
  51. package/lib/components/VBottomNavigation/VBottomNavigation.mjs.map +1 -1
  52. package/lib/components/VBottomNavigation/index.d.ts +22 -13
  53. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs +35 -18
  54. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs.map +1 -1
  55. package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.mjs +6 -3
  56. package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.mjs.map +1 -1
  57. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs +4 -2
  58. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs.map +1 -1
  59. package/lib/components/VBreadcrumbs/index.d.ts +134 -93
  60. package/lib/components/VBtn/VBtn.mjs +5 -3
  61. package/lib/components/VBtn/VBtn.mjs.map +1 -1
  62. package/lib/components/VBtn/index.d.ts +33 -36
  63. package/lib/components/VBtnGroup/VBtnGroup.mjs +4 -1
  64. package/lib/components/VBtnGroup/VBtnGroup.mjs.map +1 -1
  65. package/lib/components/VBtnGroup/index.d.ts +22 -13
  66. package/lib/components/VBtnToggle/VBtnToggle.mjs +4 -2
  67. package/lib/components/VBtnToggle/VBtnToggle.mjs.map +1 -1
  68. package/lib/components/VBtnToggle/index.d.ts +30 -21
  69. package/lib/components/VCard/VCard.mjs +5 -3
  70. package/lib/components/VCard/VCard.mjs.map +1 -1
  71. package/lib/components/VCard/VCardActions.mjs +7 -4
  72. package/lib/components/VCard/VCardActions.mjs.map +1 -1
  73. package/lib/components/VCard/VCardItem.mjs +5 -2
  74. package/lib/components/VCard/VCardItem.mjs.map +1 -1
  75. package/lib/components/VCard/index.d.ts +250 -141
  76. package/lib/components/VCarousel/VCarousel.mjs +3 -3
  77. package/lib/components/VCarousel/VCarousel.mjs.map +1 -1
  78. package/lib/components/VCarousel/VCarouselItem.mjs +6 -3
  79. package/lib/components/VCarousel/VCarouselItem.mjs.map +1 -1
  80. package/lib/components/VCarousel/index.d.ts +78 -141
  81. package/lib/components/VCheckbox/VCheckbox.mjs +3 -2
  82. package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
  83. package/lib/components/VCheckbox/VCheckboxBtn.mjs +2 -1
  84. package/lib/components/VCheckbox/VCheckboxBtn.mjs.map +1 -1
  85. package/lib/components/VCheckbox/index.d.ts +69 -103
  86. package/lib/components/VChip/VChip.mjs +7 -8
  87. package/lib/components/VChip/VChip.mjs.map +1 -1
  88. package/lib/components/VChip/index.d.ts +27 -30
  89. package/lib/components/VChipGroup/VChipGroup.mjs +4 -1
  90. package/lib/components/VChipGroup/VChipGroup.mjs.map +1 -1
  91. package/lib/components/VChipGroup/index.d.ts +22 -13
  92. package/lib/components/VCode/index.d.ts +30 -17
  93. package/lib/components/VColorPicker/VColorPicker.mjs +3 -3
  94. package/lib/components/VColorPicker/VColorPicker.mjs.map +1 -1
  95. package/lib/components/VColorPicker/VColorPickerCanvas.mjs +5 -2
  96. package/lib/components/VColorPicker/VColorPickerCanvas.mjs.map +1 -1
  97. package/lib/components/VColorPicker/VColorPickerEdit.mjs +6 -3
  98. package/lib/components/VColorPicker/VColorPickerEdit.mjs.map +1 -1
  99. package/lib/components/VColorPicker/VColorPickerPreview.mjs +6 -3
  100. package/lib/components/VColorPicker/VColorPickerPreview.mjs.map +1 -1
  101. package/lib/components/VColorPicker/VColorPickerSwatches.mjs +7 -5
  102. package/lib/components/VColorPicker/VColorPickerSwatches.mjs.map +1 -1
  103. package/lib/components/VColorPicker/index.d.ts +34 -1
  104. package/lib/components/VCombobox/VCombobox.mjs +2 -1
  105. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  106. package/lib/components/VCombobox/index.d.ts +225 -403
  107. package/lib/components/VCounter/VCounter.mjs +4 -1
  108. package/lib/components/VCounter/VCounter.mjs.map +1 -1
  109. package/lib/components/VCounter/index.d.ts +22 -145
  110. package/lib/components/VDefaultsProvider/index.d.ts +0 -12
  111. package/lib/components/VDialog/VDialog.mjs +4 -3
  112. package/lib/components/VDialog/VDialog.mjs.map +1 -1
  113. package/lib/components/VDialog/index.d.ts +104 -282
  114. package/lib/components/VDivider/VDivider.mjs +4 -2
  115. package/lib/components/VDivider/VDivider.mjs.map +1 -1
  116. package/lib/components/VDivider/index.d.ts +22 -13
  117. package/lib/components/VExpansionPanel/VExpansionPanel.mjs +4 -2
  118. package/lib/components/VExpansionPanel/VExpansionPanel.mjs.map +1 -1
  119. package/lib/components/VExpansionPanel/VExpansionPanelText.mjs +4 -1
  120. package/lib/components/VExpansionPanel/VExpansionPanelText.mjs.map +1 -1
  121. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs +4 -2
  122. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs.map +1 -1
  123. package/lib/components/VExpansionPanel/VExpansionPanels.mjs +4 -1
  124. package/lib/components/VExpansionPanel/VExpansionPanels.mjs.map +1 -1
  125. package/lib/components/VExpansionPanel/index.d.ts +109 -81
  126. package/lib/components/VField/VField.css +0 -1
  127. package/lib/components/VField/VField.mjs +9 -6
  128. package/lib/components/VField/VField.mjs.map +1 -1
  129. package/lib/components/VField/VField.sass +0 -1
  130. package/lib/components/VField/VFieldLabel.mjs +6 -3
  131. package/lib/components/VField/VFieldLabel.mjs.map +1 -1
  132. package/lib/components/VField/index.d.ts +119 -70
  133. package/lib/components/VFileInput/VFileInput.mjs +2 -1
  134. package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
  135. package/lib/components/VFileInput/index.d.ts +99 -150
  136. package/lib/components/VFooter/VFooter.mjs +4 -2
  137. package/lib/components/VFooter/VFooter.mjs.map +1 -1
  138. package/lib/components/VFooter/index.d.ts +22 -13
  139. package/lib/components/VForm/VForm.mjs +5 -2
  140. package/lib/components/VForm/VForm.mjs.map +1 -1
  141. package/lib/components/VForm/index.d.ts +30 -17
  142. package/lib/components/VGrid/VCol.mjs +4 -1
  143. package/lib/components/VGrid/VCol.mjs.map +1 -1
  144. package/lib/components/VGrid/VContainer.mjs +4 -1
  145. package/lib/components/VGrid/VContainer.mjs.map +1 -1
  146. package/lib/components/VGrid/VRow.mjs +4 -1
  147. package/lib/components/VGrid/VRow.mjs.map +1 -1
  148. package/lib/components/VGrid/index.d.ts +104 -60
  149. package/lib/components/VHover/index.d.ts +20 -44
  150. package/lib/components/VIcon/VIcon.mjs +4 -2
  151. package/lib/components/VIcon/VIcon.mjs.map +1 -1
  152. package/lib/components/VIcon/index.d.ts +23 -26
  153. package/lib/components/VImg/VImg.mjs +5 -3
  154. package/lib/components/VImg/VImg.mjs.map +1 -1
  155. package/lib/components/VImg/index.d.ts +26 -29
  156. package/lib/components/VInput/VInput.mjs +4 -1
  157. package/lib/components/VInput/VInput.mjs.map +1 -1
  158. package/lib/components/VInput/index.d.ts +31 -34
  159. package/lib/components/VItemGroup/VItemGroup.mjs +4 -1
  160. package/lib/components/VItemGroup/VItemGroup.mjs.map +1 -1
  161. package/lib/components/VItemGroup/index.d.ts +30 -33
  162. package/lib/components/VKbd/index.d.ts +30 -17
  163. package/lib/components/VLabel/VLabel.mjs +4 -1
  164. package/lib/components/VLabel/VLabel.mjs.map +1 -1
  165. package/lib/components/VLabel/index.d.ts +22 -13
  166. package/lib/components/VLayout/VLayout.mjs +8 -4
  167. package/lib/components/VLayout/VLayout.mjs.map +1 -1
  168. package/lib/components/VLayout/VLayoutItem.mjs +4 -2
  169. package/lib/components/VLayout/VLayoutItem.mjs.map +1 -1
  170. package/lib/components/VLayout/index.d.ts +44 -26
  171. package/lib/components/VLazy/VLazy.mjs +4 -2
  172. package/lib/components/VLazy/VLazy.mjs.map +1 -1
  173. package/lib/components/VLazy/index.d.ts +22 -13
  174. package/lib/components/VList/VList.mjs +7 -24
  175. package/lib/components/VList/VList.mjs.map +1 -1
  176. package/lib/components/VList/VListChildren.mjs.map +1 -1
  177. package/lib/components/VList/VListGroup.mjs +5 -2
  178. package/lib/components/VList/VListGroup.mjs.map +1 -1
  179. package/lib/components/VList/VListItem.mjs +4 -2
  180. package/lib/components/VList/VListItem.mjs.map +1 -1
  181. package/lib/components/VList/VListItemAction.mjs +4 -1
  182. package/lib/components/VList/VListItemAction.mjs.map +1 -1
  183. package/lib/components/VList/VListItemMedia.mjs +4 -1
  184. package/lib/components/VList/VListItemMedia.mjs.map +1 -1
  185. package/lib/components/VList/VListSubheader.mjs +5 -3
  186. package/lib/components/VList/VListSubheader.mjs.map +1 -1
  187. package/lib/components/VList/index.d.ts +932 -826
  188. package/lib/components/VLocaleProvider/VLocaleProvider.mjs +5 -2
  189. package/lib/components/VLocaleProvider/VLocaleProvider.mjs.map +1 -1
  190. package/lib/components/VLocaleProvider/index.d.ts +30 -17
  191. package/lib/components/VMain/VMain.mjs +4 -2
  192. package/lib/components/VMain/VMain.mjs.map +1 -1
  193. package/lib/components/VMain/index.d.ts +30 -17
  194. package/lib/components/VMenu/VMenu.mjs +2 -1
  195. package/lib/components/VMenu/VMenu.mjs.map +1 -1
  196. package/lib/components/VMenu/index.d.ts +104 -282
  197. package/lib/components/VMessages/VMessages.mjs +4 -2
  198. package/lib/components/VMessages/VMessages.mjs.map +1 -1
  199. package/lib/components/VMessages/index.d.ts +22 -145
  200. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +4 -2
  201. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
  202. package/lib/components/VNavigationDrawer/index.d.ts +26 -29
  203. package/lib/components/VNoSsr/VNoSsr.mjs.map +1 -1
  204. package/lib/components/VNoSsr/index.d.ts +3 -13
  205. package/lib/components/VOverlay/VOverlay.mjs +5 -3
  206. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  207. package/lib/components/VOverlay/index.d.ts +38 -45
  208. package/lib/components/VPagination/VPagination.mjs +4 -1
  209. package/lib/components/VPagination/VPagination.mjs.map +1 -1
  210. package/lib/components/VPagination/index.d.ts +23 -30
  211. package/lib/components/VParallax/VParallax.mjs +5 -2
  212. package/lib/components/VParallax/VParallax.mjs.map +1 -1
  213. package/lib/components/VParallax/index.d.ts +34 -33
  214. package/lib/components/VProgressCircular/VProgressCircular.mjs +4 -2
  215. package/lib/components/VProgressCircular/VProgressCircular.mjs.map +1 -1
  216. package/lib/components/VProgressCircular/index.d.ts +22 -13
  217. package/lib/components/VProgressLinear/VProgressLinear.mjs +6 -4
  218. package/lib/components/VProgressLinear/VProgressLinear.mjs.map +1 -1
  219. package/lib/components/VProgressLinear/index.d.ts +42 -45
  220. package/lib/components/VRadio/VRadio.mjs +2 -1
  221. package/lib/components/VRadio/VRadio.mjs.map +1 -1
  222. package/lib/components/VRadio/index.d.ts +27 -38
  223. package/lib/components/VRadioGroup/VRadioGroup.mjs +2 -1
  224. package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
  225. package/lib/components/VRadioGroup/index.d.ts +39 -62
  226. package/lib/components/VRangeSlider/VRangeSlider.mjs +2 -1
  227. package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
  228. package/lib/components/VRangeSlider/index.d.ts +27 -38
  229. package/lib/components/VRating/VRating.mjs +4 -1
  230. package/lib/components/VRating/VRating.mjs.map +1 -1
  231. package/lib/components/VRating/index.d.ts +23 -18
  232. package/lib/components/VResponsive/VResponsive.mjs +4 -2
  233. package/lib/components/VResponsive/VResponsive.mjs.map +1 -1
  234. package/lib/components/VResponsive/index.d.ts +43 -31
  235. package/lib/components/VSelect/VSelect.mjs +2 -1
  236. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  237. package/lib/components/VSelect/index.d.ts +194 -552
  238. package/lib/components/VSelectionControl/VSelectionControl.mjs +6 -2
  239. package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
  240. package/lib/components/VSelectionControl/index.d.ts +76 -46
  241. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs +4 -1
  242. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs.map +1 -1
  243. package/lib/components/VSelectionControlGroup/index.d.ts +23 -14
  244. package/lib/components/VSheet/VSheet.mjs +4 -2
  245. package/lib/components/VSheet/VSheet.mjs.map +1 -1
  246. package/lib/components/VSheet/index.d.ts +22 -13
  247. package/lib/components/VSlideGroup/VSlideGroup.mjs +6 -3
  248. package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
  249. package/lib/components/VSlideGroup/index.d.ts +59 -90
  250. package/lib/components/VSlider/VSlider.mjs +2 -1
  251. package/lib/components/VSlider/VSlider.mjs.map +1 -1
  252. package/lib/components/VSlider/VSliderThumb.mjs +6 -4
  253. package/lib/components/VSlider/VSliderThumb.mjs.map +1 -1
  254. package/lib/components/VSlider/VSliderTrack.mjs +6 -4
  255. package/lib/components/VSlider/VSliderTrack.mjs.map +1 -1
  256. package/lib/components/VSlider/index.d.ts +27 -38
  257. package/lib/components/VSnackbar/VSnackbar.mjs +2 -1
  258. package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
  259. package/lib/components/VSnackbar/index.d.ts +92 -142
  260. package/lib/components/VSwitch/VSwitch.mjs +2 -1
  261. package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
  262. package/lib/components/VSwitch/index.d.ts +39 -66
  263. package/lib/components/VSystemBar/VSystemBar.mjs +4 -2
  264. package/lib/components/VSystemBar/VSystemBar.mjs.map +1 -1
  265. package/lib/components/VSystemBar/index.d.ts +22 -13
  266. package/lib/components/VTable/VTable.mjs +4 -1
  267. package/lib/components/VTable/VTable.mjs.map +1 -1
  268. package/lib/components/VTable/index.d.ts +26 -29
  269. package/lib/components/VTabs/VTab.mjs +2 -2
  270. package/lib/components/VTabs/VTab.mjs.map +1 -1
  271. package/lib/components/VTabs/VTabs.mjs +2 -2
  272. package/lib/components/VTabs/VTabs.mjs.map +1 -1
  273. package/lib/components/VTabs/index.d.ts +45 -27
  274. package/lib/components/VTextField/VTextField.mjs +2 -1
  275. package/lib/components/VTextField/VTextField.mjs.map +1 -1
  276. package/lib/components/VTextField/index.d.ts +208 -269
  277. package/lib/components/VTextarea/VTextarea.mjs +2 -1
  278. package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
  279. package/lib/components/VTextarea/index.d.ts +79 -122
  280. package/lib/components/VThemeProvider/VThemeProvider.mjs +6 -3
  281. package/lib/components/VThemeProvider/VThemeProvider.mjs.map +1 -1
  282. package/lib/components/VThemeProvider/index.d.ts +22 -13
  283. package/lib/components/VTimeline/VTimeline.mjs +5 -3
  284. package/lib/components/VTimeline/VTimeline.mjs.map +1 -1
  285. package/lib/components/VTimeline/VTimelineDivider.mjs +4 -1
  286. package/lib/components/VTimeline/VTimelineDivider.mjs.map +1 -1
  287. package/lib/components/VTimeline/VTimelineItem.mjs +8 -6
  288. package/lib/components/VTimeline/VTimelineItem.mjs.map +1 -1
  289. package/lib/components/VTimeline/index.d.ts +67 -57
  290. package/lib/components/VToolbar/VToolbar.mjs +4 -2
  291. package/lib/components/VToolbar/VToolbar.mjs.map +1 -1
  292. package/lib/components/VToolbar/VToolbarItems.mjs +9 -4
  293. package/lib/components/VToolbar/VToolbarItems.mjs.map +1 -1
  294. package/lib/components/VToolbar/VToolbarTitle.mjs +5 -2
  295. package/lib/components/VToolbar/VToolbarTitle.mjs.map +1 -1
  296. package/lib/components/VToolbar/index.d.ts +74 -71
  297. package/lib/components/VTooltip/VTooltip.mjs +2 -1
  298. package/lib/components/VTooltip/VTooltip.mjs.map +1 -1
  299. package/lib/components/VTooltip/index.d.ts +104 -150
  300. package/lib/components/VValidation/index.d.ts +0 -12
  301. package/lib/components/VVirtualScroll/VVirtualScroll.mjs +21 -23
  302. package/lib/components/VVirtualScroll/VVirtualScroll.mjs.map +1 -1
  303. package/lib/components/VVirtualScroll/VVirtualScrollItem.mjs +5 -2
  304. package/lib/components/VVirtualScroll/VVirtualScrollItem.mjs.map +1 -1
  305. package/lib/components/VVirtualScroll/index.d.ts +70 -30
  306. package/lib/components/VWindow/VWindow.mjs +4 -1
  307. package/lib/components/VWindow/VWindow.mjs.map +1 -1
  308. package/lib/components/VWindow/VWindowItem.mjs +4 -1
  309. package/lib/components/VWindow/VWindowItem.mjs.map +1 -1
  310. package/lib/components/VWindow/index.d.ts +61 -79
  311. package/lib/components/index.d.ts +5229 -6754
  312. package/lib/components/transitions/index.d.ts +0 -192
  313. package/lib/composables/component.mjs +11 -0
  314. package/lib/composables/component.mjs.map +1 -0
  315. package/lib/composables/defaults.mjs +51 -5
  316. package/lib/composables/defaults.mjs.map +1 -1
  317. package/lib/composables/icons.mjs +15 -4
  318. package/lib/composables/icons.mjs.map +1 -1
  319. package/lib/composables/index.mjs +1 -1
  320. package/lib/composables/index.mjs.map +1 -1
  321. package/lib/composables/loader.mjs.map +1 -1
  322. package/lib/entry-bundler.mjs +1 -1
  323. package/lib/framework.mjs +2 -2
  324. package/lib/framework.mjs.map +1 -1
  325. package/lib/iconsets/fa-svg.d.ts +1 -1
  326. package/lib/iconsets/fa.d.ts +1 -1
  327. package/lib/iconsets/fa4.d.ts +1 -1
  328. package/lib/iconsets/md.d.ts +1 -1
  329. package/lib/iconsets/mdi-svg.d.ts +1 -1
  330. package/lib/iconsets/mdi.d.ts +1 -1
  331. package/lib/index.d.ts +11 -11
  332. package/lib/labs/VDataTable/VDataTable.mjs +1 -1
  333. package/lib/labs/VDataTable/VDataTable.mjs.map +1 -1
  334. package/lib/labs/VDataTable/VDataTableHeaders.mjs +34 -20
  335. package/lib/labs/VDataTable/VDataTableHeaders.mjs.map +1 -1
  336. package/lib/labs/VDataTable/VDataTableRow.mjs +2 -4
  337. package/lib/labs/VDataTable/VDataTableRow.mjs.map +1 -1
  338. package/lib/labs/VDataTable/VDataTableRows.mjs +2 -2
  339. package/lib/labs/VDataTable/VDataTableRows.mjs.map +1 -1
  340. package/lib/labs/VDataTable/VDataTableServer.mjs +1 -1
  341. package/lib/labs/VDataTable/VDataTableServer.mjs.map +1 -1
  342. package/lib/labs/VDataTable/index.d.ts +61 -933
  343. package/lib/labs/VInfiniteScroll/index.d.ts +8 -36
  344. package/lib/labs/VSkeletonLoader/index.d.ts +0 -12
  345. package/lib/labs/components.d.ts +115 -1027
  346. package/lib/labs/date/DateAdapter.mjs +2 -0
  347. package/lib/labs/date/DateAdapter.mjs.map +1 -0
  348. package/lib/labs/date/adapters/vuetify.d.ts +52 -0
  349. package/lib/{adapters → labs/date/adapters}/vuetify.mjs +2 -2
  350. package/lib/labs/date/adapters/vuetify.mjs.map +1 -0
  351. package/lib/{composables → labs/date}/date.mjs +3 -3
  352. package/lib/labs/date/date.mjs.map +1 -0
  353. package/lib/labs/date/index.d.ts +40 -0
  354. package/lib/labs/date/index.mjs +2 -0
  355. package/lib/labs/date/index.mjs.map +1 -0
  356. package/lib/labs/index.mjs +3 -2
  357. package/lib/labs/index.mjs.map +1 -1
  358. package/lib/util/createSimpleFunctional.mjs +9 -4
  359. package/lib/util/createSimpleFunctional.mjs.map +1 -1
  360. package/lib/util/defineComponent.mjs +11 -43
  361. package/lib/util/defineComponent.mjs.map +1 -1
  362. package/lib/util/helpers.mjs +28 -2
  363. package/lib/util/helpers.mjs.map +1 -1
  364. package/lib/util/index.mjs +1 -0
  365. package/lib/util/index.mjs.map +1 -1
  366. package/package.json +2 -1
  367. package/lib/adapters/date-adapter.mjs +0 -2
  368. package/lib/adapters/date-adapter.mjs.map +0 -1
  369. package/lib/adapters/vuetify.mjs.map +0 -1
  370. package/lib/composables/date.mjs.map +0 -1
@@ -1,17 +1,18 @@
1
- // Utilities
2
- import { computed, inject, provide, ref, unref } from 'vue';
3
- import { mergeDeep } from "../util/index.mjs"; // Types
1
+ // Composables
2
+ import { useToggleScope } from "./toggleScope.mjs"; // Utilities
3
+ import { computed, inject, provide, ref, shallowRef, unref, watchEffect } from 'vue';
4
+ import { getCurrentInstance, injectSelf, mergeDeep, toKebabCase } from "../util/index.mjs"; // Types
4
5
  export const DefaultsSymbol = Symbol.for('vuetify:defaults');
5
6
  export function createDefaults(options) {
6
7
  return ref(options);
7
8
  }
8
- export function useDefaults() {
9
+ export function injectDefaults() {
9
10
  const defaults = inject(DefaultsSymbol);
10
11
  if (!defaults) throw new Error('[Vuetify] Could not find defaults instance');
11
12
  return defaults;
12
13
  }
13
14
  export function provideDefaults(defaults, options) {
14
- const injectedDefaults = useDefaults();
15
+ const injectedDefaults = injectDefaults();
15
16
  const providedDefaults = ref(defaults);
16
17
  const newDefaults = computed(() => {
17
18
  const disabled = unref(options?.disabled);
@@ -38,4 +39,49 @@ export function provideDefaults(defaults, options) {
38
39
  provide(DefaultsSymbol, newDefaults);
39
40
  return newDefaults;
40
41
  }
42
+ function propIsDefined(vnode, prop) {
43
+ return typeof vnode.props?.[prop] !== 'undefined' || typeof vnode.props?.[toKebabCase(prop)] !== 'undefined';
44
+ }
45
+ export function useDefaults(props, name) {
46
+ let defaults = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : injectDefaults();
47
+ const vm = getCurrentInstance('useDefaults');
48
+ name = name ?? vm.type.name ?? vm.type.__name;
49
+ if (!name) {
50
+ throw new Error('[Vuetify] Could not determine component name');
51
+ }
52
+ const componentDefaults = computed(() => defaults.value[props._as ?? name]);
53
+ const _props = new Proxy(props, {
54
+ get(target, prop) {
55
+ const propValue = Reflect.get(target, prop);
56
+ if (prop === 'class' || prop === 'style') {
57
+ return [componentDefaults.value?.[prop], propValue].filter(v => v != null);
58
+ } else if (typeof prop === 'string' && !propIsDefined(vm.vnode, prop)) {
59
+ return componentDefaults.value?.[prop] ?? defaults.value.global?.[prop] ?? propValue;
60
+ }
61
+ return propValue;
62
+ }
63
+ });
64
+ const _subcomponentDefaults = shallowRef();
65
+ watchEffect(() => {
66
+ if (componentDefaults.value) {
67
+ const subComponents = Object.entries(componentDefaults.value).filter(_ref => {
68
+ let [key] = _ref;
69
+ return key.startsWith(key[0].toUpperCase());
70
+ });
71
+ if (subComponents.length) _subcomponentDefaults.value = Object.fromEntries(subComponents);
72
+ }
73
+ });
74
+ function provideSubDefaults() {
75
+ // If subcomponent defaults are provided, override any
76
+ // subcomponents provided by the component's setup function.
77
+ // This uses injectSelf so must be done after the original setup to work.
78
+ useToggleScope(_subcomponentDefaults, () => {
79
+ provideDefaults(mergeDeep(injectSelf(DefaultsSymbol)?.value ?? {}, _subcomponentDefaults.value));
80
+ });
81
+ }
82
+ return {
83
+ props: _props,
84
+ provideSubDefaults
85
+ };
86
+ }
41
87
  //# sourceMappingURL=defaults.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.mjs","names":["computed","inject","provide","ref","unref","mergeDeep","DefaultsSymbol","Symbol","for","createDefaults","options","useDefaults","defaults","Error","provideDefaults","injectedDefaults","providedDefaults","newDefaults","disabled","value","scoped","reset","root","properties","prev","len","Number","Infinity","i"],"sources":["../../src/composables/defaults.ts"],"sourcesContent":["// Utilities\nimport { computed, inject, provide, ref, unref } from 'vue'\nimport { mergeDeep } from '@/util'\n\n// Types\nimport type { ComputedRef, InjectionKey, Ref } from 'vue'\nimport type { MaybeRef } from '@/util'\n\nexport type DefaultsInstance = undefined | {\n [key: string]: undefined | Record<string, unknown>\n global?: Record<string, unknown>\n}\n\nexport type DefaultsOptions = Partial<DefaultsInstance>\n\nexport const DefaultsSymbol: InjectionKey<Ref<DefaultsInstance>> = Symbol.for('vuetify:defaults')\n\nexport function createDefaults (options?: DefaultsInstance): Ref<DefaultsInstance> {\n return ref(options)\n}\n\nexport function useDefaults () {\n const defaults = inject(DefaultsSymbol)\n\n if (!defaults) throw new Error('[Vuetify] Could not find defaults instance')\n\n return defaults\n}\n\nexport function provideDefaults (\n defaults?: MaybeRef<DefaultsInstance | undefined>,\n options?: {\n disabled?: MaybeRef<boolean | undefined>\n reset?: MaybeRef<number | string | undefined>\n root?: MaybeRef<boolean | undefined>\n scoped?: MaybeRef<boolean | undefined>\n }\n) {\n const injectedDefaults = useDefaults()\n const providedDefaults = ref(defaults)\n\n const newDefaults = computed(() => {\n const disabled = unref(options?.disabled)\n\n if (disabled) return injectedDefaults.value\n\n const scoped = unref(options?.scoped)\n const reset = unref(options?.reset)\n const root = unref(options?.root)\n\n let properties = mergeDeep(providedDefaults.value, { prev: injectedDefaults.value })\n\n if (scoped) return properties\n\n if (reset || root) {\n const len = Number(reset || Infinity)\n\n for (let i = 0; i <= len; i++) {\n if (!properties || !('prev' in properties)) {\n break\n }\n\n properties = properties.prev\n }\n\n return properties\n }\n\n return properties.prev\n ? mergeDeep(properties.prev, properties)\n : properties\n }) as ComputedRef<DefaultsInstance>\n\n provide(DefaultsSymbol, newDefaults)\n\n return newDefaults\n}\n"],"mappings":"AAAA;AACA,SAASA,QAAQ,EAAEC,MAAM,EAAEC,OAAO,EAAEC,GAAG,EAAEC,KAAK,QAAQ,KAAK;AAAA,SAClDC,SAAS,6BAElB;AAWA,OAAO,MAAMC,cAAmD,GAAGC,MAAM,CAACC,GAAG,CAAC,kBAAkB,CAAC;AAEjG,OAAO,SAASC,cAAcA,CAAEC,OAA0B,EAAyB;EACjF,OAAOP,GAAG,CAACO,OAAO,CAAC;AACrB;AAEA,OAAO,SAASC,WAAWA,CAAA,EAAI;EAC7B,MAAMC,QAAQ,GAAGX,MAAM,CAACK,cAAc,CAAC;EAEvC,IAAI,CAACM,QAAQ,EAAE,MAAM,IAAIC,KAAK,CAAC,4CAA4C,CAAC;EAE5E,OAAOD,QAAQ;AACjB;AAEA,OAAO,SAASE,eAAeA,CAC7BF,QAAiD,EACjDF,OAKC,EACD;EACA,MAAMK,gBAAgB,GAAGJ,WAAW,EAAE;EACtC,MAAMK,gBAAgB,GAAGb,GAAG,CAACS,QAAQ,CAAC;EAEtC,MAAMK,WAAW,GAAGjB,QAAQ,CAAC,MAAM;IACjC,MAAMkB,QAAQ,GAAGd,KAAK,CAACM,OAAO,EAAEQ,QAAQ,CAAC;IAEzC,IAAIA,QAAQ,EAAE,OAAOH,gBAAgB,CAACI,KAAK;IAE3C,MAAMC,MAAM,GAAGhB,KAAK,CAACM,OAAO,EAAEU,MAAM,CAAC;IACrC,MAAMC,KAAK,GAAGjB,KAAK,CAACM,OAAO,EAAEW,KAAK,CAAC;IACnC,MAAMC,IAAI,GAAGlB,KAAK,CAACM,OAAO,EAAEY,IAAI,CAAC;IAEjC,IAAIC,UAAU,GAAGlB,SAAS,CAACW,gBAAgB,CAACG,KAAK,EAAE;MAAEK,IAAI,EAAET,gBAAgB,CAACI;IAAM,CAAC,CAAC;IAEpF,IAAIC,MAAM,EAAE,OAAOG,UAAU;IAE7B,IAAIF,KAAK,IAAIC,IAAI,EAAE;MACjB,MAAMG,GAAG,GAAGC,MAAM,CAACL,KAAK,IAAIM,QAAQ,CAAC;MAErC,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,IAAIH,GAAG,EAAEG,CAAC,EAAE,EAAE;QAC7B,IAAI,CAACL,UAAU,IAAI,EAAE,MAAM,IAAIA,UAAU,CAAC,EAAE;UAC1C;QACF;QAEAA,UAAU,GAAGA,UAAU,CAACC,IAAI;MAC9B;MAEA,OAAOD,UAAU;IACnB;IAEA,OAAOA,UAAU,CAACC,IAAI,GAClBnB,SAAS,CAACkB,UAAU,CAACC,IAAI,EAAED,UAAU,CAAC,GACtCA,UAAU;EAChB,CAAC,CAAkC;EAEnCrB,OAAO,CAACI,cAAc,EAAEW,WAAW,CAAC;EAEpC,OAAOA,WAAW;AACpB"}
1
+ {"version":3,"file":"defaults.mjs","names":["useToggleScope","computed","inject","provide","ref","shallowRef","unref","watchEffect","getCurrentInstance","injectSelf","mergeDeep","toKebabCase","DefaultsSymbol","Symbol","for","createDefaults","options","injectDefaults","defaults","Error","provideDefaults","injectedDefaults","providedDefaults","newDefaults","disabled","value","scoped","reset","root","properties","prev","len","Number","Infinity","i","propIsDefined","vnode","prop","props","useDefaults","name","arguments","length","undefined","vm","type","__name","componentDefaults","_as","_props","Proxy","get","target","propValue","Reflect","filter","v","global","_subcomponentDefaults","subComponents","Object","entries","_ref","key","startsWith","toUpperCase","fromEntries","provideSubDefaults"],"sources":["../../src/composables/defaults.ts"],"sourcesContent":["// Composables\nimport { useToggleScope } from '@/composables/toggleScope'\n\n// Utilities\nimport { computed, inject, provide, ref, shallowRef, unref, watchEffect } from 'vue'\nimport { getCurrentInstance, injectSelf, mergeDeep, toKebabCase } from '@/util'\n\n// Types\nimport type { ComputedRef, InjectionKey, Ref, VNode } from 'vue'\nimport type { MaybeRef } from '@/util'\n\nexport type DefaultsInstance = undefined | {\n [key: string]: undefined | Record<string, unknown>\n global?: Record<string, unknown>\n}\n\nexport type DefaultsOptions = Partial<DefaultsInstance>\n\nexport const DefaultsSymbol: InjectionKey<Ref<DefaultsInstance>> = Symbol.for('vuetify:defaults')\n\nexport function createDefaults (options?: DefaultsInstance): Ref<DefaultsInstance> {\n return ref(options)\n}\n\nexport function injectDefaults () {\n const defaults = inject(DefaultsSymbol)\n\n if (!defaults) throw new Error('[Vuetify] Could not find defaults instance')\n\n return defaults\n}\n\nexport function provideDefaults (\n defaults?: MaybeRef<DefaultsInstance | undefined>,\n options?: {\n disabled?: MaybeRef<boolean | undefined>\n reset?: MaybeRef<number | string | undefined>\n root?: MaybeRef<boolean | undefined>\n scoped?: MaybeRef<boolean | undefined>\n }\n) {\n const injectedDefaults = injectDefaults()\n const providedDefaults = ref(defaults)\n\n const newDefaults = computed(() => {\n const disabled = unref(options?.disabled)\n\n if (disabled) return injectedDefaults.value\n\n const scoped = unref(options?.scoped)\n const reset = unref(options?.reset)\n const root = unref(options?.root)\n\n let properties = mergeDeep(providedDefaults.value, { prev: injectedDefaults.value })\n\n if (scoped) return properties\n\n if (reset || root) {\n const len = Number(reset || Infinity)\n\n for (let i = 0; i <= len; i++) {\n if (!properties || !('prev' in properties)) {\n break\n }\n\n properties = properties.prev\n }\n\n return properties\n }\n\n return properties.prev\n ? mergeDeep(properties.prev, properties)\n : properties\n }) as ComputedRef<DefaultsInstance>\n\n provide(DefaultsSymbol, newDefaults)\n\n return newDefaults\n}\n\nfunction propIsDefined (vnode: VNode, prop: string) {\n return typeof vnode.props?.[prop] !== 'undefined' ||\n typeof vnode.props?.[toKebabCase(prop)] !== 'undefined'\n}\n\nexport function useDefaults (props: Record<string, any>, name?: string, defaults = injectDefaults()) {\n const vm = getCurrentInstance('useDefaults')\n\n name = name ?? vm.type.name ?? vm.type.__name\n if (!name) {\n throw new Error('[Vuetify] Could not determine component name')\n }\n\n const componentDefaults = computed(() => defaults.value![props._as ?? name])\n const _props = new Proxy(props, {\n get (target, prop) {\n const propValue = Reflect.get(target, prop)\n if (prop === 'class' || prop === 'style') {\n return [componentDefaults.value?.[prop], propValue].filter(v => v != null)\n } else if (typeof prop === 'string' && !propIsDefined(vm.vnode, prop)) {\n return componentDefaults.value?.[prop] ?? defaults.value!.global?.[prop] ?? propValue\n }\n return propValue\n },\n })\n\n const _subcomponentDefaults = shallowRef()\n watchEffect(() => {\n if (componentDefaults.value) {\n const subComponents = Object.entries(componentDefaults.value).filter(([key]) => key.startsWith(key[0].toUpperCase()))\n if (subComponents.length) _subcomponentDefaults.value = Object.fromEntries(subComponents)\n }\n })\n\n function provideSubDefaults () {\n // If subcomponent defaults are provided, override any\n // subcomponents provided by the component's setup function.\n // This uses injectSelf so must be done after the original setup to work.\n useToggleScope(_subcomponentDefaults, () => {\n provideDefaults(mergeDeep(\n injectSelf(DefaultsSymbol)?.value ?? {},\n _subcomponentDefaults.value\n ))\n })\n }\n\n return { props: _props, provideSubDefaults }\n}\n"],"mappings":"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"}
@@ -3,7 +3,7 @@ import { mergeProps as _mergeProps, createVNode as _createVNode } from "vue";
3
3
  import { aliases, mdi } from "../iconsets/mdi.mjs"; // Utilities
4
4
  import { computed, inject, isRef } from 'vue';
5
5
  import { defineComponent, genericComponent, mergeDeep, propsFactory } from "../util/index.mjs"; // Types
6
- export const IconValue = [String, Function, Object];
6
+ export const IconValue = [String, Function, Object, Array];
7
7
  export const IconSymbol = Symbol.for('vuetify:icons');
8
8
  export const makeIconProps = propsFactory({
9
9
  icon: {
@@ -23,8 +23,9 @@ export const VComponentIcon = genericComponent()({
23
23
  slots
24
24
  } = _ref;
25
25
  return () => {
26
+ const Icon = props.icon;
26
27
  return _createVNode(props.tag, null, {
27
- default: () => [props.icon ? _createVNode(props.icon, null, null) : slots.default?.()]
28
+ default: () => [props.icon ? _createVNode(Icon, null, null) : slots.default?.()]
28
29
  });
29
30
  };
30
31
  }
@@ -47,7 +48,12 @@ export const VSvgIcon = defineComponent({
47
48
  "viewBox": "0 0 24 24",
48
49
  "role": "img",
49
50
  "aria-hidden": "true"
50
- }, [_createVNode("path", {
51
+ }, [Array.isArray(props.icon) ? props.icon.map(path => Array.isArray(path) ? _createVNode("path", {
52
+ "d": path[0],
53
+ "fill-opacity": path[1]
54
+ }, null) : _createVNode("path", {
55
+ "d": path
56
+ }, null)) : _createVNode("path", {
51
57
  "d": props.icon
52
58
  }, null)])]
53
59
  });
@@ -112,7 +118,12 @@ export const useIcon = props => {
112
118
  }
113
119
  }
114
120
  if (!icon) throw new Error(`Could not find aliased icon "${iconAlias}"`);
115
- if (typeof icon !== 'string') {
121
+ if (Array.isArray(icon)) {
122
+ return {
123
+ component: VSvgIcon,
124
+ icon
125
+ };
126
+ } else if (typeof icon !== 'string') {
116
127
  return {
117
128
  component: VComponentIcon,
118
129
  icon
@@ -1 +1 @@
1
- {"version":3,"file":"icons.mjs","names":["aliases","mdi","computed","inject","isRef","defineComponent","genericComponent","mergeDeep","propsFactory","IconValue","String","Function","Object","IconSymbol","Symbol","for","makeIconProps","icon","type","tag","required","VComponentIcon","name","props","setup","_ref","slots","_createVNode","default","VSvgIcon","inheritAttrs","_ref2","attrs","_mergeProps","VLigatureIcon","VClassIcon","defaultSets","svg","component","class","createIcons","options","defaultSet","sets","useIcon","icons","Error","iconData","iconAlias","value","trim","startsWith","slice","iconSetName","keys","find","setName","iconName","length","iconSet"],"sources":["../../src/composables/icons.tsx"],"sourcesContent":["// Icons\nimport { aliases, mdi } from '@/iconsets/mdi'\n\n// Utilities\nimport { computed, inject, isRef } from 'vue'\nimport { defineComponent, genericComponent, mergeDeep, propsFactory } from '@/util'\n\n// Types\nimport type { InjectionKey, JSXComponent, PropType, Ref } from 'vue'\n\nexport type IconValue = string | JSXComponent\nexport const IconValue = [String, Function, Object] as PropType<IconValue>\n\nexport interface IconAliases {\n [name: string]: IconValue\n complete: IconValue\n cancel: IconValue\n close: IconValue\n delete: IconValue\n clear: IconValue\n success: IconValue\n info: IconValue\n warning: IconValue\n error: IconValue\n prev: IconValue\n next: IconValue\n checkboxOn: IconValue\n checkboxOff: IconValue\n checkboxIndeterminate: IconValue\n delimiter: IconValue\n sortAsc: IconValue\n sortDesc: IconValue\n expand: IconValue\n menu: IconValue\n subgroup: IconValue\n dropdown: IconValue\n radioOn: IconValue\n radioOff: IconValue\n edit: IconValue\n ratingEmpty: IconValue\n ratingFull: IconValue\n ratingHalf: IconValue\n loading: IconValue\n first: IconValue\n last: IconValue\n unfold: IconValue\n file: IconValue\n plus: IconValue\n minus: IconValue\n}\n\nexport interface IconProps {\n tag: string\n icon?: IconValue\n disabled?: Boolean\n}\n\ntype IconComponent = JSXComponent<IconProps>\n\nexport interface IconSet {\n component: IconComponent\n}\n\nexport type IconOptions = {\n defaultSet: string\n aliases?: Partial<IconAliases>\n sets: Record<string, IconSet>\n}\n\ntype IconInstance = {\n component: IconComponent\n icon?: IconValue\n}\n\nexport const IconSymbol: InjectionKey<IconOptions> = Symbol.for('vuetify:icons')\n\nexport const makeIconProps = propsFactory({\n icon: {\n type: IconValue,\n },\n // Could not remove this and use makeTagProps, types complained because it is not required\n tag: {\n type: String,\n required: true,\n },\n}, 'icon')\n\nexport const VComponentIcon = genericComponent()({\n name: 'VComponentIcon',\n\n props: makeIconProps(),\n\n setup (props, { slots }) {\n return () => {\n return (\n <props.tag>\n { props.icon ? <props.icon /> : slots.default?.() }\n </props.tag>\n )\n }\n },\n})\nexport type VComponentIcon = InstanceType<typeof VComponentIcon>\n\nexport const VSvgIcon = defineComponent({\n name: 'VSvgIcon',\n\n inheritAttrs: false,\n\n props: makeIconProps(),\n\n setup (props, { attrs }) {\n return () => {\n return (\n <props.tag { ...attrs } style={ null }>\n <svg\n class=\"v-icon__svg\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n role=\"img\"\n aria-hidden=\"true\"\n >\n <path d={ props.icon as string }></path>\n </svg>\n </props.tag>\n )\n }\n },\n})\nexport type VSvgIcon = InstanceType<typeof VSvgIcon>\n\nexport const VLigatureIcon = defineComponent({\n name: 'VLigatureIcon',\n\n props: makeIconProps(),\n\n setup (props) {\n return () => {\n return <props.tag>{ props.icon }</props.tag>\n }\n },\n})\nexport type VLigatureIcon = InstanceType<typeof VLigatureIcon>\n\nexport const VClassIcon = defineComponent({\n name: 'VClassIcon',\n\n props: makeIconProps(),\n\n setup (props) {\n return () => {\n return <props.tag class={ props.icon }></props.tag>\n }\n },\n})\nexport type VClassIcon = InstanceType<typeof VClassIcon>\n\nexport const defaultSets: Record<string, IconSet> = {\n svg: {\n component: VSvgIcon,\n },\n class: {\n component: VClassIcon,\n },\n}\n\n// Composables\nexport function createIcons (options?: IconOptions) {\n return mergeDeep({\n defaultSet: 'mdi',\n sets: {\n ...defaultSets,\n mdi,\n },\n aliases,\n }, options)\n}\n\nexport const useIcon = (props: Ref<string | undefined> | { icon?: IconValue }) => {\n const icons = inject(IconSymbol)\n\n if (!icons) throw new Error('Missing Vuetify Icons provide!')\n\n const iconData: Ref<IconInstance> = computed(() => {\n const iconAlias = isRef(props) ? props.value : props.icon\n\n if (!iconAlias) return { component: VComponentIcon }\n\n let icon: IconValue | undefined = iconAlias\n\n if (typeof icon === 'string') {\n icon = icon.trim()\n\n if (icon.startsWith('$')) {\n icon = icons.aliases?.[icon.slice(1)]\n }\n }\n\n if (!icon) throw new Error(`Could not find aliased icon \"${iconAlias}\"`)\n\n if (typeof icon !== 'string') {\n return {\n component: VComponentIcon,\n icon,\n }\n }\n\n const iconSetName = Object.keys(icons.sets).find(\n setName => typeof icon === 'string' && icon.startsWith(`${setName}:`)\n )\n\n const iconName = iconSetName ? icon.slice(iconSetName.length + 1) : icon\n const iconSet = icons.sets[iconSetName ?? icons.defaultSet]\n\n return {\n component: iconSet.component,\n icon: iconName,\n }\n })\n\n return { iconData }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"icons.mjs","names":["aliases","mdi","computed","inject","isRef","defineComponent","genericComponent","mergeDeep","propsFactory","IconValue","String","Function","Object","Array","IconSymbol","Symbol","for","makeIconProps","icon","type","tag","required","VComponentIcon","name","props","setup","_ref","slots","Icon","_createVNode","default","VSvgIcon","inheritAttrs","_ref2","attrs","_mergeProps","isArray","map","path","VLigatureIcon","VClassIcon","defaultSets","svg","component","class","createIcons","options","defaultSet","sets","useIcon","icons","Error","iconData","iconAlias","value","trim","startsWith","slice","iconSetName","keys","find","setName","iconName","length","iconSet"],"sources":["../../src/composables/icons.tsx"],"sourcesContent":["// Icons\nimport { aliases, mdi } from '@/iconsets/mdi'\n\n// Utilities\nimport { computed, inject, isRef } from 'vue'\nimport { defineComponent, genericComponent, mergeDeep, propsFactory } from '@/util'\n\n// Types\nimport type { InjectionKey, JSXComponent, PropType, Ref } from 'vue'\n\nexport type IconValue =\n | string\n | (string | [path: string, opacity: number])[]\n | JSXComponent\nexport const IconValue = [String, Function, Object, Array] as PropType<IconValue>\n\nexport interface IconAliases {\n [name: string]: IconValue\n complete: IconValue\n cancel: IconValue\n close: IconValue\n delete: IconValue\n clear: IconValue\n success: IconValue\n info: IconValue\n warning: IconValue\n error: IconValue\n prev: IconValue\n next: IconValue\n checkboxOn: IconValue\n checkboxOff: IconValue\n checkboxIndeterminate: IconValue\n delimiter: IconValue\n sortAsc: IconValue\n sortDesc: IconValue\n expand: IconValue\n menu: IconValue\n subgroup: IconValue\n dropdown: IconValue\n radioOn: IconValue\n radioOff: IconValue\n edit: IconValue\n ratingEmpty: IconValue\n ratingFull: IconValue\n ratingHalf: IconValue\n loading: IconValue\n first: IconValue\n last: IconValue\n unfold: IconValue\n file: IconValue\n plus: IconValue\n minus: IconValue\n}\n\nexport interface IconProps {\n tag: string\n icon?: IconValue\n disabled?: Boolean\n}\n\ntype IconComponent = JSXComponent<IconProps>\n\nexport interface IconSet {\n component: IconComponent\n}\n\nexport type IconOptions = {\n defaultSet: string\n aliases?: Partial<IconAliases>\n sets: Record<string, IconSet>\n}\n\ntype IconInstance = {\n component: IconComponent\n icon?: IconValue\n}\n\nexport const IconSymbol: InjectionKey<IconOptions> = Symbol.for('vuetify:icons')\n\nexport const makeIconProps = propsFactory({\n icon: {\n type: IconValue,\n },\n // Could not remove this and use makeTagProps, types complained because it is not required\n tag: {\n type: String,\n required: true,\n },\n}, 'icon')\n\nexport const VComponentIcon = genericComponent()({\n name: 'VComponentIcon',\n\n props: makeIconProps(),\n\n setup (props, { slots }) {\n return () => {\n const Icon = props.icon as JSXComponent\n return (\n <props.tag>\n { props.icon ? <Icon /> : slots.default?.() }\n </props.tag>\n )\n }\n },\n})\nexport type VComponentIcon = InstanceType<typeof VComponentIcon>\n\nexport const VSvgIcon = defineComponent({\n name: 'VSvgIcon',\n\n inheritAttrs: false,\n\n props: makeIconProps(),\n\n setup (props, { attrs }) {\n return () => {\n return (\n <props.tag { ...attrs } style={ null }>\n <svg\n class=\"v-icon__svg\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n role=\"img\"\n aria-hidden=\"true\"\n >\n { Array.isArray(props.icon)\n ? props.icon.map(path => (\n Array.isArray(path)\n ? <path d={ path[0] as string } fill-opacity={ path[1] }></path>\n : <path d={ path as string }></path>\n ))\n : <path d={ props.icon as string }></path>\n }\n </svg>\n </props.tag>\n )\n }\n },\n})\nexport type VSvgIcon = InstanceType<typeof VSvgIcon>\n\nexport const VLigatureIcon = defineComponent({\n name: 'VLigatureIcon',\n\n props: makeIconProps(),\n\n setup (props) {\n return () => {\n return <props.tag>{ props.icon }</props.tag>\n }\n },\n})\nexport type VLigatureIcon = InstanceType<typeof VLigatureIcon>\n\nexport const VClassIcon = defineComponent({\n name: 'VClassIcon',\n\n props: makeIconProps(),\n\n setup (props) {\n return () => {\n return <props.tag class={ props.icon }></props.tag>\n }\n },\n})\nexport type VClassIcon = InstanceType<typeof VClassIcon>\n\nexport const defaultSets: Record<string, IconSet> = {\n svg: {\n component: VSvgIcon,\n },\n class: {\n component: VClassIcon,\n },\n}\n\n// Composables\nexport function createIcons (options?: IconOptions) {\n return mergeDeep({\n defaultSet: 'mdi',\n sets: {\n ...defaultSets,\n mdi,\n },\n aliases,\n }, options)\n}\n\nexport const useIcon = (props: Ref<string | undefined> | { icon?: IconValue }) => {\n const icons = inject(IconSymbol)\n\n if (!icons) throw new Error('Missing Vuetify Icons provide!')\n\n const iconData: Ref<IconInstance> = computed(() => {\n const iconAlias = isRef(props) ? props.value : props.icon\n\n if (!iconAlias) return { component: VComponentIcon }\n\n let icon: IconValue | undefined = iconAlias\n\n if (typeof icon === 'string') {\n icon = icon.trim()\n\n if (icon.startsWith('$')) {\n icon = icons.aliases?.[icon.slice(1)]\n }\n }\n\n if (!icon) throw new Error(`Could not find aliased icon \"${iconAlias}\"`)\n\n if (Array.isArray(icon)) {\n return {\n component: VSvgIcon,\n icon,\n }\n } else if (typeof icon !== 'string') {\n return {\n component: VComponentIcon,\n icon,\n }\n }\n\n const iconSetName = Object.keys(icons.sets).find(\n setName => typeof icon === 'string' && icon.startsWith(`${setName}:`)\n )\n\n const iconName = iconSetName ? icon.slice(iconSetName.length + 1) : icon\n const iconSet = icons.sets[iconSetName ?? icons.defaultSet]\n\n return {\n component: iconSet.component,\n icon: iconName,\n }\n })\n\n return { iconData }\n}\n"],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
  * PUBLIC INTERFACES ONLY
3
3
  * Imports in our code should be to the composable directly, not this file
4
4
  */
5
- export { useDate } from "./date.mjs";
5
+ export { useDefaults } from "./defaults.mjs";
6
6
  export { useDisplay } from "./display.mjs";
7
7
  export { useLayout } from "./layout.mjs";
8
8
  export { useLocale, useRtl } from "./locale.mjs";
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":["useDate","useDisplay","useLayout","useLocale","useRtl","useTheme"],"sources":["../../src/composables/index.ts"],"sourcesContent":["/*\n * PUBLIC INTERFACES ONLY\n * Imports in our code should be to the composable directly, not this file\n */\n\nexport { useDate } from './date'\nexport { useDisplay } from './display'\nexport { useLayout } from './layout'\nexport { useLocale, useRtl } from './locale'\nexport { useTheme } from './theme'\n\nexport type { DateOptions, DateInstance } from './date'\nexport type { DefaultsInstance } from './defaults'\nexport type { DisplayBreakpoint, DisplayInstance, DisplayThresholds } from './display'\nexport type { SubmitEventPromise } from './form'\nexport type { IconAliases, IconProps, IconSet, IconOptions } from './icons'\nexport type { LocaleInstance, LocaleMessages, RtlInstance, LocaleOptions, RtlOptions } from './locale'\nexport type { ThemeDefinition, ThemeInstance } from './theme'\n"],"mappings":"AAAA;AACA;AACA;AACA;AAHA,SAKSA,OAAO;AAAA,SACPC,UAAU;AAAA,SACVC,SAAS;AAAA,SACTC,SAAS,EAAEC,MAAM;AAAA,SACjBC,QAAQ"}
1
+ {"version":3,"file":"index.mjs","names":["useDefaults","useDisplay","useLayout","useLocale","useRtl","useTheme"],"sources":["../../src/composables/index.ts"],"sourcesContent":["/*\n * PUBLIC INTERFACES ONLY\n * Imports in our code should be to the composable directly, not this file\n */\n\nexport { useDefaults } from './defaults'\nexport { useDisplay } from './display'\nexport { useLayout } from './layout'\nexport { useLocale, useRtl } from './locale'\nexport { useTheme } from './theme'\n\nexport type { DefaultsInstance } from './defaults'\nexport type { DisplayBreakpoint, DisplayInstance, DisplayThresholds } from './display'\nexport type { SubmitEventPromise } from './form'\nexport type { IconAliases, IconProps, IconSet, IconOptions } from './icons'\nexport type { LocaleInstance, LocaleMessages, RtlInstance, LocaleOptions, RtlOptions } from './locale'\nexport type { ThemeDefinition, ThemeInstance } from './theme'\n"],"mappings":"AAAA;AACA;AACA;AACA;AAHA,SAKSA,WAAW;AAAA,SACXC,UAAU;AAAA,SACVC,SAAS;AAAA,SACTC,SAAS,EAAEC,MAAM;AAAA,SACjBC,QAAQ"}
@@ -1 +1 @@
1
- {"version":3,"file":"loader.mjs","names":["VProgressLinear","computed","getCurrentInstanceName","propsFactory","makeLoaderProps","loading","Boolean","String","useLoader","props","name","arguments","length","undefined","loaderClasses","LoaderSlot","_ref","slots","_createVNode","default","color","isActive","active"],"sources":["../../src/composables/loader.tsx"],"sourcesContent":["// Components\nimport { VProgressLinear } from '@/components/VProgressLinear'\n\n// Utilities\nimport { computed } from 'vue'\nimport { getCurrentInstanceName, propsFactory } from '@/util'\n\n// Types\nimport type { ExtractPropTypes, SetupContext } from 'vue'\nimport type { MakeSlots, SlotsToProps } from '@/util'\n\nexport interface LoaderSlotProps {\n color: string | undefined\n isActive: boolean\n}\n\nexport interface LoaderProps {\n loading?: boolean | string\n}\n\n// Composables\nexport const makeLoaderProps = propsFactory({\n loading: [Boolean, String],\n}, 'loader')\n\nexport function useLoader (\n props: LoaderProps,\n name = getCurrentInstanceName(),\n) {\n const loaderClasses = computed(() => ({\n [`${name}--loading`]: props.loading,\n }))\n\n return { loaderClasses }\n}\n\nexport function LoaderSlot (\n props: {\n active: boolean\n name: string\n color?: string\n } & ExtractPropTypes<SlotsToProps<MakeSlots<{\n default: [LoaderSlotProps]\n }>>>,\n { slots }: SetupContext,\n) {\n return (\n <div class={ `${props.name}__loader` }>\n { slots.default?.({\n color: props.color,\n isActive: props.active,\n } as LoaderSlotProps) || (\n <VProgressLinear\n active={ props.active }\n color={ props.color }\n height=\"2\"\n indeterminate\n />\n )}\n </div>\n )\n}\n"],"mappings":";AAAA;AAAA,SACSA,eAAe,mDAExB;AACA,SAASC,QAAQ,QAAQ,KAAK;AAAA,SACrBC,sBAAsB,EAAEC,YAAY,6BAE7C;AAaA;AACA,OAAO,MAAMC,eAAe,GAAGD,YAAY,CAAC;EAC1CE,OAAO,EAAE,CAACC,OAAO,EAAEC,MAAM;AAC3B,CAAC,EAAE,QAAQ,CAAC;AAEZ,OAAO,SAASC,SAASA,CACvBC,KAAkB,EAElB;EAAA,IADAC,IAAI,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAGT,sBAAsB,EAAE;EAE/B,MAAMY,aAAa,GAAGb,QAAQ,CAAC,OAAO;IACpC,CAAE,GAAES,IAAK,WAAU,GAAGD,KAAK,CAACJ;EAC9B,CAAC,CAAC,CAAC;EAEH,OAAO;IAAES;EAAc,CAAC;AAC1B;AAEA,OAAO,SAASC,UAAUA,CACxBN,KAMI,EAAAO,IAAA,EAEJ;EAAA,IADA;IAAEC;EAAoB,CAAC,GAAAD,IAAA;EAEvB,OAAAE,YAAA;IAAA,SACgB,GAAET,KAAK,CAACC,IAAK;EAAS,IAChCO,KAAK,CAACE,OAAO,GAAG;IAChBC,KAAK,EAAEX,KAAK,CAACW,KAAK;IAClBC,QAAQ,EAAEZ,KAAK,CAACa;EAClB,CAAC,CAAoB,IAAAJ,YAAA,CAAAlB,eAAA;IAAA,UAERS,KAAK,CAACa,MAAM;IAAA,SACbb,KAAK,CAACW,KAAK;IAAA,UACZ,GAAG;IAAA;EAAA,QAGb;AAGP"}
1
+ {"version":3,"file":"loader.mjs","names":["VProgressLinear","computed","getCurrentInstanceName","propsFactory","makeLoaderProps","loading","Boolean","String","useLoader","props","name","arguments","length","undefined","loaderClasses","LoaderSlot","_ref","slots","_createVNode","default","color","isActive","active"],"sources":["../../src/composables/loader.tsx"],"sourcesContent":["// Components\nimport { VProgressLinear } from '@/components/VProgressLinear'\n\n// Utilities\nimport { computed } from 'vue'\nimport { getCurrentInstanceName, propsFactory } from '@/util'\n\n// Types\nimport type { ExtractPropTypes, SetupContext } from 'vue'\nimport type { SlotsToProps } from '@/util'\n\nexport interface LoaderSlotProps {\n color: string | undefined\n isActive: boolean\n}\n\nexport interface LoaderProps {\n loading?: boolean | string\n}\n\n// Composables\nexport const makeLoaderProps = propsFactory({\n loading: [Boolean, String],\n}, 'loader')\n\nexport function useLoader (\n props: LoaderProps,\n name = getCurrentInstanceName(),\n) {\n const loaderClasses = computed(() => ({\n [`${name}--loading`]: props.loading,\n }))\n\n return { loaderClasses }\n}\n\nexport function LoaderSlot (\n props: {\n active: boolean\n name: string\n color?: string\n } & ExtractPropTypes<SlotsToProps<{\n default: [LoaderSlotProps]\n }>>,\n { slots }: SetupContext,\n) {\n return (\n <div class={ `${props.name}__loader` }>\n { slots.default?.({\n color: props.color,\n isActive: props.active,\n } as LoaderSlotProps) || (\n <VProgressLinear\n active={ props.active }\n color={ props.color }\n height=\"2\"\n indeterminate\n />\n )}\n </div>\n )\n}\n"],"mappings":";AAAA;AAAA,SACSA,eAAe,mDAExB;AACA,SAASC,QAAQ,QAAQ,KAAK;AAAA,SACrBC,sBAAsB,EAAEC,YAAY,6BAE7C;AAaA;AACA,OAAO,MAAMC,eAAe,GAAGD,YAAY,CAAC;EAC1CE,OAAO,EAAE,CAACC,OAAO,EAAEC,MAAM;AAC3B,CAAC,EAAE,QAAQ,CAAC;AAEZ,OAAO,SAASC,SAASA,CACvBC,KAAkB,EAElB;EAAA,IADAC,IAAI,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAGT,sBAAsB,EAAE;EAE/B,MAAMY,aAAa,GAAGb,QAAQ,CAAC,OAAO;IACpC,CAAE,GAAES,IAAK,WAAU,GAAGD,KAAK,CAACJ;EAC9B,CAAC,CAAC,CAAC;EAEH,OAAO;IAAES;EAAc,CAAC;AAC1B;AAEA,OAAO,SAASC,UAAUA,CACxBN,KAMG,EAAAO,IAAA,EAEH;EAAA,IADA;IAAEC;EAAoB,CAAC,GAAAD,IAAA;EAEvB,OAAAE,YAAA;IAAA,SACgB,GAAET,KAAK,CAACC,IAAK;EAAS,IAChCO,KAAK,CAACE,OAAO,GAAG;IAChBC,KAAK,EAAEX,KAAK,CAACW,KAAK;IAClBC,QAAQ,EAAEZ,KAAK,CAACa;EAClB,CAAC,CAAoB,IAAAJ,YAAA,CAAAlB,eAAA;IAAA,UAERS,KAAK,CAACa,MAAM;IAAA,SACbb,KAAK,CAACW,KAAK;IAAA,UACZ,GAAG;IAAA;EAAA,QAGb;AAGP"}
@@ -10,7 +10,7 @@ export const createVuetify = function () {
10
10
  ...options
11
11
  });
12
12
  };
13
- export const version = "4.0.0-dev-20230426.0";
13
+ export const version = "4.0.0-dev-20230427.0";
14
14
  createVuetify.version = version;
15
15
  export { components, directives };
16
16
  export * from "./composables/index.mjs";
package/lib/framework.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  // Composables
2
- import { createDate, DateAdapterSymbol } from "./composables/date.mjs";
2
+ import { createDate, DateAdapterSymbol } from "./labs/date/date.mjs";
3
3
  import { createDefaults, DefaultsSymbol } from "./composables/defaults.mjs";
4
4
  import { createDisplay, DisplaySymbol } from "./composables/display.mjs";
5
5
  import { createIcons, IconSymbol } from "./composables/icons.mjs";
@@ -94,7 +94,7 @@ export function createVuetify() {
94
94
  date
95
95
  };
96
96
  }
97
- export const version = "4.0.0-dev-20230426.0";
97
+ export const version = "4.0.0-dev-20230427.0";
98
98
  createVuetify.version = version;
99
99
 
100
100
  // Vue's inject() can only be used in setup
@@ -1 +1 @@
1
- {"version":3,"file":"framework.mjs","names":["createDate","DateAdapterSymbol","createDefaults","DefaultsSymbol","createDisplay","DisplaySymbol","createIcons","IconSymbol","createLocale","LocaleSymbol","createTheme","ThemeSymbol","defineComponent","getUid","IN_BROWSER","mergeDeep","nextTick","reactive","createVuetify","vuetify","arguments","length","undefined","blueprint","rest","options","aliases","components","directives","defaults","display","ssr","theme","icons","locale","date","install","app","key","directive","component","name","aliasName","provide","$nuxt","hook","update","mount","vm","reset","__VUE_OPTIONS_API__","mixin","computed","$vuetify","inject","call","version","$","provides","parent","vnode","appContext"],"sources":["../src/framework.ts"],"sourcesContent":["// Composables\nimport { createDate, DateAdapterSymbol } from './composables/date'\nimport { createDefaults, DefaultsSymbol } from '@/composables/defaults'\nimport { createDisplay, DisplaySymbol } from '@/composables/display'\nimport { createIcons, IconSymbol } from '@/composables/icons'\nimport { createLocale, LocaleSymbol } from '@/composables/locale'\nimport { createTheme, ThemeSymbol } from '@/composables/theme'\n\n// Utilities\nimport { defineComponent, getUid, IN_BROWSER, mergeDeep } from '@/util'\nimport { nextTick, reactive } from 'vue'\n\n// Types\nimport type { App, ComponentPublicInstance, InjectionKey } from 'vue'\nimport type { DateOptions } from '@/composables/date'\nimport type { DefaultsOptions } from '@/composables/defaults'\nimport type { DisplayOptions } from '@/composables/display'\nimport type { IconOptions } from '@/composables/icons'\nimport type { LocaleOptions, RtlOptions } from '@/composables/locale'\nimport type { ThemeOptions } from '@/composables/theme'\n\nexport * from './composables'\n\nexport interface VuetifyOptions {\n aliases?: Record<string, any>\n blueprint?: Blueprint\n components?: Record<string, any>\n date?: DateOptions\n directives?: Record<string, any>\n defaults?: DefaultsOptions\n display?: DisplayOptions\n theme?: ThemeOptions\n icons?: IconOptions\n locale?: LocaleOptions & RtlOptions\n ssr?: boolean\n}\n\nexport interface Blueprint extends Omit<VuetifyOptions, 'blueprint'> {}\n\nexport function createVuetify (vuetify: VuetifyOptions = {}) {\n const { blueprint, ...rest } = vuetify\n const options = mergeDeep(blueprint, rest)\n const {\n aliases = {},\n components = {},\n directives = {},\n } = options\n\n const defaults = createDefaults(options.defaults)\n const display = createDisplay(options.display, options.ssr)\n const theme = createTheme(options.theme)\n const icons = createIcons(options.icons)\n const locale = createLocale(options.locale)\n const date = createDate(options.date)\n\n const install = (app: App) => {\n for (const key in directives) {\n app.directive(key, directives[key])\n }\n\n for (const key in components) {\n app.component(key, components[key])\n }\n\n for (const key in aliases) {\n app.component(key, defineComponent({\n ...aliases[key],\n name: key,\n aliasName: aliases[key].name,\n }))\n }\n\n theme.install(app)\n\n app.provide(DefaultsSymbol, defaults)\n app.provide(DisplaySymbol, display)\n app.provide(ThemeSymbol, theme)\n app.provide(IconSymbol, icons)\n app.provide(LocaleSymbol, locale)\n app.provide(DateAdapterSymbol, date)\n\n if (IN_BROWSER && options.ssr) {\n if (app.$nuxt) {\n app.$nuxt.hook('app:suspense:resolve', () => {\n display.update()\n })\n } else {\n const { mount } = app\n app.mount = (...args) => {\n const vm = mount(...args)\n nextTick(() => display.update())\n app.mount = mount\n return vm\n }\n }\n }\n\n getUid.reset()\n\n if (typeof __VUE_OPTIONS_API__ !== 'boolean' || __VUE_OPTIONS_API__) {\n app.mixin({\n computed: {\n $vuetify () {\n return reactive({\n defaults: inject.call(this, DefaultsSymbol),\n display: inject.call(this, DisplaySymbol),\n theme: inject.call(this, ThemeSymbol),\n icons: inject.call(this, IconSymbol),\n locale: inject.call(this, LocaleSymbol),\n date: inject.call(this, DateAdapterSymbol),\n })\n },\n },\n })\n }\n }\n\n return {\n install,\n defaults,\n display,\n theme,\n icons,\n locale,\n date,\n }\n}\n\nexport const version = __VUETIFY_VERSION__\ncreateVuetify.version = version\n\n// Vue's inject() can only be used in setup\nfunction inject (this: ComponentPublicInstance, key: InjectionKey<any> | string) {\n const vm = this.$\n\n const provides = vm.parent?.provides ?? vm.vnode.appContext?.provides\n\n if (provides && (key as any) in provides) {\n return provides[(key as string)]\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"framework.mjs","names":["createDate","DateAdapterSymbol","createDefaults","DefaultsSymbol","createDisplay","DisplaySymbol","createIcons","IconSymbol","createLocale","LocaleSymbol","createTheme","ThemeSymbol","defineComponent","getUid","IN_BROWSER","mergeDeep","nextTick","reactive","createVuetify","vuetify","arguments","length","undefined","blueprint","rest","options","aliases","components","directives","defaults","display","ssr","theme","icons","locale","date","install","app","key","directive","component","name","aliasName","provide","$nuxt","hook","update","mount","vm","reset","__VUE_OPTIONS_API__","mixin","computed","$vuetify","inject","call","version","$","provides","parent","vnode","appContext"],"sources":["../src/framework.ts"],"sourcesContent":["// Composables\nimport { createDate, DateAdapterSymbol } from '@/labs/date/date'\nimport { createDefaults, DefaultsSymbol } from '@/composables/defaults'\nimport { createDisplay, DisplaySymbol } from '@/composables/display'\nimport { createIcons, IconSymbol } from '@/composables/icons'\nimport { createLocale, LocaleSymbol } from '@/composables/locale'\nimport { createTheme, ThemeSymbol } from '@/composables/theme'\n\n// Utilities\nimport { defineComponent, getUid, IN_BROWSER, mergeDeep } from '@/util'\nimport { nextTick, reactive } from 'vue'\n\n// Types\nimport type { App, ComponentPublicInstance, InjectionKey } from 'vue'\nimport type { DateOptions } from '@/labs/date'\nimport type { DefaultsOptions } from '@/composables/defaults'\nimport type { DisplayOptions } from '@/composables/display'\nimport type { IconOptions } from '@/composables/icons'\nimport type { LocaleOptions, RtlOptions } from '@/composables/locale'\nimport type { ThemeOptions } from '@/composables/theme'\n\nexport * from './composables'\n\nexport interface VuetifyOptions {\n aliases?: Record<string, any>\n blueprint?: Blueprint\n components?: Record<string, any>\n date?: DateOptions\n directives?: Record<string, any>\n defaults?: DefaultsOptions\n display?: DisplayOptions\n theme?: ThemeOptions\n icons?: IconOptions\n locale?: LocaleOptions & RtlOptions\n ssr?: boolean\n}\n\nexport interface Blueprint extends Omit<VuetifyOptions, 'blueprint'> {}\n\nexport function createVuetify (vuetify: VuetifyOptions = {}) {\n const { blueprint, ...rest } = vuetify\n const options = mergeDeep(blueprint, rest)\n const {\n aliases = {},\n components = {},\n directives = {},\n } = options\n\n const defaults = createDefaults(options.defaults)\n const display = createDisplay(options.display, options.ssr)\n const theme = createTheme(options.theme)\n const icons = createIcons(options.icons)\n const locale = createLocale(options.locale)\n const date = createDate(options.date)\n\n const install = (app: App) => {\n for (const key in directives) {\n app.directive(key, directives[key])\n }\n\n for (const key in components) {\n app.component(key, components[key])\n }\n\n for (const key in aliases) {\n app.component(key, defineComponent({\n ...aliases[key],\n name: key,\n aliasName: aliases[key].name,\n }))\n }\n\n theme.install(app)\n\n app.provide(DefaultsSymbol, defaults)\n app.provide(DisplaySymbol, display)\n app.provide(ThemeSymbol, theme)\n app.provide(IconSymbol, icons)\n app.provide(LocaleSymbol, locale)\n app.provide(DateAdapterSymbol, date)\n\n if (IN_BROWSER && options.ssr) {\n if (app.$nuxt) {\n app.$nuxt.hook('app:suspense:resolve', () => {\n display.update()\n })\n } else {\n const { mount } = app\n app.mount = (...args) => {\n const vm = mount(...args)\n nextTick(() => display.update())\n app.mount = mount\n return vm\n }\n }\n }\n\n getUid.reset()\n\n if (typeof __VUE_OPTIONS_API__ !== 'boolean' || __VUE_OPTIONS_API__) {\n app.mixin({\n computed: {\n $vuetify () {\n return reactive({\n defaults: inject.call(this, DefaultsSymbol),\n display: inject.call(this, DisplaySymbol),\n theme: inject.call(this, ThemeSymbol),\n icons: inject.call(this, IconSymbol),\n locale: inject.call(this, LocaleSymbol),\n date: inject.call(this, DateAdapterSymbol),\n })\n },\n },\n })\n }\n }\n\n return {\n install,\n defaults,\n display,\n theme,\n icons,\n locale,\n date,\n }\n}\n\nexport const version = __VUETIFY_VERSION__\ncreateVuetify.version = version\n\n// Vue's inject() can only be used in setup\nfunction inject (this: ComponentPublicInstance, key: InjectionKey<any> | string) {\n const vm = this.$\n\n const provides = vm.parent?.provides ?? vm.vnode.appContext?.provides\n\n if (provides && (key as any) in provides) {\n return provides[(key as string)]\n }\n}\n"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { JSXComponent, PropType } from 'vue';
2
2
 
3
- type IconValue = string | JSXComponent;
3
+ type IconValue = string | (string | [path: string, opacity: number])[] | JSXComponent;
4
4
  declare const IconValue: PropType<IconValue>;
5
5
  interface IconAliases {
6
6
  [name: string]: IconValue;
@@ -1,6 +1,6 @@
1
1
  import { JSXComponent, PropType } from 'vue';
2
2
 
3
- type IconValue = string | JSXComponent;
3
+ type IconValue = string | (string | [path: string, opacity: number])[] | JSXComponent;
4
4
  declare const IconValue: PropType<IconValue>;
5
5
  interface IconAliases {
6
6
  [name: string]: IconValue;
@@ -1,6 +1,6 @@
1
1
  import { JSXComponent, PropType } from 'vue';
2
2
 
3
- type IconValue = string | JSXComponent;
3
+ type IconValue = string | (string | [path: string, opacity: number])[] | JSXComponent;
4
4
  declare const IconValue: PropType<IconValue>;
5
5
  interface IconAliases {
6
6
  [name: string]: IconValue;
@@ -1,6 +1,6 @@
1
1
  import { JSXComponent, PropType } from 'vue';
2
2
 
3
- type IconValue = string | JSXComponent;
3
+ type IconValue = string | (string | [path: string, opacity: number])[] | JSXComponent;
4
4
  declare const IconValue: PropType<IconValue>;
5
5
  interface IconAliases {
6
6
  [name: string]: IconValue;
@@ -1,6 +1,6 @@
1
1
  import { JSXComponent, PropType } from 'vue';
2
2
 
3
- type IconValue = string | JSXComponent;
3
+ type IconValue = string | (string | [path: string, opacity: number])[] | JSXComponent;
4
4
  declare const IconValue: PropType<IconValue>;
5
5
  interface IconAliases {
6
6
  [name: string]: IconValue;
@@ -1,6 +1,6 @@
1
1
  import { JSXComponent, PropType } from 'vue';
2
2
 
3
- type IconValue = string | JSXComponent;
3
+ type IconValue = string | (string | [path: string, opacity: number])[] | JSXComponent;
4
4
  declare const IconValue: PropType<IconValue>;
5
5
  interface IconAliases {
6
6
  [name: string]: IconValue;
package/lib/index.d.ts CHANGED
@@ -147,6 +147,10 @@ type DefaultsInstance = undefined | {
147
147
  global?: Record<string, unknown>;
148
148
  };
149
149
  type DefaultsOptions = Partial<DefaultsInstance>;
150
+ declare function useDefaults(props: Record<string, any>, name?: string, defaults?: Ref<DefaultsInstance>): {
151
+ props: Record<string, any>;
152
+ provideSubDefaults: () => void;
153
+ };
150
154
 
151
155
  interface DateAdapter<Date> {
152
156
  date(value?: any): Date | null;
@@ -180,14 +184,8 @@ type DateOptions = {
180
184
  new (locale: string): DateInstance;
181
185
  };
182
186
  };
183
- interface DateProps {
184
- displayDate: Date;
185
- hideAdjacentMonths: boolean;
186
- modelValue: any[];
187
- }
188
- declare function useDate(props: DateProps): DateInstance;
189
187
 
190
- type IconValue = string | JSXComponent;
188
+ type IconValue = string | (string | [path: string, opacity: number])[] | JSXComponent;
191
189
  declare const IconValue: PropType<IconValue>;
192
190
  interface IconAliases {
193
191
  [name: string]: IconValue;
@@ -312,10 +310,12 @@ declare namespace createVuetify {
312
310
  }
313
311
  declare const version: string;
314
312
 
315
- export { Blueprint, DateInstance, DateOptions, DefaultsInstance, DisplayBreakpoint, DisplayInstance, DisplayThresholds, IconAliases, IconOptions, IconProps, IconSet, LocaleInstance, LocaleMessages, LocaleOptions, RtlInstance, RtlOptions, SubmitEventPromise, ThemeDefinition, ThemeInstance, VuetifyOptions, createVuetify, useDate, useDisplay, useLayout, useLocale, useRtl, useTheme, version };
313
+ export { Blueprint, DefaultsInstance, DisplayBreakpoint, DisplayInstance, DisplayThresholds, IconAliases, IconOptions, IconProps, IconSet, LocaleInstance, LocaleMessages, LocaleOptions, RtlInstance, RtlOptions, SubmitEventPromise, ThemeDefinition, ThemeInstance, VuetifyOptions, createVuetify, useDefaults, useDisplay, useLayout, useLocale, useRtl, useTheme, version };
316
314
 
317
315
  import type { ComponentPublicInstance, FunctionalComponent, UnwrapNestedRefs, VNodeChild } from 'vue'
318
316
 
317
+ // @skip-build
318
+ import type { DateOptions } from './labs'
319
319
 
320
320
  declare global {
321
321
  namespace JSX {
@@ -370,8 +370,8 @@ declare module '@vue/runtime-core' {
370
370
  VBreadcrumbsItem: typeof import('vuetify/components')['VBreadcrumbsItem']
371
371
  VBreadcrumbsDivider: typeof import('vuetify/components')['VBreadcrumbsDivider']
372
372
  VBtn: typeof import('vuetify/components')['VBtn']
373
- VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
374
373
  VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
374
+ VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
375
375
  VCard: typeof import('vuetify/components')['VCard']
376
376
  VCardActions: typeof import('vuetify/components')['VCardActions']
377
377
  VCardItem: typeof import('vuetify/components')['VCardItem']
@@ -432,6 +432,8 @@ declare module '@vue/runtime-core' {
432
432
  VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
433
433
  VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
434
434
  VSheet: typeof import('vuetify/components')['VSheet']
435
+ VSlideGroup: typeof import('vuetify/components')['VSlideGroup']
436
+ VSlideGroupItem: typeof import('vuetify/components')['VSlideGroupItem']
435
437
  VSlider: typeof import('vuetify/components')['VSlider']
436
438
  VSnackbar: typeof import('vuetify/components')['VSnackbar']
437
439
  VSwitch: typeof import('vuetify/components')['VSwitch']
@@ -484,7 +486,5 @@ declare module '@vue/runtime-core' {
484
486
  VExpandTransition: typeof import('vuetify/components')['VExpandTransition']
485
487
  VExpandXTransition: typeof import('vuetify/components')['VExpandXTransition']
486
488
  VDialogTransition: typeof import('vuetify/components')['VDialogTransition']
487
- VSlideGroup: typeof import('vuetify/components')['VSlideGroup']
488
- VSlideGroupItem: typeof import('vuetify/components')['VSlideGroupItem']
489
489
  }
490
490
  }
@@ -154,7 +154,7 @@ export const VDataTable = genericComponent()({
154
154
  top: slots.top,
155
155
  default: slots.default ?? (() => _createVNode(_Fragment, null, [slots.colgroup?.({
156
156
  columns
157
- }), _createVNode("thead", null, [slots.headers ? slots.headers() : _createVNode(VDataTableHeaders, {
157
+ }), _createVNode("thead", null, [_createVNode(VDataTableHeaders, {
158
158
  "sticky": props.fixedHeader,
159
159
  "multiSort": props.multiSort
160
160
  }, slots)]), slots.thead?.(), _createVNode("tbody", null, [slots.body ? slots.body() : _createVNode(VDataTableRows, {
@@ -1 +1 @@
1
- {"version":3,"file":"VDataTable.mjs","names":["VTable","VDataTableHeaders","VDataTableRows","VDataTableFooter","makeDataTableItemProps","useDataTableItems","createHeaders","makeDataTableHeaderProps","createSort","makeDataTableSortProps","provideSort","useSortedItems","createGroupBy","makeDataTableGroupProps","provideGroupBy","useGroupedItems","createPagination","makeDataTablePaginateProps","providePagination","usePaginatedItems","makeDataTableSelectProps","provideSelection","makeDataTableExpandProps","provideExpanded","useOptions","provideDefaults","computed","toRef","genericComponent","propsFactory","useRender","makeFilterProps","useFilter","makeVDataTableProps","hideNoData","Boolean","hover","noDataText","type","String","default","height","Number","width","fixedHeader","fixedFooter","Function","search","VDataTable","name","props","emits","value","setup","_ref","emit","slots","groupBy","sortBy","multiSort","mustSort","page","itemsPerPage","columns","showSelect","showExpand","items","filterKeys","map","c","key","filteredItems","sortByWithGroups","opened","extractRows","sortedItems","flatItems","itemsLength","length","startIndex","stopIndex","paginatedItems","paginatedItemsWithoutGroups","_createVNode","top","_Fragment","colgroup","headers","thead","body","tbody","tfoot","bottom","prepend"],"sources":["../../../src/labs/VDataTable/VDataTable.tsx"],"sourcesContent":["// Styles\nimport './VDataTable.sass'\n\n// Components\nimport { VTable } from '@/components/VTable'\nimport { VDataTableHeaders } from './VDataTableHeaders'\nimport type { VDataTableRowsSlots } from './VDataTableRows'\nimport { VDataTableRows } from './VDataTableRows'\nimport { VDataTableFooter } from './VDataTableFooter'\n\n// Composables\nimport { makeDataTableItemProps, useDataTableItems } from './composables/items'\nimport { createHeaders, makeDataTableHeaderProps } from './composables/headers'\nimport { createSort, makeDataTableSortProps, provideSort, useSortedItems } from './composables/sort'\nimport { createGroupBy, makeDataTableGroupProps, provideGroupBy, useGroupedItems } from './composables/group'\nimport { createPagination, makeDataTablePaginateProps, providePagination, usePaginatedItems } from './composables/paginate'\nimport { makeDataTableSelectProps, provideSelection } from './composables/select'\nimport { makeDataTableExpandProps, provideExpanded } from './composables/expand'\nimport { useOptions } from './composables/options'\nimport { provideDefaults } from '@/composables/defaults'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\nimport { makeFilterProps, useFilter } from '@/composables/filter'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { DataTableItem, InternalDataTableHeader } from './types'\n\nexport type VDataTableSlots = VDataTableRowsSlots & {\n colgroup: [InternalDataTableHeader]\n default: []\n top: []\n headers: []\n body: []\n tbody: []\n thead: []\n tfoot: []\n bottom: []\n 'footer.prepend': []\n}\n\nexport const makeVDataTableProps = propsFactory({\n ...makeDataTableItemProps(),\n ...makeDataTableHeaderProps(),\n hideNoData: Boolean,\n hover: Boolean,\n noDataText: {\n type: String,\n default: '$vuetify.noDataText',\n },\n height: [String, Number],\n width: [String, Number],\n fixedHeader: Boolean,\n fixedFooter: Boolean,\n 'onClick:row': Function as PropType<(e: Event, value: { item: DataTableItem }) => void>,\n search: String,\n}, 'v-data-table')\n\nexport const VDataTable = genericComponent<VDataTableSlots>()({\n name: 'VDataTable',\n\n props: {\n ...makeVDataTableProps(),\n ...makeDataTableExpandProps(),\n ...makeDataTableGroupProps(),\n ...makeDataTableSelectProps(),\n ...makeDataTableSortProps(),\n ...makeDataTablePaginateProps(),\n ...makeFilterProps(),\n },\n\n emits: {\n 'update:modelValue': (value: any[]) => true,\n 'update:page': (value: number) => true,\n 'update:itemsPerPage': (value: number) => true,\n 'update:sortBy': (value: any) => true,\n 'update:options': (value: any) => true,\n 'update:groupBy': (value: any) => true,\n 'update:expanded': (value: any) => true,\n },\n\n setup (props, { emit, slots }) {\n const { groupBy } = createGroupBy(props)\n const { sortBy, multiSort, mustSort } = createSort(props)\n const { page, itemsPerPage } = createPagination(props)\n\n const { columns } = createHeaders(props, {\n groupBy,\n showSelect: toRef(props, 'showSelect'),\n showExpand: toRef(props, 'showExpand'),\n })\n\n const { items } = useDataTableItems(props, columns)\n\n const filterKeys = computed(() => columns.value.map(c => 'columns.' + c.key))\n const search = toRef(props, 'search')\n const { filteredItems } = useFilter<DataTableItem>(props, items, search, { filterKeys })\n\n provideSort({ sortBy, multiSort, mustSort, page })\n const { sortByWithGroups, opened, extractRows } = provideGroupBy({ groupBy, sortBy })\n\n const { sortedItems } = useSortedItems(filteredItems, sortByWithGroups, columns)\n const { flatItems } = useGroupedItems(sortedItems, groupBy, opened)\n const itemsLength = computed(() => flatItems.value.length)\n\n const { startIndex, stopIndex } = providePagination({ page, itemsPerPage, itemsLength })\n const { paginatedItems } = usePaginatedItems({ items: flatItems, startIndex, stopIndex, itemsPerPage })\n\n const paginatedItemsWithoutGroups = computed(() => extractRows(paginatedItems.value))\n\n provideSelection(props, paginatedItemsWithoutGroups)\n\n provideExpanded(props)\n\n useOptions({\n page,\n itemsPerPage,\n sortBy,\n groupBy,\n search,\n })\n\n provideDefaults({\n VDataTableRows: {\n hideNoData: toRef(props, 'hideNoData'),\n noDataText: toRef(props, 'noDataText'),\n },\n })\n\n useRender(() => (\n <VTable\n class={[\n 'v-data-table',\n {\n 'v-data-table--show-select': props.showSelect,\n },\n ]}\n fixedHeader={ props.fixedHeader }\n fixedFooter={ props.fixedFooter }\n height={ props.height }\n hover={ props.hover }\n >\n {{\n top: slots.top,\n default: slots.default ?? (() => (\n <>\n { slots.colgroup?.({ columns }) }\n <thead>\n { slots.headers ? slots.headers() : (\n <VDataTableHeaders\n sticky={ props.fixedHeader }\n multiSort={ props.multiSort }\n v-slots={ slots }\n />\n )}\n </thead>\n { slots.thead?.() }\n <tbody>\n { slots.body ? slots.body() : (\n <VDataTableRows\n items={ paginatedItems.value }\n onClick:row={ props['onClick:row'] }\n v-slots={ slots }\n />\n )}\n </tbody>\n { slots.tbody?.() }\n { slots.tfoot?.() }\n </>\n )),\n bottom: slots.bottom ?? (() => (\n <VDataTableFooter\n v-slots={{\n prepend: slots['footer.prepend'],\n }}\n />\n )),\n }}\n </VTable>\n ))\n\n return {}\n },\n})\n\nexport type VDataTable = InstanceType<typeof VDataTable>\n"],"mappings":"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"}
1
+ {"version":3,"file":"VDataTable.mjs","names":["VTable","VDataTableHeaders","VDataTableRows","VDataTableFooter","makeDataTableItemProps","useDataTableItems","createHeaders","makeDataTableHeaderProps","createSort","makeDataTableSortProps","provideSort","useSortedItems","createGroupBy","makeDataTableGroupProps","provideGroupBy","useGroupedItems","createPagination","makeDataTablePaginateProps","providePagination","usePaginatedItems","makeDataTableSelectProps","provideSelection","makeDataTableExpandProps","provideExpanded","useOptions","provideDefaults","computed","toRef","genericComponent","propsFactory","useRender","makeFilterProps","useFilter","makeVDataTableProps","hideNoData","Boolean","hover","noDataText","type","String","default","height","Number","width","fixedHeader","fixedFooter","Function","search","VDataTable","name","props","emits","value","setup","_ref","emit","slots","groupBy","sortBy","multiSort","mustSort","page","itemsPerPage","columns","showSelect","showExpand","items","filterKeys","map","c","key","filteredItems","sortByWithGroups","opened","extractRows","sortedItems","flatItems","itemsLength","length","startIndex","stopIndex","paginatedItems","paginatedItemsWithoutGroups","_createVNode","top","_Fragment","colgroup","thead","body","tbody","tfoot","bottom","prepend"],"sources":["../../../src/labs/VDataTable/VDataTable.tsx"],"sourcesContent":["// Styles\nimport './VDataTable.sass'\n\n// Components\nimport { VTable } from '@/components/VTable'\nimport { VDataTableHeaders } from './VDataTableHeaders'\nimport type { VDataTableRowsSlots } from './VDataTableRows'\nimport { VDataTableRows } from './VDataTableRows'\nimport { VDataTableFooter } from './VDataTableFooter'\n\n// Composables\nimport { makeDataTableItemProps, useDataTableItems } from './composables/items'\nimport { createHeaders, makeDataTableHeaderProps } from './composables/headers'\nimport { createSort, makeDataTableSortProps, provideSort, useSortedItems } from './composables/sort'\nimport { createGroupBy, makeDataTableGroupProps, provideGroupBy, useGroupedItems } from './composables/group'\nimport { createPagination, makeDataTablePaginateProps, providePagination, usePaginatedItems } from './composables/paginate'\nimport { makeDataTableSelectProps, provideSelection } from './composables/select'\nimport { makeDataTableExpandProps, provideExpanded } from './composables/expand'\nimport { useOptions } from './composables/options'\nimport { provideDefaults } from '@/composables/defaults'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\nimport { makeFilterProps, useFilter } from '@/composables/filter'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { DataTableItem, InternalDataTableHeader } from './types'\n\nexport type VDataTableSlots = VDataTableRowsSlots & {\n colgroup: [InternalDataTableHeader]\n default: []\n top: []\n headers: []\n body: []\n tbody: []\n thead: []\n tfoot: []\n bottom: []\n 'footer.prepend': []\n}\n\nexport const makeVDataTableProps = propsFactory({\n ...makeDataTableItemProps(),\n ...makeDataTableHeaderProps(),\n hideNoData: Boolean,\n hover: Boolean,\n noDataText: {\n type: String,\n default: '$vuetify.noDataText',\n },\n height: [String, Number],\n width: [String, Number],\n fixedHeader: Boolean,\n fixedFooter: Boolean,\n 'onClick:row': Function as PropType<(e: Event, value: { item: DataTableItem }) => void>,\n search: String,\n}, 'v-data-table')\n\nexport const VDataTable = genericComponent<VDataTableSlots>()({\n name: 'VDataTable',\n\n props: {\n ...makeVDataTableProps(),\n ...makeDataTableExpandProps(),\n ...makeDataTableGroupProps(),\n ...makeDataTableSelectProps(),\n ...makeDataTableSortProps(),\n ...makeDataTablePaginateProps(),\n ...makeFilterProps(),\n },\n\n emits: {\n 'update:modelValue': (value: any[]) => true,\n 'update:page': (value: number) => true,\n 'update:itemsPerPage': (value: number) => true,\n 'update:sortBy': (value: any) => true,\n 'update:options': (value: any) => true,\n 'update:groupBy': (value: any) => true,\n 'update:expanded': (value: any) => true,\n },\n\n setup (props, { emit, slots }) {\n const { groupBy } = createGroupBy(props)\n const { sortBy, multiSort, mustSort } = createSort(props)\n const { page, itemsPerPage } = createPagination(props)\n\n const { columns } = createHeaders(props, {\n groupBy,\n showSelect: toRef(props, 'showSelect'),\n showExpand: toRef(props, 'showExpand'),\n })\n\n const { items } = useDataTableItems(props, columns)\n\n const filterKeys = computed(() => columns.value.map(c => 'columns.' + c.key))\n const search = toRef(props, 'search')\n const { filteredItems } = useFilter<DataTableItem>(props, items, search, { filterKeys })\n\n provideSort({ sortBy, multiSort, mustSort, page })\n const { sortByWithGroups, opened, extractRows } = provideGroupBy({ groupBy, sortBy })\n\n const { sortedItems } = useSortedItems(filteredItems, sortByWithGroups, columns)\n const { flatItems } = useGroupedItems(sortedItems, groupBy, opened)\n const itemsLength = computed(() => flatItems.value.length)\n\n const { startIndex, stopIndex } = providePagination({ page, itemsPerPage, itemsLength })\n const { paginatedItems } = usePaginatedItems({ items: flatItems, startIndex, stopIndex, itemsPerPage })\n\n const paginatedItemsWithoutGroups = computed(() => extractRows(paginatedItems.value))\n\n provideSelection(props, paginatedItemsWithoutGroups)\n\n provideExpanded(props)\n\n useOptions({\n page,\n itemsPerPage,\n sortBy,\n groupBy,\n search,\n })\n\n provideDefaults({\n VDataTableRows: {\n hideNoData: toRef(props, 'hideNoData'),\n noDataText: toRef(props, 'noDataText'),\n },\n })\n\n useRender(() => (\n <VTable\n class={[\n 'v-data-table',\n {\n 'v-data-table--show-select': props.showSelect,\n },\n ]}\n fixedHeader={ props.fixedHeader }\n fixedFooter={ props.fixedFooter }\n height={ props.height }\n hover={ props.hover }\n >\n {{\n top: slots.top,\n default: slots.default ?? (() => (\n <>\n { slots.colgroup?.({ columns }) }\n <thead>\n <VDataTableHeaders\n sticky={ props.fixedHeader }\n multiSort={ props.multiSort }\n v-slots={ slots }\n />\n </thead>\n { slots.thead?.() }\n <tbody>\n { slots.body ? slots.body() : (\n <VDataTableRows\n items={ paginatedItems.value }\n onClick:row={ props['onClick:row'] }\n v-slots={ slots }\n />\n )}\n </tbody>\n { slots.tbody?.() }\n { slots.tfoot?.() }\n </>\n )),\n bottom: slots.bottom ?? (() => (\n <VDataTableFooter\n v-slots={{\n prepend: slots['footer.prepend'],\n }}\n />\n )),\n }}\n </VTable>\n ))\n\n return {}\n },\n})\n\nexport type VDataTable = InstanceType<typeof VDataTable>\n"],"mappings":"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"}
@@ -9,6 +9,7 @@ import { useBackgroundColor } from "../../composables/color.mjs";
9
9
  import { useHeaders } from "./composables/headers.mjs";
10
10
  import { useSelection } from "./composables/select.mjs";
11
11
  import { useSort } from "./composables/sort.mjs"; // Utilities
12
+ import { computed } from 'vue';
12
13
  import { convertToUnit, genericComponent, useRender } from "../../util/index.mjs"; // Types
13
14
  export const VDataTableHeaders = genericComponent()({
14
15
  name: 'VDataTableHeaders',
@@ -67,6 +68,17 @@ export const VDataTableHeaders = genericComponent()({
67
68
  backgroundColorClasses,
68
69
  backgroundColorStyles
69
70
  } = useBackgroundColor(props, 'color');
71
+ const slotProps = computed(() => ({
72
+ headers: headers.value,
73
+ columns: columns.value,
74
+ toggleSort,
75
+ sortBy: sortBy.value,
76
+ someSelected: someSelected.value,
77
+ allSelected: allSelected.value,
78
+ selectAll,
79
+ getSortIcon,
80
+ getFixedStyles
81
+ }));
70
82
  const VDataTableHeaderCell = _ref2 => {
71
83
  let {
72
84
  column,
@@ -94,14 +106,14 @@ export const VDataTableHeaders = genericComponent()({
94
106
  "noPadding": noPadding
95
107
  }, {
96
108
  default: () => {
97
- const slotName = `column.${column.key}`;
98
- const slotProps = {
109
+ const columnSlotName = `column.${column.key}`;
110
+ const columnSlotProps = {
99
111
  column,
100
112
  selectAll
101
113
  };
102
- if (slots[slotName]) return slots[slotName](slotProps);
114
+ if (slots[columnSlotName]) return slots[columnSlotName](columnSlotProps);
103
115
  if (column.key === 'data-table-select') {
104
- return slots['column.data-table-select']?.(slotProps) ?? _createVNode(VCheckboxBtn, {
116
+ return slots['column.data-table-select']?.(columnSlotProps) ?? _createVNode(VCheckboxBtn, {
105
117
  "modelValue": allSelected.value,
106
118
  "indeterminate": someSelected.value && !allSelected.value,
107
119
  "onUpdate:modelValue": selectAll
@@ -121,22 +133,24 @@ export const VDataTableHeaders = genericComponent()({
121
133
  }
122
134
  });
123
135
  };
124
- useRender(() => _createVNode(_Fragment, null, [headers.value.map((row, y) => _createVNode("tr", null, [row.map((column, x) => _createVNode(VDataTableHeaderCell, {
125
- "column": column,
126
- "x": x,
127
- "y": y
128
- }, null))])), props.loading && _createVNode("tr", {
129
- "class": "v-data-table__progress"
130
- }, [_createVNode("th", {
131
- "colspan": columns.value.length
132
- }, [_createVNode(LoaderSlot, {
133
- "name": "v-data-table-headers",
134
- "active": true,
135
- "color": typeof props.loading === 'boolean' ? undefined : props.loading,
136
- "indeterminate": true
137
- }, {
138
- default: slots.loader
139
- })])])]));
136
+ useRender(() => {
137
+ return _createVNode(_Fragment, null, [slots.headers ? slots.headers(slotProps.value) : headers.value.map((row, y) => _createVNode("tr", null, [row.map((column, x) => _createVNode(VDataTableHeaderCell, {
138
+ "column": column,
139
+ "x": x,
140
+ "y": y
141
+ }, null))])), props.loading && _createVNode("tr", {
142
+ "class": "v-data-table__progress"
143
+ }, [_createVNode("th", {
144
+ "colspan": columns.value.length
145
+ }, [_createVNode(LoaderSlot, {
146
+ "name": "v-data-table-headers",
147
+ "active": true,
148
+ "color": typeof props.loading === 'boolean' ? undefined : props.loading,
149
+ "indeterminate": true
150
+ }, {
151
+ default: slots.loader
152
+ })])])]);
153
+ });
140
154
  }
141
155
  });
142
156
  //# sourceMappingURL=VDataTableHeaders.mjs.map