@dimailn/vuetify 2.7.2-alpha2 → 2.7.2-superbundle
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.css +4806 -4806
- package/dist/vuetify.css.map +1 -1
- package/dist/vuetify.js +5565 -5345
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +3 -3
- package/dist/vuetify.min.js +2 -2
- package/dist/vuetify.sass +109 -0
- package/es5/components/VAlert/VAlert.js +54 -38
- package/es5/components/VAlert/VAlert.js.map +1 -1
- package/es5/components/VApp/VApp.js +16 -12
- package/es5/components/VApp/VApp.js.map +1 -1
- package/es5/components/VAppBar/VAppBar.js +10 -12
- package/es5/components/VAppBar/VAppBar.js.map +1 -1
- package/es5/components/VAppBar/VAppBarNavIcon.js +20 -13
- package/es5/components/VAppBar/VAppBarNavIcon.js.map +1 -1
- package/es5/components/VAppBar/VAppBarTitle.js +8 -9
- package/es5/components/VAppBar/VAppBarTitle.js.map +1 -1
- package/es5/components/VAutocomplete/VAutocomplete.js +23 -22
- package/es5/components/VAutocomplete/VAutocomplete.js.map +1 -1
- package/es5/components/VAvatar/VAvatar.js +8 -9
- package/es5/components/VAvatar/VAvatar.js.map +1 -1
- package/es5/components/VBadge/VBadge.js +24 -22
- package/es5/components/VBadge/VBadge.js.map +1 -1
- package/es5/components/VBanner/VBanner.js +37 -32
- package/es5/components/VBanner/VBanner.js.map +1 -1
- package/es5/components/VBottomNavigation/VBottomNavigation.js +14 -11
- package/es5/components/VBottomNavigation/VBottomNavigation.js.map +1 -1
- package/es5/components/VBottomSheet/VBottomSheet.js +2 -5
- package/es5/components/VBottomSheet/VBottomSheet.js.map +1 -1
- package/es5/components/VBreadcrumbs/VBreadcrumbs.js +11 -11
- package/es5/components/VBreadcrumbs/VBreadcrumbs.js.map +1 -1
- package/es5/components/VBreadcrumbs/VBreadcrumbsItem.js +7 -8
- package/es5/components/VBreadcrumbs/VBreadcrumbsItem.js.map +1 -1
- package/es5/components/VBtn/VBtn.js +24 -30
- package/es5/components/VBtn/VBtn.js.map +1 -1
- package/es5/components/VBtnToggle/VBtnToggle.js +2 -2
- package/es5/components/VBtnToggle/VBtnToggle.js.map +1 -1
- package/es5/components/VCalendar/VCalendar.js +27 -25
- package/es5/components/VCalendar/VCalendar.js.map +1 -1
- package/es5/components/VCalendar/VCalendarCategory.js +21 -23
- package/es5/components/VCalendar/VCalendarCategory.js.map +1 -1
- package/es5/components/VCalendar/VCalendarDaily.js +69 -67
- package/es5/components/VCalendar/VCalendarDaily.js.map +1 -1
- package/es5/components/VCalendar/VCalendarMonthly.js +1 -4
- package/es5/components/VCalendar/VCalendarMonthly.js.map +1 -1
- package/es5/components/VCalendar/VCalendarWeekly.js +65 -64
- package/es5/components/VCalendar/VCalendarWeekly.js.map +1 -1
- package/es5/components/VCalendar/mixins/calendar-with-events.js +64 -58
- package/es5/components/VCalendar/mixins/calendar-with-events.js.map +1 -1
- package/es5/components/VCalendar/mixins/calendar-with-intervals.js +1 -4
- package/es5/components/VCalendar/mixins/calendar-with-intervals.js.map +1 -1
- package/es5/components/VCalendar/mixins/times.js +4 -2
- package/es5/components/VCalendar/mixins/times.js.map +1 -1
- package/es5/components/VCard/VCard.js +11 -13
- package/es5/components/VCard/VCard.js.map +1 -1
- package/es5/components/VCarousel/VCarousel.js +37 -28
- package/es5/components/VCarousel/VCarousel.js.map +1 -1
- package/es5/components/VCarousel/VCarouselItem.js +18 -16
- package/es5/components/VCarousel/VCarouselItem.js.map +1 -1
- package/es5/components/VCheckbox/VCheckbox.js +10 -11
- package/es5/components/VCheckbox/VCheckbox.js.map +1 -1
- package/es5/components/VCheckbox/VSimpleCheckbox.js +29 -20
- package/es5/components/VCheckbox/VSimpleCheckbox.js.map +1 -1
- package/es5/components/VChip/VChip.js +44 -37
- package/es5/components/VChip/VChip.js.map +1 -1
- package/es5/components/VChipGroup/VChipGroup.js +2 -2
- package/es5/components/VChipGroup/VChipGroup.js.map +1 -1
- package/es5/components/VColorPicker/VColorPicker.js +38 -32
- package/es5/components/VColorPicker/VColorPicker.js.map +1 -1
- package/es5/components/VColorPicker/VColorPickerCanvas.js +22 -19
- package/es5/components/VColorPicker/VColorPickerCanvas.js.map +1 -1
- package/es5/components/VColorPicker/VColorPickerEdit.js +28 -25
- package/es5/components/VColorPicker/VColorPickerEdit.js.map +1 -1
- package/es5/components/VColorPicker/VColorPickerPreview.js +48 -37
- package/es5/components/VColorPicker/VColorPickerPreview.js.map +1 -1
- package/es5/components/VColorPicker/VColorPickerSwatches.js +15 -15
- package/es5/components/VColorPicker/VColorPickerSwatches.js.map +1 -1
- package/es5/components/VCombobox/VCombobox.js +27 -22
- package/es5/components/VCombobox/VCombobox.js.map +1 -1
- package/es5/components/VContent/VContent.js +4 -8
- package/es5/components/VContent/VContent.js.map +1 -1
- package/es5/components/VCounter/VCounter.js +5 -7
- package/es5/components/VCounter/VCounter.js.map +1 -1
- package/es5/components/VData/VData.js +5 -3
- package/es5/components/VData/VData.js.map +1 -1
- package/es5/components/VDataIterator/VDataFooter.js +46 -34
- package/es5/components/VDataIterator/VDataFooter.js.map +1 -1
- package/es5/components/VDataIterator/VDataIterator.js +22 -20
- package/es5/components/VDataIterator/VDataIterator.js.map +1 -1
- package/es5/components/VDataTable/MobileRow.js +21 -15
- package/es5/components/VDataTable/MobileRow.js.map +1 -1
- package/es5/components/VDataTable/Row.js +15 -11
- package/es5/components/VDataTable/Row.js.map +1 -1
- package/es5/components/VDataTable/RowGroup.js +12 -9
- package/es5/components/VDataTable/RowGroup.js.map +1 -1
- package/es5/components/VDataTable/VDataTable.js +206 -176
- package/es5/components/VDataTable/VDataTable.js.map +1 -1
- package/es5/components/VDataTable/VDataTableHeader.js +20 -12
- package/es5/components/VDataTable/VDataTableHeader.js.map +1 -1
- package/es5/components/VDataTable/VDataTableHeaderDesktop.js +24 -21
- package/es5/components/VDataTable/VDataTableHeaderDesktop.js.map +1 -1
- package/es5/components/VDataTable/VDataTableHeaderMobile.js +19 -22
- package/es5/components/VDataTable/VDataTableHeaderMobile.js.map +1 -1
- package/es5/components/VDataTable/VEditDialog.js +43 -34
- package/es5/components/VDataTable/VEditDialog.js.map +1 -1
- package/es5/components/VDataTable/VSimpleTable.js +7 -8
- package/es5/components/VDataTable/VSimpleTable.js.map +1 -1
- package/es5/components/VDataTable/VVirtualTable.js +16 -17
- package/es5/components/VDataTable/VVirtualTable.js.map +1 -1
- package/es5/components/VDataTable/mixins/header.js +18 -14
- package/es5/components/VDataTable/mixins/header.js.map +1 -1
- package/es5/components/VDatePicker/VDatePicker.js +113 -99
- package/es5/components/VDatePicker/VDatePicker.js.map +1 -1
- package/es5/components/VDatePicker/VDatePickerDateTable.js +12 -13
- package/es5/components/VDatePicker/VDatePickerDateTable.js.map +1 -1
- package/es5/components/VDatePicker/VDatePickerHeader.js +38 -26
- package/es5/components/VDatePicker/VDatePickerHeader.js.map +1 -1
- package/es5/components/VDatePicker/VDatePickerMonthTable.js +3 -3
- package/es5/components/VDatePicker/VDatePickerMonthTable.js.map +1 -1
- package/es5/components/VDatePicker/VDatePickerTitle.js +17 -12
- package/es5/components/VDatePicker/VDatePickerTitle.js.map +1 -1
- package/es5/components/VDatePicker/VDatePickerYears.js +3 -3
- package/es5/components/VDatePicker/VDatePickerYears.js.map +1 -1
- package/es5/components/VDatePicker/mixins/date-picker-table.js +47 -34
- package/es5/components/VDatePicker/mixins/date-picker-table.js.map +1 -1
- package/es5/components/VDatePicker/util/eventHelpers.js.map +1 -1
- package/es5/components/VDialog/VDialog.js +46 -29
- package/es5/components/VDialog/VDialog.js.map +1 -1
- package/es5/components/VDivider/VDivider.js +9 -11
- package/es5/components/VDivider/VDivider.js.map +1 -1
- package/es5/components/VExpansionPanel/VExpansionPanel.js +8 -9
- package/es5/components/VExpansionPanel/VExpansionPanel.js.map +1 -1
- package/es5/components/VExpansionPanel/VExpansionPanelContent.js +11 -9
- package/es5/components/VExpansionPanel/VExpansionPanelContent.js.map +1 -1
- package/es5/components/VExpansionPanel/VExpansionPanelHeader.js +34 -31
- package/es5/components/VExpansionPanel/VExpansionPanelHeader.js.map +1 -1
- package/es5/components/VExpansionPanel/VExpansionPanels.js +2 -5
- package/es5/components/VExpansionPanel/VExpansionPanels.js.map +1 -1
- package/es5/components/VFileInput/VFileInput.js +35 -32
- package/es5/components/VFileInput/VFileInput.js.map +1 -1
- package/es5/components/VFooter/VFooter.js +9 -11
- package/es5/components/VFooter/VFooter.js.map +1 -1
- package/es5/components/VForm/VForm.js +12 -11
- package/es5/components/VForm/VForm.js.map +1 -1
- package/es5/components/VGrid/VCol.js +8 -8
- package/es5/components/VGrid/VCol.js.map +1 -1
- package/es5/components/VGrid/VContainer.js +19 -17
- package/es5/components/VGrid/VContainer.js.map +1 -1
- package/es5/components/VGrid/VRow.js +10 -7
- package/es5/components/VGrid/VRow.js.map +1 -1
- package/es5/components/VGrid/grid.js +9 -7
- package/es5/components/VGrid/grid.js.map +1 -1
- package/es5/components/VHover/VHover.js +3 -3
- package/es5/components/VHover/VHover.js.map +1 -1
- package/es5/components/VIcon/VIcon.js +36 -69
- package/es5/components/VIcon/VIcon.js.map +1 -1
- package/es5/components/VImg/VImg.js +41 -38
- package/es5/components/VImg/VImg.js.map +1 -1
- package/es5/components/VInput/VInput.js +77 -70
- package/es5/components/VInput/VInput.js.map +1 -1
- package/es5/components/VItemGroup/VItem.js +6 -5
- package/es5/components/VItemGroup/VItem.js.map +1 -1
- package/es5/components/VItemGroup/VItemGroup.js +4 -8
- package/es5/components/VItemGroup/VItemGroup.js.map +1 -1
- package/es5/components/VLabel/VLabel.js +15 -12
- package/es5/components/VLabel/VLabel.js.map +1 -1
- package/es5/components/VLazy/VLazy.js +7 -7
- package/es5/components/VLazy/VLazy.js.map +1 -1
- package/es5/components/VList/VList.js +12 -12
- package/es5/components/VList/VList.js.map +1 -1
- package/es5/components/VList/VListGroup.js +32 -31
- package/es5/components/VList/VListGroup.js.map +1 -1
- package/es5/components/VList/VListItem.js +22 -26
- package/es5/components/VList/VListItem.js.map +1 -1
- package/es5/components/VList/VListItemAction.js +11 -8
- package/es5/components/VList/VListItemAction.js.map +1 -1
- package/es5/components/VList/VListItemAvatar.js +9 -9
- package/es5/components/VList/VListItemAvatar.js.map +1 -1
- package/es5/components/VList/VListItemGroup.js +2 -2
- package/es5/components/VList/VListItemGroup.js.map +1 -1
- package/es5/components/VList/VListItemIcon.js +9 -11
- package/es5/components/VList/VListItemIcon.js.map +1 -1
- package/es5/components/VMain/VMain.js +5 -9
- package/es5/components/VMain/VMain.js.map +1 -1
- package/es5/components/VMenu/VMenu.js +66 -42
- package/es5/components/VMenu/VMenu.js.map +1 -1
- package/es5/components/VMessages/VMessages.js +12 -12
- package/es5/components/VMessages/VMessages.js.map +1 -1
- package/es5/components/VNavigationDrawer/VNavigationDrawer.js +59 -51
- package/es5/components/VNavigationDrawer/VNavigationDrawer.js.map +1 -1
- package/es5/components/VOtpInput/VOtpInput.js +57 -52
- package/es5/components/VOtpInput/VOtpInput.js.map +1 -1
- package/es5/components/VOverflowBtn/VOverflowBtn.js +8 -11
- package/es5/components/VOverflowBtn/VOverflowBtn.js.map +1 -1
- package/es5/components/VOverlay/VOverlay.js +8 -11
- package/es5/components/VOverlay/VOverlay.js.map +1 -1
- package/es5/components/VPagination/VPagination.js +48 -35
- package/es5/components/VPagination/VPagination.js.map +1 -1
- package/es5/components/VParallax/VParallax.js +20 -23
- package/es5/components/VParallax/VParallax.js.map +1 -1
- package/es5/components/VPicker/VPicker.js +21 -17
- package/es5/components/VPicker/VPicker.js.map +1 -1
- package/es5/components/VProgressCircular/VProgressCircular.js +40 -38
- package/es5/components/VProgressCircular/VProgressCircular.js.map +1 -1
- package/es5/components/VProgressLinear/VProgressLinear.js +32 -33
- package/es5/components/VProgressLinear/VProgressLinear.js.map +1 -1
- package/es5/components/VRadioGroup/VRadio.js +37 -29
- package/es5/components/VRadioGroup/VRadio.js.map +1 -1
- package/es5/components/VRadioGroup/VRadioGroup.js +17 -16
- package/es5/components/VRadioGroup/VRadioGroup.js.map +1 -1
- package/es5/components/VRangeSlider/VRangeSlider.js +7 -10
- package/es5/components/VRangeSlider/VRangeSlider.js.map +1 -1
- package/es5/components/VRating/VRating.js +48 -52
- package/es5/components/VRating/VRating.js.map +1 -1
- package/es5/components/VResponsive/VResponsive.js +11 -11
- package/es5/components/VResponsive/VResponsive.js.map +1 -1
- package/es5/components/VSelect/VSelect.js +126 -102
- package/es5/components/VSelect/VSelect.js.map +1 -1
- package/es5/components/VSelect/VSelectList.js +63 -44
- package/es5/components/VSelect/VSelectList.js.map +1 -1
- package/es5/components/VSheet/VSheet.js +9 -12
- package/es5/components/VSheet/VSheet.js.map +1 -1
- package/es5/components/VSkeletonLoader/VSkeletonLoader.js +22 -18
- package/es5/components/VSkeletonLoader/VSkeletonLoader.js.map +1 -1
- package/es5/components/VSlideGroup/VSlideGroup.js +56 -39
- package/es5/components/VSlideGroup/VSlideGroup.js.map +1 -1
- package/es5/components/VSlider/VSlider.js +75 -62
- package/es5/components/VSlider/VSlider.js.map +1 -1
- package/es5/components/VSnackbar/VSnackbar.js +32 -22
- package/es5/components/VSnackbar/VSnackbar.js.map +1 -1
- package/es5/components/VSparkline/VSparkline.js +24 -24
- package/es5/components/VSparkline/VSparkline.js.map +1 -1
- package/es5/components/VSpeedDial/VSpeedDial.js +11 -11
- package/es5/components/VSpeedDial/VSpeedDial.js.map +1 -1
- package/es5/components/VStepper/VStepper.js +6 -7
- package/es5/components/VStepper/VStepper.js.map +1 -1
- package/es5/components/VStepper/VStepperContent.js +13 -15
- package/es5/components/VStepper/VStepperContent.js.map +1 -1
- package/es5/components/VStepper/VStepperStep.js +23 -22
- package/es5/components/VStepper/VStepperStep.js.map +1 -1
- package/es5/components/VSubheader/VSubheader.js +8 -7
- package/es5/components/VSubheader/VSubheader.js.map +1 -1
- package/es5/components/VSwitch/VSwitch.js +22 -22
- package/es5/components/VSwitch/VSwitch.js.map +1 -1
- package/es5/components/VSystemBar/VSystemBar.js +8 -9
- package/es5/components/VSystemBar/VSystemBar.js.map +1 -1
- package/es5/components/VTabs/VTab.js +10 -12
- package/es5/components/VTabs/VTab.js.map +1 -1
- package/es5/components/VTabs/VTabItem.js +4 -6
- package/es5/components/VTabs/VTabItem.js.map +1 -1
- package/es5/components/VTabs/VTabs.js +47 -34
- package/es5/components/VTabs/VTabs.js.map +1 -1
- package/es5/components/VTabs/VTabsBar.js +9 -8
- package/es5/components/VTabs/VTabsBar.js.map +1 -1
- package/es5/components/VTabs/VTabsItems.js +3 -6
- package/es5/components/VTabs/VTabsItems.js.map +1 -1
- package/es5/components/VTabs/VTabsSlider.js +3 -5
- package/es5/components/VTabs/VTabsSlider.js.map +1 -1
- package/es5/components/VTextField/VTextField.js +74 -59
- package/es5/components/VTextField/VTextField.js.map +1 -1
- package/es5/components/VTextarea/VTextarea.js +5 -6
- package/es5/components/VTextarea/VTextarea.js.map +1 -1
- package/es5/components/VThemeProvider/VThemeProvider.js +5 -5
- package/es5/components/VThemeProvider/VThemeProvider.js.map +1 -1
- package/es5/components/VTimePicker/VTimePicker.js +29 -25
- package/es5/components/VTimePicker/VTimePicker.js.map +1 -1
- package/es5/components/VTimePicker/VTimePickerClock.js +41 -40
- package/es5/components/VTimePicker/VTimePickerClock.js.map +1 -1
- package/es5/components/VTimePicker/VTimePickerTitle.js +14 -15
- package/es5/components/VTimePicker/VTimePickerTitle.js.map +1 -1
- package/es5/components/VTimeline/VTimeline.js +4 -5
- package/es5/components/VTimeline/VTimeline.js.map +1 -1
- package/es5/components/VTimeline/VTimelineItem.js +24 -24
- package/es5/components/VTimeline/VTimelineItem.js.map +1 -1
- package/es5/components/VToolbar/VToolbar.js +14 -17
- package/es5/components/VToolbar/VToolbar.js.map +1 -1
- package/es5/components/VTooltip/VTooltip.js +13 -11
- package/es5/components/VTooltip/VTooltip.js.map +1 -1
- package/es5/components/VTreeview/VTreeview.js +6 -7
- package/es5/components/VTreeview/VTreeview.js.map +1 -1
- package/es5/components/VTreeview/VTreeviewNode.js +109 -93
- package/es5/components/VTreeview/VTreeviewNode.js.map +1 -1
- package/es5/components/VVirtualScroll/VVirtualScroll.js +8 -12
- package/es5/components/VVirtualScroll/VVirtualScroll.js.map +1 -1
- package/es5/components/VWindow/VWindow.js +38 -26
- package/es5/components/VWindow/VWindow.js.map +1 -1
- package/es5/components/VWindow/VWindowItem.js +30 -25
- package/es5/components/VWindow/VWindowItem.js.map +1 -1
- package/es5/components/index.js +112 -0
- package/es5/components/index.js.map +1 -1
- package/es5/components/transitions/createTransition.js +24 -22
- package/es5/components/transitions/createTransition.js.map +1 -1
- package/es5/directives/click-outside/index.js +6 -6
- package/es5/directives/click-outside/index.js.map +1 -1
- package/es5/directives/intersect/index.js +6 -6
- package/es5/directives/intersect/index.js.map +1 -1
- package/es5/directives/ripple/index.js +5 -11
- package/es5/directives/ripple/index.js.map +1 -1
- package/es5/directives/touch/index.js +6 -12
- package/es5/directives/touch/index.js.map +1 -1
- package/es5/framework.js +1 -1
- package/es5/framework.js.map +1 -1
- package/es5/helpers.js +64 -0
- package/es5/helpers.js.map +1 -0
- package/es5/index.js +36 -31
- package/es5/index.js.map +1 -1
- package/es5/install.js +15 -42
- package/es5/install.js.map +1 -1
- package/es5/mixins/activatable/index.js +12 -19
- package/es5/mixins/activatable/index.js.map +1 -1
- package/es5/mixins/binds-attrs/index.js +5 -3
- package/es5/mixins/binds-attrs/index.js.map +1 -1
- package/es5/mixins/bootable/index.js +5 -3
- package/es5/mixins/bootable/index.js.map +1 -1
- package/es5/mixins/button-group/index.js +3 -6
- package/es5/mixins/button-group/index.js.map +1 -1
- package/es5/mixins/colorable/index.js +8 -36
- package/es5/mixins/colorable/index.js.map +1 -1
- package/es5/mixins/comparable/index.js +4 -2
- package/es5/mixins/comparable/index.js.map +1 -1
- package/es5/mixins/delayable/index.js +4 -2
- package/es5/mixins/delayable/index.js.map +1 -1
- package/es5/mixins/dependent/index.js +2 -8
- package/es5/mixins/dependent/index.js.map +1 -1
- package/es5/mixins/detachable/index.js +2 -2
- package/es5/mixins/detachable/index.js.map +1 -1
- package/es5/mixins/elevatable/index.js +4 -2
- package/es5/mixins/elevatable/index.js.map +1 -1
- package/es5/mixins/filterable/index.js +4 -2
- package/es5/mixins/filterable/index.js.map +1 -1
- package/es5/mixins/groupable/index.js +11 -14
- package/es5/mixins/groupable/index.js.map +1 -1
- package/es5/mixins/intersectable/index.js +5 -11
- package/es5/mixins/intersectable/index.js.map +1 -1
- package/es5/mixins/loadable/index.js +9 -7
- package/es5/mixins/loadable/index.js.map +1 -1
- package/es5/mixins/localable/index.js +4 -2
- package/es5/mixins/localable/index.js.map +1 -1
- package/es5/mixins/measurable/index.js +4 -2
- package/es5/mixins/measurable/index.js.map +1 -1
- package/es5/mixins/menuable/index.js +5 -8
- package/es5/mixins/menuable/index.js.map +1 -1
- package/es5/mixins/mobile/index.js +13 -9
- package/es5/mixins/mobile/index.js.map +1 -1
- package/es5/mixins/mouse/index.js +6 -9
- package/es5/mixins/mouse/index.js.map +1 -1
- package/es5/mixins/overlayable/index.js +16 -46
- package/es5/mixins/overlayable/index.js.map +1 -1
- package/es5/mixins/picker/index.js +20 -19
- package/es5/mixins/picker/index.js.map +1 -1
- package/es5/mixins/picker-button/index.js +11 -14
- package/es5/mixins/picker-button/index.js.map +1 -1
- package/es5/mixins/positionable/index.js +4 -2
- package/es5/mixins/positionable/index.js.map +1 -1
- package/es5/mixins/proxyable/index.js +6 -4
- package/es5/mixins/proxyable/index.js.map +1 -1
- package/es5/mixins/registrable/index.js +5 -3
- package/es5/mixins/registrable/index.js.map +1 -1
- package/es5/mixins/returnable/index.js +4 -2
- package/es5/mixins/returnable/index.js.map +1 -1
- package/es5/mixins/rippleable/index.js +13 -21
- package/es5/mixins/rippleable/index.js.map +1 -1
- package/es5/mixins/roundable/index.js +4 -2
- package/es5/mixins/roundable/index.js.map +1 -1
- package/es5/mixins/routable/index.js +25 -24
- package/es5/mixins/routable/index.js.map +1 -1
- package/es5/mixins/scrollable/index.js +4 -2
- package/es5/mixins/scrollable/index.js.map +1 -1
- package/es5/mixins/selectable/index.js +33 -31
- package/es5/mixins/selectable/index.js.map +1 -1
- package/es5/mixins/sizeable/index.js +4 -2
- package/es5/mixins/sizeable/index.js.map +1 -1
- package/es5/mixins/ssr-bootable/index.js +4 -2
- package/es5/mixins/ssr-bootable/index.js.map +1 -1
- package/es5/mixins/stackable/index.js +4 -2
- package/es5/mixins/stackable/index.js.map +1 -1
- package/es5/mixins/themeable/index.js +16 -5
- package/es5/mixins/themeable/index.js.map +1 -1
- package/es5/mixins/toggleable/index.js +10 -4
- package/es5/mixins/toggleable/index.js.map +1 -1
- package/es5/mixins/transitionable/index.js +4 -2
- package/es5/mixins/transitionable/index.js.map +1 -1
- package/es5/mixins/translatable/index.js +4 -2
- package/es5/mixins/translatable/index.js.map +1 -1
- package/es5/mixins/validatable/index.js +1 -1
- package/es5/mixins/validatable/index.js.map +1 -1
- package/es5/services/goto/util.js.map +1 -1
- package/es5/services/theme/index.js +19 -6
- package/es5/services/theme/index.js.map +1 -1
- package/es5/util/helpers.js +20 -33
- package/es5/util/helpers.js.map +1 -1
- package/es5/util/mergeData.js +1 -1
- package/es5/util/mergeData.js.map +1 -1
- package/es5/util/mixins.js +5 -11
- package/es5/util/mixins.js.map +1 -1
- package/es5/vuetify.js +45 -0
- package/es5/vuetify.js.map +1 -0
- package/lib/components/VAlert/VAlert.js +54 -38
- package/lib/components/VAlert/VAlert.js.map +1 -1
- package/lib/components/VApp/VApp.js +14 -10
- package/lib/components/VApp/VApp.js.map +1 -1
- package/lib/components/VAppBar/VAppBar.js +11 -12
- package/lib/components/VAppBar/VAppBar.js.map +1 -1
- package/lib/components/VAppBar/VAppBarNavIcon.js +15 -10
- package/lib/components/VAppBar/VAppBarNavIcon.js.map +1 -1
- package/lib/components/VAppBar/VAppBarTitle.js +4 -6
- package/lib/components/VAppBar/VAppBarTitle.js.map +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.js +23 -22
- package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
- package/lib/components/VAvatar/VAvatar.js +4 -4
- package/lib/components/VAvatar/VAvatar.js.map +1 -1
- package/lib/components/VBadge/VBadge.js +26 -22
- package/lib/components/VBadge/VBadge.js.map +1 -1
- package/lib/components/VBanner/VBanner.js +28 -23
- package/lib/components/VBanner/VBanner.js.map +1 -1
- package/lib/components/VBottomNavigation/VBottomNavigation.js +14 -10
- package/lib/components/VBottomNavigation/VBottomNavigation.js.map +1 -1
- package/lib/components/VBottomSheet/VBottomSheet.js +2 -4
- package/lib/components/VBottomSheet/VBottomSheet.js.map +1 -1
- package/lib/components/VBreadcrumbs/VBreadcrumbs.js +9 -9
- package/lib/components/VBreadcrumbs/VBreadcrumbs.js.map +1 -1
- package/lib/components/VBreadcrumbs/VBreadcrumbsItem.js +7 -7
- package/lib/components/VBreadcrumbs/VBreadcrumbsItem.js.map +1 -1
- package/lib/components/VBtn/VBtn.js +25 -31
- package/lib/components/VBtn/VBtn.js.map +1 -1
- package/lib/components/VBtnToggle/VBtnToggle.js +2 -2
- package/lib/components/VBtnToggle/VBtnToggle.js.map +1 -1
- package/lib/components/VCalendar/VCalendar.js +25 -24
- package/lib/components/VCalendar/VCalendar.js.map +1 -1
- package/lib/components/VCalendar/VCalendarCategory.js +16 -19
- package/lib/components/VCalendar/VCalendarCategory.js.map +1 -1
- package/lib/components/VCalendar/VCalendarDaily.js +39 -41
- package/lib/components/VCalendar/VCalendarDaily.js.map +1 -1
- package/lib/components/VCalendar/VCalendarMonthly.js +1 -3
- package/lib/components/VCalendar/VCalendarMonthly.js.map +1 -1
- package/lib/components/VCalendar/VCalendarWeekly.js +30 -32
- package/lib/components/VCalendar/VCalendarWeekly.js.map +1 -1
- package/lib/components/VCalendar/mixins/calendar-with-events.js +24 -27
- package/lib/components/VCalendar/mixins/calendar-with-events.js.map +1 -1
- package/lib/components/VCalendar/mixins/calendar-with-intervals.js +1 -3
- package/lib/components/VCalendar/mixins/calendar-with-intervals.js.map +1 -1
- package/lib/components/VCalendar/mixins/times.js +2 -2
- package/lib/components/VCalendar/mixins/times.js.map +1 -1
- package/lib/components/VCard/VCard.js +12 -14
- package/lib/components/VCard/VCard.js.map +1 -1
- package/lib/components/VCarousel/VCarousel.js +39 -31
- package/lib/components/VCarousel/VCarousel.js.map +1 -1
- package/lib/components/VCarousel/VCarouselItem.js +19 -17
- package/lib/components/VCarousel/VCarouselItem.js.map +1 -1
- package/lib/components/VCheckbox/VCheckbox.js +10 -10
- package/lib/components/VCheckbox/VCheckbox.js.map +1 -1
- package/lib/components/VCheckbox/VSimpleCheckbox.js +25 -19
- package/lib/components/VCheckbox/VSimpleCheckbox.js.map +1 -1
- package/lib/components/VChip/VChip.js +43 -34
- package/lib/components/VChip/VChip.js.map +1 -1
- package/lib/components/VChipGroup/VChipGroup.js +2 -2
- package/lib/components/VChipGroup/VChipGroup.js.map +1 -1
- package/lib/components/VColorPicker/VColorPicker.js +30 -23
- package/lib/components/VColorPicker/VColorPicker.js.map +1 -1
- package/lib/components/VColorPicker/VColorPickerCanvas.js +8 -9
- package/lib/components/VColorPicker/VColorPickerCanvas.js.map +1 -1
- package/lib/components/VColorPicker/VColorPickerEdit.js +24 -19
- package/lib/components/VColorPicker/VColorPickerEdit.js.map +1 -1
- package/lib/components/VColorPicker/VColorPickerPreview.js +45 -35
- package/lib/components/VColorPicker/VColorPickerPreview.js.map +1 -1
- package/lib/components/VColorPicker/VColorPickerSwatches.js +15 -14
- package/lib/components/VColorPicker/VColorPickerSwatches.js.map +1 -1
- package/lib/components/VCombobox/VCombobox.js +20 -20
- package/lib/components/VCombobox/VCombobox.js.map +1 -1
- package/lib/components/VContent/VContent.js +4 -8
- package/lib/components/VContent/VContent.js.map +1 -1
- package/lib/components/VCounter/VCounter.js +7 -7
- package/lib/components/VCounter/VCounter.js.map +1 -1
- package/lib/components/VData/VData.js +3 -3
- package/lib/components/VData/VData.js.map +1 -1
- package/lib/components/VDataIterator/VDataFooter.js +46 -34
- package/lib/components/VDataIterator/VDataFooter.js.map +1 -1
- package/lib/components/VDataIterator/VDataIterator.js +20 -16
- package/lib/components/VDataIterator/VDataIterator.js.map +1 -1
- package/lib/components/VDataTable/MobileRow.js +16 -11
- package/lib/components/VDataTable/MobileRow.js.map +1 -1
- package/lib/components/VDataTable/Row.js +12 -6
- package/lib/components/VDataTable/Row.js.map +1 -1
- package/lib/components/VDataTable/RowGroup.js +9 -7
- package/lib/components/VDataTable/RowGroup.js.map +1 -1
- package/lib/components/VDataTable/VDataTable.js +169 -135
- package/lib/components/VDataTable/VDataTable.js.map +1 -1
- package/lib/components/VDataTable/VDataTableHeader.js +19 -11
- package/lib/components/VDataTable/VDataTableHeader.js.map +1 -1
- package/lib/components/VDataTable/VDataTableHeaderDesktop.js +24 -21
- package/lib/components/VDataTable/VDataTableHeaderDesktop.js.map +1 -1
- package/lib/components/VDataTable/VDataTableHeaderMobile.js +9 -10
- package/lib/components/VDataTable/VDataTableHeaderMobile.js.map +1 -1
- package/lib/components/VDataTable/VEditDialog.js +41 -31
- package/lib/components/VDataTable/VEditDialog.js.map +1 -1
- package/lib/components/VDataTable/VSimpleTable.js +6 -6
- package/lib/components/VDataTable/VSimpleTable.js.map +1 -1
- package/lib/components/VDataTable/VVirtualTable.js +11 -12
- package/lib/components/VDataTable/VVirtualTable.js.map +1 -1
- package/lib/components/VDataTable/mixins/header.js +17 -12
- package/lib/components/VDataTable/mixins/header.js.map +1 -1
- package/lib/components/VDatePicker/VDatePicker.js +107 -92
- package/lib/components/VDatePicker/VDatePicker.js.map +1 -1
- package/lib/components/VDatePicker/VDatePickerDateTable.js +11 -13
- package/lib/components/VDatePicker/VDatePickerDateTable.js.map +1 -1
- package/lib/components/VDatePicker/VDatePickerHeader.js +37 -25
- package/lib/components/VDatePicker/VDatePickerHeader.js.map +1 -1
- package/lib/components/VDatePicker/VDatePickerMonthTable.js +3 -3
- package/lib/components/VDatePicker/VDatePickerMonthTable.js.map +1 -1
- package/lib/components/VDatePicker/VDatePickerTitle.js +16 -10
- package/lib/components/VDatePicker/VDatePickerTitle.js.map +1 -1
- package/lib/components/VDatePicker/VDatePickerYears.js +3 -3
- package/lib/components/VDatePicker/VDatePickerYears.js.map +1 -1
- package/lib/components/VDatePicker/mixins/date-picker-table.js +36 -27
- package/lib/components/VDatePicker/mixins/date-picker-table.js.map +1 -1
- package/lib/components/VDatePicker/util/eventHelpers.js.map +1 -1
- package/lib/components/VDialog/VDialog.js +46 -27
- package/lib/components/VDialog/VDialog.js.map +1 -1
- package/lib/components/VDivider/VDivider.js +12 -14
- package/lib/components/VDivider/VDivider.js.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanel.js +8 -9
- package/lib/components/VExpansionPanel/VExpansionPanel.js.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanelContent.js +9 -6
- package/lib/components/VExpansionPanel/VExpansionPanelContent.js.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanelHeader.js +31 -21
- package/lib/components/VExpansionPanel/VExpansionPanelHeader.js.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanels.js +2 -4
- package/lib/components/VExpansionPanel/VExpansionPanels.js.map +1 -1
- package/lib/components/VFileInput/VFileInput.js +34 -31
- package/lib/components/VFileInput/VFileInput.js.map +1 -1
- package/lib/components/VFooter/VFooter.js +5 -6
- package/lib/components/VFooter/VFooter.js.map +1 -1
- package/lib/components/VForm/VForm.js +11 -8
- package/lib/components/VForm/VForm.js.map +1 -1
- package/lib/components/VGrid/VCol.js +9 -9
- package/lib/components/VGrid/VCol.js.map +1 -1
- package/lib/components/VGrid/VContainer.js +22 -16
- package/lib/components/VGrid/VContainer.js.map +1 -1
- package/lib/components/VGrid/VRow.js +12 -9
- package/lib/components/VGrid/VRow.js.map +1 -1
- package/lib/components/VGrid/grid.js +7 -6
- package/lib/components/VGrid/grid.js.map +1 -1
- package/lib/components/VHover/VHover.js +3 -3
- package/lib/components/VHover/VHover.js.map +1 -1
- package/lib/components/VIcon/VIcon.js +36 -65
- package/lib/components/VIcon/VIcon.js.map +1 -1
- package/lib/components/VImg/VImg.js +41 -32
- package/lib/components/VImg/VImg.js.map +1 -1
- package/lib/components/VInput/VInput.js +61 -59
- package/lib/components/VInput/VInput.js.map +1 -1
- package/lib/components/VItemGroup/VItem.js +5 -5
- package/lib/components/VItemGroup/VItem.js.map +1 -1
- package/lib/components/VItemGroup/VItemGroup.js +4 -8
- package/lib/components/VItemGroup/VItemGroup.js.map +1 -1
- package/lib/components/VLabel/VLabel.js +18 -13
- package/lib/components/VLabel/VLabel.js.map +1 -1
- package/lib/components/VLazy/VLazy.js +7 -6
- package/lib/components/VLazy/VLazy.js.map +1 -1
- package/lib/components/VList/VList.js +12 -13
- package/lib/components/VList/VList.js.map +1 -1
- package/lib/components/VList/VListGroup.js +29 -21
- package/lib/components/VList/VListGroup.js.map +1 -1
- package/lib/components/VList/VListItem.js +26 -25
- package/lib/components/VList/VListItem.js.map +1 -1
- package/lib/components/VList/VListItemAction.js +8 -7
- package/lib/components/VList/VListItemAction.js.map +1 -1
- package/lib/components/VList/VListItemAvatar.js +9 -10
- package/lib/components/VList/VListItemAvatar.js.map +1 -1
- package/lib/components/VList/VListItemGroup.js +2 -2
- package/lib/components/VList/VListItemGroup.js.map +1 -1
- package/lib/components/VList/VListItemIcon.js +8 -7
- package/lib/components/VList/VListItemIcon.js.map +1 -1
- package/lib/components/VMain/VMain.js +5 -8
- package/lib/components/VMain/VMain.js.map +1 -1
- package/lib/components/VMenu/VMenu.js +65 -40
- package/lib/components/VMenu/VMenu.js.map +1 -1
- package/lib/components/VMessages/VMessages.js +12 -11
- package/lib/components/VMessages/VMessages.js.map +1 -1
- package/lib/components/VNavigationDrawer/VNavigationDrawer.js +60 -49
- package/lib/components/VNavigationDrawer/VNavigationDrawer.js.map +1 -1
- package/lib/components/VOtpInput/VOtpInput.js +46 -40
- package/lib/components/VOtpInput/VOtpInput.js.map +1 -1
- package/lib/components/VOverflowBtn/VOverflowBtn.js +8 -10
- package/lib/components/VOverflowBtn/VOverflowBtn.js.map +1 -1
- package/lib/components/VOverlay/VOverlay.js +8 -10
- package/lib/components/VOverlay/VOverlay.js.map +1 -1
- package/lib/components/VPagination/VPagination.js +42 -30
- package/lib/components/VPagination/VPagination.js.map +1 -1
- package/lib/components/VParallax/VParallax.js +13 -12
- package/lib/components/VParallax/VParallax.js.map +1 -1
- package/lib/components/VPicker/VPicker.js +20 -15
- package/lib/components/VPicker/VPicker.js.map +1 -1
- package/lib/components/VProgressCircular/VProgressCircular.js +37 -30
- package/lib/components/VProgressCircular/VProgressCircular.js.map +1 -1
- package/lib/components/VProgressLinear/VProgressLinear.js +30 -24
- package/lib/components/VProgressLinear/VProgressLinear.js.map +1 -1
- package/lib/components/VRadioGroup/VRadio.js +34 -24
- package/lib/components/VRadioGroup/VRadio.js.map +1 -1
- package/lib/components/VRadioGroup/VRadioGroup.js +18 -17
- package/lib/components/VRadioGroup/VRadioGroup.js.map +1 -1
- package/lib/components/VRangeSlider/VRangeSlider.js +7 -9
- package/lib/components/VRangeSlider/VRangeSlider.js.map +1 -1
- package/lib/components/VRating/VRating.js +34 -34
- package/lib/components/VRating/VRating.js.map +1 -1
- package/lib/components/VResponsive/VResponsive.js +11 -10
- package/lib/components/VResponsive/VResponsive.js.map +1 -1
- package/lib/components/VSelect/VSelect.js +123 -95
- package/lib/components/VSelect/VSelect.js.map +1 -1
- package/lib/components/VSelect/VSelectList.js +59 -39
- package/lib/components/VSelect/VSelectList.js.map +1 -1
- package/lib/components/VSheet/VSheet.js +7 -11
- package/lib/components/VSheet/VSheet.js.map +1 -1
- package/lib/components/VSkeletonLoader/VSkeletonLoader.js +21 -16
- package/lib/components/VSkeletonLoader/VSkeletonLoader.js.map +1 -1
- package/lib/components/VSlideGroup/VSlideGroup.js +51 -35
- package/lib/components/VSlideGroup/VSlideGroup.js.map +1 -1
- package/lib/components/VSlider/VSlider.js +75 -63
- package/lib/components/VSlider/VSlider.js.map +1 -1
- package/lib/components/VSnackbar/VSnackbar.js +31 -20
- package/lib/components/VSnackbar/VSnackbar.js.map +1 -1
- package/lib/components/VSparkline/VSparkline.js +16 -17
- package/lib/components/VSparkline/VSparkline.js.map +1 -1
- package/lib/components/VSpeedDial/VSpeedDial.js +10 -9
- package/lib/components/VSpeedDial/VSpeedDial.js.map +1 -1
- package/lib/components/VStepper/VStepper.js +6 -6
- package/lib/components/VStepper/VStepper.js.map +1 -1
- package/lib/components/VStepper/VStepperContent.js +8 -8
- package/lib/components/VStepper/VStepperContent.js.map +1 -1
- package/lib/components/VStepper/VStepperStep.js +9 -10
- package/lib/components/VStepper/VStepperStep.js.map +1 -1
- package/lib/components/VSubheader/VSubheader.js +7 -7
- package/lib/components/VSubheader/VSubheader.js.map +1 -1
- package/lib/components/VSwitch/VSwitch.js +26 -23
- package/lib/components/VSwitch/VSwitch.js.map +1 -1
- package/lib/components/VSystemBar/VSystemBar.js +3 -4
- package/lib/components/VSystemBar/VSystemBar.js.map +1 -1
- package/lib/components/VTabs/VTab.js +12 -13
- package/lib/components/VTabs/VTab.js.map +1 -1
- package/lib/components/VTabs/VTabItem.js +4 -5
- package/lib/components/VTabs/VTabItem.js.map +1 -1
- package/lib/components/VTabs/VTabs.js +48 -34
- package/lib/components/VTabs/VTabs.js.map +1 -1
- package/lib/components/VTabs/VTabsBar.js +10 -8
- package/lib/components/VTabs/VTabsBar.js.map +1 -1
- package/lib/components/VTabs/VTabsItems.js +3 -5
- package/lib/components/VTabs/VTabsItems.js.map +1 -1
- package/lib/components/VTabs/VTabsSlider.js +3 -4
- package/lib/components/VTabs/VTabsSlider.js.map +1 -1
- package/lib/components/VTextField/VTextField.js +73 -57
- package/lib/components/VTextField/VTextField.js.map +1 -1
- package/lib/components/VTextarea/VTextarea.js +5 -6
- package/lib/components/VTextarea/VTextarea.js.map +1 -1
- package/lib/components/VThemeProvider/VThemeProvider.js +4 -5
- package/lib/components/VThemeProvider/VThemeProvider.js.map +1 -1
- package/lib/components/VTimePicker/VTimePicker.js +26 -22
- package/lib/components/VTimePicker/VTimePicker.js.map +1 -1
- package/lib/components/VTimePicker/VTimePickerClock.js +7 -8
- package/lib/components/VTimePicker/VTimePickerClock.js.map +1 -1
- package/lib/components/VTimePicker/VTimePickerTitle.js +7 -8
- package/lib/components/VTimePicker/VTimePickerTitle.js.map +1 -1
- package/lib/components/VTimeline/VTimeline.js +4 -4
- package/lib/components/VTimeline/VTimeline.js.map +1 -1
- package/lib/components/VTimeline/VTimelineItem.js +26 -23
- package/lib/components/VTimeline/VTimelineItem.js.map +1 -1
- package/lib/components/VToolbar/VToolbar.js +15 -19
- package/lib/components/VToolbar/VToolbar.js.map +1 -1
- package/lib/components/VTooltip/VTooltip.js +12 -9
- package/lib/components/VTooltip/VTooltip.js.map +1 -1
- package/lib/components/VTreeview/VTreeview.js +6 -6
- package/lib/components/VTreeview/VTreeview.js.map +1 -1
- package/lib/components/VTreeview/VTreeviewNode.js +98 -83
- package/lib/components/VTreeview/VTreeviewNode.js.map +1 -1
- package/lib/components/VVirtualScroll/VVirtualScroll.js +8 -12
- package/lib/components/VVirtualScroll/VVirtualScroll.js.map +1 -1
- package/lib/components/VWindow/VWindow.js +37 -27
- package/lib/components/VWindow/VWindow.js.map +1 -1
- package/lib/components/VWindow/VWindowItem.js +29 -23
- package/lib/components/VWindow/VWindowItem.js.map +1 -1
- package/lib/components/index.js +4 -0
- package/lib/components/index.js.map +1 -1
- package/lib/components/transitions/createTransition.js +25 -20
- package/lib/components/transitions/createTransition.js.map +1 -1
- package/lib/directives/click-outside/index.js +6 -6
- package/lib/directives/click-outside/index.js.map +1 -1
- package/lib/directives/intersect/index.js +6 -6
- package/lib/directives/intersect/index.js.map +1 -1
- package/lib/directives/ripple/index.js +5 -6
- package/lib/directives/ripple/index.js.map +1 -1
- package/lib/directives/touch/index.js +6 -7
- package/lib/directives/touch/index.js.map +1 -1
- package/lib/framework.js +1 -1
- package/lib/framework.js.map +1 -1
- package/lib/helpers.js +9 -0
- package/lib/helpers.js.map +1 -0
- package/lib/install.js +16 -39
- package/lib/install.js.map +1 -1
- package/lib/mixins/activatable/index.js +10 -16
- package/lib/mixins/activatable/index.js.map +1 -1
- package/lib/mixins/binds-attrs/index.js +3 -3
- package/lib/mixins/binds-attrs/index.js.map +1 -1
- package/lib/mixins/bootable/index.js +4 -5
- package/lib/mixins/bootable/index.js.map +1 -1
- package/lib/mixins/button-group/index.js +3 -5
- package/lib/mixins/button-group/index.js.map +1 -1
- package/lib/mixins/colorable/index.js +6 -42
- package/lib/mixins/colorable/index.js.map +1 -1
- package/lib/mixins/comparable/index.js +2 -2
- package/lib/mixins/comparable/index.js.map +1 -1
- package/lib/mixins/delayable/index.js +2 -2
- package/lib/mixins/delayable/index.js.map +1 -1
- package/lib/mixins/dependent/index.js +2 -8
- package/lib/mixins/dependent/index.js.map +1 -1
- package/lib/mixins/detachable/index.js +2 -2
- package/lib/mixins/detachable/index.js.map +1 -1
- package/lib/mixins/elevatable/index.js +2 -2
- package/lib/mixins/elevatable/index.js.map +1 -1
- package/lib/mixins/filterable/index.js +2 -2
- package/lib/mixins/filterable/index.js.map +1 -1
- package/lib/mixins/groupable/index.js +11 -13
- package/lib/mixins/groupable/index.js.map +1 -1
- package/lib/mixins/intersectable/index.js +5 -11
- package/lib/mixins/intersectable/index.js.map +1 -1
- package/lib/mixins/loadable/index.js +9 -7
- package/lib/mixins/loadable/index.js.map +1 -1
- package/lib/mixins/localable/index.js +2 -2
- package/lib/mixins/localable/index.js.map +1 -1
- package/lib/mixins/measurable/index.js +2 -2
- package/lib/mixins/measurable/index.js.map +1 -1
- package/lib/mixins/menuable/index.js +5 -9
- package/lib/mixins/menuable/index.js.map +1 -1
- package/lib/mixins/mobile/index.js +12 -9
- package/lib/mixins/mobile/index.js.map +1 -1
- package/lib/mixins/mouse/index.js +4 -10
- package/lib/mixins/mouse/index.js.map +1 -1
- package/lib/mixins/overlayable/index.js +13 -44
- package/lib/mixins/overlayable/index.js.map +1 -1
- package/lib/mixins/picker/index.js +21 -19
- package/lib/mixins/picker/index.js.map +1 -1
- package/lib/mixins/picker-button/index.js +9 -10
- package/lib/mixins/picker-button/index.js.map +1 -1
- package/lib/mixins/positionable/index.js +2 -2
- package/lib/mixins/positionable/index.js.map +1 -1
- package/lib/mixins/proxyable/index.js +3 -3
- package/lib/mixins/proxyable/index.js.map +1 -1
- package/lib/mixins/registrable/index.js +3 -3
- package/lib/mixins/registrable/index.js.map +1 -1
- package/lib/mixins/returnable/index.js +2 -2
- package/lib/mixins/returnable/index.js.map +1 -1
- package/lib/mixins/rippleable/index.js +11 -9
- package/lib/mixins/rippleable/index.js.map +1 -1
- package/lib/mixins/roundable/index.js +2 -2
- package/lib/mixins/roundable/index.js.map +1 -1
- package/lib/mixins/routable/index.js +24 -20
- package/lib/mixins/routable/index.js.map +1 -1
- package/lib/mixins/scrollable/index.js +2 -2
- package/lib/mixins/scrollable/index.js.map +1 -1
- package/lib/mixins/selectable/index.js +23 -17
- package/lib/mixins/selectable/index.js.map +1 -1
- package/lib/mixins/sizeable/index.js +2 -2
- package/lib/mixins/sizeable/index.js.map +1 -1
- package/lib/mixins/ssr-bootable/index.js +2 -2
- package/lib/mixins/ssr-bootable/index.js.map +1 -1
- package/lib/mixins/stackable/index.js +2 -2
- package/lib/mixins/stackable/index.js.map +1 -1
- package/lib/mixins/themeable/index.js +8 -5
- package/lib/mixins/themeable/index.js.map +1 -1
- package/lib/mixins/toggleable/index.js +7 -3
- package/lib/mixins/toggleable/index.js.map +1 -1
- package/lib/mixins/transitionable/index.js +2 -2
- package/lib/mixins/transitionable/index.js.map +1 -1
- package/lib/mixins/translatable/index.js +2 -2
- package/lib/mixins/translatable/index.js.map +1 -1
- package/lib/mixins/validatable/index.js +1 -1
- package/lib/mixins/validatable/index.js.map +1 -1
- package/lib/services/goto/util.js.map +1 -1
- package/lib/services/theme/index.js +11 -7
- package/lib/services/theme/index.js.map +1 -1
- package/lib/util/helpers.js +16 -28
- package/lib/util/helpers.js.map +1 -1
- package/lib/util/mergeData.js +1 -1
- package/lib/util/mergeData.js.map +1 -1
- package/lib/util/mixins.js +4 -9
- package/lib/util/mixins.js.map +1 -1
- package/lib/vuetify.js +19 -0
- package/lib/vuetify.js.map +1 -0
- package/package.json +9 -8
- package/src/components/VAlert/VAlert.ts +50 -42
- package/src/components/VApp/VApp.ts +9 -11
- package/src/components/VAppBar/VAppBar.ts +10 -11
- package/src/components/VAppBar/VAppBarNavIcon.ts +11 -9
- package/src/components/VAppBar/VAppBarTitle.ts +3 -5
- package/src/components/VAutocomplete/VAutocomplete.ts +22 -21
- package/src/components/VAvatar/VAvatar.ts +4 -4
- package/src/components/VBadge/VBadge.ts +25 -21
- package/src/components/VBanner/VBanner.ts +27 -22
- package/src/components/VBanner/__tests__/VBanner.spec.ts +2 -2
- package/src/components/VBottomNavigation/VBottomNavigation.ts +14 -12
- package/src/components/VBottomSheet/VBottomSheet.ts +2 -4
- package/src/components/VBreadcrumbs/VBreadcrumbs.ts +7 -7
- package/src/components/VBreadcrumbs/VBreadcrumbsItem.ts +8 -6
- package/src/components/VBreadcrumbs/__tests__/VBreadcrumbs.spec.ts +1 -1
- package/src/components/VBtn/VBtn.ts +25 -34
- package/src/components/VBtn/__tests__/VBtn.spec.ts +219 -219
- package/src/components/VBtnToggle/VBtnToggle.ts +2 -2
- package/src/components/VCalendar/VCalendar.ts +28 -22
- package/src/components/VCalendar/VCalendarCategory.ts +16 -17
- package/src/components/VCalendar/VCalendarDaily.ts +38 -38
- package/src/components/VCalendar/VCalendarMonthly.ts +1 -3
- package/src/components/VCalendar/VCalendarWeekly.ts +29 -29
- package/src/components/VCalendar/mixins/calendar-with-events.ts +21 -23
- package/src/components/VCalendar/mixins/calendar-with-intervals.ts +1 -3
- package/src/components/VCalendar/mixins/times.ts +2 -2
- package/src/components/VCard/VCard.ts +13 -12
- package/src/components/VCarousel/VCarousel.ts +37 -29
- package/src/components/VCarousel/VCarouselItem.ts +19 -19
- package/src/components/VCheckbox/VCheckbox.ts +10 -10
- package/src/components/VCheckbox/VSimpleCheckbox.ts +22 -23
- package/src/components/VChip/VChip.ts +41 -43
- package/src/components/VChipGroup/VChipGroup.ts +2 -2
- package/src/components/VColorPicker/VColorPicker.ts +29 -22
- package/src/components/VColorPicker/VColorPickerCanvas.ts +7 -8
- package/src/components/VColorPicker/VColorPickerEdit.ts +23 -18
- package/src/components/VColorPicker/VColorPickerPreview.ts +40 -30
- package/src/components/VColorPicker/VColorPickerSwatches.ts +14 -13
- package/src/components/VCombobox/VCombobox.ts +21 -21
- package/src/components/VContent/VContent.ts +4 -7
- package/src/components/VCounter/VCounter.ts +5 -5
- package/src/components/VData/VData.ts +3 -3
- package/src/components/VData/__tests__/VData.spec.ts +9 -9
- package/src/components/VDataIterator/VDataFooter.ts +48 -36
- package/src/components/VDataIterator/VDataIterator.ts +20 -16
- package/src/components/VDataIterator/__tests__/VDataIterator.spec.ts +4 -4
- package/src/components/VDataTable/MobileRow.ts +12 -12
- package/src/components/VDataTable/Row.ts +9 -8
- package/src/components/VDataTable/RowGroup.ts +6 -8
- package/src/components/VDataTable/VDataTable.ts +180 -148
- package/src/components/VDataTable/VDataTableHeader.ts +8 -9
- package/src/components/VDataTable/VDataTableHeaderDesktop.ts +25 -20
- package/src/components/VDataTable/VDataTableHeaderMobile.ts +9 -10
- package/src/components/VDataTable/VEditDialog.ts +39 -31
- package/src/components/VDataTable/VSimpleTable.ts +6 -6
- package/src/components/VDataTable/VVirtualTable.ts +12 -13
- package/src/components/VDataTable/__tests__/MobileRow.spec.ts +2 -2
- package/src/components/VDataTable/__tests__/Row.spec.ts +2 -2
- package/src/components/VDataTable/__tests__/VDataTable.spec.ts +992 -997
- package/src/components/VDataTable/__tests__/VVirtualTable.spec.ts +2 -2
- package/src/components/VDataTable/mixins/__tests__/header.spec.ts +2 -2
- package/src/components/VDataTable/mixins/header.ts +18 -12
- package/src/components/VDatePicker/VDatePicker.ts +108 -92
- package/src/components/VDatePicker/VDatePickerDateTable.ts +12 -12
- package/src/components/VDatePicker/VDatePickerHeader.ts +36 -24
- package/src/components/VDatePicker/VDatePickerMonthTable.ts +3 -3
- package/src/components/VDatePicker/VDatePickerTitle.ts +15 -11
- package/src/components/VDatePicker/VDatePickerYears.ts +3 -3
- package/src/components/VDatePicker/mixins/date-picker-table.ts +32 -29
- package/src/components/VDatePicker/util/eventHelpers.ts +3 -3
- package/src/components/VDialog/VDialog.ts +42 -38
- package/src/components/VDialog/__tests__/VDialog.spec.ts +10 -10
- package/src/components/VDivider/VDivider.ts +11 -12
- package/src/components/VExpansionPanel/VExpansionPanel.ts +7 -8
- package/src/components/VExpansionPanel/VExpansionPanelContent.ts +8 -10
- package/src/components/VExpansionPanel/VExpansionPanelHeader.ts +33 -33
- package/src/components/VExpansionPanel/VExpansionPanels.ts +2 -4
- package/src/components/VFileInput/VFileInput.ts +35 -31
- package/src/components/VFooter/VFooter.ts +4 -5
- package/src/components/VForm/VForm.ts +10 -7
- package/src/components/VGrid/VCol.ts +4 -9
- package/src/components/VGrid/VContainer.ts +15 -18
- package/src/components/VGrid/VRow.ts +8 -8
- package/src/components/VGrid/grid.ts +3 -7
- package/src/components/VHover/VHover.ts +3 -3
- package/src/components/VHover/__tests__/VHover.spec.ts +1 -1
- package/src/components/VIcon/VIcon.ts +39 -64
- package/src/components/VImg/VImg.ts +40 -44
- package/src/components/VInput/VInput.ts +61 -51
- package/src/components/VItemGroup/VItem.ts +5 -5
- package/src/components/VItemGroup/VItemGroup.ts +2 -6
- package/src/components/VLabel/VLabel.ts +13 -12
- package/src/components/VLazy/VLazy.ts +4 -5
- package/src/components/VList/VList.ts +11 -10
- package/src/components/VList/VListGroup.ts +28 -22
- package/src/components/VList/VListItem.ts +24 -31
- package/src/components/VList/VListItemAction.ts +5 -8
- package/src/components/VList/VListItemAvatar.ts +10 -8
- package/src/components/VList/VListItemGroup.ts +2 -2
- package/src/components/VList/VListItemIcon.ts +5 -7
- package/src/components/VList/__tests__/VListItemAction.spec.ts +1 -1
- package/src/components/VMain/VMain.ts +5 -7
- package/src/components/VMenu/VMenu.ts +60 -47
- package/src/components/VMenu/__tests__/VMenu.spec.ts +20 -20
- package/src/components/VMessages/VMessages.ts +12 -9
- package/src/components/VMessages/__tests__/VMessages.spec.ts +1 -1
- package/src/components/VNavigationDrawer/VNavigationDrawer.ts +49 -51
- package/src/components/VOtpInput/VOtpInput.ts +46 -39
- package/src/components/VOverflowBtn/VOverflowBtn.ts +9 -12
- package/src/components/VOverlay/VOverlay.ts +8 -8
- package/src/components/VPagination/VPagination.ts +37 -33
- package/src/components/VParallax/VParallax.ts +12 -11
- package/src/components/VPicker/VPicker.ts +20 -15
- package/src/components/VProgressCircular/VProgressCircular.ts +35 -32
- package/src/components/VProgressLinear/VProgressLinear.ts +32 -35
- package/src/components/VRadioGroup/VRadio.ts +31 -23
- package/src/components/VRadioGroup/VRadioGroup.ts +16 -18
- package/src/components/VRangeSlider/VRangeSlider.ts +7 -9
- package/src/components/VRating/VRating.ts +33 -35
- package/src/components/VRating/__tests__/VRating.spec.ts +64 -70
- package/src/components/VResponsive/VResponsive.ts +10 -10
- package/src/components/VSelect/VSelect.ts +117 -101
- package/src/components/VSelect/VSelectList.ts +59 -40
- package/src/components/VSheet/VSheet.ts +12 -14
- package/src/components/VSkeletonLoader/VSkeletonLoader.ts +20 -15
- package/src/components/VSlideGroup/VSlideGroup.ts +50 -44
- package/src/components/VSlideGroup/__tests__/VSlideGroup.spec.ts +4 -4
- package/src/components/VSlider/VSlider.ts +75 -62
- package/src/components/VSnackbar/VSnackbar.ts +29 -26
- package/src/components/VSparkline/VSparkline.ts +17 -18
- package/src/components/VSpeedDial/VSpeedDial.ts +9 -8
- package/src/components/VStepper/VStepper.ts +5 -5
- package/src/components/VStepper/VStepperContent.ts +6 -14
- package/src/components/VStepper/VStepperStep.ts +8 -9
- package/src/components/VSubheader/VSubheader.ts +6 -6
- package/src/components/VSubheader/__tests__/VSubheader.spec.ts +1 -1
- package/src/components/VSwitch/VSwitch.ts +27 -29
- package/src/components/VSystemBar/VSystemBar.ts +2 -3
- package/src/components/VTabs/VTab.ts +14 -14
- package/src/components/VTabs/VTabItem.ts +4 -6
- package/src/components/VTabs/VTabs.ts +43 -38
- package/src/components/VTabs/VTabsBar.ts +9 -7
- package/src/components/VTabs/VTabsItems.ts +3 -5
- package/src/components/VTabs/VTabsSlider.ts +2 -3
- package/src/components/VTabs/__tests__/VTabs.spec.ts +1 -1
- package/src/components/VTextField/VTextField.ts +68 -62
- package/src/components/VTextarea/VTextarea.ts +5 -6
- package/src/components/VThemeProvider/VThemeProvider.ts +4 -5
- package/src/components/VTimePicker/VTimePicker.ts +36 -32
- package/src/components/VTimePicker/VTimePickerClock.ts +7 -8
- package/src/components/VTimePicker/VTimePickerTitle.ts +7 -8
- package/src/components/VTimeline/VTimeline.ts +3 -3
- package/src/components/VTimeline/VTimelineItem.ts +25 -22
- package/src/components/VToolbar/VToolbar.ts +15 -17
- package/src/components/VTooltip/VTooltip.ts +12 -9
- package/src/components/VTreeview/VTreeview.ts +5 -6
- package/src/components/VTreeview/VTreeviewNode.ts +103 -88
- package/src/components/VVirtualScroll/VVirtualScroll.ts +7 -10
- package/src/components/VVirtualScroll/__tests__/VVirtualScroll.spec.ts +1 -1
- package/src/components/VWindow/VWindow.sass +5 -5
- package/src/components/VWindow/VWindow.ts +33 -31
- package/src/components/VWindow/VWindowItem.ts +32 -27
- package/src/components/index.ts +10 -0
- package/src/components/transitions/createTransition.ts +25 -23
- package/src/directives/click-outside/index.ts +6 -6
- package/src/directives/intersect/index.ts +6 -6
- package/src/directives/ripple/index.ts +6 -9
- package/src/directives/touch/index.ts +6 -9
- package/src/framework.ts +0 -2
- package/src/helpers.ts +18 -0
- package/src/index.ts +3 -19
- package/src/install.ts +12 -39
- package/src/mixins/activatable/__tests__/activatable.spec.ts +1 -1
- package/src/mixins/activatable/index.ts +11 -19
- package/src/mixins/binds-attrs/index.ts +3 -3
- package/src/mixins/bootable/index.ts +4 -5
- package/src/mixins/button-group/index.ts +3 -5
- package/src/mixins/colorable/index.ts +6 -49
- package/src/mixins/comparable/index.ts +2 -2
- package/src/mixins/delayable/index.ts +2 -2
- package/src/mixins/dependent/index.ts +3 -11
- package/src/mixins/detachable/__tests__/detachable.spec.ts +3 -3
- package/src/mixins/detachable/index.ts +2 -2
- package/src/mixins/elevatable/index.ts +2 -2
- package/src/mixins/filterable/index.ts +2 -2
- package/src/mixins/groupable/index.ts +9 -13
- package/src/mixins/intersectable/index.ts +5 -8
- package/src/mixins/loadable/index.ts +12 -10
- package/src/mixins/localable/index.ts +2 -2
- package/src/mixins/measurable/index.ts +2 -2
- package/src/mixins/menuable/index.ts +5 -8
- package/src/mixins/mobile/index.ts +12 -10
- package/src/mixins/mouse/index.ts +4 -9
- package/src/mixins/overlayable/index.ts +16 -44
- package/src/mixins/picker/index.ts +19 -17
- package/src/mixins/picker-button/index.ts +7 -6
- package/src/mixins/positionable/index.ts +2 -2
- package/src/mixins/proxyable/index.ts +5 -5
- package/src/mixins/registrable/index.ts +3 -3
- package/src/mixins/returnable/index.ts +2 -2
- package/src/mixins/rippleable/index.ts +9 -16
- package/src/mixins/roundable/index.ts +2 -2
- package/src/mixins/routable/__tests__/routable.spec.ts +3 -6
- package/src/mixins/routable/index.ts +23 -24
- package/src/mixins/scrollable/index.ts +2 -2
- package/src/mixins/selectable/index.ts +23 -18
- package/src/mixins/sizeable/index.ts +2 -2
- package/src/mixins/ssr-bootable/index.ts +2 -2
- package/src/mixins/stackable/index.ts +2 -2
- package/src/mixins/themeable/index.ts +10 -6
- package/src/mixins/toggleable/index.ts +6 -3
- package/src/mixins/transitionable/index.ts +2 -2
- package/src/mixins/translatable/index.ts +2 -2
- package/src/mixins/validatable/index.ts +1 -1
- package/src/services/goto/util.ts +0 -1
- package/src/services/theme/index.ts +7 -12
- package/src/util/helpers.ts +12 -30
- package/src/util/mergeData.ts +1 -1
- package/src/util/mixins.ts +20 -10
- package/src/vuetify.ts +19 -0
- package/es5/util/make-directive-activatable.js +0 -74
- package/es5/util/make-directive-activatable.js.map +0 -1
- package/lib/util/make-directive-activatable.js +0 -49
- package/lib/util/make-directive-activatable.js.map +0 -1
- package/src/util/make-directive-activatable.ts +0 -55
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
// Types
|
|
2
|
-
import
|
|
2
|
+
import Vue from 'vue';
|
|
3
3
|
export default function VGrid(name) {
|
|
4
4
|
/* @vue/component */
|
|
5
|
-
return
|
|
5
|
+
return Vue.extend({
|
|
6
6
|
name: `v-${name}`,
|
|
7
7
|
functional: true,
|
|
8
8
|
props: {
|
|
@@ -13,10 +13,11 @@ export default function VGrid(name) {
|
|
|
13
13
|
}
|
|
14
14
|
},
|
|
15
15
|
|
|
16
|
-
render(
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
16
|
+
render(h, {
|
|
17
|
+
props,
|
|
18
|
+
data,
|
|
19
|
+
children
|
|
20
|
+
}) {
|
|
20
21
|
data.staticClass = `${name} ${data.staticClass || ''}`.trim();
|
|
21
22
|
const {
|
|
22
23
|
attrs
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VGrid/grid.ts"],"names":[],"mappings":"AAAA;AACA,
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VGrid/grid.ts"],"names":[],"mappings":"AAAA;AACA,OAAO,GAAP,MAA2B,KAA3B;AAEA,eAAc,SAAU,KAAV,CAAiB,IAAjB,EAA6B;AACzC;AACA,SAAO,GAAG,CAAC,MAAJ,CAAW;AAChB,IAAA,IAAI,EAAE,KAAK,IAAI,EADC;AAGhB,IAAA,UAAU,EAAE,IAHI;AAKhB,IAAA,KAAK,EAAE;AACL,MAAA,EAAE,EAAE,MADC;AAEL,MAAA,GAAG,EAAE;AACH,QAAA,IAAI,EAAE,MADH;AAEH,QAAA,OAAO,EAAE;AAFN;AAFA,KALS;;AAahB,IAAA,MAAM,CAAE,CAAF,EAAK;AAAE,MAAA,KAAF;AAAS,MAAA,IAAT;AAAe,MAAA;AAAf,KAAL,EAA8B;AAClC,MAAA,IAAI,CAAC,WAAL,GAAoB,GAAG,IAAI,IAAI,IAAI,CAAC,WAAL,IAAoB,EAAE,EAAlC,CAAsC,IAAtC,EAAnB;AAEA,YAAM;AAAE,QAAA;AAAF,UAAY,IAAlB;;AACA,UAAI,KAAJ,EAAW;AACT;AACA,QAAA,IAAI,CAAC,KAAL,GAAa,EAAb;AACA,cAAM,OAAO,GAAG,MAAM,CAAC,IAAP,CAAY,KAAZ,EAAmB,MAAnB,CAA0B,GAAG,IAAG;AAC9C;AACA;AACA,cAAI,GAAG,KAAK,MAAZ,EAAoB,OAAO,KAAP;AAEpB,gBAAM,KAAK,GAAG,KAAK,CAAC,GAAD,CAAnB,CAL8C,CAO9C;AACA;;AACA,cAAI,GAAG,CAAC,UAAJ,CAAe,OAAf,CAAJ,EAA6B;AAC3B,YAAA,IAAI,CAAC,KAAL,CAAY,GAAZ,IAAmB,KAAnB;AACA,mBAAO,KAAP;AACD;;AAED,iBAAO,KAAK,IAAI,OAAO,KAAP,KAAiB,QAAjC;AACD,SAfe,CAAhB;AAiBA,YAAI,OAAO,CAAC,MAAZ,EAAoB,IAAI,CAAC,WAAL,IAAoB,IAAI,OAAO,CAAC,IAAR,CAAa,GAAb,CAAiB,EAAzC;AACrB;;AAED,UAAI,KAAK,CAAC,EAAV,EAAc;AACZ,QAAA,IAAI,CAAC,QAAL,GAAgB,IAAI,CAAC,QAAL,IAAiB,EAAjC;AACA,QAAA,IAAI,CAAC,QAAL,CAAc,EAAd,GAAmB,KAAK,CAAC,EAAzB;AACD;;AAED,aAAO,CAAC,CAAC,KAAK,CAAC,GAAP,EAAY,IAAZ,EAAkB,QAAlB,CAAR;AACD;;AA9Ce,GAAX,CAAP;AAgDD","sourcesContent":["// Types\nimport Vue, { VNode } from 'vue'\n\nexport default function VGrid (name: string) {\n /* @vue/component */\n return Vue.extend({\n name: `v-${name}`,\n\n functional: true,\n\n props: {\n id: String,\n tag: {\n type: String,\n default: 'div',\n },\n },\n\n render (h, { props, data, children }): VNode {\n data.staticClass = (`${name} ${data.staticClass || ''}`).trim()\n\n const { attrs } = data\n if (attrs) {\n // reset attrs to extract utility clases like pa-3\n data.attrs = {}\n const classes = Object.keys(attrs).filter(key => {\n // TODO: Remove once resolved\n // https://github.com/vuejs/vue/issues/7841\n if (key === 'slot') return false\n\n const value = attrs[key]\n\n // add back data attributes like data-test=\"foo\" but do not\n // add them as classes\n if (key.startsWith('data-')) {\n data.attrs![key] = value\n return false\n }\n\n return value || typeof value === 'string'\n })\n\n if (classes.length) data.staticClass += ` ${classes.join(' ')}`\n }\n\n if (props.id) {\n data.domProps = data.domProps || {}\n data.domProps.id = props.id\n }\n\n return h(props.tag, data, children)\n },\n })\n}\n"],"sourceRoot":"","file":"grid.js"}
|
|
@@ -30,7 +30,7 @@ export default mixins(Delayable, Toggleable
|
|
|
30
30
|
},
|
|
31
31
|
|
|
32
32
|
render() {
|
|
33
|
-
if (!this.$
|
|
33
|
+
if (!this.$scopedSlots.default && this.value === undefined) {
|
|
34
34
|
consoleWarn('v-hover is missing a default scopedSlot or bound value', this);
|
|
35
35
|
return null;
|
|
36
36
|
}
|
|
@@ -38,8 +38,8 @@ export default mixins(Delayable, Toggleable
|
|
|
38
38
|
let element;
|
|
39
39
|
/* istanbul ignore else */
|
|
40
40
|
|
|
41
|
-
if (this.$
|
|
42
|
-
element = this.$
|
|
41
|
+
if (this.$scopedSlots.default) {
|
|
42
|
+
element = this.$scopedSlots.default({
|
|
43
43
|
hover: this.isActive
|
|
44
44
|
});
|
|
45
45
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VHover/VHover.ts"],"names":[],"mappings":"AAAA;AACA,OAAO,SAAP,MAAsB,wBAAtB;AACA,OAAO,UAAP,MAAuB,yBAAvB,C,CAEA;;AACA,OAAO,MAAP,MAAmB,mBAAnB;AACA,SAAS,WAAT,QAA4B,oBAA5B;AAKA,eAAe,MAAM,CACnB,SADmB,EAEnB;AACA;AAHmB,CAAN,CAIb,MAJa,CAIN;AACP,EAAA,IAAI,EAAE,SADC;AAGP,EAAA,KAAK,EAAE;AACL,IAAA,QAAQ,EAAE;AACR,MAAA,IAAI,EAAE,OADE;AAER,MAAA,OAAO,EAAE;AAFD,KADL;AAKL,IAAA,KAAK,EAAE;AACL,MAAA,IAAI,EAAE,OADD;AAEL,MAAA,OAAO,EAAE;AAFJ;AALF,GAHA;AAcP,EAAA,OAAO,EAAE;AACP,IAAA,YAAY,GAAA;AACV,WAAK,QAAL,CAAc,MAAd;AACD,KAHM;;AAIP,IAAA,YAAY,GAAA;AACV,WAAK,QAAL,CAAc,OAAd;AACD;;AANM,GAdF;;AAuBP,EAAA,MAAM,GAAA;AACJ,QAAI,CAAC,KAAK,
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VHover/VHover.ts"],"names":[],"mappings":"AAAA;AACA,OAAO,SAAP,MAAsB,wBAAtB;AACA,OAAO,UAAP,MAAuB,yBAAvB,C,CAEA;;AACA,OAAO,MAAP,MAAmB,mBAAnB;AACA,SAAS,WAAT,QAA4B,oBAA5B;AAKA,eAAe,MAAM,CACnB,SADmB,EAEnB;AACA;AAHmB,CAAN,CAIb,MAJa,CAIN;AACP,EAAA,IAAI,EAAE,SADC;AAGP,EAAA,KAAK,EAAE;AACL,IAAA,QAAQ,EAAE;AACR,MAAA,IAAI,EAAE,OADE;AAER,MAAA,OAAO,EAAE;AAFD,KADL;AAKL,IAAA,KAAK,EAAE;AACL,MAAA,IAAI,EAAE,OADD;AAEL,MAAA,OAAO,EAAE;AAFJ;AALF,GAHA;AAcP,EAAA,OAAO,EAAE;AACP,IAAA,YAAY,GAAA;AACV,WAAK,QAAL,CAAc,MAAd;AACD,KAHM;;AAIP,IAAA,YAAY,GAAA;AACV,WAAK,QAAL,CAAc,OAAd;AACD;;AANM,GAdF;;AAuBP,EAAA,MAAM,GAAA;AACJ,QAAI,CAAC,KAAK,YAAL,CAAkB,OAAnB,IAA8B,KAAK,KAAL,KAAe,SAAjD,EAA4D;AAC1D,MAAA,WAAW,CAAC,wDAAD,EAA2D,IAA3D,CAAX;AAEA,aAAO,IAAP;AACD;;AAED,QAAI,OAAJ;AAEA;;AACA,QAAI,KAAK,YAAL,CAAkB,OAAtB,EAA+B;AAC7B,MAAA,OAAO,GAAG,KAAK,YAAL,CAAkB,OAAlB,CAA0B;AAAE,QAAA,KAAK,EAAE,KAAK;AAAd,OAA1B,CAAV;AACD;;AAED,QAAI,KAAK,CAAC,OAAN,CAAc,OAAd,KAA0B,OAAO,CAAC,MAAR,KAAmB,CAAjD,EAAoD;AAClD,MAAA,OAAO,GAAG,OAAO,CAAC,CAAD,CAAjB;AACD;;AAED,QAAI,CAAC,OAAD,IAAY,KAAK,CAAC,OAAN,CAAc,OAAd,CAAZ,IAAsC,CAAC,OAAO,CAAC,GAAnD,EAAwD;AACtD,MAAA,WAAW,CAAC,8CAAD,EAAiD,IAAjD,CAAX;AAEA,aAAO,OAAP;AACD;;AAED,QAAI,CAAC,KAAK,QAAV,EAAoB;AAClB,MAAA,OAAO,CAAC,IAAR,GAAe,OAAO,CAAC,IAAR,IAAgB,EAA/B;;AACA,WAAK,EAAL,CAAQ,OAAO,CAAC,IAAhB,EAAsB;AACpB,QAAA,UAAU,EAAE,KAAK,YADG;AAEpB,QAAA,UAAU,EAAE,KAAK;AAFG,OAAtB;AAID;;AAED,WAAO,OAAP;AACD;;AAxDM,CAJM,CAAf","sourcesContent":["// Mixins\nimport Delayable from '../../mixins/delayable'\nimport Toggleable from '../../mixins/toggleable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { consoleWarn } from '../../util/console'\n\n// Types\nimport { VNode, ScopedSlotChildren } from 'vue/types/vnode'\n\nexport default mixins(\n Delayable,\n Toggleable\n /* @vue/component */\n).extend({\n name: 'v-hover',\n\n props: {\n disabled: {\n type: Boolean,\n default: false,\n },\n value: {\n type: Boolean,\n default: undefined,\n },\n },\n\n methods: {\n onMouseEnter () {\n this.runDelay('open')\n },\n onMouseLeave () {\n this.runDelay('close')\n },\n },\n\n render (): VNode {\n if (!this.$scopedSlots.default && this.value === undefined) {\n consoleWarn('v-hover is missing a default scopedSlot or bound value', this)\n\n return null as any\n }\n\n let element: VNode | ScopedSlotChildren\n\n /* istanbul ignore else */\n if (this.$scopedSlots.default) {\n element = this.$scopedSlots.default({ hover: this.isActive })\n }\n\n if (Array.isArray(element) && element.length === 1) {\n element = element[0]\n }\n\n if (!element || Array.isArray(element) || !element.tag) {\n consoleWarn('v-hover should only contain a single element', this)\n\n return element as any\n }\n\n if (!this.disabled) {\n element.data = element.data || {}\n this._g(element.data, {\n mouseenter: this.onMouseEnter,\n mouseleave: this.onMouseLeave,\n })\n }\n\n return element\n },\n})\n"],"sourceRoot":"","file":"VHover.js"}
|
|
@@ -7,9 +7,8 @@ import Themeable from '../../mixins/themeable'; // Util
|
|
|
7
7
|
|
|
8
8
|
import { convertToUnit, keys, remapInternalIcon } from '../../util/helpers'; // Types
|
|
9
9
|
|
|
10
|
-
import
|
|
10
|
+
import Vue from 'vue';
|
|
11
11
|
import mixins from '../../util/mixins';
|
|
12
|
-
import { normalizeAttrs } from '../../util/helpers';
|
|
13
12
|
var SIZE_MAP;
|
|
14
13
|
|
|
15
14
|
(function (SIZE_MAP) {
|
|
@@ -51,19 +50,14 @@ const VIcon = mixins(BindsAttrs, Colorable, Sizeable, Themeable
|
|
|
51
50
|
},
|
|
52
51
|
|
|
53
52
|
hasClickListener() {
|
|
54
|
-
return Boolean(this.listeners$.
|
|
53
|
+
return Boolean(this.listeners$.click || this.listeners$['!click']);
|
|
55
54
|
}
|
|
56
55
|
|
|
57
56
|
},
|
|
58
57
|
methods: {
|
|
59
58
|
getIcon() {
|
|
60
59
|
let iconName = '';
|
|
61
|
-
|
|
62
|
-
if (this.$slots.default) {
|
|
63
|
-
const children = this.$slots.default()[0].children;
|
|
64
|
-
if (typeof children === 'string') iconName = this.$slots.default()[0].children.trim();
|
|
65
|
-
}
|
|
66
|
-
|
|
60
|
+
if (this.$slots.default) iconName = this.$slots.default[0].text.trim();
|
|
67
61
|
return remapInternalIcon(this, iconName);
|
|
68
62
|
},
|
|
69
63
|
|
|
@@ -81,27 +75,23 @@ const VIcon = mixins(BindsAttrs, Colorable, Sizeable, Themeable
|
|
|
81
75
|
|
|
82
76
|
// Component data for both font icon and SVG wrapper span
|
|
83
77
|
getDefaultData() {
|
|
84
|
-
|
|
78
|
+
return {
|
|
79
|
+
staticClass: 'v-icon notranslate',
|
|
85
80
|
class: {
|
|
86
81
|
'v-icon--disabled': this.disabled,
|
|
87
82
|
'v-icon--left': this.left,
|
|
88
83
|
'v-icon--link': this.hasClickListener,
|
|
89
84
|
'v-icon--right': this.right,
|
|
90
|
-
'v-icon--dense': this.dense
|
|
91
|
-
'v-icon': true,
|
|
92
|
-
'notranslate': true
|
|
85
|
+
'v-icon--dense': this.dense
|
|
93
86
|
},
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
87
|
+
attrs: {
|
|
88
|
+
'aria-hidden': !this.hasClickListener,
|
|
89
|
+
disabled: this.hasClickListener && this.disabled,
|
|
90
|
+
type: this.hasClickListener ? 'button' : undefined,
|
|
91
|
+
...this.attrs$
|
|
92
|
+
},
|
|
93
|
+
on: this.listeners$
|
|
98
94
|
};
|
|
99
|
-
|
|
100
|
-
if (this.hasClickListener && this.disabled) {
|
|
101
|
-
data.disabled = true;
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
return data;
|
|
105
95
|
},
|
|
106
96
|
|
|
107
97
|
getSvgWrapperData() {
|
|
@@ -124,9 +114,9 @@ const VIcon = mixins(BindsAttrs, Colorable, Sizeable, Themeable
|
|
|
124
114
|
this.setTextColor(this.color, data);
|
|
125
115
|
},
|
|
126
116
|
|
|
127
|
-
renderFontIcon(icon) {
|
|
117
|
+
renderFontIcon(icon, h) {
|
|
128
118
|
const newChildren = [];
|
|
129
|
-
|
|
119
|
+
const data = this.getDefaultData();
|
|
130
120
|
let iconType = 'material-icons'; // Material Icon delimiter is _
|
|
131
121
|
// https://material.io/icons/
|
|
132
122
|
|
|
@@ -141,13 +131,6 @@ const VIcon = mixins(BindsAttrs, Colorable, Sizeable, Themeable
|
|
|
141
131
|
if (isFontAwesome5(iconType)) iconType = '';
|
|
142
132
|
}
|
|
143
133
|
|
|
144
|
-
if (typeof data.class === 'string') {
|
|
145
|
-
data.class = data.class.split(' ').reduce((classes, className) => {
|
|
146
|
-
classes[className] = true;
|
|
147
|
-
return classes;
|
|
148
|
-
}, {});
|
|
149
|
-
}
|
|
150
|
-
|
|
151
134
|
data.class[iconType] = true;
|
|
152
135
|
data.class[icon] = !isMaterialIcon;
|
|
153
136
|
const fontSize = this.getSize();
|
|
@@ -155,12 +138,10 @@ const VIcon = mixins(BindsAttrs, Colorable, Sizeable, Themeable
|
|
|
155
138
|
fontSize
|
|
156
139
|
};
|
|
157
140
|
this.applyColors(data);
|
|
158
|
-
return h(this.hasClickListener ? 'button' : this.tag,
|
|
159
|
-
default: () => newChildren
|
|
160
|
-
});
|
|
141
|
+
return h(this.hasClickListener ? 'button' : this.tag, data, newChildren);
|
|
161
142
|
},
|
|
162
143
|
|
|
163
|
-
renderSvgIcon(icon) {
|
|
144
|
+
renderSvgIcon(icon, h) {
|
|
164
145
|
const svgData = {
|
|
165
146
|
class: 'v-icon__svg',
|
|
166
147
|
attrs: {
|
|
@@ -187,7 +168,7 @@ const VIcon = mixins(BindsAttrs, Colorable, Sizeable, Themeable
|
|
|
187
168
|
})])]);
|
|
188
169
|
},
|
|
189
170
|
|
|
190
|
-
renderSvgIconComponent(icon) {
|
|
171
|
+
renderSvgIconComponent(icon, h) {
|
|
191
172
|
const data = {
|
|
192
173
|
class: {
|
|
193
174
|
'v-icon__component': true
|
|
@@ -207,56 +188,46 @@ const VIcon = mixins(BindsAttrs, Colorable, Sizeable, Themeable
|
|
|
207
188
|
const component = icon.component;
|
|
208
189
|
data.props = icon.props;
|
|
209
190
|
data.nativeOn = data.on;
|
|
210
|
-
return h(this.hasClickListener ? 'button' : 'span', this.getSvgWrapperData(),
|
|
211
|
-
default: () => [h(component, data)]
|
|
212
|
-
});
|
|
191
|
+
return h(this.hasClickListener ? 'button' : 'span', this.getSvgWrapperData(), [h(component, data)]);
|
|
213
192
|
}
|
|
214
193
|
|
|
215
194
|
},
|
|
216
195
|
|
|
217
|
-
render() {
|
|
196
|
+
render(h) {
|
|
218
197
|
const icon = this.getIcon();
|
|
219
198
|
|
|
220
199
|
if (typeof icon === 'string') {
|
|
221
200
|
if (isSvgPath(icon)) {
|
|
222
|
-
return this.renderSvgIcon(icon);
|
|
201
|
+
return this.renderSvgIcon(icon, h);
|
|
223
202
|
}
|
|
224
203
|
|
|
225
|
-
return this.renderFontIcon(icon);
|
|
204
|
+
return this.renderFontIcon(icon, h);
|
|
226
205
|
}
|
|
227
206
|
|
|
228
|
-
return this.renderSvgIconComponent(icon);
|
|
207
|
+
return this.renderSvgIconComponent(icon, h);
|
|
229
208
|
}
|
|
230
209
|
|
|
231
210
|
});
|
|
232
|
-
export default
|
|
211
|
+
export default Vue.extend({
|
|
233
212
|
name: 'v-icon',
|
|
234
213
|
$_wrapperFor: VIcon,
|
|
235
214
|
functional: true,
|
|
236
215
|
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
const data = { ...this.$attrs
|
|
243
|
-
}; // console.log(children && children[0]?.children)
|
|
216
|
+
render(h, {
|
|
217
|
+
data,
|
|
218
|
+
children
|
|
219
|
+
}) {
|
|
220
|
+
let iconName = ''; // Support usage of v-text and v-html
|
|
244
221
|
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
222
|
+
if (data.domProps) {
|
|
223
|
+
iconName = data.domProps.textContent || data.domProps.innerHTML || iconName; // Remove nodes so it doesn't
|
|
224
|
+
// overwrite our changes
|
|
248
225
|
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
if ((_a = this.$.vnode.props) === null || _a === void 0 ? void 0 : _a.textContent) {
|
|
253
|
-
iconName = this.$.vnode.props.textContent || this.$.vnode.props.innerHTML || iconName;
|
|
254
|
-
}
|
|
226
|
+
delete data.domProps.textContent;
|
|
227
|
+
delete data.domProps.innerHTML;
|
|
228
|
+
}
|
|
255
229
|
|
|
256
|
-
|
|
257
|
-
return iconName ? [iconName] : children && ((_d = children[0]) === null || _d === void 0 ? void 0 : _d.children);
|
|
258
|
-
}
|
|
259
|
-
});
|
|
230
|
+
return h(VIcon, data, iconName ? [iconName] : children);
|
|
260
231
|
}
|
|
261
232
|
|
|
262
233
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VIcon/VIcon.ts"],"names":[],"mappings":"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","sourcesContent":["import './VIcon.sass'\n\n// Mixins\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport Colorable from '../../mixins/colorable'\nimport Sizeable from '../../mixins/sizeable'\nimport Themeable from '../../mixins/themeable'\n\n// Util\nimport { convertToUnit, keys, remapInternalIcon } from '../../util/helpers'\n\n// Types\nimport { defineComponent, CreateElement, VNode, VNodeChildren, VNodeData, h } from 'vue'\nimport mixins from '../../util/mixins'\nimport { VuetifyIcon, VuetifyIconComponent } from 'vuetify/types/services/icons'\nimport { normalizeAttrs } from '../../util/helpers'\n\nenum SIZE_MAP {\n xSmall = '12px',\n small = '16px',\n default = '24px',\n medium = '28px',\n large = '36px',\n xLarge = '40px'\n}\n\nfunction isFontAwesome5 (iconType: string): boolean {\n return ['fas', 'far', 'fal', 'fab', 'fad', 'fak'].some(val => iconType.includes(val))\n}\n\nfunction isSvgPath (icon: string): boolean {\n return (/^[mzlhvcsqta]\\s*[-+.0-9][^mlhvzcsqta]+/i.test(icon) && /[\\dz]$/i.test(icon) && icon.length > 4)\n}\n\n\nconst VIcon = mixins(\n BindsAttrs,\n Colorable,\n Sizeable,\n Themeable\n /* @vue/component */\n).extend({\n name: 'v-icon',\n\n props: {\n dense: Boolean,\n disabled: Boolean,\n left: Boolean,\n right: Boolean,\n size: [Number, String],\n tag: {\n type: String,\n required: false,\n default: 'i',\n },\n },\n\n computed: {\n medium () {\n return false\n },\n hasClickListener (): boolean {\n return Boolean(\n this.listeners$.onClick\n )\n },\n },\n\n methods: {\n getIcon (): VuetifyIcon {\n let iconName = ''\n if (this.$slots.default) {\n const children = this.$slots.default()[0].children\n if(typeof children === 'string')\n iconName = this.$slots.default()[0].children!.trim()\n\n }\n return remapInternalIcon(this, iconName)\n },\n getSize (): string | undefined {\n const sizes = {\n xSmall: this.xSmall,\n small: this.small,\n medium: this.medium,\n large: this.large,\n xLarge: this.xLarge,\n }\n\n const explicitSize = keys(sizes).find(key => sizes[key])\n\n return (\n (explicitSize && SIZE_MAP[explicitSize]) || convertToUnit(this.size)\n )\n },\n // Component data for both font icon and SVG wrapper span\n getDefaultData (): VNodeData {\n const data = {\n class: {\n 'v-icon--disabled': this.disabled,\n 'v-icon--left': this.left,\n 'v-icon--link': this.hasClickListener,\n 'v-icon--right': this.right,\n 'v-icon--dense': this.dense,\n 'v-icon': true,\n 'notranslate': true\n },\n 'aria-hidden': !this.hasClickListener,\n type: this.hasClickListener ? 'button' : undefined,\n // ...this.attrs$,\n ...this.listeners$,\n }\n\n if(this.hasClickListener && this.disabled) {\n data.disabled = true\n }\n return data\n },\n getSvgWrapperData () {\n const fontSize = this.getSize()\n const wrapperData = {\n ...this.getDefaultData(),\n style: fontSize ? {\n fontSize,\n height: fontSize,\n width: fontSize,\n } : undefined,\n }\n this.applyColors(wrapperData)\n\n return wrapperData\n },\n applyColors (data: VNodeData): void {\n data.class = { ...data.class, ...this.themeClasses }\n this.setTextColor(this.color, data)\n },\n renderFontIcon (icon: string): VNode {\n const newChildren: VNodeChildren = []\n let data = this.getDefaultData()\n\n let iconType = 'material-icons'\n // Material Icon delimiter is _\n // https://material.io/icons/\n const delimiterIndex = icon.indexOf('-')\n const isMaterialIcon = delimiterIndex <= -1\n\n if (isMaterialIcon) {\n // Material icon uses ligatures.\n newChildren.push(icon)\n } else {\n iconType = icon.slice(0, delimiterIndex)\n if (isFontAwesome5(iconType)) iconType = ''\n }\n\n if(typeof data.class === 'string') {\n data.class = data.class.split(' ').reduce((classes, className) => {\n classes[className] = true\n return classes\n }, {})\n }\n\n data.class[iconType] = true\n data.class[icon] = !isMaterialIcon\n\n const fontSize = this.getSize()\n if (fontSize) data.style = { fontSize }\n\n this.applyColors(data)\n\n return h(this.hasClickListener ? 'button' : this.tag, normalizeAttrs(data), {default: () => newChildren})\n },\n renderSvgIcon (icon: string): VNode {\n const svgData: VNodeData = {\n class: 'v-icon__svg',\n attrs: {\n xmlns: 'http://www.w3.org/2000/svg',\n viewBox: '0 0 24 24',\n role: 'img',\n 'aria-hidden': true,\n },\n }\n\n const size = this.getSize()\n if (size) {\n svgData.style = {\n fontSize: size,\n height: size,\n width: size,\n }\n }\n\n return h(this.hasClickListener ? 'button' : 'span', this.getSvgWrapperData(), [\n h('svg', svgData, [\n h('path', {\n attrs: {\n d: icon,\n },\n }),\n ]),\n ])\n },\n renderSvgIconComponent (\n icon: VuetifyIconComponent\n ): VNode {\n const data: VNodeData = {\n class: {\n 'v-icon__component': true,\n },\n }\n\n const size = this.getSize()\n if (size) {\n data.style = {\n fontSize: size,\n height: size,\n width: size,\n }\n }\n\n this.applyColors(data)\n\n const component = icon.component\n data.props = icon.props\n data.nativeOn = data.on\n\n return h(this.hasClickListener ? 'button' : 'span', this.getSvgWrapperData(), {default: () =>[\n h(component, data),\n ]})\n },\n },\n\n render (): VNode {\n const icon = this.getIcon()\n\n if (typeof icon === 'string') {\n if (isSvgPath(icon)) {\n return this.renderSvgIcon(icon)\n }\n return this.renderFontIcon(icon)\n }\n\n return this.renderSvgIconComponent(icon)\n },\n})\n\nexport default defineComponent({\n name: 'v-icon',\n\n $_wrapperFor: VIcon,\n\n functional: true,\n\n mounted() {\n this.$el.innerHTML = ''\n },\n\n render (): VNode {\n const data = { ...this.$attrs }\n\n\n // console.log(children && children[0]?.children)\n return h(VIcon, data, {\n default: () => {\n let iconName = ''\n\n // Support usage of v-text and v-html\n // if (data.domProps) {\n if(this.$.vnode.props?.textContent) {\n iconName = this.$.vnode.props.textContent ||\n this.$.vnode.props.innerHTML ||\n iconName\n }\n\n const children = this.$slots.default?.()\n\n return iconName ? [iconName] : children && children[0]?.children\n }\n })\n }\n})\n"],"sourceRoot":"","file":"VIcon.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VIcon/VIcon.ts"],"names":[],"mappings":"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","sourcesContent":["import './VIcon.sass'\n\n// Mixins\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport Colorable from '../../mixins/colorable'\nimport Sizeable from '../../mixins/sizeable'\nimport Themeable from '../../mixins/themeable'\n\n// Util\nimport { convertToUnit, keys, remapInternalIcon } from '../../util/helpers'\n\n// Types\nimport Vue, { CreateElement, VNode, VNodeChildren, VNodeData } from 'vue'\nimport mixins from '../../util/mixins'\nimport { VuetifyIcon, VuetifyIconComponent } from 'vuetify/types/services/icons'\n\nenum SIZE_MAP {\n xSmall = '12px',\n small = '16px',\n default = '24px',\n medium = '28px',\n large = '36px',\n xLarge = '40px'\n}\n\nfunction isFontAwesome5 (iconType: string): boolean {\n return ['fas', 'far', 'fal', 'fab', 'fad', 'fak'].some(val => iconType.includes(val))\n}\n\nfunction isSvgPath (icon: string): boolean {\n return (/^[mzlhvcsqta]\\s*[-+.0-9][^mlhvzcsqta]+/i.test(icon) && /[\\dz]$/i.test(icon) && icon.length > 4)\n}\n\nconst VIcon = mixins(\n BindsAttrs,\n Colorable,\n Sizeable,\n Themeable\n /* @vue/component */\n).extend({\n name: 'v-icon',\n\n props: {\n dense: Boolean,\n disabled: Boolean,\n left: Boolean,\n right: Boolean,\n size: [Number, String],\n tag: {\n type: String,\n required: false,\n default: 'i',\n },\n },\n\n computed: {\n medium () {\n return false\n },\n hasClickListener (): boolean {\n return Boolean(\n this.listeners$.click || this.listeners$['!click']\n )\n },\n },\n\n methods: {\n getIcon (): VuetifyIcon {\n let iconName = ''\n if (this.$slots.default) iconName = this.$slots.default[0].text!.trim()\n\n return remapInternalIcon(this, iconName)\n },\n getSize (): string | undefined {\n const sizes = {\n xSmall: this.xSmall,\n small: this.small,\n medium: this.medium,\n large: this.large,\n xLarge: this.xLarge,\n }\n\n const explicitSize = keys(sizes).find(key => sizes[key])\n\n return (\n (explicitSize && SIZE_MAP[explicitSize]) || convertToUnit(this.size)\n )\n },\n // Component data for both font icon and SVG wrapper span\n getDefaultData (): VNodeData {\n return {\n staticClass: 'v-icon notranslate',\n class: {\n 'v-icon--disabled': this.disabled,\n 'v-icon--left': this.left,\n 'v-icon--link': this.hasClickListener,\n 'v-icon--right': this.right,\n 'v-icon--dense': this.dense,\n },\n attrs: {\n 'aria-hidden': !this.hasClickListener,\n disabled: this.hasClickListener && this.disabled,\n type: this.hasClickListener ? 'button' : undefined,\n ...this.attrs$,\n },\n on: this.listeners$,\n }\n },\n getSvgWrapperData () {\n const fontSize = this.getSize()\n const wrapperData = {\n ...this.getDefaultData(),\n style: fontSize ? {\n fontSize,\n height: fontSize,\n width: fontSize,\n } : undefined,\n }\n this.applyColors(wrapperData)\n\n return wrapperData\n },\n applyColors (data: VNodeData): void {\n data.class = { ...data.class, ...this.themeClasses }\n this.setTextColor(this.color, data)\n },\n renderFontIcon (icon: string, h: CreateElement): VNode {\n const newChildren: VNodeChildren = []\n const data = this.getDefaultData()\n\n let iconType = 'material-icons'\n // Material Icon delimiter is _\n // https://material.io/icons/\n const delimiterIndex = icon.indexOf('-')\n const isMaterialIcon = delimiterIndex <= -1\n\n if (isMaterialIcon) {\n // Material icon uses ligatures.\n newChildren.push(icon)\n } else {\n iconType = icon.slice(0, delimiterIndex)\n if (isFontAwesome5(iconType)) iconType = ''\n }\n\n data.class[iconType] = true\n data.class[icon] = !isMaterialIcon\n\n const fontSize = this.getSize()\n if (fontSize) data.style = { fontSize }\n\n this.applyColors(data)\n\n return h(this.hasClickListener ? 'button' : this.tag, data, newChildren)\n },\n renderSvgIcon (icon: string, h: CreateElement): VNode {\n const svgData: VNodeData = {\n class: 'v-icon__svg',\n attrs: {\n xmlns: 'http://www.w3.org/2000/svg',\n viewBox: '0 0 24 24',\n role: 'img',\n 'aria-hidden': true,\n },\n }\n\n const size = this.getSize()\n if (size) {\n svgData.style = {\n fontSize: size,\n height: size,\n width: size,\n }\n }\n\n return h(this.hasClickListener ? 'button' : 'span', this.getSvgWrapperData(), [\n h('svg', svgData, [\n h('path', {\n attrs: {\n d: icon,\n },\n }),\n ]),\n ])\n },\n renderSvgIconComponent (\n icon: VuetifyIconComponent,\n h: CreateElement\n ): VNode {\n const data: VNodeData = {\n class: {\n 'v-icon__component': true,\n },\n }\n\n const size = this.getSize()\n if (size) {\n data.style = {\n fontSize: size,\n height: size,\n width: size,\n }\n }\n\n this.applyColors(data)\n\n const component = icon.component\n data.props = icon.props\n data.nativeOn = data.on\n\n return h(this.hasClickListener ? 'button' : 'span', this.getSvgWrapperData(), [\n h(component, data),\n ])\n },\n },\n\n render (h: CreateElement): VNode {\n const icon = this.getIcon()\n\n if (typeof icon === 'string') {\n if (isSvgPath(icon)) {\n return this.renderSvgIcon(icon, h)\n }\n return this.renderFontIcon(icon, h)\n }\n\n return this.renderSvgIconComponent(icon, h)\n },\n})\n\nexport default Vue.extend({\n name: 'v-icon',\n\n $_wrapperFor: VIcon,\n\n functional: true,\n\n render (h, { data, children }): VNode {\n let iconName = ''\n\n // Support usage of v-text and v-html\n if (data.domProps) {\n iconName = data.domProps.textContent ||\n data.domProps.innerHTML ||\n iconName\n\n // Remove nodes so it doesn't\n // overwrite our changes\n delete data.domProps.textContent\n delete data.domProps.innerHTML\n }\n\n return h(VIcon, data, iconName ? [iconName] : children)\n },\n})\n"],"sourceRoot":"","file":"VIcon.js"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
// Styles
|
|
3
2
|
import "../../../src/components/VImg/VImg.sass"; // Directives
|
|
4
3
|
|
|
5
4
|
import intersect from '../../directives/intersect'; // Components
|
|
@@ -12,7 +11,6 @@ import mixins from '../../util/mixins';
|
|
|
12
11
|
import mergeData from '../../util/mergeData';
|
|
13
12
|
import { consoleWarn } from '../../util/console';
|
|
14
13
|
import { getSlot } from '../../util/helpers';
|
|
15
|
-
import Intersect from '../../directives/intersect';
|
|
16
14
|
const hasIntersect = typeof window !== 'undefined' && 'IntersectionObserver' in window;
|
|
17
15
|
/* @vue/component */
|
|
18
16
|
|
|
@@ -89,12 +87,12 @@ export default mixins(VResponsive, Themeable).extend({
|
|
|
89
87
|
const src = this.isLoading ? this.normalisedSrc.lazySrc : this.currentSrc;
|
|
90
88
|
if (this.gradient) backgroundImage.push(`linear-gradient(${this.gradient})`);
|
|
91
89
|
if (src) backgroundImage.push(`url("${src}")`);
|
|
92
|
-
const image =
|
|
90
|
+
const image = this.$createElement('div', {
|
|
91
|
+
staticClass: 'v-image__image',
|
|
93
92
|
class: {
|
|
94
93
|
'v-image__image--preload': this.isLoading,
|
|
95
94
|
'v-image__image--contain': this.contain,
|
|
96
|
-
'v-image__image--cover': !this.contain
|
|
97
|
-
'v-image__image': true
|
|
95
|
+
'v-image__image--cover': !this.contain
|
|
98
96
|
},
|
|
99
97
|
style: {
|
|
100
98
|
backgroundImage: backgroundImage.join(', '),
|
|
@@ -105,9 +103,11 @@ export default mixins(VResponsive, Themeable).extend({
|
|
|
105
103
|
/* istanbul ignore if */
|
|
106
104
|
|
|
107
105
|
if (!this.transition) return image;
|
|
108
|
-
return
|
|
109
|
-
|
|
110
|
-
|
|
106
|
+
return this.$createElement('transition', {
|
|
107
|
+
attrs: {
|
|
108
|
+
name: this.transition,
|
|
109
|
+
mode: 'in-out'
|
|
110
|
+
}
|
|
111
111
|
}, [image]);
|
|
112
112
|
}
|
|
113
113
|
|
|
@@ -212,14 +212,14 @@ export default mixins(VResponsive, Themeable).extend({
|
|
|
212
212
|
},
|
|
213
213
|
|
|
214
214
|
genContent() {
|
|
215
|
-
|
|
215
|
+
const content = VResponsive.options.methods.genContent.call(this);
|
|
216
216
|
|
|
217
217
|
if (this.naturalWidth) {
|
|
218
|
-
|
|
218
|
+
this._b(content.data, 'div', {
|
|
219
219
|
style: {
|
|
220
220
|
width: `${this.naturalWidth}px`
|
|
221
221
|
}
|
|
222
|
-
})
|
|
222
|
+
});
|
|
223
223
|
}
|
|
224
224
|
|
|
225
225
|
return content;
|
|
@@ -229,36 +229,45 @@ export default mixins(VResponsive, Themeable).extend({
|
|
|
229
229
|
const slot = getSlot(this, 'placeholder');
|
|
230
230
|
|
|
231
231
|
if (slot) {
|
|
232
|
-
const placeholder = this.isLoading ? [
|
|
233
|
-
|
|
232
|
+
const placeholder = this.isLoading ? [this.$createElement('div', {
|
|
233
|
+
staticClass: 'v-image__placeholder'
|
|
234
234
|
}, slot)] : [];
|
|
235
235
|
if (!this.transition) return placeholder[0];
|
|
236
|
-
return
|
|
237
|
-
|
|
238
|
-
|
|
236
|
+
return this.$createElement('transition', {
|
|
237
|
+
props: {
|
|
238
|
+
appear: true,
|
|
239
|
+
name: this.transition
|
|
240
|
+
}
|
|
239
241
|
}, placeholder);
|
|
240
242
|
}
|
|
241
243
|
}
|
|
242
244
|
|
|
243
245
|
},
|
|
244
246
|
|
|
245
|
-
render() {
|
|
246
|
-
|
|
247
|
-
const data = mergeData(node.
|
|
248
|
-
'
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
'
|
|
252
|
-
}
|
|
247
|
+
render(h) {
|
|
248
|
+
const node = VResponsive.options.render.call(this, h);
|
|
249
|
+
const data = mergeData(node.data, {
|
|
250
|
+
staticClass: 'v-image',
|
|
251
|
+
attrs: {
|
|
252
|
+
'aria-label': this.alt,
|
|
253
|
+
role: this.alt ? 'img' : undefined
|
|
254
|
+
},
|
|
255
|
+
class: this.themeClasses,
|
|
256
|
+
// Only load intersect directive if it
|
|
257
|
+
// will work in the current browser.
|
|
258
|
+
directives: hasIntersect ? [{
|
|
259
|
+
name: 'intersect',
|
|
260
|
+
modifiers: {
|
|
261
|
+
once: true
|
|
262
|
+
},
|
|
263
|
+
value: {
|
|
264
|
+
handler: this.init,
|
|
265
|
+
options: this.options
|
|
266
|
+
}
|
|
267
|
+
}] : undefined
|
|
253
268
|
});
|
|
254
269
|
node.children = [this.__cachedSizer, this.__cachedImage, this.__genPlaceholder(), this.genContent()];
|
|
255
|
-
|
|
256
|
-
return withDirectives(node, hasIntersect ? [[Intersect, {
|
|
257
|
-
handler: this.init,
|
|
258
|
-
options: this.options
|
|
259
|
-
}, '', {
|
|
260
|
-
once: true
|
|
261
|
-
}]] : []);
|
|
270
|
+
return h(node.tag, data, node.children);
|
|
262
271
|
}
|
|
263
272
|
|
|
264
273
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VImg/VImg.ts"],"names":[],"mappings":"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","sourcesContent":["import {h, Transition, withDirectives, mergeProps} from 'vue'\n// Styles\nimport './VImg.sass'\n\n// Directives\nimport intersect from '../../directives/intersect'\n\n// Types\nimport { VNode } from 'vue'\nimport { PropValidator } from 'vue/types/options'\n\n// Components\nimport VResponsive from '../VResponsive'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\n\n// Utils\nimport mixins from '../../util/mixins'\nimport mergeData from '../../util/mergeData'\nimport { consoleWarn } from '../../util/console'\nimport { getSlot } from '../../util/helpers'\nimport Intersect from '../../directives/intersect'\n\n// not intended for public use, this is passed in by vuetify-loader\nexport interface srcObject {\n src: string\n srcset?: string\n lazySrc: string\n aspect: number\n}\n\nconst hasIntersect = typeof window !== 'undefined' && 'IntersectionObserver' in window\n\n/* @vue/component */\nexport default mixins(\n VResponsive,\n Themeable,\n).extend({\n name: 'v-img',\n\n directives: { intersect },\n\n props: {\n alt: String,\n contain: Boolean,\n eager: Boolean,\n gradient: String,\n lazySrc: String,\n options: {\n type: Object,\n // For more information on types, navigate to:\n // https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API\n default: () => ({\n root: undefined,\n rootMargin: undefined,\n threshold: undefined,\n }),\n } as PropValidator<IntersectionObserverInit>,\n position: {\n type: String,\n default: 'center center',\n },\n sizes: String,\n src: {\n type: [String, Object],\n default: '',\n } as PropValidator<string | srcObject>,\n srcset: String,\n transition: {\n type: [Boolean, String],\n default: 'fade-transition',\n },\n },\n\n data () {\n return {\n currentSrc: '', // Set from srcset\n image: null as HTMLImageElement | null,\n isLoading: true,\n calculatedAspectRatio: undefined as number | undefined,\n naturalWidth: undefined as number | undefined,\n hasError: false,\n }\n },\n\n computed: {\n computedAspectRatio (): number {\n return Number(this.normalisedSrc.aspect || this.calculatedAspectRatio)\n },\n normalisedSrc (): srcObject {\n return this.src && typeof this.src === 'object'\n ? {\n src: this.src.src,\n srcset: this.srcset || this.src.srcset,\n lazySrc: this.lazySrc || this.src.lazySrc,\n aspect: Number(this.aspectRatio || this.src.aspect),\n } : {\n src: this.src,\n srcset: this.srcset,\n lazySrc: this.lazySrc,\n aspect: Number(this.aspectRatio || 0),\n }\n },\n __cachedImage (): VNode | [] {\n if (!(this.normalisedSrc.src || this.normalisedSrc.lazySrc || this.gradient)) return []\n\n const backgroundImage: string[] = []\n const src = this.isLoading ? this.normalisedSrc.lazySrc : this.currentSrc\n\n if (this.gradient) backgroundImage.push(`linear-gradient(${this.gradient})`)\n if (src) backgroundImage.push(`url(\"${src}\")`)\n\n const image = h('div', {\n class: {\n 'v-image__image--preload': this.isLoading,\n 'v-image__image--contain': this.contain,\n 'v-image__image--cover': !this.contain,\n 'v-image__image': true\n },\n style: {\n backgroundImage: backgroundImage.join(', '),\n backgroundPosition: this.position,\n },\n key: +this.isLoading,\n })\n\n /* istanbul ignore if */\n if (!this.transition) return image\n\n return h(Transition, {\n name: this.transition,\n mode: 'in-out',\n }, [image])\n },\n },\n\n watch: {\n src () {\n // Force re-init when src changes\n if (!this.isLoading) this.init(undefined, undefined, true)\n else this.loadImage()\n },\n '$vuetify.breakpoint.width': 'getSrc',\n },\n\n mounted () {\n this.init()\n },\n\n methods: {\n init (\n entries?: IntersectionObserverEntry[],\n observer?: IntersectionObserver,\n isIntersecting?: boolean\n ) {\n // If the current browser supports the intersection\n // observer api, the image is not observable, and\n // the eager prop isn't being used, do not load\n if (\n hasIntersect &&\n !isIntersecting &&\n !this.eager\n ) return\n\n if (this.normalisedSrc.lazySrc) {\n const lazyImg = new Image()\n lazyImg.src = this.normalisedSrc.lazySrc\n this.pollForSize(lazyImg, null)\n }\n /* istanbul ignore else */\n if (this.normalisedSrc.src) this.loadImage()\n },\n onLoad () {\n this.getSrc()\n this.isLoading = false\n this.$emit('load', this.src)\n\n if (\n this.image &&\n (this.normalisedSrc.src.endsWith('.svg') || this.normalisedSrc.src.startsWith('data:image/svg+xml'))\n ) {\n if (this.image.naturalHeight && this.image.naturalWidth) {\n this.naturalWidth = this.image.naturalWidth\n this.calculatedAspectRatio = this.image.naturalWidth / this.image.naturalHeight\n } else {\n this.calculatedAspectRatio = 1\n }\n }\n },\n onError () {\n this.hasError = true\n this.$emit('error', this.src)\n },\n getSrc () {\n /* istanbul ignore else */\n if (this.image) this.currentSrc = this.image.currentSrc || this.image.src\n },\n loadImage () {\n const image = new Image()\n this.image = image\n\n image.onload = () => {\n /* istanbul ignore if */\n if (image.decode) {\n image.decode().catch((err: DOMException) => {\n consoleWarn(\n `Failed to decode image, trying to render anyway\\n\\n` +\n `src: ${this.normalisedSrc.src}` +\n (err.message ? `\\nOriginal error: ${err.message}` : ''),\n this\n )\n }).then(this.onLoad)\n } else {\n this.onLoad()\n }\n }\n image.onerror = this.onError\n\n this.hasError = false\n this.sizes && (image.sizes = this.sizes)\n this.normalisedSrc.srcset && (image.srcset = this.normalisedSrc.srcset)\n image.src = this.normalisedSrc.src\n this.$emit('loadstart', this.normalisedSrc.src)\n\n this.aspectRatio || this.pollForSize(image)\n this.getSrc()\n },\n pollForSize (img: HTMLImageElement, timeout: number | null = 100) {\n const poll = () => {\n const { naturalHeight, naturalWidth } = img\n\n if (naturalHeight || naturalWidth) {\n this.naturalWidth = naturalWidth\n this.calculatedAspectRatio = naturalWidth / naturalHeight\n } else if (!img.complete && this.isLoading && !this.hasError && timeout != null) {\n setTimeout(poll, timeout)\n }\n }\n\n poll()\n },\n genContent () {\n let content: VNode = VResponsive.methods.genContent.call(this)\n\n if (this.naturalWidth) {\n content = h(content.type, mergeProps(content.data!, {\n style: { width: `${this.naturalWidth}px` },\n }), content.children)\n }\n\n return content\n },\n __genPlaceholder (): VNode | void {\n const slot = getSlot(this, 'placeholder')\n if (slot) {\n const placeholder = this.isLoading\n ? [h('div', {\n class: 'v-image__placeholder',\n }, slot)]\n : []\n\n if (!this.transition) return placeholder[0]\n\n return h(Transition, {\n appear: true,\n name: this.transition,\n }, placeholder)\n }\n },\n },\n\n render (): VNode {\n let node = VResponsive.render.call(this, h)\n\n const data = mergeData(node.props, {\n 'aria-label': this.alt,\n role: this.alt ? 'img' : undefined,\n class: {\n ...this.themeClasses,\n 'v-image': true\n }\n })\n\n node.children = [\n this.__cachedSizer,\n this.__cachedImage,\n this.__genPlaceholder(),\n this.genContent(),\n ] as VNode[]\n\n node = h(node.type, data, node.children)\n\n return withDirectives(node, hasIntersect\n ? [\n [\n Intersect,\n {\n handler: this.init,\n options: this.options,\n },\n '',\n {\n once: true\n }\n ]\n ]\n\n : [])\n },\n})\n"],"sourceRoot":"","file":"VImg.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VImg/VImg.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VImg.sass'\n\n// Directives\nimport intersect from '../../directives/intersect'\n\n// Types\nimport { VNode } from 'vue'\nimport { PropValidator } from 'vue/types/options'\n\n// Components\nimport VResponsive from '../VResponsive'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\n\n// Utils\nimport mixins from '../../util/mixins'\nimport mergeData from '../../util/mergeData'\nimport { consoleWarn } from '../../util/console'\nimport { getSlot } from '../../util/helpers'\n\n// not intended for public use, this is passed in by vuetify-loader\nexport interface srcObject {\n src: string\n srcset?: string\n lazySrc: string\n aspect: number\n}\n\nconst hasIntersect = typeof window !== 'undefined' && 'IntersectionObserver' in window\n\n/* @vue/component */\nexport default mixins(\n VResponsive,\n Themeable,\n).extend({\n name: 'v-img',\n\n directives: { intersect },\n\n props: {\n alt: String,\n contain: Boolean,\n eager: Boolean,\n gradient: String,\n lazySrc: String,\n options: {\n type: Object,\n // For more information on types, navigate to:\n // https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API\n default: () => ({\n root: undefined,\n rootMargin: undefined,\n threshold: undefined,\n }),\n } as PropValidator<IntersectionObserverInit>,\n position: {\n type: String,\n default: 'center center',\n },\n sizes: String,\n src: {\n type: [String, Object],\n default: '',\n } as PropValidator<string | srcObject>,\n srcset: String,\n transition: {\n type: [Boolean, String],\n default: 'fade-transition',\n },\n },\n\n data () {\n return {\n currentSrc: '', // Set from srcset\n image: null as HTMLImageElement | null,\n isLoading: true,\n calculatedAspectRatio: undefined as number | undefined,\n naturalWidth: undefined as number | undefined,\n hasError: false,\n }\n },\n\n computed: {\n computedAspectRatio (): number {\n return Number(this.normalisedSrc.aspect || this.calculatedAspectRatio)\n },\n normalisedSrc (): srcObject {\n return this.src && typeof this.src === 'object'\n ? {\n src: this.src.src,\n srcset: this.srcset || this.src.srcset,\n lazySrc: this.lazySrc || this.src.lazySrc,\n aspect: Number(this.aspectRatio || this.src.aspect),\n } : {\n src: this.src,\n srcset: this.srcset,\n lazySrc: this.lazySrc,\n aspect: Number(this.aspectRatio || 0),\n }\n },\n __cachedImage (): VNode | [] {\n if (!(this.normalisedSrc.src || this.normalisedSrc.lazySrc || this.gradient)) return []\n\n const backgroundImage: string[] = []\n const src = this.isLoading ? this.normalisedSrc.lazySrc : this.currentSrc\n\n if (this.gradient) backgroundImage.push(`linear-gradient(${this.gradient})`)\n if (src) backgroundImage.push(`url(\"${src}\")`)\n\n const image = this.$createElement('div', {\n staticClass: 'v-image__image',\n class: {\n 'v-image__image--preload': this.isLoading,\n 'v-image__image--contain': this.contain,\n 'v-image__image--cover': !this.contain,\n },\n style: {\n backgroundImage: backgroundImage.join(', '),\n backgroundPosition: this.position,\n },\n key: +this.isLoading,\n })\n\n /* istanbul ignore if */\n if (!this.transition) return image\n\n return this.$createElement('transition', {\n attrs: {\n name: this.transition,\n mode: 'in-out',\n },\n }, [image])\n },\n },\n\n watch: {\n src () {\n // Force re-init when src changes\n if (!this.isLoading) this.init(undefined, undefined, true)\n else this.loadImage()\n },\n '$vuetify.breakpoint.width': 'getSrc',\n },\n\n mounted () {\n this.init()\n },\n\n methods: {\n init (\n entries?: IntersectionObserverEntry[],\n observer?: IntersectionObserver,\n isIntersecting?: boolean\n ) {\n // If the current browser supports the intersection\n // observer api, the image is not observable, and\n // the eager prop isn't being used, do not load\n if (\n hasIntersect &&\n !isIntersecting &&\n !this.eager\n ) return\n\n if (this.normalisedSrc.lazySrc) {\n const lazyImg = new Image()\n lazyImg.src = this.normalisedSrc.lazySrc\n this.pollForSize(lazyImg, null)\n }\n /* istanbul ignore else */\n if (this.normalisedSrc.src) this.loadImage()\n },\n onLoad () {\n this.getSrc()\n this.isLoading = false\n this.$emit('load', this.src)\n\n if (\n this.image &&\n (this.normalisedSrc.src.endsWith('.svg') || this.normalisedSrc.src.startsWith('data:image/svg+xml'))\n ) {\n if (this.image.naturalHeight && this.image.naturalWidth) {\n this.naturalWidth = this.image.naturalWidth\n this.calculatedAspectRatio = this.image.naturalWidth / this.image.naturalHeight\n } else {\n this.calculatedAspectRatio = 1\n }\n }\n },\n onError () {\n this.hasError = true\n this.$emit('error', this.src)\n },\n getSrc () {\n /* istanbul ignore else */\n if (this.image) this.currentSrc = this.image.currentSrc || this.image.src\n },\n loadImage () {\n const image = new Image()\n this.image = image\n\n image.onload = () => {\n /* istanbul ignore if */\n if (image.decode) {\n image.decode().catch((err: DOMException) => {\n consoleWarn(\n `Failed to decode image, trying to render anyway\\n\\n` +\n `src: ${this.normalisedSrc.src}` +\n (err.message ? `\\nOriginal error: ${err.message}` : ''),\n this\n )\n }).then(this.onLoad)\n } else {\n this.onLoad()\n }\n }\n image.onerror = this.onError\n\n this.hasError = false\n this.sizes && (image.sizes = this.sizes)\n this.normalisedSrc.srcset && (image.srcset = this.normalisedSrc.srcset)\n image.src = this.normalisedSrc.src\n this.$emit('loadstart', this.normalisedSrc.src)\n\n this.aspectRatio || this.pollForSize(image)\n this.getSrc()\n },\n pollForSize (img: HTMLImageElement, timeout: number | null = 100) {\n const poll = () => {\n const { naturalHeight, naturalWidth } = img\n\n if (naturalHeight || naturalWidth) {\n this.naturalWidth = naturalWidth\n this.calculatedAspectRatio = naturalWidth / naturalHeight\n } else if (!img.complete && this.isLoading && !this.hasError && timeout != null) {\n setTimeout(poll, timeout)\n }\n }\n\n poll()\n },\n genContent () {\n const content: VNode = VResponsive.options.methods.genContent.call(this)\n if (this.naturalWidth) {\n this._b(content.data!, 'div', {\n style: { width: `${this.naturalWidth}px` },\n })\n }\n\n return content\n },\n __genPlaceholder (): VNode | void {\n const slot = getSlot(this, 'placeholder')\n if (slot) {\n const placeholder = this.isLoading\n ? [this.$createElement('div', {\n staticClass: 'v-image__placeholder',\n }, slot)]\n : []\n\n if (!this.transition) return placeholder[0]\n\n return this.$createElement('transition', {\n props: {\n appear: true,\n name: this.transition,\n },\n }, placeholder)\n }\n },\n },\n\n render (h): VNode {\n const node = VResponsive.options.render.call(this, h)\n\n const data = mergeData(node.data!, {\n staticClass: 'v-image',\n attrs: {\n 'aria-label': this.alt,\n role: this.alt ? 'img' : undefined,\n },\n class: this.themeClasses,\n // Only load intersect directive if it\n // will work in the current browser.\n directives: hasIntersect\n ? [{\n name: 'intersect',\n modifiers: { once: true },\n value: {\n handler: this.init,\n options: this.options,\n },\n }]\n : undefined,\n })\n\n node.children = [\n this.__cachedSizer,\n this.__cachedImage,\n this.__genPlaceholder(),\n this.genContent(),\n ] as VNode[]\n\n return h(node.tag, data, node.children)\n },\n})\n"],"sourceRoot":"","file":"VImg.js"}
|