vuetify 3.3.0 → 3.3.2

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 (536) hide show
  1. package/dist/json/attributes.json +88 -60
  2. package/dist/json/importMap.json +26 -26
  3. package/dist/json/tags.json +8 -1
  4. package/dist/json/web-types.json +836 -899
  5. package/dist/vuetify-labs.css +136 -114
  6. package/dist/vuetify-labs.d.ts +6688 -11806
  7. package/dist/vuetify-labs.esm.js +8271 -8060
  8. package/dist/vuetify-labs.esm.js.map +1 -1
  9. package/dist/vuetify-labs.js +8270 -8059
  10. package/dist/vuetify-labs.min.css +2 -2
  11. package/dist/vuetify.css +133 -112
  12. package/dist/vuetify.d.ts +4441 -8286
  13. package/dist/vuetify.esm.js +6686 -6548
  14. package/dist/vuetify.esm.js.map +1 -1
  15. package/dist/vuetify.js +6685 -6547
  16. package/dist/vuetify.js.map +1 -1
  17. package/dist/vuetify.min.css +2 -2
  18. package/dist/vuetify.min.js +979 -975
  19. package/dist/vuetify.min.js.map +1 -1
  20. package/lib/blueprints/index.d.mts +31 -31
  21. package/lib/blueprints/md1.d.mts +31 -31
  22. package/lib/blueprints/md2.d.mts +31 -31
  23. package/lib/blueprints/md3.d.mts +31 -31
  24. package/lib/components/VAlert/VAlert.mjs +6 -6
  25. package/lib/components/VAlert/VAlert.mjs.map +1 -1
  26. package/lib/components/VAlert/_variables.scss +2 -2
  27. package/lib/components/VAlert/index.d.mts +16 -74
  28. package/lib/components/VApp/VApp.mjs +4 -4
  29. package/lib/components/VApp/VApp.mjs.map +1 -1
  30. package/lib/components/VApp/index.d.mts +0 -15
  31. package/lib/components/VAppBar/VAppBar.mjs +9 -6
  32. package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
  33. package/lib/components/VAppBar/VAppBarNavIcon.mjs +1 -1
  34. package/lib/components/VAppBar/VAppBarNavIcon.mjs.map +1 -1
  35. package/lib/components/VAppBar/index.d.mts +1 -82
  36. package/lib/components/VAutocomplete/VAutocomplete.mjs +11 -11
  37. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  38. package/lib/components/VAutocomplete/index.d.mts +205 -259
  39. package/lib/components/VAvatar/VAvatar.mjs +4 -4
  40. package/lib/components/VAvatar/VAvatar.mjs.map +1 -1
  41. package/lib/components/VAvatar/_variables.scss +1 -1
  42. package/lib/components/VAvatar/index.d.mts +0 -15
  43. package/lib/components/VBadge/VBadge.mjs +6 -6
  44. package/lib/components/VBadge/VBadge.mjs.map +1 -1
  45. package/lib/components/VBadge/index.d.mts +0 -19
  46. package/lib/components/VBanner/VBanner.mjs +7 -10
  47. package/lib/components/VBanner/VBanner.mjs.map +1 -1
  48. package/lib/components/VBanner/VBannerActions.mjs +2 -2
  49. package/lib/components/VBanner/VBannerActions.mjs.map +1 -1
  50. package/lib/components/VBanner/VBannerText.mjs +1 -0
  51. package/lib/components/VBanner/VBannerText.mjs.map +1 -1
  52. package/lib/components/VBanner/index.d.mts +1 -58
  53. package/lib/components/VBottomNavigation/VBottomNavigation.mjs +8 -8
  54. package/lib/components/VBottomNavigation/VBottomNavigation.mjs.map +1 -1
  55. package/lib/components/VBottomNavigation/index.d.mts +0 -15
  56. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs +6 -9
  57. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs.map +1 -1
  58. package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.mjs +2 -2
  59. package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.mjs.map +1 -1
  60. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs +3 -3
  61. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs.map +1 -1
  62. package/lib/components/VBreadcrumbs/index.d.mts +30 -60
  63. package/lib/components/VBtn/VBtn.mjs +6 -6
  64. package/lib/components/VBtn/VBtn.mjs.map +1 -1
  65. package/lib/components/VBtn/_variables.scss +15 -15
  66. package/lib/components/VBtn/index.d.mts +0 -27
  67. package/lib/components/VBtnGroup/VBtnGroup.mjs +4 -4
  68. package/lib/components/VBtnGroup/VBtnGroup.mjs.map +1 -1
  69. package/lib/components/VBtnGroup/index.d.mts +0 -15
  70. package/lib/components/VBtnToggle/VBtnToggle.mjs +2 -2
  71. package/lib/components/VBtnToggle/VBtnToggle.mjs.map +1 -1
  72. package/lib/components/VBtnToggle/index.d.mts +19 -34
  73. package/lib/components/VCard/VCard.mjs +7 -7
  74. package/lib/components/VCard/VCard.mjs.map +1 -1
  75. package/lib/components/VCard/VCard.sass +2 -2
  76. package/lib/components/VCard/VCardItem.mjs +4 -4
  77. package/lib/components/VCard/VCardItem.mjs.map +1 -1
  78. package/lib/components/VCard/VCardSubtitle.mjs +1 -0
  79. package/lib/components/VCard/VCardSubtitle.mjs.map +1 -1
  80. package/lib/components/VCard/VCardText.mjs +1 -0
  81. package/lib/components/VCard/VCardText.mjs.map +1 -1
  82. package/lib/components/VCard/VCardTitle.mjs +1 -0
  83. package/lib/components/VCard/VCardTitle.mjs.map +1 -1
  84. package/lib/components/VCard/_variables.scss +10 -11
  85. package/lib/components/VCard/index.d.mts +16 -158
  86. package/lib/components/VCarousel/VCarousel.mjs +4 -7
  87. package/lib/components/VCarousel/VCarousel.mjs.map +1 -1
  88. package/lib/components/VCarousel/VCarouselItem.mjs +1 -1
  89. package/lib/components/VCarousel/VCarouselItem.mjs.map +1 -1
  90. package/lib/components/VCarousel/index.d.mts +79 -237
  91. package/lib/components/VCheckbox/VCheckbox.mjs +3 -3
  92. package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
  93. package/lib/components/VCheckbox/VCheckboxBtn.mjs +4 -4
  94. package/lib/components/VCheckbox/VCheckboxBtn.mjs.map +1 -1
  95. package/lib/components/VCheckbox/index.d.mts +191 -277
  96. package/lib/components/VChip/VChip.mjs +7 -7
  97. package/lib/components/VChip/VChip.mjs.map +1 -1
  98. package/lib/components/VChip/index.d.mts +19 -82
  99. package/lib/components/VChipGroup/VChipGroup.mjs +4 -7
  100. package/lib/components/VChipGroup/VChipGroup.mjs.map +1 -1
  101. package/lib/components/VChipGroup/index.d.mts +19 -58
  102. package/lib/components/VCode/index.d.mts +0 -15
  103. package/lib/components/VCode/index.mjs +3 -0
  104. package/lib/components/VCode/index.mjs.map +1 -1
  105. package/lib/components/VColorPicker/VColorPicker.mjs +10 -12
  106. package/lib/components/VColorPicker/VColorPicker.mjs.map +1 -1
  107. package/lib/components/VColorPicker/VColorPickerCanvas.mjs +2 -5
  108. package/lib/components/VColorPicker/VColorPickerCanvas.mjs.map +1 -1
  109. package/lib/components/VColorPicker/VColorPickerEdit.mjs +3 -3
  110. package/lib/components/VColorPicker/VColorPickerEdit.mjs.map +1 -1
  111. package/lib/components/VColorPicker/VColorPickerPreview.mjs +3 -3
  112. package/lib/components/VColorPicker/VColorPickerPreview.mjs.map +1 -1
  113. package/lib/components/VColorPicker/VColorPickerSwatches.mjs +1 -1
  114. package/lib/components/VColorPicker/VColorPickerSwatches.mjs.map +1 -1
  115. package/lib/components/VCombobox/VCombobox.mjs +13 -12
  116. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  117. package/lib/components/VCombobox/index.d.mts +205 -259
  118. package/lib/components/VCounter/VCounter.mjs +2 -2
  119. package/lib/components/VCounter/VCounter.mjs.map +1 -1
  120. package/lib/components/VCounter/index.d.mts +19 -34
  121. package/lib/components/VDefaultsProvider/VDefaultsProvider.mjs +4 -4
  122. package/lib/components/VDefaultsProvider/VDefaultsProvider.mjs.map +1 -1
  123. package/lib/components/VDefaultsProvider/index.d.mts +7 -24
  124. package/lib/components/VDialog/VDialog.mjs +7 -7
  125. package/lib/components/VDialog/VDialog.mjs.map +1 -1
  126. package/lib/components/VDialog/index.d.mts +175 -301
  127. package/lib/components/VDivider/VDivider.mjs +3 -3
  128. package/lib/components/VDivider/VDivider.mjs.map +1 -1
  129. package/lib/components/VDivider/index.d.mts +0 -15
  130. package/lib/components/VExpansionPanel/VExpansionPanel.mjs +5 -5
  131. package/lib/components/VExpansionPanel/VExpansionPanel.mjs.map +1 -1
  132. package/lib/components/VExpansionPanel/VExpansionPanelText.mjs +3 -3
  133. package/lib/components/VExpansionPanel/VExpansionPanelText.mjs.map +1 -1
  134. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs +5 -5
  135. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs.map +1 -1
  136. package/lib/components/VExpansionPanel/VExpansionPanels.mjs +3 -3
  137. package/lib/components/VExpansionPanel/VExpansionPanels.mjs.map +1 -1
  138. package/lib/components/VExpansionPanel/index.d.mts +35 -107
  139. package/lib/components/VField/VField.mjs +8 -8
  140. package/lib/components/VField/VField.mjs.map +1 -1
  141. package/lib/components/VField/VField.sass +0 -1
  142. package/lib/components/VField/VFieldLabel.mjs +1 -1
  143. package/lib/components/VField/VFieldLabel.mjs.map +1 -1
  144. package/lib/components/VField/_variables.scss +1 -0
  145. package/lib/components/VField/index.d.mts +39 -54
  146. package/lib/components/VFileInput/VFileInput.mjs +5 -5
  147. package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
  148. package/lib/components/VFileInput/index.d.mts +381 -537
  149. package/lib/components/VFooter/VFooter.mjs +4 -4
  150. package/lib/components/VFooter/VFooter.mjs.map +1 -1
  151. package/lib/components/VFooter/_variables.scss +1 -1
  152. package/lib/components/VFooter/index.d.mts +0 -15
  153. package/lib/components/VForm/VForm.mjs +3 -3
  154. package/lib/components/VForm/VForm.mjs.map +1 -1
  155. package/lib/components/VForm/index.d.mts +19 -146
  156. package/lib/components/VGrid/VCol.mjs +2 -2
  157. package/lib/components/VGrid/VCol.mjs.map +1 -1
  158. package/lib/components/VGrid/VContainer.mjs +3 -3
  159. package/lib/components/VGrid/VContainer.mjs.map +1 -1
  160. package/lib/components/VGrid/VRow.mjs +2 -2
  161. package/lib/components/VGrid/VRow.mjs.map +1 -1
  162. package/lib/components/VGrid/VSpacer.mjs +1 -0
  163. package/lib/components/VGrid/VSpacer.mjs.map +1 -1
  164. package/lib/components/VGrid/index.d.mts +0 -60
  165. package/lib/components/VHover/VHover.mjs +1 -1
  166. package/lib/components/VHover/VHover.mjs.map +1 -1
  167. package/lib/components/VHover/index.d.mts +19 -46
  168. package/lib/components/VIcon/VIcon.mjs +4 -4
  169. package/lib/components/VIcon/VIcon.mjs.map +1 -1
  170. package/lib/components/VIcon/index.d.mts +0 -30
  171. package/lib/components/VImg/VImg.mjs +5 -4
  172. package/lib/components/VImg/VImg.mjs.map +1 -1
  173. package/lib/components/VImg/index.d.mts +0 -27
  174. package/lib/components/VInput/InputIcon.mjs +3 -2
  175. package/lib/components/VInput/InputIcon.mjs.map +1 -1
  176. package/lib/components/VInput/VInput.mjs +9 -5
  177. package/lib/components/VInput/VInput.mjs.map +1 -1
  178. package/lib/components/VInput/_variables.scss +1 -1
  179. package/lib/components/VInput/index.d.mts +88 -119
  180. package/lib/components/VItemGroup/VItem.mjs +2 -2
  181. package/lib/components/VItemGroup/VItem.mjs.map +1 -1
  182. package/lib/components/VItemGroup/VItemGroup.mjs +1 -1
  183. package/lib/components/VItemGroup/VItemGroup.mjs.map +1 -1
  184. package/lib/components/VItemGroup/index.d.mts +38 -120
  185. package/lib/components/VKbd/index.d.mts +0 -15
  186. package/lib/components/VKbd/index.mjs +3 -0
  187. package/lib/components/VKbd/index.mjs.map +1 -1
  188. package/lib/components/VLabel/VLabel.mjs +1 -1
  189. package/lib/components/VLabel/VLabel.mjs.map +1 -1
  190. package/lib/components/VLabel/index.d.mts +0 -15
  191. package/lib/components/VLayout/VLayout.mjs +3 -3
  192. package/lib/components/VLayout/VLayout.mjs.map +1 -1
  193. package/lib/components/VLayout/VLayoutItem.mjs +1 -1
  194. package/lib/components/VLayout/VLayoutItem.mjs.map +1 -1
  195. package/lib/components/VLayout/index.d.mts +0 -30
  196. package/lib/components/VLazy/VLazy.mjs +3 -3
  197. package/lib/components/VLazy/VLazy.mjs.map +1 -1
  198. package/lib/components/VLazy/index.d.mts +0 -15
  199. package/lib/components/VList/VList.css +1 -0
  200. package/lib/components/VList/VList.mjs +5 -4
  201. package/lib/components/VList/VList.mjs.map +1 -1
  202. package/lib/components/VList/VList.sass +1 -0
  203. package/lib/components/VList/VListChildren.mjs +3 -3
  204. package/lib/components/VList/VListChildren.mjs.map +1 -1
  205. package/lib/components/VList/VListGroup.mjs +8 -8
  206. package/lib/components/VList/VListGroup.mjs.map +1 -1
  207. package/lib/components/VList/VListImg.mjs +1 -0
  208. package/lib/components/VList/VListImg.mjs.map +1 -1
  209. package/lib/components/VList/VListItem.css +18 -0
  210. package/lib/components/VList/VListItem.mjs +9 -9
  211. package/lib/components/VList/VListItem.mjs.map +1 -1
  212. package/lib/components/VList/VListItem.sass +12 -0
  213. package/lib/components/VList/VListItemAction.mjs +1 -1
  214. package/lib/components/VList/VListItemAction.mjs.map +1 -1
  215. package/lib/components/VList/VListItemMedia.mjs +1 -1
  216. package/lib/components/VList/VListItemMedia.mjs.map +1 -1
  217. package/lib/components/VList/VListItemSubtitle.mjs +1 -0
  218. package/lib/components/VList/VListItemSubtitle.mjs.map +1 -1
  219. package/lib/components/VList/VListItemTitle.mjs +1 -0
  220. package/lib/components/VList/VListItemTitle.mjs.map +1 -1
  221. package/lib/components/VList/VListSubheader.mjs +3 -3
  222. package/lib/components/VList/VListSubheader.mjs.map +1 -1
  223. package/lib/components/VList/_variables.scss +6 -6
  224. package/lib/components/VList/index.d.mts +185 -337
  225. package/lib/components/VLocaleProvider/VLocaleProvider.mjs +1 -1
  226. package/lib/components/VLocaleProvider/VLocaleProvider.mjs.map +1 -1
  227. package/lib/components/VLocaleProvider/index.d.mts +0 -15
  228. package/lib/components/VMain/VMain.mjs +3 -3
  229. package/lib/components/VMain/VMain.mjs.map +1 -1
  230. package/lib/components/VMain/index.d.mts +0 -15
  231. package/lib/components/VMenu/VMenu.mjs +7 -7
  232. package/lib/components/VMenu/VMenu.mjs.map +1 -1
  233. package/lib/components/VMenu/index.d.mts +222 -348
  234. package/lib/components/VMenu/shared.mjs +2 -0
  235. package/lib/components/VMenu/shared.mjs.map +1 -1
  236. package/lib/components/VMessages/VMessages.mjs +3 -3
  237. package/lib/components/VMessages/VMessages.mjs.map +1 -1
  238. package/lib/components/VMessages/index.d.mts +15 -30
  239. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +17 -13
  240. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
  241. package/lib/components/VNavigationDrawer/index.d.mts +15 -42
  242. package/lib/components/VOverlay/VOverlay.mjs +11 -14
  243. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  244. package/lib/components/VOverlay/index.d.mts +55 -94
  245. package/lib/components/VOverlay/locationStrategies.mjs +5 -5
  246. package/lib/components/VOverlay/locationStrategies.mjs.map +1 -1
  247. package/lib/components/VOverlay/scrollStrategies.mjs +3 -3
  248. package/lib/components/VOverlay/scrollStrategies.mjs.map +1 -1
  249. package/lib/components/VOverlay/useActivator.mjs +6 -10
  250. package/lib/components/VOverlay/useActivator.mjs.map +1 -1
  251. package/lib/components/VOverlay/util/point.mjs +2 -0
  252. package/lib/components/VOverlay/util/point.mjs.map +1 -1
  253. package/lib/components/VPagination/VPagination.mjs +9 -9
  254. package/lib/components/VPagination/VPagination.mjs.map +1 -1
  255. package/lib/components/VPagination/index.d.mts +75 -106
  256. package/lib/components/VParallax/VParallax.mjs +3 -6
  257. package/lib/components/VParallax/VParallax.mjs.map +1 -1
  258. package/lib/components/VParallax/index.d.mts +0 -27
  259. package/lib/components/VProgressCircular/VProgressCircular.mjs +5 -5
  260. package/lib/components/VProgressCircular/VProgressCircular.mjs.map +1 -1
  261. package/lib/components/VProgressCircular/index.d.mts +19 -42
  262. package/lib/components/VProgressLinear/VProgressLinear.mjs +6 -6
  263. package/lib/components/VProgressLinear/VProgressLinear.mjs.map +1 -1
  264. package/lib/components/VProgressLinear/index.d.mts +19 -46
  265. package/lib/components/VRadio/VRadio.mjs +3 -3
  266. package/lib/components/VRadio/VRadio.mjs.map +1 -1
  267. package/lib/components/VRadio/index.d.mts +33 -68
  268. package/lib/components/VRadioGroup/VRadioGroup.mjs +4 -4
  269. package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
  270. package/lib/components/VRadioGroup/index.d.mts +140 -191
  271. package/lib/components/VRangeSlider/VRangeSlider.mjs +4 -4
  272. package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
  273. package/lib/components/VRangeSlider/index.d.mts +100 -143
  274. package/lib/components/VRating/VRating.mjs +6 -9
  275. package/lib/components/VRating/VRating.mjs.map +1 -1
  276. package/lib/components/VRating/index.d.mts +30 -49
  277. package/lib/components/VResponsive/VResponsive.css +1 -0
  278. package/lib/components/VResponsive/VResponsive.mjs +1 -1
  279. package/lib/components/VResponsive/VResponsive.mjs.map +1 -1
  280. package/lib/components/VResponsive/VResponsive.sass +1 -0
  281. package/lib/components/VResponsive/index.d.mts +0 -19
  282. package/lib/components/VSelect/VSelect.mjs +9 -9
  283. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  284. package/lib/components/VSelect/index.d.mts +205 -259
  285. package/lib/components/VSelectionControl/VSelectionControl.mjs +7 -7
  286. package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
  287. package/lib/components/VSelectionControl/index.d.mts +24 -24
  288. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs +6 -6
  289. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs.map +1 -1
  290. package/lib/components/VSelectionControlGroup/index.d.mts +0 -15
  291. package/lib/components/VSheet/VSheet.mjs +4 -4
  292. package/lib/components/VSheet/VSheet.mjs.map +1 -1
  293. package/lib/components/VSheet/index.d.mts +0 -15
  294. package/lib/components/VSlideGroup/VSlideGroup.mjs +7 -7
  295. package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
  296. package/lib/components/VSlideGroup/VSlideGroupItem.mjs +2 -2
  297. package/lib/components/VSlideGroup/VSlideGroupItem.mjs.map +1 -1
  298. package/lib/components/VSlideGroup/index.d.mts +68 -126
  299. package/lib/components/VSlider/VSlider.css +5 -4
  300. package/lib/components/VSlider/VSlider.mjs +6 -6
  301. package/lib/components/VSlider/VSlider.mjs.map +1 -1
  302. package/lib/components/VSlider/VSlider.sass +5 -4
  303. package/lib/components/VSlider/VSliderThumb.mjs +6 -6
  304. package/lib/components/VSlider/VSliderThumb.mjs.map +1 -1
  305. package/lib/components/VSlider/VSliderTrack.mjs +3 -3
  306. package/lib/components/VSlider/VSliderTrack.mjs.map +1 -1
  307. package/lib/components/VSlider/index.d.mts +100 -143
  308. package/lib/components/VSlider/slider.mjs +4 -7
  309. package/lib/components/VSlider/slider.mjs.map +1 -1
  310. package/lib/components/VSnackbar/VSnackbar.mjs +7 -7
  311. package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
  312. package/lib/components/VSnackbar/_variables.scss +1 -1
  313. package/lib/components/VSnackbar/index.d.mts +167 -289
  314. package/lib/components/VStepper/index.mjs +3 -2
  315. package/lib/components/VStepper/index.mjs.map +1 -1
  316. package/lib/components/VSwitch/VSwitch.mjs +6 -6
  317. package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
  318. package/lib/components/VSwitch/index.d.mts +164 -219
  319. package/lib/components/VSystemBar/VSystemBar.mjs +4 -4
  320. package/lib/components/VSystemBar/VSystemBar.mjs.map +1 -1
  321. package/lib/components/VSystemBar/_variables.scss +2 -2
  322. package/lib/components/VSystemBar/index.d.mts +0 -15
  323. package/lib/components/VTable/VTable.mjs +1 -1
  324. package/lib/components/VTable/VTable.mjs.map +1 -1
  325. package/lib/components/VTable/_variables.scss +1 -1
  326. package/lib/components/VTable/index.d.mts +0 -27
  327. package/lib/components/VTabs/VTab.mjs +3 -3
  328. package/lib/components/VTabs/VTab.mjs.map +1 -1
  329. package/lib/components/VTabs/VTabs.mjs +7 -7
  330. package/lib/components/VTabs/VTabs.mjs.map +1 -1
  331. package/lib/components/VTabs/index.d.mts +0 -30
  332. package/lib/components/VTabs/shared.mjs +2 -0
  333. package/lib/components/VTabs/shared.mjs.map +1 -1
  334. package/lib/components/VTextField/VTextField.mjs +6 -6
  335. package/lib/components/VTextField/VTextField.mjs.map +1 -1
  336. package/lib/components/VTextField/index.d.mts +423 -559
  337. package/lib/components/VTextarea/VTextarea.mjs +8 -11
  338. package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
  339. package/lib/components/VTextarea/index.d.mts +362 -494
  340. package/lib/components/VThemeProvider/VThemeProvider.mjs +1 -1
  341. package/lib/components/VThemeProvider/VThemeProvider.mjs.map +1 -1
  342. package/lib/components/VThemeProvider/index.d.mts +0 -15
  343. package/lib/components/VTimeline/VTimeline.mjs +4 -4
  344. package/lib/components/VTimeline/VTimeline.mjs.map +1 -1
  345. package/lib/components/VTimeline/VTimelineDivider.mjs +5 -5
  346. package/lib/components/VTimeline/VTimelineDivider.mjs.map +1 -1
  347. package/lib/components/VTimeline/VTimelineItem.mjs +4 -7
  348. package/lib/components/VTimeline/VTimelineItem.mjs.map +1 -1
  349. package/lib/components/VTimeline/index.d.mts +0 -38
  350. package/lib/components/VToolbar/VToolbar.mjs +8 -8
  351. package/lib/components/VToolbar/VToolbar.mjs.map +1 -1
  352. package/lib/components/VToolbar/VToolbarItems.mjs +4 -4
  353. package/lib/components/VToolbar/VToolbarItems.mjs.map +1 -1
  354. package/lib/components/VToolbar/VToolbarTitle.mjs +1 -1
  355. package/lib/components/VToolbar/VToolbarTitle.mjs.map +1 -1
  356. package/lib/components/VToolbar/_variables.scss +2 -2
  357. package/lib/components/VToolbar/index.d.mts +1 -70
  358. package/lib/components/VTooltip/VTooltip.mjs +6 -6
  359. package/lib/components/VTooltip/VTooltip.mjs.map +1 -1
  360. package/lib/components/VTooltip/index.d.mts +222 -348
  361. package/lib/components/VValidation/VValidation.mjs.map +1 -1
  362. package/lib/components/VValidation/index.d.mts +19 -90
  363. package/lib/components/VVirtualScroll/VVirtualScroll.mjs +15 -93
  364. package/lib/components/VVirtualScroll/VVirtualScroll.mjs.map +1 -1
  365. package/lib/components/VVirtualScroll/VVirtualScrollItem.mjs +9 -4
  366. package/lib/components/VVirtualScroll/VVirtualScrollItem.mjs.map +1 -1
  367. package/lib/components/VVirtualScroll/index.d.mts +25 -25
  368. package/lib/components/VWindow/VWindow.mjs +6 -6
  369. package/lib/components/VWindow/VWindow.mjs.map +1 -1
  370. package/lib/components/VWindow/VWindowItem.mjs +5 -5
  371. package/lib/components/VWindow/VWindowItem.mjs.map +1 -1
  372. package/lib/components/VWindow/index.d.mts +64 -138
  373. package/lib/components/index.d.mts +4688 -8535
  374. package/lib/components/transitions/createTransition.mjs +5 -8
  375. package/lib/components/transitions/createTransition.mjs.map +1 -1
  376. package/lib/components/transitions/dialog-transition.mjs +1 -3
  377. package/lib/components/transitions/dialog-transition.mjs.map +1 -1
  378. package/lib/components/transitions/index.d.mts +117 -357
  379. package/lib/composables/defaults.mjs +5 -0
  380. package/lib/composables/defaults.mjs.map +1 -1
  381. package/lib/composables/display.mjs +1 -1
  382. package/lib/composables/display.mjs.map +1 -1
  383. package/lib/composables/filter.mjs +2 -4
  384. package/lib/composables/filter.mjs.map +1 -1
  385. package/lib/composables/focus.mjs +1 -1
  386. package/lib/composables/focus.mjs.map +1 -1
  387. package/lib/composables/forwardRefs.mjs +2 -0
  388. package/lib/composables/forwardRefs.mjs.map +1 -1
  389. package/lib/composables/hydration.mjs +1 -1
  390. package/lib/composables/hydration.mjs.map +1 -1
  391. package/lib/composables/icons.mjs +7 -1
  392. package/lib/composables/icons.mjs.map +1 -1
  393. package/lib/composables/lazy.mjs +1 -3
  394. package/lib/composables/lazy.mjs.map +1 -1
  395. package/lib/composables/loader.mjs.map +1 -1
  396. package/lib/composables/locale.mjs +2 -1
  397. package/lib/composables/locale.mjs.map +1 -1
  398. package/lib/composables/mutationObserver.mjs +2 -5
  399. package/lib/composables/mutationObserver.mjs.map +1 -1
  400. package/lib/composables/nested/nested.mjs +2 -2
  401. package/lib/composables/nested/nested.mjs.map +1 -1
  402. package/lib/composables/nested/selectStrategies.mjs +1 -0
  403. package/lib/composables/nested/selectStrategies.mjs.map +1 -1
  404. package/lib/composables/proxiedModel.mjs +3 -3
  405. package/lib/composables/proxiedModel.mjs.map +1 -1
  406. package/lib/composables/refs.mjs +4 -1
  407. package/lib/composables/refs.mjs.map +1 -1
  408. package/lib/composables/resizeObserver.mjs +4 -4
  409. package/lib/composables/resizeObserver.mjs.map +1 -1
  410. package/lib/composables/router.mjs +1 -4
  411. package/lib/composables/router.mjs.map +1 -1
  412. package/lib/composables/scopeId.mjs +1 -0
  413. package/lib/composables/scopeId.mjs.map +1 -1
  414. package/lib/composables/theme.mjs.map +1 -1
  415. package/lib/composables/toggleScope.mjs +4 -0
  416. package/lib/composables/toggleScope.mjs.map +1 -1
  417. package/lib/composables/touch.mjs +1 -0
  418. package/lib/composables/touch.mjs.map +1 -1
  419. package/lib/composables/validation.mjs +2 -2
  420. package/lib/composables/validation.mjs.map +1 -1
  421. package/lib/composables/virtual.mjs +108 -0
  422. package/lib/composables/virtual.mjs.map +1 -0
  423. package/lib/directives/click-outside/index.mjs +2 -1
  424. package/lib/directives/click-outside/index.mjs.map +1 -1
  425. package/lib/directives/intersect/index.mjs +1 -1
  426. package/lib/directives/intersect/index.mjs.map +1 -1
  427. package/lib/directives/resize/index.mjs +2 -0
  428. package/lib/directives/resize/index.mjs.map +1 -1
  429. package/lib/directives/scroll/index.mjs +2 -0
  430. package/lib/directives/scroll/index.mjs.map +1 -1
  431. package/lib/directives/touch/index.mjs +1 -2
  432. package/lib/directives/touch/index.mjs.map +1 -1
  433. package/lib/entry-bundler.mjs +7 -2
  434. package/lib/entry-bundler.mjs.map +1 -1
  435. package/lib/framework.mjs +4 -6
  436. package/lib/framework.mjs.map +1 -1
  437. package/lib/iconsets/fa.mjs +1 -1
  438. package/lib/iconsets/fa.mjs.map +1 -1
  439. package/lib/iconsets/fa4.mjs +4 -3
  440. package/lib/iconsets/fa4.mjs.map +1 -1
  441. package/lib/iconsets/md.mjs +4 -3
  442. package/lib/iconsets/md.mjs.map +1 -1
  443. package/lib/iconsets/mdi-svg.mjs +1 -1
  444. package/lib/iconsets/mdi-svg.mjs.map +1 -1
  445. package/lib/iconsets/mdi.mjs +4 -3
  446. package/lib/iconsets/mdi.mjs.map +1 -1
  447. package/lib/index.d.mts +40 -38
  448. package/lib/labs/VBottomSheet/VBottomSheet.mjs +1 -1
  449. package/lib/labs/VBottomSheet/VBottomSheet.mjs.map +1 -1
  450. package/lib/labs/VBottomSheet/index.d.mts +55 -94
  451. package/lib/labs/VDataIterator/VDataIterator.mjs +13 -10
  452. package/lib/labs/VDataIterator/VDataIterator.mjs.map +1 -1
  453. package/lib/labs/VDataIterator/composables/items.mjs +9 -3
  454. package/lib/labs/VDataIterator/composables/items.mjs.map +1 -1
  455. package/lib/labs/VDataIterator/index.d.mts +143 -132
  456. package/lib/labs/VDataTable/VDataTable.css +1 -0
  457. package/lib/labs/VDataTable/VDataTable.mjs +14 -11
  458. package/lib/labs/VDataTable/VDataTable.mjs.map +1 -1
  459. package/lib/labs/VDataTable/VDataTable.sass +1 -0
  460. package/lib/labs/VDataTable/VDataTableColumn.mjs +2 -1
  461. package/lib/labs/VDataTable/VDataTableColumn.mjs.map +1 -1
  462. package/lib/labs/VDataTable/VDataTableFooter.mjs +3 -3
  463. package/lib/labs/VDataTable/VDataTableFooter.mjs.map +1 -1
  464. package/lib/labs/VDataTable/VDataTableGroupHeaderRow.mjs +5 -5
  465. package/lib/labs/VDataTable/VDataTableGroupHeaderRow.mjs.map +1 -1
  466. package/lib/labs/VDataTable/VDataTableHeaders.mjs +10 -9
  467. package/lib/labs/VDataTable/VDataTableHeaders.mjs.map +1 -1
  468. package/lib/labs/VDataTable/VDataTableRow.mjs +2 -1
  469. package/lib/labs/VDataTable/VDataTableRow.mjs.map +1 -1
  470. package/lib/labs/VDataTable/VDataTableRows.mjs +20 -16
  471. package/lib/labs/VDataTable/VDataTableRows.mjs.map +1 -1
  472. package/lib/labs/VDataTable/VDataTableServer.mjs +15 -10
  473. package/lib/labs/VDataTable/VDataTableServer.mjs.map +1 -1
  474. package/lib/labs/VDataTable/VDataTableVirtual.mjs +40 -25
  475. package/lib/labs/VDataTable/VDataTableVirtual.mjs.map +1 -1
  476. package/lib/labs/VDataTable/composables/expand.mjs +4 -4
  477. package/lib/labs/VDataTable/composables/expand.mjs.map +1 -1
  478. package/lib/labs/VDataTable/composables/group.mjs +1 -1
  479. package/lib/labs/VDataTable/composables/group.mjs.map +1 -1
  480. package/lib/labs/VDataTable/composables/headers.mjs +2 -2
  481. package/lib/labs/VDataTable/composables/headers.mjs.map +1 -1
  482. package/lib/labs/VDataTable/composables/items.mjs +12 -9
  483. package/lib/labs/VDataTable/composables/items.mjs.map +1 -1
  484. package/lib/labs/VDataTable/composables/paginate.mjs +1 -1
  485. package/lib/labs/VDataTable/composables/paginate.mjs.map +1 -1
  486. package/lib/labs/VDataTable/composables/select.mjs +125 -9
  487. package/lib/labs/VDataTable/composables/select.mjs.map +1 -1
  488. package/lib/labs/VDataTable/composables/sort.mjs +4 -9
  489. package/lib/labs/VDataTable/composables/sort.mjs.map +1 -1
  490. package/lib/labs/VDataTable/index.d.mts +1792 -2979
  491. package/lib/labs/VDataTable/types.mjs.map +1 -1
  492. package/lib/labs/VInfiniteScroll/VInfiniteScroll.mjs +1 -1
  493. package/lib/labs/VInfiniteScroll/VInfiniteScroll.mjs.map +1 -1
  494. package/lib/labs/VInfiniteScroll/index.d.mts +60 -91
  495. package/lib/labs/VSkeletonLoader/VSkeletonLoader.mjs +4 -4
  496. package/lib/labs/VSkeletonLoader/VSkeletonLoader.mjs.map +1 -1
  497. package/lib/labs/VSkeletonLoader/index.d.mts +0 -15
  498. package/lib/labs/components.d.mts +2049 -3320
  499. package/lib/labs/date/date.mjs.map +1 -1
  500. package/lib/labs/entry-bundler.mjs +3 -1
  501. package/lib/labs/entry-bundler.mjs.map +1 -1
  502. package/lib/locale/adapters/vue-i18n.d.mts +1 -1
  503. package/lib/locale/adapters/vue-i18n.mjs +5 -1
  504. package/lib/locale/adapters/vue-i18n.mjs.map +1 -1
  505. package/lib/locale/adapters/vuetify.mjs +1 -3
  506. package/lib/locale/adapters/vuetify.mjs.map +1 -1
  507. package/lib/styles/settings/_colors.scss +18 -15
  508. package/lib/util/anchor.mjs +1 -0
  509. package/lib/util/anchor.mjs.map +1 -1
  510. package/lib/util/animation.mjs +1 -0
  511. package/lib/util/animation.mjs.map +1 -1
  512. package/lib/util/color/APCA.mjs +1 -0
  513. package/lib/util/color/APCA.mjs.map +1 -1
  514. package/lib/util/color/transformCIELAB.mjs +2 -0
  515. package/lib/util/color/transformCIELAB.mjs.map +1 -1
  516. package/lib/util/color/transformSRGB.mjs +3 -1
  517. package/lib/util/color/transformSRGB.mjs.map +1 -1
  518. package/lib/util/colorUtils.mjs +2 -2
  519. package/lib/util/colorUtils.mjs.map +1 -1
  520. package/lib/util/console.mjs +1 -0
  521. package/lib/util/console.mjs.map +1 -1
  522. package/lib/util/createSimpleFunctional.mjs +2 -1
  523. package/lib/util/createSimpleFunctional.mjs.map +1 -1
  524. package/lib/util/defineComponent.mjs +5 -5
  525. package/lib/util/defineComponent.mjs.map +1 -1
  526. package/lib/util/getCurrentInstance.mjs +1 -2
  527. package/lib/util/getCurrentInstance.mjs.map +1 -1
  528. package/lib/util/helpers.mjs +3 -3
  529. package/lib/util/helpers.mjs.map +1 -1
  530. package/lib/util/injectSelf.mjs +2 -1
  531. package/lib/util/injectSelf.mjs.map +1 -1
  532. package/lib/util/propsFactory.mjs +1 -0
  533. package/lib/util/propsFactory.mjs.map +1 -1
  534. package/package.json +3 -2
  535. package/lib/labs/VDataTable/composables/virtual.mjs +0 -77
  536. package/lib/labs/VDataTable/composables/virtual.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"defineComponent.mjs","names":["defineComponent","_defineComponent","consoleWarn","pick","toKebabCase","propsFactory","injectDefaults","internalUseDefaults","options","_setup","setup","name","props","propKeys","Object","keys","filterProps","_as","String","ctx","defaults","value","_props","provideSubDefaults","setupBindings","genericComponent","exposeDefaults","arguments","length","undefined","defineFunctionalComponent","render"],"sources":["../../src/util/defineComponent.tsx"],"sourcesContent":["// Utils\nimport {\n defineComponent as _defineComponent, // eslint-disable-line no-restricted-imports\n} from 'vue'\nimport { consoleWarn } from '@/util/console'\nimport { pick, toKebabCase } from '@/util/helpers'\nimport { propsFactory } from '@/util/propsFactory'\nimport { injectDefaults, internalUseDefaults } from '@/composables/defaults'\n\n// Types\nimport type {\n AllowedComponentProps,\n ComponentCustomProps,\n ComponentInjectOptions,\n ComponentObjectPropsOptions,\n ComponentOptions,\n ComponentOptionsMixin,\n ComponentOptionsWithObjectProps,\n ComponentOptionsWithoutProps,\n ComponentPropsOptions,\n ComputedOptions,\n DefineComponent,\n EmitsOptions,\n ExtractDefaultPropTypes,\n ExtractPropTypes,\n FunctionalComponent,\n MethodOptions,\n ObjectEmitsOptions,\n SlotsType,\n VNode,\n VNodeChild,\n VNodeProps,\n} from 'vue'\n\n// No props\nexport function defineComponent<\n Props = {},\n RawBindings = {},\n D = {},\n C extends ComputedOptions = {},\n M extends MethodOptions = {},\n Mixin extends ComponentOptionsMixin = ComponentOptionsMixin,\n Extends extends ComponentOptionsMixin = ComponentOptionsMixin,\n E extends EmitsOptions = {},\n EE extends string = string,\n I extends {} = {},\n II extends string = string,\n S extends SlotsType = {},\n>(\n options: ComponentOptionsWithoutProps<\n Props,\n RawBindings,\n D,\n C,\n M,\n Mixin,\n Extends,\n E,\n EE,\n I,\n II,\n S\n >\n): DefineComponent<Props, RawBindings, D, C, M, Mixin, Extends, E, EE>\n\n// Object Props\nexport function defineComponent<\n PropsOptions extends Readonly<ComponentPropsOptions>,\n RawBindings,\n D,\n C extends ComputedOptions = {},\n M extends MethodOptions = {},\n Mixin extends ComponentOptionsMixin = ComponentOptionsMixin,\n Extends extends ComponentOptionsMixin = ComponentOptionsMixin,\n E extends EmitsOptions = {},\n EE extends string = string,\n I extends {} = {},\n II extends string = string,\n S extends SlotsType = {},\n>(\n options: ComponentOptionsWithObjectProps<\n PropsOptions,\n RawBindings,\n D,\n C,\n M,\n Mixin,\n Extends,\n E,\n EE,\n I,\n II,\n S\n >\n): DefineComponent<PropsOptions, RawBindings, D, C, M, Mixin, Extends, E, EE> & FilterPropsOptions<PropsOptions>\n\n// Implementation\nexport function defineComponent (options: ComponentOptions) {\n options._setup = options._setup ?? options.setup\n\n if (!options.name) {\n consoleWarn('The component is missing an explicit name, unable to generate default prop value')\n\n return options\n }\n\n if (options._setup) {\n options.props = propsFactory(options.props ?? {}, toKebabCase(options.name))()\n const propKeys = Object.keys(options.props)\n options.filterProps = function filterProps (props: Record<string, any>) {\n return pick(props, propKeys, ['class', 'style'])\n }\n\n options.props._as = String\n options.setup = function setup (props: Record<string, any>, ctx) {\n const defaults = injectDefaults()\n\n // Skip props proxy if defaults are not provided\n if (!defaults.value) return options._setup(props, ctx)\n\n const { props: _props, provideSubDefaults } = internalUseDefaults(props, props._as ?? options.name, defaults)\n\n const setupBindings = options._setup(_props, ctx)\n\n provideSubDefaults()\n\n return setupBindings\n }\n }\n\n return options\n}\n\ntype ToListeners<T extends string | number | symbol> = { [K in T]: K extends `on${infer U}` ? Uncapitalize<U> : K }[T]\n\nexport type SlotsToProps<\n U extends RawSlots,\n Generic extends boolean = false,\n T = U extends Record<string, any[]> ? MakeSlots<U> : U\n> = {\n $children?: (\n | VNodeChild\n | (T extends { default: infer V } ? V : {})\n | { [K in keyof T]?: T[K] }\n )\n 'v-slots'?: { [K in keyof T]?: T[K] | false }\n} & {\n [K in keyof T as `v-slot:${K & string}`]?: T[K] | false\n} & (Generic extends false ? {\n $slots?: { [K in keyof T]?: T[K] }\n} : {})\n\ntype RawSlots = Record<string, any[]> | Record<string, Slot>\ntype Slot<T extends any[] = any[]> = (...args: T) => VNodeChild\ntype VueSlot<T extends any[] = any[]> = (...args: T) => VNode[]\nexport type MakeSlots<T extends RawSlots> = {\n [K in keyof T]: T[K] extends any[] ? Slot<T[K]> : T[K]\n}\ntype MakeInternalSlots<T extends RawSlots> = {\n [K in keyof T]: T[K] extends any[] ? VueSlot<T[K]> : T[K]\n}\n\nexport type GenericProps<Props, Slots extends Record<string, any[]>> = {\n $props: Props & SlotsToProps<Slots, true>\n $slots: MakeSlots<Slots>\n}\n\ntype DefineComponentWithGenericProps<T extends (new (props: Record<string, any>, slots: RawSlots) => {\n $props?: Record<string, any>\n})> = <\n PropsOptions extends Readonly<ComponentObjectPropsOptions>,\n RawBindings,\n D,\n C extends ComputedOptions = {},\n M extends MethodOptions = {},\n Mixin extends ComponentOptionsMixin = ComponentOptionsMixin,\n Extends extends ComponentOptionsMixin = ComponentOptionsMixin,\n E extends EmitsOptions = Record<string, any>,\n EE extends string = string,\n I extends ComponentInjectOptions = {},\n II extends string = string,\n // Slots extends RawSlots = ConstructorParameters<T> extends [any, infer SS extends RawSlots | undefined] ? Exclude<SS, undefined> : {},\n Slots extends RawSlots = ConstructorParameters<T>[1],\n S extends SlotsType = SlotsType<Partial<MakeInternalSlots<Slots>>>,\n III = InstanceType<T>,\n P = III extends Record<'$props', any>\n ? Omit<PropsOptions, keyof III['$props']>\n : PropsOptions,\n Base = DefineComponent<\n P,\n RawBindings,\n D,\n C,\n M,\n Mixin,\n Extends,\n E extends any[] ? E : III extends Record<'$props', any> ? Omit<E, ToListeners<keyof III['$props']>> : E,\n EE,\n PublicProps,\n ExtractPropTypes<P> & ({} extends E ? {} : EmitsToProps<E>),\n ExtractDefaultPropTypes<P>,\n S\n >\n>(\n options: ComponentOptionsWithObjectProps<PropsOptions, RawBindings, D, C, M, Mixin, Extends, E, EE, I, II, S>\n) => Base & T & FilterPropsOptions<PropsOptions>\n\ntype DefineComponentWithSlots<Slots extends RawSlots> = <\n PropsOptions extends Readonly<ComponentPropsOptions>,\n RawBindings,\n D,\n C extends ComputedOptions = {},\n M extends MethodOptions = {},\n Mixin extends ComponentOptionsMixin = ComponentOptionsMixin,\n Extends extends ComponentOptionsMixin = ComponentOptionsMixin,\n E extends EmitsOptions = Record<string, any>,\n EE extends string = string,\n I extends ComponentInjectOptions = {},\n II extends string = string,\n S extends SlotsType = SlotsType<Partial<MakeInternalSlots<Slots>>>,\n>(\n options: ComponentOptionsWithObjectProps<PropsOptions, RawBindings, D, C, M, Mixin, Extends, E, EE, I, II, S>\n) => DefineComponent<\n ExtractPropTypes<PropsOptions> & SlotsToProps<Slots>,\n RawBindings,\n D,\n C,\n M,\n Mixin,\n Extends,\n E,\n EE,\n PublicProps,\n ExtractPropTypes<PropsOptions> & SlotsToProps<Slots> & ({} extends E ? {} : EmitsToProps<E>),\n ExtractDefaultPropTypes<PropsOptions>,\n S\n> & FilterPropsOptions<PropsOptions>\n\n// No argument - simple default slot\nexport function genericComponent (exposeDefaults?: boolean): DefineComponentWithSlots<{ default: [] }>\n\n// Generic constructor argument - generic props and slots\nexport function genericComponent<T extends (new (props: Record<string, any>, slots: any) => {\n $props?: Record<string, any>\n})> (exposeDefaults?: boolean): DefineComponentWithGenericProps<T>\n\n// Slots argument - simple slots\nexport function genericComponent<\n Slots extends RawSlots\n> (exposeDefaults?: boolean): DefineComponentWithSlots<Slots>\n\n// Implementation\nexport function genericComponent (exposeDefaults = true) {\n return (options: any) => ((exposeDefaults ? defineComponent : _defineComponent) as any)(options)\n}\n\nexport function defineFunctionalComponent<\n T extends FunctionalComponent<Props>,\n PropsOptions = ComponentObjectPropsOptions,\n Defaults = ExtractDefaultPropTypes<PropsOptions>,\n Props = Readonly<ExtractPropTypes<PropsOptions>>,\n> (props: PropsOptions, render: T): FunctionalComponent<Partial<Defaults> & Omit<Props, keyof Defaults>> {\n render.props = props as any\n return render as any\n}\n\ntype EmitsToProps<T extends EmitsOptions> = T extends string[]\n ? {\n [K in string & `on${Capitalize<T[number]>}`]?: (...args: any[]) => any\n }\n : T extends ObjectEmitsOptions\n ? {\n [K in string &\n `on${Capitalize<string & keyof T>}`]?: K extends `on${infer C}`\n ? T[Uncapitalize<C>] extends null\n ? (...args: any[]) => any\n : (\n ...args: T[Uncapitalize<C>] extends (...args: infer P) => any\n ? P\n : never\n ) => any\n : never\n }\n : {}\n\ntype PublicProps =\n & VNodeProps\n & AllowedComponentProps\n & ComponentCustomProps\n\n// Adds a filterProps method to the component options\nexport interface FilterPropsOptions<PropsOptions extends Readonly<ComponentPropsOptions>, Props = ExtractPropTypes<PropsOptions>> {\n filterProps<\n T extends Partial<Props>,\n U extends Exclude<keyof Props, Exclude<keyof Props, keyof T>>\n > (props: T): [yes: Partial<Pick<T, U>>, no: Omit<T, U>]\n}\n"],"mappings":"AAAA;AACA,SACEA,eAAe,IAAIC,gBAAgB,CAAE;AAAA,OAChC,KAAK;AAAA,SACHC,WAAW;AAAA,SACXC,IAAI,EAAEC,WAAW;AAAA,SACjBC,YAAY;AAAA,SACZC,cAAc,EAAEC,mBAAmB,uCAE5C;AAuFA;AACA,OAAO,SAASP,eAAeA,CAAEQ,OAAyB,EAAE;EAC1DA,OAAO,CAACC,MAAM,GAAGD,OAAO,CAACC,MAAM,IAAID,OAAO,CAACE,KAAK;EAEhD,IAAI,CAACF,OAAO,CAACG,IAAI,EAAE;IACjBT,WAAW,CAAC,kFAAkF,CAAC;IAE/F,OAAOM,OAAO;EAChB;EAEA,IAAIA,OAAO,CAACC,MAAM,EAAE;IAClBD,OAAO,CAACI,KAAK,GAAGP,YAAY,CAACG,OAAO,CAACI,KAAK,IAAI,CAAC,CAAC,EAAER,WAAW,CAACI,OAAO,CAACG,IAAI,CAAC,CAAC,EAAE;IAC9E,MAAME,QAAQ,GAAGC,MAAM,CAACC,IAAI,CAACP,OAAO,CAACI,KAAK,CAAC;IAC3CJ,OAAO,CAACQ,WAAW,GAAG,SAASA,WAAWA,CAAEJ,KAA0B,EAAE;MACtE,OAAOT,IAAI,CAACS,KAAK,EAAEC,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAClD,CAAC;IAEDL,OAAO,CAACI,KAAK,CAACK,GAAG,GAAGC,MAAM;IAC1BV,OAAO,CAACE,KAAK,GAAG,SAASA,KAAKA,CAAEE,KAA0B,EAAEO,GAAG,EAAE;MAC/D,MAAMC,QAAQ,GAAGd,cAAc,EAAE;;MAEjC;MACA,IAAI,CAACc,QAAQ,CAACC,KAAK,EAAE,OAAOb,OAAO,CAACC,MAAM,CAACG,KAAK,EAAEO,GAAG,CAAC;MAEtD,MAAM;QAAEP,KAAK,EAAEU,MAAM;QAAEC;MAAmB,CAAC,GAAGhB,mBAAmB,CAACK,KAAK,EAAEA,KAAK,CAACK,GAAG,IAAIT,OAAO,CAACG,IAAI,EAAES,QAAQ,CAAC;MAE7G,MAAMI,aAAa,GAAGhB,OAAO,CAACC,MAAM,CAACa,MAAM,EAAEH,GAAG,CAAC;MAEjDI,kBAAkB,EAAE;MAEpB,OAAOC,aAAa;IACtB,CAAC;EACH;EAEA,OAAOhB,OAAO;AAChB;AAwHA;AACA,OAAO,SAASiB,gBAAgBA,CAAA,EAAyB;EAAA,IAAvBC,cAAc,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,IAAI;EACrD,OAAQnB,OAAY,IAAK,CAAEkB,cAAc,GAAG1B,eAAe,GAAGC,gBAAgB,EAAUO,OAAO,CAAC;AAClG;AAEA,OAAO,SAASsB,yBAAyBA,CAKtClB,KAAmB,EAAEmB,MAAS,EAAwE;EACvGA,MAAM,CAACnB,KAAK,GAAGA,KAAY;EAC3B,OAAOmB,MAAM;AACf"}
