vuetify 3.5.14 → 3.5.16

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 (623) hide show
  1. package/dist/json/attributes.json +1 -5
  2. package/dist/json/importMap-labs.json +4 -4
  3. package/dist/json/importMap.json +108 -108
  4. package/dist/json/tags.json +0 -1
  5. package/dist/json/web-types.json +80 -19
  6. package/dist/vuetify-labs.css +2003 -1925
  7. package/dist/vuetify-labs.d.ts +10752 -10485
  8. package/dist/vuetify-labs.esm.js +180 -155
  9. package/dist/vuetify-labs.esm.js.map +1 -1
  10. package/dist/vuetify-labs.js +180 -155
  11. package/dist/vuetify-labs.min.css +3 -3
  12. package/dist/vuetify.css +2306 -2272
  13. package/dist/vuetify.d.ts +9316 -9253
  14. package/dist/vuetify.esm.js +127 -127
  15. package/dist/vuetify.esm.js.map +1 -1
  16. package/dist/vuetify.js +127 -127
  17. package/dist/vuetify.js.map +1 -1
  18. package/dist/vuetify.min.css +3 -3
  19. package/dist/vuetify.min.js +1083 -1086
  20. package/dist/vuetify.min.js.map +1 -1
  21. package/lib/blueprints/index.mjs.map +1 -1
  22. package/lib/blueprints/md1.mjs.map +1 -1
  23. package/lib/blueprints/md2.mjs.map +1 -1
  24. package/lib/blueprints/md3.mjs.map +1 -1
  25. package/lib/components/VAlert/VAlert.mjs.map +1 -1
  26. package/lib/components/VAlert/VAlertTitle.mjs.map +1 -1
  27. package/lib/components/VAlert/index.d.mts +55 -55
  28. package/lib/components/VAlert/index.mjs.map +1 -1
  29. package/lib/components/VApp/VApp.mjs.map +1 -1
  30. package/lib/components/VApp/index.mjs.map +1 -1
  31. package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
  32. package/lib/components/VAppBar/VAppBarNavIcon.mjs.map +1 -1
  33. package/lib/components/VAppBar/VAppBarTitle.mjs.map +1 -1
  34. package/lib/components/VAppBar/index.d.mts +162 -162
  35. package/lib/components/VAppBar/index.mjs.map +1 -1
  36. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  37. package/lib/components/VAutocomplete/index.d.mts +609 -609
  38. package/lib/components/VAutocomplete/index.mjs.map +1 -1
  39. package/lib/components/VAvatar/VAvatar.mjs.map +1 -1
  40. package/lib/components/VAvatar/index.d.mts +30 -30
  41. package/lib/components/VAvatar/index.mjs.map +1 -1
  42. package/lib/components/VBadge/VBadge.mjs.map +1 -1
  43. package/lib/components/VBadge/index.d.mts +58 -58
  44. package/lib/components/VBadge/index.mjs.map +1 -1
  45. package/lib/components/VBanner/VBanner.mjs.map +1 -1
  46. package/lib/components/VBanner/VBannerActions.mjs.map +1 -1
  47. package/lib/components/VBanner/VBannerText.mjs.map +1 -1
  48. package/lib/components/VBanner/index.d.mts +50 -50
  49. package/lib/components/VBanner/index.mjs.map +1 -1
  50. package/lib/components/VBottomNavigation/VBottomNavigation.css +1 -1
  51. package/lib/components/VBottomNavigation/VBottomNavigation.mjs.map +1 -1
  52. package/lib/components/VBottomNavigation/_variables.scss +1 -1
  53. package/lib/components/VBottomNavigation/index.d.mts +60 -60
  54. package/lib/components/VBottomNavigation/index.mjs.map +1 -1
  55. package/lib/components/VBottomSheet/VBottomSheet.mjs.map +1 -1
  56. package/lib/components/VBottomSheet/index.d.mts +125 -125
  57. package/lib/components/VBottomSheet/index.mjs.map +1 -1
  58. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs.map +1 -1
  59. package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.mjs.map +1 -1
  60. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs.map +1 -1
  61. package/lib/components/VBreadcrumbs/index.d.mts +34 -34
  62. package/lib/components/VBreadcrumbs/index.mjs.map +1 -1
  63. package/lib/components/VBtn/VBtn.css +4 -0
  64. package/lib/components/VBtn/VBtn.mjs +6 -8
  65. package/lib/components/VBtn/VBtn.mjs.map +1 -1
  66. package/lib/components/VBtn/VBtn.sass +4 -0
  67. package/lib/components/VBtn/_variables.scss +1 -0
  68. package/lib/components/VBtn/index.d.mts +100 -100
  69. package/lib/components/VBtn/index.mjs.map +1 -1
  70. package/lib/components/VBtnGroup/VBtnGroup.mjs.map +1 -1
  71. package/lib/components/VBtnGroup/index.d.mts +23 -23
  72. package/lib/components/VBtnGroup/index.mjs.map +1 -1
  73. package/lib/components/VBtnToggle/VBtnToggle.mjs.map +1 -1
  74. package/lib/components/VBtnToggle/index.d.mts +40 -40
  75. package/lib/components/VBtnToggle/index.mjs.map +1 -1
  76. package/lib/components/VCard/VCard.mjs.map +1 -1
  77. package/lib/components/VCard/VCardActions.mjs.map +1 -1
  78. package/lib/components/VCard/VCardItem.mjs.map +1 -1
  79. package/lib/components/VCard/VCardSubtitle.mjs.map +1 -1
  80. package/lib/components/VCard/VCardText.mjs.map +1 -1
  81. package/lib/components/VCard/VCardTitle.mjs.map +1 -1
  82. package/lib/components/VCard/index.d.mts +85 -85
  83. package/lib/components/VCard/index.mjs.map +1 -1
  84. package/lib/components/VCarousel/VCarousel.mjs.map +1 -1
  85. package/lib/components/VCarousel/VCarouselItem.mjs.map +1 -1
  86. package/lib/components/VCarousel/index.d.mts +121 -121
  87. package/lib/components/VCarousel/index.mjs.map +1 -1
  88. package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
  89. package/lib/components/VCheckbox/VCheckboxBtn.mjs.map +1 -1
  90. package/lib/components/VCheckbox/index.d.mts +154 -154
  91. package/lib/components/VCheckbox/index.mjs.map +1 -1
  92. package/lib/components/VChip/VChip.mjs.map +1 -1
  93. package/lib/components/VChip/index.d.mts +86 -86
  94. package/lib/components/VChip/index.mjs.map +1 -1
  95. package/lib/components/VChipGroup/VChipGroup.mjs.map +1 -1
  96. package/lib/components/VChipGroup/index.d.mts +37 -37
  97. package/lib/components/VChipGroup/index.mjs.map +1 -1
  98. package/lib/components/VCode/index.mjs.map +1 -1
  99. package/lib/components/VColorPicker/VColorPicker.mjs.map +1 -1
  100. package/lib/components/VColorPicker/VColorPickerCanvas.mjs.map +1 -1
  101. package/lib/components/VColorPicker/VColorPickerEdit.mjs.map +1 -1
  102. package/lib/components/VColorPicker/VColorPickerPreview.mjs.map +1 -1
  103. package/lib/components/VColorPicker/VColorPickerSwatches.mjs.map +1 -1
  104. package/lib/components/VColorPicker/index.d.mts +96 -96
  105. package/lib/components/VColorPicker/index.mjs.map +1 -1
  106. package/lib/components/VColorPicker/util/index.mjs.map +1 -1
  107. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  108. package/lib/components/VCombobox/index.d.mts +609 -609
  109. package/lib/components/VCombobox/index.mjs.map +1 -1
  110. package/lib/components/VCounter/VCounter.mjs.map +1 -1
  111. package/lib/components/VCounter/index.d.mts +20 -20
  112. package/lib/components/VCounter/index.mjs.map +1 -1
  113. package/lib/components/VDataIterator/VDataIterator.mjs.map +1 -1
  114. package/lib/components/VDataIterator/composables/items.mjs.map +1 -1
  115. package/lib/components/VDataIterator/index.d.mts +35 -35
  116. package/lib/components/VDataIterator/index.mjs.map +1 -1
  117. package/lib/components/VDataTable/VDataTable.mjs.map +1 -1
  118. package/lib/components/VDataTable/VDataTableColumn.mjs.map +1 -1
  119. package/lib/components/VDataTable/VDataTableFooter.mjs.map +1 -1
  120. package/lib/components/VDataTable/VDataTableGroupHeaderRow.mjs.map +1 -1
  121. package/lib/components/VDataTable/VDataTableHeaders.mjs.map +1 -1
  122. package/lib/components/VDataTable/VDataTableRow.mjs.map +1 -1
  123. package/lib/components/VDataTable/VDataTableRows.mjs.map +1 -1
  124. package/lib/components/VDataTable/VDataTableServer.mjs.map +1 -1
  125. package/lib/components/VDataTable/VDataTableVirtual.mjs.map +1 -1
  126. package/lib/components/VDataTable/composables/expand.mjs.map +1 -1
  127. package/lib/components/VDataTable/composables/group.mjs.map +1 -1
  128. package/lib/components/VDataTable/composables/headers.mjs.map +1 -1
  129. package/lib/components/VDataTable/composables/items.mjs.map +1 -1
  130. package/lib/components/VDataTable/composables/options.mjs +1 -1
  131. package/lib/components/VDataTable/composables/options.mjs.map +1 -1
  132. package/lib/components/VDataTable/composables/paginate.mjs.map +1 -1
  133. package/lib/components/VDataTable/composables/select.mjs.map +1 -1
  134. package/lib/components/VDataTable/composables/sort.mjs +8 -4
  135. package/lib/components/VDataTable/composables/sort.mjs.map +1 -1
  136. package/lib/components/VDataTable/index.d.mts +217 -217
  137. package/lib/components/VDataTable/index.mjs.map +1 -1
  138. package/lib/components/VDataTable/types.mjs.map +1 -1
  139. package/lib/components/VDatePicker/VDatePicker.mjs.map +1 -1
  140. package/lib/components/VDatePicker/VDatePickerControls.mjs.map +1 -1
  141. package/lib/components/VDatePicker/VDatePickerHeader.mjs.map +1 -1
  142. package/lib/components/VDatePicker/VDatePickerMonth.mjs.map +1 -1
  143. package/lib/components/VDatePicker/VDatePickerMonths.mjs.map +1 -1
  144. package/lib/components/VDatePicker/VDatePickerYears.mjs.map +1 -1
  145. package/lib/components/VDatePicker/index.d.mts +110 -110
  146. package/lib/components/VDatePicker/index.mjs.map +1 -1
  147. package/lib/components/VDatePicker/util/createNativeLocaleFormatter.mjs.map +1 -1
  148. package/lib/components/VDatePicker/util/eventHelpers.mjs.map +1 -1
  149. package/lib/components/VDatePicker/util/index.mjs.map +1 -1
  150. package/lib/components/VDatePicker/util/isDateAllowed.mjs.map +1 -1
  151. package/lib/components/VDatePicker/util/monthChange.mjs.map +1 -1
  152. package/lib/components/VDatePicker/util/pad.mjs.map +1 -1
  153. package/lib/components/VDatePicker/util/sanitizeDateString.mjs.map +1 -1
  154. package/lib/components/VDefaultsProvider/VDefaultsProvider.mjs.map +1 -1
  155. package/lib/components/VDefaultsProvider/index.mjs.map +1 -1
  156. package/lib/components/VDialog/VDialog.mjs +23 -13
  157. package/lib/components/VDialog/VDialog.mjs.map +1 -1
  158. package/lib/components/VDialog/index.d.mts +404 -377
  159. package/lib/components/VDialog/index.mjs.map +1 -1
  160. package/lib/components/VDivider/VDivider.mjs.map +1 -1
  161. package/lib/components/VDivider/index.d.mts +11 -11
  162. package/lib/components/VDivider/index.mjs.map +1 -1
  163. package/lib/components/VExpansionPanel/VExpansionPanel.mjs.map +1 -1
  164. package/lib/components/VExpansionPanel/VExpansionPanelText.mjs.map +1 -1
  165. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs.map +1 -1
  166. package/lib/components/VExpansionPanel/VExpansionPanels.mjs.map +1 -1
  167. package/lib/components/VExpansionPanel/index.d.mts +111 -111
  168. package/lib/components/VExpansionPanel/index.mjs.map +1 -1
  169. package/lib/components/VField/VField.mjs.map +1 -1
  170. package/lib/components/VField/VFieldLabel.mjs.map +1 -1
  171. package/lib/components/VField/index.d.mts +46 -46
  172. package/lib/components/VField/index.mjs.map +1 -1
  173. package/lib/components/VFileInput/VFileInput.mjs +2 -4
  174. package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
  175. package/lib/components/VFileInput/index.d.mts +199 -199
  176. package/lib/components/VFileInput/index.mjs.map +1 -1
  177. package/lib/components/VFooter/VFooter.mjs.map +1 -1
  178. package/lib/components/VFooter/index.d.mts +50 -50
  179. package/lib/components/VFooter/index.mjs.map +1 -1
  180. package/lib/components/VForm/VForm.mjs.map +1 -1
  181. package/lib/components/VForm/index.d.mts +9 -9
  182. package/lib/components/VForm/index.mjs.map +1 -1
  183. package/lib/components/VGrid/VCol.mjs.map +1 -1
  184. package/lib/components/VGrid/VContainer.mjs.map +1 -1
  185. package/lib/components/VGrid/VRow.mjs.map +1 -1
  186. package/lib/components/VGrid/VSpacer.mjs.map +1 -1
  187. package/lib/components/VGrid/index.d.mts +142 -142
  188. package/lib/components/VGrid/index.mjs.map +1 -1
  189. package/lib/components/VHover/VHover.mjs.map +1 -1
  190. package/lib/components/VHover/index.mjs.map +1 -1
  191. package/lib/components/VIcon/VIcon.mjs.map +1 -1
  192. package/lib/components/VIcon/index.d.mts +24 -24
  193. package/lib/components/VIcon/index.mjs.map +1 -1
  194. package/lib/components/VImg/VImg.mjs.map +1 -1
  195. package/lib/components/VImg/index.d.mts +92 -92
  196. package/lib/components/VImg/index.mjs.map +1 -1
  197. package/lib/components/VInfiniteScroll/VInfiniteScroll.mjs.map +1 -1
  198. package/lib/components/VInfiniteScroll/index.d.mts +22 -22
  199. package/lib/components/VInfiniteScroll/index.mjs.map +1 -1
  200. package/lib/components/VInput/InputIcon.mjs.map +1 -1
  201. package/lib/components/VInput/VInput.mjs.map +1 -1
  202. package/lib/components/VInput/index.d.mts +41 -41
  203. package/lib/components/VInput/index.mjs.map +1 -1
  204. package/lib/components/VItemGroup/VItem.mjs.map +1 -1
  205. package/lib/components/VItemGroup/VItemGroup.mjs.map +1 -1
  206. package/lib/components/VItemGroup/index.d.mts +17 -17
  207. package/lib/components/VItemGroup/index.mjs.map +1 -1
  208. package/lib/components/VKbd/index.mjs.map +1 -1
  209. package/lib/components/VLabel/VLabel.mjs.map +1 -1
  210. package/lib/components/VLabel/index.d.mts +8 -8
  211. package/lib/components/VLabel/index.mjs.map +1 -1
  212. package/lib/components/VLayout/VLayout.mjs.map +1 -1
  213. package/lib/components/VLayout/VLayoutItem.mjs.map +1 -1
  214. package/lib/components/VLayout/index.d.mts +24 -24
  215. package/lib/components/VLayout/index.mjs.map +1 -1
  216. package/lib/components/VLazy/VLazy.mjs.map +1 -1
  217. package/lib/components/VLazy/index.d.mts +31 -31
  218. package/lib/components/VLazy/index.mjs.map +1 -1
  219. package/lib/components/VList/VList.mjs.map +1 -1
  220. package/lib/components/VList/VListChildren.mjs.map +1 -1
  221. package/lib/components/VList/VListGroup.mjs.map +1 -1
  222. package/lib/components/VList/VListImg.mjs.map +1 -1
  223. package/lib/components/VList/VListItem.mjs.map +1 -1
  224. package/lib/components/VList/VListItemAction.mjs.map +1 -1
  225. package/lib/components/VList/VListItemMedia.mjs.map +1 -1
  226. package/lib/components/VList/VListItemSubtitle.mjs.map +1 -1
  227. package/lib/components/VList/VListItemTitle.mjs.map +1 -1
  228. package/lib/components/VList/VListSubheader.mjs.map +1 -1
  229. package/lib/components/VList/index.d.mts +172 -172
  230. package/lib/components/VList/index.mjs.map +1 -1
  231. package/lib/components/VList/list.mjs.map +1 -1
  232. package/lib/components/VLocaleProvider/VLocaleProvider.mjs.map +1 -1
  233. package/lib/components/VLocaleProvider/index.d.mts +7 -7
  234. package/lib/components/VLocaleProvider/index.mjs.map +1 -1
  235. package/lib/components/VMain/VMain.mjs.map +1 -1
  236. package/lib/components/VMain/index.d.mts +2 -2
  237. package/lib/components/VMain/index.mjs.map +1 -1
  238. package/lib/components/VMenu/VMenu.mjs +2 -1
  239. package/lib/components/VMenu/VMenu.mjs.map +1 -1
  240. package/lib/components/VMenu/index.d.mts +438 -423
  241. package/lib/components/VMenu/index.mjs.map +1 -1
  242. package/lib/components/VMenu/shared.mjs.map +1 -1
  243. package/lib/components/VMessages/VMessages.mjs.map +1 -1
  244. package/lib/components/VMessages/index.d.mts +20 -20
  245. package/lib/components/VMessages/index.mjs.map +1 -1
  246. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
  247. package/lib/components/VNavigationDrawer/index.d.mts +63 -63
  248. package/lib/components/VNavigationDrawer/index.mjs.map +1 -1
  249. package/lib/components/VNavigationDrawer/sticky.mjs.map +1 -1
  250. package/lib/components/VNavigationDrawer/touch.mjs.map +1 -1
  251. package/lib/components/VNoSsr/VNoSsr.mjs.map +1 -1
  252. package/lib/components/VNoSsr/index.mjs.map +1 -1
  253. package/lib/components/VOtpInput/VOtpInput.mjs.map +1 -1
  254. package/lib/components/VOtpInput/index.d.mts +88 -88
  255. package/lib/components/VOtpInput/index.mjs.map +1 -1
  256. package/lib/components/VOverflowBtn/VOverflowBtn.mjs.map +1 -1
  257. package/lib/components/VOverflowBtn/index.mjs.map +1 -1
  258. package/lib/components/VOverlay/VOverlay.mjs +5 -0
  259. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  260. package/lib/components/VOverlay/index.d.mts +110 -104
  261. package/lib/components/VOverlay/index.mjs.map +1 -1
  262. package/lib/components/VOverlay/locationStrategies.mjs.map +1 -1
  263. package/lib/components/VOverlay/requestNewFrame.mjs.map +1 -1
  264. package/lib/components/VOverlay/scrollStrategies.mjs.map +1 -1
  265. package/lib/components/VOverlay/useActivator.mjs.map +1 -1
  266. package/lib/components/VOverlay/util/point.mjs.map +1 -1
  267. package/lib/components/VPagination/VPagination.mjs.map +1 -1
  268. package/lib/components/VPagination/index.d.mts +55 -55
  269. package/lib/components/VPagination/index.mjs.map +1 -1
  270. package/lib/components/VParallax/VParallax.mjs.map +1 -1
  271. package/lib/components/VParallax/index.d.mts +7 -7
  272. package/lib/components/VParallax/index.mjs.map +1 -1
  273. package/lib/components/VProgressCircular/VProgressCircular.mjs.map +1 -1
  274. package/lib/components/VProgressCircular/index.d.mts +24 -24
  275. package/lib/components/VProgressCircular/index.mjs.map +1 -1
  276. package/lib/components/VProgressLinear/VProgressLinear.mjs +1 -11
  277. package/lib/components/VProgressLinear/VProgressLinear.mjs.map +1 -1
  278. package/lib/components/VProgressLinear/index.d.mts +41 -62
  279. package/lib/components/VProgressLinear/index.mjs.map +1 -1
  280. package/lib/components/VRadio/VRadio.mjs.map +1 -1
  281. package/lib/components/VRadio/index.d.mts +41 -41
  282. package/lib/components/VRadio/index.mjs.map +1 -1
  283. package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
  284. package/lib/components/VRadioGroup/index.d.mts +85 -85
  285. package/lib/components/VRadioGroup/index.mjs.map +1 -1
  286. package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
  287. package/lib/components/VRangeSlider/index.d.mts +82 -82
  288. package/lib/components/VRangeSlider/index.mjs.map +1 -1
  289. package/lib/components/VRating/VRating.mjs.map +1 -1
  290. package/lib/components/VRating/index.d.mts +22 -22
  291. package/lib/components/VRating/index.mjs.map +1 -1
  292. package/lib/components/VResponsive/VResponsive.mjs.map +1 -1
  293. package/lib/components/VResponsive/index.d.mts +23 -23
  294. package/lib/components/VResponsive/index.mjs.map +1 -1
  295. package/lib/components/VSelect/VSelect.mjs +1 -1
  296. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  297. package/lib/components/VSelect/index.d.mts +609 -609
  298. package/lib/components/VSelect/index.mjs.map +1 -1
  299. package/lib/components/VSelect/useScrolling.mjs.map +1 -1
  300. package/lib/components/VSelectionControl/VSelectionControl.mjs +1 -1
  301. package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
  302. package/lib/components/VSelectionControl/index.d.mts +43 -43
  303. package/lib/components/VSelectionControl/index.mjs.map +1 -1
  304. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs.map +1 -1
  305. package/lib/components/VSelectionControlGroup/index.d.mts +39 -39
  306. package/lib/components/VSelectionControlGroup/index.mjs.map +1 -1
  307. package/lib/components/VSheet/VSheet.mjs.map +1 -1
  308. package/lib/components/VSheet/index.d.mts +34 -34
  309. package/lib/components/VSheet/index.mjs.map +1 -1
  310. package/lib/components/VSkeletonLoader/VSkeletonLoader.mjs.map +1 -1
  311. package/lib/components/VSkeletonLoader/index.d.mts +17 -17
  312. package/lib/components/VSkeletonLoader/index.mjs.map +1 -1
  313. package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
  314. package/lib/components/VSlideGroup/VSlideGroupItem.mjs.map +1 -1
  315. package/lib/components/VSlideGroup/helpers.mjs.map +1 -1
  316. package/lib/components/VSlideGroup/index.d.mts +24 -24
  317. package/lib/components/VSlideGroup/index.mjs.map +1 -1
  318. package/lib/components/VSlider/VSlider.mjs.map +1 -1
  319. package/lib/components/VSlider/VSliderThumb.mjs.map +1 -1
  320. package/lib/components/VSlider/VSliderTrack.mjs.map +1 -1
  321. package/lib/components/VSlider/index.d.mts +75 -75
  322. package/lib/components/VSlider/index.mjs.map +1 -1
  323. package/lib/components/VSlider/slider.mjs.map +1 -1
  324. package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
  325. package/lib/components/VSnackbar/index.d.mts +455 -440
  326. package/lib/components/VSnackbar/index.mjs.map +1 -1
  327. package/lib/components/VSparkline/VSparkline.mjs.map +1 -1
  328. package/lib/components/VSparkline/helpers/core.mjs.map +1 -1
  329. package/lib/components/VSparkline/helpers/math.mjs.map +1 -1
  330. package/lib/components/VSparkline/helpers/path.mjs.map +1 -1
  331. package/lib/components/VSparkline/index.mjs.map +1 -1
  332. package/lib/components/VSpeedDial/VSpeedDial.mjs.map +1 -1
  333. package/lib/components/VSpeedDial/index.mjs.map +1 -1
  334. package/lib/components/VStepper/VStepper.mjs.map +1 -1
  335. package/lib/components/VStepper/VStepperActions.mjs.map +1 -1
  336. package/lib/components/VStepper/VStepperHeader.mjs.map +1 -1
  337. package/lib/components/VStepper/VStepperItem.mjs.map +1 -1
  338. package/lib/components/VStepper/VStepperWindow.mjs.map +1 -1
  339. package/lib/components/VStepper/VStepperWindowItem.mjs.map +1 -1
  340. package/lib/components/VStepper/index.d.mts +115 -115
  341. package/lib/components/VStepper/index.mjs.map +1 -1
  342. package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
  343. package/lib/components/VSwitch/index.d.mts +88 -88
  344. package/lib/components/VSwitch/index.mjs.map +1 -1
  345. package/lib/components/VSystemBar/VSystemBar.mjs.map +1 -1
  346. package/lib/components/VSystemBar/index.d.mts +39 -39
  347. package/lib/components/VSystemBar/index.mjs.map +1 -1
  348. package/lib/components/VTable/VTable.mjs.map +1 -1
  349. package/lib/components/VTable/index.d.mts +4 -4
  350. package/lib/components/VTable/index.mjs.map +1 -1
  351. package/lib/components/VTabs/VTab.mjs.map +1 -1
  352. package/lib/components/VTabs/VTabs.mjs.map +1 -1
  353. package/lib/components/VTabs/index.d.mts +437 -437
  354. package/lib/components/VTabs/index.mjs.map +1 -1
  355. package/lib/components/VTabs/shared.mjs.map +1 -1
  356. package/lib/components/VTextField/VTextField.mjs.map +1 -1
  357. package/lib/components/VTextField/index.d.mts +353 -353
  358. package/lib/components/VTextField/index.mjs.map +1 -1
  359. package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
  360. package/lib/components/VTextarea/index.d.mts +230 -230
  361. package/lib/components/VTextarea/index.mjs.map +1 -1
  362. package/lib/components/VThemeProvider/VThemeProvider.mjs.map +1 -1
  363. package/lib/components/VThemeProvider/index.mjs.map +1 -1
  364. package/lib/components/VTimeline/VTimeline.mjs.map +1 -1
  365. package/lib/components/VTimeline/VTimelineDivider.mjs.map +1 -1
  366. package/lib/components/VTimeline/VTimelineItem.mjs.map +1 -1
  367. package/lib/components/VTimeline/index.d.mts +26 -26
  368. package/lib/components/VTimeline/index.mjs.map +1 -1
  369. package/lib/components/VToolbar/VToolbar.mjs.map +1 -1
  370. package/lib/components/VToolbar/VToolbarItems.mjs.map +1 -1
  371. package/lib/components/VToolbar/VToolbarTitle.mjs.map +1 -1
  372. package/lib/components/VToolbar/index.d.mts +53 -53
  373. package/lib/components/VToolbar/index.mjs.map +1 -1
  374. package/lib/components/VTooltip/VTooltip.mjs.map +1 -1
  375. package/lib/components/VTooltip/index.d.mts +469 -454
  376. package/lib/components/VTooltip/index.mjs.map +1 -1
  377. package/lib/components/VTreeview/VTreeview.mjs.map +1 -1
  378. package/lib/components/VTreeview/VTreeviewNode.mjs.map +1 -1
  379. package/lib/components/VTreeview/index.mjs.map +1 -1
  380. package/lib/components/VTreeview/util/filterTreeItems.mjs.map +1 -1
  381. package/lib/components/VValidation/VValidation.mjs.map +1 -1
  382. package/lib/components/VValidation/index.d.mts +19 -19
  383. package/lib/components/VValidation/index.mjs.map +1 -1
  384. package/lib/components/VVirtualScroll/VVirtualScroll.mjs.map +1 -1
  385. package/lib/components/VVirtualScroll/VVirtualScrollItem.mjs.map +1 -1
  386. package/lib/components/VVirtualScroll/index.d.mts +10 -10
  387. package/lib/components/VVirtualScroll/index.mjs.map +1 -1
  388. package/lib/components/VWindow/VWindow.mjs.map +1 -1
  389. package/lib/components/VWindow/VWindowItem.mjs.map +1 -1
  390. package/lib/components/VWindow/index.d.mts +31 -31
  391. package/lib/components/VWindow/index.mjs.map +1 -1
  392. package/lib/components/index.d.mts +9409 -9346
  393. package/lib/components/index.mjs.map +1 -1
  394. package/lib/components/transitions/createTransition.mjs.map +1 -1
  395. package/lib/components/transitions/dialog-transition.mjs.map +1 -1
  396. package/lib/components/transitions/expand-transition.mjs.map +1 -1
  397. package/lib/components/transitions/index.d.mts +200 -200
  398. package/lib/components/transitions/index.mjs.map +1 -1
  399. package/lib/composables/border.mjs.map +1 -1
  400. package/lib/composables/calendar.mjs +1 -1
  401. package/lib/composables/calendar.mjs.map +1 -1
  402. package/lib/composables/color.mjs.map +1 -1
  403. package/lib/composables/component.mjs.map +1 -1
  404. package/lib/composables/date/DateAdapter.mjs.map +1 -1
  405. package/lib/composables/date/adapters/vuetify.mjs +7 -6
  406. package/lib/composables/date/adapters/vuetify.mjs.map +1 -1
  407. package/lib/composables/date/date.mjs.map +1 -1
  408. package/lib/composables/date/index.mjs.map +1 -1
  409. package/lib/composables/defaults.mjs.map +1 -1
  410. package/lib/composables/delay.mjs.map +1 -1
  411. package/lib/composables/density.mjs.map +1 -1
  412. package/lib/composables/dimensions.mjs.map +1 -1
  413. package/lib/composables/directiveComponent.mjs.map +1 -1
  414. package/lib/composables/display.mjs.map +1 -1
  415. package/lib/composables/elevation.mjs.map +1 -1
  416. package/lib/composables/filter.mjs.map +1 -1
  417. package/lib/composables/focus.mjs.map +1 -1
  418. package/lib/composables/form.mjs.map +1 -1
  419. package/lib/composables/forwardRefs.mjs.map +1 -1
  420. package/lib/composables/goto.mjs.map +1 -1
  421. package/lib/composables/group.mjs.map +1 -1
  422. package/lib/composables/hydration.mjs.map +1 -1
  423. package/lib/composables/icons.mjs +2 -2
  424. package/lib/composables/icons.mjs.map +1 -1
  425. package/lib/composables/index.mjs.map +1 -1
  426. package/lib/composables/intersectionObserver.mjs.map +1 -1
  427. package/lib/composables/layout.mjs.map +1 -1
  428. package/lib/composables/lazy.mjs.map +1 -1
  429. package/lib/composables/list-items.mjs.map +1 -1
  430. package/lib/composables/loader.mjs.map +1 -1
  431. package/lib/composables/locale.mjs.map +1 -1
  432. package/lib/composables/location.mjs.map +1 -1
  433. package/lib/composables/mutationObserver.mjs.map +1 -1
  434. package/lib/composables/nested/activeStrategies.mjs.map +1 -1
  435. package/lib/composables/nested/nested.mjs.map +1 -1
  436. package/lib/composables/nested/openStrategies.mjs.map +1 -1
  437. package/lib/composables/nested/selectStrategies.mjs.map +1 -1
  438. package/lib/composables/position.mjs.map +1 -1
  439. package/lib/composables/proxiedModel.mjs.map +1 -1
  440. package/lib/composables/refs.mjs.map +1 -1
  441. package/lib/composables/resizeObserver.mjs.map +1 -1
  442. package/lib/composables/rounded.mjs +1 -1
  443. package/lib/composables/rounded.mjs.map +1 -1
  444. package/lib/composables/router.mjs +1 -1
  445. package/lib/composables/router.mjs.map +1 -1
  446. package/lib/composables/scopeId.mjs.map +1 -1
  447. package/lib/composables/scroll.mjs.map +1 -1
  448. package/lib/composables/selectLink.mjs.map +1 -1
  449. package/lib/composables/size.mjs.map +1 -1
  450. package/lib/composables/ssrBoot.mjs.map +1 -1
  451. package/lib/composables/stack.mjs.map +1 -1
  452. package/lib/composables/tag.mjs.map +1 -1
  453. package/lib/composables/teleport.mjs.map +1 -1
  454. package/lib/composables/theme.mjs.map +1 -1
  455. package/lib/composables/toggleScope.mjs.map +1 -1
  456. package/lib/composables/touch.mjs.map +1 -1
  457. package/lib/composables/transition.mjs.map +1 -1
  458. package/lib/composables/validation.mjs.map +1 -1
  459. package/lib/composables/variant.mjs.map +1 -1
  460. package/lib/composables/virtual.mjs.map +1 -1
  461. package/lib/directives/click-outside/index.mjs.map +1 -1
  462. package/lib/directives/color/index.mjs.map +1 -1
  463. package/lib/directives/index.mjs.map +1 -1
  464. package/lib/directives/intersect/index.mjs.map +1 -1
  465. package/lib/directives/mutate/index.mjs.map +1 -1
  466. package/lib/directives/resize/index.mjs.map +1 -1
  467. package/lib/directives/ripple/index.mjs.map +1 -1
  468. package/lib/directives/scroll/index.mjs.map +1 -1
  469. package/lib/directives/touch/index.mjs.map +1 -1
  470. package/lib/entry-bundler.mjs +1 -1
  471. package/lib/entry-bundler.mjs.map +1 -1
  472. package/lib/framework.mjs +1 -1
  473. package/lib/framework.mjs.map +1 -1
  474. package/lib/iconsets/fa-svg.mjs.map +1 -1
  475. package/lib/iconsets/fa.mjs.map +1 -1
  476. package/lib/iconsets/fa4.mjs.map +1 -1
  477. package/lib/iconsets/md.mjs.map +1 -1
  478. package/lib/iconsets/mdi-svg.mjs.map +1 -1
  479. package/lib/iconsets/mdi.mjs.map +1 -1
  480. package/lib/index.d.mts +36 -36
  481. package/lib/labs/VCalendar/VCalendar.mjs +15 -11
  482. package/lib/labs/VCalendar/VCalendar.mjs.map +1 -1
  483. package/lib/labs/VCalendar/VCalendarDay.mjs.map +1 -1
  484. package/lib/labs/VCalendar/VCalendarEvent.mjs.map +1 -1
  485. package/lib/labs/VCalendar/VCalendarHeader.mjs.map +1 -1
  486. package/lib/labs/VCalendar/VCalendarInterval.mjs.map +1 -1
  487. package/lib/labs/VCalendar/VCalendarIntervalEvent.mjs.map +1 -1
  488. package/lib/labs/VCalendar/VCalendarMonthDay.mjs +12 -4
  489. package/lib/labs/VCalendar/VCalendarMonthDay.mjs.map +1 -1
  490. package/lib/labs/VCalendar/index.d.mts +200 -52
  491. package/lib/labs/VCalendar/index.mjs.map +1 -1
  492. package/lib/labs/VConfirmEdit/VConfirmEdit.mjs.map +1 -1
  493. package/lib/labs/VConfirmEdit/__test__/VConfirmEdit.spec.cy.mjs.map +1 -1
  494. package/lib/labs/VConfirmEdit/index.d.mts +2 -2
  495. package/lib/labs/VConfirmEdit/index.mjs.map +1 -1
  496. package/lib/labs/VEmptyState/VEmptyState.css +7 -2
  497. package/lib/labs/VEmptyState/VEmptyState.mjs.map +1 -1
  498. package/lib/labs/VEmptyState/VEmptyState.sass +5 -0
  499. package/lib/labs/VEmptyState/_variables.scss +9 -6
  500. package/lib/labs/VEmptyState/index.d.mts +47 -47
  501. package/lib/labs/VEmptyState/index.mjs.map +1 -1
  502. package/lib/labs/VFab/VFab.mjs.map +1 -1
  503. package/lib/labs/VFab/index.d.mts +223 -223
  504. package/lib/labs/VFab/index.mjs.map +1 -1
  505. package/lib/labs/VNumberInput/VNumberInput.mjs.map +1 -1
  506. package/lib/labs/VNumberInput/index.d.mts +108 -108
  507. package/lib/labs/VNumberInput/index.mjs.map +1 -1
  508. package/lib/labs/VPicker/VPicker.mjs.map +1 -1
  509. package/lib/labs/VPicker/VPickerTitle.mjs.map +1 -1
  510. package/lib/labs/VPicker/index.d.mts +45 -45
  511. package/lib/labs/VPicker/index.mjs.map +1 -1
  512. package/lib/labs/VSparkline/VBarline.mjs.map +1 -1
  513. package/lib/labs/VSparkline/VSparkline.mjs.map +1 -1
  514. package/lib/labs/VSparkline/VTrendline.mjs.map +1 -1
  515. package/lib/labs/VSparkline/index.d.mts +38 -38
  516. package/lib/labs/VSparkline/index.mjs.map +1 -1
  517. package/lib/labs/VSparkline/util/line.mjs.map +1 -1
  518. package/lib/labs/VSparkline/util/path.mjs.map +1 -1
  519. package/lib/labs/VSpeedDial/VSpeedDial.css +39 -0
  520. package/lib/labs/VSpeedDial/VSpeedDial.mjs +19 -9
  521. package/lib/labs/VSpeedDial/VSpeedDial.mjs.map +1 -1
  522. package/lib/labs/VSpeedDial/VSpeedDial.sass +22 -0
  523. package/lib/labs/VSpeedDial/index.d.mts +297 -241
  524. package/lib/labs/VSpeedDial/index.mjs.map +1 -1
  525. package/lib/labs/VTimePicker/SelectingTimes.mjs.map +1 -1
  526. package/lib/labs/VTimePicker/VTimePicker.mjs +2 -2
  527. package/lib/labs/VTimePicker/VTimePicker.mjs.map +1 -1
  528. package/lib/labs/VTimePicker/VTimePickerClock.mjs +8 -5
  529. package/lib/labs/VTimePicker/VTimePickerClock.mjs.map +1 -1
  530. package/lib/labs/VTimePicker/VTimePickerControls.mjs.map +1 -1
  531. package/lib/labs/VTimePicker/index.d.mts +117 -117
  532. package/lib/labs/VTimePicker/index.mjs.map +1 -1
  533. package/lib/labs/VTreeview/VTreeview.mjs.map +1 -1
  534. package/lib/labs/VTreeview/VTreeviewChildren.mjs.map +1 -1
  535. package/lib/labs/VTreeview/VTreeviewGroup.mjs.map +1 -1
  536. package/lib/labs/VTreeview/VTreeviewItem.mjs.map +1 -1
  537. package/lib/labs/VTreeview/index.d.mts +201 -201
  538. package/lib/labs/VTreeview/index.mjs.map +1 -1
  539. package/lib/labs/VTreeview/shared.mjs.map +1 -1
  540. package/lib/labs/allComponents.mjs.map +1 -1
  541. package/lib/labs/components.d.mts +1251 -1047
  542. package/lib/labs/components.mjs.map +1 -1
  543. package/lib/labs/entry-bundler.mjs.map +1 -1
  544. package/lib/labs/index.mjs.map +1 -1
  545. package/lib/locale/adapters/vue-i18n.mjs.map +1 -1
  546. package/lib/locale/adapters/vuetify.mjs.map +1 -1
  547. package/lib/locale/af.mjs.map +1 -1
  548. package/lib/locale/ar.mjs.map +1 -1
  549. package/lib/locale/az.mjs.map +1 -1
  550. package/lib/locale/bg.mjs.map +1 -1
  551. package/lib/locale/ca.mjs.map +1 -1
  552. package/lib/locale/ckb.mjs.map +1 -1
  553. package/lib/locale/cs.mjs.map +1 -1
  554. package/lib/locale/da.mjs.map +1 -1
  555. package/lib/locale/de.mjs.map +1 -1
  556. package/lib/locale/el.mjs.map +1 -1
  557. package/lib/locale/en.mjs.map +1 -1
  558. package/lib/locale/es.mjs.map +1 -1
  559. package/lib/locale/et.mjs.map +1 -1
  560. package/lib/locale/fa.mjs.map +1 -1
  561. package/lib/locale/fi.mjs.map +1 -1
  562. package/lib/locale/fr.mjs.map +1 -1
  563. package/lib/locale/he.mjs.map +1 -1
  564. package/lib/locale/hr.mjs.map +1 -1
  565. package/lib/locale/hu.mjs.map +1 -1
  566. package/lib/locale/id.mjs.map +1 -1
  567. package/lib/locale/index.mjs.map +1 -1
  568. package/lib/locale/it.mjs.map +1 -1
  569. package/lib/locale/ja.mjs.map +1 -1
  570. package/lib/locale/km.mjs.map +1 -1
  571. package/lib/locale/ko.mjs.map +1 -1
  572. package/lib/locale/lt.mjs +25 -25
  573. package/lib/locale/lt.mjs.map +1 -1
  574. package/lib/locale/lv.mjs.map +1 -1
  575. package/lib/locale/nl.mjs.map +1 -1
  576. package/lib/locale/no.mjs.map +1 -1
  577. package/lib/locale/pl.mjs.map +1 -1
  578. package/lib/locale/pt.mjs.map +1 -1
  579. package/lib/locale/ro.mjs.map +1 -1
  580. package/lib/locale/ru.mjs.map +1 -1
  581. package/lib/locale/sk.mjs.map +1 -1
  582. package/lib/locale/sl.mjs +30 -30
  583. package/lib/locale/sl.mjs.map +1 -1
  584. package/lib/locale/sr-Cyrl.mjs.map +1 -1
  585. package/lib/locale/sr-Latn.mjs.map +1 -1
  586. package/lib/locale/sv.mjs.map +1 -1
  587. package/lib/locale/th.mjs.map +1 -1
  588. package/lib/locale/tr.mjs.map +1 -1
  589. package/lib/locale/uk.mjs.map +1 -1
  590. package/lib/locale/vi.mjs.map +1 -1
  591. package/lib/locale/zh-Hans.mjs.map +1 -1
  592. package/lib/locale/zh-Hant.mjs.map +1 -1
  593. package/lib/services/goto/easing-patterns.mjs.map +1 -1
  594. package/lib/services/goto/index.mjs.map +1 -1
  595. package/lib/services/goto/util.mjs.map +1 -1
  596. package/lib/styles/main.css +30 -0
  597. package/lib/styles/settings/_variables.scss +1 -0
  598. package/lib/util/anchor.mjs.map +1 -1
  599. package/lib/util/animation.mjs.map +1 -1
  600. package/lib/util/bindProps.mjs.map +1 -1
  601. package/lib/util/box.mjs.map +1 -1
  602. package/lib/util/color/APCA.mjs.map +1 -1
  603. package/lib/util/color/transformCIELAB.mjs.map +1 -1
  604. package/lib/util/color/transformSRGB.mjs.map +1 -1
  605. package/lib/util/colorUtils.mjs.map +1 -1
  606. package/lib/util/colors.mjs.map +1 -1
  607. package/lib/util/console.mjs.map +1 -1
  608. package/lib/util/createSimpleFunctional.mjs.map +1 -1
  609. package/lib/util/defineComponent.mjs.map +1 -1
  610. package/lib/util/dom.mjs.map +1 -1
  611. package/lib/util/easing.mjs.map +1 -1
  612. package/lib/util/events.mjs.map +1 -1
  613. package/lib/util/getCurrentInstance.mjs.map +1 -1
  614. package/lib/util/getScrollParent.mjs.map +1 -1
  615. package/lib/util/globals.mjs.map +1 -1
  616. package/lib/util/helpers.mjs +8 -16
  617. package/lib/util/helpers.mjs.map +1 -1
  618. package/lib/util/index.mjs.map +1 -1
  619. package/lib/util/injectSelf.mjs.map +1 -1
  620. package/lib/util/isFixedPosition.mjs.map +1 -1
  621. package/lib/util/propsFactory.mjs.map +1 -1
  622. package/lib/util/useRender.mjs.map +1 -1
  623. package/package.json +25 -25
