@vuetify/nightly 3.0.0-beta.3 → 3.0.0-beta.6
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 +43 -2
- package/dist/_component-variables.sass +61 -0
- package/dist/json/attributes.json +261 -205
- package/dist/json/importMap.json +175 -219
- package/dist/json/tags.json +74 -104
- package/dist/json/web-types.json +880 -835
- package/dist/vuetify.css +597 -407
- package/dist/vuetify.d.ts +6770 -2144
- package/dist/vuetify.esm.js +9075 -8454
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +9074 -8453
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +1078 -1040
- 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 +5 -5
- package/lib/components/VAlert/VAlert.mjs +8 -2
- package/lib/components/VAlert/VAlert.mjs.map +1 -1
- package/lib/components/VAlert/VAlert.sass +0 -2
- 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/VAppBar.sass +0 -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.mjs +54 -21
- package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.sass +0 -2
- package/lib/components/VAvatar/VAvatar.css +1 -1
- package/lib/components/VAvatar/VAvatar.mjs.map +1 -1
- package/lib/components/VAvatar/VAvatar.sass +1 -2
- package/lib/components/VAvatar/_mixins.scss +0 -1
- package/lib/components/VBadge/VBadge.mjs +8 -7
- package/lib/components/VBadge/VBadge.mjs.map +1 -1
- package/lib/components/VBadge/VBadge.sass +0 -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 -8
- 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 -13
- 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 -4
- 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 +72 -15
- package/lib/components/VBtn/VBtn.mjs +70 -27
- package/lib/components/VBtn/VBtn.mjs.map +1 -1
- package/lib/components/VBtn/VBtn.sass +70 -13
- package/lib/components/VBtn/_variables.scss +4 -1
- package/lib/components/VBtnGroup/VBtnGroup.sass +0 -1
- package/lib/components/VBtnGroup/_variables.scss +2 -0
- package/lib/components/VBtnToggle/VBtnToggle.sass +0 -1
- package/lib/components/VBtnToggle/_variables.scss +1 -0
- package/lib/components/VCard/VCard.css +86 -69
- package/lib/components/VCard/VCard.mjs +52 -66
- package/lib/components/VCard/VCard.mjs.map +1 -1
- package/lib/components/VCard/VCard.sass +74 -62
- 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/VCarousel.sass +0 -1
- package/lib/components/VCarousel/VCarouselItem.mjs.map +1 -1
- package/lib/components/VCarousel/_variables.scss +1 -0
- package/lib/components/VCheckbox/VCheckbox.mjs +13 -46
- package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
- package/lib/components/VCheckbox/VCheckbox.sass +0 -1
- package/lib/components/VCheckbox/VCheckboxBtn.mjs +67 -0
- package/lib/components/VCheckbox/VCheckboxBtn.mjs.map +1 -0
- package/lib/components/VCheckbox/index.mjs +1 -0
- package/lib/components/VCheckbox/index.mjs.map +1 -1
- package/lib/components/VChip/VChip.css +142 -65
- package/lib/components/VChip/VChip.mjs +77 -38
- package/lib/components/VChip/VChip.mjs.map +1 -1
- package/lib/components/VChip/VChip.sass +6 -1
- package/lib/components/VChip/_mixins.scss +26 -6
- package/lib/components/VChip/_variables.scss +1 -5
- package/lib/components/VChipGroup/VChipGroup.mjs +5 -4
- 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/VCode/VCode.sass +1 -2
- package/lib/components/VCode/_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/VColorPicker.sass +0 -1
- package/lib/components/VColorPicker/VColorPickerCanvas.mjs +5 -4
- package/lib/components/VColorPicker/VColorPickerCanvas.mjs.map +1 -1
- package/lib/components/VColorPicker/VColorPickerCanvas.sass +0 -1
- package/lib/components/VColorPicker/VColorPickerEdit.mjs +4 -3
- package/lib/components/VColorPicker/VColorPickerEdit.mjs.map +1 -1
- package/lib/components/VColorPicker/VColorPickerEdit.sass +0 -1
- package/lib/components/VColorPicker/VColorPickerPreview.mjs +4 -3
- package/lib/components/VColorPicker/VColorPickerPreview.mjs.map +1 -1
- package/lib/components/VColorPicker/VColorPickerPreview.sass +0 -1
- package/lib/components/VColorPicker/VColorPickerSwatches.mjs +6 -5
- package/lib/components/VColorPicker/VColorPickerSwatches.mjs.map +1 -1
- package/lib/components/VColorPicker/VColorPickerSwatches.sass +0 -1
- package/lib/components/VColorPicker/_variables.scss +17 -10
- package/lib/components/VCombobox/VCombobox.mjs +52 -36
- package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
- package/lib/components/VCombobox/VCombobox.sass +0 -2
- package/lib/components/VCounter/VCounter.mjs +16 -16
- package/lib/components/VCounter/VCounter.mjs.map +1 -1
- package/lib/components/VCounter/VCounter.sass +1 -2
- package/lib/components/VCounter/_variables.scss +2 -1
- package/lib/components/VDialog/VDialog.css +2 -5
- package/lib/components/VDialog/VDialog.mjs +25 -25
- package/lib/components/VDialog/VDialog.mjs.map +1 -1
- package/lib/components/VDialog/VDialog.sass +1 -5
- 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/VDivider.sass +0 -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 -1
- 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 +11 -11
- package/lib/components/VField/VField.mjs +19 -12
- package/lib/components/VField/VField.mjs.map +1 -1
- package/lib/components/VField/VField.sass +8 -10
- package/lib/components/VField/VFieldLabel.mjs +8 -9
- package/lib/components/VField/VFieldLabel.mjs.map +1 -1
- package/lib/components/VField/_variables.scss +3 -3
- package/lib/components/VFileInput/VFileInput.css +3 -3
- package/lib/components/VFileInput/VFileInput.mjs +12 -7
- package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
- package/lib/components/VFileInput/VFileInput.sass +3 -4
- package/lib/components/VFooter/VFooter.mjs +4 -3
- package/lib/components/VFooter/VFooter.mjs.map +1 -1
- package/lib/components/VFooter/VFooter.sass +0 -1
- package/lib/components/VFooter/_variables.scss +2 -1
- package/lib/components/VForm/VForm.mjs +3 -3
- package/lib/components/VForm/VForm.mjs.map +1 -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.map +1 -1
- package/lib/components/VIcon/VIcon.css +0 -8
- package/lib/components/VIcon/VIcon.mjs +20 -21
- package/lib/components/VIcon/VIcon.mjs.map +1 -1
- package/lib/components/VIcon/VIcon.sass +0 -9
- package/lib/components/VIcon/_variables.scss +2 -5
- package/lib/components/VIcon/index.mjs.map +1 -1
- package/lib/components/VImg/VImg.sass +0 -1
- package/lib/components/VInput/VInput.mjs +13 -9
- package/lib/components/VInput/VInput.mjs.map +1 -1
- package/lib/components/VInput/VInput.sass +0 -1
- package/lib/components/VItemGroup/VItem.mjs +3 -0
- package/lib/components/VItemGroup/VItem.mjs.map +1 -1
- package/lib/components/VItemGroup/VItemGroup.sass +0 -1
- package/lib/components/VKbd/VKbd.sass +0 -1
- package/lib/components/VKbd/_variables.scss +1 -1
- package/lib/components/VLabel/VLabel.mjs +4 -3
- package/lib/components/VLabel/VLabel.mjs.map +1 -1
- package/lib/components/VLabel/VLabel.sass +0 -1
- package/lib/components/VLabel/_variables.scss +1 -0
- package/lib/components/VLazy/VLazy.mjs +5 -3
- package/lib/components/VLazy/VLazy.mjs.map +1 -1
- package/lib/components/VList/VList.css +2 -2
- package/lib/components/VList/VList.mjs +16 -18
- package/lib/components/VList/VList.mjs.map +1 -1
- package/lib/components/VList/VList.sass +1 -2
- package/lib/components/VList/VListChildren.mjs +7 -6
- package/lib/components/VList/VListChildren.mjs.map +1 -1
- package/lib/components/VList/VListGroup.mjs +45 -31
- package/lib/components/VList/VListGroup.mjs.map +1 -1
- package/lib/components/VList/VListItem.css +84 -58
- package/lib/components/VList/VListItem.mjs +78 -45
- package/lib/components/VList/VListItem.mjs.map +1 -1
- package/lib/components/VList/VListItem.sass +68 -40
- 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 +11 -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.mjs +4 -3
- package/lib/components/VMain/VMain.mjs.map +1 -1
- package/lib/components/VMain/VMain.sass +0 -1
- package/lib/components/VMain/_variables.scss +1 -1
- package/lib/components/VMenu/VMenu.mjs +5 -5
- package/lib/components/VMenu/VMenu.mjs.map +1 -1
- package/lib/components/VMenu/VMenu.sass +0 -1
- package/lib/components/VMessages/VMessages.mjs +5 -3
- package/lib/components/VMessages/VMessages.mjs.map +1 -1
- package/lib/components/VMessages/VMessages.sass +0 -1
- package/lib/components/VMessages/_variables.scss +1 -1
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +10 -4
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
- package/lib/components/VNavigationDrawer/VNavigationDrawer.sass +0 -1
- package/lib/components/VNavigationDrawer/_variables.scss +2 -1
- 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 +10 -8
- package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
- package/lib/components/VOverlay/VOverlay.sass +0 -1
- package/lib/components/VOverlay/locationStrategies.mjs +267 -78
- package/lib/components/VOverlay/locationStrategies.mjs.map +1 -1
- package/lib/components/VOverlay/useActivator.mjs +4 -3
- 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 +41 -23
- package/lib/components/VPagination/VPagination.mjs.map +1 -1
- package/lib/components/VPagination/VPagination.sass +0 -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/VProgressCircular.sass +0 -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/VProgressLinear.sass +0 -1
- package/lib/components/VProgressLinear/_variables.scss +1 -0
- package/lib/components/VRadioGroup/VRadioGroup.mjs +6 -3
- 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 -1
- package/lib/components/VResponsive/VResponsive.mjs +7 -6
- package/lib/components/VResponsive/VResponsive.mjs.map +1 -1
- package/lib/components/VSelect/VSelect.mjs +61 -22
- package/lib/components/VSelect/VSelect.mjs.map +1 -1
- package/lib/components/VSelect/VSelect.sass +0 -2
- package/lib/components/VSelectionControl/VSelectionControl.css +1 -0
- package/lib/components/VSelectionControl/VSelectionControl.mjs +12 -10
- package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
- package/lib/components/VSelectionControl/VSelectionControl.sass +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 -6
- 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/VSheet.sass +0 -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/VSlideGroup.sass +0 -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/VSlider.sass +0 -2
- package/lib/components/VSlider/VSliderThumb.mjs +6 -5
- package/lib/components/VSlider/VSliderThumb.mjs.map +1 -1
- package/lib/components/VSlider/VSliderThumb.sass +0 -2
- package/lib/components/VSlider/VSliderTrack.mjs +11 -10
- package/lib/components/VSlider/VSliderTrack.mjs.map +1 -1
- package/lib/components/VSlider/VSliderTrack.sass +0 -2
- package/lib/components/VSlider/slider.mjs +4 -4
- package/lib/components/VSlider/slider.mjs.map +1 -1
- package/lib/components/VSnackbar/VSnackbar.css +5 -5
- package/lib/components/VSnackbar/VSnackbar.mjs +49 -49
- package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
- package/lib/components/VSnackbar/VSnackbar.sass +0 -1
- package/lib/components/VSnackbar/_variables.scss +2 -0
- package/lib/components/VSwitch/VSwitch.css +7 -0
- package/lib/components/VSwitch/VSwitch.mjs +8 -2
- package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
- package/lib/components/VSwitch/VSwitch.sass +6 -1
- 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/VSystemBar.sass +0 -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 -1
- package/lib/components/VTable/_variables.scss +2 -0
- package/lib/components/VTabs/VTab.css +3 -1
- 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/VTabs.sass +0 -1
- package/lib/components/VTabs/_variables.scss +2 -0
- package/lib/components/VTextField/VTextField.mjs +25 -13
- package/lib/components/VTextField/VTextField.mjs.map +1 -1
- package/lib/components/VTextField/VTextField.sass +0 -1
- package/lib/components/VTextField/_variables.scss +1 -1
- package/lib/components/VTextarea/VTextarea.mjs +22 -12
- package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
- package/lib/components/VTextarea/VTextarea.sass +0 -2
- package/lib/components/VTextarea/_variables.scss +1 -0
- package/lib/components/VTimeline/VTimeline.mjs +24 -25
- package/lib/components/VTimeline/VTimeline.mjs.map +1 -1
- package/lib/components/VTimeline/VTimeline.sass +3 -3
- package/lib/components/VTimeline/VTimelineDivider.mjs +41 -38
- package/lib/components/VTimeline/VTimelineDivider.mjs.map +1 -1
- package/lib/components/VTimeline/VTimelineItem.mjs +10 -11
- package/lib/components/VTimeline/VTimelineItem.mjs.map +1 -1
- package/lib/components/VTimeline/_variables.scss +11 -6
- package/lib/components/VToolbar/VToolbar.css +15 -6
- package/lib/components/VToolbar/VToolbar.mjs +9 -9
- package/lib/components/VToolbar/VToolbar.mjs.map +1 -1
- package/lib/components/VToolbar/VToolbar.sass +15 -7
- package/lib/components/VToolbar/VToolbarItems.mjs +12 -8
- package/lib/components/VToolbar/VToolbarItems.mjs.map +1 -1
- package/lib/components/VToolbar/_variables.scss +6 -2
- package/lib/components/VTooltip/VTooltip.mjs +41 -39
- package/lib/components/VTooltip/VTooltip.mjs.map +1 -1
- package/lib/components/VTooltip/VTooltip.sass +0 -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/VWindow.sass +0 -2
- package/lib/components/VWindow/VWindowItem.mjs +21 -11
- package/lib/components/VWindow/VWindowItem.mjs.map +1 -1
- package/lib/components/VWindow/_variables.scss +1 -0
- package/lib/components/index.d.ts +7316 -2666
- 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/display.mjs +13 -11
- package/lib/composables/display.mjs.map +1 -1
- package/lib/composables/form.mjs +6 -6
- package/lib/composables/form.mjs.map +1 -1
- package/lib/composables/group.mjs.map +1 -1
- package/lib/composables/items.mjs +2 -2
- package/lib/composables/items.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/size.mjs +2 -2
- package/lib/composables/size.mjs.map +1 -1
- package/lib/composables/ssrBoot.mjs +3 -2
- package/lib/composables/ssrBoot.mjs.map +1 -1
- package/lib/composables/stack.mjs +7 -7
- package/lib/composables/stack.mjs.map +1 -1
- package/lib/composables/theme.mjs +15 -6
- package/lib/composables/theme.mjs.map +1 -1
- package/lib/composables/validation.mjs +15 -8
- package/lib/composables/validation.mjs.map +1 -1
- package/lib/composables/variant.mjs +7 -5
- package/lib/composables/variant.mjs.map +1 -1
- package/lib/directives/ripple/VRipple.sass +0 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/framework.mjs +29 -7
- package/lib/framework.mjs.map +1 -1
- package/lib/index.d.ts +68 -70
- package/lib/styles/generic/_transitions.scss +13 -77
- package/lib/styles/main.css +44 -58
- package/lib/styles/tools/_variant.sass +6 -6
- package/lib/util/anchor.mjs +34 -28
- 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/getCurrentInstance.mjs +19 -0
- package/lib/util/getCurrentInstance.mjs.map +1 -1
- package/lib/util/helpers.mjs +21 -5
- package/lib/util/helpers.mjs.map +1 -1
- package/package.json +16 -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/presets/default/index.mjs +0 -71
- package/lib/presets/default/index.mjs.map +0 -1
|
@@ -5,16 +5,16 @@ import "./VSlideGroup.css"; // Components
|
|
|
5
5
|
import { VFadeTransition } from "../transitions/index.mjs";
|
|
6
6
|
import { VIcon } from "../VIcon/index.mjs"; // Composables
|
|
7
7
|
|
|
8
|
+
import { IconValue } from "../../composables/icons.mjs";
|
|
8
9
|
import { makeGroupProps, useGroup } from "../../composables/group.mjs";
|
|
9
10
|
import { makeTagProps } from "../../composables/tag.mjs";
|
|
10
11
|
import { useDisplay } from "../../composables/index.mjs";
|
|
11
12
|
import { useResizeObserver } from "../../composables/resizeObserver.mjs";
|
|
12
|
-
import { useRtl } from "../../composables/rtl.mjs";
|
|
13
|
-
import { IconValue } from "../../composables/icons.mjs"; // Utilities
|
|
13
|
+
import { useRtl } from "../../composables/rtl.mjs"; // Utilities
|
|
14
14
|
|
|
15
15
|
import { bias, calculateCenteredOffset, calculateUpdatedOffset } from "./helpers.mjs";
|
|
16
|
-
import { clamp, defineComponent, useRender } from "../../util/index.mjs";
|
|
17
|
-
import { computed, ref, watch
|
|
16
|
+
import { clamp, defineComponent, IN_BROWSER, useRender } from "../../util/index.mjs";
|
|
17
|
+
import { computed, ref, watch } from 'vue'; // Types
|
|
18
18
|
|
|
19
19
|
export const VSlideGroupSymbol = Symbol.for('vuetify:v-slide-group');
|
|
20
20
|
export const VSlideGroup = defineComponent({
|
|
@@ -74,13 +74,6 @@ export const VSlideGroup = defineComponent({
|
|
|
74
74
|
resizeRef: contentRef,
|
|
75
75
|
contentRect
|
|
76
76
|
} = useResizeObserver();
|
|
77
|
-
watchEffect(() => {
|
|
78
|
-
if (!containerRect.value || !contentRect.value) return;
|
|
79
|
-
const sizeProperty = isHorizontal.value ? 'width' : 'height';
|
|
80
|
-
containerSize.value = containerRect.value[sizeProperty];
|
|
81
|
-
contentSize.value = contentRect.value[sizeProperty];
|
|
82
|
-
isOverflowing.value = containerSize.value + 1 < contentSize.value;
|
|
83
|
-
});
|
|
84
77
|
const firstSelectedIndex = computed(() => {
|
|
85
78
|
if (!group.selected.value.length) return -1;
|
|
86
79
|
return group.items.value.findIndex(item => item.id === group.selected.value[0]);
|
|
@@ -89,46 +82,48 @@ export const VSlideGroup = defineComponent({
|
|
|
89
82
|
if (!group.selected.value.length) return -1;
|
|
90
83
|
return group.items.value.findIndex(item => item.id === group.selected.value[group.selected.value.length - 1]);
|
|
91
84
|
});
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
85
|
+
|
|
86
|
+
if (IN_BROWSER) {
|
|
87
|
+
let frame = -1;
|
|
88
|
+
watch(() => [group.selected.value, containerRect.value, contentRect.value, isHorizontal.value], () => {
|
|
89
|
+
cancelAnimationFrame(frame);
|
|
90
|
+
frame = requestAnimationFrame(() => {
|
|
91
|
+
if (containerRect.value && contentRect.value) {
|
|
92
|
+
const sizeProperty = isHorizontal.value ? 'width' : 'height';
|
|
93
|
+
containerSize.value = containerRect.value[sizeProperty];
|
|
94
|
+
contentSize.value = contentRect.value[sizeProperty];
|
|
95
|
+
isOverflowing.value = containerSize.value + 1 < contentSize.value;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
if (firstSelectedIndex.value >= 0 && contentRef.value) {
|
|
99
|
+
// TODO: Is this too naive? Should we store element references in group composable?
|
|
100
|
+
const selectedElement = contentRef.value.children[lastSelectedIndex.value];
|
|
101
|
+
|
|
102
|
+
if (firstSelectedIndex.value === 0 || !isOverflowing.value) {
|
|
103
|
+
scrollOffset.value = 0;
|
|
104
|
+
} else if (props.centerActive) {
|
|
105
|
+
scrollOffset.value = calculateCenteredOffset({
|
|
106
|
+
selectedElement,
|
|
107
|
+
containerSize: containerSize.value,
|
|
108
|
+
contentSize: contentSize.value,
|
|
109
|
+
isRtl: isRtl.value,
|
|
110
|
+
isHorizontal: isHorizontal.value
|
|
111
|
+
});
|
|
112
|
+
} else if (isOverflowing.value) {
|
|
113
|
+
scrollOffset.value = calculateUpdatedOffset({
|
|
114
|
+
selectedElement,
|
|
115
|
+
containerSize: containerSize.value,
|
|
116
|
+
contentSize: contentSize.value,
|
|
117
|
+
isRtl: isRtl.value,
|
|
118
|
+
currentScrollOffset: scrollOffset.value,
|
|
119
|
+
isHorizontal: isHorizontal.value
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
}
|
|
115
123
|
});
|
|
116
|
-
}
|
|
117
|
-
});
|
|
118
|
-
let firstOverflow = true;
|
|
119
|
-
watch(isOverflowing, () => {
|
|
120
|
-
if (!firstOverflow || !contentRef.value || firstSelectedIndex.value < 0) return;
|
|
121
|
-
firstOverflow = false; // TODO: Is this too naive? Should we store element references in group composable?
|
|
122
|
-
|
|
123
|
-
const selectedElement = contentRef.value.children[firstSelectedIndex.value];
|
|
124
|
-
scrollOffset.value = calculateCenteredOffset({
|
|
125
|
-
selectedElement,
|
|
126
|
-
containerSize: containerSize.value,
|
|
127
|
-
contentSize: contentSize.value,
|
|
128
|
-
isRtl: isRtl.value,
|
|
129
|
-
isHorizontal: isHorizontal.value
|
|
130
124
|
});
|
|
131
|
-
}
|
|
125
|
+
}
|
|
126
|
+
|
|
132
127
|
const disableTransition = ref(false);
|
|
133
128
|
let startTouch = 0;
|
|
134
129
|
let startOffset = 0;
|
|
@@ -315,6 +310,7 @@ export const VSlideGroup = defineComponent({
|
|
|
315
310
|
"onFocus": onFocus
|
|
316
311
|
}, {
|
|
317
312
|
default: () => [hasAffixes.value && _createVNode("div", {
|
|
313
|
+
"key": "prev",
|
|
318
314
|
"class": ['v-slide-group__prev', {
|
|
319
315
|
'v-slide-group__prev--disabled': !hasPrev.value
|
|
320
316
|
}],
|
|
@@ -324,6 +320,7 @@ export const VSlideGroup = defineComponent({
|
|
|
324
320
|
"icon": props.prevIcon
|
|
325
321
|
}, null)]
|
|
326
322
|
})]), _createVNode("div", {
|
|
323
|
+
"key": "container",
|
|
327
324
|
"ref": containerRef,
|
|
328
325
|
"class": "v-slide-group__container",
|
|
329
326
|
"onScroll": onScroll
|
|
@@ -338,6 +335,7 @@ export const VSlideGroup = defineComponent({
|
|
|
338
335
|
"onFocusout": onFocusout,
|
|
339
336
|
"onKeydown": onKeydown
|
|
340
337
|
}, [(_slots$default = slots.default) == null ? void 0 : _slots$default.call(slots, slotProps.value)])]), hasAffixes.value && _createVNode("div", {
|
|
338
|
+
"key": "next",
|
|
341
339
|
"class": ['v-slide-group__next', {
|
|
342
340
|
'v-slide-group__next--disabled': !hasNext.value
|
|
343
341
|
}],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VSlideGroup.mjs","names":["VFadeTransition","VIcon","makeGroupProps","useGroup","makeTagProps","useDisplay","useResizeObserver","useRtl","IconValue","bias","calculateCenteredOffset","calculateUpdatedOffset","clamp","defineComponent","useRender","computed","ref","watch","watchEffect","VSlideGroupSymbol","Symbol","for","VSlideGroup","name","props","centerActive","Boolean","direction","type","String","default","symbol","nextIcon","prevIcon","showArrows","validator","v","includes","selectedClass","emits","value","setup","slots","isRtl","mobile","group","isOverflowing","scrollOffset","containerSize","contentSize","isHorizontal","resizeRef","containerRef","contentRect","containerRect","contentRef","sizeProperty","firstSelectedIndex","selected","length","items","findIndex","item","id","lastSelectedIndex","selectedElement","children","currentScrollOffset","firstOverflow","disableTransition","startTouch","startOffset","onTouchstart","e","touches","onTouchmove","onTouchend","maxScrollOffset","onScroll","scrollLeft","isFocused","onFocusin","el","composedPath","onFocusout","onFocus","relatedTarget","contains","focus","onKeydown","key","location","querySelector","focusable","querySelectorAll","filter","hasAttribute","nextElementSibling","previousElementSibling","firstElementChild","lastElementChild","scrollTo","sign","newAbosluteOffset","contentStyles","scrollAmount","transform","transition","willChange","slotProps","next","prev","select","isSelected","hasAffixes","Math","abs","hasPrev","hasNext"],"sources":["../../../src/components/VSlideGroup/VSlideGroup.tsx"],"sourcesContent":["// Styles\nimport './VSlideGroup.sass'\n\n// Components\nimport { VFadeTransition } from '@/components/transitions'\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { makeGroupProps, useGroup } from '@/composables/group'\nimport { makeTagProps } from '@/composables/tag'\nimport { useDisplay } from '@/composables'\nimport { useResizeObserver } from '@/composables/resizeObserver'\nimport { useRtl } from '@/composables/rtl'\nimport { IconValue } from '@/composables/icons'\n\n// Utilities\nimport { bias, calculateCenteredOffset, calculateUpdatedOffset } from './helpers'\nimport { clamp, defineComponent, useRender } from '@/util'\nimport { computed, ref, watch, watchEffect } from 'vue'\n\n// Types\nimport type { GroupProvide } from '@/composables/group'\nimport type { InjectionKey } from 'vue'\n\nexport const VSlideGroupSymbol: InjectionKey<GroupProvide> = Symbol.for('vuetify:v-slide-group')\n\nexport const VSlideGroup = defineComponent({\n name: 'VSlideGroup',\n\n props: {\n centerActive: Boolean,\n direction: {\n type: String,\n default: 'horizontal',\n },\n symbol: {\n type: null,\n default: VSlideGroupSymbol,\n },\n nextIcon: {\n type: IconValue,\n default: '$next',\n },\n prevIcon: {\n type: IconValue,\n default: '$prev',\n },\n showArrows: {\n type: [Boolean, String],\n validator: (v: any) => (\n typeof v === 'boolean' || [\n 'always',\n 'desktop',\n 'mobile',\n ].includes(v)\n ),\n },\n ...makeTagProps(),\n ...makeGroupProps({\n selectedClass: 'v-slide-group-item--active',\n }),\n },\n\n emits: {\n 'update:modelValue': (value: any) => true,\n },\n\n setup (props, { slots }) {\n const { isRtl } = useRtl()\n const { mobile } = useDisplay()\n const group = useGroup(props, props.symbol)\n const isOverflowing = ref(false)\n const scrollOffset = ref(0)\n const containerSize = ref(0)\n const contentSize = ref(0)\n const isHorizontal = computed(() => props.direction === 'horizontal')\n\n const { resizeRef: containerRef, contentRect: containerRect } = useResizeObserver()\n const { resizeRef: contentRef, contentRect } = useResizeObserver()\n\n watchEffect(() => {\n if (!containerRect.value || !contentRect.value) return\n\n const sizeProperty = isHorizontal.value ? 'width' : 'height'\n\n containerSize.value = containerRect.value[sizeProperty]\n contentSize.value = contentRect.value[sizeProperty]\n\n isOverflowing.value = containerSize.value + 1 < contentSize.value\n })\n\n const firstSelectedIndex = computed(() => {\n if (!group.selected.value.length) return -1\n\n return group.items.value.findIndex(item => item.id === group.selected.value[0])\n })\n\n const lastSelectedIndex = computed(() => {\n if (!group.selected.value.length) return -1\n\n return group.items.value.findIndex(item => item.id === group.selected.value[group.selected.value.length - 1])\n })\n\n watch(group.selected, () => {\n if (firstSelectedIndex.value < 0 || !contentRef.value) return\n\n // TODO: Is this too naive? Should we store element references in group composable?\n const selectedElement = contentRef.value.children[lastSelectedIndex.value] as HTMLElement\n\n if (firstSelectedIndex.value === 0 || !isOverflowing.value) {\n scrollOffset.value = 0\n } else if (props.centerActive) {\n scrollOffset.value = calculateCenteredOffset({\n selectedElement,\n containerSize: containerSize.value,\n contentSize: contentSize.value,\n isRtl: isRtl.value,\n isHorizontal: isHorizontal.value,\n })\n } else if (isOverflowing.value) {\n scrollOffset.value = calculateUpdatedOffset({\n selectedElement,\n containerSize: containerSize.value,\n contentSize: contentSize.value,\n isRtl: isRtl.value,\n currentScrollOffset: scrollOffset.value,\n isHorizontal: isHorizontal.value,\n })\n }\n })\n\n let firstOverflow = true\n watch(isOverflowing, () => {\n if (!firstOverflow || !contentRef.value || firstSelectedIndex.value < 0) return\n\n firstOverflow = false\n\n // TODO: Is this too naive? Should we store element references in group composable?\n const selectedElement = contentRef.value.children[firstSelectedIndex.value] as HTMLElement\n\n scrollOffset.value = calculateCenteredOffset({\n selectedElement,\n containerSize: containerSize.value,\n contentSize: contentSize.value,\n isRtl: isRtl.value,\n isHorizontal: isHorizontal.value,\n })\n })\n\n const disableTransition = ref(false)\n\n let startTouch = 0\n let startOffset = 0\n\n function onTouchstart (e: TouchEvent) {\n const sizeProperty = isHorizontal.value ? 'clientX' : 'clientY'\n startOffset = scrollOffset.value\n startTouch = e.touches[0][sizeProperty]\n disableTransition.value = true\n }\n\n function onTouchmove (e: TouchEvent) {\n if (!isOverflowing.value) return\n\n const sizeProperty = isHorizontal.value ? 'clientX' : 'clientY'\n scrollOffset.value = startOffset + startTouch - e.touches[0][sizeProperty]\n }\n\n function onTouchend (e: TouchEvent) {\n const maxScrollOffset = contentSize.value - containerSize.value\n\n if (isRtl.value) {\n if (scrollOffset.value > 0 || !isOverflowing.value) {\n scrollOffset.value = 0\n } else if (scrollOffset.value <= -maxScrollOffset) {\n scrollOffset.value = -maxScrollOffset\n }\n } else {\n if (scrollOffset.value < 0 || !isOverflowing.value) {\n scrollOffset.value = 0\n } else if (scrollOffset.value >= maxScrollOffset) {\n scrollOffset.value = maxScrollOffset\n }\n }\n\n disableTransition.value = false\n }\n\n function onScroll () {\n containerRef.value && (containerRef.value.scrollLeft = 0)\n }\n\n const isFocused = ref(false)\n function onFocusin (e: FocusEvent) {\n isFocused.value = true\n\n if (!isOverflowing.value || !contentRef.value) return\n\n // Focused element is likely to be the root of an item, so a\n // breadth-first search will probably find it in the first iteration\n for (const el of e.composedPath()) {\n for (const item of contentRef.value.children) {\n if (item === el) {\n scrollOffset.value = calculateUpdatedOffset({\n selectedElement: item as HTMLElement,\n containerSize: containerSize.value,\n contentSize: contentSize.value,\n isRtl: isRtl.value,\n currentScrollOffset: scrollOffset.value,\n isHorizontal: isHorizontal.value,\n })\n return\n }\n }\n }\n }\n\n function onFocusout (e: FocusEvent) {\n isFocused.value = false\n }\n\n function onFocus (e: FocusEvent) {\n if (\n !isFocused.value &&\n !(e.relatedTarget && contentRef.value?.contains(e.relatedTarget as Node))\n ) focus()\n }\n\n function onKeydown (e: KeyboardEvent) {\n if (!contentRef.value) return\n\n if (e.key === (isHorizontal.value ? 'ArrowRight' : 'ArrowDown')) {\n focus('next')\n } else if (e.key === (isHorizontal.value ? 'ArrowLeft' : 'ArrowUp')) {\n focus('prev')\n } else if (e.key === 'Home') {\n focus('first')\n } else if (e.key === 'End') {\n focus('last')\n }\n }\n\n function focus (location?: 'next' | 'prev' | 'first' | 'last') {\n if (!contentRef.value) return\n\n if (!location) {\n contentRef.value.querySelector('[tabindex]')\n const focusable = [...contentRef.value.querySelectorAll(\n 'button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])'\n )].filter(el => !el.hasAttribute('disabled')) as HTMLElement[]\n focusable[0]?.focus()\n } else if (location === 'next') {\n const el = contentRef.value.querySelector(':focus')?.nextElementSibling as HTMLElement | undefined\n if (el) el.focus()\n else focus('first')\n } else if (location === 'prev') {\n const el = contentRef.value.querySelector(':focus')?.previousElementSibling as HTMLElement | undefined\n if (el) el.focus()\n else focus('last')\n } else if (location === 'first') {\n (contentRef.value.firstElementChild as HTMLElement)?.focus()\n } else if (location === 'last') {\n (contentRef.value.lastElementChild as HTMLElement)?.focus()\n }\n }\n\n function scrollTo (location: 'prev' | 'next') {\n const sign = isRtl.value ? -1 : 1\n const newAbosluteOffset = sign * scrollOffset.value +\n (location === 'prev' ? -1 : 1) * containerSize.value\n\n scrollOffset.value = sign * clamp(newAbosluteOffset, 0, contentSize.value - containerSize.value)\n }\n\n const contentStyles = computed(() => {\n const scrollAmount = scrollOffset.value <= 0\n ? bias(-scrollOffset.value)\n : scrollOffset.value > contentSize.value - containerSize.value\n ? -(contentSize.value - containerSize.value) + bias(contentSize.value - containerSize.value - scrollOffset.value)\n : -scrollOffset.value\n\n return {\n transform: `translate${isHorizontal.value ? 'X' : 'Y'}(${scrollAmount}px)`,\n transition: disableTransition.value ? 'none' : '',\n willChange: disableTransition.value ? 'transform' : '',\n }\n })\n\n const slotProps = computed(() => ({\n next: group.next,\n prev: group.prev,\n select: group.select,\n isSelected: group.isSelected,\n }))\n\n const hasAffixes = computed(() => {\n switch (props.showArrows) {\n // Always show arrows on desktop & mobile\n case 'always': return true\n\n // Always show arrows on desktop\n case 'desktop': return !mobile.value\n\n // Show arrows on mobile when overflowing.\n // This matches the default 2.2 behavior\n case true: return isOverflowing.value || Math.abs(scrollOffset.value) > 0\n\n // Always show on mobile\n case 'mobile': return (\n mobile.value ||\n (isOverflowing.value || Math.abs(scrollOffset.value) > 0)\n )\n\n // https://material.io/components/tabs#scrollable-tabs\n // Always show arrows when\n // overflowed on desktop\n default: return (\n !mobile.value &&\n (isOverflowing.value || Math.abs(scrollOffset.value) > 0)\n )\n }\n })\n\n const hasPrev = computed(() => {\n return hasAffixes.value && scrollOffset.value > 0\n })\n\n const hasNext = computed(() => {\n if (!hasAffixes.value) return false\n\n // Check one scroll ahead to know the width of right-most item\n return contentSize.value > Math.abs(scrollOffset.value) + containerSize.value\n })\n\n useRender(() => (\n <props.tag\n class={[\n 'v-slide-group',\n {\n 'v-slide-group--vertical': !isHorizontal.value,\n 'v-slide-group--has-affixes': hasAffixes.value,\n 'v-slide-group--is-overflowing': isOverflowing.value,\n },\n ]}\n tabindex={ (isFocused.value || group.selected.value.length) ? -1 : 0 }\n onFocus={ onFocus }\n >\n { hasAffixes.value && (\n <div\n class={[\n 'v-slide-group__prev',\n { 'v-slide-group__prev--disabled': !hasPrev.value },\n ]}\n onClick={ () => scrollTo('prev') }\n >\n { slots.prev?.(slotProps.value) ?? (\n <VFadeTransition>\n <VIcon icon={ props.prevIcon }></VIcon>\n </VFadeTransition>\n ) }\n </div>\n ) }\n\n <div\n ref={ containerRef }\n class=\"v-slide-group__container\"\n onScroll={ onScroll }\n >\n <div\n ref={ contentRef }\n class=\"v-slide-group__content\"\n style={ contentStyles.value }\n onTouchstartPassive={ onTouchstart }\n onTouchmovePassive={ onTouchmove }\n onTouchendPassive={ onTouchend }\n onFocusin={ onFocusin }\n onFocusout={ onFocusout }\n onKeydown={ onKeydown }\n >\n { slots.default?.(slotProps.value) }\n </div>\n </div>\n\n { hasAffixes.value && (\n <div\n class={[\n 'v-slide-group__next',\n { 'v-slide-group__next--disabled': !hasNext.value },\n ]}\n onClick={ () => scrollTo('next') }\n >\n { slots.next?.(slotProps.value) ?? (\n <VFadeTransition>\n <VIcon icon={ props.nextIcon }></VIcon>\n </VFadeTransition>\n ) }\n </div>\n ) }\n </props.tag>\n ))\n\n return {\n selected: group.selected,\n scrollTo,\n scrollOffset,\n focus,\n }\n },\n})\n\nexport type VSlideGroup = InstanceType<typeof VSlideGroup>\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"VSlideGroup.mjs","names":["VFadeTransition","VIcon","IconValue","makeGroupProps","useGroup","makeTagProps","useDisplay","useResizeObserver","useRtl","bias","calculateCenteredOffset","calculateUpdatedOffset","clamp","defineComponent","IN_BROWSER","useRender","computed","ref","watch","VSlideGroupSymbol","Symbol","for","VSlideGroup","name","props","centerActive","Boolean","direction","type","String","default","symbol","nextIcon","prevIcon","showArrows","validator","v","includes","selectedClass","emits","value","setup","slots","isRtl","mobile","group","isOverflowing","scrollOffset","containerSize","contentSize","isHorizontal","resizeRef","containerRef","contentRect","containerRect","contentRef","firstSelectedIndex","selected","length","items","findIndex","item","id","lastSelectedIndex","frame","cancelAnimationFrame","requestAnimationFrame","sizeProperty","selectedElement","children","currentScrollOffset","disableTransition","startTouch","startOffset","onTouchstart","e","touches","onTouchmove","onTouchend","maxScrollOffset","onScroll","scrollLeft","isFocused","onFocusin","el","composedPath","onFocusout","onFocus","relatedTarget","contains","focus","onKeydown","key","location","querySelector","focusable","querySelectorAll","filter","hasAttribute","nextElementSibling","previousElementSibling","firstElementChild","lastElementChild","scrollTo","sign","newAbosluteOffset","contentStyles","scrollAmount","transform","transition","willChange","slotProps","next","prev","select","isSelected","hasAffixes","Math","abs","hasPrev","hasNext"],"sources":["../../../src/components/VSlideGroup/VSlideGroup.tsx"],"sourcesContent":["// Styles\nimport './VSlideGroup.sass'\n\n// Components\nimport { VFadeTransition } from '@/components/transitions'\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { IconValue } from '@/composables/icons'\nimport { makeGroupProps, useGroup } from '@/composables/group'\nimport { makeTagProps } from '@/composables/tag'\nimport { useDisplay } from '@/composables'\nimport { useResizeObserver } from '@/composables/resizeObserver'\nimport { useRtl } from '@/composables/rtl'\n\n// Utilities\nimport { bias, calculateCenteredOffset, calculateUpdatedOffset } from './helpers'\nimport { clamp, defineComponent, IN_BROWSER, useRender } from '@/util'\nimport { computed, ref, watch } from 'vue'\n\n// Types\nimport type { GroupProvide } from '@/composables/group'\nimport type { InjectionKey } from 'vue'\n\nexport const VSlideGroupSymbol: InjectionKey<GroupProvide> = Symbol.for('vuetify:v-slide-group')\n\nexport const VSlideGroup = defineComponent({\n name: 'VSlideGroup',\n\n props: {\n centerActive: Boolean,\n direction: {\n type: String,\n default: 'horizontal',\n },\n symbol: {\n type: null,\n default: VSlideGroupSymbol,\n },\n nextIcon: {\n type: IconValue,\n default: '$next',\n },\n prevIcon: {\n type: IconValue,\n default: '$prev',\n },\n showArrows: {\n type: [Boolean, String],\n validator: (v: any) => (\n typeof v === 'boolean' || [\n 'always',\n 'desktop',\n 'mobile',\n ].includes(v)\n ),\n },\n\n ...makeTagProps(),\n ...makeGroupProps({\n selectedClass: 'v-slide-group-item--active',\n }),\n },\n\n emits: {\n 'update:modelValue': (value: any) => true,\n },\n\n setup (props, { slots }) {\n const { isRtl } = useRtl()\n const { mobile } = useDisplay()\n const group = useGroup(props, props.symbol)\n const isOverflowing = ref(false)\n const scrollOffset = ref(0)\n const containerSize = ref(0)\n const contentSize = ref(0)\n const isHorizontal = computed(() => props.direction === 'horizontal')\n\n const { resizeRef: containerRef, contentRect: containerRect } = useResizeObserver()\n const { resizeRef: contentRef, contentRect } = useResizeObserver()\n\n const firstSelectedIndex = computed(() => {\n if (!group.selected.value.length) return -1\n\n return group.items.value.findIndex(item => item.id === group.selected.value[0])\n })\n\n const lastSelectedIndex = computed(() => {\n if (!group.selected.value.length) return -1\n\n return group.items.value.findIndex(item => item.id === group.selected.value[group.selected.value.length - 1])\n })\n\n if (IN_BROWSER) {\n let frame = -1\n watch(() => [group.selected.value, containerRect.value, contentRect.value, isHorizontal.value], () => {\n cancelAnimationFrame(frame)\n frame = requestAnimationFrame(() => {\n if (containerRect.value && contentRect.value) {\n const sizeProperty = isHorizontal.value ? 'width' : 'height'\n\n containerSize.value = containerRect.value[sizeProperty]\n contentSize.value = contentRect.value[sizeProperty]\n\n isOverflowing.value = containerSize.value + 1 < contentSize.value\n }\n\n if (firstSelectedIndex.value >= 0 && contentRef.value) {\n // TODO: Is this too naive? Should we store element references in group composable?\n const selectedElement = contentRef.value.children[lastSelectedIndex.value] as HTMLElement\n\n if (firstSelectedIndex.value === 0 || !isOverflowing.value) {\n scrollOffset.value = 0\n } else if (props.centerActive) {\n scrollOffset.value = calculateCenteredOffset({\n selectedElement,\n containerSize: containerSize.value,\n contentSize: contentSize.value,\n isRtl: isRtl.value,\n isHorizontal: isHorizontal.value,\n })\n } else if (isOverflowing.value) {\n scrollOffset.value = calculateUpdatedOffset({\n selectedElement,\n containerSize: containerSize.value,\n contentSize: contentSize.value,\n isRtl: isRtl.value,\n currentScrollOffset: scrollOffset.value,\n isHorizontal: isHorizontal.value,\n })\n }\n }\n })\n })\n }\n\n const disableTransition = ref(false)\n\n let startTouch = 0\n let startOffset = 0\n\n function onTouchstart (e: TouchEvent) {\n const sizeProperty = isHorizontal.value ? 'clientX' : 'clientY'\n startOffset = scrollOffset.value\n startTouch = e.touches[0][sizeProperty]\n disableTransition.value = true\n }\n\n function onTouchmove (e: TouchEvent) {\n if (!isOverflowing.value) return\n\n const sizeProperty = isHorizontal.value ? 'clientX' : 'clientY'\n scrollOffset.value = startOffset + startTouch - e.touches[0][sizeProperty]\n }\n\n function onTouchend (e: TouchEvent) {\n const maxScrollOffset = contentSize.value - containerSize.value\n\n if (isRtl.value) {\n if (scrollOffset.value > 0 || !isOverflowing.value) {\n scrollOffset.value = 0\n } else if (scrollOffset.value <= -maxScrollOffset) {\n scrollOffset.value = -maxScrollOffset\n }\n } else {\n if (scrollOffset.value < 0 || !isOverflowing.value) {\n scrollOffset.value = 0\n } else if (scrollOffset.value >= maxScrollOffset) {\n scrollOffset.value = maxScrollOffset\n }\n }\n\n disableTransition.value = false\n }\n\n function onScroll () {\n containerRef.value && (containerRef.value.scrollLeft = 0)\n }\n\n const isFocused = ref(false)\n function onFocusin (e: FocusEvent) {\n isFocused.value = true\n\n if (!isOverflowing.value || !contentRef.value) return\n\n // Focused element is likely to be the root of an item, so a\n // breadth-first search will probably find it in the first iteration\n for (const el of e.composedPath()) {\n for (const item of contentRef.value.children) {\n if (item === el) {\n scrollOffset.value = calculateUpdatedOffset({\n selectedElement: item as HTMLElement,\n containerSize: containerSize.value,\n contentSize: contentSize.value,\n isRtl: isRtl.value,\n currentScrollOffset: scrollOffset.value,\n isHorizontal: isHorizontal.value,\n })\n return\n }\n }\n }\n }\n\n function onFocusout (e: FocusEvent) {\n isFocused.value = false\n }\n\n function onFocus (e: FocusEvent) {\n if (\n !isFocused.value &&\n !(e.relatedTarget && contentRef.value?.contains(e.relatedTarget as Node))\n ) focus()\n }\n\n function onKeydown (e: KeyboardEvent) {\n if (!contentRef.value) return\n\n if (e.key === (isHorizontal.value ? 'ArrowRight' : 'ArrowDown')) {\n focus('next')\n } else if (e.key === (isHorizontal.value ? 'ArrowLeft' : 'ArrowUp')) {\n focus('prev')\n } else if (e.key === 'Home') {\n focus('first')\n } else if (e.key === 'End') {\n focus('last')\n }\n }\n\n function focus (location?: 'next' | 'prev' | 'first' | 'last') {\n if (!contentRef.value) return\n\n if (!location) {\n contentRef.value.querySelector('[tabindex]')\n const focusable = [...contentRef.value.querySelectorAll(\n 'button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])'\n )].filter(el => !el.hasAttribute('disabled')) as HTMLElement[]\n focusable[0]?.focus()\n } else if (location === 'next') {\n const el = contentRef.value.querySelector(':focus')?.nextElementSibling as HTMLElement | undefined\n if (el) el.focus()\n else focus('first')\n } else if (location === 'prev') {\n const el = contentRef.value.querySelector(':focus')?.previousElementSibling as HTMLElement | undefined\n if (el) el.focus()\n else focus('last')\n } else if (location === 'first') {\n (contentRef.value.firstElementChild as HTMLElement)?.focus()\n } else if (location === 'last') {\n (contentRef.value.lastElementChild as HTMLElement)?.focus()\n }\n }\n\n function scrollTo (location: 'prev' | 'next') {\n const sign = isRtl.value ? -1 : 1\n const newAbosluteOffset = sign * scrollOffset.value +\n (location === 'prev' ? -1 : 1) * containerSize.value\n\n scrollOffset.value = sign * clamp(newAbosluteOffset, 0, contentSize.value - containerSize.value)\n }\n\n const contentStyles = computed(() => {\n const scrollAmount = scrollOffset.value <= 0\n ? bias(-scrollOffset.value)\n : scrollOffset.value > contentSize.value - containerSize.value\n ? -(contentSize.value - containerSize.value) + bias(contentSize.value - containerSize.value - scrollOffset.value)\n : -scrollOffset.value\n\n return {\n transform: `translate${isHorizontal.value ? 'X' : 'Y'}(${scrollAmount}px)`,\n transition: disableTransition.value ? 'none' : '',\n willChange: disableTransition.value ? 'transform' : '',\n }\n })\n\n const slotProps = computed(() => ({\n next: group.next,\n prev: group.prev,\n select: group.select,\n isSelected: group.isSelected,\n }))\n\n const hasAffixes = computed(() => {\n switch (props.showArrows) {\n // Always show arrows on desktop & mobile\n case 'always': return true\n\n // Always show arrows on desktop\n case 'desktop': return !mobile.value\n\n // Show arrows on mobile when overflowing.\n // This matches the default 2.2 behavior\n case true: return isOverflowing.value || Math.abs(scrollOffset.value) > 0\n\n // Always show on mobile\n case 'mobile': return (\n mobile.value ||\n (isOverflowing.value || Math.abs(scrollOffset.value) > 0)\n )\n\n // https://material.io/components/tabs#scrollable-tabs\n // Always show arrows when\n // overflowed on desktop\n default: return (\n !mobile.value &&\n (isOverflowing.value || Math.abs(scrollOffset.value) > 0)\n )\n }\n })\n\n const hasPrev = computed(() => {\n return hasAffixes.value && scrollOffset.value > 0\n })\n\n const hasNext = computed(() => {\n if (!hasAffixes.value) return false\n\n // Check one scroll ahead to know the width of right-most item\n return contentSize.value > Math.abs(scrollOffset.value) + containerSize.value\n })\n\n useRender(() => (\n <props.tag\n class={[\n 'v-slide-group',\n {\n 'v-slide-group--vertical': !isHorizontal.value,\n 'v-slide-group--has-affixes': hasAffixes.value,\n 'v-slide-group--is-overflowing': isOverflowing.value,\n },\n ]}\n tabindex={ (isFocused.value || group.selected.value.length) ? -1 : 0 }\n onFocus={ onFocus }\n >\n { hasAffixes.value && (\n <div\n key=\"prev\"\n class={[\n 'v-slide-group__prev',\n { 'v-slide-group__prev--disabled': !hasPrev.value },\n ]}\n onClick={ () => scrollTo('prev') }\n >\n { slots.prev?.(slotProps.value) ?? (\n <VFadeTransition>\n <VIcon icon={ props.prevIcon }></VIcon>\n </VFadeTransition>\n ) }\n </div>\n ) }\n\n <div\n key=\"container\"\n ref={ containerRef }\n class=\"v-slide-group__container\"\n onScroll={ onScroll }\n >\n <div\n ref={ contentRef }\n class=\"v-slide-group__content\"\n style={ contentStyles.value }\n onTouchstartPassive={ onTouchstart }\n onTouchmovePassive={ onTouchmove }\n onTouchendPassive={ onTouchend }\n onFocusin={ onFocusin }\n onFocusout={ onFocusout }\n onKeydown={ onKeydown }\n >\n { slots.default?.(slotProps.value) }\n </div>\n </div>\n\n { hasAffixes.value && (\n <div\n key=\"next\"\n class={[\n 'v-slide-group__next',\n { 'v-slide-group__next--disabled': !hasNext.value },\n ]}\n onClick={ () => scrollTo('next') }\n >\n { slots.next?.(slotProps.value) ?? (\n <VFadeTransition>\n <VIcon icon={ props.nextIcon }></VIcon>\n </VFadeTransition>\n ) }\n </div>\n ) }\n </props.tag>\n ))\n\n return {\n selected: group.selected,\n scrollTo,\n scrollOffset,\n focus,\n }\n },\n})\n\nexport type VSlideGroup = InstanceType<typeof VSlideGroup>\n"],"mappings":"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"}
|
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
// Composables
|
|
2
|
-
import { makeGroupItemProps, useGroupItem } from "../../composables/group.mjs";
|
|
3
|
-
import { VSlideGroupSymbol } from "./VSlideGroup.mjs"; // Utilities
|
|
2
|
+
import { makeGroupItemProps, useGroupItem } from "../../composables/group.mjs"; // Utilities
|
|
4
3
|
|
|
5
|
-
import { defineComponent } from "../../util/index.mjs";
|
|
4
|
+
import { defineComponent } from "../../util/index.mjs"; // Types
|
|
5
|
+
|
|
6
|
+
import { VSlideGroupSymbol } from "./VSlideGroup.mjs";
|
|
6
7
|
export const VSlideGroupItem = defineComponent({
|
|
7
8
|
name: 'VSlideGroupItem',
|
|
8
9
|
props: { ...makeGroupItemProps()
|
|
9
10
|
},
|
|
11
|
+
emits: {
|
|
12
|
+
'group:selected': val => true
|
|
13
|
+
},
|
|
10
14
|
|
|
11
15
|
setup(props, _ref) {
|
|
12
16
|
let {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VSlideGroupItem.mjs","names":["makeGroupItemProps","useGroupItem","
|
|
1
|
+
{"version":3,"file":"VSlideGroupItem.mjs","names":["makeGroupItemProps","useGroupItem","defineComponent","VSlideGroupSymbol","VSlideGroupItem","name","props","emits","val","setup","slots","slideGroupItem","default","isSelected","value","select","toggle","selectedClass"],"sources":["../../../src/components/VSlideGroup/VSlideGroupItem.tsx"],"sourcesContent":["// Composables\nimport { makeGroupItemProps, useGroupItem } from '@/composables/group'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\n// Types\nimport { VSlideGroupSymbol } from './VSlideGroup'\n\nexport const VSlideGroupItem = defineComponent({\n name: 'VSlideGroupItem',\n\n props: {\n ...makeGroupItemProps(),\n },\n\n emits: {\n 'group:selected': (val: { value: boolean }) => true,\n },\n\n setup (props, { slots }) {\n const slideGroupItem = useGroupItem(props, VSlideGroupSymbol)\n\n return () => slots.default?.({\n isSelected: slideGroupItem.isSelected.value,\n select: slideGroupItem.select,\n toggle: slideGroupItem.toggle,\n selectedClass: slideGroupItem.selectedClass.value,\n })\n },\n})\n"],"mappings":"AAAA;SACSA,kB,EAAoBC,Y,uCAE7B;;SACSC,e,gCAET;;SACSC,iB;AAET,OAAO,MAAMC,eAAe,GAAGF,eAAe,CAAC;EAC7CG,IAAI,EAAE,iBADuC;EAG7CC,KAAK,EAAE,EACL,GAAGN,kBAAkB;EADhB,CAHsC;EAO7CO,KAAK,EAAE;IACL,kBAAmBC,GAAD,IAA6B;EAD1C,CAPsC;;EAW7CC,KAAK,CAAEH,KAAF,QAAoB;IAAA,IAAX;MAAEI;IAAF,CAAW;IACvB,MAAMC,cAAc,GAAGV,YAAY,CAACK,KAAD,EAAQH,iBAAR,CAAnC;IAEA,OAAO;MAAA;;MAAA,yBAAMO,KAAK,CAACE,OAAZ,qBAAM,oBAAAF,KAAK,EAAW;QAC3BG,UAAU,EAAEF,cAAc,CAACE,UAAf,CAA0BC,KADX;QAE3BC,MAAM,EAAEJ,cAAc,CAACI,MAFI;QAG3BC,MAAM,EAAEL,cAAc,CAACK,MAHI;QAI3BC,aAAa,EAAEN,cAAc,CAACM,aAAf,CAA6BH;MAJjB,CAAX,CAAX;IAAA,CAAP;EAMD;;AApB4C,CAAD,CAAvC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export
|
|
2
|
-
export
|
|
1
|
+
export { VSlideGroup } from "./VSlideGroup.mjs";
|
|
2
|
+
export { VSlideGroupItem } from "./VSlideGroupItem.mjs";
|
|
3
3
|
//# sourceMappingURL=index.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":[],"sources":["../../../src/components/VSlideGroup/index.ts"],"sourcesContent":["export
|
|
1
|
+
{"version":3,"file":"index.mjs","names":["VSlideGroup","VSlideGroupItem"],"sources":["../../../src/components/VSlideGroup/index.ts"],"sourcesContent":["export { VSlideGroup } from './VSlideGroup'\nexport { VSlideGroupItem } from './VSlideGroupItem'\n"],"mappings":"SAASA,W;SACAC,e"}
|
|
@@ -2,18 +2,16 @@ import { mergeProps as _mergeProps, createVNode as _createVNode } from "vue";
|
|
|
2
2
|
// Styles
|
|
3
3
|
import "./VSlider.css"; // Components
|
|
4
4
|
|
|
5
|
-
import { VInput } from "../VInput/index.mjs";
|
|
6
5
|
import { VSliderThumb } from "./VSliderThumb.mjs";
|
|
7
|
-
import { VSliderTrack } from "./VSliderTrack.mjs";
|
|
6
|
+
import { VSliderTrack } from "./VSliderTrack.mjs";
|
|
7
|
+
import { filterInputProps, makeVInputProps, VInput } from "../VInput/VInput.mjs"; // Composables
|
|
8
8
|
|
|
9
9
|
import { makeFocusProps, useFocus } from "../../composables/focus.mjs";
|
|
10
10
|
import { makeSliderProps, useSlider } from "./slider.mjs";
|
|
11
|
-
import { useProxiedModel } from "../../composables/proxiedModel.mjs"; //
|
|
12
|
-
|
|
13
|
-
import { defineComponent } from "../../util/index.mjs"; // Types
|
|
11
|
+
import { useProxiedModel } from "../../composables/proxiedModel.mjs"; // Util
|
|
14
12
|
|
|
15
13
|
import { computed, ref } from 'vue';
|
|
16
|
-
import {
|
|
14
|
+
import { defineComponent, useRender } from "../../util/index.mjs";
|
|
17
15
|
export const VSlider = defineComponent({
|
|
18
16
|
name: 'VSlider',
|
|
19
17
|
props: { ...makeFocusProps(),
|
|
@@ -31,7 +29,6 @@ export const VSlider = defineComponent({
|
|
|
31
29
|
|
|
32
30
|
setup(props, _ref) {
|
|
33
31
|
let {
|
|
34
|
-
attrs,
|
|
35
32
|
slots
|
|
36
33
|
} = _ref;
|
|
37
34
|
const thumbContainerRef = ref();
|
|
@@ -68,7 +65,7 @@ export const VSlider = defineComponent({
|
|
|
68
65
|
blur
|
|
69
66
|
} = useFocus(props);
|
|
70
67
|
const trackStop = computed(() => position(model.value));
|
|
71
|
-
|
|
68
|
+
useRender(() => {
|
|
72
69
|
const [inputProps, _] = filterInputProps(props);
|
|
73
70
|
return _createVNode(VInput, _mergeProps({
|
|
74
71
|
"class": ['v-slider', {
|
|
@@ -117,7 +114,8 @@ export const VSlider = defineComponent({
|
|
|
117
114
|
})]);
|
|
118
115
|
}
|
|
119
116
|
});
|
|
120
|
-
};
|
|
117
|
+
});
|
|
118
|
+
return {};
|
|
121
119
|
}
|
|
122
120
|
|
|
123
121
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VSlider.mjs","names":["
|
|
1
|
+
{"version":3,"file":"VSlider.mjs","names":["VSliderThumb","VSliderTrack","filterInputProps","makeVInputProps","VInput","makeFocusProps","useFocus","makeSliderProps","useSlider","useProxiedModel","computed","ref","defineComponent","useRender","VSlider","name","props","modelValue","type","Number","String","default","emits","value","v","setup","slots","thumbContainerRef","min","max","mousePressed","roundValue","onSliderMousedown","onSliderTouchstart","trackContainerRef","position","hasLabels","readonly","handleSliderMouseUp","newValue","model","handleMouseMove","getActiveThumb","$el","undefined","parseFloat","isFocused","focus","blur","trackStop","inputProps","_","disabled","id","elevation"],"sources":["../../../src/components/VSlider/VSlider.tsx"],"sourcesContent":["// Styles\nimport './VSlider.sass'\n\n// Components\nimport { VSliderThumb } from './VSliderThumb'\nimport { VSliderTrack } from './VSliderTrack'\nimport { filterInputProps, makeVInputProps, VInput } from '@/components/VInput/VInput'\n\n// Composables\nimport { makeFocusProps, useFocus } from '@/composables/focus'\nimport { makeSliderProps, useSlider } from './slider'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Util\nimport { computed, ref } from 'vue'\nimport { defineComponent, useRender } from '@/util'\n\nexport const VSlider = defineComponent({\n name: 'VSlider',\n\n props: {\n ...makeFocusProps(),\n ...makeSliderProps(),\n ...makeVInputProps(),\n\n modelValue: {\n type: [Number, String],\n default: 0,\n },\n },\n\n emits: {\n 'update:focused': (value: boolean) => true,\n 'update:modelValue': (v: number) => true,\n },\n\n setup (props, { slots }) {\n const thumbContainerRef = ref()\n\n const {\n min,\n max,\n mousePressed,\n roundValue,\n onSliderMousedown,\n onSliderTouchstart,\n trackContainerRef,\n position,\n hasLabels,\n readonly,\n } = useSlider({\n props,\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n handleSliderMouseUp: newValue => model.value = roundValue(newValue),\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n handleMouseMove: newValue => model.value = roundValue(newValue),\n getActiveThumb: () => thumbContainerRef.value?.$el,\n })\n\n const model = useProxiedModel(\n props,\n 'modelValue',\n undefined,\n v => {\n const value = typeof v === 'string' ? parseFloat(v) : v == null ? min.value : v\n\n return roundValue(value)\n },\n )\n\n const { isFocused, focus, blur } = useFocus(props)\n const trackStop = computed(() => position(model.value))\n\n useRender(() => {\n const [inputProps, _] = filterInputProps(props)\n\n return (\n <VInput\n class={[\n 'v-slider',\n {\n 'v-slider--has-labels': !!slots['tick-label'] || hasLabels.value,\n 'v-slider--focused': isFocused.value,\n 'v-slider--pressed': mousePressed.value,\n 'v-slider--disabled': props.disabled,\n },\n ]}\n { ...inputProps }\n focused={ isFocused.value }\n >\n {{\n ...slots,\n default: ({ id }) => (\n <div\n class=\"v-slider__container\"\n onMousedown={ !readonly.value ? onSliderMousedown : undefined }\n onTouchstartPassive={ !readonly.value ? onSliderTouchstart : undefined }\n >\n <input\n id={ id.value }\n name={ props.name || id.value }\n disabled={ props.disabled }\n readonly={ props.readonly }\n tabindex=\"-1\"\n value={ model.value }\n />\n\n <VSliderTrack\n ref={ trackContainerRef }\n start={ 0 }\n stop={ trackStop.value }\n >\n {{ 'tick-label': slots['tick-label'] }}\n </VSliderTrack>\n\n <VSliderThumb\n ref={ thumbContainerRef }\n focused={ isFocused.value }\n min={ min.value }\n max={ max.value }\n modelValue={ model.value }\n onUpdate:modelValue={ v => (model.value = v) }\n position={ trackStop.value }\n elevation={ props.elevation }\n onFocus={ focus }\n onBlur={ blur }\n >\n {{ 'thumb-label': slots['thumb-label'] }}\n </VSliderThumb>\n </div>\n ),\n }}\n </VInput>\n )\n })\n\n return {}\n },\n})\n\nexport type VSlider = InstanceType<typeof VSlider>\n"],"mappings":"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"}
|
|
@@ -3,15 +3,15 @@ import { vShow as _vShow, withDirectives as _withDirectives, resolveDirective as
|
|
|
3
3
|
import "./VSliderThumb.css"; // Components
|
|
4
4
|
|
|
5
5
|
import { VScaleTransition } from "../transitions/index.mjs";
|
|
6
|
-
import { VSliderSymbol } from "./slider.mjs";
|
|
7
|
-
import { useElevation } from "../../composables/elevation.mjs"; // Directives
|
|
6
|
+
import { VSliderSymbol } from "./slider.mjs"; // Directives
|
|
8
7
|
|
|
9
8
|
import Ripple from "../../directives/ripple/index.mjs"; // Composables
|
|
10
9
|
|
|
10
|
+
import { useElevation } from "../../composables/elevation.mjs";
|
|
11
11
|
import { useTextColor } from "../../composables/color.mjs"; // Utilities
|
|
12
12
|
|
|
13
13
|
import { computed, inject } from 'vue';
|
|
14
|
-
import { convertToUnit, defineComponent, keyValues } from "../../util/index.mjs";
|
|
14
|
+
import { convertToUnit, defineComponent, keyValues, useRender } from "../../util/index.mjs";
|
|
15
15
|
export const VSliderThumb = defineComponent({
|
|
16
16
|
name: 'VSliderThumb',
|
|
17
17
|
directives: {
|
|
@@ -111,7 +111,7 @@ export const VSliderThumb = defineComponent({
|
|
|
111
111
|
newValue != null && emit('update:modelValue', newValue);
|
|
112
112
|
}
|
|
113
113
|
|
|
114
|
-
|
|
114
|
+
useRender(() => {
|
|
115
115
|
var _slots$thumbLabel, _slots$thumbLabel2;
|
|
116
116
|
|
|
117
117
|
const positionPercentage = convertToUnit(vertical.value ? 100 - props.position : props.position, '%');
|
|
@@ -158,7 +158,8 @@ export const VSliderThumb = defineComponent({
|
|
|
158
158
|
modelValue: props.modelValue
|
|
159
159
|
})) != null ? _slots$thumbLabel : props.modelValue.toFixed(step.value ? decimals.value : 1)])])]), [[_vShow, thumbLabel.value && props.focused || thumbLabel.value === 'always']])]
|
|
160
160
|
})]);
|
|
161
|
-
};
|
|
161
|
+
});
|
|
162
|
+
return {};
|
|
162
163
|
}
|
|
163
164
|
|
|
164
165
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VSliderThumb.mjs","names":["VScaleTransition","VSliderSymbol","useElevation","Ripple","useTextColor","computed","inject","convertToUnit","defineComponent","keyValues","VSliderThumb","name","directives","props","focused","Boolean","max","type","Number","required","min","modelValue","position","emits","v","setup","slots","emit","slider","Error","thumbColor","step","vertical","disabled","thumbSize","thumbLabel","direction","readonly","elevation","isReversed","horizontalDirection","mousePressed","decimals","textColorClasses","textColorStyles","pageup","pagedown","end","home","left","right","down","up","relevantKeys","multipliers","value","parseKeydown","e","includes","key","preventDefault","_step","steps","increase","multiplier","shiftKey","ctrlKey","Math","onKeydown","newValue","positionPercentage","inset","elevationClasses","undefined","toFixed"],"sources":["../../../src/components/VSlider/VSliderThumb.tsx"],"sourcesContent":["// Styles\nimport './VSliderThumb.sass'\n\n// Components\nimport { VScaleTransition } from '../transitions'\nimport { VSliderSymbol } from './slider'\nimport { useElevation } from '@/composables/elevation'\n\n// Directives\nimport Ripple from '@/directives/ripple'\n\n// Composables\nimport { useTextColor } from '@/composables/color'\n\n// Utilities\nimport { computed, inject } from 'vue'\nimport { convertToUnit, defineComponent, keyValues } from '@/util'\n\nexport const VSliderThumb = defineComponent({\n name: 'VSliderThumb',\n\n directives: { Ripple },\n\n props: {\n focused: Boolean,\n max: {\n type: Number,\n required: true,\n },\n min: {\n type: Number,\n required: true,\n },\n modelValue: {\n type: Number,\n required: true,\n },\n position: {\n type: Number,\n required: true,\n },\n },\n\n emits: {\n 'update:modelValue': (v: number) => true,\n },\n\n setup (props, { slots, emit }) {\n const slider = inject(VSliderSymbol)\n\n if (!slider) throw new Error('[Vuetify] v-slider-thumb must be used inside v-slider or v-range-slider')\n\n const {\n thumbColor,\n step,\n vertical,\n disabled,\n thumbSize,\n thumbLabel,\n direction,\n readonly,\n elevation,\n isReversed,\n horizontalDirection,\n mousePressed,\n decimals,\n } = slider\n\n const { textColorClasses, textColorStyles } = useTextColor(thumbColor)\n\n const { pageup, pagedown, end, home, left, right, down, up } = keyValues\n const relevantKeys = [pageup, pagedown, end, home, left, right, down, up]\n\n const multipliers = computed(() => {\n if (step.value) return [1, 2, 3]\n else return [1, 5, 10]\n })\n\n function parseKeydown (e: KeyboardEvent, value: number) {\n if (!relevantKeys.includes(e.key)) return\n\n e.preventDefault()\n\n const _step = step.value || 0.1\n const steps = (props.max - props.min) / _step\n if ([left, right, down, up].includes(e.key)) {\n const increase = isReversed.value ? [left, up] : [right, up]\n const direction = increase.includes(e.key) ? 1 : -1\n const multiplier = e.shiftKey ? 2 : (e.ctrlKey ? 1 : 0)\n\n value = value + (direction * _step * multipliers.value[multiplier])\n } else if (e.key === home) {\n value = props.min\n } else if (e.key === end) {\n value = props.max\n } else {\n const direction = e.key === pagedown ? 1 : -1\n value = value - (direction * _step * (steps > 100 ? steps / 10 : 10))\n }\n\n return Math.max(props.min, Math.min(props.max, value))\n }\n\n function onKeydown (e: KeyboardEvent) {\n const newValue = parseKeydown(e, props.modelValue)\n\n newValue != null && emit('update:modelValue', newValue)\n }\n\n return () => {\n const positionPercentage = convertToUnit(vertical.value ? 100 - props.position : props.position, '%')\n const inset = vertical.value ? 'block' : 'inline'\n const { elevationClasses } = useElevation(computed(() => !disabled.value ? elevation.value : undefined))\n\n return (\n <div\n class={[\n 'v-slider-thumb',\n {\n 'v-slider-thumb--focused': props.focused,\n 'v-slider-thumb--pressed': props.focused && mousePressed.value,\n },\n ]}\n style={{\n [`inset-${inset}-start`]: `calc(${positionPercentage} - var(--v-slider-thumb-size) / 2)`,\n '--v-slider-thumb-size': convertToUnit(thumbSize.value),\n direction: !vertical.value ? horizontalDirection.value : undefined,\n }}\n role=\"slider\"\n tabindex={ disabled.value ? -1 : 0 }\n aria-valuemin={ props.min }\n aria-valuemax={ props.max }\n aria-valuenow={ props.modelValue }\n aria-readonly={ readonly.value }\n aria-orientation={ direction.value }\n onKeydown={ !readonly.value ? onKeydown : undefined }\n >\n <div\n class={[\n 'v-slider-thumb__surface',\n textColorClasses.value,\n elevationClasses.value,\n ]}\n style={{\n ...textColorStyles.value,\n }}\n />\n <div\n class={[\n 'v-slider-thumb__ripple',\n textColorClasses.value,\n ]}\n style={ textColorStyles.value }\n v-ripple={[true, null, ['circle', 'center']]}\n />\n <VScaleTransition origin=\"bottom center\">\n <div\n class=\"v-slider-thumb__label-container\"\n v-show={ (thumbLabel.value && props.focused) || thumbLabel.value === 'always' }\n >\n <div\n class={[\n 'v-slider-thumb__label',\n ]}\n >\n <div>\n { slots['thumb-label']?.({ modelValue: props.modelValue }) ?? props.modelValue.toFixed(step.value ? decimals.value : 1) }\n </div>\n </div>\n </div>\n </VScaleTransition>\n </div>\n )\n }\n },\n})\n\nexport type VSliderThumb = InstanceType<typeof VSliderThumb>\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"VSliderThumb.mjs","names":["VScaleTransition","VSliderSymbol","Ripple","useElevation","useTextColor","computed","inject","convertToUnit","defineComponent","keyValues","useRender","VSliderThumb","name","directives","props","focused","Boolean","max","type","Number","required","min","modelValue","position","emits","v","setup","slots","emit","slider","Error","thumbColor","step","vertical","disabled","thumbSize","thumbLabel","direction","readonly","elevation","isReversed","horizontalDirection","mousePressed","decimals","textColorClasses","textColorStyles","pageup","pagedown","end","home","left","right","down","up","relevantKeys","multipliers","value","parseKeydown","e","includes","key","preventDefault","_step","steps","increase","multiplier","shiftKey","ctrlKey","Math","onKeydown","newValue","positionPercentage","inset","elevationClasses","undefined","toFixed"],"sources":["../../../src/components/VSlider/VSliderThumb.tsx"],"sourcesContent":["// Styles\nimport './VSliderThumb.sass'\n\n// Components\nimport { VScaleTransition } from '../transitions'\nimport { VSliderSymbol } from './slider'\n\n// Directives\nimport Ripple from '@/directives/ripple'\n\n// Composables\nimport { useElevation } from '@/composables/elevation'\nimport { useTextColor } from '@/composables/color'\n\n// Utilities\nimport { computed, inject } from 'vue'\nimport { convertToUnit, defineComponent, keyValues, useRender } from '@/util'\n\nexport const VSliderThumb = defineComponent({\n name: 'VSliderThumb',\n\n directives: { Ripple },\n\n props: {\n focused: Boolean,\n max: {\n type: Number,\n required: true,\n },\n min: {\n type: Number,\n required: true,\n },\n modelValue: {\n type: Number,\n required: true,\n },\n position: {\n type: Number,\n required: true,\n },\n },\n\n emits: {\n 'update:modelValue': (v: number) => true,\n },\n\n setup (props, { slots, emit }) {\n const slider = inject(VSliderSymbol)\n\n if (!slider) throw new Error('[Vuetify] v-slider-thumb must be used inside v-slider or v-range-slider')\n\n const {\n thumbColor,\n step,\n vertical,\n disabled,\n thumbSize,\n thumbLabel,\n direction,\n readonly,\n elevation,\n isReversed,\n horizontalDirection,\n mousePressed,\n decimals,\n } = slider\n\n const { textColorClasses, textColorStyles } = useTextColor(thumbColor)\n\n const { pageup, pagedown, end, home, left, right, down, up } = keyValues\n const relevantKeys = [pageup, pagedown, end, home, left, right, down, up]\n\n const multipliers = computed(() => {\n if (step.value) return [1, 2, 3]\n else return [1, 5, 10]\n })\n\n function parseKeydown (e: KeyboardEvent, value: number) {\n if (!relevantKeys.includes(e.key)) return\n\n e.preventDefault()\n\n const _step = step.value || 0.1\n const steps = (props.max - props.min) / _step\n if ([left, right, down, up].includes(e.key)) {\n const increase = isReversed.value ? [left, up] : [right, up]\n const direction = increase.includes(e.key) ? 1 : -1\n const multiplier = e.shiftKey ? 2 : (e.ctrlKey ? 1 : 0)\n\n value = value + (direction * _step * multipliers.value[multiplier])\n } else if (e.key === home) {\n value = props.min\n } else if (e.key === end) {\n value = props.max\n } else {\n const direction = e.key === pagedown ? 1 : -1\n value = value - (direction * _step * (steps > 100 ? steps / 10 : 10))\n }\n\n return Math.max(props.min, Math.min(props.max, value))\n }\n\n function onKeydown (e: KeyboardEvent) {\n const newValue = parseKeydown(e, props.modelValue)\n\n newValue != null && emit('update:modelValue', newValue)\n }\n\n useRender(() => {\n const positionPercentage = convertToUnit(vertical.value ? 100 - props.position : props.position, '%')\n const inset = vertical.value ? 'block' : 'inline'\n const { elevationClasses } = useElevation(computed(() => !disabled.value ? elevation.value : undefined))\n\n return (\n <div\n class={[\n 'v-slider-thumb',\n {\n 'v-slider-thumb--focused': props.focused,\n 'v-slider-thumb--pressed': props.focused && mousePressed.value,\n },\n ]}\n style={{\n [`inset-${inset}-start`]: `calc(${positionPercentage} - var(--v-slider-thumb-size) / 2)`,\n '--v-slider-thumb-size': convertToUnit(thumbSize.value),\n direction: !vertical.value ? horizontalDirection.value : undefined,\n }}\n role=\"slider\"\n tabindex={ disabled.value ? -1 : 0 }\n aria-valuemin={ props.min }\n aria-valuemax={ props.max }\n aria-valuenow={ props.modelValue }\n aria-readonly={ readonly.value }\n aria-orientation={ direction.value }\n onKeydown={ !readonly.value ? onKeydown : undefined }\n >\n <div\n class={[\n 'v-slider-thumb__surface',\n textColorClasses.value,\n elevationClasses.value,\n ]}\n style={{\n ...textColorStyles.value,\n }}\n />\n <div\n class={[\n 'v-slider-thumb__ripple',\n textColorClasses.value,\n ]}\n style={ textColorStyles.value }\n v-ripple={[true, null, ['circle', 'center']]}\n />\n <VScaleTransition origin=\"bottom center\">\n <div\n class=\"v-slider-thumb__label-container\"\n v-show={ (thumbLabel.value && props.focused) || thumbLabel.value === 'always' }\n >\n <div\n class={[\n 'v-slider-thumb__label',\n ]}\n >\n <div>\n { slots['thumb-label']?.({ modelValue: props.modelValue }) ?? props.modelValue.toFixed(step.value ? decimals.value : 1) }\n </div>\n </div>\n </div>\n </VScaleTransition>\n </div>\n )\n })\n\n return {}\n },\n})\n\nexport type VSliderThumb = InstanceType<typeof VSliderThumb>\n"],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@ import { useBackgroundColor } from "../../composables/color.mjs";
|
|
|
8
8
|
import { useRounded } from "../../composables/rounded.mjs"; // Utilities
|
|
9
9
|
|
|
10
10
|
import { computed, inject } from 'vue';
|
|
11
|
-
import { convertToUnit, defineComponent } from "../../util/index.mjs";
|
|
11
|
+
import { convertToUnit, defineComponent, useRender } from "../../util/index.mjs";
|
|
12
12
|
export const VSliderTrack = defineComponent({
|
|
13
13
|
name: 'VSliderTrack',
|
|
14
14
|
props: {
|
|
@@ -30,16 +30,16 @@ export const VSliderTrack = defineComponent({
|
|
|
30
30
|
const slider = inject(VSliderSymbol);
|
|
31
31
|
if (!slider) throw new Error('[Vuetify] v-slider-track must be inside v-slider or v-range-slider');
|
|
32
32
|
const {
|
|
33
|
+
color,
|
|
34
|
+
horizontalDirection,
|
|
35
|
+
parsedTicks,
|
|
36
|
+
rounded,
|
|
37
|
+
showTicks,
|
|
38
|
+
tickSize,
|
|
33
39
|
trackColor,
|
|
34
40
|
trackFillColor,
|
|
35
|
-
vertical,
|
|
36
|
-
tickSize,
|
|
37
|
-
showTicks,
|
|
38
41
|
trackSize,
|
|
39
|
-
|
|
40
|
-
rounded,
|
|
41
|
-
parsedTicks,
|
|
42
|
-
horizontalDirection
|
|
42
|
+
vertical
|
|
43
43
|
} = slider;
|
|
44
44
|
const {
|
|
45
45
|
roundedClasses
|
|
@@ -90,7 +90,7 @@ export const VSliderTrack = defineComponent({
|
|
|
90
90
|
})) != null ? _slots$tickLabel : tick.label])]);
|
|
91
91
|
});
|
|
92
92
|
});
|
|
93
|
-
|
|
93
|
+
useRender(() => {
|
|
94
94
|
return _createVNode("div", {
|
|
95
95
|
"class": ['v-slider-track', roundedClasses.value],
|
|
96
96
|
"style": {
|
|
@@ -115,7 +115,8 @@ export const VSliderTrack = defineComponent({
|
|
|
115
115
|
'v-slider-track__ticks--always-show': showTicks.value === 'always'
|
|
116
116
|
}]
|
|
117
117
|
}, [computedTicks.value])]);
|
|
118
|
-
};
|
|
118
|
+
});
|
|
119
|
+
return {};
|
|
119
120
|
}
|
|
120
121
|
|
|
121
122
|
});
|