1
+ {"version":3,"file":"defineComponent.mjs","names":["injectDefaults","internalUseDefaults","defineComponent","_defineComponent","consoleWarn","pick","propsFactory","options","_setup","setup","name","props","propKeys","Object","keys","filterProps","_as","String","ctx","defaults","value","_props","provideSubDefaults","setupBindings","genericComponent","exposeDefaults","arguments","length","undefined","defineFunctionalComponent","render"],"sources":["../../src/util/defineComponent.tsx"],"sourcesContent":["// Composables\nimport { injectDefaults, internalUseDefaults } from '@/composables/defaults'\n\n// Utilities\nimport {\n defineComponent as _defineComponent, // eslint-disable-line no-restricted-imports\n} from 'vue'\nimport { consoleWarn } from '@/util/console'\nimport { pick } from '@/util/helpers'\nimport { propsFactory } from '@/util/propsFactory'\n\n// Types\nimport type {\n AllowedComponentProps,\n ComponentCustomProps,\n ComponentInjectOptions,\n ComponentObjectPropsOptions,\n ComponentOptions,\n ComponentOptionsMixin,\n ComponentOptionsWithObjectProps,\n ComponentOptionsWithoutProps,\n ComponentPropsOptions,\n ComputedOptions,\n DefineComponent,\n EmitsOptions,\n ExtractDefaultPropTypes,\n ExtractPropTypes,\n FunctionalComponent,\n MethodOptions,\n ObjectEmitsOptions,\n SlotsType,\n VNode,\n VNodeChild,\n VNodeProps,\n} from 'vue'\n\n// No props\nexport function defineComponent<\n Props = {},\n RawBindings = {},\n D = {},\n C extends ComputedOptions = {},\n M extends MethodOptions = {},\n Mixin extends ComponentOptionsMixin = ComponentOptionsMixin,\n Extends extends ComponentOptionsMixin = ComponentOptionsMixin,\n E extends EmitsOptions = {},\n EE extends string = string,\n I extends {} = {},\n II extends string = string,\n S extends SlotsType = {},\n>(\n options: ComponentOptionsWithoutProps<\n Props,\n RawBindings,\n D,\n C,\n M,\n Mixin,\n Extends,\n E,\n EE,\n I,\n II,\n S\n >\n): DefineComponent<Props, RawBindings, D, C, M, Mixin, Extends, E, EE>\n\n// Object Props\nexport function defineComponent<\n PropsOptions extends Readonly<ComponentPropsOptions>,\n RawBindings,\n D,\n C extends ComputedOptions = {},\n M extends MethodOptions = {},\n Mixin extends ComponentOptionsMixin = ComponentOptionsMixin,\n Extends extends ComponentOptionsMixin = ComponentOptionsMixin,\n E extends EmitsOptions = {},\n EE extends string = string,\n I extends {} = {},\n II extends string = string,\n S extends SlotsType = {},\n>(\n options: ComponentOptionsWithObjectProps<\n PropsOptions,\n RawBindings,\n D,\n C,\n M,\n Mixin,\n Extends,\n E,\n EE,\n I,\n II,\n S\n >\n): DefineComponent<PropsOptions, RawBindings, D, C, M, Mixin, Extends, E, EE> & FilterPropsOptions<PropsOptions>\n\n// Implementation\nexport function defineComponent (options: ComponentOptions) {\n options._setup = options._setup ?? options.setup\n\n if (!options.name) {\n consoleWarn('The component is missing an explicit name, unable to generate default prop value')\n\n return options\n }\n\n if (options._setup) {\n options.props = propsFactory(options.props ?? {}, options.name)()\n const propKeys = Object.keys(options.props)\n options.filterProps = function filterProps (props: Record<string, any>) {\n return pick(props, propKeys, ['class', 'style'])\n }\n\n options.props._as = String\n options.setup = function setup (props: Record<string, any>, ctx) {\n const defaults = injectDefaults()\n\n // Skip props proxy if defaults are not provided\n if (!defaults.value) return options._setup(props, ctx)\n\n const { props: _props, provideSubDefaults } = internalUseDefaults(props, props._as ?? options.name, defaults)\n\n const setupBindings = options._setup(_props, ctx)\n\n provideSubDefaults()\n\n return setupBindings\n }\n }\n\n return options\n}\n\ntype ToListeners<T extends string | number | symbol> = { [K in T]: K extends `on${infer U}` ? Uncapitalize<U> : K }[T]\n\nexport type SlotsToProps<\n U extends RawSlots,\n T = MakeInternalSlots<U>\n> = {\n $children?: (\n | VNodeChild\n | (T extends { default: infer V } ? V : {})\n | { [K in keyof T]?: T[K] }\n )\n 'v-slots'?: { [K in keyof T]?: T[K] | false }\n} & {\n [K in keyof T as `v-slot:${K & string}`]?: T[K] | false\n}\n\ntype RawSlots = Record<string, unknown>\ntype Slot<T> = [T] extends [never] ? () => VNodeChild : (arg: T) => VNodeChild\ntype VueSlot<T> = [T] extends [never] ? () => VNode[] : (arg: T) => VNode[]\ntype MakeInternalSlots<T extends RawSlots> = {\n [K in keyof T]: Slot<T[K]>\n}\ntype MakeSlots<T extends RawSlots> = {\n [K in keyof T]: VueSlot<T[K]>\n}\n\nexport type GenericProps<Props, Slots extends Record<string, unknown>> = {\n $props: Props & SlotsToProps<Slots>\n $slots: MakeSlots<Slots>\n}\n\ntype DefineComponentWithGenericProps<T extends (new (props: Record<string, any>, slots: RawSlots) => {\n $props?: Record<string, any>\n})> = <\n PropsOptions extends Readonly<ComponentObjectPropsOptions>,\n RawBindings,\n D,\n C extends ComputedOptions = {},\n M extends MethodOptions = {},\n Mixin extends ComponentOptionsMixin = ComponentOptionsMixin,\n Extends extends ComponentOptionsMixin = ComponentOptionsMixin,\n E extends EmitsOptions = Record<string, any>,\n EE extends string = string,\n I extends ComponentInjectOptions = {},\n II extends string = string,\n // Slots extends RawSlots = ConstructorParameters<T> extends [any, infer SS extends RawSlots | undefined] ? Exclude<SS, undefined> : {},\n Slots extends RawSlots = ConstructorParameters<T>[1],\n S extends SlotsType = SlotsType<Partial<MakeSlots<Slots>>>,\n III = InstanceType<T>,\n P = III extends Record<'$props', any>\n ? Omit<PropsOptions, keyof III['$props']>\n : PropsOptions,\n Base = DefineComponent<\n P,\n RawBindings,\n D,\n C,\n M,\n Mixin,\n Extends,\n E extends any[] ? E : III extends Record<'$props', any> ? Omit<E, ToListeners<keyof III['$props']>> : E,\n EE,\n PublicProps,\n ExtractPropTypes<P> & ({} extends E ? {} : EmitsToProps<E>),\n ExtractDefaultPropTypes<P>,\n S\n >\n>(\n options: ComponentOptionsWithObjectProps<PropsOptions, RawBindings, D, C, M, Mixin, Extends, E, EE, I, II, S>\n) => Base & T & FilterPropsOptions<PropsOptions>\n\ntype DefineComponentWithSlots<Slots extends RawSlots> = <\n PropsOptions extends Readonly<ComponentPropsOptions>,\n RawBindings,\n D,\n C extends ComputedOptions = {},\n M extends MethodOptions = {},\n Mixin extends ComponentOptionsMixin = ComponentOptionsMixin,\n Extends extends ComponentOptionsMixin = ComponentOptionsMixin,\n E extends EmitsOptions = Record<string, any>,\n EE extends string = string,\n I extends ComponentInjectOptions = {},\n II extends string = string,\n S extends SlotsType = SlotsType<Partial<MakeSlots<Slots>>>,\n>(\n options: ComponentOptionsWithObjectProps<PropsOptions, RawBindings, D, C, M, Mixin, Extends, E, EE, I, II, S>\n) => DefineComponent<\n ExtractPropTypes<PropsOptions> & SlotsToProps<Slots>,\n RawBindings,\n D,\n C,\n M,\n Mixin,\n Extends,\n E,\n EE,\n PublicProps,\n ExtractPropTypes<PropsOptions> & SlotsToProps<Slots> & ({} extends E ? {} : EmitsToProps<E>),\n ExtractDefaultPropTypes<PropsOptions>,\n S\n> & FilterPropsOptions<PropsOptions>\n\n// No argument - simple default slot\nexport function genericComponent (exposeDefaults?: boolean): DefineComponentWithSlots<{ default: never }>\n\n// Generic constructor argument - generic props and slots\nexport function genericComponent<T extends (new (props: Record<string, any>, slots: any) => {\n $props?: Record<string, any>\n})> (exposeDefaults?: boolean): DefineComponentWithGenericProps<T>\n\n// Slots argument - simple slots\nexport function genericComponent<\n Slots extends RawSlots\n> (exposeDefaults?: boolean): DefineComponentWithSlots<Slots>\n\n// Implementation\nexport function genericComponent (exposeDefaults = true) {\n return (options: any) => ((exposeDefaults ? defineComponent : _defineComponent) as any)(options)\n}\n\nexport function defineFunctionalComponent<\n T extends FunctionalComponent<Props>,\n PropsOptions = ComponentObjectPropsOptions,\n Defaults = ExtractDefaultPropTypes<PropsOptions>,\n Props = Readonly<ExtractPropTypes<PropsOptions>>,\n> (props: PropsOptions, render: T): FunctionalComponent<Partial<Defaults> & Omit<Props, keyof Defaults>> {\n render.props = props as any\n return render as any\n}\n\ntype EmitsToProps<T extends EmitsOptions> = T extends string[]\n ? {\n [K in string & `on${Capitalize<T[number]>}`]?: (...args: any[]) => any\n }\n : T extends ObjectEmitsOptions\n ? {\n [K in string &\n `on${Capitalize<string & keyof T>}`]?: K extends `on${infer C}`\n ? T[Uncapitalize<C>] extends null\n ? (...args: any[]) => any\n : (\n ...args: T[Uncapitalize<C>] extends (...args: infer P) => any\n ? P\n : never\n ) => any\n : never\n }\n : {}\n\ntype PublicProps =\n & VNodeProps\n & AllowedComponentProps\n & ComponentCustomProps\n\n// Adds a filterProps method to the component options\nexport interface FilterPropsOptions<PropsOptions extends Readonly<ComponentPropsOptions>, Props = ExtractPropTypes<PropsOptions>> {\n filterProps<\n T extends Partial<Props>,\n U extends Exclude<keyof Props, Exclude<keyof Props, keyof T>>\n > (props: T): [yes: Partial<Pick<T, U>>, no: Omit<T, U>]\n}\n"],"mappings":"AAAA;AAAA,SACSA,cAAc,EAAEC,mBAAmB,uCAE5C;AACA,SACEC,eAAe,IAAIC,gBAAgB,CAAE;AAAA,OAChC,KAAK;AAAA,SACHC,WAAW;AAAA,SACXC,IAAI;AAAA,SACJC,YAAY,8BAErB;AAuFA;AACA,OAAO,SAASJ,eAAeA,CAAEK,OAAyB,EAAE;EAC1DA,OAAO,CAACC,MAAM,GAAGD,OAAO,CAACC,MAAM,IAAID,OAAO,CAACE,KAAK;EAEhD,IAAI,CAACF,OAAO,CAACG,IAAI,EAAE;IACjBN,WAAW,CAAC,kFAAkF,CAAC;IAE/F,OAAOG,OAAO;EAChB;EAEA,IAAIA,OAAO,CAACC,MAAM,EAAE;IAClBD,OAAO,CAACI,KAAK,GAAGL,YAAY,CAACC,OAAO,CAACI,KAAK,IAAI,CAAC,CAAC,EAAEJ,OAAO,CAACG,IAAI,CAAC,EAAE;IACjE,MAAME,QAAQ,GAAGC,MAAM,CAACC,IAAI,CAACP,OAAO,CAACI,KAAK,CAAC;IAC3CJ,OAAO,CAACQ,WAAW,GAAG,SAASA,WAAWA,CAAEJ,KAA0B,EAAE;MACtE,OAAON,IAAI,CAACM,KAAK,EAAEC,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAClD,CAAC;IAEDL,OAAO,CAACI,KAAK,CAACK,GAAG,GAAGC,MAAM;IAC1BV,OAAO,CAACE,KAAK,GAAG,SAASA,KAAKA,CAAEE,KAA0B,EAAEO,GAAG,EAAE;MAC/D,MAAMC,QAAQ,GAAGnB,cAAc,EAAE;;MAEjC;MACA,IAAI,CAACmB,QAAQ,CAACC,KAAK,EAAE,OAAOb,OAAO,CAACC,MAAM,CAACG,KAAK,EAAEO,GAAG,CAAC;MAEtD,MAAM;QAAEP,KAAK,EAAEU,MAAM;QAAEC;MAAmB,CAAC,GAAGrB,mBAAmB,CAACU,KAAK,EAAEA,KAAK,CAACK,GAAG,IAAIT,OAAO,CAACG,IAAI,EAAES,QAAQ,CAAC;MAE7G,MAAMI,aAAa,GAAGhB,OAAO,CAACC,MAAM,CAACa,MAAM,EAAEH,GAAG,CAAC;MAEjDI,kBAAkB,EAAE;MAEpB,OAAOC,aAAa;IACtB,CAAC;EACH;EAEA,OAAOhB,OAAO;AAChB;AAqHA;AACA,OAAO,SAASiB,gBAAgBA,CAAA,EAAyB;EAAA,IAAvBC,cAAc,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,IAAI;EACrD,OAAQnB,OAAY,IAAK,CAAEkB,cAAc,GAAGvB,eAAe,GAAGC,gBAAgB,EAAUI,OAAO,CAAC;AAClG;AAEA,OAAO,SAASsB,yBAAyBA,CAKtClB,KAAmB,EAAEmB,MAAS,EAAwE;EACvGA,MAAM,CAACnB,KAAK,GAAGA,KAAY;EAC3B,OAAOmB,MAAM;AACf"}
@@ -1,7 +1,6 @@
1
1
  // Utilities
