@vuetify/nightly 4.0.0-dev-20230511.0 → 4.0.0-dev-20230512.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/CHANGELOG.md +6 -14
- package/dist/json/attributes.json +564 -256
- package/dist/json/importMap-labs.json +4 -4
- package/dist/json/tags.json +80 -2
- package/dist/json/web-types.json +2399 -606
- package/dist/vuetify-labs.css +45 -42
- package/dist/vuetify-labs.d.ts +26350 -24518
- package/dist/vuetify-labs.esm.js +2485 -2382
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +2485 -2382
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +11 -8
- package/dist/vuetify.d.ts +23046 -23682
- package/dist/vuetify.esm.js +1865 -1748
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +1865 -1748
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +658 -658
- package/dist/vuetify.min.js.map +1 -1
- package/lib/blueprints/index.d.mts +1 -3
- package/lib/blueprints/md1.d.mts +1 -3
- package/lib/blueprints/md2.d.mts +1 -3
- package/lib/blueprints/md3.d.mts +1 -3
- package/lib/components/VAlert/VAlert.mjs +48 -48
- package/lib/components/VAlert/VAlert.mjs.map +1 -1
- package/lib/components/VAlert/index.d.mts +228 -71
- package/lib/components/VApp/VApp.mjs +9 -8
- package/lib/components/VApp/VApp.mjs.map +1 -1
- package/lib/components/VApp/index.d.mts +65 -19
- package/lib/components/VAppBar/VAppBar.mjs +23 -22
- package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
- package/lib/components/VAppBar/VAppBarNavIcon.mjs +9 -7
- package/lib/components/VAppBar/VAppBarNavIcon.mjs.map +1 -1
- package/lib/components/VAppBar/VAppBarTitle.mjs +1 -2
- package/lib/components/VAppBar/VAppBarTitle.mjs.map +1 -1
- package/lib/components/VAppBar/index.d.mts +314 -123
- package/lib/components/VAutocomplete/VAutocomplete.css +0 -4
- package/lib/components/VAutocomplete/VAutocomplete.mjs +36 -39
- package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.sass +0 -5
- package/lib/components/VAutocomplete/index.d.mts +1264 -2467
- package/lib/components/VAvatar/index.d.mts +70 -30
- package/lib/components/VBadge/VBadge.mjs +33 -32
- package/lib/components/VBadge/VBadge.mjs.map +1 -1
- package/lib/components/VBadge/index.d.mts +86 -42
- package/lib/components/VBanner/VBanner.mjs +21 -20
- package/lib/components/VBanner/VBanner.mjs.map +1 -1
- package/lib/components/VBanner/VBannerActions.mjs +7 -6
- package/lib/components/VBanner/VBannerActions.mjs.map +1 -1
- package/lib/components/VBanner/index.d.mts +227 -65
- package/lib/components/VBottomNavigation/VBottomNavigation.mjs +35 -34
- package/lib/components/VBottomNavigation/VBottomNavigation.mjs.map +1 -1
- package/lib/components/VBottomNavigation/index.d.mts +78 -45
- package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs +24 -23
- package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs.map +1 -1
- package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.mjs +6 -5
- package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.mjs.map +1 -1
- package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs +15 -14
- package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs.map +1 -1
- package/lib/components/VBreadcrumbs/index.d.mts +311 -208
- package/lib/components/VBtn/index.d.mts +112 -53
- package/lib/components/VBtnGroup/index.d.mts +69 -27
- package/lib/components/VBtnToggle/VBtnToggle.mjs +6 -5
- package/lib/components/VBtnToggle/VBtnToggle.mjs.map +1 -1
- package/lib/components/VBtnToggle/index.d.mts +73 -35
- package/lib/components/VCard/VCard.mjs +38 -37
- package/lib/components/VCard/VCard.mjs.map +1 -1
- package/lib/components/VCard/VCardItem.mjs +12 -11
- package/lib/components/VCard/VCardItem.mjs.map +1 -1
- package/lib/components/VCard/index.d.mts +764 -368
- package/lib/components/VCarousel/VCarousel.mjs +28 -27
- package/lib/components/VCarousel/VCarousel.mjs.map +1 -1
- package/lib/components/VCarousel/VCarouselItem.mjs +18 -16
- package/lib/components/VCarousel/VCarouselItem.mjs.map +1 -1
- package/lib/components/VCarousel/index.d.mts +600 -103
- package/lib/components/VCheckbox/VCheckbox.mjs +6 -5
- package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
- package/lib/components/VCheckbox/index.d.mts +304 -125
- package/lib/components/VChip/VChip.css +7 -0
- package/lib/components/VChip/VChip.mjs +60 -57
- package/lib/components/VChip/VChip.mjs.map +1 -1
- package/lib/components/VChip/VChip.sass +9 -0
- package/lib/components/VChip/index.d.mts +318 -90
- package/lib/components/VChipGroup/VChipGroup.mjs +19 -18
- package/lib/components/VChipGroup/VChipGroup.mjs.map +1 -1
- package/lib/components/VChipGroup/index.d.mts +204 -53
- package/lib/components/VCode/index.d.mts +63 -17
- package/lib/components/VColorPicker/VColorPicker.mjs +44 -39
- package/lib/components/VColorPicker/VColorPicker.mjs.map +1 -1
- package/lib/components/VColorPicker/VColorPickerCanvas.mjs +26 -25
- package/lib/components/VColorPicker/VColorPickerCanvas.mjs.map +1 -1
- package/lib/components/VColorPicker/VColorPickerEdit.mjs +17 -16
- package/lib/components/VColorPicker/VColorPickerEdit.mjs.map +1 -1
- package/lib/components/VColorPicker/VColorPickerPreview.mjs +10 -9
- package/lib/components/VColorPicker/VColorPickerPreview.mjs.map +1 -1
- package/lib/components/VColorPicker/VColorPickerSwatches.mjs +12 -11
- package/lib/components/VColorPicker/VColorPickerSwatches.mjs.map +1 -1
- package/lib/components/VColorPicker/index.d.mts +74 -85
- package/lib/components/VColorPicker/util/index.mjs +2 -2
- package/lib/components/VColorPicker/util/index.mjs.map +1 -1
- package/lib/components/VCombobox/VCombobox.mjs +39 -42
- package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
- package/lib/components/VCombobox/index.d.mts +1264 -2488
- package/lib/components/VCounter/VCounter.mjs +16 -15
- package/lib/components/VCounter/VCounter.mjs.map +1 -1
- package/lib/components/VCounter/index.d.mts +113 -1817
- package/lib/components/VDefaultsProvider/VDefaultsProvider.mjs +9 -8
- package/lib/components/VDefaultsProvider/VDefaultsProvider.mjs.map +1 -1
- package/lib/components/VDefaultsProvider/index.d.mts +67 -20
- package/lib/components/VDialog/VDialog.mjs +18 -17
- package/lib/components/VDialog/VDialog.mjs.map +1 -1
- package/lib/components/VDialog/index.d.mts +551 -1401
- package/lib/components/VDivider/VDivider.mjs +11 -10
- package/lib/components/VDivider/VDivider.mjs.map +1 -1
- package/lib/components/VDivider/index.d.mts +66 -21
- package/lib/components/VExpansionPanel/VExpansionPanel.mjs +15 -15
- package/lib/components/VExpansionPanel/VExpansionPanel.mjs.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanelText.mjs +6 -5
- package/lib/components/VExpansionPanel/VExpansionPanelText.mjs.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs +3 -5
- package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanels.mjs +15 -14
- package/lib/components/VExpansionPanel/VExpansionPanels.mjs.map +1 -1
- package/lib/components/VExpansionPanel/index.d.mts +317 -125
- package/lib/components/VField/VField.mjs +7 -2
- package/lib/components/VField/VField.mjs.map +1 -1
- package/lib/components/VField/VFieldLabel.mjs +6 -5
- package/lib/components/VField/VFieldLabel.mjs.map +1 -1
- package/lib/components/VField/index.d.mts +310 -230
- package/lib/components/VFileInput/VFileInput.mjs +35 -34
- package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
- package/lib/components/VFileInput/index.d.mts +760 -320
- package/lib/components/VFooter/VFooter.mjs +21 -20
- package/lib/components/VFooter/VFooter.mjs.map +1 -1
- package/lib/components/VFooter/index.d.mts +70 -29
- package/lib/components/VForm/VForm.mjs +6 -5
- package/lib/components/VForm/VForm.mjs.map +1 -1
- package/lib/components/VForm/index.d.mts +568 -52
- package/lib/components/VGrid/VCol.mjs +26 -25
- package/lib/components/VGrid/VCol.mjs.map +1 -1
- package/lib/components/VGrid/VContainer.mjs +16 -11
- package/lib/components/VGrid/VContainer.mjs.map +1 -1
- package/lib/components/VGrid/VRow.mjs +26 -25
- package/lib/components/VGrid/VRow.mjs.map +1 -1
- package/lib/components/VGrid/index.d.mts +274 -100
- package/lib/components/VHover/VHover.mjs +10 -9
- package/lib/components/VHover/VHover.mjs.map +1 -1
- package/lib/components/VHover/index.d.mts +93 -37
- package/lib/components/VIcon/VIcon.mjs +28 -29
- package/lib/components/VIcon/VIcon.mjs.map +1 -1
- package/lib/components/VIcon/index.d.mts +292 -81
- package/lib/components/VImg/VImg.mjs +34 -33
- package/lib/components/VImg/VImg.mjs.map +1 -1
- package/lib/components/VImg/index.d.mts +118 -53
- package/lib/components/VInput/VInput.mjs +1 -1
- package/lib/components/VInput/VInput.mjs.map +1 -1
- package/lib/components/VInput/index.d.mts +137 -50
- package/lib/components/VItemGroup/VItem.mjs +1 -1
- package/lib/components/VItemGroup/VItem.mjs.map +1 -1
- package/lib/components/VItemGroup/VItemGroup.mjs +10 -9
- package/lib/components/VItemGroup/VItemGroup.mjs.map +1 -1
- package/lib/components/VItemGroup/index.d.mts +414 -111
- package/lib/components/VKbd/index.d.mts +63 -17
- package/lib/components/VLabel/VLabel.mjs +8 -7
- package/lib/components/VLabel/VLabel.mjs.map +1 -1
- package/lib/components/VLabel/index.d.mts +64 -18
- package/lib/components/VLayout/VLayout.mjs +6 -5
- package/lib/components/VLayout/VLayout.mjs.map +1 -1
- package/lib/components/VLayout/VLayoutItem.mjs +15 -14
- package/lib/components/VLayout/VLayoutItem.mjs.map +1 -1
- package/lib/components/VLayout/index.d.mts +131 -42
- package/lib/components/VLazy/VLazy.mjs +21 -20
- package/lib/components/VLazy/VLazy.mjs.map +1 -1
- package/lib/components/VLazy/index.d.mts +67 -27
- package/lib/components/VList/VList.mjs +37 -36
- package/lib/components/VList/VList.mjs.map +1 -1
- package/lib/components/VList/VListChildren.mjs +9 -12
- package/lib/components/VList/VListChildren.mjs.map +1 -1
- package/lib/components/VList/VListGroup.mjs +2 -4
- package/lib/components/VList/VListGroup.mjs.map +1 -1
- package/lib/components/VList/VListItem.mjs +44 -43
- package/lib/components/VList/VListItem.mjs.map +1 -1
- package/lib/components/VList/VListItemAction.mjs +8 -7
- package/lib/components/VList/VListItemAction.mjs.map +1 -1
- package/lib/components/VList/VListItemMedia.mjs +8 -7
- package/lib/components/VList/VListItemMedia.mjs.map +1 -1
- package/lib/components/VList/VListSubheader.mjs +10 -9
- package/lib/components/VList/VListSubheader.mjs.map +1 -1
- package/lib/components/VList/index.d.mts +1069 -617
- package/lib/components/VList/list.mjs +4 -4
- package/lib/components/VList/list.mjs.map +1 -1
- package/lib/components/VLocaleProvider/VLocaleProvider.mjs +12 -11
- package/lib/components/VLocaleProvider/VLocaleProvider.mjs.map +1 -1
- package/lib/components/VLocaleProvider/index.d.mts +65 -19
- package/lib/components/VMain/VMain.mjs +9 -8
- package/lib/components/VMain/VMain.mjs.map +1 -1
- package/lib/components/VMain/index.d.mts +64 -19
- package/lib/components/VMenu/VMenu.mjs +21 -20
- package/lib/components/VMenu/VMenu.mjs.map +1 -1
- package/lib/components/VMenu/index.d.mts +479 -1327
- package/lib/components/VMessages/VMessages.mjs +18 -17
- package/lib/components/VMessages/VMessages.mjs.map +1 -1
- package/lib/components/VMessages/index.d.mts +88 -1799
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +50 -49
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
- package/lib/components/VNavigationDrawer/index.d.mts +115 -60
- package/lib/components/VNavigationDrawer/sticky.mjs +14 -7
- package/lib/components/VNavigationDrawer/sticky.mjs.map +1 -1
- package/lib/components/VNavigationDrawer/touch.mjs +4 -4
- package/lib/components/VNavigationDrawer/touch.mjs.map +1 -1
- package/lib/components/VOverlay/index.d.mts +120 -75
- package/lib/components/VOverlay/locationStrategies.mjs +5 -3
- package/lib/components/VOverlay/locationStrategies.mjs.map +1 -1
- package/lib/components/VPagination/VPagination.mjs +84 -83
- package/lib/components/VPagination/VPagination.mjs.map +1 -1
- package/lib/components/VPagination/index.d.mts +203 -130
- package/lib/components/VParallax/VParallax.mjs +9 -8
- package/lib/components/VParallax/VParallax.mjs.map +1 -1
- package/lib/components/VParallax/index.d.mts +91 -18
- package/lib/components/VProgressCircular/VProgressCircular.mjs +25 -24
- package/lib/components/VProgressCircular/VProgressCircular.mjs.map +1 -1
- package/lib/components/VProgressCircular/index.d.mts +125 -45
- package/lib/components/VProgressLinear/VProgressLinear.mjs +44 -42
- package/lib/components/VProgressLinear/VProgressLinear.mjs.map +1 -1
- package/lib/components/VProgressLinear/index.d.mts +97 -57
- package/lib/components/VRadio/VRadio.mjs +8 -7
- package/lib/components/VRadio/VRadio.mjs.map +1 -1
- package/lib/components/VRadio/index.d.mts +121 -51
- package/lib/components/VRadioGroup/VRadioGroup.mjs +22 -21
- package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
- package/lib/components/VRadioGroup/index.d.mts +189 -76
- package/lib/components/VRangeSlider/VRangeSlider.mjs +18 -13
- package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
- package/lib/components/VRangeSlider/index.d.mts +192 -80
- package/lib/components/VRating/VRating.mjs +49 -45
- package/lib/components/VRating/VRating.mjs.map +1 -1
- package/lib/components/VRating/index.d.mts +94 -54
- package/lib/components/VResponsive/index.d.mts +73 -18
- package/lib/components/VSelect/VSelect.mjs +22 -21
- package/lib/components/VSelect/VSelect.mjs.map +1 -1
- package/lib/components/VSelect/index.d.mts +1192 -3713
- package/lib/components/VSelectionControl/VSelectionControl.mjs +3 -3
- package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
- package/lib/components/VSelectionControl/index.d.mts +212 -194
- package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs +10 -10
- package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs.map +1 -1
- package/lib/components/VSelectionControlGroup/index.d.mts +100 -63
- package/lib/components/VSheet/VSheet.mjs +1 -3
- package/lib/components/VSheet/VSheet.mjs.map +1 -1
- package/lib/components/VSheet/index.d.mts +66 -21
- package/lib/components/VSlideGroup/VSlideGroup.mjs +7 -7
- package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
- package/lib/components/VSlideGroup/VSlideGroupItem.mjs +1 -3
- package/lib/components/VSlideGroup/VSlideGroupItem.mjs.map +1 -1
- package/lib/components/VSlideGroup/index.d.mts +181 -64
- package/lib/components/VSlider/VSlider.mjs +18 -13
- package/lib/components/VSlider/VSlider.mjs.map +1 -1
- package/lib/components/VSlider/VSliderThumb.mjs +26 -25
- package/lib/components/VSlider/VSliderThumb.mjs.map +1 -1
- package/lib/components/VSlider/VSliderTrack.mjs +13 -12
- package/lib/components/VSlider/VSliderTrack.mjs.map +1 -1
- package/lib/components/VSlider/index.d.mts +194 -81
- package/lib/components/VSlider/slider.mjs +3 -3
- package/lib/components/VSlider/slider.mjs.map +1 -1
- package/lib/components/VSnackbar/VSnackbar.mjs +20 -19
- package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
- package/lib/components/VSnackbar/index.d.mts +444 -297
- package/lib/components/VSwitch/VSwitch.css +3 -3
- package/lib/components/VSwitch/VSwitch.mjs +13 -12
- package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
- package/lib/components/VSwitch/VSwitch.sass +4 -3
- package/lib/components/VSwitch/index.d.mts +206 -86
- package/lib/components/VSystemBar/VSystemBar.mjs +15 -14
- package/lib/components/VSystemBar/VSystemBar.mjs.map +1 -1
- package/lib/components/VSystemBar/index.d.mts +69 -27
- package/lib/components/VTable/VTable.mjs +12 -11
- package/lib/components/VTable/VTable.mjs.map +1 -1
- package/lib/components/VTable/index.d.mts +95 -26
- package/lib/components/VTabs/VTab.mjs +19 -19
- package/lib/components/VTabs/VTab.mjs.map +1 -1
- package/lib/components/VTabs/VTabs.mjs +28 -27
- package/lib/components/VTabs/VTabs.mjs.map +1 -1
- package/lib/components/VTabs/index.d.mts +175 -115
- package/lib/components/VTextField/VTextField.mjs +1 -1
- package/lib/components/VTextField/VTextField.mjs.map +1 -1
- package/lib/components/VTextField/index.d.mts +1254 -770
- package/lib/components/VTextarea/VTextarea.mjs +32 -28
- package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
- package/lib/components/VTextarea/index.d.mts +683 -313
- package/lib/components/VThemeProvider/VThemeProvider.mjs +8 -7
- package/lib/components/VThemeProvider/VThemeProvider.mjs.map +1 -1
- package/lib/components/VThemeProvider/index.d.mts +65 -20
- package/lib/components/VTimeline/VTimeline.mjs +46 -41
- package/lib/components/VTimeline/VTimeline.mjs.map +1 -1
- package/lib/components/VTimeline/VTimelineDivider.mjs +14 -13
- package/lib/components/VTimeline/VTimelineDivider.mjs.map +1 -1
- package/lib/components/VTimeline/VTimelineItem.mjs +23 -22
- package/lib/components/VTimeline/VTimelineItem.mjs.map +1 -1
- package/lib/components/VTimeline/index.d.mts +163 -62
- package/lib/components/VToolbar/VToolbar.mjs +8 -4
- package/lib/components/VToolbar/VToolbar.mjs.map +1 -1
- package/lib/components/VToolbar/VToolbarItems.mjs +8 -7
- package/lib/components/VToolbar/VToolbarItems.mjs.map +1 -1
- package/lib/components/VToolbar/index.d.mts +265 -82
- package/lib/components/VTooltip/VTooltip.mjs +20 -19
- package/lib/components/VTooltip/VTooltip.mjs.map +1 -1
- package/lib/components/VTooltip/index.d.mts +442 -297
- package/lib/components/VValidation/VValidation.mjs +1 -3
- package/lib/components/VValidation/VValidation.mjs.map +1 -1
- package/lib/components/VValidation/index.d.mts +358 -50
- package/lib/components/VVirtualScroll/VVirtualScroll.mjs +14 -13
- package/lib/components/VVirtualScroll/VVirtualScroll.mjs.map +1 -1
- package/lib/components/VVirtualScroll/VVirtualScrollItem.mjs +6 -5
- package/lib/components/VVirtualScroll/VVirtualScrollItem.mjs.map +1 -1
- package/lib/components/VVirtualScroll/index.d.mts +110 -82
- package/lib/components/VWindow/VWindow.mjs +3 -3
- package/lib/components/VWindow/VWindow.mjs.map +1 -1
- package/lib/components/VWindow/VWindowItem.mjs +18 -17
- package/lib/components/VWindow/VWindowItem.mjs.map +1 -1
- package/lib/components/VWindow/index.d.mts +204 -75
- package/lib/components/index.d.mts +23230 -23871
- package/lib/components/transitions/createTransition.mjs +16 -15
- package/lib/components/transitions/createTransition.mjs.map +1 -1
- package/lib/components/transitions/dialog-transition.mjs +5 -4
- package/lib/components/transitions/dialog-transition.mjs.map +1 -1
- package/lib/components/transitions/index.d.mts +1207 -472
- package/lib/composables/display.mjs +3 -3
- package/lib/composables/display.mjs.map +1 -1
- package/lib/composables/form.mjs +4 -4
- 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/hydration.mjs +6 -6
- package/lib/composables/hydration.mjs.map +1 -1
- package/lib/composables/icons.mjs +2 -2
- package/lib/composables/icons.mjs.map +1 -1
- package/lib/composables/intersectionObserver.mjs +2 -2
- package/lib/composables/intersectionObserver.mjs.map +1 -1
- package/lib/composables/layout.mjs +3 -3
- package/lib/composables/layout.mjs.map +1 -1
- package/lib/composables/lazy.mjs +2 -2
- package/lib/composables/lazy.mjs.map +1 -1
- package/lib/composables/nested/nested.mjs +5 -4
- package/lib/composables/nested/nested.mjs.map +1 -1
- package/lib/composables/scroll.mjs +6 -6
- package/lib/composables/scroll.mjs.map +1 -1
- package/lib/composables/ssrBoot.mjs +2 -2
- package/lib/composables/ssrBoot.mjs.map +1 -1
- package/lib/composables/stack.mjs +5 -4
- package/lib/composables/stack.mjs.map +1 -1
- package/lib/composables/theme.mjs +3 -3
- package/lib/composables/theme.mjs.map +1 -1
- package/lib/composables/transition.mjs +5 -2
- package/lib/composables/transition.mjs.map +1 -1
- package/lib/composables/validation.mjs +3 -3
- package/lib/composables/validation.mjs.map +1 -1
- package/lib/directives/click-outside/index.mjs +1 -1
- package/lib/directives/click-outside/index.mjs.map +1 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/index.d.mts +10 -5
- package/lib/labs/VDataTable/VDataTable.mjs +54 -66
- package/lib/labs/VDataTable/VDataTable.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableFooter.mjs +64 -63
- package/lib/labs/VDataTable/VDataTableFooter.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableGroupHeaderRow.mjs +8 -7
- package/lib/labs/VDataTable/VDataTableGroupHeaderRow.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableHeaders.mjs +17 -16
- package/lib/labs/VDataTable/VDataTableHeaders.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableRow.mjs +7 -6
- package/lib/labs/VDataTable/VDataTableRow.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableRows.mjs +20 -19
- package/lib/labs/VDataTable/VDataTableRows.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableServer.mjs +54 -59
- package/lib/labs/VDataTable/VDataTableServer.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableVirtual.mjs +72 -80
- package/lib/labs/VDataTable/VDataTableVirtual.mjs.map +1 -1
- package/lib/labs/VDataTable/composables/virtual.mjs +3 -3
- package/lib/labs/VDataTable/composables/virtual.mjs.map +1 -1
- package/lib/labs/VDataTable/index.d.mts +2974 -631
- package/lib/labs/VInfiniteScroll/VInfiniteScroll.mjs +54 -48
- package/lib/labs/VInfiniteScroll/VInfiniteScroll.mjs.map +1 -1
- package/lib/labs/VInfiniteScroll/index.d.mts +143 -52
- package/lib/labs/VSkeletonLoader/VSkeletonLoader.mjs +18 -17
- package/lib/labs/VSkeletonLoader/VSkeletonLoader.mjs.map +1 -1
- package/lib/labs/VSkeletonLoader/index.d.mts +77 -31
- package/lib/labs/components.d.mts +3188 -708
- package/lib/labs/date/date.mjs +7 -7
- package/lib/labs/date/date.mjs.map +1 -1
- package/lib/labs/date/index.d.mts +1 -3
- package/lib/locale/adapters/vuetify.mjs +8 -5
- package/lib/locale/adapters/vuetify.mjs.map +1 -1
- package/lib/util/defineComponent.mjs.map +1 -1
- package/lib/util/propsFactory.mjs +2 -0
- package/lib/util/propsFactory.mjs.map +1 -1
- package/package.json +3 -3
@@ -3,9 +3,7 @@ import { makeValidationProps, useValidation } from "../../composables/validation
|
|
3
3
|
import { genericComponent } from "../../util/index.mjs";
|
4
4
|
export const VValidation = genericComponent()({
|
5
5
|
name: 'VValidation',
|
6
|
-
props:
|
7
|
-
...makeValidationProps()
|
8
|
-
},
|
6
|
+
props: makeValidationProps(),
|
9
7
|
emits: {
|
10
8
|
'update:modelValue': val => true
|
11
9
|
},
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"VValidation.mjs","names":["makeValidationProps","useValidation","genericComponent","VValidation","name","props","emits","val","setup","_ref","slots","validation","default"],"sources":["../../../src/components/VValidation/VValidation.tsx"],"sourcesContent":["// Composables\nimport { makeValidationProps, useValidation } from '@/composables/validation'\n\n// Utilities\nimport { genericComponent } from '@/util'\n\nexport const VValidation = genericComponent()({\n name: 'VValidation',\n\n props:
|
1
|
+
{"version":3,"file":"VValidation.mjs","names":["makeValidationProps","useValidation","genericComponent","VValidation","name","props","emits","val","setup","_ref","slots","validation","default"],"sources":["../../../src/components/VValidation/VValidation.tsx"],"sourcesContent":["// Composables\nimport { makeValidationProps, useValidation } from '@/composables/validation'\n\n// Utilities\nimport { genericComponent } from '@/util'\n\nexport type VValidationSlots = {\n default: [ReturnType<typeof useValidation>]\n}\n\nexport const VValidation = genericComponent<VValidationSlots>()({\n name: 'VValidation',\n\n props: makeValidationProps(),\n\n emits: {\n 'update:modelValue': (val: any) => true,\n },\n\n setup (props, { slots }) {\n const validation = useValidation(props, 'validation')\n\n return () => slots.default?.(validation)\n },\n})\n\nexport type VValidation = InstanceType<typeof VValidation>\n"],"mappings":"AAAA;AAAA,SACSA,mBAAmB,EAAEC,aAAa,4CAE3C;AAAA,SACSC,gBAAgB;AAMzB,OAAO,MAAMC,WAAW,GAAGD,gBAAgB,EAAoB,CAAC;EAC9DE,IAAI,EAAE,aAAa;EAEnBC,KAAK,EAAEL,mBAAmB,EAAE;EAE5BM,KAAK,EAAE;IACL,mBAAmB,EAAGC,GAAQ,IAAK;EACrC,CAAC;EAEDC,KAAKA,CAAEH,KAAK,EAAAI,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrB,MAAME,UAAU,GAAGV,aAAa,CAACI,KAAK,EAAE,YAAY,CAAC;IAErD,OAAO,MAAMK,KAAK,CAACE,OAAO,GAAGD,UAAU,CAAC;EAC1C;AACF,CAAC,CAAC"}
|
@@ -15,41 +15,129 @@ declare const VValidation: {
|
|
15
15
|
new (...args: any[]): {
|
16
16
|
$: vue.ComponentInternalInstance;
|
17
17
|
$data: {};
|
18
|
-
$props:
|
19
|
-
error
|
20
|
-
disabled
|
21
|
-
readonly
|
22
|
-
focused
|
23
|
-
errorMessages
|
24
|
-
maxErrors
|
25
|
-
rules
|
26
|
-
|
27
|
-
error: boolean;
|
28
|
-
disabled: boolean;
|
29
|
-
readonly: boolean;
|
30
|
-
focused: boolean;
|
31
|
-
errorMessages: string | string[];
|
32
|
-
maxErrors: string | number;
|
33
|
-
rules: ValidationRule[];
|
34
|
-
} & {
|
18
|
+
$props: {
|
19
|
+
error?: boolean | undefined;
|
20
|
+
disabled?: boolean | undefined;
|
21
|
+
readonly?: boolean | undefined;
|
22
|
+
focused?: boolean | undefined;
|
23
|
+
errorMessages?: string | string[] | undefined;
|
24
|
+
maxErrors?: string | number | undefined;
|
25
|
+
rules?: ValidationRule[] | undefined;
|
26
|
+
key?: string | number | symbol | undefined;
|
35
27
|
name?: string | undefined;
|
36
28
|
label?: string | undefined;
|
29
|
+
style?: unknown;
|
30
|
+
class?: unknown;
|
31
|
+
$children?: vue.VNodeChild | {
|
32
|
+
default?: ((args_0: {
|
33
|
+
errorMessages: vue.ComputedRef<string[]>;
|
34
|
+
isDirty: vue.ComputedRef<boolean>;
|
35
|
+
isDisabled: vue.ComputedRef<boolean>;
|
36
|
+
isReadonly: vue.ComputedRef<boolean>;
|
37
|
+
isPristine: vue.ShallowRef<boolean>;
|
38
|
+
isValid: vue.ComputedRef<boolean | null>;
|
39
|
+
isValidating: vue.ShallowRef<boolean>;
|
40
|
+
reset: () => void;
|
41
|
+
resetValidation: () => void;
|
42
|
+
validate: () => Promise<string[]>;
|
43
|
+
validationClasses: vue.ComputedRef<{
|
44
|
+
[x: string]: boolean;
|
45
|
+
}>;
|
46
|
+
}) => vue.VNodeChild) | undefined;
|
47
|
+
} | ((args_0: {
|
48
|
+
errorMessages: vue.ComputedRef<string[]>;
|
49
|
+
isDirty: vue.ComputedRef<boolean>;
|
50
|
+
isDisabled: vue.ComputedRef<boolean>;
|
51
|
+
isReadonly: vue.ComputedRef<boolean>;
|
52
|
+
isPristine: vue.ShallowRef<boolean>;
|
53
|
+
isValid: vue.ComputedRef<boolean | null>;
|
54
|
+
isValidating: vue.ShallowRef<boolean>;
|
55
|
+
reset: () => void;
|
56
|
+
resetValidation: () => void;
|
57
|
+
validate: () => Promise<string[]>;
|
58
|
+
validationClasses: vue.ComputedRef<{
|
59
|
+
[x: string]: boolean;
|
60
|
+
}>;
|
61
|
+
}) => vue.VNodeChild);
|
62
|
+
ref?: vue.VNodeRef | undefined;
|
63
|
+
ref_for?: boolean | undefined;
|
64
|
+
ref_key?: string | undefined;
|
65
|
+
"v-slot:default"?: false | ((args_0: {
|
66
|
+
errorMessages: vue.ComputedRef<string[]>;
|
67
|
+
isDirty: vue.ComputedRef<boolean>;
|
68
|
+
isDisabled: vue.ComputedRef<boolean>;
|
69
|
+
isReadonly: vue.ComputedRef<boolean>;
|
70
|
+
isPristine: vue.ShallowRef<boolean>;
|
71
|
+
isValid: vue.ComputedRef<boolean | null>;
|
72
|
+
isValidating: vue.ShallowRef<boolean>;
|
73
|
+
reset: () => void;
|
74
|
+
resetValidation: () => void;
|
75
|
+
validate: () => Promise<string[]>;
|
76
|
+
validationClasses: vue.ComputedRef<{
|
77
|
+
[x: string]: boolean;
|
78
|
+
}>;
|
79
|
+
}) => vue.VNodeChild) | undefined;
|
80
|
+
'v-slots'?: {
|
81
|
+
default?: false | ((args_0: {
|
82
|
+
errorMessages: vue.ComputedRef<string[]>;
|
83
|
+
isDirty: vue.ComputedRef<boolean>;
|
84
|
+
isDisabled: vue.ComputedRef<boolean>;
|
85
|
+
isReadonly: vue.ComputedRef<boolean>;
|
86
|
+
isPristine: vue.ShallowRef<boolean>;
|
87
|
+
isValid: vue.ComputedRef<boolean | null>;
|
88
|
+
isValidating: vue.ShallowRef<boolean>;
|
89
|
+
reset: () => void;
|
90
|
+
resetValidation: () => void;
|
91
|
+
validate: () => Promise<string[]>;
|
92
|
+
validationClasses: vue.ComputedRef<{
|
93
|
+
[x: string]: boolean;
|
94
|
+
}>;
|
95
|
+
}) => vue.VNodeChild) | undefined;
|
96
|
+
} | undefined;
|
97
|
+
onVnodeBeforeMount?: ((vnode: vue.VNode<vue.RendererNode, vue.RendererElement, {
|
98
|
+
[key: string]: any;
|
99
|
+
}>) => void) | ((vnode: vue.VNode<vue.RendererNode, vue.RendererElement, {
|
100
|
+
[key: string]: any;
|
101
|
+
}>) => void)[] | undefined;
|
102
|
+
onVnodeMounted?: ((vnode: vue.VNode<vue.RendererNode, vue.RendererElement, {
|
103
|
+
[key: string]: any;
|
104
|
+
}>) => void) | ((vnode: vue.VNode<vue.RendererNode, vue.RendererElement, {
|
105
|
+
[key: string]: any;
|
106
|
+
}>) => void)[] | undefined;
|
107
|
+
onVnodeBeforeUpdate?: ((vnode: vue.VNode<vue.RendererNode, vue.RendererElement, {
|
108
|
+
[key: string]: any;
|
109
|
+
}>, oldVNode: vue.VNode<vue.RendererNode, vue.RendererElement, {
|
110
|
+
[key: string]: any;
|
111
|
+
}>) => void) | ((vnode: vue.VNode<vue.RendererNode, vue.RendererElement, {
|
112
|
+
[key: string]: any;
|
113
|
+
}>, oldVNode: vue.VNode<vue.RendererNode, vue.RendererElement, {
|
114
|
+
[key: string]: any;
|
115
|
+
}>) => void)[] | undefined;
|
116
|
+
onVnodeUpdated?: ((vnode: vue.VNode<vue.RendererNode, vue.RendererElement, {
|
117
|
+
[key: string]: any;
|
118
|
+
}>, oldVNode: vue.VNode<vue.RendererNode, vue.RendererElement, {
|
119
|
+
[key: string]: any;
|
120
|
+
}>) => void) | ((vnode: vue.VNode<vue.RendererNode, vue.RendererElement, {
|
121
|
+
[key: string]: any;
|
122
|
+
}>, oldVNode: vue.VNode<vue.RendererNode, vue.RendererElement, {
|
123
|
+
[key: string]: any;
|
124
|
+
}>) => void)[] | undefined;
|
125
|
+
onVnodeBeforeUnmount?: ((vnode: vue.VNode<vue.RendererNode, vue.RendererElement, {
|
126
|
+
[key: string]: any;
|
127
|
+
}>) => void) | ((vnode: vue.VNode<vue.RendererNode, vue.RendererElement, {
|
128
|
+
[key: string]: any;
|
129
|
+
}>) => void)[] | undefined;
|
130
|
+
onVnodeUnmounted?: ((vnode: vue.VNode<vue.RendererNode, vue.RendererElement, {
|
131
|
+
[key: string]: any;
|
132
|
+
}>) => void) | ((vnode: vue.VNode<vue.RendererNode, vue.RendererElement, {
|
133
|
+
[key: string]: any;
|
134
|
+
}>) => void)[] | undefined;
|
37
135
|
modelValue?: any;
|
136
|
+
"onUpdate:modelValue"?: ((val: any) => any) | undefined;
|
38
137
|
'onUpdate:focused'?: EventProp<[boolean], (args_0: boolean) => any> | undefined;
|
39
138
|
validateOn?: "input" | "blur" | "submit" | undefined;
|
40
139
|
validationValue?: any;
|
41
|
-
}
|
42
|
-
$children?: vue.VNodeChild | (() => vue.VNodeChild) | {
|
43
|
-
default?: (() => vue.VNodeChild) | undefined;
|
44
|
-
};
|
45
|
-
'v-slots'?: {
|
46
|
-
default?: false | (() => vue.VNodeChild) | undefined;
|
47
|
-
} | undefined;
|
48
|
-
} & {
|
49
|
-
"v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
|
50
|
-
} & {
|
51
|
-
"onUpdate:modelValue"?: ((val: any) => any) | undefined;
|
52
|
-
} & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, "error" | "disabled" | "readonly" | "focused" | "errorMessages" | "maxErrors" | "rules">;
|
140
|
+
};
|
53
141
|
$attrs: {
|
54
142
|
[x: string]: unknown;
|
55
143
|
};
|
@@ -57,10 +145,26 @@ declare const VValidation: {
|
|
57
145
|
[x: string]: unknown;
|
58
146
|
};
|
59
147
|
$slots: Readonly<{
|
60
|
-
|
148
|
+
default?: ((args_0: {
|
149
|
+
errorMessages: vue.ComputedRef<string[]>;
|
150
|
+
isDirty: vue.ComputedRef<boolean>;
|
151
|
+
isDisabled: vue.ComputedRef<boolean>;
|
152
|
+
isReadonly: vue.ComputedRef<boolean>;
|
153
|
+
isPristine: vue.ShallowRef<boolean>;
|
154
|
+
isValid: vue.ComputedRef<boolean | null>;
|
155
|
+
isValidating: vue.ShallowRef<boolean>;
|
156
|
+
reset: () => void;
|
157
|
+
resetValidation: () => void;
|
158
|
+
validate: () => Promise<string[]>;
|
159
|
+
validationClasses: vue.ComputedRef<{
|
160
|
+
[x: string]: boolean;
|
161
|
+
}>;
|
162
|
+
}) => vue.VNode<vue.RendererNode, vue.RendererElement, {
|
163
|
+
[key: string]: any;
|
164
|
+
}>[]) | undefined;
|
61
165
|
}>;
|
62
|
-
$root: vue.ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, vue.ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | null;
|
63
|
-
$parent: vue.ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, vue.ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | null;
|
166
|
+
$root: vue.ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, vue.ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}> | null;
|
167
|
+
$parent: vue.ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, vue.ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}> | null;
|
64
168
|
$emit: (event: "update:modelValue", val: any) => void;
|
65
169
|
$el: any;
|
66
170
|
$options: vue.ComponentOptionsBase<{
|
@@ -79,14 +183,70 @@ declare const VValidation: {
|
|
79
183
|
validateOn?: "input" | "blur" | "submit" | undefined;
|
80
184
|
validationValue?: any;
|
81
185
|
} & {
|
82
|
-
$children?: vue.VNodeChild |
|
83
|
-
default?: ((
|
84
|
-
|
186
|
+
$children?: vue.VNodeChild | {
|
187
|
+
default?: ((args_0: {
|
188
|
+
errorMessages: vue.ComputedRef<string[]>;
|
189
|
+
isDirty: vue.ComputedRef<boolean>;
|
190
|
+
isDisabled: vue.ComputedRef<boolean>;
|
191
|
+
isReadonly: vue.ComputedRef<boolean>;
|
192
|
+
isPristine: vue.ShallowRef<boolean>;
|
193
|
+
isValid: vue.ComputedRef<boolean | null>;
|
194
|
+
isValidating: vue.ShallowRef<boolean>;
|
195
|
+
reset: () => void;
|
196
|
+
resetValidation: () => void;
|
197
|
+
validate: () => Promise<string[]>;
|
198
|
+
validationClasses: vue.ComputedRef<{
|
199
|
+
[x: string]: boolean;
|
200
|
+
}>;
|
201
|
+
}) => vue.VNodeChild) | undefined;
|
202
|
+
} | ((args_0: {
|
203
|
+
errorMessages: vue.ComputedRef<string[]>;
|
204
|
+
isDirty: vue.ComputedRef<boolean>;
|
205
|
+
isDisabled: vue.ComputedRef<boolean>;
|
206
|
+
isReadonly: vue.ComputedRef<boolean>;
|
207
|
+
isPristine: vue.ShallowRef<boolean>;
|
208
|
+
isValid: vue.ComputedRef<boolean | null>;
|
209
|
+
isValidating: vue.ShallowRef<boolean>;
|
210
|
+
reset: () => void;
|
211
|
+
resetValidation: () => void;
|
212
|
+
validate: () => Promise<string[]>;
|
213
|
+
validationClasses: vue.ComputedRef<{
|
214
|
+
[x: string]: boolean;
|
215
|
+
}>;
|
216
|
+
}) => vue.VNodeChild);
|
85
217
|
'v-slots'?: {
|
86
|
-
default?: false | ((
|
218
|
+
default?: false | ((args_0: {
|
219
|
+
errorMessages: vue.ComputedRef<string[]>;
|
220
|
+
isDirty: vue.ComputedRef<boolean>;
|
221
|
+
isDisabled: vue.ComputedRef<boolean>;
|
222
|
+
isReadonly: vue.ComputedRef<boolean>;
|
223
|
+
isPristine: vue.ShallowRef<boolean>;
|
224
|
+
isValid: vue.ComputedRef<boolean | null>;
|
225
|
+
isValidating: vue.ShallowRef<boolean>;
|
226
|
+
reset: () => void;
|
227
|
+
resetValidation: () => void;
|
228
|
+
validate: () => Promise<string[]>;
|
229
|
+
validationClasses: vue.ComputedRef<{
|
230
|
+
[x: string]: boolean;
|
231
|
+
}>;
|
232
|
+
}) => vue.VNodeChild) | undefined;
|
87
233
|
} | undefined;
|
88
234
|
} & {
|
89
|
-
"v-slot:default"?: false | ((
|
235
|
+
"v-slot:default"?: false | ((args_0: {
|
236
|
+
errorMessages: vue.ComputedRef<string[]>;
|
237
|
+
isDirty: vue.ComputedRef<boolean>;
|
238
|
+
isDisabled: vue.ComputedRef<boolean>;
|
239
|
+
isReadonly: vue.ComputedRef<boolean>;
|
240
|
+
isPristine: vue.ShallowRef<boolean>;
|
241
|
+
isValid: vue.ComputedRef<boolean | null>;
|
242
|
+
isValidating: vue.ShallowRef<boolean>;
|
243
|
+
reset: () => void;
|
244
|
+
resetValidation: () => void;
|
245
|
+
validate: () => Promise<string[]>;
|
246
|
+
validationClasses: vue.ComputedRef<{
|
247
|
+
[x: string]: boolean;
|
248
|
+
}>;
|
249
|
+
}) => vue.VNodeChild) | undefined;
|
90
250
|
} & {
|
91
251
|
"onUpdate:modelValue"?: ((val: any) => any) | undefined;
|
92
252
|
}, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
|
@@ -101,7 +261,25 @@ declare const VValidation: {
|
|
101
261
|
errorMessages: string | string[];
|
102
262
|
maxErrors: string | number;
|
103
263
|
rules: ValidationRule[];
|
104
|
-
}, {}, string
|
264
|
+
}, {}, string, vue.SlotsType<Partial<{
|
265
|
+
default: (args_0: {
|
266
|
+
errorMessages: vue.ComputedRef<string[]>;
|
267
|
+
isDirty: vue.ComputedRef<boolean>;
|
268
|
+
isDisabled: vue.ComputedRef<boolean>;
|
269
|
+
isReadonly: vue.ComputedRef<boolean>;
|
270
|
+
isPristine: vue.ShallowRef<boolean>;
|
271
|
+
isValid: vue.ComputedRef<boolean | null>;
|
272
|
+
isValidating: vue.ShallowRef<boolean>;
|
273
|
+
reset: () => void;
|
274
|
+
resetValidation: () => void;
|
275
|
+
validate: () => Promise<string[]>;
|
276
|
+
validationClasses: vue.ComputedRef<{
|
277
|
+
[x: string]: boolean;
|
278
|
+
}>;
|
279
|
+
}) => vue.VNode<vue.RendererNode, vue.RendererElement, {
|
280
|
+
[key: string]: any;
|
281
|
+
}>[];
|
282
|
+
}>>> & {
|
105
283
|
beforeCreate?: ((() => void) | (() => void)[]) | undefined;
|
106
284
|
created?: ((() => void) | (() => void)[]) | undefined;
|
107
285
|
beforeMount?: ((() => void) | (() => void)[]) | undefined;
|
@@ -116,7 +294,7 @@ declare const VValidation: {
|
|
116
294
|
unmounted?: ((() => void) | (() => void)[]) | undefined;
|
117
295
|
renderTracked?: (((e: vue.DebuggerEvent) => void) | ((e: vue.DebuggerEvent) => void)[]) | undefined;
|
118
296
|
renderTriggered?: (((e: vue.DebuggerEvent) => void) | ((e: vue.DebuggerEvent) => void)[]) | undefined;
|
119
|
-
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;
|
297
|
+
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;
|
120
298
|
};
|
121
299
|
$forceUpdate: () => void;
|
122
300
|
$nextTick: typeof vue.nextTick;
|
@@ -137,14 +315,70 @@ declare const VValidation: {
|
|
137
315
|
validateOn?: "input" | "blur" | "submit" | undefined;
|
138
316
|
validationValue?: any;
|
139
317
|
} & {
|
140
|
-
$children?: vue.VNodeChild |
|
141
|
-
default?: ((
|
142
|
-
|
318
|
+
$children?: vue.VNodeChild | {
|
319
|
+
default?: ((args_0: {
|
320
|
+
errorMessages: vue.ComputedRef<string[]>;
|
321
|
+
isDirty: vue.ComputedRef<boolean>;
|
322
|
+
isDisabled: vue.ComputedRef<boolean>;
|
323
|
+
isReadonly: vue.ComputedRef<boolean>;
|
324
|
+
isPristine: vue.ShallowRef<boolean>;
|
325
|
+
isValid: vue.ComputedRef<boolean | null>;
|
326
|
+
isValidating: vue.ShallowRef<boolean>;
|
327
|
+
reset: () => void;
|
328
|
+
resetValidation: () => void;
|
329
|
+
validate: () => Promise<string[]>;
|
330
|
+
validationClasses: vue.ComputedRef<{
|
331
|
+
[x: string]: boolean;
|
332
|
+
}>;
|
333
|
+
}) => vue.VNodeChild) | undefined;
|
334
|
+
} | ((args_0: {
|
335
|
+
errorMessages: vue.ComputedRef<string[]>;
|
336
|
+
isDirty: vue.ComputedRef<boolean>;
|
337
|
+
isDisabled: vue.ComputedRef<boolean>;
|
338
|
+
isReadonly: vue.ComputedRef<boolean>;
|
339
|
+
isPristine: vue.ShallowRef<boolean>;
|
340
|
+
isValid: vue.ComputedRef<boolean | null>;
|
341
|
+
isValidating: vue.ShallowRef<boolean>;
|
342
|
+
reset: () => void;
|
343
|
+
resetValidation: () => void;
|
344
|
+
validate: () => Promise<string[]>;
|
345
|
+
validationClasses: vue.ComputedRef<{
|
346
|
+
[x: string]: boolean;
|
347
|
+
}>;
|
348
|
+
}) => vue.VNodeChild);
|
143
349
|
'v-slots'?: {
|
144
|
-
default?: false | ((
|
350
|
+
default?: false | ((args_0: {
|
351
|
+
errorMessages: vue.ComputedRef<string[]>;
|
352
|
+
isDirty: vue.ComputedRef<boolean>;
|
353
|
+
isDisabled: vue.ComputedRef<boolean>;
|
354
|
+
isReadonly: vue.ComputedRef<boolean>;
|
355
|
+
isPristine: vue.ShallowRef<boolean>;
|
356
|
+
isValid: vue.ComputedRef<boolean | null>;
|
357
|
+
isValidating: vue.ShallowRef<boolean>;
|
358
|
+
reset: () => void;
|
359
|
+
resetValidation: () => void;
|
360
|
+
validate: () => Promise<string[]>;
|
361
|
+
validationClasses: vue.ComputedRef<{
|
362
|
+
[x: string]: boolean;
|
363
|
+
}>;
|
364
|
+
}) => vue.VNodeChild) | undefined;
|
145
365
|
} | undefined;
|
146
366
|
} & {
|
147
|
-
"v-slot:default"?: false | ((
|
367
|
+
"v-slot:default"?: false | ((args_0: {
|
368
|
+
errorMessages: vue.ComputedRef<string[]>;
|
369
|
+
isDirty: vue.ComputedRef<boolean>;
|
370
|
+
isDisabled: vue.ComputedRef<boolean>;
|
371
|
+
isReadonly: vue.ComputedRef<boolean>;
|
372
|
+
isPristine: vue.ShallowRef<boolean>;
|
373
|
+
isValid: vue.ComputedRef<boolean | null>;
|
374
|
+
isValidating: vue.ShallowRef<boolean>;
|
375
|
+
reset: () => void;
|
376
|
+
resetValidation: () => void;
|
377
|
+
validate: () => Promise<string[]>;
|
378
|
+
validationClasses: vue.ComputedRef<{
|
379
|
+
[x: string]: boolean;
|
380
|
+
}>;
|
381
|
+
}) => vue.VNodeChild) | undefined;
|
148
382
|
} & {
|
149
383
|
"onUpdate:modelValue"?: ((val: any) => any) | undefined;
|
150
384
|
} & vue.ShallowUnwrapRef<() => vue.VNode<vue.RendererNode, vue.RendererElement, {
|
@@ -169,14 +403,70 @@ declare const VValidation: {
|
|
169
403
|
validateOn?: "input" | "blur" | "submit" | undefined;
|
170
404
|
validationValue?: any;
|
171
405
|
} & {
|
172
|
-
$children?: vue.VNodeChild |
|
173
|
-
default?: ((
|
174
|
-
|
406
|
+
$children?: vue.VNodeChild | {
|
407
|
+
default?: ((args_0: {
|
408
|
+
errorMessages: vue.ComputedRef<string[]>;
|
409
|
+
isDirty: vue.ComputedRef<boolean>;
|
410
|
+
isDisabled: vue.ComputedRef<boolean>;
|
411
|
+
isReadonly: vue.ComputedRef<boolean>;
|
412
|
+
isPristine: vue.ShallowRef<boolean>;
|
413
|
+
isValid: vue.ComputedRef<boolean | null>;
|
414
|
+
isValidating: vue.ShallowRef<boolean>;
|
415
|
+
reset: () => void;
|
416
|
+
resetValidation: () => void;
|
417
|
+
validate: () => Promise<string[]>;
|
418
|
+
validationClasses: vue.ComputedRef<{
|
419
|
+
[x: string]: boolean;
|
420
|
+
}>;
|
421
|
+
}) => vue.VNodeChild) | undefined;
|
422
|
+
} | ((args_0: {
|
423
|
+
errorMessages: vue.ComputedRef<string[]>;
|
424
|
+
isDirty: vue.ComputedRef<boolean>;
|
425
|
+
isDisabled: vue.ComputedRef<boolean>;
|
426
|
+
isReadonly: vue.ComputedRef<boolean>;
|
427
|
+
isPristine: vue.ShallowRef<boolean>;
|
428
|
+
isValid: vue.ComputedRef<boolean | null>;
|
429
|
+
isValidating: vue.ShallowRef<boolean>;
|
430
|
+
reset: () => void;
|
431
|
+
resetValidation: () => void;
|
432
|
+
validate: () => Promise<string[]>;
|
433
|
+
validationClasses: vue.ComputedRef<{
|
434
|
+
[x: string]: boolean;
|
435
|
+
}>;
|
436
|
+
}) => vue.VNodeChild);
|
175
437
|
'v-slots'?: {
|
176
|
-
default?: false | ((
|
438
|
+
default?: false | ((args_0: {
|
439
|
+
errorMessages: vue.ComputedRef<string[]>;
|
440
|
+
isDirty: vue.ComputedRef<boolean>;
|
441
|
+
isDisabled: vue.ComputedRef<boolean>;
|
442
|
+
isReadonly: vue.ComputedRef<boolean>;
|
443
|
+
isPristine: vue.ShallowRef<boolean>;
|
444
|
+
isValid: vue.ComputedRef<boolean | null>;
|
445
|
+
isValidating: vue.ShallowRef<boolean>;
|
446
|
+
reset: () => void;
|
447
|
+
resetValidation: () => void;
|
448
|
+
validate: () => Promise<string[]>;
|
449
|
+
validationClasses: vue.ComputedRef<{
|
450
|
+
[x: string]: boolean;
|
451
|
+
}>;
|
452
|
+
}) => vue.VNodeChild) | undefined;
|
177
453
|
} | undefined;
|
178
454
|
} & {
|
179
|
-
"v-slot:default"?: false | ((
|
455
|
+
"v-slot:default"?: false | ((args_0: {
|
456
|
+
errorMessages: vue.ComputedRef<string[]>;
|
457
|
+
isDirty: vue.ComputedRef<boolean>;
|
458
|
+
isDisabled: vue.ComputedRef<boolean>;
|
459
|
+
isReadonly: vue.ComputedRef<boolean>;
|
460
|
+
isPristine: vue.ShallowRef<boolean>;
|
461
|
+
isValid: vue.ComputedRef<boolean | null>;
|
462
|
+
isValidating: vue.ShallowRef<boolean>;
|
463
|
+
reset: () => void;
|
464
|
+
resetValidation: () => void;
|
465
|
+
validate: () => Promise<string[]>;
|
466
|
+
validationClasses: vue.ComputedRef<{
|
467
|
+
[x: string]: boolean;
|
468
|
+
}>;
|
469
|
+
}) => vue.VNodeChild) | undefined;
|
180
470
|
} & {
|
181
471
|
"onUpdate:modelValue"?: ((val: any) => any) | undefined;
|
182
472
|
}, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
|
@@ -191,7 +481,25 @@ declare const VValidation: {
|
|
191
481
|
errorMessages: string | string[];
|
192
482
|
maxErrors: string | number;
|
193
483
|
rules: ValidationRule[];
|
194
|
-
}, {}, string
|
484
|
+
}, {}, string, vue.SlotsType<Partial<{
|
485
|
+
default: (args_0: {
|
486
|
+
errorMessages: vue.ComputedRef<string[]>;
|
487
|
+
isDirty: vue.ComputedRef<boolean>;
|
488
|
+
isDisabled: vue.ComputedRef<boolean>;
|
489
|
+
isReadonly: vue.ComputedRef<boolean>;
|
490
|
+
isPristine: vue.ShallowRef<boolean>;
|
491
|
+
isValid: vue.ComputedRef<boolean | null>;
|
492
|
+
isValidating: vue.ShallowRef<boolean>;
|
493
|
+
reset: () => void;
|
494
|
+
resetValidation: () => void;
|
495
|
+
validate: () => Promise<string[]>;
|
496
|
+
validationClasses: vue.ComputedRef<{
|
497
|
+
[x: string]: boolean;
|
498
|
+
}>;
|
499
|
+
}) => vue.VNode<vue.RendererNode, vue.RendererElement, {
|
500
|
+
[key: string]: any;
|
501
|
+
}>[];
|
502
|
+
}>>> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & FilterPropsOptions<{
|
195
503
|
focused: BooleanConstructor;
|
196
504
|
'onUpdate:focused': vue.PropType<EventProp<[boolean], (args_0: boolean) => any>>;
|
197
505
|
disabled: BooleanConstructor;
|
@@ -8,27 +8,28 @@ import { makeComponentProps } from "../../composables/component.mjs";
|
|
8
8
|
import { makeDimensionProps, useDimension } from "../../composables/dimensions.mjs";
|
9
9
|
import { useDisplay } from "../../composables/display.mjs";
|
10
10
|
import { useResizeObserver } from "../../composables/resizeObserver.mjs"; // Utilities
|
11
|
-
import { computed, onMounted, ref, watch, watchEffect } from 'vue';
|
12
|
-
import { clamp, convertToUnit, createRange, genericComponent, useRender } from "../../util/index.mjs"; // Types
|
11
|
+
import { computed, onMounted, ref, shallowRef, watch, watchEffect } from 'vue';
|
12
|
+
import { clamp, convertToUnit, createRange, genericComponent, propsFactory, useRender } from "../../util/index.mjs"; // Types
|
13
13
|
const UP = -1;
|
14
14
|
const DOWN = 1;
|
15
|
+
export const makeVVirtualScrollProps = propsFactory({
|
16
|
+
items: {
|
17
|
+
type: Array,
|
18
|
+
default: () => []
|
19
|
+
},
|
20
|
+
itemHeight: [Number, String],
|
21
|
+
...makeComponentProps(),
|
22
|
+
...makeDimensionProps()
|
23
|
+
}, 'v-virtual-scroll');
|
15
24
|
export const VVirtualScroll = genericComponent()({
|
16
25
|
name: 'VVirtualScroll',
|
17
|
-
props:
|
18
|
-
items: {
|
19
|
-
type: Array,
|
20
|
-
default: () => []
|
21
|
-
},
|
22
|
-
itemHeight: [Number, String],
|
23
|
-
...makeComponentProps(),
|
24
|
-
...makeDimensionProps()
|
25
|
-
},
|
26
|
+
props: makeVVirtualScrollProps(),
|
26
27
|
setup(props, _ref) {
|
27
28
|
let {
|
28
29
|
slots
|
29
30
|
} = _ref;
|
30
|
-
const first =
|
31
|
-
const baseItemHeight =
|
31
|
+
const first = shallowRef(0);
|
32
|
+
const baseItemHeight = shallowRef(props.itemHeight);
|
32
33
|
const itemHeight = computed({
|
33
34
|
get: () => parseInt(baseItemHeight.value ?? 0, 10),
|
34
35
|
set(val) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"VVirtualScroll.mjs","names":["VVirtualScrollItem","makeComponentProps","makeDimensionProps","useDimension","useDisplay","useResizeObserver","computed","onMounted","ref","watch","watchEffect","clamp","convertToUnit","createRange","genericComponent","useRender","UP","DOWN","VVirtualScroll","name","props","items","type","Array","default","itemHeight","Number","String","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, watch, watchEffect } from 'vue'\nimport {\n clamp,\n convertToUnit,\n createRange,\n genericComponent,\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 VVirtualScroll = genericComponent<new <T>(props: {\n items?: readonly T[]\n}) => GenericProps<typeof props, {\n default: [VVirtualScrollSlot<T>]\n}>>()({\n name: 'VVirtualScroll',\n\n props: {\n items: {\n type: Array,\n default: () => ([]),\n },\n itemHeight: [Number, String],\n\n ...makeComponentProps(),\n ...makeDimensionProps(),\n },\n\n setup (props, { slots }) {\n const first = ref(0)\n const baseItemHeight = ref(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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"}
|
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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"}
|
@@ -3,14 +3,15 @@ import { createVNode as _createVNode } from "vue";
|
|
3
3
|
import { makeComponentProps } from "../../composables/component.mjs";
|
4
4
|
import { useResizeObserver } from "../../composables/resizeObserver.mjs";
|
5
5
|
import { useToggleScope } from "../../composables/toggleScope.mjs"; // Utilities
|
6
|
-
import { genericComponent, useRender } from "../../util/index.mjs";
|
6
|
+
import { genericComponent, propsFactory, useRender } from "../../util/index.mjs";
|
7
7
|
import { onUpdated, watch } from 'vue';
|
8
|
+
export const makeVVirtualScrollItemProps = propsFactory({
|
9
|
+
dynamicHeight: Boolean,
|
10
|
+
...makeComponentProps()
|
11
|
+
}, 'v-virtual-scroll-item');
|
8
12
|
export const VVirtualScrollItem = genericComponent()({
|
9
13
|
name: 'VVirtualScrollItem',
|
10
|
-
props:
|
11
|
-
dynamicHeight: Boolean,
|
12
|
-
...makeComponentProps()
|
13
|
-
},
|
14
|
+
props: makeVVirtualScrollItemProps(),
|
14
15
|
emits: {
|
15
16
|
'update:height': height => true
|
16
17
|
},
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"VVirtualScrollItem.mjs","names":["makeComponentProps","useResizeObserver","useToggleScope","genericComponent","useRender","onUpdated","watch","
|
1
|
+
{"version":3,"file":"VVirtualScrollItem.mjs","names":["makeComponentProps","useResizeObserver","useToggleScope","genericComponent","propsFactory","useRender","onUpdated","watch","makeVVirtualScrollItemProps","dynamicHeight","Boolean","VVirtualScrollItem","name","props","emits","height","setup","_ref","emit","slots","resizeRef","contentRect","value","updateHeight","_createVNode","undefined","class","style","default"],"sources":["../../../src/components/VVirtualScroll/VVirtualScrollItem.tsx"],"sourcesContent":["// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { useResizeObserver } from '@/composables/resizeObserver'\nimport { useToggleScope } from '@/composables/toggleScope'\n\n// Utilities\nimport { genericComponent, propsFactory, useRender } from '@/util'\nimport { onUpdated, watch } from 'vue'\n\nexport const makeVVirtualScrollItemProps = propsFactory({\n dynamicHeight: Boolean,\n\n ...makeComponentProps(),\n}, 'v-virtual-scroll-item')\n\nexport const VVirtualScrollItem = genericComponent()({\n name: 'VVirtualScrollItem',\n\n props: makeVVirtualScrollItemProps(),\n\n emits: {\n 'update:height': (height: number) => true,\n },\n\n setup (props, { emit, slots }) {\n const { resizeRef, contentRect } = useResizeObserver()\n\n useToggleScope(() => props.dynamicHeight, () => {\n watch(() => contentRect.value?.height, height => {\n if (height != null) emit('update:height', height)\n })\n })\n\n function updateHeight () {\n if (props.dynamicHeight && contentRect.value) {\n emit('update:height', contentRect.value.height)\n }\n }\n\n onUpdated(updateHeight)\n\n useRender(() => (\n <div\n ref={ props.dynamicHeight ? resizeRef : undefined }\n class={[\n 'v-virtual-scroll__item',\n props.class,\n ]}\n style={ props.style }\n >\n { slots.default?.() }\n </div>\n ))\n },\n})\n"],"mappings":";AAAA;AAAA,SACSA,kBAAkB;AAAA,SAClBC,iBAAiB;AAAA,SACjBC,cAAc,6CAEvB;AAAA,SACSC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS;AAClD,SAASC,SAAS,EAAEC,KAAK,QAAQ,KAAK;AAEtC,OAAO,MAAMC,2BAA2B,GAAGJ,YAAY,CAAC;EACtDK,aAAa,EAAEC,OAAO;EAEtB,GAAGV,kBAAkB;AACvB,CAAC,EAAE,uBAAuB,CAAC;AAE3B,OAAO,MAAMW,kBAAkB,GAAGR,gBAAgB,EAAE,CAAC;EACnDS,IAAI,EAAE,oBAAoB;EAE1BC,KAAK,EAAEL,2BAA2B,EAAE;EAEpCM,KAAK,EAAE;IACL,eAAe,EAAGC,MAAc,IAAK;EACvC,CAAC;EAEDC,KAAKA,CAAEH,KAAK,EAAAI,IAAA,EAAmB;IAAA,IAAjB;MAAEC,IAAI;MAAEC;IAAM,CAAC,GAAAF,IAAA;IAC3B,MAAM;MAAEG,SAAS;MAAEC;IAAY,CAAC,GAAGpB,iBAAiB,EAAE;IAEtDC,cAAc,CAAC,MAAMW,KAAK,CAACJ,aAAa,EAAE,MAAM;MAC9CF,KAAK,CAAC,MAAMc,WAAW,CAACC,KAAK,EAAEP,MAAM,EAAEA,MAAM,IAAI;QAC/C,IAAIA,MAAM,IAAI,IAAI,EAAEG,IAAI,CAAC,eAAe,EAAEH,MAAM,CAAC;MACnD,CAAC,CAAC;IACJ,CAAC,CAAC;IAEF,SAASQ,YAAYA,CAAA,EAAI;MACvB,IAAIV,KAAK,CAACJ,aAAa,IAAIY,WAAW,CAACC,KAAK,EAAE;QAC5CJ,IAAI,CAAC,eAAe,EAAEG,WAAW,CAACC,KAAK,CAACP,MAAM,CAAC;MACjD;IACF;IAEAT,SAAS,CAACiB,YAAY,CAAC;IAEvBlB,SAAS,CAAC,MAAAmB,YAAA;MAAA,OAEAX,KAAK,CAACJ,aAAa,GAAGW,SAAS,GAAGK,SAAS;MAAA,SAC1C,CACL,wBAAwB,EACxBZ,KAAK,CAACa,KAAK,CACZ;MAAA,SACOb,KAAK,CAACc;IAAK,IAEjBR,KAAK,CAACS,OAAO,IAAI,EAEtB,CAAC;EACJ;AACF,CAAC,CAAC"}
|