@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.esm.js
CHANGED
@@ -1,10 +1,10 @@
|
|
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
|
*/
|
6
6
|
|
7
|
-
import { ref, onBeforeUnmount, watch, readonly, reactive, computed, watchEffect, toRefs, capitalize,
|
7
|
+
import { ref, onBeforeUnmount, watch, readonly, reactive, computed, watchEffect, toRefs, capitalize, onScopeDispose, effectScope, shallowRef, inject as inject$1, unref, provide, defineComponent as defineComponent$1, camelize, h, getCurrentInstance as getCurrentInstance$1, onDeactivated, onActivated, onMounted, toRaw, createVNode, TransitionGroup, Transition, mergeProps, onBeforeMount, nextTick, withDirectives, Fragment, resolveDirective, vShow, isRef, toRef, Text, resolveDynamicComponent, cloneVNode, warn, toHandlers, Teleport, createTextVNode, onBeforeUpdate, vModelText, onUpdated } from 'vue';
|
8
8
|
|
9
9
|
const IN_BROWSER = typeof window !== 'undefined';
|
10
10
|
const SUPPORTS_INTERSECTION = IN_BROWSER && 'IntersectionObserver' in window;
|
@@ -167,11 +167,11 @@ const keyValues = Object.freeze({
|
|
167
167
|
function keys(o) {
|
168
168
|
return Object.keys(o);
|
169
169
|
}
|
170
|
-
function pick(obj, paths) {
|
170
|
+
function pick(obj, paths, exclude) {
|
171
171
|
const found = Object.create(null);
|
172
172
|
const rest = Object.create(null);
|
173
173
|
for (const key in obj) {
|
174
|
-
if (paths.some(path => path instanceof RegExp ? path.test(key) : path === key)) {
|
174
|
+
if (paths.some(path => path instanceof RegExp ? path.test(key) : path === key) && !exclude?.some(path => path === key)) {
|
175
175
|
found[key] = obj[key];
|
176
176
|
} else {
|
177
177
|
rest[key] = obj[key];
|
@@ -356,6 +356,32 @@ function callEvent(handler) {
|
|
356
356
|
handler(...args);
|
357
357
|
}
|
358
358
|
}
|
359
|
+
function focusableChildren(el) {
|
360
|
+
const targets = ['button', '[href]', 'input:not([type="hidden"])', 'select', 'textarea', '[tabindex]'].map(s => `${s}:not([tabindex="-1"]):not([disabled])`).join(', ');
|
361
|
+
return [...el.querySelectorAll(targets)];
|
362
|
+
}
|
363
|
+
function focusChild(el, location) {
|
364
|
+
const focusable = focusableChildren(el);
|
365
|
+
const idx = focusable.indexOf(document.activeElement);
|
366
|
+
if (!location) {
|
367
|
+
if (!el.contains(document.activeElement)) {
|
368
|
+
focusable[0]?.focus();
|
369
|
+
}
|
370
|
+
} else if (location === 'first') {
|
371
|
+
focusable[0]?.focus();
|
372
|
+
} else if (location === 'last') {
|
373
|
+
focusable.at(-1)?.focus();
|
374
|
+
} else {
|
375
|
+
let _el;
|
376
|
+
let idxx = idx;
|
377
|
+
const inc = location === 'next' ? 1 : -1;
|
378
|
+
do {
|
379
|
+
idxx += inc;
|
380
|
+
_el = focusable[idxx];
|
381
|
+
} while ((!_el || _el.offsetParent == null) && idxx < focusable.length && idxx >= 0);
|
382
|
+
if (_el) _el.focus();else focusChild(el, location === 'next' ? 'first' : 'last');
|
383
|
+
}
|
384
|
+
}
|
359
385
|
|
360
386
|
const block = ['top', 'bottom'];
|
361
387
|
const inline = ['start', 'end', 'left', 'right'];
|
@@ -856,44 +882,6 @@ function getContrast(first, second) {
|
|
856
882
|
return (light + 0.05) / (dark + 0.05);
|
857
883
|
}
|
858
884
|
|
859
|
-
// Utilities
|
860
|
-
function getCurrentInstance(name, message) {
|
861
|
-
const vm = getCurrentInstance$1();
|
862
|
-
if (!vm) {
|
863
|
-
throw new Error(`[Vuetify] ${name} ${message || 'must be called from inside a setup function'}`);
|
864
|
-
}
|
865
|
-
return vm;
|
866
|
-
}
|
867
|
-
function getCurrentInstanceName() {
|
868
|
-
let name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'composables';
|
869
|
-
const vm = getCurrentInstance(name).type;
|
870
|
-
return toKebabCase(vm?.aliasName || vm?.name);
|
871
|
-
}
|
872
|
-
let _uid = 0;
|
873
|
-
let _map = new WeakMap();
|
874
|
-
function getUid() {
|
875
|
-
const vm = getCurrentInstance('getUid');
|
876
|
-
if (_map.has(vm)) return _map.get(vm);else {
|
877
|
-
const uid = _uid++;
|
878
|
-
_map.set(vm, uid);
|
879
|
-
return uid;
|
880
|
-
}
|
881
|
-
}
|
882
|
-
getUid.reset = () => {
|
883
|
-
_uid = 0;
|
884
|
-
_map = new WeakMap();
|
885
|
-
};
|
886
|
-
|
887
|
-
function injectSelf(key) {
|
888
|
-
const {
|
889
|
-
provides
|
890
|
-
} = getCurrentInstance('injectSelf');
|
891
|
-
if (provides && key in provides) {
|
892
|
-
// TS doesn't allow symbol as index type
|
893
|
-
return provides[key];
|
894
|
-
}
|
895
|
-
}
|
896
|
-
|
897
885
|
/**
|
898
886
|
* Creates a factory function for props definitions.
|
899
887
|
* This is used to define props in a composable then override
|
@@ -947,17 +935,54 @@ function propsFactory(props, source) {
|
|
947
935
|
|
948
936
|
// Types
|
949
937
|
|
938
|
+
// Composables
|
939
|
+
const makeComponentProps = propsFactory({
|
940
|
+
class: [String, Array],
|
941
|
+
style: {
|
942
|
+
type: [String, Array, Object],
|
943
|
+
default: null
|
944
|
+
}
|
945
|
+
}, 'component');
|
946
|
+
|
947
|
+
function useToggleScope(source, fn) {
|
948
|
+
let scope;
|
949
|
+
function start() {
|
950
|
+
scope = effectScope();
|
951
|
+
scope.run(() => fn.length ? fn(() => {
|
952
|
+
scope?.stop();
|
953
|
+
start();
|
954
|
+
}) : fn());
|
955
|
+
}
|
956
|
+
watch(source, active => {
|
957
|
+
if (active && !scope) {
|
958
|
+
start();
|
959
|
+
} else if (!active) {
|
960
|
+
scope?.stop();
|
961
|
+
scope = undefined;
|
962
|
+
}
|
963
|
+
}, {
|
964
|
+
immediate: true
|
965
|
+
});
|
966
|
+
onScopeDispose(() => {
|
967
|
+
scope?.stop();
|
968
|
+
});
|
969
|
+
}
|
970
|
+
|
971
|
+
// Composables
|
972
|
+
|
973
|
+
// Types
|
974
|
+
|
950
975
|
const DefaultsSymbol = Symbol.for('vuetify:defaults');
|
951
976
|
function createDefaults(options) {
|
952
977
|
return ref(options);
|
953
978
|
}
|
954
|
-
function
|
979
|
+
function injectDefaults() {
|
955
980
|
const defaults = inject$1(DefaultsSymbol);
|
956
981
|
if (!defaults) throw new Error('[Vuetify] Could not find defaults instance');
|
957
982
|
return defaults;
|
958
983
|
}
|
959
984
|
function provideDefaults(defaults, options) {
|
960
|
-
const injectedDefaults =
|
985
|
+
const injectedDefaults = injectDefaults();
|
961
986
|
const providedDefaults = ref(defaults);
|
962
987
|
const newDefaults = computed(() => {
|
963
988
|
const disabled = unref(options?.disabled);
|
@@ -984,41 +1009,56 @@ function provideDefaults(defaults, options) {
|
|
984
1009
|
provide(DefaultsSymbol, newDefaults);
|
985
1010
|
return newDefaults;
|
986
1011
|
}
|
987
|
-
|
988
|
-
|
989
|
-
|
990
|
-
|
991
|
-
|
992
|
-
|
993
|
-
|
994
|
-
|
995
|
-
|
996
|
-
}
|
997
|
-
|
998
|
-
|
999
|
-
|
1000
|
-
|
1001
|
-
|
1002
|
-
|
1012
|
+
function propIsDefined(vnode, prop) {
|
1013
|
+
return typeof vnode.props?.[prop] !== 'undefined' || typeof vnode.props?.[toKebabCase(prop)] !== 'undefined';
|
1014
|
+
}
|
1015
|
+
function useDefaults(props, name) {
|
1016
|
+
let defaults = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : injectDefaults();
|
1017
|
+
const vm = getCurrentInstance('useDefaults');
|
1018
|
+
name = name ?? vm.type.name ?? vm.type.__name;
|
1019
|
+
if (!name) {
|
1020
|
+
throw new Error('[Vuetify] Could not determine component name');
|
1021
|
+
}
|
1022
|
+
const componentDefaults = computed(() => defaults.value[props._as ?? name]);
|
1023
|
+
const _props = new Proxy(props, {
|
1024
|
+
get(target, prop) {
|
1025
|
+
const propValue = Reflect.get(target, prop);
|
1026
|
+
if (prop === 'class' || prop === 'style') {
|
1027
|
+
return [componentDefaults.value?.[prop], propValue].filter(v => v != null);
|
1028
|
+
} else if (typeof prop === 'string' && !propIsDefined(vm.vnode, prop)) {
|
1029
|
+
return componentDefaults.value?.[prop] ?? defaults.value.global?.[prop] ?? propValue;
|
1030
|
+
}
|
1031
|
+
return propValue;
|
1003
1032
|
}
|
1004
|
-
}, {
|
1005
|
-
immediate: true
|
1006
1033
|
});
|
1007
|
-
|
1008
|
-
|
1034
|
+
const _subcomponentDefaults = shallowRef();
|
1035
|
+
watchEffect(() => {
|
1036
|
+
if (componentDefaults.value) {
|
1037
|
+
const subComponents = Object.entries(componentDefaults.value).filter(_ref => {
|
1038
|
+
let [key] = _ref;
|
1039
|
+
return key.startsWith(key[0].toUpperCase());
|
1040
|
+
});
|
1041
|
+
if (subComponents.length) _subcomponentDefaults.value = Object.fromEntries(subComponents);
|
1042
|
+
}
|
1009
1043
|
});
|
1044
|
+
function provideSubDefaults() {
|
1045
|
+
// If subcomponent defaults are provided, override any
|
1046
|
+
// subcomponents provided by the component's setup function.
|
1047
|
+
// This uses injectSelf so must be done after the original setup to work.
|
1048
|
+
useToggleScope(_subcomponentDefaults, () => {
|
1049
|
+
provideDefaults(mergeDeep(injectSelf(DefaultsSymbol)?.value ?? {}, _subcomponentDefaults.value));
|
1050
|
+
});
|
1051
|
+
}
|
1052
|
+
return {
|
1053
|
+
props: _props,
|
1054
|
+
provideSubDefaults
|
1055
|
+
};
|
1010
1056
|
}
|
1011
1057
|
|
1012
1058
|
// Utils
|
1013
1059
|
|
1014
1060
|
// Types
|
1015
1061
|
|
1016
|
-
function propIsDefined(vnode, prop) {
|
1017
|
-
return typeof vnode.props?.[prop] !== 'undefined' || typeof vnode.props?.[toKebabCase(prop)] !== 'undefined';
|
1018
|
-
}
|
1019
|
-
|
1020
|
-
// No props
|
1021
|
-
|
1022
1062
|
// Implementation
|
1023
1063
|
function defineComponent(options) {
|
1024
1064
|
options._setup = options._setup ?? options.setup;
|
@@ -1030,43 +1070,20 @@ function defineComponent(options) {
|
|
1030
1070
|
options.props = propsFactory(options.props ?? {}, toKebabCase(options.name))();
|
1031
1071
|
const propKeys = Object.keys(options.props);
|
1032
1072
|
options.filterProps = function filterProps(props) {
|
1033
|
-
return pick(props, propKeys);
|
1073
|
+
return pick(props, propKeys, ['class', 'style']);
|
1034
1074
|
};
|
1035
1075
|
options.props._as = String;
|
1036
1076
|
options.setup = function setup(props, ctx) {
|
1037
|
-
const defaults =
|
1077
|
+
const defaults = injectDefaults();
|
1038
1078
|
|
1039
1079
|
// Skip props proxy if defaults are not provided
|
1040
1080
|
if (!defaults.value) return options._setup(props, ctx);
|
1041
|
-
const
|
1042
|
-
|
1043
|
-
|
1044
|
-
|
1045
|
-
const propValue = Reflect.get(target, prop);
|
1046
|
-
if (typeof prop === 'string' && !propIsDefined(vm.vnode, prop)) {
|
1047
|
-
return componentDefaults.value?.[prop] ?? defaults.value.global?.[prop] ?? propValue;
|
1048
|
-
}
|
1049
|
-
return propValue;
|
1050
|
-
}
|
1051
|
-
});
|
1052
|
-
const _subcomponentDefaults = shallowRef();
|
1053
|
-
watchEffect(() => {
|
1054
|
-
if (componentDefaults.value) {
|
1055
|
-
const subComponents = Object.entries(componentDefaults.value).filter(_ref => {
|
1056
|
-
let [key] = _ref;
|
1057
|
-
return key.startsWith(key[0].toUpperCase());
|
1058
|
-
});
|
1059
|
-
if (subComponents.length) _subcomponentDefaults.value = Object.fromEntries(subComponents);
|
1060
|
-
}
|
1061
|
-
});
|
1081
|
+
const {
|
1082
|
+
props: _props,
|
1083
|
+
provideSubDefaults
|
1084
|
+
} = useDefaults(props, props._as ?? options.name, defaults);
|
1062
1085
|
const setupBindings = options._setup(_props, ctx);
|
1063
|
-
|
1064
|
-
// If subcomponent defaults are provided, override any
|
1065
|
-
// subcomponents provided by the component's setup function.
|
1066
|
-
// This uses injectSelf so must be done after the original setup to work.
|
1067
|
-
useToggleScope(_subcomponentDefaults, () => {
|
1068
|
-
provideDefaults(mergeDeep(injectSelf(DefaultsSymbol)?.value ?? {}, _subcomponentDefaults.value));
|
1069
|
-
});
|
1086
|
+
provideSubDefaults();
|
1070
1087
|
return setupBindings;
|
1071
1088
|
};
|
1072
1089
|
}
|
@@ -1087,15 +1104,19 @@ function createSimpleFunctional(klass) {
|
|
1087
1104
|
tag: {
|
1088
1105
|
type: String,
|
1089
1106
|
default: tag
|
1090
|
-
}
|
1107
|
+
},
|
1108
|
+
...makeComponentProps()
|
1091
1109
|
},
|
1092
1110
|
setup(props, _ref) {
|
1093
1111
|
let {
|
1094
1112
|
slots
|
1095
1113
|
} = _ref;
|
1096
|
-
return () =>
|
1097
|
-
|
1098
|
-
|
1114
|
+
return () => {
|
1115
|
+
return h(props.tag, {
|
1116
|
+
class: [klass, props.class],
|
1117
|
+
style: props.style
|
1118
|
+
}, slots.default?.());
|
1119
|
+
};
|
1099
1120
|
}
|
1100
1121
|
});
|
1101
1122
|
}
|
@@ -1128,6 +1149,34 @@ const standardEasing = 'cubic-bezier(0.4, 0, 0.2, 1)';
|
|
1128
1149
|
const deceleratedEasing = 'cubic-bezier(0.0, 0, 0.2, 1)'; // Entering
|
1129
1150
|
const acceleratedEasing = 'cubic-bezier(0.4, 0, 1, 1)'; // Leaving
|
1130
1151
|
|
1152
|
+
// Utilities
|
1153
|
+
function getCurrentInstance(name, message) {
|
1154
|
+
const vm = getCurrentInstance$1();
|
1155
|
+
if (!vm) {
|
1156
|
+
throw new Error(`[Vuetify] ${name} ${message || 'must be called from inside a setup function'}`);
|
1157
|
+
}
|
1158
|
+
return vm;
|
1159
|
+
}
|
1160
|
+
function getCurrentInstanceName() {
|
1161
|
+
let name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'composables';
|
1162
|
+
const vm = getCurrentInstance(name).type;
|
1163
|
+
return toKebabCase(vm?.aliasName || vm?.name);
|
1164
|
+
}
|
1165
|
+
let _uid = 0;
|
1166
|
+
let _map = new WeakMap();
|
1167
|
+
function getUid() {
|
1168
|
+
const vm = getCurrentInstance('getUid');
|
1169
|
+
if (_map.has(vm)) return _map.get(vm);else {
|
1170
|
+
const uid = _uid++;
|
1171
|
+
_map.set(vm, uid);
|
1172
|
+
return uid;
|
1173
|
+
}
|
1174
|
+
}
|
1175
|
+
getUid.reset = () => {
|
1176
|
+
_uid = 0;
|
1177
|
+
_map = new WeakMap();
|
1178
|
+
};
|
1179
|
+
|
1131
1180
|
function getScrollParent(el) {
|
1132
1181
|
while (el) {
|
1133
1182
|
if (hasScrollbar(el)) return el;
|
@@ -1151,6 +1200,16 @@ function hasScrollbar(el) {
|
|
1151
1200
|
return style.overflowY === 'scroll' || style.overflowY === 'auto' && el.scrollHeight > el.clientHeight;
|
1152
1201
|
}
|
1153
1202
|
|
1203
|
+
function injectSelf(key) {
|
1204
|
+
const {
|
1205
|
+
provides
|
1206
|
+
} = getCurrentInstance('injectSelf');
|
1207
|
+
if (provides && key in provides) {
|
1208
|
+
// TS doesn't allow symbol as index type
|
1209
|
+
return provides[key];
|
1210
|
+
}
|
1211
|
+
}
|
1212
|
+
|
1154
1213
|
function isFixedPosition(el) {
|
1155
1214
|
while (el) {
|
1156
1215
|
if (window.getComputedStyle(el).position === 'fixed') {
|
@@ -2133,6 +2192,7 @@ function useRtl() {
|
|
2133
2192
|
const VApp = genericComponent()({
|
2134
2193
|
name: 'VApp',
|
2135
2194
|
props: {
|
2195
|
+
...makeComponentProps(),
|
2136
2196
|
...makeLayoutProps({
|
2137
2197
|
fullHeight: true
|
2138
2198
|
}),
|
@@ -2155,8 +2215,8 @@ const VApp = genericComponent()({
|
|
2155
2215
|
} = useRtl();
|
2156
2216
|
useRender(() => createVNode("div", {
|
2157
2217
|
"ref": layoutRef,
|
2158
|
-
"class": ['v-application', theme.themeClasses.value, layoutClasses.value, rtlClasses.value],
|
2159
|
-
"style": layoutStyles.value
|
2218
|
+
"class": ['v-application', theme.themeClasses.value, layoutClasses.value, rtlClasses.value, props.class],
|
2219
|
+
"style": [layoutStyles.value, props.style]
|
2160
2220
|
}, [createVNode("div", {
|
2161
2221
|
"class": "v-application__wrap"
|
2162
2222
|
}, [slots.default?.()])]));
|
@@ -2581,6 +2641,7 @@ const VResponsive = genericComponent()({
|
|
2581
2641
|
props: {
|
2582
2642
|
aspectRatio: [String, Number],
|
2583
2643
|
contentClass: String,
|
2644
|
+
...makeComponentProps(),
|
2584
2645
|
...makeDimensionProps()
|
2585
2646
|
},
|
2586
2647
|
setup(props, _ref) {
|
@@ -2594,8 +2655,8 @@ const VResponsive = genericComponent()({
|
|
2594
2655
|
dimensionStyles
|
2595
2656
|
} = useDimension(props);
|
2596
2657
|
useRender(() => createVNode("div", {
|
2597
|
-
"class":
|
2598
|
-
"style": dimensionStyles.value
|
2658
|
+
"class": ['v-responsive', props.class],
|
2659
|
+
"style": [dimensionStyles.value, props.style]
|
2599
2660
|
}, [createVNode("div", {
|
2600
2661
|
"class": "v-responsive__sizer",
|
2601
2662
|
"style": aspectStyles.value
|
@@ -2713,6 +2774,7 @@ const VImg = genericComponent()({
|
|
2713
2774
|
},
|
2714
2775
|
srcset: String,
|
2715
2776
|
width: [String, Number],
|
2777
|
+
...makeComponentProps(),
|
2716
2778
|
...makeTransitionProps()
|
2717
2779
|
},
|
2718
2780
|
emits: {
|
@@ -2900,10 +2962,10 @@ const VImg = genericComponent()({
|
|
2900
2962
|
useRender(() => withDirectives(createVNode(VResponsive, {
|
2901
2963
|
"class": ['v-img', {
|
2902
2964
|
'v-img--booting': !isBooted.value
|
2903
|
-
}],
|
2904
|
-
"style": {
|
2965
|
+
}, props.class],
|
2966
|
+
"style": [{
|
2905
2967
|
width: convertToUnit(props.width === 'auto' ? naturalWidth.value : props.width)
|
2906
|
-
},
|
2968
|
+
}, props.style],
|
2907
2969
|
"aspectRatio": aspectRatio.value,
|
2908
2970
|
"aria-label": props.alt,
|
2909
2971
|
"role": props.alt ? 'img' : undefined
|
@@ -2938,10 +3000,9 @@ const makeTagProps = propsFactory({
|
|
2938
3000
|
}
|
2939
3001
|
}, 'tag');
|
2940
3002
|
|
2941
|
-
// Types
|
2942
|
-
|
2943
3003
|
const makeVToolbarTitleProps = propsFactory({
|
2944
3004
|
text: String,
|
3005
|
+
...makeComponentProps(),
|
2945
3006
|
...makeTagProps()
|
2946
3007
|
}, 'v-toolbar-title');
|
2947
3008
|
const VToolbarTitle = genericComponent()({
|
@@ -2954,7 +3015,8 @@ const VToolbarTitle = genericComponent()({
|
|
2954
3015
|
useRender(() => {
|
2955
3016
|
const hasText = !!(slots.default || slots.text || props.text);
|
2956
3017
|
return createVNode(props.tag, {
|
2957
|
-
"class":
|
3018
|
+
"class": ['v-toolbar-title', props.class],
|
3019
|
+
"style": props.style
|
2958
3020
|
}, {
|
2959
3021
|
default: () => [hasText && createVNode("div", {
|
2960
3022
|
"class": "v-toolbar-title__placeholder"
|
@@ -3135,6 +3197,7 @@ const makeVToolbarProps = propsFactory({
|
|
3135
3197
|
image: String,
|
3136
3198
|
title: String,
|
3137
3199
|
...makeBorderProps(),
|
3200
|
+
...makeComponentProps(),
|
3138
3201
|
...makeElevationProps(),
|
3139
3202
|
...makeRoundedProps(),
|
3140
3203
|
...makeTagProps({
|
@@ -3185,8 +3248,8 @@ const VToolbar = genericComponent()({
|
|
3185
3248
|
'v-toolbar--flat': props.flat,
|
3186
3249
|
'v-toolbar--floating': props.floating,
|
3187
3250
|
[`v-toolbar--density-${props.density}`]: true
|
3188
|
-
}, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, roundedClasses.value, themeClasses.value],
|
3189
|
-
"style": [backgroundColorStyles.value]
|
3251
|
+
}, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, roundedClasses.value, themeClasses.value, props.class],
|
3252
|
+
"style": [backgroundColorStyles.value, props.style]
|
3190
3253
|
}, {
|
3191
3254
|
default: () => [hasImage && createVNode("div", {
|
3192
3255
|
"key": "image",
|
@@ -3471,13 +3534,13 @@ const VAppBar = genericComponent()({
|
|
3471
3534
|
"ref": vToolbarRef,
|
3472
3535
|
"class": ['v-app-bar', {
|
3473
3536
|
'v-app-bar--bottom': props.location === 'bottom'
|
3474
|
-
}],
|
3475
|
-
"style": {
|
3537
|
+
}, props.class],
|
3538
|
+
"style": [{
|
3476
3539
|
...layoutItemStyles.value,
|
3477
3540
|
'--v-toolbar-image-opacity': opacity.value,
|
3478
3541
|
height: undefined,
|
3479
3542
|
...ssrBootStyles.value
|
3480
|
-
}
|
3543
|
+
}, props.style]
|
3481
3544
|
}, toolbarProps, {
|
3482
3545
|
"collapse": isCollapsed.value,
|
3483
3546
|
"flat": isFlat.value
|
@@ -3564,6 +3627,7 @@ function useVariant(props) {
|
|
3564
3627
|
const makeVBtnGroupProps = propsFactory({
|
3565
3628
|
divided: Boolean,
|
3566
3629
|
...makeBorderProps(),
|
3630
|
+
...makeComponentProps(),
|
3567
3631
|
...makeDensityProps(),
|
3568
3632
|
...makeElevationProps(),
|
3569
3633
|
...makeRoundedProps(),
|
@@ -3606,7 +3670,8 @@ const VBtnGroup = genericComponent()({
|
|
3606
3670
|
return createVNode(props.tag, {
|
3607
3671
|
"class": ['v-btn-group', {
|
3608
3672
|
'v-btn-group--divided': props.divided
|
3609
|
-
}, themeClasses.value, borderClasses.value, densityClasses.value, elevationClasses.value, roundedClasses.value]
|
3673
|
+
}, themeClasses.value, borderClasses.value, densityClasses.value, elevationClasses.value, roundedClasses.value, props.class],
|
3674
|
+
"style": props.style
|
3610
3675
|
}, slots);
|
3611
3676
|
});
|
3612
3677
|
}
|
@@ -3839,8 +3904,10 @@ const VBtnToggle = genericComponent()({
|
|
3839
3904
|
useRender(() => {
|
3840
3905
|
const [btnGroupProps] = VBtnGroup.filterProps(props);
|
3841
3906
|
return createVNode(VBtnGroup, mergeProps({
|
3842
|
-
"class":
|
3843
|
-
}, btnGroupProps
|
3907
|
+
"class": ['v-btn-toggle', props.class]
|
3908
|
+
}, btnGroupProps, {
|
3909
|
+
"style": props.style
|
3910
|
+
}), {
|
3844
3911
|
default: () => [slots.default?.({
|
3845
3912
|
isSelected,
|
3846
3913
|
next,
|
@@ -3911,7 +3978,7 @@ const mdi = {
|
|
3911
3978
|
|
3912
3979
|
// Types
|
3913
3980
|
|
3914
|
-
const IconValue = [String, Function, Object];
|
3981
|
+
const IconValue = [String, Function, Object, Array];
|
3915
3982
|
const IconSymbol = Symbol.for('vuetify:icons');
|
3916
3983
|
const makeIconProps = propsFactory({
|
3917
3984
|
icon: {
|
@@ -3931,8 +3998,9 @@ const VComponentIcon = genericComponent()({
|
|
3931
3998
|
slots
|
3932
3999
|
} = _ref;
|
3933
4000
|
return () => {
|
4001
|
+
const Icon = props.icon;
|
3934
4002
|
return createVNode(props.tag, null, {
|
3935
|
-
default: () => [props.icon ? createVNode(
|
4003
|
+
default: () => [props.icon ? createVNode(Icon, null, null) : slots.default?.()]
|
3936
4004
|
});
|
3937
4005
|
};
|
3938
4006
|
}
|
@@ -3955,7 +4023,12 @@ const VSvgIcon = defineComponent({
|
|
3955
4023
|
"viewBox": "0 0 24 24",
|
3956
4024
|
"role": "img",
|
3957
4025
|
"aria-hidden": "true"
|
3958
|
-
}, [createVNode("path", {
|
4026
|
+
}, [Array.isArray(props.icon) ? props.icon.map(path => Array.isArray(path) ? createVNode("path", {
|
4027
|
+
"d": path[0],
|
4028
|
+
"fill-opacity": path[1]
|
4029
|
+
}, null) : createVNode("path", {
|
4030
|
+
"d": path
|
4031
|
+
}, null)) : createVNode("path", {
|
3959
4032
|
"d": props.icon
|
3960
4033
|
}, null)])]
|
3961
4034
|
});
|
@@ -4020,7 +4093,12 @@ const useIcon = props => {
|
|
4020
4093
|
}
|
4021
4094
|
}
|
4022
4095
|
if (!icon) throw new Error(`Could not find aliased icon "${iconAlias}"`);
|
4023
|
-
if (
|
4096
|
+
if (Array.isArray(icon)) {
|
4097
|
+
return {
|
4098
|
+
component: VSvgIcon,
|
4099
|
+
icon
|
4100
|
+
};
|
4101
|
+
} else if (typeof icon !== 'string') {
|
4024
4102
|
return {
|
4025
4103
|
component: VComponentIcon,
|
4026
4104
|
icon
|
@@ -4077,6 +4155,7 @@ const makeVIconProps = propsFactory({
|
|
4077
4155
|
start: Boolean,
|
4078
4156
|
end: Boolean,
|
4079
4157
|
icon: IconValue,
|
4158
|
+
...makeComponentProps(),
|
4080
4159
|
...makeSizeProps(),
|
4081
4160
|
...makeTagProps({
|
4082
4161
|
tag: 'i'
|
@@ -4119,12 +4198,12 @@ const VIcon = genericComponent()({
|
|
4119
4198
|
'v-icon--clickable': !!attrs.onClick,
|
4120
4199
|
'v-icon--start': props.start,
|
4121
4200
|
'v-icon--end': props.end
|
4122
|
-
}],
|
4201
|
+
}, props.class],
|
4123
4202
|
"style": [!sizeClasses.value ? {
|
4124
4203
|
fontSize: convertToUnit(props.size),
|
4125
4204
|
height: convertToUnit(props.size),
|
4126
4205
|
width: convertToUnit(props.size)
|
4127
|
-
} : undefined, textColorStyles.value],
|
4206
|
+
} : undefined, textColorStyles.value, props.style],
|
4128
4207
|
"role": attrs.onClick ? 'button' : undefined,
|
4129
4208
|
"aria-hidden": !attrs.onClick
|
4130
4209
|
}, {
|
@@ -4182,6 +4261,7 @@ const VProgressCircular = genericComponent()({
|
|
4182
4261
|
type: [Number, String],
|
4183
4262
|
default: 4
|
4184
4263
|
},
|
4264
|
+
...makeComponentProps(),
|
4185
4265
|
...makeSizeProps(),
|
4186
4266
|
...makeTagProps({
|
4187
4267
|
tag: 'div'
|
@@ -4237,8 +4317,8 @@ const VProgressCircular = genericComponent()({
|
|
4237
4317
|
'v-progress-circular--indeterminate': !!props.indeterminate,
|
4238
4318
|
'v-progress-circular--visible': isIntersecting.value,
|
4239
4319
|
'v-progress-circular--disable-shrink': props.indeterminate === 'disable-shrink'
|
4240
|
-
}, themeClasses.value, sizeClasses.value, textColorClasses.value],
|
4241
|
-
"style": [sizeStyles.value, textColorStyles.value],
|
4320
|
+
}, themeClasses.value, sizeClasses.value, textColorClasses.value, props.class],
|
4321
|
+
"style": [sizeStyles.value, textColorStyles.value, props.style],
|
4242
4322
|
"role": "progressbar",
|
4243
4323
|
"aria-valuemin": "0",
|
4244
4324
|
"aria-valuemax": "100",
|
@@ -4657,6 +4737,7 @@ const VProgressLinear = genericComponent()({
|
|
4657
4737
|
stream: Boolean,
|
4658
4738
|
striped: Boolean,
|
4659
4739
|
roundedBar: Boolean,
|
4740
|
+
...makeComponentProps(),
|
4660
4741
|
...makeLocationProps({
|
4661
4742
|
location: 'top'
|
4662
4743
|
}),
|
@@ -4728,14 +4809,14 @@ const VProgressLinear = genericComponent()({
|
|
4728
4809
|
'v-progress-linear--rounded': props.rounded,
|
4729
4810
|
'v-progress-linear--rounded-bar': props.roundedBar,
|
4730
4811
|
'v-progress-linear--striped': props.striped
|
4731
|
-
}, roundedClasses.value, themeClasses.value],
|
4732
|
-
"style": {
|
4812
|
+
}, roundedClasses.value, themeClasses.value, props.class],
|
4813
|
+
"style": [{
|
4733
4814
|
bottom: props.location === 'bottom' ? 0 : undefined,
|
4734
4815
|
top: props.location === 'top' ? 0 : undefined,
|
4735
4816
|
height: props.active ? convertToUnit(height.value) : 0,
|
4736
4817
|
'--v-progress-linear-height': convertToUnit(height.value),
|
4737
4818
|
...locationStyles.value
|
4738
|
-
},
|
4819
|
+
}, props.style],
|
4739
4820
|
"role": "progressbar",
|
4740
4821
|
"aria-hidden": props.active ? 'false' : 'true',
|
4741
4822
|
"aria-valuemin": "0",
|
@@ -4946,7 +5027,7 @@ const makeVBtnProps = propsFactory({
|
|
4946
5027
|
},
|
4947
5028
|
text: String,
|
4948
5029
|
...makeBorderProps(),
|
4949
|
-
...
|
5030
|
+
...makeComponentProps(),
|
4950
5031
|
...makeDensityProps(),
|
4951
5032
|
...makeDimensionProps(),
|
4952
5033
|
...makeElevationProps(),
|
@@ -4954,6 +5035,7 @@ const makeVBtnProps = propsFactory({
|
|
4954
5035
|
...makeLoaderProps(),
|
4955
5036
|
...makeLocationProps(),
|
4956
5037
|
...makePositionProps(),
|
5038
|
+
...makeRoundedProps(),
|
4957
5039
|
...makeRouterProps(),
|
4958
5040
|
...makeSizeProps(),
|
4959
5041
|
...makeTagProps({
|
@@ -5051,8 +5133,8 @@ const VBtn = genericComponent()({
|
|
5051
5133
|
'v-btn--icon': !!props.icon,
|
5052
5134
|
'v-btn--loading': props.loading,
|
5053
5135
|
'v-btn--stacked': props.stacked
|
5054
|
-
}, themeClasses.value, borderClasses.value, hasColor ? colorClasses.value : undefined, densityClasses.value, elevationClasses.value, loaderClasses.value, positionClasses.value, roundedClasses.value, sizeClasses.value, variantClasses.value],
|
5055
|
-
"style": [hasColor ? colorStyles.value : undefined, dimensionStyles.value, locationStyles.value, sizeStyles.value],
|
5136
|
+
}, themeClasses.value, borderClasses.value, hasColor ? colorClasses.value : undefined, densityClasses.value, elevationClasses.value, loaderClasses.value, positionClasses.value, roundedClasses.value, sizeClasses.value, variantClasses.value, props.class],
|
5137
|
+
"style": [hasColor ? colorStyles.value : undefined, dimensionStyles.value, locationStyles.value, sizeStyles.value, props.style],
|
5056
5138
|
"disabled": isDisabled.value || undefined,
|
5057
5139
|
"href": link.href.value,
|
5058
5140
|
"onClick": e => {
|
@@ -5129,15 +5211,17 @@ const VAppBarNavIcon = genericComponent()({
|
|
5129
5211
|
icon: {
|
5130
5212
|
type: IconValue,
|
5131
5213
|
default: '$menu'
|
5132
|
-
}
|
5214
|
+
},
|
5215
|
+
...makeComponentProps()
|
5133
5216
|
},
|
5134
5217
|
setup(props, _ref) {
|
5135
5218
|
let {
|
5136
5219
|
slots
|
5137
5220
|
} = _ref;
|
5138
5221
|
useRender(() => createVNode(VBtn, {
|
5139
|
-
"class":
|
5140
|
-
"icon": props.icon
|
5222
|
+
"class": ['v-app-bar-nav-icon', props.class],
|
5223
|
+
"icon": props.icon,
|
5224
|
+
"style": props.style
|
5141
5225
|
}, slots));
|
5142
5226
|
return {};
|
5143
5227
|
}
|
@@ -5145,9 +5229,12 @@ const VAppBarNavIcon = genericComponent()({
|
|
5145
5229
|
|
5146
5230
|
const VToolbarItems = genericComponent()({
|
5147
5231
|
name: 'VToolbarItems',
|
5148
|
-
props:
|
5149
|
-
|
5150
|
-
|
5232
|
+
props: {
|
5233
|
+
...makeComponentProps(),
|
5234
|
+
...makeVariantProps({
|
5235
|
+
variant: 'text'
|
5236
|
+
})
|
5237
|
+
},
|
5151
5238
|
setup(props, _ref) {
|
5152
5239
|
let {
|
5153
5240
|
slots
|
@@ -5160,7 +5247,8 @@ const VToolbarItems = genericComponent()({
|
|
5160
5247
|
}
|
5161
5248
|
});
|
5162
5249
|
useRender(() => createVNode("div", {
|
5163
|
-
"class":
|
5250
|
+
"class": ['v-toolbar-items', props.class],
|
5251
|
+
"style": props.style
|
5164
5252
|
}, [slots.default?.()]));
|
5165
5253
|
return {};
|
5166
5254
|
}
|
@@ -5222,6 +5310,7 @@ const VAlert = genericComponent()({
|
|
5222
5310
|
type: String,
|
5223
5311
|
validator: val => allowedTypes.includes(val)
|
5224
5312
|
},
|
5313
|
+
...makeComponentProps(),
|
5225
5314
|
...makeDensityProps(),
|
5226
5315
|
...makeDimensionProps(),
|
5227
5316
|
...makeElevationProps(),
|
@@ -5304,8 +5393,8 @@ const VAlert = genericComponent()({
|
|
5304
5393
|
[`v-alert--border-${props.border === true ? 'start' : props.border}`]: true
|
5305
5394
|
}, {
|
5306
5395
|
'v-alert--prominent': props.prominent
|
5307
|
-
}, themeClasses.value, colorClasses.value, densityClasses.value, elevationClasses.value, positionClasses.value, roundedClasses.value, variantClasses.value],
|
5308
|
-
"style": [colorStyles.value, dimensionStyles.value, locationStyles.value],
|
5396
|
+
}, themeClasses.value, colorClasses.value, densityClasses.value, elevationClasses.value, positionClasses.value, roundedClasses.value, variantClasses.value, props.class],
|
5397
|
+
"style": [colorStyles.value, dimensionStyles.value, locationStyles.value, props.style],
|
5309
5398
|
"role": "alert"
|
5310
5399
|
}, {
|
5311
5400
|
default: () => [genOverlays(false, 'v-alert'), props.border && createVNode("div", {
|
@@ -5399,6 +5488,7 @@ const VLabel = genericComponent()({
|
|
5399
5488
|
props: {
|
5400
5489
|
text: String,
|
5401
5490
|
clickable: Boolean,
|
5491
|
+
...makeComponentProps(),
|
5402
5492
|
...makeThemeProps()
|
5403
5493
|
},
|
5404
5494
|
setup(props, _ref) {
|
@@ -5408,7 +5498,8 @@ const VLabel = genericComponent()({
|
|
5408
5498
|
useRender(() => createVNode("label", {
|
5409
5499
|
"class": ['v-label', {
|
5410
5500
|
'v-label--clickable': props.clickable
|
5411
|
-
}]
|
5501
|
+
}, props.class],
|
5502
|
+
"style": props.style
|
5412
5503
|
}, [props.text, slots.default?.()]));
|
5413
5504
|
return {};
|
5414
5505
|
}
|
@@ -5417,7 +5508,8 @@ const VLabel = genericComponent()({
|
|
5417
5508
|
const VFieldLabel = genericComponent()({
|
5418
5509
|
name: 'VFieldLabel',
|
5419
5510
|
props: {
|
5420
|
-
floating: Boolean
|
5511
|
+
floating: Boolean,
|
5512
|
+
...makeComponentProps()
|
5421
5513
|
},
|
5422
5514
|
setup(props, _ref) {
|
5423
5515
|
let {
|
@@ -5426,7 +5518,8 @@ const VFieldLabel = genericComponent()({
|
|
5426
5518
|
useRender(() => createVNode(VLabel, {
|
5427
5519
|
"class": ['v-field-label', {
|
5428
5520
|
'v-field-label--floating': props.floating
|
5429
|
-
}],
|
5521
|
+
}, props.class],
|
5522
|
+
"style": props.style,
|
5430
5523
|
"aria-hidden": props.floating || undefined
|
5431
5524
|
}, slots));
|
5432
5525
|
return {};
|
@@ -5477,6 +5570,7 @@ const makeVFieldProps = propsFactory({
|
|
5477
5570
|
},
|
5478
5571
|
active: Boolean,
|
5479
5572
|
color: String,
|
5573
|
+
baseColor: String,
|
5480
5574
|
dirty: Boolean,
|
5481
5575
|
disabled: Boolean,
|
5482
5576
|
error: Boolean,
|
@@ -5494,9 +5588,10 @@ const makeVFieldProps = propsFactory({
|
|
5494
5588
|
'onClick:clear': EventProp(),
|
5495
5589
|
'onClick:appendInner': EventProp(),
|
5496
5590
|
'onClick:prependInner': EventProp(),
|
5497
|
-
...
|
5591
|
+
...makeComponentProps(),
|
5498
5592
|
...makeLoaderProps(),
|
5499
|
-
...makeRoundedProps()
|
5593
|
+
...makeRoundedProps(),
|
5594
|
+
...makeThemeProps()
|
5500
5595
|
}, 'v-field');
|
5501
5596
|
const VField = genericComponent()({
|
5502
5597
|
name: 'VField',
|
@@ -5550,7 +5645,7 @@ const VField = genericComponent()({
|
|
5550
5645
|
textColorClasses,
|
5551
5646
|
textColorStyles
|
5552
5647
|
} = useTextColor(computed(() => {
|
5553
|
-
return
|
5648
|
+
return props.error || props.disabled ? undefined : isActive.value && isFocused.value ? props.color : props.baseColor;
|
5554
5649
|
}));
|
5555
5650
|
watch(isActive, val => {
|
5556
5651
|
if (hasLabel.value) {
|
@@ -5627,8 +5722,8 @@ const VField = genericComponent()({
|
|
5627
5722
|
'v-field--single-line': props.singleLine,
|
5628
5723
|
'v-field--no-label': !label,
|
5629
5724
|
[`v-field--variant-${props.variant}`]: true
|
5630
|
-
}, themeClasses.value, backgroundColorClasses.value, focusClasses.value, loaderClasses.value, roundedClasses.value],
|
5631
|
-
"style": [backgroundColorStyles.value, textColorStyles.value],
|
5725
|
+
}, themeClasses.value, backgroundColorClasses.value, focusClasses.value, loaderClasses.value, roundedClasses.value, props.class],
|
5726
|
+
"style": [backgroundColorStyles.value, textColorStyles.value, props.style],
|
5632
5727
|
"onClick": onClick
|
5633
5728
|
}, attrs), [createVNode("div", {
|
5634
5729
|
"class": "v-field__overlay"
|
@@ -5716,7 +5811,7 @@ const VField = genericComponent()({
|
|
5716
5811
|
});
|
5717
5812
|
// TODO: this is kinda slow, might be better to implicitly inherit props instead
|
5718
5813
|
function filterFieldProps(attrs) {
|
5719
|
-
const keys = Object.keys(VField.props).filter(k => !isOn(k));
|
5814
|
+
const keys = Object.keys(VField.props).filter(k => !isOn(k) && k !== 'class' && k !== 'style');
|
5720
5815
|
return pick(attrs, keys);
|
5721
5816
|
}
|
5722
5817
|
|
@@ -5731,6 +5826,7 @@ const VMessages = genericComponent()({
|
|
5731
5826
|
type: [Array, String],
|
5732
5827
|
default: () => []
|
5733
5828
|
},
|
5829
|
+
...makeComponentProps(),
|
5734
5830
|
...makeTransitionProps({
|
5735
5831
|
transition: {
|
5736
5832
|
component: VSlideYTransition,
|
@@ -5751,8 +5847,8 @@ const VMessages = genericComponent()({
|
|
5751
5847
|
useRender(() => createVNode(MaybeTransition, {
|
5752
5848
|
"transition": props.transition,
|
5753
5849
|
"tag": "div",
|
5754
|
-
"class": ['v-messages', textColorClasses.value],
|
5755
|
-
"style": textColorStyles.value,
|
5850
|
+
"class": ['v-messages', textColorClasses.value, props.class],
|
5851
|
+
"style": [textColorStyles.value, props.style],
|
5756
5852
|
"role": "alert",
|
5757
5853
|
"aria-live": "polite"
|
5758
5854
|
}, {
|
@@ -6048,6 +6144,7 @@ const makeVInputProps = propsFactory({
|
|
6048
6144
|
},
|
6049
6145
|
'onClick:prepend': EventProp(),
|
6050
6146
|
'onClick:append': EventProp(),
|
6147
|
+
...makeComponentProps(),
|
6051
6148
|
...makeDensityProps(),
|
6052
6149
|
...makeValidationProps()
|
6053
6150
|
}, 'v-input');
|
@@ -6115,7 +6212,8 @@ const VInput = genericComponent()({
|
|
6115
6212
|
const hasMessages = messages.value.length > 0;
|
6116
6213
|
const hasDetails = !props.hideDetails || props.hideDetails === 'auto' && (hasMessages || !!slots.details);
|
6117
6214
|
return createVNode("div", {
|
6118
|
-
"class": ['v-input', `v-input--${props.direction}`, densityClasses.value, validationClasses.value]
|
6215
|
+
"class": ['v-input', `v-input--${props.direction}`, densityClasses.value, validationClasses.value, props.class],
|
6216
|
+
"style": props.style
|
6119
6217
|
}, [hasPrepend && createVNode("div", {
|
6120
6218
|
"key": "prepend",
|
6121
6219
|
"class": "v-input__prepend"
|
@@ -6158,6 +6256,7 @@ const VCounter = genericComponent()({
|
|
6158
6256
|
type: [Number, String],
|
6159
6257
|
default: 0
|
6160
6258
|
},
|
6259
|
+
...makeComponentProps(),
|
6161
6260
|
...makeTransitionProps({
|
6162
6261
|
transition: {
|
6163
6262
|
component: VSlideYTransition
|
@@ -6175,7 +6274,8 @@ const VCounter = genericComponent()({
|
|
6175
6274
|
"transition": props.transition
|
6176
6275
|
}, {
|
6177
6276
|
default: () => [withDirectives(createVNode("div", {
|
6178
|
-
"class":
|
6277
|
+
"class": ['v-counter', props.class],
|
6278
|
+
"style": props.style
|
6179
6279
|
}, [slots.default ? slots.default({
|
6180
6280
|
counter: counter.value,
|
6181
6281
|
max: props.max,
|
@@ -6378,7 +6478,8 @@ const VTextField = genericComponent()({
|
|
6378
6478
|
'v-text-field--prefixed': props.prefix,
|
6379
6479
|
'v-text-field--suffixed': props.suffix,
|
6380
6480
|
'v-text-field--flush-details': ['plain', 'underlined'].includes(props.variant)
|
6381
|
-
}]
|
6481
|
+
}, props.class],
|
6482
|
+
"style": props.style
|
6382
6483
|
}, rootAttrs, inputProps, {
|
6383
6484
|
"focused": isFocused.value
|
6384
6485
|
}), {
|
@@ -6494,6 +6595,7 @@ const VSelectionControlGroup = genericComponent()({
|
|
6494
6595
|
type: String,
|
6495
6596
|
default: 'VSelectionControl'
|
6496
6597
|
},
|
6598
|
+
...makeComponentProps(),
|
6497
6599
|
...makeSelectionControlGroupProps()
|
6498
6600
|
},
|
6499
6601
|
emits: {
|
@@ -6541,7 +6643,8 @@ const VSelectionControlGroup = genericComponent()({
|
|
6541
6643
|
useRender(() => createVNode("div", {
|
6542
6644
|
"class": ['v-selection-control-group', {
|
6543
6645
|
'v-selection-control-group--inline': props.inline
|
6544
|
-
}],
|
6646
|
+
}, props.class],
|
6647
|
+
"style": props.style,
|
6545
6648
|
"role": props.type === 'radio' ? 'radiogroup' : undefined
|
6546
6649
|
}, [slots.default?.()]));
|
6547
6650
|
return {};
|
@@ -6555,6 +6658,7 @@ const makeSelectionControlProps = propsFactory({
|
|
6555
6658
|
trueValue: null,
|
6556
6659
|
falseValue: null,
|
6557
6660
|
value: null,
|
6661
|
+
...makeComponentProps(),
|
6558
6662
|
...makeSelectionControlGroupProps()
|
6559
6663
|
}, 'v-selection-control');
|
6560
6664
|
function useSelectionControl(props) {
|
@@ -6669,8 +6773,10 @@ const VSelectionControl = genericComponent()({
|
|
6669
6773
|
'v-selection-control--focused': isFocused.value,
|
6670
6774
|
'v-selection-control--focus-visible': isFocusVisible.value,
|
6671
6775
|
'v-selection-control--inline': props.inline
|
6672
|
-
}, densityClasses.value]
|
6673
|
-
}, rootAttrs
|
6776
|
+
}, densityClasses.value, props.class]
|
6777
|
+
}, rootAttrs, {
|
6778
|
+
"style": props.style
|
6779
|
+
}), [createVNode("div", {
|
6674
6780
|
"class": ['v-selection-control__wrapper', textColorClasses.value],
|
6675
6781
|
"style": textColorStyles.value
|
6676
6782
|
}, [slots.default?.(), withDirectives(createVNode("div", {
|
@@ -6752,7 +6858,8 @@ const VCheckboxBtn = genericComponent()({
|
|
6752
6858
|
useRender(() => createVNode(VSelectionControl, mergeProps(props, {
|
6753
6859
|
"modelValue": model.value,
|
6754
6860
|
"onUpdate:modelValue": [$event => model.value = $event, onChange],
|
6755
|
-
"class":
|
6861
|
+
"class": ['v-checkbox-btn', props.class],
|
6862
|
+
"style": props.style,
|
6756
6863
|
"type": "checkbox",
|
6757
6864
|
"inline": true,
|
6758
6865
|
"falseIcon": falseIcon.value,
|
@@ -6792,10 +6899,11 @@ const VCheckbox = genericComponent()({
|
|
6792
6899
|
const [inputProps, _1] = VInput.filterProps(props);
|
6793
6900
|
const [checkboxProps, _2] = VCheckboxBtn.filterProps(props);
|
6794
6901
|
return createVNode(VInput, mergeProps({
|
6795
|
-
"class":
|
6902
|
+
"class": ['v-checkbox', props.class]
|
6796
6903
|
}, inputAttrs, inputProps, {
|
6797
6904
|
"id": id.value,
|
6798
|
-
"focused": isFocused.value
|
6905
|
+
"focused": isFocused.value,
|
6906
|
+
"style": props.style
|
6799
6907
|
}), {
|
6800
6908
|
...slots,
|
6801
6909
|
default: _ref2 => {
|
@@ -6826,6 +6934,7 @@ const makeVAvatarProps = propsFactory({
|
|
6826
6934
|
end: Boolean,
|
6827
6935
|
icon: IconValue,
|
6828
6936
|
image: String,
|
6937
|
+
...makeComponentProps(),
|
6829
6938
|
...makeDensityProps(),
|
6830
6939
|
...makeRoundedProps(),
|
6831
6940
|
...makeSizeProps(),
|
@@ -6864,8 +6973,8 @@ const VAvatar = genericComponent()({
|
|
6864
6973
|
"class": ['v-avatar', {
|
6865
6974
|
'v-avatar--start': props.start,
|
6866
6975
|
'v-avatar--end': props.end
|
6867
|
-
}, themeClasses.value, colorClasses.value, densityClasses.value, roundedClasses.value, sizeClasses.value, variantClasses.value],
|
6868
|
-
"style": [colorStyles.value, sizeStyles.value]
|
6976
|
+
}, themeClasses.value, colorClasses.value, densityClasses.value, roundedClasses.value, sizeClasses.value, variantClasses.value, props.class],
|
6977
|
+
"style": [colorStyles.value, sizeStyles.value, props.style]
|
6869
6978
|
}, {
|
6870
6979
|
default: () => [props.image ? createVNode(VImg, {
|
6871
6980
|
"key": "image",
|
@@ -6893,6 +7002,7 @@ const VChipGroup = genericComponent()({
|
|
6893
7002
|
type: Function,
|
6894
7003
|
default: deepEqual
|
6895
7004
|
},
|
7005
|
+
...makeComponentProps(),
|
6896
7006
|
...makeGroupProps({
|
6897
7007
|
selectedClass: 'v-chip--selected'
|
6898
7008
|
}),
|
@@ -6930,7 +7040,8 @@ const VChipGroup = genericComponent()({
|
|
6930
7040
|
useRender(() => createVNode(props.tag, {
|
6931
7041
|
"class": ['v-chip-group', {
|
6932
7042
|
'v-chip-group--column': props.column
|
6933
|
-
}, themeClasses.value]
|
7043
|
+
}, themeClasses.value, props.class],
|
7044
|
+
"style": props.style
|
6934
7045
|
}, {
|
6935
7046
|
default: () => [slots.default?.({
|
6936
7047
|
isSelected,
|
@@ -6944,8 +7055,6 @@ const VChipGroup = genericComponent()({
|
|
6944
7055
|
}
|
6945
7056
|
});
|
6946
7057
|
|
6947
|
-
// Types
|
6948
|
-
|
6949
7058
|
const VChip = genericComponent()({
|
6950
7059
|
name: 'VChip',
|
6951
7060
|
directives: {
|
@@ -6990,6 +7099,7 @@ const VChip = genericComponent()({
|
|
6990
7099
|
onClick: EventProp(),
|
6991
7100
|
onClickOnce: EventProp(),
|
6992
7101
|
...makeBorderProps(),
|
7102
|
+
...makeComponentProps(),
|
6993
7103
|
...makeDensityProps(),
|
6994
7104
|
...makeElevationProps(),
|
6995
7105
|
...makeGroupItemProps(),
|
@@ -7082,8 +7192,8 @@ const VChip = genericComponent()({
|
|
7082
7192
|
'v-chip--link': isClickable.value,
|
7083
7193
|
'v-chip--filter': hasFilter,
|
7084
7194
|
'v-chip--pill': props.pill
|
7085
|
-
}, themeClasses.value, borderClasses.value, hasColor ? colorClasses.value : undefined, densityClasses.value, elevationClasses.value, roundedClasses.value, sizeClasses.value, variantClasses.value, group?.selectedClass.value],
|
7086
|
-
"style": [hasColor ? colorStyles.value : undefined],
|
7195
|
+
}, themeClasses.value, borderClasses.value, hasColor ? colorClasses.value : undefined, densityClasses.value, elevationClasses.value, roundedClasses.value, sizeClasses.value, variantClasses.value, group?.selectedClass.value, props.class],
|
7196
|
+
"style": [hasColor ? colorStyles.value : undefined, props.style],
|
7087
7197
|
"disabled": props.disabled || undefined,
|
7088
7198
|
"draggable": props.draggable,
|
7089
7199
|
"href": link.href.value,
|
@@ -7192,6 +7302,7 @@ const VDivider = genericComponent()({
|
|
7192
7302
|
length: [Number, String],
|
7193
7303
|
thickness: [Number, String],
|
7194
7304
|
vertical: Boolean,
|
7305
|
+
...makeComponentProps(),
|
7195
7306
|
...makeThemeProps()
|
7196
7307
|
},
|
7197
7308
|
setup(props, _ref) {
|
@@ -7220,8 +7331,8 @@ const VDivider = genericComponent()({
|
|
7220
7331
|
'v-divider': true,
|
7221
7332
|
'v-divider--inset': props.inset,
|
7222
7333
|
'v-divider--vertical': props.vertical
|
7223
|
-
}, themeClasses.value, textColorClasses.value],
|
7224
|
-
"style": [dividerStyles.value, textColorStyles.value],
|
7334
|
+
}, themeClasses.value, textColorClasses.value, props.class],
|
7335
|
+
"style": [dividerStyles.value, textColorStyles.value, props.style],
|
7225
7336
|
"aria-orientation": !attrs.role || attrs.role === 'separator' ? props.vertical ? 'vertical' : 'horizontal' : undefined,
|
7226
7337
|
"role": `${attrs.role || 'separator'}`
|
7227
7338
|
}, null));
|
@@ -7720,6 +7831,7 @@ const makeVListGroupProps = propsFactory({
|
|
7720
7831
|
fluid: Boolean,
|
7721
7832
|
subgroup: Boolean,
|
7722
7833
|
value: null,
|
7834
|
+
...makeComponentProps(),
|
7723
7835
|
...makeTagProps()
|
7724
7836
|
}, 'v-list-group');
|
7725
7837
|
const VListGroup = genericComponent()({
|
@@ -7768,7 +7880,8 @@ const VListGroup = genericComponent()({
|
|
7768
7880
|
'v-list-group--fluid': props.fluid,
|
7769
7881
|
'v-list-group--subgroup': props.subgroup,
|
7770
7882
|
'v-list-group--open': isOpen.value
|
7771
|
-
}]
|
7883
|
+
}, props.class],
|
7884
|
+
"style": props.style
|
7772
7885
|
}, {
|
7773
7886
|
default: () => [slots.activator && createVNode(VDefaultsProvider, {
|
7774
7887
|
"defaults": activatorDefaults.value
|
@@ -7835,6 +7948,7 @@ const VListItem = genericComponent()({
|
|
7835
7948
|
onClick: EventProp(),
|
7836
7949
|
onClickOnce: EventProp(),
|
7837
7950
|
...makeBorderProps(),
|
7951
|
+
...makeComponentProps(),
|
7838
7952
|
...makeDensityProps(),
|
7839
7953
|
...makeDimensionProps(),
|
7840
7954
|
...makeElevationProps(),
|
@@ -7945,8 +8059,8 @@ const VListItem = genericComponent()({
|
|
7945
8059
|
'v-list-item--nav': props.nav,
|
7946
8060
|
'v-list-item--prepend': !hasPrepend && list?.hasPrepend.value,
|
7947
8061
|
[`${props.activeClass}`]: props.activeClass && isActive.value
|
7948
|
-
}, themeClasses.value, borderClasses.value, hasColor ? colorClasses.value : undefined, densityClasses.value, elevationClasses.value, lineClasses.value, roundedClasses.value, variantClasses.value],
|
7949
|
-
"style": [hasColor ? colorStyles.value : undefined, dimensionStyles.value],
|
8062
|
+
}, themeClasses.value, borderClasses.value, hasColor ? colorClasses.value : undefined, densityClasses.value, elevationClasses.value, lineClasses.value, roundedClasses.value, variantClasses.value, props.class],
|
8063
|
+
"style": [hasColor ? colorStyles.value : undefined, dimensionStyles.value, props.style],
|
7950
8064
|
"href": link.href.value,
|
7951
8065
|
"tabindex": isClickable.value ? 0 : undefined,
|
7952
8066
|
"onClick": onClick,
|
@@ -8039,6 +8153,7 @@ const VListSubheader = genericComponent()({
|
|
8039
8153
|
inset: Boolean,
|
8040
8154
|
sticky: Boolean,
|
8041
8155
|
title: String,
|
8156
|
+
...makeComponentProps(),
|
8042
8157
|
...makeTagProps()
|
8043
8158
|
},
|
8044
8159
|
setup(props, _ref) {
|
@@ -8055,10 +8170,10 @@ const VListSubheader = genericComponent()({
|
|
8055
8170
|
"class": ['v-list-subheader', {
|
8056
8171
|
'v-list-subheader--inset': props.inset,
|
8057
8172
|
'v-list-subheader--sticky': props.sticky
|
8058
|
-
}, textColorClasses.value],
|
8059
|
-
"style": {
|
8173
|
+
}, textColorClasses.value, props.class],
|
8174
|
+
"style": [{
|
8060
8175
|
textColorStyles
|
8061
|
-
}
|
8176
|
+
}, props.style]
|
8062
8177
|
}, {
|
8063
8178
|
default: () => [hasText && createVNode("div", {
|
8064
8179
|
"class": "v-list-subheader__text"
|
@@ -8278,6 +8393,7 @@ const VList = genericComponent()({
|
|
8278
8393
|
openStrategy: 'list'
|
8279
8394
|
}),
|
8280
8395
|
...makeBorderProps(),
|
8396
|
+
...makeComponentProps(),
|
8281
8397
|
...makeDensityProps(),
|
8282
8398
|
...makeDimensionProps(),
|
8283
8399
|
...makeElevationProps(),
|
@@ -8379,27 +8495,8 @@ const VList = genericComponent()({
|
|
8379
8495
|
e.preventDefault();
|
8380
8496
|
}
|
8381
8497
|
function focus(location) {
|
8382
|
-
if (
|
8383
|
-
|
8384
|
-
const focusable = [...contentRef.value.querySelectorAll(targets)].filter(el => !el.hasAttribute('disabled'));
|
8385
|
-
const idx = focusable.indexOf(document.activeElement);
|
8386
|
-
if (!location) {
|
8387
|
-
if (!contentRef.value.contains(document.activeElement)) {
|
8388
|
-
focusable[0]?.focus();
|
8389
|
-
}
|
8390
|
-
} else if (location === 'first') {
|
8391
|
-
focusable[0]?.focus();
|
8392
|
-
} else if (location === 'last') {
|
8393
|
-
focusable.at(-1)?.focus();
|
8394
|
-
} else {
|
8395
|
-
let el;
|
8396
|
-
let idxx = idx;
|
8397
|
-
const inc = location === 'next' ? 1 : -1;
|
8398
|
-
do {
|
8399
|
-
idxx += inc;
|
8400
|
-
el = focusable[idxx];
|
8401
|
-
} while ((!el || el.offsetParent == null) && idxx < focusable.length && idxx >= 0);
|
8402
|
-
if (el) el.focus();else focus(location === 'next' ? 'first' : 'last');
|
8498
|
+
if (contentRef.value) {
|
8499
|
+
return focusChild(contentRef.value, location);
|
8403
8500
|
}
|
8404
8501
|
}
|
8405
8502
|
useRender(() => {
|
@@ -8408,8 +8505,8 @@ const VList = genericComponent()({
|
|
8408
8505
|
"class": ['v-list', {
|
8409
8506
|
'v-list--disabled': props.disabled,
|
8410
8507
|
'v-list--nav': props.nav
|
8411
|
-
}, themeClasses.value, backgroundColorClasses.value, borderClasses.value, densityClasses.value, elevationClasses.value, lineClasses.value, roundedClasses.value],
|
8412
|
-
"style": [backgroundColorStyles.value, dimensionStyles.value],
|
8508
|
+
}, themeClasses.value, backgroundColorClasses.value, borderClasses.value, densityClasses.value, elevationClasses.value, lineClasses.value, roundedClasses.value, props.class],
|
8509
|
+
"style": [backgroundColorStyles.value, dimensionStyles.value, props.style],
|
8413
8510
|
"role": "listbox",
|
8414
8511
|
"aria-activedescendant": undefined,
|
8415
8512
|
"onFocusin": onFocusin,
|
@@ -8437,6 +8534,7 @@ const VListItemAction = genericComponent()({
|
|
8437
8534
|
props: {
|
8438
8535
|
start: Boolean,
|
8439
8536
|
end: Boolean,
|
8537
|
+
...makeComponentProps(),
|
8440
8538
|
...makeTagProps()
|
8441
8539
|
},
|
8442
8540
|
setup(props, _ref) {
|
@@ -8447,7 +8545,8 @@ const VListItemAction = genericComponent()({
|
|
8447
8545
|
"class": ['v-list-item-action', {
|
8448
8546
|
'v-list-item-action--start': props.start,
|
8449
8547
|
'v-list-item-action--end': props.end
|
8450
|
-
}]
|
8548
|
+
}, props.class],
|
8549
|
+
"style": props.style
|
8451
8550
|
}, slots));
|
8452
8551
|
return {};
|
8453
8552
|
}
|
@@ -8458,6 +8557,7 @@ const VListItemMedia = genericComponent()({
|
|
8458
8557
|
props: {
|
8459
8558
|
start: Boolean,
|
8460
8559
|
end: Boolean,
|
8560
|
+
...makeComponentProps(),
|
8461
8561
|
...makeTagProps()
|
8462
8562
|
},
|
8463
8563
|
setup(props, _ref) {
|
@@ -8469,7 +8569,8 @@ const VListItemMedia = genericComponent()({
|
|
8469
8569
|
"class": ['v-list-item-media', {
|
8470
8570
|
'v-list-item-media--start': props.start,
|
8471
8571
|
'v-list-item-media--end': props.end
|
8472
|
-
}]
|
8572
|
+
}, props.class],
|
8573
|
+
"style": props.style
|
8473
8574
|
}, slots);
|
8474
8575
|
});
|
8475
8576
|
return {};
|
@@ -9710,6 +9811,7 @@ const makeVOverlayProps = propsFactory({
|
|
9710
9811
|
default: 2000
|
9711
9812
|
},
|
9712
9813
|
...makeActivatorProps(),
|
9814
|
+
...makeComponentProps(),
|
9713
9815
|
...makeDimensionProps(),
|
9714
9816
|
...makeLazyProps(),
|
9715
9817
|
...makeLocationStrategyProps(),
|
@@ -9877,10 +9979,10 @@ const VOverlay = genericComponent()({
|
|
9877
9979
|
'v-overlay--absolute': props.absolute || props.contained,
|
9878
9980
|
'v-overlay--active': isActive.value,
|
9879
9981
|
'v-overlay--contained': props.contained
|
9880
|
-
}, themeClasses.value, rtlClasses.value],
|
9982
|
+
}, themeClasses.value, rtlClasses.value, props.class],
|
9881
9983
|
"style": [stackStyles.value, {
|
9882
9984
|
top: convertToUnit(top.value)
|
9883
|
-
}],
|
9985
|
+
}, props.style],
|
9884
9986
|
"ref": root
|
9885
9987
|
}, scopeId, attrs), [createVNode(Scrim, mergeProps({
|
9886
9988
|
"color": scrimColor,
|
@@ -9986,7 +10088,8 @@ const VMenu = genericComponent()({
|
|
9986
10088
|
const [overlayProps] = VOverlay.filterProps(props);
|
9987
10089
|
return createVNode(VOverlay, mergeProps({
|
9988
10090
|
"ref": overlay,
|
9989
|
-
"class": ['v-menu']
|
10091
|
+
"class": ['v-menu', props.class],
|
10092
|
+
"style": props.style
|
9990
10093
|
}, overlayProps, {
|
9991
10094
|
"modelValue": isActive.value,
|
9992
10095
|
"onUpdate:modelValue": $event => isActive.value = $event,
|
@@ -10205,7 +10308,8 @@ const VSelect = genericComponent()({
|
|
10205
10308
|
'v-select--chips': !!props.chips,
|
10206
10309
|
[`v-select--${props.multiple ? 'multiple' : 'single'}`]: true,
|
10207
10310
|
'v-select--selected': model.value.length
|
10208
|
-
}],
|
10311
|
+
}, props.class],
|
10312
|
+
"style": props.style,
|
10209
10313
|
"appendInnerIcon": props.menuIcon,
|
10210
10314
|
"readonly": true,
|
10211
10315
|
"placeholder": placeholder,
|
@@ -10648,7 +10752,8 @@ const VAutocomplete = genericComponent()({
|
|
10648
10752
|
'v-autocomplete--selecting-index': selectionIndex.value > -1,
|
10649
10753
|
[`v-autocomplete--${props.multiple ? 'multiple' : 'single'}`]: true,
|
10650
10754
|
'v-autocomplete--selection-slot': !!slots.selection
|
10651
|
-
}],
|
10755
|
+
}, props.class],
|
10756
|
+
"style": props.style,
|
10652
10757
|
"appendInnerIcon": props.menuIcon,
|
10653
10758
|
"readonly": props.readonly,
|
10654
10759
|
"placeholder": isDirty ? undefined : props.placeholder,
|
@@ -10762,8 +10867,6 @@ const VAutocomplete = genericComponent()({
|
|
10762
10867
|
}
|
10763
10868
|
});
|
10764
10869
|
|
10765
|
-
// Types
|
10766
|
-
|
10767
10870
|
const VBadge = genericComponent()({
|
10768
10871
|
name: 'VBadge',
|
10769
10872
|
inheritAttrs: false,
|
@@ -10787,6 +10890,7 @@ const VBadge = genericComponent()({
|
|
10787
10890
|
offsetX: [Number, String],
|
10788
10891
|
offsetY: [Number, String],
|
10789
10892
|
textColor: String,
|
10893
|
+
...makeComponentProps(),
|
10790
10894
|
...makeLocationProps({
|
10791
10895
|
location: 'top end'
|
10792
10896
|
}),
|
@@ -10831,8 +10935,10 @@ const VBadge = genericComponent()({
|
|
10831
10935
|
'v-badge--dot': props.dot,
|
10832
10936
|
'v-badge--floating': props.floating,
|
10833
10937
|
'v-badge--inline': props.inline
|
10834
|
-
}]
|
10835
|
-
}, attrs
|
10938
|
+
}, props.class]
|
10939
|
+
}, attrs, {
|
10940
|
+
"style": props.style
|
10941
|
+
}), {
|
10836
10942
|
default: () => [createVNode("div", {
|
10837
10943
|
"class": "v-badge__wrapper"
|
10838
10944
|
}, [ctx.slots.default?.(), createVNode(MaybeTransition, {
|
@@ -10859,7 +10965,8 @@ const VBannerActions = genericComponent()({
|
|
10859
10965
|
name: 'VBannerActions',
|
10860
10966
|
props: {
|
10861
10967
|
color: String,
|
10862
|
-
density: String
|
10968
|
+
density: String,
|
10969
|
+
...makeComponentProps()
|
10863
10970
|
},
|
10864
10971
|
setup(props, _ref) {
|
10865
10972
|
let {
|
@@ -10873,7 +10980,8 @@ const VBannerActions = genericComponent()({
|
|
10873
10980
|
}
|
10874
10981
|
});
|
10875
10982
|
useRender(() => createVNode("div", {
|
10876
|
-
"class":
|
10983
|
+
"class": ['v-banner-actions', props.class],
|
10984
|
+
"style": props.style
|
10877
10985
|
}, [slots.default?.()]));
|
10878
10986
|
return {};
|
10879
10987
|
}
|
@@ -10894,6 +11002,7 @@ const VBanner = genericComponent()({
|
|
10894
11002
|
sticky: Boolean,
|
10895
11003
|
text: String,
|
10896
11004
|
...makeBorderProps(),
|
11005
|
+
...makeComponentProps(),
|
10897
11006
|
...makeDensityProps(),
|
10898
11007
|
...makeDimensionProps(),
|
10899
11008
|
...makeElevationProps(),
|
@@ -10951,8 +11060,8 @@ const VBanner = genericComponent()({
|
|
10951
11060
|
'v-banner--stacked': props.stacked || mobile.value,
|
10952
11061
|
'v-banner--sticky': props.sticky,
|
10953
11062
|
[`v-banner--${props.lines}-line`]: !!props.lines
|
10954
|
-
}, borderClasses.value, densityClasses.value, elevationClasses.value, positionClasses.value, roundedClasses.value, themeClasses.value],
|
10955
|
-
"style": [dimensionStyles.value, locationStyles.value],
|
11063
|
+
}, borderClasses.value, densityClasses.value, elevationClasses.value, positionClasses.value, roundedClasses.value, themeClasses.value, props.class],
|
11064
|
+
"style": [dimensionStyles.value, locationStyles.value, props.style],
|
10956
11065
|
"role": "banner"
|
10957
11066
|
}, {
|
10958
11067
|
default: () => [hasPrepend && createVNode("div", {
|
@@ -11008,6 +11117,7 @@ const VBottomNavigation = genericComponent()({
|
|
11008
11117
|
default: true
|
11009
11118
|
},
|
11010
11119
|
...makeBorderProps(),
|
11120
|
+
...makeComponentProps(),
|
11011
11121
|
...makeDensityProps(),
|
11012
11122
|
...makeElevationProps(),
|
11013
11123
|
...makeRoundedProps(),
|
@@ -11082,11 +11192,11 @@ const VBottomNavigation = genericComponent()({
|
|
11082
11192
|
'v-bottom-navigation--active': isActive.value,
|
11083
11193
|
'v-bottom-navigation--grow': props.grow,
|
11084
11194
|
'v-bottom-navigation--shift': props.mode === 'shift'
|
11085
|
-
}, themeClasses.value, backgroundColorClasses.value, borderClasses.value, densityClasses.value, elevationClasses.value, roundedClasses.value],
|
11195
|
+
}, themeClasses.value, backgroundColorClasses.value, borderClasses.value, densityClasses.value, elevationClasses.value, roundedClasses.value, props.class],
|
11086
11196
|
"style": [backgroundColorStyles.value, layoutItemStyles.value, {
|
11087
11197
|
height: convertToUnit(height.value),
|
11088
11198
|
transform: `translateY(${convertToUnit(!isActive.value ? 100 : 0, '%')})`
|
11089
|
-
}, ssrBootStyles.value]
|
11199
|
+
}, ssrBootStyles.value, props.style]
|
11090
11200
|
}, {
|
11091
11201
|
default: () => [slots.default && createVNode("div", {
|
11092
11202
|
"class": "v-bottom-navigation__content"
|
@@ -11100,14 +11210,16 @@ const VBottomNavigation = genericComponent()({
|
|
11100
11210
|
const VBreadcrumbsDivider = genericComponent()({
|
11101
11211
|
name: 'VBreadcrumbsDivider',
|
11102
11212
|
props: {
|
11103
|
-
divider: [Number, String]
|
11213
|
+
divider: [Number, String],
|
11214
|
+
...makeComponentProps()
|
11104
11215
|
},
|
11105
11216
|
setup(props, _ref) {
|
11106
11217
|
let {
|
11107
11218
|
slots
|
11108
11219
|
} = _ref;
|
11109
11220
|
useRender(() => createVNode("li", {
|
11110
|
-
"class":
|
11221
|
+
"class": ['v-breadcrumbs-divider', props.class],
|
11222
|
+
"style": props.style
|
11111
11223
|
}, [slots?.default?.() ?? props.divider]));
|
11112
11224
|
return {};
|
11113
11225
|
}
|
@@ -11122,6 +11234,7 @@ const VBreadcrumbsItem = genericComponent()({
|
|
11122
11234
|
color: String,
|
11123
11235
|
disabled: Boolean,
|
11124
11236
|
title: String,
|
11237
|
+
...makeComponentProps(),
|
11125
11238
|
...makeRouterProps(),
|
11126
11239
|
...makeTagProps({
|
11127
11240
|
tag: 'li'
|
@@ -11147,8 +11260,8 @@ const VBreadcrumbsItem = genericComponent()({
|
|
11147
11260
|
'v-breadcrumbs-item--disabled': props.disabled,
|
11148
11261
|
'v-breadcrumbs-item--link': link.isLink.value,
|
11149
11262
|
[`${props.activeClass}`]: isActive.value && props.activeClass
|
11150
|
-
}, textColorClasses.value],
|
11151
|
-
"style": [textColorStyles.value],
|
11263
|
+
}, textColorClasses.value, props.class],
|
11264
|
+
"style": [textColorStyles.value, props.style],
|
11152
11265
|
"href": link.href.value,
|
11153
11266
|
"aria-current": isActive.value ? 'page' : undefined,
|
11154
11267
|
"onClick": link.navigate
|
@@ -11179,6 +11292,7 @@ const VBreadcrumbs = genericComponent()({
|
|
11179
11292
|
type: Array,
|
11180
11293
|
default: () => []
|
11181
11294
|
},
|
11295
|
+
...makeComponentProps(),
|
11182
11296
|
...makeDensityProps(),
|
11183
11297
|
...makeRoundedProps(),
|
11184
11298
|
...makeTagProps({
|
@@ -11210,11 +11324,22 @@ const VBreadcrumbs = genericComponent()({
|
|
11210
11324
|
disabled: toRef(props, 'disabled')
|
11211
11325
|
}
|
11212
11326
|
});
|
11327
|
+
const items = computed(() => props.items.map(item => {
|
11328
|
+
return typeof item === 'string' ? {
|
11329
|
+
item: {
|
11330
|
+
title: item
|
11331
|
+
},
|
11332
|
+
raw: item
|
11333
|
+
} : {
|
11334
|
+
item,
|
11335
|
+
raw: item
|
11336
|
+
};
|
11337
|
+
}));
|
11213
11338
|
useRender(() => {
|
11214
11339
|
const hasPrepend = !!(slots.prepend || props.icon);
|
11215
11340
|
return createVNode(props.tag, {
|
11216
|
-
"class": ['v-breadcrumbs', backgroundColorClasses.value, densityClasses.value, roundedClasses.value],
|
11217
|
-
"style": backgroundColorStyles.value
|
11341
|
+
"class": ['v-breadcrumbs', backgroundColorClasses.value, densityClasses.value, roundedClasses.value, props.class],
|
11342
|
+
"style": [backgroundColorStyles.value, props.style]
|
11218
11343
|
}, {
|
11219
11344
|
default: () => [hasPrepend && createVNode("div", {
|
11220
11345
|
"key": "prepend",
|
@@ -11232,33 +11357,36 @@ const VBreadcrumbs = genericComponent()({
|
|
11232
11357
|
start: true
|
11233
11358
|
}
|
11234
11359
|
}
|
11235
|
-
}, slots.prepend)]),
|
11236
|
-
|
11237
|
-
"disabled": index >= array.length - 1
|
11238
|
-
}, typeof item === 'string' ? {
|
11239
|
-
title: item
|
11240
|
-
} : item), {
|
11241
|
-
default: slots.title ? () => slots.title?.({
|
11242
|
-
item,
|
11243
|
-
index
|
11244
|
-
}) : undefined
|
11245
|
-
}), index < array.length - 1 && createVNode(VBreadcrumbsDivider, null, {
|
11246
|
-
default: slots.divider ? () => slots.divider?.({
|
11360
|
+
}, slots.prepend)]), items.value.map((_ref2, index, array) => {
|
11361
|
+
let {
|
11247
11362
|
item,
|
11248
|
-
|
11249
|
-
}
|
11250
|
-
|
11363
|
+
raw
|
11364
|
+
} = _ref2;
|
11365
|
+
return createVNode(Fragment, null, [createVNode(VBreadcrumbsItem, mergeProps({
|
11366
|
+
"key": item.title,
|
11367
|
+
"disabled": index >= array.length - 1
|
11368
|
+
}, item), {
|
11369
|
+
default: slots.title ? () => slots.title?.({
|
11370
|
+
item: raw,
|
11371
|
+
index
|
11372
|
+
}) : undefined
|
11373
|
+
}), index < array.length - 1 && createVNode(VBreadcrumbsDivider, null, {
|
11374
|
+
default: slots.divider ? () => slots.divider?.({
|
11375
|
+
item: raw,
|
11376
|
+
index
|
11377
|
+
}) : undefined
|
11378
|
+
})]);
|
11379
|
+
}), slots.default?.()]
|
11251
11380
|
});
|
11252
11381
|
});
|
11253
11382
|
return {};
|
11254
11383
|
}
|
11255
11384
|
});
|
11256
11385
|
|
11257
|
-
|
11258
|
-
|
11259
|
-
const VCardActions = defineComponent({
|
11386
|
+
const VCardActions = genericComponent()({
|
11260
11387
|
name: 'VCardActions',
|
11261
|
-
|
11388
|
+
props: makeComponentProps(),
|
11389
|
+
setup(props, _ref) {
|
11262
11390
|
let {
|
11263
11391
|
slots
|
11264
11392
|
} = _ref;
|
@@ -11268,7 +11396,8 @@ const VCardActions = defineComponent({
|
|
11268
11396
|
}
|
11269
11397
|
});
|
11270
11398
|
useRender(() => createVNode("div", {
|
11271
|
-
"class":
|
11399
|
+
"class": ['v-card-actions', props.class],
|
11400
|
+
"style": props.style
|
11272
11401
|
}, [slots.default?.()]));
|
11273
11402
|
return {};
|
11274
11403
|
}
|
@@ -11278,8 +11407,6 @@ const VCardSubtitle = createSimpleFunctional('v-card-subtitle');
|
|
11278
11407
|
|
11279
11408
|
const VCardTitle = createSimpleFunctional('v-card-title');
|
11280
11409
|
|
11281
|
-
// Types
|
11282
|
-
|
11283
11410
|
const VCardItem = genericComponent()({
|
11284
11411
|
name: 'VCardItem',
|
11285
11412
|
props: {
|
@@ -11289,6 +11416,7 @@ const VCardItem = genericComponent()({
|
|
11289
11416
|
prependIcon: IconValue,
|
11290
11417
|
subtitle: String,
|
11291
11418
|
title: String,
|
11419
|
+
...makeComponentProps(),
|
11292
11420
|
...makeDensityProps()
|
11293
11421
|
},
|
11294
11422
|
setup(props, _ref) {
|
@@ -11303,7 +11431,8 @@ const VCardItem = genericComponent()({
|
|
11303
11431
|
const hasTitle = !!(props.title || slots.title);
|
11304
11432
|
const hasSubtitle = !!(props.subtitle || slots.subtitle);
|
11305
11433
|
return createVNode("div", {
|
11306
|
-
"class":
|
11434
|
+
"class": ['v-card-item', props.class],
|
11435
|
+
"style": props.style
|
11307
11436
|
}, [hasPrepend && createVNode("div", {
|
11308
11437
|
"key": "prepend",
|
11309
11438
|
"class": "v-card-item__prepend"
|
@@ -11385,8 +11514,8 @@ const VCard = genericComponent()({
|
|
11385
11514
|
subtitle: String,
|
11386
11515
|
text: String,
|
11387
11516
|
title: String,
|
11388
|
-
...makeThemeProps(),
|
11389
11517
|
...makeBorderProps(),
|
11518
|
+
...makeComponentProps(),
|
11390
11519
|
...makeDensityProps(),
|
11391
11520
|
...makeDimensionProps(),
|
11392
11521
|
...makeElevationProps(),
|
@@ -11396,6 +11525,7 @@ const VCard = genericComponent()({
|
|
11396
11525
|
...makeRoundedProps(),
|
11397
11526
|
...makeRouterProps(),
|
11398
11527
|
...makeTagProps(),
|
11528
|
+
...makeThemeProps(),
|
11399
11529
|
...makeVariantProps({
|
11400
11530
|
variant: 'elevated'
|
11401
11531
|
})
|
@@ -11456,8 +11586,8 @@ const VCard = genericComponent()({
|
|
11456
11586
|
'v-card--flat': props.flat,
|
11457
11587
|
'v-card--hover': props.hover && !(props.disabled || props.flat),
|
11458
11588
|
'v-card--link': isClickable.value
|
11459
|
-
}, themeClasses.value, borderClasses.value, colorClasses.value, densityClasses.value, elevationClasses.value, loaderClasses.value, positionClasses.value, roundedClasses.value, variantClasses.value],
|
11460
|
-
"style": [colorStyles.value, dimensionStyles.value, locationStyles.value],
|
11589
|
+
}, themeClasses.value, borderClasses.value, colorClasses.value, densityClasses.value, elevationClasses.value, loaderClasses.value, positionClasses.value, roundedClasses.value, variantClasses.value, props.class],
|
11590
|
+
"style": [colorStyles.value, dimensionStyles.value, locationStyles.value, props.style],
|
11461
11591
|
"href": link.href.value,
|
11462
11592
|
"onClick": isClickable.value && link.navigate,
|
11463
11593
|
"tabindex": props.disabled ? -1 : undefined
|
@@ -11653,6 +11783,7 @@ const makeVWindowProps = propsFactory({
|
|
11653
11783
|
mandatory: {
|
11654
11784
|
default: 'force'
|
11655
11785
|
},
|
11786
|
+
...makeComponentProps(),
|
11656
11787
|
...makeTagProps(),
|
11657
11788
|
...makeThemeProps()
|
11658
11789
|
}, 'v-window');
|
@@ -11768,7 +11899,8 @@ const VWindow = genericComponent()({
|
|
11768
11899
|
"ref": rootRef,
|
11769
11900
|
"class": ['v-window', {
|
11770
11901
|
'v-window--show-arrows-on-hover': props.showArrows === 'hover'
|
11771
|
-
}, themeClasses.value]
|
11902
|
+
}, themeClasses.value, props.class],
|
11903
|
+
"style": props.style
|
11772
11904
|
}, {
|
11773
11905
|
default: () => [createVNode("div", {
|
11774
11906
|
"class": "v-window__container",
|
@@ -11853,10 +11985,10 @@ const VCarousel = genericComponent()({
|
|
11853
11985
|
"class": ['v-carousel', {
|
11854
11986
|
'v-carousel--hide-delimiter-background': props.hideDelimiterBackground,
|
11855
11987
|
'v-carousel--vertical-delimiters': props.verticalDelimiters
|
11856
|
-
}],
|
11857
|
-
"style": {
|
11988
|
+
}, props.class],
|
11989
|
+
"style": [{
|
11858
11990
|
height: convertToUnit(props.height)
|
11859
|
-
},
|
11991
|
+
}, props.style],
|
11860
11992
|
"continuous": true,
|
11861
11993
|
"mandatory": "force",
|
11862
11994
|
"showArrows": props.showArrows
|
@@ -11922,6 +12054,7 @@ const VWindowItem = genericComponent()({
|
|
11922
12054
|
type: [Boolean, String],
|
11923
12055
|
default: undefined
|
11924
12056
|
},
|
12057
|
+
...makeComponentProps(),
|
11925
12058
|
...makeGroupItemProps(),
|
11926
12059
|
...makeLazyProps()
|
11927
12060
|
},
|
@@ -12008,7 +12141,8 @@ const VWindowItem = genericComponent()({
|
|
12008
12141
|
"disabled": !isBooted.value
|
12009
12142
|
}, {
|
12010
12143
|
default: () => [withDirectives(createVNode("div", {
|
12011
|
-
"class": ['v-window-item', groupItem.selectedClass.value]
|
12144
|
+
"class": ['v-window-item', groupItem.selectedClass.value, props.class],
|
12145
|
+
"style": props.style
|
12012
12146
|
}, [hasContent.value && slots.default?.()]), [[vShow, groupItem.isSelected.value]])]
|
12013
12147
|
}));
|
12014
12148
|
return {};
|
@@ -12021,7 +12155,8 @@ const VCarouselItem = genericComponent()({
|
|
12021
12155
|
name: 'VCarouselItem',
|
12022
12156
|
inheritAttrs: false,
|
12023
12157
|
props: {
|
12024
|
-
value: null
|
12158
|
+
value: null,
|
12159
|
+
...makeComponentProps()
|
12025
12160
|
},
|
12026
12161
|
setup(props, _ref) {
|
12027
12162
|
let {
|
@@ -12029,7 +12164,8 @@ const VCarouselItem = genericComponent()({
|
|
12029
12164
|
attrs
|
12030
12165
|
} = _ref;
|
12031
12166
|
useRender(() => createVNode(VWindowItem, {
|
12032
|
-
"class":
|
12167
|
+
"class": ['v-carousel-item', props.class],
|
12168
|
+
"style": props.style,
|
12033
12169
|
"value": props.value
|
12034
12170
|
}, {
|
12035
12171
|
default: () => [createVNode(VImg, attrs, slots)]
|
@@ -12042,6 +12178,7 @@ const VCode = createSimpleFunctional('v-code');
|
|
12042
12178
|
const makeVSheetProps = propsFactory({
|
12043
12179
|
color: String,
|
12044
12180
|
...makeBorderProps(),
|
12181
|
+
...makeComponentProps(),
|
12045
12182
|
...makeDimensionProps(),
|
12046
12183
|
...makeElevationProps(),
|
12047
12184
|
...makeLocationProps(),
|
@@ -12085,8 +12222,8 @@ const VSheet = genericComponent()({
|
|
12085
12222
|
roundedClasses
|
12086
12223
|
} = useRounded(props);
|
12087
12224
|
useRender(() => createVNode(props.tag, {
|
12088
|
-
"class": ['v-sheet', themeClasses.value, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, positionClasses.value, roundedClasses.value],
|
12089
|
-
"style": [backgroundColorStyles.value, dimensionStyles.value, locationStyles.value]
|
12225
|
+
"class": ['v-sheet', themeClasses.value, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, positionClasses.value, roundedClasses.value, props.class],
|
12226
|
+
"style": [backgroundColorStyles.value, dimensionStyles.value, locationStyles.value, props.style]
|
12090
12227
|
}, slots));
|
12091
12228
|
return {};
|
12092
12229
|
}
|
@@ -12112,7 +12249,8 @@ const VColorPickerCanvas = defineComponent({
|
|
12112
12249
|
width: {
|
12113
12250
|
type: [Number, String],
|
12114
12251
|
default: 300
|
12115
|
-
}
|
12252
|
+
},
|
12253
|
+
...makeComponentProps()
|
12116
12254
|
},
|
12117
12255
|
emits: {
|
12118
12256
|
'update:color': color => true,
|
@@ -12257,7 +12395,8 @@ const VColorPickerCanvas = defineComponent({
|
|
12257
12395
|
onMounted(() => updateCanvas());
|
12258
12396
|
useRender(() => createVNode("div", {
|
12259
12397
|
"ref": resizeRef,
|
12260
|
-
"class":
|
12398
|
+
"class": ['v-color-picker-canvas', props.class],
|
12399
|
+
"style": props.style,
|
12261
12400
|
"onClick": handleClick,
|
12262
12401
|
"onMousedown": handleMouseDown,
|
12263
12402
|
"onTouchstart": handleMouseDown
|
@@ -12490,7 +12629,8 @@ const VColorPickerEdit = defineComponent({
|
|
12490
12629
|
type: Array,
|
12491
12630
|
default: () => Object.keys(modes),
|
12492
12631
|
validator: v => Array.isArray(v) && v.every(m => Object.keys(modes).includes(m))
|
12493
|
-
}
|
12632
|
+
},
|
12633
|
+
...makeComponentProps()
|
12494
12634
|
},
|
12495
12635
|
emits: {
|
12496
12636
|
'update:color': color => true,
|
@@ -12530,7 +12670,8 @@ const VColorPickerEdit = defineComponent({
|
|
12530
12670
|
});
|
12531
12671
|
});
|
12532
12672
|
useRender(() => createVNode("div", {
|
12533
|
-
"class":
|
12673
|
+
"class": ['v-color-picker-edit', props.class],
|
12674
|
+
"style": props.style
|
12534
12675
|
}, [inputs.value?.map(props => createVNode(VColorPickerInput, props, null)), enabledModes.value.length > 1 && createVNode(VBtn, {
|
12535
12676
|
"icon": "$unfold",
|
12536
12677
|
"size": "x-small",
|
@@ -12849,7 +12990,8 @@ const VSliderThumb = genericComponent()({
|
|
12849
12990
|
ripple: {
|
12850
12991
|
type: Boolean,
|
12851
12992
|
default: true
|
12852
|
-
}
|
12993
|
+
},
|
12994
|
+
...makeComponentProps()
|
12853
12995
|
},
|
12854
12996
|
emits: {
|
12855
12997
|
'update:modelValue': v => true
|
@@ -12927,11 +13069,11 @@ const VSliderThumb = genericComponent()({
|
|
12927
13069
|
"class": ['v-slider-thumb', {
|
12928
13070
|
'v-slider-thumb--focused': props.focused,
|
12929
13071
|
'v-slider-thumb--pressed': props.focused && mousePressed.value
|
12930
|
-
}],
|
12931
|
-
"style": {
|
13072
|
+
}, props.class],
|
13073
|
+
"style": [{
|
12932
13074
|
'--v-slider-thumb-position': positionPercentage,
|
12933
13075
|
'--v-slider-thumb-size': convertToUnit(thumbSize.value)
|
12934
|
-
},
|
13076
|
+
}, props.style],
|
12935
13077
|
"role": "slider",
|
12936
13078
|
"tabindex": disabled.value ? -1 : 0,
|
12937
13079
|
"aria-valuemin": props.min,
|
@@ -12977,7 +13119,8 @@ const VSliderTrack = genericComponent()({
|
|
12977
13119
|
stop: {
|
12978
13120
|
type: Number,
|
12979
13121
|
required: true
|
12980
|
-
}
|
13122
|
+
},
|
13123
|
+
...makeComponentProps()
|
12981
13124
|
},
|
12982
13125
|
emits: {},
|
12983
13126
|
setup(props, _ref) {
|
@@ -13052,12 +13195,12 @@ const VSliderTrack = genericComponent()({
|
|
13052
13195
|
});
|
13053
13196
|
useRender(() => {
|
13054
13197
|
return createVNode("div", {
|
13055
|
-
"class": ['v-slider-track', roundedClasses.value],
|
13056
|
-
"style": {
|
13198
|
+
"class": ['v-slider-track', roundedClasses.value, props.class],
|
13199
|
+
"style": [{
|
13057
13200
|
'--v-slider-track-size': convertToUnit(trackSize.value),
|
13058
13201
|
'--v-slider-tick-size': convertToUnit(tickSize.value),
|
13059
13202
|
direction: !vertical.value ? horizontalDirection.value : undefined
|
13060
|
-
}
|
13203
|
+
}, props.style]
|
13061
13204
|
}, [createVNode("div", {
|
13062
13205
|
"class": ['v-slider-track__background', trackColorClasses.value, {
|
13063
13206
|
'v-slider-track__background--opacity': !!color.value || !trackFillColor.value
|
@@ -13160,7 +13303,8 @@ const VSlider = genericComponent()({
|
|
13160
13303
|
'v-slider--focused': isFocused.value,
|
13161
13304
|
'v-slider--pressed': mousePressed.value,
|
13162
13305
|
'v-slider--disabled': props.disabled
|
13163
|
-
}]
|
13306
|
+
}, props.class],
|
13307
|
+
"style": props.style
|
13164
13308
|
}, inputProps, {
|
13165
13309
|
"focused": isFocused.value
|
13166
13310
|
}), {
|
@@ -13223,7 +13367,8 @@ const VColorPickerPreview = defineComponent({
|
|
13223
13367
|
type: Object
|
13224
13368
|
},
|
13225
13369
|
disabled: Boolean,
|
13226
|
-
hideAlpha: Boolean
|
13370
|
+
hideAlpha: Boolean,
|
13371
|
+
...makeComponentProps()
|
13227
13372
|
},
|
13228
13373
|
emits: {
|
13229
13374
|
'update:color': color => true
|
@@ -13235,7 +13380,8 @@ const VColorPickerPreview = defineComponent({
|
|
13235
13380
|
useRender(() => createVNode("div", {
|
13236
13381
|
"class": ['v-color-picker-preview', {
|
13237
13382
|
'v-color-picker-preview--hide-alpha': props.hideAlpha
|
13238
|
-
}]
|
13383
|
+
}, props.class],
|
13384
|
+
"style": props.style
|
13239
13385
|
}, [createVNode("div", {
|
13240
13386
|
"class": "v-color-picker-preview__dot"
|
13241
13387
|
}, [createVNode("div", {
|
@@ -13616,7 +13762,8 @@ const VColorPickerSwatches = defineComponent({
|
|
13616
13762
|
},
|
13617
13763
|
disabled: Boolean,
|
13618
13764
|
color: Object,
|
13619
|
-
maxHeight: [Number, String]
|
13765
|
+
maxHeight: [Number, String],
|
13766
|
+
...makeComponentProps()
|
13620
13767
|
},
|
13621
13768
|
emits: {
|
13622
13769
|
'update:color': color => true
|
@@ -13626,10 +13773,10 @@ const VColorPickerSwatches = defineComponent({
|
|
13626
13773
|
emit
|
13627
13774
|
} = _ref;
|
13628
13775
|
useRender(() => createVNode("div", {
|
13629
|
-
"class":
|
13630
|
-
"style": {
|
13776
|
+
"class": ['v-color-picker-swatches', props.class],
|
13777
|
+
"style": [{
|
13631
13778
|
maxHeight: convertToUnit(props.maxHeight)
|
13632
|
-
}
|
13779
|
+
}, props.style]
|
13633
13780
|
}, [createVNode("div", null, [props.swatches.map(swatch => createVNode("div", {
|
13634
13781
|
"class": "v-color-picker-swatches__swatch"
|
13635
13782
|
}, [swatch.map(color => {
|
@@ -13733,13 +13880,13 @@ const VColorPicker = defineComponent({
|
|
13733
13880
|
"rounded": props.rounded,
|
13734
13881
|
"elevation": props.elevation,
|
13735
13882
|
"theme": props.theme,
|
13736
|
-
"class": ['v-color-picker'],
|
13737
|
-
"style": {
|
13883
|
+
"class": ['v-color-picker', props.class],
|
13884
|
+
"style": [{
|
13738
13885
|
'--v-color-picker-color-hsv': HSVtoCSS({
|
13739
13886
|
...(currentColor.value ?? nullColor),
|
13740
13887
|
a: 1
|
13741
13888
|
})
|
13742
|
-
}
|
13889
|
+
}, props.style]
|
13743
13890
|
}, sheetProps, {
|
13744
13891
|
"maxWidth": props.width
|
13745
13892
|
}), {
|
@@ -14050,7 +14197,8 @@ const VCombobox = genericComponent()({
|
|
14050
14197
|
'v-combobox--chips': !!props.chips,
|
14051
14198
|
'v-combobox--selecting-index': selectionIndex.value > -1,
|
14052
14199
|
[`v-combobox--${props.multiple ? 'multiple' : 'single'}`]: true
|
14053
|
-
}],
|
14200
|
+
}, props.class],
|
14201
|
+
"style": props.style,
|
14054
14202
|
"appendInnerIcon": props.items.length ? props.menuIcon : undefined,
|
14055
14203
|
"readonly": props.readonly,
|
14056
14204
|
"placeholder": isDirty ? undefined : props.placeholder,
|
@@ -14207,7 +14355,7 @@ const VDialog = genericComponent()({
|
|
14207
14355
|
![document, overlay.value.contentEl].includes(after) &&
|
14208
14356
|
// It isn't inside the dialog body
|
14209
14357
|
!overlay.value.contentEl.contains(after)) {
|
14210
|
-
const focusable =
|
14358
|
+
const focusable = focusableChildren(overlay.value.contentEl);
|
14211
14359
|
if (!focusable.length) return;
|
14212
14360
|
const firstElement = focusable[0];
|
14213
14361
|
const lastElement = focusable[focusable.length - 1];
|
@@ -14248,7 +14396,8 @@ const VDialog = genericComponent()({
|
|
14248
14396
|
"class": ['v-dialog', {
|
14249
14397
|
'v-dialog--fullscreen': props.fullscreen,
|
14250
14398
|
'v-dialog--scrollable': props.scrollable
|
14251
|
-
}]
|
14399
|
+
}, props.class],
|
14400
|
+
"style": props.style
|
14252
14401
|
}, overlayProps, {
|
14253
14402
|
"modelValue": isActive.value,
|
14254
14403
|
"onUpdate:modelValue": $event => isActive.value = $event,
|
@@ -14287,6 +14436,7 @@ const VExpansionPanels = genericComponent()({
|
|
14287
14436
|
validator: v => allowedVariants.includes(v)
|
14288
14437
|
},
|
14289
14438
|
readonly: Boolean,
|
14439
|
+
...makeComponentProps(),
|
14290
14440
|
...makeGroupProps(),
|
14291
14441
|
...makeTagProps(),
|
14292
14442
|
...makeThemeProps()
|
@@ -14312,7 +14462,8 @@ const VExpansionPanels = genericComponent()({
|
|
14312
14462
|
}
|
14313
14463
|
});
|
14314
14464
|
useRender(() => createVNode(props.tag, {
|
14315
|
-
"class": ['v-expansion-panels', themeClasses.value, variantClass.value]
|
14465
|
+
"class": ['v-expansion-panels', themeClasses.value, variantClass.value, props.class],
|
14466
|
+
"style": props.style
|
14316
14467
|
}, slots));
|
14317
14468
|
return {};
|
14318
14469
|
}
|
@@ -14341,6 +14492,7 @@ const VExpansionPanelTitle = genericComponent()({
|
|
14341
14492
|
Ripple
|
14342
14493
|
},
|
14343
14494
|
props: {
|
14495
|
+
...makeComponentProps(),
|
14344
14496
|
...makeVExpansionPanelTitleProps()
|
14345
14497
|
},
|
14346
14498
|
setup(props, _ref) {
|
@@ -14363,8 +14515,8 @@ const VExpansionPanelTitle = genericComponent()({
|
|
14363
14515
|
useRender(() => withDirectives(createVNode("button", {
|
14364
14516
|
"class": ['v-expansion-panel-title', {
|
14365
14517
|
'v-expansion-panel-title--active': expansionPanel.isSelected.value
|
14366
|
-
}, backgroundColorClasses.value],
|
14367
|
-
"style": backgroundColorStyles.value,
|
14518
|
+
}, backgroundColorClasses.value, props.class],
|
14519
|
+
"style": [backgroundColorStyles.value, props.style],
|
14368
14520
|
"type": "button",
|
14369
14521
|
"tabindex": expansionPanel.disabled.value ? -1 : undefined,
|
14370
14522
|
"disabled": expansionPanel.disabled.value,
|
@@ -14384,6 +14536,7 @@ const VExpansionPanelTitle = genericComponent()({
|
|
14384
14536
|
const VExpansionPanelText = genericComponent()({
|
14385
14537
|
name: 'VExpansionPanelText',
|
14386
14538
|
props: {
|
14539
|
+
...makeComponentProps(),
|
14387
14540
|
...makeLazyProps()
|
14388
14541
|
},
|
14389
14542
|
setup(props, _ref) {
|
@@ -14400,7 +14553,8 @@ const VExpansionPanelText = genericComponent()({
|
|
14400
14553
|
"onAfterLeave": onAfterLeave
|
14401
14554
|
}, {
|
14402
14555
|
default: () => [withDirectives(createVNode("div", {
|
14403
|
-
"class":
|
14556
|
+
"class": ['v-expansion-panel-text', props.class],
|
14557
|
+
"style": props.style
|
14404
14558
|
}, [slots.default && hasContent.value && createVNode("div", {
|
14405
14559
|
"class": "v-expansion-panel-text__wrapper"
|
14406
14560
|
}, [slots.default?.()])]), [[vShow, expansionPanel.isSelected.value]])]
|
@@ -14415,6 +14569,7 @@ const VExpansionPanel = genericComponent()({
|
|
14415
14569
|
title: String,
|
14416
14570
|
text: String,
|
14417
14571
|
bgColor: String,
|
14572
|
+
...makeComponentProps(),
|
14418
14573
|
...makeElevationProps(),
|
14419
14574
|
...makeGroupItemProps(),
|
14420
14575
|
...makeLazyProps(),
|
@@ -14463,8 +14618,8 @@ const VExpansionPanel = genericComponent()({
|
|
14463
14618
|
'v-expansion-panel--before-active': isBeforeSelected.value,
|
14464
14619
|
'v-expansion-panel--after-active': isAfterSelected.value,
|
14465
14620
|
'v-expansion-panel--disabled': isDisabled.value
|
14466
|
-
}, roundedClasses.value, backgroundColorClasses.value],
|
14467
|
-
"style": backgroundColorStyles.value,
|
14621
|
+
}, roundedClasses.value, backgroundColorClasses.value, props.class],
|
14622
|
+
"style": [backgroundColorStyles.value, props.style],
|
14468
14623
|
"aria-expanded": groupItem.isSelected.value
|
14469
14624
|
}, {
|
14470
14625
|
default: () => [createVNode("div", {
|
@@ -14614,7 +14769,8 @@ const VFileInput = genericComponent()({
|
|
14614
14769
|
"ref": vInputRef,
|
14615
14770
|
"modelValue": model.value,
|
14616
14771
|
"onUpdate:modelValue": $event => model.value = $event,
|
14617
|
-
"class":
|
14772
|
+
"class": ['v-file-input', props.class],
|
14773
|
+
"style": props.style,
|
14618
14774
|
"onClick:prepend": onClickPrepend
|
14619
14775
|
}, rootAttrs, inputProps, {
|
14620
14776
|
"focused": isFocused.value
|
@@ -14706,6 +14862,7 @@ const VFooter = genericComponent()({
|
|
14706
14862
|
default: 'auto'
|
14707
14863
|
},
|
14708
14864
|
...makeBorderProps(),
|
14865
|
+
...makeComponentProps(),
|
14709
14866
|
...makeElevationProps(),
|
14710
14867
|
...makeLayoutItemProps(),
|
14711
14868
|
...makeRoundedProps(),
|
@@ -14755,8 +14912,8 @@ const VFooter = genericComponent()({
|
|
14755
14912
|
});
|
14756
14913
|
useRender(() => createVNode(props.tag, {
|
14757
14914
|
"ref": resizeRef,
|
14758
|
-
"class": ['v-footer', themeClasses.value, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, roundedClasses.value],
|
14759
|
-
"style": [backgroundColorStyles.value, props.app ? layoutItemStyles.value : undefined]
|
14915
|
+
"class": ['v-footer', themeClasses.value, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, roundedClasses.value, props.class],
|
14916
|
+
"style": [backgroundColorStyles.value, props.app ? layoutItemStyles.value : undefined, props.style]
|
14760
14917
|
}, slots));
|
14761
14918
|
return {};
|
14762
14919
|
}
|
@@ -14767,6 +14924,7 @@ const VFooter = genericComponent()({
|
|
14767
14924
|
const VForm = genericComponent()({
|
14768
14925
|
name: 'VForm',
|
14769
14926
|
props: {
|
14927
|
+
...makeComponentProps(),
|
14770
14928
|
...makeFormProps()
|
14771
14929
|
},
|
14772
14930
|
emits: {
|
@@ -14805,7 +14963,8 @@ const VForm = genericComponent()({
|
|
14805
14963
|
}
|
14806
14964
|
useRender(() => createVNode("form", {
|
14807
14965
|
"ref": formRef,
|
14808
|
-
"class":
|
14966
|
+
"class": ['v-form', props.class],
|
14967
|
+
"style": props.style,
|
14809
14968
|
"novalidate": true,
|
14810
14969
|
"onReset": onReset,
|
14811
14970
|
"onSubmit": onSubmit
|
@@ -14821,6 +14980,7 @@ const VContainer = genericComponent()({
|
|
14821
14980
|
type: Boolean,
|
14822
14981
|
default: false
|
14823
14982
|
},
|
14983
|
+
...makeComponentProps(),
|
14824
14984
|
...makeTagProps()
|
14825
14985
|
},
|
14826
14986
|
setup(props, _ref) {
|
@@ -14830,7 +14990,8 @@ const VContainer = genericComponent()({
|
|
14830
14990
|
useRender(() => createVNode(props.tag, {
|
14831
14991
|
"class": ['v-container', {
|
14832
14992
|
'v-container--fluid': props.fluid
|
14833
|
-
}]
|
14993
|
+
}, props.class],
|
14994
|
+
"style": props.style
|
14834
14995
|
}, slots));
|
14835
14996
|
return {};
|
14836
14997
|
}
|
@@ -14921,6 +15082,7 @@ const VCol = genericComponent()({
|
|
14921
15082
|
default: null,
|
14922
15083
|
validator: str => ALIGN_SELF_VALUES.includes(str)
|
14923
15084
|
},
|
15085
|
+
...makeComponentProps(),
|
14924
15086
|
...makeTagProps()
|
14925
15087
|
},
|
14926
15088
|
setup(props, _ref) {
|
@@ -14951,7 +15113,8 @@ const VCol = genericComponent()({
|
|
14951
15113
|
return classList;
|
14952
15114
|
});
|
14953
15115
|
return () => h(props.tag, {
|
14954
|
-
class: classes.value
|
15116
|
+
class: [classes.value, props.class],
|
15117
|
+
style: props.style
|
14955
15118
|
}, slots.default?.());
|
14956
15119
|
}
|
14957
15120
|
});
|
@@ -15037,6 +15200,7 @@ const VRow = genericComponent()({
|
|
15037
15200
|
validator: alignContentValidator
|
15038
15201
|
},
|
15039
15202
|
...alignContentProps,
|
15203
|
+
...makeComponentProps(),
|
15040
15204
|
...makeTagProps()
|
15041
15205
|
},
|
15042
15206
|
setup(props, _ref) {
|
@@ -15065,7 +15229,8 @@ const VRow = genericComponent()({
|
|
15065
15229
|
return classList;
|
15066
15230
|
});
|
15067
15231
|
return () => h(props.tag, {
|
15068
|
-
class: ['v-row', classes.value]
|
15232
|
+
class: ['v-row', classes.value, props.class],
|
15233
|
+
style: props.style
|
15069
15234
|
}, slots.default?.());
|
15070
15235
|
}
|
15071
15236
|
});
|
@@ -15109,6 +15274,7 @@ const VItemGroupSymbol = Symbol.for('vuetify:v-item-group');
|
|
15109
15274
|
const VItemGroup = genericComponent()({
|
15110
15275
|
name: 'VItemGroup',
|
15111
15276
|
props: {
|
15277
|
+
...makeComponentProps(),
|
15112
15278
|
...makeGroupProps({
|
15113
15279
|
selectedClass: 'v-item--selected'
|
15114
15280
|
}),
|
@@ -15133,7 +15299,8 @@ const VItemGroup = genericComponent()({
|
|
15133
15299
|
selected
|
15134
15300
|
} = useGroup(props, VItemGroupSymbol);
|
15135
15301
|
return () => createVNode(props.tag, {
|
15136
|
-
"class": ['v-item-group', themeClasses.value]
|
15302
|
+
"class": ['v-item-group', themeClasses.value, props.class],
|
15303
|
+
"style": props.style
|
15137
15304
|
}, {
|
15138
15305
|
default: () => [slots.default?.({
|
15139
15306
|
isSelected,
|
@@ -15183,7 +15350,10 @@ const VKbd = createSimpleFunctional('v-kbd');
|
|
15183
15350
|
|
15184
15351
|
const VLayout = genericComponent()({
|
15185
15352
|
name: 'VLayout',
|
15186
|
-
props:
|
15353
|
+
props: {
|
15354
|
+
...makeComponentProps(),
|
15355
|
+
...makeLayoutProps()
|
15356
|
+
},
|
15187
15357
|
setup(props, _ref) {
|
15188
15358
|
let {
|
15189
15359
|
slots
|
@@ -15197,8 +15367,8 @@ const VLayout = genericComponent()({
|
|
15197
15367
|
} = createLayout(props);
|
15198
15368
|
useRender(() => createVNode("div", {
|
15199
15369
|
"ref": layoutRef,
|
15200
|
-
"class": layoutClasses.value,
|
15201
|
-
"style": layoutStyles.value
|
15370
|
+
"class": [layoutClasses.value, props.class],
|
15371
|
+
"style": [layoutStyles.value, props.style]
|
15202
15372
|
}, [slots.default?.()]));
|
15203
15373
|
return {
|
15204
15374
|
getLayoutItem,
|
@@ -15221,6 +15391,7 @@ const VLayoutItem = genericComponent()({
|
|
15221
15391
|
default: 300
|
15222
15392
|
},
|
15223
15393
|
modelValue: Boolean,
|
15394
|
+
...makeComponentProps(),
|
15224
15395
|
...makeLayoutItemProps()
|
15225
15396
|
},
|
15226
15397
|
setup(props, _ref) {
|
@@ -15239,8 +15410,8 @@ const VLayoutItem = genericComponent()({
|
|
15239
15410
|
absolute: toRef(props, 'absolute')
|
15240
15411
|
});
|
15241
15412
|
return () => createVNode("div", {
|
15242
|
-
"class": ['v-layout-item'],
|
15243
|
-
"style": layoutItemStyles.value
|
15413
|
+
"class": ['v-layout-item', props.class],
|
15414
|
+
"style": [layoutItemStyles.value, props.style]
|
15244
15415
|
}, [slots.default?.()]);
|
15245
15416
|
}
|
15246
15417
|
});
|
@@ -15264,6 +15435,7 @@ const VLazy = genericComponent()({
|
|
15264
15435
|
threshold: undefined
|
15265
15436
|
})
|
15266
15437
|
},
|
15438
|
+
...makeComponentProps(),
|
15267
15439
|
...makeDimensionProps(),
|
15268
15440
|
...makeTagProps(),
|
15269
15441
|
...makeTransitionProps({
|
@@ -15286,8 +15458,8 @@ const VLazy = genericComponent()({
|
|
15286
15458
|
isActive.value = isIntersecting;
|
15287
15459
|
}
|
15288
15460
|
useRender(() => withDirectives(createVNode(props.tag, {
|
15289
|
-
"class":
|
15290
|
-
"style": dimensionStyles.value
|
15461
|
+
"class": ['v-lazy', props.class],
|
15462
|
+
"style": [dimensionStyles.value, props.style]
|
15291
15463
|
}, {
|
15292
15464
|
default: () => [isActive.value && createVNode(MaybeTransition, {
|
15293
15465
|
"transition": props.transition,
|
@@ -15312,7 +15484,8 @@ const VLocaleProvider = genericComponent()({
|
|
15312
15484
|
rtl: {
|
15313
15485
|
type: Boolean,
|
15314
15486
|
default: undefined
|
15315
|
-
}
|
15487
|
+
},
|
15488
|
+
...makeComponentProps()
|
15316
15489
|
},
|
15317
15490
|
setup(props, _ref) {
|
15318
15491
|
let {
|
@@ -15322,7 +15495,8 @@ const VLocaleProvider = genericComponent()({
|
|
15322
15495
|
rtlClasses
|
15323
15496
|
} = provideLocale(props);
|
15324
15497
|
useRender(() => createVNode("div", {
|
15325
|
-
"class": ['v-locale-provider', rtlClasses.value]
|
15498
|
+
"class": ['v-locale-provider', rtlClasses.value, props.class],
|
15499
|
+
"style": props.style
|
15326
15500
|
}, [slots.default?.()]));
|
15327
15501
|
return {};
|
15328
15502
|
}
|
@@ -15332,6 +15506,7 @@ const VMain = genericComponent()({
|
|
15332
15506
|
name: 'VMain',
|
15333
15507
|
props: {
|
15334
15508
|
scrollable: Boolean,
|
15509
|
+
...makeComponentProps(),
|
15335
15510
|
...makeTagProps({
|
15336
15511
|
tag: 'main'
|
15337
15512
|
})
|
@@ -15349,8 +15524,8 @@ const VMain = genericComponent()({
|
|
15349
15524
|
useRender(() => createVNode(props.tag, {
|
15350
15525
|
"class": ['v-main', {
|
15351
15526
|
'v-main--scrollable': props.scrollable
|
15352
|
-
}],
|
15353
|
-
"style": [mainStyles.value, ssrBootStyles.value]
|
15527
|
+
}, props.class],
|
15528
|
+
"style": [mainStyles.value, ssrBootStyles.value, props.style]
|
15354
15529
|
}, {
|
15355
15530
|
default: () => [props.scrollable ? createVNode("div", {
|
15356
15531
|
"class": "v-main__scroller"
|
@@ -15360,593 +15535,167 @@ const VMain = genericComponent()({
|
|
15360
15535
|
}
|
15361
15536
|
});
|
15362
15537
|
|
15363
|
-
|
15364
|
-
|
15365
|
-
|
15366
|
-
|
15367
|
-
|
15368
|
-
|
15369
|
-
const
|
15370
|
-
const
|
15371
|
-
const
|
15372
|
-
|
15373
|
-
|
15538
|
+
function useSticky(_ref) {
|
15539
|
+
let {
|
15540
|
+
rootEl,
|
15541
|
+
isSticky,
|
15542
|
+
layoutItemStyles
|
15543
|
+
} = _ref;
|
15544
|
+
const isStuck = ref(false);
|
15545
|
+
const stuckPosition = ref(0);
|
15546
|
+
const stickyStyles = computed(() => {
|
15547
|
+
const side = typeof isStuck.value === 'boolean' ? 'top' : isStuck.value;
|
15548
|
+
return [isSticky.value ? {
|
15549
|
+
top: 'auto',
|
15550
|
+
bottom: 'auto',
|
15551
|
+
height: undefined
|
15552
|
+
} : undefined, isStuck.value ? {
|
15553
|
+
[side]: convertToUnit(stuckPosition.value)
|
15554
|
+
} : {
|
15555
|
+
top: layoutItemStyles.value.top
|
15556
|
+
}];
|
15557
|
+
});
|
15558
|
+
onMounted(() => {
|
15559
|
+
watch(isSticky, val => {
|
15560
|
+
if (val) {
|
15561
|
+
window.addEventListener('scroll', onScroll, {
|
15562
|
+
passive: true
|
15563
|
+
});
|
15564
|
+
} else {
|
15565
|
+
window.removeEventListener('scroll', onScroll);
|
15566
|
+
}
|
15567
|
+
}, {
|
15568
|
+
immediate: true
|
15569
|
+
});
|
15570
|
+
});
|
15571
|
+
onBeforeUnmount(() => {
|
15572
|
+
document.removeEventListener('scroll', onScroll);
|
15573
|
+
});
|
15574
|
+
let lastScrollTop = 0;
|
15575
|
+
function onScroll() {
|
15576
|
+
const direction = lastScrollTop > window.scrollY ? 'up' : 'down';
|
15577
|
+
const rect = rootEl.value.getBoundingClientRect();
|
15578
|
+
const layoutTop = parseFloat(layoutItemStyles.value.top ?? 0);
|
15579
|
+
const top = window.scrollY - Math.max(0, stuckPosition.value - layoutTop);
|
15580
|
+
const bottom = rect.height + Math.max(stuckPosition.value, layoutTop) - window.scrollY - window.innerHeight;
|
15581
|
+
if (rect.height < window.innerHeight - layoutTop) {
|
15582
|
+
isStuck.value = 'top';
|
15583
|
+
stuckPosition.value = layoutTop;
|
15584
|
+
} else if (direction === 'up' && isStuck.value === 'bottom' || direction === 'down' && isStuck.value === 'top') {
|
15585
|
+
stuckPosition.value = window.scrollY + rect.top;
|
15586
|
+
isStuck.value = true;
|
15587
|
+
} else if (direction === 'down' && bottom <= 0) {
|
15588
|
+
stuckPosition.value = 0;
|
15589
|
+
isStuck.value = 'bottom';
|
15590
|
+
} else if (direction === 'up' && top <= 0) {
|
15591
|
+
stuckPosition.value = rect.top + top;
|
15592
|
+
isStuck.value = 'top';
|
15593
|
+
}
|
15594
|
+
lastScrollTop = window.scrollY;
|
15374
15595
|
}
|
15375
|
-
|
15376
|
-
|
15596
|
+
return {
|
15597
|
+
isStuck,
|
15598
|
+
stickyStyles
|
15599
|
+
};
|
15600
|
+
}
|
15377
15601
|
|
15378
|
-
|
15379
|
-
|
15602
|
+
const HORIZON = 100; // ms
|
15603
|
+
const HISTORY = 20; // number of samples to keep
|
15380
15604
|
|
15381
|
-
|
15382
|
-
|
15383
|
-
|
15384
|
-
|
15605
|
+
/** @see https://android.googlesource.com/platform/frameworks/native/+/master/libs/input/VelocityTracker.cpp */
|
15606
|
+
function kineticEnergyToVelocity(work) {
|
15607
|
+
const sqrt2 = 1.41421356237;
|
15608
|
+
return (work < 0 ? -1.0 : 1.0) * Math.sqrt(Math.abs(work)) * sqrt2;
|
15609
|
+
}
|
15610
|
+
|
15611
|
+
/**
|
15612
|
+
* Returns pointer velocity in px/s
|
15613
|
+
*/
|
15614
|
+
function calculateImpulseVelocity(samples) {
|
15615
|
+
// The input should be in reversed time order (most recent sample at index i=0)
|
15616
|
+
if (samples.length < 2) {
|
15617
|
+
// if 0 or 1 points, velocity is zero
|
15618
|
+
return 0;
|
15619
|
+
}
|
15620
|
+
// if (samples[1].t > samples[0].t) {
|
15621
|
+
// // Algorithm will still work, but not perfectly
|
15622
|
+
// consoleWarn('Samples provided to calculateImpulseVelocity in the wrong order')
|
15623
|
+
// }
|
15624
|
+
if (samples.length === 2) {
|
15625
|
+
// if 2 points, basic linear calculation
|
15626
|
+
if (samples[1].t === samples[0].t) {
|
15627
|
+
// consoleWarn(`Events have identical time stamps t=${samples[0].t}, setting velocity = 0`)
|
15628
|
+
return 0;
|
15385
15629
|
}
|
15630
|
+
return (samples[1].d - samples[0].d) / (samples[1].t - samples[0].t);
|
15386
15631
|
}
|
15387
|
-
|
15388
|
-
|
15632
|
+
// Guaranteed to have at least 3 points here
|
15633
|
+
// start with the oldest sample and go forward in time
|
15634
|
+
let work = 0;
|
15635
|
+
for (let i = samples.length - 1; i > 0; i--) {
|
15636
|
+
if (samples[i].t === samples[i - 1].t) {
|
15637
|
+
// consoleWarn(`Events have identical time stamps t=${samples[i].t}, skipping sample`)
|
15638
|
+
continue;
|
15639
|
+
}
|
15640
|
+
const vprev = kineticEnergyToVelocity(work); // v[i-1]
|
15641
|
+
const vcurr = (samples[i].d - samples[i - 1].d) / (samples[i].t - samples[i - 1].t); // v[i]
|
15642
|
+
work += (vcurr - vprev) * Math.abs(vcurr);
|
15643
|
+
if (i === samples.length - 1) {
|
15644
|
+
work *= 0.5;
|
15645
|
+
}
|
15389
15646
|
}
|
15390
|
-
|
15391
|
-
return weeks;
|
15392
|
-
}
|
15393
|
-
function startOfMonth(date) {
|
15394
|
-
return new Date(date.getFullYear(), date.getMonth(), 1);
|
15395
|
-
}
|
15396
|
-
function endOfMonth(date) {
|
15397
|
-
return new Date(date.getFullYear(), date.getMonth() + 1, 0);
|
15647
|
+
return kineticEnergyToVelocity(work) * 1000;
|
15398
15648
|
}
|
15399
|
-
function
|
15400
|
-
|
15401
|
-
|
15402
|
-
|
15403
|
-
|
15404
|
-
|
15649
|
+
function useVelocity() {
|
15650
|
+
const touches = {};
|
15651
|
+
function addMovement(e) {
|
15652
|
+
Array.from(e.changedTouches).forEach(touch => {
|
15653
|
+
const samples = touches[touch.identifier] ?? (touches[touch.identifier] = new CircularBuffer(HISTORY));
|
15654
|
+
samples.push([e.timeStamp, touch]);
|
15655
|
+
});
|
15405
15656
|
}
|
15406
|
-
|
15407
|
-
|
15408
|
-
|
15409
|
-
|
15410
|
-
|
15411
|
-
|
15412
|
-
|
15413
|
-
|
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
|
-
DK: 1,
|
15449
|
-
DM: 0,
|
15450
|
-
DO: 0,
|
15451
|
-
DZ: 6,
|
15452
|
-
EC: 1,
|
15453
|
-
EE: 1,
|
15454
|
-
EG: 6,
|
15455
|
-
ES: 1,
|
15456
|
-
ET: 0,
|
15457
|
-
FI: 1,
|
15458
|
-
FJ: 1,
|
15459
|
-
FO: 1,
|
15460
|
-
FR: 1,
|
15461
|
-
GB: 1,
|
15462
|
-
'GB-alt-variant': 0,
|
15463
|
-
GE: 1,
|
15464
|
-
GF: 1,
|
15465
|
-
GP: 1,
|
15466
|
-
GR: 1,
|
15467
|
-
GT: 0,
|
15468
|
-
GU: 0,
|
15469
|
-
HK: 0,
|
15470
|
-
HN: 0,
|
15471
|
-
HR: 1,
|
15472
|
-
HU: 1,
|
15473
|
-
ID: 0,
|
15474
|
-
IE: 1,
|
15475
|
-
IL: 0,
|
15476
|
-
IN: 0,
|
15477
|
-
IQ: 6,
|
15478
|
-
IR: 6,
|
15479
|
-
IS: 1,
|
15480
|
-
IT: 1,
|
15481
|
-
JM: 0,
|
15482
|
-
JO: 6,
|
15483
|
-
JP: 0,
|
15484
|
-
KE: 0,
|
15485
|
-
KG: 1,
|
15486
|
-
KH: 0,
|
15487
|
-
KR: 0,
|
15488
|
-
KW: 6,
|
15489
|
-
KZ: 1,
|
15490
|
-
LA: 0,
|
15491
|
-
LB: 1,
|
15492
|
-
LI: 1,
|
15493
|
-
LK: 1,
|
15494
|
-
LT: 1,
|
15495
|
-
LU: 1,
|
15496
|
-
LV: 1,
|
15497
|
-
LY: 6,
|
15498
|
-
MC: 1,
|
15499
|
-
MD: 1,
|
15500
|
-
ME: 1,
|
15501
|
-
MH: 0,
|
15502
|
-
MK: 1,
|
15503
|
-
MM: 0,
|
15504
|
-
MN: 1,
|
15505
|
-
MO: 0,
|
15506
|
-
MQ: 1,
|
15507
|
-
MT: 0,
|
15508
|
-
MV: 5,
|
15509
|
-
MX: 0,
|
15510
|
-
MY: 1,
|
15511
|
-
MZ: 0,
|
15512
|
-
NI: 0,
|
15513
|
-
NL: 1,
|
15514
|
-
NO: 1,
|
15515
|
-
NP: 0,
|
15516
|
-
NZ: 1,
|
15517
|
-
OM: 6,
|
15518
|
-
PA: 0,
|
15519
|
-
PE: 0,
|
15520
|
-
PH: 0,
|
15521
|
-
PK: 0,
|
15522
|
-
PL: 1,
|
15523
|
-
PR: 0,
|
15524
|
-
PT: 0,
|
15525
|
-
PY: 0,
|
15526
|
-
QA: 6,
|
15527
|
-
RE: 1,
|
15528
|
-
RO: 1,
|
15529
|
-
RS: 1,
|
15530
|
-
RU: 1,
|
15531
|
-
SA: 0,
|
15532
|
-
SD: 6,
|
15533
|
-
SE: 1,
|
15534
|
-
SG: 0,
|
15535
|
-
SI: 1,
|
15536
|
-
SK: 1,
|
15537
|
-
SM: 1,
|
15538
|
-
SV: 0,
|
15539
|
-
SY: 6,
|
15540
|
-
TH: 0,
|
15541
|
-
TJ: 1,
|
15542
|
-
TM: 1,
|
15543
|
-
TR: 1,
|
15544
|
-
TT: 0,
|
15545
|
-
TW: 0,
|
15546
|
-
UA: 1,
|
15547
|
-
UM: 0,
|
15548
|
-
US: 0,
|
15549
|
-
UY: 1,
|
15550
|
-
UZ: 1,
|
15551
|
-
VA: 1,
|
15552
|
-
VE: 0,
|
15553
|
-
VI: 0,
|
15554
|
-
VN: 1,
|
15555
|
-
WS: 0,
|
15556
|
-
XK: 1,
|
15557
|
-
YE: 0,
|
15558
|
-
ZA: 0,
|
15559
|
-
ZW: 0
|
15560
|
-
};
|
15561
|
-
const sundayJanuarySecond2000 = new Date(2000, 0, 2);
|
15562
|
-
function getWeekdays(locale) {
|
15563
|
-
const daysFromSunday = firstDay[locale.slice(-2).toUpperCase()];
|
15564
|
-
return createRange(7).map(i => {
|
15565
|
-
const weekday = new Date(sundayJanuarySecond2000);
|
15566
|
-
weekday.setDate(sundayJanuarySecond2000.getDate() + daysFromSunday + i);
|
15567
|
-
return new Intl.DateTimeFormat(locale, {
|
15568
|
-
weekday: 'long'
|
15569
|
-
}).format(weekday);
|
15570
|
-
});
|
15571
|
-
}
|
15572
|
-
function format(value, formatString, locale) {
|
15573
|
-
const date = new Date(value);
|
15574
|
-
let options = {};
|
15575
|
-
switch (formatString) {
|
15576
|
-
case 'fullDateWithWeekday':
|
15577
|
-
options = {
|
15578
|
-
weekday: 'long',
|
15579
|
-
day: 'numeric',
|
15580
|
-
month: 'long',
|
15581
|
-
year: 'numeric'
|
15582
|
-
};
|
15583
|
-
break;
|
15584
|
-
case 'normalDateWithWeekday':
|
15585
|
-
options = {
|
15586
|
-
weekday: 'short',
|
15587
|
-
day: 'numeric',
|
15588
|
-
month: 'short',
|
15589
|
-
year: 'numeric'
|
15590
|
-
};
|
15591
|
-
break;
|
15592
|
-
case 'keyboardDate':
|
15593
|
-
options = {};
|
15594
|
-
break;
|
15595
|
-
case 'monthAndDate':
|
15596
|
-
options = {
|
15597
|
-
month: 'long',
|
15598
|
-
day: 'numeric'
|
15599
|
-
};
|
15600
|
-
break;
|
15601
|
-
case 'monthAndYear':
|
15602
|
-
options = {
|
15603
|
-
month: 'long',
|
15604
|
-
year: 'numeric'
|
15605
|
-
};
|
15606
|
-
break;
|
15607
|
-
default:
|
15608
|
-
options = {
|
15609
|
-
timeZone: 'UTC',
|
15610
|
-
timeZoneName: 'short'
|
15611
|
-
};
|
15612
|
-
}
|
15613
|
-
return new Intl.DateTimeFormat(locale, options).format(date);
|
15614
|
-
}
|
15615
|
-
function addDays(date, amount) {
|
15616
|
-
const d = new Date(date);
|
15617
|
-
d.setDate(d.getDate() + amount);
|
15618
|
-
return d;
|
15619
|
-
}
|
15620
|
-
function addMonths(date, amount) {
|
15621
|
-
const d = new Date(date);
|
15622
|
-
d.setMonth(d.getMonth() + amount);
|
15623
|
-
return d;
|
15624
|
-
}
|
15625
|
-
function getYear(date) {
|
15626
|
-
return date.getFullYear();
|
15627
|
-
}
|
15628
|
-
function getMonth(date) {
|
15629
|
-
return date.getMonth();
|
15630
|
-
}
|
15631
|
-
function startOfYear(date) {
|
15632
|
-
return new Date(date.getFullYear(), 0, 1);
|
15633
|
-
}
|
15634
|
-
function endOfYear(date) {
|
15635
|
-
return new Date(date.getFullYear(), 11, 31);
|
15636
|
-
}
|
15637
|
-
function getMondayOfFirstWeekOfYear(year) {
|
15638
|
-
return new Date(year, 0, 1);
|
15639
|
-
}
|
15640
|
-
|
15641
|
-
// https://stackoverflow.com/questions/274861/how-do-i-calculate-the-week-number-given-a-date/275024#275024
|
15642
|
-
function getWeek(date) {
|
15643
|
-
let year = date.getFullYear();
|
15644
|
-
let d1w1 = getMondayOfFirstWeekOfYear(year);
|
15645
|
-
if (date < d1w1) {
|
15646
|
-
year = year - 1;
|
15647
|
-
d1w1 = getMondayOfFirstWeekOfYear(year);
|
15648
|
-
} else {
|
15649
|
-
const tv = getMondayOfFirstWeekOfYear(year + 1);
|
15650
|
-
if (date >= tv) {
|
15651
|
-
year = year + 1;
|
15652
|
-
d1w1 = tv;
|
15653
|
-
}
|
15654
|
-
}
|
15655
|
-
const diffTime = Math.abs(date.getTime() - d1w1.getTime());
|
15656
|
-
const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24));
|
15657
|
-
return Math.floor(diffDays / 7) + 1;
|
15658
|
-
}
|
15659
|
-
function isWithinRange(date, range) {
|
15660
|
-
return isAfter(date, range[0]) && isBefore(date, range[1]);
|
15661
|
-
}
|
15662
|
-
function isValid(date) {
|
15663
|
-
const d = new Date(date);
|
15664
|
-
return d instanceof Date && !isNaN(d.getTime());
|
15665
|
-
}
|
15666
|
-
function isAfter(date, comparing) {
|
15667
|
-
return date.getTime() > comparing.getTime();
|
15668
|
-
}
|
15669
|
-
function isBefore(date, comparing) {
|
15670
|
-
return date.getTime() < comparing.getTime();
|
15671
|
-
}
|
15672
|
-
function isEqual(date, comparing) {
|
15673
|
-
return date.getTime() === comparing.getTime();
|
15674
|
-
}
|
15675
|
-
function isSameDay(date, comparing) {
|
15676
|
-
return date.getDate() === comparing.getDate() && date.getMonth() === comparing.getMonth() && date.getFullYear() === comparing.getFullYear();
|
15677
|
-
}
|
15678
|
-
function isSameMonth(date, comparing) {
|
15679
|
-
return date.getMonth() === comparing.getMonth() && date.getFullYear() === comparing.getFullYear();
|
15680
|
-
}
|
15681
|
-
function getDiff(date, comparing, unit) {
|
15682
|
-
const d = new Date(date);
|
15683
|
-
const c = new Date(comparing);
|
15684
|
-
if (unit === 'month') {
|
15685
|
-
return d.getMonth() - c.getMonth() + (d.getFullYear() - c.getFullYear()) * 12;
|
15686
|
-
}
|
15687
|
-
return Math.floor((d.getTime() - c.getTime()) / (1000 * 60 * 60 * 24));
|
15688
|
-
}
|
15689
|
-
function setYear(date, year) {
|
15690
|
-
const d = new Date(date);
|
15691
|
-
d.setFullYear(year);
|
15692
|
-
return d;
|
15693
|
-
}
|
15694
|
-
class VuetifyDateAdapter {
|
15695
|
-
constructor() {
|
15696
|
-
let locale = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'en';
|
15697
|
-
this.locale = locale;
|
15698
|
-
}
|
15699
|
-
date(value) {
|
15700
|
-
return date(value);
|
15701
|
-
}
|
15702
|
-
addDays(date, amount) {
|
15703
|
-
return addDays(date, amount);
|
15704
|
-
}
|
15705
|
-
addMonths(date, amount) {
|
15706
|
-
return addMonths(date, amount);
|
15707
|
-
}
|
15708
|
-
getWeekArray(date) {
|
15709
|
-
return getWeekArray(date);
|
15710
|
-
}
|
15711
|
-
startOfMonth(date) {
|
15712
|
-
return startOfMonth(date);
|
15713
|
-
}
|
15714
|
-
endOfMonth(date) {
|
15715
|
-
return endOfMonth(date);
|
15716
|
-
}
|
15717
|
-
format(date, formatString) {
|
15718
|
-
return format(date, formatString, this.locale);
|
15719
|
-
}
|
15720
|
-
isEqual(date, comparing) {
|
15721
|
-
return isEqual(date, comparing);
|
15722
|
-
}
|
15723
|
-
isValid(date) {
|
15724
|
-
return isValid(date);
|
15725
|
-
}
|
15726
|
-
isWithinRange(date, range) {
|
15727
|
-
return isWithinRange(date, range);
|
15728
|
-
}
|
15729
|
-
isAfter(date, comparing) {
|
15730
|
-
return isAfter(date, comparing);
|
15731
|
-
}
|
15732
|
-
isSameDay(date, comparing) {
|
15733
|
-
return isSameDay(date, comparing);
|
15734
|
-
}
|
15735
|
-
isSameMonth(date, comparing) {
|
15736
|
-
return isSameMonth(date, comparing);
|
15737
|
-
}
|
15738
|
-
setYear(date, year) {
|
15739
|
-
return setYear(date, year);
|
15740
|
-
}
|
15741
|
-
getDiff(date, comparing, unit) {
|
15742
|
-
return getDiff(date, comparing, unit);
|
15743
|
-
}
|
15744
|
-
getWeek(date) {
|
15745
|
-
return getWeek(date);
|
15746
|
-
}
|
15747
|
-
getWeekdays() {
|
15748
|
-
return getWeekdays(this.locale);
|
15749
|
-
}
|
15750
|
-
getYear(date) {
|
15751
|
-
return getYear(date);
|
15752
|
-
}
|
15753
|
-
getMonth(date) {
|
15754
|
-
return getMonth(date);
|
15755
|
-
}
|
15756
|
-
startOfYear(date) {
|
15757
|
-
return startOfYear(date);
|
15758
|
-
}
|
15759
|
-
endOfYear(date) {
|
15760
|
-
return endOfYear(date);
|
15761
|
-
}
|
15762
|
-
}
|
15763
|
-
|
15764
|
-
// Composables
|
15765
|
-
|
15766
|
-
// Types
|
15767
|
-
|
15768
|
-
const DateAdapterSymbol = Symbol.for('vuetify:date-adapter');
|
15769
|
-
function createDate(options) {
|
15770
|
-
return options ?? {
|
15771
|
-
adapter: VuetifyDateAdapter
|
15772
|
-
};
|
15773
|
-
}
|
15774
|
-
function useDate(props) {
|
15775
|
-
const date = inject$1(DateAdapterSymbol);
|
15776
|
-
const locale = useLocale();
|
15777
|
-
if (!date) throw new Error('[Vuetify] Could not find injected date');
|
15778
|
-
|
15779
|
-
// eslint-disable-next-line new-cap
|
15780
|
-
const instance = new date.adapter(locale.current.value);
|
15781
|
-
watch(locale.current, val => {
|
15782
|
-
instance.locale = val;
|
15783
|
-
}, {
|
15784
|
-
immediate: true
|
15785
|
-
});
|
15786
|
-
return instance;
|
15787
|
-
}
|
15788
|
-
|
15789
|
-
function useSticky(_ref) {
|
15790
|
-
let {
|
15791
|
-
rootEl,
|
15792
|
-
isSticky,
|
15793
|
-
layoutItemStyles
|
15794
|
-
} = _ref;
|
15795
|
-
const isStuck = ref(false);
|
15796
|
-
const stuckPosition = ref(0);
|
15797
|
-
const stickyStyles = computed(() => {
|
15798
|
-
const side = typeof isStuck.value === 'boolean' ? 'top' : isStuck.value;
|
15799
|
-
return [isSticky.value ? {
|
15800
|
-
top: 'auto',
|
15801
|
-
bottom: 'auto',
|
15802
|
-
height: undefined
|
15803
|
-
} : undefined, isStuck.value ? {
|
15804
|
-
[side]: convertToUnit(stuckPosition.value)
|
15805
|
-
} : {
|
15806
|
-
top: layoutItemStyles.value.top
|
15807
|
-
}];
|
15808
|
-
});
|
15809
|
-
onMounted(() => {
|
15810
|
-
watch(isSticky, val => {
|
15811
|
-
if (val) {
|
15812
|
-
window.addEventListener('scroll', onScroll, {
|
15813
|
-
passive: true
|
15814
|
-
});
|
15815
|
-
} else {
|
15816
|
-
window.removeEventListener('scroll', onScroll);
|
15817
|
-
}
|
15818
|
-
}, {
|
15819
|
-
immediate: true
|
15820
|
-
});
|
15821
|
-
});
|
15822
|
-
onBeforeUnmount(() => {
|
15823
|
-
document.removeEventListener('scroll', onScroll);
|
15824
|
-
});
|
15825
|
-
let lastScrollTop = 0;
|
15826
|
-
function onScroll() {
|
15827
|
-
const direction = lastScrollTop > window.scrollY ? 'up' : 'down';
|
15828
|
-
const rect = rootEl.value.getBoundingClientRect();
|
15829
|
-
const layoutTop = parseFloat(layoutItemStyles.value.top ?? 0);
|
15830
|
-
const top = window.scrollY - Math.max(0, stuckPosition.value - layoutTop);
|
15831
|
-
const bottom = rect.height + Math.max(stuckPosition.value, layoutTop) - window.scrollY - window.innerHeight;
|
15832
|
-
if (rect.height < window.innerHeight - layoutTop) {
|
15833
|
-
isStuck.value = 'top';
|
15834
|
-
stuckPosition.value = layoutTop;
|
15835
|
-
} else if (direction === 'up' && isStuck.value === 'bottom' || direction === 'down' && isStuck.value === 'top') {
|
15836
|
-
stuckPosition.value = window.scrollY + rect.top;
|
15837
|
-
isStuck.value = true;
|
15838
|
-
} else if (direction === 'down' && bottom <= 0) {
|
15839
|
-
stuckPosition.value = 0;
|
15840
|
-
isStuck.value = 'bottom';
|
15841
|
-
} else if (direction === 'up' && top <= 0) {
|
15842
|
-
stuckPosition.value = rect.top + top;
|
15843
|
-
isStuck.value = 'top';
|
15844
|
-
}
|
15845
|
-
lastScrollTop = window.scrollY;
|
15846
|
-
}
|
15847
|
-
return {
|
15848
|
-
isStuck,
|
15849
|
-
stickyStyles
|
15850
|
-
};
|
15851
|
-
}
|
15852
|
-
|
15853
|
-
const HORIZON = 100; // ms
|
15854
|
-
const HISTORY = 20; // number of samples to keep
|
15855
|
-
|
15856
|
-
/** @see https://android.googlesource.com/platform/frameworks/native/+/master/libs/input/VelocityTracker.cpp */
|
15857
|
-
function kineticEnergyToVelocity(work) {
|
15858
|
-
const sqrt2 = 1.41421356237;
|
15859
|
-
return (work < 0 ? -1.0 : 1.0) * Math.sqrt(Math.abs(work)) * sqrt2;
|
15860
|
-
}
|
15861
|
-
|
15862
|
-
/**
|
15863
|
-
* Returns pointer velocity in px/s
|
15864
|
-
*/
|
15865
|
-
function calculateImpulseVelocity(samples) {
|
15866
|
-
// The input should be in reversed time order (most recent sample at index i=0)
|
15867
|
-
if (samples.length < 2) {
|
15868
|
-
// if 0 or 1 points, velocity is zero
|
15869
|
-
return 0;
|
15870
|
-
}
|
15871
|
-
// if (samples[1].t > samples[0].t) {
|
15872
|
-
// // Algorithm will still work, but not perfectly
|
15873
|
-
// consoleWarn('Samples provided to calculateImpulseVelocity in the wrong order')
|
15874
|
-
// }
|
15875
|
-
if (samples.length === 2) {
|
15876
|
-
// if 2 points, basic linear calculation
|
15877
|
-
if (samples[1].t === samples[0].t) {
|
15878
|
-
// consoleWarn(`Events have identical time stamps t=${samples[0].t}, setting velocity = 0`)
|
15879
|
-
return 0;
|
15880
|
-
}
|
15881
|
-
return (samples[1].d - samples[0].d) / (samples[1].t - samples[0].t);
|
15882
|
-
}
|
15883
|
-
// Guaranteed to have at least 3 points here
|
15884
|
-
// start with the oldest sample and go forward in time
|
15885
|
-
let work = 0;
|
15886
|
-
for (let i = samples.length - 1; i > 0; i--) {
|
15887
|
-
if (samples[i].t === samples[i - 1].t) {
|
15888
|
-
// consoleWarn(`Events have identical time stamps t=${samples[i].t}, skipping sample`)
|
15889
|
-
continue;
|
15890
|
-
}
|
15891
|
-
const vprev = kineticEnergyToVelocity(work); // v[i-1]
|
15892
|
-
const vcurr = (samples[i].d - samples[i - 1].d) / (samples[i].t - samples[i - 1].t); // v[i]
|
15893
|
-
work += (vcurr - vprev) * Math.abs(vcurr);
|
15894
|
-
if (i === samples.length - 1) {
|
15895
|
-
work *= 0.5;
|
15896
|
-
}
|
15897
|
-
}
|
15898
|
-
return kineticEnergyToVelocity(work) * 1000;
|
15899
|
-
}
|
15900
|
-
function useVelocity() {
|
15901
|
-
const touches = {};
|
15902
|
-
function addMovement(e) {
|
15903
|
-
Array.from(e.changedTouches).forEach(touch => {
|
15904
|
-
const samples = touches[touch.identifier] ?? (touches[touch.identifier] = new CircularBuffer(HISTORY));
|
15905
|
-
samples.push([e.timeStamp, touch]);
|
15906
|
-
});
|
15907
|
-
}
|
15908
|
-
function endTouch(e) {
|
15909
|
-
Array.from(e.changedTouches).forEach(touch => {
|
15910
|
-
delete touches[touch.identifier];
|
15911
|
-
});
|
15912
|
-
}
|
15913
|
-
function getVelocity(id) {
|
15914
|
-
const samples = touches[id]?.values().reverse();
|
15915
|
-
if (!samples) {
|
15916
|
-
throw new Error(`No samples for touch id ${id}`);
|
15917
|
-
}
|
15918
|
-
const newest = samples[0];
|
15919
|
-
const x = [];
|
15920
|
-
const y = [];
|
15921
|
-
for (const val of samples) {
|
15922
|
-
if (newest[0] - val[0] > HORIZON) break;
|
15923
|
-
x.push({
|
15924
|
-
t: val[0],
|
15925
|
-
d: val[1].clientX
|
15926
|
-
});
|
15927
|
-
y.push({
|
15928
|
-
t: val[0],
|
15929
|
-
d: val[1].clientY
|
15930
|
-
});
|
15931
|
-
}
|
15932
|
-
return {
|
15933
|
-
x: calculateImpulseVelocity(x),
|
15934
|
-
y: calculateImpulseVelocity(y),
|
15935
|
-
get direction() {
|
15936
|
-
const {
|
15937
|
-
x,
|
15938
|
-
y
|
15939
|
-
} = this;
|
15940
|
-
const [absX, absY] = [Math.abs(x), Math.abs(y)];
|
15941
|
-
return absX > absY && x >= 0 ? 'right' : absX > absY && x <= 0 ? 'left' : absY > absX && y >= 0 ? 'down' : absY > absX && y <= 0 ? 'up' : oops$1();
|
15942
|
-
}
|
15943
|
-
};
|
15944
|
-
}
|
15945
|
-
return {
|
15946
|
-
addMovement,
|
15947
|
-
endTouch,
|
15948
|
-
getVelocity
|
15949
|
-
};
|
15657
|
+
function endTouch(e) {
|
15658
|
+
Array.from(e.changedTouches).forEach(touch => {
|
15659
|
+
delete touches[touch.identifier];
|
15660
|
+
});
|
15661
|
+
}
|
15662
|
+
function getVelocity(id) {
|
15663
|
+
const samples = touches[id]?.values().reverse();
|
15664
|
+
if (!samples) {
|
15665
|
+
throw new Error(`No samples for touch id ${id}`);
|
15666
|
+
}
|
15667
|
+
const newest = samples[0];
|
15668
|
+
const x = [];
|
15669
|
+
const y = [];
|
15670
|
+
for (const val of samples) {
|
15671
|
+
if (newest[0] - val[0] > HORIZON) break;
|
15672
|
+
x.push({
|
15673
|
+
t: val[0],
|
15674
|
+
d: val[1].clientX
|
15675
|
+
});
|
15676
|
+
y.push({
|
15677
|
+
t: val[0],
|
15678
|
+
d: val[1].clientY
|
15679
|
+
});
|
15680
|
+
}
|
15681
|
+
return {
|
15682
|
+
x: calculateImpulseVelocity(x),
|
15683
|
+
y: calculateImpulseVelocity(y),
|
15684
|
+
get direction() {
|
15685
|
+
const {
|
15686
|
+
x,
|
15687
|
+
y
|
15688
|
+
} = this;
|
15689
|
+
const [absX, absY] = [Math.abs(x), Math.abs(y)];
|
15690
|
+
return absX > absY && x >= 0 ? 'right' : absX > absY && x <= 0 ? 'left' : absY > absX && y >= 0 ? 'down' : absY > absX && y <= 0 ? 'up' : oops$1();
|
15691
|
+
}
|
15692
|
+
};
|
15693
|
+
}
|
15694
|
+
return {
|
15695
|
+
addMovement,
|
15696
|
+
endTouch,
|
15697
|
+
getVelocity
|
15698
|
+
};
|
15950
15699
|
}
|
15951
15700
|
function oops$1() {
|
15952
15701
|
throw new Error();
|
@@ -16122,6 +15871,7 @@ const VNavigationDrawer = genericComponent()({
|
|
16122
15871
|
},
|
16123
15872
|
sticky: Boolean,
|
16124
15873
|
...makeBorderProps(),
|
15874
|
+
...makeComponentProps(),
|
16125
15875
|
...makeElevationProps(),
|
16126
15876
|
...makeLayoutItemProps(),
|
16127
15877
|
...makeRoundedProps(),
|
@@ -16273,8 +16023,8 @@ const VNavigationDrawer = genericComponent()({
|
|
16273
16023
|
'v-navigation-drawer--temporary': isTemporary.value,
|
16274
16024
|
'v-navigation-drawer--active': isActive.value,
|
16275
16025
|
'v-navigation-drawer--sticky': isSticky.value
|
16276
|
-
}, themeClasses.value, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, roundedClasses.value],
|
16277
|
-
"style": [backgroundColorStyles.value, layoutItemStyles.value, dragStyles.value, ssrBootStyles.value, stickyStyles.value]
|
16026
|
+
}, themeClasses.value, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, roundedClasses.value, props.class],
|
16027
|
+
"style": [backgroundColorStyles.value, layoutItemStyles.value, dragStyles.value, ssrBootStyles.value, stickyStyles.value, props.style]
|
16278
16028
|
}, attrs), {
|
16279
16029
|
default: () => [hasImage && createVNode("div", {
|
16280
16030
|
"key": "image",
|
@@ -16403,6 +16153,7 @@ const VPagination = genericComponent()({
|
|
16403
16153
|
},
|
16404
16154
|
showFirstLastPage: Boolean,
|
16405
16155
|
...makeBorderProps(),
|
16156
|
+
...makeComponentProps(),
|
16406
16157
|
...makeDensityProps(),
|
16407
16158
|
...makeElevationProps(),
|
16408
16159
|
...makeRoundedProps(),
|
@@ -16599,7 +16350,8 @@ const VPagination = genericComponent()({
|
|
16599
16350
|
}
|
16600
16351
|
useRender(() => createVNode(props.tag, {
|
16601
16352
|
"ref": resizeRef,
|
16602
|
-
"class": ['v-pagination', themeClasses.value],
|
16353
|
+
"class": ['v-pagination', themeClasses.value, props.class],
|
16354
|
+
"style": props.style,
|
16603
16355
|
"role": "navigation",
|
16604
16356
|
"aria-label": t(props.ariaLabel),
|
16605
16357
|
"onKeydown": onKeydown,
|
@@ -16658,7 +16410,8 @@ const VParallax = genericComponent()({
|
|
16658
16410
|
scale: {
|
16659
16411
|
type: [Number, String],
|
16660
16412
|
default: 0.5
|
16661
|
-
}
|
16413
|
+
},
|
16414
|
+
...makeComponentProps()
|
16662
16415
|
},
|
16663
16416
|
setup(props, _ref) {
|
16664
16417
|
let {
|
@@ -16720,7 +16473,8 @@ const VParallax = genericComponent()({
|
|
16720
16473
|
useRender(() => createVNode(VImg, {
|
16721
16474
|
"class": ['v-parallax', {
|
16722
16475
|
'v-parallax--active': isIntersecting.value
|
16723
|
-
}],
|
16476
|
+
}, props.class],
|
16477
|
+
"style": props.style,
|
16724
16478
|
"ref": root,
|
16725
16479
|
"cover": true,
|
16726
16480
|
"onLoadstart": onScroll,
|
@@ -16745,7 +16499,8 @@ const VRadio = genericComponent()({
|
|
16745
16499
|
slots
|
16746
16500
|
} = _ref;
|
16747
16501
|
useRender(() => createVNode(VSelectionControl, mergeProps(props, {
|
16748
|
-
"class":
|
16502
|
+
"class": ['v-radio', props.class],
|
16503
|
+
"style": props.style,
|
16749
16504
|
"type": "radio"
|
16750
16505
|
}), slots));
|
16751
16506
|
return {};
|
@@ -16799,7 +16554,8 @@ const VRadioGroup = genericComponent()({
|
|
16799
16554
|
}
|
16800
16555
|
}) : props.label;
|
16801
16556
|
return createVNode(VInput, mergeProps({
|
16802
|
-
"class":
|
16557
|
+
"class": ['v-radio-group', props.class],
|
16558
|
+
"style": props.style
|
16803
16559
|
}, inputAttrs, inputProps, {
|
16804
16560
|
"modelValue": model.value,
|
16805
16561
|
"onUpdate:modelValue": $event => model.value = $event,
|
@@ -16937,7 +16693,8 @@ const VRangeSlider = genericComponent()({
|
|
16937
16693
|
'v-slider--focused': isFocused.value,
|
16938
16694
|
'v-slider--pressed': mousePressed.value,
|
16939
16695
|
'v-slider--disabled': props.disabled
|
16940
|
-
}],
|
16696
|
+
}, props.class],
|
16697
|
+
"style": props.style,
|
16941
16698
|
"ref": inputRef
|
16942
16699
|
}, inputProps, {
|
16943
16700
|
"focused": isFocused.value
|
@@ -17080,6 +16837,7 @@ const VRating = genericComponent()({
|
|
17080
16837
|
validator: v => ['top', 'bottom'].includes(v)
|
17081
16838
|
},
|
17082
16839
|
ripple: Boolean,
|
16840
|
+
...makeComponentProps(),
|
17083
16841
|
...makeDensityProps(),
|
17084
16842
|
...makeSizeProps(),
|
17085
16843
|
...makeTagProps(),
|
@@ -17197,7 +16955,8 @@ const VRating = genericComponent()({
|
|
17197
16955
|
"class": ['v-rating', {
|
17198
16956
|
'v-rating--hover': props.hover,
|
17199
16957
|
'v-rating--readonly': props.readonly
|
17200
|
-
}, themeClasses.value]
|
16958
|
+
}, themeClasses.value, props.class],
|
16959
|
+
"style": props.style
|
17201
16960
|
}, {
|
17202
16961
|
default: () => [createVNode(VRatingItem, {
|
17203
16962
|
"value": 0,
|
@@ -17297,6 +17056,7 @@ const makeVSlideGroupProps = propsFactory({
|
|
17297
17056
|
type: [Boolean, String],
|
17298
17057
|
validator: v => typeof v === 'boolean' || ['always', 'desktop', 'mobile'].includes(v)
|
17299
17058
|
},
|
17059
|
+
...makeComponentProps(),
|
17300
17060
|
...makeTagProps(),
|
17301
17061
|
...makeGroupProps({
|
17302
17062
|
selectedClass: 'v-slide-group-item--active'
|
@@ -17460,7 +17220,7 @@ const VSlideGroup = genericComponent()({
|
|
17460
17220
|
function focus(location) {
|
17461
17221
|
if (!contentRef.value) return;
|
17462
17222
|
if (!location) {
|
17463
|
-
const focusable =
|
17223
|
+
const focusable = focusableChildren(contentRef.value);
|
17464
17224
|
focusable[0]?.focus();
|
17465
17225
|
} else if (location === 'next') {
|
17466
17226
|
const el = contentRef.value.querySelector(':focus')?.nextElementSibling;
|
@@ -17537,7 +17297,8 @@ const VSlideGroup = genericComponent()({
|
|
17537
17297
|
'v-slide-group--vertical': !isHorizontal.value,
|
17538
17298
|
'v-slide-group--has-affixes': hasAffixes.value,
|
17539
17299
|
'v-slide-group--is-overflowing': isOverflowing.value
|
17540
|
-
}],
|
17300
|
+
}, props.class],
|
17301
|
+
"style": props.style,
|
17541
17302
|
"tabindex": isFocused.value || group.selected.value.length ? -1 : 0,
|
17542
17303
|
"onFocus": onFocus
|
17543
17304
|
}, {
|
@@ -17687,7 +17448,8 @@ const VSnackbar = genericComponent()({
|
|
17687
17448
|
'v-snackbar--active': isActive.value,
|
17688
17449
|
'v-snackbar--multi-line': props.multiLine && !props.vertical,
|
17689
17450
|
'v-snackbar--vertical': props.vertical
|
17690
|
-
}, positionClasses.value]
|
17451
|
+
}, positionClasses.value, props.class],
|
17452
|
+
"style": props.style
|
17691
17453
|
}, overlayProps, {
|
17692
17454
|
"modelValue": isActive.value,
|
17693
17455
|
"onUpdate:modelValue": $event => isActive.value = $event,
|
@@ -17787,7 +17549,8 @@ const VSwitch = genericComponent()({
|
|
17787
17549
|
'v-switch--inset': props.inset
|
17788
17550
|
}, {
|
17789
17551
|
'v-switch--indeterminate': indeterminate.value
|
17790
|
-
}, loaderClasses.value]
|
17552
|
+
}, loaderClasses.value, props.class],
|
17553
|
+
"style": props.style
|
17791
17554
|
}, inputAttrs, inputProps, {
|
17792
17555
|
"id": id.value,
|
17793
17556
|
"focused": isFocused.value
|
@@ -17856,6 +17619,7 @@ const VSystemBar = genericComponent()({
|
|
17856
17619
|
color: String,
|
17857
17620
|
height: [Number, String],
|
17858
17621
|
window: Boolean,
|
17622
|
+
...makeComponentProps(),
|
17859
17623
|
...makeElevationProps(),
|
17860
17624
|
...makeLayoutItemProps(),
|
17861
17625
|
...makeRoundedProps(),
|
@@ -17897,8 +17661,8 @@ const VSystemBar = genericComponent()({
|
|
17897
17661
|
useRender(() => createVNode(props.tag, {
|
17898
17662
|
"class": ['v-system-bar', {
|
17899
17663
|
'v-system-bar--window': props.window
|
17900
|
-
}, themeClasses.value, backgroundColorClasses.value, elevationClasses.value, roundedClasses.value],
|
17901
|
-
"style": [backgroundColorStyles.value, layoutItemStyles.value, ssrBootStyles.value]
|
17664
|
+
}, themeClasses.value, backgroundColorClasses.value, elevationClasses.value, roundedClasses.value, props.class],
|
17665
|
+
"style": [backgroundColorStyles.value, layoutItemStyles.value, ssrBootStyles.value, props.style]
|
17902
17666
|
}, slots));
|
17903
17667
|
return {};
|
17904
17668
|
}
|
@@ -17971,10 +17735,10 @@ const VTab = genericComponent()({
|
|
17971
17735
|
useRender(() => {
|
17972
17736
|
const [btnProps] = VBtn.filterProps(props);
|
17973
17737
|
return createVNode(VBtn, mergeProps({
|
17974
|
-
"_as": "VTab",
|
17975
17738
|
"symbol": VTabsSymbol,
|
17976
17739
|
"ref": rootEl,
|
17977
|
-
"class": ['v-tab'],
|
17740
|
+
"class": ['v-tab', props.class],
|
17741
|
+
"style": props.style,
|
17978
17742
|
"tabindex": isSelected.value ? 0 : -1,
|
17979
17743
|
"role": "tab",
|
17980
17744
|
"aria-selected": String(isSelected.value),
|
@@ -18069,10 +17833,10 @@ const VTabs = genericComponent()({
|
|
18069
17833
|
'v-tabs--fixed-tabs': props.fixedTabs,
|
18070
17834
|
'v-tabs--grow': props.grow,
|
18071
17835
|
'v-tabs--stacked': props.stacked
|
18072
|
-
}, densityClasses.value, backgroundColorClasses.value],
|
17836
|
+
}, densityClasses.value, backgroundColorClasses.value, props.class],
|
18073
17837
|
"style": [{
|
18074
17838
|
'--v-tabs-height': convertToUnit(props.height)
|
18075
|
-
}, backgroundColorStyles.value],
|
17839
|
+
}, backgroundColorStyles.value, props.style],
|
18076
17840
|
"role": "tablist",
|
18077
17841
|
"symbol": VTabsSymbol
|
18078
17842
|
}), {
|
@@ -18092,6 +17856,7 @@ const VTable = genericComponent()({
|
|
18092
17856
|
fixedFooter: Boolean,
|
18093
17857
|
height: [Number, String],
|
18094
17858
|
hover: Boolean,
|
17859
|
+
...makeComponentProps(),
|
18095
17860
|
...makeDensityProps(),
|
18096
17861
|
...makeTagProps(),
|
18097
17862
|
...makeThemeProps()
|
@@ -18114,7 +17879,8 @@ const VTable = genericComponent()({
|
|
18114
17879
|
'v-table--has-top': !!slots.top,
|
18115
17880
|
'v-table--has-bottom': !!slots.bottom,
|
18116
17881
|
'v-table--hover': props.hover
|
18117
|
-
}, themeClasses.value, densityClasses.value]
|
17882
|
+
}, themeClasses.value, densityClasses.value, props.class],
|
17883
|
+
"style": props.style
|
18118
17884
|
}, {
|
18119
17885
|
default: () => [slots.top?.(), slots.default ? createVNode("div", {
|
18120
17886
|
"class": "v-table__wrapper",
|
@@ -18279,7 +18045,8 @@ const VTextarea = genericComponent()({
|
|
18279
18045
|
'v-textarea--auto-grow': props.autoGrow,
|
18280
18046
|
'v-textarea--no-resize': props.noResize || props.autoGrow,
|
18281
18047
|
'v-text-field--flush-details': ['plain', 'underlined'].includes(props.variant)
|
18282
|
-
}]
|
18048
|
+
}, props.class],
|
18049
|
+
"style": props.style
|
18283
18050
|
}, rootAttrs, inputProps, {
|
18284
18051
|
"focused": isFocused.value
|
18285
18052
|
}), {
|
@@ -18363,6 +18130,7 @@ const VThemeProvider = genericComponent()({
|
|
18363
18130
|
name: 'VThemeProvider',
|
18364
18131
|
props: {
|
18365
18132
|
withBackground: Boolean,
|
18133
|
+
...makeComponentProps(),
|
18366
18134
|
...makeThemeProps(),
|
18367
18135
|
...makeTagProps()
|
18368
18136
|
},
|
@@ -18376,7 +18144,8 @@ const VThemeProvider = genericComponent()({
|
|
18376
18144
|
return () => {
|
18377
18145
|
if (!props.withBackground) return slots.default?.();
|
18378
18146
|
return createVNode(props.tag, {
|
18379
|
-
"class": ['v-theme-provider', themeClasses.value]
|
18147
|
+
"class": ['v-theme-provider', themeClasses.value, props.class],
|
18148
|
+
"style": props.style
|
18380
18149
|
}, {
|
18381
18150
|
default: () => [slots.default?.()]
|
18382
18151
|
});
|
@@ -18421,6 +18190,7 @@ const VTimeline = genericComponent()({
|
|
18421
18190
|
type: String,
|
18422
18191
|
validator: v => ['start', 'end', 'both'].includes(v)
|
18423
18192
|
},
|
18193
|
+
...makeComponentProps(),
|
18424
18194
|
...makeDensityProps(),
|
18425
18195
|
...makeTagProps(),
|
18426
18196
|
...makeThemeProps()
|
@@ -18464,10 +18234,10 @@ const VTimeline = genericComponent()({
|
|
18464
18234
|
useRender(() => createVNode(props.tag, {
|
18465
18235
|
"class": ['v-timeline', `v-timeline--${props.direction}`, `v-timeline--align-${props.align}`, `v-timeline--justify-${props.justify}`, truncateClasses.value, {
|
18466
18236
|
'v-timeline--inset-line': !!props.lineInset
|
18467
|
-
}, themeClasses.value, densityClasses.value, sideClasses.value],
|
18468
|
-
"style": {
|
18237
|
+
}, themeClasses.value, densityClasses.value, sideClasses.value, props.class],
|
18238
|
+
"style": [{
|
18469
18239
|
'--v-timeline-line-thickness': convertToUnit(props.lineThickness)
|
18470
|
-
}
|
18240
|
+
}, props.style]
|
18471
18241
|
}, slots));
|
18472
18242
|
return {};
|
18473
18243
|
}
|
@@ -18482,6 +18252,7 @@ const VTimelineDivider = genericComponent()({
|
|
18482
18252
|
icon: IconValue,
|
18483
18253
|
iconColor: String,
|
18484
18254
|
lineColor: String,
|
18255
|
+
...makeComponentProps(),
|
18485
18256
|
...makeRoundedProps(),
|
18486
18257
|
...makeSizeProps(),
|
18487
18258
|
...makeElevationProps()
|
@@ -18511,7 +18282,8 @@ const VTimelineDivider = genericComponent()({
|
|
18511
18282
|
useRender(() => createVNode("div", {
|
18512
18283
|
"class": ['v-timeline-divider', {
|
18513
18284
|
'v-timeline-divider--fill-dot': props.fillDot
|
18514
|
-
}]
|
18285
|
+
}, props.class],
|
18286
|
+
"style": props.style
|
18515
18287
|
}, [createVNode("div", {
|
18516
18288
|
"class": ['v-timeline-divider__before', lineColorClasses.value],
|
18517
18289
|
"style": lineColorStyles.value
|
@@ -18561,11 +18333,12 @@ const VTimelineItem = genericComponent()({
|
|
18561
18333
|
icon: IconValue,
|
18562
18334
|
iconColor: String,
|
18563
18335
|
lineInset: [Number, String],
|
18564
|
-
...
|
18336
|
+
...makeComponentProps(),
|
18337
|
+
...makeDimensionProps(),
|
18565
18338
|
...makeElevationProps(),
|
18339
|
+
...makeRoundedProps(),
|
18566
18340
|
...makeSizeProps(),
|
18567
|
-
...makeTagProps()
|
18568
|
-
...makeDimensionProps()
|
18341
|
+
...makeTagProps()
|
18569
18342
|
},
|
18570
18343
|
setup(props, _ref) {
|
18571
18344
|
let {
|
@@ -18585,11 +18358,11 @@ const VTimelineItem = genericComponent()({
|
|
18585
18358
|
useRender(() => createVNode("div", {
|
18586
18359
|
"class": ['v-timeline-item', {
|
18587
18360
|
'v-timeline-item--fill-dot': props.fillDot
|
18588
|
-
}],
|
18589
|
-
"style": {
|
18361
|
+
}, props.class],
|
18362
|
+
"style": [{
|
18590
18363
|
'--v-timeline-dot-size': convertToUnit(dotSize.value),
|
18591
18364
|
'--v-timeline-line-inset': props.lineInset ? `calc(var(--v-timeline-dot-size) / 2 + ${convertToUnit(props.lineInset)})` : convertToUnit(0)
|
18592
|
-
}
|
18365
|
+
}, props.style]
|
18593
18366
|
}, [createVNode("div", {
|
18594
18367
|
"class": "v-timeline-item__body",
|
18595
18368
|
"style": dimensionStyles.value
|
@@ -18665,7 +18438,8 @@ const VTooltip = genericComponent()({
|
|
18665
18438
|
const [overlayProps] = VOverlay.filterProps(props);
|
18666
18439
|
return createVNode(VOverlay, mergeProps({
|
18667
18440
|
"ref": overlay,
|
18668
|
-
"class": ['v-tooltip'],
|
18441
|
+
"class": ['v-tooltip', props.class],
|
18442
|
+
"style": props.style,
|
18669
18443
|
"id": id.value
|
18670
18444
|
}, overlayProps, {
|
18671
18445
|
"modelValue": isActive.value,
|
@@ -18713,7 +18487,8 @@ const VValidation = genericComponent()({
|
|
18713
18487
|
const VVirtualScrollItem = genericComponent()({
|
18714
18488
|
name: 'VVirtualScrollItem',
|
18715
18489
|
props: {
|
18716
|
-
dynamicHeight: Boolean
|
18490
|
+
dynamicHeight: Boolean,
|
18491
|
+
...makeComponentProps()
|
18717
18492
|
},
|
18718
18493
|
emits: {
|
18719
18494
|
'update:height': height => true
|
@@ -18740,7 +18515,8 @@ const VVirtualScrollItem = genericComponent()({
|
|
18740
18515
|
onUpdated(updateHeight);
|
18741
18516
|
useRender(() => createVNode("div", {
|
18742
18517
|
"ref": props.dynamicHeight ? resizeRef : undefined,
|
18743
|
-
"class":
|
18518
|
+
"class": ['v-virtual-scroll__item', props.class],
|
18519
|
+
"style": props.style
|
18744
18520
|
}, [slots.default?.()]));
|
18745
18521
|
}
|
18746
18522
|
});
|
@@ -18757,7 +18533,7 @@ const VVirtualScroll = genericComponent()({
|
|
18757
18533
|
default: () => []
|
18758
18534
|
},
|
18759
18535
|
itemHeight: [Number, String],
|
18760
|
-
|
18536
|
+
...makeComponentProps(),
|
18761
18537
|
...makeDimensionProps()
|
18762
18538
|
},
|
18763
18539
|
setup(props, _ref) {
|
@@ -18784,7 +18560,7 @@ const VVirtualScroll = genericComponent()({
|
|
18784
18560
|
const sizeMap = new Map();
|
18785
18561
|
let sizes = createRange(props.items.length).map(() => itemHeight.value);
|
18786
18562
|
const visibleItems = computed(() => {
|
18787
|
-
return
|
18563
|
+
return Math.max(12, Math.ceil((contentRect.value?.height ?? display.height.value) / itemHeight.value * 1.7 + 1));
|
18788
18564
|
});
|
18789
18565
|
function handleItemResize(index, height) {
|
18790
18566
|
itemHeight.value = Math.max(itemHeight.value, height);
|
@@ -18795,20 +18571,13 @@ const VVirtualScroll = genericComponent()({
|
|
18795
18571
|
return sizes.slice(0, index).reduce((curr, value) => curr + (value || itemHeight.value), 0);
|
18796
18572
|
}
|
18797
18573
|
function calculateMidPointIndex(scrollTop) {
|
18798
|
-
|
18799
|
-
let
|
18800
|
-
|
18801
|
-
|
18802
|
-
|
18803
|
-
if (middleOffset === scrollTop) {
|
18804
|
-
return middle;
|
18805
|
-
} else if (middleOffset < scrollTop) {
|
18806
|
-
start = middle + 1;
|
18807
|
-
} else if (middleOffset > scrollTop) {
|
18808
|
-
end = middle - 1;
|
18809
|
-
}
|
18574
|
+
const end = props.items.length;
|
18575
|
+
let middle = 0;
|
18576
|
+
let middleOffset = 0;
|
18577
|
+
while (middleOffset < scrollTop && middle < end) {
|
18578
|
+
middleOffset += sizes[middle++] || itemHeight.value;
|
18810
18579
|
}
|
18811
|
-
return
|
18580
|
+
return middle - 1;
|
18812
18581
|
}
|
18813
18582
|
let lastScrollTop = 0;
|
18814
18583
|
function handleScroll() {
|
@@ -18830,8 +18599,12 @@ const VVirtualScroll = genericComponent()({
|
|
18830
18599
|
const offset = calculateOffset(index);
|
18831
18600
|
rootEl.value.scrollTop = offset;
|
18832
18601
|
}
|
18602
|
+
const items = computed(() => props.items.map((item, index) => ({
|
18603
|
+
raw: item,
|
18604
|
+
index
|
18605
|
+
})));
|
18833
18606
|
const last = computed(() => Math.min(props.items.length, first.value + visibleItems.value));
|
18834
|
-
const computedItems = computed(() =>
|
18607
|
+
const computedItems = computed(() => items.value.slice(first.value, last.value));
|
18835
18608
|
const paddingTop = computed(() => calculateOffset(first.value));
|
18836
18609
|
const paddingBottom = computed(() => calculateOffset(props.items.length) - calculateOffset(last.value));
|
18837
18610
|
const {
|
@@ -18856,23 +18629,23 @@ const VVirtualScroll = genericComponent()({
|
|
18856
18629
|
});
|
18857
18630
|
useRender(() => createVNode("div", {
|
18858
18631
|
"ref": rootEl,
|
18859
|
-
"class":
|
18632
|
+
"class": ['v-virtual-scroll', props.class],
|
18860
18633
|
"onScroll": handleScroll,
|
18861
|
-
"style": dimensionStyles.value
|
18634
|
+
"style": [dimensionStyles.value, props.style]
|
18862
18635
|
}, [createVNode("div", {
|
18863
18636
|
"class": "v-virtual-scroll__container",
|
18864
18637
|
"style": {
|
18865
18638
|
paddingTop: convertToUnit(paddingTop.value),
|
18866
18639
|
paddingBottom: convertToUnit(paddingBottom.value)
|
18867
18640
|
}
|
18868
|
-
}, [computedItems.value.map(
|
18869
|
-
"key": index,
|
18641
|
+
}, [computedItems.value.map(item => createVNode(VVirtualScrollItem, {
|
18642
|
+
"key": item.index,
|
18870
18643
|
"dynamicHeight": !props.itemHeight,
|
18871
|
-
"onUpdate:height": height => handleItemResize(index
|
18644
|
+
"onUpdate:height": height => handleItemResize(item.index, height)
|
18872
18645
|
}, {
|
18873
18646
|
default: () => [slots.default?.({
|
18874
|
-
item,
|
18875
|
-
index: index
|
18647
|
+
item: item.raw,
|
18648
|
+
index: item.index
|
18876
18649
|
})]
|
18877
18650
|
}))])]));
|
18878
18651
|
return {
|
@@ -19020,130 +18793,542 @@ var components = /*#__PURE__*/Object.freeze({
|
|
19020
18793
|
|
19021
18794
|
// Types
|
19022
18795
|
|
19023
|
-
function mounted$2(el, binding) {
|
19024
|
-
const modifiers = binding.modifiers || {};
|
19025
|
-
const value = binding.value;
|
19026
|
-
const {
|
19027
|
-
once,
|
19028
|
-
immediate,
|
19029
|
-
...modifierKeys
|
19030
|
-
} = modifiers;
|
19031
|
-
const defaultValue = !Object.keys(modifierKeys).length;
|
19032
|
-
const {
|
19033
|
-
handler,
|
19034
|
-
options
|
19035
|
-
} = typeof value === 'object' ? value : {
|
19036
|
-
handler: value,
|
19037
|
-
options: {
|
19038
|
-
attributes: modifierKeys?.attr ?? defaultValue,
|
19039
|
-
characterData: modifierKeys?.char ?? defaultValue,
|
19040
|
-
childList: modifierKeys?.child ?? defaultValue,
|
19041
|
-
subtree: modifierKeys?.sub ?? defaultValue
|
18796
|
+
function mounted$2(el, binding) {
|
18797
|
+
const modifiers = binding.modifiers || {};
|
18798
|
+
const value = binding.value;
|
18799
|
+
const {
|
18800
|
+
once,
|
18801
|
+
immediate,
|
18802
|
+
...modifierKeys
|
18803
|
+
} = modifiers;
|
18804
|
+
const defaultValue = !Object.keys(modifierKeys).length;
|
18805
|
+
const {
|
18806
|
+
handler,
|
18807
|
+
options
|
18808
|
+
} = typeof value === 'object' ? value : {
|
18809
|
+
handler: value,
|
18810
|
+
options: {
|
18811
|
+
attributes: modifierKeys?.attr ?? defaultValue,
|
18812
|
+
characterData: modifierKeys?.char ?? defaultValue,
|
18813
|
+
childList: modifierKeys?.child ?? defaultValue,
|
18814
|
+
subtree: modifierKeys?.sub ?? defaultValue
|
18815
|
+
}
|
18816
|
+
};
|
18817
|
+
const observer = new MutationObserver(function () {
|
18818
|
+
let mutations = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
18819
|
+
let observer = arguments.length > 1 ? arguments[1] : undefined;
|
18820
|
+
handler?.(mutations, observer);
|
18821
|
+
if (once) unmounted$2(el, binding);
|
18822
|
+
});
|
18823
|
+
if (immediate) handler?.([], observer);
|
18824
|
+
el._mutate = Object(el._mutate);
|
18825
|
+
el._mutate[binding.instance.$.uid] = {
|
18826
|
+
observer
|
18827
|
+
};
|
18828
|
+
observer.observe(el, options);
|
18829
|
+
}
|
18830
|
+
function unmounted$2(el, binding) {
|
18831
|
+
if (!el._mutate?.[binding.instance.$.uid]) return;
|
18832
|
+
el._mutate[binding.instance.$.uid].observer.disconnect();
|
18833
|
+
delete el._mutate[binding.instance.$.uid];
|
18834
|
+
}
|
18835
|
+
const Mutate = {
|
18836
|
+
mounted: mounted$2,
|
18837
|
+
unmounted: unmounted$2
|
18838
|
+
};
|
18839
|
+
|
18840
|
+
function mounted$1(el, binding) {
|
18841
|
+
const handler = binding.value;
|
18842
|
+
const options = {
|
18843
|
+
passive: !binding.modifiers?.active
|
18844
|
+
};
|
18845
|
+
window.addEventListener('resize', handler, options);
|
18846
|
+
el._onResize = Object(el._onResize);
|
18847
|
+
el._onResize[binding.instance.$.uid] = {
|
18848
|
+
handler,
|
18849
|
+
options
|
18850
|
+
};
|
18851
|
+
if (!binding.modifiers?.quiet) {
|
18852
|
+
handler();
|
18853
|
+
}
|
18854
|
+
}
|
18855
|
+
function unmounted$1(el, binding) {
|
18856
|
+
if (!el._onResize?.[binding.instance.$.uid]) return;
|
18857
|
+
const {
|
18858
|
+
handler,
|
18859
|
+
options
|
18860
|
+
} = el._onResize[binding.instance.$.uid];
|
18861
|
+
window.removeEventListener('resize', handler, options);
|
18862
|
+
delete el._onResize[binding.instance.$.uid];
|
18863
|
+
}
|
18864
|
+
const Resize = {
|
18865
|
+
mounted: mounted$1,
|
18866
|
+
unmounted: unmounted$1
|
18867
|
+
};
|
18868
|
+
|
18869
|
+
function mounted(el, binding) {
|
18870
|
+
const {
|
18871
|
+
self = false
|
18872
|
+
} = binding.modifiers ?? {};
|
18873
|
+
const value = binding.value;
|
18874
|
+
const options = typeof value === 'object' && value.options || {
|
18875
|
+
passive: true
|
18876
|
+
};
|
18877
|
+
const handler = typeof value === 'function' || 'handleEvent' in value ? value : value.handler;
|
18878
|
+
const target = self ? el : binding.arg ? document.querySelector(binding.arg) : window;
|
18879
|
+
if (!target) return;
|
18880
|
+
target.addEventListener('scroll', handler, options);
|
18881
|
+
el._onScroll = Object(el._onScroll);
|
18882
|
+
el._onScroll[binding.instance.$.uid] = {
|
18883
|
+
handler,
|
18884
|
+
options,
|
18885
|
+
// Don't reference self
|
18886
|
+
target: self ? undefined : target
|
18887
|
+
};
|
18888
|
+
}
|
18889
|
+
function unmounted(el, binding) {
|
18890
|
+
if (!el._onScroll?.[binding.instance.$.uid]) return;
|
18891
|
+
const {
|
18892
|
+
handler,
|
18893
|
+
options,
|
18894
|
+
target = el
|
18895
|
+
} = el._onScroll[binding.instance.$.uid];
|
18896
|
+
target.removeEventListener('scroll', handler, options);
|
18897
|
+
delete el._onScroll[binding.instance.$.uid];
|
18898
|
+
}
|
18899
|
+
function updated(el, binding) {
|
18900
|
+
if (binding.value === binding.oldValue) return;
|
18901
|
+
unmounted(el, binding);
|
18902
|
+
mounted(el, binding);
|
18903
|
+
}
|
18904
|
+
const Scroll = {
|
18905
|
+
mounted,
|
18906
|
+
unmounted,
|
18907
|
+
updated
|
18908
|
+
};
|
18909
|
+
|
18910
|
+
var directives = /*#__PURE__*/Object.freeze({
|
18911
|
+
__proto__: null,
|
18912
|
+
ClickOutside: ClickOutside,
|
18913
|
+
Intersect: Intersect,
|
18914
|
+
Mutate: Mutate,
|
18915
|
+
Resize: Resize,
|
18916
|
+
Ripple: Ripple,
|
18917
|
+
Scroll: Scroll,
|
18918
|
+
Touch: Touch
|
18919
|
+
});
|
18920
|
+
|
18921
|
+
// Utilities
|
18922
|
+
|
18923
|
+
// Types
|
18924
|
+
|
18925
|
+
function getWeekArray(date) {
|
18926
|
+
let currentWeek = [];
|
18927
|
+
const weeks = [];
|
18928
|
+
const firstDayOfMonth = startOfMonth(date);
|
18929
|
+
const lastDayOfMonth = endOfMonth(date);
|
18930
|
+
for (let i = 0; i < firstDayOfMonth.getDay(); i++) {
|
18931
|
+
currentWeek.push(null);
|
18932
|
+
}
|
18933
|
+
for (let i = 1; i <= lastDayOfMonth.getDate(); i++) {
|
18934
|
+
const day = new Date(date.getFullYear(), date.getMonth(), i);
|
18935
|
+
|
18936
|
+
// Add the day to the current week
|
18937
|
+
currentWeek.push(day);
|
18938
|
+
|
18939
|
+
// If the current week has 7 days, add it to the weeks array and start a new week
|
18940
|
+
if (currentWeek.length === 7) {
|
18941
|
+
weeks.push(currentWeek);
|
18942
|
+
currentWeek = [];
|
19042
18943
|
}
|
19043
|
-
}
|
19044
|
-
|
19045
|
-
|
19046
|
-
|
19047
|
-
|
19048
|
-
|
18944
|
+
}
|
18945
|
+
for (let i = currentWeek.length; i < 7; i++) {
|
18946
|
+
currentWeek.push(null);
|
18947
|
+
}
|
18948
|
+
weeks.push(currentWeek);
|
18949
|
+
return weeks;
|
18950
|
+
}
|
18951
|
+
function startOfMonth(date) {
|
18952
|
+
return new Date(date.getFullYear(), date.getMonth(), 1);
|
18953
|
+
}
|
18954
|
+
function endOfMonth(date) {
|
18955
|
+
return new Date(date.getFullYear(), date.getMonth() + 1, 0);
|
18956
|
+
}
|
18957
|
+
function date(value) {
|
18958
|
+
if (value == null) return null;
|
18959
|
+
if (value instanceof Date) return value;
|
18960
|
+
if (typeof value === 'string') {
|
18961
|
+
const parsed = Date.parse(value);
|
18962
|
+
if (!isNaN(parsed)) return new Date(parsed);
|
18963
|
+
}
|
18964
|
+
return null;
|
18965
|
+
}
|
18966
|
+
const firstDay = {
|
18967
|
+
'001': 1,
|
18968
|
+
AD: 1,
|
18969
|
+
AE: 6,
|
18970
|
+
AF: 6,
|
18971
|
+
AG: 0,
|
18972
|
+
AI: 1,
|
18973
|
+
AL: 1,
|
18974
|
+
AM: 1,
|
18975
|
+
AN: 1,
|
18976
|
+
AR: 1,
|
18977
|
+
AS: 0,
|
18978
|
+
AT: 1,
|
18979
|
+
AU: 0,
|
18980
|
+
AX: 1,
|
18981
|
+
AZ: 1,
|
18982
|
+
BA: 1,
|
18983
|
+
BD: 0,
|
18984
|
+
BE: 1,
|
18985
|
+
BG: 1,
|
18986
|
+
BH: 6,
|
18987
|
+
BM: 1,
|
18988
|
+
BN: 1,
|
18989
|
+
BR: 0,
|
18990
|
+
BS: 0,
|
18991
|
+
BT: 0,
|
18992
|
+
BW: 0,
|
18993
|
+
BY: 1,
|
18994
|
+
BZ: 0,
|
18995
|
+
CA: 0,
|
18996
|
+
CH: 1,
|
18997
|
+
CL: 1,
|
18998
|
+
CM: 1,
|
18999
|
+
CN: 0,
|
19000
|
+
CO: 0,
|
19001
|
+
CR: 1,
|
19002
|
+
CY: 1,
|
19003
|
+
CZ: 1,
|
19004
|
+
DE: 1,
|
19005
|
+
DJ: 6,
|
19006
|
+
DK: 1,
|
19007
|
+
DM: 0,
|
19008
|
+
DO: 0,
|
19009
|
+
DZ: 6,
|
19010
|
+
EC: 1,
|
19011
|
+
EE: 1,
|
19012
|
+
EG: 6,
|
19013
|
+
ES: 1,
|
19014
|
+
ET: 0,
|
19015
|
+
FI: 1,
|
19016
|
+
FJ: 1,
|
19017
|
+
FO: 1,
|
19018
|
+
FR: 1,
|
19019
|
+
GB: 1,
|
19020
|
+
'GB-alt-variant': 0,
|
19021
|
+
GE: 1,
|
19022
|
+
GF: 1,
|
19023
|
+
GP: 1,
|
19024
|
+
GR: 1,
|
19025
|
+
GT: 0,
|
19026
|
+
GU: 0,
|
19027
|
+
HK: 0,
|
19028
|
+
HN: 0,
|
19029
|
+
HR: 1,
|
19030
|
+
HU: 1,
|
19031
|
+
ID: 0,
|
19032
|
+
IE: 1,
|
19033
|
+
IL: 0,
|
19034
|
+
IN: 0,
|
19035
|
+
IQ: 6,
|
19036
|
+
IR: 6,
|
19037
|
+
IS: 1,
|
19038
|
+
IT: 1,
|
19039
|
+
JM: 0,
|
19040
|
+
JO: 6,
|
19041
|
+
JP: 0,
|
19042
|
+
KE: 0,
|
19043
|
+
KG: 1,
|
19044
|
+
KH: 0,
|
19045
|
+
KR: 0,
|
19046
|
+
KW: 6,
|
19047
|
+
KZ: 1,
|
19048
|
+
LA: 0,
|
19049
|
+
LB: 1,
|
19050
|
+
LI: 1,
|
19051
|
+
LK: 1,
|
19052
|
+
LT: 1,
|
19053
|
+
LU: 1,
|
19054
|
+
LV: 1,
|
19055
|
+
LY: 6,
|
19056
|
+
MC: 1,
|
19057
|
+
MD: 1,
|
19058
|
+
ME: 1,
|
19059
|
+
MH: 0,
|
19060
|
+
MK: 1,
|
19061
|
+
MM: 0,
|
19062
|
+
MN: 1,
|
19063
|
+
MO: 0,
|
19064
|
+
MQ: 1,
|
19065
|
+
MT: 0,
|
19066
|
+
MV: 5,
|
19067
|
+
MX: 0,
|
19068
|
+
MY: 1,
|
19069
|
+
MZ: 0,
|
19070
|
+
NI: 0,
|
19071
|
+
NL: 1,
|
19072
|
+
NO: 1,
|
19073
|
+
NP: 0,
|
19074
|
+
NZ: 1,
|
19075
|
+
OM: 6,
|
19076
|
+
PA: 0,
|
19077
|
+
PE: 0,
|
19078
|
+
PH: 0,
|
19079
|
+
PK: 0,
|
19080
|
+
PL: 1,
|
19081
|
+
PR: 0,
|
19082
|
+
PT: 0,
|
19083
|
+
PY: 0,
|
19084
|
+
QA: 6,
|
19085
|
+
RE: 1,
|
19086
|
+
RO: 1,
|
19087
|
+
RS: 1,
|
19088
|
+
RU: 1,
|
19089
|
+
SA: 0,
|
19090
|
+
SD: 6,
|
19091
|
+
SE: 1,
|
19092
|
+
SG: 0,
|
19093
|
+
SI: 1,
|
19094
|
+
SK: 1,
|
19095
|
+
SM: 1,
|
19096
|
+
SV: 0,
|
19097
|
+
SY: 6,
|
19098
|
+
TH: 0,
|
19099
|
+
TJ: 1,
|
19100
|
+
TM: 1,
|
19101
|
+
TR: 1,
|
19102
|
+
TT: 0,
|
19103
|
+
TW: 0,
|
19104
|
+
UA: 1,
|
19105
|
+
UM: 0,
|
19106
|
+
US: 0,
|
19107
|
+
UY: 1,
|
19108
|
+
UZ: 1,
|
19109
|
+
VA: 1,
|
19110
|
+
VE: 0,
|
19111
|
+
VI: 0,
|
19112
|
+
VN: 1,
|
19113
|
+
WS: 0,
|
19114
|
+
XK: 1,
|
19115
|
+
YE: 0,
|
19116
|
+
ZA: 0,
|
19117
|
+
ZW: 0
|
19118
|
+
};
|
19119
|
+
const sundayJanuarySecond2000 = new Date(2000, 0, 2);
|
19120
|
+
function getWeekdays(locale) {
|
19121
|
+
const daysFromSunday = firstDay[locale.slice(-2).toUpperCase()];
|
19122
|
+
return createRange(7).map(i => {
|
19123
|
+
const weekday = new Date(sundayJanuarySecond2000);
|
19124
|
+
weekday.setDate(sundayJanuarySecond2000.getDate() + daysFromSunday + i);
|
19125
|
+
return new Intl.DateTimeFormat(locale, {
|
19126
|
+
weekday: 'long'
|
19127
|
+
}).format(weekday);
|
19049
19128
|
});
|
19050
|
-
if (immediate) handler?.([], observer);
|
19051
|
-
el._mutate = Object(el._mutate);
|
19052
|
-
el._mutate[binding.instance.$.uid] = {
|
19053
|
-
observer
|
19054
|
-
};
|
19055
|
-
observer.observe(el, options);
|
19056
19129
|
}
|
19057
|
-
function
|
19058
|
-
|
19059
|
-
|
19060
|
-
|
19130
|
+
function format(value, formatString, locale) {
|
19131
|
+
const date = new Date(value);
|
19132
|
+
let options = {};
|
19133
|
+
switch (formatString) {
|
19134
|
+
case 'fullDateWithWeekday':
|
19135
|
+
options = {
|
19136
|
+
weekday: 'long',
|
19137
|
+
day: 'numeric',
|
19138
|
+
month: 'long',
|
19139
|
+
year: 'numeric'
|
19140
|
+
};
|
19141
|
+
break;
|
19142
|
+
case 'normalDateWithWeekday':
|
19143
|
+
options = {
|
19144
|
+
weekday: 'short',
|
19145
|
+
day: 'numeric',
|
19146
|
+
month: 'short',
|
19147
|
+
year: 'numeric'
|
19148
|
+
};
|
19149
|
+
break;
|
19150
|
+
case 'keyboardDate':
|
19151
|
+
options = {};
|
19152
|
+
break;
|
19153
|
+
case 'monthAndDate':
|
19154
|
+
options = {
|
19155
|
+
month: 'long',
|
19156
|
+
day: 'numeric'
|
19157
|
+
};
|
19158
|
+
break;
|
19159
|
+
case 'monthAndYear':
|
19160
|
+
options = {
|
19161
|
+
month: 'long',
|
19162
|
+
year: 'numeric'
|
19163
|
+
};
|
19164
|
+
break;
|
19165
|
+
default:
|
19166
|
+
options = {
|
19167
|
+
timeZone: 'UTC',
|
19168
|
+
timeZoneName: 'short'
|
19169
|
+
};
|
19170
|
+
}
|
19171
|
+
return new Intl.DateTimeFormat(locale, options).format(date);
|
19172
|
+
}
|
19173
|
+
function addDays(date, amount) {
|
19174
|
+
const d = new Date(date);
|
19175
|
+
d.setDate(d.getDate() + amount);
|
19176
|
+
return d;
|
19177
|
+
}
|
19178
|
+
function addMonths(date, amount) {
|
19179
|
+
const d = new Date(date);
|
19180
|
+
d.setMonth(d.getMonth() + amount);
|
19181
|
+
return d;
|
19182
|
+
}
|
19183
|
+
function getYear(date) {
|
19184
|
+
return date.getFullYear();
|
19185
|
+
}
|
19186
|
+
function getMonth(date) {
|
19187
|
+
return date.getMonth();
|
19188
|
+
}
|
19189
|
+
function startOfYear(date) {
|
19190
|
+
return new Date(date.getFullYear(), 0, 1);
|
19191
|
+
}
|
19192
|
+
function endOfYear(date) {
|
19193
|
+
return new Date(date.getFullYear(), 11, 31);
|
19194
|
+
}
|
19195
|
+
function getMondayOfFirstWeekOfYear(year) {
|
19196
|
+
return new Date(year, 0, 1);
|
19061
19197
|
}
|
19062
|
-
const Mutate = {
|
19063
|
-
mounted: mounted$2,
|
19064
|
-
unmounted: unmounted$2
|
19065
|
-
};
|
19066
19198
|
|
19067
|
-
|
19068
|
-
|
19069
|
-
|
19070
|
-
|
19071
|
-
|
19072
|
-
|
19073
|
-
|
19074
|
-
|
19075
|
-
|
19076
|
-
|
19077
|
-
|
19078
|
-
|
19079
|
-
|
19199
|
+
// https://stackoverflow.com/questions/274861/how-do-i-calculate-the-week-number-given-a-date/275024#275024
|
19200
|
+
function getWeek(date) {
|
19201
|
+
let year = date.getFullYear();
|
19202
|
+
let d1w1 = getMondayOfFirstWeekOfYear(year);
|
19203
|
+
if (date < d1w1) {
|
19204
|
+
year = year - 1;
|
19205
|
+
d1w1 = getMondayOfFirstWeekOfYear(year);
|
19206
|
+
} else {
|
19207
|
+
const tv = getMondayOfFirstWeekOfYear(year + 1);
|
19208
|
+
if (date >= tv) {
|
19209
|
+
year = year + 1;
|
19210
|
+
d1w1 = tv;
|
19211
|
+
}
|
19080
19212
|
}
|
19213
|
+
const diffTime = Math.abs(date.getTime() - d1w1.getTime());
|
19214
|
+
const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24));
|
19215
|
+
return Math.floor(diffDays / 7) + 1;
|
19081
19216
|
}
|
19082
|
-
function
|
19083
|
-
|
19084
|
-
const {
|
19085
|
-
handler,
|
19086
|
-
options
|
19087
|
-
} = el._onResize[binding.instance.$.uid];
|
19088
|
-
window.removeEventListener('resize', handler, options);
|
19089
|
-
delete el._onResize[binding.instance.$.uid];
|
19217
|
+
function isWithinRange(date, range) {
|
19218
|
+
return isAfter(date, range[0]) && isBefore(date, range[1]);
|
19090
19219
|
}
|
19091
|
-
|
19092
|
-
|
19093
|
-
|
19094
|
-
};
|
19095
|
-
|
19096
|
-
function mounted(el, binding) {
|
19097
|
-
const {
|
19098
|
-
self = false
|
19099
|
-
} = binding.modifiers ?? {};
|
19100
|
-
const value = binding.value;
|
19101
|
-
const options = typeof value === 'object' && value.options || {
|
19102
|
-
passive: true
|
19103
|
-
};
|
19104
|
-
const handler = typeof value === 'function' || 'handleEvent' in value ? value : value.handler;
|
19105
|
-
const target = self ? el : binding.arg ? document.querySelector(binding.arg) : window;
|
19106
|
-
if (!target) return;
|
19107
|
-
target.addEventListener('scroll', handler, options);
|
19108
|
-
el._onScroll = Object(el._onScroll);
|
19109
|
-
el._onScroll[binding.instance.$.uid] = {
|
19110
|
-
handler,
|
19111
|
-
options,
|
19112
|
-
// Don't reference self
|
19113
|
-
target: self ? undefined : target
|
19114
|
-
};
|
19220
|
+
function isValid(date) {
|
19221
|
+
const d = new Date(date);
|
19222
|
+
return d instanceof Date && !isNaN(d.getTime());
|
19115
19223
|
}
|
19116
|
-
function
|
19117
|
-
|
19118
|
-
const {
|
19119
|
-
handler,
|
19120
|
-
options,
|
19121
|
-
target = el
|
19122
|
-
} = el._onScroll[binding.instance.$.uid];
|
19123
|
-
target.removeEventListener('scroll', handler, options);
|
19124
|
-
delete el._onScroll[binding.instance.$.uid];
|
19224
|
+
function isAfter(date, comparing) {
|
19225
|
+
return date.getTime() > comparing.getTime();
|
19125
19226
|
}
|
19126
|
-
function
|
19127
|
-
|
19128
|
-
|
19129
|
-
|
19227
|
+
function isBefore(date, comparing) {
|
19228
|
+
return date.getTime() < comparing.getTime();
|
19229
|
+
}
|
19230
|
+
function isEqual(date, comparing) {
|
19231
|
+
return date.getTime() === comparing.getTime();
|
19232
|
+
}
|
19233
|
+
function isSameDay(date, comparing) {
|
19234
|
+
return date.getDate() === comparing.getDate() && date.getMonth() === comparing.getMonth() && date.getFullYear() === comparing.getFullYear();
|
19235
|
+
}
|
19236
|
+
function isSameMonth(date, comparing) {
|
19237
|
+
return date.getMonth() === comparing.getMonth() && date.getFullYear() === comparing.getFullYear();
|
19238
|
+
}
|
19239
|
+
function getDiff(date, comparing, unit) {
|
19240
|
+
const d = new Date(date);
|
19241
|
+
const c = new Date(comparing);
|
19242
|
+
if (unit === 'month') {
|
19243
|
+
return d.getMonth() - c.getMonth() + (d.getFullYear() - c.getFullYear()) * 12;
|
19244
|
+
}
|
19245
|
+
return Math.floor((d.getTime() - c.getTime()) / (1000 * 60 * 60 * 24));
|
19246
|
+
}
|
19247
|
+
function setYear(date, year) {
|
19248
|
+
const d = new Date(date);
|
19249
|
+
d.setFullYear(year);
|
19250
|
+
return d;
|
19251
|
+
}
|
19252
|
+
class VuetifyDateAdapter {
|
19253
|
+
constructor() {
|
19254
|
+
let locale = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'en';
|
19255
|
+
this.locale = locale;
|
19256
|
+
}
|
19257
|
+
date(value) {
|
19258
|
+
return date(value);
|
19259
|
+
}
|
19260
|
+
addDays(date, amount) {
|
19261
|
+
return addDays(date, amount);
|
19262
|
+
}
|
19263
|
+
addMonths(date, amount) {
|
19264
|
+
return addMonths(date, amount);
|
19265
|
+
}
|
19266
|
+
getWeekArray(date) {
|
19267
|
+
return getWeekArray(date);
|
19268
|
+
}
|
19269
|
+
startOfMonth(date) {
|
19270
|
+
return startOfMonth(date);
|
19271
|
+
}
|
19272
|
+
endOfMonth(date) {
|
19273
|
+
return endOfMonth(date);
|
19274
|
+
}
|
19275
|
+
format(date, formatString) {
|
19276
|
+
return format(date, formatString, this.locale);
|
19277
|
+
}
|
19278
|
+
isEqual(date, comparing) {
|
19279
|
+
return isEqual(date, comparing);
|
19280
|
+
}
|
19281
|
+
isValid(date) {
|
19282
|
+
return isValid(date);
|
19283
|
+
}
|
19284
|
+
isWithinRange(date, range) {
|
19285
|
+
return isWithinRange(date, range);
|
19286
|
+
}
|
19287
|
+
isAfter(date, comparing) {
|
19288
|
+
return isAfter(date, comparing);
|
19289
|
+
}
|
19290
|
+
isSameDay(date, comparing) {
|
19291
|
+
return isSameDay(date, comparing);
|
19292
|
+
}
|
19293
|
+
isSameMonth(date, comparing) {
|
19294
|
+
return isSameMonth(date, comparing);
|
19295
|
+
}
|
19296
|
+
setYear(date, year) {
|
19297
|
+
return setYear(date, year);
|
19298
|
+
}
|
19299
|
+
getDiff(date, comparing, unit) {
|
19300
|
+
return getDiff(date, comparing, unit);
|
19301
|
+
}
|
19302
|
+
getWeek(date) {
|
19303
|
+
return getWeek(date);
|
19304
|
+
}
|
19305
|
+
getWeekdays() {
|
19306
|
+
return getWeekdays(this.locale);
|
19307
|
+
}
|
19308
|
+
getYear(date) {
|
19309
|
+
return getYear(date);
|
19310
|
+
}
|
19311
|
+
getMonth(date) {
|
19312
|
+
return getMonth(date);
|
19313
|
+
}
|
19314
|
+
startOfYear(date) {
|
19315
|
+
return startOfYear(date);
|
19316
|
+
}
|
19317
|
+
endOfYear(date) {
|
19318
|
+
return endOfYear(date);
|
19319
|
+
}
|
19130
19320
|
}
|
19131
|
-
const Scroll = {
|
19132
|
-
mounted,
|
19133
|
-
unmounted,
|
19134
|
-
updated
|
19135
|
-
};
|
19136
19321
|
|
19137
|
-
|
19138
|
-
|
19139
|
-
|
19140
|
-
|
19141
|
-
|
19142
|
-
|
19143
|
-
|
19144
|
-
|
19145
|
-
|
19146
|
-
}
|
19322
|
+
// Composables
|
19323
|
+
|
19324
|
+
// Types
|
19325
|
+
|
19326
|
+
const DateAdapterSymbol = Symbol.for('vuetify:date-adapter');
|
19327
|
+
function createDate(options) {
|
19328
|
+
return options ?? {
|
19329
|
+
adapter: VuetifyDateAdapter
|
19330
|
+
};
|
19331
|
+
}
|
19147
19332
|
|
19148
19333
|
// Composables
|
19149
19334
|
function createVuetify$1() {
|
@@ -19230,7 +19415,7 @@ function createVuetify$1() {
|
|
19230
19415
|
date
|
19231
19416
|
};
|
19232
19417
|
}
|
19233
|
-
const version$1 = "4.0.0-dev-
|
19418
|
+
const version$1 = "4.0.0-dev-20230427.0";
|
19234
19419
|
createVuetify$1.version = version$1;
|
19235
19420
|
|
19236
19421
|
// Vue's inject() can only be used in setup
|
@@ -19250,8 +19435,8 @@ const createVuetify = function () {
|
|
19250
19435
|
...options
|
19251
19436
|
});
|
19252
19437
|
};
|
19253
|
-
const version = "4.0.0-dev-
|
19438
|
+
const version = "4.0.0-dev-20230427.0";
|
19254
19439
|
createVuetify.version = version;
|
19255
19440
|
|
19256
|
-
export { components, createVuetify, directives,
|
19441
|
+
export { components, createVuetify, directives, useDefaults, useDisplay, useLayout, useLocale, useRtl, useTheme, version };
|
19257
19442
|
//# sourceMappingURL=vuetify.esm.js.map
|