2
-
3
2
  import { getCurrentInstance as _getCurrentInstance } from 'vue';
4
- import { toKebabCase } from "./helpers.mjs";
3
+ import { toKebabCase } from "./helpers.mjs"; // Types
5
4
  export function getCurrentInstance(name, message) {
6
5
  const vm = _getCurrentInstance();
7
6
  if (!vm) {
@@ -1 +1 @@
1
- {"version":3,"file":"getCurrentInstance.mjs","names":["getCurrentInstance","_getCurrentInstance","toKebabCase","name","message","vm","Error","getCurrentInstanceName","arguments","length","undefined","type","aliasName","_uid","_map","WeakMap","getUid","has","get","uid","set","reset"],"sources":["../../src/util/getCurrentInstance.ts"],"sourcesContent":["// Utilities\nimport type { ComponentInternalInstance } from 'vue'\nimport { getCurrentInstance as _getCurrentInstance } from 'vue'\nimport { toKebabCase } from '@/util/helpers'\n\nexport function getCurrentInstance (name: string, message?: string) {\n const vm = _getCurrentInstance()\n\n if (!vm) {\n throw new Error(`[Vuetify] ${name} ${message || 'must be called from inside a setup function'}`)\n }\n\n return vm\n}\n\nexport function getCurrentInstanceName (name = 'composables') {\n const vm = getCurrentInstance(name).type\n\n return toKebabCase(vm?.aliasName || vm?.name)\n}\n\nlet _uid = 0\nlet _map = new WeakMap<ComponentInternalInstance, number>()\nexport function getUid () {\n const vm = getCurrentInstance('getUid')\n\n if (_map.has(vm)) return _map.get(vm)!\n else {\n const uid = _uid++\n _map.set(vm, uid)\n return uid\n }\n}\ngetUid.reset = () => {\n _uid = 0\n _map = new WeakMap()\n}\n"],"mappings":"AAAA;;AAEA,SAASA,kBAAkB,IAAIC,mBAAmB,QAAQ,KAAK;AAAA,SACtDC,WAAW;AAEpB,OAAO,SAASF,kBAAkBA,CAAEG,IAAY,EAAEC,OAAgB,EAAE;EAClE,MAAMC,EAAE,GAAGJ,mBAAmB,EAAE;EAEhC,IAAI,CAACI,EAAE,EAAE;IACP,MAAM,IAAIC,KAAK,CAAE,aAAYH,IAAK,IAAGC,OAAO,IAAI,6CAA8C,EAAC,CAAC;EAClG;EAEA,OAAOC,EAAE;AACX;AAEA,OAAO,SAASE,sBAAsBA,CAAA,EAAwB;EAAA,IAAtBJ,IAAI,GAAAK,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,aAAa;EAC1D,MAAMH,EAAE,GAAGL,kBAAkB,CAACG,IAAI,CAAC,CAACQ,IAAI;EAExC,OAAOT,WAAW,CAACG,EAAE,EAAEO,SAAS,IAAIP,EAAE,EAAEF,IAAI,CAAC;AAC/C;AAEA,IAAIU,IAAI,GAAG,CAAC;AACZ,IAAIC,IAAI,GAAG,IAAIC,OAAO,EAAqC;AAC3D,OAAO,SAASC,MAAMA,CAAA,EAAI;EACxB,MAAMX,EAAE,GAAGL,kBAAkB,CAAC,QAAQ,CAAC;EAEvC,IAAIc,IAAI,CAACG,GAAG,CAACZ,EAAE,CAAC,EAAE,OAAOS,IAAI,CAACI,GAAG,CAACb,EAAE,CAAC,CAAC,KACjC;IACH,MAAMc,GAAG,GAAGN,IAAI,EAAE;IAClBC,IAAI,CAACM,GAAG,CAACf,EAAE,EAAEc,GAAG,CAAC;IACjB,OAAOA,GAAG;EACZ;AACF;AACAH,MAAM,CAACK,KAAK,GAAG,MAAM;EACnBR,IAAI,GAAG,CAAC;EACRC,IAAI,GAAG,IAAIC,OAAO,EAAE;AACtB,CAAC"}
1
+ {"version":3,"file":"getCurrentInstance.mjs","names":["getCurrentInstance","_getCurrentInstance","toKebabCase","name","message","vm","Error","getCurrentInstanceName","arguments","length","undefined","type","aliasName","_uid","_map","WeakMap","getUid","has","get","uid","set","reset"],"sources":["../../src/util/getCurrentInstance.ts"],"sourcesContent":["// Utilities\nimport { getCurrentInstance as _getCurrentInstance } from 'vue'\nimport { toKebabCase } from '@/util/helpers'\n\n// Types\nimport type { ComponentInternalInstance } from 'vue'\n\nexport function getCurrentInstance (name: string, message?: string) {\n const vm = _getCurrentInstance()\n\n if (!vm) {\n throw new Error(`[Vuetify] ${name} ${message || 'must be called from inside a setup function'}`)\n }\n\n return vm\n}\n\nexport function getCurrentInstanceName (name = 'composables') {\n const vm = getCurrentInstance(name).type\n\n return toKebabCase(vm?.aliasName || vm?.name)\n}\n\nlet _uid = 0\nlet _map = new WeakMap<ComponentInternalInstance, number>()\nexport function getUid () {\n const vm = getCurrentInstance('getUid')\n\n if (_map.has(vm)) return _map.get(vm)!\n else {\n const uid = _uid++\n _map.set(vm, uid)\n return uid\n }\n}\ngetUid.reset = () => {\n _uid = 0\n _map = new WeakMap()\n}\n"],"mappings":"AAAA;AACA,SAASA,kBAAkB,IAAIC,mBAAmB,QAAQ,KAAK;AAAA,SACtDC,WAAW,yBAEpB;AAGA,OAAO,SAASF,kBAAkBA,CAAEG,IAAY,EAAEC,OAAgB,EAAE;EAClE,MAAMC,EAAE,GAAGJ,mBAAmB,EAAE;EAEhC,IAAI,CAACI,EAAE,EAAE;IACP,MAAM,IAAIC,KAAK,CAAE,aAAYH,IAAK,IAAGC,OAAO,IAAI,6CAA8C,EAAC,CAAC;EAClG;EAEA,OAAOC,EAAE;AACX;AAEA,OAAO,SAASE,sBAAsBA,CAAA,EAAwB;EAAA,IAAtBJ,IAAI,GAAAK,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,aAAa;EAC1D,MAAMH,EAAE,GAAGL,kBAAkB,CAACG,IAAI,CAAC,CAACQ,IAAI;EAExC,OAAOT,WAAW,CAACG,EAAE,EAAEO,SAAS,IAAIP,EAAE,EAAEF,IAAI,CAAC;AAC/C;AAEA,IAAIU,IAAI,GAAG,CAAC;AACZ,IAAIC,IAAI,GAAG,IAAIC,OAAO,EAAqC;AAC3D,OAAO,SAASC,MAAMA,CAAA,EAAI;EACxB,MAAMX,EAAE,GAAGL,kBAAkB,CAAC,QAAQ,CAAC;EAEvC,IAAIc,IAAI,CAACG,GAAG,CAACZ,EAAE,CAAC,EAAE,OAAOS,IAAI,CAACI,GAAG,CAACb,EAAE,CAAC,CAAC,KACjC;IACH,MAAMc,GAAG,GAAGN,IAAI,EAAE;IAClBC,IAAI,CAACM,GAAG,CAACf,EAAE,EAAEc,GAAG,CAAC;IACjB,OAAOA,GAAG;EACZ;AACF;AACAH,MAAM,CAACK,KAAK,GAAG,MAAM;EACnBR,IAAI,GAAG,CAAC;EACRC,IAAI,GAAG,IAAIC,OAAO,EAAE;AACtB,CAAC"}
@@ -87,8 +87,8 @@ export function convertToUnit(str) {
87
87
  export function isObject(obj) {
88
88
  return obj !== null && typeof obj === 'object' && !Array.isArray(obj);
89
89
  }
90
- export function isComponentInstance(obj) {
91
- return obj?.$el;
90
+ export function refElement(obj) {
91
+ return obj && '$el' in obj ? obj.$el : obj;
92
92
  }
93
93
 
94
94
  // KeyboardEvent.keyCode aliases
@@ -422,7 +422,7 @@ export function focusChild(el, location) {
422
422
  const focusable = focusableChildren(el);
423
423
  const idx = focusable.indexOf(document.activeElement);
424
424
  if (!location) {
425
- if (!el.contains(document.activeElement)) {
425
+ if (el === document.activeElement || !el.contains(document.activeElement)) {
426
426
  focusable[0]?.focus();
427
427
  }
428
428
  } else if (location === 'first') {
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.mjs","names":["camelize","capitalize","computed","Fragment","reactive","toRefs","watchEffect","getNestedValue","obj","path","fallback","last","length","undefined","i","deepEqual","a","b","Date","getTime","Object","props","keys","every","p","getObjectValueByPath","replace","split","getPropertyFromItem","item","property","value","Array","isArray","createRange","start","arguments","from","v","k","getZIndex","el","nodeType","Node","ELEMENT_NODE","index","window","getComputedStyle","getPropertyValue","parentNode","convertToUnit","str","unit","isNaN","String","isFinite","Number","isObject","isComponentInstance","$el","keyCodes","freeze","enter","tab","delete","esc","space","up","down","left","right","end","home","del","backspace","insert","pageup","pagedown","shift","keyValues","o","has","key","hasOwnProperty","pick","paths","exclude","found","create","rest","some","RegExp","test","omit","clone","forEach","prop","filterInputAttrs","attrs","arrayDiff","diff","includes","push","wrapInArray","defaultFilter","search","toString","toLocaleLowerCase","indexOf","searchItems","items","toLowerCase","trim","filter","debounce","fn","delay","timeoutId","_len","args","_key","clearTimeout","setTimeout","throttle","limit","throttling","getPrefixedSlots","prefix","slots","startsWith","reduce","clamp","min","max","Math","getDecimals","trimmedStr","padEnd","char","repeat","padStart","chunk","size","chunked","substr","humanReadableFileSize","bytes","base","abs","toFixed","camelizeObjectKeys","mergeDeep","source","target","arrayFn","out","sourceProperty","targetProperty","fillArray","fill","flattenFragments","nodes","map","node","type","children","flat","randomHexColor","n","random","slice","toKebabCase","cache","get","kebab","set","Map","findChildren","vnode","child","component","subTree","findChildrenWithProvide","getOwnPropertySymbols","provides","_arr","WeakMap","_pointer","CircularBuffer","constructor","_classPrivateFieldInitSpec","writable","val","_classPrivateFieldGet","_classPrivateFieldSet","values","concat","getEventCoordinates","e","clientX","touches","clientY","destructComputed","getter","refs","flush","arr","onRE","isOn","EventProp","Function","hasEvent","name","callEvent","handler","_len2","_key2","h","focusableChildren","targets","s","join","querySelectorAll","focusChild","location","focusable","idx","document","activeElement","contains","focus","at","_el","idxx","inc","offsetParent","noop"],"sources":["../../src/util/helpers.ts"],"sourcesContent":["// Utilities\nimport { camelize, capitalize, computed, Fragment, reactive, toRefs, watchEffect } from 'vue'\n\n// Types\nimport type {\n ComponentInternalInstance,\n ComponentPublicInstance,\n ComputedGetter,\n InjectionKey,\n PropType,\n Ref,\n Slots,\n ToRefs,\n VNode,\n VNodeChild,\n} from 'vue'\n\nexport function getNestedValue (obj: any, path: (string | number)[], fallback?: any): any {\n const last = path.length - 1\n\n if (last < 0) return obj === undefined ? fallback : obj\n\n for (let i = 0; i < last; i++) {\n if (obj == null) {\n return fallback\n }\n obj = obj[path[i]]\n }\n\n if (obj == null) return fallback\n\n return obj[path[last]] === undefined ? fallback : obj[path[last]]\n}\n\nexport function deepEqual (a: any, b: any): boolean {\n if (a === b) return true\n\n if (\n a instanceof Date &&\n b instanceof Date &&\n a.getTime() !== b.getTime()\n ) {\n // If the values are Date, compare them as timestamps\n return false\n }\n\n if (a !== Object(a) || b !== Object(b)) {\n // If the values aren't objects, they were already checked for equality\n return false\n }\n\n const props = Object.keys(a)\n\n if (props.length !== Object.keys(b).length) {\n // Different number of props, don't bother to check\n return false\n }\n\n return props.every(p => deepEqual(a[p], b[p]))\n}\n\nexport function getObjectValueByPath (obj: any, path: string, fallback?: any): any {\n // credit: http://stackoverflow.com/questions/6491463/accessing-nested-javascript-objects-with-string-key#comment55278413_6491621\n if (obj == null || !path || typeof path !== 'string') return fallback\n if (obj[path] !== undefined) return obj[path]\n path = path.replace(/\\[(\\w+)\\]/g, '.$1') // convert indexes to properties\n path = path.replace(/^\\./, '') // strip a leading dot\n return getNestedValue(obj, path.split('.'), fallback)\n}\n\nexport type SelectItemKey =\n | boolean // Ignored\n | string // Lookup by key, can use dot notation for nested objects\n | (string | number)[] // Nested lookup by key, each array item is a key in the next level\n | ((item: Record<string, any>, fallback?: any) => any)\n\nexport function getPropertyFromItem (\n item: any,\n property: SelectItemKey,\n fallback?: any\n): any {\n if (property == null) return item === undefined ? fallback : item\n\n if (item !== Object(item)) {\n if (typeof property !== 'function') return fallback\n\n const value = property(item, fallback)\n\n return typeof value === 'undefined' ? fallback : value\n }\n\n if (typeof property === 'string') return getObjectValueByPath(item, property, fallback)\n\n if (Array.isArray(property)) return getNestedValue(item, property, fallback)\n\n if (typeof property !== 'function') return fallback\n\n const value = property(item, fallback)\n\n return typeof value === 'undefined' ? fallback : value\n}\n\nexport function createRange (length: number, start = 0): number[] {\n return Array.from({ length }, (v, k) => start + k)\n}\n\nexport function getZIndex (el?: Element | null): number {\n if (!el || el.nodeType !== Node.ELEMENT_NODE) return 0\n\n const index = +window.getComputedStyle(el).getPropertyValue('z-index')\n\n if (!index) return getZIndex(el.parentNode as Element)\n return index\n}\n\nexport function convertToUnit (str: number, unit?: string): string\nexport function convertToUnit (str: string | number | null | undefined, unit?: string): string | undefined\nexport function convertToUnit (str: string | number | null | undefined, unit = 'px'): string | undefined {\n if (str == null || str === '') {\n return undefined\n } else if (isNaN(+str!)) {\n return String(str)\n } else if (!isFinite(+str!)) {\n return undefined\n } else {\n return `${Number(str)}${unit}`\n }\n}\n\nexport function isObject (obj: any): obj is object {\n return obj !== null && typeof obj === 'object' && !Array.isArray(obj)\n}\n\nexport function isComponentInstance (obj: any): obj is ComponentPublicInstance {\n return obj?.$el\n}\n\n// KeyboardEvent.keyCode aliases\nexport const keyCodes = Object.freeze({\n enter: 13,\n tab: 9,\n delete: 46,\n esc: 27,\n space: 32,\n up: 38,\n down: 40,\n left: 37,\n right: 39,\n end: 35,\n home: 36,\n del: 46,\n backspace: 8,\n insert: 45,\n pageup: 33,\n pagedown: 34,\n shift: 16,\n})\n\nexport const keyValues: Record<string, string> = Object.freeze({\n enter: 'Enter',\n tab: 'Tab',\n delete: 'Delete',\n esc: 'Escape',\n space: 'Space',\n up: 'ArrowUp',\n down: 'ArrowDown',\n left: 'ArrowLeft',\n right: 'ArrowRight',\n end: 'End',\n home: 'Home',\n del: 'Delete',\n backspace: 'Backspace',\n insert: 'Insert',\n pageup: 'PageUp',\n pagedown: 'PageDown',\n shift: 'Shift',\n})\n\nexport function keys<O extends {}> (o: O) {\n return Object.keys(o) as (keyof O)[]\n}\n\nexport function has<T extends string> (obj: object, key: T[]): obj is Record<T, unknown> {\n return key.every(k => obj.hasOwnProperty(k))\n}\n\ntype MaybePick<\n T extends object,\n U extends Extract<keyof T, string>\n> = Record<string, unknown> extends T ? Partial<Pick<T, U>> : Pick<T, U>\n\n// Array of keys\nexport function pick<\n T extends object,\n U extends Extract<keyof T, string>,\n E extends Extract<keyof T, string>\n> (obj: T, paths: U[], exclude?: E[]): [yes: MaybePick<T, Exclude<U, E>>, no: Omit<T, Exclude<U, E>>]\n// Array of keys or RegExp to test keys against\nexport function pick<\n T extends object,\n U extends Extract<keyof T, string>,\n E extends Extract<keyof T, string>\n> (obj: T, paths: (U | RegExp)[], exclude?: E[]): [yes: Partial<T>, no: Partial<T>]\nexport function pick<\n T extends object,\n U extends Extract<keyof T, string>,\n E extends Extract<keyof T, string>\n> (obj: T, paths: (U | RegExp)[], exclude?: E[]): [yes: Partial<T>, no: Partial<T>] {\n const found = Object.create(null)\n const rest = Object.create(null)\n\n for (const key in obj) {\n if (\n paths.some(path => path instanceof RegExp\n ? path.test(key)\n : path === key\n ) && !exclude?.some(path => path === key)\n ) {\n found[key] = obj[key]\n } else {\n rest[key] = obj[key]\n }\n }\n\n return [found, rest]\n}\n\nexport function omit<\n T extends object,\n U extends Extract<keyof T, string>\n> (obj: T, exclude: U[]): Omit<T, U> {\n const clone = { ...obj }\n\n exclude.forEach(prop => delete clone[prop])\n\n return clone\n}\n\n/**\n * Filter attributes that should be applied to\n * the root element of a an input component. Remaining\n * attributes should be passed to the <input> element inside.\n */\nexport function filterInputAttrs (attrs: Record<string, unknown>) {\n return pick(attrs, ['class', 'style', 'id', /^data-/])\n}\n\n/**\n * Returns the set difference of B and A, i.e. the set of elements in B but not in A\n */\nexport function arrayDiff (a: any[], b: any[]): any[] {\n const diff: any[] = []\n for (let i = 0; i < b.length; i++) {\n if (!a.includes(b[i])) diff.push(b[i])\n }\n return diff\n}\n\ntype IfAny<T, Y, N> = 0 extends (1 & T) ? Y : N;\nexport function wrapInArray<T> (\n v: T | null | undefined\n): T extends readonly any[]\n ? IfAny<T, T[], T>\n : NonNullable<T>[] {\n return v == null\n ? []\n : Array.isArray(v)\n ? v as any : [v]\n}\n\nexport function defaultFilter (value: any, search: string | null, item: any) {\n return value != null &&\n search != null &&\n typeof value !== 'boolean' &&\n value.toString().toLocaleLowerCase().indexOf(search.toLocaleLowerCase()) !== -1\n}\n\nexport function searchItems<T extends any = any> (items: T[], search: string): T[] {\n if (!search) return items\n search = search.toString().toLowerCase()\n if (search.trim() === '') return items\n\n return items.filter((item: any) => Object.keys(item).some(key => defaultFilter(getObjectValueByPath(item, key), search, item)))\n}\n\nexport function debounce (fn: Function, delay: number) {\n let timeoutId = 0 as any\n return (...args: any[]) => {\n clearTimeout(timeoutId)\n timeoutId = setTimeout(() => fn(...args), delay)\n }\n}\n\nexport function throttle<T extends (...args: any[]) => any> (fn: T, limit: number) {\n let throttling = false\n return (...args: Parameters<T>): void | ReturnType<T> => {\n if (!throttling) {\n throttling = true\n setTimeout(() => throttling = false, limit)\n return fn(...args)\n }\n }\n}\n\ntype Writable<T> = {\n -readonly [P in keyof T]: T[P]\n}\n\n/**\n * Filters slots to only those starting with `prefix`, removing the prefix\n */\nexport function getPrefixedSlots (prefix: string, slots: Slots): Slots {\n return Object.keys(slots)\n .filter(k => k.startsWith(prefix))\n .reduce<Writable<Slots>>((obj, k) => {\n obj[k.replace(prefix, '')] = slots[k]\n return obj\n }, {})\n}\n\nexport function clamp (value: number, min = 0, max = 1) {\n return Math.max(min, Math.min(max, value))\n}\n\nexport function getDecimals (value: number) {\n const trimmedStr = value.toString().trim()\n return trimmedStr.includes('.')\n ? (trimmedStr.length - trimmedStr.indexOf('.') - 1)\n : 0\n}\n\nexport function padEnd (str: string, length: number, char = '0') {\n return str + char.repeat(Math.max(0, length - str.length))\n}\n\nexport function padStart (str: string, length: number, char = '0') {\n return char.repeat(Math.max(0, length - str.length)) + str\n}\n\nexport function chunk (str: string, size = 1) {\n const chunked: string[] = []\n let index = 0\n while (index < str.length) {\n chunked.push(str.substr(index, size))\n index += size\n }\n return chunked\n}\n\nexport function humanReadableFileSize (bytes: number, base: 1000 | 1024 = 1000): string {\n if (bytes < base) {\n return `${bytes} B`\n }\n\n const prefix = base === 1024 ? ['Ki', 'Mi', 'Gi'] : ['k', 'M', 'G']\n let unit = -1\n while (Math.abs(bytes) >= base && unit < prefix.length - 1) {\n bytes /= base\n ++unit\n }\n return `${bytes.toFixed(1)} ${prefix[unit]}B`\n}\n\nexport function camelizeObjectKeys (obj: Record<string, any> | null | undefined) {\n if (!obj) return {}\n\n return Object.keys(obj).reduce((o: any, key: string) => {\n o[camelize(key)] = obj[key]\n return o\n }, {})\n}\n\nexport function mergeDeep (\n source: Record<string, any> = {},\n target: Record<string, any> = {},\n arrayFn?: (a: unknown[], b: unknown[]) => unknown[],\n) {\n const out: Record<string, any> = {}\n\n for (const key in source) {\n out[key] = source[key]\n }\n\n for (const key in target) {\n const sourceProperty = source[key]\n const targetProperty = target[key]\n\n // Only continue deep merging if\n // both properties are objects\n if (\n isObject(sourceProperty) &&\n isObject(targetProperty)\n ) {\n out[key] = mergeDeep(sourceProperty, targetProperty, arrayFn)\n\n continue\n }\n\n if (Array.isArray(sourceProperty) && Array.isArray(targetProperty) && arrayFn) {\n out[key] = arrayFn(sourceProperty, targetProperty)\n\n continue\n }\n\n out[key] = targetProperty\n }\n\n return out\n}\n\nexport function fillArray<T> (length: number, obj: T) {\n return Array(length).fill(obj)\n}\n\nexport function flattenFragments (nodes: VNode[]): VNode[] {\n return nodes.map(node => {\n if (node.type === Fragment) {\n return flattenFragments(node.children as VNode[])\n } else {\n return node\n }\n }).flat()\n}\n\nexport const randomHexColor = () => {\n const n = (Math.random() * 0xfffff * 1000000).toString(16)\n return '#' + n.slice(0, 6)\n}\n\nexport function toKebabCase (str = '') {\n if (toKebabCase.cache.has(str)) return toKebabCase.cache.get(str)!\n const kebab = str\n .replace(/[^a-z]/gi, '-')\n .replace(/\\B([A-Z])/g, '-$1')\n .toLowerCase()\n toKebabCase.cache.set(str, kebab)\n return kebab\n}\ntoKebabCase.cache = new Map<string, string>()\n\nexport type MaybeRef<T> = T | Ref<T>\n\nexport function findChildren (vnode?: VNodeChild): ComponentInternalInstance[] {\n if (!vnode || typeof vnode !== 'object') {\n return []\n }\n\n if (Array.isArray(vnode)) {\n return vnode\n .map(child => findChildren(child))\n .filter(v => v)\n .flat(1)\n } else if (Array.isArray(vnode.children)) {\n return vnode.children\n .map(child => findChildren(child))\n .filter(v => v)\n .flat(1)\n } else if (vnode.component) {\n return [vnode.component, ...findChildren(vnode.component?.subTree)]\n .filter(v => v)\n .flat(1)\n }\n\n return []\n}\n\nexport function findChildrenWithProvide (\n key: InjectionKey<any> | symbol,\n vnode?: VNodeChild,\n): ComponentInternalInstance[] {\n if (!vnode || typeof vnode !== 'object') return []\n\n if (Array.isArray(vnode)) {\n return vnode.map(child => findChildrenWithProvide(key, child)).flat(1)\n } else if (Array.isArray(vnode.children)) {\n return vnode.children.map(child => findChildrenWithProvide(key, child)).flat(1)\n } else if (vnode.component) {\n if (Object.getOwnPropertySymbols(vnode.component.provides).includes(key as symbol)) {\n return [vnode.component]\n } else if (vnode.component.subTree) {\n return findChildrenWithProvide(key, vnode.component.subTree).flat(1)\n }\n }\n\n return []\n}\n\nexport class CircularBuffer<T = never> {\n readonly #arr: Array<T> = []\n #pointer = 0\n\n constructor (public readonly size: number) {}\n\n push (val: T) {\n this.#arr[this.#pointer] = val\n this.#pointer = (this.#pointer + 1) % this.size\n }\n\n values (): T[] {\n return this.#arr.slice(this.#pointer).concat(this.#arr.slice(0, this.#pointer))\n }\n}\n\nexport type UnionToIntersection<U> =\n (U extends any ? (k: U) => void : never) extends ((k: infer I) => void) ? I : never\n\nexport function getEventCoordinates (e: MouseEvent | TouchEvent) {\n if ('touches' in e) {\n return { clientX: e.touches[0].clientX, clientY: e.touches[0].clientY }\n }\n\n return { clientX: e.clientX, clientY: e.clientY }\n}\n\n// Only allow a single return type\ntype NotAUnion<T> = [T] extends [infer U] ? _NotAUnion<U, U> : never\ntype _NotAUnion<T, U> = U extends any ? [T] extends [U] ? unknown : never : never\n\n/**\n * Convert a computed ref to a record of refs.\n * The getter function must always return an object with the same keys.\n */\nexport function destructComputed<T extends object> (getter: ComputedGetter<T & NotAUnion<T>>): ToRefs<T>\nexport function destructComputed<T extends object> (getter: ComputedGetter<T>) {\n const refs = reactive({}) as T\n const base = computed(getter)\n watchEffect(() => {\n for (const key in base.value) {\n refs[key] = base.value[key]\n }\n }, { flush: 'sync' })\n return toRefs(refs)\n}\n\n/** Array.includes but value can be any type */\nexport function includes (arr: readonly any[], val: any) {\n return arr.includes(val)\n}\n\nconst onRE = /^on[^a-z]/\nexport const isOn = (key: string) => onRE.test(key)\n\nexport type EventProp<T extends any[] = any[], F = (...args: T) => any> = F | F[]\nexport const EventProp = <T extends any[] = any[]>() => [Function, Array] as PropType<EventProp<T>>\n\nexport function hasEvent (props: Record<string, any>, name: string) {\n name = 'on' + capitalize(name)\n return !!(props[name] || props[`${name}Once`] || props[`${name}Capture`] || props[`${name}OnceCapture`] || props[`${name}CaptureOnce`])\n}\n\nexport function callEvent<T extends any[]> (handler: EventProp<T> | undefined, ...args: T) {\n if (Array.isArray(handler)) {\n for (const h of handler) {\n h(...args)\n }\n } else if (typeof handler === 'function') {\n handler(...args)\n }\n}\n\nexport function focusableChildren (el: Element) {\n const targets = ['button', '[href]', 'input:not([type=\"hidden\"])', 'select', 'textarea', '[tabindex]']\n .map(s => `${s}:not([tabindex=\"-1\"]):not([disabled])`)\n .join(', ')\n return [...el.querySelectorAll(targets)] as HTMLElement[]\n}\n\nexport function focusChild (el: Element, location?: 'next' | 'prev' | 'first' | 'last') {\n const focusable = focusableChildren(el)\n const idx = focusable.indexOf(document.activeElement as HTMLElement)\n\n if (!location) {\n if (!el.contains(document.activeElement)) {\n focusable[0]?.focus()\n }\n } else if (location === 'first') {\n focusable[0]?.focus()\n } else if (location === 'last') {\n focusable.at(-1)?.focus()\n } else {\n let _el\n let idxx = idx\n const inc = location === 'next' ? 1 : -1\n do {\n idxx += inc\n _el = focusable[idxx]\n } while ((!_el || _el.offsetParent == null) && idxx < focusable.length && idxx >= 0)\n if (_el) _el.focus()\n else focusChild(el, location === 'next' ? 'first' : 'last')\n }\n}\n\nexport function noop () {}\n"],"mappings":"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"}
1
+ {"version":3,"file":"helpers.mjs","names":["camelize","capitalize","computed","Fragment","reactive","toRefs","watchEffect","getNestedValue","obj","path","fallback","last","length","undefined","i","deepEqual","a","b","Date","getTime","Object","props","keys","every","p","getObjectValueByPath","replace","split","getPropertyFromItem","item","property","value","Array","isArray","createRange","start","arguments","from","v","k","getZIndex","el","nodeType","Node","ELEMENT_NODE","index","window","getComputedStyle","getPropertyValue","parentNode","convertToUnit","str","unit","isNaN","String","isFinite","Number","isObject","refElement","$el","keyCodes","freeze","enter","tab","delete","esc","space","up","down","left","right","end","home","del","backspace","insert","pageup","pagedown","shift","keyValues","o","has","key","hasOwnProperty","pick","paths","exclude","found","create","rest","some","RegExp","test","omit","clone","forEach","prop","filterInputAttrs","attrs","arrayDiff","diff","includes","push","wrapInArray","defaultFilter","search","toString","toLocaleLowerCase","indexOf","searchItems","items","toLowerCase","trim","filter","debounce","fn","delay","timeoutId","_len","args","_key","clearTimeout","setTimeout","throttle","limit","throttling","getPrefixedSlots","prefix","slots","startsWith","reduce","clamp","min","max","Math","getDecimals","trimmedStr","padEnd","char","repeat","padStart","chunk","size","chunked","substr","humanReadableFileSize","bytes","base","abs","toFixed","camelizeObjectKeys","mergeDeep","source","target","arrayFn","out","sourceProperty","targetProperty","fillArray","fill","flattenFragments","nodes","map","node","type","children","flat","randomHexColor","n","random","slice","toKebabCase","cache","get","kebab","set","Map","findChildren","vnode","child","component","subTree","findChildrenWithProvide","getOwnPropertySymbols","provides","_arr","WeakMap","_pointer","CircularBuffer","constructor","_classPrivateFieldInitSpec","writable","val","_classPrivateFieldGet","_classPrivateFieldSet","values","concat","getEventCoordinates","e","clientX","touches","clientY","destructComputed","getter","refs","flush","arr","onRE","isOn","EventProp","Function","hasEvent","name","callEvent","handler","_len2","_key2","h","focusableChildren","targets","s","join","querySelectorAll","focusChild","location","focusable","idx","document","activeElement","contains","focus","at","_el","idxx","inc","offsetParent","noop"],"sources":["../../src/util/helpers.ts"],"sourcesContent":["// Utilities\nimport { camelize, capitalize, computed, Fragment, reactive, toRefs, watchEffect } from 'vue'\n\n// Types\nimport type {\n ComponentInternalInstance,\n ComponentPublicInstance,\n ComputedGetter,\n InjectionKey,\n PropType,\n Ref,\n Slots,\n ToRefs,\n VNode,\n VNodeChild,\n} from 'vue'\n\nexport function getNestedValue (obj: any, path: (string | number)[], fallback?: any): any {\n const last = path.length - 1\n\n if (last < 0) return obj === undefined ? fallback : obj\n\n for (let i = 0; i < last; i++) {\n if (obj == null) {\n return fallback\n }\n obj = obj[path[i]]\n }\n\n if (obj == null) return fallback\n\n return obj[path[last]] === undefined ? fallback : obj[path[last]]\n}\n\nexport function deepEqual (a: any, b: any): boolean {\n if (a === b) return true\n\n if (\n a instanceof Date &&\n b instanceof Date &&\n a.getTime() !== b.getTime()\n ) {\n // If the values are Date, compare them as timestamps\n return false\n }\n\n if (a !== Object(a) || b !== Object(b)) {\n // If the values aren't objects, they were already checked for equality\n return false\n }\n\n const props = Object.keys(a)\n\n if (props.length !== Object.keys(b).length) {\n // Different number of props, don't bother to check\n return false\n }\n\n return props.every(p => deepEqual(a[p], b[p]))\n}\n\nexport function getObjectValueByPath (obj: any, path: string, fallback?: any): any {\n // credit: http://stackoverflow.com/questions/6491463/accessing-nested-javascript-objects-with-string-key#comment55278413_6491621\n if (obj == null || !path || typeof path !== 'string') return fallback\n if (obj[path] !== undefined) return obj[path]\n path = path.replace(/\\[(\\w+)\\]/g, '.$1') // convert indexes to properties\n path = path.replace(/^\\./, '') // strip a leading dot\n return getNestedValue(obj, path.split('.'), fallback)\n}\n\nexport type SelectItemKey =\n | boolean // Ignored\n | string // Lookup by key, can use dot notation for nested objects\n | (string | number)[] // Nested lookup by key, each array item is a key in the next level\n | ((item: Record<string, any>, fallback?: any) => any)\n\nexport function getPropertyFromItem (\n item: any,\n property: SelectItemKey,\n fallback?: any\n): any {\n if (property == null) return item === undefined ? fallback : item\n\n if (item !== Object(item)) {\n if (typeof property !== 'function') return fallback\n\n const value = property(item, fallback)\n\n return typeof value === 'undefined' ? fallback : value\n }\n\n if (typeof property === 'string') return getObjectValueByPath(item, property, fallback)\n\n if (Array.isArray(property)) return getNestedValue(item, property, fallback)\n\n if (typeof property !== 'function') return fallback\n\n const value = property(item, fallback)\n\n return typeof value === 'undefined' ? fallback : value\n}\n\nexport function createRange (length: number, start = 0): number[] {\n return Array.from({ length }, (v, k) => start + k)\n}\n\nexport function getZIndex (el?: Element | null): number {\n if (!el || el.nodeType !== Node.ELEMENT_NODE) return 0\n\n const index = +window.getComputedStyle(el).getPropertyValue('z-index')\n\n if (!index) return getZIndex(el.parentNode as Element)\n return index\n}\n\nexport function convertToUnit (str: number, unit?: string): string\nexport function convertToUnit (str: string | number | null | undefined, unit?: string): string | undefined\nexport function convertToUnit (str: string | number | null | undefined, unit = 'px'): string | undefined {\n if (str == null || str === '') {\n return undefined\n } else if (isNaN(+str!)) {\n return String(str)\n } else if (!isFinite(+str!)) {\n return undefined\n } else {\n return `${Number(str)}${unit}`\n }\n}\n\nexport function isObject (obj: any): obj is object {\n return obj !== null && typeof obj === 'object' && !Array.isArray(obj)\n}\n\nexport function refElement<T extends object | undefined> (obj: T): Exclude<T, ComponentPublicInstance> | HTMLElement {\n return obj && '$el' in obj\n ? obj.$el as HTMLElement\n : obj as HTMLElement\n}\n\n// KeyboardEvent.keyCode aliases\nexport const keyCodes = Object.freeze({\n enter: 13,\n tab: 9,\n delete: 46,\n esc: 27,\n space: 32,\n up: 38,\n down: 40,\n left: 37,\n right: 39,\n end: 35,\n home: 36,\n del: 46,\n backspace: 8,\n insert: 45,\n pageup: 33,\n pagedown: 34,\n shift: 16,\n})\n\nexport const keyValues: Record<string, string> = Object.freeze({\n enter: 'Enter',\n tab: 'Tab',\n delete: 'Delete',\n esc: 'Escape',\n space: 'Space',\n up: 'ArrowUp',\n down: 'ArrowDown',\n left: 'ArrowLeft',\n right: 'ArrowRight',\n end: 'End',\n home: 'Home',\n del: 'Delete',\n backspace: 'Backspace',\n insert: 'Insert',\n pageup: 'PageUp',\n pagedown: 'PageDown',\n shift: 'Shift',\n})\n\nexport function keys<O extends {}> (o: O) {\n return Object.keys(o) as (keyof O)[]\n}\n\nexport function has<T extends string> (obj: object, key: T[]): obj is Record<T, unknown> {\n return key.every(k => obj.hasOwnProperty(k))\n}\n\ntype MaybePick<\n T extends object,\n U extends Extract<keyof T, string>\n> = Record<string, unknown> extends T ? Partial<Pick<T, U>> : Pick<T, U>\n\n// Array of keys\nexport function pick<\n T extends object,\n U extends Extract<keyof T, string>,\n E extends Extract<keyof T, string>\n> (obj: T, paths: U[], exclude?: E[]): [yes: MaybePick<T, Exclude<U, E>>, no: Omit<T, Exclude<U, E>>]\n// Array of keys or RegExp to test keys against\nexport function pick<\n T extends object,\n U extends Extract<keyof T, string>,\n E extends Extract<keyof T, string>\n> (obj: T, paths: (U | RegExp)[], exclude?: E[]): [yes: Partial<T>, no: Partial<T>]\nexport function pick<\n T extends object,\n U extends Extract<keyof T, string>,\n E extends Extract<keyof T, string>\n> (obj: T, paths: (U | RegExp)[], exclude?: E[]): [yes: Partial<T>, no: Partial<T>] {\n const found = Object.create(null)\n const rest = Object.create(null)\n\n for (const key in obj) {\n if (\n paths.some(path => path instanceof RegExp\n ? path.test(key)\n : path === key\n ) && !exclude?.some(path => path === key)\n ) {\n found[key] = obj[key]\n } else {\n rest[key] = obj[key]\n }\n }\n\n return [found, rest]\n}\n\nexport function omit<\n T extends object,\n U extends Extract<keyof T, string>\n> (obj: T, exclude: U[]): Omit<T, U> {\n const clone = { ...obj }\n\n exclude.forEach(prop => delete clone[prop])\n\n return clone\n}\n\n/**\n * Filter attributes that should be applied to\n * the root element of a an input component. Remaining\n * attributes should be passed to the <input> element inside.\n */\nexport function filterInputAttrs (attrs: Record<string, unknown>) {\n return pick(attrs, ['class', 'style', 'id', /^data-/])\n}\n\n/**\n * Returns the set difference of B and A, i.e. the set of elements in B but not in A\n */\nexport function arrayDiff (a: any[], b: any[]): any[] {\n const diff: any[] = []\n for (let i = 0; i < b.length; i++) {\n if (!a.includes(b[i])) diff.push(b[i])\n }\n return diff\n}\n\ntype IfAny<T, Y, N> = 0 extends (1 & T) ? Y : N;\nexport function wrapInArray<T> (\n v: T | null | undefined\n): T extends readonly any[]\n ? IfAny<T, T[], T>\n : NonNullable<T>[] {\n return v == null\n ? []\n : Array.isArray(v)\n ? v as any : [v]\n}\n\nexport function defaultFilter (value: any, search: string | null, item: any) {\n return value != null &&\n search != null &&\n typeof value !== 'boolean' &&\n value.toString().toLocaleLowerCase().indexOf(search.toLocaleLowerCase()) !== -1\n}\n\nexport function searchItems<T extends any = any> (items: T[], search: string): T[] {\n if (!search) return items\n search = search.toString().toLowerCase()\n if (search.trim() === '') return items\n\n return items.filter((item: any) => Object.keys(item).some(key => defaultFilter(getObjectValueByPath(item, key), search, item)))\n}\n\nexport function debounce (fn: Function, delay: number) {\n let timeoutId = 0 as any\n return (...args: any[]) => {\n clearTimeout(timeoutId)\n timeoutId = setTimeout(() => fn(...args), delay)\n }\n}\n\nexport function throttle<T extends (...args: any[]) => any> (fn: T, limit: number) {\n let throttling = false\n return (...args: Parameters<T>): void | ReturnType<T> => {\n if (!throttling) {\n throttling = true\n setTimeout(() => throttling = false, limit)\n return fn(...args)\n }\n }\n}\n\ntype Writable<T> = {\n -readonly [P in keyof T]: T[P]\n}\n\n/**\n * Filters slots to only those starting with `prefix`, removing the prefix\n */\nexport function getPrefixedSlots (prefix: string, slots: Slots): Slots {\n return Object.keys(slots)\n .filter(k => k.startsWith(prefix))\n .reduce<Writable<Slots>>((obj, k) => {\n obj[k.replace(prefix, '')] = slots[k]\n return obj\n }, {})\n}\n\nexport function clamp (value: number, min = 0, max = 1) {\n return Math.max(min, Math.min(max, value))\n}\n\nexport function getDecimals (value: number) {\n const trimmedStr = value.toString().trim()\n return trimmedStr.includes('.')\n ? (trimmedStr.length - trimmedStr.indexOf('.') - 1)\n : 0\n}\n\nexport function padEnd (str: string, length: number, char = '0') {\n return str + char.repeat(Math.max(0, length - str.length))\n}\n\nexport function padStart (str: string, length: number, char = '0') {\n return char.repeat(Math.max(0, length - str.length)) + str\n}\n\nexport function chunk (str: string, size = 1) {\n const chunked: string[] = []\n let index = 0\n while (index < str.length) {\n chunked.push(str.substr(index, size))\n index += size\n }\n return chunked\n}\n\nexport function humanReadableFileSize (bytes: number, base: 1000 | 1024 = 1000): string {\n if (bytes < base) {\n return `${bytes} B`\n }\n\n const prefix = base === 1024 ? ['Ki', 'Mi', 'Gi'] : ['k', 'M', 'G']\n let unit = -1\n while (Math.abs(bytes) >= base && unit < prefix.length - 1) {\n bytes /= base\n ++unit\n }\n return `${bytes.toFixed(1)} ${prefix[unit]}B`\n}\n\nexport function camelizeObjectKeys (obj: Record<string, any> | null | undefined) {\n if (!obj) return {}\n\n return Object.keys(obj).reduce((o: any, key: string) => {\n o[camelize(key)] = obj[key]\n return o\n }, {})\n}\n\nexport function mergeDeep (\n source: Record<string, any> = {},\n target: Record<string, any> = {},\n arrayFn?: (a: unknown[], b: unknown[]) => unknown[],\n) {\n const out: Record<string, any> = {}\n\n for (const key in source) {\n out[key] = source[key]\n }\n\n for (const key in target) {\n const sourceProperty = source[key]\n const targetProperty = target[key]\n\n // Only continue deep merging if\n // both properties are objects\n if (\n isObject(sourceProperty) &&\n isObject(targetProperty)\n ) {\n out[key] = mergeDeep(sourceProperty, targetProperty, arrayFn)\n\n continue\n }\n\n if (Array.isArray(sourceProperty) && Array.isArray(targetProperty) && arrayFn) {\n out[key] = arrayFn(sourceProperty, targetProperty)\n\n continue\n }\n\n out[key] = targetProperty\n }\n\n return out\n}\n\nexport function fillArray<T> (length: number, obj: T) {\n return Array(length).fill(obj)\n}\n\nexport function flattenFragments (nodes: VNode[]): VNode[] {\n return nodes.map(node => {\n if (node.type === Fragment) {\n return flattenFragments(node.children as VNode[])\n } else {\n return node\n }\n }).flat()\n}\n\nexport const randomHexColor = () => {\n const n = (Math.random() * 0xfffff * 1000000).toString(16)\n return '#' + n.slice(0, 6)\n}\n\nexport function toKebabCase (str = '') {\n if (toKebabCase.cache.has(str)) return toKebabCase.cache.get(str)!\n const kebab = str\n .replace(/[^a-z]/gi, '-')\n .replace(/\\B([A-Z])/g, '-$1')\n .toLowerCase()\n toKebabCase.cache.set(str, kebab)\n return kebab\n}\ntoKebabCase.cache = new Map<string, string>()\n\nexport type MaybeRef<T> = T | Ref<T>\n\nexport function findChildren (vnode?: VNodeChild): ComponentInternalInstance[] {\n if (!vnode || typeof vnode !== 'object') {\n return []\n }\n\n if (Array.isArray(vnode)) {\n return vnode\n .map(child => findChildren(child))\n .filter(v => v)\n .flat(1)\n } else if (Array.isArray(vnode.children)) {\n return vnode.children\n .map(child => findChildren(child))\n .filter(v => v)\n .flat(1)\n } else if (vnode.component) {\n return [vnode.component, ...findChildren(vnode.component?.subTree)]\n .filter(v => v)\n .flat(1)\n }\n\n return []\n}\n\nexport function findChildrenWithProvide (\n key: InjectionKey<any> | symbol,\n vnode?: VNodeChild,\n): ComponentInternalInstance[] {\n if (!vnode || typeof vnode !== 'object') return []\n\n if (Array.isArray(vnode)) {\n return vnode.map(child => findChildrenWithProvide(key, child)).flat(1)\n } else if (Array.isArray(vnode.children)) {\n return vnode.children.map(child => findChildrenWithProvide(key, child)).flat(1)\n } else if (vnode.component) {\n if (Object.getOwnPropertySymbols(vnode.component.provides).includes(key as symbol)) {\n return [vnode.component]\n } else if (vnode.component.subTree) {\n return findChildrenWithProvide(key, vnode.component.subTree).flat(1)\n }\n }\n\n return []\n}\n\nexport class CircularBuffer<T = never> {\n readonly #arr: Array<T> = []\n #pointer = 0\n\n constructor (public readonly size: number) {}\n\n push (val: T) {\n this.#arr[this.#pointer] = val\n this.#pointer = (this.#pointer + 1) % this.size\n }\n\n values (): T[] {\n return this.#arr.slice(this.#pointer).concat(this.#arr.slice(0, this.#pointer))\n }\n}\n\nexport type UnionToIntersection<U> =\n (U extends any ? (k: U) => void : never) extends ((k: infer I) => void) ? I : never\n\nexport function getEventCoordinates (e: MouseEvent | TouchEvent) {\n if ('touches' in e) {\n return { clientX: e.touches[0].clientX, clientY: e.touches[0].clientY }\n }\n\n return { clientX: e.clientX, clientY: e.clientY }\n}\n\n// Only allow a single return type\ntype NotAUnion<T> = [T] extends [infer U] ? _NotAUnion<U, U> : never\ntype _NotAUnion<T, U> = U extends any ? [T] extends [U] ? unknown : never : never\n\n/**\n * Convert a computed ref to a record of refs.\n * The getter function must always return an object with the same keys.\n */\nexport function destructComputed<T extends object> (getter: ComputedGetter<T & NotAUnion<T>>): ToRefs<T>\nexport function destructComputed<T extends object> (getter: ComputedGetter<T>) {\n const refs = reactive({}) as T\n const base = computed(getter)\n watchEffect(() => {\n for (const key in base.value) {\n refs[key] = base.value[key]\n }\n }, { flush: 'sync' })\n return toRefs(refs)\n}\n\n/** Array.includes but value can be any type */\nexport function includes (arr: readonly any[], val: any) {\n return arr.includes(val)\n}\n\nconst onRE = /^on[^a-z]/\nexport const isOn = (key: string) => onRE.test(key)\n\nexport type EventProp<T extends any[] = any[], F = (...args: T) => any> = F | F[]\nexport const EventProp = <T extends any[] = any[]>() => [Function, Array] as PropType<EventProp<T>>\n\nexport function hasEvent (props: Record<string, any>, name: string) {\n name = 'on' + capitalize(name)\n return !!(props[name] || props[`${name}Once`] || props[`${name}Capture`] || props[`${name}OnceCapture`] || props[`${name}CaptureOnce`])\n}\n\nexport function callEvent<T extends any[]> (handler: EventProp<T> | undefined, ...args: T) {\n if (Array.isArray(handler)) {\n for (const h of handler) {\n h(...args)\n }\n } else if (typeof handler === 'function') {\n handler(...args)\n }\n}\n\nexport function focusableChildren (el: Element) {\n const targets = ['button', '[href]', 'input:not([type=\"hidden\"])', 'select', 'textarea', '[tabindex]']\n .map(s => `${s}:not([tabindex=\"-1\"]):not([disabled])`)\n .join(', ')\n return [...el.querySelectorAll(targets)] as HTMLElement[]\n}\n\nexport function focusChild (el: Element, location?: 'next' | 'prev' | 'first' | 'last') {\n const focusable = focusableChildren(el)\n const idx = focusable.indexOf(document.activeElement as HTMLElement)\n\n if (!location) {\n if (el === document.activeElement || !el.contains(document.activeElement)) {\n focusable[0]?.focus()\n }\n } else if (location === 'first') {\n focusable[0]?.focus()\n } else if (location === 'last') {\n focusable.at(-1)?.focus()\n } else {\n let _el\n let idxx = idx\n const inc = location === 'next' ? 1 : -1\n do {\n idxx += inc\n _el = focusable[idxx]\n } while ((!_el || _el.offsetParent == null) && idxx < focusable.length && idxx >= 0)\n if (_el) _el.focus()\n else focusChild(el, location === 'next' ? 'first' : 'last')\n }\n}\n\nexport function noop () {}\n"],"mappings":"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"}
@@ -1,4 +1,5 @@
1
- import { getCurrentInstance } from "./getCurrentInstance.mjs";
1
+ // Utilities
2
+ import { getCurrentInstance } from "./getCurrentInstance.mjs"; // Types
2
3
  export function injectSelf(key) {
3
4
  const {
4
5
  provides
@@ -1 +1 @@
1
- {"version":3,"file":"injectSelf.mjs","names":["getCurrentInstance","injectSelf","key","provides"],"sources":["../../src/util/injectSelf.ts"],"sourcesContent":["import { getCurrentInstance } from '@/util/getCurrentInstance'\nimport type { InjectionKey } from 'vue'\n\nexport function injectSelf<T>(key: InjectionKey<T> | string): T | undefined\nexport function injectSelf (key: InjectionKey<any> | string) {\n const { provides } = getCurrentInstance('injectSelf')\n\n if (provides && (key as string | symbol) in provides) {\n // TS doesn't allow symbol as index type\n return provides[key as string]\n }\n}\n"],"mappings":"SAASA,kBAAkB;AAI3B,OAAO,SAASC,UAAUA,CAAEC,GAA+B,EAAE;EAC3D,MAAM;IAAEC;EAAS,CAAC,GAAGH,kBAAkB,CAAC,YAAY,CAAC;EAErD,IAAIG,QAAQ,IAAKD,GAAG,IAAwBC,QAAQ,EAAE;IACpD;IACA,OAAOA,QAAQ,CAACD,GAAG,CAAW;EAChC;AACF"}
1
+ {"version":3,"file":"injectSelf.mjs","names":["getCurrentInstance","injectSelf","key","provides"],"sources":["../../src/util/injectSelf.ts"],"sourcesContent":["// Utilities\nimport { getCurrentInstance } from '@/util/getCurrentInstance'\n\n// Types\nimport type { InjectionKey } from 'vue'\n\nexport function injectSelf<T>(key: InjectionKey<T> | string): T | undefined\nexport function injectSelf (key: InjectionKey<any> | string) {\n const { provides } = getCurrentInstance('injectSelf')\n\n if (provides && (key as string | symbol) in provides) {\n // TS doesn't allow symbol as index type\n return provides[key as string]\n }\n}\n"],"mappings":"AAAA;AAAA,SACSA,kBAAkB,oCAE3B;AAIA,OAAO,SAASC,UAAUA,CAAEC,GAA+B,EAAE;EAC3D,MAAM;IAAEC;EAAS,CAAC,GAAGH,kBAAkB,CAAC,YAAY,CAAC;EAErD,IAAIG,QAAQ,IAAKD,GAAG,IAAwBC,QAAQ,EAAE;IACpD;IACA,OAAOA,QAAQ,CAACD,GAAG,CAAW;EAChC;AACF"}
@@ -1,3 +1,4 @@
1
+ // Types
1
2
  // eslint-disable-line vue/prefer-import-from-vue
2
3
 
3
4
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"propsFactory.mjs","names":["propsFactory","props","source","defaults","Object","keys","reduce","obj","prop","isObjectDefinition","Array","isArray","definition","type","default"],"sources":["../../src/util/propsFactory.ts"],"sourcesContent":["import type { ComponentObjectPropsOptions, Prop, PropType } from 'vue'\nimport type { IfAny } from '@vue/shared' // eslint-disable-line vue/prefer-import-from-vue\n\n/**\n * Creates a factory function for props definitions.\n * This is used to define props in a composable then override\n * default values in an implementing component.\n *\n * @example Simplified signature\n * (props: Props) => (defaults?: Record<keyof props, any>) => Props\n *\n * @example Usage\n * const makeProps = propsFactory({\n * foo: String,\n * })\n *\n * defineComponent({\n * props: {\n * ...makeProps({\n * foo: 'a',\n * }),\n * },\n * setup (props) {\n * // would be \"string | undefined\", now \"string\" because a default has been provided\n * props.foo\n * },\n * }\n */\n\nexport function propsFactory<\n PropsOptions extends ComponentObjectPropsOptions\n> (props: PropsOptions, source: string) {\n return <Defaults extends PartialKeys<PropsOptions> = {}>(\n defaults?: Defaults\n ): AppendDefault<PropsOptions, Defaults> => {\n return Object.keys(props).reduce<any>((obj, prop) => {\n const isObjectDefinition = typeof props[prop] === 'object' && props[prop] != null && !Array.isArray(props[prop])\n const definition = isObjectDefinition ? props[prop] : { type: props[prop] }\n\n if (defaults && prop in defaults) {\n obj[prop] = {\n ...definition,\n default: defaults[prop],\n }\n } else {\n obj[prop] = definition\n }\n\n if (source && !obj[prop].source) {\n obj[prop].source = source\n }\n\n return obj\n }, {})\n }\n}\n\ntype AppendDefault<T extends ComponentObjectPropsOptions, D extends PartialKeys<T>> = {\n [P in keyof T]-?: unknown extends D[P]\n ? T[P]\n : T[P] extends Record<string, unknown>\n ? Omit<T[P], 'type' | 'default'> & {\n type: PropType<MergeDefault<T[P], D[P]>>\n default: MergeDefault<T[P], D[P]>\n }\n : {\n type: PropType<MergeDefault<T[P], D[P]>>\n default: MergeDefault<T[P], D[P]>\n }\n}\n\ntype MergeDefault<T, D> = unknown extends D ? InferPropType<T> : (NonNullable<InferPropType<T>> | D)\n\n/**\n * Like `Partial<T>` but doesn't care what the value is\n */\ntype PartialKeys<T> = { [P in keyof T]?: unknown }\n\n// Copied from Vue\ntype InferPropType<T> = [T] extends [null]\n ? any // null & true would fail to infer\n : [T] extends [{ type: null | true }]\n // As TS issue https://github.com/Microsoft/TypeScript/issues/14829\n // somehow `ObjectConstructor` when inferred from { (): T } becomes `any`\n // `BooleanConstructor` when inferred from PropConstructor(with PropMethod) becomes `Boolean`\n ? any\n : [T] extends [ObjectConstructor | { type: ObjectConstructor }]\n ? Record<string, any>\n : [T] extends [BooleanConstructor | { type: BooleanConstructor }]\n ? boolean\n : [T] extends [DateConstructor | { type: DateConstructor }]\n ? Date\n : [T] extends [(infer U)[] | { type: (infer U)[] }]\n ? U extends DateConstructor\n ? Date | InferPropType<U>\n : InferPropType<U>\n : [T] extends [Prop<infer V, infer D>]\n ? unknown extends V\n ? IfAny<V, V, D>\n : V\n : T\n"],"mappings":"AACyC;;AAEzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO,SAASA,YAAYA,CAEzBC,KAAmB,EAAEC,MAAc,EAAE;EACtC,OACEC,QAAmB,IACuB;IAC1C,OAAOC,MAAM,CAACC,IAAI,CAACJ,KAAK,CAAC,CAACK,MAAM,CAAM,CAACC,GAAG,EAAEC,IAAI,KAAK;MACnD,MAAMC,kBAAkB,GAAG,OAAOR,KAAK,CAACO,IAAI,CAAC,KAAK,QAAQ,IAAIP,KAAK,CAACO,IAAI,CAAC,IAAI,IAAI,IAAI,CAACE,KAAK,CAACC,OAAO,CAACV,KAAK,CAACO,IAAI,CAAC,CAAC;MAChH,MAAMI,UAAU,GAAGH,kBAAkB,GAAGR,KAAK,CAACO,IAAI,CAAC,GAAG;QAAEK,IAAI,EAAEZ,KAAK,CAACO,IAAI;MAAE,CAAC;MAE3E,IAAIL,QAAQ,IAAIK,IAAI,IAAIL,QAAQ,EAAE;QAChCI,GAAG,CAACC,IAAI,CAAC,GAAG;UACV,GAAGI,UAAU;UACbE,OAAO,EAAEX,QAAQ,CAACK,IAAI;QACxB,CAAC;MACH,CAAC,MAAM;QACLD,GAAG,CAACC,IAAI,CAAC,GAAGI,UAAU;MACxB;MAEA,IAAIV,MAAM,IAAI,CAACK,GAAG,CAACC,IAAI,CAAC,CAACN,MAAM,EAAE;QAC/BK,GAAG,CAACC,IAAI,CAAC,CAACN,MAAM,GAAGA,MAAM;MAC3B;MAEA,OAAOK,GAAG;IACZ,CAAC,EAAE,CAAC,CAAC,CAAC;EACR,CAAC;AACH"}
1
+ {"version":3,"file":"propsFactory.mjs","names":["propsFactory","props","source","defaults","Object","keys","reduce","obj","prop","isObjectDefinition","Array","isArray","definition","type","default"],"sources":["../../src/util/propsFactory.ts"],"sourcesContent":["// Types\nimport type { IfAny } from '@vue/shared' // eslint-disable-line vue/prefer-import-from-vue\nimport type { ComponentObjectPropsOptions, Prop, PropType } from 'vue'\n\n/**\n * Creates a factory function for props definitions.\n * This is used to define props in a composable then override\n * default values in an implementing component.\n *\n * @example Simplified signature\n * (props: Props) => (defaults?: Record<keyof props, any>) => Props\n *\n * @example Usage\n * const makeProps = propsFactory({\n * foo: String,\n * })\n *\n * defineComponent({\n * props: {\n * ...makeProps({\n * foo: 'a',\n * }),\n * },\n * setup (props) {\n * // would be \"string | undefined\", now \"string\" because a default has been provided\n * props.foo\n * },\n * }\n */\n\nexport function propsFactory<\n PropsOptions extends ComponentObjectPropsOptions\n> (props: PropsOptions, source: string) {\n return <Defaults extends PartialKeys<PropsOptions> = {}>(\n defaults?: Defaults\n ): AppendDefault<PropsOptions, Defaults> => {\n return Object.keys(props).reduce<any>((obj, prop) => {\n const isObjectDefinition = typeof props[prop] === 'object' && props[prop] != null && !Array.isArray(props[prop])\n const definition = isObjectDefinition ? props[prop] : { type: props[prop] }\n\n if (defaults && prop in defaults) {\n obj[prop] = {\n ...definition,\n default: defaults[prop],\n }\n } else {\n obj[prop] = definition\n }\n\n if (source && !obj[prop].source) {\n obj[prop].source = source\n }\n\n return obj\n }, {})\n }\n}\n\ntype AppendDefault<T extends ComponentObjectPropsOptions, D extends PartialKeys<T>> = {\n [P in keyof T]-?: unknown extends D[P]\n ? T[P]\n : T[P] extends Record<string, unknown>\n ? Omit<T[P], 'type' | 'default'> & {\n type: PropType<MergeDefault<T[P], D[P]>>\n default: MergeDefault<T[P], D[P]>\n }\n : {\n type: PropType<MergeDefault<T[P], D[P]>>\n default: MergeDefault<T[P], D[P]>\n }\n}\n\ntype MergeDefault<T, D> = unknown extends D ? InferPropType<T> : (NonNullable<InferPropType<T>> | D)\n\n/**\n * Like `Partial<T>` but doesn't care what the value is\n */\ntype PartialKeys<T> = { [P in keyof T]?: unknown }\n\n// Copied from Vue\ntype InferPropType<T> = [T] extends [null]\n ? any // null & true would fail to infer\n : [T] extends [{ type: null | true }]\n // As TS issue https://github.com/Microsoft/TypeScript/issues/14829\n // somehow `ObjectConstructor` when inferred from { (): T } becomes `any`\n // `BooleanConstructor` when inferred from PropConstructor(with PropMethod) becomes `Boolean`\n ? any\n : [T] extends [ObjectConstructor | { type: ObjectConstructor }]\n ? Record<string, any>\n : [T] extends [BooleanConstructor | { type: BooleanConstructor }]\n ? boolean\n : [T] extends [DateConstructor | { type: DateConstructor }]\n ? Date\n : [T] extends [(infer U)[] | { type: (infer U)[] }]\n ? U extends DateConstructor\n ? Date | InferPropType<U>\n : InferPropType<U>\n : [T] extends [Prop<infer V, infer D>]\n ? unknown extends V\n ? IfAny<V, V, D>\n : V\n : T\n"],"mappings":"AAAA;AACyC;;AAGzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO,SAASA,YAAYA,CAEzBC,KAAmB,EAAEC,MAAc,EAAE;EACtC,OACEC,QAAmB,IACuB;IAC1C,OAAOC,MAAM,CAACC,IAAI,CAACJ,KAAK,CAAC,CAACK,MAAM,CAAM,CAACC,GAAG,EAAEC,IAAI,KAAK;MACnD,MAAMC,kBAAkB,GAAG,OAAOR,KAAK,CAACO,IAAI,CAAC,KAAK,QAAQ,IAAIP,KAAK,CAACO,IAAI,CAAC,IAAI,IAAI,IAAI,CAACE,KAAK,CAACC,OAAO,CAACV,KAAK,CAACO,IAAI,CAAC,CAAC;MAChH,MAAMI,UAAU,GAAGH,kBAAkB,GAAGR,KAAK,CAACO,IAAI,CAAC,GAAG;QAAEK,IAAI,EAAEZ,KAAK,CAACO,IAAI;MAAE,CAAC;MAE3E,IAAIL,QAAQ,IAAIK,IAAI,IAAIL,QAAQ,EAAE;QAChCI,GAAG,CAACC,IAAI,CAAC,GAAG;UACV,GAAGI,UAAU;UACbE,OAAO,EAAEX,QAAQ,CAACK,IAAI;QACxB,CAAC;MACH,CAAC,MAAM;QACLD,GAAG,CAACC,IAAI,CAAC,GAAGI,UAAU;MACxB;MAEA,IAAIV,MAAM,IAAI,CAACK,GAAG,CAACC,IAAI,CAAC,CAACN,MAAM,EAAE;QAC/BK,GAAG,CAACC,IAAI,CAAC,CAACN,MAAM,GAAGA,MAAM;MAC3B;MAEA,OAAOK,GAAG;IACZ,CAAC,EAAE,CAAC,CAAC,CAAC;EACR,CAAC;AACH"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "vuetify",
3
3
  "description": "Vue Material Component Framework",
4
- "version": "3.3.0",
4
+ "version": "3.3.2",
5
5
  "author": {
6
6
  "name": "John Leider",
7
7
  "email": "john@vuetifyjs.com"
@@ -54,6 +54,7 @@
54
54
  ".": {
55
55
  "sass": "./lib/styles/main.sass",
56
56
  "style": "./lib/styles/main.css",
57
+ "types": "./lib/index.d.mts",
57
58
  "default": "./lib/framework.mjs"
58
59
  },
59
60
  "./styles": {
@@ -195,5 +196,5 @@
195
196
  "attributes": "dist/json/attributes.json"
196
197
  },
197
198
  "web-types": "dist/json/web-types.json",
198
- "gitHead": "f1d452fa75af9d2e55d09f17672205d329ea983d"
199
+ "gitHead": "6abdaa44147f74c69dac0b32f478f44acf40ccfd"
199
200
  }
@@ -1,77 +0,0 @@
1
- // Utilities
2
- import { computed, ref, shallowRef } from 'vue';
3
- import { propsFactory } from "../../../util/index.mjs"; // Types
4
- export const makeDataTableVirtualProps = propsFactory({
5
- visibleItems: {
6
- type: [String, Number],
7
- default: 20
8
- },
9
- itemHeight: {
10
- type: [String, Number],
11
- default: 52
12
- }
13
- }, 'virtual');
14
- const UP = -1;
15
- const DOWN = 1;
16
-
17
- // TODO: Replace this with composable from v-virtual-scroll
18
- export function useVirtual(props, items) {
19
- const startIndex = shallowRef(0);
20
- const itemHeight = computed(() => parseInt(props.itemHeight, 10));
21
- const visibleItems = computed(() => parseInt(props.visibleItems, 10));
22
- const containerRef = ref();
23
- const isScrolling = shallowRef(false);
24
- function calculateOffset(index) {
25
- return index * itemHeight.value;
26
- }
27
- function calculateMidPointIndex(scrollTop) {
28
- let start = 0;
29
- let end = items.value.length;
30
- while (start <= end) {
31
- const middle = start + Math.floor((end - start) / 2);
32
- const middleOffset = calculateOffset(middle);
33
- if (middleOffset === scrollTop) {
34
- return middle;
35
- } else if (middleOffset < scrollTop) {
36
- start = middle + 1;
37
- } else if (middleOffset > scrollTop) {
38
- end = middle - 1;
39
- }
40
- }
41
- return start;
42
- }
43
- let lastScrollTop = 0;
44
- let scrollTimeout;
45
- function handleScroll() {
46
- if (!containerRef.value) return;
47
- isScrolling.value = true;
48
- clearTimeout(scrollTimeout);
49
- scrollTimeout = setTimeout(() => {
50
- isScrolling.value = false;
51
- }, 100);
52
- const scrollTop = containerRef.value.scrollTop;
53
- const direction = scrollTop < lastScrollTop ? UP : DOWN;
54
- const midPointIndex = calculateMidPointIndex(scrollTop);
55
- const buffer = Math.round(visibleItems.value / 3);
56
- if (direction === UP && midPointIndex <= startIndex.value) {
57
- startIndex.value = Math.max(midPointIndex - buffer, 0);
58
- } else if (direction === DOWN && midPointIndex >= startIndex.value + buffer * 2) {
59
- startIndex.value = Math.min(Math.max(0, midPointIndex - buffer), items.value.length - visibleItems.value);
60
- }
61
- lastScrollTop = containerRef.value.scrollTop;
62
- }
63
- const stopIndex = computed(() => Math.min(items.value.length, startIndex.value + visibleItems.value));
64
- const paddingTop = computed(() => calculateOffset(startIndex.value));
65
- const paddingBottom = computed(() => calculateOffset(items.value.length) - calculateOffset(stopIndex.value));
66
- return {
67
- startIndex,
68
- stopIndex,
69
- paddingTop,
70
- paddingBottom,
71
- handleScroll,
72
- containerRef,
73
- itemHeight,
74
- isScrolling
75
- };
76
- }
77
- //# sourceMappingURL=virtual.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"virtual.mjs","names":["computed","ref","shallowRef","propsFactory","makeDataTableVirtualProps","visibleItems","type","String","Number","default","itemHeight","UP","DOWN","useVirtual","props","items","startIndex","parseInt","containerRef","isScrolling","calculateOffset","index","value","calculateMidPointIndex","scrollTop","start","end","length","middle","Math","floor","middleOffset","lastScrollTop","scrollTimeout","handleScroll","clearTimeout","setTimeout","direction","midPointIndex","buffer","round","max","min","stopIndex","paddingTop","paddingBottom"],"sources":["../../../../src/labs/VDataTable/composables/virtual.ts"],"sourcesContent":["// Utilities\nimport { computed, ref, shallowRef } from 'vue'\nimport { propsFactory } from '@/util'\n\n// Types\nimport type { Ref } from 'vue'\n\nexport const makeDataTableVirtualProps = propsFactory({\n visibleItems: {\n type: [String, Number],\n default: 20,\n },\n itemHeight: {\n type: [String, Number],\n default: 52,\n },\n}, 'virtual')\n\ntype VirtualProps = {\n itemHeight: string | number\n visibleItems: string | number\n}\n\nconst UP = -1\nconst DOWN = 1\n\n// TODO: Replace this with composable from v-virtual-scroll\nexport function useVirtual (props: VirtualProps, items: Ref<readonly any[]>) {\n const startIndex = shallowRef(0)\n const itemHeight = computed(() => parseInt(props.itemHeight, 10))\n const visibleItems = computed(() => parseInt(props.visibleItems, 10))\n const containerRef = ref<HTMLDivElement>()\n const isScrolling = shallowRef(false)\n\n function calculateOffset (index: number) {\n return index * itemHeight.value\n }\n\n function calculateMidPointIndex (scrollTop: number) {\n let start = 0\n let end = items.value.length\n\n while (start <= end) {\n const middle = start + Math.floor((end - start) / 2)\n const middleOffset = calculateOffset(middle)\n\n if (middleOffset === scrollTop) {\n return middle\n } else if (middleOffset < scrollTop) {\n start = middle + 1\n } else if (middleOffset > scrollTop) {\n end = middle - 1\n }\n }\n\n return start\n }\n\n let lastScrollTop = 0\n let scrollTimeout: any\n function handleScroll () {\n if (!containerRef.value) return\n\n isScrolling.value = true\n clearTimeout(scrollTimeout)\n scrollTimeout = setTimeout(() => {\n isScrolling.value = false\n }, 100)\n\n const scrollTop = containerRef.value.scrollTop\n const direction = scrollTop < lastScrollTop ? UP : DOWN\n\n const midPointIndex = calculateMidPointIndex(scrollTop)\n\n const buffer = Math.round(visibleItems.value / 3)\n if (direction === UP && midPointIndex <= startIndex.value) {\n startIndex.value = Math.max(midPointIndex - buffer, 0)\n } else if (direction === DOWN && midPointIndex >= startIndex.value + (buffer * 2)) {\n startIndex.value = Math.min(Math.max(0, midPointIndex - buffer), items.value.length - visibleItems.value)\n }\n\n lastScrollTop = containerRef.value.scrollTop\n }\n\n const stopIndex = computed(() => Math.min(items.value.length, startIndex.value + visibleItems.value))\n const paddingTop = computed(() => calculateOffset(startIndex.value))\n const paddingBottom = computed(() => calculateOffset(items.value.length) - calculateOffset(stopIndex.value))\n\n return {\n startIndex,\n stopIndex,\n paddingTop,\n paddingBottom,\n handleScroll,\n containerRef,\n itemHeight,\n isScrolling,\n }\n}\n"],"mappings":"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"}