vuetify 2.5.4 → 2.5.8
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/json/attributes.json +35 -7
- package/dist/json/tags.json +7 -0
- package/dist/json/web-types.json +95 -15
- package/dist/vuetify.css +34 -69
- package/dist/vuetify.css.map +1 -1
- package/dist/vuetify.js +129 -77
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +2 -2
- package/es5/components/VAlert/VAlert.js +2 -2
- package/es5/components/VAlert/VAlert.js.map +1 -1
- package/es5/components/VApp/VApp.js +1 -1
- package/es5/components/VAppBar/VAppBar.js +3 -3
- package/es5/components/VAppBar/VAppBar.js.map +1 -1
- package/es5/components/VAppBar/VAppBarNavIcon.js +2 -2
- 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/VAvatar/VAvatar.js +1 -1
- package/es5/components/VBadge/VBadge.js +1 -1
- package/es5/components/VBanner/VBanner.js +2 -2
- package/es5/components/VBanner/VBanner.js.map +1 -1
- package/es5/components/VBottomNavigation/VBottomNavigation.js +2 -2
- package/es5/components/VBottomNavigation/VBottomNavigation.js.map +1 -1
- package/es5/components/VBottomSheet/VBottomSheet.js +2 -2
- package/es5/components/VBottomSheet/VBottomSheet.js.map +1 -1
- package/es5/components/VBreadcrumbs/VBreadcrumbs.js +1 -1
- package/es5/components/VBreadcrumbs/VBreadcrumbsItem.js +3 -3
- package/es5/components/VBreadcrumbs/VBreadcrumbsItem.js.map +1 -1
- package/es5/components/VBtn/VBtn.js +12 -8
- package/es5/components/VBtn/VBtn.js.map +1 -1
- package/es5/components/VBtnToggle/VBtnToggle.js +2 -2
- package/es5/components/VBtnToggle/VBtnToggle.js.map +1 -1
- package/es5/components/VCalendar/VCalendar.js +5 -5
- package/es5/components/VCalendar/VCalendar.js.map +1 -1
- package/es5/components/VCalendar/VCalendarCategory.js +14 -10
- package/es5/components/VCalendar/VCalendarCategory.js.map +1 -1
- package/es5/components/VCalendar/VCalendarDaily.js +11 -7
- package/es5/components/VCalendar/VCalendarDaily.js.map +1 -1
- package/es5/components/VCalendar/VCalendarWeekly.js +9 -5
- package/es5/components/VCalendar/VCalendarWeekly.js.map +1 -1
- package/es5/components/VCalendar/mixins/calendar-with-events.js +6 -6
- package/es5/components/VCalendar/mixins/calendar-with-events.js.map +1 -1
- package/es5/components/VCalendar/modes/common.js +7 -3
- package/es5/components/VCalendar/modes/common.js.map +1 -1
- package/es5/components/VCalendar/modes/stack.js +83 -161
- package/es5/components/VCalendar/modes/stack.js.map +1 -1
- package/es5/components/VCalendar/util/parser.js +3 -3
- package/es5/components/VCalendar/util/parser.js.map +1 -1
- package/es5/components/VCalendar/util/timestamp.js +1 -1
- package/es5/components/VCard/VCard.js +3 -3
- package/es5/components/VCarousel/VCarousel.js +2 -2
- package/es5/components/VCarousel/VCarousel.js.map +1 -1
- package/es5/components/VCarousel/VCarouselItem.js +2 -2
- package/es5/components/VCarousel/VCarouselItem.js.map +1 -1
- package/es5/components/VCheckbox/VCheckbox.js +3 -3
- package/es5/components/VCheckbox/VCheckbox.js.map +1 -1
- package/es5/components/VCheckbox/VSimpleCheckbox.js +2 -2
- package/es5/components/VCheckbox/VSimpleCheckbox.js.map +1 -1
- package/es5/components/VChip/VChip.js +12 -8
- package/es5/components/VChip/VChip.js.map +1 -1
- package/es5/components/VChipGroup/VChipGroup.js +2 -2
- package/es5/components/VChipGroup/VChipGroup.js.map +1 -1
- package/es5/components/VColorPicker/VColorPicker.js +8 -4
- package/es5/components/VColorPicker/VColorPicker.js.map +1 -1
- package/es5/components/VColorPicker/VColorPickerEdit.js +7 -3
- package/es5/components/VColorPicker/VColorPickerEdit.js.map +1 -1
- package/es5/components/VColorPicker/VColorPickerPreview.js +5 -5
- package/es5/components/VColorPicker/VColorPickerPreview.js.map +1 -1
- package/es5/components/VColorPicker/util/index.js +5 -5
- package/es5/components/VColorPicker/util/index.js.map +1 -1
- package/es5/components/VCombobox/VCombobox.js +22 -9
- package/es5/components/VCombobox/VCombobox.js.map +1 -1
- package/es5/components/VCounter/VCounter.js +6 -2
- package/es5/components/VCounter/VCounter.js.map +1 -1
- package/es5/components/VData/VData.js +10 -6
- package/es5/components/VData/VData.js.map +1 -1
- package/es5/components/VDataIterator/VDataFooter.js +1 -1
- package/es5/components/VDataIterator/VDataIterator.js +18 -10
- package/es5/components/VDataIterator/VDataIterator.js.map +1 -1
- package/es5/components/VDataTable/MobileRow.js +2 -2
- package/es5/components/VDataTable/MobileRow.js.map +1 -1
- package/es5/components/VDataTable/RowGroup.js +8 -4
- package/es5/components/VDataTable/RowGroup.js.map +1 -1
- package/es5/components/VDataTable/VDataTable.js +30 -21
- package/es5/components/VDataTable/VDataTable.js.map +1 -1
- package/es5/components/VDataTable/VDataTableHeader.js +2 -2
- package/es5/components/VDataTable/VDataTableHeader.js.map +1 -1
- package/es5/components/VDataTable/VDataTableHeaderDesktop.js +8 -4
- package/es5/components/VDataTable/VDataTableHeaderDesktop.js.map +1 -1
- package/es5/components/VDataTable/VDataTableHeaderMobile.js +8 -4
- package/es5/components/VDataTable/VDataTableHeaderMobile.js.map +1 -1
- package/es5/components/VDataTable/VSimpleTable.js +1 -1
- package/es5/components/VDataTable/mixins/header.js +1 -1
- package/es5/components/VDatePicker/VDatePicker.js +1 -1
- package/es5/components/VDatePicker/VDatePickerHeader.js +8 -4
- package/es5/components/VDatePicker/VDatePickerHeader.js.map +1 -1
- package/es5/components/VDatePicker/mixins/date-picker-table.js +12 -8
- package/es5/components/VDatePicker/mixins/date-picker-table.js.map +1 -1
- package/es5/components/VDatePicker/util/createNativeLocaleFormatter.js +7 -3
- package/es5/components/VDatePicker/util/createNativeLocaleFormatter.js.map +1 -1
- package/es5/components/VDatePicker/util/monthChange.js +7 -3
- package/es5/components/VDatePicker/util/monthChange.js.map +1 -1
- package/es5/components/VDatePicker/util/sanitizeDateString.js +7 -3
- package/es5/components/VDatePicker/util/sanitizeDateString.js.map +1 -1
- package/es5/components/VDialog/VDialog.js +10 -6
- package/es5/components/VDialog/VDialog.js.map +1 -1
- package/es5/components/VDivider/VDivider.js +1 -1
- package/es5/components/VExpansionPanel/VExpansionPanel.js +1 -1
- package/es5/components/VExpansionPanel/VExpansionPanelHeader.js +2 -2
- package/es5/components/VExpansionPanel/VExpansionPanelHeader.js.map +1 -1
- package/es5/components/VExpansionPanel/VExpansionPanels.js +2 -2
- package/es5/components/VExpansionPanel/VExpansionPanels.js.map +1 -1
- package/es5/components/VFileInput/VFileInput.js +20 -17
- package/es5/components/VFileInput/VFileInput.js.map +1 -1
- package/es5/components/VFooter/VFooter.js +3 -3
- package/es5/components/VFooter/VFooter.js.map +1 -1
- package/es5/components/VForm/VForm.js +1 -1
- package/es5/components/VGrid/VCol.js +5 -5
- package/es5/components/VGrid/VRow.js +4 -4
- package/es5/components/VIcon/VIcon.js +3 -3
- package/es5/components/VIcon/VIcon.js.map +1 -1
- package/es5/components/VImg/VImg.js +1 -1
- package/es5/components/VInput/VInput.js +1 -1
- package/es5/components/VItemGroup/VItemGroup.js +1 -1
- package/es5/components/VLabel/VLabel.js +6 -2
- package/es5/components/VLabel/VLabel.js.map +1 -1
- package/es5/components/VLazy/VLazy.js +1 -1
- package/es5/components/VList/VList.js +14 -17
- package/es5/components/VList/VList.js.map +1 -1
- package/es5/components/VList/VListGroup.js +3 -3
- package/es5/components/VList/VListGroup.js.map +1 -1
- package/es5/components/VList/VListItem.js +6 -6
- package/es5/components/VList/VListItem.js.map +1 -1
- package/es5/components/VList/VListItemAvatar.js +3 -3
- package/es5/components/VList/VListItemGroup.js +3 -3
- package/es5/components/VList/VListItemGroup.js.map +1 -1
- package/es5/components/VMenu/VMenu.js +12 -8
- package/es5/components/VMenu/VMenu.js.map +1 -1
- package/es5/components/VNavigationDrawer/VNavigationDrawer.js +1 -1
- package/es5/components/VNavigationDrawer/VNavigationDrawer.js.map +1 -1
- package/es5/components/VOverflowBtn/VOverflowBtn.js +2 -2
- package/es5/components/VOverflowBtn/VOverflowBtn.js.map +1 -1
- package/es5/components/VOverlay/VOverlay.js +1 -1
- package/es5/components/VPagination/VPagination.js +9 -5
- package/es5/components/VPagination/VPagination.js.map +1 -1
- package/es5/components/VPicker/VPicker.js +3 -3
- package/es5/components/VPicker/VPicker.js.map +1 -1
- package/es5/components/VProgressLinear/VProgressLinear.js +1 -1
- package/es5/components/VRadioGroup/VRadio.js +8 -4
- package/es5/components/VRadioGroup/VRadio.js.map +1 -1
- package/es5/components/VRadioGroup/VRadioGroup.js +2 -2
- package/es5/components/VRadioGroup/VRadioGroup.js.map +1 -1
- package/es5/components/VRangeSlider/VRangeSlider.js +16 -8
- package/es5/components/VRangeSlider/VRangeSlider.js.map +1 -1
- package/es5/components/VSelect/VSelect.js +26 -31
- package/es5/components/VSelect/VSelect.js.map +1 -1
- package/es5/components/VSelect/VSelectList.js +2 -2
- package/es5/components/VSelect/VSelectList.js.map +1 -1
- package/es5/components/VSheet/VSheet.js +3 -3
- package/es5/components/VSheet/VSheet.js.map +1 -1
- package/es5/components/VSkeletonLoader/VSkeletonLoader.js +10 -6
- package/es5/components/VSkeletonLoader/VSkeletonLoader.js.map +1 -1
- package/es5/components/VSlideGroup/VSlideGroup.js +2 -2
- package/es5/components/VSlideGroup/VSlideGroup.js.map +1 -1
- package/es5/components/VSlider/VSlider.js +19 -15
- package/es5/components/VSlider/VSlider.js.map +1 -1
- package/es5/components/VSnackbar/VSnackbar.js +2 -2
- package/es5/components/VSnackbar/VSnackbar.js.map +1 -1
- package/es5/components/VSparkline/VSparkline.js +3 -3
- package/es5/components/VSparkline/VSparkline.js.map +1 -1
- package/es5/components/VSparkline/helpers/core.js +8 -4
- package/es5/components/VSparkline/helpers/core.js.map +1 -1
- package/es5/components/VSparkline/helpers/math.js.map +1 -1
- package/es5/components/VSparkline/helpers/path.js.map +1 -1
- package/es5/components/VStepper/VStepper.js +1 -1
- package/es5/components/VSubheader/VSubheader.js +1 -1
- package/es5/components/VSwitch/VSwitch.js +3 -3
- package/es5/components/VSwitch/VSwitch.js.map +1 -1
- package/es5/components/VSystemBar/VSystemBar.js +1 -1
- package/es5/components/VTabs/VTab.js +5 -5
- package/es5/components/VTabs/VTab.js.map +1 -1
- package/es5/components/VTabs/VTabs.js +1 -1
- package/es5/components/VTabs/VTabs.js.map +1 -1
- package/es5/components/VTabs/VTabsBar.js +14 -17
- package/es5/components/VTabs/VTabsBar.js.map +1 -1
- package/es5/components/VTabs/VTabsItems.js +2 -2
- package/es5/components/VTabs/VTabsItems.js.map +1 -1
- package/es5/components/VTextField/VTextField.js +21 -12
- package/es5/components/VTextField/VTextField.js.map +1 -1
- package/es5/components/VTextarea/VTextarea.js +1 -1
- package/es5/components/VTimePicker/VTimePicker.js +7 -3
- package/es5/components/VTimePicker/VTimePicker.js.map +1 -1
- package/es5/components/VTimePicker/VTimePickerClock.js +1 -1
- package/es5/components/VTimeline/VTimeline.js +1 -1
- package/es5/components/VTimeline/VTimelineItem.js +1 -1
- package/es5/components/VToolbar/VToolbar.js +10 -6
- package/es5/components/VToolbar/VToolbar.js.map +1 -1
- package/es5/components/VTreeview/VTreeview.js +49 -85
- package/es5/components/VTreeview/VTreeview.js.map +1 -1
- package/es5/components/VTreeview/VTreeviewNode.js +9 -5
- package/es5/components/VTreeview/VTreeviewNode.js.map +1 -1
- package/es5/components/VWindow/VWindow.js +7 -5
- package/es5/components/VWindow/VWindow.js.map +1 -1
- package/es5/components/index.js +80 -0
- package/es5/components/index.js.map +1 -1
- package/es5/directives/click-outside/index.js +1 -1
- package/es5/directives/intersect/index.js +1 -1
- package/es5/directives/mutate/index.js +4 -4
- package/es5/directives/mutate/index.js.map +1 -1
- package/es5/directives/scroll/index.js +1 -1
- package/es5/entry-lib.js +2 -0
- package/es5/entry-lib.js.map +1 -1
- package/es5/framework.js +7 -5
- package/es5/framework.js.map +1 -1
- package/es5/index.js +6 -2
- package/es5/index.js.map +1 -1
- package/es5/mixins/activatable/index.js +1 -1
- package/es5/mixins/binds-attrs/index.js.map +1 -1
- package/es5/mixins/bootable/index.js.map +1 -1
- package/es5/mixins/colorable/index.js +12 -8
- package/es5/mixins/colorable/index.js.map +1 -1
- package/es5/mixins/delayable/index.js.map +1 -1
- package/es5/mixins/dependent/index.js +8 -4
- package/es5/mixins/dependent/index.js.map +1 -1
- package/es5/mixins/detachable/index.js +1 -1
- package/es5/mixins/loadable/index.js.map +1 -1
- package/es5/mixins/menuable/index.js +1 -1
- package/es5/mixins/overlayable/index.js +16 -5
- package/es5/mixins/overlayable/index.js.map +1 -1
- package/es5/mixins/positionable/index.js.map +1 -1
- package/es5/mixins/roundable/index.js +12 -15
- package/es5/mixins/roundable/index.js.map +1 -1
- package/es5/mixins/routable/index.js +4 -2
- package/es5/mixins/routable/index.js.map +1 -1
- package/es5/mixins/scrollable/index.js.map +1 -1
- package/es5/mixins/ssr-bootable/index.js.map +1 -1
- package/es5/mixins/stackable/index.js +8 -4
- package/es5/mixins/stackable/index.js.map +1 -1
- package/es5/mixins/themeable/index.js +2 -2
- package/es5/mixins/themeable/index.js.map +1 -1
- package/es5/mixins/validatable/index.js +1 -1
- package/es5/services/application/index.js +14 -10
- package/es5/services/application/index.js.map +1 -1
- package/es5/services/breakpoint/index.js +14 -10
- package/es5/services/breakpoint/index.js.map +1 -1
- package/es5/services/goto/index.js +17 -11
- package/es5/services/goto/index.js.map +1 -1
- package/es5/services/icons/index.js +14 -10
- package/es5/services/icons/index.js.map +1 -1
- package/es5/services/index.js +7 -0
- package/es5/services/index.js.map +1 -1
- package/es5/services/lang/index.js +14 -10
- package/es5/services/lang/index.js.map +1 -1
- package/es5/services/presets/index.js +14 -10
- package/es5/services/presets/index.js.map +1 -1
- package/es5/services/service/index.js +1 -3
- package/es5/services/service/index.js.map +1 -1
- package/es5/services/theme/index.js +43 -37
- package/es5/services/theme/index.js.map +1 -1
- package/es5/services/theme/utils.js +21 -15
- package/es5/services/theme/utils.js.map +1 -1
- package/es5/util/colorUtils.js +9 -5
- package/es5/util/colorUtils.js.map +1 -1
- package/es5/util/console.js.map +1 -1
- package/es5/util/dedupeModelListeners.js.map +1 -1
- package/es5/util/dom.js.map +1 -1
- package/es5/util/helpers.js +16 -9
- package/es5/util/helpers.js.map +1 -1
- package/es5/util/mergeData.js +17 -20
- package/es5/util/mergeData.js.map +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.js +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
- package/lib/components/VCalendar/modes/stack.js.map +1 -1
- package/lib/components/VCombobox/VCombobox.js +13 -4
- package/lib/components/VCombobox/VCombobox.js.map +1 -1
- package/lib/components/VDataIterator/VDataIterator.js +5 -1
- package/lib/components/VDataIterator/VDataIterator.js.map +1 -1
- package/lib/components/VDataTable/VDataTable.js +7 -2
- package/lib/components/VDataTable/VDataTable.js.map +1 -1
- package/lib/components/VDatePicker/util/monthChange.js.map +1 -1
- package/lib/components/VFileInput/VFileInput.js +7 -9
- package/lib/components/VFileInput/VFileInput.js.map +1 -1
- package/lib/components/VList/VListGroup.js +1 -1
- package/lib/components/VList/VListGroup.js.map +1 -1
- package/lib/components/VList/VListItem.js +1 -1
- package/lib/components/VList/VListItem.js.map +1 -1
- package/lib/components/VNavigationDrawer/VNavigationDrawer.js.map +1 -1
- package/lib/components/VRangeSlider/VRangeSlider.js +6 -2
- package/lib/components/VRangeSlider/VRangeSlider.js.map +1 -1
- package/lib/components/VSelect/VSelect.js +9 -11
- package/lib/components/VSelect/VSelect.js.map +1 -1
- package/lib/components/VSlider/VSlider.js +17 -13
- package/lib/components/VSlider/VSlider.js.map +1 -1
- package/lib/components/VSnackbar/VSnackbar.js +2 -2
- package/lib/components/VSnackbar/VSnackbar.js.map +1 -1
- package/lib/components/VSparkline/helpers/math.js.map +1 -1
- package/lib/components/VSparkline/helpers/path.js.map +1 -1
- package/lib/components/VTabs/VTabs.js.map +1 -1
- package/lib/components/VTextField/VTextField.js +10 -5
- package/lib/components/VTextField/VTextField.js.map +1 -1
- package/lib/components/VTreeview/VTreeview.js +3 -1
- package/lib/components/VTreeview/VTreeview.js.map +1 -1
- package/lib/components/VWindow/VWindow.js +3 -3
- package/lib/components/VWindow/VWindow.js.map +1 -1
- package/lib/directives/mutate/index.js +3 -3
- package/lib/directives/mutate/index.js.map +1 -1
- package/lib/framework.js +1 -1
- package/lib/install.js.map +1 -1
- package/lib/mixins/binds-attrs/index.js.map +1 -1
- package/lib/mixins/bootable/index.js.map +1 -1
- package/lib/mixins/delayable/index.js.map +1 -1
- package/lib/mixins/loadable/index.js.map +1 -1
- package/lib/mixins/overlayable/index.js +16 -5
- package/lib/mixins/overlayable/index.js.map +1 -1
- package/lib/mixins/positionable/index.js.map +1 -1
- package/lib/mixins/routable/index.js +2 -0
- package/lib/mixins/routable/index.js.map +1 -1
- package/lib/mixins/scrollable/index.js.map +1 -1
- package/lib/mixins/ssr-bootable/index.js.map +1 -1
- package/lib/services/goto/index.js.map +1 -1
- package/lib/services/theme/index.js.map +1 -1
- package/lib/services/theme/utils.js.map +1 -1
- package/lib/util/colorUtils.js.map +1 -1
- package/lib/util/console.js.map +1 -1
- package/lib/util/dedupeModelListeners.js.map +1 -1
- package/lib/util/dom.js.map +1 -1
- package/lib/util/helpers.js +8 -5
- package/lib/util/helpers.js.map +1 -1
- package/package.json +2 -3
- package/src/components/VApp/VApp.sass +1 -0
- package/src/components/VAppBar/VAppBar.sass +1 -4
- package/src/components/VAutocomplete/VAutocomplete.ts +9 -5
- package/src/components/VBtn/VBtn.sass +0 -3
- package/src/components/VBtnToggle/VBtnToggle.sass +4 -2
- package/src/components/VCard/VCard.sass +1 -1
- package/src/components/VCombobox/VCombobox.ts +16 -2
- package/src/components/VCombobox/__tests__/VCombobox-multiple.spec.ts +30 -0
- package/src/components/VDataIterator/VDataIterator.ts +5 -1
- package/src/components/VDataTable/VDataTable.sass +5 -0
- package/src/components/VDataTable/VDataTable.ts +3 -0
- package/src/components/VDataTable/__tests__/VDataTable.spec.ts +34 -0
- package/src/components/VDataTable/__tests__/__snapshots__/VDataTable.spec.ts.snap +39 -39
- package/src/components/VFileInput/VFileInput.ts +7 -7
- package/src/components/VFileInput/__tests__/VFileInput.spec.ts +8 -0
- package/src/components/VFileInput/__tests__/__snapshots__/VFileInput.spec.ts.snap +50 -10
- package/src/components/VList/VListGroup.ts +1 -1
- package/src/components/VList/VListItem.sass +2 -1
- package/src/components/VList/VListItem.ts +1 -1
- package/src/components/VMenu/VMenu.sass +0 -3
- package/src/components/VNavigationDrawer/VNavigationDrawer.sass +0 -1
- package/src/components/VProgressCircular/VProgressCircular.sass +1 -1
- package/src/components/VRangeSlider/VRangeSlider.ts +8 -2
- package/src/components/VSelect/VSelect.ts +8 -12
- package/src/components/VSlider/VSlider.sass +9 -0
- package/src/components/VSlider/VSlider.ts +16 -9
- package/src/components/VSlider/_variables.scss +1 -0
- package/src/components/VSnackbar/VSnackbar.sass +1 -1
- package/src/components/VSnackbar/VSnackbar.ts +2 -2
- package/src/components/VTabs/_variables.scss +0 -2
- package/src/components/VTextField/VTextField.sass +2 -2
- package/src/components/VTextField/VTextField.ts +8 -1
- package/src/components/VTextField/__tests__/VTextField.spec.ts +9 -2
- package/src/components/VTimePicker/__tests__/VTimePicker.spec.ts +4 -4
- package/src/components/VTreeview/VTreeview.ts +1 -1
- package/src/mixins/overlayable/index.ts +19 -6
- package/src/mixins/routable/index.ts +2 -0
- package/src/services/goto/index.ts +1 -1
- package/src/styles/tools/_elevation.sass +0 -1
- package/src/util/helpers.ts +7 -2
- package/types/index.d.ts +2 -2
- package/types/lib.d.ts +6 -0
- package/types/services/goto.d.ts +3 -1
|
@@ -455,7 +455,7 @@ export default baseMixins.extend<options>().extend({
|
|
|
455
455
|
'aria-readonly': String(this.isReadonly),
|
|
456
456
|
'aria-activedescendant': getObjectValueByPath(this.$refs.menu, 'activeTile.id'),
|
|
457
457
|
autocomplete: getObjectValueByPath(input.data!, 'attrs.autocomplete', 'off'),
|
|
458
|
-
placeholder: (!this.isDirty && (this.isFocused || !this.hasLabel)) ? this.placeholder : undefined,
|
|
458
|
+
placeholder: (!this.isDirty && (this.persistentPlaceholder || this.isFocused || !this.hasLabel)) ? this.placeholder : undefined,
|
|
459
459
|
},
|
|
460
460
|
on: { keypress: this.onKeyPress },
|
|
461
461
|
})
|
|
@@ -658,12 +658,6 @@ export default baseMixins.extend<options>().extend({
|
|
|
658
658
|
const keyCode = e.keyCode
|
|
659
659
|
const menu = this.$refs.menu
|
|
660
660
|
|
|
661
|
-
// If enter, space, open menu
|
|
662
|
-
if ([
|
|
663
|
-
keyCodes.enter,
|
|
664
|
-
keyCodes.space,
|
|
665
|
-
].includes(keyCode)) this.activateMenu()
|
|
666
|
-
|
|
667
661
|
this.$emit('keydown', e)
|
|
668
662
|
|
|
669
663
|
if (!menu) return
|
|
@@ -677,6 +671,12 @@ export default baseMixins.extend<options>().extend({
|
|
|
677
671
|
})
|
|
678
672
|
}
|
|
679
673
|
|
|
674
|
+
// If enter, space, open menu
|
|
675
|
+
if ([
|
|
676
|
+
keyCodes.enter,
|
|
677
|
+
keyCodes.space,
|
|
678
|
+
].includes(keyCode)) this.activateMenu()
|
|
679
|
+
|
|
680
680
|
// If menu is not active, up/down/home/end can do
|
|
681
681
|
// one of 2 things. If multiple, opens the
|
|
682
682
|
// menu, if not, will cycle through all
|
|
@@ -709,6 +709,7 @@ export default baseMixins.extend<options>().extend({
|
|
|
709
709
|
if (!menu || !this.isDirty) return
|
|
710
710
|
|
|
711
711
|
// When menu opens, set index of first active item
|
|
712
|
+
this.$refs.menu.getTiles()
|
|
712
713
|
for (let i = 0; i < menu.tiles.length; i++) {
|
|
713
714
|
if (menu.tiles[i].getAttribute('aria-selected') === 'true') {
|
|
714
715
|
this.setMenuIndex(i)
|
|
@@ -839,11 +840,6 @@ export default baseMixins.extend<options>().extend({
|
|
|
839
840
|
(this.$refs.menu as { [key: string]: any }).updateDimensions()
|
|
840
841
|
})
|
|
841
842
|
|
|
842
|
-
// We only need to reset list index for multiple
|
|
843
|
-
// to keep highlight when an item is toggled
|
|
844
|
-
// on and off
|
|
845
|
-
if (!this.multiple) return
|
|
846
|
-
|
|
847
843
|
const listIndex = this.getMenuIndex()
|
|
848
844
|
|
|
849
845
|
this.setMenuIndex(-1)
|
|
@@ -69,6 +69,15 @@
|
|
|
69
69
|
transform: scale(0.1)
|
|
70
70
|
pointer-events: none
|
|
71
71
|
|
|
72
|
+
&::after
|
|
73
|
+
content: ''
|
|
74
|
+
width: $slider-thumb-touch-size
|
|
75
|
+
height: $slider-thumb-touch-size
|
|
76
|
+
position: absolute
|
|
77
|
+
top: 50%
|
|
78
|
+
left: 50%
|
|
79
|
+
transform: translate(-50%, -50%)
|
|
80
|
+
|
|
72
81
|
.v-slider__ticks-container
|
|
73
82
|
position: absolute
|
|
74
83
|
|
|
@@ -98,6 +98,7 @@ export default mixins<options &
|
|
|
98
98
|
isFocused: false,
|
|
99
99
|
isActive: false,
|
|
100
100
|
noClick: false, // Prevent click event if dragging took place, hack for #7915
|
|
101
|
+
startOffset: 0,
|
|
101
102
|
}),
|
|
102
103
|
|
|
103
104
|
computed: {
|
|
@@ -448,24 +449,30 @@ export default mixins<options &
|
|
|
448
449
|
[direction]: `${value}%`,
|
|
449
450
|
}
|
|
450
451
|
},
|
|
451
|
-
onSliderMouseDown (e: MouseEvent) {
|
|
452
|
+
onSliderMouseDown (e: MouseEvent | TouchEvent) {
|
|
452
453
|
e.preventDefault()
|
|
453
454
|
|
|
454
455
|
this.oldValue = this.internalValue
|
|
455
456
|
this.isActive = true
|
|
456
457
|
|
|
457
|
-
const mouseUpOptions = passiveSupported ? { passive: true, capture: true } : true
|
|
458
|
-
const mouseMoveOptions = passiveSupported ? { passive: true } : false
|
|
459
|
-
|
|
460
458
|
if ((e.target as Element)?.matches('.v-slider__thumb-container, .v-slider__thumb-container *')) {
|
|
461
459
|
this.thumbPressed = true
|
|
460
|
+
const domRect = (e.target as Element).getBoundingClientRect()
|
|
461
|
+
const touch = 'touches' in e ? e.touches[0] : e
|
|
462
|
+
this.startOffset = this.vertical
|
|
463
|
+
? touch.clientY - (domRect.top + domRect.height / 2)
|
|
464
|
+
: touch.clientX - (domRect.left + domRect.width / 2)
|
|
462
465
|
} else {
|
|
466
|
+
this.startOffset = 0
|
|
463
467
|
window.clearTimeout(this.mouseTimeout)
|
|
464
468
|
this.mouseTimeout = window.setTimeout(() => {
|
|
465
469
|
this.thumbPressed = true
|
|
466
470
|
}, 300)
|
|
467
471
|
}
|
|
468
472
|
|
|
473
|
+
const mouseUpOptions = passiveSupported ? { passive: true, capture: true } : true
|
|
474
|
+
const mouseMoveOptions = passiveSupported ? { passive: true } : false
|
|
475
|
+
|
|
469
476
|
const isTouchEvent = 'touches' in e
|
|
470
477
|
|
|
471
478
|
this.onMouseMove(e)
|
|
@@ -491,7 +498,7 @@ export default mixins<options &
|
|
|
491
498
|
|
|
492
499
|
this.isActive = false
|
|
493
500
|
},
|
|
494
|
-
onMouseMove (e: MouseEvent) {
|
|
501
|
+
onMouseMove (e: MouseEvent | TouchEvent) {
|
|
495
502
|
if (e.type === 'mousemove') {
|
|
496
503
|
this.thumbPressed = true
|
|
497
504
|
}
|
|
@@ -532,7 +539,7 @@ export default mixins<options &
|
|
|
532
539
|
|
|
533
540
|
this.$emit('focus', e)
|
|
534
541
|
},
|
|
535
|
-
parseMouseMove (e: MouseEvent) {
|
|
542
|
+
parseMouseMove (e: MouseEvent | TouchEvent) {
|
|
536
543
|
const start = this.vertical ? 'top' : 'left'
|
|
537
544
|
const length = this.vertical ? 'height' : 'width'
|
|
538
545
|
const click = this.vertical ? 'clientY' : 'clientX'
|
|
@@ -540,11 +547,11 @@ export default mixins<options &
|
|
|
540
547
|
const {
|
|
541
548
|
[start]: trackStart,
|
|
542
549
|
[length]: trackLength,
|
|
543
|
-
} = this.$refs.track.getBoundingClientRect()
|
|
544
|
-
const clickOffset = 'touches' in e ?
|
|
550
|
+
} = this.$refs.track.getBoundingClientRect()
|
|
551
|
+
const clickOffset = 'touches' in e ? e.touches[0][click] : e[click]
|
|
545
552
|
|
|
546
553
|
// It is possible for left to be NaN, force to number
|
|
547
|
-
let clickPos = Math.min(Math.max((clickOffset - trackStart) / trackLength, 0), 1) || 0
|
|
554
|
+
let clickPos = Math.min(Math.max((clickOffset - trackStart - this.startOffset) / trackLength, 0), 1) || 0
|
|
548
555
|
|
|
549
556
|
if (this.vertical) clickPos = 1 - clickPos
|
|
550
557
|
if (this.$vuetify.rtl) clickPos = 1 - clickPos
|
|
@@ -16,6 +16,7 @@ $slider-thumb-label-height: 32px !default;
|
|
|
16
16
|
$slider-thumb-label-transition: .3s map-get($transition, 'fast-in-fast-out') !default;
|
|
17
17
|
$slider-thumb-label-width: 32px !default;
|
|
18
18
|
$slider-thumb-size: 12px !default;
|
|
19
|
+
$slider-thumb-touch-size: 42px !default;
|
|
19
20
|
$slider-tick-border-radius: 0 !default;
|
|
20
21
|
$slider-track-border-radius: 0 !default;
|
|
21
22
|
$slider-track-width: 2px !default;
|
|
@@ -173,8 +173,8 @@ export default mixins(
|
|
|
173
173
|
value: this.isActive,
|
|
174
174
|
}],
|
|
175
175
|
on: {
|
|
176
|
-
|
|
177
|
-
|
|
176
|
+
pointerenter: () => window.clearTimeout(this.activeTimeout),
|
|
177
|
+
pointerleave: this.setTimeout,
|
|
178
178
|
},
|
|
179
179
|
})
|
|
180
180
|
|
|
@@ -9,8 +9,6 @@ $tabs-bar-height: 48px !default;
|
|
|
9
9
|
$tabs-icons-and-text-bar-height: 72px !default;
|
|
10
10
|
$tabs-icons-and-text-first-tab-margin-bottom: 6px !default;
|
|
11
11
|
$tabs-item-align-with-title-margin: 42px !default;
|
|
12
|
-
$tabs-item-focus-opacity: 0.20 !default;
|
|
13
|
-
$tabs-item-hover-opacity: 0.16 !default;
|
|
14
12
|
$tabs-item-letter-spacing: .0892857143em !default;
|
|
15
13
|
$tabs-item-max-width: 360px !default;
|
|
16
14
|
$tabs-item-min-width: 90px !default;
|
|
@@ -403,8 +403,8 @@
|
|
|
403
403
|
position: absolute
|
|
404
404
|
right: 0
|
|
405
405
|
top: $text-field-outlined-fieldset-top
|
|
406
|
-
transition-duration: 0.
|
|
407
|
-
transition-property: color
|
|
406
|
+
transition-duration: 0.15s
|
|
407
|
+
transition-property: color
|
|
408
408
|
transition-timing-function: map-get($transition, 'fast-in-fast-out')
|
|
409
409
|
|
|
410
410
|
+ltr()
|
|
@@ -373,6 +373,7 @@ export default baseMixins.extend<options>().extend({
|
|
|
373
373
|
const width = !this.singleLine && (this.labelValue || this.isDirty) ? this.labelWidth : 0
|
|
374
374
|
const span = this.$createElement('span', {
|
|
375
375
|
domProps: { innerHTML: '​' },
|
|
376
|
+
staticClass: 'notranslate',
|
|
376
377
|
})
|
|
377
378
|
|
|
378
379
|
return this.$createElement('legend', {
|
|
@@ -473,7 +474,13 @@ export default baseMixins.extend<options>().extend({
|
|
|
473
474
|
this.badInput = target.validity && target.validity.badInput
|
|
474
475
|
},
|
|
475
476
|
onKeyDown (e: KeyboardEvent) {
|
|
476
|
-
if (
|
|
477
|
+
if (
|
|
478
|
+
e.keyCode === keyCodes.enter &&
|
|
479
|
+
this.lazyValue !== this.initialValue
|
|
480
|
+
) {
|
|
481
|
+
this.initialValue = this.lazyValue
|
|
482
|
+
this.$emit('change', this.initialValue)
|
|
483
|
+
}
|
|
477
484
|
|
|
478
485
|
this.$emit('keydown', e)
|
|
479
486
|
},
|
|
@@ -628,19 +628,26 @@ describe('VTextField.ts', () => { // eslint-disable-line max-statements
|
|
|
628
628
|
expect(input.element.id).toBe('foo')
|
|
629
629
|
})
|
|
630
630
|
|
|
631
|
-
it('should fire change event when pressing enter', () => {
|
|
631
|
+
it('should fire change event when pressing enter and value has changed', () => {
|
|
632
632
|
const wrapper = mountFunction()
|
|
633
633
|
const input = wrapper.find('input')
|
|
634
634
|
const change = jest.fn()
|
|
635
|
+
const el = input.element as HTMLInputElement
|
|
635
636
|
|
|
636
637
|
wrapper.vm.$on('change', change)
|
|
637
638
|
|
|
638
639
|
input.trigger('focus')
|
|
639
|
-
|
|
640
|
+
el.value = 'foo'
|
|
640
641
|
input.trigger('input')
|
|
641
642
|
input.trigger('keydown.enter')
|
|
642
643
|
input.trigger('keydown.enter')
|
|
643
644
|
|
|
645
|
+
expect(change).toHaveBeenCalledTimes(1)
|
|
646
|
+
|
|
647
|
+
el.value = 'foobar'
|
|
648
|
+
input.trigger('input')
|
|
649
|
+
input.trigger('keydown.enter')
|
|
650
|
+
|
|
644
651
|
expect(change).toHaveBeenCalledTimes(2)
|
|
645
652
|
})
|
|
646
653
|
|
|
@@ -44,7 +44,7 @@ describe('VTimePicker.ts', () => {
|
|
|
44
44
|
})
|
|
45
45
|
|
|
46
46
|
it('should render landscape component' + useSecondsDesc, async () => {
|
|
47
|
-
|
|
47
|
+
const wrapper = mountFunction({
|
|
48
48
|
propsData: {
|
|
49
49
|
value: '09:12:34',
|
|
50
50
|
landscape: true,
|
|
@@ -57,7 +57,7 @@ describe('VTimePicker.ts', () => {
|
|
|
57
57
|
})
|
|
58
58
|
|
|
59
59
|
it('should render disabled component' + useSecondsDesc, async () => {
|
|
60
|
-
|
|
60
|
+
const wrapper = mountFunction({
|
|
61
61
|
propsData: {
|
|
62
62
|
disabled: true,
|
|
63
63
|
value: '09:12:34',
|
|
@@ -70,7 +70,7 @@ describe('VTimePicker.ts', () => {
|
|
|
70
70
|
})
|
|
71
71
|
|
|
72
72
|
it('should render flat component' + useSecondsDesc, async () => {
|
|
73
|
-
|
|
73
|
+
const wrapper = mountFunction({
|
|
74
74
|
propsData: {
|
|
75
75
|
flat: true,
|
|
76
76
|
value: '09:12:34',
|
|
@@ -83,7 +83,7 @@ describe('VTimePicker.ts', () => {
|
|
|
83
83
|
})
|
|
84
84
|
|
|
85
85
|
it('should render component with elevation' + useSecondsDesc, async () => {
|
|
86
|
-
|
|
86
|
+
const wrapper = mountFunction({
|
|
87
87
|
propsData: {
|
|
88
88
|
elevation: 15,
|
|
89
89
|
value: '09:12:34',
|
|
@@ -201,7 +201,7 @@ export default mixins(
|
|
|
201
201
|
for (let i = 0; i < items.length; i++) {
|
|
202
202
|
const item = items[i]
|
|
203
203
|
const key = getObjectValueByPath(item, this.itemKey)
|
|
204
|
-
const children = getObjectValueByPath(item, this.itemChildren
|
|
204
|
+
const children = getObjectValueByPath(item, this.itemChildren) ?? []
|
|
205
205
|
const oldNode = this.nodes.hasOwnProperty(key) ? this.nodes[key] : {
|
|
206
206
|
isSelected: false, isIndeterminate: false, isActive: false, isOpen: false, vnode: null,
|
|
207
207
|
} as NodeState
|
|
@@ -108,7 +108,8 @@ export default Vue.extend<Vue & Toggleable & Stackable & options>().extend({
|
|
|
108
108
|
!this.overlay ||
|
|
109
109
|
!this.overlay.$el ||
|
|
110
110
|
!this.overlay.$el.parentNode ||
|
|
111
|
-
this.overlay.value
|
|
111
|
+
this.overlay.value ||
|
|
112
|
+
this.isActive
|
|
112
113
|
) return
|
|
113
114
|
|
|
114
115
|
this.overlay.$el.parentNode.removeChild(this.overlay.$el)
|
|
@@ -156,9 +157,21 @@ export default Vue.extend<Vue & Toggleable & Stackable & options>().extend({
|
|
|
156
157
|
const style = window.getComputedStyle(el)
|
|
157
158
|
return ['auto', 'scroll'].includes(style.overflowY!) && el.scrollHeight > el.clientHeight
|
|
158
159
|
},
|
|
159
|
-
shouldScroll (el: Element, delta: number) {
|
|
160
|
-
if (el.
|
|
161
|
-
|
|
160
|
+
shouldScroll (el: Element, delta: number): boolean {
|
|
161
|
+
if (el.hasAttribute('data-app')) return false
|
|
162
|
+
|
|
163
|
+
const alreadyAtTop = el.scrollTop === 0
|
|
164
|
+
const alreadyAtBottom = el.scrollTop + el.clientHeight === el.scrollHeight
|
|
165
|
+
const scrollingUp = delta < 0
|
|
166
|
+
const scrollingDown = delta > 0
|
|
167
|
+
|
|
168
|
+
if (!alreadyAtTop && scrollingUp) return true
|
|
169
|
+
if (!alreadyAtBottom && scrollingDown) return true
|
|
170
|
+
if ((alreadyAtTop || alreadyAtBottom)) {
|
|
171
|
+
return this.shouldScroll(el.parentNode as Element, delta)
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
return false
|
|
162
175
|
},
|
|
163
176
|
isInside (el: Element, parent: Element): boolean {
|
|
164
177
|
if (el === parent) {
|
|
@@ -178,7 +191,7 @@ export default Vue.extend<Vue & Toggleable & Stackable & options>().extend({
|
|
|
178
191
|
// getSelection returns null in firefox in some edge cases, can be ignored
|
|
179
192
|
const selected = window.getSelection()!.anchorNode as Element
|
|
180
193
|
if (dialog && this.hasScrollbar(dialog) && this.isInside(selected, dialog)) {
|
|
181
|
-
return this.shouldScroll(dialog, delta)
|
|
194
|
+
return !this.shouldScroll(dialog, delta)
|
|
182
195
|
}
|
|
183
196
|
return true
|
|
184
197
|
}
|
|
@@ -190,7 +203,7 @@ export default Vue.extend<Vue & Toggleable & Stackable & options>().extend({
|
|
|
190
203
|
if (el === document.documentElement) return true
|
|
191
204
|
if (el === this.$refs.content) return true
|
|
192
205
|
|
|
193
|
-
if (this.hasScrollbar(el as Element)) return this.shouldScroll(el as Element, delta)
|
|
206
|
+
if (this.hasScrollbar(el as Element)) return !this.shouldScroll(el as Element, delta)
|
|
194
207
|
}
|
|
195
208
|
|
|
196
209
|
return true
|
|
@@ -21,6 +21,7 @@ export default Vue.extend({
|
|
|
21
21
|
type: Boolean as PropType<boolean | undefined>,
|
|
22
22
|
default: undefined,
|
|
23
23
|
},
|
|
24
|
+
exactPath: Boolean,
|
|
24
25
|
exactActiveClass: String,
|
|
25
26
|
link: Boolean,
|
|
26
27
|
href: [String, Object],
|
|
@@ -120,6 +121,7 @@ export default Vue.extend({
|
|
|
120
121
|
Object.assign(data.props, {
|
|
121
122
|
to: this.to,
|
|
122
123
|
exact,
|
|
124
|
+
exactPath: this.exactPath,
|
|
123
125
|
activeClass,
|
|
124
126
|
exactActiveClass,
|
|
125
127
|
append: this.append,
|
|
@@ -15,7 +15,7 @@ import { VuetifyServiceContract } from 'vuetify/types/services'
|
|
|
15
15
|
|
|
16
16
|
export default function goTo (
|
|
17
17
|
_target: VuetifyGoToTarget,
|
|
18
|
-
_settings:
|
|
18
|
+
_settings: GoToOptions = {}
|
|
19
19
|
): Promise<number> {
|
|
20
20
|
const settings: GoToOptions = {
|
|
21
21
|
container: (document.scrollingElement as HTMLElement | null) || document.body || document.documentElement,
|
package/src/util/helpers.ts
CHANGED
|
@@ -37,7 +37,7 @@ export function addOnceEventListener (
|
|
|
37
37
|
cb: (event: Event) => void,
|
|
38
38
|
options: boolean | AddEventListenerOptions = false
|
|
39
39
|
): void {
|
|
40
|
-
|
|
40
|
+
const once = (event: Event) => {
|
|
41
41
|
cb(event)
|
|
42
42
|
el.removeEventListener(eventName, once, options)
|
|
43
43
|
}
|
|
@@ -288,7 +288,7 @@ export function groupItems<T extends any = any> (
|
|
|
288
288
|
const key = groupBy[0]
|
|
289
289
|
const groups: ItemGroup<T>[] = []
|
|
290
290
|
let current
|
|
291
|
-
for (
|
|
291
|
+
for (let i = 0; i < items.length; i++) {
|
|
292
292
|
const item = items[i]
|
|
293
293
|
const val = getObjectValueByPath(item, key, null)
|
|
294
294
|
if (current !== val) {
|
|
@@ -339,6 +339,11 @@ export function sortItems<T extends any = any> (
|
|
|
339
339
|
continue
|
|
340
340
|
}
|
|
341
341
|
|
|
342
|
+
// Dates should be compared numerically
|
|
343
|
+
if (sortA instanceof Date && sortB instanceof Date) {
|
|
344
|
+
return sortA.getTime() - sortB.getTime()
|
|
345
|
+
}
|
|
346
|
+
|
|
342
347
|
[sortA, sortB] = [sortA, sortB].map(s => (s || '').toString().toLocaleLowerCase())
|
|
343
348
|
|
|
344
349
|
if (sortA !== sortB) {
|
package/types/index.d.ts
CHANGED
|
@@ -16,7 +16,7 @@ import {
|
|
|
16
16
|
} from './services/presets'
|
|
17
17
|
|
|
18
18
|
// Service Options
|
|
19
|
-
import { GoToOptions } from './services/goto'
|
|
19
|
+
import { GoToOptions, VuetifyGoToTarget } from './services/goto'
|
|
20
20
|
|
|
21
21
|
export default class Vuetify {
|
|
22
22
|
constructor (preset?: Partial<UserVuetifyPreset>)
|
|
@@ -48,7 +48,7 @@ export interface VuetifyUseOptions {
|
|
|
48
48
|
|
|
49
49
|
export interface Framework {
|
|
50
50
|
readonly breakpoint: Breakpoint
|
|
51
|
-
readonly goTo:
|
|
51
|
+
readonly goTo: (target: VuetifyGoToTarget, options?: GoToOptions) => Promise<number>
|
|
52
52
|
application: Application
|
|
53
53
|
theme: Theme
|
|
54
54
|
icons: Icons
|
package/types/lib.d.ts
CHANGED
|
@@ -368,3 +368,9 @@ declare module 'vuetify/lib/directives' {
|
|
|
368
368
|
Touch,
|
|
369
369
|
}
|
|
370
370
|
}
|
|
371
|
+
|
|
372
|
+
declare module 'vuetify/lib/services/goto' {
|
|
373
|
+
import { GoToOptions, VuetifyGoToTarget } from 'vuetify/types/services/goto'
|
|
374
|
+
|
|
375
|
+
export default function goTo(target: VuetifyGoToTarget, options?: Partial<GoToOptions>): Promise<number>
|
|
376
|
+
}
|
package/types/services/goto.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// Types
|
|
2
2
|
import Vue from 'vue'
|
|
3
3
|
|
|
4
|
-
type VuetifyGoToTarget = number | string | HTMLElement | Vue
|
|
4
|
+
export type VuetifyGoToTarget = number | string | HTMLElement | Vue
|
|
5
5
|
|
|
6
6
|
export type VuetifyGoToEasing =
|
|
7
7
|
((t: number) => number) |
|
|
@@ -26,3 +26,5 @@ export interface GoToOptions {
|
|
|
26
26
|
easing?: VuetifyGoToEasing
|
|
27
27
|
appOffset?: boolean
|
|
28
28
|
}
|
|
29
|
+
|
|
30
|
+
export default function goTo(target: VuetifyGoToTarget, options?: GoToOptions): Promise<number>
|