@dimailn/vuetify 2.7.2-alpha4 → 2.7.2-alpha40
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/vuetify.js +4383 -2392
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +1 -1
- package/dist/vuetify.min.js +2 -2
- package/es5/components/VAlert/VAlert.js +39 -9
- package/es5/components/VAlert/VAlert.js.map +1 -1
- package/es5/components/VAppBar/VAppBar.js +23 -17
- package/es5/components/VAppBar/VAppBar.js.map +1 -1
- package/es5/components/VAppBar/VAppBarNavIcon.js +5 -1
- package/es5/components/VAppBar/VAppBarNavIcon.js.map +1 -1
- package/es5/components/VAutocomplete/VAutocomplete.js +11 -7
- package/es5/components/VAutocomplete/VAutocomplete.js.map +1 -1
- package/es5/components/VBadge/VBadge.js +46 -14
- package/es5/components/VBadge/VBadge.js.map +1 -1
- package/es5/components/VBanner/VBanner.js +51 -15
- package/es5/components/VBanner/VBanner.js.map +1 -1
- package/es5/components/VBottomNavigation/VBottomNavigation.js +36 -14
- package/es5/components/VBottomNavigation/VBottomNavigation.js.map +1 -1
- package/es5/components/VBreadcrumbs/VBreadcrumbs.js +22 -8
- package/es5/components/VBreadcrumbs/VBreadcrumbs.js.map +1 -1
- package/es5/components/VBreadcrumbs/VBreadcrumbsItem.js +4 -0
- package/es5/components/VBreadcrumbs/VBreadcrumbsItem.js.map +1 -1
- package/es5/components/VBtn/VBtn.js +20 -16
- package/es5/components/VBtn/VBtn.js.map +1 -1
- package/es5/components/VCalendar/VCalendar.js +27 -29
- package/es5/components/VCalendar/VCalendar.js.map +1 -1
- package/es5/components/VCalendar/VCalendarCategory.js +26 -34
- package/es5/components/VCalendar/VCalendarCategory.js.map +1 -1
- package/es5/components/VCalendar/VCalendarDaily.js +43 -60
- package/es5/components/VCalendar/VCalendarDaily.js.map +1 -1
- package/es5/components/VCalendar/VCalendarMonthly.js +2 -2
- package/es5/components/VCalendar/VCalendarMonthly.js.map +1 -1
- package/es5/components/VCalendar/VCalendarWeekly.js +36 -40
- package/es5/components/VCalendar/VCalendarWeekly.js.map +1 -1
- package/es5/components/VCalendar/mixins/calendar-base.js +5 -10
- package/es5/components/VCalendar/mixins/calendar-base.js.map +1 -1
- package/es5/components/VCalendar/mixins/calendar-with-events.js +43 -58
- package/es5/components/VCalendar/mixins/calendar-with-events.js.map +1 -1
- package/es5/components/VCalendar/mixins/calendar-with-intervals.js +2 -2
- package/es5/components/VCalendar/mixins/calendar-with-intervals.js.map +1 -1
- package/es5/components/VCalendar/mixins/times.js.map +1 -1
- package/es5/components/VCarousel/VCarousel.js +61 -17
- package/es5/components/VCarousel/VCarousel.js.map +1 -1
- package/es5/components/VCarousel/VCarouselItem.js +7 -3
- package/es5/components/VCarousel/VCarouselItem.js.map +1 -1
- package/es5/components/VCheckbox/VCheckbox.js +40 -9
- package/es5/components/VCheckbox/VCheckbox.js.map +1 -1
- package/es5/components/VCheckbox/VSimpleCheckbox.js +94 -38
- package/es5/components/VCheckbox/VSimpleCheckbox.js.map +1 -1
- package/es5/components/VChip/VChip.js +16 -7
- package/es5/components/VChip/VChip.js.map +1 -1
- package/es5/components/VColorPicker/VColorPicker.js +54 -39
- package/es5/components/VColorPicker/VColorPicker.js.map +1 -1
- package/es5/components/VColorPicker/VColorPickerCanvas.js +45 -46
- package/es5/components/VColorPicker/VColorPickerCanvas.js.map +1 -1
- package/es5/components/VColorPicker/VColorPickerEdit.js +27 -26
- package/es5/components/VColorPicker/VColorPickerEdit.js.map +1 -1
- package/es5/components/VColorPicker/VColorPickerPreview.js +41 -30
- package/es5/components/VColorPicker/VColorPickerPreview.js.map +1 -1
- package/es5/components/VColorPicker/VColorPickerSwatches.js +13 -10
- package/es5/components/VColorPicker/VColorPickerSwatches.js.map +1 -1
- package/es5/components/VCombobox/VCombobox.js +1 -0
- package/es5/components/VCombobox/VCombobox.js.map +1 -1
- package/es5/components/VContent/VContent.js +25 -6
- package/es5/components/VContent/VContent.js.map +1 -1
- package/es5/components/VCounter/VCounter.js.map +1 -1
- package/es5/components/VData/VData.js +15 -2
- package/es5/components/VData/VData.js.map +1 -1
- package/es5/components/VDataIterator/VDataFooter.js +21 -7
- package/es5/components/VDataIterator/VDataFooter.js.map +1 -1
- package/es5/components/VDataIterator/VDataIterator.js +47 -50
- package/es5/components/VDataIterator/VDataIterator.js.map +1 -1
- package/es5/components/VDataTable/RowGroup.js +46 -15
- package/es5/components/VDataTable/RowGroup.js.map +1 -1
- package/es5/components/VDataTable/VDataTable.js +41 -44
- package/es5/components/VDataTable/VDataTable.js.map +1 -1
- package/es5/components/VDataTable/VDataTableHeader.js +5 -8
- package/es5/components/VDataTable/VDataTableHeader.js.map +1 -1
- package/es5/components/VDataTable/VDataTableHeaderDesktop.js +8 -2
- package/es5/components/VDataTable/VDataTableHeaderDesktop.js.map +1 -1
- package/es5/components/VDataTable/VDataTableHeaderMobile.js +29 -37
- package/es5/components/VDataTable/VDataTableHeaderMobile.js.map +1 -1
- package/es5/components/VDataTable/VEditDialog.js +26 -22
- package/es5/components/VDataTable/VEditDialog.js.map +1 -1
- package/es5/components/VDataTable/VSimpleTable.js +1 -1
- package/es5/components/VDataTable/VSimpleTable.js.map +1 -1
- package/es5/components/VDataTable/VVirtualTable.js +6 -6
- package/es5/components/VDataTable/VVirtualTable.js.map +1 -1
- package/es5/components/VDataTable/mixins/header.js +7 -9
- package/es5/components/VDataTable/mixins/header.js.map +1 -1
- package/es5/components/VDatePicker/VDatePicker.js +51 -36
- package/es5/components/VDatePicker/VDatePicker.js.map +1 -1
- package/es5/components/VDatePicker/VDatePickerHeader.js +68 -24
- package/es5/components/VDatePicker/VDatePickerHeader.js.map +1 -1
- package/es5/components/VDatePicker/VDatePickerMonthTable.js +6 -3
- package/es5/components/VDatePicker/VDatePickerMonthTable.js.map +1 -1
- package/es5/components/VDatePicker/VDatePickerTitle.js +61 -16
- package/es5/components/VDatePicker/VDatePickerTitle.js.map +1 -1
- package/es5/components/VDatePicker/VDatePickerYears.js +47 -23
- package/es5/components/VDatePicker/VDatePickerYears.js.map +1 -1
- package/es5/components/VDatePicker/mixins/date-picker-table.js +52 -31
- package/es5/components/VDatePicker/mixins/date-picker-table.js.map +1 -1
- package/es5/components/VDatePicker/util/createNativeLocaleFormatter.js +4 -0
- package/es5/components/VDatePicker/util/createNativeLocaleFormatter.js.map +1 -1
- package/es5/components/VDatePicker/util/eventHelpers.js +27 -17
- package/es5/components/VDatePicker/util/eventHelpers.js.map +1 -1
- package/es5/components/VDialog/VDialog.js +59 -33
- package/es5/components/VDialog/VDialog.js.map +1 -1
- package/es5/components/VExpansionPanel/VExpansionPanel.js +1 -0
- package/es5/components/VExpansionPanel/VExpansionPanel.js.map +1 -1
- package/es5/components/VExpansionPanel/VExpansionPanelContent.js +12 -10
- package/es5/components/VExpansionPanel/VExpansionPanelContent.js.map +1 -1
- package/es5/components/VExpansionPanel/VExpansionPanelHeader.js +17 -20
- package/es5/components/VExpansionPanel/VExpansionPanelHeader.js.map +1 -1
- package/es5/components/VFileInput/VFileInput.js +50 -27
- package/es5/components/VFileInput/VFileInput.js.map +1 -1
- package/es5/components/VFooter/VFooter.js +1 -1
- package/es5/components/VFooter/VFooter.js.map +1 -1
- package/es5/components/VForm/VForm.js +45 -30
- package/es5/components/VForm/VForm.js.map +1 -1
- package/es5/components/VGrid/VCol.js +6 -4
- package/es5/components/VGrid/VCol.js.map +1 -1
- package/es5/components/VGrid/VContainer.js +27 -10
- package/es5/components/VGrid/VContainer.js.map +1 -1
- package/es5/components/VGrid/VRow.js +1 -1
- package/es5/components/VGrid/VRow.js.map +1 -1
- package/es5/components/VGrid/grid.js +35 -15
- package/es5/components/VGrid/grid.js.map +1 -1
- package/es5/components/VHover/VHover.js +24 -17
- package/es5/components/VHover/VHover.js.map +1 -1
- package/es5/components/VIcon/VIcon.js +77 -53
- package/es5/components/VIcon/VIcon.js.map +1 -1
- package/es5/components/VImg/VImg.js +10 -8
- package/es5/components/VImg/VImg.js.map +1 -1
- package/es5/components/VInput/VInput.js +65 -12
- package/es5/components/VInput/VInput.js.map +1 -1
- package/es5/components/VItemGroup/VItem.js +21 -17
- package/es5/components/VItemGroup/VItem.js.map +1 -1
- package/es5/components/VItemGroup/VItemGroup.js +11 -2
- package/es5/components/VItemGroup/VItemGroup.js.map +1 -1
- package/es5/components/VLabel/VLabel.js +3 -1
- package/es5/components/VLabel/VLabel.js.map +1 -1
- package/es5/components/VLazy/VLazy.js +8 -15
- package/es5/components/VLazy/VLazy.js.map +1 -1
- package/es5/components/VList/VList.js +2 -2
- package/es5/components/VList/VList.js.map +1 -1
- package/es5/components/VList/VListGroup.js +73 -40
- package/es5/components/VList/VListGroup.js.map +1 -1
- package/es5/components/VList/VListItem.js +63 -18
- package/es5/components/VList/VListItem.js.map +1 -1
- package/es5/components/VList/VListItemAction.js +23 -9
- package/es5/components/VList/VListItemAction.js.map +1 -1
- package/es5/components/VList/VListItemIcon.js +3 -1
- package/es5/components/VList/VListItemIcon.js.map +1 -1
- package/es5/components/VMain/VMain.js +1 -1
- package/es5/components/VMain/VMain.js.map +1 -1
- package/es5/components/VMenu/VMenu.js +62 -32
- package/es5/components/VMenu/VMenu.js.map +1 -1
- package/es5/components/VMessages/VMessages.js +33 -6
- package/es5/components/VMessages/VMessages.js.map +1 -1
- package/es5/components/VNavigationDrawer/VNavigationDrawer.js +41 -19
- package/es5/components/VNavigationDrawer/VNavigationDrawer.js.map +1 -1
- package/es5/components/VOtpInput/VOtpInput.js +87 -34
- package/es5/components/VOtpInput/VOtpInput.js.map +1 -1
- package/es5/components/VOverflowBtn/VOverflowBtn.js +18 -14
- package/es5/components/VOverflowBtn/VOverflowBtn.js.map +1 -1
- package/es5/components/VOverlay/VOverlay.js +31 -3
- package/es5/components/VOverlay/VOverlay.js.map +1 -1
- package/es5/components/VPagination/VPagination.js +48 -27
- package/es5/components/VPagination/VPagination.js.map +1 -1
- package/es5/components/VPicker/VPicker.js +7 -4
- package/es5/components/VPicker/VPicker.js.map +1 -1
- package/es5/components/VProgressCircular/VProgressCircular.js +6 -13
- package/es5/components/VProgressCircular/VProgressCircular.js.map +1 -1
- package/es5/components/VProgressLinear/VProgressLinear.js +51 -30
- package/es5/components/VProgressLinear/VProgressLinear.js.map +1 -1
- package/es5/components/VRadioGroup/VRadio.js +11 -2
- package/es5/components/VRadioGroup/VRadio.js.map +1 -1
- package/es5/components/VRadioGroup/VRadioGroup.js +30 -2
- package/es5/components/VRadioGroup/VRadioGroup.js.map +1 -1
- package/es5/components/VRangeSlider/VRangeSlider.js +57 -32
- package/es5/components/VRangeSlider/VRangeSlider.js.map +1 -1
- package/es5/components/VRating/VRating.js +45 -17
- package/es5/components/VRating/VRating.js.map +1 -1
- package/es5/components/VSelect/VSelect.js +161 -81
- package/es5/components/VSelect/VSelect.js.map +1 -1
- package/es5/components/VSelect/VSelectList.js +109 -44
- package/es5/components/VSelect/VSelectList.js.map +1 -1
- package/es5/components/VSheet/VSheet.js +3 -1
- package/es5/components/VSheet/VSheet.js.map +1 -1
- package/es5/components/VSlideGroup/VSlideGroup.js +40 -28
- package/es5/components/VSlideGroup/VSlideGroup.js.map +1 -1
- package/es5/components/VSlideGroup/VSlideItem.js +2 -1
- package/es5/components/VSlideGroup/VSlideItem.js.map +1 -1
- package/es5/components/VSlider/VSlider.js +73 -41
- package/es5/components/VSlider/VSlider.js.map +1 -1
- package/es5/components/VSnackbar/VSnackbar.js +8 -3
- package/es5/components/VSnackbar/VSnackbar.js.map +1 -1
- package/es5/components/VSparkline/VSparkline.js +48 -68
- package/es5/components/VSparkline/VSparkline.js.map +1 -1
- package/es5/components/VSpeedDial/VSpeedDial.js +13 -17
- package/es5/components/VSpeedDial/VSpeedDial.js.map +1 -1
- package/es5/components/VStepper/VStepper.js +3 -2
- package/es5/components/VStepper/VStepper.js.map +1 -1
- package/es5/components/VStepper/VStepperContent.js +9 -8
- package/es5/components/VStepper/VStepperContent.js.map +1 -1
- package/es5/components/VStepper/VStepperStep.js +12 -20
- package/es5/components/VStepper/VStepperStep.js.map +1 -1
- package/es5/components/VSubheader/VSubheader.js +1 -1
- package/es5/components/VSubheader/VSubheader.js.map +1 -1
- package/es5/components/VSwitch/VSwitch.js +11 -9
- package/es5/components/VSwitch/VSwitch.js.map +1 -1
- package/es5/components/VTabs/VTab.js +1 -0
- package/es5/components/VTabs/VTab.js.map +1 -1
- package/es5/components/VTabs/VTabs.js +68 -24
- package/es5/components/VTabs/VTabs.js.map +1 -1
- package/es5/components/VTabs/VTabsBar.js +3 -0
- package/es5/components/VTabs/VTabsBar.js.map +1 -1
- package/es5/components/VTabs/VTabsItems.js +1 -0
- package/es5/components/VTabs/VTabsItems.js.map +1 -1
- package/es5/components/VTextField/VTextField.js +42 -29
- package/es5/components/VTextField/VTextField.js.map +1 -1
- package/es5/components/VTextarea/VTextarea.js +1 -1
- package/es5/components/VTextarea/VTextarea.js.map +1 -1
- package/es5/components/VTimePicker/VTimePicker.js +72 -44
- package/es5/components/VTimePicker/VTimePicker.js.map +1 -1
- package/es5/components/VTimePicker/VTimePickerClock.js +37 -48
- package/es5/components/VTimePicker/VTimePickerClock.js.map +1 -1
- package/es5/components/VTimePicker/VTimePickerTitle.js +13 -11
- package/es5/components/VTimePicker/VTimePickerTitle.js.map +1 -1
- package/es5/components/VToolbar/VToolbar.js +3 -6
- package/es5/components/VToolbar/VToolbar.js.map +1 -1
- package/es5/components/VTooltip/VTooltip.js +14 -20
- package/es5/components/VTooltip/VTooltip.js.map +1 -1
- package/es5/components/VTreeview/VTreeview.js +24 -18
- package/es5/components/VTreeview/VTreeview.js.map +1 -1
- package/es5/components/VTreeview/VTreeviewNode.js +12 -6
- package/es5/components/VTreeview/VTreeviewNode.js.map +1 -1
- package/es5/components/VVirtualScroll/VVirtualScroll.js +15 -19
- package/es5/components/VVirtualScroll/VVirtualScroll.js.map +1 -1
- package/es5/components/VWindow/VWindow.js +13 -8
- package/es5/components/VWindow/VWindow.js.map +1 -1
- package/es5/components/VWindow/VWindowItem.js +10 -10
- package/es5/components/VWindow/VWindowItem.js.map +1 -1
- package/es5/components/transitions/createTransition.js +8 -2
- package/es5/components/transitions/createTransition.js.map +1 -1
- package/es5/components/transitions/expand-transition.js +1 -0
- package/es5/components/transitions/expand-transition.js.map +1 -1
- package/es5/directives/color/index.js +6 -3
- package/es5/directives/color/index.js.map +1 -1
- package/es5/directives/intersect/index.js +20 -7
- package/es5/directives/intersect/index.js.map +1 -1
- package/es5/directives/mutate/index.js +13 -13
- package/es5/directives/mutate/index.js.map +1 -1
- package/es5/directives/resize/index.js +8 -8
- package/es5/directives/resize/index.js.map +1 -1
- package/es5/directives/ripple/index.js +5 -2
- package/es5/directives/ripple/index.js.map +1 -1
- package/es5/directives/scroll/index.js +8 -8
- package/es5/directives/scroll/index.js.map +1 -1
- package/es5/directives/touch/index.js +11 -8
- package/es5/directives/touch/index.js.map +1 -1
- package/es5/framework.js +1 -1
- package/es5/install.js +10 -33
- package/es5/install.js.map +1 -1
- package/es5/mixins/activatable/index.js +11 -13
- package/es5/mixins/activatable/index.js.map +1 -1
- package/es5/mixins/applicationable/index.js +4 -4
- package/es5/mixins/applicationable/index.js.map +1 -1
- package/es5/mixins/binds-attrs/index.js +1 -1
- package/es5/mixins/binds-attrs/index.js.map +1 -1
- package/es5/mixins/bootable/index.js +1 -2
- package/es5/mixins/bootable/index.js.map +1 -1
- package/es5/mixins/detachable/index.js +13 -10
- package/es5/mixins/detachable/index.js.map +1 -1
- package/es5/mixins/groupable/index.js +6 -2
- package/es5/mixins/groupable/index.js.map +1 -1
- package/es5/mixins/intersectable/index.js +2 -2
- package/es5/mixins/intersectable/index.js.map +1 -1
- package/es5/mixins/menuable/index.js +1 -1
- package/es5/mixins/menuable/index.js.map +1 -1
- package/es5/mixins/mouse/index.js +10 -5
- package/es5/mixins/mouse/index.js.map +1 -1
- package/es5/mixins/overlayable/index.js +5 -3
- package/es5/mixins/overlayable/index.js.map +1 -1
- package/es5/mixins/picker/index.js +13 -3
- package/es5/mixins/picker/index.js.map +1 -1
- package/es5/mixins/positionable/index.js.map +1 -1
- package/es5/mixins/proxyable/index.js +5 -2
- package/es5/mixins/proxyable/index.js.map +1 -1
- package/es5/mixins/registrable/index.js.map +1 -1
- package/es5/mixins/routable/index.js +5 -2
- package/es5/mixins/routable/index.js.map +1 -1
- package/es5/mixins/selectable/index.js +9 -7
- package/es5/mixins/selectable/index.js.map +1 -1
- package/es5/mixins/toggleable/index.js.map +1 -1
- package/es5/mixins/translatable/index.js +1 -1
- package/es5/mixins/translatable/index.js.map +1 -1
- package/es5/mixins/validatable/index.js +34 -7
- package/es5/mixins/validatable/index.js.map +1 -1
- package/es5/services/goto/util.js +42 -3
- package/es5/services/goto/util.js.map +1 -1
- package/es5/services/theme/index.js +20 -71
- package/es5/services/theme/index.js.map +1 -1
- package/es5/util/console.js +49 -18
- package/es5/util/console.js.map +1 -1
- package/es5/util/helpers.js +58 -3
- package/es5/util/helpers.js.map +1 -1
- package/es5/util/legacyEventsMixin.js +48 -0
- package/es5/util/legacyEventsMixin.js.map +1 -0
- package/es5/util/mergeData.js +6 -5
- package/es5/util/mergeData.js.map +1 -1
- package/es5/util/mixins.js +4 -3
- package/es5/util/mixins.js.map +1 -1
- package/lib/components/VAlert/VAlert.js +13 -7
- package/lib/components/VAlert/VAlert.js.map +1 -1
- package/lib/components/VAppBar/VAppBar.js +23 -16
- package/lib/components/VAppBar/VAppBar.js.map +1 -1
- package/lib/components/VAppBar/VAppBarNavIcon.js +1 -1
- package/lib/components/VAppBar/VAppBarNavIcon.js.map +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.js +12 -8
- package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
- package/lib/components/VBadge/VBadge.js +26 -13
- package/lib/components/VBadge/VBadge.js.map +1 -1
- package/lib/components/VBanner/VBanner.js +20 -13
- package/lib/components/VBanner/VBanner.js.map +1 -1
- package/lib/components/VBottomNavigation/VBottomNavigation.js +19 -15
- package/lib/components/VBottomNavigation/VBottomNavigation.js.map +1 -1
- package/lib/components/VBreadcrumbs/VBreadcrumbs.js +7 -5
- package/lib/components/VBreadcrumbs/VBreadcrumbs.js.map +1 -1
- package/lib/components/VBreadcrumbs/VBreadcrumbsItem.js +4 -0
- package/lib/components/VBreadcrumbs/VBreadcrumbsItem.js.map +1 -1
- package/lib/components/VBtn/VBtn.js +21 -20
- package/lib/components/VBtn/VBtn.js.map +1 -1
- package/lib/components/VCalendar/VCalendar.js +26 -31
- package/lib/components/VCalendar/VCalendar.js.map +1 -1
- package/lib/components/VCalendar/VCalendarCategory.js +8 -10
- package/lib/components/VCalendar/VCalendarCategory.js.map +1 -1
- package/lib/components/VCalendar/VCalendarDaily.js +21 -33
- package/lib/components/VCalendar/VCalendarDaily.js.map +1 -1
- package/lib/components/VCalendar/VCalendarMonthly.js +2 -2
- package/lib/components/VCalendar/VCalendarMonthly.js.map +1 -1
- package/lib/components/VCalendar/VCalendarWeekly.js +28 -36
- package/lib/components/VCalendar/VCalendarWeekly.js.map +1 -1
- package/lib/components/VCalendar/mixins/calendar-base.js +7 -11
- package/lib/components/VCalendar/mixins/calendar-base.js.map +1 -1
- package/lib/components/VCalendar/mixins/calendar-with-events.js +16 -39
- package/lib/components/VCalendar/mixins/calendar-with-events.js.map +1 -1
- package/lib/components/VCalendar/mixins/calendar-with-intervals.js +2 -2
- package/lib/components/VCalendar/mixins/calendar-with-intervals.js.map +1 -1
- package/lib/components/VCalendar/mixins/times.js.map +1 -1
- package/lib/components/VCarousel/VCarousel.js +36 -16
- package/lib/components/VCarousel/VCarousel.js.map +1 -1
- package/lib/components/VCarousel/VCarouselItem.js +1 -1
- package/lib/components/VCarousel/VCarouselItem.js.map +1 -1
- package/lib/components/VCheckbox/VCheckbox.js +19 -9
- package/lib/components/VCheckbox/VCheckbox.js.map +1 -1
- package/lib/components/VCheckbox/VSimpleCheckbox.js +83 -39
- package/lib/components/VCheckbox/VSimpleCheckbox.js.map +1 -1
- package/lib/components/VChip/VChip.js +17 -8
- package/lib/components/VChip/VChip.js.map +1 -1
- package/lib/components/VColorPicker/VColorPicker.js +47 -44
- package/lib/components/VColorPicker/VColorPicker.js.map +1 -1
- package/lib/components/VColorPicker/VColorPickerCanvas.js +41 -43
- package/lib/components/VColorPicker/VColorPickerCanvas.js.map +1 -1
- package/lib/components/VColorPicker/VColorPickerEdit.js +25 -31
- package/lib/components/VColorPicker/VColorPickerEdit.js.map +1 -1
- package/lib/components/VColorPicker/VColorPickerPreview.js +45 -32
- package/lib/components/VColorPicker/VColorPickerPreview.js.map +1 -1
- package/lib/components/VColorPicker/VColorPickerSwatches.js +15 -9
- package/lib/components/VColorPicker/VColorPickerSwatches.js.map +1 -1
- package/lib/components/VCombobox/VCombobox.js +1 -0
- package/lib/components/VCombobox/VCombobox.js.map +1 -1
- package/lib/components/VContent/VContent.js +19 -4
- package/lib/components/VContent/VContent.js.map +1 -1
- package/lib/components/VCounter/VCounter.js.map +1 -1
- package/lib/components/VData/VData.js +16 -2
- package/lib/components/VData/VData.js.map +1 -1
- package/lib/components/VDataIterator/VDataFooter.js +15 -7
- package/lib/components/VDataIterator/VDataFooter.js.map +1 -1
- package/lib/components/VDataIterator/VDataIterator.js +31 -34
- package/lib/components/VDataIterator/VDataIterator.js.map +1 -1
- package/lib/components/VDataTable/RowGroup.js +30 -14
- package/lib/components/VDataTable/RowGroup.js.map +1 -1
- package/lib/components/VDataTable/VDataTable.js +20 -33
- package/lib/components/VDataTable/VDataTable.js.map +1 -1
- package/lib/components/VDataTable/VDataTableHeader.js +7 -9
- package/lib/components/VDataTable/VDataTableHeader.js.map +1 -1
- package/lib/components/VDataTable/VDataTableHeaderDesktop.js +7 -1
- package/lib/components/VDataTable/VDataTableHeaderDesktop.js.map +1 -1
- package/lib/components/VDataTable/VDataTableHeaderMobile.js +18 -25
- package/lib/components/VDataTable/VDataTableHeaderMobile.js.map +1 -1
- package/lib/components/VDataTable/VEditDialog.js +18 -18
- package/lib/components/VDataTable/VEditDialog.js.map +1 -1
- package/lib/components/VDataTable/VSimpleTable.js +1 -1
- package/lib/components/VDataTable/VSimpleTable.js.map +1 -1
- package/lib/components/VDataTable/VVirtualTable.js +2 -3
- package/lib/components/VDataTable/VVirtualTable.js.map +1 -1
- package/lib/components/VDataTable/mixins/header.js +3 -8
- package/lib/components/VDataTable/mixins/header.js.map +1 -1
- package/lib/components/VDatePicker/VDatePicker.js +38 -27
- package/lib/components/VDatePicker/VDatePicker.js.map +1 -1
- package/lib/components/VDatePicker/VDatePickerHeader.js +45 -21
- package/lib/components/VDatePicker/VDatePickerHeader.js.map +1 -1
- package/lib/components/VDatePicker/VDatePickerMonthTable.js +3 -1
- package/lib/components/VDatePicker/VDatePickerMonthTable.js.map +1 -1
- package/lib/components/VDatePicker/VDatePickerTitle.js +34 -11
- package/lib/components/VDatePicker/VDatePickerTitle.js.map +1 -1
- package/lib/components/VDatePicker/VDatePickerYears.js +17 -8
- package/lib/components/VDatePicker/VDatePickerYears.js.map +1 -1
- package/lib/components/VDatePicker/mixins/date-picker-table.js +31 -16
- package/lib/components/VDatePicker/mixins/date-picker-table.js.map +1 -1
- package/lib/components/VDatePicker/util/createNativeLocaleFormatter.js +4 -0
- package/lib/components/VDatePicker/util/createNativeLocaleFormatter.js.map +1 -1
- package/lib/components/VDatePicker/util/eventHelpers.js +26 -14
- package/lib/components/VDatePicker/util/eventHelpers.js.map +1 -1
- package/lib/components/VDialog/VDialog.js +13 -5
- package/lib/components/VDialog/VDialog.js.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanel.js +1 -0
- package/lib/components/VExpansionPanel/VExpansionPanel.js.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanelContent.js +2 -2
- package/lib/components/VExpansionPanel/VExpansionPanelContent.js.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanelHeader.js +4 -7
- package/lib/components/VExpansionPanel/VExpansionPanelHeader.js.map +1 -1
- package/lib/components/VFileInput/VFileInput.js +43 -25
- package/lib/components/VFileInput/VFileInput.js.map +1 -1
- package/lib/components/VFooter/VFooter.js +2 -2
- package/lib/components/VFooter/VFooter.js.map +1 -1
- package/lib/components/VForm/VForm.js +41 -26
- package/lib/components/VForm/VForm.js.map +1 -1
- package/lib/components/VGrid/VCol.js +7 -5
- package/lib/components/VGrid/VCol.js.map +1 -1
- package/lib/components/VGrid/VContainer.js +14 -10
- package/lib/components/VGrid/VContainer.js.map +1 -1
- package/lib/components/VGrid/VRow.js +2 -2
- package/lib/components/VGrid/VRow.js.map +1 -1
- package/lib/components/VGrid/grid.js +16 -14
- package/lib/components/VGrid/grid.js.map +1 -1
- package/lib/components/VHover/VHover.js +24 -18
- package/lib/components/VHover/VHover.js.map +1 -1
- package/lib/components/VIcon/VIcon.js +79 -57
- package/lib/components/VIcon/VIcon.js.map +1 -1
- package/lib/components/VImg/VImg.js +5 -9
- package/lib/components/VImg/VImg.js.map +1 -1
- package/lib/components/VInput/VInput.js +32 -9
- package/lib/components/VInput/VInput.js.map +1 -1
- package/lib/components/VItemGroup/VItem.js +25 -21
- package/lib/components/VItemGroup/VItem.js.map +1 -1
- package/lib/components/VItemGroup/VItemGroup.js +13 -3
- package/lib/components/VItemGroup/VItemGroup.js.map +1 -1
- package/lib/components/VLabel/VLabel.js +3 -1
- package/lib/components/VLabel/VLabel.js.map +1 -1
- package/lib/components/VLazy/VLazy.js +9 -16
- package/lib/components/VLazy/VLazy.js.map +1 -1
- package/lib/components/VList/VList.js +3 -3
- package/lib/components/VList/VList.js.map +1 -1
- package/lib/components/VList/VListGroup.js +34 -32
- package/lib/components/VList/VListGroup.js.map +1 -1
- package/lib/components/VList/VListItem.js +41 -19
- package/lib/components/VList/VListItem.js.map +1 -1
- package/lib/components/VList/VListItemAction.js +15 -9
- package/lib/components/VList/VListItemAction.js.map +1 -1
- package/lib/components/VList/VListItemIcon.js +3 -1
- package/lib/components/VList/VListItemIcon.js.map +1 -1
- package/lib/components/VMain/VMain.js +2 -2
- package/lib/components/VMain/VMain.js.map +1 -1
- package/lib/components/VMenu/VMenu.js +18 -6
- package/lib/components/VMenu/VMenu.js.map +1 -1
- package/lib/components/VMessages/VMessages.js +13 -2
- package/lib/components/VMessages/VMessages.js.map +1 -1
- package/lib/components/VNavigationDrawer/VNavigationDrawer.js +17 -12
- package/lib/components/VNavigationDrawer/VNavigationDrawer.js.map +1 -1
- package/lib/components/VOtpInput/VOtpInput.js +103 -35
- package/lib/components/VOtpInput/VOtpInput.js.map +1 -1
- package/lib/components/VOverflowBtn/VOverflowBtn.js +16 -15
- package/lib/components/VOverflowBtn/VOverflowBtn.js.map +1 -1
- package/lib/components/VOverlay/VOverlay.js +13 -2
- package/lib/components/VOverlay/VOverlay.js.map +1 -1
- package/lib/components/VPagination/VPagination.js +28 -23
- package/lib/components/VPagination/VPagination.js.map +1 -1
- package/lib/components/VPicker/VPicker.js +4 -4
- package/lib/components/VPicker/VPicker.js.map +1 -1
- package/lib/components/VProgressCircular/VProgressCircular.js +6 -7
- package/lib/components/VProgressCircular/VProgressCircular.js.map +1 -1
- package/lib/components/VProgressLinear/VProgressLinear.js +45 -22
- package/lib/components/VProgressLinear/VProgressLinear.js.map +1 -1
- package/lib/components/VRadioGroup/VRadio.js +3 -2
- package/lib/components/VRadioGroup/VRadio.js.map +1 -1
- package/lib/components/VRadioGroup/VRadioGroup.js +14 -5
- package/lib/components/VRadioGroup/VRadioGroup.js.map +1 -1
- package/lib/components/VRangeSlider/VRangeSlider.js +17 -5
- package/lib/components/VRangeSlider/VRangeSlider.js.map +1 -1
- package/lib/components/VRating/VRating.js +11 -0
- package/lib/components/VRating/VRating.js.map +1 -1
- package/lib/components/VSelect/VSelect.js +104 -42
- package/lib/components/VSelect/VSelect.js.map +1 -1
- package/lib/components/VSelect/VSelectList.js +64 -29
- package/lib/components/VSelect/VSelectList.js.map +1 -1
- package/lib/components/VSheet/VSheet.js +3 -2
- package/lib/components/VSheet/VSheet.js.map +1 -1
- package/lib/components/VSlideGroup/VSlideGroup.js +23 -23
- package/lib/components/VSlideGroup/VSlideGroup.js.map +1 -1
- package/lib/components/VSlideGroup/VSlideItem.js +2 -1
- package/lib/components/VSlideGroup/VSlideItem.js.map +1 -1
- package/lib/components/VSlider/VSlider.js +37 -25
- package/lib/components/VSlider/VSlider.js.map +1 -1
- package/lib/components/VSnackbar/VSnackbar.js +2 -1
- package/lib/components/VSnackbar/VSnackbar.js.map +1 -1
- package/lib/components/VSparkline/VSparkline.js +48 -67
- package/lib/components/VSparkline/VSparkline.js.map +1 -1
- package/lib/components/VSpeedDial/VSpeedDial.js +9 -15
- package/lib/components/VSpeedDial/VSpeedDial.js.map +1 -1
- package/lib/components/VStepper/VStepper.js +4 -3
- package/lib/components/VStepper/VStepper.js.map +1 -1
- package/lib/components/VStepper/VStepperContent.js +7 -8
- package/lib/components/VStepper/VStepperContent.js.map +1 -1
- package/lib/components/VStepper/VStepperStep.js +8 -19
- package/lib/components/VStepper/VStepperStep.js.map +1 -1
- package/lib/components/VSubheader/VSubheader.js +1 -1
- package/lib/components/VSubheader/VSubheader.js.map +1 -1
- package/lib/components/VSwitch/VSwitch.js +2 -4
- package/lib/components/VSwitch/VSwitch.js.map +1 -1
- package/lib/components/VTabs/VTab.js +1 -0
- package/lib/components/VTabs/VTab.js.map +1 -1
- package/lib/components/VTabs/VTabs.js +34 -8
- package/lib/components/VTabs/VTabs.js.map +1 -1
- package/lib/components/VTabs/VTabsBar.js +3 -0
- package/lib/components/VTabs/VTabsBar.js.map +1 -1
- package/lib/components/VTabs/VTabsItems.js +1 -0
- package/lib/components/VTabs/VTabsItems.js.map +1 -1
- package/lib/components/VTextField/VTextField.js +15 -19
- package/lib/components/VTextField/VTextField.js.map +1 -1
- package/lib/components/VTextarea/VTextarea.js +1 -1
- package/lib/components/VTextarea/VTextarea.js.map +1 -1
- package/lib/components/VTimePicker/VTimePicker.js +65 -31
- package/lib/components/VTimePicker/VTimePicker.js.map +1 -1
- package/lib/components/VTimePicker/VTimePickerClock.js +24 -39
- package/lib/components/VTimePicker/VTimePickerClock.js.map +1 -1
- package/lib/components/VTimePicker/VTimePickerTitle.js +3 -2
- package/lib/components/VTimePicker/VTimePickerTitle.js.map +1 -1
- package/lib/components/VToolbar/VToolbar.js +6 -7
- package/lib/components/VToolbar/VToolbar.js.map +1 -1
- package/lib/components/VTooltip/VTooltip.js +11 -22
- package/lib/components/VTooltip/VTooltip.js.map +1 -1
- package/lib/components/VTreeview/VTreeview.js +15 -13
- package/lib/components/VTreeview/VTreeview.js.map +1 -1
- package/lib/components/VTreeview/VTreeviewNode.js +4 -6
- package/lib/components/VTreeview/VTreeviewNode.js.map +1 -1
- package/lib/components/VVirtualScroll/VVirtualScroll.js +8 -14
- package/lib/components/VVirtualScroll/VVirtualScroll.js.map +1 -1
- package/lib/components/VWindow/VWindow.js +7 -6
- package/lib/components/VWindow/VWindow.js.map +1 -1
- package/lib/components/VWindow/VWindowItem.js +5 -7
- package/lib/components/VWindow/VWindowItem.js.map +1 -1
- package/lib/components/transitions/createTransition.js +2 -2
- package/lib/components/transitions/createTransition.js.map +1 -1
- package/lib/components/transitions/expand-transition.js +1 -0
- package/lib/components/transitions/expand-transition.js.map +1 -1
- package/lib/directives/color/index.js +6 -3
- package/lib/directives/color/index.js.map +1 -1
- package/lib/directives/intersect/index.js +20 -7
- package/lib/directives/intersect/index.js.map +1 -1
- package/lib/directives/mutate/index.js +13 -13
- package/lib/directives/mutate/index.js.map +1 -1
- package/lib/directives/resize/index.js +8 -8
- package/lib/directives/resize/index.js.map +1 -1
- package/lib/directives/ripple/index.js +5 -3
- package/lib/directives/ripple/index.js.map +1 -1
- package/lib/directives/scroll/index.js +8 -8
- package/lib/directives/scroll/index.js.map +1 -1
- package/lib/directives/touch/index.js +11 -8
- package/lib/directives/touch/index.js.map +1 -1
- package/lib/framework.js +1 -1
- package/lib/install.js +5 -28
- package/lib/install.js.map +1 -1
- package/lib/mixins/activatable/index.js +13 -14
- package/lib/mixins/activatable/index.js.map +1 -1
- package/lib/mixins/applicationable/index.js +4 -4
- package/lib/mixins/applicationable/index.js.map +1 -1
- package/lib/mixins/binds-attrs/index.js +1 -1
- package/lib/mixins/binds-attrs/index.js.map +1 -1
- package/lib/mixins/bootable/index.js +2 -4
- package/lib/mixins/bootable/index.js.map +1 -1
- package/lib/mixins/detachable/index.js +14 -11
- package/lib/mixins/detachable/index.js.map +1 -1
- package/lib/mixins/groupable/index.js +4 -2
- package/lib/mixins/groupable/index.js.map +1 -1
- package/lib/mixins/intersectable/index.js +2 -2
- package/lib/mixins/intersectable/index.js.map +1 -1
- package/lib/mixins/menuable/index.js +1 -1
- package/lib/mixins/menuable/index.js.map +1 -1
- package/lib/mixins/mouse/index.js +9 -5
- package/lib/mixins/mouse/index.js.map +1 -1
- package/lib/mixins/overlayable/index.js +4 -2
- package/lib/mixins/overlayable/index.js.map +1 -1
- package/lib/mixins/picker/index.js +5 -3
- package/lib/mixins/picker/index.js.map +1 -1
- package/lib/mixins/positionable/index.js.map +1 -1
- package/lib/mixins/proxyable/index.js +5 -2
- package/lib/mixins/proxyable/index.js.map +1 -1
- package/lib/mixins/registrable/index.js.map +1 -1
- package/lib/mixins/routable/index.js +5 -2
- package/lib/mixins/routable/index.js.map +1 -1
- package/lib/mixins/selectable/index.js +15 -12
- package/lib/mixins/selectable/index.js.map +1 -1
- package/lib/mixins/toggleable/index.js.map +1 -1
- package/lib/mixins/translatable/index.js +1 -1
- package/lib/mixins/translatable/index.js.map +1 -1
- package/lib/mixins/validatable/index.js +17 -7
- package/lib/mixins/validatable/index.js.map +1 -1
- package/lib/services/goto/util.js +42 -3
- package/lib/services/goto/util.js.map +1 -1
- package/lib/services/theme/index.js +18 -64
- package/lib/services/theme/index.js.map +1 -1
- package/lib/util/console.js +47 -17
- package/lib/util/console.js.map +1 -1
- package/lib/util/helpers.js +52 -3
- package/lib/util/helpers.js.map +1 -1
- package/lib/util/legacyEventsMixin.js +37 -0
- package/lib/util/legacyEventsMixin.js.map +1 -0
- package/lib/util/mergeData.js +6 -5
- package/lib/util/mergeData.js.map +1 -1
- package/lib/util/mixins.js +3 -2
- package/lib/util/mixins.js.map +1 -1
- package/package.json +2 -2
- package/src/components/VAlert/VAlert.ts +19 -8
- package/src/components/VAlert/__tests__/VAlert.spec.ts +78 -50
- package/src/components/VAlert/__tests__/__snapshots__/VAlert.spec.ts.snap +18 -20
- package/src/components/VApp/__tests__/VApp.spec.ts +24 -18
- package/src/components/VApp/__tests__/__snapshots__/VApp.spec.ts.snap +4 -4
- package/src/components/VAppBar/VAppBar.ts +21 -14
- package/src/components/VAppBar/VAppBarNavIcon.ts +1 -1
- package/src/components/VAppBar/__tests__/VAppBar.spec.ts +256 -74
- package/src/components/VAppBar/__tests__/VAppBarNavIcon.spec.ts +2 -6
- package/src/components/VAppBar/__tests__/__snapshots__/VAppBar.spec.ts.snap +13 -4
- package/src/components/VAppBar/__tests__/__snapshots__/VAppBarNavIcon.spec.ts.snap +4 -5
- package/src/components/VAutocomplete/VAutocomplete.ts +35 -6
- package/src/components/VAutocomplete/__tests__/VAutocomplete.spec.ts +125 -72
- package/src/components/VAutocomplete/__tests__/VAutocomplete2.spec.ts +109 -82
- package/src/components/VAutocomplete/__tests__/VAutocomplete3.spec.ts +114 -52
- package/src/components/VAvatar/__tests__/VAvatar.spec.ts +72 -10
- package/src/components/VBadge/VBadge.ts +38 -26
- package/src/components/VBadge/__tests__/VBadge.spec.ts +47 -30
- package/src/components/VBadge/__tests__/__snapshots__/VBadge.spec.ts.snap +5 -5
- package/src/components/VBanner/VBanner.ts +30 -17
- package/src/components/VBanner/__tests__/VBanner.spec.ts +35 -36
- package/src/components/VBanner/__tests__/__snapshots__/VBanner.spec.ts.snap +3 -3
- package/src/components/VBottomNavigation/VBottomNavigation.ts +29 -17
- package/src/components/VBottomNavigation/__tests__/VBottomNavigation.spec.ts +43 -37
- package/src/components/VBottomNavigation/__tests__/__snapshots__/VBottomNavigation.spec.ts.snap +10 -10
- package/src/components/VBreadcrumbs/VBreadcrumbs.ts +8 -4
- package/src/components/VBreadcrumbs/VBreadcrumbsItem.ts +4 -0
- package/src/components/VBreadcrumbs/__tests__/VBreadcrumbs.spec.ts +125 -10
- package/src/components/VBreadcrumbs/__tests__/VBreadcrumbsItem.spec.ts +10 -6
- package/src/components/VBtn/VBtn.ts +25 -17
- package/src/components/VBtn/__tests__/VBtn.spec.ts +262 -242
- package/src/components/VBtn/__tests__/__snapshots__/VBtn.spec.ts.snap +13 -73
- package/src/components/VBtnToggle/__tests__/VBtnToggle.spec.ts +10 -6
- package/src/components/VCalendar/VCalendar.ts +29 -27
- package/src/components/VCalendar/VCalendarCategory.ts +9 -8
- package/src/components/VCalendar/VCalendarDaily.ts +18 -28
- package/src/components/VCalendar/VCalendarMonthly.ts +2 -1
- package/src/components/VCalendar/VCalendarWeekly.ts +30 -35
- package/src/components/VCalendar/__tests__/VCalendar.spec.ts +19 -35
- package/src/components/VCalendar/__tests__/VCalendarCategory.spec.ts +21 -19
- package/src/components/VCalendar/__tests__/VCalendarDaily.spec.ts +30 -28
- package/src/components/VCalendar/__tests__/__snapshots__/VCalendar.spec.ts.snap +38 -38
- package/src/components/VCalendar/__tests__/__snapshots__/VCalendarDaily.spec.ts.snap +122 -122
- package/src/components/VCalendar/mixins/__tests__/__snapshots__/calendar-with-events.spec.ts.snap +1 -56
- package/src/components/VCalendar/mixins/__tests__/calendar-base.spec.ts +24 -21
- package/src/components/VCalendar/mixins/__tests__/calendar-with-events.spec.ts +27 -34
- package/src/components/VCalendar/mixins/__tests__/calendar-with-intervals.spec.ts +31 -28
- package/src/components/VCalendar/mixins/__tests__/times.spec.ts +10 -9
- package/src/components/VCalendar/mixins/calendar-base.ts +8 -12
- package/src/components/VCalendar/mixins/calendar-with-events.ts +19 -38
- package/src/components/VCalendar/mixins/calendar-with-intervals.ts +1 -1
- package/src/components/VCalendar/mixins/times.ts +1 -1
- package/src/components/VCard/__tests__/VCard.spec.ts +46 -28
- package/src/components/VCard/__tests__/__snapshots__/VCard.spec.ts.snap +2 -2
- package/src/components/VCarousel/VCarousel.ts +42 -15
- package/src/components/VCarousel/VCarouselItem.ts +1 -1
- package/src/components/VCarousel/__tests__/VCarousel.spec.ts +74 -54
- package/src/components/VCarousel/__tests__/VCarouselItem.spec.ts +9 -5
- package/src/components/VCarousel/__tests__/__snapshots__/VCarousel.spec.ts.snap +1 -1
- package/src/components/VCheckbox/VCheckbox.ts +23 -10
- package/src/components/VCheckbox/VSimpleCheckbox.ts +97 -45
- package/src/components/VCheckbox/__tests__/VCheckbox.spec.ts +163 -152
- package/src/components/VCheckbox/__tests__/VSimpleCheckbox.spec.ts +46 -13
- package/src/components/VCheckbox/__tests__/__snapshots__/VCheckbox.spec.ts.snap +54 -50
- package/src/components/VChip/VChip.ts +19 -15
- package/src/components/VChip/__tests__/VChip.spec.ts +50 -50
- package/src/components/VChip/__tests__/__snapshots__/VChip.spec.ts.snap +4 -4
- package/src/components/VChipGroup/__tests__/VChipGroup.spec.ts +14 -21
- package/src/components/VColorPicker/VColorPicker.ts +51 -41
- package/src/components/VColorPicker/VColorPickerCanvas.ts +44 -37
- package/src/components/VColorPicker/VColorPickerEdit.ts +37 -35
- package/src/components/VColorPicker/VColorPickerPreview.ts +48 -28
- package/src/components/VColorPicker/VColorPickerSwatches.ts +23 -12
- package/src/components/VColorPicker/__tests__/VColorPicker.spec.ts +47 -47
- package/src/components/VColorPicker/__tests__/VColorPickerCanvas.spec.ts +15 -13
- package/src/components/VColorPicker/__tests__/VColorPickerEdit.spec.ts +52 -50
- package/src/components/VColorPicker/__tests__/VColorPickerPreview.spec.ts +101 -30
- package/src/components/VColorPicker/__tests__/__snapshots__/VColorPicker.spec.ts.snap +236 -193
- package/src/components/VColorPicker/__tests__/__snapshots__/VColorPickerEdit.spec.ts.snap +48 -31
- package/src/components/VCombobox/VCombobox.ts +23 -0
- package/src/components/VCombobox/__tests__/VCombobox-multiple.spec.ts +202 -174
- package/src/components/VCombobox/__tests__/VCombobox.spec.ts +126 -95
- package/src/components/VContent/VContent.ts +11 -3
- package/src/components/VCounter/VCounter.ts +1 -1
- package/src/components/VCounter/__tests__/VCounter.spec.ts +10 -25
- package/src/components/VData/VData.ts +14 -1
- package/src/components/VData/__tests__/VData.spec.ts +69 -90
- package/src/components/VDataIterator/VDataFooter.ts +16 -9
- package/src/components/VDataIterator/VDataIterator.ts +51 -35
- package/src/components/VDataIterator/__tests__/VDataFooter.spec.ts +38 -39
- package/src/components/VDataIterator/__tests__/VDataIterator.spec.ts +90 -122
- package/src/components/VDataIterator/__tests__/__snapshots__/VDataFooter.spec.ts.snap +113 -103
- package/src/components/VDataIterator/__tests__/__snapshots__/VDataIterator.spec.ts.snap +94 -84
- package/src/components/VDataTable/RowGroup.ts +33 -16
- package/src/components/VDataTable/VDataTable.ts +20 -29
- package/src/components/VDataTable/VDataTableHeader.ts +8 -9
- package/src/components/VDataTable/VDataTableHeaderDesktop.ts +10 -1
- package/src/components/VDataTable/VDataTableHeaderMobile.ts +18 -25
- package/src/components/VDataTable/VEditDialog.ts +23 -21
- package/src/components/VDataTable/VSimpleTable.ts +2 -3
- package/src/components/VDataTable/VVirtualTable.ts +2 -3
- package/src/components/VDataTable/__tests__/MobileRow.spec.ts +55 -66
- package/src/components/VDataTable/__tests__/Row.spec.ts +64 -73
- package/src/components/VDataTable/__tests__/RowGroup.spec.ts +7 -5
- package/src/components/VDataTable/__tests__/VDataTable.spec.ts +916 -998
- package/src/components/VDataTable/__tests__/VDataTableHeader.spec.ts +41 -35
- package/src/components/VDataTable/__tests__/VEditDialog.spec.ts +52 -40
- package/src/components/VDataTable/__tests__/VSimpleTable.spec.ts +55 -29
- package/src/components/VDataTable/__tests__/VVirtualTable.spec.ts +13 -15
- package/src/components/VDataTable/__tests__/__snapshots__/Row.spec.ts.snap +30 -0
- package/src/components/VDataTable/__tests__/__snapshots__/VDataTable.spec.ts.snap +3348 -2891
- package/src/components/VDataTable/__tests__/__snapshots__/VDataTableHeader.spec.ts.snap +157 -186
- package/src/components/VDataTable/__tests__/__snapshots__/VEditDialog.spec.ts.snap +6 -6
- package/src/components/VDataTable/__tests__/__snapshots__/VSimpleTable.spec.ts.snap +22 -18
- package/src/components/VDataTable/mixins/__tests__/__snapshots__/header.spec.ts.snap +14 -17
- package/src/components/VDataTable/mixins/__tests__/header.spec.ts +17 -17
- package/src/components/VDataTable/mixins/header.ts +6 -10
- package/src/components/VDatePicker/VDatePicker.ts +48 -27
- package/src/components/VDatePicker/VDatePickerHeader.ts +57 -32
- package/src/components/VDatePicker/VDatePickerMonthTable.ts +1 -1
- package/src/components/VDatePicker/VDatePickerTitle.ts +41 -15
- package/src/components/VDatePicker/VDatePickerYears.ts +19 -10
- package/src/components/VDatePicker/__tests__/VDatePicker.date.spec.ts +278 -260
- package/src/components/VDatePicker/__tests__/VDatePicker.month.spec.ts +157 -131
- package/src/components/VDatePicker/__tests__/VDatePickerDateTable.spec.ts +76 -90
- package/src/components/VDatePicker/__tests__/VDatePickerHeader.spec.ts +85 -75
- package/src/components/VDatePicker/__tests__/VDatePickerMonthTable.spec.ts +63 -77
- package/src/components/VDatePicker/__tests__/VDatePickerTitle.spec.ts +56 -32
- package/src/components/VDatePicker/__tests__/VDatePickerYears.spec.ts +29 -26
- package/src/components/VDatePicker/__tests__/__snapshots__/VDatePicker.date.spec.ts.snap +628 -595
- package/src/components/VDatePicker/__tests__/__snapshots__/VDatePicker.month.spec.ts.snap +248 -228
- package/src/components/VDatePicker/__tests__/__snapshots__/VDatePickerDateTable.spec.ts.snap +615 -615
- package/src/components/VDatePicker/__tests__/__snapshots__/VDatePickerHeader.spec.ts.snap +52 -52
- package/src/components/VDatePicker/__tests__/__snapshots__/VDatePickerMonthTable.spec.ts.snap +144 -144
- package/src/components/VDatePicker/__tests__/__snapshots__/VDatePickerTitle.spec.ts.snap +18 -9
- package/src/components/VDatePicker/mixins/date-picker-table.ts +33 -15
- package/src/components/VDatePicker/util/__tests__/createNativeLocaleFormatter.spec.ts +7 -0
- package/src/components/VDatePicker/util/createNativeLocaleFormatter.ts +3 -0
- package/src/components/VDatePicker/util/eventHelpers.ts +33 -13
- package/src/components/VDialog/VDialog.ts +24 -12
- package/src/components/VDialog/__tests__/VDialog.spec.ts +105 -101
- package/src/components/VDialog/__tests__/__snapshots__/VDialog.spec.ts.snap +0 -15
- package/src/components/VDivider/__tests__/VDivider.spec.ts +11 -15
- package/src/components/VDivider/__tests__/__snapshots__/VDivider.spec.ts.snap +2 -2
- package/src/components/VExpansionPanel/VExpansionPanel.ts +5 -0
- package/src/components/VExpansionPanel/VExpansionPanelContent.ts +7 -10
- package/src/components/VExpansionPanel/VExpansionPanelHeader.ts +13 -18
- package/src/components/VExpansionPanel/__tests__/VExpansionPanel.spec.ts +45 -29
- package/src/components/VExpansionPanel/__tests__/VExpansionPanelHeader.spec.ts +6 -4
- package/src/components/VExpansionPanel/__tests__/VExpansionPanels.spec.ts +9 -5
- package/src/components/VExpansionPanel/__tests__/__snapshots__/VExpansionPanel.spec.ts.snap +12 -11
- package/src/components/VFileInput/VFileInput.ts +47 -32
- package/src/components/VFileInput/__tests__/VFileInput.spec.ts +84 -54
- package/src/components/VFileInput/__tests__/__snapshots__/VFileInput.spec.ts.snap +242 -146
- package/src/components/VFooter/VFooter.ts +2 -2
- package/src/components/VFooter/__tests__/VFooter.spec.ts +28 -21
- package/src/components/VForm/VForm.ts +63 -35
- package/src/components/VForm/__tests__/VForm.spec.ts +100 -80
- package/src/components/VGrid/VCol.ts +4 -4
- package/src/components/VGrid/VContainer.ts +16 -12
- package/src/components/VGrid/VRow.ts +2 -2
- package/src/components/VGrid/__tests__/VCol.spec.ts +20 -18
- package/src/components/VGrid/__tests__/VContainer.spec.ts +58 -3
- package/src/components/VGrid/__tests__/VFlex.spec.ts +3 -3
- package/src/components/VGrid/__tests__/VGrid.spec.ts +12 -11
- package/src/components/VGrid/__tests__/VLayout.spec.ts +3 -3
- package/src/components/VGrid/grid.ts +16 -17
- package/src/components/VHover/VHover.ts +23 -17
- package/src/components/VHover/__tests__/VHover.spec.ts +44 -28
- package/src/components/VIcon/VIcon.ts +72 -53
- package/src/components/VIcon/__tests__/VIcon.spec.ts +139 -123
- package/src/components/VIcon/__tests__/__snapshots__/VIcon.spec.ts.snap +19 -74
- package/src/components/VImg/VImg.ts +5 -4
- package/src/components/VImg/__tests__/VImg.spec.ts +21 -20
- package/src/components/VImg/__tests__/__snapshots__/VImg.spec.ts.snap +71 -66
- package/src/components/VInput/VInput.ts +33 -8
- package/src/components/VInput/__tests__/VInput.spec.ts +170 -234
- package/src/components/VInput/__tests__/__snapshots__/VInput.spec.ts.snap +50 -101
- package/src/components/VItemGroup/VItem.ts +30 -24
- package/src/components/VItemGroup/VItemGroup.ts +14 -3
- package/src/components/VItemGroup/__tests__/VItem.spec.ts +39 -46
- package/src/components/VItemGroup/__tests__/VItemGroup.spec.ts +96 -124
- package/src/components/VItemGroup/__tests__/__snapshots__/VItem.spec.ts.snap +2 -0
- package/src/components/VLabel/VLabel.ts +1 -1
- package/src/components/VLabel/__tests__/VLabel.spec.ts +240 -14
- package/src/components/VLazy/VLazy.ts +12 -14
- package/src/components/VLazy/__tests__/VLazy.spec.ts +5 -4
- package/src/components/VLazy/__tests__/__snapshots__/VLazy.spec.ts.snap +2 -1
- package/src/components/VList/VList.ts +3 -3
- package/src/components/VList/VListGroup.ts +43 -32
- package/src/components/VList/VListItem.ts +56 -24
- package/src/components/VList/VListItemAction.ts +11 -10
- package/src/components/VList/VListItemIcon.ts +1 -1
- package/src/components/VList/__tests__/VList.spec.ts +13 -12
- package/src/components/VList/__tests__/VListGroup.spec.ts +58 -50
- package/src/components/VList/__tests__/VListItem.spec.ts +142 -63
- package/src/components/VList/__tests__/VListItemAction.spec.ts +32 -31
- package/src/components/VList/__tests__/VListItemAvatar.spec.ts +5 -2
- package/src/components/VList/__tests__/VListItemGroup.spec.ts +5 -2
- package/src/components/VList/__tests__/__snapshots__/VList.spec.ts.snap +10 -10
- package/src/components/VList/__tests__/__snapshots__/VListGroup.spec.ts.snap +6 -7
- package/src/components/VList/__tests__/__snapshots__/VListItem.spec.ts.snap +1 -1
- package/src/components/VList/__tests__/__snapshots__/VListItemAction.spec.ts.snap +20 -6
- package/src/components/VMain/VMain.ts +2 -2
- package/src/components/VMain/__tests__/VMain.spec.ts +71 -17
- package/src/components/VMenu/VMenu.ts +28 -7
- package/src/components/VMenu/__tests__/VMenu.spec.ts +90 -69
- package/src/components/VMenu/__tests__/__snapshots__/VMenu.spec.ts.snap +3 -5
- package/src/components/VMessages/VMessages.ts +15 -4
- package/src/components/VMessages/__tests__/VMessages.spec.ts +55 -16
- package/src/components/VMessages/__tests__/__snapshots__/VMessages.spec.ts.snap +16 -25
- package/src/components/VNavigationDrawer/VNavigationDrawer.ts +27 -19
- package/src/components/VNavigationDrawer/__tests__/VNavigationDrawer.spec.ts +84 -71
- package/src/components/VOtpInput/VOtpInput.ts +92 -32
- package/src/components/VOtpInput/__tests__/VOtpInput.spec.ts +75 -78
- package/src/components/VOverflowBtn/VOverflowBtn.ts +16 -11
- package/src/components/VOverflowBtn/__tests__/VOverflowBtn.spec.ts +6 -6
- package/src/components/VOverflowBtn/__tests__/__snapshots__/VOverflowBtn.spec.ts.snap +38 -46
- package/src/components/VOverlay/VOverlay.ts +15 -1
- package/src/components/VOverlay/__tests__/VOverlay.spec.ts +6 -6
- package/src/components/VPagination/VPagination.ts +41 -29
- package/src/components/VPagination/__tests__/VPagination.spec.ts +85 -71
- package/src/components/VPagination/__tests__/__snapshots__/VPagination.spec.ts.snap +214 -459
- package/src/components/VParallax/__tests__/__snapshots__/VParallax.spec.ts.snap +8 -8
- package/src/components/VPicker/VPicker.ts +9 -11
- package/src/components/VPicker/__tests__/VPicker.spec.ts +14 -15
- package/src/components/VPicker/__tests__/__snapshots__/VPicker.spec.ts.snap +2 -2
- package/src/components/VProgressCircular/VProgressCircular.ts +6 -6
- package/src/components/VProgressCircular/__tests__/VProgressCircular.spec.ts +28 -21
- package/src/components/VProgressCircular/__tests__/__snapshots__/VProgressCircular.spec.ts.snap +62 -62
- package/src/components/VProgressLinear/VProgressLinear.ts +62 -33
- package/src/components/VProgressLinear/__tests__/VProgressLinear.spec.ts +386 -71
- package/src/components/VProgressLinear/__tests__/__snapshots__/VProgressLinear.spec.ts.snap +53 -79
- package/src/components/VRadioGroup/VRadio.ts +4 -2
- package/src/components/VRadioGroup/VRadioGroup.ts +20 -7
- package/src/components/VRadioGroup/__tests__/VRadio.spec.ts +57 -44
- package/src/components/VRadioGroup/__tests__/VRadioGroup.spec.ts +4 -4
- package/src/components/VRadioGroup/__tests__/__snapshots__/VRadio.spec.ts.snap +29 -33
- package/src/components/VRadioGroup/__tests__/__snapshots__/VRadioGroup.spec.ts.snap +10 -18
- package/src/components/VRangeSlider/VRangeSlider.ts +20 -5
- package/src/components/VRangeSlider/__tests__/VRangeSlider.spec.ts +40 -40
- package/src/components/VRangeSlider/__tests__/__snapshots__/VRangeSlider.spec.ts.snap +32 -38
- package/src/components/VRating/VRating.ts +13 -0
- package/src/components/VRating/__tests__/VRating.spec.ts +24 -29
- package/src/components/VResponsive/__tests__/VResponsive.spec.ts +10 -5
- package/src/components/VResponsive/__tests__/__snapshots__/VResponsive.spec.ts.snap +2 -2
- package/src/components/VSelect/VSelect.ts +110 -48
- package/src/components/VSelect/VSelectList.ts +62 -25
- package/src/components/VSelect/__tests__/VSelect.spec.ts +166 -125
- package/src/components/VSelect/__tests__/VSelect2.spec.ts +129 -113
- package/src/components/VSelect/__tests__/VSelect3.spec.ts +109 -91
- package/src/components/VSelect/__tests__/VSelect4.spec.ts +79 -68
- package/src/components/VSelect/__tests__/VSelectList.spec.ts +23 -31
- package/src/components/VSelect/__tests__/__snapshots__/VSelect.spec.ts.snap +58 -62
- package/src/components/VSelect/__tests__/__snapshots__/VSelect2.spec.ts.snap +48 -60
- package/src/components/VSelect/__tests__/__snapshots__/VSelect3.spec.ts.snap +9 -297
- package/src/components/VSelect/__tests__/__snapshots__/VSelectList.spec.ts.snap +30 -27
- package/src/components/VSheet/VSheet.ts +2 -1
- package/src/components/VSheet/__tests__/VSheet.spec.ts +5 -5
- package/src/components/VSkeletonLoader/__tests__/VSkeletonLoader.spec.ts +22 -15
- package/src/components/VSkeletonLoader/__tests__/__snapshots__/VSkeletonLoader.spec.ts.snap +60 -60
- package/src/components/VSlideGroup/VSlideGroup.ts +36 -24
- package/src/components/VSlideGroup/VSlideItem.ts +2 -0
- package/src/components/VSlideGroup/__tests__/VSlideGroup.spec.ts +70 -62
- package/src/components/VSlideGroup/__tests__/__snapshots__/VSlideGroup.spec.ts.snap +13 -34
- package/src/components/VSlider/VSlider.ts +58 -32
- package/src/components/VSlider/__tests__/VSlider.spec.ts +188 -286
- package/src/components/VSlider/__tests__/__snapshots__/VSlider.spec.ts.snap +157 -246
- package/src/components/VSnackbar/VSnackbar.ts +2 -2
- package/src/components/VSnackbar/__tests__/VSnackbar.spec.ts +46 -37
- package/src/components/VSparkline/VSparkline.ts +54 -92
- package/src/components/VSparkline/__tests__/VSparkline.spec.ts +33 -35
- package/src/components/VSpeedDial/VSpeedDial.ts +12 -15
- package/src/components/VSpeedDial/__tests__/VSpeedDial.spec.ts +21 -13
- package/src/components/VSpeedDial/__tests__/__snapshots__/VSpeedDial.spec.ts.snap +6 -6
- package/src/components/VStepper/VStepper.ts +7 -5
- package/src/components/VStepper/VStepperContent.ts +10 -16
- package/src/components/VStepper/VStepperStep.ts +9 -16
- package/src/components/VStepper/__tests__/VStepper.spec.ts +7 -4
- package/src/components/VStepper/__tests__/VStepperContent.spec.ts +120 -107
- package/src/components/VStepper/__tests__/VStepperStep.spec.ts +51 -44
- package/src/components/VStepper/__tests__/__snapshots__/VStepperStep.spec.ts.snap +10 -12
- package/src/components/VSubheader/VSubheader.ts +1 -1
- package/src/components/VSubheader/__tests__/VSubheader.spec.ts +12 -7
- package/src/components/VSubheader/__tests__/__snapshots__/VSubheader.spec.ts.snap +1 -1
- package/src/components/VSwitch/VSwitch.ts +5 -6
- package/src/components/VSwitch/__tests__/VSwitch.spec.ts +34 -44
- package/src/components/VSwitch/__tests__/__snapshots__/VSwitch.spec.ts.snap +11 -15
- package/src/components/VSystemBar/__tests__/VSystemBar.spec.ts +89 -17
- package/src/components/VTabs/VTab.ts +2 -0
- package/src/components/VTabs/VTabs.ts +39 -14
- package/src/components/VTabs/VTabsBar.ts +11 -5
- package/src/components/VTabs/VTabsItems.ts +2 -0
- package/src/components/VTabs/__tests__/VTab.spec.ts +49 -38
- package/src/components/VTabs/__tests__/VTabs.spec.ts +189 -76
- package/src/components/VTabs/__tests__/VTabsBar.spec.ts +68 -27
- package/src/components/VTabs/__tests__/VTabsSlider.spec.ts +7 -6
- package/src/components/VTabs/__tests__/__snapshots__/VTabs.spec.ts.snap +1 -3
- package/src/components/VTextField/VTextField.ts +22 -22
- package/src/components/VTextField/__tests__/VTextField.spec.ts +350 -257
- package/src/components/VTextField/__tests__/__snapshots__/VTextField.spec.ts.snap +49 -73
- package/src/components/VTextarea/VTextarea.ts +1 -1
- package/src/components/VTextarea/__tests__/VTextarea.spec.ts +163 -35
- package/src/components/VTextarea/__tests__/__snapshots__/VTextarea.spec.ts.snap +99 -4
- package/src/components/VThemeProvider/__tests__/VThemeProvider.spec.ts +49 -10
- package/src/components/VTimePicker/VTimePicker.ts +199 -89
- package/src/components/VTimePicker/VTimePickerClock.ts +40 -45
- package/src/components/VTimePicker/VTimePickerTitle.ts +5 -4
- package/src/components/VTimePicker/__tests__/VTimePicker.spec.ts +155 -142
- package/src/components/VTimePicker/__tests__/VTimePickerClock.spec.ts +78 -81
- package/src/components/VTimePicker/__tests__/VTimePickerTitle.spec.ts +49 -43
- package/src/components/VTimePicker/__tests__/__snapshots__/VTimePicker.spec.ts.snap +120 -40
- package/src/components/VTimeline/__tests__/VTimelineItem.spec.ts +25 -35
- package/src/components/VTimeline/__tests__/__snapshots__/VTimelineItem.spec.ts.snap +6 -7
- package/src/components/VToolbar/VToolbar.ts +6 -7
- package/src/components/VToolbar/__tests__/VToolbar.spec.ts +49 -25
- package/src/components/VTooltip/VTooltip.ts +26 -32
- package/src/components/VTooltip/__tests__/VTooltip.spec.ts +64 -78
- package/src/components/VTooltip/__tests__/__snapshots__/VTooltip.spec.ts.snap +34 -18
- package/src/components/VTreeview/VTreeview.ts +20 -17
- package/src/components/VTreeview/VTreeviewNode.ts +4 -6
- package/src/components/VTreeview/__tests__/VTreeview.spec.ts +168 -174
- package/src/components/VTreeview/__tests__/VTreeviewNode.spec.ts +74 -78
- package/src/components/VTreeview/__tests__/__snapshots__/VTreeview.spec.ts.snap +141 -141
- package/src/components/VTreeview/__tests__/__snapshots__/VTreeviewNode.spec.ts.snap +32 -26
- package/src/components/VVirtualScroll/VVirtualScroll.ts +14 -15
- package/src/components/VVirtualScroll/__tests__/VVirtualScroll.spec.ts +24 -20
- package/src/components/VWindow/VWindow.ts +9 -6
- package/src/components/VWindow/VWindowItem.ts +5 -4
- package/src/components/VWindow/__tests__/VWindow.spec.ts +304 -185
- package/src/components/VWindow/__tests__/VWindowItem.spec.ts +283 -126
- package/src/components/VWindow/__tests__/__snapshots__/VWindow.spec.ts.snap +59 -0
- package/src/components/VWindow/__tests__/__snapshots__/VWindowItem.spec.ts.snap +36 -0
- package/src/components/transitions/createTransition.ts +2 -2
- package/src/components/transitions/expand-transition.ts +2 -0
- package/src/directives/click-outside/__tests__/click-outside-shadow-dom.spec.ts +4 -4
- package/src/directives/click-outside/__tests__/click-outside.spec.ts +3 -3
- package/src/directives/color/__tests__/color.spec.ts +54 -34
- package/src/directives/color/index.ts +7 -3
- package/src/directives/intersect/__tests__/intersect.spec.ts +7 -7
- package/src/directives/intersect/index.ts +81 -42
- package/src/directives/mutate/__tests__/mutate.spec.ts +32 -26
- package/src/directives/mutate/index.ts +58 -49
- package/src/directives/resize/__tests__/resize.spec.ts +5 -5
- package/src/directives/resize/index.ts +33 -14
- package/src/directives/ripple/__tests__/ripple.spec.ts +34 -36
- package/src/directives/ripple/index.ts +3 -6
- package/src/directives/scroll/__tests__/scroll.spec.ts +13 -13
- package/src/directives/scroll/index.ts +35 -20
- package/src/directives/touch/__tests__/touch.spec.ts +23 -16
- package/src/directives/touch/index.ts +42 -30
- package/src/globals.d.ts +6 -6
- package/src/install.ts +10 -32
- package/src/mixins/activatable/__tests__/activatable.spec.ts +55 -55
- package/src/mixins/activatable/index.ts +10 -11
- package/src/mixins/applicationable/__tests__/applicationable.spec.ts +31 -27
- package/src/mixins/applicationable/index.ts +4 -4
- package/src/mixins/binds-attrs/index.ts +1 -1
- package/src/mixins/bootable/__tests__/bootable.spec.ts +17 -11
- package/src/mixins/bootable/index.ts +4 -3
- package/src/mixins/colorable/__tests__/colorable.spec.ts +9 -6
- package/src/mixins/dependent/__tests__/dependent.spec.ts +72 -33
- package/src/mixins/detachable/__tests__/detachable.spec.ts +45 -31
- package/src/mixins/detachable/index.ts +17 -10
- package/src/mixins/elevatable/__tests__/elevatable.spec.ts +14 -13
- package/src/mixins/groupable/index.ts +10 -8
- package/src/mixins/intersectable/__tests__/intersectable.spec.ts +35 -29
- package/src/mixins/intersectable/index.ts +2 -2
- package/src/mixins/menuable/__tests__/menuable.spec.ts +76 -33
- package/src/mixins/menuable/index.ts +1 -1
- package/src/mixins/mobile/__tests__/mobile.spec.ts +9 -6
- package/src/mixins/mouse/__tests__/mouse.spec.ts +54 -40
- package/src/mixins/mouse/index.ts +10 -6
- package/src/mixins/overlayable/__tests__/overlayable.spec.ts +32 -24
- package/src/mixins/overlayable/index.ts +4 -3
- package/src/mixins/picker/index.ts +4 -4
- package/src/mixins/positionable/index.ts +2 -2
- package/src/mixins/proxyable/__tests__/proxyable.spec.ts +18 -17
- package/src/mixins/proxyable/index.ts +6 -3
- package/src/mixins/registrable/__tests__/registrable.spec.ts +31 -0
- package/src/mixins/registrable/index.ts +4 -4
- package/src/mixins/rippleable/__tests__/rippleable.spec.ts +10 -9
- package/src/mixins/roundable/__tests__/roundable.spec.ts +7 -5
- package/src/mixins/routable/__tests__/routable.spec.ts +60 -52
- package/src/mixins/routable/index.ts +6 -4
- package/src/mixins/scrollable/__tests__/scrollable.spec.ts +56 -27
- package/src/mixins/selectable/__tests__/selectable.spec.ts +22 -9
- package/src/mixins/selectable/index.ts +17 -14
- package/src/mixins/toggleable/index.ts +2 -2
- package/src/mixins/translatable/index.ts +1 -1
- package/src/mixins/validatable/__tests__/validatable.spec.ts +194 -158
- package/src/mixins/validatable/index.ts +29 -21
- package/src/services/goto/__tests__/goto.spec.ts +146 -1
- package/src/services/goto/util.ts +44 -5
- package/src/services/theme/__tests__/__snapshots__/theme.spec.ts.snap +0 -1128
- package/src/services/theme/__tests__/theme.spec.ts +81 -83
- package/src/services/theme/index.ts +22 -60
- package/src/util/__tests__/console.spec.ts +124 -11
- package/src/util/__tests__/dom.spec.ts +8 -5
- package/src/util/__tests__/helpers.spec.ts +122 -33
- package/src/util/__tests__/mergeData.spec.ts +8 -8
- package/src/util/console.ts +43 -24
- package/src/util/helpers.ts +57 -5
- package/src/util/legacyEventsMixin.ts +34 -0
- package/src/util/mergeData.ts +10 -5
- package/src/util/mixins.ts +24 -7
- package/types/alacarte.d.ts +14 -14
- package/types/index.d.ts +8 -8
- package/types/lib.d.ts +173 -173
|
@@ -31,6 +31,8 @@ function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return
|
|
|
31
31
|
|
|
32
32
|
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
33
33
|
|
|
34
|
+
function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
35
|
+
|
|
34
36
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
35
37
|
|
|
36
38
|
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
@@ -39,8 +41,6 @@ function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(
|
|
|
39
41
|
|
|
40
42
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
41
43
|
|
|
42
|
-
function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
43
|
-
|
|
44
44
|
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
45
45
|
|
|
46
46
|
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
@@ -85,6 +85,12 @@ var _default2 = (0, _mixins.default)((0, _registrable.provide)('treeview'), _the
|
|
|
85
85
|
return [];
|
|
86
86
|
}
|
|
87
87
|
},
|
|
88
|
+
modelValue: {
|
|
89
|
+
type: Array,
|
|
90
|
+
default: function _default() {
|
|
91
|
+
return [];
|
|
92
|
+
}
|
|
93
|
+
},
|
|
88
94
|
multipleActive: Boolean,
|
|
89
95
|
open: {
|
|
90
96
|
type: Array,
|
|
@@ -98,13 +104,7 @@ var _default2 = (0, _mixins.default)((0, _registrable.provide)('treeview'), _the
|
|
|
98
104
|
default: false // TODO: Should be true in next major
|
|
99
105
|
|
|
100
106
|
},
|
|
101
|
-
search: String
|
|
102
|
-
value: {
|
|
103
|
-
type: Array,
|
|
104
|
-
default: function _default() {
|
|
105
|
-
return [];
|
|
106
|
-
}
|
|
107
|
-
}
|
|
107
|
+
search: String
|
|
108
108
|
}, _VTreeviewNode.VTreeviewNodeProps),
|
|
109
109
|
data: function data() {
|
|
110
110
|
return {
|
|
@@ -161,8 +161,8 @@ var _default2 = (0, _mixins.default)((0, _registrable.provide)('treeview'), _the
|
|
|
161
161
|
active: function active(value) {
|
|
162
162
|
this.handleNodeCacheWatcher(value, this.activeCache, this.updateActive, this.emitActive);
|
|
163
163
|
},
|
|
164
|
-
|
|
165
|
-
this.handleNodeCacheWatcher(
|
|
164
|
+
modelValue: function modelValue(value) {
|
|
165
|
+
this.handleNodeCacheWatcher(value, this.selectedCache, this.updateSelected, this.emitSelected);
|
|
166
166
|
},
|
|
167
167
|
open: function open(value) {
|
|
168
168
|
this.handleNodeCacheWatcher(value, this.openCache, this.updateOpen, this.emitOpen);
|
|
@@ -171,13 +171,24 @@ var _default2 = (0, _mixins.default)((0, _registrable.provide)('treeview'), _the
|
|
|
171
171
|
created: function created() {
|
|
172
172
|
var _this2 = this;
|
|
173
173
|
|
|
174
|
+
var breakingProps = [['value', 'modelValue'], ['onInput', 'onUpdate:modelValue'], ['onChange', 'onUpdate:modelValue']];
|
|
175
|
+
/* istanbul ignore next */
|
|
176
|
+
|
|
177
|
+
breakingProps.forEach(function (_ref) {
|
|
178
|
+
var _ref2 = _slicedToArray(_ref, 2),
|
|
179
|
+
original = _ref2[0],
|
|
180
|
+
replacement = _ref2[1];
|
|
181
|
+
|
|
182
|
+
if (_this2.$attrs.hasOwnProperty(original)) (0, _console.breaking)(original, replacement, _this2);
|
|
183
|
+
});
|
|
184
|
+
|
|
174
185
|
var getValue = function getValue(key) {
|
|
175
186
|
return _this2.returnObject ? (0, _helpers.getObjectValueByPath)(key, _this2.itemKey) : key;
|
|
176
187
|
};
|
|
177
188
|
|
|
178
189
|
this.buildTree(this.items);
|
|
179
190
|
|
|
180
|
-
var _iterator = _createForOfIteratorHelper(this.
|
|
191
|
+
var _iterator = _createForOfIteratorHelper(this.modelValue.map(getValue)),
|
|
181
192
|
_step;
|
|
182
193
|
|
|
183
194
|
try {
|
|
@@ -208,11 +219,6 @@ var _default2 = (0, _mixins.default)((0, _registrable.provide)('treeview'), _the
|
|
|
208
219
|
mounted: function mounted() {
|
|
209
220
|
var _this3 = this;
|
|
210
221
|
|
|
211
|
-
// Save the developer from themselves
|
|
212
|
-
if (this.$slots.prepend || this.$slots.append) {
|
|
213
|
-
(0, _console.consoleWarn)('The prepend and append slots require a slot-scope attribute', this);
|
|
214
|
-
}
|
|
215
|
-
|
|
216
222
|
if (this.openAll) {
|
|
217
223
|
this.updateAll(true);
|
|
218
224
|
} else {
|
|
@@ -320,7 +326,7 @@ var _default2 = (0, _mixins.default)((0, _registrable.provide)('treeview'), _the
|
|
|
320
326
|
this.emitNodeCache('update:open', this.openCache);
|
|
321
327
|
},
|
|
322
328
|
emitSelected: function emitSelected() {
|
|
323
|
-
this.emitNodeCache('
|
|
329
|
+
this.emitNodeCache('update:modelValue', this.selectedCache);
|
|
324
330
|
},
|
|
325
331
|
emitActive: function emitActive() {
|
|
326
332
|
this.emitNodeCache('update:active', this.activeCache);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VTreeview/VTreeview.ts"],"names":[],"mappings":"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","sourcesContent":["import {h} from 'vue'\n// Styles\nimport './VTreeview.sass'\n\n// Types\nimport { VNode, VNodeChildrenArrayContents, PropType } from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport { TreeviewItemFunction } from 'vuetify/types'\n\n// Components\nimport VTreeviewNode, { VTreeviewNodeProps } from './VTreeviewNode'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\nimport { provide as RegistrableProvide } from '../../mixins/registrable'\n\n// Utils\nimport {\n arrayDiff,\n deepEqual,\n getObjectValueByPath,\n} from '../../util/helpers'\nimport mixins from '../../util/mixins'\nimport { consoleWarn } from '../../util/console'\nimport {\n filterTreeItems,\n filterTreeItem,\n} from './util/filterTreeItems'\n\ntype VTreeviewNodeInstance = InstanceType<typeof VTreeviewNode>\n\ntype NodeCache = Set<string | number>\ntype NodeArray = (string | number)[]\n\ntype NodeState = {\n parent: number | string | null\n children: (number | string)[]\n vnode: VTreeviewNodeInstance | null\n isActive: boolean\n isSelected: boolean\n isIndeterminate: boolean\n isOpen: boolean\n item: any\n}\n\nexport default mixins(\n RegistrableProvide('treeview'),\n Themeable\n /* @vue/component */\n).extend({\n name: 'v-treeview',\n\n provide (): object {\n return { treeview: this }\n },\n\n props: {\n active: {\n type: Array,\n default: () => ([]),\n } as PropValidator<NodeArray>,\n dense: Boolean,\n disabled: Boolean,\n filter: Function as PropType<TreeviewItemFunction>,\n hoverable: Boolean,\n items: {\n type: Array,\n default: () => ([]),\n } as PropValidator<any[]>,\n multipleActive: Boolean,\n open: {\n type: Array,\n default: () => ([]),\n } as PropValidator<NodeArray>,\n openAll: Boolean,\n returnObject: {\n type: Boolean,\n default: false, // TODO: Should be true in next major\n },\n search: String,\n value: {\n type: Array,\n default: () => ([]),\n } as PropValidator<NodeArray>,\n ...VTreeviewNodeProps,\n },\n\n data: () => ({\n level: -1,\n activeCache: new Set() as NodeCache,\n nodes: {} as Record<string | number, NodeState>,\n openCache: new Set() as NodeCache,\n selectedCache: new Set() as NodeCache,\n }),\n\n computed: {\n excludedItems (): Set<string | number> {\n const excluded = new Set<string|number>()\n\n if (!this.search) return excluded\n\n for (let i = 0; i < this.items.length; i++) {\n filterTreeItems(\n this.filter || filterTreeItem,\n this.items[i],\n this.search,\n this.itemKey,\n this.itemText,\n this.itemChildren,\n excluded\n )\n }\n\n return excluded\n },\n },\n\n watch: {\n items: {\n handler () {\n const oldKeys = Object.keys(this.nodes).map(k => getObjectValueByPath(this.nodes[k].item, this.itemKey))\n const newKeys = this.getKeys(this.items)\n const diff = arrayDiff(newKeys, oldKeys)\n\n // We only want to do stuff if items have changed\n if (!diff.length && newKeys.length < oldKeys.length) return\n\n // If nodes are removed we need to clear them from this.nodes\n diff.forEach(k => delete this.nodes[k])\n\n const oldSelectedCache = [...this.selectedCache]\n this.selectedCache = new Set()\n this.activeCache = new Set()\n this.openCache = new Set()\n this.buildTree(this.items)\n\n // Only emit selected if selection has changed\n // as a result of items changing. This fixes a\n // potential double emit when selecting a node\n // with dynamic children\n if (!deepEqual(oldSelectedCache, [...this.selectedCache])) this.emitSelected()\n },\n deep: true,\n },\n active (value: (string | number | any)[]) {\n this.handleNodeCacheWatcher(value, this.activeCache, this.updateActive, this.emitActive)\n },\n value (value: (string | number | any)[]) {\n this.handleNodeCacheWatcher(value, this.selectedCache, this.updateSelected, this.emitSelected)\n },\n open (value: (string | number | any)[]) {\n this.handleNodeCacheWatcher(value, this.openCache, this.updateOpen, this.emitOpen)\n },\n },\n\n created () {\n const getValue = (key: string | number) => this.returnObject ? getObjectValueByPath(key, this.itemKey) : key\n\n this.buildTree(this.items)\n\n for (const value of this.value.map(getValue)) {\n this.updateSelected(value, true, true)\n }\n\n for (const active of this.active.map(getValue)) {\n this.updateActive(active, true)\n }\n },\n\n mounted () {\n // Save the developer from themselves\n if (this.$slots.prepend || this.$slots.append) {\n consoleWarn('The prepend and append slots require a slot-scope attribute', this)\n }\n\n if (this.openAll) {\n this.updateAll(true)\n } else {\n this.open.forEach(key => this.updateOpen(this.returnObject ? getObjectValueByPath(key, this.itemKey) : key, true))\n this.emitOpen()\n }\n },\n\n methods: {\n /** @public */\n updateAll (value: boolean) {\n Object.keys(this.nodes).forEach(key => this.updateOpen(getObjectValueByPath(this.nodes[key].item, this.itemKey), value))\n this.emitOpen()\n },\n getKeys (items: any[], keys: any[] = []) {\n for (let i = 0; i < items.length; i++) {\n const key = getObjectValueByPath(items[i], this.itemKey)\n keys.push(key)\n const children = getObjectValueByPath(items[i], this.itemChildren)\n if (children) {\n keys.push(...this.getKeys(children))\n }\n }\n\n return keys\n },\n buildTree (items: any[], parent: (string | number | null) = null) {\n for (let i = 0; i < items.length; i++) {\n const item = items[i]\n const key = getObjectValueByPath(item, this.itemKey)\n const children = getObjectValueByPath(item, this.itemChildren) ?? []\n const oldNode = this.nodes.hasOwnProperty(key) ? this.nodes[key] : {\n isSelected: false, isIndeterminate: false, isActive: false, isOpen: false, vnode: null,\n } as NodeState\n\n const node: any = {\n vnode: oldNode.vnode,\n parent,\n children: children.map((c: any) => getObjectValueByPath(c, this.itemKey)),\n item,\n }\n\n this.buildTree(children, key)\n\n // This fixed bug with dynamic children resetting selected parent state\n if (\n this.selectionType !== 'independent' &&\n parent !== null &&\n !this.nodes.hasOwnProperty(key) &&\n this.nodes.hasOwnProperty(parent)\n ) {\n node.isSelected = this.nodes[parent].isSelected\n } else {\n node.isSelected = oldNode.isSelected\n node.isIndeterminate = oldNode.isIndeterminate\n }\n\n node.isActive = oldNode.isActive\n node.isOpen = oldNode.isOpen\n\n this.nodes[key] = node\n\n if (children.length && this.selectionType !== 'independent') {\n const { isSelected, isIndeterminate } = this.calculateState(key, this.nodes)\n\n node.isSelected = isSelected\n node.isIndeterminate = isIndeterminate\n }\n\n // Don't forget to rebuild cache\n if (this.nodes[key].isSelected && (this.selectionType === 'independent' || node.children.length === 0)) this.selectedCache.add(key)\n if (this.nodes[key].isActive) this.activeCache.add(key)\n if (this.nodes[key].isOpen) this.openCache.add(key)\n\n this.updateVnodeState(key)\n }\n },\n calculateState (node: string | number, state: Record<string | number, NodeState>) {\n const children = state[node].children\n const counts = children.reduce((counts: number[], child: string | number) => {\n counts[0] += +Boolean(state[child].isSelected)\n counts[1] += +Boolean(state[child].isIndeterminate)\n\n return counts\n }, [0, 0])\n\n const isSelected = !!children.length && counts[0] === children.length\n const isIndeterminate = !isSelected && (counts[0] > 0 || counts[1] > 0)\n\n return {\n isSelected,\n isIndeterminate,\n }\n },\n emitOpen () {\n this.emitNodeCache('update:open', this.openCache)\n },\n emitSelected () {\n this.emitNodeCache('input', this.selectedCache)\n },\n emitActive () {\n this.emitNodeCache('update:active', this.activeCache)\n },\n emitNodeCache (event: string, cache: NodeCache) {\n this.$emit(event, this.returnObject ? [...cache].map(key => this.nodes[key].item) : [...cache])\n },\n handleNodeCacheWatcher (value: any[], cache: NodeCache, updateFn: Function, emitFn: Function) {\n value = this.returnObject ? value.map(v => getObjectValueByPath(v, this.itemKey)) : value\n const old = [...cache]\n if (deepEqual(old, value)) return\n\n old.forEach(key => updateFn(key, false))\n value.forEach(key => updateFn(key, true))\n\n emitFn()\n },\n getDescendants (key: string | number, descendants: NodeArray = []) {\n const children = this.nodes[key].children\n\n descendants.push(...children)\n\n for (let i = 0; i < children.length; i++) {\n descendants = this.getDescendants(children[i], descendants)\n }\n\n return descendants\n },\n getParents (key: string | number) {\n let parent = this.nodes[key].parent\n\n const parents = []\n while (parent !== null) {\n parents.push(parent)\n parent = this.nodes[parent].parent\n }\n\n return parents\n },\n register (node: VTreeviewNodeInstance) {\n const key = getObjectValueByPath(node.item, this.itemKey)\n\n this.nodes[key].vnode = node\n\n this.updateVnodeState(key)\n },\n unregister (node: VTreeviewNodeInstance) {\n const key = getObjectValueByPath(node.item, this.itemKey)\n if (this.nodes[key]) this.nodes[key].vnode = null\n },\n isParent (key: string | number) {\n return this.nodes[key].children && this.nodes[key].children.length\n },\n updateActive (key: string | number, isActive: boolean) {\n if (!this.nodes.hasOwnProperty(key)) return\n\n if (!this.multipleActive) {\n this.activeCache.forEach(active => {\n this.nodes[active].isActive = false\n this.updateVnodeState(active)\n this.activeCache.delete(active)\n })\n }\n\n const node = this.nodes[key]\n if (!node) return\n\n if (isActive) this.activeCache.add(key)\n else this.activeCache.delete(key)\n\n node.isActive = isActive\n\n this.updateVnodeState(key)\n },\n updateSelected (key: string | number, isSelected: boolean, isForced = false) {\n if (!this.nodes.hasOwnProperty(key)) return\n\n const changed = new Map()\n\n if (this.selectionType !== 'independent') {\n for (const descendant of this.getDescendants(key)) {\n if (!getObjectValueByPath(this.nodes[descendant].item, this.itemDisabled) || isForced) {\n this.nodes[descendant].isSelected = isSelected\n this.nodes[descendant].isIndeterminate = false\n changed.set(descendant, isSelected)\n }\n }\n\n const calculated = this.calculateState(key, this.nodes)\n this.nodes[key].isSelected = isSelected\n this.nodes[key].isIndeterminate = calculated.isIndeterminate\n changed.set(key, isSelected)\n\n for (const parent of this.getParents(key)) {\n const calculated = this.calculateState(parent, this.nodes)\n this.nodes[parent].isSelected = calculated.isSelected\n this.nodes[parent].isIndeterminate = calculated.isIndeterminate\n changed.set(parent, calculated.isSelected)\n }\n } else {\n this.nodes[key].isSelected = isSelected\n this.nodes[key].isIndeterminate = false\n changed.set(key, isSelected)\n }\n\n for (const [key, value] of changed.entries()) {\n this.updateVnodeState(key)\n\n if (this.selectionType === 'leaf' && this.isParent(key)) continue\n\n value === true ? this.selectedCache.add(key) : this.selectedCache.delete(key)\n }\n },\n updateOpen (key: string | number, isOpen: boolean) {\n if (!this.nodes.hasOwnProperty(key)) return\n\n const node = this.nodes[key]\n const children = getObjectValueByPath(node.item, this.itemChildren)\n\n if (children && !children.length && node.vnode && !node.vnode.hasLoaded) {\n node.vnode.checkChildren().then(() => this.updateOpen(key, isOpen))\n } else if (children && children.length) {\n node.isOpen = isOpen\n\n node.isOpen ? this.openCache.add(key) : this.openCache.delete(key)\n\n this.updateVnodeState(key)\n }\n },\n updateVnodeState (key: string | number) {\n const node = this.nodes[key]\n\n if (node && node.vnode) {\n node.vnode.isSelected = node.isSelected\n node.vnode.isIndeterminate = node.isIndeterminate\n node.vnode.isActive = node.isActive\n node.vnode.isOpen = node.isOpen\n }\n },\n isExcluded (key: string | number) {\n return !!this.search && this.excludedItems.has(key)\n },\n },\n\n render (): VNode {\n const children: VNodeChildrenArrayContents = this.items.length\n ? this.items.filter(item => {\n return !this.isExcluded(getObjectValueByPath(item, this.itemKey))\n }).map(item => {\n const genChild = VTreeviewNode.methods.genChild.bind(this)\n\n return genChild(item, this.disabled || getObjectValueByPath(item, this.itemDisabled))\n })\n /* istanbul ignore next */\n : this.$slots.default! // TODO: remove type annotation with TS 3.2\n\n return h('div', {\n class: ['v-treeview', {\n 'v-treeview--hoverable': this.hoverable,\n 'v-treeview--dense': this.dense,\n ...this.themeClasses,\n }],\n }, children)\n },\n})\n"],"sourceRoot":"","file":"VTreeview.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VTreeview/VTreeview.ts"],"names":[],"mappings":"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","sourcesContent":["import { h, VNode, VNodeChildrenArrayContents, PropType } from 'vue'\n// Styles\nimport './VTreeview.sass'\nimport { PropValidator } from 'vue/types/options'\nimport { TreeviewItemFunction } from 'vuetify/types'\n\n// Components\nimport VTreeviewNode, { VTreeviewNodeProps } from './VTreeviewNode'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\nimport { provide as RegistrableProvide } from '../../mixins/registrable'\n\n// Utils\nimport {\n arrayDiff,\n deepEqual,\n getObjectValueByPath,\n} from '../../util/helpers'\nimport mixins from '../../util/mixins'\nimport { consoleWarn, breaking } from '../../util/console'\nimport {\n filterTreeItems,\n filterTreeItem,\n} from './util/filterTreeItems'\n\ntype VTreeviewNodeInstance = InstanceType<typeof VTreeviewNode>\n\ntype NodeCache = Set<string | number>\ntype NodeArray = (string | number)[]\n\ntype NodeState = {\n parent: number | string | null\n children: (number | string)[]\n vnode: VTreeviewNodeInstance | null\n isActive: boolean\n isSelected: boolean\n isIndeterminate: boolean\n isOpen: boolean\n item: any\n}\n\nexport default mixins(\n RegistrableProvide('treeview'),\n Themeable\n /* @vue/component */\n).extend({\n name: 'v-treeview',\n\n provide (): object {\n return { treeview: this }\n },\n\n props: {\n active: {\n type: Array,\n default: () => ([]),\n } as PropValidator<NodeArray>,\n dense: Boolean,\n disabled: Boolean,\n filter: Function as PropType<TreeviewItemFunction>,\n hoverable: Boolean,\n items: {\n type: Array,\n default: () => ([]),\n } as PropValidator<any[]>,\n modelValue: {\n type: Array,\n default: () => ([]),\n } as PropValidator<NodeArray>,\n multipleActive: Boolean,\n open: {\n type: Array,\n default: () => ([]),\n } as PropValidator<NodeArray>,\n openAll: Boolean,\n returnObject: {\n type: Boolean,\n default: false, // TODO: Should be true in next major\n },\n search: String,\n ...VTreeviewNodeProps,\n },\n\n data: () => ({\n level: -1,\n activeCache: new Set() as NodeCache,\n nodes: {} as Record<string | number, NodeState>,\n openCache: new Set() as NodeCache,\n selectedCache: new Set() as NodeCache,\n }),\n\n computed: {\n excludedItems (): Set<string | number> {\n const excluded = new Set<string|number>()\n\n if (!this.search) return excluded\n\n for (let i = 0; i < this.items.length; i++) {\n filterTreeItems(\n this.filter || filterTreeItem,\n this.items[i],\n this.search,\n this.itemKey,\n this.itemText,\n this.itemChildren,\n excluded\n )\n }\n\n return excluded\n },\n },\n\n watch: {\n items: {\n handler () {\n const oldKeys = Object.keys(this.nodes).map(k => getObjectValueByPath(this.nodes[k].item, this.itemKey))\n const newKeys = this.getKeys(this.items)\n const diff = arrayDiff(newKeys, oldKeys)\n\n // We only want to do stuff if items have changed\n if (!diff.length && newKeys.length < oldKeys.length) return\n\n // If nodes are removed we need to clear them from this.nodes\n diff.forEach(k => delete this.nodes[k])\n\n const oldSelectedCache = [...this.selectedCache]\n this.selectedCache = new Set()\n this.activeCache = new Set()\n this.openCache = new Set()\n this.buildTree(this.items)\n\n // Only emit selected if selection has changed\n // as a result of items changing. This fixes a\n // potential double emit when selecting a node\n // with dynamic children\n if (!deepEqual(oldSelectedCache, [...this.selectedCache])) this.emitSelected()\n },\n deep: true,\n },\n active (value: (string | number | any)[]) {\n this.handleNodeCacheWatcher(value, this.activeCache, this.updateActive, this.emitActive)\n },\n modelValue (value: (string | number | any)[]) {\n this.handleNodeCacheWatcher(value, this.selectedCache, this.updateSelected, this.emitSelected)\n },\n open (value: (string | number | any)[]) {\n this.handleNodeCacheWatcher(value, this.openCache, this.updateOpen, this.emitOpen)\n },\n },\n\n created () {\n const breakingProps = [\n ['value', 'modelValue'],\n ['onInput', 'onUpdate:modelValue'],\n ['onChange', 'onUpdate:modelValue'],\n ]\n\n /* istanbul ignore next */\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n })\n\n const getValue = (key: string | number) => this.returnObject ? getObjectValueByPath(key, this.itemKey) : key\n\n this.buildTree(this.items)\n\n for (const value of this.modelValue.map(getValue)) {\n this.updateSelected(value, true, true)\n }\n\n for (const active of this.active.map(getValue)) {\n this.updateActive(active, true)\n }\n },\n\n mounted () {\n if (this.openAll) {\n this.updateAll(true)\n } else {\n this.open.forEach(key => this.updateOpen(this.returnObject ? getObjectValueByPath(key, this.itemKey) : key, true))\n this.emitOpen()\n }\n },\n\n methods: {\n /** @public */\n updateAll (value: boolean) {\n Object.keys(this.nodes).forEach(key => this.updateOpen(getObjectValueByPath(this.nodes[key].item, this.itemKey), value))\n this.emitOpen()\n },\n getKeys (items: any[], keys: any[] = []) {\n for (let i = 0; i < items.length; i++) {\n const key = getObjectValueByPath(items[i], this.itemKey)\n keys.push(key)\n const children = getObjectValueByPath(items[i], this.itemChildren)\n if (children) {\n keys.push(...this.getKeys(children))\n }\n }\n\n return keys\n },\n buildTree (items: any[], parent: (string | number | null) = null) {\n for (let i = 0; i < items.length; i++) {\n const item = items[i]\n const key = getObjectValueByPath(item, this.itemKey)\n const children = getObjectValueByPath(item, this.itemChildren) ?? []\n const oldNode = this.nodes.hasOwnProperty(key) ? this.nodes[key] : {\n isSelected: false, isIndeterminate: false, isActive: false, isOpen: false, vnode: null,\n } as NodeState\n\n const node: any = {\n vnode: oldNode.vnode,\n parent,\n children: children.map((c: any) => getObjectValueByPath(c, this.itemKey)),\n item,\n }\n\n this.buildTree(children, key)\n\n // This fixed bug with dynamic children resetting selected parent state\n if (\n this.selectionType !== 'independent' &&\n parent !== null &&\n !this.nodes.hasOwnProperty(key) &&\n this.nodes.hasOwnProperty(parent)\n ) {\n node.isSelected = this.nodes[parent].isSelected\n } else {\n node.isSelected = oldNode.isSelected\n node.isIndeterminate = oldNode.isIndeterminate\n }\n\n node.isActive = oldNode.isActive\n node.isOpen = oldNode.isOpen\n\n this.nodes[key] = node\n\n if (children.length && this.selectionType !== 'independent') {\n const { isSelected, isIndeterminate } = this.calculateState(key, this.nodes)\n\n node.isSelected = isSelected\n node.isIndeterminate = isIndeterminate\n }\n\n // Don't forget to rebuild cache\n if (this.nodes[key].isSelected && (this.selectionType === 'independent' || node.children.length === 0)) this.selectedCache.add(key)\n if (this.nodes[key].isActive) this.activeCache.add(key)\n if (this.nodes[key].isOpen) this.openCache.add(key)\n\n this.updateVnodeState(key)\n }\n },\n calculateState (node: string | number, state: Record<string | number, NodeState>) {\n const children = state[node].children\n const counts = children.reduce((counts: number[], child: string | number) => {\n counts[0] += +Boolean(state[child].isSelected)\n counts[1] += +Boolean(state[child].isIndeterminate)\n\n return counts\n }, [0, 0])\n\n const isSelected = !!children.length && counts[0] === children.length\n const isIndeterminate = !isSelected && (counts[0] > 0 || counts[1] > 0)\n\n return {\n isSelected,\n isIndeterminate,\n }\n },\n emitOpen () {\n this.emitNodeCache('update:open', this.openCache)\n },\n emitSelected () {\n this.emitNodeCache('update:modelValue', this.selectedCache)\n },\n emitActive () {\n this.emitNodeCache('update:active', this.activeCache)\n },\n emitNodeCache (event: string, cache: NodeCache) {\n this.$emit(event, this.returnObject ? [...cache].map(key => this.nodes[key].item) : [...cache])\n },\n handleNodeCacheWatcher (value: any[], cache: NodeCache, updateFn: Function, emitFn: Function) {\n value = this.returnObject ? value.map(v => getObjectValueByPath(v, this.itemKey)) : value\n const old = [...cache]\n if (deepEqual(old, value)) return\n\n old.forEach(key => updateFn(key, false))\n value.forEach(key => updateFn(key, true))\n\n emitFn()\n },\n getDescendants (key: string | number, descendants: NodeArray = []) {\n const children = this.nodes[key].children\n\n descendants.push(...children)\n\n for (let i = 0; i < children.length; i++) {\n descendants = this.getDescendants(children[i], descendants)\n }\n\n return descendants\n },\n getParents (key: string | number) {\n let parent = this.nodes[key].parent\n\n const parents = []\n while (parent !== null) {\n parents.push(parent)\n parent = this.nodes[parent].parent\n }\n\n return parents\n },\n register (node: VTreeviewNodeInstance) {\n const key = getObjectValueByPath(node.item, this.itemKey)\n\n this.nodes[key].vnode = node\n\n this.updateVnodeState(key)\n },\n unregister (node: VTreeviewNodeInstance) {\n const key = getObjectValueByPath(node.item, this.itemKey)\n if (this.nodes[key]) this.nodes[key].vnode = null\n },\n isParent (key: string | number) {\n return this.nodes[key].children && this.nodes[key].children.length\n },\n updateActive (key: string | number, isActive: boolean) {\n if (!this.nodes.hasOwnProperty(key)) return\n\n if (!this.multipleActive) {\n this.activeCache.forEach(active => {\n this.nodes[active].isActive = false\n this.updateVnodeState(active)\n this.activeCache.delete(active)\n })\n }\n\n const node = this.nodes[key]\n if (!node) return\n\n if (isActive) this.activeCache.add(key)\n else this.activeCache.delete(key)\n\n node.isActive = isActive\n\n this.updateVnodeState(key)\n },\n updateSelected (key: string | number, isSelected: boolean, isForced = false) {\n if (!this.nodes.hasOwnProperty(key)) return\n\n const changed = new Map()\n\n if (this.selectionType !== 'independent') {\n for (const descendant of this.getDescendants(key)) {\n if (!getObjectValueByPath(this.nodes[descendant].item, this.itemDisabled) || isForced) {\n this.nodes[descendant].isSelected = isSelected\n this.nodes[descendant].isIndeterminate = false\n changed.set(descendant, isSelected)\n }\n }\n\n const calculated = this.calculateState(key, this.nodes)\n this.nodes[key].isSelected = isSelected\n this.nodes[key].isIndeterminate = calculated.isIndeterminate\n changed.set(key, isSelected)\n\n for (const parent of this.getParents(key)) {\n const calculated = this.calculateState(parent, this.nodes)\n this.nodes[parent].isSelected = calculated.isSelected\n this.nodes[parent].isIndeterminate = calculated.isIndeterminate\n changed.set(parent, calculated.isSelected)\n }\n } else {\n this.nodes[key].isSelected = isSelected\n this.nodes[key].isIndeterminate = false\n changed.set(key, isSelected)\n }\n\n for (const [key, value] of changed.entries()) {\n this.updateVnodeState(key)\n\n if (this.selectionType === 'leaf' && this.isParent(key)) continue\n\n value === true ? this.selectedCache.add(key) : this.selectedCache.delete(key)\n }\n },\n updateOpen (key: string | number, isOpen: boolean) {\n if (!this.nodes.hasOwnProperty(key)) return\n\n const node = this.nodes[key]\n const children = getObjectValueByPath(node.item, this.itemChildren)\n\n if (children && !children.length && node.vnode && !node.vnode.hasLoaded) {\n node.vnode.checkChildren().then(() => this.updateOpen(key, isOpen))\n } else if (children && children.length) {\n node.isOpen = isOpen\n\n node.isOpen ? this.openCache.add(key) : this.openCache.delete(key)\n\n this.updateVnodeState(key)\n }\n },\n updateVnodeState (key: string | number) {\n const node = this.nodes[key]\n\n if (node && node.vnode) {\n node.vnode.isSelected = node.isSelected\n node.vnode.isIndeterminate = node.isIndeterminate\n node.vnode.isActive = node.isActive\n node.vnode.isOpen = node.isOpen\n }\n },\n isExcluded (key: string | number) {\n return !!this.search && this.excludedItems.has(key)\n },\n },\n\n render (): VNode {\n const children: VNodeChildrenArrayContents = this.items.length\n ? this.items.filter(item => {\n return !this.isExcluded(getObjectValueByPath(item, this.itemKey))\n }).map(item => {\n const genChild = VTreeviewNode.methods.genChild.bind(this)\n\n return genChild(item, this.disabled || getObjectValueByPath(item, this.itemDisabled))\n })\n /* istanbul ignore next */\n : this.$slots.default! // TODO: remove type annotation with TS 3.2\n\n return h('div', {\n class: ['v-treeview', {\n 'v-treeview--hoverable': this.hoverable,\n 'v-treeview--dense': this.dense,\n ...this.themeClasses,\n }],\n }, children)\n },\n})\n"],"sourceRoot":"","file":"VTreeview.js"}
|
|
@@ -174,7 +174,7 @@ var VTreeviewNode = baseMixins.extend({
|
|
|
174
174
|
created: function created() {
|
|
175
175
|
this.treeview.register(this);
|
|
176
176
|
},
|
|
177
|
-
|
|
177
|
+
beforeUnmount: function beforeUnmount() {
|
|
178
178
|
this.treeview.unregister(this);
|
|
179
179
|
},
|
|
180
180
|
methods: {
|
|
@@ -201,7 +201,6 @@ var VTreeviewNode = baseMixins.extend({
|
|
|
201
201
|
var children = [];
|
|
202
202
|
if (this.$slots.label) children.push(this.$slots.label(this.scopedProps));else children.push(this.text);
|
|
203
203
|
return (0, _vue.h)('div', {
|
|
204
|
-
slot: 'label',
|
|
205
204
|
class: 'v-treeview-node__label'
|
|
206
205
|
}, children);
|
|
207
206
|
},
|
|
@@ -231,7 +230,6 @@ var VTreeviewNode = baseMixins.extend({
|
|
|
231
230
|
'v-treeview-node__toggle--open': this.isOpen,
|
|
232
231
|
'v-treeview-node__toggle--loading': this.isLoading
|
|
233
232
|
}],
|
|
234
|
-
slot: 'prepend',
|
|
235
233
|
onClick: function onClick(e) {
|
|
236
234
|
e.stopPropagation();
|
|
237
235
|
if (_this3.isLoading) return;
|
|
@@ -240,7 +238,9 @@ var VTreeviewNode = baseMixins.extend({
|
|
|
240
238
|
return _this3.open();
|
|
241
239
|
});
|
|
242
240
|
}
|
|
243
|
-
},
|
|
241
|
+
}, function () {
|
|
242
|
+
return [_this3.isLoading ? _this3.loadingIcon : _this3.expandIcon];
|
|
243
|
+
});
|
|
244
244
|
},
|
|
245
245
|
genCheckbox: function genCheckbox() {
|
|
246
246
|
var _this4 = this;
|
|
@@ -265,7 +265,9 @@ var VTreeviewNode = baseMixins.extend({
|
|
|
265
265
|
});
|
|
266
266
|
});
|
|
267
267
|
}
|
|
268
|
-
},
|
|
268
|
+
}, function () {
|
|
269
|
+
return [_this4.computedIcon];
|
|
270
|
+
});
|
|
269
271
|
},
|
|
270
272
|
genLevel: function genLevel(level) {
|
|
271
273
|
return (0, _helpers.createRange)(level).map(function () {
|
|
@@ -343,7 +345,11 @@ var VTreeviewNode = baseMixins.extend({
|
|
|
343
345
|
}, children);
|
|
344
346
|
},
|
|
345
347
|
genTransition: function genTransition() {
|
|
346
|
-
|
|
348
|
+
var _this7 = this;
|
|
349
|
+
|
|
350
|
+
return (0, _vue.h)(_transitions.VExpandTransition, {}, function () {
|
|
351
|
+
return [_this7.genChildrenWrapper()];
|
|
352
|
+
});
|
|
347
353
|
}
|
|
348
354
|
},
|
|
349
355
|
render: function render() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VTreeview/VTreeviewNode.ts"],"names":[],"mappings":"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","sourcesContent":["import {h} from 'vue'\n// Components\nimport { VExpandTransition } from '../transitions'\nimport { VIcon } from '../VIcon'\nimport VTreeview from './VTreeview'\n\n// Mixins\nimport { inject as RegistrableInject } from '../../mixins/registrable'\nimport Colorable from '../../mixins/colorable'\n\n// Utils\nimport mixins, { ExtractVue } from '../../util/mixins'\nimport { getObjectValueByPath, createRange } from '../../util/helpers'\n\n// Types\nimport { VNode, VNodeChildren, PropType } from 'vue'\nimport { PropValidator } from 'vue/types/options'\n\ntype VTreeViewInstance = InstanceType<typeof VTreeview>\n\nconst baseMixins = mixins(\n Colorable,\n RegistrableInject('treeview')\n)\n\ninterface options extends ExtractVue<typeof baseMixins> {\n treeview: VTreeViewInstance\n}\n\nexport const VTreeviewNodeProps = {\n activatable: Boolean,\n activeClass: {\n type: String,\n default: 'v-treeview-node--active',\n },\n color: {\n type: String,\n default: 'primary',\n },\n disablePerNode: Boolean,\n expandIcon: {\n type: String,\n default: '$subgroup',\n },\n indeterminateIcon: {\n type: String,\n default: '$checkboxIndeterminate',\n },\n itemChildren: {\n type: String,\n default: 'children',\n },\n itemDisabled: {\n type: String,\n default: 'disabled',\n },\n itemKey: {\n type: String,\n default: 'id',\n },\n itemText: {\n type: String,\n default: 'name',\n },\n loadChildren: Function as PropType<(item: any) => Promise<void>>,\n loadingIcon: {\n type: String,\n default: '$loading',\n },\n offIcon: {\n type: String,\n default: '$checkboxOff',\n },\n onIcon: {\n type: String,\n default: '$checkboxOn',\n },\n openOnClick: Boolean,\n rounded: Boolean,\n selectable: Boolean,\n selectedColor: {\n type: String,\n default: 'accent',\n },\n shaped: Boolean,\n transition: Boolean,\n selectionType: {\n type: String as PropType<'leaf' | 'independent'>,\n default: 'leaf',\n validator: (v: string) => ['leaf', 'independent'].includes(v),\n },\n}\n\n/* @vue/component */\nconst VTreeviewNode = baseMixins.extend({\n name: 'v-treeview-node',\n\n inject: {\n treeview: {\n default: null,\n },\n },\n\n props: {\n level: Number,\n item: {\n type: Object,\n default: () => null,\n } as PropValidator<Record<string, unknown> | null>,\n parentIsDisabled: Boolean,\n ...VTreeviewNodeProps,\n },\n\n data: () => ({\n hasLoaded: false,\n isActive: false, // Node is selected (row)\n isIndeterminate: false, // Node has at least one selected child\n isLoading: false,\n isOpen: false, // Node is open/expanded\n isSelected: false, // Node is selected (checkbox)\n }),\n\n computed: {\n disabled (): boolean {\n return (\n getObjectValueByPath(this.item, this.itemDisabled) ||\n (!this.disablePerNode && (this.parentIsDisabled && this.selectionType === 'leaf'))\n )\n },\n key (): string {\n return getObjectValueByPath(this.item, this.itemKey)\n },\n children (): any[] | null {\n const children = getObjectValueByPath(this.item, this.itemChildren)\n return children && children.filter((child: any) => !this.treeview.isExcluded(getObjectValueByPath(child, this.itemKey)))\n },\n text (): string {\n return getObjectValueByPath(this.item, this.itemText)\n },\n scopedProps (): object {\n return {\n item: this.item,\n leaf: !this.children,\n selected: this.isSelected,\n indeterminate: this.isIndeterminate,\n active: this.isActive,\n open: this.isOpen,\n }\n },\n computedIcon (): string {\n if (this.isIndeterminate) return this.indeterminateIcon\n else if (this.isSelected) return this.onIcon\n else return this.offIcon\n },\n hasChildren (): boolean {\n return !!this.children && (!!this.children.length || !!this.loadChildren)\n },\n },\n\n created () {\n this.treeview.register(this)\n },\n\n beforeDestroy () {\n this.treeview.unregister(this)\n },\n\n methods: {\n checkChildren (): Promise<void> {\n return new Promise<void>(resolve => {\n // TODO: Potential issue with always trying\n // to load children if response is empty?\n if (!this.children || this.children.length || !this.loadChildren || this.hasLoaded) return resolve()\n\n this.isLoading = true\n resolve(this.loadChildren(this.item))\n }).then(() => {\n this.isLoading = false\n this.hasLoaded = true\n })\n },\n open () {\n this.isOpen = !this.isOpen\n this.treeview.updateOpen(this.key, this.isOpen)\n this.treeview.emitOpen()\n },\n genLabel () {\n const children = []\n\n if (this.$slots.label) children.push(this.$slots.label(this.scopedProps))\n else children.push(this.text)\n\n return h('div', {\n slot: 'label',\n class: 'v-treeview-node__label',\n }, children)\n },\n genPrependSlot () {\n if (!this.$slots.prepend) return null\n\n return h('div', {\n class: 'v-treeview-node__prepend',\n }, this.$slots.prepend(this.scopedProps))\n },\n genAppendSlot () {\n if (!this.$slots.append) return null\n\n return h('div', {\n class: 'v-treeview-node__append',\n }, this.$slots.append(this.scopedProps))\n },\n genContent () {\n const children = [\n this.genPrependSlot(),\n this.genLabel(),\n this.genAppendSlot(),\n ]\n\n return h('div', {\n class: 'v-treeview-node__content',\n }, children)\n },\n genToggle () {\n return h(VIcon, {\n class: ['v-treeview-node__toggle', {\n 'v-treeview-node__toggle--open': this.isOpen,\n 'v-treeview-node__toggle--loading': this.isLoading,\n }],\n slot: 'prepend',\n onClick: (e: MouseEvent) => {\n e.stopPropagation()\n\n if (this.isLoading) return\n\n this.checkChildren().then(() => this.open())\n }\n }, [this.isLoading ? this.loadingIcon : this.expandIcon])\n },\n genCheckbox () {\n return h(VIcon, {\n class: 'v-treeview-node__checkbox',\n color: this.isSelected || this.isIndeterminate ? this.selectedColor : undefined,\n disabled: this.disabled,\n onClick: (e: MouseEvent) => {\n e.stopPropagation()\n\n if (this.isLoading) return\n\n this.checkChildren().then(() => {\n // We nextTick here so that items watch in VTreeview has a chance to run first\n this.$nextTick(() => {\n this.isSelected = !this.isSelected\n this.isIndeterminate = false\n\n this.treeview.updateSelected(this.key, this.isSelected)\n this.treeview.emitSelected()\n })\n })\n },\n }, [this.computedIcon])\n },\n genLevel (level: number) {\n return createRange(level).map(() => h('div', {\n class: 'v-treeview-node__level',\n }))\n },\n genNode () {\n const children = [this.genContent()]\n\n if (this.selectable) children.unshift(this.genCheckbox())\n\n if (this.hasChildren) {\n children.unshift(this.genToggle())\n } else {\n children.unshift(...this.genLevel(1))\n }\n\n children.unshift(...this.genLevel(this.level))\n\n return h('div', this.setTextColor(this.isActive && this.color, {\n class: ['v-treeview-node__root', {\n [this.activeClass]: this.isActive,\n }],\n onClick: () => {\n if (this.openOnClick && this.hasChildren) {\n this.checkChildren().then(this.open)\n } else if (this.activatable && !this.disabled) {\n this.isActive = !this.isActive\n this.treeview.updateActive(this.key, this.isActive)\n this.treeview.emitActive()\n }\n }\n }), children)\n },\n genChild (item: any, parentIsDisabled: boolean) {\n return h(VTreeviewNode, {\n key: getObjectValueByPath(item, this.itemKey),\n activatable: this.activatable,\n activeClass: this.activeClass,\n item,\n selectable: this.selectable,\n selectedColor: this.selectedColor,\n color: this.color,\n disablePerNode: this.disablePerNode,\n expandIcon: this.expandIcon,\n indeterminateIcon: this.indeterminateIcon,\n offIcon: this.offIcon,\n onIcon: this.onIcon,\n loadingIcon: this.loadingIcon,\n itemKey: this.itemKey,\n itemText: this.itemText,\n itemDisabled: this.itemDisabled,\n itemChildren: this.itemChildren,\n loadChildren: this.loadChildren,\n transition: this.transition,\n openOnClick: this.openOnClick,\n rounded: this.rounded,\n shaped: this.shaped,\n level: this.level + 1,\n selectionType: this.selectionType,\n parentIsDisabled,\n }, this.$slots)\n },\n genChildrenWrapper () {\n if (!this.isOpen || !this.children) return null\n\n const children = [this.children.map(c => this.genChild(c, this.disabled))]\n\n return h('div', {\n class: 'v-treeview-node__children',\n }, children)\n },\n genTransition () {\n return h(VExpandTransition, [this.genChildrenWrapper()])\n },\n },\n\n render (): VNode {\n const children: VNodeChildren = [this.genNode()]\n\n if (this.transition) children.push(this.genTransition())\n else children.push(this.genChildrenWrapper())\n\n return h('div', {\n class: ['v-treeview-node', {\n 'v-treeview-node--leaf': !this.hasChildren,\n 'v-treeview-node--click': this.openOnClick,\n 'v-treeview-node--disabled': this.disabled,\n 'v-treeview-node--rounded': this.rounded,\n 'v-treeview-node--shaped': this.shaped,\n 'v-treeview-node--selected': this.isSelected,\n }],\n 'aria-expanded': String(this.isOpen),\n }, children)\n },\n})\n\nexport default VTreeviewNode\n"],"sourceRoot":"","file":"VTreeviewNode.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VTreeview/VTreeviewNode.ts"],"names":[],"mappings":"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","sourcesContent":["import {h} from 'vue'\n// Components\nimport { VExpandTransition } from '../transitions'\nimport { VIcon } from '../VIcon'\nimport VTreeview from './VTreeview'\n\n// Mixins\nimport { inject as RegistrableInject } from '../../mixins/registrable'\nimport Colorable from '../../mixins/colorable'\n\n// Utils\nimport mixins, { ExtractVue } from '../../util/mixins'\nimport { getObjectValueByPath, createRange } from '../../util/helpers'\n\n// Types\nimport { VNode, VNodeChildren, PropType } from 'vue'\nimport { PropValidator } from 'vue/types/options'\n\ntype VTreeViewInstance = InstanceType<typeof VTreeview>\n\nconst baseMixins = mixins(\n Colorable,\n RegistrableInject('treeview')\n)\n\ninterface options extends ExtractVue<typeof baseMixins> {\n treeview: VTreeViewInstance\n}\n\nexport const VTreeviewNodeProps = {\n activatable: Boolean,\n activeClass: {\n type: String,\n default: 'v-treeview-node--active',\n },\n color: {\n type: String,\n default: 'primary',\n },\n disablePerNode: Boolean,\n expandIcon: {\n type: String,\n default: '$subgroup',\n },\n indeterminateIcon: {\n type: String,\n default: '$checkboxIndeterminate',\n },\n itemChildren: {\n type: String,\n default: 'children',\n },\n itemDisabled: {\n type: String,\n default: 'disabled',\n },\n itemKey: {\n type: String,\n default: 'id',\n },\n itemText: {\n type: String,\n default: 'name',\n },\n loadChildren: Function as PropType<(item: any) => Promise<void>>,\n loadingIcon: {\n type: String,\n default: '$loading',\n },\n offIcon: {\n type: String,\n default: '$checkboxOff',\n },\n onIcon: {\n type: String,\n default: '$checkboxOn',\n },\n openOnClick: Boolean,\n rounded: Boolean,\n selectable: Boolean,\n selectedColor: {\n type: String,\n default: 'accent',\n },\n shaped: Boolean,\n transition: Boolean,\n selectionType: {\n type: String as PropType<'leaf' | 'independent'>,\n default: 'leaf',\n validator: (v: string) => ['leaf', 'independent'].includes(v),\n },\n}\n\n/* @vue/component */\nconst VTreeviewNode = baseMixins.extend({\n name: 'v-treeview-node',\n\n inject: {\n treeview: {\n default: null,\n },\n },\n\n props: {\n level: Number,\n item: {\n type: Object,\n default: () => null,\n } as PropValidator<Record<string, unknown> | null>,\n parentIsDisabled: Boolean,\n ...VTreeviewNodeProps,\n },\n\n data: () => ({\n hasLoaded: false,\n isActive: false, // Node is selected (row)\n isIndeterminate: false, // Node has at least one selected child\n isLoading: false,\n isOpen: false, // Node is open/expanded\n isSelected: false, // Node is selected (checkbox)\n }),\n\n computed: {\n disabled (): boolean {\n return (\n getObjectValueByPath(this.item, this.itemDisabled) ||\n (!this.disablePerNode && (this.parentIsDisabled && this.selectionType === 'leaf'))\n )\n },\n key (): string {\n return getObjectValueByPath(this.item, this.itemKey)\n },\n children (): any[] | null {\n const children = getObjectValueByPath(this.item, this.itemChildren)\n return children && children.filter((child: any) => !this.treeview.isExcluded(getObjectValueByPath(child, this.itemKey)))\n },\n text (): string {\n return getObjectValueByPath(this.item, this.itemText)\n },\n scopedProps (): object {\n return {\n item: this.item,\n leaf: !this.children,\n selected: this.isSelected,\n indeterminate: this.isIndeterminate,\n active: this.isActive,\n open: this.isOpen,\n }\n },\n computedIcon (): string {\n if (this.isIndeterminate) return this.indeterminateIcon\n else if (this.isSelected) return this.onIcon\n else return this.offIcon\n },\n hasChildren (): boolean {\n return !!this.children && (!!this.children.length || !!this.loadChildren)\n },\n },\n\n created () {\n this.treeview.register(this)\n },\n\n beforeUnmount () {\n this.treeview.unregister(this)\n },\n\n methods: {\n checkChildren (): Promise<void> {\n return new Promise<void>(resolve => {\n // TODO: Potential issue with always trying\n // to load children if response is empty?\n if (!this.children || this.children.length || !this.loadChildren || this.hasLoaded) return resolve()\n\n this.isLoading = true\n resolve(this.loadChildren(this.item))\n }).then(() => {\n this.isLoading = false\n this.hasLoaded = true\n })\n },\n open () {\n this.isOpen = !this.isOpen\n this.treeview.updateOpen(this.key, this.isOpen)\n this.treeview.emitOpen()\n },\n genLabel () {\n const children = []\n\n if (this.$slots.label) children.push(this.$slots.label(this.scopedProps))\n else children.push(this.text)\n\n return h('div', {\n class: 'v-treeview-node__label',\n }, children)\n },\n genPrependSlot () {\n if (!this.$slots.prepend) return null\n\n return h('div', {\n class: 'v-treeview-node__prepend',\n }, this.$slots.prepend(this.scopedProps))\n },\n genAppendSlot () {\n if (!this.$slots.append) return null\n\n return h('div', {\n class: 'v-treeview-node__append',\n }, this.$slots.append(this.scopedProps))\n },\n genContent () {\n const children = [\n this.genPrependSlot(),\n this.genLabel(),\n this.genAppendSlot(),\n ]\n\n return h('div', {\n class: 'v-treeview-node__content',\n }, children)\n },\n genToggle () {\n return h(VIcon, {\n class: ['v-treeview-node__toggle', {\n 'v-treeview-node__toggle--open': this.isOpen,\n 'v-treeview-node__toggle--loading': this.isLoading,\n }],\n onClick: (e: MouseEvent) => {\n e.stopPropagation()\n\n if (this.isLoading) return\n\n this.checkChildren().then(() => this.open())\n }\n }, () => [this.isLoading ? this.loadingIcon : this.expandIcon])\n },\n genCheckbox () {\n return h(VIcon, {\n class: 'v-treeview-node__checkbox',\n color: this.isSelected || this.isIndeterminate ? this.selectedColor : undefined,\n disabled: this.disabled,\n onClick: (e: MouseEvent) => {\n e.stopPropagation()\n\n if (this.isLoading) return\n\n this.checkChildren().then(() => {\n // We nextTick here so that items watch in VTreeview has a chance to run first\n this.$nextTick(() => {\n this.isSelected = !this.isSelected\n this.isIndeterminate = false\n\n this.treeview.updateSelected(this.key, this.isSelected)\n this.treeview.emitSelected()\n })\n })\n },\n }, () => [this.computedIcon])\n },\n genLevel (level: number) {\n return createRange(level).map(() => h('div', {\n class: 'v-treeview-node__level',\n }))\n },\n genNode () {\n const children = [this.genContent()]\n\n if (this.selectable) children.unshift(this.genCheckbox())\n\n if (this.hasChildren) {\n children.unshift(this.genToggle())\n } else {\n children.unshift(...this.genLevel(1))\n }\n\n children.unshift(...this.genLevel(this.level))\n\n return h('div', this.setTextColor(this.isActive && this.color, {\n class: ['v-treeview-node__root', {\n [this.activeClass]: this.isActive,\n }],\n onClick: () => {\n if (this.openOnClick && this.hasChildren) {\n this.checkChildren().then(this.open)\n } else if (this.activatable && !this.disabled) {\n this.isActive = !this.isActive\n this.treeview.updateActive(this.key, this.isActive)\n this.treeview.emitActive()\n }\n }\n }), children)\n },\n genChild (item: any, parentIsDisabled: boolean) {\n return h(VTreeviewNode, {\n key: getObjectValueByPath(item, this.itemKey),\n activatable: this.activatable,\n activeClass: this.activeClass,\n item,\n selectable: this.selectable,\n selectedColor: this.selectedColor,\n color: this.color,\n disablePerNode: this.disablePerNode,\n expandIcon: this.expandIcon,\n indeterminateIcon: this.indeterminateIcon,\n offIcon: this.offIcon,\n onIcon: this.onIcon,\n loadingIcon: this.loadingIcon,\n itemKey: this.itemKey,\n itemText: this.itemText,\n itemDisabled: this.itemDisabled,\n itemChildren: this.itemChildren,\n loadChildren: this.loadChildren,\n transition: this.transition,\n openOnClick: this.openOnClick,\n rounded: this.rounded,\n shaped: this.shaped,\n level: this.level + 1,\n selectionType: this.selectionType,\n parentIsDisabled,\n }, this.$slots)\n },\n genChildrenWrapper () {\n if (!this.isOpen || !this.children) return null\n\n const children = [this.children.map(c => this.genChild(c, this.disabled))]\n\n return h('div', {\n class: 'v-treeview-node__children',\n }, children)\n },\n genTransition () {\n return h(VExpandTransition, {}, () => [this.genChildrenWrapper()])\n },\n },\n\n render (): VNode {\n const children: VNodeChildren = [this.genNode()]\n\n if (this.transition) children.push(this.genTransition())\n else children.push(this.genChildrenWrapper())\n\n return h('div', {\n class: ['v-treeview-node', {\n 'v-treeview-node--leaf': !this.hasChildren,\n 'v-treeview-node--click': this.openOnClick,\n 'v-treeview-node--disabled': this.disabled,\n 'v-treeview-node--rounded': this.rounded,\n 'v-treeview-node--shaped': this.shaped,\n 'v-treeview-node--selected': this.isSelected,\n }],\n 'aria-expanded': String(this.isOpen),\n }, children)\n },\n})\n\nexport default VTreeviewNode\n"],"sourceRoot":"","file":"VTreeviewNode.js"}
|
|
@@ -17,16 +17,14 @@ var _helpers = require("../../util/helpers");
|
|
|
17
17
|
|
|
18
18
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
19
19
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
20
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
|
|
21
|
+
|
|
22
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
23
|
+
|
|
24
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
25
|
+
|
|
25
26
|
var _default2 = (0, _vue.defineComponent)({
|
|
26
27
|
name: 'v-virtual-scroll',
|
|
27
|
-
directives: {
|
|
28
|
-
Scroll: _scroll.default
|
|
29
|
-
},
|
|
30
28
|
extends: _measurable.default,
|
|
31
29
|
props: {
|
|
32
30
|
bench: {
|
|
@@ -110,18 +108,16 @@ var _default2 = (0, _vue.defineComponent)({
|
|
|
110
108
|
height: (0, _helpers.convertToUnit)(this.items.length * this.__itemHeight)
|
|
111
109
|
}
|
|
112
110
|
}, this.getChildren());
|
|
113
|
-
return (0, _vue.h)('div', {
|
|
111
|
+
return (0, _vue.withDirectives)((0, _vue.h)('div', _objectSpread({
|
|
114
112
|
class: 'v-virtual-scroll',
|
|
115
|
-
style: this.measurableStyles
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
on: this.$listeners
|
|
124
|
-
}, [content]);
|
|
113
|
+
style: this.measurableStyles
|
|
114
|
+
}, this.$listeners), {
|
|
115
|
+
default: function _default() {
|
|
116
|
+
return [content];
|
|
117
|
+
}
|
|
118
|
+
}), [[_scroll.default, this.onScroll, '', {
|
|
119
|
+
self: true
|
|
120
|
+
}]]);
|
|
125
121
|
}
|
|
126
122
|
});
|
|
127
123
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VVirtualScroll/VVirtualScroll.ts"],"names":[],"mappings":";;;;;;;AAAA;;AAEA;;AAGA;;AAGA;;AAGA
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VVirtualScroll/VVirtualScroll.ts"],"names":[],"mappings":"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","sourcesContent":["import {h, withDirectives} from 'vue'\n// Styles\nimport './VVirtualScroll.sass'\n\n// Mixins\nimport Measurable from '../../mixins/measurable'\n\n// Directives\nimport Scroll from '../../directives/scroll'\n\n// Utilities\nimport {\n convertToUnit,\n getSlot,\n} from '../../util/helpers'\n\n// Types\nimport { VNode, defineComponent } from 'vue'\n\nexport default defineComponent({\n name: 'v-virtual-scroll',\n\n extends: Measurable,\n\n props: {\n bench: {\n type: [Number, String],\n default: 0,\n },\n itemHeight: {\n type: [Number, String],\n required: true,\n },\n items: {\n type: Array,\n default: () => [],\n },\n },\n\n data: () => ({\n first: 0,\n last: 0,\n scrollTop: 0,\n }),\n\n computed: {\n __bench (): number {\n return parseInt(this.bench, 10)\n },\n __itemHeight (): number {\n return parseInt(this.itemHeight, 10)\n },\n firstToRender (): number {\n return Math.max(0, this.first - this.__bench)\n },\n lastToRender (): number {\n return Math.min(this.items.length, this.last + this.__bench)\n },\n },\n\n watch: {\n height: 'onScroll',\n itemHeight: 'onScroll',\n },\n\n mounted () {\n this.last = this.getLast(0)\n },\n\n methods: {\n getChildren (): VNode[] {\n return this.items.slice(\n this.firstToRender,\n this.lastToRender,\n ).map(this.genChild)\n },\n genChild (item: any, index: number) {\n index += this.firstToRender\n\n const top = convertToUnit(index * this.__itemHeight)\n\n return h('div', {\n class: 'v-virtual-scroll__item',\n style: { top },\n key: index,\n }, getSlot(this, 'default', { index, item }))\n },\n getFirst (): number {\n return Math.floor(this.scrollTop / this.__itemHeight)\n },\n getLast (first: number): number {\n const height = parseInt(this.height || 0, 10) || this.$el.clientHeight\n\n return first + Math.ceil(height / this.__itemHeight)\n },\n onScroll () {\n this.scrollTop = this.$el.scrollTop\n this.first = this.getFirst()\n this.last = this.getLast(this.first)\n },\n },\n\n render (): VNode {\n const content = h('div', {\n class: 'v-virtual-scroll__container',\n style: {\n height: convertToUnit((this.items.length * this.__itemHeight)),\n },\n }, this.getChildren())\n\n return withDirectives(\n h('div', {\n class: 'v-virtual-scroll',\n style: this.measurableStyles,\n ...(this as any).$listeners,\n }, {\n default: () => [content]\n }),\n [\n [Scroll, this.onScroll, '', { self: true }]\n ]\n )\n },\n})\n"],"sourceRoot":"","file":"VVirtualScroll.js"}
|
|
@@ -28,12 +28,9 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|
|
28
28
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
29
29
|
|
|
30
30
|
/* @vue/component */
|
|
31
|
-
var
|
|
31
|
+
var _default2 = (0, _vue.defineComponent)({
|
|
32
32
|
name: 'v-window',
|
|
33
33
|
extends: _VItemGroup.BaseItemGroup,
|
|
34
|
-
directives: {
|
|
35
|
-
Touch: _touch.default
|
|
36
|
-
},
|
|
37
34
|
provide: function provide() {
|
|
38
35
|
return {
|
|
39
36
|
windowGroup: this
|
|
@@ -164,9 +161,17 @@ var _default = (0, _vue.defineComponent)({
|
|
|
164
161
|
attrs: attrs
|
|
165
162
|
})) !== null && _c !== void 0 ? _c : [(0, _vue.h)(_VBtn.default, _objectSpread({
|
|
166
163
|
icon: true
|
|
167
|
-
}, attrs),
|
|
168
|
-
|
|
169
|
-
|
|
164
|
+
}, attrs), {
|
|
165
|
+
default: function _default() {
|
|
166
|
+
return [(0, _vue.h)(_VIcon.default, {
|
|
167
|
+
large: true
|
|
168
|
+
}, {
|
|
169
|
+
default: function _default() {
|
|
170
|
+
return icon;
|
|
171
|
+
}
|
|
172
|
+
})];
|
|
173
|
+
}
|
|
174
|
+
})];
|
|
170
175
|
return (0, _vue.h)('div', {
|
|
171
176
|
class: "v-window__".concat(direction)
|
|
172
177
|
}, children);
|
|
@@ -262,5 +267,5 @@ var _default = (0, _vue.defineComponent)({
|
|
|
262
267
|
}
|
|
263
268
|
});
|
|
264
269
|
|
|
265
|
-
exports.default =
|
|
270
|
+
exports.default = _default2;
|
|
266
271
|
//# sourceMappingURL=VWindow.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VWindow/VWindow.ts"],"names":[],"mappings":"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","sourcesContent":["import {h, withDirectives} from 'vue'\n// Styles\nimport './VWindow.sass'\n\n// Types\nimport { VNode, VNodeDirective } from 'vue/types/vnode'\nimport { PropType, defineComponent } from 'vue'\nimport { TouchHandlers } from 'vuetify/types'\n\n// Directives\nimport Touch from '../../directives/touch'\n\n// Components\nimport VBtn from '../VBtn'\nimport VIcon from '../VIcon'\nimport { BaseItemGroup } from '../VItemGroup/VItemGroup'\nimport { getSlot } from '../../util/helpers'\n\n/* @vue/component */\nexport default defineComponent({\n name: 'v-window',\n extends: BaseItemGroup,\n\n directives: { Touch },\n\n provide (): object {\n return {\n windowGroup: this,\n }\n },\n\n props: {\n activeClass: {\n type: String,\n default: 'v-window-item--active',\n },\n continuous: Boolean,\n mandatory: {\n type: Boolean,\n default: true,\n },\n nextIcon: {\n type: [Boolean, String],\n default: '$next',\n },\n prevIcon: {\n type: [Boolean, String],\n default: '$prev',\n },\n reverse: Boolean,\n showArrows: Boolean,\n showArrowsOnHover: Boolean,\n touch: Object as PropType<TouchHandlers>,\n touchless: Boolean,\n modelValue: {\n required: false,\n },\n vertical: Boolean,\n },\n\n data () {\n return {\n changedByDelimiters: false,\n internalHeight: undefined as undefined | string, // This can be fixed by child class.\n transitionHeight: undefined as undefined | string, // Intermediate height during transition.\n transitionCount: 0, // Number of windows in transition state.\n isBooted: false,\n isReverse: false,\n }\n },\n\n computed: {\n isActive (): boolean {\n return this.transitionCount > 0\n },\n classes (): object {\n return {\n ...BaseItemGroup.computed.classes.call(this),\n 'v-window--show-arrows-on-hover': this.showArrowsOnHover,\n }\n },\n computedTransition (): string {\n if (!this.isBooted) return ''\n\n const axis = this.vertical ? 'y' : 'x'\n const reverse = this.internalReverse ? !this.isReverse : this.isReverse\n const direction = reverse ? '-reverse' : ''\n\n return `v-window-${axis}${direction}-transition`\n },\n hasActiveItems (): boolean {\n return Boolean(\n this.items.find(item => !item.disabled)\n )\n },\n hasNext (): boolean {\n return this.continuous || this.internalIndex < this.items.length - 1\n },\n hasPrev (): boolean {\n return this.continuous || this.internalIndex > 0\n },\n internalIndex (): number {\n return this.items.findIndex((item, i) => {\n return this.internalValue === this.getValue(item, i)\n })\n },\n internalReverse (): boolean {\n return this.$vuetify.rtl ? !this.reverse : this.reverse\n },\n },\n\n watch: {\n internalIndex (val, oldVal) {\n this.isReverse = this.updateReverse(val, oldVal)\n },\n },\n\n mounted () {\n window.requestAnimationFrame(() => (this.isBooted = true))\n },\n\n methods: {\n genDefaultSlot () {\n return getSlot(this)\n },\n genContainer (): VNode {\n const children = [this.genDefaultSlot()]\n\n if (this.showArrows) {\n children.push(this.genControlIcons())\n }\n\n return h('div', {\n class: ['v-window__container', {\n 'v-window__container--is-active': this.isActive,\n }],\n style: {\n height: this.internalHeight || this.transitionHeight,\n },\n }, children)\n },\n genIcon (\n direction: 'prev' | 'next',\n icon: string,\n click: () => void\n ) {\n\n const attrs = {\n 'aria-label': this.$vuetify.lang.t(`$vuetify.carousel.${direction}`),\n onClick: (e: Event) => {\n e.stopPropagation()\n this.changedByDelimiters = true\n click()\n }\n }\n const children = this.$slots[direction]?.({\n attrs,\n }) ?? [h(VBtn, {\n icon: true,\n ...attrs,\n }, [\n h(VIcon, {\n large: true,\n }, icon),\n ])]\n\n return h('div', {\n class: `v-window__${direction}`,\n }, children)\n },\n genControlIcons () {\n const icons = []\n\n const prevIcon = this.$vuetify.rtl\n ? this.nextIcon\n : this.prevIcon\n\n /* istanbul ignore else */\n if (\n this.hasPrev &&\n prevIcon &&\n typeof prevIcon === 'string'\n ) {\n const icon = this.genIcon('prev', prevIcon, this.prev)\n icon && icons.push(icon)\n }\n\n const nextIcon = this.$vuetify.rtl\n ? this.prevIcon\n : this.nextIcon\n\n /* istanbul ignore else */\n if (\n this.hasNext &&\n nextIcon &&\n typeof nextIcon === 'string'\n ) {\n const icon = this.genIcon('next', nextIcon, this.next)\n icon && icons.push(icon)\n }\n\n return icons\n },\n getNextIndex (index: number): number {\n const nextIndex = (index + 1) % this.items.length\n const item = this.items[nextIndex]\n\n if (item.disabled) return this.getNextIndex(nextIndex)\n\n return nextIndex\n },\n getPrevIndex (index: number): number {\n const prevIndex = (index + this.items.length - 1) % this.items.length\n const item = this.items[prevIndex]\n\n if (item.disabled) return this.getPrevIndex(prevIndex)\n\n return prevIndex\n },\n next () {\n /* istanbul ignore if */\n if (!this.hasActiveItems || !this.hasNext) return\n\n const nextIndex = this.getNextIndex(this.internalIndex)\n const item = this.items[nextIndex]\n\n this.internalValue = this.getValue(item, nextIndex)\n },\n prev () {\n /* istanbul ignore if */\n if (!this.hasActiveItems || !this.hasPrev) return\n\n const lastIndex = this.getPrevIndex(this.internalIndex)\n const item = this.items[lastIndex]\n\n this.internalValue = this.getValue(item, lastIndex)\n },\n updateReverse (val: number, oldVal: number) {\n const itemsLength = this.items.length\n const lastIndex = itemsLength - 1\n\n if (itemsLength <= 2) return val < oldVal\n\n if (val === lastIndex && oldVal === 0) {\n return true\n } else if (val === 0 && oldVal === lastIndex) {\n return false\n } else {\n return val < oldVal\n }\n },\n },\n\n render (): VNode {\n const directives = []\n\n const data = {\n class: ['v-window', this.classes]\n }\n\n if (!this.touchless) {\n const value = this.touch || {\n left: () => {\n this.$vuetify.rtl ? this.prev() : this.next()\n },\n right: () => {\n this.$vuetify.rtl ? this.next() : this.prev()\n },\n end: (e: TouchEvent) => {\n e.stopPropagation()\n },\n start: (e: TouchEvent) => {\n e.stopPropagation()\n },\n }\n\n directives.push([\n Touch,\n value\n ])\n }\n\n return withDirectives(h('div', data, [this.genContainer()]), directives)\n },\n})\n"],"sourceRoot":"","file":"VWindow.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VWindow/VWindow.ts"],"names":[],"mappings":"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","sourcesContent":["import {h, withDirectives} from 'vue'\n// Styles\nimport './VWindow.sass'\n\n// Types\nimport { VNode, VNodeDirective } from 'vue/types/vnode'\nimport { PropType, defineComponent } from 'vue'\nimport { TouchHandlers } from 'vuetify/types'\n\n// Directives\nimport Touch from '../../directives/touch'\n\n// Components\nimport VBtn from '../VBtn'\nimport VIcon from '../VIcon'\nimport { BaseItemGroup } from '../VItemGroup/VItemGroup'\nimport { getSlot } from '../../util/helpers'\n\n/* @vue/component */\nexport default defineComponent({\n name: 'v-window',\n extends: BaseItemGroup,\n\n\n provide (): object {\n return {\n windowGroup: this,\n }\n },\n\n props: {\n activeClass: {\n type: String,\n default: 'v-window-item--active',\n },\n continuous: Boolean,\n mandatory: {\n type: Boolean,\n default: true,\n },\n nextIcon: {\n type: [Boolean, String],\n default: '$next',\n },\n prevIcon: {\n type: [Boolean, String],\n default: '$prev',\n },\n reverse: Boolean,\n showArrows: Boolean,\n showArrowsOnHover: Boolean,\n touch: Object as PropType<TouchHandlers>,\n touchless: Boolean,\n modelValue: {\n required: false,\n },\n vertical: Boolean,\n },\n\n data () {\n return {\n changedByDelimiters: false,\n internalHeight: undefined as undefined | string, // This can be fixed by child class.\n transitionHeight: undefined as undefined | string, // Intermediate height during transition.\n transitionCount: 0, // Number of windows in transition state.\n isBooted: false,\n isReverse: false,\n }\n },\n\n computed: {\n isActive (): boolean {\n return this.transitionCount > 0\n },\n classes (): object {\n return {\n ...BaseItemGroup.computed.classes.call(this),\n 'v-window--show-arrows-on-hover': this.showArrowsOnHover,\n }\n },\n computedTransition (): string {\n if (!this.isBooted) return ''\n\n const axis = this.vertical ? 'y' : 'x'\n const reverse = this.internalReverse ? !this.isReverse : this.isReverse\n const direction = reverse ? '-reverse' : ''\n\n return `v-window-${axis}${direction}-transition`\n },\n hasActiveItems (): boolean {\n return Boolean(\n this.items.find(item => !item.disabled)\n )\n },\n hasNext (): boolean {\n return this.continuous || this.internalIndex < this.items.length - 1\n },\n hasPrev (): boolean {\n return this.continuous || this.internalIndex > 0\n },\n internalIndex (): number {\n return this.items.findIndex((item, i) => {\n return this.internalValue === this.getValue(item, i)\n })\n },\n internalReverse (): boolean {\n return this.$vuetify.rtl ? !this.reverse : this.reverse\n },\n },\n\n watch: {\n internalIndex (val, oldVal) {\n this.isReverse = this.updateReverse(val, oldVal)\n },\n },\n\n mounted () {\n window.requestAnimationFrame(() => (this.isBooted = true))\n },\n\n methods: {\n genDefaultSlot () {\n return getSlot(this)\n },\n genContainer (): VNode {\n const children = [this.genDefaultSlot()]\n\n if (this.showArrows) {\n children.push(this.genControlIcons())\n }\n\n return h('div', {\n class: ['v-window__container', {\n 'v-window__container--is-active': this.isActive,\n }],\n style: {\n height: this.internalHeight || this.transitionHeight,\n },\n }, children)\n },\n genIcon (\n direction: 'prev' | 'next',\n icon: string,\n click: () => void\n ) {\n\n const attrs = {\n 'aria-label': this.$vuetify.lang.t(`$vuetify.carousel.${direction}`),\n onClick: (e: Event) => {\n e.stopPropagation()\n this.changedByDelimiters = true\n click()\n }\n }\n const children = this.$slots[direction]?.({\n attrs,\n }) ?? [h(VBtn, {\n icon: true,\n ...attrs,\n }, {\n default: () => [\n h(VIcon, {\n large: true,\n }, {\n default: () => icon\n }),\n ]\n })]\n\n return h('div', {\n class: `v-window__${direction}`,\n }, children)\n },\n genControlIcons () {\n const icons = []\n\n const prevIcon = this.$vuetify.rtl\n ? this.nextIcon\n : this.prevIcon\n\n /* istanbul ignore else */\n if (\n this.hasPrev &&\n prevIcon &&\n typeof prevIcon === 'string'\n ) {\n const icon = this.genIcon('prev', prevIcon, this.prev)\n icon && icons.push(icon)\n }\n\n const nextIcon = this.$vuetify.rtl\n ? this.prevIcon\n : this.nextIcon\n\n /* istanbul ignore else */\n if (\n this.hasNext &&\n nextIcon &&\n typeof nextIcon === 'string'\n ) {\n const icon = this.genIcon('next', nextIcon, this.next)\n icon && icons.push(icon)\n }\n\n return icons\n },\n getNextIndex (index: number): number {\n const nextIndex = (index + 1) % this.items.length\n const item = this.items[nextIndex]\n\n if (item.disabled) return this.getNextIndex(nextIndex)\n\n return nextIndex\n },\n getPrevIndex (index: number): number {\n const prevIndex = (index + this.items.length - 1) % this.items.length\n const item = this.items[prevIndex]\n\n if (item.disabled) return this.getPrevIndex(prevIndex)\n\n return prevIndex\n },\n next () {\n /* istanbul ignore if */\n if (!this.hasActiveItems || !this.hasNext) return\n\n const nextIndex = this.getNextIndex(this.internalIndex)\n const item = this.items[nextIndex]\n\n this.internalValue = this.getValue(item, nextIndex)\n },\n prev () {\n /* istanbul ignore if */\n if (!this.hasActiveItems || !this.hasPrev) return\n\n const lastIndex = this.getPrevIndex(this.internalIndex)\n const item = this.items[lastIndex]\n\n this.internalValue = this.getValue(item, lastIndex)\n },\n updateReverse (val: number, oldVal: number) {\n const itemsLength = this.items.length\n const lastIndex = itemsLength - 1\n\n if (itemsLength <= 2) return val < oldVal\n\n if (val === lastIndex && oldVal === 0) {\n return true\n } else if (val === 0 && oldVal === lastIndex) {\n return false\n } else {\n return val < oldVal\n }\n },\n },\n\n render (): VNode {\n const directives = []\n\n const data = {\n class: ['v-window', this.classes]\n }\n\n if (!this.touchless) {\n const value = this.touch || {\n left: () => {\n this.$vuetify.rtl ? this.prev() : this.next()\n },\n right: () => {\n this.$vuetify.rtl ? this.next() : this.prev()\n },\n end: (e: TouchEvent) => {\n e.stopPropagation()\n },\n start: (e: TouchEvent) => {\n e.stopPropagation()\n },\n }\n\n directives.push([\n Touch,\n value\n ])\n }\n\n return withDirectives(h('div', data, [this.genContainer()]), directives)\n },\n})\n"],"sourceRoot":"","file":"VWindow.js"}
|