@vuetify/nightly 4.0.0-dev-20230426.0 → 4.0.0-dev-20230427.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +10 -2
- package/dist/json/attributes.json +218 -194
- package/dist/json/importMap.json +12 -12
- package/dist/json/tags.json +7 -1
- package/dist/json/web-types.json +379 -326
- package/dist/vuetify-labs.css +1361 -1362
- package/dist/vuetify-labs.d.ts +5791 -8230
- package/dist/vuetify-labs.esm.js +1286 -1090
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +1285 -1089
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +29 -30
- package/dist/vuetify.d.ts +5991 -7516
- package/dist/vuetify.esm.js +1248 -1063
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +1247 -1062
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +743 -738
- package/dist/vuetify.min.js.map +1 -1
- package/lib/blueprints/index.d.ts +1 -1
- package/lib/blueprints/md1.d.ts +1 -1
- package/lib/blueprints/md2.d.ts +1 -1
- package/lib/blueprints/md3.d.ts +1 -1
- package/lib/components/VAlert/VAlert.mjs +6 -4
- package/lib/components/VAlert/VAlert.mjs.map +1 -1
- package/lib/components/VAlert/index.d.ts +57 -55
- package/lib/components/VApp/VApp.mjs +4 -2
- package/lib/components/VApp/VApp.mjs.map +1 -1
- package/lib/components/VApp/index.d.ts +22 -13
- package/lib/components/VAppBar/VAppBar.mjs +3 -3
- package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
- package/lib/components/VAppBar/VAppBarNavIcon.mjs +7 -4
- package/lib/components/VAppBar/VAppBarNavIcon.mjs.map +1 -1
- package/lib/components/VAppBar/index.d.ts +87 -92
- package/lib/components/VAutocomplete/VAutocomplete.mjs +2 -1
- package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
- package/lib/components/VAutocomplete/index.d.ts +225 -403
- package/lib/components/VAvatar/VAvatar.mjs +4 -2
- package/lib/components/VAvatar/VAvatar.mjs.map +1 -1
- package/lib/components/VAvatar/index.d.ts +23 -14
- package/lib/components/VBadge/VBadge.mjs +6 -5
- package/lib/components/VBadge/VBadge.mjs.map +1 -1
- package/lib/components/VBadge/index.d.ts +27 -22
- package/lib/components/VBanner/VBanner.mjs +6 -4
- package/lib/components/VBanner/VBanner.mjs.map +1 -1
- package/lib/components/VBanner/VBannerActions.mjs +5 -2
- package/lib/components/VBanner/VBannerActions.mjs.map +1 -1
- package/lib/components/VBanner/index.d.ts +92 -66
- package/lib/components/VBottomNavigation/VBottomNavigation.mjs +4 -2
- package/lib/components/VBottomNavigation/VBottomNavigation.mjs.map +1 -1
- package/lib/components/VBottomNavigation/index.d.ts +22 -13
- package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs +35 -18
- package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs.map +1 -1
- package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.mjs +6 -3
- package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.mjs.map +1 -1
- package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs +4 -2
- package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs.map +1 -1
- package/lib/components/VBreadcrumbs/index.d.ts +134 -93
- package/lib/components/VBtn/VBtn.mjs +5 -3
- package/lib/components/VBtn/VBtn.mjs.map +1 -1
- package/lib/components/VBtn/index.d.ts +33 -36
- package/lib/components/VBtnGroup/VBtnGroup.mjs +4 -1
- package/lib/components/VBtnGroup/VBtnGroup.mjs.map +1 -1
- package/lib/components/VBtnGroup/index.d.ts +22 -13
- package/lib/components/VBtnToggle/VBtnToggle.mjs +4 -2
- package/lib/components/VBtnToggle/VBtnToggle.mjs.map +1 -1
- package/lib/components/VBtnToggle/index.d.ts +30 -21
- package/lib/components/VCard/VCard.mjs +5 -3
- package/lib/components/VCard/VCard.mjs.map +1 -1
- package/lib/components/VCard/VCardActions.mjs +7 -4
- package/lib/components/VCard/VCardActions.mjs.map +1 -1
- package/lib/components/VCard/VCardItem.mjs +5 -2
- package/lib/components/VCard/VCardItem.mjs.map +1 -1
- package/lib/components/VCard/index.d.ts +250 -141
- package/lib/components/VCarousel/VCarousel.mjs +3 -3
- package/lib/components/VCarousel/VCarousel.mjs.map +1 -1
- package/lib/components/VCarousel/VCarouselItem.mjs +6 -3
- package/lib/components/VCarousel/VCarouselItem.mjs.map +1 -1
- package/lib/components/VCarousel/index.d.ts +78 -141
- package/lib/components/VCheckbox/VCheckbox.mjs +3 -2
- package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
- package/lib/components/VCheckbox/VCheckboxBtn.mjs +2 -1
- package/lib/components/VCheckbox/VCheckboxBtn.mjs.map +1 -1
- package/lib/components/VCheckbox/index.d.ts +69 -103
- package/lib/components/VChip/VChip.mjs +7 -8
- package/lib/components/VChip/VChip.mjs.map +1 -1
- package/lib/components/VChip/index.d.ts +27 -30
- package/lib/components/VChipGroup/VChipGroup.mjs +4 -1
- package/lib/components/VChipGroup/VChipGroup.mjs.map +1 -1
- package/lib/components/VChipGroup/index.d.ts +22 -13
- package/lib/components/VCode/index.d.ts +30 -17
- package/lib/components/VColorPicker/VColorPicker.mjs +3 -3
- package/lib/components/VColorPicker/VColorPicker.mjs.map +1 -1
- package/lib/components/VColorPicker/VColorPickerCanvas.mjs +5 -2
- package/lib/components/VColorPicker/VColorPickerCanvas.mjs.map +1 -1
- package/lib/components/VColorPicker/VColorPickerEdit.mjs +6 -3
- package/lib/components/VColorPicker/VColorPickerEdit.mjs.map +1 -1
- package/lib/components/VColorPicker/VColorPickerPreview.mjs +6 -3
- package/lib/components/VColorPicker/VColorPickerPreview.mjs.map +1 -1
- package/lib/components/VColorPicker/VColorPickerSwatches.mjs +7 -5
- package/lib/components/VColorPicker/VColorPickerSwatches.mjs.map +1 -1
- package/lib/components/VColorPicker/index.d.ts +34 -1
- package/lib/components/VCombobox/VCombobox.mjs +2 -1
- package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
- package/lib/components/VCombobox/index.d.ts +225 -403
- package/lib/components/VCounter/VCounter.mjs +4 -1
- package/lib/components/VCounter/VCounter.mjs.map +1 -1
- package/lib/components/VCounter/index.d.ts +22 -145
- package/lib/components/VDefaultsProvider/index.d.ts +0 -12
- package/lib/components/VDialog/VDialog.mjs +4 -3
- package/lib/components/VDialog/VDialog.mjs.map +1 -1
- package/lib/components/VDialog/index.d.ts +104 -282
- package/lib/components/VDivider/VDivider.mjs +4 -2
- package/lib/components/VDivider/VDivider.mjs.map +1 -1
- package/lib/components/VDivider/index.d.ts +22 -13
- package/lib/components/VExpansionPanel/VExpansionPanel.mjs +4 -2
- package/lib/components/VExpansionPanel/VExpansionPanel.mjs.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanelText.mjs +4 -1
- package/lib/components/VExpansionPanel/VExpansionPanelText.mjs.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs +4 -2
- package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanels.mjs +4 -1
- package/lib/components/VExpansionPanel/VExpansionPanels.mjs.map +1 -1
- package/lib/components/VExpansionPanel/index.d.ts +109 -81
- package/lib/components/VField/VField.css +0 -1
- package/lib/components/VField/VField.mjs +9 -6
- package/lib/components/VField/VField.mjs.map +1 -1
- package/lib/components/VField/VField.sass +0 -1
- package/lib/components/VField/VFieldLabel.mjs +6 -3
- package/lib/components/VField/VFieldLabel.mjs.map +1 -1
- package/lib/components/VField/index.d.ts +119 -70
- package/lib/components/VFileInput/VFileInput.mjs +2 -1
- package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
- package/lib/components/VFileInput/index.d.ts +99 -150
- package/lib/components/VFooter/VFooter.mjs +4 -2
- package/lib/components/VFooter/VFooter.mjs.map +1 -1
- package/lib/components/VFooter/index.d.ts +22 -13
- package/lib/components/VForm/VForm.mjs +5 -2
- package/lib/components/VForm/VForm.mjs.map +1 -1
- package/lib/components/VForm/index.d.ts +30 -17
- package/lib/components/VGrid/VCol.mjs +4 -1
- package/lib/components/VGrid/VCol.mjs.map +1 -1
- package/lib/components/VGrid/VContainer.mjs +4 -1
- package/lib/components/VGrid/VContainer.mjs.map +1 -1
- package/lib/components/VGrid/VRow.mjs +4 -1
- package/lib/components/VGrid/VRow.mjs.map +1 -1
- package/lib/components/VGrid/index.d.ts +104 -60
- package/lib/components/VHover/index.d.ts +20 -44
- package/lib/components/VIcon/VIcon.mjs +4 -2
- package/lib/components/VIcon/VIcon.mjs.map +1 -1
- package/lib/components/VIcon/index.d.ts +23 -26
- package/lib/components/VImg/VImg.mjs +5 -3
- package/lib/components/VImg/VImg.mjs.map +1 -1
- package/lib/components/VImg/index.d.ts +26 -29
- package/lib/components/VInput/VInput.mjs +4 -1
- package/lib/components/VInput/VInput.mjs.map +1 -1
- package/lib/components/VInput/index.d.ts +31 -34
- package/lib/components/VItemGroup/VItemGroup.mjs +4 -1
- package/lib/components/VItemGroup/VItemGroup.mjs.map +1 -1
- package/lib/components/VItemGroup/index.d.ts +30 -33
- package/lib/components/VKbd/index.d.ts +30 -17
- package/lib/components/VLabel/VLabel.mjs +4 -1
- package/lib/components/VLabel/VLabel.mjs.map +1 -1
- package/lib/components/VLabel/index.d.ts +22 -13
- package/lib/components/VLayout/VLayout.mjs +8 -4
- package/lib/components/VLayout/VLayout.mjs.map +1 -1
- package/lib/components/VLayout/VLayoutItem.mjs +4 -2
- package/lib/components/VLayout/VLayoutItem.mjs.map +1 -1
- package/lib/components/VLayout/index.d.ts +44 -26
- package/lib/components/VLazy/VLazy.mjs +4 -2
- package/lib/components/VLazy/VLazy.mjs.map +1 -1
- package/lib/components/VLazy/index.d.ts +22 -13
- package/lib/components/VList/VList.mjs +7 -24
- package/lib/components/VList/VList.mjs.map +1 -1
- package/lib/components/VList/VListChildren.mjs.map +1 -1
- package/lib/components/VList/VListGroup.mjs +5 -2
- package/lib/components/VList/VListGroup.mjs.map +1 -1
- package/lib/components/VList/VListItem.mjs +4 -2
- package/lib/components/VList/VListItem.mjs.map +1 -1
- package/lib/components/VList/VListItemAction.mjs +4 -1
- package/lib/components/VList/VListItemAction.mjs.map +1 -1
- package/lib/components/VList/VListItemMedia.mjs +4 -1
- package/lib/components/VList/VListItemMedia.mjs.map +1 -1
- package/lib/components/VList/VListSubheader.mjs +5 -3
- package/lib/components/VList/VListSubheader.mjs.map +1 -1
- package/lib/components/VList/index.d.ts +932 -826
- package/lib/components/VLocaleProvider/VLocaleProvider.mjs +5 -2
- package/lib/components/VLocaleProvider/VLocaleProvider.mjs.map +1 -1
- package/lib/components/VLocaleProvider/index.d.ts +30 -17
- package/lib/components/VMain/VMain.mjs +4 -2
- package/lib/components/VMain/VMain.mjs.map +1 -1
- package/lib/components/VMain/index.d.ts +30 -17
- package/lib/components/VMenu/VMenu.mjs +2 -1
- package/lib/components/VMenu/VMenu.mjs.map +1 -1
- package/lib/components/VMenu/index.d.ts +104 -282
- package/lib/components/VMessages/VMessages.mjs +4 -2
- package/lib/components/VMessages/VMessages.mjs.map +1 -1
- package/lib/components/VMessages/index.d.ts +22 -145
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +4 -2
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
- package/lib/components/VNavigationDrawer/index.d.ts +26 -29
- package/lib/components/VNoSsr/VNoSsr.mjs.map +1 -1
- package/lib/components/VNoSsr/index.d.ts +3 -13
- package/lib/components/VOverlay/VOverlay.mjs +5 -3
- package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
- package/lib/components/VOverlay/index.d.ts +38 -45
- package/lib/components/VPagination/VPagination.mjs +4 -1
- package/lib/components/VPagination/VPagination.mjs.map +1 -1
- package/lib/components/VPagination/index.d.ts +23 -30
- package/lib/components/VParallax/VParallax.mjs +5 -2
- package/lib/components/VParallax/VParallax.mjs.map +1 -1
- package/lib/components/VParallax/index.d.ts +34 -33
- package/lib/components/VProgressCircular/VProgressCircular.mjs +4 -2
- package/lib/components/VProgressCircular/VProgressCircular.mjs.map +1 -1
- package/lib/components/VProgressCircular/index.d.ts +22 -13
- package/lib/components/VProgressLinear/VProgressLinear.mjs +6 -4
- package/lib/components/VProgressLinear/VProgressLinear.mjs.map +1 -1
- package/lib/components/VProgressLinear/index.d.ts +42 -45
- package/lib/components/VRadio/VRadio.mjs +2 -1
- package/lib/components/VRadio/VRadio.mjs.map +1 -1
- package/lib/components/VRadio/index.d.ts +27 -38
- package/lib/components/VRadioGroup/VRadioGroup.mjs +2 -1
- package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
- package/lib/components/VRadioGroup/index.d.ts +39 -62
- package/lib/components/VRangeSlider/VRangeSlider.mjs +2 -1
- package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
- package/lib/components/VRangeSlider/index.d.ts +27 -38
- package/lib/components/VRating/VRating.mjs +4 -1
- package/lib/components/VRating/VRating.mjs.map +1 -1
- package/lib/components/VRating/index.d.ts +23 -18
- package/lib/components/VResponsive/VResponsive.mjs +4 -2
- package/lib/components/VResponsive/VResponsive.mjs.map +1 -1
- package/lib/components/VResponsive/index.d.ts +43 -31
- package/lib/components/VSelect/VSelect.mjs +2 -1
- package/lib/components/VSelect/VSelect.mjs.map +1 -1
- package/lib/components/VSelect/index.d.ts +194 -552
- package/lib/components/VSelectionControl/VSelectionControl.mjs +6 -2
- package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
- package/lib/components/VSelectionControl/index.d.ts +76 -46
- package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs +4 -1
- package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs.map +1 -1
- package/lib/components/VSelectionControlGroup/index.d.ts +23 -14
- package/lib/components/VSheet/VSheet.mjs +4 -2
- package/lib/components/VSheet/VSheet.mjs.map +1 -1
- package/lib/components/VSheet/index.d.ts +22 -13
- package/lib/components/VSlideGroup/VSlideGroup.mjs +6 -3
- package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
- package/lib/components/VSlideGroup/index.d.ts +59 -90
- package/lib/components/VSlider/VSlider.mjs +2 -1
- package/lib/components/VSlider/VSlider.mjs.map +1 -1
- package/lib/components/VSlider/VSliderThumb.mjs +6 -4
- package/lib/components/VSlider/VSliderThumb.mjs.map +1 -1
- package/lib/components/VSlider/VSliderTrack.mjs +6 -4
- package/lib/components/VSlider/VSliderTrack.mjs.map +1 -1
- package/lib/components/VSlider/index.d.ts +27 -38
- package/lib/components/VSnackbar/VSnackbar.mjs +2 -1
- package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
- package/lib/components/VSnackbar/index.d.ts +92 -142
- package/lib/components/VSwitch/VSwitch.mjs +2 -1
- package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
- package/lib/components/VSwitch/index.d.ts +39 -66
- package/lib/components/VSystemBar/VSystemBar.mjs +4 -2
- package/lib/components/VSystemBar/VSystemBar.mjs.map +1 -1
- package/lib/components/VSystemBar/index.d.ts +22 -13
- package/lib/components/VTable/VTable.mjs +4 -1
- package/lib/components/VTable/VTable.mjs.map +1 -1
- package/lib/components/VTable/index.d.ts +26 -29
- package/lib/components/VTabs/VTab.mjs +2 -2
- package/lib/components/VTabs/VTab.mjs.map +1 -1
- package/lib/components/VTabs/VTabs.mjs +2 -2
- package/lib/components/VTabs/VTabs.mjs.map +1 -1
- package/lib/components/VTabs/index.d.ts +45 -27
- package/lib/components/VTextField/VTextField.mjs +2 -1
- package/lib/components/VTextField/VTextField.mjs.map +1 -1
- package/lib/components/VTextField/index.d.ts +208 -269
- package/lib/components/VTextarea/VTextarea.mjs +2 -1
- package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
- package/lib/components/VTextarea/index.d.ts +79 -122
- package/lib/components/VThemeProvider/VThemeProvider.mjs +6 -3
- package/lib/components/VThemeProvider/VThemeProvider.mjs.map +1 -1
- package/lib/components/VThemeProvider/index.d.ts +22 -13
- package/lib/components/VTimeline/VTimeline.mjs +5 -3
- package/lib/components/VTimeline/VTimeline.mjs.map +1 -1
- package/lib/components/VTimeline/VTimelineDivider.mjs +4 -1
- package/lib/components/VTimeline/VTimelineDivider.mjs.map +1 -1
- package/lib/components/VTimeline/VTimelineItem.mjs +8 -6
- package/lib/components/VTimeline/VTimelineItem.mjs.map +1 -1
- package/lib/components/VTimeline/index.d.ts +67 -57
- package/lib/components/VToolbar/VToolbar.mjs +4 -2
- package/lib/components/VToolbar/VToolbar.mjs.map +1 -1
- package/lib/components/VToolbar/VToolbarItems.mjs +9 -4
- package/lib/components/VToolbar/VToolbarItems.mjs.map +1 -1
- package/lib/components/VToolbar/VToolbarTitle.mjs +5 -2
- package/lib/components/VToolbar/VToolbarTitle.mjs.map +1 -1
- package/lib/components/VToolbar/index.d.ts +74 -71
- package/lib/components/VTooltip/VTooltip.mjs +2 -1
- package/lib/components/VTooltip/VTooltip.mjs.map +1 -1
- package/lib/components/VTooltip/index.d.ts +104 -150
- package/lib/components/VValidation/index.d.ts +0 -12
- package/lib/components/VVirtualScroll/VVirtualScroll.mjs +21 -23
- package/lib/components/VVirtualScroll/VVirtualScroll.mjs.map +1 -1
- package/lib/components/VVirtualScroll/VVirtualScrollItem.mjs +5 -2
- package/lib/components/VVirtualScroll/VVirtualScrollItem.mjs.map +1 -1
- package/lib/components/VVirtualScroll/index.d.ts +70 -30
- package/lib/components/VWindow/VWindow.mjs +4 -1
- package/lib/components/VWindow/VWindow.mjs.map +1 -1
- package/lib/components/VWindow/VWindowItem.mjs +4 -1
- package/lib/components/VWindow/VWindowItem.mjs.map +1 -1
- package/lib/components/VWindow/index.d.ts +61 -79
- package/lib/components/index.d.ts +5229 -6754
- package/lib/components/transitions/index.d.ts +0 -192
- package/lib/composables/component.mjs +11 -0
- package/lib/composables/component.mjs.map +1 -0
- package/lib/composables/defaults.mjs +51 -5
- package/lib/composables/defaults.mjs.map +1 -1
- package/lib/composables/icons.mjs +15 -4
- package/lib/composables/icons.mjs.map +1 -1
- package/lib/composables/index.mjs +1 -1
- package/lib/composables/index.mjs.map +1 -1
- package/lib/composables/loader.mjs.map +1 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/framework.mjs +2 -2
- package/lib/framework.mjs.map +1 -1
- package/lib/iconsets/fa-svg.d.ts +1 -1
- package/lib/iconsets/fa.d.ts +1 -1
- package/lib/iconsets/fa4.d.ts +1 -1
- package/lib/iconsets/md.d.ts +1 -1
- package/lib/iconsets/mdi-svg.d.ts +1 -1
- package/lib/iconsets/mdi.d.ts +1 -1
- package/lib/index.d.ts +11 -11
- package/lib/labs/VDataTable/VDataTable.mjs +1 -1
- package/lib/labs/VDataTable/VDataTable.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableHeaders.mjs +34 -20
- package/lib/labs/VDataTable/VDataTableHeaders.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableRow.mjs +2 -4
- package/lib/labs/VDataTable/VDataTableRow.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableRows.mjs +2 -2
- package/lib/labs/VDataTable/VDataTableRows.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableServer.mjs +1 -1
- package/lib/labs/VDataTable/VDataTableServer.mjs.map +1 -1
- package/lib/labs/VDataTable/index.d.ts +61 -933
- package/lib/labs/VInfiniteScroll/index.d.ts +8 -36
- package/lib/labs/VSkeletonLoader/index.d.ts +0 -12
- package/lib/labs/components.d.ts +115 -1027
- package/lib/labs/date/DateAdapter.mjs +2 -0
- package/lib/labs/date/DateAdapter.mjs.map +1 -0
- package/lib/labs/date/adapters/vuetify.d.ts +52 -0
- package/lib/{adapters → labs/date/adapters}/vuetify.mjs +2 -2
- package/lib/labs/date/adapters/vuetify.mjs.map +1 -0
- package/lib/{composables → labs/date}/date.mjs +3 -3
- package/lib/labs/date/date.mjs.map +1 -0
- package/lib/labs/date/index.d.ts +40 -0
- package/lib/labs/date/index.mjs +2 -0
- package/lib/labs/date/index.mjs.map +1 -0
- package/lib/labs/index.mjs +3 -2
- package/lib/labs/index.mjs.map +1 -1
- package/lib/util/createSimpleFunctional.mjs +9 -4
- package/lib/util/createSimpleFunctional.mjs.map +1 -1
- package/lib/util/defineComponent.mjs +11 -43
- package/lib/util/defineComponent.mjs.map +1 -1
- package/lib/util/helpers.mjs +28 -2
- package/lib/util/helpers.mjs.map +1 -1
- package/lib/util/index.mjs +1 -0
- package/lib/util/index.mjs.map +1 -1
- package/package.json +2 -1
- package/lib/adapters/date-adapter.mjs +0 -2
- package/lib/adapters/date-adapter.mjs.map +0 -1
- package/lib/adapters/vuetify.mjs.map +0 -1
- package/lib/composables/date.mjs.map +0 -1
package/dist/vuetify-labs.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
/*!
|
2
|
-
* Vuetify v4.0.0-dev-
|
2
|
+
* Vuetify v4.0.0-dev-20230427.0
|
3
3
|
* Forged by John Leider
|
4
4
|
* Released under the MIT License.
|
5
5
|
*/
|
@@ -171,11 +171,11 @@
|
|
171
171
|
function keys(o) {
|
172
172
|
return Object.keys(o);
|
173
173
|
}
|
174
|
-
function pick(obj, paths) {
|
174
|
+
function pick(obj, paths, exclude) {
|
175
175
|
const found = Object.create(null);
|
176
176
|
const rest = Object.create(null);
|
177
177
|
for (const key in obj) {
|
178
|
-
if (paths.some(path => path instanceof RegExp ? path.test(key) : path === key)) {
|
178
|
+
if (paths.some(path => path instanceof RegExp ? path.test(key) : path === key) && !exclude?.some(path => path === key)) {
|
179
179
|
found[key] = obj[key];
|
180
180
|
} else {
|
181
181
|
rest[key] = obj[key];
|
@@ -360,6 +360,32 @@
|
|
360
360
|
handler(...args);
|
361
361
|
}
|
362
362
|
}
|
363
|
+
function focusableChildren(el) {
|
364
|
+
const targets = ['button', '[href]', 'input:not([type="hidden"])', 'select', 'textarea', '[tabindex]'].map(s => `${s}:not([tabindex="-1"]):not([disabled])`).join(', ');
|
365
|
+
return [...el.querySelectorAll(targets)];
|
366
|
+
}
|
367
|
+
function focusChild(el, location) {
|
368
|
+
const focusable = focusableChildren(el);
|
369
|
+
const idx = focusable.indexOf(document.activeElement);
|
370
|
+
if (!location) {
|
371
|
+
if (!el.contains(document.activeElement)) {
|
372
|
+
focusable[0]?.focus();
|
373
|
+
}
|
374
|
+
} else if (location === 'first') {
|
375
|
+
focusable[0]?.focus();
|
376
|
+
} else if (location === 'last') {
|
377
|
+
focusable.at(-1)?.focus();
|
378
|
+
} else {
|
379
|
+
let _el;
|
380
|
+
let idxx = idx;
|
381
|
+
const inc = location === 'next' ? 1 : -1;
|
382
|
+
do {
|
383
|
+
idxx += inc;
|
384
|
+
_el = focusable[idxx];
|
385
|
+
} while ((!_el || _el.offsetParent == null) && idxx < focusable.length && idxx >= 0);
|
386
|
+
if (_el) _el.focus();else focusChild(el, location === 'next' ? 'first' : 'last');
|
387
|
+
}
|
388
|
+
}
|
363
389
|
|
364
390
|
const block = ['top', 'bottom'];
|
365
391
|
const inline = ['start', 'end', 'left', 'right'];
|
@@ -860,44 +886,6 @@
|
|
860
886
|
return (light + 0.05) / (dark + 0.05);
|
861
887
|
}
|
862
888
|
|
863
|
-
// Utilities
|
864
|
-
function getCurrentInstance(name, message) {
|
865
|
-
const vm = vue.getCurrentInstance();
|
866
|
-
if (!vm) {
|
867
|
-
throw new Error(`[Vuetify] ${name} ${message || 'must be called from inside a setup function'}`);
|
868
|
-
}
|
869
|
-
return vm;
|
870
|
-
}
|
871
|
-
function getCurrentInstanceName() {
|
872
|
-
let name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'composables';
|
873
|
-
const vm = getCurrentInstance(name).type;
|
874
|
-
return toKebabCase(vm?.aliasName || vm?.name);
|
875
|
-
}
|
876
|
-
let _uid = 0;
|
877
|
-
let _map = new WeakMap();
|
878
|
-
function getUid() {
|
879
|
-
const vm = getCurrentInstance('getUid');
|
880
|
-
if (_map.has(vm)) return _map.get(vm);else {
|
881
|
-
const uid = _uid++;
|
882
|
-
_map.set(vm, uid);
|
883
|
-
return uid;
|
884
|
-
}
|
885
|
-
}
|
886
|
-
getUid.reset = () => {
|
887
|
-
_uid = 0;
|
888
|
-
_map = new WeakMap();
|
889
|
-
};
|
890
|
-
|
891
|
-
function injectSelf(key) {
|
892
|
-
const {
|
893
|
-
provides
|
894
|
-
} = getCurrentInstance('injectSelf');
|
895
|
-
if (provides && key in provides) {
|
896
|
-
// TS doesn't allow symbol as index type
|
897
|
-
return provides[key];
|
898
|
-
}
|
899
|
-
}
|
900
|
-
|
901
889
|
/**
|
902
890
|
* Creates a factory function for props definitions.
|
903
891
|
* This is used to define props in a composable then override
|
@@ -951,17 +939,54 @@
|
|
951
939
|
|
952
940
|
// Types
|
953
941
|
|
942
|
+
// Composables
|
943
|
+
const makeComponentProps = propsFactory({
|
944
|
+
class: [String, Array],
|
945
|
+
style: {
|
946
|
+
type: [String, Array, Object],
|
947
|
+
default: null
|
948
|
+
}
|
949
|
+
}, 'component');
|
950
|
+
|
951
|
+
function useToggleScope(source, fn) {
|
952
|
+
let scope;
|
953
|
+
function start() {
|
954
|
+
scope = vue.effectScope();
|
955
|
+
scope.run(() => fn.length ? fn(() => {
|
956
|
+
scope?.stop();
|
957
|
+
start();
|
958
|
+
}) : fn());
|
959
|
+
}
|
960
|
+
vue.watch(source, active => {
|
961
|
+
if (active && !scope) {
|
962
|
+
start();
|
963
|
+
} else if (!active) {
|
964
|
+
scope?.stop();
|
965
|
+
scope = undefined;
|
966
|
+
}
|
967
|
+
}, {
|
968
|
+
immediate: true
|
969
|
+
});
|
970
|
+
vue.onScopeDispose(() => {
|
971
|
+
scope?.stop();
|
972
|
+
});
|
973
|
+
}
|
974
|
+
|
975
|
+
// Composables
|
976
|
+
|
977
|
+
// Types
|
978
|
+
|
954
979
|
const DefaultsSymbol = Symbol.for('vuetify:defaults');
|
955
980
|
function createDefaults(options) {
|
956
981
|
return vue.ref(options);
|
957
982
|
}
|
958
|
-
function
|
983
|
+
function injectDefaults() {
|
959
984
|
const defaults = vue.inject(DefaultsSymbol);
|
960
985
|
if (!defaults) throw new Error('[Vuetify] Could not find defaults instance');
|
961
986
|
return defaults;
|
962
987
|
}
|
963
988
|
function provideDefaults(defaults, options) {
|
964
|
-
const injectedDefaults =
|
989
|
+
const injectedDefaults = injectDefaults();
|
965
990
|
const providedDefaults = vue.ref(defaults);
|
966
991
|
const newDefaults = vue.computed(() => {
|
967
992
|
const disabled = vue.unref(options?.disabled);
|
@@ -988,41 +1013,56 @@
|
|
988
1013
|
vue.provide(DefaultsSymbol, newDefaults);
|
989
1014
|
return newDefaults;
|
990
1015
|
}
|
991
|
-
|
992
|
-
|
993
|
-
|
994
|
-
|
995
|
-
|
996
|
-
|
997
|
-
|
998
|
-
|
999
|
-
|
1000
|
-
}
|
1001
|
-
vue.
|
1002
|
-
|
1003
|
-
|
1004
|
-
|
1005
|
-
|
1006
|
-
|
1016
|
+
function propIsDefined(vnode, prop) {
|
1017
|
+
return typeof vnode.props?.[prop] !== 'undefined' || typeof vnode.props?.[toKebabCase(prop)] !== 'undefined';
|
1018
|
+
}
|
1019
|
+
function useDefaults(props, name) {
|
1020
|
+
let defaults = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : injectDefaults();
|
1021
|
+
const vm = getCurrentInstance('useDefaults');
|
1022
|
+
name = name ?? vm.type.name ?? vm.type.__name;
|
1023
|
+
if (!name) {
|
1024
|
+
throw new Error('[Vuetify] Could not determine component name');
|
1025
|
+
}
|
1026
|
+
const componentDefaults = vue.computed(() => defaults.value[props._as ?? name]);
|
1027
|
+
const _props = new Proxy(props, {
|
1028
|
+
get(target, prop) {
|
1029
|
+
const propValue = Reflect.get(target, prop);
|
1030
|
+
if (prop === 'class' || prop === 'style') {
|
1031
|
+
return [componentDefaults.value?.[prop], propValue].filter(v => v != null);
|
1032
|
+
} else if (typeof prop === 'string' && !propIsDefined(vm.vnode, prop)) {
|
1033
|
+
return componentDefaults.value?.[prop] ?? defaults.value.global?.[prop] ?? propValue;
|
1034
|
+
}
|
1035
|
+
return propValue;
|
1007
1036
|
}
|
1008
|
-
}, {
|
1009
|
-
immediate: true
|
1010
1037
|
});
|
1011
|
-
vue.
|
1012
|
-
|
1038
|
+
const _subcomponentDefaults = vue.shallowRef();
|
1039
|
+
vue.watchEffect(() => {
|
1040
|
+
if (componentDefaults.value) {
|
1041
|
+
const subComponents = Object.entries(componentDefaults.value).filter(_ref => {
|
1042
|
+
let [key] = _ref;
|
1043
|
+
return key.startsWith(key[0].toUpperCase());
|
1044
|
+
});
|
1045
|
+
if (subComponents.length) _subcomponentDefaults.value = Object.fromEntries(subComponents);
|
1046
|
+
}
|
1013
1047
|
});
|
1048
|
+
function provideSubDefaults() {
|
1049
|
+
// If subcomponent defaults are provided, override any
|
1050
|
+
// subcomponents provided by the component's setup function.
|
1051
|
+
// This uses injectSelf so must be done after the original setup to work.
|
1052
|
+
useToggleScope(_subcomponentDefaults, () => {
|
1053
|
+
provideDefaults(mergeDeep(injectSelf(DefaultsSymbol)?.value ?? {}, _subcomponentDefaults.value));
|
1054
|
+
});
|
1055
|
+
}
|
1056
|
+
return {
|
1057
|
+
props: _props,
|
1058
|
+
provideSubDefaults
|
1059
|
+
};
|
1014
1060
|
}
|
1015
1061
|
|
1016
1062
|
// Utils
|
1017
1063
|
|
1018
1064
|
// Types
|
1019
1065
|
|
1020
|
-
function propIsDefined(vnode, prop) {
|
1021
|
-
return typeof vnode.props?.[prop] !== 'undefined' || typeof vnode.props?.[toKebabCase(prop)] !== 'undefined';
|
1022
|
-
}
|
1023
|
-
|
1024
|
-
// No props
|
1025
|
-
|
1026
1066
|
// Implementation
|
1027
1067
|
function defineComponent(options) {
|
1028
1068
|
options._setup = options._setup ?? options.setup;
|
@@ -1034,43 +1074,20 @@
|
|
1034
1074
|
options.props = propsFactory(options.props ?? {}, toKebabCase(options.name))();
|
1035
1075
|
const propKeys = Object.keys(options.props);
|
1036
1076
|
options.filterProps = function filterProps(props) {
|
1037
|
-
return pick(props, propKeys);
|
1077
|
+
return pick(props, propKeys, ['class', 'style']);
|
1038
1078
|
};
|
1039
1079
|
options.props._as = String;
|
1040
1080
|
options.setup = function setup(props, ctx) {
|
1041
|
-
const defaults =
|
1081
|
+
const defaults = injectDefaults();
|
1042
1082
|
|
1043
1083
|
// Skip props proxy if defaults are not provided
|
1044
1084
|
if (!defaults.value) return options._setup(props, ctx);
|
1045
|
-
const
|
1046
|
-
|
1047
|
-
|
1048
|
-
|
1049
|
-
const propValue = Reflect.get(target, prop);
|
1050
|
-
if (typeof prop === 'string' && !propIsDefined(vm.vnode, prop)) {
|
1051
|
-
return componentDefaults.value?.[prop] ?? defaults.value.global?.[prop] ?? propValue;
|
1052
|
-
}
|
1053
|
-
return propValue;
|
1054
|
-
}
|
1055
|
-
});
|
1056
|
-
const _subcomponentDefaults = vue.shallowRef();
|
1057
|
-
vue.watchEffect(() => {
|
1058
|
-
if (componentDefaults.value) {
|
1059
|
-
const subComponents = Object.entries(componentDefaults.value).filter(_ref => {
|
1060
|
-
let [key] = _ref;
|
1061
|
-
return key.startsWith(key[0].toUpperCase());
|
1062
|
-
});
|
1063
|
-
if (subComponents.length) _subcomponentDefaults.value = Object.fromEntries(subComponents);
|
1064
|
-
}
|
1065
|
-
});
|
1085
|
+
const {
|
1086
|
+
props: _props,
|
1087
|
+
provideSubDefaults
|
1088
|
+
} = useDefaults(props, props._as ?? options.name, defaults);
|
1066
1089
|
const setupBindings = options._setup(_props, ctx);
|
1067
|
-
|
1068
|
-
// If subcomponent defaults are provided, override any
|
1069
|
-
// subcomponents provided by the component's setup function.
|
1070
|
-
// This uses injectSelf so must be done after the original setup to work.
|
1071
|
-
useToggleScope(_subcomponentDefaults, () => {
|
1072
|
-
provideDefaults(mergeDeep(injectSelf(DefaultsSymbol)?.value ?? {}, _subcomponentDefaults.value));
|
1073
|
-
});
|
1090
|
+
provideSubDefaults();
|
1074
1091
|
return setupBindings;
|
1075
1092
|
};
|
1076
1093
|
}
|
@@ -1095,15 +1112,19 @@
|
|
1095
1112
|
tag: {
|
1096
1113
|
type: String,
|
1097
1114
|
default: tag
|
1098
|
-
}
|
1115
|
+
},
|
1116
|
+
...makeComponentProps()
|
1099
1117
|
},
|
1100
1118
|
setup(props, _ref) {
|
1101
1119
|
let {
|
1102
1120
|
slots
|
1103
1121
|
} = _ref;
|
1104
|
-
return () =>
|
1105
|
-
|
1106
|
-
|
1122
|
+
return () => {
|
1123
|
+
return vue.h(props.tag, {
|
1124
|
+
class: [klass, props.class],
|
1125
|
+
style: props.style
|
1126
|
+
}, slots.default?.());
|
1127
|
+
};
|
1107
1128
|
}
|
1108
1129
|
});
|
1109
1130
|
}
|
@@ -1136,6 +1157,34 @@
|
|
1136
1157
|
const deceleratedEasing = 'cubic-bezier(0.0, 0, 0.2, 1)'; // Entering
|
1137
1158
|
const acceleratedEasing = 'cubic-bezier(0.4, 0, 1, 1)'; // Leaving
|
1138
1159
|
|
1160
|
+
// Utilities
|
1161
|
+
function getCurrentInstance(name, message) {
|
1162
|
+
const vm = vue.getCurrentInstance();
|
1163
|
+
if (!vm) {
|
1164
|
+
throw new Error(`[Vuetify] ${name} ${message || 'must be called from inside a setup function'}`);
|
1165
|
+
}
|
1166
|
+
return vm;
|
1167
|
+
}
|
1168
|
+
function getCurrentInstanceName() {
|
1169
|
+
let name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'composables';
|
1170
|
+
const vm = getCurrentInstance(name).type;
|
1171
|
+
return toKebabCase(vm?.aliasName || vm?.name);
|
1172
|
+
}
|
1173
|
+
let _uid = 0;
|
1174
|
+
let _map = new WeakMap();
|
1175
|
+
function getUid() {
|
1176
|
+
const vm = getCurrentInstance('getUid');
|
1177
|
+
if (_map.has(vm)) return _map.get(vm);else {
|
1178
|
+
const uid = _uid++;
|
1179
|
+
_map.set(vm, uid);
|
1180
|
+
return uid;
|
1181
|
+
}
|
1182
|
+
}
|
1183
|
+
getUid.reset = () => {
|
1184
|
+
_uid = 0;
|
1185
|
+
_map = new WeakMap();
|
1186
|
+
};
|
1187
|
+
|
1139
1188
|
function getScrollParent(el) {
|
1140
1189
|
while (el) {
|
1141
1190
|
if (hasScrollbar(el)) return el;
|
@@ -1159,6 +1208,16 @@
|
|
1159
1208
|
return style.overflowY === 'scroll' || style.overflowY === 'auto' && el.scrollHeight > el.clientHeight;
|
1160
1209
|
}
|
1161
1210
|
|
1211
|
+
function injectSelf(key) {
|
1212
|
+
const {
|
1213
|
+
provides
|
1214
|
+
} = getCurrentInstance('injectSelf');
|
1215
|
+
if (provides && key in provides) {
|
1216
|
+
// TS doesn't allow symbol as index type
|
1217
|
+
return provides[key];
|
1218
|
+
}
|
1219
|
+
}
|
1220
|
+
|
1162
1221
|
function isFixedPosition(el) {
|
1163
1222
|
while (el) {
|
1164
1223
|
if (window.getComputedStyle(el).position === 'fixed') {
|
@@ -2141,6 +2200,7 @@
|
|
2141
2200
|
const VApp = genericComponent()({
|
2142
2201
|
name: 'VApp',
|
2143
2202
|
props: {
|
2203
|
+
...makeComponentProps(),
|
2144
2204
|
...makeLayoutProps({
|
2145
2205
|
fullHeight: true
|
2146
2206
|
}),
|
@@ -2163,8 +2223,8 @@
|
|
2163
2223
|
} = useRtl();
|
2164
2224
|
useRender(() => vue.createVNode("div", {
|
2165
2225
|
"ref": layoutRef,
|
2166
|
-
"class": ['v-application', theme.themeClasses.value, layoutClasses.value, rtlClasses.value],
|
2167
|
-
"style": layoutStyles.value
|
2226
|
+
"class": ['v-application', theme.themeClasses.value, layoutClasses.value, rtlClasses.value, props.class],
|
2227
|
+
"style": [layoutStyles.value, props.style]
|
2168
2228
|
}, [vue.createVNode("div", {
|
2169
2229
|
"class": "v-application__wrap"
|
2170
2230
|
}, [slots.default?.()])]));
|
@@ -2589,6 +2649,7 @@
|
|
2589
2649
|
props: {
|
2590
2650
|
aspectRatio: [String, Number],
|
2591
2651
|
contentClass: String,
|
2652
|
+
...makeComponentProps(),
|
2592
2653
|
...makeDimensionProps()
|
2593
2654
|
},
|
2594
2655
|
setup(props, _ref) {
|
@@ -2602,8 +2663,8 @@
|
|
2602
2663
|
dimensionStyles
|
2603
2664
|
} = useDimension(props);
|
2604
2665
|
useRender(() => vue.createVNode("div", {
|
2605
|
-
"class":
|
2606
|
-
"style": dimensionStyles.value
|
2666
|
+
"class": ['v-responsive', props.class],
|
2667
|
+
"style": [dimensionStyles.value, props.style]
|
2607
2668
|
}, [vue.createVNode("div", {
|
2608
2669
|
"class": "v-responsive__sizer",
|
2609
2670
|
"style": aspectStyles.value
|
@@ -2721,6 +2782,7 @@
|
|
2721
2782
|
},
|
2722
2783
|
srcset: String,
|
2723
2784
|
width: [String, Number],
|
2785
|
+
...makeComponentProps(),
|
2724
2786
|
...makeTransitionProps()
|
2725
2787
|
},
|
2726
2788
|
emits: {
|
@@ -2908,10 +2970,10 @@
|
|
2908
2970
|
useRender(() => vue.withDirectives(vue.createVNode(VResponsive, {
|
2909
2971
|
"class": ['v-img', {
|
2910
2972
|
'v-img--booting': !isBooted.value
|
2911
|
-
}],
|
2912
|
-
"style": {
|
2973
|
+
}, props.class],
|
2974
|
+
"style": [{
|
2913
2975
|
width: convertToUnit(props.width === 'auto' ? naturalWidth.value : props.width)
|
2914
|
-
},
|
2976
|
+
}, props.style],
|
2915
2977
|
"aspectRatio": aspectRatio.value,
|
2916
2978
|
"aria-label": props.alt,
|
2917
2979
|
"role": props.alt ? 'img' : undefined
|
@@ -2946,10 +3008,9 @@
|
|
2946
3008
|
}
|
2947
3009
|
}, 'tag');
|
2948
3010
|
|
2949
|
-
// Types
|
2950
|
-
|
2951
3011
|
const makeVToolbarTitleProps = propsFactory({
|
2952
3012
|
text: String,
|
3013
|
+
...makeComponentProps(),
|
2953
3014
|
...makeTagProps()
|
2954
3015
|
}, 'v-toolbar-title');
|
2955
3016
|
const VToolbarTitle = genericComponent()({
|
@@ -2962,7 +3023,8 @@
|
|
2962
3023
|
useRender(() => {
|
2963
3024
|
const hasText = !!(slots.default || slots.text || props.text);
|
2964
3025
|
return vue.createVNode(props.tag, {
|
2965
|
-
"class":
|
3026
|
+
"class": ['v-toolbar-title', props.class],
|
3027
|
+
"style": props.style
|
2966
3028
|
}, {
|
2967
3029
|
default: () => [hasText && vue.createVNode("div", {
|
2968
3030
|
"class": "v-toolbar-title__placeholder"
|
@@ -3143,6 +3205,7 @@
|
|
3143
3205
|
image: String,
|
3144
3206
|
title: String,
|
3145
3207
|
...makeBorderProps(),
|
3208
|
+
...makeComponentProps(),
|
3146
3209
|
...makeElevationProps(),
|
3147
3210
|
...makeRoundedProps(),
|
3148
3211
|
...makeTagProps({
|
@@ -3193,8 +3256,8 @@
|
|
3193
3256
|
'v-toolbar--flat': props.flat,
|
3194
3257
|
'v-toolbar--floating': props.floating,
|
3195
3258
|
[`v-toolbar--density-${props.density}`]: true
|
3196
|
-
}, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, roundedClasses.value, themeClasses.value],
|
3197
|
-
"style": [backgroundColorStyles.value]
|
3259
|
+
}, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, roundedClasses.value, themeClasses.value, props.class],
|
3260
|
+
"style": [backgroundColorStyles.value, props.style]
|
3198
3261
|
}, {
|
3199
3262
|
default: () => [hasImage && vue.createVNode("div", {
|
3200
3263
|
"key": "image",
|
@@ -3479,13 +3542,13 @@
|
|
3479
3542
|
"ref": vToolbarRef,
|
3480
3543
|
"class": ['v-app-bar', {
|
3481
3544
|
'v-app-bar--bottom': props.location === 'bottom'
|
3482
|
-
}],
|
3483
|
-
"style": {
|
3545
|
+
}, props.class],
|
3546
|
+
"style": [{
|
3484
3547
|
...layoutItemStyles.value,
|
3485
3548
|
'--v-toolbar-image-opacity': opacity.value,
|
3486
3549
|
height: undefined,
|
3487
3550
|
...ssrBootStyles.value
|
3488
|
-
}
|
3551
|
+
}, props.style]
|
3489
3552
|
}, toolbarProps, {
|
3490
3553
|
"collapse": isCollapsed.value,
|
3491
3554
|
"flat": isFlat.value
|
@@ -3572,6 +3635,7 @@
|
|
3572
3635
|
const makeVBtnGroupProps = propsFactory({
|
3573
3636
|
divided: Boolean,
|
3574
3637
|
...makeBorderProps(),
|
3638
|
+
...makeComponentProps(),
|
3575
3639
|
...makeDensityProps(),
|
3576
3640
|
...makeElevationProps(),
|
3577
3641
|
...makeRoundedProps(),
|
@@ -3614,7 +3678,8 @@
|
|
3614
3678
|
return vue.createVNode(props.tag, {
|
3615
3679
|
"class": ['v-btn-group', {
|
3616
3680
|
'v-btn-group--divided': props.divided
|
3617
|
-
}, themeClasses.value, borderClasses.value, densityClasses.value, elevationClasses.value, roundedClasses.value]
|
3681
|
+
}, themeClasses.value, borderClasses.value, densityClasses.value, elevationClasses.value, roundedClasses.value, props.class],
|
3682
|
+
"style": props.style
|
3618
3683
|
}, slots);
|
3619
3684
|
});
|
3620
3685
|
}
|
@@ -3847,8 +3912,10 @@
|
|
3847
3912
|
useRender(() => {
|
3848
3913
|
const [btnGroupProps] = VBtnGroup.filterProps(props);
|
3849
3914
|
return vue.createVNode(VBtnGroup, vue.mergeProps({
|
3850
|
-
"class":
|
3851
|
-
}, btnGroupProps
|
3915
|
+
"class": ['v-btn-toggle', props.class]
|
3916
|
+
}, btnGroupProps, {
|
3917
|
+
"style": props.style
|
3918
|
+
}), {
|
3852
3919
|
default: () => [slots.default?.({
|
3853
3920
|
isSelected,
|
3854
3921
|
next,
|
@@ -3919,7 +3986,7 @@
|
|
3919
3986
|
|
3920
3987
|
// Types
|
3921
3988
|
|
3922
|
-
const IconValue = [String, Function, Object];
|
3989
|
+
const IconValue = [String, Function, Object, Array];
|
3923
3990
|
const IconSymbol = Symbol.for('vuetify:icons');
|
3924
3991
|
const makeIconProps = propsFactory({
|
3925
3992
|
icon: {
|
@@ -3939,8 +4006,9 @@
|
|
3939
4006
|
slots
|
3940
4007
|
} = _ref;
|
3941
4008
|
return () => {
|
4009
|
+
const Icon = props.icon;
|
3942
4010
|
return vue.createVNode(props.tag, null, {
|
3943
|
-
default: () => [props.icon ? vue.createVNode(
|
4011
|
+
default: () => [props.icon ? vue.createVNode(Icon, null, null) : slots.default?.()]
|
3944
4012
|
});
|
3945
4013
|
};
|
3946
4014
|
}
|
@@ -3963,7 +4031,12 @@
|
|
3963
4031
|
"viewBox": "0 0 24 24",
|
3964
4032
|
"role": "img",
|
3965
4033
|
"aria-hidden": "true"
|
3966
|
-
}, [vue.createVNode("path", {
|
4034
|
+
}, [Array.isArray(props.icon) ? props.icon.map(path => Array.isArray(path) ? vue.createVNode("path", {
|
4035
|
+
"d": path[0],
|
4036
|
+
"fill-opacity": path[1]
|
4037
|
+
}, null) : vue.createVNode("path", {
|
4038
|
+
"d": path
|
4039
|
+
}, null)) : vue.createVNode("path", {
|
3967
4040
|
"d": props.icon
|
3968
4041
|
}, null)])]
|
3969
4042
|
});
|
@@ -4028,7 +4101,12 @@
|
|
4028
4101
|
}
|
4029
4102
|
}
|
4030
4103
|
if (!icon) throw new Error(`Could not find aliased icon "${iconAlias}"`);
|
4031
|
-
if (
|
4104
|
+
if (Array.isArray(icon)) {
|
4105
|
+
return {
|
4106
|
+
component: VSvgIcon,
|
4107
|
+
icon
|
4108
|
+
};
|
4109
|
+
} else if (typeof icon !== 'string') {
|
4032
4110
|
return {
|
4033
4111
|
component: VComponentIcon,
|
4034
4112
|
icon
|
@@ -4085,6 +4163,7 @@
|
|
4085
4163
|
start: Boolean,
|
4086
4164
|
end: Boolean,
|
4087
4165
|
icon: IconValue,
|
4166
|
+
...makeComponentProps(),
|
4088
4167
|
...makeSizeProps(),
|
4089
4168
|
...makeTagProps({
|
4090
4169
|
tag: 'i'
|
@@ -4127,12 +4206,12 @@
|
|
4127
4206
|
'v-icon--clickable': !!attrs.onClick,
|
4128
4207
|
'v-icon--start': props.start,
|
4129
4208
|
'v-icon--end': props.end
|
4130
|
-
}],
|
4209
|
+
}, props.class],
|
4131
4210
|
"style": [!sizeClasses.value ? {
|
4132
4211
|
fontSize: convertToUnit(props.size),
|
4133
4212
|
height: convertToUnit(props.size),
|
4134
4213
|
width: convertToUnit(props.size)
|
4135
|
-
} : undefined, textColorStyles.value],
|
4214
|
+
} : undefined, textColorStyles.value, props.style],
|
4136
4215
|
"role": attrs.onClick ? 'button' : undefined,
|
4137
4216
|
"aria-hidden": !attrs.onClick
|
4138
4217
|
}, {
|
@@ -4190,6 +4269,7 @@
|
|
4190
4269
|
type: [Number, String],
|
4191
4270
|
default: 4
|
4192
4271
|
},
|
4272
|
+
...makeComponentProps(),
|
4193
4273
|
...makeSizeProps(),
|
4194
4274
|
...makeTagProps({
|
4195
4275
|
tag: 'div'
|
@@ -4245,8 +4325,8 @@
|
|
4245
4325
|
'v-progress-circular--indeterminate': !!props.indeterminate,
|
4246
4326
|
'v-progress-circular--visible': isIntersecting.value,
|
4247
4327
|
'v-progress-circular--disable-shrink': props.indeterminate === 'disable-shrink'
|
4248
|
-
}, themeClasses.value, sizeClasses.value, textColorClasses.value],
|
4249
|
-
"style": [sizeStyles.value, textColorStyles.value],
|
4328
|
+
}, themeClasses.value, sizeClasses.value, textColorClasses.value, props.class],
|
4329
|
+
"style": [sizeStyles.value, textColorStyles.value, props.style],
|
4250
4330
|
"role": "progressbar",
|
4251
4331
|
"aria-valuemin": "0",
|
4252
4332
|
"aria-valuemax": "100",
|
@@ -4665,6 +4745,7 @@
|
|
4665
4745
|
stream: Boolean,
|
4666
4746
|
striped: Boolean,
|
4667
4747
|
roundedBar: Boolean,
|
4748
|
+
...makeComponentProps(),
|
4668
4749
|
...makeLocationProps({
|
4669
4750
|
location: 'top'
|
4670
4751
|
}),
|
@@ -4736,14 +4817,14 @@
|
|
4736
4817
|
'v-progress-linear--rounded': props.rounded,
|
4737
4818
|
'v-progress-linear--rounded-bar': props.roundedBar,
|
4738
4819
|
'v-progress-linear--striped': props.striped
|
4739
|
-
}, roundedClasses.value, themeClasses.value],
|
4740
|
-
"style": {
|
4820
|
+
}, roundedClasses.value, themeClasses.value, props.class],
|
4821
|
+
"style": [{
|
4741
4822
|
bottom: props.location === 'bottom' ? 0 : undefined,
|
4742
4823
|
top: props.location === 'top' ? 0 : undefined,
|
4743
4824
|
height: props.active ? convertToUnit(height.value) : 0,
|
4744
4825
|
'--v-progress-linear-height': convertToUnit(height.value),
|
4745
4826
|
...locationStyles.value
|
4746
|
-
},
|
4827
|
+
}, props.style],
|
4747
4828
|
"role": "progressbar",
|
4748
4829
|
"aria-hidden": props.active ? 'false' : 'true',
|
4749
4830
|
"aria-valuemin": "0",
|
@@ -4954,7 +5035,7 @@
|
|
4954
5035
|
},
|
4955
5036
|
text: String,
|
4956
5037
|
...makeBorderProps(),
|
4957
|
-
...
|
5038
|
+
...makeComponentProps(),
|
4958
5039
|
...makeDensityProps(),
|
4959
5040
|
...makeDimensionProps(),
|
4960
5041
|
...makeElevationProps(),
|
@@ -4962,6 +5043,7 @@
|
|
4962
5043
|
...makeLoaderProps(),
|
4963
5044
|
...makeLocationProps(),
|
4964
5045
|
...makePositionProps(),
|
5046
|
+
...makeRoundedProps(),
|
4965
5047
|
...makeRouterProps(),
|
4966
5048
|
...makeSizeProps(),
|
4967
5049
|
...makeTagProps({
|
@@ -5059,8 +5141,8 @@
|
|
5059
5141
|
'v-btn--icon': !!props.icon,
|
5060
5142
|
'v-btn--loading': props.loading,
|
5061
5143
|
'v-btn--stacked': props.stacked
|
5062
|
-
}, themeClasses.value, borderClasses.value, hasColor ? colorClasses.value : undefined, densityClasses.value, elevationClasses.value, loaderClasses.value, positionClasses.value, roundedClasses.value, sizeClasses.value, variantClasses.value],
|
5063
|
-
"style": [hasColor ? colorStyles.value : undefined, dimensionStyles.value, locationStyles.value, sizeStyles.value],
|
5144
|
+
}, themeClasses.value, borderClasses.value, hasColor ? colorClasses.value : undefined, densityClasses.value, elevationClasses.value, loaderClasses.value, positionClasses.value, roundedClasses.value, sizeClasses.value, variantClasses.value, props.class],
|
5145
|
+
"style": [hasColor ? colorStyles.value : undefined, dimensionStyles.value, locationStyles.value, sizeStyles.value, props.style],
|
5064
5146
|
"disabled": isDisabled.value || undefined,
|
5065
5147
|
"href": link.href.value,
|
5066
5148
|
"onClick": e => {
|
@@ -5137,15 +5219,17 @@
|
|
5137
5219
|
icon: {
|
5138
5220
|
type: IconValue,
|
5139
5221
|
default: '$menu'
|
5140
|
-
}
|
5222
|
+
},
|
5223
|
+
...makeComponentProps()
|
5141
5224
|
},
|
5142
5225
|
setup(props, _ref) {
|
5143
5226
|
let {
|
5144
5227
|
slots
|
5145
5228
|
} = _ref;
|
5146
5229
|
useRender(() => vue.createVNode(VBtn, {
|
5147
|
-
"class":
|
5148
|
-
"icon": props.icon
|
5230
|
+
"class": ['v-app-bar-nav-icon', props.class],
|
5231
|
+
"icon": props.icon,
|
5232
|
+
"style": props.style
|
5149
5233
|
}, slots));
|
5150
5234
|
return {};
|
5151
5235
|
}
|
@@ -5153,9 +5237,12 @@
|
|
5153
5237
|
|
5154
5238
|
const VToolbarItems = genericComponent()({
|
5155
5239
|
name: 'VToolbarItems',
|
5156
|
-
props:
|
5157
|
-
|
5158
|
-
|
5240
|
+
props: {
|
5241
|
+
...makeComponentProps(),
|
5242
|
+
...makeVariantProps({
|
5243
|
+
variant: 'text'
|
5244
|
+
})
|
5245
|
+
},
|
5159
5246
|
setup(props, _ref) {
|
5160
5247
|
let {
|
5161
5248
|
slots
|
@@ -5168,7 +5255,8 @@
|
|
5168
5255
|
}
|
5169
5256
|
});
|
5170
5257
|
useRender(() => vue.createVNode("div", {
|
5171
|
-
"class":
|
5258
|
+
"class": ['v-toolbar-items', props.class],
|
5259
|
+
"style": props.style
|
5172
5260
|
}, [slots.default?.()]));
|
5173
5261
|
return {};
|
5174
5262
|
}
|
@@ -5230,6 +5318,7 @@
|
|
5230
5318
|
type: String,
|
5231
5319
|
validator: val => allowedTypes.includes(val)
|
5232
5320
|
},
|
5321
|
+
...makeComponentProps(),
|
5233
5322
|
...makeDensityProps(),
|
5234
5323
|
...makeDimensionProps(),
|
5235
5324
|
...makeElevationProps(),
|
@@ -5312,8 +5401,8 @@
|
|
5312
5401
|
[`v-alert--border-${props.border === true ? 'start' : props.border}`]: true
|
5313
5402
|
}, {
|
5314
5403
|
'v-alert--prominent': props.prominent
|
5315
|
-
}, themeClasses.value, colorClasses.value, densityClasses.value, elevationClasses.value, positionClasses.value, roundedClasses.value, variantClasses.value],
|
5316
|
-
"style": [colorStyles.value, dimensionStyles.value, locationStyles.value],
|
5404
|
+
}, themeClasses.value, colorClasses.value, densityClasses.value, elevationClasses.value, positionClasses.value, roundedClasses.value, variantClasses.value, props.class],
|
5405
|
+
"style": [colorStyles.value, dimensionStyles.value, locationStyles.value, props.style],
|
5317
5406
|
"role": "alert"
|
5318
5407
|
}, {
|
5319
5408
|
default: () => [genOverlays(false, 'v-alert'), props.border && vue.createVNode("div", {
|
@@ -5407,6 +5496,7 @@
|
|
5407
5496
|
props: {
|
5408
5497
|
text: String,
|
5409
5498
|
clickable: Boolean,
|
5499
|
+
...makeComponentProps(),
|
5410
5500
|
...makeThemeProps()
|
5411
5501
|
},
|
5412
5502
|
setup(props, _ref) {
|
@@ -5416,7 +5506,8 @@
|
|
5416
5506
|
useRender(() => vue.createVNode("label", {
|
5417
5507
|
"class": ['v-label', {
|
5418
5508
|
'v-label--clickable': props.clickable
|
5419
|
-
}]
|
5509
|
+
}, props.class],
|
5510
|
+
"style": props.style
|
5420
5511
|
}, [props.text, slots.default?.()]));
|
5421
5512
|
return {};
|
5422
5513
|
}
|
@@ -5425,7 +5516,8 @@
|
|
5425
5516
|
const VFieldLabel = genericComponent()({
|
5426
5517
|
name: 'VFieldLabel',
|
5427
5518
|
props: {
|
5428
|
-
floating: Boolean
|
5519
|
+
floating: Boolean,
|
5520
|
+
...makeComponentProps()
|
5429
5521
|
},
|
5430
5522
|
setup(props, _ref) {
|
5431
5523
|
let {
|
@@ -5434,7 +5526,8 @@
|
|
5434
5526
|
useRender(() => vue.createVNode(VLabel, {
|
5435
5527
|
"class": ['v-field-label', {
|
5436
5528
|
'v-field-label--floating': props.floating
|
5437
|
-
}],
|
5529
|
+
}, props.class],
|
5530
|
+
"style": props.style,
|
5438
5531
|
"aria-hidden": props.floating || undefined
|
5439
5532
|
}, slots));
|
5440
5533
|
return {};
|
@@ -5485,6 +5578,7 @@
|
|
5485
5578
|
},
|
5486
5579
|
active: Boolean,
|
5487
5580
|
color: String,
|
5581
|
+
baseColor: String,
|
5488
5582
|
dirty: Boolean,
|
5489
5583
|
disabled: Boolean,
|
5490
5584
|
error: Boolean,
|
@@ -5502,9 +5596,10 @@
|
|
5502
5596
|
'onClick:clear': EventProp(),
|
5503
5597
|
'onClick:appendInner': EventProp(),
|
5504
5598
|
'onClick:prependInner': EventProp(),
|
5505
|
-
...
|
5599
|
+
...makeComponentProps(),
|
5506
5600
|
...makeLoaderProps(),
|
5507
|
-
...makeRoundedProps()
|
5601
|
+
...makeRoundedProps(),
|
5602
|
+
...makeThemeProps()
|
5508
5603
|
}, 'v-field');
|
5509
5604
|
const VField = genericComponent()({
|
5510
5605
|
name: 'VField',
|
@@ -5558,7 +5653,7 @@
|
|
5558
5653
|
textColorClasses,
|
5559
5654
|
textColorStyles
|
5560
5655
|
} = useTextColor(vue.computed(() => {
|
5561
|
-
return
|
5656
|
+
return props.error || props.disabled ? undefined : isActive.value && isFocused.value ? props.color : props.baseColor;
|
5562
5657
|
}));
|
5563
5658
|
vue.watch(isActive, val => {
|
5564
5659
|
if (hasLabel.value) {
|
@@ -5635,8 +5730,8 @@
|
|
5635
5730
|
'v-field--single-line': props.singleLine,
|
5636
5731
|
'v-field--no-label': !label,
|
5637
5732
|
[`v-field--variant-${props.variant}`]: true
|
5638
|
-
}, themeClasses.value, backgroundColorClasses.value, focusClasses.value, loaderClasses.value, roundedClasses.value],
|
5639
|
-
"style": [backgroundColorStyles.value, textColorStyles.value],
|
5733
|
+
}, themeClasses.value, backgroundColorClasses.value, focusClasses.value, loaderClasses.value, roundedClasses.value, props.class],
|
5734
|
+
"style": [backgroundColorStyles.value, textColorStyles.value, props.style],
|
5640
5735
|
"onClick": onClick
|
5641
5736
|
}, attrs), [vue.createVNode("div", {
|
5642
5737
|
"class": "v-field__overlay"
|
@@ -5724,7 +5819,7 @@
|
|
5724
5819
|
});
|
5725
5820
|
// TODO: this is kinda slow, might be better to implicitly inherit props instead
|
5726
5821
|
function filterFieldProps(attrs) {
|
5727
|
-
const keys = Object.keys(VField.props).filter(k => !isOn(k));
|
5822
|
+
const keys = Object.keys(VField.props).filter(k => !isOn(k) && k !== 'class' && k !== 'style');
|
5728
5823
|
return pick(attrs, keys);
|
5729
5824
|
}
|
5730
5825
|
|
@@ -5739,6 +5834,7 @@
|
|
5739
5834
|
type: [Array, String],
|
5740
5835
|
default: () => []
|
5741
5836
|
},
|
5837
|
+
...makeComponentProps(),
|
5742
5838
|
...makeTransitionProps({
|
5743
5839
|
transition: {
|
5744
5840
|
component: VSlideYTransition,
|
@@ -5759,8 +5855,8 @@
|
|
5759
5855
|
useRender(() => vue.createVNode(MaybeTransition, {
|
5760
5856
|
"transition": props.transition,
|
5761
5857
|
"tag": "div",
|
5762
|
-
"class": ['v-messages', textColorClasses.value],
|
5763
|
-
"style": textColorStyles.value,
|
5858
|
+
"class": ['v-messages', textColorClasses.value, props.class],
|
5859
|
+
"style": [textColorStyles.value, props.style],
|
5764
5860
|
"role": "alert",
|
5765
5861
|
"aria-live": "polite"
|
5766
5862
|
}, {
|
@@ -6056,6 +6152,7 @@
|
|
6056
6152
|
},
|
6057
6153
|
'onClick:prepend': EventProp(),
|
6058
6154
|
'onClick:append': EventProp(),
|
6155
|
+
...makeComponentProps(),
|
6059
6156
|
...makeDensityProps(),
|
6060
6157
|
...makeValidationProps()
|
6061
6158
|
}, 'v-input');
|
@@ -6123,7 +6220,8 @@
|
|
6123
6220
|
const hasMessages = messages.value.length > 0;
|
6124
6221
|
const hasDetails = !props.hideDetails || props.hideDetails === 'auto' && (hasMessages || !!slots.details);
|
6125
6222
|
return vue.createVNode("div", {
|
6126
|
-
"class": ['v-input', `v-input--${props.direction}`, densityClasses.value, validationClasses.value]
|
6223
|
+
"class": ['v-input', `v-input--${props.direction}`, densityClasses.value, validationClasses.value, props.class],
|
6224
|
+
"style": props.style
|
6127
6225
|
}, [hasPrepend && vue.createVNode("div", {
|
6128
6226
|
"key": "prepend",
|
6129
6227
|
"class": "v-input__prepend"
|
@@ -6166,6 +6264,7 @@
|
|
6166
6264
|
type: [Number, String],
|
6167
6265
|
default: 0
|
6168
6266
|
},
|
6267
|
+
...makeComponentProps(),
|
6169
6268
|
...makeTransitionProps({
|
6170
6269
|
transition: {
|
6171
6270
|
component: VSlideYTransition
|
@@ -6183,7 +6282,8 @@
|
|
6183
6282
|
"transition": props.transition
|
6184
6283
|
}, {
|
6185
6284
|
default: () => [vue.withDirectives(vue.createVNode("div", {
|
6186
|
-
"class":
|
6285
|
+
"class": ['v-counter', props.class],
|
6286
|
+
"style": props.style
|
6187
6287
|
}, [slots.default ? slots.default({
|
6188
6288
|
counter: counter.value,
|
6189
6289
|
max: props.max,
|
@@ -6386,7 +6486,8 @@
|
|
6386
6486
|
'v-text-field--prefixed': props.prefix,
|
6387
6487
|
'v-text-field--suffixed': props.suffix,
|
6388
6488
|
'v-text-field--flush-details': ['plain', 'underlined'].includes(props.variant)
|
6389
|
-
}]
|
6489
|
+
}, props.class],
|
6490
|
+
"style": props.style
|
6390
6491
|
}, rootAttrs, inputProps, {
|
6391
6492
|
"focused": isFocused.value
|
6392
6493
|
}), {
|
@@ -6502,6 +6603,7 @@
|
|
6502
6603
|
type: String,
|
6503
6604
|
default: 'VSelectionControl'
|
6504
6605
|
},
|
6606
|
+
...makeComponentProps(),
|
6505
6607
|
...makeSelectionControlGroupProps()
|
6506
6608
|
},
|
6507
6609
|
emits: {
|
@@ -6549,7 +6651,8 @@
|
|
6549
6651
|
useRender(() => vue.createVNode("div", {
|
6550
6652
|
"class": ['v-selection-control-group', {
|
6551
6653
|
'v-selection-control-group--inline': props.inline
|
6552
|
-
}],
|
6654
|
+
}, props.class],
|
6655
|
+
"style": props.style,
|
6553
6656
|
"role": props.type === 'radio' ? 'radiogroup' : undefined
|
6554
6657
|
}, [slots.default?.()]));
|
6555
6658
|
return {};
|
@@ -6563,6 +6666,7 @@
|
|
6563
6666
|
trueValue: null,
|
6564
6667
|
falseValue: null,
|
6565
6668
|
value: null,
|
6669
|
+
...makeComponentProps(),
|
6566
6670
|
...makeSelectionControlGroupProps()
|
6567
6671
|
}, 'v-selection-control');
|
6568
6672
|
function useSelectionControl(props) {
|
@@ -6677,8 +6781,10 @@
|
|
6677
6781
|
'v-selection-control--focused': isFocused.value,
|
6678
6782
|
'v-selection-control--focus-visible': isFocusVisible.value,
|
6679
6783
|
'v-selection-control--inline': props.inline
|
6680
|
-
}, densityClasses.value]
|
6681
|
-
}, rootAttrs
|
6784
|
+
}, densityClasses.value, props.class]
|
6785
|
+
}, rootAttrs, {
|
6786
|
+
"style": props.style
|
6787
|
+
}), [vue.createVNode("div", {
|
6682
6788
|
"class": ['v-selection-control__wrapper', textColorClasses.value],
|
6683
6789
|
"style": textColorStyles.value
|
6684
6790
|
}, [slots.default?.(), vue.withDirectives(vue.createVNode("div", {
|
@@ -6760,7 +6866,8 @@
|
|
6760
6866
|
useRender(() => vue.createVNode(VSelectionControl, vue.mergeProps(props, {
|
6761
6867
|
"modelValue": model.value,
|
6762
6868
|
"onUpdate:modelValue": [$event => model.value = $event, onChange],
|
6763
|
-
"class":
|
6869
|
+
"class": ['v-checkbox-btn', props.class],
|
6870
|
+
"style": props.style,
|
6764
6871
|
"type": "checkbox",
|
6765
6872
|
"inline": true,
|
6766
6873
|
"falseIcon": falseIcon.value,
|
@@ -6800,10 +6907,11 @@
|
|
6800
6907
|
const [inputProps, _1] = VInput.filterProps(props);
|
6801
6908
|
const [checkboxProps, _2] = VCheckboxBtn.filterProps(props);
|
6802
6909
|
return vue.createVNode(VInput, vue.mergeProps({
|
6803
|
-
"class":
|
6910
|
+
"class": ['v-checkbox', props.class]
|
6804
6911
|
}, inputAttrs, inputProps, {
|
6805
6912
|
"id": id.value,
|
6806
|
-
"focused": isFocused.value
|
6913
|
+
"focused": isFocused.value,
|
6914
|
+
"style": props.style
|
6807
6915
|
}), {
|
6808
6916
|
...slots,
|
6809
6917
|
default: _ref2 => {
|
@@ -6834,6 +6942,7 @@
|
|
6834
6942
|
end: Boolean,
|
6835
6943
|
icon: IconValue,
|
6836
6944
|
image: String,
|
6945
|
+
...makeComponentProps(),
|
6837
6946
|
...makeDensityProps(),
|
6838
6947
|
...makeRoundedProps(),
|
6839
6948
|
...makeSizeProps(),
|
@@ -6872,8 +6981,8 @@
|
|
6872
6981
|
"class": ['v-avatar', {
|
6873
6982
|
'v-avatar--start': props.start,
|
6874
6983
|
'v-avatar--end': props.end
|
6875
|
-
}, themeClasses.value, colorClasses.value, densityClasses.value, roundedClasses.value, sizeClasses.value, variantClasses.value],
|
6876
|
-
"style": [colorStyles.value, sizeStyles.value]
|
6984
|
+
}, themeClasses.value, colorClasses.value, densityClasses.value, roundedClasses.value, sizeClasses.value, variantClasses.value, props.class],
|
6985
|
+
"style": [colorStyles.value, sizeStyles.value, props.style]
|
6877
6986
|
}, {
|
6878
6987
|
default: () => [props.image ? vue.createVNode(VImg, {
|
6879
6988
|
"key": "image",
|
@@ -6901,6 +7010,7 @@
|
|
6901
7010
|
type: Function,
|
6902
7011
|
default: deepEqual
|
6903
7012
|
},
|
7013
|
+
...makeComponentProps(),
|
6904
7014
|
...makeGroupProps({
|
6905
7015
|
selectedClass: 'v-chip--selected'
|
6906
7016
|
}),
|
@@ -6938,7 +7048,8 @@
|
|
6938
7048
|
useRender(() => vue.createVNode(props.tag, {
|
6939
7049
|
"class": ['v-chip-group', {
|
6940
7050
|
'v-chip-group--column': props.column
|
6941
|
-
}, themeClasses.value]
|
7051
|
+
}, themeClasses.value, props.class],
|
7052
|
+
"style": props.style
|
6942
7053
|
}, {
|
6943
7054
|
default: () => [slots.default?.({
|
6944
7055
|
isSelected,
|
@@ -6952,8 +7063,6 @@
|
|
6952
7063
|
}
|
6953
7064
|
});
|
6954
7065
|
|
6955
|
-
// Types
|
6956
|
-
|
6957
7066
|
const VChip = genericComponent()({
|
6958
7067
|
name: 'VChip',
|
6959
7068
|
directives: {
|
@@ -6998,6 +7107,7 @@
|
|
6998
7107
|
onClick: EventProp(),
|
6999
7108
|
onClickOnce: EventProp(),
|
7000
7109
|
...makeBorderProps(),
|
7110
|
+
...makeComponentProps(),
|
7001
7111
|
...makeDensityProps(),
|
7002
7112
|
...makeElevationProps(),
|
7003
7113
|
...makeGroupItemProps(),
|
@@ -7090,8 +7200,8 @@
|
|
7090
7200
|
'v-chip--link': isClickable.value,
|
7091
7201
|
'v-chip--filter': hasFilter,
|
7092
7202
|
'v-chip--pill': props.pill
|
7093
|
-
}, themeClasses.value, borderClasses.value, hasColor ? colorClasses.value : undefined, densityClasses.value, elevationClasses.value, roundedClasses.value, sizeClasses.value, variantClasses.value, group?.selectedClass.value],
|
7094
|
-
"style": [hasColor ? colorStyles.value : undefined],
|
7203
|
+
}, themeClasses.value, borderClasses.value, hasColor ? colorClasses.value : undefined, densityClasses.value, elevationClasses.value, roundedClasses.value, sizeClasses.value, variantClasses.value, group?.selectedClass.value, props.class],
|
7204
|
+
"style": [hasColor ? colorStyles.value : undefined, props.style],
|
7095
7205
|
"disabled": props.disabled || undefined,
|
7096
7206
|
"draggable": props.draggable,
|
7097
7207
|
"href": link.href.value,
|
@@ -7200,6 +7310,7 @@
|
|
7200
7310
|
length: [Number, String],
|
7201
7311
|
thickness: [Number, String],
|
7202
7312
|
vertical: Boolean,
|
7313
|
+
...makeComponentProps(),
|
7203
7314
|
...makeThemeProps()
|
7204
7315
|
},
|
7205
7316
|
setup(props, _ref) {
|
@@ -7228,8 +7339,8 @@
|
|
7228
7339
|
'v-divider': true,
|
7229
7340
|
'v-divider--inset': props.inset,
|
7230
7341
|
'v-divider--vertical': props.vertical
|
7231
|
-
}, themeClasses.value, textColorClasses.value],
|
7232
|
-
"style": [dividerStyles.value, textColorStyles.value],
|
7342
|
+
}, themeClasses.value, textColorClasses.value, props.class],
|
7343
|
+
"style": [dividerStyles.value, textColorStyles.value, props.style],
|
7233
7344
|
"aria-orientation": !attrs.role || attrs.role === 'separator' ? props.vertical ? 'vertical' : 'horizontal' : undefined,
|
7234
7345
|
"role": `${attrs.role || 'separator'}`
|
7235
7346
|
}, null));
|
@@ -7728,6 +7839,7 @@
|
|
7728
7839
|
fluid: Boolean,
|
7729
7840
|
subgroup: Boolean,
|
7730
7841
|
value: null,
|
7842
|
+
...makeComponentProps(),
|
7731
7843
|
...makeTagProps()
|
7732
7844
|
}, 'v-list-group');
|
7733
7845
|
const VListGroup = genericComponent()({
|
@@ -7776,7 +7888,8 @@
|
|
7776
7888
|
'v-list-group--fluid': props.fluid,
|
7777
7889
|
'v-list-group--subgroup': props.subgroup,
|
7778
7890
|
'v-list-group--open': isOpen.value
|
7779
|
-
}]
|
7891
|
+
}, props.class],
|
7892
|
+
"style": props.style
|
7780
7893
|
}, {
|
7781
7894
|
default: () => [slots.activator && vue.createVNode(VDefaultsProvider, {
|
7782
7895
|
"defaults": activatorDefaults.value
|
@@ -7843,6 +7956,7 @@
|
|
7843
7956
|
onClick: EventProp(),
|
7844
7957
|
onClickOnce: EventProp(),
|
7845
7958
|
...makeBorderProps(),
|
7959
|
+
...makeComponentProps(),
|
7846
7960
|
...makeDensityProps(),
|
7847
7961
|
...makeDimensionProps(),
|
7848
7962
|
...makeElevationProps(),
|
@@ -7953,8 +8067,8 @@
|
|
7953
8067
|
'v-list-item--nav': props.nav,
|
7954
8068
|
'v-list-item--prepend': !hasPrepend && list?.hasPrepend.value,
|
7955
8069
|
[`${props.activeClass}`]: props.activeClass && isActive.value
|
7956
|
-
}, themeClasses.value, borderClasses.value, hasColor ? colorClasses.value : undefined, densityClasses.value, elevationClasses.value, lineClasses.value, roundedClasses.value, variantClasses.value],
|
7957
|
-
"style": [hasColor ? colorStyles.value : undefined, dimensionStyles.value],
|
8070
|
+
}, themeClasses.value, borderClasses.value, hasColor ? colorClasses.value : undefined, densityClasses.value, elevationClasses.value, lineClasses.value, roundedClasses.value, variantClasses.value, props.class],
|
8071
|
+
"style": [hasColor ? colorStyles.value : undefined, dimensionStyles.value, props.style],
|
7958
8072
|
"href": link.href.value,
|
7959
8073
|
"tabindex": isClickable.value ? 0 : undefined,
|
7960
8074
|
"onClick": onClick,
|
@@ -8047,6 +8161,7 @@
|
|
8047
8161
|
inset: Boolean,
|
8048
8162
|
sticky: Boolean,
|
8049
8163
|
title: String,
|
8164
|
+
...makeComponentProps(),
|
8050
8165
|
...makeTagProps()
|
8051
8166
|
},
|
8052
8167
|
setup(props, _ref) {
|
@@ -8063,10 +8178,10 @@
|
|
8063
8178
|
"class": ['v-list-subheader', {
|
8064
8179
|
'v-list-subheader--inset': props.inset,
|
8065
8180
|
'v-list-subheader--sticky': props.sticky
|
8066
|
-
}, textColorClasses.value],
|
8067
|
-
"style": {
|
8181
|
+
}, textColorClasses.value, props.class],
|
8182
|
+
"style": [{
|
8068
8183
|
textColorStyles
|
8069
|
-
}
|
8184
|
+
}, props.style]
|
8070
8185
|
}, {
|
8071
8186
|
default: () => [hasText && vue.createVNode("div", {
|
8072
8187
|
"class": "v-list-subheader__text"
|
@@ -8286,6 +8401,7 @@
|
|
8286
8401
|
openStrategy: 'list'
|
8287
8402
|
}),
|
8288
8403
|
...makeBorderProps(),
|
8404
|
+
...makeComponentProps(),
|
8289
8405
|
...makeDensityProps(),
|
8290
8406
|
...makeDimensionProps(),
|
8291
8407
|
...makeElevationProps(),
|
@@ -8387,27 +8503,8 @@
|
|
8387
8503
|
e.preventDefault();
|
8388
8504
|
}
|
8389
8505
|
function focus(location) {
|
8390
|
-
if (
|
8391
|
-
|
8392
|
-
const focusable = [...contentRef.value.querySelectorAll(targets)].filter(el => !el.hasAttribute('disabled'));
|
8393
|
-
const idx = focusable.indexOf(document.activeElement);
|
8394
|
-
if (!location) {
|
8395
|
-
if (!contentRef.value.contains(document.activeElement)) {
|
8396
|
-
focusable[0]?.focus();
|
8397
|
-
}
|
8398
|
-
} else if (location === 'first') {
|
8399
|
-
focusable[0]?.focus();
|
8400
|
-
} else if (location === 'last') {
|
8401
|
-
focusable.at(-1)?.focus();
|
8402
|
-
} else {
|
8403
|
-
let el;
|
8404
|
-
let idxx = idx;
|
8405
|
-
const inc = location === 'next' ? 1 : -1;
|
8406
|
-
do {
|
8407
|
-
idxx += inc;
|
8408
|
-
el = focusable[idxx];
|
8409
|
-
} while ((!el || el.offsetParent == null) && idxx < focusable.length && idxx >= 0);
|
8410
|
-
if (el) el.focus();else focus(location === 'next' ? 'first' : 'last');
|
8506
|
+
if (contentRef.value) {
|
8507
|
+
return focusChild(contentRef.value, location);
|
8411
8508
|
}
|
8412
8509
|
}
|
8413
8510
|
useRender(() => {
|
@@ -8416,8 +8513,8 @@
|
|
8416
8513
|
"class": ['v-list', {
|
8417
8514
|
'v-list--disabled': props.disabled,
|
8418
8515
|
'v-list--nav': props.nav
|
8419
|
-
}, themeClasses.value, backgroundColorClasses.value, borderClasses.value, densityClasses.value, elevationClasses.value, lineClasses.value, roundedClasses.value],
|
8420
|
-
"style": [backgroundColorStyles.value, dimensionStyles.value],
|
8516
|
+
}, themeClasses.value, backgroundColorClasses.value, borderClasses.value, densityClasses.value, elevationClasses.value, lineClasses.value, roundedClasses.value, props.class],
|
8517
|
+
"style": [backgroundColorStyles.value, dimensionStyles.value, props.style],
|
8421
8518
|
"role": "listbox",
|
8422
8519
|
"aria-activedescendant": undefined,
|
8423
8520
|
"onFocusin": onFocusin,
|
@@ -8445,6 +8542,7 @@
|
|
8445
8542
|
props: {
|
8446
8543
|
start: Boolean,
|
8447
8544
|
end: Boolean,
|
8545
|
+
...makeComponentProps(),
|
8448
8546
|
...makeTagProps()
|
8449
8547
|
},
|
8450
8548
|
setup(props, _ref) {
|
@@ -8455,7 +8553,8 @@
|
|
8455
8553
|
"class": ['v-list-item-action', {
|
8456
8554
|
'v-list-item-action--start': props.start,
|
8457
8555
|
'v-list-item-action--end': props.end
|
8458
|
-
}]
|
8556
|
+
}, props.class],
|
8557
|
+
"style": props.style
|
8459
8558
|
}, slots));
|
8460
8559
|
return {};
|
8461
8560
|
}
|
@@ -8466,6 +8565,7 @@
|
|
8466
8565
|
props: {
|
8467
8566
|
start: Boolean,
|
8468
8567
|
end: Boolean,
|
8568
|
+
...makeComponentProps(),
|
8469
8569
|
...makeTagProps()
|
8470
8570
|
},
|
8471
8571
|
setup(props, _ref) {
|
@@ -8477,7 +8577,8 @@
|
|
8477
8577
|
"class": ['v-list-item-media', {
|
8478
8578
|
'v-list-item-media--start': props.start,
|
8479
8579
|
'v-list-item-media--end': props.end
|
8480
|
-
}]
|
8580
|
+
}, props.class],
|
8581
|
+
"style": props.style
|
8481
8582
|
}, slots);
|
8482
8583
|
});
|
8483
8584
|
return {};
|
@@ -9718,6 +9819,7 @@
|
|
9718
9819
|
default: 2000
|
9719
9820
|
},
|
9720
9821
|
...makeActivatorProps(),
|
9822
|
+
...makeComponentProps(),
|
9721
9823
|
...makeDimensionProps(),
|
9722
9824
|
...makeLazyProps(),
|
9723
9825
|
...makeLocationStrategyProps(),
|
@@ -9885,10 +9987,10 @@
|
|
9885
9987
|
'v-overlay--absolute': props.absolute || props.contained,
|
9886
9988
|
'v-overlay--active': isActive.value,
|
9887
9989
|
'v-overlay--contained': props.contained
|
9888
|
-
}, themeClasses.value, rtlClasses.value],
|
9990
|
+
}, themeClasses.value, rtlClasses.value, props.class],
|
9889
9991
|
"style": [stackStyles.value, {
|
9890
9992
|
top: convertToUnit(top.value)
|
9891
|
-
}],
|
9993
|
+
}, props.style],
|
9892
9994
|
"ref": root
|
9893
9995
|
}, scopeId, attrs), [vue.createVNode(Scrim, vue.mergeProps({
|
9894
9996
|
"color": scrimColor,
|
@@ -9994,7 +10096,8 @@
|
|
9994
10096
|
const [overlayProps] = VOverlay.filterProps(props);
|
9995
10097
|
return vue.createVNode(VOverlay, vue.mergeProps({
|
9996
10098
|
"ref": overlay,
|
9997
|
-
"class": ['v-menu']
|
10099
|
+
"class": ['v-menu', props.class],
|
10100
|
+
"style": props.style
|
9998
10101
|
}, overlayProps, {
|
9999
10102
|
"modelValue": isActive.value,
|
10000
10103
|
"onUpdate:modelValue": $event => isActive.value = $event,
|
@@ -10213,7 +10316,8 @@
|
|
10213
10316
|
'v-select--chips': !!props.chips,
|
10214
10317
|
[`v-select--${props.multiple ? 'multiple' : 'single'}`]: true,
|
10215
10318
|
'v-select--selected': model.value.length
|
10216
|
-
}],
|
10319
|
+
}, props.class],
|
10320
|
+
"style": props.style,
|
10217
10321
|
"appendInnerIcon": props.menuIcon,
|
10218
10322
|
"readonly": true,
|
10219
10323
|
"placeholder": placeholder,
|
@@ -10656,7 +10760,8 @@
|
|
10656
10760
|
'v-autocomplete--selecting-index': selectionIndex.value > -1,
|
10657
10761
|
[`v-autocomplete--${props.multiple ? 'multiple' : 'single'}`]: true,
|
10658
10762
|
'v-autocomplete--selection-slot': !!slots.selection
|
10659
|
-
}],
|
10763
|
+
}, props.class],
|
10764
|
+
"style": props.style,
|
10660
10765
|
"appendInnerIcon": props.menuIcon,
|
10661
10766
|
"readonly": props.readonly,
|
10662
10767
|
"placeholder": isDirty ? undefined : props.placeholder,
|
@@ -10770,8 +10875,6 @@
|
|
10770
10875
|
}
|
10771
10876
|
});
|
10772
10877
|
|
10773
|
-
// Types
|
10774
|
-
|
10775
10878
|
const VBadge = genericComponent()({
|
10776
10879
|
name: 'VBadge',
|
10777
10880
|
inheritAttrs: false,
|
@@ -10795,6 +10898,7 @@
|
|
10795
10898
|
offsetX: [Number, String],
|
10796
10899
|
offsetY: [Number, String],
|
10797
10900
|
textColor: String,
|
10901
|
+
...makeComponentProps(),
|
10798
10902
|
...makeLocationProps({
|
10799
10903
|
location: 'top end'
|
10800
10904
|
}),
|
@@ -10839,8 +10943,10 @@
|
|
10839
10943
|
'v-badge--dot': props.dot,
|
10840
10944
|
'v-badge--floating': props.floating,
|
10841
10945
|
'v-badge--inline': props.inline
|
10842
|
-
}]
|
10843
|
-
}, attrs
|
10946
|
+
}, props.class]
|
10947
|
+
}, attrs, {
|
10948
|
+
"style": props.style
|
10949
|
+
}), {
|
10844
10950
|
default: () => [vue.createVNode("div", {
|
10845
10951
|
"class": "v-badge__wrapper"
|
10846
10952
|
}, [ctx.slots.default?.(), vue.createVNode(MaybeTransition, {
|
@@ -10867,7 +10973,8 @@
|
|
10867
10973
|
name: 'VBannerActions',
|
10868
10974
|
props: {
|
10869
10975
|
color: String,
|
10870
|
-
density: String
|
10976
|
+
density: String,
|
10977
|
+
...makeComponentProps()
|
10871
10978
|
},
|
10872
10979
|
setup(props, _ref) {
|
10873
10980
|
let {
|
@@ -10881,7 +10988,8 @@
|
|
10881
10988
|
}
|
10882
10989
|
});
|
10883
10990
|
useRender(() => vue.createVNode("div", {
|
10884
|
-
"class":
|
10991
|
+
"class": ['v-banner-actions', props.class],
|
10992
|
+
"style": props.style
|
10885
10993
|
}, [slots.default?.()]));
|
10886
10994
|
return {};
|
10887
10995
|
}
|
@@ -10902,6 +11010,7 @@
|
|
10902
11010
|
sticky: Boolean,
|
10903
11011
|
text: String,
|
10904
11012
|
...makeBorderProps(),
|
11013
|
+
...makeComponentProps(),
|
10905
11014
|
...makeDensityProps(),
|
10906
11015
|
...makeDimensionProps(),
|
10907
11016
|
...makeElevationProps(),
|
@@ -10959,8 +11068,8 @@
|
|
10959
11068
|
'v-banner--stacked': props.stacked || mobile.value,
|
10960
11069
|
'v-banner--sticky': props.sticky,
|
10961
11070
|
[`v-banner--${props.lines}-line`]: !!props.lines
|
10962
|
-
}, borderClasses.value, densityClasses.value, elevationClasses.value, positionClasses.value, roundedClasses.value, themeClasses.value],
|
10963
|
-
"style": [dimensionStyles.value, locationStyles.value],
|
11071
|
+
}, borderClasses.value, densityClasses.value, elevationClasses.value, positionClasses.value, roundedClasses.value, themeClasses.value, props.class],
|
11072
|
+
"style": [dimensionStyles.value, locationStyles.value, props.style],
|
10964
11073
|
"role": "banner"
|
10965
11074
|
}, {
|
10966
11075
|
default: () => [hasPrepend && vue.createVNode("div", {
|
@@ -11016,6 +11125,7 @@
|
|
11016
11125
|
default: true
|
11017
11126
|
},
|
11018
11127
|
...makeBorderProps(),
|
11128
|
+
...makeComponentProps(),
|
11019
11129
|
...makeDensityProps(),
|
11020
11130
|
...makeElevationProps(),
|
11021
11131
|
...makeRoundedProps(),
|
@@ -11090,11 +11200,11 @@
|
|
11090
11200
|
'v-bottom-navigation--active': isActive.value,
|
11091
11201
|
'v-bottom-navigation--grow': props.grow,
|
11092
11202
|
'v-bottom-navigation--shift': props.mode === 'shift'
|
11093
|
-
}, themeClasses.value, backgroundColorClasses.value, borderClasses.value, densityClasses.value, elevationClasses.value, roundedClasses.value],
|
11203
|
+
}, themeClasses.value, backgroundColorClasses.value, borderClasses.value, densityClasses.value, elevationClasses.value, roundedClasses.value, props.class],
|
11094
11204
|
"style": [backgroundColorStyles.value, layoutItemStyles.value, {
|
11095
11205
|
height: convertToUnit(height.value),
|
11096
11206
|
transform: `translateY(${convertToUnit(!isActive.value ? 100 : 0, '%')})`
|
11097
|
-
}, ssrBootStyles.value]
|
11207
|
+
}, ssrBootStyles.value, props.style]
|
11098
11208
|
}, {
|
11099
11209
|
default: () => [slots.default && vue.createVNode("div", {
|
11100
11210
|
"class": "v-bottom-navigation__content"
|
@@ -11108,14 +11218,16 @@
|
|
11108
11218
|
const VBreadcrumbsDivider = genericComponent()({
|
11109
11219
|
name: 'VBreadcrumbsDivider',
|
11110
11220
|
props: {
|
11111
|
-
divider: [Number, String]
|
11221
|
+
divider: [Number, String],
|
11222
|
+
...makeComponentProps()
|
11112
11223
|
},
|
11113
11224
|
setup(props, _ref) {
|
11114
11225
|
let {
|
11115
11226
|
slots
|
11116
11227
|
} = _ref;
|
11117
11228
|
useRender(() => vue.createVNode("li", {
|
11118
|
-
"class":
|
11229
|
+
"class": ['v-breadcrumbs-divider', props.class],
|
11230
|
+
"style": props.style
|
11119
11231
|
}, [slots?.default?.() ?? props.divider]));
|
11120
11232
|
return {};
|
11121
11233
|
}
|
@@ -11130,6 +11242,7 @@
|
|
11130
11242
|
color: String,
|
11131
11243
|
disabled: Boolean,
|
11132
11244
|
title: String,
|
11245
|
+
...makeComponentProps(),
|
11133
11246
|
...makeRouterProps(),
|
11134
11247
|
...makeTagProps({
|
11135
11248
|
tag: 'li'
|
@@ -11155,8 +11268,8 @@
|
|
11155
11268
|
'v-breadcrumbs-item--disabled': props.disabled,
|
11156
11269
|
'v-breadcrumbs-item--link': link.isLink.value,
|
11157
11270
|
[`${props.activeClass}`]: isActive.value && props.activeClass
|
11158
|
-
}, textColorClasses.value],
|
11159
|
-
"style": [textColorStyles.value],
|
11271
|
+
}, textColorClasses.value, props.class],
|
11272
|
+
"style": [textColorStyles.value, props.style],
|
11160
11273
|
"href": link.href.value,
|
11161
11274
|
"aria-current": isActive.value ? 'page' : undefined,
|
11162
11275
|
"onClick": link.navigate
|
@@ -11187,6 +11300,7 @@
|
|
11187
11300
|
type: Array,
|
11188
11301
|
default: () => []
|
11189
11302
|
},
|
11303
|
+
...makeComponentProps(),
|
11190
11304
|
...makeDensityProps(),
|
11191
11305
|
...makeRoundedProps(),
|
11192
11306
|
...makeTagProps({
|
@@ -11218,11 +11332,22 @@
|
|
11218
11332
|
disabled: vue.toRef(props, 'disabled')
|
11219
11333
|
}
|
11220
11334
|
});
|
11335
|
+
const items = vue.computed(() => props.items.map(item => {
|
11336
|
+
return typeof item === 'string' ? {
|
11337
|
+
item: {
|
11338
|
+
title: item
|
11339
|
+
},
|
11340
|
+
raw: item
|
11341
|
+
} : {
|
11342
|
+
item,
|
11343
|
+
raw: item
|
11344
|
+
};
|
11345
|
+
}));
|
11221
11346
|
useRender(() => {
|
11222
11347
|
const hasPrepend = !!(slots.prepend || props.icon);
|
11223
11348
|
return vue.createVNode(props.tag, {
|
11224
|
-
"class": ['v-breadcrumbs', backgroundColorClasses.value, densityClasses.value, roundedClasses.value],
|
11225
|
-
"style": backgroundColorStyles.value
|
11349
|
+
"class": ['v-breadcrumbs', backgroundColorClasses.value, densityClasses.value, roundedClasses.value, props.class],
|
11350
|
+
"style": [backgroundColorStyles.value, props.style]
|
11226
11351
|
}, {
|
11227
11352
|
default: () => [hasPrepend && vue.createVNode("div", {
|
11228
11353
|
"key": "prepend",
|
@@ -11240,33 +11365,36 @@
|
|
11240
11365
|
start: true
|
11241
11366
|
}
|
11242
11367
|
}
|
11243
|
-
}, slots.prepend)]),
|
11244
|
-
|
11245
|
-
"disabled": index >= array.length - 1
|
11246
|
-
}, typeof item === 'string' ? {
|
11247
|
-
title: item
|
11248
|
-
} : item), {
|
11249
|
-
default: slots.title ? () => slots.title?.({
|
11250
|
-
item,
|
11251
|
-
index
|
11252
|
-
}) : undefined
|
11253
|
-
}), index < array.length - 1 && vue.createVNode(VBreadcrumbsDivider, null, {
|
11254
|
-
default: slots.divider ? () => slots.divider?.({
|
11368
|
+
}, slots.prepend)]), items.value.map((_ref2, index, array) => {
|
11369
|
+
let {
|
11255
11370
|
item,
|
11256
|
-
|
11257
|
-
}
|
11258
|
-
|
11371
|
+
raw
|
11372
|
+
} = _ref2;
|
11373
|
+
return vue.createVNode(vue.Fragment, null, [vue.createVNode(VBreadcrumbsItem, vue.mergeProps({
|
11374
|
+
"key": item.title,
|
11375
|
+
"disabled": index >= array.length - 1
|
11376
|
+
}, item), {
|
11377
|
+
default: slots.title ? () => slots.title?.({
|
11378
|
+
item: raw,
|
11379
|
+
index
|
11380
|
+
}) : undefined
|
11381
|
+
}), index < array.length - 1 && vue.createVNode(VBreadcrumbsDivider, null, {
|
11382
|
+
default: slots.divider ? () => slots.divider?.({
|
11383
|
+
item: raw,
|
11384
|
+
index
|
11385
|
+
}) : undefined
|
11386
|
+
})]);
|
11387
|
+
}), slots.default?.()]
|
11259
11388
|
});
|
11260
11389
|
});
|
11261
11390
|
return {};
|
11262
11391
|
}
|
11263
11392
|
});
|
11264
11393
|
|
11265
|
-
|
11266
|
-
|
11267
|
-
const VCardActions = defineComponent({
|
11394
|
+
const VCardActions = genericComponent()({
|
11268
11395
|
name: 'VCardActions',
|
11269
|
-
|
11396
|
+
props: makeComponentProps(),
|
11397
|
+
setup(props, _ref) {
|
11270
11398
|
let {
|
11271
11399
|
slots
|
11272
11400
|
} = _ref;
|
@@ -11276,7 +11404,8 @@
|
|
11276
11404
|
}
|
11277
11405
|
});
|
11278
11406
|
useRender(() => vue.createVNode("div", {
|
11279
|
-
"class":
|
11407
|
+
"class": ['v-card-actions', props.class],
|
11408
|
+
"style": props.style
|
11280
11409
|
}, [slots.default?.()]));
|
11281
11410
|
return {};
|
11282
11411
|
}
|
@@ -11286,8 +11415,6 @@
|
|
11286
11415
|
|
11287
11416
|
const VCardTitle = createSimpleFunctional('v-card-title');
|
11288
11417
|
|
11289
|
-
// Types
|
11290
|
-
|
11291
11418
|
const VCardItem = genericComponent()({
|
11292
11419
|
name: 'VCardItem',
|
11293
11420
|
props: {
|
@@ -11297,6 +11424,7 @@
|
|
11297
11424
|
prependIcon: IconValue,
|
11298
11425
|
subtitle: String,
|
11299
11426
|
title: String,
|
11427
|
+
...makeComponentProps(),
|
11300
11428
|
...makeDensityProps()
|
11301
11429
|
},
|
11302
11430
|
setup(props, _ref) {
|
@@ -11311,7 +11439,8 @@
|
|
11311
11439
|
const hasTitle = !!(props.title || slots.title);
|
11312
11440
|
const hasSubtitle = !!(props.subtitle || slots.subtitle);
|
11313
11441
|
return vue.createVNode("div", {
|
11314
|
-
"class":
|
11442
|
+
"class": ['v-card-item', props.class],
|
11443
|
+
"style": props.style
|
11315
11444
|
}, [hasPrepend && vue.createVNode("div", {
|
11316
11445
|
"key": "prepend",
|
11317
11446
|
"class": "v-card-item__prepend"
|
@@ -11393,8 +11522,8 @@
|
|
11393
11522
|
subtitle: String,
|
11394
11523
|
text: String,
|
11395
11524
|
title: String,
|
11396
|
-
...makeThemeProps(),
|
11397
11525
|
...makeBorderProps(),
|
11526
|
+
...makeComponentProps(),
|
11398
11527
|
...makeDensityProps(),
|
11399
11528
|
...makeDimensionProps(),
|
11400
11529
|
...makeElevationProps(),
|
@@ -11404,6 +11533,7 @@
|
|
11404
11533
|
...makeRoundedProps(),
|
11405
11534
|
...makeRouterProps(),
|
11406
11535
|
...makeTagProps(),
|
11536
|
+
...makeThemeProps(),
|
11407
11537
|
...makeVariantProps({
|
11408
11538
|
variant: 'elevated'
|
11409
11539
|
})
|
@@ -11464,8 +11594,8 @@
|
|
11464
11594
|
'v-card--flat': props.flat,
|
11465
11595
|
'v-card--hover': props.hover && !(props.disabled || props.flat),
|
11466
11596
|
'v-card--link': isClickable.value
|
11467
|
-
}, themeClasses.value, borderClasses.value, colorClasses.value, densityClasses.value, elevationClasses.value, loaderClasses.value, positionClasses.value, roundedClasses.value, variantClasses.value],
|
11468
|
-
"style": [colorStyles.value, dimensionStyles.value, locationStyles.value],
|
11597
|
+
}, themeClasses.value, borderClasses.value, colorClasses.value, densityClasses.value, elevationClasses.value, loaderClasses.value, positionClasses.value, roundedClasses.value, variantClasses.value, props.class],
|
11598
|
+
"style": [colorStyles.value, dimensionStyles.value, locationStyles.value, props.style],
|
11469
11599
|
"href": link.href.value,
|
11470
11600
|
"onClick": isClickable.value && link.navigate,
|
11471
11601
|
"tabindex": props.disabled ? -1 : undefined
|
@@ -11661,6 +11791,7 @@
|
|
11661
11791
|
mandatory: {
|
11662
11792
|
default: 'force'
|
11663
11793
|
},
|
11794
|
+
...makeComponentProps(),
|
11664
11795
|
...makeTagProps(),
|
11665
11796
|
...makeThemeProps()
|
11666
11797
|
}, 'v-window');
|
@@ -11776,7 +11907,8 @@
|
|
11776
11907
|
"ref": rootRef,
|
11777
11908
|
"class": ['v-window', {
|
11778
11909
|
'v-window--show-arrows-on-hover': props.showArrows === 'hover'
|
11779
|
-
}, themeClasses.value]
|
11910
|
+
}, themeClasses.value, props.class],
|
11911
|
+
"style": props.style
|
11780
11912
|
}, {
|
11781
11913
|
default: () => [vue.createVNode("div", {
|
11782
11914
|
"class": "v-window__container",
|
@@ -11861,10 +11993,10 @@
|
|
11861
11993
|
"class": ['v-carousel', {
|
11862
11994
|
'v-carousel--hide-delimiter-background': props.hideDelimiterBackground,
|
11863
11995
|
'v-carousel--vertical-delimiters': props.verticalDelimiters
|
11864
|
-
}],
|
11865
|
-
"style": {
|
11996
|
+
}, props.class],
|
11997
|
+
"style": [{
|
11866
11998
|
height: convertToUnit(props.height)
|
11867
|
-
},
|
11999
|
+
}, props.style],
|
11868
12000
|
"continuous": true,
|
11869
12001
|
"mandatory": "force",
|
11870
12002
|
"showArrows": props.showArrows
|
@@ -11930,6 +12062,7 @@
|
|
11930
12062
|
type: [Boolean, String],
|
11931
12063
|
default: undefined
|
11932
12064
|
},
|
12065
|
+
...makeComponentProps(),
|
11933
12066
|
...makeGroupItemProps(),
|
11934
12067
|
...makeLazyProps()
|
11935
12068
|
},
|
@@ -12016,7 +12149,8 @@
|
|
12016
12149
|
"disabled": !isBooted.value
|
12017
12150
|
}, {
|
12018
12151
|
default: () => [vue.withDirectives(vue.createVNode("div", {
|
12019
|
-
"class": ['v-window-item', groupItem.selectedClass.value]
|
12152
|
+
"class": ['v-window-item', groupItem.selectedClass.value, props.class],
|
12153
|
+
"style": props.style
|
12020
12154
|
}, [hasContent.value && slots.default?.()]), [[vue.vShow, groupItem.isSelected.value]])]
|
12021
12155
|
}));
|
12022
12156
|
return {};
|
@@ -12029,7 +12163,8 @@
|
|
12029
12163
|
name: 'VCarouselItem',
|
12030
12164
|
inheritAttrs: false,
|
12031
12165
|
props: {
|
12032
|
-
value: null
|
12166
|
+
value: null,
|
12167
|
+
...makeComponentProps()
|
12033
12168
|
},
|
12034
12169
|
setup(props, _ref) {
|
12035
12170
|
let {
|
@@ -12037,7 +12172,8 @@
|
|
12037
12172
|
attrs
|
12038
12173
|
} = _ref;
|
12039
12174
|
useRender(() => vue.createVNode(VWindowItem, {
|
12040
|
-
"class":
|
12175
|
+
"class": ['v-carousel-item', props.class],
|
12176
|
+
"style": props.style,
|
12041
12177
|
"value": props.value
|
12042
12178
|
}, {
|
12043
12179
|
default: () => [vue.createVNode(VImg, attrs, slots)]
|
@@ -12050,6 +12186,7 @@
|
|
12050
12186
|
const makeVSheetProps = propsFactory({
|
12051
12187
|
color: String,
|
12052
12188
|
...makeBorderProps(),
|
12189
|
+
...makeComponentProps(),
|
12053
12190
|
...makeDimensionProps(),
|
12054
12191
|
...makeElevationProps(),
|
12055
12192
|
...makeLocationProps(),
|
@@ -12093,8 +12230,8 @@
|
|
12093
12230
|
roundedClasses
|
12094
12231
|
} = useRounded(props);
|
12095
12232
|
useRender(() => vue.createVNode(props.tag, {
|
12096
|
-
"class": ['v-sheet', themeClasses.value, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, positionClasses.value, roundedClasses.value],
|
12097
|
-
"style": [backgroundColorStyles.value, dimensionStyles.value, locationStyles.value]
|
12233
|
+
"class": ['v-sheet', themeClasses.value, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, positionClasses.value, roundedClasses.value, props.class],
|
12234
|
+
"style": [backgroundColorStyles.value, dimensionStyles.value, locationStyles.value, props.style]
|
12098
12235
|
}, slots));
|
12099
12236
|
return {};
|
12100
12237
|
}
|
@@ -12120,7 +12257,8 @@
|
|
12120
12257
|
width: {
|
12121
12258
|
type: [Number, String],
|
12122
12259
|
default: 300
|
12123
|
-
}
|
12260
|
+
},
|
12261
|
+
...makeComponentProps()
|
12124
12262
|
},
|
12125
12263
|
emits: {
|
12126
12264
|
'update:color': color => true,
|
@@ -12265,7 +12403,8 @@
|
|
12265
12403
|
vue.onMounted(() => updateCanvas());
|
12266
12404
|
useRender(() => vue.createVNode("div", {
|
12267
12405
|
"ref": resizeRef,
|
12268
|
-
"class":
|
12406
|
+
"class": ['v-color-picker-canvas', props.class],
|
12407
|
+
"style": props.style,
|
12269
12408
|
"onClick": handleClick,
|
12270
12409
|
"onMousedown": handleMouseDown,
|
12271
12410
|
"onTouchstart": handleMouseDown
|
@@ -12498,7 +12637,8 @@
|
|
12498
12637
|
type: Array,
|
12499
12638
|
default: () => Object.keys(modes),
|
12500
12639
|
validator: v => Array.isArray(v) && v.every(m => Object.keys(modes).includes(m))
|
12501
|
-
}
|
12640
|
+
},
|
12641
|
+
...makeComponentProps()
|
12502
12642
|
},
|
12503
12643
|
emits: {
|
12504
12644
|
'update:color': color => true,
|
@@ -12538,7 +12678,8 @@
|
|
12538
12678
|
});
|
12539
12679
|
});
|
12540
12680
|
useRender(() => vue.createVNode("div", {
|
12541
|
-
"class":
|
12681
|
+
"class": ['v-color-picker-edit', props.class],
|
12682
|
+
"style": props.style
|
12542
12683
|
}, [inputs.value?.map(props => vue.createVNode(VColorPickerInput, props, null)), enabledModes.value.length > 1 && vue.createVNode(VBtn, {
|
12543
12684
|
"icon": "$unfold",
|
12544
12685
|
"size": "x-small",
|
@@ -12857,7 +12998,8 @@
|
|
12857
12998
|
ripple: {
|
12858
12999
|
type: Boolean,
|
12859
13000
|
default: true
|
12860
|
-
}
|
13001
|
+
},
|
13002
|
+
...makeComponentProps()
|
12861
13003
|
},
|
12862
13004
|
emits: {
|
12863
13005
|
'update:modelValue': v => true
|
@@ -12935,11 +13077,11 @@
|
|
12935
13077
|
"class": ['v-slider-thumb', {
|
12936
13078
|
'v-slider-thumb--focused': props.focused,
|
12937
13079
|
'v-slider-thumb--pressed': props.focused && mousePressed.value
|
12938
|
-
}],
|
12939
|
-
"style": {
|
13080
|
+
}, props.class],
|
13081
|
+
"style": [{
|
12940
13082
|
'--v-slider-thumb-position': positionPercentage,
|
12941
13083
|
'--v-slider-thumb-size': convertToUnit(thumbSize.value)
|
12942
|
-
},
|
13084
|
+
}, props.style],
|
12943
13085
|
"role": "slider",
|
12944
13086
|
"tabindex": disabled.value ? -1 : 0,
|
12945
13087
|
"aria-valuemin": props.min,
|
@@ -12985,7 +13127,8 @@
|
|
12985
13127
|
stop: {
|
12986
13128
|
type: Number,
|
12987
13129
|
required: true
|
12988
|
-
}
|
13130
|
+
},
|
13131
|
+
...makeComponentProps()
|
12989
13132
|
},
|
12990
13133
|
emits: {},
|
12991
13134
|
setup(props, _ref) {
|
@@ -13060,12 +13203,12 @@
|
|
13060
13203
|
});
|
13061
13204
|
useRender(() => {
|
13062
13205
|
return vue.createVNode("div", {
|
13063
|
-
"class": ['v-slider-track', roundedClasses.value],
|
13064
|
-
"style": {
|
13206
|
+
"class": ['v-slider-track', roundedClasses.value, props.class],
|
13207
|
+
"style": [{
|
13065
13208
|
'--v-slider-track-size': convertToUnit(trackSize.value),
|
13066
13209
|
'--v-slider-tick-size': convertToUnit(tickSize.value),
|
13067
13210
|
direction: !vertical.value ? horizontalDirection.value : undefined
|
13068
|
-
}
|
13211
|
+
}, props.style]
|
13069
13212
|
}, [vue.createVNode("div", {
|
13070
13213
|
"class": ['v-slider-track__background', trackColorClasses.value, {
|
13071
13214
|
'v-slider-track__background--opacity': !!color.value || !trackFillColor.value
|
@@ -13168,7 +13311,8 @@
|
|
13168
13311
|
'v-slider--focused': isFocused.value,
|
13169
13312
|
'v-slider--pressed': mousePressed.value,
|
13170
13313
|
'v-slider--disabled': props.disabled
|
13171
|
-
}]
|
13314
|
+
}, props.class],
|
13315
|
+
"style": props.style
|
13172
13316
|
}, inputProps, {
|
13173
13317
|
"focused": isFocused.value
|
13174
13318
|
}), {
|
@@ -13231,7 +13375,8 @@
|
|
13231
13375
|
type: Object
|
13232
13376
|
},
|
13233
13377
|
disabled: Boolean,
|
13234
|
-
hideAlpha: Boolean
|
13378
|
+
hideAlpha: Boolean,
|
13379
|
+
...makeComponentProps()
|
13235
13380
|
},
|
13236
13381
|
emits: {
|
13237
13382
|
'update:color': color => true
|
@@ -13243,7 +13388,8 @@
|
|
13243
13388
|
useRender(() => vue.createVNode("div", {
|
13244
13389
|
"class": ['v-color-picker-preview', {
|
13245
13390
|
'v-color-picker-preview--hide-alpha': props.hideAlpha
|
13246
|
-
}]
|
13391
|
+
}, props.class],
|
13392
|
+
"style": props.style
|
13247
13393
|
}, [vue.createVNode("div", {
|
13248
13394
|
"class": "v-color-picker-preview__dot"
|
13249
13395
|
}, [vue.createVNode("div", {
|
@@ -13624,7 +13770,8 @@
|
|
13624
13770
|
},
|
13625
13771
|
disabled: Boolean,
|
13626
13772
|
color: Object,
|
13627
|
-
maxHeight: [Number, String]
|
13773
|
+
maxHeight: [Number, String],
|
13774
|
+
...makeComponentProps()
|
13628
13775
|
},
|
13629
13776
|
emits: {
|
13630
13777
|
'update:color': color => true
|
@@ -13634,10 +13781,10 @@
|
|
13634
13781
|
emit
|
13635
13782
|
} = _ref;
|
13636
13783
|
useRender(() => vue.createVNode("div", {
|
13637
|
-
"class":
|
13638
|
-
"style": {
|
13784
|
+
"class": ['v-color-picker-swatches', props.class],
|
13785
|
+
"style": [{
|
13639
13786
|
maxHeight: convertToUnit(props.maxHeight)
|
13640
|
-
}
|
13787
|
+
}, props.style]
|
13641
13788
|
}, [vue.createVNode("div", null, [props.swatches.map(swatch => vue.createVNode("div", {
|
13642
13789
|
"class": "v-color-picker-swatches__swatch"
|
13643
13790
|
}, [swatch.map(color => {
|
@@ -13741,13 +13888,13 @@
|
|
13741
13888
|
"rounded": props.rounded,
|
13742
13889
|
"elevation": props.elevation,
|
13743
13890
|
"theme": props.theme,
|
13744
|
-
"class": ['v-color-picker'],
|
13745
|
-
"style": {
|
13891
|
+
"class": ['v-color-picker', props.class],
|
13892
|
+
"style": [{
|
13746
13893
|
'--v-color-picker-color-hsv': HSVtoCSS({
|
13747
13894
|
...(currentColor.value ?? nullColor),
|
13748
13895
|
a: 1
|
13749
13896
|
})
|
13750
|
-
}
|
13897
|
+
}, props.style]
|
13751
13898
|
}, sheetProps, {
|
13752
13899
|
"maxWidth": props.width
|
13753
13900
|
}), {
|
@@ -14058,7 +14205,8 @@
|
|
14058
14205
|
'v-combobox--chips': !!props.chips,
|
14059
14206
|
'v-combobox--selecting-index': selectionIndex.value > -1,
|
14060
14207
|
[`v-combobox--${props.multiple ? 'multiple' : 'single'}`]: true
|
14061
|
-
}],
|
14208
|
+
}, props.class],
|
14209
|
+
"style": props.style,
|
14062
14210
|
"appendInnerIcon": props.items.length ? props.menuIcon : undefined,
|
14063
14211
|
"readonly": props.readonly,
|
14064
14212
|
"placeholder": isDirty ? undefined : props.placeholder,
|
@@ -14215,7 +14363,7 @@
|
|
14215
14363
|
![document, overlay.value.contentEl].includes(after) &&
|
14216
14364
|
// It isn't inside the dialog body
|
14217
14365
|
!overlay.value.contentEl.contains(after)) {
|
14218
|
-
const focusable =
|
14366
|
+
const focusable = focusableChildren(overlay.value.contentEl);
|
14219
14367
|
if (!focusable.length) return;
|
14220
14368
|
const firstElement = focusable[0];
|
14221
14369
|
const lastElement = focusable[focusable.length - 1];
|
@@ -14256,7 +14404,8 @@
|
|
14256
14404
|
"class": ['v-dialog', {
|
14257
14405
|
'v-dialog--fullscreen': props.fullscreen,
|
14258
14406
|
'v-dialog--scrollable': props.scrollable
|
14259
|
-
}]
|
14407
|
+
}, props.class],
|
14408
|
+
"style": props.style
|
14260
14409
|
}, overlayProps, {
|
14261
14410
|
"modelValue": isActive.value,
|
14262
14411
|
"onUpdate:modelValue": $event => isActive.value = $event,
|
@@ -14295,6 +14444,7 @@
|
|
14295
14444
|
validator: v => allowedVariants.includes(v)
|
14296
14445
|
},
|
14297
14446
|
readonly: Boolean,
|
14447
|
+
...makeComponentProps(),
|
14298
14448
|
...makeGroupProps(),
|
14299
14449
|
...makeTagProps(),
|
14300
14450
|
...makeThemeProps()
|
@@ -14320,7 +14470,8 @@
|
|
14320
14470
|
}
|
14321
14471
|
});
|
14322
14472
|
useRender(() => vue.createVNode(props.tag, {
|
14323
|
-
"class": ['v-expansion-panels', themeClasses.value, variantClass.value]
|
14473
|
+
"class": ['v-expansion-panels', themeClasses.value, variantClass.value, props.class],
|
14474
|
+
"style": props.style
|
14324
14475
|
}, slots));
|
14325
14476
|
return {};
|
14326
14477
|
}
|
@@ -14349,6 +14500,7 @@
|
|
14349
14500
|
Ripple
|
14350
14501
|
},
|
14351
14502
|
props: {
|
14503
|
+
...makeComponentProps(),
|
14352
14504
|
...makeVExpansionPanelTitleProps()
|
14353
14505
|
},
|
14354
14506
|
setup(props, _ref) {
|
@@ -14371,8 +14523,8 @@
|
|
14371
14523
|
useRender(() => vue.withDirectives(vue.createVNode("button", {
|
14372
14524
|
"class": ['v-expansion-panel-title', {
|
14373
14525
|
'v-expansion-panel-title--active': expansionPanel.isSelected.value
|
14374
|
-
}, backgroundColorClasses.value],
|
14375
|
-
"style": backgroundColorStyles.value,
|
14526
|
+
}, backgroundColorClasses.value, props.class],
|
14527
|
+
"style": [backgroundColorStyles.value, props.style],
|
14376
14528
|
"type": "button",
|
14377
14529
|
"tabindex": expansionPanel.disabled.value ? -1 : undefined,
|
14378
14530
|
"disabled": expansionPanel.disabled.value,
|
@@ -14392,6 +14544,7 @@
|
|
14392
14544
|
const VExpansionPanelText = genericComponent()({
|
14393
14545
|
name: 'VExpansionPanelText',
|
14394
14546
|
props: {
|
14547
|
+
...makeComponentProps(),
|
14395
14548
|
...makeLazyProps()
|
14396
14549
|
},
|
14397
14550
|
setup(props, _ref) {
|
@@ -14408,7 +14561,8 @@
|
|
14408
14561
|
"onAfterLeave": onAfterLeave
|
14409
14562
|
}, {
|
14410
14563
|
default: () => [vue.withDirectives(vue.createVNode("div", {
|
14411
|
-
"class":
|
14564
|
+
"class": ['v-expansion-panel-text', props.class],
|
14565
|
+
"style": props.style
|
14412
14566
|
}, [slots.default && hasContent.value && vue.createVNode("div", {
|
14413
14567
|
"class": "v-expansion-panel-text__wrapper"
|
14414
14568
|
}, [slots.default?.()])]), [[vue.vShow, expansionPanel.isSelected.value]])]
|
@@ -14423,6 +14577,7 @@
|
|
14423
14577
|
title: String,
|
14424
14578
|
text: String,
|
14425
14579
|
bgColor: String,
|
14580
|
+
...makeComponentProps(),
|
14426
14581
|
...makeElevationProps(),
|
14427
14582
|
...makeGroupItemProps(),
|
14428
14583
|
...makeLazyProps(),
|
@@ -14471,8 +14626,8 @@
|
|
14471
14626
|
'v-expansion-panel--before-active': isBeforeSelected.value,
|
14472
14627
|
'v-expansion-panel--after-active': isAfterSelected.value,
|
14473
14628
|
'v-expansion-panel--disabled': isDisabled.value
|
14474
|
-
}, roundedClasses.value, backgroundColorClasses.value],
|
14475
|
-
"style": backgroundColorStyles.value,
|
14629
|
+
}, roundedClasses.value, backgroundColorClasses.value, props.class],
|
14630
|
+
"style": [backgroundColorStyles.value, props.style],
|
14476
14631
|
"aria-expanded": groupItem.isSelected.value
|
14477
14632
|
}, {
|
14478
14633
|
default: () => [vue.createVNode("div", {
|
@@ -14622,7 +14777,8 @@
|
|
14622
14777
|
"ref": vInputRef,
|
14623
14778
|
"modelValue": model.value,
|
14624
14779
|
"onUpdate:modelValue": $event => model.value = $event,
|
14625
|
-
"class":
|
14780
|
+
"class": ['v-file-input', props.class],
|
14781
|
+
"style": props.style,
|
14626
14782
|
"onClick:prepend": onClickPrepend
|
14627
14783
|
}, rootAttrs, inputProps, {
|
14628
14784
|
"focused": isFocused.value
|
@@ -14714,6 +14870,7 @@
|
|
14714
14870
|
default: 'auto'
|
14715
14871
|
},
|
14716
14872
|
...makeBorderProps(),
|
14873
|
+
...makeComponentProps(),
|
14717
14874
|
...makeElevationProps(),
|
14718
14875
|
...makeLayoutItemProps(),
|
14719
14876
|
...makeRoundedProps(),
|
@@ -14763,8 +14920,8 @@
|
|
14763
14920
|
});
|
14764
14921
|
useRender(() => vue.createVNode(props.tag, {
|
14765
14922
|
"ref": resizeRef,
|
14766
|
-
"class": ['v-footer', themeClasses.value, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, roundedClasses.value],
|
14767
|
-
"style": [backgroundColorStyles.value, props.app ? layoutItemStyles.value : undefined]
|
14923
|
+
"class": ['v-footer', themeClasses.value, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, roundedClasses.value, props.class],
|
14924
|
+
"style": [backgroundColorStyles.value, props.app ? layoutItemStyles.value : undefined, props.style]
|
14768
14925
|
}, slots));
|
14769
14926
|
return {};
|
14770
14927
|
}
|
@@ -14775,6 +14932,7 @@
|
|
14775
14932
|
const VForm = genericComponent()({
|
14776
14933
|
name: 'VForm',
|
14777
14934
|
props: {
|
14935
|
+
...makeComponentProps(),
|
14778
14936
|
...makeFormProps()
|
14779
14937
|
},
|
14780
14938
|
emits: {
|
@@ -14813,7 +14971,8 @@
|
|
14813
14971
|
}
|
14814
14972
|
useRender(() => vue.createVNode("form", {
|
14815
14973
|
"ref": formRef,
|
14816
|
-
"class":
|
14974
|
+
"class": ['v-form', props.class],
|
14975
|
+
"style": props.style,
|
14817
14976
|
"novalidate": true,
|
14818
14977
|
"onReset": onReset,
|
14819
14978
|
"onSubmit": onSubmit
|
@@ -14829,6 +14988,7 @@
|
|
14829
14988
|
type: Boolean,
|
14830
14989
|
default: false
|
14831
14990
|
},
|
14991
|
+
...makeComponentProps(),
|
14832
14992
|
...makeTagProps()
|
14833
14993
|
},
|
14834
14994
|
setup(props, _ref) {
|
@@ -14838,7 +14998,8 @@
|
|
14838
14998
|
useRender(() => vue.createVNode(props.tag, {
|
14839
14999
|
"class": ['v-container', {
|
14840
15000
|
'v-container--fluid': props.fluid
|
14841
|
-
}]
|
15001
|
+
}, props.class],
|
15002
|
+
"style": props.style
|
14842
15003
|
}, slots));
|
14843
15004
|
return {};
|
14844
15005
|
}
|
@@ -14929,6 +15090,7 @@
|
|
14929
15090
|
default: null,
|
14930
15091
|
validator: str => ALIGN_SELF_VALUES.includes(str)
|
14931
15092
|
},
|
15093
|
+
...makeComponentProps(),
|
14932
15094
|
...makeTagProps()
|
14933
15095
|
},
|
14934
15096
|
setup(props, _ref) {
|
@@ -14959,7 +15121,8 @@
|
|
14959
15121
|
return classList;
|
14960
15122
|
});
|
14961
15123
|
return () => vue.h(props.tag, {
|
14962
|
-
class: classes.value
|
15124
|
+
class: [classes.value, props.class],
|
15125
|
+
style: props.style
|
14963
15126
|
}, slots.default?.());
|
14964
15127
|
}
|
14965
15128
|
});
|
@@ -15045,6 +15208,7 @@
|
|
15045
15208
|
validator: alignContentValidator
|
15046
15209
|
},
|
15047
15210
|
...alignContentProps,
|
15211
|
+
...makeComponentProps(),
|
15048
15212
|
...makeTagProps()
|
15049
15213
|
},
|
15050
15214
|
setup(props, _ref) {
|
@@ -15073,7 +15237,8 @@
|
|
15073
15237
|
return classList;
|
15074
15238
|
});
|
15075
15239
|
return () => vue.h(props.tag, {
|
15076
|
-
class: ['v-row', classes.value]
|
15240
|
+
class: ['v-row', classes.value, props.class],
|
15241
|
+
style: props.style
|
15077
15242
|
}, slots.default?.());
|
15078
15243
|
}
|
15079
15244
|
});
|
@@ -15117,6 +15282,7 @@
|
|
15117
15282
|
const VItemGroup = genericComponent()({
|
15118
15283
|
name: 'VItemGroup',
|
15119
15284
|
props: {
|
15285
|
+
...makeComponentProps(),
|
15120
15286
|
...makeGroupProps({
|
15121
15287
|
selectedClass: 'v-item--selected'
|
15122
15288
|
}),
|
@@ -15141,7 +15307,8 @@
|
|
15141
15307
|
selected
|
15142
15308
|
} = useGroup(props, VItemGroupSymbol);
|
15143
15309
|
return () => vue.createVNode(props.tag, {
|
15144
|
-
"class": ['v-item-group', themeClasses.value]
|
15310
|
+
"class": ['v-item-group', themeClasses.value, props.class],
|
15311
|
+
"style": props.style
|
15145
15312
|
}, {
|
15146
15313
|
default: () => [slots.default?.({
|
15147
15314
|
isSelected,
|
@@ -15191,7 +15358,10 @@
|
|
15191
15358
|
|
15192
15359
|
const VLayout = genericComponent()({
|
15193
15360
|
name: 'VLayout',
|
15194
|
-
props:
|
15361
|
+
props: {
|
15362
|
+
...makeComponentProps(),
|
15363
|
+
...makeLayoutProps()
|
15364
|
+
},
|
15195
15365
|
setup(props, _ref) {
|
15196
15366
|
let {
|
15197
15367
|
slots
|
@@ -15205,8 +15375,8 @@
|
|
15205
15375
|
} = createLayout(props);
|
15206
15376
|
useRender(() => vue.createVNode("div", {
|
15207
15377
|
"ref": layoutRef,
|
15208
|
-
"class": layoutClasses.value,
|
15209
|
-
"style": layoutStyles.value
|
15378
|
+
"class": [layoutClasses.value, props.class],
|
15379
|
+
"style": [layoutStyles.value, props.style]
|
15210
15380
|
}, [slots.default?.()]));
|
15211
15381
|
return {
|
15212
15382
|
getLayoutItem,
|
@@ -15229,6 +15399,7 @@
|
|
15229
15399
|
default: 300
|
15230
15400
|
},
|
15231
15401
|
modelValue: Boolean,
|
15402
|
+
...makeComponentProps(),
|
15232
15403
|
...makeLayoutItemProps()
|
15233
15404
|
},
|
15234
15405
|
setup(props, _ref) {
|
@@ -15247,8 +15418,8 @@
|
|
15247
15418
|
absolute: vue.toRef(props, 'absolute')
|
15248
15419
|
});
|
15249
15420
|
return () => vue.createVNode("div", {
|
15250
|
-
"class": ['v-layout-item'],
|
15251
|
-
"style": layoutItemStyles.value
|
15421
|
+
"class": ['v-layout-item', props.class],
|
15422
|
+
"style": [layoutItemStyles.value, props.style]
|
15252
15423
|
}, [slots.default?.()]);
|
15253
15424
|
}
|
15254
15425
|
});
|
@@ -15272,6 +15443,7 @@
|
|
15272
15443
|
threshold: undefined
|
15273
15444
|
})
|
15274
15445
|
},
|
15446
|
+
...makeComponentProps(),
|
15275
15447
|
...makeDimensionProps(),
|
15276
15448
|
...makeTagProps(),
|
15277
15449
|
...makeTransitionProps({
|
@@ -15294,8 +15466,8 @@
|
|
15294
15466
|
isActive.value = isIntersecting;
|
15295
15467
|
}
|
15296
15468
|
useRender(() => vue.withDirectives(vue.createVNode(props.tag, {
|
15297
|
-
"class":
|
15298
|
-
"style": dimensionStyles.value
|
15469
|
+
"class": ['v-lazy', props.class],
|
15470
|
+
"style": [dimensionStyles.value, props.style]
|
15299
15471
|
}, {
|
15300
15472
|
default: () => [isActive.value && vue.createVNode(MaybeTransition, {
|
15301
15473
|
"transition": props.transition,
|
@@ -15320,7 +15492,8 @@
|
|
15320
15492
|
rtl: {
|
15321
15493
|
type: Boolean,
|
15322
15494
|
default: undefined
|
15323
|
-
}
|
15495
|
+
},
|
15496
|
+
...makeComponentProps()
|
15324
15497
|
},
|
15325
15498
|
setup(props, _ref) {
|
15326
15499
|
let {
|
@@ -15330,7 +15503,8 @@
|
|
15330
15503
|
rtlClasses
|
15331
15504
|
} = provideLocale(props);
|
15332
15505
|
useRender(() => vue.createVNode("div", {
|
15333
|
-
"class": ['v-locale-provider', rtlClasses.value]
|
15506
|
+
"class": ['v-locale-provider', rtlClasses.value, props.class],
|
15507
|
+
"style": props.style
|
15334
15508
|
}, [slots.default?.()]));
|
15335
15509
|
return {};
|
15336
15510
|
}
|
@@ -15340,6 +15514,7 @@
|
|
15340
15514
|
name: 'VMain',
|
15341
15515
|
props: {
|
15342
15516
|
scrollable: Boolean,
|
15517
|
+
...makeComponentProps(),
|
15343
15518
|
...makeTagProps({
|
15344
15519
|
tag: 'main'
|
15345
15520
|
})
|
@@ -15357,8 +15532,8 @@
|
|
15357
15532
|
useRender(() => vue.createVNode(props.tag, {
|
15358
15533
|
"class": ['v-main', {
|
15359
15534
|
'v-main--scrollable': props.scrollable
|
15360
|
-
}],
|
15361
|
-
"style": [mainStyles.value, ssrBootStyles.value]
|
15535
|
+
}, props.class],
|
15536
|
+
"style": [mainStyles.value, ssrBootStyles.value, props.style]
|
15362
15537
|
}, {
|
15363
15538
|
default: () => [props.scrollable ? vue.createVNode("div", {
|
15364
15539
|
"class": "v-main__scroller"
|
@@ -15368,593 +15543,167 @@
|
|
15368
15543
|
}
|
15369
15544
|
});
|
15370
15545
|
|
15371
|
-
|
15372
|
-
|
15373
|
-
|
15374
|
-
|
15375
|
-
|
15376
|
-
|
15377
|
-
const
|
15378
|
-
const
|
15379
|
-
const
|
15380
|
-
|
15381
|
-
|
15546
|
+
function useSticky(_ref) {
|
15547
|
+
let {
|
15548
|
+
rootEl,
|
15549
|
+
isSticky,
|
15550
|
+
layoutItemStyles
|
15551
|
+
} = _ref;
|
15552
|
+
const isStuck = vue.ref(false);
|
15553
|
+
const stuckPosition = vue.ref(0);
|
15554
|
+
const stickyStyles = vue.computed(() => {
|
15555
|
+
const side = typeof isStuck.value === 'boolean' ? 'top' : isStuck.value;
|
15556
|
+
return [isSticky.value ? {
|
15557
|
+
top: 'auto',
|
15558
|
+
bottom: 'auto',
|
15559
|
+
height: undefined
|
15560
|
+
} : undefined, isStuck.value ? {
|
15561
|
+
[side]: convertToUnit(stuckPosition.value)
|
15562
|
+
} : {
|
15563
|
+
top: layoutItemStyles.value.top
|
15564
|
+
}];
|
15565
|
+
});
|
15566
|
+
vue.onMounted(() => {
|
15567
|
+
vue.watch(isSticky, val => {
|
15568
|
+
if (val) {
|
15569
|
+
window.addEventListener('scroll', onScroll, {
|
15570
|
+
passive: true
|
15571
|
+
});
|
15572
|
+
} else {
|
15573
|
+
window.removeEventListener('scroll', onScroll);
|
15574
|
+
}
|
15575
|
+
}, {
|
15576
|
+
immediate: true
|
15577
|
+
});
|
15578
|
+
});
|
15579
|
+
vue.onBeforeUnmount(() => {
|
15580
|
+
document.removeEventListener('scroll', onScroll);
|
15581
|
+
});
|
15582
|
+
let lastScrollTop = 0;
|
15583
|
+
function onScroll() {
|
15584
|
+
const direction = lastScrollTop > window.scrollY ? 'up' : 'down';
|
15585
|
+
const rect = rootEl.value.getBoundingClientRect();
|
15586
|
+
const layoutTop = parseFloat(layoutItemStyles.value.top ?? 0);
|
15587
|
+
const top = window.scrollY - Math.max(0, stuckPosition.value - layoutTop);
|
15588
|
+
const bottom = rect.height + Math.max(stuckPosition.value, layoutTop) - window.scrollY - window.innerHeight;
|
15589
|
+
if (rect.height < window.innerHeight - layoutTop) {
|
15590
|
+
isStuck.value = 'top';
|
15591
|
+
stuckPosition.value = layoutTop;
|
15592
|
+
} else if (direction === 'up' && isStuck.value === 'bottom' || direction === 'down' && isStuck.value === 'top') {
|
15593
|
+
stuckPosition.value = window.scrollY + rect.top;
|
15594
|
+
isStuck.value = true;
|
15595
|
+
} else if (direction === 'down' && bottom <= 0) {
|
15596
|
+
stuckPosition.value = 0;
|
15597
|
+
isStuck.value = 'bottom';
|
15598
|
+
} else if (direction === 'up' && top <= 0) {
|
15599
|
+
stuckPosition.value = rect.top + top;
|
15600
|
+
isStuck.value = 'top';
|
15601
|
+
}
|
15602
|
+
lastScrollTop = window.scrollY;
|
15382
15603
|
}
|
15383
|
-
|
15384
|
-
|
15604
|
+
return {
|
15605
|
+
isStuck,
|
15606
|
+
stickyStyles
|
15607
|
+
};
|
15608
|
+
}
|
15385
15609
|
|
15386
|
-
|
15387
|
-
|
15610
|
+
const HORIZON = 100; // ms
|
15611
|
+
const HISTORY = 20; // number of samples to keep
|
15388
15612
|
|
15389
|
-
|
15390
|
-
|
15391
|
-
|
15392
|
-
|
15613
|
+
/** @see https://android.googlesource.com/platform/frameworks/native/+/master/libs/input/VelocityTracker.cpp */
|
15614
|
+
function kineticEnergyToVelocity(work) {
|
15615
|
+
const sqrt2 = 1.41421356237;
|
15616
|
+
return (work < 0 ? -1.0 : 1.0) * Math.sqrt(Math.abs(work)) * sqrt2;
|
15617
|
+
}
|
15618
|
+
|
15619
|
+
/**
|
15620
|
+
* Returns pointer velocity in px/s
|
15621
|
+
*/
|
15622
|
+
function calculateImpulseVelocity(samples) {
|
15623
|
+
// The input should be in reversed time order (most recent sample at index i=0)
|
15624
|
+
if (samples.length < 2) {
|
15625
|
+
// if 0 or 1 points, velocity is zero
|
15626
|
+
return 0;
|
15627
|
+
}
|
15628
|
+
// if (samples[1].t > samples[0].t) {
|
15629
|
+
// // Algorithm will still work, but not perfectly
|
15630
|
+
// consoleWarn('Samples provided to calculateImpulseVelocity in the wrong order')
|
15631
|
+
// }
|
15632
|
+
if (samples.length === 2) {
|
15633
|
+
// if 2 points, basic linear calculation
|
15634
|
+
if (samples[1].t === samples[0].t) {
|
15635
|
+
// consoleWarn(`Events have identical time stamps t=${samples[0].t}, setting velocity = 0`)
|
15636
|
+
return 0;
|
15393
15637
|
}
|
15638
|
+
return (samples[1].d - samples[0].d) / (samples[1].t - samples[0].t);
|
15394
15639
|
}
|
15395
|
-
|
15396
|
-
|
15640
|
+
// Guaranteed to have at least 3 points here
|
15641
|
+
// start with the oldest sample and go forward in time
|
15642
|
+
let work = 0;
|
15643
|
+
for (let i = samples.length - 1; i > 0; i--) {
|
15644
|
+
if (samples[i].t === samples[i - 1].t) {
|
15645
|
+
// consoleWarn(`Events have identical time stamps t=${samples[i].t}, skipping sample`)
|
15646
|
+
continue;
|
15647
|
+
}
|
15648
|
+
const vprev = kineticEnergyToVelocity(work); // v[i-1]
|
15649
|
+
const vcurr = (samples[i].d - samples[i - 1].d) / (samples[i].t - samples[i - 1].t); // v[i]
|
15650
|
+
work += (vcurr - vprev) * Math.abs(vcurr);
|
15651
|
+
if (i === samples.length - 1) {
|
15652
|
+
work *= 0.5;
|
15653
|
+
}
|
15397
15654
|
}
|
15398
|
-
|
15399
|
-
return weeks;
|
15400
|
-
}
|
15401
|
-
function startOfMonth(date) {
|
15402
|
-
return new Date(date.getFullYear(), date.getMonth(), 1);
|
15403
|
-
}
|
15404
|
-
function endOfMonth(date) {
|
15405
|
-
return new Date(date.getFullYear(), date.getMonth() + 1, 0);
|
15655
|
+
return kineticEnergyToVelocity(work) * 1000;
|
15406
15656
|
}
|
15407
|
-
function
|
15408
|
-
|
15409
|
-
|
15410
|
-
|
15411
|
-
|
15412
|
-
|
15657
|
+
function useVelocity() {
|
15658
|
+
const touches = {};
|
15659
|
+
function addMovement(e) {
|
15660
|
+
Array.from(e.changedTouches).forEach(touch => {
|
15661
|
+
const samples = touches[touch.identifier] ?? (touches[touch.identifier] = new CircularBuffer(HISTORY));
|
15662
|
+
samples.push([e.timeStamp, touch]);
|
15663
|
+
});
|
15413
15664
|
}
|
15414
|
-
|
15415
|
-
|
15416
|
-
|
15417
|
-
|
15418
|
-
|
15419
|
-
|
15420
|
-
|
15421
|
-
|
15422
|
-
|
15423
|
-
|
15424
|
-
|
15425
|
-
|
15426
|
-
|
15427
|
-
|
15428
|
-
|
15429
|
-
|
15430
|
-
|
15431
|
-
|
15432
|
-
|
15433
|
-
|
15434
|
-
|
15435
|
-
|
15436
|
-
|
15437
|
-
|
15438
|
-
|
15439
|
-
|
15440
|
-
|
15441
|
-
|
15442
|
-
|
15443
|
-
|
15444
|
-
|
15445
|
-
|
15446
|
-
|
15447
|
-
|
15448
|
-
|
15449
|
-
|
15450
|
-
|
15451
|
-
|
15452
|
-
|
15453
|
-
|
15454
|
-
|
15455
|
-
|
15456
|
-
DK: 1,
|
15457
|
-
DM: 0,
|
15458
|
-
DO: 0,
|
15459
|
-
DZ: 6,
|
15460
|
-
EC: 1,
|
15461
|
-
EE: 1,
|
15462
|
-
EG: 6,
|
15463
|
-
ES: 1,
|
15464
|
-
ET: 0,
|
15465
|
-
FI: 1,
|
15466
|
-
FJ: 1,
|
15467
|
-
FO: 1,
|
15468
|
-
FR: 1,
|
15469
|
-
GB: 1,
|
15470
|
-
'GB-alt-variant': 0,
|
15471
|
-
GE: 1,
|
15472
|
-
GF: 1,
|
15473
|
-
GP: 1,
|
15474
|
-
GR: 1,
|
15475
|
-
GT: 0,
|
15476
|
-
GU: 0,
|
15477
|
-
HK: 0,
|
15478
|
-
HN: 0,
|
15479
|
-
HR: 1,
|
15480
|
-
HU: 1,
|
15481
|
-
ID: 0,
|
15482
|
-
IE: 1,
|
15483
|
-
IL: 0,
|
15484
|
-
IN: 0,
|
15485
|
-
IQ: 6,
|
15486
|
-
IR: 6,
|
15487
|
-
IS: 1,
|
15488
|
-
IT: 1,
|
15489
|
-
JM: 0,
|
15490
|
-
JO: 6,
|
15491
|
-
JP: 0,
|
15492
|
-
KE: 0,
|
15493
|
-
KG: 1,
|
15494
|
-
KH: 0,
|
15495
|
-
KR: 0,
|
15496
|
-
KW: 6,
|
15497
|
-
KZ: 1,
|
15498
|
-
LA: 0,
|
15499
|
-
LB: 1,
|
15500
|
-
LI: 1,
|
15501
|
-
LK: 1,
|
15502
|
-
LT: 1,
|
15503
|
-
LU: 1,
|
15504
|
-
LV: 1,
|
15505
|
-
LY: 6,
|
15506
|
-
MC: 1,
|
15507
|
-
MD: 1,
|
15508
|
-
ME: 1,
|
15509
|
-
MH: 0,
|
15510
|
-
MK: 1,
|
15511
|
-
MM: 0,
|
15512
|
-
MN: 1,
|
15513
|
-
MO: 0,
|
15514
|
-
MQ: 1,
|
15515
|
-
MT: 0,
|
15516
|
-
MV: 5,
|
15517
|
-
MX: 0,
|
15518
|
-
MY: 1,
|
15519
|
-
MZ: 0,
|
15520
|
-
NI: 0,
|
15521
|
-
NL: 1,
|
15522
|
-
NO: 1,
|
15523
|
-
NP: 0,
|
15524
|
-
NZ: 1,
|
15525
|
-
OM: 6,
|
15526
|
-
PA: 0,
|
15527
|
-
PE: 0,
|
15528
|
-
PH: 0,
|
15529
|
-
PK: 0,
|
15530
|
-
PL: 1,
|
15531
|
-
PR: 0,
|
15532
|
-
PT: 0,
|
15533
|
-
PY: 0,
|
15534
|
-
QA: 6,
|
15535
|
-
RE: 1,
|
15536
|
-
RO: 1,
|
15537
|
-
RS: 1,
|
15538
|
-
RU: 1,
|
15539
|
-
SA: 0,
|
15540
|
-
SD: 6,
|
15541
|
-
SE: 1,
|
15542
|
-
SG: 0,
|
15543
|
-
SI: 1,
|
15544
|
-
SK: 1,
|
15545
|
-
SM: 1,
|
15546
|
-
SV: 0,
|
15547
|
-
SY: 6,
|
15548
|
-
TH: 0,
|
15549
|
-
TJ: 1,
|
15550
|
-
TM: 1,
|
15551
|
-
TR: 1,
|
15552
|
-
TT: 0,
|
15553
|
-
TW: 0,
|
15554
|
-
UA: 1,
|
15555
|
-
UM: 0,
|
15556
|
-
US: 0,
|
15557
|
-
UY: 1,
|
15558
|
-
UZ: 1,
|
15559
|
-
VA: 1,
|
15560
|
-
VE: 0,
|
15561
|
-
VI: 0,
|
15562
|
-
VN: 1,
|
15563
|
-
WS: 0,
|
15564
|
-
XK: 1,
|
15565
|
-
YE: 0,
|
15566
|
-
ZA: 0,
|
15567
|
-
ZW: 0
|
15568
|
-
};
|
15569
|
-
const sundayJanuarySecond2000 = new Date(2000, 0, 2);
|
15570
|
-
function getWeekdays(locale) {
|
15571
|
-
const daysFromSunday = firstDay[locale.slice(-2).toUpperCase()];
|
15572
|
-
return createRange(7).map(i => {
|
15573
|
-
const weekday = new Date(sundayJanuarySecond2000);
|
15574
|
-
weekday.setDate(sundayJanuarySecond2000.getDate() + daysFromSunday + i);
|
15575
|
-
return new Intl.DateTimeFormat(locale, {
|
15576
|
-
weekday: 'long'
|
15577
|
-
}).format(weekday);
|
15578
|
-
});
|
15579
|
-
}
|
15580
|
-
function format(value, formatString, locale) {
|
15581
|
-
const date = new Date(value);
|
15582
|
-
let options = {};
|
15583
|
-
switch (formatString) {
|
15584
|
-
case 'fullDateWithWeekday':
|
15585
|
-
options = {
|
15586
|
-
weekday: 'long',
|
15587
|
-
day: 'numeric',
|
15588
|
-
month: 'long',
|
15589
|
-
year: 'numeric'
|
15590
|
-
};
|
15591
|
-
break;
|
15592
|
-
case 'normalDateWithWeekday':
|
15593
|
-
options = {
|
15594
|
-
weekday: 'short',
|
15595
|
-
day: 'numeric',
|
15596
|
-
month: 'short',
|
15597
|
-
year: 'numeric'
|
15598
|
-
};
|
15599
|
-
break;
|
15600
|
-
case 'keyboardDate':
|
15601
|
-
options = {};
|
15602
|
-
break;
|
15603
|
-
case 'monthAndDate':
|
15604
|
-
options = {
|
15605
|
-
month: 'long',
|
15606
|
-
day: 'numeric'
|
15607
|
-
};
|
15608
|
-
break;
|
15609
|
-
case 'monthAndYear':
|
15610
|
-
options = {
|
15611
|
-
month: 'long',
|
15612
|
-
year: 'numeric'
|
15613
|
-
};
|
15614
|
-
break;
|
15615
|
-
default:
|
15616
|
-
options = {
|
15617
|
-
timeZone: 'UTC',
|
15618
|
-
timeZoneName: 'short'
|
15619
|
-
};
|
15620
|
-
}
|
15621
|
-
return new Intl.DateTimeFormat(locale, options).format(date);
|
15622
|
-
}
|
15623
|
-
function addDays(date, amount) {
|
15624
|
-
const d = new Date(date);
|
15625
|
-
d.setDate(d.getDate() + amount);
|
15626
|
-
return d;
|
15627
|
-
}
|
15628
|
-
function addMonths(date, amount) {
|
15629
|
-
const d = new Date(date);
|
15630
|
-
d.setMonth(d.getMonth() + amount);
|
15631
|
-
return d;
|
15632
|
-
}
|
15633
|
-
function getYear(date) {
|
15634
|
-
return date.getFullYear();
|
15635
|
-
}
|
15636
|
-
function getMonth(date) {
|
15637
|
-
return date.getMonth();
|
15638
|
-
}
|
15639
|
-
function startOfYear(date) {
|
15640
|
-
return new Date(date.getFullYear(), 0, 1);
|
15641
|
-
}
|
15642
|
-
function endOfYear(date) {
|
15643
|
-
return new Date(date.getFullYear(), 11, 31);
|
15644
|
-
}
|
15645
|
-
function getMondayOfFirstWeekOfYear(year) {
|
15646
|
-
return new Date(year, 0, 1);
|
15647
|
-
}
|
15648
|
-
|
15649
|
-
// https://stackoverflow.com/questions/274861/how-do-i-calculate-the-week-number-given-a-date/275024#275024
|
15650
|
-
function getWeek(date) {
|
15651
|
-
let year = date.getFullYear();
|
15652
|
-
let d1w1 = getMondayOfFirstWeekOfYear(year);
|
15653
|
-
if (date < d1w1) {
|
15654
|
-
year = year - 1;
|
15655
|
-
d1w1 = getMondayOfFirstWeekOfYear(year);
|
15656
|
-
} else {
|
15657
|
-
const tv = getMondayOfFirstWeekOfYear(year + 1);
|
15658
|
-
if (date >= tv) {
|
15659
|
-
year = year + 1;
|
15660
|
-
d1w1 = tv;
|
15661
|
-
}
|
15662
|
-
}
|
15663
|
-
const diffTime = Math.abs(date.getTime() - d1w1.getTime());
|
15664
|
-
const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24));
|
15665
|
-
return Math.floor(diffDays / 7) + 1;
|
15666
|
-
}
|
15667
|
-
function isWithinRange(date, range) {
|
15668
|
-
return isAfter(date, range[0]) && isBefore(date, range[1]);
|
15669
|
-
}
|
15670
|
-
function isValid(date) {
|
15671
|
-
const d = new Date(date);
|
15672
|
-
return d instanceof Date && !isNaN(d.getTime());
|
15673
|
-
}
|
15674
|
-
function isAfter(date, comparing) {
|
15675
|
-
return date.getTime() > comparing.getTime();
|
15676
|
-
}
|
15677
|
-
function isBefore(date, comparing) {
|
15678
|
-
return date.getTime() < comparing.getTime();
|
15679
|
-
}
|
15680
|
-
function isEqual(date, comparing) {
|
15681
|
-
return date.getTime() === comparing.getTime();
|
15682
|
-
}
|
15683
|
-
function isSameDay(date, comparing) {
|
15684
|
-
return date.getDate() === comparing.getDate() && date.getMonth() === comparing.getMonth() && date.getFullYear() === comparing.getFullYear();
|
15685
|
-
}
|
15686
|
-
function isSameMonth(date, comparing) {
|
15687
|
-
return date.getMonth() === comparing.getMonth() && date.getFullYear() === comparing.getFullYear();
|
15688
|
-
}
|
15689
|
-
function getDiff(date, comparing, unit) {
|
15690
|
-
const d = new Date(date);
|
15691
|
-
const c = new Date(comparing);
|
15692
|
-
if (unit === 'month') {
|
15693
|
-
return d.getMonth() - c.getMonth() + (d.getFullYear() - c.getFullYear()) * 12;
|
15694
|
-
}
|
15695
|
-
return Math.floor((d.getTime() - c.getTime()) / (1000 * 60 * 60 * 24));
|
15696
|
-
}
|
15697
|
-
function setYear(date, year) {
|
15698
|
-
const d = new Date(date);
|
15699
|
-
d.setFullYear(year);
|
15700
|
-
return d;
|
15701
|
-
}
|
15702
|
-
class VuetifyDateAdapter {
|
15703
|
-
constructor() {
|
15704
|
-
let locale = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'en';
|
15705
|
-
this.locale = locale;
|
15706
|
-
}
|
15707
|
-
date(value) {
|
15708
|
-
return date(value);
|
15709
|
-
}
|
15710
|
-
addDays(date, amount) {
|
15711
|
-
return addDays(date, amount);
|
15712
|
-
}
|
15713
|
-
addMonths(date, amount) {
|
15714
|
-
return addMonths(date, amount);
|
15715
|
-
}
|
15716
|
-
getWeekArray(date) {
|
15717
|
-
return getWeekArray(date);
|
15718
|
-
}
|
15719
|
-
startOfMonth(date) {
|
15720
|
-
return startOfMonth(date);
|
15721
|
-
}
|
15722
|
-
endOfMonth(date) {
|
15723
|
-
return endOfMonth(date);
|
15724
|
-
}
|
15725
|
-
format(date, formatString) {
|
15726
|
-
return format(date, formatString, this.locale);
|
15727
|
-
}
|
15728
|
-
isEqual(date, comparing) {
|
15729
|
-
return isEqual(date, comparing);
|
15730
|
-
}
|
15731
|
-
isValid(date) {
|
15732
|
-
return isValid(date);
|
15733
|
-
}
|
15734
|
-
isWithinRange(date, range) {
|
15735
|
-
return isWithinRange(date, range);
|
15736
|
-
}
|
15737
|
-
isAfter(date, comparing) {
|
15738
|
-
return isAfter(date, comparing);
|
15739
|
-
}
|
15740
|
-
isSameDay(date, comparing) {
|
15741
|
-
return isSameDay(date, comparing);
|
15742
|
-
}
|
15743
|
-
isSameMonth(date, comparing) {
|
15744
|
-
return isSameMonth(date, comparing);
|
15745
|
-
}
|
15746
|
-
setYear(date, year) {
|
15747
|
-
return setYear(date, year);
|
15748
|
-
}
|
15749
|
-
getDiff(date, comparing, unit) {
|
15750
|
-
return getDiff(date, comparing, unit);
|
15751
|
-
}
|
15752
|
-
getWeek(date) {
|
15753
|
-
return getWeek(date);
|
15754
|
-
}
|
15755
|
-
getWeekdays() {
|
15756
|
-
return getWeekdays(this.locale);
|
15757
|
-
}
|
15758
|
-
getYear(date) {
|
15759
|
-
return getYear(date);
|
15760
|
-
}
|
15761
|
-
getMonth(date) {
|
15762
|
-
return getMonth(date);
|
15763
|
-
}
|
15764
|
-
startOfYear(date) {
|
15765
|
-
return startOfYear(date);
|
15766
|
-
}
|
15767
|
-
endOfYear(date) {
|
15768
|
-
return endOfYear(date);
|
15769
|
-
}
|
15770
|
-
}
|
15771
|
-
|
15772
|
-
// Composables
|
15773
|
-
|
15774
|
-
// Types
|
15775
|
-
|
15776
|
-
const DateAdapterSymbol = Symbol.for('vuetify:date-adapter');
|
15777
|
-
function createDate(options) {
|
15778
|
-
return options ?? {
|
15779
|
-
adapter: VuetifyDateAdapter
|
15780
|
-
};
|
15781
|
-
}
|
15782
|
-
function useDate(props) {
|
15783
|
-
const date = vue.inject(DateAdapterSymbol);
|
15784
|
-
const locale = useLocale();
|
15785
|
-
if (!date) throw new Error('[Vuetify] Could not find injected date');
|
15786
|
-
|
15787
|
-
// eslint-disable-next-line new-cap
|
15788
|
-
const instance = new date.adapter(locale.current.value);
|
15789
|
-
vue.watch(locale.current, val => {
|
15790
|
-
instance.locale = val;
|
15791
|
-
}, {
|
15792
|
-
immediate: true
|
15793
|
-
});
|
15794
|
-
return instance;
|
15795
|
-
}
|
15796
|
-
|
15797
|
-
function useSticky(_ref) {
|
15798
|
-
let {
|
15799
|
-
rootEl,
|
15800
|
-
isSticky,
|
15801
|
-
layoutItemStyles
|
15802
|
-
} = _ref;
|
15803
|
-
const isStuck = vue.ref(false);
|
15804
|
-
const stuckPosition = vue.ref(0);
|
15805
|
-
const stickyStyles = vue.computed(() => {
|
15806
|
-
const side = typeof isStuck.value === 'boolean' ? 'top' : isStuck.value;
|
15807
|
-
return [isSticky.value ? {
|
15808
|
-
top: 'auto',
|
15809
|
-
bottom: 'auto',
|
15810
|
-
height: undefined
|
15811
|
-
} : undefined, isStuck.value ? {
|
15812
|
-
[side]: convertToUnit(stuckPosition.value)
|
15813
|
-
} : {
|
15814
|
-
top: layoutItemStyles.value.top
|
15815
|
-
}];
|
15816
|
-
});
|
15817
|
-
vue.onMounted(() => {
|
15818
|
-
vue.watch(isSticky, val => {
|
15819
|
-
if (val) {
|
15820
|
-
window.addEventListener('scroll', onScroll, {
|
15821
|
-
passive: true
|
15822
|
-
});
|
15823
|
-
} else {
|
15824
|
-
window.removeEventListener('scroll', onScroll);
|
15825
|
-
}
|
15826
|
-
}, {
|
15827
|
-
immediate: true
|
15828
|
-
});
|
15829
|
-
});
|
15830
|
-
vue.onBeforeUnmount(() => {
|
15831
|
-
document.removeEventListener('scroll', onScroll);
|
15832
|
-
});
|
15833
|
-
let lastScrollTop = 0;
|
15834
|
-
function onScroll() {
|
15835
|
-
const direction = lastScrollTop > window.scrollY ? 'up' : 'down';
|
15836
|
-
const rect = rootEl.value.getBoundingClientRect();
|
15837
|
-
const layoutTop = parseFloat(layoutItemStyles.value.top ?? 0);
|
15838
|
-
const top = window.scrollY - Math.max(0, stuckPosition.value - layoutTop);
|
15839
|
-
const bottom = rect.height + Math.max(stuckPosition.value, layoutTop) - window.scrollY - window.innerHeight;
|
15840
|
-
if (rect.height < window.innerHeight - layoutTop) {
|
15841
|
-
isStuck.value = 'top';
|
15842
|
-
stuckPosition.value = layoutTop;
|
15843
|
-
} else if (direction === 'up' && isStuck.value === 'bottom' || direction === 'down' && isStuck.value === 'top') {
|
15844
|
-
stuckPosition.value = window.scrollY + rect.top;
|
15845
|
-
isStuck.value = true;
|
15846
|
-
} else if (direction === 'down' && bottom <= 0) {
|
15847
|
-
stuckPosition.value = 0;
|
15848
|
-
isStuck.value = 'bottom';
|
15849
|
-
} else if (direction === 'up' && top <= 0) {
|
15850
|
-
stuckPosition.value = rect.top + top;
|
15851
|
-
isStuck.value = 'top';
|
15852
|
-
}
|
15853
|
-
lastScrollTop = window.scrollY;
|
15854
|
-
}
|
15855
|
-
return {
|
15856
|
-
isStuck,
|
15857
|
-
stickyStyles
|
15858
|
-
};
|
15859
|
-
}
|
15860
|
-
|
15861
|
-
const HORIZON = 100; // ms
|
15862
|
-
const HISTORY = 20; // number of samples to keep
|
15863
|
-
|
15864
|
-
/** @see https://android.googlesource.com/platform/frameworks/native/+/master/libs/input/VelocityTracker.cpp */
|
15865
|
-
function kineticEnergyToVelocity(work) {
|
15866
|
-
const sqrt2 = 1.41421356237;
|
15867
|
-
return (work < 0 ? -1.0 : 1.0) * Math.sqrt(Math.abs(work)) * sqrt2;
|
15868
|
-
}
|
15869
|
-
|
15870
|
-
/**
|
15871
|
-
* Returns pointer velocity in px/s
|
15872
|
-
*/
|
15873
|
-
function calculateImpulseVelocity(samples) {
|
15874
|
-
// The input should be in reversed time order (most recent sample at index i=0)
|
15875
|
-
if (samples.length < 2) {
|
15876
|
-
// if 0 or 1 points, velocity is zero
|
15877
|
-
return 0;
|
15878
|
-
}
|
15879
|
-
// if (samples[1].t > samples[0].t) {
|
15880
|
-
// // Algorithm will still work, but not perfectly
|
15881
|
-
// consoleWarn('Samples provided to calculateImpulseVelocity in the wrong order')
|
15882
|
-
// }
|
15883
|
-
if (samples.length === 2) {
|
15884
|
-
// if 2 points, basic linear calculation
|
15885
|
-
if (samples[1].t === samples[0].t) {
|
15886
|
-
// consoleWarn(`Events have identical time stamps t=${samples[0].t}, setting velocity = 0`)
|
15887
|
-
return 0;
|
15888
|
-
}
|
15889
|
-
return (samples[1].d - samples[0].d) / (samples[1].t - samples[0].t);
|
15890
|
-
}
|
15891
|
-
// Guaranteed to have at least 3 points here
|
15892
|
-
// start with the oldest sample and go forward in time
|
15893
|
-
let work = 0;
|
15894
|
-
for (let i = samples.length - 1; i > 0; i--) {
|
15895
|
-
if (samples[i].t === samples[i - 1].t) {
|
15896
|
-
// consoleWarn(`Events have identical time stamps t=${samples[i].t}, skipping sample`)
|
15897
|
-
continue;
|
15898
|
-
}
|
15899
|
-
const vprev = kineticEnergyToVelocity(work); // v[i-1]
|
15900
|
-
const vcurr = (samples[i].d - samples[i - 1].d) / (samples[i].t - samples[i - 1].t); // v[i]
|
15901
|
-
work += (vcurr - vprev) * Math.abs(vcurr);
|
15902
|
-
if (i === samples.length - 1) {
|
15903
|
-
work *= 0.5;
|
15904
|
-
}
|
15905
|
-
}
|
15906
|
-
return kineticEnergyToVelocity(work) * 1000;
|
15907
|
-
}
|
15908
|
-
function useVelocity() {
|
15909
|
-
const touches = {};
|
15910
|
-
function addMovement(e) {
|
15911
|
-
Array.from(e.changedTouches).forEach(touch => {
|
15912
|
-
const samples = touches[touch.identifier] ?? (touches[touch.identifier] = new CircularBuffer(HISTORY));
|
15913
|
-
samples.push([e.timeStamp, touch]);
|
15914
|
-
});
|
15915
|
-
}
|
15916
|
-
function endTouch(e) {
|
15917
|
-
Array.from(e.changedTouches).forEach(touch => {
|
15918
|
-
delete touches[touch.identifier];
|
15919
|
-
});
|
15920
|
-
}
|
15921
|
-
function getVelocity(id) {
|
15922
|
-
const samples = touches[id]?.values().reverse();
|
15923
|
-
if (!samples) {
|
15924
|
-
throw new Error(`No samples for touch id ${id}`);
|
15925
|
-
}
|
15926
|
-
const newest = samples[0];
|
15927
|
-
const x = [];
|
15928
|
-
const y = [];
|
15929
|
-
for (const val of samples) {
|
15930
|
-
if (newest[0] - val[0] > HORIZON) break;
|
15931
|
-
x.push({
|
15932
|
-
t: val[0],
|
15933
|
-
d: val[1].clientX
|
15934
|
-
});
|
15935
|
-
y.push({
|
15936
|
-
t: val[0],
|
15937
|
-
d: val[1].clientY
|
15938
|
-
});
|
15939
|
-
}
|
15940
|
-
return {
|
15941
|
-
x: calculateImpulseVelocity(x),
|
15942
|
-
y: calculateImpulseVelocity(y),
|
15943
|
-
get direction() {
|
15944
|
-
const {
|
15945
|
-
x,
|
15946
|
-
y
|
15947
|
-
} = this;
|
15948
|
-
const [absX, absY] = [Math.abs(x), Math.abs(y)];
|
15949
|
-
return absX > absY && x >= 0 ? 'right' : absX > absY && x <= 0 ? 'left' : absY > absX && y >= 0 ? 'down' : absY > absX && y <= 0 ? 'up' : oops$1();
|
15950
|
-
}
|
15951
|
-
};
|
15952
|
-
}
|
15953
|
-
return {
|
15954
|
-
addMovement,
|
15955
|
-
endTouch,
|
15956
|
-
getVelocity
|
15957
|
-
};
|
15665
|
+
function endTouch(e) {
|
15666
|
+
Array.from(e.changedTouches).forEach(touch => {
|
15667
|
+
delete touches[touch.identifier];
|
15668
|
+
});
|
15669
|
+
}
|
15670
|
+
function getVelocity(id) {
|
15671
|
+
const samples = touches[id]?.values().reverse();
|
15672
|
+
if (!samples) {
|
15673
|
+
throw new Error(`No samples for touch id ${id}`);
|
15674
|
+
}
|
15675
|
+
const newest = samples[0];
|
15676
|
+
const x = [];
|
15677
|
+
const y = [];
|
15678
|
+
for (const val of samples) {
|
15679
|
+
if (newest[0] - val[0] > HORIZON) break;
|
15680
|
+
x.push({
|
15681
|
+
t: val[0],
|
15682
|
+
d: val[1].clientX
|
15683
|
+
});
|
15684
|
+
y.push({
|
15685
|
+
t: val[0],
|
15686
|
+
d: val[1].clientY
|
15687
|
+
});
|
15688
|
+
}
|
15689
|
+
return {
|
15690
|
+
x: calculateImpulseVelocity(x),
|
15691
|
+
y: calculateImpulseVelocity(y),
|
15692
|
+
get direction() {
|
15693
|
+
const {
|
15694
|
+
x,
|
15695
|
+
y
|
15696
|
+
} = this;
|
15697
|
+
const [absX, absY] = [Math.abs(x), Math.abs(y)];
|
15698
|
+
return absX > absY && x >= 0 ? 'right' : absX > absY && x <= 0 ? 'left' : absY > absX && y >= 0 ? 'down' : absY > absX && y <= 0 ? 'up' : oops$1();
|
15699
|
+
}
|
15700
|
+
};
|
15701
|
+
}
|
15702
|
+
return {
|
15703
|
+
addMovement,
|
15704
|
+
endTouch,
|
15705
|
+
getVelocity
|
15706
|
+
};
|
15958
15707
|
}
|
15959
15708
|
function oops$1() {
|
15960
15709
|
throw new Error();
|
@@ -16130,6 +15879,7 @@
|
|
16130
15879
|
},
|
16131
15880
|
sticky: Boolean,
|
16132
15881
|
...makeBorderProps(),
|
15882
|
+
...makeComponentProps(),
|
16133
15883
|
...makeElevationProps(),
|
16134
15884
|
...makeLayoutItemProps(),
|
16135
15885
|
...makeRoundedProps(),
|
@@ -16281,8 +16031,8 @@
|
|
16281
16031
|
'v-navigation-drawer--temporary': isTemporary.value,
|
16282
16032
|
'v-navigation-drawer--active': isActive.value,
|
16283
16033
|
'v-navigation-drawer--sticky': isSticky.value
|
16284
|
-
}, themeClasses.value, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, roundedClasses.value],
|
16285
|
-
"style": [backgroundColorStyles.value, layoutItemStyles.value, dragStyles.value, ssrBootStyles.value, stickyStyles.value]
|
16034
|
+
}, themeClasses.value, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, roundedClasses.value, props.class],
|
16035
|
+
"style": [backgroundColorStyles.value, layoutItemStyles.value, dragStyles.value, ssrBootStyles.value, stickyStyles.value, props.style]
|
16286
16036
|
}, attrs), {
|
16287
16037
|
default: () => [hasImage && vue.createVNode("div", {
|
16288
16038
|
"key": "image",
|
@@ -16411,6 +16161,7 @@
|
|
16411
16161
|
},
|
16412
16162
|
showFirstLastPage: Boolean,
|
16413
16163
|
...makeBorderProps(),
|
16164
|
+
...makeComponentProps(),
|
16414
16165
|
...makeDensityProps(),
|
16415
16166
|
...makeElevationProps(),
|
16416
16167
|
...makeRoundedProps(),
|
@@ -16607,7 +16358,8 @@
|
|
16607
16358
|
}
|
16608
16359
|
useRender(() => vue.createVNode(props.tag, {
|
16609
16360
|
"ref": resizeRef,
|
16610
|
-
"class": ['v-pagination', themeClasses.value],
|
16361
|
+
"class": ['v-pagination', themeClasses.value, props.class],
|
16362
|
+
"style": props.style,
|
16611
16363
|
"role": "navigation",
|
16612
16364
|
"aria-label": t(props.ariaLabel),
|
16613
16365
|
"onKeydown": onKeydown,
|
@@ -16666,7 +16418,8 @@
|
|
16666
16418
|
scale: {
|
16667
16419
|
type: [Number, String],
|
16668
16420
|
default: 0.5
|
16669
|
-
}
|
16421
|
+
},
|
16422
|
+
...makeComponentProps()
|
16670
16423
|
},
|
16671
16424
|
setup(props, _ref) {
|
16672
16425
|
let {
|
@@ -16728,7 +16481,8 @@
|
|
16728
16481
|
useRender(() => vue.createVNode(VImg, {
|
16729
16482
|
"class": ['v-parallax', {
|
16730
16483
|
'v-parallax--active': isIntersecting.value
|
16731
|
-
}],
|
16484
|
+
}, props.class],
|
16485
|
+
"style": props.style,
|
16732
16486
|
"ref": root,
|
16733
16487
|
"cover": true,
|
16734
16488
|
"onLoadstart": onScroll,
|
@@ -16753,7 +16507,8 @@
|
|
16753
16507
|
slots
|
16754
16508
|
} = _ref;
|
16755
16509
|
useRender(() => vue.createVNode(VSelectionControl, vue.mergeProps(props, {
|
16756
|
-
"class":
|
16510
|
+
"class": ['v-radio', props.class],
|
16511
|
+
"style": props.style,
|
16757
16512
|
"type": "radio"
|
16758
16513
|
}), slots));
|
16759
16514
|
return {};
|
@@ -16807,7 +16562,8 @@
|
|
16807
16562
|
}
|
16808
16563
|
}) : props.label;
|
16809
16564
|
return vue.createVNode(VInput, vue.mergeProps({
|
16810
|
-
"class":
|
16565
|
+
"class": ['v-radio-group', props.class],
|
16566
|
+
"style": props.style
|
16811
16567
|
}, inputAttrs, inputProps, {
|
16812
16568
|
"modelValue": model.value,
|
16813
16569
|
"onUpdate:modelValue": $event => model.value = $event,
|
@@ -16945,7 +16701,8 @@
|
|
16945
16701
|
'v-slider--focused': isFocused.value,
|
16946
16702
|
'v-slider--pressed': mousePressed.value,
|
16947
16703
|
'v-slider--disabled': props.disabled
|
16948
|
-
}],
|
16704
|
+
}, props.class],
|
16705
|
+
"style": props.style,
|
16949
16706
|
"ref": inputRef
|
16950
16707
|
}, inputProps, {
|
16951
16708
|
"focused": isFocused.value
|
@@ -17088,6 +16845,7 @@
|
|
17088
16845
|
validator: v => ['top', 'bottom'].includes(v)
|
17089
16846
|
},
|
17090
16847
|
ripple: Boolean,
|
16848
|
+
...makeComponentProps(),
|
17091
16849
|
...makeDensityProps(),
|
17092
16850
|
...makeSizeProps(),
|
17093
16851
|
...makeTagProps(),
|
@@ -17205,7 +16963,8 @@
|
|
17205
16963
|
"class": ['v-rating', {
|
17206
16964
|
'v-rating--hover': props.hover,
|
17207
16965
|
'v-rating--readonly': props.readonly
|
17208
|
-
}, themeClasses.value]
|
16966
|
+
}, themeClasses.value, props.class],
|
16967
|
+
"style": props.style
|
17209
16968
|
}, {
|
17210
16969
|
default: () => [vue.createVNode(VRatingItem, {
|
17211
16970
|
"value": 0,
|
@@ -17305,6 +17064,7 @@
|
|
17305
17064
|
type: [Boolean, String],
|
17306
17065
|
validator: v => typeof v === 'boolean' || ['always', 'desktop', 'mobile'].includes(v)
|
17307
17066
|
},
|
17067
|
+
...makeComponentProps(),
|
17308
17068
|
...makeTagProps(),
|
17309
17069
|
...makeGroupProps({
|
17310
17070
|
selectedClass: 'v-slide-group-item--active'
|
@@ -17468,7 +17228,7 @@
|
|
17468
17228
|
function focus(location) {
|
17469
17229
|
if (!contentRef.value) return;
|
17470
17230
|
if (!location) {
|
17471
|
-
const focusable =
|
17231
|
+
const focusable = focusableChildren(contentRef.value);
|
17472
17232
|
focusable[0]?.focus();
|
17473
17233
|
} else if (location === 'next') {
|
17474
17234
|
const el = contentRef.value.querySelector(':focus')?.nextElementSibling;
|
@@ -17545,7 +17305,8 @@
|
|
17545
17305
|
'v-slide-group--vertical': !isHorizontal.value,
|
17546
17306
|
'v-slide-group--has-affixes': hasAffixes.value,
|
17547
17307
|
'v-slide-group--is-overflowing': isOverflowing.value
|
17548
|
-
}],
|
17308
|
+
}, props.class],
|
17309
|
+
"style": props.style,
|
17549
17310
|
"tabindex": isFocused.value || group.selected.value.length ? -1 : 0,
|
17550
17311
|
"onFocus": onFocus
|
17551
17312
|
}, {
|
@@ -17695,7 +17456,8 @@
|
|
17695
17456
|
'v-snackbar--active': isActive.value,
|
17696
17457
|
'v-snackbar--multi-line': props.multiLine && !props.vertical,
|
17697
17458
|
'v-snackbar--vertical': props.vertical
|
17698
|
-
}, positionClasses.value]
|
17459
|
+
}, positionClasses.value, props.class],
|
17460
|
+
"style": props.style
|
17699
17461
|
}, overlayProps, {
|
17700
17462
|
"modelValue": isActive.value,
|
17701
17463
|
"onUpdate:modelValue": $event => isActive.value = $event,
|
@@ -17795,7 +17557,8 @@
|
|
17795
17557
|
'v-switch--inset': props.inset
|
17796
17558
|
}, {
|
17797
17559
|
'v-switch--indeterminate': indeterminate.value
|
17798
|
-
}, loaderClasses.value]
|
17560
|
+
}, loaderClasses.value, props.class],
|
17561
|
+
"style": props.style
|
17799
17562
|
}, inputAttrs, inputProps, {
|
17800
17563
|
"id": id.value,
|
17801
17564
|
"focused": isFocused.value
|
@@ -17864,6 +17627,7 @@
|
|
17864
17627
|
color: String,
|
17865
17628
|
height: [Number, String],
|
17866
17629
|
window: Boolean,
|
17630
|
+
...makeComponentProps(),
|
17867
17631
|
...makeElevationProps(),
|
17868
17632
|
...makeLayoutItemProps(),
|
17869
17633
|
...makeRoundedProps(),
|
@@ -17905,8 +17669,8 @@
|
|
17905
17669
|
useRender(() => vue.createVNode(props.tag, {
|
17906
17670
|
"class": ['v-system-bar', {
|
17907
17671
|
'v-system-bar--window': props.window
|
17908
|
-
}, themeClasses.value, backgroundColorClasses.value, elevationClasses.value, roundedClasses.value],
|
17909
|
-
"style": [backgroundColorStyles.value, layoutItemStyles.value, ssrBootStyles.value]
|
17672
|
+
}, themeClasses.value, backgroundColorClasses.value, elevationClasses.value, roundedClasses.value, props.class],
|
17673
|
+
"style": [backgroundColorStyles.value, layoutItemStyles.value, ssrBootStyles.value, props.style]
|
17910
17674
|
}, slots));
|
17911
17675
|
return {};
|
17912
17676
|
}
|
@@ -17979,10 +17743,10 @@
|
|
17979
17743
|
useRender(() => {
|
17980
17744
|
const [btnProps] = VBtn.filterProps(props);
|
17981
17745
|
return vue.createVNode(VBtn, vue.mergeProps({
|
17982
|
-
"_as": "VTab",
|
17983
17746
|
"symbol": VTabsSymbol,
|
17984
17747
|
"ref": rootEl,
|
17985
|
-
"class": ['v-tab'],
|
17748
|
+
"class": ['v-tab', props.class],
|
17749
|
+
"style": props.style,
|
17986
17750
|
"tabindex": isSelected.value ? 0 : -1,
|
17987
17751
|
"role": "tab",
|
17988
17752
|
"aria-selected": String(isSelected.value),
|
@@ -18077,10 +17841,10 @@
|
|
18077
17841
|
'v-tabs--fixed-tabs': props.fixedTabs,
|
18078
17842
|
'v-tabs--grow': props.grow,
|
18079
17843
|
'v-tabs--stacked': props.stacked
|
18080
|
-
}, densityClasses.value, backgroundColorClasses.value],
|
17844
|
+
}, densityClasses.value, backgroundColorClasses.value, props.class],
|
18081
17845
|
"style": [{
|
18082
17846
|
'--v-tabs-height': convertToUnit(props.height)
|
18083
|
-
}, backgroundColorStyles.value],
|
17847
|
+
}, backgroundColorStyles.value, props.style],
|
18084
17848
|
"role": "tablist",
|
18085
17849
|
"symbol": VTabsSymbol
|
18086
17850
|
}), {
|
@@ -18100,6 +17864,7 @@
|
|
18100
17864
|
fixedFooter: Boolean,
|
18101
17865
|
height: [Number, String],
|
18102
17866
|
hover: Boolean,
|
17867
|
+
...makeComponentProps(),
|
18103
17868
|
...makeDensityProps(),
|
18104
17869
|
...makeTagProps(),
|
18105
17870
|
...makeThemeProps()
|
@@ -18122,7 +17887,8 @@
|
|
18122
17887
|
'v-table--has-top': !!slots.top,
|
18123
17888
|
'v-table--has-bottom': !!slots.bottom,
|
18124
17889
|
'v-table--hover': props.hover
|
18125
|
-
}, themeClasses.value, densityClasses.value]
|
17890
|
+
}, themeClasses.value, densityClasses.value, props.class],
|
17891
|
+
"style": props.style
|
18126
17892
|
}, {
|
18127
17893
|
default: () => [slots.top?.(), slots.default ? vue.createVNode("div", {
|
18128
17894
|
"class": "v-table__wrapper",
|
@@ -18287,7 +18053,8 @@
|
|
18287
18053
|
'v-textarea--auto-grow': props.autoGrow,
|
18288
18054
|
'v-textarea--no-resize': props.noResize || props.autoGrow,
|
18289
18055
|
'v-text-field--flush-details': ['plain', 'underlined'].includes(props.variant)
|
18290
|
-
}]
|
18056
|
+
}, props.class],
|
18057
|
+
"style": props.style
|
18291
18058
|
}, rootAttrs, inputProps, {
|
18292
18059
|
"focused": isFocused.value
|
18293
18060
|
}), {
|
@@ -18371,6 +18138,7 @@
|
|
18371
18138
|
name: 'VThemeProvider',
|
18372
18139
|
props: {
|
18373
18140
|
withBackground: Boolean,
|
18141
|
+
...makeComponentProps(),
|
18374
18142
|
...makeThemeProps(),
|
18375
18143
|
...makeTagProps()
|
18376
18144
|
},
|
@@ -18384,7 +18152,8 @@
|
|
18384
18152
|
return () => {
|
18385
18153
|
if (!props.withBackground) return slots.default?.();
|
18386
18154
|
return vue.createVNode(props.tag, {
|
18387
|
-
"class": ['v-theme-provider', themeClasses.value]
|
18155
|
+
"class": ['v-theme-provider', themeClasses.value, props.class],
|
18156
|
+
"style": props.style
|
18388
18157
|
}, {
|
18389
18158
|
default: () => [slots.default?.()]
|
18390
18159
|
});
|
@@ -18429,6 +18198,7 @@
|
|
18429
18198
|
type: String,
|
18430
18199
|
validator: v => ['start', 'end', 'both'].includes(v)
|
18431
18200
|
},
|
18201
|
+
...makeComponentProps(),
|
18432
18202
|
...makeDensityProps(),
|
18433
18203
|
...makeTagProps(),
|
18434
18204
|
...makeThemeProps()
|
@@ -18472,10 +18242,10 @@
|
|
18472
18242
|
useRender(() => vue.createVNode(props.tag, {
|
18473
18243
|
"class": ['v-timeline', `v-timeline--${props.direction}`, `v-timeline--align-${props.align}`, `v-timeline--justify-${props.justify}`, truncateClasses.value, {
|
18474
18244
|
'v-timeline--inset-line': !!props.lineInset
|
18475
|
-
}, themeClasses.value, densityClasses.value, sideClasses.value],
|
18476
|
-
"style": {
|
18245
|
+
}, themeClasses.value, densityClasses.value, sideClasses.value, props.class],
|
18246
|
+
"style": [{
|
18477
18247
|
'--v-timeline-line-thickness': convertToUnit(props.lineThickness)
|
18478
|
-
}
|
18248
|
+
}, props.style]
|
18479
18249
|
}, slots));
|
18480
18250
|
return {};
|
18481
18251
|
}
|
@@ -18490,6 +18260,7 @@
|
|
18490
18260
|
icon: IconValue,
|
18491
18261
|
iconColor: String,
|
18492
18262
|
lineColor: String,
|
18263
|
+
...makeComponentProps(),
|
18493
18264
|
...makeRoundedProps(),
|
18494
18265
|
...makeSizeProps(),
|
18495
18266
|
...makeElevationProps()
|
@@ -18519,7 +18290,8 @@
|
|
18519
18290
|
useRender(() => vue.createVNode("div", {
|
18520
18291
|
"class": ['v-timeline-divider', {
|
18521
18292
|
'v-timeline-divider--fill-dot': props.fillDot
|
18522
|
-
}]
|
18293
|
+
}, props.class],
|
18294
|
+
"style": props.style
|
18523
18295
|
}, [vue.createVNode("div", {
|
18524
18296
|
"class": ['v-timeline-divider__before', lineColorClasses.value],
|
18525
18297
|
"style": lineColorStyles.value
|
@@ -18569,11 +18341,12 @@
|
|
18569
18341
|
icon: IconValue,
|
18570
18342
|
iconColor: String,
|
18571
18343
|
lineInset: [Number, String],
|
18572
|
-
...
|
18344
|
+
...makeComponentProps(),
|
18345
|
+
...makeDimensionProps(),
|
18573
18346
|
...makeElevationProps(),
|
18347
|
+
...makeRoundedProps(),
|
18574
18348
|
...makeSizeProps(),
|
18575
|
-
...makeTagProps()
|
18576
|
-
...makeDimensionProps()
|
18349
|
+
...makeTagProps()
|
18577
18350
|
},
|
18578
18351
|
setup(props, _ref) {
|
18579
18352
|
let {
|
@@ -18593,11 +18366,11 @@
|
|
18593
18366
|
useRender(() => vue.createVNode("div", {
|
18594
18367
|
"class": ['v-timeline-item', {
|
18595
18368
|
'v-timeline-item--fill-dot': props.fillDot
|
18596
|
-
}],
|
18597
|
-
"style": {
|
18369
|
+
}, props.class],
|
18370
|
+
"style": [{
|
18598
18371
|
'--v-timeline-dot-size': convertToUnit(dotSize.value),
|
18599
18372
|
'--v-timeline-line-inset': props.lineInset ? `calc(var(--v-timeline-dot-size) / 2 + ${convertToUnit(props.lineInset)})` : convertToUnit(0)
|
18600
|
-
}
|
18373
|
+
}, props.style]
|
18601
18374
|
}, [vue.createVNode("div", {
|
18602
18375
|
"class": "v-timeline-item__body",
|
18603
18376
|
"style": dimensionStyles.value
|
@@ -18673,7 +18446,8 @@
|
|
18673
18446
|
const [overlayProps] = VOverlay.filterProps(props);
|
18674
18447
|
return vue.createVNode(VOverlay, vue.mergeProps({
|
18675
18448
|
"ref": overlay,
|
18676
|
-
"class": ['v-tooltip'],
|
18449
|
+
"class": ['v-tooltip', props.class],
|
18450
|
+
"style": props.style,
|
18677
18451
|
"id": id.value
|
18678
18452
|
}, overlayProps, {
|
18679
18453
|
"modelValue": isActive.value,
|
@@ -18721,7 +18495,8 @@
|
|
18721
18495
|
const VVirtualScrollItem = genericComponent()({
|
18722
18496
|
name: 'VVirtualScrollItem',
|
18723
18497
|
props: {
|
18724
|
-
dynamicHeight: Boolean
|
18498
|
+
dynamicHeight: Boolean,
|
18499
|
+
...makeComponentProps()
|
18725
18500
|
},
|
18726
18501
|
emits: {
|
18727
18502
|
'update:height': height => true
|
@@ -18748,7 +18523,8 @@
|
|
18748
18523
|
vue.onUpdated(updateHeight);
|
18749
18524
|
useRender(() => vue.createVNode("div", {
|
18750
18525
|
"ref": props.dynamicHeight ? resizeRef : undefined,
|
18751
|
-
"class":
|
18526
|
+
"class": ['v-virtual-scroll__item', props.class],
|
18527
|
+
"style": props.style
|
18752
18528
|
}, [slots.default?.()]));
|
18753
18529
|
}
|
18754
18530
|
});
|
@@ -18765,7 +18541,7 @@
|
|
18765
18541
|
default: () => []
|
18766
18542
|
},
|
18767
18543
|
itemHeight: [Number, String],
|
18768
|
-
|
18544
|
+
...makeComponentProps(),
|
18769
18545
|
...makeDimensionProps()
|
18770
18546
|
},
|
18771
18547
|
setup(props, _ref) {
|
@@ -18792,7 +18568,7 @@
|
|
18792
18568
|
const sizeMap = new Map();
|
18793
18569
|
let sizes = createRange(props.items.length).map(() => itemHeight.value);
|
18794
18570
|
const visibleItems = vue.computed(() => {
|
18795
|
-
return
|
18571
|
+
return Math.max(12, Math.ceil((contentRect.value?.height ?? display.height.value) / itemHeight.value * 1.7 + 1));
|
18796
18572
|
});
|
18797
18573
|
function handleItemResize(index, height) {
|
18798
18574
|
itemHeight.value = Math.max(itemHeight.value, height);
|
@@ -18803,20 +18579,13 @@
|
|
18803
18579
|
return sizes.slice(0, index).reduce((curr, value) => curr + (value || itemHeight.value), 0);
|
18804
18580
|
}
|
18805
18581
|
function calculateMidPointIndex(scrollTop) {
|
18806
|
-
|
18807
|
-
let
|
18808
|
-
|
18809
|
-
|
18810
|
-
|
18811
|
-
if (middleOffset === scrollTop) {
|
18812
|
-
return middle;
|
18813
|
-
} else if (middleOffset < scrollTop) {
|
18814
|
-
start = middle + 1;
|
18815
|
-
} else if (middleOffset > scrollTop) {
|
18816
|
-
end = middle - 1;
|
18817
|
-
}
|
18582
|
+
const end = props.items.length;
|
18583
|
+
let middle = 0;
|
18584
|
+
let middleOffset = 0;
|
18585
|
+
while (middleOffset < scrollTop && middle < end) {
|
18586
|
+
middleOffset += sizes[middle++] || itemHeight.value;
|
18818
18587
|
}
|
18819
|
-
return
|
18588
|
+
return middle - 1;
|
18820
18589
|
}
|
18821
18590
|
let lastScrollTop = 0;
|
18822
18591
|
function handleScroll() {
|
@@ -18838,8 +18607,12 @@
|
|
18838
18607
|
const offset = calculateOffset(index);
|
18839
18608
|
rootEl.value.scrollTop = offset;
|
18840
18609
|
}
|
18610
|
+
const items = vue.computed(() => props.items.map((item, index) => ({
|
18611
|
+
raw: item,
|
18612
|
+
index
|
18613
|
+
})));
|
18841
18614
|
const last = vue.computed(() => Math.min(props.items.length, first.value + visibleItems.value));
|
18842
|
-
const computedItems = vue.computed(() =>
|
18615
|
+
const computedItems = vue.computed(() => items.value.slice(first.value, last.value));
|
18843
18616
|
const paddingTop = vue.computed(() => calculateOffset(first.value));
|
18844
18617
|
const paddingBottom = vue.computed(() => calculateOffset(props.items.length) - calculateOffset(last.value));
|
18845
18618
|
const {
|
@@ -18864,23 +18637,23 @@
|
|
18864
18637
|
});
|
18865
18638
|
useRender(() => vue.createVNode("div", {
|
18866
18639
|
"ref": rootEl,
|
18867
|
-
"class":
|
18640
|
+
"class": ['v-virtual-scroll', props.class],
|
18868
18641
|
"onScroll": handleScroll,
|
18869
|
-
"style": dimensionStyles.value
|
18642
|
+
"style": [dimensionStyles.value, props.style]
|
18870
18643
|
}, [vue.createVNode("div", {
|
18871
18644
|
"class": "v-virtual-scroll__container",
|
18872
18645
|
"style": {
|
18873
18646
|
paddingTop: convertToUnit(paddingTop.value),
|
18874
18647
|
paddingBottom: convertToUnit(paddingBottom.value)
|
18875
18648
|
}
|
18876
|
-
}, [computedItems.value.map(
|
18877
|
-
"key": index,
|
18649
|
+
}, [computedItems.value.map(item => vue.createVNode(VVirtualScrollItem, {
|
18650
|
+
"key": item.index,
|
18878
18651
|
"dynamicHeight": !props.itemHeight,
|
18879
|
-
"onUpdate:height": height => handleItemResize(index
|
18652
|
+
"onUpdate:height": height => handleItemResize(item.index, height)
|
18880
18653
|
}, {
|
18881
18654
|
default: () => [slots.default?.({
|
18882
|
-
item,
|
18883
|
-
index: index
|
18655
|
+
item: item.raw,
|
18656
|
+
index: item.index
|
18884
18657
|
})]
|
18885
18658
|
}))])]));
|
18886
18659
|
return {
|
@@ -19314,6 +19087,17 @@
|
|
19314
19087
|
backgroundColorClasses,
|
19315
19088
|
backgroundColorStyles
|
19316
19089
|
} = useBackgroundColor(props, 'color');
|
19090
|
+
const slotProps = vue.computed(() => ({
|
19091
|
+
headers: headers.value,
|
19092
|
+
columns: columns.value,
|
19093
|
+
toggleSort,
|
19094
|
+
sortBy: sortBy.value,
|
19095
|
+
someSelected: someSelected.value,
|
19096
|
+
allSelected: allSelected.value,
|
19097
|
+
selectAll,
|
19098
|
+
getSortIcon,
|
19099
|
+
getFixedStyles
|
19100
|
+
}));
|
19317
19101
|
const VDataTableHeaderCell = _ref2 => {
|
19318
19102
|
let {
|
19319
19103
|
column,
|
@@ -19341,14 +19125,14 @@
|
|
19341
19125
|
"noPadding": noPadding
|
19342
19126
|
}, {
|
19343
19127
|
default: () => {
|
19344
|
-
const
|
19345
|
-
const
|
19128
|
+
const columnSlotName = `column.${column.key}`;
|
19129
|
+
const columnSlotProps = {
|
19346
19130
|
column,
|
19347
19131
|
selectAll
|
19348
19132
|
};
|
19349
|
-
if (slots[
|
19133
|
+
if (slots[columnSlotName]) return slots[columnSlotName](columnSlotProps);
|
19350
19134
|
if (column.key === 'data-table-select') {
|
19351
|
-
return slots['column.data-table-select']?.(
|
19135
|
+
return slots['column.data-table-select']?.(columnSlotProps) ?? vue.createVNode(VCheckboxBtn, {
|
19352
19136
|
"modelValue": allSelected.value,
|
19353
19137
|
"indeterminate": someSelected.value && !allSelected.value,
|
19354
19138
|
"onUpdate:modelValue": selectAll
|
@@ -19368,22 +19152,24 @@
|
|
19368
19152
|
}
|
19369
19153
|
});
|
19370
19154
|
};
|
19371
|
-
useRender(() =>
|
19372
|
-
"
|
19373
|
-
|
19374
|
-
|
19375
|
-
|
19376
|
-
"
|
19377
|
-
|
19378
|
-
"
|
19379
|
-
|
19380
|
-
|
19381
|
-
|
19382
|
-
|
19383
|
-
|
19384
|
-
|
19385
|
-
|
19386
|
-
|
19155
|
+
useRender(() => {
|
19156
|
+
return vue.createVNode(vue.Fragment, null, [slots.headers ? slots.headers(slotProps.value) : headers.value.map((row, y) => vue.createVNode("tr", null, [row.map((column, x) => vue.createVNode(VDataTableHeaderCell, {
|
19157
|
+
"column": column,
|
19158
|
+
"x": x,
|
19159
|
+
"y": y
|
19160
|
+
}, null))])), props.loading && vue.createVNode("tr", {
|
19161
|
+
"class": "v-data-table__progress"
|
19162
|
+
}, [vue.createVNode("th", {
|
19163
|
+
"colspan": columns.value.length
|
19164
|
+
}, [vue.createVNode(LoaderSlot, {
|
19165
|
+
"name": "v-data-table-headers",
|
19166
|
+
"active": true,
|
19167
|
+
"color": typeof props.loading === 'boolean' ? undefined : props.loading,
|
19168
|
+
"indeterminate": true
|
19169
|
+
}, {
|
19170
|
+
default: slots.loader
|
19171
|
+
})])])]);
|
19172
|
+
});
|
19387
19173
|
}
|
19388
19174
|
});
|
19389
19175
|
|
@@ -19682,9 +19468,7 @@
|
|
19682
19468
|
'v-data-table__tr--clickable': !!props.onClick
|
19683
19469
|
}],
|
19684
19470
|
"onClick": props.onClick
|
19685
|
-
}, [
|
19686
|
-
"key": "no-data"
|
19687
|
-
}, slots), props.item && columns.value.map((column, i) => vue.createVNode(VDataTableColumn, {
|
19471
|
+
}, [props.item && columns.value.map((column, i) => vue.createVNode(VDataTableColumn, {
|
19688
19472
|
"align": column.align,
|
19689
19473
|
"fixed": column.fixed,
|
19690
19474
|
"fixedOffset": column.fixedOffset,
|
@@ -19774,13 +19558,13 @@
|
|
19774
19558
|
useRender(() => {
|
19775
19559
|
if (props.loading && slots.loading) {
|
19776
19560
|
return vue.createVNode("tr", {
|
19777
|
-
"class": "v-data-table-rows-
|
19561
|
+
"class": "v-data-table-rows-loading",
|
19778
19562
|
"key": "loading"
|
19779
19563
|
}, [vue.createVNode("td", {
|
19780
19564
|
"colspan": columns.value.length
|
19781
19565
|
}, [slots.loading()])]);
|
19782
19566
|
}
|
19783
|
-
if (!props.loading && !props.items.length && !props.hideNoData
|
19567
|
+
if (!props.loading && !props.items.length && !props.hideNoData) {
|
19784
19568
|
return vue.createVNode("tr", {
|
19785
19569
|
"class": "v-data-table-rows-no-data",
|
19786
19570
|
"key": "no-data"
|
@@ -20259,7 +20043,7 @@
|
|
20259
20043
|
top: slots.top,
|
20260
20044
|
default: slots.default ?? (() => vue.createVNode(vue.Fragment, null, [slots.colgroup?.({
|
20261
20045
|
columns
|
20262
|
-
}), vue.createVNode("thead", null, [
|
20046
|
+
}), vue.createVNode("thead", null, [vue.createVNode(VDataTableHeaders, {
|
20263
20047
|
"sticky": props.fixedHeader,
|
20264
20048
|
"multiSort": props.multiSort
|
20265
20049
|
}, slots)]), slots.thead?.(), vue.createVNode("tbody", null, [slots.body ? slots.body() : vue.createVNode(VDataTableRows, {
|
@@ -20625,7 +20409,7 @@
|
|
20625
20409
|
}), vue.createVNode("thead", {
|
20626
20410
|
"class": "v-data-table__thead",
|
20627
20411
|
"role": "rowgroup"
|
20628
|
-
}, [
|
20412
|
+
}, [vue.createVNode(VDataTableHeaders, {
|
20629
20413
|
"sticky": props.fixedHeader,
|
20630
20414
|
"loading": props.loading,
|
20631
20415
|
"color": props.color
|
@@ -21127,130 +20911,542 @@
|
|
21127
20911
|
|
21128
20912
|
// Types
|
21129
20913
|
|
21130
|
-
function mounted$2(el, binding) {
|
21131
|
-
const modifiers = binding.modifiers || {};
|
21132
|
-
const value = binding.value;
|
21133
|
-
const {
|
21134
|
-
once,
|
21135
|
-
immediate,
|
21136
|
-
...modifierKeys
|
21137
|
-
} = modifiers;
|
21138
|
-
const defaultValue = !Object.keys(modifierKeys).length;
|
21139
|
-
const {
|
21140
|
-
handler,
|
21141
|
-
options
|
21142
|
-
} = typeof value === 'object' ? value : {
|
21143
|
-
handler: value,
|
21144
|
-
options: {
|
21145
|
-
attributes: modifierKeys?.attr ?? defaultValue,
|
21146
|
-
characterData: modifierKeys?.char ?? defaultValue,
|
21147
|
-
childList: modifierKeys?.child ?? defaultValue,
|
21148
|
-
subtree: modifierKeys?.sub ?? defaultValue
|
20914
|
+
function mounted$2(el, binding) {
|
20915
|
+
const modifiers = binding.modifiers || {};
|
20916
|
+
const value = binding.value;
|
20917
|
+
const {
|
20918
|
+
once,
|
20919
|
+
immediate,
|
20920
|
+
...modifierKeys
|
20921
|
+
} = modifiers;
|
20922
|
+
const defaultValue = !Object.keys(modifierKeys).length;
|
20923
|
+
const {
|
20924
|
+
handler,
|
20925
|
+
options
|
20926
|
+
} = typeof value === 'object' ? value : {
|
20927
|
+
handler: value,
|
20928
|
+
options: {
|
20929
|
+
attributes: modifierKeys?.attr ?? defaultValue,
|
20930
|
+
characterData: modifierKeys?.char ?? defaultValue,
|
20931
|
+
childList: modifierKeys?.child ?? defaultValue,
|
20932
|
+
subtree: modifierKeys?.sub ?? defaultValue
|
20933
|
+
}
|
20934
|
+
};
|
20935
|
+
const observer = new MutationObserver(function () {
|
20936
|
+
let mutations = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
20937
|
+
let observer = arguments.length > 1 ? arguments[1] : undefined;
|
20938
|
+
handler?.(mutations, observer);
|
20939
|
+
if (once) unmounted$2(el, binding);
|
20940
|
+
});
|
20941
|
+
if (immediate) handler?.([], observer);
|
20942
|
+
el._mutate = Object(el._mutate);
|
20943
|
+
el._mutate[binding.instance.$.uid] = {
|
20944
|
+
observer
|
20945
|
+
};
|
20946
|
+
observer.observe(el, options);
|
20947
|
+
}
|
20948
|
+
function unmounted$2(el, binding) {
|
20949
|
+
if (!el._mutate?.[binding.instance.$.uid]) return;
|
20950
|
+
el._mutate[binding.instance.$.uid].observer.disconnect();
|
20951
|
+
delete el._mutate[binding.instance.$.uid];
|
20952
|
+
}
|
20953
|
+
const Mutate = {
|
20954
|
+
mounted: mounted$2,
|
20955
|
+
unmounted: unmounted$2
|
20956
|
+
};
|
20957
|
+
|
20958
|
+
function mounted$1(el, binding) {
|
20959
|
+
const handler = binding.value;
|
20960
|
+
const options = {
|
20961
|
+
passive: !binding.modifiers?.active
|
20962
|
+
};
|
20963
|
+
window.addEventListener('resize', handler, options);
|
20964
|
+
el._onResize = Object(el._onResize);
|
20965
|
+
el._onResize[binding.instance.$.uid] = {
|
20966
|
+
handler,
|
20967
|
+
options
|
20968
|
+
};
|
20969
|
+
if (!binding.modifiers?.quiet) {
|
20970
|
+
handler();
|
20971
|
+
}
|
20972
|
+
}
|
20973
|
+
function unmounted$1(el, binding) {
|
20974
|
+
if (!el._onResize?.[binding.instance.$.uid]) return;
|
20975
|
+
const {
|
20976
|
+
handler,
|
20977
|
+
options
|
20978
|
+
} = el._onResize[binding.instance.$.uid];
|
20979
|
+
window.removeEventListener('resize', handler, options);
|
20980
|
+
delete el._onResize[binding.instance.$.uid];
|
20981
|
+
}
|
20982
|
+
const Resize = {
|
20983
|
+
mounted: mounted$1,
|
20984
|
+
unmounted: unmounted$1
|
20985
|
+
};
|
20986
|
+
|
20987
|
+
function mounted(el, binding) {
|
20988
|
+
const {
|
20989
|
+
self = false
|
20990
|
+
} = binding.modifiers ?? {};
|
20991
|
+
const value = binding.value;
|
20992
|
+
const options = typeof value === 'object' && value.options || {
|
20993
|
+
passive: true
|
20994
|
+
};
|
20995
|
+
const handler = typeof value === 'function' || 'handleEvent' in value ? value : value.handler;
|
20996
|
+
const target = self ? el : binding.arg ? document.querySelector(binding.arg) : window;
|
20997
|
+
if (!target) return;
|
20998
|
+
target.addEventListener('scroll', handler, options);
|
20999
|
+
el._onScroll = Object(el._onScroll);
|
21000
|
+
el._onScroll[binding.instance.$.uid] = {
|
21001
|
+
handler,
|
21002
|
+
options,
|
21003
|
+
// Don't reference self
|
21004
|
+
target: self ? undefined : target
|
21005
|
+
};
|
21006
|
+
}
|
21007
|
+
function unmounted(el, binding) {
|
21008
|
+
if (!el._onScroll?.[binding.instance.$.uid]) return;
|
21009
|
+
const {
|
21010
|
+
handler,
|
21011
|
+
options,
|
21012
|
+
target = el
|
21013
|
+
} = el._onScroll[binding.instance.$.uid];
|
21014
|
+
target.removeEventListener('scroll', handler, options);
|
21015
|
+
delete el._onScroll[binding.instance.$.uid];
|
21016
|
+
}
|
21017
|
+
function updated(el, binding) {
|
21018
|
+
if (binding.value === binding.oldValue) return;
|
21019
|
+
unmounted(el, binding);
|
21020
|
+
mounted(el, binding);
|
21021
|
+
}
|
21022
|
+
const Scroll = {
|
21023
|
+
mounted,
|
21024
|
+
unmounted,
|
21025
|
+
updated
|
21026
|
+
};
|
21027
|
+
|
21028
|
+
var directives = /*#__PURE__*/Object.freeze({
|
21029
|
+
__proto__: null,
|
21030
|
+
ClickOutside: ClickOutside,
|
21031
|
+
Intersect: Intersect,
|
21032
|
+
Mutate: Mutate,
|
21033
|
+
Resize: Resize,
|
21034
|
+
Ripple: Ripple,
|
21035
|
+
Scroll: Scroll,
|
21036
|
+
Touch: Touch
|
21037
|
+
});
|
21038
|
+
|
21039
|
+
// Utilities
|
21040
|
+
|
21041
|
+
// Types
|
21042
|
+
|
21043
|
+
function getWeekArray(date) {
|
21044
|
+
let currentWeek = [];
|
21045
|
+
const weeks = [];
|
21046
|
+
const firstDayOfMonth = startOfMonth(date);
|
21047
|
+
const lastDayOfMonth = endOfMonth(date);
|
21048
|
+
for (let i = 0; i < firstDayOfMonth.getDay(); i++) {
|
21049
|
+
currentWeek.push(null);
|
21050
|
+
}
|
21051
|
+
for (let i = 1; i <= lastDayOfMonth.getDate(); i++) {
|
21052
|
+
const day = new Date(date.getFullYear(), date.getMonth(), i);
|
21053
|
+
|
21054
|
+
// Add the day to the current week
|
21055
|
+
currentWeek.push(day);
|
21056
|
+
|
21057
|
+
// If the current week has 7 days, add it to the weeks array and start a new week
|
21058
|
+
if (currentWeek.length === 7) {
|
21059
|
+
weeks.push(currentWeek);
|
21060
|
+
currentWeek = [];
|
21149
21061
|
}
|
21150
|
-
}
|
21151
|
-
|
21152
|
-
|
21153
|
-
|
21154
|
-
|
21155
|
-
|
21062
|
+
}
|
21063
|
+
for (let i = currentWeek.length; i < 7; i++) {
|
21064
|
+
currentWeek.push(null);
|
21065
|
+
}
|
21066
|
+
weeks.push(currentWeek);
|
21067
|
+
return weeks;
|
21068
|
+
}
|
21069
|
+
function startOfMonth(date) {
|
21070
|
+
return new Date(date.getFullYear(), date.getMonth(), 1);
|
21071
|
+
}
|
21072
|
+
function endOfMonth(date) {
|
21073
|
+
return new Date(date.getFullYear(), date.getMonth() + 1, 0);
|
21074
|
+
}
|
21075
|
+
function date(value) {
|
21076
|
+
if (value == null) return null;
|
21077
|
+
if (value instanceof Date) return value;
|
21078
|
+
if (typeof value === 'string') {
|
21079
|
+
const parsed = Date.parse(value);
|
21080
|
+
if (!isNaN(parsed)) return new Date(parsed);
|
21081
|
+
}
|
21082
|
+
return null;
|
21083
|
+
}
|
21084
|
+
const firstDay = {
|
21085
|
+
'001': 1,
|
21086
|
+
AD: 1,
|
21087
|
+
AE: 6,
|
21088
|
+
AF: 6,
|
21089
|
+
AG: 0,
|
21090
|
+
AI: 1,
|
21091
|
+
AL: 1,
|
21092
|
+
AM: 1,
|
21093
|
+
AN: 1,
|
21094
|
+
AR: 1,
|
21095
|
+
AS: 0,
|
21096
|
+
AT: 1,
|
21097
|
+
AU: 0,
|
21098
|
+
AX: 1,
|
21099
|
+
AZ: 1,
|
21100
|
+
BA: 1,
|
21101
|
+
BD: 0,
|
21102
|
+
BE: 1,
|
21103
|
+
BG: 1,
|
21104
|
+
BH: 6,
|
21105
|
+
BM: 1,
|
21106
|
+
BN: 1,
|
21107
|
+
BR: 0,
|
21108
|
+
BS: 0,
|
21109
|
+
BT: 0,
|
21110
|
+
BW: 0,
|
21111
|
+
BY: 1,
|
21112
|
+
BZ: 0,
|
21113
|
+
CA: 0,
|
21114
|
+
CH: 1,
|
21115
|
+
CL: 1,
|
21116
|
+
CM: 1,
|
21117
|
+
CN: 0,
|
21118
|
+
CO: 0,
|
21119
|
+
CR: 1,
|
21120
|
+
CY: 1,
|
21121
|
+
CZ: 1,
|
21122
|
+
DE: 1,
|
21123
|
+
DJ: 6,
|
21124
|
+
DK: 1,
|
21125
|
+
DM: 0,
|
21126
|
+
DO: 0,
|
21127
|
+
DZ: 6,
|
21128
|
+
EC: 1,
|
21129
|
+
EE: 1,
|
21130
|
+
EG: 6,
|
21131
|
+
ES: 1,
|
21132
|
+
ET: 0,
|
21133
|
+
FI: 1,
|
21134
|
+
FJ: 1,
|
21135
|
+
FO: 1,
|
21136
|
+
FR: 1,
|
21137
|
+
GB: 1,
|
21138
|
+
'GB-alt-variant': 0,
|
21139
|
+
GE: 1,
|
21140
|
+
GF: 1,
|
21141
|
+
GP: 1,
|
21142
|
+
GR: 1,
|
21143
|
+
GT: 0,
|
21144
|
+
GU: 0,
|
21145
|
+
HK: 0,
|
21146
|
+
HN: 0,
|
21147
|
+
HR: 1,
|
21148
|
+
HU: 1,
|
21149
|
+
ID: 0,
|
21150
|
+
IE: 1,
|
21151
|
+
IL: 0,
|
21152
|
+
IN: 0,
|
21153
|
+
IQ: 6,
|
21154
|
+
IR: 6,
|
21155
|
+
IS: 1,
|
21156
|
+
IT: 1,
|
21157
|
+
JM: 0,
|
21158
|
+
JO: 6,
|
21159
|
+
JP: 0,
|
21160
|
+
KE: 0,
|
21161
|
+
KG: 1,
|
21162
|
+
KH: 0,
|
21163
|
+
KR: 0,
|
21164
|
+
KW: 6,
|
21165
|
+
KZ: 1,
|
21166
|
+
LA: 0,
|
21167
|
+
LB: 1,
|
21168
|
+
LI: 1,
|
21169
|
+
LK: 1,
|
21170
|
+
LT: 1,
|
21171
|
+
LU: 1,
|
21172
|
+
LV: 1,
|
21173
|
+
LY: 6,
|
21174
|
+
MC: 1,
|
21175
|
+
MD: 1,
|
21176
|
+
ME: 1,
|
21177
|
+
MH: 0,
|
21178
|
+
MK: 1,
|
21179
|
+
MM: 0,
|
21180
|
+
MN: 1,
|
21181
|
+
MO: 0,
|
21182
|
+
MQ: 1,
|
21183
|
+
MT: 0,
|
21184
|
+
MV: 5,
|
21185
|
+
MX: 0,
|
21186
|
+
MY: 1,
|
21187
|
+
MZ: 0,
|
21188
|
+
NI: 0,
|
21189
|
+
NL: 1,
|
21190
|
+
NO: 1,
|
21191
|
+
NP: 0,
|
21192
|
+
NZ: 1,
|
21193
|
+
OM: 6,
|
21194
|
+
PA: 0,
|
21195
|
+
PE: 0,
|
21196
|
+
PH: 0,
|
21197
|
+
PK: 0,
|
21198
|
+
PL: 1,
|
21199
|
+
PR: 0,
|
21200
|
+
PT: 0,
|
21201
|
+
PY: 0,
|
21202
|
+
QA: 6,
|
21203
|
+
RE: 1,
|
21204
|
+
RO: 1,
|
21205
|
+
RS: 1,
|
21206
|
+
RU: 1,
|
21207
|
+
SA: 0,
|
21208
|
+
SD: 6,
|
21209
|
+
SE: 1,
|
21210
|
+
SG: 0,
|
21211
|
+
SI: 1,
|
21212
|
+
SK: 1,
|
21213
|
+
SM: 1,
|
21214
|
+
SV: 0,
|
21215
|
+
SY: 6,
|
21216
|
+
TH: 0,
|
21217
|
+
TJ: 1,
|
21218
|
+
TM: 1,
|
21219
|
+
TR: 1,
|
21220
|
+
TT: 0,
|
21221
|
+
TW: 0,
|
21222
|
+
UA: 1,
|
21223
|
+
UM: 0,
|
21224
|
+
US: 0,
|
21225
|
+
UY: 1,
|
21226
|
+
UZ: 1,
|
21227
|
+
VA: 1,
|
21228
|
+
VE: 0,
|
21229
|
+
VI: 0,
|
21230
|
+
VN: 1,
|
21231
|
+
WS: 0,
|
21232
|
+
XK: 1,
|
21233
|
+
YE: 0,
|
21234
|
+
ZA: 0,
|
21235
|
+
ZW: 0
|
21236
|
+
};
|
21237
|
+
const sundayJanuarySecond2000 = new Date(2000, 0, 2);
|
21238
|
+
function getWeekdays(locale) {
|
21239
|
+
const daysFromSunday = firstDay[locale.slice(-2).toUpperCase()];
|
21240
|
+
return createRange(7).map(i => {
|
21241
|
+
const weekday = new Date(sundayJanuarySecond2000);
|
21242
|
+
weekday.setDate(sundayJanuarySecond2000.getDate() + daysFromSunday + i);
|
21243
|
+
return new Intl.DateTimeFormat(locale, {
|
21244
|
+
weekday: 'long'
|
21245
|
+
}).format(weekday);
|
21156
21246
|
});
|
21157
|
-
if (immediate) handler?.([], observer);
|
21158
|
-
el._mutate = Object(el._mutate);
|
21159
|
-
el._mutate[binding.instance.$.uid] = {
|
21160
|
-
observer
|
21161
|
-
};
|
21162
|
-
observer.observe(el, options);
|
21163
21247
|
}
|
21164
|
-
function
|
21165
|
-
|
21166
|
-
|
21167
|
-
|
21248
|
+
function format(value, formatString, locale) {
|
21249
|
+
const date = new Date(value);
|
21250
|
+
let options = {};
|
21251
|
+
switch (formatString) {
|
21252
|
+
case 'fullDateWithWeekday':
|
21253
|
+
options = {
|
21254
|
+
weekday: 'long',
|
21255
|
+
day: 'numeric',
|
21256
|
+
month: 'long',
|
21257
|
+
year: 'numeric'
|
21258
|
+
};
|
21259
|
+
break;
|
21260
|
+
case 'normalDateWithWeekday':
|
21261
|
+
options = {
|
21262
|
+
weekday: 'short',
|
21263
|
+
day: 'numeric',
|
21264
|
+
month: 'short',
|
21265
|
+
year: 'numeric'
|
21266
|
+
};
|
21267
|
+
break;
|
21268
|
+
case 'keyboardDate':
|
21269
|
+
options = {};
|
21270
|
+
break;
|
21271
|
+
case 'monthAndDate':
|
21272
|
+
options = {
|
21273
|
+
month: 'long',
|
21274
|
+
day: 'numeric'
|
21275
|
+
};
|
21276
|
+
break;
|
21277
|
+
case 'monthAndYear':
|
21278
|
+
options = {
|
21279
|
+
month: 'long',
|
21280
|
+
year: 'numeric'
|
21281
|
+
};
|
21282
|
+
break;
|
21283
|
+
default:
|
21284
|
+
options = {
|
21285
|
+
timeZone: 'UTC',
|
21286
|
+
timeZoneName: 'short'
|
21287
|
+
};
|
21288
|
+
}
|
21289
|
+
return new Intl.DateTimeFormat(locale, options).format(date);
|
21290
|
+
}
|
21291
|
+
function addDays(date, amount) {
|
21292
|
+
const d = new Date(date);
|
21293
|
+
d.setDate(d.getDate() + amount);
|
21294
|
+
return d;
|
21295
|
+
}
|
21296
|
+
function addMonths(date, amount) {
|
21297
|
+
const d = new Date(date);
|
21298
|
+
d.setMonth(d.getMonth() + amount);
|
21299
|
+
return d;
|
21300
|
+
}
|
21301
|
+
function getYear(date) {
|
21302
|
+
return date.getFullYear();
|
21303
|
+
}
|
21304
|
+
function getMonth(date) {
|
21305
|
+
return date.getMonth();
|
21306
|
+
}
|
21307
|
+
function startOfYear(date) {
|
21308
|
+
return new Date(date.getFullYear(), 0, 1);
|
21309
|
+
}
|
21310
|
+
function endOfYear(date) {
|
21311
|
+
return new Date(date.getFullYear(), 11, 31);
|
21312
|
+
}
|
21313
|
+
function getMondayOfFirstWeekOfYear(year) {
|
21314
|
+
return new Date(year, 0, 1);
|
21168
21315
|
}
|
21169
|
-
const Mutate = {
|
21170
|
-
mounted: mounted$2,
|
21171
|
-
unmounted: unmounted$2
|
21172
|
-
};
|
21173
21316
|
|
21174
|
-
|
21175
|
-
|
21176
|
-
|
21177
|
-
|
21178
|
-
|
21179
|
-
|
21180
|
-
|
21181
|
-
|
21182
|
-
|
21183
|
-
|
21184
|
-
|
21185
|
-
|
21186
|
-
|
21317
|
+
// https://stackoverflow.com/questions/274861/how-do-i-calculate-the-week-number-given-a-date/275024#275024
|
21318
|
+
function getWeek(date) {
|
21319
|
+
let year = date.getFullYear();
|
21320
|
+
let d1w1 = getMondayOfFirstWeekOfYear(year);
|
21321
|
+
if (date < d1w1) {
|
21322
|
+
year = year - 1;
|
21323
|
+
d1w1 = getMondayOfFirstWeekOfYear(year);
|
21324
|
+
} else {
|
21325
|
+
const tv = getMondayOfFirstWeekOfYear(year + 1);
|
21326
|
+
if (date >= tv) {
|
21327
|
+
year = year + 1;
|
21328
|
+
d1w1 = tv;
|
21329
|
+
}
|
21187
21330
|
}
|
21331
|
+
const diffTime = Math.abs(date.getTime() - d1w1.getTime());
|
21332
|
+
const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24));
|
21333
|
+
return Math.floor(diffDays / 7) + 1;
|
21188
21334
|
}
|
21189
|
-
function
|
21190
|
-
|
21191
|
-
const {
|
21192
|
-
handler,
|
21193
|
-
options
|
21194
|
-
} = el._onResize[binding.instance.$.uid];
|
21195
|
-
window.removeEventListener('resize', handler, options);
|
21196
|
-
delete el._onResize[binding.instance.$.uid];
|
21335
|
+
function isWithinRange(date, range) {
|
21336
|
+
return isAfter(date, range[0]) && isBefore(date, range[1]);
|
21197
21337
|
}
|
21198
|
-
|
21199
|
-
|
21200
|
-
|
21201
|
-
};
|
21202
|
-
|
21203
|
-
function mounted(el, binding) {
|
21204
|
-
const {
|
21205
|
-
self = false
|
21206
|
-
} = binding.modifiers ?? {};
|
21207
|
-
const value = binding.value;
|
21208
|
-
const options = typeof value === 'object' && value.options || {
|
21209
|
-
passive: true
|
21210
|
-
};
|
21211
|
-
const handler = typeof value === 'function' || 'handleEvent' in value ? value : value.handler;
|
21212
|
-
const target = self ? el : binding.arg ? document.querySelector(binding.arg) : window;
|
21213
|
-
if (!target) return;
|
21214
|
-
target.addEventListener('scroll', handler, options);
|
21215
|
-
el._onScroll = Object(el._onScroll);
|
21216
|
-
el._onScroll[binding.instance.$.uid] = {
|
21217
|
-
handler,
|
21218
|
-
options,
|
21219
|
-
// Don't reference self
|
21220
|
-
target: self ? undefined : target
|
21221
|
-
};
|
21338
|
+
function isValid(date) {
|
21339
|
+
const d = new Date(date);
|
21340
|
+
return d instanceof Date && !isNaN(d.getTime());
|
21222
21341
|
}
|
21223
|
-
function
|
21224
|
-
|
21225
|
-
const {
|
21226
|
-
handler,
|
21227
|
-
options,
|
21228
|
-
target = el
|
21229
|
-
} = el._onScroll[binding.instance.$.uid];
|
21230
|
-
target.removeEventListener('scroll', handler, options);
|
21231
|
-
delete el._onScroll[binding.instance.$.uid];
|
21342
|
+
function isAfter(date, comparing) {
|
21343
|
+
return date.getTime() > comparing.getTime();
|
21232
21344
|
}
|
21233
|
-
function
|
21234
|
-
|
21235
|
-
|
21236
|
-
|
21345
|
+
function isBefore(date, comparing) {
|
21346
|
+
return date.getTime() < comparing.getTime();
|
21347
|
+
}
|
21348
|
+
function isEqual(date, comparing) {
|
21349
|
+
return date.getTime() === comparing.getTime();
|
21350
|
+
}
|
21351
|
+
function isSameDay(date, comparing) {
|
21352
|
+
return date.getDate() === comparing.getDate() && date.getMonth() === comparing.getMonth() && date.getFullYear() === comparing.getFullYear();
|
21353
|
+
}
|
21354
|
+
function isSameMonth(date, comparing) {
|
21355
|
+
return date.getMonth() === comparing.getMonth() && date.getFullYear() === comparing.getFullYear();
|
21356
|
+
}
|
21357
|
+
function getDiff(date, comparing, unit) {
|
21358
|
+
const d = new Date(date);
|
21359
|
+
const c = new Date(comparing);
|
21360
|
+
if (unit === 'month') {
|
21361
|
+
return d.getMonth() - c.getMonth() + (d.getFullYear() - c.getFullYear()) * 12;
|
21362
|
+
}
|
21363
|
+
return Math.floor((d.getTime() - c.getTime()) / (1000 * 60 * 60 * 24));
|
21364
|
+
}
|
21365
|
+
function setYear(date, year) {
|
21366
|
+
const d = new Date(date);
|
21367
|
+
d.setFullYear(year);
|
21368
|
+
return d;
|
21369
|
+
}
|
21370
|
+
class VuetifyDateAdapter {
|
21371
|
+
constructor() {
|
21372
|
+
let locale = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'en';
|
21373
|
+
this.locale = locale;
|
21374
|
+
}
|
21375
|
+
date(value) {
|
21376
|
+
return date(value);
|
21377
|
+
}
|
21378
|
+
addDays(date, amount) {
|
21379
|
+
return addDays(date, amount);
|
21380
|
+
}
|
21381
|
+
addMonths(date, amount) {
|
21382
|
+
return addMonths(date, amount);
|
21383
|
+
}
|
21384
|
+
getWeekArray(date) {
|
21385
|
+
return getWeekArray(date);
|
21386
|
+
}
|
21387
|
+
startOfMonth(date) {
|
21388
|
+
return startOfMonth(date);
|
21389
|
+
}
|
21390
|
+
endOfMonth(date) {
|
21391
|
+
return endOfMonth(date);
|
21392
|
+
}
|
21393
|
+
format(date, formatString) {
|
21394
|
+
return format(date, formatString, this.locale);
|
21395
|
+
}
|
21396
|
+
isEqual(date, comparing) {
|
21397
|
+
return isEqual(date, comparing);
|
21398
|
+
}
|
21399
|
+
isValid(date) {
|
21400
|
+
return isValid(date);
|
21401
|
+
}
|
21402
|
+
isWithinRange(date, range) {
|
21403
|
+
return isWithinRange(date, range);
|
21404
|
+
}
|
21405
|
+
isAfter(date, comparing) {
|
21406
|
+
return isAfter(date, comparing);
|
21407
|
+
}
|
21408
|
+
isSameDay(date, comparing) {
|
21409
|
+
return isSameDay(date, comparing);
|
21410
|
+
}
|
21411
|
+
isSameMonth(date, comparing) {
|
21412
|
+
return isSameMonth(date, comparing);
|
21413
|
+
}
|
21414
|
+
setYear(date, year) {
|
21415
|
+
return setYear(date, year);
|
21416
|
+
}
|
21417
|
+
getDiff(date, comparing, unit) {
|
21418
|
+
return getDiff(date, comparing, unit);
|
21419
|
+
}
|
21420
|
+
getWeek(date) {
|
21421
|
+
return getWeek(date);
|
21422
|
+
}
|
21423
|
+
getWeekdays() {
|
21424
|
+
return getWeekdays(this.locale);
|
21425
|
+
}
|
21426
|
+
getYear(date) {
|
21427
|
+
return getYear(date);
|
21428
|
+
}
|
21429
|
+
getMonth(date) {
|
21430
|
+
return getMonth(date);
|
21431
|
+
}
|
21432
|
+
startOfYear(date) {
|
21433
|
+
return startOfYear(date);
|
21434
|
+
}
|
21435
|
+
endOfYear(date) {
|
21436
|
+
return endOfYear(date);
|
21437
|
+
}
|
21237
21438
|
}
|
21238
|
-
const Scroll = {
|
21239
|
-
mounted,
|
21240
|
-
unmounted,
|
21241
|
-
updated
|
21242
|
-
};
|
21243
21439
|
|
21244
|
-
|
21245
|
-
|
21246
|
-
|
21247
|
-
|
21248
|
-
|
21249
|
-
|
21250
|
-
|
21251
|
-
|
21252
|
-
|
21253
|
-
}
|
21440
|
+
// Composables
|
21441
|
+
|
21442
|
+
// Types
|
21443
|
+
|
21444
|
+
const DateAdapterSymbol = Symbol.for('vuetify:date-adapter');
|
21445
|
+
function createDate(options) {
|
21446
|
+
return options ?? {
|
21447
|
+
adapter: VuetifyDateAdapter
|
21448
|
+
};
|
21449
|
+
}
|
21254
21450
|
|
21255
21451
|
// Composables
|
21256
21452
|
function createVuetify$1() {
|
@@ -21337,7 +21533,7 @@
|
|
21337
21533
|
date
|
21338
21534
|
};
|
21339
21535
|
}
|
21340
|
-
const version$1 = "4.0.0-dev-
|
21536
|
+
const version$1 = "4.0.0-dev-20230427.0";
|
21341
21537
|
createVuetify$1.version = version$1;
|
21342
21538
|
|
21343
21539
|
// Vue's inject() can only be used in setup
|
@@ -21349,7 +21545,7 @@
|
|
21349
21545
|
}
|
21350
21546
|
}
|
21351
21547
|
|
21352
|
-
const version = "4.0.0-dev-
|
21548
|
+
const version = "4.0.0-dev-20230427.0";
|
21353
21549
|
|
21354
21550
|
const createVuetify = function () {
|
21355
21551
|
let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
@@ -21363,7 +21559,7 @@
|
|
21363
21559
|
exports.components = components;
|
21364
21560
|
exports.createVuetify = createVuetify;
|
21365
21561
|
exports.directives = directives;
|
21366
|
-
exports.
|
21562
|
+
exports.useDefaults = useDefaults;
|
21367
21563
|
exports.useDisplay = useDisplay;
|
21368
21564
|
exports.useLayout = useLayout;
|
21369
21565
|
exports.useLocale = useLocale;
|