@vuetify/nightly 3.0.0-beta.4 → 3.0.0-beta.9
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 -24
- package/dist/json/attributes.json +187 -203
- package/dist/json/importMap.json +99 -147
- package/dist/json/tags.json +49 -102
- package/dist/json/web-types.json +761 -949
- package/dist/vuetify.css +13059 -13058
- package/dist/vuetify.d.ts +1663 -5104
- package/dist/vuetify.esm.js +8655 -7971
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +8654 -7969
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +3 -3
- package/dist/vuetify.min.js +1115 -1077
- package/dist/vuetify.min.js.map +1 -1
- package/lib/blueprints/index.mjs +4 -0
- package/lib/blueprints/index.mjs.map +1 -0
- package/lib/blueprints/md1.mjs +63 -0
- package/lib/blueprints/md1.mjs.map +1 -0
- package/lib/blueprints/md2.mjs +60 -0
- package/lib/blueprints/md2.mjs.map +1 -0
- package/lib/blueprints/md3.mjs +74 -0
- package/lib/blueprints/md3.mjs.map +1 -0
- package/lib/components/VAlert/VAlert.css +0 -3
- package/lib/components/VAlert/VAlert.mjs +27 -11
- package/lib/components/VAlert/VAlert.mjs.map +1 -1
- package/lib/components/VAlert/VAlert.sass +0 -3
- package/lib/components/VApp/VApp.css +2 -5
- package/lib/components/VApp/VApp.mjs +3 -4
- package/lib/components/VApp/VApp.mjs.map +1 -1
- package/lib/components/VApp/VApp.sass +11 -12
- package/lib/components/VApp/variables.scss +6 -0
- package/lib/components/VAppBar/VAppBar.mjs +4 -3
- package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
- package/lib/components/VAppBar/VAppBarNavIcon.mjs +7 -12
- package/lib/components/VAppBar/VAppBarNavIcon.mjs.map +1 -1
- package/lib/components/VAppBar/VAppBarTitle.mjs +4 -3
- package/lib/components/VAppBar/VAppBarTitle.mjs.map +1 -1
- package/lib/components/VAppBar/_variables.scss +2 -0
- package/lib/components/VAutocomplete/VAutocomplete.css +10 -0
- package/lib/components/VAutocomplete/VAutocomplete.mjs +11 -8
- package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.sass +10 -0
- package/lib/components/VAutocomplete/_variables.scss +1 -0
- package/lib/components/VAvatar/VAvatar.css +2 -0
- package/lib/components/VAvatar/VAvatar.mjs.map +1 -1
- package/lib/components/VAvatar/VAvatar.sass +3 -0
- package/lib/components/VBadge/VBadge.mjs +8 -7
- package/lib/components/VBadge/VBadge.mjs.map +1 -1
- package/lib/components/VBadge/_variables.scss +2 -2
- package/lib/components/VBanner/VBanner.css +7 -7
- package/lib/components/VBanner/VBanner.mjs +24 -17
- package/lib/components/VBanner/VBanner.mjs.map +1 -1
- package/lib/components/VBanner/VBanner.sass +6 -7
- package/lib/components/VBanner/VBannerActions.mjs +1 -1
- package/lib/components/VBanner/VBannerActions.mjs.map +1 -1
- package/lib/components/VBanner/index.mjs +0 -2
- package/lib/components/VBanner/index.mjs.map +1 -1
- package/lib/components/VBottomNavigation/VBottomNavigation.css +4 -11
- package/lib/components/VBottomNavigation/VBottomNavigation.mjs +4 -3
- package/lib/components/VBottomNavigation/VBottomNavigation.mjs.map +1 -1
- package/lib/components/VBottomNavigation/VBottomNavigation.sass +5 -12
- package/lib/components/VBottomNavigation/_variables.scss +7 -8
- package/lib/components/VBreadcrumbs/VBreadcrumbs.css +13 -6
- package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs +30 -19
- package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs.map +1 -1
- package/lib/components/VBreadcrumbs/VBreadcrumbs.sass +8 -3
- package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs +5 -8
- package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs.map +1 -1
- package/lib/components/VBreadcrumbs/_variables.scss +2 -1
- package/lib/components/VBtn/VBtn.css +77 -13
- package/lib/components/VBtn/VBtn.mjs +63 -29
- package/lib/components/VBtn/VBtn.mjs.map +1 -1
- package/lib/components/VBtn/VBtn.sass +86 -14
- package/lib/components/VBtn/_variables.scss +8 -1
- package/lib/components/VBtnGroup/VBtnGroup.css +1 -0
- package/lib/components/VBtnGroup/_variables.scss +2 -0
- package/lib/components/VBtnToggle/_variables.scss +1 -0
- package/lib/components/VCard/VCard.css +81 -64
- package/lib/components/VCard/VCard.mjs +62 -71
- package/lib/components/VCard/VCard.mjs.map +1 -1
- package/lib/components/VCard/VCard.sass +74 -61
- package/lib/components/VCard/VCardActions.mjs +1 -1
- package/lib/components/VCard/VCardActions.mjs.map +1 -1
- package/lib/components/VCard/VCardItem.mjs +88 -0
- package/lib/components/VCard/VCardItem.mjs.map +1 -0
- package/lib/components/VCard/_variables.scss +40 -24
- package/lib/components/VCard/index.mjs +1 -5
- package/lib/components/VCard/index.mjs.map +1 -1
- package/lib/components/VCarousel/VCarousel.mjs +5 -4
- package/lib/components/VCarousel/VCarousel.mjs.map +1 -1
- package/lib/components/VCarousel/VCarouselItem.mjs.map +1 -1
- package/lib/components/VCarousel/_variables.scss +1 -0
- package/lib/components/VChip/VChip.css +137 -60
- package/lib/components/VChip/VChip.mjs +76 -37
- package/lib/components/VChip/VChip.mjs.map +1 -1
- package/lib/components/VChip/VChip.sass +6 -0
- package/lib/components/VChip/_mixins.scss +26 -6
- package/lib/components/VChip/_variables.scss +1 -5
- package/lib/components/VChipGroup/VChipGroup.mjs +4 -3
- package/lib/components/VChipGroup/VChipGroup.mjs.map +1 -1
- package/lib/components/VChipGroup/VChipGroup.sass +1 -1
- package/lib/components/VChipGroup/_variables.scss +1 -1
- package/lib/components/VColorPicker/VColorPicker.mjs +16 -10
- package/lib/components/VColorPicker/VColorPicker.mjs.map +1 -1
- package/lib/components/VColorPicker/VColorPickerCanvas.mjs +5 -4
- package/lib/components/VColorPicker/VColorPickerCanvas.mjs.map +1 -1
- package/lib/components/VColorPicker/VColorPickerEdit.mjs +4 -3
- package/lib/components/VColorPicker/VColorPickerEdit.mjs.map +1 -1
- package/lib/components/VColorPicker/VColorPickerPreview.mjs +4 -3
- package/lib/components/VColorPicker/VColorPickerPreview.mjs.map +1 -1
- package/lib/components/VColorPicker/VColorPickerSwatches.mjs +6 -5
- package/lib/components/VColorPicker/VColorPickerSwatches.mjs.map +1 -1
- package/lib/components/VColorPicker/_variables.scss +17 -10
- package/lib/components/VCombobox/VCombobox.css +10 -0
- package/lib/components/VCombobox/VCombobox.mjs +15 -17
- package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
- package/lib/components/VCombobox/VCombobox.sass +10 -0
- package/lib/components/VCombobox/_variables.scss +1 -0
- package/lib/components/VCounter/VCounter.mjs +16 -16
- package/lib/components/VCounter/VCounter.mjs.map +1 -1
- package/lib/components/VCounter/VCounter.sass +1 -1
- package/lib/components/VCounter/_variables.scss +2 -1
- package/lib/components/VDialog/VDialog.css +2 -5
- package/lib/components/VDialog/VDialog.mjs +26 -26
- package/lib/components/VDialog/VDialog.mjs.map +1 -1
- package/lib/components/VDialog/VDialog.sass +1 -4
- package/lib/components/VDialog/_variables.scss +0 -1
- package/lib/components/VDivider/VDivider.mjs +16 -17
- package/lib/components/VDivider/VDivider.mjs.map +1 -1
- package/lib/components/VDivider/_variables.scss +3 -1
- package/lib/components/VExpansionPanel/VExpansionPanel.css +1 -0
- package/lib/components/VExpansionPanel/VExpansionPanel.mjs +9 -4
- package/lib/components/VExpansionPanel/VExpansionPanel.mjs.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanel.sass +1 -0
- package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs +7 -7
- package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanels.mjs.map +1 -1
- package/lib/components/VExpansionPanel/_variables.scss +15 -10
- package/lib/components/VField/VField.css +43 -24
- package/lib/components/VField/VField.mjs +18 -11
- package/lib/components/VField/VField.mjs.map +1 -1
- package/lib/components/VField/VField.sass +32 -18
- package/lib/components/VField/VFieldLabel.mjs +8 -9
- package/lib/components/VField/VFieldLabel.mjs.map +1 -1
- package/lib/components/VField/_variables.scss +3 -2
- package/lib/components/VFileInput/VFileInput.css +3 -3
- package/lib/components/VFileInput/VFileInput.mjs +14 -9
- package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
- package/lib/components/VFileInput/VFileInput.sass +3 -3
- package/lib/components/VFooter/VFooter.mjs +4 -3
- package/lib/components/VFooter/VFooter.mjs.map +1 -1
- package/lib/components/VFooter/_variables.scss +2 -1
- package/lib/components/VForm/VForm.mjs +4 -4
- package/lib/components/VForm/VForm.mjs.map +1 -1
- package/lib/components/VGrid/VCol.mjs +2 -1
- package/lib/components/VGrid/VCol.mjs.map +1 -1
- package/lib/components/VGrid/VContainer.mjs +4 -3
- package/lib/components/VGrid/VContainer.mjs.map +1 -1
- package/lib/components/VGrid/VRow.mjs +8 -3
- package/lib/components/VGrid/VRow.mjs.map +1 -1
- package/lib/components/VIcon/VIcon.css +0 -18
- package/lib/components/VIcon/VIcon.mjs +20 -21
- package/lib/components/VIcon/VIcon.mjs.map +1 -1
- package/lib/components/VIcon/VIcon.sass +0 -18
- package/lib/components/VIcon/_variables.scss +2 -6
- package/lib/components/VIcon/index.mjs.map +1 -1
- package/lib/components/VImg/VImg.mjs +1 -0
- package/lib/components/VImg/VImg.mjs.map +1 -1
- package/lib/components/VInput/VInput.css +2 -1
- package/lib/components/VInput/VInput.mjs +10 -6
- package/lib/components/VInput/VInput.mjs.map +1 -1
- package/lib/components/VInput/VInput.sass +2 -1
- package/lib/components/VInput/_variables.scss +0 -1
- package/lib/components/VItemGroup/VItem.mjs +3 -0
- package/lib/components/VItemGroup/VItem.mjs.map +1 -1
- package/lib/components/VLabel/VLabel.mjs +4 -3
- package/lib/components/VLabel/VLabel.mjs.map +1 -1
- package/lib/components/VLabel/_variables.scss +1 -0
- package/lib/components/VLayout/VLayout.css +0 -2
- package/lib/components/VLayout/VLayout.sass +0 -2
- package/lib/components/VLazy/VLazy.mjs +5 -3
- package/lib/components/VLazy/VLazy.mjs.map +1 -1
- package/lib/components/VList/VList.css +6 -3
- package/lib/components/VList/VList.mjs +15 -17
- package/lib/components/VList/VList.mjs.map +1 -1
- package/lib/components/VList/VList.sass +6 -2
- package/lib/components/VList/VListChildren.mjs +25 -7
- package/lib/components/VList/VListChildren.mjs.map +1 -1
- package/lib/components/VList/VListGroup.mjs +47 -42
- package/lib/components/VList/VListGroup.mjs.map +1 -1
- package/lib/components/VList/VListItem.css +78 -52
- package/lib/components/VList/VListItem.mjs +94 -54
- package/lib/components/VList/VListItem.mjs.map +1 -1
- package/lib/components/VList/VListItem.sass +67 -38
- package/lib/components/VList/VListItemAction.mjs +8 -9
- package/lib/components/VList/VListItemAction.mjs.map +1 -1
- package/lib/components/VList/VListItemMedia.mjs +4 -3
- package/lib/components/VList/VListItemMedia.mjs.map +1 -1
- package/lib/components/VList/VListSubheader.mjs +4 -3
- package/lib/components/VList/VListSubheader.mjs.map +1 -1
- package/lib/components/VList/_variables.scss +12 -5
- package/lib/components/VList/index.mjs +2 -5
- package/lib/components/VList/index.mjs.map +1 -1
- package/lib/components/VLocaleProvider/VLocaleProvider.mjs +5 -3
- package/lib/components/VLocaleProvider/VLocaleProvider.mjs.map +1 -1
- package/lib/components/VMain/VMain.css +21 -3
- package/lib/components/VMain/VMain.mjs +17 -11
- package/lib/components/VMain/VMain.mjs.map +1 -1
- package/lib/components/VMain/VMain.sass +18 -3
- package/lib/components/VMain/_variables.scss +1 -1
- package/lib/components/VMenu/VMenu.mjs +6 -6
- package/lib/components/VMenu/VMenu.mjs.map +1 -1
- package/lib/components/VMessages/VMessages.mjs +5 -3
- package/lib/components/VMessages/VMessages.mjs.map +1 -1
- package/lib/components/VMessages/_variables.scss +1 -1
- package/lib/components/VNavigationDrawer/VNavigationDrawer.css +12 -17
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +54 -19
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
- package/lib/components/VNavigationDrawer/VNavigationDrawer.sass +15 -20
- package/lib/components/VNavigationDrawer/_variables.scss +3 -2
- package/lib/components/VNavigationDrawer/sticky.mjs +72 -0
- package/lib/components/VNavigationDrawer/sticky.mjs.map +1 -0
- package/lib/components/VNavigationDrawer/touch.mjs +5 -2
- package/lib/components/VNavigationDrawer/touch.mjs.map +1 -1
- package/lib/components/VNoSsr/VNoSsr.mjs.map +1 -1
- package/lib/components/VOverlay/VOverlay.mjs +18 -14
- package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
- package/lib/components/VOverlay/_variables.scss +1 -1
- package/lib/components/VOverlay/locationStrategies.mjs +267 -78
- package/lib/components/VOverlay/locationStrategies.mjs.map +1 -1
- package/lib/components/VOverlay/useActivator.mjs +5 -4
- package/lib/components/VOverlay/useActivator.mjs.map +1 -1
- package/lib/components/VOverlay/util/point.mjs +3 -3
- package/lib/components/VOverlay/util/point.mjs.map +1 -1
- package/lib/components/VPagination/VPagination.mjs +42 -24
- package/lib/components/VPagination/VPagination.mjs.map +1 -1
- package/lib/components/VParallax/VParallax.mjs +5 -5
- package/lib/components/VParallax/VParallax.mjs.map +1 -1
- package/lib/components/VProgressCircular/VProgressCircular.mjs +6 -5
- package/lib/components/VProgressCircular/VProgressCircular.mjs.map +1 -1
- package/lib/components/VProgressCircular/_variables.scss +2 -0
- package/lib/components/VProgressLinear/VProgressLinear.mjs +5 -3
- package/lib/components/VProgressLinear/VProgressLinear.mjs.map +1 -1
- package/lib/components/VProgressLinear/_variables.scss +1 -0
- package/lib/components/VRadio/VRadio.mjs +8 -17
- package/lib/components/VRadio/VRadio.mjs.map +1 -1
- package/lib/components/VRadioGroup/VRadioGroup.mjs +22 -5
- package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
- package/lib/components/VRadioGroup/VRadioGroup.sass +5 -3
- package/lib/components/VRadioGroup/_variables.scss +3 -4
- package/lib/components/VRangeSlider/VRangeSlider.mjs +12 -13
- package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
- package/lib/components/VRating/VRating.mjs +6 -5
- package/lib/components/VRating/VRating.mjs.map +1 -1
- package/lib/components/VRating/VRating.sass +2 -0
- package/lib/components/VResponsive/VResponsive.mjs +7 -6
- package/lib/components/VResponsive/VResponsive.mjs.map +1 -1
- package/lib/components/VSelect/VSelect.css +10 -0
- package/lib/components/VSelect/VSelect.mjs +14 -11
- package/lib/components/VSelect/VSelect.mjs.map +1 -1
- package/lib/components/VSelect/VSelect.sass +10 -0
- package/lib/components/VSelect/_variables.scss +1 -0
- package/lib/components/VSelectionControl/VSelectionControl.mjs +15 -9
- package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
- package/lib/components/VSelectionControl/_variables.scss +1 -0
- package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs +3 -3
- package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs.map +1 -1
- package/lib/components/VSelectionControlGroup/VSelectionControlGroup.sass +1 -5
- package/lib/components/VSelectionControlGroup/_variables.scss +1 -4
- package/lib/components/VSheet/VSheet.mjs +3 -3
- package/lib/components/VSheet/VSheet.mjs.map +1 -1
- package/lib/components/VSheet/_variables.scss +3 -2
- package/lib/components/VSlideGroup/VSlideGroup.mjs +47 -49
- package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
- package/lib/components/VSlideGroup/VSlideGroupItem.mjs +7 -3
- package/lib/components/VSlideGroup/VSlideGroupItem.mjs.map +1 -1
- package/lib/components/VSlideGroup/_variables.scss +0 -5
- package/lib/components/VSlideGroup/index.mjs +2 -2
- package/lib/components/VSlideGroup/index.mjs.map +1 -1
- package/lib/components/VSlider/VSlider.mjs +7 -9
- package/lib/components/VSlider/VSlider.mjs.map +1 -1
- package/lib/components/VSlider/VSliderThumb.mjs +6 -5
- package/lib/components/VSlider/VSliderThumb.mjs.map +1 -1
- package/lib/components/VSlider/VSliderTrack.mjs +11 -10
- package/lib/components/VSlider/VSliderTrack.mjs.map +1 -1
- package/lib/components/VSlider/slider.mjs +4 -4
- package/lib/components/VSlider/slider.mjs.map +1 -1
- package/lib/components/VSnackbar/VSnackbar.css +1 -1
- package/lib/components/VSnackbar/VSnackbar.mjs +50 -50
- package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
- package/lib/components/VSnackbar/_variables.scss +3 -3
- package/lib/components/VSwitch/VSwitch.css +7 -0
- package/lib/components/VSwitch/VSwitch.sass +6 -0
- package/lib/components/VSwitch/_variables.scss +1 -0
- package/lib/components/VSystemBar/VSystemBar.mjs +5 -13
- package/lib/components/VSystemBar/VSystemBar.mjs.map +1 -1
- package/lib/components/VSystemBar/_variables.scss +2 -1
- package/lib/components/VTable/VTable.css +1 -0
- package/lib/components/VTable/VTable.mjs +9 -8
- package/lib/components/VTable/VTable.mjs.map +1 -1
- package/lib/components/VTable/VTable.sass +1 -0
- package/lib/components/VTable/_variables.scss +2 -0
- package/lib/components/VTabs/VTab.css +3 -2
- package/lib/components/VTabs/VTab.mjs +4 -4
- package/lib/components/VTabs/VTab.mjs.map +1 -1
- package/lib/components/VTabs/VTab.sass +4 -2
- package/lib/components/VTabs/VTabs.mjs +15 -12
- package/lib/components/VTabs/VTabs.mjs.map +1 -1
- package/lib/components/VTabs/_variables.scss +3 -1
- package/lib/components/VTextField/VTextField.css +2 -1
- package/lib/components/VTextField/VTextField.mjs +31 -23
- package/lib/components/VTextField/VTextField.mjs.map +1 -1
- package/lib/components/VTextField/VTextField.sass +2 -1
- package/lib/components/VTextField/_variables.scss +1 -1
- package/lib/components/VTextarea/VTextarea.css +6 -2
- package/lib/components/VTextarea/VTextarea.mjs +39 -22
- package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
- package/lib/components/VTextarea/VTextarea.sass +9 -2
- package/lib/components/VTextarea/_variables.scss +1 -1
- package/lib/components/VTimeline/VTimeline.css +123 -112
- package/lib/components/VTimeline/VTimeline.mjs +24 -25
- package/lib/components/VTimeline/VTimeline.mjs.map +1 -1
- package/lib/components/VTimeline/VTimeline.sass +132 -113
- package/lib/components/VTimeline/VTimelineDivider.mjs +44 -38
- package/lib/components/VTimeline/VTimelineDivider.mjs.map +1 -1
- package/lib/components/VTimeline/VTimelineItem.mjs +13 -12
- package/lib/components/VTimeline/VTimelineItem.mjs.map +1 -1
- package/lib/components/VTimeline/_variables.scss +11 -6
- package/lib/components/VToolbar/VToolbar.css +17 -32
- package/lib/components/VToolbar/VToolbar.mjs +12 -13
- package/lib/components/VToolbar/VToolbar.mjs.map +1 -1
- package/lib/components/VToolbar/VToolbar.sass +17 -18
- package/lib/components/VToolbar/VToolbarItems.mjs +12 -8
- package/lib/components/VToolbar/VToolbarItems.mjs.map +1 -1
- package/lib/components/VToolbar/_variables.scss +7 -7
- package/lib/components/VTooltip/VTooltip.mjs +41 -39
- package/lib/components/VTooltip/VTooltip.mjs.map +1 -1
- package/lib/components/VTooltip/_variables.scss +1 -0
- package/lib/components/VWindow/VWindow.mjs +4 -4
- package/lib/components/VWindow/VWindow.mjs.map +1 -1
- package/lib/components/VWindow/VWindowItem.mjs +13 -9
- package/lib/components/VWindow/VWindowItem.mjs.map +1 -1
- package/lib/components/VWindow/_variables.scss +1 -0
- package/lib/components/index.d.ts +1653 -5068
- package/lib/components/transitions/dialog-transition.mjs +3 -0
- package/lib/components/transitions/dialog-transition.mjs.map +1 -1
- package/lib/components/transitions/index.mjs +0 -5
- package/lib/components/transitions/index.mjs.map +1 -1
- package/lib/composables/border.mjs +5 -6
- package/lib/composables/border.mjs.map +1 -1
- package/lib/composables/color.mjs +19 -26
- package/lib/composables/color.mjs.map +1 -1
- package/lib/composables/defaults.mjs +1 -1
- package/lib/composables/defaults.mjs.map +1 -1
- package/lib/composables/form.mjs +29 -9
- package/lib/composables/form.mjs.map +1 -1
- package/lib/composables/{forwardRef.mjs → forwardRefs.mjs} +29 -3
- package/lib/composables/forwardRefs.mjs.map +1 -0
- package/lib/composables/group.mjs.map +1 -1
- package/lib/composables/index.mjs +3 -2
- package/lib/composables/index.mjs.map +1 -1
- package/lib/composables/layout.mjs +12 -12
- package/lib/composables/layout.mjs.map +1 -1
- package/lib/composables/location.mjs +4 -8
- package/lib/composables/location.mjs.map +1 -1
- package/lib/composables/proxiedModel.mjs +2 -1
- package/lib/composables/proxiedModel.mjs.map +1 -1
- package/lib/composables/rtl.mjs +2 -2
- package/lib/composables/rtl.mjs.map +1 -1
- package/lib/composables/size.mjs +18 -14
- package/lib/composables/size.mjs.map +1 -1
- package/lib/composables/stack.mjs +22 -12
- package/lib/composables/stack.mjs.map +1 -1
- package/lib/composables/theme.mjs +18 -10
- package/lib/composables/theme.mjs.map +1 -1
- package/lib/composables/validation.mjs +14 -4
- package/lib/composables/validation.mjs.map +1 -1
- package/lib/composables/variant.mjs +4 -2
- package/lib/composables/variant.mjs.map +1 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/framework.mjs +7 -2
- package/lib/framework.mjs.map +1 -1
- package/lib/index.d.ts +39 -47
- package/lib/styles/generic/_colors.scss +17 -9
- package/lib/styles/generic/_transitions.scss +13 -77
- package/lib/styles/main.css +1170 -1420
- package/lib/styles/settings/_utilities.scss +16 -5
- package/lib/styles/utilities/_index.sass +0 -1
- package/lib/util/anchor.mjs +33 -29
- package/lib/util/anchor.mjs.map +1 -1
- package/lib/util/animation.mjs +2 -2
- package/lib/util/animation.mjs.map +1 -1
- package/lib/util/box.mjs +12 -0
- package/lib/util/box.mjs.map +1 -1
- package/lib/util/colorUtils.mjs +2 -2
- package/lib/util/colorUtils.mjs.map +1 -1
- package/lib/util/colors.mjs +1 -1
- package/lib/util/colors.mjs.map +1 -1
- package/lib/util/defineComponent.mjs +6 -3
- package/lib/util/defineComponent.mjs.map +1 -1
- package/lib/util/helpers.mjs +24 -1
- package/lib/util/helpers.mjs.map +1 -1
- package/lib/util/injectSelf.mjs +12 -0
- package/lib/util/injectSelf.mjs.map +1 -0
- package/package.json +10 -10
- package/lib/components/VBanner/VBannerAvatar.mjs +0 -20
- package/lib/components/VBanner/VBannerAvatar.mjs.map +0 -1
- package/lib/components/VBanner/VBannerIcon.mjs +0 -20
- package/lib/components/VBanner/VBannerIcon.mjs.map +0 -1
- package/lib/components/VBreadcrumbs/shared.mjs +0 -2
- package/lib/components/VBreadcrumbs/shared.mjs.map +0 -1
- package/lib/components/VCard/VCardAvatar.mjs +0 -3
- package/lib/components/VCard/VCardAvatar.mjs.map +0 -1
- package/lib/components/VCard/VCardContent.mjs +0 -3
- package/lib/components/VCard/VCardContent.mjs.map +0 -1
- package/lib/components/VCard/VCardHeader.mjs +0 -3
- package/lib/components/VCard/VCardHeader.mjs.map +0 -1
- package/lib/components/VCard/VCardHeaderText.mjs +0 -3
- package/lib/components/VCard/VCardHeaderText.mjs.map +0 -1
- package/lib/components/VCard/VCardImg.mjs +0 -3
- package/lib/components/VCard/VCardImg.mjs.map +0 -1
- package/lib/components/VList/VListItemAvatar.mjs +0 -23
- package/lib/components/VList/VListItemAvatar.mjs.map +0 -1
- package/lib/components/VList/VListItemHeader.mjs +0 -3
- package/lib/components/VList/VListItemHeader.mjs.map +0 -1
- package/lib/components/VList/VListItemIcon.mjs +0 -23
- package/lib/components/VList/VListItemIcon.mjs.map +0 -1
- package/lib/components/VTimeline/shared.mjs +0 -2
- package/lib/components/VTimeline/shared.mjs.map +0 -1
- package/lib/composables/forwardRef.mjs.map +0 -1
- package/lib/presets/default/index.mjs +0 -71
- package/lib/presets/default/index.mjs.map +0 -1
- package/lib/styles/utilities/_text.sass +0 -9
|
@@ -7,8 +7,9 @@ import { VSlideYTransition } from "../transitions/index.mjs"; // Composables
|
|
|
7
7
|
import { makeTransitionProps, MaybeTransition } from "../../composables/transition.mjs";
|
|
8
8
|
import { useTextColor } from "../../composables/color.mjs"; // Utilities
|
|
9
9
|
|
|
10
|
-
import { defineComponent, wrapInArray } from "../../util/index.mjs";
|
|
11
10
|
import { computed } from 'vue';
|
|
11
|
+
import { defineComponent, useRender, wrapInArray } from "../../util/index.mjs"; // Types
|
|
12
|
+
|
|
12
13
|
export const VMessages = defineComponent({
|
|
13
14
|
name: 'VMessages',
|
|
14
15
|
props: {
|
|
@@ -36,7 +37,7 @@ export const VMessages = defineComponent({
|
|
|
36
37
|
textColorClasses,
|
|
37
38
|
textColorStyles
|
|
38
39
|
} = useTextColor(computed(() => props.color));
|
|
39
|
-
|
|
40
|
+
useRender(() => _createVNode(MaybeTransition, {
|
|
40
41
|
"transition": props.transition,
|
|
41
42
|
"tag": "div",
|
|
42
43
|
"class": ['v-messages', textColorClasses.value],
|
|
@@ -48,7 +49,8 @@ export const VMessages = defineComponent({
|
|
|
48
49
|
}, [slots.message ? slots.message({
|
|
49
50
|
message
|
|
50
51
|
}) : message]))]
|
|
51
|
-
});
|
|
52
|
+
}));
|
|
53
|
+
return {};
|
|
52
54
|
}
|
|
53
55
|
|
|
54
56
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VMessages.mjs","names":["VSlideYTransition","makeTransitionProps","MaybeTransition","useTextColor","defineComponent","
|
|
1
|
+
{"version":3,"file":"VMessages.mjs","names":["VSlideYTransition","makeTransitionProps","MaybeTransition","useTextColor","computed","defineComponent","useRender","wrapInArray","VMessages","name","props","active","Boolean","color","String","messages","type","Array","default","transition","component","leaveAbsolute","group","setup","slots","textColorClasses","textColorStyles","value","map","message","i"],"sources":["../../../src/components/VMessages/VMessages.tsx"],"sourcesContent":["// Styles\nimport './VMessages.sass'\n\n// Components\nimport { VSlideYTransition } from '@/components/transitions'\n\n// Composables\nimport { makeTransitionProps, MaybeTransition } from '@/composables/transition'\nimport { useTextColor } from '@/composables/color'\n\n// Utilities\nimport { computed } from 'vue'\nimport { defineComponent, useRender, wrapInArray } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport const VMessages = defineComponent({\n name: 'VMessages',\n\n props: {\n active: Boolean,\n color: String,\n messages: {\n type: [Array, String] as PropType<string | string[]>,\n default: () => ([]),\n },\n\n ...makeTransitionProps({\n transition: {\n component: VSlideYTransition,\n leaveAbsolute: true,\n group: true,\n },\n }),\n },\n\n setup (props, { slots }) {\n const messages = computed(() => wrapInArray(props.messages))\n const { textColorClasses, textColorStyles } = useTextColor(computed(() => props.color))\n\n useRender(() => (\n <MaybeTransition\n transition={ props.transition }\n tag=\"div\"\n class={[\n 'v-messages',\n textColorClasses.value,\n ]}\n style={ textColorStyles.value }\n >\n { props.active && (\n messages.value.map((message, i) => (\n <div\n class=\"v-messages__message\"\n key={ `${i}-${messages.value}` }\n >\n { slots.message ? slots.message({ message }) : message }\n </div>\n ))\n ) }\n </MaybeTransition>\n ))\n\n return {}\n },\n})\n"],"mappings":";AAAA;AACA,yB,CAEA;;SACSA,iB,oCAET;;SACSC,mB,EAAqBC,e;SACrBC,Y,uCAET;;AACA,SAASC,QAAT,QAAyB,KAAzB;SACSC,e,EAAiBC,S,EAAWC,W,gCAErC;;AAGA,OAAO,MAAMC,SAAS,GAAGH,eAAe,CAAC;EACvCI,IAAI,EAAE,WADiC;EAGvCC,KAAK,EAAE;IACLC,MAAM,EAAEC,OADH;IAELC,KAAK,EAAEC,MAFF;IAGLC,QAAQ,EAAE;MACRC,IAAI,EAAE,CAACC,KAAD,EAAQH,MAAR,CADE;MAERI,OAAO,EAAE,MAAO;IAFR,CAHL;IAQL,GAAGjB,mBAAmB,CAAC;MACrBkB,UAAU,EAAE;QACVC,SAAS,EAAEpB,iBADD;QAEVqB,aAAa,EAAE,IAFL;QAGVC,KAAK,EAAE;MAHG;IADS,CAAD;EARjB,CAHgC;;EAoBvCC,KAAK,CAAEb,KAAF,QAAoB;IAAA,IAAX;MAAEc;IAAF,CAAW;IACvB,MAAMT,QAAQ,GAAGX,QAAQ,CAAC,MAAMG,WAAW,CAACG,KAAK,CAACK,QAAP,CAAlB,CAAzB;IACA,MAAM;MAAEU,gBAAF;MAAoBC;IAApB,IAAwCvB,YAAY,CAACC,QAAQ,CAAC,MAAMM,KAAK,CAACG,KAAb,CAAT,CAA1D;IAEAP,SAAS,CAAC;MAAA,cAEOI,KAAK,CAACS,UAFb;MAAA,OAGF,KAHE;MAAA,SAIC,CACL,YADK,EAELM,gBAAgB,CAACE,KAFZ,CAJD;MAAA,SAQED,eAAe,CAACC;IARlB;MAAA,gBAUJjB,KAAK,CAACC,MAAN,IACAI,QAAQ,CAACY,KAAT,CAAeC,GAAf,CAAmB,CAACC,OAAD,EAAUC,CAAV;QAAA,SAET,qBAFS;QAAA,OAGR,GAAEA,CAAE,IAAGf,QAAQ,CAACY,KAAM;MAHd,IAKbH,KAAK,CAACK,OAAN,GAAgBL,KAAK,CAACK,OAAN,CAAc;QAAEA;MAAF,CAAd,CAAhB,GAA6CA,OALhC,EAAnB,CAXI;IAAA,EAAD,CAAT;IAuBA,OAAO,EAAP;EACD;;AAhDsC,CAAD,CAAjC"}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
max-width: 100%;
|
|
8
8
|
pointer-events: auto;
|
|
9
9
|
transition-duration: 0.2s;
|
|
10
|
-
transition-property: box-shadow, transform, visibility, width;
|
|
10
|
+
transition-property: box-shadow, transform, visibility, width, height, left, right, top, bottom;
|
|
11
11
|
transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
|
|
12
12
|
will-change: transform;
|
|
13
13
|
position: absolute;
|
|
@@ -29,29 +29,17 @@
|
|
|
29
29
|
left: 0;
|
|
30
30
|
border-top-width: thin;
|
|
31
31
|
}
|
|
32
|
-
.v-navigation-drawer--
|
|
32
|
+
.v-navigation-drawer--left {
|
|
33
33
|
top: 0;
|
|
34
|
-
border-inline-end-width: thin;
|
|
35
|
-
}
|
|
36
|
-
.v-navigation-drawer--start.v-locale--is-ltr, .v-locale--is-ltr .v-navigation-drawer--start {
|
|
37
34
|
left: 0;
|
|
38
35
|
right: auto;
|
|
36
|
+
border-right-width: thin;
|
|
39
37
|
}
|
|
40
|
-
.v-navigation-drawer--
|
|
41
|
-
left: auto;
|
|
42
|
-
right: 0;
|
|
43
|
-
}
|
|
44
|
-
.v-navigation-drawer--end {
|
|
38
|
+
.v-navigation-drawer--right {
|
|
45
39
|
top: 0;
|
|
46
|
-
border-inline-start-width: thin;
|
|
47
|
-
}
|
|
48
|
-
.v-navigation-drawer--end.v-locale--is-ltr, .v-locale--is-ltr .v-navigation-drawer--end {
|
|
49
40
|
left: auto;
|
|
50
41
|
right: 0;
|
|
51
|
-
|
|
52
|
-
.v-navigation-drawer--end.v-locale--is-rtl, .v-locale--is-rtl .v-navigation-drawer--end {
|
|
53
|
-
left: 0;
|
|
54
|
-
right: auto;
|
|
42
|
+
border-left-width: thin;
|
|
55
43
|
}
|
|
56
44
|
.v-navigation-drawer--floating {
|
|
57
45
|
border: none;
|
|
@@ -59,6 +47,13 @@
|
|
|
59
47
|
.v-navigation-drawer--temporary {
|
|
60
48
|
box-shadow: 0px 8px 10px -5px rgba(0, 0, 0, 0.2), 0px 16px 24px 2px rgba(0, 0, 0, 0.14), 0px 6px 30px 5px rgba(0, 0, 0, 0.12);
|
|
61
49
|
}
|
|
50
|
+
.v-navigation-drawer--sticky {
|
|
51
|
+
height: auto;
|
|
52
|
+
transition: box-shadow, transform, visibility, width, height, left, right;
|
|
53
|
+
}
|
|
54
|
+
.v-navigation-drawer .v-list {
|
|
55
|
+
overflow: hidden;
|
|
56
|
+
}
|
|
62
57
|
|
|
63
58
|
.v-navigation-drawer__content {
|
|
64
59
|
flex: 0 1 auto;
|
|
@@ -8,16 +8,20 @@ import { makeLayoutItemProps, useLayoutItem } from "../../composables/layout.mjs
|
|
|
8
8
|
import { makeRoundedProps, useRounded } from "../../composables/rounded.mjs";
|
|
9
9
|
import { makeTagProps } from "../../composables/tag.mjs";
|
|
10
10
|
import { makeThemeProps, provideTheme } from "../../composables/theme.mjs";
|
|
11
|
+
import { provideDefaults } from "../../composables/defaults.mjs";
|
|
11
12
|
import { useBackgroundColor } from "../../composables/color.mjs";
|
|
12
13
|
import { useDisplay } from "../../composables/display.mjs";
|
|
13
14
|
import { useProxiedModel } from "../../composables/proxiedModel.mjs";
|
|
14
15
|
import { useRouter } from "../../composables/router.mjs";
|
|
16
|
+
import { useRtl } from "../../composables/index.mjs";
|
|
15
17
|
import { useSsrBoot } from "../../composables/ssrBoot.mjs";
|
|
18
|
+
import { useSticky } from "./sticky.mjs";
|
|
16
19
|
import { useTouch } from "./touch.mjs"; // Utilities
|
|
17
20
|
|
|
18
21
|
import { computed, onBeforeMount, ref, toRef, Transition, watch } from 'vue';
|
|
19
|
-
import { convertToUnit, defineComponent } from "../../util/index.mjs"; // Types
|
|
22
|
+
import { convertToUnit, defineComponent, toPhysical, useRender } from "../../util/index.mjs"; // Types
|
|
20
23
|
|
|
24
|
+
const locations = ['start', 'end', 'left', 'right', 'bottom'];
|
|
21
25
|
export const VNavigationDrawer = defineComponent({
|
|
22
26
|
name: 'VNavigationDrawer',
|
|
23
27
|
props: {
|
|
@@ -34,7 +38,11 @@ export const VNavigationDrawer = defineComponent({
|
|
|
34
38
|
rail: Boolean,
|
|
35
39
|
railWidth: {
|
|
36
40
|
type: [Number, String],
|
|
37
|
-
default:
|
|
41
|
+
default: 56
|
|
42
|
+
},
|
|
43
|
+
scrim: {
|
|
44
|
+
type: [String, Boolean],
|
|
45
|
+
default: true
|
|
38
46
|
},
|
|
39
47
|
image: String,
|
|
40
48
|
temporary: Boolean,
|
|
@@ -45,9 +53,10 @@ export const VNavigationDrawer = defineComponent({
|
|
|
45
53
|
},
|
|
46
54
|
location: {
|
|
47
55
|
type: String,
|
|
48
|
-
default: '
|
|
49
|
-
validator: value =>
|
|
56
|
+
default: 'start',
|
|
57
|
+
validator: value => locations.includes(value)
|
|
50
58
|
},
|
|
59
|
+
sticky: Boolean,
|
|
51
60
|
...makeBorderProps(),
|
|
52
61
|
...makeElevationProps(),
|
|
53
62
|
...makeLayoutItemProps(),
|
|
@@ -66,6 +75,9 @@ export const VNavigationDrawer = defineComponent({
|
|
|
66
75
|
attrs,
|
|
67
76
|
slots
|
|
68
77
|
} = _ref;
|
|
78
|
+
const {
|
|
79
|
+
isRtl
|
|
80
|
+
} = useRtl();
|
|
69
81
|
const {
|
|
70
82
|
themeClasses
|
|
71
83
|
} = provideTheme(props);
|
|
@@ -87,14 +99,19 @@ export const VNavigationDrawer = defineComponent({
|
|
|
87
99
|
} = useRounded(props);
|
|
88
100
|
const router = useRouter();
|
|
89
101
|
const isActive = useProxiedModel(props, 'modelValue', null, v => !!v);
|
|
90
|
-
const isHovering = ref(false);
|
|
91
102
|
const {
|
|
92
103
|
ssrBootStyles
|
|
93
104
|
} = useSsrBoot();
|
|
105
|
+
const rootEl = ref();
|
|
106
|
+
const isHovering = ref(false);
|
|
94
107
|
const width = computed(() => {
|
|
95
108
|
return props.rail && props.expandOnHover && isHovering.value ? Number(props.width) : Number(props.rail ? props.railWidth : props.width);
|
|
96
109
|
});
|
|
110
|
+
const location = computed(() => {
|
|
111
|
+
return toPhysical(props.location, isRtl.value);
|
|
112
|
+
});
|
|
97
113
|
const isTemporary = computed(() => !props.permanent && (mobile.value || props.temporary));
|
|
114
|
+
const isSticky = computed(() => props.sticky && !isTemporary.value && location.value !== 'bottom');
|
|
98
115
|
|
|
99
116
|
if (!props.disableResizeWatcher) {
|
|
100
117
|
watch(isTemporary, val => !props.permanent && (isActive.value = !val));
|
|
@@ -111,7 +128,6 @@ export const VNavigationDrawer = defineComponent({
|
|
|
111
128
|
if (props.modelValue != null || isTemporary.value) return;
|
|
112
129
|
isActive.value = props.permanent || !mobile.value;
|
|
113
130
|
});
|
|
114
|
-
const rootEl = ref();
|
|
115
131
|
const {
|
|
116
132
|
isDragging,
|
|
117
133
|
dragProgress,
|
|
@@ -121,7 +137,7 @@ export const VNavigationDrawer = defineComponent({
|
|
|
121
137
|
isTemporary,
|
|
122
138
|
width,
|
|
123
139
|
touchless: toRef(props, 'touchless'),
|
|
124
|
-
position:
|
|
140
|
+
position: location
|
|
125
141
|
});
|
|
126
142
|
const layoutSize = computed(() => {
|
|
127
143
|
const size = isTemporary.value ? 0 : props.rail && props.expandOnHover ? Number(props.railWidth) : width.value;
|
|
@@ -134,13 +150,25 @@ export const VNavigationDrawer = defineComponent({
|
|
|
134
150
|
} = useLayoutItem({
|
|
135
151
|
id: props.name,
|
|
136
152
|
order: computed(() => parseInt(props.order, 10)),
|
|
137
|
-
position:
|
|
153
|
+
position: location,
|
|
138
154
|
layoutSize,
|
|
139
155
|
elementSize: width,
|
|
140
156
|
active: computed(() => isActive.value || isDragging.value),
|
|
141
157
|
disableTransitions: computed(() => isDragging.value),
|
|
142
|
-
absolute:
|
|
158
|
+
absolute: computed(() => // eslint-disable-next-line @typescript-eslint/no-use-before-define
|
|
159
|
+
props.absolute || isSticky.value && typeof isStuck.value !== 'string')
|
|
160
|
+
});
|
|
161
|
+
const {
|
|
162
|
+
isStuck,
|
|
163
|
+
stickyStyles
|
|
164
|
+
} = useSticky({
|
|
165
|
+
rootEl,
|
|
166
|
+
isSticky,
|
|
167
|
+
layoutItemStyles
|
|
143
168
|
});
|
|
169
|
+
const scrimColor = useBackgroundColor(computed(() => {
|
|
170
|
+
return typeof props.scrim === 'string' ? props.scrim : null;
|
|
171
|
+
}));
|
|
144
172
|
const scrimStyles = computed(() => ({ ...(isDragging.value ? {
|
|
145
173
|
opacity: dragProgress.value * 0.2,
|
|
146
174
|
transition: 'none'
|
|
@@ -153,7 +181,12 @@ export const VNavigationDrawer = defineComponent({
|
|
|
153
181
|
} : undefined),
|
|
154
182
|
...layoutItemScrimStyles.value
|
|
155
183
|
}));
|
|
156
|
-
|
|
184
|
+
provideDefaults({
|
|
185
|
+
VList: {
|
|
186
|
+
bgColor: 'transparent'
|
|
187
|
+
}
|
|
188
|
+
});
|
|
189
|
+
useRender(() => {
|
|
157
190
|
var _slots$image, _slots$prepend, _slots$default, _slots$append;
|
|
158
191
|
|
|
159
192
|
const hasImage = slots.image || props.image;
|
|
@@ -161,20 +194,19 @@ export const VNavigationDrawer = defineComponent({
|
|
|
161
194
|
"ref": rootEl,
|
|
162
195
|
"onMouseenter": () => isHovering.value = true,
|
|
163
196
|
"onMouseleave": () => isHovering.value = false,
|
|
164
|
-
"class": ['v-navigation-drawer', {
|
|
165
|
-
'v-navigation-drawer--bottom': props.location === 'bottom',
|
|
166
|
-
'v-navigation-drawer--end': props.location === 'right',
|
|
197
|
+
"class": ['v-navigation-drawer', `v-navigation-drawer--${location.value}`, {
|
|
167
198
|
'v-navigation-drawer--expand-on-hover': props.expandOnHover,
|
|
168
199
|
'v-navigation-drawer--floating': props.floating,
|
|
169
200
|
'v-navigation-drawer--is-hovering': isHovering.value,
|
|
170
201
|
'v-navigation-drawer--rail': props.rail,
|
|
171
|
-
'v-navigation-drawer--start': props.location === 'left',
|
|
172
202
|
'v-navigation-drawer--temporary': isTemporary.value,
|
|
173
|
-
'v-navigation-drawer--active': isActive.value
|
|
203
|
+
'v-navigation-drawer--active': isActive.value,
|
|
204
|
+
'v-navigation-drawer--sticky': isSticky.value
|
|
174
205
|
}, themeClasses.value, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, roundedClasses.value],
|
|
175
|
-
"style": [backgroundColorStyles.value, layoutItemStyles.value, dragStyles.value, ssrBootStyles.value]
|
|
206
|
+
"style": [backgroundColorStyles.value, layoutItemStyles.value, dragStyles.value, ssrBootStyles.value, stickyStyles.value]
|
|
176
207
|
}, attrs), {
|
|
177
208
|
default: () => [hasImage && _createVNode("div", {
|
|
209
|
+
"key": "image",
|
|
178
210
|
"class": "v-navigation-drawer__img"
|
|
179
211
|
}, [slots.image ? (_slots$image = slots.image) == null ? void 0 : _slots$image.call(slots, {
|
|
180
212
|
image: props.image
|
|
@@ -191,12 +223,15 @@ export const VNavigationDrawer = defineComponent({
|
|
|
191
223
|
}), _createVNode(Transition, {
|
|
192
224
|
"name": "fade-transition"
|
|
193
225
|
}, {
|
|
194
|
-
default: () => [isTemporary.value && (isDragging.value || isActive.value) && _createVNode("div", {
|
|
195
|
-
"class":
|
|
196
|
-
"style": scrimStyles.value,
|
|
226
|
+
default: () => [isTemporary.value && (isDragging.value || isActive.value) && !!props.scrim && _createVNode("div", {
|
|
227
|
+
"class": ['v-navigation-drawer__scrim', scrimColor.backgroundColorClasses.value],
|
|
228
|
+
"style": [scrimStyles.value, scrimColor.backgroundColorStyles.value],
|
|
197
229
|
"onClick": () => isActive.value = false
|
|
198
230
|
}, null)]
|
|
199
231
|
})]);
|
|
232
|
+
});
|
|
233
|
+
return {
|
|
234
|
+
isStuck
|
|
200
235
|
};
|
|
201
236
|
}
|
|
202
237
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VNavigationDrawer.mjs","names":["makeBorderProps","useBorder","makeElevationProps","useElevation","makeLayoutItemProps","useLayoutItem","makeRoundedProps","useRounded","makeTagProps","makeThemeProps","provideTheme","useBackgroundColor","useDisplay","useProxiedModel","useRouter","useSsrBoot","useTouch","computed","onBeforeMount","ref","toRef","Transition","watch","convertToUnit","defineComponent","VNavigationDrawer","name","props","color","String","disableResizeWatcher","Boolean","disableRouteWatcher","expandOnHover","floating","modelValue","type","default","permanent","rail","railWidth","Number","image","temporary","touchless","width","location","validator","value","includes","tag","emits","val","setup","attrs","slots","themeClasses","borderClasses","backgroundColorClasses","backgroundColorStyles","elevationClasses","mobile","roundedClasses","router","isActive","v","isHovering","ssrBootStyles","isTemporary","currentRoute","rootEl","isDragging","dragProgress","dragStyles","position","layoutSize","size","layoutItemStyles","layoutRect","layoutItemScrimStyles","id","order","parseInt","elementSize","active","disableTransitions","absolute","scrimStyles","opacity","transition","undefined","left","right","top","bottom","hasImage","prepend","append"],"sources":["../../../src/components/VNavigationDrawer/VNavigationDrawer.tsx"],"sourcesContent":["// Styles\nimport './VNavigationDrawer.sass'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeLayoutItemProps, useLayoutItem } from '@/composables/layout'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useBackgroundColor } from '@/composables/color'\nimport { useDisplay } from '@/composables/display'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useRouter } from '@/composables/router'\nimport { useSsrBoot } from '@/composables/ssrBoot'\nimport { useTouch } from './touch'\n\n// Utilities\nimport { computed, onBeforeMount, ref, toRef, Transition, watch } from 'vue'\nimport { convertToUnit, defineComponent } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport const VNavigationDrawer = defineComponent({\n name: 'VNavigationDrawer',\n\n props: {\n color: String,\n disableResizeWatcher: Boolean,\n disableRouteWatcher: Boolean,\n expandOnHover: Boolean,\n floating: Boolean,\n modelValue: {\n type: Boolean as PropType<boolean | null>,\n default: null,\n },\n permanent: Boolean,\n rail: Boolean,\n railWidth: {\n type: [Number, String],\n default: 72,\n },\n image: String,\n temporary: Boolean,\n touchless: Boolean,\n width: {\n type: [Number, String],\n default: 256,\n },\n location: {\n type: String as PropType<'left' | 'right' | 'bottom'>,\n default: 'left',\n validator: (value: any) => ['left', 'right', 'bottom'].includes(value),\n },\n\n ...makeBorderProps(),\n ...makeElevationProps(),\n ...makeLayoutItemProps(),\n ...makeRoundedProps(),\n ...makeTagProps({ tag: 'nav' }),\n ...makeThemeProps(),\n },\n\n emits: {\n 'update:modelValue': (val: boolean) => true,\n },\n\n setup (props, { attrs, slots }) {\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'color'))\n const { elevationClasses } = useElevation(props)\n const { mobile } = useDisplay()\n const { roundedClasses } = useRounded(props)\n const router = useRouter()\n const isActive = useProxiedModel(props, 'modelValue', null, v => !!v)\n const isHovering = ref(false)\n const { ssrBootStyles } = useSsrBoot()\n const width = computed(() => {\n return (props.rail && props.expandOnHover && isHovering.value)\n ? Number(props.width)\n : Number(props.rail ? props.railWidth : props.width)\n })\n const isTemporary = computed(() => !props.permanent && (mobile.value || props.temporary))\n\n if (!props.disableResizeWatcher) {\n watch(isTemporary, val => !props.permanent && (isActive.value = !val))\n }\n\n if (!props.disableRouteWatcher && router) {\n watch(router.currentRoute, () => isTemporary.value && (isActive.value = false))\n }\n\n watch(() => props.permanent, val => {\n if (val) isActive.value = true\n })\n\n onBeforeMount(() => {\n if (props.modelValue != null || isTemporary.value) return\n\n isActive.value = props.permanent || !mobile.value\n })\n\n const rootEl = ref<HTMLElement>()\n\n const { isDragging, dragProgress, dragStyles } = useTouch({\n isActive,\n isTemporary,\n width,\n touchless: toRef(props, 'touchless'),\n position: toRef(props, 'location'),\n })\n\n const layoutSize = computed(() => {\n const size = isTemporary.value ? 0\n : props.rail && props.expandOnHover ? Number(props.railWidth)\n : width.value\n\n return isDragging.value ? size * dragProgress.value : size\n })\n const { layoutItemStyles, layoutRect, layoutItemScrimStyles } = useLayoutItem({\n id: props.name,\n order: computed(() => parseInt(props.order, 10)),\n position: toRef(props, 'location'),\n layoutSize,\n elementSize: width,\n active: computed(() => isActive.value || isDragging.value),\n disableTransitions: computed(() => isDragging.value),\n absolute: toRef(props, 'absolute'),\n })\n\n const scrimStyles = computed(() => ({\n ...isDragging.value ? {\n opacity: dragProgress.value * 0.2,\n transition: 'none',\n } : undefined,\n ...layoutRect.value ? {\n left: convertToUnit(layoutRect.value.left),\n right: convertToUnit(layoutRect.value.right),\n top: convertToUnit(layoutRect.value.top),\n bottom: convertToUnit(layoutRect.value.bottom),\n } : undefined,\n ...layoutItemScrimStyles.value,\n }))\n\n return () => {\n const hasImage = (slots.image || props.image)\n\n return (\n <>\n <props.tag\n ref={ rootEl }\n onMouseenter={ () => (isHovering.value = true) }\n onMouseleave={ () => (isHovering.value = false) }\n class={[\n 'v-navigation-drawer',\n {\n 'v-navigation-drawer--bottom': props.location === 'bottom',\n 'v-navigation-drawer--end': props.location === 'right',\n 'v-navigation-drawer--expand-on-hover': props.expandOnHover,\n 'v-navigation-drawer--floating': props.floating,\n 'v-navigation-drawer--is-hovering': isHovering.value,\n 'v-navigation-drawer--rail': props.rail,\n 'v-navigation-drawer--start': props.location === 'left',\n 'v-navigation-drawer--temporary': isTemporary.value,\n 'v-navigation-drawer--active': isActive.value,\n },\n themeClasses.value,\n backgroundColorClasses.value,\n borderClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n ]}\n style={[\n backgroundColorStyles.value,\n layoutItemStyles.value,\n dragStyles.value,\n ssrBootStyles.value,\n ]}\n { ...attrs }\n >\n { hasImage && (\n <div class=\"v-navigation-drawer__img\">\n { slots.image\n ? slots.image?.({ image: props.image })\n : (<img src={ props.image } alt=\"\" />)\n }\n </div>\n )}\n\n { slots.prepend && (\n <div class=\"v-navigation-drawer__prepend\">\n { slots.prepend?.() }\n </div>\n )}\n\n <div class=\"v-navigation-drawer__content\">\n { slots.default?.() }\n </div>\n\n { slots.append && (\n <div class=\"v-navigation-drawer__append\">\n { slots.append?.() }\n </div>\n )}\n </props.tag>\n\n <Transition name=\"fade-transition\">\n { isTemporary.value && (isDragging.value || isActive.value) && (\n <div\n class=\"v-navigation-drawer__scrim\"\n style={ scrimStyles.value }\n onClick={ () => isActive.value = false }\n />\n )}\n </Transition>\n </>\n )\n }\n },\n})\n\nexport type VNavigationDrawer = InstanceType<typeof VNavigationDrawer>\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"VNavigationDrawer.mjs","names":["makeBorderProps","useBorder","makeElevationProps","useElevation","makeLayoutItemProps","useLayoutItem","makeRoundedProps","useRounded","makeTagProps","makeThemeProps","provideTheme","provideDefaults","useBackgroundColor","useDisplay","useProxiedModel","useRouter","useRtl","useSsrBoot","useSticky","useTouch","computed","onBeforeMount","ref","toRef","Transition","watch","convertToUnit","defineComponent","toPhysical","useRender","locations","VNavigationDrawer","name","props","color","String","disableResizeWatcher","Boolean","disableRouteWatcher","expandOnHover","floating","modelValue","type","default","permanent","rail","railWidth","Number","scrim","image","temporary","touchless","width","location","validator","value","includes","sticky","tag","emits","val","setup","attrs","slots","isRtl","themeClasses","borderClasses","backgroundColorClasses","backgroundColorStyles","elevationClasses","mobile","roundedClasses","router","isActive","v","ssrBootStyles","rootEl","isHovering","isTemporary","isSticky","currentRoute","isDragging","dragProgress","dragStyles","position","layoutSize","size","layoutItemStyles","layoutRect","layoutItemScrimStyles","id","order","parseInt","elementSize","active","disableTransitions","absolute","isStuck","stickyStyles","scrimColor","scrimStyles","opacity","transition","undefined","left","right","top","bottom","VList","bgColor","hasImage","prepend","append"],"sources":["../../../src/components/VNavigationDrawer/VNavigationDrawer.tsx"],"sourcesContent":["// Styles\nimport './VNavigationDrawer.sass'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeLayoutItemProps, useLayoutItem } from '@/composables/layout'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { provideDefaults } from '@/composables/defaults'\nimport { useBackgroundColor } from '@/composables/color'\nimport { useDisplay } from '@/composables/display'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useRouter } from '@/composables/router'\nimport { useRtl } from '@/composables'\nimport { useSsrBoot } from '@/composables/ssrBoot'\nimport { useSticky } from './sticky'\nimport { useTouch } from './touch'\n\n// Utilities\nimport { computed, onBeforeMount, ref, toRef, Transition, watch } from 'vue'\nimport { convertToUnit, defineComponent, toPhysical, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nconst locations = ['start', 'end', 'left', 'right', 'bottom'] as const\n\nexport const VNavigationDrawer = defineComponent({\n name: 'VNavigationDrawer',\n\n props: {\n color: String,\n disableResizeWatcher: Boolean,\n disableRouteWatcher: Boolean,\n expandOnHover: Boolean,\n floating: Boolean,\n modelValue: {\n type: Boolean as PropType<boolean | null>,\n default: null,\n },\n permanent: Boolean,\n rail: Boolean,\n railWidth: {\n type: [Number, String],\n default: 56,\n },\n scrim: {\n type: [String, Boolean],\n default: true,\n },\n image: String,\n temporary: Boolean,\n touchless: Boolean,\n width: {\n type: [Number, String],\n default: 256,\n },\n location: {\n type: String as PropType<typeof locations[number]>,\n default: 'start',\n validator: (value: any) => locations.includes(value),\n },\n sticky: Boolean,\n\n ...makeBorderProps(),\n ...makeElevationProps(),\n ...makeLayoutItemProps(),\n ...makeRoundedProps(),\n ...makeTagProps({ tag: 'nav' }),\n ...makeThemeProps(),\n },\n\n emits: {\n 'update:modelValue': (val: boolean) => true,\n },\n\n setup (props, { attrs, slots }) {\n const { isRtl } = useRtl()\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'color'))\n const { elevationClasses } = useElevation(props)\n const { mobile } = useDisplay()\n const { roundedClasses } = useRounded(props)\n const router = useRouter()\n const isActive = useProxiedModel(props, 'modelValue', null, v => !!v)\n const { ssrBootStyles } = useSsrBoot()\n\n const rootEl = ref<HTMLElement>()\n const isHovering = ref(false)\n\n const width = computed(() => {\n return (props.rail && props.expandOnHover && isHovering.value)\n ? Number(props.width)\n : Number(props.rail ? props.railWidth : props.width)\n })\n const location = computed(() => {\n return toPhysical(props.location, isRtl.value) as 'left' | 'right' | 'bottom'\n })\n const isTemporary = computed(() => !props.permanent && (mobile.value || props.temporary))\n const isSticky = computed(() =>\n props.sticky &&\n !isTemporary.value &&\n location.value !== 'bottom'\n )\n\n if (!props.disableResizeWatcher) {\n watch(isTemporary, val => !props.permanent && (isActive.value = !val))\n }\n\n if (!props.disableRouteWatcher && router) {\n watch(router.currentRoute, () => isTemporary.value && (isActive.value = false))\n }\n\n watch(() => props.permanent, val => {\n if (val) isActive.value = true\n })\n\n onBeforeMount(() => {\n if (props.modelValue != null || isTemporary.value) return\n\n isActive.value = props.permanent || !mobile.value\n })\n\n const { isDragging, dragProgress, dragStyles } = useTouch({\n isActive,\n isTemporary,\n width,\n touchless: toRef(props, 'touchless'),\n position: location,\n })\n\n const layoutSize = computed(() => {\n const size = isTemporary.value ? 0\n : props.rail && props.expandOnHover ? Number(props.railWidth)\n : width.value\n\n return isDragging.value ? size * dragProgress.value : size\n })\n\n const { layoutItemStyles, layoutRect, layoutItemScrimStyles } = useLayoutItem({\n id: props.name,\n order: computed(() => parseInt(props.order, 10)),\n position: location,\n layoutSize,\n elementSize: width,\n active: computed(() => isActive.value || isDragging.value),\n disableTransitions: computed(() => isDragging.value),\n absolute: computed(() =>\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n props.absolute || (isSticky.value && typeof isStuck.value !== 'string')\n ),\n })\n\n const { isStuck, stickyStyles } = useSticky({ rootEl, isSticky, layoutItemStyles })\n\n const scrimColor = useBackgroundColor(computed(() => {\n return typeof props.scrim === 'string' ? props.scrim : null\n }))\n const scrimStyles = computed(() => ({\n ...isDragging.value ? {\n opacity: dragProgress.value * 0.2,\n transition: 'none',\n } : undefined,\n ...layoutRect.value ? {\n left: convertToUnit(layoutRect.value.left),\n right: convertToUnit(layoutRect.value.right),\n top: convertToUnit(layoutRect.value.top),\n bottom: convertToUnit(layoutRect.value.bottom),\n } : undefined,\n ...layoutItemScrimStyles.value,\n }))\n\n provideDefaults({\n VList: {\n bgColor: 'transparent',\n },\n })\n\n useRender(() => {\n const hasImage = (slots.image || props.image)\n\n return (\n <>\n <props.tag\n ref={ rootEl }\n onMouseenter={ () => (isHovering.value = true) }\n onMouseleave={ () => (isHovering.value = false) }\n class={[\n 'v-navigation-drawer',\n `v-navigation-drawer--${location.value}`,\n {\n 'v-navigation-drawer--expand-on-hover': props.expandOnHover,\n 'v-navigation-drawer--floating': props.floating,\n 'v-navigation-drawer--is-hovering': isHovering.value,\n 'v-navigation-drawer--rail': props.rail,\n 'v-navigation-drawer--temporary': isTemporary.value,\n 'v-navigation-drawer--active': isActive.value,\n 'v-navigation-drawer--sticky': isSticky.value,\n },\n themeClasses.value,\n backgroundColorClasses.value,\n borderClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n ]}\n style={[\n backgroundColorStyles.value,\n layoutItemStyles.value,\n dragStyles.value,\n ssrBootStyles.value,\n stickyStyles.value,\n ]}\n { ...attrs }\n >\n { hasImage && (\n <div key=\"image\" class=\"v-navigation-drawer__img\">\n { slots.image\n ? slots.image?.({ image: props.image })\n : (<img src={ props.image } alt=\"\" />)\n }\n </div>\n )}\n\n { slots.prepend && (\n <div class=\"v-navigation-drawer__prepend\">\n { slots.prepend?.() }\n </div>\n )}\n\n <div class=\"v-navigation-drawer__content\">\n { slots.default?.() }\n </div>\n\n { slots.append && (\n <div class=\"v-navigation-drawer__append\">\n { slots.append?.() }\n </div>\n )}\n </props.tag>\n\n <Transition name=\"fade-transition\">\n { isTemporary.value && (isDragging.value || isActive.value) && !!props.scrim && (\n <div\n class={['v-navigation-drawer__scrim', scrimColor.backgroundColorClasses.value]}\n style={[scrimStyles.value, scrimColor.backgroundColorStyles.value]}\n onClick={ () => isActive.value = false }\n />\n )}\n </Transition>\n </>\n )\n })\n\n return {\n isStuck,\n }\n },\n})\n\nexport type VNavigationDrawer = InstanceType<typeof VNavigationDrawer>\n"],"mappings":"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"}
|
|
@@ -27,29 +27,17 @@
|
|
|
27
27
|
left: 0
|
|
28
28
|
border-top-width: $navigation-drawer-border-thin-width
|
|
29
29
|
|
|
30
|
-
&--
|
|
30
|
+
&--left
|
|
31
31
|
top: 0
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
left: 0
|
|
36
|
-
right: auto
|
|
37
|
-
|
|
38
|
-
@include tools.rtl()
|
|
39
|
-
left: auto
|
|
40
|
-
right: 0
|
|
32
|
+
left: 0
|
|
33
|
+
right: auto
|
|
34
|
+
border-right-width: $navigation-drawer-border-thin-width
|
|
41
35
|
|
|
42
|
-
&--
|
|
36
|
+
&--right
|
|
43
37
|
top: 0
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
left: auto
|
|
48
|
-
right: 0
|
|
49
|
-
|
|
50
|
-
@include tools.rtl()
|
|
51
|
-
left: 0
|
|
52
|
-
right: auto
|
|
38
|
+
left: auto
|
|
39
|
+
right: 0
|
|
40
|
+
border-left-width: $navigation-drawer-border-thin-width
|
|
53
41
|
|
|
54
42
|
&--floating
|
|
55
43
|
border: none
|
|
@@ -57,6 +45,13 @@
|
|
|
57
45
|
&--temporary
|
|
58
46
|
@include tools.elevation($navigation-drawer-temporary-elevation)
|
|
59
47
|
|
|
48
|
+
&--sticky
|
|
49
|
+
height: auto
|
|
50
|
+
transition: box-shadow, transform, visibility, width, height, left, right
|
|
51
|
+
|
|
52
|
+
.v-list
|
|
53
|
+
overflow: hidden
|
|
54
|
+
|
|
60
55
|
.v-navigation-drawer__content
|
|
61
56
|
flex: 0 1 auto
|
|
62
57
|
height: $navigation-drawer-content-height
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
@use 'sass:map';
|
|
2
2
|
@use '../../styles/settings';
|
|
3
3
|
|
|
4
|
-
//
|
|
4
|
+
// VNavigationDrawer
|
|
5
5
|
$navigation-drawer-background: rgb(var(--v-theme-surface)) !default;
|
|
6
6
|
$navigation-drawer-border-color: settings.$border-color-root !default;
|
|
7
7
|
$navigation-drawer-border-radius: map.get(settings.$rounded, '0') !default;
|
|
@@ -21,10 +21,11 @@ $navigation-drawer-overflow-scrolling: touch !default;
|
|
|
21
21
|
$navigation-drawer-rounded-border-radius: settings.$border-radius-root !default;
|
|
22
22
|
$navigation-drawer-temporary-elevation: 16 !default;
|
|
23
23
|
$navigation-drawer-transition-duration: 0.2s !default;
|
|
24
|
-
$navigation-drawer-transition-property: box-shadow, transform, visibility, width !default;
|
|
24
|
+
$navigation-drawer-transition-property: box-shadow, transform, visibility, width, height, left, right, top, bottom !default;
|
|
25
25
|
$navigation-drawer-transition-timing-function: settings.$standard-easing !default;
|
|
26
26
|
$navigation-drawer-will-change: transform !default;
|
|
27
27
|
|
|
28
|
+
// Lists
|
|
28
29
|
$navigation-drawer-border: (
|
|
29
30
|
$navigation-drawer-border-color,
|
|
30
31
|
$navigation-drawer-border-style,
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { computed, onBeforeUnmount, onMounted, ref, watch } from 'vue';
|
|
2
|
+
import { convertToUnit } from "../../util/index.mjs";
|
|
3
|
+
export function useSticky(_ref) {
|
|
4
|
+
let {
|
|
5
|
+
rootEl,
|
|
6
|
+
isSticky,
|
|
7
|
+
layoutItemStyles
|
|
8
|
+
} = _ref;
|
|
9
|
+
const isStuck = ref(false);
|
|
10
|
+
const stuckPosition = ref(0);
|
|
11
|
+
const stickyStyles = computed(() => {
|
|
12
|
+
const side = typeof isStuck.value === 'boolean' ? 'top' : isStuck.value;
|
|
13
|
+
return [isSticky.value ? {
|
|
14
|
+
top: 'auto',
|
|
15
|
+
bottom: 'auto',
|
|
16
|
+
height: undefined
|
|
17
|
+
} : undefined, isStuck.value ? {
|
|
18
|
+
[side]: convertToUnit(stuckPosition.value)
|
|
19
|
+
} : {
|
|
20
|
+
top: layoutItemStyles.value.top
|
|
21
|
+
}];
|
|
22
|
+
});
|
|
23
|
+
onMounted(() => {
|
|
24
|
+
watch(isSticky, val => {
|
|
25
|
+
if (val) {
|
|
26
|
+
window.addEventListener('scroll', onScroll, {
|
|
27
|
+
passive: true
|
|
28
|
+
});
|
|
29
|
+
} else {
|
|
30
|
+
window.removeEventListener('scroll', onScroll);
|
|
31
|
+
}
|
|
32
|
+
}, {
|
|
33
|
+
immediate: true
|
|
34
|
+
});
|
|
35
|
+
});
|
|
36
|
+
onBeforeUnmount(() => {
|
|
37
|
+
document.removeEventListener('scroll', onScroll);
|
|
38
|
+
});
|
|
39
|
+
let lastScrollTop = 0;
|
|
40
|
+
|
|
41
|
+
function onScroll() {
|
|
42
|
+
var _layoutItemStyles$val;
|
|
43
|
+
|
|
44
|
+
const direction = lastScrollTop > window.scrollY ? 'up' : 'down';
|
|
45
|
+
const rect = rootEl.value.getBoundingClientRect();
|
|
46
|
+
const layoutTop = parseFloat((_layoutItemStyles$val = layoutItemStyles.value.top) != null ? _layoutItemStyles$val : 0);
|
|
47
|
+
const top = window.scrollY - Math.max(0, stuckPosition.value - layoutTop);
|
|
48
|
+
const bottom = rect.height + Math.max(stuckPosition.value, layoutTop) - window.scrollY - window.innerHeight;
|
|
49
|
+
|
|
50
|
+
if (rect.height < window.innerHeight - layoutTop) {
|
|
51
|
+
isStuck.value = 'top';
|
|
52
|
+
stuckPosition.value = layoutTop;
|
|
53
|
+
} else if (direction === 'up' && isStuck.value === 'bottom' || direction === 'down' && isStuck.value === 'top') {
|
|
54
|
+
stuckPosition.value = window.scrollY + rect.top;
|
|
55
|
+
isStuck.value = true;
|
|
56
|
+
} else if (direction === 'down' && bottom <= 0) {
|
|
57
|
+
stuckPosition.value = 0;
|
|
58
|
+
isStuck.value = 'bottom';
|
|
59
|
+
} else if (direction === 'up' && top <= 0) {
|
|
60
|
+
stuckPosition.value = rect.top + top;
|
|
61
|
+
isStuck.value = 'top';
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
lastScrollTop = window.scrollY;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
return {
|
|
68
|
+
isStuck,
|
|
69
|
+
stickyStyles
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=sticky.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sticky.mjs","names":["computed","onBeforeUnmount","onMounted","ref","watch","convertToUnit","useSticky","rootEl","isSticky","layoutItemStyles","isStuck","stuckPosition","stickyStyles","side","value","top","bottom","height","undefined","val","window","addEventListener","onScroll","passive","removeEventListener","immediate","document","lastScrollTop","direction","scrollY","rect","getBoundingClientRect","layoutTop","parseFloat","Math","max","innerHeight"],"sources":["../../../src/components/VNavigationDrawer/sticky.ts"],"sourcesContent":["import type { CSSProperties, Ref } from 'vue'\nimport { computed, onBeforeUnmount, onMounted, ref, watch } from 'vue'\nimport { convertToUnit } from '@/util'\n\ninterface StickyProps {\n rootEl: Ref<HTMLElement | undefined>\n isSticky: Ref<boolean>\n layoutItemStyles: Ref<CSSProperties>\n}\n\nexport function useSticky ({ rootEl, isSticky, layoutItemStyles }: StickyProps) {\n const isStuck = ref<boolean | 'top' | 'bottom'>(false)\n const stuckPosition = ref(0)\n\n const stickyStyles = computed(() => {\n const side = typeof isStuck.value === 'boolean' ? 'top' : isStuck.value\n return [\n isSticky.value ? { top: 'auto', bottom: 'auto', height: undefined } : undefined,\n isStuck.value\n ? { [side]: convertToUnit(stuckPosition.value) }\n : { top: layoutItemStyles.value.top },\n ]\n })\n\n onMounted(() => {\n watch(isSticky, val => {\n if (val) {\n window.addEventListener('scroll', onScroll, { passive: true })\n } else {\n window.removeEventListener('scroll', onScroll)\n }\n }, { immediate: true })\n })\n\n onBeforeUnmount(() => {\n document.removeEventListener('scroll', onScroll)\n })\n\n let lastScrollTop = 0\n function onScroll () {\n const direction = lastScrollTop > window.scrollY ? 'up' : 'down'\n const rect = rootEl.value!.getBoundingClientRect()\n const layoutTop = parseFloat(layoutItemStyles.value.top ?? 0)\n const top = window.scrollY - Math.max(0, stuckPosition.value - layoutTop)\n const bottom =\n rect.height +\n Math.max(stuckPosition.value, layoutTop) -\n window.scrollY -\n window.innerHeight\n\n if (rect.height < window.innerHeight - layoutTop) {\n isStuck.value = 'top'\n stuckPosition.value = layoutTop\n } else if (\n (direction === 'up' && isStuck.value === 'bottom') ||\n (direction === 'down' && isStuck.value === 'top')\n ) {\n stuckPosition.value = window.scrollY + rect.top\n isStuck.value = true\n } else if (direction === 'down' && bottom <= 0) {\n stuckPosition.value = 0\n isStuck.value = 'bottom'\n } else if (direction === 'up' && top <= 0) {\n stuckPosition.value = rect.top + top\n isStuck.value = 'top'\n }\n\n lastScrollTop = window.scrollY\n }\n\n return { isStuck, stickyStyles }\n}\n"],"mappings":"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"}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
import {
|
|
1
|
+
// Composables
|
|
2
|
+
import { useVelocity } from "../../composables/touch.mjs"; // Utilities
|
|
3
|
+
|
|
4
|
+
import { computed, onBeforeUnmount, onMounted, ref } from 'vue'; // Types
|
|
5
|
+
|
|
3
6
|
export function useTouch(_ref) {
|
|
4
7
|
let {
|
|
5
8
|
isActive,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"touch.mjs","names":["useVelocity","computed","onBeforeUnmount","onMounted","ref","useTouch","isActive","isTemporary","width","touchless","position","window","addEventListener","onTouchstart","passive","onTouchmove","onTouchend","removeEventListener","isHorizontal","value","addMovement","endTouch","getVelocity","maybeDragging","isDragging","dragProgress","offset","start","getOffset","pos","active","document","documentElement","clientWidth","clientHeight","oops","getProgress","limit","progress","Math","max","min","e","touchX","changedTouches","clientX","touchY","clientY","touchZone","inTouchZone","inElement","cancelable","dx","abs","dy","thresholdMet","preventDefault","velocity","identifier","vx","x","vy","y","direction","left","right","bottom","dragStyles","transform","transition","undefined","Error"],"sources":["../../../src/components/VNavigationDrawer/touch.ts"],"sourcesContent":["import { useVelocity } from '@/composables/touch'\nimport { computed, onBeforeUnmount, onMounted, ref } from 'vue'\nimport type { Ref } from 'vue'\n\nexport function useTouch ({ isActive, isTemporary, width, touchless, position }: {\n isActive: Ref<boolean>\n isTemporary: Ref<boolean>\n width: Ref<number>\n touchless: Ref<boolean>\n position: Ref<'left' | 'right' | 'bottom'>\n}) {\n onMounted(() => {\n window.addEventListener('touchstart', onTouchstart, { passive: true })\n window.addEventListener('touchmove', onTouchmove, { passive: false })\n window.addEventListener('touchend', onTouchend, { passive: true })\n })\n\n onBeforeUnmount(() => {\n window.removeEventListener('touchstart', onTouchstart)\n window.removeEventListener('touchmove', onTouchmove)\n window.removeEventListener('touchend', onTouchend)\n })\n\n const isHorizontal = computed(() => position.value !== 'bottom')\n\n const { addMovement, endTouch, getVelocity } = useVelocity()\n let maybeDragging = false\n const isDragging = ref(false)\n const dragProgress = ref(0)\n const offset = ref(0)\n let start: [number, number] | undefined\n\n function getOffset (pos: number, active: boolean): number {\n return (\n position.value === 'left' ? pos\n : position.value === 'right' ? document.documentElement.clientWidth - pos\n : position.value === 'bottom' ? document.documentElement.clientHeight - pos\n : oops()\n ) - (active ? width.value : 0)\n }\n\n function getProgress (pos: number, limit = true): number {\n const progress = (\n position.value === 'left' ? (pos - offset.value) / width.value\n : position.value === 'right' ? (document.documentElement.clientWidth - pos - offset.value) / width.value\n : position.value === 'bottom' ? (document.documentElement.clientHeight - pos - offset.value) / width.value\n : oops()\n )\n return limit ? Math.max(0, Math.min(1, progress)) : progress\n }\n\n function onTouchstart (e: TouchEvent) {\n if (touchless.value) return\n\n const touchX = e.changedTouches[0].clientX\n const touchY = e.changedTouches[0].clientY\n\n const touchZone = 25\n const inTouchZone: boolean =\n position.value === 'left' ? touchX < touchZone\n : position.value === 'right' ? touchX > document.documentElement.clientWidth - touchZone\n : position.value === 'bottom' ? touchY > document.documentElement.clientHeight - touchZone\n : oops()\n\n const inElement: boolean = isActive.value && (\n position.value === 'left' ? touchX < width.value\n : position.value === 'right' ? touchX > document.documentElement.clientWidth - width.value\n : position.value === 'bottom' ? touchY > document.documentElement.clientHeight - width.value\n : oops()\n )\n\n if (\n inTouchZone ||\n inElement ||\n (isActive.value && isTemporary.value)\n ) {\n maybeDragging = true\n start = [touchX, touchY]\n\n offset.value = getOffset(isHorizontal.value ? touchX : touchY, isActive.value)\n dragProgress.value = getProgress(isHorizontal.value ? touchX : touchY)\n\n endTouch(e)\n addMovement(e)\n }\n }\n\n function onTouchmove (e: TouchEvent) {\n const touchX = e.changedTouches[0].clientX\n const touchY = e.changedTouches[0].clientY\n\n if (maybeDragging) {\n if (!e.cancelable) {\n maybeDragging = false\n return\n }\n\n const dx = Math.abs(touchX - start![0])\n const dy = Math.abs(touchY - start![1])\n\n const thresholdMet = isHorizontal.value\n ? dx > dy && dx > 3\n : dy > dx && dy > 3\n\n if (thresholdMet) {\n isDragging.value = true\n maybeDragging = false\n } else if ((isHorizontal.value ? dy : dx) > 3) {\n maybeDragging = false\n }\n }\n\n if (!isDragging.value) return\n\n e.preventDefault()\n addMovement(e)\n\n const progress = getProgress(isHorizontal.value ? touchX : touchY, false)\n dragProgress.value = Math.max(0, Math.min(1, progress))\n\n if (progress > 1) {\n offset.value = getOffset(isHorizontal.value ? touchX : touchY, true)\n } else if (progress < 0) {\n offset.value = getOffset(isHorizontal.value ? touchX : touchY, false)\n }\n }\n\n function onTouchend (e: TouchEvent) {\n maybeDragging = false\n\n if (!isDragging.value) return\n\n addMovement(e)\n\n isDragging.value = false\n\n const velocity = getVelocity(e.changedTouches[0].identifier)\n const vx = Math.abs(velocity.x)\n const vy = Math.abs(velocity.y)\n const thresholdMet = isHorizontal.value\n ? vx > vy && vx > 400\n : vy > vx && vy > 3\n\n if (thresholdMet) {\n isActive.value = velocity.direction === ({\n left: 'right',\n right: 'left',\n bottom: 'up',\n }[position.value] || oops())\n } else {\n isActive.value = dragProgress.value > 0.5\n }\n }\n\n const dragStyles = computed(() => {\n return isDragging.value ? {\n transform:\n position.value === 'left' ? `translateX(calc(-100% + ${dragProgress.value * width.value}px))`\n : position.value === 'right' ? `translateX(calc(100% - ${dragProgress.value * width.value}px))`\n : position.value === 'bottom' ? `translateY(calc(100% - ${dragProgress.value * width.value}px))`\n : oops(),\n transition: 'none',\n } : undefined\n })\n\n return {\n isDragging,\n dragProgress,\n dragStyles,\n }\n}\n\nfunction oops (): never {\n throw new Error()\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"touch.mjs","names":["useVelocity","computed","onBeforeUnmount","onMounted","ref","useTouch","isActive","isTemporary","width","touchless","position","window","addEventListener","onTouchstart","passive","onTouchmove","onTouchend","removeEventListener","isHorizontal","value","addMovement","endTouch","getVelocity","maybeDragging","isDragging","dragProgress","offset","start","getOffset","pos","active","document","documentElement","clientWidth","clientHeight","oops","getProgress","limit","progress","Math","max","min","e","touchX","changedTouches","clientX","touchY","clientY","touchZone","inTouchZone","inElement","cancelable","dx","abs","dy","thresholdMet","preventDefault","velocity","identifier","vx","x","vy","y","direction","left","right","bottom","dragStyles","transform","transition","undefined","Error"],"sources":["../../../src/components/VNavigationDrawer/touch.ts"],"sourcesContent":["// Composables\nimport { useVelocity } from '@/composables/touch'\n\n// Utilities\nimport { computed, onBeforeUnmount, onMounted, ref } from 'vue'\n\n// Types\nimport type { Ref } from 'vue'\n\nexport function useTouch ({ isActive, isTemporary, width, touchless, position }: {\n isActive: Ref<boolean>\n isTemporary: Ref<boolean>\n width: Ref<number>\n touchless: Ref<boolean>\n position: Ref<'left' | 'right' | 'bottom'>\n}) {\n onMounted(() => {\n window.addEventListener('touchstart', onTouchstart, { passive: true })\n window.addEventListener('touchmove', onTouchmove, { passive: false })\n window.addEventListener('touchend', onTouchend, { passive: true })\n })\n\n onBeforeUnmount(() => {\n window.removeEventListener('touchstart', onTouchstart)\n window.removeEventListener('touchmove', onTouchmove)\n window.removeEventListener('touchend', onTouchend)\n })\n\n const isHorizontal = computed(() => position.value !== 'bottom')\n\n const { addMovement, endTouch, getVelocity } = useVelocity()\n let maybeDragging = false\n const isDragging = ref(false)\n const dragProgress = ref(0)\n const offset = ref(0)\n let start: [number, number] | undefined\n\n function getOffset (pos: number, active: boolean): number {\n return (\n position.value === 'left' ? pos\n : position.value === 'right' ? document.documentElement.clientWidth - pos\n : position.value === 'bottom' ? document.documentElement.clientHeight - pos\n : oops()\n ) - (active ? width.value : 0)\n }\n\n function getProgress (pos: number, limit = true): number {\n const progress = (\n position.value === 'left' ? (pos - offset.value) / width.value\n : position.value === 'right' ? (document.documentElement.clientWidth - pos - offset.value) / width.value\n : position.value === 'bottom' ? (document.documentElement.clientHeight - pos - offset.value) / width.value\n : oops()\n )\n return limit ? Math.max(0, Math.min(1, progress)) : progress\n }\n\n function onTouchstart (e: TouchEvent) {\n if (touchless.value) return\n\n const touchX = e.changedTouches[0].clientX\n const touchY = e.changedTouches[0].clientY\n\n const touchZone = 25\n const inTouchZone: boolean =\n position.value === 'left' ? touchX < touchZone\n : position.value === 'right' ? touchX > document.documentElement.clientWidth - touchZone\n : position.value === 'bottom' ? touchY > document.documentElement.clientHeight - touchZone\n : oops()\n\n const inElement: boolean = isActive.value && (\n position.value === 'left' ? touchX < width.value\n : position.value === 'right' ? touchX > document.documentElement.clientWidth - width.value\n : position.value === 'bottom' ? touchY > document.documentElement.clientHeight - width.value\n : oops()\n )\n\n if (\n inTouchZone ||\n inElement ||\n (isActive.value && isTemporary.value)\n ) {\n maybeDragging = true\n start = [touchX, touchY]\n\n offset.value = getOffset(isHorizontal.value ? touchX : touchY, isActive.value)\n dragProgress.value = getProgress(isHorizontal.value ? touchX : touchY)\n\n endTouch(e)\n addMovement(e)\n }\n }\n\n function onTouchmove (e: TouchEvent) {\n const touchX = e.changedTouches[0].clientX\n const touchY = e.changedTouches[0].clientY\n\n if (maybeDragging) {\n if (!e.cancelable) {\n maybeDragging = false\n return\n }\n\n const dx = Math.abs(touchX - start![0])\n const dy = Math.abs(touchY - start![1])\n\n const thresholdMet = isHorizontal.value\n ? dx > dy && dx > 3\n : dy > dx && dy > 3\n\n if (thresholdMet) {\n isDragging.value = true\n maybeDragging = false\n } else if ((isHorizontal.value ? dy : dx) > 3) {\n maybeDragging = false\n }\n }\n\n if (!isDragging.value) return\n\n e.preventDefault()\n addMovement(e)\n\n const progress = getProgress(isHorizontal.value ? touchX : touchY, false)\n dragProgress.value = Math.max(0, Math.min(1, progress))\n\n if (progress > 1) {\n offset.value = getOffset(isHorizontal.value ? touchX : touchY, true)\n } else if (progress < 0) {\n offset.value = getOffset(isHorizontal.value ? touchX : touchY, false)\n }\n }\n\n function onTouchend (e: TouchEvent) {\n maybeDragging = false\n\n if (!isDragging.value) return\n\n addMovement(e)\n\n isDragging.value = false\n\n const velocity = getVelocity(e.changedTouches[0].identifier)\n const vx = Math.abs(velocity.x)\n const vy = Math.abs(velocity.y)\n const thresholdMet = isHorizontal.value\n ? vx > vy && vx > 400\n : vy > vx && vy > 3\n\n if (thresholdMet) {\n isActive.value = velocity.direction === ({\n left: 'right',\n right: 'left',\n bottom: 'up',\n }[position.value] || oops())\n } else {\n isActive.value = dragProgress.value > 0.5\n }\n }\n\n const dragStyles = computed(() => {\n return isDragging.value ? {\n transform:\n position.value === 'left' ? `translateX(calc(-100% + ${dragProgress.value * width.value}px))`\n : position.value === 'right' ? `translateX(calc(100% - ${dragProgress.value * width.value}px))`\n : position.value === 'bottom' ? `translateY(calc(100% - ${dragProgress.value * width.value}px))`\n : oops(),\n transition: 'none',\n } : undefined\n })\n\n return {\n isDragging,\n dragProgress,\n dragStyles,\n }\n}\n\nfunction oops (): never {\n throw new Error()\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VNoSsr.mjs","names":["useHydration","defineComponent","ref","VNoSsr","name","setup","_","slots","show","value","default"],"sources":["../../../src/components/VNoSsr/VNoSsr.tsx"],"sourcesContent":["// Composables\nimport { useHydration } from '@/composables/hydration'\n\n// Utilities\nimport { defineComponent } from '@/util'\nimport { ref } from 'vue'\n\nexport const VNoSsr = defineComponent({\n name: 'VNoSsr',\n\n setup (_, { slots }) {\n const show = ref(false)\n\n useHydration(() => (show.value = true))\n\n return () => show.value && slots.default?.()\n },\n
|
|
1
|
+
{"version":3,"file":"VNoSsr.mjs","names":["useHydration","defineComponent","ref","VNoSsr","name","setup","_","slots","show","value","default"],"sources":["../../../src/components/VNoSsr/VNoSsr.tsx"],"sourcesContent":["// Composables\nimport { useHydration } from '@/composables/hydration'\n\n// Utilities\nimport { defineComponent } from '@/util'\nimport { ref } from 'vue'\n\nexport const VNoSsr = defineComponent({\n name: 'VNoSsr',\n\n setup (_, { slots }) {\n const show = ref(false)\n\n useHydration(() => (show.value = true))\n\n return () => show.value && slots.default?.()\n },\n})\n"],"mappings":"AAAA;SACSA,Y,2CAET;;SACSC,e;AACT,SAASC,GAAT,QAAoB,KAApB;AAEA,OAAO,MAAMC,MAAM,GAAGF,eAAe,CAAC;EACpCG,IAAI,EAAE,QAD8B;;EAGpCC,KAAK,CAAEC,CAAF,QAAgB;IAAA,IAAX;MAAEC;IAAF,CAAW;IACnB,MAAMC,IAAI,GAAGN,GAAG,CAAC,KAAD,CAAhB;IAEAF,YAAY,CAAC,MAAOQ,IAAI,CAACC,KAAL,GAAa,IAArB,CAAZ;IAEA,OAAO;MAAA;;MAAA,OAAMD,IAAI,CAACC,KAAL,uBAAcF,KAAK,CAACG,OAApB,qBAAc,oBAAAH,KAAK,CAAnB,CAAN;IAAA,CAAP;EACD;;AATmC,CAAD,CAA9B"}
|