@@ -1 +1 @@
1
- {"version":3,"file":"items.mjs","names":["computed","getPropertyFromItem","propsFactory","makeDataTableItemsProps","items","type","Array","default","itemValue","String","Function","itemSelectable","rowProps","Object","cellProps","returnObject","Boolean","transformItem","props","item","index","columns","value","selectable","itemColumns","reduce","obj","column","key","raw","transformItems","map","useDataTableItems"],"sources":["../../../../src/components/VDataTable/composables/items.ts"],"sourcesContent":["// Utilities\nimport { computed } from 'vue'\nimport { getPropertyFromItem, propsFactory } from '@/util'\n\n// Types\nimport type { PropType, Ref } from 'vue'\nimport type { CellProps, DataTableItem, InternalDataTableHeader, RowProps } from '../types'\nimport type { SelectItemKey } from '@/util'\n\nexport interface DataTableItemProps {\n items: any[]\n itemValue: SelectItemKey\n itemSelectable: SelectItemKey\n returnObject: boolean\n}\n\n// Composables\nexport const makeDataTableItemsProps = propsFactory({\n items: {\n type: Array as PropType<DataTableItemProps['items']>,\n default: () => ([]),\n },\n itemValue: {\n type: [String, Array, Function] as PropType<SelectItemKey>,\n default: 'id',\n },\n itemSelectable: {\n type: [String, Array, Function] as PropType<SelectItemKey>,\n default: null,\n },\n rowProps: [Object, Function] as PropType<RowProps<any>>,\n cellProps: [Object, Function] as PropType<CellProps<any>>,\n returnObject: Boolean,\n}, 'DataTable-items')\n\nexport function transformItem (\n props: Omit<DataTableItemProps, 'items'>,\n item: any,\n index: number,\n columns: InternalDataTableHeader[]\n): DataTableItem {\n const value = props.returnObject ? item : getPropertyFromItem(item, props.itemValue)\n const selectable = getPropertyFromItem(item, props.itemSelectable, true)\n const itemColumns = columns.reduce((obj, column) => {\n if (column.key != null) obj[column.key] = getPropertyFromItem(item, column.value!)\n return obj\n }, {} as Record<string, unknown>)\n\n return {\n type: 'item',\n key: props.returnObject ? getPropertyFromItem(item, props.itemValue) : value,\n index,\n value,\n selectable,\n columns: itemColumns,\n raw: item,\n }\n}\n\nexport function transformItems (\n props: Omit<DataTableItemProps, 'items'>,\n items: DataTableItemProps['items'],\n columns: InternalDataTableHeader[]\n): DataTableItem[] {\n return items.map((item, index) => transformItem(props, item, index, columns))\n}\n\nexport function useDataTableItems (props: DataTableItemProps, columns: Ref<InternalDataTableHeader[]>) {\n const items = computed(() => transformItems(props, props.items, columns.value))\n\n return { items }\n}\n"],"mappings":"AAAA;AACA,SAASA,QAAQ,QAAQ,KAAK;AAAA,SACrBC,mBAAmB,EAAEC,YAAY,mCAE1C;AAYA;AACA,OAAO,MAAMC,uBAAuB,GAAGD,YAAY,CAAC;EAClDE,KAAK,EAAE;IACLC,IAAI,EAAEC,KAA8C;IACpDC,OAAO,EAAEA,CAAA,KAAO;EAClB,CAAC;EACDC,SAAS,EAAE;IACTH,IAAI,EAAE,CAACI,MAAM,EAAEH,KAAK,EAAEI,QAAQ,CAA4B;IAC1DH,OAAO,EAAE;EACX,CAAC;EACDI,cAAc,EAAE;IACdN,IAAI,EAAE,CAACI,MAAM,EAAEH,KAAK,EAAEI,QAAQ,CAA4B;IAC1DH,OAAO,EAAE;EACX,CAAC;EACDK,QAAQ,EAAE,CAACC,MAAM,EAAEH,QAAQ,CAA4B;EACvDI,SAAS,EAAE,CAACD,MAAM,EAAEH,QAAQ,CAA6B;EACzDK,YAAY,EAAEC;AAChB,CAAC,EAAE,iBAAiB,CAAC;AAErB,OAAO,SAASC,aAAaA,CAC3BC,KAAwC,EACxCC,IAAS,EACTC,KAAa,EACbC,OAAkC,EACnB;EACf,MAAMC,KAAK,GAAGJ,KAAK,CAACH,YAAY,GAAGI,IAAI,GAAGlB,mBAAmB,CAACkB,IAAI,EAAED,KAAK,CAACV,SAAS,CAAC;EACpF,MAAMe,UAAU,GAAGtB,mBAAmB,CAACkB,IAAI,EAAED,KAAK,CAACP,cAAc,EAAE,IAAI,CAAC;EACxE,MAAMa,WAAW,GAAGH,OAAO,CAACI,MAAM,CAAC,CAACC,GAAG,EAAEC,MAAM,KAAK;IAClD,IAAIA,MAAM,CAACC,GAAG,IAAI,IAAI,EAAEF,GAAG,CAACC,MAAM,CAACC,GAAG,CAAC,GAAG3B,mBAAmB,CAACkB,IAAI,EAAEQ,MAAM,CAACL,KAAM,CAAC;IAClF,OAAOI,GAAG;EACZ,CAAC,EAAE,CAAC,CAA4B,CAAC;EAEjC,OAAO;IACLrB,IAAI,EAAE,MAAM;IACZuB,GAAG,EAAEV,KAAK,CAACH,YAAY,GAAGd,mBAAmB,CAACkB,IAAI,EAAED,KAAK,CAACV,SAAS,CAAC,GAAGc,KAAK;IAC5EF,KAAK;IACLE,KAAK;IACLC,UAAU;IACVF,OAAO,EAAEG,WAAW;IACpBK,GAAG,EAAEV;EACP,CAAC;AACH;AAEA,OAAO,SAASW,cAAcA,CAC5BZ,KAAwC,EACxCd,KAAkC,EAClCiB,OAAkC,EACjB;EACjB,OAAOjB,KAAK,CAAC2B,GAAG,CAAC,CAACZ,IAAI,EAAEC,KAAK,KAAKH,aAAa,CAACC,KAAK,EAAEC,IAAI,EAAEC,KAAK,EAAEC,OAAO,CAAC,CAAC;AAC/E;AAEA,OAAO,SAASW,iBAAiBA,CAAEd,KAAyB,EAAEG,OAAuC,EAAE;EACrG,MAAMjB,KAAK,GAAGJ,QAAQ,CAAC,MAAM8B,cAAc,CAACZ,KAAK,EAAEA,KAAK,CAACd,KAAK,EAAEiB,OAAO,CAACC,KAAK,CAAC,CAAC;EAE/E,OAAO;IAAElB;EAAM,CAAC;AAClB"}
1
+ {"version":3,"file":"items.mjs","names":["computed","getPropertyFromItem","propsFactory","makeDataTableItemsProps","items","type","Array","default","itemValue","String","Function","itemSelectable","rowProps","Object","cellProps","returnObject","Boolean","transformItem","props","item","index","columns","value","selectable","itemColumns","reduce","obj","column","key","raw","transformItems","map","useDataTableItems"],"sources":["../../../../src/components/VDataTable/composables/items.ts"],"sourcesContent":["// Utilities\nimport { computed } from 'vue'\nimport { getPropertyFromItem, propsFactory } from '@/util'\n\n// Types\nimport type { PropType, Ref } from 'vue'\nimport type { CellProps, DataTableItem, InternalDataTableHeader, RowProps } from '../types'\nimport type { SelectItemKey } from '@/util'\n\nexport interface DataTableItemProps {\n items: any[]\n itemValue: SelectItemKey\n itemSelectable: SelectItemKey\n returnObject: boolean\n}\n\n// Composables\nexport const makeDataTableItemsProps = propsFactory({\n items: {\n type: Array as PropType<DataTableItemProps['items']>,\n default: () => ([]),\n },\n itemValue: {\n type: [String, Array, Function] as PropType<SelectItemKey>,\n default: 'id',\n },\n itemSelectable: {\n type: [String, Array, Function] as PropType<SelectItemKey>,\n default: null,\n },\n rowProps: [Object, Function] as PropType<RowProps<any>>,\n cellProps: [Object, Function] as PropType<CellProps<any>>,\n returnObject: Boolean,\n}, 'DataTable-items')\n\nexport function transformItem (\n props: Omit<DataTableItemProps, 'items'>,\n item: any,\n index: number,\n columns: InternalDataTableHeader[]\n): DataTableItem {\n const value = props.returnObject ? item : getPropertyFromItem(item, props.itemValue)\n const selectable = getPropertyFromItem(item, props.itemSelectable, true)\n const itemColumns = columns.reduce((obj, column) => {\n if (column.key != null) obj[column.key] = getPropertyFromItem(item, column.value!)\n return obj\n }, {} as Record<string, unknown>)\n\n return {\n type: 'item',\n key: props.returnObject ? getPropertyFromItem(item, props.itemValue) : value,\n index,\n value,\n selectable,\n columns: itemColumns,\n raw: item,\n }\n}\n\nexport function transformItems (\n props: Omit<DataTableItemProps, 'items'>,\n items: DataTableItemProps['items'],\n columns: InternalDataTableHeader[]\n): DataTableItem[] {\n return items.map((item, index) => transformItem(props, item, index, columns))\n}\n\nexport function useDataTableItems (props: DataTableItemProps, columns: Ref<InternalDataTableHeader[]>) {\n const items = computed(() => transformItems(props, props.items, columns.value))\n\n return { items }\n}\n"],"mappings":"AAAA;AACA,SAASA,QAAQ,QAAQ,KAAK;AAAA,SACrBC,mBAAmB,EAAEC,YAAY,mCAE1C;AAYA;AACA,OAAO,MAAMC,uBAAuB,GAAGD,YAAY,CAAC;EAClDE,KAAK,EAAE;IACLC,IAAI,EAAEC,KAA8C;IACpDC,OAAO,EAAEA,CAAA,KAAO;EAClB,CAAC;EACDC,SAAS,EAAE;IACTH,IAAI,EAAE,CAACI,MAAM,EAAEH,KAAK,EAAEI,QAAQ,CAA4B;IAC1DH,OAAO,EAAE;EACX,CAAC;EACDI,cAAc,EAAE;IACdN,IAAI,EAAE,CAACI,MAAM,EAAEH,KAAK,EAAEI,QAAQ,CAA4B;IAC1DH,OAAO,EAAE;EACX,CAAC;EACDK,QAAQ,EAAE,CAACC,MAAM,EAAEH,QAAQ,CAA4B;EACvDI,SAAS,EAAE,CAACD,MAAM,EAAEH,QAAQ,CAA6B;EACzDK,YAAY,EAAEC;AAChB,CAAC,EAAE,iBAAiB,CAAC;AAErB,OAAO,SAASC,aAAaA,CAC3BC,KAAwC,EACxCC,IAAS,EACTC,KAAa,EACbC,OAAkC,EACnB;EACf,MAAMC,KAAK,GAAGJ,KAAK,CAACH,YAAY,GAAGI,IAAI,GAAGlB,mBAAmB,CAACkB,IAAI,EAAED,KAAK,CAACV,SAAS,CAAC;EACpF,MAAMe,UAAU,GAAGtB,mBAAmB,CAACkB,IAAI,EAAED,KAAK,CAACP,cAAc,EAAE,IAAI,CAAC;EACxE,MAAMa,WAAW,GAAGH,OAAO,CAACI,MAAM,CAAC,CAACC,GAAG,EAAEC,MAAM,KAAK;IAClD,IAAIA,MAAM,CAACC,GAAG,IAAI,IAAI,EAAEF,GAAG,CAACC,MAAM,CAACC,GAAG,CAAC,GAAG3B,mBAAmB,CAACkB,IAAI,EAAEQ,MAAM,CAACL,KAAM,CAAC;IAClF,OAAOI,GAAG;EACZ,CAAC,EAAE,CAAC,CAA4B,CAAC;EAEjC,OAAO;IACLrB,IAAI,EAAE,MAAM;IACZuB,GAAG,EAAEV,KAAK,CAACH,YAAY,GAAGd,mBAAmB,CAACkB,IAAI,EAAED,KAAK,CAACV,SAAS,CAAC,GAAGc,KAAK;IAC5EF,KAAK;IACLE,KAAK;IACLC,UAAU;IACVF,OAAO,EAAEG,WAAW;IACpBK,GAAG,EAAEV;EACP,CAAC;AACH;AAEA,OAAO,SAASW,cAAcA,CAC5BZ,KAAwC,EACxCd,KAAkC,EAClCiB,OAAkC,EACjB;EACjB,OAAOjB,KAAK,CAAC2B,GAAG,CAAC,CAACZ,IAAI,EAAEC,KAAK,KAAKH,aAAa,CAACC,KAAK,EAAEC,IAAI,EAAEC,KAAK,EAAEC,OAAO,CAAC,CAAC;AAC/E;AAEA,OAAO,SAASW,iBAAiBA,CAAEd,KAAyB,EAAEG,OAAuC,EAAE;EACrG,MAAMjB,KAAK,GAAGJ,QAAQ,CAAC,MAAM8B,cAAc,CAACZ,KAAK,EAAEA,KAAK,CAACd,KAAK,EAAEiB,OAAO,CAACC,KAAK,CAAC,CAAC;EAE/E,OAAO;IAAElB;EAAM,CAAC;AAClB","ignoreList":[]}
@@ -22,7 +22,7 @@ export function useOptions(_ref) {
22
22
  if (deepEqual(oldOptions, options.value)) return;
23
23
 
24
24
  // Reset page when searching
25
- if (oldOptions?.search !== options.value.search) {
25
+ if (oldOptions && oldOptions.search !== options.value.search) {
26
26
  page.value = 1;
27
27
  }
28
28
  vm.emit('update:options', options.value);
@@ -1 +1 @@
1
- {"version":3,"file":"options.mjs","names":["computed","watch","deepEqual","getCurrentInstance","useOptions","_ref","page","itemsPerPage","sortBy","groupBy","search","vm","options","value","oldOptions","emit","deep","immediate"],"sources":["../../../../src/components/VDataTable/composables/options.ts"],"sourcesContent":["// Utilities\nimport { computed, watch } from 'vue'\nimport { deepEqual, getCurrentInstance } from '@/util'\n\n// Types\nimport type { Ref } from 'vue'\nimport type { SortItem } from './sort'\n\nexport function useOptions ({\n page,\n itemsPerPage,\n sortBy,\n groupBy,\n search,\n}: {\n page: Ref<number>\n itemsPerPage: Ref<number>\n sortBy: Ref<readonly SortItem[]>\n groupBy: Ref<readonly SortItem[]>\n search: Ref<string | undefined>\n}) {\n const vm = getCurrentInstance('VDataTable')\n\n const options = computed(() => ({\n page: page.value,\n itemsPerPage: itemsPerPage.value,\n sortBy: sortBy.value,\n groupBy: groupBy.value,\n search: search.value,\n }))\n\n let oldOptions: typeof options.value | null = null\n watch(options, () => {\n if (deepEqual(oldOptions, options.value)) return\n\n // Reset page when searching\n if (oldOptions?.search !== options.value.search) {\n page.value = 1\n }\n\n vm.emit('update:options', options.value)\n oldOptions = options.value\n }, { deep: true, immediate: true })\n}\n"],"mappings":"AAAA;AACA,SAASA,QAAQ,EAAEC,KAAK,QAAQ,KAAK;AAAA,SAC5BC,SAAS,EAAEC,kBAAkB,mCAEtC;AAIA,OAAO,SAASC,UAAUA,CAAAC,IAAA,EAYvB;EAAA,IAZyB;IAC1BC,IAAI;IACJC,YAAY;IACZC,MAAM;IACNC,OAAO;IACPC;EAOF,CAAC,GAAAL,IAAA;EACC,MAAMM,EAAE,GAAGR,kBAAkB,CAAC,YAAY,CAAC;EAE3C,MAAMS,OAAO,GAAGZ,QAAQ,CAAC,OAAO;IAC9BM,IAAI,EAAEA,IAAI,CAACO,KAAK;IAChBN,YAAY,EAAEA,YAAY,CAACM,KAAK;IAChCL,MAAM,EAAEA,MAAM,CAACK,KAAK;IACpBJ,OAAO,EAAEA,OAAO,CAACI,KAAK;IACtBH,MAAM,EAAEA,MAAM,CAACG;EACjB,CAAC,CAAC,CAAC;EAEH,IAAIC,UAAuC,GAAG,IAAI;EAClDb,KAAK,CAACW,OAAO,EAAE,MAAM;IACnB,IAAIV,SAAS,CAACY,UAAU,EAAEF,OAAO,CAACC,KAAK,CAAC,EAAE;;IAE1C;IACA,IAAIC,UAAU,EAAEJ,MAAM,KAAKE,OAAO,CAACC,KAAK,CAACH,MAAM,EAAE;MAC/CJ,IAAI,CAACO,KAAK,GAAG,CAAC;IAChB;IAEAF,EAAE,CAACI,IAAI,CAAC,gBAAgB,EAAEH,OAAO,CAACC,KAAK,CAAC;IACxCC,UAAU,GAAGF,OAAO,CAACC,KAAK;EAC5B,CAAC,EAAE;IAAEG,IAAI,EAAE,IAAI;IAAEC,SAAS,EAAE;EAAK,CAAC,CAAC;AACrC"}
1
+ {"version":3,"file":"options.mjs","names":["computed","watch","deepEqual","getCurrentInstance","useOptions","_ref","page","itemsPerPage","sortBy","groupBy","search","vm","options","value","oldOptions","emit","deep","immediate"],"sources":["../../../../src/components/VDataTable/composables/options.ts"],"sourcesContent":["// Utilities\nimport { computed, watch } from 'vue'\nimport { deepEqual, getCurrentInstance } from '@/util'\n\n// Types\nimport type { Ref } from 'vue'\nimport type { SortItem } from './sort'\n\nexport function useOptions ({\n page,\n itemsPerPage,\n sortBy,\n groupBy,\n search,\n}: {\n page: Ref<number>\n itemsPerPage: Ref<number>\n sortBy: Ref<readonly SortItem[]>\n groupBy: Ref<readonly SortItem[]>\n search: Ref<string | undefined>\n}) {\n const vm = getCurrentInstance('VDataTable')\n\n const options = computed(() => ({\n page: page.value,\n itemsPerPage: itemsPerPage.value,\n sortBy: sortBy.value,\n groupBy: groupBy.value,\n search: search.value,\n }))\n\n let oldOptions: typeof options.value | null = null\n watch(options, () => {\n if (deepEqual(oldOptions, options.value)) return\n\n // Reset page when searching\n if (oldOptions && oldOptions.search !== options.value.search) {\n page.value = 1\n }\n\n vm.emit('update:options', options.value)\n oldOptions = options.value\n }, { deep: true, immediate: true })\n}\n"],"mappings":"AAAA;AACA,SAASA,QAAQ,EAAEC,KAAK,QAAQ,KAAK;AAAA,SAC5BC,SAAS,EAAEC,kBAAkB,mCAEtC;AAIA,OAAO,SAASC,UAAUA,CAAAC,IAAA,EAYvB;EAAA,IAZyB;IAC1BC,IAAI;IACJC,YAAY;IACZC,MAAM;IACNC,OAAO;IACPC;EAOF,CAAC,GAAAL,IAAA;EACC,MAAMM,EAAE,GAAGR,kBAAkB,CAAC,YAAY,CAAC;EAE3C,MAAMS,OAAO,GAAGZ,QAAQ,CAAC,OAAO;IAC9BM,IAAI,EAAEA,IAAI,CAACO,KAAK;IAChBN,YAAY,EAAEA,YAAY,CAACM,KAAK;IAChCL,MAAM,EAAEA,MAAM,CAACK,KAAK;IACpBJ,OAAO,EAAEA,OAAO,CAACI,KAAK;IACtBH,MAAM,EAAEA,MAAM,CAACG;EACjB,CAAC,CAAC,CAAC;EAEH,IAAIC,UAAuC,GAAG,IAAI;EAClDb,KAAK,CAACW,OAAO,EAAE,MAAM;IACnB,IAAIV,SAAS,CAACY,UAAU,EAAEF,OAAO,CAACC,KAAK,CAAC,EAAE;;IAE1C;IACA,IAAIC,UAAU,IAAIA,UAAU,CAACJ,MAAM,KAAKE,OAAO,CAACC,KAAK,CAACH,MAAM,EAAE;MAC5DJ,IAAI,CAACO,KAAK,GAAG,CAAC;IAChB;IAEAF,EAAE,CAACI,IAAI,CAAC,gBAAgB,EAAEH,OAAO,CAACC,KAAK,CAAC;IACxCC,UAAU,GAAGF,OAAO,CAACC,KAAK;EAC5B,CAAC,EAAE;IAAEG,IAAI,EAAE,IAAI;IAAEC,SAAS,EAAE;EAAK,CAAC,CAAC;AACrC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"paginate.mjs","names":["useProxiedModel","computed","inject","provide","watch","watchEffect","clamp","getCurrentInstance","propsFactory","makeDataTablePaginateProps","page","type","Number","String","default","itemsPerPage","VDataTablePaginationSymbol","Symbol","for","createPagination","props","undefined","value","providePagination","options","itemsLength","startIndex","stopIndex","Math","min","pageCount","ceil","setItemsPerPage","nextPage","prevPage","setPage","data","usePagination","Error","usePaginatedItems","vm","items","paginatedItems","slice","val","emit"],"sources":["../../../../src/components/VDataTable/composables/paginate.ts"],"sourcesContent":["// Composables\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, inject, provide, watch, watchEffect } from 'vue'\nimport { clamp, getCurrentInstance, propsFactory } from '@/util'\n\n// Types\nimport type { InjectionKey, Ref } from 'vue'\nimport type { Group } from './group'\nimport type { EventProp } from '@/util'\n\nexport const makeDataTablePaginateProps = propsFactory({\n page: {\n type: [Number, String],\n default: 1,\n },\n itemsPerPage: {\n type: [Number, String],\n default: 10,\n },\n}, 'DataTable-paginate')\n\nconst VDataTablePaginationSymbol: InjectionKey<{\n page: Ref<number>\n itemsPerPage: Ref<number>\n startIndex: Ref<number>\n stopIndex: Ref<number>\n pageCount: Ref<number>\n itemsLength: Ref<number>\n prevPage: () => void\n nextPage: () => void\n setPage: (value: number) => void\n setItemsPerPage: (value: number) => void\n}> = Symbol.for('vuetify:data-table-pagination')\n\ntype PaginationProps = {\n page: number | string\n 'onUpdate:page': EventProp | undefined\n itemsPerPage: number | string\n 'onUpdate:itemsPerPage': EventProp | undefined\n itemsLength?: number | string\n}\n\nexport function createPagination (props: PaginationProps) {\n const page = useProxiedModel(props, 'page', undefined, value => +(value ?? 1))\n const itemsPerPage = useProxiedModel(props, 'itemsPerPage', undefined, value => +(value ?? 10))\n\n return { page, itemsPerPage }\n}\n\nexport function providePagination (options: {\n page: Ref<number>\n itemsPerPage: Ref<number>\n itemsLength: Ref<number>\n}) {\n const { page, itemsPerPage, itemsLength } = options\n\n const startIndex = computed(() => {\n if (itemsPerPage.value === -1) return 0\n\n return itemsPerPage.value * (page.value - 1)\n })\n const stopIndex = computed(() => {\n if (itemsPerPage.value === -1) return itemsLength.value\n\n return Math.min(itemsLength.value, startIndex.value + itemsPerPage.value)\n })\n\n const pageCount = computed(() => {\n if (itemsPerPage.value === -1 || itemsLength.value === 0) return 1\n\n return Math.ceil(itemsLength.value / itemsPerPage.value)\n })\n\n watchEffect(() => {\n if (page.value > pageCount.value) {\n page.value = pageCount.value\n }\n })\n\n function setItemsPerPage (value: number) {\n itemsPerPage.value = value\n page.value = 1\n }\n\n function nextPage () {\n page.value = clamp(page.value + 1, 1, pageCount.value)\n }\n\n function prevPage () {\n page.value = clamp(page.value - 1, 1, pageCount.value)\n }\n\n function setPage (value: number) {\n page.value = clamp(value, 1, pageCount.value)\n }\n\n const data = { page, itemsPerPage, startIndex, stopIndex, pageCount, itemsLength, nextPage, prevPage, setPage, setItemsPerPage }\n\n provide(VDataTablePaginationSymbol, data)\n\n return data\n}\n\nexport function usePagination () {\n const data = inject(VDataTablePaginationSymbol)\n\n if (!data) throw new Error('Missing pagination!')\n\n return data\n}\n\nexport function usePaginatedItems <T> (options: {\n items: Ref<readonly (T | Group<T>)[]>\n startIndex: Ref<number>\n stopIndex: Ref<number>\n itemsPerPage: Ref<number>\n}) {\n const vm = getCurrentInstance('usePaginatedItems')\n\n const { items, startIndex, stopIndex, itemsPerPage } = options\n const paginatedItems = computed(() => {\n if (itemsPerPage.value <= 0) return items.value\n\n return items.value.slice(startIndex.value, stopIndex.value)\n })\n\n watch(paginatedItems, val => {\n vm.emit('update:currentItems', val)\n })\n\n return { paginatedItems }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"paginate.mjs","names":["useProxiedModel","computed","inject","provide","watch","watchEffect","clamp","getCurrentInstance","propsFactory","makeDataTablePaginateProps","page","type","Number","String","default","itemsPerPage","VDataTablePaginationSymbol","Symbol","for","createPagination","props","undefined","value","providePagination","options","itemsLength","startIndex","stopIndex","Math","min","pageCount","ceil","setItemsPerPage","nextPage","prevPage","setPage","data","usePagination","Error","usePaginatedItems","vm","items","paginatedItems","slice","val","emit"],"sources":["../../../../src/components/VDataTable/composables/paginate.ts"],"sourcesContent":["// Composables\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, inject, provide, watch, watchEffect } from 'vue'\nimport { clamp, getCurrentInstance, propsFactory } from '@/util'\n\n// Types\nimport type { InjectionKey, Ref } from 'vue'\nimport type { Group } from './group'\nimport type { EventProp } from '@/util'\n\nexport const makeDataTablePaginateProps = propsFactory({\n page: {\n type: [Number, String],\n default: 1,\n },\n itemsPerPage: {\n type: [Number, String],\n default: 10,\n },\n}, 'DataTable-paginate')\n\nconst VDataTablePaginationSymbol: InjectionKey<{\n page: Ref<number>\n itemsPerPage: Ref<number>\n startIndex: Ref<number>\n stopIndex: Ref<number>\n pageCount: Ref<number>\n itemsLength: Ref<number>\n prevPage: () => void\n nextPage: () => void\n setPage: (value: number) => void\n setItemsPerPage: (value: number) => void\n}> = Symbol.for('vuetify:data-table-pagination')\n\ntype PaginationProps = {\n page: number | string\n 'onUpdate:page': EventProp | undefined\n itemsPerPage: number | string\n 'onUpdate:itemsPerPage': EventProp | undefined\n itemsLength?: number | string\n}\n\nexport function createPagination (props: PaginationProps) {\n const page = useProxiedModel(props, 'page', undefined, value => +(value ?? 1))\n const itemsPerPage = useProxiedModel(props, 'itemsPerPage', undefined, value => +(value ?? 10))\n\n return { page, itemsPerPage }\n}\n\nexport function providePagination (options: {\n page: Ref<number>\n itemsPerPage: Ref<number>\n itemsLength: Ref<number>\n}) {\n const { page, itemsPerPage, itemsLength } = options\n\n const startIndex = computed(() => {\n if (itemsPerPage.value === -1) return 0\n\n return itemsPerPage.value * (page.value - 1)\n })\n const stopIndex = computed(() => {\n if (itemsPerPage.value === -1) return itemsLength.value\n\n return Math.min(itemsLength.value, startIndex.value + itemsPerPage.value)\n })\n\n const pageCount = computed(() => {\n if (itemsPerPage.value === -1 || itemsLength.value === 0) return 1\n\n return Math.ceil(itemsLength.value / itemsPerPage.value)\n })\n\n watchEffect(() => {\n if (page.value > pageCount.value) {\n page.value = pageCount.value\n }\n })\n\n function setItemsPerPage (value: number) {\n itemsPerPage.value = value\n page.value = 1\n }\n\n function nextPage () {\n page.value = clamp(page.value + 1, 1, pageCount.value)\n }\n\n function prevPage () {\n page.value = clamp(page.value - 1, 1, pageCount.value)\n }\n\n function setPage (value: number) {\n page.value = clamp(value, 1, pageCount.value)\n }\n\n const data = { page, itemsPerPage, startIndex, stopIndex, pageCount, itemsLength, nextPage, prevPage, setPage, setItemsPerPage }\n\n provide(VDataTablePaginationSymbol, data)\n\n return data\n}\n\nexport function usePagination () {\n const data = inject(VDataTablePaginationSymbol)\n\n if (!data) throw new Error('Missing pagination!')\n\n return data\n}\n\nexport function usePaginatedItems <T> (options: {\n items: Ref<readonly (T | Group<T>)[]>\n startIndex: Ref<number>\n stopIndex: Ref<number>\n itemsPerPage: Ref<number>\n}) {\n const vm = getCurrentInstance('usePaginatedItems')\n\n const { items, startIndex, stopIndex, itemsPerPage } = options\n const paginatedItems = computed(() => {\n if (itemsPerPage.value <= 0) return items.value\n\n return items.value.slice(startIndex.value, stopIndex.value)\n })\n\n watch(paginatedItems, val => {\n vm.emit('update:currentItems', val)\n })\n\n return { paginatedItems }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"select.mjs","names":["useProxiedModel","computed","inject","provide","deepEqual","propsFactory","wrapInArray","singleSelectStrategy","showSelectAll","allSelected","select","_ref","items","value","Set","selectAll","_ref2","selected","pageSelectStrategy","_ref3","currentPage","_ref4","item","add","delete","_ref5","allSelectStrategy","_ref6","allItems","_ref7","_ref8","makeDataTableSelectProps","showSelect","Boolean","selectStrategy","type","String","Object","default","modelValue","Array","valueComparator","Function","VDataTableSelectionSymbol","Symbol","for","provideSelection","props","_ref9","v","map","find","values","allSelectable","filter","selectable","currentPageSelectable","isSelected","every","has","isSomeSelected","some","newSelected","toggleSelect","someSelected","size","length","data","useSelection","Error"],"sources":["../../../../src/components/VDataTable/composables/select.ts"],"sourcesContent":["// Composables\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, inject, provide } from 'vue'\nimport { deepEqual, propsFactory, wrapInArray } from '@/util'\n\n// Types\nimport type { InjectionKey, PropType, Ref } from 'vue'\nimport type { DataTableItemProps } from './items'\nimport type { EventProp } from '@/util'\n\nexport interface SelectableItem {\n value: any\n selectable: boolean\n}\n\nexport interface DataTableSelectStrategy {\n showSelectAll: boolean\n allSelected: (data: {\n allItems: SelectableItem[]\n currentPage: SelectableItem[]\n }) => SelectableItem[]\n select: (data: {\n items: SelectableItem[]\n value: boolean\n selected: Set<unknown>\n }) => Set<unknown>\n selectAll: (data: {\n value: boolean\n allItems: SelectableItem[]\n currentPage: SelectableItem[]\n selected: Set<unknown>\n }) => Set<unknown>\n}\n\ntype SelectionProps = Pick<DataTableItemProps, 'itemValue'> & {\n modelValue: readonly any[]\n selectStrategy: 'single' | 'page' | 'all'\n valueComparator: typeof deepEqual\n 'onUpdate:modelValue': EventProp<[any[]]> | undefined\n}\n\nconst singleSelectStrategy: DataTableSelectStrategy = {\n showSelectAll: false,\n allSelected: () => [],\n select: ({ items, value }) => {\n return new Set(value ? [items[0]?.value] : [])\n },\n selectAll: ({ selected }) => selected,\n}\n\nconst pageSelectStrategy: DataTableSelectStrategy = {\n showSelectAll: true,\n allSelected: ({ currentPage }) => currentPage,\n select: ({ items, value, selected }) => {\n for (const item of items) {\n if (value) selected.add(item.value)\n else selected.delete(item.value)\n }\n\n return selected\n },\n selectAll: ({ value, currentPage, selected }) => pageSelectStrategy.select({ items: currentPage, value, selected }),\n}\n\nconst allSelectStrategy: DataTableSelectStrategy = {\n showSelectAll: true,\n allSelected: ({ allItems }) => allItems,\n select: ({ items, value, selected }) => {\n for (const item of items) {\n if (value) selected.add(item.value)\n else selected.delete(item.value)\n }\n\n return selected\n },\n selectAll: ({ value, allItems, selected }) => allSelectStrategy.select({ items: allItems, value, selected }),\n}\n\nexport const makeDataTableSelectProps = propsFactory({\n showSelect: Boolean,\n selectStrategy: {\n type: [String, Object] as PropType<'single' | 'page' | 'all'>,\n default: 'page',\n },\n modelValue: {\n type: Array as PropType<readonly any[]>,\n default: () => ([]),\n },\n valueComparator: {\n type: Function as PropType<typeof deepEqual>,\n default: deepEqual,\n },\n}, 'DataTable-select')\n\nexport const VDataTableSelectionSymbol: InjectionKey<ReturnType<typeof provideSelection>> = Symbol.for('vuetify:data-table-selection')\n\nexport function provideSelection (\n props: SelectionProps,\n { allItems, currentPage }: { allItems: Ref<SelectableItem[]>, currentPage: Ref<SelectableItem[]> }\n) {\n const selected = useProxiedModel(props, 'modelValue', props.modelValue, v => {\n return new Set(wrapInArray(v).map(v => {\n return allItems.value.find(item => props.valueComparator(v, item.value))?.value ?? v\n }))\n }, v => {\n return [...v.values()]\n })\n\n const allSelectable = computed(() => allItems.value.filter(item => item.selectable))\n const currentPageSelectable = computed(() => currentPage.value.filter(item => item.selectable))\n\n const selectStrategy = computed(() => {\n if (typeof props.selectStrategy === 'object') return props.selectStrategy\n\n switch (props.selectStrategy) {\n case 'single': return singleSelectStrategy\n case 'all': return allSelectStrategy\n case 'page':\n default: return pageSelectStrategy\n }\n })\n\n function isSelected (items: SelectableItem | SelectableItem[]) {\n return wrapInArray(items).every(item => selected.value.has(item.value))\n }\n\n function isSomeSelected (items: SelectableItem | SelectableItem[]) {\n return wrapInArray(items).some(item => selected.value.has(item.value))\n }\n\n function select (items: SelectableItem[], value: boolean) {\n const newSelected = selectStrategy.value.select({\n items,\n value,\n selected: new Set(selected.value),\n })\n\n selected.value = newSelected\n }\n\n function toggleSelect (item: SelectableItem) {\n select([item], !isSelected([item]))\n }\n\n function selectAll (value: boolean) {\n const newSelected = selectStrategy.value.selectAll({\n value,\n allItems: allSelectable.value,\n currentPage: currentPageSelectable.value,\n selected: new Set(selected.value),\n })\n\n selected.value = newSelected\n }\n\n const someSelected = computed(() => selected.value.size > 0)\n const allSelected = computed(() => {\n const items = selectStrategy.value.allSelected({\n allItems: allSelectable.value,\n currentPage: currentPageSelectable.value,\n })\n return !!items.length && isSelected(items)\n })\n\n const data = {\n toggleSelect,\n select,\n selectAll,\n isSelected,\n isSomeSelected,\n someSelected,\n allSelected,\n showSelectAll: selectStrategy.value.showSelectAll,\n }\n\n provide(VDataTableSelectionSymbol, data)\n\n return data\n}\n\nexport function useSelection () {\n const data = inject(VDataTableSelectionSymbol)\n\n if (!data) throw new Error('Missing selection!')\n\n return data\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"select.mjs","names":["useProxiedModel","computed","inject","provide","deepEqual","propsFactory","wrapInArray","singleSelectStrategy","showSelectAll","allSelected","select","_ref","items","value","Set","selectAll","_ref2","selected","pageSelectStrategy","_ref3","currentPage","_ref4","item","add","delete","_ref5","allSelectStrategy","_ref6","allItems","_ref7","_ref8","makeDataTableSelectProps","showSelect","Boolean","selectStrategy","type","String","Object","default","modelValue","Array","valueComparator","Function","VDataTableSelectionSymbol","Symbol","for","provideSelection","props","_ref9","v","map","find","values","allSelectable","filter","selectable","currentPageSelectable","isSelected","every","has","isSomeSelected","some","newSelected","toggleSelect","someSelected","size","length","data","useSelection","Error"],"sources":["../../../../src/components/VDataTable/composables/select.ts"],"sourcesContent":["// Composables\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, inject, provide } from 'vue'\nimport { deepEqual, propsFactory, wrapInArray } from '@/util'\n\n// Types\nimport type { InjectionKey, PropType, Ref } from 'vue'\nimport type { DataTableItemProps } from './items'\nimport type { EventProp } from '@/util'\n\nexport interface SelectableItem {\n value: any\n selectable: boolean\n}\n\nexport interface DataTableSelectStrategy {\n showSelectAll: boolean\n allSelected: (data: {\n allItems: SelectableItem[]\n currentPage: SelectableItem[]\n }) => SelectableItem[]\n select: (data: {\n items: SelectableItem[]\n value: boolean\n selected: Set<unknown>\n }) => Set<unknown>\n selectAll: (data: {\n value: boolean\n allItems: SelectableItem[]\n currentPage: SelectableItem[]\n selected: Set<unknown>\n }) => Set<unknown>\n}\n\ntype SelectionProps = Pick<DataTableItemProps, 'itemValue'> & {\n modelValue: readonly any[]\n selectStrategy: 'single' | 'page' | 'all'\n valueComparator: typeof deepEqual\n 'onUpdate:modelValue': EventProp<[any[]]> | undefined\n}\n\nconst singleSelectStrategy: DataTableSelectStrategy = {\n showSelectAll: false,\n allSelected: () => [],\n select: ({ items, value }) => {\n return new Set(value ? [items[0]?.value] : [])\n },\n selectAll: ({ selected }) => selected,\n}\n\nconst pageSelectStrategy: DataTableSelectStrategy = {\n showSelectAll: true,\n allSelected: ({ currentPage }) => currentPage,\n select: ({ items, value, selected }) => {\n for (const item of items) {\n if (value) selected.add(item.value)\n else selected.delete(item.value)\n }\n\n return selected\n },\n selectAll: ({ value, currentPage, selected }) => pageSelectStrategy.select({ items: currentPage, value, selected }),\n}\n\nconst allSelectStrategy: DataTableSelectStrategy = {\n showSelectAll: true,\n allSelected: ({ allItems }) => allItems,\n select: ({ items, value, selected }) => {\n for (const item of items) {\n if (value) selected.add(item.value)\n else selected.delete(item.value)\n }\n\n return selected\n },\n selectAll: ({ value, allItems, selected }) => allSelectStrategy.select({ items: allItems, value, selected }),\n}\n\nexport const makeDataTableSelectProps = propsFactory({\n showSelect: Boolean,\n selectStrategy: {\n type: [String, Object] as PropType<'single' | 'page' | 'all'>,\n default: 'page',\n },\n modelValue: {\n type: Array as PropType<readonly any[]>,\n default: () => ([]),\n },\n valueComparator: {\n type: Function as PropType<typeof deepEqual>,\n default: deepEqual,\n },\n}, 'DataTable-select')\n\nexport const VDataTableSelectionSymbol: InjectionKey<ReturnType<typeof provideSelection>> = Symbol.for('vuetify:data-table-selection')\n\nexport function provideSelection (\n props: SelectionProps,\n { allItems, currentPage }: { allItems: Ref<SelectableItem[]>, currentPage: Ref<SelectableItem[]> }\n) {\n const selected = useProxiedModel(props, 'modelValue', props.modelValue, v => {\n return new Set(wrapInArray(v).map(v => {\n return allItems.value.find(item => props.valueComparator(v, item.value))?.value ?? v\n }))\n }, v => {\n return [...v.values()]\n })\n\n const allSelectable = computed(() => allItems.value.filter(item => item.selectable))\n const currentPageSelectable = computed(() => currentPage.value.filter(item => item.selectable))\n\n const selectStrategy = computed(() => {\n if (typeof props.selectStrategy === 'object') return props.selectStrategy\n\n switch (props.selectStrategy) {\n case 'single': return singleSelectStrategy\n case 'all': return allSelectStrategy\n case 'page':\n default: return pageSelectStrategy\n }\n })\n\n function isSelected (items: SelectableItem | SelectableItem[]) {\n return wrapInArray(items).every(item => selected.value.has(item.value))\n }\n\n function isSomeSelected (items: SelectableItem | SelectableItem[]) {\n return wrapInArray(items).some(item => selected.value.has(item.value))\n }\n\n function select (items: SelectableItem[], value: boolean) {\n const newSelected = selectStrategy.value.select({\n items,\n value,\n selected: new Set(selected.value),\n })\n\n selected.value = newSelected\n }\n\n function toggleSelect (item: SelectableItem) {\n select([item], !isSelected([item]))\n }\n\n function selectAll (value: boolean) {\n const newSelected = selectStrategy.value.selectAll({\n value,\n allItems: allSelectable.value,\n currentPage: currentPageSelectable.value,\n selected: new Set(selected.value),\n })\n\n selected.value = newSelected\n }\n\n const someSelected = computed(() => selected.value.size > 0)\n const allSelected = computed(() => {\n const items = selectStrategy.value.allSelected({\n allItems: allSelectable.value,\n currentPage: currentPageSelectable.value,\n })\n return !!items.length && isSelected(items)\n })\n\n const data = {\n toggleSelect,\n select,\n selectAll,\n isSelected,\n isSomeSelected,\n someSelected,\n allSelected,\n showSelectAll: selectStrategy.value.showSelectAll,\n }\n\n provide(VDataTableSelectionSymbol, data)\n\n return data\n}\n\nexport function useSelection () {\n const data = inject(VDataTableSelectionSymbol)\n\n if (!data) throw new Error('Missing selection!')\n\n return data\n}\n"],"mappings":"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","ignoreList":[]}
@@ -94,6 +94,7 @@ export function sortItems(items, sortByItems, locale, customSorters, customRawSo
94
94
  });
95
95
  return [...items].sort((a, b) => {
96
96
  for (let i = 0; i < sortByItems.length; i++) {
97
+ let hasCustomResult = false;
97
98
  const sortKey = sortByItems[i].key;
98
99
  const sortOrder = sortByItems[i].order ?? 'asc';
99
100
  if (sortOrder === false) continue;
@@ -107,14 +108,17 @@ export function sortItems(items, sortByItems, locale, customSorters, customRawSo
107
108
  }
108
109
  if (customRawSorters?.[sortKey]) {
109
110
  const customResult = customRawSorters[sortKey](sortARaw, sortBRaw);
110
- if (!customResult) continue;
111
- return customResult;
111
+ if (customResult == null) continue;
112
+ hasCustomResult = true;
113
+ if (customResult) return customResult;
112
114
  }
113
115
  if (customSorters?.[sortKey]) {
114
116
  const customResult = customSorters[sortKey](sortA, sortB);
115
- if (!customResult) continue;
116
- return customResult;
117
+ if (customResult == null) continue;
118
+ hasCustomResult = true;
119
+ if (customResult) return customResult;
117
120
  }
121
+ if (hasCustomResult) continue;
118
122
 
119
123
  // Dates should be compared numerically
120
124
  if (sortA instanceof Date && sortB instanceof Date) {
@@ -1 +1 @@
1
- {"version":3,"file":"sort.mjs","names":["useLocale","useProxiedModel","computed","inject","provide","toRef","getObjectValueByPath","isEmpty","propsFactory","makeDataTableSortProps","sortBy","type","Array","default","customKeySort","Object","multiSort","Boolean","mustSort","VDataTableSortSymbol","Symbol","for","createSort","props","provideSort","options","page","toggleSort","column","key","newSortBy","value","map","x","item","find","order","filter","isSorted","data","useSort","Error","useSortedItems","items","sortFunctions","sortRawFunctions","locale","sortedItems","length","sortItems","current","sortByItems","customSorters","customRawSorters","stringCollator","Intl","Collator","sensitivity","usage","sort","a","b","i","sortKey","sortOrder","sortA","raw","sortB","sortARaw","sortBRaw","customResult","Date","getTime","s","toString","toLocaleLowerCase","isNaN","Number","compare"],"sources":["../../../../src/components/VDataTable/composables/sort.ts"],"sourcesContent":["// Composables\nimport { useLocale } from '@/composables'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, inject, provide, toRef } from 'vue'\nimport { getObjectValueByPath, isEmpty, propsFactory } from '@/util'\n\n// Types\nimport type { InjectionKey, PropType, Ref } from 'vue'\nimport type { DataTableCompareFunction, InternalDataTableHeader } from '../types'\n\nexport const makeDataTableSortProps = propsFactory({\n sortBy: {\n type: Array as PropType<readonly SortItem[]>,\n default: () => ([]),\n },\n customKeySort: Object as PropType<Record<string, DataTableCompareFunction>>,\n multiSort: Boolean,\n mustSort: Boolean,\n}, 'DataTable-sort')\n\nconst VDataTableSortSymbol: InjectionKey<{\n sortBy: Ref<readonly SortItem[]>\n toggleSort: (column: InternalDataTableHeader) => void\n isSorted: (column: InternalDataTableHeader) => boolean\n}> = Symbol.for('vuetify:data-table-sort')\n\nexport type SortItem = { key: string, order?: boolean | 'asc' | 'desc' }\n\ntype SortProps = {\n sortBy: readonly SortItem[]\n 'onUpdate:sortBy': ((value: any) => void) | undefined\n mustSort: boolean\n multiSort: boolean\n}\n\nexport function createSort (props: SortProps) {\n const sortBy = useProxiedModel(props, 'sortBy')\n const mustSort = toRef(props, 'mustSort')\n const multiSort = toRef(props, 'multiSort')\n\n return { sortBy, mustSort, multiSort }\n}\n\nexport function provideSort (options: {\n sortBy: Ref<readonly SortItem[]>\n mustSort: Ref<boolean>\n multiSort: Ref<boolean>\n page?: Ref<number>\n}) {\n const { sortBy, mustSort, multiSort, page } = options\n\n const toggleSort = (column: InternalDataTableHeader) => {\n if (column.key == null) return\n\n let newSortBy = sortBy.value.map(x => ({ ...x })) ?? []\n const item = newSortBy.find(x => x.key === column.key)\n\n if (!item) {\n if (multiSort.value) newSortBy = [...newSortBy, { key: column.key, order: 'asc' }]\n else newSortBy = [{ key: column.key, order: 'asc' }]\n } else if (item.order === 'desc') {\n if (mustSort.value) {\n item.order = 'asc'\n } else {\n newSortBy = newSortBy.filter(x => x.key !== column.key)\n }\n } else {\n item.order = 'desc'\n }\n\n sortBy.value = newSortBy\n if (page) page.value = 1\n }\n\n function isSorted (column: InternalDataTableHeader) {\n return !!sortBy.value.find(item => item.key === column.key)\n }\n\n const data = { sortBy, toggleSort, isSorted }\n\n provide(VDataTableSortSymbol, data)\n\n return data\n}\n\nexport function useSort () {\n const data = inject(VDataTableSortSymbol)\n\n if (!data) throw new Error('Missing sort!')\n\n return data\n}\n\n// TODO: abstract into project composable\nexport function useSortedItems <T extends Record<string, any>> (\n props: { customKeySort: Record<string, DataTableCompareFunction> | undefined },\n items: Ref<T[]>,\n sortBy: Ref<readonly SortItem[]>,\n sortFunctions?: Ref<Record<string, DataTableCompareFunction> | undefined>,\n sortRawFunctions?: Ref<Record<string, DataTableCompareFunction> | undefined>,\n) {\n const locale = useLocale()\n const sortedItems = computed(() => {\n if (!sortBy.value.length) return items.value\n\n return sortItems(items.value, sortBy.value, locale.current.value, {\n ...props.customKeySort,\n ...sortFunctions?.value,\n }, sortRawFunctions?.value)\n })\n\n return { sortedItems }\n}\n\nexport function sortItems<T extends Record<string, any>> (\n items: T[],\n sortByItems: readonly SortItem[],\n locale: string,\n customSorters?: Record<string, DataTableCompareFunction>,\n customRawSorters?: Record<string, DataTableCompareFunction>,\n): T[] {\n const stringCollator = new Intl.Collator(locale, { sensitivity: 'accent', usage: 'sort' })\n\n return [...items].sort((a, b) => {\n for (let i = 0; i < sortByItems.length; i++) {\n const sortKey = sortByItems[i].key\n const sortOrder = sortByItems[i].order ?? 'asc'\n\n if (sortOrder === false) continue\n\n let sortA = getObjectValueByPath(a.raw, sortKey)\n let sortB = getObjectValueByPath(b.raw, sortKey)\n let sortARaw = a.raw\n let sortBRaw = b.raw\n\n if (sortOrder === 'desc') {\n [sortA, sortB] = [sortB, sortA]\n ;[sortARaw, sortBRaw] = [sortBRaw, sortARaw]\n }\n\n if (customRawSorters?.[sortKey]) {\n const customResult = customRawSorters[sortKey](sortARaw, sortBRaw)\n\n if (!customResult) continue\n\n return customResult\n }\n\n if (customSorters?.[sortKey]) {\n const customResult = customSorters[sortKey](sortA, sortB)\n\n if (!customResult) continue\n\n return customResult\n }\n\n // Dates should be compared numerically\n if (sortA instanceof Date && sortB instanceof Date) {\n return sortA.getTime() - sortB.getTime()\n }\n\n [sortA, sortB] = [sortA, sortB].map(s => s != null ? s.toString().toLocaleLowerCase() : s)\n\n if (sortA !== sortB) {\n if (isEmpty(sortA) && isEmpty(sortB)) return 0\n if (isEmpty(sortA)) return -1\n if (isEmpty(sortB)) return 1\n if (!isNaN(sortA) && !isNaN(sortB)) return Number(sortA) - Number(sortB)\n return stringCollator.compare(sortA, sortB)\n }\n }\n\n return 0\n })\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"sort.mjs","names":["useLocale","useProxiedModel","computed","inject","provide","toRef","getObjectValueByPath","isEmpty","propsFactory","makeDataTableSortProps","sortBy","type","Array","default","customKeySort","Object","multiSort","Boolean","mustSort","VDataTableSortSymbol","Symbol","for","createSort","props","provideSort","options","page","toggleSort","column","key","newSortBy","value","map","x","item","find","order","filter","isSorted","data","useSort","Error","useSortedItems","items","sortFunctions","sortRawFunctions","locale","sortedItems","length","sortItems","current","sortByItems","customSorters","customRawSorters","stringCollator","Intl","Collator","sensitivity","usage","sort","a","b","i","hasCustomResult","sortKey","sortOrder","sortA","raw","sortB","sortARaw","sortBRaw","customResult","Date","getTime","s","toString","toLocaleLowerCase","isNaN","Number","compare"],"sources":["../../../../src/components/VDataTable/composables/sort.ts"],"sourcesContent":["// Composables\nimport { useLocale } from '@/composables'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, inject, provide, toRef } from 'vue'\nimport { getObjectValueByPath, isEmpty, propsFactory } from '@/util'\n\n// Types\nimport type { InjectionKey, PropType, Ref } from 'vue'\nimport type { DataTableCompareFunction, InternalDataTableHeader } from '../types'\n\nexport const makeDataTableSortProps = propsFactory({\n sortBy: {\n type: Array as PropType<readonly SortItem[]>,\n default: () => ([]),\n },\n customKeySort: Object as PropType<Record<string, DataTableCompareFunction>>,\n multiSort: Boolean,\n mustSort: Boolean,\n}, 'DataTable-sort')\n\nconst VDataTableSortSymbol: InjectionKey<{\n sortBy: Ref<readonly SortItem[]>\n toggleSort: (column: InternalDataTableHeader) => void\n isSorted: (column: InternalDataTableHeader) => boolean\n}> = Symbol.for('vuetify:data-table-sort')\n\nexport type SortItem = { key: string, order?: boolean | 'asc' | 'desc' }\n\ntype SortProps = {\n sortBy: readonly SortItem[]\n 'onUpdate:sortBy': ((value: any) => void) | undefined\n mustSort: boolean\n multiSort: boolean\n}\n\nexport function createSort (props: SortProps) {\n const sortBy = useProxiedModel(props, 'sortBy')\n const mustSort = toRef(props, 'mustSort')\n const multiSort = toRef(props, 'multiSort')\n\n return { sortBy, mustSort, multiSort }\n}\n\nexport function provideSort (options: {\n sortBy: Ref<readonly SortItem[]>\n mustSort: Ref<boolean>\n multiSort: Ref<boolean>\n page?: Ref<number>\n}) {\n const { sortBy, mustSort, multiSort, page } = options\n\n const toggleSort = (column: InternalDataTableHeader) => {\n if (column.key == null) return\n\n let newSortBy = sortBy.value.map(x => ({ ...x })) ?? []\n const item = newSortBy.find(x => x.key === column.key)\n\n if (!item) {\n if (multiSort.value) newSortBy = [...newSortBy, { key: column.key, order: 'asc' }]\n else newSortBy = [{ key: column.key, order: 'asc' }]\n } else if (item.order === 'desc') {\n if (mustSort.value) {\n item.order = 'asc'\n } else {\n newSortBy = newSortBy.filter(x => x.key !== column.key)\n }\n } else {\n item.order = 'desc'\n }\n\n sortBy.value = newSortBy\n if (page) page.value = 1\n }\n\n function isSorted (column: InternalDataTableHeader) {\n return !!sortBy.value.find(item => item.key === column.key)\n }\n\n const data = { sortBy, toggleSort, isSorted }\n\n provide(VDataTableSortSymbol, data)\n\n return data\n}\n\nexport function useSort () {\n const data = inject(VDataTableSortSymbol)\n\n if (!data) throw new Error('Missing sort!')\n\n return data\n}\n\n// TODO: abstract into project composable\nexport function useSortedItems <T extends Record<string, any>> (\n props: { customKeySort: Record<string, DataTableCompareFunction> | undefined },\n items: Ref<T[]>,\n sortBy: Ref<readonly SortItem[]>,\n sortFunctions?: Ref<Record<string, DataTableCompareFunction> | undefined>,\n sortRawFunctions?: Ref<Record<string, DataTableCompareFunction> | undefined>,\n) {\n const locale = useLocale()\n const sortedItems = computed(() => {\n if (!sortBy.value.length) return items.value\n\n return sortItems(items.value, sortBy.value, locale.current.value, {\n ...props.customKeySort,\n ...sortFunctions?.value,\n }, sortRawFunctions?.value)\n })\n\n return { sortedItems }\n}\n\nexport function sortItems<T extends Record<string, any>> (\n items: T[],\n sortByItems: readonly SortItem[],\n locale: string,\n customSorters?: Record<string, DataTableCompareFunction>,\n customRawSorters?: Record<string, DataTableCompareFunction>,\n): T[] {\n const stringCollator = new Intl.Collator(locale, { sensitivity: 'accent', usage: 'sort' })\n\n return [...items].sort((a, b) => {\n for (let i = 0; i < sortByItems.length; i++) {\n let hasCustomResult = false\n const sortKey = sortByItems[i].key\n const sortOrder = sortByItems[i].order ?? 'asc'\n\n if (sortOrder === false) continue\n\n let sortA = getObjectValueByPath(a.raw, sortKey)\n let sortB = getObjectValueByPath(b.raw, sortKey)\n let sortARaw = a.raw\n let sortBRaw = b.raw\n\n if (sortOrder === 'desc') {\n [sortA, sortB] = [sortB, sortA]\n ;[sortARaw, sortBRaw] = [sortBRaw, sortARaw]\n }\n\n if (customRawSorters?.[sortKey]) {\n const customResult = customRawSorters[sortKey](sortARaw, sortBRaw)\n\n if (customResult == null) continue\n hasCustomResult = true\n if (customResult) return customResult\n }\n\n if (customSorters?.[sortKey]) {\n const customResult = customSorters[sortKey](sortA, sortB)\n\n if (customResult == null) continue\n hasCustomResult = true\n if (customResult) return customResult\n }\n\n if (hasCustomResult) continue\n\n // Dates should be compared numerically\n if (sortA instanceof Date && sortB instanceof Date) {\n return sortA.getTime() - sortB.getTime()\n }\n\n [sortA, sortB] = [sortA, sortB].map(s => s != null ? s.toString().toLocaleLowerCase() : s)\n\n if (sortA !== sortB) {\n if (isEmpty(sortA) && isEmpty(sortB)) return 0\n if (isEmpty(sortA)) return -1\n if (isEmpty(sortB)) return 1\n if (!isNaN(sortA) && !isNaN(sortB)) return Number(sortA) - Number(sortB)\n return stringCollator.compare(sortA, sortB)\n }\n }\n\n return 0\n })\n}\n"],"mappings":"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","ignoreList":[]}