@dimailn/vuetify 2.7.2-alpha25 → 2.7.2-alpha27
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/dist/vuetify.js +1436 -1164
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +1 -1
- package/dist/vuetify.min.js +2 -2
- package/es5/components/VAlert/VAlert.js +1 -0
- package/es5/components/VAlert/VAlert.js.map +1 -1
- package/es5/components/VAppBar/VAppBar.js +17 -6
- package/es5/components/VAppBar/VAppBar.js.map +1 -1
- package/es5/components/VAppBar/VAppBarNavIcon.js +5 -1
- package/es5/components/VAppBar/VAppBarNavIcon.js.map +1 -1
- package/es5/components/VBadge/VBadge.js +1 -0
- package/es5/components/VBadge/VBadge.js.map +1 -1
- package/es5/components/VBanner/VBanner.js +23 -15
- package/es5/components/VBanner/VBanner.js.map +1 -1
- package/es5/components/VBottomNavigation/VBottomNavigation.js +8 -7
- package/es5/components/VBottomNavigation/VBottomNavigation.js.map +1 -1
- package/es5/components/VBreadcrumbs/VBreadcrumbs.js +18 -6
- package/es5/components/VBreadcrumbs/VBreadcrumbs.js.map +1 -1
- package/es5/components/VBtn/VBtn.js +6 -2
- package/es5/components/VBtn/VBtn.js.map +1 -1
- package/es5/components/VCalendar/VCalendar.js +27 -29
- package/es5/components/VCalendar/VCalendar.js.map +1 -1
- package/es5/components/VCalendar/VCalendarCategory.js +26 -34
- package/es5/components/VCalendar/VCalendarCategory.js.map +1 -1
- package/es5/components/VCalendar/VCalendarDaily.js +43 -60
- package/es5/components/VCalendar/VCalendarDaily.js.map +1 -1
- package/es5/components/VCalendar/VCalendarMonthly.js +2 -2
- package/es5/components/VCalendar/VCalendarMonthly.js.map +1 -1
- package/es5/components/VCalendar/VCalendarWeekly.js +26 -35
- package/es5/components/VCalendar/VCalendarWeekly.js.map +1 -1
- package/es5/components/VCalendar/mixins/calendar-base.js +5 -10
- package/es5/components/VCalendar/mixins/calendar-base.js.map +1 -1
- package/es5/components/VCalendar/mixins/calendar-with-events.js +43 -58
- package/es5/components/VCalendar/mixins/calendar-with-events.js.map +1 -1
- package/es5/components/VCalendar/mixins/calendar-with-intervals.js +2 -2
- package/es5/components/VCalendar/mixins/calendar-with-intervals.js.map +1 -1
- package/es5/components/VCalendar/mixins/times.js.map +1 -1
- package/es5/components/VCarousel/VCarousel.js +20 -13
- package/es5/components/VCarousel/VCarousel.js.map +1 -1
- package/es5/components/VCarousel/VCarouselItem.js +7 -3
- package/es5/components/VCarousel/VCarouselItem.js.map +1 -1
- package/es5/components/VCheckbox/VCheckbox.js +34 -1
- package/es5/components/VCheckbox/VCheckbox.js.map +1 -1
- package/es5/components/VCheckbox/VSimpleCheckbox.js +0 -3
- package/es5/components/VCheckbox/VSimpleCheckbox.js.map +1 -1
- package/es5/components/VChip/VChip.js +14 -6
- package/es5/components/VChip/VChip.js.map +1 -1
- package/es5/components/VData/VData.js +1 -0
- package/es5/components/VData/VData.js.map +1 -1
- package/es5/components/VDataIterator/VDataFooter.js +6 -1
- package/es5/components/VDataIterator/VDataFooter.js.map +1 -1
- package/es5/components/VDataIterator/VDataIterator.js +1 -0
- package/es5/components/VDataIterator/VDataIterator.js.map +1 -1
- package/es5/components/VDataTable/VDataTable.js +22 -13
- package/es5/components/VDataTable/VDataTable.js.map +1 -1
- package/es5/components/VDataTable/VDataTableHeader.js +2 -6
- package/es5/components/VDataTable/VDataTableHeader.js.map +1 -1
- package/es5/components/VDataTable/VDataTableHeaderDesktop.js +1 -0
- package/es5/components/VDataTable/VDataTableHeaderDesktop.js.map +1 -1
- package/es5/components/VDataTable/VDataTableHeaderMobile.js +1 -0
- package/es5/components/VDataTable/VDataTableHeaderMobile.js.map +1 -1
- package/es5/components/VDataTable/VEditDialog.js +23 -18
- package/es5/components/VDataTable/VEditDialog.js.map +1 -1
- package/es5/components/VDataTable/mixins/header.js +5 -7
- package/es5/components/VDataTable/mixins/header.js.map +1 -1
- package/es5/components/VDatePicker/VDatePicker.js +13 -18
- package/es5/components/VDatePicker/VDatePicker.js.map +1 -1
- package/es5/components/VDatePicker/VDatePickerHeader.js +50 -22
- package/es5/components/VDatePicker/VDatePickerHeader.js.map +1 -1
- package/es5/components/VDatePicker/VDatePickerMonthTable.js +6 -3
- package/es5/components/VDatePicker/VDatePickerMonthTable.js.map +1 -1
- package/es5/components/VDatePicker/VDatePickerTitle.js +16 -7
- package/es5/components/VDatePicker/VDatePickerTitle.js.map +1 -1
- package/es5/components/VDatePicker/VDatePickerYears.js +11 -12
- package/es5/components/VDatePicker/VDatePickerYears.js.map +1 -1
- package/es5/components/VDatePicker/mixins/date-picker-table.js +21 -16
- package/es5/components/VDatePicker/mixins/date-picker-table.js.map +1 -1
- package/es5/components/VDatePicker/util/createNativeLocaleFormatter.js +4 -0
- package/es5/components/VDatePicker/util/createNativeLocaleFormatter.js.map +1 -1
- package/es5/components/VDialog/VDialog.js +17 -12
- package/es5/components/VDialog/VDialog.js.map +1 -1
- package/es5/components/VExpansionPanel/VExpansionPanel.js +1 -0
- package/es5/components/VExpansionPanel/VExpansionPanel.js.map +1 -1
- package/es5/components/VExpansionPanel/VExpansionPanelContent.js +11 -9
- package/es5/components/VExpansionPanel/VExpansionPanelContent.js.map +1 -1
- package/es5/components/VExpansionPanel/VExpansionPanelHeader.js +16 -19
- package/es5/components/VExpansionPanel/VExpansionPanelHeader.js.map +1 -1
- package/es5/components/VFileInput/VFileInput.js +1 -0
- package/es5/components/VFileInput/VFileInput.js.map +1 -1
- package/es5/components/VForm/VForm.js +1 -0
- package/es5/components/VForm/VForm.js.map +1 -1
- package/es5/components/VHover/VHover.js +1 -0
- package/es5/components/VHover/VHover.js.map +1 -1
- package/es5/components/VImg/VImg.js +9 -7
- package/es5/components/VImg/VImg.js.map +1 -1
- package/es5/components/VInput/VInput.js +11 -4
- package/es5/components/VInput/VInput.js.map +1 -1
- package/es5/components/VItemGroup/VItem.js +2 -1
- package/es5/components/VItemGroup/VItem.js.map +1 -1
- package/es5/components/VItemGroup/VItemGroup.js +5 -1
- package/es5/components/VItemGroup/VItemGroup.js.map +1 -1
- package/es5/components/VLazy/VLazy.js +8 -15
- package/es5/components/VLazy/VLazy.js.map +1 -1
- package/es5/components/VList/VListGroup.js +30 -20
- package/es5/components/VList/VListGroup.js.map +1 -1
- package/es5/components/VList/VListItem.js +31 -13
- package/es5/components/VList/VListItem.js.map +1 -1
- package/es5/components/VList/VListItemAction.js +23 -9
- package/es5/components/VList/VListItemAction.js.map +1 -1
- package/es5/components/VMenu/VMenu.js +1 -0
- package/es5/components/VMenu/VMenu.js.map +1 -1
- package/es5/components/VMessages/VMessages.js +5 -1
- package/es5/components/VMessages/VMessages.js.map +1 -1
- package/es5/components/VNavigationDrawer/VNavigationDrawer.js +1 -7
- package/es5/components/VNavigationDrawer/VNavigationDrawer.js.map +1 -1
- package/es5/components/VOtpInput/VOtpInput.js +1 -5
- package/es5/components/VOtpInput/VOtpInput.js.map +1 -1
- package/es5/components/VOverflowBtn/VOverflowBtn.js +4 -1
- package/es5/components/VOverflowBtn/VOverflowBtn.js.map +1 -1
- package/es5/components/VOverlay/VOverlay.js +1 -0
- package/es5/components/VOverlay/VOverlay.js.map +1 -1
- package/es5/components/VPagination/VPagination.js +4 -4
- package/es5/components/VPagination/VPagination.js.map +1 -1
- package/es5/components/VPicker/VPicker.js +7 -4
- package/es5/components/VPicker/VPicker.js.map +1 -1
- package/es5/components/VProgressCircular/VProgressCircular.js +1 -10
- package/es5/components/VProgressCircular/VProgressCircular.js.map +1 -1
- package/es5/components/VProgressLinear/VProgressLinear.js +4 -12
- package/es5/components/VProgressLinear/VProgressLinear.js.map +1 -1
- package/es5/components/VRadioGroup/VRadio.js +11 -2
- package/es5/components/VRadioGroup/VRadio.js.map +1 -1
- package/es5/components/VSelect/VSelect.js +115 -64
- package/es5/components/VSelect/VSelect.js.map +1 -1
- package/es5/components/VSelect/VSelectList.js +30 -26
- package/es5/components/VSelect/VSelectList.js.map +1 -1
- package/es5/components/VSlideGroup/VSlideGroup.js +27 -22
- package/es5/components/VSlideGroup/VSlideGroup.js.map +1 -1
- package/es5/components/VSlideGroup/VSlideItem.js +2 -1
- package/es5/components/VSlideGroup/VSlideItem.js.map +1 -1
- package/es5/components/VSlider/VSlider.js +16 -15
- package/es5/components/VSlider/VSlider.js.map +1 -1
- package/es5/components/VSnackbar/VSnackbar.js +1 -0
- package/es5/components/VSnackbar/VSnackbar.js.map +1 -1
- package/es5/components/VSparkline/VSparkline.js +48 -68
- package/es5/components/VSparkline/VSparkline.js.map +1 -1
- package/es5/components/VSpeedDial/VSpeedDial.js +4 -10
- package/es5/components/VSpeedDial/VSpeedDial.js.map +1 -1
- package/es5/components/VStepper/VStepper.js +1 -0
- package/es5/components/VStepper/VStepper.js.map +1 -1
- package/es5/components/VStepper/VStepperContent.js +3 -1
- package/es5/components/VStepper/VStepperContent.js.map +1 -1
- package/es5/components/VStepper/VStepperStep.js +11 -19
- package/es5/components/VStepper/VStepperStep.js.map +1 -1
- package/es5/components/VSwitch/VSwitch.js +11 -9
- package/es5/components/VSwitch/VSwitch.js.map +1 -1
- package/es5/components/VTabs/VTab.js +1 -0
- package/es5/components/VTabs/VTab.js.map +1 -1
- package/es5/components/VTabs/VTabs.js +17 -6
- package/es5/components/VTabs/VTabs.js.map +1 -1
- package/es5/components/VTabs/VTabsItems.js +1 -0
- package/es5/components/VTabs/VTabsItems.js.map +1 -1
- package/es5/components/VTextField/VTextField.js +34 -26
- package/es5/components/VTextField/VTextField.js.map +1 -1
- package/es5/components/VTimePicker/VTimePicker.js +72 -44
- package/es5/components/VTimePicker/VTimePicker.js.map +1 -1
- package/es5/components/VTimePicker/VTimePickerClock.js +37 -48
- package/es5/components/VTimePicker/VTimePickerClock.js.map +1 -1
- package/es5/components/VTimePicker/VTimePickerTitle.js +13 -11
- package/es5/components/VTimePicker/VTimePickerTitle.js.map +1 -1
- package/es5/components/VToolbar/VToolbar.js +1 -3
- package/es5/components/VToolbar/VToolbar.js.map +1 -1
- package/es5/components/VTooltip/VTooltip.js +9 -4
- package/es5/components/VTooltip/VTooltip.js.map +1 -1
- package/es5/components/VTreeview/VTreeviewNode.js +11 -3
- package/es5/components/VTreeview/VTreeviewNode.js.map +1 -1
- package/es5/components/VVirtualScroll/VVirtualScroll.js +0 -3
- package/es5/components/VVirtualScroll/VVirtualScroll.js.map +1 -1
- package/es5/components/VWindow/VWindow.js +0 -3
- package/es5/components/VWindow/VWindow.js.map +1 -1
- package/es5/components/VWindow/VWindowItem.js +1 -5
- package/es5/components/VWindow/VWindowItem.js.map +1 -1
- package/es5/components/transitions/createTransition.js +8 -2
- package/es5/components/transitions/createTransition.js.map +1 -1
- package/es5/framework.js +1 -1
- package/es5/mixins/detachable/index.js +9 -5
- package/es5/mixins/detachable/index.js.map +1 -1
- package/es5/mixins/picker/index.js +13 -3
- package/es5/mixins/picker/index.js.map +1 -1
- package/lib/components/VAlert/VAlert.js +1 -0
- package/lib/components/VAlert/VAlert.js.map +1 -1
- package/lib/components/VAppBar/VAppBar.js +17 -6
- package/lib/components/VAppBar/VAppBar.js.map +1 -1
- package/lib/components/VAppBar/VAppBarNavIcon.js +1 -1
- package/lib/components/VAppBar/VAppBarNavIcon.js.map +1 -1
- package/lib/components/VBadge/VBadge.js +1 -0
- package/lib/components/VBadge/VBadge.js.map +1 -1
- package/lib/components/VBanner/VBanner.js +9 -13
- package/lib/components/VBanner/VBanner.js.map +1 -1
- package/lib/components/VBottomNavigation/VBottomNavigation.js +8 -7
- package/lib/components/VBottomNavigation/VBottomNavigation.js.map +1 -1
- package/lib/components/VBreadcrumbs/VBreadcrumbs.js +2 -2
- package/lib/components/VBreadcrumbs/VBreadcrumbs.js.map +1 -1
- package/lib/components/VBtn/VBtn.js +4 -2
- package/lib/components/VBtn/VBtn.js.map +1 -1
- package/lib/components/VCalendar/VCalendar.js +26 -31
- package/lib/components/VCalendar/VCalendar.js.map +1 -1
- package/lib/components/VCalendar/VCalendarCategory.js +8 -10
- package/lib/components/VCalendar/VCalendarCategory.js.map +1 -1
- package/lib/components/VCalendar/VCalendarDaily.js +21 -33
- package/lib/components/VCalendar/VCalendarDaily.js.map +1 -1
- package/lib/components/VCalendar/VCalendarMonthly.js +2 -2
- package/lib/components/VCalendar/VCalendarMonthly.js.map +1 -1
- package/lib/components/VCalendar/VCalendarWeekly.js +17 -30
- package/lib/components/VCalendar/VCalendarWeekly.js.map +1 -1
- package/lib/components/VCalendar/mixins/calendar-base.js +7 -11
- package/lib/components/VCalendar/mixins/calendar-base.js.map +1 -1
- package/lib/components/VCalendar/mixins/calendar-with-events.js +16 -39
- package/lib/components/VCalendar/mixins/calendar-with-events.js.map +1 -1
- package/lib/components/VCalendar/mixins/calendar-with-intervals.js +2 -2
- package/lib/components/VCalendar/mixins/calendar-with-intervals.js.map +1 -1
- package/lib/components/VCalendar/mixins/times.js.map +1 -1
- package/lib/components/VCarousel/VCarousel.js +15 -14
- package/lib/components/VCarousel/VCarousel.js.map +1 -1
- package/lib/components/VCarousel/VCarouselItem.js +1 -1
- package/lib/components/VCarousel/VCarouselItem.js.map +1 -1
- package/lib/components/VCheckbox/VCheckbox.js +15 -2
- package/lib/components/VCheckbox/VCheckbox.js.map +1 -1
- package/lib/components/VCheckbox/VSimpleCheckbox.js +0 -3
- package/lib/components/VCheckbox/VSimpleCheckbox.js.map +1 -1
- package/lib/components/VChip/VChip.js +14 -6
- package/lib/components/VChip/VChip.js.map +1 -1
- package/lib/components/VData/VData.js +1 -0
- package/lib/components/VData/VData.js.map +1 -1
- package/lib/components/VDataIterator/VDataFooter.js +2 -1
- package/lib/components/VDataIterator/VDataFooter.js.map +1 -1
- package/lib/components/VDataIterator/VDataIterator.js +1 -0
- package/lib/components/VDataIterator/VDataIterator.js.map +1 -1
- package/lib/components/VDataTable/VDataTable.js +7 -12
- package/lib/components/VDataTable/VDataTable.js.map +1 -1
- package/lib/components/VDataTable/VDataTableHeader.js +3 -6
- package/lib/components/VDataTable/VDataTableHeader.js.map +1 -1
- package/lib/components/VDataTable/VDataTableHeaderDesktop.js +1 -0
- package/lib/components/VDataTable/VDataTableHeaderDesktop.js.map +1 -1
- package/lib/components/VDataTable/VDataTableHeaderMobile.js +1 -0
- package/lib/components/VDataTable/VDataTableHeaderMobile.js.map +1 -1
- package/lib/components/VDataTable/VEditDialog.js +16 -15
- package/lib/components/VDataTable/VEditDialog.js.map +1 -1
- package/lib/components/VDataTable/mixins/header.js +1 -6
- package/lib/components/VDataTable/mixins/header.js.map +1 -1
- package/lib/components/VDatePicker/VDatePicker.js +11 -16
- package/lib/components/VDatePicker/VDatePicker.js.map +1 -1
- package/lib/components/VDatePicker/VDatePickerHeader.js +33 -20
- package/lib/components/VDatePicker/VDatePickerHeader.js.map +1 -1
- package/lib/components/VDatePicker/VDatePickerMonthTable.js +3 -1
- package/lib/components/VDatePicker/VDatePickerMonthTable.js.map +1 -1
- package/lib/components/VDatePicker/VDatePickerTitle.js +6 -5
- package/lib/components/VDatePicker/VDatePickerTitle.js.map +1 -1
- package/lib/components/VDatePicker/VDatePickerYears.js +8 -9
- package/lib/components/VDatePicker/VDatePickerYears.js.map +1 -1
- package/lib/components/VDatePicker/mixins/date-picker-table.js +18 -14
- package/lib/components/VDatePicker/mixins/date-picker-table.js.map +1 -1
- package/lib/components/VDatePicker/util/createNativeLocaleFormatter.js +4 -0
- package/lib/components/VDatePicker/util/createNativeLocaleFormatter.js.map +1 -1
- package/lib/components/VDialog/VDialog.js +3 -2
- package/lib/components/VDialog/VDialog.js.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanel.js +1 -0
- package/lib/components/VExpansionPanel/VExpansionPanel.js.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanelContent.js +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanelContent.js.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanelHeader.js +3 -6
- package/lib/components/VExpansionPanel/VExpansionPanelHeader.js.map +1 -1
- package/lib/components/VFileInput/VFileInput.js +1 -0
- package/lib/components/VFileInput/VFileInput.js.map +1 -1
- package/lib/components/VForm/VForm.js +1 -0
- package/lib/components/VForm/VForm.js.map +1 -1
- package/lib/components/VHover/VHover.js +1 -0
- package/lib/components/VHover/VHover.js.map +1 -1
- package/lib/components/VImg/VImg.js +4 -8
- package/lib/components/VImg/VImg.js.map +1 -1
- package/lib/components/VInput/VInput.js +3 -2
- package/lib/components/VInput/VInput.js.map +1 -1
- package/lib/components/VItemGroup/VItem.js +2 -1
- package/lib/components/VItemGroup/VItem.js.map +1 -1
- package/lib/components/VItemGroup/VItemGroup.js +6 -1
- package/lib/components/VItemGroup/VItemGroup.js.map +1 -1
- package/lib/components/VLazy/VLazy.js +8 -15
- package/lib/components/VLazy/VLazy.js.map +1 -1
- package/lib/components/VList/VListGroup.js +8 -10
- package/lib/components/VList/VListGroup.js.map +1 -1
- package/lib/components/VList/VListItem.js +28 -15
- package/lib/components/VList/VListItem.js.map +1 -1
- package/lib/components/VList/VListItemAction.js +15 -9
- package/lib/components/VList/VListItemAction.js.map +1 -1
- package/lib/components/VMenu/VMenu.js +1 -0
- package/lib/components/VMenu/VMenu.js.map +1 -1
- package/lib/components/VMessages/VMessages.js +1 -1
- package/lib/components/VMessages/VMessages.js.map +1 -1
- package/lib/components/VNavigationDrawer/VNavigationDrawer.js +1 -6
- package/lib/components/VNavigationDrawer/VNavigationDrawer.js.map +1 -1
- package/lib/components/VOtpInput/VOtpInput.js +2 -6
- package/lib/components/VOtpInput/VOtpInput.js.map +1 -1
- package/lib/components/VOverflowBtn/VOverflowBtn.js +2 -1
- package/lib/components/VOverflowBtn/VOverflowBtn.js.map +1 -1
- package/lib/components/VOverlay/VOverlay.js +1 -0
- package/lib/components/VOverlay/VOverlay.js.map +1 -1
- package/lib/components/VPagination/VPagination.js +2 -4
- package/lib/components/VPagination/VPagination.js.map +1 -1
- package/lib/components/VPicker/VPicker.js +4 -4
- package/lib/components/VPicker/VPicker.js.map +1 -1
- package/lib/components/VProgressCircular/VProgressCircular.js +1 -4
- package/lib/components/VProgressCircular/VProgressCircular.js.map +1 -1
- package/lib/components/VProgressLinear/VProgressLinear.js +4 -6
- package/lib/components/VProgressLinear/VProgressLinear.js.map +1 -1
- package/lib/components/VRadioGroup/VRadio.js +3 -2
- package/lib/components/VRadioGroup/VRadio.js.map +1 -1
- package/lib/components/VSelect/VSelect.js +66 -21
- package/lib/components/VSelect/VSelect.js.map +1 -1
- package/lib/components/VSelect/VSelectList.js +15 -17
- package/lib/components/VSelect/VSelectList.js.map +1 -1
- package/lib/components/VSlideGroup/VSlideGroup.js +4 -7
- package/lib/components/VSlideGroup/VSlideGroup.js.map +1 -1
- package/lib/components/VSlideGroup/VSlideItem.js +2 -1
- package/lib/components/VSlideGroup/VSlideItem.js.map +1 -1
- package/lib/components/VSlider/VSlider.js +1 -4
- package/lib/components/VSlider/VSlider.js.map +1 -1
- package/lib/components/VSnackbar/VSnackbar.js +1 -0
- package/lib/components/VSnackbar/VSnackbar.js.map +1 -1
- package/lib/components/VSparkline/VSparkline.js +48 -67
- package/lib/components/VSparkline/VSparkline.js.map +1 -1
- package/lib/components/VSpeedDial/VSpeedDial.js +3 -9
- package/lib/components/VSpeedDial/VSpeedDial.js.map +1 -1
- package/lib/components/VStepper/VStepper.js +1 -0
- package/lib/components/VStepper/VStepper.js.map +1 -1
- package/lib/components/VStepper/VStepperContent.js +1 -1
- package/lib/components/VStepper/VStepperContent.js.map +1 -1
- package/lib/components/VStepper/VStepperStep.js +7 -18
- package/lib/components/VStepper/VStepperStep.js.map +1 -1
- package/lib/components/VSwitch/VSwitch.js +2 -4
- package/lib/components/VSwitch/VSwitch.js.map +1 -1
- package/lib/components/VTabs/VTab.js +1 -0
- package/lib/components/VTabs/VTab.js.map +1 -1
- package/lib/components/VTabs/VTabs.js +16 -6
- package/lib/components/VTabs/VTabs.js.map +1 -1
- package/lib/components/VTabs/VTabsItems.js +1 -0
- package/lib/components/VTabs/VTabsItems.js.map +1 -1
- package/lib/components/VTextField/VTextField.js +7 -16
- package/lib/components/VTextField/VTextField.js.map +1 -1
- package/lib/components/VTimePicker/VTimePicker.js +65 -31
- package/lib/components/VTimePicker/VTimePicker.js.map +1 -1
- package/lib/components/VTimePicker/VTimePickerClock.js +24 -39
- package/lib/components/VTimePicker/VTimePickerClock.js.map +1 -1
- package/lib/components/VTimePicker/VTimePickerTitle.js +3 -2
- package/lib/components/VTimePicker/VTimePickerTitle.js.map +1 -1
- package/lib/components/VToolbar/VToolbar.js +1 -3
- package/lib/components/VToolbar/VToolbar.js.map +1 -1
- package/lib/components/VTooltip/VTooltip.js +2 -3
- package/lib/components/VTooltip/VTooltip.js.map +1 -1
- package/lib/components/VTreeview/VTreeviewNode.js +3 -3
- package/lib/components/VTreeview/VTreeviewNode.js.map +1 -1
- package/lib/components/VVirtualScroll/VVirtualScroll.js +0 -3
- package/lib/components/VVirtualScroll/VVirtualScroll.js.map +1 -1
- package/lib/components/VWindow/VWindow.js +0 -3
- package/lib/components/VWindow/VWindow.js.map +1 -1
- package/lib/components/VWindow/VWindowItem.js +2 -6
- package/lib/components/VWindow/VWindowItem.js.map +1 -1
- package/lib/components/transitions/createTransition.js +2 -2
- package/lib/components/transitions/createTransition.js.map +1 -1
- package/lib/framework.js +1 -1
- package/lib/mixins/detachable/index.js +9 -5
- package/lib/mixins/detachable/index.js.map +1 -1
- package/lib/mixins/picker/index.js +5 -3
- package/lib/mixins/picker/index.js.map +1 -1
- package/package.json +1 -1
- package/src/components/VAlert/VAlert.ts +2 -0
- package/src/components/VAppBar/VAppBar.ts +12 -3
- package/src/components/VAppBar/VAppBarNavIcon.ts +1 -1
- package/src/components/VBadge/VBadge.ts +1 -1
- package/src/components/VBanner/VBanner.ts +17 -17
- package/src/components/VBottomNavigation/VBottomNavigation.ts +10 -8
- package/src/components/VBreadcrumbs/VBreadcrumbs.ts +2 -2
- package/src/components/VBtn/VBtn.ts +8 -2
- package/src/components/VCalendar/VCalendar.ts +29 -27
- package/src/components/VCalendar/VCalendarCategory.ts +9 -8
- package/src/components/VCalendar/VCalendarDaily.ts +18 -28
- package/src/components/VCalendar/VCalendarMonthly.ts +2 -1
- package/src/components/VCalendar/VCalendarWeekly.ts +18 -30
- package/src/components/VCalendar/__tests__/VCalendar.spec.ts +18 -34
- package/src/components/VCalendar/__tests__/VCalendarCategory.spec.ts +16 -14
- package/src/components/VCalendar/__tests__/VCalendarDaily.spec.ts +30 -28
- package/src/components/VCalendar/__tests__/__snapshots__/VCalendar.spec.ts.snap +206 -205
- package/src/components/VCalendar/__tests__/__snapshots__/VCalendarDaily.spec.ts.snap +122 -122
- package/src/components/VCalendar/mixins/__tests__/__snapshots__/calendar-with-events.spec.ts.snap +1 -56
- package/src/components/VCalendar/mixins/__tests__/calendar-base.spec.ts +24 -21
- package/src/components/VCalendar/mixins/__tests__/calendar-with-events.spec.ts +27 -34
- package/src/components/VCalendar/mixins/__tests__/calendar-with-intervals.spec.ts +31 -28
- package/src/components/VCalendar/mixins/__tests__/times.spec.ts +10 -9
- package/src/components/VCalendar/mixins/calendar-base.ts +8 -12
- package/src/components/VCalendar/mixins/calendar-with-events.ts +19 -38
- package/src/components/VCalendar/mixins/calendar-with-intervals.ts +1 -1
- package/src/components/VCalendar/mixins/times.ts +1 -1
- package/src/components/VCarousel/VCarousel.ts +16 -12
- package/src/components/VCarousel/VCarouselItem.ts +1 -1
- package/src/components/VCheckbox/VCheckbox.ts +20 -2
- package/src/components/VCheckbox/VSimpleCheckbox.ts +0 -3
- package/src/components/VChip/VChip.ts +16 -13
- package/src/components/VData/VData.ts +2 -0
- package/src/components/VDataIterator/VDataFooter.ts +3 -1
- package/src/components/VDataIterator/VDataIterator.ts +2 -0
- package/src/components/VDataTable/VDataTable.ts +7 -9
- package/src/components/VDataTable/VDataTableHeader.ts +2 -4
- package/src/components/VDataTable/VDataTableHeaderDesktop.ts +5 -0
- package/src/components/VDataTable/VDataTableHeaderMobile.ts +2 -0
- package/src/components/VDataTable/VEditDialog.ts +20 -18
- package/src/components/VDataTable/mixins/header.ts +1 -5
- package/src/components/VDatePicker/VDatePicker.ts +13 -18
- package/src/components/VDatePicker/VDatePickerHeader.ts +44 -32
- package/src/components/VDatePicker/VDatePickerMonthTable.ts +1 -1
- package/src/components/VDatePicker/VDatePickerTitle.ts +9 -7
- package/src/components/VDatePicker/VDatePickerYears.ts +6 -10
- package/src/components/VDatePicker/__tests__/VDatePicker.date.spec.ts +302 -246
- package/src/components/VDatePicker/__tests__/VDatePicker.month.spec.ts +90 -86
- package/src/components/VDatePicker/__tests__/VDatePickerDateTable.spec.ts +76 -90
- package/src/components/VDatePicker/__tests__/VDatePickerHeader.spec.ts +96 -71
- package/src/components/VDatePicker/__tests__/VDatePickerMonthTable.spec.ts +63 -77
- package/src/components/VDatePicker/__tests__/VDatePickerTitle.spec.ts +48 -28
- package/src/components/VDatePicker/__tests__/VDatePickerYears.spec.ts +25 -22
- package/src/components/VDatePicker/__tests__/__snapshots__/VDatePicker.date.spec.ts.snap +601 -586
- package/src/components/VDatePicker/__tests__/__snapshots__/VDatePicker.month.spec.ts.snap +203 -193
- package/src/components/VDatePicker/__tests__/__snapshots__/VDatePickerDateTable.spec.ts.snap +615 -615
- package/src/components/VDatePicker/__tests__/__snapshots__/VDatePickerHeader.spec.ts.snap +52 -52
- package/src/components/VDatePicker/__tests__/__snapshots__/VDatePickerMonthTable.spec.ts.snap +144 -144
- package/src/components/VDatePicker/__tests__/__snapshots__/VDatePickerTitle.spec.ts.snap +3 -4
- package/src/components/VDatePicker/mixins/date-picker-table.ts +19 -14
- package/src/components/VDatePicker/util/__tests__/createNativeLocaleFormatter.spec.ts +7 -0
- package/src/components/VDatePicker/util/createNativeLocaleFormatter.ts +3 -0
- package/src/components/VDialog/VDialog.ts +9 -7
- package/src/components/VExpansionPanel/VExpansionPanel.ts +5 -0
- package/src/components/VExpansionPanel/VExpansionPanelContent.ts +1 -1
- package/src/components/VExpansionPanel/VExpansionPanelHeader.ts +2 -3
- package/src/components/VFileInput/VFileInput.ts +2 -0
- package/src/components/VForm/VForm.ts +2 -0
- package/src/components/VHover/VHover.ts +2 -0
- package/src/components/VImg/VImg.ts +4 -3
- package/src/components/VInput/VInput.ts +4 -2
- package/src/components/VItemGroup/VItem.ts +4 -0
- package/src/components/VItemGroup/VItemGroup.ts +7 -1
- package/src/components/VLazy/VLazy.ts +11 -13
- package/src/components/VList/VListGroup.ts +12 -13
- package/src/components/VList/VListItem.ts +36 -19
- package/src/components/VList/VListItemAction.ts +11 -10
- package/src/components/VMenu/VMenu.ts +3 -1
- package/src/components/VMessages/VMessages.ts +1 -1
- package/src/components/VNavigationDrawer/VNavigationDrawer.ts +2 -5
- package/src/components/VOtpInput/VOtpInput.ts +2 -3
- package/src/components/VOverflowBtn/VOverflowBtn.ts +3 -1
- package/src/components/VOverlay/VOverlay.ts +2 -0
- package/src/components/VPagination/VPagination.ts +3 -2
- package/src/components/VPicker/VPicker.ts +9 -11
- package/src/components/VPicker/__tests__/VPicker.spec.ts +14 -15
- package/src/components/VProgressCircular/VProgressCircular.ts +0 -1
- package/src/components/VProgressLinear/VProgressLinear.ts +14 -13
- package/src/components/VRadioGroup/VRadio.ts +4 -2
- package/src/components/VSelect/VSelect.ts +61 -21
- package/src/components/VSelect/VSelectList.ts +16 -12
- package/src/components/VSlideGroup/VSlideGroup.ts +5 -7
- package/src/components/VSlideGroup/VSlideItem.ts +2 -0
- package/src/components/VSlider/VSlider.ts +1 -4
- package/src/components/VSnackbar/VSnackbar.ts +1 -1
- package/src/components/VSparkline/VSparkline.ts +54 -92
- package/src/components/VSpeedDial/VSpeedDial.ts +6 -8
- package/src/components/VStepper/VStepper.ts +3 -1
- package/src/components/VStepper/VStepperContent.ts +1 -1
- package/src/components/VStepper/VStepperStep.ts +8 -15
- package/src/components/VSwitch/VSwitch.ts +5 -6
- package/src/components/VTabs/VTab.ts +2 -0
- package/src/components/VTabs/VTabs.ts +18 -12
- package/src/components/VTabs/VTabsItems.ts +2 -0
- package/src/components/VTextField/VTextField.ts +10 -13
- package/src/components/VTimePicker/VTimePicker.ts +199 -89
- package/src/components/VTimePicker/VTimePickerClock.ts +40 -45
- package/src/components/VTimePicker/VTimePickerTitle.ts +5 -4
- package/src/components/VTimePicker/__tests__/VTimePicker.spec.ts +153 -140
- package/src/components/VTimePicker/__tests__/VTimePickerClock.spec.ts +78 -81
- package/src/components/VTimePicker/__tests__/VTimePickerTitle.spec.ts +47 -41
- package/src/components/VTimePicker/__tests__/__snapshots__/VTimePicker.spec.ts.snap +160 -40
- package/src/components/VToolbar/VToolbar.ts +1 -1
- package/src/components/VTooltip/VTooltip.ts +2 -2
- package/src/components/VTreeview/VTreeviewNode.ts +3 -3
- package/src/components/VVirtualScroll/VVirtualScroll.ts +0 -1
- package/src/components/VWindow/VWindow.ts +0 -1
- package/src/components/VWindow/VWindowItem.ts +2 -3
- package/src/components/transitions/createTransition.ts +2 -2
- package/src/mixins/detachable/index.ts +11 -5
- package/src/mixins/picker/index.ts +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VSlideGroup/VSlideGroup.ts"],"names":[],"mappings":"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","sourcesContent":["import {h, withDirectives} from 'vue'\n// Styles\nimport './VSlideGroup.sass'\n\n// Components\nimport VIcon from '../VIcon'\nimport { VFadeTransition } from '../transitions'\n\n// Extensions\nimport { BaseItemGroup } from '../VItemGroup/VItemGroup'\n\n// Mixins\nimport Mobile from '../../mixins/mobile'\n\n// Directives\nimport Resize from '../../directives/resize'\nimport Touch from '../../directives/touch'\n\n// Utilities\nimport mixins, { ExtractVue } from '../../util/mixins'\n\n// Types\nimport Vue, { VNode, defineComponent } from 'vue'\nimport { composedPath, getSlot } from '../../util/helpers'\n\ninterface TouchEvent {\n touchstartX: number\n touchstartY: number\n touchmoveX: number\n touchmoveY: number\n stopPropagation: Function\n}\n\ninterface Widths {\n content: number\n wrapper: number\n}\n\ninterface options extends Vue {\n $refs: {\n content: HTMLElement\n wrapper: HTMLElement\n }\n}\n\nfunction bias (val: number) {\n const c = 0.501\n const x = Math.abs(val)\n return Math.sign(val) * (x / ((1 / c - 2) * (1 - x) + 1))\n}\n\nexport function calculateUpdatedOffset (\n selectedElement: HTMLElement,\n widths: Widths,\n rtl: boolean,\n currentScrollOffset: number\n): number {\n const clientWidth = selectedElement.clientWidth\n const offsetLeft = rtl\n ? (widths.content - selectedElement.offsetLeft - clientWidth)\n : selectedElement.offsetLeft\n\n if (rtl) {\n currentScrollOffset = -currentScrollOffset\n }\n\n const totalWidth = widths.wrapper + currentScrollOffset\n const itemOffset = clientWidth + offsetLeft\n const additionalOffset = clientWidth * 0.4\n\n if (offsetLeft <= currentScrollOffset) {\n currentScrollOffset = Math.max(offsetLeft - additionalOffset, 0)\n } else if (totalWidth <= itemOffset) {\n currentScrollOffset = Math.min(currentScrollOffset - (totalWidth - itemOffset - additionalOffset), widths.content - widths.wrapper)\n }\n\n return rtl ? -currentScrollOffset : currentScrollOffset\n}\n\nexport function calculateCenteredOffset (\n selectedElement: HTMLElement,\n widths: Widths,\n rtl: boolean\n): number {\n const { offsetLeft, clientWidth } = selectedElement\n\n if (rtl) {\n const offsetCentered = widths.content - offsetLeft - clientWidth / 2 - widths.wrapper / 2\n return -Math.min(widths.content - widths.wrapper, Math.max(0, offsetCentered))\n } else {\n const offsetCentered = offsetLeft + clientWidth / 2 - widths.wrapper / 2\n return Math.min(widths.content - widths.wrapper, Math.max(0, offsetCentered))\n }\n}\n\nexport const BaseSlideGroup = mixins<options &\n/* eslint-disable indent */\n ExtractVue<[\n typeof BaseItemGroup,\n typeof Mobile,\n ]>\n/* eslint-enable indent */\n>(\n BaseItemGroup,\n Mobile,\n /* @vue/component */\n).extend({\n name: 'base-slide-group',\n\n directives: {\n Resize,\n Touch,\n },\n\n props: {\n activeClass: {\n type: String,\n default: 'v-slide-item--active',\n },\n centerActive: Boolean,\n nextIcon: {\n type: String,\n default: '$next',\n },\n prevIcon: {\n type: String,\n default: '$prev',\n },\n showArrows: {\n type: [Boolean, String],\n validator: (v: any) => (\n typeof v === 'boolean' || [\n 'always',\n 'never',\n 'desktop',\n 'mobile',\n ].includes(v)\n ),\n },\n },\n\n data: () => ({\n isOverflowing: false,\n resizeTimeout: 0,\n startX: 0,\n isSwipingHorizontal: false,\n isSwiping: false,\n scrollOffset: 0,\n widths: {\n content: 0,\n wrapper: 0,\n },\n }),\n\n computed: {\n canTouch (): boolean {\n return typeof window !== 'undefined'\n },\n __cachedNext (): VNode {\n return this.genTransition('next')\n },\n __cachedPrev (): VNode {\n return this.genTransition('prev')\n },\n classes (): object {\n return {\n ...BaseItemGroup.computed.classes.call(this),\n 'v-slide-group': true,\n 'v-slide-group--has-affixes': this.hasAffixes,\n 'v-slide-group--is-overflowing': this.isOverflowing,\n }\n },\n hasAffixes (): Boolean {\n switch (this.showArrows) {\n // Always show arrows on desktop & mobile\n case 'always': return true\n\n // Always show arrows on desktop\n case 'desktop': return !this.isMobile\n\n // Show arrows on mobile when overflowing.\n // This matches the default 2.2 behavior\n case true: return this.isOverflowing || Math.abs(this.scrollOffset) > 0\n\n // Always show on mobile\n case 'mobile': return (\n this.isMobile ||\n (this.isOverflowing || Math.abs(this.scrollOffset) > 0)\n )\n\n // Always hide arrows\n case 'never': return false\n\n // https://material.io/components/tabs#scrollable-tabs\n // Always show arrows when\n // overflowed on desktop\n default: return (\n !this.isMobile &&\n (this.isOverflowing || Math.abs(this.scrollOffset) > 0)\n )\n }\n },\n hasNext (): boolean {\n if (!this.hasAffixes) return false\n\n const { content, wrapper } = this.widths\n\n // Check one scroll ahead to know the width of right-most item\n return content > Math.abs(this.scrollOffset) + wrapper\n },\n hasPrev (): boolean {\n return this.hasAffixes && this.scrollOffset !== 0\n },\n },\n\n watch: {\n internalValue: 'setWidths',\n // When overflow changes, the arrows alter\n // the widths of the content and wrapper\n // and need to be recalculated\n isOverflowing: 'setWidths',\n scrollOffset (val) {\n if (this.$vuetify.rtl) val = -val\n\n let scroll =\n val <= 0\n ? bias(-val)\n : val > this.widths.content - this.widths.wrapper\n ? -(this.widths.content - this.widths.wrapper) + bias(this.widths.content - this.widths.wrapper - val)\n : -val\n\n if (this.$vuetify.rtl) scroll = -scroll\n\n this.$refs.content.style.transform = `translateX(${scroll}px)`\n },\n },\n\n mounted () {\n if (typeof ResizeObserver !== 'undefined') {\n const obs = new ResizeObserver(() => {\n this.onResize()\n })\n obs.observe(this.$el)\n obs.observe(this.$refs.content)\n this.$on('hook:destroyed', () => {\n obs.disconnect()\n })\n } else {\n let itemsLength = 0\n this.$on('hook:beforeUpdate', () => {\n itemsLength = (this.$refs.content?.children || []).length\n })\n this.$on('hook:updated', () => {\n if (itemsLength === (this.$refs.content?.children || []).length) return\n this.setWidths()\n })\n }\n },\n\n methods: {\n onScroll () {\n this.$refs.wrapper.scrollLeft = 0\n },\n onFocusin (e: FocusEvent) {\n if (!this.isOverflowing) 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 composedPath(e)) {\n for (const vm of this.items) {\n if (vm.$el === el) {\n this.scrollOffset = calculateUpdatedOffset(\n vm.$el as HTMLElement,\n this.widths,\n this.$vuetify.rtl,\n this.scrollOffset\n )\n return\n }\n }\n }\n },\n // Always generate next for scrollable hint\n genNext (): VNode | null {\n const slot = this.$slots.next\n ? this.$slots.next({})\n : getSlot(this, 'next') || this.__cachedNext\n\n return h('div', {\n class: ['v-slide-group__next', {\n 'v-slide-group__next--disabled': !this.hasNext,\n }],\n onClick: () => this.onAffixClick('next'),\n key: 'next',\n }, [slot])\n },\n genContent (): VNode {\n return h('div', {\n class: 'v-slide-group__content',\n ref: 'content',\n onFocusin: this.onFocusin,\n }, getSlot(this))\n },\n genData (): object {\n return {\n class: this.classes\n }\n },\n genIcon (location: 'prev' | 'next'): VNode | null {\n let icon = location\n\n if (this.$vuetify.rtl && location === 'prev') {\n icon = 'next'\n } else if (this.$vuetify.rtl && location === 'next') {\n icon = 'prev'\n }\n\n const upperLocation = `${location[0].toUpperCase()}${location.slice(1)}`\n const hasAffix = (this as any)[`has${upperLocation}`]\n\n if (\n !this.showArrows &&\n !hasAffix\n ) return null\n\n return h(VIcon, {\n disabled: !hasAffix,\n }, (this as any)[`${icon}Icon`])\n },\n // Always generate prev for scrollable hint\n genPrev (): VNode | null {\n const slot = this.$slots.prev\n ? this.$slots.prev({})\n : getSlot(this, 'prev') || this.__cachedPrev\n\n return h('div', {\n class: ['v-slide-group__prev', {\n 'v-slide-group__prev--disabled': !this.hasPrev,\n }],\n onClick: () => this.onAffixClick('prev'),\n key: 'prev',\n }, [slot])\n },\n genTransition (location: 'prev' | 'next') {\n return h(VFadeTransition, [this.genIcon(location)])\n },\n genWrapper (): VNode {\n return withDirectives(h('div', {\n class: 'v-slide-group__wrapper',\n ref: 'wrapper',\n onScroll: this.onScroll,\n }, [this.genContent()]), [\n [\n Touch,\n {\n start: (e: TouchEvent) => this.overflowCheck(e, this.onTouchStart),\n move: (e: TouchEvent) => this.overflowCheck(e, this.onTouchMove),\n end: (e: TouchEvent) => this.overflowCheck(e, this.onTouchEnd),\n }\n ]\n\n ])\n },\n calculateNewOffset (direction: 'prev' | 'next', widths: Widths, rtl: boolean, currentScrollOffset: number) {\n const sign = rtl ? -1 : 1\n const newAbosluteOffset = sign * currentScrollOffset +\n (direction === 'prev' ? -1 : 1) * widths.wrapper\n\n return sign * Math.max(Math.min(newAbosluteOffset, widths.content - widths.wrapper), 0)\n },\n onAffixClick (location: 'prev' | 'next') {\n this.$emit(`click:${location}`)\n this.scrollTo(location)\n },\n onResize () {\n /* istanbul ignore next */\n if (this._isDestroyed) return\n\n this.setWidths()\n },\n onTouchStart (e: TouchEvent) {\n const { content } = this.$refs\n\n this.startX = this.scrollOffset + e.touchstartX as number\n\n content.style.setProperty('transition', 'none')\n content.style.setProperty('willChange', 'transform')\n },\n onTouchMove (e: TouchEvent) {\n if (!this.canTouch) return\n\n if (!this.isSwiping) {\n // only calculate disableSwipeHorizontal during the first onTouchMove invoke\n // in order to ensure disableSwipeHorizontal value is consistent between onTouchStart and onTouchEnd\n const diffX = e.touchmoveX - e.touchstartX\n const diffY = e.touchmoveY - e.touchstartY\n this.isSwipingHorizontal = Math.abs(diffX) > Math.abs(diffY)\n this.isSwiping = true\n }\n\n if (this.isSwipingHorizontal) {\n // sliding horizontally\n this.scrollOffset = this.startX - e.touchmoveX\n // temporarily disable window vertical scrolling\n document.documentElement.style.overflowY = 'hidden'\n }\n },\n onTouchEnd () {\n if (!this.canTouch) return\n\n const { content, wrapper } = this.$refs\n const maxScrollOffset = content.clientWidth - wrapper.clientWidth\n\n content.style.setProperty('transition', null)\n content.style.setProperty('willChange', null)\n\n if (this.$vuetify.rtl) {\n /* istanbul ignore else */\n if (this.scrollOffset > 0 || !this.isOverflowing) {\n this.scrollOffset = 0\n } else if (this.scrollOffset <= -maxScrollOffset) {\n this.scrollOffset = -maxScrollOffset\n }\n } else {\n /* istanbul ignore else */\n if (this.scrollOffset < 0 || !this.isOverflowing) {\n this.scrollOffset = 0\n } else if (this.scrollOffset >= maxScrollOffset) {\n this.scrollOffset = maxScrollOffset\n }\n }\n\n this.isSwiping = false\n // rollback whole page scrolling to default\n document.documentElement.style.removeProperty('overflow-y')\n },\n overflowCheck (e: TouchEvent, fn: (e: TouchEvent) => void) {\n e.stopPropagation()\n this.isOverflowing && fn(e)\n },\n scrollIntoView /* istanbul ignore next */ () {\n if (!this.selectedItem && this.items.length) {\n const lastItemPosition = this.items[this.items.length - 1].$el.getBoundingClientRect()\n const wrapperPosition = this.$refs.wrapper.getBoundingClientRect()\n\n if (\n (this.$vuetify.rtl && wrapperPosition.right < lastItemPosition.right) ||\n (!this.$vuetify.rtl && wrapperPosition.left > lastItemPosition.left)\n ) {\n this.scrollTo('prev')\n }\n }\n\n if (!this.selectedItem) {\n return\n }\n\n if (\n this.selectedIndex === 0 ||\n (!this.centerActive && !this.isOverflowing)\n ) {\n this.scrollOffset = 0\n } else if (this.centerActive) {\n this.scrollOffset = calculateCenteredOffset(\n this.selectedItem.$el as HTMLElement,\n this.widths,\n this.$vuetify.rtl\n )\n } else if (this.isOverflowing) {\n this.scrollOffset = calculateUpdatedOffset(\n this.selectedItem.$el as HTMLElement,\n this.widths,\n this.$vuetify.rtl,\n this.scrollOffset\n )\n }\n },\n scrollTo /* istanbul ignore next */ (location: 'prev' | 'next') {\n this.scrollOffset = this.calculateNewOffset(location, {\n // Force reflow\n content: this.$refs.content ? this.$refs.content.clientWidth : 0,\n wrapper: this.$refs.wrapper ? this.$refs.wrapper.clientWidth : 0,\n }, this.$vuetify.rtl, this.scrollOffset)\n },\n setWidths () {\n window.requestAnimationFrame(() => {\n if (this._isDestroyed) return\n\n const { content, wrapper } = this.$refs\n\n this.widths = {\n content: content ? content.clientWidth : 0,\n wrapper: wrapper ? wrapper.clientWidth : 0,\n }\n\n // https://github.com/vuetifyjs/vuetify/issues/13212\n // We add +1 to the wrappers width to prevent an issue where the `clientWidth`\n // gets calculated wrongly by the browser if using a different zoom-level.\n this.isOverflowing = this.widths.wrapper + 1 < this.widths.content\n\n this.scrollIntoView()\n })\n },\n },\n\n render (): VNode {\n return withDirectives(h('div', this.genData(), [\n this.genPrev(),\n this.genWrapper(),\n this.genNext(),\n ]), [\n [\n Resize,\n this.onResize\n ]\n ])\n },\n})\n\nexport default defineComponent({\n name: 'v-slide-group',\n\n extends: BaseSlideGroup,\n\n provide (): object {\n return {\n slideGroup: this,\n }\n },\n})\n"],"sourceRoot":"","file":"VSlideGroup.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VSlideGroup/VSlideGroup.ts"],"names":[],"mappings":"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","sourcesContent":["import {h, withDirectives} from 'vue'\n// Styles\nimport './VSlideGroup.sass'\n\n// Components\nimport VIcon from '../VIcon'\nimport { VFadeTransition } from '../transitions'\n\n// Extensions\nimport { BaseItemGroup } from '../VItemGroup/VItemGroup'\n\n// Mixins\nimport Mobile from '../../mixins/mobile'\n\n// Directives\nimport Resize from '../../directives/resize'\nimport Touch from '../../directives/touch'\n\n// Utilities\nimport mixins, { ExtractVue } from '../../util/mixins'\n\n// Types\nimport Vue, { VNode, defineComponent } from 'vue'\nimport { composedPath, getSlot } from '../../util/helpers'\n\ninterface TouchEvent {\n touchstartX: number\n touchstartY: number\n touchmoveX: number\n touchmoveY: number\n stopPropagation: Function\n}\n\ninterface Widths {\n content: number\n wrapper: number\n}\n\ninterface options extends Vue {\n $refs: {\n content: HTMLElement\n wrapper: HTMLElement\n }\n}\n\nfunction bias (val: number) {\n const c = 0.501\n const x = Math.abs(val)\n return Math.sign(val) * (x / ((1 / c - 2) * (1 - x) + 1))\n}\n\nexport function calculateUpdatedOffset (\n selectedElement: HTMLElement,\n widths: Widths,\n rtl: boolean,\n currentScrollOffset: number\n): number {\n const clientWidth = selectedElement.clientWidth\n const offsetLeft = rtl\n ? (widths.content - selectedElement.offsetLeft - clientWidth)\n : selectedElement.offsetLeft\n\n if (rtl) {\n currentScrollOffset = -currentScrollOffset\n }\n\n const totalWidth = widths.wrapper + currentScrollOffset\n const itemOffset = clientWidth + offsetLeft\n const additionalOffset = clientWidth * 0.4\n\n if (offsetLeft <= currentScrollOffset) {\n currentScrollOffset = Math.max(offsetLeft - additionalOffset, 0)\n } else if (totalWidth <= itemOffset) {\n currentScrollOffset = Math.min(currentScrollOffset - (totalWidth - itemOffset - additionalOffset), widths.content - widths.wrapper)\n }\n\n return rtl ? -currentScrollOffset : currentScrollOffset\n}\n\nexport function calculateCenteredOffset (\n selectedElement: HTMLElement,\n widths: Widths,\n rtl: boolean\n): number {\n const { offsetLeft, clientWidth } = selectedElement\n\n if (rtl) {\n const offsetCentered = widths.content - offsetLeft - clientWidth / 2 - widths.wrapper / 2\n return -Math.min(widths.content - widths.wrapper, Math.max(0, offsetCentered))\n } else {\n const offsetCentered = offsetLeft + clientWidth / 2 - widths.wrapper / 2\n return Math.min(widths.content - widths.wrapper, Math.max(0, offsetCentered))\n }\n}\n\nexport const BaseSlideGroup = mixins<options &\n/* eslint-disable indent */\n ExtractVue<[\n typeof BaseItemGroup,\n typeof Mobile,\n ]>\n/* eslint-enable indent */\n>(\n BaseItemGroup,\n Mobile,\n /* @vue/component */\n).extend({\n name: 'base-slide-group',\n\n\n props: {\n activeClass: {\n type: String,\n default: 'v-slide-item--active',\n },\n centerActive: Boolean,\n nextIcon: {\n type: String,\n default: '$next',\n },\n prevIcon: {\n type: String,\n default: '$prev',\n },\n showArrows: {\n type: [Boolean, String],\n validator: (v: any) => (\n typeof v === 'boolean' || [\n 'always',\n 'never',\n 'desktop',\n 'mobile',\n ].includes(v)\n ),\n },\n },\n\n emits: ['click:prev', 'click:next'],\n\n data: () => ({\n isOverflowing: false,\n resizeTimeout: 0,\n startX: 0,\n isSwipingHorizontal: false,\n isSwiping: false,\n scrollOffset: 0,\n widths: {\n content: 0,\n wrapper: 0,\n },\n }),\n\n computed: {\n canTouch (): boolean {\n return typeof window !== 'undefined'\n },\n __cachedNext (): VNode {\n return this.genTransition('next')\n },\n __cachedPrev (): VNode {\n return this.genTransition('prev')\n },\n classes (): object {\n return {\n ...BaseItemGroup.computed.classes.call(this),\n 'v-slide-group': true,\n 'v-slide-group--has-affixes': this.hasAffixes,\n 'v-slide-group--is-overflowing': this.isOverflowing,\n }\n },\n hasAffixes (): Boolean {\n switch (this.showArrows) {\n // Always show arrows on desktop & mobile\n case 'always': return true\n\n // Always show arrows on desktop\n case 'desktop': return !this.isMobile\n\n // Show arrows on mobile when overflowing.\n // This matches the default 2.2 behavior\n case true: return this.isOverflowing || Math.abs(this.scrollOffset) > 0\n\n // Always show on mobile\n case 'mobile': return (\n this.isMobile ||\n (this.isOverflowing || Math.abs(this.scrollOffset) > 0)\n )\n\n // Always hide arrows\n case 'never': return false\n\n // https://material.io/components/tabs#scrollable-tabs\n // Always show arrows when\n // overflowed on desktop\n default: return (\n !this.isMobile &&\n (this.isOverflowing || Math.abs(this.scrollOffset) > 0)\n )\n }\n },\n hasNext (): boolean {\n if (!this.hasAffixes) return false\n\n const { content, wrapper } = this.widths\n\n // Check one scroll ahead to know the width of right-most item\n return content > Math.abs(this.scrollOffset) + wrapper\n },\n hasPrev (): boolean {\n return this.hasAffixes && this.scrollOffset !== 0\n },\n },\n\n watch: {\n internalValue: 'setWidths',\n // When overflow changes, the arrows alter\n // the widths of the content and wrapper\n // and need to be recalculated\n isOverflowing: 'setWidths',\n scrollOffset (val) {\n if (this.$vuetify.rtl) val = -val\n\n let scroll =\n val <= 0\n ? bias(-val)\n : val > this.widths.content - this.widths.wrapper\n ? -(this.widths.content - this.widths.wrapper) + bias(this.widths.content - this.widths.wrapper - val)\n : -val\n\n if (this.$vuetify.rtl) scroll = -scroll\n\n this.$refs.content.style.transform = `translateX(${scroll}px)`\n },\n },\n\n mounted () {\n if (typeof ResizeObserver !== 'undefined') {\n const obs = new ResizeObserver(() => {\n this.onResize()\n })\n obs.observe(this.$el)\n obs.observe(this.$refs.content)\n this.$on('hook:destroyed', () => {\n obs.disconnect()\n })\n } else {\n let itemsLength = 0\n this.$on('hook:beforeUpdate', () => {\n itemsLength = (this.$refs.content?.children || []).length\n })\n this.$on('hook:updated', () => {\n if (itemsLength === (this.$refs.content?.children || []).length) return\n this.setWidths()\n })\n }\n },\n\n methods: {\n onScroll () {\n this.$refs.wrapper.scrollLeft = 0\n },\n onFocusin (e: FocusEvent) {\n if (!this.isOverflowing) 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 composedPath(e)) {\n for (const vm of this.items) {\n if (vm.$el === el) {\n this.scrollOffset = calculateUpdatedOffset(\n vm.$el as HTMLElement,\n this.widths,\n this.$vuetify.rtl,\n this.scrollOffset\n )\n return\n }\n }\n }\n },\n // Always generate next for scrollable hint\n genNext (): VNode | null {\n const slot = this.$slots.next\n ? this.$slots.next({})\n : getSlot(this, 'next') || this.__cachedNext\n\n return h('div', {\n class: ['v-slide-group__next', {\n 'v-slide-group__next--disabled': !this.hasNext,\n }],\n onClick: () => this.onAffixClick('next'),\n key: 'next',\n }, [slot])\n },\n genContent (): VNode {\n return h('div', {\n class: 'v-slide-group__content',\n ref: 'content',\n onFocusin: this.onFocusin,\n }, getSlot(this))\n },\n genData (): object {\n return {\n class: this.classes\n }\n },\n genIcon (location: 'prev' | 'next'): VNode | null {\n let icon = location\n\n if (this.$vuetify.rtl && location === 'prev') {\n icon = 'next'\n } else if (this.$vuetify.rtl && location === 'next') {\n icon = 'prev'\n }\n\n const upperLocation = `${location[0].toUpperCase()}${location.slice(1)}`\n const hasAffix = (this as any)[`has${upperLocation}`]\n\n if (\n !this.showArrows &&\n !hasAffix\n ) return null\n\n return h(VIcon, () => ({\n disabled: !hasAffix,\n }, (this as any)[`${icon}Icon`]))\n },\n // Always generate prev for scrollable hint\n genPrev (): VNode | null {\n const slot = this.$slots.prev\n ? this.$slots.prev({})\n : getSlot(this, 'prev') || this.__cachedPrev\n\n return h('div', {\n class: ['v-slide-group__prev', {\n 'v-slide-group__prev--disabled': !this.hasPrev,\n }],\n onClick: () => this.onAffixClick('prev'),\n key: 'prev',\n }, [slot])\n },\n genTransition (location: 'prev' | 'next') {\n return h(VFadeTransition, () => [this.genIcon(location)])\n },\n genWrapper (): VNode {\n return withDirectives(h('div', {\n class: 'v-slide-group__wrapper',\n ref: 'wrapper',\n onScroll: this.onScroll,\n }, [this.genContent()]), [\n [\n Touch,\n {\n start: (e: TouchEvent) => this.overflowCheck(e, this.onTouchStart),\n move: (e: TouchEvent) => this.overflowCheck(e, this.onTouchMove),\n end: (e: TouchEvent) => this.overflowCheck(e, this.onTouchEnd),\n }\n ]\n\n ])\n },\n calculateNewOffset (direction: 'prev' | 'next', widths: Widths, rtl: boolean, currentScrollOffset: number) {\n const sign = rtl ? -1 : 1\n const newAbosluteOffset = sign * currentScrollOffset +\n (direction === 'prev' ? -1 : 1) * widths.wrapper\n\n return sign * Math.max(Math.min(newAbosluteOffset, widths.content - widths.wrapper), 0)\n },\n onAffixClick (location: 'prev' | 'next') {\n this.$emit(`click:${location}`)\n this.scrollTo(location)\n },\n onResize () {\n /* istanbul ignore next */\n if (this._isDestroyed) return\n\n this.setWidths()\n },\n onTouchStart (e: TouchEvent) {\n const { content } = this.$refs\n\n this.startX = this.scrollOffset + e.touchstartX as number\n\n content.style.setProperty('transition', 'none')\n content.style.setProperty('willChange', 'transform')\n },\n onTouchMove (e: TouchEvent) {\n if (!this.canTouch) return\n\n if (!this.isSwiping) {\n // only calculate disableSwipeHorizontal during the first onTouchMove invoke\n // in order to ensure disableSwipeHorizontal value is consistent between onTouchStart and onTouchEnd\n const diffX = e.touchmoveX - e.touchstartX\n const diffY = e.touchmoveY - e.touchstartY\n this.isSwipingHorizontal = Math.abs(diffX) > Math.abs(diffY)\n this.isSwiping = true\n }\n\n if (this.isSwipingHorizontal) {\n // sliding horizontally\n this.scrollOffset = this.startX - e.touchmoveX\n // temporarily disable window vertical scrolling\n document.documentElement.style.overflowY = 'hidden'\n }\n },\n onTouchEnd () {\n if (!this.canTouch) return\n\n const { content, wrapper } = this.$refs\n const maxScrollOffset = content.clientWidth - wrapper.clientWidth\n\n content.style.setProperty('transition', null)\n content.style.setProperty('willChange', null)\n\n if (this.$vuetify.rtl) {\n /* istanbul ignore else */\n if (this.scrollOffset > 0 || !this.isOverflowing) {\n this.scrollOffset = 0\n } else if (this.scrollOffset <= -maxScrollOffset) {\n this.scrollOffset = -maxScrollOffset\n }\n } else {\n /* istanbul ignore else */\n if (this.scrollOffset < 0 || !this.isOverflowing) {\n this.scrollOffset = 0\n } else if (this.scrollOffset >= maxScrollOffset) {\n this.scrollOffset = maxScrollOffset\n }\n }\n\n this.isSwiping = false\n // rollback whole page scrolling to default\n document.documentElement.style.removeProperty('overflow-y')\n },\n overflowCheck (e: TouchEvent, fn: (e: TouchEvent) => void) {\n e.stopPropagation()\n this.isOverflowing && fn(e)\n },\n scrollIntoView /* istanbul ignore next */ () {\n if (!this.selectedItem && this.items.length) {\n const lastItemPosition = this.items[this.items.length - 1].$el.getBoundingClientRect()\n const wrapperPosition = this.$refs.wrapper.getBoundingClientRect()\n\n if (\n (this.$vuetify.rtl && wrapperPosition.right < lastItemPosition.right) ||\n (!this.$vuetify.rtl && wrapperPosition.left > lastItemPosition.left)\n ) {\n this.scrollTo('prev')\n }\n }\n\n if (!this.selectedItem) {\n return\n }\n\n if (\n this.selectedIndex === 0 ||\n (!this.centerActive && !this.isOverflowing)\n ) {\n this.scrollOffset = 0\n } else if (this.centerActive) {\n this.scrollOffset = calculateCenteredOffset(\n this.selectedItem.$el as HTMLElement,\n this.widths,\n this.$vuetify.rtl\n )\n } else if (this.isOverflowing) {\n this.scrollOffset = calculateUpdatedOffset(\n this.selectedItem.$el as HTMLElement,\n this.widths,\n this.$vuetify.rtl,\n this.scrollOffset\n )\n }\n },\n scrollTo /* istanbul ignore next */ (location: 'prev' | 'next') {\n this.scrollOffset = this.calculateNewOffset(location, {\n // Force reflow\n content: this.$refs.content ? this.$refs.content.clientWidth : 0,\n wrapper: this.$refs.wrapper ? this.$refs.wrapper.clientWidth : 0,\n }, this.$vuetify.rtl, this.scrollOffset)\n },\n setWidths () {\n window.requestAnimationFrame(() => {\n if (this._isDestroyed) return\n\n const { content, wrapper } = this.$refs\n\n this.widths = {\n content: content ? content.clientWidth : 0,\n wrapper: wrapper ? wrapper.clientWidth : 0,\n }\n\n // https://github.com/vuetifyjs/vuetify/issues/13212\n // We add +1 to the wrappers width to prevent an issue where the `clientWidth`\n // gets calculated wrongly by the browser if using a different zoom-level.\n this.isOverflowing = this.widths.wrapper + 1 < this.widths.content\n\n this.scrollIntoView()\n })\n },\n },\n\n render (): VNode {\n return withDirectives(h('div', this.genData(), [\n this.genPrev(),\n this.genWrapper(),\n this.genNext(),\n ]), [\n [\n Resize,\n this.onResize\n ]\n ])\n },\n})\n\nexport default defineComponent({\n name: 'v-slide-group',\n\n extends: BaseSlideGroup,\n\n provide (): object {\n return {\n slideGroup: this,\n }\n },\n})\n"],"sourceRoot":"","file":"VSlideGroup.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VSlideGroup/VSlideItem.ts"],"names":[],"mappings":"AAAA;AACA,SAAS,QAAT,QAAyB,qBAAzB,C,CAEA;;AACA,SAAS,OAAO,IAAI,gBAApB,QAA4C,wBAA5C;AACA,OAAO,MAAP,MAAmB,mBAAnB;AAEA,eAAe,MAAM,CACnB,QADmB,EAEnB,gBAAgB,CAAC,YAAD;AAChB;AAHmB,CAAN,CAIb,MAJa,CAIN;AACP,EAAA,IAAI,EAAE;
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VSlideGroup/VSlideItem.ts"],"names":[],"mappings":"AAAA;AACA,SAAS,QAAT,QAAyB,qBAAzB,C,CAEA;;AACA,SAAS,OAAO,IAAI,gBAApB,QAA4C,wBAA5C;AACA,OAAO,MAAP,MAAmB,mBAAnB;AAEA,eAAe,MAAM,CACnB,QADmB,EAEnB,gBAAgB,CAAC,YAAD;AAChB;AAHmB,CAAN,CAIb,MAJa,CAIN;AACP,EAAA,IAAI,EAAE,cADC;AAGP,EAAA,KAAK,EAAE,CAAC,QAAD;AAHA,CAJM,CAAf","sourcesContent":["// Extensions\nimport { BaseItem } from '../VItemGroup/VItem'\n\n// Mixins\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport mixins from '../../util/mixins'\n\nexport default mixins(\n BaseItem,\n GroupableFactory('slideGroup')\n /* @vue/component */\n).extend({\n name: 'v-slide-item',\n\n emits: ['change'],\n})\n"],"sourceRoot":"","file":"VSlideItem.js"}
|
|
@@ -16,9 +16,6 @@ export default mixins(VInput, Loadable
|
|
|
16
16
|
/* @vue/component */
|
|
17
17
|
).extend({
|
|
18
18
|
name: 'v-slider',
|
|
19
|
-
directives: {
|
|
20
|
-
ClickOutside
|
|
21
|
-
},
|
|
22
19
|
props: {
|
|
23
20
|
disabled: Boolean,
|
|
24
21
|
inverseLabel: Boolean,
|
|
@@ -348,7 +345,7 @@ export default mixins(VInput, Loadable
|
|
|
348
345
|
const transform = this.vertical ? `translateY(20%) translateY(${Number(this.thumbSize) / 3 - 1}px) translateX(55%) rotate(135deg)` : `translateY(-20%) translateY(-12px) translateX(-50%) rotate(45deg)`;
|
|
349
346
|
return h(VScaleTransition, {
|
|
350
347
|
origin: 'bottom center'
|
|
351
|
-
}, [withDirectives(h('div', {
|
|
348
|
+
}, () => [withDirectives(h('div', {
|
|
352
349
|
class: 'v-slider__thumb-label-container'
|
|
353
350
|
}, [h('div', this.setBackgroundColor(this.computedThumbColor, {
|
|
354
351
|
class: 'v-slider__thumb-label',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VSlider/VSlider.ts"],"names":[],"mappings":"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","sourcesContent":["import './VSlider.sass'\n\n// Components\nimport VInput from '../VInput'\nimport { VScaleTransition } from '../transitions'\n\n// Mixins\nimport mixins, { ExtractVue } from '../../util/mixins'\nimport Loadable from '../../mixins/loadable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\n\n// Helpers\nimport { addOnceEventListener, deepEqual, keyCodes, createRange, convertToUnit, passiveSupported } from '../../util/helpers'\nimport { consoleWarn } from '../../util/console'\n\n// Types\nimport { defineComponent, VNode, PropType, h, getCurrentInstance, withDirectives, vShow } from 'vue'\nimport { PropValidator } from 'vue/types/options'\n\ninterface options {\n $refs: {\n track: HTMLElement\n }\n}\n\nexport default mixins<options &\n/* eslint-disable indent */\n ExtractVue<[\n typeof VInput,\n typeof Loadable\n ]>\n/* eslint-enable indent */\n>(\n VInput,\n Loadable\n/* @vue/component */\n).extend({\n name: 'v-slider',\n\n directives: {\n ClickOutside,\n },\n\n props: {\n disabled: Boolean,\n inverseLabel: Boolean,\n max: {\n type: [Number, String],\n default: 100,\n },\n min: {\n type: [Number, String],\n default: 0,\n },\n step: {\n type: [Number, String],\n default: 1,\n },\n thumbColor: String,\n thumbLabel: {\n type: [Boolean, String] as PropType<boolean | 'always' | undefined>,\n default: undefined,\n validator: (v: any) => typeof v === 'boolean' || v === 'always' || v === undefined,\n },\n thumbSize: {\n type: [Number, String],\n default: 32,\n },\n tickLabels: {\n type: Array,\n default: () => ([]),\n } as PropValidator<string[]>,\n ticks: {\n type: [Boolean, String] as PropType<boolean | 'always'>,\n default: false,\n validator: (v: any) => typeof v === 'boolean' || v === 'always',\n },\n tickSize: {\n type: [Number, String],\n default: 2,\n },\n trackColor: String,\n trackFillColor: String,\n modelValue: [Number, String],\n vertical: Boolean,\n },\n\n emits: [\n 'update:modelValue',\n 'start',\n 'end',\n 'mouseup',\n 'change',\n 'focus',\n 'blur',\n ],\n\n data: () => ({\n app: null as any,\n oldValue: null as any,\n thumbPressed: false,\n mouseTimeout: -1,\n isFocused: false,\n isActive: false,\n noClick: false, // Prevent click event if dragging took place, hack for #7915\n startOffset: 0,\n }),\n\n computed: {\n classes (): object {\n return {\n ...VInput.computed.classes.call(this),\n 'v-input__slider': true,\n 'v-input__slider--vertical': this.vertical,\n 'v-input__slider--inverse-label': this.inverseLabel,\n }\n },\n internalValue: {\n get (): number {\n return this.lazyValue\n },\n set (val: number) {\n const originalVal = val\n val = isNaN(val) ? this.minValue : val\n // Round value to ensure the\n // entire slider range can\n // be selected with step\n let value = this.roundValue(val)\n // Then clamp to min/max\n value = Math.min(Math.max(value, this.minValue), this.maxValue)\n\n if (value === this.lazyValue) return\n\n this.lazyValue = value\n\n this.$emit('update:modelValue', value)\n },\n },\n trackTransition (): string {\n return this.thumbPressed\n ? this.showTicks || this.stepNumeric\n ? '0.1s cubic-bezier(0.25, 0.8, 0.5, 1)'\n : 'none'\n : ''\n },\n minValue (): number {\n return parseFloat(this.min)\n },\n maxValue (): number {\n return parseFloat(this.max)\n },\n stepNumeric (): number {\n const step = parseFloat(this.step)\n return step > 0 ? step : 0\n },\n inputWidth (): number {\n const inputWidth = (this.roundValue(this.internalValue) - this.minValue) / (this.maxValue - this.minValue) * 100\n\n return isNaN(inputWidth) ? 0 : inputWidth\n },\n trackFillStyles (): Partial<CSSStyleDeclaration> {\n const startDir = this.vertical ? 'bottom' : 'left'\n const endDir = this.vertical ? 'top' : 'right'\n const valueDir = this.vertical ? 'height' : 'width'\n\n const start = this.$vuetify.rtl ? 'auto' : '0'\n const end = this.$vuetify.rtl ? '0' : 'auto'\n const value = this.isDisabled ? `calc(${this.inputWidth}% - 10px)` : `${this.inputWidth}%`\n\n return {\n transition: this.trackTransition,\n [startDir]: start,\n [endDir]: end,\n [valueDir]: value,\n }\n },\n trackStyles (): Partial<CSSStyleDeclaration> {\n const startDir = this.vertical ? this.$vuetify.rtl ? 'bottom' : 'top' : this.$vuetify.rtl ? 'left' : 'right'\n const endDir = this.vertical ? 'height' : 'width'\n\n const start = '0px'\n const end = this.isDisabled ? `calc(${100 - this.inputWidth}% - 10px)` : `calc(${100 - this.inputWidth}%)`\n\n return {\n transition: this.trackTransition,\n [startDir]: start,\n [endDir]: end,\n }\n },\n showTicks (): boolean {\n return this.tickLabels.length > 0 ||\n !!(!this.isDisabled && this.stepNumeric && this.ticks)\n },\n numTicks (): number {\n return Math.ceil((this.maxValue - this.minValue) / this.stepNumeric)\n },\n showThumbLabel (): boolean {\n return !this.isDisabled && !!(\n this.thumbLabel ||\n this.$slots['thumb-label']\n )\n },\n computedTrackColor (): string | undefined {\n if (this.isDisabled) return undefined\n if (this.trackColor) return this.trackColor\n if (this.isDark) return this.validationState\n return this.validationState || 'primary lighten-3'\n },\n computedTrackFillColor (): string | undefined {\n if (this.isDisabled) return undefined\n if (this.trackFillColor) return this.trackFillColor\n return this.validationState || this.computedColor\n },\n computedThumbColor (): string | undefined {\n if (this.thumbColor) return this.thumbColor\n return this.validationState || this.computedColor\n },\n },\n\n watch: {\n min (val) {\n const parsed = parseFloat(val)\n if (parsed > this.internalValue) {\n this.$emit('update:modelValue', parsed)\n }\n },\n max (val) {\n const parsed = parseFloat(val)\n if (parsed < this.internalValue) {\n this.$emit('update:modelValue', parsed)\n }\n },\n modelValue: {\n handler (v: number) {\n // Use the setter to ensure proper rounding and validation\n this.internalValue = v\n },\n immediate: true,\n },\n },\n\n\n mounted () {\n // Without a v-app, iOS does not work with body selectors\n this.app = document.querySelector('[data-app]') ||\n consoleWarn('Missing v-app or a non-body wrapping element with the [data-app] attribute', this)\n },\n\n methods: {\n genDefaultSlot (): VNode[] {\n const children: VNode[] = [this.genLabel()]\n const slider = this.genSlider()\n this.inverseLabel\n ? children.unshift(slider)\n : children.push(slider)\n\n children.push(this.genProgress())\n\n return children\n },\n genSlider (): VNode {\n return withDirectives(h('div', {\n class: {\n 'v-slider': true,\n 'v-slider--horizontal': !this.vertical,\n 'v-slider--vertical': this.vertical,\n 'v-slider--focused': this.isFocused,\n 'v-slider--active': this.isActive,\n 'v-slider--disabled': this.isDisabled,\n 'v-slider--readonly': this.isReadonly,\n ...this.themeClasses,\n },\n onClick: this.onSliderClick,\n onMousedown: this.onSliderMouseDown,\n onTouchstart: this.onSliderMouseDown,\n }, this.genChildren()), [\n [ClickOutside, this.onBlur],\n ])\n },\n genChildren (): VNode[] {\n return [\n this.genInput(),\n this.genTrackContainer(),\n this.genSteps(),\n this.genThumbContainer(\n this.internalValue,\n this.inputWidth,\n this.isActive,\n this.isFocused,\n this.onFocus,\n this.onBlur,\n ),\n ]\n },\n genInput (): VNode {\n return h('input', {\n value: this.internalValue,\n id: this.computedId,\n disabled: true,\n readonly: true,\n tabindex: -1,\n ...this.$attrs,\n // on: this.genListeners(), // TODO: do we need to attach the listeners to input?\n })\n },\n genTrackContainer (): VNode {\n const children = [\n h('div', this.setBackgroundColor(this.computedTrackColor, {\n class: 'v-slider__track-background',\n style: this.trackStyles,\n })),\n h('div', this.setBackgroundColor(this.computedTrackFillColor, {\n class: 'v-slider__track-fill',\n style: this.trackFillStyles,\n })),\n ]\n\n return h('div', {\n class: 'v-slider__track-container',\n ref: 'track',\n }, children)\n },\n genSteps (): VNode | null {\n if (!this.step || !this.showTicks) return null\n\n const tickSize = parseFloat(this.tickSize)\n const range = createRange(this.numTicks + 1)\n const direction = this.vertical ? 'bottom' : (this.$vuetify.rtl ? 'right' : 'left')\n const offsetDirection = this.vertical ? (this.$vuetify.rtl ? 'left' : 'right') : 'top'\n\n if (this.vertical) range.reverse()\n\n const ticks = range.map(index => {\n const children = []\n\n if (this.tickLabels[index]) {\n children.push(h('div', {\n class: 'v-slider__tick-label',\n }, this.tickLabels[index]))\n }\n\n const width = index * (100 / this.numTicks)\n const filled = this.$vuetify.rtl ? (100 - this.inputWidth) < width : width < this.inputWidth\n\n return h('span', {\n key: index,\n class: ['v-slider__tick', {\n 'v-slider__tick--filled': filled,\n }],\n style: {\n width: `${tickSize}px`,\n height: `${tickSize}px`,\n [direction]: `calc(${width}% - ${tickSize / 2}px)`,\n [offsetDirection]: `calc(50% - ${tickSize / 2}px)`,\n },\n }, children)\n })\n\n return h('div', {\n class: ['v-slider__ticks-container', {\n 'v-slider__ticks-container--always-show': this.ticks === 'always' || this.tickLabels.length > 0,\n }],\n }, ticks)\n },\n genThumbContainer (\n value: number,\n valueWidth: number,\n isActive: boolean,\n isFocused: boolean,\n onFocus: Function,\n onBlur: Function,\n ref = 'thumb'\n ): VNode {\n const children = [this.genThumb()]\n\n const thumbLabelContent = this.genThumbLabelContent(value)\n this.showThumbLabel && children.push(this.genThumbLabel(thumbLabelContent))\n\n return h('div', this.setTextColor(this.computedThumbColor, {\n ref,\n key: ref,\n class: ['v-slider__thumb-container', {\n 'v-slider__thumb-container--active': isActive,\n 'v-slider__thumb-container--focused': isFocused,\n 'v-slider__thumb-container--show-label': this.showThumbLabel,\n }],\n style: this.getThumbContainerStyles(valueWidth),\n role: 'slider',\n tabindex: this.isDisabled ? -1 : this.$attrs.tabindex ? this.$attrs.tabindex : 0,\n 'aria-label': this.$attrs['aria-label'] || this.label,\n 'aria-valuemin': this.min,\n 'aria-valuemax': this.max,\n 'aria-valuenow': this.internalValue,\n 'aria-readonly': String(this.isReadonly),\n 'aria-orientation': this.vertical ? 'vertical' : 'horizontal',\n onFocus,\n onBlur,\n onKeydown: this.onKeyDown,\n }), children)\n },\n genThumbLabelContent (value: number | string): any {\n return this.$slots['thumb-label']\n ? this.$slots['thumb-label']!({ value })\n : [h('span', [String(value)])]\n },\n genThumbLabel (content: any): VNode {\n const size = convertToUnit(this.thumbSize)\n\n const transform = this.vertical\n ? `translateY(20%) translateY(${(Number(this.thumbSize) / 3) - 1}px) translateX(55%) rotate(135deg)`\n : `translateY(-20%) translateY(-12px) translateX(-50%) rotate(45deg)`\n\n return h(VScaleTransition, {\n origin: 'bottom center',\n }, [\n withDirectives(h('div', {\n class: 'v-slider__thumb-label-container',\n }, [\n h('div', this.setBackgroundColor(this.computedThumbColor, {\n class: 'v-slider__thumb-label',\n style: {\n height: size,\n width: size,\n transform,\n },\n }), [h('div', content)]),\n ]), [\n [vShow, this.isFocused || this.isActive || this.thumbLabel === 'always'],\n ]),\n ])\n },\n genThumb (): VNode {\n return h('div', this.setBackgroundColor(this.computedThumbColor, {\n class: 'v-slider__thumb',\n }))\n },\n getThumbContainerStyles (width: number): object {\n const direction = this.vertical ? 'top' : 'left'\n let value = this.$vuetify.rtl ? 100 - width : width\n value = this.vertical ? 100 - value : value\n\n return {\n transition: this.trackTransition,\n [direction]: `${value}%`,\n }\n },\n onSliderMouseDown (e: MouseEvent | TouchEvent) {\n e.preventDefault()\n\n this.oldValue = this.internalValue\n this.isActive = true\n\n if ((e.target as Element)?.matches('.v-slider__thumb-container, .v-slider__thumb-container *')) {\n this.thumbPressed = true\n const domRect = (e.target as Element).getBoundingClientRect()\n const touch = 'touches' in e ? e.touches[0] : e\n this.startOffset = this.vertical\n ? touch.clientY - (domRect.top + domRect.height / 2)\n : touch.clientX - (domRect.left + domRect.width / 2)\n } else {\n this.startOffset = 0\n window.clearTimeout(this.mouseTimeout)\n this.mouseTimeout = window.setTimeout(() => {\n this.thumbPressed = true\n }, 300)\n }\n\n const mouseUpOptions = passiveSupported ? { passive: true, capture: true } : true\n const mouseMoveOptions = passiveSupported ? { passive: true } : false\n\n const isTouchEvent = 'touches' in e\n\n this.onMouseMove(e)\n this.app.addEventListener(isTouchEvent ? 'touchmove' : 'mousemove', this.onMouseMove, mouseMoveOptions)\n addOnceEventListener(this.app, isTouchEvent ? 'touchend' : 'mouseup', this.onSliderMouseUp, mouseUpOptions)\n\n this.$emit('start', this.internalValue)\n },\n onSliderMouseUp (e: Event) {\n e.stopPropagation()\n window.clearTimeout(this.mouseTimeout)\n this.thumbPressed = false\n const mouseMoveOptions = passiveSupported ? { passive: true } : false\n this.app.removeEventListener('touchmove', this.onMouseMove, mouseMoveOptions)\n this.app.removeEventListener('mousemove', this.onMouseMove, mouseMoveOptions)\n\n this.$emit('mouseup', e)\n this.$emit('end', this.internalValue)\n if (!deepEqual(this.oldValue, this.internalValue)) {\n this.$emit('update:modelValue', this.internalValue)\n this.noClick = true\n }\n\n this.isActive = false\n },\n onMouseMove (e: MouseEvent | TouchEvent) {\n if (e.type === 'mousemove') {\n this.thumbPressed = true\n }\n this.internalValue = this.parseMouseMove(e)\n },\n onKeyDown (e: KeyboardEvent) {\n if (!this.isInteractive) return\n\n const value = this.parseKeyDown(e, this.internalValue)\n\n if (\n value == null ||\n value < this.minValue ||\n value > this.maxValue\n ) return\n\n this.internalValue = value\n this.$emit('update:modelValue', value)\n },\n onSliderClick (e: MouseEvent) {\n if (this.noClick) {\n this.noClick = false\n return\n }\n const thumb = this.$refs.thumb as HTMLElement\n thumb.focus()\n\n this.onMouseMove(e)\n this.$emit('update:modelValue', this.internalValue)\n this.$emit('change', this.internalValue)\n },\n onBlur (e: Event) {\n this.isFocused = false\n\n this.$emit('blur', e)\n },\n onFocus (e: Event) {\n this.isFocused = true\n\n this.$emit('focus', e)\n },\n parseMouseMove (e: MouseEvent | TouchEvent) {\n const start = this.vertical ? 'top' : 'left'\n const length = this.vertical ? 'height' : 'width'\n const click = this.vertical ? 'clientY' : 'clientX'\n\n const {\n [start]: trackStart,\n [length]: trackLength,\n } = this.$refs.track.getBoundingClientRect()\n const clickOffset = 'touches' in e ? e.touches[0][click] : e[click]\n\n // It is possible for left to be NaN, force to number\n let clickPos = Math.min(Math.max((clickOffset - trackStart - this.startOffset) / trackLength, 0), 1) || 0\n\n if (this.vertical) clickPos = 1 - clickPos\n if (this.$vuetify.rtl) clickPos = 1 - clickPos\n\n return parseFloat(this.min) + clickPos * (this.maxValue - this.minValue)\n },\n parseKeyDown (e: KeyboardEvent, value: number) {\n if (!this.isInteractive) return\n\n const { pageup, pagedown, end, home, left, right, down, up } = keyCodes\n\n if (![pageup, pagedown, end, home, left, right, down, up].includes(e.keyCode)) return\n\n e.preventDefault()\n const step = this.stepNumeric || 1\n const steps = (this.maxValue - this.minValue) / step\n if ([left, right, down, up].includes(e.keyCode)) {\n const increase = this.$vuetify.rtl ? [left, up] : [right, up]\n const direction = increase.includes(e.keyCode) ? 1 : -1\n const multiplier = e.shiftKey ? 3 : (e.ctrlKey ? 2 : 1)\n\n value = value + (direction * step * multiplier)\n } else if (e.keyCode === home) {\n value = this.minValue\n } else if (e.keyCode === end) {\n value = this.maxValue\n } else {\n const direction = e.keyCode === pagedown ? 1 : -1\n value = value - (direction * step * (steps > 100 ? steps / 10 : 10))\n }\n\n return value\n },\n roundValue (value: number): number {\n if (!this.stepNumeric) return value\n // Format input value using the same number\n // of decimals places as in the step prop\n const trimmedStep = this.step.toString().trim()\n const decimals = trimmedStep.indexOf('.') > -1\n ? (trimmedStep.length - trimmedStep.indexOf('.') - 1)\n : 0\n const offset = this.minValue % this.stepNumeric\n\n const newValue = Math.round((value - offset) / this.stepNumeric) * this.stepNumeric + offset\n\n return parseFloat(Math.min(newValue, this.maxValue).toFixed(decimals))\n },\n },\n})\n"],"sourceRoot":"","file":"VSlider.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VSlider/VSlider.ts"],"names":[],"mappings":"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","sourcesContent":["import './VSlider.sass'\n\n// Components\nimport VInput from '../VInput'\nimport { VScaleTransition } from '../transitions'\n\n// Mixins\nimport mixins, { ExtractVue } from '../../util/mixins'\nimport Loadable from '../../mixins/loadable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\n\n// Helpers\nimport { addOnceEventListener, deepEqual, keyCodes, createRange, convertToUnit, passiveSupported } from '../../util/helpers'\nimport { consoleWarn } from '../../util/console'\n\n// Types\nimport { defineComponent, VNode, PropType, h, getCurrentInstance, withDirectives, vShow } from 'vue'\nimport { PropValidator } from 'vue/types/options'\n\ninterface options {\n $refs: {\n track: HTMLElement\n }\n}\n\nexport default mixins<options &\n/* eslint-disable indent */\n ExtractVue<[\n typeof VInput,\n typeof Loadable\n ]>\n/* eslint-enable indent */\n>(\n VInput,\n Loadable\n/* @vue/component */\n).extend({\n name: 'v-slider',\n\n\n props: {\n disabled: Boolean,\n inverseLabel: Boolean,\n max: {\n type: [Number, String],\n default: 100,\n },\n min: {\n type: [Number, String],\n default: 0,\n },\n step: {\n type: [Number, String],\n default: 1,\n },\n thumbColor: String,\n thumbLabel: {\n type: [Boolean, String] as PropType<boolean | 'always' | undefined>,\n default: undefined,\n validator: (v: any) => typeof v === 'boolean' || v === 'always' || v === undefined,\n },\n thumbSize: {\n type: [Number, String],\n default: 32,\n },\n tickLabels: {\n type: Array,\n default: () => ([]),\n } as PropValidator<string[]>,\n ticks: {\n type: [Boolean, String] as PropType<boolean | 'always'>,\n default: false,\n validator: (v: any) => typeof v === 'boolean' || v === 'always',\n },\n tickSize: {\n type: [Number, String],\n default: 2,\n },\n trackColor: String,\n trackFillColor: String,\n modelValue: [Number, String],\n vertical: Boolean,\n },\n\n emits: [\n 'update:modelValue',\n 'start',\n 'end',\n 'mouseup',\n 'change',\n 'focus',\n 'blur',\n ],\n\n data: () => ({\n app: null as any,\n oldValue: null as any,\n thumbPressed: false,\n mouseTimeout: -1,\n isFocused: false,\n isActive: false,\n noClick: false, // Prevent click event if dragging took place, hack for #7915\n startOffset: 0,\n }),\n\n computed: {\n classes (): object {\n return {\n ...VInput.computed.classes.call(this),\n 'v-input__slider': true,\n 'v-input__slider--vertical': this.vertical,\n 'v-input__slider--inverse-label': this.inverseLabel,\n }\n },\n internalValue: {\n get (): number {\n return this.lazyValue\n },\n set (val: number) {\n const originalVal = val\n val = isNaN(val) ? this.minValue : val\n // Round value to ensure the\n // entire slider range can\n // be selected with step\n let value = this.roundValue(val)\n // Then clamp to min/max\n value = Math.min(Math.max(value, this.minValue), this.maxValue)\n\n if (value === this.lazyValue) return\n\n this.lazyValue = value\n\n this.$emit('update:modelValue', value)\n },\n },\n trackTransition (): string {\n return this.thumbPressed\n ? this.showTicks || this.stepNumeric\n ? '0.1s cubic-bezier(0.25, 0.8, 0.5, 1)'\n : 'none'\n : ''\n },\n minValue (): number {\n return parseFloat(this.min)\n },\n maxValue (): number {\n return parseFloat(this.max)\n },\n stepNumeric (): number {\n const step = parseFloat(this.step)\n return step > 0 ? step : 0\n },\n inputWidth (): number {\n const inputWidth = (this.roundValue(this.internalValue) - this.minValue) / (this.maxValue - this.minValue) * 100\n\n return isNaN(inputWidth) ? 0 : inputWidth\n },\n trackFillStyles (): Partial<CSSStyleDeclaration> {\n const startDir = this.vertical ? 'bottom' : 'left'\n const endDir = this.vertical ? 'top' : 'right'\n const valueDir = this.vertical ? 'height' : 'width'\n\n const start = this.$vuetify.rtl ? 'auto' : '0'\n const end = this.$vuetify.rtl ? '0' : 'auto'\n const value = this.isDisabled ? `calc(${this.inputWidth}% - 10px)` : `${this.inputWidth}%`\n\n return {\n transition: this.trackTransition,\n [startDir]: start,\n [endDir]: end,\n [valueDir]: value,\n }\n },\n trackStyles (): Partial<CSSStyleDeclaration> {\n const startDir = this.vertical ? this.$vuetify.rtl ? 'bottom' : 'top' : this.$vuetify.rtl ? 'left' : 'right'\n const endDir = this.vertical ? 'height' : 'width'\n\n const start = '0px'\n const end = this.isDisabled ? `calc(${100 - this.inputWidth}% - 10px)` : `calc(${100 - this.inputWidth}%)`\n\n return {\n transition: this.trackTransition,\n [startDir]: start,\n [endDir]: end,\n }\n },\n showTicks (): boolean {\n return this.tickLabels.length > 0 ||\n !!(!this.isDisabled && this.stepNumeric && this.ticks)\n },\n numTicks (): number {\n return Math.ceil((this.maxValue - this.minValue) / this.stepNumeric)\n },\n showThumbLabel (): boolean {\n return !this.isDisabled && !!(\n this.thumbLabel ||\n this.$slots['thumb-label']\n )\n },\n computedTrackColor (): string | undefined {\n if (this.isDisabled) return undefined\n if (this.trackColor) return this.trackColor\n if (this.isDark) return this.validationState\n return this.validationState || 'primary lighten-3'\n },\n computedTrackFillColor (): string | undefined {\n if (this.isDisabled) return undefined\n if (this.trackFillColor) return this.trackFillColor\n return this.validationState || this.computedColor\n },\n computedThumbColor (): string | undefined {\n if (this.thumbColor) return this.thumbColor\n return this.validationState || this.computedColor\n },\n },\n\n watch: {\n min (val) {\n const parsed = parseFloat(val)\n if (parsed > this.internalValue) {\n this.$emit('update:modelValue', parsed)\n }\n },\n max (val) {\n const parsed = parseFloat(val)\n if (parsed < this.internalValue) {\n this.$emit('update:modelValue', parsed)\n }\n },\n modelValue: {\n handler (v: number) {\n // Use the setter to ensure proper rounding and validation\n this.internalValue = v\n },\n immediate: true,\n },\n },\n\n\n mounted () {\n // Without a v-app, iOS does not work with body selectors\n this.app = document.querySelector('[data-app]') ||\n consoleWarn('Missing v-app or a non-body wrapping element with the [data-app] attribute', this)\n },\n\n methods: {\n genDefaultSlot (): VNode[] {\n const children: VNode[] = [this.genLabel()]\n const slider = this.genSlider()\n this.inverseLabel\n ? children.unshift(slider)\n : children.push(slider)\n\n children.push(this.genProgress())\n\n return children\n },\n genSlider (): VNode {\n return withDirectives(h('div', {\n class: {\n 'v-slider': true,\n 'v-slider--horizontal': !this.vertical,\n 'v-slider--vertical': this.vertical,\n 'v-slider--focused': this.isFocused,\n 'v-slider--active': this.isActive,\n 'v-slider--disabled': this.isDisabled,\n 'v-slider--readonly': this.isReadonly,\n ...this.themeClasses,\n },\n onClick: this.onSliderClick,\n onMousedown: this.onSliderMouseDown,\n onTouchstart: this.onSliderMouseDown,\n }, this.genChildren()), [\n [ClickOutside, this.onBlur],\n ])\n },\n genChildren (): VNode[] {\n return [\n this.genInput(),\n this.genTrackContainer(),\n this.genSteps(),\n this.genThumbContainer(\n this.internalValue,\n this.inputWidth,\n this.isActive,\n this.isFocused,\n this.onFocus,\n this.onBlur,\n ),\n ]\n },\n genInput (): VNode {\n return h('input', {\n value: this.internalValue,\n id: this.computedId,\n disabled: true,\n readonly: true,\n tabindex: -1,\n ...this.$attrs,\n // on: this.genListeners(), // TODO: do we need to attach the listeners to input?\n })\n },\n genTrackContainer (): VNode {\n const children = [\n h('div', this.setBackgroundColor(this.computedTrackColor, {\n class: 'v-slider__track-background',\n style: this.trackStyles,\n })),\n h('div', this.setBackgroundColor(this.computedTrackFillColor, {\n class: 'v-slider__track-fill',\n style: this.trackFillStyles,\n })),\n ]\n\n return h('div', {\n class: 'v-slider__track-container',\n ref: 'track',\n }, children)\n },\n genSteps (): VNode | null {\n if (!this.step || !this.showTicks) return null\n\n const tickSize = parseFloat(this.tickSize)\n const range = createRange(this.numTicks + 1)\n const direction = this.vertical ? 'bottom' : (this.$vuetify.rtl ? 'right' : 'left')\n const offsetDirection = this.vertical ? (this.$vuetify.rtl ? 'left' : 'right') : 'top'\n\n if (this.vertical) range.reverse()\n\n const ticks = range.map(index => {\n const children = []\n\n if (this.tickLabels[index]) {\n children.push(h('div', {\n class: 'v-slider__tick-label',\n }, this.tickLabels[index]))\n }\n\n const width = index * (100 / this.numTicks)\n const filled = this.$vuetify.rtl ? (100 - this.inputWidth) < width : width < this.inputWidth\n\n return h('span', {\n key: index,\n class: ['v-slider__tick', {\n 'v-slider__tick--filled': filled,\n }],\n style: {\n width: `${tickSize}px`,\n height: `${tickSize}px`,\n [direction]: `calc(${width}% - ${tickSize / 2}px)`,\n [offsetDirection]: `calc(50% - ${tickSize / 2}px)`,\n },\n }, children)\n })\n\n return h('div', {\n class: ['v-slider__ticks-container', {\n 'v-slider__ticks-container--always-show': this.ticks === 'always' || this.tickLabels.length > 0,\n }],\n }, ticks)\n },\n genThumbContainer (\n value: number,\n valueWidth: number,\n isActive: boolean,\n isFocused: boolean,\n onFocus: Function,\n onBlur: Function,\n ref = 'thumb'\n ): VNode {\n const children = [this.genThumb()]\n\n const thumbLabelContent = this.genThumbLabelContent(value)\n this.showThumbLabel && children.push(this.genThumbLabel(thumbLabelContent))\n\n return h('div', this.setTextColor(this.computedThumbColor, {\n ref,\n key: ref,\n class: ['v-slider__thumb-container', {\n 'v-slider__thumb-container--active': isActive,\n 'v-slider__thumb-container--focused': isFocused,\n 'v-slider__thumb-container--show-label': this.showThumbLabel,\n }],\n style: this.getThumbContainerStyles(valueWidth),\n role: 'slider',\n tabindex: this.isDisabled ? -1 : this.$attrs.tabindex ? this.$attrs.tabindex : 0,\n 'aria-label': this.$attrs['aria-label'] || this.label,\n 'aria-valuemin': this.min,\n 'aria-valuemax': this.max,\n 'aria-valuenow': this.internalValue,\n 'aria-readonly': String(this.isReadonly),\n 'aria-orientation': this.vertical ? 'vertical' : 'horizontal',\n onFocus,\n onBlur,\n onKeydown: this.onKeyDown,\n }), children)\n },\n genThumbLabelContent (value: number | string): any {\n return this.$slots['thumb-label']\n ? this.$slots['thumb-label']!({ value })\n : [h('span', [String(value)])]\n },\n genThumbLabel (content: any): VNode {\n const size = convertToUnit(this.thumbSize)\n\n const transform = this.vertical\n ? `translateY(20%) translateY(${(Number(this.thumbSize) / 3) - 1}px) translateX(55%) rotate(135deg)`\n : `translateY(-20%) translateY(-12px) translateX(-50%) rotate(45deg)`\n\n return h(VScaleTransition, {\n origin: 'bottom center',\n }, () => [\n withDirectives(h('div', {\n class: 'v-slider__thumb-label-container',\n }, [\n h('div', this.setBackgroundColor(this.computedThumbColor, {\n class: 'v-slider__thumb-label',\n style: {\n height: size,\n width: size,\n transform,\n },\n }), [h('div', content)]),\n ]), [\n [vShow, this.isFocused || this.isActive || this.thumbLabel === 'always'],\n ]),\n ])\n },\n genThumb (): VNode {\n return h('div', this.setBackgroundColor(this.computedThumbColor, {\n class: 'v-slider__thumb',\n }))\n },\n getThumbContainerStyles (width: number): object {\n const direction = this.vertical ? 'top' : 'left'\n let value = this.$vuetify.rtl ? 100 - width : width\n value = this.vertical ? 100 - value : value\n\n return {\n transition: this.trackTransition,\n [direction]: `${value}%`,\n }\n },\n onSliderMouseDown (e: MouseEvent | TouchEvent) {\n e.preventDefault()\n\n this.oldValue = this.internalValue\n this.isActive = true\n\n if ((e.target as Element)?.matches('.v-slider__thumb-container, .v-slider__thumb-container *')) {\n this.thumbPressed = true\n const domRect = (e.target as Element).getBoundingClientRect()\n const touch = 'touches' in e ? e.touches[0] : e\n this.startOffset = this.vertical\n ? touch.clientY - (domRect.top + domRect.height / 2)\n : touch.clientX - (domRect.left + domRect.width / 2)\n } else {\n this.startOffset = 0\n window.clearTimeout(this.mouseTimeout)\n this.mouseTimeout = window.setTimeout(() => {\n this.thumbPressed = true\n }, 300)\n }\n\n const mouseUpOptions = passiveSupported ? { passive: true, capture: true } : true\n const mouseMoveOptions = passiveSupported ? { passive: true } : false\n\n const isTouchEvent = 'touches' in e\n\n this.onMouseMove(e)\n this.app.addEventListener(isTouchEvent ? 'touchmove' : 'mousemove', this.onMouseMove, mouseMoveOptions)\n addOnceEventListener(this.app, isTouchEvent ? 'touchend' : 'mouseup', this.onSliderMouseUp, mouseUpOptions)\n\n this.$emit('start', this.internalValue)\n },\n onSliderMouseUp (e: Event) {\n e.stopPropagation()\n window.clearTimeout(this.mouseTimeout)\n this.thumbPressed = false\n const mouseMoveOptions = passiveSupported ? { passive: true } : false\n this.app.removeEventListener('touchmove', this.onMouseMove, mouseMoveOptions)\n this.app.removeEventListener('mousemove', this.onMouseMove, mouseMoveOptions)\n\n this.$emit('mouseup', e)\n this.$emit('end', this.internalValue)\n if (!deepEqual(this.oldValue, this.internalValue)) {\n this.$emit('update:modelValue', this.internalValue)\n this.noClick = true\n }\n\n this.isActive = false\n },\n onMouseMove (e: MouseEvent | TouchEvent) {\n if (e.type === 'mousemove') {\n this.thumbPressed = true\n }\n this.internalValue = this.parseMouseMove(e)\n },\n onKeyDown (e: KeyboardEvent) {\n if (!this.isInteractive) return\n\n const value = this.parseKeyDown(e, this.internalValue)\n\n if (\n value == null ||\n value < this.minValue ||\n value > this.maxValue\n ) return\n\n this.internalValue = value\n this.$emit('update:modelValue', value)\n },\n onSliderClick (e: MouseEvent) {\n if (this.noClick) {\n this.noClick = false\n return\n }\n const thumb = this.$refs.thumb as HTMLElement\n thumb.focus()\n\n this.onMouseMove(e)\n this.$emit('update:modelValue', this.internalValue)\n this.$emit('change', this.internalValue)\n },\n onBlur (e: Event) {\n this.isFocused = false\n\n this.$emit('blur', e)\n },\n onFocus (e: Event) {\n this.isFocused = true\n\n this.$emit('focus', e)\n },\n parseMouseMove (e: MouseEvent | TouchEvent) {\n const start = this.vertical ? 'top' : 'left'\n const length = this.vertical ? 'height' : 'width'\n const click = this.vertical ? 'clientY' : 'clientX'\n\n const {\n [start]: trackStart,\n [length]: trackLength,\n } = this.$refs.track.getBoundingClientRect()\n const clickOffset = 'touches' in e ? e.touches[0][click] : e[click]\n\n // It is possible for left to be NaN, force to number\n let clickPos = Math.min(Math.max((clickOffset - trackStart - this.startOffset) / trackLength, 0), 1) || 0\n\n if (this.vertical) clickPos = 1 - clickPos\n if (this.$vuetify.rtl) clickPos = 1 - clickPos\n\n return parseFloat(this.min) + clickPos * (this.maxValue - this.minValue)\n },\n parseKeyDown (e: KeyboardEvent, value: number) {\n if (!this.isInteractive) return\n\n const { pageup, pagedown, end, home, left, right, down, up } = keyCodes\n\n if (![pageup, pagedown, end, home, left, right, down, up].includes(e.keyCode)) return\n\n e.preventDefault()\n const step = this.stepNumeric || 1\n const steps = (this.maxValue - this.minValue) / step\n if ([left, right, down, up].includes(e.keyCode)) {\n const increase = this.$vuetify.rtl ? [left, up] : [right, up]\n const direction = increase.includes(e.keyCode) ? 1 : -1\n const multiplier = e.shiftKey ? 3 : (e.ctrlKey ? 2 : 1)\n\n value = value + (direction * step * multiplier)\n } else if (e.keyCode === home) {\n value = this.minValue\n } else if (e.keyCode === end) {\n value = this.maxValue\n } else {\n const direction = e.keyCode === pagedown ? 1 : -1\n value = value - (direction * step * (steps > 100 ? steps / 10 : 10))\n }\n\n return value\n },\n roundValue (value: number): number {\n if (!this.stepNumeric) return value\n // Format input value using the same number\n // of decimals places as in the step prop\n const trimmedStep = this.step.toString().trim()\n const decimals = trimmedStep.indexOf('.') > -1\n ? (trimmedStep.length - trimmedStep.indexOf('.') - 1)\n : 0\n const offset = this.minValue % this.stepNumeric\n\n const newValue = Math.round((value - offset) / this.stepNumeric) * this.stepNumeric + offset\n\n return parseFloat(Math.min(newValue, this.maxValue).toFixed(decimals))\n },\n },\n})\n"],"sourceRoot":"","file":"VSlider.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VSnackbar/VSnackbar.ts"],"names":[],"mappings":"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","sourcesContent":["import {Transition, h, vShow, withDirectives} from 'vue'\n// Styles\nimport './VSnackbar.sass'\n\n// Components\nimport VSheet from '../VSheet/VSheet'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\nimport Toggleable from '../../mixins/toggleable'\nimport { factory as PositionableFactory } from '../../mixins/positionable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { convertToUnit, getSlot } from '../../util/helpers'\nimport { deprecate, removed } from '../../util/console'\n\n// Types\nimport { PropType, VNode } from 'vue'\n\nexport default mixins(\n VSheet,\n Colorable,\n Toggleable,\n PositionableFactory([\n 'absolute',\n 'bottom',\n 'left',\n 'right',\n 'top',\n ])\n/* @vue/component */\n).extend({\n name: 'v-snackbar',\n\n props: {\n app: Boolean,\n centered: Boolean,\n contentClass: {\n type: String,\n default: '',\n },\n multiLine: Boolean,\n text: Boolean,\n timeout: {\n type: [Number, String],\n default: 5000,\n },\n transition: {\n type: [Boolean, String] as PropType<false | string>,\n default: 'v-snack-transition',\n validator: v => typeof v === 'string' || v === false,\n },\n vertical: Boolean,\n },\n
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VSnackbar/VSnackbar.ts"],"names":[],"mappings":"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","sourcesContent":["import {Transition, h, vShow, withDirectives} from 'vue'\n// Styles\nimport './VSnackbar.sass'\n\n// Components\nimport VSheet from '../VSheet/VSheet'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\nimport Toggleable from '../../mixins/toggleable'\nimport { factory as PositionableFactory } from '../../mixins/positionable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { convertToUnit, getSlot } from '../../util/helpers'\nimport { deprecate, removed } from '../../util/console'\n\n// Types\nimport { PropType, VNode } from 'vue'\n\nexport default mixins(\n VSheet,\n Colorable,\n Toggleable,\n PositionableFactory([\n 'absolute',\n 'bottom',\n 'left',\n 'right',\n 'top',\n ])\n/* @vue/component */\n).extend({\n name: 'v-snackbar',\n\n props: {\n app: Boolean,\n centered: Boolean,\n contentClass: {\n type: String,\n default: '',\n },\n multiLine: Boolean,\n text: Boolean,\n timeout: {\n type: [Number, String],\n default: 5000,\n },\n transition: {\n type: [Boolean, String] as PropType<false | string>,\n default: 'v-snack-transition',\n validator: v => typeof v === 'string' || v === false,\n },\n vertical: Boolean,\n },\n emits: ['update:modelValue'],\n data: () => ({\n activeTimeout: -1,\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-snack--absolute': this.absolute,\n 'v-snack--active': this.isActive,\n 'v-snack--bottom': this.bottom || !this.top,\n 'v-snack--centered': this.centered,\n 'v-snack--has-background': this.hasBackground,\n 'v-snack--left': this.left,\n 'v-snack--multi-line': this.multiLine && !this.vertical,\n 'v-snack--right': this.right,\n 'v-snack--text': this.text,\n 'v-snack--top': this.top,\n 'v-snack--vertical': this.vertical,\n }\n },\n // Text and outlined styles both\n // use transparent backgrounds\n hasBackground (): boolean {\n return (\n !this.text &&\n !this.outlined\n )\n },\n // Snackbar is dark by default\n // override themeable logic.\n isDark (): boolean {\n return this.hasBackground\n ? !this.light\n : Themeable.computed.isDark.call(this)\n },\n styles (): object {\n if (this.absolute || !this.app) return {}\n\n const {\n bar,\n bottom,\n footer,\n insetFooter,\n left,\n right,\n top,\n } = this.$vuetify.application\n\n return {\n paddingBottom: convertToUnit(bottom + footer + insetFooter),\n paddingLeft: convertToUnit(left),\n paddingRight: convertToUnit(right),\n paddingTop: convertToUnit(bar + top),\n }\n },\n },\n\n watch: {\n isActive: 'setTimeout',\n timeout: 'setTimeout',\n },\n\n mounted () {\n if (this.isActive) this.setTimeout()\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('auto-height')) {\n removed('auto-height', this)\n }\n\n /* istanbul ignore next */\n // eslint-disable-next-line eqeqeq\n if (this.timeout == 0) {\n deprecate('timeout=\"0\"', '-1', this)\n }\n },\n\n methods: {\n genActions () {\n return h('div', {\n class: 'v-snack__action ',\n }, [\n getSlot(this, 'action', {\n attrs: { class: 'v-snack__btn' },\n }),\n ])\n },\n genContent () {\n return h('div', {\n class: ['v-snack__content', {\n [this.contentClass]: true,\n }],\n role: 'status',\n 'aria-live': 'polite'\n }, [getSlot(this)])\n },\n genWrapper () {\n const setColor = this.hasBackground\n ? this.setBackgroundColor\n : this.setTextColor\n\n const data = setColor(this.color, {\n class: ['v-snack__wrapper', VSheet.computed.classes.call(this)],\n style: VSheet.computed.styles.call(this),\n onPointerenter: () => window.clearTimeout(this.activeTimeout),\n onPointerleave: this.setTimeout\n })\n\n const directives = [\n [\n vShow,\n this.isActive\n ]\n ]\n\n return withDirectives(h('div', data, [\n this.genContent(),\n this.genActions(),\n ]), directives)\n },\n genTransition () {\n return h(Transition, {\n name: this.transition,\n }, [this.genWrapper()])\n },\n setTimeout () {\n window.clearTimeout(this.activeTimeout)\n\n const timeout = Number(this.timeout)\n\n if (\n !this.isActive ||\n // TODO: remove 0 in v3\n [0, -1].includes(timeout)\n ) {\n return\n }\n\n this.activeTimeout = window.setTimeout(() => {\n this.isActive = false\n }, timeout)\n },\n },\n\n render (): VNode {\n return h('div', {\n class: ['v-snack', this.classes],\n style: this.styles,\n }, [\n this.transition !== false\n ? this.genTransition()\n : this.genWrapper(),\n ])\n },\n})\n"],"sourceRoot":"","file":"VSnackbar.js"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { h } from 'vue'; // Mixins
|
|
1
|
+
import { h, defineComponent, getCurrentInstance } from 'vue'; // Mixins
|
|
2
2
|
|
|
3
3
|
import Colorable from '../../mixins/colorable'; // Utilities
|
|
4
4
|
|
|
5
|
-
import mixins from '../../util/mixins';
|
|
6
5
|
import { genPoints, genBars } from './helpers/core';
|
|
7
6
|
import { genPath } from './helpers/path';
|
|
8
|
-
export default
|
|
9
|
-
name: '
|
|
7
|
+
export default defineComponent({
|
|
8
|
+
name: 'v-sparkline',
|
|
9
|
+
mixins: [Colorable],
|
|
10
10
|
inheritAttrs: false,
|
|
11
11
|
props: {
|
|
12
12
|
autoDraw: Boolean,
|
|
@@ -225,20 +225,17 @@ export default mixins(Colorable).extend({
|
|
|
225
225
|
if (!gradient.length) gradient.push('');
|
|
226
226
|
const len = Math.max(gradient.length - 1, 1);
|
|
227
227
|
const stops = gradient.reverse().map((color, index) => h('stop', {
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
'stop-color': color || 'currentColor'
|
|
231
|
-
}
|
|
228
|
+
offset: index / len,
|
|
229
|
+
'stop-color': color || 'currentColor'
|
|
232
230
|
}));
|
|
231
|
+
const instance = getCurrentInstance();
|
|
233
232
|
return h('defs', [h('linearGradient', {
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
y2: gradientDirection === 'bottom' ? '100%' : '0'
|
|
241
|
-
}
|
|
233
|
+
id: instance === null || instance === void 0 ? void 0 : instance.uid,
|
|
234
|
+
gradientUnits: 'userSpaceOnUse',
|
|
235
|
+
x1: gradientDirection === 'left' ? '100%' : '0',
|
|
236
|
+
y1: gradientDirection === 'top' ? '100%' : '0',
|
|
237
|
+
x2: gradientDirection === 'right' ? '100%' : '0',
|
|
238
|
+
y2: gradientDirection === 'bottom' ? '100%' : '0'
|
|
242
239
|
}, stops)]);
|
|
243
240
|
},
|
|
244
241
|
|
|
@@ -249,30 +246,26 @@ export default mixins(Colorable).extend({
|
|
|
249
246
|
textAnchor: 'middle',
|
|
250
247
|
dominantBaseline: 'mathematical',
|
|
251
248
|
fill: 'currentColor'
|
|
252
|
-
}
|
|
253
|
-
|
|
249
|
+
}
|
|
254
250
|
}, children);
|
|
255
251
|
},
|
|
256
252
|
|
|
257
253
|
genPath() {
|
|
258
254
|
const points = genPoints(this.normalizedValues, this.boundary);
|
|
255
|
+
const instance = getCurrentInstance();
|
|
259
256
|
return h('path', {
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
stroke: this.fill ? 'none' : `url(#${this.$.uid})`
|
|
264
|
-
},
|
|
257
|
+
d: genPath(points, this._radius, this.fill, this.parsedHeight),
|
|
258
|
+
fill: this.fill ? `url(#${instance === null || instance === void 0 ? void 0 : instance.uid})` : 'none',
|
|
259
|
+
stroke: this.fill ? 'none' : `url(#${instance === null || instance === void 0 ? void 0 : instance.uid})`,
|
|
265
260
|
ref: 'path'
|
|
266
261
|
});
|
|
267
262
|
},
|
|
268
263
|
|
|
269
264
|
genLabels(offsetX) {
|
|
270
265
|
const children = this.parsedLabels.map((item, i) => h('text', {
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
'font-size': Number(this.labelSize) || 7
|
|
275
|
-
}
|
|
266
|
+
x: item.x + offsetX + this._lineWidth / 2,
|
|
267
|
+
y: this.textY + this.parsedLabelSize * 0.75,
|
|
268
|
+
'font-size': Number(this.labelSize) || 7
|
|
276
269
|
}, [this.genLabel(item, i)]));
|
|
277
270
|
return this.genG(children);
|
|
278
271
|
},
|
|
@@ -285,64 +278,52 @@ export default mixins(Colorable).extend({
|
|
|
285
278
|
},
|
|
286
279
|
|
|
287
280
|
genBars() {
|
|
281
|
+
var _a, _b, _c;
|
|
282
|
+
|
|
288
283
|
if (!this.value || this.totalValues < 2) return undefined;
|
|
289
284
|
const bars = genBars(this.normalizedValues, this.boundary);
|
|
290
285
|
const offsetX = (Math.abs(bars[0].x - bars[1].x) - this._lineWidth) / 2;
|
|
291
286
|
return h('svg', {
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
}
|
|
296
|
-
|
|
297
|
-
attrs: {
|
|
298
|
-
'clip-path': `url(#sparkline-bar-${this.$.uid}-clip)`,
|
|
299
|
-
fill: `url(#${this.$.uid})`
|
|
300
|
-
}
|
|
287
|
+
display: 'block',
|
|
288
|
+
viewBox: `0 0 ${this.totalWidth} ${this.totalHeight}`
|
|
289
|
+
}, [this.genGradient(), this.genClipPath(bars, offsetX, this._lineWidth, 'sparkline-bar-' + ((_a = getCurrentInstance()) === null || _a === void 0 ? void 0 : _a.uid)), this.hasLabels ? this.genLabels(offsetX) : undefined, h('g', {
|
|
290
|
+
'clip-path': `url(#sparkline-bar-${(_b = getCurrentInstance()) === null || _b === void 0 ? void 0 : _b.uid}-clip)`,
|
|
291
|
+
fill: `url(#${(_c = getCurrentInstance()) === null || _c === void 0 ? void 0 : _c.uid})`
|
|
301
292
|
}, [h('rect', {
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
height: this.height
|
|
307
|
-
}
|
|
293
|
+
x: 0,
|
|
294
|
+
y: 0,
|
|
295
|
+
width: this.totalWidth,
|
|
296
|
+
height: this.height
|
|
308
297
|
})])]);
|
|
309
298
|
},
|
|
310
299
|
|
|
311
300
|
genClipPath(bars, offsetX, lineWidth, id) {
|
|
312
301
|
const rounding = typeof this.smooth === 'number' ? this.smooth : this.smooth ? 2 : 0;
|
|
313
302
|
return h('clipPath', {
|
|
314
|
-
|
|
315
|
-
id: `${id}-clip`
|
|
316
|
-
}
|
|
303
|
+
id: `${id}-clip`
|
|
317
304
|
}, bars.map(item => {
|
|
318
305
|
return h('rect', {
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
ry: rounding
|
|
326
|
-
}
|
|
306
|
+
x: item.x + offsetX,
|
|
307
|
+
y: item.y,
|
|
308
|
+
width: lineWidth,
|
|
309
|
+
height: item.height,
|
|
310
|
+
rx: rounding,
|
|
311
|
+
ry: rounding
|
|
327
312
|
}, [this.autoDraw ? h('animate', {
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
fill: 'freeze'
|
|
334
|
-
}
|
|
313
|
+
attributeName: 'height',
|
|
314
|
+
from: 0,
|
|
315
|
+
to: item.height,
|
|
316
|
+
dur: `${this.autoDrawDuration}ms`,
|
|
317
|
+
fill: 'freeze'
|
|
335
318
|
}) : undefined]);
|
|
336
319
|
}));
|
|
337
320
|
},
|
|
338
321
|
|
|
339
322
|
genTrend() {
|
|
340
|
-
return h('svg', this.setTextColor(this.color, {
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
viewBox: `0 0 ${this.width} ${this.totalHeight}`
|
|
345
|
-
}
|
|
323
|
+
return h('svg', this.setTextColor(this.color, { ...this.$attrs,
|
|
324
|
+
display: 'block',
|
|
325
|
+
'stroke-width': this._lineWidth || 1,
|
|
326
|
+
viewBox: `0 0 ${this.width} ${this.totalHeight}`
|
|
346
327
|
}), [this.genGradient(), this.hasLabels && this.genLabels(-(this._lineWidth / 2)), this.genPath()]);
|
|
347
328
|
}
|
|
348
329
|
|