vuetify 3.6.0-alpha.2 → 3.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (377) hide show
  1. package/dist/_component-variables-labs.sass +2 -1
  2. package/dist/json/attributes.json +731 -63
  3. package/dist/json/importMap-labs.json +32 -20
  4. package/dist/json/importMap.json +138 -138
  5. package/dist/json/tags.json +184 -2
  6. package/dist/json/web-types.json +13002 -10923
  7. package/dist/vuetify-labs.css +2039 -1927
  8. package/dist/vuetify-labs.d.ts +3575 -1079
  9. package/dist/vuetify-labs.esm.js +1047 -390
  10. package/dist/vuetify-labs.esm.js.map +1 -1
  11. package/dist/vuetify-labs.js +1046 -389
  12. package/dist/vuetify-labs.min.css +2 -2
  13. package/dist/vuetify.css +3026 -2941
  14. package/dist/vuetify.d.ts +927 -306
  15. package/dist/vuetify.esm.js +625 -363
  16. package/dist/vuetify.esm.js.map +1 -1
  17. package/dist/vuetify.js +624 -362
  18. package/dist/vuetify.js.map +1 -1
  19. package/dist/vuetify.min.css +2 -2
  20. package/dist/vuetify.min.js +728 -714
  21. package/dist/vuetify.min.js.map +1 -1
  22. package/lib/components/VAlert/VAlert.sass +128 -127
  23. package/lib/components/VApp/VApp.sass +15 -13
  24. package/lib/components/VAppBar/VAppBar.sass +9 -8
  25. package/lib/components/VAppBar/index.d.mts +10 -0
  26. package/lib/components/VAutocomplete/VAutocomplete.mjs +8 -10
  27. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  28. package/lib/components/VAutocomplete/VAutocomplete.sass +94 -93
  29. package/lib/components/VAutocomplete/index.d.mts +36 -0
  30. package/lib/components/VAvatar/VAvatar.sass +26 -25
  31. package/lib/components/VBadge/VBadge.sass +61 -60
  32. package/lib/components/VBanner/VBanner.css +1 -1
  33. package/lib/components/VBanner/VBanner.sass +92 -91
  34. package/lib/components/VBanner/index.d.mts +15 -0
  35. package/lib/components/VBottomNavigation/VBottomNavigation.sass +50 -49
  36. package/lib/components/VBottomSheet/VBottomSheet.sass +28 -26
  37. package/lib/components/VBottomSheet/index.d.mts +14 -0
  38. package/lib/components/VBreadcrumbs/VBreadcrumbs.css +1 -1
  39. package/lib/components/VBreadcrumbs/VBreadcrumbs.sass +41 -40
  40. package/lib/components/VBtn/VBtn.css +3 -0
  41. package/lib/components/VBtn/VBtn.mjs +3 -1
  42. package/lib/components/VBtn/VBtn.mjs.map +1 -1
  43. package/lib/components/VBtn/VBtn.sass +204 -200
  44. package/lib/components/VBtn/index.d.mts +10 -0
  45. package/lib/components/VBtnGroup/VBtnGroup.sass +47 -46
  46. package/lib/components/VBtnToggle/VBtnToggle.sass +4 -3
  47. package/lib/components/VBtnToggle/index.d.mts +1 -0
  48. package/lib/components/VCard/VCard.css +3 -3
  49. package/lib/components/VCard/VCard.sass +181 -180
  50. package/lib/components/VCarousel/VCarousel.sass +50 -49
  51. package/lib/components/VCarousel/VCarouselItem.mjs +1 -1
  52. package/lib/components/VCarousel/VCarouselItem.mjs.map +1 -1
  53. package/lib/components/VCarousel/index.d.mts +1 -0
  54. package/lib/components/VCheckbox/VCheckbox.sass +6 -5
  55. package/lib/components/VChip/VChip.css +1 -1
  56. package/lib/components/VChip/VChip.sass +78 -76
  57. package/lib/components/VChipGroup/VChipGroup.sass +20 -18
  58. package/lib/components/VChipGroup/index.d.mts +16 -0
  59. package/lib/components/VCode/VCode.sass +10 -8
  60. package/lib/components/VColorPicker/VColorPicker.sass +18 -17
  61. package/lib/components/VColorPicker/VColorPickerCanvas.sass +21 -20
  62. package/lib/components/VColorPicker/VColorPickerEdit.sass +24 -23
  63. package/lib/components/VColorPicker/VColorPickerPreview.sass +54 -53
  64. package/lib/components/VColorPicker/VColorPickerSwatches.sass +29 -28
  65. package/lib/components/VCombobox/VCombobox.mjs +8 -10
  66. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  67. package/lib/components/VCombobox/VCombobox.sass +94 -93
  68. package/lib/components/VCombobox/index.d.mts +36 -0
  69. package/lib/components/VCounter/VCounter.sass +7 -5
  70. package/lib/components/VDataIterator/index.d.mts +2 -0
  71. package/lib/components/VDataTable/VDataTable.css +36 -1
  72. package/lib/components/VDataTable/VDataTable.sass +137 -103
  73. package/lib/components/VDataTable/VDataTableFooter.css +5 -9
  74. package/lib/components/VDataTable/VDataTableFooter.sass +26 -25
  75. package/lib/components/VDataTable/VDataTableHeaders.mjs +66 -7
  76. package/lib/components/VDataTable/VDataTableHeaders.mjs.map +1 -1
  77. package/lib/components/VDataTable/VDataTableRow.mjs +45 -10
  78. package/lib/components/VDataTable/VDataTableRow.mjs.map +1 -1
  79. package/lib/components/VDataTable/VDataTableRows.mjs +8 -2
  80. package/lib/components/VDataTable/VDataTableRows.mjs.map +1 -1
  81. package/lib/components/VDataTable/_variables.scss +9 -3
  82. package/lib/components/VDataTable/index.d.mts +263 -217
  83. package/lib/components/VDataTable/types.mjs.map +1 -1
  84. package/lib/components/VDatePicker/VDatePicker.mjs +12 -2
  85. package/lib/components/VDatePicker/VDatePicker.mjs.map +1 -1
  86. package/lib/components/VDatePicker/VDatePicker.sass +6 -5
  87. package/lib/components/VDatePicker/VDatePickerControls.sass +56 -55
  88. package/lib/components/VDatePicker/VDatePickerHeader.sass +58 -56
  89. package/lib/components/VDatePicker/VDatePickerMonth.sass +53 -51
  90. package/lib/components/VDatePicker/VDatePickerMonths.sass +18 -16
  91. package/lib/components/VDatePicker/VDatePickerYears.sass +14 -12
  92. package/lib/components/VDialog/VDialog.css +7 -3
  93. package/lib/components/VDialog/VDialog.mjs +6 -2
  94. package/lib/components/VDialog/VDialog.mjs.map +1 -1
  95. package/lib/components/VDialog/VDialog.sass +71 -68
  96. package/lib/components/VDialog/__test__/VDialog.spec.cy.mjs +39 -0
  97. package/lib/components/VDialog/__test__/VDialog.spec.cy.mjs.map +1 -0
  98. package/lib/components/VDialog/_variables.scss +4 -3
  99. package/lib/components/VDialog/index.d.mts +60 -10
  100. package/lib/components/VDivider/VDivider.sass +49 -48
  101. package/lib/components/VExpansionPanel/VExpansionPanel.sass +172 -171
  102. package/lib/components/VField/VField.sass +451 -450
  103. package/lib/components/VFileInput/VFileInput.mjs +1 -1
  104. package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
  105. package/lib/components/VFileInput/VFileInput.sass +30 -31
  106. package/lib/components/VFileInput/index.d.mts +17 -5
  107. package/lib/components/VFooter/VFooter.sass +17 -16
  108. package/lib/components/VGrid/VGrid.sass +42 -40
  109. package/lib/components/VIcon/VIcon.sass +34 -32
  110. package/lib/components/VImg/VImg.sass +24 -23
  111. package/lib/components/VInfiniteScroll/VInfiniteScroll.sass +21 -19
  112. package/lib/components/VInput/VInput.mjs +6 -1
  113. package/lib/components/VInput/VInput.mjs.map +1 -1
  114. package/lib/components/VInput/VInput.sass +103 -102
  115. package/lib/components/VInput/index.d.mts +6 -0
  116. package/lib/components/VItemGroup/VItemGroup.sass +7 -5
  117. package/lib/components/VKbd/VKbd.sass +10 -9
  118. package/lib/components/VLabel/VLabel.sass +14 -13
  119. package/lib/components/VLayout/VLayout.mjs +6 -1
  120. package/lib/components/VLayout/VLayout.mjs.map +1 -1
  121. package/lib/components/VLayout/VLayout.sass +10 -7
  122. package/lib/components/VLayout/VLayoutItem.sass +7 -5
  123. package/lib/components/VLayout/index.d.mts +36 -0
  124. package/lib/components/VList/VList.mjs +2 -1
  125. package/lib/components/VList/VList.mjs.map +1 -1
  126. package/lib/components/VList/VList.sass +81 -80
  127. package/lib/components/VList/VListItem.css +1 -1
  128. package/lib/components/VList/VListItem.sass +260 -259
  129. package/lib/components/VLocaleProvider/VLocaleProvider.sass +5 -2
  130. package/lib/components/VMain/VMain.sass +22 -21
  131. package/lib/components/VMenu/VMenu.sass +14 -13
  132. package/lib/components/VMenu/index.d.mts +56 -0
  133. package/lib/components/VMessages/VMessages.sass +16 -15
  134. package/lib/components/VNavigationDrawer/VNavigationDrawer.css +4 -0
  135. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +14 -5
  136. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
  137. package/lib/components/VNavigationDrawer/VNavigationDrawer.sass +90 -84
  138. package/lib/components/VNavigationDrawer/index.d.mts +24 -0
  139. package/lib/components/VNavigationDrawer/touch.mjs +16 -2
  140. package/lib/components/VNavigationDrawer/touch.mjs.map +1 -1
  141. package/lib/components/VOtpInput/VOtpInput.sass +51 -50
  142. package/lib/components/VOverlay/VOverlay.mjs +2 -2
  143. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  144. package/lib/components/VOverlay/VOverlay.sass +57 -55
  145. package/lib/components/VOverlay/index.d.mts +27 -13
  146. package/lib/components/VOverlay/useActivator.mjs.map +1 -1
  147. package/lib/components/VPagination/VPagination.sass +14 -12
  148. package/lib/components/VParallax/VParallax.sass +8 -5
  149. package/lib/components/VProgressCircular/VProgressCircular.sass +85 -83
  150. package/lib/components/VProgressLinear/VProgressLinear.mjs +11 -1
  151. package/lib/components/VProgressLinear/VProgressLinear.mjs.map +1 -1
  152. package/lib/components/VProgressLinear/VProgressLinear.sass +170 -169
  153. package/lib/components/VProgressLinear/index.d.mts +21 -0
  154. package/lib/components/VRadioGroup/VRadioGroup.sass +12 -10
  155. package/lib/components/VRangeSlider/index.d.mts +6 -0
  156. package/lib/components/VRating/VRating.sass +46 -44
  157. package/lib/components/VResponsive/VResponsive.sass +21 -19
  158. package/lib/components/VSelect/VSelect.mjs +5 -1
  159. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  160. package/lib/components/VSelect/VSelect.sass +50 -49
  161. package/lib/components/VSelect/index.d.mts +36 -0
  162. package/lib/components/VSelectionControl/VSelectionControl.sass +87 -86
  163. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.sass +9 -7
  164. package/lib/components/VSheet/VSheet.sass +10 -9
  165. package/lib/components/VSkeletonLoader/VSkeletonLoader.sass +174 -173
  166. package/lib/components/VSlideGroup/VSlideGroup.css +14 -1
  167. package/lib/components/VSlideGroup/VSlideGroup.mjs +110 -93
  168. package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
  169. package/lib/components/VSlideGroup/VSlideGroup.sass +54 -40
  170. package/lib/components/VSlideGroup/helpers.mjs +48 -28
  171. package/lib/components/VSlideGroup/helpers.mjs.map +1 -1
  172. package/lib/components/VSlideGroup/index.d.mts +16 -0
  173. package/lib/components/VSlider/VSlider.sass +49 -48
  174. package/lib/components/VSlider/VSliderThumb.sass +129 -128
  175. package/lib/components/VSlider/VSliderTrack.sass +120 -119
  176. package/lib/components/VSlider/index.d.mts +6 -0
  177. package/lib/components/VSnackbar/VSnackbar.css +18 -1
  178. package/lib/components/VSnackbar/VSnackbar.mjs +34 -9
  179. package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
  180. package/lib/components/VSnackbar/VSnackbar.sass +103 -83
  181. package/lib/components/VSnackbar/index.d.mts +42 -0
  182. package/lib/components/VStepper/VStepper.sass +37 -36
  183. package/lib/components/VStepper/VStepperItem.sass +69 -67
  184. package/lib/components/VSwitch/VSwitch.css +14 -2
  185. package/lib/components/VSwitch/VSwitch.sass +119 -112
  186. package/lib/components/VSystemBar/VSystemBar.css +1 -1
  187. package/lib/components/VSystemBar/VSystemBar.sass +24 -23
  188. package/lib/components/VTable/VTable.sass +140 -139
  189. package/lib/components/VTabs/VTab.sass +27 -25
  190. package/lib/components/VTabs/VTabs.sass +38 -37
  191. package/lib/components/VTabs/index.d.mts +49 -6
  192. package/lib/components/VTextField/VTextField.sass +58 -56
  193. package/lib/components/VTextField/index.d.mts +15 -3
  194. package/lib/components/VTextarea/VTextarea.sass +43 -42
  195. package/lib/components/VTextarea/index.d.mts +15 -3
  196. package/lib/components/VThemeProvider/VThemeProvider.sass +6 -3
  197. package/lib/components/VTimeline/VTimeline.sass +308 -307
  198. package/lib/components/VToolbar/VToolbar.sass +90 -89
  199. package/lib/components/VTooltip/VTooltip.sass +23 -21
  200. package/lib/components/VTooltip/index.d.mts +56 -0
  201. package/lib/components/VVirtualScroll/VVirtualScroll.sass +10 -7
  202. package/lib/components/VWindow/VWindow.css +1 -0
  203. package/lib/components/VWindow/VWindow.sass +74 -70
  204. package/lib/components/VWindow/index.d.mts +1 -0
  205. package/lib/components/index.d.mts +870 -253
  206. package/lib/composables/directiveComponent.mjs +4 -2
  207. package/lib/composables/directiveComponent.mjs.map +1 -1
  208. package/lib/composables/display.mjs +5 -0
  209. package/lib/composables/display.mjs.map +1 -1
  210. package/lib/composables/goto.mjs +40 -3
  211. package/lib/composables/goto.mjs.map +1 -1
  212. package/lib/composables/group.mjs +10 -1
  213. package/lib/composables/group.mjs.map +1 -1
  214. package/lib/composables/layout.mjs +3 -1
  215. package/lib/composables/layout.mjs.map +1 -1
  216. package/lib/directives/ripple/VRipple.sass +35 -33
  217. package/lib/entry-bundler.mjs +1 -1
  218. package/lib/entry-bundler.mjs.map +1 -1
  219. package/lib/framework.mjs +1 -1
  220. package/lib/framework.mjs.map +1 -1
  221. package/lib/index.d.mts +58 -54
  222. package/lib/labs/VCalendar/VCalendar.sass +160 -158
  223. package/lib/labs/VCalendar/VCalendarDay.sass +26 -23
  224. package/lib/labs/VCalendar/VCalendarHeader.sass +12 -10
  225. package/lib/labs/VCalendar/VCalendarInterval.sass +36 -34
  226. package/lib/labs/VCalendar/VCalendarIntervalEvent.sass +9 -6
  227. package/lib/labs/VCalendar/VCalendarMonthDay.sass +59 -57
  228. package/lib/labs/VDateInput/VDateInput.mjs +129 -0
  229. package/lib/labs/VDateInput/VDateInput.mjs.map +1 -0
  230. package/lib/labs/VDateInput/index.d.mts +1068 -0
  231. package/lib/labs/VDateInput/index.mjs +2 -0
  232. package/lib/labs/VDateInput/index.mjs.map +1 -0
  233. package/lib/labs/VEmptyState/VEmptyState.css +3 -3
  234. package/lib/labs/VEmptyState/VEmptyState.sass +59 -57
  235. package/lib/labs/VFab/VFab.css +1 -0
  236. package/lib/labs/VFab/VFab.mjs +3 -2
  237. package/lib/labs/VFab/VFab.mjs.map +1 -1
  238. package/lib/labs/VFab/VFab.sass +62 -60
  239. package/lib/labs/VFab/index.d.mts +19 -0
  240. package/lib/labs/VNumberInput/VNumberInput.mjs +79 -24
  241. package/lib/labs/VNumberInput/VNumberInput.mjs.map +1 -1
  242. package/lib/labs/VNumberInput/VNumberInput.sass +42 -40
  243. package/lib/labs/VNumberInput/index.d.mts +56 -29
  244. package/lib/labs/VPicker/VPicker.sass +49 -48
  245. package/lib/labs/VPullToRefresh/VPullToRefresh.css +27 -0
  246. package/lib/labs/VPullToRefresh/VPullToRefresh.mjs +117 -0
  247. package/lib/labs/VPullToRefresh/VPullToRefresh.mjs.map +1 -0
  248. package/lib/labs/VPullToRefresh/VPullToRefresh.sass +23 -0
  249. package/lib/labs/VPullToRefresh/index.d.mts +189 -0
  250. package/lib/labs/VPullToRefresh/index.mjs +2 -0
  251. package/lib/labs/VPullToRefresh/index.mjs.map +1 -0
  252. package/lib/labs/VSnackbarQueue/VSnackbarQueue.mjs +112 -0
  253. package/lib/labs/VSnackbarQueue/VSnackbarQueue.mjs.map +1 -0
  254. package/lib/labs/VSnackbarQueue/index.d.mts +2763 -0
  255. package/lib/labs/VSnackbarQueue/index.mjs +2 -0
  256. package/lib/labs/VSnackbarQueue/index.mjs.map +1 -0
  257. package/lib/labs/VSpeedDial/VSpeedDial.mjs +8 -2
  258. package/lib/labs/VSpeedDial/VSpeedDial.mjs.map +1 -1
  259. package/lib/labs/VSpeedDial/VSpeedDial.sass +23 -20
  260. package/lib/labs/VSpeedDial/index.d.mts +28 -2
  261. package/lib/labs/VTimePicker/VTimePicker.sass +9 -8
  262. package/lib/labs/VTimePicker/VTimePickerClock.mjs +1 -3
  263. package/lib/labs/VTimePicker/VTimePickerClock.mjs.map +1 -1
  264. package/lib/labs/VTimePicker/VTimePickerClock.sass +114 -113
  265. package/lib/labs/VTimePicker/VTimePickerControls.sass +90 -90
  266. package/lib/labs/VTimePicker/_variables.scss +1 -1
  267. package/lib/labs/VTimePicker/index.d.mts +6 -13
  268. package/lib/labs/VTreeview/VTreeviewItem.sass +14 -12
  269. package/lib/labs/VTreeview/{variables.scss → _variables.scss} +0 -2
  270. package/lib/labs/components.d.mts +5587 -1641
  271. package/lib/labs/components.mjs +3 -0
  272. package/lib/labs/components.mjs.map +1 -1
  273. package/lib/locale/af.mjs +1 -0
  274. package/lib/locale/af.mjs.map +1 -1
  275. package/lib/locale/ar.mjs +1 -0
  276. package/lib/locale/ar.mjs.map +1 -1
  277. package/lib/locale/az.mjs +1 -0
  278. package/lib/locale/az.mjs.map +1 -1
  279. package/lib/locale/bg.mjs +1 -0
  280. package/lib/locale/bg.mjs.map +1 -1
  281. package/lib/locale/ca.mjs +1 -0
  282. package/lib/locale/ca.mjs.map +1 -1
  283. package/lib/locale/ckb.mjs +1 -0
  284. package/lib/locale/ckb.mjs.map +1 -1
  285. package/lib/locale/cs.mjs +1 -0
  286. package/lib/locale/cs.mjs.map +1 -1
  287. package/lib/locale/da.mjs +1 -0
  288. package/lib/locale/da.mjs.map +1 -1
  289. package/lib/locale/de.mjs +1 -0
  290. package/lib/locale/de.mjs.map +1 -1
  291. package/lib/locale/el.mjs +1 -0
  292. package/lib/locale/el.mjs.map +1 -1
  293. package/lib/locale/en.mjs +1 -0
  294. package/lib/locale/en.mjs.map +1 -1
  295. package/lib/locale/es.mjs +1 -0
  296. package/lib/locale/es.mjs.map +1 -1
  297. package/lib/locale/et.mjs +1 -0
  298. package/lib/locale/et.mjs.map +1 -1
  299. package/lib/locale/fa.mjs +1 -0
  300. package/lib/locale/fa.mjs.map +1 -1
  301. package/lib/locale/fi.mjs +1 -0
  302. package/lib/locale/fi.mjs.map +1 -1
  303. package/lib/locale/fr.mjs +1 -0
  304. package/lib/locale/fr.mjs.map +1 -1
  305. package/lib/locale/he.mjs +1 -0
  306. package/lib/locale/he.mjs.map +1 -1
  307. package/lib/locale/hr.mjs +1 -0
  308. package/lib/locale/hr.mjs.map +1 -1
  309. package/lib/locale/hu.mjs +1 -0
  310. package/lib/locale/hu.mjs.map +1 -1
  311. package/lib/locale/id.mjs +1 -0
  312. package/lib/locale/id.mjs.map +1 -1
  313. package/lib/locale/index.d.mts +43 -0
  314. package/lib/locale/it.mjs +1 -0
  315. package/lib/locale/it.mjs.map +1 -1
  316. package/lib/locale/ja.mjs +1 -0
  317. package/lib/locale/ja.mjs.map +1 -1
  318. package/lib/locale/km.mjs +1 -0
  319. package/lib/locale/km.mjs.map +1 -1
  320. package/lib/locale/ko.mjs +9 -8
  321. package/lib/locale/ko.mjs.map +1 -1
  322. package/lib/locale/lt.mjs +1 -0
  323. package/lib/locale/lt.mjs.map +1 -1
  324. package/lib/locale/lv.mjs +1 -0
  325. package/lib/locale/lv.mjs.map +1 -1
  326. package/lib/locale/nl.mjs +1 -0
  327. package/lib/locale/nl.mjs.map +1 -1
  328. package/lib/locale/no.mjs +1 -0
  329. package/lib/locale/no.mjs.map +1 -1
  330. package/lib/locale/pl.mjs +1 -0
  331. package/lib/locale/pl.mjs.map +1 -1
  332. package/lib/locale/pt.mjs +1 -0
  333. package/lib/locale/pt.mjs.map +1 -1
  334. package/lib/locale/ro.mjs +1 -0
  335. package/lib/locale/ro.mjs.map +1 -1
  336. package/lib/locale/ru.mjs +1 -0
  337. package/lib/locale/ru.mjs.map +1 -1
  338. package/lib/locale/sk.mjs +1 -0
  339. package/lib/locale/sk.mjs.map +1 -1
  340. package/lib/locale/sl.mjs +1 -0
  341. package/lib/locale/sl.mjs.map +1 -1
  342. package/lib/locale/sr-Cyrl.mjs +1 -0
  343. package/lib/locale/sr-Cyrl.mjs.map +1 -1
  344. package/lib/locale/sr-Latn.mjs +1 -0
  345. package/lib/locale/sr-Latn.mjs.map +1 -1
  346. package/lib/locale/sv.mjs +1 -0
  347. package/lib/locale/sv.mjs.map +1 -1
  348. package/lib/locale/th.mjs +1 -0
  349. package/lib/locale/th.mjs.map +1 -1
  350. package/lib/locale/tr.mjs +1 -0
  351. package/lib/locale/tr.mjs.map +1 -1
  352. package/lib/locale/uk.mjs +1 -0
  353. package/lib/locale/uk.mjs.map +1 -1
  354. package/lib/locale/vi.mjs +1 -0
  355. package/lib/locale/vi.mjs.map +1 -1
  356. package/lib/locale/zh-Hans.mjs +1 -0
  357. package/lib/locale/zh-Hans.mjs.map +1 -1
  358. package/lib/locale/zh-Hant.mjs +1 -0
  359. package/lib/locale/zh-Hant.mjs.map +1 -1
  360. package/lib/styles/elements/_blockquote.sass +6 -4
  361. package/lib/styles/elements/_global.sass +20 -18
  362. package/lib/styles/generic/_animations.scss +13 -9
  363. package/lib/styles/generic/_colors.scss +36 -35
  364. package/lib/styles/generic/_index.scss +1 -0
  365. package/lib/styles/generic/_layers.scss +7 -0
  366. package/lib/styles/generic/_reset.scss +235 -232
  367. package/lib/styles/generic/_rtl.scss +10 -6
  368. package/lib/styles/generic/_transitions.scss +244 -241
  369. package/lib/styles/main.css +78 -78
  370. package/lib/styles/settings/_variables.scss +22 -14
  371. package/lib/styles/tools/_index.sass +1 -0
  372. package/lib/styles/tools/_layer.scss +11 -0
  373. package/lib/styles/utilities/_display.sass +7 -5
  374. package/lib/styles/utilities/_elevation.scss +8 -6
  375. package/lib/styles/utilities/_index.sass +28 -29
  376. package/lib/styles/utilities/_screenreaders.sass +13 -11
  377. package/package.json +2 -2
