vuetify 3.2.4 → 3.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_component-variables-labs.sass +1 -0
- package/dist/json/attributes.json +2503 -2151
- package/dist/json/importMap-labs.json +12 -4
- package/dist/json/importMap.json +28 -28
- package/dist/json/tags.json +107 -9
- package/dist/json/web-types.json +10785 -7110
- package/dist/vuetify-labs.css +263 -153
- package/dist/vuetify-labs.d.ts +35870 -16257
- package/dist/vuetify-labs.esm.js +1466 -934
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +1465 -933
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +246 -168
- package/dist/vuetify.d.ts +27883 -14061
- package/dist/vuetify.esm.js +477 -300
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +476 -299
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +811 -806
- package/dist/vuetify.min.js.map +1 -1
- package/lib/blueprints/{index.d.ts → index.d.mts} +5 -1
- package/lib/blueprints/{md1.d.ts → md1.d.mts} +5 -1
- package/lib/blueprints/{md2.d.ts → md2.d.mts} +5 -1
- package/lib/blueprints/{md3.d.ts → md3.d.mts} +5 -1
- package/lib/components/VAlert/VAlert.mjs.map +1 -1
- package/lib/components/VAlert/{index.d.ts → index.d.mts} +284 -69
- package/lib/components/VApp/{index.d.ts → index.d.mts} +80 -19
- package/lib/components/VAppBar/{index.d.ts → index.d.mts} +391 -119
- package/lib/components/VAutocomplete/VAutocomplete.css +15 -9
- package/lib/components/VAutocomplete/VAutocomplete.mjs +82 -34
- package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.sass +15 -11
- package/lib/components/VAutocomplete/index.d.mts +2048 -0
- package/lib/components/VAvatar/{index.d.ts → index.d.mts} +85 -30
- package/lib/components/VBadge/_variables.scss +1 -1
- package/lib/components/VBadge/{index.d.ts → index.d.mts} +105 -42
- package/lib/components/VBanner/{index.d.ts → index.d.mts} +282 -63
- package/lib/components/VBottomNavigation/{index.d.ts → index.d.mts} +93 -45
- package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs +1 -1
- package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs.map +1 -1
- package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.mjs +1 -1
- package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.mjs.map +1 -1
- package/lib/components/VBreadcrumbs/{index.d.ts → index.d.mts} +348 -212
- package/lib/components/VBtn/{index.d.ts → index.d.mts} +139 -53
- package/lib/components/VBtnGroup/{index.d.ts → index.d.mts} +84 -27
- package/lib/components/VBtnToggle/{index.d.ts → index.d.mts} +88 -35
- package/lib/components/VCalendar/util/props.mjs.map +1 -1
- package/lib/components/VCard/VCard.mjs.map +1 -1
- package/lib/components/VCard/{index.d.ts → index.d.mts} +957 -419
- package/lib/components/VCarousel/VCarousel.mjs.map +1 -1
- package/lib/components/VCarousel/{index.d.ts → index.d.mts} +616 -111
- package/lib/components/VCheckbox/VCheckboxBtn.mjs +3 -3
- package/lib/components/VCheckbox/VCheckboxBtn.mjs.map +1 -1
- package/lib/components/VCheckbox/{index.d.ts → index.d.mts} +408 -141
- package/lib/components/VChip/VChip.css +4 -2
- package/lib/components/VChip/VChip.mjs.map +1 -1
- package/lib/components/VChip/VChip.sass +3 -2
- package/lib/components/VChip/{index.d.ts → index.d.mts} +376 -85
- package/lib/components/VChipGroup/VChipGroup.mjs.map +1 -1
- package/lib/components/VChipGroup/index.d.mts +470 -0
- package/lib/components/VCode/{index.d.ts → index.d.mts} +78 -17
- package/lib/components/VColorPicker/VColorPicker.mjs +9 -4
- package/lib/components/VColorPicker/VColorPicker.mjs.map +1 -1
- package/lib/components/VColorPicker/VColorPickerEdit.mjs.map +1 -1
- package/lib/components/VColorPicker/VColorPickerSwatches.mjs +5 -4
- package/lib/components/VColorPicker/VColorPickerSwatches.mjs.map +1 -1
- package/lib/components/VColorPicker/{index.d.ts → index.d.mts} +241 -109
- package/lib/components/VColorPicker/util/index.mjs +2 -22
- package/lib/components/VColorPicker/util/index.mjs.map +1 -1
- package/lib/components/VCombobox/VCombobox.css +15 -9
- package/lib/components/VCombobox/VCombobox.mjs +82 -37
- package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
- package/lib/components/VCombobox/VCombobox.sass +15 -11
- package/lib/components/VCombobox/index.d.mts +2060 -0
- package/lib/components/VCounter/VCounter.mjs.map +1 -1
- package/lib/components/VCounter/{index.d.ts → index.d.mts} +105 -45
- package/lib/components/VDefaultsProvider/{index.d.ts → index.d.mts} +82 -20
- package/lib/components/VDialog/{index.d.ts → index.d.mts} +571 -305
- package/lib/components/VDivider/{index.d.ts → index.d.mts} +81 -21
- package/lib/components/VExpansionPanel/{index.d.ts → index.d.mts} +374 -110
- package/lib/components/VField/VField.css +49 -16
- package/lib/components/VField/VField.mjs +12 -2
- package/lib/components/VField/VField.mjs.map +1 -1
- package/lib/components/VField/VField.sass +40 -11
- package/lib/components/VField/_variables.scss +8 -2
- package/lib/components/VField/index.d.mts +682 -0
- package/lib/components/VFileInput/VFileInput.css +3 -0
- package/lib/components/VFileInput/VFileInput.mjs +7 -1
- package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
- package/lib/components/VFileInput/VFileInput.sass +6 -1
- package/lib/components/VFileInput/{index.d.ts → index.d.mts} +1033 -399
- package/lib/components/VFooter/{index.d.ts → index.d.mts} +85 -29
- package/lib/components/VForm/VForm.mjs.map +1 -1
- package/lib/components/VForm/index.d.mts +993 -0
- package/lib/components/VGrid/{index.d.ts → index.d.mts} +334 -100
- package/lib/components/VHover/VHover.mjs.map +1 -1
- package/lib/components/VHover/{index.d.ts → index.d.mts} +120 -37
- package/lib/components/VIcon/{index.d.ts → index.d.mts} +322 -81
- package/lib/components/VImg/VImg.css +2 -4
- package/lib/components/VImg/VImg.mjs +25 -24
- package/lib/components/VImg/VImg.mjs.map +1 -1
- package/lib/components/VImg/VImg.sass +4 -3
- package/lib/components/VImg/{index.d.ts → index.d.mts} +177 -40
- package/lib/components/VInput/VInput.css +10 -4
- package/lib/components/VInput/VInput.mjs +9 -3
- package/lib/components/VInput/VInput.mjs.map +1 -1
- package/lib/components/VInput/VInput.sass +7 -2
- package/lib/components/VInput/_variables.scss +1 -0
- package/lib/components/VInput/{index.d.ts → index.d.mts} +237 -93
- package/lib/components/VItemGroup/VItem.mjs +1 -1
- package/lib/components/VItemGroup/VItem.mjs.map +1 -1
- package/lib/components/VItemGroup/VItemGroup.mjs.map +1 -1
- package/lib/components/VItemGroup/index.d.mts +781 -0
- package/lib/components/VKbd/{index.d.ts → index.d.mts} +78 -17
- package/lib/components/VLabel/{index.d.ts → index.d.mts} +79 -18
- package/lib/components/VLayout/{index.d.ts → index.d.mts} +161 -42
- package/lib/components/VLazy/{index.d.ts → index.d.mts} +82 -27
- package/lib/components/VList/VList.mjs +6 -1
- package/lib/components/VList/VList.mjs.map +1 -1
- package/lib/components/VList/VListChildren.mjs +4 -8
- package/lib/components/VList/VListChildren.mjs.map +1 -1
- package/lib/components/VList/VListGroup.mjs +3 -0
- package/lib/components/VList/VListGroup.mjs.map +1 -1
- package/lib/components/VList/VListItem.mjs +11 -6
- package/lib/components/VList/VListItem.mjs.map +1 -1
- package/lib/components/VList/{index.d.ts → index.d.mts} +1245 -619
- package/lib/components/VLocaleProvider/{index.d.ts → index.d.mts} +80 -19
- package/lib/components/VMain/{index.d.ts → index.d.mts} +79 -19
- package/lib/components/VMenu/{index.d.ts → index.d.mts} +567 -299
- package/lib/components/VMessages/VMessages.mjs.map +1 -1
- package/lib/components/VMessages/{index.d.ts → index.d.mts} +87 -34
- package/lib/components/VNavigationDrawer/VNavigationDrawer.css +2 -0
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
- package/lib/components/VNavigationDrawer/VNavigationDrawer.sass +2 -0
- package/lib/components/VNavigationDrawer/{index.d.ts → index.d.mts} +139 -57
- package/lib/components/VOverlay/{index.d.ts → index.d.mts} +159 -75
- package/lib/components/VPagination/VPagination.mjs.map +1 -1
- package/lib/components/VPagination/{index.d.ts → index.d.mts} +229 -125
- package/lib/components/VParallax/{index.d.ts → index.d.mts} +118 -18
- package/lib/components/VProgressCircular/VProgressCircular.mjs.map +1 -1
- package/lib/components/VProgressCircular/{index.d.ts → index.d.mts} +148 -45
- package/lib/components/VProgressLinear/{index.d.ts → index.d.mts} +119 -52
- package/lib/components/VRadio/{index.d.ts → index.d.mts} +139 -40
- package/lib/components/VRadioGroup/{index.d.ts → index.d.mts} +265 -93
- package/lib/components/VRangeSlider/VRangeSlider.mjs +4 -4
- package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
- package/lib/components/VRangeSlider/{index.d.ts → index.d.mts} +313 -132
- package/lib/components/VRating/{index.d.ts → index.d.mts} +108 -49
- package/lib/components/VResponsive/VResponsive.css +13 -5
- package/lib/components/VResponsive/VResponsive.mjs +4 -1
- package/lib/components/VResponsive/VResponsive.mjs.map +1 -1
- package/lib/components/VResponsive/VResponsive.sass +12 -4
- package/lib/components/VResponsive/{index.d.ts → index.d.mts} +99 -16
- package/lib/components/VSelect/VSelect.css +15 -9
- package/lib/components/VSelect/VSelect.mjs +23 -18
- package/lib/components/VSelect/VSelect.mjs.map +1 -1
- package/lib/components/VSelect/VSelect.sass +14 -11
- package/lib/components/VSelect/index.d.mts +1986 -0
- package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
- package/lib/components/VSelectionControl/index.d.mts +403 -0
- package/lib/components/VSelectionControlGroup/{index.d.ts → index.d.mts} +90 -38
- package/lib/components/VSheet/{index.d.ts → index.d.mts} +81 -21
- package/lib/components/VSlideGroup/{index.d.ts → index.d.mts} +236 -61
- package/lib/components/VSlider/VSlider.mjs +2 -2
- package/lib/components/VSlider/VSlider.mjs.map +1 -1
- package/lib/components/VSlider/VSliderThumb.mjs +1 -1
- package/lib/components/VSlider/VSliderThumb.mjs.map +1 -1
- package/lib/components/VSlider/VSliderTrack.mjs.map +1 -1
- package/lib/components/VSlider/{index.d.ts → index.d.mts} +308 -126
- package/lib/components/VSlider/slider.mjs +8 -2
- package/lib/components/VSlider/slider.mjs.map +1 -1
- package/lib/components/VSnackbar/{index.d.ts → index.d.mts} +566 -297
- package/lib/components/VSwitch/VSwitch.css +3 -3
- package/lib/components/VSwitch/VSwitch.sass +4 -3
- package/lib/components/VSwitch/{index.d.ts → index.d.mts} +284 -101
- package/lib/components/VSystemBar/{index.d.ts → index.d.mts} +84 -27
- package/lib/components/VTable/{index.d.ts → index.d.mts} +122 -26
- package/lib/components/VTabs/VTabs.mjs.map +1 -1
- package/lib/components/VTabs/{index.d.ts → index.d.mts} +203 -113
- package/lib/components/VTextField/VTextField.css +9 -1
- package/lib/components/VTextField/VTextField.mjs +4 -2
- package/lib/components/VTextField/VTextField.mjs.map +1 -1
- package/lib/components/VTextField/VTextField.sass +8 -1
- package/lib/components/VTextField/index.d.mts +2735 -0
- package/lib/components/VTextarea/VTextarea.mjs +13 -4
- package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
- package/lib/components/VTextarea/{index.d.ts → index.d.mts} +933 -393
- package/lib/components/VThemeProvider/{index.d.ts → index.d.mts} +80 -20
- package/lib/components/VTimeline/{index.d.ts → index.d.mts} +201 -62
- package/lib/components/VToolbar/{index.d.ts → index.d.mts} +325 -73
- package/lib/components/VTooltip/{index.d.ts → index.d.mts} +568 -297
- package/lib/components/VValidation/VValidation.mjs.map +1 -1
- package/lib/components/VValidation/index.d.mts +634 -0
- package/lib/components/VVirtualScroll/VVirtualScroll.mjs.map +1 -1
- package/lib/components/VVirtualScroll/index.d.mts +229 -0
- package/lib/components/VWindow/{index.d.ts → index.d.mts} +271 -68
- package/lib/components/{index.d.ts → index.d.mts} +27847 -14031
- package/lib/components/index.mjs +2 -3
- package/lib/components/index.mjs.map +1 -1
- package/lib/components/transitions/{index.d.ts → index.d.mts} +1330 -355
- package/lib/composables/display.mjs +6 -6
- package/lib/composables/display.mjs.map +1 -1
- package/lib/composables/filter.mjs +5 -4
- package/lib/composables/filter.mjs.map +1 -1
- package/lib/composables/form.mjs +2 -3
- package/lib/composables/form.mjs.map +1 -1
- package/lib/composables/forwardRefs.mjs.map +1 -1
- package/lib/composables/group.mjs +13 -13
- package/lib/composables/group.mjs.map +1 -1
- package/lib/composables/icons.mjs.map +1 -1
- package/lib/composables/{items.mjs → list-items.mjs} +9 -6
- package/lib/composables/list-items.mjs.map +1 -0
- package/lib/composables/nested/nested.mjs.map +1 -1
- package/lib/composables/nested/selectStrategies.mjs.map +1 -1
- package/lib/composables/scroll.mjs +2 -2
- package/lib/composables/scroll.mjs.map +1 -1
- package/lib/composables/validation.mjs +44 -16
- package/lib/composables/validation.mjs.map +1 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/framework.mjs.map +1 -1
- package/lib/{index.d.ts → index.d.mts} +16 -10
- package/lib/labs/VBottomSheet/VBottomSheet.css +33 -0
- package/lib/labs/VBottomSheet/VBottomSheet.mjs +40 -0
- package/lib/labs/VBottomSheet/VBottomSheet.mjs.map +1 -0
- package/lib/labs/VBottomSheet/VBottomSheet.sass +37 -0
- package/lib/labs/VBottomSheet/_variables.scss +5 -0
- package/lib/labs/VBottomSheet/index.d.mts +871 -0
- package/lib/labs/VBottomSheet/index.mjs +2 -0
- package/lib/labs/VBottomSheet/index.mjs.map +1 -0
- package/lib/labs/VDataIterator/VDataIterator.mjs +160 -0
- package/lib/labs/VDataIterator/VDataIterator.mjs.map +1 -0
- package/lib/labs/VDataIterator/composables/items.mjs +37 -0
- package/lib/labs/VDataIterator/composables/items.mjs.map +1 -0
- package/lib/labs/VDataIterator/index.d.mts +704 -0
- package/lib/labs/VDataIterator/index.mjs +2 -0
- package/lib/labs/VDataIterator/index.mjs.map +1 -0
- package/lib/labs/VDataTable/VDataTable.mjs +58 -20
- package/lib/labs/VDataTable/VDataTable.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableFooter.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableGroupHeaderRow.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableHeaders.mjs +17 -10
- package/lib/labs/VDataTable/VDataTableHeaders.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableRows.mjs +1 -1
- package/lib/labs/VDataTable/VDataTableRows.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableServer.mjs +50 -14
- package/lib/labs/VDataTable/VDataTableServer.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableVirtual.mjs +50 -13
- package/lib/labs/VDataTable/VDataTableVirtual.mjs.map +1 -1
- package/lib/labs/VDataTable/composables/expand.mjs.map +1 -1
- package/lib/labs/VDataTable/composables/group.mjs +8 -6
- package/lib/labs/VDataTable/composables/group.mjs.map +1 -1
- package/lib/labs/VDataTable/composables/headers.mjs +2 -3
- package/lib/labs/VDataTable/composables/headers.mjs.map +1 -1
- package/lib/labs/VDataTable/composables/items.mjs +31 -32
- package/lib/labs/VDataTable/composables/items.mjs.map +1 -1
- package/lib/labs/VDataTable/composables/paginate.mjs +14 -2
- package/lib/labs/VDataTable/composables/paginate.mjs.map +1 -1
- package/lib/labs/VDataTable/composables/select.mjs +3 -3
- package/lib/labs/VDataTable/composables/select.mjs.map +1 -1
- package/lib/labs/VDataTable/composables/sort.mjs +17 -17
- package/lib/labs/VDataTable/composables/sort.mjs.map +1 -1
- package/lib/labs/VDataTable/composables/virtual.mjs.map +1 -1
- package/lib/labs/VDataTable/index.d.mts +9681 -0
- package/lib/labs/VDataTable/index.mjs +1 -1
- package/lib/labs/VDataTable/index.mjs.map +1 -1
- package/lib/labs/VDataTable/types.mjs.map +1 -1
- package/lib/labs/VInfiniteScroll/VInfiniteScroll.mjs.map +1 -1
- package/lib/labs/VInfiniteScroll/{index.d.ts → index.d.mts} +161 -54
- package/lib/labs/VSkeletonLoader/VSkeletonLoader.mjs.map +1 -1
- package/lib/labs/VSkeletonLoader/{index.d.ts → index.d.mts} +92 -31
- package/lib/labs/components.d.mts +11806 -0
- package/lib/labs/components.mjs +2 -0
- package/lib/labs/components.mjs.map +1 -1
- package/lib/labs/date/date.mjs.map +1 -1
- package/lib/labs/date/index.d.mts +70 -0
- package/lib/labs/date/index.mjs +1 -1
- package/lib/labs/date/index.mjs.map +1 -1
- package/lib/styles/settings/_variables.scss +3 -3
- package/lib/util/colorUtils.mjs +68 -3
- package/lib/util/colorUtils.mjs.map +1 -1
- package/lib/util/console.mjs +12 -81
- package/lib/util/console.mjs.map +1 -1
- package/lib/util/defineComponent.mjs.map +1 -1
- package/lib/util/helpers.mjs +4 -18
- package/lib/util/helpers.mjs.map +1 -1
- package/lib/util/propsFactory.mjs +2 -0
- package/lib/util/propsFactory.mjs.map +1 -1
- package/package.json +13 -9
- package/lib/components/VAutocomplete/index.d.ts +0 -2050
- package/lib/components/VBottomSheet/VBottomSheet.mjs +0 -29
- package/lib/components/VBottomSheet/VBottomSheet.mjs.map +0 -1
- package/lib/components/VBottomSheet/VBottomSheet.sass +0 -23
- package/lib/components/VBottomSheet/_variables.scss +0 -3
- package/lib/components/VBottomSheet/index.mjs +0 -4
- package/lib/components/VBottomSheet/index.mjs.map +0 -1
- package/lib/components/VChipGroup/index.d.ts +0 -280
- package/lib/components/VCombobox/index.d.ts +0 -2086
- package/lib/components/VData/VData.mjs +0 -374
- package/lib/components/VData/VData.mjs.map +0 -1
- package/lib/components/VData/index.mjs +0 -4
- package/lib/components/VData/index.mjs.map +0 -1
- package/lib/components/VDataIterator/VDataFooter.mjs +0 -194
- package/lib/components/VDataIterator/VDataFooter.mjs.map +0 -1
- package/lib/components/VDataIterator/VDataFooter.sass +0 -71
- package/lib/components/VDataIterator/VDataIterator.mjs +0 -316
- package/lib/components/VDataIterator/VDataIterator.mjs.map +0 -1
- package/lib/components/VDataIterator/_variables.scss +0 -13
- package/lib/components/VDataIterator/index.mjs +0 -10
- package/lib/components/VDataIterator/index.mjs.map +0 -1
- package/lib/components/VField/index.d.ts +0 -563
- package/lib/components/VForm/index.d.ts +0 -284
- package/lib/components/VItemGroup/index.d.ts +0 -396
- package/lib/components/VSelect/index.d.ts +0 -1981
- package/lib/components/VSelectionControl/index.d.ts +0 -387
- package/lib/components/VTextField/index.d.ts +0 -2061
- package/lib/components/VValidation/index.d.ts +0 -243
- package/lib/components/VVirtualScroll/index.d.ts +0 -197
- package/lib/composables/items.mjs.map +0 -1
- package/lib/labs/VDataTable/index.d.ts +0 -5415
- package/lib/labs/components.d.ts +0 -5945
- package/lib/labs/date/index.d.ts +0 -38
- /package/lib/components/VNoSsr/{index.d.ts → index.d.mts} +0 -0
- /package/lib/directives/{index.d.ts → index.d.mts} +0 -0
- /package/lib/iconsets/{fa-svg.d.ts → fa-svg.d.mts} +0 -0
- /package/lib/iconsets/{fa.d.ts → fa.d.mts} +0 -0
- /package/lib/iconsets/{fa4.d.ts → fa4.d.mts} +0 -0
- /package/lib/iconsets/{md.d.ts → md.d.mts} +0 -0
- /package/lib/iconsets/{mdi-svg.d.ts → mdi-svg.d.mts} +0 -0
- /package/lib/iconsets/{mdi.d.ts → mdi.d.mts} +0 -0
- /package/lib/labs/date/adapters/{vuetify.d.ts → vuetify.d.mts} +0 -0
- /package/lib/locale/adapters/{vue-i18n.d.ts → vue-i18n.d.mts} +0 -0
- /package/lib/locale/adapters/{vuetify.d.ts → vuetify.d.mts} +0 -0
- /package/lib/locale/{index.d.ts → index.d.mts} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VVirtualScroll.mjs","names":["VVirtualScrollItem","makeComponentProps","makeDimensionProps","useDimension","useDisplay","useResizeObserver","computed","onMounted","ref","shallowRef","watch","watchEffect","clamp","convertToUnit","createRange","genericComponent","propsFactory","useRender","UP","DOWN","makeVVirtualScrollProps","items","type","Array","default","itemHeight","Number","String","VVirtualScroll","name","props","setup","_ref","slots","first","baseItemHeight","get","parseInt","value","set","val","rootEl","resizeRef","contentRect","display","sizeMap","Map","sizes","length","map","visibleItems","Math","max","ceil","height","handleItemResize","index","calculateOffset","slice","reduce","curr","calculateMidPointIndex","scrollTop","end","middle","middleOffset","lastScrollTop","handleScroll","direction","midPointIndex","buffer","round","scrollToIndex","offset","item","raw","last","min","computedItems","paddingTop","paddingBottom","dimensionStyles","forEach","indexOf","delete","_createVNode","class","style"],"sources":["../../../src/components/VVirtualScroll/VVirtualScroll.tsx"],"sourcesContent":["// Styles\nimport './VVirtualScroll.sass'\n\n// Components\nimport { VVirtualScrollItem } from './VVirtualScrollItem'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { useDisplay } from '@/composables/display'\nimport { useResizeObserver } from '@/composables/resizeObserver'\n\n// Utilities\nimport { computed, onMounted, ref, shallowRef, watch, watchEffect } from 'vue'\nimport {\n clamp,\n convertToUnit,\n createRange,\n genericComponent,\n propsFactory,\n useRender,\n} from '@/util'\n\n// Types\nimport type { GenericProps } from '@/util'\n\nconst UP = -1\nconst DOWN = 1\n\nexport interface VVirtualScrollSlot<T> {\n item: T\n index: number\n}\n\nexport const makeVVirtualScrollProps = propsFactory({\n items: {\n type: Array,\n default: () => ([]),\n },\n itemHeight: [Number, String],\n\n ...makeComponentProps(),\n ...makeDimensionProps(),\n}, 'v-virtual-scroll')\n\nexport const VVirtualScroll = genericComponent<new <T>(props: {\n items?: readonly T[]\n}) => GenericProps<typeof props, {\n default: [VVirtualScrollSlot<T>]\n}>>()({\n name: 'VVirtualScroll',\n\n props: makeVVirtualScrollProps(),\n\n setup (props, { slots }) {\n const first = shallowRef(0)\n const baseItemHeight = shallowRef(props.itemHeight)\n const itemHeight = computed({\n get: () => parseInt(baseItemHeight.value ?? 0, 10),\n set (val) {\n baseItemHeight.value = val\n },\n })\n const rootEl = ref<HTMLDivElement>()\n const { resizeRef, contentRect } = useResizeObserver()\n watchEffect(() => {\n resizeRef.value = rootEl.value\n })\n const display = useDisplay()\n\n const sizeMap = new Map<any, number>()\n let sizes = createRange(props.items.length).map(() => itemHeight.value)\n const visibleItems = computed(() => {\n return Math.max(12,\n Math.ceil(((contentRect.value?.height ?? display.height.value) / itemHeight.value) * 1.7 + 1)\n )\n })\n\n function handleItemResize (index: number, height: number) {\n itemHeight.value = Math.max(itemHeight.value, height)\n sizes[index] = height\n sizeMap.set(props.items[index], height)\n }\n\n function calculateOffset (index: number) {\n return sizes.slice(0, index).reduce((curr, value) => curr + (value || itemHeight.value), 0)\n }\n\n function calculateMidPointIndex (scrollTop: number) {\n const end = props.items.length\n\n let middle = 0\n let middleOffset = 0\n while (middleOffset < scrollTop && middle < end) {\n middleOffset += sizes[middle++] || itemHeight.value\n }\n\n return middle - 1\n }\n\n let lastScrollTop = 0\n function handleScroll () {\n if (!rootEl.value || !contentRect.value) return\n\n const height = contentRect.value.height\n const scrollTop = rootEl.value.scrollTop\n const direction = scrollTop < lastScrollTop ? UP : DOWN\n\n const midPointIndex = calculateMidPointIndex(scrollTop + height / 2)\n const buffer = Math.round(visibleItems.value / 3)\n if (direction === UP && midPointIndex <= first.value + (buffer * 2) - 1) {\n first.value = clamp(midPointIndex - buffer, 0, props.items.length)\n } else if (direction === DOWN && midPointIndex >= first.value + (buffer * 2) - 1) {\n first.value = clamp(midPointIndex - buffer, 0, props.items.length - visibleItems.value)\n }\n\n lastScrollTop = rootEl.value.scrollTop\n }\n\n function scrollToIndex (index: number) {\n if (!rootEl.value) return\n\n const offset = calculateOffset(index)\n rootEl.value.scrollTop = offset\n }\n\n const items = computed(() => props.items.map((item, index) => ({\n raw: item,\n index,\n })))\n const last = computed(() => Math.min(props.items.length, first.value + visibleItems.value))\n const computedItems = computed(() => items.value.slice(first.value, last.value))\n const paddingTop = computed(() => calculateOffset(first.value))\n const paddingBottom = computed(() => calculateOffset(props.items.length) - calculateOffset(last.value))\n\n const { dimensionStyles } = useDimension(props)\n\n onMounted(() => {\n if (!itemHeight.value) {\n // If itemHeight prop is not set, then calculate an estimated height from the average of inital items\n itemHeight.value = sizes.slice(first.value, last.value).reduce((curr, height) => curr + height, 0) / (visibleItems.value)\n }\n })\n\n watch(() => props.items.length, () => {\n sizes = createRange(props.items.length).map(() => itemHeight.value)\n sizeMap.forEach((height, item) => {\n const index = props.items.indexOf(item)\n if (index === -1) {\n sizeMap.delete(item)\n } else {\n sizes[index] = height\n }\n })\n })\n\n useRender(() => (\n <div\n ref={ rootEl }\n class={[\n 'v-virtual-scroll',\n props.class,\n ]}\n onScroll={ handleScroll }\n style={[\n dimensionStyles.value,\n props.style,\n ]}\n >\n <div\n class=\"v-virtual-scroll__container\"\n style={{\n paddingTop: convertToUnit(paddingTop.value),\n paddingBottom: convertToUnit(paddingBottom.value),\n }}\n >\n { computedItems.value.map(item => (\n <VVirtualScrollItem\n key={ item.index }\n dynamicHeight={ !props.itemHeight }\n onUpdate:height={ height => handleItemResize(item.index, height) }\n >\n { slots.default?.({ item: item.raw, index: item.index }) }\n </VVirtualScrollItem>\n ))}\n </div>\n </div>\n ))\n\n return {\n scrollToIndex,\n }\n },\n})\n\nexport type VVirtualScroll = InstanceType<typeof VVirtualScroll>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,kBAAkB,oCAE3B;AAAA,SACSC,kBAAkB;AAAA,SAClBC,kBAAkB,EAAEC,YAAY;AAAA,SAChCC,UAAU;AAAA,SACVC,iBAAiB,gDAE1B;AACA,SAASC,QAAQ,EAAEC,SAAS,EAAEC,GAAG,EAAEC,UAAU,EAAEC,KAAK,EAAEC,WAAW,QAAQ,KAAK;AAAA,SAE5EC,KAAK,EACLC,aAAa,EACbC,WAAW,EACXC,gBAAgB,EAChBC,YAAY,EACZC,SAAS,gCAGX;AAGA,MAAMC,EAAE,GAAG,CAAC,CAAC;AACb,MAAMC,IAAI,GAAG,CAAC;AAOd,OAAO,MAAMC,uBAAuB,GAAGJ,YAAY,CAAC;EAClDK,KAAK,EAAE;IACLC,IAAI,EAAEC,KAAK;IACXC,OAAO,EAAEA,CAAA,KAAO;EAClB,CAAC;EACDC,UAAU,EAAE,CAACC,MAAM,EAAEC,MAAM,CAAC;EAE5B,GAAG1B,kBAAkB,EAAE;EACvB,GAAGC,kBAAkB;AACvB,CAAC,EAAE,kBAAkB,CAAC;AAEtB,OAAO,MAAM0B,cAAc,GAAGb,gBAAgB,EAIzC,CAAC;EACJc,IAAI,EAAE,gBAAgB;EAEtBC,KAAK,EAAEV,uBAAuB,EAAE;EAEhCW,KAAKA,CAAED,KAAK,EAAAE,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrB,MAAME,KAAK,GAAGzB,UAAU,CAAC,CAAC,CAAC;IAC3B,MAAM0B,cAAc,GAAG1B,UAAU,CAACqB,KAAK,CAACL,UAAU,CAAC;IACnD,MAAMA,UAAU,GAAGnB,QAAQ,CAAC;MAC1B8B,GAAG,EAAEA,CAAA,KAAMC,QAAQ,CAACF,cAAc,CAACG,KAAK,IAAI,CAAC,EAAE,EAAE,CAAC;MAClDC,GAAGA,CAAEC,GAAG,EAAE;QACRL,cAAc,CAACG,KAAK,GAAGE,GAAG;MAC5B;IACF,CAAC,CAAC;IACF,MAAMC,MAAM,GAAGjC,GAAG,EAAkB;IACpC,MAAM;MAAEkC,SAAS;MAAEC;IAAY,CAAC,GAAGtC,iBAAiB,EAAE;IACtDM,WAAW,CAAC,MAAM;MAChB+B,SAAS,CAACJ,KAAK,GAAGG,MAAM,CAACH,KAAK;IAChC,CAAC,CAAC;IACF,MAAMM,OAAO,GAAGxC,UAAU,EAAE;IAE5B,MAAMyC,OAAO,GAAG,IAAIC,GAAG,EAAe;IACtC,IAAIC,KAAK,GAAGjC,WAAW,CAACgB,KAAK,CAACT,KAAK,CAAC2B,MAAM,CAAC,CAACC,GAAG,CAAC,MAAMxB,UAAU,CAACa,KAAK,CAAC;IACvE,MAAMY,YAAY,GAAG5C,QAAQ,CAAC,MAAM;MAClC,OAAO6C,IAAI,CAACC,GAAG,CAAC,EAAE,EAChBD,IAAI,CAACE,IAAI,CAAE,CAACV,WAAW,CAACL,KAAK,EAAEgB,MAAM,IAAIV,OAAO,CAACU,MAAM,CAAChB,KAAK,IAAIb,UAAU,CAACa,KAAK,GAAI,GAAG,GAAG,CAAC,CAAC,CAC9F;IACH,CAAC,CAAC;IAEF,SAASiB,gBAAgBA,CAAEC,KAAa,EAAEF,MAAc,EAAE;MACxD7B,UAAU,CAACa,KAAK,GAAGa,IAAI,CAACC,GAAG,CAAC3B,UAAU,CAACa,KAAK,EAAEgB,MAAM,CAAC;MACrDP,KAAK,CAACS,KAAK,CAAC,GAAGF,MAAM;MACrBT,OAAO,CAACN,GAAG,CAACT,KAAK,CAACT,KAAK,CAACmC,KAAK,CAAC,EAAEF,MAAM,CAAC;IACzC;IAEA,SAASG,eAAeA,CAAED,KAAa,EAAE;MACvC,OAAOT,KAAK,CAACW,KAAK,CAAC,CAAC,EAAEF,KAAK,CAAC,CAACG,MAAM,CAAC,CAACC,IAAI,EAAEtB,KAAK,KAAKsB,IAAI,IAAItB,KAAK,IAAIb,UAAU,CAACa,KAAK,CAAC,EAAE,CAAC,CAAC;IAC7F;IAEA,SAASuB,sBAAsBA,CAAEC,SAAiB,EAAE;MAClD,MAAMC,GAAG,GAAGjC,KAAK,CAACT,KAAK,CAAC2B,MAAM;MAE9B,IAAIgB,MAAM,GAAG,CAAC;MACd,IAAIC,YAAY,GAAG,CAAC;MACpB,OAAOA,YAAY,GAAGH,SAAS,IAAIE,MAAM,GAAGD,GAAG,EAAE;QAC/CE,YAAY,IAAIlB,KAAK,CAACiB,MAAM,EAAE,CAAC,IAAIvC,UAAU,CAACa,KAAK;MACrD;MAEA,OAAO0B,MAAM,GAAG,CAAC;IACnB;IAEA,IAAIE,aAAa,GAAG,CAAC;IACrB,SAASC,YAAYA,CAAA,EAAI;MACvB,IAAI,CAAC1B,MAAM,CAACH,KAAK,IAAI,CAACK,WAAW,CAACL,KAAK,EAAE;MAEzC,MAAMgB,MAAM,GAAGX,WAAW,CAACL,KAAK,CAACgB,MAAM;MACvC,MAAMQ,SAAS,GAAGrB,MAAM,CAACH,KAAK,CAACwB,SAAS;MACxC,MAAMM,SAAS,GAAGN,SAAS,GAAGI,aAAa,GAAGhD,EAAE,GAAGC,IAAI;MAEvD,MAAMkD,aAAa,GAAGR,sBAAsB,CAACC,SAAS,GAAGR,MAAM,GAAG,CAAC,CAAC;MACpE,MAAMgB,MAAM,GAAGnB,IAAI,CAACoB,KAAK,CAACrB,YAAY,CAACZ,KAAK,GAAG,CAAC,CAAC;MACjD,IAAI8B,SAAS,KAAKlD,EAAE,IAAImD,aAAa,IAAInC,KAAK,CAACI,KAAK,GAAIgC,MAAM,GAAG,CAAE,GAAG,CAAC,EAAE;QACvEpC,KAAK,CAACI,KAAK,GAAG1B,KAAK,CAACyD,aAAa,GAAGC,MAAM,EAAE,CAAC,EAAExC,KAAK,CAACT,KAAK,CAAC2B,MAAM,CAAC;MACpE,CAAC,MAAM,IAAIoB,SAAS,KAAKjD,IAAI,IAAIkD,aAAa,IAAInC,KAAK,CAACI,KAAK,GAAIgC,MAAM,GAAG,CAAE,GAAG,CAAC,EAAE;QAChFpC,KAAK,CAACI,KAAK,GAAG1B,KAAK,CAACyD,aAAa,GAAGC,MAAM,EAAE,CAAC,EAAExC,KAAK,CAACT,KAAK,CAAC2B,MAAM,GAAGE,YAAY,CAACZ,KAAK,CAAC;MACzF;MAEA4B,aAAa,GAAGzB,MAAM,CAACH,KAAK,CAACwB,SAAS;IACxC;IAEA,SAASU,aAAaA,CAAEhB,KAAa,EAAE;MACrC,IAAI,CAACf,MAAM,CAACH,KAAK,EAAE;MAEnB,MAAMmC,MAAM,GAAGhB,eAAe,CAACD,KAAK,CAAC;MACrCf,MAAM,CAACH,KAAK,CAACwB,SAAS,GAAGW,MAAM;IACjC;IAEA,MAAMpD,KAAK,GAAGf,QAAQ,CAAC,MAAMwB,KAAK,CAACT,KAAK,CAAC4B,GAAG,CAAC,CAACyB,IAAI,EAAElB,KAAK,MAAM;MAC7DmB,GAAG,EAAED,IAAI;MACTlB;IACF,CAAC,CAAC,CAAC,CAAC;IACJ,MAAMoB,IAAI,GAAGtE,QAAQ,CAAC,MAAM6C,IAAI,CAAC0B,GAAG,CAAC/C,KAAK,CAACT,KAAK,CAAC2B,MAAM,EAAEd,KAAK,CAACI,KAAK,GAAGY,YAAY,CAACZ,KAAK,CAAC,CAAC;IAC3F,MAAMwC,aAAa,GAAGxE,QAAQ,CAAC,MAAMe,KAAK,CAACiB,KAAK,CAACoB,KAAK,CAACxB,KAAK,CAACI,KAAK,EAAEsC,IAAI,CAACtC,KAAK,CAAC,CAAC;IAChF,MAAMyC,UAAU,GAAGzE,QAAQ,CAAC,MAAMmD,eAAe,CAACvB,KAAK,CAACI,KAAK,CAAC,CAAC;IAC/D,MAAM0C,aAAa,GAAG1E,QAAQ,CAAC,MAAMmD,eAAe,CAAC3B,KAAK,CAACT,KAAK,CAAC2B,MAAM,CAAC,GAAGS,eAAe,CAACmB,IAAI,CAACtC,KAAK,CAAC,CAAC;IAEvG,MAAM;MAAE2C;IAAgB,CAAC,GAAG9E,YAAY,CAAC2B,KAAK,CAAC;IAE/CvB,SAAS,CAAC,MAAM;MACd,IAAI,CAACkB,UAAU,CAACa,KAAK,EAAE;QACrB;QACAb,UAAU,CAACa,KAAK,GAAGS,KAAK,CAACW,KAAK,CAACxB,KAAK,CAACI,KAAK,EAAEsC,IAAI,CAACtC,KAAK,CAAC,CAACqB,MAAM,CAAC,CAACC,IAAI,EAAEN,MAAM,KAAKM,IAAI,GAAGN,MAAM,EAAE,CAAC,CAAC,GAAIJ,YAAY,CAACZ,KAAM;MAC3H;IACF,CAAC,CAAC;IAEF5B,KAAK,CAAC,MAAMoB,KAAK,CAACT,KAAK,CAAC2B,MAAM,EAAE,MAAM;MACpCD,KAAK,GAAGjC,WAAW,CAACgB,KAAK,CAACT,KAAK,CAAC2B,MAAM,CAAC,CAACC,GAAG,CAAC,MAAMxB,UAAU,CAACa,KAAK,CAAC;MACnEO,OAAO,CAACqC,OAAO,CAAC,CAAC5B,MAAM,EAAEoB,IAAI,KAAK;QAChC,MAAMlB,KAAK,GAAG1B,KAAK,CAACT,KAAK,CAAC8D,OAAO,CAACT,IAAI,CAAC;QACvC,IAAIlB,KAAK,KAAK,CAAC,CAAC,EAAE;UAChBX,OAAO,CAACuC,MAAM,CAACV,IAAI,CAAC;QACtB,CAAC,MAAM;UACL3B,KAAK,CAACS,KAAK,CAAC,GAAGF,MAAM;QACvB;MACF,CAAC,CAAC;IACJ,CAAC,CAAC;IAEFrC,SAAS,CAAC,MAAAoE,YAAA;MAAA,OAEA5C,MAAM;MAAA,SACL,CACL,kBAAkB,EAClBX,KAAK,CAACwD,KAAK,CACZ;MAAA,YACUnB,YAAY;MAAA,SAChB,CACLc,eAAe,CAAC3C,KAAK,EACrBR,KAAK,CAACyD,KAAK;IACZ,IAAAF,YAAA;MAAA,SAGO,6BAA6B;MAAA,SAC5B;QACLN,UAAU,EAAElE,aAAa,CAACkE,UAAU,CAACzC,KAAK,CAAC;QAC3C0C,aAAa,EAAEnE,aAAa,CAACmE,aAAa,CAAC1C,KAAK;MAClD;IAAC,IAECwC,aAAa,CAACxC,KAAK,CAACW,GAAG,CAACyB,IAAI,IAAAW,YAAA,CAAArF,kBAAA;MAAA,OAEpB0E,IAAI,CAAClB,KAAK;MAAA,iBACA,CAAC1B,KAAK,CAACL,UAAU;MAAA,mBACf6B,MAAM,IAAIC,gBAAgB,CAACmB,IAAI,CAAClB,KAAK,EAAEF,MAAM;IAAC;MAAA9B,OAAA,EAAAA,CAAA,MAE9DS,KAAK,CAACT,OAAO,GAAG;QAAEkD,IAAI,EAAEA,IAAI,CAACC,GAAG;QAAEnB,KAAK,EAAEkB,IAAI,CAAClB;MAAM,CAAC,CAAC;IAAA,EAE3D,CAAC,IAGP,CAAC;IAEF,OAAO;MACLgB;IACF,CAAC;EACH;AACF,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"VVirtualScroll.mjs","names":["VVirtualScrollItem","makeComponentProps","makeDimensionProps","useDimension","useDisplay","useResizeObserver","computed","onMounted","ref","shallowRef","watch","watchEffect","clamp","convertToUnit","createRange","genericComponent","propsFactory","useRender","UP","DOWN","makeVVirtualScrollProps","items","type","Array","default","itemHeight","Number","String","VVirtualScroll","name","props","setup","_ref","slots","first","baseItemHeight","get","parseInt","value","set","val","rootEl","resizeRef","contentRect","display","sizeMap","Map","sizes","length","map","visibleItems","Math","max","ceil","height","handleItemResize","index","calculateOffset","slice","reduce","curr","calculateMidPointIndex","scrollTop","end","middle","middleOffset","lastScrollTop","handleScroll","direction","midPointIndex","buffer","round","scrollToIndex","offset","item","raw","last","min","computedItems","paddingTop","paddingBottom","dimensionStyles","forEach","indexOf","delete","_createVNode","class","style"],"sources":["../../../src/components/VVirtualScroll/VVirtualScroll.tsx"],"sourcesContent":["// Styles\nimport './VVirtualScroll.sass'\n\n// Components\nimport { VVirtualScrollItem } from './VVirtualScrollItem'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { useDisplay } from '@/composables/display'\nimport { useResizeObserver } from '@/composables/resizeObserver'\n\n// Utilities\nimport { computed, onMounted, ref, shallowRef, watch, watchEffect } from 'vue'\nimport {\n clamp,\n convertToUnit,\n createRange,\n genericComponent,\n propsFactory,\n useRender,\n} from '@/util'\n\n// Types\nimport type { GenericProps } from '@/util'\n\nconst UP = -1\nconst DOWN = 1\n\nexport interface VVirtualScrollSlot<T> {\n item: T\n index: number\n}\n\nexport const makeVVirtualScrollProps = propsFactory({\n items: {\n type: Array,\n default: () => ([]),\n },\n itemHeight: [Number, String],\n\n ...makeComponentProps(),\n ...makeDimensionProps(),\n}, 'v-virtual-scroll')\n\nexport const VVirtualScroll = genericComponent<new <T>(\n props: {\n items?: readonly T[]\n },\n slots: {\n default: [VVirtualScrollSlot<T>]\n }\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VVirtualScroll',\n\n props: makeVVirtualScrollProps(),\n\n setup (props, { slots }) {\n const first = shallowRef(0)\n const baseItemHeight = shallowRef(props.itemHeight)\n const itemHeight = computed({\n get: () => parseInt(baseItemHeight.value ?? 0, 10),\n set (val) {\n baseItemHeight.value = val\n },\n })\n const rootEl = ref<HTMLDivElement>()\n const { resizeRef, contentRect } = useResizeObserver()\n watchEffect(() => {\n resizeRef.value = rootEl.value\n })\n const display = useDisplay()\n\n const sizeMap = new Map<any, number>()\n let sizes = createRange(props.items.length).map(() => itemHeight.value)\n const visibleItems = computed(() => {\n return Math.max(12,\n Math.ceil(((contentRect.value?.height ?? display.height.value) / itemHeight.value) * 1.7 + 1)\n )\n })\n\n function handleItemResize (index: number, height: number) {\n itemHeight.value = Math.max(itemHeight.value, height)\n sizes[index] = height\n sizeMap.set(props.items[index], height)\n }\n\n function calculateOffset (index: number) {\n return sizes.slice(0, index).reduce((curr, value) => curr + (value || itemHeight.value), 0)\n }\n\n function calculateMidPointIndex (scrollTop: number) {\n const end = props.items.length\n\n let middle = 0\n let middleOffset = 0\n while (middleOffset < scrollTop && middle < end) {\n middleOffset += sizes[middle++] || itemHeight.value\n }\n\n return middle - 1\n }\n\n let lastScrollTop = 0\n function handleScroll () {\n if (!rootEl.value || !contentRect.value) return\n\n const height = contentRect.value.height\n const scrollTop = rootEl.value.scrollTop\n const direction = scrollTop < lastScrollTop ? UP : DOWN\n\n const midPointIndex = calculateMidPointIndex(scrollTop + height / 2)\n const buffer = Math.round(visibleItems.value / 3)\n if (direction === UP && midPointIndex <= first.value + (buffer * 2) - 1) {\n first.value = clamp(midPointIndex - buffer, 0, props.items.length)\n } else if (direction === DOWN && midPointIndex >= first.value + (buffer * 2) - 1) {\n first.value = clamp(midPointIndex - buffer, 0, props.items.length - visibleItems.value)\n }\n\n lastScrollTop = rootEl.value.scrollTop\n }\n\n function scrollToIndex (index: number) {\n if (!rootEl.value) return\n\n const offset = calculateOffset(index)\n rootEl.value.scrollTop = offset\n }\n\n const items = computed(() => props.items.map((item, index) => ({\n raw: item,\n index,\n })))\n const last = computed(() => Math.min(props.items.length, first.value + visibleItems.value))\n const computedItems = computed(() => items.value.slice(first.value, last.value))\n const paddingTop = computed(() => calculateOffset(first.value))\n const paddingBottom = computed(() => calculateOffset(props.items.length) - calculateOffset(last.value))\n\n const { dimensionStyles } = useDimension(props)\n\n onMounted(() => {\n if (!itemHeight.value) {\n // If itemHeight prop is not set, then calculate an estimated height from the average of inital items\n itemHeight.value = sizes.slice(first.value, last.value).reduce((curr, height) => curr + height, 0) / (visibleItems.value)\n }\n })\n\n watch(() => props.items.length, () => {\n sizes = createRange(props.items.length).map(() => itemHeight.value)\n sizeMap.forEach((height, item) => {\n const index = props.items.indexOf(item)\n if (index === -1) {\n sizeMap.delete(item)\n } else {\n sizes[index] = height\n }\n })\n })\n\n useRender(() => (\n <div\n ref={ rootEl }\n class={[\n 'v-virtual-scroll',\n props.class,\n ]}\n onScroll={ handleScroll }\n style={[\n dimensionStyles.value,\n props.style,\n ]}\n >\n <div\n class=\"v-virtual-scroll__container\"\n style={{\n paddingTop: convertToUnit(paddingTop.value),\n paddingBottom: convertToUnit(paddingBottom.value),\n }}\n >\n { computedItems.value.map(item => (\n <VVirtualScrollItem\n key={ item.index }\n dynamicHeight={ !props.itemHeight }\n onUpdate:height={ height => handleItemResize(item.index, height) }\n >\n { slots.default?.({ item: item.raw, index: item.index }) }\n </VVirtualScrollItem>\n ))}\n </div>\n </div>\n ))\n\n return {\n scrollToIndex,\n }\n },\n})\n\nexport type VVirtualScroll = InstanceType<typeof VVirtualScroll>\n"],"mappings":"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"}
|
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
import * as vue from 'vue';
|
|
2
|
+
import { ComponentPropsOptions, ExtractPropTypes, VNodeChild } from 'vue';
|
|
3
|
+
|
|
4
|
+
type SlotsToProps<U extends RawSlots, Generic extends boolean = false, T = U extends Record<string, any[]> ? MakeSlots<U> : U> = {
|
|
5
|
+
$children?: (VNodeChild | (T extends {
|
|
6
|
+
default: infer V;
|
|
7
|
+
} ? V : {}) | {
|
|
8
|
+
[K in keyof T]?: T[K];
|
|
9
|
+
});
|
|
10
|
+
'v-slots'?: {
|
|
11
|
+
[K in keyof T]?: T[K] | false;
|
|
12
|
+
};
|
|
13
|
+
} & {
|
|
14
|
+
[K in keyof T as `v-slot:${K & string}`]?: T[K] | false;
|
|
15
|
+
} & (Generic extends false ? {
|
|
16
|
+
$slots?: {
|
|
17
|
+
[K in keyof T]?: T[K];
|
|
18
|
+
};
|
|
19
|
+
} : {});
|
|
20
|
+
type RawSlots = Record<string, any[]> | Record<string, Slot>;
|
|
21
|
+
type Slot<T extends any[] = any[]> = (...args: T) => VNodeChild;
|
|
22
|
+
type MakeSlots<T extends RawSlots> = {
|
|
23
|
+
[K in keyof T]: T[K] extends any[] ? Slot<T[K]> : T[K];
|
|
24
|
+
};
|
|
25
|
+
type GenericProps<Props, Slots extends Record<string, any[]>> = {
|
|
26
|
+
$props: Props & SlotsToProps<Slots, true>;
|
|
27
|
+
$slots: MakeSlots<Slots>;
|
|
28
|
+
};
|
|
29
|
+
interface FilterPropsOptions<PropsOptions extends Readonly<ComponentPropsOptions>, Props = ExtractPropTypes<PropsOptions>> {
|
|
30
|
+
filterProps<T extends Partial<Props>, U extends Exclude<keyof Props, Exclude<keyof Props, keyof T>>>(props: T): [yes: Partial<Pick<T, U>>, no: Omit<T, U>];
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
interface VVirtualScrollSlot<T> {
|
|
34
|
+
item: T;
|
|
35
|
+
index: number;
|
|
36
|
+
}
|
|
37
|
+
declare const VVirtualScroll: {
|
|
38
|
+
new (...args: any[]): {
|
|
39
|
+
$: vue.ComponentInternalInstance;
|
|
40
|
+
$data: {};
|
|
41
|
+
$props: {
|
|
42
|
+
style?: vue.StyleValue | undefined;
|
|
43
|
+
key?: string | number | symbol | undefined;
|
|
44
|
+
height?: string | number | undefined;
|
|
45
|
+
width?: string | number | undefined;
|
|
46
|
+
maxHeight?: string | number | undefined;
|
|
47
|
+
maxWidth?: string | number | undefined;
|
|
48
|
+
minHeight?: string | number | undefined;
|
|
49
|
+
minWidth?: string | number | undefined;
|
|
50
|
+
class?: any;
|
|
51
|
+
ref?: vue.VNodeRef | undefined;
|
|
52
|
+
ref_for?: boolean | undefined;
|
|
53
|
+
ref_key?: string | undefined;
|
|
54
|
+
onVnodeBeforeMount?: ((vnode: vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
55
|
+
[key: string]: any;
|
|
56
|
+
}>) => void) | ((vnode: vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
57
|
+
[key: string]: any;
|
|
58
|
+
}>) => void)[] | undefined;
|
|
59
|
+
onVnodeMounted?: ((vnode: vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
60
|
+
[key: string]: any;
|
|
61
|
+
}>) => void) | ((vnode: vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
62
|
+
[key: string]: any;
|
|
63
|
+
}>) => void)[] | undefined;
|
|
64
|
+
onVnodeBeforeUpdate?: ((vnode: vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
65
|
+
[key: string]: any;
|
|
66
|
+
}>, oldVNode: vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
67
|
+
[key: string]: any;
|
|
68
|
+
}>) => void) | ((vnode: vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
69
|
+
[key: string]: any;
|
|
70
|
+
}>, oldVNode: vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
71
|
+
[key: string]: any;
|
|
72
|
+
}>) => void)[] | undefined;
|
|
73
|
+
onVnodeUpdated?: ((vnode: vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
74
|
+
[key: string]: any;
|
|
75
|
+
}>, oldVNode: vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
76
|
+
[key: string]: any;
|
|
77
|
+
}>) => void) | ((vnode: vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
78
|
+
[key: string]: any;
|
|
79
|
+
}>, oldVNode: vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
80
|
+
[key: string]: any;
|
|
81
|
+
}>) => void)[] | undefined;
|
|
82
|
+
onVnodeBeforeUnmount?: ((vnode: vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
83
|
+
[key: string]: any;
|
|
84
|
+
}>) => void) | ((vnode: vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
85
|
+
[key: string]: any;
|
|
86
|
+
}>) => void)[] | undefined;
|
|
87
|
+
onVnodeUnmounted?: ((vnode: vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
88
|
+
[key: string]: any;
|
|
89
|
+
}>) => void) | ((vnode: vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
90
|
+
[key: string]: any;
|
|
91
|
+
}>) => void)[] | undefined;
|
|
92
|
+
itemHeight?: string | number | undefined;
|
|
93
|
+
};
|
|
94
|
+
$attrs: {
|
|
95
|
+
[x: string]: unknown;
|
|
96
|
+
};
|
|
97
|
+
$refs: {
|
|
98
|
+
[x: string]: unknown;
|
|
99
|
+
};
|
|
100
|
+
$slots: Readonly<{
|
|
101
|
+
default?: ((args_0: VVirtualScrollSlot<unknown>) => vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
102
|
+
[key: string]: any;
|
|
103
|
+
}>[]) | undefined;
|
|
104
|
+
}>;
|
|
105
|
+
$root: vue.ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, vue.ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}> | null;
|
|
106
|
+
$parent: vue.ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, vue.ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}> | null;
|
|
107
|
+
$emit: (event: string, ...args: any[]) => void;
|
|
108
|
+
$el: any;
|
|
109
|
+
$options: vue.ComponentOptionsBase<{
|
|
110
|
+
style: vue.StyleValue;
|
|
111
|
+
} & {
|
|
112
|
+
height?: string | number | undefined;
|
|
113
|
+
width?: string | number | undefined;
|
|
114
|
+
maxHeight?: string | number | undefined;
|
|
115
|
+
maxWidth?: string | number | undefined;
|
|
116
|
+
minHeight?: string | number | undefined;
|
|
117
|
+
minWidth?: string | number | undefined;
|
|
118
|
+
class?: any;
|
|
119
|
+
itemHeight?: string | number | undefined;
|
|
120
|
+
}, {
|
|
121
|
+
scrollToIndex: (index: number) => void;
|
|
122
|
+
}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Omit<Record<string, any>, "$children" | "v-slot:default" | "items" | "v-slots">, string, {
|
|
123
|
+
style: vue.StyleValue;
|
|
124
|
+
}, {}, string, vue.SlotsType<Partial<{
|
|
125
|
+
default: (args_0: VVirtualScrollSlot<unknown>) => vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
126
|
+
[key: string]: any;
|
|
127
|
+
}>[];
|
|
128
|
+
}>>> & {
|
|
129
|
+
beforeCreate?: ((() => void) | (() => void)[]) | undefined;
|
|
130
|
+
created?: ((() => void) | (() => void)[]) | undefined;
|
|
131
|
+
beforeMount?: ((() => void) | (() => void)[]) | undefined;
|
|
132
|
+
mounted?: ((() => void) | (() => void)[]) | undefined;
|
|
133
|
+
beforeUpdate?: ((() => void) | (() => void)[]) | undefined;
|
|
134
|
+
updated?: ((() => void) | (() => void)[]) | undefined;
|
|
135
|
+
activated?: ((() => void) | (() => void)[]) | undefined;
|
|
136
|
+
deactivated?: ((() => void) | (() => void)[]) | undefined;
|
|
137
|
+
beforeDestroy?: ((() => void) | (() => void)[]) | undefined;
|
|
138
|
+
beforeUnmount?: ((() => void) | (() => void)[]) | undefined;
|
|
139
|
+
destroyed?: ((() => void) | (() => void)[]) | undefined;
|
|
140
|
+
unmounted?: ((() => void) | (() => void)[]) | undefined;
|
|
141
|
+
renderTracked?: (((e: vue.DebuggerEvent) => void) | ((e: vue.DebuggerEvent) => void)[]) | undefined;
|
|
142
|
+
renderTriggered?: (((e: vue.DebuggerEvent) => void) | ((e: vue.DebuggerEvent) => void)[]) | undefined;
|
|
143
|
+
errorCaptured?: (((err: unknown, instance: vue.ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, vue.ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}> | null, info: string) => boolean | void) | ((err: unknown, instance: vue.ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, vue.ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}> | null, info: string) => boolean | void)[]) | undefined;
|
|
144
|
+
};
|
|
145
|
+
$forceUpdate: () => void;
|
|
146
|
+
$nextTick: typeof vue.nextTick;
|
|
147
|
+
$watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (args_0: R, args_1: R) => any : (...args: any) => any, options?: vue.WatchOptions<boolean> | undefined): vue.WatchStopHandle;
|
|
148
|
+
} & {
|
|
149
|
+
style: vue.StyleValue;
|
|
150
|
+
} & {
|
|
151
|
+
height?: string | number | undefined;
|
|
152
|
+
width?: string | number | undefined;
|
|
153
|
+
maxHeight?: string | number | undefined;
|
|
154
|
+
maxWidth?: string | number | undefined;
|
|
155
|
+
minHeight?: string | number | undefined;
|
|
156
|
+
minWidth?: string | number | undefined;
|
|
157
|
+
class?: any;
|
|
158
|
+
itemHeight?: string | number | undefined;
|
|
159
|
+
} & vue.ShallowUnwrapRef<{
|
|
160
|
+
scrollToIndex: (index: number) => void;
|
|
161
|
+
}> & {} & vue.ComponentCustomProperties & {};
|
|
162
|
+
__isFragment?: undefined;
|
|
163
|
+
__isTeleport?: undefined;
|
|
164
|
+
__isSuspense?: undefined;
|
|
165
|
+
} & vue.ComponentOptionsBase<{
|
|
166
|
+
style: vue.StyleValue;
|
|
167
|
+
} & {
|
|
168
|
+
height?: string | number | undefined;
|
|
169
|
+
width?: string | number | undefined;
|
|
170
|
+
maxHeight?: string | number | undefined;
|
|
171
|
+
maxWidth?: string | number | undefined;
|
|
172
|
+
minHeight?: string | number | undefined;
|
|
173
|
+
minWidth?: string | number | undefined;
|
|
174
|
+
class?: any;
|
|
175
|
+
itemHeight?: string | number | undefined;
|
|
176
|
+
}, {
|
|
177
|
+
scrollToIndex: (index: number) => void;
|
|
178
|
+
}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Omit<Record<string, any>, "$children" | "v-slot:default" | "items" | "v-slots">, string, {
|
|
179
|
+
style: vue.StyleValue;
|
|
180
|
+
}, {}, string, vue.SlotsType<Partial<{
|
|
181
|
+
default: (args_0: VVirtualScrollSlot<unknown>) => vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
182
|
+
[key: string]: any;
|
|
183
|
+
}>[];
|
|
184
|
+
}>>> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & (new <T_1>(props: {
|
|
185
|
+
items?: readonly T_1[] | undefined;
|
|
186
|
+
}, slots: {
|
|
187
|
+
default: [VVirtualScrollSlot<T_1>];
|
|
188
|
+
}) => GenericProps<{
|
|
189
|
+
items?: readonly T_1[] | undefined;
|
|
190
|
+
}, {
|
|
191
|
+
default: [VVirtualScrollSlot<T_1>];
|
|
192
|
+
}>) & FilterPropsOptions<{
|
|
193
|
+
height: (StringConstructor | NumberConstructor)[];
|
|
194
|
+
maxHeight: (StringConstructor | NumberConstructor)[];
|
|
195
|
+
maxWidth: (StringConstructor | NumberConstructor)[];
|
|
196
|
+
minHeight: (StringConstructor | NumberConstructor)[];
|
|
197
|
+
minWidth: (StringConstructor | NumberConstructor)[];
|
|
198
|
+
width: (StringConstructor | NumberConstructor)[];
|
|
199
|
+
class: vue.PropType<any>;
|
|
200
|
+
style: {
|
|
201
|
+
type: vue.PropType<vue.StyleValue>;
|
|
202
|
+
default: null;
|
|
203
|
+
};
|
|
204
|
+
items: {
|
|
205
|
+
type: ArrayConstructor;
|
|
206
|
+
default: () => never[];
|
|
207
|
+
};
|
|
208
|
+
itemHeight: (StringConstructor | NumberConstructor)[];
|
|
209
|
+
}, vue.ExtractPropTypes<{
|
|
210
|
+
height: (StringConstructor | NumberConstructor)[];
|
|
211
|
+
maxHeight: (StringConstructor | NumberConstructor)[];
|
|
212
|
+
maxWidth: (StringConstructor | NumberConstructor)[];
|
|
213
|
+
minHeight: (StringConstructor | NumberConstructor)[];
|
|
214
|
+
minWidth: (StringConstructor | NumberConstructor)[];
|
|
215
|
+
width: (StringConstructor | NumberConstructor)[];
|
|
216
|
+
class: vue.PropType<any>;
|
|
217
|
+
style: {
|
|
218
|
+
type: vue.PropType<vue.StyleValue>;
|
|
219
|
+
default: null;
|
|
220
|
+
};
|
|
221
|
+
items: {
|
|
222
|
+
type: ArrayConstructor;
|
|
223
|
+
default: () => never[];
|
|
224
|
+
};
|
|
225
|
+
itemHeight: (StringConstructor | NumberConstructor)[];
|
|
226
|
+
}>>;
|
|
227
|
+
type VVirtualScroll = InstanceType<typeof VVirtualScroll>;
|
|
228
|
+
|
|
229
|
+
export { VVirtualScroll };
|