@vuetify/nightly 3.8.6-master.2025-05-24 → 3.8.6-master.2025-05-26
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -3
- package/dist/json/attributes.json +3745 -3745
- package/dist/json/importMap-labs.json +24 -24
- package/dist/json/importMap.json +174 -174
- package/dist/json/web-types.json +6589 -6589
- package/dist/vuetify-labs.cjs +868 -868
- package/dist/vuetify-labs.css +2585 -2585
- package/dist/vuetify-labs.d.ts +58 -58
- package/dist/vuetify-labs.esm.js +869 -869
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +868 -868
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.cjs +755 -755
- package/dist/vuetify.cjs.map +1 -1
- package/dist/vuetify.css +3542 -3542
- package/dist/vuetify.d.ts +58 -58
- package/dist/vuetify.esm.js +756 -756
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +755 -755
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +958 -958
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAlert/VAlert.js +11 -11
- package/lib/components/VAlert/VAlert.js.map +1 -1
- package/lib/components/VApp/VApp.js +5 -5
- package/lib/components/VApp/VApp.js.map +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.js +9 -9
- package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
- package/lib/components/VAvatar/VAvatar.js +4 -4
- package/lib/components/VAvatar/VAvatar.js.map +1 -1
- package/lib/components/VBadge/VBadge.js +3 -3
- package/lib/components/VBadge/VBadge.js.map +1 -1
- package/lib/components/VBanner/VBanner.js +6 -6
- package/lib/components/VBanner/VBanner.js.map +1 -1
- package/lib/components/VBanner/VBannerActions.js +4 -4
- package/lib/components/VBanner/VBannerActions.js.map +1 -1
- package/lib/components/VBottomNavigation/VBottomNavigation.js +6 -6
- package/lib/components/VBottomNavigation/VBottomNavigation.js.map +1 -1
- package/lib/components/VBreadcrumbs/VBreadcrumbs.js +5 -5
- package/lib/components/VBreadcrumbs/VBreadcrumbs.js.map +1 -1
- package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.js +4 -4
- package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.js.map +1 -1
- package/lib/components/VBreadcrumbs/VBreadcrumbsItem.js +5 -5
- package/lib/components/VBreadcrumbs/VBreadcrumbsItem.js.map +1 -1
- package/lib/components/VBtn/VBtn.js +7 -7
- package/lib/components/VBtn/VBtn.js.map +1 -1
- package/lib/components/VBtnGroup/VBtnGroup.js +4 -4
- package/lib/components/VBtnGroup/VBtnGroup.js.map +1 -1
- package/lib/components/VCard/VCard.js +5 -5
- package/lib/components/VCard/VCard.js.map +1 -1
- package/lib/components/VCard/VCardActions.js +4 -4
- package/lib/components/VCard/VCardActions.js.map +1 -1
- package/lib/components/VCard/VCardItem.js +9 -9
- package/lib/components/VCard/VCardItem.js.map +1 -1
- package/lib/components/VCard/VCardSubtitle.js +4 -4
- package/lib/components/VCard/VCardSubtitle.js.map +1 -1
- package/lib/components/VCard/VCardText.js +4 -4
- package/lib/components/VCard/VCardText.js.map +1 -1
- package/lib/components/VCarousel/VCarousel.js +4 -4
- package/lib/components/VCarousel/VCarousel.js.map +1 -1
- package/lib/components/VChip/VChip.js +11 -11
- package/lib/components/VChip/VChip.js.map +1 -1
- package/lib/components/VColorPicker/VColorPicker.js +3 -3
- package/lib/components/VColorPicker/VColorPicker.js.map +1 -1
- package/lib/components/VColorPicker/VColorPickerCanvas.js +9 -9
- package/lib/components/VColorPicker/VColorPickerCanvas.js.map +1 -1
- package/lib/components/VColorPicker/VColorPickerEdit.js +6 -6
- package/lib/components/VColorPicker/VColorPickerEdit.js.map +1 -1
- package/lib/components/VColorPicker/VColorPickerPreview.js +11 -11
- package/lib/components/VColorPicker/VColorPickerPreview.js.map +1 -1
- package/lib/components/VColorPicker/VColorPickerSwatches.js +10 -10
- package/lib/components/VColorPicker/VColorPickerSwatches.js.map +1 -1
- package/lib/components/VCombobox/VCombobox.js +9 -9
- package/lib/components/VCombobox/VCombobox.js.map +1 -1
- package/lib/components/VConfirmEdit/VConfirmEdit.js +3 -3
- package/lib/components/VConfirmEdit/VConfirmEdit.js.map +1 -1
- package/lib/components/VConfirmEdit/__test__/VConfirmEdit.spec.browser.js +3 -3
- package/lib/components/VConfirmEdit/__test__/VConfirmEdit.spec.browser.js.map +1 -1
- package/lib/components/VCounter/VCounter.js +5 -5
- package/lib/components/VCounter/VCounter.js.map +1 -1
- package/lib/components/VDataIterator/VDataIterator.js +5 -5
- package/lib/components/VDataIterator/VDataIterator.js.map +1 -1
- package/lib/components/VDataTable/VDataTable.js +4 -4
- package/lib/components/VDataTable/VDataTable.js.map +1 -1
- package/lib/components/VDataTable/VDataTableColumn.js +5 -5
- package/lib/components/VDataTable/VDataTableColumn.js.map +1 -1
- package/lib/components/VDataTable/VDataTableFooter.js +6 -6
- package/lib/components/VDataTable/VDataTableFooter.js.map +1 -1
- package/lib/components/VDataTable/VDataTableGroupHeaderRow.js +7 -7
- package/lib/components/VDataTable/VDataTableGroupHeaderRow.js.map +1 -1
- package/lib/components/VDataTable/VDataTableHeaders.js +11 -11
- package/lib/components/VDataTable/VDataTableHeaders.js.map +1 -1
- package/lib/components/VDataTable/VDataTableRow.js +6 -6
- package/lib/components/VDataTable/VDataTableRow.js.map +1 -1
- package/lib/components/VDataTable/VDataTableRows.js +7 -7
- package/lib/components/VDataTable/VDataTableRows.js.map +1 -1
- package/lib/components/VDataTable/VDataTableServer.js +4 -4
- package/lib/components/VDataTable/VDataTableServer.js.map +1 -1
- package/lib/components/VDataTable/VDataTableVirtual.js +14 -14
- package/lib/components/VDataTable/VDataTableVirtual.js.map +1 -1
- package/lib/components/VDatePicker/VDatePicker.js +3 -3
- package/lib/components/VDatePicker/VDatePicker.js.map +1 -1
- package/lib/components/VDatePicker/VDatePickerControls.js +5 -5
- package/lib/components/VDatePicker/VDatePickerControls.js.map +1 -1
- package/lib/components/VDatePicker/VDatePickerHeader.js +8 -8
- package/lib/components/VDatePicker/VDatePickerHeader.js.map +1 -1
- package/lib/components/VDatePicker/VDatePickerMonth.js +10 -10
- package/lib/components/VDatePicker/VDatePickerMonth.js.map +1 -1
- package/lib/components/VDatePicker/VDatePickerMonths.js +5 -5
- package/lib/components/VDatePicker/VDatePickerMonths.js.map +1 -1
- package/lib/components/VDatePicker/VDatePickerYears.js +5 -5
- package/lib/components/VDatePicker/VDatePickerYears.js.map +1 -1
- package/lib/components/VDialog/__test__/VDialog.spec.browser.js +5 -5
- package/lib/components/VDialog/__test__/VDialog.spec.browser.js.map +1 -1
- package/lib/components/VDivider/VDivider.js +10 -10
- package/lib/components/VDivider/VDivider.js.map +1 -1
- package/lib/components/VEmptyState/VEmptyState.js +14 -14
- package/lib/components/VEmptyState/VEmptyState.js.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanel.js +6 -6
- package/lib/components/VExpansionPanel/VExpansionPanel.js.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanelText.js +5 -5
- package/lib/components/VExpansionPanel/VExpansionPanelText.js.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanelTitle.js +10 -10
- package/lib/components/VExpansionPanel/VExpansionPanelTitle.js.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanels.js +4 -4
- package/lib/components/VExpansionPanel/VExpansionPanels.js.map +1 -1
- package/lib/components/VFab/VFab.js +7 -7
- package/lib/components/VFab/VFab.js.map +1 -1
- package/lib/components/VField/VField.js +16 -16
- package/lib/components/VField/VField.js.map +1 -1
- package/lib/components/VField/VFieldLabel.js +4 -4
- package/lib/components/VField/VFieldLabel.js.map +1 -1
- package/lib/components/VFileInput/VFileInput.js +5 -5
- package/lib/components/VFileInput/VFileInput.js.map +1 -1
- package/lib/components/VFooter/VFooter.js +4 -4
- package/lib/components/VFooter/VFooter.js.map +1 -1
- package/lib/components/VForm/VForm.js +4 -4
- package/lib/components/VForm/VForm.js.map +1 -1
- package/lib/components/VGrid/VContainer.js +4 -4
- package/lib/components/VGrid/VContainer.js.map +1 -1
- package/lib/components/VIcon/VIcon.js +5 -5
- package/lib/components/VIcon/VIcon.js.map +1 -1
- package/lib/components/VImg/VImg.js +19 -19
- package/lib/components/VImg/VImg.js.map +1 -1
- package/lib/components/VInfiniteScroll/VInfiniteScroll.js +10 -10
- package/lib/components/VInfiniteScroll/VInfiniteScroll.js.map +1 -1
- package/lib/components/VInput/VInput.js +9 -9
- package/lib/components/VInput/VInput.js.map +1 -1
- package/lib/components/VItemGroup/VItemGroup.js +3 -3
- package/lib/components/VItemGroup/VItemGroup.js.map +1 -1
- package/lib/components/VLabel/VLabel.js +5 -5
- package/lib/components/VLabel/VLabel.js.map +1 -1
- package/lib/components/VLayout/VLayout.js +4 -4
- package/lib/components/VLayout/VLayout.js.map +1 -1
- package/lib/components/VLayout/VLayoutItem.js +4 -4
- package/lib/components/VLayout/VLayoutItem.js.map +1 -1
- package/lib/components/VLazy/VLazy.js +6 -6
- package/lib/components/VLazy/VLazy.js.map +1 -1
- package/lib/components/VList/VList.js +4 -4
- package/lib/components/VList/VList.js.map +1 -1
- package/lib/components/VList/VListGroup.js +5 -5
- package/lib/components/VList/VListGroup.js.map +1 -1
- package/lib/components/VList/VListItem.js +11 -11
- package/lib/components/VList/VListItem.js.map +1 -1
- package/lib/components/VList/VListItemAction.js +4 -4
- package/lib/components/VList/VListItemAction.js.map +1 -1
- package/lib/components/VList/VListItemMedia.js +4 -4
- package/lib/components/VList/VListItemMedia.js.map +1 -1
- package/lib/components/VList/VListItemSubtitle.js +4 -4
- package/lib/components/VList/VListItemSubtitle.js.map +1 -1
- package/lib/components/VList/VListSubheader.js +6 -6
- package/lib/components/VList/VListSubheader.js.map +1 -1
- package/lib/components/VLocaleProvider/VLocaleProvider.js +4 -4
- package/lib/components/VLocaleProvider/VLocaleProvider.js.map +1 -1
- package/lib/components/VMain/VMain.js +5 -5
- package/lib/components/VMain/VMain.js.map +1 -1
- package/lib/components/VMessages/VMessages.js +4 -4
- package/lib/components/VMessages/VMessages.js.map +1 -1
- package/lib/components/VNavigationDrawer/VNavigationDrawer.js +7 -7
- package/lib/components/VNavigationDrawer/VNavigationDrawer.js.map +1 -1
- package/lib/components/VNumberInput/VNumberInput.js +8 -8
- package/lib/components/VNumberInput/VNumberInput.js.map +1 -1
- package/lib/components/VOtpInput/VOtpInput.js +7 -7
- package/lib/components/VOtpInput/VOtpInput.js.map +1 -1
- package/lib/components/VOverlay/VOverlay.js +8 -8
- package/lib/components/VOverlay/VOverlay.js.map +1 -1
- package/lib/components/VPagination/VPagination.js +11 -11
- package/lib/components/VPagination/VPagination.js.map +1 -1
- package/lib/components/VParallax/VParallax.js +4 -4
- package/lib/components/VParallax/VParallax.js.map +1 -1
- package/lib/components/VProgressCircular/VProgressCircular.js +12 -12
- package/lib/components/VProgressCircular/VProgressCircular.js.map +1 -1
- package/lib/components/VProgressLinear/VProgressLinear.js +26 -26
- package/lib/components/VProgressLinear/VProgressLinear.js.map +1 -1
- package/lib/components/VRadioGroup/VRadioGroup.js +2 -2
- package/lib/components/VRadioGroup/VRadioGroup.js.map +1 -1
- package/lib/components/VRangeSlider/VRangeSlider.js +5 -5
- package/lib/components/VRangeSlider/VRangeSlider.js.map +1 -1
- package/lib/components/VRating/VRating.js +14 -14
- package/lib/components/VRating/VRating.js.map +1 -1
- package/lib/components/VResponsive/VResponsive.js +9 -9
- package/lib/components/VResponsive/VResponsive.js.map +1 -1
- package/lib/components/VSelect/VSelect.js +7 -7
- package/lib/components/VSelect/VSelect.js.map +1 -1
- package/lib/components/VSelectionControl/VSelectionControl.js +11 -11
- package/lib/components/VSelectionControl/VSelectionControl.js.map +1 -1
- package/lib/components/VSelectionControlGroup/VSelectionControlGroup.js +5 -5
- package/lib/components/VSelectionControlGroup/VSelectionControlGroup.js.map +1 -1
- package/lib/components/VSheet/VSheet.js +3 -3
- package/lib/components/VSheet/VSheet.js.map +1 -1
- package/lib/components/VSkeletonLoader/VSkeletonLoader.js +4 -4
- package/lib/components/VSkeletonLoader/VSkeletonLoader.js.map +1 -1
- package/lib/components/VSlideGroup/VSlideGroup.js +12 -12
- package/lib/components/VSlideGroup/VSlideGroup.js.map +1 -1
- package/lib/components/VSlider/VSlider.js +4 -4
- package/lib/components/VSlider/VSlider.js.map +1 -1
- package/lib/components/VSlider/VSliderThumb.js +19 -19
- package/lib/components/VSlider/VSliderThumb.js.map +1 -1
- package/lib/components/VSlider/VSliderTrack.js +23 -23
- package/lib/components/VSlider/VSliderTrack.js.map +1 -1
- package/lib/components/VSnackbar/VSnackbar.js +4 -4
- package/lib/components/VSnackbar/VSnackbar.js.map +1 -1
- package/lib/components/VSnackbarQueue/VSnackbarQueue.js +3 -3
- package/lib/components/VSnackbarQueue/VSnackbarQueue.js.map +1 -1
- package/lib/components/VSparkline/VBarline.js +12 -12
- package/lib/components/VSparkline/VBarline.js.map +1 -1
- package/lib/components/VSparkline/VTrendline.js +8 -8
- package/lib/components/VSparkline/VTrendline.js.map +1 -1
- package/lib/components/VStepper/VStepper.js +2 -2
- package/lib/components/VStepper/VStepper.js.map +1 -1
- package/lib/components/VStepper/VStepperActions.js +2 -2
- package/lib/components/VStepper/VStepperActions.js.map +1 -1
- package/lib/components/VStepper/VStepperItem.js +10 -10
- package/lib/components/VStepper/VStepperItem.js.map +1 -1
- package/lib/components/VSwitch/VSwitch.js +10 -10
- package/lib/components/VSwitch/VSwitch.js.map +1 -1
- package/lib/components/VSystemBar/VSystemBar.js +4 -4
- package/lib/components/VSystemBar/VSystemBar.js.map +1 -1
- package/lib/components/VTable/VTable.js +8 -8
- package/lib/components/VTable/VTable.js.map +1 -1
- package/lib/components/VTabs/VTab.js +4 -4
- package/lib/components/VTabs/VTab.js.map +1 -1
- package/lib/components/VTabs/VTabs.js +2 -2
- package/lib/components/VTabs/VTabs.js.map +1 -1
- package/lib/components/VTextField/VTextField.js +12 -12
- package/lib/components/VTextField/VTextField.js.map +1 -1
- package/lib/components/VTextarea/VTextarea.js +10 -10
- package/lib/components/VTextarea/VTextarea.js.map +1 -1
- package/lib/components/VThemeProvider/VThemeProvider.js +3 -3
- package/lib/components/VThemeProvider/VThemeProvider.js.map +1 -1
- package/lib/components/VTimeline/VTimeline.js +5 -5
- package/lib/components/VTimeline/VTimeline.js.map +1 -1
- package/lib/components/VTimeline/VTimelineDivider.js +17 -17
- package/lib/components/VTimeline/VTimelineDivider.js.map +1 -1
- package/lib/components/VTimeline/VTimelineItem.js +9 -9
- package/lib/components/VTimeline/VTimelineItem.js.map +1 -1
- package/lib/components/VToolbar/VToolbar.js +13 -13
- package/lib/components/VToolbar/VToolbar.js.map +1 -1
- package/lib/components/VToolbar/VToolbarItems.js +4 -4
- package/lib/components/VToolbar/VToolbarItems.js.map +1 -1
- package/lib/components/VToolbar/VToolbarTitle.js +4 -4
- package/lib/components/VToolbar/VToolbarTitle.js.map +1 -1
- package/lib/components/VVirtualScroll/VVirtualScroll.js +13 -13
- package/lib/components/VVirtualScroll/VVirtualScroll.js.map +1 -1
- package/lib/components/VVirtualScroll/VVirtualScrollItem.js +3 -3
- package/lib/components/VVirtualScroll/VVirtualScrollItem.js.map +1 -1
- package/lib/components/VWindow/VWindow.js +13 -13
- package/lib/components/VWindow/VWindow.js.map +1 -1
- package/lib/components/VWindow/VWindowItem.js +6 -6
- package/lib/components/VWindow/VWindowItem.js.map +1 -1
- package/lib/composables/filter.js +8 -8
- package/lib/composables/filter.js.map +1 -1
- package/lib/composables/icons.js +6 -6
- package/lib/composables/icons.js.map +1 -1
- package/lib/composables/loader.js +3 -3
- package/lib/composables/loader.js.map +1 -1
- package/lib/composables/variant.js +5 -5
- package/lib/composables/variant.js.map +1 -1
- package/lib/entry-bundler.js +1 -1
- package/lib/framework.d.ts +58 -58
- package/lib/framework.js +1 -1
- package/lib/labs/VCalendar/VCalendar.js +15 -15
- package/lib/labs/VCalendar/VCalendar.js.map +1 -1
- package/lib/labs/VCalendar/VCalendarDay.js +4 -4
- package/lib/labs/VCalendar/VCalendarDay.js.map +1 -1
- package/lib/labs/VCalendar/VCalendarHeader.js +4 -4
- package/lib/labs/VCalendar/VCalendarHeader.js.map +1 -1
- package/lib/labs/VCalendar/VCalendarInterval.js +10 -10
- package/lib/labs/VCalendar/VCalendarInterval.js.map +1 -1
- package/lib/labs/VCalendar/VCalendarIntervalEvent.js +2 -2
- package/lib/labs/VCalendar/VCalendarIntervalEvent.js.map +1 -1
- package/lib/labs/VCalendar/VCalendarMonthDay.js +6 -6
- package/lib/labs/VCalendar/VCalendarMonthDay.js.map +1 -1
- package/lib/labs/VColorInput/VColorInput.js +3 -3
- package/lib/labs/VColorInput/VColorInput.js.map +1 -1
- package/lib/labs/VDateInput/VDateInput.js +2 -2
- package/lib/labs/VDateInput/VDateInput.js.map +1 -1
- package/lib/labs/VFileUpload/VFileUpload.js +9 -9
- package/lib/labs/VFileUpload/VFileUpload.js.map +1 -1
- package/lib/labs/VFileUpload/VFileUploadItem.js +3 -3
- package/lib/labs/VFileUpload/VFileUploadItem.js.map +1 -1
- package/lib/labs/VIconBtn/VIconBtn.js +7 -7
- package/lib/labs/VIconBtn/VIconBtn.js.map +1 -1
- package/lib/labs/VPicker/VPicker.js +7 -7
- package/lib/labs/VPicker/VPicker.js.map +1 -1
- package/lib/labs/VPullToRefresh/VPullToRefresh.js +13 -13
- package/lib/labs/VPullToRefresh/VPullToRefresh.js.map +1 -1
- package/lib/labs/VStepperVertical/VStepperVertical.js +2 -2
- package/lib/labs/VStepperVertical/VStepperVertical.js.map +1 -1
- package/lib/labs/VStepperVertical/VStepperVerticalItem.js +5 -5
- package/lib/labs/VStepperVertical/VStepperVerticalItem.js.map +1 -1
- package/lib/labs/VTimePicker/VTimePicker.js +2 -2
- package/lib/labs/VTimePicker/VTimePicker.js.map +1 -1
- package/lib/labs/VTimePicker/VTimePickerClock.js +15 -15
- package/lib/labs/VTimePicker/VTimePickerClock.js.map +1 -1
- package/lib/labs/VTimePicker/VTimePickerControls.js +24 -24
- package/lib/labs/VTimePicker/VTimePickerControls.js.map +1 -1
- package/lib/labs/VTreeview/VTreeviewChildren.js +2 -2
- package/lib/labs/VTreeview/VTreeviewChildren.js.map +1 -1
- package/lib/labs/VTreeview/VTreeviewGroup.js +2 -2
- package/lib/labs/VTreeview/VTreeviewGroup.js.map +1 -1
- package/lib/labs/VTreeview/VTreeviewItem.js +3 -3
- package/lib/labs/VTreeview/VTreeviewItem.js.map +1 -1
- package/package.json +2 -2
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"VDataTableRow.js","names":["VDataTableColumn","VBtn","VCheckboxBtn","useExpanded","useHeaders","useSelection","useSort","makeDisplayProps","useDisplay","toDisplayString","withModifiers","EventProp","genericComponent","getObjectValueByPath","propsFactory","useRender","makeVDataTableRowProps","index","Number","item","Object","cellProps","Function","onClick","onContextmenu","onDblclick","VDataTableRow","name","props","setup","_ref","slots","displayClasses","mobile","isSelected","toggleSelect","someSelected","allSelected","selectAll","isExpanded","toggleExpand","toggleSort","sortBy","isSorted","columns","_createVNode","value","map","column","i","slotName","key","headerSlotName","slotProps","raw","internalItem","columnSlotProps","getSortIcon","columnCellProps","_mergeProps","align","fixed","fixedOffset","lastFixed","maxWidth","undefined","nowrap","width","default","disabled","selectable","modelValue","event","icon","size","variant","displayValue","_Fragment","title"],"sources":["../../../src/components/VDataTable/VDataTableRow.tsx"],"sourcesContent":["// Components\nimport { VDataTableColumn } from './VDataTableColumn'\nimport { VBtn } from '@/components/VBtn'\nimport { VCheckboxBtn } from '@/components/VCheckbox'\n\n// Composables\nimport { useExpanded } from './composables/expand'\nimport { useHeaders } from './composables/headers'\nimport { useSelection } from './composables/select'\nimport { useSort } from './composables/sort'\nimport { makeDisplayProps, useDisplay } from '@/composables/display'\n\n// Utilities\nimport { toDisplayString, withModifiers } from 'vue'\nimport { EventProp, genericComponent, getObjectValueByPath, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { CellProps, DataTableItem, ItemKeySlot } from './types'\nimport type { VDataTableHeaderCellColumnSlotProps } from './VDataTableHeaders'\nimport type { GenericProps } from '@/util'\n\nexport type VDataTableItemCellColumnSlotProps<T> = Omit<ItemKeySlot<T>, 'value'> & {\n props: Record<string, unknown>\n}\n\nexport type VDataTableRowSlots<T> = {\n 'item.data-table-select': VDataTableItemCellColumnSlotProps<T>\n 'item.data-table-expand': VDataTableItemCellColumnSlotProps<T>\n 'header.data-table-select': VDataTableHeaderCellColumnSlotProps\n 'header.data-table-expand': VDataTableHeaderCellColumnSlotProps\n} & {\n [key: `item.${string}`]: ItemKeySlot<T>\n [key: `header.${string}`]: VDataTableHeaderCellColumnSlotProps\n}\n\nexport const makeVDataTableRowProps = propsFactory({\n index: Number,\n item: Object as PropType<DataTableItem>,\n cellProps: [Object, Function] as PropType<CellProps<any>>,\n onClick: EventProp<[MouseEvent]>(),\n onContextmenu: EventProp<[MouseEvent]>(),\n onDblclick: EventProp<[MouseEvent]>(),\n\n ...makeDisplayProps(),\n}, 'VDataTableRow')\n\nexport const VDataTableRow = genericComponent<new <T>(\n props: {\n item?: DataTableItem<T>\n cellProps?: CellProps<T>\n },\n slots: VDataTableRowSlots<T>,\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VDataTableRow',\n\n props: makeVDataTableRowProps(),\n\n setup (props, { slots }) {\n const { displayClasses, mobile } = useDisplay(props, 'v-data-table__tr')\n const { isSelected, toggleSelect, someSelected, allSelected, selectAll } = useSelection()\n const { isExpanded, toggleExpand } = useExpanded()\n const { toggleSort, sortBy, isSorted } = useSort()\n const { columns } = useHeaders()\n\n useRender(() => (\n <tr\n class={[\n 'v-data-table__tr',\n {\n 'v-data-table__tr--clickable': !!(props.onClick || props.onContextmenu || props.onDblclick),\n },\n displayClasses.value,\n ]}\n onClick={ props.onClick as any }\n onContextmenu={ props.onContextmenu as any }\n onDblclick={ props.onDblclick as any }\n >\n { props.item && columns.value.map((column, i) => {\n const item = props.item!\n const slotName = `item.${column.key}` as const\n const headerSlotName = `header.${column.key}` as const\n const slotProps = {\n index: props.index!,\n item: item.raw,\n internalItem: item,\n value: getObjectValueByPath(item.columns, column.key),\n column,\n isSelected,\n toggleSelect,\n isExpanded,\n toggleExpand,\n } satisfies ItemKeySlot<any>\n\n const columnSlotProps: VDataTableHeaderCellColumnSlotProps = {\n column,\n selectAll,\n isSorted,\n toggleSort,\n sortBy: sortBy.value,\n someSelected: someSelected.value,\n allSelected: allSelected.value,\n getSortIcon: () => '',\n }\n\n const cellProps = typeof props.cellProps === 'function'\n ? props.cellProps({\n index: slotProps.index,\n item: slotProps.item,\n internalItem: slotProps.internalItem,\n value: slotProps.value,\n column,\n })\n : props.cellProps\n const columnCellProps = typeof column.cellProps === 'function'\n ? column.cellProps({\n index: slotProps.index,\n item: slotProps.item,\n internalItem: slotProps.internalItem,\n value: slotProps.value,\n })\n : column.cellProps\n\n return (\n <VDataTableColumn\n align={ column.align }\n class={{\n 'v-data-table__td--expanded-row': column.key === 'data-table-expand',\n 'v-data-table__td--select-row': column.key === 'data-table-select',\n }}\n fixed={ column.fixed }\n fixedOffset={ column.fixedOffset }\n lastFixed={ column.lastFixed }\n maxWidth={ !mobile.value ? column.maxWidth : undefined }\n noPadding={ column.key === 'data-table-select' || column.key === 'data-table-expand' }\n nowrap={ column.nowrap }\n width={ !mobile.value ? column.width : undefined }\n { ...cellProps }\n { ...columnCellProps }\n >\n {{\n default: () => {\n if (column.key === 'data-table-select') {\n return slots['item.data-table-select']?.({\n ...slotProps,\n props: {\n disabled: !item.selectable,\n modelValue: isSelected([item]),\n onClick: withModifiers(() => toggleSelect(item), ['stop']),\n },\n }) ?? (\n <VCheckboxBtn\n disabled={ !item.selectable }\n modelValue={ isSelected([item]) }\n onClick={ withModifiers(\n (event: Event) => toggleSelect(item, props.index, event as PointerEvent),\n ['stop']\n )}\n />\n )\n }\n\n if (column.key === 'data-table-expand') {\n return slots['item.data-table-expand']?.({\n ...slotProps,\n props: {\n icon: isExpanded(item) ? '$collapse' : '$expand',\n size: 'small',\n variant: 'text',\n onClick: withModifiers(() => toggleExpand(item), ['stop']),\n },\n }) ?? (\n <VBtn\n icon={ isExpanded(item) ? '$collapse' : '$expand' }\n size=\"small\"\n variant=\"text\"\n onClick={ withModifiers(() => toggleExpand(item), ['stop']) }\n />\n )\n }\n\n if (slots[slotName] && !mobile.value) return slots[slotName](slotProps)\n\n const displayValue = toDisplayString(slotProps.value)\n\n return !mobile.value ? displayValue : (\n <>\n <div class=\"v-data-table__td-title\">\n { slots[headerSlotName]?.(columnSlotProps) ?? column.title }\n </div>\n\n <div class=\"v-data-table__td-value\">\n { slots[slotName]?.(slotProps) ?? displayValue }\n </div>\n </>\n )\n },\n }}\n </VDataTableColumn>\n )\n })}\n </tr>\n ))\n },\n})\n\nexport type VDataTableRow = InstanceType<typeof VDataTableRow>\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"file":"VDataTableRow.js","names":["VDataTableColumn","VBtn","VCheckboxBtn","useExpanded","useHeaders","useSelection","useSort","makeDisplayProps","useDisplay","toDisplayString","withModifiers","EventProp","genericComponent","getObjectValueByPath","propsFactory","useRender","makeVDataTableRowProps","index","Number","item","Object","cellProps","Function","onClick","onContextmenu","onDblclick","VDataTableRow","name","props","setup","_ref","slots","displayClasses","mobile","isSelected","toggleSelect","someSelected","allSelected","selectAll","isExpanded","toggleExpand","toggleSort","sortBy","isSorted","columns","_createElementVNode","_normalizeClass","value","map","column","i","slotName","key","headerSlotName","slotProps","raw","internalItem","columnSlotProps","getSortIcon","columnCellProps","_createVNode","_mergeProps","align","fixed","fixedOffset","lastFixed","maxWidth","undefined","nowrap","width","default","disabled","selectable","modelValue","event","icon","size","variant","displayValue","_Fragment","title"],"sources":["../../../src/components/VDataTable/VDataTableRow.tsx"],"sourcesContent":["// Components\nimport { VDataTableColumn } from './VDataTableColumn'\nimport { VBtn } from '@/components/VBtn'\nimport { VCheckboxBtn } from '@/components/VCheckbox'\n\n// Composables\nimport { useExpanded } from './composables/expand'\nimport { useHeaders } from './composables/headers'\nimport { useSelection } from './composables/select'\nimport { useSort } from './composables/sort'\nimport { makeDisplayProps, useDisplay } from '@/composables/display'\n\n// Utilities\nimport { toDisplayString, withModifiers } from 'vue'\nimport { EventProp, genericComponent, getObjectValueByPath, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { CellProps, DataTableItem, ItemKeySlot } from './types'\nimport type { VDataTableHeaderCellColumnSlotProps } from './VDataTableHeaders'\nimport type { GenericProps } from '@/util'\n\nexport type VDataTableItemCellColumnSlotProps<T> = Omit<ItemKeySlot<T>, 'value'> & {\n props: Record<string, unknown>\n}\n\nexport type VDataTableRowSlots<T> = {\n 'item.data-table-select': VDataTableItemCellColumnSlotProps<T>\n 'item.data-table-expand': VDataTableItemCellColumnSlotProps<T>\n 'header.data-table-select': VDataTableHeaderCellColumnSlotProps\n 'header.data-table-expand': VDataTableHeaderCellColumnSlotProps\n} & {\n [key: `item.${string}`]: ItemKeySlot<T>\n [key: `header.${string}`]: VDataTableHeaderCellColumnSlotProps\n}\n\nexport const makeVDataTableRowProps = propsFactory({\n index: Number,\n item: Object as PropType<DataTableItem>,\n cellProps: [Object, Function] as PropType<CellProps<any>>,\n onClick: EventProp<[MouseEvent]>(),\n onContextmenu: EventProp<[MouseEvent]>(),\n onDblclick: EventProp<[MouseEvent]>(),\n\n ...makeDisplayProps(),\n}, 'VDataTableRow')\n\nexport const VDataTableRow = genericComponent<new <T>(\n props: {\n item?: DataTableItem<T>\n cellProps?: CellProps<T>\n },\n slots: VDataTableRowSlots<T>,\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VDataTableRow',\n\n props: makeVDataTableRowProps(),\n\n setup (props, { slots }) {\n const { displayClasses, mobile } = useDisplay(props, 'v-data-table__tr')\n const { isSelected, toggleSelect, someSelected, allSelected, selectAll } = useSelection()\n const { isExpanded, toggleExpand } = useExpanded()\n const { toggleSort, sortBy, isSorted } = useSort()\n const { columns } = useHeaders()\n\n useRender(() => (\n <tr\n class={[\n 'v-data-table__tr',\n {\n 'v-data-table__tr--clickable': !!(props.onClick || props.onContextmenu || props.onDblclick),\n },\n displayClasses.value,\n ]}\n onClick={ props.onClick as any }\n onContextmenu={ props.onContextmenu as any }\n onDblclick={ props.onDblclick as any }\n >\n { props.item && columns.value.map((column, i) => {\n const item = props.item!\n const slotName = `item.${column.key}` as const\n const headerSlotName = `header.${column.key}` as const\n const slotProps = {\n index: props.index!,\n item: item.raw,\n internalItem: item,\n value: getObjectValueByPath(item.columns, column.key),\n column,\n isSelected,\n toggleSelect,\n isExpanded,\n toggleExpand,\n } satisfies ItemKeySlot<any>\n\n const columnSlotProps: VDataTableHeaderCellColumnSlotProps = {\n column,\n selectAll,\n isSorted,\n toggleSort,\n sortBy: sortBy.value,\n someSelected: someSelected.value,\n allSelected: allSelected.value,\n getSortIcon: () => '',\n }\n\n const cellProps = typeof props.cellProps === 'function'\n ? props.cellProps({\n index: slotProps.index,\n item: slotProps.item,\n internalItem: slotProps.internalItem,\n value: slotProps.value,\n column,\n })\n : props.cellProps\n const columnCellProps = typeof column.cellProps === 'function'\n ? column.cellProps({\n index: slotProps.index,\n item: slotProps.item,\n internalItem: slotProps.internalItem,\n value: slotProps.value,\n })\n : column.cellProps\n\n return (\n <VDataTableColumn\n align={ column.align }\n class={{\n 'v-data-table__td--expanded-row': column.key === 'data-table-expand',\n 'v-data-table__td--select-row': column.key === 'data-table-select',\n }}\n fixed={ column.fixed }\n fixedOffset={ column.fixedOffset }\n lastFixed={ column.lastFixed }\n maxWidth={ !mobile.value ? column.maxWidth : undefined }\n noPadding={ column.key === 'data-table-select' || column.key === 'data-table-expand' }\n nowrap={ column.nowrap }\n width={ !mobile.value ? column.width : undefined }\n { ...cellProps }\n { ...columnCellProps }\n >\n {{\n default: () => {\n if (column.key === 'data-table-select') {\n return slots['item.data-table-select']?.({\n ...slotProps,\n props: {\n disabled: !item.selectable,\n modelValue: isSelected([item]),\n onClick: withModifiers(() => toggleSelect(item), ['stop']),\n },\n }) ?? (\n <VCheckboxBtn\n disabled={ !item.selectable }\n modelValue={ isSelected([item]) }\n onClick={ withModifiers(\n (event: Event) => toggleSelect(item, props.index, event as PointerEvent),\n ['stop']\n )}\n />\n )\n }\n\n if (column.key === 'data-table-expand') {\n return slots['item.data-table-expand']?.({\n ...slotProps,\n props: {\n icon: isExpanded(item) ? '$collapse' : '$expand',\n size: 'small',\n variant: 'text',\n onClick: withModifiers(() => toggleExpand(item), ['stop']),\n },\n }) ?? (\n <VBtn\n icon={ isExpanded(item) ? '$collapse' : '$expand' }\n size=\"small\"\n variant=\"text\"\n onClick={ withModifiers(() => toggleExpand(item), ['stop']) }\n />\n )\n }\n\n if (slots[slotName] && !mobile.value) return slots[slotName](slotProps)\n\n const displayValue = toDisplayString(slotProps.value)\n\n return !mobile.value ? displayValue : (\n <>\n <div class=\"v-data-table__td-title\">\n { slots[headerSlotName]?.(columnSlotProps) ?? column.title }\n </div>\n\n <div class=\"v-data-table__td-value\">\n { slots[slotName]?.(slotProps) ?? displayValue }\n </div>\n </>\n )\n },\n }}\n </VDataTableColumn>\n )\n })}\n </tr>\n ))\n },\n})\n\nexport type VDataTableRow = InstanceType<typeof VDataTableRow>\n"],"mappings":"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","ignoreList":[]}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import {
|
1
|
+
import { createElementVNode as _createElementVNode, Fragment as _Fragment, mergeProps as _mergeProps, createVNode as _createVNode } from "vue";
|
2
2
|
// Components
|
3
3
|
import { VDataTableGroupHeaderRow } from "./VDataTableGroupHeaderRow.js";
|
4
4
|
import { VDataTableRow } from "./VDataTableRow.js"; // Composables
|
@@ -62,22 +62,22 @@ export const VDataTableRows = genericComponent()({
|
|
62
62
|
} = useDisplay(props);
|
63
63
|
useRender(() => {
|
64
64
|
if (props.loading && (!props.items.length || slots.loading)) {
|
65
|
-
return
|
65
|
+
return _createElementVNode("tr", {
|
66
66
|
"class": "v-data-table-rows-loading",
|
67
67
|
"key": "loading"
|
68
|
-
}, [
|
68
|
+
}, [_createElementVNode("td", {
|
69
69
|
"colspan": columns.value.length
|
70
70
|
}, [slots.loading?.() ?? t(props.loadingText)])]);
|
71
71
|
}
|
72
72
|
if (!props.loading && !props.items.length && !props.hideNoData) {
|
73
|
-
return
|
73
|
+
return _createElementVNode("tr", {
|
74
74
|
"class": "v-data-table-rows-no-data",
|
75
75
|
"key": "no-data"
|
76
|
-
}, [
|
76
|
+
}, [_createElementVNode("td", {
|
77
77
|
"colspan": columns.value.length
|
78
78
|
}, [slots['no-data']?.() ?? t(props.noDataText)])]);
|
79
79
|
}
|
80
|
-
return
|
80
|
+
return _createElementVNode(_Fragment, null, [props.items.map((item, index) => {
|
81
81
|
if (item.type === 'group') {
|
82
82
|
const slotProps = {
|
83
83
|
index,
|
@@ -122,7 +122,7 @@ export const VDataTableRows = genericComponent()({
|
|
122
122
|
internalItem: slotProps.internalItem
|
123
123
|
}) : props.rowProps)
|
124
124
|
};
|
125
|
-
return
|
125
|
+
return _createElementVNode(_Fragment, {
|
126
126
|
"key": itemSlotProps.props.key
|
127
127
|
}, [slots.item ? slots.item(itemSlotProps) : _createVNode(VDataTableRow, itemSlotProps.props, slots), isExpanded(item) && slots['expanded-row']?.(slotProps)]);
|
128
128
|
})]);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"VDataTableRows.js","names":["VDataTableGroupHeaderRow","VDataTableRow","useExpanded","useGroupBy","useHeaders","useSelection","makeDisplayProps","useDisplay","useLocale","Fragment","mergeProps","genericComponent","getPrefixedEventHandlers","propsFactory","useRender","makeVDataTableRowsProps","loading","Boolean","String","loadingText","type","default","hideNoData","items","Array","noDataText","rowProps","Object","Function","cellProps","VDataTableRows","name","inheritAttrs","props","setup","_ref","attrs","slots","columns","expandOnClick","toggleExpand","isExpanded","isSelected","toggleSelect","toggleGroup","isGroupOpen","t","mobile","length","_createVNode","value","_Fragment","map","item","index","slotProps","_mergeProps","id","raw","internalItem","itemSlotProps","key","onClick","undefined"],"sources":["../../../src/components/VDataTable/VDataTableRows.tsx"],"sourcesContent":["// Components\nimport { VDataTableGroupHeaderRow } from './VDataTableGroupHeaderRow'\nimport { VDataTableRow } from './VDataTableRow'\n\n// Composables\nimport { useExpanded } from './composables/expand'\nimport { useGroupBy } from './composables/group'\nimport { useHeaders } from './composables/headers'\nimport { useSelection } from './composables/select'\nimport { makeDisplayProps, useDisplay } from '@/composables/display'\nimport { useLocale } from '@/composables/locale'\n\n// Utilities\nimport { Fragment, mergeProps } from 'vue'\nimport { genericComponent, getPrefixedEventHandlers, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { Group } from './composables/group'\nimport type { CellProps, DataTableItem, GroupHeaderSlot, ItemSlot, RowProps } from './types'\nimport type { VDataTableGroupHeaderRowSlots } from './VDataTableGroupHeaderRow'\nimport type { VDataTableRowSlots } from './VDataTableRow'\nimport type { GenericProps } from '@/util'\n\nexport type VDataTableRowsSlots<T> = VDataTableGroupHeaderRowSlots & VDataTableRowSlots<T> & {\n item: ItemSlot<T> & { props: Record<string, any> }\n loading: never\n 'group-header': GroupHeaderSlot\n 'no-data': never\n 'expanded-row': ItemSlot<T>\n}\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<readonly (DataTableItem | Group)[]>,\n default: () => ([]),\n },\n noDataText: {\n type: String,\n default: '$vuetify.noDataText',\n },\n rowProps: [Object, Function] as PropType<RowProps<any>>,\n cellProps: [Object, Function] as PropType<CellProps<any>>,\n\n ...makeDisplayProps(),\n}, 'VDataTableRows')\n\nexport const VDataTableRows = genericComponent<new <T>(\n props: {\n items?: readonly (DataTableItem<T> | Group<T>)[]\n },\n slots: VDataTableRowsSlots<T>,\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VDataTableRows',\n\n inheritAttrs: false,\n\n props: makeVDataTableRowsProps(),\n\n setup (props, { attrs, 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 const { mobile } = useDisplay(props)\n\n useRender(() => {\n if (props.loading && (!props.items.length || 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?.() ?? t(props.loadingText) }\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') {\n const slotProps = {\n index,\n item,\n columns: columns.value,\n isExpanded,\n toggleExpand,\n isSelected,\n toggleSelect,\n toggleGroup,\n isGroupOpen,\n } satisfies GroupHeaderSlot\n\n return slots['group-header'] ? slots['group-header'](slotProps) : (\n <VDataTableGroupHeaderRow\n key={ `group-header_${item.id}` }\n item={ item }\n { ...getPrefixedEventHandlers(attrs, ':group-header', () => slotProps) }\n v-slots={ slots }\n />\n )\n }\n\n const slotProps = {\n index,\n item: item.raw,\n internalItem: item,\n columns: columns.value,\n isExpanded,\n toggleExpand,\n isSelected,\n toggleSelect,\n } satisfies ItemSlot<any>\n\n const itemSlotProps = {\n ...slotProps,\n props: mergeProps(\n {\n key: `item_${item.key ?? item.index}`,\n onClick: expandOnClick.value ? () => {\n toggleExpand(item)\n } : undefined,\n index,\n item,\n cellProps: props.cellProps,\n mobile: mobile.value,\n },\n getPrefixedEventHandlers(attrs, ':row', () => slotProps),\n typeof props.rowProps === 'function'\n ? props.rowProps({\n item: slotProps.item,\n index: slotProps.index,\n internalItem: slotProps.internalItem,\n })\n : props.rowProps,\n ),\n }\n\n return (\n <Fragment key={ itemSlotProps.props.key as string }>\n { slots.item ? slots.item(itemSlotProps) : (\n <VDataTableRow\n { ...itemSlotProps.props }\n v-slots={ slots }\n />\n )}\n\n { isExpanded(item) && slots['expanded-row']?.(slotProps) }\n </Fragment>\n )\n })}\n </>\n )\n })\n\n return {}\n },\n})\n\nexport type VDataTableRows = InstanceType<typeof VDataTableRows>\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"file":"VDataTableRows.js","names":["VDataTableGroupHeaderRow","VDataTableRow","useExpanded","useGroupBy","useHeaders","useSelection","makeDisplayProps","useDisplay","useLocale","Fragment","mergeProps","genericComponent","getPrefixedEventHandlers","propsFactory","useRender","makeVDataTableRowsProps","loading","Boolean","String","loadingText","type","default","hideNoData","items","Array","noDataText","rowProps","Object","Function","cellProps","VDataTableRows","name","inheritAttrs","props","setup","_ref","attrs","slots","columns","expandOnClick","toggleExpand","isExpanded","isSelected","toggleSelect","toggleGroup","isGroupOpen","t","mobile","length","_createElementVNode","value","_Fragment","map","item","index","slotProps","_createVNode","_mergeProps","id","raw","internalItem","itemSlotProps","key","onClick","undefined"],"sources":["../../../src/components/VDataTable/VDataTableRows.tsx"],"sourcesContent":["// Components\nimport { VDataTableGroupHeaderRow } from './VDataTableGroupHeaderRow'\nimport { VDataTableRow } from './VDataTableRow'\n\n// Composables\nimport { useExpanded } from './composables/expand'\nimport { useGroupBy } from './composables/group'\nimport { useHeaders } from './composables/headers'\nimport { useSelection } from './composables/select'\nimport { makeDisplayProps, useDisplay } from '@/composables/display'\nimport { useLocale } from '@/composables/locale'\n\n// Utilities\nimport { Fragment, mergeProps } from 'vue'\nimport { genericComponent, getPrefixedEventHandlers, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { Group } from './composables/group'\nimport type { CellProps, DataTableItem, GroupHeaderSlot, ItemSlot, RowProps } from './types'\nimport type { VDataTableGroupHeaderRowSlots } from './VDataTableGroupHeaderRow'\nimport type { VDataTableRowSlots } from './VDataTableRow'\nimport type { GenericProps } from '@/util'\n\nexport type VDataTableRowsSlots<T> = VDataTableGroupHeaderRowSlots & VDataTableRowSlots<T> & {\n item: ItemSlot<T> & { props: Record<string, any> }\n loading: never\n 'group-header': GroupHeaderSlot\n 'no-data': never\n 'expanded-row': ItemSlot<T>\n}\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<readonly (DataTableItem | Group)[]>,\n default: () => ([]),\n },\n noDataText: {\n type: String,\n default: '$vuetify.noDataText',\n },\n rowProps: [Object, Function] as PropType<RowProps<any>>,\n cellProps: [Object, Function] as PropType<CellProps<any>>,\n\n ...makeDisplayProps(),\n}, 'VDataTableRows')\n\nexport const VDataTableRows = genericComponent<new <T>(\n props: {\n items?: readonly (DataTableItem<T> | Group<T>)[]\n },\n slots: VDataTableRowsSlots<T>,\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VDataTableRows',\n\n inheritAttrs: false,\n\n props: makeVDataTableRowsProps(),\n\n setup (props, { attrs, 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 const { mobile } = useDisplay(props)\n\n useRender(() => {\n if (props.loading && (!props.items.length || 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?.() ?? t(props.loadingText) }\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') {\n const slotProps = {\n index,\n item,\n columns: columns.value,\n isExpanded,\n toggleExpand,\n isSelected,\n toggleSelect,\n toggleGroup,\n isGroupOpen,\n } satisfies GroupHeaderSlot\n\n return slots['group-header'] ? slots['group-header'](slotProps) : (\n <VDataTableGroupHeaderRow\n key={ `group-header_${item.id}` }\n item={ item }\n { ...getPrefixedEventHandlers(attrs, ':group-header', () => slotProps) }\n v-slots={ slots }\n />\n )\n }\n\n const slotProps = {\n index,\n item: item.raw,\n internalItem: item,\n columns: columns.value,\n isExpanded,\n toggleExpand,\n isSelected,\n toggleSelect,\n } satisfies ItemSlot<any>\n\n const itemSlotProps = {\n ...slotProps,\n props: mergeProps(\n {\n key: `item_${item.key ?? item.index}`,\n onClick: expandOnClick.value ? () => {\n toggleExpand(item)\n } : undefined,\n index,\n item,\n cellProps: props.cellProps,\n mobile: mobile.value,\n },\n getPrefixedEventHandlers(attrs, ':row', () => slotProps),\n typeof props.rowProps === 'function'\n ? props.rowProps({\n item: slotProps.item,\n index: slotProps.index,\n internalItem: slotProps.internalItem,\n })\n : props.rowProps,\n ),\n }\n\n return (\n <Fragment key={ itemSlotProps.props.key as string }>\n { slots.item ? slots.item(itemSlotProps) : (\n <VDataTableRow\n { ...itemSlotProps.props }\n v-slots={ slots }\n />\n )}\n\n { isExpanded(item) && slots['expanded-row']?.(slotProps) }\n </Fragment>\n )\n })}\n </>\n )\n })\n\n return {}\n },\n})\n\nexport type VDataTableRows = InstanceType<typeof VDataTableRows>\n"],"mappings":"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","ignoreList":[]}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { Fragment as _Fragment, createVNode as _createVNode, mergeProps as _mergeProps } from "vue";
|
1
|
+
import { Fragment as _Fragment, createVNode as _createVNode, createElementVNode as _createElementVNode, mergeProps as _mergeProps } from "vue";
|
2
2
|
// Components
|
3
3
|
import { makeDataTableProps } from "./VDataTable.js";
|
4
4
|
import { makeVDataTableFooterProps, VDataTableFooter } from "./VDataTableFooter.js";
|
@@ -171,17 +171,17 @@ export const VDataTableServer = genericComponent()({
|
|
171
171
|
"fixedHeader": props.fixedHeader || props.sticky
|
172
172
|
}), {
|
173
173
|
top: () => slots.top?.(slotProps.value),
|
174
|
-
default: () => slots.default ? slots.default(slotProps.value) :
|
174
|
+
default: () => slots.default ? slots.default(slotProps.value) : _createElementVNode(_Fragment, null, [slots.colgroup?.(slotProps.value), !props.hideDefaultHeader && _createElementVNode("thead", {
|
175
175
|
"key": "thead",
|
176
176
|
"class": "v-data-table__thead",
|
177
177
|
"role": "rowgroup"
|
178
|
-
}, [_createVNode(VDataTableHeaders, dataTableHeadersProps, slots)]), slots.thead?.(slotProps.value), !props.hideDefaultBody &&
|
178
|
+
}, [_createVNode(VDataTableHeaders, dataTableHeadersProps, slots)]), slots.thead?.(slotProps.value), !props.hideDefaultBody && _createElementVNode("tbody", {
|
179
179
|
"class": "v-data-table__tbody",
|
180
180
|
"role": "rowgroup"
|
181
181
|
}, [slots['body.prepend']?.(slotProps.value), slots.body ? slots.body(slotProps.value) : _createVNode(VDataTableRows, _mergeProps(attrs, dataTableRowsProps, {
|
182
182
|
"items": flatItems.value
|
183
183
|
}), slots), slots['body.append']?.(slotProps.value)]), slots.tbody?.(slotProps.value), slots.tfoot?.(slotProps.value)]),
|
184
|
-
bottom: () => slots.bottom ? slots.bottom(slotProps.value) : !props.hideDefaultFooter &&
|
184
|
+
bottom: () => slots.bottom ? slots.bottom(slotProps.value) : !props.hideDefaultFooter && _createElementVNode(_Fragment, null, [_createVNode(VDivider, null, null), _createVNode(VDataTableFooter, dataTableFooterProps, {
|
185
185
|
prepend: slots['footer.prepend']
|
186
186
|
})])
|
187
187
|
});
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"VDataTableServer.js","names":["makeDataTableProps","makeVDataTableFooterProps","VDataTableFooter","VDataTableHeaders","VDataTableRows","VDivider","VTable","provideExpanded","createGroupBy","provideGroupBy","useGroupedItems","createHeaders","useDataTableItems","useOptions","createPagination","makeDataTablePaginateProps","providePagination","provideSelection","createSort","provideSort","provideDefaults","computed","provide","toRef","toRefs","genericComponent","propsFactory","useRender","makeVDataTableServerProps","itemsLength","type","Number","String","required","VDataTableServer","name","props","emits","value","page","sortBy","options","setup","_ref","attrs","slots","groupBy","multiSort","mustSort","itemsPerPage","disableSort","parseInt","columns","headers","showSelect","showExpand","items","toggleSort","opened","isGroupOpen","toggleGroup","extractRows","pageCount","setItemsPerPage","flatItems","isSelected","select","selectAll","toggleSelect","someSelected","allSelected","allItems","currentPage","isExpanded","toggleExpand","itemsWithoutGroups","search","hideNoData","noDataText","loading","loadingText","slotProps","map","item","raw","internalItems","groupedItems","dataTableFooterProps","filterProps","dataTableHeadersProps","dataTableRowsProps","tableProps","_createVNode","_mergeProps","class","style","fixedHeader","sticky","top","default","_Fragment","colgroup","hideDefaultHeader","thead","hideDefaultBody","body","tbody","tfoot","bottom","hideDefaultFooter","prepend"],"sources":["../../../src/components/VDataTable/VDataTableServer.tsx"],"sourcesContent":["// Components\nimport { makeDataTableProps } from './VDataTable'\nimport { makeVDataTableFooterProps, VDataTableFooter } from './VDataTableFooter'\nimport { VDataTableHeaders } from './VDataTableHeaders'\nimport { VDataTableRows } from './VDataTableRows'\nimport { VDivider } from '@/components/VDivider'\nimport { VTable } from '@/components/VTable'\n\n// Composables\nimport { provideExpanded } from './composables/expand'\nimport { createGroupBy, provideGroupBy, useGroupedItems } from './composables/group'\nimport { createHeaders } from './composables/headers'\nimport { useDataTableItems } from './composables/items'\nimport { useOptions } from './composables/options'\nimport { createPagination, makeDataTablePaginateProps, providePagination } from './composables/paginate'\nimport { provideSelection } from './composables/select'\nimport { createSort, provideSort } from './composables/sort'\nimport { provideDefaults } from '@/composables/defaults'\n\n// Utilities\nimport { computed, provide, toRef, toRefs } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { DeepReadonly } from 'vue'\nimport type { VDataTableSlotProps, VDataTableSlots } from './VDataTable'\nimport type { CellProps, DataTableHeader, RowProps } from '@/components/VDataTable/types'\nimport type { GenericProps, SelectItemKey } from '@/util'\n\nexport const makeVDataTableServerProps = propsFactory({\n itemsLength: {\n type: [Number, String],\n required: true,\n },\n\n ...makeDataTablePaginateProps(),\n ...makeDataTableProps(),\n ...makeVDataTableFooterProps(),\n}, 'VDataTableServer')\n\ntype ItemType<T> = T extends readonly (infer U)[] ? U : never\n\nexport const VDataTableServer = genericComponent<new <T extends readonly any[], V>(\n props: {\n items?: T\n itemValue?: SelectItemKey<ItemType<T>>\n rowProps?: RowProps<ItemType<T>>\n cellProps?: CellProps<ItemType<T>>\n itemSelectable?: SelectItemKey<ItemType<T>>\n headers?: DeepReadonly<DataTableHeader<ItemType<T>>[]>\n modelValue?: V\n 'onUpdate:modelValue'?: (value: V) => void\n },\n slots: VDataTableSlots<ItemType<T>>,\n) => GenericProps<typeof props, typeof slots>>()({\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 },\n\n setup (props, { attrs, slots }) {\n const { groupBy } = createGroupBy(props)\n const { sortBy, multiSort, mustSort } = createSort(props)\n const { page, itemsPerPage } = createPagination(props)\n const { disableSort } = toRefs(props)\n const itemsLength = computed(() => parseInt(props.itemsLength, 10))\n\n const { columns, headers } = 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, isGroupOpen, toggleGroup, extractRows } = provideGroupBy({ groupBy, sortBy, disableSort })\n\n const { pageCount, setItemsPerPage } = providePagination({ page, itemsPerPage, itemsLength })\n\n const { flatItems } = useGroupedItems(items, groupBy, opened)\n\n const { isSelected, select, selectAll, toggleSelect, someSelected, allSelected } = provideSelection(props, {\n allItems: items,\n currentPage: items,\n })\n\n const { isExpanded, toggleExpand } = provideExpanded(props)\n\n const itemsWithoutGroups = computed(() => extractRows(items.value))\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 const slotProps = computed<VDataTableSlotProps<any>>(() => ({\n page: page.value,\n itemsPerPage: itemsPerPage.value,\n sortBy: sortBy.value,\n pageCount: pageCount.value,\n toggleSort,\n setItemsPerPage,\n someSelected: someSelected.value,\n allSelected: allSelected.value,\n isSelected,\n select,\n selectAll,\n toggleSelect,\n isExpanded,\n toggleExpand,\n isGroupOpen,\n toggleGroup,\n items: itemsWithoutGroups.value.map(item => item.raw),\n internalItems: itemsWithoutGroups.value,\n groupedItems: flatItems.value,\n columns: columns.value,\n headers: headers.value,\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 fixedHeader={ props.fixedHeader || props.sticky }\n >\n {{\n top: () => slots.top?.(slotProps.value),\n default: () => slots.default ? slots.default(slotProps.value) : (\n <>\n { slots.colgroup?.(slotProps.value) }\n { !props.hideDefaultHeader && (\n <thead key=\"thead\" class=\"v-data-table__thead\" role=\"rowgroup\">\n <VDataTableHeaders\n { ...dataTableHeadersProps }\n v-slots={ slots }\n />\n </thead>\n )}\n { slots.thead?.(slotProps.value) }\n { !props.hideDefaultBody && (\n <tbody class=\"v-data-table__tbody\" role=\"rowgroup\">\n { slots['body.prepend']?.(slotProps.value) }\n { slots.body ? slots.body(slotProps.value) : (\n <VDataTableRows\n { ...attrs }\n { ...dataTableRowsProps }\n items={ flatItems.value }\n v-slots={ slots }\n />\n )}\n { slots['body.append']?.(slotProps.value) }\n </tbody>\n )}\n { slots.tbody?.(slotProps.value) }\n { slots.tfoot?.(slotProps.value) }\n </>\n ),\n bottom: () => slots.bottom ? slots.bottom(slotProps.value) : !props.hideDefaultFooter && (\n <>\n <VDivider />\n\n <VDataTableFooter\n { ...dataTableFooterProps }\n v-slots={{\n prepend: slots['footer.prepend'],\n }}\n />\n </>\n ),\n }}\n </VTable>\n )\n })\n },\n})\n\nexport type VDataTableServer = InstanceType<typeof VDataTableServer>\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"file":"VDataTableServer.js","names":["makeDataTableProps","makeVDataTableFooterProps","VDataTableFooter","VDataTableHeaders","VDataTableRows","VDivider","VTable","provideExpanded","createGroupBy","provideGroupBy","useGroupedItems","createHeaders","useDataTableItems","useOptions","createPagination","makeDataTablePaginateProps","providePagination","provideSelection","createSort","provideSort","provideDefaults","computed","provide","toRef","toRefs","genericComponent","propsFactory","useRender","makeVDataTableServerProps","itemsLength","type","Number","String","required","VDataTableServer","name","props","emits","value","page","sortBy","options","setup","_ref","attrs","slots","groupBy","multiSort","mustSort","itemsPerPage","disableSort","parseInt","columns","headers","showSelect","showExpand","items","toggleSort","opened","isGroupOpen","toggleGroup","extractRows","pageCount","setItemsPerPage","flatItems","isSelected","select","selectAll","toggleSelect","someSelected","allSelected","allItems","currentPage","isExpanded","toggleExpand","itemsWithoutGroups","search","hideNoData","noDataText","loading","loadingText","slotProps","map","item","raw","internalItems","groupedItems","dataTableFooterProps","filterProps","dataTableHeadersProps","dataTableRowsProps","tableProps","_createVNode","_mergeProps","class","style","fixedHeader","sticky","top","default","_createElementVNode","_Fragment","colgroup","hideDefaultHeader","thead","hideDefaultBody","body","tbody","tfoot","bottom","hideDefaultFooter","prepend"],"sources":["../../../src/components/VDataTable/VDataTableServer.tsx"],"sourcesContent":["// Components\nimport { makeDataTableProps } from './VDataTable'\nimport { makeVDataTableFooterProps, VDataTableFooter } from './VDataTableFooter'\nimport { VDataTableHeaders } from './VDataTableHeaders'\nimport { VDataTableRows } from './VDataTableRows'\nimport { VDivider } from '@/components/VDivider'\nimport { VTable } from '@/components/VTable'\n\n// Composables\nimport { provideExpanded } from './composables/expand'\nimport { createGroupBy, provideGroupBy, useGroupedItems } from './composables/group'\nimport { createHeaders } from './composables/headers'\nimport { useDataTableItems } from './composables/items'\nimport { useOptions } from './composables/options'\nimport { createPagination, makeDataTablePaginateProps, providePagination } from './composables/paginate'\nimport { provideSelection } from './composables/select'\nimport { createSort, provideSort } from './composables/sort'\nimport { provideDefaults } from '@/composables/defaults'\n\n// Utilities\nimport { computed, provide, toRef, toRefs } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { DeepReadonly } from 'vue'\nimport type { VDataTableSlotProps, VDataTableSlots } from './VDataTable'\nimport type { CellProps, DataTableHeader, RowProps } from '@/components/VDataTable/types'\nimport type { GenericProps, SelectItemKey } from '@/util'\n\nexport const makeVDataTableServerProps = propsFactory({\n itemsLength: {\n type: [Number, String],\n required: true,\n },\n\n ...makeDataTablePaginateProps(),\n ...makeDataTableProps(),\n ...makeVDataTableFooterProps(),\n}, 'VDataTableServer')\n\ntype ItemType<T> = T extends readonly (infer U)[] ? U : never\n\nexport const VDataTableServer = genericComponent<new <T extends readonly any[], V>(\n props: {\n items?: T\n itemValue?: SelectItemKey<ItemType<T>>\n rowProps?: RowProps<ItemType<T>>\n cellProps?: CellProps<ItemType<T>>\n itemSelectable?: SelectItemKey<ItemType<T>>\n headers?: DeepReadonly<DataTableHeader<ItemType<T>>[]>\n modelValue?: V\n 'onUpdate:modelValue'?: (value: V) => void\n },\n slots: VDataTableSlots<ItemType<T>>,\n) => GenericProps<typeof props, typeof slots>>()({\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 },\n\n setup (props, { attrs, slots }) {\n const { groupBy } = createGroupBy(props)\n const { sortBy, multiSort, mustSort } = createSort(props)\n const { page, itemsPerPage } = createPagination(props)\n const { disableSort } = toRefs(props)\n const itemsLength = computed(() => parseInt(props.itemsLength, 10))\n\n const { columns, headers } = 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, isGroupOpen, toggleGroup, extractRows } = provideGroupBy({ groupBy, sortBy, disableSort })\n\n const { pageCount, setItemsPerPage } = providePagination({ page, itemsPerPage, itemsLength })\n\n const { flatItems } = useGroupedItems(items, groupBy, opened)\n\n const { isSelected, select, selectAll, toggleSelect, someSelected, allSelected } = provideSelection(props, {\n allItems: items,\n currentPage: items,\n })\n\n const { isExpanded, toggleExpand } = provideExpanded(props)\n\n const itemsWithoutGroups = computed(() => extractRows(items.value))\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 const slotProps = computed<VDataTableSlotProps<any>>(() => ({\n page: page.value,\n itemsPerPage: itemsPerPage.value,\n sortBy: sortBy.value,\n pageCount: pageCount.value,\n toggleSort,\n setItemsPerPage,\n someSelected: someSelected.value,\n allSelected: allSelected.value,\n isSelected,\n select,\n selectAll,\n toggleSelect,\n isExpanded,\n toggleExpand,\n isGroupOpen,\n toggleGroup,\n items: itemsWithoutGroups.value.map(item => item.raw),\n internalItems: itemsWithoutGroups.value,\n groupedItems: flatItems.value,\n columns: columns.value,\n headers: headers.value,\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 fixedHeader={ props.fixedHeader || props.sticky }\n >\n {{\n top: () => slots.top?.(slotProps.value),\n default: () => slots.default ? slots.default(slotProps.value) : (\n <>\n { slots.colgroup?.(slotProps.value) }\n { !props.hideDefaultHeader && (\n <thead key=\"thead\" class=\"v-data-table__thead\" role=\"rowgroup\">\n <VDataTableHeaders\n { ...dataTableHeadersProps }\n v-slots={ slots }\n />\n </thead>\n )}\n { slots.thead?.(slotProps.value) }\n { !props.hideDefaultBody && (\n <tbody class=\"v-data-table__tbody\" role=\"rowgroup\">\n { slots['body.prepend']?.(slotProps.value) }\n { slots.body ? slots.body(slotProps.value) : (\n <VDataTableRows\n { ...attrs }\n { ...dataTableRowsProps }\n items={ flatItems.value }\n v-slots={ slots }\n />\n )}\n { slots['body.append']?.(slotProps.value) }\n </tbody>\n )}\n { slots.tbody?.(slotProps.value) }\n { slots.tfoot?.(slotProps.value) }\n </>\n ),\n bottom: () => slots.bottom ? slots.bottom(slotProps.value) : !props.hideDefaultFooter && (\n <>\n <VDivider />\n\n <VDataTableFooter\n { ...dataTableFooterProps }\n v-slots={{\n prepend: slots['footer.prepend'],\n }}\n />\n </>\n ),\n }}\n </VTable>\n )\n })\n },\n})\n\nexport type VDataTableServer = InstanceType<typeof VDataTableServer>\n"],"mappings":"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","ignoreList":[]}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { createVNode as _createVNode, mergeProps as _mergeProps } from "vue";
|
1
|
+
import { createVNode as _createVNode, createElementVNode as _createElementVNode, normalizeStyle as _normalizeStyle, mergeProps as _mergeProps } from "vue";
|
2
2
|
// Components
|
3
3
|
import { makeDataTableProps } from "./VDataTable.js";
|
4
4
|
import { VDataTableHeaders } from "./VDataTableHeaders.js";
|
@@ -178,25 +178,25 @@ export const VDataTableVirtual = genericComponent()({
|
|
178
178
|
"fixedHeader": props.fixedHeader || props.sticky
|
179
179
|
}), {
|
180
180
|
top: () => slots.top?.(slotProps.value),
|
181
|
-
wrapper: () =>
|
181
|
+
wrapper: () => _createElementVNode("div", {
|
182
182
|
"ref": containerRef,
|
183
183
|
"onScrollPassive": handleScroll,
|
184
184
|
"onScrollend": handleScrollend,
|
185
185
|
"class": "v-table__wrapper",
|
186
|
-
"style": {
|
186
|
+
"style": _normalizeStyle({
|
187
187
|
height: convertToUnit(props.height)
|
188
|
-
}
|
189
|
-
}, [
|
188
|
+
})
|
189
|
+
}, [_createElementVNode("table", null, [slots.colgroup?.(slotProps.value), !props.hideDefaultHeader && _createElementVNode("thead", {
|
190
190
|
"key": "thead"
|
191
|
-
}, [_createVNode(VDataTableHeaders, dataTableHeadersProps, slots)]), slots.thead?.(slotProps.value), !props.hideDefaultBody &&
|
191
|
+
}, [_createVNode(VDataTableHeaders, dataTableHeadersProps, slots)]), slots.thead?.(slotProps.value), !props.hideDefaultBody && _createElementVNode("tbody", {
|
192
192
|
"key": "tbody"
|
193
|
-
}, [
|
193
|
+
}, [_createElementVNode("tr", {
|
194
194
|
"ref": markerRef,
|
195
|
-
"style": {
|
195
|
+
"style": _normalizeStyle({
|
196
196
|
height: convertToUnit(paddingTop.value),
|
197
197
|
border: 0
|
198
|
-
}
|
199
|
-
}, [
|
198
|
+
})
|
199
|
+
}, [_createElementVNode("td", {
|
200
200
|
"colspan": columns.value.length,
|
201
201
|
"style": {
|
202
202
|
height: 0,
|
@@ -225,12 +225,12 @@ export const VDataTableVirtual = genericComponent()({
|
|
225
225
|
}), slots);
|
226
226
|
}
|
227
227
|
})
|
228
|
-
}), slots['body.append']?.(slotProps.value),
|
229
|
-
"style": {
|
228
|
+
}), slots['body.append']?.(slotProps.value), _createElementVNode("tr", {
|
229
|
+
"style": _normalizeStyle({
|
230
230
|
height: convertToUnit(paddingBottom.value),
|
231
231
|
border: 0
|
232
|
-
}
|
233
|
-
}, [
|
232
|
+
})
|
233
|
+
}, [_createElementVNode("td", {
|
234
234
|
"colspan": columns.value.length,
|
235
235
|
"style": {
|
236
236
|
height: 0,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"VDataTableVirtual.js","names":["makeDataTableProps","VDataTableHeaders","VDataTableRow","VDataTableRows","VTable","VVirtualScrollItem","provideExpanded","createGroupBy","makeDataTableGroupProps","provideGroupBy","useGroupedItems","createHeaders","useDataTableItems","useOptions","provideSelection","createSort","provideSort","useSortedItems","provideDefaults","makeFilterProps","useFilter","makeVirtualProps","useVirtual","computed","shallowRef","toRef","toRefs","convertToUnit","genericComponent","omit","propsFactory","useRender","makeVDataTableVirtualProps","VDataTableVirtual","name","props","emits","value","setup","_ref","attrs","slots","groupBy","sortBy","multiSort","mustSort","disableSort","columns","headers","filterFunctions","sortFunctions","sortRawFunctions","showSelect","showExpand","items","search","filteredItems","transform","item","customKeyFilter","toggleSort","sortByWithGroups","opened","extractRows","isGroupOpen","toggleGroup","sortedItems","raw","flatItems","allItems","isSelected","select","selectAll","toggleSelect","someSelected","allSelected","currentPage","isExpanded","toggleExpand","containerRef","markerRef","paddingTop","paddingBottom","computedItems","handleItemResize","handleScroll","handleScrollend","calculateVisibleItems","scrollToIndex","displayItems","map","page","itemsPerPage","hideNoData","noDataText","loading","loadingText","slotProps","internalItems","groupedItems","dataTableHeadersProps","filterProps","dataTableRowsProps","tableProps","_createVNode","_mergeProps","class","style","fixedHeader","sticky","top","wrapper","height","colgroup","hideDefaultHeader","thead","hideDefaultBody","border","length","itemSlotProps","internalItem","index","default","_ref2","itemRef","tbody","tfoot","bottom"],"sources":["../../../src/components/VDataTable/VDataTableVirtual.tsx"],"sourcesContent":["// Components\nimport { makeDataTableProps } from './VDataTable'\nimport { VDataTableHeaders } from './VDataTableHeaders'\nimport { VDataTableRow } from './VDataTableRow'\nimport { VDataTableRows } from './VDataTableRows'\nimport { VTable } from '@/components/VTable'\nimport { VVirtualScrollItem } from '@/components/VVirtualScroll/VVirtualScrollItem'\n\n// Composables\nimport { provideExpanded } from './composables/expand'\nimport { createGroupBy, makeDataTableGroupProps, provideGroupBy, useGroupedItems } from './composables/group'\nimport { createHeaders } from './composables/headers'\nimport { useDataTableItems } from './composables/items'\nimport { useOptions } from './composables/options'\nimport { provideSelection } from './composables/select'\nimport { createSort, provideSort, useSortedItems } from './composables/sort'\nimport { provideDefaults } from '@/composables/defaults'\nimport { makeFilterProps, useFilter } from '@/composables/filter'\nimport { makeVirtualProps, useVirtual } from '@/composables/virtual'\n\n// Utilities\nimport { computed, shallowRef, toRef, toRefs } from 'vue'\nimport { convertToUnit, genericComponent, omit, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { DeepReadonly } from 'vue'\nimport type { VDataTableSlotProps } from './VDataTable'\nimport type { VDataTableHeadersSlots } from './VDataTableHeaders'\nimport type { VDataTableRowsSlots } from './VDataTableRows'\nimport type { CellProps, DataTableHeader, RowProps } from '@/components/VDataTable/types'\nimport type { GenericProps, SelectItemKey, TemplateRef } from '@/util'\n\ntype VDataTableVirtualSlotProps<T> = Omit<\n VDataTableSlotProps<T>,\n | 'setItemsPerPage'\n | 'page'\n | 'pageCount'\n | 'itemsPerPage'\n>\n\nexport type VDataTableVirtualSlots<T> = VDataTableRowsSlots<T> & VDataTableHeadersSlots & {\n colgroup: VDataTableVirtualSlotProps<T>\n top: VDataTableVirtualSlotProps<T>\n headers: VDataTableHeadersSlots['headers']\n tbody: VDataTableVirtualSlotProps<T>\n thead: VDataTableVirtualSlotProps<T>\n tfoot: VDataTableVirtualSlotProps<T>\n bottom: VDataTableVirtualSlotProps<T>\n 'body.prepend': VDataTableVirtualSlotProps<T>\n 'body.append': VDataTableVirtualSlotProps<T>\n item: {\n itemRef: TemplateRef\n }\n}\n\nexport const makeVDataTableVirtualProps = propsFactory({\n ...omit(makeDataTableProps(), ['hideDefaultFooter']),\n ...makeDataTableGroupProps(),\n ...makeVirtualProps(),\n ...makeFilterProps(),\n}, 'VDataTableVirtual')\n\ntype ItemType<T> = T extends readonly (infer U)[] ? U : never\n\nexport const VDataTableVirtual = genericComponent<new <T extends readonly any[], V>(\n props: {\n items?: T\n itemValue?: SelectItemKey<ItemType<T>>\n rowProps?: RowProps<ItemType<T>>\n cellProps?: CellProps<ItemType<T>>\n itemSelectable?: SelectItemKey<ItemType<T>>\n headers?: DeepReadonly<DataTableHeader<ItemType<T>>[]>\n modelValue?: V\n 'onUpdate:modelValue'?: (value: V) => void\n },\n slots: VDataTableVirtualSlots<ItemType<T>>,\n) => GenericProps<typeof props, typeof slots>>()({\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 },\n\n setup (props, { attrs, slots }) {\n const { groupBy } = createGroupBy(props)\n const { sortBy, multiSort, mustSort } = createSort(props)\n const { disableSort } = toRefs(props)\n\n const {\n columns,\n headers,\n filterFunctions,\n sortFunctions,\n sortRawFunctions,\n } = createHeaders(props, {\n groupBy,\n showSelect: toRef(() => props.showSelect),\n showExpand: toRef(() => props.showExpand),\n })\n const { items } = useDataTableItems(props, columns)\n\n const search = toRef(() => props.search)\n const { filteredItems } = useFilter(props, items, search, {\n transform: item => item.columns,\n customKeyFilter: filterFunctions,\n })\n\n const { toggleSort } = provideSort({ sortBy, multiSort, mustSort })\n const { sortByWithGroups, opened, extractRows, isGroupOpen, toggleGroup } = provideGroupBy({ groupBy, sortBy, disableSort })\n\n const { sortedItems } = useSortedItems(props, filteredItems, sortByWithGroups, {\n transform: item => ({ ...item.raw, ...item.columns }),\n sortFunctions,\n sortRawFunctions,\n })\n const { flatItems } = useGroupedItems(sortedItems, groupBy, opened)\n\n const allItems = computed(() => extractRows(flatItems.value))\n\n const { isSelected, select, selectAll, toggleSelect, someSelected, allSelected } = provideSelection(props, {\n allItems,\n currentPage: allItems,\n })\n const { isExpanded, toggleExpand } = provideExpanded(props)\n\n const {\n containerRef,\n markerRef,\n paddingTop,\n paddingBottom,\n computedItems,\n handleItemResize,\n handleScroll,\n handleScrollend,\n calculateVisibleItems,\n scrollToIndex,\n } = useVirtual(props, flatItems)\n const displayItems = computed(() => computedItems.value.map(item => item.raw))\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 loading: toRef(() => props.loading),\n loadingText: toRef(() => props.loadingText),\n },\n })\n\n const slotProps = computed<VDataTableVirtualSlotProps<any>>(() => ({\n sortBy: sortBy.value,\n toggleSort,\n someSelected: someSelected.value,\n allSelected: allSelected.value,\n isSelected,\n select,\n selectAll,\n toggleSelect,\n isExpanded,\n toggleExpand,\n isGroupOpen,\n toggleGroup,\n items: allItems.value.map(item => item.raw),\n internalItems: allItems.value,\n groupedItems: flatItems.value,\n columns: columns.value,\n headers: headers.value,\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 {\n 'v-data-table--loading': props.loading,\n },\n props.class,\n ]}\n style={ props.style }\n { ...tableProps }\n fixedHeader={ props.fixedHeader || props.sticky }\n >\n {{\n top: () => slots.top?.(slotProps.value),\n wrapper: () => (\n <div\n ref={ containerRef }\n onScrollPassive={ handleScroll }\n onScrollend={ handleScrollend }\n class=\"v-table__wrapper\"\n style={{\n height: convertToUnit(props.height),\n }}\n >\n <table>\n { slots.colgroup?.(slotProps.value) }\n { !props.hideDefaultHeader && (\n <thead key=\"thead\">\n <VDataTableHeaders\n { ...dataTableHeadersProps }\n v-slots={ slots }\n />\n </thead>\n )}\n { slots.thead?.(slotProps.value) }\n { !props.hideDefaultBody && (\n <tbody key=\"tbody\">\n <tr ref={ markerRef } style={{ height: convertToUnit(paddingTop.value), border: 0 }}>\n <td colspan={ columns.value.length } style={{ height: 0, border: 0 }}></td>\n </tr>\n\n { slots['body.prepend']?.(slotProps.value) }\n\n <VDataTableRows\n { ...attrs }\n { ...dataTableRowsProps }\n items={ displayItems.value }\n >\n {{\n ...slots,\n item: itemSlotProps => (\n <VVirtualScrollItem\n key={ itemSlotProps.internalItem.index }\n renderless\n onUpdate:height={ height => handleItemResize(itemSlotProps.internalItem.index, height) }\n >\n { ({ itemRef }) => (\n slots.item?.({ ...itemSlotProps, itemRef }) ?? (\n <VDataTableRow\n { ...itemSlotProps.props }\n ref={ itemRef }\n key={ itemSlotProps.internalItem.index }\n index={ itemSlotProps.internalItem.index }\n v-slots={ slots }\n />\n )\n )}\n </VVirtualScrollItem>\n ),\n }}\n </VDataTableRows>\n\n { slots['body.append']?.(slotProps.value) }\n\n <tr style={{ height: convertToUnit(paddingBottom.value), border: 0 }}>\n <td colspan={ columns.value.length } style={{ height: 0, border: 0 }}></td>\n </tr>\n </tbody>\n )}\n { slots.tbody?.(slotProps.value) }\n { slots.tfoot?.(slotProps.value) }\n </table>\n </div>\n ),\n bottom: () => slots.bottom?.(slotProps.value),\n }}\n </VTable>\n )\n })\n\n return {\n calculateVisibleItems,\n scrollToIndex,\n }\n },\n})\n\nexport type VDataTableVirtual = InstanceType<typeof VDataTableVirtual>\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"file":"VDataTableVirtual.js","names":["makeDataTableProps","VDataTableHeaders","VDataTableRow","VDataTableRows","VTable","VVirtualScrollItem","provideExpanded","createGroupBy","makeDataTableGroupProps","provideGroupBy","useGroupedItems","createHeaders","useDataTableItems","useOptions","provideSelection","createSort","provideSort","useSortedItems","provideDefaults","makeFilterProps","useFilter","makeVirtualProps","useVirtual","computed","shallowRef","toRef","toRefs","convertToUnit","genericComponent","omit","propsFactory","useRender","makeVDataTableVirtualProps","VDataTableVirtual","name","props","emits","value","setup","_ref","attrs","slots","groupBy","sortBy","multiSort","mustSort","disableSort","columns","headers","filterFunctions","sortFunctions","sortRawFunctions","showSelect","showExpand","items","search","filteredItems","transform","item","customKeyFilter","toggleSort","sortByWithGroups","opened","extractRows","isGroupOpen","toggleGroup","sortedItems","raw","flatItems","allItems","isSelected","select","selectAll","toggleSelect","someSelected","allSelected","currentPage","isExpanded","toggleExpand","containerRef","markerRef","paddingTop","paddingBottom","computedItems","handleItemResize","handleScroll","handleScrollend","calculateVisibleItems","scrollToIndex","displayItems","map","page","itemsPerPage","hideNoData","noDataText","loading","loadingText","slotProps","internalItems","groupedItems","dataTableHeadersProps","filterProps","dataTableRowsProps","tableProps","_createVNode","_mergeProps","class","style","fixedHeader","sticky","top","wrapper","_createElementVNode","_normalizeStyle","height","colgroup","hideDefaultHeader","thead","hideDefaultBody","border","length","itemSlotProps","internalItem","index","default","_ref2","itemRef","tbody","tfoot","bottom"],"sources":["../../../src/components/VDataTable/VDataTableVirtual.tsx"],"sourcesContent":["// Components\nimport { makeDataTableProps } from './VDataTable'\nimport { VDataTableHeaders } from './VDataTableHeaders'\nimport { VDataTableRow } from './VDataTableRow'\nimport { VDataTableRows } from './VDataTableRows'\nimport { VTable } from '@/components/VTable'\nimport { VVirtualScrollItem } from '@/components/VVirtualScroll/VVirtualScrollItem'\n\n// Composables\nimport { provideExpanded } from './composables/expand'\nimport { createGroupBy, makeDataTableGroupProps, provideGroupBy, useGroupedItems } from './composables/group'\nimport { createHeaders } from './composables/headers'\nimport { useDataTableItems } from './composables/items'\nimport { useOptions } from './composables/options'\nimport { provideSelection } from './composables/select'\nimport { createSort, provideSort, useSortedItems } from './composables/sort'\nimport { provideDefaults } from '@/composables/defaults'\nimport { makeFilterProps, useFilter } from '@/composables/filter'\nimport { makeVirtualProps, useVirtual } from '@/composables/virtual'\n\n// Utilities\nimport { computed, shallowRef, toRef, toRefs } from 'vue'\nimport { convertToUnit, genericComponent, omit, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { DeepReadonly } from 'vue'\nimport type { VDataTableSlotProps } from './VDataTable'\nimport type { VDataTableHeadersSlots } from './VDataTableHeaders'\nimport type { VDataTableRowsSlots } from './VDataTableRows'\nimport type { CellProps, DataTableHeader, RowProps } from '@/components/VDataTable/types'\nimport type { GenericProps, SelectItemKey, TemplateRef } from '@/util'\n\ntype VDataTableVirtualSlotProps<T> = Omit<\n VDataTableSlotProps<T>,\n | 'setItemsPerPage'\n | 'page'\n | 'pageCount'\n | 'itemsPerPage'\n>\n\nexport type VDataTableVirtualSlots<T> = VDataTableRowsSlots<T> & VDataTableHeadersSlots & {\n colgroup: VDataTableVirtualSlotProps<T>\n top: VDataTableVirtualSlotProps<T>\n headers: VDataTableHeadersSlots['headers']\n tbody: VDataTableVirtualSlotProps<T>\n thead: VDataTableVirtualSlotProps<T>\n tfoot: VDataTableVirtualSlotProps<T>\n bottom: VDataTableVirtualSlotProps<T>\n 'body.prepend': VDataTableVirtualSlotProps<T>\n 'body.append': VDataTableVirtualSlotProps<T>\n item: {\n itemRef: TemplateRef\n }\n}\n\nexport const makeVDataTableVirtualProps = propsFactory({\n ...omit(makeDataTableProps(), ['hideDefaultFooter']),\n ...makeDataTableGroupProps(),\n ...makeVirtualProps(),\n ...makeFilterProps(),\n}, 'VDataTableVirtual')\n\ntype ItemType<T> = T extends readonly (infer U)[] ? U : never\n\nexport const VDataTableVirtual = genericComponent<new <T extends readonly any[], V>(\n props: {\n items?: T\n itemValue?: SelectItemKey<ItemType<T>>\n rowProps?: RowProps<ItemType<T>>\n cellProps?: CellProps<ItemType<T>>\n itemSelectable?: SelectItemKey<ItemType<T>>\n headers?: DeepReadonly<DataTableHeader<ItemType<T>>[]>\n modelValue?: V\n 'onUpdate:modelValue'?: (value: V) => void\n },\n slots: VDataTableVirtualSlots<ItemType<T>>,\n) => GenericProps<typeof props, typeof slots>>()({\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 },\n\n setup (props, { attrs, slots }) {\n const { groupBy } = createGroupBy(props)\n const { sortBy, multiSort, mustSort } = createSort(props)\n const { disableSort } = toRefs(props)\n\n const {\n columns,\n headers,\n filterFunctions,\n sortFunctions,\n sortRawFunctions,\n } = createHeaders(props, {\n groupBy,\n showSelect: toRef(() => props.showSelect),\n showExpand: toRef(() => props.showExpand),\n })\n const { items } = useDataTableItems(props, columns)\n\n const search = toRef(() => props.search)\n const { filteredItems } = useFilter(props, items, search, {\n transform: item => item.columns,\n customKeyFilter: filterFunctions,\n })\n\n const { toggleSort } = provideSort({ sortBy, multiSort, mustSort })\n const { sortByWithGroups, opened, extractRows, isGroupOpen, toggleGroup } = provideGroupBy({ groupBy, sortBy, disableSort })\n\n const { sortedItems } = useSortedItems(props, filteredItems, sortByWithGroups, {\n transform: item => ({ ...item.raw, ...item.columns }),\n sortFunctions,\n sortRawFunctions,\n })\n const { flatItems } = useGroupedItems(sortedItems, groupBy, opened)\n\n const allItems = computed(() => extractRows(flatItems.value))\n\n const { isSelected, select, selectAll, toggleSelect, someSelected, allSelected } = provideSelection(props, {\n allItems,\n currentPage: allItems,\n })\n const { isExpanded, toggleExpand } = provideExpanded(props)\n\n const {\n containerRef,\n markerRef,\n paddingTop,\n paddingBottom,\n computedItems,\n handleItemResize,\n handleScroll,\n handleScrollend,\n calculateVisibleItems,\n scrollToIndex,\n } = useVirtual(props, flatItems)\n const displayItems = computed(() => computedItems.value.map(item => item.raw))\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 loading: toRef(() => props.loading),\n loadingText: toRef(() => props.loadingText),\n },\n })\n\n const slotProps = computed<VDataTableVirtualSlotProps<any>>(() => ({\n sortBy: sortBy.value,\n toggleSort,\n someSelected: someSelected.value,\n allSelected: allSelected.value,\n isSelected,\n select,\n selectAll,\n toggleSelect,\n isExpanded,\n toggleExpand,\n isGroupOpen,\n toggleGroup,\n items: allItems.value.map(item => item.raw),\n internalItems: allItems.value,\n groupedItems: flatItems.value,\n columns: columns.value,\n headers: headers.value,\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 {\n 'v-data-table--loading': props.loading,\n },\n props.class,\n ]}\n style={ props.style }\n { ...tableProps }\n fixedHeader={ props.fixedHeader || props.sticky }\n >\n {{\n top: () => slots.top?.(slotProps.value),\n wrapper: () => (\n <div\n ref={ containerRef }\n onScrollPassive={ handleScroll }\n onScrollend={ handleScrollend }\n class=\"v-table__wrapper\"\n style={{\n height: convertToUnit(props.height),\n }}\n >\n <table>\n { slots.colgroup?.(slotProps.value) }\n { !props.hideDefaultHeader && (\n <thead key=\"thead\">\n <VDataTableHeaders\n { ...dataTableHeadersProps }\n v-slots={ slots }\n />\n </thead>\n )}\n { slots.thead?.(slotProps.value) }\n { !props.hideDefaultBody && (\n <tbody key=\"tbody\">\n <tr ref={ markerRef } style={{ height: convertToUnit(paddingTop.value), border: 0 }}>\n <td colspan={ columns.value.length } style={{ height: 0, border: 0 }}></td>\n </tr>\n\n { slots['body.prepend']?.(slotProps.value) }\n\n <VDataTableRows\n { ...attrs }\n { ...dataTableRowsProps }\n items={ displayItems.value }\n >\n {{\n ...slots,\n item: itemSlotProps => (\n <VVirtualScrollItem\n key={ itemSlotProps.internalItem.index }\n renderless\n onUpdate:height={ height => handleItemResize(itemSlotProps.internalItem.index, height) }\n >\n { ({ itemRef }) => (\n slots.item?.({ ...itemSlotProps, itemRef }) ?? (\n <VDataTableRow\n { ...itemSlotProps.props }\n ref={ itemRef }\n key={ itemSlotProps.internalItem.index }\n index={ itemSlotProps.internalItem.index }\n v-slots={ slots }\n />\n )\n )}\n </VVirtualScrollItem>\n ),\n }}\n </VDataTableRows>\n\n { slots['body.append']?.(slotProps.value) }\n\n <tr style={{ height: convertToUnit(paddingBottom.value), border: 0 }}>\n <td colspan={ columns.value.length } style={{ height: 0, border: 0 }}></td>\n </tr>\n </tbody>\n )}\n { slots.tbody?.(slotProps.value) }\n { slots.tfoot?.(slotProps.value) }\n </table>\n </div>\n ),\n bottom: () => slots.bottom?.(slotProps.value),\n }}\n </VTable>\n )\n })\n\n return {\n calculateVisibleItems,\n scrollToIndex,\n }\n },\n})\n\nexport type VDataTableVirtual = InstanceType<typeof VDataTableVirtual>\n"],"mappings":";AAAA;AAAA,SACSA,kBAAkB;AAAA,SAClBC,iBAAiB;AAAA,SACjBC,aAAa;AAAA,SACbC,cAAc;AAAA,SACdC,MAAM;AAAA,SACNC,kBAAkB,mDAE3B;AAAA,SACSC,eAAe;AAAA,SACfC,aAAa,EAAEC,uBAAuB,EAAEC,cAAc,EAAEC,eAAe;AAAA,SACvEC,aAAa;AAAA,SACbC,iBAAiB;AAAA,SACjBC,UAAU;AAAA,SACVC,gBAAgB;AAAA,SAChBC,UAAU,EAAEC,WAAW,EAAEC,cAAc;AAAA,SACvCC,eAAe;AAAA,SACfC,eAAe,EAAEC,SAAS;AAAA,SAC1BC,gBAAgB,EAAEC,UAAU,wCAErC;AACA,SAASC,QAAQ,EAAEC,UAAU,EAAEC,KAAK,EAAEC,MAAM,QAAQ,KAAK;AAAA,SAChDC,aAAa,EAAEC,gBAAgB,EAAEC,IAAI,EAAEC,YAAY,EAAEC,SAAS,+BAEvE;AA+BA,OAAO,MAAMC,0BAA0B,GAAGF,YAAY,CAAC;EACrD,GAAGD,IAAI,CAAC7B,kBAAkB,CAAC,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC;EACpD,GAAGQ,uBAAuB,CAAC,CAAC;EAC5B,GAAGa,gBAAgB,CAAC,CAAC;EACrB,GAAGF,eAAe,CAAC;AACrB,CAAC,EAAE,mBAAmB,CAAC;AAIvB,OAAO,MAAMc,iBAAiB,GAAGL,gBAAgB,CAYF,CAAC,CAAC;EAC/CM,IAAI,EAAE,mBAAmB;EAEzBC,KAAK,EAAEH,0BAA0B,CAAC,CAAC;EAEnCI,KAAK,EAAE;IACL,mBAAmB,EAAGC,KAAY,IAAK,IAAI;IAC3C,eAAe,EAAGA,KAAU,IAAK,IAAI;IACrC,gBAAgB,EAAGA,KAAU,IAAK,IAAI;IACtC,gBAAgB,EAAGA,KAAU,IAAK,IAAI;IACtC,iBAAiB,EAAGA,KAAU,IAAK;EACrC,CAAC;EAEDC,KAAKA,CAAEH,KAAK,EAAAI,IAAA,EAAoB;IAAA,IAAlB;MAAEC,KAAK;MAAEC;IAAM,CAAC,GAAAF,IAAA;IAC5B,MAAM;MAAEG;IAAQ,CAAC,GAAGnC,aAAa,CAAC4B,KAAK,CAAC;IACxC,MAAM;MAAEQ,MAAM;MAAEC,SAAS;MAAEC;IAAS,CAAC,GAAG9B,UAAU,CAACoB,KAAK,CAAC;IACzD,MAAM;MAAEW;IAAY,CAAC,GAAGpB,MAAM,CAACS,KAAK,CAAC;IAErC,MAAM;MACJY,OAAO;MACPC,OAAO;MACPC,eAAe;MACfC,aAAa;MACbC;IACF,CAAC,GAAGxC,aAAa,CAACwB,KAAK,EAAE;MACvBO,OAAO;MACPU,UAAU,EAAE3B,KAAK,CAAC,MAAMU,KAAK,CAACiB,UAAU,CAAC;MACzCC,UAAU,EAAE5B,KAAK,CAAC,MAAMU,KAAK,CAACkB,UAAU;IAC1C,CAAC,CAAC;IACF,MAAM;MAAEC;IAAM,CAAC,GAAG1C,iBAAiB,CAACuB,KAAK,EAAEY,OAAO,CAAC;IAEnD,MAAMQ,MAAM,GAAG9B,KAAK,CAAC,MAAMU,KAAK,CAACoB,MAAM,CAAC;IACxC,MAAM;MAAEC;IAAc,CAAC,GAAGpC,SAAS,CAACe,KAAK,EAAEmB,KAAK,EAAEC,MAAM,EAAE;MACxDE,SAAS,EAAEC,IAAI,IAAIA,IAAI,CAACX,OAAO;MAC/BY,eAAe,EAAEV;IACnB,CAAC,CAAC;IAEF,MAAM;MAAEW;IAAW,CAAC,GAAG5C,WAAW,CAAC;MAAE2B,MAAM;MAAEC,SAAS;MAAEC;IAAS,CAAC,CAAC;IACnE,MAAM;MAAEgB,gBAAgB;MAAEC,MAAM;MAAEC,WAAW;MAAEC,WAAW;MAAEC;IAAY,CAAC,GAAGxD,cAAc,CAAC;MAAEiC,OAAO;MAAEC,MAAM;MAAEG;IAAY,CAAC,CAAC;IAE5H,MAAM;MAAEoB;IAAY,CAAC,GAAGjD,cAAc,CAACkB,KAAK,EAAEqB,aAAa,EAAEK,gBAAgB,EAAE;MAC7EJ,SAAS,EAAEC,IAAI,KAAK;QAAE,GAAGA,IAAI,CAACS,GAAG;QAAE,GAAGT,IAAI,CAACX;MAAQ,CAAC,CAAC;MACrDG,aAAa;MACbC;IACF,CAAC,CAAC;IACF,MAAM;MAAEiB;IAAU,CAAC,GAAG1D,eAAe,CAACwD,WAAW,EAAExB,OAAO,EAAEoB,MAAM,CAAC;IAEnE,MAAMO,QAAQ,GAAG9C,QAAQ,CAAC,MAAMwC,WAAW,CAACK,SAAS,CAAC/B,KAAK,CAAC,CAAC;IAE7D,MAAM;MAAEiC,UAAU;MAAEC,MAAM;MAAEC,SAAS;MAAEC,YAAY;MAAEC,YAAY;MAAEC;IAAY,CAAC,GAAG7D,gBAAgB,CAACqB,KAAK,EAAE;MACzGkC,QAAQ;MACRO,WAAW,EAAEP;IACf,CAAC,CAAC;IACF,MAAM;MAAEQ,UAAU;MAAEC;IAAa,CAAC,GAAGxE,eAAe,CAAC6B,KAAK,CAAC;IAE3D,MAAM;MACJ4C,YAAY;MACZC,SAAS;MACTC,UAAU;MACVC,aAAa;MACbC,aAAa;MACbC,gBAAgB;MAChBC,YAAY;MACZC,eAAe;MACfC,qBAAqB;MACrBC;IACF,CAAC,GAAGlE,UAAU,CAACa,KAAK,EAAEiC,SAAS,CAAC;IAChC,MAAMqB,YAAY,GAAGlE,QAAQ,CAAC,MAAM4D,aAAa,CAAC9C,KAAK,CAACqD,GAAG,CAAChC,IAAI,IAAIA,IAAI,CAACS,GAAG,CAAC,CAAC;IAE9EtD,UAAU,CAAC;MACT8B,MAAM;MACNgD,IAAI,EAAEnE,UAAU,CAAC,CAAC,CAAC;MACnBoE,YAAY,EAAEpE,UAAU,CAAC,CAAC,CAAC,CAAC;MAC5BkB,OAAO;MACPa;IACF,CAAC,CAAC;IAEFrC,eAAe,CAAC;MACdf,cAAc,EAAE;QACd0F,UAAU,EAAEpE,KAAK,CAAC,MAAMU,KAAK,CAAC0D,UAAU,CAAC;QACzCC,UAAU,EAAErE,KAAK,CAAC,MAAMU,KAAK,CAAC2D,UAAU,CAAC;QACzCC,OAAO,EAAEtE,KAAK,CAAC,MAAMU,KAAK,CAAC4D,OAAO,CAAC;QACnCC,WAAW,EAAEvE,KAAK,CAAC,MAAMU,KAAK,CAAC6D,WAAW;MAC5C;IACF,CAAC,CAAC;IAEF,MAAMC,SAAS,GAAG1E,QAAQ,CAAkC,OAAO;MACjEoB,MAAM,EAAEA,MAAM,CAACN,KAAK;MACpBuB,UAAU;MACVc,YAAY,EAAEA,YAAY,CAACrC,KAAK;MAChCsC,WAAW,EAAEA,WAAW,CAACtC,KAAK;MAC9BiC,UAAU;MACVC,MAAM;MACNC,SAAS;MACTC,YAAY;MACZI,UAAU;MACVC,YAAY;MACZd,WAAW;MACXC,WAAW;MACXX,KAAK,EAAEe,QAAQ,CAAChC,KAAK,CAACqD,GAAG,CAAChC,IAAI,IAAIA,IAAI,CAACS,GAAG,CAAC;MAC3C+B,aAAa,EAAE7B,QAAQ,CAAChC,KAAK;MAC7B8D,YAAY,EAAE/B,SAAS,CAAC/B,KAAK;MAC7BU,OAAO,EAAEA,OAAO,CAACV,KAAK;MACtBW,OAAO,EAAEA,OAAO,CAACX;IACnB,CAAC,CAAC,CAAC;IAEHN,SAAS,CAAC,MAAM;MACd,MAAMqE,qBAAqB,GAAGnG,iBAAiB,CAACoG,WAAW,CAAClE,KAAK,CAAC;MAClE,MAAMmE,kBAAkB,GAAGnG,cAAc,CAACkG,WAAW,CAAClE,KAAK,CAAC;MAC5D,MAAMoE,UAAU,GAAGnG,MAAM,CAACiG,WAAW,CAAClE,KAAK,CAAC;MAE5C,OAAAqE,YAAA,CAAApG,MAAA,EAAAqG,WAAA;QAAA,SAEW,CACL,cAAc,EACd;UACE,uBAAuB,EAAEtE,KAAK,CAAC4D;QACjC,CAAC,EACD5D,KAAK,CAACuE,KAAK,CACZ;QAAA,SACOvE,KAAK,CAACwE;MAAK,GACdJ,UAAU;QAAA,eACDpE,KAAK,CAACyE,WAAW,IAAIzE,KAAK,CAAC0E;MAAM;QAG7CC,GAAG,EAAEA,CAAA,KAAMrE,KAAK,CAACqE,GAAG,GAAGb,SAAS,CAAC5D,KAAK,CAAC;QACvC0E,OAAO,EAAEA,CAAA,KAAAC,mBAAA;UAAA,OAECjC,YAAY;UAAA,mBACAM,YAAY;UAAA,eAChBC,eAAe;UAAA;UAAA,SAAA2B,eAAA,CAEtB;YACLC,MAAM,EAAEvF,aAAa,CAACQ,KAAK,CAAC+E,MAAM;UACpC,CAAC;QAAA,IAAAF,mBAAA,iBAGGvE,KAAK,CAAC0E,QAAQ,GAAGlB,SAAS,CAAC5D,KAAK,CAAC,EACjC,CAACF,KAAK,CAACiF,iBAAiB,IAAAJ,mBAAA;UAAA;QAAA,IAAAR,YAAA,CAAAvG,iBAAA,EAGfmG,qBAAqB,EAChB3D,KAAK,GAGpB,EACCA,KAAK,CAAC4E,KAAK,GAAGpB,SAAS,CAAC5D,KAAK,CAAC,EAC9B,CAACF,KAAK,CAACmF,eAAe,IAAAN,mBAAA;UAAA;QAAA,IAAAA,mBAAA;UAAA,OAEVhC,SAAS;UAAA,SAAAiC,eAAA,CAAU;YAAEC,MAAM,EAAEvF,aAAa,CAACsD,UAAU,CAAC5C,KAAK,CAAC;YAAEkF,MAAM,EAAE;UAAE,CAAC;QAAA,IAAAP,mBAAA;UAAA,WACnEjE,OAAO,CAACV,KAAK,CAACmF,MAAM;UAAA,SAAU;YAAEN,MAAM,EAAE,CAAC;YAAEK,MAAM,EAAE;UAAE;QAAC,YAGpE9E,KAAK,CAAC,cAAc,CAAC,GAAGwD,SAAS,CAAC5D,KAAK,CAAC,EAAAmE,YAAA,CAAArG,cAAA,EAAAsG,WAAA,CAGnCjE,KAAK,EACL8D,kBAAkB;UAAA,SACfb,YAAY,CAACpD;QAAK;UAGxB,GAAGI,KAAK;UACRiB,IAAI,EAAE+D,aAAa,IAAAjB,YAAA,CAAAnG,kBAAA;YAAA,OAEToH,aAAa,CAACC,YAAY,CAACC,KAAK;YAAA;YAAA,mBAEpBT,MAAM,IAAI9B,gBAAgB,CAACqC,aAAa,CAACC,YAAY,CAACC,KAAK,EAAET,MAAM;UAAC;YAAAU,OAAA,EAEpFC,KAAA;cAAA,IAAC;gBAAEC;cAAQ,CAAC,GAAAD,KAAA;cAAA,OACZpF,KAAK,CAACiB,IAAI,GAAG;gBAAE,GAAG+D,aAAa;gBAAEK;cAAQ,CAAC,CAAC,IAAAtB,YAAA,CAAAtG,aAAA,EAAAuG,WAAA,CAElCgB,aAAa,CAACtF,KAAK;gBAAA,OAClB2F,OAAO;gBAAA,OACPL,aAAa,CAACC,YAAY,CAACC,KAAK;gBAAA,SAC9BF,aAAa,CAACC,YAAY,CAACC;cAAK,IAC9BlF,KAAK,CAElB;YAAA;UACF;QAEJ,IAIHA,KAAK,CAAC,aAAa,CAAC,GAAGwD,SAAS,CAAC5D,KAAK,CAAC,EAAA2E,mBAAA;UAAA,SAAAC,eAAA,CAE9B;YAAEC,MAAM,EAAEvF,aAAa,CAACuD,aAAa,CAAC7C,KAAK,CAAC;YAAEkF,MAAM,EAAE;UAAE,CAAC;QAAA,IAAAP,mBAAA;UAAA,WACpDjE,OAAO,CAACV,KAAK,CAACmF,MAAM;UAAA,SAAU;YAAEN,MAAM,EAAE,CAAC;YAAEK,MAAM,EAAE;UAAE;QAAC,YAGzE,EACC9E,KAAK,CAACsF,KAAK,GAAG9B,SAAS,CAAC5D,KAAK,CAAC,EAC9BI,KAAK,CAACuF,KAAK,GAAG/B,SAAS,CAAC5D,KAAK,CAAC,IAGrC;QACD4F,MAAM,EAAEA,CAAA,KAAMxF,KAAK,CAACwF,MAAM,GAAGhC,SAAS,CAAC5D,KAAK;MAAC;IAIrD,CAAC,CAAC;IAEF,OAAO;MACLkD,qBAAqB;MACrBC;IACF,CAAC;EACH;AACF,CAAC,CAAC","ignoreList":[]}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { createVNode as _createVNode, mergeProps as _mergeProps, Fragment as _Fragment } from "vue";
|
1
|
+
import { createElementVNode as _createElementVNode, createVNode as _createVNode, mergeProps as _mergeProps, Fragment as _Fragment } from "vue";
|
2
2
|
// Styles
|
3
3
|
import "./VDatePicker.css";
|
4
4
|
|
@@ -220,7 +220,7 @@ export const VDatePicker = genericComponent()({
|
|
220
220
|
}, rtlClasses.value, props.class],
|
221
221
|
"style": props.style
|
222
222
|
}), {
|
223
|
-
title: () => slots.title?.() ??
|
223
|
+
title: () => slots.title?.() ?? _createElementVNode("div", {
|
224
224
|
"class": "v-date-picker__title"
|
225
225
|
}, [t(props.title)]),
|
226
226
|
header: () => slots.header ? _createVNode(VDefaultsProvider, {
|
@@ -239,7 +239,7 @@ export const VDatePicker = genericComponent()({
|
|
239
239
|
...slots,
|
240
240
|
default: undefined
|
241
241
|
}),
|
242
|
-
default: () =>
|
242
|
+
default: () => _createElementVNode(_Fragment, null, [_createVNode(VDatePickerControls, _mergeProps(datePickerControlsProps, {
|
243
243
|
"disabled": disabled.value,
|
244
244
|
"text": text.value,
|
245
245
|
"onClick:next": onClickNext,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"VDatePicker.js","names":["makeVDatePickerControlsProps","VDatePickerControls","VDatePickerHeader","makeVDatePickerMonthProps","VDatePickerMonth","makeVDatePickerMonthsProps","VDatePickerMonths","makeVDatePickerYearsProps","VDatePickerYears","VFadeTransition","VDefaultsProvider","makeVPickerProps","VPicker","useDate","useLocale","useRtl","useProxiedModel","computed","ref","shallowRef","toRef","watch","genericComponent","omit","propsFactory","useRender","wrapInArray","makeVDatePickerProps","header","type","String","default","headerColor","weeksInMonth","title","modelValue","VDatePicker","name","props","emits","date","setup","_ref","emit","slots","adapter","t","rtlClasses","model","undefined","v","map","i","multiple","viewMode","minDate","min","isValid","maxDate","max","internal","today","value","isBefore","isAfter","color","month","Number","getMonth","startOfMonth","year","getYear","startOfYear","setMonth","isReversing","length","format","text","setDate","setYear","headerTransition","disabled","targets","push","_date","addDays","endOfMonth","onClickNext","onUpdateYear","onUpdateMonth","onClickPrev","onClickDate","onClickMonth","onClickYear","val","oldVal","arrBefore","arrAfter","before","after","newMonth","newYear","pickerProps","filterProps","datePickerControlsProps","datePickerHeaderProps","datePickerMonthProps","datePickerMonthsProps","datePickerYearsProps","headerProps","transition","_createVNode","_mergeProps","showWeek","class","style","_Fragment","$event","actions"],"sources":["../../../src/components/VDatePicker/VDatePicker.tsx"],"sourcesContent":["// Styles\nimport './VDatePicker.sass'\n\n// Components\nimport { makeVDatePickerControlsProps, VDatePickerControls } from './VDatePickerControls'\nimport { VDatePickerHeader } from './VDatePickerHeader'\nimport { makeVDatePickerMonthProps, VDatePickerMonth } from './VDatePickerMonth'\nimport { makeVDatePickerMonthsProps, VDatePickerMonths } from './VDatePickerMonths'\nimport { makeVDatePickerYearsProps, VDatePickerYears } from './VDatePickerYears'\nimport { VFadeTransition } from '@/components/transitions'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { makeVPickerProps, VPicker } from '@/labs/VPicker/VPicker'\n\n// Composables\nimport { useDate } from '@/composables/date'\nimport { useLocale, useRtl } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, ref, shallowRef, toRef, watch } from 'vue'\nimport { genericComponent, omit, propsFactory, useRender, wrapInArray } from '@/util'\n\n// Types\nimport type { VPickerSlots } from '@/labs/VPicker/VPicker'\nimport type { GenericProps } from '@/util'\n\n// Types\nexport type VDatePickerSlots = Omit<VPickerSlots, 'header'> & {\n header: {\n header: string\n transition: string\n }\n}\n\nexport const makeVDatePickerProps = propsFactory({\n // TODO: implement in v3.5\n // calendarIcon: {\n // type: String,\n // default: '$calendar',\n // },\n // keyboardIcon: {\n // type: String,\n // default: '$edit',\n // },\n // inputMode: {\n // type: String as PropType<'calendar' | 'keyboard'>,\n // default: 'calendar',\n // },\n // inputText: {\n // type: String,\n // default: '$vuetify.datePicker.input.placeholder',\n // },\n // inputPlaceholder: {\n // type: String,\n // default: 'dd/mm/yyyy',\n // },\n header: {\n type: String,\n default: '$vuetify.datePicker.header',\n },\n headerColor: String,\n\n ...makeVDatePickerControlsProps(),\n ...makeVDatePickerMonthProps({\n weeksInMonth: 'static' as const,\n }),\n ...omit(makeVDatePickerMonthsProps(), ['modelValue']),\n ...omit(makeVDatePickerYearsProps(), ['modelValue']),\n ...makeVPickerProps({ title: '$vuetify.datePicker.title' }),\n\n modelValue: null,\n}, 'VDatePicker')\n\nexport const VDatePicker = genericComponent<new <\n T,\n Multiple extends boolean | 'range' | number | (string & {}) = false,\n TModel = Multiple extends true | number | string\n ? T[]\n : T,\n> (\n props: {\n modelValue?: TModel\n 'onUpdate:modelValue'?: (value: TModel) => void\n multiple?: Multiple\n },\n slots: VDatePickerSlots\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VDatePicker',\n\n props: makeVDatePickerProps(),\n\n emits: {\n 'update:modelValue': (date: any) => true,\n 'update:month': (date: any) => true,\n 'update:year': (date: any) => true,\n // 'update:inputMode': (date: any) => true,\n 'update:viewMode': (date: any) => true,\n },\n\n setup (props, { emit, slots }) {\n const adapter = useDate()\n const { t } = useLocale()\n const { rtlClasses } = useRtl()\n\n const model = useProxiedModel(\n props,\n 'modelValue',\n undefined,\n v => wrapInArray(v).map(i => adapter.date(i)),\n v => props.multiple ? v : v[0],\n )\n\n const viewMode = useProxiedModel(props, 'viewMode')\n // const inputMode = useProxiedModel(props, 'inputMode')\n\n const minDate = computed(() => {\n const date = adapter.date(props.min)\n\n return props.min && adapter.isValid(date) ? date : null\n })\n const maxDate = computed(() => {\n const date = adapter.date(props.max)\n\n return props.max && adapter.isValid(date) ? date : null\n })\n\n const internal = computed(() => {\n const today = adapter.date()\n let value = today\n if (model.value?.[0]) {\n value = adapter.date(model.value[0])\n } else if (minDate.value && adapter.isBefore(today, minDate.value)) {\n value = minDate.value\n } else if (maxDate.value && adapter.isAfter(today, maxDate.value)) {\n value = maxDate.value\n }\n\n return value && adapter.isValid(value) ? value : today\n })\n const headerColor = toRef(() => props.headerColor ?? props.color)\n\n const month = ref(Number(props.month ?? adapter.getMonth(adapter.startOfMonth(internal.value))))\n const year = ref(Number(props.year ?? adapter.getYear(adapter.startOfYear(adapter.setMonth(internal.value, month.value)))))\n\n const isReversing = shallowRef(false)\n const header = computed(() => {\n if (props.multiple && model.value.length > 1) {\n return t('$vuetify.datePicker.itemsSelected', model.value.length)\n }\n\n return (model.value[0] && adapter.isValid(model.value[0]))\n ? adapter.format(adapter.date(model.value[0]), 'normalDateWithWeekday')\n : t(props.header)\n })\n const text = computed(() => {\n let date = adapter.date()\n\n date = adapter.setDate(date, 1)\n date = adapter.setMonth(date, month.value)\n date = adapter.setYear(date, year.value)\n\n return adapter.format(date, 'monthAndYear')\n })\n // const headerIcon = toRef(() => props.inputMode === 'calendar' ? props.keyboardIcon : props.calendarIcon)\n const headerTransition = toRef(() => `date-picker-header${isReversing.value ? '-reverse' : ''}-transition`)\n\n const disabled = computed(() => {\n if (props.disabled) return true\n\n const targets = []\n\n if (viewMode.value !== 'month') {\n targets.push(...['prev', 'next'])\n } else {\n let _date = adapter.date()\n\n _date = adapter.startOfMonth(_date)\n _date = adapter.setMonth(_date, month.value)\n _date = adapter.setYear(_date, year.value)\n\n if (minDate.value) {\n const date = adapter.addDays(adapter.startOfMonth(_date), -1)\n\n adapter.isAfter(minDate.value, date) && targets.push('prev')\n }\n\n if (maxDate.value) {\n const date = adapter.addDays(adapter.endOfMonth(_date), 1)\n\n adapter.isAfter(date, maxDate.value) && targets.push('next')\n }\n }\n\n return targets\n })\n\n // function onClickAppend () {\n // inputMode.value = inputMode.value === 'calendar' ? 'keyboard' : 'calendar'\n // }\n\n function onClickNext () {\n if (month.value < 11) {\n month.value++\n } else {\n year.value++\n month.value = 0\n onUpdateYear(year.value)\n }\n onUpdateMonth(month.value)\n }\n\n function onClickPrev () {\n if (month.value > 0) {\n month.value--\n } else {\n year.value--\n month.value = 11\n onUpdateYear(year.value)\n }\n onUpdateMonth(month.value)\n }\n\n function onClickDate () {\n viewMode.value = 'month'\n }\n\n function onClickMonth () {\n viewMode.value = viewMode.value === 'months' ? 'month' : 'months'\n }\n\n function onClickYear () {\n viewMode.value = viewMode.value === 'year' ? 'month' : 'year'\n }\n\n function onUpdateMonth (value: number) {\n if (viewMode.value === 'months') onClickMonth()\n\n emit('update:month', value)\n }\n\n function onUpdateYear (value: number) {\n if (viewMode.value === 'year') onClickYear()\n\n emit('update:year', value)\n }\n\n watch(model, (val, oldVal) => {\n const arrBefore = wrapInArray(oldVal)\n const arrAfter = wrapInArray(val)\n\n if (!arrAfter.length) return\n\n const before = adapter.date(arrBefore[arrBefore.length - 1])\n const after = adapter.date(arrAfter[arrAfter.length - 1])\n const newMonth = adapter.getMonth(after)\n const newYear = adapter.getYear(after)\n\n if (newMonth !== month.value) {\n month.value = newMonth\n onUpdateMonth(month.value)\n }\n\n if (newYear !== year.value) {\n year.value = newYear\n onUpdateYear(year.value)\n }\n\n isReversing.value = adapter.isBefore(before, after)\n })\n\n useRender(() => {\n const pickerProps = VPicker.filterProps(props)\n const datePickerControlsProps = VDatePickerControls.filterProps(props)\n const datePickerHeaderProps = VDatePickerHeader.filterProps(props)\n const datePickerMonthProps = VDatePickerMonth.filterProps(props)\n const datePickerMonthsProps = omit(VDatePickerMonths.filterProps(props), ['modelValue'])\n const datePickerYearsProps = omit(VDatePickerYears.filterProps(props), ['modelValue'])\n\n const headerProps = {\n color: headerColor.value,\n header: header.value,\n transition: headerTransition.value,\n }\n\n return (\n <VPicker\n { ...pickerProps }\n color={ headerColor.value }\n class={[\n 'v-date-picker',\n `v-date-picker--${viewMode.value}`,\n {\n 'v-date-picker--show-week': props.showWeek,\n },\n rtlClasses.value,\n props.class,\n ]}\n style={ props.style }\n v-slots={{\n title: () => slots.title?.() ?? (\n <div class=\"v-date-picker__title\">\n { t(props.title) }\n </div>\n ),\n header: () => slots.header ? (\n <VDefaultsProvider\n defaults={{\n VDatePickerHeader: { ...headerProps },\n }}\n >\n { slots.header?.(headerProps) }\n </VDefaultsProvider>\n ) : (\n <VDatePickerHeader\n key=\"header\"\n { ...datePickerHeaderProps }\n { ...headerProps }\n onClick={ viewMode.value !== 'month' ? onClickDate : undefined }\n v-slots={{\n ...slots,\n default: undefined,\n }}\n />\n ),\n default: () => (\n <>\n <VDatePickerControls\n { ...datePickerControlsProps }\n disabled={ disabled.value }\n text={ text.value }\n onClick:next={ onClickNext }\n onClick:prev={ onClickPrev }\n onClick:month={ onClickMonth }\n onClick:year={ onClickYear }\n />\n\n <VFadeTransition hideOnLeave>\n { viewMode.value === 'months' ? (\n <VDatePickerMonths\n key=\"date-picker-months\"\n { ...datePickerMonthsProps }\n v-model={ month.value }\n onUpdate:modelValue={ onUpdateMonth }\n min={ minDate.value }\n max={ maxDate.value }\n year={ year.value }\n />\n ) : viewMode.value === 'year' ? (\n <VDatePickerYears\n key=\"date-picker-years\"\n { ...datePickerYearsProps }\n v-model={ year.value }\n onUpdate:modelValue={ onUpdateYear }\n min={ minDate.value }\n max={ maxDate.value }\n />\n ) : (\n <VDatePickerMonth\n key=\"date-picker-month\"\n { ...datePickerMonthProps }\n v-model={ model.value }\n v-model:month={ month.value }\n v-model:year={ year.value }\n onUpdate:month={ onUpdateMonth }\n onUpdate:year={ onUpdateYear }\n min={ minDate.value }\n max={ maxDate.value }\n />\n )}\n </VFadeTransition>\n </>\n ),\n actions: slots.actions,\n }}\n />\n )\n })\n\n return {}\n },\n})\n\nexport type VDatePicker = InstanceType<typeof VDatePicker>\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"file":"VDatePicker.js","names":["makeVDatePickerControlsProps","VDatePickerControls","VDatePickerHeader","makeVDatePickerMonthProps","VDatePickerMonth","makeVDatePickerMonthsProps","VDatePickerMonths","makeVDatePickerYearsProps","VDatePickerYears","VFadeTransition","VDefaultsProvider","makeVPickerProps","VPicker","useDate","useLocale","useRtl","useProxiedModel","computed","ref","shallowRef","toRef","watch","genericComponent","omit","propsFactory","useRender","wrapInArray","makeVDatePickerProps","header","type","String","default","headerColor","weeksInMonth","title","modelValue","VDatePicker","name","props","emits","date","setup","_ref","emit","slots","adapter","t","rtlClasses","model","undefined","v","map","i","multiple","viewMode","minDate","min","isValid","maxDate","max","internal","today","value","isBefore","isAfter","color","month","Number","getMonth","startOfMonth","year","getYear","startOfYear","setMonth","isReversing","length","format","text","setDate","setYear","headerTransition","disabled","targets","push","_date","addDays","endOfMonth","onClickNext","onUpdateYear","onUpdateMonth","onClickPrev","onClickDate","onClickMonth","onClickYear","val","oldVal","arrBefore","arrAfter","before","after","newMonth","newYear","pickerProps","filterProps","datePickerControlsProps","datePickerHeaderProps","datePickerMonthProps","datePickerMonthsProps","datePickerYearsProps","headerProps","transition","_createVNode","_mergeProps","showWeek","class","style","_createElementVNode","_Fragment","$event","actions"],"sources":["../../../src/components/VDatePicker/VDatePicker.tsx"],"sourcesContent":["// Styles\nimport './VDatePicker.sass'\n\n// Components\nimport { makeVDatePickerControlsProps, VDatePickerControls } from './VDatePickerControls'\nimport { VDatePickerHeader } from './VDatePickerHeader'\nimport { makeVDatePickerMonthProps, VDatePickerMonth } from './VDatePickerMonth'\nimport { makeVDatePickerMonthsProps, VDatePickerMonths } from './VDatePickerMonths'\nimport { makeVDatePickerYearsProps, VDatePickerYears } from './VDatePickerYears'\nimport { VFadeTransition } from '@/components/transitions'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { makeVPickerProps, VPicker } from '@/labs/VPicker/VPicker'\n\n// Composables\nimport { useDate } from '@/composables/date'\nimport { useLocale, useRtl } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, ref, shallowRef, toRef, watch } from 'vue'\nimport { genericComponent, omit, propsFactory, useRender, wrapInArray } from '@/util'\n\n// Types\nimport type { VPickerSlots } from '@/labs/VPicker/VPicker'\nimport type { GenericProps } from '@/util'\n\n// Types\nexport type VDatePickerSlots = Omit<VPickerSlots, 'header'> & {\n header: {\n header: string\n transition: string\n }\n}\n\nexport const makeVDatePickerProps = propsFactory({\n // TODO: implement in v3.5\n // calendarIcon: {\n // type: String,\n // default: '$calendar',\n // },\n // keyboardIcon: {\n // type: String,\n // default: '$edit',\n // },\n // inputMode: {\n // type: String as PropType<'calendar' | 'keyboard'>,\n // default: 'calendar',\n // },\n // inputText: {\n // type: String,\n // default: '$vuetify.datePicker.input.placeholder',\n // },\n // inputPlaceholder: {\n // type: String,\n // default: 'dd/mm/yyyy',\n // },\n header: {\n type: String,\n default: '$vuetify.datePicker.header',\n },\n headerColor: String,\n\n ...makeVDatePickerControlsProps(),\n ...makeVDatePickerMonthProps({\n weeksInMonth: 'static' as const,\n }),\n ...omit(makeVDatePickerMonthsProps(), ['modelValue']),\n ...omit(makeVDatePickerYearsProps(), ['modelValue']),\n ...makeVPickerProps({ title: '$vuetify.datePicker.title' }),\n\n modelValue: null,\n}, 'VDatePicker')\n\nexport const VDatePicker = genericComponent<new <\n T,\n Multiple extends boolean | 'range' | number | (string & {}) = false,\n TModel = Multiple extends true | number | string\n ? T[]\n : T,\n> (\n props: {\n modelValue?: TModel\n 'onUpdate:modelValue'?: (value: TModel) => void\n multiple?: Multiple\n },\n slots: VDatePickerSlots\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VDatePicker',\n\n props: makeVDatePickerProps(),\n\n emits: {\n 'update:modelValue': (date: any) => true,\n 'update:month': (date: any) => true,\n 'update:year': (date: any) => true,\n // 'update:inputMode': (date: any) => true,\n 'update:viewMode': (date: any) => true,\n },\n\n setup (props, { emit, slots }) {\n const adapter = useDate()\n const { t } = useLocale()\n const { rtlClasses } = useRtl()\n\n const model = useProxiedModel(\n props,\n 'modelValue',\n undefined,\n v => wrapInArray(v).map(i => adapter.date(i)),\n v => props.multiple ? v : v[0],\n )\n\n const viewMode = useProxiedModel(props, 'viewMode')\n // const inputMode = useProxiedModel(props, 'inputMode')\n\n const minDate = computed(() => {\n const date = adapter.date(props.min)\n\n return props.min && adapter.isValid(date) ? date : null\n })\n const maxDate = computed(() => {\n const date = adapter.date(props.max)\n\n return props.max && adapter.isValid(date) ? date : null\n })\n\n const internal = computed(() => {\n const today = adapter.date()\n let value = today\n if (model.value?.[0]) {\n value = adapter.date(model.value[0])\n } else if (minDate.value && adapter.isBefore(today, minDate.value)) {\n value = minDate.value\n } else if (maxDate.value && adapter.isAfter(today, maxDate.value)) {\n value = maxDate.value\n }\n\n return value && adapter.isValid(value) ? value : today\n })\n const headerColor = toRef(() => props.headerColor ?? props.color)\n\n const month = ref(Number(props.month ?? adapter.getMonth(adapter.startOfMonth(internal.value))))\n const year = ref(Number(props.year ?? adapter.getYear(adapter.startOfYear(adapter.setMonth(internal.value, month.value)))))\n\n const isReversing = shallowRef(false)\n const header = computed(() => {\n if (props.multiple && model.value.length > 1) {\n return t('$vuetify.datePicker.itemsSelected', model.value.length)\n }\n\n return (model.value[0] && adapter.isValid(model.value[0]))\n ? adapter.format(adapter.date(model.value[0]), 'normalDateWithWeekday')\n : t(props.header)\n })\n const text = computed(() => {\n let date = adapter.date()\n\n date = adapter.setDate(date, 1)\n date = adapter.setMonth(date, month.value)\n date = adapter.setYear(date, year.value)\n\n return adapter.format(date, 'monthAndYear')\n })\n // const headerIcon = toRef(() => props.inputMode === 'calendar' ? props.keyboardIcon : props.calendarIcon)\n const headerTransition = toRef(() => `date-picker-header${isReversing.value ? '-reverse' : ''}-transition`)\n\n const disabled = computed(() => {\n if (props.disabled) return true\n\n const targets = []\n\n if (viewMode.value !== 'month') {\n targets.push(...['prev', 'next'])\n } else {\n let _date = adapter.date()\n\n _date = adapter.startOfMonth(_date)\n _date = adapter.setMonth(_date, month.value)\n _date = adapter.setYear(_date, year.value)\n\n if (minDate.value) {\n const date = adapter.addDays(adapter.startOfMonth(_date), -1)\n\n adapter.isAfter(minDate.value, date) && targets.push('prev')\n }\n\n if (maxDate.value) {\n const date = adapter.addDays(adapter.endOfMonth(_date), 1)\n\n adapter.isAfter(date, maxDate.value) && targets.push('next')\n }\n }\n\n return targets\n })\n\n // function onClickAppend () {\n // inputMode.value = inputMode.value === 'calendar' ? 'keyboard' : 'calendar'\n // }\n\n function onClickNext () {\n if (month.value < 11) {\n month.value++\n } else {\n year.value++\n month.value = 0\n onUpdateYear(year.value)\n }\n onUpdateMonth(month.value)\n }\n\n function onClickPrev () {\n if (month.value > 0) {\n month.value--\n } else {\n year.value--\n month.value = 11\n onUpdateYear(year.value)\n }\n onUpdateMonth(month.value)\n }\n\n function onClickDate () {\n viewMode.value = 'month'\n }\n\n function onClickMonth () {\n viewMode.value = viewMode.value === 'months' ? 'month' : 'months'\n }\n\n function onClickYear () {\n viewMode.value = viewMode.value === 'year' ? 'month' : 'year'\n }\n\n function onUpdateMonth (value: number) {\n if (viewMode.value === 'months') onClickMonth()\n\n emit('update:month', value)\n }\n\n function onUpdateYear (value: number) {\n if (viewMode.value === 'year') onClickYear()\n\n emit('update:year', value)\n }\n\n watch(model, (val, oldVal) => {\n const arrBefore = wrapInArray(oldVal)\n const arrAfter = wrapInArray(val)\n\n if (!arrAfter.length) return\n\n const before = adapter.date(arrBefore[arrBefore.length - 1])\n const after = adapter.date(arrAfter[arrAfter.length - 1])\n const newMonth = adapter.getMonth(after)\n const newYear = adapter.getYear(after)\n\n if (newMonth !== month.value) {\n month.value = newMonth\n onUpdateMonth(month.value)\n }\n\n if (newYear !== year.value) {\n year.value = newYear\n onUpdateYear(year.value)\n }\n\n isReversing.value = adapter.isBefore(before, after)\n })\n\n useRender(() => {\n const pickerProps = VPicker.filterProps(props)\n const datePickerControlsProps = VDatePickerControls.filterProps(props)\n const datePickerHeaderProps = VDatePickerHeader.filterProps(props)\n const datePickerMonthProps = VDatePickerMonth.filterProps(props)\n const datePickerMonthsProps = omit(VDatePickerMonths.filterProps(props), ['modelValue'])\n const datePickerYearsProps = omit(VDatePickerYears.filterProps(props), ['modelValue'])\n\n const headerProps = {\n color: headerColor.value,\n header: header.value,\n transition: headerTransition.value,\n }\n\n return (\n <VPicker\n { ...pickerProps }\n color={ headerColor.value }\n class={[\n 'v-date-picker',\n `v-date-picker--${viewMode.value}`,\n {\n 'v-date-picker--show-week': props.showWeek,\n },\n rtlClasses.value,\n props.class,\n ]}\n style={ props.style }\n v-slots={{\n title: () => slots.title?.() ?? (\n <div class=\"v-date-picker__title\">\n { t(props.title) }\n </div>\n ),\n header: () => slots.header ? (\n <VDefaultsProvider\n defaults={{\n VDatePickerHeader: { ...headerProps },\n }}\n >\n { slots.header?.(headerProps) }\n </VDefaultsProvider>\n ) : (\n <VDatePickerHeader\n key=\"header\"\n { ...datePickerHeaderProps }\n { ...headerProps }\n onClick={ viewMode.value !== 'month' ? onClickDate : undefined }\n v-slots={{\n ...slots,\n default: undefined,\n }}\n />\n ),\n default: () => (\n <>\n <VDatePickerControls\n { ...datePickerControlsProps }\n disabled={ disabled.value }\n text={ text.value }\n onClick:next={ onClickNext }\n onClick:prev={ onClickPrev }\n onClick:month={ onClickMonth }\n onClick:year={ onClickYear }\n />\n\n <VFadeTransition hideOnLeave>\n { viewMode.value === 'months' ? (\n <VDatePickerMonths\n key=\"date-picker-months\"\n { ...datePickerMonthsProps }\n v-model={ month.value }\n onUpdate:modelValue={ onUpdateMonth }\n min={ minDate.value }\n max={ maxDate.value }\n year={ year.value }\n />\n ) : viewMode.value === 'year' ? (\n <VDatePickerYears\n key=\"date-picker-years\"\n { ...datePickerYearsProps }\n v-model={ year.value }\n onUpdate:modelValue={ onUpdateYear }\n min={ minDate.value }\n max={ maxDate.value }\n />\n ) : (\n <VDatePickerMonth\n key=\"date-picker-month\"\n { ...datePickerMonthProps }\n v-model={ model.value }\n v-model:month={ month.value }\n v-model:year={ year.value }\n onUpdate:month={ onUpdateMonth }\n onUpdate:year={ onUpdateYear }\n min={ minDate.value }\n max={ maxDate.value }\n />\n )}\n </VFadeTransition>\n </>\n ),\n actions: slots.actions,\n }}\n />\n )\n })\n\n return {}\n },\n})\n\nexport type VDatePicker = InstanceType<typeof VDatePicker>\n"],"mappings":"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","ignoreList":[]}
|