vuetify 3.1.3 → 3.1.5

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 (520) hide show
  1. package/LICENSE.md +1 -1
  2. package/dist/json/attributes.json +3104 -3068
  3. package/dist/json/importMap-labs.json +4 -0
  4. package/dist/json/importMap.json +38 -38
  5. package/dist/json/tags.json +18 -4
  6. package/dist/json/web-types.json +9059 -6289
  7. package/dist/vuetify-labs.css +374 -3262
  8. package/dist/vuetify-labs.d.ts +14446 -22245
  9. package/dist/vuetify-labs.esm.js +1661 -1922
  10. package/dist/vuetify-labs.esm.js.map +1 -1
  11. package/dist/vuetify-labs.js +1660 -1921
  12. package/dist/vuetify-labs.min.css +2 -2
  13. package/dist/vuetify.css +162 -3058
  14. package/dist/vuetify.d.ts +13666 -21503
  15. package/dist/vuetify.esm.js +1435 -1706
  16. package/dist/vuetify.esm.js.map +1 -1
  17. package/dist/vuetify.js +1434 -1705
  18. package/dist/vuetify.js.map +1 -1
  19. package/dist/vuetify.min.css +2 -2
  20. package/dist/vuetify.min.js +1084 -1305
  21. package/dist/vuetify.min.js.map +1 -1
  22. package/lib/blueprints/index.d.ts +9 -9
  23. package/lib/blueprints/md1.d.ts +9 -9
  24. package/lib/blueprints/md2.d.ts +9 -9
  25. package/lib/blueprints/md3.d.ts +9 -9
  26. package/lib/blueprints/md3.mjs.map +1 -1
  27. package/lib/components/VAlert/VAlert.mjs +5 -6
  28. package/lib/components/VAlert/VAlert.mjs.map +1 -1
  29. package/lib/components/VAlert/index.d.ts +135 -157
  30. package/lib/components/VApp/VApp.mjs +9 -12
  31. package/lib/components/VApp/VApp.mjs.map +1 -1
  32. package/lib/components/VApp/index.d.ts +27 -13
  33. package/lib/components/VAppBar/VAppBar.mjs +9 -5
  34. package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
  35. package/lib/components/VAppBar/VAppBarNavIcon.mjs +2 -2
  36. package/lib/components/VAppBar/VAppBarNavIcon.mjs.map +1 -1
  37. package/lib/components/VAppBar/VAppBarTitle.mjs +5 -6
  38. package/lib/components/VAppBar/VAppBarTitle.mjs.map +1 -1
  39. package/lib/components/VAppBar/index.d.ts +173 -342
  40. package/lib/components/VAutocomplete/VAutocomplete.mjs +100 -104
  41. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  42. package/lib/components/VAutocomplete/index.d.ts +494 -636
  43. package/lib/components/VAvatar/VAvatar.mjs +19 -22
  44. package/lib/components/VAvatar/VAvatar.mjs.map +1 -1
  45. package/lib/components/VAvatar/index.d.ts +46 -66
  46. package/lib/components/VBadge/VBadge.mjs +7 -5
  47. package/lib/components/VBadge/VBadge.mjs.map +1 -1
  48. package/lib/components/VBadge/index.d.ts +74 -100
  49. package/lib/components/VBanner/VBanner.mjs +3 -4
  50. package/lib/components/VBanner/VBanner.mjs.map +1 -1
  51. package/lib/components/VBanner/VBannerActions.mjs +5 -8
  52. package/lib/components/VBanner/VBannerActions.mjs.map +1 -1
  53. package/lib/components/VBanner/index.d.ts +134 -98
  54. package/lib/components/VBottomNavigation/VBottomNavigation.css +2 -1
  55. package/lib/components/VBottomNavigation/VBottomNavigation.mjs +8 -4
  56. package/lib/components/VBottomNavigation/VBottomNavigation.mjs.map +1 -1
  57. package/lib/components/VBottomNavigation/VBottomNavigation.sass +2 -1
  58. package/lib/components/VBottomNavigation/_variables.scss +1 -1
  59. package/lib/components/VBottomNavigation/index.d.ts +67 -131
  60. package/lib/components/VBottomSheet/VBottomSheet.mjs +1 -4
  61. package/lib/components/VBottomSheet/VBottomSheet.mjs.map +1 -1
  62. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs +9 -16
  63. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs.map +1 -1
  64. package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.mjs +5 -8
  65. package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.mjs.map +1 -1
  66. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs +4 -8
  67. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs.map +1 -1
  68. package/lib/components/VBreadcrumbs/index.d.ts +87 -61
  69. package/lib/components/VBtn/VBtn.css +7 -7
  70. package/lib/components/VBtn/VBtn.mjs +14 -17
  71. package/lib/components/VBtn/VBtn.mjs.map +1 -1
  72. package/lib/components/VBtn/index.d.ts +118 -179
  73. package/lib/components/VBtnGroup/VBtnGroup.mjs +19 -12
  74. package/lib/components/VBtnGroup/VBtnGroup.mjs.map +1 -1
  75. package/lib/components/VBtnGroup/index.d.ts +42 -56
  76. package/lib/components/VBtnToggle/VBtnToggle.mjs +10 -7
  77. package/lib/components/VBtnToggle/VBtnToggle.mjs.map +1 -1
  78. package/lib/components/VBtnToggle/index.d.ts +65 -131
  79. package/lib/components/VCalendar/VCalendar.mjs +3 -0
  80. package/lib/components/VCalendar/VCalendar.mjs.map +1 -1
  81. package/lib/components/VCalendar/VCalendarCategory.sass +9 -3
  82. package/lib/components/VCalendar/VCalendarDaily.mjs +20 -8
  83. package/lib/components/VCalendar/VCalendarDaily.mjs.map +1 -1
  84. package/lib/components/VCalendar/VCalendarWeekly.mjs +25 -5
  85. package/lib/components/VCalendar/VCalendarWeekly.mjs.map +1 -1
  86. package/lib/components/VCalendar/mixins/calendar-with-events.mjs +20 -16
  87. package/lib/components/VCalendar/mixins/calendar-with-events.mjs.map +1 -1
  88. package/lib/components/VCalendar/mixins/mouse.mjs +15 -30
  89. package/lib/components/VCalendar/mixins/mouse.mjs.map +1 -1
  90. package/lib/components/VCard/VCard.css +7 -7
  91. package/lib/components/VCard/VCard.mjs +5 -6
  92. package/lib/components/VCard/VCard.mjs.map +1 -1
  93. package/lib/components/VCard/VCardActions.mjs +5 -8
  94. package/lib/components/VCard/VCardActions.mjs.map +1 -1
  95. package/lib/components/VCard/VCardItem.mjs +7 -8
  96. package/lib/components/VCard/VCardItem.mjs.map +1 -1
  97. package/lib/components/VCard/index.d.ts +286 -186
  98. package/lib/components/VCarousel/VCarousel.mjs +2 -2
  99. package/lib/components/VCarousel/VCarousel.mjs.map +1 -1
  100. package/lib/components/VCarousel/VCarouselItem.mjs +2 -2
  101. package/lib/components/VCarousel/VCarouselItem.mjs.map +1 -1
  102. package/lib/components/VCarousel/index.d.ts +238 -61
  103. package/lib/components/VCheckbox/VCheckbox.mjs +2 -2
  104. package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
  105. package/lib/components/VCheckbox/VCheckboxBtn.mjs +2 -2
  106. package/lib/components/VCheckbox/VCheckboxBtn.mjs.map +1 -1
  107. package/lib/components/VCheckbox/index.d.ts +277 -254
  108. package/lib/components/VChip/VChip.css +7 -7
  109. package/lib/components/VChip/VChip.mjs +21 -15
  110. package/lib/components/VChip/VChip.mjs.map +1 -1
  111. package/lib/components/VChip/index.d.ts +118 -168
  112. package/lib/components/VChipGroup/VChipGroup.css +1 -0
  113. package/lib/components/VChipGroup/VChipGroup.mjs +15 -18
  114. package/lib/components/VChipGroup/VChipGroup.mjs.map +1 -1
  115. package/lib/components/VChipGroup/VChipGroup.sass +1 -0
  116. package/lib/components/VChipGroup/index.d.ts +49 -68
  117. package/lib/components/VCode/index.d.ts +21 -9
  118. package/lib/components/VColorPicker/VColorPickerCanvas.mjs +4 -9
  119. package/lib/components/VColorPicker/VColorPickerCanvas.mjs.map +1 -1
  120. package/lib/components/VColorPicker/VColorPickerEdit.mjs +12 -16
  121. package/lib/components/VColorPicker/VColorPickerEdit.mjs.map +1 -1
  122. package/lib/components/VColorPicker/VColorPickerPreview.mjs +43 -46
  123. package/lib/components/VColorPicker/VColorPickerPreview.mjs.map +1 -1
  124. package/lib/components/VColorPicker/index.d.ts +1 -1
  125. package/lib/components/VColorPicker/util/index.mjs +1 -2
  126. package/lib/components/VColorPicker/util/index.mjs.map +1 -1
  127. package/lib/components/VCombobox/VCombobox.mjs +104 -113
  128. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  129. package/lib/components/VCombobox/index.d.ts +496 -638
  130. package/lib/components/VCounter/VCounter.mjs +2 -2
  131. package/lib/components/VCounter/VCounter.mjs.map +1 -1
  132. package/lib/components/VCounter/index.d.ts +139 -197
  133. package/lib/components/VData/VData.mjs +2 -4
  134. package/lib/components/VData/VData.mjs.map +1 -1
  135. package/lib/components/VDatePicker/VDatePicker.mjs +7 -5
  136. package/lib/components/VDatePicker/VDatePicker.mjs.map +1 -1
  137. package/lib/components/VDefaultsProvider/VDefaultsProvider.mjs +4 -9
  138. package/lib/components/VDefaultsProvider/VDefaultsProvider.mjs.map +1 -1
  139. package/lib/components/VDefaultsProvider/index.d.ts +33 -14
  140. package/lib/components/VDialog/VDialog.mjs +6 -9
  141. package/lib/components/VDialog/VDialog.mjs.map +1 -1
  142. package/lib/components/VDialog/index.d.ts +430 -1610
  143. package/lib/components/VDivider/VDivider.mjs +2 -2
  144. package/lib/components/VDivider/VDivider.mjs.map +1 -1
  145. package/lib/components/VDivider/index.d.ts +35 -15
  146. package/lib/components/VExpansionPanel/VExpansionPanel.css +7 -7
  147. package/lib/components/VExpansionPanel/VExpansionPanel.mjs +4 -5
  148. package/lib/components/VExpansionPanel/VExpansionPanel.mjs.map +1 -1
  149. package/lib/components/VExpansionPanel/VExpansionPanelText.mjs +11 -14
  150. package/lib/components/VExpansionPanel/VExpansionPanelText.mjs.map +1 -1
  151. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs +19 -22
  152. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs.map +1 -1
  153. package/lib/components/VExpansionPanel/VExpansionPanels.mjs +2 -2
  154. package/lib/components/VExpansionPanel/VExpansionPanels.mjs.map +1 -1
  155. package/lib/components/VExpansionPanel/index.d.ts +180 -158
  156. package/lib/components/VField/VField.css +2 -2
  157. package/lib/components/VField/VField.mjs +3 -6
  158. package/lib/components/VField/VField.mjs.map +1 -1
  159. package/lib/components/VField/VField.sass +2 -2
  160. package/lib/components/VField/VFieldLabel.mjs +2 -2
  161. package/lib/components/VField/VFieldLabel.mjs.map +1 -1
  162. package/lib/components/VField/index.d.ts +46 -34
  163. package/lib/components/VFileInput/VFileInput.mjs +16 -18
  164. package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
  165. package/lib/components/VFileInput/index.d.ts +330 -355
  166. package/lib/components/VFooter/VFooter.mjs +2 -2
  167. package/lib/components/VFooter/VFooter.mjs.map +1 -1
  168. package/lib/components/VFooter/index.d.ts +45 -65
  169. package/lib/components/VForm/VForm.mjs +10 -14
  170. package/lib/components/VForm/VForm.mjs.map +1 -1
  171. package/lib/components/VForm/index.d.ts +29 -23
  172. package/lib/components/VGrid/VCol.mjs +5 -8
  173. package/lib/components/VGrid/VCol.mjs.map +1 -1
  174. package/lib/components/VGrid/VContainer.mjs +2 -2
  175. package/lib/components/VGrid/VContainer.mjs.map +1 -1
  176. package/lib/components/VGrid/VGrid.css +0 -125
  177. package/lib/components/VGrid/VRow.mjs +5 -8
  178. package/lib/components/VGrid/VRow.mjs.map +1 -1
  179. package/lib/components/VGrid/index.d.ts +112 -121
  180. package/lib/components/VHover/VHover.mjs +9 -12
  181. package/lib/components/VHover/VHover.mjs.map +1 -1
  182. package/lib/components/VHover/index.d.ts +53 -15
  183. package/lib/components/VIcon/VIcon.mjs +22 -26
  184. package/lib/components/VIcon/VIcon.mjs.map +1 -1
  185. package/lib/components/VIcon/index.d.ts +68 -56
  186. package/lib/components/VImg/VImg.mjs +7 -11
  187. package/lib/components/VImg/VImg.mjs.map +1 -1
  188. package/lib/components/VImg/index.d.ts +67 -58
  189. package/lib/components/VInput/VInput.mjs +5 -6
  190. package/lib/components/VInput/VInput.mjs.map +1 -1
  191. package/lib/components/VInput/index.d.ts +94 -283
  192. package/lib/components/VItemGroup/VItem.mjs +8 -11
  193. package/lib/components/VItemGroup/VItem.mjs.map +1 -1
  194. package/lib/components/VItemGroup/VItemGroup.mjs +13 -16
  195. package/lib/components/VItemGroup/VItemGroup.mjs.map +1 -1
  196. package/lib/components/VItemGroup/index.d.ts +76 -149
  197. package/lib/components/VKbd/index.d.ts +21 -9
  198. package/lib/components/VLabel/VLabel.mjs +7 -10
  199. package/lib/components/VLabel/VLabel.mjs.map +1 -1
  200. package/lib/components/VLabel/index.d.ts +29 -9
  201. package/lib/components/VLayout/VLayout.mjs +9 -12
  202. package/lib/components/VLayout/VLayout.mjs.map +1 -1
  203. package/lib/components/VLayout/VLayoutItem.mjs +6 -9
  204. package/lib/components/VLayout/VLayoutItem.mjs.map +1 -1
  205. package/lib/components/VLayout/index.d.ts +60 -43
  206. package/lib/components/VLazy/VLazy.mjs +12 -15
  207. package/lib/components/VLazy/VLazy.mjs.map +1 -1
  208. package/lib/components/VLazy/index.d.ts +48 -71
  209. package/lib/components/VList/VList.mjs +4 -8
  210. package/lib/components/VList/VList.mjs.map +1 -1
  211. package/lib/components/VList/VListChildren.mjs +59 -77
  212. package/lib/components/VList/VListChildren.mjs.map +1 -1
  213. package/lib/components/VList/VListGroup.mjs +33 -39
  214. package/lib/components/VList/VListGroup.mjs.map +1 -1
  215. package/lib/components/VList/VListItem.css +9 -9
  216. package/lib/components/VList/VListItem.mjs +10 -18
  217. package/lib/components/VList/VListItem.mjs.map +1 -1
  218. package/lib/components/VList/VListItem.sass +0 -2
  219. package/lib/components/VList/VListItemAction.mjs +2 -2
  220. package/lib/components/VList/VListItemAction.mjs.map +1 -1
  221. package/lib/components/VList/VListItemMedia.mjs +2 -2
  222. package/lib/components/VList/VListItemMedia.mjs.map +1 -1
  223. package/lib/components/VList/VListSubheader.mjs +3 -4
  224. package/lib/components/VList/VListSubheader.mjs.map +1 -1
  225. package/lib/components/VList/index.d.ts +418 -686
  226. package/lib/components/VList/list.mjs +1 -1
  227. package/lib/components/VList/list.mjs.map +1 -1
  228. package/lib/components/VLocaleProvider/VLocaleProvider.mjs +5 -8
  229. package/lib/components/VLocaleProvider/VLocaleProvider.mjs.map +1 -1
  230. package/lib/components/VLocaleProvider/index.d.ts +28 -16
  231. package/lib/components/VMain/VMain.mjs +12 -15
  232. package/lib/components/VMain/VMain.mjs.map +1 -1
  233. package/lib/components/VMain/index.d.ts +23 -17
  234. package/lib/components/VMenu/VMenu.mjs +10 -10
  235. package/lib/components/VMenu/VMenu.mjs.map +1 -1
  236. package/lib/components/VMenu/index.d.ts +428 -1641
  237. package/lib/components/VMessages/VMessages.mjs +2 -2
  238. package/lib/components/VMessages/VMessages.mjs.map +1 -1
  239. package/lib/components/VMessages/index.d.ts +144 -204
  240. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +6 -7
  241. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
  242. package/lib/components/VNavigationDrawer/index.d.ts +92 -124
  243. package/lib/components/VNoSsr/VNoSsr.mjs +1 -4
  244. package/lib/components/VNoSsr/VNoSsr.mjs.map +1 -1
  245. package/lib/components/VNoSsr/index.d.ts +20 -4
  246. package/lib/components/VOtpInput/VOtpInput.mjs +25 -50
  247. package/lib/components/VOtpInput/VOtpInput.mjs.map +1 -1
  248. package/lib/components/VOverflowBtn/VOverflowBtn.mjs +3 -0
  249. package/lib/components/VOverflowBtn/VOverflowBtn.mjs.map +1 -1
  250. package/lib/components/VOverlay/VOverlay.mjs +44 -47
  251. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  252. package/lib/components/VOverlay/index.d.ts +150 -468
  253. package/lib/components/VOverlay/locationStrategies.mjs +3 -6
  254. package/lib/components/VOverlay/locationStrategies.mjs.map +1 -1
  255. package/lib/components/VOverlay/scrollStrategies.mjs +7 -12
  256. package/lib/components/VOverlay/scrollStrategies.mjs.map +1 -1
  257. package/lib/components/VOverlay/useActivator.mjs +4 -7
  258. package/lib/components/VOverlay/useActivator.mjs.map +1 -1
  259. package/lib/components/VPagination/VPagination.mjs +4 -5
  260. package/lib/components/VPagination/VPagination.mjs.map +1 -1
  261. package/lib/components/VPagination/index.d.ts +107 -207
  262. package/lib/components/VParallax/VParallax.mjs +12 -15
  263. package/lib/components/VParallax/VParallax.mjs.map +1 -1
  264. package/lib/components/VParallax/index.d.ts +39 -9
  265. package/lib/components/VProgressCircular/VProgressCircular.mjs +2 -2
  266. package/lib/components/VProgressCircular/VProgressCircular.mjs.map +1 -1
  267. package/lib/components/VProgressCircular/index.d.ts +41 -58
  268. package/lib/components/VProgressLinear/VProgressLinear.mjs +2 -2
  269. package/lib/components/VProgressLinear/VProgressLinear.mjs.map +1 -1
  270. package/lib/components/VProgressLinear/index.d.ts +91 -95
  271. package/lib/components/VRadio/VRadio.mjs +2 -2
  272. package/lib/components/VRadio/VRadio.mjs.map +1 -1
  273. package/lib/components/VRadio/index.d.ts +108 -85
  274. package/lib/components/VRadioGroup/VRadioGroup.mjs +2 -2
  275. package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
  276. package/lib/components/VRadioGroup/index.d.ts +164 -147
  277. package/lib/components/VRangeSlider/VRangeSlider.mjs +21 -31
  278. package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
  279. package/lib/components/VRangeSlider/index.d.ts +154 -210
  280. package/lib/components/VRating/VRating.mjs +28 -34
  281. package/lib/components/VRating/VRating.mjs.map +1 -1
  282. package/lib/components/VRating/index.d.ts +77 -311
  283. package/lib/components/VResponsive/VResponsive.mjs +11 -14
  284. package/lib/components/VResponsive/VResponsive.mjs.map +1 -1
  285. package/lib/components/VResponsive/index.d.ts +44 -20
  286. package/lib/components/VSelect/VSelect.mjs +100 -102
  287. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  288. package/lib/components/VSelect/index.d.ts +729 -673
  289. package/lib/components/VSelectionControl/VSelectionControl.css +2 -2
  290. package/lib/components/VSelectionControl/VSelectionControl.mjs +3 -4
  291. package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
  292. package/lib/components/VSelectionControl/index.d.ts +31 -19
  293. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs +8 -11
  294. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs.map +1 -1
  295. package/lib/components/VSelectionControlGroup/index.d.ts +58 -70
  296. package/lib/components/VSheet/VSheet.mjs +2 -2
  297. package/lib/components/VSheet/VSheet.mjs.map +1 -1
  298. package/lib/components/VSheet/index.d.ts +52 -56
  299. package/lib/components/VSkeletonLoader/VSkeletonLoader.sass +1 -1
  300. package/lib/components/VSlideGroup/VSlideGroup.mjs +51 -60
  301. package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
  302. package/lib/components/VSlideGroup/VSlideGroupItem.mjs +6 -9
  303. package/lib/components/VSlideGroup/VSlideGroupItem.mjs.map +1 -1
  304. package/lib/components/VSlideGroup/index.d.ts +144 -366
  305. package/lib/components/VSlider/VSlider.mjs +8 -14
  306. package/lib/components/VSlider/VSlider.mjs.map +1 -1
  307. package/lib/components/VSlider/VSliderThumb.css +0 -1
  308. package/lib/components/VSlider/VSliderThumb.mjs +4 -5
  309. package/lib/components/VSlider/VSliderThumb.mjs.map +1 -1
  310. package/lib/components/VSlider/VSliderTrack.mjs +4 -5
  311. package/lib/components/VSlider/VSliderTrack.mjs.map +1 -1
  312. package/lib/components/VSlider/index.d.ts +151 -207
  313. package/lib/components/VSlider/slider.mjs +3 -6
  314. package/lib/components/VSlider/slider.mjs.map +1 -1
  315. package/lib/components/VSnackbar/VSnackbar.mjs +1 -1
  316. package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
  317. package/lib/components/VSnackbar/index.d.ts +358 -1519
  318. package/lib/components/VStepper/VStepper.sass +6 -6
  319. package/lib/components/VStepper/VStepperStep.mjs +12 -2
  320. package/lib/components/VStepper/VStepperStep.mjs.map +1 -1
  321. package/lib/components/VSwitch/VSwitch.mjs +3 -4
  322. package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
  323. package/lib/components/VSwitch/index.d.ts +180 -151
  324. package/lib/components/VSystemBar/VSystemBar.mjs +8 -4
  325. package/lib/components/VSystemBar/VSystemBar.mjs.map +1 -1
  326. package/lib/components/VSystemBar/index.d.ts +43 -51
  327. package/lib/components/VTable/VTable.mjs +19 -22
  328. package/lib/components/VTable/VTable.mjs.map +1 -1
  329. package/lib/components/VTable/index.d.ts +54 -30
  330. package/lib/components/VTabs/VTab.mjs +3 -4
  331. package/lib/components/VTabs/VTab.mjs.map +1 -1
  332. package/lib/components/VTabs/VTabs.mjs +2 -2
  333. package/lib/components/VTabs/VTabs.mjs.map +1 -1
  334. package/lib/components/VTabs/index.d.ts +122 -150
  335. package/lib/components/VTextField/VTextField.mjs +16 -19
  336. package/lib/components/VTextField/VTextField.mjs.map +1 -1
  337. package/lib/components/VTextField/index.d.ts +331 -1489
  338. package/lib/components/VTextarea/VTextarea.mjs +17 -19
  339. package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
  340. package/lib/components/VTextarea/index.d.ts +320 -334
  341. package/lib/components/VThemeProvider/VThemeProvider.mjs +4 -5
  342. package/lib/components/VThemeProvider/VThemeProvider.mjs.map +1 -1
  343. package/lib/components/VThemeProvider/index.d.ts +27 -13
  344. package/lib/components/VTimePicker/VTimePicker.mjs.map +1 -1
  345. package/lib/components/VTimeline/VTimeline.mjs +2 -2
  346. package/lib/components/VTimeline/VTimeline.mjs.map +1 -1
  347. package/lib/components/VTimeline/VTimelineDivider.mjs +20 -23
  348. package/lib/components/VTimeline/VTimelineDivider.mjs.map +1 -1
  349. package/lib/components/VTimeline/VTimelineItem.mjs +33 -34
  350. package/lib/components/VTimeline/VTimelineItem.mjs.map +1 -1
  351. package/lib/components/VTimeline/_mixins.sass +1 -1
  352. package/lib/components/VTimeline/index.d.ts +123 -135
  353. package/lib/components/VToolbar/VToolbar.css +1 -0
  354. package/lib/components/VToolbar/VToolbar.mjs +7 -9
  355. package/lib/components/VToolbar/VToolbar.mjs.map +1 -1
  356. package/lib/components/VToolbar/VToolbar.sass +1 -0
  357. package/lib/components/VToolbar/VToolbarItems.mjs +5 -8
  358. package/lib/components/VToolbar/VToolbarItems.mjs.map +1 -1
  359. package/lib/components/VToolbar/VToolbarTitle.mjs +7 -7
  360. package/lib/components/VToolbar/VToolbarTitle.mjs.map +1 -1
  361. package/lib/components/VToolbar/index.d.ts +146 -351
  362. package/lib/components/VTooltip/VTooltip.mjs +1 -2
  363. package/lib/components/VTooltip/VTooltip.mjs.map +1 -1
  364. package/lib/components/VTooltip/index.d.ts +361 -1619
  365. package/lib/components/VTreeview/VTreeview.mjs +1 -1
  366. package/lib/components/VTreeview/VTreeview.mjs.map +1 -1
  367. package/lib/components/VValidation/VValidation.mjs +3 -6
  368. package/lib/components/VValidation/VValidation.mjs.map +1 -1
  369. package/lib/components/VValidation/index.d.ts +48 -46
  370. package/lib/components/VWindow/VWindow.mjs +19 -22
  371. package/lib/components/VWindow/VWindow.mjs.map +1 -1
  372. package/lib/components/VWindow/VWindowItem.mjs +10 -14
  373. package/lib/components/VWindow/VWindowItem.mjs.map +1 -1
  374. package/lib/components/VWindow/index.d.ts +152 -284
  375. package/lib/components/index.d.ts +13667 -21504
  376. package/lib/components/transitions/createTransition.mjs +4 -4
  377. package/lib/components/transitions/createTransition.mjs.map +1 -1
  378. package/lib/components/transitions/dialog-transition.mjs +8 -8
  379. package/lib/components/transitions/dialog-transition.mjs.map +1 -1
  380. package/lib/components/transitions/index.d.ts +477 -342
  381. package/lib/composables/defaults.mjs +6 -4
  382. package/lib/composables/defaults.mjs.map +1 -1
  383. package/lib/composables/delay.mjs +1 -1
  384. package/lib/composables/delay.mjs.map +1 -1
  385. package/lib/composables/filter.mjs +11 -12
  386. package/lib/composables/filter.mjs.map +1 -1
  387. package/lib/composables/group.mjs +2 -2
  388. package/lib/composables/group.mjs.map +1 -1
  389. package/lib/composables/icons.mjs +4 -6
  390. package/lib/composables/icons.mjs.map +1 -1
  391. package/lib/composables/intersectionObserver.mjs +1 -1
  392. package/lib/composables/intersectionObserver.mjs.map +1 -1
  393. package/lib/composables/layout.mjs +2 -5
  394. package/lib/composables/layout.mjs.map +1 -1
  395. package/lib/composables/loader.mjs +2 -3
  396. package/lib/composables/loader.mjs.map +1 -1
  397. package/lib/composables/locale.mjs +2 -2
  398. package/lib/composables/locale.mjs.map +1 -1
  399. package/lib/composables/mutationObserver.mjs +8 -8
  400. package/lib/composables/mutationObserver.mjs.map +1 -1
  401. package/lib/composables/nested/nested.mjs +2 -1
  402. package/lib/composables/nested/nested.mjs.map +1 -1
  403. package/lib/composables/nested/selectStrategies.mjs +1 -1
  404. package/lib/composables/nested/selectStrategies.mjs.map +1 -1
  405. package/lib/composables/proxiedModel.mjs +9 -10
  406. package/lib/composables/proxiedModel.mjs.map +1 -1
  407. package/lib/composables/resizeObserver.mjs +1 -1
  408. package/lib/composables/resizeObserver.mjs.map +1 -1
  409. package/lib/composables/router.mjs +12 -21
  410. package/lib/composables/router.mjs.map +1 -1
  411. package/lib/composables/scroll.mjs +2 -4
  412. package/lib/composables/scroll.mjs.map +1 -1
  413. package/lib/composables/selectLink.mjs +1 -4
  414. package/lib/composables/selectLink.mjs.map +1 -1
  415. package/lib/composables/stack.mjs +6 -8
  416. package/lib/composables/stack.mjs.map +1 -1
  417. package/lib/composables/teleport.mjs +1 -1
  418. package/lib/composables/teleport.mjs.map +1 -1
  419. package/lib/composables/theme.mjs +2 -3
  420. package/lib/composables/theme.mjs.map +1 -1
  421. package/lib/composables/toggleScope.mjs +3 -6
  422. package/lib/composables/toggleScope.mjs.map +1 -1
  423. package/lib/composables/touch.mjs +1 -2
  424. package/lib/composables/touch.mjs.map +1 -1
  425. package/lib/composables/validation.mjs +7 -7
  426. package/lib/composables/validation.mjs.map +1 -1
  427. package/lib/directives/click-outside/index.mjs +2 -3
  428. package/lib/directives/click-outside/index.mjs.map +1 -1
  429. package/lib/directives/index.d.ts +1 -1
  430. package/lib/directives/intersect/index.mjs +2 -4
  431. package/lib/directives/intersect/index.mjs.map +1 -1
  432. package/lib/directives/mutate/index.mjs +7 -8
  433. package/lib/directives/mutate/index.mjs.map +1 -1
  434. package/lib/directives/resize/index.mjs +3 -5
  435. package/lib/directives/resize/index.mjs.map +1 -1
  436. package/lib/directives/ripple/VRipple.css +3 -0
  437. package/lib/directives/ripple/VRipple.sass +3 -0
  438. package/lib/directives/ripple/_variables.scss +1 -1
  439. package/lib/directives/ripple/index.mjs +8 -18
  440. package/lib/directives/ripple/index.mjs.map +1 -1
  441. package/lib/directives/scroll/index.mjs +1 -2
  442. package/lib/directives/scroll/index.mjs.map +1 -1
  443. package/lib/directives/touch/index.mjs +9 -14
  444. package/lib/directives/touch/index.mjs.map +1 -1
  445. package/lib/entry-bundler.mjs +1 -1
  446. package/lib/framework.mjs +2 -3
  447. package/lib/framework.mjs.map +1 -1
  448. package/lib/iconsets/fa-svg.d.ts +2 -2
  449. package/lib/iconsets/fa.d.ts +2 -2
  450. package/lib/iconsets/fa4.d.ts +2 -2
  451. package/lib/iconsets/md.d.ts +2 -2
  452. package/lib/iconsets/mdi-svg.d.ts +2 -2
  453. package/lib/iconsets/mdi.d.ts +2 -2
  454. package/lib/index.d.ts +20 -20
  455. package/lib/labs/VDataTable/VDataTable.mjs +12 -19
  456. package/lib/labs/VDataTable/VDataTable.mjs.map +1 -1
  457. package/lib/labs/VDataTable/VDataTableColumn.mjs +1 -2
  458. package/lib/labs/VDataTable/VDataTableColumn.mjs.map +1 -1
  459. package/lib/labs/VDataTable/VDataTableFooter.css +9 -0
  460. package/lib/labs/VDataTable/VDataTableFooter.mjs +80 -45
  461. package/lib/labs/VDataTable/VDataTableFooter.mjs.map +1 -1
  462. package/lib/labs/VDataTable/VDataTableFooter.sass +7 -0
  463. package/lib/labs/VDataTable/VDataTableGroupHeaderRow.mjs +6 -8
  464. package/lib/labs/VDataTable/VDataTableGroupHeaderRow.mjs.map +1 -1
  465. package/lib/labs/VDataTable/VDataTableHeaders.mjs +3 -4
  466. package/lib/labs/VDataTable/VDataTableHeaders.mjs.map +1 -1
  467. package/lib/labs/VDataTable/VDataTableRow.mjs +2 -4
  468. package/lib/labs/VDataTable/VDataTableRow.mjs.map +1 -1
  469. package/lib/labs/VDataTable/VDataTableRows.mjs +45 -49
  470. package/lib/labs/VDataTable/VDataTableRows.mjs.map +1 -1
  471. package/lib/labs/VDataTable/VDataTableServer.mjs +17 -26
  472. package/lib/labs/VDataTable/VDataTableServer.mjs.map +1 -1
  473. package/lib/labs/VDataTable/VDataTableVirtual.mjs +2 -5
  474. package/lib/labs/VDataTable/VDataTableVirtual.mjs.map +1 -1
  475. package/lib/labs/VDataTable/composables/headers.mjs +3 -4
  476. package/lib/labs/VDataTable/composables/headers.mjs.map +1 -1
  477. package/lib/labs/VDataTable/composables/options.mjs +0 -6
  478. package/lib/labs/VDataTable/composables/options.mjs.map +1 -1
  479. package/lib/labs/VDataTable/composables/paginate.mjs +2 -7
  480. package/lib/labs/VDataTable/composables/paginate.mjs.map +1 -1
  481. package/lib/labs/VDataTable/composables/sort.mjs +1 -1
  482. package/lib/labs/VDataTable/composables/sort.mjs.map +1 -1
  483. package/lib/labs/VDataTable/index.d.ts +593 -526
  484. package/lib/labs/VDataTable/index.mjs +1 -0
  485. package/lib/labs/VDataTable/index.mjs.map +1 -1
  486. package/lib/labs/VVirtualScroll/VVirtualScroll.css +0 -1
  487. package/lib/labs/VVirtualScroll/VVirtualScroll.mjs +48 -34
  488. package/lib/labs/VVirtualScroll/VVirtualScroll.mjs.map +1 -1
  489. package/lib/labs/VVirtualScroll/VVirtualScroll.sass +0 -1
  490. package/lib/labs/VVirtualScroll/VVirtualScrollItem.mjs +22 -16
  491. package/lib/labs/VVirtualScroll/VVirtualScrollItem.mjs.map +1 -1
  492. package/lib/labs/VVirtualScroll/index.d.ts +26 -57
  493. package/lib/labs/components.d.ts +619 -583
  494. package/lib/locale/adapters/vue-i18n.d.ts +1 -1
  495. package/lib/locale/adapters/vuetify.mjs +3 -3
  496. package/lib/locale/adapters/vuetify.mjs.map +1 -1
  497. package/lib/locale/ar.mjs +20 -20
  498. package/lib/locale/ar.mjs.map +1 -1
  499. package/lib/locale/es.mjs +3 -3
  500. package/lib/locale/es.mjs.map +1 -1
  501. package/lib/locale/fi.mjs +5 -5
  502. package/lib/locale/fi.mjs.map +1 -1
  503. package/lib/locale/it.mjs +6 -6
  504. package/lib/locale/it.mjs.map +1 -1
  505. package/lib/locale/sv.mjs +7 -7
  506. package/lib/locale/sv.mjs.map +1 -1
  507. package/lib/styles/main.css +40 -2816
  508. package/lib/styles/settings/_variables.scss +6 -6
  509. package/lib/styles/tools/_states.sass +3 -3
  510. package/lib/util/console.mjs +1 -1
  511. package/lib/util/console.mjs.map +1 -1
  512. package/lib/util/createSimpleFunctional.mjs +5 -8
  513. package/lib/util/createSimpleFunctional.mjs.map +1 -1
  514. package/lib/util/defineComponent.mjs +6 -8
  515. package/lib/util/defineComponent.mjs.map +1 -1
  516. package/lib/util/getCurrentInstance.mjs +1 -1
  517. package/lib/util/getCurrentInstance.mjs.map +1 -1
  518. package/lib/util/helpers.mjs +2 -21
  519. package/lib/util/helpers.mjs.map +1 -1
  520. package/package.json +19 -19
