vuetify 3.2.2 → 3.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/json/attributes.json +549 -253
- package/dist/json/importMap.json +20 -20
- package/dist/json/tags.json +77 -2
- package/dist/json/web-types.json +1292 -566
- package/dist/vuetify-labs.css +113 -110
- package/dist/vuetify-labs.d.ts +2593 -11751
- package/dist/vuetify-labs.esm.js +2352 -2248
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +2352 -2248
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +38 -35
- package/dist/vuetify.d.ts +1264 -11210
- package/dist/vuetify.esm.js +1818 -1702
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +1818 -1702
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +652 -652
- package/dist/vuetify.min.js.map +1 -1
- package/lib/blueprints/index.d.ts +1 -3
- package/lib/blueprints/md1.d.ts +1 -3
- package/lib/blueprints/md2.d.ts +1 -3
- package/lib/blueprints/md3.d.ts +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.ts +2 -2
- package/lib/components/VApp/VApp.mjs +9 -8
- package/lib/components/VApp/VApp.mjs.map +1 -1
- 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.ts +4 -4
- package/lib/components/VAutocomplete/VAutocomplete.css +0 -4
- package/lib/components/VAutocomplete/VAutocomplete.mjs +33 -38
- package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.sass +0 -5
- package/lib/components/VAutocomplete/index.d.ts +76 -1183
- package/lib/components/VBadge/VBadge.mjs +33 -32
- package/lib/components/VBadge/VBadge.mjs.map +1 -1
- 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.ts +2 -2
- package/lib/components/VBottomNavigation/VBottomNavigation.mjs +35 -34
- package/lib/components/VBottomNavigation/VBottomNavigation.mjs.map +1 -1
- 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.ts +1 -0
- package/lib/components/VBtnToggle/VBtnToggle.mjs +6 -5
- package/lib/components/VBtnToggle/VBtnToggle.mjs.map +1 -1
- 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.ts +4 -4
- 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.ts +170 -20
- package/lib/components/VCheckbox/VCheckbox.mjs +6 -5
- package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
- package/lib/components/VCheckbox/index.d.ts +24 -12
- 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.ts +8 -8
- package/lib/components/VChipGroup/VChipGroup.mjs +19 -18
- package/lib/components/VChipGroup/VChipGroup.mjs.map +1 -1
- 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.ts +4 -4
- 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 +37 -41
- package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
- package/lib/components/VCombobox/index.d.ts +76 -1180
- package/lib/components/VCounter/VCounter.mjs +16 -15
- package/lib/components/VCounter/VCounter.mjs.map +1 -1
- package/lib/components/VCounter/index.d.ts +25 -1774
- package/lib/components/VDefaultsProvider/VDefaultsProvider.mjs +9 -8
- package/lib/components/VDefaultsProvider/VDefaultsProvider.mjs.map +1 -1
- package/lib/components/VDialog/VDialog.mjs +18 -17
- package/lib/components/VDialog/VDialog.mjs.map +1 -1
- package/lib/components/VDialog/index.d.ts +130 -1120
- package/lib/components/VDivider/VDivider.mjs +11 -10
- package/lib/components/VDivider/VDivider.mjs.map +1 -1
- 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.ts +15 -15
- package/lib/components/VField/VField.mjs +6 -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/VFileInput/VFileInput.mjs +35 -34
- package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
- package/lib/components/VFileInput/index.d.ts +3 -3
- package/lib/components/VFooter/VFooter.mjs +21 -20
- package/lib/components/VFooter/VFooter.mjs.map +1 -1
- package/lib/components/VForm/VForm.mjs +6 -5
- package/lib/components/VForm/VForm.mjs.map +1 -1
- package/lib/components/VForm/index.d.ts +6 -6
- 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/VHover/VHover.mjs +10 -9
- package/lib/components/VHover/VHover.mjs.map +1 -1
- package/lib/components/VImg/VImg.mjs +35 -34
- package/lib/components/VImg/VImg.mjs.map +1 -1
- package/lib/components/VImg/index.d.ts +12 -12
- package/lib/components/VItemGroup/VItemGroup.mjs +10 -9
- package/lib/components/VItemGroup/VItemGroup.mjs.map +1 -1
- package/lib/components/VLabel/VLabel.mjs +8 -7
- package/lib/components/VLabel/VLabel.mjs.map +1 -1
- 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/VLazy/VLazy.mjs +21 -20
- package/lib/components/VLazy/VLazy.mjs.map +1 -1
- package/lib/components/VList/VList.mjs +35 -34
- package/lib/components/VList/VList.mjs.map +1 -1
- package/lib/components/VList/VListChildren.mjs +5 -4
- 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 +42 -41
- 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.ts +38 -38
- 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/VMain/VMain.mjs +9 -8
- package/lib/components/VMain/VMain.mjs.map +1 -1
- package/lib/components/VMenu/VMenu.mjs +21 -20
- package/lib/components/VMenu/VMenu.mjs.map +1 -1
- package/lib/components/VMenu/index.d.ts +43 -1033
- package/lib/components/VMessages/VMessages.mjs +18 -17
- package/lib/components/VMessages/VMessages.mjs.map +1 -1
- package/lib/components/VMessages/index.d.ts +25 -1774
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +50 -49
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
- package/lib/components/VNavigationDrawer/index.d.ts +3 -3
- 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/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.ts +8 -8
- package/lib/components/VParallax/VParallax.mjs +9 -8
- package/lib/components/VParallax/VParallax.mjs.map +1 -1
- package/lib/components/VProgressCircular/VProgressCircular.mjs +25 -24
- package/lib/components/VProgressCircular/VProgressCircular.mjs.map +1 -1
- package/lib/components/VProgressLinear/VProgressLinear.mjs +44 -42
- package/lib/components/VProgressLinear/VProgressLinear.mjs.map +1 -1
- package/lib/components/VProgressLinear/index.d.ts +8 -8
- package/lib/components/VRadio/VRadio.mjs +8 -7
- package/lib/components/VRadio/VRadio.mjs.map +1 -1
- package/lib/components/VRadio/index.d.ts +18 -12
- package/lib/components/VRadioGroup/VRadioGroup.mjs +22 -21
- package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
- package/lib/components/VRadioGroup/index.d.ts +16 -10
- package/lib/components/VRangeSlider/VRangeSlider.mjs +18 -13
- package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
- package/lib/components/VRating/VRating.mjs +49 -45
- package/lib/components/VRating/VRating.mjs.map +1 -1
- package/lib/components/VRating/index.d.ts +8 -8
- package/lib/components/VResponsive/VResponsive.mjs +8 -7
- package/lib/components/VResponsive/VResponsive.mjs.map +1 -1
- package/lib/components/VSelect/VSelect.mjs +22 -21
- package/lib/components/VSelect/VSelect.mjs.map +1 -1
- package/lib/components/VSelect/index.d.ts +73 -2515
- package/lib/components/VSelectionControl/VSelectionControl.mjs +3 -3
- package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
- package/lib/components/VSelectionControl/index.d.ts +45 -39
- package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs +10 -10
- package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs.map +1 -1
- package/lib/components/VSelectionControlGroup/index.d.ts +28 -28
- package/lib/components/VSheet/VSheet.mjs +1 -3
- package/lib/components/VSheet/VSheet.mjs.map +1 -1
- 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.ts +3 -3
- 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/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/VSwitch/VSwitch.mjs +13 -12
- package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
- package/lib/components/VSwitch/index.d.ts +18 -12
- package/lib/components/VSystemBar/VSystemBar.mjs +15 -14
- package/lib/components/VSystemBar/VSystemBar.mjs.map +1 -1
- package/lib/components/VTable/VTable.mjs +12 -11
- package/lib/components/VTable/VTable.mjs.map +1 -1
- 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.ts +12 -12
- package/lib/components/VTextField/index.d.ts +3 -3
- package/lib/components/VTextarea/VTextarea.mjs +31 -27
- package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
- package/lib/components/VTextarea/index.d.ts +3 -3
- package/lib/components/VThemeProvider/VThemeProvider.mjs +8 -7
- package/lib/components/VThemeProvider/VThemeProvider.mjs.map +1 -1
- 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/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.ts +11 -11
- package/lib/components/VTooltip/VTooltip.mjs +20 -19
- package/lib/components/VTooltip/VTooltip.mjs.map +1 -1
- package/lib/components/VValidation/VValidation.mjs +1 -3
- package/lib/components/VValidation/VValidation.mjs.map +1 -1
- 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/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.ts +9 -9
- package/lib/components/index.d.ts +1328 -11279
- 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.ts +143 -143
- 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/hydration.mjs +6 -6
- package/lib/composables/hydration.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.ts +15 -10
- package/lib/labs/VDataTable/VDataTable.mjs +54 -59
- 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 +16 -15
- 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 -64
- package/lib/labs/VDataTable/VDataTableServer.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableVirtual.mjs +70 -77
- 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.ts +991 -206
- package/lib/labs/VInfiniteScroll/VInfiniteScroll.mjs +54 -48
- package/lib/labs/VInfiniteScroll/VInfiniteScroll.mjs.map +1 -1
- package/lib/labs/VInfiniteScroll/index.d.ts +16 -1
- package/lib/labs/VSkeletonLoader/VSkeletonLoader.mjs +18 -17
- package/lib/labs/VSkeletonLoader/VSkeletonLoader.mjs.map +1 -1
- package/lib/labs/VSkeletonLoader/index.d.ts +9 -9
- package/lib/labs/components.d.ts +1011 -211
- package/lib/labs/date/date.mjs +7 -7
- package/lib/labs/date/date.mjs.map +1 -1
- package/lib/labs/date/index.d.ts +1 -3
- package/lib/locale/adapters/vuetify.mjs +8 -5
- package/lib/locale/adapters/vuetify.mjs.map +1 -1
- package/package.json +2 -2
|
@@ -7,27 +7,28 @@ import { useExpanded } from "./composables/expand.mjs";
|
|
|
7
7
|
import { useHeaders } from "./composables/headers.mjs";
|
|
8
8
|
import { useSelection } from "./composables/select.mjs";
|
|
9
9
|
import { useGroupBy } from "./composables/group.mjs"; // Utilities
|
|
10
|
-
import { genericComponent, useRender } from "../../util/index.mjs"; // Types
|
|
10
|
+
import { genericComponent, propsFactory, useRender } from "../../util/index.mjs"; // Types
|
|
11
|
+
export const makeVDataTableRowsProps = propsFactory({
|
|
12
|
+
loading: [Boolean, String],
|
|
13
|
+
loadingText: {
|
|
14
|
+
type: String,
|
|
15
|
+
default: '$vuetify.dataIterator.loadingText'
|
|
16
|
+
},
|
|
17
|
+
hideNoData: Boolean,
|
|
18
|
+
items: {
|
|
19
|
+
type: Array,
|
|
20
|
+
default: () => []
|
|
21
|
+
},
|
|
22
|
+
noDataText: {
|
|
23
|
+
type: String,
|
|
24
|
+
default: '$vuetify.noDataText'
|
|
25
|
+
},
|
|
26
|
+
rowHeight: Number,
|
|
27
|
+
'onClick:row': Function
|
|
28
|
+
}, 'v-data-table-rows');
|
|
11
29
|
export const VDataTableRows = genericComponent()({
|
|
12
30
|
name: 'VDataTableRows',
|
|
13
|
-
props:
|
|
14
|
-
loading: [Boolean, String],
|
|
15
|
-
loadingText: {
|
|
16
|
-
type: String,
|
|
17
|
-
default: '$vuetify.dataIterator.loadingText'
|
|
18
|
-
},
|
|
19
|
-
hideNoData: Boolean,
|
|
20
|
-
items: {
|
|
21
|
-
type: Array,
|
|
22
|
-
default: () => []
|
|
23
|
-
},
|
|
24
|
-
noDataText: {
|
|
25
|
-
type: String,
|
|
26
|
-
default: '$vuetify.noDataText'
|
|
27
|
-
},
|
|
28
|
-
rowHeight: Number,
|
|
29
|
-
'onClick:row': Function
|
|
30
|
-
},
|
|
31
|
+
props: makeVDataTableRowsProps(),
|
|
31
32
|
setup(props, _ref) {
|
|
32
33
|
let {
|
|
33
34
|
emit,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VDataTableRows.mjs","names":["VDataTableGroupHeaderRow","VDataTableRow","useLocale","useExpanded","useHeaders","useSelection","useGroupBy","genericComponent","
|
|
1
|
+
{"version":3,"file":"VDataTableRows.mjs","names":["VDataTableGroupHeaderRow","VDataTableRow","useLocale","useExpanded","useHeaders","useSelection","useGroupBy","genericComponent","propsFactory","useRender","makeVDataTableRowsProps","loading","Boolean","String","loadingText","type","default","hideNoData","items","Array","noDataText","rowHeight","Number","Function","VDataTableRows","name","props","setup","_ref","emit","slots","columns","expandOnClick","toggleExpand","isExpanded","isSelected","toggleSelect","toggleGroup","isGroupOpen","t","_createVNode","value","length","_Fragment","map","item","index","id","slotProps","event","undefined"],"sources":["../../../src/labs/VDataTable/VDataTableRows.tsx"],"sourcesContent":["// Components\nimport { VDataTableGroupHeaderRow } from './VDataTableGroupHeaderRow'\nimport { VDataTableRow } from './VDataTableRow'\n\n// Composables\nimport { useLocale } from '@/composables/locale'\nimport { useExpanded } from './composables/expand'\nimport { useHeaders } from './composables/headers'\nimport { useSelection } from './composables/select'\nimport { useGroupBy } from './composables/group'\n\n// Utilities\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { DataTableItem, GroupHeaderItem, InternalDataTableHeader, InternalDataTableItem } from './types'\nimport type { PropType } from 'vue'\n\ntype GroupHeaderSlot = {\n index: number\n item: GroupHeaderItem\n columns: InternalDataTableHeader[]\n isExpanded: (item: DataTableItem) => boolean\n toggleExpand: (item: DataTableItem) => void\n isSelected: (items: DataTableItem[]) => boolean\n toggleSelect: (item: DataTableItem) => void\n toggleGroup: (group: GroupHeaderItem) => void\n isGroupOpen: (group: GroupHeaderItem) => boolean\n}\n\ntype ItemSlot = {\n index: number\n item: DataTableItem\n columns: InternalDataTableHeader[]\n isExpanded: (item: DataTableItem) => boolean\n toggleExpand: (item: DataTableItem) => void\n isSelected: (items: DataTableItem[]) => boolean\n toggleSelect: (item: DataTableItem) => void\n}\n\nexport type VDataTableRowsSlots = {\n default: []\n item: [ItemSlot]\n loading: []\n 'group-header': [GroupHeaderSlot]\n 'no-data': []\n 'expanded-row': [ItemSlot]\n 'item.data-table-select': [ItemSlot]\n 'item.data-table-expand': [ItemSlot]\n} & { [key: `item.${string}`]: [ItemSlot] }\n\nexport const makeVDataTableRowsProps = propsFactory({\n loading: [Boolean, String],\n loadingText: {\n type: String,\n default: '$vuetify.dataIterator.loadingText',\n },\n hideNoData: Boolean,\n items: {\n type: Array as PropType<InternalDataTableItem[]>,\n default: () => ([]),\n },\n noDataText: {\n type: String,\n default: '$vuetify.noDataText',\n },\n rowHeight: Number,\n 'onClick:row': Function as PropType<(e: Event, value: { item: DataTableItem }) => void>,\n}, 'v-data-table-rows')\n\nexport const VDataTableRows = genericComponent<VDataTableRowsSlots>()({\n name: 'VDataTableRows',\n\n props: makeVDataTableRowsProps(),\n\n setup (props, { emit, slots }) {\n const { columns } = useHeaders()\n const { expandOnClick, toggleExpand, isExpanded } = useExpanded()\n const { isSelected, toggleSelect } = useSelection()\n const { toggleGroup, isGroupOpen } = useGroupBy()\n const { t } = useLocale()\n\n useRender(() => {\n if (props.loading && slots.loading) {\n return (\n <tr\n class=\"v-data-table-rows-loading\"\n key=\"loading\"\n >\n <td colspan={ columns.value.length }>\n { slots.loading() }\n </td>\n </tr>\n )\n }\n\n if (!props.loading && !props.items.length && !props.hideNoData) {\n return (\n <tr\n class=\"v-data-table-rows-no-data\"\n key=\"no-data\"\n >\n <td colspan={ columns.value.length }>\n { slots['no-data']?.() ?? t(props.noDataText) }\n </td>\n </tr>\n )\n }\n\n return (\n <>\n { props.items.map((item, index) => {\n if (item.type === 'group-header') {\n return slots['group-header'] ? slots['group-header']({\n index,\n item,\n columns: columns.value,\n isExpanded,\n toggleExpand,\n isSelected,\n toggleSelect,\n toggleGroup,\n isGroupOpen,\n } as GroupHeaderSlot) : (\n <VDataTableGroupHeaderRow\n key={ `group-header_${item.id}` }\n item={ item }\n v-slots={ slots }\n />\n )\n }\n\n const slotProps = {\n index,\n item,\n columns: columns.value,\n isExpanded,\n toggleExpand,\n isSelected,\n toggleSelect,\n } as ItemSlot\n\n return (\n <>\n { slots.item ? slots.item(slotProps) : (\n <VDataTableRow\n key={ `item_${item.value}` }\n onClick={ expandOnClick.value || props['onClick:row'] ? (event: Event) => {\n if (expandOnClick.value) {\n toggleExpand(item)\n }\n props['onClick:row']?.(event, { item })\n } : undefined }\n index={ index }\n item={ item }\n v-slots={ slots }\n />\n )}\n\n { isExpanded(item) && slots['expanded-row']?.(slotProps) }\n </>\n )\n })}\n </>\n )\n })\n\n return {}\n },\n})\n\nexport type VDataTableRows = InstanceType<typeof VDataTableRows>\n"],"mappings":"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"}
|
|
@@ -1,43 +1,33 @@
|
|
|
1
|
-
import { createVNode as _createVNode, resolveDirective as _resolveDirective, Fragment as _Fragment } from "vue";
|
|
1
|
+
import { createVNode as _createVNode, mergeProps as _mergeProps, resolveDirective as _resolveDirective, Fragment as _Fragment } from "vue";
|
|
2
2
|
// Components
|
|
3
|
-
import {
|
|
4
|
-
import { VDataTableFooter } from "./VDataTableFooter.mjs";
|
|
3
|
+
import { makeVDataTableFooterProps, VDataTableFooter } from "./VDataTableFooter.mjs";
|
|
5
4
|
import { VDataTableHeaders } from "./VDataTableHeaders.mjs";
|
|
6
|
-
import { VDataTableRows } from "./VDataTableRows.mjs";
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import { createHeaders, makeDataTableHeaderProps } from "./composables/headers.mjs";
|
|
11
|
-
import { makeDataTableItemProps, useDataTableItems } from "./composables/items.mjs";
|
|
12
|
-
import { useOptions } from "./composables/options.mjs";
|
|
5
|
+
import { VDataTableRows } from "./VDataTableRows.mjs";
|
|
6
|
+
import { VTable } from "../../components/VTable/index.mjs"; // Composables
|
|
7
|
+
import { createGroupBy, provideGroupBy, useGroupedItems } from "./composables/group.mjs";
|
|
8
|
+
import { createHeaders } from "./composables/headers.mjs";
|
|
13
9
|
import { createPagination, makeDataTablePaginateProps, providePagination } from "./composables/paginate.mjs";
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
10
|
+
import { createSort, provideSort } from "./composables/sort.mjs";
|
|
11
|
+
import { makeDataTableProps } from "./VDataTable.mjs";
|
|
12
|
+
import { provideDefaults } from "../../composables/defaults.mjs";
|
|
13
|
+
import { provideExpanded } from "./composables/expand.mjs";
|
|
14
|
+
import { provideSelection } from "./composables/select.mjs";
|
|
15
|
+
import { useDataTableItems } from "./composables/items.mjs";
|
|
16
|
+
import { useOptions } from "./composables/options.mjs"; // Utilities
|
|
16
17
|
import { computed, provide, toRef } from 'vue';
|
|
17
|
-
import { genericComponent, useRender } from "../../util/index.mjs";
|
|
18
|
-
|
|
18
|
+
import { genericComponent, propsFactory, useRender } from "../../util/index.mjs"; // Types
|
|
19
|
+
export const makeVDataTableServerProps = propsFactory({
|
|
20
|
+
itemsLength: {
|
|
21
|
+
type: [Number, String],
|
|
22
|
+
required: true
|
|
23
|
+
},
|
|
24
|
+
...makeDataTablePaginateProps(),
|
|
25
|
+
...makeDataTableProps(),
|
|
26
|
+
...makeVDataTableFooterProps()
|
|
27
|
+
}, 'v-data-table-server');
|
|
19
28
|
export const VDataTableServer = genericComponent()({
|
|
20
29
|
name: 'VDataTableServer',
|
|
21
|
-
props:
|
|
22
|
-
color: String,
|
|
23
|
-
loading: [Boolean, String],
|
|
24
|
-
loadingText: {
|
|
25
|
-
type: String,
|
|
26
|
-
default: '$vuetify.dataIterator.loadingText'
|
|
27
|
-
},
|
|
28
|
-
itemsLength: {
|
|
29
|
-
type: [Number, String],
|
|
30
|
-
required: true
|
|
31
|
-
},
|
|
32
|
-
...makeVDataTableProps(),
|
|
33
|
-
...makeDataTableExpandProps(),
|
|
34
|
-
...makeDataTableHeaderProps(),
|
|
35
|
-
...makeDataTableItemProps(),
|
|
36
|
-
...makeDataTableSelectProps(),
|
|
37
|
-
...makeDataTableSortProps(),
|
|
38
|
-
...makeDataTablePaginateProps(),
|
|
39
|
-
...makeDataTableGroupProps()
|
|
40
|
-
},
|
|
30
|
+
props: makeVDataTableServerProps(),
|
|
41
31
|
emits: {
|
|
42
32
|
'update:modelValue': value => true,
|
|
43
33
|
'update:page': page => true,
|
|
@@ -119,36 +109,36 @@ export const VDataTableServer = genericComponent()({
|
|
|
119
109
|
loadingText: toRef(props, 'loadingText')
|
|
120
110
|
}
|
|
121
111
|
});
|
|
122
|
-
useRender(() =>
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
"
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
})
|
|
151
|
-
})
|
|
112
|
+
useRender(() => {
|
|
113
|
+
const [dataTableFooterProps] = VDataTableFooter.filterProps(props);
|
|
114
|
+
const [dataTableHeadersProps] = VDataTableHeaders.filterProps(props);
|
|
115
|
+
const [dataTableRowsProps] = VDataTableRows.filterProps(props);
|
|
116
|
+
const [tableProps] = VTable.filterProps(props);
|
|
117
|
+
return _createVNode(VTable, _mergeProps({
|
|
118
|
+
"class": ['v-data-table', {
|
|
119
|
+
'v-data-table--loading': props.loading
|
|
120
|
+
}, props.class],
|
|
121
|
+
"style": props.style
|
|
122
|
+
}, tableProps), {
|
|
123
|
+
top: slots.top,
|
|
124
|
+
default: slots.default ?? (() => _createVNode(_Fragment, null, [slots.colgroup?.({
|
|
125
|
+
columns
|
|
126
|
+
}), _createVNode("thead", {
|
|
127
|
+
"class": "v-data-table__thead",
|
|
128
|
+
"role": "rowgroup"
|
|
129
|
+
}, [_createVNode(VDataTableHeaders, _mergeProps(dataTableHeadersProps, {
|
|
130
|
+
"sticky": props.fixedHeader
|
|
131
|
+
}), slots)]), slots.thead?.(), _createVNode("tbody", {
|
|
132
|
+
"class": "v-data-table__tbody",
|
|
133
|
+
"role": "rowgroup"
|
|
134
|
+
}, [slots.body ? slots.body() : _createVNode(VDataTableRows, _mergeProps(dataTableRowsProps, {
|
|
135
|
+
"items": flatItems.value
|
|
136
|
+
}), slots)]), slots.tbody?.(), slots.tfoot?.()])),
|
|
137
|
+
bottom: slots.bottom ?? (() => _createVNode(VDataTableFooter, dataTableFooterProps, {
|
|
138
|
+
prepend: slots['footer.prepend']
|
|
139
|
+
}))
|
|
140
|
+
});
|
|
141
|
+
});
|
|
152
142
|
}
|
|
153
143
|
});
|
|
154
144
|
//# sourceMappingURL=VDataTableServer.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VDataTableServer.mjs","names":["VTable","VDataTableFooter","VDataTableHeaders","VDataTableRows","provideDefaults","makeDataTableExpandProps","provideExpanded","createGroupBy","makeDataTableGroupProps","provideGroupBy","useGroupedItems","createHeaders","makeDataTableHeaderProps","makeDataTableItemProps","useDataTableItems","useOptions","createPagination","makeDataTablePaginateProps","providePagination","makeDataTableSelectProps","provideSelection","createSort","makeDataTableSortProps","provideSort","computed","provide","toRef","genericComponent","useRender","makeVDataTableProps","VDataTableServer","name","props","color","String","loading","Boolean","loadingText","type","default","itemsLength","Number","required","emits","value","page","sortBy","options","click:row","e","setup","_ref","emit","slots","groupBy","multiSort","mustSort","itemsPerPage","parseInt","columns","showSelect","showExpand","items","toggleSort","opened","flatItems","search","hideNoData","noDataText","_createVNode","fixedHeader","fixedFooter","height","hover","top","_Fragment","colgroup","thead","body","tbody","tfoot","bottom","prepend"],"sources":["../../../src/labs/VDataTable/VDataTableServer.tsx"],"sourcesContent":["// Components\nimport { VTable } from '@/components/VTable'\nimport { VDataTableFooter } from './VDataTableFooter'\nimport { VDataTableHeaders } from './VDataTableHeaders'\nimport { VDataTableRows } from './VDataTableRows'\n\n// Composables\nimport { provideDefaults } from '@/composables/defaults'\nimport { makeDataTableExpandProps, provideExpanded } from './composables/expand'\nimport { createGroupBy, makeDataTableGroupProps, provideGroupBy, useGroupedItems } from './composables/group'\nimport { createHeaders, makeDataTableHeaderProps } from './composables/headers'\nimport { makeDataTableItemProps, useDataTableItems } from './composables/items'\nimport { useOptions } from './composables/options'\nimport { createPagination, makeDataTablePaginateProps, providePagination } from './composables/paginate'\nimport { makeDataTableSelectProps, provideSelection } from './composables/select'\nimport { createSort, makeDataTableSortProps, provideSort } from './composables/sort'\n\n// Utilities\nimport { computed, provide, toRef } from 'vue'\nimport { genericComponent, useRender } from '@/util'\nimport { makeVDataTableProps } from './VDataTable'\n\n// Types\nimport type { DataTableItem } from './types'\nimport type { VDataTableSlots } from './VDataTable'\n\nexport const VDataTableServer = genericComponent<VDataTableSlots>()({\n name: 'VDataTableServer',\n\n props: {\n color: String,\n loading: [Boolean, String],\n loadingText: {\n type: String,\n default: '$vuetify.dataIterator.loadingText',\n },\n itemsLength: {\n type: [Number, String],\n required: true,\n },\n\n ...makeVDataTableProps(),\n ...makeDataTableExpandProps(),\n ...makeDataTableHeaderProps(),\n ...makeDataTableItemProps(),\n ...makeDataTableSelectProps(),\n ...makeDataTableSortProps(),\n ...makeDataTablePaginateProps(),\n ...makeDataTableGroupProps(),\n },\n\n emits: {\n 'update:modelValue': (value: any[]) => true,\n 'update:page': (page: number) => true,\n 'update:itemsPerPage': (page: number) => true,\n 'update:sortBy': (sortBy: any) => true,\n 'update:options': (options: any) => true,\n 'update:expanded': (options: any) => true,\n 'update:groupBy': (value: any) => true,\n 'click:row': (e: Event, value: { item: DataTableItem }) => true,\n },\n\n setup (props, { emit, slots }) {\n const { groupBy } = createGroupBy(props)\n const { sortBy, multiSort, mustSort } = createSort(props)\n const { page, itemsPerPage } = createPagination(props)\n const itemsLength = computed(() => parseInt(props.itemsLength, 10))\n\n provideExpanded(props)\n\n const { columns } = createHeaders(props, {\n groupBy,\n showSelect: toRef(props, 'showSelect'),\n showExpand: toRef(props, 'showExpand'),\n })\n\n const { items } = useDataTableItems(props, columns)\n\n const { toggleSort } = provideSort({ sortBy, multiSort, mustSort, page })\n\n const { opened } = provideGroupBy({ groupBy, sortBy })\n\n providePagination({ page, itemsPerPage, itemsLength })\n\n const { flatItems } = useGroupedItems(items, groupBy, opened)\n\n provideSelection(props, items)\n\n useOptions({\n page,\n itemsPerPage,\n sortBy,\n groupBy,\n search: toRef(props, 'search'),\n })\n\n provide('v-data-table', {\n toggleSort,\n sortBy,\n })\n\n provideDefaults({\n VDataTableRows: {\n hideNoData: toRef(props, 'hideNoData'),\n noDataText: toRef(props, 'noDataText'),\n loading: toRef(props, 'loading'),\n loadingText: toRef(props, 'loadingText'),\n },\n })\n\n useRender(() => (\n <VTable\n class={[\n 'v-data-table',\n {\n 'v-data-table--loading': props.loading,\n },\n ]}\n fixedHeader={ props.fixedHeader }\n fixedFooter={ props.fixedFooter }\n height={ props.height }\n hover={ props.hover }\n >\n {{\n top: slots.top,\n default: slots.default ?? (() => (\n <>\n { slots.colgroup?.({ columns }) }\n <thead class=\"v-data-table__thead\" role=\"rowgroup\">\n <VDataTableHeaders\n sticky={ props.fixedHeader }\n loading={ props.loading }\n color={ props.color }\n v-slots={ slots }\n />\n </thead>\n { slots.thead?.() }\n <tbody class=\"v-data-table__tbody\" role=\"rowgroup\">\n { slots.body ? slots.body() : (\n <VDataTableRows\n items={ flatItems.value }\n onClick:row={ props['onClick:row'] }\n v-slots={ slots }\n />\n )}\n </tbody>\n { slots.tbody?.() }\n { slots.tfoot?.() }\n </>\n )),\n bottom: slots.bottom ?? (() => (\n <VDataTableFooter\n v-slots={{\n prepend: slots['footer.prepend'],\n }}\n />\n )),\n }}\n </VTable>\n ))\n },\n})\n\nexport type VDataTableServer = InstanceType<typeof VDataTableServer>\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"VDataTableServer.mjs","names":["makeVDataTableFooterProps","VDataTableFooter","VDataTableHeaders","VDataTableRows","VTable","createGroupBy","provideGroupBy","useGroupedItems","createHeaders","createPagination","makeDataTablePaginateProps","providePagination","createSort","provideSort","makeDataTableProps","provideDefaults","provideExpanded","provideSelection","useDataTableItems","useOptions","computed","provide","toRef","genericComponent","propsFactory","useRender","makeVDataTableServerProps","itemsLength","type","Number","String","required","VDataTableServer","name","props","emits","value","page","sortBy","options","click:row","e","setup","_ref","emit","slots","groupBy","multiSort","mustSort","itemsPerPage","parseInt","columns","showSelect","showExpand","items","toggleSort","opened","flatItems","search","hideNoData","noDataText","loading","loadingText","dataTableFooterProps","filterProps","dataTableHeadersProps","dataTableRowsProps","tableProps","_createVNode","_mergeProps","class","style","top","default","_Fragment","colgroup","fixedHeader","thead","body","tbody","tfoot","bottom","prepend"],"sources":["../../../src/labs/VDataTable/VDataTableServer.tsx"],"sourcesContent":["// Components\nimport { makeVDataTableFooterProps, VDataTableFooter } from './VDataTableFooter'\nimport { VDataTableHeaders } from './VDataTableHeaders'\nimport { VDataTableRows } from './VDataTableRows'\nimport { VTable } from '@/components/VTable'\n\n// Composables\nimport { createGroupBy, provideGroupBy, useGroupedItems } from './composables/group'\nimport { createHeaders } from './composables/headers'\nimport { createPagination, makeDataTablePaginateProps, providePagination } from './composables/paginate'\nimport { createSort, provideSort } from './composables/sort'\nimport { makeDataTableProps } from './VDataTable'\nimport { provideDefaults } from '@/composables/defaults'\nimport { provideExpanded } from './composables/expand'\nimport { provideSelection } from './composables/select'\nimport { useDataTableItems } from './composables/items'\nimport { useOptions } from './composables/options'\n\n// Utilities\nimport { computed, provide, toRef } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { DataTableItem } from './types'\nimport type { VDataTableSlots } from './VDataTable'\n\nexport const makeVDataTableServerProps = propsFactory({\n itemsLength: {\n type: [Number, String],\n required: true,\n },\n\n ...makeDataTablePaginateProps(),\n ...makeDataTableProps(),\n ...makeVDataTableFooterProps(),\n}, 'v-data-table-server')\n\nexport const VDataTableServer = genericComponent<VDataTableSlots>()({\n name: 'VDataTableServer',\n\n props: makeVDataTableServerProps(),\n\n emits: {\n 'update:modelValue': (value: any[]) => true,\n 'update:page': (page: number) => true,\n 'update:itemsPerPage': (page: number) => true,\n 'update:sortBy': (sortBy: any) => true,\n 'update:options': (options: any) => true,\n 'update:expanded': (options: any) => true,\n 'update:groupBy': (value: any) => true,\n 'click:row': (e: Event, value: { item: DataTableItem }) => true,\n },\n\n setup (props, { emit, slots }) {\n const { groupBy } = createGroupBy(props)\n const { sortBy, multiSort, mustSort } = createSort(props)\n const { page, itemsPerPage } = createPagination(props)\n const itemsLength = computed(() => parseInt(props.itemsLength, 10))\n\n provideExpanded(props)\n\n const { columns } = createHeaders(props, {\n groupBy,\n showSelect: toRef(props, 'showSelect'),\n showExpand: toRef(props, 'showExpand'),\n })\n\n const { items } = useDataTableItems(props, columns)\n\n const { toggleSort } = provideSort({ sortBy, multiSort, mustSort, page })\n\n const { opened } = provideGroupBy({ groupBy, sortBy })\n\n providePagination({ page, itemsPerPage, itemsLength })\n\n const { flatItems } = useGroupedItems(items, groupBy, opened)\n\n provideSelection(props, items)\n\n useOptions({\n page,\n itemsPerPage,\n sortBy,\n groupBy,\n search: toRef(props, 'search'),\n })\n\n provide('v-data-table', {\n toggleSort,\n sortBy,\n })\n\n provideDefaults({\n VDataTableRows: {\n hideNoData: toRef(props, 'hideNoData'),\n noDataText: toRef(props, 'noDataText'),\n loading: toRef(props, 'loading'),\n loadingText: toRef(props, 'loadingText'),\n },\n })\n\n useRender(() => {\n const [dataTableFooterProps] = VDataTableFooter.filterProps(props)\n const [dataTableHeadersProps] = VDataTableHeaders.filterProps(props)\n const [dataTableRowsProps] = VDataTableRows.filterProps(props)\n const [tableProps] = VTable.filterProps(props)\n\n return (\n <VTable\n class={[\n 'v-data-table',\n {\n 'v-data-table--loading': props.loading,\n },\n props.class,\n ]}\n style={ props.style }\n { ...tableProps }\n >\n {{\n top: slots.top,\n default: slots.default ?? (() => (\n <>\n { slots.colgroup?.({ columns }) }\n <thead class=\"v-data-table__thead\" role=\"rowgroup\">\n <VDataTableHeaders\n { ...dataTableHeadersProps }\n sticky={ props.fixedHeader }\n v-slots={ slots }\n />\n </thead>\n { slots.thead?.() }\n <tbody class=\"v-data-table__tbody\" role=\"rowgroup\">\n { slots.body ? slots.body() : (\n <VDataTableRows\n { ...dataTableRowsProps }\n items={ flatItems.value }\n v-slots={ slots }\n />\n )}\n </tbody>\n { slots.tbody?.() }\n { slots.tfoot?.() }\n </>\n )),\n bottom: slots.bottom ?? (() => (\n <VDataTableFooter\n { ...dataTableFooterProps }\n v-slots={{\n prepend: slots['footer.prepend'],\n }}\n />\n )),\n }}\n </VTable>\n )\n })\n },\n})\n\nexport type VDataTableServer = InstanceType<typeof VDataTableServer>\n"],"mappings":"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"}
|
|
@@ -1,35 +1,29 @@
|
|
|
1
|
-
import { createVNode as _createVNode, resolveDirective as _resolveDirective } from "vue";
|
|
1
|
+
import { createVNode as _createVNode, mergeProps as _mergeProps, resolveDirective as _resolveDirective } from "vue";
|
|
2
2
|
// Components
|
|
3
|
-
import { VTable } from "../../components/VTable/index.mjs";
|
|
4
3
|
import { VDataTableHeaders } from "./VDataTableHeaders.mjs";
|
|
5
|
-
import { VDataTableRows } from "./VDataTableRows.mjs";
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import { createSort,
|
|
10
|
-
import {
|
|
11
|
-
import { makeDataTableSelectProps, provideSelection } from "./composables/select.mjs";
|
|
4
|
+
import { VDataTableRows } from "./VDataTableRows.mjs";
|
|
5
|
+
import { VTable } from "../../components/VTable/index.mjs"; // Composables
|
|
6
|
+
import { createGroupBy, provideGroupBy, useGroupedItems } from "./composables/group.mjs";
|
|
7
|
+
import { createHeaders } from "./composables/headers.mjs";
|
|
8
|
+
import { createSort, provideSort, useSortedItems } from "./composables/sort.mjs";
|
|
9
|
+
import { makeDataTableProps } from "./VDataTable.mjs";
|
|
12
10
|
import { makeDataTableVirtualProps, useVirtual } from "./composables/virtual.mjs";
|
|
13
|
-
import { useOptions } from "./composables/options.mjs";
|
|
14
11
|
import { makeFilterProps, useFilter } from "../../composables/filter.mjs";
|
|
15
|
-
import { provideDefaults } from "../../composables/defaults.mjs";
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
18
|
-
import {
|
|
12
|
+
import { provideDefaults } from "../../composables/defaults.mjs";
|
|
13
|
+
import { provideExpanded } from "./composables/expand.mjs";
|
|
14
|
+
import { provideSelection } from "./composables/select.mjs";
|
|
15
|
+
import { useDataTableItems } from "./composables/items.mjs";
|
|
16
|
+
import { useOptions } from "./composables/options.mjs"; // Utlities
|
|
17
|
+
import { computed, shallowRef, toRef } from 'vue';
|
|
18
|
+
import { convertToUnit, genericComponent, propsFactory, useRender } from "../../util/index.mjs"; // Types
|
|
19
|
+
export const makeVDataTableVirtualProps = propsFactory({
|
|
20
|
+
...makeDataTableProps(),
|
|
21
|
+
...makeDataTableVirtualProps(),
|
|
22
|
+
...makeFilterProps()
|
|
23
|
+
}, 'v-data-table-virtual');
|
|
19
24
|
export const VDataTableVirtual = genericComponent()({
|
|
20
25
|
name: 'VDataTableVirtual',
|
|
21
|
-
props:
|
|
22
|
-
...makeVDataTableProps(),
|
|
23
|
-
...makeVDataTableProps(),
|
|
24
|
-
...makeDataTableGroupProps(),
|
|
25
|
-
...makeDataTableExpandProps(),
|
|
26
|
-
...makeDataTableHeaderProps(),
|
|
27
|
-
...makeDataTableItemProps(),
|
|
28
|
-
...makeDataTableSelectProps(),
|
|
29
|
-
...makeDataTableSortProps(),
|
|
30
|
-
...makeDataTableVirtualProps(),
|
|
31
|
-
...makeFilterProps()
|
|
32
|
-
},
|
|
26
|
+
props: makeVDataTableVirtualProps(),
|
|
33
27
|
emits: {
|
|
34
28
|
'update:modelValue': value => true,
|
|
35
29
|
'update:sortBy': value => true,
|
|
@@ -104,8 +98,8 @@ export const VDataTableVirtual = genericComponent()({
|
|
|
104
98
|
});
|
|
105
99
|
useOptions({
|
|
106
100
|
sortBy,
|
|
107
|
-
page:
|
|
108
|
-
itemsPerPage:
|
|
101
|
+
page: shallowRef(1),
|
|
102
|
+
itemsPerPage: shallowRef(-1),
|
|
109
103
|
groupBy,
|
|
110
104
|
search
|
|
111
105
|
});
|
|
@@ -115,55 +109,54 @@ export const VDataTableVirtual = genericComponent()({
|
|
|
115
109
|
noDataText: toRef(props, 'noDataText')
|
|
116
110
|
}
|
|
117
111
|
});
|
|
118
|
-
useRender(() =>
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
"
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
"
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
}));
|
|
112
|
+
useRender(() => {
|
|
113
|
+
const [dataTableHeadersProps] = VDataTableHeaders.filterProps(props);
|
|
114
|
+
const [dataTableRowsProps] = VDataTableRows.filterProps(props);
|
|
115
|
+
const [tableProps] = VTable.filterProps(props);
|
|
116
|
+
return _createVNode(VTable, _mergeProps({
|
|
117
|
+
"class": ['v-data-table', props.class],
|
|
118
|
+
"style": [{
|
|
119
|
+
'--v-table-row-height': convertToUnit(itemHeight.value)
|
|
120
|
+
}, props.style]
|
|
121
|
+
}, tableProps), {
|
|
122
|
+
top: slots.top,
|
|
123
|
+
wrapper: () => _createVNode("div", {
|
|
124
|
+
"ref": containerRef,
|
|
125
|
+
"onScroll": handleScroll,
|
|
126
|
+
"class": "v-table__wrapper",
|
|
127
|
+
"style": {
|
|
128
|
+
height: convertToUnit(props.height)
|
|
129
|
+
}
|
|
130
|
+
}, [_createVNode("table", null, [_createVNode("thead", null, [_createVNode(VDataTableHeaders, _mergeProps(dataTableHeadersProps, {
|
|
131
|
+
"sticky": props.fixedHeader
|
|
132
|
+
}), slots)]), _createVNode("tbody", null, [_createVNode("tr", {
|
|
133
|
+
"style": {
|
|
134
|
+
height: convertToUnit(paddingTop.value),
|
|
135
|
+
border: 0
|
|
136
|
+
}
|
|
137
|
+
}, [_createVNode("td", {
|
|
138
|
+
"colspan": columns.value.length,
|
|
139
|
+
"style": {
|
|
140
|
+
height: convertToUnit(paddingTop.value),
|
|
141
|
+
border: 0
|
|
142
|
+
}
|
|
143
|
+
}, null)]), _createVNode(VDataTableRows, _mergeProps(dataTableRowsProps, {
|
|
144
|
+
"items": visibleItems.value
|
|
145
|
+
}), slots), _createVNode("tr", {
|
|
146
|
+
"style": {
|
|
147
|
+
height: convertToUnit(paddingBottom.value),
|
|
148
|
+
border: 0
|
|
149
|
+
}
|
|
150
|
+
}, [_createVNode("td", {
|
|
151
|
+
"colspan": columns.value.length,
|
|
152
|
+
"style": {
|
|
153
|
+
height: convertToUnit(paddingBottom.value),
|
|
154
|
+
border: 0
|
|
155
|
+
}
|
|
156
|
+
}, null)])])])]),
|
|
157
|
+
bottom: slots.bottom
|
|
158
|
+
});
|
|
159
|
+
});
|
|
167
160
|
}
|
|
168
161
|
});
|
|
169
162
|
//# sourceMappingURL=VDataTableVirtual.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VDataTableVirtual.mjs","names":["VTable","VDataTableHeaders","VDataTableRows","createHeaders","makeDataTableHeaderProps","makeDataTableItemProps","useDataTableItems","makeDataTableExpandProps","provideExpanded","createSort","makeDataTableSortProps","provideSort","useSortedItems","createGroupBy","makeDataTableGroupProps","provideGroupBy","useGroupedItems","makeDataTableSelectProps","provideSelection","makeDataTableVirtualProps","useVirtual","useOptions","makeFilterProps","useFilter","provideDefaults","computed","ref","toRef","convertToUnit","genericComponent","useRender","makeVDataTableProps","VDataTableVirtual","name","props","emits","value","click:row","e","setup","_ref","emit","slots","groupBy","sortBy","multiSort","mustSort","columns","showSelect","showExpand","items","filterKeys","map","c","key","search","filteredItems","sortByWithGroups","opened","extractRows","sortedItems","flatItems","allRows","containerRef","paddingTop","paddingBottom","startIndex","stopIndex","itemHeight","handleScroll","visibleItems","slice","page","itemsPerPage","hideNoData","noDataText","_createVNode","fixedHeader","fixedFooter","height","hover","top","wrapper","border","length","bottom"],"sources":["../../../src/labs/VDataTable/VDataTableVirtual.tsx"],"sourcesContent":["// Components\nimport { VTable } from '@/components/VTable'\nimport { VDataTableHeaders } from './VDataTableHeaders'\nimport { VDataTableRows } from './VDataTableRows'\n\n// Composables\nimport { createHeaders, makeDataTableHeaderProps } from './composables/headers'\nimport { makeDataTableItemProps, useDataTableItems } from './composables/items'\nimport { makeDataTableExpandProps, provideExpanded } from './composables/expand'\nimport { createSort, makeDataTableSortProps, provideSort, useSortedItems } from './composables/sort'\nimport { createGroupBy, makeDataTableGroupProps, provideGroupBy, useGroupedItems } from './composables/group'\nimport { makeDataTableSelectProps, provideSelection } from './composables/select'\nimport { makeDataTableVirtualProps, useVirtual } from './composables/virtual'\nimport { useOptions } from './composables/options'\nimport { makeFilterProps, useFilter } from '@/composables/filter'\nimport { provideDefaults } from '@/composables/defaults'\n\n// Utlities\nimport { computed, ref, toRef } from 'vue'\nimport { convertToUnit, genericComponent, useRender } from '@/util'\nimport { makeVDataTableProps } from './VDataTable'\n\n// Types\nimport type { DataTableItem } from './types'\nimport type { VDataTableRowsSlots } from './VDataTableRows'\n\nexport type VDataTableVirtualSlots = VDataTableRowsSlots & {\n top: []\n headers: []\n bottom: []\n}\n\nexport const VDataTableVirtual = genericComponent<VDataTableVirtualSlots>()({\n name: 'VDataTableVirtual',\n\n props: {\n ...makeVDataTableProps(),\n ...makeVDataTableProps(),\n ...makeDataTableGroupProps(),\n ...makeDataTableExpandProps(),\n ...makeDataTableHeaderProps(),\n ...makeDataTableItemProps(),\n ...makeDataTableSelectProps(),\n ...makeDataTableSortProps(),\n ...makeDataTableVirtualProps(),\n ...makeFilterProps(),\n },\n\n emits: {\n 'update:modelValue': (value: any[]) => true,\n 'update:sortBy': (value: any) => true,\n 'update:options': (value: any) => true,\n 'update:groupBy': (value: any) => true,\n 'update:expanded': (value: any) => true,\n 'click:row': (e: Event, value: { item: DataTableItem }) => true,\n },\n\n setup (props, { emit, slots }) {\n const { groupBy } = createGroupBy(props)\n const { sortBy, multiSort, mustSort } = createSort(props)\n\n const { columns } = createHeaders(props, {\n groupBy,\n showSelect: toRef(props, 'showSelect'),\n showExpand: toRef(props, 'showExpand'),\n })\n const { items } = useDataTableItems(props, columns)\n\n const filterKeys = computed(() => columns.value.map(c => 'columns.' + c.key))\n const search = toRef(props, 'search')\n const { filteredItems } = useFilter<DataTableItem>(props, items, search, { filterKeys })\n\n provideSort({ sortBy, multiSort, mustSort })\n const { sortByWithGroups, opened, extractRows } = provideGroupBy({ groupBy, sortBy })\n\n const { sortedItems } = useSortedItems(filteredItems, sortByWithGroups, columns)\n const { flatItems } = useGroupedItems(sortedItems, groupBy, opened)\n\n const allRows = computed(() => extractRows(flatItems.value))\n\n provideSelection(props, allRows)\n provideExpanded(props)\n\n const {\n containerRef,\n paddingTop,\n paddingBottom,\n startIndex,\n stopIndex,\n itemHeight,\n handleScroll,\n } = useVirtual(props, flatItems)\n\n const visibleItems = computed(() => {\n return flatItems.value.slice(startIndex.value, stopIndex.value)\n })\n\n useOptions({\n sortBy,\n page: ref(1),\n itemsPerPage: ref(-1),\n groupBy,\n search,\n })\n\n provideDefaults({\n VDataTableRows: {\n hideNoData: toRef(props, 'hideNoData'),\n noDataText: toRef(props, 'noDataText'),\n },\n })\n\n useRender(() => (\n <VTable\n class=\"v-data-table\"\n style={{\n '--v-table-row-height': convertToUnit(itemHeight.value),\n }}\n fixedHeader={ props.fixedHeader }\n fixedFooter={ props.fixedFooter }\n height={ props.height }\n hover={ props.hover }\n >\n {{\n top: slots.top,\n wrapper: () => (\n <div\n ref={ containerRef }\n onScroll={ handleScroll }\n class=\"v-table__wrapper\"\n style={{\n height: convertToUnit(props.height),\n }}\n >\n <table>\n <thead>\n <VDataTableHeaders\n sticky={ props.fixedHeader }\n multiSort={ props.multiSort }\n v-slots={ slots }\n />\n </thead>\n <tbody>\n <tr style={{ height: convertToUnit(paddingTop.value), border: 0 }}>\n <td colspan={ columns.value.length } style={{ height: convertToUnit(paddingTop.value), border: 0 }}></td>\n </tr>\n\n <VDataTableRows\n items={ visibleItems.value }\n onClick:row={ props['onClick:row'] }\n v-slots={ slots }\n />\n\n <tr style={{ height: convertToUnit(paddingBottom.value), border: 0 }}>\n <td colspan={ columns.value.length } style={{ height: convertToUnit(paddingBottom.value), border: 0 }}></td>\n </tr>\n </tbody>\n </table>\n </div>\n ),\n bottom: slots.bottom,\n }}\n </VTable>\n ))\n },\n})\n\nexport type VDataTableVirtual = InstanceType<typeof VDataTableVirtual>\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"VDataTableVirtual.mjs","names":["VDataTableHeaders","VDataTableRows","VTable","createGroupBy","provideGroupBy","useGroupedItems","createHeaders","createSort","provideSort","useSortedItems","makeDataTableProps","makeDataTableVirtualProps","useVirtual","makeFilterProps","useFilter","provideDefaults","provideExpanded","provideSelection","useDataTableItems","useOptions","computed","shallowRef","toRef","convertToUnit","genericComponent","propsFactory","useRender","makeVDataTableVirtualProps","VDataTableVirtual","name","props","emits","value","click:row","e","setup","_ref","emit","slots","groupBy","sortBy","multiSort","mustSort","columns","showSelect","showExpand","items","filterKeys","map","c","key","search","filteredItems","sortByWithGroups","opened","extractRows","sortedItems","flatItems","allRows","containerRef","paddingTop","paddingBottom","startIndex","stopIndex","itemHeight","handleScroll","visibleItems","slice","page","itemsPerPage","hideNoData","noDataText","dataTableHeadersProps","filterProps","dataTableRowsProps","tableProps","_createVNode","_mergeProps","class","style","top","wrapper","height","fixedHeader","border","length","bottom"],"sources":["../../../src/labs/VDataTable/VDataTableVirtual.tsx"],"sourcesContent":["// Components\nimport { VDataTableHeaders } from './VDataTableHeaders'\nimport { VDataTableRows } from './VDataTableRows'\nimport { VTable } from '@/components/VTable'\n\n// Composables\nimport { createGroupBy, provideGroupBy, useGroupedItems } from './composables/group'\nimport { createHeaders } from './composables/headers'\nimport { createSort, provideSort, useSortedItems } from './composables/sort'\nimport { makeDataTableProps } from './VDataTable'\nimport { makeDataTableVirtualProps, useVirtual } from './composables/virtual'\nimport { makeFilterProps, useFilter } from '@/composables/filter'\nimport { provideDefaults } from '@/composables/defaults'\nimport { provideExpanded } from './composables/expand'\nimport { provideSelection } from './composables/select'\nimport { useDataTableItems } from './composables/items'\nimport { useOptions } from './composables/options'\n\n// Utlities\nimport { computed, shallowRef, toRef } from 'vue'\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { DataTableItem } from './types'\nimport type { VDataTableRowsSlots } from './VDataTableRows'\n\nexport type VDataTableVirtualSlots = VDataTableRowsSlots & {\n top: []\n headers: []\n bottom: []\n}\n\nexport const makeVDataTableVirtualProps = propsFactory({\n ...makeDataTableProps(),\n ...makeDataTableVirtualProps(),\n ...makeFilterProps(),\n}, 'v-data-table-virtual')\n\nexport const VDataTableVirtual = genericComponent<VDataTableVirtualSlots>()({\n name: 'VDataTableVirtual',\n\n props: makeVDataTableVirtualProps(),\n\n emits: {\n 'update:modelValue': (value: any[]) => true,\n 'update:sortBy': (value: any) => true,\n 'update:options': (value: any) => true,\n 'update:groupBy': (value: any) => true,\n 'update:expanded': (value: any) => true,\n 'click:row': (e: Event, value: { item: DataTableItem }) => true,\n },\n\n setup (props, { emit, slots }) {\n const { groupBy } = createGroupBy(props)\n const { sortBy, multiSort, mustSort } = createSort(props)\n\n const { columns } = createHeaders(props, {\n groupBy,\n showSelect: toRef(props, 'showSelect'),\n showExpand: toRef(props, 'showExpand'),\n })\n const { items } = useDataTableItems(props, columns)\n\n const filterKeys = computed(() => columns.value.map(c => 'columns.' + c.key))\n const search = toRef(props, 'search')\n const { filteredItems } = useFilter<DataTableItem>(props, items, search, { filterKeys })\n\n provideSort({ sortBy, multiSort, mustSort })\n const { sortByWithGroups, opened, extractRows } = provideGroupBy({ groupBy, sortBy })\n\n const { sortedItems } = useSortedItems(filteredItems, sortByWithGroups, columns)\n const { flatItems } = useGroupedItems(sortedItems, groupBy, opened)\n\n const allRows = computed(() => extractRows(flatItems.value))\n\n provideSelection(props, allRows)\n provideExpanded(props)\n\n const {\n containerRef,\n paddingTop,\n paddingBottom,\n startIndex,\n stopIndex,\n itemHeight,\n handleScroll,\n } = useVirtual(props, flatItems)\n\n const visibleItems = computed(() => {\n return flatItems.value.slice(startIndex.value, stopIndex.value)\n })\n\n useOptions({\n sortBy,\n page: shallowRef(1),\n itemsPerPage: shallowRef(-1),\n groupBy,\n search,\n })\n\n provideDefaults({\n VDataTableRows: {\n hideNoData: toRef(props, 'hideNoData'),\n noDataText: toRef(props, 'noDataText'),\n },\n })\n\n useRender(() => {\n const [dataTableHeadersProps] = VDataTableHeaders.filterProps(props)\n const [dataTableRowsProps] = VDataTableRows.filterProps(props)\n const [tableProps] = VTable.filterProps(props)\n\n return (\n <VTable\n class={[\n 'v-data-table',\n props.class,\n ]}\n style={[\n { '--v-table-row-height': convertToUnit(itemHeight.value) },\n props.style,\n ]}\n { ...tableProps }\n >\n {{\n top: slots.top,\n wrapper: () => (\n <div\n ref={ containerRef }\n onScroll={ handleScroll }\n class=\"v-table__wrapper\"\n style={{\n height: convertToUnit(props.height),\n }}\n >\n <table>\n <thead>\n <VDataTableHeaders\n { ...dataTableHeadersProps }\n sticky={ props.fixedHeader }\n v-slots={ slots }\n />\n </thead>\n <tbody>\n <tr style={{ height: convertToUnit(paddingTop.value), border: 0 }}>\n <td colspan={ columns.value.length } style={{ height: convertToUnit(paddingTop.value), border: 0 }}></td>\n </tr>\n\n <VDataTableRows\n { ...dataTableRowsProps }\n items={ visibleItems.value }\n v-slots={ slots }\n />\n\n <tr style={{ height: convertToUnit(paddingBottom.value), border: 0 }}>\n <td colspan={ columns.value.length } style={{ height: convertToUnit(paddingBottom.value), border: 0 }}></td>\n </tr>\n </tbody>\n </table>\n </div>\n ),\n bottom: slots.bottom,\n }}\n </VTable>\n )\n })\n },\n})\n\nexport type VDataTableVirtual = InstanceType<typeof VDataTableVirtual>\n"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// Utilities
|
|
2
|
-
import { computed, ref } from 'vue';
|
|
2
|
+
import { computed, ref, shallowRef } from 'vue';
|
|
3
3
|
import { propsFactory } from "../../../util/index.mjs"; // Types
|
|
4
4
|
export const makeDataTableVirtualProps = propsFactory({
|
|
5
5
|
visibleItems: {
|
|
@@ -16,11 +16,11 @@ const DOWN = 1;
|
|
|
16
16
|
|
|
17
17
|
// TODO: Replace this with composable from v-virtual-scroll
|
|
18
18
|
export function useVirtual(props, items) {
|
|
19
|
-
const startIndex =
|
|
19
|
+
const startIndex = shallowRef(0);
|
|
20
20
|
const itemHeight = computed(() => parseInt(props.itemHeight, 10));
|
|
21
21
|
const visibleItems = computed(() => parseInt(props.visibleItems, 10));
|
|
22
22
|
const containerRef = ref();
|
|
23
|
-
const isScrolling =
|
|
23
|
+
const isScrolling = shallowRef(false);
|
|
24
24
|
function calculateOffset(index) {
|
|
25
25
|
return index * itemHeight.value;
|
|
26
26
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"virtual.mjs","names":["computed","ref","propsFactory","makeDataTableVirtualProps","visibleItems","type","String","Number","default","itemHeight","UP","DOWN","useVirtual","props","items","startIndex","parseInt","containerRef","isScrolling","calculateOffset","index","value","calculateMidPointIndex","scrollTop","start","end","length","middle","Math","floor","middleOffset","lastScrollTop","scrollTimeout","handleScroll","clearTimeout","setTimeout","direction","midPointIndex","buffer","round","max","min","stopIndex","paddingTop","paddingBottom"],"sources":["../../../../src/labs/VDataTable/composables/virtual.ts"],"sourcesContent":["// Utilities\nimport { computed, ref } from 'vue'\nimport { propsFactory } from '@/util'\n\n// Types\nimport type { Ref } from 'vue'\n\nexport const makeDataTableVirtualProps = propsFactory({\n visibleItems: {\n type: [String, Number],\n default: 20,\n },\n itemHeight: {\n type: [String, Number],\n default: 52,\n },\n}, 'virtual')\n\ntype VirtualProps = {\n itemHeight: string | number\n visibleItems: string | number\n}\n\nconst UP = -1\nconst DOWN = 1\n\n// TODO: Replace this with composable from v-virtual-scroll\nexport function useVirtual (props: VirtualProps, items: Ref<any[]>) {\n const startIndex =
|
|
1
|
+
{"version":3,"file":"virtual.mjs","names":["computed","ref","shallowRef","propsFactory","makeDataTableVirtualProps","visibleItems","type","String","Number","default","itemHeight","UP","DOWN","useVirtual","props","items","startIndex","parseInt","containerRef","isScrolling","calculateOffset","index","value","calculateMidPointIndex","scrollTop","start","end","length","middle","Math","floor","middleOffset","lastScrollTop","scrollTimeout","handleScroll","clearTimeout","setTimeout","direction","midPointIndex","buffer","round","max","min","stopIndex","paddingTop","paddingBottom"],"sources":["../../../../src/labs/VDataTable/composables/virtual.ts"],"sourcesContent":["// Utilities\nimport { computed, ref, shallowRef } from 'vue'\nimport { propsFactory } from '@/util'\n\n// Types\nimport type { Ref } from 'vue'\n\nexport const makeDataTableVirtualProps = propsFactory({\n visibleItems: {\n type: [String, Number],\n default: 20,\n },\n itemHeight: {\n type: [String, Number],\n default: 52,\n },\n}, 'virtual')\n\ntype VirtualProps = {\n itemHeight: string | number\n visibleItems: string | number\n}\n\nconst UP = -1\nconst DOWN = 1\n\n// TODO: Replace this with composable from v-virtual-scroll\nexport function useVirtual (props: VirtualProps, items: Ref<any[]>) {\n const startIndex = shallowRef(0)\n const itemHeight = computed(() => parseInt(props.itemHeight, 10))\n const visibleItems = computed(() => parseInt(props.visibleItems, 10))\n const containerRef = ref<HTMLDivElement>()\n const isScrolling = shallowRef(false)\n\n function calculateOffset (index: number) {\n return index * itemHeight.value\n }\n\n function calculateMidPointIndex (scrollTop: number) {\n let start = 0\n let end = items.value.length\n\n while (start <= end) {\n const middle = start + Math.floor((end - start) / 2)\n const middleOffset = calculateOffset(middle)\n\n if (middleOffset === scrollTop) {\n return middle\n } else if (middleOffset < scrollTop) {\n start = middle + 1\n } else if (middleOffset > scrollTop) {\n end = middle - 1\n }\n }\n\n return start\n }\n\n let lastScrollTop = 0\n let scrollTimeout: any\n function handleScroll () {\n if (!containerRef.value) return\n\n isScrolling.value = true\n clearTimeout(scrollTimeout)\n scrollTimeout = setTimeout(() => {\n isScrolling.value = false\n }, 100)\n\n const scrollTop = containerRef.value.scrollTop\n const direction = scrollTop < lastScrollTop ? UP : DOWN\n\n const midPointIndex = calculateMidPointIndex(scrollTop)\n\n const buffer = Math.round(visibleItems.value / 3)\n if (direction === UP && midPointIndex <= startIndex.value) {\n startIndex.value = Math.max(midPointIndex - buffer, 0)\n } else if (direction === DOWN && midPointIndex >= startIndex.value + (buffer * 2)) {\n startIndex.value = Math.min(Math.max(0, midPointIndex - buffer), items.value.length - visibleItems.value)\n }\n\n lastScrollTop = containerRef.value.scrollTop\n }\n\n const stopIndex = computed(() => Math.min(items.value.length, startIndex.value + visibleItems.value))\n const paddingTop = computed(() => calculateOffset(startIndex.value))\n const paddingBottom = computed(() => calculateOffset(items.value.length) - calculateOffset(stopIndex.value))\n\n return {\n startIndex,\n stopIndex,\n paddingTop,\n paddingBottom,\n handleScroll,\n containerRef,\n itemHeight,\n isScrolling,\n }\n}\n"],"mappings":"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"}
|