@dimailn/vuetify 2.7.2-alpha3 → 2.7.2-alpha32
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 +3833 -2062
- 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 +39 -9
- package/es5/components/VAlert/VAlert.js.map +1 -1
- package/es5/components/VAppBar/VAppBar.js +23 -17
- 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/VAutocomplete/VAutocomplete.js +11 -7
- package/es5/components/VAutocomplete/VAutocomplete.js.map +1 -1
- package/es5/components/VBadge/VBadge.js +46 -14
- package/es5/components/VBadge/VBadge.js.map +1 -1
- package/es5/components/VBanner/VBanner.js +51 -15
- package/es5/components/VBanner/VBanner.js.map +1 -1
- package/es5/components/VBottomNavigation/VBottomNavigation.js +33 -7
- package/es5/components/VBottomNavigation/VBottomNavigation.js.map +1 -1
- package/es5/components/VBreadcrumbs/VBreadcrumbs.js +22 -8
- package/es5/components/VBreadcrumbs/VBreadcrumbs.js.map +1 -1
- package/es5/components/VBreadcrumbs/VBreadcrumbsItem.js +4 -0
- package/es5/components/VBreadcrumbs/VBreadcrumbsItem.js.map +1 -1
- package/es5/components/VBtn/VBtn.js +20 -16
- 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 +61 -17
- 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 +94 -38
- package/es5/components/VCheckbox/VSimpleCheckbox.js.map +1 -1
- package/es5/components/VChip/VChip.js +15 -6
- package/es5/components/VChip/VChip.js.map +1 -1
- package/es5/components/VColorPicker/VColorPicker.js +54 -39
- package/es5/components/VColorPicker/VColorPicker.js.map +1 -1
- package/es5/components/VColorPicker/VColorPickerCanvas.js +45 -46
- package/es5/components/VColorPicker/VColorPickerCanvas.js.map +1 -1
- package/es5/components/VColorPicker/VColorPickerEdit.js +27 -26
- package/es5/components/VColorPicker/VColorPickerEdit.js.map +1 -1
- package/es5/components/VColorPicker/VColorPickerPreview.js +41 -30
- package/es5/components/VColorPicker/VColorPickerPreview.js.map +1 -1
- package/es5/components/VColorPicker/VColorPickerSwatches.js +13 -10
- package/es5/components/VColorPicker/VColorPickerSwatches.js.map +1 -1
- package/es5/components/VCombobox/VCombobox.js +1 -0
- package/es5/components/VCombobox/VCombobox.js.map +1 -1
- package/es5/components/VData/VData.js +15 -2
- package/es5/components/VData/VData.js.map +1 -1
- package/es5/components/VDataIterator/VDataFooter.js +21 -7
- package/es5/components/VDataIterator/VDataFooter.js.map +1 -1
- package/es5/components/VDataIterator/VDataIterator.js +47 -50
- package/es5/components/VDataIterator/VDataIterator.js.map +1 -1
- package/es5/components/VDataTable/RowGroup.js +46 -15
- package/es5/components/VDataTable/RowGroup.js.map +1 -1
- package/es5/components/VDataTable/VDataTable.js +41 -44
- package/es5/components/VDataTable/VDataTable.js.map +1 -1
- package/es5/components/VDataTable/VDataTableHeader.js +5 -8
- package/es5/components/VDataTable/VDataTableHeader.js.map +1 -1
- package/es5/components/VDataTable/VDataTableHeaderDesktop.js +8 -2
- package/es5/components/VDataTable/VDataTableHeaderDesktop.js.map +1 -1
- package/es5/components/VDataTable/VDataTableHeaderMobile.js +29 -37
- package/es5/components/VDataTable/VDataTableHeaderMobile.js.map +1 -1
- package/es5/components/VDataTable/VEditDialog.js +26 -22
- package/es5/components/VDataTable/VEditDialog.js.map +1 -1
- package/es5/components/VDataTable/VSimpleTable.js +1 -1
- package/es5/components/VDataTable/VSimpleTable.js.map +1 -1
- package/es5/components/VDataTable/VVirtualTable.js +6 -6
- package/es5/components/VDataTable/VVirtualTable.js.map +1 -1
- package/es5/components/VDataTable/mixins/header.js +7 -9
- package/es5/components/VDataTable/mixins/header.js.map +1 -1
- package/es5/components/VDatePicker/VDatePicker.js +39 -32
- package/es5/components/VDatePicker/VDatePicker.js.map +1 -1
- package/es5/components/VDatePicker/VDatePickerHeader.js +68 -24
- 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 +44 -10
- package/es5/components/VDatePicker/VDatePickerTitle.js.map +1 -1
- package/es5/components/VDatePicker/VDatePickerYears.js +47 -23
- package/es5/components/VDatePicker/VDatePickerYears.js.map +1 -1
- package/es5/components/VDatePicker/mixins/date-picker-table.js +51 -30
- 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 +58 -32
- 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 +12 -10
- package/es5/components/VExpansionPanel/VExpansionPanelContent.js.map +1 -1
- package/es5/components/VExpansionPanel/VExpansionPanelHeader.js +17 -20
- package/es5/components/VExpansionPanel/VExpansionPanelHeader.js.map +1 -1
- package/es5/components/VFileInput/VFileInput.js +50 -27
- package/es5/components/VFileInput/VFileInput.js.map +1 -1
- package/es5/components/VForm/VForm.js +45 -30
- package/es5/components/VForm/VForm.js.map +1 -1
- package/es5/components/VGrid/VCol.js +3 -3
- package/es5/components/VGrid/VCol.js.map +1 -1
- package/es5/components/VGrid/VContainer.js +3 -1
- package/es5/components/VGrid/VContainer.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 +10 -8
- package/es5/components/VImg/VImg.js.map +1 -1
- package/es5/components/VInput/VInput.js +65 -12
- package/es5/components/VInput/VInput.js.map +1 -1
- package/es5/components/VItemGroup/VItem.js +21 -17
- 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/VList.js +1 -1
- package/es5/components/VList/VList.js.map +1 -1
- package/es5/components/VList/VListGroup.js +73 -40
- package/es5/components/VList/VListGroup.js.map +1 -1
- package/es5/components/VList/VListItem.js +63 -18
- 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 +57 -31
- package/es5/components/VMenu/VMenu.js.map +1 -1
- package/es5/components/VMessages/VMessages.js +33 -6
- package/es5/components/VMessages/VMessages.js.map +1 -1
- package/es5/components/VNavigationDrawer/VNavigationDrawer.js +37 -16
- package/es5/components/VNavigationDrawer/VNavigationDrawer.js.map +1 -1
- package/es5/components/VOtpInput/VOtpInput.js +37 -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 +32 -4
- package/es5/components/VOverlay/VOverlay.js.map +1 -1
- package/es5/components/VPagination/VPagination.js +48 -27
- 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 +6 -13
- package/es5/components/VProgressCircular/VProgressCircular.js.map +1 -1
- package/es5/components/VProgressLinear/VProgressLinear.js +67 -25
- 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/VRadioGroup/VRadioGroup.js +30 -2
- package/es5/components/VRadioGroup/VRadioGroup.js.map +1 -1
- package/es5/components/VRangeSlider/VRangeSlider.js +57 -32
- package/es5/components/VRangeSlider/VRangeSlider.js.map +1 -1
- package/es5/components/VRating/VRating.js +45 -17
- package/es5/components/VRating/VRating.js.map +1 -1
- package/es5/components/VSelect/VSelect.js +156 -79
- package/es5/components/VSelect/VSelect.js.map +1 -1
- package/es5/components/VSelect/VSelectList.js +104 -44
- 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 +73 -41
- 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 +13 -17
- 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 +4 -2
- package/es5/components/VStepper/VStepperContent.js.map +1 -1
- package/es5/components/VStepper/VStepperStep.js +12 -20
- package/es5/components/VStepper/VStepperStep.js.map +1 -1
- package/es5/components/VSubheader/VSubheader.js +2 -2
- package/es5/components/VSubheader/VSubheader.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 +62 -23
- package/es5/components/VTabs/VTabs.js.map +1 -1
- package/es5/components/VTabs/VTabsBar.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 +39 -28
- 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 +3 -6
- package/es5/components/VToolbar/VToolbar.js.map +1 -1
- package/es5/components/VTooltip/VTooltip.js +13 -12
- package/es5/components/VTooltip/VTooltip.js.map +1 -1
- package/es5/components/VTreeview/VTreeview.js +24 -18
- package/es5/components/VTreeview/VTreeview.js.map +1 -1
- package/es5/components/VTreeview/VTreeviewNode.js +12 -6
- package/es5/components/VTreeview/VTreeviewNode.js.map +1 -1
- package/es5/components/VVirtualScroll/VVirtualScroll.js +15 -19
- package/es5/components/VVirtualScroll/VVirtualScroll.js.map +1 -1
- package/es5/components/VWindow/VWindow.js +13 -8
- package/es5/components/VWindow/VWindow.js.map +1 -1
- package/es5/components/VWindow/VWindowItem.js +10 -10
- 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/components/transitions/expand-transition.js +1 -0
- package/es5/components/transitions/expand-transition.js.map +1 -1
- package/es5/directives/intersect/index.js +20 -7
- package/es5/directives/intersect/index.js.map +1 -1
- package/es5/directives/mutate/index.js +13 -13
- package/es5/directives/mutate/index.js.map +1 -1
- package/es5/directives/resize/index.js +8 -8
- package/es5/directives/resize/index.js.map +1 -1
- package/es5/directives/scroll/index.js +10 -9
- package/es5/directives/scroll/index.js.map +1 -1
- package/es5/directives/touch/index.js +4 -4
- package/es5/directives/touch/index.js.map +1 -1
- package/es5/framework.js +1 -1
- package/es5/install.js +10 -33
- package/es5/install.js.map +1 -1
- package/es5/mixins/activatable/index.js +11 -5
- package/es5/mixins/activatable/index.js.map +1 -1
- package/es5/mixins/applicationable/index.js +4 -4
- package/es5/mixins/applicationable/index.js.map +1 -1
- package/es5/mixins/binds-attrs/index.js +1 -1
- package/es5/mixins/binds-attrs/index.js.map +1 -1
- package/es5/mixins/bootable/index.js +1 -2
- package/es5/mixins/bootable/index.js.map +1 -1
- package/es5/mixins/detachable/index.js +12 -9
- package/es5/mixins/detachable/index.js.map +1 -1
- package/es5/mixins/groupable/index.js +1 -1
- package/es5/mixins/groupable/index.js.map +1 -1
- package/es5/mixins/intersectable/index.js +2 -2
- package/es5/mixins/intersectable/index.js.map +1 -1
- package/es5/mixins/menuable/index.js +1 -1
- package/es5/mixins/menuable/index.js.map +1 -1
- package/es5/mixins/mouse/index.js +10 -5
- package/es5/mixins/mouse/index.js.map +1 -1
- package/es5/mixins/overlayable/index.js +5 -3
- package/es5/mixins/overlayable/index.js.map +1 -1
- package/es5/mixins/picker/index.js +13 -3
- package/es5/mixins/picker/index.js.map +1 -1
- package/es5/mixins/routable/index.js +5 -2
- package/es5/mixins/routable/index.js.map +1 -1
- package/es5/mixins/selectable/index.js +5 -5
- package/es5/mixins/selectable/index.js.map +1 -1
- package/es5/mixins/translatable/index.js +1 -1
- package/es5/mixins/translatable/index.js.map +1 -1
- package/es5/mixins/validatable/index.js +34 -7
- package/es5/mixins/validatable/index.js.map +1 -1
- package/es5/services/breakpoint/index.js +3 -1
- package/es5/services/breakpoint/index.js.map +1 -1
- package/es5/util/console.js +49 -18
- package/es5/util/console.js.map +1 -1
- package/es5/util/helpers.js +49 -1
- package/es5/util/helpers.js.map +1 -1
- package/es5/util/legacyEventsMixin.js +48 -0
- package/es5/util/legacyEventsMixin.js.map +1 -0
- package/lib/components/VAlert/VAlert.js +13 -7
- package/lib/components/VAlert/VAlert.js.map +1 -1
- package/lib/components/VAppBar/VAppBar.js +23 -16
- 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/VAutocomplete/VAutocomplete.js +12 -8
- package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
- package/lib/components/VBadge/VBadge.js +26 -13
- package/lib/components/VBadge/VBadge.js.map +1 -1
- package/lib/components/VBanner/VBanner.js +20 -13
- package/lib/components/VBanner/VBanner.js.map +1 -1
- package/lib/components/VBottomNavigation/VBottomNavigation.js +15 -7
- package/lib/components/VBottomNavigation/VBottomNavigation.js.map +1 -1
- package/lib/components/VBreadcrumbs/VBreadcrumbs.js +7 -5
- package/lib/components/VBreadcrumbs/VBreadcrumbs.js.map +1 -1
- package/lib/components/VBreadcrumbs/VBreadcrumbsItem.js +4 -0
- package/lib/components/VBreadcrumbs/VBreadcrumbsItem.js.map +1 -1
- package/lib/components/VBtn/VBtn.js +21 -20
- 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 +36 -16
- 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 +83 -39
- package/lib/components/VCheckbox/VSimpleCheckbox.js.map +1 -1
- package/lib/components/VChip/VChip.js +15 -6
- package/lib/components/VChip/VChip.js.map +1 -1
- package/lib/components/VColorPicker/VColorPicker.js +47 -44
- package/lib/components/VColorPicker/VColorPicker.js.map +1 -1
- package/lib/components/VColorPicker/VColorPickerCanvas.js +41 -43
- package/lib/components/VColorPicker/VColorPickerCanvas.js.map +1 -1
- package/lib/components/VColorPicker/VColorPickerEdit.js +25 -31
- package/lib/components/VColorPicker/VColorPickerEdit.js.map +1 -1
- package/lib/components/VColorPicker/VColorPickerPreview.js +45 -32
- package/lib/components/VColorPicker/VColorPickerPreview.js.map +1 -1
- package/lib/components/VColorPicker/VColorPickerSwatches.js +15 -9
- package/lib/components/VColorPicker/VColorPickerSwatches.js.map +1 -1
- package/lib/components/VCombobox/VCombobox.js +1 -0
- package/lib/components/VCombobox/VCombobox.js.map +1 -1
- package/lib/components/VData/VData.js +16 -2
- package/lib/components/VData/VData.js.map +1 -1
- package/lib/components/VDataIterator/VDataFooter.js +15 -7
- package/lib/components/VDataIterator/VDataFooter.js.map +1 -1
- package/lib/components/VDataIterator/VDataIterator.js +31 -34
- package/lib/components/VDataIterator/VDataIterator.js.map +1 -1
- package/lib/components/VDataTable/RowGroup.js +30 -14
- package/lib/components/VDataTable/RowGroup.js.map +1 -1
- package/lib/components/VDataTable/VDataTable.js +20 -33
- package/lib/components/VDataTable/VDataTable.js.map +1 -1
- package/lib/components/VDataTable/VDataTableHeader.js +7 -9
- package/lib/components/VDataTable/VDataTableHeader.js.map +1 -1
- package/lib/components/VDataTable/VDataTableHeaderDesktop.js +7 -1
- package/lib/components/VDataTable/VDataTableHeaderDesktop.js.map +1 -1
- package/lib/components/VDataTable/VDataTableHeaderMobile.js +18 -25
- package/lib/components/VDataTable/VDataTableHeaderMobile.js.map +1 -1
- package/lib/components/VDataTable/VEditDialog.js +18 -18
- package/lib/components/VDataTable/VEditDialog.js.map +1 -1
- package/lib/components/VDataTable/VSimpleTable.js +1 -1
- package/lib/components/VDataTable/VSimpleTable.js.map +1 -1
- package/lib/components/VDataTable/VVirtualTable.js +2 -3
- package/lib/components/VDataTable/VVirtualTable.js.map +1 -1
- package/lib/components/VDataTable/mixins/header.js +3 -8
- package/lib/components/VDataTable/mixins/header.js.map +1 -1
- package/lib/components/VDatePicker/VDatePicker.js +24 -23
- package/lib/components/VDatePicker/VDatePicker.js.map +1 -1
- package/lib/components/VDatePicker/VDatePickerHeader.js +45 -21
- 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 +17 -5
- package/lib/components/VDatePicker/VDatePickerTitle.js.map +1 -1
- package/lib/components/VDatePicker/VDatePickerYears.js +17 -8
- package/lib/components/VDatePicker/VDatePickerYears.js.map +1 -1
- package/lib/components/VDatePicker/mixins/date-picker-table.js +30 -15
- 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 +12 -4
- 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 +2 -2
- package/lib/components/VExpansionPanel/VExpansionPanelContent.js.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanelHeader.js +4 -7
- package/lib/components/VExpansionPanel/VExpansionPanelHeader.js.map +1 -1
- package/lib/components/VFileInput/VFileInput.js +43 -25
- package/lib/components/VFileInput/VFileInput.js.map +1 -1
- package/lib/components/VForm/VForm.js +41 -26
- package/lib/components/VForm/VForm.js.map +1 -1
- package/lib/components/VGrid/VCol.js +3 -3
- package/lib/components/VGrid/VCol.js.map +1 -1
- package/lib/components/VGrid/VContainer.js +3 -1
- package/lib/components/VGrid/VContainer.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 +5 -9
- package/lib/components/VImg/VImg.js.map +1 -1
- package/lib/components/VInput/VInput.js +32 -9
- package/lib/components/VInput/VInput.js.map +1 -1
- package/lib/components/VItemGroup/VItem.js +25 -21
- 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/VList.js +1 -1
- package/lib/components/VList/VList.js.map +1 -1
- package/lib/components/VList/VListGroup.js +34 -32
- package/lib/components/VList/VListGroup.js.map +1 -1
- package/lib/components/VList/VListItem.js +40 -18
- 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 +16 -4
- package/lib/components/VMenu/VMenu.js.map +1 -1
- package/lib/components/VMessages/VMessages.js +13 -2
- package/lib/components/VMessages/VMessages.js.map +1 -1
- package/lib/components/VNavigationDrawer/VNavigationDrawer.js +12 -8
- package/lib/components/VNavigationDrawer/VNavigationDrawer.js.map +1 -1
- package/lib/components/VOtpInput/VOtpInput.js +50 -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 +14 -3
- package/lib/components/VOverlay/VOverlay.js.map +1 -1
- package/lib/components/VPagination/VPagination.js +28 -23
- 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 +6 -7
- package/lib/components/VProgressCircular/VProgressCircular.js.map +1 -1
- package/lib/components/VProgressLinear/VProgressLinear.js +46 -19
- 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/VRadioGroup/VRadioGroup.js +14 -5
- package/lib/components/VRadioGroup/VRadioGroup.js.map +1 -1
- package/lib/components/VRangeSlider/VRangeSlider.js +17 -5
- package/lib/components/VRangeSlider/VRangeSlider.js.map +1 -1
- package/lib/components/VRating/VRating.js +11 -0
- package/lib/components/VRating/VRating.js.map +1 -1
- package/lib/components/VSelect/VSelect.js +99 -40
- package/lib/components/VSelect/VSelect.js.map +1 -1
- package/lib/components/VSelect/VSelectList.js +54 -29
- 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 +37 -25
- 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 +9 -15
- 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 +2 -2
- package/lib/components/VStepper/VStepperContent.js.map +1 -1
- package/lib/components/VStepper/VStepperStep.js +8 -19
- package/lib/components/VStepper/VStepperStep.js.map +1 -1
- package/lib/components/VSubheader/VSubheader.js +1 -2
- package/lib/components/VSubheader/VSubheader.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 +28 -7
- package/lib/components/VTabs/VTabs.js.map +1 -1
- package/lib/components/VTabs/VTabsBar.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 +12 -18
- 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 +5 -6
- package/lib/components/VToolbar/VToolbar.js.map +1 -1
- package/lib/components/VTooltip/VTooltip.js +10 -14
- package/lib/components/VTooltip/VTooltip.js.map +1 -1
- package/lib/components/VTreeview/VTreeview.js +15 -13
- package/lib/components/VTreeview/VTreeview.js.map +1 -1
- package/lib/components/VTreeview/VTreeviewNode.js +4 -6
- package/lib/components/VTreeview/VTreeviewNode.js.map +1 -1
- package/lib/components/VVirtualScroll/VVirtualScroll.js +8 -14
- package/lib/components/VVirtualScroll/VVirtualScroll.js.map +1 -1
- package/lib/components/VWindow/VWindow.js +7 -6
- package/lib/components/VWindow/VWindow.js.map +1 -1
- package/lib/components/VWindow/VWindowItem.js +5 -7
- 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/components/transitions/expand-transition.js +1 -0
- package/lib/components/transitions/expand-transition.js.map +1 -1
- package/lib/directives/intersect/index.js +20 -7
- package/lib/directives/intersect/index.js.map +1 -1
- package/lib/directives/mutate/index.js +13 -13
- package/lib/directives/mutate/index.js.map +1 -1
- package/lib/directives/resize/index.js +8 -8
- package/lib/directives/resize/index.js.map +1 -1
- package/lib/directives/scroll/index.js +10 -9
- package/lib/directives/scroll/index.js.map +1 -1
- package/lib/directives/touch/index.js +4 -4
- package/lib/directives/touch/index.js.map +1 -1
- package/lib/framework.js +1 -1
- package/lib/install.js +5 -28
- package/lib/install.js.map +1 -1
- package/lib/mixins/activatable/index.js +12 -6
- package/lib/mixins/activatable/index.js.map +1 -1
- package/lib/mixins/applicationable/index.js +4 -4
- package/lib/mixins/applicationable/index.js.map +1 -1
- package/lib/mixins/binds-attrs/index.js +1 -1
- package/lib/mixins/binds-attrs/index.js.map +1 -1
- package/lib/mixins/bootable/index.js +2 -4
- package/lib/mixins/bootable/index.js.map +1 -1
- package/lib/mixins/detachable/index.js +13 -10
- package/lib/mixins/detachable/index.js.map +1 -1
- package/lib/mixins/groupable/index.js +1 -1
- package/lib/mixins/groupable/index.js.map +1 -1
- package/lib/mixins/intersectable/index.js +2 -2
- package/lib/mixins/intersectable/index.js.map +1 -1
- package/lib/mixins/menuable/index.js +1 -1
- package/lib/mixins/menuable/index.js.map +1 -1
- package/lib/mixins/mouse/index.js +9 -5
- package/lib/mixins/mouse/index.js.map +1 -1
- package/lib/mixins/overlayable/index.js +5 -3
- package/lib/mixins/overlayable/index.js.map +1 -1
- package/lib/mixins/picker/index.js +5 -3
- package/lib/mixins/picker/index.js.map +1 -1
- package/lib/mixins/routable/index.js +5 -2
- package/lib/mixins/routable/index.js.map +1 -1
- package/lib/mixins/selectable/index.js +6 -5
- package/lib/mixins/selectable/index.js.map +1 -1
- package/lib/mixins/translatable/index.js +1 -1
- package/lib/mixins/translatable/index.js.map +1 -1
- package/lib/mixins/validatable/index.js +17 -7
- package/lib/mixins/validatable/index.js.map +1 -1
- package/lib/services/breakpoint/index.js +3 -1
- package/lib/services/breakpoint/index.js.map +1 -1
- package/lib/util/console.js +47 -17
- package/lib/util/console.js.map +1 -1
- package/lib/util/helpers.js +47 -1
- package/lib/util/helpers.js.map +1 -1
- package/lib/util/legacyEventsMixin.js +37 -0
- package/lib/util/legacyEventsMixin.js.map +1 -0
- package/package.json +1 -1
- package/src/components/VAlert/VAlert.ts +19 -8
- package/src/components/VAlert/__tests__/VAlert.spec.ts +78 -50
- package/src/components/VAlert/__tests__/__snapshots__/VAlert.spec.ts.snap +16 -18
- package/src/components/VApp/__tests__/VApp.spec.ts +24 -18
- package/src/components/VApp/__tests__/__snapshots__/VApp.spec.ts.snap +4 -4
- package/src/components/VAppBar/VAppBar.ts +21 -14
- package/src/components/VAppBar/VAppBarNavIcon.ts +1 -1
- package/src/components/VAppBar/__tests__/VAppBar.spec.ts +256 -74
- package/src/components/VAppBar/__tests__/VAppBarNavIcon.spec.ts +2 -6
- package/src/components/VAppBar/__tests__/__snapshots__/VAppBar.spec.ts.snap +13 -4
- package/src/components/VAppBar/__tests__/__snapshots__/VAppBarNavIcon.spec.ts.snap +3 -4
- package/src/components/VAutocomplete/VAutocomplete.ts +35 -6
- package/src/components/VAutocomplete/__tests__/VAutocomplete.spec.ts +51 -53
- package/src/components/VAutocomplete/__tests__/VAutocomplete2.spec.ts +77 -48
- package/src/components/VAutocomplete/__tests__/VAutocomplete3.spec.ts +101 -39
- package/src/components/VAvatar/__tests__/VAvatar.spec.ts +72 -10
- package/src/components/VBadge/VBadge.ts +38 -26
- package/src/components/VBadge/__tests__/VBadge.spec.ts +47 -30
- package/src/components/VBadge/__tests__/__snapshots__/VBadge.spec.ts.snap +5 -5
- package/src/components/VBanner/VBanner.ts +30 -17
- package/src/components/VBanner/__tests__/VBanner.spec.ts +35 -36
- package/src/components/VBanner/__tests__/__snapshots__/VBanner.spec.ts.snap +1 -1
- package/src/components/VBottomNavigation/VBottomNavigation.ts +20 -8
- package/src/components/VBottomNavigation/__tests__/VBottomNavigation.spec.ts +43 -37
- package/src/components/VBottomNavigation/__tests__/__snapshots__/VBottomNavigation.spec.ts.snap +11 -10
- package/src/components/VBreadcrumbs/VBreadcrumbs.ts +8 -4
- package/src/components/VBreadcrumbs/VBreadcrumbsItem.ts +4 -0
- package/src/components/VBreadcrumbs/__tests__/VBreadcrumbs.spec.ts +125 -10
- package/src/components/VBreadcrumbs/__tests__/VBreadcrumbsItem.spec.ts +10 -6
- package/src/components/VBtn/VBtn.ts +25 -17
- package/src/components/VBtn/__tests__/VBtn.spec.ts +257 -242
- package/src/components/VBtn/__tests__/__snapshots__/VBtn.spec.ts.snap +13 -73
- package/src/components/VBtnToggle/__tests__/VBtnToggle.spec.ts +10 -6
- 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/VCard/__tests__/VCard.spec.ts +46 -28
- package/src/components/VCard/__tests__/__snapshots__/VCard.spec.ts.snap +2 -2
- package/src/components/VCarousel/VCarousel.ts +42 -15
- package/src/components/VCarousel/VCarouselItem.ts +1 -1
- package/src/components/VCarousel/__tests__/VCarousel.spec.ts +74 -54
- package/src/components/VCarousel/__tests__/VCarouselItem.spec.ts +9 -5
- package/src/components/VCarousel/__tests__/__snapshots__/VCarousel.spec.ts.snap +1 -1
- package/src/components/VCheckbox/VCheckbox.ts +20 -2
- package/src/components/VCheckbox/VSimpleCheckbox.ts +97 -45
- package/src/components/VCheckbox/__tests__/VCheckbox.spec.ts +157 -152
- package/src/components/VCheckbox/__tests__/VSimpleCheckbox.spec.ts +46 -13
- package/src/components/VChip/VChip.ts +17 -13
- package/src/components/VChip/__tests__/VChip.spec.ts +50 -50
- package/src/components/VChip/__tests__/__snapshots__/VChip.spec.ts.snap +4 -4
- package/src/components/VChipGroup/__tests__/VChipGroup.spec.ts +14 -21
- package/src/components/VColorPicker/VColorPicker.ts +51 -41
- package/src/components/VColorPicker/VColorPickerCanvas.ts +44 -37
- package/src/components/VColorPicker/VColorPickerEdit.ts +37 -35
- package/src/components/VColorPicker/VColorPickerPreview.ts +48 -28
- package/src/components/VColorPicker/VColorPickerSwatches.ts +23 -12
- package/src/components/VColorPicker/__tests__/VColorPicker.spec.ts +47 -47
- package/src/components/VColorPicker/__tests__/VColorPickerCanvas.spec.ts +15 -13
- package/src/components/VColorPicker/__tests__/VColorPickerEdit.spec.ts +52 -50
- package/src/components/VColorPicker/__tests__/VColorPickerPreview.spec.ts +101 -30
- package/src/components/VColorPicker/__tests__/__snapshots__/VColorPicker.spec.ts.snap +218 -175
- package/src/components/VColorPicker/__tests__/__snapshots__/VColorPickerEdit.spec.ts.snap +38 -21
- package/src/components/VCombobox/VCombobox.ts +23 -0
- package/src/components/VCombobox/__tests__/VCombobox-multiple.spec.ts +118 -110
- package/src/components/VCombobox/__tests__/VCombobox.spec.ts +119 -93
- package/src/components/VData/VData.ts +14 -1
- package/src/components/VData/__tests__/VData.spec.ts +69 -90
- package/src/components/VDataIterator/VDataFooter.ts +16 -9
- package/src/components/VDataIterator/VDataIterator.ts +51 -35
- package/src/components/VDataIterator/__tests__/VDataFooter.spec.ts +38 -39
- package/src/components/VDataIterator/__tests__/VDataIterator.spec.ts +90 -122
- package/src/components/VDataIterator/__tests__/__snapshots__/VDataFooter.spec.ts.snap +92 -82
- package/src/components/VDataIterator/__tests__/__snapshots__/VDataIterator.spec.ts.snap +79 -69
- package/src/components/VDataTable/RowGroup.ts +33 -16
- package/src/components/VDataTable/VDataTable.ts +20 -29
- package/src/components/VDataTable/VDataTableHeader.ts +8 -9
- package/src/components/VDataTable/VDataTableHeaderDesktop.ts +10 -1
- package/src/components/VDataTable/VDataTableHeaderMobile.ts +18 -25
- package/src/components/VDataTable/VEditDialog.ts +23 -21
- package/src/components/VDataTable/VSimpleTable.ts +2 -3
- package/src/components/VDataTable/VVirtualTable.ts +2 -3
- package/src/components/VDataTable/__tests__/MobileRow.spec.ts +55 -66
- package/src/components/VDataTable/__tests__/Row.spec.ts +64 -73
- package/src/components/VDataTable/__tests__/RowGroup.spec.ts +7 -5
- package/src/components/VDataTable/__tests__/VDataTable.spec.ts +916 -998
- package/src/components/VDataTable/__tests__/VDataTableHeader.spec.ts +39 -29
- package/src/components/VDataTable/__tests__/VEditDialog.spec.ts +33 -24
- package/src/components/VDataTable/__tests__/VSimpleTable.spec.ts +55 -29
- package/src/components/VDataTable/__tests__/VVirtualTable.spec.ts +13 -15
- package/src/components/VDataTable/__tests__/__snapshots__/Row.spec.ts.snap +30 -0
- package/src/components/VDataTable/__tests__/__snapshots__/VDataTable.spec.ts.snap +2543 -2086
- package/src/components/VDataTable/__tests__/__snapshots__/VDataTableHeader.spec.ts.snap +115 -144
- package/src/components/VDataTable/__tests__/__snapshots__/VEditDialog.spec.ts.snap +6 -6
- package/src/components/VDataTable/__tests__/__snapshots__/VSimpleTable.spec.ts.snap +22 -18
- package/src/components/VDataTable/mixins/__tests__/__snapshots__/header.spec.ts.snap +10 -13
- package/src/components/VDataTable/mixins/__tests__/header.spec.ts +15 -15
- package/src/components/VDataTable/mixins/header.ts +6 -10
- package/src/components/VDatePicker/VDatePicker.ts +30 -25
- package/src/components/VDatePicker/VDatePickerHeader.ts +57 -32
- package/src/components/VDatePicker/VDatePickerMonthTable.ts +1 -1
- package/src/components/VDatePicker/VDatePickerTitle.ts +21 -7
- package/src/components/VDatePicker/VDatePickerYears.ts +19 -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 +32 -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 +23 -11
- package/src/components/VDialog/__tests__/VDialog.spec.ts +105 -101
- package/src/components/VDialog/__tests__/__snapshots__/VDialog.spec.ts.snap +0 -15
- package/src/components/VDivider/__tests__/VDivider.spec.ts +11 -15
- package/src/components/VDivider/__tests__/__snapshots__/VDivider.spec.ts.snap +2 -2
- package/src/components/VExpansionPanel/VExpansionPanel.ts +5 -0
- package/src/components/VExpansionPanel/VExpansionPanelContent.ts +2 -2
- package/src/components/VExpansionPanel/VExpansionPanelHeader.ts +3 -4
- package/src/components/VExpansionPanel/__tests__/VExpansionPanel.spec.ts +43 -27
- package/src/components/VExpansionPanel/__tests__/__snapshots__/VExpansionPanel.spec.ts.snap +18 -16
- package/src/components/VFileInput/VFileInput.ts +47 -32
- package/src/components/VFileInput/__tests__/VFileInput.spec.ts +84 -54
- package/src/components/VFileInput/__tests__/__snapshots__/VFileInput.spec.ts.snap +242 -146
- package/src/components/VForm/VForm.ts +63 -35
- package/src/components/VForm/__tests__/VForm.spec.ts +100 -80
- package/src/components/VGrid/VCol.ts +2 -2
- package/src/components/VGrid/VContainer.ts +1 -1
- package/src/components/VGrid/__tests__/VCol.spec.ts +17 -17
- package/src/components/VGrid/__tests__/VContainer.spec.ts +58 -3
- package/src/components/VGrid/__tests__/VFlex.spec.ts +3 -3
- package/src/components/VGrid/__tests__/VGrid.spec.ts +12 -10
- package/src/components/VGrid/__tests__/VLayout.spec.ts +3 -3
- package/src/components/VHover/VHover.ts +2 -0
- package/src/components/VIcon/__tests__/VIcon.spec.ts +176 -70
- package/src/components/VImg/VImg.ts +5 -4
- package/src/components/VImg/__tests__/VImg.spec.ts +21 -20
- package/src/components/VImg/__tests__/__snapshots__/VImg.spec.ts.snap +71 -66
- package/src/components/VInput/VInput.ts +33 -8
- package/src/components/VInput/__tests__/VInput.spec.ts +170 -234
- package/src/components/VInput/__tests__/__snapshots__/VInput.spec.ts.snap +50 -101
- package/src/components/VItemGroup/VItem.ts +30 -24
- package/src/components/VItemGroup/VItemGroup.ts +7 -1
- package/src/components/VItemGroup/__tests__/VItem.spec.ts +22 -37
- package/src/components/VItemGroup/__tests__/VItemGroup.spec.ts +96 -124
- package/src/components/VItemGroup/__tests__/__snapshots__/VItem.spec.ts.snap +2 -0
- package/src/components/VLabel/__tests__/VLabel.spec.ts +240 -14
- package/src/components/VLazy/VLazy.ts +11 -13
- package/src/components/VLazy/__tests__/VLazy.spec.ts +5 -4
- package/src/components/VLazy/__tests__/__snapshots__/VLazy.spec.ts.snap +2 -1
- package/src/components/VList/VList.ts +1 -1
- package/src/components/VList/VListGroup.ts +43 -32
- package/src/components/VList/VListItem.ts +55 -23
- package/src/components/VList/VListItemAction.ts +11 -10
- package/src/components/VList/__tests__/VList.spec.ts +13 -12
- package/src/components/VList/__tests__/VListGroup.spec.ts +59 -51
- package/src/components/VList/__tests__/VListItem.spec.ts +142 -63
- package/src/components/VList/__tests__/VListItemAvatar.spec.ts +5 -2
- package/src/components/VList/__tests__/VListItemGroup.spec.ts +5 -2
- package/src/components/VList/__tests__/__snapshots__/VList.spec.ts.snap +10 -10
- package/src/components/VList/__tests__/__snapshots__/VListGroup.spec.ts.snap +5 -6
- package/src/components/VList/__tests__/__snapshots__/VListItem.spec.ts.snap +1 -1
- package/src/components/VMain/__tests__/VMain.spec.ts +71 -17
- package/src/components/VMenu/VMenu.ts +25 -4
- package/src/components/VMenu/__tests__/VMenu.spec.ts +90 -69
- package/src/components/VMenu/__tests__/__snapshots__/VMenu.spec.ts.snap +3 -5
- package/src/components/VMessages/VMessages.ts +15 -4
- package/src/components/VMessages/__tests__/VMessages.spec.ts +55 -16
- package/src/components/VMessages/__tests__/__snapshots__/VMessages.spec.ts.snap +16 -25
- package/src/components/VNavigationDrawer/VNavigationDrawer.ts +23 -16
- package/src/components/VNavigationDrawer/__tests__/VNavigationDrawer.spec.ts +84 -71
- package/src/components/VOtpInput/VOtpInput.ts +39 -4
- package/src/components/VOverflowBtn/VOverflowBtn.ts +3 -1
- package/src/components/VOverlay/VOverlay.ts +16 -2
- package/src/components/VOverlay/__tests__/VOverlay.spec.ts +6 -6
- package/src/components/VPagination/VPagination.ts +41 -29
- package/src/components/VPagination/__tests__/VPagination.spec.ts +85 -71
- package/src/components/VPagination/__tests__/__snapshots__/VPagination.spec.ts.snap +184 -429
- package/src/components/VParallax/__tests__/__snapshots__/VParallax.spec.ts.snap +8 -8
- package/src/components/VPicker/VPicker.ts +9 -11
- package/src/components/VPicker/__tests__/VPicker.spec.ts +14 -15
- package/src/components/VPicker/__tests__/__snapshots__/VPicker.spec.ts.snap +2 -2
- package/src/components/VProgressCircular/VProgressCircular.ts +6 -6
- package/src/components/VProgressCircular/__tests__/VProgressCircular.spec.ts +28 -21
- package/src/components/VProgressCircular/__tests__/__snapshots__/VProgressCircular.spec.ts.snap +62 -62
- package/src/components/VProgressLinear/VProgressLinear.ts +64 -30
- package/src/components/VProgressLinear/__tests__/VProgressLinear.spec.ts +378 -71
- package/src/components/VProgressLinear/__tests__/__snapshots__/VProgressLinear.spec.ts.snap +53 -79
- package/src/components/VRadioGroup/VRadio.ts +4 -2
- package/src/components/VRadioGroup/VRadioGroup.ts +20 -7
- package/src/components/VRangeSlider/VRangeSlider.ts +20 -5
- package/src/components/VRangeSlider/__tests__/VRangeSlider.spec.ts +40 -40
- package/src/components/VRangeSlider/__tests__/__snapshots__/VRangeSlider.spec.ts.snap +32 -38
- package/src/components/VRating/VRating.ts +13 -0
- package/src/components/VResponsive/__tests__/__snapshots__/VResponsive.spec.ts.snap +2 -2
- package/src/components/VSelect/VSelect.ts +105 -47
- package/src/components/VSelect/VSelectList.ts +51 -25
- package/src/components/VSelect/__tests__/VSelect.spec.ts +166 -125
- package/src/components/VSelect/__tests__/VSelect2.spec.ts +127 -111
- package/src/components/VSelect/__tests__/VSelect3.spec.ts +109 -91
- package/src/components/VSelect/__tests__/VSelect4.spec.ts +79 -68
- package/src/components/VSelect/__tests__/VSelectList.spec.ts +23 -31
- package/src/components/VSelect/__tests__/__snapshots__/VSelect.spec.ts.snap +58 -62
- package/src/components/VSelect/__tests__/__snapshots__/VSelect2.spec.ts.snap +50 -62
- package/src/components/VSelect/__tests__/__snapshots__/VSelect3.spec.ts.snap +10 -14
- package/src/components/VSheet/__tests__/VSheet.spec.ts +5 -5
- package/src/components/VSkeletonLoader/__tests__/VSkeletonLoader.spec.ts +22 -15
- package/src/components/VSkeletonLoader/__tests__/__snapshots__/VSkeletonLoader.spec.ts.snap +60 -60
- package/src/components/VSlideGroup/VSlideGroup.ts +5 -7
- package/src/components/VSlideGroup/VSlideItem.ts +2 -0
- package/src/components/VSlider/VSlider.ts +58 -32
- package/src/components/VSlider/__tests__/VSlider.spec.ts +188 -286
- package/src/components/VSlider/__tests__/__snapshots__/VSlider.spec.ts.snap +157 -246
- package/src/components/VSnackbar/VSnackbar.ts +1 -1
- package/src/components/VSparkline/VSparkline.ts +54 -92
- package/src/components/VSparkline/__tests__/VSparkline.spec.ts +33 -35
- package/src/components/VSpeedDial/VSpeedDial.ts +12 -15
- package/src/components/VSpeedDial/__tests__/VSpeedDial.spec.ts +21 -13
- package/src/components/VSpeedDial/__tests__/__snapshots__/VSpeedDial.spec.ts.snap +6 -6
- package/src/components/VStepper/VStepper.ts +3 -1
- package/src/components/VStepper/VStepperContent.ts +2 -2
- package/src/components/VStepper/VStepperStep.ts +9 -16
- package/src/components/VStepper/__tests__/VStepper.spec.ts +4 -1
- package/src/components/VStepper/__tests__/VStepperContent.spec.ts +104 -110
- package/src/components/VStepper/__tests__/VStepperStep.spec.ts +51 -44
- package/src/components/VSubheader/VSubheader.ts +1 -1
- package/src/components/VSubheader/__tests__/VSubheader.spec.ts +12 -7
- package/src/components/VSubheader/__tests__/__snapshots__/VSubheader.spec.ts.snap +1 -1
- package/src/components/VSwitch/VSwitch.ts +5 -6
- package/src/components/VSwitch/__tests__/VSwitch.spec.ts +30 -37
- package/src/components/VSystemBar/__tests__/VSystemBar.spec.ts +89 -17
- package/src/components/VTabs/VTab.ts +2 -0
- package/src/components/VTabs/VTabs.ts +33 -13
- package/src/components/VTabs/VTabsBar.ts +7 -5
- package/src/components/VTabs/VTabsItems.ts +2 -0
- package/src/components/VTabs/__tests__/VTab.spec.ts +49 -38
- package/src/components/VTabs/__tests__/VTabs.spec.ts +127 -79
- package/src/components/VTabs/__tests__/VTabsBar.spec.ts +68 -27
- package/src/components/VTabs/__tests__/VTabsSlider.spec.ts +7 -6
- package/src/components/VTabs/__tests__/__snapshots__/VTabs.spec.ts.snap +1 -3
- package/src/components/VTextField/VTextField.ts +14 -16
- package/src/components/VTextField/__tests__/VTextField.spec.ts +342 -246
- package/src/components/VTextarea/__tests__/VTextarea.spec.ts +112 -35
- 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 +120 -40
- package/src/components/VTimeline/__tests__/VTimelineItem.spec.ts +25 -35
- package/src/components/VTimeline/__tests__/__snapshots__/VTimelineItem.spec.ts.snap +4 -5
- package/src/components/VToolbar/VToolbar.ts +5 -6
- package/src/components/VToolbar/__tests__/VToolbar.spec.ts +49 -25
- package/src/components/VTooltip/VTooltip.ts +24 -24
- package/src/components/VTooltip/__tests__/VTooltip.spec.ts +60 -75
- package/src/components/VTooltip/__tests__/__snapshots__/VTooltip.spec.ts.snap +34 -18
- package/src/components/VTreeview/VTreeview.ts +20 -17
- package/src/components/VTreeview/VTreeviewNode.ts +4 -6
- package/src/components/VTreeview/__tests__/VTreeview.spec.ts +168 -174
- package/src/components/VTreeview/__tests__/VTreeviewNode.spec.ts +77 -66
- package/src/components/VTreeview/__tests__/__snapshots__/VTreeview.spec.ts.snap +141 -141
- package/src/components/VTreeview/__tests__/__snapshots__/VTreeviewNode.spec.ts.snap +26 -51
- package/src/components/VVirtualScroll/VVirtualScroll.ts +14 -15
- package/src/components/VVirtualScroll/__tests__/VVirtualScroll.spec.ts +24 -20
- package/src/components/VWindow/VWindow.ts +9 -6
- package/src/components/VWindow/VWindowItem.ts +5 -4
- package/src/components/VWindow/__tests__/VWindow.spec.ts +304 -185
- package/src/components/VWindow/__tests__/VWindowItem.spec.ts +283 -126
- package/src/components/VWindow/__tests__/__snapshots__/VWindow.spec.ts.snap +59 -0
- package/src/components/VWindow/__tests__/__snapshots__/VWindowItem.spec.ts.snap +36 -0
- package/src/components/transitions/createTransition.ts +2 -2
- package/src/components/transitions/expand-transition.ts +2 -0
- package/src/directives/intersect/index.ts +81 -42
- package/src/directives/mutate/index.ts +58 -49
- package/src/directives/resize/index.ts +33 -14
- package/src/directives/scroll/index.ts +36 -20
- package/src/directives/touch/index.ts +37 -27
- package/src/install.ts +10 -32
- package/src/mixins/activatable/index.ts +10 -5
- package/src/mixins/applicationable/__tests__/applicationable.spec.ts +31 -27
- package/src/mixins/applicationable/index.ts +4 -4
- package/src/mixins/binds-attrs/index.ts +1 -1
- package/src/mixins/bootable/__tests__/bootable.spec.ts +17 -11
- package/src/mixins/bootable/index.ts +4 -3
- package/src/mixins/colorable/__tests__/colorable.spec.ts +9 -6
- package/src/mixins/detachable/index.ts +16 -9
- package/src/mixins/elevatable/__tests__/elevatable.spec.ts +14 -13
- package/src/mixins/groupable/index.ts +1 -1
- package/src/mixins/intersectable/__tests__/intersectable.spec.ts +35 -29
- package/src/mixins/intersectable/index.ts +2 -2
- package/src/mixins/menuable/__tests__/menuable.spec.ts +76 -33
- package/src/mixins/menuable/index.ts +1 -1
- package/src/mixins/mobile/__tests__/mobile.spec.ts +9 -6
- package/src/mixins/mouse/__tests__/mouse.spec.ts +54 -40
- package/src/mixins/mouse/index.ts +10 -6
- package/src/mixins/overlayable/__tests__/overlayable.spec.ts +32 -24
- package/src/mixins/overlayable/index.ts +5 -4
- package/src/mixins/picker/index.ts +4 -4
- package/src/mixins/proxyable/__tests__/proxyable.spec.ts +18 -17
- package/src/mixins/registrable/__tests__/registrable.spec.ts +31 -0
- package/src/mixins/rippleable/__tests__/rippleable.spec.ts +10 -9
- package/src/mixins/roundable/__tests__/roundable.spec.ts +7 -5
- package/src/mixins/routable/__tests__/routable.spec.ts +60 -52
- package/src/mixins/routable/index.ts +6 -4
- package/src/mixins/scrollable/__tests__/scrollable.spec.ts +56 -27
- package/src/mixins/selectable/__tests__/selectable.spec.ts +22 -9
- package/src/mixins/selectable/index.ts +7 -7
- package/src/mixins/translatable/index.ts +1 -1
- package/src/mixins/validatable/__tests__/validatable.spec.ts +194 -158
- package/src/mixins/validatable/index.ts +29 -21
- package/src/services/breakpoint/index.ts +5 -0
- package/src/util/__tests__/console.spec.ts +124 -11
- package/src/util/__tests__/helpers.spec.ts +121 -32
- package/src/util/console.ts +43 -24
- package/src/util/helpers.ts +49 -4
- package/src/util/legacyEventsMixin.ts +34 -0
|
@@ -25,6 +25,8 @@ var _pad = _interopRequireDefault(require("../VDatePicker/util/pad"));
|
|
|
25
25
|
|
|
26
26
|
var _mixins = _interopRequireDefault(require("../../util/mixins"));
|
|
27
27
|
|
|
28
|
+
var _vue = require("vue");
|
|
29
|
+
|
|
28
30
|
var _SelectingTimes = require("./SelectingTimes");
|
|
29
31
|
|
|
30
32
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
@@ -75,9 +77,10 @@ var _default = (0, _mixins.default)(_picker.default, _pickerButton.default
|
|
|
75
77
|
readonly: Boolean,
|
|
76
78
|
scrollable: Boolean,
|
|
77
79
|
useSeconds: Boolean,
|
|
78
|
-
|
|
80
|
+
modelValue: null,
|
|
79
81
|
ampmInTitle: Boolean
|
|
80
82
|
},
|
|
83
|
+
emits: ['update:modelValue', 'change', 'update:active-picker', 'update:period', 'click:hour', 'click:minute', 'click:second'],
|
|
81
84
|
data: function data() {
|
|
82
85
|
return {
|
|
83
86
|
inputHour: null,
|
|
@@ -219,12 +222,18 @@ var _default = (0, _mixins.default)(_picker.default, _pickerButton.default
|
|
|
219
222
|
watch: {
|
|
220
223
|
activePicker: 'setPicker',
|
|
221
224
|
selecting: 'emitPicker',
|
|
222
|
-
|
|
225
|
+
modelValue: {
|
|
226
|
+
handler: 'setInputData',
|
|
227
|
+
immediate: false
|
|
228
|
+
}
|
|
223
229
|
},
|
|
224
230
|
mounted: function mounted() {
|
|
225
|
-
this.setInputData(this.
|
|
231
|
+
this.setInputData(this.modelValue);
|
|
226
232
|
this.$on('update:period', this.setPeriod);
|
|
227
233
|
},
|
|
234
|
+
beforeUnmount: function beforeUnmount() {
|
|
235
|
+
this.$off('update:period', this.setPeriod);
|
|
236
|
+
},
|
|
228
237
|
methods: {
|
|
229
238
|
genValue: function genValue() {
|
|
230
239
|
if (this.inputHour != null && this.inputMinute != null && (!this.useSeconds || this.inputSecond != null)) {
|
|
@@ -235,7 +244,7 @@ var _default = (0, _mixins.default)(_picker.default, _pickerButton.default
|
|
|
235
244
|
},
|
|
236
245
|
emitValue: function emitValue() {
|
|
237
246
|
var value = this.genValue();
|
|
238
|
-
if (value !== null) this.$emit('
|
|
247
|
+
if (value !== null) this.$emit('update:modelValue', value);
|
|
239
248
|
},
|
|
240
249
|
emitPicker: function emitPicker(value) {
|
|
241
250
|
var activePicker = 'HOUR';
|
|
@@ -249,7 +258,9 @@ var _default = (0, _mixins.default)(_picker.default, _pickerButton.default
|
|
|
249
258
|
this.$emit('update:active-picker', activePicker);
|
|
250
259
|
},
|
|
251
260
|
setPicker: function setPicker(picker) {
|
|
252
|
-
if (picker === 'HOUR') this.selecting = _SelectingTimes.SelectingTimes.Hour;else if (picker === 'MINUTE') this.selecting = _SelectingTimes.SelectingTimes.Minute;else if (picker === 'SECOND' && this.useSeconds)
|
|
261
|
+
if (picker === 'HOUR') this.selecting = _SelectingTimes.SelectingTimes.Hour;else if (picker === 'MINUTE') this.selecting = _SelectingTimes.SelectingTimes.Minute;else if (picker === 'SECOND' && this.useSeconds) {
|
|
262
|
+
this.selecting = _SelectingTimes.SelectingTimes.Second;
|
|
263
|
+
}
|
|
253
264
|
},
|
|
254
265
|
setPeriod: function setPeriod(period) {
|
|
255
266
|
this.period = period;
|
|
@@ -270,19 +281,36 @@ var _default = (0, _mixins.default)(_picker.default, _pickerButton.default
|
|
|
270
281
|
this.inputMinute = value.getMinutes();
|
|
271
282
|
this.inputSecond = value.getSeconds();
|
|
272
283
|
} else {
|
|
273
|
-
var
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
+
var match = value.trim().match(/^(\d+):(\d+)(:(\d+))?\s*([ap]m)?$/i);
|
|
285
|
+
|
|
286
|
+
if (match) {
|
|
287
|
+
var _match = _slicedToArray(match, 6),
|
|
288
|
+
hour = _match[1],
|
|
289
|
+
minute = _match[2],
|
|
290
|
+
second = _match[4],
|
|
291
|
+
period = _match[5];
|
|
292
|
+
|
|
293
|
+
var normalizedPeriod = period ? period.toLowerCase() : null;
|
|
294
|
+
this.inputHour = normalizedPeriod ? this.convert12to24(parseInt(hour, 10), normalizedPeriod) : parseInt(hour, 10);
|
|
295
|
+
this.inputMinute = parseInt(minute, 10);
|
|
296
|
+
this.inputSecond = parseInt(second || 0, 10); // Устанавливаем период только если он был указан в строке
|
|
297
|
+
|
|
298
|
+
if (normalizedPeriod) {
|
|
299
|
+
this.period = normalizedPeriod;
|
|
300
|
+
} else if (this.inputHour != null) {
|
|
301
|
+
this.period = this.inputHour < 12 ? 'am' : 'pm';
|
|
302
|
+
}
|
|
303
|
+
} else {
|
|
304
|
+
this.inputHour = null;
|
|
305
|
+
this.inputMinute = null;
|
|
306
|
+
this.inputSecond = null;
|
|
307
|
+
}
|
|
308
|
+
} // Для Date объектов устанавливаем период на основе 24-часового формата
|
|
284
309
|
|
|
285
|
-
|
|
310
|
+
|
|
311
|
+
if (value instanceof Date && this.inputHour != null) {
|
|
312
|
+
this.period = this.inputHour < 12 ? 'am' : 'pm';
|
|
313
|
+
}
|
|
286
314
|
},
|
|
287
315
|
convert24to12: function convert24to12(hour) {
|
|
288
316
|
return hour ? (hour - 1) % 12 + 1 : 12;
|
|
@@ -302,6 +330,8 @@ var _default = (0, _mixins.default)(_picker.default, _pickerButton.default
|
|
|
302
330
|
this.emitValue();
|
|
303
331
|
},
|
|
304
332
|
onChange: function onChange(value) {
|
|
333
|
+
// Сначала обновляем значение через onInput - это ключевой момент!
|
|
334
|
+
this.onInput(value);
|
|
305
335
|
this.$emit("click:".concat(selectingNames[this.selecting]), value);
|
|
306
336
|
var emitChange = this.selecting === (this.useSeconds ? _SelectingTimes.SelectingTimes.Second : _SelectingTimes.SelectingTimes.Minute);
|
|
307
337
|
|
|
@@ -311,7 +341,10 @@ var _default = (0, _mixins.default)(_picker.default, _pickerButton.default
|
|
|
311
341
|
this.selecting = _SelectingTimes.SelectingTimes.Second;
|
|
312
342
|
}
|
|
313
343
|
|
|
314
|
-
if (this.inputHour === this.lazyInputHour && this.inputMinute === this.lazyInputMinute && (!this.useSeconds || this.inputSecond === this.lazyInputSecond))
|
|
344
|
+
if (this.inputHour === this.lazyInputHour && this.inputMinute === this.lazyInputMinute && (!this.useSeconds || this.inputSecond === this.lazyInputSecond)) {
|
|
345
|
+
return;
|
|
346
|
+
}
|
|
347
|
+
|
|
315
348
|
var time = this.genValue();
|
|
316
349
|
if (time === null) return;
|
|
317
350
|
this.lazyInputHour = this.inputHour;
|
|
@@ -330,7 +363,7 @@ var _default = (0, _mixins.default)(_picker.default, _pickerButton.default
|
|
|
330
363
|
return ((first || 0) + value) % range.length + range[0];
|
|
331
364
|
},
|
|
332
365
|
genClock: function genClock() {
|
|
333
|
-
return h(_VTimePickerClock.default, {
|
|
366
|
+
return (0, _vue.h)(_VTimePickerClock.default, {
|
|
334
367
|
allowedValues: this.selecting === _SelectingTimes.SelectingTimes.Hour ? this.isAllowedHourCb : this.selecting === _SelectingTimes.SelectingTimes.Minute ? this.isAllowedMinuteCb : this.isAllowedSecondCb,
|
|
335
368
|
color: this.color,
|
|
336
369
|
dark: this.dark,
|
|
@@ -348,19 +381,19 @@ var _default = (0, _mixins.default)(_picker.default, _pickerButton.default
|
|
|
348
381
|
scrollable: this.scrollable,
|
|
349
382
|
size: Number(this.width) - (!this.fullWidth && this.landscape ? 80 : 20),
|
|
350
383
|
step: this.selecting === _SelectingTimes.SelectingTimes.Hour ? 1 : 5,
|
|
351
|
-
|
|
352
|
-
|
|
384
|
+
modelValue: this.selecting === _SelectingTimes.SelectingTimes.Hour ? this.inputHour : this.selecting === _SelectingTimes.SelectingTimes.Minute ? this.inputMinute : this.inputSecond,
|
|
385
|
+
onUpdateModelValue: this.onInput,
|
|
353
386
|
onChange: this.onChange,
|
|
354
387
|
ref: 'clock'
|
|
355
388
|
});
|
|
356
389
|
},
|
|
357
390
|
genClockAmPm: function genClockAmPm() {
|
|
358
|
-
return h('div', this.setTextColor(this.color || 'primary', {
|
|
391
|
+
return (0, _vue.h)('div', this.setTextColor(this.color || 'primary', {
|
|
359
392
|
class: 'v-time-picker-clock__ampm'
|
|
360
393
|
}), [this.genPickerButton('period', 'am', this.$vuetify.lang.t('$vuetify.timePicker.am'), this.disabled || this.readonly), this.genPickerButton('period', 'pm', this.$vuetify.lang.t('$vuetify.timePicker.pm'), this.disabled || this.readonly)]);
|
|
361
394
|
},
|
|
362
395
|
genPickerBody: function genPickerBody() {
|
|
363
|
-
return h('div', {
|
|
396
|
+
return (0, _vue.h)('div', {
|
|
364
397
|
class: 'v-time-picker-clock__container',
|
|
365
398
|
key: this.selecting
|
|
366
399
|
}, [!this.ampmInTitle && this.isAmPm && this.genClockAmPm(), this.genClock()]);
|
|
@@ -368,29 +401,24 @@ var _default = (0, _mixins.default)(_picker.default, _pickerButton.default
|
|
|
368
401
|
genPickerTitle: function genPickerTitle() {
|
|
369
402
|
var _this4 = this;
|
|
370
403
|
|
|
371
|
-
return h(_VTimePickerTitle.default, {
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
404
|
+
return (0, _vue.h)(_VTimePickerTitle.default, {
|
|
405
|
+
ampm: this.isAmPm,
|
|
406
|
+
ampmReadonly: this.isAmPm && !this.ampmInTitle,
|
|
407
|
+
disabled: this.disabled,
|
|
408
|
+
hour: this.inputHour,
|
|
409
|
+
minute: this.inputMinute,
|
|
410
|
+
second: this.inputSecond,
|
|
411
|
+
period: this.period,
|
|
412
|
+
readonly: this.readonly,
|
|
413
|
+
useSeconds: this.useSeconds,
|
|
414
|
+
selecting: this.selecting,
|
|
415
|
+
'onUpdate:selecting': function onUpdateSelecting(value) {
|
|
416
|
+
_this4.selecting = value;
|
|
383
417
|
},
|
|
384
|
-
|
|
385
|
-
'update:
|
|
386
|
-
return _this4.selecting = value;
|
|
387
|
-
},
|
|
388
|
-
'update:period': function updatePeriod(period) {
|
|
389
|
-
return _this4.$emit('update:period', period);
|
|
390
|
-
}
|
|
418
|
+
'onUpdate:period': function onUpdatePeriod(period) {
|
|
419
|
+
_this4.$emit('update:period', period);
|
|
391
420
|
},
|
|
392
|
-
ref: 'title'
|
|
393
|
-
slot: 'title'
|
|
421
|
+
ref: 'title'
|
|
394
422
|
});
|
|
395
423
|
}
|
|
396
424
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VTimePicker/VTimePicker.ts"],"names":[],"mappings":"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","sourcesContent":["// Components\nimport VTimePickerTitle from './VTimePickerTitle'\nimport VTimePickerClock from './VTimePickerClock'\n\n// Mixins\nimport Picker from '../../mixins/picker'\nimport PickerButton from '../../mixins/picker-button'\n\n// Utils\nimport { createRange } from '../../util/helpers'\nimport pad from '../VDatePicker/util/pad'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode, PropType } from 'vue'\nimport { SelectingTimes } from './SelectingTimes'\n\nconst rangeHours24 = createRange(24)\nconst rangeHours12am = createRange(12)\nconst rangeHours12pm = rangeHours12am.map(v => v + 12)\nconst range60 = createRange(60)\nconst selectingNames = { 1: 'hour', 2: 'minute', 3: 'second' }\nexport { SelectingTimes }\n\ntype Period = 'am' | 'pm'\ntype AllowFunction = (val: number) => boolean\ntype ActivePicker = 'HOUR' | 'MINUTE' | 'SECOND'\n\nexport default mixins(\n Picker,\n PickerButton\n/* @vue/component */\n).extend({\n name: 'v-time-picker',\n\n props: {\n activePicker: String as PropType<ActivePicker>,\n allowedHours: [Function, Array] as PropType<AllowFunction | number[]>,\n allowedMinutes: [Function, Array] as PropType<AllowFunction | number[]>,\n allowedSeconds: [Function, Array] as PropType<AllowFunction | number[]>,\n disabled: Boolean,\n format: {\n type: String as PropType<'ampm' | '24hr'>,\n default: 'ampm',\n validator (val: any) {\n return ['ampm', '24hr'].includes(val)\n },\n },\n min: String,\n max: String,\n readonly: Boolean,\n scrollable: Boolean,\n useSeconds: Boolean,\n value: null as any as PropType<any>,\n ampmInTitle: Boolean,\n },\n\n data () {\n return {\n inputHour: null as number | null,\n inputMinute: null as number | null,\n inputSecond: null as number | null,\n lazyInputHour: null as number | null,\n lazyInputMinute: null as number | null,\n lazyInputSecond: null as number | null,\n period: 'am' as Period,\n selecting: SelectingTimes.Hour,\n }\n },\n\n computed: {\n selectingHour: {\n get (): boolean {\n return this.selecting === SelectingTimes.Hour\n },\n set (v: boolean) {\n this.selecting = SelectingTimes.Hour\n },\n },\n selectingMinute: {\n get (): boolean {\n return this.selecting === SelectingTimes.Minute\n },\n set (v: boolean) {\n this.selecting = SelectingTimes.Minute\n },\n },\n selectingSecond: {\n get (): boolean {\n return this.selecting === SelectingTimes.Second\n },\n set (v: boolean) {\n this.selecting = SelectingTimes.Second\n },\n },\n isAllowedHourCb (): AllowFunction {\n let cb: AllowFunction\n\n if (this.allowedHours instanceof Array) {\n cb = (val: number) => (this.allowedHours as number[]).includes(val)\n } else {\n cb = this.allowedHours\n }\n\n if (!this.min && !this.max) return cb\n\n const minHour = this.min ? Number(this.min.split(':')[0]) : 0\n const maxHour = this.max ? Number(this.max.split(':')[0]) : 23\n\n return (val: number) => {\n return val >= minHour * 1 &&\n val <= maxHour * 1 &&\n (!cb || cb(val))\n }\n },\n isAllowedMinuteCb (): AllowFunction {\n let cb: AllowFunction\n\n const isHourAllowed = !this.isAllowedHourCb || this.inputHour === null || this.isAllowedHourCb(this.inputHour)\n if (this.allowedMinutes instanceof Array) {\n cb = (val: number) => (this.allowedMinutes as number[]).includes(val)\n } else {\n cb = this.allowedMinutes\n }\n\n if (!this.min && !this.max) {\n return isHourAllowed ? cb : () => false\n }\n\n const [minHour, minMinute] = this.min ? this.min.split(':').map(Number) : [0, 0]\n const [maxHour, maxMinute] = this.max ? this.max.split(':').map(Number) : [23, 59]\n const minTime = minHour * 60 + minMinute * 1\n const maxTime = maxHour * 60 + maxMinute * 1\n\n return (val: number) => {\n const time = 60 * this.inputHour! + val\n return time >= minTime &&\n time <= maxTime &&\n isHourAllowed &&\n (!cb || cb(val))\n }\n },\n isAllowedSecondCb (): AllowFunction {\n let cb: AllowFunction\n\n const isHourAllowed = !this.isAllowedHourCb || this.inputHour === null || this.isAllowedHourCb(this.inputHour)\n const isMinuteAllowed = isHourAllowed &&\n (!this.isAllowedMinuteCb ||\n this.inputMinute === null ||\n this.isAllowedMinuteCb(this.inputMinute)\n )\n\n if (this.allowedSeconds instanceof Array) {\n cb = (val: number) => (this.allowedSeconds as number[]).includes(val)\n } else {\n cb = this.allowedSeconds\n }\n\n if (!this.min && !this.max) {\n return isMinuteAllowed ? cb : () => false\n }\n\n const [minHour, minMinute, minSecond] = this.min ? this.min.split(':').map(Number) : [0, 0, 0]\n const [maxHour, maxMinute, maxSecond] = this.max ? this.max.split(':').map(Number) : [23, 59, 59]\n const minTime = minHour * 3600 + minMinute * 60 + (minSecond || 0) * 1\n const maxTime = maxHour * 3600 + maxMinute * 60 + (maxSecond || 0) * 1\n\n return (val: number) => {\n const time = 3600 * this.inputHour! + 60 * this.inputMinute! + val\n return time >= minTime &&\n time <= maxTime &&\n isMinuteAllowed &&\n (!cb || cb(val))\n }\n },\n isAmPm (): boolean {\n return this.format === 'ampm'\n },\n },\n\n watch: {\n activePicker: 'setPicker',\n selecting: 'emitPicker',\n value: 'setInputData',\n },\n\n mounted () {\n this.setInputData(this.value)\n this.$on('update:period', this.setPeriod)\n },\n\n methods: {\n genValue () {\n if (this.inputHour != null && this.inputMinute != null && (!this.useSeconds || this.inputSecond != null)) {\n return `${pad(this.inputHour)}:${pad(this.inputMinute)}` + (this.useSeconds ? `:${pad(this.inputSecond!)}` : '')\n }\n\n return null\n },\n emitValue () {\n const value = this.genValue()\n if (value !== null) this.$emit('input', value)\n },\n emitPicker (value: SelectingTimes) {\n let activePicker = 'HOUR'\n if (value === SelectingTimes.Minute) {\n activePicker = 'MINUTE'\n } else if (value === SelectingTimes.Second) {\n activePicker = 'SECOND'\n }\n this.$emit('update:active-picker', activePicker)\n },\n setPicker (picker: ActivePicker) {\n if (picker === 'HOUR') this.selecting = SelectingTimes.Hour\n else if (picker === 'MINUTE') this.selecting = SelectingTimes.Minute\n else if (picker === 'SECOND' && this.useSeconds) this.selecting = SelectingTimes.Second\n },\n setPeriod (period: Period) {\n this.period = period\n if (this.inputHour != null) {\n const newHour = this.inputHour! + (period === 'am' ? -12 : 12)\n this.inputHour = this.firstAllowed('hour', newHour)\n this.emitValue()\n }\n },\n setInputData (value: string | null | Date) {\n if (value == null || value === '') {\n this.inputHour = null\n this.inputMinute = null\n this.inputSecond = null\n } else if (value instanceof Date) {\n this.inputHour = value.getHours()\n this.inputMinute = value.getMinutes()\n this.inputSecond = value.getSeconds()\n } else {\n const [, hour, minute, , second, period] = value.trim().toLowerCase().match(/^(\\d+):(\\d+)(:(\\d+))?([ap]m)?$/) || new Array(6)\n\n this.inputHour = period ? this.convert12to24(parseInt(hour, 10), period as Period) : parseInt(hour, 10)\n this.inputMinute = parseInt(minute, 10)\n this.inputSecond = parseInt(second || 0, 10)\n }\n\n this.period = (this.inputHour == null || this.inputHour < 12) ? 'am' : 'pm'\n },\n convert24to12 (hour: number) {\n return hour ? ((hour - 1) % 12 + 1) : 12\n },\n convert12to24 (hour: number, period: Period) {\n return hour % 12 + (period === 'pm' ? 12 : 0)\n },\n onInput (value: number) {\n if (this.selecting === SelectingTimes.Hour) {\n this.inputHour = this.isAmPm ? this.convert12to24(value, this.period) : value\n } else if (this.selecting === SelectingTimes.Minute) {\n this.inputMinute = value\n } else {\n this.inputSecond = value\n }\n this.emitValue()\n },\n onChange (value: number) {\n this.$emit(`click:${selectingNames[this.selecting]}`, value)\n\n const emitChange = this.selecting === (this.useSeconds ? SelectingTimes.Second : SelectingTimes.Minute)\n\n if (this.selecting === SelectingTimes.Hour) {\n this.selecting = SelectingTimes.Minute\n } else if (this.useSeconds && this.selecting === SelectingTimes.Minute) {\n this.selecting = SelectingTimes.Second\n }\n\n if (this.inputHour === this.lazyInputHour &&\n this.inputMinute === this.lazyInputMinute &&\n (!this.useSeconds || this.inputSecond === this.lazyInputSecond)\n ) return\n\n const time = this.genValue()\n if (time === null) return\n\n this.lazyInputHour = this.inputHour\n this.lazyInputMinute = this.inputMinute\n this.useSeconds && (this.lazyInputSecond = this.inputSecond)\n\n emitChange && this.$emit('change', time)\n },\n firstAllowed (type: 'hour' | 'minute' | 'second', value: number) {\n const allowedFn = type === 'hour' ? this.isAllowedHourCb : (type === 'minute' ? this.isAllowedMinuteCb : this.isAllowedSecondCb)\n if (!allowedFn) return value\n\n // TODO: clean up\n const range = type === 'minute'\n ? range60\n : (type === 'second'\n ? range60\n : (this.isAmPm\n ? (value < 12\n ? rangeHours12am\n : rangeHours12pm)\n : rangeHours24))\n const first = range.find(v => allowedFn((v + value) % range.length + range[0]))\n return ((first || 0) + value) % range.length + range[0]\n },\n genClock () {\n return h(VTimePickerClock, {\n allowedValues:\n this.selecting === SelectingTimes.Hour\n ? this.isAllowedHourCb\n : (this.selecting === SelectingTimes.Minute\n ? this.isAllowedMinuteCb\n : this.isAllowedSecondCb),\n color: this.color,\n dark: this.dark,\n disabled: this.disabled,\n double: this.selecting === SelectingTimes.Hour && !this.isAmPm,\n format: this.selecting === SelectingTimes.Hour\n ? (this.isAmPm ? this.convert24to12 : (val: number) => val)\n : (val: number) => pad(val, 2),\n light: this.light,\n max: this.selecting === SelectingTimes.Hour ? (this.isAmPm && this.period === 'am' ? 11 : 23) : 59,\n min: this.selecting === SelectingTimes.Hour && this.isAmPm && this.period === 'pm' ? 12 : 0,\n readonly: this.readonly,\n scrollable: this.scrollable,\n size: Number(this.width) - ((!this.fullWidth && this.landscape) ? 80 : 20),\n step: this.selecting === SelectingTimes.Hour ? 1 : 5,\n value: this.selecting === SelectingTimes.Hour\n ? this.inputHour\n : (this.selecting === SelectingTimes.Minute\n ? this.inputMinute\n : this.inputSecond),\n onInput: this.onInput,\n onChange: this.onChange,\n ref: 'clock',\n })\n },\n genClockAmPm () {\n return h('div', this.setTextColor(this.color || 'primary', {\n class: 'v-time-picker-clock__ampm',\n }), [\n this.genPickerButton('period', 'am', this.$vuetify.lang.t('$vuetify.timePicker.am'), this.disabled || this.readonly),\n this.genPickerButton('period', 'pm', this.$vuetify.lang.t('$vuetify.timePicker.pm'), this.disabled || this.readonly),\n ])\n },\n genPickerBody () {\n return h('div', {\n class: 'v-time-picker-clock__container',\n key: this.selecting,\n }, [\n !this.ampmInTitle && this.isAmPm && this.genClockAmPm(),\n this.genClock(),\n ])\n },\n genPickerTitle () {\n return h(VTimePickerTitle, {\n props: {\n ampm: this.isAmPm,\n ampmReadonly: this.isAmPm && !this.ampmInTitle,\n disabled: this.disabled,\n hour: this.inputHour,\n minute: this.inputMinute,\n second: this.inputSecond,\n period: this.period,\n readonly: this.readonly,\n useSeconds: this.useSeconds,\n selecting: this.selecting,\n },\n on: {\n 'update:selecting': (value: 1 | 2 | 3) => (this.selecting = value),\n 'update:period': (period: string) => this.$emit('update:period', period),\n },\n ref: 'title',\n slot: 'title',\n })\n },\n },\n\n render (): VNode {\n return this.genPicker('v-picker--time')\n },\n})\n"],"sourceRoot":"","file":"VTimePicker.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VTimePicker/VTimePicker.ts"],"names":[],"mappings":"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","sourcesContent":["// Components\nimport VTimePickerTitle from './VTimePickerTitle'\nimport VTimePickerClock from './VTimePickerClock'\n\n// Mixins\nimport Picker from '../../mixins/picker'\nimport PickerButton from '../../mixins/picker-button'\n\n// Utils\nimport { createRange } from '../../util/helpers'\nimport pad from '../VDatePicker/util/pad'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode, PropType, h, defineComponent } from 'vue'\nimport { SelectingTimes } from './SelectingTimes'\n\nconst rangeHours24 = createRange(24)\nconst rangeHours12am = createRange(12)\nconst rangeHours12pm = rangeHours12am.map(v => v + 12)\nconst range60 = createRange(60)\nconst selectingNames = { 1: 'hour', 2: 'minute', 3: 'second' }\nexport { SelectingTimes }\n\ntype Period = 'am' | 'pm'\ntype AllowFunction = (val: number) => boolean\ntype ActivePicker = 'HOUR' | 'MINUTE' | 'SECOND'\n\nexport default mixins(\n Picker,\n PickerButton\n /* @vue/component */\n).extend({\n name: 'v-time-picker',\n\n props: {\n activePicker: String as PropType<ActivePicker>,\n allowedHours: [Function, Array] as PropType<AllowFunction | number[]>,\n allowedMinutes: [Function, Array] as PropType<AllowFunction | number[]>,\n allowedSeconds: [Function, Array] as PropType<AllowFunction | number[]>,\n disabled: Boolean,\n format: {\n type: String as PropType<'ampm' | '24hr'>,\n default: 'ampm',\n validator (val: any) {\n return ['ampm', '24hr'].includes(val)\n },\n },\n min: String,\n max: String,\n readonly: Boolean,\n scrollable: Boolean,\n useSeconds: Boolean,\n modelValue: (null as any) as PropType<any>,\n ampmInTitle: Boolean,\n },\n emits: [\n 'update:modelValue',\n 'change',\n 'update:active-picker',\n 'update:period',\n 'click:hour',\n 'click:minute',\n 'click:second',\n ],\n data () {\n return {\n inputHour: null as number | null,\n inputMinute: null as number | null,\n inputSecond: null as number | null,\n lazyInputHour: null as number | null,\n lazyInputMinute: null as number | null,\n lazyInputSecond: null as number | null,\n period: 'am' as Period,\n selecting: SelectingTimes.Hour,\n }\n },\n\n computed: {\n selectingHour: {\n get (): boolean {\n return this.selecting === SelectingTimes.Hour\n },\n set (v: boolean) {\n this.selecting = SelectingTimes.Hour\n },\n },\n selectingMinute: {\n get (): boolean {\n return this.selecting === SelectingTimes.Minute\n },\n set (v: boolean) {\n this.selecting = SelectingTimes.Minute\n },\n },\n selectingSecond: {\n get (): boolean {\n return this.selecting === SelectingTimes.Second\n },\n set (v: boolean) {\n this.selecting = SelectingTimes.Second\n },\n },\n isAllowedHourCb (): AllowFunction {\n let cb: AllowFunction\n\n if (this.allowedHours instanceof Array) {\n cb = (val: number) => (this.allowedHours as number[]).includes(val)\n } else {\n cb = this.allowedHours\n }\n\n if (!this.min && !this.max) return cb\n\n const minHour = this.min ? Number(this.min.split(':')[0]) : 0\n const maxHour = this.max ? Number(this.max.split(':')[0]) : 23\n\n return (val: number) => {\n return val >= minHour * 1 && val <= maxHour * 1 && (!cb || cb(val))\n }\n },\n isAllowedMinuteCb (): AllowFunction {\n let cb: AllowFunction\n\n const isHourAllowed =\n !this.isAllowedHourCb ||\n this.inputHour === null ||\n this.isAllowedHourCb(this.inputHour)\n if (this.allowedMinutes instanceof Array) {\n cb = (val: number) => (this.allowedMinutes as number[]).includes(val)\n } else {\n cb = this.allowedMinutes\n }\n\n if (!this.min && !this.max) {\n return isHourAllowed ? cb : () => false\n }\n\n const [minHour, minMinute] = this.min\n ? this.min.split(':').map(Number)\n : [0, 0]\n const [maxHour, maxMinute] = this.max\n ? this.max.split(':').map(Number)\n : [23, 59]\n const minTime = minHour * 60 + minMinute * 1\n const maxTime = maxHour * 60 + maxMinute * 1\n\n return (val: number) => {\n const time = 60 * this.inputHour! + val\n return (\n time >= minTime &&\n time <= maxTime &&\n isHourAllowed &&\n (!cb || cb(val))\n )\n }\n },\n isAllowedSecondCb (): AllowFunction {\n let cb: AllowFunction\n\n const isHourAllowed =\n !this.isAllowedHourCb ||\n this.inputHour === null ||\n this.isAllowedHourCb(this.inputHour)\n const isMinuteAllowed =\n isHourAllowed &&\n (!this.isAllowedMinuteCb ||\n this.inputMinute === null ||\n this.isAllowedMinuteCb(this.inputMinute))\n\n if (this.allowedSeconds instanceof Array) {\n cb = (val: number) => (this.allowedSeconds as number[]).includes(val)\n } else {\n cb = this.allowedSeconds\n }\n\n if (!this.min && !this.max) {\n return isMinuteAllowed ? cb : () => false\n }\n\n const [minHour, minMinute, minSecond] = this.min\n ? this.min.split(':').map(Number)\n : [0, 0, 0]\n const [maxHour, maxMinute, maxSecond] = this.max\n ? this.max.split(':').map(Number)\n : [23, 59, 59]\n const minTime = minHour * 3600 + minMinute * 60 + (minSecond || 0) * 1\n const maxTime = maxHour * 3600 + maxMinute * 60 + (maxSecond || 0) * 1\n\n return (val: number) => {\n const time = 3600 * this.inputHour! + 60 * this.inputMinute! + val\n return (\n time >= minTime &&\n time <= maxTime &&\n isMinuteAllowed &&\n (!cb || cb(val))\n )\n }\n },\n isAmPm (): boolean {\n return this.format === 'ampm'\n },\n },\n\n watch: {\n activePicker: 'setPicker',\n selecting: 'emitPicker',\n modelValue: {\n handler: 'setInputData',\n immediate: false\n },\n },\n\n mounted () {\n this.setInputData(this.modelValue)\n this.$on('update:period', this.setPeriod)\n },\n\n beforeUnmount () {\n this.$off('update:period', this.setPeriod)\n },\n\n methods: {\n genValue () {\n if (\n this.inputHour != null &&\n this.inputMinute != null &&\n (!this.useSeconds || this.inputSecond != null)\n ) {\n return (\n `${pad(this.inputHour)}:${pad(this.inputMinute)}` +\n (this.useSeconds ? `:${pad(this.inputSecond!)}` : '')\n )\n }\n\n return null\n },\n emitValue () {\n const value = this.genValue()\n if (value !== null) this.$emit('update:modelValue', value)\n },\n emitPicker (value: SelectingTimes) {\n let activePicker = 'HOUR'\n if (value === SelectingTimes.Minute) {\n activePicker = 'MINUTE'\n } else if (value === SelectingTimes.Second) {\n activePicker = 'SECOND'\n }\n this.$emit('update:active-picker', activePicker)\n },\n setPicker (picker: ActivePicker) {\n if (picker === 'HOUR') this.selecting = SelectingTimes.Hour\n else if (picker === 'MINUTE') this.selecting = SelectingTimes.Minute\n else if (picker === 'SECOND' && this.useSeconds) { this.selecting = SelectingTimes.Second }\n },\n setPeriod (period: Period) {\n this.period = period\n if (this.inputHour != null) {\n const newHour = this.inputHour! + (period === 'am' ? -12 : 12)\n this.inputHour = this.firstAllowed('hour', newHour)\n this.emitValue()\n }\n },\n setInputData (value: string | null | Date) {\n if (value == null || value === '') {\n this.inputHour = null\n this.inputMinute = null\n this.inputSecond = null\n } else if (value instanceof Date) {\n this.inputHour = value.getHours()\n this.inputMinute = value.getMinutes()\n this.inputSecond = value.getSeconds()\n } else {\n const match = value\n .trim()\n .match(/^(\\d+):(\\d+)(:(\\d+))?\\s*([ap]m)?$/i)\n\n if (match) {\n const [, hour, minute, , second, period] = match\n const normalizedPeriod = period ? period.toLowerCase() as Period : null\n this.inputHour = normalizedPeriod\n ? this.convert12to24(parseInt(hour, 10), normalizedPeriod)\n : parseInt(hour, 10)\n this.inputMinute = parseInt(minute, 10)\n this.inputSecond = parseInt(second || 0, 10)\n\n // Устанавливаем период только если он был указан в строке\n if (normalizedPeriod) {\n this.period = normalizedPeriod\n } else if (this.inputHour != null) {\n this.period = this.inputHour < 12 ? 'am' : 'pm'\n }\n } else {\n this.inputHour = null\n this.inputMinute = null\n this.inputSecond = null\n }\n }\n\n // Для Date объектов устанавливаем период на основе 24-часового формата\n if (value instanceof Date && this.inputHour != null) {\n this.period = this.inputHour < 12 ? 'am' : 'pm'\n }\n },\n convert24to12 (hour: number) {\n return hour ? ((hour - 1) % 12) + 1 : 12\n },\n convert12to24 (hour: number, period: Period) {\n return (hour % 12) + (period === 'pm' ? 12 : 0)\n },\n onInput (value: number) {\n if (this.selecting === SelectingTimes.Hour) {\n this.inputHour = this.isAmPm\n ? this.convert12to24(value, this.period)\n : value\n } else if (this.selecting === SelectingTimes.Minute) {\n this.inputMinute = value\n } else {\n this.inputSecond = value\n }\n this.emitValue()\n },\n onChange (value: number) {\n // Сначала обновляем значение через onInput - это ключевой момент!\n this.onInput(value)\n\n this.$emit(`click:${selectingNames[this.selecting]}`, value)\n\n const emitChange =\n this.selecting ===\n (this.useSeconds ? SelectingTimes.Second : SelectingTimes.Minute)\n\n if (this.selecting === SelectingTimes.Hour) {\n this.selecting = SelectingTimes.Minute\n } else if (this.useSeconds && this.selecting === SelectingTimes.Minute) {\n this.selecting = SelectingTimes.Second\n }\n\n if (\n this.inputHour === this.lazyInputHour &&\n this.inputMinute === this.lazyInputMinute &&\n (!this.useSeconds || this.inputSecond === this.lazyInputSecond)\n ) {\n return\n }\n\n const time = this.genValue()\n if (time === null) return\n\n this.lazyInputHour = this.inputHour\n this.lazyInputMinute = this.inputMinute\n this.useSeconds && (this.lazyInputSecond = this.inputSecond)\n\n emitChange && this.$emit('change', time)\n },\n firstAllowed (type: 'hour' | 'minute' | 'second', value: number) {\n const allowedFn =\n type === 'hour'\n ? this.isAllowedHourCb\n : type === 'minute'\n ? this.isAllowedMinuteCb\n : this.isAllowedSecondCb\n if (!allowedFn) return value\n\n // TODO: clean up\n const range =\n type === 'minute'\n ? range60\n : type === 'second'\n ? range60\n : this.isAmPm\n ? value < 12\n ? rangeHours12am\n : rangeHours12pm\n : rangeHours24\n const first = range.find(v =>\n allowedFn(((v + value) % range.length) + range[0])\n )\n return (((first || 0) + value) % range.length) + range[0]\n },\n genClock () {\n return h(VTimePickerClock, {\n allowedValues:\n this.selecting === SelectingTimes.Hour\n ? this.isAllowedHourCb\n : this.selecting === SelectingTimes.Minute\n ? this.isAllowedMinuteCb\n : this.isAllowedSecondCb,\n color: this.color,\n dark: this.dark,\n disabled: this.disabled,\n double: this.selecting === SelectingTimes.Hour && !this.isAmPm,\n format:\n this.selecting === SelectingTimes.Hour\n ? this.isAmPm\n ? this.convert24to12\n : (val: number) => val\n : (val: number) => pad(val, 2),\n light: this.light,\n max:\n this.selecting === SelectingTimes.Hour\n ? this.isAmPm && this.period === 'am'\n ? 11\n : 23\n : 59,\n min:\n this.selecting === SelectingTimes.Hour &&\n this.isAmPm &&\n this.period === 'pm'\n ? 12\n : 0,\n readonly: this.readonly,\n scrollable: this.scrollable,\n size:\n Number(this.width) - (!this.fullWidth && this.landscape ? 80 : 20),\n step: this.selecting === SelectingTimes.Hour ? 1 : 5,\n modelValue:\n this.selecting === SelectingTimes.Hour\n ? this.inputHour\n : this.selecting === SelectingTimes.Minute\n ? this.inputMinute\n : this.inputSecond,\n onUpdateModelValue: this.onInput,\n onChange: this.onChange,\n ref: 'clock',\n })\n },\n genClockAmPm () {\n return h(\n 'div',\n this.setTextColor(this.color || 'primary', {\n class: 'v-time-picker-clock__ampm',\n }),\n [\n this.genPickerButton(\n 'period',\n 'am',\n this.$vuetify.lang.t('$vuetify.timePicker.am'),\n this.disabled || this.readonly\n ),\n this.genPickerButton(\n 'period',\n 'pm',\n this.$vuetify.lang.t('$vuetify.timePicker.pm'),\n this.disabled || this.readonly\n ),\n ]\n )\n },\n genPickerBody () {\n return h(\n 'div',\n {\n class: 'v-time-picker-clock__container',\n key: this.selecting,\n },\n [\n !this.ampmInTitle && this.isAmPm && this.genClockAmPm(),\n this.genClock(),\n ]\n )\n },\n genPickerTitle () {\n return h(VTimePickerTitle, {\n ampm: this.isAmPm,\n ampmReadonly: this.isAmPm && !this.ampmInTitle,\n disabled: this.disabled,\n hour: this.inputHour,\n minute: this.inputMinute,\n second: this.inputSecond,\n period: this.period,\n readonly: this.readonly,\n useSeconds: this.useSeconds,\n selecting: this.selecting,\n 'onUpdate:selecting': (value: 1 | 2 | 3) => {\n this.selecting = value\n },\n 'onUpdate:period': (period: string) => {\n this.$emit('update:period', period)\n },\n ref: 'title',\n })\n },\n },\n\n render (): VNode {\n return this.genPicker('v-picker--time')\n },\n})\n"],"sourceRoot":"","file":"VTimePicker.js"}
|
|
@@ -56,11 +56,10 @@ var _default2 = (0, _mixins.default)(_colorable.default, _themeable.default
|
|
|
56
56
|
type: Number,
|
|
57
57
|
default: 1
|
|
58
58
|
},
|
|
59
|
-
|
|
59
|
+
modelValue: Number
|
|
60
60
|
},
|
|
61
61
|
data: function data() {
|
|
62
62
|
return {
|
|
63
|
-
inputValue: this.value,
|
|
64
63
|
isDragging: false,
|
|
65
64
|
valueOnMouseDown: null,
|
|
66
65
|
valueOnMouseUp: null
|
|
@@ -77,7 +76,7 @@ var _default2 = (0, _mixins.default)(_colorable.default, _themeable.default
|
|
|
77
76
|
return this.degreesPerUnit * Math.PI / 180;
|
|
78
77
|
},
|
|
79
78
|
displayedValue: function displayedValue() {
|
|
80
|
-
return this.
|
|
79
|
+
return this.modelValue == null ? this.min : this.modelValue;
|
|
81
80
|
},
|
|
82
81
|
innerRadiusScale: function innerRadiusScale() {
|
|
83
82
|
return 0.62;
|
|
@@ -86,11 +85,6 @@ var _default2 = (0, _mixins.default)(_colorable.default, _themeable.default
|
|
|
86
85
|
return this.double ? this.count / 2 : this.count;
|
|
87
86
|
}
|
|
88
87
|
},
|
|
89
|
-
watch: {
|
|
90
|
-
value: function value(_value) {
|
|
91
|
-
this.inputValue = _value;
|
|
92
|
-
}
|
|
93
|
-
},
|
|
94
88
|
methods: {
|
|
95
89
|
wheel: function wheel(e) {
|
|
96
90
|
e.preventDefault();
|
|
@@ -119,34 +113,31 @@ var _default2 = (0, _mixins.default)(_colorable.default, _themeable.default
|
|
|
119
113
|
var children = [];
|
|
120
114
|
|
|
121
115
|
for (var value = this.min; value <= this.max; value = value + this.step) {
|
|
122
|
-
var
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
'v-time-picker-clock__item--disabled': this.disabled || !this.isAllowed(value)
|
|
130
|
-
}), _defineProperty(_this$setBackgroundCo, "style", this.getTransform(value)), _defineProperty(_this$setBackgroundCo, "domProps", {
|
|
116
|
+
var color = value === this.modelValue && (this.color || 'accent');
|
|
117
|
+
children.push((0, _vue.h)('span', this.setBackgroundColor(color, {
|
|
118
|
+
class: ['v-time-picker-clock__item', {
|
|
119
|
+
'v-time-picker-clock__item--active': value === this.displayedValue,
|
|
120
|
+
'v-time-picker-clock__item--disabled': this.disabled || !this.isAllowed(value)
|
|
121
|
+
}],
|
|
122
|
+
style: this.getTransform(value),
|
|
131
123
|
innerHTML: "<span>".concat(this.format(value), "</span>")
|
|
132
|
-
})
|
|
124
|
+
})));
|
|
133
125
|
}
|
|
134
126
|
|
|
135
127
|
return children;
|
|
136
128
|
},
|
|
137
129
|
genHand: function genHand() {
|
|
138
|
-
var _this$setBackgroundCo2;
|
|
139
|
-
|
|
140
130
|
var scale = "scaleY(".concat(this.handScale(this.displayedValue), ")");
|
|
141
131
|
var angle = this.rotate + this.degreesPerUnit * (this.displayedValue - this.min);
|
|
142
|
-
var color = this.
|
|
143
|
-
return (0, _vue.h)('div', this.setBackgroundColor(color,
|
|
144
|
-
class: 'v-time-picker-clock__hand'
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
132
|
+
var color = this.modelValue != null && (this.color || 'accent');
|
|
133
|
+
return (0, _vue.h)('div', this.setBackgroundColor(color, {
|
|
134
|
+
class: ['v-time-picker-clock__hand', {
|
|
135
|
+
'v-time-picker-clock__hand--inner': this.isInner(this.modelValue)
|
|
136
|
+
}],
|
|
137
|
+
style: {
|
|
138
|
+
transform: "rotate(".concat(angle, "deg) ").concat(scale)
|
|
139
|
+
}
|
|
140
|
+
}));
|
|
150
141
|
},
|
|
151
142
|
getTransform: function getTransform(i) {
|
|
152
143
|
var _this$getPosition = this.getPosition(i),
|
|
@@ -231,9 +222,8 @@ var _default2 = (0, _mixins.default)(_colorable.default, _themeable.default
|
|
|
231
222
|
this.update(value);
|
|
232
223
|
},
|
|
233
224
|
update: function update(value) {
|
|
234
|
-
if (this.
|
|
235
|
-
this
|
|
236
|
-
this.$emit('input', value);
|
|
225
|
+
if (this.modelValue !== value) {
|
|
226
|
+
this.$emit('update:modelValue', value);
|
|
237
227
|
}
|
|
238
228
|
},
|
|
239
229
|
euclidean: function euclidean(p0, p1) {
|
|
@@ -247,27 +237,26 @@ var _default2 = (0, _mixins.default)(_colorable.default, _themeable.default
|
|
|
247
237
|
}
|
|
248
238
|
},
|
|
249
239
|
render: function render() {
|
|
250
|
-
var _this = this
|
|
251
|
-
_data;
|
|
240
|
+
var _this = this;
|
|
252
241
|
|
|
253
|
-
var data =
|
|
254
|
-
class: 'v-time-picker-clock'
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
mouseleave: function mouseleave(e) {
|
|
242
|
+
var data = {
|
|
243
|
+
class: ['v-time-picker-clock', _objectSpread({
|
|
244
|
+
'v-time-picker-clock--indeterminate': this.modelValue == null
|
|
245
|
+
}, this.themeClasses)],
|
|
246
|
+
onMousedown: this.readonly || this.disabled ? undefined : this.onMouseDown,
|
|
247
|
+
onMouseup: this.readonly || this.disabled ? undefined : this.onMouseUp,
|
|
248
|
+
onMouseleave: this.readonly || this.disabled ? undefined : function (e) {
|
|
261
249
|
return _this.isDragging && _this.onMouseUp(e);
|
|
262
250
|
},
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
251
|
+
onTouchstart: this.readonly || this.disabled ? undefined : this.onMouseDown,
|
|
252
|
+
onTouchend: this.readonly || this.disabled ? undefined : this.onMouseUp,
|
|
253
|
+
onMousemove: this.readonly || this.disabled ? undefined : this.onDragMove,
|
|
254
|
+
onTouchmove: this.readonly || this.disabled ? undefined : this.onDragMove,
|
|
255
|
+
ref: 'clock'
|
|
256
|
+
};
|
|
268
257
|
|
|
269
|
-
if (this.scrollable &&
|
|
270
|
-
data.
|
|
258
|
+
if (this.scrollable && !this.readonly && !this.disabled) {
|
|
259
|
+
data.onWheel = this.wheel;
|
|
271
260
|
}
|
|
272
261
|
|
|
273
262
|
return (0, _vue.h)('div', data, [(0, _vue.h)('div', {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VTimePicker/VTimePickerClock.ts"],"names":[],"mappings":"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","sourcesContent":["import {h} from 'vue'\nimport './VTimePickerClock.sass'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\n\n// Types\nimport mixins, { ExtractVue } from '../../util/mixins'\nimport Vue, { VNode, PropType, VNodeData } from 'vue'\nimport { PropValidator } from 'vue/types/options'\n\ninterface Point {\n x: number\n y: number\n}\n\ninterface options extends Vue {\n $refs: {\n clock: HTMLElement\n innerClock: HTMLElement\n }\n}\n\nexport default mixins<options &\n/* eslint-disable indent */\n ExtractVue<[\n typeof Colorable,\n typeof Themeable\n ]>\n/* eslint-enable indent */\n>(\n Colorable,\n Themeable\n/* @vue/component */\n).extend({\n name: 'v-time-picker-clock',\n\n props: {\n allowedValues: Function as PropType<(value: number) => boolean>,\n ampm: Boolean,\n disabled: Boolean,\n double: Boolean,\n format: {\n type: Function,\n default: (val: string | number) => val,\n } as PropValidator<(val: string | number) => string | number>,\n max: {\n type: Number,\n required: true,\n },\n min: {\n type: Number,\n required: true,\n },\n scrollable: Boolean,\n readonly: Boolean,\n rotate: {\n type: Number,\n default: 0,\n },\n step: {\n type: Number,\n default: 1,\n },\n value: Number,\n },\n\n data () {\n return {\n inputValue: this.value,\n isDragging: false,\n valueOnMouseDown: null as number | null,\n valueOnMouseUp: null as number | null,\n }\n },\n\n computed: {\n count (): number {\n return this.max - this.min + 1\n },\n degreesPerUnit (): number {\n return 360 / this.roundCount\n },\n degrees (): number {\n return this.degreesPerUnit * Math.PI / 180\n },\n displayedValue (): number {\n return this.value == null ? this.min : this.value\n },\n innerRadiusScale (): number {\n return 0.62\n },\n roundCount (): number {\n return this.double ? (this.count / 2) : this.count\n },\n },\n\n watch: {\n value (value) {\n this.inputValue = value\n },\n },\n\n methods: {\n wheel (e: WheelEvent) {\n e.preventDefault()\n\n const delta = Math.sign(-e.deltaY || 1)\n let value = this.displayedValue\n do {\n value = value + delta\n value = (value - this.min + this.count) % this.count + this.min\n } while (!this.isAllowed(value) && value !== this.displayedValue)\n\n if (value !== this.displayedValue) {\n this.update(value)\n }\n },\n isInner (value: number) {\n return this.double && (value - this.min >= this.roundCount)\n },\n handScale (value: number) {\n return this.isInner(value) ? this.innerRadiusScale : 1\n },\n isAllowed (value: number) {\n return !this.allowedValues || this.allowedValues(value)\n },\n genValues () {\n const children: VNode[] = []\n\n for (let value = this.min; value <= this.max; value = value + this.step) {\n const color = value === this.value && (this.color || 'accent')\n children.push(h('span', this.setBackgroundColor(color, {\n class: 'v-time-picker-clock__item',\n class: {\n 'v-time-picker-clock__item--active': value === this.displayedValue,\n 'v-time-picker-clock__item--disabled': this.disabled || !this.isAllowed(value),\n },\n style: this.getTransform(value),\n domProps: { innerHTML: `<span>${this.format(value)}</span>` },\n })))\n }\n\n return children\n },\n genHand () {\n const scale = `scaleY(${this.handScale(this.displayedValue)})`\n const angle = this.rotate + this.degreesPerUnit * (this.displayedValue - this.min)\n const color = (this.value != null) && (this.color || 'accent')\n return h('div', this.setBackgroundColor(color, {\n class: 'v-time-picker-clock__hand',\n class: {\n 'v-time-picker-clock__hand--inner': this.isInner(this.value),\n },\n style: {\n transform: `rotate(${angle}deg) ${scale}`,\n },\n }))\n },\n getTransform (i: number) {\n const { x, y } = this.getPosition(i)\n return {\n left: `${50 + x * 50}%`,\n top: `${50 + y * 50}%`,\n }\n },\n getPosition (value: number) {\n const rotateRadians = this.rotate * Math.PI / 180\n return {\n x: Math.sin((value - this.min) * this.degrees + rotateRadians) * this.handScale(value),\n y: -Math.cos((value - this.min) * this.degrees + rotateRadians) * this.handScale(value),\n }\n },\n onMouseDown (e: MouseEvent | TouchEvent) {\n e.preventDefault()\n\n this.valueOnMouseDown = null\n this.valueOnMouseUp = null\n this.isDragging = true\n this.onDragMove(e)\n },\n onMouseUp (e: MouseEvent | TouchEvent) {\n e.stopPropagation()\n\n this.isDragging = false\n if (this.valueOnMouseUp !== null && this.isAllowed(this.valueOnMouseUp)) {\n this.$emit('change', this.valueOnMouseUp)\n }\n },\n onDragMove (e: MouseEvent | TouchEvent) {\n e.preventDefault()\n if ((!this.isDragging && e.type !== 'click') || !this.$refs.clock) return\n\n const { width, top, left } = this.$refs.clock.getBoundingClientRect()\n const { width: innerWidth } = this.$refs.innerClock.getBoundingClientRect()\n const { clientX, clientY } = 'touches' in e ? e.touches[0] : e\n const center = { x: width / 2, y: -width / 2 }\n const coords = { x: clientX - left, y: top - clientY }\n const handAngle = Math.round(this.angle(center, coords) - this.rotate + 360) % 360\n const insideClick = this.double && this.euclidean(center, coords) < (innerWidth + innerWidth * this.innerRadiusScale) / 4\n const checksCount = Math.ceil(15 / this.degreesPerUnit)\n let value\n\n for (let i = 0; i < checksCount; i++) {\n value = this.angleToValue(handAngle + i * this.degreesPerUnit, insideClick)\n if (this.isAllowed(value)) return this.setMouseDownValue(value)\n\n value = this.angleToValue(handAngle - i * this.degreesPerUnit, insideClick)\n if (this.isAllowed(value)) return this.setMouseDownValue(value)\n }\n },\n angleToValue (angle: number, insideClick: boolean): number {\n const value = (\n Math.round(angle / this.degreesPerUnit) +\n (insideClick ? this.roundCount : 0)\n ) % this.count + this.min\n\n // Necessary to fix edge case when selecting left part of the value(s) at 12 o'clock\n if (angle < (360 - this.degreesPerUnit / 2)) return value\n\n return insideClick ? this.max - this.roundCount + 1 : this.min\n },\n setMouseDownValue (value: number) {\n if (this.valueOnMouseDown === null) {\n this.valueOnMouseDown = value\n }\n\n this.valueOnMouseUp = value\n this.update(value)\n },\n update (value: number) {\n if (this.inputValue !== value) {\n this.inputValue = value\n this.$emit('input', value)\n }\n },\n euclidean (p0: Point, p1: Point) {\n const dx = p1.x - p0.x\n const dy = p1.y - p0.y\n\n return Math.sqrt(dx * dx + dy * dy)\n },\n angle (center: Point, p1: Point) {\n const value = 2 * Math.atan2(p1.y - center.y - this.euclidean(center, p1), p1.x - center.x)\n return Math.abs(value * 180 / Math.PI)\n },\n },\n\n render (): VNode {\n const data: VNodeData = {\n class: 'v-time-picker-clock',\n class: {\n 'v-time-picker-clock--indeterminate': this.value == null,\n ...this.themeClasses,\n },\n on: (this.readonly || this.disabled) ? undefined : {\n mousedown: this.onMouseDown,\n mouseup: this.onMouseUp,\n mouseleave: (e: MouseEvent) => (this.isDragging && this.onMouseUp(e)),\n touchstart: this.onMouseDown,\n touchend: this.onMouseUp,\n mousemove: this.onDragMove,\n touchmove: this.onDragMove,\n },\n ref: 'clock',\n }\n\n if (this.scrollable && data.on) {\n data.on.wheel = this.wheel\n }\n\n return h('div', data, [\n h('div', {\n class: 'v-time-picker-clock__inner',\n ref: 'innerClock',\n }, [\n this.genHand(),\n this.genValues(),\n ]),\n ])\n },\n})\n"],"sourceRoot":"","file":"VTimePickerClock.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VTimePicker/VTimePickerClock.ts"],"names":[],"mappings":"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","sourcesContent":["import { h, VNode, PropType, VNodeData } from 'vue'\nimport './VTimePickerClock.sass'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\n\n// Types\nimport mixins, { ExtractVue } from '../../util/mixins'\n\ninterface Point {\n x: number\n y: number\n}\n\ninterface options {\n $refs: {\n clock: HTMLElement\n innerClock: HTMLElement\n }\n}\n\nexport default mixins<options &\n/* eslint-disable indent */\n ExtractVue<[\n typeof Colorable,\n typeof Themeable\n ]>\n/* eslint-enable indent */\n>(\n Colorable,\n Themeable\n/* @vue/component */\n).extend({\n name: 'v-time-picker-clock',\n\n props: {\n allowedValues: Function as PropType<(value: number) => boolean>,\n ampm: Boolean,\n disabled: Boolean,\n double: Boolean,\n format: {\n type: Function as PropType<(val: string | number) => string | number>,\n default: (val: string | number) => val,\n },\n max: {\n type: Number,\n required: true,\n },\n min: {\n type: Number,\n required: true,\n },\n scrollable: Boolean,\n readonly: Boolean,\n rotate: {\n type: Number,\n default: 0,\n },\n step: {\n type: Number,\n default: 1,\n },\n modelValue: Number,\n },\n\n data () {\n return {\n isDragging: false,\n valueOnMouseDown: null as number | null,\n valueOnMouseUp: null as number | null,\n }\n },\n\n computed: {\n count (): number {\n return this.max - this.min + 1\n },\n degreesPerUnit (): number {\n return 360 / this.roundCount\n },\n degrees (): number {\n return this.degreesPerUnit * Math.PI / 180\n },\n displayedValue (): number {\n return this.modelValue == null ? this.min : this.modelValue\n },\n innerRadiusScale (): number {\n return 0.62\n },\n roundCount (): number {\n return this.double ? (this.count / 2) : this.count\n },\n },\n\n\n methods: {\n wheel (e: WheelEvent) {\n e.preventDefault()\n\n const delta = Math.sign(-e.deltaY || 1)\n let value = this.displayedValue\n do {\n value = value + delta\n value = (value - this.min + this.count) % this.count + this.min\n } while (!this.isAllowed(value) && value !== this.displayedValue)\n\n if (value !== this.displayedValue) {\n this.update(value)\n }\n },\n isInner (value: number) {\n return this.double && (value - this.min >= this.roundCount)\n },\n handScale (value: number) {\n return this.isInner(value) ? this.innerRadiusScale : 1\n },\n isAllowed (value: number) {\n return !this.allowedValues || this.allowedValues(value)\n },\n genValues () {\n const children: VNode[] = []\n\n for (let value = this.min; value <= this.max; value = value + this.step) {\n const color = value === this.modelValue && (this.color || 'accent')\n children.push(h('span', this.setBackgroundColor(color, {\n class: [\n 'v-time-picker-clock__item',\n {\n 'v-time-picker-clock__item--active': value === this.displayedValue,\n 'v-time-picker-clock__item--disabled': this.disabled || !this.isAllowed(value),\n },\n ],\n style: this.getTransform(value),\n innerHTML: `<span>${this.format(value)}</span>`,\n })))\n }\n\n return children\n },\n genHand () {\n const scale = `scaleY(${this.handScale(this.displayedValue)})`\n const angle = this.rotate + this.degreesPerUnit * (this.displayedValue - this.min)\n const color = (this.modelValue != null) && (this.color || 'accent')\n return h('div', this.setBackgroundColor(color, {\n class: [\n 'v-time-picker-clock__hand',\n {\n 'v-time-picker-clock__hand--inner': this.isInner(this.modelValue),\n },\n ],\n style: {\n transform: `rotate(${angle}deg) ${scale}`,\n },\n }))\n },\n getTransform (i: number) {\n const { x, y } = this.getPosition(i)\n return {\n left: `${50 + x * 50}%`,\n top: `${50 + y * 50}%`,\n }\n },\n getPosition (value: number) {\n const rotateRadians = this.rotate * Math.PI / 180\n return {\n x: Math.sin((value - this.min) * this.degrees + rotateRadians) * this.handScale(value),\n y: -Math.cos((value - this.min) * this.degrees + rotateRadians) * this.handScale(value),\n }\n },\n onMouseDown (e: MouseEvent | TouchEvent) {\n e.preventDefault()\n\n this.valueOnMouseDown = null\n this.valueOnMouseUp = null\n this.isDragging = true\n this.onDragMove(e)\n },\n onMouseUp (e: MouseEvent | TouchEvent) {\n e.stopPropagation()\n\n this.isDragging = false\n if (this.valueOnMouseUp !== null && this.isAllowed(this.valueOnMouseUp)) {\n this.$emit('change', this.valueOnMouseUp)\n }\n },\n onDragMove (e: MouseEvent | TouchEvent) {\n e.preventDefault()\n if ((!this.isDragging && e.type !== 'click') || !this.$refs.clock) return\n\n const { width, top, left } = this.$refs.clock.getBoundingClientRect()\n const { width: innerWidth } = this.$refs.innerClock.getBoundingClientRect()\n const { clientX, clientY } = 'touches' in e ? e.touches[0] : e\n const center = { x: width / 2, y: -width / 2 }\n const coords = { x: clientX - left, y: top - clientY }\n const handAngle = Math.round(this.angle(center, coords) - this.rotate + 360) % 360\n const insideClick = this.double && this.euclidean(center, coords) < (innerWidth + innerWidth * this.innerRadiusScale) / 4\n const checksCount = Math.ceil(15 / this.degreesPerUnit)\n let value\n\n for (let i = 0; i < checksCount; i++) {\n value = this.angleToValue(handAngle + i * this.degreesPerUnit, insideClick)\n if (this.isAllowed(value)) return this.setMouseDownValue(value)\n\n value = this.angleToValue(handAngle - i * this.degreesPerUnit, insideClick)\n if (this.isAllowed(value)) return this.setMouseDownValue(value)\n }\n },\n angleToValue (angle: number, insideClick: boolean): number {\n const value = (\n Math.round(angle / this.degreesPerUnit) +\n (insideClick ? this.roundCount : 0)\n ) % this.count + this.min\n\n // Necessary to fix edge case when selecting left part of the value(s) at 12 o'clock\n if (angle < (360 - this.degreesPerUnit / 2)) return value\n\n return insideClick ? this.max - this.roundCount + 1 : this.min\n },\n setMouseDownValue (value: number) {\n if (this.valueOnMouseDown === null) {\n this.valueOnMouseDown = value\n }\n\n this.valueOnMouseUp = value\n this.update(value)\n },\n update (value: number) {\n if (this.modelValue !== value) {\n this.$emit('update:modelValue', value)\n }\n },\n euclidean (p0: Point, p1: Point) {\n const dx = p1.x - p0.x\n const dy = p1.y - p0.y\n\n return Math.sqrt(dx * dx + dy * dy)\n },\n angle (center: Point, p1: Point) {\n const value = 2 * Math.atan2(p1.y - center.y - this.euclidean(center, p1), p1.x - center.x)\n return Math.abs(value * 180 / Math.PI)\n },\n },\n\n render (): VNode {\n const data: VNodeData = {\n class: [\n 'v-time-picker-clock',\n {\n 'v-time-picker-clock--indeterminate': this.modelValue == null,\n ...this.themeClasses,\n },\n ],\n onMousedown: (this.readonly || this.disabled) ? undefined : this.onMouseDown,\n onMouseup: (this.readonly || this.disabled) ? undefined : this.onMouseUp,\n onMouseleave: (this.readonly || this.disabled) ? undefined : (e: MouseEvent) => (this.isDragging && this.onMouseUp(e)),\n onTouchstart: (this.readonly || this.disabled) ? undefined : this.onMouseDown,\n onTouchend: (this.readonly || this.disabled) ? undefined : this.onMouseUp,\n onMousemove: (this.readonly || this.disabled) ? undefined : this.onDragMove,\n onTouchmove: (this.readonly || this.disabled) ? undefined : this.onDragMove,\n ref: 'clock',\n }\n\n if (this.scrollable && !this.readonly && !this.disabled) {\n data.onWheel = this.wheel\n }\n\n return h('div', data, [\n h('div', {\n class: 'v-time-picker-clock__inner',\n ref: 'innerClock',\n }, [\n this.genHand(),\n this.genValues(),\n ]),\n ])\n },\n})\n"],"sourceRoot":"","file":"VTimePickerClock.js"}
|
|
@@ -11,7 +11,7 @@ require("../../../src/components/VTimePicker/VTimePickerTitle.sass");
|
|
|
11
11
|
|
|
12
12
|
var _pickerButton = _interopRequireDefault(require("../../mixins/picker-button"));
|
|
13
13
|
|
|
14
|
-
var
|
|
14
|
+
var _pad = _interopRequireDefault(require("../VDatePicker/util/pad"));
|
|
15
15
|
|
|
16
16
|
var _mixins = _interopRequireDefault(require("../../util/mixins"));
|
|
17
17
|
|
|
@@ -19,8 +19,8 @@ var _SelectingTimes = require("./SelectingTimes");
|
|
|
19
19
|
|
|
20
20
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
21
21
|
|
|
22
|
-
|
|
23
|
-
|
|
22
|
+
// Mixins
|
|
23
|
+
// Utils
|
|
24
24
|
var _default = (0, _mixins.default)(_pickerButton.default
|
|
25
25
|
/* @vue/component */
|
|
26
26
|
).extend({
|
|
@@ -42,6 +42,7 @@ var _default = (0, _mixins.default)(_pickerButton.default
|
|
|
42
42
|
useSeconds: Boolean,
|
|
43
43
|
selecting: Number
|
|
44
44
|
},
|
|
45
|
+
emits: ['update:selecting', 'update:period'],
|
|
45
46
|
methods: {
|
|
46
47
|
genTime: function genTime() {
|
|
47
48
|
var hour = this.hour;
|
|
@@ -50,12 +51,12 @@ var _default = (0, _mixins.default)(_pickerButton.default
|
|
|
50
51
|
hour = hour ? (hour - 1) % 12 + 1 : 12;
|
|
51
52
|
}
|
|
52
53
|
|
|
53
|
-
var displayedHour = this.hour == null ? '--' : this.ampm ? String(hour) : (0,
|
|
54
|
-
var displayedMinute = this.minute == null ? '--' : (0,
|
|
54
|
+
var displayedHour = this.hour == null ? '--' : this.ampm ? String(hour) : (0, _pad.default)(hour);
|
|
55
|
+
var displayedMinute = this.minute == null ? '--' : (0, _pad.default)(this.minute);
|
|
55
56
|
var titleContent = [this.genPickerButton('selecting', _SelectingTimes.SelectingTimes.Hour, displayedHour, this.disabled), (0, _vue.h)('span', ':'), this.genPickerButton('selecting', _SelectingTimes.SelectingTimes.Minute, displayedMinute, this.disabled)];
|
|
56
57
|
|
|
57
58
|
if (this.useSeconds) {
|
|
58
|
-
var displayedSecond = this.second == null ? '--' : (0,
|
|
59
|
+
var displayedSecond = this.second == null ? '--' : (0, _pad.default)(this.second);
|
|
59
60
|
titleContent.push((0, _vue.h)('span', ':'));
|
|
60
61
|
titleContent.push(this.genPickerButton('selecting', _SelectingTimes.SelectingTimes.Second, displayedSecond, this.disabled));
|
|
61
62
|
}
|
|
@@ -65,11 +66,12 @@ var _default = (0, _mixins.default)(_pickerButton.default
|
|
|
65
66
|
}, titleContent);
|
|
66
67
|
},
|
|
67
68
|
genAmPm: function genAmPm() {
|
|
68
|
-
return (0, _vue.h)('div',
|
|
69
|
-
class:
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
69
|
+
return (0, _vue.h)('div', {
|
|
70
|
+
class: {
|
|
71
|
+
'v-time-picker-title__ampm': true,
|
|
72
|
+
'v-time-picker-title__ampm--readonly': this.ampmReadonly
|
|
73
|
+
}
|
|
74
|
+
}, [!this.ampmReadonly || this.period === 'am' ? this.genPickerButton('period', 'am', this.$vuetify.lang.t('$vuetify.timePicker.am'), this.disabled || this.readonly) : null, !this.ampmReadonly || this.period === 'pm' ? this.genPickerButton('period', 'pm', this.$vuetify.lang.t('$vuetify.timePicker.pm'), this.disabled || this.readonly) : null]);
|
|
73
75
|
}
|
|
74
76
|
},
|
|
75
77
|
render: function render() {
|