vuetify 3.3.1 → 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 (470) hide show
  1. package/dist/json/attributes.json +40 -44
  2. package/dist/json/importMap.json +4 -4
  3. package/dist/json/tags.json +0 -1
  4. package/dist/json/web-types.json +605 -748
  5. package/dist/vuetify-labs.css +53 -32
  6. package/dist/vuetify-labs.d.ts +1591 -1494
  7. package/dist/vuetify-labs.esm.js +8140 -8073
  8. package/dist/vuetify-labs.esm.js.map +1 -1
  9. package/dist/vuetify-labs.js +8139 -8072
  10. package/dist/vuetify-labs.min.css +2 -2
  11. package/dist/vuetify.css +21 -1
  12. package/dist/vuetify.d.ts +1187 -1187
  13. package/dist/vuetify.esm.js +6685 -6547
  14. package/dist/vuetify.esm.js.map +1 -1
  15. package/dist/vuetify.js +6684 -6546
  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/index.d.mts +1 -1
  27. package/lib/components/VApp/VApp.mjs +4 -4
  28. package/lib/components/VApp/VApp.mjs.map +1 -1
  29. package/lib/components/VAppBar/VAppBar.mjs +9 -6
  30. package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
  31. package/lib/components/VAppBar/VAppBarNavIcon.mjs +1 -1
  32. package/lib/components/VAppBar/VAppBarNavIcon.mjs.map +1 -1
  33. package/lib/components/VAppBar/index.d.mts +1 -1
  34. package/lib/components/VAutocomplete/VAutocomplete.mjs +11 -11
  35. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  36. package/lib/components/VAutocomplete/index.d.mts +88 -88
  37. package/lib/components/VAvatar/VAvatar.mjs +4 -4
  38. package/lib/components/VAvatar/VAvatar.mjs.map +1 -1
  39. package/lib/components/VBadge/VBadge.mjs +6 -6
  40. package/lib/components/VBadge/VBadge.mjs.map +1 -1
  41. package/lib/components/VBanner/VBanner.mjs +7 -10
  42. package/lib/components/VBanner/VBanner.mjs.map +1 -1
  43. package/lib/components/VBanner/VBannerActions.mjs +2 -2
  44. package/lib/components/VBanner/VBannerActions.mjs.map +1 -1
  45. package/lib/components/VBanner/VBannerText.mjs +1 -0
  46. package/lib/components/VBanner/VBannerText.mjs.map +1 -1
  47. package/lib/components/VBanner/index.d.mts +1 -1
  48. package/lib/components/VBottomNavigation/VBottomNavigation.mjs +8 -8
  49. package/lib/components/VBottomNavigation/VBottomNavigation.mjs.map +1 -1
  50. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs +6 -9
  51. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs.map +1 -1
  52. package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.mjs +2 -2
  53. package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.mjs.map +1 -1
  54. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs +3 -3
  55. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs.map +1 -1
  56. package/lib/components/VBtn/VBtn.mjs +6 -6
  57. package/lib/components/VBtn/VBtn.mjs.map +1 -1
  58. package/lib/components/VBtnGroup/VBtnGroup.mjs +4 -4
  59. package/lib/components/VBtnGroup/VBtnGroup.mjs.map +1 -1
  60. package/lib/components/VBtnToggle/VBtnToggle.mjs +2 -2
  61. package/lib/components/VBtnToggle/VBtnToggle.mjs.map +1 -1
  62. package/lib/components/VCard/VCard.mjs +7 -7
  63. package/lib/components/VCard/VCard.mjs.map +1 -1
  64. package/lib/components/VCard/VCardItem.mjs +4 -4
  65. package/lib/components/VCard/VCardItem.mjs.map +1 -1
  66. package/lib/components/VCard/VCardSubtitle.mjs +1 -0
  67. package/lib/components/VCard/VCardSubtitle.mjs.map +1 -1
  68. package/lib/components/VCard/VCardText.mjs +1 -0
  69. package/lib/components/VCard/VCardText.mjs.map +1 -1
  70. package/lib/components/VCard/VCardTitle.mjs +1 -0
  71. package/lib/components/VCard/VCardTitle.mjs.map +1 -1
  72. package/lib/components/VCard/index.d.mts +1 -1
  73. package/lib/components/VCarousel/VCarousel.mjs +4 -7
  74. package/lib/components/VCarousel/VCarousel.mjs.map +1 -1
  75. package/lib/components/VCarousel/VCarouselItem.mjs +1 -1
  76. package/lib/components/VCarousel/VCarouselItem.mjs.map +1 -1
  77. package/lib/components/VCheckbox/VCheckbox.mjs +3 -3
  78. package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
  79. package/lib/components/VCheckbox/VCheckboxBtn.mjs +4 -4
  80. package/lib/components/VCheckbox/VCheckboxBtn.mjs.map +1 -1
  81. package/lib/components/VCheckbox/index.d.mts +50 -50
  82. package/lib/components/VChip/VChip.mjs +7 -7
  83. package/lib/components/VChip/VChip.mjs.map +1 -1
  84. package/lib/components/VChipGroup/VChipGroup.mjs +4 -7
  85. package/lib/components/VChipGroup/VChipGroup.mjs.map +1 -1
  86. package/lib/components/VCode/index.mjs +3 -0
  87. package/lib/components/VCode/index.mjs.map +1 -1
  88. package/lib/components/VColorPicker/VColorPicker.mjs +10 -12
  89. package/lib/components/VColorPicker/VColorPicker.mjs.map +1 -1
  90. package/lib/components/VColorPicker/VColorPickerCanvas.mjs +2 -5
  91. package/lib/components/VColorPicker/VColorPickerCanvas.mjs.map +1 -1
  92. package/lib/components/VColorPicker/VColorPickerEdit.mjs +3 -3
  93. package/lib/components/VColorPicker/VColorPickerEdit.mjs.map +1 -1
  94. package/lib/components/VColorPicker/VColorPickerPreview.mjs +3 -3
  95. package/lib/components/VColorPicker/VColorPickerPreview.mjs.map +1 -1
  96. package/lib/components/VColorPicker/VColorPickerSwatches.mjs +1 -1
  97. package/lib/components/VColorPicker/VColorPickerSwatches.mjs.map +1 -1
  98. package/lib/components/VCombobox/VCombobox.mjs +13 -12
  99. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  100. package/lib/components/VCombobox/index.d.mts +88 -88
  101. package/lib/components/VCounter/VCounter.mjs +2 -2
  102. package/lib/components/VCounter/VCounter.mjs.map +1 -1
  103. package/lib/components/VDefaultsProvider/VDefaultsProvider.mjs +4 -4
  104. package/lib/components/VDefaultsProvider/VDefaultsProvider.mjs.map +1 -1
  105. package/lib/components/VDefaultsProvider/index.d.mts +7 -9
  106. package/lib/components/VDialog/VDialog.mjs +7 -7
  107. package/lib/components/VDialog/VDialog.mjs.map +1 -1
  108. package/lib/components/VDialog/index.d.mts +66 -66
  109. package/lib/components/VDivider/VDivider.mjs +3 -3
  110. package/lib/components/VDivider/VDivider.mjs.map +1 -1
  111. package/lib/components/VExpansionPanel/VExpansionPanel.mjs +5 -5
  112. package/lib/components/VExpansionPanel/VExpansionPanel.mjs.map +1 -1
  113. package/lib/components/VExpansionPanel/VExpansionPanelText.mjs +3 -3
  114. package/lib/components/VExpansionPanel/VExpansionPanelText.mjs.map +1 -1
  115. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs +5 -5
  116. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs.map +1 -1
  117. package/lib/components/VExpansionPanel/VExpansionPanels.mjs +3 -3
  118. package/lib/components/VExpansionPanel/VExpansionPanels.mjs.map +1 -1
  119. package/lib/components/VExpansionPanel/index.d.mts +1 -1
  120. package/lib/components/VField/VField.mjs +8 -8
  121. package/lib/components/VField/VField.mjs.map +1 -1
  122. package/lib/components/VField/VFieldLabel.mjs +1 -1
  123. package/lib/components/VField/VFieldLabel.mjs.map +1 -1
  124. package/lib/components/VField/index.d.mts +5 -5
  125. package/lib/components/VFileInput/VFileInput.mjs +5 -5
  126. package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
  127. package/lib/components/VFileInput/index.d.mts +60 -60
  128. package/lib/components/VFooter/VFooter.mjs +4 -4
  129. package/lib/components/VFooter/VFooter.mjs.map +1 -1
  130. package/lib/components/VForm/VForm.mjs +3 -3
  131. package/lib/components/VForm/VForm.mjs.map +1 -1
  132. package/lib/components/VGrid/VCol.mjs +2 -2
  133. package/lib/components/VGrid/VCol.mjs.map +1 -1
  134. package/lib/components/VGrid/VContainer.mjs +3 -3
  135. package/lib/components/VGrid/VContainer.mjs.map +1 -1
  136. package/lib/components/VGrid/VRow.mjs +2 -2
  137. package/lib/components/VGrid/VRow.mjs.map +1 -1
  138. package/lib/components/VGrid/VSpacer.mjs +1 -0
  139. package/lib/components/VGrid/VSpacer.mjs.map +1 -1
  140. package/lib/components/VHover/VHover.mjs +1 -1
  141. package/lib/components/VHover/VHover.mjs.map +1 -1
  142. package/lib/components/VIcon/VIcon.mjs +4 -4
  143. package/lib/components/VIcon/VIcon.mjs.map +1 -1
  144. package/lib/components/VImg/VImg.mjs +5 -4
  145. package/lib/components/VImg/VImg.mjs.map +1 -1
  146. package/lib/components/VInput/InputIcon.mjs +3 -2
  147. package/lib/components/VInput/InputIcon.mjs.map +1 -1
  148. package/lib/components/VInput/VInput.mjs +8 -4
  149. package/lib/components/VInput/VInput.mjs.map +1 -1
  150. package/lib/components/VInput/index.d.mts +10 -10
  151. package/lib/components/VItemGroup/VItem.mjs +2 -2
  152. package/lib/components/VItemGroup/VItem.mjs.map +1 -1
  153. package/lib/components/VItemGroup/VItemGroup.mjs +1 -1
  154. package/lib/components/VItemGroup/VItemGroup.mjs.map +1 -1
  155. package/lib/components/VKbd/index.mjs +3 -0
  156. package/lib/components/VKbd/index.mjs.map +1 -1
  157. package/lib/components/VLabel/VLabel.mjs +1 -1
  158. package/lib/components/VLabel/VLabel.mjs.map +1 -1
  159. package/lib/components/VLayout/VLayout.mjs +3 -3
  160. package/lib/components/VLayout/VLayout.mjs.map +1 -1
  161. package/lib/components/VLayout/VLayoutItem.mjs +1 -1
  162. package/lib/components/VLayout/VLayoutItem.mjs.map +1 -1
  163. package/lib/components/VLazy/VLazy.mjs +3 -3
  164. package/lib/components/VLazy/VLazy.mjs.map +1 -1
  165. package/lib/components/VList/VList.css +1 -0
  166. package/lib/components/VList/VList.mjs +5 -4
  167. package/lib/components/VList/VList.mjs.map +1 -1
  168. package/lib/components/VList/VList.sass +1 -0
  169. package/lib/components/VList/VListChildren.mjs +3 -3
  170. package/lib/components/VList/VListChildren.mjs.map +1 -1
  171. package/lib/components/VList/VListGroup.mjs +8 -8
  172. package/lib/components/VList/VListGroup.mjs.map +1 -1
  173. package/lib/components/VList/VListImg.mjs +1 -0
  174. package/lib/components/VList/VListImg.mjs.map +1 -1
  175. package/lib/components/VList/VListItem.css +18 -0
  176. package/lib/components/VList/VListItem.mjs +9 -9
  177. package/lib/components/VList/VListItem.mjs.map +1 -1
  178. package/lib/components/VList/VListItem.sass +12 -0
  179. package/lib/components/VList/VListItemAction.mjs +1 -1
  180. package/lib/components/VList/VListItemAction.mjs.map +1 -1
  181. package/lib/components/VList/VListItemMedia.mjs +1 -1
  182. package/lib/components/VList/VListItemMedia.mjs.map +1 -1
  183. package/lib/components/VList/VListItemSubtitle.mjs +1 -0
  184. package/lib/components/VList/VListItemSubtitle.mjs.map +1 -1
  185. package/lib/components/VList/VListItemTitle.mjs +1 -0
  186. package/lib/components/VList/VListItemTitle.mjs.map +1 -1
  187. package/lib/components/VList/VListSubheader.mjs +3 -3
  188. package/lib/components/VList/VListSubheader.mjs.map +1 -1
  189. package/lib/components/VList/index.d.mts +24 -24
  190. package/lib/components/VLocaleProvider/VLocaleProvider.mjs +1 -1
  191. package/lib/components/VLocaleProvider/VLocaleProvider.mjs.map +1 -1
  192. package/lib/components/VMain/VMain.mjs +3 -3
  193. package/lib/components/VMain/VMain.mjs.map +1 -1
  194. package/lib/components/VMenu/VMenu.mjs +7 -7
  195. package/lib/components/VMenu/VMenu.mjs.map +1 -1
  196. package/lib/components/VMenu/index.d.mts +113 -113
  197. package/lib/components/VMenu/shared.mjs +2 -0
  198. package/lib/components/VMenu/shared.mjs.map +1 -1
  199. package/lib/components/VMessages/VMessages.mjs +3 -3
  200. package/lib/components/VMessages/VMessages.mjs.map +1 -1
  201. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +17 -13
  202. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
  203. package/lib/components/VOverlay/VOverlay.mjs +11 -14
  204. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  205. package/lib/components/VOverlay/index.d.mts +21 -21
  206. package/lib/components/VOverlay/locationStrategies.mjs +5 -5
  207. package/lib/components/VOverlay/locationStrategies.mjs.map +1 -1
  208. package/lib/components/VOverlay/scrollStrategies.mjs +3 -3
  209. package/lib/components/VOverlay/scrollStrategies.mjs.map +1 -1
  210. package/lib/components/VOverlay/useActivator.mjs +6 -10
  211. package/lib/components/VOverlay/useActivator.mjs.map +1 -1
  212. package/lib/components/VOverlay/util/point.mjs +2 -0
  213. package/lib/components/VOverlay/util/point.mjs.map +1 -1
  214. package/lib/components/VPagination/VPagination.mjs +9 -9
  215. package/lib/components/VPagination/VPagination.mjs.map +1 -1
  216. package/lib/components/VParallax/VParallax.mjs +3 -6
  217. package/lib/components/VParallax/VParallax.mjs.map +1 -1
  218. package/lib/components/VProgressCircular/VProgressCircular.mjs +5 -5
  219. package/lib/components/VProgressCircular/VProgressCircular.mjs.map +1 -1
  220. package/lib/components/VProgressLinear/VProgressLinear.mjs +6 -6
  221. package/lib/components/VProgressLinear/VProgressLinear.mjs.map +1 -1
  222. package/lib/components/VRadio/VRadio.mjs +3 -3
  223. package/lib/components/VRadio/VRadio.mjs.map +1 -1
  224. package/lib/components/VRadio/index.d.mts +4 -4
  225. package/lib/components/VRadioGroup/VRadioGroup.mjs +4 -4
  226. package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
  227. package/lib/components/VRadioGroup/index.d.mts +32 -32
  228. package/lib/components/VRangeSlider/VRangeSlider.mjs +4 -4
  229. package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
  230. package/lib/components/VRangeSlider/index.d.mts +8 -8
  231. package/lib/components/VRating/VRating.mjs +6 -9
  232. package/lib/components/VRating/VRating.mjs.map +1 -1
  233. package/lib/components/VResponsive/VResponsive.css +1 -0
  234. package/lib/components/VResponsive/VResponsive.mjs +1 -1
  235. package/lib/components/VResponsive/VResponsive.mjs.map +1 -1
  236. package/lib/components/VResponsive/VResponsive.sass +1 -0
  237. package/lib/components/VSelect/VSelect.mjs +9 -9
  238. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  239. package/lib/components/VSelect/index.d.mts +88 -88
  240. package/lib/components/VSelectionControl/VSelectionControl.mjs +7 -7
  241. package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
  242. package/lib/components/VSelectionControl/index.d.mts +2 -2
  243. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs +6 -6
  244. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs.map +1 -1
  245. package/lib/components/VSheet/VSheet.mjs +4 -4
  246. package/lib/components/VSheet/VSheet.mjs.map +1 -1
  247. package/lib/components/VSlideGroup/VSlideGroup.mjs +7 -7
  248. package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
  249. package/lib/components/VSlideGroup/VSlideGroupItem.mjs +2 -2
  250. package/lib/components/VSlideGroup/VSlideGroupItem.mjs.map +1 -1
  251. package/lib/components/VSlider/VSlider.mjs +6 -6
  252. package/lib/components/VSlider/VSlider.mjs.map +1 -1
  253. package/lib/components/VSlider/VSliderThumb.mjs +6 -6
  254. package/lib/components/VSlider/VSliderThumb.mjs.map +1 -1
  255. package/lib/components/VSlider/VSliderTrack.mjs +3 -3
  256. package/lib/components/VSlider/VSliderTrack.mjs.map +1 -1
  257. package/lib/components/VSlider/index.d.mts +8 -8
  258. package/lib/components/VSlider/slider.mjs +4 -7
  259. package/lib/components/VSlider/slider.mjs.map +1 -1
  260. package/lib/components/VSnackbar/VSnackbar.mjs +7 -7
  261. package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
  262. package/lib/components/VSnackbar/index.d.mts +77 -77
  263. package/lib/components/VStepper/index.mjs +3 -2
  264. package/lib/components/VStepper/index.mjs.map +1 -1
  265. package/lib/components/VSwitch/VSwitch.mjs +6 -6
  266. package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
  267. package/lib/components/VSwitch/index.d.mts +41 -41
  268. package/lib/components/VSystemBar/VSystemBar.mjs +4 -4
  269. package/lib/components/VSystemBar/VSystemBar.mjs.map +1 -1
  270. package/lib/components/VTable/VTable.mjs +1 -1
  271. package/lib/components/VTable/VTable.mjs.map +1 -1
  272. package/lib/components/VTabs/VTab.mjs +3 -3
  273. package/lib/components/VTabs/VTab.mjs.map +1 -1
  274. package/lib/components/VTabs/VTabs.mjs +7 -7
  275. package/lib/components/VTabs/VTabs.mjs.map +1 -1
  276. package/lib/components/VTabs/shared.mjs +2 -0
  277. package/lib/components/VTabs/shared.mjs.map +1 -1
  278. package/lib/components/VTextField/VTextField.mjs +6 -6
  279. package/lib/components/VTextField/VTextField.mjs.map +1 -1
  280. package/lib/components/VTextField/index.d.mts +72 -72
  281. package/lib/components/VTextarea/VTextarea.mjs +8 -11
  282. package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
  283. package/lib/components/VTextarea/index.d.mts +60 -60
  284. package/lib/components/VThemeProvider/VThemeProvider.mjs +1 -1
  285. package/lib/components/VThemeProvider/VThemeProvider.mjs.map +1 -1
  286. package/lib/components/VTimeline/VTimeline.mjs +4 -4
  287. package/lib/components/VTimeline/VTimeline.mjs.map +1 -1
  288. package/lib/components/VTimeline/VTimelineDivider.mjs +5 -5
  289. package/lib/components/VTimeline/VTimelineDivider.mjs.map +1 -1
  290. package/lib/components/VTimeline/VTimelineItem.mjs +4 -7
  291. package/lib/components/VTimeline/VTimelineItem.mjs.map +1 -1
  292. package/lib/components/VToolbar/VToolbar.mjs +8 -8
  293. package/lib/components/VToolbar/VToolbar.mjs.map +1 -1
  294. package/lib/components/VToolbar/VToolbarItems.mjs +4 -4
  295. package/lib/components/VToolbar/VToolbarItems.mjs.map +1 -1
  296. package/lib/components/VToolbar/VToolbarTitle.mjs +1 -1
  297. package/lib/components/VToolbar/VToolbarTitle.mjs.map +1 -1
  298. package/lib/components/VToolbar/index.d.mts +1 -1
  299. package/lib/components/VTooltip/VTooltip.mjs +6 -6
  300. package/lib/components/VTooltip/VTooltip.mjs.map +1 -1
  301. package/lib/components/VTooltip/index.d.mts +113 -113
  302. package/lib/components/VVirtualScroll/VVirtualScroll.mjs +15 -93
  303. package/lib/components/VVirtualScroll/VVirtualScroll.mjs.map +1 -1
  304. package/lib/components/VVirtualScroll/VVirtualScrollItem.mjs +9 -4
  305. package/lib/components/VVirtualScroll/VVirtualScrollItem.mjs.map +1 -1
  306. package/lib/components/VVirtualScroll/index.d.mts +9 -9
  307. package/lib/components/VWindow/VWindow.mjs +6 -6
  308. package/lib/components/VWindow/VWindow.mjs.map +1 -1
  309. package/lib/components/VWindow/VWindowItem.mjs +5 -5
  310. package/lib/components/VWindow/VWindowItem.mjs.map +1 -1
  311. package/lib/components/index.d.mts +1481 -1483
  312. package/lib/components/transitions/createTransition.mjs +5 -8
  313. package/lib/components/transitions/createTransition.mjs.map +1 -1
  314. package/lib/components/transitions/dialog-transition.mjs +1 -3
  315. package/lib/components/transitions/dialog-transition.mjs.map +1 -1
  316. package/lib/components/transitions/index.d.mts +117 -117
  317. package/lib/composables/defaults.mjs +5 -0
  318. package/lib/composables/defaults.mjs.map +1 -1
  319. package/lib/composables/display.mjs +1 -1
  320. package/lib/composables/display.mjs.map +1 -1
  321. package/lib/composables/filter.mjs +2 -4
  322. package/lib/composables/filter.mjs.map +1 -1
  323. package/lib/composables/focus.mjs +1 -1
  324. package/lib/composables/focus.mjs.map +1 -1
  325. package/lib/composables/forwardRefs.mjs +2 -0
  326. package/lib/composables/forwardRefs.mjs.map +1 -1
  327. package/lib/composables/hydration.mjs +1 -1
  328. package/lib/composables/hydration.mjs.map +1 -1
  329. package/lib/composables/icons.mjs +7 -1
  330. package/lib/composables/icons.mjs.map +1 -1
  331. package/lib/composables/lazy.mjs +1 -3
  332. package/lib/composables/lazy.mjs.map +1 -1
  333. package/lib/composables/locale.mjs +2 -1
  334. package/lib/composables/locale.mjs.map +1 -1
  335. package/lib/composables/mutationObserver.mjs +2 -5
  336. package/lib/composables/mutationObserver.mjs.map +1 -1
  337. package/lib/composables/nested/nested.mjs +2 -2
  338. package/lib/composables/nested/nested.mjs.map +1 -1
  339. package/lib/composables/nested/selectStrategies.mjs +1 -0
  340. package/lib/composables/nested/selectStrategies.mjs.map +1 -1
  341. package/lib/composables/proxiedModel.mjs +3 -3
  342. package/lib/composables/proxiedModel.mjs.map +1 -1
  343. package/lib/composables/refs.mjs +4 -1
  344. package/lib/composables/refs.mjs.map +1 -1
  345. package/lib/composables/resizeObserver.mjs +4 -4
  346. package/lib/composables/resizeObserver.mjs.map +1 -1
  347. package/lib/composables/router.mjs +1 -4
  348. package/lib/composables/router.mjs.map +1 -1
  349. package/lib/composables/scopeId.mjs +1 -0
  350. package/lib/composables/scopeId.mjs.map +1 -1
  351. package/lib/composables/theme.mjs.map +1 -1
  352. package/lib/composables/toggleScope.mjs +4 -0
  353. package/lib/composables/toggleScope.mjs.map +1 -1
  354. package/lib/composables/touch.mjs +1 -0
  355. package/lib/composables/touch.mjs.map +1 -1
  356. package/lib/composables/validation.mjs +2 -2
  357. package/lib/composables/validation.mjs.map +1 -1
  358. package/lib/composables/virtual.mjs +108 -0
  359. package/lib/composables/virtual.mjs.map +1 -0
  360. package/lib/directives/click-outside/index.mjs +2 -1
  361. package/lib/directives/click-outside/index.mjs.map +1 -1
  362. package/lib/directives/intersect/index.mjs +1 -1
  363. package/lib/directives/intersect/index.mjs.map +1 -1
  364. package/lib/directives/resize/index.mjs +2 -0
  365. package/lib/directives/resize/index.mjs.map +1 -1
  366. package/lib/directives/scroll/index.mjs +2 -0
  367. package/lib/directives/scroll/index.mjs.map +1 -1
  368. package/lib/directives/touch/index.mjs +1 -2
  369. package/lib/directives/touch/index.mjs.map +1 -1
  370. package/lib/entry-bundler.mjs +7 -2
  371. package/lib/entry-bundler.mjs.map +1 -1
  372. package/lib/framework.mjs +4 -6
  373. package/lib/framework.mjs.map +1 -1
  374. package/lib/iconsets/fa.mjs +1 -1
  375. package/lib/iconsets/fa.mjs.map +1 -1
  376. package/lib/iconsets/fa4.mjs +4 -3
  377. package/lib/iconsets/fa4.mjs.map +1 -1
  378. package/lib/iconsets/md.mjs +4 -3
  379. package/lib/iconsets/md.mjs.map +1 -1
  380. package/lib/iconsets/mdi-svg.mjs +1 -1
  381. package/lib/iconsets/mdi-svg.mjs.map +1 -1
  382. package/lib/iconsets/mdi.mjs +4 -3
  383. package/lib/iconsets/mdi.mjs.map +1 -1
  384. package/lib/index.d.mts +34 -32
  385. package/lib/labs/VBottomSheet/VBottomSheet.mjs +1 -1
  386. package/lib/labs/VBottomSheet/VBottomSheet.mjs.map +1 -1
  387. package/lib/labs/VBottomSheet/index.d.mts +21 -21
  388. package/lib/labs/VDataIterator/VDataIterator.mjs +7 -7
  389. package/lib/labs/VDataIterator/VDataIterator.mjs.map +1 -1
  390. package/lib/labs/VDataIterator/composables/items.mjs +2 -2
  391. package/lib/labs/VDataIterator/composables/items.mjs.map +1 -1
  392. package/lib/labs/VDataIterator/index.d.mts +28 -27
  393. package/lib/labs/VDataTable/VDataTable.css +1 -0
  394. package/lib/labs/VDataTable/VDataTable.mjs +8 -8
  395. package/lib/labs/VDataTable/VDataTable.mjs.map +1 -1
  396. package/lib/labs/VDataTable/VDataTable.sass +1 -0
  397. package/lib/labs/VDataTable/VDataTableColumn.mjs +2 -1
  398. package/lib/labs/VDataTable/VDataTableColumn.mjs.map +1 -1
  399. package/lib/labs/VDataTable/VDataTableFooter.mjs +3 -3
  400. package/lib/labs/VDataTable/VDataTableFooter.mjs.map +1 -1
  401. package/lib/labs/VDataTable/VDataTableGroupHeaderRow.mjs +5 -5
  402. package/lib/labs/VDataTable/VDataTableGroupHeaderRow.mjs.map +1 -1
  403. package/lib/labs/VDataTable/VDataTableHeaders.mjs +6 -6
  404. package/lib/labs/VDataTable/VDataTableHeaders.mjs.map +1 -1
  405. package/lib/labs/VDataTable/VDataTableRow.mjs +1 -1
  406. package/lib/labs/VDataTable/VDataTableRow.mjs.map +1 -1
  407. package/lib/labs/VDataTable/VDataTableRows.mjs +20 -16
  408. package/lib/labs/VDataTable/VDataTableRows.mjs.map +1 -1
  409. package/lib/labs/VDataTable/VDataTableServer.mjs +7 -7
  410. package/lib/labs/VDataTable/VDataTableServer.mjs.map +1 -1
  411. package/lib/labs/VDataTable/VDataTableVirtual.mjs +34 -22
  412. package/lib/labs/VDataTable/VDataTableVirtual.mjs.map +1 -1
  413. package/lib/labs/VDataTable/composables/expand.mjs +4 -4
  414. package/lib/labs/VDataTable/composables/expand.mjs.map +1 -1
  415. package/lib/labs/VDataTable/composables/group.mjs +1 -1
  416. package/lib/labs/VDataTable/composables/group.mjs.map +1 -1
  417. package/lib/labs/VDataTable/composables/headers.mjs +2 -2
  418. package/lib/labs/VDataTable/composables/headers.mjs.map +1 -1
  419. package/lib/labs/VDataTable/composables/items.mjs +5 -8
  420. package/lib/labs/VDataTable/composables/items.mjs.map +1 -1
  421. package/lib/labs/VDataTable/composables/paginate.mjs +1 -1
  422. package/lib/labs/VDataTable/composables/paginate.mjs.map +1 -1
  423. package/lib/labs/VDataTable/composables/select.mjs +1 -1
  424. package/lib/labs/VDataTable/composables/select.mjs.map +1 -1
  425. package/lib/labs/VDataTable/composables/sort.mjs +4 -9
  426. package/lib/labs/VDataTable/composables/sort.mjs.map +1 -1
  427. package/lib/labs/VDataTable/index.d.mts +182 -83
  428. package/lib/labs/VDataTable/types.mjs.map +1 -1
  429. package/lib/labs/VInfiniteScroll/VInfiniteScroll.mjs +1 -1
  430. package/lib/labs/VInfiniteScroll/VInfiniteScroll.mjs.map +1 -1
  431. package/lib/labs/VSkeletonLoader/VSkeletonLoader.mjs +4 -4
  432. package/lib/labs/VSkeletonLoader/VSkeletonLoader.mjs.map +1 -1
  433. package/lib/labs/components.d.mts +213 -114
  434. package/lib/labs/date/date.mjs.map +1 -1
  435. package/lib/labs/entry-bundler.mjs +3 -1
  436. package/lib/labs/entry-bundler.mjs.map +1 -1
  437. package/lib/locale/adapters/vue-i18n.d.mts +1 -1
  438. package/lib/locale/adapters/vue-i18n.mjs +5 -1
  439. package/lib/locale/adapters/vue-i18n.mjs.map +1 -1
  440. package/lib/locale/adapters/vuetify.mjs +1 -3
  441. package/lib/locale/adapters/vuetify.mjs.map +1 -1
  442. package/lib/util/anchor.mjs +1 -0
  443. package/lib/util/anchor.mjs.map +1 -1
  444. package/lib/util/animation.mjs +1 -0
  445. package/lib/util/animation.mjs.map +1 -1
  446. package/lib/util/color/APCA.mjs +1 -0
  447. package/lib/util/color/APCA.mjs.map +1 -1
  448. package/lib/util/color/transformCIELAB.mjs +2 -0
  449. package/lib/util/color/transformCIELAB.mjs.map +1 -1
  450. package/lib/util/color/transformSRGB.mjs +3 -1
  451. package/lib/util/color/transformSRGB.mjs.map +1 -1
  452. package/lib/util/colorUtils.mjs +2 -2
  453. package/lib/util/colorUtils.mjs.map +1 -1
  454. package/lib/util/console.mjs +1 -0
  455. package/lib/util/console.mjs.map +1 -1
  456. package/lib/util/createSimpleFunctional.mjs +2 -1
  457. package/lib/util/createSimpleFunctional.mjs.map +1 -1
  458. package/lib/util/defineComponent.mjs +5 -5
  459. package/lib/util/defineComponent.mjs.map +1 -1
  460. package/lib/util/getCurrentInstance.mjs +1 -2
  461. package/lib/util/getCurrentInstance.mjs.map +1 -1
  462. package/lib/util/helpers.mjs +3 -3
  463. package/lib/util/helpers.mjs.map +1 -1
  464. package/lib/util/injectSelf.mjs +2 -1
  465. package/lib/util/injectSelf.mjs.map +1 -1
  466. package/lib/util/propsFactory.mjs +1 -0
  467. package/lib/util/propsFactory.mjs.map +1 -1
  468. package/package.json +4 -4
  469. package/lib/labs/VDataTable/composables/virtual.mjs +0 -77
  470. package/lib/labs/VDataTable/composables/virtual.mjs.map +0 -1