@@ -2,34 +2,35 @@
2
2
  @use '../../styles/tools'
3
3
  @use './variables' as *
4
4
 
5
- .v-data-table-footer
6
- display: flex
7
- align-items: center
8
- flex-wrap: wrap
9
- padding: $data-table-footer-padding
10
- justify-content: flex-end
5
+ @include tools.layer('components')
6
+ .v-data-table-footer
7
+ align-items: center
8
+ display: flex
9
+ flex-wrap: wrap
10
+ justify-content: flex-end
11
+ padding: $data-table-footer-padding
11
12
 
12
- .v-data-table-footer__items-per-page
13
- display: flex
14
- align-items: center
15
- justify-content: center
13
+ &__items-per-page
14
+ align-items: center
15
+ display: flex
16
+ justify-content: center
16
17
 
17
- > span
18
- padding-inline-end: $data-table-footer-items-per-page-padding
18
+ > span
19
+ padding-inline-end: $data-table-footer-items-per-page-padding
19
20
 
20
- > .v-select
21
- width: $data-table-footer-select-width
21
+ > .v-select
22
+ width: $data-table-footer-select-width
22
23
 
23
- .v-data-table-footer__info
24
- display: flex
25
- justify-content: flex-end
26
- min-width: $data-table-footer-info-min-width
27
- padding: $data-table-footer-info-padding
24
+ &__info
25
+ display: flex
26
+ justify-content: flex-end
27
+ min-width: $data-table-footer-info-min-width
28
+ padding: $data-table-footer-info-padding
28
29
 