@@ -1 +1 @@
1
- {"version":3,"file":"VDataTableGroupHeaderRow.mjs","names":["VBtn","VCheckboxBtn","VDataTableColumn","useHeaders","useSelection","useGroupBy","computed","defineComponent","VDataTableGroupHeaderRow","name","props","item","type","Object","required","setup","slots","isGroupOpen","toggleGroup","extractRows","isSelected","isSomeSelected","select","columns","rows","depth","value","map","column","key","icon","onClick","count","length","modelValue","indeterminate","selectGroup","v"],"sources":["../../../src/labs/VDataTable/VDataTableGroupHeaderRow.tsx"],"sourcesContent":["// Components\nimport { VBtn } from '@/components/VBtn'\nimport { VCheckboxBtn } from '@/components/VCheckbox'\nimport { VDataTableColumn } from './VDataTableColumn'\n\n// Composables\nimport { useHeaders } from './composables/headers'\nimport { useSelection } from './composables/select'\nimport { useGroupBy } from './composables/group'\n\n// Utilities\nimport { computed } from 'vue'\nimport { defineComponent } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { GroupHeaderItem } from './types'\n\nexport const VDataTableGroupHeaderRow = defineComponent({\n name: 'VDataTableGroupHeaderRow',\n\n props: {\n item: {\n type: Object as PropType<GroupHeaderItem>,\n required: true,\n },\n },\n\n setup (props, { slots }) {\n const { isGroupOpen, toggleGroup, extractRows } = useGroupBy()\n const { isSelected, isSomeSelected, select } = useSelection()\n const { columns } = useHeaders()\n\n const rows = computed(() => {\n return extractRows([props.item])\n })\n\n return () => (\n <tr\n class=\"v-data-table-group-header-row\"\n style={{\n '--v-data-table-group-header-row-depth': props.item.depth,\n }}\n >\n { columns.value.map(column => {\n if (column.key === 'data-table-group') {\n const icon = isGroupOpen(props.item) ? '$expand' : '$next'\n const onClick = () => toggleGroup(props.item)\n\n return slots['data-table-group']?.({ item: props.item, count: rows.value.length, props: { icon, onClick } }) ?? (\n <VDataTableColumn class=\"v-data-table-group-header-row__column\">\n <VBtn\n size=\"small\"\n variant=\"text\"\n icon={ icon }\n onClick={ onClick }\n />\n <span>{ props.item.value }</span>\n <span>({ rows.value.length })</span>\n </VDataTableColumn>\n )\n }\n\n if (column.key === 'data-table-select') {\n const modelValue = isSelected(rows.value)\n const indeterminate = isSomeSelected(rows.value) && !modelValue\n const selectGroup = (v: boolean) => select(rows.value, v)\n return slots['data-table-select']?.({ props: { modelValue, indeterminate, 'onUpdate:modelValue': selectGroup } }) ?? (\n <td>\n <VCheckboxBtn\n modelValue={ modelValue }\n indeterminate={ indeterminate }\n onUpdate:modelValue={ selectGroup }\n />\n </td>\n )\n }\n\n return <td />\n })}\n </tr>\n )\n },\n})\n"],"mappings":";AAAA;AAAA,SACSA,IAAI;AAAA,SACJC,YAAY;AAAA,SACZC,gBAAgB,kCAEzB;AAAA,SACSC,UAAU;AAAA,SACVC,YAAY;AAAA,SACZC,UAAU,mCAEnB;AACA,SAASC,QAAQ,QAAQ,KAAK;AAAA,SACrBC,eAAe,gCAExB;AAIA,OAAO,MAAMC,wBAAwB,GAAGD,eAAe,CAAC;EACtDE,IAAI,EAAE,0BAA0B;EAEhCC,KAAK,EAAE;IACLC,IAAI,EAAE;MACJC,IAAI,EAAEC,MAAmC;MACzCC,QAAQ,EAAE;IACZ;EACF,CAAC;EAEDC,KAAK,CAAEL,KAAK,QAAa;IAAA,IAAX;MAAEM;IAAM,CAAC;IACrB,MAAM;MAAEC,WAAW;MAAEC,WAAW;MAAEC;IAAY,CAAC,GAAGd,UAAU,EAAE;IAC9D,MAAM;MAAEe,UAAU;MAAEC,cAAc;MAAEC;IAAO,CAAC,GAAGlB,YAAY,EAAE;IAC7D,MAAM;MAAEmB;IAAQ,CAAC,GAAGpB,UAAU,EAAE;IAEhC,MAAMqB,IAAI,GAAGlB,QAAQ,CAAC,MAAM;MAC1B,OAAOa,WAAW,CAAC,CAACT,KAAK,CAACC,IAAI,CAAC,CAAC;IAClC,CAAC,CAAC;IAEF,OAAO;MAAA,SAEG,+BAA+B;MAAA,SAC9B;QACL,uCAAuC,EAAED,KAAK,CAACC,IAAI,CAACc;MACtD;IAAC,IAECF,OAAO,CAACG,KAAK,CAACC,GAAG,CAACC,MAAM,IAAI;MAC5B,IAAIA,MAAM,CAACC,GAAG,KAAK,kBAAkB,EAAE;QAAA;QACrC,MAAMC,IAAI,GAAGb,WAAW,CAACP,KAAK,CAACC,IAAI,CAAC,GAAG,SAAS,GAAG,OAAO;QAC1D,MAAMoB,OAAO,GAAG,MAAMb,WAAW,CAACR,KAAK,CAACC,IAAI,CAAC;QAE7C,OAAO,wBAAAK,KAAK,CAAC,kBAAkB,CAAC,qBAAzB,yBAAAA,KAAK,EAAuB;UAAEL,IAAI,EAAED,KAAK,CAACC,IAAI;UAAEqB,KAAK,EAAER,IAAI,CAACE,KAAK,CAACO,MAAM;UAAEvB,KAAK,EAAE;YAAEoB,IAAI;YAAEC;UAAQ;QAAE,CAAC,CAAC;UAAA,SAClF;QAAuC;UAAA;YAAA,QAEtD,OAAO;YAAA,WACJ,MAAM;YAAA,QACPD,IAAI;YAAA,WACDC;UAAO,sCAEXrB,KAAK,CAACC,IAAI,CAACe,KAAK,uDACfF,IAAI,CAACE,KAAK,CAACO,MAAM;QAAA,EAE7B;MACH;MAEA,IAAIL,MAAM,CAACC,GAAG,KAAK,mBAAmB,EAAE;QAAA;QACtC,MAAMK,UAAU,GAAGd,UAAU,CAACI,IAAI,CAACE,KAAK,CAAC;QACzC,MAAMS,aAAa,GAAGd,cAAc,CAACG,IAAI,CAACE,KAAK,CAAC,IAAI,CAACQ,UAAU;QAC/D,MAAME,WAAW,GAAIC,CAAU,IAAKf,MAAM,CAACE,IAAI,CAACE,KAAK,EAAEW,CAAC,CAAC;QACzD,OAAO,wBAAArB,KAAK,CAAC,mBAAmB,CAAC,qBAA1B,yBAAAA,KAAK,EAAwB;UAAEN,KAAK,EAAE;YAAEwB,UAAU;YAAEC,aAAa;YAAE,qBAAqB,EAAEC;UAAY;QAAE,CAAC,CAAC;UAAA,cAG9FF,UAAU;UAAA,iBACPC,aAAa;UAAA,uBACPC;QAAW,UAGtC;MACH;MAEA;IACF,CAAC,CAAC,EAEL;EACH;AACF,CAAC,CAAC"}
1
+ {"version":3,"file":"VDataTableGroupHeaderRow.mjs","names":["VBtn","VCheckboxBtn","VDataTableColumn","useHeaders","useSelection","useGroupBy","computed","genericComponent","VDataTableGroupHeaderRow","name","props","item","type","Object","required","setup","slots","isGroupOpen","toggleGroup","extractRows","isSelected","isSomeSelected","select","columns","rows","depth","value","map","column","key","icon","onClick","count","length","modelValue","indeterminate","selectGroup","v"],"sources":["../../../src/labs/VDataTable/VDataTableGroupHeaderRow.tsx"],"sourcesContent":["// Components\nimport { VBtn } from '@/components/VBtn'\nimport { VCheckboxBtn } from '@/components/VCheckbox'\nimport { VDataTableColumn } from './VDataTableColumn'\n\n// Composables\nimport { useHeaders } from './composables/headers'\nimport { useSelection } from './composables/select'\nimport { useGroupBy } from './composables/group'\n\n// Utilities\nimport { computed } from 'vue'\nimport { genericComponent } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { GroupHeaderItem } from './types'\n\ntype VDataTableGroupHeaderRowSlots = {\n 'data-table-group': [{ item: GroupHeaderItem, count: number, props: Record<string, unknown> }]\n 'data-table-select': [{ props: Record<string, unknown> }]\n}\n\nexport const VDataTableGroupHeaderRow = genericComponent<VDataTableGroupHeaderRowSlots>()({\n name: 'VDataTableGroupHeaderRow',\n\n props: {\n item: {\n type: Object as PropType<GroupHeaderItem>,\n required: true,\n },\n },\n\n setup (props, { slots }) {\n const { isGroupOpen, toggleGroup, extractRows } = useGroupBy()\n const { isSelected, isSomeSelected, select } = useSelection()\n const { columns } = useHeaders()\n\n const rows = computed(() => {\n return extractRows([props.item])\n })\n\n return () => (\n <tr\n class=\"v-data-table-group-header-row\"\n style={{\n '--v-data-table-group-header-row-depth': props.item.depth,\n }}\n >\n { columns.value.map(column => {\n if (column.key === 'data-table-group') {\n const icon = isGroupOpen(props.item) ? '$expand' : '$next'\n const onClick = () => toggleGroup(props.item)\n\n return slots['data-table-group']?.({ item: props.item, count: rows.value.length, props: { icon, onClick } }) ?? (\n <VDataTableColumn class=\"v-data-table-group-header-row__column\">\n <VBtn\n size=\"small\"\n variant=\"text\"\n icon={ icon }\n onClick={ onClick }\n />\n <span>{ props.item.value }</span>\n <span>({ rows.value.length })</span>\n </VDataTableColumn>\n )\n }\n\n if (column.key === 'data-table-select') {\n const modelValue = isSelected(rows.value)\n const indeterminate = isSomeSelected(rows.value) && !modelValue\n const selectGroup = (v: boolean) => select(rows.value, v)\n return slots['data-table-select']?.({ props: { modelValue, indeterminate, 'onUpdate:modelValue': selectGroup } }) ?? (\n <td>\n <VCheckboxBtn\n modelValue={ modelValue }\n indeterminate={ indeterminate }\n onUpdate:modelValue={ selectGroup }\n />\n </td>\n )\n }\n\n return <td />\n })}\n </tr>\n )\n },\n})\n"],"mappings":";AAAA;AAAA,SACSA,IAAI;AAAA,SACJC,YAAY;AAAA,SACZC,gBAAgB,kCAEzB;AAAA,SACSC,UAAU;AAAA,SACVC,YAAY;AAAA,SACZC,UAAU,mCAEnB;AACA,SAASC,QAAQ,QAAQ,KAAK;AAAA,SACrBC,gBAAgB,gCAEzB;AASA,OAAO,MAAMC,wBAAwB,GAAGD,gBAAgB,EAAiC,CAAC;EACxFE,IAAI,EAAE,0BAA0B;EAEhCC,KAAK,EAAE;IACLC,IAAI,EAAE;MACJC,IAAI,EAAEC,MAAmC;MACzCC,QAAQ,EAAE;IACZ;EACF,CAAC;EAEDC,KAAK,CAAEL,KAAK,QAAa;IAAA,IAAX;MAAEM;IAAM,CAAC;IACrB,MAAM;MAAEC,WAAW;MAAEC,WAAW;MAAEC;IAAY,CAAC,GAAGd,UAAU,EAAE;IAC9D,MAAM;MAAEe,UAAU;MAAEC,cAAc;MAAEC;IAAO,CAAC,GAAGlB,YAAY,EAAE;IAC7D,MAAM;MAAEmB;IAAQ,CAAC,GAAGpB,UAAU,EAAE;IAEhC,MAAMqB,IAAI,GAAGlB,QAAQ,CAAC,MAAM;MAC1B,OAAOa,WAAW,CAAC,CAACT,KAAK,CAACC,IAAI,CAAC,CAAC;IAClC,CAAC,CAAC;IAEF,OAAO;MAAA,SAEG,+BAA+B;MAAA,SAC9B;QACL,uCAAuC,EAAED,KAAK,CAACC,IAAI,CAACc;MACtD;IAAC,IAECF,OAAO,CAACG,KAAK,CAACC,GAAG,CAACC,MAAM,IAAI;MAC5B,IAAIA,MAAM,CAACC,GAAG,KAAK,kBAAkB,EAAE;QACrC,MAAMC,IAAI,GAAGb,WAAW,CAACP,KAAK,CAACC,IAAI,CAAC,GAAG,SAAS,GAAG,OAAO;QAC1D,MAAMoB,OAAO,GAAG,MAAMb,WAAW,CAACR,KAAK,CAACC,IAAI,CAAC;QAE7C,OAAOK,KAAK,CAAC,kBAAkB,CAAC,GAAG;UAAEL,IAAI,EAAED,KAAK,CAACC,IAAI;UAAEqB,KAAK,EAAER,IAAI,CAACE,KAAK,CAACO,MAAM;UAAEvB,KAAK,EAAE;YAAEoB,IAAI;YAAEC;UAAQ;QAAE,CAAC,CAAC;UAAA,SAClF;QAAuC;UAAA;YAAA,QAEtD,OAAO;YAAA,WACJ,MAAM;YAAA,QACPD,IAAI;YAAA,WACDC;UAAO,sCAEXrB,KAAK,CAACC,IAAI,CAACe,KAAK,uDACfF,IAAI,CAACE,KAAK,CAACO,MAAM;QAAA,EAE7B;MACH;MAEA,IAAIL,MAAM,CAACC,GAAG,KAAK,mBAAmB,EAAE;QACtC,MAAMK,UAAU,GAAGd,UAAU,CAACI,IAAI,CAACE,KAAK,CAAC;QACzC,MAAMS,aAAa,GAAGd,cAAc,CAACG,IAAI,CAACE,KAAK,CAAC,IAAI,CAACQ,UAAU;QAC/D,MAAME,WAAW,GAAIC,CAAU,IAAKf,MAAM,CAACE,IAAI,CAACE,KAAK,EAAEW,CAAC,CAAC;QACzD,OAAOrB,KAAK,CAAC,mBAAmB,CAAC,GAAG;UAAEN,KAAK,EAAE;YAAEwB,UAAU;YAAEC,aAAa;YAAE,qBAAqB,EAAEC;UAAY;QAAE,CAAC,CAAC;UAAA,cAG9FF,UAAU;UAAA,iBACPC,aAAa;UAAA,uBACPC;QAAW,UAGtC;MACH;MAEA;IACF,CAAC,CAAC,EAEL;EACH;AACF,CAAC,CAAC"}
@@ -9,8 +9,8 @@ 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 { convertToUnit, defineComponent, useRender } from "../../util/index.mjs"; // Types
13
- export const VDataTableHeaders = defineComponent({
12
+ import { convertToUnit, genericComponent, useRender } from "../../util/index.mjs"; // Types
13
+ export const VDataTableHeaders = genericComponent()({
14
14
  name: 'VDataTableHeaders',
15
15
  props: {
16
16
  color: String,
@@ -101,8 +101,7 @@ export const VDataTableHeaders = defineComponent({
101
101
  };
102
102
  if (slots[slotName]) return slots[slotName](slotProps);
103
103
  if (column.key === 'data-table-select') {
104
- var _slots$columnDataTa;
105
- return ((_slots$columnDataTa = slots['column.data-table-select']) == null ? void 0 : _slots$columnDataTa.call(slots, slotProps)) ?? _createVNode(VCheckboxBtn, {
104
+ return slots['column.data-table-select']?.(slotProps) ?? _createVNode(VCheckboxBtn, {
106
105
  "modelValue": allSelected.value,
107
106
  "indeterminate": someSelected.value && !allSelected.value,
108
107
  "onUpdate:modelValue": selectAll
@@ -1 +1 @@
1
- {"version":3,"file":"VDataTableHeaders.mjs","names":["VCheckboxBtn","VDataTableColumn","VIcon","IconValue","LoaderSlot","makeLoaderProps","useLoader","useBackgroundColor","useHeaders","useSelection","useSort","convertToUnit","defineComponent","useRender","VDataTableHeaders","name","props","color","String","sticky","Boolean","multiSort","sortAscIcon","type","default","sortDescIcon","setup","slots","emit","toggleSort","sortBy","someSelected","allSelected","selectAll","columns","headers","loaderClasses","getFixedStyles","column","y","fixed","position","zIndex","undefined","left","fixedOffset","top","getSortIcon","id","item","value","find","key","order","backgroundColorClasses","backgroundColorStyles","VDataTableHeaderCell","x","isSorted","noPadding","align","sortable","width","minWidth","colspan","rowspan","lastFixed","slotName","slotProps","title","findIndex","map","row","loading","length","loader"],"sources":["../../../src/labs/VDataTable/VDataTableHeaders.tsx"],"sourcesContent":["// Components\nimport { VCheckboxBtn } from '@/components/VCheckbox'\nimport { VDataTableColumn } from './VDataTableColumn'\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { IconValue } from '@/composables/icons'\nimport { LoaderSlot, makeLoaderProps, useLoader } from '@/composables/loader'\nimport { useBackgroundColor } from '@/composables/color'\nimport { useHeaders } from './composables/headers'\nimport { useSelection } from './composables/select'\nimport { useSort } from './composables/sort'\n\n// Utilities\nimport { convertToUnit, defineComponent, useRender } from '@/util'\n\n// Types\nimport type { InternalDataTableHeader } from './types'\n\nexport const VDataTableHeaders = defineComponent({\n name: 'VDataTableHeaders',\n\n props: {\n color: String,\n sticky: Boolean,\n multiSort: Boolean,\n sortAscIcon: {\n type: IconValue,\n default: '$sortAsc',\n },\n sortDescIcon: {\n type: IconValue,\n default: '$sortDesc',\n },\n\n ...makeLoaderProps(),\n },\n\n setup (props, { slots, emit }) {\n const { toggleSort, sortBy } = useSort()\n const { someSelected, allSelected, selectAll } = useSelection()\n const { columns, headers } = useHeaders()\n const { loaderClasses } = useLoader(props)\n\n const getFixedStyles = (column: InternalDataTableHeader, y: number) => {\n if (!props.sticky && !column.fixed) return null\n\n return {\n position: 'sticky',\n zIndex: column.fixed ? 4 : props.sticky ? 3 : undefined, // TODO: This needs to account for possible previous fixed columns.\n left: column.fixed ? convertToUnit(column.fixedOffset) : undefined, // TODO: This needs to account for possible row/colspan of previous columns\n top: props.sticky ? `calc(var(--v-table-header-height) * ${y})` : undefined,\n }\n }\n\n function getSortIcon (id: string) {\n const item = sortBy.value.find(item => item.key === id)\n\n if (!item) return props.sortAscIcon\n\n return item.order === 'asc' ? props.sortAscIcon : props.sortDescIcon\n }\n\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(props, 'color')\n\n const VDataTableHeaderCell = ({ column, x, y }: { column: InternalDataTableHeader, x: number, y: number }) => {\n const isSorted = !!sortBy.value.find(x => x.key === column.key)\n const noPadding = column.key === 'data-table-select' || column.key === 'data-table-expand'\n\n return (\n <VDataTableColumn\n tag=\"th\"\n align={ column.align }\n class={[\n 'v-data-table__th',\n {\n 'v-data-table__th--sortable': column.sortable,\n 'v-data-table__th--sorted': isSorted,\n },\n loaderClasses.value,\n ]}\n style={{\n width: convertToUnit(column.width),\n minWidth: convertToUnit(column.width),\n ...getFixedStyles(column, y),\n }}\n colspan={column.colspan}\n rowspan={column.rowspan}\n onClick={column.sortable ? () => toggleSort(column.key) : undefined}\n lastFixed={column.lastFixed}\n noPadding={noPadding}\n >\n {{\n default: () => {\n const slotName = `column.${column.key}`\n const slotProps = {\n column,\n selectAll,\n }\n\n if (slots[slotName]) return slots[slotName]!(slotProps)\n\n if (column.key === 'data-table-select') {\n return slots['column.data-table-select']?.(slotProps) ?? (\n <VCheckboxBtn\n modelValue={ allSelected.value }\n indeterminate={ someSelected.value && !allSelected.value }\n onUpdate:modelValue={ selectAll }\n />\n )\n }\n\n return (\n <div class=\"v-data-table-header__content\">\n <span>{ column.title }</span>\n { column.sortable && (\n <VIcon\n key=\"icon\"\n class=\"v-data-table-header__sort-icon\"\n icon={ getSortIcon(column.key) }\n />\n )}\n { props.multiSort && isSorted && (\n <div\n key=\"badge\"\n class={[\n 'v-data-table-header__sort-badge',\n ...backgroundColorClasses.value,\n ]}\n style={backgroundColorStyles.value}\n >\n {sortBy.value.findIndex(x => x.key === column.key) + 1}\n </div>\n ) }\n </div>\n )\n },\n }}\n </VDataTableColumn>\n )\n }\n\n useRender(() => (\n <>\n { headers.value.map((row, y) => (\n <tr>\n { row.map((column, x) => (\n <VDataTableHeaderCell column={ column} x={ x } y={ y } />\n )) }\n </tr>\n )) }\n\n { props.loading && (\n <tr class=\"v-data-table__progress\">\n <th colspan={ columns.value.length }>\n\n <LoaderSlot\n name=\"v-data-table-headers\"\n active\n color={ typeof props.loading === 'boolean' ? undefined : props.loading }\n indeterminate\n v-slots={{ default: slots.loader }}\n />\n </th>\n </tr>\n )}\n </>\n ))\n },\n})\n"],"mappings":";AAAA;AAAA,SACSA,YAAY;AAAA,SACZC,gBAAgB;AAAA,SAChBC,KAAK,4CAEd;AAAA,SACSC,SAAS;AAAA,SACTC,UAAU,EAAEC,eAAe,EAAEC,SAAS;AAAA,SACtCC,kBAAkB;AAAA,SAClBC,UAAU;AAAA,SACVC,YAAY;AAAA,SACZC,OAAO,kCAEhB;AAAA,SACSC,aAAa,EAAEC,eAAe,EAAEC,SAAS,gCAElD;AAGA,OAAO,MAAMC,iBAAiB,GAAGF,eAAe,CAAC;EAC/CG,IAAI,EAAE,mBAAmB;EAEzBC,KAAK,EAAE;IACLC,KAAK,EAAEC,MAAM;IACbC,MAAM,EAAEC,OAAO;IACfC,SAAS,EAAED,OAAO;IAClBE,WAAW,EAAE;MACXC,IAAI,EAAEpB,SAAS;MACfqB,OAAO,EAAE;IACX,CAAC;IACDC,YAAY,EAAE;MACZF,IAAI,EAAEpB,SAAS;MACfqB,OAAO,EAAE;IACX,CAAC;IAED,GAAGnB,eAAe;EACpB,CAAC;EAEDqB,KAAK,CAAEV,KAAK,QAAmB;IAAA,IAAjB;MAAEW,KAAK;MAAEC;IAAK,CAAC;IAC3B,MAAM;MAAEC,UAAU;MAAEC;IAAO,CAAC,GAAGpB,OAAO,EAAE;IACxC,MAAM;MAAEqB,YAAY;MAAEC,WAAW;MAAEC;IAAU,CAAC,GAAGxB,YAAY,EAAE;IAC/D,MAAM;MAAEyB,OAAO;MAAEC;IAAQ,CAAC,GAAG3B,UAAU,EAAE;IACzC,MAAM;MAAE4B;IAAc,CAAC,GAAG9B,SAAS,CAACU,KAAK,CAAC;IAE1C,MAAMqB,cAAc,GAAG,CAACC,MAA+B,EAAEC,CAAS,KAAK;MACrE,IAAI,CAACvB,KAAK,CAACG,MAAM,IAAI,CAACmB,MAAM,CAACE,KAAK,EAAE,OAAO,IAAI;MAE/C,OAAO;QACLC,QAAQ,EAAE,QAAQ;QAClBC,MAAM,EAAEJ,MAAM,CAACE,KAAK,GAAG,CAAC,GAAGxB,KAAK,CAACG,MAAM,GAAG,CAAC,GAAGwB,SAAS;QAAE;QACzDC,IAAI,EAAEN,MAAM,CAACE,KAAK,GAAG7B,aAAa,CAAC2B,MAAM,CAACO,WAAW,CAAC,GAAGF,SAAS;QAAE;QACpEG,GAAG,EAAE9B,KAAK,CAACG,MAAM,GAAI,uCAAsCoB,CAAE,GAAE,GAAGI;MACpE,CAAC;IACH,CAAC;IAED,SAASI,WAAW,CAAEC,EAAU,EAAE;MAChC,MAAMC,IAAI,GAAGnB,MAAM,CAACoB,KAAK,CAACC,IAAI,CAACF,IAAI,IAAIA,IAAI,CAACG,GAAG,KAAKJ,EAAE,CAAC;MAEvD,IAAI,CAACC,IAAI,EAAE,OAAOjC,KAAK,CAACM,WAAW;MAEnC,OAAO2B,IAAI,CAACI,KAAK,KAAK,KAAK,GAAGrC,KAAK,CAACM,WAAW,GAAGN,KAAK,CAACS,YAAY;IACtE;IAEA,MAAM;MAAE6B,sBAAsB;MAAEC;IAAsB,CAAC,GAAGhD,kBAAkB,CAACS,KAAK,EAAE,OAAO,CAAC;IAE5F,MAAMwC,oBAAoB,GAAG,SAAiF;MAAA,IAAhF;QAAElB,MAAM;QAAEmB,CAAC;QAAElB;MAA6D,CAAC;MACvG,MAAMmB,QAAQ,GAAG,CAAC,CAAC5B,MAAM,CAACoB,KAAK,CAACC,IAAI,CAACM,CAAC,IAAIA,CAAC,CAACL,GAAG,KAAKd,MAAM,CAACc,GAAG,CAAC;MAC/D,MAAMO,SAAS,GAAGrB,MAAM,CAACc,GAAG,KAAK,mBAAmB,IAAId,MAAM,CAACc,GAAG,KAAK,mBAAmB;MAE1F;QAAA,OAEQ,IAAI;QAAA,SACAd,MAAM,CAACsB,KAAK;QAAA,SACb,CACL,kBAAkB,EAClB;UACE,4BAA4B,EAAEtB,MAAM,CAACuB,QAAQ;UAC7C,0BAA0B,EAAEH;QAC9B,CAAC,EACDtB,aAAa,CAACc,KAAK,CACpB;QAAA,SACM;UACLY,KAAK,EAAEnD,aAAa,CAAC2B,MAAM,CAACwB,KAAK,CAAC;UAClCC,QAAQ,EAAEpD,aAAa,CAAC2B,MAAM,CAACwB,KAAK,CAAC;UACrC,GAAGzB,cAAc,CAACC,MAAM,EAAEC,CAAC;QAC7B,CAAC;QAAA,WACQD,MAAM,CAAC0B,OAAO;QAAA,WACd1B,MAAM,CAAC2B,OAAO;QAAA,WACd3B,MAAM,CAACuB,QAAQ,GAAG,MAAMhC,UAAU,CAACS,MAAM,CAACc,GAAG,CAAC,GAAGT,SAAS;QAAA,aACxDL,MAAM,CAAC4B,SAAS;QAAA,aAChBP;MAAS;QAGlBnC,OAAO,EAAE,MAAM;UACb,MAAM2C,QAAQ,GAAI,UAAS7B,MAAM,CAACc,GAAI,EAAC;UACvC,MAAMgB,SAAS,GAAG;YAChB9B,MAAM;YACNL;UACF,CAAC;UAED,IAAIN,KAAK,CAACwC,QAAQ,CAAC,EAAE,OAAOxC,KAAK,CAACwC,QAAQ,CAAC,CAAEC,SAAS,CAAC;UAEvD,IAAI9B,MAAM,CAACc,GAAG,KAAK,mBAAmB,EAAE;YAAA;YACtC,OAAO,wBAAAzB,KAAK,CAAC,0BAA0B,CAAC,qBAAjC,yBAAAA,KAAK,EAA+ByC,SAAS,CAAC;cAAA,cAEpCpC,WAAW,CAACkB,KAAK;cAAA,iBACdnB,YAAY,CAACmB,KAAK,IAAI,CAAClB,WAAW,CAACkB,KAAK;cAAA,uBAClCjB;YAAS,QAElC;UACH;UAEA;YAAA,SACa;UAA8B,gCAC/BK,MAAM,CAAC+B,KAAK,IAClB/B,MAAM,CAACuB,QAAQ;YAAA,OAET,MAAM;YAAA,SACJ,gCAAgC;YAAA,QAC/Bd,WAAW,CAACT,MAAM,CAACc,GAAG;UAAC,QAEjC,EACCpC,KAAK,CAACK,SAAS,IAAIqC,QAAQ;YAAA,OAErB,OAAO;YAAA,SACJ,CACL,iCAAiC,EACjC,GAAGJ,sBAAsB,CAACJ,KAAK,CAChC;YAAA,SACMK,qBAAqB,CAACL;UAAK,IAEjCpB,MAAM,CAACoB,KAAK,CAACoB,SAAS,CAACb,CAAC,IAAIA,CAAC,CAACL,GAAG,KAAKd,MAAM,CAACc,GAAG,CAAC,GAAG,CAAC,EAEzD;QAGP;MAAC;IAIT,CAAC;IAEDvC,SAAS,CAAC,qCAEJsB,OAAO,CAACe,KAAK,CAACqB,GAAG,CAAC,CAACC,GAAG,EAAEjC,CAAC,+BAErBiC,GAAG,CAACD,GAAG,CAAC,CAACjC,MAAM,EAAEmB,CAAC;MAAA,UACanB,MAAM;MAAA,KAAMmB,CAAC;MAAA,KAAOlB;IAAC,QACrD,CAAC,EAEL,CAAC,EAEAvB,KAAK,CAACyD,OAAO;MAAA,SACH;IAAwB;MAAA,WAClBvC,OAAO,CAACgB,KAAK,CAACwB;IAAM;MAAA,QAG3B,sBAAsB;MAAA;MAAA,SAEnB,OAAO1D,KAAK,CAACyD,OAAO,KAAK,SAAS,GAAG9B,SAAS,GAAG3B,KAAK,CAACyD,OAAO;MAAA;IAAA,GAE7D;MAAEjD,OAAO,EAAEG,KAAK,CAACgD;IAAO,CAAC,KAIvC,EAEJ,CAAC;EACJ;AACF,CAAC,CAAC"}
1
+ {"version":3,"file":"VDataTableHeaders.mjs","names":["VCheckboxBtn","VDataTableColumn","VIcon","IconValue","LoaderSlot","makeLoaderProps","useLoader","useBackgroundColor","useHeaders","useSelection","useSort","convertToUnit","genericComponent","useRender","VDataTableHeaders","name","props","color","String","sticky","Boolean","multiSort","sortAscIcon","type","default","sortDescIcon","setup","slots","emit","toggleSort","sortBy","someSelected","allSelected","selectAll","columns","headers","loaderClasses","getFixedStyles","column","y","fixed","position","zIndex","undefined","left","fixedOffset","top","getSortIcon","id","item","value","find","key","order","backgroundColorClasses","backgroundColorStyles","VDataTableHeaderCell","x","isSorted","noPadding","align","sortable","width","minWidth","colspan","rowspan","lastFixed","slotName","slotProps","title","findIndex","map","row","loading","length","loader"],"sources":["../../../src/labs/VDataTable/VDataTableHeaders.tsx"],"sourcesContent":["// Components\nimport { VCheckboxBtn } from '@/components/VCheckbox'\nimport { VDataTableColumn } from './VDataTableColumn'\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { IconValue } from '@/composables/icons'\nimport { LoaderSlot, makeLoaderProps, useLoader } from '@/composables/loader'\nimport { useBackgroundColor } from '@/composables/color'\nimport { useHeaders } from './composables/headers'\nimport { useSelection } from './composables/select'\nimport { useSort } from './composables/sort'\n\n// Utilities\nimport { convertToUnit, genericComponent, useRender } from '@/util'\n\n// Types\nimport type { InternalDataTableHeader } from './types'\nimport type { LoaderSlotProps } from '@/composables/loader'\n\nexport type VDataTableHeadersSlots = {\n default: []\n loader: [LoaderSlotProps]\n 'column.data-table-select': [InternalDataTableHeader, (value: boolean) => void]\n}\n\nexport const VDataTableHeaders = genericComponent<VDataTableHeadersSlots>()({\n name: 'VDataTableHeaders',\n\n props: {\n color: String,\n sticky: Boolean,\n multiSort: Boolean,\n sortAscIcon: {\n type: IconValue,\n default: '$sortAsc',\n },\n sortDescIcon: {\n type: IconValue,\n default: '$sortDesc',\n },\n\n ...makeLoaderProps(),\n },\n\n setup (props, { slots, emit }) {\n const { toggleSort, sortBy } = useSort()\n const { someSelected, allSelected, selectAll } = useSelection()\n const { columns, headers } = useHeaders()\n const { loaderClasses } = useLoader(props)\n\n const getFixedStyles = (column: InternalDataTableHeader, y: number) => {\n if (!props.sticky && !column.fixed) return null\n\n return {\n position: 'sticky',\n zIndex: column.fixed ? 4 : props.sticky ? 3 : undefined, // TODO: This needs to account for possible previous fixed columns.\n left: column.fixed ? convertToUnit(column.fixedOffset) : undefined, // TODO: This needs to account for possible row/colspan of previous columns\n top: props.sticky ? `calc(var(--v-table-header-height) * ${y})` : undefined,\n }\n }\n\n function getSortIcon (id: string) {\n const item = sortBy.value.find(item => item.key === id)\n\n if (!item) return props.sortAscIcon\n\n return item.order === 'asc' ? props.sortAscIcon : props.sortDescIcon\n }\n\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(props, 'color')\n\n const VDataTableHeaderCell = ({ column, x, y }: { column: InternalDataTableHeader, x: number, y: number }) => {\n const isSorted = !!sortBy.value.find(x => x.key === column.key)\n const noPadding = column.key === 'data-table-select' || column.key === 'data-table-expand'\n\n return (\n <VDataTableColumn\n tag=\"th\"\n align={ column.align }\n class={[\n 'v-data-table__th',\n {\n 'v-data-table__th--sortable': column.sortable,\n 'v-data-table__th--sorted': isSorted,\n },\n loaderClasses.value,\n ]}\n style={{\n width: convertToUnit(column.width),\n minWidth: convertToUnit(column.width),\n ...getFixedStyles(column, y),\n }}\n colspan={column.colspan}\n rowspan={column.rowspan}\n onClick={column.sortable ? () => toggleSort(column.key) : undefined}\n lastFixed={column.lastFixed}\n noPadding={noPadding}\n >\n {{\n default: () => {\n const slotName = `column.${column.key}`\n const slotProps = {\n column,\n selectAll,\n }\n\n if (slots[slotName]) return slots[slotName]!(slotProps)\n\n if (column.key === 'data-table-select') {\n return slots['column.data-table-select']?.(slotProps) ?? (\n <VCheckboxBtn\n modelValue={ allSelected.value }\n indeterminate={ someSelected.value && !allSelected.value }\n onUpdate:modelValue={ selectAll }\n />\n )\n }\n\n return (\n <div class=\"v-data-table-header__content\">\n <span>{ column.title }</span>\n { column.sortable && (\n <VIcon\n key=\"icon\"\n class=\"v-data-table-header__sort-icon\"\n icon={ getSortIcon(column.key) }\n />\n )}\n { props.multiSort && isSorted && (\n <div\n key=\"badge\"\n class={[\n 'v-data-table-header__sort-badge',\n ...backgroundColorClasses.value,\n ]}\n style={backgroundColorStyles.value}\n >\n {sortBy.value.findIndex(x => x.key === column.key) + 1}\n </div>\n ) }\n </div>\n )\n },\n }}\n </VDataTableColumn>\n )\n }\n\n useRender(() => (\n <>\n { headers.value.map((row, y) => (\n <tr>\n { row.map((column, x) => (\n <VDataTableHeaderCell column={ column} x={ x } y={ y } />\n )) }\n </tr>\n )) }\n\n { props.loading && (\n <tr class=\"v-data-table__progress\">\n <th colspan={ columns.value.length }>\n\n <LoaderSlot\n name=\"v-data-table-headers\"\n active\n color={ typeof props.loading === 'boolean' ? undefined : props.loading }\n indeterminate\n v-slots={{ default: slots.loader }}\n />\n </th>\n </tr>\n )}\n </>\n ))\n },\n})\n"],"mappings":"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"}
@@ -52,15 +52,13 @@ export const VDataTableRow = defineComponent({
52
52
  };
53
53
  if (slots[slotName]) return slots[slotName](slotProps);
54
54
  if (column.key === 'data-table-select') {
55
- var _slots$itemDataTabl;
56
- return ((_slots$itemDataTabl = slots['item.data-table-select']) == null ? void 0 : _slots$itemDataTabl.call(slots, slotProps)) ?? _createVNode(VCheckboxBtn, {
55
+ return slots['item.data-table-select']?.(slotProps) ?? _createVNode(VCheckboxBtn, {
57
56
  "modelValue": isSelected([item]),
58
57
  "onClick": () => toggleSelect(item)
59
58
  }, null);
60
59
  }
61
60
  if (column.key === 'data-table-expand') {
62
- var _slots$itemDataTabl2;
63
- return ((_slots$itemDataTabl2 = slots['item.data-table-expand']) == null ? void 0 : _slots$itemDataTabl2.call(slots, slotProps)) ?? _createVNode(VBtn, {
61
+ return slots['item.data-table-expand']?.(slotProps) ?? _createVNode(VBtn, {
64
62
  "icon": isExpanded(item) ? '$collapse' : '$expand',
65
63
  "size": "small",
66
64
  "variant": "text",
@@ -1 +1 @@
1
- {"version":3,"file":"VDataTableRow.mjs","names":["VBtn","VCheckboxBtn","useExpanded","useHeaders","useSelection","VDataTableColumn","defineComponent","useRender","VDataTableRow","name","props","item","Object","setup","slots","isSelected","toggleSelect","isExpanded","toggleExpand","columns","value","length","map","column","i","align","fixed","fixedOffset","lastFixed","key","width","default","slotName","slotProps"],"sources":["../../../src/labs/VDataTable/VDataTableRow.tsx"],"sourcesContent":["// Components\nimport { VBtn } from '@/components/VBtn'\nimport { VCheckboxBtn } from '@/components/VCheckbox'\n\n// Composables\nimport { useExpanded } from './composables/expand'\nimport { useHeaders } from './composables/headers'\nimport { useSelection } from './composables/select'\nimport { VDataTableColumn } from './VDataTableColumn'\n\n// Utilities\nimport { defineComponent, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { DataTableItem } from './types'\n\nexport const VDataTableRow = defineComponent({\n name: 'VDataTableRow',\n\n props: {\n item: Object as PropType<DataTableItem>,\n },\n\n setup (props, { slots }) {\n const { isSelected, toggleSelect } = useSelection()\n const { isExpanded, toggleExpand } = useExpanded()\n const { columns } = useHeaders()\n\n useRender(() => (\n <tr\n class={[\n 'v-data-table__tr',\n ]}\n >\n { !columns.value.length && (\n <VDataTableColumn\n key=\"no-data\"\n v-slots={ slots }\n />\n ) }\n\n { props.item && columns.value.map((column, i) => (\n <VDataTableColumn\n align={ column.align }\n fixed={ column.fixed }\n fixedOffset={ column.fixedOffset }\n lastFixed={ column.lastFixed }\n noPadding={ column.key === 'data-table-select' || column.key === 'data-table-expand' }\n width={ column.width }\n >\n {{\n default: () => {\n const item = props.item!\n const slotName = `item.${column.key}`\n const slotProps = {\n item: props.item,\n columns: columns.value,\n isSelected,\n toggleSelect,\n isExpanded,\n toggleExpand,\n }\n\n if (slots[slotName]) return slots[slotName]!(slotProps)\n\n if (column.key === 'data-table-select') {\n return slots['item.data-table-select']?.(slotProps) ?? (\n <VCheckboxBtn\n modelValue={ isSelected([item]) }\n onClick={ () => toggleSelect(item) }\n />\n )\n }\n\n if (column.key === 'data-table-expand') {\n return slots['item.data-table-expand']?.(slotProps) ?? (\n <VBtn\n icon={isExpanded(item) ? '$collapse' : '$expand' }\n size=\"small\"\n variant=\"text\"\n onClick={ () => toggleExpand(item) }\n />\n )\n }\n\n return item.columns[column.key]\n },\n }}\n </VDataTableColumn>\n )) }\n </tr>\n ))\n },\n})\n\nexport type VDataTableRow = InstanceType<typeof VDataTableRow>\n"],"mappings":";AAAA;AAAA,SACSA,IAAI;AAAA,SACJC,YAAY,gDAErB;AAAA,SACSC,WAAW;AAAA,SACXC,UAAU;AAAA,SACVC,YAAY;AAAA,SACZC,gBAAgB,kCAEzB;AAAA,SACSC,eAAe,EAAEC,SAAS,gCAEnC;AAIA,OAAO,MAAMC,aAAa,GAAGF,eAAe,CAAC;EAC3CG,IAAI,EAAE,eAAe;EAErBC,KAAK,EAAE;IACLC,IAAI,EAAEC;EACR,CAAC;EAEDC,KAAK,CAAEH,KAAK,QAAa;IAAA,IAAX;MAAEI;IAAM,CAAC;IACrB,MAAM;MAAEC,UAAU;MAAEC;IAAa,CAAC,GAAGZ,YAAY,EAAE;IACnD,MAAM;MAAEa,UAAU;MAAEC;IAAa,CAAC,GAAGhB,WAAW,EAAE;IAClD,MAAM;MAAEiB;IAAQ,CAAC,GAAGhB,UAAU,EAAE;IAEhCI,SAAS,CAAC;MAAA,SAEC,CACL,kBAAkB;IACnB,IAEC,CAACY,OAAO,CAACC,KAAK,CAACC,MAAM;MAAA,OAEf;IAAS,GACHP,KAAK,CAElB,EAECJ,KAAK,CAACC,IAAI,IAAIQ,OAAO,CAACC,KAAK,CAACE,GAAG,CAAC,CAACC,MAAM,EAAEC,CAAC;MAAA,SAEhCD,MAAM,CAACE,KAAK;MAAA,SACZF,MAAM,CAACG,KAAK;MAAA,eACNH,MAAM,CAACI,WAAW;MAAA,aACpBJ,MAAM,CAACK,SAAS;MAAA,aAChBL,MAAM,CAACM,GAAG,KAAK,mBAAmB,IAAIN,MAAM,CAACM,GAAG,KAAK,mBAAmB;MAAA,SAC5EN,MAAM,CAACO;IAAK;MAGlBC,OAAO,EAAE,MAAM;QACb,MAAMpB,IAAI,GAAGD,KAAK,CAACC,IAAK;QACxB,MAAMqB,QAAQ,GAAI,QAAOT,MAAM,CAACM,GAAI,EAAC;QACrC,MAAMI,SAAS,GAAG;UAChBtB,IAAI,EAAED,KAAK,CAACC,IAAI;UAChBQ,OAAO,EAAEA,OAAO,CAACC,KAAK;UACtBL,UAAU;UACVC,YAAY;UACZC,UAAU;UACVC;QACF,CAAC;QAED,IAAIJ,KAAK,CAACkB,QAAQ,CAAC,EAAE,OAAOlB,KAAK,CAACkB,QAAQ,CAAC,CAAEC,SAAS,CAAC;QAEvD,IAAIV,MAAM,CAACM,GAAG,KAAK,mBAAmB,EAAE;UAAA;UACtC,OAAO,wBAAAf,KAAK,CAAC,wBAAwB,CAAC,qBAA/B,yBAAAA,KAAK,EAA6BmB,SAAS,CAAC;YAAA,cAElClB,UAAU,CAAC,CAACJ,IAAI,CAAC,CAAC;YAAA,WACrB,MAAMK,YAAY,CAACL,IAAI;UAAC,QAErC;QACH;QAEA,IAAIY,MAAM,CAACM,GAAG,KAAK,mBAAmB,EAAE;UAAA;UACtC,OAAO,yBAAAf,KAAK,CAAC,wBAAwB,CAAC,qBAA/B,0BAAAA,KAAK,EAA6BmB,SAAS,CAAC;YAAA,QAEzChB,UAAU,CAACN,IAAI,CAAC,GAAG,WAAW,GAAG,SAAS;YAAA,QAC3C,OAAO;YAAA,WACJ,MAAM;YAAA,WACJ,MAAMO,YAAY,CAACP,IAAI;UAAC,QAErC;QACH;QAEA,OAAOA,IAAI,CAACQ,OAAO,CAACI,MAAM,CAACM,GAAG,CAAC;MACjC;IAAC,EAGN,CAAC,EAEL,CAAC;EACJ;AACF,CAAC,CAAC"}
1
+ {"version":3,"file":"VDataTableRow.mjs","names":["VBtn","VCheckboxBtn","useExpanded","useHeaders","useSelection","VDataTableColumn","defineComponent","useRender","VDataTableRow","name","props","item","Object","setup","slots","isSelected","toggleSelect","isExpanded","toggleExpand","columns","value","length","map","column","i","align","fixed","fixedOffset","lastFixed","key","width","default","slotName","slotProps"],"sources":["../../../src/labs/VDataTable/VDataTableRow.tsx"],"sourcesContent":["// Components\nimport { VBtn } from '@/components/VBtn'\nimport { VCheckboxBtn } from '@/components/VCheckbox'\n\n// Composables\nimport { useExpanded } from './composables/expand'\nimport { useHeaders } from './composables/headers'\nimport { useSelection } from './composables/select'\nimport { VDataTableColumn } from './VDataTableColumn'\n\n// Utilities\nimport { defineComponent, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { DataTableItem } from './types'\n\nexport const VDataTableRow = defineComponent({\n name: 'VDataTableRow',\n\n props: {\n item: Object as PropType<DataTableItem>,\n },\n\n setup (props, { slots }) {\n const { isSelected, toggleSelect } = useSelection()\n const { isExpanded, toggleExpand } = useExpanded()\n const { columns } = useHeaders()\n\n useRender(() => (\n <tr\n class={[\n 'v-data-table__tr',\n ]}\n >\n { !columns.value.length && (\n <VDataTableColumn\n key=\"no-data\"\n v-slots={ slots }\n />\n ) }\n\n { props.item && columns.value.map((column, i) => (\n <VDataTableColumn\n align={ column.align }\n fixed={ column.fixed }\n fixedOffset={ column.fixedOffset }\n lastFixed={ column.lastFixed }\n noPadding={ column.key === 'data-table-select' || column.key === 'data-table-expand' }\n width={ column.width }\n >\n {{\n default: () => {\n const item = props.item!\n const slotName = `item.${column.key}`\n const slotProps = {\n item: props.item,\n columns: columns.value,\n isSelected,\n toggleSelect,\n isExpanded,\n toggleExpand,\n }\n\n if (slots[slotName]) return slots[slotName]!(slotProps)\n\n if (column.key === 'data-table-select') {\n return slots['item.data-table-select']?.(slotProps) ?? (\n <VCheckboxBtn\n modelValue={ isSelected([item]) }\n onClick={ () => toggleSelect(item) }\n />\n )\n }\n\n if (column.key === 'data-table-expand') {\n return slots['item.data-table-expand']?.(slotProps) ?? (\n <VBtn\n icon={isExpanded(item) ? '$collapse' : '$expand' }\n size=\"small\"\n variant=\"text\"\n onClick={ () => toggleExpand(item) }\n />\n )\n }\n\n return item.columns[column.key]\n },\n }}\n </VDataTableColumn>\n )) }\n </tr>\n ))\n },\n})\n\nexport type VDataTableRow = InstanceType<typeof VDataTableRow>\n"],"mappings":";AAAA;AAAA,SACSA,IAAI;AAAA,SACJC,YAAY,gDAErB;AAAA,SACSC,WAAW;AAAA,SACXC,UAAU;AAAA,SACVC,YAAY;AAAA,SACZC,gBAAgB,kCAEzB;AAAA,SACSC,eAAe,EAAEC,SAAS,gCAEnC;AAIA,OAAO,MAAMC,aAAa,GAAGF,eAAe,CAAC;EAC3CG,IAAI,EAAE,eAAe;EAErBC,KAAK,EAAE;IACLC,IAAI,EAAEC;EACR,CAAC;EAEDC,KAAK,CAAEH,KAAK,QAAa;IAAA,IAAX;MAAEI;IAAM,CAAC;IACrB,MAAM;MAAEC,UAAU;MAAEC;IAAa,CAAC,GAAGZ,YAAY,EAAE;IACnD,MAAM;MAAEa,UAAU;MAAEC;IAAa,CAAC,GAAGhB,WAAW,EAAE;IAClD,MAAM;MAAEiB;IAAQ,CAAC,GAAGhB,UAAU,EAAE;IAEhCI,SAAS,CAAC;MAAA,SAEC,CACL,kBAAkB;IACnB,IAEC,CAACY,OAAO,CAACC,KAAK,CAACC,MAAM;MAAA,OAEf;IAAS,GACHP,KAAK,CAElB,EAECJ,KAAK,CAACC,IAAI,IAAIQ,OAAO,CAACC,KAAK,CAACE,GAAG,CAAC,CAACC,MAAM,EAAEC,CAAC;MAAA,SAEhCD,MAAM,CAACE,KAAK;MAAA,SACZF,MAAM,CAACG,KAAK;MAAA,eACNH,MAAM,CAACI,WAAW;MAAA,aACpBJ,MAAM,CAACK,SAAS;MAAA,aAChBL,MAAM,CAACM,GAAG,KAAK,mBAAmB,IAAIN,MAAM,CAACM,GAAG,KAAK,mBAAmB;MAAA,SAC5EN,MAAM,CAACO;IAAK;MAGlBC,OAAO,EAAE,MAAM;QACb,MAAMpB,IAAI,GAAGD,KAAK,CAACC,IAAK;QACxB,MAAMqB,QAAQ,GAAI,QAAOT,MAAM,CAACM,GAAI,EAAC;QACrC,MAAMI,SAAS,GAAG;UAChBtB,IAAI,EAAED,KAAK,CAACC,IAAI;UAChBQ,OAAO,EAAEA,OAAO,CAACC,KAAK;UACtBL,UAAU;UACVC,YAAY;UACZC,UAAU;UACVC;QACF,CAAC;QAED,IAAIJ,KAAK,CAACkB,QAAQ,CAAC,EAAE,OAAOlB,KAAK,CAACkB,QAAQ,CAAC,CAAEC,SAAS,CAAC;QAEvD,IAAIV,MAAM,CAACM,GAAG,KAAK,mBAAmB,EAAE;UACtC,OAAOf,KAAK,CAAC,wBAAwB,CAAC,GAAGmB,SAAS,CAAC;YAAA,cAElClB,UAAU,CAAC,CAACJ,IAAI,CAAC,CAAC;YAAA,WACrB,MAAMK,YAAY,CAACL,IAAI;UAAC,QAErC;QACH;QAEA,IAAIY,MAAM,CAACM,GAAG,KAAK,mBAAmB,EAAE;UACtC,OAAOf,KAAK,CAAC,wBAAwB,CAAC,GAAGmB,SAAS,CAAC;YAAA,QAEzChB,UAAU,CAACN,IAAI,CAAC,GAAG,WAAW,GAAG,SAAS;YAAA,QAC3C,OAAO;YAAA,WACJ,MAAM;YAAA,WACJ,MAAMO,YAAY,CAACP,IAAI;UAAC,QAErC;QACH;QAEA,OAAOA,IAAI,CAACQ,OAAO,CAACI,MAAM,CAACM,GAAG,CAAC;MACjC;IAAC,EAGN,CAAC,EAEL,CAAC;EACJ;AACF,CAAC,CAAC"}
@@ -7,8 +7,8 @@ import { useExpanded } from "./composables/expand.mjs";
7
7
  import { useHeaders } from "./composables/headers.mjs";
8
8
  import { useSelection } from "./composables/select.mjs";
9
9
  import { useGroupBy } from "./composables/group.mjs"; // Utilities
10
- import { defineComponent, useRender } from "../../util/index.mjs"; // Types
11
- export const VDataTableRows = defineComponent({
10
+ import { genericComponent, useRender } from "../../util/index.mjs"; // Types
11
+ export const VDataTableRows = genericComponent()({
12
12
  name: 'VDataTableRows',
13
13
  props: {
14
14
  loading: [Boolean, String],
@@ -54,61 +54,57 @@ export const VDataTableRows = defineComponent({
54
54
  const {
55
55
  t
56
56
  } = useLocale();
57
- useRender(() => {
58
- var _slots$loading, _slots$noData;
59
- return _createVNode(_Fragment, null, [props.loading ? ((_slots$loading = slots.loading) == null ? void 0 : _slots$loading.call(slots)) ?? _createVNode(VDataTableRow, {
60
- "class": "v-data-table-rows-no-data",
61
- "key": "loading"
62
- }, {
63
- default: () => [t(props.loadingText)]
64
- }) : undefined, !props.loading && !props.items.length && !props.hideNoData && (((_slots$noData = slots['no-data']) == null ? void 0 : _slots$noData.call(slots)) ?? _createVNode(VDataTableRow, {
65
- "class": "v-data-table-rows-no-data",
66
- "key": "no-data"
67
- }, {
68
- default: () => [t(props.noDataText)]
69
- })), props.items.map((item, index) => {
70
- var _slots$expandedRow;
71
- if (item.type === 'group-header') {
72
- return slots['group-header'] ? slots['group-header']({
73
- index,
74
- item,
75
- columns: columns.value,
76
- isExpanded,
77
- toggleExpand,
78
- isSelected,
79
- toggleSelect,
80
- toggleGroup,
81
- isGroupOpen
82
- }) : _createVNode(VDataTableGroupHeaderRow, {
83
- "key": `group-header_${item.id}`,
84
- "item": item
85
- }, slots);
86
- }
87
- return _createVNode(_Fragment, null, [slots.item ? slots.item({
57
+ useRender(() => _createVNode(_Fragment, null, [props.loading ? slots.loading?.() ?? _createVNode(VDataTableRow, {
58
+ "class": "v-data-table-rows-no-data",
59
+ "key": "loading"
60
+ }, {
61
+ default: () => [t(props.loadingText)]
62
+ }) : undefined, !props.loading && !props.items.length && !props.hideNoData && (slots['no-data']?.() ?? _createVNode(VDataTableRow, {
63
+ "class": "v-data-table-rows-no-data",
64
+ "key": "no-data"
65
+ }, {
66
+ default: () => [t(props.noDataText)]
67
+ })), props.items.map((item, index) => {
68
+ if (item.type === 'group-header') {
69
+ return slots['group-header'] ? slots['group-header']({
88
70
  index,
89
71
  item,
90
72
  columns: columns.value,
91
73
  isExpanded,
92
74
  toggleExpand,
93
75
  isSelected,
94
- toggleSelect
95
- }) : _createVNode(VDataTableRow, {
96
- "key": `item_${item.value}`,
97
- "onClick": event => {
98
- if (expandOnClick.value) {
99
- toggleExpand(item.value);
100
- }
101
- emit('click:row', event, {
102
- item
103
- });
104
- },
76
+ toggleSelect,
77
+ toggleGroup,
78
+ isGroupOpen
79
+ }) : _createVNode(VDataTableGroupHeaderRow, {
80
+ "key": `group-header_${item.id}`,
105
81
  "item": item
106
- }, slots), isExpanded(item) && ((_slots$expandedRow = slots['expanded-row']) == null ? void 0 : _slots$expandedRow.call(slots, {
107
- item,
108
- columns: columns.value
109
- }))]);
82
+ }, slots);
83
+ }
84
+ return _createVNode(_Fragment, null, [slots.item ? slots.item({
85
+ index,
86
+ item,
87
+ columns: columns.value,
88
+ isExpanded,
89
+ toggleExpand,
90
+ isSelected,
91
+ toggleSelect
92
+ }) : _createVNode(VDataTableRow, {
93
+ "key": `item_${item.value}`,
94
+ "onClick": event => {
95
+ if (expandOnClick.value) {
96
+ toggleExpand(item.value);
97
+ }
98
+ emit('click:row', event, {
99
+ item
100
+ });
101
+ },
102
+ "item": item
103
+ }, slots), isExpanded(item) && slots['expanded-row']?.({
104
+ item,
105
+ columns: columns.value
110
106
  })]);
111
- });
107
+ })]));
112
108
  return {};
113
109
  }
114
110
  });
@@ -1 +1 @@
1
- {"version":3,"file":"VDataTableRows.mjs","names":["VDataTableGroupHeaderRow","VDataTableRow","useLocale","useExpanded","useHeaders","useSelection","useGroupBy","defineComponent","useRender","VDataTableRows","name","props","loading","Boolean","String","loadingText","type","default","hideNoData","items","Array","noDataText","rowHeight","Number","emits","event","value","setup","emit","slots","columns","expandOnClick","toggleExpand","isExpanded","isSelected","toggleSelect","toggleGroup","isGroupOpen","t","undefined","length","map","item","index","id"],"sources":["../../../src/labs/VDataTable/VDataTableRows.tsx"],"sourcesContent":["// Components\nimport { VDataTableGroupHeaderRow } from './VDataTableGroupHeaderRow'\nimport { VDataTableRow } from './VDataTableRow'\n\n// Composables\nimport { useLocale } from '@/composables/locale'\nimport { useExpanded } from './composables/expand'\nimport { useHeaders } from './composables/headers'\nimport { useSelection } from './composables/select'\nimport { useGroupBy } from './composables/group'\n\n// Utilities\nimport { defineComponent, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { DataTableItem, InternalDataTableItem } from './types'\n\nexport const VDataTableRows = defineComponent({\n name: 'VDataTableRows',\n\n props: {\n loading: [Boolean, String],\n loadingText: {\n type: String,\n default: '$vuetify.dataIterator.loadingText',\n },\n hideNoData: Boolean,\n items: {\n type: Array as PropType<InternalDataTableItem[]>,\n default: () => ([]),\n },\n noDataText: {\n type: String,\n default: '$vuetify.noDataText',\n },\n rowHeight: Number,\n },\n\n emits: {\n 'click:row': (event: Event, value: { item: DataTableItem }) => true,\n },\n\n setup (props, { emit, slots }) {\n const { columns } = useHeaders()\n const { expandOnClick, toggleExpand, isExpanded } = useExpanded()\n const { isSelected, toggleSelect } = useSelection()\n const { toggleGroup, isGroupOpen } = useGroupBy()\n const { t } = useLocale()\n\n useRender(() => (\n <>\n { props.loading ? slots.loading?.() ?? (\n <VDataTableRow\n class=\"v-data-table-rows-no-data\"\n key=\"loading\"\n >\n { t(props.loadingText) }\n </VDataTableRow>\n ) : undefined }\n\n { !props.loading && !props.items.length && !props.hideNoData && (slots['no-data']?.() ?? (\n <VDataTableRow\n class=\"v-data-table-rows-no-data\"\n key=\"no-data\"\n >\n { t(props.noDataText) }\n </VDataTableRow>\n )) }\n\n { props.items.map((item, index) => {\n if (item.type === 'group-header') {\n return slots['group-header'] ? slots['group-header']({\n index,\n item,\n columns: columns.value,\n isExpanded,\n toggleExpand,\n isSelected,\n toggleSelect,\n toggleGroup,\n isGroupOpen,\n }) : (\n <VDataTableGroupHeaderRow\n key={ `group-header_${item.id}` }\n item={ item }\n v-slots={ slots }\n />\n )\n }\n\n return (\n <>\n { slots.item ? slots.item({\n index,\n item,\n columns: columns.value,\n isExpanded,\n toggleExpand,\n isSelected,\n toggleSelect,\n }) : (\n <VDataTableRow\n key={ `item_${item.value}` }\n onClick={ (event: Event) => {\n if (expandOnClick.value) {\n toggleExpand(item.value)\n }\n\n emit('click:row', event, { item })\n } }\n item={ item }\n v-slots={ slots }\n />\n ) }\n\n { isExpanded(item) && slots['expanded-row']?.({ item, columns: columns.value }) }\n </>\n )\n }) }\n </>\n ))\n\n return {}\n },\n})\n\nexport type VDataTableRows = InstanceType<typeof VDataTableRows>\n"],"mappings":"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"}
1
+ {"version":3,"file":"VDataTableRows.mjs","names":["VDataTableGroupHeaderRow","VDataTableRow","useLocale","useExpanded","useHeaders","useSelection","useGroupBy","genericComponent","useRender","VDataTableRows","name","props","loading","Boolean","String","loadingText","type","default","hideNoData","items","Array","noDataText","rowHeight","Number","emits","event","value","setup","emit","slots","columns","expandOnClick","toggleExpand","isExpanded","isSelected","toggleSelect","toggleGroup","isGroupOpen","t","undefined","length","map","item","index","id"],"sources":["../../../src/labs/VDataTable/VDataTableRows.tsx"],"sourcesContent":["// Components\nimport { VDataTableGroupHeaderRow } from './VDataTableGroupHeaderRow'\nimport { VDataTableRow } from './VDataTableRow'\n\n// Composables\nimport { useLocale } from '@/composables/locale'\nimport { useExpanded } from './composables/expand'\nimport { useHeaders } from './composables/headers'\nimport { useSelection } from './composables/select'\nimport { useGroupBy } from './composables/group'\n\n// Utilities\nimport { genericComponent, useRender } from '@/util'\n\n// Types\nimport type { DataTableItem, InternalDataTableItem } from './types'\nimport type { PropType } from 'vue'\n\nexport type VDataTableRowsSlots = {\n default: []\n item: [InternalDataTableItem]\n loading: []\n 'group-header': [InternalDataTableItem]\n 'no-data': []\n}\n\nexport const VDataTableRows = genericComponent<VDataTableRowsSlots>()({\n name: 'VDataTableRows',\n\n props: {\n loading: [Boolean, String],\n loadingText: {\n type: String,\n default: '$vuetify.dataIterator.loadingText',\n },\n hideNoData: Boolean,\n items: {\n type: Array as PropType<InternalDataTableItem[]>,\n default: () => ([]),\n },\n noDataText: {\n type: String,\n default: '$vuetify.noDataText',\n },\n rowHeight: Number,\n },\n\n emits: {\n 'click:row': (event: Event, value: { item: DataTableItem }) => true,\n },\n\n setup (props, { emit, slots }) {\n const { columns } = useHeaders()\n const { expandOnClick, toggleExpand, isExpanded } = useExpanded()\n const { isSelected, toggleSelect } = useSelection()\n const { toggleGroup, isGroupOpen } = useGroupBy()\n const { t } = useLocale()\n\n useRender(() => (\n <>\n { props.loading ? slots.loading?.() ?? (\n <VDataTableRow\n class=\"v-data-table-rows-no-data\"\n key=\"loading\"\n >\n { t(props.loadingText) }\n </VDataTableRow>\n ) : undefined }\n\n { !props.loading && !props.items.length && !props.hideNoData && (slots['no-data']?.() ?? (\n <VDataTableRow\n class=\"v-data-table-rows-no-data\"\n key=\"no-data\"\n >\n { t(props.noDataText) }\n </VDataTableRow>\n )) }\n\n { props.items.map((item, index) => {\n if (item.type === 'group-header') {\n return slots['group-header'] ? slots['group-header']({\n index,\n item,\n columns: columns.value,\n isExpanded,\n toggleExpand,\n isSelected,\n toggleSelect,\n toggleGroup,\n isGroupOpen,\n }) : (\n <VDataTableGroupHeaderRow\n key={ `group-header_${item.id}` }\n item={ item }\n v-slots={ slots }\n />\n )\n }\n\n return (\n <>\n { slots.item ? slots.item({\n index,\n item,\n columns: columns.value,\n isExpanded,\n toggleExpand,\n isSelected,\n toggleSelect,\n }) : (\n <VDataTableRow\n key={ `item_${item.value}` }\n onClick={ (event: Event) => {\n if (expandOnClick.value) {\n toggleExpand(item.value)\n }\n\n emit('click:row', event, { item })\n } }\n item={ item }\n v-slots={ slots }\n />\n ) }\n\n { isExpanded(item) && slots['expanded-row']?.({ item, columns: columns.value }) }\n </>\n )\n }) }\n </>\n ))\n\n return {}\n },\n})\n\nexport type VDataTableRows = InstanceType<typeof VDataTableRows>\n"],"mappings":"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"}
@@ -15,9 +15,9 @@ import { createPagination, makeDataTablePaginateProps } from "./composables/pagi
15
15
  import { createSelection, makeDataTableSelectProps } from "./composables/select.mjs";
16
16
  import { createSort, makeDataTableSortProps } from "./composables/sort.mjs"; // Utilities
17
17
  import { provide, toRef } from 'vue';
18
- import { defineComponent, useRender } from "../../util/index.mjs";
18
+ import { genericComponent, useRender } from "../../util/index.mjs";
19
19
  import { makeVDataTableProps } from "./VDataTable.mjs"; // Types
20
- export const VDataTableServer = defineComponent({
20
+ export const VDataTableServer = genericComponent()({
21
21
  name: 'VDataTableServer',
22
22
  props: {
23
23
  color: String,
@@ -72,10 +72,7 @@ export const VDataTableServer = defineComponent({
72
72
  } = createGroupBy(props, groupBy, sortBy);
73
73
  const {
74
74
  page,
75
- itemsPerPage,
76
- startIndex,
77
- stopIndex,
78
- pageCount
75
+ itemsPerPage
79
76
  } = createPagination(props, items);
80
77
  const {
81
78
  flatItems
@@ -85,9 +82,6 @@ export const VDataTableServer = defineComponent({
85
82
  page,
86
83
  itemsPerPage,
87
84
  sortBy,
88
- startIndex,
89
- stopIndex,
90
- pageCount,
91
85
  groupBy
92
86
  });
93
87
  provide('v-data-table', {
@@ -111,23 +105,20 @@ export const VDataTableServer = defineComponent({
111
105
  "height": props.height
112
106
  }, {
113
107
  top: slots.top,
114
- default: slots.default ?? (() => {
115
- var _slots$thead, _slots$tbody, _slots$tfoot;
116
- return _createVNode(_Fragment, null, [_createVNode("thead", {
117
- "class": "v-data-table__thead",
118
- "role": "rowgroup"
119
- }, [slots.headers ? slots.headers() : _createVNode(VDataTableHeaders, {
120
- "sticky": props.fixedHeader,
121
- "loading": props.loading,
122
- "color": props.color
123
- }, null)]), (_slots$thead = slots.thead) == null ? void 0 : _slots$thead.call(slots), _createVNode("tbody", {
124
- "class": "v-data-table__tbody",
125
- "role": "rowgroup"
126
- }, [slots.body ? slots.body() : _createVNode(VDataTableRows, {
127
- "items": flatItems.value,
128
- "onClick:row": (event, value) => emit('click:row', event, value)
129
- }, slots)]), (_slots$tbody = slots.tbody) == null ? void 0 : _slots$tbody.call(slots), (_slots$tfoot = slots.tfoot) == null ? void 0 : _slots$tfoot.call(slots)]);
130
- }),
108
+ default: slots.default ?? (() => _createVNode(_Fragment, null, [_createVNode("thead", {
109
+ "class": "v-data-table__thead",
110
+ "role": "rowgroup"
111
+ }, [slots.headers ? slots.headers() : _createVNode(VDataTableHeaders, {
112
+ "sticky": props.fixedHeader,
113
+ "loading": props.loading,
114
+ "color": props.color
115
+ }, null)]), slots.thead?.(), _createVNode("tbody", {
116
+ "class": "v-data-table__tbody",
117
+ "role": "rowgroup"
118
+ }, [slots.body ? slots.body() : _createVNode(VDataTableRows, {
119
+ "items": flatItems.value,
120
+ "onClick:row": (event, value) => emit('click:row', event, value)
121
+ }, slots)]), slots.tbody?.(), slots.tfoot?.()])),
131
122
  bottom: slots.bottom ?? (() => _createVNode(VDataTableFooter, null, {
132
123
  prepend: slots['footer.prepend']
133
124
  }))
@@ -1 +1 @@
1
- {"version":3,"file":"VDataTableServer.mjs","names":["VTable","VDataTableFooter","VDataTableHeaders","VDataTableRows","provideDefaults","useProxiedModel","createExpanded","makeDataTableExpandProps","createGroupBy","makeDataTableGroupProps","useGroupedItems","createHeaders","makeDataTableHeaderProps","makeDataTableItemProps","useDataTableItems","useOptions","createPagination","makeDataTablePaginateProps","createSelection","makeDataTableSelectProps","createSort","makeDataTableSortProps","provide","toRef","defineComponent","useRender","makeVDataTableProps","VDataTableServer","name","props","color","String","loading","Boolean","loadingText","type","default","itemsLength","Number","emits","value","page","sortBy","options","event","setup","emit","slots","groupBy","columns","showSelect","showExpand","items","toggleSort","opened","itemsPerPage","startIndex","stopIndex","pageCount","flatItems","hideNoData","noDataText","fixedHeader","fixedFooter","height","top","headers","thead","body","tbody","tfoot","bottom","prepend"],"sources":["../../../src/labs/VDataTable/VDataTableServer.tsx"],"sourcesContent":["// Components\nimport { VTable } from '@/components/VTable'\nimport { VDataTableFooter } from './VDataTableFooter'\nimport { VDataTableHeaders } from './VDataTableHeaders'\nimport { VDataTableRows } from './VDataTableRows'\n\n// Composables\nimport { provideDefaults } from '@/composables/defaults'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { createExpanded, makeDataTableExpandProps } from './composables/expand'\nimport { createGroupBy, makeDataTableGroupProps, useGroupedItems } from './composables/group'\nimport { createHeaders, makeDataTableHeaderProps } from './composables/headers'\nimport { makeDataTableItemProps, useDataTableItems } from './composables/items'\nimport { useOptions } from './composables/options'\nimport { createPagination, makeDataTablePaginateProps } from './composables/paginate'\nimport { createSelection, makeDataTableSelectProps } from './composables/select'\nimport { createSort, makeDataTableSortProps } from './composables/sort'\n\n// Utilities\nimport { provide, toRef } from 'vue'\nimport { defineComponent, useRender } from '@/util'\nimport { makeVDataTableProps } from './VDataTable'\n\n// Types\nimport type { DataTableItem } from './types'\n\nexport const VDataTableServer = defineComponent({\n name: 'VDataTableServer',\n\n props: {\n color: String,\n loading: [Boolean, String],\n loadingText: {\n type: String,\n default: '$vuetify.dataIterator.loadingText',\n },\n itemsLength: [Number, String],\n\n ...makeVDataTableProps(),\n ...makeDataTableExpandProps(),\n ...makeDataTableHeaderProps(),\n ...makeDataTableItemProps(),\n ...makeDataTableSelectProps(),\n ...makeDataTableSortProps(),\n ...makeDataTablePaginateProps(),\n ...makeDataTableGroupProps(),\n },\n\n emits: {\n 'update:modelValue': (value: any[]) => true,\n 'update:page': (page: number) => true,\n 'update:itemsPerPage': (page: number) => true,\n 'update:sortBy': (sortBy: any) => true,\n 'update:options': (options: any) => true,\n 'update:expanded': (options: any) => true,\n 'update:groupBy': (value: any) => true,\n 'click:row': (event: Event, value: { item: DataTableItem }) => true,\n },\n\n setup (props, { emit, slots }) {\n const groupBy = useProxiedModel(props, 'groupBy')\n\n createExpanded(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 { sortBy, toggleSort } = createSort(props)\n\n const { opened } = createGroupBy(props, groupBy, sortBy)\n\n const { page, itemsPerPage, startIndex, stopIndex, pageCount } = createPagination(props, items)\n\n const { flatItems } = useGroupedItems(items, groupBy, opened)\n\n createSelection(props, items)\n\n useOptions({\n page,\n itemsPerPage,\n sortBy,\n startIndex,\n stopIndex,\n pageCount,\n groupBy,\n })\n\n provide('v-data-table', {\n toggleSort,\n sortBy,\n })\n\n provideDefaults({\n VDataTableRows: {\n hideNoData: toRef(props, 'hideNoData'),\n noDataText: toRef(props, 'noDataText'),\n loading: toRef(props, 'loading'),\n loadingText: toRef(props, 'loadingText'),\n },\n })\n\n useRender(() => (\n <VTable\n class={[\n 'v-data-table',\n {\n 'v-data-table--loading': props.loading,\n },\n ]}\n fixedHeader={ props.fixedHeader }\n fixedFooter={ props.fixedFooter }\n height={ props.height }\n >\n {{\n top: slots.top,\n default: slots.default ?? (() => (\n <>\n <thead class=\"v-data-table__thead\" role=\"rowgroup\">\n { slots.headers ? slots.headers() : (\n <VDataTableHeaders\n sticky={ props.fixedHeader }\n loading={ props.loading }\n color={ props.color }\n />\n ) }\n </thead>\n { slots.thead?.() }\n <tbody class=\"v-data-table__tbody\" role=\"rowgroup\">\n { slots.body ? slots.body() : (\n <VDataTableRows\n items={ flatItems.value }\n onClick:row={ (event, value) => emit('click:row', event, value) }\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})\n\nexport type VDataTableServer = InstanceType<typeof VDataTableServer>\n"],"mappings":"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"}
1
+ {"version":3,"file":"VDataTableServer.mjs","names":["VTable","VDataTableFooter","VDataTableHeaders","VDataTableRows","provideDefaults","useProxiedModel","createExpanded","makeDataTableExpandProps","createGroupBy","makeDataTableGroupProps","useGroupedItems","createHeaders","makeDataTableHeaderProps","makeDataTableItemProps","useDataTableItems","useOptions","createPagination","makeDataTablePaginateProps","createSelection","makeDataTableSelectProps","createSort","makeDataTableSortProps","provide","toRef","genericComponent","useRender","makeVDataTableProps","VDataTableServer","name","props","color","String","loading","Boolean","loadingText","type","default","itemsLength","Number","emits","value","page","sortBy","options","event","setup","emit","slots","groupBy","columns","showSelect","showExpand","items","toggleSort","opened","itemsPerPage","flatItems","hideNoData","noDataText","fixedHeader","fixedFooter","height","top","headers","thead","body","tbody","tfoot","bottom","prepend"],"sources":["../../../src/labs/VDataTable/VDataTableServer.tsx"],"sourcesContent":["// Components\nimport { VTable } from '@/components/VTable'\nimport { VDataTableFooter } from './VDataTableFooter'\nimport { VDataTableHeaders } from './VDataTableHeaders'\nimport { VDataTableRows } from './VDataTableRows'\n\n// Composables\nimport { provideDefaults } from '@/composables/defaults'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { createExpanded, makeDataTableExpandProps } from './composables/expand'\nimport { createGroupBy, makeDataTableGroupProps, useGroupedItems } from './composables/group'\nimport { createHeaders, makeDataTableHeaderProps } from './composables/headers'\nimport { makeDataTableItemProps, useDataTableItems } from './composables/items'\nimport { useOptions } from './composables/options'\nimport { createPagination, makeDataTablePaginateProps } from './composables/paginate'\nimport { createSelection, makeDataTableSelectProps } from './composables/select'\nimport { createSort, makeDataTableSortProps } from './composables/sort'\n\n// Utilities\nimport { provide, toRef } from 'vue'\nimport { genericComponent, useRender } from '@/util'\nimport { makeVDataTableProps } from './VDataTable'\n\n// Types\nimport type { DataTableItem } from './types'\nimport type { VDataTableSlots } from './VDataTable'\n\nexport const VDataTableServer = genericComponent<VDataTableSlots>()({\n name: 'VDataTableServer',\n\n props: {\n color: String,\n loading: [Boolean, String],\n loadingText: {\n type: String,\n default: '$vuetify.dataIterator.loadingText',\n },\n itemsLength: [Number, String],\n\n ...makeVDataTableProps(),\n ...makeDataTableExpandProps(),\n ...makeDataTableHeaderProps(),\n ...makeDataTableItemProps(),\n ...makeDataTableSelectProps(),\n ...makeDataTableSortProps(),\n ...makeDataTablePaginateProps(),\n ...makeDataTableGroupProps(),\n },\n\n emits: {\n 'update:modelValue': (value: any[]) => true,\n 'update:page': (page: number) => true,\n 'update:itemsPerPage': (page: number) => true,\n 'update:sortBy': (sortBy: any) => true,\n 'update:options': (options: any) => true,\n 'update:expanded': (options: any) => true,\n 'update:groupBy': (value: any) => true,\n 'click:row': (event: Event, value: { item: DataTableItem }) => true,\n },\n\n setup (props, { emit, slots }) {\n const groupBy = useProxiedModel(props, 'groupBy')\n\n createExpanded(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 { sortBy, toggleSort } = createSort(props)\n\n const { opened } = createGroupBy(props, groupBy, sortBy)\n\n const { page, itemsPerPage } = createPagination(props, items)\n\n const { flatItems } = useGroupedItems(items, groupBy, opened)\n\n createSelection(props, items)\n\n useOptions({\n page,\n itemsPerPage,\n sortBy,\n groupBy,\n })\n\n provide('v-data-table', {\n toggleSort,\n sortBy,\n })\n\n provideDefaults({\n VDataTableRows: {\n hideNoData: toRef(props, 'hideNoData'),\n noDataText: toRef(props, 'noDataText'),\n loading: toRef(props, 'loading'),\n loadingText: toRef(props, 'loadingText'),\n },\n })\n\n useRender(() => (\n <VTable\n class={[\n 'v-data-table',\n {\n 'v-data-table--loading': props.loading,\n },\n ]}\n fixedHeader={ props.fixedHeader }\n fixedFooter={ props.fixedFooter }\n height={ props.height }\n >\n {{\n top: slots.top,\n default: slots.default ?? (() => (\n <>\n <thead class=\"v-data-table__thead\" role=\"rowgroup\">\n { slots.headers ? slots.headers() : (\n <VDataTableHeaders\n sticky={ props.fixedHeader }\n loading={ props.loading }\n color={ props.color }\n />\n ) }\n </thead>\n { slots.thead?.() }\n <tbody class=\"v-data-table__tbody\" role=\"rowgroup\">\n { slots.body ? slots.body() : (\n <VDataTableRows\n items={ flatItems.value }\n onClick:row={ (event, value) => emit('click:row', event, value) }\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})\n\nexport type VDataTableServer = InstanceType<typeof VDataTableServer>\n"],"mappings":"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"}
@@ -15,9 +15,9 @@ import { useOptions } from "./composables/options.mjs";
15
15
  import { makeFilterProps, useFilter } from "../../composables/filter.mjs";
16
16
  import { provideDefaults } from "../../composables/defaults.mjs"; // Utlities
17
17
  import { computed, ref, toRef } from 'vue';
18
- import { convertToUnit, defineComponent, useRender } from "../../util/index.mjs";
18
+ import { convertToUnit, genericComponent, useRender } from "../../util/index.mjs";
19
19
  import { makeVDataTableProps } from "./VDataTable.mjs"; // Types
20
- export const VDataTableVirtual = defineComponent({
20
+ export const VDataTableVirtual = genericComponent()({
21
21
  name: 'VDataTableVirtual',
22
22
  props: {
23
23
  search: String,
@@ -94,9 +94,6 @@ export const VDataTableVirtual = defineComponent({
94
94
  useOptions({
95
95
  sortBy,
96
96
  page: ref(1),
97
- startIndex: ref(0),
98
- stopIndex: computed(() => flatItems.value.length - 1),
99
- pageCount: ref(1),
100
97
  itemsPerPage: ref(-1),
101
98
  groupBy
102
99
  });
@@ -1 +1 @@
1
- {"version":3,"file":"VDataTableVirtual.mjs","names":["VTable","VDataTableHeaders","VDataTableRows","useProxiedModel","createHeaders","makeDataTableHeaderProps","makeDataTableItemProps","useDataTableItems","createExpanded","makeDataTableExpandProps","createSort","makeDataTableSortProps","useSortedItems","createGroupBy","makeDataTableGroupProps","useGroupedItems","createSelection","makeDataTableSelectProps","makeDataTableVirtualProps","useVirtual","useOptions","makeFilterProps","useFilter","provideDefaults","computed","ref","toRef","convertToUnit","defineComponent","useRender","makeVDataTableProps","VDataTableVirtual","name","props","search","String","emits","value","event","setup","emit","slots","groupBy","columns","showSelect","showExpand","items","filterKeys","map","c","key","filteredItems","sortBy","sortByWithGroups","opened","extractRows","sortedItems","flatItems","allRows","containerRef","paddingTop","paddingBottom","startIndex","stopIndex","itemHeight","handleScroll","visibleItems","slice","page","length","pageCount","itemsPerPage","hideNoData","noDataText","height","fixedHeader","top","wrapper","multiSort","border","bottom"],"sources":["../../../src/labs/VDataTable/VDataTableVirtual.tsx"],"sourcesContent":["// Components\nimport { VTable } from '@/components/VTable'\nimport { VDataTableHeaders } from './VDataTableHeaders'\nimport { VDataTableRows } from './VDataTableRows'\n\n// Composables\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { createHeaders, makeDataTableHeaderProps } from './composables/headers'\nimport { makeDataTableItemProps, useDataTableItems } from './composables/items'\nimport { createExpanded, makeDataTableExpandProps } from './composables/expand'\nimport { createSort, makeDataTableSortProps, useSortedItems } from './composables/sort'\nimport { createGroupBy, makeDataTableGroupProps, useGroupedItems } from './composables/group'\nimport { createSelection, makeDataTableSelectProps } from './composables/select'\nimport { makeDataTableVirtualProps, useVirtual } from './composables/virtual'\nimport { useOptions } from './composables/options'\nimport { makeFilterProps, useFilter } from '@/composables/filter'\nimport { provideDefaults } from '@/composables/defaults'\n\n// Utlities\nimport { computed, ref, toRef } from 'vue'\nimport { convertToUnit, defineComponent, useRender } from '@/util'\nimport { makeVDataTableProps } from './VDataTable'\n\n// Types\nimport type { DataTableItem } from './types'\n\nexport const VDataTableVirtual = defineComponent({\n name: 'VDataTableVirtual',\n\n props: {\n search: String,\n\n ...makeVDataTableProps(),\n ...makeVDataTableProps(),\n ...makeDataTableGroupProps(),\n ...makeDataTableExpandProps(),\n ...makeDataTableHeaderProps(),\n ...makeDataTableItemProps(),\n ...makeDataTableSelectProps(),\n ...makeDataTableSortProps(),\n ...makeDataTableVirtualProps(),\n ...makeFilterProps(),\n },\n\n emits: {\n 'update:modelValue': (value: any[]) => 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 'click:row': (event: Event, value: { item: DataTableItem }) => true,\n },\n\n setup (props, { emit, slots }) {\n const groupBy = useProxiedModel(props, 'groupBy')\n const { columns } = createHeaders(props, {\n groupBy,\n showSelect: toRef(props, 'showSelect'),\n showExpand: toRef(props, 'showExpand'),\n })\n const { items } = useDataTableItems(props, columns)\n\n const filterKeys = computed(() => columns.value.map(c => 'columns.' + c.key))\n const { filteredItems } = useFilter<DataTableItem>(props, items, toRef(props, 'search'), { filterKeys })\n\n const { sortBy } = createSort(props)\n const { sortByWithGroups, opened, extractRows } = createGroupBy(props, groupBy, sortBy)\n\n const { sortedItems } = useSortedItems(filteredItems, sortByWithGroups, columns)\n const { flatItems } = useGroupedItems(sortedItems, groupBy, opened)\n\n const allRows = computed(() => extractRows(flatItems.value))\n\n createSelection(props, allRows)\n createExpanded(props)\n\n const {\n containerRef,\n paddingTop,\n paddingBottom,\n startIndex,\n stopIndex,\n itemHeight,\n handleScroll,\n } = useVirtual(props, flatItems)\n\n const visibleItems = computed(() => {\n return flatItems.value.slice(startIndex.value, stopIndex.value)\n })\n\n useOptions({\n sortBy,\n page: ref(1),\n startIndex: ref(0),\n stopIndex: computed(() => flatItems.value.length - 1),\n pageCount: ref(1),\n itemsPerPage: ref(-1),\n groupBy,\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=\"v-data-table\"\n style={{\n '--v-table-row-height': convertToUnit(itemHeight.value),\n }}\n height={ props.height }\n fixedHeader={ props.fixedHeader }\n >\n {{\n top: slots.top,\n wrapper: () => (\n <div\n ref={ containerRef }\n onScroll={ handleScroll }\n class=\"v-table__wrapper\"\n style={{\n height: convertToUnit(props.height),\n }}\n >\n <table>\n <thead>\n <VDataTableHeaders\n sticky={ props.fixedHeader }\n multiSort={ props.multiSort }\n v-slots={ slots }\n />\n </thead>\n <tbody>\n <tr style={{ height: convertToUnit(paddingTop.value), border: 0 }}>\n <td colspan={columns.value.length} style={{ height: convertToUnit(paddingTop.value), border: 0 }}></td>\n </tr>\n\n <VDataTableRows\n items={visibleItems.value}\n onClick:row={ (event, value) => emit('click:row', event, value) }\n v-slots={ slots }\n />\n\n <tr style={{ height: convertToUnit(paddingBottom.value), border: 0 }}>\n <td colspan={columns.value.length} style={{ height: convertToUnit(paddingBottom.value), border: 0 }}></td>\n </tr>\n </tbody>\n </table>\n </div>\n ),\n bottom: slots.bottom,\n }}\n </VTable>\n ))\n },\n})\n\nexport type VDataTableVirtual = InstanceType<typeof VDataTableVirtual>\n"],"mappings":"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"}
1
+ {"version":3,"file":"VDataTableVirtual.mjs","names":["VTable","VDataTableHeaders","VDataTableRows","useProxiedModel","createHeaders","makeDataTableHeaderProps","makeDataTableItemProps","useDataTableItems","createExpanded","makeDataTableExpandProps","createSort","makeDataTableSortProps","useSortedItems","createGroupBy","makeDataTableGroupProps","useGroupedItems","createSelection","makeDataTableSelectProps","makeDataTableVirtualProps","useVirtual","useOptions","makeFilterProps","useFilter","provideDefaults","computed","ref","toRef","convertToUnit","genericComponent","useRender","makeVDataTableProps","VDataTableVirtual","name","props","search","String","emits","value","event","setup","emit","slots","groupBy","columns","showSelect","showExpand","items","filterKeys","map","c","key","filteredItems","sortBy","sortByWithGroups","opened","extractRows","sortedItems","flatItems","allRows","containerRef","paddingTop","paddingBottom","startIndex","stopIndex","itemHeight","handleScroll","visibleItems","slice","page","itemsPerPage","hideNoData","noDataText","height","fixedHeader","top","wrapper","multiSort","border","length","bottom"],"sources":["../../../src/labs/VDataTable/VDataTableVirtual.tsx"],"sourcesContent":["// Components\nimport { VTable } from '@/components/VTable'\nimport { VDataTableHeaders } from './VDataTableHeaders'\nimport { VDataTableRows } from './VDataTableRows'\n\n// Composables\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { createHeaders, makeDataTableHeaderProps } from './composables/headers'\nimport { makeDataTableItemProps, useDataTableItems } from './composables/items'\nimport { createExpanded, makeDataTableExpandProps } from './composables/expand'\nimport { createSort, makeDataTableSortProps, useSortedItems } from './composables/sort'\nimport { createGroupBy, makeDataTableGroupProps, useGroupedItems } from './composables/group'\nimport { createSelection, makeDataTableSelectProps } from './composables/select'\nimport { makeDataTableVirtualProps, useVirtual } from './composables/virtual'\nimport { useOptions } from './composables/options'\nimport { makeFilterProps, useFilter } from '@/composables/filter'\nimport { provideDefaults } from '@/composables/defaults'\n\n// Utlities\nimport { computed, ref, toRef } from 'vue'\nimport { convertToUnit, genericComponent, useRender } from '@/util'\nimport { makeVDataTableProps } from './VDataTable'\n\n// Types\nimport type { DataTableItem } from './types'\nimport type { VDataTableRowsSlots } from './VDataTableRows'\n\nexport type VDataTableVirtualSlots = VDataTableRowsSlots & {\n top: []\n headers: []\n bottom: []\n}\n\nexport const VDataTableVirtual = genericComponent<VDataTableVirtualSlots>()({\n name: 'VDataTableVirtual',\n\n props: {\n search: String,\n\n ...makeVDataTableProps(),\n ...makeVDataTableProps(),\n ...makeDataTableGroupProps(),\n ...makeDataTableExpandProps(),\n ...makeDataTableHeaderProps(),\n ...makeDataTableItemProps(),\n ...makeDataTableSelectProps(),\n ...makeDataTableSortProps(),\n ...makeDataTableVirtualProps(),\n ...makeFilterProps(),\n },\n\n emits: {\n 'update:modelValue': (value: any[]) => 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 'click:row': (event: Event, value: { item: DataTableItem }) => true,\n },\n\n setup (props, { emit, slots }) {\n const groupBy = useProxiedModel(props, 'groupBy')\n const { columns } = createHeaders(props, {\n groupBy,\n showSelect: toRef(props, 'showSelect'),\n showExpand: toRef(props, 'showExpand'),\n })\n const { items } = useDataTableItems(props, columns)\n\n const filterKeys = computed(() => columns.value.map(c => 'columns.' + c.key))\n const { filteredItems } = useFilter<DataTableItem>(props, items, toRef(props, 'search'), { filterKeys })\n\n const { sortBy } = createSort(props)\n const { sortByWithGroups, opened, extractRows } = createGroupBy(props, groupBy, sortBy)\n\n const { sortedItems } = useSortedItems(filteredItems, sortByWithGroups, columns)\n const { flatItems } = useGroupedItems(sortedItems, groupBy, opened)\n\n const allRows = computed(() => extractRows(flatItems.value))\n\n createSelection(props, allRows)\n createExpanded(props)\n\n const {\n containerRef,\n paddingTop,\n paddingBottom,\n startIndex,\n stopIndex,\n itemHeight,\n handleScroll,\n } = useVirtual(props, flatItems)\n\n const visibleItems = computed(() => {\n return flatItems.value.slice(startIndex.value, stopIndex.value)\n })\n\n useOptions({\n sortBy,\n page: ref(1),\n itemsPerPage: ref(-1),\n groupBy,\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=\"v-data-table\"\n style={{\n '--v-table-row-height': convertToUnit(itemHeight.value),\n }}\n height={ props.height }\n fixedHeader={ props.fixedHeader }\n >\n {{\n top: slots.top,\n wrapper: () => (\n <div\n ref={ containerRef }\n onScroll={ handleScroll }\n class=\"v-table__wrapper\"\n style={{\n height: convertToUnit(props.height),\n }}\n >\n <table>\n <thead>\n <VDataTableHeaders\n sticky={ props.fixedHeader }\n multiSort={ props.multiSort }\n v-slots={ slots }\n />\n </thead>\n <tbody>\n <tr style={{ height: convertToUnit(paddingTop.value), border: 0 }}>\n <td colspan={columns.value.length} style={{ height: convertToUnit(paddingTop.value), border: 0 }}></td>\n </tr>\n\n <VDataTableRows\n items={visibleItems.value}\n onClick:row={ (event, value) => emit('click:row', event, value) }\n v-slots={ slots }\n />\n\n <tr style={{ height: convertToUnit(paddingBottom.value), border: 0 }}>\n <td colspan={columns.value.length} style={{ height: convertToUnit(paddingBottom.value), border: 0 }}></td>\n </tr>\n </tbody>\n </table>\n </div>\n ),\n bottom: slots.bottom,\n }}\n </VTable>\n ))\n },\n})\n\nexport type VDataTableVirtual = InstanceType<typeof VDataTableVirtual>\n"],"mappings":"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"}
@@ -12,7 +12,6 @@ export function createHeaders(props, options) {
12
12
  const headers = ref([]);
13
13
  const columns = ref([]);
14
14
  watch(() => props.headers, () => {
15
- var _options$groupBy, _options$showSelect, _options$showExpand;
16
15
  const wrapped = !props.headers.length ? [] : Array.isArray(props.headers[0]) ? props.headers : [props.headers];
17
16
  const flat = wrapped.flatMap((row, index) => row.map(column => ({
18
17
  column,
@@ -27,7 +26,7 @@ export function createHeaders(props, options) {
27
26
  ...defaultHeader,
28
27
  width: 48
29
28
  };
30
- if (options != null && (_options$groupBy = options.groupBy) != null && _options$groupBy.value.length) {
29
+ if (options?.groupBy?.value.length) {
31
30
  const index = flat.findIndex(_ref => {
32
31
  let {
33
32
  column
@@ -50,7 +49,7 @@ export function createHeaders(props, options) {
50
49
  row: flat[index].row
51
50
  });
52
51
  }
53
- if (options != null && (_options$showSelect = options.showSelect) != null && _options$showSelect.value) {
52
+ if (options?.showSelect?.value) {
54
53
  const index = flat.findIndex(_ref2 => {
55
54
  let {
56
55
  column
@@ -72,7 +71,7 @@ export function createHeaders(props, options) {
72
71
  row: flat[index].row
73
72
  });
74
73
  }
75
- if (options != null && (_options$showExpand = options.showExpand) != null && _options$showExpand.value) {
74
+ if (options?.showExpand?.value) {
76
75
  const index = flat.findIndex(_ref3 => {
77
76
  let {
78
77
  column