@vuetify/nightly 4.0.0-dev-20230422.0 → 4.0.0-dev-20230427.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 +11 -2
- package/dist/_component-variables-labs.sass +1 -0
- package/dist/json/attributes.json +274 -198
- package/dist/json/importMap-labs.json +4 -0
- package/dist/json/importMap.json +60 -60
- package/dist/json/tags.json +25 -1
- package/dist/json/web-types.json +624 -344
- package/dist/vuetify-labs.css +110 -86
- package/dist/vuetify-labs.d.ts +5976 -8072
- package/dist/vuetify-labs.esm.js +1499 -1093
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +1498 -1092
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +21 -22
- package/dist/vuetify.d.ts +5999 -7524
- package/dist/vuetify.esm.js +1255 -1066
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +1254 -1065
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +744 -739
- package/dist/vuetify.min.js.map +1 -1
- package/lib/blueprints/index.d.ts +1 -1
- package/lib/blueprints/md1.d.ts +1 -1
- package/lib/blueprints/md2.d.ts +1 -1
- package/lib/blueprints/md3.d.ts +1 -1
- package/lib/components/VAlert/VAlert.mjs +6 -4
- package/lib/components/VAlert/VAlert.mjs.map +1 -1
- package/lib/components/VAlert/index.d.ts +57 -55
- package/lib/components/VApp/VApp.mjs +4 -2
- package/lib/components/VApp/VApp.mjs.map +1 -1
- package/lib/components/VApp/index.d.ts +22 -13
- package/lib/components/VAppBar/VAppBar.mjs +3 -3
- package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
- package/lib/components/VAppBar/VAppBarNavIcon.mjs +7 -4
- package/lib/components/VAppBar/VAppBarNavIcon.mjs.map +1 -1
- package/lib/components/VAppBar/index.d.ts +87 -92
- package/lib/components/VAutocomplete/VAutocomplete.mjs +2 -1
- package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
- package/lib/components/VAutocomplete/index.d.ts +225 -403
- package/lib/components/VAvatar/VAvatar.mjs +4 -2
- package/lib/components/VAvatar/VAvatar.mjs.map +1 -1
- package/lib/components/VAvatar/index.d.ts +23 -14
- package/lib/components/VBadge/VBadge.mjs +6 -5
- package/lib/components/VBadge/VBadge.mjs.map +1 -1
- package/lib/components/VBadge/index.d.ts +27 -22
- package/lib/components/VBanner/VBanner.mjs +6 -4
- package/lib/components/VBanner/VBanner.mjs.map +1 -1
- package/lib/components/VBanner/VBannerActions.mjs +5 -2
- package/lib/components/VBanner/VBannerActions.mjs.map +1 -1
- package/lib/components/VBanner/index.d.ts +92 -66
- package/lib/components/VBottomNavigation/VBottomNavigation.mjs +4 -2
- package/lib/components/VBottomNavigation/VBottomNavigation.mjs.map +1 -1
- package/lib/components/VBottomNavigation/index.d.ts +22 -13
- package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs +35 -18
- package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs.map +1 -1
- package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.mjs +6 -3
- package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.mjs.map +1 -1
- package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs +4 -2
- package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs.map +1 -1
- package/lib/components/VBreadcrumbs/index.d.ts +134 -93
- package/lib/components/VBtn/VBtn.mjs +5 -3
- package/lib/components/VBtn/VBtn.mjs.map +1 -1
- package/lib/components/VBtn/index.d.ts +33 -36
- package/lib/components/VBtnGroup/VBtnGroup.mjs +4 -1
- package/lib/components/VBtnGroup/VBtnGroup.mjs.map +1 -1
- package/lib/components/VBtnGroup/index.d.ts +22 -13
- package/lib/components/VBtnToggle/VBtnToggle.mjs +4 -2
- package/lib/components/VBtnToggle/VBtnToggle.mjs.map +1 -1
- package/lib/components/VBtnToggle/index.d.ts +30 -21
- package/lib/components/VCard/VCard.mjs +5 -3
- package/lib/components/VCard/VCard.mjs.map +1 -1
- package/lib/components/VCard/VCardActions.mjs +7 -4
- package/lib/components/VCard/VCardActions.mjs.map +1 -1
- package/lib/components/VCard/VCardItem.mjs +5 -2
- package/lib/components/VCard/VCardItem.mjs.map +1 -1
- package/lib/components/VCard/index.d.ts +250 -141
- package/lib/components/VCarousel/VCarousel.mjs +3 -3
- package/lib/components/VCarousel/VCarousel.mjs.map +1 -1
- package/lib/components/VCarousel/VCarouselItem.mjs +6 -3
- package/lib/components/VCarousel/VCarouselItem.mjs.map +1 -1
- package/lib/components/VCarousel/index.d.ts +78 -141
- package/lib/components/VCheckbox/VCheckbox.mjs +3 -2
- package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
- package/lib/components/VCheckbox/VCheckboxBtn.mjs +2 -1
- package/lib/components/VCheckbox/VCheckboxBtn.mjs.map +1 -1
- package/lib/components/VCheckbox/index.d.ts +69 -103
- package/lib/components/VChip/VChip.mjs +7 -8
- package/lib/components/VChip/VChip.mjs.map +1 -1
- package/lib/components/VChip/index.d.ts +27 -30
- package/lib/components/VChipGroup/VChipGroup.mjs +4 -1
- package/lib/components/VChipGroup/VChipGroup.mjs.map +1 -1
- package/lib/components/VChipGroup/index.d.ts +22 -13
- package/lib/components/VCode/index.d.ts +30 -17
- package/lib/components/VColorPicker/VColorPicker.mjs +3 -3
- package/lib/components/VColorPicker/VColorPicker.mjs.map +1 -1
- package/lib/components/VColorPicker/VColorPickerCanvas.mjs +5 -2
- package/lib/components/VColorPicker/VColorPickerCanvas.mjs.map +1 -1
- package/lib/components/VColorPicker/VColorPickerEdit.mjs +6 -3
- package/lib/components/VColorPicker/VColorPickerEdit.mjs.map +1 -1
- package/lib/components/VColorPicker/VColorPickerPreview.mjs +6 -3
- package/lib/components/VColorPicker/VColorPickerPreview.mjs.map +1 -1
- package/lib/components/VColorPicker/VColorPickerSwatches.mjs +7 -5
- package/lib/components/VColorPicker/VColorPickerSwatches.mjs.map +1 -1
- package/lib/components/VColorPicker/index.d.ts +34 -1
- package/lib/components/VCombobox/VCombobox.mjs +2 -1
- package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
- package/lib/components/VCombobox/index.d.ts +225 -403
- package/lib/components/VCounter/VCounter.mjs +4 -1
- package/lib/components/VCounter/VCounter.mjs.map +1 -1
- package/lib/components/VCounter/index.d.ts +22 -145
- package/lib/components/VDefaultsProvider/index.d.ts +0 -12
- package/lib/components/VDialog/VDialog.mjs +4 -3
- package/lib/components/VDialog/VDialog.mjs.map +1 -1
- package/lib/components/VDialog/index.d.ts +104 -282
- package/lib/components/VDivider/VDivider.mjs +4 -2
- package/lib/components/VDivider/VDivider.mjs.map +1 -1
- package/lib/components/VDivider/index.d.ts +22 -13
- package/lib/components/VExpansionPanel/VExpansionPanel.mjs +4 -2
- package/lib/components/VExpansionPanel/VExpansionPanel.mjs.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanelText.mjs +4 -1
- package/lib/components/VExpansionPanel/VExpansionPanelText.mjs.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs +4 -2
- package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanels.mjs +4 -1
- package/lib/components/VExpansionPanel/VExpansionPanels.mjs.map +1 -1
- package/lib/components/VExpansionPanel/index.d.ts +109 -81
- package/lib/components/VField/VField.css +0 -1
- package/lib/components/VField/VField.mjs +9 -6
- package/lib/components/VField/VField.mjs.map +1 -1
- package/lib/components/VField/VField.sass +0 -1
- package/lib/components/VField/VFieldLabel.mjs +6 -3
- package/lib/components/VField/VFieldLabel.mjs.map +1 -1
- package/lib/components/VField/index.d.ts +119 -70
- package/lib/components/VFileInput/VFileInput.mjs +2 -1
- package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
- package/lib/components/VFileInput/index.d.ts +99 -150
- package/lib/components/VFooter/VFooter.mjs +4 -2
- package/lib/components/VFooter/VFooter.mjs.map +1 -1
- package/lib/components/VFooter/index.d.ts +22 -13
- package/lib/components/VForm/VForm.mjs +5 -2
- package/lib/components/VForm/VForm.mjs.map +1 -1
- package/lib/components/VForm/index.d.ts +30 -17
- package/lib/components/VGrid/VCol.mjs +4 -1
- package/lib/components/VGrid/VCol.mjs.map +1 -1
- package/lib/components/VGrid/VContainer.mjs +4 -1
- package/lib/components/VGrid/VContainer.mjs.map +1 -1
- package/lib/components/VGrid/VRow.mjs +4 -1
- package/lib/components/VGrid/VRow.mjs.map +1 -1
- package/lib/components/VGrid/index.d.ts +104 -60
- package/lib/components/VHover/index.d.ts +20 -44
- package/lib/components/VIcon/VIcon.mjs +4 -2
- package/lib/components/VIcon/VIcon.mjs.map +1 -1
- package/lib/components/VIcon/index.d.ts +23 -26
- package/lib/components/VImg/VImg.mjs +5 -3
- package/lib/components/VImg/VImg.mjs.map +1 -1
- package/lib/components/VImg/index.d.ts +26 -29
- package/lib/components/VInput/VInput.mjs +4 -1
- package/lib/components/VInput/VInput.mjs.map +1 -1
- package/lib/components/VInput/index.d.ts +31 -34
- package/lib/components/VItemGroup/VItemGroup.mjs +4 -1
- package/lib/components/VItemGroup/VItemGroup.mjs.map +1 -1
- package/lib/components/VItemGroup/index.d.ts +30 -33
- package/lib/components/VKbd/index.d.ts +30 -17
- package/lib/components/VLabel/VLabel.mjs +4 -1
- package/lib/components/VLabel/VLabel.mjs.map +1 -1
- package/lib/components/VLabel/index.d.ts +22 -13
- package/lib/components/VLayout/VLayout.mjs +8 -4
- package/lib/components/VLayout/VLayout.mjs.map +1 -1
- package/lib/components/VLayout/VLayoutItem.mjs +4 -2
- package/lib/components/VLayout/VLayoutItem.mjs.map +1 -1
- package/lib/components/VLayout/index.d.ts +44 -26
- package/lib/components/VLazy/VLazy.mjs +4 -2
- package/lib/components/VLazy/VLazy.mjs.map +1 -1
- package/lib/components/VLazy/index.d.ts +22 -13
- package/lib/components/VList/VList.mjs +7 -24
- package/lib/components/VList/VList.mjs.map +1 -1
- package/lib/components/VList/VListChildren.mjs.map +1 -1
- package/lib/components/VList/VListGroup.mjs +5 -2
- package/lib/components/VList/VListGroup.mjs.map +1 -1
- package/lib/components/VList/VListItem.mjs +4 -2
- package/lib/components/VList/VListItem.mjs.map +1 -1
- package/lib/components/VList/VListItemAction.mjs +4 -1
- package/lib/components/VList/VListItemAction.mjs.map +1 -1
- package/lib/components/VList/VListItemMedia.mjs +4 -1
- package/lib/components/VList/VListItemMedia.mjs.map +1 -1
- package/lib/components/VList/VListSubheader.mjs +5 -3
- package/lib/components/VList/VListSubheader.mjs.map +1 -1
- package/lib/components/VList/index.d.ts +932 -826
- package/lib/components/VLocaleProvider/VLocaleProvider.mjs +5 -2
- package/lib/components/VLocaleProvider/VLocaleProvider.mjs.map +1 -1
- package/lib/components/VLocaleProvider/index.d.ts +30 -17
- package/lib/components/VMain/VMain.mjs +4 -2
- package/lib/components/VMain/VMain.mjs.map +1 -1
- package/lib/components/VMain/index.d.ts +30 -17
- package/lib/components/VMenu/VMenu.mjs +2 -1
- package/lib/components/VMenu/VMenu.mjs.map +1 -1
- package/lib/components/VMenu/index.d.ts +104 -282
- package/lib/components/VMessages/VMessages.mjs +4 -2
- package/lib/components/VMessages/VMessages.mjs.map +1 -1
- package/lib/components/VMessages/index.d.ts +22 -145
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +4 -2
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
- package/lib/components/VNavigationDrawer/index.d.ts +26 -29
- package/lib/components/VNoSsr/VNoSsr.mjs.map +1 -1
- package/lib/components/VNoSsr/index.d.ts +3 -13
- package/lib/components/VOverlay/VOverlay.mjs +5 -3
- package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
- package/lib/components/VOverlay/index.d.ts +38 -45
- package/lib/components/VPagination/VPagination.mjs +4 -1
- package/lib/components/VPagination/VPagination.mjs.map +1 -1
- package/lib/components/VPagination/index.d.ts +23 -30
- package/lib/components/VParallax/VParallax.mjs +5 -2
- package/lib/components/VParallax/VParallax.mjs.map +1 -1
- package/lib/components/VParallax/index.d.ts +34 -33
- package/lib/components/VProgressCircular/VProgressCircular.mjs +4 -2
- package/lib/components/VProgressCircular/VProgressCircular.mjs.map +1 -1
- package/lib/components/VProgressCircular/index.d.ts +22 -13
- package/lib/components/VProgressLinear/VProgressLinear.mjs +6 -4
- package/lib/components/VProgressLinear/VProgressLinear.mjs.map +1 -1
- package/lib/components/VProgressLinear/index.d.ts +42 -45
- package/lib/components/VRadio/VRadio.mjs +2 -1
- package/lib/components/VRadio/VRadio.mjs.map +1 -1
- package/lib/components/VRadio/index.d.ts +27 -38
- package/lib/components/VRadioGroup/VRadioGroup.mjs +2 -1
- package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
- package/lib/components/VRadioGroup/index.d.ts +39 -62
- package/lib/components/VRangeSlider/VRangeSlider.mjs +2 -1
- package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
- package/lib/components/VRangeSlider/index.d.ts +27 -38
- package/lib/components/VRating/VRating.mjs +4 -1
- package/lib/components/VRating/VRating.mjs.map +1 -1
- package/lib/components/VRating/index.d.ts +23 -18
- package/lib/components/VResponsive/VResponsive.mjs +4 -2
- package/lib/components/VResponsive/VResponsive.mjs.map +1 -1
- package/lib/components/VResponsive/index.d.ts +43 -31
- package/lib/components/VSelect/VSelect.mjs +2 -1
- package/lib/components/VSelect/VSelect.mjs.map +1 -1
- package/lib/components/VSelect/index.d.ts +194 -552
- package/lib/components/VSelectionControl/VSelectionControl.mjs +6 -2
- package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
- package/lib/components/VSelectionControl/index.d.ts +76 -46
- package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs +4 -1
- package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs.map +1 -1
- package/lib/components/VSelectionControlGroup/index.d.ts +23 -14
- package/lib/components/VSheet/VSheet.mjs +4 -2
- package/lib/components/VSheet/VSheet.mjs.map +1 -1
- package/lib/components/VSheet/index.d.ts +22 -13
- package/lib/components/VSlideGroup/VSlideGroup.mjs +6 -3
- package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
- package/lib/components/VSlideGroup/index.d.ts +59 -90
- package/lib/components/VSlider/VSlider.mjs +2 -1
- package/lib/components/VSlider/VSlider.mjs.map +1 -1
- package/lib/components/VSlider/VSliderThumb.mjs +6 -4
- package/lib/components/VSlider/VSliderThumb.mjs.map +1 -1
- package/lib/components/VSlider/VSliderTrack.mjs +6 -4
- package/lib/components/VSlider/VSliderTrack.mjs.map +1 -1
- package/lib/components/VSlider/index.d.ts +27 -38
- package/lib/components/VSnackbar/VSnackbar.mjs +2 -1
- package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
- package/lib/components/VSnackbar/index.d.ts +92 -142
- package/lib/components/VSwitch/VSwitch.mjs +2 -1
- package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
- package/lib/components/VSwitch/index.d.ts +39 -66
- package/lib/components/VSystemBar/VSystemBar.mjs +4 -2
- package/lib/components/VSystemBar/VSystemBar.mjs.map +1 -1
- package/lib/components/VSystemBar/index.d.ts +22 -13
- package/lib/components/VTable/VTable.mjs +4 -1
- package/lib/components/VTable/VTable.mjs.map +1 -1
- package/lib/components/VTable/index.d.ts +26 -29
- package/lib/components/VTabs/VTab.mjs +2 -2
- package/lib/components/VTabs/VTab.mjs.map +1 -1
- package/lib/components/VTabs/VTabs.mjs +2 -2
- package/lib/components/VTabs/VTabs.mjs.map +1 -1
- package/lib/components/VTabs/index.d.ts +45 -27
- package/lib/components/VTextField/VTextField.mjs +2 -1
- package/lib/components/VTextField/VTextField.mjs.map +1 -1
- package/lib/components/VTextField/index.d.ts +208 -269
- package/lib/components/VTextarea/VTextarea.mjs +2 -1
- package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
- package/lib/components/VTextarea/index.d.ts +79 -122
- package/lib/components/VThemeProvider/VThemeProvider.mjs +6 -3
- package/lib/components/VThemeProvider/VThemeProvider.mjs.map +1 -1
- package/lib/components/VThemeProvider/index.d.ts +22 -13
- package/lib/components/VTimeline/VTimeline.mjs +5 -3
- package/lib/components/VTimeline/VTimeline.mjs.map +1 -1
- package/lib/components/VTimeline/VTimelineDivider.mjs +4 -1
- package/lib/components/VTimeline/VTimelineDivider.mjs.map +1 -1
- package/lib/components/VTimeline/VTimelineItem.mjs +8 -6
- package/lib/components/VTimeline/VTimelineItem.mjs.map +1 -1
- package/lib/components/VTimeline/index.d.ts +67 -57
- package/lib/components/VToolbar/VToolbar.mjs +4 -2
- package/lib/components/VToolbar/VToolbar.mjs.map +1 -1
- package/lib/components/VToolbar/VToolbarItems.mjs +9 -4
- package/lib/components/VToolbar/VToolbarItems.mjs.map +1 -1
- package/lib/components/VToolbar/VToolbarTitle.mjs +5 -2
- package/lib/components/VToolbar/VToolbarTitle.mjs.map +1 -1
- package/lib/components/VToolbar/index.d.ts +74 -71
- package/lib/components/VTooltip/VTooltip.mjs +2 -1
- package/lib/components/VTooltip/VTooltip.mjs.map +1 -1
- package/lib/components/VTooltip/index.d.ts +104 -150
- package/lib/components/VValidation/index.d.ts +0 -12
- package/lib/components/VVirtualScroll/VVirtualScroll.mjs +21 -23
- package/lib/components/VVirtualScroll/VVirtualScroll.mjs.map +1 -1
- package/lib/components/VVirtualScroll/VVirtualScrollItem.mjs +5 -2
- package/lib/components/VVirtualScroll/VVirtualScrollItem.mjs.map +1 -1
- package/lib/components/VVirtualScroll/index.d.ts +70 -30
- package/lib/components/VWindow/VWindow.mjs +4 -1
- package/lib/components/VWindow/VWindow.mjs.map +1 -1
- package/lib/components/VWindow/VWindowItem.mjs +4 -1
- package/lib/components/VWindow/VWindowItem.mjs.map +1 -1
- package/lib/components/VWindow/index.d.ts +61 -79
- package/lib/components/index.d.ts +5229 -6754
- package/lib/components/transitions/index.d.ts +0 -192
- package/lib/composables/component.mjs +11 -0
- package/lib/composables/component.mjs.map +1 -0
- package/lib/composables/defaults.mjs +51 -5
- package/lib/composables/defaults.mjs.map +1 -1
- package/lib/composables/icons.mjs +15 -4
- package/lib/composables/icons.mjs.map +1 -1
- package/lib/composables/index.mjs +1 -1
- package/lib/composables/index.mjs.map +1 -1
- package/lib/composables/intersectionObserver.mjs +2 -2
- package/lib/composables/intersectionObserver.mjs.map +1 -1
- package/lib/composables/loader.mjs.map +1 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/framework.mjs +2 -2
- package/lib/framework.mjs.map +1 -1
- package/lib/iconsets/fa-svg.d.ts +1 -1
- package/lib/iconsets/fa.d.ts +1 -1
- package/lib/iconsets/fa4.d.ts +1 -1
- package/lib/iconsets/md.d.ts +1 -1
- package/lib/iconsets/mdi-svg.d.ts +1 -1
- package/lib/iconsets/mdi.d.ts +1 -1
- package/lib/index.d.ts +24 -24
- package/lib/labs/VDataTable/VDataTable.mjs +1 -1
- package/lib/labs/VDataTable/VDataTable.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableHeaders.mjs +34 -20
- package/lib/labs/VDataTable/VDataTableHeaders.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableRow.mjs +2 -4
- package/lib/labs/VDataTable/VDataTableRow.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableRows.mjs +2 -2
- package/lib/labs/VDataTable/VDataTableRows.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableServer.mjs +1 -1
- package/lib/labs/VDataTable/VDataTableServer.mjs.map +1 -1
- package/lib/labs/VDataTable/index.d.ts +61 -933
- package/lib/labs/VInfiniteScroll/VInfiniteScroll.css +26 -0
- package/lib/labs/VInfiniteScroll/VInfiniteScroll.mjs +215 -0
- package/lib/labs/VInfiniteScroll/VInfiniteScroll.mjs.map +1 -0
- package/lib/labs/VInfiniteScroll/VInfiniteScroll.sass +25 -0
- package/lib/labs/VInfiniteScroll/_variables.scss +3 -0
- package/lib/labs/VInfiniteScroll/index.d.ts +321 -0
- package/lib/labs/VInfiniteScroll/index.mjs +2 -0
- package/lib/labs/VInfiniteScroll/index.mjs.map +1 -0
- package/lib/labs/VSkeletonLoader/index.d.ts +0 -12
- package/lib/labs/components.d.ts +398 -969
- package/lib/labs/components.mjs +1 -0
- package/lib/labs/components.mjs.map +1 -1
- package/lib/labs/date/DateAdapter.mjs +2 -0
- package/lib/labs/date/DateAdapter.mjs.map +1 -0
- package/lib/labs/date/adapters/vuetify.d.ts +52 -0
- package/lib/{adapters → labs/date/adapters}/vuetify.mjs +2 -2
- package/lib/labs/date/adapters/vuetify.mjs.map +1 -0
- package/lib/{composables → labs/date}/date.mjs +3 -3
- package/lib/labs/date/date.mjs.map +1 -0
- package/lib/labs/date/index.d.ts +40 -0
- package/lib/labs/date/index.mjs +2 -0
- package/lib/labs/date/index.mjs.map +1 -0
- package/lib/labs/index.mjs +3 -2
- package/lib/labs/index.mjs.map +1 -1
- package/lib/locale/af.mjs +5 -1
- package/lib/locale/af.mjs.map +1 -1
- package/lib/locale/ar.mjs +5 -1
- package/lib/locale/ar.mjs.map +1 -1
- package/lib/locale/az.mjs +5 -1
- package/lib/locale/az.mjs.map +1 -1
- package/lib/locale/bg.mjs +5 -1
- package/lib/locale/bg.mjs.map +1 -1
- package/lib/locale/ca.mjs +5 -1
- package/lib/locale/ca.mjs.map +1 -1
- package/lib/locale/ckb.mjs +5 -1
- package/lib/locale/ckb.mjs.map +1 -1
- package/lib/locale/cs.mjs +5 -1
- package/lib/locale/cs.mjs.map +1 -1
- package/lib/locale/da.mjs +5 -1
- package/lib/locale/da.mjs.map +1 -1
- package/lib/locale/de.mjs +5 -1
- package/lib/locale/de.mjs.map +1 -1
- package/lib/locale/el.mjs +5 -1
- package/lib/locale/el.mjs.map +1 -1
- package/lib/locale/en.mjs +5 -1
- package/lib/locale/en.mjs.map +1 -1
- package/lib/locale/es.mjs +5 -1
- package/lib/locale/es.mjs.map +1 -1
- package/lib/locale/et.mjs +5 -1
- package/lib/locale/et.mjs.map +1 -1
- package/lib/locale/fa.mjs +5 -1
- package/lib/locale/fa.mjs.map +1 -1
- package/lib/locale/fi.mjs +5 -1
- package/lib/locale/fi.mjs.map +1 -1
- package/lib/locale/fr.mjs +5 -1
- package/lib/locale/fr.mjs.map +1 -1
- package/lib/locale/he.mjs +5 -1
- package/lib/locale/he.mjs.map +1 -1
- package/lib/locale/hr.mjs +5 -1
- package/lib/locale/hr.mjs.map +1 -1
- package/lib/locale/hu.mjs +5 -1
- package/lib/locale/hu.mjs.map +1 -1
- package/lib/locale/id.mjs +5 -1
- package/lib/locale/id.mjs.map +1 -1
- package/lib/locale/index.d.ts +168 -0
- package/lib/locale/it.mjs +5 -1
- package/lib/locale/it.mjs.map +1 -1
- package/lib/locale/ja.mjs +5 -1
- package/lib/locale/ja.mjs.map +1 -1
- package/lib/locale/ko.mjs +5 -1
- package/lib/locale/ko.mjs.map +1 -1
- package/lib/locale/lt.mjs +5 -1
- package/lib/locale/lt.mjs.map +1 -1
- package/lib/locale/lv.mjs +5 -1
- package/lib/locale/lv.mjs.map +1 -1
- package/lib/locale/nl.mjs +5 -1
- package/lib/locale/nl.mjs.map +1 -1
- package/lib/locale/no.mjs +5 -1
- package/lib/locale/no.mjs.map +1 -1
- package/lib/locale/pl.mjs +5 -1
- package/lib/locale/pl.mjs.map +1 -1
- package/lib/locale/pt.mjs +5 -1
- package/lib/locale/pt.mjs.map +1 -1
- package/lib/locale/ro.mjs +5 -1
- package/lib/locale/ro.mjs.map +1 -1
- package/lib/locale/ru.mjs +5 -1
- package/lib/locale/ru.mjs.map +1 -1
- package/lib/locale/sk.mjs +5 -1
- package/lib/locale/sk.mjs.map +1 -1
- package/lib/locale/sl.mjs +5 -1
- package/lib/locale/sl.mjs.map +1 -1
- package/lib/locale/sr-Cyrl.mjs +5 -1
- package/lib/locale/sr-Cyrl.mjs.map +1 -1
- package/lib/locale/sr-Latn.mjs +5 -1
- package/lib/locale/sr-Latn.mjs.map +1 -1
- package/lib/locale/sv.mjs +5 -1
- package/lib/locale/sv.mjs.map +1 -1
- package/lib/locale/th.mjs +5 -1
- package/lib/locale/th.mjs.map +1 -1
- package/lib/locale/tr.mjs +5 -1
- package/lib/locale/tr.mjs.map +1 -1
- package/lib/locale/uk.mjs +5 -1
- package/lib/locale/uk.mjs.map +1 -1
- package/lib/locale/vi.mjs +5 -1
- package/lib/locale/vi.mjs.map +1 -1
- package/lib/locale/zh-Hans.mjs +5 -1
- package/lib/locale/zh-Hans.mjs.map +1 -1
- package/lib/locale/zh-Hant.mjs +5 -1
- package/lib/locale/zh-Hant.mjs.map +1 -1
- package/lib/util/createSimpleFunctional.mjs +9 -4
- package/lib/util/createSimpleFunctional.mjs.map +1 -1
- package/lib/util/defineComponent.mjs +11 -43
- package/lib/util/defineComponent.mjs.map +1 -1
- package/lib/util/helpers.mjs +28 -2
- package/lib/util/helpers.mjs.map +1 -1
- package/lib/util/index.mjs +1 -0
- package/lib/util/index.mjs.map +1 -1
- package/package.json +2 -1
- package/lib/adapters/date-adapter.mjs +0 -2
- package/lib/adapters/date-adapter.mjs.map +0 -1
- package/lib/adapters/vuetify.mjs.map +0 -1
- package/lib/composables/date.mjs.map +0 -1
@@ -0,0 +1,26 @@
|
|
1
|
+
.v-infinite-scroll--horizontal {
|
2
|
+
display: flex;
|
3
|
+
flex-direction: row;
|
4
|
+
overflow-x: auto;
|
5
|
+
}
|
6
|
+
.v-infinite-scroll--horizontal .v-infinite-scroll-intersect {
|
7
|
+
height: 100%;
|
8
|
+
width: 1px;
|
9
|
+
}
|
10
|
+
|
11
|
+
.v-infinite-scroll--vertical {
|
12
|
+
display: flex;
|
13
|
+
flex-direction: column;
|
14
|
+
overflow-y: auto;
|
15
|
+
}
|
16
|
+
.v-infinite-scroll--vertical .v-infinite-scroll-intersect {
|
17
|
+
height: 1px;
|
18
|
+
width: 100%;
|
19
|
+
}
|
20
|
+
|
21
|
+
.v-infinite-scroll__side {
|
22
|
+
align-items: center;
|
23
|
+
display: flex;
|
24
|
+
justify-content: center;
|
25
|
+
padding: 8px;
|
26
|
+
}
|
@@ -0,0 +1,215 @@
|
|
1
|
+
import { createVNode as _createVNode, createTextVNode as _createTextVNode } from "vue";
|
2
|
+
// Styles
|
3
|
+
import "./VInfiniteScroll.css";
|
4
|
+
|
5
|
+
// Components
|
6
|
+
import { VBtn } from "../../components/VBtn/index.mjs";
|
7
|
+
import { VProgressCircular } from "../../components/VProgressCircular/index.mjs"; // Composables
|
8
|
+
import { makeDimensionProps, useDimension } from "../../composables/dimensions.mjs";
|
9
|
+
import { useIntersectionObserver } from "../../composables/intersectionObserver.mjs";
|
10
|
+
import { useLocale } from "../../composables/locale.mjs"; // Utilities
|
11
|
+
import { computed, nextTick, onMounted, ref, watch } from 'vue';
|
12
|
+
import { convertToUnit, defineComponent, genericComponent, useRender } from "../../util/index.mjs"; // Types
|
13
|
+
export const VInfiniteScrollIntersect = defineComponent({
|
14
|
+
name: 'VInfiniteScrollIntersect',
|
15
|
+
props: {
|
16
|
+
side: {
|
17
|
+
type: String,
|
18
|
+
required: true
|
19
|
+
},
|
20
|
+
rootRef: null,
|
21
|
+
rootMargin: String
|
22
|
+
},
|
23
|
+
emits: {
|
24
|
+
intersect: side => true
|
25
|
+
},
|
26
|
+
setup(props, _ref) {
|
27
|
+
let {
|
28
|
+
emit
|
29
|
+
} = _ref;
|
30
|
+
const {
|
31
|
+
intersectionRef,
|
32
|
+
isIntersecting
|
33
|
+
} = useIntersectionObserver(entries => {}, props.rootMargin ? {
|
34
|
+
root: props.rootRef,
|
35
|
+
rootMargin: props.rootMargin
|
36
|
+
} : undefined);
|
37
|
+
watch(isIntersecting, async val => {
|
38
|
+
if (val) emit('intersect', props.side);
|
39
|
+
});
|
40
|
+
useRender(() => _createVNode("div", {
|
41
|
+
"class": "v-infinite-scroll-intersect",
|
42
|
+
"ref": intersectionRef
|
43
|
+
}, [_createTextVNode("\xA0")]));
|
44
|
+
return {};
|
45
|
+
}
|
46
|
+
});
|
47
|
+
export const VInfiniteScroll = genericComponent()({
|
48
|
+
name: 'VInfiniteScroll',
|
49
|
+
props: {
|
50
|
+
color: String,
|
51
|
+
direction: {
|
52
|
+
type: String,
|
53
|
+
default: 'vertical',
|
54
|
+
validator: v => ['vertical', 'horizontal'].includes(v)
|
55
|
+
},
|
56
|
+
side: {
|
57
|
+
type: String,
|
58
|
+
default: 'end',
|
59
|
+
validator: v => ['start', 'end', 'both'].includes(v)
|
60
|
+
},
|
61
|
+
mode: {
|
62
|
+
type: String,
|
63
|
+
default: 'intersect',
|
64
|
+
validator: v => ['intersect', 'manual'].includes(v)
|
65
|
+
},
|
66
|
+
margin: [Number, String],
|
67
|
+
loadMoreText: {
|
68
|
+
type: String,
|
69
|
+
default: '$vuetify.infiniteScroll.loadMore'
|
70
|
+
},
|
71
|
+
emptyText: {
|
72
|
+
type: String,
|
73
|
+
default: '$vuetify.infiniteScroll.empty'
|
74
|
+
},
|
75
|
+
...makeDimensionProps()
|
76
|
+
},
|
77
|
+
emits: {
|
78
|
+
load: options => true
|
79
|
+
},
|
80
|
+
setup(props, _ref2) {
|
81
|
+
let {
|
82
|
+
slots,
|
83
|
+
emit
|
84
|
+
} = _ref2;
|
85
|
+
const rootEl = ref();
|
86
|
+
const startStatus = ref('ok');
|
87
|
+
const endStatus = ref('ok');
|
88
|
+
const margin = computed(() => convertToUnit(props.margin));
|
89
|
+
function setScrollAmount(amount) {
|
90
|
+
if (!rootEl.value) return;
|
91
|
+
const property = props.direction === 'vertical' ? 'scrollTop' : 'scrollLeft';
|
92
|
+
rootEl.value[property] = amount;
|
93
|
+
}
|
94
|
+
function getScrollAmount() {
|
95
|
+
if (!rootEl.value) return 0;
|
96
|
+
const property = props.direction === 'vertical' ? 'scrollTop' : 'scrollLeft';
|
97
|
+
return rootEl.value[property];
|
98
|
+
}
|
99
|
+
function getScrollSize() {
|
100
|
+
if (!rootEl.value) return 0;
|
101
|
+
const property = props.direction === 'vertical' ? 'scrollHeight' : 'scrollWidth';
|
102
|
+
return rootEl.value[property];
|
103
|
+
}
|
104
|
+
function getContainerSize() {
|
105
|
+
if (!rootEl.value) return 0;
|
106
|
+
const property = props.direction === 'vertical' ? 'clientHeight' : 'clientWidth';
|
107
|
+
return rootEl.value[property];
|
108
|
+
}
|
109
|
+
onMounted(() => {
|
110
|
+
if (!rootEl.value) return;
|
111
|
+
if (props.side === 'start') {
|
112
|
+
setScrollAmount(getScrollSize());
|
113
|
+
} else if (props.side === 'both') {
|
114
|
+
setScrollAmount(getScrollSize() / 2 - getContainerSize() / 2);
|
115
|
+
}
|
116
|
+
});
|
117
|
+
function setStatus(side, status) {
|
118
|
+
if (side === 'start') {
|
119
|
+
startStatus.value = status;
|
120
|
+
} else if (side === 'end') {
|
121
|
+
endStatus.value = status;
|
122
|
+
}
|
123
|
+
}
|
124
|
+
function getStatus(side) {
|
125
|
+
return side === 'start' ? startStatus.value : endStatus.value;
|
126
|
+
}
|
127
|
+
let previousScrollSize = 0;
|
128
|
+
function handleIntersect(side) {
|
129
|
+
const status = getStatus(side);
|
130
|
+
if (!rootEl.value || status === 'loading') return;
|
131
|
+
previousScrollSize = getScrollSize();
|
132
|
+
setStatus(side, 'loading');
|
133
|
+
function done(status) {
|
134
|
+
setStatus(side, status);
|
135
|
+
nextTick(() => {
|
136
|
+
if (status === 'ok' && side === 'start') {
|
137
|
+
setScrollAmount(getScrollSize() - previousScrollSize + getScrollAmount());
|
138
|
+
}
|
139
|
+
});
|
140
|
+
}
|
141
|
+
emit('load', {
|
142
|
+
side,
|
143
|
+
done
|
144
|
+
});
|
145
|
+
}
|
146
|
+
const {
|
147
|
+
t
|
148
|
+
} = useLocale();
|
149
|
+
function renderSide(side, status) {
|
150
|
+
if (props.side !== side && props.side !== 'both') return;
|
151
|
+
const onClick = () => handleIntersect(side);
|
152
|
+
const slotProps = {
|
153
|
+
side,
|
154
|
+
props: {
|
155
|
+
onClick,
|
156
|
+
color: props.color
|
157
|
+
}
|
158
|
+
};
|
159
|
+
if (status === 'error') return slots.error?.(slotProps);
|
160
|
+
if (status === 'empty') return slots.empty?.(slotProps) ?? _createVNode("div", null, [t(props.emptyText)]);
|
161
|
+
if (props.mode === 'manual') {
|
162
|
+
if (status === 'loading') {
|
163
|
+
return slots.loading?.(slotProps) ?? _createVNode(VProgressCircular, {
|
164
|
+
"indeterminate": true,
|
165
|
+
"color": props.color
|
166
|
+
}, null);
|
167
|
+
}
|
168
|
+
return slots['load-more']?.(slotProps) ?? _createVNode(VBtn, {
|
169
|
+
"variant": "outlined",
|
170
|
+
"color": props.color,
|
171
|
+
"onClick": onClick
|
172
|
+
}, {
|
173
|
+
default: () => [t(props.loadMoreText)]
|
174
|
+
});
|
175
|
+
}
|
176
|
+
return slots.loading?.(slotProps) ?? _createVNode(VProgressCircular, {
|
177
|
+
"indeterminate": true,
|
178
|
+
"color": props.color
|
179
|
+
}, null);
|
180
|
+
}
|
181
|
+
const {
|
182
|
+
dimensionStyles
|
183
|
+
} = useDimension(props);
|
184
|
+
useRender(() => {
|
185
|
+
const hasStartIntersect = props.side === 'start' || props.side === 'both';
|
186
|
+
const hasEndIntersect = props.side === 'end' || props.side === 'both';
|
187
|
+
const intersectMode = props.mode === 'intersect';
|
188
|
+
return _createVNode("div", {
|
189
|
+
"ref": rootEl,
|
190
|
+
"class": ['v-infinite-scroll', `v-infinite-scroll--${props.direction}`, {
|
191
|
+
'v-infinite-scroll--start': hasStartIntersect,
|
192
|
+
'v-infinite-scroll--end': hasEndIntersect
|
193
|
+
}],
|
194
|
+
"style": dimensionStyles.value
|
195
|
+
}, [_createVNode("div", {
|
196
|
+
"class": "v-infinite-scroll__side"
|
197
|
+
}, [renderSide('start', startStatus.value)]), rootEl.value && hasStartIntersect && intersectMode && _createVNode(VInfiniteScrollIntersect, {
|
198
|
+
"key": "start",
|
199
|
+
"side": "start",
|
200
|
+
"onIntersect": handleIntersect,
|
201
|
+
"rootRef": rootEl.value,
|
202
|
+
"rootMargin": margin.value
|
203
|
+
}, null), slots.default?.(), rootEl.value && hasEndIntersect && intersectMode && _createVNode(VInfiniteScrollIntersect, {
|
204
|
+
"key": "end",
|
205
|
+
"side": "end",
|
206
|
+
"onIntersect": handleIntersect,
|
207
|
+
"rootRef": rootEl.value,
|
208
|
+
"rootMargin": margin.value
|
209
|
+
}, null), _createVNode("div", {
|
210
|
+
"class": "v-infinite-scroll__side"
|
211
|
+
}, [renderSide('end', endStatus.value)])]);
|
212
|
+
});
|
213
|
+
}
|
214
|
+
});
|
215
|
+
//# sourceMappingURL=VInfiniteScroll.mjs.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"VInfiniteScroll.mjs","names":["VBtn","VProgressCircular","makeDimensionProps","useDimension","useIntersectionObserver","useLocale","computed","nextTick","onMounted","ref","watch","convertToUnit","defineComponent","genericComponent","useRender","VInfiniteScrollIntersect","name","props","side","type","String","required","rootRef","rootMargin","emits","intersect","setup","_ref","emit","intersectionRef","isIntersecting","entries","root","undefined","val","_createVNode","_createTextVNode","VInfiniteScroll","color","direction","default","validator","v","includes","mode","margin","Number","loadMoreText","emptyText","load","options","_ref2","slots","rootEl","startStatus","endStatus","setScrollAmount","amount","value","property","getScrollAmount","getScrollSize","getContainerSize","setStatus","status","getStatus","previousScrollSize","handleIntersect","done","t","renderSide","onClick","slotProps","error","empty","loading","dimensionStyles","hasStartIntersect","hasEndIntersect","intersectMode"],"sources":["../../../src/labs/VInfiniteScroll/VInfiniteScroll.tsx"],"sourcesContent":["// Styles\nimport './VInfiniteScroll.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\nimport { VProgressCircular } from '@/components/VProgressCircular'\n\n// Composables\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { useIntersectionObserver } from '@/composables/intersectionObserver'\nimport { useLocale } from '@/composables/locale'\n\n// Utilities\nimport { computed, nextTick, onMounted, ref, watch } from 'vue'\nimport { convertToUnit, defineComponent, genericComponent, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport type InfiniteScrollSide = 'start' | 'end' | 'both'\nexport type InfiniteScrollStatus = 'ok' | 'empty' | 'loading' | 'error'\n\ntype InfiniteScrollSlot = {\n side: InfiniteScrollSide\n props: {\n onClick: () => (side: InfiniteScrollSide) => void\n color: string | undefined\n }\n}\n\ntype VInfiniteScrollSlots = {\n default: [InfiniteScrollSlot]\n loading: [InfiniteScrollSlot]\n error: [InfiniteScrollSlot]\n empty: [InfiniteScrollSlot]\n 'load-more': [InfiniteScrollSlot]\n}\n\nexport const VInfiniteScrollIntersect = defineComponent({\n name: 'VInfiniteScrollIntersect',\n\n props: {\n side: {\n type: String as PropType<InfiniteScrollSide>,\n required: true,\n },\n rootRef: null,\n rootMargin: String,\n },\n\n emits: {\n intersect: (side: InfiniteScrollSide) => true,\n },\n\n setup (props, { emit }) {\n const { intersectionRef, isIntersecting } = useIntersectionObserver(entries => {\n }, props.rootMargin ? {\n root: props.rootRef,\n rootMargin: props.rootMargin,\n } : undefined)\n\n watch(isIntersecting, async val => {\n if (val) emit('intersect', props.side)\n })\n\n useRender(() => (\n <div class=\"v-infinite-scroll-intersect\" ref={ intersectionRef }> </div>\n ))\n\n return {}\n },\n})\n\nexport const VInfiniteScroll = genericComponent<VInfiniteScrollSlots>()({\n name: 'VInfiniteScroll',\n\n props: {\n color: String,\n direction: {\n type: String as PropType<'vertical' | 'horizontal'>,\n default: 'vertical',\n validator: (v: any) => ['vertical', 'horizontal'].includes(v),\n },\n side: {\n type: String as PropType<InfiniteScrollSide>,\n default: 'end',\n validator: (v: any) => ['start', 'end', 'both'].includes(v),\n },\n mode: {\n type: String as PropType<'intersect' | 'manual'>,\n default: 'intersect',\n validator: (v: any) => ['intersect', 'manual'].includes(v),\n },\n margin: [Number, String],\n loadMoreText: {\n type: String,\n default: '$vuetify.infiniteScroll.loadMore',\n },\n emptyText: {\n type: String,\n default: '$vuetify.infiniteScroll.empty',\n },\n\n ...makeDimensionProps(),\n },\n\n emits: {\n load: (options: { side: InfiniteScrollSide, done: (status: InfiniteScrollStatus) => void }) => true,\n },\n\n setup (props, { slots, emit }) {\n const rootEl = ref<HTMLDivElement>()\n const startStatus = ref<InfiniteScrollStatus>('ok')\n const endStatus = ref<InfiniteScrollStatus>('ok')\n const margin = computed(() => convertToUnit(props.margin))\n\n function setScrollAmount (amount: number) {\n if (!rootEl.value) return\n\n const property = props.direction === 'vertical' ? 'scrollTop' : 'scrollLeft'\n rootEl.value[property] = amount\n }\n\n function getScrollAmount () {\n if (!rootEl.value) return 0\n\n const property = props.direction === 'vertical' ? 'scrollTop' : 'scrollLeft'\n return rootEl.value[property]\n }\n\n function getScrollSize () {\n if (!rootEl.value) return 0\n\n const property = props.direction === 'vertical' ? 'scrollHeight' : 'scrollWidth'\n return rootEl.value[property]\n }\n\n function getContainerSize () {\n if (!rootEl.value) return 0\n\n const property = props.direction === 'vertical' ? 'clientHeight' : 'clientWidth'\n return rootEl.value[property]\n }\n\n onMounted(() => {\n if (!rootEl.value) return\n\n if (props.side === 'start') {\n setScrollAmount(getScrollSize())\n } else if (props.side === 'both') {\n setScrollAmount(getScrollSize() / 2 - getContainerSize() / 2)\n }\n })\n\n function setStatus (side: InfiniteScrollSide, status: InfiniteScrollStatus) {\n if (side === 'start') {\n startStatus.value = status\n } else if (side === 'end') {\n endStatus.value = status\n }\n }\n\n function getStatus (side: string) {\n return side === 'start' ? startStatus.value : endStatus.value\n }\n\n let previousScrollSize = 0\n function handleIntersect (side: InfiniteScrollSide) {\n const status = getStatus(side)\n if (!rootEl.value || status === 'loading') return\n\n previousScrollSize = getScrollSize()\n setStatus(side, 'loading')\n\n function done (status: InfiniteScrollStatus) {\n setStatus(side, status)\n\n nextTick(() => {\n if (status === 'ok' && side === 'start') {\n setScrollAmount(getScrollSize() - previousScrollSize + getScrollAmount())\n }\n })\n }\n\n emit('load', { side, done })\n }\n\n const { t } = useLocale()\n\n function renderSide (side: InfiniteScrollSide, status: InfiniteScrollStatus) {\n if (props.side !== side && props.side !== 'both') return\n\n const onClick = () => handleIntersect(side)\n const slotProps = { side, props: { onClick, color: props.color } }\n\n if (status === 'error') return slots.error?.(slotProps)\n\n if (status === 'empty') return slots.empty?.(slotProps) ?? <div>{ t(props.emptyText) }</div>\n\n if (props.mode === 'manual') {\n if (status === 'loading') {\n return slots.loading?.(slotProps) ?? (\n <VProgressCircular indeterminate color={ props.color } />\n )\n }\n\n return slots['load-more']?.(slotProps) ?? (\n <VBtn variant=\"outlined\" color={ props.color } onClick={ onClick }>\n { t(props.loadMoreText) }\n </VBtn>\n )\n }\n\n return slots.loading?.(slotProps) ?? (\n <VProgressCircular indeterminate color={ props.color } />\n )\n }\n\n const { dimensionStyles } = useDimension(props)\n\n useRender(() => {\n const hasStartIntersect = props.side === 'start' || props.side === 'both'\n const hasEndIntersect = props.side === 'end' || props.side === 'both'\n const intersectMode = props.mode === 'intersect'\n\n return (\n <div\n ref={ rootEl }\n class={[\n 'v-infinite-scroll',\n `v-infinite-scroll--${props.direction}`,\n {\n 'v-infinite-scroll--start': hasStartIntersect,\n 'v-infinite-scroll--end': hasEndIntersect,\n },\n ]}\n style={ dimensionStyles.value }\n >\n <div class=\"v-infinite-scroll__side\">\n { renderSide('start', startStatus.value) }\n </div>\n\n { rootEl.value && hasStartIntersect && intersectMode && (\n <VInfiniteScrollIntersect\n key=\"start\"\n side=\"start\"\n onIntersect={ handleIntersect }\n rootRef={ rootEl.value }\n rootMargin={ margin.value }\n />\n )}\n\n { slots.default?.() }\n\n { rootEl.value && hasEndIntersect && intersectMode && (\n <VInfiniteScrollIntersect\n key=\"end\"\n side=\"end\"\n onIntersect={ handleIntersect }\n rootRef={ rootEl.value }\n rootMargin={ margin.value }\n />\n )}\n\n <div class=\"v-infinite-scroll__side\">\n { renderSide('end', endStatus.value) }\n </div>\n </div>\n )\n })\n },\n})\n\nexport type VInfiniteScroll = InstanceType<typeof VInfiniteScroll>\n"],"mappings":"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"}
|
@@ -0,0 +1,25 @@
|
|
1
|
+
@use './variables' as *
|
2
|
+
|
3
|
+
.v-infinite-scroll--horizontal
|
4
|
+
display: flex
|
5
|
+
flex-direction: row
|
6
|
+
overflow-x: auto
|
7
|
+
|
8
|
+
.v-infinite-scroll-intersect
|
9
|
+
height: 100%
|
10
|
+
width: 1px
|
11
|
+
|
12
|
+
.v-infinite-scroll--vertical
|
13
|
+
display: flex
|
14
|
+
flex-direction: column
|
15
|
+
overflow-y: auto
|
16
|
+
|
17
|
+
.v-infinite-scroll-intersect
|
18
|
+
height: 1px
|
19
|
+
width: 100%
|
20
|
+
|
21
|
+
.v-infinite-scroll__side
|
22
|
+
align-items: center
|
23
|
+
display: flex
|
24
|
+
justify-content: center
|
25
|
+
padding: $infinite-scroll-side-padding
|
@@ -0,0 +1,321 @@
|
|
1
|
+
import * as vue from 'vue';
|
2
|
+
import { ComponentPropsOptions, ExtractPropTypes, nextTick, PropType } from 'vue';
|
3
|
+
|
4
|
+
interface FilterPropsOptions<PropsOptions extends Readonly<ComponentPropsOptions>, Props = ExtractPropTypes<PropsOptions>> {
|
5
|
+
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>];
|
6
|
+
}
|
7
|
+
|
8
|
+
type InfiniteScrollSide = 'start' | 'end' | 'both';
|
9
|
+
type InfiniteScrollStatus = 'ok' | 'empty' | 'loading' | 'error';
|
10
|
+
type InfiniteScrollSlot = {
|
11
|
+
side: InfiniteScrollSide;
|
12
|
+
props: {
|
13
|
+
onClick: () => (side: InfiniteScrollSide) => void;
|
14
|
+
color: string | undefined;
|
15
|
+
};
|
16
|
+
};
|
17
|
+
declare const VInfiniteScroll: {
|
18
|
+
new (...args: any[]): {
|
19
|
+
$: vue.ComponentInternalInstance;
|
20
|
+
$data: {};
|
21
|
+
$props: Partial<{
|
22
|
+
direction: "horizontal" | "vertical";
|
23
|
+
mode: "manual" | "intersect";
|
24
|
+
side: InfiniteScrollSide;
|
25
|
+
loadMoreText: string;
|
26
|
+
emptyText: string;
|
27
|
+
}> & Omit<{
|
28
|
+
direction: "horizontal" | "vertical";
|
29
|
+
mode: "manual" | "intersect";
|
30
|
+
side: InfiniteScrollSide;
|
31
|
+
loadMoreText: string;
|
32
|
+
emptyText: string;
|
33
|
+
} & {
|
34
|
+
height?: string | number | undefined;
|
35
|
+
width?: string | number | undefined;
|
36
|
+
color?: string | undefined;
|
37
|
+
margin?: string | number | undefined;
|
38
|
+
maxHeight?: string | number | undefined;
|
39
|
+
maxWidth?: string | number | undefined;
|
40
|
+
minHeight?: string | number | undefined;
|
41
|
+
minWidth?: string | number | undefined;
|
42
|
+
} & {
|
43
|
+
$children?: vue.VNodeChild | {
|
44
|
+
default?: ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
45
|
+
loading?: ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
46
|
+
error?: ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
47
|
+
empty?: ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
48
|
+
'load-more'?: ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
49
|
+
} | ((args_0: InfiniteScrollSlot) => vue.VNodeChild);
|
50
|
+
'v-slots'?: {
|
51
|
+
default?: false | ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
52
|
+
loading?: false | ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
53
|
+
error?: false | ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
54
|
+
empty?: false | ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
55
|
+
'load-more'?: false | ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
56
|
+
} | undefined;
|
57
|
+
} & {
|
58
|
+
"v-slot:default"?: false | ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
59
|
+
"v-slot:loading"?: false | ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
60
|
+
"v-slot:error"?: false | ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
61
|
+
"v-slot:empty"?: false | ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
62
|
+
"v-slot:load-more"?: false | ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
63
|
+
} & {
|
64
|
+
onLoad?: ((options: {
|
65
|
+
side: InfiniteScrollSide;
|
66
|
+
done: (status: InfiniteScrollStatus) => void;
|
67
|
+
}) => any) | undefined;
|
68
|
+
} & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, "direction" | "mode" | "side" | "loadMoreText" | "emptyText">;
|
69
|
+
$attrs: {
|
70
|
+
[x: string]: unknown;
|
71
|
+
};
|
72
|
+
$refs: {
|
73
|
+
[x: string]: unknown;
|
74
|
+
};
|
75
|
+
$slots: Readonly<{
|
76
|
+
[name: string]: vue.Slot | undefined;
|
77
|
+
}>;
|
78
|
+
$root: vue.ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, vue.ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | null;
|
79
|
+
$parent: vue.ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, vue.ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | null;
|
80
|
+
$emit: (event: "load", options: {
|
81
|
+
side: InfiniteScrollSide;
|
82
|
+
done: (status: InfiniteScrollStatus) => void;
|
83
|
+
}) => void;
|
84
|
+
$el: any;
|
85
|
+
$options: vue.ComponentOptionsBase<{
|
86
|
+
direction: "horizontal" | "vertical";
|
87
|
+
mode: "manual" | "intersect";
|
88
|
+
side: InfiniteScrollSide;
|
89
|
+
loadMoreText: string;
|
90
|
+
emptyText: string;
|
91
|
+
} & {
|
92
|
+
height?: string | number | undefined;
|
93
|
+
width?: string | number | undefined;
|
94
|
+
color?: string | undefined;
|
95
|
+
margin?: string | number | undefined;
|
96
|
+
maxHeight?: string | number | undefined;
|
97
|
+
maxWidth?: string | number | undefined;
|
98
|
+
minHeight?: string | number | undefined;
|
99
|
+
minWidth?: string | number | undefined;
|
100
|
+
} & {
|
101
|
+
$children?: vue.VNodeChild | {
|
102
|
+
default?: ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
103
|
+
loading?: ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
104
|
+
error?: ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
105
|
+
empty?: ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
106
|
+
'load-more'?: ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
107
|
+
} | ((args_0: InfiniteScrollSlot) => vue.VNodeChild);
|
108
|
+
'v-slots'?: {
|
109
|
+
default?: false | ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
110
|
+
loading?: false | ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
111
|
+
error?: false | ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
112
|
+
empty?: false | ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
113
|
+
'load-more'?: false | ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
114
|
+
} | undefined;
|
115
|
+
} & {
|
116
|
+
"v-slot:default"?: false | ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
117
|
+
"v-slot:loading"?: false | ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
118
|
+
"v-slot:error"?: false | ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
119
|
+
"v-slot:empty"?: false | ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
120
|
+
"v-slot:load-more"?: false | ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
121
|
+
} & {
|
122
|
+
onLoad?: ((options: {
|
123
|
+
side: InfiniteScrollSide;
|
124
|
+
done: (status: InfiniteScrollStatus) => void;
|
125
|
+
}) => any) | undefined;
|
126
|
+
}, void, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
|
127
|
+
load: (options: {
|
128
|
+
side: InfiniteScrollSide;
|
129
|
+
done: (status: InfiniteScrollStatus) => void;
|
130
|
+
}) => true;
|
131
|
+
}, string, {
|
132
|
+
direction: "horizontal" | "vertical";
|
133
|
+
mode: "manual" | "intersect";
|
134
|
+
side: InfiniteScrollSide;
|
135
|
+
loadMoreText: string;
|
136
|
+
emptyText: string;
|
137
|
+
}, {}, string> & {
|
138
|
+
beforeCreate?: ((() => void) | (() => void)[]) | undefined;
|
139
|
+
created?: ((() => void) | (() => void)[]) | undefined;
|
140
|
+
beforeMount?: ((() => void) | (() => void)[]) | undefined;
|
141
|
+
mounted?: ((() => void) | (() => void)[]) | undefined;
|
142
|
+
beforeUpdate?: ((() => void) | (() => void)[]) | undefined;
|
143
|
+
updated?: ((() => void) | (() => void)[]) | undefined;
|
144
|
+
activated?: ((() => void) | (() => void)[]) | undefined;
|
145
|
+
deactivated?: ((() => void) | (() => void)[]) | undefined;
|
146
|
+
beforeDestroy?: ((() => void) | (() => void)[]) | undefined;
|
147
|
+
beforeUnmount?: ((() => void) | (() => void)[]) | undefined;
|
148
|
+
destroyed?: ((() => void) | (() => void)[]) | undefined;
|
149
|
+
unmounted?: ((() => void) | (() => void)[]) | undefined;
|
150
|
+
renderTracked?: (((e: vue.DebuggerEvent) => void) | ((e: vue.DebuggerEvent) => void)[]) | undefined;
|
151
|
+
renderTriggered?: (((e: vue.DebuggerEvent) => void) | ((e: vue.DebuggerEvent) => void)[]) | undefined;
|
152
|
+
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;
|
153
|
+
};
|
154
|
+
$forceUpdate: () => void;
|
155
|
+
$nextTick: typeof nextTick;
|
156
|
+
$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;
|
157
|
+
} & {
|
158
|
+
direction: "horizontal" | "vertical";
|
159
|
+
mode: "manual" | "intersect";
|
160
|
+
side: InfiniteScrollSide;
|
161
|
+
loadMoreText: string;
|
162
|
+
emptyText: string;
|
163
|
+
} & {
|
164
|
+
height?: string | number | undefined;
|
165
|
+
width?: string | number | undefined;
|
166
|
+
color?: string | undefined;
|
167
|
+
margin?: string | number | undefined;
|
168
|
+
maxHeight?: string | number | undefined;
|
169
|
+
maxWidth?: string | number | undefined;
|
170
|
+
minHeight?: string | number | undefined;
|
171
|
+
minWidth?: string | number | undefined;
|
172
|
+
} & {
|
173
|
+
$children?: vue.VNodeChild | {
|
174
|
+
default?: ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
175
|
+
loading?: ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
176
|
+
error?: ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
177
|
+
empty?: ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
178
|
+
'load-more'?: ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
179
|
+
} | ((args_0: InfiniteScrollSlot) => vue.VNodeChild);
|
180
|
+
'v-slots'?: {
|
181
|
+
default?: false | ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
182
|
+
loading?: false | ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
183
|
+
error?: false | ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
184
|
+
empty?: false | ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
185
|
+
'load-more'?: false | ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
186
|
+
} | undefined;
|
187
|
+
} & {
|
188
|
+
"v-slot:default"?: false | ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
189
|
+
"v-slot:loading"?: false | ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
190
|
+
"v-slot:error"?: false | ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
191
|
+
"v-slot:empty"?: false | ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
192
|
+
"v-slot:load-more"?: false | ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
193
|
+
} & {
|
194
|
+
onLoad?: ((options: {
|
195
|
+
side: InfiniteScrollSide;
|
196
|
+
done: (status: InfiniteScrollStatus) => void;
|
197
|
+
}) => any) | undefined;
|
198
|
+
} & vue.ShallowUnwrapRef<{}> & {} & vue.ComponentCustomProperties & {};
|
199
|
+
__isFragment?: undefined;
|
200
|
+
__isTeleport?: undefined;
|
201
|
+
__isSuspense?: undefined;
|
202
|
+
} & vue.ComponentOptionsBase<{
|
203
|
+
direction: "horizontal" | "vertical";
|
204
|
+
mode: "manual" | "intersect";
|
205
|
+
side: InfiniteScrollSide;
|
206
|
+
loadMoreText: string;
|
207
|
+
emptyText: string;
|
208
|
+
} & {
|
209
|
+
height?: string | number | undefined;
|
210
|
+
width?: string | number | undefined;
|
211
|
+
color?: string | undefined;
|
212
|
+
margin?: string | number | undefined;
|
213
|
+
maxHeight?: string | number | undefined;
|
214
|
+
maxWidth?: string | number | undefined;
|
215
|
+
minHeight?: string | number | undefined;
|
216
|
+
minWidth?: string | number | undefined;
|
217
|
+
} & {
|
218
|
+
$children?: vue.VNodeChild | {
|
219
|
+
default?: ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
220
|
+
loading?: ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
221
|
+
error?: ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
222
|
+
empty?: ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
223
|
+
'load-more'?: ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
224
|
+
} | ((args_0: InfiniteScrollSlot) => vue.VNodeChild);
|
225
|
+
'v-slots'?: {
|
226
|
+
default?: false | ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
227
|
+
loading?: false | ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
228
|
+
error?: false | ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
229
|
+
empty?: false | ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
230
|
+
'load-more'?: false | ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
231
|
+
} | undefined;
|
232
|
+
} & {
|
233
|
+
"v-slot:default"?: false | ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
234
|
+
"v-slot:loading"?: false | ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
235
|
+
"v-slot:error"?: false | ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
236
|
+
"v-slot:empty"?: false | ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
237
|
+
"v-slot:load-more"?: false | ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
238
|
+
} & {
|
239
|
+
onLoad?: ((options: {
|
240
|
+
side: InfiniteScrollSide;
|
241
|
+
done: (status: InfiniteScrollStatus) => void;
|
242
|
+
}) => any) | undefined;
|
243
|
+
}, void, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
|
244
|
+
load: (options: {
|
245
|
+
side: InfiniteScrollSide;
|
246
|
+
done: (status: InfiniteScrollStatus) => void;
|
247
|
+
}) => true;
|
248
|
+
}, string, {
|
249
|
+
direction: "horizontal" | "vertical";
|
250
|
+
mode: "manual" | "intersect";
|
251
|
+
side: InfiniteScrollSide;
|
252
|
+
loadMoreText: string;
|
253
|
+
emptyText: string;
|
254
|
+
}, {}, string> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & FilterPropsOptions<{
|
255
|
+
height: (StringConstructor | NumberConstructor)[];
|
256
|
+
maxHeight: (StringConstructor | NumberConstructor)[];
|
257
|
+
maxWidth: (StringConstructor | NumberConstructor)[];
|
258
|
+
minHeight: (StringConstructor | NumberConstructor)[];
|
259
|
+
minWidth: (StringConstructor | NumberConstructor)[];
|
260
|
+
width: (StringConstructor | NumberConstructor)[];
|
261
|
+
color: StringConstructor;
|
262
|
+
direction: {
|
263
|
+
type: PropType<"horizontal" | "vertical">;
|
264
|
+
default: string;
|
265
|
+
validator: (v: any) => boolean;
|
266
|
+
};
|
267
|
+
side: {
|
268
|
+
type: PropType<InfiniteScrollSide>;
|
269
|
+
default: string;
|
270
|
+
validator: (v: any) => boolean;
|
271
|
+
};
|
272
|
+
mode: {
|
273
|
+
type: PropType<"manual" | "intersect">;
|
274
|
+
default: string;
|
275
|
+
validator: (v: any) => boolean;
|
276
|
+
};
|
277
|
+
margin: (StringConstructor | NumberConstructor)[];
|
278
|
+
loadMoreText: {
|
279
|
+
type: StringConstructor;
|
280
|
+
default: string;
|
281
|
+
};
|
282
|
+
emptyText: {
|
283
|
+
type: StringConstructor;
|
284
|
+
default: string;
|
285
|
+
};
|
286
|
+
}, vue.ExtractPropTypes<{
|
287
|
+
height: (StringConstructor | NumberConstructor)[];
|
288
|
+
maxHeight: (StringConstructor | NumberConstructor)[];
|
289
|
+
maxWidth: (StringConstructor | NumberConstructor)[];
|
290
|
+
minHeight: (StringConstructor | NumberConstructor)[];
|
291
|
+
minWidth: (StringConstructor | NumberConstructor)[];
|
292
|
+
width: (StringConstructor | NumberConstructor)[];
|
293
|
+
color: StringConstructor;
|
294
|
+
direction: {
|
295
|
+
type: PropType<"horizontal" | "vertical">;
|
296
|
+
default: string;
|
297
|
+
validator: (v: any) => boolean;
|
298
|
+
};
|
299
|
+
side: {
|
300
|
+
type: PropType<InfiniteScrollSide>;
|
301
|
+
default: string;
|
302
|
+
validator: (v: any) => boolean;
|
303
|
+
};
|
304
|
+
mode: {
|
305
|
+
type: PropType<"manual" | "intersect">;
|
306
|
+
default: string;
|
307
|
+
validator: (v: any) => boolean;
|
308
|
+
};
|
309
|
+
margin: (StringConstructor | NumberConstructor)[];
|
310
|
+
loadMoreText: {
|
311
|
+
type: StringConstructor;
|
312
|
+
default: string;
|
313
|
+
};
|
314
|
+
emptyText: {
|
315
|
+
type: StringConstructor;
|
316
|
+
default: string;
|
317
|
+
};
|
318
|
+
}>>;
|
319
|
+
type VInfiniteScroll = InstanceType<typeof VInfiniteScroll>;
|
320
|
+
|
321
|
+
export { VInfiniteScroll };
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.mjs","names":["VInfiniteScroll"],"sources":["../../../src/labs/VInfiniteScroll/index.ts"],"sourcesContent":["export { VInfiniteScroll } from './VInfiniteScroll'\n"],"mappings":"SAASA,eAAe"}
|