29
- .v-data-table-footer__pagination
30
- display: flex
31
- align-items: center
32
- margin-inline-start: $data-table-footer-pagination-margin-inline-start
30
+ &__paginationz
31
+ align-items: center
32
+ display: flex
33
+ margin-inline-start: $data-table-footer-pagination-margin-inline-start
33
34
 
34
- .v-data-table-footer__page
35
- padding: 0 8px
35
+ &__page
36
+ padding: 0 8px
@@ -2,13 +2,17 @@ import { resolveDirective as _resolveDirective, Fragment as _Fragment, mergeProp
2
2
  // Components
3
3
  import { VDataTableColumn } from "./VDataTableColumn.mjs";
4
4
  import { VCheckboxBtn } from "../VCheckbox/index.mjs";
5
- import { VIcon } from "../VIcon/index.mjs"; // Composables
5
+ import { VChip } from "../VChip/index.mjs";
6
+ import { VIcon } from "../VIcon/index.mjs";
7
+ import { VSelect } from "../VSelect/index.mjs"; // Composables
6
8
  import { useHeaders } from "./composables/headers.mjs";
7
9
  import { useSelection } from "./composables/select.mjs";
8
10
  import { useSort } from "./composables/sort.mjs";
9
11
  import { useBackgroundColor } from "../../composables/color.mjs";
12
+ import { makeDisplayProps, useDisplay } from "../../composables/display.mjs";
10
13
  import { IconValue } from "../../composables/icons.mjs";
11
- import { LoaderSlot, makeLoaderProps, useLoader } from "../../composables/loader.mjs"; // Utilities
14
+ import { LoaderSlot, makeLoaderProps, useLoader } from "../../composables/loader.mjs";
15
+ import { useLocale } from "../../composables/locale.mjs"; // Utilities
12
16
  import { computed, mergeProps } from 'vue';
13
17
  import { convertToUnit, genericComponent, propsFactory, useRender } from "../../util/index.mjs"; // Types
14
18
  export const makeVDataTableHeadersProps = propsFactory({
@@ -26,6 +30,7 @@ export const makeVDataTableHeadersProps = propsFactory({
26
30
  headerProps: {
27
31
  type: Object
28
32
  },
33
+ ...makeDisplayProps(),
29
34
  ...makeLoaderProps()
30
35
  }, 'VDataTableHeaders');
31
36
  export const VDataTableHeaders = genericComponent()({
@@ -35,6 +40,9 @@ export const VDataTableHeaders = genericComponent()({
35
40
  let {
36
41
  slots
37
42
  } = _ref;
43
+ const {
44
+ t
45
+ } = useLocale();
38
46
  const {
39
47
  toggleSort,
40
48
  sortBy,
@@ -70,6 +78,10 @@ export const VDataTableHeaders = genericComponent()({
70
78
  backgroundColorClasses,
71
79
  backgroundColorStyles
72
80
  } = useBackgroundColor(props, 'color');
81
+ const {
82
+ displayClasses,
83
+ mobile
84
+ } = useDisplay(props);
73
85
  const slotProps = computed(() => ({
74
86
  headers: headers.value,
75
87
  columns: columns.value,
@@ -81,6 +93,9 @@ export const VDataTableHeaders = genericComponent()({
81
93
  selectAll,
82
94
  getSortIcon
83
95
  }));
96
+ const headerCellClasses = computed(() => ['v-data-table__th', {
97
+ 'v-data-table__th--sticky': props.sticky
98
+ }, displayClasses.value, loaderClasses.value]);
84
99
  const VDataTableHeaderCell = _ref2 => {
85
100
  let {
86
101
  column,
@@ -92,12 +107,11 @@ export const VDataTableHeaders = genericComponent()({
92
107
  return _createVNode(VDataTableColumn, _mergeProps({
93
108
  "tag": "th",
94
109
  "align": column.align,
95
- "class": ['v-data-table__th', {
110
+ "class": [{
96
111
  'v-data-table__th--sortable': column.sortable,
97
112
  'v-data-table__th--sorted': isSorted(column),
98
- 'v-data-table__th--fixed': column.fixed,
99
- 'v-data-table__th--sticky': props.sticky
100
- }, loaderClasses.value],
113
+ 'v-data-table__th--fixed': column.fixed
114
+ }, ...headerCellClasses.value],
101
115
  "style": {
102
116
  width: convertToUnit(column.width),
103
117
  minWidth: convertToUnit(column.minWidth),
@@ -146,8 +160,53 @@ export const VDataTableHeaders = genericComponent()({
146
160
  }
147
161
  });
148
162
  };
163
+ const VDataTableMobileHeaderCell = () => {
164
+ const headerProps = mergeProps(props.headerProps ?? {} ?? {});
165
+ const displayItems = computed(() => {
166
+ return columns.value.filter(column => column?.sortable);
167
+ });
168
+ const appendIcon = computed(() => {
169
+ return allSelected.value ? '$checkboxOn' : someSelected.value ? '$checkboxIndeterminate' : '$checkboxOff';
170
+ });
171
+ return _createVNode(VDataTableColumn, _mergeProps({
172
+ "tag": "th",
173
+ "class": [...headerCellClasses.value],
174
+ "colspan": headers.value.length + 1
175
+ }, headerProps), {
176
+ default: () => [_createVNode("div", {
177
+ "class": "v-data-table-header__content"
178
+ }, [_createVNode(VSelect, {
179
+ "chips": true,
180
+ "class": "v-data-table__td-sort-select",
181
+ "clearable": true,
182
+ "density": "default",
183
+ "items": displayItems.value,
184
+ "label": t('$vuetify.dataTable.sortBy'),
185
+ "multiple": props.multiSort,
186
+ "variant": "underlined",
187
+ "onClick:clear": () => sortBy.value = [],
188
+ "appendIcon": appendIcon.value,
189
+ "onClick:append": () => selectAll(!allSelected.value)
190
+ }, {
191
+ ...slots,
192
+ chip: props => _createVNode(VChip, {
193
+ "onClick": props.item.raw?.sortable ? () => toggleSort(props.item.raw) : undefined,
194
+ "onMousedown": e => {
195
+ e.preventDefault();
196
+ e.stopPropagation();
197
+ }
198
+ }, {
199
+ default: () => [props.item.title, _createVNode(VIcon, {
200
+ "class": ['v-data-table__td-sort-icon', isSorted(props.item.raw) && 'v-data-table__td-sort-icon-active'],
201
+ "icon": getSortIcon(props.item.raw),
202
+ "size": "small"
203
+ }, null)]
204
+ })
205
+ })])]
206
+ });
207
+ };
149
208
  useRender(() => {
150
- return _createVNode(_Fragment, null, [slots.headers ? slots.headers(slotProps.value) : headers.value.map((row, y) => _createVNode("tr", null, [row.map((column, x) => _createVNode(VDataTableHeaderCell, {
209
+ return mobile.value ? _createVNode("tr", null, [_createVNode(VDataTableMobileHeaderCell, null, null)]) : _createVNode(_Fragment, null, [slots.headers ? slots.headers(slotProps.value) : headers.value.map((row, y) => _createVNode("tr", null, [row.map((column, x) => _createVNode(VDataTableHeaderCell, {
151
210
  "column": column,
152
211
  "x": x,
153
212
  "y": y
@@ -1 +1 @@
1
- {"version":3,"file":"VDataTableHeaders.mjs","names":["VDataTableColumn","VCheckboxBtn","VIcon","useHeaders","useSelection","useSort","useBackgroundColor","IconValue","LoaderSlot","makeLoaderProps","useLoader","computed","mergeProps","convertToUnit","genericComponent","propsFactory","useRender","makeVDataTableHeadersProps","color","String","sticky","Boolean","multiSort","sortAscIcon","type","default","sortDescIcon","headerProps","Object","VDataTableHeaders","name","props","setup","_ref","slots","toggleSort","sortBy","isSorted","someSelected","allSelected","selectAll","showSelectAll","columns","headers","loaderClasses","getFixedStyles","column","y","fixed","undefined","position","left","fixedOffset","top","getSortIcon","item","value","find","key","order","backgroundColorClasses","backgroundColorStyles","slotProps","VDataTableHeaderCell","_ref2","x","noPadding","_createVNode","_mergeProps","align","sortable","width","minWidth","maxWidth","colspan","rowspan","nowrap","lastFixed","columnSlotName","columnSlotProps","title","findIndex","_Fragment","map","row","loading","length","loader"],"sources":["../../../src/components/VDataTable/VDataTableHeaders.tsx"],"sourcesContent":["// Components\nimport { VDataTableColumn } from './VDataTableColumn'\nimport { VCheckboxBtn } from '@/components/VCheckbox'\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { useHeaders } from './composables/headers'\nimport { useSelection } from './composables/select'\nimport { useSort } from './composables/sort'\nimport { useBackgroundColor } from '@/composables/color'\nimport { IconValue } from '@/composables/icons'\nimport { LoaderSlot, makeLoaderProps, useLoader } from '@/composables/loader'\n\n// Utilities\nimport { computed, mergeProps } from 'vue'\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { CSSProperties, PropType, UnwrapRef } from 'vue'\nimport type { provideSelection } from './composables/select'\nimport type { provideSort } from './composables/sort'\nimport type { InternalDataTableHeader } from './types'\nimport type { LoaderSlotProps } from '@/composables/loader'\n\nexport type HeadersSlotProps = {\n headers: InternalDataTableHeader[][]\n columns: InternalDataTableHeader[]\n sortBy: UnwrapRef<ReturnType<typeof provideSort>['sortBy']>\n someSelected: UnwrapRef<ReturnType<typeof provideSelection>['someSelected']>\n allSelected: UnwrapRef<ReturnType<typeof provideSelection>['allSelected']>\n toggleSort: ReturnType<typeof provideSort>['toggleSort']\n selectAll: ReturnType<typeof provideSelection>['selectAll']\n getSortIcon: (column: InternalDataTableHeader) => IconValue\n isSorted: ReturnType<typeof provideSort>['isSorted']\n}\n\ntype VDataTableHeaderCellColumnSlotProps = {\n column: InternalDataTableHeader\n selectAll: ReturnType<typeof provideSelection>['selectAll']\n isSorted: ReturnType<typeof provideSort>['isSorted']\n toggleSort: ReturnType<typeof provideSort>['toggleSort']\n sortBy: UnwrapRef<ReturnType<typeof provideSort>['sortBy']>\n someSelected: UnwrapRef<ReturnType<typeof provideSelection>['someSelected']>\n allSelected: UnwrapRef<ReturnType<typeof provideSelection>['allSelected']>\n getSortIcon: (column: InternalDataTableHeader) => IconValue\n}\n\nexport type VDataTableHeadersSlots = {\n headers: HeadersSlotProps\n loader: LoaderSlotProps\n 'header.data-table-select': VDataTableHeaderCellColumnSlotProps\n 'header.data-table-expand': VDataTableHeaderCellColumnSlotProps\n} & { [key: `header.${string}`]: VDataTableHeaderCellColumnSlotProps }\n\nexport const makeVDataTableHeadersProps = propsFactory({\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 headerProps: {\n type: Object as PropType<Record<string, any>>,\n },\n\n ...makeLoaderProps(),\n}, 'VDataTableHeaders')\n\nexport const VDataTableHeaders = genericComponent<VDataTableHeadersSlots>()({\n name: 'VDataTableHeaders',\n\n props: makeVDataTableHeadersProps(),\n\n setup (props, { slots }) {\n const { toggleSort, sortBy, isSorted } = useSort()\n const { someSelected, allSelected, selectAll, showSelectAll } = useSelection()\n const { columns, headers } = useHeaders()\n const { loaderClasses } = useLoader(props)\n\n function getFixedStyles (column: InternalDataTableHeader, y: number): CSSProperties | undefined {\n if (!props.sticky && !column.fixed) return undefined\n\n return {\n position: 'sticky',\n left: column.fixed ? convertToUnit(column.fixedOffset) : undefined,\n top: props.sticky ? `calc(var(--v-table-header-height) * ${y})` : undefined,\n }\n }\n\n function getSortIcon (column: InternalDataTableHeader) {\n const item = sortBy.value.find(item => item.key === column.key)\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 slotProps = computed(() => ({\n headers: headers.value,\n columns: columns.value,\n toggleSort,\n isSorted,\n sortBy: sortBy.value,\n someSelected: someSelected.value,\n allSelected: allSelected.value,\n selectAll,\n getSortIcon,\n } satisfies HeadersSlotProps))\n\n const VDataTableHeaderCell = ({ column, x, y }: { column: InternalDataTableHeader, x: number, y: number }) => {\n const noPadding = column.key === 'data-table-select' || column.key === 'data-table-expand'\n const headerProps = mergeProps(props.headerProps ?? {}, column.headerProps ?? {})\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(column),\n 'v-data-table__th--fixed': column.fixed,\n 'v-data-table__th--sticky': props.sticky,\n },\n loaderClasses.value,\n ]}\n style={{\n width: convertToUnit(column.width),\n minWidth: convertToUnit(column.minWidth),\n maxWidth: convertToUnit(column.maxWidth),\n ...getFixedStyles(column, y),\n }}\n colspan={ column.colspan }\n rowspan={ column.rowspan }\n onClick={ column.sortable ? () => toggleSort(column) : undefined }\n fixed={ column.fixed }\n nowrap={ column.nowrap }\n lastFixed={ column.lastFixed }\n noPadding={ noPadding }\n { ...headerProps }\n >\n {{\n default: () => {\n const columnSlotName = `header.${column.key}` as const\n const columnSlotProps: VDataTableHeaderCellColumnSlotProps = {\n column,\n selectAll,\n isSorted,\n toggleSort,\n sortBy: sortBy.value,\n someSelected: someSelected.value,\n allSelected: allSelected.value,\n getSortIcon,\n }\n\n if (slots[columnSlotName]) return slots[columnSlotName]!(columnSlotProps)\n\n if (column.key === 'data-table-select') {\n return slots['header.data-table-select']?.(columnSlotProps) ?? (showSelectAll && (\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) }\n />\n )}\n { props.multiSort && isSorted(column) && (\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 return (\n <>\n { slots.headers\n ? slots.headers(slotProps.value)\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 <LoaderSlot\n name=\"v-data-table-progress\"\n absolute\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})\n\nexport type VDataTableHeaders = InstanceType<typeof VDataTableHeaders>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VDataTableHeaders.mjs","names":["VDataTableColumn","VCheckboxBtn","VChip","VIcon","VSelect","useHeaders","useSelection","useSort","useBackgroundColor","makeDisplayProps","useDisplay","IconValue","LoaderSlot","makeLoaderProps","useLoader","useLocale","computed","mergeProps","convertToUnit","genericComponent","propsFactory","useRender","makeVDataTableHeadersProps","color","String","sticky","Boolean","multiSort","sortAscIcon","type","default","sortDescIcon","headerProps","Object","VDataTableHeaders","name","props","setup","_ref","slots","t","toggleSort","sortBy","isSorted","someSelected","allSelected","selectAll","showSelectAll","columns","headers","loaderClasses","getFixedStyles","column","y","fixed","undefined","position","left","fixedOffset","top","getSortIcon","item","value","find","key","order","backgroundColorClasses","backgroundColorStyles","displayClasses","mobile","slotProps","headerCellClasses","VDataTableHeaderCell","_ref2","x","noPadding","_createVNode","_mergeProps","align","sortable","width","minWidth","maxWidth","colspan","rowspan","nowrap","lastFixed","columnSlotName","columnSlotProps","title","findIndex","VDataTableMobileHeaderCell","displayItems","filter","appendIcon","length","onClick:clear","onClick:append","chip","raw","e","preventDefault","stopPropagation","_Fragment","map","row","loading","loader"],"sources":["../../../src/components/VDataTable/VDataTableHeaders.tsx"],"sourcesContent":["// Components\nimport { VDataTableColumn } from './VDataTableColumn'\nimport { VCheckboxBtn } from '@/components/VCheckbox'\nimport { VChip } from '@/components/VChip'\nimport { VIcon } from '@/components/VIcon'\nimport { VSelect } from '@/components/VSelect'\n\n// Composables\nimport { useHeaders } from './composables/headers'\nimport { useSelection } from './composables/select'\nimport { useSort } from './composables/sort'\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeDisplayProps, useDisplay } from '@/composables/display'\nimport { IconValue } from '@/composables/icons'\nimport { LoaderSlot, makeLoaderProps, useLoader } from '@/composables/loader'\nimport { useLocale } from '@/composables/locale'\n\n// Utilities\nimport { computed, mergeProps } from 'vue'\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { CSSProperties, PropType, UnwrapRef } from 'vue'\nimport type { provideSelection } from './composables/select'\nimport type { provideSort } from './composables/sort'\nimport type { InternalDataTableHeader } from './types'\nimport type { ItemProps } from '@/composables/list-items'\nimport type { LoaderSlotProps } from '@/composables/loader'\n\nexport type HeadersSlotProps = {\n headers: InternalDataTableHeader[][]\n columns: InternalDataTableHeader[]\n sortBy: UnwrapRef<ReturnType<typeof provideSort>['sortBy']>\n someSelected: UnwrapRef<ReturnType<typeof provideSelection>['someSelected']>\n allSelected: UnwrapRef<ReturnType<typeof provideSelection>['allSelected']>\n toggleSort: ReturnType<typeof provideSort>['toggleSort']\n selectAll: ReturnType<typeof provideSelection>['selectAll']\n getSortIcon: (column: InternalDataTableHeader) => IconValue\n isSorted: ReturnType<typeof provideSort>['isSorted']\n}\n\nexport type VDataTableHeaderCellColumnSlotProps = {\n column: InternalDataTableHeader\n selectAll: ReturnType<typeof provideSelection>['selectAll']\n isSorted: ReturnType<typeof provideSort>['isSorted']\n toggleSort: ReturnType<typeof provideSort>['toggleSort']\n sortBy: UnwrapRef<ReturnType<typeof provideSort>['sortBy']>\n someSelected: UnwrapRef<ReturnType<typeof provideSelection>['someSelected']>\n allSelected: UnwrapRef<ReturnType<typeof provideSelection>['allSelected']>\n getSortIcon: (column: InternalDataTableHeader) => IconValue\n}\n\nexport type VDataTableHeadersSlots = {\n headers: HeadersSlotProps\n loader: LoaderSlotProps\n 'header.data-table-select': VDataTableHeaderCellColumnSlotProps\n 'header.data-table-expand': VDataTableHeaderCellColumnSlotProps\n} & { [key: `header.${string}`]: VDataTableHeaderCellColumnSlotProps }\n\nexport const makeVDataTableHeadersProps = propsFactory({\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 headerProps: {\n type: Object as PropType<Record<string, any>>,\n },\n\n ...makeDisplayProps(),\n ...makeLoaderProps(),\n}, 'VDataTableHeaders')\n\nexport const VDataTableHeaders = genericComponent<VDataTableHeadersSlots>()({\n name: 'VDataTableHeaders',\n\n props: makeVDataTableHeadersProps(),\n\n setup (props, { slots }) {\n const { t } = useLocale()\n const { toggleSort, sortBy, isSorted } = useSort()\n const { someSelected, allSelected, selectAll, showSelectAll } = useSelection()\n const { columns, headers } = useHeaders()\n const { loaderClasses } = useLoader(props)\n\n function getFixedStyles (column: InternalDataTableHeader, y: number): CSSProperties | undefined {\n if (!props.sticky && !column.fixed) return undefined\n\n return {\n position: 'sticky',\n left: column.fixed ? convertToUnit(column.fixedOffset) : undefined,\n top: props.sticky ? `calc(var(--v-table-header-height) * ${y})` : undefined,\n }\n }\n\n function getSortIcon (column: InternalDataTableHeader) {\n const item = sortBy.value.find(item => item.key === column.key)\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 { displayClasses, mobile } = useDisplay(props)\n\n const slotProps = computed(() => ({\n headers: headers.value,\n columns: columns.value,\n toggleSort,\n isSorted,\n sortBy: sortBy.value,\n someSelected: someSelected.value,\n allSelected: allSelected.value,\n selectAll,\n getSortIcon,\n } satisfies HeadersSlotProps))\n\n const headerCellClasses = computed(() => ([\n 'v-data-table__th',\n {\n 'v-data-table__th--sticky': props.sticky,\n },\n displayClasses.value,\n loaderClasses.value,\n ]))\n\n const VDataTableHeaderCell = ({ column, x, y }: { column: InternalDataTableHeader, x: number, y: number }) => {\n const noPadding = column.key === 'data-table-select' || column.key === 'data-table-expand'\n const headerProps = mergeProps(props.headerProps ?? {}, column.headerProps ?? {})\n\n return (\n <VDataTableColumn\n tag=\"th\"\n align={ column.align }\n class={[\n {\n 'v-data-table__th--sortable': column.sortable,\n 'v-data-table__th--sorted': isSorted(column),\n 'v-data-table__th--fixed': column.fixed,\n },\n ...headerCellClasses.value,\n ]}\n style={{\n width: convertToUnit(column.width),\n minWidth: convertToUnit(column.minWidth),\n maxWidth: convertToUnit(column.maxWidth),\n ...getFixedStyles(column, y),\n }}\n colspan={ column.colspan }\n rowspan={ column.rowspan }\n onClick={ column.sortable ? () => toggleSort(column) : undefined }\n fixed={ column.fixed }\n nowrap={ column.nowrap }\n lastFixed={ column.lastFixed }\n noPadding={ noPadding }\n { ...headerProps }\n >\n {{\n default: () => {\n const columnSlotName = `header.${column.key}` as const\n const columnSlotProps: VDataTableHeaderCellColumnSlotProps = {\n column,\n selectAll,\n isSorted,\n toggleSort,\n sortBy: sortBy.value,\n someSelected: someSelected.value,\n allSelected: allSelected.value,\n getSortIcon,\n }\n\n if (slots[columnSlotName]) return slots[columnSlotName]!(columnSlotProps)\n\n if (column.key === 'data-table-select') {\n return slots['header.data-table-select']?.(columnSlotProps) ?? (showSelectAll && (\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) }\n />\n )}\n { props.multiSort && isSorted(column) && (\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 const VDataTableMobileHeaderCell = () => {\n const headerProps = mergeProps(props.headerProps ?? {} ?? {})\n\n const displayItems = computed<ItemProps['items']>(() => {\n return columns.value.filter(column => column?.sortable)\n })\n\n const appendIcon = computed(() => {\n return allSelected.value ? '$checkboxOn' : someSelected.value ? '$checkboxIndeterminate' : '$checkboxOff'\n })\n\n return (\n <VDataTableColumn\n tag=\"th\"\n class={[\n ...headerCellClasses.value,\n ]}\n colspan={ headers.value.length + 1 }\n { ...headerProps }\n >\n <div class=\"v-data-table-header__content\">\n <VSelect\n chips\n class=\"v-data-table__td-sort-select\"\n clearable\n density=\"default\"\n items={ displayItems.value }\n label={ t('$vuetify.dataTable.sortBy') }\n multiple={ props.multiSort }\n variant=\"underlined\"\n onClick:clear={ () => sortBy.value = [] }\n appendIcon={ appendIcon.value }\n onClick:append={ () => selectAll(!allSelected.value) }\n >\n {{\n ...slots,\n chip: props => (\n <VChip\n onClick={ props.item.raw?.sortable ? () => toggleSort(props.item.raw) : undefined }\n onMousedown={ (e: MouseEvent) => {\n e.preventDefault()\n e.stopPropagation()\n }}\n >\n { props.item.title }\n <VIcon\n class={[\n 'v-data-table__td-sort-icon',\n isSorted(props.item.raw) && 'v-data-table__td-sort-icon-active',\n ]}\n icon={ getSortIcon(props.item.raw) }\n size=\"small\"\n />\n </VChip>\n ),\n }}\n </VSelect>\n </div>\n </VDataTableColumn>\n )\n }\n\n useRender(() => {\n return mobile.value ? (\n <tr>\n <VDataTableMobileHeaderCell />\n </tr>\n ) : (\n <>\n { slots.headers\n ? slots.headers(slotProps.value)\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 <LoaderSlot\n name=\"v-data-table-progress\"\n absolute\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})\n\nexport type VDataTableHeaders = InstanceType<typeof VDataTableHeaders>\n"],"mappings":"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","ignoreList":[]}
@@ -1,11 +1,13 @@
1
- import { mergeProps as _mergeProps, createVNode as _createVNode } from "vue";
1
+ import { mergeProps as _mergeProps, Fragment as _Fragment, createVNode as _createVNode } from "vue";
2
2
  // Components
3
+ import { VDataTableColumn } from "./VDataTableColumn.mjs";
3
4
  import { VBtn } from "../VBtn/index.mjs";
4
5
  import { VCheckboxBtn } from "../VCheckbox/index.mjs"; // Composables
5
6
  import { useExpanded } from "./composables/expand.mjs";
6
7
  import { useHeaders } from "./composables/headers.mjs";
7
8
  import { useSelection } from "./composables/select.mjs";
8
- import { VDataTableColumn } from "./VDataTableColumn.mjs"; // Utilities
9
+ import { useSort } from "./composables/sort.mjs";
10
+ import { makeDisplayProps, useDisplay } from "../../composables/display.mjs"; // Utilities
9
11
  import { toDisplayString, withModifiers } from 'vue';
10
12
  import { EventProp, genericComponent, getObjectValueByPath, propsFactory, useRender } from "../../util/index.mjs"; // Types
11
13
  export const makeVDataTableRowProps = propsFactory({
@@ -14,7 +16,8 @@ export const makeVDataTableRowProps = propsFactory({
14
16
  cellProps: [Object, Function],
15
17
  onClick: EventProp(),
16
18
  onContextmenu: EventProp(),
17
- onDblclick: EventProp()
19
+ onDblclick: EventProp(),
20
+ ...makeDisplayProps()
18
21
  }, 'VDataTableRow');
19
22
  export const VDataTableRow = genericComponent()({
20
23
  name: 'VDataTableRow',
@@ -23,27 +26,40 @@ export const VDataTableRow = genericComponent()({
23
26
  let {
24
27
  slots
25
28
  } = _ref;
29
+ const {
30
+ displayClasses,
31
+ mobile
32
+ } = useDisplay(props, 'v-data-table__tr');
26
33
  const {
27
34
  isSelected,
28
- toggleSelect
35
+ toggleSelect,
36
+ someSelected,
37
+ allSelected,
38
+ selectAll
29
39
  } = useSelection();
30
40
  const {
31
41
  isExpanded,
32
42
  toggleExpand
33
43
  } = useExpanded();
44
+ const {
45
+ toggleSort,
46
+ sortBy,
47
+ isSorted
48
+ } = useSort();
34
49
  const {
35
50
  columns
36
51
  } = useHeaders();
37
52
  useRender(() => _createVNode("tr", {
38
53
  "class": ['v-data-table__tr', {
39
54
  'v-data-table__tr--clickable': !!(props.onClick || props.onContextmenu || props.onDblclick)
40
- }],
55
+ }, displayClasses.value],
41
56
  "onClick": props.onClick,
42
57
  "onContextmenu": props.onContextmenu,
43
58
  "onDblclick": props.onDblclick
44
59
  }, [props.item && columns.value.map((column, i) => {
45
60
  const item = props.item;
46
61
  const slotName = `item.${column.key}`;
62
+ const headerSlotName = `header.${column.key}`;
47
63
  const slotProps = {
48
64
  index: props.index,
49
65
  item: item.raw,
@@ -55,6 +71,16 @@ export const VDataTableRow = genericComponent()({
55
71
  isExpanded,
56
72
  toggleExpand
57
73
  };
74
+ const columnSlotProps = {
75
+ column,
76
+ selectAll,
77
+ isSorted,
78
+ toggleSort,
79
+ sortBy: sortBy.value,
80
+ someSelected: someSelected.value,
81
+ allSelected: allSelected.value,
82
+ getSortIcon: () => ''
83
+ };
58
84
  const cellProps = typeof props.cellProps === 'function' ? props.cellProps({
59
85
  index: slotProps.index,
60
86
  item: slotProps.item,
@@ -70,16 +96,20 @@ export const VDataTableRow = genericComponent()({
70
96
  }) : column.cellProps;
71
97
  return _createVNode(VDataTableColumn, _mergeProps({
72
98
  "align": column.align,
99
+ "class": {
100
+ 'v-data-table__td--expanded-row': column.key === 'data-table-expand',
101
+ 'v-data-table__td--select-row': column.key === 'data-table-select'
102
+ },
73
103
  "fixed": column.fixed,
74
104
  "fixedOffset": column.fixedOffset,
75
105
  "lastFixed": column.lastFixed,
106
+ "maxWidth": !mobile.value ? column.maxWidth : undefined,
76
107
  "noPadding": column.key === 'data-table-select' || column.key === 'data-table-expand',
77
- "width": column.width,
78
- "maxWidth": column.maxWidth,
79
- "nowrap": column.nowrap
108
+ "nowrap": column.nowrap,
109
+ "width": !mobile.value ? column.width : undefined
80
110
  }, cellProps, columnCellProps), {
81
111
  default: () => {
82
- if (slots[slotName]) return slots[slotName](slotProps);
112
+ if (slots[slotName] && !mobile.value) return slots[slotName]?.(slotProps);
83
113
  if (column.key === 'data-table-select') {
84
114
  return slots['item.data-table-select']?.(slotProps) ?? _createVNode(VCheckboxBtn, {
85
115
  "disabled": !item.selectable,
@@ -95,7 +125,12 @@ export const VDataTableRow = genericComponent()({
95
125
  "onClick": withModifiers(() => toggleExpand(item), ['stop'])
96
126
  }, null);
97
127
  }
98
- return toDisplayString(slotProps.value);
128
+ const displayValue = toDisplayString(slotProps.value);
129
+ return !mobile.value ? displayValue : _createVNode(_Fragment, null, [_createVNode("div", {
130
+ "class": "v-data-table__td-title"
131
+ }, [slots[headerSlotName]?.(columnSlotProps) ?? column.title]), _createVNode("div", {
132
+ "class": "v-data-table__td-value"
133
+ }, [slots[slotName]?.(slotProps) ?? displayValue])]);
99
134
  }
100
135
  });
101
136
  })]));
@@ -1 +1 @@
1
- {"version":3,"file":"VDataTableRow.mjs","names":["VBtn","VCheckboxBtn","useExpanded","useHeaders","useSelection","VDataTableColumn","toDisplayString","withModifiers","EventProp","genericComponent","getObjectValueByPath","propsFactory","useRender","makeVDataTableRowProps","index","Number","item","Object","cellProps","Function","onClick","onContextmenu","onDblclick","VDataTableRow","name","props","setup","_ref","slots","isSelected","toggleSelect","isExpanded","toggleExpand","columns","_createVNode","value","map","column","i","slotName","key","slotProps","raw","internalItem","columnCellProps","_mergeProps","align","fixed","fixedOffset","lastFixed","width","maxWidth","nowrap","default","selectable"],"sources":["../../../src/components/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 { toDisplayString, withModifiers } from 'vue'\nimport { EventProp, genericComponent, getObjectValueByPath, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { CellProps, DataTableItem, ItemKeySlot } from './types'\nimport type { GenericProps } from '@/util'\n\nexport type VDataTableRowSlots<T> = {\n 'item.data-table-select': Omit<ItemKeySlot<T>, 'value'>\n 'item.data-table-expand': Omit<ItemKeySlot<T>, 'value'>\n} & { [key: `item.${string}`]: ItemKeySlot<T> }\n\nexport const makeVDataTableRowProps = propsFactory({\n index: Number,\n item: Object as PropType<DataTableItem>,\n cellProps: [Object, Function] as PropType<CellProps<any>>,\n onClick: EventProp<[MouseEvent]>(),\n onContextmenu: EventProp<[MouseEvent]>(),\n onDblclick: EventProp<[MouseEvent]>(),\n}, 'VDataTableRow')\n\nexport const VDataTableRow = genericComponent<new <T>(\n props: {\n item?: DataTableItem<T>\n cellProps?: CellProps<T>\n },\n slots: VDataTableRowSlots<T>,\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VDataTableRow',\n\n props: makeVDataTableRowProps(),\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 'v-data-table__tr--clickable': !!(props.onClick || props.onContextmenu || props.onDblclick),\n },\n ]}\n onClick={ props.onClick as any }\n onContextmenu={ props.onContextmenu as any }\n onDblclick={ props.onDblclick as any }\n >\n { props.item && columns.value.map((column, i) => {\n const item = props.item!\n const slotName = `item.${column.key}` as const\n const slotProps = {\n index: props.index!,\n item: item.raw,\n internalItem: item,\n value: getObjectValueByPath(item.columns, column.key),\n column,\n isSelected,\n toggleSelect,\n isExpanded,\n toggleExpand,\n } satisfies ItemKeySlot<any>\n\n const cellProps = typeof props.cellProps === 'function'\n ? props.cellProps({\n index: slotProps.index,\n item: slotProps.item,\n internalItem: slotProps.internalItem,\n value: slotProps.value,\n column,\n })\n : props.cellProps\n const columnCellProps = typeof column.cellProps === 'function'\n ? column.cellProps({\n index: slotProps.index,\n item: slotProps.item,\n internalItem: slotProps.internalItem,\n value: slotProps.value,\n })\n : column.cellProps\n\n return (\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 maxWidth={ column.maxWidth }\n nowrap={ column.nowrap }\n { ...cellProps }\n { ...columnCellProps }\n >\n {{\n default: () => {\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 disabled={ !item.selectable }\n modelValue={ isSelected([item]) }\n onClick={ withModifiers(() => toggleSelect(item), ['stop']) }\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={ withModifiers(() => toggleExpand(item), ['stop']) }\n />\n )\n }\n\n return toDisplayString(slotProps.value)\n },\n }}\n </VDataTableColumn>\n )\n })}\n </tr>\n ))\n },\n})\n\nexport type VDataTableRow = InstanceType<typeof VDataTableRow>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VDataTableRow.mjs","names":["VDataTableColumn","VBtn","VCheckboxBtn","useExpanded","useHeaders","useSelection","useSort","makeDisplayProps","useDisplay","toDisplayString","withModifiers","EventProp","genericComponent","getObjectValueByPath","propsFactory","useRender","makeVDataTableRowProps","index","Number","item","Object","cellProps","Function","onClick","onContextmenu","onDblclick","VDataTableRow","name","props","setup","_ref","slots","displayClasses","mobile","isSelected","toggleSelect","someSelected","allSelected","selectAll","isExpanded","toggleExpand","toggleSort","sortBy","isSorted","columns","_createVNode","value","map","column","i","slotName","key","headerSlotName","slotProps","raw","internalItem","columnSlotProps","getSortIcon","columnCellProps","_mergeProps","align","fixed","fixedOffset","lastFixed","maxWidth","undefined","nowrap","width","default","selectable","displayValue","_Fragment","title"],"sources":["../../../src/components/VDataTable/VDataTableRow.tsx"],"sourcesContent":["// Components\nimport { VDataTableColumn } from './VDataTableColumn'\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 { useSort } from './composables/sort'\nimport { makeDisplayProps, useDisplay } from '@/composables/display'\n\n// Utilities\nimport { toDisplayString, withModifiers } from 'vue'\nimport { EventProp, genericComponent, getObjectValueByPath, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { CellProps, DataTableItem, ItemKeySlot } from './types'\nimport type { VDataTableHeaderCellColumnSlotProps } from './VDataTableHeaders'\nimport type { GenericProps } from '@/util'\n\nexport type VDataTableRowSlots<T> = {\n 'item.data-table-select': Omit<ItemKeySlot<T>, 'value'>\n 'item.data-table-expand': Omit<ItemKeySlot<T>, 'value'>\n 'header.data-table-select': VDataTableHeaderCellColumnSlotProps\n 'header.data-table-expand': VDataTableHeaderCellColumnSlotProps\n} & {\n [key: `item.${string}`]: ItemKeySlot<T>\n [key: `header.${string}`]: VDataTableHeaderCellColumnSlotProps\n}\n\nexport const makeVDataTableRowProps = propsFactory({\n index: Number,\n item: Object as PropType<DataTableItem>,\n cellProps: [Object, Function] as PropType<CellProps<any>>,\n onClick: EventProp<[MouseEvent]>(),\n onContextmenu: EventProp<[MouseEvent]>(),\n onDblclick: EventProp<[MouseEvent]>(),\n\n ...makeDisplayProps(),\n}, 'VDataTableRow')\n\nexport const VDataTableRow = genericComponent<new <T>(\n props: {\n item?: DataTableItem<T>\n cellProps?: CellProps<T>\n },\n slots: VDataTableRowSlots<T>,\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VDataTableRow',\n\n props: makeVDataTableRowProps(),\n\n setup (props, { slots }) {\n const { displayClasses, mobile } = useDisplay(props, 'v-data-table__tr')\n const { isSelected, toggleSelect, someSelected, allSelected, selectAll } = useSelection()\n const { isExpanded, toggleExpand } = useExpanded()\n const { toggleSort, sortBy, isSorted } = useSort()\n const { columns } = useHeaders()\n\n useRender(() => (\n <tr\n class={[\n 'v-data-table__tr',\n {\n 'v-data-table__tr--clickable': !!(props.onClick || props.onContextmenu || props.onDblclick),\n },\n displayClasses.value,\n ]}\n onClick={ props.onClick as any }\n onContextmenu={ props.onContextmenu as any }\n onDblclick={ props.onDblclick as any }\n >\n { props.item && columns.value.map((column, i) => {\n const item = props.item!\n const slotName = `item.${column.key}` as const\n const headerSlotName = `header.${column.key}` as const\n const slotProps = {\n index: props.index!,\n item: item.raw,\n internalItem: item,\n value: getObjectValueByPath(item.columns, column.key),\n column,\n isSelected,\n toggleSelect,\n isExpanded,\n toggleExpand,\n } satisfies ItemKeySlot<any>\n\n const columnSlotProps: VDataTableHeaderCellColumnSlotProps = {\n column,\n selectAll,\n isSorted,\n toggleSort,\n sortBy: sortBy.value,\n someSelected: someSelected.value,\n allSelected: allSelected.value,\n getSortIcon: () => '',\n }\n\n const cellProps = typeof props.cellProps === 'function'\n ? props.cellProps({\n index: slotProps.index,\n item: slotProps.item,\n internalItem: slotProps.internalItem,\n value: slotProps.value,\n column,\n })\n : props.cellProps\n const columnCellProps = typeof column.cellProps === 'function'\n ? column.cellProps({\n index: slotProps.index,\n item: slotProps.item,\n internalItem: slotProps.internalItem,\n value: slotProps.value,\n })\n : column.cellProps\n\n return (\n <VDataTableColumn\n align={ column.align }\n class={{\n 'v-data-table__td--expanded-row': column.key === 'data-table-expand',\n 'v-data-table__td--select-row': column.key === 'data-table-select',\n }}\n fixed={ column.fixed }\n fixedOffset={ column.fixedOffset }\n lastFixed={ column.lastFixed }\n maxWidth={ !mobile.value ? column.maxWidth : undefined }\n noPadding={ column.key === 'data-table-select' || column.key === 'data-table-expand' }\n nowrap={ column.nowrap }\n width={ !mobile.value ? column.width : undefined }\n { ...cellProps }\n { ...columnCellProps }\n >\n {{\n default: () => {\n if (slots[slotName] && !mobile.value) return slots[slotName]?.(slotProps)\n\n if (column.key === 'data-table-select') {\n return slots['item.data-table-select']?.(slotProps) ?? (\n <VCheckboxBtn\n disabled={ !item.selectable }\n modelValue={ isSelected([item]) }\n onClick={ withModifiers(() => toggleSelect(item), ['stop']) }\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={ withModifiers(() => toggleExpand(item), ['stop']) }\n />\n )\n }\n\n const displayValue = toDisplayString(slotProps.value)\n\n return !mobile.value ? displayValue : (\n <>\n <div class=\"v-data-table__td-title\">\n { slots[headerSlotName]?.(columnSlotProps) ?? column.title }\n </div>\n\n <div class=\"v-data-table__td-value\">\n { slots[slotName]?.(slotProps) ?? displayValue }\n </div>\n </>\n )\n },\n }}\n </VDataTableColumn>\n )\n })}\n </tr>\n ))\n },\n})\n\nexport type VDataTableRow = InstanceType<typeof VDataTableRow>\n"],"mappings":"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","ignoreList":[]}
@@ -6,6 +6,7 @@ import { useExpanded } from "./composables/expand.mjs";
6
6
  import { useGroupBy } from "./composables/group.mjs";
7
7
  import { useHeaders } from "./composables/headers.mjs";
8
8
  import { useSelection } from "./composables/select.mjs";
9
+ import { makeDisplayProps, useDisplay } from "../../composables/display.mjs";
9
10
  import { useLocale } from "../../composables/locale.mjs"; // Utilities
10
11
  import { Fragment, mergeProps } from 'vue';
11
12
  import { genericComponent, getPrefixedEventHandlers, propsFactory, useRender } from "../../util/index.mjs"; // Types
@@ -25,7 +26,8 @@ export const makeVDataTableRowsProps = propsFactory({
25
26
  default: '$vuetify.noDataText'
26
27
  },
27
28
  rowProps: [Object, Function],
28
- cellProps: [Object, Function]
29
+ cellProps: [Object, Function],
30
+ ...makeDisplayProps()
29
31
  }, 'VDataTableRows');
30
32
  export const VDataTableRows = genericComponent()({
31
33
  name: 'VDataTableRows',
@@ -55,6 +57,9 @@ export const VDataTableRows = genericComponent()({
55
57
  const {
56
58
  t
57
59
  } = useLocale();
60
+ const {
61
+ mobile
62
+ } = useDisplay(props);
58
63
  useRender(() => {
59
64
  if (props.loading && (!props.items.length || slots.loading)) {
60
65
  return _createVNode("tr", {
@@ -109,7 +114,8 @@ export const VDataTableRows = genericComponent()({
109
114
  } : undefined,
110
115
  index,
111
116
  item,
112
- cellProps: props.cellProps
117
+ cellProps: props.cellProps,
118
+ mobile: mobile.value
113
119
  }, getPrefixedEventHandlers(attrs, ':row', () => slotProps), typeof props.rowProps === 'function' ? props.rowProps({
114
120
  item: slotProps.item,
115
121
  index: slotProps.index,
@@ -1 +1 @@
1
- {"version":3,"file":"VDataTableRows.mjs","names":["VDataTableGroupHeaderRow","VDataTableRow","useExpanded","useGroupBy","useHeaders","useSelection","useLocale","Fragment","mergeProps","genericComponent","getPrefixedEventHandlers","propsFactory","useRender","makeVDataTableRowsProps","loading","Boolean","String","loadingText","type","default","hideNoData","items","Array","noDataText","rowProps","Object","Function","cellProps","VDataTableRows","name","inheritAttrs","props","setup","_ref","attrs","slots","columns","expandOnClick","toggleExpand","isExpanded","isSelected","toggleSelect","toggleGroup","isGroupOpen","t","length","_createVNode","value","_Fragment","map","item","index","slotProps","_mergeProps","id","raw","internalItem","itemSlotProps","key","onClick","undefined"],"sources":["../../../src/components/VDataTable/VDataTableRows.tsx"],"sourcesContent":["// Components\nimport { VDataTableGroupHeaderRow } from './VDataTableGroupHeaderRow'\nimport { VDataTableRow } from './VDataTableRow'\n\n// Composables\nimport { useExpanded } from './composables/expand'\nimport { useGroupBy } from './composables/group'\nimport { useHeaders } from './composables/headers'\nimport { useSelection } from './composables/select'\nimport { useLocale } from '@/composables/locale'\n\n// Utilities\nimport { Fragment, mergeProps } from 'vue'\nimport { genericComponent, getPrefixedEventHandlers, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { Group } from './composables/group'\nimport type { CellProps, DataTableItem, GroupHeaderSlot, ItemSlot, RowProps } from './types'\nimport type { VDataTableGroupHeaderRowSlots } from './VDataTableGroupHeaderRow'\nimport type { VDataTableRowSlots } from './VDataTableRow'\nimport type { GenericProps } from '@/util'\n\nexport type VDataTableRowsSlots<T> = VDataTableGroupHeaderRowSlots & VDataTableRowSlots<T> & {\n item: ItemSlot<T> & { props: Record<string, any> }\n loading: never\n 'group-header': GroupHeaderSlot\n 'no-data': never\n 'expanded-row': ItemSlot<T>\n}\n\nexport const makeVDataTableRowsProps = propsFactory({\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<readonly (DataTableItem | Group)[]>,\n default: () => ([]),\n },\n noDataText: {\n type: String,\n default: '$vuetify.noDataText',\n },\n rowProps: [Object, Function] as PropType<RowProps<any>>,\n cellProps: [Object, Function] as PropType<CellProps<any>>,\n}, 'VDataTableRows')\n\nexport const VDataTableRows = genericComponent<new <T>(\n props: {\n items?: readonly (DataTableItem<T> | Group<T>)[]\n },\n slots: VDataTableRowsSlots<T>,\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VDataTableRows',\n\n inheritAttrs: false,\n\n props: makeVDataTableRowsProps(),\n\n setup (props, { attrs, 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 if (props.loading && (!props.items.length || slots.loading)) {\n return (\n <tr\n class=\"v-data-table-rows-loading\"\n key=\"loading\"\n >\n <td colspan={ columns.value.length }>\n { slots.loading?.() ?? t(props.loadingText) }\n </td>\n </tr>\n )\n }\n\n if (!props.loading && !props.items.length && !props.hideNoData) {\n return (\n <tr\n class=\"v-data-table-rows-no-data\"\n key=\"no-data\"\n >\n <td colspan={ columns.value.length }>\n { slots['no-data']?.() ?? t(props.noDataText) }\n </td>\n </tr>\n )\n }\n\n return (\n <>\n { props.items.map((item, index) => {\n if (item.type === 'group') {\n const slotProps = {\n index,\n item,\n columns: columns.value,\n isExpanded,\n toggleExpand,\n isSelected,\n toggleSelect,\n toggleGroup,\n isGroupOpen,\n } satisfies GroupHeaderSlot\n\n return slots['group-header'] ? slots['group-header'](slotProps) : (\n <VDataTableGroupHeaderRow\n key={ `group-header_${item.id}` }\n item={ item }\n { ...getPrefixedEventHandlers(attrs, ':group-header', () => slotProps) }\n v-slots={ slots }\n />\n )\n }\n\n const slotProps = {\n index,\n item: item.raw,\n internalItem: item,\n columns: columns.value,\n isExpanded,\n toggleExpand,\n isSelected,\n toggleSelect,\n } satisfies ItemSlot<any>\n\n const itemSlotProps = {\n ...slotProps,\n props: mergeProps(\n {\n key: `item_${item.key ?? item.index}`,\n onClick: expandOnClick.value ? () => {\n toggleExpand(item)\n } : undefined,\n index,\n item,\n cellProps: props.cellProps,\n },\n getPrefixedEventHandlers(attrs, ':row', () => slotProps),\n typeof props.rowProps === 'function'\n ? props.rowProps({\n item: slotProps.item,\n index: slotProps.index,\n internalItem: slotProps.internalItem,\n })\n : props.rowProps,\n ),\n }\n\n return (\n <Fragment key={ itemSlotProps.props.key as string }>\n { slots.item ? slots.item(itemSlotProps) : (\n <VDataTableRow\n { ...itemSlotProps.props }\n v-slots={ slots }\n />\n )}\n\n { isExpanded(item) && slots['expanded-row']?.(slotProps) }\n </Fragment>\n )\n })}\n </>\n )\n })\n\n return {}\n },\n})\n\nexport type VDataTableRows = InstanceType<typeof VDataTableRows>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VDataTableRows.mjs","names":["VDataTableGroupHeaderRow","VDataTableRow","useExpanded","useGroupBy","useHeaders","useSelection","makeDisplayProps","useDisplay","useLocale","Fragment","mergeProps","genericComponent","getPrefixedEventHandlers","propsFactory","useRender","makeVDataTableRowsProps","loading","Boolean","String","loadingText","type","default","hideNoData","items","Array","noDataText","rowProps","Object","Function","cellProps","VDataTableRows","name","inheritAttrs","props","setup","_ref","attrs","slots","columns","expandOnClick","toggleExpand","isExpanded","isSelected","toggleSelect","toggleGroup","isGroupOpen","t","mobile","length","_createVNode","value","_Fragment","map","item","index","slotProps","_mergeProps","id","raw","internalItem","itemSlotProps","key","onClick","undefined"],"sources":["../../../src/components/VDataTable/VDataTableRows.tsx"],"sourcesContent":["// Components\nimport { VDataTableGroupHeaderRow } from './VDataTableGroupHeaderRow'\nimport { VDataTableRow } from './VDataTableRow'\n\n// Composables\nimport { useExpanded } from './composables/expand'\nimport { useGroupBy } from './composables/group'\nimport { useHeaders } from './composables/headers'\nimport { useSelection } from './composables/select'\nimport { makeDisplayProps, useDisplay } from '@/composables/display'\nimport { useLocale } from '@/composables/locale'\n\n// Utilities\nimport { Fragment, mergeProps } from 'vue'\nimport { genericComponent, getPrefixedEventHandlers, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { Group } from './composables/group'\nimport type { CellProps, DataTableItem, GroupHeaderSlot, ItemSlot, RowProps } from './types'\nimport type { VDataTableGroupHeaderRowSlots } from './VDataTableGroupHeaderRow'\nimport type { VDataTableRowSlots } from './VDataTableRow'\nimport type { GenericProps } from '@/util'\n\nexport type VDataTableRowsSlots<T> = VDataTableGroupHeaderRowSlots & VDataTableRowSlots<T> & {\n item: ItemSlot<T> & { props: Record<string, any> }\n loading: never\n 'group-header': GroupHeaderSlot\n 'no-data': never\n 'expanded-row': ItemSlot<T>\n}\n\nexport const makeVDataTableRowsProps = propsFactory({\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<readonly (DataTableItem | Group)[]>,\n default: () => ([]),\n },\n noDataText: {\n type: String,\n default: '$vuetify.noDataText',\n },\n rowProps: [Object, Function] as PropType<RowProps<any>>,\n cellProps: [Object, Function] as PropType<CellProps<any>>,\n\n ...makeDisplayProps(),\n}, 'VDataTableRows')\n\nexport const VDataTableRows = genericComponent<new <T>(\n props: {\n items?: readonly (DataTableItem<T> | Group<T>)[]\n },\n slots: VDataTableRowsSlots<T>,\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VDataTableRows',\n\n inheritAttrs: false,\n\n props: makeVDataTableRowsProps(),\n\n setup (props, { attrs, 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 const { mobile } = useDisplay(props)\n\n useRender(() => {\n if (props.loading && (!props.items.length || slots.loading)) {\n return (\n <tr\n class=\"v-data-table-rows-loading\"\n key=\"loading\"\n >\n <td colspan={ columns.value.length }>\n { slots.loading?.() ?? t(props.loadingText) }\n </td>\n </tr>\n )\n }\n\n if (!props.loading && !props.items.length && !props.hideNoData) {\n return (\n <tr\n class=\"v-data-table-rows-no-data\"\n key=\"no-data\"\n >\n <td colspan={ columns.value.length }>\n { slots['no-data']?.() ?? t(props.noDataText) }\n </td>\n </tr>\n )\n }\n\n return (\n <>\n { props.items.map((item, index) => {\n if (item.type === 'group') {\n const slotProps = {\n index,\n item,\n columns: columns.value,\n isExpanded,\n toggleExpand,\n isSelected,\n toggleSelect,\n toggleGroup,\n isGroupOpen,\n } satisfies GroupHeaderSlot\n\n return slots['group-header'] ? slots['group-header'](slotProps) : (\n <VDataTableGroupHeaderRow\n key={ `group-header_${item.id}` }\n item={ item }\n { ...getPrefixedEventHandlers(attrs, ':group-header', () => slotProps) }\n v-slots={ slots }\n />\n )\n }\n\n const slotProps = {\n index,\n item: item.raw,\n internalItem: item,\n columns: columns.value,\n isExpanded,\n toggleExpand,\n isSelected,\n toggleSelect,\n } satisfies ItemSlot<any>\n\n const itemSlotProps = {\n ...slotProps,\n props: mergeProps(\n {\n key: `item_${item.key ?? item.index}`,\n onClick: expandOnClick.value ? () => {\n toggleExpand(item)\n } : undefined,\n index,\n item,\n cellProps: props.cellProps,\n mobile: mobile.value,\n },\n getPrefixedEventHandlers(attrs, ':row', () => slotProps),\n typeof props.rowProps === 'function'\n ? props.rowProps({\n item: slotProps.item,\n index: slotProps.index,\n internalItem: slotProps.internalItem,\n })\n : props.rowProps,\n ),\n }\n\n return (\n <Fragment key={ itemSlotProps.props.key as string }>\n { slots.item ? slots.item(itemSlotProps) : (\n <VDataTableRow\n { ...itemSlotProps.props }\n v-slots={ slots }\n />\n )}\n\n { isExpanded(item) && slots['expanded-row']?.(slotProps) }\n </Fragment>\n )\n })}\n </>\n )\n })\n\n return {}\n },\n})\n\nexport type VDataTableRows = InstanceType<typeof VDataTableRows>\n"],"mappings":"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","ignoreList":[]}
@@ -1,11 +1,17 @@
1
1
  @use '../../styles/settings';
2
2
  @use '../../styles/tools';
3
3
 
4
+ $data-table-header-sort-badge-size: 20px !default;
5
+ $data-table-header-sort-badge-color: rgba(var(--v-border-color), var(--v-border-opacity)) !default;
6
+
7
+ $data-table-loading-opacity: var(--v-disabled-opacity) !default;
8
+
4
9
  $data-table-footer-info-min-width: 116px !default;
5
10
  $data-table-footer-info-padding: 0 16px !default;
6
- $data-table-footer-padding: 4px !default;
11
+ $data-table-footer-padding: 8px 4px !default;
7
12
  $data-table-footer-pagination-margin-inline-start: 16px !default;
8
13
  $data-table-footer-select-width: 90px !default;
9
14
  $data-table-footer-items-per-page-padding: 8px !default;
10
- $data-table-header-sort-badge-size: 20px !default;
11
- $data-table-header-sort-badge-color: rgba(var(--v-border-color), var(--v-border-opacity)) !default;
15
+
16
+ $data-table-header-mobile-chip-icon-color: rgba(var(--v-theme-on-surface), var(--v-disabled-opacity)) !default;
17
+ $data-table-header-mobile-chip-icon-color-active: rgba(var(--v-theme-on-surface)) !default;