@@ -101,15 +101,15 @@ declare const VTooltip: {
101
101
  eager?: boolean | undefined;
102
102
  disabled?: boolean | undefined;
103
103
  modelValue?: boolean | undefined;
104
+ locationStrategy?: NonNullable<"connected" | "static" | ((data: LocationStrategyData, props: StrategyProps, contentStyles: vue.Ref<Record<string, string>>) => {
105
+ updateLocation: (e: Event) => void;
106
+ } | undefined)> | undefined;
107
+ scrollStrategy?: NonNullable<"none" | "block" | "close" | ((data: ScrollStrategyData, props: StrategyProps$1, scope: vue.EffectScope) => void) | "reposition"> | undefined;
104
108
  activatorProps?: Record<string, any> | undefined;
105
109
  openOnClick?: boolean | undefined;
106
110
  openOnHover?: boolean | undefined;
107
111
  openOnFocus?: boolean | undefined;
108
112
  closeOnContentClick?: boolean | undefined;
109
- locationStrategy?: NonNullable<"connected" | "static" | ((data: LocationStrategyData, props: StrategyProps, contentStyles: vue.Ref<Record<string, string>>) => {
110
- updateLocation: (e: Event) => void;
111
- } | undefined)> | undefined;
112
- scrollStrategy?: NonNullable<"none" | "block" | "close" | ((data: ScrollStrategyData, props: StrategyProps$1, scope: vue.EffectScope) => void) | "reposition"> | undefined;
113
113
  closeOnBack?: boolean | undefined;
114
114
  contained?: boolean | undefined;
115
115
  noClickAnimation?: boolean | undefined;
@@ -236,14 +236,14 @@ declare const VTooltip: {
236
236
  eager: boolean;
237
237
  disabled: boolean;
238
238
  modelValue: boolean;
239
- activatorProps: Record<string, any>;
240
- openOnClick: boolean;
241
- openOnHover: boolean;
242
- closeOnContentClick: boolean;
243
239
  locationStrategy: NonNullable<"connected" | "static" | ((data: LocationStrategyData, props: StrategyProps, contentStyles: vue.Ref<Record<string, string>>) => {
244
240
  updateLocation: (e: Event) => void;
245
241
  } | undefined)>;
246
242
  scrollStrategy: NonNullable<"none" | "block" | "close" | ((data: ScrollStrategyData, props: StrategyProps$1, scope: vue.EffectScope) => void) | "reposition">;
243
+ activatorProps: Record<string, any>;
244
+ openOnClick: boolean;
245
+ openOnHover: boolean;
246
+ closeOnContentClick: boolean;
247
247
  closeOnBack: boolean;
248
248
  contained: boolean;
249
249
  noClickAnimation: boolean;
@@ -311,15 +311,15 @@ declare const VTooltip: {
311
311
  eager?: boolean | undefined;
312
312
  disabled?: boolean | undefined;
313
313
  modelValue?: boolean | undefined;
314
+ locationStrategy?: "connected" | "static" | ((data: LocationStrategyData, props: StrategyProps, contentStyles: vue.Ref<Record<string, string>>) => {
315
+ updateLocation: (e: Event) => void;
316
+ } | undefined) | undefined;
317
+ scrollStrategy?: "none" | "block" | "close" | ((data: ScrollStrategyData, props: StrategyProps$1, scope: vue.EffectScope) => void) | "reposition" | undefined;
314
318
  activatorProps?: Record<string, any> | undefined;
315
319
  openOnClick?: boolean | undefined;
316
320
  openOnHover?: boolean | undefined;
317
321
  openOnFocus?: boolean | undefined;
318
322
  closeOnContentClick?: boolean | undefined;
319
- locationStrategy?: "connected" | "static" | ((data: LocationStrategyData, props: StrategyProps, contentStyles: vue.Ref<Record<string, string>>) => {
320
- updateLocation: (e: Event) => void;
321
- } | undefined) | undefined;
322
- scrollStrategy?: "none" | "block" | "close" | ((data: ScrollStrategyData, props: StrategyProps$1, scope: vue.EffectScope) => void) | "reposition" | undefined;
323
323
  closeOnBack?: boolean | undefined;
324
324
  contained?: boolean | undefined;
325
325
  noClickAnimation?: boolean | undefined;
@@ -449,13 +449,13 @@ declare const VTooltip: {
449
449
  eager: boolean;
450
450
  disabled: boolean;
451
451
  modelValue: boolean;
452
- activatorProps: Record<string, any>;
453
- openOnHover: boolean;
454
- closeOnContentClick: boolean;
455
452
  locationStrategy: "connected" | "static" | ((data: LocationStrategyData, props: StrategyProps, contentStyles: vue.Ref<Record<string, string>>) => {
456
453
  updateLocation: (e: Event) => void;
457
454
  } | undefined);
458
455
  scrollStrategy: "none" | "block" | "close" | ((data: ScrollStrategyData, props: StrategyProps$1, scope: vue.EffectScope) => void) | "reposition";
456
+ activatorProps: Record<string, any>;
457
+ openOnHover: boolean;
458
+ closeOnContentClick: boolean;
459
459
  closeOnBack: boolean;
460
460
  contained: boolean;
461
461
  noClickAnimation: boolean;
@@ -536,15 +536,15 @@ declare const VTooltip: {
536
536
  eager: boolean;
537
537
  disabled: boolean;
538
538
  modelValue: boolean;
539
+ locationStrategy: "connected" | "static" | ((data: LocationStrategyData, props: StrategyProps, contentStyles: vue.Ref<Record<string, string>>) => {
540
+ updateLocation: (e: Event) => void;
541
+ } | undefined);
542
+ scrollStrategy: "none" | "block" | "close" | ((data: ScrollStrategyData, props: StrategyProps$1, scope: vue.EffectScope) => void) | "reposition";
539
543
  activatorProps: Record<string, any>;
540
544
  openOnClick: boolean;
541
545
  openOnHover: boolean;
542
546
  openOnFocus: boolean;
543
547
  closeOnContentClick: boolean;
544
- locationStrategy: "connected" | "static" | ((data: LocationStrategyData, props: StrategyProps, contentStyles: vue.Ref<Record<string, string>>) => {
545
- updateLocation: (e: Event) => void;
546
- } | undefined);
547
- scrollStrategy: "none" | "block" | "close" | ((data: ScrollStrategyData, props: StrategyProps$1, scope: vue.EffectScope) => void) | "reposition";
548
548
  closeOnBack: boolean;
549
549
  contained: boolean;
550
550
  noClickAnimation: boolean;
@@ -595,13 +595,13 @@ declare const VTooltip: {
595
595
  eager: boolean;
596
596
  disabled: boolean;
597
597
  modelValue: boolean;
598
- activatorProps: Record<string, any>;
599
- openOnHover: boolean;
600
- closeOnContentClick: boolean;
601
598
  locationStrategy: "connected" | "static" | ((data: LocationStrategyData, props: StrategyProps, contentStyles: vue.Ref<Record<string, string>>) => {
602
599
  updateLocation: (e: Event) => void;
603
600
  } | undefined);
604
601
  scrollStrategy: "none" | "block" | "close" | ((data: ScrollStrategyData, props: StrategyProps$1, scope: vue.EffectScope) => void) | "reposition";
602
+ activatorProps: Record<string, any>;
603
+ openOnHover: boolean;
604
+ closeOnContentClick: boolean;
605
605
  closeOnBack: boolean;
606
606
  contained: boolean;
607
607
  noClickAnimation: boolean;
@@ -666,7 +666,7 @@ declare const VTooltip: {
666
666
  globalTop: Readonly<vue.Ref<boolean>>;
667
667
  localTop: vue.ComputedRef<boolean>;
668
668
  updateLocation: vue.Ref<((e: Event) => void) | undefined>;
669
- }> & {} & vue.ComponentCustomProperties & {}, "offset" | "key" | "height" | "width" | "maxHeight" | "maxWidth" | "minHeight" | "minWidth" | "class" | "onAfterLeave" | "$children" | "ref" | "ref_for" | "ref_key" | "theme" | "v-slot:default" | "v-slots" | "contentClass" | "onVnodeBeforeMount" | "onVnodeMounted" | "onVnodeBeforeUpdate" | "onVnodeUpdated" | "onVnodeBeforeUnmount" | "onVnodeUnmounted" | "onUpdate:modelValue" | "activator" | "v-slot:activator" | "closeDelay" | "openDelay" | "contentProps" | "attach" | "onClick:outside" | ("absolute" | "location" | "origin" | "transition" | "zIndex" | "style" | "eager" | "disabled" | "modelValue" | "activatorProps" | "openOnClick" | "openOnHover" | "openOnFocus" | "closeOnContentClick" | "locationStrategy" | "scrollStrategy" | "closeOnBack" | "contained" | "noClickAnimation" | "persistent" | "scrim" | "_disableGlobalStack")>, `$${any}`>, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
669
+ }> & {} & vue.ComponentCustomProperties & {}, "offset" | "key" | "height" | "width" | "maxHeight" | "maxWidth" | "minHeight" | "minWidth" | "class" | "onAfterLeave" | "$children" | "ref" | "ref_for" | "ref_key" | "theme" | "v-slot:default" | "v-slots" | "contentClass" | "onVnodeBeforeMount" | "onVnodeMounted" | "onVnodeBeforeUpdate" | "onVnodeUpdated" | "onVnodeBeforeUnmount" | "onVnodeUnmounted" | "onUpdate:modelValue" | "activator" | "v-slot:activator" | "closeDelay" | "openDelay" | "contentProps" | "attach" | "onClick:outside" | ("absolute" | "location" | "origin" | "transition" | "zIndex" | "style" | "eager" | "disabled" | "modelValue" | "locationStrategy" | "scrollStrategy" | "activatorProps" | "openOnClick" | "openOnHover" | "openOnFocus" | "closeOnContentClick" | "closeOnBack" | "contained" | "noClickAnimation" | "persistent" | "scrim" | "_disableGlobalStack")>, `$${any}`>, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
670
670
  'update:modelValue': (value: boolean) => boolean;
671
671
  }, string, {
672
672
  offset: NonNullable<string | number | number[] | undefined>;
@@ -681,15 +681,15 @@ declare const VTooltip: {
681
681
  eager: boolean;
682
682
  disabled: boolean;
683
683
  modelValue: boolean;
684
+ locationStrategy: NonNullable<"connected" | "static" | ((data: LocationStrategyData, props: StrategyProps, contentStyles: vue.Ref<Record<string, string>>) => {
685
+ updateLocation: (e: Event) => void;
686
+ } | undefined)>;
687
+ scrollStrategy: NonNullable<"none" | "block" | "close" | ((data: ScrollStrategyData, props: StrategyProps$1, scope: vue.EffectScope) => void) | "reposition">;
684
688
  activatorProps: Record<string, any>;
685
689
  openOnClick: boolean;
686
690
  openOnHover: boolean;
687
691
  openOnFocus: boolean;
688
692
  closeOnContentClick: boolean;
689
- locationStrategy: NonNullable<"connected" | "static" | ((data: LocationStrategyData, props: StrategyProps, contentStyles: vue.Ref<Record<string, string>>) => {
690
- updateLocation: (e: Event) => void;
691
- } | undefined)>;
692
- scrollStrategy: NonNullable<"none" | "block" | "close" | ((data: ScrollStrategyData, props: StrategyProps$1, scope: vue.EffectScope) => void) | "reposition">;
693
693
  closeOnBack: boolean;
694
694
  contained: boolean;
695
695
  noClickAnimation: boolean;
@@ -739,14 +739,14 @@ declare const VTooltip: {
739
739
  eager: boolean;
740
740
  disabled: boolean;
741
741
  modelValue: boolean;
742
- activatorProps: Record<string, any>;
743
- openOnClick: boolean;
744
- openOnHover: boolean;
745
- closeOnContentClick: boolean;
746
742
  locationStrategy: NonNullable<"connected" | "static" | ((data: LocationStrategyData, props: StrategyProps, contentStyles: vue.Ref<Record<string, string>>) => {
747
743
  updateLocation: (e: Event) => void;
748
744
  } | undefined)>;
749
745
  scrollStrategy: NonNullable<"none" | "block" | "close" | ((data: ScrollStrategyData, props: StrategyProps$1, scope: vue.EffectScope) => void) | "reposition">;
746
+ activatorProps: Record<string, any>;
747
+ openOnClick: boolean;
748
+ openOnHover: boolean;
749
+ closeOnContentClick: boolean;
750
750
  closeOnBack: boolean;
751
751
  contained: boolean;
752
752
  noClickAnimation: boolean;
@@ -814,15 +814,15 @@ declare const VTooltip: {
814
814
  eager?: boolean | undefined;
815
815
  disabled?: boolean | undefined;
816
816
  modelValue?: boolean | undefined;
817
+ locationStrategy?: "connected" | "static" | ((data: LocationStrategyData, props: StrategyProps, contentStyles: vue.Ref<Record<string, string>>) => {
818
+ updateLocation: (e: Event) => void;
819
+ } | undefined) | undefined;
820
+ scrollStrategy?: "none" | "block" | "close" | ((data: ScrollStrategyData, props: StrategyProps$1, scope: vue.EffectScope) => void) | "reposition" | undefined;
817
821
  activatorProps?: Record<string, any> | undefined;
818
822
  openOnClick?: boolean | undefined;
819
823
  openOnHover?: boolean | undefined;
820
824
  openOnFocus?: boolean | undefined;
821
825
  closeOnContentClick?: boolean | undefined;
822
- locationStrategy?: "connected" | "static" | ((data: LocationStrategyData, props: StrategyProps, contentStyles: vue.Ref<Record<string, string>>) => {
823
- updateLocation: (e: Event) => void;
824
- } | undefined) | undefined;
825
- scrollStrategy?: "none" | "block" | "close" | ((data: ScrollStrategyData, props: StrategyProps$1, scope: vue.EffectScope) => void) | "reposition" | undefined;
826
826
  closeOnBack?: boolean | undefined;
827
827
  contained?: boolean | undefined;
828
828
  noClickAnimation?: boolean | undefined;
@@ -952,13 +952,13 @@ declare const VTooltip: {
952
952
  eager: boolean;
953
953
  disabled: boolean;
954
954
  modelValue: boolean;
955
- activatorProps: Record<string, any>;
956
- openOnHover: boolean;
957
- closeOnContentClick: boolean;
958
955
  locationStrategy: "connected" | "static" | ((data: LocationStrategyData, props: StrategyProps, contentStyles: vue.Ref<Record<string, string>>) => {
959
956
  updateLocation: (e: Event) => void;
960
957
  } | undefined);
961
958
  scrollStrategy: "none" | "block" | "close" | ((data: ScrollStrategyData, props: StrategyProps$1, scope: vue.EffectScope) => void) | "reposition";
959
+ activatorProps: Record<string, any>;
960
+ openOnHover: boolean;
961
+ closeOnContentClick: boolean;
962
962
  closeOnBack: boolean;
963
963
  contained: boolean;
964
964
  noClickAnimation: boolean;
@@ -1039,15 +1039,15 @@ declare const VTooltip: {
1039
1039
  eager: boolean;
1040
1040
  disabled: boolean;
1041
1041
  modelValue: boolean;
1042
+ locationStrategy: "connected" | "static" | ((data: LocationStrategyData, props: StrategyProps, contentStyles: vue.Ref<Record<string, string>>) => {
1043
+ updateLocation: (e: Event) => void;
1044
+ } | undefined);
1045
+ scrollStrategy: "none" | "block" | "close" | ((data: ScrollStrategyData, props: StrategyProps$1, scope: vue.EffectScope) => void) | "reposition";
1042
1046
  activatorProps: Record<string, any>;
1043
1047
  openOnClick: boolean;
1044
1048
  openOnHover: boolean;
1045
1049
  openOnFocus: boolean;
1046
1050
  closeOnContentClick: boolean;
1047
- locationStrategy: "connected" | "static" | ((data: LocationStrategyData, props: StrategyProps, contentStyles: vue.Ref<Record<string, string>>) => {
1048
- updateLocation: (e: Event) => void;
1049
- } | undefined);
1050
- scrollStrategy: "none" | "block" | "close" | ((data: ScrollStrategyData, props: StrategyProps$1, scope: vue.EffectScope) => void) | "reposition";
1051
1051
  closeOnBack: boolean;
1052
1052
  contained: boolean;
1053
1053
  noClickAnimation: boolean;
@@ -1098,13 +1098,13 @@ declare const VTooltip: {
1098
1098
  eager: boolean;
1099
1099
  disabled: boolean;
1100
1100
  modelValue: boolean;
1101
- activatorProps: Record<string, any>;
1102
- openOnHover: boolean;
1103
- closeOnContentClick: boolean;
1104
1101
  locationStrategy: "connected" | "static" | ((data: LocationStrategyData, props: StrategyProps, contentStyles: vue.Ref<Record<string, string>>) => {
1105
1102
  updateLocation: (e: Event) => void;
1106
1103
  } | undefined);
1107
1104
  scrollStrategy: "none" | "block" | "close" | ((data: ScrollStrategyData, props: StrategyProps$1, scope: vue.EffectScope) => void) | "reposition";
1105
+ activatorProps: Record<string, any>;
1106
+ openOnHover: boolean;
1107
+ closeOnContentClick: boolean;
1108
1108
  closeOnBack: boolean;
1109
1109
  contained: boolean;
1110
1110
  noClickAnimation: boolean;
@@ -1169,7 +1169,7 @@ declare const VTooltip: {
1169
1169
  globalTop: Readonly<vue.Ref<boolean>>;
1170
1170
  localTop: vue.ComputedRef<boolean>;
1171
1171
  updateLocation: vue.Ref<((e: Event) => void) | undefined>;
1172
- }> & {} & vue.ComponentCustomProperties & {}, "offset" | "key" | "height" | "width" | "maxHeight" | "maxWidth" | "minHeight" | "minWidth" | "class" | "onAfterLeave" | "$children" | "ref" | "ref_for" | "ref_key" | "theme" | "v-slot:default" | "v-slots" | "contentClass" | "onVnodeBeforeMount" | "onVnodeMounted" | "onVnodeBeforeUpdate" | "onVnodeUpdated" | "onVnodeBeforeUnmount" | "onVnodeUnmounted" | "onUpdate:modelValue" | "activator" | "v-slot:activator" | "closeDelay" | "openDelay" | "contentProps" | "attach" | "onClick:outside" | ("absolute" | "location" | "origin" | "transition" | "zIndex" | "style" | "eager" | "disabled" | "modelValue" | "activatorProps" | "openOnClick" | "openOnHover" | "openOnFocus" | "closeOnContentClick" | "locationStrategy" | "scrollStrategy" | "closeOnBack" | "contained" | "noClickAnimation" | "persistent" | "scrim" | "_disableGlobalStack")>, `$${any}`>> & {} & vue.ComponentCustomProperties & {};
1172
+ }> & {} & vue.ComponentCustomProperties & {}, "offset" | "key" | "height" | "width" | "maxHeight" | "maxWidth" | "minHeight" | "minWidth" | "class" | "onAfterLeave" | "$children" | "ref" | "ref_for" | "ref_key" | "theme" | "v-slot:default" | "v-slots" | "contentClass" | "onVnodeBeforeMount" | "onVnodeMounted" | "onVnodeBeforeUpdate" | "onVnodeUpdated" | "onVnodeBeforeUnmount" | "onVnodeUnmounted" | "onUpdate:modelValue" | "activator" | "v-slot:activator" | "closeDelay" | "openDelay" | "contentProps" | "attach" | "onClick:outside" | ("absolute" | "location" | "origin" | "transition" | "zIndex" | "style" | "eager" | "disabled" | "modelValue" | "locationStrategy" | "scrollStrategy" | "activatorProps" | "openOnClick" | "openOnHover" | "openOnFocus" | "closeOnContentClick" | "closeOnBack" | "contained" | "noClickAnimation" | "persistent" | "scrim" | "_disableGlobalStack")>, `$${any}`>> & {} & vue.ComponentCustomProperties & {};
1173
1173
  __isFragment?: undefined;
1174
1174
  __isTeleport?: undefined;
1175
1175
  __isSuspense?: undefined;
@@ -1186,14 +1186,14 @@ declare const VTooltip: {
1186
1186
  eager: boolean;
1187
1187
  disabled: boolean;
1188
1188
  modelValue: boolean;
1189
- activatorProps: Record<string, any>;
1190
- openOnClick: boolean;
1191
- openOnHover: boolean;
1192
- closeOnContentClick: boolean;
1193
1189
  locationStrategy: NonNullable<"connected" | "static" | ((data: LocationStrategyData, props: StrategyProps, contentStyles: vue.Ref<Record<string, string>>) => {
1194
1190
  updateLocation: (e: Event) => void;
1195
1191
  } | undefined)>;
1196
1192
  scrollStrategy: NonNullable<"none" | "block" | "close" | ((data: ScrollStrategyData, props: StrategyProps$1, scope: vue.EffectScope) => void) | "reposition">;
1193
+ activatorProps: Record<string, any>;
1194
+ openOnClick: boolean;
1195
+ openOnHover: boolean;
1196
+ closeOnContentClick: boolean;
1197
1197
  closeOnBack: boolean;
1198
1198
  contained: boolean;
1199
1199
  noClickAnimation: boolean;
@@ -1261,15 +1261,15 @@ declare const VTooltip: {
1261
1261
  eager?: boolean | undefined;
1262
1262
  disabled?: boolean | undefined;
1263
1263
  modelValue?: boolean | undefined;
1264
+ locationStrategy?: "connected" | "static" | ((data: LocationStrategyData, props: StrategyProps, contentStyles: vue.Ref<Record<string, string>>) => {
1265
+ updateLocation: (e: Event) => void;
1266
+ } | undefined) | undefined;
1267
+ scrollStrategy?: "none" | "block" | "close" | ((data: ScrollStrategyData, props: StrategyProps$1, scope: vue.EffectScope) => void) | "reposition" | undefined;
1264
1268
  activatorProps?: Record<string, any> | undefined;
1265
1269
  openOnClick?: boolean | undefined;
1266
1270
  openOnHover?: boolean | undefined;
1267
1271
  openOnFocus?: boolean | undefined;
1268
1272
  closeOnContentClick?: boolean | undefined;
1269
- locationStrategy?: "connected" | "static" | ((data: LocationStrategyData, props: StrategyProps, contentStyles: vue.Ref<Record<string, string>>) => {
1270
- updateLocation: (e: Event) => void;
1271
- } | undefined) | undefined;
1272
- scrollStrategy?: "none" | "block" | "close" | ((data: ScrollStrategyData, props: StrategyProps$1, scope: vue.EffectScope) => void) | "reposition" | undefined;
1273
1273
  closeOnBack?: boolean | undefined;
1274
1274
  contained?: boolean | undefined;
1275
1275
  noClickAnimation?: boolean | undefined;
@@ -1399,13 +1399,13 @@ declare const VTooltip: {
1399
1399
  eager: boolean;
1400
1400
  disabled: boolean;
1401
1401
  modelValue: boolean;
1402
- activatorProps: Record<string, any>;
1403
- openOnHover: boolean;
1404
- closeOnContentClick: boolean;
1405
1402
  locationStrategy: "connected" | "static" | ((data: LocationStrategyData, props: StrategyProps, contentStyles: vue.Ref<Record<string, string>>) => {
1406
1403
  updateLocation: (e: Event) => void;
1407
1404
  } | undefined);
1408
1405
  scrollStrategy: "none" | "block" | "close" | ((data: ScrollStrategyData, props: StrategyProps$1, scope: vue.EffectScope) => void) | "reposition";
1406
+ activatorProps: Record<string, any>;
1407
+ openOnHover: boolean;
1408
+ closeOnContentClick: boolean;
1409
1409
  closeOnBack: boolean;
1410
1410
  contained: boolean;
1411
1411
  noClickAnimation: boolean;
@@ -1486,15 +1486,15 @@ declare const VTooltip: {
1486
1486
  eager: boolean;
1487
1487
  disabled: boolean;
1488
1488
  modelValue: boolean;
1489
+ locationStrategy: "connected" | "static" | ((data: LocationStrategyData, props: StrategyProps, contentStyles: vue.Ref<Record<string, string>>) => {
1490
+ updateLocation: (e: Event) => void;
1491
+ } | undefined);
1492
+ scrollStrategy: "none" | "block" | "close" | ((data: ScrollStrategyData, props: StrategyProps$1, scope: vue.EffectScope) => void) | "reposition";
1489
1493
  activatorProps: Record<string, any>;
1490
1494
  openOnClick: boolean;
1491
1495
  openOnHover: boolean;
1492
1496
  openOnFocus: boolean;
1493
1497
  closeOnContentClick: boolean;
1494
- locationStrategy: "connected" | "static" | ((data: LocationStrategyData, props: StrategyProps, contentStyles: vue.Ref<Record<string, string>>) => {
1495
- updateLocation: (e: Event) => void;
1496
- } | undefined);
1497
- scrollStrategy: "none" | "block" | "close" | ((data: ScrollStrategyData, props: StrategyProps$1, scope: vue.EffectScope) => void) | "reposition";
1498
1498
  closeOnBack: boolean;
1499
1499
  contained: boolean;
1500
1500
  noClickAnimation: boolean;
@@ -1545,13 +1545,13 @@ declare const VTooltip: {
1545
1545
  eager: boolean;
1546
1546
  disabled: boolean;
1547
1547
  modelValue: boolean;
1548
- activatorProps: Record<string, any>;
1549
- openOnHover: boolean;
1550
- closeOnContentClick: boolean;
1551
1548
  locationStrategy: "connected" | "static" | ((data: LocationStrategyData, props: StrategyProps, contentStyles: vue.Ref<Record<string, string>>) => {
1552
1549
  updateLocation: (e: Event) => void;
1553
1550
  } | undefined);
1554
1551
  scrollStrategy: "none" | "block" | "close" | ((data: ScrollStrategyData, props: StrategyProps$1, scope: vue.EffectScope) => void) | "reposition";
1552
+ activatorProps: Record<string, any>;
1553
+ openOnHover: boolean;
1554
+ closeOnContentClick: boolean;
1555
1555
  closeOnBack: boolean;
1556
1556
  contained: boolean;
1557
1557
  noClickAnimation: boolean;
@@ -1616,7 +1616,7 @@ declare const VTooltip: {
1616
1616
  globalTop: Readonly<vue.Ref<boolean>>;
1617
1617
  localTop: vue.ComputedRef<boolean>;
1618
1618
  updateLocation: vue.Ref<((e: Event) => void) | undefined>;
1619
- }> & {} & vue.ComponentCustomProperties & {}, "offset" | "key" | "height" | "width" | "maxHeight" | "maxWidth" | "minHeight" | "minWidth" | "class" | "onAfterLeave" | "$children" | "ref" | "ref_for" | "ref_key" | "theme" | "v-slot:default" | "v-slots" | "contentClass" | "onVnodeBeforeMount" | "onVnodeMounted" | "onVnodeBeforeUpdate" | "onVnodeUpdated" | "onVnodeBeforeUnmount" | "onVnodeUnmounted" | "onUpdate:modelValue" | "activator" | "v-slot:activator" | "closeDelay" | "openDelay" | "contentProps" | "attach" | "onClick:outside" | ("absolute" | "location" | "origin" | "transition" | "zIndex" | "style" | "eager" | "disabled" | "modelValue" | "activatorProps" | "openOnClick" | "openOnHover" | "openOnFocus" | "closeOnContentClick" | "locationStrategy" | "scrollStrategy" | "closeOnBack" | "contained" | "noClickAnimation" | "persistent" | "scrim" | "_disableGlobalStack")>, `$${any}`>, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
1619
+ }> & {} & vue.ComponentCustomProperties & {}, "offset" | "key" | "height" | "width" | "maxHeight" | "maxWidth" | "minHeight" | "minWidth" | "class" | "onAfterLeave" | "$children" | "ref" | "ref_for" | "ref_key" | "theme" | "v-slot:default" | "v-slots" | "contentClass" | "onVnodeBeforeMount" | "onVnodeMounted" | "onVnodeBeforeUpdate" | "onVnodeUpdated" | "onVnodeBeforeUnmount" | "onVnodeUnmounted" | "onUpdate:modelValue" | "activator" | "v-slot:activator" | "closeDelay" | "openDelay" | "contentProps" | "attach" | "onClick:outside" | ("absolute" | "location" | "origin" | "transition" | "zIndex" | "style" | "eager" | "disabled" | "modelValue" | "locationStrategy" | "scrollStrategy" | "activatorProps" | "openOnClick" | "openOnHover" | "openOnFocus" | "closeOnContentClick" | "closeOnBack" | "contained" | "noClickAnimation" | "persistent" | "scrim" | "_disableGlobalStack")>, `$${any}`>, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
1620
1620
  'update:modelValue': (value: boolean) => boolean;
1621
1621
  }, string, {
1622
1622
  offset: NonNullable<string | number | number[] | undefined>;
@@ -1631,15 +1631,15 @@ declare const VTooltip: {
1631
1631
  eager: boolean;
1632
1632
  disabled: boolean;
1633
1633
  modelValue: boolean;
1634
+ locationStrategy: NonNullable<"connected" | "static" | ((data: LocationStrategyData, props: StrategyProps, contentStyles: vue.Ref<Record<string, string>>) => {
1635
+ updateLocation: (e: Event) => void;
1636
+ } | undefined)>;
1637
+ scrollStrategy: NonNullable<"none" | "block" | "close" | ((data: ScrollStrategyData, props: StrategyProps$1, scope: vue.EffectScope) => void) | "reposition">;
1634
1638
  activatorProps: Record<string, any>;
1635
1639
  openOnClick: boolean;
1636
1640
  openOnHover: boolean;
1637
1641
  openOnFocus: boolean;
1638
1642
  closeOnContentClick: boolean;
1639
- locationStrategy: NonNullable<"connected" | "static" | ((data: LocationStrategyData, props: StrategyProps, contentStyles: vue.Ref<Record<string, string>>) => {
1640
- updateLocation: (e: Event) => void;
1641
- } | undefined)>;
1642
- scrollStrategy: NonNullable<"none" | "block" | "close" | ((data: ScrollStrategyData, props: StrategyProps$1, scope: vue.EffectScope) => void) | "reposition">;
1643
1643
  closeOnBack: boolean;
1644
1644
  contained: boolean;
1645
1645
  noClickAnimation: boolean;
@@ -1716,28 +1716,6 @@ declare const VTooltip: {
1716
1716
  contentClass: null;
1717
1717
  modelValue: BooleanConstructor;
1718
1718
  activator: vue.PropType<string | Element | vue.ComponentPublicInstance | undefined>;
1719
- closeDelay: (StringConstructor | NumberConstructor)[];
1720
- openDelay: (StringConstructor | NumberConstructor)[];
1721
- activatorProps: {
1722
- type: vue.PropType<Record<string, any>>;
1723
- default: () => {};
1724
- };
1725
- openOnClick: Omit<{
1726
- type: BooleanConstructor;
1727
- default: undefined;
1728
- }, "type" | "default"> & {
1729
- type: vue.PropType<boolean>;
1730
- default: boolean;
1731
- };
1732
- openOnHover: {
1733
- type: vue.PropType<boolean>;
1734
- default: boolean;
1735
- };
1736
- openOnFocus: {
1737
- type: BooleanConstructor;
1738
- default: undefined;
1739
- };
1740
- closeOnContentClick: BooleanConstructor;
1741
1719
  locationStrategy: Omit<{
1742
1720
  type: vue.PropType<"connected" | "static" | ((data: LocationStrategyData, props: StrategyProps, contentStyles: vue.Ref<Record<string, string>>) => {
1743
1721
  updateLocation: (e: Event) => void;
@@ -1760,6 +1738,28 @@ declare const VTooltip: {
1760
1738
  type: vue.PropType<NonNullable<"none" | "block" | "close" | ((data: ScrollStrategyData, props: StrategyProps$1, scope: vue.EffectScope) => void) | "reposition">>;
1761
1739
  default: NonNullable<"none" | "block" | "close" | ((data: ScrollStrategyData, props: StrategyProps$1, scope: vue.EffectScope) => void) | "reposition">;
1762
1740
  };
1741
+ closeDelay: (StringConstructor | NumberConstructor)[];
1742
+ openDelay: (StringConstructor | NumberConstructor)[];
1743
+ activatorProps: {
1744
+ type: vue.PropType<Record<string, any>>;
1745
+ default: () => {};
1746
+ };
1747
+ openOnClick: Omit<{
1748
+ type: BooleanConstructor;
1749
+ default: undefined;
1750
+ }, "type" | "default"> & {
1751
+ type: vue.PropType<boolean>;
1752
+ default: boolean;
1753
+ };
1754
+ openOnHover: {
1755
+ type: vue.PropType<boolean>;
1756
+ default: boolean;
1757
+ };
1758
+ openOnFocus: {
1759
+ type: BooleanConstructor;
1760
+ default: undefined;
1761
+ };
1762
+ closeOnContentClick: BooleanConstructor;
1763
1763
  closeOnBack: Omit<{
1764
1764
  type: BooleanConstructor;
1765
1765
  default: boolean;
@@ -1840,28 +1840,6 @@ declare const VTooltip: {
1840
1840
  contentClass: null;
1841
1841
  modelValue: BooleanConstructor;
1842
1842
  activator: vue.PropType<string | Element | vue.ComponentPublicInstance | undefined>;
1843
- closeDelay: (StringConstructor | NumberConstructor)[];
1844
- openDelay: (StringConstructor | NumberConstructor)[];
1845
- activatorProps: {
1846
- type: vue.PropType<Record<string, any>>;
1847
- default: () => {};
1848
- };
1849
- openOnClick: Omit<{
1850
- type: BooleanConstructor;
1851
- default: undefined;
1852
- }, "type" | "default"> & {
1853
- type: vue.PropType<boolean>;
1854
- default: boolean;
1855
- };
1856
- openOnHover: {
1857
- type: vue.PropType<boolean>;
1858
- default: boolean;
1859
- };
1860
- openOnFocus: {
1861
- type: BooleanConstructor;
1862
- default: undefined;
1863
- };
1864
- closeOnContentClick: BooleanConstructor;
1865
1843
  locationStrategy: Omit<{
1866
1844
  type: vue.PropType<"connected" | "static" | ((data: LocationStrategyData, props: StrategyProps, contentStyles: vue.Ref<Record<string, string>>) => {
1867
1845
  updateLocation: (e: Event) => void;
@@ -1884,6 +1862,28 @@ declare const VTooltip: {
1884
1862
  type: vue.PropType<NonNullable<"none" | "block" | "close" | ((data: ScrollStrategyData, props: StrategyProps$1, scope: vue.EffectScope) => void) | "reposition">>;
1885
1863
  default: NonNullable<"none" | "block" | "close" | ((data: ScrollStrategyData, props: StrategyProps$1, scope: vue.EffectScope) => void) | "reposition">;
1886
1864
  };
1865
+ closeDelay: (StringConstructor | NumberConstructor)[];
1866
+ openDelay: (StringConstructor | NumberConstructor)[];
1867
+ activatorProps: {
1868
+ type: vue.PropType<Record<string, any>>;
1869
+ default: () => {};
1870
+ };
1871
+ openOnClick: Omit<{
1872
+ type: BooleanConstructor;
1873
+ default: undefined;
1874
+ }, "type" | "default"> & {
1875
+ type: vue.PropType<boolean>;
1876
+ default: boolean;
1877
+ };
1878
+ openOnHover: {
1879
+ type: vue.PropType<boolean>;
1880
+ default: boolean;
1881
+ };
1882
+ openOnFocus: {
1883
+ type: BooleanConstructor;
1884
+ default: undefined;
1885
+ };
1886
+ closeOnContentClick: BooleanConstructor;
1887
1887
  closeOnBack: Omit<{
1888
1888
  type: BooleanConstructor;
1889
1889
  default: boolean;
@@ -6,21 +6,18 @@ import "./VVirtualScroll.css";
6
6
  import { VVirtualScrollItem } from "./VVirtualScrollItem.mjs"; // Composables
7
7
  import { makeComponentProps } from "../../composables/component.mjs";
8
8
  import { makeDimensionProps, useDimension } from "../../composables/dimensions.mjs";
9
- import { useDisplay } from "../../composables/display.mjs";
10
- import { useResizeObserver } from "../../composables/resizeObserver.mjs"; // Utilities
11
- import { computed, onMounted, ref, shallowRef, watch, watchEffect } from 'vue';
12
- import { clamp, convertToUnit, createRange, genericComponent, propsFactory, useRender } from "../../util/index.mjs"; // Types
13
- const UP = -1;
14
- const DOWN = 1;
9
+ import { makeVirtualProps, useVirtual } from "../../composables/virtual.mjs"; // Utilities
10
+ import { toRef } from 'vue';
11
+ import { convertToUnit, genericComponent, propsFactory, useRender } from "../../util/index.mjs"; // Types
15
12
  export const makeVVirtualScrollProps = propsFactory({
16
13
  items: {
17
14
  type: Array,
18
15
  default: () => []
19
16
  },
20
- itemHeight: [Number, String],
17
+ ...makeVirtualProps(),
21
18
  ...makeComponentProps(),
22
19
  ...makeDimensionProps()
23
- }, 'v-virtual-scroll');
20
+ }, 'VVirtualScroll');
24
21
  export const VVirtualScroll = genericComponent()({
25
22
  name: 'VVirtualScroll',
26
23
  props: makeVVirtualScrollProps(),
@@ -28,95 +25,20 @@ export const VVirtualScroll = genericComponent()({
28
25
  let {
29
26
  slots
30
27
  } = _ref;
31
- const first = shallowRef(0);
32
- const baseItemHeight = shallowRef(props.itemHeight);
33
- const itemHeight = computed({
34
- get: () => parseInt(baseItemHeight.value ?? 0, 10),
35
- set(val) {
36
- baseItemHeight.value = val;
37
- }
38
- });
39
- const rootEl = ref();
40
- const {
41
- resizeRef,
42
- contentRect
43
- } = useResizeObserver();
44
- watchEffect(() => {
45
- resizeRef.value = rootEl.value;
46
- });
47
- const display = useDisplay();
48
- const sizeMap = new Map();
49
- let sizes = createRange(props.items.length).map(() => itemHeight.value);
50
- const visibleItems = computed(() => {
51
- return Math.max(12, Math.ceil((contentRect.value?.height ?? display.height.value) / itemHeight.value * 1.7 + 1));
52
- });
53
- function handleItemResize(index, height) {
54
- itemHeight.value = Math.max(itemHeight.value, height);
55
- sizes[index] = height;
56
- sizeMap.set(props.items[index], height);
57
- }
58
- function calculateOffset(index) {
59
- return sizes.slice(0, index).reduce((curr, value) => curr + (value || itemHeight.value), 0);
60
- }
61
- function calculateMidPointIndex(scrollTop) {
62
- const end = props.items.length;
63
- let middle = 0;
64
- let middleOffset = 0;
65
- while (middleOffset < scrollTop && middle < end) {
66
- middleOffset += sizes[middle++] || itemHeight.value;
67
- }
68
- return middle - 1;
69
- }
70
- let lastScrollTop = 0;
71
- function handleScroll() {
72
- if (!rootEl.value || !contentRect.value) return;
73
- const height = contentRect.value.height;
74
- const scrollTop = rootEl.value.scrollTop;
75
- const direction = scrollTop < lastScrollTop ? UP : DOWN;
76
- const midPointIndex = calculateMidPointIndex(scrollTop + height / 2);
77
- const buffer = Math.round(visibleItems.value / 3);
78
- if (direction === UP && midPointIndex <= first.value + buffer * 2 - 1) {
79
- first.value = clamp(midPointIndex - buffer, 0, props.items.length);
80
- } else if (direction === DOWN && midPointIndex >= first.value + buffer * 2 - 1) {
81
- first.value = clamp(midPointIndex - buffer, 0, props.items.length - visibleItems.value);
82
- }
83
- lastScrollTop = rootEl.value.scrollTop;
84
- }
85
- function scrollToIndex(index) {
86
- if (!rootEl.value) return;
87
- const offset = calculateOffset(index);
88
- rootEl.value.scrollTop = offset;
89
- }
90
- const items = computed(() => props.items.map((item, index) => ({
91
- raw: item,
92
- index
93
- })));
94
- const last = computed(() => Math.min(props.items.length, first.value + visibleItems.value));
95
- const computedItems = computed(() => items.value.slice(first.value, last.value));
96
- const paddingTop = computed(() => calculateOffset(first.value));
97
- const paddingBottom = computed(() => calculateOffset(props.items.length) - calculateOffset(last.value));
98
28
  const {
99
29
  dimensionStyles
100
30
  } = useDimension(props);
101
- onMounted(() => {
102
- if (!itemHeight.value) {
103
- // If itemHeight prop is not set, then calculate an estimated height from the average of inital items
104
- itemHeight.value = sizes.slice(first.value, last.value).reduce((curr, height) => curr + height, 0) / visibleItems.value;
105
- }
106
- });
107
- watch(() => props.items.length, () => {
108
- sizes = createRange(props.items.length).map(() => itemHeight.value);
109
- sizeMap.forEach((height, item) => {
110
- const index = props.items.indexOf(item);
111
- if (index === -1) {
112
- sizeMap.delete(item);
113
- } else {
114
- sizes[index] = height;
115
- }
116
- });
117
- });
31
+ const {
32
+ containerRef,
33
+ handleScroll,
34
+ handleItemResize,
35
+ scrollToIndex,
36
+ paddingTop,
37
+ paddingBottom,
38
+ computedItems
39
+ } = useVirtual(props, toRef(props, 'items'));
118
40
  useRender(() => _createVNode("div", {
119
- "ref": rootEl,
41
+ "ref": containerRef,
120
42
  "class": ['v-virtual-scroll', props.class],
121
43
  "onScroll": handleScroll,
122
44
  "style": [dimensionStyles.value, props.style]