@dimailn/vuetify 2.7.2-alpha4 → 2.7.2-alpha40
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 +4383 -2392
- 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 +36 -14
- 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 +36 -40
- 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 +40 -9
- 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 +16 -7
- 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/VContent/VContent.js +25 -6
- package/es5/components/VContent/VContent.js.map +1 -1
- package/es5/components/VCounter/VCounter.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 +51 -36
- 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 +61 -16
- 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 +52 -31
- 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/VDatePicker/util/eventHelpers.js +27 -17
- package/es5/components/VDatePicker/util/eventHelpers.js.map +1 -1
- package/es5/components/VDialog/VDialog.js +59 -33
- 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/VFooter/VFooter.js +1 -1
- package/es5/components/VFooter/VFooter.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 +6 -4
- package/es5/components/VGrid/VCol.js.map +1 -1
- package/es5/components/VGrid/VContainer.js +27 -10
- package/es5/components/VGrid/VContainer.js.map +1 -1
- package/es5/components/VGrid/VRow.js +1 -1
- package/es5/components/VGrid/VRow.js.map +1 -1
- package/es5/components/VGrid/grid.js +35 -15
- package/es5/components/VGrid/grid.js.map +1 -1
- package/es5/components/VHover/VHover.js +24 -17
- package/es5/components/VHover/VHover.js.map +1 -1
- package/es5/components/VIcon/VIcon.js +77 -53
- package/es5/components/VIcon/VIcon.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 +11 -2
- package/es5/components/VItemGroup/VItemGroup.js.map +1 -1
- package/es5/components/VLabel/VLabel.js +3 -1
- package/es5/components/VLabel/VLabel.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 +2 -2
- 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/VList/VListItemIcon.js +3 -1
- package/es5/components/VList/VListItemIcon.js.map +1 -1
- package/es5/components/VMain/VMain.js +1 -1
- package/es5/components/VMain/VMain.js.map +1 -1
- package/es5/components/VMenu/VMenu.js +62 -32
- 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 +41 -19
- package/es5/components/VNavigationDrawer/VNavigationDrawer.js.map +1 -1
- package/es5/components/VOtpInput/VOtpInput.js +87 -34
- package/es5/components/VOtpInput/VOtpInput.js.map +1 -1
- package/es5/components/VOverflowBtn/VOverflowBtn.js +18 -14
- package/es5/components/VOverflowBtn/VOverflowBtn.js.map +1 -1
- package/es5/components/VOverlay/VOverlay.js +31 -3
- 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 +51 -30
- 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 +161 -81
- package/es5/components/VSelect/VSelect.js.map +1 -1
- package/es5/components/VSelect/VSelectList.js +109 -44
- package/es5/components/VSelect/VSelectList.js.map +1 -1
- package/es5/components/VSheet/VSheet.js +3 -1
- package/es5/components/VSheet/VSheet.js.map +1 -1
- package/es5/components/VSlideGroup/VSlideGroup.js +40 -28
- 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 +8 -3
- 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 +3 -2
- package/es5/components/VStepper/VStepper.js.map +1 -1
- package/es5/components/VStepper/VStepperContent.js +9 -8
- 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 +1 -1
- 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 +68 -24
- package/es5/components/VTabs/VTabs.js.map +1 -1
- package/es5/components/VTabs/VTabsBar.js +3 -0
- 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 +42 -29
- package/es5/components/VTextField/VTextField.js.map +1 -1
- package/es5/components/VTextarea/VTextarea.js +1 -1
- package/es5/components/VTextarea/VTextarea.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 +14 -20
- 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/color/index.js +6 -3
- package/es5/directives/color/index.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/ripple/index.js +5 -2
- package/es5/directives/ripple/index.js.map +1 -1
- package/es5/directives/scroll/index.js +8 -8
- package/es5/directives/scroll/index.js.map +1 -1
- package/es5/directives/touch/index.js +11 -8
- 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 -13
- 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 +13 -10
- package/es5/mixins/detachable/index.js.map +1 -1
- package/es5/mixins/groupable/index.js +6 -2
- 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/positionable/index.js.map +1 -1
- package/es5/mixins/proxyable/index.js +5 -2
- package/es5/mixins/proxyable/index.js.map +1 -1
- package/es5/mixins/registrable/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 +9 -7
- package/es5/mixins/selectable/index.js.map +1 -1
- package/es5/mixins/toggleable/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/goto/util.js +42 -3
- package/es5/services/goto/util.js.map +1 -1
- package/es5/services/theme/index.js +20 -71
- package/es5/services/theme/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 +58 -3
- package/es5/util/helpers.js.map +1 -1
- package/es5/util/legacyEventsMixin.js +48 -0
- package/es5/util/legacyEventsMixin.js.map +1 -0
- package/es5/util/mergeData.js +6 -5
- package/es5/util/mergeData.js.map +1 -1
- package/es5/util/mixins.js +4 -3
- package/es5/util/mixins.js.map +1 -1
- 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 +19 -15
- 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 +28 -36
- 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 +19 -9
- 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 +17 -8
- 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/VContent/VContent.js +19 -4
- package/lib/components/VContent/VContent.js.map +1 -1
- package/lib/components/VCounter/VCounter.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 +38 -27
- 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 +34 -11
- 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 +31 -16
- 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/VDatePicker/util/eventHelpers.js +26 -14
- package/lib/components/VDatePicker/util/eventHelpers.js.map +1 -1
- package/lib/components/VDialog/VDialog.js +13 -5
- 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/VFooter/VFooter.js +2 -2
- package/lib/components/VFooter/VFooter.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 +7 -5
- package/lib/components/VGrid/VCol.js.map +1 -1
- package/lib/components/VGrid/VContainer.js +14 -10
- package/lib/components/VGrid/VContainer.js.map +1 -1
- package/lib/components/VGrid/VRow.js +2 -2
- package/lib/components/VGrid/VRow.js.map +1 -1
- package/lib/components/VGrid/grid.js +16 -14
- package/lib/components/VGrid/grid.js.map +1 -1
- package/lib/components/VHover/VHover.js +24 -18
- package/lib/components/VHover/VHover.js.map +1 -1
- package/lib/components/VIcon/VIcon.js +79 -57
- package/lib/components/VIcon/VIcon.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 +13 -3
- package/lib/components/VItemGroup/VItemGroup.js.map +1 -1
- package/lib/components/VLabel/VLabel.js +3 -1
- package/lib/components/VLabel/VLabel.js.map +1 -1
- package/lib/components/VLazy/VLazy.js +9 -16
- package/lib/components/VLazy/VLazy.js.map +1 -1
- package/lib/components/VList/VList.js +3 -3
- 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 +41 -19
- 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/VList/VListItemIcon.js +3 -1
- package/lib/components/VList/VListItemIcon.js.map +1 -1
- package/lib/components/VMain/VMain.js +2 -2
- package/lib/components/VMain/VMain.js.map +1 -1
- package/lib/components/VMenu/VMenu.js +18 -6
- 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 +17 -12
- package/lib/components/VNavigationDrawer/VNavigationDrawer.js.map +1 -1
- package/lib/components/VOtpInput/VOtpInput.js +103 -35
- package/lib/components/VOtpInput/VOtpInput.js.map +1 -1
- package/lib/components/VOverflowBtn/VOverflowBtn.js +16 -15
- package/lib/components/VOverflowBtn/VOverflowBtn.js.map +1 -1
- package/lib/components/VOverlay/VOverlay.js +13 -2
- 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 +45 -22
- 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 +104 -42
- package/lib/components/VSelect/VSelect.js.map +1 -1
- package/lib/components/VSelect/VSelectList.js +64 -29
- package/lib/components/VSelect/VSelectList.js.map +1 -1
- package/lib/components/VSheet/VSheet.js +3 -2
- package/lib/components/VSheet/VSheet.js.map +1 -1
- package/lib/components/VSlideGroup/VSlideGroup.js +23 -23
- 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 +2 -1
- 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 +4 -3
- package/lib/components/VStepper/VStepper.js.map +1 -1
- package/lib/components/VStepper/VStepperContent.js +7 -8
- 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 -1
- 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 +34 -8
- package/lib/components/VTabs/VTabs.js.map +1 -1
- package/lib/components/VTabs/VTabsBar.js +3 -0
- 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 +15 -19
- package/lib/components/VTextField/VTextField.js.map +1 -1
- package/lib/components/VTextarea/VTextarea.js +1 -1
- package/lib/components/VTextarea/VTextarea.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 +6 -7
- package/lib/components/VToolbar/VToolbar.js.map +1 -1
- package/lib/components/VTooltip/VTooltip.js +11 -22
- 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/color/index.js +6 -3
- package/lib/directives/color/index.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/ripple/index.js +5 -3
- package/lib/directives/ripple/index.js.map +1 -1
- package/lib/directives/scroll/index.js +8 -8
- package/lib/directives/scroll/index.js.map +1 -1
- package/lib/directives/touch/index.js +11 -8
- 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 +13 -14
- 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 +14 -11
- package/lib/mixins/detachable/index.js.map +1 -1
- package/lib/mixins/groupable/index.js +4 -2
- 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 +4 -2
- 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/positionable/index.js.map +1 -1
- package/lib/mixins/proxyable/index.js +5 -2
- package/lib/mixins/proxyable/index.js.map +1 -1
- package/lib/mixins/registrable/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 +15 -12
- package/lib/mixins/selectable/index.js.map +1 -1
- package/lib/mixins/toggleable/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/goto/util.js +42 -3
- package/lib/services/goto/util.js.map +1 -1
- package/lib/services/theme/index.js +18 -64
- package/lib/services/theme/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 +52 -3
- package/lib/util/helpers.js.map +1 -1
- package/lib/util/legacyEventsMixin.js +37 -0
- package/lib/util/legacyEventsMixin.js.map +1 -0
- package/lib/util/mergeData.js +6 -5
- package/lib/util/mergeData.js.map +1 -1
- package/lib/util/mixins.js +3 -2
- package/lib/util/mixins.js.map +1 -1
- package/package.json +2 -2
- 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 +18 -20
- 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 +4 -5
- package/src/components/VAutocomplete/VAutocomplete.ts +35 -6
- package/src/components/VAutocomplete/__tests__/VAutocomplete.spec.ts +125 -72
- package/src/components/VAutocomplete/__tests__/VAutocomplete2.spec.ts +109 -82
- package/src/components/VAutocomplete/__tests__/VAutocomplete3.spec.ts +114 -52
- 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 +3 -3
- package/src/components/VBottomNavigation/VBottomNavigation.ts +29 -17
- package/src/components/VBottomNavigation/__tests__/VBottomNavigation.spec.ts +43 -37
- package/src/components/VBottomNavigation/__tests__/__snapshots__/VBottomNavigation.spec.ts.snap +10 -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 +262 -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 +30 -35
- package/src/components/VCalendar/__tests__/VCalendar.spec.ts +19 -35
- package/src/components/VCalendar/__tests__/VCalendarCategory.spec.ts +21 -19
- package/src/components/VCalendar/__tests__/VCalendarDaily.spec.ts +30 -28
- package/src/components/VCalendar/__tests__/__snapshots__/VCalendar.spec.ts.snap +38 -38
- 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 +23 -10
- package/src/components/VCheckbox/VSimpleCheckbox.ts +97 -45
- package/src/components/VCheckbox/__tests__/VCheckbox.spec.ts +163 -152
- package/src/components/VCheckbox/__tests__/VSimpleCheckbox.spec.ts +46 -13
- package/src/components/VCheckbox/__tests__/__snapshots__/VCheckbox.spec.ts.snap +54 -50
- package/src/components/VChip/VChip.ts +19 -15
- 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 +236 -193
- package/src/components/VColorPicker/__tests__/__snapshots__/VColorPickerEdit.spec.ts.snap +48 -31
- package/src/components/VCombobox/VCombobox.ts +23 -0
- package/src/components/VCombobox/__tests__/VCombobox-multiple.spec.ts +202 -174
- package/src/components/VCombobox/__tests__/VCombobox.spec.ts +126 -95
- package/src/components/VContent/VContent.ts +11 -3
- package/src/components/VCounter/VCounter.ts +1 -1
- package/src/components/VCounter/__tests__/VCounter.spec.ts +10 -25
- 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 +113 -103
- package/src/components/VDataIterator/__tests__/__snapshots__/VDataIterator.spec.ts.snap +94 -84
- 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 +41 -35
- package/src/components/VDataTable/__tests__/VEditDialog.spec.ts +52 -40
- 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 +3348 -2891
- package/src/components/VDataTable/__tests__/__snapshots__/VDataTableHeader.spec.ts.snap +157 -186
- 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 +14 -17
- package/src/components/VDataTable/mixins/__tests__/header.spec.ts +17 -17
- package/src/components/VDataTable/mixins/header.ts +6 -10
- package/src/components/VDatePicker/VDatePicker.ts +48 -27
- package/src/components/VDatePicker/VDatePickerHeader.ts +57 -32
- package/src/components/VDatePicker/VDatePickerMonthTable.ts +1 -1
- package/src/components/VDatePicker/VDatePickerTitle.ts +41 -15
- package/src/components/VDatePicker/VDatePickerYears.ts +19 -10
- package/src/components/VDatePicker/__tests__/VDatePicker.date.spec.ts +278 -260
- package/src/components/VDatePicker/__tests__/VDatePicker.month.spec.ts +157 -131
- package/src/components/VDatePicker/__tests__/VDatePickerDateTable.spec.ts +76 -90
- package/src/components/VDatePicker/__tests__/VDatePickerHeader.spec.ts +85 -75
- package/src/components/VDatePicker/__tests__/VDatePickerMonthTable.spec.ts +63 -77
- package/src/components/VDatePicker/__tests__/VDatePickerTitle.spec.ts +56 -32
- package/src/components/VDatePicker/__tests__/VDatePickerYears.spec.ts +29 -26
- package/src/components/VDatePicker/__tests__/__snapshots__/VDatePicker.date.spec.ts.snap +628 -595
- package/src/components/VDatePicker/__tests__/__snapshots__/VDatePicker.month.spec.ts.snap +248 -228
- 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 +18 -9
- package/src/components/VDatePicker/mixins/date-picker-table.ts +33 -15
- package/src/components/VDatePicker/util/__tests__/createNativeLocaleFormatter.spec.ts +7 -0
- package/src/components/VDatePicker/util/createNativeLocaleFormatter.ts +3 -0
- package/src/components/VDatePicker/util/eventHelpers.ts +33 -13
- package/src/components/VDialog/VDialog.ts +24 -12
- 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 +7 -10
- package/src/components/VExpansionPanel/VExpansionPanelHeader.ts +13 -18
- package/src/components/VExpansionPanel/__tests__/VExpansionPanel.spec.ts +45 -29
- package/src/components/VExpansionPanel/__tests__/VExpansionPanelHeader.spec.ts +6 -4
- package/src/components/VExpansionPanel/__tests__/VExpansionPanels.spec.ts +9 -5
- package/src/components/VExpansionPanel/__tests__/__snapshots__/VExpansionPanel.spec.ts.snap +12 -11
- 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/VFooter/VFooter.ts +2 -2
- package/src/components/VFooter/__tests__/VFooter.spec.ts +28 -21
- package/src/components/VForm/VForm.ts +63 -35
- package/src/components/VForm/__tests__/VForm.spec.ts +100 -80
- package/src/components/VGrid/VCol.ts +4 -4
- package/src/components/VGrid/VContainer.ts +16 -12
- package/src/components/VGrid/VRow.ts +2 -2
- package/src/components/VGrid/__tests__/VCol.spec.ts +20 -18
- 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 -11
- package/src/components/VGrid/__tests__/VLayout.spec.ts +3 -3
- package/src/components/VGrid/grid.ts +16 -17
- package/src/components/VHover/VHover.ts +23 -17
- package/src/components/VHover/__tests__/VHover.spec.ts +44 -28
- package/src/components/VIcon/VIcon.ts +72 -53
- package/src/components/VIcon/__tests__/VIcon.spec.ts +139 -123
- package/src/components/VIcon/__tests__/__snapshots__/VIcon.spec.ts.snap +19 -74
- 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 +14 -3
- package/src/components/VItemGroup/__tests__/VItem.spec.ts +39 -46
- 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/VLabel.ts +1 -1
- package/src/components/VLabel/__tests__/VLabel.spec.ts +240 -14
- package/src/components/VLazy/VLazy.ts +12 -14
- 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 +3 -3
- package/src/components/VList/VListGroup.ts +43 -32
- package/src/components/VList/VListItem.ts +56 -24
- package/src/components/VList/VListItemAction.ts +11 -10
- package/src/components/VList/VListItemIcon.ts +1 -1
- package/src/components/VList/__tests__/VList.spec.ts +13 -12
- package/src/components/VList/__tests__/VListGroup.spec.ts +58 -50
- package/src/components/VList/__tests__/VListItem.spec.ts +142 -63
- package/src/components/VList/__tests__/VListItemAction.spec.ts +32 -31
- 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 +6 -7
- package/src/components/VList/__tests__/__snapshots__/VListItem.spec.ts.snap +1 -1
- package/src/components/VList/__tests__/__snapshots__/VListItemAction.spec.ts.snap +20 -6
- package/src/components/VMain/VMain.ts +2 -2
- package/src/components/VMain/__tests__/VMain.spec.ts +71 -17
- package/src/components/VMenu/VMenu.ts +28 -7
- 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 +27 -19
- package/src/components/VNavigationDrawer/__tests__/VNavigationDrawer.spec.ts +84 -71
- package/src/components/VOtpInput/VOtpInput.ts +92 -32
- package/src/components/VOtpInput/__tests__/VOtpInput.spec.ts +75 -78
- package/src/components/VOverflowBtn/VOverflowBtn.ts +16 -11
- package/src/components/VOverflowBtn/__tests__/VOverflowBtn.spec.ts +6 -6
- package/src/components/VOverflowBtn/__tests__/__snapshots__/VOverflowBtn.spec.ts.snap +38 -46
- package/src/components/VOverlay/VOverlay.ts +15 -1
- 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 +214 -459
- 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 +62 -33
- package/src/components/VProgressLinear/__tests__/VProgressLinear.spec.ts +386 -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/VRadioGroup/__tests__/VRadio.spec.ts +57 -44
- package/src/components/VRadioGroup/__tests__/VRadioGroup.spec.ts +4 -4
- package/src/components/VRadioGroup/__tests__/__snapshots__/VRadio.spec.ts.snap +29 -33
- package/src/components/VRadioGroup/__tests__/__snapshots__/VRadioGroup.spec.ts.snap +10 -18
- 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/VRating/__tests__/VRating.spec.ts +24 -29
- package/src/components/VResponsive/__tests__/VResponsive.spec.ts +10 -5
- package/src/components/VResponsive/__tests__/__snapshots__/VResponsive.spec.ts.snap +2 -2
- package/src/components/VSelect/VSelect.ts +110 -48
- package/src/components/VSelect/VSelectList.ts +62 -25
- package/src/components/VSelect/__tests__/VSelect.spec.ts +166 -125
- package/src/components/VSelect/__tests__/VSelect2.spec.ts +129 -113
- 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 +48 -60
- package/src/components/VSelect/__tests__/__snapshots__/VSelect3.spec.ts.snap +9 -297
- package/src/components/VSelect/__tests__/__snapshots__/VSelectList.spec.ts.snap +30 -27
- package/src/components/VSheet/VSheet.ts +2 -1
- 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 +36 -24
- package/src/components/VSlideGroup/VSlideItem.ts +2 -0
- package/src/components/VSlideGroup/__tests__/VSlideGroup.spec.ts +70 -62
- package/src/components/VSlideGroup/__tests__/__snapshots__/VSlideGroup.spec.ts.snap +13 -34
- 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 +2 -2
- package/src/components/VSnackbar/__tests__/VSnackbar.spec.ts +46 -37
- 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 +7 -5
- package/src/components/VStepper/VStepperContent.ts +10 -16
- package/src/components/VStepper/VStepperStep.ts +9 -16
- package/src/components/VStepper/__tests__/VStepper.spec.ts +7 -4
- package/src/components/VStepper/__tests__/VStepperContent.spec.ts +120 -107
- package/src/components/VStepper/__tests__/VStepperStep.spec.ts +51 -44
- package/src/components/VStepper/__tests__/__snapshots__/VStepperStep.spec.ts.snap +10 -12
- 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 +34 -44
- package/src/components/VSwitch/__tests__/__snapshots__/VSwitch.spec.ts.snap +11 -15
- package/src/components/VSystemBar/__tests__/VSystemBar.spec.ts +89 -17
- package/src/components/VTabs/VTab.ts +2 -0
- package/src/components/VTabs/VTabs.ts +39 -14
- package/src/components/VTabs/VTabsBar.ts +11 -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 +189 -76
- 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 +22 -22
- package/src/components/VTextField/__tests__/VTextField.spec.ts +350 -257
- package/src/components/VTextField/__tests__/__snapshots__/VTextField.spec.ts.snap +49 -73
- package/src/components/VTextarea/VTextarea.ts +1 -1
- package/src/components/VTextarea/__tests__/VTextarea.spec.ts +163 -35
- package/src/components/VTextarea/__tests__/__snapshots__/VTextarea.spec.ts.snap +99 -4
- package/src/components/VThemeProvider/__tests__/VThemeProvider.spec.ts +49 -10
- 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 +155 -142
- package/src/components/VTimePicker/__tests__/VTimePickerClock.spec.ts +78 -81
- package/src/components/VTimePicker/__tests__/VTimePickerTitle.spec.ts +49 -43
- 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 +6 -7
- package/src/components/VToolbar/VToolbar.ts +6 -7
- package/src/components/VToolbar/__tests__/VToolbar.spec.ts +49 -25
- package/src/components/VTooltip/VTooltip.ts +26 -32
- package/src/components/VTooltip/__tests__/VTooltip.spec.ts +64 -78
- 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 +74 -78
- package/src/components/VTreeview/__tests__/__snapshots__/VTreeview.spec.ts.snap +141 -141
- package/src/components/VTreeview/__tests__/__snapshots__/VTreeviewNode.spec.ts.snap +32 -26
- 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/click-outside/__tests__/click-outside-shadow-dom.spec.ts +4 -4
- package/src/directives/click-outside/__tests__/click-outside.spec.ts +3 -3
- package/src/directives/color/__tests__/color.spec.ts +54 -34
- package/src/directives/color/index.ts +7 -3
- package/src/directives/intersect/__tests__/intersect.spec.ts +7 -7
- package/src/directives/intersect/index.ts +81 -42
- package/src/directives/mutate/__tests__/mutate.spec.ts +32 -26
- package/src/directives/mutate/index.ts +58 -49
- package/src/directives/resize/__tests__/resize.spec.ts +5 -5
- package/src/directives/resize/index.ts +33 -14
- package/src/directives/ripple/__tests__/ripple.spec.ts +34 -36
- package/src/directives/ripple/index.ts +3 -6
- package/src/directives/scroll/__tests__/scroll.spec.ts +13 -13
- package/src/directives/scroll/index.ts +35 -20
- package/src/directives/touch/__tests__/touch.spec.ts +23 -16
- package/src/directives/touch/index.ts +42 -30
- package/src/globals.d.ts +6 -6
- package/src/install.ts +10 -32
- package/src/mixins/activatable/__tests__/activatable.spec.ts +55 -55
- package/src/mixins/activatable/index.ts +10 -11
- 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/dependent/__tests__/dependent.spec.ts +72 -33
- package/src/mixins/detachable/__tests__/detachable.spec.ts +45 -31
- package/src/mixins/detachable/index.ts +17 -10
- package/src/mixins/elevatable/__tests__/elevatable.spec.ts +14 -13
- package/src/mixins/groupable/index.ts +10 -8
- 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 +4 -3
- package/src/mixins/picker/index.ts +4 -4
- package/src/mixins/positionable/index.ts +2 -2
- package/src/mixins/proxyable/__tests__/proxyable.spec.ts +18 -17
- package/src/mixins/proxyable/index.ts +6 -3
- package/src/mixins/registrable/__tests__/registrable.spec.ts +31 -0
- package/src/mixins/registrable/index.ts +4 -4
- 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 +17 -14
- package/src/mixins/toggleable/index.ts +2 -2
- 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/goto/__tests__/goto.spec.ts +146 -1
- package/src/services/goto/util.ts +44 -5
- package/src/services/theme/__tests__/__snapshots__/theme.spec.ts.snap +0 -1128
- package/src/services/theme/__tests__/theme.spec.ts +81 -83
- package/src/services/theme/index.ts +22 -60
- package/src/util/__tests__/console.spec.ts +124 -11
- package/src/util/__tests__/dom.spec.ts +8 -5
- package/src/util/__tests__/helpers.spec.ts +122 -33
- package/src/util/__tests__/mergeData.spec.ts +8 -8
- package/src/util/console.ts +43 -24
- package/src/util/helpers.ts +57 -5
- package/src/util/legacyEventsMixin.ts +34 -0
- package/src/util/mergeData.ts +10 -5
- package/src/util/mixins.ts +24 -7
- package/types/alacarte.d.ts +14 -14
- package/types/index.d.ts +8 -8
- package/types/lib.d.ts +173 -173
|
@@ -7,7 +7,9 @@ import PickerButton from '../../mixins/picker-button'; // Utils
|
|
|
7
7
|
|
|
8
8
|
import { createRange } from '../../util/helpers';
|
|
9
9
|
import pad from '../VDatePicker/util/pad';
|
|
10
|
-
import mixins from '../../util/mixins';
|
|
10
|
+
import mixins from '../../util/mixins'; // Types
|
|
11
|
+
|
|
12
|
+
import { h } from 'vue';
|
|
11
13
|
import { SelectingTimes } from './SelectingTimes';
|
|
12
14
|
const rangeHours24 = createRange(24);
|
|
13
15
|
const rangeHours12am = createRange(12);
|
|
@@ -43,9 +45,10 @@ export default mixins(Picker, PickerButton
|
|
|
43
45
|
readonly: Boolean,
|
|
44
46
|
scrollable: Boolean,
|
|
45
47
|
useSeconds: Boolean,
|
|
46
|
-
|
|
48
|
+
modelValue: null,
|
|
47
49
|
ampmInTitle: Boolean
|
|
48
50
|
},
|
|
51
|
+
emits: ['update:modelValue', 'change', 'update:active-picker', 'update:period', 'click:hour', 'click:minute', 'click:second'],
|
|
49
52
|
|
|
50
53
|
data() {
|
|
51
54
|
return {
|
|
@@ -166,14 +169,21 @@ export default mixins(Picker, PickerButton
|
|
|
166
169
|
watch: {
|
|
167
170
|
activePicker: 'setPicker',
|
|
168
171
|
selecting: 'emitPicker',
|
|
169
|
-
|
|
172
|
+
modelValue: {
|
|
173
|
+
handler: 'setInputData',
|
|
174
|
+
immediate: false
|
|
175
|
+
}
|
|
170
176
|
},
|
|
171
177
|
|
|
172
178
|
mounted() {
|
|
173
|
-
this.setInputData(this.
|
|
179
|
+
this.setInputData(this.modelValue);
|
|
174
180
|
this.$on('update:period', this.setPeriod);
|
|
175
181
|
},
|
|
176
182
|
|
|
183
|
+
beforeUnmount() {
|
|
184
|
+
this.$off('update:period', this.setPeriod);
|
|
185
|
+
},
|
|
186
|
+
|
|
177
187
|
methods: {
|
|
178
188
|
genValue() {
|
|
179
189
|
if (this.inputHour != null && this.inputMinute != null && (!this.useSeconds || this.inputSecond != null)) {
|
|
@@ -185,7 +195,7 @@ export default mixins(Picker, PickerButton
|
|
|
185
195
|
|
|
186
196
|
emitValue() {
|
|
187
197
|
const value = this.genValue();
|
|
188
|
-
if (value !== null) this.$emit('
|
|
198
|
+
if (value !== null) this.$emit('update:modelValue', value);
|
|
189
199
|
},
|
|
190
200
|
|
|
191
201
|
emitPicker(value) {
|
|
@@ -201,7 +211,9 @@ export default mixins(Picker, PickerButton
|
|
|
201
211
|
},
|
|
202
212
|
|
|
203
213
|
setPicker(picker) {
|
|
204
|
-
if (picker === 'HOUR') this.selecting = SelectingTimes.Hour;else if (picker === 'MINUTE') this.selecting = SelectingTimes.Minute;else if (picker === 'SECOND' && this.useSeconds)
|
|
214
|
+
if (picker === 'HOUR') this.selecting = SelectingTimes.Hour;else if (picker === 'MINUTE') this.selecting = SelectingTimes.Minute;else if (picker === 'SECOND' && this.useSeconds) {
|
|
215
|
+
this.selecting = SelectingTimes.Second;
|
|
216
|
+
}
|
|
205
217
|
},
|
|
206
218
|
|
|
207
219
|
setPeriod(period) {
|
|
@@ -224,13 +236,31 @@ export default mixins(Picker, PickerButton
|
|
|
224
236
|
this.inputMinute = value.getMinutes();
|
|
225
237
|
this.inputSecond = value.getSeconds();
|
|
226
238
|
} else {
|
|
227
|
-
const
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
239
|
+
const match = value.trim().match(/^(\d+):(\d+)(:(\d+))?\s*([ap]m)?$/i);
|
|
240
|
+
|
|
241
|
+
if (match) {
|
|
242
|
+
const [, hour, minute,, second, period] = match;
|
|
243
|
+
const normalizedPeriod = period ? period.toLowerCase() : null;
|
|
244
|
+
this.inputHour = normalizedPeriod ? this.convert12to24(parseInt(hour, 10), normalizedPeriod) : parseInt(hour, 10);
|
|
245
|
+
this.inputMinute = parseInt(minute, 10);
|
|
246
|
+
this.inputSecond = parseInt(second || 0, 10); // Устанавливаем период только если он был указан в строке
|
|
247
|
+
|
|
248
|
+
if (normalizedPeriod) {
|
|
249
|
+
this.period = normalizedPeriod;
|
|
250
|
+
} else if (this.inputHour != null) {
|
|
251
|
+
this.period = this.inputHour < 12 ? 'am' : 'pm';
|
|
252
|
+
}
|
|
253
|
+
} else {
|
|
254
|
+
this.inputHour = null;
|
|
255
|
+
this.inputMinute = null;
|
|
256
|
+
this.inputSecond = null;
|
|
257
|
+
}
|
|
258
|
+
} // Для Date объектов устанавливаем период на основе 24-часового формата
|
|
259
|
+
|
|
260
|
+
|
|
261
|
+
if (value instanceof Date && this.inputHour != null) {
|
|
262
|
+
this.period = this.inputHour < 12 ? 'am' : 'pm';
|
|
231
263
|
}
|
|
232
|
-
|
|
233
|
-
this.period = this.inputHour == null || this.inputHour < 12 ? 'am' : 'pm';
|
|
234
264
|
},
|
|
235
265
|
|
|
236
266
|
convert24to12(hour) {
|
|
@@ -254,6 +284,8 @@ export default mixins(Picker, PickerButton
|
|
|
254
284
|
},
|
|
255
285
|
|
|
256
286
|
onChange(value) {
|
|
287
|
+
// Сначала обновляем значение через onInput - это ключевой момент!
|
|
288
|
+
this.onInput(value);
|
|
257
289
|
this.$emit(`click:${selectingNames[this.selecting]}`, value);
|
|
258
290
|
const emitChange = this.selecting === (this.useSeconds ? SelectingTimes.Second : SelectingTimes.Minute);
|
|
259
291
|
|
|
@@ -263,7 +295,10 @@ export default mixins(Picker, PickerButton
|
|
|
263
295
|
this.selecting = SelectingTimes.Second;
|
|
264
296
|
}
|
|
265
297
|
|
|
266
|
-
if (this.inputHour === this.lazyInputHour && this.inputMinute === this.lazyInputMinute && (!this.useSeconds || this.inputSecond === this.lazyInputSecond))
|
|
298
|
+
if (this.inputHour === this.lazyInputHour && this.inputMinute === this.lazyInputMinute && (!this.useSeconds || this.inputSecond === this.lazyInputSecond)) {
|
|
299
|
+
return;
|
|
300
|
+
}
|
|
301
|
+
|
|
267
302
|
const time = this.genValue();
|
|
268
303
|
if (time === null) return;
|
|
269
304
|
this.lazyInputHour = this.inputHour;
|
|
@@ -296,8 +331,8 @@ export default mixins(Picker, PickerButton
|
|
|
296
331
|
scrollable: this.scrollable,
|
|
297
332
|
size: Number(this.width) - (!this.fullWidth && this.landscape ? 80 : 20),
|
|
298
333
|
step: this.selecting === SelectingTimes.Hour ? 1 : 5,
|
|
299
|
-
|
|
300
|
-
|
|
334
|
+
modelValue: this.selecting === SelectingTimes.Hour ? this.inputHour : this.selecting === SelectingTimes.Minute ? this.inputMinute : this.inputSecond,
|
|
335
|
+
onUpdateModelValue: this.onInput,
|
|
301
336
|
onChange: this.onChange,
|
|
302
337
|
ref: 'clock'
|
|
303
338
|
});
|
|
@@ -318,24 +353,23 @@ export default mixins(Picker, PickerButton
|
|
|
318
353
|
|
|
319
354
|
genPickerTitle() {
|
|
320
355
|
return h(VTimePickerTitle, {
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
356
|
+
ampm: this.isAmPm,
|
|
357
|
+
ampmReadonly: this.isAmPm && !this.ampmInTitle,
|
|
358
|
+
disabled: this.disabled,
|
|
359
|
+
hour: this.inputHour,
|
|
360
|
+
minute: this.inputMinute,
|
|
361
|
+
second: this.inputSecond,
|
|
362
|
+
period: this.period,
|
|
363
|
+
readonly: this.readonly,
|
|
364
|
+
useSeconds: this.useSeconds,
|
|
365
|
+
selecting: this.selecting,
|
|
366
|
+
'onUpdate:selecting': value => {
|
|
367
|
+
this.selecting = value;
|
|
332
368
|
},
|
|
333
|
-
|
|
334
|
-
'update:
|
|
335
|
-
'update:period': period => this.$emit('update:period', period)
|
|
369
|
+
'onUpdate:period': period => {
|
|
370
|
+
this.$emit('update:period', period);
|
|
336
371
|
},
|
|
337
|
-
ref: 'title'
|
|
338
|
-
slot: 'title'
|
|
372
|
+
ref: 'title'
|
|
339
373
|
});
|
|
340
374
|
}
|
|
341
375
|
|
|
@@ -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"}
|
|
@@ -36,12 +36,11 @@ export default mixins(Colorable, Themeable
|
|
|
36
36
|
type: Number,
|
|
37
37
|
default: 1
|
|
38
38
|
},
|
|
39
|
-
|
|
39
|
+
modelValue: Number
|
|
40
40
|
},
|
|
41
41
|
|
|
42
42
|
data() {
|
|
43
43
|
return {
|
|
44
|
-
inputValue: this.value,
|
|
45
44
|
isDragging: false,
|
|
46
45
|
valueOnMouseDown: null,
|
|
47
46
|
valueOnMouseUp: null
|
|
@@ -62,7 +61,7 @@ export default mixins(Colorable, Themeable
|
|
|
62
61
|
},
|
|
63
62
|
|
|
64
63
|
displayedValue() {
|
|
65
|
-
return this.
|
|
64
|
+
return this.modelValue == null ? this.min : this.modelValue;
|
|
66
65
|
},
|
|
67
66
|
|
|
68
67
|
innerRadiusScale() {
|
|
@@ -73,12 +72,6 @@ export default mixins(Colorable, Themeable
|
|
|
73
72
|
return this.double ? this.count / 2 : this.count;
|
|
74
73
|
}
|
|
75
74
|
|
|
76
|
-
},
|
|
77
|
-
watch: {
|
|
78
|
-
value(value) {
|
|
79
|
-
this.inputValue = value;
|
|
80
|
-
}
|
|
81
|
-
|
|
82
75
|
},
|
|
83
76
|
methods: {
|
|
84
77
|
wheel(e) {
|
|
@@ -112,17 +105,14 @@ export default mixins(Colorable, Themeable
|
|
|
112
105
|
const children = [];
|
|
113
106
|
|
|
114
107
|
for (let value = this.min; value <= this.max; value = value + this.step) {
|
|
115
|
-
const color = value === this.
|
|
108
|
+
const color = value === this.modelValue && (this.color || 'accent');
|
|
116
109
|
children.push(h('span', this.setBackgroundColor(color, {
|
|
117
|
-
class: 'v-time-picker-clock__item',
|
|
118
|
-
class: {
|
|
110
|
+
class: ['v-time-picker-clock__item', {
|
|
119
111
|
'v-time-picker-clock__item--active': value === this.displayedValue,
|
|
120
112
|
'v-time-picker-clock__item--disabled': this.disabled || !this.isAllowed(value)
|
|
121
|
-
},
|
|
113
|
+
}],
|
|
122
114
|
style: this.getTransform(value),
|
|
123
|
-
|
|
124
|
-
innerHTML: `<span>${this.format(value)}</span>`
|
|
125
|
-
}
|
|
115
|
+
innerHTML: `<span>${this.format(value)}</span>`
|
|
126
116
|
})));
|
|
127
117
|
}
|
|
128
118
|
|
|
@@ -132,12 +122,11 @@ export default mixins(Colorable, Themeable
|
|
|
132
122
|
genHand() {
|
|
133
123
|
const scale = `scaleY(${this.handScale(this.displayedValue)})`;
|
|
134
124
|
const angle = this.rotate + this.degreesPerUnit * (this.displayedValue - this.min);
|
|
135
|
-
const color = this.
|
|
125
|
+
const color = this.modelValue != null && (this.color || 'accent');
|
|
136
126
|
return h('div', this.setBackgroundColor(color, {
|
|
137
|
-
class: 'v-time-picker-clock__hand',
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
},
|
|
127
|
+
class: ['v-time-picker-clock__hand', {
|
|
128
|
+
'v-time-picker-clock__hand--inner': this.isInner(this.modelValue)
|
|
129
|
+
}],
|
|
141
130
|
style: {
|
|
142
131
|
transform: `rotate(${angle}deg) ${scale}`
|
|
143
132
|
}
|
|
@@ -233,9 +222,8 @@ export default mixins(Colorable, Themeable
|
|
|
233
222
|
},
|
|
234
223
|
|
|
235
224
|
update(value) {
|
|
236
|
-
if (this.
|
|
237
|
-
this
|
|
238
|
-
this.$emit('input', value);
|
|
225
|
+
if (this.modelValue !== value) {
|
|
226
|
+
this.$emit('update:modelValue', value);
|
|
239
227
|
}
|
|
240
228
|
},
|
|
241
229
|
|
|
@@ -254,25 +242,22 @@ export default mixins(Colorable, Themeable
|
|
|
254
242
|
|
|
255
243
|
render() {
|
|
256
244
|
const data = {
|
|
257
|
-
class: 'v-time-picker-clock',
|
|
258
|
-
|
|
259
|
-
'v-time-picker-clock--indeterminate': this.value == null,
|
|
245
|
+
class: ['v-time-picker-clock', {
|
|
246
|
+
'v-time-picker-clock--indeterminate': this.modelValue == null,
|
|
260
247
|
...this.themeClasses
|
|
261
|
-
},
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
touchmove: this.onDragMove
|
|
270
|
-
},
|
|
248
|
+
}],
|
|
249
|
+
onMousedown: this.readonly || this.disabled ? undefined : this.onMouseDown,
|
|
250
|
+
onMouseup: this.readonly || this.disabled ? undefined : this.onMouseUp,
|
|
251
|
+
onMouseleave: this.readonly || this.disabled ? undefined : e => this.isDragging && this.onMouseUp(e),
|
|
252
|
+
onTouchstart: this.readonly || this.disabled ? undefined : this.onMouseDown,
|
|
253
|
+
onTouchend: this.readonly || this.disabled ? undefined : this.onMouseUp,
|
|
254
|
+
onMousemove: this.readonly || this.disabled ? undefined : this.onDragMove,
|
|
255
|
+
onTouchmove: this.readonly || this.disabled ? undefined : this.onDragMove,
|
|
271
256
|
ref: 'clock'
|
|
272
257
|
};
|
|
273
258
|
|
|
274
|
-
if (this.scrollable &&
|
|
275
|
-
data.
|
|
259
|
+
if (this.scrollable && !this.readonly && !this.disabled) {
|
|
260
|
+
data.onWheel = this.wheel;
|
|
276
261
|
}
|
|
277
262
|
|
|
278
263
|
return h('div', data, [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"}
|
|
@@ -3,7 +3,7 @@ import "../../../src/components/VTimePicker/VTimePickerTitle.sass"; // Mixins
|
|
|
3
3
|
|
|
4
4
|
import PickerButton from '../../mixins/picker-button'; // Utils
|
|
5
5
|
|
|
6
|
-
import
|
|
6
|
+
import pad from '../VDatePicker/util/pad';
|
|
7
7
|
import mixins from '../../util/mixins';
|
|
8
8
|
import { SelectingTimes } from './SelectingTimes';
|
|
9
9
|
export default mixins(PickerButton
|
|
@@ -25,6 +25,7 @@ export default mixins(PickerButton
|
|
|
25
25
|
useSeconds: Boolean,
|
|
26
26
|
selecting: Number
|
|
27
27
|
},
|
|
28
|
+
emits: ['update:selecting', 'update:period'],
|
|
28
29
|
methods: {
|
|
29
30
|
genTime() {
|
|
30
31
|
let hour = this.hour;
|
|
@@ -50,8 +51,8 @@ export default mixins(PickerButton
|
|
|
50
51
|
|
|
51
52
|
genAmPm() {
|
|
52
53
|
return h('div', {
|
|
53
|
-
class: 'v-time-picker-title__ampm',
|
|
54
54
|
class: {
|
|
55
|
+
'v-time-picker-title__ampm': true,
|
|
55
56
|
'v-time-picker-title__ampm--readonly': this.ampmReadonly
|
|
56
57
|
}
|
|
57
58
|
}, [!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]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VTimePicker/VTimePickerTitle.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VTimePicker/VTimePickerTitle.ts"],"names":[],"mappings":"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","sourcesContent":["import { h, VNode, PropType, defineComponent } from 'vue'\nimport './VTimePickerTitle.sass'\n\n// Mixins\nimport PickerButton from '../../mixins/picker-button'\n\n// Utils\nimport pad from '../VDatePicker/util/pad'\nimport mixins from '../../util/mixins'\n\nimport { SelectingTimes } from './SelectingTimes'\n\nexport default mixins(\n PickerButton\n/* @vue/component */\n).extend({\n name: 'v-time-picker-title',\n\n props: {\n ampm: Boolean,\n ampmReadonly: Boolean,\n disabled: Boolean,\n hour: Number,\n minute: Number,\n second: Number,\n period: {\n type: String as PropType<'am' | 'pm'>,\n validator: period => period === 'am' || period === 'pm',\n },\n readonly: Boolean,\n useSeconds: Boolean,\n selecting: Number,\n },\n\n emits: ['update:selecting', 'update:period'],\n\n methods: {\n genTime () {\n let hour = this.hour\n if (this.ampm) {\n hour = hour ? ((hour - 1) % 12 + 1) : 12\n }\n\n const displayedHour = this.hour == null ? '--' : this.ampm ? String(hour) : pad(hour)\n const displayedMinute = this.minute == null ? '--' : pad(this.minute)\n const titleContent = [\n this.genPickerButton('selecting', SelectingTimes.Hour, displayedHour, this.disabled),\n h('span', ':'),\n this.genPickerButton('selecting', SelectingTimes.Minute, displayedMinute, this.disabled),\n ]\n\n if (this.useSeconds) {\n const displayedSecond = this.second == null ? '--' : pad(this.second)\n titleContent.push(h('span', ':'))\n titleContent.push(this.genPickerButton('selecting', SelectingTimes.Second, displayedSecond, this.disabled))\n }\n return h('div', {\n class: 'v-time-picker-title__time',\n }, titleContent)\n },\n genAmPm () {\n return h('div', {\n class: {\n 'v-time-picker-title__ampm': true,\n 'v-time-picker-title__ampm--readonly': this.ampmReadonly,\n },\n }, [\n (!this.ampmReadonly || this.period === 'am') ? this.genPickerButton('period', 'am', this.$vuetify.lang.t('$vuetify.timePicker.am'), this.disabled || this.readonly) : null,\n (!this.ampmReadonly || this.period === 'pm') ? this.genPickerButton('period', 'pm', this.$vuetify.lang.t('$vuetify.timePicker.pm'), this.disabled || this.readonly) : null,\n ])\n },\n },\n\n render (): VNode {\n const children = [this.genTime()]\n\n this.ampm && children.push(this.genAmPm())\n\n return h('div', {\n class: 'v-time-picker-title',\n }, children)\n },\n})\n"],"sourceRoot":"","file":"VTimePickerTitle.js"}
|
|
@@ -6,7 +6,7 @@ import VSheet from '../VSheet/VSheet'; // Components
|
|
|
6
6
|
|
|
7
7
|
import VImg from '../VImg/VImg'; // Utilities
|
|
8
8
|
|
|
9
|
-
import { convertToUnit, getSlot } from '../../util/helpers';
|
|
9
|
+
import { convertToUnit, getSlot, getTagValue } from '../../util/helpers';
|
|
10
10
|
import { breaking } from '../../util/console'; // Types
|
|
11
11
|
|
|
12
12
|
import { defineComponent } from 'vue';
|
|
@@ -107,9 +107,7 @@ export default defineComponent({
|
|
|
107
107
|
};
|
|
108
108
|
const image = this.$slots.img ? this.$slots.img({
|
|
109
109
|
props
|
|
110
|
-
}) : h(VImg,
|
|
111
|
-
props
|
|
112
|
-
});
|
|
110
|
+
}) : h(VImg, props);
|
|
113
111
|
return h('div', {
|
|
114
112
|
class: 'v-toolbar__image'
|
|
115
113
|
}, [image]);
|
|
@@ -140,12 +138,13 @@ export default defineComponent({
|
|
|
140
138
|
const children = [this.genContent()];
|
|
141
139
|
const data = this.setBackgroundColor(this.color, {
|
|
142
140
|
class: this.classes,
|
|
143
|
-
style: this.styles
|
|
144
|
-
on: this.$listeners
|
|
141
|
+
style: this.styles
|
|
145
142
|
});
|
|
146
143
|
if (this.isExtended) children.push(this.genExtension());
|
|
147
144
|
if (this.src || this.$slots.img) children.unshift(this.genBackground());
|
|
148
|
-
return h(this.tag,
|
|
145
|
+
return h(getTagValue(this.tag), { ...this.attrs$,
|
|
146
|
+
...data
|
|
147
|
+
}, children);
|
|
149
148
|
}
|
|
150
149
|
|
|
151
150
|
});
|