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
|
@@ -29,6 +29,7 @@ export default VTextField.extend({
|
|
|
29
29
|
default: '$vuetify.fileInput.counter'
|
|
30
30
|
},
|
|
31
31
|
hideInput: Boolean,
|
|
32
|
+
multiple: Boolean,
|
|
32
33
|
placeholder: String,
|
|
33
34
|
prependIcon: {
|
|
34
35
|
type: String,
|
|
@@ -69,7 +70,7 @@ export default VTextField.extend({
|
|
|
69
70
|
},
|
|
70
71
|
|
|
71
72
|
computedCounterValue() {
|
|
72
|
-
const fileCount = this.
|
|
73
|
+
const fileCount = this.multiple && this.lazyValue ? this.lazyValue.length : this.lazyValue instanceof File ? 1 : 0;
|
|
73
74
|
if (!this.showSize) return this.$vuetify.lang.t(this.counterString, fileCount);
|
|
74
75
|
const bytes = this.internalArrayValue.reduce((bytes, {
|
|
75
76
|
size = 0
|
|
@@ -103,10 +104,6 @@ export default VTextField.extend({
|
|
|
103
104
|
return this.isDirty;
|
|
104
105
|
},
|
|
105
106
|
|
|
106
|
-
isMultiple() {
|
|
107
|
-
return this.$attrs.hasOwnProperty('multiple');
|
|
108
|
-
},
|
|
109
|
-
|
|
110
107
|
text() {
|
|
111
108
|
if (!this.isDirty && (this.isFocused || !this.hasLabel)) return [this.placeholder];
|
|
112
109
|
return this.internalArrayValue.map(file => {
|
|
@@ -138,7 +135,7 @@ export default VTextField.extend({
|
|
|
138
135
|
},
|
|
139
136
|
|
|
140
137
|
value(v) {
|
|
141
|
-
const value = this.
|
|
138
|
+
const value = this.multiple ? v : v ? [v] : [];
|
|
142
139
|
|
|
143
140
|
if (!deepEqual(value, this.$refs.input.files)) {
|
|
144
141
|
// When the input value is changed programatically, clear the
|
|
@@ -153,7 +150,7 @@ export default VTextField.extend({
|
|
|
153
150
|
},
|
|
154
151
|
methods: {
|
|
155
152
|
clearableCallback() {
|
|
156
|
-
this.internalValue = this.
|
|
153
|
+
this.internalValue = this.multiple ? [] : null;
|
|
157
154
|
this.$refs.input.value = '';
|
|
158
155
|
},
|
|
159
156
|
|
|
@@ -186,7 +183,8 @@ export default VTextField.extend({
|
|
|
186
183
|
},
|
|
187
184
|
|
|
188
185
|
genInput() {
|
|
189
|
-
const input = VTextField.options.methods.genInput.call(this);
|
|
186
|
+
const input = VTextField.options.methods.genInput.call(this);
|
|
187
|
+
input.data.attrs.multiple = this.multiple; // We should not be setting value
|
|
190
188
|
// programmatically on the input
|
|
191
189
|
// when it is using type="file"
|
|
192
190
|
|
|
@@ -250,7 +248,7 @@ export default VTextField.extend({
|
|
|
250
248
|
|
|
251
249
|
onInput(e) {
|
|
252
250
|
const files = [...(e.target.files || [])];
|
|
253
|
-
this.internalValue = this.
|
|
251
|
+
this.internalValue = this.multiple ? files : files[0]; // Set initialValue here otherwise isFocused
|
|
254
252
|
// watcher in VTextField will emit a change
|
|
255
253
|
// event whenever the component is blurred
|
|
256
254
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VFileInput/VFileInput.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VFileInput.sass'\n\n// Extensions\nimport VTextField from '../VTextField'\n\n// Components\nimport { VChip } from '../VChip'\n\n// Types\nimport { PropValidator } from 'vue/types/options'\n\n// Utilities\nimport { deepEqual, humanReadableFileSize, wrapInArray } from '../../util/helpers'\nimport { consoleError } from '../../util/console'\nimport { mergeStyles } from '../../util/mergeData'\n\nexport default VTextField.extend({\n name: 'v-file-input',\n\n model: {\n prop: 'value',\n event: 'change',\n },\n\n props: {\n chips: Boolean,\n clearable: {\n type: Boolean,\n default: true,\n },\n counterSizeString: {\n type: String,\n default: '$vuetify.fileInput.counterSize',\n },\n counterString: {\n type: String,\n default: '$vuetify.fileInput.counter',\n },\n hideInput: Boolean,\n placeholder: String,\n prependIcon: {\n type: String,\n default: '$file',\n },\n readonly: {\n type: Boolean,\n default: false,\n },\n showSize: {\n type: [Boolean, Number],\n default: false,\n validator: (v: boolean | number) => {\n return (\n typeof v === 'boolean' ||\n [1000, 1024].includes(v)\n )\n },\n } as PropValidator<boolean | 1000 | 1024>,\n smallChips: Boolean,\n truncateLength: {\n type: [Number, String],\n default: 22,\n },\n type: {\n type: String,\n default: 'file',\n },\n value: {\n default: undefined,\n validator: val => {\n return wrapInArray(val).every(v => v != null && typeof v === 'object')\n },\n } as PropValidator<File | File[]>,\n },\n\n computed: {\n classes (): object {\n return {\n ...VTextField.options.computed.classes.call(this),\n 'v-file-input': true,\n }\n },\n computedCounterValue (): string {\n const fileCount = (this.isMultiple && this.lazyValue)\n ? this.lazyValue.length\n : (this.lazyValue instanceof File) ? 1 : 0\n\n if (!this.showSize) return this.$vuetify.lang.t(this.counterString, fileCount)\n\n const bytes = this.internalArrayValue.reduce((bytes: number, { size = 0 }: File) => {\n return bytes + size\n }, 0)\n\n return this.$vuetify.lang.t(\n this.counterSizeString,\n fileCount,\n humanReadableFileSize(bytes, this.base === 1024)\n )\n },\n internalArrayValue (): File[] {\n return wrapInArray(this.internalValue)\n },\n internalValue: {\n get (): File[] {\n return this.lazyValue\n },\n set (val: File | File[]) {\n this.lazyValue = val\n this.$emit('change', this.lazyValue)\n },\n },\n isDirty (): boolean {\n return this.internalArrayValue.length > 0\n },\n isLabelActive (): boolean {\n return this.isDirty\n },\n isMultiple (): boolean {\n return this.$attrs.hasOwnProperty('multiple')\n },\n text (): string[] {\n if (!this.isDirty && (this.isFocused || !this.hasLabel)) return [this.placeholder]\n\n return this.internalArrayValue.map((file: File) => {\n const {\n name = '',\n size = 0,\n } = file\n\n const truncatedText = this.truncateText(name)\n\n return !this.showSize\n ? truncatedText\n : `${truncatedText} (${humanReadableFileSize(size, this.base === 1024)})`\n })\n },\n base (): 1000 | 1024 | undefined {\n return typeof this.showSize !== 'boolean' ? this.showSize : undefined\n },\n hasChips (): boolean {\n return this.chips || this.smallChips\n },\n },\n\n watch: {\n readonly: {\n handler (v) {\n if (v === true) consoleError('readonly is not supported on <v-file-input>', this)\n },\n immediate: true,\n },\n value (v) {\n const value = this.isMultiple ? v : v ? [v] : []\n if (!deepEqual(value, this.$refs.input.files)) {\n // When the input value is changed programatically, clear the\n // internal input's value so that the `onInput` handler\n // can be triggered again if the user re-selects the exact\n // same file(s). Ideally, `input.files` should be\n // manipulated directly but that property is readonly.\n this.$refs.input.value = ''\n }\n },\n },\n\n methods: {\n clearableCallback () {\n this.internalValue = this.isMultiple ? [] : null\n this.$refs.input.value = ''\n },\n genChips () {\n if (!this.isDirty) return []\n\n return this.text.map((text, index) => this.$createElement(VChip, {\n props: { small: this.smallChips },\n on: {\n 'click:close': () => {\n const internalValue = this.internalValue\n internalValue.splice(index, 1)\n this.internalValue = internalValue // Trigger the watcher\n },\n },\n }, [text]))\n },\n genControl () {\n const render = VTextField.options.methods.genControl.call(this)\n\n if (this.hideInput) {\n render.data!.style = mergeStyles(\n render.data!.style,\n { display: 'none' }\n )\n }\n\n return render\n },\n genInput () {\n const input = VTextField.options.methods.genInput.call(this)\n\n // We should not be setting value\n // programmatically on the input\n // when it is using type=\"file\"\n delete input.data!.domProps!.value\n\n // This solves an issue in Safari where\n // nothing happens when adding a file\n // do to the input event not firing\n // https://github.com/vuetifyjs/vuetify/issues/7941\n delete input.data!.on!.input\n input.data!.on!.change = this.onInput\n\n return [this.genSelections(), input]\n },\n genPrependSlot () {\n if (!this.prependIcon) return null\n\n const icon = this.genIcon('prepend', () => {\n this.$refs.input.click()\n })\n\n return this.genSlot('prepend', 'outer', [icon])\n },\n genSelectionText (): string[] {\n const length = this.text.length\n\n if (length < 2) return this.text\n if (this.showSize && !this.counter) return [this.computedCounterValue]\n return [this.$vuetify.lang.t(this.counterString, length)]\n },\n genSelections () {\n const children = []\n\n if (this.isDirty && this.$scopedSlots.selection) {\n this.internalArrayValue.forEach((file: File, index: number) => {\n if (!this.$scopedSlots.selection) return\n\n children.push(\n this.$scopedSlots.selection({\n text: this.text[index],\n file,\n index,\n })\n )\n })\n } else {\n children.push(this.hasChips && this.isDirty ? this.genChips() : this.genSelectionText())\n }\n\n return this.$createElement('div', {\n staticClass: 'v-file-input__text',\n class: {\n 'v-file-input__text--placeholder': this.placeholder && !this.isDirty,\n 'v-file-input__text--chips': this.hasChips && !this.$scopedSlots.selection,\n },\n }, children)\n },\n genTextFieldSlot () {\n const node = VTextField.options.methods.genTextFieldSlot.call(this)\n\n node.data!.on = {\n ...(node.data!.on || {}),\n click: () => this.$refs.input.click(),\n }\n\n return node\n },\n onInput (e: Event) {\n const files = [...(e.target as HTMLInputElement).files || []]\n\n this.internalValue = this.isMultiple ? files : files[0]\n\n // Set initialValue here otherwise isFocused\n // watcher in VTextField will emit a change\n // event whenever the component is blurred\n this.initialValue = this.internalValue\n },\n onKeyDown (e: KeyboardEvent) {\n this.$emit('keydown', e)\n },\n truncateText (str: string) {\n if (str.length < Number(this.truncateLength)) return str\n const charsKeepOneSide = Math.floor((Number(this.truncateLength) - 1) / 2)\n return `${str.slice(0, charsKeepOneSide)}…${str.slice(str.length - charsKeepOneSide)}`\n },\n },\n})\n"],"sourceRoot":"","file":"VFileInput.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VFileInput/VFileInput.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VFileInput.sass'\n\n// Extensions\nimport VTextField from '../VTextField'\n\n// Components\nimport { VChip } from '../VChip'\n\n// Types\nimport { PropValidator } from 'vue/types/options'\n\n// Utilities\nimport { deepEqual, humanReadableFileSize, wrapInArray } from '../../util/helpers'\nimport { consoleError } from '../../util/console'\nimport { mergeStyles } from '../../util/mergeData'\n\nexport default VTextField.extend({\n name: 'v-file-input',\n\n model: {\n prop: 'value',\n event: 'change',\n },\n\n props: {\n chips: Boolean,\n clearable: {\n type: Boolean,\n default: true,\n },\n counterSizeString: {\n type: String,\n default: '$vuetify.fileInput.counterSize',\n },\n counterString: {\n type: String,\n default: '$vuetify.fileInput.counter',\n },\n hideInput: Boolean,\n multiple: Boolean,\n placeholder: String,\n prependIcon: {\n type: String,\n default: '$file',\n },\n readonly: {\n type: Boolean,\n default: false,\n },\n showSize: {\n type: [Boolean, Number],\n default: false,\n validator: (v: boolean | number) => {\n return (\n typeof v === 'boolean' ||\n [1000, 1024].includes(v)\n )\n },\n } as PropValidator<boolean | 1000 | 1024>,\n smallChips: Boolean,\n truncateLength: {\n type: [Number, String],\n default: 22,\n },\n type: {\n type: String,\n default: 'file',\n },\n value: {\n default: undefined,\n validator: val => {\n return wrapInArray(val).every(v => v != null && typeof v === 'object')\n },\n } as PropValidator<File | File[]>,\n },\n\n computed: {\n classes (): object {\n return {\n ...VTextField.options.computed.classes.call(this),\n 'v-file-input': true,\n }\n },\n computedCounterValue (): string {\n const fileCount = (this.multiple && this.lazyValue)\n ? this.lazyValue.length\n : (this.lazyValue instanceof File) ? 1 : 0\n\n if (!this.showSize) return this.$vuetify.lang.t(this.counterString, fileCount)\n\n const bytes = this.internalArrayValue.reduce((bytes: number, { size = 0 }: File) => {\n return bytes + size\n }, 0)\n\n return this.$vuetify.lang.t(\n this.counterSizeString,\n fileCount,\n humanReadableFileSize(bytes, this.base === 1024)\n )\n },\n internalArrayValue (): File[] {\n return wrapInArray(this.internalValue)\n },\n internalValue: {\n get (): File[] {\n return this.lazyValue\n },\n set (val: File | File[]) {\n this.lazyValue = val\n this.$emit('change', this.lazyValue)\n },\n },\n isDirty (): boolean {\n return this.internalArrayValue.length > 0\n },\n isLabelActive (): boolean {\n return this.isDirty\n },\n text (): string[] {\n if (!this.isDirty && (this.isFocused || !this.hasLabel)) return [this.placeholder]\n\n return this.internalArrayValue.map((file: File) => {\n const {\n name = '',\n size = 0,\n } = file\n\n const truncatedText = this.truncateText(name)\n\n return !this.showSize\n ? truncatedText\n : `${truncatedText} (${humanReadableFileSize(size, this.base === 1024)})`\n })\n },\n base (): 1000 | 1024 | undefined {\n return typeof this.showSize !== 'boolean' ? this.showSize : undefined\n },\n hasChips (): boolean {\n return this.chips || this.smallChips\n },\n },\n\n watch: {\n readonly: {\n handler (v) {\n if (v === true) consoleError('readonly is not supported on <v-file-input>', this)\n },\n immediate: true,\n },\n value (v) {\n const value = this.multiple ? v : v ? [v] : []\n if (!deepEqual(value, this.$refs.input.files)) {\n // When the input value is changed programatically, clear the\n // internal input's value so that the `onInput` handler\n // can be triggered again if the user re-selects the exact\n // same file(s). Ideally, `input.files` should be\n // manipulated directly but that property is readonly.\n this.$refs.input.value = ''\n }\n },\n },\n\n methods: {\n clearableCallback () {\n this.internalValue = this.multiple ? [] : null\n this.$refs.input.value = ''\n },\n genChips () {\n if (!this.isDirty) return []\n\n return this.text.map((text, index) => this.$createElement(VChip, {\n props: { small: this.smallChips },\n on: {\n 'click:close': () => {\n const internalValue = this.internalValue\n internalValue.splice(index, 1)\n this.internalValue = internalValue // Trigger the watcher\n },\n },\n }, [text]))\n },\n genControl () {\n const render = VTextField.options.methods.genControl.call(this)\n\n if (this.hideInput) {\n render.data!.style = mergeStyles(\n render.data!.style,\n { display: 'none' }\n )\n }\n\n return render\n },\n genInput () {\n const input = VTextField.options.methods.genInput.call(this)\n\n input.data!.attrs!.multiple = this.multiple\n\n // We should not be setting value\n // programmatically on the input\n // when it is using type=\"file\"\n delete input.data!.domProps!.value\n\n // This solves an issue in Safari where\n // nothing happens when adding a file\n // do to the input event not firing\n // https://github.com/vuetifyjs/vuetify/issues/7941\n delete input.data!.on!.input\n input.data!.on!.change = this.onInput\n\n return [this.genSelections(), input]\n },\n genPrependSlot () {\n if (!this.prependIcon) return null\n\n const icon = this.genIcon('prepend', () => {\n this.$refs.input.click()\n })\n\n return this.genSlot('prepend', 'outer', [icon])\n },\n genSelectionText (): string[] {\n const length = this.text.length\n\n if (length < 2) return this.text\n if (this.showSize && !this.counter) return [this.computedCounterValue]\n return [this.$vuetify.lang.t(this.counterString, length)]\n },\n genSelections () {\n const children = []\n\n if (this.isDirty && this.$scopedSlots.selection) {\n this.internalArrayValue.forEach((file: File, index: number) => {\n if (!this.$scopedSlots.selection) return\n\n children.push(\n this.$scopedSlots.selection({\n text: this.text[index],\n file,\n index,\n })\n )\n })\n } else {\n children.push(this.hasChips && this.isDirty ? this.genChips() : this.genSelectionText())\n }\n\n return this.$createElement('div', {\n staticClass: 'v-file-input__text',\n class: {\n 'v-file-input__text--placeholder': this.placeholder && !this.isDirty,\n 'v-file-input__text--chips': this.hasChips && !this.$scopedSlots.selection,\n },\n }, children)\n },\n genTextFieldSlot () {\n const node = VTextField.options.methods.genTextFieldSlot.call(this)\n\n node.data!.on = {\n ...(node.data!.on || {}),\n click: () => this.$refs.input.click(),\n }\n\n return node\n },\n onInput (e: Event) {\n const files = [...(e.target as HTMLInputElement).files || []]\n\n this.internalValue = this.multiple ? files : files[0]\n\n // Set initialValue here otherwise isFocused\n // watcher in VTextField will emit a change\n // event whenever the component is blurred\n this.initialValue = this.internalValue\n },\n onKeyDown (e: KeyboardEvent) {\n this.$emit('keydown', e)\n },\n truncateText (str: string) {\n if (str.length < Number(this.truncateLength)) return str\n const charsKeepOneSide = Math.floor((Number(this.truncateLength) - 1) / 2)\n return `${str.slice(0, charsKeepOneSide)}…${str.slice(str.length - charsKeepOneSide)}`\n },\n },\n})\n"],"sourceRoot":"","file":"VFileInput.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VList/VListGroup.ts"],"names":[],"mappings":"AAAA;AACA,OAAO,+CAAP,C,CAEA;;AACA,OAAO,KAAP,MAAkB,UAAlB;AAEA,OAAO,SAAP,MAAsB,aAAtB;AACA,OAAO,aAAP,MAA0B,iBAA1B,C,CAEA;;AACA,OAAO,UAAP,MAAuB,0BAAvB;AACA,OAAO,QAAP,MAAqB,uBAArB;AACA,OAAO,SAAP,MAAsB,wBAAtB;AACA,OAAO,UAAP,MAAuB,yBAAvB;AACA,SAAS,MAAM,IAAI,iBAAnB,QAA4C,0BAA5C,C,CAEA;;AACA,OAAO,MAAP,MAAmB,yBAAnB,C,CAEA;;AACA,SAAS,iBAAT,QAAkC,gBAAlC,C,CAEA;;AACA,OAAO,MAAP,MAAmC,mBAAnC;AACA,SAAS,OAAT,QAAwB,oBAAxB;AAMA,MAAM,UAAU,GAAG,MAAM,CACvB,UADuB,EAEvB,QAFuB,EAGvB,SAHuB,EAIvB,iBAAiB,CAAC,MAAD,CAJM,EAKvB,UALuB,CAAzB;AAkBA,eAAe,UAAU,CAAC,MAAX,GAA6B,MAA7B,CAAoC;AACjD,EAAA,IAAI,EAAE,cAD2C;AAGjD,EAAA,UAAU,EAAE;AAAE,IAAA;AAAF,GAHqC;AAKjD,EAAA,KAAK,EAAE;AACL,IAAA,WAAW,EAAE;AACX,MAAA,IAAI,EAAE,MADK;AAEX,MAAA,OAAO,EAAE;AAFE,KADR;AAKL,IAAA,UAAU,EAAE;AACV,MAAA,IAAI,EAAE,MADI;AAEV,MAAA,OAAO,EAAE;AAFC,KALP;AASL,IAAA,KAAK,EAAE;AACL,MAAA,IAAI,EAAE,MADD;AAEL,MAAA,OAAO,EAAE;AAFJ,KATF;AAaL,IAAA,QAAQ,EAAE,OAbL;AAcL,IAAA,KAAK,EAAE,
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VList/VListGroup.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VListGroup.sass'\n\n// Components\nimport VIcon from '../VIcon'\nimport VList from './VList'\nimport VListItem from './VListItem'\nimport VListItemIcon from './VListItemIcon'\n\n// Mixins\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport Bootable from '../../mixins/bootable'\nimport Colorable from '../../mixins/colorable'\nimport Toggleable from '../../mixins/toggleable'\nimport { inject as RegistrableInject } from '../../mixins/registrable'\n\n// Directives\nimport ripple from '../../directives/ripple'\n\n// Transitions\nimport { VExpandTransition } from '../transitions'\n\n// Utils\nimport mixins, { ExtractVue } from '../../util/mixins'\nimport { getSlot } from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue'\nimport { Route } from 'vue-router'\n\nconst baseMixins = mixins(\n BindsAttrs,\n Bootable,\n Colorable,\n RegistrableInject('list'),\n Toggleable\n)\n\ntype VListInstance = InstanceType<typeof VList>\n\ninterface options extends ExtractVue<typeof baseMixins> {\n list: VListInstance\n $refs: {\n group: HTMLElement\n }\n $route: Route\n}\n\nexport default baseMixins.extend<options>().extend({\n name: 'v-list-group',\n\n directives: { ripple },\n\n props: {\n activeClass: {\n type: String,\n default: '',\n },\n appendIcon: {\n type: String,\n default: '$expand',\n },\n color: {\n type: String,\n default: 'primary',\n },\n disabled: Boolean,\n group: [String, RegExp],\n noAction: Boolean,\n prependIcon: String,\n ripple: {\n type: [Boolean, Object],\n default: true,\n },\n subGroup: Boolean,\n },\n\n computed: {\n classes (): object {\n return {\n 'v-list-group--active': this.isActive,\n 'v-list-group--disabled': this.disabled,\n 'v-list-group--no-action': this.noAction,\n 'v-list-group--sub-group': this.subGroup,\n }\n },\n },\n\n watch: {\n isActive (val: boolean) {\n /* istanbul ignore else */\n if (!this.subGroup && val) {\n this.list && this.list.listClick(this._uid)\n }\n },\n $route: 'onRouteChange',\n },\n\n created () {\n this.list && this.list.register(this)\n\n if (this.group &&\n this.$route &&\n this.value == null\n ) {\n this.isActive = this.matchRoute(this.$route.path)\n }\n },\n\n beforeDestroy () {\n this.list && this.list.unregister(this)\n },\n\n methods: {\n click (e: Event) {\n if (this.disabled) return\n\n this.isBooted = true\n\n this.$emit('click', e)\n this.$nextTick(() => (this.isActive = !this.isActive))\n },\n genIcon (icon: string | false): VNode {\n return this.$createElement(VIcon, icon)\n },\n genAppendIcon (): VNode | null {\n const icon = !this.subGroup ? this.appendIcon : false\n\n if (!icon && !this.$slots.appendIcon) return null\n\n return this.$createElement(VListItemIcon, {\n staticClass: 'v-list-group__header__append-icon',\n }, [\n this.$slots.appendIcon || this.genIcon(icon),\n ])\n },\n genHeader (): VNode {\n return this.$createElement(VListItem, {\n staticClass: 'v-list-group__header',\n attrs: {\n 'aria-expanded': String(this.isActive),\n role: 'button',\n },\n class: {\n [this.activeClass]: this.isActive,\n },\n props: {\n inputValue: this.isActive,\n },\n directives: [{\n name: 'ripple',\n value: this.ripple,\n }],\n on: {\n ...this.listeners$,\n click: this.click,\n },\n }, [\n this.genPrependIcon(),\n this.$slots.activator,\n this.genAppendIcon(),\n ])\n },\n genItems (): VNode[] {\n return this.showLazyContent(() => [\n this.$createElement('div', {\n staticClass: 'v-list-group__items',\n directives: [{\n name: 'show',\n value: this.isActive,\n }],\n }, getSlot(this)),\n ])\n },\n genPrependIcon (): VNode | null {\n const icon = this.subGroup && this.prependIcon == null\n ? '$subgroup'\n : this.prependIcon\n\n if (!icon && !this.$slots.prependIcon) return null\n\n return this.$createElement(VListItemIcon, {\n staticClass: 'v-list-group__header__prepend-icon',\n }, [\n this.$slots.prependIcon || this.genIcon(icon),\n ])\n },\n onRouteChange (to: Route) {\n /* istanbul ignore if */\n if (!this.group) return\n\n const isActive = this.matchRoute(to.path)\n\n /* istanbul ignore else */\n if (isActive && this.isActive !== isActive) {\n this.list && this.list.listClick(this._uid)\n }\n\n this.isActive = isActive\n },\n toggle (uid: number) {\n const isActive = this._uid === uid\n\n if (isActive) this.isBooted = true\n this.$nextTick(() => (this.isActive = isActive))\n },\n matchRoute (to: string) {\n return to.match(this.group) !== null\n },\n },\n\n render (h): VNode {\n return h('div', this.setTextColor(this.isActive && this.color, {\n staticClass: 'v-list-group',\n class: this.classes,\n }), [\n this.genHeader(),\n h(VExpandTransition, this.genItems()),\n ])\n },\n})\n"],"sourceRoot":"","file":"VListGroup.js"}
|
|
@@ -148,7 +148,7 @@ export default baseMixins.extend().extend({
|
|
|
148
148
|
active: this.isActive,
|
|
149
149
|
toggle: this.toggle
|
|
150
150
|
}) : this.$slots.default;
|
|
151
|
-
return h(tag, this.setTextColor(this.color, data), children);
|
|
151
|
+
return h(tag, this.isActive ? this.setTextColor(this.color, data) : data, children);
|
|
152
152
|
}
|
|
153
153
|
|
|
154
154
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VList/VListItem.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VList/VListItem.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VListItem.sass'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Routable from '../../mixins/routable'\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport Themeable from '../../mixins/themeable'\nimport { factory as ToggleableFactory } from '../../mixins/toggleable'\n\n// Directives\nimport Ripple from '../../directives/ripple'\n\n// Utilities\nimport { keyCodes } from './../../util/helpers'\nimport { ExtractVue } from './../../util/mixins'\nimport { removed } from '../../util/console'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { VNode } from 'vue'\nimport { PropType, PropValidator } from 'vue/types/options'\n\nconst baseMixins = mixins(\n Colorable,\n Routable,\n Themeable,\n GroupableFactory('listItemGroup'),\n ToggleableFactory('inputValue')\n)\n\ninterface options extends ExtractVue<typeof baseMixins> {\n $el: HTMLElement\n isInGroup: boolean\n isInList: boolean\n isInMenu: boolean\n isInNav: boolean\n}\n\n/* @vue/component */\nexport default baseMixins.extend<options>().extend({\n name: 'v-list-item',\n\n directives: {\n Ripple,\n },\n\n inject: {\n isInGroup: {\n default: false,\n },\n isInList: {\n default: false,\n },\n isInMenu: {\n default: false,\n },\n isInNav: {\n default: false,\n },\n },\n\n inheritAttrs: false,\n\n props: {\n activeClass: {\n type: String,\n default (): string | undefined {\n if (!this.listItemGroup) return ''\n\n return this.listItemGroup.activeClass\n },\n } as any as PropValidator<string>,\n dense: Boolean,\n inactive: Boolean,\n link: Boolean,\n selectable: {\n type: Boolean,\n },\n tag: {\n type: String,\n default: 'div',\n },\n threeLine: Boolean,\n twoLine: Boolean,\n value: null as any as PropType<any>,\n },\n\n data: () => ({\n proxyClass: 'v-list-item--active',\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-list-item': true,\n ...Routable.options.computed.classes.call(this),\n 'v-list-item--dense': this.dense,\n 'v-list-item--disabled': this.disabled,\n 'v-list-item--link': this.isClickable && !this.inactive,\n 'v-list-item--selectable': this.selectable,\n 'v-list-item--three-line': this.threeLine,\n 'v-list-item--two-line': this.twoLine,\n ...this.themeClasses,\n }\n },\n isClickable (): boolean {\n return Boolean(\n Routable.options.computed.isClickable.call(this) ||\n this.listItemGroup\n )\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('avatar')) {\n removed('avatar', this)\n }\n },\n\n methods: {\n click (e: MouseEvent | KeyboardEvent) {\n if (e.detail) this.$el.blur()\n\n this.$emit('click', e)\n\n this.to || this.toggle()\n },\n genAttrs () {\n const attrs: Record<string, any> = {\n 'aria-disabled': this.disabled ? true : undefined,\n tabindex: this.isClickable && !this.disabled ? 0 : -1,\n ...this.$attrs,\n }\n\n if (this.$attrs.hasOwnProperty('role')) {\n // do nothing, role already provided\n } else if (this.isInNav) {\n // do nothing, role is inherit\n } else if (this.isInGroup) {\n attrs.role = 'option'\n attrs['aria-selected'] = String(this.isActive)\n } else if (this.isInMenu) {\n attrs.role = this.isClickable ? 'menuitem' : undefined\n attrs.id = attrs.id || `list-item-${this._uid}`\n } else if (this.isInList) {\n attrs.role = 'listitem'\n }\n\n return attrs\n },\n },\n\n render (h): VNode {\n let { tag, data } = this.generateRouteLink()\n\n data.attrs = {\n ...data.attrs,\n ...this.genAttrs(),\n }\n data[this.to ? 'nativeOn' : 'on'] = {\n ...data[this.to ? 'nativeOn' : 'on'],\n keydown: (e: KeyboardEvent) => {\n /* istanbul ignore else */\n if (e.keyCode === keyCodes.enter) this.click(e)\n\n this.$emit('keydown', e)\n },\n }\n\n if (this.inactive) tag = 'div'\n if (this.inactive && this.to) {\n data.on = data.nativeOn\n delete data.nativeOn\n }\n\n const children = this.$scopedSlots.default\n ? this.$scopedSlots.default({\n active: this.isActive,\n toggle: this.toggle,\n })\n : this.$slots.default\n\n return h(tag, this.isActive ? this.setTextColor(this.color, data) : data, children)\n },\n})\n"],"sourceRoot":"","file":"VListItem.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VNavigationDrawer/VNavigationDrawer.ts"],"names":[],"mappings":"AAAA;AACA,OAAO,kEAAP,C,CAEA;;AACA,OAAO,IAAP,MAAgC,cAAhC,C,CAEA;;AACA,OAAO,eAAP,MAA4B,8BAA5B;AACA,OAAO,SAAP,MAAsB,wBAAtB;AACA,OAAO,SAAP,MAAsB,wBAAtB;AACA,OAAO,MAAP,MAAmB,qBAAnB;AACA,OAAO,WAAP,MAAwB,0BAAxB;AACA,OAAO,WAAP,MAAwB,2BAAxB;AACA,OAAO,SAAP,MAAsB,wBAAtB,C,CAEA;;AACA,OAAO,YAAP,MAAyB,gCAAzB;AACA,OAAO,MAAP,MAAmB,yBAAnB;AACA,OAAO,KAAP,MAAkB,wBAAlB,C,CAEA;;AACA,SAAS,aAAT,EAAwB,OAAxB,QAAuC,oBAAvC;AACA,OAAO,MAAP,MAAmB,mBAAnB;AAMA,MAAM,UAAU,GAAG,MAAM,CACvB,eAAe,CAAC,MAAD,EAAS,CACtB,UADsB,EAEtB,UAFsB,EAGtB,aAHsB,EAItB,eAJsB,EAKtB,WALsB,EAMtB,OANsB,EAOtB,WAPsB,EAQtB,OARsB,CAAT,CADQ,EAWvB,SAXuB,EAYvB,SAZuB,EAavB,MAbuB,EAcvB,WAduB,EAevB,WAfuB,EAgBvB,SAhBuB,CAAzB;AAmBA;;AACA,eAAe,UAAU,CAAC,MAAX,CAAkB;AAC/B,EAAA,IAAI,EAAE,qBADyB;AAG/B,EAAA,UAAU,EAAE;AACV,IAAA,YADU;AAEV,IAAA,MAFU;AAGV,IAAA;AAHU,GAHmB;;AAS/B,EAAA,OAAO,GAAA;AACL,WAAO;AACL,MAAA,OAAO,EAAE,KAAK,GAAL,KAAa;AADjB,KAAP;AAGD,GAb8B;;AAe/B,EAAA,KAAK,EAAE;AACL,IAAA,MAAM,EAAE,OADH;AAEL,IAAA,OAAO,EAAE,OAFJ;AAGL,IAAA,oBAAoB,EAAE,OAHjB;AAIL,IAAA,mBAAmB,EAAE,OAJhB;AAKL,IAAA,aAAa,EAAE,OALV;AAML,IAAA,QAAQ,EAAE,OANL;AAOL,IAAA,MAAM,EAAE;AACN,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,CADA;;AAEN,MAAA,OAAO,GAAA;AACL,eAAO,KAAK,GAAL,GAAW,OAAX,GAAqB,MAA5B;AACD;;AAJK,KAPH;AAaL,IAAA,WAAW,EAAE,OAbR;AAcL,IAAA,gBAAgB,EAAE;AAChB,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,CADU;AAEhB,MAAA,OAAO,EAAE;AAFO,KAdb;AAkBL,IAAA,SAAS,EAAE,OAlBN;AAmBL,IAAA,KAAK,EAAE,OAnBF;AAoBL,IAAA,GAAG,EAAE;AACH,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,CADH;AAEH,MAAA,OAAO,EAAE;AAFN,KApBA;AAwBL,IAAA,SAAS,EAAE,OAxBN;AAyBL,IAAA,GAAG,EAAE;AACH,MAAA,IAAI,EAAE,MADH;;AAEH,MAAA,OAAO,GAAA;AACL,eAAO,KAAK,GAAL,GAAW,KAAX,GAAmB,OAA1B;AACD;;AAJE,KAzBA;AA+BL,IAAA,SAAS,EAAE,OA/BN;AAgCL,IAAA,SAAS,EAAE,OAhCN;AAiCL,IAAA,KAAK,EAAE;AACL,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,CADD;AAEL,MAAA,OAAO,EAAE;AAFJ,KAjCF;AAqCL,IAAA,KAAK,EAAE;AArCF,GAfwB;AAuD/B,EAAA,IAAI,EAAE,OAAO;AACX,IAAA,WAAW,EAAE,KADF;AAEX,IAAA,SAAS,EAAE;AACT,MAAA,IAAI,EAAE,CADG;AAET,MAAA,KAAK,EAAE;AAFE,KAFA;AAMX,IAAA,cAAc,EAAE;AANL,GAAP,CAvDyB;AAgE/B,EAAA,QAAQ,EAAE;AACR;;;;AAIA,IAAA,mBAAmB,GAAA;AACjB,aAAO,KAAK,KAAL,GAAa,OAAb,GAAuB,MAA9B;AACD,KAPO;;AAQR,IAAA,OAAO,GAAA;AACL,aAAO;AACL,+BAAuB,IADlB;AAEL,yCAAiC,KAAK,QAFjC;AAGL,uCAA+B,KAAK,MAH/B;AAIL,wCAAgC,KAAK,OAJhC;AAKL,sCAA8B,CAAC,KAAK,QAL/B;AAML,sCAA8B,CAAC,KAAK,QAAN,KAAmB,KAAK,GAAL,IAAY,KAAK,KAApC,CANzB;AAOL,yCAAiC,KAAK,QAPjC;AAQL,0CAAkC,KAAK,QARlC;AASL,6CAAqC,KAAK,WATrC;AAUL,6CAAqC,KAAK,aAVrC;AAWL,oDAA4C,MAAM,CAAC,KAAK,gBAAN,CAAN,KAAkC,EAXzE;AAYL,qCAA6B,KAAK,QAZ7B;AAaL,8CAAsC,KAAK,aAbtC;AAcL,sCAA8B,KAAK,KAd9B;AAeL,0CAAkC,KAAK,SAflC;AAgBL,WAAG,KAAK;AAhBH,OAAP;AAkBD,KA3BO;;AA4BR,IAAA,iBAAiB,GAAA;AACf,UAAI,CAAC,KAAK,MAAV,EAAkB,OAAO,IAAP;AAElB,YAAM,iBAAiB,GACrB,KAAK,QAAL,CAAc,WAAd,CAA0B,MAA1B,GACA,KAAK,QAAL,CAAc,WAAd,CAA0B,MAD1B,GAEA,KAAK,QAAL,CAAc,WAAd,CAA0B,GAH5B;AAMA,UAAI,CAAC,KAAK,OAAV,EAAmB,OAAO,iBAAP;AAEnB,aAAO,iBAAiB,GAAG,KAAK,QAAL,CAAc,WAAd,CAA0B,GAArD;AACD,KAxCO;;AAyCR,IAAA,WAAW,GAAA;AACT,UAAI,CAAC,KAAK,MAAV,EAAkB,OAAO,CAAP;AAElB,UAAI,WAAW,GAAG,KAAK,QAAL,CAAc,WAAd,CAA0B,GAA5C;AAEA,MAAA,WAAW,IAAI,KAAK,OAAL,GACX,KAAK,QAAL,CAAc,WAAd,CAA0B,GADf,GAEX,CAFJ;AAIA,aAAO,WAAP;AACD,KAnDO;;AAoDR,IAAA,iBAAiB,GAAA;AACf,UAAI,KAAK,QAAT,EAAmB,OAAO,CAAP;AACnB,UAAI,KAAK,QAAT,EAAmB,OAAO,GAAP;AACnB,aAAO,KAAK,KAAL,GAAa,GAAb,GAAmB,CAAC,GAA3B;AACD,KAxDO;;AAyDR,IAAA,aAAa,GAAA;AACX,aAAO,KAAK,aAAL,GAAqB,KAAK,gBAA1B,GAA6C,KAAK,KAAzD;AACD,KA3DO;;AA4DR,IAAA,MAAM,GAAA;AACJ,aACE,KAAK,GAAL,IACC,CAAC,KAAK,QAAN,IAAkB,CAAC,KAAK,SAF3B;AAID,KAjEO;;AAkER,IAAA,QAAQ,GAAA;AACN,aAAO,KAAK,MAAL,IAAe,KAAK,QAA3B;AACD,KApEO;;AAqER,IAAA,aAAa,GAAA;AACX,aACE,CAAC,KAAK,aAAN,IACA,KAAK,WAFA,IAIL,KAAK,aAAL,IACA,CAAC,KAAK,WALR;AAOD,KA7EO;;AA8ER,IAAA,QAAQ,GAAA;AACN,aACE,CAAC,KAAK,SAAN,IACA,CAAC,KAAK,SADN,IAEA,MAAM,CAAC,OAAP,CAAe,QAAf,CAAwB,QAAxB,CAAiC,IAAjC,CAAsC,IAAtC,CAHF;AAKD,KApFO;;AAqFR,IAAA,aAAa,GAAA;AACX,aACE,CAAC,KAAK,SAAN,IACA,CAAC,KAAK,SADN,KAEC,KAAK,QAAL,IAAiB,KAAK,SAFvB,CADF;AAKD,KA3FO;;AA4FR,IAAA,cAAc,GAAA;AACZ,aACE,KAAK,GAAL,IACA,CAAC,KAAK,oBADN,IAEA,CAAC,KAAK,SAFN,IAGA,CAAC,KAAK,SAHN,IAIA,CAAC,KAAK,SALR;AAOD,KApGO;;AAqGR,IAAA,cAAc,GAAA;AACZ,aAAO,CAAC,KAAK,oBAAN,IAA8B,CAAC,KAAK,SAA3C;AACD,KAvGO;;AAwGR,IAAA,aAAa,GAAA;AACX,aACE,CAAC,KAAK,mBAAN,IACA,CAAC,KAAK,SADN,KAEC,KAAK,SAAL,IAAkB,KAAK,QAFxB,CADF;AAKD,KA9GO;;AA+GR,IAAA,WAAW,GAAA;AACT,aACE,CAAC,KAAK,WAAN,IACA,KAAK,QADL,KAEC,KAAK,QAAL,IAAiB,KAAK,SAFvB,CADF;AAKD,KArHO;;AAsHR,IAAA,MAAM,GAAA;AACJ,YAAM,SAAS,GAAG,KAAK,QAAL,GAAgB,YAAhB,GAA+B,YAAjD;AACA,aAAO;AACL,QAAA,MAAM,EAAE,aAAa,CAAC,KAAK,MAAN,CADhB;AAEL,QAAA,GAAG,EAAE,CAAC,KAAK,QAAN,GAAiB,aAAa,CAAC,KAAK,WAAN,CAA9B,GAAmD,MAFnD;AAGL,QAAA,SAAS,EAAE,KAAK,iBAAL,IAA0B,IAA1B,GACP,eAAe,aAAa,CAAC,KAAK,iBAAN,CAAwB,GAD7C,GAEP,SALC;AAML,QAAA,SAAS,EAAE,GAAG,SAAS,IAAI,aAAa,CAAC,KAAK,iBAAN,EAAyB,GAAzB,CAA6B,GANhE;AAOL,QAAA,KAAK,EAAE,aAAa,CAAC,KAAK,aAAN;AAPf,OAAP;AASD;;AAjIO,GAhEqB;AAoM/B,EAAA,KAAK,EAAE;AACL,IAAA,MAAM,EAAE,eADH;;AAEL,IAAA,QAAQ,CAAE,GAAF,EAAK;AACX,WAAK,KAAL,CAAW,OAAX,EAAoB,GAApB;AACD,KAJI;;AAKL;;;;AAIA,IAAA,QAAQ,CAAE,GAAF,EAAO,IAAP,EAAW;AACjB,OAAC,GAAD,IACE,KAAK,QADP,IAEE,CAAC,KAAK,SAFR,IAGE,KAAK,aAAL,EAHF;AAKA,UAAI,IAAI,IAAI,IAAR,IACF,CAAC,KAAK,cADJ,IAEF,CAAC,KAAK,cAFR,EAGE;AAEF,WAAK,QAAL,GAAgB,CAAC,GAAjB;AACD,KArBI;;AAsBL,IAAA,SAAS,CAAE,GAAF,EAAK;AACZ;AACA,UAAI,GAAJ,EAAS,KAAK,QAAL,GAAgB,IAAhB;AACV,KAzBI;;AA0BL,IAAA,WAAW,CAAE,GAAF,EAAK;AACd,UAAI,GAAJ,EAAS,KAAK,UAAL,GAAT,KACK,KAAK,aAAL;AACN,KA7BI;;AA8BL,IAAA,KAAK,CAAE,GAAF,EAAK;AACR,UAAI,KAAK,SAAT,EAAoB;;AAEpB,UAAI,GAAG,IAAI,IAAX,EAAiB;AACf,aAAK,IAAL;AACA;AACD;;AAED,UAAI,GAAG,KAAK,KAAK,QAAjB,EAA2B,KAAK,QAAL,GAAgB,GAAhB;AAC5B,KAvCI;;AAwCL,IAAA,aAAa,EAAE,mBAxCV;;AAyCL,IAAA,WAAW,CAAE,GAAF,EAAK;AACd,WAAK,iBAAL,CAAuB,CAAC,GAAxB;AACD;;AA3CI,GApMwB;;AAkP/B,EAAA,WAAW,GAAA;AACT,SAAK,IAAL;AACD,GApP8B;;AAsP/B,EAAA,OAAO,EAAE;AACP,IAAA,kBAAkB,GAAA;AAChB,YAAM,MAAM,GAAG,KAAK,GAAL,CAAS,UAAxB;AAEA,UAAI,CAAC,MAAL,EAAa;AAEb,YAAM,UAAU,GAAG,MAAM,CAAC,qBAAP,EAAnB;AAEA,WAAK,SAAL,GAAiB;AACf,QAAA,IAAI,EAAE,UAAU,CAAC,IAAX,GAAkB,EADT;AAEf,QAAA,KAAK,EAAE,UAAU,CAAC,KAAX,GAAmB;AAFX,OAAjB;AAID,KAZM;;AAaP,IAAA,gBAAgB,GAAA;AACd,aAAO,KAAK,QAAL,IAAiB,CAAC,KAAK,YAAvB,IAAuC,KAAK,aAAnD;AACD,KAfM;;AAgBP,IAAA,SAAS,GAAA;AACP,aAAO,KAAK,WAAL,CAAiB,QAAjB,CAAP;AACD,KAlBM;;AAmBP,IAAA,aAAa,GAAA;AACX,YAAM,KAAK,GAAG;AACZ,QAAA,MAAM,EAAE,MADI;AAEZ,QAAA,KAAK,EAAE,MAFK;AAGZ,QAAA,GAAG,EAAE,KAAK;AAHE,OAAd;AAMA,YAAM,KAAK,GAAG,KAAK,YAAL,CAAkB,GAAlB,GACV,KAAK,YAAL,CAAkB,GAAlB,CAAsB,KAAtB,CADU,GAEV,KAAK,cAAL,CAAoB,IAApB,EAA0B;AAAE,QAAA;AAAF,OAA1B,CAFJ;AAIA,aAAO,KAAK,cAAL,CAAoB,KAApB,EAA2B;AAChC,QAAA,WAAW,EAAE;AADmB,OAA3B,EAEJ,CAAC,KAAD,CAFI,CAAP;AAGD,KAjCM;;AAkCP,IAAA,aAAa,GAAA;AACX,YAAM,UAAU,GAAG,CAAC;AAClB,QAAA,IAAI,EAAE,eADY;AAElB,QAAA,KAAK,EAAE;AACL,UAAA,OAAO,EAAE,MAAK;AAAG,iBAAK,QAAL,GAAgB,KAAhB;AAAuB,WADnC;AAEL,UAAA,gBAAgB,EAAE,KAAK,gBAFlB;AAGL,UAAA,OAAO,EAAE,KAAK;AAHT;AAFW,OAAD,CAAnB;;AASA,UAAI,CAAC,KAAK,SAAN,IAAmB,CAAC,KAAK,SAA7B,EAAwC;AACtC,QAAA,UAAU,CAAC,IAAX,CAAgB;AACd,UAAA,IAAI,EAAE,OADQ;AAEd,UAAA,KAAK,EAAE;AACL,YAAA,MAAM,EAAE,IADH;AAEL,YAAA,IAAI,EAAE,KAAK,SAFN;AAGL,YAAA,KAAK,EAAE,KAAK;AAHP;AAFO,SAAhB;AAQD;;AAED,aAAO,UAAP;AACD,KAxDM;;AAyDP,IAAA,YAAY,GAAA;AACV,YAAM,EAAE,GAAuC;AAC7C,QAAA,aAAa,EAAG,CAAD,IAAa;AAC1B,cAAI,CAAC,CAAC,MAAF,KAAa,CAAC,CAAC,aAAnB,EAAkC;AAClC,eAAK,KAAL,CAAW,eAAX,EAA4B,CAA5B,EAF0B,CAI1B;;AACA,gBAAM,WAAW,GAAG,QAAQ,CAAC,WAAT,CAAqB,UAArB,CAApB;AACA,UAAA,WAAW,CAAC,WAAZ,CAAwB,QAAxB,EAAkC,IAAlC,EAAwC,KAAxC,EAA+C,MAA/C,EAAuD,CAAvD;AACA,UAAA,MAAM,CAAC,aAAP,CAAqB,WAArB;AACD;AAT4C,OAA/C;;AAYA,UAAI,KAAK,WAAT,EAAsB;AACpB,QAAA,EAAE,CAAC,KAAH,GAAW,MAAM,KAAK,KAAL,CAAW,qBAAX,EAAkC,KAAlC,CAAjB;AACD;;AAED,UAAI,KAAK,aAAT,EAAwB;AACtB,QAAA,EAAE,CAAC,UAAH,GAAgB,MAAO,KAAK,WAAL,GAAmB,IAA1C;;AACA,QAAA,EAAE,CAAC,UAAH,GAAgB,MAAO,KAAK,WAAL,GAAmB,KAA1C;AACD;;AAED,aAAO,EAAP;AACD,KAhFM;;AAiFP,IAAA,WAAW,CAAE,IAAF,EAA4B;AACrC,YAAM,IAAI,GAAG,OAAO,CAAC,IAAD,EAAO,IAAP,CAApB;AAEA,UAAI,CAAC,IAAL,EAAW,OAAO,IAAP;AAEX,aAAO,KAAK,cAAL,CAAoB,KAApB,EAA2B;AAChC,QAAA,WAAW,EAAE,wBAAwB,IAAI;AADT,OAA3B,EAEJ,IAFI,CAAP;AAGD,KAzFM;;AA0FP,IAAA,UAAU,GAAA;AACR,aAAO,KAAK,WAAL,CAAiB,SAAjB,CAAP;AACD,KA5FM;;AA6FP,IAAA,UAAU,GAAA;AACR,aAAO,KAAK,cAAL,CAAoB,KAApB,EAA2B;AAChC,QAAA,WAAW,EAAE;AADmB,OAA3B,EAEJ,KAAK,MAAL,CAAY,OAFR,CAAP;AAGD,KAjGM;;AAkGP,IAAA,SAAS,GAAA;AACP,aAAO,KAAK,cAAL,CAAoB,KAApB,EAA2B;AAChC,QAAA,WAAW,EAAE;AADmB,OAA3B,CAAP;AAGD,KAtGM;;AAuGP,IAAA,IAAI,GAAA;AACF,UAAI,KAAK,SAAT,EAAoB;AAClB,aAAK,QAAL,GAAgB,IAAhB;AACD,OAFD,MAEO,IAAI,KAAK,SAAL,IACT,KAAK,KAAL,IAAc,IADT,EAEL;AACA,aAAK,QAAL,GAAgB,KAAK,KAArB;AACD,OAJM,MAIA,IAAI,CAAC,KAAK,SAAV,EAAqB;AAC1B,aAAK,QAAL,GAAgB,CAAC,KAAK,QAAtB;AACD;AACF,KAjHM;;AAkHP,IAAA,aAAa,GAAA;AACX,UAAI,KAAK,aAAL,IAAsB,KAAK,gBAAL,EAA1B,EAAmD;AACjD,aAAK,QAAL,GAAgB,KAAhB;AACD;AACF,KAtHM;;AAuHP,IAAA,SAAS,CAAE,CAAF,EAAiB;AACxB,UAAI,KAAK,QAAL,IAAiB,KAAK,KAA1B,EAAiC;AACjC,WAAK,kBAAL;AAEA,UAAI,IAAI,CAAC,GAAL,CAAS,CAAC,CAAC,SAAF,GAAc,CAAC,CAAC,WAAzB,IAAwC,GAA5C,EAAiD;AACjD,UAAI,KAAK,KAAL,IACF,CAAC,CAAC,WAAF,IAAiB,KAAK,SAAL,CAAe,KADlC,EAEE,KAAK,QAAL,GAAgB,IAAhB,CAFF,KAGK,IAAI,CAAC,KAAK,KAAN,IAAe,KAAK,QAAxB,EAAkC,KAAK,QAAL,GAAgB,KAAhB;AACxC,KAhIM;;AAiIP,IAAA,UAAU,CAAE,CAAF,EAAiB;AACzB,UAAI,KAAK,QAAL,IAAiB,CAAC,KAAK,KAA3B,EAAkC;AAClC,WAAK,kBAAL;AAEA,UAAI,IAAI,CAAC,GAAL,CAAS,CAAC,CAAC,SAAF,GAAc,CAAC,CAAC,WAAzB,IAAwC,GAA5C,EAAiD;AACjD,UAAI,CAAC,KAAK,KAAN,IACF,CAAC,CAAC,WAAF,IAAiB,KAAK,SAAL,CAAe,IADlC,EAEE,KAAK,QAAL,GAAgB,IAAhB,CAFF,KAGK,IAAI,KAAK,KAAL,IAAc,KAAK,QAAvB,EAAiC,KAAK,QAAL,GAAgB,KAAhB;AACvC,KA1IM;;AA2IP;;;AAGA,IAAA,iBAAiB,GAAA;AACf,UACE,CAAC,KAAK,QAAN,IACA,KAAK,QADL,IAEA,KAAK,SAFL,IAGA,CAAC,KAAK,GAJR,EAKE,OAAO,CAAP;AAEF,YAAM,KAAK,GAAG,MAAM,CAAC,KAAK,aAAN,CAApB;AAEA,aAAO,KAAK,CAAC,KAAD,CAAL,GAAe,KAAK,GAAL,CAAS,WAAxB,GAAsC,KAA7C;AACD,KAzJM;;AA0JP,IAAA,iBAAiB,CAAE,GAAF,EAAc;AAC7B,UAAI,KAAK,WAAL,KAAqB,GAAzB,EAA8B,KAAK,KAAL,CAAW,qBAAX,EAAkC,GAAlC;AAC/B;;AA5JM,GAtPsB;;AAqZ/B,EAAA,MAAM,CAAE,CAAF,EAAG;AACP,UAAM,QAAQ,GAAG,CACf,KAAK,UAAL,EADe,EAEf,KAAK,UAAL,EAFe,EAGf,KAAK,SAAL,EAHe,EAIf,KAAK,SAAL,EAJe,CAAjB;AAOA,QAAI,KAAK,GAAL,IAAY,OAAO,CAAC,IAAD,EAAO,KAAP,CAAvB,EAAsC,QAAQ,CAAC,OAAT,CAAiB,KAAK,aAAL,EAAjB;AAEtC,WAAO,CAAC,CAAC,KAAK,GAAN,EAAW,KAAK,kBAAL,CAAwB,KAAK,KAA7B,EAAoC;AACrD,MAAA,KAAK,EAAE,KAAK,OADyC;AAErD,MAAA,KAAK,EAAE,KAAK,MAFyC;AAGrD,MAAA,UAAU,EAAE,KAAK,aAAL,EAHyC;AAIrD,MAAA,EAAE,EAAE,KAAK,YAAL;AAJiD,KAApC,CAAX,EAKJ,QALI,CAAR;AAMD;;AAra8B,CAAlB,CAAf","sourcesContent":["// Styles\nimport './VNavigationDrawer.sass'\n\n// Components\nimport VImg, { srcObject } from '../VImg/VImg'\n\n// Mixins\nimport Applicationable from '../../mixins/applicationable'\nimport Colorable from '../../mixins/colorable'\nimport Dependent from '../../mixins/dependent'\nimport Mobile from '../../mixins/mobile'\nimport Overlayable from '../../mixins/overlayable'\nimport SSRBootable from '../../mixins/ssr-bootable'\nimport Themeable from '../../mixins/themeable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\nimport Resize from '../../directives/resize'\nimport Touch from '../../directives/touch'\n\n// Utilities\nimport { convertToUnit, getSlot } from '../../util/helpers'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode, VNodeDirective, PropType } from 'vue'\nimport { TouchWrapper } from 'vuetify/types'\n\nconst baseMixins = mixins(\n Applicationable('left', [\n 'isActive',\n 'isMobile',\n 'miniVariant',\n 'expandOnHover',\n 'permanent',\n 'right',\n 'temporary',\n 'width',\n ]),\n Colorable,\n Dependent,\n Mobile,\n Overlayable,\n SSRBootable,\n Themeable\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-navigation-drawer',\n\n directives: {\n ClickOutside,\n Resize,\n Touch,\n },\n\n provide (): object {\n return {\n isInNav: this.tag === 'nav',\n }\n },\n\n props: {\n bottom: Boolean,\n clipped: Boolean,\n disableResizeWatcher: Boolean,\n disableRouteWatcher: Boolean,\n expandOnHover: Boolean,\n floating: Boolean,\n height: {\n type: [Number, String],\n default (): string {\n return this.app ? '100vh' : '100%'\n },\n },\n miniVariant: Boolean,\n miniVariantWidth: {\n type: [Number, String],\n default: 56,\n },\n permanent: Boolean,\n right: Boolean,\n src: {\n type: [String, Object] as PropType<string | srcObject>,\n default: '',\n },\n stateless: Boolean,\n tag: {\n type: String,\n default (): string {\n return this.app ? 'nav' : 'aside'\n },\n },\n temporary: Boolean,\n touchless: Boolean,\n width: {\n type: [Number, String],\n default: 256,\n },\n value: null as unknown as PropType<any>,\n },\n\n data: () => ({\n isMouseover: false,\n touchArea: {\n left: 0,\n right: 0,\n },\n stackMinZIndex: 6,\n }),\n\n computed: {\n /**\n * Used for setting an app value from a dynamic\n * property. Called from applicationable.js\n */\n applicationProperty (): string {\n return this.right ? 'right' : 'left'\n },\n classes (): object {\n return {\n 'v-navigation-drawer': true,\n 'v-navigation-drawer--absolute': this.absolute,\n 'v-navigation-drawer--bottom': this.bottom,\n 'v-navigation-drawer--clipped': this.clipped,\n 'v-navigation-drawer--close': !this.isActive,\n 'v-navigation-drawer--fixed': !this.absolute && (this.app || this.fixed),\n 'v-navigation-drawer--floating': this.floating,\n 'v-navigation-drawer--is-mobile': this.isMobile,\n 'v-navigation-drawer--is-mouseover': this.isMouseover,\n 'v-navigation-drawer--mini-variant': this.isMiniVariant,\n 'v-navigation-drawer--custom-mini-variant': Number(this.miniVariantWidth) !== 56,\n 'v-navigation-drawer--open': this.isActive,\n 'v-navigation-drawer--open-on-hover': this.expandOnHover,\n 'v-navigation-drawer--right': this.right,\n 'v-navigation-drawer--temporary': this.temporary,\n ...this.themeClasses,\n }\n },\n computedMaxHeight (): number | null {\n if (!this.hasApp) return null\n\n const computedMaxHeight = (\n this.$vuetify.application.bottom +\n this.$vuetify.application.footer +\n this.$vuetify.application.bar\n )\n\n if (!this.clipped) return computedMaxHeight\n\n return computedMaxHeight + this.$vuetify.application.top\n },\n computedTop (): number {\n if (!this.hasApp) return 0\n\n let computedTop = this.$vuetify.application.bar\n\n computedTop += this.clipped\n ? this.$vuetify.application.top\n : 0\n\n return computedTop\n },\n computedTransform (): number {\n if (this.isActive) return 0\n if (this.isBottom) return 100\n return this.right ? 100 : -100\n },\n computedWidth (): string | number {\n return this.isMiniVariant ? this.miniVariantWidth : this.width\n },\n hasApp (): boolean {\n return (\n this.app &&\n (!this.isMobile && !this.temporary)\n )\n },\n isBottom (): boolean {\n return this.bottom && this.isMobile\n },\n isMiniVariant (): boolean {\n return (\n !this.expandOnHover &&\n this.miniVariant\n ) || (\n this.expandOnHover &&\n !this.isMouseover\n )\n },\n isMobile (): boolean {\n return (\n !this.stateless &&\n !this.permanent &&\n Mobile.options.computed.isMobile.call(this)\n )\n },\n reactsToClick (): boolean {\n return (\n !this.stateless &&\n !this.permanent &&\n (this.isMobile || this.temporary)\n )\n },\n reactsToMobile (): boolean {\n return (\n this.app &&\n !this.disableResizeWatcher &&\n !this.permanent &&\n !this.stateless &&\n !this.temporary\n )\n },\n reactsToResize (): boolean {\n return !this.disableResizeWatcher && !this.stateless\n },\n reactsToRoute (): boolean {\n return (\n !this.disableRouteWatcher &&\n !this.stateless &&\n (this.temporary || this.isMobile)\n )\n },\n showOverlay (): boolean {\n return (\n !this.hideOverlay &&\n this.isActive &&\n (this.isMobile || this.temporary)\n )\n },\n styles (): object {\n const translate = this.isBottom ? 'translateY' : 'translateX'\n return {\n height: convertToUnit(this.height),\n top: !this.isBottom ? convertToUnit(this.computedTop) : 'auto',\n maxHeight: this.computedMaxHeight != null\n ? `calc(100% - ${convertToUnit(this.computedMaxHeight)})`\n : undefined,\n transform: `${translate}(${convertToUnit(this.computedTransform, '%')})`,\n width: convertToUnit(this.computedWidth),\n }\n },\n },\n\n watch: {\n $route: 'onRouteChange',\n isActive (val) {\n this.$emit('input', val)\n },\n /**\n * When mobile changes, adjust the active state\n * only when there has been a previous value\n */\n isMobile (val, prev) {\n !val &&\n this.isActive &&\n !this.temporary &&\n this.removeOverlay()\n\n if (prev == null ||\n !this.reactsToResize ||\n !this.reactsToMobile\n ) return\n\n this.isActive = !val\n },\n permanent (val) {\n // If enabling prop enable the drawer\n if (val) this.isActive = true\n },\n showOverlay (val) {\n if (val) this.genOverlay()\n else this.removeOverlay()\n },\n value (val) {\n if (this.permanent) return\n\n if (val == null) {\n this.init()\n return\n }\n\n if (val !== this.isActive) this.isActive = val\n },\n expandOnHover: 'updateMiniVariant',\n isMouseover (val) {\n this.updateMiniVariant(!val)\n },\n },\n\n beforeMount () {\n this.init()\n },\n\n methods: {\n calculateTouchArea () {\n const parent = this.$el.parentNode as Element\n\n if (!parent) return\n\n const parentRect = parent.getBoundingClientRect()\n\n this.touchArea = {\n left: parentRect.left + 50,\n right: parentRect.right - 50,\n }\n },\n closeConditional () {\n return this.isActive && !this._isDestroyed && this.reactsToClick\n },\n genAppend () {\n return this.genPosition('append')\n },\n genBackground () {\n const props = {\n height: '100%',\n width: '100%',\n src: this.src,\n }\n\n const image = this.$scopedSlots.img\n ? this.$scopedSlots.img(props)\n : this.$createElement(VImg, { props })\n\n return this.$createElement('div', {\n staticClass: 'v-navigation-drawer__image',\n }, [image])\n },\n genDirectives (): VNodeDirective[] {\n const directives = [{\n name: 'click-outside',\n value: {\n handler: () => { this.isActive = false },\n closeConditional: this.closeConditional,\n include: this.getOpenDependentElements,\n },\n }]\n\n if (!this.touchless && !this.stateless) {\n directives.push({\n name: 'touch',\n value: {\n parent: true,\n left: this.swipeLeft,\n right: this.swipeRight,\n },\n } as any)\n }\n\n return directives\n },\n genListeners () {\n const on: Record<string, (e: Event) => void> = {\n transitionend: (e: Event) => {\n if (e.target !== e.currentTarget) return\n this.$emit('transitionend', e)\n\n // IE11 does not support new Event('resize')\n const resizeEvent = document.createEvent('UIEvents')\n resizeEvent.initUIEvent('resize', true, false, window, 0)\n window.dispatchEvent(resizeEvent)\n },\n }\n\n if (this.miniVariant) {\n on.click = () => this.$emit('update:mini-variant', false)\n }\n\n if (this.expandOnHover) {\n on.mouseenter = () => (this.isMouseover = true)\n on.mouseleave = () => (this.isMouseover = false)\n }\n\n return on\n },\n genPosition (name: 'prepend' | 'append') {\n const slot = getSlot(this, name)\n\n if (!slot) return slot\n\n return this.$createElement('div', {\n staticClass: `v-navigation-drawer__${name}`,\n }, slot)\n },\n genPrepend () {\n return this.genPosition('prepend')\n },\n genContent () {\n return this.$createElement('div', {\n staticClass: 'v-navigation-drawer__content',\n }, this.$slots.default)\n },\n genBorder () {\n return this.$createElement('div', {\n staticClass: 'v-navigation-drawer__border',\n })\n },\n init () {\n if (this.permanent) {\n this.isActive = true\n } else if (this.stateless ||\n this.value != null\n ) {\n this.isActive = this.value\n } else if (!this.temporary) {\n this.isActive = !this.isMobile\n }\n },\n onRouteChange () {\n if (this.reactsToRoute && this.closeConditional()) {\n this.isActive = false\n }\n },\n swipeLeft (e: TouchWrapper) {\n if (this.isActive && this.right) return\n this.calculateTouchArea()\n\n if (Math.abs(e.touchendX - e.touchstartX) < 100) return\n if (this.right &&\n e.touchstartX >= this.touchArea.right\n ) this.isActive = true\n else if (!this.right && this.isActive) this.isActive = false\n },\n swipeRight (e: TouchWrapper) {\n if (this.isActive && !this.right) return\n this.calculateTouchArea()\n\n if (Math.abs(e.touchendX - e.touchstartX) < 100) return\n if (!this.right &&\n e.touchstartX <= this.touchArea.left\n ) this.isActive = true\n else if (this.right && this.isActive) this.isActive = false\n },\n /**\n * Update the application layout\n */\n updateApplication () {\n if (\n !this.isActive ||\n this.isMobile ||\n this.temporary ||\n !this.$el\n ) return 0\n\n const width = Number(this.computedWidth)\n\n return isNaN(width) ? this.$el.clientWidth : width\n },\n updateMiniVariant (val: boolean) {\n if (this.miniVariant !== val) this.$emit('update:mini-variant', val)\n },\n },\n\n render (h): VNode {\n const children = [\n this.genPrepend(),\n this.genContent(),\n this.genAppend(),\n this.genBorder(),\n ]\n\n if (this.src || getSlot(this, 'img')) children.unshift(this.genBackground())\n\n return h(this.tag, this.setBackgroundColor(this.color, {\n class: this.classes,\n style: this.styles,\n directives: this.genDirectives(),\n on: this.genListeners(),\n }), children)\n },\n})\n"],"sourceRoot":"","file":"VNavigationDrawer.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VNavigationDrawer/VNavigationDrawer.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VNavigationDrawer.sass'\n\n// Components\nimport VImg, { srcObject } from '../VImg/VImg'\n\n// Mixins\nimport Applicationable from '../../mixins/applicationable'\nimport Colorable from '../../mixins/colorable'\nimport Dependent from '../../mixins/dependent'\nimport Mobile from '../../mixins/mobile'\nimport Overlayable from '../../mixins/overlayable'\nimport SSRBootable from '../../mixins/ssr-bootable'\nimport Themeable from '../../mixins/themeable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\nimport Resize from '../../directives/resize'\nimport Touch from '../../directives/touch'\n\n// Utilities\nimport { convertToUnit, getSlot } from '../../util/helpers'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode, VNodeDirective, PropType } from 'vue'\nimport { TouchWrapper } from 'vuetify/types'\n\nconst baseMixins = mixins(\n Applicationable('left', [\n 'isActive',\n 'isMobile',\n 'miniVariant',\n 'expandOnHover',\n 'permanent',\n 'right',\n 'temporary',\n 'width',\n ]),\n Colorable,\n Dependent,\n Mobile,\n Overlayable,\n SSRBootable,\n Themeable\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-navigation-drawer',\n\n directives: {\n ClickOutside,\n Resize,\n Touch,\n },\n\n provide (): object {\n return {\n isInNav: this.tag === 'nav',\n }\n },\n\n props: {\n bottom: Boolean,\n clipped: Boolean,\n disableResizeWatcher: Boolean,\n disableRouteWatcher: Boolean,\n expandOnHover: Boolean,\n floating: Boolean,\n height: {\n type: [Number, String],\n default (): string {\n return this.app ? '100vh' : '100%'\n },\n },\n miniVariant: Boolean,\n miniVariantWidth: {\n type: [Number, String],\n default: 56,\n },\n permanent: Boolean,\n right: Boolean,\n src: {\n type: [String, Object] as PropType<string | srcObject>,\n default: '',\n },\n stateless: Boolean,\n tag: {\n type: String,\n default (): string {\n return this.app ? 'nav' : 'aside'\n },\n },\n temporary: Boolean,\n touchless: Boolean,\n width: {\n type: [Number, String],\n default: 256,\n },\n value: null as unknown as PropType<any>,\n },\n\n data: () => ({\n isMouseover: false,\n touchArea: {\n left: 0,\n right: 0,\n },\n stackMinZIndex: 6,\n }),\n\n computed: {\n /**\n * Used for setting an app value from a dynamic\n * property. Called from applicationable.js\n */\n applicationProperty (): string {\n return this.right ? 'right' : 'left'\n },\n classes (): object {\n return {\n 'v-navigation-drawer': true,\n 'v-navigation-drawer--absolute': this.absolute,\n 'v-navigation-drawer--bottom': this.bottom,\n 'v-navigation-drawer--clipped': this.clipped,\n 'v-navigation-drawer--close': !this.isActive,\n 'v-navigation-drawer--fixed': !this.absolute && (this.app || this.fixed),\n 'v-navigation-drawer--floating': this.floating,\n 'v-navigation-drawer--is-mobile': this.isMobile,\n 'v-navigation-drawer--is-mouseover': this.isMouseover,\n 'v-navigation-drawer--mini-variant': this.isMiniVariant,\n 'v-navigation-drawer--custom-mini-variant': Number(this.miniVariantWidth) !== 56,\n 'v-navigation-drawer--open': this.isActive,\n 'v-navigation-drawer--open-on-hover': this.expandOnHover,\n 'v-navigation-drawer--right': this.right,\n 'v-navigation-drawer--temporary': this.temporary,\n ...this.themeClasses,\n }\n },\n computedMaxHeight (): number | null {\n if (!this.hasApp) return null\n\n const computedMaxHeight = (\n this.$vuetify.application.bottom +\n this.$vuetify.application.footer +\n this.$vuetify.application.bar\n )\n\n if (!this.clipped) return computedMaxHeight\n\n return computedMaxHeight + this.$vuetify.application.top\n },\n computedTop (): number {\n if (!this.hasApp) return 0\n\n let computedTop = this.$vuetify.application.bar\n\n computedTop += this.clipped\n ? this.$vuetify.application.top\n : 0\n\n return computedTop\n },\n computedTransform (): number {\n if (this.isActive) return 0\n if (this.isBottom) return 100\n return this.right ? 100 : -100\n },\n computedWidth (): string | number {\n return this.isMiniVariant ? this.miniVariantWidth : this.width\n },\n hasApp (): boolean {\n return (\n this.app &&\n (!this.isMobile && !this.temporary)\n )\n },\n isBottom (): boolean {\n return this.bottom && this.isMobile\n },\n isMiniVariant (): boolean {\n return (\n !this.expandOnHover &&\n this.miniVariant\n ) || (\n this.expandOnHover &&\n !this.isMouseover\n )\n },\n isMobile (): boolean {\n return (\n !this.stateless &&\n !this.permanent &&\n Mobile.options.computed.isMobile.call(this)\n )\n },\n reactsToClick (): boolean {\n return (\n !this.stateless &&\n !this.permanent &&\n (this.isMobile || this.temporary)\n )\n },\n reactsToMobile (): boolean {\n return (\n this.app &&\n !this.disableResizeWatcher &&\n !this.permanent &&\n !this.stateless &&\n !this.temporary\n )\n },\n reactsToResize (): boolean {\n return !this.disableResizeWatcher && !this.stateless\n },\n reactsToRoute (): boolean {\n return (\n !this.disableRouteWatcher &&\n !this.stateless &&\n (this.temporary || this.isMobile)\n )\n },\n showOverlay (): boolean {\n return (\n !this.hideOverlay &&\n this.isActive &&\n (this.isMobile || this.temporary)\n )\n },\n styles (): object {\n const translate = this.isBottom ? 'translateY' : 'translateX'\n return {\n height: convertToUnit(this.height),\n top: !this.isBottom ? convertToUnit(this.computedTop) : 'auto',\n maxHeight: this.computedMaxHeight != null\n ? `calc(100% - ${convertToUnit(this.computedMaxHeight)})`\n : undefined,\n transform: `${translate}(${convertToUnit(this.computedTransform, '%')})`,\n width: convertToUnit(this.computedWidth),\n }\n },\n },\n\n watch: {\n $route: 'onRouteChange',\n isActive (val) {\n this.$emit('input', val)\n },\n /**\n * When mobile changes, adjust the active state\n * only when there has been a previous value\n */\n isMobile (val, prev) {\n !val &&\n this.isActive &&\n !this.temporary &&\n this.removeOverlay()\n\n if (prev == null ||\n !this.reactsToResize ||\n !this.reactsToMobile\n ) return\n\n this.isActive = !val\n },\n permanent (val) {\n // If enabling prop enable the drawer\n if (val) this.isActive = true\n },\n showOverlay (val) {\n if (val) this.genOverlay()\n else this.removeOverlay()\n },\n value (val) {\n if (this.permanent) return\n\n if (val == null) {\n this.init()\n return\n }\n\n if (val !== this.isActive) this.isActive = val\n },\n expandOnHover: 'updateMiniVariant',\n isMouseover (val) {\n this.updateMiniVariant(!val)\n },\n },\n\n beforeMount () {\n this.init()\n },\n\n methods: {\n calculateTouchArea () {\n const parent = this.$el.parentNode as Element\n\n if (!parent) return\n\n const parentRect = parent.getBoundingClientRect()\n\n this.touchArea = {\n left: parentRect.left + 50,\n right: parentRect.right - 50,\n }\n },\n closeConditional () {\n return this.isActive && !this._isDestroyed && this.reactsToClick\n },\n genAppend () {\n return this.genPosition('append')\n },\n genBackground () {\n const props = {\n height: '100%',\n width: '100%',\n src: this.src,\n }\n\n const image = this.$scopedSlots.img\n ? this.$scopedSlots.img(props)\n : this.$createElement(VImg, { props })\n\n return this.$createElement('div', {\n staticClass: 'v-navigation-drawer__image',\n }, [image])\n },\n genDirectives (): VNodeDirective[] {\n const directives = [{\n name: 'click-outside',\n value: {\n handler: () => { this.isActive = false },\n closeConditional: this.closeConditional,\n include: this.getOpenDependentElements,\n },\n }]\n\n if (!this.touchless && !this.stateless) {\n directives.push({\n name: 'touch',\n value: {\n parent: true,\n left: this.swipeLeft,\n right: this.swipeRight,\n },\n } as any)\n }\n\n return directives\n },\n genListeners () {\n const on: Record<string, (e: Event) => void> = {\n transitionend: (e: Event) => {\n if (e.target !== e.currentTarget) return\n this.$emit('transitionend', e)\n\n // IE11 does not support new Event('resize')\n const resizeEvent = document.createEvent('UIEvents')\n resizeEvent.initUIEvent('resize', true, false, window, 0)\n window.dispatchEvent(resizeEvent)\n },\n }\n\n if (this.miniVariant) {\n on.click = () => this.$emit('update:mini-variant', false)\n }\n\n if (this.expandOnHover) {\n on.mouseenter = () => (this.isMouseover = true)\n on.mouseleave = () => (this.isMouseover = false)\n }\n\n return on\n },\n genPosition (name: 'prepend' | 'append') {\n const slot = getSlot(this, name)\n\n if (!slot) return slot\n\n return this.$createElement('div', {\n staticClass: `v-navigation-drawer__${name}`,\n }, slot)\n },\n genPrepend () {\n return this.genPosition('prepend')\n },\n genContent () {\n return this.$createElement('div', {\n staticClass: 'v-navigation-drawer__content',\n }, this.$slots.default)\n },\n genBorder () {\n return this.$createElement('div', {\n staticClass: 'v-navigation-drawer__border',\n })\n },\n init () {\n if (this.permanent) {\n this.isActive = true\n } else if (this.stateless ||\n this.value != null\n ) {\n this.isActive = this.value\n } else if (!this.temporary) {\n this.isActive = !this.isMobile\n }\n },\n onRouteChange () {\n if (this.reactsToRoute && this.closeConditional()) {\n this.isActive = false\n }\n },\n swipeLeft (e: TouchWrapper) {\n if (this.isActive && this.right) return\n this.calculateTouchArea()\n\n if (Math.abs(e.touchendX - e.touchstartX) < 100) return\n if (this.right &&\n e.touchstartX >= this.touchArea.right\n ) this.isActive = true\n else if (!this.right && this.isActive) this.isActive = false\n },\n swipeRight (e: TouchWrapper) {\n if (this.isActive && !this.right) return\n this.calculateTouchArea()\n\n if (Math.abs(e.touchendX - e.touchstartX) < 100) return\n if (!this.right &&\n e.touchstartX <= this.touchArea.left\n ) this.isActive = true\n else if (this.right && this.isActive) this.isActive = false\n },\n /**\n * Update the application layout\n */\n updateApplication () {\n if (\n !this.isActive ||\n this.isMobile ||\n this.temporary ||\n !this.$el\n ) return 0\n\n const width = Number(this.computedWidth)\n\n return isNaN(width) ? this.$el.clientWidth : width\n },\n updateMiniVariant (val: boolean) {\n if (this.miniVariant !== val) this.$emit('update:mini-variant', val)\n },\n },\n\n render (h): VNode {\n const children = [\n this.genPrepend(),\n this.genContent(),\n this.genAppend(),\n this.genBorder(),\n ]\n\n if (this.src || getSlot(this, 'img')) children.unshift(this.genBackground())\n\n return h(this.tag, this.setBackgroundColor(this.color, {\n class: this.classes,\n style: this.styles,\n directives: this.genDirectives(),\n on: this.genListeners(),\n }), children)\n },\n})\n"],"sourceRoot":"","file":"VNavigationDrawer.js"}
|
|
@@ -155,9 +155,13 @@ export default VSlider.extend({
|
|
|
155
155
|
this.oldValue = this.internalValue;
|
|
156
156
|
this.isActive = true;
|
|
157
157
|
|
|
158
|
-
if ((_e$target = e.target)
|
|
158
|
+
if ((_e$target = e.target) != null && _e$target.matches('.v-slider__thumb-container, .v-slider__thumb-container *')) {
|
|
159
159
|
this.thumbPressed = true;
|
|
160
|
+
const domRect = e.target.getBoundingClientRect();
|
|
161
|
+
const touch = 'touches' in e ? e.touches[0] : e;
|
|
162
|
+
this.startOffset = this.vertical ? touch.clientY - (domRect.top + domRect.height / 2) : touch.clientX - (domRect.left + domRect.width / 2);
|
|
160
163
|
} else {
|
|
164
|
+
this.startOffset = 0;
|
|
161
165
|
window.clearTimeout(this.mouseTimeout);
|
|
162
166
|
this.mouseTimeout = window.setTimeout(() => {
|
|
163
167
|
this.thumbPressed = true;
|
|
@@ -171,7 +175,7 @@ export default VSlider.extend({
|
|
|
171
175
|
const mouseMoveOptions = passiveSupported ? {
|
|
172
176
|
passive: true
|
|
173
177
|
} : false;
|
|
174
|
-
const isTouchEvent = 'touches' in e;
|
|
178
|
+
const isTouchEvent = ('touches' in e);
|
|
175
179
|
this.onMouseMove(e);
|
|
176
180
|
this.app.addEventListener(isTouchEvent ? 'touchmove' : 'mousemove', this.onMouseMove, mouseMoveOptions);
|
|
177
181
|
addOnceEventListener(this.app, isTouchEvent ? 'touchend' : 'mouseup', this.onSliderMouseUp, mouseUpOptions);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VRangeSlider/VRangeSlider.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VRangeSlider.sass'\n\n// Components\nimport VSlider from '../VSlider'\n\n// Helpers\nimport {\n addOnceEventListener,\n createRange,\n deepEqual,\n passiveSupported,\n} from '../../util/helpers'\n\n// Types\nimport { PropValidator } from 'vue/types/options'\n\n/* @vue/component */\nexport default VSlider.extend({\n name: 'v-range-slider',\n\n props: {\n value: {\n type: Array,\n default: () => ([0, 0]),\n } as unknown as PropValidator<[number, number]>,\n },\n\n data () {\n return {\n activeThumb: null as null | number,\n lazyValue: this.value,\n }\n },\n\n computed: {\n classes (): object {\n return {\n ...VSlider.options.computed.classes.call(this),\n 'v-input--range-slider': true,\n }\n },\n internalValue: {\n get (): number[] {\n return this.lazyValue\n },\n set (val: number[]) {\n // Round value to ensure the\n // entire slider range can\n // be selected with step\n let value = val.map((v = 0) => this.roundValue(Math.min(Math.max(v, this.minValue), this.maxValue)))\n\n // Switch values if range and wrong order\n if (value[0] > value[1] || value[1] < value[0]) {\n if (this.activeThumb !== null) {\n const toFocus = this.activeThumb === 1 ? 0 : 1\n const el = this.$refs[`thumb_${toFocus}`] as HTMLElement\n el.focus()\n }\n value = [value[1], value[0]]\n }\n\n this.lazyValue = value\n if (!deepEqual(value, this.value)) this.$emit('input', value)\n\n this.validate()\n },\n },\n inputWidth (): number[] {\n return this.internalValue.map((v: number) => (\n this.roundValue(v) - this.minValue) / (this.maxValue - this.minValue) * 100\n )\n },\n },\n\n methods: {\n getTrackStyle (startLength: number, endLength: number, startPadding = 0, endPadding = 0) {\n const startDir = this.vertical ? this.$vuetify.rtl ? 'top' : 'bottom' : this.$vuetify.rtl ? 'right' : 'left'\n const endDir = this.vertical ? 'height' : 'width'\n\n const start = `calc(${startLength}% + ${startPadding}px)`\n const end = `calc(${endLength}% + ${endPadding}px)`\n\n return {\n transition: this.trackTransition,\n [startDir]: start,\n [endDir]: end,\n }\n },\n getIndexOfClosestValue (arr: number[], v: number) {\n if (Math.abs(arr[0] - v) < Math.abs(arr[1] - v)) return 0\n else return 1\n },\n genInput () {\n return createRange(2).map(i => {\n const input = VSlider.options.methods.genInput.call(this)\n\n input.data = input.data || {}\n input.data.attrs = input.data.attrs || {}\n input.data.attrs.value = this.internalValue[i]\n input.data.attrs.id = `input-${i ? 'max' : 'min'}-${this._uid}`\n\n return input\n })\n },\n genTrackContainer () {\n const children = []\n\n const padding = this.isDisabled ? 10 : 0\n const sections: { class: string, color: string | undefined, styles: [number, number, number, number] }[] = [\n {\n class: 'v-slider__track-background',\n color: this.computedTrackColor,\n styles: [0, this.inputWidth[0], 0, -padding],\n },\n {\n class: this.isDisabled ? 'v-slider__track-background' : 'v-slider__track-fill',\n color: this.isDisabled ? this.computedTrackColor : this.computedTrackFillColor,\n styles: [this.inputWidth[0], Math.abs(this.inputWidth[1] - this.inputWidth[0]), padding, padding * -2],\n },\n {\n class: 'v-slider__track-background',\n color: this.computedTrackColor,\n styles: [this.inputWidth[1], Math.abs(100 - this.inputWidth[1]), padding, -padding],\n },\n ]\n\n if (this.$vuetify.rtl) sections.reverse()\n\n children.push(...sections.map(section => this.$createElement('div', this.setBackgroundColor(section.color, {\n staticClass: section.class,\n style: this.getTrackStyle(...section.styles),\n }))))\n\n return this.$createElement('div', {\n staticClass: 'v-slider__track-container',\n ref: 'track',\n }, children)\n },\n genChildren () {\n return [\n this.genInput(),\n this.genTrackContainer(),\n this.genSteps(),\n createRange(2).map(index => {\n const value = this.internalValue[index]\n const onFocus = (e: Event) => {\n this.isFocused = true\n this.activeThumb = index\n\n this.$emit('focus', e)\n }\n\n const onBlur = (e: Event) => {\n this.isFocused = false\n this.activeThumb = null\n\n this.$emit('blur', e)\n }\n\n const valueWidth = this.inputWidth[index]\n const isActive = this.isActive && this.activeThumb === index\n const isFocused = this.isFocused && this.activeThumb === index\n\n return this.genThumbContainer(value, valueWidth, isActive, isFocused, onFocus, onBlur, `thumb_${index}`)\n }),\n ]\n },\n reevaluateSelected (value: number) {\n this.activeThumb = this.getIndexOfClosestValue(this.internalValue, value)\n const refName = `thumb_${this.activeThumb}`\n const thumbRef = this.$refs[refName] as HTMLElement\n thumbRef.focus()\n },\n onSliderMouseDown (e: MouseEvent) {\n const value = this.parseMouseMove(e)\n\n this.reevaluateSelected(value)\n\n this.oldValue = this.internalValue\n this.isActive = true\n\n if ((e.target as Element)?.matches('.v-slider__thumb-container, .v-slider__thumb-container *')) {\n this.thumbPressed = true\n } else {\n window.clearTimeout(this.mouseTimeout)\n this.mouseTimeout = window.setTimeout(() => {\n this.thumbPressed = true\n }, 300)\n }\n\n const mouseUpOptions = passiveSupported ? { passive: true, capture: true } : true\n const mouseMoveOptions = passiveSupported ? { passive: true } : false\n\n const isTouchEvent = 'touches' in e\n\n this.onMouseMove(e)\n this.app.addEventListener(isTouchEvent ? 'touchmove' : 'mousemove', this.onMouseMove, mouseMoveOptions)\n addOnceEventListener(this.app, isTouchEvent ? 'touchend' : 'mouseup', this.onSliderMouseUp, mouseUpOptions)\n\n this.$emit('start', this.internalValue)\n },\n onSliderClick (e: MouseEvent) {\n if (!this.isActive) {\n if (this.noClick) {\n this.noClick = false\n return\n }\n\n const value = this.parseMouseMove(e)\n\n this.reevaluateSelected(value)\n\n this.setInternalValue(value)\n\n this.$emit('change', this.internalValue)\n }\n },\n onMouseMove (e: MouseEvent) {\n const value = this.parseMouseMove(e)\n\n if (e.type === 'mousemove') {\n this.thumbPressed = true\n }\n\n this.activeThumb = this.getIndexOfClosestValue(this.internalValue, value)\n\n this.setInternalValue(value)\n },\n onKeyDown (e: KeyboardEvent) {\n if (this.activeThumb === null) return\n\n const value = this.parseKeyDown(e, this.internalValue[this.activeThumb])\n\n if (value == null) return\n\n this.setInternalValue(value)\n this.$emit('change', this.internalValue)\n },\n setInternalValue (value: number) {\n this.internalValue = this.internalValue.map((v: number, i: number) => {\n if (i === this.activeThumb) return value\n else return Number(v)\n })\n },\n },\n})\n"],"sourceRoot":"","file":"VRangeSlider.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VRangeSlider/VRangeSlider.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VRangeSlider.sass'\n\n// Components\nimport VSlider from '../VSlider'\n\n// Helpers\nimport {\n addOnceEventListener,\n createRange,\n deepEqual,\n passiveSupported,\n} from '../../util/helpers'\n\n// Types\nimport { PropValidator } from 'vue/types/options'\n\n/* @vue/component */\nexport default VSlider.extend({\n name: 'v-range-slider',\n\n props: {\n value: {\n type: Array,\n default: () => ([0, 0]),\n } as unknown as PropValidator<[number, number]>,\n },\n\n data () {\n return {\n activeThumb: null as null | number,\n lazyValue: this.value,\n }\n },\n\n computed: {\n classes (): object {\n return {\n ...VSlider.options.computed.classes.call(this),\n 'v-input--range-slider': true,\n }\n },\n internalValue: {\n get (): number[] {\n return this.lazyValue\n },\n set (val: number[]) {\n // Round value to ensure the\n // entire slider range can\n // be selected with step\n let value = val.map((v = 0) => this.roundValue(Math.min(Math.max(v, this.minValue), this.maxValue)))\n\n // Switch values if range and wrong order\n if (value[0] > value[1] || value[1] < value[0]) {\n if (this.activeThumb !== null) {\n const toFocus = this.activeThumb === 1 ? 0 : 1\n const el = this.$refs[`thumb_${toFocus}`] as HTMLElement\n el.focus()\n }\n value = [value[1], value[0]]\n }\n\n this.lazyValue = value\n if (!deepEqual(value, this.value)) this.$emit('input', value)\n\n this.validate()\n },\n },\n inputWidth (): number[] {\n return this.internalValue.map((v: number) => (\n this.roundValue(v) - this.minValue) / (this.maxValue - this.minValue) * 100\n )\n },\n },\n\n methods: {\n getTrackStyle (startLength: number, endLength: number, startPadding = 0, endPadding = 0) {\n const startDir = this.vertical ? this.$vuetify.rtl ? 'top' : 'bottom' : this.$vuetify.rtl ? 'right' : 'left'\n const endDir = this.vertical ? 'height' : 'width'\n\n const start = `calc(${startLength}% + ${startPadding}px)`\n const end = `calc(${endLength}% + ${endPadding}px)`\n\n return {\n transition: this.trackTransition,\n [startDir]: start,\n [endDir]: end,\n }\n },\n getIndexOfClosestValue (arr: number[], v: number) {\n if (Math.abs(arr[0] - v) < Math.abs(arr[1] - v)) return 0\n else return 1\n },\n genInput () {\n return createRange(2).map(i => {\n const input = VSlider.options.methods.genInput.call(this)\n\n input.data = input.data || {}\n input.data.attrs = input.data.attrs || {}\n input.data.attrs.value = this.internalValue[i]\n input.data.attrs.id = `input-${i ? 'max' : 'min'}-${this._uid}`\n\n return input\n })\n },\n genTrackContainer () {\n const children = []\n\n const padding = this.isDisabled ? 10 : 0\n const sections: { class: string, color: string | undefined, styles: [number, number, number, number] }[] = [\n {\n class: 'v-slider__track-background',\n color: this.computedTrackColor,\n styles: [0, this.inputWidth[0], 0, -padding],\n },\n {\n class: this.isDisabled ? 'v-slider__track-background' : 'v-slider__track-fill',\n color: this.isDisabled ? this.computedTrackColor : this.computedTrackFillColor,\n styles: [this.inputWidth[0], Math.abs(this.inputWidth[1] - this.inputWidth[0]), padding, padding * -2],\n },\n {\n class: 'v-slider__track-background',\n color: this.computedTrackColor,\n styles: [this.inputWidth[1], Math.abs(100 - this.inputWidth[1]), padding, -padding],\n },\n ]\n\n if (this.$vuetify.rtl) sections.reverse()\n\n children.push(...sections.map(section => this.$createElement('div', this.setBackgroundColor(section.color, {\n staticClass: section.class,\n style: this.getTrackStyle(...section.styles),\n }))))\n\n return this.$createElement('div', {\n staticClass: 'v-slider__track-container',\n ref: 'track',\n }, children)\n },\n genChildren () {\n return [\n this.genInput(),\n this.genTrackContainer(),\n this.genSteps(),\n createRange(2).map(index => {\n const value = this.internalValue[index]\n const onFocus = (e: Event) => {\n this.isFocused = true\n this.activeThumb = index\n\n this.$emit('focus', e)\n }\n\n const onBlur = (e: Event) => {\n this.isFocused = false\n this.activeThumb = null\n\n this.$emit('blur', e)\n }\n\n const valueWidth = this.inputWidth[index]\n const isActive = this.isActive && this.activeThumb === index\n const isFocused = this.isFocused && this.activeThumb === index\n\n return this.genThumbContainer(value, valueWidth, isActive, isFocused, onFocus, onBlur, `thumb_${index}`)\n }),\n ]\n },\n reevaluateSelected (value: number) {\n this.activeThumb = this.getIndexOfClosestValue(this.internalValue, value)\n const refName = `thumb_${this.activeThumb}`\n const thumbRef = this.$refs[refName] as HTMLElement\n thumbRef.focus()\n },\n onSliderMouseDown (e: MouseEvent | TouchEvent) {\n const value = this.parseMouseMove(e)\n\n this.reevaluateSelected(value)\n\n this.oldValue = this.internalValue\n this.isActive = true\n\n if ((e.target as Element)?.matches('.v-slider__thumb-container, .v-slider__thumb-container *')) {\n this.thumbPressed = true\n const domRect = (e.target as Element).getBoundingClientRect()\n const touch = 'touches' in e ? e.touches[0] : e\n this.startOffset = this.vertical\n ? touch.clientY - (domRect.top + domRect.height / 2)\n : touch.clientX - (domRect.left + domRect.width / 2)\n } else {\n this.startOffset = 0\n window.clearTimeout(this.mouseTimeout)\n this.mouseTimeout = window.setTimeout(() => {\n this.thumbPressed = true\n }, 300)\n }\n\n const mouseUpOptions = passiveSupported ? { passive: true, capture: true } : true\n const mouseMoveOptions = passiveSupported ? { passive: true } : false\n\n const isTouchEvent = 'touches' in e\n\n this.onMouseMove(e)\n this.app.addEventListener(isTouchEvent ? 'touchmove' : 'mousemove', this.onMouseMove, mouseMoveOptions)\n addOnceEventListener(this.app, isTouchEvent ? 'touchend' : 'mouseup', this.onSliderMouseUp, mouseUpOptions)\n\n this.$emit('start', this.internalValue)\n },\n onSliderClick (e: MouseEvent) {\n if (!this.isActive) {\n if (this.noClick) {\n this.noClick = false\n return\n }\n\n const value = this.parseMouseMove(e)\n\n this.reevaluateSelected(value)\n\n this.setInternalValue(value)\n\n this.$emit('change', this.internalValue)\n }\n },\n onMouseMove (e: MouseEvent | TouchEvent) {\n const value = this.parseMouseMove(e)\n\n if (e.type === 'mousemove') {\n this.thumbPressed = true\n }\n\n this.activeThumb = this.getIndexOfClosestValue(this.internalValue, value)\n\n this.setInternalValue(value)\n },\n onKeyDown (e: KeyboardEvent) {\n if (this.activeThumb === null) return\n\n const value = this.parseKeyDown(e, this.internalValue[this.activeThumb])\n\n if (value == null) return\n\n this.setInternalValue(value)\n this.$emit('change', this.internalValue)\n },\n setInternalValue (value: number) {\n this.internalValue = this.internalValue.map((v: number, i: number) => {\n if (i === this.activeThumb) return value\n else return Number(v)\n })\n },\n },\n})\n"],"sourceRoot":"","file":"VRangeSlider.js"}
|
|
@@ -397,7 +397,7 @@ export default baseMixins.extend().extend({
|
|
|
397
397
|
'aria-readonly': String(this.isReadonly),
|
|
398
398
|
'aria-activedescendant': getObjectValueByPath(this.$refs.menu, 'activeTile.id'),
|
|
399
399
|
autocomplete: getObjectValueByPath(input.data, 'attrs.autocomplete', 'off'),
|
|
400
|
-
placeholder: !this.isDirty && (this.isFocused || !this.hasLabel) ? this.placeholder : undefined
|
|
400
|
+
placeholder: !this.isDirty && (this.persistentPlaceholder || this.isFocused || !this.hasLabel) ? this.placeholder : undefined
|
|
401
401
|
},
|
|
402
402
|
on: {
|
|
403
403
|
keypress: this.onKeyPress
|
|
@@ -605,9 +605,7 @@ export default baseMixins.extend().extend({
|
|
|
605
605
|
onKeyDown(e) {
|
|
606
606
|
if (this.isReadonly && e.keyCode !== keyCodes.tab) return;
|
|
607
607
|
const keyCode = e.keyCode;
|
|
608
|
-
const menu = this.$refs.menu;
|
|
609
|
-
|
|
610
|
-
if ([keyCodes.enter, keyCodes.space].includes(keyCode)) this.activateMenu();
|
|
608
|
+
const menu = this.$refs.menu;
|
|
611
609
|
this.$emit('keydown', e);
|
|
612
610
|
if (!menu) return; // If menu is active, allow default
|
|
613
611
|
// listIndex change from menu
|
|
@@ -617,12 +615,14 @@ export default baseMixins.extend().extend({
|
|
|
617
615
|
menu.changeListIndex(e);
|
|
618
616
|
this.$emit('update:list-index', menu.listIndex);
|
|
619
617
|
});
|
|
620
|
-
} // If
|
|
618
|
+
} // If enter, space, open menu
|
|
619
|
+
|
|
620
|
+
|
|
621
|
+
if ([keyCodes.enter, keyCodes.space].includes(keyCode)) this.activateMenu(); // If menu is not active, up/down/home/end can do
|
|
621
622
|
// one of 2 things. If multiple, opens the
|
|
622
623
|
// menu, if not, will cycle through all
|
|
623
624
|
// available options
|
|
624
625
|
|
|
625
|
-
|
|
626
626
|
if (!this.isMenuActive && [keyCodes.up, keyCodes.down, keyCodes.home, keyCodes.end].includes(keyCode)) return this.onUpDown(e); // If escape deactivate the menu
|
|
627
627
|
|
|
628
628
|
if (keyCode === keyCodes.esc) return this.onEscDown(e); // If tab - select item or close menu
|
|
@@ -640,6 +640,8 @@ export default baseMixins.extend().extend({
|
|
|
640
640
|
const menu = this.$refs.menu;
|
|
641
641
|
if (!menu || !this.isDirty) return; // When menu opens, set index of first active item
|
|
642
642
|
|
|
643
|
+
this.$refs.menu.getTiles();
|
|
644
|
+
|
|
643
645
|
for (let i = 0; i < menu.tiles.length; i++) {
|
|
644
646
|
if (menu.tiles[i].getAttribute('aria-selected') === 'true') {
|
|
645
647
|
this.setMenuIndex(i);
|
|
@@ -751,11 +753,7 @@ export default baseMixins.extend().extend({
|
|
|
751
753
|
|
|
752
754
|
this.$nextTick(() => {
|
|
753
755
|
this.$refs.menu && this.$refs.menu.updateDimensions();
|
|
754
|
-
});
|
|
755
|
-
// to keep highlight when an item is toggled
|
|
756
|
-
// on and off
|
|
757
|
-
|
|
758
|
-
if (!this.multiple) return;
|
|
756
|
+
});
|
|
759
757
|
const listIndex = this.getMenuIndex();
|
|
760
758
|
this.setMenuIndex(-1); // There is no item to re-highlight
|
|
761
759
|
// when selections are hidden
|