UNPKG

1.55 MBSource Map (JSON)View Raw
1{"version":3,"sources":["webpack://Vuetify/webpack/universalModuleDefinition","webpack://Vuetify/webpack/bootstrap","webpack://Vuetify/./src/components/VAlert/VAlert.sass?1abe","webpack://Vuetify/./src/components/VAlert/VAlert.ts","webpack://Vuetify/./src/components/VAlert/index.ts","webpack://Vuetify/./src/components/VApp/VApp.sass?ebab","webpack://Vuetify/./src/components/VApp/VApp.ts","webpack://Vuetify/./src/components/VApp/index.ts","webpack://Vuetify/./src/components/VAppBar/VAppBar.sass?46dc","webpack://Vuetify/./src/components/VAppBar/VAppBar.ts","webpack://Vuetify/./src/components/VAppBar/VAppBarNavIcon.ts","webpack://Vuetify/./src/components/VAppBar/index.ts","webpack://Vuetify/./src/components/VAutocomplete/VAutocomplete.sass?2bfc","webpack://Vuetify/./src/components/VAutocomplete/VAutocomplete.ts","webpack://Vuetify/./src/components/VAutocomplete/index.ts","webpack://Vuetify/./src/components/VAvatar/VAvatar.sass?ea0a","webpack://Vuetify/./src/components/VAvatar/VAvatar.ts","webpack://Vuetify/./src/components/VAvatar/index.ts","webpack://Vuetify/./src/components/VBadge/VBadge.sass?b2e9","webpack://Vuetify/./src/components/VBadge/VBadge.ts","webpack://Vuetify/./src/components/VBadge/index.ts","webpack://Vuetify/./src/components/VBanner/VBanner.sass?b082","webpack://Vuetify/./src/components/VBanner/VBanner.ts","webpack://Vuetify/./src/components/VBanner/index.ts","webpack://Vuetify/./src/components/VBottomNavigation/VBottomNavigation.sass?89d4","webpack://Vuetify/./src/components/VBottomNavigation/VBottomNavigation.ts","webpack://Vuetify/./src/components/VBottomNavigation/index.ts","webpack://Vuetify/./src/components/VBottomSheet/VBottomSheet.sass?2c2f","webpack://Vuetify/./src/components/VBottomSheet/VBottomSheet.ts","webpack://Vuetify/./src/components/VBottomSheet/index.ts","webpack://Vuetify/./src/components/VBreadcrumbs/VBreadcrumbs.sass?5d32","webpack://Vuetify/./src/components/VBreadcrumbs/VBreadcrumbs.ts","webpack://Vuetify/./src/components/VBreadcrumbs/VBreadcrumbsItem.ts","webpack://Vuetify/./src/components/VBreadcrumbs/index.ts","webpack://Vuetify/./src/components/VBtn/VBtn.sass?f71c","webpack://Vuetify/./src/components/VBtn/VBtn.ts","webpack://Vuetify/./src/components/VBtn/index.ts","webpack://Vuetify/./src/components/VBtnToggle/VBtnToggle.sass?29d1","webpack://Vuetify/./src/components/VBtnToggle/VBtnToggle.ts","webpack://Vuetify/./src/components/VBtnToggle/index.ts","webpack://Vuetify/./src/components/VCalendar/VCalendar.ts","webpack://Vuetify/./src/components/VCalendar/VCalendarDaily.sass?7d60","webpack://Vuetify/./src/components/VCalendar/VCalendarDaily.ts","webpack://Vuetify/./src/components/VCalendar/VCalendarMonthly.ts","webpack://Vuetify/./src/components/VCalendar/VCalendarWeekly.sass?da37","webpack://Vuetify/./src/components/VCalendar/VCalendarWeekly.ts","webpack://Vuetify/./src/components/VCalendar/index.ts","webpack://Vuetify/./src/components/VCalendar/mixins/calendar-base.ts","webpack://Vuetify/./src/components/VCalendar/mixins/calendar-with-events.sass?c737","webpack://Vuetify/./src/components/VCalendar/mixins/calendar-with-events.ts","webpack://Vuetify/./src/components/VCalendar/mixins/calendar-with-intervals.ts","webpack://Vuetify/./src/components/VCalendar/mixins/mouse.ts","webpack://Vuetify/./src/components/VCalendar/mixins/times.ts","webpack://Vuetify/./src/components/VCalendar/util/events.ts","webpack://Vuetify/./src/components/VCalendar/util/props.ts","webpack://Vuetify/./src/components/VCalendar/util/timestamp.ts","webpack://Vuetify/./src/components/VCard/VCard.sass?432c","webpack://Vuetify/./src/components/VCard/VCard.ts","webpack://Vuetify/./src/components/VCard/index.ts","webpack://Vuetify/./src/components/VCarousel/VCarousel.sass?cf6b","webpack://Vuetify/./src/components/VCarousel/VCarousel.ts","webpack://Vuetify/./src/components/VCarousel/VCarouselItem.ts","webpack://Vuetify/./src/components/VCarousel/index.ts","webpack://Vuetify/./src/components/VCheckbox/VCheckbox.sass?579c","webpack://Vuetify/./src/components/VCheckbox/VCheckbox.ts","webpack://Vuetify/./src/components/VCheckbox/VSimpleCheckbox.sass?f313","webpack://Vuetify/./src/components/VCheckbox/VSimpleCheckbox.ts","webpack://Vuetify/./src/components/VCheckbox/index.ts","webpack://Vuetify/./src/components/VChip/VChip.sass?d9b1","webpack://Vuetify/./src/components/VChip/VChip.ts","webpack://Vuetify/./src/components/VChip/index.ts","webpack://Vuetify/./src/components/VChipGroup/VChipGroup.sass?9200","webpack://Vuetify/./src/components/VChipGroup/VChipGroup.ts","webpack://Vuetify/./src/components/VChipGroup/index.ts","webpack://Vuetify/./src/components/VColorPicker/VColorPicker.sass?3828","webpack://Vuetify/./src/components/VColorPicker/VColorPicker.ts","webpack://Vuetify/./src/components/VColorPicker/VColorPickerCanvas.sass?7afe","webpack://Vuetify/./src/components/VColorPicker/VColorPickerCanvas.ts","webpack://Vuetify/./src/components/VColorPicker/VColorPickerEdit.sass?0cc1","webpack://Vuetify/./src/components/VColorPicker/VColorPickerEdit.ts","webpack://Vuetify/./src/components/VColorPicker/VColorPickerPreview.sass?7c72","webpack://Vuetify/./src/components/VColorPicker/VColorPickerPreview.ts","webpack://Vuetify/./src/components/VColorPicker/VColorPickerSwatches.sass?b86e","webpack://Vuetify/./src/components/VColorPicker/VColorPickerSwatches.ts","webpack://Vuetify/./src/components/VColorPicker/index.ts","webpack://Vuetify/./src/components/VColorPicker/util/index.ts","webpack://Vuetify/./src/components/VCombobox/VCombobox.ts","webpack://Vuetify/./src/components/VCombobox/index.ts","webpack://Vuetify/./src/components/VContent/VContent.sass?21b9","webpack://Vuetify/./src/components/VContent/VContent.ts","webpack://Vuetify/./src/components/VContent/index.ts","webpack://Vuetify/./src/components/VCounter/VCounter.sass?9935","webpack://Vuetify/./src/components/VCounter/VCounter.ts","webpack://Vuetify/./src/components/VCounter/index.ts","webpack://Vuetify/./src/components/VData/VData.ts","webpack://Vuetify/./src/components/VData/index.ts","webpack://Vuetify/./src/components/VDataIterator/VDataFooter.sass?f251","webpack://Vuetify/./src/components/VDataIterator/VDataFooter.ts","webpack://Vuetify/./src/components/VDataIterator/VDataIterator.ts","webpack://Vuetify/./src/components/VDataIterator/index.ts","webpack://Vuetify/./src/components/VDataTable/MobileRow.ts","webpack://Vuetify/./src/components/VDataTable/Row.ts","webpack://Vuetify/./src/components/VDataTable/RowGroup.ts","webpack://Vuetify/./src/components/VDataTable/VDataTable.sass?2658","webpack://Vuetify/./src/components/VDataTable/VDataTable.ts","webpack://Vuetify/./src/components/VDataTable/VDataTableHeader.sass?8802","webpack://Vuetify/./src/components/VDataTable/VDataTableHeader.ts","webpack://Vuetify/./src/components/VDataTable/VDataTableHeaderDesktop.ts","webpack://Vuetify/./src/components/VDataTable/VDataTableHeaderMobile.ts","webpack://Vuetify/./src/components/VDataTable/VEditDialog.sass?279b","webpack://Vuetify/./src/components/VDataTable/VEditDialog.ts","webpack://Vuetify/./src/components/VDataTable/VSimpleTable.sass?ad92","webpack://Vuetify/./src/components/VDataTable/VSimpleTable.ts","webpack://Vuetify/./src/components/VDataTable/VVirtualTable.sass?01d1","webpack://Vuetify/./src/components/VDataTable/VVirtualTable.ts","webpack://Vuetify/./src/components/VDataTable/index.ts","webpack://Vuetify/./src/components/VDataTable/mixins/header.ts","webpack://Vuetify/./src/components/VDatePicker/VDatePicker.ts","webpack://Vuetify/./src/components/VDatePicker/VDatePickerDateTable.ts","webpack://Vuetify/./src/components/VDatePicker/VDatePickerHeader.sass?9d27","webpack://Vuetify/./src/components/VDatePicker/VDatePickerHeader.ts","webpack://Vuetify/./src/components/VDatePicker/VDatePickerMonthTable.ts","webpack://Vuetify/./src/components/VDatePicker/VDatePickerTable.sass?616a","webpack://Vuetify/./src/components/VDatePicker/VDatePickerTitle.sass?d859","webpack://Vuetify/./src/components/VDatePicker/VDatePickerTitle.ts","webpack://Vuetify/./src/components/VDatePicker/VDatePickerYears.sass?226a","webpack://Vuetify/./src/components/VDatePicker/VDatePickerYears.ts","webpack://Vuetify/./src/components/VDatePicker/index.ts","webpack://Vuetify/./src/components/VDatePicker/mixins/date-picker-table.ts","webpack://Vuetify/./src/components/VDatePicker/util/createNativeLocaleFormatter.ts","webpack://Vuetify/./src/components/VDatePicker/util/index.ts","webpack://Vuetify/./src/components/VDatePicker/util/isDateAllowed.ts","webpack://Vuetify/./src/components/VDatePicker/util/monthChange.ts","webpack://Vuetify/./src/components/VDatePicker/util/pad.ts","webpack://Vuetify/./src/components/VDialog/VDialog.sass?1c32","webpack://Vuetify/./src/components/VDialog/VDialog.ts","webpack://Vuetify/./src/components/VDialog/index.ts","webpack://Vuetify/./src/components/VDivider/VDivider.sass?a4bd","webpack://Vuetify/./src/components/VDivider/VDivider.ts","webpack://Vuetify/./src/components/VDivider/index.ts","webpack://Vuetify/./src/components/VExpansionPanel/VExpansionPanel.sass?9695","webpack://Vuetify/./src/components/VExpansionPanel/VExpansionPanel.ts","webpack://Vuetify/./src/components/VExpansionPanel/VExpansionPanelContent.ts","webpack://Vuetify/./src/components/VExpansionPanel/VExpansionPanelHeader.ts","webpack://Vuetify/./src/components/VExpansionPanel/VExpansionPanels.ts","webpack://Vuetify/./src/components/VExpansionPanel/index.ts","webpack://Vuetify/./src/components/VFileInput/VFileInput.sass?b874","webpack://Vuetify/./src/components/VFileInput/VFileInput.ts","webpack://Vuetify/./src/components/VFileInput/index.ts","webpack://Vuetify/./src/components/VFooter/VFooter.sass?3308","webpack://Vuetify/./src/components/VFooter/VFooter.ts","webpack://Vuetify/./src/components/VFooter/index.ts","webpack://Vuetify/./src/components/VForm/VForm.ts","webpack://Vuetify/./src/components/VForm/index.ts","webpack://Vuetify/./src/components/VGrid/VCol.ts","webpack://Vuetify/./src/components/VGrid/VContainer.ts","webpack://Vuetify/./src/components/VGrid/VFlex.ts","webpack://Vuetify/./src/components/VGrid/VGrid.sass?7fb7","webpack://Vuetify/./src/components/VGrid/VLayout.ts","webpack://Vuetify/./src/components/VGrid/VRow.ts","webpack://Vuetify/./src/components/VGrid/VSpacer.ts","webpack://Vuetify/./src/components/VGrid/_grid.sass?9102","webpack://Vuetify/./src/components/VGrid/grid.ts","webpack://Vuetify/./src/components/VGrid/index.ts","webpack://Vuetify/./src/components/VHover/VHover.ts","webpack://Vuetify/./src/components/VHover/index.ts","webpack://Vuetify/./src/components/VIcon/VIcon.sass?2565","webpack://Vuetify/./src/components/VIcon/VIcon.ts","webpack://Vuetify/./src/components/VIcon/index.ts","webpack://Vuetify/./src/components/VImg/VImg.sass?a7f2","webpack://Vuetify/./src/components/VImg/VImg.ts","webpack://Vuetify/./src/components/VImg/index.ts","webpack://Vuetify/./src/components/VInput/VInput.sass?fbfa","webpack://Vuetify/./src/components/VInput/VInput.ts","webpack://Vuetify/./src/components/VInput/index.ts","webpack://Vuetify/./src/components/VItemGroup/VItem.ts","webpack://Vuetify/./src/components/VItemGroup/VItemGroup.sass?1d04","webpack://Vuetify/./src/components/VItemGroup/VItemGroup.ts","webpack://Vuetify/./src/components/VItemGroup/index.ts","webpack://Vuetify/./src/components/VLabel/VLabel.sass?f309","webpack://Vuetify/./src/components/VLabel/VLabel.ts","webpack://Vuetify/./src/components/VLabel/index.ts","webpack://Vuetify/./src/components/VLazy/VLazy.ts","webpack://Vuetify/./src/components/VLazy/index.ts","webpack://Vuetify/./src/components/VList/VList.sass?a8fa","webpack://Vuetify/./src/components/VList/VList.ts","webpack://Vuetify/./src/components/VList/VListGroup.sass?381c","webpack://Vuetify/./src/components/VList/VListGroup.ts","webpack://Vuetify/./src/components/VList/VListItem.sass?1844","webpack://Vuetify/./src/components/VList/VListItem.ts","webpack://Vuetify/./src/components/VList/VListItemAction.ts","webpack://Vuetify/./src/components/VList/VListItemAvatar.ts","webpack://Vuetify/./src/components/VList/VListItemGroup.sass?9b35","webpack://Vuetify/./src/components/VList/VListItemGroup.ts","webpack://Vuetify/./src/components/VList/VListItemIcon.ts","webpack://Vuetify/./src/components/VList/index.ts","webpack://Vuetify/./src/components/VMenu/VMenu.sass?4838","webpack://Vuetify/./src/components/VMenu/VMenu.ts","webpack://Vuetify/./src/components/VMenu/index.ts","webpack://Vuetify/./src/components/VMessages/VMessages.sass?47ac","webpack://Vuetify/./src/components/VMessages/VMessages.ts","webpack://Vuetify/./src/components/VMessages/index.ts","webpack://Vuetify/./src/components/VNavigationDrawer/VNavigationDrawer.sass?f268","webpack://Vuetify/./src/components/VNavigationDrawer/VNavigationDrawer.ts","webpack://Vuetify/./src/components/VNavigationDrawer/index.ts","webpack://Vuetify/./src/components/VOverflowBtn/VOverflowBtn.sass?c13f","webpack://Vuetify/./src/components/VOverflowBtn/VOverflowBtn.ts","webpack://Vuetify/./src/components/VOverflowBtn/index.ts","webpack://Vuetify/./src/components/VOverlay/VOverlay.sass?9a01","webpack://Vuetify/./src/components/VOverlay/VOverlay.ts","webpack://Vuetify/./src/components/VOverlay/index.ts","webpack://Vuetify/./src/components/VPagination/VPagination.sass?e0ea","webpack://Vuetify/./src/components/VPagination/VPagination.ts","webpack://Vuetify/./src/components/VPagination/index.ts","webpack://Vuetify/./src/components/VParallax/VParallax.sass?90f5","webpack://Vuetify/./src/components/VParallax/VParallax.ts","webpack://Vuetify/./src/components/VParallax/index.ts","webpack://Vuetify/./src/components/VPicker/VPicker.sass?c65f","webpack://Vuetify/./src/components/VPicker/VPicker.ts","webpack://Vuetify/./src/components/VPicker/index.ts","webpack://Vuetify/./src/components/VProgressCircular/VProgressCircular.sass?fce7","webpack://Vuetify/./src/components/VProgressCircular/VProgressCircular.ts","webpack://Vuetify/./src/components/VProgressCircular/index.ts","webpack://Vuetify/./src/components/VProgressLinear/VProgressLinear.sass?84fa","webpack://Vuetify/./src/components/VProgressLinear/VProgressLinear.ts","webpack://Vuetify/./src/components/VProgressLinear/index.ts","webpack://Vuetify/./src/components/VRadioGroup/VRadio.sass?80a6","webpack://Vuetify/./src/components/VRadioGroup/VRadio.ts","webpack://Vuetify/./src/components/VRadioGroup/VRadioGroup.sass?07fe","webpack://Vuetify/./src/components/VRadioGroup/VRadioGroup.ts","webpack://Vuetify/./src/components/VRadioGroup/index.ts","webpack://Vuetify/./src/components/VRangeSlider/VRangeSlider.sass?cd33","webpack://Vuetify/./src/components/VRangeSlider/VRangeSlider.ts","webpack://Vuetify/./src/components/VRangeSlider/index.ts","webpack://Vuetify/./src/components/VRating/VRating.sass?4cc0","webpack://Vuetify/./src/components/VRating/VRating.ts","webpack://Vuetify/./src/components/VRating/index.ts","webpack://Vuetify/./src/components/VResponsive/VResponsive.sass?7743","webpack://Vuetify/./src/components/VResponsive/VResponsive.ts","webpack://Vuetify/./src/components/VResponsive/index.ts","webpack://Vuetify/./src/components/VSelect/VSelect.sass?c2cc","webpack://Vuetify/./src/components/VSelect/VSelect.ts","webpack://Vuetify/./src/components/VSelect/VSelectList.ts","webpack://Vuetify/./src/components/VSelect/index.ts","webpack://Vuetify/./src/components/VSheet/VSheet.sass?c75d","webpack://Vuetify/./src/components/VSheet/VSheet.ts","webpack://Vuetify/./src/components/VSheet/index.ts","webpack://Vuetify/./src/components/VSkeletonLoader/VSkeletonLoader.sass?114f","webpack://Vuetify/./src/components/VSkeletonLoader/VSkeletonLoader.ts","webpack://Vuetify/./src/components/VSkeletonLoader/index.ts","webpack://Vuetify/./src/components/VSlideGroup/VSlideGroup.sass?bca3","webpack://Vuetify/./src/components/VSlideGroup/VSlideGroup.ts","webpack://Vuetify/./src/components/VSlideGroup/VSlideItem.ts","webpack://Vuetify/./src/components/VSlideGroup/index.ts","webpack://Vuetify/./src/components/VSlider/VSlider.sass?4461","webpack://Vuetify/./src/components/VSlider/VSlider.ts","webpack://Vuetify/./src/components/VSlider/index.ts","webpack://Vuetify/./src/components/VSnackbar/VSnackbar.sass?5a12","webpack://Vuetify/./src/components/VSnackbar/VSnackbar.ts","webpack://Vuetify/./src/components/VSnackbar/index.ts","webpack://Vuetify/./src/components/VSparkline/VSparkline.sass?5569","webpack://Vuetify/./src/components/VSparkline/VSparkline.ts","webpack://Vuetify/./src/components/VSparkline/helpers/core.ts","webpack://Vuetify/./src/components/VSparkline/helpers/math.ts","webpack://Vuetify/./src/components/VSparkline/helpers/path.ts","webpack://Vuetify/./src/components/VSparkline/index.ts","webpack://Vuetify/./src/components/VSpeedDial/VSpeedDial.sass?c0fe","webpack://Vuetify/./src/components/VSpeedDial/VSpeedDial.ts","webpack://Vuetify/./src/components/VSpeedDial/index.ts","webpack://Vuetify/./src/components/VStepper/VStepper.sass?0570","webpack://Vuetify/./src/components/VStepper/VStepper.ts","webpack://Vuetify/./src/components/VStepper/VStepperContent.ts","webpack://Vuetify/./src/components/VStepper/VStepperStep.ts","webpack://Vuetify/./src/components/VStepper/index.ts","webpack://Vuetify/./src/components/VSubheader/VSubheader.sass?9e88","webpack://Vuetify/./src/components/VSubheader/VSubheader.ts","webpack://Vuetify/./src/components/VSubheader/index.ts","webpack://Vuetify/./src/components/VSwitch/VSwitch.sass?0077","webpack://Vuetify/./src/components/VSwitch/VSwitch.ts","webpack://Vuetify/./src/components/VSwitch/index.ts","webpack://Vuetify/./src/components/VSystemBar/VSystemBar.sass?2165","webpack://Vuetify/./src/components/VSystemBar/VSystemBar.ts","webpack://Vuetify/./src/components/VSystemBar/index.ts","webpack://Vuetify/./src/components/VTabs/VTab.ts","webpack://Vuetify/./src/components/VTabs/VTabItem.ts","webpack://Vuetify/./src/components/VTabs/VTabs.sass?ce2f","webpack://Vuetify/./src/components/VTabs/VTabs.ts","webpack://Vuetify/./src/components/VTabs/VTabsBar.ts","webpack://Vuetify/./src/components/VTabs/VTabsItems.ts","webpack://Vuetify/./src/components/VTabs/VTabsSlider.ts","webpack://Vuetify/./src/components/VTabs/index.ts","webpack://Vuetify/./src/components/VTextField/VTextField.sass?54b8","webpack://Vuetify/./src/components/VTextField/VTextField.ts","webpack://Vuetify/./src/components/VTextField/index.ts","webpack://Vuetify/./src/components/VTextarea/VTextarea.sass?349b","webpack://Vuetify/./src/components/VTextarea/VTextarea.ts","webpack://Vuetify/./src/components/VTextarea/index.ts","webpack://Vuetify/./src/components/VTimePicker/VTimePicker.ts","webpack://Vuetify/./src/components/VTimePicker/VTimePickerClock.sass?174d","webpack://Vuetify/./src/components/VTimePicker/VTimePickerClock.ts","webpack://Vuetify/./src/components/VTimePicker/VTimePickerTitle.sass?32d0","webpack://Vuetify/./src/components/VTimePicker/VTimePickerTitle.ts","webpack://Vuetify/./src/components/VTimePicker/index.ts","webpack://Vuetify/./src/components/VTimeline/VTimeline.sass?d932","webpack://Vuetify/./src/components/VTimeline/VTimeline.ts","webpack://Vuetify/./src/components/VTimeline/VTimelineItem.ts","webpack://Vuetify/./src/components/VTimeline/index.ts","webpack://Vuetify/./src/components/VToolbar/VToolbar.sass?04ff","webpack://Vuetify/./src/components/VToolbar/VToolbar.ts","webpack://Vuetify/./src/components/VToolbar/index.ts","webpack://Vuetify/./src/components/VTooltip/VTooltip.sass?896f","webpack://Vuetify/./src/components/VTooltip/VTooltip.ts","webpack://Vuetify/./src/components/VTooltip/index.ts","webpack://Vuetify/./src/components/VTreeview/VTreeview.sass?35d4","webpack://Vuetify/./src/components/VTreeview/VTreeview.ts","webpack://Vuetify/./src/components/VTreeview/VTreeviewNode.ts","webpack://Vuetify/./src/components/VTreeview/index.ts","webpack://Vuetify/./src/components/VTreeview/util/filterTreeItems.ts","webpack://Vuetify/./src/components/VWindow/VWindow.sass?4cce","webpack://Vuetify/./src/components/VWindow/VWindow.ts","webpack://Vuetify/./src/components/VWindow/VWindowItem.ts","webpack://Vuetify/./src/components/VWindow/index.ts","webpack://Vuetify/./src/components/index.ts","webpack://Vuetify/./src/components/transitions/expand-transition.ts","webpack://Vuetify/./src/components/transitions/index.ts","webpack://Vuetify/./src/directives/click-outside/index.ts","webpack://Vuetify/./src/directives/index.ts","webpack://Vuetify/./src/directives/intersect/index.ts","webpack://Vuetify/./src/directives/mutate/index.ts","webpack://Vuetify/./src/directives/resize/index.ts","webpack://Vuetify/./src/directives/ripple/VRipple.sass?4e9f","webpack://Vuetify/./src/directives/ripple/index.ts","webpack://Vuetify/./src/directives/scroll/index.ts","webpack://Vuetify/./src/directives/touch/index.ts","webpack://Vuetify/./src/framework.ts","webpack://Vuetify/./src/index.ts","webpack://Vuetify/./src/install.ts","webpack://Vuetify/./src/locale/en.ts","webpack://Vuetify/./src/mixins/activatable/index.ts","webpack://Vuetify/./src/mixins/applicationable/index.ts","webpack://Vuetify/./src/mixins/binds-attrs/index.ts","webpack://Vuetify/./src/mixins/bootable/index.ts","webpack://Vuetify/./src/mixins/button-group/index.ts","webpack://Vuetify/./src/mixins/colorable/index.ts","webpack://Vuetify/./src/mixins/comparable/index.ts","webpack://Vuetify/./src/mixins/delayable/index.ts","webpack://Vuetify/./src/mixins/dependent/index.ts","webpack://Vuetify/./src/mixins/detachable/index.ts","webpack://Vuetify/./src/mixins/elevatable/index.ts","webpack://Vuetify/./src/mixins/filterable/index.ts","webpack://Vuetify/./src/mixins/groupable/index.ts","webpack://Vuetify/./src/mixins/loadable/index.ts","webpack://Vuetify/./src/mixins/localable/index.ts","webpack://Vuetify/./src/mixins/measurable/index.ts","webpack://Vuetify/./src/mixins/menuable/index.ts","webpack://Vuetify/./src/mixins/overlayable/index.ts","webpack://Vuetify/./src/mixins/picker-button/index.ts","webpack://Vuetify/./src/mixins/picker/index.ts","webpack://Vuetify/./src/mixins/positionable/index.ts","webpack://Vuetify/./src/mixins/proxyable/index.ts","webpack://Vuetify/./src/mixins/registrable/index.ts","webpack://Vuetify/./src/mixins/returnable/index.ts","webpack://Vuetify/./src/mixins/rippleable/index.ts","webpack://Vuetify/./src/mixins/routable/index.ts","webpack://Vuetify/./src/mixins/scrollable/index.ts","webpack://Vuetify/./src/mixins/selectable/index.ts","webpack://Vuetify/./src/mixins/sizeable/index.ts","webpack://Vuetify/./src/mixins/ssr-bootable/index.ts","webpack://Vuetify/./src/mixins/stackable/index.ts","webpack://Vuetify/./src/mixins/themeable/index.ts","webpack://Vuetify/./src/mixins/toggleable/index.ts","webpack://Vuetify/./src/mixins/transitionable/index.ts","webpack://Vuetify/./src/mixins/translatable/index.ts","webpack://Vuetify/./src/mixins/validatable/index.ts","webpack://Vuetify/./src/services/application/index.ts","webpack://Vuetify/./src/services/breakpoint/index.ts","webpack://Vuetify/./src/services/goto/easing-patterns.ts","webpack://Vuetify/./src/services/goto/index.ts","webpack://Vuetify/./src/services/goto/util.ts","webpack://Vuetify/./src/services/icons/index.ts","webpack://Vuetify/./src/services/icons/presets/fa.ts","webpack://Vuetify/./src/services/icons/presets/fa4.ts","webpack://Vuetify/./src/services/icons/presets/index.ts","webpack://Vuetify/./src/services/icons/presets/md.ts","webpack://Vuetify/./src/services/icons/presets/mdi-svg.ts","webpack://Vuetify/./src/services/icons/presets/mdi.ts","webpack://Vuetify/./src/services/index.ts","webpack://Vuetify/./src/services/lang/index.ts","webpack://Vuetify/./src/services/service/index.ts","webpack://Vuetify/./src/services/theme/index.ts","webpack://Vuetify/./src/services/theme/utils.ts","webpack://Vuetify/./src/styles/components/_selection-controls.sass?c5b7","webpack://Vuetify/./src/styles/main.sass?caf0","webpack://Vuetify/./src/util/ThemeProvider.ts","webpack://Vuetify/./src/util/color/transformCIELAB.ts","webpack://Vuetify/./src/util/color/transformSRGB.ts","webpack://Vuetify/./src/util/colorUtils.ts","webpack://Vuetify/./src/util/colors.ts","webpack://Vuetify/./src/util/console.ts","webpack://Vuetify/./src/util/dedupeModelListeners.ts","webpack://Vuetify/./src/util/helpers.ts","webpack://Vuetify/./src/util/mergeData.ts","webpack://Vuetify/./src/util/mixins.ts","webpack://Vuetify/./src/util/rebuildFunctionalSlots.ts","webpack://Vuetify/external {\"commonjs\":\"vue\",\"commonjs2\":\"vue\",\"amd\":\"vue\",\"root\":\"Vue\"}"],"names":[],"mappings":"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AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;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","file":"vuetify.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"vue\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"vue\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Vuetify\"] = factory(require(\"vue\"));\n\telse\n\t\troot[\"Vuetify\"] = factory(root[\"Vue\"]);\n})(typeof self !== 'undefined' ? self : this, function(__WEBPACK_EXTERNAL_MODULE_vue__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/dist/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./src/index.ts\");\n","// extracted by mini-css-extract-plugin","// Styles\nimport './VAlert.sass'\n\n// Extensions\nimport VSheet from '../VSheet'\n\n// Components\nimport VBtn from '../VBtn'\nimport VIcon from '../VIcon'\n\n// Mixins\nimport Toggleable from '../../mixins/toggleable'\nimport Themeable from '../../mixins/themeable'\nimport Transitionable from '../../mixins/transitionable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { breaking } from '../../util/console'\n\n// Types\nimport { VNodeData } from 'vue'\nimport { VNode } from 'vue/types'\n\n/* @vue/component */\nexport default mixins(\n VSheet,\n Toggleable,\n Transitionable\n).extend({\n name: 'v-alert',\n\n props: {\n border: {\n type: String,\n validator (val: string) {\n return [\n 'top',\n 'right',\n 'bottom',\n 'left',\n ].includes(val)\n },\n },\n closeLabel: {\n type: String,\n default: '$vuetify.close',\n },\n coloredBorder: Boolean,\n dense: Boolean,\n dismissible: Boolean,\n icon: {\n default: '',\n type: [Boolean, String],\n validator (val: boolean | string) {\n return typeof val === 'string' || val === false\n },\n },\n outlined: Boolean,\n prominent: Boolean,\n text: Boolean,\n type: {\n type: String,\n validator (val: string) {\n return [\n 'info',\n 'error',\n 'success',\n 'warning',\n ].includes(val)\n },\n },\n value: {\n type: Boolean,\n default: true,\n },\n },\n\n computed: {\n __cachedBorder (): VNode | null {\n if (!this.border) return null\n\n let data: VNodeData = {\n staticClass: 'v-alert__border',\n class: {\n [`v-alert__border--${this.border}`]: true,\n },\n }\n\n if (this.coloredBorder) {\n data = this.setBackgroundColor(this.computedColor, data)\n data.class['v-alert__border--has-color'] = true\n }\n\n return this.$createElement('div', data)\n },\n __cachedDismissible (): VNode | null {\n if (!this.dismissible) return null\n\n const color = this.iconColor\n\n return this.$createElement(VBtn, {\n staticClass: 'v-alert__dismissible',\n props: {\n color,\n icon: true,\n small: true,\n },\n attrs: {\n 'aria-label': this.$vuetify.lang.t(this.closeLabel),\n },\n on: {\n click: () => (this.isActive = false),\n },\n }, [\n this.$createElement(VIcon, {\n props: { color },\n }, '$cancel'),\n ])\n },\n __cachedIcon (): VNode | null {\n if (!this.computedIcon) return null\n\n return this.$createElement(VIcon, {\n staticClass: 'v-alert__icon',\n props: { color: this.iconColor },\n }, this.computedIcon)\n },\n classes (): object {\n const classes: Record<string, boolean> = {\n ...VSheet.options.computed.classes.call(this),\n 'v-alert--border': Boolean(this.border),\n 'v-alert--dense': this.dense,\n 'v-alert--outlined': this.outlined,\n 'v-alert--prominent': this.prominent,\n 'v-alert--text': this.text,\n }\n\n if (this.border) {\n classes[`v-alert--border-${this.border}`] = true\n }\n\n return classes\n },\n computedColor (): string {\n return this.color || this.type\n },\n computedIcon (): string | boolean {\n if (this.icon === false) return false\n if (typeof this.icon === 'string' && this.icon) return this.icon\n if (!['error', 'info', 'success', 'warning'].includes(this.type)) return false\n\n return `$${this.type}`\n },\n hasColoredIcon (): boolean {\n return (\n this.hasText ||\n (Boolean(this.border) && this.coloredBorder)\n )\n },\n hasText (): boolean {\n return this.text || this.outlined\n },\n iconColor (): string | undefined {\n return this.hasColoredIcon ? this.computedColor : undefined\n },\n isDark (): boolean {\n if (\n this.type &&\n !this.coloredBorder &&\n !this.outlined\n ) return true\n\n return Themeable.options.computed.isDark.call(this)\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('outline')) {\n breaking('outline', 'outlined', this)\n }\n },\n\n methods: {\n genWrapper (): VNode {\n const children = [\n this.$slots.prepend || this.__cachedIcon,\n this.genContent(),\n this.__cachedBorder,\n this.$slots.append,\n this.$scopedSlots.close\n ? this.$scopedSlots.close({ toggle: this.toggle })\n : this.__cachedDismissible,\n ]\n\n const data: VNodeData = {\n staticClass: 'v-alert__wrapper',\n }\n\n return this.$createElement('div', data, children)\n },\n genContent (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-alert__content',\n }, this.$slots.default)\n },\n genAlert (): VNode {\n let data: VNodeData = {\n staticClass: 'v-alert',\n attrs: {\n role: 'alert',\n },\n class: this.classes,\n style: this.styles,\n directives: [{\n name: 'show',\n value: this.isActive,\n }],\n }\n\n if (!this.coloredBorder) {\n const setColor = this.hasText ? this.setTextColor : this.setBackgroundColor\n data = setColor(this.computedColor, data)\n }\n\n return this.$createElement('div', data, [this.genWrapper()])\n },\n /** @public */\n toggle () {\n this.isActive = !this.isActive\n },\n },\n\n render (h): VNode {\n const render = this.genAlert()\n\n if (!this.transition) return render\n\n return h('transition', {\n props: {\n name: this.transition,\n origin: this.origin,\n mode: this.mode,\n },\n }, [render])\n },\n})\n","import VAlert from './VAlert'\n\nexport { VAlert }\nexport default VAlert\n","// extracted by mini-css-extract-plugin","// Styles\nimport './VApp.sass'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n/* @vue/component */\nexport default mixins(\n Themeable\n).extend({\n name: 'v-app',\n\n props: {\n dark: {\n type: Boolean,\n default: undefined,\n },\n id: {\n type: String,\n default: 'app',\n },\n light: {\n type: Boolean,\n default: undefined,\n },\n },\n\n computed: {\n isDark (): boolean {\n return this.$vuetify.theme.dark\n },\n },\n\n beforeCreate () {\n if (!this.$vuetify || (this.$vuetify === this.$root as any)) {\n throw new Error('Vuetify is not properly initialized, see https://vuetifyjs.com/getting-started/quick-start#bootstrapping-the-vuetify-object')\n }\n },\n\n render (h) {\n const wrapper = h('div', { staticClass: 'v-application--wrap' }, this.$slots.default)\n\n return h('div', {\n staticClass: 'v-application',\n class: {\n 'v-application--is-rtl': this.$vuetify.rtl,\n 'v-application--is-ltr': !this.$vuetify.rtl,\n ...this.themeClasses,\n },\n attrs: { 'data-app': true },\n domProps: { id: this.id },\n }, [wrapper])\n },\n})\n","import VApp from './VApp'\n\nexport { VApp }\nexport default VApp\n","// extracted by mini-css-extract-plugin","// Styles\nimport './VAppBar.sass'\n\n// Extensions\nimport VToolbar from '../VToolbar/VToolbar'\n\n// Directives\nimport Scroll from '../../directives/scroll'\n\n// Mixins\nimport Applicationable from '../../mixins/applicationable'\nimport Scrollable from '../../mixins/scrollable'\nimport SSRBootable from '../../mixins/ssr-bootable'\nimport Toggleable from '../../mixins/toggleable'\n\n// Utilities\nimport { convertToUnit } from '../../util/helpers'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\n\nconst baseMixins = mixins(\n VToolbar,\n Scrollable,\n SSRBootable,\n Toggleable,\n Applicationable('top', [\n 'clippedLeft',\n 'clippedRight',\n 'computedHeight',\n 'invertedScroll',\n 'isExtended',\n 'isProminent',\n 'value',\n ])\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-app-bar',\n\n directives: { Scroll },\n\n props: {\n clippedLeft: Boolean,\n clippedRight: Boolean,\n collapseOnScroll: Boolean,\n elevateOnScroll: Boolean,\n fadeImgOnScroll: Boolean,\n hideOnScroll: Boolean,\n invertedScroll: Boolean,\n scrollOffScreen: Boolean,\n shrinkOnScroll: Boolean,\n value: {\n type: Boolean,\n default: true,\n },\n },\n\n data () {\n return {\n isActive: this.value,\n }\n },\n\n computed: {\n applicationProperty (): string {\n return !this.bottom ? 'top' : 'bottom'\n },\n canScroll (): boolean {\n return (\n Scrollable.options.computed.canScroll.call(this) &&\n (\n this.invertedScroll ||\n this.elevateOnScroll ||\n this.hideOnScroll ||\n this.collapseOnScroll ||\n this.isBooted ||\n // If falsey, user has provided an\n // explicit value which should\n // overwrite anything we do\n !this.value\n )\n )\n },\n classes (): object {\n return {\n ...VToolbar.options.computed.classes.call(this),\n 'v-toolbar--collapse': this.collapse || this.collapseOnScroll,\n 'v-app-bar': true,\n 'v-app-bar--clipped': this.clippedLeft || this.clippedRight,\n 'v-app-bar--fade-img-on-scroll': this.fadeImgOnScroll,\n 'v-app-bar--elevate-on-scroll': this.elevateOnScroll,\n 'v-app-bar--fixed': !this.absolute && (this.app || this.fixed),\n 'v-app-bar--hide-shadow': this.hideShadow,\n 'v-app-bar--is-scrolled': this.currentScroll > 0,\n 'v-app-bar--shrink-on-scroll': this.shrinkOnScroll,\n }\n },\n computedContentHeight (): number {\n if (!this.shrinkOnScroll) return VToolbar.options.computed.computedContentHeight.call(this)\n\n const height = this.computedOriginalHeight\n\n const min = this.dense ? 48 : 56\n const max = height\n const difference = max - min\n const iteration = difference / this.computedScrollThreshold\n const offset = this.currentScroll * iteration\n\n return Math.max(min, max - offset)\n },\n computedFontSize (): number | undefined {\n if (!this.isProminent) return undefined\n\n const max = this.dense ? 96 : 128\n const difference = max - this.computedContentHeight\n const increment = 0.00347\n\n // 1.5rem to a minimum of 1.25rem\n return Number((1.50 - difference * increment).toFixed(2))\n },\n computedLeft (): number {\n if (!this.app || this.clippedLeft) return 0\n\n return this.$vuetify.application.left\n },\n computedMarginTop (): number {\n if (!this.app) return 0\n\n return this.$vuetify.application.bar\n },\n computedOpacity (): number | undefined {\n if (!this.fadeImgOnScroll) return undefined\n\n const opacity = Math.max(\n (this.computedScrollThreshold - this.currentScroll) / this.computedScrollThreshold,\n 0\n )\n\n return Number(parseFloat(opacity).toFixed(2))\n },\n computedOriginalHeight (): number {\n let height = VToolbar.options.computed.computedContentHeight.call(this)\n if (this.isExtended) height += parseInt(this.extensionHeight)\n return height\n },\n computedRight (): number {\n if (!this.app || this.clippedRight) return 0\n\n return this.$vuetify.application.right\n },\n computedScrollThreshold (): number {\n if (this.scrollThreshold) return Number(this.scrollThreshold)\n\n return this.computedOriginalHeight - (this.dense ? 48 : 56)\n },\n computedTransform (): number {\n if (\n !this.canScroll ||\n (this.elevateOnScroll && this.currentScroll === 0 && this.isActive)\n ) return 0\n\n if (this.isActive) return 0\n\n const scrollOffScreen = this.scrollOffScreen\n ? this.computedHeight\n : this.computedContentHeight\n\n return this.bottom ? scrollOffScreen : -scrollOffScreen\n },\n hideShadow (): boolean {\n if (this.elevateOnScroll && this.isExtended) {\n return this.currentScroll < this.computedScrollThreshold\n }\n\n if (this.elevateOnScroll) {\n return this.currentScroll === 0 ||\n this.computedTransform < 0\n }\n\n return (\n !this.isExtended ||\n this.scrollOffScreen\n ) && this.computedTransform !== 0\n },\n isCollapsed (): boolean {\n if (!this.collapseOnScroll) {\n return VToolbar.options.computed.isCollapsed.call(this)\n }\n\n return this.currentScroll > 0\n },\n isProminent (): boolean {\n return (\n VToolbar.options.computed.isProminent.call(this) ||\n this.shrinkOnScroll\n )\n },\n styles (): object {\n return {\n ...VToolbar.options.computed.styles.call(this),\n fontSize: convertToUnit(this.computedFontSize, 'rem'),\n marginTop: convertToUnit(this.computedMarginTop),\n transform: `translateY(${convertToUnit(this.computedTransform)})`,\n left: convertToUnit(this.computedLeft),\n right: convertToUnit(this.computedRight),\n }\n },\n },\n\n watch: {\n canScroll: 'onScroll',\n computedTransform () {\n // Normally we do not want the v-app-bar\n // to update the application top value\n // to avoid screen jump. However, in\n // this situation, we must so that\n // the clipped drawer can update\n // its top value when scrolled\n if (\n !this.canScroll ||\n (!this.clippedLeft && !this.clippedRight)\n ) return\n\n this.callUpdate()\n },\n invertedScroll (val: boolean) {\n this.isActive = !val\n },\n },\n\n created () {\n if (this.invertedScroll) this.isActive = false\n },\n\n methods: {\n genBackground () {\n const render = VToolbar.options.methods.genBackground.call(this)\n\n render.data = this._b(render.data || {}, render.tag!, {\n style: { opacity: this.computedOpacity },\n })\n\n return render\n },\n updateApplication (): number {\n return this.invertedScroll\n ? 0\n : this.computedHeight + this.computedTransform\n },\n thresholdMet () {\n if (this.invertedScroll) {\n this.isActive = this.currentScroll > this.computedScrollThreshold\n return\n }\n\n if (this.currentThreshold < this.computedScrollThreshold) return\n\n if (this.hideOnScroll) {\n this.isActive = this.isScrollingUp\n }\n\n this.savedScroll = this.currentScroll\n },\n },\n\n render (h): VNode {\n const render = VToolbar.options.render.call(this, h)\n\n render.data = render.data || {}\n\n if (this.canScroll) {\n render.data.directives = render.data.directives || []\n render.data.directives.push({\n arg: this.scrollTarget,\n name: 'scroll',\n value: this.onScroll,\n })\n }\n\n return render\n },\n})\n","// Components\nimport VIcon from '../VIcon'\nimport VBtn from '../VBtn/VBtn'\n\n// Types\nimport Vue from 'vue'\n\n/* @vue/component */\nexport default Vue.extend({\n name: 'v-app-bar-nav-icon',\n\n functional: true,\n\n render (h, { slots, listeners, props, data }) {\n const d = Object.assign(data, {\n staticClass: (`v-app-bar__nav-icon ${data.staticClass || ''}`).trim(),\n props: {\n ...props,\n icon: true,\n },\n on: listeners,\n })\n\n const defaultSlot = slots().default\n\n return h(VBtn, d, defaultSlot || [h(VIcon, '$menu')])\n },\n})\n","import VAppBar from './VAppBar'\nimport VAppBarNavIcon from './VAppBarNavIcon'\n\nexport { VAppBar, VAppBarNavIcon }\n\nexport default {\n $_vuetify_subcomponents: {\n VAppBar,\n VAppBarNavIcon,\n },\n}\n","// extracted by mini-css-extract-plugin","// Styles\nimport './VAutocomplete.sass'\n\n// Extensions\nimport VSelect, { defaultMenuProps as VSelectMenuProps } from '../VSelect/VSelect'\nimport VTextField from '../VTextField/VTextField'\n\n// Utilities\nimport { keyCodes } from '../../util/helpers'\n\n// Types\nimport { PropType } from 'vue'\n\nconst defaultMenuProps = {\n ...VSelectMenuProps,\n offsetY: true,\n offsetOverflow: true,\n transition: false,\n}\n\n/* @vue/component */\nexport default VSelect.extend({\n name: 'v-autocomplete',\n\n props: {\n allowOverflow: {\n type: Boolean,\n default: true,\n },\n autoSelectFirst: {\n type: Boolean,\n default: false,\n },\n filter: {\n type: Function,\n default: (item: any, queryText: string, itemText: string) => {\n return itemText.toLocaleLowerCase().indexOf(queryText.toLocaleLowerCase()) > -1\n },\n },\n hideNoData: Boolean,\n menuProps: {\n type: VSelect.options.props.menuProps.type,\n default: () => defaultMenuProps,\n },\n noFilter: Boolean,\n searchInput: {\n type: String as PropType<string | undefined>,\n default: undefined,\n },\n },\n\n data () {\n return {\n lazySearch: this.searchInput,\n }\n },\n\n computed: {\n classes (): object {\n return {\n ...VSelect.options.computed.classes.call(this),\n 'v-autocomplete': true,\n 'v-autocomplete--is-selecting-index': this.selectedIndex > -1,\n }\n },\n computedItems (): object[] {\n return this.filteredItems\n },\n selectedValues (): object[] {\n return this.selectedItems.map(item => this.getValue(item))\n },\n hasDisplayedItems (): boolean {\n return this.hideSelected\n ? this.filteredItems.some(item => !this.hasItem(item))\n : this.filteredItems.length > 0\n },\n currentRange (): number {\n if (this.selectedItem == null) return 0\n\n return String(this.getText(this.selectedItem)).length\n },\n filteredItems (): object[] {\n if (!this.isSearching || this.noFilter || this.internalSearch == null) return this.allItems\n\n return this.allItems.filter(item => this.filter(item, String(this.internalSearch), String(this.getText(item))))\n },\n internalSearch: {\n get (): string | undefined {\n return this.lazySearch\n },\n set (val: any) {\n this.lazySearch = val\n\n this.$emit('update:search-input', val)\n },\n },\n isAnyValueAllowed (): boolean {\n return false\n },\n isDirty (): boolean {\n return this.searchIsDirty || this.selectedItems.length > 0\n },\n isSearching (): boolean {\n return (\n this.multiple &&\n this.searchIsDirty\n ) || (\n this.searchIsDirty &&\n this.internalSearch !== this.getText(this.selectedItem)\n )\n },\n menuCanShow (): boolean {\n if (!this.isFocused) return false\n\n return this.hasDisplayedItems || !this.hideNoData\n },\n $_menuProps (): object {\n const props = VSelect.options.computed.$_menuProps.call(this);\n (props as any).contentClass = `v-autocomplete__content ${(props as any).contentClass || ''}`.trim()\n return {\n ...defaultMenuProps,\n ...props,\n }\n },\n searchIsDirty (): boolean {\n return this.internalSearch != null &&\n this.internalSearch !== ''\n },\n selectedItem (): any {\n if (this.multiple) return null\n\n return this.selectedItems.find(i => {\n return this.valueComparator(this.getValue(i), this.getValue(this.internalValue))\n })\n },\n listData () {\n const data = VSelect.options.computed.listData.call(this) as any\n\n data.props = {\n ...data.props,\n items: this.virtualizedItems,\n noFilter: (\n this.noFilter ||\n !this.isSearching ||\n !this.filteredItems.length\n ),\n searchInput: this.internalSearch,\n }\n\n return data\n },\n },\n\n watch: {\n filteredItems: 'onFilteredItemsChanged',\n internalValue: 'setSearch',\n isFocused (val) {\n if (val) {\n document.addEventListener('copy', this.onCopy)\n this.$refs.input && this.$refs.input.select()\n } else {\n document.removeEventListener('copy', this.onCopy)\n this.updateSelf()\n }\n },\n isMenuActive (val) {\n if (val || !this.hasSlot) return\n\n this.lazySearch = undefined\n },\n items (val, oldVal) {\n // If we are focused, the menu\n // is not active, hide no data is enabled,\n // and items change\n // User is probably async loading\n // items, try to activate the menu\n if (\n !(oldVal && oldVal.length) &&\n this.hideNoData &&\n this.isFocused &&\n !this.isMenuActive &&\n val.length\n ) this.activateMenu()\n },\n searchInput (val: string) {\n this.lazySearch = val\n },\n internalSearch: 'onInternalSearchChanged',\n itemText: 'updateSelf',\n },\n\n created () {\n this.setSearch()\n },\n\n methods: {\n onFilteredItemsChanged (val: never[], oldVal: never[]) {\n // TODO: How is the watcher triggered\n // for duplicate items? no idea\n if (val === oldVal) return\n\n this.setMenuIndex(-1)\n\n this.$nextTick(() => {\n if (\n !this.internalSearch ||\n (val.length !== 1 &&\n !this.autoSelectFirst)\n ) return\n\n this.$refs.menu.getTiles()\n this.setMenuIndex(0)\n })\n },\n onInternalSearchChanged () {\n this.updateMenuDimensions()\n },\n updateMenuDimensions () {\n // Type from menuable is not making it through\n this.isMenuActive && this.$refs.menu && this.$refs.menu.updateDimensions()\n },\n changeSelectedIndex (keyCode: number) {\n // Do not allow changing of selectedIndex\n // when search is dirty\n if (this.searchIsDirty || !this.multiple) return\n\n if (![\n keyCodes.backspace,\n keyCodes.left,\n keyCodes.right,\n keyCodes.delete,\n ].includes(keyCode)) return\n\n const index = this.selectedItems.length - 1\n\n if (keyCode === keyCodes.left) {\n if (this.selectedIndex === -1) {\n this.selectedIndex = index\n } else {\n this.selectedIndex--\n }\n } else if (keyCode === keyCodes.right) {\n if (this.selectedIndex >= index) {\n this.selectedIndex = -1\n } else {\n this.selectedIndex++\n }\n } else if (this.selectedIndex === -1) {\n this.selectedIndex = index\n return\n }\n\n const currentItem = this.selectedItems[this.selectedIndex]\n\n if ([\n keyCodes.backspace,\n keyCodes.delete,\n ].includes(keyCode) &&\n !this.getDisabled(currentItem) && !this.readonly\n ) {\n const newIndex = this.selectedIndex === index\n ? this.selectedIndex - 1\n : this.selectedItems[this.selectedIndex + 1]\n ? this.selectedIndex\n : -1\n\n if (newIndex === -1) {\n this.setValue(this.multiple ? [] : undefined)\n } else {\n this.selectItem(currentItem)\n }\n\n this.selectedIndex = newIndex\n }\n },\n clearableCallback () {\n this.internalSearch = undefined\n\n VSelect.options.methods.clearableCallback.call(this)\n },\n genInput () {\n const input = VTextField.options.methods.genInput.call(this)\n\n input.data = input.data || {}\n input.data.attrs = input.data.attrs || {}\n input.data.attrs.autocomplete = input.data.attrs.autocomplete || 'disabled'\n\n input.data.domProps = input.data.domProps || {}\n input.data.domProps.value = this.internalSearch\n\n return input\n },\n genInputSlot () {\n const slot = VSelect.options.methods.genInputSlot.call(this)\n\n slot.data!.attrs!.role = 'combobox'\n\n return slot\n },\n genSelections () {\n return this.hasSlot || this.multiple\n ? VSelect.options.methods.genSelections.call(this)\n : []\n },\n onClick () {\n if (this.isDisabled) return\n\n this.selectedIndex > -1\n ? (this.selectedIndex = -1)\n : this.onFocus()\n\n this.activateMenu()\n },\n onInput (e: Event) {\n if (\n this.selectedIndex > -1 ||\n !e.target\n ) return\n\n const target = e.target as HTMLInputElement\n const value = target.value\n\n // If typing and menu is not currently active\n if (target.value) this.activateMenu()\n\n this.internalSearch = value\n this.badInput = target.validity && target.validity.badInput\n },\n onKeyDown (e: KeyboardEvent) {\n const keyCode = e.keyCode\n\n VSelect.options.methods.onKeyDown.call(this, e)\n\n // The ordering is important here\n // allows new value to be updated\n // and then moves the index to the\n // proper location\n this.changeSelectedIndex(keyCode)\n },\n onSpaceDown (e: KeyboardEvent) { /* noop */ },\n onTabDown (e: KeyboardEvent) {\n VSelect.options.methods.onTabDown.call(this, e)\n this.updateSelf()\n },\n onUpDown () {\n // For autocomplete / combobox, cycling\n // interfers with native up/down behavior\n // instead activate the menu\n this.activateMenu()\n },\n selectItem (item: object) {\n VSelect.options.methods.selectItem.call(this, item)\n this.setSearch()\n },\n setSelectedItems () {\n VSelect.options.methods.setSelectedItems.call(this)\n\n // #4273 Don't replace if searching\n // #4403 Don't replace if focused\n if (!this.isFocused) this.setSearch()\n },\n setSearch () {\n // Wait for nextTick so selectedItem\n // has had time to update\n this.$nextTick(() => {\n if (\n !this.multiple ||\n !this.internalSearch ||\n !this.isMenuActive\n ) {\n this.internalSearch = (\n !this.selectedItems.length ||\n this.multiple ||\n this.hasSlot\n )\n ? null\n : this.getText(this.selectedItem)\n }\n })\n },\n updateSelf () {\n if (!this.searchIsDirty &&\n !this.internalValue\n ) return\n\n if (!this.valueComparator(\n this.internalSearch,\n this.getValue(this.internalValue)\n )) {\n this.setSearch()\n }\n },\n hasItem (item: any) {\n return this.selectedValues.indexOf(this.getValue(item)) > -1\n },\n onCopy (event: ClipboardEvent) {\n if (this.selectedIndex === -1) return\n\n const currentItem = this.selectedItems[this.selectedIndex]\n const currentItemText = this.getText(currentItem)\n event.clipboardData!.setData('text/plain', currentItemText)\n event.clipboardData!.setData('text/vnd.vuetify.autocomplete.item+plain', currentItemText)\n event.preventDefault()\n },\n },\n})\n","import VAutocomplete from './VAutocomplete'\n\nexport { VAutocomplete }\nexport default VAutocomplete\n","// extracted by mini-css-extract-plugin","import './VAvatar.sass'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Measurable from '../../mixins/measurable'\nimport { convertToUnit } from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue'\nimport mixins from '../../util/mixins'\n\nexport default mixins(\n Colorable,\n Measurable\n /* @vue/component */\n).extend({\n name: 'v-avatar',\n\n props: {\n left: Boolean,\n right: Boolean,\n size: {\n type: [Number, String],\n default: 48,\n },\n tile: Boolean,\n },\n\n computed: {\n classes (): object {\n return {\n 'v-avatar--left': this.left,\n 'v-avatar--right': this.right,\n 'v-avatar--tile': this.tile,\n }\n },\n styles (): object {\n return {\n height: convertToUnit(this.size),\n minWidth: convertToUnit(this.size),\n width: convertToUnit(this.size),\n ...this.measurableStyles,\n }\n },\n },\n\n render (h): VNode {\n const data = {\n staticClass: 'v-avatar',\n class: this.classes,\n style: this.styles,\n on: this.$listeners,\n }\n\n return h('div', this.setBackgroundColor(this.color, data), this.$slots.default)\n },\n})\n","import VAvatar from './VAvatar'\n\nexport { VAvatar }\nexport default VAvatar\n","// extracted by mini-css-extract-plugin","// Styles\nimport './VBadge.sass'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Toggleable from '../../mixins/toggleable'\nimport { factory as PositionableFactory } from '../../mixins/positionable'\nimport Transitionable from '../../mixins/transitionable'\n\n// Types\nimport { VNode } from 'vue'\nimport mixins from '../../util/mixins'\n\nexport default mixins(\n Colorable,\n Toggleable,\n PositionableFactory(['left', 'bottom']),\n Transitionable\n/* @vue/component */\n).extend({\n name: 'v-badge',\n\n props: {\n color: {\n type: String,\n default: 'primary',\n },\n overlap: Boolean,\n transition: {\n type: String,\n default: 'fab-transition',\n },\n value: {\n default: true,\n },\n },\n\n computed: {\n classes (): object {\n return {\n 'v-badge--bottom': this.bottom,\n 'v-badge--left': this.left,\n 'v-badge--overlap': this.overlap,\n }\n },\n },\n\n render (h): VNode {\n const badge = this.$slots.badge && [h('span', this.setBackgroundColor(this.color, {\n staticClass: 'v-badge__badge',\n attrs: this.$attrs,\n directives: [{\n name: 'show',\n value: this.isActive,\n }],\n }), this.$slots.badge)]\n\n return h('span', {\n staticClass: 'v-badge',\n class: this.classes,\n }, [\n this.$slots.default,\n this.transition ? h('transition', {\n props: {\n name: this.transition,\n origin: this.origin,\n mode: this.mode,\n },\n }, badge) : badge,\n ])\n },\n})\n","import VBadge from './VBadge'\n\nexport { VBadge }\nexport default VBadge\n","// extracted by mini-css-extract-plugin","// Styles\nimport './VBanner.sass'\n\n// Extensions\nimport VSheet from '../VSheet'\n\n// Components\nimport VAvatar from '../VAvatar'\nimport VIcon from '../VIcon'\nimport { VExpandTransition } from '../transitions'\n\n// Mixins\nimport Toggleable from '../../mixins/toggleable'\n\n// Types\nimport { VNode } from 'vue/types'\nimport mixins from '../../util/mixins'\nimport { PropValidator } from 'vue/types/options'\n\n/* @vue/component */\nexport default mixins(\n VSheet,\n Toggleable\n).extend({\n name: 'v-banner',\n\n inheritAttrs: false,\n\n props: {\n icon: String,\n iconColor: String,\n mobileBreakPoint: {\n type: [Number, String],\n default: 960,\n } as PropValidator<string | number>,\n singleLine: Boolean,\n sticky: Boolean,\n tile: {\n type: Boolean,\n default: true,\n },\n value: {\n type: Boolean,\n default: true,\n },\n },\n\n computed: {\n classes (): object {\n return {\n ...VSheet.options.computed.classes.call(this),\n 'v-banner--has-icon': this.hasIcon,\n 'v-banner--is-mobile': this.isMobile,\n 'v-banner--single-line': this.singleLine,\n 'v-banner--sticky': this.sticky,\n }\n },\n hasActions (): boolean {\n return Boolean(this.$slots.actions || this.$scopedSlots.actions)\n },\n hasIcon (): boolean {\n return Boolean(this.icon || this.$slots.icon)\n },\n isMobile (): boolean {\n return this.$vuetify.breakpoint.width < Number(this.mobileBreakPoint)\n },\n styles (): object {\n const styles = VSheet.options.computed.styles.call(this)\n\n if (!this.sticky) return styles\n\n const { bar, top } = this.$vuetify.application\n\n return {\n ...styles,\n position: 'sticky',\n top: `${bar + top}px`,\n zIndex: 1,\n }\n },\n },\n\n methods: {\n /** @public */\n toggle () {\n this.isActive = !this.isActive\n },\n iconClick (e: MouseEvent) {\n this.$emit('click:icon', e)\n },\n genIcon () {\n if (!this.hasIcon) return undefined\n\n let content\n\n if (this.icon) {\n content = this.$createElement(VIcon, {\n props: {\n color: this.iconColor,\n size: 28,\n },\n }, [this.icon])\n } else {\n content = this.$slots.icon\n }\n\n return this.$createElement(VAvatar, {\n staticClass: 'v-banner__icon',\n props: {\n color: this.color,\n size: 40,\n },\n on: {\n click: this.iconClick,\n },\n }, [content])\n },\n genText () {\n return this.$createElement('div', {\n staticClass: 'v-banner__text',\n }, this.$slots.default)\n },\n genActions () {\n if (!this.hasActions) return undefined\n\n const children = this.$scopedSlots.actions ? this.$scopedSlots.actions({\n dismiss: () => this.isActive = false,\n }) : this.$slots.actions\n\n return this.$createElement('div', {\n staticClass: 'v-banner__actions',\n }, children)\n },\n genContent () {\n return this.$createElement('div', {\n staticClass: 'v-banner__content',\n }, [\n this.genIcon(),\n this.genText(),\n ])\n },\n genWrapper () {\n return this.$createElement('div', {\n staticClass: 'v-banner__wrapper',\n }, [\n this.genContent(),\n this.genActions(),\n ])\n },\n },\n\n render (h): VNode {\n return h(VExpandTransition, [\n h('div', {\n staticClass: 'v-banner',\n class: this.classes,\n style: this.styles,\n directives: [{\n name: 'show',\n value: this.isActive,\n }],\n }, [this.genWrapper()]),\n ])\n },\n})\n","import VBanner from './VBanner'\n\nexport { VBanner }\nexport default VBanner\n","// extracted by mini-css-extract-plugin","// Styles\nimport './VBottomNavigation.sass'\n\n// Mixins\nimport Applicationable from '../../mixins/applicationable'\nimport ButtonGroup from '../../mixins/button-group'\nimport Colorable from '../../mixins/colorable'\nimport Measurable from '../../mixins/measurable'\nimport Proxyable from '../../mixins/proxyable'\nimport Scrollable from '../../mixins/scrollable'\nimport Themeable from '../../mixins/themeable'\nimport { factory as ToggleableFactory } from '../../mixins/toggleable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { breaking } from '../../util/console'\n\n// Types\nimport { VNode } from 'vue'\n\nexport default mixins(\n Applicationable('bottom', [\n 'height',\n 'inputValue',\n ]),\n Colorable,\n Measurable,\n ToggleableFactory('inputValue'),\n Proxyable,\n Scrollable,\n Themeable\n /* @vue/component */\n).extend({\n name: 'v-bottom-navigation',\n\n props: {\n activeClass: {\n type: String,\n default: 'v-btn--active',\n },\n backgroundColor: String,\n grow: Boolean,\n height: {\n type: [Number, String],\n default: 56,\n },\n hideOnScroll: Boolean,\n horizontal: Boolean,\n inputValue: {\n type: Boolean,\n default: true,\n },\n mandatory: Boolean,\n shift: Boolean,\n },\n\n data () {\n return {\n isActive: this.inputValue,\n }\n },\n\n computed: {\n canScroll (): boolean {\n return (\n Scrollable.options.computed.canScroll.call(this) &&\n (\n this.hideOnScroll ||\n !this.inputValue\n )\n )\n },\n classes (): object {\n return {\n 'v-bottom-navigation--absolute': this.absolute,\n 'v-bottom-navigation--grow': this.grow,\n 'v-bottom-navigation--fixed': !this.absolute && (this.app || this.fixed),\n 'v-bottom-navigation--horizontal': this.horizontal,\n 'v-bottom-navigation--shift': this.shift,\n }\n },\n styles (): object {\n return {\n ...this.measurableStyles,\n transform: this.isActive ? 'none' : 'translateY(100%)',\n }\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('active')) {\n breaking('active.sync', 'value or v-model', this)\n }\n },\n\n methods: {\n thresholdMet () {\n this.isActive = !this.isScrollingUp\n this.$emit('update:input-value', this.isActive)\n },\n updateApplication (): number {\n return this.$el\n ? this.$el.clientHeight\n : 0\n },\n updateValue (val: any) {\n this.$emit('change', val)\n },\n },\n\n render (h): VNode {\n const data = this.setBackgroundColor(this.backgroundColor, {\n staticClass: 'v-bottom-navigation',\n class: this.classes,\n style: this.styles,\n props: {\n activeClass: this.activeClass,\n mandatory: Boolean(\n this.mandatory ||\n this.value !== undefined\n ),\n value: this.internalValue,\n },\n on: { change: this.updateValue },\n })\n\n if (this.canScroll) {\n data.directives = data.directives || []\n\n data.directives.push({\n arg: this.scrollTarget,\n name: 'scroll',\n value: this.onScroll,\n })\n }\n\n return h(ButtonGroup, this.setTextColor(this.color, data), this.$slots.default)\n },\n})\n","import VBottomNavigation from './VBottomNavigation'\n\nexport { VBottomNavigation }\nexport default VBottomNavigation\n","// extracted by mini-css-extract-plugin","import './VBottomSheet.sass'\n\n// Extensions\nimport VDialog from '../VDialog/VDialog'\n\n/* @vue/component */\nexport default VDialog.extend({\n name: 'v-bottom-sheet',\n\n props: {\n inset: Boolean,\n maxWidth: {\n type: [String, Number],\n default: 'auto',\n },\n transition: {\n type: String,\n default: 'bottom-sheet-transition',\n },\n },\n\n computed: {\n classes (): object {\n return {\n ...VDialog.options.computed.classes.call(this),\n 'v-bottom-sheet': true,\n 'v-bottom-sheet--inset': this.inset,\n }\n },\n },\n})\n","import VBottomSheet from './VBottomSheet'\n\nexport { VBottomSheet }\nexport default VBottomSheet\n","// extracted by mini-css-extract-plugin","// Styles\nimport './VBreadcrumbs.sass'\n\n// Types\nimport { VNode } from 'vue'\nimport { PropValidator } from 'vue/types/options'\n\n// Components\nimport { VBreadcrumbsDivider, VBreadcrumbsItem } from '.'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\n\n// Utils\nimport mixins from '../../util/mixins'\n\nexport default mixins(\n Themeable\n /* @vue/component */\n).extend({\n name: 'v-breadcrumbs',\n\n props: {\n divider: {\n type: String,\n default: '/',\n },\n items: {\n type: Array,\n default: () => ([]),\n } as PropValidator<any[]>,\n large: Boolean,\n },\n\n computed: {\n classes (): object {\n return {\n 'v-breadcrumbs--large': this.large,\n ...this.themeClasses,\n }\n },\n },\n\n methods: {\n genDivider () {\n return this.$createElement(VBreadcrumbsDivider, this.$slots.divider ? this.$slots.divider : this.divider)\n },\n genItems () {\n const items = []\n const hasSlot = !!this.$scopedSlots.item\n const keys = []\n\n for (let i = 0; i < this.items.length; i++) {\n const item = this.items[i]\n\n keys.push(item.text)\n\n if (hasSlot) items.push(this.$scopedSlots.item!({ item }))\n else items.push(this.$createElement(VBreadcrumbsItem, { key: keys.join('.'), props: item }, [item.text]))\n\n if (i < this.items.length - 1) items.push(this.genDivider())\n }\n\n return items\n },\n },\n\n render (h): VNode {\n const children = this.$slots.default || this.genItems()\n\n return h('ul', {\n staticClass: 'v-breadcrumbs',\n class: this.classes,\n }, children)\n },\n})\n","import Routable from '../../mixins/routable'\n\nimport mixins from '../../util/mixins'\nimport { VNode } from 'vue'\n\n/* @vue/component */\nexport default mixins(Routable).extend({\n name: 'v-breadcrumbs-item',\n\n props: {\n // In a breadcrumb, the currently\n // active item should be dimmed\n activeClass: {\n type: String,\n default: 'v-breadcrumbs__item--disabled',\n },\n ripple: {\n type: [Boolean, Object],\n default: false,\n },\n },\n\n computed: {\n classes (): object {\n return {\n 'v-breadcrumbs__item': true,\n [this.activeClass]: this.disabled,\n }\n },\n },\n\n render (h): VNode {\n const { tag, data } = this.generateRouteLink()\n\n return h('li', [\n h(tag, {\n ...data,\n attrs: {\n ...data.attrs,\n 'aria-current': this.isActive && this.isLink ? 'page' : undefined,\n },\n }, this.$slots.default),\n ])\n },\n})\n","import VBreadcrumbs from './VBreadcrumbs'\nimport VBreadcrumbsItem from './VBreadcrumbsItem'\nimport { createSimpleFunctional } from '../../util/helpers'\n\nconst VBreadcrumbsDivider = createSimpleFunctional('v-breadcrumbs__divider', 'li')\n\nexport { VBreadcrumbs, VBreadcrumbsItem, VBreadcrumbsDivider }\n\nexport default {\n $_vuetify_subcomponents: {\n VBreadcrumbs,\n VBreadcrumbsItem,\n VBreadcrumbsDivider,\n },\n}\n","// extracted by mini-css-extract-plugin","// Styles\nimport './VBtn.sass'\n\n// Extensions\nimport VSheet from '../VSheet'\n\n// Components\nimport VProgressCircular from '../VProgressCircular'\n\n// Mixins\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport { factory as ToggleableFactory } from '../../mixins/toggleable'\nimport Positionable from '../../mixins/positionable'\nimport Routable from '../../mixins/routable'\nimport Sizeable from '../../mixins/sizeable'\n\n// Utilities\nimport mixins, { ExtractVue } from '../../util/mixins'\nimport { breaking } from '../../util/console'\n\n// Types\nimport { VNode } from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport { RippleOptions } from '../../directives/ripple'\n\nconst baseMixins = mixins(\n VSheet,\n Routable,\n Positionable,\n Sizeable,\n GroupableFactory('btnToggle'),\n ToggleableFactory('inputValue')\n /* @vue/component */\n)\ninterface options extends ExtractVue<typeof baseMixins> {\n $el: HTMLElement\n}\n\nexport default baseMixins.extend<options>().extend({\n name: 'v-btn',\n\n props: {\n activeClass: {\n type: String,\n default (): string | undefined {\n if (!this.btnToggle) return ''\n\n return this.btnToggle.activeClass\n },\n } as any as PropValidator<string>,\n block: Boolean,\n depressed: Boolean,\n fab: Boolean,\n icon: Boolean,\n loading: Boolean,\n outlined: Boolean,\n retainFocusOnClick: Boolean,\n rounded: Boolean,\n tag: {\n type: String,\n default: 'button',\n },\n text: Boolean,\n type: {\n type: String,\n default: 'button',\n },\n value: null as any as PropValidator<any>,\n },\n\n data: () => ({\n proxyClass: 'v-btn--active',\n }),\n\n computed: {\n classes (): any {\n return {\n 'v-btn': true,\n ...Routable.options.computed.classes.call(this),\n 'v-btn--absolute': this.absolute,\n 'v-btn--block': this.block,\n 'v-btn--bottom': this.bottom,\n 'v-btn--contained': this.contained,\n 'v-btn--depressed': (this.depressed) || this.outlined,\n 'v-btn--disabled': this.disabled,\n 'v-btn--fab': this.fab,\n 'v-btn--fixed': this.fixed,\n 'v-btn--flat': this.isFlat,\n 'v-btn--icon': this.icon,\n 'v-btn--left': this.left,\n 'v-btn--loading': this.loading,\n 'v-btn--outlined': this.outlined,\n 'v-btn--right': this.right,\n 'v-btn--round': this.isRound,\n 'v-btn--rounded': this.rounded,\n 'v-btn--router': this.to,\n 'v-btn--text': this.text,\n 'v-btn--tile': this.tile,\n 'v-btn--top': this.top,\n ...this.themeClasses,\n ...this.groupClasses,\n ...this.elevationClasses,\n ...this.sizeableClasses,\n }\n },\n contained (): boolean {\n return Boolean(\n !this.isFlat &&\n !this.depressed &&\n // Contained class only adds elevation\n // is not needed if user provides value\n !this.elevation\n )\n },\n computedRipple (): RippleOptions | boolean {\n const defaultRipple = this.icon || this.fab ? { circle: true } : true\n if (this.disabled) return false\n else return this.ripple != null ? this.ripple : defaultRipple\n },\n isFlat (): boolean {\n return Boolean(\n this.icon ||\n this.text ||\n this.outlined\n )\n },\n isRound (): boolean {\n return Boolean(\n this.icon ||\n this.fab\n )\n },\n styles (): object {\n return {\n ...this.measurableStyles,\n }\n },\n },\n\n created () {\n const breakingProps = [\n ['flat', 'text'],\n ['outline', 'outlined'],\n ['round', 'rounded'],\n ]\n\n /* istanbul ignore next */\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n })\n },\n\n methods: {\n click (e: MouseEvent): void {\n !this.retainFocusOnClick && !this.fab && e.detail && this.$el.blur()\n this.$emit('click', e)\n\n this.btnToggle && this.toggle()\n },\n genContent (): VNode {\n return this.$createElement('span', {\n staticClass: 'v-btn__content',\n }, this.$slots.default)\n },\n genLoader (): VNode {\n return this.$createElement('span', {\n class: 'v-btn__loader',\n }, this.$slots.loader || [this.$createElement(VProgressCircular, {\n props: {\n indeterminate: true,\n size: 23,\n width: 2,\n },\n })])\n },\n },\n\n render (h): VNode {\n const children = [\n this.genContent(),\n this.loading && this.genLoader(),\n ]\n const setColor = !this.isFlat ? this.setBackgroundColor : this.setTextColor\n const { tag, data } = this.generateRouteLink()\n\n if (tag === 'button') {\n data.attrs!.type = this.type\n data.attrs!.disabled = this.disabled\n }\n data.attrs!.value = ['string', 'number'].includes(typeof this.value)\n ? this.value\n : JSON.stringify(this.value)\n\n return h(tag, this.disabled ? data : setColor(this.color, data), children)\n },\n})\n","import VBtn from './VBtn'\n\nexport { VBtn }\nexport default VBtn\n","// extracted by mini-css-extract-plugin","// Styles\nimport './VBtnToggle.sass'\n\n// Mixins\nimport ButtonGroup from '../../mixins/button-group'\nimport Colorable from '../../mixins/colorable'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n/* @vue/component */\nexport default mixins(\n ButtonGroup,\n Colorable\n).extend({\n name: 'v-btn-toggle',\n\n props: {\n backgroundColor: String,\n borderless: Boolean,\n dense: Boolean,\n group: Boolean,\n rounded: Boolean,\n shaped: Boolean,\n tile: Boolean,\n },\n\n computed: {\n classes (): object {\n return {\n ...ButtonGroup.options.computed.classes.call(this),\n 'v-btn-toggle': true,\n 'v-btn-toggle--borderless': this.borderless,\n 'v-btn-toggle--dense': this.dense,\n 'v-btn-toggle--group': this.group,\n 'v-btn-toggle--rounded': this.rounded,\n 'v-btn-toggle--shaped': this.shaped,\n 'v-btn-toggle--tile': this.tile,\n ...this.themeClasses,\n }\n },\n },\n\n methods: {\n genData () {\n const data = this.setTextColor(this.color, {\n ...ButtonGroup.options.methods.genData.call(this),\n })\n\n if (this.group) return data\n\n return this.setBackgroundColor(this.backgroundColor, data)\n },\n },\n})\n","import VBtnToggle from './VBtnToggle'\n\nexport { VBtnToggle }\nexport default VBtnToggle\n","// Styles\n// import '../../stylus/components/_calendar-daily.styl'\n\n// Types\nimport { VNode, Component } from 'vue'\n\n// Mixins\nimport CalendarWithEvents from './mixins/calendar-with-events'\n\n// Util\nimport props from './util/props'\nimport {\n DAYS_IN_MONTH_MAX,\n DAY_MIN,\n DAYS_IN_WEEK,\n VTimestamp,\n VTime,\n parseTimestamp,\n validateTimestamp,\n relativeDays,\n nextDay,\n prevDay,\n copyTimestamp,\n updateFormatted,\n updateWeekday,\n updateRelative,\n getStartOfMonth,\n getEndOfMonth,\n} from './util/timestamp'\n\n// Calendars\nimport VCalendarMonthly from './VCalendarMonthly'\nimport VCalendarDaily from './VCalendarDaily'\nimport VCalendarWeekly from './VCalendarWeekly'\n\n// Types\ninterface VCalendarRenderProps {\n start: VTimestamp\n end: VTimestamp\n component: string | Component\n maxDays: number\n}\n\n/* @vue/component */\nexport default CalendarWithEvents.extend({\n name: 'v-calendar',\n\n props: {\n ...props.calendar,\n ...props.weeks,\n ...props.intervals,\n },\n\n data: () => ({\n lastStart: null as VTimestamp | null,\n lastEnd: null as VTimestamp | null,\n }),\n\n computed: {\n parsedValue (): VTimestamp {\n return (validateTimestamp(this.value)\n ? parseTimestamp(this.value)\n : (this.parsedStart || this.times.today)) as VTimestamp\n },\n renderProps (): VCalendarRenderProps {\n const around = this.parsedValue\n let component: any = null\n let maxDays = this.maxDays\n let start = around\n let end = around\n switch (this.type) {\n case 'month':\n component = VCalendarMonthly\n start = getStartOfMonth(around)\n end = getEndOfMonth(around)\n break\n case 'week':\n component = VCalendarDaily\n start = this.getStartOfWeek(around)\n end = this.getEndOfWeek(around)\n maxDays = 7\n break\n case 'day':\n component = VCalendarDaily\n maxDays = 1\n break\n case '4day':\n component = VCalendarDaily\n end = relativeDays(copyTimestamp(end), nextDay, 4)\n updateFormatted(end)\n maxDays = 4\n break\n case 'custom-weekly':\n component = VCalendarWeekly\n start = this.parsedStart || around\n end = this.parsedEnd\n break\n case 'custom-daily':\n component = VCalendarDaily\n start = this.parsedStart || around\n end = this.parsedEnd\n break\n default:\n throw new Error(this.type + ' is not a valid Calendar type')\n }\n\n return { component, start, end, maxDays }\n },\n },\n\n watch: {\n renderProps: 'checkChange',\n },\n\n mounted () {\n this.updateEventVisibility()\n },\n\n updated () {\n this.updateEventVisibility()\n },\n\n methods: {\n checkChange (): void {\n const { start, end } = this.renderProps\n if (start !== this.lastStart || end !== this.lastEnd) {\n this.lastStart = start\n this.lastEnd = end\n this.$emit('change', { start, end })\n }\n },\n move (amount = 1): void {\n const moved = copyTimestamp(this.parsedValue)\n const forward = amount > 0\n const mover = forward ? nextDay : prevDay\n const limit = forward ? DAYS_IN_MONTH_MAX : DAY_MIN\n let times = forward ? amount : -amount\n\n while (--times >= 0) {\n switch (this.type) {\n case 'month':\n moved.day = limit\n mover(moved)\n break\n case 'week':\n relativeDays(moved, mover, DAYS_IN_WEEK)\n break\n case 'day':\n const index = moved.weekday\n const days = forward ? this.weekdaySkips[index] : this.weekdaySkipsReverse[index]\n relativeDays(moved, mover, days)\n break\n case '4day':\n relativeDays(moved, mover, 4)\n break\n }\n }\n\n updateWeekday(moved)\n updateFormatted(moved)\n updateRelative(moved, this.times.now)\n\n this.$emit('input', moved.date)\n this.$emit('moved', moved)\n },\n next (amount = 1): void {\n this.move(amount)\n },\n prev (amount = 1): void {\n this.move(-amount)\n },\n timeToY (time: VTime, clamp = true): number | false {\n const c = this.$children[0] as any\n if (c && c.timeToY) {\n return c.timeToY(time, clamp)\n } else {\n return false\n }\n },\n minutesToPixels (minutes: number): number {\n const c = this.$children[0] as any\n if (c && c.minutesToPixels) {\n return c.minutesToPixels(minutes)\n } else {\n return -1\n }\n },\n scrollToTime (time: VTime): boolean {\n const c = this.$children[0] as any\n if (c && c.scrollToTime) {\n return c.scrollToTime(time)\n } else {\n return false\n }\n },\n },\n\n render (h): VNode {\n const { start, end, maxDays, component } = this.renderProps\n\n return h(component, {\n staticClass: 'v-calendar',\n class: {\n 'v-calendar-events': !this.noEvents,\n },\n props: {\n ...this.$props,\n start: start.date,\n end: end.date,\n maxDays,\n },\n directives: [{\n modifiers: { quiet: true },\n name: 'resize',\n value: this.updateEventVisibility,\n }],\n on: {\n ...this.$listeners,\n 'click:date': (day: VTimestamp) => {\n if (this.$listeners['input']) {\n this.$emit('input', day.date)\n }\n if (this.$listeners['click:date']) {\n this.$emit('click:date', day)\n }\n },\n },\n scopedSlots: this.getScopedSlots(),\n })\n },\n})\n","// extracted by mini-css-extract-plugin","// Styles\nimport './VCalendarDaily.sass'\n\n// Types\nimport { VNode, VNodeChildren } from 'vue'\n\n// Directives\nimport Resize from '../../directives/resize'\n\n// Components\nimport VBtn from '../VBtn'\n\n// Mixins\nimport CalendarWithIntervals from './mixins/calendar-with-intervals'\n\n// Util\nimport { convertToUnit } from '../../util/helpers'\nimport { VTimestamp } from './util/timestamp'\n\n/* @vue/component */\nexport default CalendarWithIntervals.extend({\n name: 'v-calendar-daily',\n\n directives: { Resize },\n\n data: () => ({\n scrollPush: 0,\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-calendar-daily': true,\n ...this.themeClasses,\n }\n },\n },\n\n mounted () {\n this.init()\n },\n\n methods: {\n init () {\n this.$nextTick(this.onResize)\n },\n onResize () {\n this.scrollPush = this.getScrollPush()\n },\n getScrollPush (): number {\n const area = this.$refs.scrollArea as HTMLElement\n const pane = this.$refs.pane as HTMLElement\n\n return area && pane ? (area.offsetWidth - pane.offsetWidth) : 0\n },\n genHead (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-calendar-daily__head',\n style: {\n marginRight: this.scrollPush + 'px',\n },\n }, [\n this.genHeadIntervals(),\n ...this.genHeadDays(),\n ])\n },\n genHeadIntervals (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-calendar-daily__intervals-head',\n })\n },\n genHeadDays (): VNode[] {\n return this.days.map(this.genHeadDay)\n },\n genHeadDay (day: VTimestamp, index: number): VNode {\n const slot = this.$scopedSlots['day-header']\n\n return this.$createElement('div', {\n key: day.date,\n staticClass: 'v-calendar-daily_head-day',\n class: this.getRelativeClasses(day),\n on: this.getDefaultMouseEventHandlers(':day', _e => {\n return this.getSlotScope(day)\n }),\n }, [\n this.genHeadWeekday(day),\n this.genHeadDayLabel(day),\n slot ? slot({ ...day, index }) : '',\n ])\n },\n genHeadWeekday (day: VTimestamp): VNode {\n const color = day.present ? this.color : undefined\n\n return this.$createElement('div', this.setTextColor(color, {\n staticClass: 'v-calendar-daily_head-weekday',\n }), this.weekdayFormatter(day, this.shortWeekdays))\n },\n genHeadDayLabel (day: VTimestamp): VNode {\n return this.$createElement('div', {\n staticClass: 'v-calendar-daily_head-day-label',\n }, [\n this.genHeadDayButton(day),\n ])\n },\n genHeadDayButton (day: VTimestamp): VNode {\n const color = day.present ? this.color : 'transparent'\n\n return this.$createElement(VBtn, {\n props: {\n color,\n fab: true,\n depressed: true,\n },\n on: this.getMouseEventHandlers({\n 'click:date': { event: 'click', stop: true },\n 'contextmenu:date': { event: 'contextmenu', stop: true, prevent: true, result: false },\n }, _e => {\n return day\n }),\n }, this.dayFormatter(day, false))\n },\n genBody (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-calendar-daily__body',\n }, [\n this.genScrollArea(),\n ])\n },\n genScrollArea (): VNode {\n return this.$createElement('div', {\n ref: 'scrollArea',\n staticClass: 'v-calendar-daily__scroll-area',\n }, [\n this.genPane(),\n ])\n },\n genPane (): VNode {\n return this.$createElement('div', {\n ref: 'pane',\n staticClass: 'v-calendar-daily__pane',\n style: {\n height: convertToUnit(this.bodyHeight),\n },\n }, [\n this.genDayContainer(),\n ])\n },\n genDayContainer (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-calendar-daily__day-container',\n }, [\n this.genBodyIntervals(),\n ...this.genDays(),\n ])\n },\n genDays (): VNode[] {\n return this.days.map(this.genDay)\n },\n genDay (day: VTimestamp, index: number): VNode {\n const slot = this.$scopedSlots['day-body']\n const scope = this.getSlotScope(day)\n\n return this.$createElement('div', {\n key: day.date,\n staticClass: 'v-calendar-daily__day',\n class: this.getRelativeClasses(day),\n on: this.getDefaultMouseEventHandlers(':time', e => {\n return this.getSlotScope(this.getTimestampAtEvent(e, day))\n }),\n }, [\n ...this.genDayIntervals(index),\n slot ? slot(scope) : '',\n ])\n },\n genDayIntervals (index: number): VNode[] {\n return this.intervals[index].map(this.genDayInterval)\n },\n genDayInterval (interval: VTimestamp): VNode {\n const height: string | undefined = convertToUnit(this.intervalHeight)\n const styler = this.intervalStyle || this.intervalStyleDefault\n const slot = this.$scopedSlots.interval\n const scope = this.getSlotScope(interval)\n\n const data = {\n key: interval.time,\n staticClass: 'v-calendar-daily__day-interval',\n style: {\n height,\n ...styler(interval),\n },\n }\n\n const children = slot ? slot(scope) as VNodeChildren : undefined\n\n return this.$createElement('div', data, children)\n },\n genBodyIntervals (): VNode {\n const data = {\n staticClass: 'v-calendar-daily__intervals-body',\n on: this.getDefaultMouseEventHandlers(':interval', e => {\n return this.getTimestampAtEvent(e, this.parsedStart)\n }),\n }\n\n return this.$createElement('div', data, this.genIntervalLabels())\n },\n genIntervalLabels (): VNode[] | null {\n if (!this.intervals.length) return null\n\n return this.intervals[0].map(this.genIntervalLabel)\n },\n genIntervalLabel (interval: VTimestamp): VNode {\n const height: string | undefined = convertToUnit(this.intervalHeight)\n const short: boolean = this.shortIntervals\n const shower = this.showIntervalLabel || this.showIntervalLabelDefault\n const show = shower(interval)\n const label = show ? this.intervalFormatter(interval, short) : undefined\n\n return this.$createElement('div', {\n key: interval.time,\n staticClass: 'v-calendar-daily__interval',\n style: {\n height,\n },\n }, [\n this.$createElement('div', {\n staticClass: 'v-calendar-daily__interval-text',\n }, label),\n ])\n },\n },\n\n render (h): VNode {\n return h('div', {\n class: this.classes,\n nativeOn: {\n dragstart: (e: MouseEvent) => {\n e.preventDefault()\n },\n },\n directives: [{\n modifiers: { quiet: true },\n name: 'resize',\n value: this.onResize,\n }],\n }, [\n !this.hideHeader ? this.genHead() : '',\n this.genBody(),\n ])\n },\n})\n","// Styles\nimport './VCalendarWeekly.sass'\n\n// Mixins\nimport VCalendarWeekly from './VCalendarWeekly'\n\n// Util\nimport { VTimestamp, parseTimestamp, getStartOfMonth, getEndOfMonth } from './util/timestamp'\n\n/* @vue/component */\nexport default VCalendarWeekly.extend({\n name: 'v-calendar-monthly',\n\n computed: {\n staticClass (): string {\n return 'v-calendar-monthly v-calendar-weekly'\n },\n parsedStart (): VTimestamp {\n return getStartOfMonth(parseTimestamp(this.start) as VTimestamp)\n },\n parsedEnd (): VTimestamp {\n return getEndOfMonth(parseTimestamp(this.end) as VTimestamp)\n },\n },\n\n})\n","// extracted by mini-css-extract-plugin","// Styles\nimport './VCalendarWeekly.sass'\n\n// Types\nimport { VNode, VNodeChildren } from 'vue'\n\n// Components\nimport VBtn from '../VBtn'\n\n// Mixins\nimport CalendarBase from './mixins/calendar-base'\n\n// Util\nimport props from './util/props'\nimport {\n VTimestamp,\n VTimestampFormatter,\n createDayList,\n getDayIdentifier,\n createNativeLocaleFormatter,\n} from './util/timestamp'\n\n/* @vue/component */\nexport default CalendarBase.extend({\n name: 'v-calendar-weekly',\n\n props: props.weeks,\n\n computed: {\n staticClass (): string {\n return 'v-calendar-weekly'\n },\n classes (): object {\n return this.themeClasses\n },\n parsedMinWeeks (): number {\n return parseInt(this.minWeeks)\n },\n days (): VTimestamp[] {\n const minDays = this.parsedMinWeeks * this.weekdays.length\n const start = this.getStartOfWeek(this.parsedStart)\n const end = this.getEndOfWeek(this.parsedEnd)\n\n return createDayList(\n start,\n end,\n this.times.today,\n this.weekdaySkips,\n Number.MAX_SAFE_INTEGER,\n minDays\n )\n },\n todayWeek (): VTimestamp[] {\n const today = this.times.today\n const start = this.getStartOfWeek(today)\n const end = this.getEndOfWeek(today)\n\n return createDayList(\n start,\n end,\n today,\n this.weekdaySkips,\n this.weekdays.length,\n this.weekdays.length\n )\n },\n monthFormatter (): VTimestampFormatter {\n if (this.monthFormat) {\n return this.monthFormat as VTimestampFormatter\n }\n\n const longOptions = { timeZone: 'UTC', month: 'long' }\n const shortOptions = { timeZone: 'UTC', month: 'short' }\n\n return createNativeLocaleFormatter(\n this.currentLocale,\n (_tms, short) => short ? shortOptions : longOptions\n )\n },\n },\n\n methods: {\n isOutside (day: VTimestamp): boolean {\n const dayIdentifier = getDayIdentifier(day)\n\n return dayIdentifier < getDayIdentifier(this.parsedStart) ||\n dayIdentifier > getDayIdentifier(this.parsedEnd)\n },\n genHead (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-calendar-weekly__head',\n }, this.genHeadDays())\n },\n genHeadDays (): VNode[] {\n return this.todayWeek.map(this.genHeadDay)\n },\n genHeadDay (day: VTimestamp, index: number): VNode {\n const outside = this.isOutside(this.days[index])\n const color = day.present ? this.color : undefined\n\n return this.$createElement('div', this.setTextColor(color, {\n key: day.date,\n staticClass: 'v-calendar-weekly__head-weekday',\n class: this.getRelativeClasses(day, outside),\n }), this.weekdayFormatter(day, this.shortWeekdays))\n },\n genWeeks (): VNode[] {\n const days = this.days\n const weekDays = this.weekdays.length\n const weeks: VNode[] = []\n for (let i = 0; i < days.length; i += weekDays) {\n weeks.push(this.genWeek(days.slice(i, i + weekDays)))\n }\n\n return weeks\n },\n genWeek (week: VTimestamp[]): VNode {\n return this.$createElement('div', {\n key: week[0].date,\n staticClass: 'v-calendar-weekly__week',\n }, week.map(this.genDay))\n },\n genDay (day: VTimestamp, index: number): VNode {\n const outside = this.isOutside(day)\n const slot = this.$scopedSlots.day\n const scope = { outside, index, ...day }\n\n return this.$createElement('div', {\n key: day.date,\n staticClass: 'v-calendar-weekly__day',\n class: this.getRelativeClasses(day, outside),\n on: this.getDefaultMouseEventHandlers(':day', _e => day),\n }, [\n this.genDayLabel(day),\n slot ? slot(scope) : '',\n // renders the orginial month text\n // (day.day === 1 && this.showMonthOnFirst) ? this.genDayMonth(day) : '',\n ])\n },\n genDayLabel (day: VTimestamp): VNode {\n const slot = this.$scopedSlots['day-label']\n\n return this.$createElement('div', {\n staticClass: 'v-calendar-weekly__day-label',\n }, [\n slot ? slot(day) as VNodeChildren : this.genDayLabelButton(day),\n ])\n },\n genDayLabelButton (day: VTimestamp): VNode {\n const color = day.present ? this.color : 'transparent'\n const hasMonth = day.day === 1 && this.showMonthOnFirst\n\n return this.$createElement(VBtn, {\n props: {\n color,\n fab: true,\n depressed: true,\n small: true,\n },\n on: this.getMouseEventHandlers({\n 'click:date': { event: 'click', stop: true },\n 'contextmenu:date': { event: 'contextmenu', stop: true, prevent: true, result: false },\n }, _e => day),\n }, hasMonth\n ? this.monthFormatter(day, this.shortMonths) + ' ' + this.dayFormatter(day, false)\n : this.dayFormatter(day, false)\n )\n },\n genDayMonth (day: VTimestamp): VNode | string {\n const color = day.present ? this.color : undefined\n const slot = this.$scopedSlots['day-month']\n\n return this.$createElement('div', this.setTextColor(color, {\n staticClass: 'v-calendar-weekly__day-month',\n }), slot ? slot(day) as VNodeChildren : this.monthFormatter(day, this.shortMonths))\n },\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: this.staticClass,\n class: this.classes,\n nativeOn: {\n dragstart: (e: MouseEvent) => {\n e.preventDefault()\n },\n },\n }, [\n !this.hideHeader ? this.genHead() : '',\n ...this.genWeeks(),\n ])\n },\n})\n","import VCalendar from './VCalendar'\nimport VCalendarDaily from './VCalendarDaily'\nimport VCalendarWeekly from './VCalendarWeekly'\nimport VCalendarMonthly from './VCalendarMonthly'\n\nexport { VCalendar, VCalendarDaily, VCalendarWeekly, VCalendarMonthly }\n\nexport default {\n $_vuetify_subcomponents: {\n VCalendar,\n VCalendarDaily,\n VCalendarWeekly,\n VCalendarMonthly,\n },\n}\n","\n// Mixins\nimport mixins from '../../../util/mixins'\nimport Colorable from '../../../mixins/colorable'\nimport Localable from '../../../mixins/localable'\nimport Mouse from './mouse'\nimport Themeable from '../../../mixins/themeable'\nimport Times from './times'\n\n// Directives\nimport Resize from '../../../directives/resize'\n\n// Util\nimport props from '../util/props'\nimport {\n VTimestamp,\n VTimestampFormatter,\n parseTimestamp,\n getWeekdaySkips,\n createDayList,\n createNativeLocaleFormatter,\n getStartOfWeek,\n getEndOfWeek,\n} from '../util/timestamp'\n\nexport default mixins(\n Colorable,\n Localable,\n Mouse,\n Themeable,\n Times\n/* @vue/component */\n).extend({\n name: 'calendar-base',\n\n directives: {\n Resize,\n },\n\n props: props.base,\n\n computed: {\n weekdaySkips (): number[] {\n return getWeekdaySkips(this.weekdays)\n },\n weekdaySkipsReverse (): number [] {\n const reversed = this.weekdaySkips.slice()\n reversed.reverse()\n return reversed\n },\n parsedStart (): VTimestamp {\n return parseTimestamp(this.start) as VTimestamp\n },\n parsedEnd (): VTimestamp {\n return (this.end ? parseTimestamp(this.end) : this.parsedStart) as VTimestamp\n },\n days (): VTimestamp[] {\n return createDayList(\n this.parsedStart,\n this.parsedEnd,\n this.times.today,\n this.weekdaySkips\n )\n },\n dayFormatter (): VTimestampFormatter {\n if (this.dayFormat) {\n return this.dayFormat as VTimestampFormatter\n }\n\n const options = { timeZone: 'UTC', day: 'numeric' }\n\n return createNativeLocaleFormatter(\n this.currentLocale,\n (_tms, _short) => options\n )\n },\n weekdayFormatter (): VTimestampFormatter {\n if (this.weekdayFormat) {\n return this.weekdayFormat as VTimestampFormatter\n }\n\n const longOptions = { timeZone: 'UTC', weekday: 'long' }\n const shortOptions = { timeZone: 'UTC', weekday: 'short' }\n\n return createNativeLocaleFormatter(\n this.currentLocale,\n (_tms, short) => short ? shortOptions : longOptions\n )\n },\n },\n\n methods: {\n getRelativeClasses (timestamp: VTimestamp, outside = false): object {\n return {\n 'v-present': timestamp.present,\n 'v-past': timestamp.past,\n 'v-future': timestamp.future,\n 'v-outside': outside,\n }\n },\n getStartOfWeek (timestamp: VTimestamp): VTimestamp {\n return getStartOfWeek(timestamp, this.weekdays, this.times.today)\n },\n getEndOfWeek (timestamp: VTimestamp): VTimestamp {\n return getEndOfWeek(timestamp, this.weekdays, this.times.today)\n },\n getFormatter (options: object): VTimestampFormatter {\n return createNativeLocaleFormatter(\n this.locale,\n (_tms, _short) => options\n )\n },\n },\n})\n","// extracted by mini-css-extract-plugin","// Styles\nimport './calendar-with-events.sass'\n\n// Types\nimport { VNode, VNodeData } from 'vue'\n\n// Directives\nimport ripple from '../../../directives/ripple'\n\n// Mixins\nimport CalendarBase from './calendar-base'\n\n// Helpers\nimport { escapeHTML } from '../../../util/helpers'\n\n// Util\nimport props from '../util/props'\nimport {\n VTimestamp,\n getDayIdentifier,\n parseTime,\n} from '../util/timestamp'\nimport {\n VEventParsed,\n VEventInput,\n parseEvent,\n isEventOn,\n} from '../util/events'\n\n// Types\ntype VColorFunction = (event: VEventInput) => string\n\ntype VNameFunction = (event: VEventParsed, timedEvent: boolean) => string\n\ntype VTimeToY = (time: VTimestamp | number | string) => number\n\ntype VEventResetCheck = (date: VTimestamp) => void\n\ntype VEventVisualGetOffset = (visual: VEventVisual, visuals: VEventVisual[]) => number\n\ntype VEventGetter = (day: VTimestamp) => VEventParsed[]\n\ntype VEventVisualGetter = (events: VEventParsed[], timed: boolean) => VEventVisual[]\n\ntype VEventVisualToNode<D> = (visual: VEventVisual, index: number, day: D) => VNode\n\ntype VDailyEventsMap = {\n [date: string]: {\n parent: HTMLElement\n more: HTMLElement | null\n events: HTMLElement[]\n }\n}\n\ninterface VEventVisual {\n offset: number\n event: VEventParsed\n columnCount: number\n column: number\n}\n\ninterface VDaySlotScope extends VTimestamp {\n outside: boolean\n index: number\n}\n\ninterface VDayBodySlotScope extends VDaySlotScope {\n timeToY: VTimeToY\n}\n\n/* @vue/component */\nexport default CalendarBase.extend({\n name: 'calendar-with-events',\n\n directives: {\n ripple,\n },\n\n props: props.events,\n\n computed: {\n noEvents (): boolean {\n return this.events.length === 0\n },\n parsedEvents (): VEventParsed[] {\n return this.events.map((input, index) => parseEvent(input, index, this.eventStart, this.eventEnd))\n },\n eventColorFunction (): VColorFunction {\n return typeof this.eventColor === 'function'\n ? this.eventColor as VColorFunction\n : () => (this.eventColor as string)\n },\n eventTextColorFunction (): VColorFunction {\n return typeof this.eventTextColor === 'function'\n ? this.eventTextColor as VColorFunction\n : () => (this.eventTextColor as string)\n },\n eventNameFunction (): VNameFunction {\n return typeof this.eventName === 'function'\n ? this.eventName as VNameFunction\n : (event, timedEvent) => {\n const name = escapeHTML(event.input[this.eventName as string] as string)\n if (event.start.hasTime) {\n if (timedEvent) {\n const showStart = event.start.hour < 12 && event.end.hour >= 12\n const start = this.formatTime(event.start, showStart)\n const end = this.formatTime(event.end, true)\n return `<strong>${name}</strong><br>${start} - ${end}`\n } else {\n const time = this.formatTime(event.start, true)\n return `<strong>${time}</strong> ${name}`\n }\n }\n return name\n }\n },\n },\n\n methods: {\n formatTime (withTime: VTimestamp, ampm: boolean): string {\n const suffix = ampm ? (withTime.hour < 12 ? 'a' : 'p') : ''\n const hour = withTime.hour % 12 || 12\n const minute = withTime.minute\n\n return minute > 0\n ? (minute < 10\n ? `${hour}:0${minute}${suffix}`\n : `${hour}:${minute}${suffix}`)\n : `${hour}${suffix}`\n },\n updateEventVisibility () {\n if (this.noEvents || !this.eventMore) {\n return\n }\n\n const eventHeight = this.eventHeight\n const eventsMap = this.getEventsMap()\n\n for (const date in eventsMap) {\n const { parent, events, more } = eventsMap[date]\n if (!more) {\n break\n }\n const parentBounds = parent.getBoundingClientRect()\n const last = events.length - 1\n let hide = false\n let hidden = 0\n for (let i = 0; i <= last; i++) {\n if (!hide) {\n const eventBounds = events[i].getBoundingClientRect()\n hide = (eventBounds.bottom + eventHeight > parentBounds.bottom && i !== last) ||\n events[i].style.display === 'none'\n }\n if (hide) {\n const id = events[i].getAttribute('data-event') as string\n this.hideEvents(id)\n hidden++\n }\n }\n\n if (hide) {\n more.style.display = ''\n more.innerHTML = this.$vuetify.lang.t(this.eventMoreText, hidden)\n } else {\n more.style.display = 'none'\n }\n }\n },\n hideEvents (id: string) {\n const elements = this.$refs.events as HTMLElement[]\n\n elements.forEach(el => {\n if (el.getAttribute('data-event') === id) {\n el.style.display = 'none'\n }\n })\n },\n getEventsMap (): VDailyEventsMap {\n const eventsMap: VDailyEventsMap = {}\n const elements = this.$refs.events as HTMLElement[]\n\n if (!elements || !elements.forEach) {\n return eventsMap\n }\n\n elements.forEach(el => {\n const date = el.getAttribute('data-date')\n if (el.parentElement && date) {\n if (!(date in eventsMap)) {\n eventsMap[date] = {\n parent: el.parentElement,\n more: null,\n events: [],\n }\n }\n if (el.getAttribute('data-more')) {\n eventsMap[date].more = el\n } else {\n eventsMap[date].events.push(el)\n el.style.display = ''\n }\n }\n })\n\n return eventsMap\n },\n genDayEvent ({ offset, event }: VEventVisual, index: number, day: VDaySlotScope): VNode {\n const eventHeight = this.eventHeight\n const eventMarginBottom = this.eventMarginBottom\n const relativeOffset = (offset - index) * (eventHeight + eventMarginBottom) // 1 = margin bottom\n const dayIdentifier = getDayIdentifier(day)\n const start = dayIdentifier === event.startIdentifier\n const end = dayIdentifier === event.endIdentifier\n const scope = { event: event.input, day, outside: day.outside, start, end, timed: false }\n\n return this.genEvent(event, scope, start || day.index === 0, false, {\n staticClass: 'v-event',\n class: {\n 'v-event-start': start,\n 'v-event-end': end,\n },\n style: {\n height: `${eventHeight}px`,\n top: `${relativeOffset}px`,\n 'margin-bottom': `${eventMarginBottom}px`,\n },\n attrs: {\n 'data-date': day.date,\n 'data-event': event.index,\n },\n key: event.index,\n ref: 'events',\n refInFor: true,\n })\n },\n genTimedEvent ({ offset, event, columnCount, column }: VEventVisual, index: number, day: VDayBodySlotScope): VNode {\n const dayIdentifier = getDayIdentifier(day)\n const start = event.startIdentifier >= dayIdentifier\n const end = event.endIdentifier > dayIdentifier\n const top = start ? day.timeToY(event.start) : 0\n const bottom = end ? day.timeToY(1440) : day.timeToY(event.end)\n const height = Math.max(this.eventHeight, bottom - top)\n const left = columnCount === -1\n ? offset * 5\n : column * 100 / columnCount\n const right = columnCount === -1\n ? 0\n : Math.max(0, (columnCount - column - 2) * 100 / columnCount + 10)\n const scope = { event: event.input, day, outside: day.outside, start, end, timed: true }\n\n return this.genEvent(event, scope, true, true, {\n staticClass: 'v-event-timed',\n style: {\n top: `${top}px`,\n height: `${height}px`,\n left: `${left}%`,\n right: `${right}%`,\n },\n })\n },\n genEvent (event: VEventParsed, scope: object, showName: boolean, timedEvent: boolean, data: VNodeData): VNode {\n const slot = this.$scopedSlots.event\n const text = this.eventTextColorFunction(event.input)\n const background = this.eventColorFunction(event.input)\n\n return this.$createElement('div',\n this.setTextColor(text,\n this.setBackgroundColor(background, {\n on: this.getDefaultMouseEventHandlers(':event', nativeEvent => ({ ...scope, nativeEvent })),\n directives: [{\n name: 'ripple',\n value: this.eventRipple != null ? this.eventRipple : true,\n }],\n ...data,\n })\n ), slot\n ? slot(scope)\n : (showName ? [this.genName(event, timedEvent)] : undefined)\n )\n },\n genName (event: VEventParsed, timedEvent: boolean): VNode {\n return this.$createElement('div', {\n staticClass: 'pl-1',\n domProps: {\n innerHTML: this.eventNameFunction(event, timedEvent),\n },\n })\n },\n genMore (day: VTimestamp): VNode {\n return this.$createElement('div', {\n staticClass: 'v-event-more pl-1',\n attrs: {\n 'data-date': day.date,\n 'data-more': 1,\n },\n directives: [{\n name: 'ripple',\n value: this.eventRipple != null ? this.eventRipple : true,\n }],\n on: {\n click: () => this.$emit('click:more', day),\n },\n style: {\n display: 'none',\n },\n ref: 'events',\n refInFor: true,\n })\n },\n getEventsForDay (day: VTimestamp): VEventParsed[] {\n const identifier = getDayIdentifier(day)\n\n return this.parsedEvents.filter(\n event => isEventOn(event, identifier)\n )\n },\n getEventsForDayAll (day: VTimestamp): VEventParsed[] {\n const identifier = getDayIdentifier(day)\n\n return this.parsedEvents.filter(\n event => event.allDay && isEventOn(event, identifier)\n )\n },\n getEventsForDayTimed (day: VTimestamp): VEventParsed[] {\n const identifier = getDayIdentifier(day)\n\n return this.parsedEvents.filter(\n event => !event.allDay && isEventOn(event, identifier)\n )\n },\n isSameColumn (a: VEventVisual, b: VEventVisual): boolean {\n const astart = parseTime(a.event.start) as number\n const bstart = parseTime(b.event.start) as number\n const diff = astart - bstart\n const abs = diff < 0 ? -diff : diff\n\n return abs < this.eventOverlapThreshold\n },\n isOverlapping (a: VEventVisual, b: VEventVisual): boolean {\n const astart = parseTime(a.event.start) as number\n const bstart = parseTime(b.event.start) as number\n\n if (a.offset < b.offset && bstart < astart) {\n const aend = astart + this.eventOverlapThreshold\n const bend = parseTime(b.event.end) as number\n return !(astart >= bend || aend <= bstart)\n }\n\n return false\n },\n getScopedSlots () {\n if (this.noEvents) {\n return this.$scopedSlots\n }\n\n /**\n * Over the span of a week (for example) we want to maintain an event in the same row (for weekly and monthly views).\n * We keep track of those rows by indexToOffset. If the value in that array is -1, then we can place an event at that spot.\n * For a daily view with timed events we arrange them based on columns and offsets. If two or more events start at around the\n * same time (eventOverlapThreshold) they go into columns. If one event starts inside another it is indented the appropriate amount.\n * If one event overlaps another after those adjustments are made those events are placed in columns together instead of any defined\n * indents.\n */\n\n const parsedEvents = this.parsedEvents\n const indexToOffset: number[] = parsedEvents.map(event => -1)\n const resetOnWeekday = this.weekdays[0]\n\n const checkReset: VEventResetCheck = day => {\n if (day.weekday === resetOnWeekday) {\n for (let i = 0; i < indexToOffset.length; i++) {\n indexToOffset[i] = -1\n }\n }\n }\n\n const getOffset: VEventVisualGetOffset = (visual, visuals) => {\n let offset = indexToOffset[visual.event.index]\n if (offset === -1) {\n let min = Number.MAX_SAFE_INTEGER\n let max = -1\n visuals.forEach(other => {\n const otherOffset = indexToOffset[other.event.index]\n if (otherOffset !== -1) {\n min = Math.min(min, otherOffset)\n max = Math.max(max, otherOffset)\n }\n })\n offset = min > 0 && max !== -1 ? min - 1 : max + 1\n indexToOffset[visual.event.index] = offset\n }\n return offset\n }\n\n const getVisuals: VEventVisualGetter = (events, timed) => {\n const visuals: VEventVisual[] = events.map(event => ({ event, offset: 0, columnCount: -1, column: -1 }))\n // sort events by start date/time\n visuals.sort((a, b) => a.event.startTimestampIdentifier - b.event.startTimestampIdentifier)\n if (timed) {\n // timed events can be organized into columns\n visuals.forEach(visual => {\n if (visual.columnCount !== -1) {\n return\n }\n const columns: VEventVisual[] = []\n visuals.forEach(other => {\n if (other.columnCount === -1 && this.isSameColumn(visual, other)) {\n columns.push(other)\n }\n })\n if (columns.length > 1) {\n columns.forEach((visual, visualIndex) => {\n visual.column = visualIndex\n visual.columnCount = columns.length\n })\n }\n })\n // for any not organized into columns, if they overlap another event\n // not in a column they are offset\n visuals.forEach(visual => {\n if (visual.columnCount === -1) {\n visuals.forEach(other => {\n const otherOffset = indexToOffset[other.event.index]\n if (otherOffset !== -1 && other.event.endTimestampIdentifier <= visual.event.startTimestampIdentifier) {\n indexToOffset[other.event.index] = -1\n }\n })\n visual.offset = getOffset(visual, visuals)\n }\n })\n // for any not organized into columns, if a previous event overlaps this event\n // join them into the columns\n visuals.forEach(visual => {\n if (visual.columnCount === -1) {\n const columns: VEventVisual[] = [visual]\n visuals.forEach(other => {\n if (other !== visual && other.columnCount === -1 && this.isOverlapping(visual, other)) {\n columns.push(other)\n }\n })\n if (columns.length > 1) {\n columns.forEach((visual, visualIndex) => {\n visual.column = visualIndex\n visual.columnCount = columns.length\n })\n }\n }\n })\n } else {\n visuals.forEach(visual => {\n visual.offset = getOffset(visual, visuals)\n })\n }\n visuals.sort((a, b) => (a.offset - b.offset) || (a.column - b.column))\n return visuals\n }\n\n const getSlotChildren = <D extends VDaySlotScope>(day: D, getter: VEventGetter, mapper: VEventVisualToNode<D>, timed: boolean) => {\n checkReset(day)\n const events = getter(day)\n return events.length === 0\n ? undefined\n : getVisuals(events, timed).map((visual, index) => mapper(visual, index, day))\n }\n\n return {\n ...this.$scopedSlots,\n day: (day: VDaySlotScope) => {\n const children = getSlotChildren(day, this.getEventsForDay, this.genDayEvent, false)\n if (children && children.length > 0 && this.eventMore) {\n children.push(this.genMore(day))\n }\n return children\n },\n 'day-header': (day: VDaySlotScope) => {\n return getSlotChildren(day, this.getEventsForDayAll, this.genDayEvent, false)\n },\n 'day-body': (day: VDayBodySlotScope) => {\n return [this.$createElement('div', {\n staticClass: 'v-event-timed-container',\n }, getSlotChildren(day, this.getEventsForDayTimed, this.genTimedEvent, true))]\n },\n }\n },\n },\n})\n","\n// Mixins\nimport CalendarBase from './calendar-base'\n\n// Util\nimport props from '../util/props'\nimport {\n VTimestamp,\n VTime,\n VTimestampFormatter,\n parseTime,\n copyTimestamp,\n updateMinutes,\n createDayList,\n createIntervalList,\n createNativeLocaleFormatter,\n} from '../util/timestamp'\n\n/* @vue/component */\nexport default CalendarBase.extend({\n name: 'calendar-with-intervals',\n\n props: props.intervals,\n\n computed: {\n parsedFirstInterval (): number {\n return parseInt(this.firstInterval)\n },\n parsedIntervalMinutes (): number {\n return parseInt(this.intervalMinutes)\n },\n parsedIntervalCount (): number {\n return parseInt(this.intervalCount)\n },\n parsedIntervalHeight (): number {\n return parseFloat(this.intervalHeight)\n },\n firstMinute (): number {\n return this.parsedFirstInterval * this.parsedIntervalMinutes\n },\n bodyHeight (): number {\n return this.parsedIntervalCount * this.parsedIntervalHeight\n },\n days (): VTimestamp[] {\n return createDayList(\n this.parsedStart,\n this.parsedEnd,\n this.times.today,\n this.weekdaySkips,\n this.maxDays\n )\n },\n intervals (): VTimestamp[][] {\n const days: VTimestamp[] = this.days\n const first: number = this.parsedFirstInterval\n const minutes: number = this.parsedIntervalMinutes\n const count: number = this.parsedIntervalCount\n const now: VTimestamp = this.times.now\n\n return days.map(d => createIntervalList(d, first, minutes, count, now))\n },\n intervalFormatter (): VTimestampFormatter {\n if (this.intervalFormat) {\n return this.intervalFormat as VTimestampFormatter\n }\n\n const longOptions = { timeZone: 'UTC', hour12: true, hour: '2-digit', minute: '2-digit' }\n const shortOptions = { timeZone: 'UTC', hour12: true, hour: 'numeric', minute: '2-digit' }\n const shortHourOptions = { timeZone: 'UTC', hour12: true, hour: 'numeric' }\n\n return createNativeLocaleFormatter(\n this.currentLocale,\n (tms, short) => short ? (tms.minute === 0 ? shortHourOptions : shortOptions) : longOptions\n )\n },\n },\n\n methods: {\n showIntervalLabelDefault (interval: VTimestamp): boolean {\n const first: VTimestamp = this.intervals[0][0]\n const isFirst: boolean = first.hour === interval.hour && first.minute === interval.minute\n return !isFirst && interval.minute === 0\n },\n intervalStyleDefault (_interval: VTimestamp): object | undefined {\n return undefined\n },\n getTimestampAtEvent (e: MouseEvent | TouchEvent, day: VTimestamp): VTimestamp {\n const timestamp: VTimestamp = copyTimestamp(day)\n const bounds = (e.currentTarget as HTMLElement).getBoundingClientRect()\n const baseMinutes: number = this.firstMinute\n const touchEvent: TouchEvent = e as TouchEvent\n const mouseEvent: MouseEvent = e as MouseEvent\n const touches: TouchList = touchEvent.changedTouches || touchEvent.touches\n const clientY: number = touches && touches[0] ? touches[0].clientY : mouseEvent.clientY\n const addIntervals: number = (clientY - bounds.top) / this.parsedIntervalHeight\n const addMinutes: number = Math.floor(addIntervals * this.parsedIntervalMinutes)\n const minutes: number = baseMinutes + addMinutes\n\n return updateMinutes(timestamp, minutes, this.times.now)\n },\n getSlotScope (timestamp: VTimestamp): any {\n const scope = copyTimestamp(timestamp) as any\n scope.timeToY = this.timeToY\n scope.minutesToPixels = this.minutesToPixels\n return scope\n },\n scrollToTime (time: VTime): boolean {\n const y = this.timeToY(time)\n const pane = this.$refs.scrollArea as HTMLElement\n\n if (y === false || !pane) {\n return false\n }\n\n pane.scrollTop = y\n\n return true\n },\n minutesToPixels (minutes: number): number {\n return minutes / this.parsedIntervalMinutes * this.parsedIntervalHeight\n },\n timeToY (time: VTime, clamp = true): number | false {\n const minutes = parseTime(time)\n\n if (minutes === false) {\n return false\n }\n\n const min: number = this.firstMinute\n const gap: number = this.parsedIntervalCount * this.parsedIntervalMinutes\n const delta: number = (minutes - min) / gap\n let y: number = delta * this.bodyHeight\n\n if (clamp) {\n if (y < 0) {\n y = 0\n }\n if (y > this.bodyHeight) {\n y = this.bodyHeight\n }\n }\n\n return y\n },\n },\n})\n","import Vue from 'vue'\n\nexport type MouseHandler = (e: MouseEvent | TouchEvent) => any\n\nexport type MouseEvents = {\n [event: string]: {\n event: string\n passive?: boolean\n capture?: boolean\n once?: boolean\n stop?: boolean\n prevent?: boolean\n button?: number\n result?: any\n }\n}\n\nexport type MouseEventsMap = {\n [event: string]: MouseHandler | MouseHandler[]\n}\n\nexport default Vue.extend({\n name: 'mouse',\n\n methods: {\n getDefaultMouseEventHandlers (suffix: string, getEvent: MouseHandler): MouseEventsMap {\n return this.getMouseEventHandlers({\n ['click' + suffix]: { event: 'click' },\n ['contextmenu' + suffix]: { event: 'contextmenu', prevent: true, result: false },\n ['mousedown' + suffix]: { event: 'mousedown' },\n ['mousemove' + suffix]: { event: 'mousemove' },\n ['mouseup' + suffix]: { event: 'mouseup' },\n ['mouseenter' + suffix]: { event: 'mouseenter' },\n ['mouseleave' + suffix]: { event: 'mouseleave' },\n ['touchstart' + suffix]: { event: 'touchstart' },\n ['touchmove' + suffix]: { event: 'touchmove' },\n ['touchend' + suffix]: { event: 'touchend' },\n }, getEvent)\n },\n getMouseEventHandlers (events: MouseEvents, getEvent: MouseHandler): MouseEventsMap {\n const on: MouseEventsMap = {}\n\n for (const event in events) {\n const eventOptions = events[event]\n\n if (!this.$listeners[event]) continue\n\n // TODO somehow pull in modifiers\n\n const prefix = eventOptions.passive ? '&' : ((eventOptions.once ? '~' : '') + (eventOptions.capture ? '!' : ''))\n const key = prefix + eventOptions.event\n\n const handler: MouseHandler = e => {\n const mouseEvent: MouseEvent = e as MouseEvent\n if (eventOptions.button === undefined || (mouseEvent.buttons > 0 && mouseEvent.button === eventOptions.button)) {\n if (eventOptions.prevent) {\n e.preventDefault()\n }\n if (eventOptions.stop) {\n e.stopPropagation()\n }\n this.$emit(event, getEvent(e))\n }\n\n return eventOptions.result\n }\n\n if (key in on) {\n /* istanbul ignore next */\n if (Array.isArray(on[key])) {\n (on[key] as MouseHandler[]).push(handler)\n } else {\n on[key] = [on[key], handler] as MouseHandler[]\n }\n } else {\n on[key] = handler\n }\n }\n\n return on\n },\n },\n})\n","import Vue from 'vue'\n\nimport {\n VTimestamp,\n validateTimestamp,\n parseTimestamp,\n parseDate,\n} from '../util/timestamp'\n\nexport default Vue.extend({\n name: 'times',\n\n props: {\n now: {\n type: String,\n validator: validateTimestamp,\n },\n },\n\n data: () => ({\n times: {\n now: parseTimestamp('0000-00-00 00:00') as VTimestamp,\n today: parseTimestamp('0000-00-00') as VTimestamp,\n },\n }),\n\n computed: {\n parsedNow (): VTimestamp | null {\n return this.now ? parseTimestamp(this.now) : null\n },\n },\n\n watch: {\n parsedNow: 'updateTimes',\n },\n\n created () {\n this.updateTimes()\n this.setPresent()\n },\n\n methods: {\n setPresent (): void {\n this.times.now.present = this.times.today.present = true\n this.times.now.past = this.times.today.past = false\n this.times.now.future = this.times.today.future = false\n },\n updateTimes (): void {\n const now: VTimestamp = this.parsedNow || this.getNow()\n this.updateDay(now, this.times.now)\n this.updateTime(now, this.times.now)\n this.updateDay(now, this.times.today)\n },\n getNow (): VTimestamp {\n return parseDate(new Date())\n },\n updateDay (now: VTimestamp, target: VTimestamp): void {\n if (now.date !== target.date) {\n target.year = now.year\n target.month = now.month\n target.day = now.day\n target.weekday = now.weekday\n target.date = now.date\n }\n },\n updateTime (now: VTimestamp, target: VTimestamp): void {\n if (now.time !== target.time) {\n target.hour = now.hour\n target.minute = now.minute\n target.time = now.time\n }\n },\n },\n})\n","import {\n VTimestamp,\n parseTimestamp,\n getDayIdentifier,\n getTimestampIdentifier,\n} from './timestamp'\n\nexport interface VEventInput {\n [prop: string]: any\n}\n\nexport interface VEventParsed {\n input: VEventInput\n start: VTimestamp\n startIdentifier: number\n startTimestampIdentifier: number\n end: VTimestamp\n endIdentifier: number\n endTimestampIdentifier: number\n allDay: boolean\n index: number\n}\n\nexport function parseEvent (input: VEventInput, index: number, startProperty: string, endProperty: string): VEventParsed {\n if (!(startProperty in input)) {\n throw new Error('The ' + startProperty + ' property is required on all events to be a valid timestamp in the format YYYY-MM-DD or YYYY-MM-DD hh:mm')\n }\n\n const start: VTimestamp = parseTimestamp(input[startProperty]) as VTimestamp\n const end: VTimestamp = (input[endProperty] ? parseTimestamp(input[endProperty]) : start) as VTimestamp\n const startIdentifier: number = getDayIdentifier(start)\n const startTimestampIdentifier: number = getTimestampIdentifier(start)\n const endIdentifier: number = getDayIdentifier(end)\n const endTimestampIdentifier: number = getTimestampIdentifier(end)\n const allDay: boolean = !start.hasTime\n\n return { input, start, startIdentifier, startTimestampIdentifier, end, endIdentifier, endTimestampIdentifier, allDay, index }\n}\n\nexport function isEventOn (event: VEventParsed, dayIdentifier: number): boolean {\n return dayIdentifier >= event.startIdentifier && dayIdentifier <= event.endIdentifier\n}\n\nexport function isEventOverlapping (event: VEventParsed, startIdentifier: number, endIdentifier: number): boolean {\n return startIdentifier <= event.endIdentifier && endIdentifier >= event.startIdentifier\n}\n","\nimport { validateTimestamp, parseDate } from './timestamp'\nimport { VEventInput } from './events'\nimport { PropValidator } from 'vue/types/options'\n\nexport default {\n base: {\n start: {\n type: String,\n validate: validateTimestamp,\n default: () => parseDate(new Date()).date,\n },\n end: {\n type: String,\n validate: validateTimestamp,\n },\n weekdays: {\n type: Array,\n default: () => [0, 1, 2, 3, 4, 5, 6],\n } as PropValidator<number[]>,\n hideHeader: {\n type: Boolean,\n default: false,\n },\n shortWeekdays: {\n type: Boolean,\n default: true,\n },\n weekdayFormat: {\n type: Function, // VTimestampFormatter,\n default: null,\n },\n dayFormat: {\n type: Function, // VTimestampFormatter,\n default: null,\n },\n },\n intervals: {\n maxDays: {\n type: Number,\n default: 7,\n },\n shortIntervals: {\n type: Boolean,\n default: true,\n },\n intervalHeight: {\n type: [Number, String],\n default: 40,\n validate: validateNumber,\n },\n intervalMinutes: {\n type: [Number, String],\n default: 60,\n validate: validateNumber,\n },\n firstInterval: {\n type: [Number, String],\n default: 0,\n validate: validateNumber,\n },\n intervalCount: {\n type: [Number, String],\n default: 24,\n validate: validateNumber,\n },\n intervalFormat: {\n type: Function, // VTimestampFormatter,\n default: null,\n },\n intervalStyle: {\n type: Function, // (interval: VTimestamp): object\n default: null,\n },\n showIntervalLabel: {\n type: Function, // (interval: VTimestamp): boolean\n default: null,\n },\n },\n weeks: {\n minWeeks: {\n validate: validateNumber,\n default: 1,\n },\n shortMonths: {\n type: Boolean,\n default: true,\n },\n showMonthOnFirst: {\n type: Boolean,\n default: true,\n },\n monthFormat: {\n type: Function, // VTimestampFormatter,\n default: null,\n },\n },\n calendar: {\n type: {\n type: String,\n default: 'month',\n },\n value: {\n type: String,\n validate: validateTimestamp,\n },\n },\n events: {\n events: {\n type: Array,\n default: () => [],\n } as PropValidator<VEventInput[]>,\n eventStart: {\n type: String,\n default: 'start',\n },\n eventEnd: {\n type: String,\n default: 'end',\n },\n eventHeight: {\n type: Number,\n default: 20,\n },\n eventColor: {\n type: [String, Function],\n default: 'secondary',\n },\n eventTextColor: {\n type: [String, Function],\n default: 'white',\n },\n eventName: {\n type: [String, Function],\n default: 'name',\n },\n eventOverlapThreshold: {\n type: Number,\n default: 60,\n },\n eventMore: {\n type: Boolean,\n default: true,\n },\n eventMoreText: {\n type: String,\n default: '$vuetify.calendar.moreEvents',\n },\n eventRipple: {\n type: [Boolean, Object],\n default: null,\n },\n eventMarginBottom: {\n type: Number,\n default: 1,\n },\n },\n}\n\nexport function validateNumber (input: any): boolean {\n return isFinite(parseInt(input))\n}\n","\nexport const PARSE_REGEX: RegExp = /^(\\d{4})-(\\d{1,2})(-(\\d{1,2}))?([^\\d]+(\\d{1,2}))?(:(\\d{1,2}))?(:(\\d{1,2}))?$/\nexport const PARSE_TIME: RegExp = /(\\d\\d?)(:(\\d\\d?)|)(:(\\d\\d?)|)/\n\nexport const DAYS_IN_MONTH: number[] = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]\nexport const DAYS_IN_MONTH_LEAP: number[] = [0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]\nexport const DAYS_IN_MONTH_MIN = 28\nexport const DAYS_IN_MONTH_MAX = 31\nexport const MONTH_MAX = 12\nexport const MONTH_MIN = 1\nexport const DAY_MIN = 1\nexport const DAYS_IN_WEEK = 7\nexport const MINUTES_IN_HOUR = 60\nexport const HOURS_IN_DAY = 24\nexport const FIRST_HOUR = 0\n\nexport interface VTimestamp {\n date: string\n time: string\n year: number\n month: number\n day: number\n weekday: number\n hour: number\n minute: number\n hasDay: boolean\n hasTime: boolean\n past: boolean\n present: boolean\n future: boolean\n}\n\nexport interface VTimeObject {\n hour: number\n minute: number\n}\n\nexport type VTime = number | string | VTimeObject\n\nexport type VTimestampFormatter = (timestamp: VTimestamp, short: boolean) => string\n\nexport type VTimestampFormatOptions = (timestamp: VTimestamp, short: boolean) => object\n\nexport type VTimestampOperation = (timestamp: VTimestamp) => VTimestamp\n\nexport function getStartOfWeek (timestamp: VTimestamp, weekdays: number[], today?: VTimestamp): VTimestamp {\n const start = copyTimestamp(timestamp)\n findWeekday(start, weekdays[0], prevDay)\n updateFormatted(start)\n if (today) {\n updateRelative(start, today, start.hasTime)\n }\n return start\n}\n\nexport function getEndOfWeek (timestamp: VTimestamp, weekdays: number[], today?: VTimestamp): VTimestamp {\n const end = copyTimestamp(timestamp)\n findWeekday(end, weekdays[weekdays.length - 1])\n updateFormatted(end)\n if (today) {\n updateRelative(end, today, end.hasTime)\n }\n return end\n}\n\nexport function getStartOfMonth (timestamp: VTimestamp): VTimestamp {\n const start = copyTimestamp(timestamp)\n start.day = DAY_MIN\n updateWeekday(start)\n updateFormatted(start)\n return start\n}\n\nexport function getEndOfMonth (timestamp: VTimestamp): VTimestamp {\n const end = copyTimestamp(timestamp)\n end.day = daysInMonth(end.year, end.month)\n updateWeekday(end)\n updateFormatted(end)\n return end\n}\n\nexport function parseTime (input: any): number | false {\n if (typeof input === 'number') {\n // when a number is given, it's minutes since 12:00am\n return input\n } else if (typeof input === 'string') {\n // when a string is given, it's a hh:mm:ss format where seconds are optional\n const parts = PARSE_TIME.exec(input)\n if (!parts) {\n return false\n }\n return parseInt(parts[1]) * 60 + parseInt(parts[3] || 0)\n } else if (typeof input === 'object') {\n // when an object is given, it must have hour and minute\n if (typeof input.hour !== 'number' || typeof input.minute !== 'number') {\n return false\n }\n return input.hour * 60 + input.minute\n } else {\n // unsupported type\n return false\n }\n}\n\nexport function validateTimestamp (input: any): boolean {\n return !!PARSE_REGEX.exec(input)\n}\n\nexport function parseTimestamp (input: string, now?: VTimestamp): VTimestamp | null {\n // YYYY-MM-DD hh:mm:ss\n const parts = PARSE_REGEX.exec(input)\n\n if (!parts) return null\n\n const timestamp: VTimestamp = {\n date: input,\n time: '',\n year: parseInt(parts[1]),\n month: parseInt(parts[2]),\n day: parseInt(parts[4]) || 1,\n hour: parseInt(parts[6]) || 0,\n minute: parseInt(parts[8]) || 0,\n weekday: 0,\n hasDay: !!parts[4],\n hasTime: !!(parts[6] && parts[8]),\n past: false,\n present: false,\n future: false,\n }\n\n updateWeekday(timestamp)\n updateFormatted(timestamp)\n\n if (now) {\n updateRelative(timestamp, now, timestamp.hasTime)\n }\n\n return timestamp\n}\n\nexport function parseDate (date: Date): VTimestamp {\n return updateFormatted({\n date: '',\n time: '',\n year: date.getFullYear(),\n month: date.getMonth() + 1,\n day: date.getDate(),\n weekday: date.getDay(),\n hour: date.getHours(),\n minute: date.getMinutes(),\n hasDay: true,\n hasTime: true,\n past: false,\n present: true,\n future: false,\n })\n}\n\nexport function getDayIdentifier (timestamp: VTimestamp): number {\n return timestamp.year * 10000 + timestamp.month * 100 + timestamp.day\n}\n\nexport function getTimeIdentifier (timestamp: VTimestamp): number {\n return timestamp.hour * 100 + timestamp.minute\n}\n\nexport function getTimestampIdentifier (timestamp: VTimestamp): number {\n return getDayIdentifier(timestamp) * 10000 + getTimeIdentifier(timestamp)\n}\n\nexport function updateRelative (timestamp: VTimestamp, now: VTimestamp, time = false): VTimestamp {\n let a = getDayIdentifier(now)\n let b = getDayIdentifier(timestamp)\n let present = a === b\n\n if (timestamp.hasTime && time && present) {\n a = getTimeIdentifier(now)\n b = getTimeIdentifier(timestamp)\n present = a === b\n }\n\n timestamp.past = b < a\n timestamp.present = present\n timestamp.future = b > a\n\n return timestamp\n}\n\nexport function updateMinutes (timestamp: VTimestamp, minutes: number, now?: VTimestamp): VTimestamp {\n timestamp.hasTime = true\n timestamp.hour = Math.floor(minutes / MINUTES_IN_HOUR)\n timestamp.minute = minutes % MINUTES_IN_HOUR\n timestamp.time = getTime(timestamp)\n if (now) {\n updateRelative(timestamp, now, true)\n }\n\n return timestamp\n}\n\nexport function updateWeekday (timestamp: VTimestamp): VTimestamp {\n timestamp.weekday = getWeekday(timestamp)\n\n return timestamp\n}\n\nexport function updateFormatted (timestamp: VTimestamp): VTimestamp {\n timestamp.time = getTime(timestamp)\n timestamp.date = getDate(timestamp)\n\n return timestamp\n}\n\nexport function getWeekday (timestamp: VTimestamp): number {\n if (timestamp.hasDay) {\n const _ = Math.floor\n const k = timestamp.day\n const m = ((timestamp.month + 9) % MONTH_MAX) + 1\n const C = _(timestamp.year / 100)\n const Y = (timestamp.year % 100) - (timestamp.month <= 2 ? 1 : 0)\n\n return (((k + _(2.6 * m - 0.2) - 2 * C + Y + _(Y / 4) + _(C / 4)) % 7) + 7) % 7\n }\n\n return timestamp.weekday\n}\n\nexport function isLeapYear (year: number): boolean {\n return ((year % 4 === 0) && (year % 100 !== 0)) || (year % 400 === 0)\n}\n\nexport function daysInMonth (year: number, month: number) {\n return isLeapYear(year) ? DAYS_IN_MONTH_LEAP[month] : DAYS_IN_MONTH[month]\n}\n\nexport function copyTimestamp (timestamp: VTimestamp): VTimestamp {\n const { date, time, year, month, day, weekday, hour, minute, hasDay, hasTime, past, present, future } = timestamp\n\n return { date, time, year, month, day, weekday, hour, minute, hasDay, hasTime, past, present, future }\n}\n\nexport function padNumber (x: number, length: number): string {\n let padded = String(x)\n while (padded.length < length) {\n padded = '0' + padded\n }\n\n return padded\n}\n\nexport function getDate (timestamp: VTimestamp): string {\n let str = `${padNumber(timestamp.year, 4)}-${padNumber(timestamp.month, 2)}`\n\n if (timestamp.hasDay) str += `-${padNumber(timestamp.day, 2)}`\n\n return str\n}\n\nexport function getTime (timestamp: VTimestamp): string {\n if (!timestamp.hasTime) {\n return ''\n }\n\n return `${padNumber(timestamp.hour, 2)}:${padNumber(timestamp.minute, 2)}`\n}\n\nexport function nextMinutes (timestamp: VTimestamp, minutes: number): VTimestamp {\n timestamp.minute += minutes\n while (timestamp.minute > MINUTES_IN_HOUR) {\n timestamp.minute -= MINUTES_IN_HOUR\n timestamp.hour++\n if (timestamp.hour >= HOURS_IN_DAY) {\n nextDay(timestamp)\n timestamp.hour = FIRST_HOUR\n }\n }\n\n return timestamp\n}\n\nexport function nextDay (timestamp: VTimestamp): VTimestamp {\n timestamp.day++\n timestamp.weekday = (timestamp.weekday + 1) % DAYS_IN_WEEK\n if (timestamp.day > DAYS_IN_MONTH_MIN && timestamp.day > daysInMonth(timestamp.year, timestamp.month)) {\n timestamp.day = DAY_MIN\n timestamp.month++\n if (timestamp.month > MONTH_MAX) {\n timestamp.month = MONTH_MIN\n timestamp.year++\n }\n }\n\n return timestamp\n}\n\nexport function prevDay (timestamp: VTimestamp): VTimestamp {\n timestamp.day--\n timestamp.weekday = (timestamp.weekday + 6) % DAYS_IN_WEEK\n if (timestamp.day < DAY_MIN) {\n timestamp.month--\n if (timestamp.month < MONTH_MIN) {\n timestamp.year--\n timestamp.month = MONTH_MAX\n }\n timestamp.day = daysInMonth(timestamp.year, timestamp.month)\n }\n\n return timestamp\n}\n\nexport function relativeDays (\n timestamp: VTimestamp,\n mover: VTimestampOperation = nextDay,\n days = 1\n): VTimestamp {\n while (--days >= 0) mover(timestamp)\n return timestamp\n}\n\nexport function findWeekday (timestamp: VTimestamp, weekday: number,\n mover: VTimestampOperation = nextDay, maxDays = 6): VTimestamp {\n while (timestamp.weekday !== weekday && --maxDays >= 0) mover(timestamp)\n\n return timestamp\n}\n\nexport function getWeekdaySkips (weekdays: number[]): number[] {\n const skips: number[] = [1, 1, 1, 1, 1, 1, 1]\n const filled: number[] = [0, 0, 0, 0, 0, 0, 0]\n for (let i = 0; i < weekdays.length; i++) {\n filled[weekdays[i]] = 1\n }\n for (let k = 0; k < DAYS_IN_WEEK; k++) {\n let skip = 1\n for (let j = 1; j < DAYS_IN_WEEK; j++) {\n const next = (k + j) % DAYS_IN_WEEK\n if (filled[next]) {\n break\n }\n skip++\n }\n skips[k] = filled[k] * skip\n }\n\n return skips\n}\n\nexport function createDayList (\n start: VTimestamp,\n end: VTimestamp,\n now: VTimestamp,\n weekdaySkips: number[],\n max = 42,\n min = 0\n): VTimestamp[] {\n const stop = getDayIdentifier(end)\n const days: VTimestamp[] = []\n let current = copyTimestamp(start)\n let currentIdentifier = 0\n let stopped = currentIdentifier === stop\n\n if (stop < getDayIdentifier(start)) {\n throw new Error('End date is earlier than start date.')\n }\n\n while ((!stopped || days.length < min) && days.length < max) {\n currentIdentifier = getDayIdentifier(current)\n stopped = stopped || currentIdentifier === stop\n if (weekdaySkips[current.weekday] === 0) {\n current = nextDay(current)\n continue\n }\n const day = copyTimestamp(current)\n updateFormatted(day)\n updateRelative(day, now)\n days.push(day)\n current = relativeDays(current, nextDay, weekdaySkips[current.weekday])\n }\n\n if (!days.length) throw new Error('No dates found using specified start date, end date, and weekdays.')\n\n return days\n}\n\nexport function createIntervalList (timestamp: VTimestamp, first: number,\n minutes: number, count: number, now?: VTimestamp): VTimestamp[] {\n const intervals: VTimestamp[] = []\n\n for (let i = 0; i < count; i++) {\n const mins = (first + i) * minutes\n const int = copyTimestamp(timestamp)\n intervals.push(updateMinutes(int, mins, now))\n }\n\n return intervals\n}\n\nexport function createNativeLocaleFormatter (locale: string, getOptions: VTimestampFormatOptions): VTimestampFormatter {\n const emptyFormatter: VTimestampFormatter = (_t, _s) => ''\n\n if (typeof Intl === 'undefined' || typeof Intl.DateTimeFormat === 'undefined') {\n return emptyFormatter\n }\n\n return (timestamp, short) => {\n try {\n const intlFormatter = new Intl.DateTimeFormat(locale || undefined, getOptions(timestamp, short))\n const time = `${padNumber(timestamp.hour, 2)}:${padNumber(timestamp.minute, 2)}`\n const date = timestamp.date\n return intlFormatter.format(new Date(`${date}T${time}:00+00:00`))\n } catch (e) {\n return ''\n }\n }\n}\n","// extracted by mini-css-extract-plugin","// Styles\nimport './VCard.sass'\n\n// Extensions\nimport VSheet from '../VSheet'\n\n// Mixins\nimport Loadable from '../../mixins/loadable'\nimport Routable from '../../mixins/routable'\n\n// Helpers\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\n\n/* @vue/component */\nexport default mixins(\n Loadable,\n Routable,\n VSheet\n).extend({\n name: 'v-card',\n\n props: {\n flat: Boolean,\n hover: Boolean,\n img: String,\n link: Boolean,\n loaderHeight: {\n type: [Number, String],\n default: 4,\n },\n outlined: Boolean,\n raised: Boolean,\n shaped: Boolean,\n },\n\n computed: {\n classes (): object {\n return {\n 'v-card': true,\n ...Routable.options.computed.classes.call(this),\n 'v-card--flat': this.flat,\n 'v-card--hover': this.hover,\n 'v-card--link': this.isClickable,\n 'v-card--loading': this.loading,\n 'v-card--disabled': this.loading || this.disabled,\n 'v-card--outlined': this.outlined,\n 'v-card--raised': this.raised,\n 'v-card--shaped': this.shaped,\n ...VSheet.options.computed.classes.call(this),\n }\n },\n styles (): object {\n const style: Dictionary<string> = {\n ...VSheet.options.computed.styles.call(this),\n }\n\n if (this.img) {\n style.background = `url(\"${this.img}\") center center / cover no-repeat`\n }\n\n return style\n },\n },\n\n methods: {\n genProgress () {\n const render = Loadable.options.methods.genProgress.call(this)\n\n if (!render) return null\n\n return this.$createElement('div', {\n staticClass: 'v-card__progress',\n }, [render])\n },\n },\n\n render (h): VNode {\n const { tag, data } = this.generateRouteLink()\n\n data.style = this.styles\n\n if (this.isClickable) {\n data.attrs = data.attrs || {}\n data.attrs.tabindex = 0\n }\n\n return h(tag, this.setBackgroundColor(this.color, data), [\n this.genProgress(),\n this.$slots.default,\n ])\n },\n})\n","import VCard from './VCard'\nimport { createSimpleFunctional } from '../../util/helpers'\n\nconst VCardActions = createSimpleFunctional('v-card__actions')\nconst VCardSubtitle = createSimpleFunctional('v-card__subtitle')\nconst VCardText = createSimpleFunctional('v-card__text')\nconst VCardTitle = createSimpleFunctional('v-card__title')\n\nexport {\n VCard,\n VCardActions,\n VCardSubtitle,\n VCardText,\n VCardTitle,\n}\n\nexport default {\n $_vuetify_subcomponents: {\n VCard,\n VCardActions,\n VCardSubtitle,\n VCardText,\n VCardTitle,\n },\n}\n","// extracted by mini-css-extract-plugin","// Styles\nimport './VCarousel.sass'\n\n// Extensions\nimport VWindow from '../VWindow/VWindow'\n\n// Components\nimport VBtn from '../VBtn'\nimport VIcon from '../VIcon'\nimport VProgressLinear from '../VProgressLinear'\n\n// Mixins\n// TODO: Move this into core components v2.0\nimport ButtonGroup from '../../mixins/button-group'\n\n// Utilities\nimport { convertToUnit } from '../../util/helpers'\nimport { breaking } from '../../util/console'\n\n// Types\nimport { VNode } from 'vue'\nimport { PropValidator } from 'vue/types/options'\n\nexport default VWindow.extend({\n name: 'v-carousel',\n\n props: {\n continuous: {\n type: Boolean,\n default: true,\n },\n cycle: Boolean,\n delimiterIcon: {\n type: String,\n default: '$delimiter',\n },\n height: {\n type: [Number, String],\n default: 500,\n },\n hideDelimiters: Boolean,\n hideDelimiterBackground: Boolean,\n interval: {\n type: [Number, String],\n default: 6000,\n validator: (value: string | number) => value > 0,\n },\n mandatory: {\n type: Boolean,\n default: true,\n },\n progress: Boolean,\n progressColor: String,\n showArrows: {\n type: Boolean,\n default: true,\n },\n verticalDelimiters: {\n type: String,\n default: undefined,\n } as PropValidator<'' | 'left' | 'right'>,\n },\n\n data () {\n return {\n internalHeight: this.height,\n slideTimeout: undefined as number | undefined,\n }\n },\n\n computed: {\n classes (): object {\n return {\n ...VWindow.options.computed.classes.call(this),\n 'v-carousel': true,\n 'v-carousel--hide-delimiter-background': this.hideDelimiterBackground,\n 'v-carousel--vertical-delimiters': this.isVertical,\n }\n },\n isDark (): boolean {\n return this.dark || !this.light\n },\n isVertical (): boolean {\n return this.verticalDelimiters != null\n },\n },\n\n watch: {\n internalValue: 'restartTimeout',\n interval: 'restartTimeout',\n height (val, oldVal) {\n if (val === oldVal || !val) return\n this.internalHeight = val\n },\n cycle (val) {\n if (val) {\n this.restartTimeout()\n } else {\n clearTimeout(this.slideTimeout)\n this.slideTimeout = undefined\n }\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('hide-controls')) {\n breaking('hide-controls', ':show-arrows=\"false\"', this)\n }\n },\n\n mounted () {\n this.startTimeout()\n },\n\n methods: {\n genControlIcons () {\n if (this.isVertical) return null\n\n return VWindow.options.methods.genControlIcons.call(this)\n },\n genDelimiters (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-carousel__controls',\n style: {\n left: this.verticalDelimiters === 'left' && this.isVertical ? 0 : 'auto',\n right: this.verticalDelimiters === 'right' ? 0 : 'auto',\n },\n }, [this.genItems()])\n },\n genItems (): VNode {\n const length = this.items.length\n const children = []\n\n for (let i = 0; i < length; i++) {\n const child = this.$createElement(VBtn, {\n staticClass: 'v-carousel__controls__item',\n attrs: {\n 'aria-label': this.$vuetify.lang.t('$vuetify.carousel.ariaLabel.delimiter', i + 1, length),\n },\n props: {\n icon: true,\n small: true,\n value: this.getValue(this.items[i], i),\n },\n }, [\n this.$createElement(VIcon, {\n props: { size: 18 },\n }, this.delimiterIcon),\n ])\n\n children.push(child)\n }\n\n return this.$createElement(ButtonGroup, {\n props: {\n value: this.internalValue,\n mandatory: this.mandatory,\n },\n on: {\n change: (val: any) => {\n this.internalValue = val\n },\n },\n }, children)\n },\n genProgress () {\n return this.$createElement(VProgressLinear, {\n staticClass: 'v-carousel__progress',\n props: {\n color: this.progressColor,\n value: (this.internalIndex + 1) / this.items.length * 100,\n },\n })\n },\n restartTimeout () {\n this.slideTimeout && clearTimeout(this.slideTimeout)\n this.slideTimeout = undefined\n\n window.requestAnimationFrame(this.startTimeout)\n },\n startTimeout () {\n if (!this.cycle) return\n\n this.slideTimeout = window.setTimeout(this.next, +this.interval > 0 ? +this.interval : 6000)\n },\n },\n\n render (h): VNode {\n const render = VWindow.options.render.call(this, h)\n\n render.data!.style = `height: ${convertToUnit(this.height)};`\n\n /* istanbul ignore else */\n if (!this.hideDelimiters) {\n render.children!.push(this.genDelimiters())\n }\n\n /* istanbul ignore else */\n if (this.progress || this.progressColor) {\n render.children!.push(this.genProgress())\n }\n\n return render\n },\n})\n","// Extensions\nimport VWindowItem from '../VWindow/VWindowItem'\n\n// Components\nimport { VImg } from '../VImg'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport Routable from '../../mixins/routable'\n\n// Types\nconst baseMixins = mixins(\n VWindowItem,\n Routable\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-carousel-item',\n\n inheritAttrs: false,\n\n methods: {\n genDefaultSlot () {\n return [\n this.$createElement(VImg, {\n staticClass: 'v-carousel__item',\n props: {\n ...this.$attrs,\n height: this.windowGroup.internalHeight,\n },\n on: this.$listeners,\n }, [\n this.$slots.default,\n this.$createElement('template', {\n slot: 'placeholder',\n }, this.$slots.placeholder),\n ]),\n ]\n },\n genWindowItem () {\n const { tag, data } = this.generateRouteLink()\n\n data.staticClass = 'v-window-item'\n data.directives!.push({\n name: 'show',\n value: this.isActive,\n })\n\n return this.$createElement(tag, data, this.showLazyContent(this.genDefaultSlot()))\n },\n },\n})\n","import VCarousel from './VCarousel'\nimport VCarouselItem from './VCarouselItem'\n\nexport { VCarousel, VCarouselItem }\n\nexport default {\n $_vuetify_subcomponents: {\n VCarousel,\n VCarouselItem,\n },\n}\n","// extracted by mini-css-extract-plugin","// Styles\nimport './VCheckbox.sass'\nimport '../../styles/components/_selection-controls.sass'\n\n// Components\nimport VIcon from '../VIcon'\nimport VInput from '../VInput'\n\n// Mixins\nimport Selectable from '../../mixins/selectable'\n\n/* @vue/component */\nexport default Selectable.extend({\n name: 'v-checkbox',\n\n props: {\n indeterminate: Boolean,\n indeterminateIcon: {\n type: String,\n default: '$checkboxIndeterminate',\n },\n offIcon: {\n type: String,\n default: '$checkboxOff',\n },\n onIcon: {\n type: String,\n default: '$checkboxOn',\n },\n },\n\n data () {\n return {\n inputIndeterminate: this.indeterminate,\n }\n },\n\n computed: {\n classes (): object {\n return {\n ...VInput.options.computed.classes.call(this),\n 'v-input--selection-controls': true,\n 'v-input--checkbox': true,\n 'v-input--indeterminate': this.inputIndeterminate,\n }\n },\n computedIcon (): string {\n if (this.inputIndeterminate) {\n return this.indeterminateIcon\n } else if (this.isActive) {\n return this.onIcon\n } else {\n return this.offIcon\n }\n },\n // Do not return undefined if disabled,\n // according to spec, should still show\n // a color when disabled and active\n validationState (): string | undefined {\n if (this.disabled && !this.inputIndeterminate) return undefined\n if (this.hasError && this.shouldValidate) return 'error'\n if (this.hasSuccess) return 'success'\n if (this.hasColor !== null) return this.computedColor\n return undefined\n },\n },\n\n watch: {\n indeterminate (val) {\n // https://github.com/vuetifyjs/vuetify/issues/8270\n this.$nextTick(() => (this.inputIndeterminate = val))\n },\n inputIndeterminate (val) {\n this.$emit('update:indeterminate', val)\n },\n isActive () {\n if (!this.indeterminate) return\n this.inputIndeterminate = false\n },\n },\n\n methods: {\n genCheckbox () {\n return this.$createElement('div', {\n staticClass: 'v-input--selection-controls__input',\n }, [\n this.genInput('checkbox', {\n ...this.attrs$,\n 'aria-checked': this.inputIndeterminate\n ? 'mixed'\n : this.isActive.toString(),\n }),\n this.genRipple(this.setTextColor(this.validationState)),\n this.$createElement(VIcon, this.setTextColor(this.validationState, {\n props: {\n dense: this.dense,\n dark: this.dark,\n light: this.light,\n },\n }), this.computedIcon),\n ])\n },\n genDefaultSlot () {\n return [\n this.genCheckbox(),\n this.genLabel(),\n ]\n },\n },\n})\n","// extracted by mini-css-extract-plugin","import './VSimpleCheckbox.sass'\n\nimport ripple from '../../directives/ripple'\n\nimport Vue, { VNode, VNodeDirective } from 'vue'\nimport { VIcon } from '../VIcon'\n\nimport Colorable from '../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\nimport { wrapInArray } from '../../util/helpers'\n\nexport default Vue.extend({\n name: 'v-simple-checkbox',\n\n functional: true,\n\n directives: {\n ripple,\n },\n\n props: {\n ...Colorable.options.props,\n ...Themeable.options.props,\n disabled: Boolean,\n ripple: {\n type: Boolean,\n default: true,\n },\n value: Boolean,\n indeterminate: Boolean,\n indeterminateIcon: {\n type: String,\n default: '$checkboxIndeterminate',\n },\n onIcon: {\n type: String,\n default: '$checkboxOn',\n },\n offIcon: {\n type: String,\n default: '$checkboxOff',\n },\n },\n\n render (h, { props, data }): VNode {\n const children = []\n\n if (props.ripple && !props.disabled) {\n const ripple = h('div', Colorable.options.methods.setTextColor(props.color, {\n staticClass: 'v-input--selection-controls__ripple',\n directives: [{\n name: 'ripple',\n value: { center: true },\n }] as VNodeDirective[],\n }))\n\n children.push(ripple)\n }\n\n let icon = props.offIcon\n if (props.indeterminate) icon = props.indeterminateIcon\n else if (props.value) icon = props.onIcon\n\n children.push(h(VIcon, Colorable.options.methods.setTextColor(props.value && props.color, {\n props: {\n disabled: props.disabled,\n dark: props.dark,\n light: props.light,\n },\n }), icon))\n\n const classes = {\n 'v-simple-checkbox': true,\n 'v-simple-checkbox--disabled': props.disabled,\n }\n\n return h('div', {\n ...data,\n class: classes,\n on: {\n click: (e: MouseEvent) => {\n e.stopPropagation()\n\n if (data.on && data.on.input && !props.disabled) {\n wrapInArray(data.on.input).forEach(f => f(!props.value))\n }\n },\n },\n }, children)\n },\n})\n","import VCheckbox from './VCheckbox'\nimport VSimpleCheckbox from './VSimpleCheckbox'\n\nexport { VCheckbox, VSimpleCheckbox }\nexport default {\n $_vuetify_subcomponents: {\n VCheckbox,\n VSimpleCheckbox,\n },\n}\n","// extracted by mini-css-extract-plugin","// Styles\nimport './VChip.sass'\n\n// Types\nimport { VNode } from 'vue'\nimport mixins from '../../util/mixins'\n\n// Components\nimport { VExpandXTransition } from '../transitions'\nimport VIcon from '../VIcon'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport Themeable from '../../mixins/themeable'\nimport { factory as ToggleableFactory } from '../../mixins/toggleable'\nimport Routable from '../../mixins/routable'\nimport Sizeable from '../../mixins/sizeable'\n\n// Utilities\nimport { breaking } from '../../util/console'\n\n// Types\nimport { PropValidator } from 'vue/types/options'\n\n/* @vue/component */\nexport default mixins(\n Colorable,\n Sizeable,\n Routable,\n Themeable,\n GroupableFactory('chipGroup'),\n ToggleableFactory('inputValue')\n).extend({\n name: 'v-chip',\n\n props: {\n active: {\n type: Boolean,\n default: true,\n },\n activeClass: {\n type: String,\n default (): string | undefined {\n if (!this.chipGroup) return ''\n\n return this.chipGroup.activeClass\n },\n } as any as PropValidator<string>,\n close: Boolean,\n closeIcon: {\n type: String,\n default: '$delete',\n },\n disabled: Boolean,\n draggable: Boolean,\n filter: Boolean,\n filterIcon: {\n type: String,\n default: '$complete',\n },\n label: Boolean,\n link: Boolean,\n outlined: Boolean,\n pill: Boolean,\n tag: {\n type: String,\n default: 'span',\n },\n textColor: String,\n value: null as any as PropValidator<any>,\n },\n\n data: () => ({\n proxyClass: 'v-chip--active',\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-chip': true,\n ...Routable.options.computed.classes.call(this),\n 'v-chip--clickable': this.isClickable,\n 'v-chip--disabled': this.disabled,\n 'v-chip--draggable': this.draggable,\n 'v-chip--label': this.label,\n 'v-chip--link': this.isLink,\n 'v-chip--no-color': !this.color,\n 'v-chip--outlined': this.outlined,\n 'v-chip--pill': this.pill,\n 'v-chip--removable': this.hasClose,\n ...this.themeClasses,\n ...this.sizeableClasses,\n ...this.groupClasses,\n }\n },\n hasClose (): boolean {\n return Boolean(this.close)\n },\n isClickable (): boolean {\n return Boolean(\n Routable.options.computed.isClickable.call(this) ||\n this.chipGroup\n )\n },\n },\n\n created () {\n const breakingProps = [\n ['outline', 'outlined'],\n ['selected', 'input-value'],\n ['value', 'active'],\n ['@input', '@active.sync'],\n ]\n\n /* istanbul ignore next */\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n })\n },\n\n methods: {\n click (e: MouseEvent): void {\n this.$emit('click', e)\n\n this.chipGroup && this.toggle()\n },\n genFilter (): VNode {\n const children = []\n\n if (this.isActive) {\n children.push(\n this.$createElement(VIcon, {\n staticClass: 'v-chip__filter',\n props: { left: true },\n }, this.filterIcon)\n )\n }\n\n return this.$createElement(VExpandXTransition, children)\n },\n genClose (): VNode {\n return this.$createElement(VIcon, {\n staticClass: 'v-chip__close',\n props: {\n right: true,\n },\n on: {\n click: (e: Event) => {\n e.stopPropagation()\n\n this.$emit('click:close')\n this.$emit('update:active', false)\n },\n },\n }, this.closeIcon)\n },\n genContent (): VNode {\n return this.$createElement('span', {\n staticClass: 'v-chip__content',\n }, [\n this.filter && this.genFilter(),\n this.$slots.default,\n this.hasClose && this.genClose(),\n ])\n },\n },\n\n render (h): VNode {\n const children = [this.genContent()]\n let { tag, data } = this.generateRouteLink()\n\n data.attrs = {\n ...data.attrs,\n draggable: this.draggable ? 'true' : undefined,\n tabindex: this.chipGroup && !this.disabled ? 0 : data.attrs!.tabindex,\n }\n data.directives!.push({\n name: 'show',\n value: this.active,\n })\n data = this.setBackgroundColor(this.color, data)\n\n const color = this.textColor || (this.outlined && this.color)\n\n return h(tag, this.setTextColor(color, data), children)\n },\n})\n","import VChip from './VChip'\n\nexport { VChip }\nexport default VChip\n","// extracted by mini-css-extract-plugin","// Styles\nimport './VChipGroup.sass'\n\n// Extensions\nimport { BaseSlideGroup } from '../VSlideGroup/VSlideGroup'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n/* @vue/component */\nexport default mixins(\n BaseSlideGroup,\n Colorable\n).extend({\n name: 'v-chip-group',\n\n provide () {\n return {\n chipGroup: this,\n }\n },\n\n props: {\n column: Boolean,\n },\n\n computed: {\n classes () {\n return {\n ...BaseSlideGroup.options.computed.classes.call(this),\n 'v-chip-group': true,\n 'v-chip-group--column': this.column,\n }\n },\n },\n\n watch: {\n column (val) {\n if (val) this.scrollOffset = 0\n\n this.$nextTick(this.onResize)\n },\n },\n\n methods: {\n genData () {\n return this.setTextColor(this.color, {\n ...BaseSlideGroup.options.methods.genData.call(this),\n })\n },\n },\n})\n","import VChipGroup from './VChipGroup'\n\nexport { VChipGroup }\nexport default VChipGroup\n","// extracted by mini-css-extract-plugin","// Styles\nimport './VColorPicker.sass'\n\n// Components\nimport VSheet from '../VSheet/VSheet'\nimport VColorPickerPreview from './VColorPickerPreview'\nimport VColorPickerCanvas from './VColorPickerCanvas'\nimport VColorPickerEdit, { Mode, modes } from './VColorPickerEdit'\nimport VColorPickerSwatches from './VColorPickerSwatches'\n\n// Helpers\nimport { VColorPickerColor, parseColor, fromRGBA, extractColor, hasAlpha } from './util'\nimport mixins from '../../util/mixins'\nimport Themeable from '../../mixins/themeable'\n\n// Types\nimport { VNode } from 'vue'\nimport { PropValidator } from 'vue/types/options'\n\nexport default mixins(Themeable).extend({\n name: 'v-color-picker',\n\n props: {\n canvasHeight: {\n type: [String, Number],\n default: 150,\n },\n disabled: Boolean,\n dotSize: {\n type: [Number, String],\n default: 10,\n },\n flat: Boolean,\n hideCanvas: Boolean,\n hideInputs: Boolean,\n hideModeSwitch: Boolean,\n mode: {\n type: String,\n default: 'rgba',\n validator: (v: string) => Object.keys(modes).includes(v),\n },\n showSwatches: Boolean,\n swatches: Array as PropValidator<string[][]>,\n swatchesMaxHeight: {\n type: [Number, String],\n default: 150,\n },\n value: {\n type: [Object, String],\n },\n width: {\n type: [Number, String],\n default: 300,\n },\n },\n\n data: () => ({\n internalValue: fromRGBA({ r: 255, g: 0, b: 0, a: 1 }),\n }),\n\n computed: {\n hideAlpha (): boolean {\n return this.value && !hasAlpha(this.value)\n },\n },\n\n watch: {\n value: {\n handler (color: any) {\n this.updateColor(parseColor(color, this.internalValue))\n },\n immediate: true,\n },\n },\n\n methods: {\n updateColor (color: VColorPickerColor) {\n this.internalValue = color\n const value = extractColor(this.internalValue, this.value)\n\n if (value !== this.value) {\n this.$emit('input', value)\n this.$emit('update:color', this.internalValue)\n }\n },\n genCanvas (): VNode {\n return this.$createElement(VColorPickerCanvas, {\n props: {\n color: this.internalValue,\n disabled: this.disabled,\n dotSize: this.dotSize,\n width: this.width,\n height: this.canvasHeight,\n },\n on: {\n 'update:color': this.updateColor,\n },\n })\n },\n genControls (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-color-picker__controls',\n }, [\n this.genPreview(),\n !this.hideInputs && this.genEdit(),\n ])\n },\n genEdit (): VNode {\n return this.$createElement(VColorPickerEdit, {\n props: {\n color: this.internalValue,\n disabled: this.disabled,\n hideAlpha: this.hideAlpha,\n hideModeSwitch: this.hideModeSwitch,\n mode: this.mode,\n },\n on: {\n 'update:color': this.updateColor,\n 'update:mode': (v: Mode) => this.$emit('update:mode', v),\n },\n })\n },\n genPreview (): VNode {\n return this.$createElement(VColorPickerPreview, {\n props: {\n color: this.internalValue,\n disabled: this.disabled,\n hideAlpha: this.hideAlpha,\n },\n on: {\n 'update:color': this.updateColor,\n },\n })\n },\n genSwatches (): VNode {\n return this.$createElement(VColorPickerSwatches, {\n props: {\n dark: this.dark,\n light: this.light,\n swatches: this.swatches,\n color: this.internalValue,\n maxHeight: this.swatchesMaxHeight,\n },\n on: {\n 'update:color': this.updateColor,\n },\n })\n },\n },\n\n render (h): VNode {\n return h(VSheet, {\n staticClass: 'v-color-picker',\n class: {\n 'v-color-picker--flat': this.flat,\n ...this.themeClasses,\n },\n props: {\n maxWidth: this.width,\n },\n }, [\n !this.hideCanvas && this.genCanvas(),\n this.genControls(),\n this.showSwatches && this.genSwatches(),\n ])\n },\n})\n","// extracted by mini-css-extract-plugin","// Styles\nimport './VColorPickerCanvas.sass'\n\n// Helpers\nimport { clamp, convertToUnit } from '../../util/helpers'\nimport { fromHSVA, VColorPickerColor, fromRGBA } from './util'\n\n// Types\nimport Vue, { VNode } from 'vue'\nimport { PropValidator } from 'vue/types/options'\n\nexport default Vue.extend({\n name: 'v-color-picker-canvas',\n\n props: {\n color: {\n type: Object,\n default: () => fromRGBA({ r: 255, g: 0, b: 0, a: 1 }),\n } as PropValidator<VColorPickerColor>,\n disabled: Boolean,\n dotSize: {\n type: [Number, String],\n default: 10,\n },\n height: {\n type: [Number, String],\n default: 150,\n },\n width: {\n type: [Number, String],\n default: 300,\n },\n },\n\n data () {\n return {\n boundingRect: {\n width: 0,\n height: 0,\n left: 0,\n top: 0,\n } as ClientRect,\n }\n },\n\n computed: {\n dot (): { x: number, y: number} {\n if (!this.color) return { x: 0, y: 0 }\n\n return {\n x: this.color.hsva.s * parseInt(this.width, 10),\n y: (1 - this.color.hsva.v) * parseInt(this.height, 10),\n }\n },\n },\n\n watch: {\n 'color.hue': 'updateCanvas',\n },\n\n mounted () {\n this.updateCanvas()\n },\n\n methods: {\n emitColor (x: number, y: number) {\n const { left, top, width, height } = this.boundingRect\n\n this.$emit('update:color', fromHSVA({\n h: this.color.hue,\n s: clamp(x - left, 0, width) / width,\n v: 1 - clamp(y - top, 0, height) / height,\n a: this.color.alpha,\n }))\n },\n updateCanvas () {\n if (!this.color) return\n\n const canvas = this.$refs.canvas as HTMLCanvasElement\n const ctx = canvas.getContext('2d')\n\n if (!ctx) return\n\n const saturationGradient = ctx.createLinearGradient(0, 0, canvas.width, 0)\n saturationGradient.addColorStop(0, 'hsla(0, 0%, 100%, 1)') // white\n saturationGradient.addColorStop(1, `hsla(${this.color.hue}, 100%, 50%, 1)`)\n ctx.fillStyle = saturationGradient\n ctx.fillRect(0, 0, canvas.width, canvas.height)\n\n const valueGradient = ctx.createLinearGradient(0, 0, 0, canvas.height)\n valueGradient.addColorStop(0, 'hsla(0, 0%, 100%, 0)') // transparent\n valueGradient.addColorStop(1, 'hsla(0, 0%, 0%, 1)') // black\n ctx.fillStyle = valueGradient\n ctx.fillRect(0, 0, canvas.width, canvas.height)\n },\n handleClick (e: MouseEvent) {\n if (this.disabled) return\n\n this.boundingRect = this.$el.getBoundingClientRect()\n this.emitColor(e.clientX, e.clientY)\n },\n handleMouseDown (e: MouseEvent) {\n // To prevent selection while moving cursor\n e.preventDefault()\n\n if (this.disabled) return\n\n this.boundingRect = this.$el.getBoundingClientRect()\n\n window.addEventListener('mousemove', this.handleMouseMove)\n window.addEventListener('mouseup', this.handleMouseUp)\n },\n handleMouseMove (e: MouseEvent) {\n if (this.disabled) return\n\n this.emitColor(e.clientX, e.clientY)\n },\n handleMouseUp () {\n window.removeEventListener('mousemove', this.handleMouseMove)\n window.removeEventListener('mouseup', this.handleMouseUp)\n },\n genCanvas (): VNode {\n return this.$createElement('canvas', {\n ref: 'canvas',\n attrs: {\n width: this.width,\n height: this.height,\n },\n })\n },\n genDot (): VNode {\n const radius = parseInt(this.dotSize, 10) / 2\n const x = convertToUnit(this.dot.x - radius)\n const y = convertToUnit(this.dot.y - radius)\n\n return this.$createElement('div', {\n staticClass: 'v-color-picker__canvas-dot',\n class: {\n 'v-color-picker__canvas-dot--disabled': this.disabled,\n },\n style: {\n width: convertToUnit(this.dotSize),\n height: convertToUnit(this.dotSize),\n transform: `translate(${x}, ${y})`,\n },\n })\n },\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-color-picker__canvas',\n style: {\n width: convertToUnit(this.width),\n height: convertToUnit(this.height),\n },\n on: {\n click: this.handleClick,\n mousedown: this.handleMouseDown,\n },\n }, [\n this.genCanvas(),\n this.genDot(),\n ])\n },\n})\n","// extracted by mini-css-extract-plugin","// Styles\nimport './VColorPickerEdit.sass'\n\n// Components\nimport VBtn from '../VBtn'\nimport VIcon from '../VIcon'\n\n// Helpers\nimport { parseHex } from '../../util/colorUtils'\n\n// Types\nimport Vue, { VNode } from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport { VColorPickerColor, fromRGBA, fromHexa, fromHSLA } from './util'\n\ntype Input = [string, number, string]\n\nexport type Mode = {\n inputs?: Input[]\n from: Function\n}\n\nexport const modes = {\n rgba: {\n inputs: [\n ['r', 255, 'int'],\n ['g', 255, 'int'],\n ['b', 255, 'int'],\n ['a', 1, 'float'],\n ],\n from: fromRGBA,\n },\n hsla: {\n inputs: [\n ['h', 360, 'int'],\n ['s', 1, 'float'],\n ['l', 1, 'float'],\n ['a', 1, 'float'],\n ],\n from: fromHSLA,\n },\n hexa: {\n from: fromHexa,\n },\n} as { [key: string]: Mode }\n\nexport default Vue.extend({\n name: 'v-color-picker-edit',\n\n props: {\n color: Object as PropValidator<VColorPickerColor>,\n disabled: Boolean,\n hideAlpha: Boolean,\n hideModeSwitch: Boolean,\n mode: {\n type: String,\n default: 'rgba',\n validator: (v: string) => Object.keys(modes).includes(v),\n },\n },\n\n data () {\n return {\n modes,\n internalMode: this.mode,\n }\n },\n\n computed: {\n currentMode (): Mode {\n return this.modes[this.internalMode]\n },\n },\n\n watch: {\n mode (mode) {\n this.internalMode = mode\n },\n },\n\n created () {\n this.internalMode = this.mode\n },\n\n methods: {\n getValue (v: any, type: string) {\n if (type === 'float') return Math.round(v * 100) / 100\n else if (type === 'int') return Math.round(v)\n else return 0\n },\n parseValue (v: string, type: string) {\n if (type === 'float') return parseFloat(v)\n else if (type === 'int') return parseInt(v, 10) || 0\n else return 0\n },\n changeMode () {\n const modes = Object.keys(this.modes)\n const index = modes.indexOf(this.internalMode)\n const newMode = modes[(index + 1) % modes.length]\n this.internalMode = newMode\n this.$emit('update:mode', newMode)\n },\n genInput (target: string, attrs: any, value: any, on: any): VNode {\n return this.$createElement('div', {\n staticClass: 'v-color-picker__input',\n }, [\n this.$createElement('input', {\n key: target,\n attrs,\n domProps: {\n value,\n },\n on,\n }),\n this.$createElement('span', target.toUpperCase()),\n ])\n },\n genInputs (): VNode[] | VNode {\n switch (this.internalMode) {\n case 'hexa': {\n const hex = this.color.hexa\n const value = this.hideAlpha && hex.endsWith('FF') ? hex.substr(0, 7) : hex\n return this.genInput(\n 'hex',\n {\n maxlength: this.hideAlpha ? 7 : 9,\n disabled: this.disabled,\n },\n value,\n {\n change: (e: Event) => {\n const el = e.target as HTMLInputElement\n this.$emit('update:color', this.currentMode.from(parseHex(el.value)))\n },\n }\n )\n }\n default: {\n const inputs = this.hideAlpha ? this.currentMode.inputs!.slice(0, -1) : this.currentMode.inputs!\n return inputs.map(([target, max, type]) => {\n const value = this.color[this.internalMode as keyof VColorPickerColor] as any\n return this.genInput(\n target,\n {\n type: 'number',\n min: 0,\n max,\n step: type === 'float' ? '0.01' : type === 'int' ? '1' : undefined,\n disabled: this.disabled,\n },\n this.getValue(value[target], type),\n {\n input: (e: Event) => {\n const el = e.target as HTMLInputElement\n const newVal = this.parseValue(el.value || '0', type)\n\n this.$emit('update:color', this.currentMode.from(\n Object.assign({}, value, { [target]: newVal }),\n this.color.alpha\n ))\n },\n }\n )\n })\n }\n }\n },\n genSwitch (): VNode {\n return this.$createElement(VBtn, {\n props: {\n small: true,\n icon: true,\n disabled: this.disabled,\n },\n on: {\n click: this.changeMode,\n },\n }, [\n this.$createElement(VIcon, '$unfold'),\n ])\n },\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-color-picker__edit',\n }, [\n this.genInputs(),\n !this.hideModeSwitch && this.genSwitch(),\n ])\n },\n})\n","// extracted by mini-css-extract-plugin","// Styles\nimport './VColorPickerPreview.sass'\n\n// Components\nimport VSlider from '../VSlider/VSlider'\n\n// Utilities\nimport { RGBtoCSS, RGBAtoCSS } from '../../util/colorUtils'\n\n// Types\nimport Vue, { VNode, VNodeData } from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport { VColorPickerColor, fromHSVA } from './util'\n\nexport default Vue.extend({\n name: 'v-color-picker-preview',\n\n props: {\n color: Object as PropValidator<VColorPickerColor>,\n disabled: Boolean,\n hideAlpha: Boolean,\n },\n\n methods: {\n genAlpha (): VNode {\n return this.genTrack({\n staticClass: 'v-color-picker__alpha',\n props: {\n thumbColor: 'grey lighten-2',\n hideDetails: true,\n value: this.color.alpha,\n step: 0,\n min: 0,\n max: 1,\n },\n style: {\n backgroundImage: !this.disabled\n ? `linear-gradient(to right, transparent, ${RGBtoCSS(this.color.rgba)})`\n : undefined,\n },\n on: {\n input: (val: number) => this.color.alpha !== val && this.$emit('update:color', fromHSVA({ ...this.color.hsva, a: val })),\n },\n })\n },\n genSliders (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-color-picker__sliders',\n }, [\n this.genHue(),\n !this.hideAlpha && this.genAlpha(),\n ])\n },\n genDot (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-color-picker__dot',\n }, [\n this.$createElement('div', {\n style: {\n background: RGBAtoCSS(this.color.rgba),\n },\n }),\n ])\n },\n genHue (): VNode {\n return this.genTrack({\n staticClass: 'v-color-picker__hue',\n props: {\n thumbColor: 'grey lighten-2',\n hideDetails: true,\n value: this.color.hue,\n step: 0,\n min: 0,\n max: 360,\n },\n on: {\n input: (val: number) => this.color.hue !== val && this.$emit('update:color', fromHSVA({ ...this.color.hsva, h: val })),\n },\n })\n },\n genTrack (options: VNodeData): VNode {\n return this.$createElement(VSlider, {\n class: 'v-color-picker__track',\n ...options,\n props: {\n disabled: this.disabled,\n ...options.props,\n },\n })\n },\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-color-picker__preview',\n class: {\n 'v-color-picker__preview--hide-alpha': this.hideAlpha,\n },\n }, [\n this.genDot(),\n this.genSliders(),\n ])\n },\n})\n","// extracted by mini-css-extract-plugin","// Styles\nimport './VColorPickerSwatches.sass'\n\n// Components\nimport VIcon from '../VIcon'\n\n// Helpers\nimport colors from '../../util/colors'\nimport { VColorPickerColor, fromHex, parseColor } from './util'\nimport { convertToUnit, deepEqual } from '../../util/helpers'\nimport mixins from '../../util/mixins'\nimport Themeable from '../../mixins/themeable'\n\n// Types\nimport { VNode } from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport { contrastRatio } from '../../util/colorUtils'\n\nfunction parseDefaultColors (colors: Record<string, Record<string, string>>) {\n return Object.keys(colors).map(key => {\n const color = colors[key]\n return color.base ? [\n color.base,\n color.darken4,\n color.darken3,\n color.darken2,\n color.darken1,\n color.lighten1,\n color.lighten2,\n color.lighten3,\n color.lighten4,\n color.lighten5,\n ] : [\n color.black,\n color.white,\n color.transparent,\n ]\n })\n}\n\nconst white = fromHex('#FFFFFF').rgba\nconst black = fromHex('#000000').rgba\n\nexport default mixins(Themeable).extend({\n name: 'v-color-picker-swatches',\n\n props: {\n swatches: {\n type: Array,\n default: () => parseDefaultColors(colors),\n } as PropValidator<string[][]>,\n color: Object as PropValidator<VColorPickerColor>,\n maxWidth: [Number, String],\n maxHeight: [Number, String],\n },\n\n methods: {\n genColor (color: string) {\n const content = this.$createElement('div', {\n style: {\n background: color,\n },\n }, [\n deepEqual(this.color, parseColor(color, null)) && this.$createElement(VIcon, {\n props: {\n small: true,\n dark: contrastRatio(this.color.rgba, white) > 2 && this.color.alpha > 0.5,\n light: contrastRatio(this.color.rgba, black) > 2 && this.color.alpha > 0.5,\n },\n }, '$success'),\n ])\n\n return this.$createElement('div', {\n staticClass: 'v-color-picker__color',\n on: {\n // TODO: Less hacky way of catching transparent\n click: () => this.$emit('update:color', fromHex(color === 'transparent' ? '#00000000' : color)),\n },\n }, [content])\n },\n genSwatches () {\n return this.swatches.map(swatch => {\n const colors = swatch.map(this.genColor)\n\n return this.$createElement('div', {\n staticClass: 'v-color-picker__swatch',\n }, colors)\n })\n },\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-color-picker__swatches',\n style: {\n maxWidth: convertToUnit(this.maxWidth),\n maxHeight: convertToUnit(this.maxHeight),\n },\n }, [\n this.$createElement('div', this.genSwatches()),\n ])\n },\n})\n","import VColorPicker from './VColorPicker'\nimport VColorPickerSwatches from './VColorPickerSwatches'\nimport VColorPickerCanvas from './VColorPickerCanvas'\n\nexport { VColorPicker, VColorPickerSwatches, VColorPickerCanvas }\nexport default VColorPicker\n","// Utilities\nimport {\n HSVA,\n HSVAtoRGBA,\n HSVAtoHex,\n RGBA,\n Hex,\n RGBAtoHSVA,\n HexToHSVA,\n HSLA,\n HSVAtoHSLA,\n RGBAtoHex,\n HSLAtoHSVA,\n parseHex,\n Hexa,\n} from '../../../util/colorUtils'\n\nexport interface VColorPickerColor {\n alpha: number\n hex: Hex\n hexa: Hexa\n hsla: HSLA\n hsva: HSVA\n hue: number\n rgba: RGBA\n}\n\nexport function fromHSVA (hsva: HSVA): VColorPickerColor {\n hsva = { ...hsva }\n const hexa = HSVAtoHex(hsva)\n const hsla = HSVAtoHSLA(hsva)\n const rgba = HSVAtoRGBA(hsva)\n return {\n alpha: hsva.a,\n hex: hexa.substr(0, 7),\n hexa,\n hsla,\n hsva,\n hue: hsva.h,\n rgba,\n }\n}\n\nexport function fromHSLA (hsla: HSLA): VColorPickerColor {\n const hsva = HSLAtoHSVA(hsla)\n const hexa = HSVAtoHex(hsva)\n const rgba = HSVAtoRGBA(hsva)\n return {\n alpha: hsva.a,\n hex: hexa.substr(0, 7),\n hexa,\n hsla,\n hsva,\n hue: hsva.h,\n rgba,\n }\n}\n\nexport function fromRGBA (rgba: RGBA): VColorPickerColor {\n const hsva = RGBAtoHSVA(rgba)\n const hexa = RGBAtoHex(rgba)\n const hsla = HSVAtoHSLA(hsva)\n return {\n alpha: hsva.a,\n hex: hexa.substr(0, 7),\n hexa,\n hsla,\n hsva,\n hue: hsva.h,\n rgba,\n }\n}\n\nexport function fromHexa (hexa: Hexa): VColorPickerColor {\n const hsva = HexToHSVA(hexa)\n const hsla = HSVAtoHSLA(hsva)\n const rgba = HSVAtoRGBA(hsva)\n return {\n alpha: hsva.a,\n hex: hexa.substr(0, 7),\n hexa,\n hsla,\n hsva,\n hue: hsva.h,\n rgba,\n }\n}\n\nexport function fromHex (hex: Hex): VColorPickerColor {\n return fromHexa(parseHex(hex))\n}\n\nfunction has (obj: object, key: string[]) {\n return key.every(k => obj.hasOwnProperty(k))\n}\n\nexport function parseColor (color: any, oldColor: VColorPickerColor | null) {\n if (!color) return fromRGBA({ r: 255, g: 0, b: 0, a: 1 })\n\n if (typeof color === 'string') {\n if (color === 'transparent') return fromHexa('#00000000')\n\n const hex = parseHex(color)\n\n if (oldColor && hex === oldColor.hexa) return oldColor\n else return fromHexa(hex)\n }\n\n if (typeof color === 'object') {\n if (color.hasOwnProperty('alpha')) return color\n\n const a = color.hasOwnProperty('a') ? parseFloat(color.a) : 1\n\n if (has(color, ['r', 'g', 'b'])) {\n if (oldColor && color === oldColor.rgba) return oldColor\n else return fromRGBA({ ...color, a })\n } else if (has(color, ['h', 's', 'l'])) {\n if (oldColor && color === oldColor.hsla) return oldColor\n else return fromHSLA({ ...color, a })\n } else if (has(color, ['h', 's', 'v'])) {\n if (oldColor && color === oldColor.hsva) return oldColor\n else return fromHSVA({ ...color, a })\n }\n }\n\n return fromRGBA({ r: 255, g: 0, b: 0, a: 1 })\n}\n\nexport function extractColor (color: VColorPickerColor, input: any) {\n if (input == null) return color\n\n if (typeof input === 'string') {\n return input.length === 7 ? color.hex : color.hexa\n }\n\n if (typeof input === 'object') {\n if (has(input, ['r', 'g', 'b'])) return color.rgba\n else if (has(input, ['h', 's', 'l'])) return color.hsla\n else if (has(input, ['h', 's', 'v'])) return color.hsva\n }\n\n return color\n}\n\nexport function hasAlpha (color: any) {\n if (!color) return false\n\n if (typeof color === 'string') {\n return color.length > 7\n }\n\n if (typeof color === 'object') {\n return has(color, ['a'])\n }\n\n return false\n}\n","// Styles\nimport '../VAutocomplete/VAutocomplete.sass'\n\n// Extensions\nimport VSelect from '../VSelect/VSelect'\nimport VAutocomplete from '../VAutocomplete/VAutocomplete'\n\n// Utils\nimport { keyCodes } from '../../util/helpers'\n\n// Types\nimport { PropValidator } from 'vue/types/options'\n\n/* @vue/component */\nexport default VAutocomplete.extend({\n name: 'v-combobox',\n\n props: {\n delimiters: {\n type: Array,\n default: () => ([]),\n } as PropValidator<any[]>,\n returnObject: {\n type: Boolean,\n default: true,\n },\n },\n\n data: () => ({\n editingIndex: -1,\n }),\n\n computed: {\n counterValue (): number {\n return this.multiple\n ? this.selectedItems.length\n : (this.internalSearch || '').toString().length\n },\n hasSlot (): boolean {\n return VSelect.options.computed.hasSlot.call(this) || this.multiple\n },\n isAnyValueAllowed (): boolean {\n return true\n },\n menuCanShow (): boolean {\n if (!this.isFocused) return false\n\n return this.hasDisplayedItems ||\n (!!this.$slots['no-data'] && !this.hideNoData)\n },\n },\n\n methods: {\n onInternalSearchChanged (val: any) {\n if (\n val &&\n this.multiple &&\n this.delimiters.length\n ) {\n const delimiter = this.delimiters.find(d => val.endsWith(d))\n if (delimiter != null) {\n this.internalSearch = val.slice(0, val.length - delimiter.length)\n this.updateTags()\n }\n }\n\n this.updateMenuDimensions()\n },\n genInput () {\n const input = VAutocomplete.options.methods.genInput.call(this)\n\n input.data!.on!.paste = this.onPaste\n\n return input\n },\n genChipSelection (item: object, index: number) {\n const chip = VSelect.options.methods.genChipSelection.call(this, item, index)\n\n // Allow user to update an existing value\n if (this.multiple) {\n chip.componentOptions!.listeners! = {\n ...chip.componentOptions!.listeners!,\n dblclick: () => {\n this.editingIndex = index\n this.internalSearch = this.getText(item)\n this.selectedIndex = -1\n },\n }\n }\n\n return chip\n },\n onChipInput (item: object) {\n VSelect.options.methods.onChipInput.call(this, item)\n\n this.editingIndex = -1\n },\n // Requires a manual definition\n // to overwrite removal in v-autocomplete\n onEnterDown (e: Event) {\n e.preventDefault()\n\n this.$nextTick(() => {\n // If has menu index, let v-select-list handle\n if (this.getMenuIndex() > -1) return\n this.updateSelf()\n })\n },\n onFilteredItemsChanged (val: never[], oldVal: never[]) {\n if (!this.autoSelectFirst) return\n\n VAutocomplete.options.methods.onFilteredItemsChanged.call(this, val, oldVal)\n },\n onKeyDown (e: KeyboardEvent) {\n const keyCode = e.keyCode\n\n VSelect.options.methods.onKeyDown.call(this, e)\n\n // If user is at selection index of 0\n // create a new tag\n if (this.multiple &&\n keyCode === keyCodes.left &&\n this.$refs.input.selectionStart === 0\n ) {\n this.updateSelf()\n } else if (keyCode === keyCodes.enter) {\n this.onEnterDown(e)\n }\n\n // The ordering is important here\n // allows new value to be updated\n // and then moves the index to the\n // proper location\n this.changeSelectedIndex(keyCode)\n },\n onTabDown (e: KeyboardEvent) {\n // When adding tags, if searching and\n // there is not a filtered options,\n // add the value to the tags list\n if (this.multiple &&\n this.internalSearch &&\n this.getMenuIndex() === -1\n ) {\n e.preventDefault()\n e.stopPropagation()\n\n return this.updateTags()\n }\n\n VAutocomplete.options.methods.onTabDown.call(this, e)\n },\n selectItem (item: object) {\n // Currently only supports items:<string[]>\n if (this.editingIndex > -1) {\n this.updateEditing()\n } else {\n VAutocomplete.options.methods.selectItem.call(this, item)\n }\n },\n setSelectedItems () {\n if (this.internalValue == null ||\n this.internalValue === ''\n ) {\n this.selectedItems = []\n } else {\n this.selectedItems = this.multiple ? this.internalValue : [this.internalValue]\n }\n },\n setValue (value?: any) {\n VSelect.options.methods.setValue.call(this, value != null ? value : this.internalSearch)\n },\n updateEditing () {\n const value = this.internalValue.slice()\n value[this.editingIndex] = this.internalSearch\n\n this.setValue(value)\n\n this.editingIndex = -1\n },\n updateCombobox () {\n const isUsingSlot = Boolean(this.$scopedSlots.selection) || this.hasChips\n\n // If search is not dirty and is\n // using slot, do nothing\n if (isUsingSlot && !this.searchIsDirty) return\n\n // The internal search is not matching\n // the internal value, update the input\n if (this.internalSearch !== this.getText(this.internalValue)) this.setValue()\n\n // Reset search if using slot\n // to avoid a double input\n if (isUsingSlot) this.internalSearch = undefined\n },\n updateSelf () {\n this.multiple ? this.updateTags() : this.updateCombobox()\n },\n updateTags () {\n const menuIndex = this.getMenuIndex()\n\n // If the user is not searching\n // and no menu item is selected\n // do nothing\n if (menuIndex < 0 &&\n !this.searchIsDirty\n ) return\n\n if (this.editingIndex > -1) {\n return this.updateEditing()\n }\n\n const index = this.selectedItems.indexOf(this.internalSearch)\n // If it already exists, do nothing\n // this might need to change to bring\n // the duplicated item to the last entered\n if (index > -1) {\n const internalValue = this.internalValue.slice()\n internalValue.splice(index, 1)\n\n this.setValue(internalValue)\n }\n\n // If menu index is greater than 1\n // the selection is handled elsewhere\n // TODO: find out where\n if (menuIndex > -1) return (this.internalSearch = null)\n\n this.selectItem(this.internalSearch)\n this.internalSearch = null\n },\n onPaste (event: ClipboardEvent) {\n if (!this.multiple || this.searchIsDirty) return\n\n const pastedItemText = event.clipboardData!.getData('text/vnd.vuetify.autocomplete.item+plain')\n if (pastedItemText && this.findExistingIndex(pastedItemText as any) === -1) {\n event.preventDefault()\n VSelect.options.methods.selectItem.call(this, pastedItemText as any)\n }\n },\n },\n})\n","import VCombobox from './VCombobox'\n\nexport { VCombobox }\nexport default VCombobox\n","// extracted by mini-css-extract-plugin","// Styles\nimport './VContent.sass'\n\n// Mixins\nimport SSRBootable from '../../mixins/ssr-bootable'\n\n// Types\nimport { VNode } from 'vue'\n\n/* @vue/component */\nexport default SSRBootable.extend({\n name: 'v-content',\n\n props: {\n tag: {\n type: String,\n default: 'main',\n },\n },\n\n computed: {\n styles (): object {\n const {\n bar, top, right, footer, insetFooter, bottom, left,\n } = this.$vuetify.application\n\n return {\n paddingTop: `${top + bar}px`,\n paddingRight: `${right}px`,\n paddingBottom: `${footer + insetFooter + bottom}px`,\n paddingLeft: `${left}px`,\n }\n },\n },\n\n render (h): VNode {\n const data = {\n staticClass: 'v-content',\n style: this.styles,\n ref: 'content',\n }\n\n return h(this.tag, data, [\n h(\n 'div',\n { staticClass: 'v-content__wrap' },\n this.$slots.default\n ),\n ])\n },\n})\n","import VContent from './VContent'\n\nexport { VContent }\n\nexport default VContent\n","// extracted by mini-css-extract-plugin","// Styles\nimport './VCounter.sass'\n\n// Mixins\nimport Themeable, { functionalThemeClasses } from '../../mixins/themeable'\n\n// Types\nimport { VNode } from 'vue'\nimport mixins from '../../util/mixins'\n\n/* @vue/component */\nexport default mixins(Themeable).extend({\n name: 'v-counter',\n\n functional: true,\n\n props: {\n value: {\n type: [Number, String],\n default: '',\n },\n max: [Number, String],\n },\n\n render (h, ctx): VNode {\n const { props } = ctx\n const max = parseInt(props.max, 10)\n const value = parseInt(props.value, 10)\n const content = max ? `${value} / ${max}` : String(props.value)\n const isGreater = max && (value > max)\n\n return h('div', {\n staticClass: 'v-counter',\n class: {\n 'error--text': isGreater,\n ...functionalThemeClasses(ctx),\n },\n }, content)\n },\n})\n","import VCounter from './VCounter'\n\nexport { VCounter }\nexport default VCounter\n","// Helpers\nimport { wrapInArray, sortItems, deepEqual, groupByProperty, searchItems } from '../../util/helpers'\nimport Vue, { VNode, PropType } from 'vue'\n\nexport interface DataOptions {\n page: number\n itemsPerPage: number\n sortBy: string[]\n sortDesc: boolean[]\n groupBy: string[]\n groupDesc: boolean[]\n multiSort: boolean\n mustSort: boolean\n}\n\nexport interface DataPagination {\n page: number\n itemsPerPage: number\n pageStart: number\n pageStop: number\n pageCount: number\n itemsLength: number\n}\n\nexport interface DataProps {\n originalItemsLength: number\n items: any[]\n pagination: DataPagination\n options: DataOptions\n updateOptions: (obj: any) => void\n sort: (value: string) => void\n group: (value: string) => void\n groupedItems: Record<string, any[]> | null\n}\n\nexport default Vue.extend({\n name: 'v-data',\n\n inheritAttrs: false,\n\n props: {\n items: {\n type: Array as PropType<any[]>,\n default: () => [],\n },\n options: {\n type: Object,\n default: () => ({}),\n },\n sortBy: {\n type: [String, Array] as PropType<string | string[]>,\n default: () => [],\n },\n sortDesc: {\n type: [Boolean, Array] as PropType<boolean | boolean[]>,\n default: () => [],\n },\n customSort: {\n type: Function as any as PropType<typeof sortItems>,\n default: sortItems,\n },\n mustSort: Boolean,\n multiSort: Boolean,\n page: {\n type: Number,\n default: 1,\n },\n itemsPerPage: {\n type: Number,\n default: 10,\n },\n groupBy: {\n type: [String, Array] as PropType<string | string[]>,\n default: () => [],\n },\n groupDesc: {\n type: [Boolean, Array] as PropType<boolean | boolean[]>,\n default: () => [],\n },\n locale: {\n type: String,\n default: 'en-US',\n },\n disableSort: Boolean,\n disablePagination: Boolean,\n disableFiltering: Boolean,\n search: String,\n customFilter: {\n type: Function as any as PropType<typeof searchItems>,\n default: searchItems,\n },\n serverItemsLength: {\n type: Number,\n default: -1,\n },\n },\n\n data () {\n let internalOptions: DataOptions = {\n page: this.page,\n itemsPerPage: this.itemsPerPage,\n sortBy: wrapInArray(this.sortBy),\n sortDesc: wrapInArray(this.sortDesc),\n groupBy: wrapInArray(this.groupBy),\n groupDesc: wrapInArray(this.groupDesc),\n mustSort: this.mustSort,\n multiSort: this.multiSort,\n }\n\n if (this.options) {\n internalOptions = Object.assign(internalOptions, this.options)\n }\n\n return {\n internalOptions,\n }\n },\n\n computed: {\n itemsLength (): number {\n return this.serverItemsLength >= 0 ? this.serverItemsLength : this.filteredItems.length\n },\n pageCount (): number {\n return this.internalOptions.itemsPerPage === -1\n ? 1\n : Math.ceil(this.itemsLength / this.internalOptions.itemsPerPage) // TODO: can't use items.length here\n },\n pageStart (): number {\n if (this.internalOptions.itemsPerPage === -1 || !this.items.length) return 0\n\n return (this.internalOptions.page - 1) * this.internalOptions.itemsPerPage\n },\n pageStop (): number {\n if (this.internalOptions.itemsPerPage === -1) return this.itemsLength\n if (!this.items.length) return 0\n\n return Math.min(this.itemsLength, this.internalOptions.page * this.internalOptions.itemsPerPage)\n },\n isGrouped (): boolean {\n return !!this.internalOptions.groupBy.length\n },\n pagination (): DataPagination {\n return {\n page: this.internalOptions.page,\n itemsPerPage: this.internalOptions.itemsPerPage,\n pageStart: this.pageStart,\n pageStop: this.pageStop,\n pageCount: this.pageCount,\n itemsLength: this.itemsLength,\n }\n },\n filteredItems (): any[] {\n let items = this.items.slice()\n\n if (!this.disableFiltering && this.serverItemsLength <= 0) {\n items = this.customFilter(items, this.search)\n }\n\n return items\n },\n computedItems (): any[] {\n let items = this.filteredItems.slice()\n\n if (!this.disableSort && this.serverItemsLength <= 0) {\n items = this.sortItems(items)\n }\n\n if (!this.disablePagination && this.serverItemsLength <= 0) {\n items = this.paginateItems(items)\n }\n\n return items\n },\n groupedItems (): Record<string, any[]> | null {\n return this.isGrouped ? groupByProperty(this.computedItems, this.internalOptions.groupBy[0]) : null\n },\n scopedProps (): DataProps {\n const props = {\n sort: this.sort,\n sortArray: this.sortArray,\n group: this.group,\n items: this.computedItems,\n options: this.internalOptions,\n updateOptions: this.updateOptions,\n pagination: this.pagination,\n groupedItems: this.groupedItems,\n originalItemsLength: this.items.length,\n }\n\n return props\n },\n computedOptions (): DataOptions {\n return { ...this.options } as DataOptions\n },\n },\n\n watch: {\n computedOptions: {\n handler (options: DataOptions, old: DataOptions) {\n if (deepEqual(options, old)) return\n\n this.updateOptions(options)\n },\n deep: true,\n immediate: true,\n },\n internalOptions: {\n handler (options: DataOptions, old: DataOptions) {\n if (deepEqual(options, old)) return\n this.$emit('update:options', options)\n this.$emit('pagination', this.pagination)\n },\n deep: true,\n immediate: true,\n },\n page (page: number) {\n this.updateOptions({ page })\n },\n 'internalOptions.page' (page: number) {\n this.$emit('update:page', page)\n },\n itemsPerPage (itemsPerPage: number) {\n this.updateOptions({ itemsPerPage })\n },\n 'internalOptions.itemsPerPage' (itemsPerPage: number) {\n this.$emit('update:items-per-page', itemsPerPage)\n },\n sortBy (sortBy: string | string[]) {\n this.updateOptions({ sortBy: wrapInArray(sortBy) })\n },\n 'internalOptions.sortBy' (sortBy: string[], old: string[]) {\n !deepEqual(sortBy, old) && this.$emit('update:sort-by', Array.isArray(this.sortBy) ? sortBy : sortBy[0])\n },\n sortDesc (sortDesc: boolean | boolean[]) {\n this.updateOptions({ sortDesc: wrapInArray(sortDesc) })\n },\n 'internalOptions.sortDesc' (sortDesc: boolean[], old: boolean[]) {\n !deepEqual(sortDesc, old) && this.$emit('update:sort-desc', Array.isArray(this.sortDesc) ? sortDesc : sortDesc[0])\n },\n groupBy (groupBy: string | string[]) {\n this.updateOptions({ groupBy: wrapInArray(groupBy) })\n },\n 'internalOptions.groupBy' (groupBy: string[], old: string[]) {\n !deepEqual(groupBy, old) && this.$emit('update:group-by', Array.isArray(this.groupBy) ? groupBy : groupBy[0])\n },\n groupDesc (groupDesc: boolean | boolean[]) {\n this.updateOptions({ groupDesc: wrapInArray(groupDesc) })\n },\n 'internalOptions.groupDesc' (groupDesc: boolean[], old: boolean[]) {\n !deepEqual(groupDesc, old) && this.$emit('update:group-desc', Array.isArray(this.groupDesc) ? groupDesc : groupDesc[0])\n },\n multiSort (multiSort: boolean) {\n this.updateOptions({ multiSort })\n },\n 'internalOptions.multiSort' (multiSort: boolean) {\n this.$emit('update:multi-sort', multiSort)\n },\n mustSort (mustSort: boolean) {\n this.updateOptions({ mustSort })\n },\n 'internalOptions.mustSort' (mustSort: boolean) {\n this.$emit('update:must-sort', mustSort)\n },\n pageCount: {\n handler (pageCount: number) {\n this.$emit('page-count', pageCount)\n },\n immediate: true,\n },\n computedItems: {\n handler (computedItems: any[]) {\n this.$emit('current-items', computedItems)\n },\n immediate: true,\n },\n },\n\n methods: {\n toggle (key: string, oldBy: string[], oldDesc: boolean[], page: number, mustSort: boolean, multiSort: boolean) {\n let by = oldBy.slice()\n let desc = oldDesc.slice()\n const byIndex = by.findIndex((k: string) => k === key)\n\n if (byIndex < 0) {\n if (!multiSort) {\n by = []\n desc = []\n }\n\n by.push(key)\n desc.push(false)\n } else if (byIndex >= 0 && !desc[byIndex]) {\n desc[byIndex] = true\n } else if (!mustSort) {\n by.splice(byIndex, 1)\n desc.splice(byIndex, 1)\n } else {\n desc[byIndex] = false\n }\n\n // Reset page to 1 if sortBy or sortDesc have changed\n if (!deepEqual(by, oldBy) || !deepEqual(desc, oldDesc)) {\n page = 1\n }\n\n return { by, desc, page }\n },\n group (key: string): void {\n const { by: groupBy, desc: groupDesc, page } = this.toggle(\n key,\n this.internalOptions.groupBy,\n this.internalOptions.groupDesc,\n this.internalOptions.page,\n true,\n false\n )\n this.updateOptions({ groupBy, groupDesc, page })\n },\n sort (key: string | string[]): void {\n if (Array.isArray(key)) return this.sortArray(key)\n\n const { by: sortBy, desc: sortDesc, page } = this.toggle(\n key,\n this.internalOptions.sortBy,\n this.internalOptions.sortDesc,\n this.internalOptions.page,\n this.mustSort,\n this.multiSort\n )\n this.updateOptions({ sortBy, sortDesc, page })\n },\n sortArray (sortBy: string[]) {\n const sortDesc = sortBy.map(s => {\n const i = this.internalOptions.sortBy.findIndex((k: string) => k === s)\n return i > -1 ? this.internalOptions.sortDesc[i] : false\n })\n\n this.updateOptions({ sortBy, sortDesc })\n },\n updateOptions (options: any) {\n this.internalOptions = {\n ...this.internalOptions,\n ...options,\n page: this.serverItemsLength < 0\n ? Math.max(1, Math.min(options.page || this.internalOptions.page, this.pageCount))\n : options.page || this.internalOptions.page,\n }\n },\n sortItems (items: any[]) {\n const sortBy = this.internalOptions.groupBy.concat(this.internalOptions.sortBy)\n const sortDesc = this.internalOptions.groupDesc.concat(this.internalOptions.sortDesc)\n return this.customSort(items, sortBy, sortDesc, this.locale)\n },\n paginateItems (items: any[]) {\n // Make sure we don't try to display non-existant page if items suddenly change\n // TODO: Could possibly move this to pageStart/pageStop?\n if (this.serverItemsLength === -1 && items.length <= this.pageStart) {\n this.internalOptions.page = Math.max(1, this.internalOptions.page - 1)\n }\n\n return items.slice(this.pageStart, this.pageStop)\n },\n },\n\n render (): VNode {\n return this.$scopedSlots.default && this.$scopedSlots.default(this.scopedProps) as any\n },\n})\n","import VData from './VData'\n\nexport { VData }\n\nexport default VData\n","// extracted by mini-css-extract-plugin","import './VDataFooter.sass'\n\n// Components\nimport VSelect from '../VSelect/VSelect'\nimport VIcon from '../VIcon'\nimport VBtn from '../VBtn'\n\n// Types\nimport Vue, { VNode, VNodeChildrenArrayContents } from 'vue'\nimport { DataOptions, DataPagination } from '../VData/VData'\nimport { PropValidator } from 'vue/types/options'\n\nexport default Vue.extend({\n name: 'v-data-footer',\n\n props: {\n options: {\n type: Object,\n required: true,\n } as PropValidator<DataOptions>,\n pagination: {\n type: Object,\n required: true,\n } as PropValidator<DataPagination>,\n itemsPerPageOptions: {\n type: Array,\n default: () => ([5, 10, 15, -1]),\n } as PropValidator<any[]>,\n prevIcon: {\n type: String,\n default: '$prev',\n },\n nextIcon: {\n type: String,\n default: '$next',\n },\n firstIcon: {\n type: String,\n default: '$first',\n },\n lastIcon: {\n type: String,\n default: '$last',\n },\n itemsPerPageText: {\n type: String,\n default: '$vuetify.dataFooter.itemsPerPageText',\n },\n itemsPerPageAllText: {\n type: String,\n default: '$vuetify.dataFooter.itemsPerPageAll',\n },\n showFirstLastPage: Boolean,\n showCurrentPage: Boolean,\n disablePagination: Boolean,\n disableItemsPerPage: Boolean,\n pageText: {\n type: String,\n default: '$vuetify.dataFooter.pageText',\n },\n },\n\n computed: {\n disableNextPageIcon (): boolean {\n return this.options.itemsPerPage < 0 ||\n this.options.page * this.options.itemsPerPage >= this.pagination.itemsLength ||\n this.pagination.pageStop < 0\n },\n computedItemsPerPageOptions (): any[] {\n return this.itemsPerPageOptions.map(option => {\n if (typeof option === 'object') return option\n else return this.genItemsPerPageOption(option)\n })\n },\n },\n\n methods: {\n updateOptions (obj: object) {\n this.$emit('update:options', Object.assign({}, this.options, obj))\n },\n onFirstPage () {\n this.updateOptions({ page: 1 })\n },\n onPreviousPage () {\n this.updateOptions({ page: this.options.page - 1 })\n },\n onNextPage () {\n this.updateOptions({ page: this.options.page + 1 })\n },\n onLastPage () {\n this.updateOptions({ page: this.pagination.pageCount })\n },\n onChangeItemsPerPage (itemsPerPage: number) {\n this.updateOptions({ itemsPerPage, page: 1 })\n },\n genItemsPerPageOption (option: number) {\n return {\n text: option === -1 ? this.$vuetify.lang.t(this.itemsPerPageAllText) : String(option),\n value: option,\n }\n },\n genItemsPerPageSelect () {\n let value = this.options.itemsPerPage\n const computedIPPO = this.computedItemsPerPageOptions\n\n if (computedIPPO.length <= 1) return null\n\n if (!computedIPPO.find(ippo => ippo.value === value)) value = computedIPPO[0]\n\n return this.$createElement('div', {\n staticClass: 'v-data-footer__select',\n }, [\n this.$vuetify.lang.t(this.itemsPerPageText),\n this.$createElement(VSelect, {\n attrs: {\n 'aria-label': this.itemsPerPageText,\n },\n props: {\n disabled: this.disableItemsPerPage,\n items: computedIPPO,\n value,\n hideDetails: true,\n auto: true,\n minWidth: '75px',\n },\n on: {\n input: this.onChangeItemsPerPage,\n },\n }),\n ])\n },\n genPaginationInfo () {\n let children: VNodeChildrenArrayContents = ['–']\n\n if (this.pagination.itemsLength) {\n const itemsLength = this.pagination.itemsLength\n const pageStart = this.pagination.pageStart + 1\n const pageStop = itemsLength < this.pagination.pageStop || this.pagination.pageStop < 0\n ? itemsLength\n : this.pagination.pageStop\n\n children = this.$scopedSlots['page-text']\n ? [this.$scopedSlots['page-text']!({ pageStart, pageStop, itemsLength })]\n : [this.$vuetify.lang.t(this.pageText, pageStart, pageStop, itemsLength)]\n }\n\n return this.$createElement('div', {\n class: 'v-data-footer__pagination',\n }, children)\n },\n genIcon (click: Function, disabled: boolean, label: string, icon: string): VNode {\n return this.$createElement(VBtn, {\n props: {\n disabled: disabled || this.disablePagination,\n icon: true,\n text: true,\n // dark: this.dark, // TODO: add mixin\n // light: this.light // TODO: add mixin\n },\n on: {\n click,\n },\n attrs: {\n 'aria-label': label, // TODO: Localization\n },\n }, [this.$createElement(VIcon, icon)])\n },\n genIcons () {\n const before: VNodeChildrenArrayContents = []\n const after: VNodeChildrenArrayContents = []\n\n before.push(this.genIcon(\n this.onPreviousPage,\n this.options.page === 1,\n this.$vuetify.lang.t('$vuetify.dataFooter.prevPage'),\n this.$vuetify.rtl ? this.nextIcon : this.prevIcon\n ))\n\n after.push(this.genIcon(\n this.onNextPage,\n this.disableNextPageIcon,\n this.$vuetify.lang.t('$vuetify.dataFooter.nextPage'),\n this.$vuetify.rtl ? this.prevIcon : this.nextIcon\n ))\n\n if (this.showFirstLastPage) {\n before.unshift(this.genIcon(\n this.onFirstPage,\n this.options.page === 1,\n this.$vuetify.lang.t('$vuetify.dataFooter.firstPage'),\n this.$vuetify.rtl ? this.lastIcon : this.firstIcon\n ))\n\n after.push(this.genIcon(\n this.onLastPage,\n this.options.page >= this.pagination.pageCount || this.options.itemsPerPage === -1,\n this.$vuetify.lang.t('$vuetify.dataFooter.lastPage'),\n this.$vuetify.rtl ? this.firstIcon : this.lastIcon\n ))\n }\n\n return [\n this.$createElement('div', {\n staticClass: 'v-data-footer__icons-before',\n }, before),\n this.showCurrentPage && this.$createElement('span', [this.options.page.toString()]),\n this.$createElement('div', {\n staticClass: 'v-data-footer__icons-after',\n }, after),\n ]\n },\n },\n\n render (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-data-footer',\n }, [\n this.genItemsPerPageSelect(),\n this.genPaginationInfo(),\n this.genIcons(),\n ])\n },\n})\n","import { VNode, VNodeChildren } from 'vue'\n\n// Components\nimport { VData } from '../VData'\nimport VDataFooter from './VDataFooter'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\n\n// Helpers\nimport { deepEqual, getObjectValueByPath, getPrefixedScopedSlots, getSlot, camelizeObjectKeys } from '../../util/helpers'\nimport { DataProps } from '../VData/VData'\nimport { PropValidator } from 'vue/types/options'\nimport { breaking, removed } from '../../util/console'\n\n/* @vue/component */\nexport default Themeable.extend({\n name: 'v-data-iterator',\n\n props: {\n ...VData.options.props, // TODO: filter out props not used\n itemKey: {\n type: String,\n default: 'id',\n },\n value: {\n type: Array,\n default: () => [],\n } as PropValidator<any[]>,\n singleSelect: Boolean,\n expanded: {\n type: Array,\n default: () => [],\n } as PropValidator<any[]>,\n singleExpand: Boolean,\n loading: [Boolean, String],\n noResultsText: {\n type: String,\n default: '$vuetify.dataIterator.noResultsText',\n },\n noDataText: {\n type: String,\n default: '$vuetify.noDataText',\n },\n loadingText: {\n type: String,\n default: '$vuetify.dataIterator.loadingText',\n },\n hideDefaultFooter: Boolean,\n footerProps: Object,\n },\n\n data: () => ({\n selection: {} as Record<string, any>,\n expansion: {} as Record<string, boolean>,\n internalCurrentItems: [] as any[],\n }),\n\n computed: {\n everyItem (): boolean {\n return !!this.internalCurrentItems.length && this.internalCurrentItems.every((i: any) => this.isSelected(i))\n },\n someItems (): boolean {\n return this.internalCurrentItems.some((i: any) => this.isSelected(i))\n },\n sanitizedFooterProps (): Record<string, any> {\n return camelizeObjectKeys(this.footerProps)\n },\n },\n\n watch: {\n value: {\n handler (value: any[]) {\n this.selection = value.reduce((selection, item) => {\n selection[getObjectValueByPath(item, this.itemKey)] = item\n return selection\n }, {})\n },\n immediate: true,\n },\n selection (value: Record<string, boolean>, old: Record<string, boolean>) {\n if (deepEqual(Object.keys(value), Object.keys(old))) return\n\n this.$emit('input', Object.values(value))\n },\n expanded: {\n handler (value: any[]) {\n this.expansion = value.reduce((expansion, item) => {\n expansion[getObjectValueByPath(item, this.itemKey)] = true\n return expansion\n }, {})\n },\n immediate: true,\n },\n expansion (value: Record<string, boolean>, old: Record<string, boolean>) {\n if (deepEqual(value, old)) return\n const keys = Object.keys(value).filter(k => value[k])\n const expanded = !keys.length ? [] : this.items.filter(i => keys.includes(String(getObjectValueByPath(i, this.itemKey))))\n this.$emit('update:expanded', expanded)\n },\n },\n\n created () {\n const breakingProps = [\n ['disable-initial-sort', 'sort-by'],\n ['filter', 'custom-filter'],\n ['pagination', 'options'],\n ['total-items', 'server-items-length'],\n ['hide-actions', 'hide-default-footer'],\n ['rows-per-page-items', 'footer-props.items-per-page-options'],\n ['rows-per-page-text', 'footer-props.items-per-page-text'],\n ['prev-icon', 'footer-props.prev-icon'],\n ['next-icon', 'footer-props.next-icon'],\n ]\n\n /* istanbul ignore next */\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n })\n\n const removedProps = [\n 'expand',\n 'content-class',\n 'content-props',\n 'content-tag',\n ]\n\n /* istanbul ignore next */\n removedProps.forEach(prop => {\n if (this.$attrs.hasOwnProperty(prop)) removed(prop)\n })\n },\n\n methods: {\n toggleSelectAll (value: boolean): void {\n const selection = Object.assign({}, this.selection)\n\n this.internalCurrentItems.forEach((item: any) => {\n const key = getObjectValueByPath(item, this.itemKey)\n if (value) selection[key] = item\n else delete selection[key]\n })\n\n this.selection = selection\n this.$emit('toggle-select-all', { value })\n },\n isSelected (item: any): boolean {\n return !!this.selection[getObjectValueByPath(item, this.itemKey)] || false\n },\n select (item: any, value = true, emit = true): void {\n const selection = this.singleSelect ? {} : Object.assign({}, this.selection)\n const key = getObjectValueByPath(item, this.itemKey)\n\n if (value) selection[key] = item\n else delete selection[key]\n\n this.selection = selection\n emit && this.$emit('item-selected', { item, value })\n },\n isExpanded (item: any): boolean {\n return this.expansion[getObjectValueByPath(item, this.itemKey)] || false\n },\n expand (item: any, value = true): void {\n const expansion = this.singleExpand ? {} : Object.assign({}, this.expansion)\n const key = getObjectValueByPath(item, this.itemKey)\n\n if (value) expansion[key] = true\n else delete expansion[key]\n\n this.expansion = expansion\n this.$emit('item-expanded', { item, value })\n },\n createItemProps (item: any) {\n const props = {\n item,\n select: (v: boolean) => this.select(item, v),\n isSelected: this.isSelected(item),\n expand: (v: boolean) => this.expand(item, v),\n isExpanded: this.isExpanded(item),\n }\n\n return props\n },\n genEmptyWrapper (content: VNodeChildren) {\n return this.$createElement('div', content)\n },\n genEmpty (originalItemsLength: number, filteredItemsLength: number) {\n if (originalItemsLength === 0 && this.loading) {\n const loading = this.$slots['loading'] || this.$vuetify.lang.t(this.loadingText)\n return this.genEmptyWrapper(loading)\n } else if (originalItemsLength === 0) {\n const noData = this.$slots['no-data'] || this.$vuetify.lang.t(this.noDataText)\n return this.genEmptyWrapper(noData)\n } else if (filteredItemsLength === 0) {\n const noResults = this.$slots['no-results'] || this.$vuetify.lang.t(this.noResultsText)\n return this.genEmptyWrapper(noResults)\n }\n\n return null\n },\n genItems (props: DataProps) {\n const empty = this.genEmpty(props.originalItemsLength, props.pagination.itemsLength)\n if (empty) return [empty]\n\n if (this.$scopedSlots.default) {\n return this.$scopedSlots.default({\n ...props,\n isSelected: this.isSelected,\n select: this.select,\n isExpanded: this.isExpanded,\n expand: this.expand,\n })\n }\n\n if (this.$scopedSlots.item) {\n return props.items.map((item: any) => this.$scopedSlots.item!(this.createItemProps(item)))\n }\n\n return []\n },\n genFooter (props: DataProps) {\n if (this.hideDefaultFooter) return null\n\n const data = {\n props: {\n ...this.sanitizedFooterProps,\n options: props.options,\n pagination: props.pagination,\n },\n on: {\n 'update:options': (value: any) => props.updateOptions(value),\n },\n }\n\n const scopedSlots = getPrefixedScopedSlots('footer.', this.$scopedSlots)\n\n return this.$createElement(VDataFooter, {\n scopedSlots,\n ...data,\n })\n },\n genDefaultScopedSlot (props: any) {\n const outerProps = {\n ...props,\n someItems: this.someItems,\n everyItem: this.everyItem,\n toggleSelectAll: this.toggleSelectAll,\n }\n\n return this.$createElement('div', {\n staticClass: 'v-data-iterator',\n }, [\n getSlot(this, 'header', outerProps, true),\n this.genItems(props),\n this.genFooter(props),\n getSlot(this, 'footer', outerProps, true),\n ])\n },\n },\n\n render (): VNode {\n return this.$createElement(VData, {\n props: this.$props,\n on: {\n 'update:options': (v: any, old: any) => !deepEqual(v, old) && this.$emit('update:options', v),\n 'update:page': (v: any) => this.$emit('update:page', v),\n 'update:items-per-page': (v: any) => this.$emit('update:items-per-page', v),\n 'update:sort-by': (v: any) => this.$emit('update:sort-by', v),\n 'update:sort-desc': (v: any) => this.$emit('update:sort-desc', v),\n 'update:group-by': (v: any) => this.$emit('update:group-by', v),\n 'update:group-desc': (v: any) => this.$emit('update:group-desc', v),\n pagination: (v: any, old: any) => !deepEqual(v, old) && this.$emit('pagination', v),\n 'current-items': (v: any[]) => {\n this.internalCurrentItems = v\n this.$emit('current-items', v)\n },\n },\n scopedSlots: {\n default: this.genDefaultScopedSlot,\n },\n })\n },\n})\n","import VDataIterator from './VDataIterator'\nimport VDataFooter from './VDataFooter'\n\nexport { VDataIterator, VDataFooter }\nexport default {\n $_vuetify_subcomponents: {\n VDataIterator,\n VDataFooter,\n },\n}\n","import Vue, { VNode } from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport { TableHeader } from './mixins/header'\nimport { getObjectValueByPath } from '../../util/helpers'\n\nexport default Vue.extend({\n name: 'row',\n\n functional: true,\n\n props: {\n headers: Array as PropValidator<TableHeader[]>,\n item: Object,\n rtl: Boolean,\n },\n\n render (h, { props, slots, data }): VNode {\n const computedSlots = slots()\n\n const columns: VNode[] = props.headers.map((header: TableHeader) => {\n const classes = {\n 'v-data-table__mobile-row': true,\n }\n\n const children = []\n const value = getObjectValueByPath(props.item, header.value)\n\n const slotName = header.value\n const scopedSlot = data.scopedSlots && data.scopedSlots[slotName]\n const regularSlot = computedSlots[slotName]\n\n if (scopedSlot) {\n children.push(scopedSlot({ item: props.item, header, value }))\n } else if (regularSlot) {\n children.push(regularSlot)\n } else {\n children.push(value == null ? value : String(value))\n }\n\n const mobileRowChildren = [\n h('div', {\n staticClass: 'v-data-table__mobile-row__cell',\n }, children),\n ]\n\n if (header.value !== 'dataTableSelect') {\n mobileRowChildren.unshift(\n h('div', {\n staticClass: 'v-data-table__mobile-row__header',\n }, [header.text])\n )\n }\n\n return h('td', { class: classes }, mobileRowChildren)\n })\n\n return h('tr', data, columns)\n },\n})\n","// Types\nimport Vue, { VNode } from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport { TableHeader } from './mixins/header'\n\n// Utils\nimport { getObjectValueByPath } from '../../util/helpers'\n\nexport default Vue.extend({\n name: 'row',\n\n functional: true,\n\n props: {\n headers: Array as PropValidator<TableHeader[]>,\n item: Object,\n rtl: Boolean,\n },\n\n render (h, { props, slots, data }): VNode {\n const computedSlots = slots()\n\n const columns: VNode[] = props.headers.map((header: TableHeader) => {\n const children = []\n const value = getObjectValueByPath(props.item, header.value)\n\n const slotName = header.value\n const scopedSlot = data.scopedSlots && data.scopedSlots[slotName]\n const regularSlot = computedSlots[slotName]\n\n if (scopedSlot) {\n children.push(scopedSlot({ item: props.item, header, value }))\n } else if (regularSlot) {\n children.push(regularSlot)\n } else {\n children.push(value == null ? value : String(value))\n }\n\n const textAlign = `text-${header.align || 'start'}`\n\n return h('td', {\n class: {\n [textAlign]: true,\n 'v-data-table__divider': header.divider,\n },\n }, children)\n })\n\n return h('tr', data, columns)\n },\n})\n","import Vue, { VNode } from 'vue'\n\nexport default Vue.extend({\n name: 'row-group',\n\n functional: true,\n\n props: {\n value: {\n type: Boolean,\n default: true,\n },\n headerClass: {\n type: String,\n default: 'v-row-group__header',\n },\n contentClass: String,\n summaryClass: {\n type: String,\n default: 'v-row-group__summary',\n },\n },\n\n render (h, { slots, props }): VNode {\n const computedSlots = slots()\n const children = []\n\n if (computedSlots['column.header']) {\n children.push(h('tr', {\n staticClass: props.headerClass,\n }, computedSlots['column.header']))\n } else if (computedSlots['row.header']) {\n children.push(...computedSlots['row.header'])\n }\n\n if (computedSlots['row.content'] && props.value) children.push(...computedSlots['row.content'])\n\n if (computedSlots['column.summary']) {\n children.push(h('tr', {\n staticClass: props.summaryClass,\n }, computedSlots['column.summary']))\n } else if (computedSlots['row.summary']) {\n children.push(...computedSlots['row.summary'])\n }\n\n return children as any\n },\n})\n","// extracted by mini-css-extract-plugin","import './VDataTable.sass'\n\n// Types\nimport { VNode, VNodeChildrenArrayContents, VNodeChildren } from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport { DataProps, DataPagination, DataOptions } from '../VData/VData'\nimport { TableHeader } from './mixins/header'\n\n// Components\nimport { VData } from '../VData'\nimport { VDataFooter, VDataIterator } from '../VDataIterator'\nimport VBtn from '../VBtn'\nimport VDataTableHeader from './VDataTableHeader'\n// import VVirtualTable from './VVirtualTable'\nimport VIcon from '../VIcon'\nimport VProgressLinear from '../VProgressLinear'\nimport Row from './Row'\nimport RowGroup from './RowGroup'\nimport VSimpleCheckbox from '../VCheckbox/VSimpleCheckbox'\nimport VSimpleTable from './VSimpleTable'\nimport MobileRow from './MobileRow'\nimport ripple from '../../directives/ripple'\n\n// Helpers\nimport { deepEqual, getObjectValueByPath, compareFn, getPrefixedScopedSlots, getSlot, defaultFilter, FilterFn, camelizeObjectKeys } from '../../util/helpers'\nimport { breaking } from '../../util/console'\n\nfunction filterFn (item: any, search: string | null, filter: FilterFn) {\n return (header: TableHeader) => {\n const value = getObjectValueByPath(item, header.value)\n return header.filter ? header.filter(value, search, item) : filter(value, search, item)\n }\n}\n\nfunction searchTableItems (\n items: any[],\n search: string | null,\n headersWithCustomFilters: TableHeader[],\n headersWithoutCustomFilters: TableHeader[],\n customFilter: FilterFn\n) {\n let filtered = items\n search = typeof search === 'string' ? search.trim() : null\n if (search && headersWithoutCustomFilters.length) {\n filtered = items.filter(item => headersWithoutCustomFilters.some(filterFn(item, search, customFilter)))\n }\n\n if (headersWithCustomFilters.length) {\n filtered = filtered.filter(item => headersWithCustomFilters.every(filterFn(item, search, defaultFilter)))\n }\n\n return filtered\n}\n\n/* @vue/component */\nexport default VDataIterator.extend({\n name: 'v-data-table',\n\n // https://github.com/vuejs/vue/issues/6872\n directives: {\n ripple,\n },\n\n props: {\n headers: {\n type: Array,\n } as PropValidator<TableHeader[]>,\n showSelect: Boolean,\n showExpand: Boolean,\n showGroupBy: Boolean,\n // TODO: Fix\n // virtualRows: Boolean,\n mobileBreakpoint: {\n type: Number,\n default: 600,\n },\n height: [Number, String],\n hideDefaultHeader: Boolean,\n caption: String,\n dense: Boolean,\n headerProps: Object,\n calculateWidths: Boolean,\n fixedHeader: Boolean,\n headersLength: Number,\n expandIcon: {\n type: String,\n default: '$expand',\n },\n customFilter: {\n type: Function,\n default: defaultFilter,\n } as PropValidator<typeof defaultFilter>,\n },\n\n data () {\n return {\n internalGroupBy: [] as string[],\n openCache: {} as { [key: string]: boolean },\n widths: [] as number[],\n }\n },\n\n computed: {\n computedHeaders (): TableHeader[] {\n if (!this.headers) return []\n const headers = this.headers.filter(h => h.value === undefined || !this.internalGroupBy.find(v => v === h.value))\n const defaultHeader = { text: '', sortable: false, width: '1px' }\n\n if (this.showSelect) {\n const index = headers.findIndex(h => h.value === 'data-table-select')\n if (index < 0) headers.unshift({ ...defaultHeader, value: 'data-table-select' })\n else headers.splice(index, 1, { ...defaultHeader, ...headers[index] })\n }\n\n if (this.showExpand) {\n const index = headers.findIndex(h => h.value === 'data-table-expand')\n if (index < 0) headers.unshift({ ...defaultHeader, value: 'data-table-expand' })\n else headers.splice(index, 1, { ...defaultHeader, ...headers[index] })\n }\n\n return headers\n },\n colspanAttrs (): object | undefined {\n return this.isMobile ? undefined : {\n colspan: this.headersLength || this.computedHeaders.length,\n }\n },\n isMobile (): boolean {\n // Guard against SSR render\n // https://github.com/vuetifyjs/vuetify/issues/7410\n if (this.$vuetify.breakpoint.width === 0) return false\n\n return this.$vuetify.breakpoint.width < this.mobileBreakpoint\n },\n columnSorters (): Record<string, compareFn> {\n return this.computedHeaders.reduce<Record<string, compareFn>>((acc, header) => {\n if (header.sort) acc[header.value] = header.sort\n return acc\n }, {})\n },\n headersWithCustomFilters (): TableHeader[] {\n return this.computedHeaders.filter(header => header.filter && (!header.hasOwnProperty('filterable') || header.filterable === true))\n },\n headersWithoutCustomFilters (): TableHeader[] {\n return this.computedHeaders.filter(header => !header.filter && (!header.hasOwnProperty('filterable') || header.filterable === true))\n },\n sanitizedHeaderProps (): Record<string, any> {\n return camelizeObjectKeys(this.headerProps)\n },\n computedItemsPerPage (): number {\n const itemsPerPage = this.options && this.options.itemsPerPage ? this.options.itemsPerPage : this.itemsPerPage\n const { itemsPerPageOptions } = this.sanitizedFooterProps\n if (\n itemsPerPageOptions &&\n !itemsPerPageOptions.find((item: number | { value: number }) => {\n return typeof item === 'number' ? item === itemsPerPage : item.value === itemsPerPage\n })\n ) {\n const firstOption = itemsPerPageOptions[0]\n return typeof firstOption === 'object' ? firstOption.value : firstOption\n }\n\n return itemsPerPage\n },\n },\n\n created () {\n const breakingProps = [\n ['sort-icon', 'header-props.sort-icon'],\n ['hide-headers', 'hide-default-header'],\n ['select-all', 'show-select'],\n ]\n\n /* istanbul ignore next */\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n })\n },\n\n mounted () {\n // if ((!this.sortBy || !this.sortBy.length) && (!this.options.sortBy || !this.options.sortBy.length)) {\n // const firstSortable = this.headers.find(h => !('sortable' in h) || !!h.sortable)\n // if (firstSortable) this.updateOptions({ sortBy: [firstSortable.value], sortDesc: [false] })\n // }\n\n if (this.calculateWidths) {\n window.addEventListener('resize', this.calcWidths)\n this.calcWidths()\n }\n },\n\n beforeDestroy () {\n if (this.calculateWidths) {\n window.removeEventListener('resize', this.calcWidths)\n }\n },\n\n methods: {\n calcWidths () {\n this.widths = Array.from(this.$el.querySelectorAll('th')).map(e => e.clientWidth)\n },\n customFilterWithColumns (items: any[], search: string) {\n return searchTableItems(items, search, this.headersWithCustomFilters, this.headersWithoutCustomFilters, this.customFilter)\n },\n customSortWithHeaders (items: any[], sortBy: string[], sortDesc: boolean[], locale: string) {\n return this.customSort(items, sortBy, sortDesc, locale, this.columnSorters)\n },\n createItemProps (item: any) {\n const props = VDataIterator.options.methods.createItemProps.call(this, item)\n\n return Object.assign(props, { headers: this.computedHeaders })\n },\n genCaption (props: DataProps) {\n if (this.caption) return [this.$createElement('caption', [this.caption])]\n\n return getSlot(this, 'caption', props, true)\n },\n genColgroup (props: DataProps) {\n return this.$createElement('colgroup', this.computedHeaders.map(header => {\n return this.$createElement('col', {\n class: {\n divider: header.divider,\n },\n })\n }))\n },\n genLoading () {\n const progress = this.$slots['progress'] ? this.$slots.progress : this.$createElement(VProgressLinear, {\n props: {\n color: this.loading === true ? 'primary' : this.loading,\n height: 2,\n indeterminate: true,\n },\n })\n\n const th = this.$createElement('th', {\n staticClass: 'column',\n attrs: this.colspanAttrs,\n }, [progress])\n\n const tr = this.$createElement('tr', {\n staticClass: 'v-data-table__progress',\n }, [th])\n\n return this.$createElement('thead', [tr])\n },\n genHeaders (props: DataProps) {\n const data = {\n props: {\n ...this.sanitizedHeaderProps,\n headers: this.computedHeaders,\n options: props.options,\n mobile: this.isMobile,\n showGroupBy: this.showGroupBy,\n someItems: this.someItems,\n everyItem: this.everyItem,\n singleSelect: this.singleSelect,\n disableSort: this.disableSort,\n },\n on: {\n sort: props.sort,\n group: props.group,\n 'toggle-select-all': this.toggleSelectAll,\n },\n }\n\n const children: VNodeChildrenArrayContents = [getSlot(this, 'header', data)]\n\n if (!this.hideDefaultHeader) {\n const scopedSlots = getPrefixedScopedSlots('header.', this.$scopedSlots)\n children.push(this.$createElement(VDataTableHeader, {\n ...data,\n scopedSlots,\n }))\n }\n\n if (this.loading) children.push(this.genLoading())\n\n return children\n },\n genEmptyWrapper (content: VNodeChildrenArrayContents) {\n return this.$createElement('tr', {\n staticClass: 'v-data-table__empty-wrapper',\n }, [\n this.$createElement('td', {\n attrs: this.colspanAttrs,\n }, content),\n ])\n },\n genItems (items: any[], props: DataProps) {\n const empty = this.genEmpty(props.originalItemsLength, props.pagination.itemsLength)\n if (empty) return [empty]\n\n return props.groupedItems\n ? this.genGroupedRows(props.groupedItems, props)\n : this.genRows(items, props)\n },\n genGroupedRows (groupedItems: Record<string, any[]>, props: DataProps) {\n const groups = Object.keys(groupedItems || {})\n\n return groups.map(group => {\n if (!this.openCache.hasOwnProperty(group)) this.$set(this.openCache, group, true)\n\n if (this.$scopedSlots.group) {\n return this.$scopedSlots.group({\n group,\n options: props.options,\n items: groupedItems![group],\n headers: this.computedHeaders,\n })\n } else {\n return this.genDefaultGroupedRow(group, groupedItems[group], props)\n }\n })\n },\n genDefaultGroupedRow (group: string, items: any[], props: DataProps) {\n const isOpen = !!this.openCache[group]\n const children: VNodeChildren = [\n this.$createElement('template', { slot: 'row.content' }, this.genDefaultRows(items, props)),\n ]\n const toggleFn = () => this.$set(this.openCache, group, !this.openCache[group])\n const removeFn = () => props.updateOptions({ groupBy: [], groupDesc: [] })\n\n if (this.$scopedSlots['group.header']) {\n children.unshift(this.$createElement('template', { slot: 'column.header' }, [\n this.$scopedSlots['group.header']!({ group, groupBy: props.options.groupBy, items, headers: this.computedHeaders, toggle: toggleFn, remove: removeFn }),\n ]))\n } else {\n const toggle = this.$createElement(VBtn, {\n staticClass: 'ma-0',\n props: {\n icon: true,\n small: true,\n },\n on: {\n click: toggleFn,\n },\n }, [this.$createElement(VIcon, [isOpen ? '$minus' : '$plus'])])\n\n const remove = this.$createElement(VBtn, {\n staticClass: 'ma-0',\n props: {\n icon: true,\n small: true,\n },\n on: {\n click: removeFn,\n },\n }, [this.$createElement(VIcon, ['$close'])])\n\n const column = this.$createElement('td', {\n staticClass: 'text-start',\n attrs: this.colspanAttrs,\n }, [toggle, `${props.options.groupBy[0]}: ${group}`, remove])\n\n children.unshift(this.$createElement('template', { slot: 'column.header' }, [column]))\n }\n\n if (this.$scopedSlots['group.summary']) {\n children.push(this.$createElement('template', { slot: 'column.summary' }, [\n this.$scopedSlots['group.summary']!({ group, groupBy: props.options.groupBy, items, headers: this.computedHeaders }),\n ]))\n }\n\n return this.$createElement(RowGroup, {\n key: group,\n props: {\n value: isOpen,\n },\n }, children)\n },\n genRows (items: any[], props: DataProps) {\n return this.$scopedSlots.item ? this.genScopedRows(items, props) : this.genDefaultRows(items, props)\n },\n genScopedRows (items: any[], props: DataProps) {\n const rows = []\n\n for (let i = 0; i < items.length; i++) {\n const item = items[i]\n rows.push(this.$scopedSlots.item!({\n ...this.createItemProps(item),\n index: i,\n }))\n\n if (this.isExpanded(item)) {\n rows.push(this.$scopedSlots['expanded-item']!({ item, headers: this.computedHeaders }))\n }\n }\n\n return rows\n },\n genDefaultRows (items: any[], props: DataProps) {\n return this.$scopedSlots['expanded-item']\n ? items.map(item => this.genDefaultExpandedRow(item))\n : items.map(item => this.genDefaultSimpleRow(item))\n },\n genDefaultExpandedRow (item: any): VNode {\n const isExpanded = this.isExpanded(item)\n const classes = {\n 'v-data-table__expanded v-data-table__expanded__row': isExpanded,\n }\n const headerRow = this.genDefaultSimpleRow(item, classes)\n const expandedRow = this.$createElement('tr', {\n staticClass: 'v-data-table__expanded v-data-table__expanded__content',\n }, [this.$scopedSlots['expanded-item']!({ item, headers: this.computedHeaders })])\n\n return this.$createElement(RowGroup, {\n props: {\n value: isExpanded,\n },\n }, [\n this.$createElement('template', { slot: 'row.header' }, [headerRow]),\n this.$createElement('template', { slot: 'row.content' }, [expandedRow]),\n ])\n },\n genDefaultSimpleRow (item: any, classes: Record<string, boolean> = {}): VNode {\n const scopedSlots = getPrefixedScopedSlots('item.', this.$scopedSlots)\n\n const data = this.createItemProps(item)\n\n if (this.showSelect) {\n const slot = scopedSlots['data-table-select']\n scopedSlots['data-table-select'] = slot ? () => slot(data) : () => this.$createElement(VSimpleCheckbox, {\n staticClass: 'v-data-table__checkbox',\n props: {\n value: data.isSelected,\n },\n on: {\n input: (val: boolean) => data.select(val),\n },\n })\n }\n\n if (this.showExpand) {\n const slot = scopedSlots['data-table-expand']\n scopedSlots['data-table-expand'] = slot ? () => slot(data) : () => this.$createElement(VIcon, {\n staticClass: 'v-data-table__expand-icon',\n class: {\n 'v-data-table__expand-icon--active': data.isExpanded,\n },\n on: {\n click: (e: MouseEvent) => {\n e.stopPropagation()\n data.expand(!data.isExpanded)\n },\n },\n }, [this.expandIcon])\n }\n\n return this.$createElement(this.isMobile ? MobileRow : Row, {\n key: getObjectValueByPath(item, this.itemKey),\n class: {\n ...classes,\n 'v-data-table__selected': data.isSelected,\n },\n props: {\n headers: this.computedHeaders,\n item,\n rtl: this.$vuetify.rtl,\n },\n scopedSlots,\n on: {\n click: () => this.$emit('click:row', item),\n },\n })\n },\n genBody (props: DataProps): VNode | string | VNodeChildren {\n const data = {\n ...props,\n isMobile: this.isMobile,\n headers: this.computedHeaders,\n }\n\n if (this.$scopedSlots.body) {\n return this.$scopedSlots.body!(data)\n }\n\n return this.$createElement('tbody', [\n getSlot(this, 'body.prepend', data, true),\n this.genItems(props.items, props),\n getSlot(this, 'body.append', data, true),\n ])\n },\n genFooters (props: DataProps) {\n const data = {\n props: {\n options: props.options,\n pagination: props.pagination,\n itemsPerPageText: '$vuetify.dataTable.itemsPerPageText',\n ...this.sanitizedFooterProps,\n },\n on: {\n 'update:options': (value: any) => props.updateOptions(value),\n },\n widths: this.widths,\n headers: this.computedHeaders,\n }\n\n const children: VNodeChildren = [\n getSlot(this, 'footer', data, true),\n ]\n\n if (!this.hideDefaultFooter) {\n children.push(this.$createElement(VDataFooter, {\n ...data,\n scopedSlots: getPrefixedScopedSlots('footer.', this.$scopedSlots),\n }))\n }\n\n return children\n },\n genDefaultScopedSlot (props: DataProps): VNode {\n const simpleProps = {\n height: this.height,\n fixedHeader: this.fixedHeader,\n dense: this.dense,\n }\n\n // if (this.virtualRows) {\n // return this.$createElement(VVirtualTable, {\n // props: Object.assign(simpleProps, {\n // items: props.items,\n // height: this.height,\n // rowHeight: this.dense ? 24 : 48,\n // headerHeight: this.dense ? 32 : 48,\n // // TODO: expose rest of props from virtual table?\n // }),\n // scopedSlots: {\n // items: ({ items }) => this.genItems(items, props) as any,\n // },\n // }, [\n // this.proxySlot('body.before', [this.genCaption(props), this.genHeaders(props)]),\n // this.proxySlot('bottom', this.genFooters(props)),\n // ])\n // }\n\n return this.$createElement(VSimpleTable, {\n props: simpleProps,\n }, [\n this.proxySlot('top', getSlot(this, 'top', props, true)),\n this.genCaption(props),\n this.genColgroup(props),\n this.genHeaders(props),\n this.genBody(props),\n this.proxySlot('bottom', this.genFooters(props)),\n ])\n },\n proxySlot (slot: string, content: VNodeChildren) {\n return this.$createElement('template', { slot }, content)\n },\n },\n\n render (): VNode {\n return this.$createElement(VData, {\n props: {\n ...this.$props,\n customFilter: this.customFilterWithColumns,\n customSort: this.customSortWithHeaders,\n itemsPerPage: this.computedItemsPerPage,\n },\n on: {\n 'update:options': (v: DataOptions, old: DataOptions) => {\n this.internalGroupBy = v.groupBy || []\n !deepEqual(v, old) && this.$emit('update:options', v)\n },\n 'update:page': (v: number) => this.$emit('update:page', v),\n 'update:items-per-page': (v: number) => this.$emit('update:items-per-page', v),\n 'update:sort-by': (v: string | string[]) => this.$emit('update:sort-by', v),\n 'update:sort-desc': (v: boolean | boolean[]) => this.$emit('update:sort-desc', v),\n 'update:group-by': (v: string | string[]) => this.$emit('update:group-by', v),\n 'update:group-desc': (v: boolean | boolean[]) => this.$emit('update:group-desc', v),\n pagination: (v: DataPagination, old: DataPagination) => !deepEqual(v, old) && this.$emit('pagination', v),\n 'current-items': (v: any[]) => {\n this.internalCurrentItems = v\n this.$emit('current-items', v)\n },\n 'page-count': (v: number) => this.$emit('page-count', v),\n },\n scopedSlots: {\n default: this.genDefaultScopedSlot as any,\n },\n })\n },\n})\n","// extracted by mini-css-extract-plugin","import './VDataTableHeader.sass'\n\nimport Vue from 'vue'\nimport dedupeModelListeners from '../../util/dedupeModelListeners'\nimport rebuildSlots from '../../util/rebuildFunctionalSlots'\n\nimport VDataTableHeaderMobile from './VDataTableHeaderMobile'\nimport VDataTableHeaderDesktop from './VDataTableHeaderDesktop'\n\nexport default Vue.extend({\n name: 'v-data-table-header',\n\n functional: true,\n\n props: {\n mobile: Boolean,\n },\n\n render (h, { props, data, slots }) {\n dedupeModelListeners(data)\n const children = rebuildSlots(slots(), h)\n\n if (props.mobile) {\n return h(VDataTableHeaderMobile, data, children)\n } else {\n return h(VDataTableHeaderDesktop, data, children)\n }\n },\n})\n","// Helpers\nimport { VNode } from 'vue'\nimport mixins from '../../util/mixins'\nimport header, { TableHeader } from './mixins/header'\nimport { wrapInArray, convertToUnit } from '../../util/helpers'\n\nexport default mixins(header).extend({\n name: 'v-data-table-header-desktop',\n\n methods: {\n genGroupByToggle (header: TableHeader) {\n return this.$createElement('span', {\n on: {\n click: () => this.$emit('group', header.value),\n },\n }, ['group'])\n },\n // eslint-disable-next-line max-statements\n genHeader (header: TableHeader) {\n const listeners: any = {}\n const children = []\n const attrs = {\n role: 'columnheader',\n scope: 'col',\n 'aria-label': header.text || '',\n 'aria-sort': 'none',\n }\n\n const styles = {\n width: convertToUnit(header.width),\n minWidth: convertToUnit(header.width),\n }\n\n const classes = [\n `text-${header.align || 'start'}`,\n ...wrapInArray(header.class),\n header.divider && 'v-data-table__divider',\n ]\n\n if (header.value === 'data-table-select' && !this.singleSelect) {\n children.push(this.genSelectAll())\n } else {\n children.push(this.$scopedSlots[header.value]\n ? this.$scopedSlots[header.value]!({ header })\n : this.$createElement('span', [header.text])\n )\n\n if (!this.disableSort && (header.sortable || !header.hasOwnProperty('sortable'))) {\n listeners['click'] = () => this.$emit('sort', header.value)\n\n const sortIndex = this.options.sortBy.findIndex(k => k === header.value)\n const beingSorted = sortIndex >= 0\n const isDesc = this.options.sortDesc[sortIndex]\n\n classes.push('sortable')\n\n if (beingSorted) {\n classes.push('active')\n classes.push(isDesc ? 'desc' : 'asc')\n\n attrs['aria-sort'] = isDesc ? 'descending' : 'ascending'\n attrs['aria-label'] += isDesc\n ? this.$vuetify.lang.t('$vuetify.dataTable.ariaLabel.sortDescending')\n : this.$vuetify.lang.t('$vuetify.dataTable.ariaLabel.sortAscending')\n } else {\n attrs['aria-label'] += this.$vuetify.lang.t('$vuetify.dataTable.ariaLabel.sortNone')\n }\n\n if (header.align === 'end') children.unshift(this.genSortIcon())\n else children.push(this.genSortIcon())\n\n if (this.options.multiSort && beingSorted) {\n children.push(this.$createElement('span', { class: 'v-data-table-header__sort-badge' }, [String(sortIndex + 1)]))\n }\n }\n\n if (this.showGroupBy) {\n children.push(this.genGroupByToggle(header))\n }\n }\n\n return this.$createElement('th', {\n attrs,\n class: classes,\n style: styles,\n on: listeners,\n }, children)\n },\n },\n\n render (): VNode {\n return this.$createElement('thead', {\n staticClass: 'v-data-table-header',\n }, [\n this.$createElement('tr', this.headers.map(header => this.genHeader(header))),\n ])\n },\n})\n","import { VNode, VNodeChildrenArrayContents } from 'vue'\nimport mixins from '../../util/mixins'\nimport VSelect from '../VSelect/VSelect'\nimport VChip from '../VChip'\nimport header from './mixins/header'\nimport { wrapInArray } from '../../util/helpers'\n\nexport default mixins(header).extend({\n name: 'v-data-table-header-mobile',\n\n props: {\n sortByText: {\n type: String,\n default: '$vuetify.dataTable.sortBy',\n },\n },\n\n methods: {\n genSortChip (props: any) {\n const children: VNodeChildrenArrayContents = [props.item.text]\n\n const sortIndex = this.options.sortBy.findIndex(k => k === props.item.value)\n const beingSorted = sortIndex >= 0\n const isDesc = this.options.sortDesc[sortIndex]\n\n children.push(this.$createElement('div', {\n staticClass: 'v-chip__close',\n class: {\n sortable: true,\n active: beingSorted,\n asc: beingSorted && !isDesc,\n desc: beingSorted && isDesc,\n },\n }, [this.genSortIcon()]))\n\n return this.$createElement(VChip, {\n staticClass: 'sortable',\n nativeOn: {\n click: (e: MouseEvent) => {\n e.stopPropagation()\n this.$emit('sort', props.item.value)\n },\n },\n }, children)\n },\n genSortSelect () {\n const sortHeaders = this.headers.filter(h => h.sortable !== false && h.value !== 'data-table-select')\n\n return this.$createElement(VSelect, {\n props: {\n label: this.$vuetify.lang.t(this.sortByText),\n items: sortHeaders,\n hideDetails: true,\n multiple: this.options.multiSort,\n value: this.options.multiSort ? this.options.sortBy : this.options.sortBy[0],\n disabled: sortHeaders.length === 0 || this.disableSort,\n },\n on: {\n change: (v: string | string[]) => this.$emit('sort', v),\n },\n scopedSlots: {\n selection: props => this.genSortChip(props) as any, // TODO: whyyy?\n },\n })\n },\n },\n\n render (h): VNode {\n const children: VNodeChildrenArrayContents = []\n\n const header = this.headers.find(h => h.value === 'data-table-select')\n if (header && !this.singleSelect) {\n children.push(this.$createElement('div', {\n class: [\n 'v-data-table-header-mobile__select',\n ...wrapInArray(header.class),\n ],\n attrs: {\n width: header.width,\n },\n }, [this.genSelectAll()]))\n }\n\n children.push(this.genSortSelect())\n\n const th = h('th', [h('div', { staticClass: 'v-data-table-header-mobile__wrapper' }, children)])\n\n const tr = h('tr', [th])\n\n return h('thead', {\n staticClass: 'v-data-table-header v-data-table-header-mobile',\n }, [tr])\n },\n})\n","// extracted by mini-css-extract-plugin","// Styles\nimport './VEditDialog.sass'\n\n// Mixins\nimport Returnable from '../../mixins/returnable'\nimport Themeable from '../../mixins/themeable'\n\n// Utils\nimport { keyCodes } from '../../util/helpers'\n\n// Component\nimport VBtn from '../VBtn'\nimport VMenu from '../VMenu'\n\n// Types\nimport { VNode, VNodeChildren } from 'vue'\nimport mixins from '../../util/mixins'\n\n/* @vue/component */\nexport default mixins(Returnable, Themeable).extend({\n name: 'v-edit-dialog',\n\n props: {\n cancelText: {\n default: 'Cancel',\n },\n large: Boolean,\n eager: Boolean,\n persistent: Boolean,\n saveText: {\n default: 'Save',\n },\n transition: {\n type: String,\n default: 'slide-x-reverse-transition',\n },\n },\n\n data () {\n return {\n isActive: false,\n }\n },\n\n watch: {\n isActive (val) {\n if (val) {\n this.$emit('open')\n setTimeout(this.focus, 50) // Give DOM time to paint\n } else {\n this.$emit('close')\n }\n },\n },\n\n methods: {\n cancel () {\n this.isActive = false\n this.$emit('cancel')\n },\n focus () {\n const input = (this.$refs.content as Element).querySelector('input')\n input && input.focus()\n },\n genButton (fn: Function, text: VNodeChildren): VNode {\n return this.$createElement(VBtn, {\n props: {\n text: true,\n color: 'primary',\n light: true,\n },\n on: { click: fn },\n }, text)\n },\n genActions (): VNode {\n return this.$createElement('div', {\n class: 'v-small-dialog__actions',\n }, [\n this.genButton(this.cancel, this.cancelText),\n this.genButton(() => {\n this.save(this.returnValue)\n this.$emit('save')\n }, this.saveText),\n ])\n },\n genContent (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-small-dialog__content',\n on: {\n keydown: (e: KeyboardEvent) => {\n const input = (this.$refs.content as Element).querySelector('input')\n e.keyCode === keyCodes.esc && this.cancel()\n if (e.keyCode === keyCodes.enter && input) {\n this.save(input.value)\n this.$emit('save')\n }\n },\n },\n ref: 'content',\n }, [this.$slots.input])\n },\n },\n\n render (h): VNode {\n return h(VMenu, {\n staticClass: 'v-small-dialog',\n class: this.themeClasses,\n props: {\n contentClass: 'v-small-dialog__menu-content',\n transition: this.transition,\n origin: 'top right',\n right: true,\n value: this.isActive,\n closeOnClick: !this.persistent,\n closeOnContentClick: false,\n eager: this.eager,\n light: this.light,\n dark: this.dark,\n },\n on: {\n input: (val: boolean) => (this.isActive = val),\n },\n scopedSlots: {\n activator: ({ on }) => {\n return h('div', {\n staticClass: 'v-small-dialog__activator',\n on,\n }, [\n h('span', {\n staticClass: 'v-small-dialog__activator__content',\n }, this.$slots.default),\n ])\n },\n },\n }, [\n this.genContent(),\n this.large ? this.genActions() : null,\n ])\n },\n})\n","// extracted by mini-css-extract-plugin","import './VSimpleTable.sass'\n\nimport { convertToUnit } from '../../util/helpers'\nimport Themeable from '../../mixins/themeable'\nimport mixins from '../../util/mixins'\nimport { VNode } from 'vue'\n\nexport default mixins(Themeable).extend({\n name: 'v-simple-table',\n\n props: {\n dense: Boolean,\n fixedHeader: Boolean,\n height: [Number, String],\n },\n\n computed: {\n classes (): Record<string, boolean> {\n return {\n 'v-data-table--dense': this.dense,\n 'v-data-table--fixed-height': !!this.height && !this.fixedHeader,\n 'v-data-table--fixed-header': this.fixedHeader,\n ...this.themeClasses,\n }\n },\n },\n\n methods: {\n genWrapper () {\n return this.$slots.wrapper || this.$createElement('div', {\n staticClass: 'v-data-table__wrapper',\n style: {\n height: convertToUnit(this.height),\n },\n }, [\n this.$createElement('table', this.$slots.default),\n ])\n },\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-data-table',\n class: this.classes,\n }, [\n this.$slots.top,\n this.genWrapper(),\n this.$slots.bottom,\n ])\n },\n})\n","// extracted by mini-css-extract-plugin","import './VVirtualTable.sass'\n\n// Components\nimport VSimpleTable from './VSimpleTable'\n\n// Types\nimport { VNode, VNodeChildren } from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport mixins from '../../util/mixins'\n\n// Utiltiies\nimport { convertToUnit, debounce } from '../../util/helpers'\n\n// Types\nconst baseMixins = mixins(VSimpleTable)\n\ninterface options extends InstanceType<typeof baseMixins> {\n $refs: {\n table: HTMLElement\n }\n cachedItems: VNodeChildren\n}\n\nexport default baseMixins.extend<options>().extend({\n name: 'v-virtual-table',\n\n props: {\n chunkSize: {\n type: Number,\n default: 25,\n },\n headerHeight: {\n type: Number,\n default: 48,\n },\n items: {\n type: Array,\n default: () => ([]),\n } as PropValidator<any[]>,\n rowHeight: {\n type: Number,\n default: 48,\n },\n },\n\n data: () => ({\n scrollTop: 0,\n oldChunk: 0,\n scrollDebounce: null as any,\n invalidateCache: false,\n }),\n\n computed: {\n itemsLength (): number {\n return this.items.length\n },\n totalHeight (): number {\n return (this.itemsLength * this.rowHeight) + this.headerHeight\n },\n topIndex (): number {\n return Math.floor(this.scrollTop / this.rowHeight)\n },\n chunkIndex (): number {\n return Math.floor(this.topIndex / this.chunkSize)\n },\n startIndex (): number {\n return Math.max(0, (this.chunkIndex * this.chunkSize) - this.chunkSize)\n },\n offsetTop (): number {\n return Math.max(0, this.startIndex * this.rowHeight)\n },\n stopIndex (): number {\n return Math.min(this.startIndex + (this.chunkSize * 3), this.itemsLength)\n },\n offsetBottom (): number {\n return Math.max(0, (this.itemsLength - this.stopIndex - this.startIndex) * this.rowHeight)\n },\n },\n\n watch: {\n chunkIndex (newValue, oldValue) {\n this.oldChunk = oldValue\n },\n items () {\n this.cachedItems = null\n this.$refs.table.scrollTop = 0\n },\n },\n\n created () {\n this.cachedItems = null\n },\n\n mounted () {\n this.scrollDebounce = debounce(this.onScroll, 50)\n\n this.$refs.table.addEventListener('scroll', this.scrollDebounce, { passive: true })\n },\n\n beforeDestroy () {\n this.$refs.table.removeEventListener('scroll', this.scrollDebounce)\n },\n\n methods: {\n createStyleHeight (height: number) {\n return {\n height: `${height}px`,\n }\n },\n genBody () {\n if (this.cachedItems === null || this.chunkIndex !== this.oldChunk) {\n this.cachedItems = this.genItems()\n this.oldChunk = this.chunkIndex\n }\n\n return this.$createElement('tbody', [\n this.$createElement('tr', { style: this.createStyleHeight(this.offsetTop) }),\n this.cachedItems,\n this.$createElement('tr', { style: this.createStyleHeight(this.offsetBottom) }),\n ])\n },\n genItems () {\n return this.$scopedSlots.items!({ items: this.items.slice(this.startIndex, this.stopIndex) })\n },\n onScroll (e: Event) {\n const target = e.target as Element\n this.scrollTop = target.scrollTop\n },\n genTable () {\n return this.$createElement('div', {\n ref: 'table',\n staticClass: 'v-virtual-table__table',\n }, [\n this.$createElement('table', [\n this.$slots['body.before'],\n this.genBody(),\n this.$slots['body.after'],\n ]),\n ])\n },\n genWrapper () {\n return this.$createElement('div', {\n staticClass: 'v-virtual-table__wrapper',\n style: {\n height: convertToUnit(this.height),\n },\n }, [\n this.genTable(),\n ])\n },\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-data-table v-virtual-table',\n class: this.classes,\n }, [\n this.$slots.top,\n this.genWrapper(),\n this.$slots.bottom,\n ])\n },\n})\n","import { createSimpleFunctional } from '../../util/helpers'\n\nimport VDataTable from './VDataTable'\nimport VDataTableHeader from './VDataTableHeader'\nimport VEditDialog from './VEditDialog'\nimport VSimpleTable from './VSimpleTable'\nimport VVirtualTable from './VVirtualTable'\n\nconst VTableOverflow = createSimpleFunctional('v-table__overflow')\n\nexport { VDataTable, VEditDialog, VTableOverflow, VDataTableHeader, VSimpleTable, VVirtualTable }\n\nexport default {\n $_vuetify_subcomponents: {\n VDataTable,\n VDataTableHeader,\n VEditDialog,\n VTableOverflow,\n VSimpleTable,\n VVirtualTable,\n },\n}\n","import { VDataTable } from '../'\nimport { DataOptions } from '../../VData/VData'\nimport VIcon from '../../VIcon'\nimport VSimpleCheckbox from '../../VCheckbox/VSimpleCheckbox'\nimport ripple from '../../../directives/ripple'\n\nimport Vue, { PropType } from 'vue'\nimport mixins from '../../../util/mixins'\nimport { compareFn } from '../../../util/helpers'\n\nexport interface TableHeader {\n text: string\n value: string\n align?: 'start' | 'center' | 'end'\n sortable?: boolean\n filterable?: boolean\n divider?: boolean\n class?: string | string[]\n width?: string | number\n filter?: (value: any, search: string | null, item: any) => boolean\n sort?: compareFn\n}\n\ntype VDataTableInstance = InstanceType<typeof VDataTable>\n\ninterface options extends Vue {\n dataTable: VDataTableInstance\n}\n\nexport default mixins<options>().extend({\n // https://github.com/vuejs/vue/issues/6872\n directives: {\n ripple,\n },\n\n props: {\n headers: {\n type: Array as PropType<TableHeader[]>,\n required: true,\n },\n options: {\n type: Object as PropType<DataOptions>,\n default: () => ({\n page: 1,\n itemsPerPage: 10,\n sortBy: [],\n sortDesc: [],\n groupBy: [],\n groupDesc: [],\n multiSort: false,\n mustSort: false,\n }),\n },\n sortIcon: {\n type: String,\n default: '$sort',\n },\n everyItem: Boolean,\n someItems: Boolean,\n showGroupBy: Boolean,\n singleSelect: Boolean,\n disableSort: Boolean,\n },\n\n methods: {\n genSelectAll () {\n const data = {\n props: {\n value: this.everyItem,\n indeterminate: !this.everyItem && this.someItems,\n },\n on: {\n input: (v: boolean) => this.$emit('toggle-select-all', v),\n },\n }\n\n if (this.$scopedSlots['data-table-select']) {\n return this.$scopedSlots['data-table-select']!(data)\n }\n\n return this.$createElement(VSimpleCheckbox, {\n staticClass: 'v-data-table__checkbox',\n ...data,\n })\n },\n genSortIcon () {\n return this.$createElement(VIcon, {\n staticClass: 'v-data-table-header__icon',\n props: {\n size: 18,\n },\n }, [this.sortIcon])\n },\n },\n})\n","// Components\nimport VDatePickerTitle from './VDatePickerTitle'\nimport VDatePickerHeader from './VDatePickerHeader'\nimport VDatePickerDateTable from './VDatePickerDateTable'\nimport VDatePickerMonthTable from './VDatePickerMonthTable'\nimport VDatePickerYears from './VDatePickerYears'\n\n// Mixins\nimport Localable from '../../mixins/localable'\nimport Picker from '../../mixins/picker'\n\n// Utils\nimport { pad, createNativeLocaleFormatter } from './util'\nimport isDateAllowed, { AllowedDateFunction } from './util/isDateAllowed'\nimport { consoleWarn } from '../../util/console'\nimport { daysInMonth } from '../VCalendar/util/timestamp'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { PropValidator } from 'vue/types/options'\nimport { DatePickerFormatter } from './util/createNativeLocaleFormatter'\nimport { VNode } from 'vue'\n\nexport type DateEventColorValue = string | string[]\nexport type DateEvents = string[] | ((date: string) => boolean | DateEventColorValue) | Record<string, DateEventColorValue>\nexport type DateEventColors = DateEventColorValue | Record<string, DateEventColorValue> | ((date: string) => DateEventColorValue)\ntype DatePickerValue = string | string[] | undefined\ntype DatePickerType = 'date' | 'month'\ntype DatePickerMultipleFormatter = (date: string[]) => string\ninterface Formatters {\n year: DatePickerFormatter\n titleDate: DatePickerFormatter | DatePickerMultipleFormatter\n}\n\n// Adds leading zero to month/day if necessary, returns 'YYYY' if type = 'year',\n// 'YYYY-MM' if 'month' and 'YYYY-MM-DD' if 'date'\nfunction sanitizeDateString (dateString: string, type: 'date' | 'month' | 'year'): string {\n const [year, month = 1, date = 1] = dateString.split('-')\n return `${year}-${pad(month)}-${pad(date)}`.substr(0, { date: 10, month: 7, year: 4 }[type])\n}\n\nexport default mixins(\n Localable,\n Picker\n/* @vue/component */\n).extend({\n name: 'v-date-picker',\n\n props: {\n allowedDates: Function as PropValidator<AllowedDateFunction | undefined>,\n // Function formatting the day in date picker table\n dayFormat: Function as PropValidator<AllowedDateFunction | undefined>,\n disabled: Boolean,\n events: {\n type: [Array, Function, Object],\n default: () => null,\n } as any as PropValidator<DateEvents>,\n eventColor: {\n type: [Array, Function, Object, String],\n default: () => 'warning',\n } as any as PropValidator<DateEventColors>,\n firstDayOfWeek: {\n type: [String, Number],\n default: 0,\n },\n // Function formatting the tableDate in the day/month table header\n headerDateFormat: Function as PropValidator<DatePickerFormatter | undefined>,\n max: String,\n min: String,\n // Function formatting month in the months table\n monthFormat: Function as PropValidator<DatePickerFormatter | undefined>,\n multiple: Boolean,\n nextIcon: {\n type: String,\n default: '$next',\n },\n pickerDate: String,\n prevIcon: {\n type: String,\n default: '$prev',\n },\n range: Boolean,\n reactive: Boolean,\n readonly: Boolean,\n scrollable: Boolean,\n showCurrent: {\n type: [Boolean, String],\n default: true,\n },\n selectedItemsText: {\n type: String,\n default: '$vuetify.datePicker.itemsSelected',\n },\n showWeek: Boolean,\n // Function formatting currently selected date in the picker title\n titleDateFormat: Function as PropValidator<DatePickerFormatter | DatePickerMultipleFormatter | undefined>,\n type: {\n type: String,\n default: 'date',\n validator: (type: any) => ['date', 'month'].includes(type), // TODO: year\n } as any as PropValidator<DatePickerType>,\n value: [Array, String] as PropValidator<DatePickerValue>,\n weekdayFormat: Function as PropValidator<DatePickerFormatter | undefined>,\n // Function formatting the year in table header and pickup title\n yearFormat: Function as PropValidator<DatePickerFormatter | undefined>,\n yearIcon: String,\n },\n\n data () {\n const now = new Date()\n return {\n activePicker: this.type.toUpperCase(),\n inputDay: null as number | null,\n inputMonth: null as number | null,\n inputYear: null as number | null,\n isReversing: false,\n now,\n // tableDate is a string in 'YYYY' / 'YYYY-M' format (leading zero for month is not required)\n tableDate: (() => {\n if (this.pickerDate) {\n return this.pickerDate\n }\n\n const date = (this.multiple || this.range ? (this.value as string[])[(this.value as string[]).length - 1] : this.value) ||\n `${now.getFullYear()}-${now.getMonth() + 1}`\n return sanitizeDateString(date as string, this.type === 'date' ? 'month' : 'year')\n })(),\n }\n },\n\n computed: {\n isMultiple (): boolean {\n return this.multiple || this.range\n },\n lastValue (): string | null {\n return this.isMultiple ? (this.value as string[])[(this.value as string[]).length - 1] : (this.value as string | null)\n },\n selectedMonths (): string | string[] | undefined {\n if (!this.value || !this.value.length || this.type === 'month') {\n return this.value\n } else if (this.isMultiple) {\n return (this.value as string[]).map(val => val.substr(0, 7))\n } else {\n return (this.value as string).substr(0, 7)\n }\n },\n current (): string | null {\n if (this.showCurrent === true) {\n return sanitizeDateString(`${this.now.getFullYear()}-${this.now.getMonth() + 1}-${this.now.getDate()}`, this.type)\n }\n\n return this.showCurrent || null\n },\n inputDate (): string {\n return this.type === 'date'\n ? `${this.inputYear}-${pad(this.inputMonth! + 1)}-${pad(this.inputDay!)}`\n : `${this.inputYear}-${pad(this.inputMonth! + 1)}`\n },\n tableMonth (): number {\n return Number((this.pickerDate || this.tableDate).split('-')[1]) - 1\n },\n tableYear (): number {\n return Number((this.pickerDate || this.tableDate).split('-')[0])\n },\n minMonth (): string | null {\n return this.min ? sanitizeDateString(this.min, 'month') : null\n },\n maxMonth (): string | null {\n return this.max ? sanitizeDateString(this.max, 'month') : null\n },\n minYear (): string | null {\n return this.min ? sanitizeDateString(this.min, 'year') : null\n },\n maxYear (): string | null {\n return this.max ? sanitizeDateString(this.max, 'year') : null\n },\n formatters (): Formatters {\n return {\n year: this.yearFormat || createNativeLocaleFormatter(this.currentLocale, { year: 'numeric', timeZone: 'UTC' }, { length: 4 }),\n titleDate: this.titleDateFormat ||\n (this.isMultiple ? this.defaultTitleMultipleDateFormatter : this.defaultTitleDateFormatter),\n }\n },\n defaultTitleMultipleDateFormatter (): DatePickerMultipleFormatter {\n return dates => {\n if (!dates.length) {\n return '-'\n }\n\n if (dates.length === 1) {\n return this.defaultTitleDateFormatter(dates[0])\n }\n\n return this.$vuetify.lang.t(this.selectedItemsText, dates.length)\n }\n },\n defaultTitleDateFormatter (): DatePickerFormatter {\n const titleFormats = {\n year: { year: 'numeric', timeZone: 'UTC' },\n month: { month: 'long', timeZone: 'UTC' },\n date: { weekday: 'short', month: 'short', day: 'numeric', timeZone: 'UTC' },\n }\n\n const titleDateFormatter = createNativeLocaleFormatter(this.currentLocale, titleFormats[this.type], {\n start: 0,\n length: { date: 10, month: 7, year: 4 }[this.type],\n })\n\n const landscapeFormatter = (date: string) => titleDateFormatter(date)\n .replace(/([^\\d\\s])([\\d])/g, (match, nonDigit, digit) => `${nonDigit} ${digit}`)\n .replace(', ', ',<br>')\n\n return this.landscape ? landscapeFormatter : titleDateFormatter\n },\n },\n\n watch: {\n tableDate (val: string, prev: string) {\n // Make a ISO 8601 strings from val and prev for comparision, otherwise it will incorrectly\n // compare for example '2000-9' and '2000-10'\n const sanitizeType = this.type === 'month' ? 'year' : 'month'\n this.isReversing = sanitizeDateString(val, sanitizeType) < sanitizeDateString(prev, sanitizeType)\n this.$emit('update:picker-date', val)\n },\n pickerDate (val: string | null) {\n if (val) {\n this.tableDate = val\n } else if (this.lastValue && this.type === 'date') {\n this.tableDate = sanitizeDateString(this.lastValue, 'month')\n } else if (this.lastValue && this.type === 'month') {\n this.tableDate = sanitizeDateString(this.lastValue, 'year')\n }\n },\n value (newValue: DatePickerValue, oldValue: DatePickerValue) {\n this.checkMultipleProp()\n this.setInputDate()\n\n if (!this.isMultiple && this.value && !this.pickerDate) {\n this.tableDate = sanitizeDateString(this.inputDate, this.type === 'month' ? 'year' : 'month')\n } else if (this.isMultiple && (this.value as string[]).length && !(oldValue as string[]).length && !this.pickerDate) {\n this.tableDate = sanitizeDateString(this.inputDate, this.type === 'month' ? 'year' : 'month')\n }\n },\n type (type: DatePickerType) {\n this.activePicker = type.toUpperCase()\n\n if (this.value && this.value.length) {\n const output = (this.isMultiple ? (this.value as string[]) : [this.value as string])\n .map((val: string) => sanitizeDateString(val, type))\n .filter(this.isDateAllowed)\n this.$emit('input', this.isMultiple ? output : output[0])\n }\n },\n },\n\n created () {\n this.checkMultipleProp()\n\n if (this.pickerDate !== this.tableDate) {\n this.$emit('update:picker-date', this.tableDate)\n }\n this.setInputDate()\n },\n\n methods: {\n emitInput (newInput: string) {\n if (this.range && this.value) {\n this.value.length === 2\n ? this.$emit('input', [newInput])\n : this.$emit('input', [...this.value, newInput])\n return\n }\n\n const output = this.multiple\n ? (\n (this.value as string[]).indexOf(newInput) === -1\n ? (this.value as string[]).concat([newInput])\n : (this.value as string[]).filter(x => x !== newInput)\n )\n : newInput\n\n this.$emit('input', output)\n this.multiple || this.$emit('change', newInput)\n },\n checkMultipleProp () {\n if (this.value == null) return\n const valueType = this.value.constructor.name\n const expected = this.isMultiple ? 'Array' : 'String'\n if (valueType !== expected) {\n consoleWarn(`Value must be ${this.isMultiple ? 'an' : 'a'} ${expected}, got ${valueType}`, this)\n }\n },\n isDateAllowed (value: string) {\n return isDateAllowed(value, this.min, this.max, this.allowedDates)\n },\n yearClick (value: number) {\n this.inputYear = value\n if (this.type === 'month') {\n this.tableDate = `${value}`\n } else {\n this.tableDate = `${value}-${pad((this.tableMonth || 0) + 1)}`\n }\n this.activePicker = 'MONTH'\n if (this.reactive && !this.readonly && !this.isMultiple && this.isDateAllowed(this.inputDate)) {\n this.$emit('input', this.inputDate)\n }\n },\n monthClick (value: string) {\n this.inputYear = parseInt(value.split('-')[0], 10)\n this.inputMonth = parseInt(value.split('-')[1], 10) - 1\n if (this.type === 'date') {\n if (this.inputDay) {\n this.inputDay = Math.min(this.inputDay, daysInMonth(this.inputYear, this.inputMonth + 1))\n }\n\n this.tableDate = value\n this.activePicker = 'DATE'\n if (this.reactive && !this.readonly && !this.isMultiple && this.isDateAllowed(this.inputDate)) {\n this.$emit('input', this.inputDate)\n }\n } else {\n this.emitInput(this.inputDate)\n }\n },\n dateClick (value: string) {\n this.inputYear = parseInt(value.split('-')[0], 10)\n this.inputMonth = parseInt(value.split('-')[1], 10) - 1\n this.inputDay = parseInt(value.split('-')[2], 10)\n this.emitInput(this.inputDate)\n },\n genPickerTitle () {\n return this.$createElement(VDatePickerTitle, {\n props: {\n date: this.value ? (this.formatters.titleDate as (value: any) => string)(this.value) : '',\n disabled: this.disabled,\n readonly: this.readonly,\n selectingYear: this.activePicker === 'YEAR',\n year: this.formatters.year(this.value ? `${this.inputYear}` : this.tableDate),\n yearIcon: this.yearIcon,\n value: this.isMultiple ? (this.value as string[])[0] : this.value,\n },\n slot: 'title',\n on: {\n 'update:selecting-year': (value: boolean) => this.activePicker = value ? 'YEAR' : this.type.toUpperCase(),\n },\n })\n },\n genTableHeader () {\n return this.$createElement(VDatePickerHeader, {\n props: {\n nextIcon: this.nextIcon,\n color: this.color,\n dark: this.dark,\n disabled: this.disabled,\n format: this.headerDateFormat,\n light: this.light,\n locale: this.locale,\n min: this.activePicker === 'DATE' ? this.minMonth : this.minYear,\n max: this.activePicker === 'DATE' ? this.maxMonth : this.maxYear,\n prevIcon: this.prevIcon,\n readonly: this.readonly,\n value: this.activePicker === 'DATE' ? `${pad(this.tableYear, 4)}-${pad(this.tableMonth + 1)}` : `${pad(this.tableYear, 4)}`,\n },\n on: {\n toggle: () => this.activePicker = (this.activePicker === 'DATE' ? 'MONTH' : 'YEAR'),\n input: (value: string) => this.tableDate = value,\n },\n })\n },\n genDateTable () {\n return this.$createElement(VDatePickerDateTable, {\n props: {\n allowedDates: this.allowedDates,\n color: this.color,\n current: this.current,\n dark: this.dark,\n disabled: this.disabled,\n events: this.events,\n eventColor: this.eventColor,\n firstDayOfWeek: this.firstDayOfWeek,\n format: this.dayFormat,\n light: this.light,\n locale: this.locale,\n min: this.min,\n max: this.max,\n range: this.range,\n readonly: this.readonly,\n scrollable: this.scrollable,\n showWeek: this.showWeek,\n tableDate: `${pad(this.tableYear, 4)}-${pad(this.tableMonth + 1)}`,\n value: this.value,\n weekdayFormat: this.weekdayFormat,\n },\n ref: 'table',\n on: {\n input: this.dateClick,\n 'update:table-date': (value: string) => this.tableDate = value,\n 'click:date': (value: string) => this.$emit('click:date', value),\n 'dblclick:date': (value: string) => this.$emit('dblclick:date', value),\n },\n })\n },\n genMonthTable () {\n return this.$createElement(VDatePickerMonthTable, {\n props: {\n allowedDates: this.type === 'month' ? this.allowedDates : null,\n color: this.color,\n current: this.current ? sanitizeDateString(this.current, 'month') : null,\n dark: this.dark,\n disabled: this.disabled,\n events: this.type === 'month' ? this.events : null,\n eventColor: this.type === 'month' ? this.eventColor : null,\n format: this.monthFormat,\n light: this.light,\n locale: this.locale,\n min: this.minMonth,\n max: this.maxMonth,\n readonly: this.readonly && this.type === 'month',\n scrollable: this.scrollable,\n value: this.selectedMonths,\n tableDate: `${pad(this.tableYear, 4)}`,\n },\n ref: 'table',\n on: {\n input: this.monthClick,\n 'update:table-date': (value: string) => this.tableDate = value,\n 'click:month': (value: string) => this.$emit('click:month', value),\n 'dblclick:month': (value: string) => this.$emit('dblclick:month', value),\n },\n })\n },\n genYears () {\n return this.$createElement(VDatePickerYears, {\n props: {\n color: this.color,\n format: this.yearFormat,\n locale: this.locale,\n min: this.minYear,\n max: this.maxYear,\n value: this.tableYear,\n },\n on: {\n input: this.yearClick,\n },\n })\n },\n genPickerBody () {\n const children = this.activePicker === 'YEAR' ? [\n this.genYears(),\n ] : [\n this.genTableHeader(),\n this.activePicker === 'DATE' ? this.genDateTable() : this.genMonthTable(),\n ]\n\n return this.$createElement('div', {\n key: this.activePicker,\n }, children)\n },\n setInputDate () {\n if (this.lastValue) {\n const array = this.lastValue.split('-')\n this.inputYear = parseInt(array[0], 10)\n this.inputMonth = parseInt(array[1], 10) - 1\n if (this.type === 'date') {\n this.inputDay = parseInt(array[2], 10)\n }\n } else {\n this.inputYear = this.inputYear || this.now.getFullYear()\n this.inputMonth = this.inputMonth == null ? this.inputMonth : this.now.getMonth()\n this.inputDay = this.inputDay || this.now.getDate()\n }\n },\n },\n\n render (): VNode {\n return this.genPicker('v-picker--date')\n },\n})\n","// Mixins\nimport DatePickerTable from './mixins/date-picker-table'\n\n// Utils\nimport { pad, createNativeLocaleFormatter, monthChange } from './util'\nimport { createRange } from '../../util/helpers'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { DatePickerFormatter } from './util/createNativeLocaleFormatter'\nimport { PropValidator } from 'vue/types/options'\nimport { VNode, VNodeChildren } from 'vue'\n\nexport default mixins(\n DatePickerTable\n/* @vue/component */\n).extend({\n name: 'v-date-picker-date-table',\n\n props: {\n firstDayOfWeek: {\n type: [String, Number],\n default: 0,\n },\n showWeek: Boolean,\n weekdayFormat: Function as PropValidator<DatePickerFormatter | undefined>,\n },\n\n computed: {\n formatter (): DatePickerFormatter {\n return this.format || createNativeLocaleFormatter(this.currentLocale, { day: 'numeric', timeZone: 'UTC' }, { start: 8, length: 2 })\n },\n weekdayFormatter (): DatePickerFormatter | undefined {\n return this.weekdayFormat || createNativeLocaleFormatter(this.currentLocale, { weekday: 'narrow', timeZone: 'UTC' })\n },\n weekDays (): string[] {\n const first = parseInt(this.firstDayOfWeek, 10)\n\n return this.weekdayFormatter\n ? createRange(7).map(i => this.weekdayFormatter!(`2017-01-${first + i + 15}`)) // 2017-01-15 is Sunday\n : createRange(7).map(i => ['S', 'M', 'T', 'W', 'T', 'F', 'S'][(i + first) % 7])\n },\n },\n\n methods: {\n calculateTableDate (delta: number) {\n return monthChange(this.tableDate, Math.sign(delta || 1))\n },\n genTHead () {\n const days = this.weekDays.map(day => this.$createElement('th', day))\n this.showWeek && days.unshift(this.$createElement('th'))\n return this.$createElement('thead', this.genTR(days))\n },\n // Returns number of the days from the firstDayOfWeek to the first day of the current month\n weekDaysBeforeFirstDayOfTheMonth () {\n const firstDayOfTheMonth = new Date(`${this.displayedYear}-${pad(this.displayedMonth + 1)}-01T00:00:00+00:00`)\n const weekDay = firstDayOfTheMonth.getUTCDay()\n return (weekDay - parseInt(this.firstDayOfWeek) + 7) % 7\n },\n getWeekNumber () {\n let dayOfYear = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334][this.displayedMonth]\n if (this.displayedMonth > 1 &&\n (((this.displayedYear % 4 === 0) && (this.displayedYear % 100 !== 0)) || (this.displayedYear % 400 === 0))\n ) {\n dayOfYear++\n }\n const offset = (\n this.displayedYear +\n ((this.displayedYear - 1) >> 2) -\n Math.floor((this.displayedYear - 1) / 100) +\n Math.floor((this.displayedYear - 1) / 400) -\n Number(this.firstDayOfWeek)\n ) % 7 // https://en.wikipedia.org/wiki/Zeller%27s_congruence\n return Math.floor((dayOfYear + offset) / 7) + 1\n },\n genWeekNumber (weekNumber: number) {\n return this.$createElement('td', [\n this.$createElement('small', {\n staticClass: 'v-date-picker-table--date__week',\n }, String(weekNumber).padStart(2, '0')),\n ])\n },\n genTBody () {\n const children = []\n const daysInMonth = new Date(this.displayedYear, this.displayedMonth + 1, 0).getDate()\n let rows = []\n let day = this.weekDaysBeforeFirstDayOfTheMonth()\n let weekNumber = this.getWeekNumber()\n\n this.showWeek && rows.push(this.genWeekNumber(weekNumber++))\n\n while (day--) rows.push(this.$createElement('td'))\n for (day = 1; day <= daysInMonth; day++) {\n const date = `${this.displayedYear}-${pad(this.displayedMonth + 1)}-${pad(day)}`\n\n rows.push(this.$createElement('td', [\n this.genButton(date, true, 'date', this.formatter),\n ]))\n\n if (rows.length % (this.showWeek ? 8 : 7) === 0) {\n children.push(this.genTR(rows))\n rows = []\n day < daysInMonth && this.showWeek && rows.push(this.genWeekNumber(weekNumber++))\n }\n }\n\n if (rows.length) {\n children.push(this.genTR(rows))\n }\n\n return this.$createElement('tbody', children)\n },\n genTR (children: VNodeChildren) {\n return [this.$createElement('tr', children)]\n },\n },\n\n render (): VNode {\n return this.genTable('v-date-picker-table v-date-picker-table--date', [\n this.genTHead(),\n this.genTBody(),\n ], this.calculateTableDate)\n },\n})\n","// extracted by mini-css-extract-plugin","import './VDatePickerHeader.sass'\n\n// Components\nimport VBtn from '../VBtn'\nimport VIcon from '../VIcon'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Localable from '../../mixins/localable'\nimport Themeable from '../../mixins/themeable'\n\n// Utils\nimport { createNativeLocaleFormatter, monthChange } from './util'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\nimport { DatePickerFormatter } from './util/createNativeLocaleFormatter'\nimport { PropValidator } from 'vue/types/options'\n\nexport default mixins(\n Colorable,\n Localable,\n Themeable\n/* @vue/component */\n).extend({\n name: 'v-date-picker-header',\n\n props: {\n disabled: Boolean,\n format: Function as PropValidator<DatePickerFormatter | undefined>,\n min: String,\n max: String,\n nextIcon: {\n type: String,\n default: '$next',\n },\n prevIcon: {\n type: String,\n default: '$prev',\n },\n readonly: Boolean,\n value: {\n type: [Number, String],\n required: true,\n },\n },\n\n data () {\n return {\n isReversing: false,\n }\n },\n\n computed: {\n formatter (): DatePickerFormatter {\n if (this.format) {\n return this.format\n } else if (String(this.value).split('-')[1]) {\n return createNativeLocaleFormatter(this.currentLocale, { month: 'long', year: 'numeric', timeZone: 'UTC' }, { length: 7 })\n } else {\n return createNativeLocaleFormatter(this.currentLocale, { year: 'numeric', timeZone: 'UTC' }, { length: 4 })\n }\n },\n },\n\n watch: {\n value (newVal, oldVal) {\n this.isReversing = newVal < oldVal\n },\n },\n\n methods: {\n genBtn (change: number) {\n const disabled = this.disabled ||\n (change < 0 && this.min && this.calculateChange(change) < this.min) ||\n (change > 0 && this.max && this.calculateChange(change) > this.max)\n\n return this.$createElement(VBtn, {\n props: {\n dark: this.dark,\n disabled,\n icon: true,\n light: this.light,\n },\n nativeOn: {\n click: (e: Event) => {\n e.stopPropagation()\n this.$emit('input', this.calculateChange(change))\n },\n },\n }, [\n this.$createElement(VIcon, ((change < 0) === !this.$vuetify.rtl) ? this.prevIcon : this.nextIcon),\n ])\n },\n calculateChange (sign: number) {\n const [year, month] = String(this.value).split('-').map(Number)\n\n if (month == null) {\n return `${year + sign}`\n } else {\n return monthChange(String(this.value), sign)\n }\n },\n genHeader () {\n const color = !this.disabled && (this.color || 'accent')\n const header = this.$createElement('div', this.setTextColor(color, {\n key: String(this.value),\n }), [this.$createElement('button', {\n attrs: {\n type: 'button',\n },\n on: {\n click: () => this.$emit('toggle'),\n },\n }, [this.$slots.default || this.formatter(String(this.value))])])\n\n const transition = this.$createElement('transition', {\n props: {\n name: (this.isReversing === !this.$vuetify.rtl) ? 'tab-reverse-transition' : 'tab-transition',\n },\n }, [header])\n\n return this.$createElement('div', {\n staticClass: 'v-date-picker-header__value',\n class: {\n 'v-date-picker-header__value--disabled': this.disabled,\n },\n }, [transition])\n },\n },\n\n render (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-date-picker-header',\n class: {\n 'v-date-picker-header--disabled': this.disabled,\n ...this.themeClasses,\n },\n }, [\n this.genBtn(-1),\n this.genHeader(),\n this.genBtn(+1),\n ])\n },\n})\n","// Mixins\nimport DatePickerTable from './mixins/date-picker-table'\n\n// Utils\nimport { pad, createNativeLocaleFormatter } from './util'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\nimport { DatePickerFormatter } from './util/createNativeLocaleFormatter'\n\nexport default mixins(\n DatePickerTable\n/* @vue/component */\n).extend({\n name: 'v-date-picker-month-table',\n\n computed: {\n formatter (): DatePickerFormatter {\n return this.format || createNativeLocaleFormatter(this.currentLocale, { month: 'short', timeZone: 'UTC' }, { start: 5, length: 2 })\n },\n },\n\n methods: {\n calculateTableDate (delta: number) {\n return `${parseInt(this.tableDate, 10) + Math.sign(delta || 1)}`\n },\n genTBody () {\n const children = []\n const cols = Array(3).fill(null)\n const rows = 12 / cols.length\n\n for (let row = 0; row < rows; row++) {\n const tds = cols.map((_, col) => {\n const month = row * cols.length + col\n const date = `${this.displayedYear}-${pad(month + 1)}`\n return this.$createElement('td', {\n key: month,\n }, [\n this.genButton(date, false, 'month', this.formatter),\n ])\n })\n\n children.push(this.$createElement('tr', {\n key: row,\n }, tds))\n }\n\n return this.$createElement('tbody', children)\n },\n },\n\n render (): VNode {\n return this.genTable('v-date-picker-table v-date-picker-table--month', [\n this.genTBody(),\n ], this.calculateTableDate)\n },\n})\n","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","import './VDatePickerTitle.sass'\n\n// Components\nimport VIcon from '../VIcon'\n\n// Mixins\nimport PickerButton from '../../mixins/picker-button'\n\n// Utils\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\n\nexport default mixins(\n PickerButton\n/* @vue/component */\n).extend({\n name: 'v-date-picker-title',\n\n props: {\n date: {\n type: String,\n default: '',\n },\n disabled: Boolean,\n readonly: Boolean,\n selectingYear: Boolean,\n value: {\n type: String,\n },\n year: {\n type: [Number, String],\n default: '',\n },\n yearIcon: {\n type: String,\n },\n },\n\n data: () => ({\n isReversing: false,\n }),\n\n computed: {\n computedTransition (): string {\n return this.isReversing ? 'picker-reverse-transition' : 'picker-transition'\n },\n },\n\n watch: {\n value (val: string, prev: string) {\n this.isReversing = val < prev\n },\n },\n\n methods: {\n genYearIcon (): VNode {\n return this.$createElement(VIcon, {\n props: {\n dark: true,\n },\n }, this.yearIcon)\n },\n getYearBtn (): VNode {\n return this.genPickerButton('selectingYear', true, [\n String(this.year),\n this.yearIcon ? this.genYearIcon() : null,\n ], false, 'v-date-picker-title__year')\n },\n genTitleText (): VNode {\n return this.$createElement('transition', {\n props: {\n name: this.computedTransition,\n },\n }, [\n this.$createElement('div', {\n domProps: { innerHTML: this.date || '&nbsp;' },\n key: this.value,\n }),\n ])\n },\n genTitleDate (): VNode {\n return this.genPickerButton('selectingYear', false, [this.genTitleText()], false, 'v-date-picker-title__date')\n },\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-date-picker-title',\n class: {\n 'v-date-picker-title--disabled': this.disabled,\n },\n }, [\n this.getYearBtn(),\n this.genTitleDate(),\n ])\n },\n})\n","// extracted by mini-css-extract-plugin","import './VDatePickerYears.sass'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Localable from '../../mixins/localable'\n\n// Utils\nimport { createNativeLocaleFormatter } from './util'\nimport mixins, { ExtractVue } from '../../util/mixins'\n\n// Types\nimport Vue, { VNode } from 'vue'\nimport { DatePickerFormatter } from './util/createNativeLocaleFormatter'\nimport { PropValidator } from 'vue/types/options'\n\ninterface options extends Vue {\n $el: HTMLElement\n}\n\nexport default mixins<options &\n/* eslint-disable indent */\n ExtractVue<[\n typeof Colorable,\n typeof Localable\n ]>\n/* eslint-enable indent */\n>(\n Colorable,\n Localable\n/* @vue/component */\n).extend({\n name: 'v-date-picker-years',\n\n props: {\n format: Function as PropValidator<DatePickerFormatter | undefined>,\n min: [Number, String],\n max: [Number, String],\n readonly: Boolean,\n value: [Number, String],\n },\n\n data () {\n return {\n defaultColor: 'primary',\n }\n },\n\n computed: {\n formatter (): DatePickerFormatter {\n return this.format || createNativeLocaleFormatter(this.currentLocale, { year: 'numeric', timeZone: 'UTC' }, { length: 4 })\n },\n },\n\n mounted () {\n setTimeout(() => {\n const activeItem = this.$el.getElementsByClassName('active')[0]\n if (activeItem) {\n this.$el.scrollTop = activeItem.offsetTop - this.$el.offsetHeight / 2 + activeItem.offsetHeight / 2\n } else if (this.min && !this.max) {\n this.$el.scrollTop = this.$el.scrollHeight\n } else if (!this.min && this.max) {\n this.$el.scrollTop = 0\n } else {\n this.$el.scrollTop = this.$el.scrollHeight / 2 - this.$el.offsetHeight / 2\n }\n })\n },\n\n methods: {\n genYearItem (year: number): VNode {\n const formatted = this.formatter(`${year}`)\n const active = parseInt(this.value, 10) === year\n const color = active && (this.color || 'primary')\n\n return this.$createElement('li', this.setTextColor(color, {\n key: year,\n class: { active },\n on: {\n click: () => this.$emit('input', year),\n },\n }), formatted)\n },\n\n genYearItems (): VNode[] {\n const children = []\n const selectedYear = this.value ? parseInt(this.value, 10) : new Date().getFullYear()\n const maxYear = this.max ? parseInt(this.max, 10) : (selectedYear + 100)\n const minYear = Math.min(maxYear, this.min ? parseInt(this.min, 10) : (selectedYear - 100))\n\n for (let year = maxYear; year >= minYear; year--) {\n children.push(this.genYearItem(year))\n }\n\n return children\n },\n },\n\n render (): VNode {\n return this.$createElement('ul', {\n staticClass: 'v-date-picker-years',\n ref: 'years',\n }, this.genYearItems())\n },\n})\n","import VDatePicker from './VDatePicker'\nimport VDatePickerTitle from './VDatePickerTitle'\nimport VDatePickerHeader from './VDatePickerHeader'\nimport VDatePickerDateTable from './VDatePickerDateTable'\nimport VDatePickerMonthTable from './VDatePickerMonthTable'\nimport VDatePickerYears from './VDatePickerYears'\n\nexport {\n VDatePicker,\n VDatePickerTitle,\n VDatePickerHeader,\n VDatePickerDateTable,\n VDatePickerMonthTable,\n VDatePickerYears,\n}\n\nexport default {\n $_vuetify_subcomponents: {\n VDatePicker,\n VDatePickerTitle,\n VDatePickerHeader,\n VDatePickerDateTable,\n VDatePickerMonthTable,\n VDatePickerYears,\n },\n}\n","import '../VDatePickerTable.sass'\n\n// Directives\nimport Touch, { TouchWrapper } from '../../../directives/touch'\n\n// Mixins\nimport Colorable from '../../../mixins/colorable'\nimport Localable from '../../../mixins/localable'\nimport Themeable from '../../../mixins/themeable'\n\n// Utils\nimport isDateAllowed, { AllowedDateFunction } from '../util/isDateAllowed'\nimport mixins from '../../../util/mixins'\n\n// Types\nimport { VNodeChildren } from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport { DatePickerFormatter } from '../util/createNativeLocaleFormatter'\nimport { DateEvents, DateEventColors, DateEventColorValue } from '../VDatePicker'\n\ntype CalculateTableDateFunction = (v: number) => string\n\nexport default mixins(\n Colorable,\n Localable,\n Themeable\n/* @vue/component */\n).extend({\n directives: { Touch },\n\n props: {\n allowedDates: Function as PropValidator<AllowedDateFunction | undefined>,\n current: String,\n disabled: Boolean,\n format: Function as PropValidator<DatePickerFormatter | undefined>,\n events: {\n type: [Array, Function, Object],\n default: () => null,\n } as any as PropValidator<DateEvents>,\n eventColor: {\n type: [Array, Function, Object, String],\n default: () => 'warning',\n } as any as PropValidator<DateEventColors>,\n min: String,\n max: String,\n range: Boolean,\n readonly: Boolean,\n scrollable: Boolean,\n tableDate: {\n type: String,\n required: true,\n },\n value: [String, Array] as PropValidator<string | string[]>,\n },\n\n data: () => ({\n isReversing: false,\n }),\n\n computed: {\n computedTransition (): string {\n return (this.isReversing === !this.$vuetify.rtl) ? 'tab-reverse-transition' : 'tab-transition'\n },\n displayedMonth (): number {\n return Number(this.tableDate.split('-')[1]) - 1\n },\n displayedYear (): number {\n return Number(this.tableDate.split('-')[0])\n },\n },\n\n watch: {\n tableDate (newVal: string, oldVal: string) {\n this.isReversing = newVal < oldVal\n },\n },\n\n methods: {\n genButtonClasses (isAllowed: boolean, isFloating: boolean, isSelected: boolean, isCurrent: boolean) {\n return {\n 'v-size--default': !isFloating,\n 'v-btn--active': isSelected,\n 'v-btn--flat': !isAllowed || this.disabled,\n 'v-btn--text': isSelected === isCurrent,\n 'v-btn--rounded': isFloating,\n 'v-btn--disabled': !isAllowed || this.disabled,\n 'v-btn--outlined': isCurrent && !isSelected,\n ...this.themeClasses,\n }\n },\n genButtonEvents (value: string, isAllowed: boolean, mouseEventType: string) {\n if (this.disabled) return undefined\n\n return {\n click: () => {\n isAllowed && !this.readonly && this.$emit('input', value)\n this.$emit(`click:${mouseEventType}`, value)\n },\n dblclick: () => this.$emit(`dblclick:${mouseEventType}`, value),\n }\n },\n genButton (value: string, isFloating: boolean, mouseEventType: string, formatter: DatePickerFormatter) {\n const isAllowed = isDateAllowed(value, this.min, this.max, this.allowedDates)\n const isSelected = this.isSelected(value)\n const isCurrent = value === this.current\n const setColor = isSelected ? this.setBackgroundColor : this.setTextColor\n const color = (isSelected || isCurrent) && (this.color || 'accent')\n\n return this.$createElement('button', setColor(color, {\n staticClass: 'v-btn',\n class: this.genButtonClasses(isAllowed, isFloating, isSelected, isCurrent),\n attrs: {\n type: 'button',\n },\n domProps: {\n disabled: this.disabled || !isAllowed,\n },\n on: this.genButtonEvents(value, isAllowed, mouseEventType),\n }), [\n this.$createElement('div', {\n staticClass: 'v-btn__content',\n }, [formatter(value)]),\n this.genEvents(value),\n ])\n },\n getEventColors (date: string) {\n const arrayize = (v: string | string[]) => Array.isArray(v) ? v : [v]\n let eventData: boolean | DateEventColorValue\n let eventColors: string[] = []\n\n if (Array.isArray(this.events)) {\n eventData = this.events.includes(date)\n } else if (this.events instanceof Function) {\n eventData = this.events(date) || false\n } else if (this.events) {\n eventData = this.events[date] || false\n } else {\n eventData = false\n }\n\n if (!eventData) {\n return []\n } else if (eventData !== true) {\n eventColors = arrayize(eventData)\n } else if (typeof this.eventColor === 'string') {\n eventColors = [this.eventColor]\n } else if (typeof this.eventColor === 'function') {\n eventColors = arrayize(this.eventColor(date))\n } else if (Array.isArray(this.eventColor)) {\n eventColors = this.eventColor\n } else {\n eventColors = arrayize(this.eventColor[date])\n }\n\n return eventColors.filter(v => v)\n },\n genEvents (date: string) {\n const eventColors = this.getEventColors(date)\n\n return eventColors.length ? this.$createElement('div', {\n staticClass: 'v-date-picker-table__events',\n }, eventColors.map(color => this.$createElement('div', this.setBackgroundColor(color)))) : null\n },\n wheel (e: WheelEvent, calculateTableDate: CalculateTableDateFunction) {\n e.preventDefault()\n this.$emit('update:table-date', calculateTableDate(e.deltaY))\n },\n touch (value: number, calculateTableDate: CalculateTableDateFunction) {\n this.$emit('update:table-date', calculateTableDate(value))\n },\n genTable (staticClass: string, children: VNodeChildren, calculateTableDate: CalculateTableDateFunction) {\n const transition = this.$createElement('transition', {\n props: { name: this.computedTransition },\n }, [this.$createElement('table', { key: this.tableDate }, children)])\n\n const touchDirective = {\n name: 'touch',\n value: {\n left: (e: TouchWrapper) => (e.offsetX < -15) && this.touch(1, calculateTableDate),\n right: (e: TouchWrapper) => (e.offsetX > 15) && this.touch(-1, calculateTableDate),\n },\n }\n\n return this.$createElement('div', {\n staticClass,\n class: {\n 'v-date-picker-table--disabled': this.disabled,\n ...this.themeClasses,\n },\n on: (!this.disabled && this.scrollable) ? {\n wheel: (e: WheelEvent) => this.wheel(e, calculateTableDate),\n } : undefined,\n directives: [touchDirective],\n }, [transition])\n },\n isSelected (value: string): boolean {\n if (Array.isArray(this.value)) {\n if (this.range && this.value.length === 2) {\n const [from, to] = [...this.value].sort()\n return from <= value && value <= to\n } else {\n return this.value.indexOf(value) !== -1\n }\n }\n\n return value === this.value\n },\n },\n})\n","import pad from './pad'\n\ninterface SubstrOptions {\n start?: number\n length: number\n}\n\nexport type DatePickerFormatter = (date: string) => string\n\nfunction createNativeLocaleFormatter (\n local: string | undefined,\n options: Intl.DateTimeFormatOptions\n): DatePickerFormatter | undefined\n\nfunction createNativeLocaleFormatter (\n local: string | undefined,\n options: Intl.DateTimeFormatOptions,\n substrOptions: SubstrOptions\n): DatePickerFormatter\n\nfunction createNativeLocaleFormatter (\n locale: string | undefined,\n options: Intl.DateTimeFormatOptions,\n substrOptions: SubstrOptions = { start: 0, length: 0 }\n): DatePickerFormatter | undefined {\n const makeIsoString = (dateString: string) => {\n const [year, month, date] = dateString.trim().split(' ')[0].split('-')\n return [pad(year, 4), pad(month || 1), pad(date || 1)].join('-')\n }\n\n try {\n const intlFormatter = new Intl.DateTimeFormat(locale || undefined, options)\n return (dateString: string) => intlFormatter.format(new Date(`${makeIsoString(dateString)}T00:00:00+00:00`))\n } catch (e) {\n return (substrOptions.start || substrOptions.length)\n ? (dateString: string) => makeIsoString(dateString).substr(substrOptions.start || 0, substrOptions.length)\n : undefined\n }\n}\n\nexport default createNativeLocaleFormatter\n","import createNativeLocaleFormatter from './createNativeLocaleFormatter'\nimport monthChange from './monthChange'\nimport pad from './pad'\n\nexport {\n createNativeLocaleFormatter,\n monthChange,\n pad,\n}\n","export type AllowedDateFunction = (date: string) => boolean\n\nexport default function isDateAllowed (date: string, min: string, max: string, allowedFn: AllowedDateFunction | undefined) {\n return (!allowedFn || allowedFn(date)) &&\n (!min || date >= min.substr(0, 10)) &&\n (!max || date <= max)\n}\n","import pad from './pad'\n\n/**\n * @param {String} value YYYY-MM format\n * @param {Number} sign -1 or +1\n */\nexport default (value: string, sign: number) => {\n const [year, month] = value.split('-').map(Number)\n\n if (month + sign === 0) {\n return `${year - 1}-12`\n } else if (month + sign === 13) {\n return `${year + 1}-01`\n } else {\n return `${year}-${pad(month + sign)}`\n }\n}\n","const padStart = (string: number | string, targetLength: number, padString: string) => {\n targetLength = targetLength >> 0\n string = String(string)\n padString = String(padString)\n if (string.length > targetLength) {\n return String(string)\n }\n\n targetLength = targetLength - string.length\n if (targetLength > padString.length) {\n padString += padString.repeat(targetLength / padString.length)\n }\n return padString.slice(0, targetLength) + String(string)\n}\n\nexport default (n: string | number, length = 2) => padStart(n, length, '0')\n","// extracted by mini-css-extract-plugin","import './VDialog.sass'\n\n// Mixins\nimport Activatable from '../../mixins/activatable'\nimport Dependent from '../../mixins/dependent'\nimport Detachable from '../../mixins/detachable'\nimport Overlayable from '../../mixins/overlayable'\nimport Returnable from '../../mixins/returnable'\nimport Stackable from '../../mixins/stackable'\nimport Toggleable from '../../mixins/toggleable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\n\n// Helpers\nimport { convertToUnit, keyCodes } from '../../util/helpers'\nimport ThemeProvider from '../../util/ThemeProvider'\nimport mixins from '../../util/mixins'\nimport { removed } from '../../util/console'\n\n// Types\nimport { VNode } from 'vue'\n\nconst baseMixins = mixins(\n Activatable,\n Dependent,\n Detachable,\n Overlayable,\n Returnable,\n Stackable,\n Toggleable\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-dialog',\n\n directives: {\n ClickOutside,\n },\n\n props: {\n dark: Boolean,\n disabled: Boolean,\n fullscreen: Boolean,\n light: Boolean,\n maxWidth: {\n type: [String, Number],\n default: 'none',\n },\n noClickAnimation: Boolean,\n origin: {\n type: String,\n default: 'center center',\n },\n persistent: Boolean,\n retainFocus: {\n type: Boolean,\n default: true,\n },\n scrollable: Boolean,\n transition: {\n type: [String, Boolean],\n default: 'dialog-transition',\n },\n width: {\n type: [String, Number],\n default: 'auto',\n },\n },\n\n data () {\n return {\n activatedBy: null as EventTarget | null,\n animate: false,\n animateTimeout: -1,\n isActive: !!this.value,\n stackMinZIndex: 200,\n }\n },\n\n computed: {\n classes (): object {\n return {\n [(`v-dialog ${this.contentClass}`).trim()]: true,\n 'v-dialog--active': this.isActive,\n 'v-dialog--persistent': this.persistent,\n 'v-dialog--fullscreen': this.fullscreen,\n 'v-dialog--scrollable': this.scrollable,\n 'v-dialog--animated': this.animate,\n }\n },\n contentClasses (): object {\n return {\n 'v-dialog__content': true,\n 'v-dialog__content--active': this.isActive,\n }\n },\n hasActivator (): boolean {\n return Boolean(\n !!this.$slots.activator ||\n !!this.$scopedSlots.activator\n )\n },\n },\n\n watch: {\n isActive (val) {\n if (val) {\n this.show()\n this.hideScroll()\n } else {\n this.removeOverlay()\n this.unbind()\n }\n },\n fullscreen (val) {\n if (!this.isActive) return\n\n if (val) {\n this.hideScroll()\n this.removeOverlay(false)\n } else {\n this.showScroll()\n this.genOverlay()\n }\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('full-width')) {\n removed('full-width', this)\n }\n },\n\n beforeMount () {\n this.$nextTick(() => {\n this.isBooted = this.isActive\n this.isActive && this.show()\n })\n },\n\n beforeDestroy () {\n if (typeof window !== 'undefined') this.unbind()\n },\n\n methods: {\n animateClick () {\n this.animate = false\n // Needed for when clicking very fast\n // outside of the dialog\n this.$nextTick(() => {\n this.animate = true\n window.clearTimeout(this.animateTimeout)\n this.animateTimeout = window.setTimeout(() => (this.animate = false), 150)\n })\n },\n closeConditional (e: Event) {\n const target = e.target as HTMLElement\n // Ignore the click if the dialog is closed or destroyed,\n // if it was on an element inside the content, or\n // if it was dragged onto the overlay (#6969)\n return !(\n this._isDestroyed ||\n !this.isActive ||\n this.$refs.content.contains(target) ||\n (this.overlay && target && !this.overlay.$el.contains(target))\n )\n },\n hideScroll () {\n if (this.fullscreen) {\n document.documentElement.classList.add('overflow-y-hidden')\n } else {\n Overlayable.options.methods.hideScroll.call(this)\n }\n },\n show () {\n !this.fullscreen && !this.hideOverlay && this.genOverlay()\n this.$nextTick(() => {\n this.$refs.content.focus()\n this.bind()\n })\n },\n bind () {\n window.addEventListener('focusin', this.onFocusin)\n },\n unbind () {\n window.removeEventListener('focusin', this.onFocusin)\n },\n onClickOutside (e: Event) {\n this.$emit('click:outside', e)\n\n if (this.persistent) {\n this.noClickAnimation || this.animateClick()\n } else if (this.activeZIndex >= this.getMaxZIndex()) {\n this.isActive = false\n }\n },\n onKeydown (e: KeyboardEvent) {\n if (e.keyCode === keyCodes.esc && !this.getOpenDependents().length) {\n if (!this.persistent) {\n this.isActive = false\n const activator = this.getActivator()\n this.$nextTick(() => activator && (activator as HTMLElement).focus())\n } else if (!this.noClickAnimation) {\n this.animateClick()\n }\n }\n this.$emit('keydown', e)\n },\n // On focus change, wrap focus to stay inside the dialog\n // https://github.com/vuetifyjs/vuetify/issues/6892\n onFocusin (e: Event) {\n if (!e || !this.retainFocus) return\n\n const target = e.target as HTMLElement\n\n if (\n !!target &&\n // It isn't the document or the dialog body\n ![document, this.$refs.content].includes(target) &&\n // It isn't inside the dialog body\n !this.$refs.content.contains(target) &&\n // We're the topmost dialog\n this.activeZIndex >= this.getMaxZIndex() &&\n // It isn't inside a dependent element (like a menu)\n !this.getOpenDependentElements().some(el => el.contains(target))\n // So we must have focused something outside the dialog and its children\n ) {\n // Find and focus the first available element inside the dialog\n const focusable = this.$refs.content.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])')\n focusable.length && (focusable[0] as HTMLElement).focus()\n }\n },\n },\n\n render (h): VNode {\n const children = []\n const data = {\n class: this.classes,\n ref: 'dialog',\n directives: [\n {\n name: 'click-outside',\n value: this.onClickOutside,\n args: {\n closeConditional: this.closeConditional,\n include: this.getOpenDependentElements,\n },\n },\n { name: 'show', value: this.isActive },\n ],\n on: {\n click: (e: Event) => { e.stopPropagation() },\n },\n style: {},\n }\n\n if (!this.fullscreen) {\n data.style = {\n maxWidth: this.maxWidth === 'none' ? undefined : convertToUnit(this.maxWidth),\n width: this.width === 'auto' ? undefined : convertToUnit(this.width),\n }\n }\n\n children.push(this.genActivator())\n\n let dialog = h('div', data, this.showLazyContent(this.getContentSlot()))\n if (this.transition) {\n dialog = h('transition', {\n props: {\n name: this.transition,\n origin: this.origin,\n },\n }, [dialog])\n }\n\n children.push(h('div', {\n class: this.contentClasses,\n attrs: {\n role: 'document',\n tabindex: this.isActive ? 0 : undefined,\n ...this.getScopeIdAttrs(),\n },\n on: {\n keydown: this.onKeydown,\n },\n style: { zIndex: this.activeZIndex },\n ref: 'content',\n }, [\n this.$createElement(ThemeProvider, {\n props: {\n root: true,\n light: this.light,\n dark: this.dark,\n },\n }, [dialog]),\n ]))\n\n return h('div', {\n staticClass: 'v-dialog__container',\n class: {\n 'v-dialog__container--attached':\n this.attach === '' ||\n this.attach === true ||\n this.attach === 'attach',\n },\n attrs: { role: 'dialog' },\n }, children)\n },\n})\n","import VDialog from './VDialog'\n\nexport { VDialog }\nexport default VDialog\n","// extracted by mini-css-extract-plugin","// Styles\nimport './VDivider.sass'\n\n// Types\nimport { VNode } from 'vue'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\n\nexport default Themeable.extend({\n name: 'v-divider',\n\n props: {\n inset: Boolean,\n vertical: Boolean,\n },\n\n render (h): VNode {\n // WAI-ARIA attributes\n let orientation\n if (!this.$attrs.role || this.$attrs.role === 'separator') {\n orientation = this.vertical ? 'vertical' : 'horizontal'\n }\n return h('hr', {\n class: {\n 'v-divider': true,\n 'v-divider--inset': this.inset,\n 'v-divider--vertical': this.vertical,\n ...this.themeClasses,\n },\n attrs: {\n role: 'separator',\n 'aria-orientation': orientation,\n ...this.$attrs,\n },\n on: this.$listeners,\n })\n },\n})\n","import VDivider from './VDivider'\n\nexport { VDivider }\nexport default VDivider\n","// extracted by mini-css-extract-plugin","// Components\nimport VExpansionPanels from './VExpansionPanels'\nimport VExpansionPanelHeader from './VExpansionPanelHeader'\nimport VExpansionPanelContent from './VExpansionPanelContent'\n\n// Mixins\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport { provide as RegistrableProvide } from '../../mixins/registrable'\n\n// Utilities\nimport { getSlot } from '../../util/helpers'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\n\ntype VExpansionPanelHeaderInstance = InstanceType<typeof VExpansionPanelHeader>\ntype VExpansionPanelContentInstance = InstanceType<typeof VExpansionPanelContent>\n\nexport default mixins(\n GroupableFactory<'expansionPanels', typeof VExpansionPanels>('expansionPanels', 'v-expansion-panel', 'v-expansion-panels'),\n RegistrableProvide('expansionPanel', true)\n /* @vue/component */\n).extend({\n name: 'v-expansion-panel',\n\n props: {\n disabled: Boolean,\n readonly: Boolean,\n },\n\n data () {\n return {\n content: null as VExpansionPanelContentInstance | null,\n header: null as VExpansionPanelHeaderInstance | null,\n nextIsActive: false,\n }\n },\n\n computed: {\n classes (): object {\n return {\n 'v-expansion-panel--active': this.isActive,\n 'v-expansion-panel--next-active': this.nextIsActive,\n 'v-expansion-panel--disabled': this.isDisabled,\n ...this.groupClasses,\n }\n },\n isDisabled (): boolean {\n return this.expansionPanels.disabled || this.disabled\n },\n isReadonly (): boolean {\n return this.expansionPanels.readonly || this.readonly\n },\n },\n\n methods: {\n registerContent (vm: VExpansionPanelContentInstance) {\n this.content = vm\n },\n unregisterContent () {\n this.content = null\n },\n registerHeader (vm: VExpansionPanelHeaderInstance) {\n this.header = vm\n vm.$on('click', this.onClick)\n },\n unregisterHeader () {\n this.header = null\n },\n onClick (e: MouseEvent) {\n if (e.detail) this.header!.$el.blur()\n\n this.$emit('click', e)\n\n this.isReadonly || this.isDisabled || this.toggle()\n },\n toggle () {\n /* istanbul ignore else */\n if (this.content) this.content.isBooted = true\n this.$nextTick(() => this.$emit('change'))\n },\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-expansion-panel',\n class: this.classes,\n attrs: {\n 'aria-expanded': String(this.isActive),\n },\n }, getSlot(this))\n },\n})\n","// Components\nimport VExpansionPanel from './VExpansionPanel'\nimport { VExpandTransition } from '../transitions'\n\n// Mixins\nimport Bootable from '../../mixins/bootable'\nimport { inject as RegistrableInject } from '../../mixins/registrable'\n\n// Utilities\nimport { getSlot } from '../../util/helpers'\nimport mixins, { ExtractVue } from '../../util/mixins'\n\n// Types\nimport Vue, { VNode, VueConstructor } from 'vue'\n\nconst baseMixins = mixins(\n Bootable,\n RegistrableInject<'expansionPanel', VueConstructor<Vue>>('expansionPanel', 'v-expansion-panel-content', 'v-expansion-panel')\n)\n\ninterface options extends ExtractVue<typeof baseMixins> {\n expansionPanel: InstanceType<typeof VExpansionPanel>\n}\n\n/* @vue/component */\nexport default baseMixins.extend<options>().extend({\n name: 'v-expansion-panel-content',\n\n computed: {\n isActive (): boolean {\n return this.expansionPanel.isActive\n },\n },\n\n created () {\n this.expansionPanel.registerContent(this)\n },\n\n beforeDestroy () {\n this.expansionPanel.unregisterContent()\n },\n\n render (h): VNode {\n return h(VExpandTransition, [\n h('div', {\n staticClass: 'v-expansion-panel-content',\n directives: [{\n name: 'show',\n value: this.isActive,\n }],\n }, this.showLazyContent([\n h('div', { class: 'v-expansion-panel-content__wrap' }, getSlot(this)),\n ])),\n ])\n },\n})\n","// Components\nimport { VFadeTransition } from '../transitions'\nimport VExpansionPanel from './VExpansionPanel'\nimport VIcon from '../VIcon'\n\n// Mixins\nimport { inject as RegistrableInject } from '../../mixins/registrable'\n\n// Directives\nimport ripple from '../../directives/ripple'\n\n// Utilities\nimport { getSlot } from '../../util/helpers'\nimport mixins, { ExtractVue } from '../../util/mixins'\n\n// Types\nimport Vue, { VNode, VueConstructor } from 'vue'\n\nconst baseMixins = mixins(\n RegistrableInject<'expansionPanel', VueConstructor<Vue>>('expansionPanel', 'v-expansion-panel-header', 'v-expansion-panel')\n)\n\ninterface options extends ExtractVue<typeof baseMixins> {\n $el: HTMLElement\n expansionPanel: InstanceType<typeof VExpansionPanel>\n}\n\nexport default baseMixins.extend<options>().extend({\n name: 'v-expansion-panel-header',\n\n directives: { ripple },\n\n props: {\n disableIconRotate: Boolean,\n expandIcon: {\n type: String,\n default: '$expand',\n },\n hideActions: Boolean,\n ripple: {\n type: [Boolean, Object],\n default: false,\n },\n },\n\n data: () => ({\n hasMousedown: false,\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-expansion-panel-header--active': this.isActive,\n 'v-expansion-panel-header--mousedown': this.hasMousedown,\n }\n },\n isActive (): boolean {\n return this.expansionPanel.isActive\n },\n isDisabled (): boolean {\n return this.expansionPanel.isDisabled\n },\n isReadonly (): boolean {\n return this.expansionPanel.isReadonly\n },\n },\n\n created () {\n this.expansionPanel.registerHeader(this)\n },\n\n beforeDestroy () {\n this.expansionPanel.unregisterHeader()\n },\n\n methods: {\n onClick (e: MouseEvent) {\n this.$emit('click', e)\n },\n genIcon () {\n const icon = getSlot(this, 'actions') ||\n [this.$createElement(VIcon, this.expandIcon)]\n\n return this.$createElement(VFadeTransition, [\n this.$createElement('div', {\n staticClass: 'v-expansion-panel-header__icon',\n class: {\n 'v-expansion-panel-header__icon--disable-rotate': this.disableIconRotate,\n },\n directives: [{\n name: 'show',\n value: !this.isDisabled,\n }],\n }, icon),\n ])\n },\n },\n\n render (h): VNode {\n return h('button', {\n staticClass: 'v-expansion-panel-header',\n class: this.classes,\n attrs: {\n tabindex: this.isDisabled ? -1 : null,\n type: 'button',\n },\n directives: [{\n name: 'ripple',\n value: this.ripple,\n }],\n on: {\n ...this.$listeners,\n click: this.onClick,\n mousedown: () => (this.hasMousedown = true),\n mouseup: () => (this.hasMousedown = false),\n },\n }, [\n getSlot(this, 'default', { open: this.isActive }, true),\n this.hideActions || this.genIcon(),\n ])\n },\n})\n","// Styles\nimport './VExpansionPanel.sass'\n\n// Components\nimport { BaseItemGroup, GroupableInstance } from '../VItemGroup/VItemGroup'\nimport VExpansionPanel from './VExpansionPanel'\n\n// Utilities\nimport { breaking } from '../../util/console'\n\n// Types\ninterface VExpansionPanelInstance extends InstanceType<typeof VExpansionPanel> {}\n\n/* @vue/component */\nexport default BaseItemGroup.extend({\n name: 'v-expansion-panels',\n\n provide (): object {\n return {\n expansionPanels: this,\n }\n },\n\n props: {\n accordion: Boolean,\n disabled: Boolean,\n focusable: Boolean,\n inset: Boolean,\n popout: Boolean,\n readonly: Boolean,\n },\n\n computed: {\n classes (): object {\n return {\n ...BaseItemGroup.options.computed.classes.call(this),\n 'v-expansion-panels': true,\n 'v-expansion-panels--accordion': this.accordion,\n 'v-expansion-panels--focusable': this.focusable,\n 'v-expansion-panels--inset': this.inset,\n 'v-expansion-panels--popout': this.popout,\n }\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('expand')) {\n breaking('expand', 'multiple', this)\n }\n\n /* istanbul ignore next */\n if (\n Array.isArray(this.value) &&\n this.value.length > 0 &&\n typeof this.value[0] === 'boolean'\n ) {\n breaking(':value=\"[true, false, true]\"', ':value=\"[0, 2]\"', this)\n }\n },\n\n methods: {\n updateItem (item: GroupableInstance & VExpansionPanelInstance, index: number) {\n const value = this.getValue(item, index)\n const nextValue = this.getValue(item, index + 1)\n\n item.isActive = this.toggleMethod(value)\n item.nextIsActive = this.toggleMethod(nextValue)\n },\n },\n})\n","import VExpansionPanels from './VExpansionPanels'\nimport VExpansionPanel from './VExpansionPanel'\nimport VExpansionPanelContent from './VExpansionPanelContent'\nimport VExpansionPanelHeader from './VExpansionPanelHeader'\n\nexport { VExpansionPanels, VExpansionPanel, VExpansionPanelHeader, VExpansionPanelContent }\n\nexport default {\n $_vuetify_subcomponents: {\n VExpansionPanels,\n VExpansionPanel,\n VExpansionPanelHeader,\n VExpansionPanelContent,\n },\n}\n","// extracted by mini-css-extract-plugin","// Styles\nimport './VFileInput.sass'\n\n// Extensions\nimport VTextField from '../VTextField'\n\n// Components\nimport { VChip } from '../VChip'\n\n// Types\nimport { PropValidator } from 'vue/types/options'\n\n// Utilities\nimport { deepEqual, humanReadableFileSize, wrapInArray } from '../../util/helpers'\nimport { consoleError } from '../../util/console'\n\nexport default VTextField.extend({\n name: 'v-file-input',\n\n model: {\n prop: 'value',\n event: 'change',\n },\n\n props: {\n chips: Boolean,\n clearable: {\n type: Boolean,\n default: true,\n },\n counterSizeString: {\n type: String,\n default: '$vuetify.fileInput.counterSize',\n },\n counterString: {\n type: String,\n default: '$vuetify.fileInput.counter',\n },\n placeholder: String,\n prependIcon: {\n type: String,\n default: '$file',\n },\n readonly: {\n type: Boolean,\n default: false,\n },\n showSize: {\n type: [Boolean, Number],\n default: false,\n validator: (v: boolean | number) => {\n return (\n typeof v === 'boolean' ||\n [1000, 1024].includes(v)\n )\n },\n } as PropValidator<boolean | 1000 | 1024>,\n smallChips: Boolean,\n truncateLength: {\n type: [Number, String],\n default: 22,\n },\n type: {\n type: String,\n default: 'file',\n },\n value: {\n default: () => [],\n validator: val => {\n return typeof val === 'object' || Array.isArray(val)\n },\n } as PropValidator<File | File[]>,\n },\n\n computed: {\n classes (): object {\n return {\n ...VTextField.options.computed.classes.call(this),\n 'v-file-input': true,\n }\n },\n counterValue (): string {\n const fileCount = (this.isMultiple && this.lazyValue)\n ? this.lazyValue.length\n : (this.lazyValue instanceof File) ? 1 : 0\n\n if (!this.showSize) return this.$vuetify.lang.t(this.counterString, fileCount)\n\n const bytes = this.internalArrayValue.reduce((size: number, file: File) => size + file.size, 0)\n\n return this.$vuetify.lang.t(\n this.counterSizeString,\n fileCount,\n humanReadableFileSize(bytes, this.base === 1024)\n )\n },\n internalArrayValue (): File[] {\n return Array.isArray(this.internalValue)\n ? this.internalValue\n : wrapInArray(this.internalValue)\n },\n internalValue: {\n get (): File[] {\n return this.lazyValue\n },\n set (val: File | File[]) {\n this.lazyValue = val\n this.$emit('change', this.lazyValue)\n },\n },\n isDirty (): boolean {\n return this.internalArrayValue.length > 0\n },\n isLabelActive (): boolean {\n return this.isDirty\n },\n isMultiple (): boolean {\n return this.$attrs.hasOwnProperty('multiple')\n },\n text (): string[] {\n if (!this.isDirty) return [this.placeholder]\n\n return this.internalArrayValue.map((file: File) => {\n const name = this.truncateText(file.name)\n\n return !this.showSize ? name : `${name} (${humanReadableFileSize(file.size, this.base === 1024)})`\n })\n },\n base (): 1000 | 1024 | undefined {\n return typeof this.showSize !== 'boolean' ? this.showSize : undefined\n },\n hasChips (): boolean {\n return this.chips || this.smallChips\n },\n },\n\n watch: {\n readonly: {\n handler (v) {\n if (v === true) consoleError('readonly is not supported on <v-file-input>', this)\n },\n immediate: true,\n },\n value (v) {\n const value = this.isMultiple ? v : v ? [v] : []\n if (!deepEqual(value, this.$refs.input.files)) {\n // When the input value is changed programatically, clear the\n // internal input's value so that the `onInput` handler\n // can be triggered again if the user re-selects the exact\n // same file(s). Ideally, `input.files` should be\n // manipulated directly but that property is readonly.\n this.$refs.input.value = ''\n }\n },\n },\n\n methods: {\n clearableCallback () {\n this.internalValue = this.isMultiple ? [] : null\n this.$refs.input.value = ''\n },\n genChips () {\n if (!this.isDirty) return []\n\n return this.text.map((text, index) => this.$createElement(VChip, {\n props: { small: this.smallChips },\n on: {\n 'click:close': () => {\n const internalValue = this.internalValue\n internalValue.splice(index, 1)\n this.internalValue = internalValue // Trigger the watcher\n },\n },\n }, [text]))\n },\n genInput () {\n const input = VTextField.options.methods.genInput.call(this)\n\n // We should not be setting value\n // programmatically on the input\n // when it is using type=\"file\"\n delete input.data!.domProps!.value\n\n // This solves an issue in Safari where\n // nothing happens when adding a file\n // do to the input event not firing\n // https://github.com/vuetifyjs/vuetify/issues/7941\n delete input.data!.on!.input\n input.data!.on!.change = this.onInput\n\n return [this.genSelections(), input]\n },\n genPrependSlot () {\n if (!this.prependIcon) return null\n\n const icon = this.genIcon('prepend', () => {\n this.$refs.input.click()\n })\n\n return this.genSlot('prepend', 'outer', [icon])\n },\n genSelectionText (): string[] {\n const length = this.text.length\n\n if (length < 2) return this.text\n if (this.showSize && !this.counter) return [this.counterValue]\n return [this.$vuetify.lang.t(this.counterString, length)]\n },\n genSelections () {\n const children = []\n\n if (this.isDirty && this.$scopedSlots.selection) {\n this.internalArrayValue.forEach((file: File, index: number) => {\n if (!this.$scopedSlots.selection) return\n\n children.push(\n this.$scopedSlots.selection({\n text: this.text[index],\n file,\n index,\n })\n )\n })\n } else {\n children.push(this.hasChips && this.isDirty ? this.genChips() : this.genSelectionText())\n }\n\n return this.$createElement('div', {\n staticClass: 'v-file-input__text',\n class: {\n 'v-file-input__text--placeholder': this.placeholder && !this.isDirty,\n 'v-file-input__text--chips': this.hasChips && !this.$scopedSlots.selection,\n },\n on: {\n click: () => this.$refs.input.click(),\n },\n }, children)\n },\n onInput (e: Event) {\n const files = [...(e.target as HTMLInputElement).files || []]\n\n this.internalValue = this.isMultiple ? files : files[0]\n\n // Set initialValue here otherwise isFocused\n // watcher in VTextField will emit a change\n // event whenever the component is blurred\n this.initialValue = this.internalValue\n },\n onKeyDown (e: KeyboardEvent) {\n this.$emit('keydown', e)\n },\n truncateText (str: string) {\n if (str.length < Number(this.truncateLength)) return str\n const charsKeepOneSide = Math.floor((Number(this.truncateLength) - 1) / 2)\n return `${str.slice(0, charsKeepOneSide)}…${str.slice(str.length - charsKeepOneSide)}`\n },\n },\n})\n","import VFileInput from './VFileInput'\n\nexport { VFileInput }\nexport default VFileInput\n","// extracted by mini-css-extract-plugin","// Styles\nimport './VFooter.sass'\n\n// Mixins\nimport Applicationable from '../../mixins/applicationable'\nimport VSheet from '../VSheet/VSheet'\nimport SSRBootable from '../../mixins/ssr-bootable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { convertToUnit } from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue/types/vnode'\n\n/* @vue/component */\nexport default mixins(\n VSheet,\n Applicationable('footer', [\n 'height',\n 'inset',\n ]),\n SSRBootable\n).extend({\n name: 'v-footer',\n\n props: {\n height: {\n default: 'auto',\n type: [Number, String],\n },\n inset: Boolean,\n padless: Boolean,\n tile: {\n type: Boolean,\n default: true,\n },\n },\n\n computed: {\n applicationProperty (): string {\n return this.inset ? 'insetFooter' : 'footer'\n },\n classes (): object {\n return {\n ...VSheet.options.computed.classes.call(this),\n 'v-footer--absolute': this.absolute,\n 'v-footer--fixed': !this.absolute && (this.app || this.fixed),\n 'v-footer--padless': this.padless,\n 'v-footer--inset': this.inset,\n }\n },\n computedBottom (): number | undefined {\n if (!this.isPositioned) return undefined\n\n return this.app\n ? this.$vuetify.application.bottom\n : 0\n },\n computedLeft (): number | undefined {\n if (!this.isPositioned) return undefined\n\n return this.app && this.inset\n ? this.$vuetify.application.left\n : 0\n },\n computedRight (): number | undefined {\n if (!this.isPositioned) return undefined\n\n return this.app && this.inset\n ? this.$vuetify.application.right\n : 0\n },\n isPositioned (): boolean {\n return Boolean(\n this.absolute ||\n this.fixed ||\n this.app\n )\n },\n styles (): object {\n const height = parseInt(this.height)\n\n return {\n ...VSheet.options.computed.styles.call(this),\n height: isNaN(height) ? height : convertToUnit(height),\n left: convertToUnit(this.computedLeft),\n right: convertToUnit(this.computedRight),\n bottom: convertToUnit(this.computedBottom),\n }\n },\n },\n\n methods: {\n updateApplication () {\n const height = parseInt(this.height)\n\n return isNaN(height)\n ? this.$el ? this.$el.clientHeight : 0\n : height\n },\n },\n\n render (h): VNode {\n const data = this.setBackgroundColor(this.color, {\n staticClass: 'v-footer',\n class: this.classes,\n style: this.styles,\n })\n\n return h('footer', data, this.$slots.default)\n },\n})\n","import VFooter from './VFooter'\n\nexport { VFooter }\nexport default VFooter\n","// Components\nimport VInput from '../VInput/VInput'\n\n// Mixins\nimport mixins from '../../util/mixins'\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport { provide as RegistrableProvide } from '../../mixins/registrable'\n\n// Helpers\nimport { VNode } from 'vue'\n\ntype ErrorBag = Record<number, boolean>\ntype VInputInstance = InstanceType<typeof VInput>\ntype Watchers = {\n _uid: number\n valid: () => void\n shouldValidate: () => void\n}\n\n/* @vue/component */\nexport default mixins(\n BindsAttrs,\n RegistrableProvide('form')\n /* @vue/component */\n).extend({\n name: 'v-form',\n\n inheritAttrs: false,\n\n props: {\n lazyValidation: Boolean,\n value: Boolean,\n },\n\n data: () => ({\n inputs: [] as VInputInstance[],\n watchers: [] as Watchers[],\n errorBag: {} as ErrorBag,\n }),\n\n watch: {\n errorBag: {\n handler (val) {\n const errors = Object.values(val).includes(true)\n\n this.$emit('input', !errors)\n },\n deep: true,\n immediate: true,\n },\n },\n\n methods: {\n watchInput (input: any): Watchers {\n const watcher = (input: any): (() => void) => {\n return input.$watch('hasError', (val: boolean) => {\n this.$set(this.errorBag, input._uid, val)\n }, { immediate: true })\n }\n\n const watchers: Watchers = {\n _uid: input._uid,\n valid: () => {},\n shouldValidate: () => {},\n }\n\n if (this.lazyValidation) {\n // Only start watching inputs if we need to\n watchers.shouldValidate = input.$watch('shouldValidate', (val: boolean) => {\n if (!val) return\n\n // Only watch if we're not already doing it\n if (this.errorBag.hasOwnProperty(input._uid)) return\n\n watchers.valid = watcher(input)\n })\n } else {\n watchers.valid = watcher(input)\n }\n\n return watchers\n },\n /** @public */\n validate (): boolean {\n return this.inputs.filter(input => !input.validate(true)).length === 0\n },\n /** @public */\n reset (): void {\n this.inputs.forEach(input => input.reset())\n this.resetErrorBag()\n },\n resetErrorBag () {\n if (this.lazyValidation) {\n // Account for timeout in validatable\n setTimeout(() => {\n this.errorBag = {}\n }, 0)\n }\n },\n /** @public */\n resetValidation () {\n this.inputs.forEach(input => input.resetValidation())\n this.resetErrorBag()\n },\n register (input: VInputInstance) {\n this.inputs.push(input)\n this.watchers.push(this.watchInput(input))\n },\n unregister (input: VInputInstance) {\n const found = this.inputs.find(i => i._uid === input._uid)\n\n if (!found) return\n\n const unwatch = this.watchers.find(i => i._uid === found._uid)\n if (unwatch) {\n unwatch.valid()\n unwatch.shouldValidate()\n }\n\n this.watchers = this.watchers.filter(i => i._uid !== found._uid)\n this.inputs = this.inputs.filter(i => i._uid !== found._uid)\n this.$delete(this.errorBag, found._uid)\n },\n },\n\n render (h): VNode {\n return h('form', {\n staticClass: 'v-form',\n attrs: {\n novalidate: true,\n ...this.attrs$,\n },\n on: {\n submit: (e: Event) => this.$emit('submit', e),\n },\n }, this.$slots.default)\n },\n})\n","import VForm from './VForm'\n\nexport { VForm }\nexport default VForm\n","import './VGrid.sass'\n\nimport Vue, { VNode, PropOptions } from 'vue'\nimport mergeData from '../../util/mergeData'\nimport { upperFirst } from '../../util/helpers'\n\n// no xs\nconst breakpoints = ['sm', 'md', 'lg', 'xl']\n\nconst breakpointProps = (() => {\n return breakpoints.reduce((props, val) => {\n props[val] = {\n type: [Boolean, String, Number],\n default: false,\n }\n return props\n }, {} as Dictionary<PropOptions>)\n})()\n\nconst offsetProps = (() => {\n return breakpoints.reduce((props, val) => {\n props['offset' + upperFirst(val)] = {\n type: [String, Number],\n default: null,\n }\n return props\n }, {} as Dictionary<PropOptions>)\n})()\n\nconst orderProps = (() => {\n return breakpoints.reduce((props, val) => {\n props['order' + upperFirst(val)] = {\n type: [String, Number],\n default: null,\n }\n return props\n }, {} as Dictionary<PropOptions>)\n})()\n\nconst propMap = {\n col: Object.keys(breakpointProps),\n offset: Object.keys(offsetProps),\n order: Object.keys(orderProps),\n}\n\nfunction breakpointClass (type: keyof typeof propMap, prop: string, val: boolean | string | number) {\n let className = type\n if (val == null || val === false) {\n return undefined\n }\n if (prop) {\n const breakpoint = prop.replace(type, '')\n className += `-${breakpoint}`\n }\n // Handling the boolean style prop when accepting [Boolean, String, Number]\n // means Vue will not convert <v-col sm></v-col> to sm: true for us.\n // Since the default is false, an empty string indicates the prop's presence.\n if (type === 'col' && (val === '' || val === true)) {\n // .col-md\n return className.toLowerCase()\n }\n // .order-md-6\n className += `-${val}`\n return className.toLowerCase()\n}\n\nconst cache = new Map<string, any[]>()\n\nexport default Vue.extend({\n name: 'v-col',\n functional: true,\n props: {\n cols: {\n type: [Boolean, String, Number],\n default: false,\n },\n ...breakpointProps,\n offset: {\n type: [String, Number],\n default: null,\n },\n ...offsetProps,\n order: {\n type: [String, Number],\n default: null,\n },\n ...orderProps,\n alignSelf: {\n type: String,\n default: null,\n validator: (str: any) => ['auto', 'start', 'end', 'center', 'baseline', 'stretch'].includes(str),\n },\n justifySelf: {\n type: String,\n default: null,\n validator: (str: any) => ['auto', 'start', 'end', 'center', 'baseline', 'stretch'].includes(str),\n },\n tag: {\n type: String,\n default: 'div',\n },\n },\n render (h, { props, data, children, parent }): VNode {\n // Super-fast memoization based on props, 5x faster than JSON.stringify\n let cacheKey = ''\n for (const prop in props) {\n cacheKey += String((props as any)[prop])\n }\n let classList = cache.get(cacheKey)\n\n if (!classList) {\n classList = []\n // Loop through `col`, `offset`, `order` breakpoint props\n let type: keyof typeof propMap\n for (type in propMap) {\n propMap[type].forEach(prop => {\n const value: string | number | boolean = (props as any)[prop]\n const className = breakpointClass(type, prop, value)\n if (className) classList!.push(className)\n })\n }\n\n const hasColClasses = classList.some(className => className.startsWith('col-'))\n\n classList.push({\n // Default to .col if no other col-{bp}-* classes generated nor `cols` specified.\n col: !hasColClasses || !props.cols,\n [`col-${props.cols}`]: props.cols,\n [`offset-${props.offset}`]: props.offset,\n [`order-${props.order}`]: props.order,\n [`align-self-${props.alignSelf}`]: props.alignSelf,\n [`justify-self-${props.justifySelf}`]: props.justifySelf,\n })\n\n cache.set(cacheKey, classList)\n }\n\n return h(props.tag, mergeData(data, { class: classList }), children)\n },\n})\n","import './_grid.sass'\nimport './VGrid.sass'\n\nimport Grid from './grid'\n\nimport mergeData from '../../util/mergeData'\n\n/* @vue/component */\nexport default Grid('container').extend({\n name: 'v-container',\n functional: true,\n props: {\n id: String,\n tag: {\n type: String,\n default: 'div',\n },\n fluid: {\n type: Boolean,\n default: false,\n },\n },\n render (h, { props, data, children }) {\n let classes\n const { attrs } = data\n if (attrs) {\n // reset attrs to extract utility clases like pa-3\n data.attrs = {}\n 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\n if (props.id) {\n data.domProps = data.domProps || {}\n data.domProps.id = props.id\n }\n\n return h(\n props.tag,\n mergeData(data, {\n staticClass: 'container',\n class: Array<any>({\n 'container--fluid': props.fluid,\n }).concat(classes || []),\n }),\n children\n )\n },\n})\n","import './_grid.sass'\n\nimport Grid from './grid'\n\nexport default Grid('flex')\n","// extracted by mini-css-extract-plugin","import './_grid.sass'\n\nimport Grid from './grid'\n\nexport default Grid('layout')\n","import './VGrid.sass'\n\nimport Vue, { PropOptions } from 'vue'\nimport mergeData from '../../util/mergeData'\nimport { upperFirst } from '../../util/helpers'\n\n// no xs\nconst breakpoints = ['sm', 'md', 'lg', 'xl']\n\nconst ALIGNMENT = ['start', 'end', 'center']\n\nfunction makeProps (prefix: string, def: () => PropOptions) {\n return breakpoints.reduce((props, val) => {\n props[prefix + upperFirst(val)] = def()\n return props\n }, {} as Dictionary<PropOptions>)\n}\n\nconst alignValidator = (str: any) => [...ALIGNMENT, 'baseline', 'stretch'].includes(str)\nconst alignProps = makeProps('align', () => ({\n type: String,\n default: null,\n validator: alignValidator,\n}))\n\nconst justifyValidator = (str: any) => [...ALIGNMENT, 'space-between', 'space-around'].includes(str)\nconst justifyProps = makeProps('justify', () => ({\n type: String,\n default: null,\n validator: justifyValidator,\n}))\n\nconst alignContentValidator = (str: any) => [...ALIGNMENT, 'space-between', 'space-around', 'stretch'].includes(str)\nconst alignContentProps = makeProps('alignContent', () => ({\n type: String,\n default: null,\n validator: alignContentValidator,\n}))\n\nconst propMap = {\n align: Object.keys(alignProps),\n justify: Object.keys(justifyProps),\n alignContent: Object.keys(alignContentProps),\n}\n\nconst classMap = {\n align: 'align',\n justify: 'justify',\n alignContent: 'align-content',\n}\n\nfunction breakpointClass (type: keyof typeof propMap, prop: string, val: string) {\n let className = classMap[type]\n if (val == null) {\n return undefined\n }\n if (prop) {\n // alignSm -> Sm\n const breakpoint = prop.replace(type, '')\n className += `-${breakpoint}`\n }\n // .align-items-sm-center\n className += `-${val}`\n return className.toLowerCase()\n}\n\nconst cache = new Map<string, any[]>()\n\nexport default Vue.extend({\n name: 'v-row',\n functional: true,\n props: {\n tag: {\n type: String,\n default: 'div',\n },\n dense: Boolean,\n noGutters: Boolean,\n align: {\n type: String,\n default: null,\n validator: alignValidator,\n },\n ...alignProps,\n justify: {\n type: String,\n default: null,\n validator: justifyValidator,\n },\n ...justifyProps,\n alignContent: {\n type: String,\n default: null,\n validator: alignContentValidator,\n },\n ...alignContentProps,\n },\n render (h, { props, data, children }) {\n // Super-fast memoization based on props, 5x faster than JSON.stringify\n let cacheKey = ''\n for (const prop in props) {\n cacheKey += String((props as any)[prop])\n }\n let classList = cache.get(cacheKey)\n\n if (!classList) {\n classList = []\n // Loop through `align`, `justify`, `alignContent` breakpoint props\n let type: keyof typeof propMap\n for (type in propMap) {\n propMap[type].forEach(prop => {\n const value: string = (props as any)[prop]\n const className = breakpointClass(type, prop, value)\n if (className) classList!.push(className)\n })\n }\n\n classList.push({\n 'no-gutters': props.noGutters,\n 'row--dense': props.dense,\n [`align-${props.align}`]: props.align,\n [`justify-${props.justify}`]: props.justify,\n [`align-content-${props.alignContent}`]: props.alignContent,\n })\n\n cache.set(cacheKey, classList)\n }\n\n return h(\n props.tag,\n mergeData(data, {\n staticClass: 'row',\n class: classList,\n }),\n children\n )\n },\n})\n","import './_grid.sass'\nimport { createSimpleFunctional } from '../../util/helpers'\n\nexport default createSimpleFunctional('spacer', 'div', 'v-spacer')\n","// extracted by mini-css-extract-plugin","// 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","import VContainer from './VContainer'\nimport VCol from './VCol'\nimport VRow from './VRow'\nimport VSpacer from './VSpacer'\nimport VLayout from './VLayout'\nimport VFlex from './VFlex'\n\nexport {\n VContainer,\n VCol,\n VRow,\n VSpacer,\n VLayout,\n VFlex,\n}\n\nexport default {\n $_vuetify_subcomponents: {\n VContainer,\n VCol,\n VRow,\n VSpacer,\n VLayout,\n VFlex,\n },\n}\n","// 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","import VHover from './VHover'\n\nexport { VHover }\nexport default VHover\n","// extracted by mini-css-extract-plugin","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'].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 },\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 and svg icon.\n getDefaultData (): VNodeData {\n const hasClickListener = Boolean(\n this.listeners$.click || this.listeners$['!click']\n )\n const data: VNodeData = {\n staticClass: 'v-icon notranslate',\n class: {\n 'v-icon--disabled': this.disabled,\n 'v-icon--left': this.left,\n 'v-icon--link': hasClickListener,\n 'v-icon--right': this.right,\n 'v-icon--dense': this.dense,\n },\n attrs: {\n 'aria-hidden': !hasClickListener,\n role: hasClickListener ? 'button' : null,\n ...this.attrs$,\n },\n on: this.listeners$,\n }\n\n return data\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.tag, data, newChildren)\n },\n renderSvgIcon (icon: string, h: CreateElement): VNode {\n const data = this.getDefaultData()\n data.class['v-icon--svg'] = true\n\n data.attrs = {\n xmlns: 'http://www.w3.org/2000/svg',\n viewBox: '0 0 24 24',\n height: '24',\n width: '24',\n role: 'img',\n 'aria-hidden': !this.attrs$['aria-label'],\n 'aria-label': this.attrs$['aria-label'],\n }\n\n const fontSize = this.getSize()\n if (fontSize) {\n data.style = {\n fontSize,\n height: fontSize,\n width: fontSize,\n }\n data.attrs.height = fontSize\n data.attrs.width = fontSize\n }\n\n this.applyColors(data)\n\n return h('svg', data, [\n h('path', {\n attrs: {\n d: icon,\n },\n }),\n ])\n },\n renderSvgIconComponent (\n icon: VuetifyIconComponent,\n h: CreateElement\n ): VNode {\n const data = this.getDefaultData()\n data.class['v-icon--is-component'] = true\n\n const size = this.getSize()\n if (size) {\n data.style = {\n fontSize: size,\n height: 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(component, data)\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","import VIcon from './VIcon'\n\nexport { VIcon }\nexport default VIcon\n","// extracted by mini-css-extract-plugin","// 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// Utils\nimport { consoleError, consoleWarn } from '../../util/console'\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\n/* @vue/component */\nexport default VResponsive.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 },\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 }\n },\n\n computed: {\n computedAspectRatio (): number {\n return Number(this.normalisedSrc.aspect || this.calculatedAspectRatio)\n },\n hasIntersect () {\n return (\n typeof window !== 'undefined' &&\n 'IntersectionObserver' in window\n )\n },\n normalisedSrc (): srcObject {\n return typeof this.src === 'string'\n ? {\n src: this.src,\n srcset: this.srcset,\n lazySrc: this.lazySrc,\n aspect: Number(this.aspectRatio),\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 },\n __cachedImage (): VNode | [] {\n if (!(this.normalisedSrc.src || this.normalisedSrc.lazySrc)) 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 this.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 onError () {\n consoleError(\n `Image load failed\\n\\n` +\n `src: ${this.normalisedSrc.src}`,\n this\n )\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 image.src = this.normalisedSrc.src\n this.sizes && (image.sizes = this.sizes)\n this.normalisedSrc.srcset && (image.srcset = this.normalisedSrc.srcset)\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 {\n timeout != null && 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 if (this.$slots.placeholder) {\n const placeholder = this.isLoading\n ? [this.$createElement('div', {\n staticClass: 'v-image__placeholder',\n }, this.$slots.placeholder)]\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 node.data!.staticClass += ' v-image'\n\n // Only load intersect directive if it\n // will work in the current browser.\n node.data!.directives = this.hasIntersect ? [{\n name: 'intersect',\n options: this.options,\n modifiers: { once: true },\n value: this.init,\n } as any] : []\n\n node.data!.attrs = {\n role: this.alt ? 'img' : undefined,\n 'aria-label': this.alt,\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, node.data, node.children)\n },\n})\n","import VImg from './VImg'\n\nexport { VImg }\nexport default VImg\n","// extracted by mini-css-extract-plugin","// Styles\nimport './VInput.sass'\n\n// Components\nimport VIcon from '../VIcon'\nimport VLabel from '../VLabel'\nimport VMessages from '../VMessages'\n\n// Mixins\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport Validatable from '../../mixins/validatable'\n\n// Utilities\nimport {\n convertToUnit,\n getSlot,\n kebabCase,\n} from '../../util/helpers'\n\n// Types\nimport { VNode, VNodeData, PropType } from 'vue'\nimport mixins from '../../util/mixins'\n\nconst baseMixins = mixins(\n BindsAttrs,\n Validatable\n)\n\ninterface options extends InstanceType<typeof baseMixins> {\n /* eslint-disable-next-line camelcase */\n $_modelEvent: string\n}\n\n/* @vue/component */\nexport default baseMixins.extend<options>().extend({\n name: 'v-input',\n\n inheritAttrs: false,\n\n props: {\n appendIcon: String,\n backgroundColor: {\n type: String,\n default: '',\n },\n dense: Boolean,\n height: [Number, String],\n hideDetails: Boolean,\n hint: String,\n id: String,\n label: String,\n loading: Boolean,\n persistentHint: Boolean,\n prependIcon: String,\n value: null as any as PropType<any>,\n },\n\n data () {\n return {\n lazyValue: this.value,\n hasMouseDown: false,\n }\n },\n\n computed: {\n classes (): object {\n return {\n 'v-input--has-state': this.hasState,\n 'v-input--hide-details': this.hideDetails,\n 'v-input--is-label-active': this.isLabelActive,\n 'v-input--is-dirty': this.isDirty,\n 'v-input--is-disabled': this.disabled,\n 'v-input--is-focused': this.isFocused,\n 'v-input--is-loading': this.loading !== false && this.loading !== undefined,\n 'v-input--is-readonly': this.readonly,\n 'v-input--dense': this.dense,\n ...this.themeClasses,\n }\n },\n computedId (): string {\n return this.id || `input-${this._uid}`\n },\n hasHint (): boolean {\n return !this.hasMessages &&\n !!this.hint &&\n (this.persistentHint || this.isFocused)\n },\n hasLabel (): boolean {\n return !!(this.$slots.label || this.label)\n },\n // Proxy for `lazyValue`\n // This allows an input\n // to function without\n // a provided model\n internalValue: {\n get (): any {\n return this.lazyValue\n },\n set (val: any) {\n this.lazyValue = val\n this.$emit(this.$_modelEvent, val)\n },\n },\n isDirty (): boolean {\n return !!this.lazyValue\n },\n isDisabled (): boolean {\n return this.disabled || this.readonly\n },\n isLabelActive (): boolean {\n return this.isDirty\n },\n },\n\n watch: {\n value (val) {\n this.lazyValue = val\n },\n },\n\n beforeCreate () {\n // v-radio-group needs to emit a different event\n // https://github.com/vuetifyjs/vuetify/issues/4752\n this.$_modelEvent = (this.$options.model && this.$options.model.event) || 'input'\n },\n\n methods: {\n genContent () {\n return [\n this.genPrependSlot(),\n this.genControl(),\n this.genAppendSlot(),\n ]\n },\n genControl () {\n return this.$createElement('div', {\n staticClass: 'v-input__control',\n }, [\n this.genInputSlot(),\n this.genMessages(),\n ])\n },\n genDefaultSlot () {\n return [\n this.genLabel(),\n this.$slots.default,\n ]\n },\n genIcon (\n type: string,\n cb?: (e: Event) => void\n ) {\n const icon = (this as any)[`${type}Icon`]\n const eventName = `click:${kebabCase(type)}`\n\n const data: VNodeData = {\n props: {\n color: this.validationState,\n dark: this.dark,\n disabled: this.disabled,\n light: this.light,\n },\n on: !(this.listeners$[eventName] || cb)\n ? undefined\n : {\n click: (e: Event) => {\n e.preventDefault()\n e.stopPropagation()\n\n this.$emit(eventName, e)\n cb && cb(e)\n },\n // Container has g event that will\n // trigger menu open if enclosed\n mouseup: (e: Event) => {\n e.preventDefault()\n e.stopPropagation()\n },\n },\n }\n\n return this.$createElement('div', {\n staticClass: `v-input__icon v-input__icon--${kebabCase(type)}`,\n key: type + icon,\n }, [\n this.$createElement(\n VIcon,\n data,\n icon\n ),\n ])\n },\n genInputSlot () {\n return this.$createElement('div', this.setBackgroundColor(this.backgroundColor, {\n staticClass: 'v-input__slot',\n style: { height: convertToUnit(this.height) },\n on: {\n click: this.onClick,\n mousedown: this.onMouseDown,\n mouseup: this.onMouseUp,\n },\n ref: 'input-slot',\n }), [this.genDefaultSlot()])\n },\n genLabel () {\n if (!this.hasLabel) return null\n\n return this.$createElement(VLabel, {\n props: {\n color: this.validationState,\n dark: this.dark,\n focused: this.hasState,\n for: this.computedId,\n light: this.light,\n },\n }, this.$slots.label || this.label)\n },\n genMessages () {\n if (this.hideDetails) return null\n\n const messages = this.hasHint\n ? [this.hint]\n : this.validations\n\n return this.$createElement(VMessages, {\n props: {\n color: this.hasHint ? '' : this.validationState,\n dark: this.dark,\n light: this.light,\n value: (this.hasMessages || this.hasHint) ? messages : [],\n },\n attrs: {\n role: this.hasMessages ? 'alert' : null,\n },\n scopedSlots: {\n default: props => getSlot(this, 'message', props),\n },\n })\n },\n genSlot (\n type: string,\n location: string,\n slot: (VNode | VNode[])[]\n ) {\n if (!slot.length) return null\n\n const ref = `${type}-${location}`\n\n return this.$createElement('div', {\n staticClass: `v-input__${ref}`,\n ref,\n }, slot)\n },\n genPrependSlot () {\n const slot = []\n\n if (this.$slots.prepend) {\n slot.push(this.$slots.prepend)\n } else if (this.prependIcon) {\n slot.push(this.genIcon('prepend'))\n }\n\n return this.genSlot('prepend', 'outer', slot)\n },\n genAppendSlot () {\n const slot = []\n\n // Append icon for text field was really\n // an appended inner icon, v-text-field\n // will overwrite this method in order to obtain\n // backwards compat\n if (this.$slots.append) {\n slot.push(this.$slots.append)\n } else if (this.appendIcon) {\n slot.push(this.genIcon('append'))\n }\n\n return this.genSlot('append', 'outer', slot)\n },\n onClick (e: Event) {\n this.$emit('click', e)\n },\n onMouseDown (e: Event) {\n this.hasMouseDown = true\n this.$emit('mousedown', e)\n },\n onMouseUp (e: Event) {\n this.hasMouseDown = false\n this.$emit('mouseup', e)\n },\n },\n\n render (h): VNode {\n return h('div', this.setTextColor(this.validationState, {\n staticClass: 'v-input',\n class: this.classes,\n }), this.genContent())\n },\n})\n","import VInput from './VInput'\n\nexport { VInput }\nexport default VInput\n","// Mixins\nimport { factory as GroupableFactory } from '../../mixins/groupable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { consoleWarn } from '../../util/console'\n\n// Types\nimport Vue from 'vue'\nimport { VNode, ScopedSlotChildren } from 'vue/types/vnode'\n\n/* @vue/component */\nexport const BaseItem = Vue.extend({\n props: {\n activeClass: String,\n value: {\n required: false,\n },\n },\n\n data: () => ({\n isActive: false,\n }),\n\n methods: {\n toggle () {\n this.isActive = !this.isActive\n },\n },\n\n render (): VNode {\n if (!this.$scopedSlots.default) {\n consoleWarn('v-item is missing a default scopedSlot', 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({\n active: this.isActive,\n toggle: this.toggle,\n })\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-item should only contain a single element', this)\n\n return element as any\n }\n\n element.data = this._b(element.data || {}, element.tag!, {\n class: { [this.activeClass]: this.isActive },\n })\n\n return element\n },\n})\n\nexport default mixins(\n BaseItem,\n GroupableFactory('itemGroup', 'v-item', 'v-item-group')\n).extend({\n name: 'v-item',\n})\n","// extracted by mini-css-extract-plugin","// Styles\nimport './VItemGroup.sass'\n\n// Mixins\nimport Groupable from '../../mixins/groupable'\nimport Proxyable from '../../mixins/proxyable'\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { consoleWarn } from '../../util/console'\n\n// Types\nimport { VNode } from 'vue/types'\n\nexport type GroupableInstance = InstanceType<typeof Groupable> & {\n id?: string\n to?: any\n value?: any\n }\n\nexport const BaseItemGroup = mixins(\n Proxyable,\n Themeable\n).extend({\n name: 'base-item-group',\n\n props: {\n activeClass: {\n type: String,\n default: 'v-item--active',\n },\n mandatory: Boolean,\n max: {\n type: [Number, String],\n default: null,\n },\n multiple: Boolean,\n },\n\n data () {\n return {\n // As long as a value is defined, show it\n // Otherwise, check if multiple\n // to determine which default to provide\n internalLazyValue: this.value !== undefined\n ? this.value\n : this.multiple ? [] : undefined,\n items: [] as GroupableInstance[],\n }\n },\n\n computed: {\n classes (): Record<string, boolean> {\n return {\n 'v-item-group': true,\n ...this.themeClasses,\n }\n },\n selectedIndex (): number {\n return (this.selectedItem && this.items.indexOf(this.selectedItem)) || -1\n },\n selectedItem (): GroupableInstance | undefined {\n if (this.multiple) return undefined\n\n return this.selectedItems[0]\n },\n selectedItems (): GroupableInstance[] {\n return this.items.filter((item, index) => {\n return this.toggleMethod(this.getValue(item, index))\n })\n },\n selectedValues (): any[] {\n if (this.internalValue == null) return []\n\n return Array.isArray(this.internalValue)\n ? this.internalValue\n : [this.internalValue]\n },\n toggleMethod (): (v: any) => boolean {\n if (!this.multiple) {\n return (v: any) => this.internalValue === v\n }\n\n const internalValue = this.internalValue\n if (Array.isArray(internalValue)) {\n return (v: any) => internalValue.includes(v)\n }\n\n return () => false\n },\n },\n\n watch: {\n internalValue () {\n // https://github.com/vuetifyjs/vuetify/issues/5352\n this.$nextTick(this.updateItemsState)\n },\n },\n\n created () {\n if (this.multiple && !Array.isArray(this.internalValue)) {\n consoleWarn('Model must be bound to an array if the multiple property is true.', this)\n }\n },\n\n methods: {\n genData (): object {\n return {\n class: this.classes,\n }\n },\n getValue (item: GroupableInstance, i: number): unknown {\n return item.value == null || item.value === ''\n ? i\n : item.value\n },\n onClick (item: GroupableInstance) {\n this.updateInternalValue(\n this.getValue(item, this.items.indexOf(item))\n )\n },\n register (item: GroupableInstance) {\n const index = this.items.push(item) - 1\n\n item.$on('change', () => this.onClick(item))\n\n // If no value provided and mandatory,\n // assign first registered item\n if (this.mandatory && this.internalLazyValue == null) {\n this.updateMandatory()\n }\n\n this.updateItem(item, index)\n },\n unregister (item: GroupableInstance) {\n if (this._isDestroyed) return\n\n const index = this.items.indexOf(item)\n const value = this.getValue(item, index)\n\n this.items.splice(index, 1)\n\n const valueIndex = this.selectedValues.indexOf(value)\n\n // Items is not selected, do nothing\n if (valueIndex < 0) return\n\n // If not mandatory, use regular update process\n if (!this.mandatory) {\n return this.updateInternalValue(value)\n }\n\n // Remove the value\n if (this.multiple && Array.isArray(this.internalValue)) {\n this.internalValue = this.internalValue.filter(v => v !== value)\n } else {\n this.internalValue = undefined\n }\n\n // If mandatory and we have no selection\n // add the last item as value\n /* istanbul ignore else */\n if (!this.selectedItems.length) {\n this.updateMandatory(true)\n }\n },\n updateItem (item: GroupableInstance, index: number) {\n const value = this.getValue(item, index)\n\n item.isActive = this.toggleMethod(value)\n },\n updateItemsState () {\n if (this.mandatory &&\n !this.selectedItems.length\n ) {\n return this.updateMandatory()\n }\n\n // TODO: Make this smarter so it\n // doesn't have to iterate every\n // child in an update\n this.items.forEach(this.updateItem)\n },\n updateInternalValue (value: any) {\n this.multiple\n ? this.updateMultiple(value)\n : this.updateSingle(value)\n },\n updateMandatory (last?: boolean) {\n if (!this.items.length) return\n\n const items = this.items.slice()\n\n if (last) items.reverse()\n\n const item = items.find(item => !item.disabled)\n\n // If no tabs are available\n // aborts mandatory value\n if (!item) return\n\n const index = this.items.indexOf(item)\n\n this.updateInternalValue(\n this.getValue(item, index)\n )\n },\n updateMultiple (value: any) {\n const defaultValue = Array.isArray(this.internalValue)\n ? this.internalValue\n : []\n const internalValue = defaultValue.slice()\n const index = internalValue.findIndex(val => val === value)\n\n if (\n this.mandatory &&\n // Item already exists\n index > -1 &&\n // value would be reduced below min\n internalValue.length - 1 < 1\n ) return\n\n if (\n // Max is set\n this.max != null &&\n // Item doesn't exist\n index < 0 &&\n // value would be increased above max\n internalValue.length + 1 > this.max\n ) return\n\n index > -1\n ? internalValue.splice(index, 1)\n : internalValue.push(value)\n\n this.internalValue = internalValue\n },\n updateSingle (value: any) {\n const isSame = value === this.internalValue\n\n if (this.mandatory && isSame) return\n\n this.internalValue = isSame ? undefined : value\n },\n },\n\n render (h): VNode {\n return h('div', this.genData(), this.$slots.default)\n },\n})\n\nexport default BaseItemGroup.extend({\n name: 'v-item-group',\n\n provide (): object {\n return {\n itemGroup: this,\n }\n },\n})\n","import VItem from './VItem'\nimport VItemGroup from './VItemGroup'\n\nexport {\n VItem,\n VItemGroup,\n}\n\nexport default {\n $_vuetify_subcomponents: {\n VItem,\n VItemGroup,\n },\n}\n","// extracted by mini-css-extract-plugin","// Styles\nimport './VLabel.sass'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Themeable, { functionalThemeClasses } from '../../mixins/themeable'\n\n// Types\nimport { VNode } from 'vue'\nimport mixins from '../../util/mixins'\n\n// Helpers\nimport { convertToUnit } from '../../util/helpers'\n\n/* @vue/component */\nexport default mixins(Themeable).extend({\n name: 'v-label',\n\n functional: true,\n\n props: {\n absolute: Boolean,\n color: {\n type: String,\n default: 'primary',\n },\n disabled: Boolean,\n focused: Boolean,\n for: String,\n left: {\n type: [Number, String],\n default: 0,\n },\n right: {\n type: [Number, String],\n default: 'auto',\n },\n value: Boolean,\n },\n\n render (h, ctx): VNode {\n const { children, listeners, props } = ctx\n const data = {\n staticClass: 'v-label',\n class: {\n 'v-label--active': props.value,\n 'v-label--is-disabled': props.disabled,\n ...functionalThemeClasses(ctx),\n },\n attrs: {\n for: props.for,\n 'aria-hidden': !props.for,\n },\n on: listeners,\n style: {\n left: convertToUnit(props.left),\n right: convertToUnit(props.right),\n position: props.absolute ? 'absolute' : 'relative',\n },\n ref: 'label',\n }\n\n return h('label', Colorable.options.methods.setTextColor(props.focused && props.color, data), children)\n },\n})\n","import VLabel from './VLabel'\n\nexport { VLabel }\nexport default VLabel\n","// Mixins\nimport Toggleable from '../../mixins/toggleable'\n\n// Directives\nimport intersect from '../../directives/intersect'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { convertToUnit, getSlot } from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue'\n\nexport default mixins(Toggleable).extend({\n name: 'VLazy',\n\n directives: { intersect },\n\n props: {\n minHeight: [Number, 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 },\n transition: {\n type: String,\n default: 'fade-transition',\n },\n },\n\n computed: {\n styles (): object {\n return {\n minHeight: parseInt(this.minHeight) ? convertToUnit(this.minHeight) : this.minHeight,\n }\n },\n },\n\n methods: {\n genContent () {\n const slot = getSlot(this)\n\n /* istanbul ignore if */\n if (!this.transition) return slot\n\n const children = []\n\n if (this.isActive) children.push(slot)\n\n return this.$createElement('transition', {\n props: { name: this.transition },\n }, children)\n },\n onObserve (\n entries: IntersectionObserverEntry[],\n observer: IntersectionObserver,\n isIntersecting: boolean,\n ) {\n if (this.isActive) return\n\n this.isActive = isIntersecting\n },\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-lazy',\n attrs: this.$attrs,\n directives: [{\n name: 'intersect',\n value: {\n handler: this.onObserve,\n options: this.options,\n },\n }],\n on: this.$listeners,\n style: this.styles,\n }, [this.genContent()])\n },\n})\n","import VLazy from './VLazy'\n\nexport { VLazy }\nexport default VLazy\n","// extracted by mini-css-extract-plugin","// Styles\nimport './VList.sass'\nimport VListGroup from './VListGroup'\n\n// Components\nimport VSheet from '../VSheet/VSheet'\n\n// Types\nimport { VNode } from 'vue'\n\ntype VListGroupInstance = InstanceType<typeof VListGroup>\n\ninterface options extends InstanceType<typeof VSheet> {\n isInMenu: boolean\n isInNav: boolean\n}\n\n/* @vue/component */\nexport default VSheet.extend<options>().extend({\n name: 'v-list',\n\n provide (): object {\n return {\n isInList: true,\n list: this,\n }\n },\n\n inject: {\n isInMenu: {\n default: false,\n },\n isInNav: {\n default: false,\n },\n },\n\n props: {\n dense: Boolean,\n disabled: Boolean,\n expand: Boolean,\n flat: Boolean,\n nav: Boolean,\n rounded: Boolean,\n shaped: Boolean,\n subheader: Boolean,\n threeLine: Boolean,\n tile: {\n type: Boolean,\n default: true,\n },\n twoLine: Boolean,\n },\n\n data: () => ({\n groups: [] as VListGroupInstance[],\n }),\n\n computed: {\n classes (): object {\n return {\n ...VSheet.options.computed.classes.call(this),\n 'v-list--dense': this.dense,\n 'v-list--disabled': this.disabled,\n 'v-list--flat': this.flat,\n 'v-list--nav': this.nav,\n 'v-list--rounded': this.rounded,\n 'v-list--shaped': this.shaped,\n 'v-list--subheader': this.subheader,\n 'v-list--two-line': this.twoLine,\n 'v-list--three-line': this.threeLine,\n }\n },\n },\n\n methods: {\n register (content: VListGroupInstance) {\n this.groups.push(content)\n },\n unregister (content: VListGroupInstance) {\n const index = this.groups.findIndex(g => g._uid === content._uid)\n\n if (index > -1) this.groups.splice(index, 1)\n },\n listClick (uid: number) {\n if (this.expand) return\n\n for (const group of this.groups) {\n group.toggle(uid)\n }\n },\n },\n\n render (h): VNode {\n const data = {\n staticClass: 'v-list',\n class: this.classes,\n style: this.styles,\n attrs: {\n role: this.isInNav || this.isInMenu ? undefined : 'list',\n ...this.attrs$,\n },\n }\n\n return h('div', this.setBackgroundColor(this.color, data), [this.$slots.default])\n },\n})\n","// extracted by mini-css-extract-plugin","// Styles\nimport './VListGroup.sass'\n\n// Components\nimport VIcon from '../VIcon'\nimport VList from './VList'\nimport VListItem from './VListItem'\nimport VListItemIcon from './VListItemIcon'\n\n// Mixins\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport Bootable from '../../mixins/bootable'\nimport Colorable from '../../mixins/colorable'\nimport Toggleable from '../../mixins/toggleable'\nimport { inject as RegistrableInject } from '../../mixins/registrable'\n\n// Directives\nimport ripple from '../../directives/ripple'\n\n// Transitions\nimport { VExpandTransition } from '../transitions'\n\n// Utils\nimport mixins, { ExtractVue } from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\nimport { Route } from 'vue-router'\n\nconst baseMixins = mixins(\n BindsAttrs,\n Bootable,\n Colorable,\n RegistrableInject('list'),\n Toggleable\n)\n\ntype VListInstance = InstanceType<typeof VList>\n\ninterface options extends ExtractVue<typeof baseMixins> {\n list: VListInstance\n $refs: {\n group: HTMLElement\n }\n $route: Route\n}\n\nexport default baseMixins.extend<options>().extend({\n name: 'v-list-group',\n\n directives: { ripple },\n\n props: {\n activeClass: {\n type: String,\n default: '',\n },\n appendIcon: {\n type: String,\n default: '$expand',\n },\n color: {\n type: String,\n default: 'primary',\n },\n disabled: Boolean,\n group: String,\n noAction: Boolean,\n prependIcon: String,\n ripple: {\n type: [Boolean, Object],\n default: true,\n },\n subGroup: Boolean,\n },\n\n computed: {\n classes (): object {\n return {\n 'v-list-group--active': this.isActive,\n 'v-list-group--disabled': this.disabled,\n 'v-list-group--no-action': this.noAction,\n 'v-list-group--sub-group': this.subGroup,\n }\n },\n },\n\n watch: {\n isActive (val: boolean) {\n /* istanbul ignore else */\n if (!this.subGroup && val) {\n this.list && this.list.listClick(this._uid)\n }\n },\n $route: 'onRouteChange',\n },\n\n created () {\n this.list && this.list.register(this)\n\n if (this.group &&\n this.$route &&\n this.value == null\n ) {\n this.isActive = this.matchRoute(this.$route.path)\n }\n },\n\n beforeDestroy () {\n this.list && this.list.unregister(this)\n },\n\n methods: {\n click (e: Event) {\n if (this.disabled) return\n\n this.isBooted = true\n\n this.$emit('click', e)\n this.$nextTick(() => (this.isActive = !this.isActive))\n },\n genIcon (icon: string | false): VNode {\n return this.$createElement(VIcon, icon)\n },\n genAppendIcon (): VNode | null {\n const icon = !this.subGroup ? this.appendIcon : false\n\n if (!icon && !this.$slots.appendIcon) return null\n\n return this.$createElement(VListItemIcon, {\n staticClass: 'v-list-group__header__append-icon',\n }, [\n this.$slots.appendIcon || this.genIcon(icon),\n ])\n },\n genHeader (): VNode {\n return this.$createElement(VListItem, {\n staticClass: 'v-list-group__header',\n attrs: {\n 'aria-expanded': String(this.isActive),\n role: 'button',\n },\n class: {\n [this.activeClass]: this.isActive,\n },\n props: {\n inputValue: this.isActive,\n },\n directives: [{\n name: 'ripple',\n value: this.ripple,\n }],\n on: {\n ...this.listeners$,\n click: this.click,\n },\n }, [\n this.genPrependIcon(),\n this.$slots.activator,\n this.genAppendIcon(),\n ])\n },\n genItems (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-list-group__items',\n directives: [{\n name: 'show',\n value: this.isActive,\n }],\n }, this.showLazyContent([\n this.$createElement('div', this.$slots.default),\n ]))\n },\n genPrependIcon (): VNode | null {\n const icon = this.prependIcon\n ? this.prependIcon\n : this.subGroup\n ? '$subgroup'\n : false\n\n if (!icon && !this.$slots.prependIcon) return null\n\n return this.$createElement(VListItemIcon, {\n staticClass: 'v-list-group__header__prepend-icon',\n }, [\n this.$slots.prependIcon || this.genIcon(icon),\n ])\n },\n onRouteChange (to: Route) {\n /* istanbul ignore if */\n if (!this.group) return\n\n const isActive = this.matchRoute(to.path)\n\n /* istanbul ignore else */\n if (isActive && this.isActive !== isActive) {\n this.list && this.list.listClick(this._uid)\n }\n\n this.isActive = isActive\n },\n toggle (uid: number) {\n const isActive = this._uid === uid\n\n if (isActive) this.isBooted = true\n this.$nextTick(() => (this.isActive = isActive))\n },\n matchRoute (to: string) {\n return to.match(this.group) !== null\n },\n },\n\n render (h): VNode {\n return h('div', this.setTextColor(this.isActive && this.color, {\n staticClass: 'v-list-group',\n class: this.classes,\n }), [\n this.genHeader(),\n h(VExpandTransition, [this.genItems()]),\n ])\n },\n})\n","// extracted by mini-css-extract-plugin","// Styles\nimport './VListItem.sass'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Routable from '../../mixins/routable'\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport Themeable from '../../mixins/themeable'\nimport { factory as ToggleableFactory } from '../../mixins/toggleable'\n\n// Directives\nimport Ripple from '../../directives/ripple'\n\n// Utilities\nimport { keyCodes } from './../../util/helpers'\nimport { ExtractVue } from './../../util/mixins'\nimport { removed } from '../../util/console'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { VNode } from 'vue'\nimport { PropValidator } from 'vue/types/options'\n\nconst baseMixins = mixins(\n Colorable,\n Routable,\n Themeable,\n GroupableFactory('listItemGroup'),\n ToggleableFactory('inputValue')\n)\n\ninterface options extends ExtractVue<typeof baseMixins> {\n $el: HTMLElement\n isInGroup: boolean\n isInList: boolean\n isInMenu: boolean\n isInNav: boolean\n}\n\n/* @vue/component */\nexport default baseMixins.extend<options>().extend({\n name: 'v-list-item',\n\n directives: {\n Ripple,\n },\n\n inheritAttrs: false,\n\n inject: {\n isInGroup: {\n default: false,\n },\n isInList: {\n default: false,\n },\n isInMenu: {\n default: false,\n },\n isInNav: {\n default: false,\n },\n },\n\n props: {\n activeClass: {\n type: String,\n default (): string | undefined {\n if (!this.listItemGroup) return ''\n\n return this.listItemGroup.activeClass\n },\n } as any as PropValidator<string>,\n dense: Boolean,\n inactive: Boolean,\n link: Boolean,\n selectable: {\n type: Boolean,\n },\n tag: {\n type: String,\n default: 'div',\n },\n threeLine: Boolean,\n twoLine: Boolean,\n value: null as any as PropValidator<any>,\n },\n\n data: () => ({\n proxyClass: 'v-list-item--active',\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-list-item': true,\n ...Routable.options.computed.classes.call(this),\n 'v-list-item--dense': this.dense,\n 'v-list-item--disabled': this.disabled,\n 'v-list-item--link': this.isClickable && !this.inactive,\n 'v-list-item--selectable': this.selectable,\n 'v-list-item--three-line': this.threeLine,\n 'v-list-item--two-line': this.twoLine,\n ...this.themeClasses,\n }\n },\n isClickable (): boolean {\n return Boolean(\n Routable.options.computed.isClickable.call(this) ||\n this.listItemGroup\n )\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('avatar')) {\n removed('avatar', this)\n }\n },\n\n methods: {\n click (e: MouseEvent | KeyboardEvent) {\n if (e.detail) this.$el.blur()\n\n this.$emit('click', e)\n\n this.to || this.toggle()\n },\n genAttrs () {\n const attrs: Record<string, any> = {\n 'aria-disabled': this.disabled ? true : undefined,\n tabindex: this.isClickable && !this.disabled ? 0 : -1,\n ...this.$attrs,\n }\n\n if (this.$attrs.hasOwnProperty('role')) {\n // do nothing, role already provided\n } else if (this.isInNav) {\n // do nothing, role is inherit\n } else if (this.isInGroup) {\n attrs.role = 'listitem'\n attrs['aria-selected'] = String(this.isActive)\n } else if (this.isInMenu) {\n attrs.role = this.isClickable ? 'menuitem' : undefined\n } else if (this.isInList) {\n attrs.role = 'listitem'\n }\n\n return attrs\n },\n },\n\n render (h): VNode {\n let { tag, data } = this.generateRouteLink()\n\n data.attrs = {\n ...data.attrs,\n ...this.genAttrs(),\n }\n data.on = {\n ...data.on,\n click: this.click,\n keydown: (e: KeyboardEvent) => {\n /* istanbul ignore else */\n if (e.keyCode === keyCodes.enter) this.click(e)\n\n this.$emit('keydown', e)\n },\n }\n\n const children = this.$scopedSlots.default\n ? this.$scopedSlots.default({\n active: this.isActive,\n toggle: this.toggle,\n })\n : this.$slots.default\n\n tag = this.inactive ? 'div' : tag\n\n return h(tag, this.setTextColor(this.color, data), children)\n },\n})\n","// Types\nimport Vue, { VNode } from 'vue'\n\n/* @vue/component */\nexport default Vue.extend({\n name: 'v-list-item-action',\n\n functional: true,\n\n render (h, { data, children = [] }): VNode {\n data.staticClass = data.staticClass ? `v-list-item__action ${data.staticClass}` : 'v-list-item__action'\n const filteredChild = children.filter(VNode => {\n return VNode.isComment === false && VNode.text !== ' '\n })\n if (filteredChild.length > 1) data.staticClass += ' v-list-item__action--stack'\n\n return h('div', data, children)\n },\n})\n","// Components\nimport VAvatar from '../VAvatar'\n\n// Types\nimport { VNode } from 'vue'\n\n/* @vue/component */\nexport default VAvatar.extend({\n name: 'v-list-item-avatar',\n\n props: {\n horizontal: Boolean,\n size: {\n type: [Number, String],\n default: 40,\n },\n },\n\n computed: {\n classes (): object {\n return {\n 'v-list-item__avatar--horizontal': this.horizontal,\n ...VAvatar.options.computed.classes.call(this),\n 'v-avatar--tile': this.tile || this.horizontal,\n }\n },\n },\n\n render (h): VNode {\n const render = VAvatar.options.render.call(this, h)\n\n render.data = render.data || {}\n render.data.staticClass += ' v-list-item__avatar'\n\n return render\n },\n})\n","// extracted by mini-css-extract-plugin","// Styles\nimport './VListItemGroup.sass'\n\n// Extensions\nimport { BaseItemGroup } from '../VItemGroup/VItemGroup'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\nexport default mixins(\n BaseItemGroup,\n Colorable\n).extend({\n name: 'v-list-item-group',\n\n provide () {\n return {\n isInGroup: true,\n listItemGroup: this,\n }\n },\n\n computed: {\n classes (): object {\n return {\n ...BaseItemGroup.options.computed.classes.call(this),\n 'v-list-item-group': true,\n }\n },\n },\n\n methods: {\n genData (): object {\n return this.setTextColor(this.color, {\n ...BaseItemGroup.options.methods.genData.call(this),\n attrs: {\n role: 'listbox',\n },\n })\n },\n },\n})\n","// Types\nimport Vue, { VNode } from 'vue'\n\n/* @vue/component */\nexport default Vue.extend({\n name: 'v-list-item-icon',\n\n functional: true,\n\n render (h, { data, children }): VNode {\n data.staticClass = (`v-list-item__icon ${data.staticClass || ''}`).trim()\n\n return h('div', data, children)\n },\n})\n","import { createSimpleFunctional } from '../../util/helpers'\n\nimport VList from './VList'\nimport VListGroup from './VListGroup'\nimport VListItem from './VListItem'\nimport VListItemGroup from './VListItemGroup'\nimport VListItemAction from './VListItemAction'\nimport VListItemAvatar from './VListItemAvatar'\nimport VListItemIcon from './VListItemIcon'\n\nexport const VListItemActionText = createSimpleFunctional('v-list-item__action-text', 'span')\nexport const VListItemContent = createSimpleFunctional('v-list-item__content', 'div')\nexport const VListItemTitle = createSimpleFunctional('v-list-item__title', 'div')\nexport const VListItemSubtitle = createSimpleFunctional('v-list-item__subtitle', 'div')\n\nexport {\n VList,\n VListGroup,\n VListItem,\n VListItemAction,\n VListItemAvatar,\n VListItemIcon,\n VListItemGroup,\n}\n\nexport default {\n $_vuetify_subcomponents: {\n VList,\n VListGroup,\n VListItem,\n VListItemAction,\n VListItemActionText,\n VListItemAvatar,\n VListItemContent,\n VListItemGroup,\n VListItemIcon,\n VListItemSubtitle,\n VListItemTitle,\n },\n}\n","// extracted by mini-css-extract-plugin","// Styles\nimport './VMenu.sass'\n\n// Mixins\nimport Delayable from '../../mixins/delayable'\nimport Dependent from '../../mixins/dependent'\nimport Detachable from '../../mixins/detachable'\nimport Menuable from '../../mixins/menuable'\nimport Returnable from '../../mixins/returnable'\nimport Toggleable from '../../mixins/toggleable'\nimport Themeable from '../../mixins/themeable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\nimport Resize from '../../directives/resize'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { convertToUnit, keyCodes } from '../../util/helpers'\nimport ThemeProvider from '../../util/ThemeProvider'\nimport { removed } from '../../util/console'\n\n// Types\nimport { VNode, VNodeDirective, VNodeData } from 'vue'\n\nconst baseMixins = mixins(\n Dependent,\n Delayable,\n Detachable,\n Menuable,\n Returnable,\n Toggleable,\n Themeable\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-menu',\n\n provide (): object {\n return {\n isInMenu: true,\n // Pass theme through to default slot\n theme: this.theme,\n }\n },\n\n directives: {\n ClickOutside,\n Resize,\n },\n\n props: {\n auto: Boolean,\n closeOnClick: {\n type: Boolean,\n default: true,\n },\n closeOnContentClick: {\n type: Boolean,\n default: true,\n },\n disabled: Boolean,\n disableKeys: Boolean,\n maxHeight: {\n type: [Number, String],\n default: 'auto',\n },\n offsetX: Boolean,\n offsetY: Boolean,\n openOnClick: {\n type: Boolean,\n default: true,\n },\n openOnHover: Boolean,\n origin: {\n type: String,\n default: 'top left',\n },\n transition: {\n type: [Boolean, String],\n default: 'v-menu-transition',\n },\n },\n\n data () {\n return {\n calculatedTopAuto: 0,\n defaultOffset: 8,\n hasJustFocused: false,\n listIndex: -1,\n resizeTimeout: 0,\n selectedIndex: null as null | number,\n tiles: [] as HTMLElement[],\n }\n },\n\n computed: {\n activeTile (): HTMLElement | undefined {\n return this.tiles[this.listIndex]\n },\n calculatedLeft (): string {\n const menuWidth = Math.max(this.dimensions.content.width, parseFloat(this.calculatedMinWidth))\n\n if (!this.auto) return this.calcLeft(menuWidth) || '0'\n\n return convertToUnit(this.calcXOverflow(this.calcLeftAuto(), menuWidth)) || '0'\n },\n calculatedMaxHeight (): string {\n const height = this.auto\n ? '200px'\n : convertToUnit(this.maxHeight)\n\n return height || '0'\n },\n calculatedMaxWidth (): string {\n return convertToUnit(this.maxWidth) || '0'\n },\n calculatedMinWidth (): string {\n if (this.minWidth) {\n return convertToUnit(this.minWidth) || '0'\n }\n\n const minWidth = Math.min(\n this.dimensions.activator.width +\n Number(this.nudgeWidth) +\n (this.auto ? 16 : 0),\n Math.max(this.pageWidth - 24, 0)\n )\n\n const calculatedMaxWidth = isNaN(parseInt(this.calculatedMaxWidth))\n ? minWidth\n : parseInt(this.calculatedMaxWidth)\n\n return convertToUnit(Math.min(\n calculatedMaxWidth,\n minWidth\n )) || '0'\n },\n calculatedTop (): string {\n const top = !this.auto\n ? this.calcTop()\n : convertToUnit(this.calcYOverflow(this.calculatedTopAuto))\n\n return top || '0'\n },\n hasClickableTiles (): boolean {\n return Boolean(this.tiles.find(tile => tile.tabIndex > -1))\n },\n styles (): object {\n return {\n maxHeight: this.calculatedMaxHeight,\n minWidth: this.calculatedMinWidth,\n maxWidth: this.calculatedMaxWidth,\n top: this.calculatedTop,\n left: this.calculatedLeft,\n transformOrigin: this.origin,\n zIndex: this.zIndex || this.activeZIndex,\n }\n },\n },\n\n watch: {\n isActive (val) {\n if (!val) this.listIndex = -1\n },\n isContentActive (val) {\n this.hasJustFocused = val\n },\n listIndex (next, prev) {\n if (next in this.tiles) {\n const tile = this.tiles[next]\n tile.classList.add('v-list-item--highlighted')\n this.$refs.content.scrollTop = tile.offsetTop - tile.clientHeight\n }\n\n prev in this.tiles &&\n this.tiles[prev].classList.remove('v-list-item--highlighted')\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('full-width')) {\n removed('full-width', this)\n }\n },\n\n mounted () {\n this.isActive && this.callActivate()\n },\n\n methods: {\n activate () {\n // Update coordinates and dimensions of menu\n // and its activator\n this.updateDimensions()\n // Start the transition\n requestAnimationFrame(() => {\n // Once transitioning, calculate scroll and top position\n this.startTransition().then(() => {\n if (this.$refs.content) {\n this.calculatedTopAuto = this.calcTopAuto()\n this.auto && (this.$refs.content.scrollTop = this.calcScrollPosition())\n }\n })\n })\n },\n calcScrollPosition () {\n const $el = this.$refs.content\n const activeTile = $el.querySelector('.v-list-item--active') as HTMLElement\n const maxScrollTop = $el.scrollHeight - $el.offsetHeight\n\n return activeTile\n ? Math.min(maxScrollTop, Math.max(0, activeTile.offsetTop - $el.offsetHeight / 2 + activeTile.offsetHeight / 2))\n : $el.scrollTop\n },\n calcLeftAuto () {\n return parseInt(this.dimensions.activator.left - this.defaultOffset * 2)\n },\n calcTopAuto () {\n const $el = this.$refs.content\n const activeTile = $el.querySelector('.v-list-item--active') as HTMLElement | null\n\n if (!activeTile) {\n this.selectedIndex = null\n }\n\n if (this.offsetY || !activeTile) {\n return this.computedTop\n }\n\n this.selectedIndex = Array.from(this.tiles).indexOf(activeTile)\n\n const tileDistanceFromMenuTop = activeTile.offsetTop - this.calcScrollPosition()\n const firstTileOffsetTop = ($el.querySelector('.v-list-item') as HTMLElement).offsetTop\n\n return this.computedTop - tileDistanceFromMenuTop - firstTileOffsetTop - 1\n },\n changeListIndex (e: KeyboardEvent) {\n // For infinite scroll and autocomplete, re-evaluate children\n this.getTiles()\n\n if (!this.isActive || !this.hasClickableTiles) {\n return\n } else if (e.keyCode === keyCodes.tab) {\n this.isActive = false\n return\n } else if (e.keyCode === keyCodes.down) {\n this.nextTile()\n } else if (e.keyCode === keyCodes.up) {\n this.prevTile()\n } else if (e.keyCode === keyCodes.enter && this.listIndex !== -1) {\n this.tiles[this.listIndex].click()\n } else { return }\n // One of the conditions was met, prevent default action (#2988)\n e.preventDefault()\n },\n closeConditional (e: Event) {\n const target = e.target as HTMLElement\n\n return this.isActive &&\n !this._isDestroyed &&\n this.closeOnClick &&\n !this.$refs.content.contains(target)\n },\n genActivatorListeners () {\n const listeners = Menuable.options.methods.genActivatorListeners.call(this)\n\n if (!this.disableKeys) {\n listeners.keydown = this.onKeyDown\n }\n\n return listeners\n },\n genTransition (): VNode {\n if (!this.transition) return this.genContent()\n\n return this.$createElement('transition', {\n props: {\n name: this.transition,\n },\n }, [this.genContent()])\n },\n genDirectives (): VNodeDirective[] {\n const directives: VNodeDirective[] = [{\n name: 'show',\n value: this.isContentActive,\n }]\n\n // Do not add click outside for hover menu\n if (!this.openOnHover && this.closeOnClick) {\n directives.push({\n name: 'click-outside',\n value: () => { this.isActive = false },\n args: {\n closeConditional: this.closeConditional,\n include: () => [this.$el, ...this.getOpenDependentElements()],\n },\n } as any)\n }\n\n return directives\n },\n genContent (): VNode {\n const options = {\n attrs: {\n ...this.getScopeIdAttrs(),\n role: 'role' in this.$attrs ? this.$attrs.role : 'menu',\n },\n staticClass: 'v-menu__content',\n class: {\n ...this.rootThemeClasses,\n 'v-menu__content--auto': this.auto,\n 'v-menu__content--fixed': this.activatorFixed,\n menuable__content__active: this.isActive,\n [this.contentClass.trim()]: true,\n },\n style: this.styles,\n directives: this.genDirectives(),\n ref: 'content',\n on: {\n click: (e: Event) => {\n e.stopPropagation()\n\n const target = e.target as HTMLElement\n\n if (target.getAttribute('disabled')) return\n if (this.closeOnContentClick) this.isActive = false\n },\n keydown: this.onKeyDown,\n },\n } as VNodeData\n\n if (!this.disabled && this.openOnHover) {\n options.on = options.on || {}\n options.on.mouseenter = this.mouseEnterHandler\n }\n\n if (this.openOnHover) {\n options.on = options.on || {}\n options.on.mouseleave = this.mouseLeaveHandler\n }\n\n return this.$createElement(\n 'div',\n options,\n this.showLazyContent(this.getContentSlot())\n )\n },\n getTiles () {\n this.tiles = Array.from(this.$refs.content.querySelectorAll('.v-list-item'))\n },\n mouseEnterHandler () {\n this.runDelay('open', () => {\n if (this.hasJustFocused) return\n\n this.hasJustFocused = true\n this.isActive = true\n })\n },\n mouseLeaveHandler (e: MouseEvent) {\n // Prevent accidental re-activation\n this.runDelay('close', () => {\n if (this.$refs.content.contains(e.relatedTarget as HTMLElement)) return\n\n requestAnimationFrame(() => {\n this.isActive = false\n this.callDeactivate()\n })\n })\n },\n nextTile () {\n const tile = this.tiles[this.listIndex + 1]\n\n if (!tile) {\n if (!this.tiles.length) return\n\n this.listIndex = -1\n this.nextTile()\n\n return\n }\n\n this.listIndex++\n if (tile.tabIndex === -1) this.nextTile()\n },\n prevTile () {\n const tile = this.tiles[this.listIndex - 1]\n\n if (!tile) {\n if (!this.tiles.length) return\n\n this.listIndex = this.tiles.length\n this.prevTile()\n\n return\n }\n\n this.listIndex--\n if (tile.tabIndex === -1) this.prevTile()\n },\n onKeyDown (e: KeyboardEvent) {\n if (e.keyCode === keyCodes.esc) {\n // Wait for dependent elements to close first\n setTimeout(() => { this.isActive = false })\n const activator = this.getActivator()\n this.$nextTick(() => activator && activator.focus())\n } else if (\n !this.isActive &&\n [keyCodes.up, keyCodes.down].includes(e.keyCode)\n ) {\n this.isActive = true\n }\n\n // Allow for isActive watcher to generate tile list\n this.$nextTick(() => this.changeListIndex(e))\n },\n onResize () {\n if (!this.isActive) return\n\n // Account for screen resize\n // and orientation change\n // eslint-disable-next-line no-unused-expressions\n this.$refs.content.offsetWidth\n this.updateDimensions()\n\n // When resizing to a smaller width\n // content width is evaluated before\n // the new activator width has been\n // set, causing it to not size properly\n // hacky but will revisit in the future\n clearTimeout(this.resizeTimeout)\n this.resizeTimeout = window.setTimeout(this.updateDimensions, 100)\n },\n },\n\n render (h): VNode {\n const data = {\n staticClass: 'v-menu',\n class: {\n 'v-menu--attached':\n this.attach === '' ||\n this.attach === true ||\n this.attach === 'attach',\n },\n directives: [{\n arg: '500',\n name: 'resize',\n value: this.onResize,\n }],\n }\n\n return h('div', data, [\n !this.activator && this.genActivator(),\n this.$createElement(ThemeProvider, {\n props: {\n root: true,\n light: this.light,\n dark: this.dark,\n },\n }, [this.genTransition()]),\n ])\n },\n})\n","import VMenu from './VMenu'\n\nexport { VMenu }\nexport default VMenu\n","// extracted by mini-css-extract-plugin","// Styles\nimport './VMessages.sass'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\n\n// Types\nimport { VNode } from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport mixins from '../../util/mixins'\n\n// Utilities\nimport {\n escapeHTML,\n getSlot,\n} from '../../util/helpers'\n\n/* @vue/component */\nexport default mixins(Colorable, Themeable).extend({\n name: 'v-messages',\n\n props: {\n value: {\n type: Array,\n default: () => ([]),\n } as PropValidator<string[]>,\n },\n\n methods: {\n genChildren () {\n return this.$createElement('transition-group', {\n staticClass: 'v-messages__wrapper',\n attrs: {\n name: 'message-transition',\n tag: 'div',\n },\n }, this.value.map(this.genMessage))\n },\n genMessage (message: string, key: number) {\n const slot = getSlot(this, 'default', { message, key })\n const escapedHTML = escapeHTML(message)\n const innerHTML = !slot ? escapedHTML : undefined\n\n return this.$createElement('div', {\n staticClass: 'v-messages__message',\n key,\n domProps: { innerHTML },\n }, slot)\n },\n },\n\n render (h): VNode {\n return h('div', this.setTextColor(this.color, {\n staticClass: 'v-messages',\n class: this.themeClasses,\n }), [this.genChildren()])\n },\n})\n","import VMessages from './VMessages'\n\nexport { VMessages }\nexport default VMessages\n","// extracted by mini-css-extract-plugin","// Styles\nimport './VNavigationDrawer.sass'\n\n// Components\nimport VImg, { srcObject } from '../VImg/VImg'\n\n// Mixins\nimport Applicationable from '../../mixins/applicationable'\nimport Colorable from '../../mixins/colorable'\nimport Dependent from '../../mixins/dependent'\nimport Overlayable from '../../mixins/overlayable'\nimport SSRBootable from '../../mixins/ssr-bootable'\nimport Themeable from '../../mixins/themeable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\nimport Resize from '../../directives/resize'\nimport Touch, { TouchWrapper } from '../../directives/touch'\n\n// Utilities\nimport { convertToUnit, getSlot } from '../../util/helpers'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode, VNodeDirective } from 'vue'\nimport { PropValidator } from 'vue/types/options'\n\nconst baseMixins = mixins(\n Applicationable('left', [\n 'isActive',\n 'isMobile',\n 'miniVariant',\n 'expandOnHover',\n 'permanent',\n 'right',\n 'temporary',\n 'width',\n ]),\n Colorable,\n Dependent,\n Overlayable,\n SSRBootable,\n Themeable\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-navigation-drawer',\n\n provide (): object {\n return {\n isInNav: this.tag === 'nav',\n }\n },\n\n directives: {\n ClickOutside,\n Resize,\n Touch,\n },\n\n props: {\n bottom: Boolean,\n clipped: Boolean,\n disableResizeWatcher: Boolean,\n disableRouteWatcher: Boolean,\n expandOnHover: Boolean,\n floating: Boolean,\n height: {\n type: [Number, String],\n default (): string {\n return this.app ? '100vh' : '100%'\n },\n },\n miniVariant: Boolean,\n miniVariantWidth: {\n type: [Number, String],\n default: 80,\n },\n mobileBreakPoint: {\n type: [Number, String],\n default: 1264,\n },\n permanent: Boolean,\n right: Boolean,\n src: {\n type: [String, Object],\n default: '',\n } as PropValidator<string | srcObject>,\n stateless: Boolean,\n tag: {\n type: String,\n default (): string {\n return this.app ? 'nav' : 'aside'\n },\n },\n temporary: Boolean,\n touchless: Boolean,\n width: {\n type: [Number, String],\n default: 256,\n },\n value: { required: false } as PropValidator<any>,\n },\n\n data: () => ({\n isMouseover: false,\n touchArea: {\n left: 0,\n right: 0,\n },\n stackMinZIndex: 6,\n }),\n\n computed: {\n /**\n * Used for setting an app value from a dynamic\n * property. Called from applicationable.js\n */\n applicationProperty (): string {\n return this.right ? 'right' : 'left'\n },\n classes (): object {\n return {\n 'v-navigation-drawer': true,\n 'v-navigation-drawer--absolute': this.absolute,\n 'v-navigation-drawer--bottom': this.bottom,\n 'v-navigation-drawer--clipped': this.clipped,\n 'v-navigation-drawer--close': !this.isActive,\n 'v-navigation-drawer--fixed': !this.absolute && (this.app || this.fixed),\n 'v-navigation-drawer--floating': this.floating,\n 'v-navigation-drawer--is-mobile': this.isMobile,\n 'v-navigation-drawer--is-mouseover': this.isMouseover,\n 'v-navigation-drawer--mini-variant': this.isMiniVariant,\n 'v-navigation-drawer--open': this.isActive,\n 'v-navigation-drawer--open-on-hover': this.expandOnHover,\n 'v-navigation-drawer--right': this.right,\n 'v-navigation-drawer--temporary': this.temporary,\n ...this.themeClasses,\n }\n },\n computedMaxHeight (): number | null {\n if (!this.hasApp) return null\n\n const computedMaxHeight = (\n this.$vuetify.application.bottom +\n this.$vuetify.application.footer +\n this.$vuetify.application.bar\n )\n\n if (!this.clipped) return computedMaxHeight\n\n return computedMaxHeight + this.$vuetify.application.top\n },\n computedTop (): number {\n if (!this.hasApp) return 0\n\n let computedTop = this.$vuetify.application.bar\n\n computedTop += this.clipped\n ? this.$vuetify.application.top\n : 0\n\n return computedTop\n },\n computedTransform (): number {\n if (this.isActive) return 0\n if (this.isBottom) return 100\n return this.right ? 100 : -100\n },\n computedWidth (): string | number {\n return this.isMiniVariant ? this.miniVariantWidth : this.width\n },\n hasApp (): boolean {\n return (\n this.app &&\n (!this.isMobile && !this.temporary)\n )\n },\n isBottom (): boolean {\n return this.bottom && this.isMobile\n },\n isMiniVariant (): boolean {\n return (\n !this.expandOnHover &&\n this.miniVariant\n ) || (\n this.expandOnHover &&\n !this.isMouseover\n )\n },\n isMobile (): boolean {\n return (\n !this.stateless &&\n !this.permanent &&\n this.$vuetify.breakpoint.width < parseInt(this.mobileBreakPoint, 10)\n )\n },\n reactsToClick (): boolean {\n return (\n !this.stateless &&\n !this.permanent &&\n (this.isMobile || this.temporary)\n )\n },\n reactsToMobile (): boolean {\n return (\n this.app &&\n !this.disableResizeWatcher &&\n !this.permanent &&\n !this.stateless &&\n !this.temporary\n )\n },\n reactsToResize (): boolean {\n return !this.disableResizeWatcher && !this.stateless\n },\n reactsToRoute (): boolean {\n return (\n !this.disableRouteWatcher &&\n !this.stateless &&\n (this.temporary || this.isMobile)\n )\n },\n showOverlay (): boolean {\n return (\n this.isActive &&\n (this.isMobile || this.temporary)\n )\n },\n styles (): object {\n const translate = this.isBottom ? 'translateY' : 'translateX'\n const styles = {\n height: convertToUnit(this.height),\n top: !this.isBottom ? convertToUnit(this.computedTop) : 'auto',\n maxHeight: this.computedMaxHeight != null\n ? `calc(100% - ${convertToUnit(this.computedMaxHeight)})`\n : undefined,\n transform: `${translate}(${convertToUnit(this.computedTransform, '%')})`,\n width: convertToUnit(this.computedWidth),\n }\n\n return styles\n },\n },\n\n watch: {\n $route: 'onRouteChange',\n isActive (val) {\n this.$emit('input', val)\n },\n /**\n * When mobile changes, adjust the active state\n * only when there has been a previous value\n */\n isMobile (val, prev) {\n !val &&\n this.isActive &&\n !this.temporary &&\n this.removeOverlay()\n\n if (prev == null ||\n !this.reactsToResize ||\n !this.reactsToMobile\n ) return\n\n this.isActive = !val\n },\n permanent (val) {\n // If enabling prop enable the drawer\n if (val) this.isActive = true\n },\n showOverlay (val) {\n if (val) this.genOverlay()\n else this.removeOverlay()\n },\n value (val) {\n if (this.permanent) return\n\n if (val == null) {\n this.init()\n return\n }\n\n if (val !== this.isActive) this.isActive = val\n },\n expandOnHover: 'updateMiniVariant',\n isMouseover (val) {\n this.updateMiniVariant(!val)\n },\n },\n\n beforeMount () {\n this.init()\n },\n\n methods: {\n calculateTouchArea () {\n const parent = this.$el.parentNode as Element\n\n if (!parent) return\n\n const parentRect = parent.getBoundingClientRect()\n\n this.touchArea = {\n left: parentRect.left + 50,\n right: parentRect.right - 50,\n }\n },\n closeConditional () {\n return this.isActive && !this._isDestroyed && this.reactsToClick\n },\n genAppend () {\n return this.genPosition('append')\n },\n genBackground () {\n const props = {\n height: '100%',\n width: '100%',\n src: this.src,\n }\n\n const image = this.$scopedSlots.img\n ? this.$scopedSlots.img(props)\n : this.$createElement(VImg, { props })\n\n return this.$createElement('div', {\n staticClass: 'v-navigation-drawer__image',\n }, [image])\n },\n genDirectives (): VNodeDirective[] {\n const directives = [{\n name: 'click-outside',\n value: () => (this.isActive = false),\n args: {\n closeConditional: this.closeConditional,\n include: this.getOpenDependentElements,\n },\n }]\n\n if (!this.touchless && !this.stateless) {\n directives.push({\n name: 'touch',\n value: {\n parent: true,\n left: this.swipeLeft,\n right: this.swipeRight,\n },\n } as any)\n }\n\n return directives\n },\n genListeners () {\n const on: Record<string, (e: Event) => void> = {\n transitionend: (e: Event) => {\n if (e.target !== e.currentTarget) return\n this.$emit('transitionend', e)\n\n // IE11 does not support new Event('resize')\n const resizeEvent = document.createEvent('UIEvents')\n resizeEvent.initUIEvent('resize', true, false, window, 0)\n window.dispatchEvent(resizeEvent)\n },\n }\n\n if (this.miniVariant) {\n on.click = () => this.$emit('update:mini-variant', false)\n }\n\n if (this.expandOnHover) {\n on.mouseenter = () => (this.isMouseover = true)\n on.mouseleave = () => (this.isMouseover = false)\n }\n\n return on\n },\n genPosition (name: 'prepend' | 'append') {\n const slot = getSlot(this, name)\n\n if (!slot) return slot\n\n return this.$createElement('div', {\n staticClass: `v-navigation-drawer__${name}`,\n }, slot)\n },\n genPrepend () {\n return this.genPosition('prepend')\n },\n genContent () {\n return this.$createElement('div', {\n staticClass: 'v-navigation-drawer__content',\n }, this.$slots.default)\n },\n genBorder () {\n return this.$createElement('div', {\n staticClass: 'v-navigation-drawer__border',\n })\n },\n init () {\n if (this.permanent) {\n this.isActive = true\n } else if (this.stateless ||\n this.value != null\n ) {\n this.isActive = this.value\n } else if (!this.temporary) {\n this.isActive = !this.isMobile\n }\n },\n onRouteChange () {\n if (this.reactsToRoute && this.closeConditional()) {\n this.isActive = false\n }\n },\n swipeLeft (e: TouchWrapper) {\n if (this.isActive && this.right) return\n this.calculateTouchArea()\n\n if (Math.abs(e.touchendX - e.touchstartX) < 100) return\n if (this.right &&\n e.touchstartX >= this.touchArea.right\n ) this.isActive = true\n else if (!this.right && this.isActive) this.isActive = false\n },\n swipeRight (e: TouchWrapper) {\n if (this.isActive && !this.right) return\n this.calculateTouchArea()\n\n if (Math.abs(e.touchendX - e.touchstartX) < 100) return\n if (!this.right &&\n e.touchstartX <= this.touchArea.left\n ) this.isActive = true\n else if (this.right && this.isActive) this.isActive = false\n },\n /**\n * Update the application layout\n */\n updateApplication () {\n if (\n !this.isActive ||\n this.isMobile ||\n this.temporary ||\n !this.$el\n ) return 0\n\n const width = Number(this.computedWidth)\n\n return isNaN(width) ? this.$el.clientWidth : width\n },\n updateMiniVariant (val: boolean) {\n if (this.miniVariant !== val) this.$emit('update:mini-variant', val)\n },\n },\n\n render (h): VNode {\n const children = [\n this.genPrepend(),\n this.genContent(),\n this.genAppend(),\n this.genBorder(),\n ]\n\n if (this.src || getSlot(this, 'img')) children.unshift(this.genBackground())\n\n return h(this.tag, this.setBackgroundColor(this.color, {\n class: this.classes,\n style: this.styles,\n directives: this.genDirectives(),\n on: this.genListeners(),\n }), children)\n },\n})\n","import VNavigationDrawer from './VNavigationDrawer'\n\nexport { VNavigationDrawer }\nexport default VNavigationDrawer\n","// extracted by mini-css-extract-plugin","// Styles\nimport './VOverflowBtn.sass'\n\n// Extensions\nimport VSelect from '../VSelect/VSelect'\nimport VAutocomplete from '../VAutocomplete'\nimport VTextField from '../VTextField/VTextField'\n\n// Components\nimport VBtn from '../VBtn'\n\n// Utilities\nimport { consoleWarn } from '../../util/console'\n\n/* @vue/component */\nexport default VAutocomplete.extend({\n name: 'v-overflow-btn',\n\n props: {\n editable: Boolean,\n segmented: Boolean,\n },\n\n computed: {\n classes (): object {\n return {\n ...VAutocomplete.options.computed.classes.call(this),\n 'v-overflow-btn': true,\n 'v-overflow-btn--segmented': this.segmented,\n 'v-overflow-btn--editable': this.editable,\n }\n },\n isAnyValueAllowed (): boolean {\n return this.editable ||\n VAutocomplete.options.computed.isAnyValueAllowed.call(this)\n },\n isSingle (): true {\n return true\n },\n computedItems (): object[] {\n return this.segmented ? this.allItems : this.filteredItems\n },\n },\n\n methods: {\n genSelections () {\n return this.editable\n ? VAutocomplete.options.methods.genSelections.call(this)\n : VSelect.options.methods.genSelections.call(this) // Override v-autocomplete's override\n },\n genCommaSelection (item: any, index: number, last: boolean) {\n return this.segmented\n ? this.genSegmentedBtn(item)\n : VSelect.options.methods.genCommaSelection.call(this, item, index, last)\n },\n genInput () {\n const input = VTextField.options.methods.genInput.call(this)\n\n input.data = input.data || {}\n input.data.domProps!.value = this.editable ? this.internalSearch : ''\n input.data.attrs!.readonly = !this.isAnyValueAllowed\n\n return input\n },\n genLabel () {\n if (this.editable && this.isFocused) return null\n\n const label = VTextField.options.methods.genLabel.call(this)\n\n if (!label) return label\n\n label.data = label.data || {}\n\n // Reset previously set styles from parent\n label.data.style = {}\n\n return label\n },\n genSegmentedBtn (item: any) {\n const itemValue = this.getValue(item)\n const itemObj = this.computedItems.find(i => this.getValue(i) === itemValue) || item\n\n if (!itemObj.text || !itemObj.callback) {\n consoleWarn('When using \\'segmented\\' prop without a selection slot, items must contain both a text and callback property', this)\n return null\n }\n\n return this.$createElement(VBtn, {\n props: { text: true },\n on: {\n click (e: Event) {\n e.stopPropagation()\n itemObj.callback(e)\n },\n },\n }, [itemObj.text])\n },\n },\n})\n","import VOverflowBtn from './VOverflowBtn'\n\nexport { VOverflowBtn }\nexport default VOverflowBtn\n","// extracted by mini-css-extract-plugin","// Styles\nimport './VOverlay.sass'\n\n// Mixins\nimport Colorable from './../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\nimport Toggleable from './../../mixins/toggleable'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\n\n/* @vue/component */\nexport default mixins(\n Colorable,\n Themeable,\n Toggleable\n).extend({\n name: 'v-overlay',\n\n props: {\n absolute: Boolean,\n color: {\n type: String,\n default: '#212121',\n },\n dark: {\n type: Boolean,\n default: true,\n },\n opacity: {\n type: [Number, String],\n default: 0.46,\n },\n value: {\n default: true,\n },\n zIndex: {\n type: [Number, String],\n default: 5,\n },\n },\n\n computed: {\n __scrim (): VNode {\n const data = this.setBackgroundColor(this.color, {\n staticClass: 'v-overlay__scrim',\n style: {\n opacity: this.computedOpacity,\n },\n })\n\n return this.$createElement('div', data)\n },\n classes (): object {\n return {\n 'v-overlay--absolute': this.absolute,\n 'v-overlay--active': this.isActive,\n ...this.themeClasses,\n }\n },\n computedOpacity (): number {\n return Number(this.isActive ? this.opacity : 0)\n },\n styles (): object {\n return {\n zIndex: this.zIndex,\n }\n },\n },\n\n methods: {\n genContent () {\n return this.$createElement('div', {\n staticClass: 'v-overlay__content',\n }, this.$slots.default)\n },\n },\n\n render (h): VNode {\n const children = [this.__scrim]\n\n if (this.isActive) children.push(this.genContent())\n\n return h('div', {\n staticClass: 'v-overlay',\n class: this.classes,\n style: this.styles,\n }, children)\n },\n})\n","import VOverlay from './VOverlay'\n\nexport { VOverlay }\n\nexport default VOverlay\n","// extracted by mini-css-extract-plugin","import './VPagination.sass'\n\nimport VIcon from '../VIcon'\n\n// Directives\nimport Resize from '../../directives/resize'\n\n// Mixins\nimport mixins from '../../util/mixins'\nimport Colorable from '../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\n\n// Types\nimport { VNode, CreateElement } from 'vue'\n\n/* @vue/component */\nexport default mixins(Colorable, Themeable).extend({\n name: 'v-pagination',\n\n directives: { Resize },\n\n props: {\n circle: Boolean,\n disabled: Boolean,\n length: {\n type: Number,\n default: 0,\n validator: (val: number) => val % 1 === 0,\n },\n nextIcon: {\n type: String,\n default: '$next',\n },\n prevIcon: {\n type: String,\n default: '$prev',\n },\n totalVisible: [Number, String],\n value: {\n type: Number,\n default: 0,\n },\n },\n\n data () {\n return {\n maxButtons: 0,\n selected: null as number | null,\n }\n },\n\n computed: {\n classes (): object {\n return {\n 'v-pagination': true,\n 'v-pagination--circle': this.circle,\n 'v-pagination--disabled': this.disabled,\n ...this.themeClasses,\n }\n },\n\n items (): (string | number)[] {\n const totalVisible = parseInt(this.totalVisible, 10)\n\n const maxLength = Math.min(\n Math.max(0, totalVisible) || this.length,\n Math.max(0, this.maxButtons) || this.length,\n this.length\n )\n\n if (this.length <= maxLength) {\n return this.range(1, this.length)\n }\n\n const even = maxLength % 2 === 0 ? 1 : 0\n const left = Math.floor(maxLength / 2)\n const right = this.length - left + 1 + even\n\n if (this.value > left && this.value < right) {\n const start = this.value - left + 2\n const end = this.value + left - 2 - even\n\n return [1, '...', ...this.range(start, end), '...', this.length]\n } else if (this.value === left) {\n const end = this.value + left - 1 - even\n return [...this.range(1, end), '...', this.length]\n } else if (this.value === right) {\n const start = this.value - left + 1\n return [1, '...', ...this.range(start, this.length)]\n } else {\n return [\n ...this.range(1, left),\n '...',\n ...this.range(right, this.length),\n ]\n }\n },\n },\n\n watch: {\n value () {\n this.init()\n },\n },\n\n mounted () {\n this.init()\n },\n\n methods: {\n init () {\n this.selected = null\n\n this.$nextTick(this.onResize)\n // TODO: Change this (f75dee3a, cbdf7caa)\n setTimeout(() => (this.selected = this.value), 100)\n },\n onResize () {\n const width = this.$el && this.$el.parentElement\n ? this.$el.parentElement.clientWidth\n : window.innerWidth\n\n this.maxButtons = Math.floor((width - 96) / 42)\n },\n next (e: Event) {\n e.preventDefault()\n this.$emit('input', this.value + 1)\n this.$emit('next')\n },\n previous (e: Event) {\n e.preventDefault()\n this.$emit('input', this.value - 1)\n this.$emit('previous')\n },\n range (from: number, to: number) {\n const range = []\n\n from = from > 0 ? from : 1\n\n for (let i = from; i <= to; i++) {\n range.push(i)\n }\n\n return range\n },\n genIcon (h: CreateElement, icon: string, disabled: boolean, fn: EventListener): VNode {\n return h('li', [\n h('button', {\n staticClass: 'v-pagination__navigation',\n class: {\n 'v-pagination__navigation--disabled': disabled,\n },\n attrs: {\n type: 'button',\n },\n on: disabled ? {} : { click: fn },\n }, [h(VIcon, [icon])]),\n ])\n },\n genItem (h: CreateElement, i: string | number): VNode {\n const color: string | false = (i === this.value) && (this.color || 'primary')\n return h('button', this.setBackgroundColor(color, {\n staticClass: 'v-pagination__item',\n class: {\n 'v-pagination__item--active': i === this.value,\n },\n attrs: {\n type: 'button',\n },\n on: {\n click: () => this.$emit('input', i),\n },\n }), [i.toString()])\n },\n genItems (h: CreateElement): VNode[] {\n return this.items.map((i, index) => {\n return h('li', { key: index }, [\n isNaN(Number(i)) ? h('span', { class: 'v-pagination__more' }, [i.toString()]) : this.genItem(h, i),\n ])\n })\n },\n },\n\n render (h): VNode {\n const children = [\n this.genIcon(h, this.$vuetify.rtl ? this.nextIcon : this.prevIcon, this.value <= 1, this.previous),\n this.genItems(h),\n this.genIcon(h, this.$vuetify.rtl ? this.prevIcon : this.nextIcon, this.value >= this.length, this.next),\n ]\n\n return h('ul', {\n directives: [{\n modifiers: { quiet: true },\n name: 'resize',\n value: this.onResize,\n }],\n class: this.classes,\n }, children)\n },\n})\n","import VPagination from './VPagination'\n\nexport { VPagination }\nexport default VPagination\n","// extracted by mini-css-extract-plugin","// Style\nimport './VParallax.sass'\n\n// Mixins\nimport Translatable from '../../mixins/translatable'\n\n// Types\nimport { VNode, VNodeData } from 'vue/types/vnode'\nimport mixins from '../../util/mixins'\n\nconst baseMixins = mixins(\n Translatable\n)\ninterface options extends InstanceType<typeof baseMixins> {\n $refs: {\n img: HTMLImageElement\n }\n}\n\n/* @vue/component */\nexport default baseMixins.extend<options>().extend({\n name: 'v-parallax',\n\n props: {\n alt: {\n type: String,\n default: '',\n },\n height: {\n type: [String, Number],\n default: 500,\n },\n src: String,\n },\n\n data: () => ({\n isBooted: false,\n }),\n\n computed: {\n styles (): object {\n return {\n display: 'block',\n opacity: this.isBooted ? 1 : 0,\n transform: `translate(-50%, ${this.parallax}px)`,\n }\n },\n },\n\n mounted () {\n this.init()\n },\n\n methods: {\n init () {\n const img = this.$refs.img\n\n if (!img) return\n\n if (img.complete) {\n this.translate()\n this.listeners()\n } else {\n img.addEventListener('load', () => {\n this.translate()\n this.listeners()\n }, false)\n }\n\n this.isBooted = true\n },\n objHeight () {\n return this.$refs.img.naturalHeight\n },\n },\n\n render (h): VNode {\n const imgData: VNodeData = {\n staticClass: 'v-parallax__image',\n style: this.styles,\n attrs: {\n src: this.src,\n alt: this.alt,\n },\n ref: 'img',\n }\n\n const container = h('div', {\n staticClass: 'v-parallax__image-container',\n }, [\n h('img', imgData),\n ])\n\n const content = h('div', {\n staticClass: 'v-parallax__content',\n }, this.$slots.default)\n\n return h('div', {\n staticClass: 'v-parallax',\n style: {\n height: `${this.height}px`,\n },\n on: this.$listeners,\n }, [container, content])\n },\n})\n","import VParallax from './VParallax'\n\nexport { VParallax }\nexport default VParallax\n","// extracted by mini-css-extract-plugin","import './VPicker.sass'\nimport '../VCard/VCard.sass'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\n\n// Helpers\nimport { convertToUnit } from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue/types'\nimport mixins from '../../util/mixins'\n\n/* @vue/component */\nexport default mixins(Colorable, Themeable).extend({\n name: 'v-picker',\n\n props: {\n fullWidth: Boolean,\n landscape: Boolean,\n noTitle: Boolean,\n transition: {\n type: String,\n default: 'fade-transition',\n },\n width: {\n type: [Number, String],\n default: 290,\n },\n },\n\n computed: {\n computedTitleColor (): string | false {\n const defaultTitleColor = this.isDark ? false : (this.color || 'primary')\n return this.color || defaultTitleColor\n },\n },\n\n methods: {\n genTitle () {\n return this.$createElement('div', this.setBackgroundColor(this.computedTitleColor, {\n staticClass: 'v-picker__title',\n class: {\n 'v-picker__title--landscape': this.landscape,\n },\n }), this.$slots.title)\n },\n genBodyTransition () {\n return this.$createElement('transition', {\n props: {\n name: this.transition,\n },\n }, this.$slots.default)\n },\n genBody () {\n return this.$createElement('div', {\n staticClass: 'v-picker__body',\n class: {\n 'v-picker__body--no-title': this.noTitle,\n ...this.themeClasses,\n },\n style: this.fullWidth ? undefined : {\n width: convertToUnit(this.width),\n },\n }, [\n this.genBodyTransition(),\n ])\n },\n genActions () {\n return this.$createElement('div', {\n staticClass: 'v-picker__actions v-card__actions',\n class: {\n 'v-picker__actions--no-title': this.noTitle,\n },\n }, this.$slots.actions)\n },\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-picker v-card',\n class: {\n 'v-picker--landscape': this.landscape,\n 'v-picker--full-width': this.fullWidth,\n ...this.themeClasses,\n },\n }, [\n this.$slots.title ? this.genTitle() : null,\n this.genBody(),\n this.$slots.actions ? this.genActions() : null,\n ])\n },\n})\n","import VPicker from './VPicker'\n\nexport { VPicker }\nexport default VPicker\n","// extracted by mini-css-extract-plugin","// Styles\nimport './VProgressCircular.sass'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\n\n// Utils\nimport { convertToUnit } from '../../util/helpers'\n\n// Types\nimport { VNode, VNodeChildren } from 'vue'\n\n/* @vue/component */\nexport default Colorable.extend({\n name: 'v-progress-circular',\n\n props: {\n button: Boolean,\n indeterminate: Boolean,\n rotate: {\n type: [Number, String],\n default: 0,\n },\n size: {\n type: [Number, String],\n default: 32,\n },\n width: {\n type: [Number, String],\n default: 4,\n },\n value: {\n type: [Number, String],\n default: 0,\n },\n },\n\n data: () => ({\n radius: 20,\n }),\n\n computed: {\n calculatedSize (): number {\n return Number(this.size) + (this.button ? 8 : 0)\n },\n\n circumference (): number {\n return 2 * Math.PI * this.radius\n },\n\n classes (): object {\n return {\n 'v-progress-circular--indeterminate': this.indeterminate,\n 'v-progress-circular--button': this.button,\n }\n },\n\n normalizedValue (): number {\n if (this.value < 0) {\n return 0\n }\n\n if (this.value > 100) {\n return 100\n }\n\n return parseFloat(this.value)\n },\n\n strokeDashArray (): number {\n return Math.round(this.circumference * 1000) / 1000\n },\n\n strokeDashOffset (): string {\n return ((100 - this.normalizedValue) / 100) * this.circumference + 'px'\n },\n\n strokeWidth (): number {\n return Number(this.width) / +this.size * this.viewBoxSize * 2\n },\n\n styles (): object {\n return {\n height: convertToUnit(this.calculatedSize),\n width: convertToUnit(this.calculatedSize),\n }\n },\n\n svgStyles (): object {\n return {\n transform: `rotate(${Number(this.rotate)}deg)`,\n }\n },\n\n viewBoxSize (): number {\n return this.radius / (1 - Number(this.width) / +this.size)\n },\n },\n\n methods: {\n genCircle (name: string, offset: string | number): VNode {\n return this.$createElement('circle', {\n class: `v-progress-circular__${name}`,\n attrs: {\n fill: 'transparent',\n cx: 2 * this.viewBoxSize,\n cy: 2 * this.viewBoxSize,\n r: this.radius,\n 'stroke-width': this.strokeWidth,\n 'stroke-dasharray': this.strokeDashArray,\n 'stroke-dashoffset': offset,\n },\n })\n },\n genSvg (): VNode {\n const children = [\n this.indeterminate || this.genCircle('underlay', 0),\n this.genCircle('overlay', this.strokeDashOffset),\n ] as VNodeChildren\n\n return this.$createElement('svg', {\n style: this.svgStyles,\n attrs: {\n xmlns: 'http://www.w3.org/2000/svg',\n viewBox: `${this.viewBoxSize} ${this.viewBoxSize} ${2 * this.viewBoxSize} ${2 * this.viewBoxSize}`,\n },\n }, children)\n },\n genInfo (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-progress-circular__info',\n }, this.$slots.default)\n },\n },\n\n render (h): VNode {\n return h('div', this.setTextColor(this.color, {\n staticClass: 'v-progress-circular',\n attrs: {\n role: 'progressbar',\n 'aria-valuemin': 0,\n 'aria-valuemax': 100,\n 'aria-valuenow': this.indeterminate ? undefined : this.normalizedValue,\n },\n class: this.classes,\n style: this.styles,\n on: this.$listeners,\n }), [\n this.genSvg(),\n this.genInfo(),\n ])\n },\n})\n","import VProgressCircular from './VProgressCircular'\n\nexport { VProgressCircular }\nexport default VProgressCircular\n","// extracted by mini-css-extract-plugin","import './VProgressLinear.sass'\n\n// Components\nimport {\n VFadeTransition,\n VSlideXTransition,\n} from '../transitions'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport { factory as PositionableFactory } from '../../mixins/positionable'\nimport Proxyable from '../../mixins/proxyable'\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport { convertToUnit, getSlot } from '../../util/helpers'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { FunctionalComponentOptions } from 'vue/types'\nimport { VNode } from 'vue'\n\nconst baseMixins = mixins(\n Colorable,\n PositionableFactory(['absolute', 'fixed', 'top', 'bottom']),\n Proxyable,\n Themeable\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-progress-linear',\n\n props: {\n active: {\n type: Boolean,\n default: true,\n },\n backgroundColor: {\n type: String,\n default: null,\n },\n backgroundOpacity: {\n type: [Number, String],\n default: null,\n },\n bufferValue: {\n type: [Number, String],\n default: 100,\n },\n color: {\n type: String,\n default: 'primary',\n },\n height: {\n type: [Number, String],\n default: 4,\n },\n indeterminate: Boolean,\n query: Boolean,\n rounded: Boolean,\n stream: Boolean,\n striped: Boolean,\n value: {\n type: [Number, String],\n default: 0,\n },\n },\n\n data () {\n return {\n internalLazyValue: this.value || 0,\n }\n },\n\n computed: {\n __cachedBackground (): VNode {\n return this.$createElement('div', this.setBackgroundColor(this.backgroundColor || this.color, {\n staticClass: 'v-progress-linear__background',\n style: this.backgroundStyle,\n }))\n },\n __cachedBar (): VNode {\n return this.$createElement(this.computedTransition, [this.__cachedBarType])\n },\n __cachedBarType (): VNode {\n return this.indeterminate ? this.__cachedIndeterminate : this.__cachedDeterminate\n },\n __cachedBuffer (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-progress-linear__buffer',\n style: this.styles,\n })\n },\n __cachedDeterminate (): VNode {\n return this.$createElement('div', this.setBackgroundColor(this.color, {\n staticClass: `v-progress-linear__determinate`,\n style: {\n width: convertToUnit(this.normalizedValue, '%'),\n },\n }))\n },\n __cachedIndeterminate (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-progress-linear__indeterminate',\n class: {\n 'v-progress-linear__indeterminate--active': this.active,\n },\n }, [\n this.genProgressBar('long'),\n this.genProgressBar('short'),\n ])\n },\n __cachedStream (): VNode | null {\n if (!this.stream) return null\n\n return this.$createElement('div', this.setTextColor(this.color, {\n staticClass: 'v-progress-linear__stream',\n style: {\n width: convertToUnit(100 - this.normalizedBuffer, '%'),\n },\n }))\n },\n backgroundStyle (): object {\n const backgroundOpacity = this.backgroundOpacity == null\n ? (this.backgroundColor ? 1 : 0.3)\n : parseFloat(this.backgroundOpacity)\n\n return {\n opacity: backgroundOpacity,\n [this.$vuetify.rtl ? 'right' : 'left']: convertToUnit(this.normalizedValue, '%'),\n width: convertToUnit(this.normalizedBuffer - this.normalizedValue, '%'),\n }\n },\n classes (): object {\n return {\n 'v-progress-linear--absolute': this.absolute,\n 'v-progress-linear--fixed': this.fixed,\n 'v-progress-linear--query': this.query,\n 'v-progress-linear--reactive': this.reactive,\n 'v-progress-linear--rounded': this.rounded,\n 'v-progress-linear--striped': this.striped,\n ...this.themeClasses,\n }\n },\n computedTransition (): FunctionalComponentOptions {\n return this.indeterminate ? VFadeTransition : VSlideXTransition\n },\n normalizedBuffer (): number {\n return this.normalize(this.bufferValue)\n },\n normalizedValue (): number {\n return this.normalize(this.internalLazyValue)\n },\n reactive (): boolean {\n return Boolean(this.$listeners.change)\n },\n styles (): object {\n const styles: Record<string, any> = {}\n\n if (!this.active) {\n styles.height = 0\n }\n\n if (!this.indeterminate && parseFloat(this.normalizedBuffer) !== 100) {\n styles.width = convertToUnit(this.normalizedBuffer, '%')\n }\n\n return styles\n },\n },\n\n methods: {\n genContent () {\n const slot = getSlot(this, 'default', { value: this.internalLazyValue })\n\n if (!slot) return null\n\n return this.$createElement('div', {\n staticClass: 'v-progress-linear__content',\n }, slot)\n },\n genListeners () {\n const listeners = this.$listeners\n\n if (this.reactive) {\n listeners.click = this.onClick\n }\n\n return listeners\n },\n genProgressBar (name: 'long' | 'short') {\n return this.$createElement('div', this.setBackgroundColor(this.color, {\n staticClass: 'v-progress-linear__indeterminate',\n class: {\n [name]: true,\n },\n }))\n },\n onClick (e: MouseEvent) {\n if (!this.reactive) return\n\n const { width } = this.$el.getBoundingClientRect()\n\n this.internalValue = e.offsetX / width * 100\n },\n normalize (value: string | number) {\n if (value < 0) return 0\n if (value > 100) return 100\n return parseFloat(value)\n },\n },\n\n render (h): VNode {\n const data = {\n staticClass: 'v-progress-linear',\n attrs: {\n role: 'progressbar',\n 'aria-valuemin': 0,\n 'aria-valuemax': this.normalizedBuffer,\n 'aria-valuenow': this.indeterminate ? undefined : this.normalizedValue,\n },\n class: this.classes,\n style: {\n bottom: this.bottom ? 0 : undefined,\n height: this.active ? convertToUnit(this.height) : 0,\n top: this.top ? 0 : undefined,\n },\n on: this.genListeners(),\n }\n\n return h('div', data, [\n this.__cachedStream,\n this.__cachedBackground,\n this.__cachedBuffer,\n this.__cachedBar,\n this.genContent(),\n ])\n },\n})\n","import VProgressLinear from './VProgressLinear'\n\nexport { VProgressLinear }\nexport default VProgressLinear\n","// extracted by mini-css-extract-plugin","// Styles\nimport './VRadio.sass'\n\n// Components\nimport VRadioGroup from './VRadioGroup'\nimport VLabel from '../VLabel'\nimport VIcon from '../VIcon'\nimport VInput from '../VInput'\n\n// Mixins\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport Colorable from '../../mixins/colorable'\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport Rippleable from '../../mixins/rippleable'\nimport Themeable from '../../mixins/themeable'\nimport Selectable from '../../mixins/selectable'\n\n// Utilities\nimport { getSlot } from '../../util/helpers'\n\n// Types\nimport { VNode, VNodeData } from 'vue'\nimport mixins from '../../util/mixins'\n\nconst baseMixins = mixins(\n BindsAttrs,\n Colorable,\n Rippleable,\n GroupableFactory('radioGroup'),\n Themeable\n)\n\ninterface options extends InstanceType<typeof baseMixins> {\n radioGroup: InstanceType<typeof VRadioGroup>\n}\n\n/* @vue/component */\nexport default baseMixins.extend<options>().extend({\n name: 'v-radio',\n\n inheritAttrs: false,\n\n props: {\n disabled: Boolean,\n id: String,\n label: String,\n name: String,\n offIcon: {\n type: String,\n default: '$radioOff',\n },\n onIcon: {\n type: String,\n default: '$radioOn',\n },\n readonly: Boolean,\n value: {\n default: null,\n },\n },\n\n data: () => ({\n isFocused: false,\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-radio--is-disabled': this.isDisabled,\n 'v-radio--is-focused': this.isFocused,\n ...this.themeClasses,\n ...this.groupClasses,\n }\n },\n computedColor (): string | undefined {\n return Selectable.options.computed.computedColor.call(this)\n },\n computedIcon (): string {\n return this.isActive\n ? this.onIcon\n : this.offIcon\n },\n computedId (): string {\n return VInput.options.computed.computedId.call(this)\n },\n hasLabel: VInput.options.computed.hasLabel,\n hasState (): boolean {\n return (this.radioGroup || {}).hasState\n },\n isDisabled (): boolean {\n return this.disabled || !!(this.radioGroup || {}).disabled\n },\n isReadonly (): boolean {\n return this.readonly || !!(this.radioGroup || {}).readonly\n },\n computedName (): string {\n if (this.name || !this.radioGroup) {\n return this.name\n }\n\n return this.radioGroup.name || `radio-${this.radioGroup._uid}`\n },\n validationState (): string | undefined {\n return (this.radioGroup || {}).validationState || this.computedColor\n },\n },\n\n methods: {\n genInput (args: any) {\n // We can't actually use the mixin directly because\n // it's made for standalone components, but its\n // genInput method is exactly what we need\n return Selectable.options.methods.genInput.call(this, 'radio', args)\n },\n genLabel () {\n if (!this.hasLabel) return null\n\n return this.$createElement(VLabel, {\n on: {\n click: (e: Event) => {\n // Prevent label from\n // causing the input\n // to focus\n e.preventDefault()\n\n this.onChange()\n },\n },\n attrs: {\n for: this.computedId,\n },\n props: {\n color: this.validationState,\n focused: this.hasState,\n },\n }, getSlot(this, 'label') || this.label)\n },\n genRadio () {\n return this.$createElement('div', {\n staticClass: 'v-input--selection-controls__input',\n }, [\n this.genInput({\n name: this.computedName,\n value: this.value,\n ...this.attrs$,\n }),\n this.genRipple(this.setTextColor(this.validationState)),\n this.$createElement(VIcon, this.setTextColor(this.validationState, {\n props: {\n dense: this.radioGroup && this.radioGroup.dense,\n },\n }), this.computedIcon),\n ])\n },\n onFocus (e: Event) {\n this.isFocused = true\n this.$emit('focus', e)\n },\n onBlur (e: Event) {\n this.isFocused = false\n this.$emit('blur', e)\n },\n onChange () {\n if (this.isDisabled || this.isReadonly || this.isActive) return\n\n this.toggle()\n },\n onKeydown: () => {}, // Override default with noop\n },\n\n render (h): VNode {\n const data = {\n staticClass: 'v-radio',\n class: this.classes,\n } as VNodeData\n\n return h('div', data, [\n this.genRadio(),\n this.genLabel(),\n ])\n },\n})\n","// extracted by mini-css-extract-plugin","// Styles\nimport '../../styles/components/_selection-controls.sass'\nimport './VRadioGroup.sass'\n\n// Extensions\nimport VInput from '../VInput'\nimport { BaseItemGroup } from '../VItemGroup/VItemGroup'\n\n// Mixins\nimport Comparable from '../../mixins/comparable'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { PropValidator } from 'vue/types/options'\n\nconst baseMixins = mixins(\n Comparable,\n BaseItemGroup,\n VInput\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-radio-group',\n\n provide () {\n return {\n radioGroup: this,\n }\n },\n\n props: {\n column: {\n type: Boolean,\n default: true,\n },\n height: {\n type: [Number, String],\n default: 'auto',\n },\n name: String,\n row: Boolean,\n // If no value set on VRadio\n // will match valueComparator\n // force default to null\n value: {\n default: null,\n } as PropValidator<any>,\n },\n\n computed: {\n classes (): object {\n return {\n ...VInput.options.computed.classes.call(this),\n 'v-input--selection-controls v-input--radio-group': true,\n 'v-input--radio-group--column': this.column && !this.row,\n 'v-input--radio-group--row': this.row,\n }\n },\n },\n\n methods: {\n genDefaultSlot () {\n return this.$createElement('div', {\n staticClass: 'v-input--radio-group__input',\n attrs: {\n id: this.id,\n role: 'radiogroup',\n 'aria-labelledby': this.computedId,\n },\n }, VInput.options.methods.genDefaultSlot.call(this))\n },\n genInputSlot () {\n const render = VInput.options.methods.genInputSlot.call(this)\n\n delete render.data!.on!.click\n\n return render\n },\n genLabel () {\n const label = VInput.options.methods.genLabel.call(this)\n\n if (!label) return null\n\n label.data!.attrs!.id = this.computedId\n // WAI considers this an orphaned label\n delete label.data!.attrs!.for\n label.tag = 'div'\n\n return label\n },\n onClick: BaseItemGroup.options.methods.onClick,\n },\n})\n","import VRadioGroup from './VRadioGroup'\nimport VRadio from './VRadio'\n\nexport { VRadioGroup, VRadio }\n\nexport default {\n $_vuetify_subcomponents: {\n VRadioGroup,\n VRadio,\n },\n}\n","// extracted by mini-css-extract-plugin","// Styles\nimport './VRangeSlider.sass'\n\n// Components\nimport VSlider from '../VSlider'\n\n// Helpers\nimport {\n createRange,\n deepEqual,\n} from '../../util/helpers'\n\n// Types\nimport { PropValidator } from 'vue/types/options'\n\n/* @vue/component */\nexport default VSlider.extend({\n name: 'v-range-slider',\n\n props: {\n value: {\n type: Array,\n default: () => ([0, 0]),\n } as PropValidator<number[]>,\n },\n\n data () {\n return {\n activeThumb: null as null | number,\n lazyValue: this.value,\n }\n },\n\n computed: {\n classes (): object {\n return {\n ...VSlider.options.computed.classes.call(this),\n 'v-input--range-slider': true,\n }\n },\n internalValue: {\n get (): number[] {\n return this.lazyValue\n },\n set (val: number[]) {\n // Round value to ensure the\n // entire slider range can\n // be selected with step\n let value = val.map(v => this.roundValue(Math.min(Math.max(v, this.minValue), this.maxValue)))\n\n // Switch values if range and wrong order\n if (value[0] > value[1] || value[1] < value[0]) {\n if (this.activeThumb !== null) {\n const toFocus = this.activeThumb === 1 ? 0 : 1\n const el = this.$refs[`thumb_${toFocus}`] as HTMLElement\n el.focus()\n }\n value = [value[1], value[0]]\n }\n\n this.lazyValue = value\n if (!deepEqual(value, this.value)) this.$emit('input', value)\n\n this.validate()\n },\n },\n inputWidth (): number[] {\n return this.internalValue.map((v: number) => (\n this.roundValue(v) - this.minValue) / (this.maxValue - this.minValue) * 100\n )\n },\n trackFillStyles (): Partial<CSSStyleDeclaration> {\n const styles = VSlider.options.computed.trackFillStyles.call(this)\n const fillPercent = Math.abs(this.inputWidth[0] - this.inputWidth[1])\n const dir = this.vertical ? 'height' : 'width'\n const start = this.vertical ? this.$vuetify.rtl ? 'top' : 'bottom' : this.$vuetify.rtl ? 'right' : 'left'\n\n styles[dir] = `${fillPercent}%`\n styles[start] = `${this.inputWidth[0]}%`\n\n return styles\n },\n },\n\n methods: {\n getTrackStyle (startLength: number, endLength: number, startPadding = 0, endPadding = 0) {\n const startDir = this.vertical ? this.$vuetify.rtl ? 'top' : 'bottom' : this.$vuetify.rtl ? 'right' : 'left'\n const endDir = this.vertical ? 'height' : 'width'\n\n const start = `calc(${startLength}% + ${startPadding}px)`\n const end = `calc(${endLength}% + ${endPadding}px)`\n\n return {\n transition: this.trackTransition,\n [startDir]: start,\n [endDir]: end,\n }\n },\n getIndexOfClosestValue (arr: number[], v: number) {\n if (Math.abs(arr[0] - v) < Math.abs(arr[1] - v)) return 0\n else return 1\n },\n genInput () {\n return createRange(2).map(i => {\n const input = VSlider.options.methods.genInput.call(this)\n\n input.data = input.data || {}\n input.data.attrs = input.data.attrs || {}\n input.data.attrs.value = this.internalValue[i]\n\n return input\n })\n },\n genTrackContainer () {\n const children = []\n\n if (this.disabled) {\n const disabledPadding = 10\n const sections: [number, number, number, number][] = [\n [0, this.inputWidth[0], 0, -disabledPadding],\n [this.inputWidth[0], Math.abs(this.inputWidth[1] - this.inputWidth[0]), disabledPadding, disabledPadding * -2],\n [this.inputWidth[1], Math.abs(100 - this.inputWidth[1]), disabledPadding, 0],\n ]\n\n if (this.$vuetify.rtl) sections.reverse()\n\n children.push(...sections.map(section => this.$createElement('div', this.setBackgroundColor(this.computedTrackColor, {\n staticClass: 'v-slider__track-background',\n style: this.getTrackStyle(...section),\n }))))\n } else {\n children.push(\n this.$createElement('div', this.setBackgroundColor(this.computedTrackColor, {\n staticClass: 'v-slider__track-background',\n style: this.getTrackStyle(0, 100),\n })),\n this.$createElement('div', this.setBackgroundColor(this.computedColor, {\n staticClass: 'v-slider__track-fill',\n style: this.trackFillStyles,\n }))\n )\n }\n\n return this.$createElement('div', {\n staticClass: 'v-slider__track-container',\n ref: 'track',\n }, children)\n },\n genChildren () {\n return [\n this.genInput(),\n this.genTrackContainer(),\n this.genSteps(),\n createRange(2).map(index => {\n const value = this.internalValue[index]\n const onDrag = (e: MouseEvent) => {\n this.isActive = true\n this.activeThumb = index\n this.onThumbMouseDown(e)\n }\n const onFocus = (e: Event) => {\n this.isFocused = true\n this.activeThumb = index\n\n this.$emit('focus', e)\n }\n\n const onBlur = (e: Event) => {\n this.isFocused = false\n this.activeThumb = null\n\n this.$emit('blur', e)\n }\n\n const valueWidth = this.inputWidth[index]\n const isActive = this.isActive && this.activeThumb === index\n const isFocused = this.isFocused && this.activeThumb === index\n\n return this.genThumbContainer(value, valueWidth, isActive, isFocused, onDrag, onFocus, onBlur, `thumb_${index}`)\n }),\n ]\n },\n onSliderClick (e: MouseEvent) {\n if (!this.isActive) {\n if (this.noClick) {\n this.noClick = false\n return\n }\n\n const { value, isInsideTrack } = this.parseMouseMove(e)\n\n if (isInsideTrack) {\n this.activeThumb = this.getIndexOfClosestValue(this.internalValue, value)\n const refName = `thumb_${this.activeThumb}`\n const thumbRef = this.$refs[refName] as HTMLElement\n thumbRef.focus()\n }\n\n this.setInternalValue(value)\n\n this.$emit('change', this.internalValue)\n }\n },\n onMouseMove (e: MouseEvent) {\n const { value, isInsideTrack } = this.parseMouseMove(e)\n\n if (isInsideTrack && this.activeThumb === null) {\n this.activeThumb = this.getIndexOfClosestValue(this.internalValue, value)\n }\n\n this.setInternalValue(value)\n },\n onKeyDown (e: KeyboardEvent) {\n if (this.activeThumb === null) return\n\n const value = this.parseKeyDown(e, this.internalValue[this.activeThumb])\n\n if (value == null) return\n\n this.setInternalValue(value)\n this.$emit('change', this.internalValue)\n },\n setInternalValue (value: number) {\n this.internalValue = this.internalValue.map((v: number, i: number) => {\n if (i === this.activeThumb) return value\n else return Number(v)\n })\n },\n },\n})\n","import VRangeSlider from './VRangeSlider'\n\nexport { VRangeSlider }\nexport default VRangeSlider\n","// extracted by mini-css-extract-plugin","// Styles\nimport './VRating.sass'\n\n// Components\nimport VIcon from '../VIcon'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Delayable from '../../mixins/delayable'\nimport Sizeable from '../../mixins/sizeable'\nimport Rippleable from '../../mixins/rippleable'\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport { createRange } from '../../util/helpers'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode, VNodeDirective, VNodeChildren } from 'vue'\n\ntype ItemSlotProps = {\n index: number\n value: number\n isFilled: boolean\n isHalfFilled?: boolean | undefined\n isHovered: boolean\n isHalfHovered?: boolean | undefined\n click: Function\n}\n\n/* @vue/component */\nexport default mixins(\n Colorable,\n Delayable,\n Rippleable,\n Sizeable,\n Themeable\n).extend({\n name: 'v-rating',\n\n props: {\n backgroundColor: {\n type: String,\n default: 'accent',\n },\n color: {\n type: String,\n default: 'primary',\n },\n clearable: Boolean,\n dense: Boolean,\n emptyIcon: {\n type: String,\n default: '$ratingEmpty',\n },\n fullIcon: {\n type: String,\n default: '$ratingFull',\n },\n halfIcon: {\n type: String,\n default: '$ratingHalf',\n },\n halfIncrements: Boolean,\n hover: Boolean,\n length: {\n type: [Number, String],\n default: 5,\n },\n readonly: Boolean,\n size: [Number, String],\n value: {\n type: Number,\n default: 0,\n },\n },\n\n data () {\n return {\n hoverIndex: -1,\n internalValue: this.value,\n }\n },\n\n computed: {\n directives (): VNodeDirective[] {\n if (this.readonly || !this.ripple) return []\n\n return [{\n name: 'ripple',\n value: { circle: true },\n } as VNodeDirective]\n },\n iconProps (): object {\n const {\n dark,\n large,\n light,\n medium,\n small,\n size,\n xLarge,\n xSmall,\n } = this.$props\n\n return {\n dark,\n large,\n light,\n medium,\n size,\n small,\n xLarge,\n xSmall,\n }\n },\n isHovering (): boolean {\n return this.hover && this.hoverIndex >= 0\n },\n },\n\n watch: {\n internalValue (val) {\n val !== this.value && this.$emit('input', val)\n },\n value (val) {\n this.internalValue = val\n },\n },\n\n methods: {\n createClickFn (i: number): Function {\n return (e: MouseEvent) => {\n if (this.readonly) return\n\n const newValue = this.genHoverIndex(e, i)\n if (this.clearable && this.internalValue === newValue) {\n this.internalValue = 0\n } else {\n this.internalValue = newValue\n }\n }\n },\n createProps (i: number): ItemSlotProps {\n const props: ItemSlotProps = {\n index: i,\n value: this.internalValue,\n click: this.createClickFn(i),\n isFilled: Math.floor(this.internalValue) > i,\n isHovered: Math.floor(this.hoverIndex) > i,\n }\n\n if (this.halfIncrements) {\n props.isHalfHovered = !props.isHovered && (this.hoverIndex - i) % 1 > 0\n props.isHalfFilled = !props.isFilled && (this.internalValue - i) % 1 > 0\n }\n\n return props\n },\n genHoverIndex (e: MouseEvent, i: number) {\n let isHalf = this.isHalfEvent(e)\n if (this.$vuetify.rtl) isHalf = !isHalf\n return i + (isHalf ? 0.5 : 1)\n },\n getIconName (props: ItemSlotProps): string {\n const isFull = this.isHovering ? props.isHovered : props.isFilled\n const isHalf = this.isHovering ? props.isHalfHovered : props.isHalfFilled\n\n return isFull ? this.fullIcon : isHalf ? this.halfIcon : this.emptyIcon\n },\n getColor (props: ItemSlotProps): string {\n if (this.isHovering) {\n if (props.isHovered || props.isHalfHovered) return this.color\n } else {\n if (props.isFilled || props.isHalfFilled) return this.color\n }\n\n return this.backgroundColor\n },\n isHalfEvent (e: MouseEvent): boolean {\n if (this.halfIncrements) {\n const rect = e.target && (e.target as HTMLElement).getBoundingClientRect()\n if (rect && (e.pageX - rect.left) < rect.width / 2) return true\n }\n\n return false\n },\n onMouseEnter (e: MouseEvent, i: number): void {\n this.runDelay('open', () => {\n this.hoverIndex = this.genHoverIndex(e, i)\n })\n },\n onMouseLeave (): void {\n this.runDelay('close', () => (this.hoverIndex = -1))\n },\n genItem (i: number): VNode | VNodeChildren | string {\n const props = this.createProps(i)\n\n if (this.$scopedSlots.item) return this.$scopedSlots.item(props)\n\n const listeners: Record<string, Function> = {\n click: props.click,\n }\n\n if (this.hover) {\n listeners.mouseenter = (e: MouseEvent) => this.onMouseEnter(e, i)\n listeners.mouseleave = this.onMouseLeave\n\n if (this.halfIncrements) {\n listeners.mousemove = (e: MouseEvent) => this.onMouseEnter(e, i)\n }\n }\n\n return this.$createElement(VIcon, this.setTextColor(this.getColor(props), {\n directives: this.directives,\n props: this.iconProps,\n on: listeners,\n }), [this.getIconName(props)])\n },\n },\n\n render (h): VNode {\n const children = createRange(Number(this.length)).map(i => this.genItem(i))\n\n return h('div', {\n staticClass: 'v-rating',\n class: {\n 'v-rating--readonly': this.readonly,\n 'v-rating--dense': this.dense,\n },\n }, children)\n },\n})\n","import VRating from './VRating'\n\nexport { VRating }\nexport default VRating\n","// extracted by mini-css-extract-plugin","import './VResponsive.sass'\n\n// Mixins\nimport Measurable, { NumberOrNumberString } from '../../mixins/measurable'\n\n// Types\nimport { VNode } from 'vue'\n\n// Utils\nimport mixins from '../../util/mixins'\n\n/* @vue/component */\nexport default mixins(Measurable).extend({\n name: 'v-responsive',\n\n props: {\n aspectRatio: [String, Number] as NumberOrNumberString,\n },\n\n computed: {\n computedAspectRatio (): number {\n return Number(this.aspectRatio)\n },\n aspectStyle (): object | undefined {\n return this.computedAspectRatio\n ? { paddingBottom: (1 / this.computedAspectRatio) * 100 + '%' }\n : undefined\n },\n __cachedSizer (): VNode | [] {\n if (!this.aspectStyle) return []\n\n return this.$createElement('div', {\n style: this.aspectStyle,\n staticClass: 'v-responsive__sizer',\n })\n },\n },\n\n methods: {\n genContent (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-responsive__content',\n }, this.$slots.default)\n },\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-responsive',\n style: this.measurableStyles,\n on: this.$listeners,\n }, [\n this.__cachedSizer,\n this.genContent(),\n ])\n },\n})\n","import VResponsive from './VResponsive'\n\nexport { VResponsive }\nexport default VResponsive\n","// extracted by mini-css-extract-plugin","// Styles\nimport '../VTextField/VTextField.sass'\nimport './VSelect.sass'\n\n// Components\nimport VChip from '../VChip'\nimport VMenu from '../VMenu'\nimport VSelectList from './VSelectList'\n\n// Extensions\nimport VTextField from '../VTextField/VTextField'\n\n// Mixins\nimport Comparable from '../../mixins/comparable'\nimport Filterable from '../../mixins/filterable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\n\n// Utilities\nimport { getPropertyFromItem, keyCodes } from '../../util/helpers'\nimport { consoleError } from '../../util/console'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { PropValidator } from 'vue/types/options'\nimport { VNode, VNodeDirective } from 'vue'\n\nexport const defaultMenuProps = {\n closeOnClick: false,\n closeOnContentClick: false,\n disableKeys: true,\n openOnClick: false,\n maxHeight: 304,\n}\n\n// Types\ntype ItemProperty = PropValidator<string | (string | number)[] | ((item: object, fallback?: any) => any)>\nconst baseMixins = mixins(\n VTextField,\n Comparable,\n Filterable\n)\n\ninterface options extends InstanceType<typeof baseMixins> {\n $refs: {\n menu: InstanceType<typeof VMenu>\n label: HTMLElement\n input: HTMLInputElement\n 'prepend-inner': HTMLElement\n prefix: HTMLElement\n suffix: HTMLElement\n }\n}\n\n/* @vue/component */\nexport default baseMixins.extend<options>().extend({\n name: 'v-select',\n\n directives: {\n ClickOutside,\n },\n\n props: {\n appendIcon: {\n type: String,\n default: '$dropdown',\n },\n attach: {\n default: false,\n } as PropValidator<string | boolean | Element | VNode>,\n cacheItems: Boolean,\n chips: Boolean,\n clearable: Boolean,\n deletableChips: Boolean,\n eager: Boolean,\n hideSelected: Boolean,\n items: {\n type: Array,\n default: () => [],\n },\n itemColor: {\n type: String,\n default: 'primary',\n },\n itemDisabled: {\n type: [String, Array, Function],\n default: 'disabled',\n } as ItemProperty,\n itemText: {\n type: [String, Array, Function],\n default: 'text',\n } as ItemProperty,\n itemValue: {\n type: [String, Array, Function],\n default: 'value',\n } as ItemProperty,\n menuProps: {\n type: [String, Array, Object],\n default: () => defaultMenuProps,\n },\n multiple: Boolean,\n openOnClear: Boolean,\n returnObject: Boolean,\n smallChips: Boolean,\n },\n\n data () {\n return {\n cachedItems: this.cacheItems ? this.items : [],\n content: null as any,\n isBooted: false,\n isMenuActive: false,\n lastItem: 20,\n // As long as a value is defined, show it\n // Otherwise, check if multiple\n // to determine which default to provide\n lazyValue: this.value !== undefined\n ? this.value\n : this.multiple ? [] : undefined,\n selectedIndex: -1,\n selectedItems: [] as any[],\n keyboardLookupPrefix: '',\n keyboardLookupLastTime: 0,\n }\n },\n\n computed: {\n /* All items that the select has */\n allItems (): object[] {\n return this.filterDuplicates(this.cachedItems.concat(this.items))\n },\n classes (): object {\n return {\n ...VTextField.options.computed.classes.call(this),\n 'v-select': true,\n 'v-select--chips': this.hasChips,\n 'v-select--chips--small': this.smallChips,\n 'v-select--is-menu-active': this.isMenuActive,\n 'v-select--is-multi': this.multiple,\n }\n },\n /* Used by other components to overwrite */\n computedItems (): object[] {\n return this.allItems\n },\n computedOwns (): string {\n return `list-${this._uid}`\n },\n counterValue (): number {\n return this.multiple\n ? this.selectedItems.length\n : (this.getText(this.selectedItems[0]) || '').toString().length\n },\n directives (): VNodeDirective[] | undefined {\n return this.isFocused ? [{\n name: 'click-outside',\n value: this.blur,\n args: {\n closeConditional: this.closeConditional,\n },\n } as VNodeDirective] : undefined\n },\n dynamicHeight () {\n return 'auto'\n },\n hasChips (): boolean {\n return this.chips || this.smallChips\n },\n hasSlot (): boolean {\n return Boolean(this.hasChips || this.$scopedSlots.selection)\n },\n isDirty (): boolean {\n return this.selectedItems.length > 0\n },\n listData (): object {\n const scopeId = this.$vnode && (this.$vnode.context!.$options as { [key: string]: any })._scopeId\n const attrs = scopeId ? {\n [scopeId]: true,\n } : {}\n\n return {\n attrs: {\n ...attrs,\n id: this.computedOwns,\n },\n props: {\n action: this.multiple,\n color: this.itemColor,\n dense: this.dense,\n hideSelected: this.hideSelected,\n items: this.virtualizedItems,\n itemDisabled: this.itemDisabled,\n itemText: this.itemText,\n itemValue: this.itemValue,\n noDataText: this.$vuetify.lang.t(this.noDataText),\n selectedItems: this.selectedItems,\n },\n on: {\n select: this.selectItem,\n },\n scopedSlots: {\n item: this.$scopedSlots.item,\n },\n }\n },\n staticList (): VNode {\n if (this.$slots['no-data'] || this.$slots['prepend-item'] || this.$slots['append-item']) {\n consoleError('assert: staticList should not be called if slots are used')\n }\n\n return this.$createElement(VSelectList, this.listData)\n },\n virtualizedItems (): object[] {\n return (this.$_menuProps as any).auto\n ? this.computedItems\n : this.computedItems.slice(0, this.lastItem)\n },\n menuCanShow: () => true,\n $_menuProps (): object {\n let normalisedProps = typeof this.menuProps === 'string'\n ? this.menuProps.split(',')\n : this.menuProps\n\n if (Array.isArray(normalisedProps)) {\n normalisedProps = normalisedProps.reduce((acc, p) => {\n acc[p.trim()] = true\n return acc\n }, {})\n }\n\n return {\n ...defaultMenuProps,\n eager: this.eager,\n value: this.menuCanShow && this.isMenuActive,\n nudgeBottom: normalisedProps.offsetY ? 1 : 0, // convert to int\n ...normalisedProps,\n }\n },\n },\n\n watch: {\n internalValue (val) {\n this.initialValue = val\n this.setSelectedItems()\n },\n isBooted () {\n this.$nextTick(() => {\n if (this.content && this.content.addEventListener) {\n this.content.addEventListener('scroll', this.onScroll, false)\n }\n })\n },\n isMenuActive (val) {\n this.$nextTick(() => this.onMenuActiveChange(val))\n\n if (!val) return\n\n this.isBooted = true\n },\n items: {\n immediate: true,\n handler (val) {\n if (this.cacheItems) {\n // Breaks vue-test-utils if\n // this isn't calculated\n // on the next tick\n this.$nextTick(() => {\n this.cachedItems = this.filterDuplicates(this.cachedItems.concat(val))\n })\n }\n\n this.setSelectedItems()\n },\n },\n },\n\n mounted () {\n this.content = this.$refs.menu && (this.$refs.menu as { [key: string]: any }).$refs.content\n },\n\n methods: {\n /** @public */\n blur (e?: Event) {\n VTextField.options.methods.blur.call(this, e)\n this.isMenuActive = false\n this.isFocused = false\n this.selectedIndex = -1\n },\n /** @public */\n activateMenu () {\n if (\n this.disabled ||\n this.readonly ||\n this.isMenuActive\n ) return\n\n this.isMenuActive = true\n },\n clearableCallback () {\n this.setValue(this.multiple ? [] : undefined)\n this.$nextTick(() => this.$refs.input && this.$refs.input.focus())\n\n if (this.openOnClear) this.isMenuActive = true\n },\n closeConditional (e: Event) {\n return (\n !this._isDestroyed &&\n\n // Click originates from outside the menu content\n this.content &&\n !this.content.contains(e.target) &&\n\n // Click originates from outside the element\n this.$el &&\n !this.$el.contains(e.target as Node) &&\n e.target !== this.$el\n )\n },\n filterDuplicates (arr: any[]) {\n const uniqueValues = new Map()\n for (let index = 0; index < arr.length; ++index) {\n const item = arr[index]\n const val = this.getValue(item)\n\n // TODO: comparator\n !uniqueValues.has(val) && uniqueValues.set(val, item)\n }\n return Array.from(uniqueValues.values())\n },\n findExistingIndex (item: object) {\n const itemValue = this.getValue(item)\n\n return (this.internalValue || []).findIndex((i: object) => this.valueComparator(this.getValue(i), itemValue))\n },\n genChipSelection (item: object, index: number) {\n const isDisabled = (\n this.disabled ||\n this.readonly ||\n this.getDisabled(item)\n )\n\n return this.$createElement(VChip, {\n staticClass: 'v-chip--select',\n attrs: { tabindex: -1 },\n props: {\n close: this.deletableChips && !isDisabled,\n disabled: isDisabled,\n inputValue: index === this.selectedIndex,\n small: this.smallChips,\n },\n on: {\n click: (e: MouseEvent) => {\n if (isDisabled) return\n\n e.stopPropagation()\n\n this.selectedIndex = index\n },\n 'click:close': () => this.onChipInput(item),\n },\n key: JSON.stringify(this.getValue(item)),\n }, this.getText(item))\n },\n genCommaSelection (item: object, index: number, last: boolean) {\n const color = index === this.selectedIndex && this.computedColor\n const isDisabled = (\n this.disabled ||\n this.getDisabled(item)\n )\n\n return this.$createElement('div', this.setTextColor(color, {\n staticClass: 'v-select__selection v-select__selection--comma',\n class: {\n 'v-select__selection--disabled': isDisabled,\n },\n key: JSON.stringify(this.getValue(item)),\n }), `${this.getText(item)}${last ? '' : ', '}`)\n },\n genDefaultSlot (): (VNode | VNode[] | null)[] {\n const selections = this.genSelections()\n const input = this.genInput()\n\n // If the return is an empty array\n // push the input\n if (Array.isArray(selections)) {\n selections.push(input)\n // Otherwise push it into children\n } else {\n selections.children = selections.children || []\n selections.children.push(input)\n }\n\n return [\n this.genFieldset(),\n this.$createElement('div', {\n staticClass: 'v-select__slot',\n directives: this.directives,\n }, [\n this.genLabel(),\n this.prefix ? this.genAffix('prefix') : null,\n selections,\n this.suffix ? this.genAffix('suffix') : null,\n this.genClearIcon(),\n this.genIconSlot(),\n ]),\n this.genMenu(),\n this.genProgress(),\n ]\n },\n genInput (): VNode {\n const input = VTextField.options.methods.genInput.call(this)\n\n input.data!.domProps!.value = null\n input.data!.attrs!.readonly = true\n input.data!.attrs!.type = 'text'\n input.data!.attrs!['aria-readonly'] = true\n input.data!.on!.keypress = this.onKeyPress\n\n return input\n },\n genInputSlot (): VNode {\n const render = VTextField.options.methods.genInputSlot.call(this)\n\n render.data!.attrs = {\n ...render.data!.attrs,\n role: 'button',\n 'aria-haspopup': 'listbox',\n 'aria-expanded': String(this.isMenuActive),\n 'aria-owns': this.computedOwns,\n }\n\n return render\n },\n genList (): VNode {\n // If there's no slots, we can use a cached VNode to improve performance\n if (this.$slots['no-data'] || this.$slots['prepend-item'] || this.$slots['append-item']) {\n return this.genListWithSlot()\n } else {\n return this.staticList\n }\n },\n genListWithSlot (): VNode {\n const slots = ['prepend-item', 'no-data', 'append-item']\n .filter(slotName => this.$slots[slotName])\n .map(slotName => this.$createElement('template', {\n slot: slotName,\n }, this.$slots[slotName]))\n // Requires destructuring due to Vue\n // modifying the `on` property when passed\n // as a referenced object\n return this.$createElement(VSelectList, {\n ...this.listData,\n }, slots)\n },\n genMenu (): VNode {\n const props = this.$_menuProps as any\n props.activator = this.$refs['input-slot']\n\n // Attach to root el so that\n // menu covers prepend/append icons\n if (\n // TODO: make this a computed property or helper or something\n this.attach === '' || // If used as a boolean prop (<v-menu attach>)\n this.attach === true || // If bound to a boolean (<v-menu :attach=\"true\">)\n this.attach === 'attach' // If bound as boolean prop in pug (v-menu(attach))\n ) {\n props.attach = this.$el\n } else {\n props.attach = this.attach\n }\n\n return this.$createElement(VMenu, {\n attrs: { role: undefined },\n props,\n on: {\n input: (val: boolean) => {\n this.isMenuActive = val\n this.isFocused = val\n },\n },\n ref: 'menu',\n }, [this.genList()])\n },\n genSelections (): VNode {\n let length = this.selectedItems.length\n const children = new Array(length)\n\n let genSelection\n if (this.$scopedSlots.selection) {\n genSelection = this.genSlotSelection\n } else if (this.hasChips) {\n genSelection = this.genChipSelection\n } else {\n genSelection = this.genCommaSelection\n }\n\n while (length--) {\n children[length] = genSelection(\n this.selectedItems[length],\n length,\n length === children.length - 1\n )\n }\n\n return this.$createElement('div', {\n staticClass: 'v-select__selections',\n }, children)\n },\n genSlotSelection (item: object, index: number): VNode[] | undefined {\n return this.$scopedSlots.selection!({\n attrs: {\n class: 'v-chip--select',\n },\n parent: this,\n item,\n index,\n select: (e: Event) => {\n e.stopPropagation()\n this.selectedIndex = index\n },\n selected: index === this.selectedIndex,\n disabled: this.disabled || this.readonly,\n })\n },\n getMenuIndex () {\n return this.$refs.menu ? (this.$refs.menu as { [key: string]: any }).listIndex : -1\n },\n getDisabled (item: object) {\n return getPropertyFromItem(item, this.itemDisabled, false)\n },\n getText (item: object) {\n return getPropertyFromItem(item, this.itemText, item)\n },\n getValue (item: object) {\n return getPropertyFromItem(item, this.itemValue, this.getText(item))\n },\n onBlur (e?: Event) {\n e && this.$emit('blur', e)\n },\n onChipInput (item: object) {\n if (this.multiple) this.selectItem(item)\n else this.setValue(null)\n // If all items have been deleted,\n // open `v-menu`\n if (this.selectedItems.length === 0) {\n this.isMenuActive = true\n } else {\n this.isMenuActive = false\n }\n this.selectedIndex = -1\n },\n onClick () {\n if (this.isDisabled) return\n\n this.isMenuActive = true\n\n if (!this.isFocused) {\n this.isFocused = true\n this.$emit('focus')\n }\n },\n onEscDown (e: Event) {\n e.preventDefault()\n if (this.isMenuActive) {\n e.stopPropagation()\n this.isMenuActive = false\n }\n },\n onKeyPress (e: KeyboardEvent) {\n if (\n this.multiple ||\n this.readonly\n ) return\n\n const KEYBOARD_LOOKUP_THRESHOLD = 1000 // milliseconds\n const now = performance.now()\n if (now - this.keyboardLookupLastTime > KEYBOARD_LOOKUP_THRESHOLD) {\n this.keyboardLookupPrefix = ''\n }\n this.keyboardLookupPrefix += e.key.toLowerCase()\n this.keyboardLookupLastTime = now\n\n const index = this.allItems.findIndex(item => {\n const text = (this.getText(item) || '').toString()\n\n return text.toLowerCase().startsWith(this.keyboardLookupPrefix)\n })\n const item = this.allItems[index]\n if (index !== -1) {\n this.setValue(this.returnObject ? item : this.getValue(item))\n setTimeout(() => this.setMenuIndex(index))\n }\n },\n onKeyDown (e: KeyboardEvent) {\n const keyCode = e.keyCode\n const menu = this.$refs.menu\n\n // If enter, space, open menu\n if ([\n keyCodes.enter,\n keyCodes.space,\n ].includes(keyCode)) this.activateMenu()\n\n if (!menu) return\n\n // If menu is active, allow default\n // listIndex change from menu\n if (this.isMenuActive && keyCode !== keyCodes.tab) {\n this.$nextTick(() => {\n menu.changeListIndex(e)\n this.$emit('update:list-index', menu.listIndex)\n })\n }\n\n // If menu is not active, up and down can do\n // one of 2 things. If multiple, opens the\n // menu, if not, will cycle through all\n // available options\n if (\n !this.isMenuActive &&\n [keyCodes.up, keyCodes.down].includes(keyCode)\n ) return this.onUpDown(e)\n\n // If escape deactivate the menu\n if (keyCode === keyCodes.esc) return this.onEscDown(e)\n\n // If tab - select item or close menu\n if (keyCode === keyCodes.tab) return this.onTabDown(e)\n\n // If space preventDefault\n if (keyCode === keyCodes.space) return this.onSpaceDown(e)\n },\n onMenuActiveChange (val: boolean) {\n // If menu is closing and mulitple\n // or menuIndex is already set\n // skip menu index recalculation\n if (\n (this.multiple && !val) ||\n this.getMenuIndex() > -1\n ) return\n\n const menu = this.$refs.menu\n\n if (!menu || !this.isDirty) return\n\n // When menu opens, set index of first active item\n for (let i = 0; i < menu.tiles.length; i++) {\n if (menu.tiles[i].getAttribute('aria-selected') === 'true') {\n this.setMenuIndex(i)\n break\n }\n }\n },\n onMouseUp (e: MouseEvent) {\n if (this.hasMouseDown && e.which !== 3) {\n const appendInner = this.$refs['append-inner']\n\n // If append inner is present\n // and the target is itself\n // or inside, toggle menu\n if (this.isMenuActive &&\n appendInner &&\n (appendInner === e.target ||\n (appendInner as { [key: string]: any }).contains(e.target))\n ) {\n this.$nextTick(() => (this.isMenuActive = !this.isMenuActive))\n // If user is clicking in the container\n // and field is enclosed, activate it\n } else if (this.isEnclosed && !this.isDisabled) {\n this.isMenuActive = true\n }\n }\n\n VTextField.options.methods.onMouseUp.call(this, e)\n },\n onScroll () {\n if (!this.isMenuActive) {\n requestAnimationFrame(() => (this.content.scrollTop = 0))\n } else {\n if (this.lastItem >= this.computedItems.length) return\n\n const showMoreItems = (\n this.content.scrollHeight -\n (this.content.scrollTop +\n this.content.clientHeight)\n ) < 200\n\n if (showMoreItems) {\n this.lastItem += 20\n }\n }\n },\n onSpaceDown (e: KeyboardEvent) {\n e.preventDefault()\n },\n onTabDown (e: KeyboardEvent) {\n const menu = this.$refs.menu\n\n if (!menu) return\n\n const activeTile = menu.activeTile\n\n // An item that is selected by\n // menu-index should toggled\n if (\n !this.multiple &&\n activeTile &&\n this.isMenuActive\n ) {\n e.preventDefault()\n e.stopPropagation()\n\n activeTile.click()\n } else {\n // If we make it here,\n // the user has no selected indexes\n // and is probably tabbing out\n this.blur(e)\n }\n },\n onUpDown (e: KeyboardEvent) {\n const menu = this.$refs.menu\n\n if (!menu) return\n\n e.preventDefault()\n\n // Multiple selects do not cycle their value\n // when pressing up or down, instead activate\n // the menu\n if (this.multiple) return this.activateMenu()\n\n const keyCode = e.keyCode\n\n // Cycle through available values to achieve\n // select native behavior\n menu.getTiles()\n keyCodes.up === keyCode ? menu.prevTile() : menu.nextTile()\n menu.activeTile && menu.activeTile.click()\n },\n selectItem (item: object) {\n if (!this.multiple) {\n this.setValue(this.returnObject ? item : this.getValue(item))\n this.isMenuActive = false\n } else {\n const internalValue = (this.internalValue || []).slice()\n const i = this.findExistingIndex(item)\n\n i !== -1 ? internalValue.splice(i, 1) : internalValue.push(item)\n this.setValue(internalValue.map((i: object) => {\n return this.returnObject ? i : this.getValue(i)\n }))\n\n // When selecting multiple\n // adjust menu after each\n // selection\n this.$nextTick(() => {\n this.$refs.menu &&\n (this.$refs.menu as { [key: string]: any }).updateDimensions()\n })\n\n // We only need to reset list index for multiple\n // to keep highlight when an item is toggled\n // on and off\n if (!this.multiple) return\n\n const listIndex = this.getMenuIndex()\n\n this.setMenuIndex(-1)\n\n // There is no item to re-highlight\n // when selections are hidden\n if (this.hideSelected) return\n\n this.$nextTick(() => this.setMenuIndex(listIndex))\n }\n },\n setMenuIndex (index: number) {\n this.$refs.menu && ((this.$refs.menu as { [key: string]: any }).listIndex = index)\n },\n setSelectedItems () {\n const selectedItems = []\n const values = !this.multiple || !Array.isArray(this.internalValue)\n ? [this.internalValue]\n : this.internalValue\n\n for (const value of values) {\n const index = this.allItems.findIndex(v => this.valueComparator(\n this.getValue(v),\n this.getValue(value)\n ))\n\n if (index > -1) {\n selectedItems.push(this.allItems[index])\n }\n }\n\n this.selectedItems = selectedItems\n },\n setValue (value: any) {\n const oldValue = this.internalValue\n this.internalValue = value\n value !== oldValue && this.$emit('change', value)\n },\n },\n})\n","// Styles\nimport '../VCard/VCard.sass'\n\n// Components\nimport VSimpleCheckbox from '../VCheckbox/VSimpleCheckbox'\nimport VDivider from '../VDivider'\nimport VSubheader from '../VSubheader'\nimport {\n VList,\n VListItem,\n VListItemAction,\n VListItemContent,\n VListItemTitle,\n} from '../VList'\n\n// Directives\nimport ripple from '../../directives/ripple'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\n\n// Helpers\nimport {\n escapeHTML,\n getPropertyFromItem,\n} from '../../util/helpers'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { VNode } from 'vue'\nimport { PropValidator } from 'vue/types/options'\n\n/* @vue/component */\nexport default mixins(Colorable, Themeable).extend({\n name: 'v-select-list',\n\n // https://github.com/vuejs/vue/issues/6872\n directives: {\n ripple,\n },\n\n props: {\n action: Boolean,\n dense: Boolean,\n hideSelected: Boolean,\n items: {\n type: Array,\n default: () => [],\n } as PropValidator<any[]>,\n itemDisabled: {\n type: [String, Array, Function],\n default: 'disabled',\n } as PropValidator<string | (string | number)[] | ((item: object, fallback?: any) => any)>,\n itemText: {\n type: [String, Array, Function],\n default: 'text',\n } as PropValidator<string | (string | number)[] | ((item: object, fallback?: any) => any)>,\n itemValue: {\n type: [String, Array, Function],\n default: 'value',\n } as PropValidator<string | (string | number)[] | ((item: object, fallback?: any) => any)>,\n noDataText: String,\n noFilter: Boolean,\n searchInput: {\n default: null,\n } as PropValidator<any>,\n selectedItems: {\n type: Array,\n default: () => [],\n } as PropValidator<any[]>,\n },\n\n computed: {\n parsedItems (): any[] {\n return this.selectedItems.map(item => this.getValue(item))\n },\n tileActiveClass (): string {\n return Object.keys(this.setTextColor(this.color).class || {}).join(' ')\n },\n staticNoDataTile (): VNode {\n const tile = {\n attrs: {\n role: undefined,\n },\n on: {\n mousedown: (e: Event) => e.preventDefault(), // Prevent onBlur from being called\n },\n }\n\n return this.$createElement(VListItem, tile, [\n this.genTileContent(this.noDataText),\n ])\n },\n },\n\n methods: {\n genAction (item: object, inputValue: any): VNode {\n return this.$createElement(VListItemAction, [\n this.$createElement(VSimpleCheckbox, {\n props: {\n color: this.color,\n value: inputValue,\n },\n on: {\n input: () => this.$emit('select', item),\n },\n }),\n ])\n },\n genDivider (props: { [key: string]: any }) {\n return this.$createElement(VDivider, { props })\n },\n genFilteredText (text: string) {\n text = text || ''\n\n if (!this.searchInput || this.noFilter) return escapeHTML(text)\n\n const { start, middle, end } = this.getMaskedCharacters(text)\n\n return `${escapeHTML(start)}${this.genHighlight(middle)}${escapeHTML(end)}`\n },\n genHeader (props: { [key: string]: any }): VNode {\n return this.$createElement(VSubheader, { props }, props.header)\n },\n genHighlight (text: string): string {\n return `<span class=\"v-list-item__mask\">${escapeHTML(text)}</span>`\n },\n genLabelledBy (item: object) {\n const text = escapeHTML(this.getText(item).split(' ').join('-').toLowerCase())\n\n return `${text}-list-item-${this._uid}`\n },\n getMaskedCharacters (text: string): {\n start: string\n middle: string\n end: string\n } {\n const searchInput = (this.searchInput || '').toString().toLocaleLowerCase()\n const index = text.toLocaleLowerCase().indexOf(searchInput)\n\n if (index < 0) return { start: '', middle: text, end: '' }\n\n const start = text.slice(0, index)\n const middle = text.slice(index, index + searchInput.length)\n const end = text.slice(index + searchInput.length)\n return { start, middle, end }\n },\n genTile (\n item: object,\n disabled = null as null | boolean,\n value = false\n ): VNode | VNode[] | undefined {\n if (!value) value = this.hasItem(item)\n\n if (item === Object(item)) {\n disabled = disabled !== null\n ? disabled\n : this.getDisabled(item)\n }\n\n const tile = {\n attrs: {\n // Default behavior in list does not\n // contain aria-selected by default\n 'aria-selected': String(value),\n 'aria-labelledby': this.genLabelledBy(item),\n role: 'option',\n },\n on: {\n mousedown: (e: Event) => {\n // Prevent onBlur from being called\n e.preventDefault()\n },\n click: () => disabled || this.$emit('select', item),\n },\n props: {\n activeClass: this.tileActiveClass,\n disabled,\n ripple: true,\n inputValue: value,\n },\n }\n\n if (!this.$scopedSlots.item) {\n return this.$createElement(VListItem, tile, [\n this.action && !this.hideSelected && this.items.length > 0\n ? this.genAction(item, value)\n : null,\n this.genTileContent(item),\n ])\n }\n\n const parent = this\n const scopedSlot = this.$scopedSlots.item({\n parent,\n item,\n attrs: {\n ...tile.attrs,\n ...tile.props,\n },\n on: tile.on,\n })\n\n return this.needsTile(scopedSlot)\n ? this.$createElement(VListItem, tile, scopedSlot)\n : scopedSlot\n },\n genTileContent (item: any): VNode {\n const innerHTML = this.genFilteredText(this.getText(item))\n\n return this.$createElement(VListItemContent,\n [this.$createElement(VListItemTitle, {\n attrs: { id: this.genLabelledBy(item) },\n domProps: { innerHTML },\n })]\n )\n },\n hasItem (item: object) {\n return this.parsedItems.indexOf(this.getValue(item)) > -1\n },\n needsTile (slot: VNode[] | undefined) {\n return slot!.length !== 1 ||\n slot![0].componentOptions == null ||\n slot![0].componentOptions.Ctor.options.name !== 'v-list-item'\n },\n getDisabled (item: object) {\n return Boolean(getPropertyFromItem(item, this.itemDisabled, false))\n },\n getText (item: object) {\n return String(getPropertyFromItem(item, this.itemText, item))\n },\n getValue (item: object) {\n return getPropertyFromItem(item, this.itemValue, this.getText(item))\n },\n },\n\n render (): VNode {\n const children = []\n for (const item of this.items) {\n if (this.hideSelected &&\n this.hasItem(item)\n ) continue\n\n if (item == null) children.push(this.genTile(item))\n else if (item.header) children.push(this.genHeader(item))\n else if (item.divider) children.push(this.genDivider(item))\n else children.push(this.genTile(item))\n }\n\n children.length || children.push(this.$slots['no-data'] || this.staticNoDataTile)\n\n this.$slots['prepend-item'] && children.unshift(this.$slots['prepend-item'])\n\n this.$slots['append-item'] && children.push(this.$slots['append-item'])\n\n return this.$createElement('div', {\n staticClass: 'v-select-list v-card',\n class: this.themeClasses,\n }, [\n this.$createElement(VList, {\n attrs: {\n id: this.$attrs.id,\n role: 'listbox',\n tabindex: -1,\n },\n props: { dense: this.dense },\n }, children),\n ])\n },\n})\n","import VSelect from './VSelect'\n\nexport { VSelect }\nexport default VSelect\n","// extracted by mini-css-extract-plugin","// Styles\nimport './VSheet.sass'\n\n// Mixins\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport Colorable from '../../mixins/colorable'\nimport Elevatable from '../../mixins/elevatable'\nimport Measurable from '../../mixins/measurable'\nimport Themeable from '../../mixins/themeable'\n\n// Helpers\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\n\n/* @vue/component */\nexport default mixins(\n BindsAttrs,\n Colorable,\n Elevatable,\n Measurable,\n Themeable\n).extend({\n name: 'v-sheet',\n\n props: {\n tag: {\n type: String,\n default: 'div',\n },\n tile: Boolean,\n },\n\n computed: {\n classes (): object {\n return {\n 'v-sheet': true,\n 'v-sheet--tile': this.tile,\n ...this.themeClasses,\n ...this.elevationClasses,\n }\n },\n styles (): object {\n return this.measurableStyles\n },\n },\n\n render (h): VNode {\n const data = {\n class: this.classes,\n style: this.styles,\n on: this.listeners$,\n }\n\n return h(\n this.tag,\n this.setBackgroundColor(this.color, data),\n this.$slots.default\n )\n },\n})\n","import VSheet from './VSheet'\n\nexport { VSheet }\nexport default VSheet\n","// extracted by mini-css-extract-plugin","// Styles\nimport './VSkeletonLoader.sass'\n\n// Mixins\nimport Elevatable from '../../mixins/elevatable'\nimport Measurable from '../../mixins/measurable'\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\nimport { getSlot } from '../../util/helpers'\n\n/* @vue/component */\nexport default mixins(\n Elevatable,\n Measurable,\n Themeable,\n).extend({\n name: 'VSkeletonLoader',\n\n props: {\n boilerplate: Boolean,\n loading: Boolean,\n tile: Boolean,\n transition: String,\n type: String,\n types: {\n type: Object,\n default: () => ({}),\n },\n },\n\n computed: {\n attrs (): object {\n if (!this.isLoading) return this.$attrs\n\n return !this.boilerplate ? {\n 'aria-busy': true,\n 'aria-live': 'polite',\n role: 'alert',\n ...this.$attrs,\n } : {}\n },\n classes (): object {\n return {\n 'v-skeleton-loader--boilerplate': this.boilerplate,\n 'v-skeleton-loader--is-loading': this.isLoading,\n 'v-skeleton-loader--tile': this.tile,\n ...this.themeClasses,\n ...this.elevationClasses,\n }\n },\n isLoading (): boolean {\n return Boolean(\n !getSlot(this) ||\n this.loading\n )\n },\n rootTypes (): Record<string, string> {\n return {\n actions: 'button@2',\n article: 'heading, paragraph',\n avatar: 'avatar',\n button: 'button',\n card: 'image, card-heading',\n 'card-avatar': 'image, list-item-avatar',\n 'card-heading': 'heading',\n chip: 'chip',\n 'date-picker': 'list-item, card-heading, divider, date-picker-options, date-picker-days, actions',\n 'date-picker-options': 'text, avatar@2',\n 'date-picker-days': 'avatar@28',\n heading: 'heading',\n image: 'image',\n 'list-item': 'text',\n 'list-item-avatar': 'avatar, text',\n 'list-item-two-line': 'sentences',\n 'list-item-avatar-two-line': 'avatar, sentences',\n 'list-item-three-line': 'paragraph',\n 'list-item-avatar-three-line': 'avatar, paragraph',\n paragraph: 'text@3',\n sentences: 'text@2',\n table: 'table-heading, table-thead, table-tbody, table-tfoot',\n 'table-heading': 'heading, text',\n 'table-thead': 'heading@6',\n 'table-tbody': 'table-row-divider@6',\n 'table-row-divider': 'table-row, divider',\n 'table-row': 'table-cell@6',\n 'table-cell': 'text',\n 'table-tfoot': 'text@2, avatar@2',\n text: 'text',\n ...this.types,\n }\n },\n },\n\n methods: {\n genBone (text: string, children: VNode[]) {\n return this.$createElement('div', {\n staticClass: `v-skeleton-loader__${text} v-skeleton-loader__bone`,\n }, children)\n },\n genBones (bone: string): VNode[] {\n // e.g. 'text@3'\n const [type, length] = bone.split('@') as [string, number]\n const generator = () => this.genStructure(type)\n\n // Generate a length array based upon\n // value after @ in the bone string\n return Array.from({ length }).map(generator)\n },\n // Fix type when this is merged\n // https://github.com/microsoft/TypeScript/pull/33050\n genStructure (type?: string): any {\n let children = []\n type = type || this.type || ''\n const bone = this.rootTypes[type] || ''\n\n // End of recursion, do nothing\n /* eslint-disable-next-line no-empty, brace-style */\n if (type === bone) {}\n // Array of values - e.g. 'heading, paragraph, text@2'\n else if (type.indexOf(',') > -1) return this.mapBones(type)\n // Array of values - e.g. 'paragraph@4'\n else if (type.indexOf('@') > -1) return this.genBones(type)\n // Array of values - e.g. 'card@2'\n else if (bone.indexOf(',') > -1) children = this.mapBones(bone)\n // Array of values - e.g. 'list-item@2'\n else if (bone.indexOf('@') > -1) children = this.genBones(bone)\n // Single value - e.g. 'card-heading'\n else if (bone) children.push(this.genStructure(bone))\n\n return [this.genBone(type, children)]\n },\n genSkeleton () {\n const children = []\n const slot = getSlot(this)\n\n if (!this.isLoading) children.push(slot)\n else children.push(this.genStructure())\n\n /* istanbul ignore else */\n if (!this.transition) return children\n\n /* istanbul ignore next */\n return this.$createElement('transition', {\n props: {\n name: this.transition,\n },\n // Only show transition when\n // content has been loaded\n on: {\n enter: (el: HTMLElement) => {\n if (this.isLoading) el.style.transition = 'none'\n },\n beforeLeave: (el: HTMLElement) => {\n el.style.display = 'none'\n },\n },\n }, children)\n },\n mapBones (bones: string) {\n // Remove spaces and return array of structures\n return bones.replace(/\\s/g, '').split(',').map(this.genStructure)\n },\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-skeleton-loader',\n attrs: this.attrs,\n on: this.$listeners,\n class: this.classes,\n style: this.isLoading ? this.measurableStyles : undefined,\n }, [this.genSkeleton()])\n },\n})\n","import VSkeletonLoader from './VSkeletonLoader'\n\nexport { VSkeletonLoader }\nexport default VSkeletonLoader\n","// extracted by mini-css-extract-plugin","// Styles\nimport './VSlideGroup.sass'\n\n// Components\nimport VIcon from '../VIcon'\nimport { VFadeTransition } from '../transitions'\n\n// Extensions\nimport { BaseItemGroup } from '../VItemGroup/VItemGroup'\n\n// Directives\nimport Resize from '../../directives/resize'\nimport Touch from '../../directives/touch'\n\n// Utilities\nimport mixins, { ExtractVue } from '../../util/mixins'\n\n// Types\nimport Vue, { VNode } from 'vue'\n\ninterface TouchEvent {\n touchstartX: number\n touchmoveX: number\n stopPropagation: Function\n}\n\ninterface Widths {\n content: number\n wrapper: number\n}\n\ninterface options extends Vue {\n $refs: {\n content: HTMLElement\n wrapper: HTMLElement\n }\n}\n\nexport const BaseSlideGroup = mixins<options &\n/* eslint-disable indent */\n ExtractVue<typeof BaseItemGroup>\n/* eslint-enable indent */\n>(\n BaseItemGroup\n /* @vue/component */\n).extend({\n name: 'base-slide-group',\n\n directives: {\n Resize,\n Touch,\n },\n\n props: {\n activeClass: {\n type: String,\n default: 'v-slide-item--active',\n },\n centerActive: Boolean,\n nextIcon: {\n type: String,\n default: '$next',\n },\n mobileBreakPoint: {\n type: [Number, String],\n default: 1264,\n validator: (v: any) => !isNaN(parseInt(v)),\n },\n prevIcon: {\n type: String,\n default: '$prev',\n },\n showArrows: Boolean,\n },\n\n data: () => ({\n internalItemsLength: 0,\n isOverflowing: false,\n resizeTimeout: 0,\n startX: 0,\n scrollOffset: 0,\n widths: {\n content: 0,\n wrapper: 0,\n },\n }),\n\n computed: {\n __cachedNext (): VNode {\n return this.genTransition('next')\n },\n __cachedPrev (): VNode {\n return this.genTransition('prev')\n },\n classes (): object {\n return {\n ...BaseItemGroup.options.computed.classes.call(this),\n 'v-slide-group': true,\n 'v-slide-group--has-affixes': this.hasAffixes,\n 'v-slide-group--is-overflowing': this.isOverflowing,\n }\n },\n hasAffixes (): Boolean {\n return (\n (this.showArrows || !this.isMobile) &&\n this.isOverflowing\n )\n },\n hasNext (): boolean {\n if (!this.hasAffixes) return false\n\n const { content, wrapper } = this.widths\n\n // Check one scroll ahead to know the width of right-most item\n return content > Math.abs(this.scrollOffset) + wrapper\n },\n hasPrev (): boolean {\n return this.hasAffixes && this.scrollOffset !== 0\n },\n isMobile (): boolean {\n return this.$vuetify.breakpoint.width < this.mobileBreakPoint\n },\n },\n\n watch: {\n internalValue: 'setWidths',\n // When overflow changes, the arrows alter\n // the widths of the content and wrapper\n // and need to be recalculated\n isOverflowing: 'setWidths',\n scrollOffset (val) {\n this.$refs.content.style.transform = `translateX(${-val}px)`\n },\n },\n\n beforeUpdate () {\n this.internalItemsLength = (this.$children || []).length\n },\n\n updated () {\n if (this.internalItemsLength === (this.$children || []).length) return\n this.setWidths()\n },\n\n methods: {\n genNext (): VNode | null {\n if (!this.hasAffixes) return null\n\n const slot = this.$scopedSlots.next\n ? this.$scopedSlots.next({})\n : this.$slots.next || this.__cachedNext\n\n return this.$createElement('div', {\n staticClass: 'v-slide-group__next',\n class: {\n 'v-slide-group__next--disabled': !this.hasNext,\n },\n on: {\n click: () => this.onAffixClick('next'),\n },\n key: 'next',\n }, [slot])\n },\n genContent (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-slide-group__content',\n ref: 'content',\n }, this.$slots.default)\n },\n genData (): object {\n return {\n class: this.classes,\n directives: [{\n name: 'resize',\n value: this.onResize,\n }],\n }\n },\n genIcon (location: 'prev' | 'next'): VNode | null {\n let icon = location\n\n if (this.$vuetify.rtl && location === 'prev') {\n icon = 'next'\n } else if (this.$vuetify.rtl && location === 'next') {\n icon = 'prev'\n }\n\n const upperLocation = `${location[0].toUpperCase()}${location.slice(1)}`\n const hasAffix = (this as any)[`has${upperLocation}`]\n\n if (\n !this.showArrows &&\n !hasAffix\n ) return null\n\n return this.$createElement(VIcon, {\n props: {\n disabled: !hasAffix,\n },\n }, (this as any)[`${icon}Icon`])\n },\n // Always generate prev for scrollable hint\n genPrev (): VNode | null {\n const slot = this.$scopedSlots.prev\n ? this.$scopedSlots.prev({})\n : this.$slots.prev || this.__cachedPrev\n\n return this.$createElement('div', {\n staticClass: 'v-slide-group__prev',\n class: {\n 'v-slide-group__prev--disabled': !this.hasPrev,\n },\n on: {\n click: () => this.onAffixClick('prev'),\n },\n key: 'prev',\n }, [slot])\n },\n genTransition (location: 'prev' | 'next') {\n return this.$createElement(VFadeTransition, [this.genIcon(location)])\n },\n genWrapper (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-slide-group__wrapper',\n directives: [{\n name: 'touch',\n value: {\n start: (e: TouchEvent) => this.overflowCheck(e, this.onTouchStart),\n move: (e: TouchEvent) => this.overflowCheck(e, this.onTouchMove),\n end: (e: TouchEvent) => this.overflowCheck(e, this.onTouchEnd),\n },\n }],\n ref: 'wrapper',\n }, [this.genContent()])\n },\n calculateNewOffset (direction: 'prev' | 'next', widths: Widths, rtl: boolean, currentScrollOffset: number) {\n const sign = rtl ? -1 : 1\n const newAbosluteOffset = sign * currentScrollOffset +\n (direction === 'prev' ? -1 : 1) * widths.wrapper\n\n return sign * Math.max(Math.min(newAbosluteOffset, widths.content - widths.wrapper), 0)\n },\n onAffixClick (location: 'prev' | 'next') {\n this.$emit(`click:${location}`)\n this.scrollTo(location)\n },\n onResize () {\n /* istanbul ignore next */\n if (this._isDestroyed) return\n\n this.setWidths()\n },\n onTouchStart (e: TouchEvent) {\n const { content } = this.$refs\n\n this.startX = this.scrollOffset + e.touchstartX as number\n\n content.style.setProperty('transition', 'none')\n content.style.setProperty('willChange', 'transform')\n },\n onTouchMove (e: TouchEvent) {\n this.scrollOffset = this.startX - e.touchmoveX\n },\n onTouchEnd () {\n const { content, wrapper } = this.$refs\n const maxScrollOffset = content.clientWidth - wrapper.clientWidth\n\n content.style.setProperty('transition', null)\n content.style.setProperty('willChange', null)\n\n if (this.$vuetify.rtl) {\n /* istanbul ignore else */\n if (this.scrollOffset > 0 || !this.isOverflowing) {\n this.scrollOffset = 0\n } else if (this.scrollOffset <= -maxScrollOffset) {\n this.scrollOffset = -maxScrollOffset\n }\n } else {\n /* istanbul ignore else */\n if (this.scrollOffset < 0 || !this.isOverflowing) {\n this.scrollOffset = 0\n } else if (this.scrollOffset >= maxScrollOffset) {\n this.scrollOffset = maxScrollOffset\n }\n }\n },\n overflowCheck (e: TouchEvent, fn: (e: TouchEvent) => void) {\n e.stopPropagation()\n this.isOverflowing && fn(e)\n },\n scrollIntoView /* istanbul ignore next */ () {\n if (!this.selectedItem) {\n return\n }\n\n if (\n this.selectedIndex === 0 ||\n (!this.centerActive && !this.isOverflowing)\n ) {\n this.scrollOffset = 0\n } else if (this.centerActive) {\n this.scrollOffset = this.calculateCenteredOffset(\n this.selectedItem.$el as HTMLElement,\n this.widths,\n this.$vuetify.rtl\n )\n } else if (this.isOverflowing) {\n this.scrollOffset = this.calculateUpdatedOffset(\n this.selectedItem.$el as HTMLElement,\n this.widths,\n this.$vuetify.rtl,\n this.scrollOffset\n )\n }\n },\n calculateUpdatedOffset (selectedElement: HTMLElement, widths: Widths, rtl: boolean, currentScrollOffset: number): number {\n const clientWidth = selectedElement.clientWidth\n const offsetLeft = rtl\n ? (widths.content - selectedElement.offsetLeft - clientWidth)\n : selectedElement.offsetLeft\n\n if (rtl) {\n currentScrollOffset = -currentScrollOffset\n }\n\n const totalWidth = widths.wrapper + currentScrollOffset\n const itemOffset = clientWidth + offsetLeft\n const additionalOffset = clientWidth * 0.4\n\n if (offsetLeft < currentScrollOffset) {\n currentScrollOffset = Math.max(offsetLeft - additionalOffset, 0)\n } else if (totalWidth < itemOffset) {\n currentScrollOffset = Math.min(currentScrollOffset - (totalWidth - itemOffset - additionalOffset), widths.content - widths.wrapper)\n }\n\n return rtl ? -currentScrollOffset : currentScrollOffset\n },\n calculateCenteredOffset (selectedElement: HTMLElement, widths: Widths, rtl: boolean): number {\n const { offsetLeft, clientWidth } = selectedElement\n\n if (rtl) {\n const offsetCentered = widths.content - offsetLeft - clientWidth / 2 - widths.wrapper / 2\n return -Math.min(widths.content - widths.wrapper, Math.max(0, offsetCentered))\n } else {\n const offsetCentered = offsetLeft + clientWidth / 2 - widths.wrapper / 2\n return Math.min(widths.content - widths.wrapper, Math.max(0, offsetCentered))\n }\n },\n scrollTo /* istanbul ignore next */ (location: 'prev' | 'next') {\n this.scrollOffset = this.calculateNewOffset(location, {\n // Force reflow\n content: this.$refs.content ? this.$refs.content.clientWidth : 0,\n wrapper: this.$refs.wrapper ? this.$refs.wrapper.clientWidth : 0,\n }, this.$vuetify.rtl, this.scrollOffset)\n },\n setWidths /* istanbul ignore next */ () {\n window.requestAnimationFrame(() => {\n const { content, wrapper } = this.$refs\n\n this.widths = {\n content: content ? content.clientWidth : 0,\n wrapper: wrapper ? wrapper.clientWidth : 0,\n }\n\n this.isOverflowing = this.widths.wrapper < this.widths.content\n\n this.scrollIntoView()\n })\n },\n },\n\n render (h): VNode {\n return h('div', this.genData(), [\n this.genPrev(),\n this.genWrapper(),\n this.genNext(),\n ])\n },\n})\n\nexport default BaseSlideGroup.extend({\n name: 'v-slide-group',\n\n provide (): object {\n return {\n slideGroup: this,\n }\n },\n})\n","// Extensions\nimport { BaseItem } from '../VItemGroup/VItem'\n\n// Mixins\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport mixins from '../../util/mixins'\n\nexport default mixins(\n BaseItem,\n GroupableFactory('slideGroup')\n /* @vue/component */\n).extend({\n name: 'v-slide-item',\n})\n","import VSlideGroup from './VSlideGroup'\nimport VSlideItem from './VSlideItem'\n\nexport {\n VSlideGroup,\n VSlideItem,\n}\n\nexport default {\n $_vuetify_subcomponents: {\n VSlideGroup,\n VSlideItem,\n },\n}\n","// extracted by mini-css-extract-plugin","import './VSlider.sass'\n\n// Components\nimport VInput from '../VInput'\nimport { VScaleTransition } from '../transitions'\n\n// Mixins\nimport mixins, { ExtractVue } from '../../util/mixins'\nimport Loadable from '../../mixins/loadable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\n\n// Helpers\nimport { addOnceEventListener, deepEqual, keyCodes, createRange, convertToUnit, passiveSupported } from '../../util/helpers'\nimport { consoleWarn } from '../../util/console'\n\n// Types\nimport Vue, { VNode, VNodeChildrenArrayContents } from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport { ScopedSlotChildren } from 'vue/types/vnode'\n\ninterface options extends Vue {\n $refs: {\n track: HTMLElement\n }\n}\n\nexport default mixins<options &\n/* eslint-disable indent */\n ExtractVue<[\n typeof VInput,\n typeof Loadable\n ]>\n/* eslint-enable indent */\n>(\n VInput,\n Loadable\n/* @vue/component */\n).extend({\n name: 'v-slider',\n\n directives: {\n ClickOutside,\n },\n\n mixins: [Loadable],\n\n props: {\n disabled: Boolean,\n inverseLabel: Boolean,\n max: {\n type: [Number, String],\n default: 100,\n },\n min: {\n type: [Number, String],\n default: 0,\n },\n step: {\n type: [Number, String],\n default: 1,\n },\n thumbColor: String,\n thumbLabel: {\n type: [Boolean, String],\n default: null,\n validator: v => typeof v === 'boolean' || v === 'always',\n } as PropValidator<boolean | 'always' | null>,\n thumbSize: {\n type: [Number, String],\n default: 32,\n },\n tickLabels: {\n type: Array,\n default: () => ([]),\n } as PropValidator<string[]>,\n ticks: {\n type: [Boolean, String],\n default: false,\n validator: v => typeof v === 'boolean' || v === 'always',\n } as PropValidator<boolean | 'always'>,\n tickSize: {\n type: [Number, String],\n default: 2,\n },\n trackColor: String,\n trackFillColor: String,\n value: [Number, String],\n vertical: Boolean,\n },\n\n data: () => ({\n app: null as any,\n oldValue: null as any,\n keyPressed: 0,\n isFocused: false,\n isActive: false,\n lazyValue: 0,\n noClick: false, // Prevent click event if dragging took place, hack for #7915\n }),\n\n computed: {\n classes (): object {\n return {\n ...VInput.options.computed.classes.call(this),\n 'v-input__slider': true,\n 'v-input__slider--vertical': this.vertical,\n 'v-input__slider--inverse-label': this.inverseLabel,\n }\n },\n internalValue: {\n get (): number {\n return this.lazyValue\n },\n set (val: number) {\n val = isNaN(val) ? this.minValue : val\n // Round value to ensure the\n // entire slider range can\n // be selected with step\n const value = this.roundValue(Math.min(Math.max(val, this.minValue), this.maxValue))\n\n if (value === this.lazyValue) return\n\n this.lazyValue = value\n\n this.$emit('input', value)\n },\n },\n trackTransition (): string {\n return this.keyPressed >= 2 ? 'none' : ''\n },\n minValue (): number {\n return parseFloat(this.min)\n },\n maxValue (): number {\n return parseFloat(this.max)\n },\n stepNumeric (): number {\n return this.step > 0 ? parseFloat(this.step) : 0\n },\n inputWidth (): number {\n const value = (this.roundValue(this.internalValue) - this.minValue) / (this.maxValue - this.minValue) * 100\n\n return value\n },\n trackFillStyles (): Partial<CSSStyleDeclaration> {\n const startDir = this.vertical ? 'bottom' : 'left'\n const endDir = this.vertical ? 'top' : 'right'\n const valueDir = this.vertical ? 'height' : 'width'\n\n const start = this.$vuetify.rtl ? 'auto' : '0'\n const end = this.$vuetify.rtl ? '0' : 'auto'\n const value = this.disabled ? `calc(${this.inputWidth}% - 10px)` : `${this.inputWidth}%`\n\n return {\n transition: this.trackTransition,\n [startDir]: start,\n [endDir]: end,\n [valueDir]: value,\n }\n },\n trackStyles (): Partial<CSSStyleDeclaration> {\n const startDir = this.vertical ? this.$vuetify.rtl ? 'bottom' : 'top' : this.$vuetify.rtl ? 'left' : 'right'\n const endDir = this.vertical ? 'height' : 'width'\n\n const start = '0px'\n const end = this.disabled ? `calc(${100 - this.inputWidth}% - 10px)` : `calc(${100 - this.inputWidth}%)`\n\n return {\n transition: this.trackTransition,\n [startDir]: start,\n [endDir]: end,\n }\n },\n showTicks (): boolean {\n return this.tickLabels.length > 0 ||\n !!(!this.disabled && this.stepNumeric && this.ticks)\n },\n numTicks (): number {\n return Math.ceil((this.maxValue - this.minValue) / this.stepNumeric)\n },\n showThumbLabel (): boolean {\n return !this.disabled && !!(\n this.thumbLabel ||\n this.$scopedSlots['thumb-label']\n )\n },\n computedTrackColor (): string | undefined {\n if (this.disabled) return undefined\n if (this.trackColor) return this.trackColor\n if (this.isDark) return this.validationState\n return this.validationState || 'primary lighten-3'\n },\n computedTrackFillColor (): string | undefined {\n if (this.disabled) return undefined\n if (this.trackFillColor) return this.trackFillColor\n return this.validationState || this.computedColor\n },\n computedThumbColor (): string | undefined {\n if (this.thumbColor) return this.thumbColor\n return this.validationState || this.computedColor\n },\n },\n\n watch: {\n min (val) {\n const parsed = parseFloat(val)\n parsed > this.internalValue && this.$emit('input', parsed)\n },\n max (val) {\n const parsed = parseFloat(val)\n parsed < this.internalValue && this.$emit('input', parsed)\n },\n value: {\n handler (v: number) {\n this.internalValue = v\n },\n },\n },\n\n // If done in as immediate in\n // value watcher, causes issues\n // with vue-test-utils\n beforeMount () {\n this.internalValue = this.value\n },\n\n mounted () {\n // Without a v-app, iOS does not work with body selectors\n this.app = document.querySelector('[data-app]') ||\n consoleWarn('Missing v-app or a non-body wrapping element with the [data-app] attribute', this)\n },\n\n methods: {\n genDefaultSlot (): VNodeChildrenArrayContents {\n const children: VNodeChildrenArrayContents = [this.genLabel()]\n const slider = this.genSlider()\n this.inverseLabel\n ? children.unshift(slider)\n : children.push(slider)\n\n children.push(this.genProgress())\n\n return children\n },\n genSlider (): VNode {\n return this.$createElement('div', {\n class: {\n 'v-slider': true,\n 'v-slider--horizontal': !this.vertical,\n 'v-slider--vertical': this.vertical,\n 'v-slider--focused': this.isFocused,\n 'v-slider--active': this.isActive,\n 'v-slider--disabled': this.disabled,\n 'v-slider--readonly': this.readonly,\n ...this.themeClasses,\n },\n directives: [{\n name: 'click-outside',\n value: this.onBlur,\n }],\n on: {\n click: this.onSliderClick,\n },\n }, this.genChildren())\n },\n genChildren (): VNodeChildrenArrayContents {\n return [\n this.genInput(),\n this.genTrackContainer(),\n this.genSteps(),\n this.genThumbContainer(\n this.internalValue,\n this.inputWidth,\n this.isActive,\n this.isFocused,\n this.onThumbMouseDown,\n this.onFocus,\n this.onBlur,\n ),\n ]\n },\n genInput (): VNode {\n return this.$createElement('input', {\n attrs: {\n value: this.internalValue,\n id: this.computedId,\n disabled: this.disabled,\n readonly: true,\n tabindex: -1,\n ...this.$attrs,\n },\n // on: this.genListeners(), // TODO: do we need to attach the listeners to input?\n })\n },\n genTrackContainer (): VNode {\n const children = [\n this.$createElement('div', this.setBackgroundColor(this.computedTrackColor, {\n staticClass: 'v-slider__track-background',\n style: this.trackStyles,\n })),\n this.$createElement('div', this.setBackgroundColor(this.computedTrackFillColor, {\n staticClass: 'v-slider__track-fill',\n style: this.trackFillStyles,\n })),\n ]\n\n return this.$createElement('div', {\n staticClass: 'v-slider__track-container',\n ref: 'track',\n }, children)\n },\n genSteps (): VNode | null {\n if (!this.step || !this.showTicks) return null\n\n const tickSize = parseFloat(this.tickSize)\n const range = createRange(this.numTicks + 1)\n const direction = this.vertical ? 'bottom' : 'left'\n const offsetDirection = this.vertical ? 'right' : 'top'\n\n if (this.vertical) range.reverse()\n\n const ticks = range.map(i => {\n const index = this.$vuetify.rtl ? this.maxValue - i : i\n const children = []\n\n if (this.tickLabels[index]) {\n children.push(this.$createElement('div', {\n staticClass: 'v-slider__tick-label',\n }, this.tickLabels[index]))\n }\n\n const width = i * (100 / this.numTicks)\n const filled = this.$vuetify.rtl ? (100 - this.inputWidth) < width : width < this.inputWidth\n\n return this.$createElement('span', {\n key: i,\n staticClass: 'v-slider__tick',\n class: {\n 'v-slider__tick--filled': filled,\n },\n style: {\n width: `${tickSize}px`,\n height: `${tickSize}px`,\n [direction]: `calc(${width}% - ${tickSize / 2}px)`,\n [offsetDirection]: `calc(50% - ${tickSize / 2}px)`,\n },\n }, children)\n })\n\n return this.$createElement('div', {\n staticClass: 'v-slider__ticks-container',\n class: {\n 'v-slider__ticks-container--always-show': this.ticks === 'always' || this.tickLabels.length > 0,\n },\n }, ticks)\n },\n genThumbContainer (\n value: number,\n valueWidth: number,\n isActive: boolean,\n isFocused: boolean,\n onDrag: Function,\n onFocus: Function,\n onBlur: Function,\n ref = 'thumb'\n ): VNode {\n const children = [this.genThumb()]\n\n const thumbLabelContent = this.genThumbLabelContent(value)\n this.showThumbLabel && children.push(this.genThumbLabel(thumbLabelContent))\n\n return this.$createElement('div', this.setTextColor(this.computedThumbColor, {\n ref,\n staticClass: 'v-slider__thumb-container',\n class: {\n 'v-slider__thumb-container--active': isActive,\n 'v-slider__thumb-container--focused': isFocused,\n 'v-slider__thumb-container--show-label': this.showThumbLabel,\n },\n style: this.getThumbContainerStyles(valueWidth),\n attrs: {\n role: 'slider',\n tabindex: this.disabled || this.readonly ? -1 : this.$attrs.tabindex ? this.$attrs.tabindex : 0,\n 'aria-label': this.label,\n 'aria-valuemin': this.min,\n 'aria-valuemax': this.max,\n 'aria-valuenow': this.internalValue,\n 'aria-readonly': String(this.readonly),\n 'aria-orientation': this.vertical ? 'vertical' : 'horizontal',\n ...this.$attrs,\n },\n on: {\n focus: onFocus,\n blur: onBlur,\n keydown: this.onKeyDown,\n keyup: this.onKeyUp,\n touchstart: onDrag,\n mousedown: onDrag,\n },\n }), children)\n },\n genThumbLabelContent (value: number | string): ScopedSlotChildren {\n return this.$scopedSlots['thumb-label']\n ? this.$scopedSlots['thumb-label']!({ value })\n : [this.$createElement('span', [String(value)])]\n },\n genThumbLabel (content: ScopedSlotChildren): VNode {\n const size = convertToUnit(this.thumbSize)\n\n const transform = this.vertical\n ? `translateY(20%) translateY(${(Number(this.thumbSize) / 3) - 1}px) translateX(55%) rotate(135deg)`\n : `translateY(-20%) translateY(-12px) translateX(-50%) rotate(45deg)`\n\n return this.$createElement(VScaleTransition, {\n props: { origin: 'bottom center' },\n }, [\n this.$createElement('div', {\n staticClass: 'v-slider__thumb-label-container',\n directives: [{\n name: 'show',\n value: this.isFocused || this.isActive || this.thumbLabel === 'always',\n }],\n }, [\n this.$createElement('div', this.setBackgroundColor(this.computedThumbColor, {\n staticClass: 'v-slider__thumb-label',\n style: {\n height: size,\n width: size,\n transform,\n },\n }), [this.$createElement('div', content)]),\n ]),\n ])\n },\n genThumb (): VNode {\n return this.$createElement('div', this.setBackgroundColor(this.computedThumbColor, {\n staticClass: 'v-slider__thumb',\n }))\n },\n getThumbContainerStyles (width: number): object {\n const direction = this.vertical ? 'top' : 'left'\n let value = this.$vuetify.rtl ? 100 - width : width\n value = this.vertical ? 100 - value : value\n\n return {\n transition: this.trackTransition,\n [direction]: `${value}%`,\n }\n },\n onThumbMouseDown (e: MouseEvent) {\n this.oldValue = this.internalValue\n this.keyPressed = 2\n this.isActive = true\n\n const mouseUpOptions = passiveSupported ? { passive: true, capture: true } : true\n const mouseMoveOptions = passiveSupported ? { passive: true } : false\n if ('touches' in e) {\n this.app.addEventListener('touchmove', this.onMouseMove, mouseMoveOptions)\n addOnceEventListener(this.app, 'touchend', this.onSliderMouseUp, mouseUpOptions)\n } else {\n this.app.addEventListener('mousemove', this.onMouseMove, mouseMoveOptions)\n addOnceEventListener(this.app, 'mouseup', this.onSliderMouseUp, mouseUpOptions)\n }\n\n this.$emit('start', this.internalValue)\n },\n onSliderMouseUp (e: Event) {\n e.stopPropagation()\n this.keyPressed = 0\n const mouseMoveOptions = passiveSupported ? { passive: true } : false\n this.app.removeEventListener('touchmove', this.onMouseMove, mouseMoveOptions)\n this.app.removeEventListener('mousemove', this.onMouseMove, mouseMoveOptions)\n\n this.$emit('end', this.internalValue)\n if (!deepEqual(this.oldValue, this.internalValue)) {\n this.$emit('change', this.internalValue)\n this.noClick = true\n }\n\n this.isActive = false\n },\n onMouseMove (e: MouseEvent) {\n const { value } = this.parseMouseMove(e)\n this.internalValue = value\n },\n onKeyDown (e: KeyboardEvent) {\n if (this.disabled || this.readonly) return\n\n const value = this.parseKeyDown(e, this.internalValue)\n\n if (value == null) return\n\n this.internalValue = value\n this.$emit('change', value)\n },\n onKeyUp () {\n this.keyPressed = 0\n },\n onSliderClick (e: MouseEvent) {\n if (this.noClick) {\n this.noClick = false\n return\n }\n const thumb = this.$refs.thumb as HTMLElement\n thumb.focus()\n\n this.onMouseMove(e)\n this.$emit('change', this.internalValue)\n },\n onBlur (e: Event) {\n this.isFocused = false\n\n this.$emit('blur', e)\n },\n onFocus (e: Event) {\n this.isFocused = true\n\n this.$emit('focus', e)\n },\n parseMouseMove (e: MouseEvent) {\n const start = this.vertical ? 'top' : 'left'\n const length = this.vertical ? 'height' : 'width'\n const click = this.vertical ? 'clientY' : 'clientX'\n\n const {\n [start]: trackStart,\n [length]: trackLength,\n } = this.$refs.track.getBoundingClientRect() as any\n const clickOffset = 'touches' in e ? (e as any).touches[0][click] : e[click] // Can we get rid of any here?\n\n // It is possible for left to be NaN, force to number\n let clickPos = Math.min(Math.max((clickOffset - trackStart) / trackLength, 0), 1) || 0\n\n if (this.vertical) clickPos = 1 - clickPos\n if (this.$vuetify.rtl) clickPos = 1 - clickPos\n\n const isInsideTrack = clickOffset >= trackStart && clickOffset <= trackStart + trackLength\n const value = parseFloat(this.min) + clickPos * (this.maxValue - this.minValue)\n\n return { value, isInsideTrack }\n },\n parseKeyDown (e: KeyboardEvent, value: number) {\n if (this.disabled) return\n\n const { pageup, pagedown, end, home, left, right, down, up } = keyCodes\n\n if (![pageup, pagedown, end, home, left, right, down, up].includes(e.keyCode)) return\n\n e.preventDefault()\n const step = this.stepNumeric || 1\n const steps = (this.maxValue - this.minValue) / step\n if ([left, right, down, up].includes(e.keyCode)) {\n this.keyPressed += 1\n\n const increase = this.$vuetify.rtl ? [left, up] : [right, up]\n const direction = increase.includes(e.keyCode) ? 1 : -1\n const multiplier = e.shiftKey ? 3 : (e.ctrlKey ? 2 : 1)\n\n value = value + (direction * step * multiplier)\n } else if (e.keyCode === home) {\n value = this.minValue\n } else if (e.keyCode === end) {\n value = this.maxValue\n } else {\n const direction = e.keyCode === pagedown ? 1 : -1\n value = value - (direction * step * (steps > 100 ? steps / 10 : 10))\n }\n\n return value\n },\n roundValue (value: number): number {\n if (!this.stepNumeric) return value\n // Format input value using the same number\n // of decimals places as in the step prop\n const trimmedStep = this.step.toString().trim()\n const decimals = trimmedStep.indexOf('.') > -1\n ? (trimmedStep.length - trimmedStep.indexOf('.') - 1)\n : 0\n const offset = this.minValue % this.stepNumeric\n\n const newValue = Math.round((value - offset) / this.stepNumeric) * this.stepNumeric + offset\n\n return parseFloat(Math.min(newValue, this.maxValue).toFixed(decimals))\n },\n },\n})\n","import VSlider from './VSlider'\n\nexport { VSlider }\nexport default VSlider\n","// extracted by mini-css-extract-plugin","// Styles\nimport './VSnackbar.sass'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Toggleable from '../../mixins/toggleable'\nimport { factory as PositionableFactory } from '../../mixins/positionable'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { VNode } from 'vue'\nimport { removed } from '../../util/console'\n\nexport default mixins(\n Colorable,\n Toggleable,\n PositionableFactory(['absolute', 'top', 'bottom', 'left', 'right'])\n/* @vue/component */\n).extend({\n name: 'v-snackbar',\n\n props: {\n multiLine: Boolean,\n // TODO: change this to closeDelay to match other API in delayable.js\n timeout: {\n type: Number,\n default: 6000,\n },\n vertical: Boolean,\n },\n\n data: () => ({\n activeTimeout: -1,\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-snack--active': this.isActive,\n 'v-snack--absolute': this.absolute,\n 'v-snack--bottom': this.bottom || !this.top,\n 'v-snack--left': this.left,\n 'v-snack--multi-line': this.multiLine && !this.vertical,\n 'v-snack--right': this.right,\n 'v-snack--top': this.top,\n 'v-snack--vertical': this.vertical,\n }\n },\n },\n\n watch: {\n isActive () {\n this.setTimeout()\n },\n },\n\n created () {\n if (this.$attrs.hasOwnProperty('auto-height')) {\n removed('auto-height', this)\n }\n },\n\n mounted () {\n this.setTimeout()\n },\n\n methods: {\n setTimeout () {\n window.clearTimeout(this.activeTimeout)\n\n if (this.isActive && this.timeout) {\n this.activeTimeout = window.setTimeout(() => {\n this.isActive = false\n }, this.timeout)\n }\n },\n },\n\n render (h): VNode {\n return h('transition', {\n attrs: { name: 'v-snack-transition' },\n }, [\n this.isActive && h('div', {\n staticClass: 'v-snack',\n class: this.classes,\n on: this.$listeners,\n }, [\n h('div', this.setBackgroundColor(this.color, {\n staticClass: 'v-snack__wrapper',\n }), [\n h('div', {\n staticClass: 'v-snack__content',\n }, this.$slots.default),\n ]),\n ]),\n ])\n },\n})\n","import VSnackbar from './VSnackbar'\n\nexport { VSnackbar }\nexport default VSnackbar\n","// extracted by mini-css-extract-plugin","// Styles\nimport './VSparkline.sass'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport mixins, { ExtractVue } from '../../util/mixins'\nimport { genPoints, genBars } from './helpers/core'\nimport { genPath } from './helpers/path'\n\n// Types\nimport Vue, { VNode } from 'vue'\nimport { Prop, PropValidator } from 'vue/types/options'\n\nexport type SparklineItem = number | { value: number }\n\nexport type SparklineText = {\n x: number\n value: string\n}\n\nexport interface Boundary {\n minX: number\n minY: number\n maxX: number\n maxY: number\n}\n\nexport interface Point {\n x: number\n y: number\n value: number\n}\n\nexport interface Bar {\n x: number\n y: number\n height: number\n value: number\n}\n\nexport interface BarText {\n points: Point[]\n boundary: Boundary\n offsetX: number\n}\n\ninterface options extends Vue {\n $refs: {\n path: SVGPathElement\n }\n}\n\nexport default mixins<options &\n/* eslint-disable indent */\n ExtractVue<[\n typeof Colorable,\n typeof Themeable\n ]>\n/* eslint-enable indent */\n>(\n Colorable,\n Themeable,\n).extend({\n name: 'VSparkline',\n\n inheritAttrs: false,\n\n props: {\n autoDraw: Boolean,\n autoDrawDuration: {\n type: Number,\n default: 2000,\n },\n autoDrawEasing: {\n type: String,\n default: 'ease',\n },\n autoLineWidth: {\n type: Boolean,\n default: false,\n },\n color: {\n type: String,\n default: 'primary',\n },\n fill: {\n type: Boolean,\n default: false,\n },\n gradient: {\n type: Array as Prop<string[]>,\n default: () => ([]),\n },\n gradientDirection: {\n type: String as Prop<'top' | 'bottom' | 'left' | 'right'>,\n validator: (val: string) => ['top', 'bottom', 'left', 'right'].includes(val),\n default: 'top',\n },\n height: {\n type: [String, Number],\n default: 75,\n },\n labels: {\n type: Array as Prop<SparklineItem[]>,\n default: () => ([]),\n },\n labelSize: {\n type: [Number, String],\n default: 7,\n },\n lineWidth: {\n type: [String, Number],\n default: 4,\n },\n padding: {\n type: [String, Number],\n default: 8,\n },\n showLabels: Boolean,\n smooth: {\n type: [Boolean, Number, String],\n default: false,\n },\n type: {\n type: String,\n default: 'trend',\n validator: (val: string) => ['trend', 'bar'].includes(val),\n } as PropValidator<'trend' | 'bar'>,\n value: {\n type: Array as Prop<SparklineItem[]>,\n default: () => ([]),\n },\n width: {\n type: [Number, String],\n default: 300,\n },\n },\n\n data: () => ({\n lastLength: 0,\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-sparkline': true,\n ...this.themeClasses,\n }\n },\n parsedPadding (): number {\n return Number(this.padding)\n },\n parsedWidth (): number {\n return Number(this.width)\n },\n parsedHeight (): number {\n return parseInt(this.height, 10)\n },\n parsedLabelSize (): number {\n return parseInt(this.labelSize, 10) || 7\n },\n totalHeight (): number {\n let height = this.parsedHeight\n\n if (this.hasLabels) height += parseInt(this.labelSize, 10) * 1.5\n\n return height\n },\n totalWidth (): number {\n let width = this.parsedWidth\n if (this.type === 'bar') width = Math.max(this.value.length * this._lineWidth, width)\n\n return width\n },\n totalValues (): number {\n return this.value.length\n },\n _lineWidth (): number {\n if (this.autoLineWidth && this.type !== 'trend') {\n const totalPadding = this.parsedPadding * (this.totalValues + 1)\n return (this.parsedWidth - totalPadding) / this.totalValues\n } else {\n return parseFloat(this.lineWidth) || 4\n }\n },\n boundary (): Boundary {\n if (this.type === 'bar') return { minX: 0, maxX: this.totalWidth, minY: 0, maxY: this.parsedHeight }\n\n const padding = this.parsedPadding\n\n return {\n minX: padding,\n maxX: this.totalWidth - padding,\n minY: padding,\n maxY: this.parsedHeight - padding,\n }\n },\n hasLabels (): boolean {\n return Boolean(\n this.showLabels ||\n this.labels.length > 0 ||\n this.$scopedSlots.label\n )\n },\n parsedLabels (): SparklineText[] {\n const labels = []\n const points = this._values\n const len = points.length\n\n for (let i = 0; labels.length < len; i++) {\n const item = points[i]\n let value = this.labels[i]\n\n if (!value) {\n value = typeof item === 'object'\n ? item.value\n : item\n }\n\n labels.push({\n x: item.x,\n value: String(value),\n })\n }\n\n return labels\n },\n normalizedValues (): number[] {\n return this.value.map(item => (typeof item === 'number' ? item : item.value))\n },\n _values (): Point[] | Bar[] {\n return this.type === 'trend' ? genPoints(this.normalizedValues, this.boundary) : genBars(this.normalizedValues, this.boundary)\n },\n textY (): number {\n let y = this.parsedHeight\n if (this.type === 'trend') y -= 4\n return y\n },\n _radius (): number {\n return this.smooth === true ? 8 : Number(this.smooth)\n },\n },\n\n watch: {\n value: {\n immediate: true,\n handler () {\n this.$nextTick(() => {\n if (!this.autoDraw || this.type === 'bar') return\n\n const path = this.$refs.path\n const length = path.getTotalLength()\n\n if (!this.fill) {\n path.style.transition = 'none'\n path.style.strokeDasharray = length + ' ' + length\n path.style.strokeDashoffset = Math.abs(length - (this.lastLength || 0)).toString()\n path.getBoundingClientRect()\n path.style.transition = `stroke-dashoffset ${this.autoDrawDuration}ms ${this.autoDrawEasing}`\n path.style.strokeDashoffset = '0'\n } else {\n path.style.transformOrigin = 'bottom center'\n path.style.transition = 'none'\n path.style.transform = `scaleY(0)`\n path.getBoundingClientRect()\n path.style.transition = `transform ${this.autoDrawDuration}ms ${this.autoDrawEasing}`\n path.style.transform = `scaleY(1)`\n }\n this.lastLength = length\n })\n },\n },\n },\n\n methods: {\n genGradient () {\n const gradientDirection = this.gradientDirection\n const gradient = this.gradient.slice()\n\n // Pushes empty string to force\n // a fallback to currentColor\n if (!gradient.length) gradient.push('')\n\n const len = Math.max(gradient.length - 1, 1)\n const stops = gradient.reverse().map((color, index) =>\n this.$createElement('stop', {\n attrs: {\n offset: index / len,\n 'stop-color': color || this.color || 'currentColor',\n },\n })\n )\n\n return this.$createElement('defs', [\n this.$createElement('linearGradient', {\n attrs: {\n id: this._uid,\n x1: +(gradientDirection === 'left'),\n y1: +(gradientDirection === 'top'),\n x2: +(gradientDirection === 'right'),\n y2: +(gradientDirection === 'bottom'),\n },\n }, stops),\n ])\n },\n genG (children: VNode[]) {\n return this.$createElement('g', {\n style: {\n fontSize: '8',\n textAnchor: 'middle',\n dominantBaseline: 'mathematical',\n fill: this.color || 'currentColor',\n } as object, // TODO: TS 3.5 is too eager with the array type here\n }, children)\n },\n genPath () {\n const points = genPoints(this.normalizedValues, this.boundary)\n\n return this.$createElement('path', {\n attrs: {\n id: this._uid,\n d: genPath(points, this._radius, this.fill, this.parsedHeight),\n fill: this.fill ? `url(#${this._uid})` : 'none',\n stroke: this.fill ? 'none' : `url(#${this._uid})`,\n },\n ref: 'path',\n })\n },\n genLabels (offsetX: number) {\n const children = this.parsedLabels.map((item, i) => (\n this.$createElement('text', {\n attrs: {\n x: item.x + offsetX + this._lineWidth / 2,\n y: this.textY + (this.parsedLabelSize * 0.75),\n 'font-size': Number(this.labelSize) || 7,\n },\n }, [this.genLabel(item, i)])\n ))\n\n return this.genG(children)\n },\n genLabel (item: SparklineText, index: number) {\n return this.$scopedSlots.label\n ? this.$scopedSlots.label({ index, value: item.value })\n : item.value\n },\n genBars () {\n if (!this.value || this.totalValues < 2) return undefined as never\n\n const bars = genBars(this.normalizedValues, this.boundary)\n const offsetX = (Math.abs(bars[0].x - bars[1].x) - this._lineWidth) / 2\n\n return this.$createElement('svg', {\n attrs: {\n display: 'block',\n viewBox: `0 0 ${this.totalWidth} ${this.totalHeight}`,\n },\n class: this.classes,\n }, [\n this.genGradient(),\n this.genClipPath(bars, offsetX, this._lineWidth, 'sparkline-bar-' + this._uid),\n this.hasLabels ? this.genLabels(offsetX) : undefined as never,\n this.$createElement('g', {\n attrs: {\n 'clip-path': `url(#sparkline-bar-${this._uid}-clip)`,\n fill: `url(#${this._uid})`,\n },\n }, [\n this.$createElement('rect', {\n attrs: {\n x: 0,\n y: 0,\n width: this.totalWidth,\n height: this.height,\n },\n }),\n ]),\n ])\n },\n genClipPath (bars: Bar[], offsetX: number, lineWidth: number, id: string) {\n const rounding = typeof this.smooth === 'number'\n ? this.smooth\n : this.smooth ? 2 : 0\n\n return this.$createElement('clipPath', {\n attrs: {\n id: `${id}-clip`,\n },\n }, bars.map(item => {\n return this.$createElement('rect', {\n attrs: {\n x: item.x + offsetX,\n y: item.y,\n width: lineWidth,\n height: item.height,\n rx: rounding,\n ry: rounding,\n },\n }, [\n this.autoDraw ? this.$createElement('animate', {\n attrs: {\n attributeName: 'height',\n from: 0,\n to: item.height,\n dur: `${this.autoDrawDuration}ms`,\n fill: 'freeze',\n },\n }) : undefined as never,\n ])\n }))\n },\n genTrend () {\n return this.$createElement('svg', this.setTextColor(this.color, {\n attrs: {\n ...this.$attrs,\n display: 'block',\n 'stroke-width': this._lineWidth || 1,\n viewBox: `0 0 ${this.width} ${this.totalHeight}`,\n },\n class: this.classes,\n }), [\n this.genGradient(),\n this.hasLabels && this.genLabels(-(this._lineWidth / 2)),\n this.genPath(),\n ])\n },\n },\n\n render (h): VNode {\n if (this.totalValues < 2) return undefined as never\n\n return this.type === 'trend' ? this.genTrend() : this.genBars()\n },\n})\n","import { Point, Boundary, Bar } from '../VSparkline'\n\nexport function genPoints (\n values: number[],\n boundary: Boundary\n): Point[] {\n const { minX, maxX, minY, maxY } = boundary\n const totalValues = values.length\n const maxValue = Math.max(...values)\n const minValue = Math.min(...values)\n\n const gridX = (maxX - minX) / (totalValues - 1)\n const gridY = (maxY - minY) / ((maxValue - minValue) || 1)\n\n return values.map((value, index) => {\n return {\n x: minX + index * gridX,\n y:\n maxY -\n (value - minValue) * gridY +\n +(index === totalValues - 1) * 0.00001 -\n +(index === 0) * 0.00001,\n value,\n }\n })\n}\n\nexport function genBars (\n values: number[],\n boundary: Boundary\n): Bar[] {\n const { minX, maxX, minY, maxY } = boundary\n const totalValues = values.length\n let maxValue = Math.max(...values)\n let minValue = Math.min(...values)\n\n if (minValue > 0) minValue = 0\n if (maxValue < 0) maxValue = 0\n\n const gridX = maxX / totalValues\n const gridY = (maxY - minY) / (maxValue - minValue)\n const horizonY = maxY - Math.abs(minValue * gridY)\n\n return values.map((value, index) => {\n const height = Math.abs(gridY * value)\n\n return {\n x: minX + index * gridX,\n y: horizonY - height +\n +(value < 0) * height,\n height,\n value,\n }\n })\n}\n","import { Point } from '../VSparkline'\n\nfunction int (value: string | number): number {\n return parseInt(value, 10)\n}\n\n/**\n * https://en.wikipedia.org/wiki/Collinearity\n * x=(x1+x2)/2\n * y=(y1+y2)/2\n */\nexport function checkCollinear (p0: Point, p1: Point, p2: Point): boolean {\n return int(p0.x + p2.x) === int(2 * p1.x) && int(p0.y + p2.y) === int(2 * p1.y)\n}\n\nexport function getDistance (p1: Point, p2: Point): number {\n return Math.sqrt(\n Math.pow(p2.x - p1.x, 2) + Math.pow(p2.y - p1.y, 2)\n )\n}\n\nexport function moveTo (to: Point, from: Point, radius: number) {\n const vector = { x: to.x - from.x, y: to.y - from.y }\n const length = Math.sqrt((vector.x * vector.x) + (vector.y * vector.y))\n const unitVector = { x: vector.x / length, y: vector.y / length }\n\n return {\n x: from.x + unitVector.x * radius,\n y: from.y + unitVector.y * radius,\n }\n}\n","import { Point } from '../VSparkline'\nimport { checkCollinear, getDistance, moveTo } from './math'\n\n/**\n * From https://github.com/unsplash/react-trend/blob/master/src/helpers/DOM.helpers.js#L18\n */\nexport function genPath (points: Point[], radius: number, fill = false, height = 75) {\n const start = points.shift()!\n const end = points[points.length - 1]\n\n return (\n (fill ? `M${start.x} ${height - start.x + 2} L${start.x} ${start.y}` : `M${start.x} ${start.y}`) +\n points\n .map((point, index) => {\n const next = points[index + 1]\n const prev = points[index - 1] || start\n const isCollinear = next && checkCollinear(next, point, prev)\n\n if (!next || isCollinear) {\n return `L${point.x} ${point.y}`\n }\n\n const threshold = Math.min(\n getDistance(prev, point),\n getDistance(next, point)\n )\n const isTooCloseForRadius = threshold / 2 < radius\n const radiusForPoint = isTooCloseForRadius ? threshold / 2 : radius\n\n const before = moveTo(prev, point, radiusForPoint)\n const after = moveTo(next, point, radiusForPoint)\n\n return `L${before.x} ${before.y}S${point.x} ${point.y} ${after.x} ${after.y}`\n })\n .join('') +\n (fill ? `L${end.x} ${height - start.x + 2} Z` : '')\n )\n}\n","import VSparkline from './VSparkline'\n\nexport { VSparkline }\n\nexport default VSparkline\n","// extracted by mini-css-extract-plugin","// Styles\nimport './VSpeedDial.sass'\n\n// Mixins\nimport Toggleable from '../../mixins/toggleable'\nimport Positionable from '../../mixins/positionable'\nimport Transitionable from '../../mixins/transitionable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { VNode, VNodeData } from 'vue'\nimport { PropValidator } from 'vue/types/options'\n\n/* @vue/component */\nexport default mixins(Positionable, Toggleable, Transitionable).extend({\n name: 'v-speed-dial',\n\n directives: { ClickOutside },\n\n props: {\n direction: {\n type: String,\n default: 'top',\n validator: (val: string) => {\n return ['top', 'right', 'bottom', 'left'].includes(val)\n },\n } as PropValidator<'top' | 'right' | 'bottom' | 'left'>,\n openOnHover: Boolean,\n transition: {\n type: String,\n default: 'scale-transition',\n },\n },\n\n computed: {\n classes (): object {\n return {\n 'v-speed-dial': true,\n 'v-speed-dial--top': this.top,\n 'v-speed-dial--right': this.right,\n 'v-speed-dial--bottom': this.bottom,\n 'v-speed-dial--left': this.left,\n 'v-speed-dial--absolute': this.absolute,\n 'v-speed-dial--fixed': this.fixed,\n [`v-speed-dial--direction-${this.direction}`]: true,\n 'v-speed-dial--is-active': this.isActive,\n }\n },\n },\n\n render (h): VNode {\n let children: VNode[] = []\n const data: VNodeData = {\n class: this.classes,\n directives: [{\n name: 'click-outside',\n value: () => (this.isActive = false),\n }],\n on: {\n click: () => (this.isActive = !this.isActive),\n },\n }\n\n if (this.openOnHover) {\n data.on!.mouseenter = () => (this.isActive = true)\n data.on!.mouseleave = () => (this.isActive = false)\n }\n\n if (this.isActive) {\n let btnCount = 0\n children = (this.$slots.default || []).map((b, i) => {\n if (b.tag && typeof b.componentOptions !== 'undefined' && (b.componentOptions.Ctor.options.name === 'v-btn' || b.componentOptions.Ctor.options.name === 'v-tooltip')) {\n btnCount++\n return h('div', {\n style: {\n transitionDelay: btnCount * 0.05 + 's',\n },\n key: i,\n }, [b])\n } else {\n b.key = i\n return b\n }\n })\n }\n\n const list = h('transition-group', {\n class: 'v-speed-dial__list',\n props: {\n name: this.transition,\n mode: this.mode,\n origin: this.origin,\n tag: 'div',\n },\n }, children)\n\n return h('div', data, [this.$slots.activator, list])\n },\n})\n","import VSpeedDial from './VSpeedDial'\n\nexport { VSpeedDial }\nexport default VSpeedDial\n","// extracted by mini-css-extract-plugin","// Styles\nimport './VStepper.sass'\n\n// Components\nimport VStepperStep from './VStepperStep'\nimport VStepperContent from './VStepperContent'\n\n// Mixins\nimport { provide as RegistrableProvide } from '../../mixins/registrable'\nimport Proxyable from '../../mixins/proxyable'\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { breaking } from '../../util/console'\n\n// Types\nimport { VNode } from 'vue'\n\nconst baseMixins = mixins(\n RegistrableProvide('stepper'),\n Proxyable,\n Themeable\n)\n\ntype VStepperStepInstance = InstanceType<typeof VStepperStep>\ntype VStepperContentInstance = InstanceType<typeof VStepperContent>\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-stepper',\n\n provide (): object {\n return {\n stepClick: this.stepClick,\n isVertical: this.vertical,\n }\n },\n\n props: {\n altLabels: Boolean,\n nonLinear: Boolean,\n vertical: Boolean,\n },\n\n data () {\n return {\n isBooted: false,\n steps: [] as VStepperStepInstance[],\n content: [] as VStepperContentInstance[],\n isReverse: false,\n }\n },\n\n computed: {\n classes (): object {\n return {\n 'v-stepper--is-booted': this.isBooted,\n 'v-stepper--vertical': this.vertical,\n 'v-stepper--alt-labels': this.altLabels,\n 'v-stepper--non-linear': this.nonLinear,\n ...this.themeClasses,\n }\n },\n },\n\n watch: {\n internalValue (val, oldVal) {\n this.isReverse = Number(val) < Number(oldVal)\n\n oldVal && (this.isBooted = true)\n\n this.updateView()\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$listeners.input) {\n breaking('@input', '@change', this)\n }\n },\n\n mounted () {\n this.internalLazyValue = this.value || (this.steps[0] || {}).step || 1\n this.updateView()\n },\n\n methods: {\n register (item: VStepperStepInstance | VStepperContentInstance) {\n if (item.$options.name === 'v-stepper-step') {\n this.steps.push(item as VStepperStepInstance)\n } else if (item.$options.name === 'v-stepper-content') {\n (item as VStepperContentInstance).isVertical = this.vertical\n this.content.push(item as VStepperContentInstance)\n }\n },\n unregister (item: VStepperStepInstance | VStepperContentInstance) {\n if (item.$options.name === 'v-stepper-step') {\n this.steps = this.steps.filter((i: VStepperStepInstance) => i !== item)\n } else if (item.$options.name === 'v-stepper-content') {\n (item as VStepperContentInstance).isVertical = this.vertical\n this.content = this.content.filter((i: VStepperContentInstance) => i !== item)\n }\n },\n stepClick (step: string | number) {\n this.$nextTick(() => (this.internalValue = step))\n },\n updateView () {\n for (let index = this.steps.length; --index >= 0;) {\n this.steps[index].toggle(this.internalValue as any)\n }\n for (let index = this.content.length; --index >= 0;) {\n this.content[index].toggle(this.internalValue as any, this.isReverse)\n }\n },\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-stepper',\n class: this.classes,\n }, this.$slots.default)\n },\n})\n","// Components\nimport {\n VTabTransition,\n VTabReverseTransition,\n} from '../transitions'\n\n// Mixins\nimport { inject as RegistrableInject } from '../../mixins/registrable'\n\n// Helpers\nimport { convertToUnit } from '../../util/helpers'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode, FunctionalComponentOptions, VNodeData } from 'vue'\n\nconst baseMixins = mixins(\n RegistrableInject('stepper', 'v-stepper-content', 'v-stepper')\n)\n\ninterface options extends InstanceType<typeof baseMixins> {\n $refs: {\n wrapper: HTMLElement\n }\n isVerticalProvided: boolean\n}\n\n/* @vue/component */\nexport default baseMixins.extend<options>().extend({\n name: 'v-stepper-content',\n\n inject: {\n isVerticalProvided: {\n from: 'isVertical',\n },\n },\n\n props: {\n step: {\n type: [Number, String],\n required: true,\n },\n },\n\n data () {\n return {\n height: 0 as number | string,\n // Must be null to allow\n // previous comparison\n isActive: null as boolean | null,\n isReverse: false,\n isVertical: this.isVerticalProvided,\n }\n },\n\n computed: {\n computedTransition (): FunctionalComponentOptions {\n // Fix for #8978\n const reverse = this.$vuetify.rtl ? !this.isReverse : this.isReverse\n\n return reverse\n ? VTabReverseTransition\n : VTabTransition\n },\n styles (): object {\n if (!this.isVertical) return {}\n\n return {\n height: convertToUnit(this.height),\n }\n },\n },\n\n watch: {\n isActive (current, previous) {\n // If active and the previous state\n // was null, is just booting up\n if (current && previous == null) {\n this.height = 'auto'\n return\n }\n\n if (!this.isVertical) return\n\n if (this.isActive) this.enter()\n else this.leave()\n },\n },\n\n mounted () {\n this.$refs.wrapper.addEventListener(\n 'transitionend',\n this.onTransition,\n false\n )\n this.stepper && this.stepper.register(this)\n },\n\n beforeDestroy () {\n this.$refs.wrapper.removeEventListener(\n 'transitionend',\n this.onTransition,\n false\n )\n this.stepper && this.stepper.unregister(this)\n },\n\n methods: {\n onTransition (e: TransitionEvent) {\n if (!this.isActive ||\n e.propertyName !== 'height'\n ) return\n\n this.height = 'auto'\n },\n enter () {\n let scrollHeight = 0\n\n // Render bug with height\n requestAnimationFrame(() => {\n scrollHeight = this.$refs.wrapper.scrollHeight\n })\n\n this.height = 0\n\n // Give the collapsing element time to collapse\n setTimeout(() => this.isActive && (this.height = (scrollHeight || 'auto')), 450)\n },\n leave () {\n this.height = this.$refs.wrapper.clientHeight\n setTimeout(() => (this.height = 0), 10)\n },\n toggle (step: string | number, reverse: boolean) {\n this.isActive = step.toString() === this.step.toString()\n this.isReverse = reverse\n },\n },\n\n render (h): VNode {\n const contentData = {\n staticClass: 'v-stepper__content',\n } as VNodeData\n const wrapperData = {\n staticClass: 'v-stepper__wrapper',\n style: this.styles,\n ref: 'wrapper',\n }\n\n if (!this.isVertical) {\n contentData.directives = [{\n name: 'show',\n value: this.isActive,\n }]\n }\n\n const wrapper = h('div', wrapperData, [this.$slots.default])\n const content = h('div', contentData, [wrapper])\n\n return h(this.computedTransition, {\n on: this.$listeners,\n }, [content])\n },\n})\n","// Components\nimport VIcon from '../VIcon'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport { inject as RegistrableInject } from '../../mixins/registrable'\n\n// Directives\nimport ripple from '../../directives/ripple'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\nimport { PropValidator } from 'vue/types/options'\n\ntype VuetifyStepperRuleValidator = () => string | boolean\n\nconst baseMixins = mixins(\n Colorable,\n RegistrableInject('stepper', 'v-stepper-step', 'v-stepper')\n)\n\ninterface options extends InstanceType<typeof baseMixins> {\n stepClick: (step: number | string) => void\n}\n/* @vue/component */\nexport default baseMixins.extend<options>().extend({\n name: 'v-stepper-step',\n\n directives: { ripple },\n\n inject: ['stepClick'],\n\n props: {\n color: {\n type: String,\n default: 'primary',\n },\n complete: Boolean,\n completeIcon: {\n type: String,\n default: '$complete',\n },\n editable: Boolean,\n editIcon: {\n type: String,\n default: '$edit',\n },\n errorIcon: {\n type: String,\n default: '$error',\n },\n rules: {\n type: Array,\n default: () => [],\n } as PropValidator<VuetifyStepperRuleValidator[]>,\n step: [Number, String],\n },\n\n data () {\n return {\n isActive: false,\n isInactive: true,\n }\n },\n\n computed: {\n classes (): object {\n return {\n 'v-stepper__step--active': this.isActive,\n 'v-stepper__step--editable': this.editable,\n 'v-stepper__step--inactive': this.isInactive,\n 'v-stepper__step--error error--text': this.hasError,\n 'v-stepper__step--complete': this.complete,\n }\n },\n hasError (): boolean {\n return this.rules.some(validate => validate() !== true)\n },\n },\n\n mounted () {\n this.stepper && this.stepper.register(this)\n },\n\n beforeDestroy () {\n this.stepper && this.stepper.unregister(this)\n },\n\n methods: {\n click (e: MouseEvent) {\n e.stopPropagation()\n\n this.$emit('click', e)\n\n if (this.editable) {\n this.stepClick(this.step)\n }\n },\n genIcon (icon: string) {\n return this.$createElement(VIcon, icon)\n },\n genLabel () {\n return this.$createElement('div', {\n staticClass: 'v-stepper__label',\n }, this.$slots.default)\n },\n genStep () {\n const color = (!this.hasError && (this.complete || this.isActive)) ? this.color : false\n\n return this.$createElement('span', this.setBackgroundColor(color, {\n staticClass: 'v-stepper__step__step',\n }), this.genStepContent())\n },\n genStepContent () {\n const children = []\n\n if (this.hasError) {\n children.push(this.genIcon(this.errorIcon))\n } else if (this.complete) {\n if (this.editable) {\n children.push(this.genIcon(this.editIcon))\n } else {\n children.push(this.genIcon(this.completeIcon))\n }\n } else {\n children.push(String(this.step))\n }\n\n return children\n },\n toggle (step: number | string) {\n this.isActive = step.toString() === this.step.toString()\n this.isInactive = Number(step) < Number(this.step)\n },\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-stepper__step',\n class: this.classes,\n directives: [{\n name: 'ripple',\n value: this.editable,\n }],\n on: { click: this.click },\n }, [\n this.genStep(),\n this.genLabel(),\n ])\n },\n})\n","import { createSimpleFunctional } from '../../util/helpers'\nimport VStepper from './VStepper'\nimport VStepperStep from './VStepperStep'\nimport VStepperContent from './VStepperContent'\n\nconst VStepperHeader = createSimpleFunctional('v-stepper__header')\nconst VStepperItems = createSimpleFunctional('v-stepper__items')\n\nexport {\n VStepper,\n VStepperContent,\n VStepperStep,\n VStepperHeader,\n VStepperItems,\n}\n\nexport default {\n $_vuetify_subcomponents: {\n VStepper,\n VStepperContent,\n VStepperStep,\n VStepperHeader,\n VStepperItems,\n },\n}\n","// extracted by mini-css-extract-plugin","// Styles\nimport './VSubheader.sass'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\n\nexport default mixins(\n Themeable\n /* @vue/component */\n).extend({\n name: 'v-subheader',\n\n props: {\n inset: Boolean,\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-subheader',\n class: {\n 'v-subheader--inset': this.inset,\n ...this.themeClasses,\n },\n attrs: this.$attrs,\n on: this.$listeners,\n }, this.$slots.default)\n },\n})\n","import VSubheader from './VSubheader'\n\nexport { VSubheader }\nexport default VSubheader\n","// extracted by mini-css-extract-plugin","// Styles\nimport '../../styles/components/_selection-controls.sass'\nimport './VSwitch.sass'\n\n// Mixins\nimport Selectable from '../../mixins/selectable'\nimport VInput from '../VInput'\n\n// Directives\nimport Touch from '../../directives/touch'\n\n// Components\nimport { VFabTransition } from '../transitions'\nimport VProgressCircular from '../VProgressCircular/VProgressCircular'\n\n// Helpers\nimport { keyCodes } from '../../util/helpers'\n\n// Types\nimport { VNode, VNodeData } from 'vue'\n\n/* @vue/component */\nexport default Selectable.extend({\n name: 'v-switch',\n\n directives: { Touch },\n\n props: {\n inset: Boolean,\n loading: {\n type: [Boolean, String],\n default: false,\n },\n flat: {\n type: Boolean,\n default: false,\n },\n },\n\n computed: {\n classes (): object {\n return {\n ...VInput.options.computed.classes.call(this),\n 'v-input--selection-controls v-input--switch': true,\n 'v-input--switch--flat': this.flat,\n 'v-input--switch--inset': this.inset,\n }\n },\n attrs (): object {\n return {\n 'aria-checked': String(this.isActive),\n 'aria-disabled': String(this.disabled),\n role: 'switch',\n }\n },\n // Do not return undefined if disabled,\n // according to spec, should still show\n // a color when disabled and active\n validationState (): string | undefined {\n if (this.hasError && this.shouldValidate) return 'error'\n if (this.hasSuccess) return 'success'\n if (this.hasColor !== null) return this.computedColor\n return undefined\n },\n switchData (): VNodeData {\n return this.setTextColor(this.loading ? undefined : this.validationState, {\n class: this.themeClasses,\n })\n },\n },\n\n methods: {\n genDefaultSlot (): (VNode | null)[] {\n return [\n this.genSwitch(),\n this.genLabel(),\n ]\n },\n genSwitch (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-input--selection-controls__input',\n }, [\n this.genInput('checkbox', {\n ...this.attrs,\n ...this.attrs$,\n }),\n this.genRipple(this.setTextColor(this.validationState, {\n directives: [{\n name: 'touch',\n value: {\n left: this.onSwipeLeft,\n right: this.onSwipeRight,\n },\n }],\n })),\n this.$createElement('div', {\n staticClass: 'v-input--switch__track',\n ...this.switchData,\n }),\n this.$createElement('div', {\n staticClass: 'v-input--switch__thumb',\n ...this.switchData,\n }, [this.genProgress()]),\n ])\n },\n genProgress (): VNode {\n return this.$createElement(VFabTransition, {}, [\n this.loading === false\n ? null\n : this.$slots.progress || this.$createElement(VProgressCircular, {\n props: {\n color: (this.loading === true || this.loading === '')\n ? (this.color || 'primary')\n : this.loading,\n size: 16,\n width: 2,\n indeterminate: true,\n },\n }),\n ])\n },\n onSwipeLeft () {\n if (this.isActive) this.onChange()\n },\n onSwipeRight () {\n if (!this.isActive) this.onChange()\n },\n onKeydown (e: KeyboardEvent) {\n if (\n (e.keyCode === keyCodes.left && this.isActive) ||\n (e.keyCode === keyCodes.right && !this.isActive)\n ) this.onChange()\n },\n },\n})\n","import VSwitch from './VSwitch'\n\nexport { VSwitch }\nexport default VSwitch\n","// extracted by mini-css-extract-plugin","// Styles\nimport './VSystemBar.sass'\n\n// Mixins\nimport Applicationable from '../../mixins/applicationable'\nimport Colorable from '../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { convertToUnit, getSlot } from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue/types'\n\nexport default mixins(\n Applicationable('bar', [\n 'height',\n 'window',\n ]),\n Colorable,\n Themeable\n/* @vue/component */\n).extend({\n name: 'v-system-bar',\n\n props: {\n height: [Number, String],\n lightsOut: Boolean,\n window: Boolean,\n },\n\n computed: {\n classes (): object {\n return {\n 'v-system-bar--lights-out': this.lightsOut,\n 'v-system-bar--absolute': this.absolute,\n 'v-system-bar--fixed': !this.absolute && (this.app || this.fixed),\n 'v-system-bar--window': this.window,\n ...this.themeClasses,\n }\n },\n computedHeight (): number | string {\n if (this.height) {\n return isNaN(parseInt(this.height)) ? this.height : parseInt(this.height)\n }\n\n return this.window ? 32 : 24\n },\n styles (): object {\n return {\n height: convertToUnit(this.computedHeight),\n }\n },\n },\n\n methods: {\n updateApplication () {\n return this.$el\n ? this.$el.clientHeight\n : this.computedHeight\n },\n },\n\n render (h): VNode {\n const data = {\n staticClass: 'v-system-bar',\n class: this.classes,\n style: this.styles,\n on: this.$listeners,\n }\n\n return h('div', this.setBackgroundColor(this.color, data), getSlot(this))\n },\n})\n","import VSystemBar from './VSystemBar'\n\nexport { VSystemBar }\nexport default VSystemBar\n","// Mixins\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport Routable from '../../mixins/routable'\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport { keyCodes } from './../../util/helpers'\nimport mixins from '../../util/mixins'\nimport { ExtractVue } from './../../util/mixins'\n\n// Types\nimport { VNode } from 'vue/types'\n\nconst baseMixins = mixins(\n Routable,\n // Must be after routable\n // to overwrite activeClass\n GroupableFactory('tabsBar'),\n Themeable\n)\n\ninterface options extends ExtractVue<typeof baseMixins> {\n $el: HTMLElement\n}\n\nexport default baseMixins.extend<options>().extend(\n /* @vue/component */\n).extend({\n name: 'v-tab',\n\n props: {\n ripple: {\n type: [Boolean, Object],\n default: true,\n },\n },\n\n data: () => ({\n proxyClass: 'v-tab--active',\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-tab': true,\n ...Routable.options.computed.classes.call(this),\n 'v-tab--disabled': this.disabled,\n ...this.groupClasses,\n }\n },\n value (): any {\n let to = this.to || this.href || ''\n\n if (this.$router &&\n this.to === Object(this.to)\n ) {\n const resolve = this.$router.resolve(\n this.to,\n this.$route,\n this.append\n )\n\n to = resolve.href\n }\n\n return to.replace('#', '')\n },\n },\n\n mounted () {\n this.onRouteChange()\n },\n\n methods: {\n click (e: KeyboardEvent | MouseEvent): void {\n // If user provides an\n // actual link, do not\n // prevent default\n if (this.href &&\n this.href.indexOf('#') > -1\n ) e.preventDefault()\n\n if (e.detail) this.$el.blur()\n\n this.$emit('click', e)\n\n this.to || this.toggle()\n },\n },\n\n render (h): VNode {\n const { tag, data } = this.generateRouteLink()\n\n data.attrs = {\n ...data.attrs,\n 'aria-selected': String(this.isActive),\n role: 'tab',\n tabindex: 0,\n }\n data.on = {\n ...data.on,\n keydown: (e: KeyboardEvent) => {\n if (e.keyCode === keyCodes.enter) this.click(e)\n\n this.$emit('keydown', e)\n },\n }\n\n return h(tag, data, this.$slots.default)\n },\n})\n","// Extensions\nimport VWindowItem from '../VWindow/VWindowItem'\n\n/* @vue/component */\nexport default VWindowItem.extend({\n name: 'v-tab-item',\n\n props: {\n id: String,\n },\n\n methods: {\n genWindowItem () {\n const item = VWindowItem.options.methods.genWindowItem.call(this)\n\n item.data!.domProps = item.data!.domProps || {}\n item.data!.domProps.id = this.id || this.value\n\n return item\n },\n },\n})\n","// extracted by mini-css-extract-plugin","// Styles\nimport './VTabs.sass'\n\n// Components\nimport VTabsBar from './VTabsBar'\nimport VTabsItems from './VTabsItems'\nimport VTabsSlider from './VTabsSlider'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Proxyable from '../../mixins/proxyable'\nimport Themeable from '../../mixins/themeable'\n\n// Directives\nimport Resize from '../../directives/resize'\n\n// Utilities\nimport { convertToUnit } from '../../util/helpers'\nimport { ExtractVue } from './../../util/mixins'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue/types'\n\nconst baseMixins = mixins(\n Colorable,\n Proxyable,\n Themeable\n)\n\ninterface options extends ExtractVue<typeof baseMixins> {\n $refs: {\n items: InstanceType<typeof VTabsBar>\n }\n}\n\nexport default baseMixins.extend<options>().extend({\n name: 'v-tabs',\n\n directives: {\n Resize,\n },\n\n props: {\n activeClass: {\n type: String,\n default: '',\n },\n alignWithTitle: Boolean,\n backgroundColor: String,\n centerActive: Boolean,\n centered: Boolean,\n fixedTabs: Boolean,\n grow: Boolean,\n height: {\n type: [Number, String],\n default: undefined,\n },\n hideSlider: Boolean,\n iconsAndText: Boolean,\n mobileBreakPoint: {\n type: [Number, String],\n default: 1264,\n },\n nextIcon: {\n type: String,\n default: '$next',\n },\n optional: Boolean,\n prevIcon: {\n type: String,\n default: '$prev',\n },\n right: Boolean,\n showArrows: Boolean,\n sliderColor: String,\n sliderSize: {\n type: [Number, String],\n default: 2,\n },\n vertical: Boolean,\n },\n\n data () {\n return {\n resizeTimeout: 0,\n slider: {\n height: null as null | number,\n left: null as null | number,\n right: null as null | number,\n top: null as null | number,\n width: null as null | number,\n },\n transitionTime: 300,\n }\n },\n\n computed: {\n classes (): object {\n return {\n 'v-tabs--align-with-title': this.alignWithTitle,\n 'v-tabs--centered': this.centered,\n 'v-tabs--fixed-tabs': this.fixedTabs,\n 'v-tabs--grow': this.grow,\n 'v-tabs--icons-and-text': this.iconsAndText,\n 'v-tabs--right': this.right,\n 'v-tabs--vertical': this.vertical,\n ...this.themeClasses,\n }\n },\n isReversed (): boolean {\n return this.$vuetify.rtl && this.vertical\n },\n sliderStyles (): object {\n return {\n height: convertToUnit(this.slider.height),\n left: this.isReversed ? undefined : convertToUnit(this.slider.left),\n right: this.isReversed ? convertToUnit(this.slider.right) : undefined,\n top: this.vertical ? convertToUnit(this.slider.top) : undefined,\n transition: this.slider.left != null ? null : 'none',\n width: convertToUnit(this.slider.width),\n }\n },\n computedColor (): string {\n if (this.color) return this.color\n else if (this.isDark && !this.appIsDark) return 'white'\n else return 'primary'\n },\n },\n\n watch: {\n alignWithTitle: 'callSlider',\n centered: 'callSlider',\n centerActive: 'callSlider',\n fixedTabs: 'callSlider',\n grow: 'callSlider',\n right: 'callSlider',\n showArrows: 'callSlider',\n vertical: 'callSlider',\n '$vuetify.application.left': 'onResize',\n '$vuetify.application.right': 'onResize',\n '$vuetify.rtl': 'onResize',\n },\n\n mounted () {\n this.$nextTick(() => {\n window.setTimeout(this.callSlider, 30)\n })\n },\n\n methods: {\n callSlider () {\n if (\n this.hideSlider ||\n !this.$refs.items ||\n !this.$refs.items.selectedItems.length\n ) {\n this.slider.width = 0\n return false\n }\n\n this.$nextTick(() => {\n // Give screen time to paint\n const activeTab = this.$refs.items.selectedItems[0]\n /* istanbul ignore if */\n if (!activeTab || !activeTab.$el) {\n this.slider.width = 0\n this.slider.left = 0\n return\n }\n const el = activeTab.$el as HTMLElement\n\n this.slider = {\n height: !this.vertical ? Number(this.sliderSize) : el.scrollHeight,\n left: this.vertical ? 0 : el.offsetLeft,\n right: this.vertical ? 0 : el.offsetLeft + el.offsetWidth,\n top: el.offsetTop,\n width: this.vertical ? Number(this.sliderSize) : el.scrollWidth,\n }\n })\n\n return true\n },\n genBar (items: VNode[], slider: VNode | null) {\n const data = {\n style: {\n height: convertToUnit(this.height),\n },\n props: {\n activeClass: this.activeClass,\n centerActive: this.centerActive,\n dark: this.dark,\n light: this.light,\n mandatory: !this.optional,\n mobileBreakPoint: this.mobileBreakPoint,\n nextIcon: this.nextIcon,\n prevIcon: this.prevIcon,\n showArrows: this.showArrows,\n value: this.internalValue,\n },\n on: {\n 'call:slider': this.callSlider,\n change: (val: any) => {\n this.internalValue = val\n },\n },\n ref: 'items',\n }\n\n this.setTextColor(this.computedColor, data)\n this.setBackgroundColor(this.backgroundColor, data)\n\n return this.$createElement(VTabsBar, data, [\n this.genSlider(slider),\n items,\n ])\n },\n genItems (items: VNode | null, item: VNode[]) {\n // If user provides items\n // opt to use theirs\n if (items) return items\n\n // If no tabs are provided\n // render nothing\n if (!item.length) return null\n\n return this.$createElement(VTabsItems, {\n props: {\n value: this.internalValue,\n },\n on: {\n change: (val: any) => {\n this.internalValue = val\n },\n },\n }, item)\n },\n genSlider (slider: VNode | null) {\n if (this.hideSlider) return null\n\n if (!slider) {\n slider = this.$createElement(VTabsSlider, {\n props: { color: this.sliderColor },\n })\n }\n\n return this.$createElement('div', {\n staticClass: 'v-tabs-slider-wrapper',\n style: this.sliderStyles,\n }, [slider])\n },\n onResize () {\n if (this._isDestroyed) return\n\n clearTimeout(this.resizeTimeout)\n this.resizeTimeout = window.setTimeout(this.callSlider, 0)\n },\n parseNodes () {\n let items = null\n let slider = null\n const item = []\n const tab = []\n const slot = this.$slots.default || []\n const length = slot.length\n\n for (let i = 0; i < length; i++) {\n const vnode = slot[i]\n\n if (vnode.componentOptions) {\n switch (vnode.componentOptions.Ctor.options.name) {\n case 'v-tabs-slider': slider = vnode\n break\n case 'v-tabs-items': items = vnode\n break\n case 'v-tab-item': item.push(vnode)\n break\n // case 'v-tab' - intentionally omitted\n default: tab.push(vnode)\n }\n } else {\n tab.push(vnode)\n }\n }\n\n /**\n * tab: array of `v-tab`\n * slider: single `v-tabs-slider`\n * items: single `v-tabs-items`\n * item: array of `v-tab-item`\n */\n return { tab, slider, items, item }\n },\n },\n\n render (h): VNode {\n const { tab, slider, items, item } = this.parseNodes()\n\n return h('div', {\n staticClass: 'v-tabs',\n class: this.classes,\n directives: [{\n name: 'resize',\n modifiers: { quiet: true },\n value: this.onResize,\n }],\n }, [\n this.genBar(tab, slider),\n this.genItems(items, item),\n ])\n },\n})\n","// Extensions\nimport { BaseSlideGroup } from '../VSlideGroup/VSlideGroup'\n\n// Components\nimport VTab from './VTab'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\nimport SSRBootable from '../../mixins/ssr-bootable'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n// Types\nimport { Route } from 'vue-router'\nimport { VNode } from 'vue'\n\ntype VTabInstance = InstanceType<typeof VTab>\n\nexport default mixins(\n BaseSlideGroup,\n SSRBootable,\n Themeable\n /* @vue/component */\n).extend({\n name: 'v-tabs-bar',\n\n provide () {\n return {\n tabsBar: this,\n }\n },\n\n computed: {\n classes () {\n return {\n ...BaseSlideGroup.options.computed.classes.call(this),\n 'v-tabs-bar': true,\n 'v-tabs-bar--is-mobile': this.isMobile,\n // TODO: Remove this and move to v-slide-group\n 'v-tabs-bar--show-arrows': this.showArrows,\n ...this.themeClasses,\n }\n },\n },\n\n watch: {\n items: 'callSlider',\n internalValue: 'callSlider',\n $route: 'onRouteChange',\n },\n\n methods: {\n callSlider () {\n if (!this.isBooted) return\n\n this.$emit('call:slider')\n },\n genContent () {\n const render = BaseSlideGroup.options.methods.genContent.call(this)\n\n render.data = render.data || {}\n render.data.staticClass += ' v-tabs-bar__content'\n\n return render\n },\n onRouteChange (val: Route, oldVal: Route) {\n /* istanbul ignore next */\n if (this.mandatory) return\n\n const items = this.items as VTabInstance[]\n const newPath = val.path\n const oldPath = oldVal.path\n\n let hasNew = false\n let hasOld = false\n\n for (const item of items) {\n if (item.to === newPath) hasNew = true\n else if (item.to === oldPath) hasOld = true\n\n if (hasNew && hasOld) break\n }\n\n // If we have an old item and not a new one\n // it's assumed that the user navigated to\n // a path that is not present in the items\n if (!hasNew && hasOld) this.internalValue = undefined\n },\n },\n\n render (h): VNode {\n const render = BaseSlideGroup.options.render.call(this, h)\n\n render.data!.attrs = {\n role: 'tablist',\n }\n\n return render\n },\n})\n","// Extensions\nimport VWindow from '../VWindow/VWindow'\n\n// Types & Components\nimport { BaseItemGroup, GroupableInstance } from './../VItemGroup/VItemGroup'\n\n/* @vue/component */\nexport default VWindow.extend({\n name: 'v-tabs-items',\n\n props: {\n mandatory: {\n type: Boolean,\n default: false,\n },\n },\n\n computed: {\n classes (): object {\n return {\n ...VWindow.options.computed.classes.call(this),\n 'v-tabs-items': true,\n }\n },\n isDark (): boolean {\n return this.rootIsDark\n },\n },\n\n methods: {\n getValue (item: GroupableInstance, i: number) {\n return item.id || BaseItemGroup.options.methods.getValue.call(this, item, i)\n },\n },\n})\n","// Mixins\nimport Colorable from '../../mixins/colorable'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue/types'\n\n/* @vue/component */\nexport default mixins(Colorable).extend({\n name: 'v-tabs-slider',\n\n render (h): VNode {\n return h('div', this.setBackgroundColor(this.color, {\n staticClass: 'v-tabs-slider',\n }))\n },\n})\n","import VTabs from './VTabs'\nimport VTab from './VTab'\nimport VTabsItems from './VTabsItems'\nimport VTabItem from './VTabItem'\nimport VTabsSlider from './VTabsSlider'\n\nexport { VTabs, VTab, VTabItem, VTabsItems, VTabsSlider }\n\nexport default {\n $_vuetify_subcomponents: {\n VTabs,\n VTab,\n VTabsItems,\n VTabItem,\n VTabsSlider,\n },\n}\n","// extracted by mini-css-extract-plugin","// Styles\nimport './VTextField.sass'\n\n// Extensions\nimport VInput from '../VInput'\n\n// Components\nimport VCounter from '../VCounter'\nimport VLabel from '../VLabel'\n\n// Mixins\nimport Loadable from '../../mixins/loadable'\n\n// Directives\nimport ripple from '../../directives/ripple'\n\n// Utilities\nimport { convertToUnit, keyCodes } from '../../util/helpers'\nimport { breaking, consoleWarn } from '../../util/console'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { VNode } from 'vue/types'\n\nconst baseMixins = mixins(\n VInput,\n Loadable\n)\ninterface options extends InstanceType<typeof baseMixins> {\n $refs: {\n label: HTMLElement\n input: HTMLInputElement\n 'prepend-inner': HTMLElement\n prefix: HTMLElement\n suffix: HTMLElement\n }\n}\n\nconst dirtyTypes = ['color', 'file', 'time', 'date', 'datetime-local', 'week', 'month']\n\n/* @vue/component */\nexport default baseMixins.extend<options>().extend({\n name: 'v-text-field',\n\n directives: { ripple },\n\n inheritAttrs: false,\n\n props: {\n appendOuterIcon: String,\n autofocus: Boolean,\n clearable: Boolean,\n clearIcon: {\n type: String,\n default: '$clear',\n },\n counter: [Boolean, Number, String],\n filled: Boolean,\n flat: Boolean,\n fullWidth: Boolean,\n label: String,\n outlined: Boolean,\n placeholder: String,\n prefix: String,\n prependInnerIcon: String,\n reverse: Boolean,\n rounded: Boolean,\n shaped: Boolean,\n singleLine: Boolean,\n solo: Boolean,\n soloInverted: Boolean,\n suffix: String,\n type: {\n type: String,\n default: 'text',\n },\n },\n\n data: () => ({\n badInput: false,\n labelWidth: 0,\n prefixWidth: 0,\n prependWidth: 0,\n initialValue: null,\n isBooted: false,\n isClearing: false,\n }),\n\n computed: {\n classes (): object {\n return {\n ...VInput.options.computed.classes.call(this),\n 'v-text-field': true,\n 'v-text-field--full-width': this.fullWidth,\n 'v-text-field--prefix': this.prefix,\n 'v-text-field--single-line': this.isSingle,\n 'v-text-field--solo': this.isSolo,\n 'v-text-field--solo-inverted': this.soloInverted,\n 'v-text-field--solo-flat': this.flat,\n 'v-text-field--filled': this.filled,\n 'v-text-field--is-booted': this.isBooted,\n 'v-text-field--enclosed': this.isEnclosed,\n 'v-text-field--reverse': this.reverse,\n 'v-text-field--outlined': this.outlined,\n 'v-text-field--placeholder': this.placeholder,\n 'v-text-field--rounded': this.rounded,\n 'v-text-field--shaped': this.shaped,\n }\n },\n counterValue (): number {\n return (this.internalValue || '').toString().length\n },\n internalValue: {\n get (): any {\n return this.lazyValue\n },\n set (val: any) {\n this.lazyValue = val\n this.$emit('input', this.lazyValue)\n },\n },\n isDirty (): boolean {\n return (this.lazyValue != null &&\n this.lazyValue.toString().length > 0) ||\n this.badInput\n },\n isEnclosed (): boolean {\n return (\n this.filled ||\n this.isSolo ||\n this.outlined ||\n this.fullWidth\n )\n },\n isLabelActive (): boolean {\n return this.isDirty || dirtyTypes.includes(this.type)\n },\n isSingle (): boolean {\n return this.isSolo || this.singleLine || this.fullWidth\n },\n isSolo (): boolean {\n return this.solo || this.soloInverted\n },\n labelPosition (): Record<'left' | 'right', string | number | undefined> {\n let offset = (this.prefix && !this.labelValue) ? this.prefixWidth : 0\n\n if (this.labelValue && this.prependWidth) offset -= this.prependWidth\n\n return (this.$vuetify.rtl === this.reverse) ? {\n left: offset,\n right: 'auto',\n } : {\n left: 'auto',\n right: offset,\n }\n },\n showLabel (): boolean {\n return this.hasLabel && (!this.isSingle || (!this.isLabelActive && !this.placeholder))\n },\n labelValue (): boolean {\n return !this.isSingle &&\n Boolean(this.isFocused || this.isLabelActive || this.placeholder)\n },\n },\n\n watch: {\n labelValue: 'setLabelWidth',\n outlined: 'setLabelWidth',\n label () {\n this.$nextTick(this.setLabelWidth)\n },\n prefix () {\n this.$nextTick(this.setPrefixWidth)\n },\n isFocused (val) {\n // Sets validationState from validatable\n this.hasColor = val\n\n if (val) {\n this.initialValue = this.lazyValue\n } else if (this.initialValue !== this.lazyValue) {\n this.$emit('change', this.lazyValue)\n }\n },\n value (val) {\n this.lazyValue = val\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('box')) {\n breaking('box', 'filled', this)\n }\n\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('browser-autocomplete')) {\n breaking('browser-autocomplete', 'autocomplete', this)\n }\n\n /* istanbul ignore if */\n if (this.shaped && !(this.filled || this.outlined || this.isSolo)) {\n consoleWarn('shaped should be used with either filled or outlined', this)\n }\n },\n\n mounted () {\n this.autofocus && this.onFocus()\n this.setLabelWidth()\n this.setPrefixWidth()\n this.setPrependWidth()\n requestAnimationFrame(() => (this.isBooted = true))\n },\n\n methods: {\n /** @public */\n focus () {\n this.onFocus()\n },\n /** @public */\n blur (e?: Event) {\n // https://github.com/vuetifyjs/vuetify/issues/5913\n // Safari tab order gets broken if called synchronous\n window.requestAnimationFrame(() => {\n this.$refs.input && this.$refs.input.blur()\n })\n },\n clearableCallback () {\n this.$refs.input && this.$refs.input.focus()\n this.$nextTick(() => this.internalValue = null)\n },\n genAppendSlot () {\n const slot = []\n\n if (this.$slots['append-outer']) {\n slot.push(this.$slots['append-outer'] as VNode[])\n } else if (this.appendOuterIcon) {\n slot.push(this.genIcon('appendOuter'))\n }\n\n return this.genSlot('append', 'outer', slot)\n },\n genPrependInnerSlot () {\n const slot = []\n\n if (this.$slots['prepend-inner']) {\n slot.push(this.$slots['prepend-inner'] as VNode[])\n } else if (this.prependInnerIcon) {\n slot.push(this.genIcon('prependInner'))\n }\n\n return this.genSlot('prepend', 'inner', slot)\n },\n genIconSlot () {\n const slot = []\n\n if (this.$slots['append']) {\n slot.push(this.$slots['append'] as VNode[])\n } else if (this.appendIcon) {\n slot.push(this.genIcon('append'))\n }\n\n return this.genSlot('append', 'inner', slot)\n },\n genInputSlot () {\n const input = VInput.options.methods.genInputSlot.call(this)\n\n const prepend = this.genPrependInnerSlot()\n\n if (prepend) {\n input.children = input.children || []\n input.children.unshift(prepend)\n }\n\n return input\n },\n genClearIcon () {\n if (!this.clearable) return null\n\n const icon = this.isDirty ? 'clear' : ''\n\n return this.genSlot('append', 'inner', [\n this.genIcon(\n icon,\n this.clearableCallback\n ),\n ])\n },\n genCounter () {\n if (this.counter === false || this.counter == null) return null\n\n const max = this.counter === true ? this.attrs$.maxlength : this.counter\n\n return this.$createElement(VCounter, {\n props: {\n dark: this.dark,\n light: this.light,\n max,\n value: this.counterValue,\n },\n })\n },\n genDefaultSlot () {\n return [\n this.genFieldset(),\n this.genTextFieldSlot(),\n this.genClearIcon(),\n this.genIconSlot(),\n this.genProgress(),\n ]\n },\n genFieldset () {\n if (!this.outlined) return null\n\n return this.$createElement('fieldset', {\n attrs: {\n 'aria-hidden': true,\n },\n }, [this.genLegend()])\n },\n genLabel () {\n if (!this.showLabel) return null\n\n const data = {\n props: {\n absolute: true,\n color: this.validationState,\n dark: this.dark,\n disabled: this.disabled,\n focused: !this.isSingle && (this.isFocused || !!this.validationState),\n for: this.computedId,\n left: this.labelPosition.left,\n light: this.light,\n right: this.labelPosition.right,\n value: this.labelValue,\n },\n }\n\n return this.$createElement(VLabel, data, this.$slots.label || this.label)\n },\n genLegend () {\n const width = !this.singleLine && (this.labelValue || this.isDirty) ? this.labelWidth : 0\n const span = this.$createElement('span', {\n domProps: { innerHTML: '&#8203;' },\n })\n\n return this.$createElement('legend', {\n style: {\n width: !this.isSingle ? convertToUnit(width) : undefined,\n },\n }, [span])\n },\n genInput () {\n const listeners = Object.assign({}, this.listeners$)\n delete listeners['change'] // Change should not be bound externally\n\n return this.$createElement('input', {\n style: {},\n domProps: {\n value: this.lazyValue,\n },\n attrs: {\n ...this.attrs$,\n autofocus: this.autofocus,\n disabled: this.disabled,\n id: this.computedId,\n placeholder: this.placeholder,\n readonly: this.readonly,\n type: this.type,\n },\n on: Object.assign(listeners, {\n blur: this.onBlur,\n input: this.onInput,\n focus: this.onFocus,\n keydown: this.onKeyDown,\n }),\n ref: 'input',\n })\n },\n genMessages () {\n if (this.hideDetails) return null\n\n return this.$createElement('div', {\n staticClass: 'v-text-field__details',\n }, [\n VInput.options.methods.genMessages.call(this),\n this.genCounter(),\n ])\n },\n genTextFieldSlot () {\n return this.$createElement('div', {\n staticClass: 'v-text-field__slot',\n }, [\n this.genLabel(),\n this.prefix ? this.genAffix('prefix') : null,\n this.genInput(),\n this.suffix ? this.genAffix('suffix') : null,\n ])\n },\n genAffix (type: 'prefix' | 'suffix') {\n return this.$createElement('div', {\n class: `v-text-field__${type}`,\n ref: type,\n }, this[type])\n },\n onBlur (e?: Event) {\n this.isFocused = false\n e && this.$nextTick(() => this.$emit('blur', e))\n },\n onClick () {\n if (this.isFocused || this.disabled || !this.$refs.input) return\n\n this.$refs.input.focus()\n },\n onFocus (e?: Event) {\n if (!this.$refs.input) return\n\n if (document.activeElement !== this.$refs.input) {\n return this.$refs.input.focus()\n }\n\n if (!this.isFocused) {\n this.isFocused = true\n e && this.$emit('focus', e)\n }\n },\n onInput (e: Event) {\n const target = e.target as HTMLInputElement\n this.internalValue = target.value\n this.badInput = target.validity && target.validity.badInput\n },\n onKeyDown (e: KeyboardEvent) {\n if (e.keyCode === keyCodes.enter) this.$emit('change', this.internalValue)\n\n this.$emit('keydown', e)\n },\n onMouseDown (e: Event) {\n // Prevent input from being blurred\n if (e.target !== this.$refs.input) {\n e.preventDefault()\n e.stopPropagation()\n }\n\n VInput.options.methods.onMouseDown.call(this, e)\n },\n onMouseUp (e: Event) {\n if (this.hasMouseDown) this.focus()\n\n VInput.options.methods.onMouseUp.call(this, e)\n },\n setLabelWidth () {\n if (!this.outlined || !this.$refs.label) return\n\n this.labelWidth = this.$refs.label.scrollWidth * 0.75 + 6\n },\n setPrefixWidth () {\n if (!this.$refs.prefix) return\n\n this.prefixWidth = this.$refs.prefix.offsetWidth\n },\n setPrependWidth () {\n if (!this.outlined || !this.$refs['prepend-inner']) return\n\n this.prependWidth = this.$refs['prepend-inner'].offsetWidth\n },\n },\n})\n","import VTextField from './VTextField'\n\nexport { VTextField }\nexport default VTextField\n","// extracted by mini-css-extract-plugin","// Styles\nimport './VTextarea.sass'\n\n// Extensions\nimport VTextField from '../VTextField/VTextField'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n// Types\nimport Vue from 'vue'\n\ninterface options extends Vue {\n $refs: {\n input: HTMLTextAreaElement\n }\n}\n\nconst baseMixins = mixins<options &\n InstanceType<typeof VTextField>\n>(\n VTextField\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-textarea',\n\n props: {\n autoGrow: Boolean,\n noResize: Boolean,\n rowHeight: {\n type: [Number, String],\n default: 24,\n validator: (v: any) => !isNaN(parseFloat(v)),\n },\n rows: {\n type: [Number, String],\n default: 5,\n validator: (v: any) => !isNaN(parseInt(v, 10)),\n },\n },\n\n computed: {\n classes (): object {\n return {\n 'v-textarea': true,\n 'v-textarea--auto-grow': this.autoGrow,\n 'v-textarea--no-resize': this.noResizeHandle,\n ...VTextField.options.computed.classes.call(this),\n }\n },\n noResizeHandle (): boolean {\n return this.noResize || this.autoGrow\n },\n },\n\n watch: {\n lazyValue () {\n this.autoGrow && this.$nextTick(this.calculateInputHeight)\n },\n rowHeight () {\n this.autoGrow && this.$nextTick(this.calculateInputHeight)\n },\n },\n\n mounted () {\n setTimeout(() => {\n this.autoGrow && this.calculateInputHeight()\n }, 0)\n },\n\n methods: {\n calculateInputHeight () {\n const input = this.$refs.input\n if (!input) return\n\n input.style.height = '0'\n const height = input.scrollHeight\n const minHeight = parseInt(this.rows, 10) * parseFloat(this.rowHeight)\n // This has to be done ASAP, waiting for Vue\n // to update the DOM causes ugly layout jumping\n input.style.height = Math.max(minHeight, height) + 'px'\n },\n genInput () {\n const input = VTextField.options.methods.genInput.call(this)\n\n input.tag = 'textarea'\n delete input.data!.attrs!.type\n input.data!.attrs!.rows = this.rows\n\n return input\n },\n onInput (e: Event) {\n VTextField.options.methods.onInput.call(this, e)\n this.autoGrow && this.calculateInputHeight()\n },\n onKeyDown (e: KeyboardEvent) {\n // Prevents closing of a\n // dialog when pressing\n // enter\n if (this.isFocused && e.keyCode === 13) {\n e.stopPropagation()\n }\n\n this.$emit('keydown', e)\n },\n },\n})\n","import VTextarea from './VTextarea'\n\nexport { VTextarea }\nexport default VTextarea\n","// Components\nimport VTimePickerTitle from './VTimePickerTitle'\nimport VTimePickerClock from './VTimePickerClock'\n\n// Mixins\nimport Picker from '../../mixins/picker'\nimport PickerButton from '../../mixins/picker-button'\n\n// Utils\nimport { createRange } from '../../util/helpers'\nimport pad from '../VDatePicker/util/pad'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\nimport { PropValidator } from 'vue/types/options'\n\nconst rangeHours24 = createRange(24)\nconst rangeHours12am = createRange(12)\nconst rangeHours12pm = rangeHours12am.map(v => v + 12)\nconst range60 = createRange(60)\nenum SelectingTimes {\n Hour = 1,\n Minute = 2,\n Second = 3\n}\nconst selectingNames = { 1: 'hour', 2: 'minute', 3: 'second' }\nexport { SelectingTimes }\n\ntype Period = 'am' | 'pm'\ntype AllowFunction = (val: number) => boolean\n\nexport default mixins(\n Picker,\n PickerButton\n/* @vue/component */\n).extend({\n name: 'v-time-picker',\n\n props: {\n allowedHours: {\n type: [Function, Array],\n } as PropValidator<AllowFunction | number[]>,\n allowedMinutes: {\n type: [Function, Array],\n } as PropValidator<AllowFunction | number[]>,\n allowedSeconds: {\n type: [Function, Array],\n } as PropValidator<AllowFunction | number[]>,\n disabled: Boolean,\n format: {\n type: String,\n default: 'ampm',\n validator (val) {\n return ['ampm', '24hr'].includes(val)\n },\n } as PropValidator<'ampm' | '24hr'>,\n min: String,\n max: String,\n readonly: Boolean,\n scrollable: Boolean,\n useSeconds: Boolean,\n value: null as any as PropValidator<any>,\n ampmInTitle: Boolean,\n },\n\n data () {\n return {\n inputHour: null as number | null,\n inputMinute: null as number | null,\n inputSecond: null as number | null,\n lazyInputHour: null as number | null,\n lazyInputMinute: null as number | null,\n lazyInputSecond: null as number | null,\n period: 'am' as Period,\n selecting: SelectingTimes.Hour,\n }\n },\n\n computed: {\n selectingHour: {\n get (): boolean {\n return this.selecting === SelectingTimes.Hour\n },\n set (v: boolean) {\n this.selecting = SelectingTimes.Hour\n },\n },\n selectingMinute: {\n get (): boolean {\n return this.selecting === SelectingTimes.Minute\n },\n set (v: boolean) {\n this.selecting = SelectingTimes.Minute\n },\n },\n selectingSecond: {\n get (): boolean {\n return this.selecting === SelectingTimes.Second\n },\n set (v: boolean) {\n this.selecting = SelectingTimes.Second\n },\n },\n isAllowedHourCb (): AllowFunction {\n let cb: AllowFunction\n\n if (this.allowedHours instanceof Array) {\n cb = (val: number) => (this.allowedHours as number[]).includes(val)\n } else {\n cb = this.allowedHours\n }\n\n if (!this.min && !this.max) return cb\n\n const minHour = this.min ? Number(this.min.split(':')[0]) : 0\n const maxHour = this.max ? Number(this.max.split(':')[0]) : 23\n\n return (val: number) => {\n return val >= minHour * 1 &&\n val <= maxHour * 1 &&\n (!cb || cb(val))\n }\n },\n isAllowedMinuteCb (): AllowFunction {\n let cb: AllowFunction\n\n const isHourAllowed = !this.isAllowedHourCb || this.inputHour === null || this.isAllowedHourCb(this.inputHour)\n if (this.allowedMinutes instanceof Array) {\n cb = (val: number) => (this.allowedMinutes as number[]).includes(val)\n } else {\n cb = this.allowedMinutes\n }\n\n if (!this.min && !this.max) {\n return isHourAllowed ? cb : () => false\n }\n\n const [minHour, minMinute] = this.min ? this.min.split(':').map(Number) : [0, 0]\n const [maxHour, maxMinute] = this.max ? this.max.split(':').map(Number) : [23, 59]\n const minTime = minHour * 60 + minMinute * 1\n const maxTime = maxHour * 60 + maxMinute * 1\n\n return (val: number) => {\n const time = 60 * this.inputHour! + val\n return time >= minTime &&\n time <= maxTime &&\n isHourAllowed &&\n (!cb || cb(val))\n }\n },\n isAllowedSecondCb (): AllowFunction {\n let cb: AllowFunction\n\n const isHourAllowed = !this.isAllowedHourCb || this.inputHour === null || this.isAllowedHourCb(this.inputHour)\n const isMinuteAllowed = isHourAllowed &&\n (!this.isAllowedMinuteCb ||\n this.inputMinute === null ||\n this.isAllowedMinuteCb(this.inputMinute)\n )\n\n if (this.allowedSeconds instanceof Array) {\n cb = (val: number) => (this.allowedSeconds as number[]).includes(val)\n } else {\n cb = this.allowedSeconds\n }\n\n if (!this.min && !this.max) {\n return isMinuteAllowed ? cb : () => false\n }\n\n const [minHour, minMinute, minSecond] = this.min ? this.min.split(':').map(Number) : [0, 0, 0]\n const [maxHour, maxMinute, maxSecond] = this.max ? this.max.split(':').map(Number) : [23, 59, 59]\n const minTime = minHour * 3600 + minMinute * 60 + (minSecond || 0) * 1\n const maxTime = maxHour * 3600 + maxMinute * 60 + (maxSecond || 0) * 1\n\n return (val: number) => {\n const time = 3600 * this.inputHour! + 60 * this.inputMinute! + val\n return time >= minTime &&\n time <= maxTime &&\n isMinuteAllowed &&\n (!cb || cb(val))\n }\n },\n isAmPm (): boolean {\n return this.format === 'ampm'\n },\n },\n\n watch: {\n value: 'setInputData',\n },\n\n mounted () {\n this.setInputData(this.value)\n this.$on('update:period', this.setPeriod)\n },\n\n methods: {\n genValue () {\n if (this.inputHour != null && this.inputMinute != null && (!this.useSeconds || this.inputSecond != null)) {\n return `${pad(this.inputHour)}:${pad(this.inputMinute)}` + (this.useSeconds ? `:${pad(this.inputSecond!)}` : '')\n }\n\n return null\n },\n emitValue () {\n const value = this.genValue()\n if (value !== null) this.$emit('input', value)\n },\n setPeriod (period: Period) {\n this.period = period\n if (this.inputHour != null) {\n const newHour = this.inputHour! + (period === 'am' ? -12 : 12)\n this.inputHour = this.firstAllowed('hour', newHour)\n this.emitValue()\n }\n },\n setInputData (value: string | null | Date) {\n if (value == null || value === '') {\n this.inputHour = null\n this.inputMinute = null\n this.inputSecond = null\n } else if (value instanceof Date) {\n this.inputHour = value.getHours()\n this.inputMinute = value.getMinutes()\n this.inputSecond = value.getSeconds()\n } else {\n const [, hour, minute, , second, period] = value.trim().toLowerCase().match(/^(\\d+):(\\d+)(:(\\d+))?([ap]m)?$/) || new Array(6)\n\n this.inputHour = period ? this.convert12to24(parseInt(hour, 10), period as Period) : parseInt(hour, 10)\n this.inputMinute = parseInt(minute, 10)\n this.inputSecond = parseInt(second || 0, 10)\n }\n\n this.period = (this.inputHour == null || this.inputHour < 12) ? 'am' : 'pm'\n },\n convert24to12 (hour: number) {\n return hour ? ((hour - 1) % 12 + 1) : 12\n },\n convert12to24 (hour: number, period: Period) {\n return hour % 12 + (period === 'pm' ? 12 : 0)\n },\n onInput (value: number) {\n if (this.selecting === SelectingTimes.Hour) {\n this.inputHour = this.isAmPm ? this.convert12to24(value, this.period) : value\n } else if (this.selecting === SelectingTimes.Minute) {\n this.inputMinute = value\n } else {\n this.inputSecond = value\n }\n this.emitValue()\n },\n onChange (value: number) {\n this.$emit(`click:${selectingNames[this.selecting]}`, value)\n\n const emitChange = this.selecting === (this.useSeconds ? SelectingTimes.Second : SelectingTimes.Minute)\n\n if (this.selecting === SelectingTimes.Hour) {\n this.selecting = SelectingTimes.Minute\n } else if (this.useSeconds && this.selecting === SelectingTimes.Minute) {\n this.selecting = SelectingTimes.Second\n }\n\n if (this.inputHour === this.lazyInputHour &&\n this.inputMinute === this.lazyInputMinute &&\n (!this.useSeconds || this.inputSecond === this.lazyInputSecond)\n ) return\n\n const time = this.genValue()\n if (time === null) return\n\n this.lazyInputHour = this.inputHour\n this.lazyInputMinute = this.inputMinute\n this.useSeconds && (this.lazyInputSecond = this.inputSecond)\n\n emitChange && this.$emit('change', time)\n },\n firstAllowed (type: 'hour' | 'minute' | 'second', value: number) {\n const allowedFn = type === 'hour' ? this.isAllowedHourCb : (type === 'minute' ? this.isAllowedMinuteCb : this.isAllowedSecondCb)\n if (!allowedFn) return value\n\n // TODO: clean up\n const range = type === 'minute'\n ? range60\n : (type === 'second'\n ? range60\n : (this.isAmPm\n ? (value < 12\n ? rangeHours12am\n : rangeHours12pm)\n : rangeHours24))\n const first = range.find(v => allowedFn((v + value) % range.length + range[0]))\n return ((first || 0) + value) % range.length + range[0]\n },\n genClock () {\n return this.$createElement(VTimePickerClock, {\n props: {\n allowedValues:\n this.selecting === SelectingTimes.Hour\n ? this.isAllowedHourCb\n : (this.selecting === SelectingTimes.Minute\n ? this.isAllowedMinuteCb\n : this.isAllowedSecondCb),\n color: this.color,\n dark: this.dark,\n disabled: this.disabled,\n double: this.selecting === SelectingTimes.Hour && !this.isAmPm,\n format: this.selecting === SelectingTimes.Hour\n ? (this.isAmPm ? this.convert24to12 : (val: number) => val)\n : (val: number) => pad(val, 2),\n light: this.light,\n max: this.selecting === SelectingTimes.Hour ? (this.isAmPm && this.period === 'am' ? 11 : 23) : 59,\n min: this.selecting === SelectingTimes.Hour && this.isAmPm && this.period === 'pm' ? 12 : 0,\n readonly: this.readonly,\n scrollable: this.scrollable,\n size: Number(this.width) - ((!this.fullWidth && this.landscape) ? 80 : 20),\n step: this.selecting === SelectingTimes.Hour ? 1 : 5,\n value: this.selecting === SelectingTimes.Hour\n ? this.inputHour\n : (this.selecting === SelectingTimes.Minute\n ? this.inputMinute\n : this.inputSecond),\n },\n on: {\n input: this.onInput,\n change: this.onChange,\n },\n ref: 'clock',\n })\n },\n genClockAmPm () {\n return this.$createElement('div', this.setTextColor(this.color || 'primary', {\n staticClass: 'v-time-picker-clock__ampm',\n }), [\n this.genPickerButton('period', 'am', this.$vuetify.lang.t('$vuetify.timePicker.am'), this.disabled || this.readonly),\n this.genPickerButton('period', 'pm', this.$vuetify.lang.t('$vuetify.timePicker.pm'), this.disabled || this.readonly),\n ])\n },\n genPickerBody () {\n return this.$createElement('div', {\n staticClass: 'v-time-picker-clock__container',\n key: this.selecting,\n }, [\n !this.ampmInTitle && this.isAmPm && this.genClockAmPm(),\n this.genClock(),\n ])\n },\n genPickerTitle () {\n return this.$createElement(VTimePickerTitle, {\n props: {\n ampm: this.ampmInTitle && this.isAmPm,\n disabled: this.disabled,\n hour: this.inputHour,\n minute: this.inputMinute,\n second: this.inputSecond,\n period: this.period,\n readonly: this.readonly,\n useSeconds: this.useSeconds,\n selecting: this.selecting,\n },\n on: {\n 'update:selecting': (value: 1 | 2 | 3) => (this.selecting = value),\n 'update:period': this.setPeriod,\n },\n ref: 'title',\n slot: 'title',\n })\n },\n },\n\n render (): VNode {\n return this.genPicker('v-picker--time')\n },\n})\n","// extracted by mini-css-extract-plugin","import './VTimePickerClock.sass'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\n\n// Types\nimport mixins, { ExtractVue } from '../../util/mixins'\nimport Vue, { VNode } from 'vue'\n\ninterface Point {\n x: number\n y: number\n}\n\ninterface options extends Vue {\n $refs: {\n clock: HTMLElement\n innerClock: HTMLElement\n }\n}\n\nexport default mixins<options &\n/* eslint-disable indent */\n ExtractVue<[\n typeof Colorable,\n typeof Themeable\n ]>\n/* eslint-enable indent */\n>(\n Colorable,\n Themeable\n/* @vue/component */\n).extend({\n name: 'v-time-picker-clock',\n\n props: {\n allowedValues: Function,\n ampm: Boolean,\n disabled: Boolean,\n double: Boolean,\n format: {\n type: Function,\n default: (val: string | number) => val,\n },\n max: {\n type: Number,\n required: true,\n },\n min: {\n type: Number,\n required: true,\n },\n scrollable: Boolean,\n readonly: Boolean,\n rotate: {\n type: Number,\n default: 0,\n },\n step: {\n type: Number,\n default: 1,\n },\n value: Number,\n },\n\n data () {\n return {\n inputValue: this.value,\n isDragging: false,\n valueOnMouseDown: null as number | null,\n valueOnMouseUp: null as number | null,\n }\n },\n\n computed: {\n count (): number {\n return this.max - this.min + 1\n },\n degreesPerUnit (): number {\n return 360 / this.roundCount\n },\n degrees (): number {\n return this.degreesPerUnit * Math.PI / 180\n },\n displayedValue (): number {\n return this.value == null ? this.min : this.value\n },\n innerRadiusScale (): number {\n return 0.62\n },\n roundCount (): number {\n return this.double ? (this.count / 2) : this.count\n },\n },\n\n watch: {\n value (value) {\n this.inputValue = value\n },\n },\n\n methods: {\n wheel (e: WheelEvent) {\n e.preventDefault()\n\n const delta = Math.sign(-e.deltaY || 1)\n let value = this.displayedValue\n do {\n value = value + delta\n value = (value - this.min + this.count) % this.count + this.min\n } while (!this.isAllowed(value) && value !== this.displayedValue)\n\n if (value !== this.displayedValue) {\n this.update(value)\n }\n },\n isInner (value: number) {\n return this.double && (value - this.min >= this.roundCount)\n },\n handScale (value: number) {\n return this.isInner(value) ? this.innerRadiusScale : 1\n },\n isAllowed (value: number) {\n return !this.allowedValues || this.allowedValues(value)\n },\n genValues () {\n const children: VNode[] = []\n\n for (let value = this.min; value <= this.max; value = value + this.step) {\n const color = value === this.value && (this.color || 'accent')\n children.push(this.$createElement('span', this.setBackgroundColor(color, {\n staticClass: 'v-time-picker-clock__item',\n class: {\n 'v-time-picker-clock__item--active': value === this.displayedValue,\n 'v-time-picker-clock__item--disabled': this.disabled || !this.isAllowed(value),\n },\n style: this.getTransform(value),\n domProps: { innerHTML: `<span>${this.format(value)}</span>` },\n })))\n }\n\n return children\n },\n genHand () {\n const scale = `scaleY(${this.handScale(this.displayedValue)})`\n const angle = this.rotate + this.degreesPerUnit * (this.displayedValue - this.min)\n const color = (this.value != null) && (this.color || 'accent')\n return this.$createElement('div', this.setBackgroundColor(color, {\n staticClass: 'v-time-picker-clock__hand',\n class: {\n 'v-time-picker-clock__hand--inner': this.isInner(this.value),\n },\n style: {\n transform: `rotate(${angle}deg) ${scale}`,\n },\n }))\n },\n getTransform (i: number) {\n const { x, y } = this.getPosition(i)\n return {\n left: `${50 + x * 50}%`,\n top: `${50 + y * 50}%`,\n }\n },\n getPosition (value: number) {\n const rotateRadians = this.rotate * Math.PI / 180\n return {\n x: Math.sin((value - this.min) * this.degrees + rotateRadians) * this.handScale(value),\n y: -Math.cos((value - this.min) * this.degrees + rotateRadians) * this.handScale(value),\n }\n },\n onMouseDown (e: MouseEvent | TouchEvent) {\n e.preventDefault()\n\n this.valueOnMouseDown = null\n this.valueOnMouseUp = null\n this.isDragging = true\n this.onDragMove(e)\n },\n onMouseUp (e: MouseEvent | TouchEvent) {\n e.stopPropagation()\n\n this.isDragging = false\n if (this.valueOnMouseUp !== null && this.isAllowed(this.valueOnMouseUp)) {\n this.$emit('change', this.valueOnMouseUp)\n }\n },\n onDragMove (e: MouseEvent | TouchEvent) {\n e.preventDefault()\n if (!this.isDragging && e.type !== 'click') return\n\n const { width, top, left } = this.$refs.clock.getBoundingClientRect()\n const { width: innerWidth } = this.$refs.innerClock.getBoundingClientRect()\n const { clientX, clientY } = 'touches' in e ? e.touches[0] : e\n const center = { x: width / 2, y: -width / 2 }\n const coords = { x: clientX - left, y: top - clientY }\n const handAngle = Math.round(this.angle(center, coords) - this.rotate + 360) % 360\n const insideClick = this.double && this.euclidean(center, coords) < (innerWidth + innerWidth * this.innerRadiusScale) / 4\n const value = (\n Math.round(handAngle / this.degreesPerUnit) +\n (insideClick ? this.roundCount : 0)\n ) % this.count + this.min\n\n // Necessary to fix edge case when selecting left part of the value(s) at 12 o'clock\n let newValue: number\n if (handAngle >= (360 - this.degreesPerUnit / 2)) {\n newValue = insideClick ? this.max - this.roundCount + 1 : this.min\n } else {\n newValue = value\n }\n\n if (this.isAllowed(value)) {\n if (this.valueOnMouseDown === null) {\n this.valueOnMouseDown = newValue\n }\n this.valueOnMouseUp = newValue\n this.update(newValue)\n }\n },\n update (value: number) {\n if (this.inputValue !== value) {\n this.inputValue = value\n this.$emit('input', value)\n }\n },\n euclidean (p0: Point, p1: Point) {\n const dx = p1.x - p0.x\n const dy = p1.y - p0.y\n\n return Math.sqrt(dx * dx + dy * dy)\n },\n angle (center: Point, p1: Point) {\n const value = 2 * Math.atan2(p1.y - center.y - this.euclidean(center, p1), p1.x - center.x)\n return Math.abs(value * 180 / Math.PI)\n },\n },\n\n render (h): VNode {\n const data = {\n staticClass: 'v-time-picker-clock',\n class: {\n 'v-time-picker-clock--indeterminate': this.value == null,\n ...this.themeClasses,\n },\n on: (this.readonly || this.disabled) ? undefined : Object.assign({\n mousedown: this.onMouseDown,\n mouseup: this.onMouseUp,\n mouseleave: (e: MouseEvent) => (this.isDragging && this.onMouseUp(e)),\n touchstart: this.onMouseDown,\n touchend: this.onMouseUp,\n mousemove: this.onDragMove,\n touchmove: this.onDragMove,\n }, this.scrollable ? {\n wheel: this.wheel,\n } : {}),\n ref: 'clock',\n }\n\n return h('div', data, [\n h('div', {\n staticClass: 'v-time-picker-clock__inner',\n ref: 'innerClock',\n }, [\n this.genHand(),\n this.genValues(),\n ]),\n ])\n },\n})\n","// extracted by mini-css-extract-plugin","import './VTimePickerTitle.sass'\n\n// Mixins\nimport PickerButton from '../../mixins/picker-button'\n\n// Utils\nimport { pad } from '../VDatePicker/util'\nimport mixins from '../../util/mixins'\n\nimport { SelectingTimes } from './VTimePicker'\nimport { PropValidator } from 'vue/types/options'\nimport { VNode } from 'vue'\n\nexport default mixins(\n PickerButton\n/* @vue/component */\n).extend({\n name: 'v-time-picker-title',\n\n props: {\n ampm: Boolean,\n disabled: Boolean,\n hour: Number,\n minute: Number,\n second: Number,\n period: {\n type: String,\n validator: period => period === 'am' || period === 'pm',\n } as PropValidator<'am' | 'pm'>,\n readonly: Boolean,\n useSeconds: Boolean,\n selecting: Number,\n },\n\n methods: {\n genTime () {\n let hour = this.hour\n if (this.ampm) {\n hour = hour ? ((hour - 1) % 12 + 1) : 12\n }\n\n const displayedHour = this.hour == null ? '--' : this.ampm ? String(hour) : pad(hour)\n const displayedMinute = this.minute == null ? '--' : pad(this.minute)\n const titleContent = [\n this.genPickerButton('selecting', SelectingTimes.Hour, displayedHour, this.disabled),\n this.$createElement('span', ':'),\n this.genPickerButton('selecting', SelectingTimes.Minute, displayedMinute, this.disabled),\n ]\n\n if (this.useSeconds) {\n const displayedSecond = this.second == null ? '--' : pad(this.second)\n titleContent.push(this.$createElement('span', ':'))\n titleContent.push(this.genPickerButton('selecting', SelectingTimes.Second, displayedSecond, this.disabled))\n }\n return this.$createElement('div', {\n class: 'v-time-picker-title__time',\n }, titleContent)\n },\n genAmPm () {\n return this.$createElement('div', {\n staticClass: 'v-time-picker-title__ampm',\n }, [\n this.genPickerButton('period', 'am', this.$vuetify.lang.t('$vuetify.timePicker.am'), this.disabled || this.readonly),\n this.genPickerButton('period', 'pm', this.$vuetify.lang.t('$vuetify.timePicker.pm'), this.disabled || this.readonly),\n ])\n },\n },\n\n render (h): VNode {\n const children = [this.genTime()]\n\n this.ampm && children.push(this.genAmPm())\n\n return h('div', {\n staticClass: 'v-time-picker-title',\n }, children)\n },\n})\n","import VTimePicker from './VTimePicker'\nimport VTimePickerClock from './VTimePickerClock'\nimport VTimePickerTitle from './VTimePickerTitle'\n\nexport { VTimePicker, VTimePickerClock, VTimePickerTitle }\n\nexport default {\n $_vuetify_subcomponents: {\n VTimePicker,\n VTimePickerClock,\n VTimePickerTitle,\n },\n}\n","// extracted by mini-css-extract-plugin","// Styles\nimport './VTimeline.sass'\n\n// Types\nimport { VNode } from 'vue'\nimport mixins from '../../util/mixins'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\n\nexport default mixins(\n Themeable\n/* @vue/component */\n).extend({\n name: 'v-timeline',\n\n provide (): object {\n return { timeline: this }\n },\n\n props: {\n alignTop: Boolean,\n dense: Boolean,\n reverse: Boolean,\n },\n\n computed: {\n classes (): {} {\n return {\n 'v-timeline--align-top': this.alignTop,\n 'v-timeline--dense': this.dense,\n 'v-timeline--reverse': this.reverse,\n ...this.themeClasses,\n }\n },\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-timeline',\n class: this.classes,\n }, this.$slots.default)\n },\n})\n","// Types\nimport mixins, { ExtractVue } from '../../util/mixins'\nimport { VNode, VNodeData } from 'vue'\n\n// Components\nimport VTimeline from './VTimeline'\nimport VIcon from '../VIcon'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\nimport Colorable from '../../mixins/colorable'\n\nconst baseMixins = mixins(\n Colorable,\n Themeable\n/* @vue/component */\n)\n\ntype VTimelineInstance = InstanceType<typeof VTimeline>\n\ninterface options extends ExtractVue<typeof baseMixins> {\n timeline: VTimelineInstance\n}\n\nexport default baseMixins.extend<options>().extend({\n name: 'v-timeline-item',\n\n inject: ['timeline'],\n\n props: {\n color: {\n type: String,\n default: 'primary',\n },\n fillDot: Boolean,\n hideDot: Boolean,\n icon: String,\n iconColor: String,\n large: Boolean,\n left: Boolean,\n right: Boolean,\n small: Boolean,\n },\n\n computed: {\n hasIcon (): boolean {\n return !!this.icon || !!this.$slots.icon\n },\n },\n\n methods: {\n genBody () {\n return this.$createElement('div', {\n staticClass: 'v-timeline-item__body',\n }, this.$slots.default)\n },\n genIcon (): VNode | VNode[] {\n if (this.$slots.icon) {\n return this.$slots.icon\n }\n\n return this.$createElement(VIcon, {\n props: {\n color: this.iconColor,\n dark: !this.theme.isDark,\n small: this.small,\n },\n }, this.icon)\n },\n genInnerDot () {\n const data: VNodeData = this.setBackgroundColor(this.color)\n\n return this.$createElement('div', {\n staticClass: 'v-timeline-item__inner-dot',\n ...data,\n }, [this.hasIcon && this.genIcon()])\n },\n genDot () {\n return this.$createElement('div', {\n staticClass: 'v-timeline-item__dot',\n class: {\n 'v-timeline-item__dot--small': this.small,\n 'v-timeline-item__dot--large': this.large,\n },\n }, [this.genInnerDot()])\n },\n genDivider () {\n const children = []\n\n if (!this.hideDot) children.push(this.genDot())\n\n return this.$createElement('div', {\n staticClass: 'v-timeline-item__divider',\n }, children)\n },\n genOpposite () {\n return this.$createElement('div', {\n staticClass: 'v-timeline-item__opposite',\n }, this.$slots.opposite)\n },\n },\n\n render (h): VNode {\n const children = [\n this.genBody(),\n this.genDivider(),\n ]\n\n if (this.$slots.opposite) children.push(this.genOpposite())\n\n return h('div', {\n staticClass: 'v-timeline-item',\n class: {\n 'v-timeline-item--fill-dot': this.fillDot,\n 'v-timeline-item--before': this.timeline.reverse ? this.right : this.left,\n 'v-timeline-item--after': this.timeline.reverse ? this.left : this.right,\n ...this.themeClasses,\n },\n }, children)\n },\n})\n","import VTimeline from './VTimeline'\nimport VTimelineItem from './VTimelineItem'\n\nexport { VTimeline, VTimelineItem }\n\nexport default {\n $_vuetify_subcomponents: {\n VTimeline,\n VTimelineItem,\n },\n}\n","// extracted by mini-css-extract-plugin","// Styles\nimport './VToolbar.sass'\n\n// Extensions\nimport VSheet from '../VSheet/VSheet'\n\n// Components\nimport VImg, { srcObject } from '../VImg/VImg'\n\n// Utilities\nimport { convertToUnit, getSlot } from '../../util/helpers'\nimport { breaking } from '../../util/console'\n\n// Types\nimport { VNode } from 'vue'\nimport { PropValidator } from 'vue/types/options'\n\n/* @vue/component */\nexport default VSheet.extend({\n name: 'v-toolbar',\n\n props: {\n absolute: Boolean,\n bottom: Boolean,\n collapse: Boolean,\n dense: Boolean,\n extended: Boolean,\n extensionHeight: {\n default: 48,\n type: [Number, String],\n },\n flat: Boolean,\n floating: Boolean,\n prominent: Boolean,\n short: Boolean,\n src: {\n type: [String, Object],\n default: '',\n } as PropValidator<string | srcObject>,\n tag: {\n type: String,\n default: 'header',\n },\n tile: {\n type: Boolean,\n default: true,\n },\n },\n\n data: () => ({\n isExtended: false,\n }),\n\n computed: {\n computedHeight (): number {\n const height = this.computedContentHeight\n\n if (!this.isExtended) return height\n\n const extensionHeight = parseInt(this.extensionHeight)\n\n return this.isCollapsed\n ? height\n : height + (!isNaN(extensionHeight) ? extensionHeight : 0)\n },\n computedContentHeight (): number {\n if (this.height) return parseInt(this.height)\n if (this.isProminent && this.dense) return 96\n if (this.isProminent && this.short) return 112\n if (this.isProminent) return 128\n if (this.dense) return 48\n if (this.short || this.$vuetify.breakpoint.smAndDown) return 56\n return 64\n },\n classes (): object {\n return {\n ...VSheet.options.computed.classes.call(this),\n 'v-toolbar': true,\n 'v-toolbar--absolute': this.absolute,\n 'v-toolbar--bottom': this.bottom,\n 'v-toolbar--collapse': this.collapse,\n 'v-toolbar--collapsed': this.isCollapsed,\n 'v-toolbar--dense': this.dense,\n 'v-toolbar--extended': this.isExtended,\n 'v-toolbar--flat': this.flat,\n 'v-toolbar--floating': this.floating,\n 'v-toolbar--prominent': this.isProminent,\n }\n },\n isCollapsed (): boolean {\n return this.collapse\n },\n isProminent (): boolean {\n return this.prominent\n },\n styles (): object {\n return {\n ...this.measurableStyles,\n height: convertToUnit(this.computedHeight),\n }\n },\n },\n\n created () {\n const breakingProps = [\n ['app', '<v-app-bar app>'],\n ['manual-scroll', '<v-app-bar :value=\"false\">'],\n ['clipped-left', '<v-app-bar clipped-left>'],\n ['clipped-right', '<v-app-bar clipped-right>'],\n ['inverted-scroll', '<v-app-bar inverted-scroll>'],\n ['scroll-off-screen', '<v-app-bar scroll-off-screen>'],\n ['scroll-target', '<v-app-bar scroll-target>'],\n ['scroll-threshold', '<v-app-bar scroll-threshold>'],\n ['card', '<v-app-bar flat>'],\n ]\n\n /* istanbul ignore next */\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n })\n },\n\n methods: {\n genBackground () {\n const props = {\n height: convertToUnit(this.computedHeight),\n src: this.src,\n }\n\n const image = this.$scopedSlots.img\n ? this.$scopedSlots.img({ props })\n : this.$createElement(VImg, { props })\n\n return this.$createElement('div', {\n staticClass: 'v-toolbar__image',\n }, [image])\n },\n genContent () {\n return this.$createElement('div', {\n staticClass: 'v-toolbar__content',\n style: {\n height: convertToUnit(this.computedContentHeight),\n },\n }, getSlot(this))\n },\n genExtension () {\n return this.$createElement('div', {\n staticClass: 'v-toolbar__extension',\n style: {\n height: convertToUnit(this.extensionHeight),\n },\n }, getSlot(this, 'extension'))\n },\n },\n\n render (h): VNode {\n this.isExtended = this.extended || !!this.$scopedSlots.extension\n\n const children = [this.genContent()]\n const data = this.setBackgroundColor(this.color, {\n class: this.classes,\n style: this.styles,\n on: this.$listeners,\n })\n\n if (this.isExtended) children.push(this.genExtension())\n if (this.src || this.$scopedSlots.img) children.unshift(this.genBackground())\n\n return h(this.tag, data, children)\n },\n})\n","// Components\nimport VToolbar from './VToolbar'\n\n// Utilities\nimport { createSimpleFunctional } from '../../util/helpers'\n\nconst VToolbarTitle = createSimpleFunctional('v-toolbar__title')\nconst VToolbarItems = createSimpleFunctional('v-toolbar__items')\n\nexport {\n VToolbar,\n VToolbarItems,\n VToolbarTitle,\n}\n\nexport default {\n $_vuetify_subcomponents: {\n VToolbar,\n VToolbarItems,\n VToolbarTitle,\n },\n}\n","// extracted by mini-css-extract-plugin","import './VTooltip.sass'\n\n// Mixins\nimport Activatable from '../../mixins/activatable'\nimport Colorable from '../../mixins/colorable'\nimport Delayable from '../../mixins/delayable'\nimport Dependent from '../../mixins/dependent'\nimport Detachable from '../../mixins/detachable'\nimport Menuable from '../../mixins/menuable'\nimport Toggleable from '../../mixins/toggleable'\n\n// Helpers\nimport { convertToUnit, keyCodes, getSlotType } from '../../util/helpers'\nimport { consoleError } from '../../util/console'\n\n// Types\nimport { VNode } from 'vue'\nimport mixins from '../../util/mixins'\n\n/* @vue/component */\nexport default mixins(Colorable, Delayable, Dependent, Detachable, Menuable, Toggleable).extend({\n name: 'v-tooltip',\n\n props: {\n closeDelay: {\n type: [Number, String],\n default: 0,\n },\n disabled: Boolean,\n fixed: {\n type: Boolean,\n default: true,\n },\n openDelay: {\n type: [Number, String],\n default: 0,\n },\n openOnHover: {\n type: Boolean,\n default: true,\n },\n tag: {\n type: String,\n default: 'span',\n },\n transition: String,\n zIndex: {\n default: null,\n },\n },\n\n data: () => ({\n calculatedMinWidth: 0,\n closeDependents: false,\n }),\n\n computed: {\n calculatedLeft (): string {\n const { activator, content } = this.dimensions\n const unknown = !this.bottom && !this.left && !this.top && !this.right\n const activatorLeft = this.attach !== false ? activator.offsetLeft : activator.left\n let left = 0\n\n if (this.top || this.bottom || unknown) {\n left = (\n activatorLeft +\n (activator.width / 2) -\n (content.width / 2)\n )\n } else if (this.left || this.right) {\n left = (\n activatorLeft +\n (this.right ? activator.width : -content.width) +\n (this.right ? 10 : -10)\n )\n }\n\n if (this.nudgeLeft) left -= parseInt(this.nudgeLeft)\n if (this.nudgeRight) left += parseInt(this.nudgeRight)\n\n return `${this.calcXOverflow(left, this.dimensions.content.width)}px`\n },\n calculatedTop (): string {\n const { activator, content } = this.dimensions\n const activatorTop = this.attach !== false ? activator.offsetTop : activator.top\n let top = 0\n\n if (this.top || this.bottom) {\n top = (\n activatorTop +\n (this.bottom ? activator.height : -content.height) +\n (this.bottom ? 10 : -10)\n )\n } else if (this.left || this.right) {\n top = (\n activatorTop +\n (activator.height / 2) -\n (content.height / 2)\n )\n }\n\n if (this.nudgeTop) top -= parseInt(this.nudgeTop)\n if (this.nudgeBottom) top += parseInt(this.nudgeBottom)\n\n return `${this.calcYOverflow(top + this.pageYOffset)}px`\n },\n classes (): object {\n return {\n 'v-tooltip--top': this.top,\n 'v-tooltip--right': this.right,\n 'v-tooltip--bottom': this.bottom,\n 'v-tooltip--left': this.left,\n 'v-tooltip--attached':\n this.attach === '' ||\n this.attach === true ||\n this.attach === 'attach',\n }\n },\n computedTransition (): string {\n if (this.transition) return this.transition\n\n return this.isActive ? 'scale-transition' : 'fade-transition'\n },\n offsetY (): boolean {\n return this.top || this.bottom\n },\n offsetX (): boolean {\n return this.left || this.right\n },\n styles (): object {\n return {\n left: this.calculatedLeft,\n maxWidth: convertToUnit(this.maxWidth),\n minWidth: convertToUnit(this.minWidth),\n opacity: this.isActive ? 0.9 : 0,\n top: this.calculatedTop,\n zIndex: this.zIndex || this.activeZIndex,\n }\n },\n },\n\n beforeMount () {\n this.$nextTick(() => {\n this.value && this.callActivate()\n })\n },\n\n mounted () {\n if (getSlotType(this, 'activator', true) === 'v-slot') {\n consoleError(`v-tooltip's activator slot must be bound, try '<template #activator=\"data\"><v-btn v-on=\"data.on>'`, this)\n }\n },\n\n methods: {\n activate () {\n // Update coordinates and dimensions of menu\n // and its activator\n this.updateDimensions()\n // Start the transition\n requestAnimationFrame(this.startTransition)\n },\n deactivate () {\n this.runDelay('close')\n },\n genActivatorListeners () {\n const listeners = Activatable.options.methods.genActivatorListeners.call(this)\n\n listeners.focus = (e: Event) => {\n this.getActivator(e)\n this.runDelay('open')\n }\n listeners.blur = (e: Event) => {\n this.getActivator(e)\n this.runDelay('close')\n }\n listeners.keydown = (e: KeyboardEvent) => {\n if (e.keyCode === keyCodes.esc) {\n this.getActivator(e)\n this.runDelay('close')\n }\n }\n\n return listeners\n },\n },\n\n render (h): VNode {\n const tooltip = h('div', this.setBackgroundColor(this.color, {\n staticClass: 'v-tooltip__content',\n class: {\n [this.contentClass]: true,\n menuable__content__active: this.isActive,\n 'v-tooltip__content--fixed': this.activatorFixed,\n },\n style: this.styles,\n attrs: this.getScopeIdAttrs(),\n directives: [{\n name: 'show',\n value: this.isContentActive,\n }],\n ref: 'content',\n }), this.showLazyContent(this.getContentSlot()))\n\n return h(this.tag, {\n staticClass: 'v-tooltip',\n class: this.classes,\n }, [\n h('transition', {\n props: {\n name: this.computedTransition,\n },\n }, [tooltip]),\n this.genActivator(),\n ])\n },\n})\n","import VTooltip from './VTooltip'\n\nexport { VTooltip }\nexport default VTooltip\n","// extracted by mini-css-extract-plugin","// Styles\nimport './VTreeview.sass'\n\n// Types\nimport { VNode, VNodeChildrenArrayContents } from 'vue'\nimport { PropValidator } from 'vue/types/options'\n\n// Components\nimport VTreeviewNode, { VTreeviewNodeProps } from './VTreeviewNode'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\nimport { provide as RegistrableProvide } from '../../mixins/registrable'\n\n// Utils\nimport {\n arrayDiff,\n deepEqual,\n getObjectValueByPath,\n} from '../../util/helpers'\nimport mixins from '../../util/mixins'\nimport { consoleWarn } from '../../util/console'\nimport {\n filterTreeItems,\n FilterTreeItemFunction,\n filterTreeItem,\n} from './util/filterTreeItems'\n\ntype VTreeviewNodeInstance = InstanceType<typeof VTreeviewNode>\n\ntype NodeCache = Set<string | number>\ntype NodeArray = (string | number)[]\n\ntype NodeState = {\n parent: number | string | null\n children: (number | string)[]\n vnode: VTreeviewNodeInstance | null\n isActive: boolean\n isSelected: boolean\n isIndeterminate: boolean\n isOpen: boolean\n item: any\n}\n\nexport default mixins(\n RegistrableProvide('treeview'),\n Themeable\n /* @vue/component */\n).extend({\n name: 'v-treeview',\n\n provide (): object {\n return { treeview: this }\n },\n\n props: {\n active: {\n type: Array,\n default: () => ([]),\n } as PropValidator<NodeArray>,\n dense: Boolean,\n filter: Function as PropValidator<FilterTreeItemFunction>,\n hoverable: Boolean,\n items: {\n type: Array,\n default: () => ([]),\n } as PropValidator<any[]>,\n multipleActive: Boolean,\n open: {\n type: Array,\n default: () => ([]),\n } as PropValidator<NodeArray>,\n openAll: Boolean,\n returnObject: {\n type: Boolean,\n default: false, // TODO: Should be true in next major\n },\n search: String,\n selectionType: {\n type: String,\n default: 'leaf',\n validator: (v: string) => ['leaf', 'independent'].includes(v),\n } as PropValidator<'leaf' | 'independent'>,\n value: {\n type: Array,\n default: () => ([]),\n } as PropValidator<NodeArray>,\n ...VTreeviewNodeProps,\n },\n\n data: () => ({\n activeCache: new Set() as NodeCache,\n nodes: {} as Record<string | number, NodeState>,\n openCache: new Set() as NodeCache,\n selectedCache: new Set() as NodeCache,\n }),\n\n computed: {\n excludedItems (): Set<string | number> {\n const excluded = new Set<string|number>()\n\n if (!this.search) return excluded\n\n for (let i = 0; i < this.items.length; i++) {\n filterTreeItems(\n this.filter || filterTreeItem,\n this.items[i],\n this.search,\n this.itemKey,\n this.itemText,\n this.itemChildren,\n excluded\n )\n }\n\n return excluded\n },\n },\n\n watch: {\n items: {\n handler () {\n const oldKeys = Object.keys(this.nodes).map(k => getObjectValueByPath(this.nodes[k].item, this.itemKey))\n const newKeys = this.getKeys(this.items)\n const diff = arrayDiff(newKeys, oldKeys)\n\n // We only want to do stuff if items have changed\n if (!diff.length && newKeys.length < oldKeys.length) return\n\n // If nodes are removed we need to clear them from this.nodes\n diff.forEach(k => delete this.nodes[k])\n\n const oldSelectedCache = [...this.selectedCache]\n this.selectedCache = new Set()\n this.activeCache = new Set()\n this.openCache = new Set()\n this.buildTree(this.items)\n\n // Only emit selected if selection has changed\n // as a result of items changing. This fixes a\n // potential double emit when selecting a node\n // with dynamic children\n if (!deepEqual(oldSelectedCache, [...this.selectedCache])) this.emitSelected()\n },\n deep: true,\n },\n active (value: (string | number | any)[]) {\n this.handleNodeCacheWatcher(value, this.activeCache, this.updateActive, this.emitActive)\n },\n value (value: (string | number | any)[]) {\n this.handleNodeCacheWatcher(value, this.selectedCache, this.updateSelected, this.emitSelected)\n },\n open (value: (string | number | any)[]) {\n this.handleNodeCacheWatcher(value, this.openCache, this.updateOpen, this.emitOpen)\n },\n },\n\n created () {\n this.buildTree(this.items)\n this.value.forEach(key => this.updateSelected(key, true))\n this.active.forEach(key => this.updateActive(key, true))\n },\n\n mounted () {\n // Save the developer from themselves\n if (this.$slots.prepend || this.$slots.append) {\n consoleWarn('The prepend and append slots require a slot-scope attribute', this)\n }\n\n if (this.openAll) {\n this.updateAll(true)\n } else {\n this.open.forEach(key => this.updateOpen(key, true))\n this.emitOpen()\n }\n },\n\n methods: {\n /** @public */\n updateAll (value: boolean) {\n Object.keys(this.nodes).forEach(key => this.updateOpen(getObjectValueByPath(this.nodes[key].item, this.itemKey), value))\n this.emitOpen()\n },\n getKeys (items: any[], keys: any[] = []) {\n for (let i = 0; i < items.length; i++) {\n const key = getObjectValueByPath(items[i], this.itemKey)\n keys.push(key)\n const children = getObjectValueByPath(items[i], this.itemChildren)\n if (children) {\n keys.push(...this.getKeys(children))\n }\n }\n\n return keys\n },\n buildTree (items: any[], parent: (string | number | null) = null) {\n for (let i = 0; i < items.length; i++) {\n const item = items[i]\n const key = getObjectValueByPath(item, this.itemKey)\n const children = getObjectValueByPath(item, this.itemChildren, [])\n const oldNode = this.nodes.hasOwnProperty(key) ? this.nodes[key] : {\n isSelected: false, isIndeterminate: false, isActive: false, isOpen: false, vnode: null,\n } as NodeState\n\n const node: any = {\n vnode: oldNode.vnode,\n parent,\n children: children.map((c: any) => getObjectValueByPath(c, this.itemKey)),\n item,\n }\n\n this.buildTree(children, key)\n\n // This fixed bug with dynamic children resetting selected parent state\n if (!this.nodes.hasOwnProperty(key) && parent !== null && this.nodes.hasOwnProperty(parent)) {\n node.isSelected = this.nodes[parent].isSelected\n node.isIndeterminate = this.nodes[parent].isIndeterminate\n } else {\n node.isSelected = oldNode.isSelected\n node.isIndeterminate = oldNode.isIndeterminate\n }\n\n node.isActive = oldNode.isActive\n node.isOpen = oldNode.isOpen\n\n this.nodes[key] = !children.length ? node : this.calculateState(node, this.nodes)\n\n // Don't forget to rebuild cache\n if (this.nodes[key].isSelected) this.selectedCache.add(key)\n if (this.nodes[key].isActive) this.activeCache.add(key)\n if (this.nodes[key].isOpen) this.openCache.add(key)\n\n this.updateVnodeState(key)\n }\n },\n calculateState (node: NodeState, state: Record<string | number, NodeState>) {\n const counts = node.children.reduce((counts: number[], child: string | number) => {\n counts[0] += +Boolean(state[child].isSelected)\n counts[1] += +Boolean(state[child].isIndeterminate)\n return counts\n }, [0, 0])\n\n node.isSelected = !!node.children.length && counts[0] === node.children.length\n node.isIndeterminate = !node.isSelected && (counts[0] > 0 || counts[1] > 0)\n\n return node\n },\n emitOpen () {\n this.emitNodeCache('update:open', this.openCache)\n },\n emitSelected () {\n this.emitNodeCache('input', this.selectedCache)\n },\n emitActive () {\n this.emitNodeCache('update:active', this.activeCache)\n },\n emitNodeCache (event: string, cache: NodeCache) {\n this.$emit(event, this.returnObject ? [...cache].map(key => this.nodes[key].item) : [...cache])\n },\n handleNodeCacheWatcher (value: any[], cache: NodeCache, updateFn: Function, emitFn: Function) {\n value = this.returnObject ? value.map(v => getObjectValueByPath(v, this.itemKey)) : value\n const old = [...cache]\n if (deepEqual(old, value)) return\n\n old.forEach(key => updateFn(key, false))\n value.forEach(key => updateFn(key, true))\n\n emitFn()\n },\n getDescendants (key: string | number, descendants: NodeArray = []) {\n const children = this.nodes[key].children\n\n descendants.push(...children)\n\n for (let i = 0; i < children.length; i++) {\n descendants = this.getDescendants(children[i], descendants)\n }\n\n return descendants\n },\n getParents (key: string | number) {\n let parent = this.nodes[key].parent\n\n const parents = []\n while (parent !== null) {\n parents.push(parent)\n parent = this.nodes[parent].parent\n }\n\n return parents\n },\n register (node: VTreeviewNodeInstance) {\n const key = getObjectValueByPath(node.item, this.itemKey)\n this.nodes[key].vnode = node\n\n this.updateVnodeState(key)\n },\n unregister (node: VTreeviewNodeInstance) {\n const key = getObjectValueByPath(node.item, this.itemKey)\n if (this.nodes[key]) this.nodes[key].vnode = null\n },\n isParent (key: string | number) {\n return this.nodes[key].children && this.nodes[key].children.length\n },\n updateActive (key: string | number, isActive: boolean) {\n if (!this.nodes.hasOwnProperty(key)) return\n\n if (!this.multipleActive) {\n this.activeCache.forEach(active => {\n this.nodes[active].isActive = false\n this.updateVnodeState(active)\n this.activeCache.delete(active)\n })\n }\n\n const node = this.nodes[key]\n if (!node) return\n\n if (isActive) this.activeCache.add(key)\n else this.activeCache.delete(key)\n\n node.isActive = isActive\n\n this.updateVnodeState(key)\n },\n updateSelected (key: string | number, isSelected: boolean) {\n if (!this.nodes.hasOwnProperty(key)) return\n\n const changed = new Map()\n\n if (this.selectionType !== 'independent') {\n const descendants = [key, ...this.getDescendants(key)]\n descendants.forEach(descendant => {\n this.nodes[descendant].isSelected = isSelected\n this.nodes[descendant].isIndeterminate = false\n changed.set(descendant, isSelected)\n })\n\n const parents = this.getParents(key)\n parents.forEach(parent => {\n this.nodes[parent] = this.calculateState(this.nodes[parent], this.nodes)\n changed.set(parent, this.nodes[parent].isSelected)\n })\n } else {\n this.nodes[key].isSelected = isSelected\n this.nodes[key].isIndeterminate = false\n changed.set(key, isSelected)\n }\n\n for (const [key, value] of changed.entries()) {\n this.updateVnodeState(key)\n\n if (this.selectionType === 'leaf' && this.isParent(key)) continue\n\n value === true ? this.selectedCache.add(key) : this.selectedCache.delete(key)\n }\n },\n updateOpen (key: string | number, isOpen: boolean) {\n if (!this.nodes.hasOwnProperty(key)) return\n\n const node = this.nodes[key]\n const children = getObjectValueByPath(node.item, this.itemChildren)\n\n if (children && !children.length && node.vnode && !node.vnode.hasLoaded) {\n node.vnode.checkChildren().then(() => this.updateOpen(key, isOpen))\n } else if (children && children.length) {\n node.isOpen = isOpen\n\n node.isOpen ? this.openCache.add(key) : this.openCache.delete(key)\n\n this.updateVnodeState(key)\n }\n },\n updateVnodeState (key: string | number) {\n const node = this.nodes[key]\n\n if (node && node.vnode) {\n node.vnode.isSelected = node.isSelected\n node.vnode.isIndeterminate = node.isIndeterminate\n node.vnode.isActive = node.isActive\n node.vnode.isOpen = node.isOpen\n }\n },\n isExcluded (key: string | number) {\n return !!this.search && this.excludedItems.has(key)\n },\n },\n\n render (h): VNode {\n const children: VNodeChildrenArrayContents = this.items.length\n ? this.items.map(VTreeviewNode.options.methods.genChild.bind(this))\n /* istanbul ignore next */\n : this.$slots.default! // TODO: remove type annotation with TS 3.2\n\n return h('div', {\n staticClass: 'v-treeview',\n class: {\n 'v-treeview--hoverable': this.hoverable,\n 'v-treeview--dense': this.dense,\n ...this.themeClasses,\n },\n }, children)\n },\n})\n","// Components\nimport { VExpandTransition } from '../transitions'\nimport { VIcon } from '../VIcon'\nimport VTreeview from './VTreeview'\nimport VTreeviewNode from './VTreeviewNode'\n\n// Mixins\nimport { inject as RegistrableInject } from '../../mixins/registrable'\nimport Colorable from '../../mixins/colorable'\n\n// Utils\nimport mixins, { ExtractVue } from '../../util/mixins'\nimport { getObjectValueByPath } from '../../util/helpers'\nimport { PropValidator } from 'vue/types/options'\n\n// Types\nimport { VNode } from 'vue'\n\ntype VTreeViewInstance = InstanceType<typeof VTreeview>\n\nconst baseMixins = mixins(\n Colorable,\n RegistrableInject('treeview')\n)\n\ninterface options extends ExtractVue<typeof baseMixins> {\n treeview: VTreeViewInstance\n}\n\nexport const VTreeviewNodeProps = {\n activatable: Boolean,\n activeClass: {\n type: String,\n default: 'v-treeview-node--active',\n },\n color: {\n type: String,\n default: 'primary',\n },\n expandIcon: {\n type: String,\n default: '$subgroup',\n },\n indeterminateIcon: {\n type: String,\n default: '$checkboxIndeterminate',\n },\n itemChildren: {\n type: String,\n default: 'children',\n },\n itemDisabled: {\n type: String,\n default: 'disabled',\n },\n itemKey: {\n type: String,\n default: 'id',\n },\n itemText: {\n type: String,\n default: 'name',\n },\n loadChildren: Function as PropValidator<(item: any) => Promise<void>>,\n loadingIcon: {\n type: String,\n default: '$loading',\n },\n offIcon: {\n type: String,\n default: '$checkboxOff',\n },\n onIcon: {\n type: String,\n default: '$checkboxOn',\n },\n openOnClick: Boolean,\n rounded: Boolean,\n selectable: Boolean,\n selectedColor: {\n type: String,\n default: 'accent',\n },\n shaped: Boolean,\n transition: Boolean,\n}\n\n/* @vue/component */\nexport default baseMixins.extend<options>().extend({\n name: 'v-treeview-node',\n\n inject: {\n treeview: {\n default: null,\n },\n },\n\n props: {\n item: {\n type: Object,\n default: () => null,\n },\n ...VTreeviewNodeProps,\n },\n\n data: () => ({\n hasLoaded: false,\n isActive: false, // Node is selected (row)\n isIndeterminate: false, // Node has at least one selected child\n isLoading: false,\n isOpen: false, // Node is open/expanded\n isSelected: false, // Node is selected (checkbox)\n }),\n\n computed: {\n disabled (): string {\n return getObjectValueByPath(this.item, this.itemDisabled)\n },\n key (): string {\n return getObjectValueByPath(this.item, this.itemKey)\n },\n children (): any[] | null {\n return getObjectValueByPath(this.item, this.itemChildren)\n },\n text (): string {\n return getObjectValueByPath(this.item, this.itemText)\n },\n scopedProps (): object {\n return {\n item: this.item,\n leaf: !this.children,\n selected: this.isSelected,\n indeterminate: this.isIndeterminate,\n active: this.isActive,\n open: this.isOpen,\n }\n },\n computedIcon (): string {\n if (this.isIndeterminate) return this.indeterminateIcon\n else if (this.isSelected) return this.onIcon\n else return this.offIcon\n },\n hasChildren (): boolean {\n return !!this.children && (!!this.children.length || !!this.loadChildren)\n },\n },\n\n created () {\n this.treeview.register(this)\n },\n\n beforeDestroy () {\n this.treeview.unregister(this)\n },\n\n methods: {\n checkChildren (): Promise<void> {\n return new Promise<void>(resolve => {\n // TODO: Potential issue with always trying\n // to load children if response is empty?\n if (!this.children || this.children.length || !this.loadChildren || this.hasLoaded) return resolve()\n\n this.isLoading = true\n resolve(this.loadChildren(this.item))\n }).then(() => {\n this.isLoading = false\n this.hasLoaded = true\n })\n },\n open () {\n this.isOpen = !this.isOpen\n this.treeview.updateOpen(this.key, this.isOpen)\n this.treeview.emitOpen()\n },\n genLabel () {\n const children = []\n\n if (this.$scopedSlots.label) children.push(this.$scopedSlots.label(this.scopedProps))\n else children.push(this.text)\n\n return this.$createElement('div', {\n slot: 'label',\n staticClass: 'v-treeview-node__label',\n }, children)\n },\n genContent () {\n const children = [\n this.$scopedSlots.prepend && this.$scopedSlots.prepend(this.scopedProps),\n this.genLabel(),\n this.$scopedSlots.append && this.$scopedSlots.append(this.scopedProps),\n ]\n\n return this.$createElement('div', {\n staticClass: 'v-treeview-node__content',\n }, children)\n },\n genToggle () {\n return this.$createElement(VIcon, {\n staticClass: 'v-treeview-node__toggle',\n class: {\n 'v-treeview-node__toggle--open': this.isOpen,\n 'v-treeview-node__toggle--loading': this.isLoading,\n },\n slot: 'prepend',\n on: {\n click: (e: MouseEvent) => {\n if (this.disabled) return\n\n e.stopPropagation()\n\n if (this.isLoading) return\n\n this.checkChildren().then(() => this.open())\n },\n },\n }, [this.isLoading ? this.loadingIcon : this.expandIcon])\n },\n genCheckbox () {\n return this.$createElement(VIcon, {\n staticClass: 'v-treeview-node__checkbox',\n props: {\n color: this.isSelected ? this.selectedColor : undefined,\n },\n on: {\n click: (e: MouseEvent) => {\n if (this.disabled) return\n\n e.stopPropagation()\n\n if (this.isLoading) return\n\n this.checkChildren().then(() => {\n // We nextTick here so that items watch in VTreeview has a chance to run first\n this.$nextTick(() => {\n this.isSelected = !this.isSelected\n this.isIndeterminate = false\n\n this.treeview.updateSelected(this.key, this.isSelected)\n this.treeview.emitSelected()\n })\n })\n },\n },\n }, [this.computedIcon])\n },\n genNode (): VNode {\n const children = [this.genContent()]\n\n if (this.selectable) children.unshift(this.genCheckbox())\n if (this.hasChildren) children.unshift(this.genToggle())\n\n return this.$createElement('div', this.setTextColor(this.isActive && this.color, {\n staticClass: 'v-treeview-node__root',\n class: {\n [this.activeClass]: this.isActive,\n },\n on: {\n click: () => {\n if (this.disabled) return\n\n if (this.openOnClick && this.hasChildren) {\n this.open()\n } else if (this.activatable) {\n this.isActive = !this.isActive\n this.treeview.updateActive(this.key, this.isActive)\n this.treeview.emitActive()\n }\n },\n },\n }), children)\n },\n genChild (item: any): VNode {\n return this.$createElement(VTreeviewNode, {\n key: getObjectValueByPath(item, this.itemKey),\n props: {\n activatable: this.activatable,\n activeClass: this.activeClass,\n item,\n selectable: this.selectable,\n selectedColor: this.selectedColor,\n color: this.color,\n expandIcon: this.expandIcon,\n indeterminateIcon: this.indeterminateIcon,\n offIcon: this.offIcon,\n onIcon: this.onIcon,\n loadingIcon: this.loadingIcon,\n itemKey: this.itemKey,\n itemText: this.itemText,\n itemDisabled: this.itemDisabled,\n itemChildren: this.itemChildren,\n loadChildren: this.loadChildren,\n transition: this.transition,\n openOnClick: this.openOnClick,\n rounded: this.rounded,\n shaped: this.shaped,\n },\n scopedSlots: this.$scopedSlots,\n })\n },\n genChildrenWrapper (): any {\n if (!this.isOpen || !this.children) return null\n\n const children = [this.children.map(this.genChild)]\n\n return this.$createElement('div', {\n staticClass: 'v-treeview-node__children',\n }, children)\n },\n genTransition () {\n return this.$createElement(VExpandTransition, [this.genChildrenWrapper()])\n },\n },\n\n render (h): VNode {\n const children = [this.genNode()]\n\n if (this.transition) children.push(this.genTransition())\n else children.push(this.genChildrenWrapper())\n\n return h('div', {\n staticClass: 'v-treeview-node',\n class: {\n 'v-treeview-node--leaf': !this.hasChildren,\n 'v-treeview-node--click': this.openOnClick,\n 'v-treeview-node--disabled': this.disabled,\n 'v-treeview-node--rounded': this.rounded,\n 'v-treeview-node--shaped': this.shaped,\n 'v-treeview-node--selected': this.isSelected,\n 'v-treeview-node--excluded': this.treeview.isExcluded(this.key),\n },\n attrs: {\n 'aria-expanded': String(this.isOpen),\n },\n }, children)\n },\n})\n","import VTreeview from './VTreeview'\nimport VTreeviewNode from './VTreeviewNode'\n\nexport { VTreeview, VTreeviewNode }\n\nexport default {\n $_vuetify_subcomponents: {\n VTreeview,\n VTreeviewNode,\n },\n}\n","import { getObjectValueByPath } from '../../../util/helpers'\n\nexport type FilterTreeItemFunction = (item: object, search: string, textKey: string) => boolean\n\nexport function filterTreeItem (item: object, search: string, textKey: string): boolean {\n const text = getObjectValueByPath(item, textKey)\n\n return text.toLocaleLowerCase().indexOf(search.toLocaleLowerCase()) > -1\n}\n\nexport function filterTreeItems (\n filter: FilterTreeItemFunction,\n item: any,\n search: string,\n idKey: string,\n textKey: string,\n childrenKey: string,\n excluded: Set<string | number>\n): boolean {\n if (filter(item, search, textKey)) {\n return true\n }\n\n const children = getObjectValueByPath(item, childrenKey)\n\n if (children) {\n let match = false\n for (let i = 0; i < children.length; i++) {\n if (filterTreeItems(filter, children[i], search, idKey, textKey, childrenKey, excluded)) {\n match = true\n }\n }\n\n if (match) return true\n }\n\n excluded.add(getObjectValueByPath(item, idKey))\n\n return false\n}\n","// extracted by mini-css-extract-plugin","// Styles\nimport './VWindow.sass'\n\n// Components\nimport VBtn from '../VBtn'\nimport VIcon from '../VIcon'\nimport { BaseItemGroup } from '../VItemGroup/VItemGroup'\n\n// Directives\nimport Touch from '../../directives/touch'\n\n// Types\nimport { VNode, VNodeDirective } from 'vue/types/vnode'\n\n/* @vue/component */\nexport default BaseItemGroup.extend({\n name: 'v-window',\n\n provide (): object {\n return {\n windowGroup: this,\n }\n },\n\n directives: { Touch },\n\n props: {\n activeClass: {\n type: String,\n default: 'v-window-item--active',\n },\n continuous: Boolean,\n mandatory: {\n type: Boolean,\n default: true,\n },\n nextIcon: {\n type: [Boolean, String],\n default: '$next',\n },\n prevIcon: {\n type: [Boolean, String],\n default: '$prev',\n },\n reverse: {\n type: Boolean,\n default: undefined,\n },\n showArrows: Boolean,\n showArrowsOnHover: Boolean,\n touch: Object,\n touchless: Boolean,\n value: {\n required: false,\n },\n vertical: Boolean,\n },\n\n data () {\n return {\n changedByDelimiters: false,\n internalHeight: undefined as undefined | string, // This can be fixed by child class.\n transitionHeight: undefined as undefined | string, // Intermediate height during transition.\n transitionCount: 0, // Number of windows in transition state.\n isBooted: false,\n isReverse: false,\n }\n },\n\n computed: {\n isActive (): boolean {\n return this.transitionCount > 0\n },\n classes (): object {\n return {\n ...BaseItemGroup.options.computed.classes.call(this),\n 'v-window--show-arrows-on-hover': this.showArrowsOnHover,\n }\n },\n computedTransition (): string {\n if (!this.isBooted) return ''\n\n const axis = this.vertical ? 'y' : 'x'\n const direction = this.internalReverse ? '-reverse' : ''\n\n return `v-window-${axis}${direction}-transition`\n },\n hasActiveItems (): boolean {\n return Boolean(\n this.items.find(item => !item.disabled)\n )\n },\n hasNext (): boolean {\n return this.continuous || this.internalIndex < this.items.length - 1\n },\n hasPrev (): boolean {\n return this.continuous || this.internalIndex > 0\n },\n internalIndex (): number {\n return this.items.findIndex((item, i) => {\n return this.internalValue === this.getValue(item, i)\n })\n },\n internalReverse (): boolean {\n if (this.reverse !== undefined) return this.reverse\n\n return this.isReverse\n },\n },\n\n watch: {\n internalIndex: 'updateReverse',\n },\n\n mounted () {\n window.requestAnimationFrame(() => (this.isBooted = true))\n },\n\n methods: {\n genContainer (): VNode {\n const children = [this.$slots.default]\n\n if (this.showArrows) {\n children.push(this.genControlIcons())\n }\n\n return this.$createElement('div', {\n staticClass: 'v-window__container',\n class: {\n 'v-window__container--is-active': this.isActive,\n },\n style: {\n height: this.internalHeight || this.transitionHeight,\n },\n }, children)\n },\n genIcon (\n direction: 'prev' | 'next',\n icon: string,\n fn: () => void\n ) {\n return this.$createElement('div', {\n staticClass: `v-window__${direction}`,\n }, [\n this.$createElement(VBtn, {\n props: { icon: true },\n attrs: {\n 'aria-label': this.$vuetify.lang.t(`$vuetify.carousel.${direction}`),\n },\n on: {\n click: () => {\n this.changedByDelimiters = true\n fn()\n },\n },\n }, [\n this.$createElement(VIcon, {\n props: { large: true },\n }, icon),\n ]),\n ])\n },\n genControlIcons () {\n const icons = []\n\n const prevIcon = this.$vuetify.rtl\n ? this.nextIcon\n : this.prevIcon\n\n /* istanbul ignore else */\n if (\n this.hasPrev &&\n prevIcon &&\n typeof prevIcon === 'string'\n ) {\n const icon = this.genIcon('prev', prevIcon, this.prev)\n icon && icons.push(icon)\n }\n\n const nextIcon = this.$vuetify.rtl\n ? this.prevIcon\n : this.nextIcon\n\n /* istanbul ignore else */\n if (\n this.hasNext &&\n nextIcon &&\n typeof nextIcon === 'string'\n ) {\n const icon = this.genIcon('next', nextIcon, this.next)\n icon && icons.push(icon)\n }\n\n return icons\n },\n getNextIndex (index: number): number {\n const nextIndex = (index + 1) % this.items.length\n const item = this.items[nextIndex]\n\n if (item.disabled) return this.getNextIndex(nextIndex)\n\n return nextIndex\n },\n getPrevIndex (index: number): number {\n const prevIndex = (index + this.items.length - 1) % this.items.length\n const item = this.items[prevIndex]\n\n if (item.disabled) return this.getPrevIndex(prevIndex)\n\n return prevIndex\n },\n next () {\n this.isReverse = this.$vuetify.rtl\n\n /* istanbul ignore if */\n if (!this.hasActiveItems || !this.hasNext) return\n\n const nextIndex = this.getNextIndex(this.internalIndex)\n const item = this.items[nextIndex]\n\n this.internalValue = this.getValue(item, nextIndex)\n },\n prev () {\n this.isReverse = !this.$vuetify.rtl\n\n /* istanbul ignore if */\n if (!this.hasActiveItems || !this.hasPrev) return\n\n const lastIndex = this.getPrevIndex(this.internalIndex)\n const item = this.items[lastIndex]\n\n this.internalValue = this.getValue(item, lastIndex)\n },\n updateReverse (val: number, oldVal: number) {\n if (this.changedByDelimiters) {\n this.changedByDelimiters = false\n return\n }\n\n this.isReverse = val < oldVal\n },\n },\n\n render (h): VNode {\n const data = {\n staticClass: 'v-window',\n class: this.classes,\n directives: [] as VNodeDirective[],\n }\n\n if (!this.touchless) {\n const value = this.touch || {\n left: () => {\n this.$vuetify.rtl ? this.prev() : this.next()\n },\n right: () => {\n this.$vuetify.rtl ? this.next() : this.prev()\n },\n end: (e: TouchEvent) => {\n e.stopPropagation()\n },\n start: (e: TouchEvent) => {\n e.stopPropagation()\n },\n }\n\n data.directives.push({\n name: 'touch',\n value,\n })\n }\n\n return h('div', data, [this.genContainer()])\n },\n})\n","// Components\nimport VWindow from './VWindow'\n\n// Mixins\nimport Bootable from '../../mixins/bootable'\nimport { factory as GroupableFactory } from '../../mixins/groupable'\n\n// Directives\nimport Touch from '../../directives/touch'\n\n// Utilities\nimport { convertToUnit } from '../../util/helpers'\nimport mixins, { ExtractVue } from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\n\nconst baseMixins = mixins(\n Bootable,\n GroupableFactory('windowGroup', 'v-window-item', 'v-window')\n)\n\ninterface options extends ExtractVue<typeof baseMixins> {\n $el: HTMLElement\n windowGroup: InstanceType<typeof VWindow>\n}\n\nexport default baseMixins.extend<options>().extend(\n /* @vue/component */\n).extend({\n name: 'v-window-item',\n\n directives: {\n Touch,\n },\n\n props: {\n disabled: Boolean,\n reverseTransition: {\n type: [Boolean, String],\n default: undefined,\n },\n transition: {\n type: [Boolean, String],\n default: undefined,\n },\n value: {\n required: false,\n },\n },\n\n data () {\n return {\n isActive: false,\n inTransition: false,\n }\n },\n\n computed: {\n classes (): object {\n return this.groupClasses\n },\n computedTransition (): string | boolean {\n if (!this.windowGroup.internalReverse) {\n return typeof this.transition !== 'undefined'\n ? this.transition || ''\n : this.windowGroup.computedTransition\n }\n\n return typeof this.reverseTransition !== 'undefined'\n ? this.reverseTransition || ''\n : this.windowGroup.computedTransition\n },\n },\n\n methods: {\n genDefaultSlot () {\n return this.$slots.default\n },\n genWindowItem () {\n return this.$createElement('div', {\n staticClass: 'v-window-item',\n class: this.classes,\n directives: [{\n name: 'show',\n value: this.isActive,\n }],\n on: this.$listeners,\n }, this.showLazyContent(this.genDefaultSlot()))\n },\n onAfterTransition () {\n if (!this.inTransition) {\n return\n }\n\n // Finalize transition state.\n this.inTransition = false\n if (this.windowGroup.transitionCount > 0) {\n this.windowGroup.transitionCount--\n\n // Remove container height if we are out of transition.\n if (this.windowGroup.transitionCount === 0) {\n this.windowGroup.transitionHeight = undefined\n }\n }\n },\n onBeforeTransition () {\n if (this.inTransition) {\n return\n }\n\n // Initialize transition state here.\n this.inTransition = true\n if (this.windowGroup.transitionCount === 0) {\n // Set initial height for height transition.\n this.windowGroup.transitionHeight = convertToUnit(this.windowGroup.$el.clientHeight)\n }\n this.windowGroup.transitionCount++\n },\n onTransitionCancelled () {\n this.onAfterTransition() // This should have the same path as normal transition end.\n },\n onEnter (el: HTMLElement) {\n if (!this.inTransition) {\n return\n }\n\n this.$nextTick(() => {\n // Do not set height if no transition or cancelled.\n if (!this.computedTransition || !this.inTransition) {\n return\n }\n\n // Set transition target height.\n this.windowGroup.transitionHeight = convertToUnit(el.clientHeight)\n })\n },\n },\n\n render (h): VNode {\n return h('transition', {\n props: {\n name: this.computedTransition,\n },\n on: {\n // Handlers for enter windows.\n beforeEnter: this.onBeforeTransition,\n afterEnter: this.onAfterTransition,\n enterCancelled: this.onTransitionCancelled,\n\n // Handlers for leave windows.\n beforeLeave: this.onBeforeTransition,\n afterLeave: this.onAfterTransition,\n leaveCancelled: this.onTransitionCancelled,\n\n // Enter handler for height transition.\n enter: this.onEnter,\n },\n }, [this.genWindowItem()])\n },\n})\n","import VWindow from './VWindow'\nimport VWindowItem from './VWindowItem'\n\nexport { VWindow, VWindowItem }\n\nexport default {\n $_vuetify_subcomponents: {\n VWindow,\n VWindowItem,\n },\n}\n","export * from './VApp'\nexport * from './VAppBar'\nexport * from './VAlert'\nexport * from './VAutocomplete'\nexport * from './VAvatar'\nexport * from './VBadge'\nexport * from './VBanner'\nexport * from './VBottomNavigation'\nexport * from './VBottomSheet'\nexport * from './VBreadcrumbs'\nexport * from './VBtn'\nexport * from './VBtnToggle'\nexport * from './VCalendar'\nexport * from './VCard'\nexport * from './VCarousel'\nexport * from './VCheckbox'\nexport * from './VChip'\nexport * from './VChipGroup'\nexport * from './VColorPicker'\nexport * from './VContent'\nexport * from './VCombobox'\nexport * from './VCounter'\nexport * from './VData'\nexport * from './VDataIterator'\nexport * from './VDataTable'\nexport * from './VDatePicker'\nexport * from './VDialog'\nexport * from './VDivider'\nexport * from './VExpansionPanel'\nexport * from './VFileInput'\nexport * from './VFooter'\nexport * from './VForm'\nexport * from './VGrid'\nexport * from './VHover'\nexport * from './VIcon'\nexport * from './VImg'\nexport * from './VInput'\nexport * from './VItemGroup'\nexport * from './VLabel'\nexport * from './VLazy'\nexport * from './VList'\nexport * from './VMenu'\nexport * from './VMessages'\nexport * from './VNavigationDrawer'\nexport * from './VOverflowBtn'\nexport * from './VOverlay'\nexport * from './VPagination'\nexport * from './VSheet'\nexport * from './VParallax'\nexport * from './VPicker'\nexport * from './VProgressCircular'\nexport * from './VProgressLinear'\nexport * from './VRadioGroup'\nexport * from './VRangeSlider'\nexport * from './VRating'\nexport * from './VResponsive'\nexport * from './VSelect'\nexport * from './VSkeletonLoader'\nexport * from './VSlider'\nexport * from './VSlideGroup'\nexport * from './VSnackbar'\nexport * from './VSparkline'\nexport * from './VSpeedDial'\nexport * from './VStepper'\nexport * from './VSubheader'\nexport * from './VSwitch'\nexport * from './VSystemBar'\nexport * from './VTabs'\nexport * from './VTextarea'\nexport * from './VTextField'\nexport * from './VTimeline'\nexport * from './VTimePicker'\nexport * from './VToolbar'\nexport * from './VTooltip'\nexport * from './VTreeview'\nexport * from './VWindow'\nexport * from './transitions'\n","import { upperFirst } from '../../util/helpers'\n\ninterface HTMLExpandElement extends HTMLElement {\n _parent?: (Node & ParentNode & HTMLElement) | null\n _initialStyle: {\n transition: string\n visibility: string | null\n overflow: string | null\n height?: string | null\n width?: string | null\n }\n}\n\nexport default function (expandedParentClass = '', x = false) {\n const sizeProperty = x ? 'width' : 'height' as 'width' | 'height'\n const offsetProperty = `offset${upperFirst(sizeProperty)}` as 'offsetHeight' | 'offsetWidth'\n\n return {\n beforeEnter (el: HTMLExpandElement) {\n el._parent = el.parentNode as (Node & ParentNode & HTMLElement) | null\n el._initialStyle = {\n transition: el.style.transition,\n visibility: el.style.visibility,\n overflow: el.style.overflow,\n [sizeProperty]: el.style[sizeProperty],\n }\n },\n\n enter (el: HTMLExpandElement) {\n const initialStyle = el._initialStyle\n const offset = `${el[offsetProperty]}px`\n\n el.style.setProperty('transition', 'none', 'important')\n el.style.visibility = 'hidden'\n el.style.visibility = initialStyle.visibility\n el.style.overflow = 'hidden'\n el.style[sizeProperty] = '0'\n\n void el.offsetHeight // force reflow\n\n el.style.transition = initialStyle.transition\n\n if (expandedParentClass && el._parent) {\n el._parent.classList.add(expandedParentClass)\n }\n\n requestAnimationFrame(() => {\n el.style[sizeProperty] = offset\n })\n },\n\n afterEnter: resetStyles,\n enterCancelled: resetStyles,\n\n leave (el: HTMLExpandElement) {\n el._initialStyle = {\n transition: '',\n visibility: '',\n overflow: el.style.overflow,\n [sizeProperty]: el.style[sizeProperty],\n }\n\n el.style.overflow = 'hidden'\n el.style[sizeProperty] = `${el[offsetProperty]}px`\n void el.offsetHeight // force reflow\n\n requestAnimationFrame(() => (el.style[sizeProperty] = '0'))\n },\n\n afterLeave,\n leaveCancelled: afterLeave,\n }\n\n function afterLeave (el: HTMLExpandElement) {\n if (expandedParentClass && el._parent) {\n el._parent.classList.remove(expandedParentClass)\n }\n resetStyles(el)\n }\n\n function resetStyles (el: HTMLExpandElement) {\n const size = el._initialStyle[sizeProperty]\n el.style.overflow = el._initialStyle.overflow\n if (size != null) el.style[sizeProperty] = size\n delete el._initialStyle\n }\n}\n","import {\n createSimpleTransition,\n createJavaScriptTransition,\n} from '../../util/helpers'\n\nimport ExpandTransitionGenerator from './expand-transition'\n\n// Component specific transitions\nexport const VCarouselTransition = createSimpleTransition('carousel-transition')\nexport const VCarouselReverseTransition = createSimpleTransition('carousel-reverse-transition')\nexport const VTabTransition = createSimpleTransition('tab-transition')\nexport const VTabReverseTransition = createSimpleTransition('tab-reverse-transition')\nexport const VMenuTransition = createSimpleTransition('menu-transition')\nexport const VFabTransition = createSimpleTransition('fab-transition', 'center center', 'out-in')\n\n// Generic transitions\nexport const VDialogTransition = createSimpleTransition('dialog-transition')\nexport const VDialogBottomTransition = createSimpleTransition('dialog-bottom-transition')\nexport const VFadeTransition = createSimpleTransition('fade-transition')\nexport const VScaleTransition = createSimpleTransition('scale-transition')\nexport const VScrollXTransition = createSimpleTransition('scroll-x-transition')\nexport const VScrollXReverseTransition = createSimpleTransition('scroll-x-reverse-transition')\nexport const VScrollYTransition = createSimpleTransition('scroll-y-transition')\nexport const VScrollYReverseTransition = createSimpleTransition('scroll-y-reverse-transition')\nexport const VSlideXTransition = createSimpleTransition('slide-x-transition')\nexport const VSlideXReverseTransition = createSimpleTransition('slide-x-reverse-transition')\nexport const VSlideYTransition = createSimpleTransition('slide-y-transition')\nexport const VSlideYReverseTransition = createSimpleTransition('slide-y-reverse-transition')\n\n// JavaScript transitions\nexport const VExpandTransition = createJavaScriptTransition('expand-transition', ExpandTransitionGenerator())\nexport const VExpandXTransition = createJavaScriptTransition('expand-x-transition', ExpandTransitionGenerator('', true))\n\nexport default {\n $_vuetify_subcomponents: {\n VCarouselTransition,\n VCarouselReverseTransition,\n VDialogTransition,\n VDialogBottomTransition,\n VFabTransition,\n VFadeTransition,\n VMenuTransition,\n VScaleTransition,\n VScrollXTransition,\n VScrollXReverseTransition,\n VScrollYTransition,\n VScrollYReverseTransition,\n VSlideXTransition,\n VSlideXReverseTransition,\n VSlideYTransition,\n VSlideYReverseTransition,\n VTabReverseTransition,\n VTabTransition,\n VExpandTransition,\n VExpandXTransition,\n },\n}\n","import { VNodeDirective } from 'vue/types/vnode'\n\ninterface ClickOutsideBindingArgs {\n closeConditional?: (e: Event) => boolean\n include?: () => HTMLElement[]\n}\n\ninterface ClickOutsideDirective extends VNodeDirective {\n value?: (e: Event) => void\n args?: ClickOutsideBindingArgs\n}\n\nfunction closeConditional () {\n return false\n}\n\nfunction directive (e: PointerEvent, el: HTMLElement, binding: ClickOutsideDirective): void {\n // Args may not always be supplied\n binding.args = binding.args || {}\n\n // If no closeConditional was supplied assign a default\n const isActive = (binding.args.closeConditional || closeConditional)\n\n // The include element callbacks below can be expensive\n // so we should avoid calling them when we're not active.\n // Explicitly check for false to allow fallback compatibility\n // with non-toggleable components\n if (!e || isActive(e) === false) return\n\n // If click was triggered programmaticaly (domEl.click()) then\n // it shouldn't be treated as click-outside\n // Chrome/Firefox support isTrusted property\n // IE/Edge support pointerType property (empty if not triggered\n // by pointing device)\n if (('isTrusted' in e && !e.isTrusted) ||\n ('pointerType' in e && !e.pointerType)\n ) return\n\n // Check if additional elements were passed to be included in check\n // (click must be outside all included elements, if any)\n const elements = (binding.args.include || (() => []))()\n // Add the root element for the component this directive was defined on\n elements.push(el)\n\n // Check if it's a click outside our elements, and then if our callback returns true.\n // Non-toggleable components should take action in their callback and return falsy.\n // Toggleable can return true if it wants to deactivate.\n // Note that, because we're in the capture phase, this callback will occur before\n // the bubbling click event on any outside elements.\n !elements.some(el => el.contains(e.target as Node)) && setTimeout(() => {\n isActive(e) && binding.value && binding.value(e)\n }, 0)\n}\n\nexport const ClickOutside = {\n // [data-app] may not be found\n // if using bind, inserted makes\n // sure that the root element is\n // available, iOS does not support\n // clicks on body\n inserted (el: HTMLElement, binding: ClickOutsideDirective) {\n const onClick = (e: Event) => directive(e as PointerEvent, el, binding)\n // iOS does not recognize click events on document\n // or body, this is the entire purpose of the v-app\n // component and [data-app], stop removing this\n const app = document.querySelector('[data-app]') ||\n document.body // This is only for unit tests\n app.addEventListener('click', onClick, true)\n el._clickOutside = onClick\n },\n\n unbind (el: HTMLElement) {\n if (!el._clickOutside) return\n\n const app = document.querySelector('[data-app]') ||\n document.body // This is only for unit tests\n app && app.removeEventListener('click', el._clickOutside, true)\n delete el._clickOutside\n },\n}\n\nexport default ClickOutside\n","export { ClickOutside } from './click-outside'\nexport { Intersect } from './intersect'\nexport { Mutate } from './mutate'\nexport { Resize } from './resize'\nexport { Ripple } from './ripple'\nexport { Scroll } from './scroll'\nexport { Touch } from './touch'\n","import { VNodeDirective } from 'vue/types/vnode'\n\ninterface ObserveVNodeDirective extends VNodeDirective {\n options?: IntersectionObserverInit\n}\n\nfunction inserted (el: HTMLElement, binding: ObserveVNodeDirective) {\n const modifiers = binding.modifiers || /* istanbul ignore next */ {}\n const value = binding.value\n const isObject = typeof value === 'object'\n const callback = isObject ? value.handler : value\n const observer = new IntersectionObserver((\n entries: IntersectionObserverEntry[] = [],\n observer: IntersectionObserver\n ) => {\n /* istanbul ignore if */\n if (!el._observe) return // Just in case, should never fire\n\n // If is not quiet or has already been\n // initted, invoke the user callback\n if (\n callback && (\n !modifiers.quiet ||\n el._observe.init\n )\n ) {\n const isIntersecting = Boolean(entries.find(entry => entry.isIntersecting))\n\n callback(entries, observer, isIntersecting)\n }\n\n // If has already been initted and\n // has the once modifier, unbind\n if (el._observe.init && modifiers.once) unbind(el)\n // Otherwise, mark the observer as initted\n else (el._observe.init = true)\n }, value.options || {})\n\n el._observe = { init: false, observer }\n\n observer.observe(el)\n}\n\nfunction unbind (el: HTMLElement) {\n /* istanbul ignore if */\n if (!el._observe) return\n\n el._observe.observer.unobserve(el)\n delete el._observe\n}\n\nexport const Intersect = {\n inserted,\n unbind,\n}\n\nexport default Intersect\n","import { VNodeDirective } from 'vue'\n\ninterface MutateVNodeDirective extends VNodeDirective {\n options?: MutationObserverInit\n}\n\nfunction inserted (el: HTMLElement, binding: MutateVNodeDirective) {\n const modifiers = binding.modifiers || /* istanbul ignore next */ {}\n const value = binding.value\n const isObject = typeof value === 'object'\n const callback = isObject ? value.handler : value\n const { once, ...modifierKeys } = modifiers\n const hasModifiers = Object.keys(modifierKeys).length > 0\n const hasOptions = isObject && value.options\n\n // Options take top priority\n const options = hasOptions ? value.options : hasModifiers\n // If we have modifiers, use only those provided\n ? {\n attributes: modifierKeys.attr,\n childList: modifierKeys.child,\n subtree: modifierKeys.sub,\n characterData: modifierKeys.char,\n }\n // Defaults to everything on\n : {\n attributes: true,\n childList: true,\n subtree: true,\n characterData: true,\n }\n\n const observer = new MutationObserver((\n mutationsList: MutationRecord[],\n observer: MutationObserver\n ) => {\n /* istanbul ignore if */\n if (!el._mutate) return // Just in case, should never fire\n\n callback(mutationsList, observer)\n\n // If has the once modifier, unbind\n once && unbind(el)\n })\n\n observer.observe(el, options)\n el._mutate = { observer }\n}\n\nfunction unbind (el: HTMLElement) {\n /* istanbul ignore if */\n if (!el._mutate) return\n\n el._mutate.observer.disconnect()\n delete el._mutate\n}\n\nexport const Mutate = {\n inserted,\n unbind,\n}\n\nexport default Mutate\n","import { VNodeDirective } from 'vue/types/vnode'\n\ninterface ResizeVNodeDirective extends VNodeDirective {\n value?: () => void\n options?: boolean | AddEventListenerOptions\n}\n\nfunction inserted (el: HTMLElement, binding: ResizeVNodeDirective) {\n const callback = binding.value!\n const options = binding.options || { passive: true }\n\n window.addEventListener('resize', callback, options)\n el._onResize = {\n callback,\n options,\n }\n\n if (!binding.modifiers || !binding.modifiers.quiet) {\n callback()\n }\n}\n\nfunction unbind (el: HTMLElement) {\n if (!el._onResize) return\n\n const { callback, options } = el._onResize\n window.removeEventListener('resize', callback, options)\n delete el._onResize\n}\n\nexport const Resize = {\n inserted,\n unbind,\n}\n\nexport default Resize\n","// extracted by mini-css-extract-plugin","// Styles\nimport './VRipple.sass'\n\nimport { VNode, VNodeDirective } from 'vue'\nimport { consoleWarn } from '../../util/console'\n\nfunction transform (el: HTMLElement, value: string) {\n el.style['transform'] = value\n el.style['webkitTransform'] = value\n}\n\nfunction opacity (el: HTMLElement, value: number) {\n el.style['opacity'] = value.toString()\n}\n\nexport interface RippleOptions {\n class?: string\n center?: boolean\n circle?: boolean\n}\n\nfunction isTouchEvent (e: MouseEvent | TouchEvent): e is TouchEvent {\n return e.constructor.name === 'TouchEvent'\n}\n\nconst calculate = (e: MouseEvent | TouchEvent, el: HTMLElement, value: RippleOptions = {}) => {\n const offset = el.getBoundingClientRect()\n const target = isTouchEvent(e) ? e.touches[e.touches.length - 1] : e\n const localX = target.clientX - offset.left\n const localY = target.clientY - offset.top\n\n let radius = 0\n let scale = 0.3\n if (el._ripple && el._ripple.circle) {\n scale = 0.15\n radius = el.clientWidth / 2\n radius = value.center ? radius : radius + Math.sqrt((localX - radius) ** 2 + (localY - radius) ** 2) / 4\n } else {\n radius = Math.sqrt(el.clientWidth ** 2 + el.clientHeight ** 2) / 2\n }\n\n const centerX = `${(el.clientWidth - (radius * 2)) / 2}px`\n const centerY = `${(el.clientHeight - (radius * 2)) / 2}px`\n\n const x = value.center ? centerX : `${localX - radius}px`\n const y = value.center ? centerY : `${localY - radius}px`\n\n return { radius, scale, x, y, centerX, centerY }\n}\n\nconst ripples = {\n /* eslint-disable max-statements */\n show (e: MouseEvent | TouchEvent, el: HTMLElement, value: RippleOptions = {}) {\n if (!el._ripple || !el._ripple.enabled) {\n return\n }\n\n const container = document.createElement('span')\n const animation = document.createElement('span')\n\n container.appendChild(animation)\n container.className = 'v-ripple__container'\n\n if (value.class) {\n container.className += ` ${value.class}`\n }\n\n const { radius, scale, x, y, centerX, centerY } = calculate(e, el, value)\n\n const size = `${radius * 2}px`\n animation.className = 'v-ripple__animation'\n animation.style.width = size\n animation.style.height = size\n\n el.appendChild(container)\n\n const computed = window.getComputedStyle(el)\n if (computed && computed.position === 'static') {\n el.style.position = 'relative'\n el.dataset.previousPosition = 'static'\n }\n\n animation.classList.add('v-ripple__animation--enter')\n animation.classList.add('v-ripple__animation--visible')\n transform(animation, `translate(${x}, ${y}) scale3d(${scale},${scale},${scale})`)\n opacity(animation, 0)\n animation.dataset.activated = String(performance.now())\n\n setTimeout(() => {\n animation.classList.remove('v-ripple__animation--enter')\n animation.classList.add('v-ripple__animation--in')\n transform(animation, `translate(${centerX}, ${centerY}) scale3d(1,1,1)`)\n opacity(animation, 0.25)\n }, 0)\n },\n\n hide (el: HTMLElement | null) {\n if (!el || !el._ripple || !el._ripple.enabled) return\n\n const ripples = el.getElementsByClassName('v-ripple__animation')\n\n if (ripples.length === 0) return\n const animation = ripples[ripples.length - 1]\n\n if (animation.dataset.isHiding) return\n else animation.dataset.isHiding = 'true'\n\n const diff = performance.now() - Number(animation.dataset.activated)\n const delay = Math.max(250 - diff, 0)\n\n setTimeout(() => {\n animation.classList.remove('v-ripple__animation--in')\n animation.classList.add('v-ripple__animation--out')\n opacity(animation, 0)\n\n setTimeout(() => {\n const ripples = el.getElementsByClassName('v-ripple__animation')\n if (ripples.length === 1 && el.dataset.previousPosition) {\n el.style.position = el.dataset.previousPosition\n delete el.dataset.previousPosition\n }\n\n animation.parentNode && el.removeChild(animation.parentNode)\n }, 300)\n }, delay)\n },\n}\n\nfunction isRippleEnabled (value: any): value is true {\n return typeof value === 'undefined' || !!value\n}\n\nfunction rippleShow (e: MouseEvent | TouchEvent) {\n const value: RippleOptions = {}\n const element = e.currentTarget as HTMLElement\n if (!element || !element._ripple || element._ripple.touched) return\n if (isTouchEvent(e)) {\n element._ripple.touched = true\n element._ripple.isTouch = true\n } else {\n // It's possible for touch events to fire\n // as mouse events on Android/iOS, this\n // will skip the event call if it has\n // already been registered as touch\n if (element._ripple.isTouch) return\n }\n value.center = element._ripple.centered\n if (element._ripple.class) {\n value.class = element._ripple.class\n }\n ripples.show(e, element, value)\n}\n\nfunction rippleHide (e: Event) {\n const element = e.currentTarget as HTMLElement | null\n if (!element) return\n\n window.setTimeout(() => {\n if (element._ripple) {\n element._ripple.touched = false\n }\n })\n ripples.hide(element)\n}\n\nfunction updateRipple (el: HTMLElement, binding: VNodeDirective, wasEnabled: boolean) {\n const enabled = isRippleEnabled(binding.value)\n if (!enabled) {\n ripples.hide(el)\n }\n el._ripple = el._ripple || {}\n el._ripple.enabled = enabled\n const value = binding.value || {}\n if (value.center) {\n el._ripple.centered = true\n }\n if (value.class) {\n el._ripple.class = binding.value.class\n }\n if (value.circle) {\n el._ripple.circle = value.circle\n }\n if (enabled && !wasEnabled) {\n el.addEventListener('touchstart', rippleShow, { passive: true })\n el.addEventListener('touchend', rippleHide, { passive: true })\n el.addEventListener('touchcancel', rippleHide)\n\n el.addEventListener('mousedown', rippleShow)\n el.addEventListener('mouseup', rippleHide)\n el.addEventListener('mouseleave', rippleHide)\n // Anchor tags can be dragged, causes other hides to fail - #1537\n el.addEventListener('dragstart', rippleHide, { passive: true })\n } else if (!enabled && wasEnabled) {\n removeListeners(el)\n }\n}\n\nfunction removeListeners (el: HTMLElement) {\n el.removeEventListener('mousedown', rippleShow)\n el.removeEventListener('touchstart', rippleHide)\n el.removeEventListener('touchend', rippleHide)\n el.removeEventListener('touchcancel', rippleHide)\n el.removeEventListener('mouseup', rippleHide)\n el.removeEventListener('mouseleave', rippleHide)\n el.removeEventListener('dragstart', rippleHide)\n}\n\nfunction directive (el: HTMLElement, binding: VNodeDirective, node: VNode) {\n updateRipple(el, binding, false)\n\n if (process.env.NODE_ENV === 'development') {\n // warn if an inline element is used, waiting for el to be in the DOM first\n node.context && node.context.$nextTick(() => {\n const computed = window.getComputedStyle(el)\n if (computed && computed.display === 'inline') {\n const context = (node as any).fnOptions ? [(node as any).fnOptions, node.context] : [node.componentInstance]\n consoleWarn('v-ripple can only be used on block-level elements', ...context)\n }\n })\n }\n}\n\nfunction unbind (el: HTMLElement) {\n delete el._ripple\n removeListeners(el)\n}\n\nfunction update (el: HTMLElement, binding: VNodeDirective) {\n if (binding.value === binding.oldValue) {\n return\n }\n\n const wasEnabled = isRippleEnabled(binding.oldValue)\n updateRipple(el, binding, wasEnabled)\n}\n\nexport const Ripple = {\n bind: directive,\n unbind,\n update,\n}\n\nexport default Ripple\n","import { VNodeDirective } from 'vue/types/vnode'\nimport { DirectiveOptions } from 'vue'\n\ninterface ScrollVNodeDirective extends VNodeDirective {\n arg: string\n value: EventListenerOrEventListenerObject\n options?: boolean | AddEventListenerOptions\n}\n\nfunction inserted (el: HTMLElement, binding: ScrollVNodeDirective) {\n const callback = binding.value\n const options = binding.options || { passive: true }\n const target = binding.arg ? document.querySelector(binding.arg) : window\n if (!target) return\n\n target.addEventListener('scroll', callback, options)\n\n el._onScroll = {\n callback,\n options,\n target,\n }\n}\n\nfunction unbind (el: HTMLElement) {\n if (!el._onScroll) return\n\n const { callback, options, target } = el._onScroll\n\n target.removeEventListener('scroll', callback, options)\n delete el._onScroll\n}\n\nexport const Scroll = {\n inserted,\n unbind,\n} as DirectiveOptions\n\nexport default Scroll\n","import { VNodeDirective, VNode } from 'vue/types/vnode'\nimport { keys } from '../../util/helpers'\n\nexport interface TouchStoredHandlers {\n touchstart: (e: TouchEvent) => void\n touchend: (e: TouchEvent) => void\n touchmove: (e: TouchEvent) => void\n}\n\ninterface TouchHandlers {\n start?: (wrapperEvent: TouchEvent & TouchWrapper) => void\n end?: (wrapperEvent: TouchEvent & TouchWrapper) => void\n move?: (wrapperEvent: TouchEvent & TouchWrapper) => void\n left?: (wrapper: TouchWrapper) => void\n right?: (wrapper: TouchWrapper) => void\n up?: (wrapper: TouchWrapper) => void\n down?: (wrapper: TouchWrapper) => void\n}\n\nexport interface TouchWrapper extends TouchHandlers {\n touchstartX: number\n touchstartY: number\n touchmoveX: number\n touchmoveY: number\n touchendX: number\n touchendY: number\n offsetX: number\n offsetY: number\n}\n\ninterface TouchVNodeDirective extends VNodeDirective {\n value?: TouchHandlers & {\n parent?: boolean\n options?: AddEventListenerOptions\n }\n}\n\nconst handleGesture = (wrapper: TouchWrapper) => {\n const { touchstartX, touchendX, touchstartY, touchendY } = wrapper\n const dirRatio = 0.5\n const minDistance = 16\n wrapper.offsetX = touchendX - touchstartX\n wrapper.offsetY = touchendY - touchstartY\n\n if (Math.abs(wrapper.offsetY) < dirRatio * Math.abs(wrapper.offsetX)) {\n wrapper.left && (touchendX < touchstartX - minDistance) && wrapper.left(wrapper)\n wrapper.right && (touchendX > touchstartX + minDistance) && wrapper.right(wrapper)\n }\n\n if (Math.abs(wrapper.offsetX) < dirRatio * Math.abs(wrapper.offsetY)) {\n wrapper.up && (touchendY < touchstartY - minDistance) && wrapper.up(wrapper)\n wrapper.down && (touchendY > touchstartY + minDistance) && wrapper.down(wrapper)\n }\n}\n\nfunction touchstart (event: TouchEvent, wrapper: TouchWrapper) {\n const touch = event.changedTouches[0]\n wrapper.touchstartX = touch.clientX\n wrapper.touchstartY = touch.clientY\n\n wrapper.start &&\n wrapper.start(Object.assign(event, wrapper))\n}\n\nfunction touchend (event: TouchEvent, wrapper: TouchWrapper) {\n const touch = event.changedTouches[0]\n wrapper.touchendX = touch.clientX\n wrapper.touchendY = touch.clientY\n\n wrapper.end &&\n wrapper.end(Object.assign(event, wrapper))\n\n handleGesture(wrapper)\n}\n\nfunction touchmove (event: TouchEvent, wrapper: TouchWrapper) {\n const touch = event.changedTouches[0]\n wrapper.touchmoveX = touch.clientX\n wrapper.touchmoveY = touch.clientY\n\n wrapper.move && wrapper.move(Object.assign(event, wrapper))\n}\n\nfunction createHandlers (value: TouchHandlers): TouchStoredHandlers {\n const wrapper = {\n touchstartX: 0,\n touchstartY: 0,\n touchendX: 0,\n touchendY: 0,\n touchmoveX: 0,\n touchmoveY: 0,\n offsetX: 0,\n offsetY: 0,\n left: value.left,\n right: value.right,\n up: value.up,\n down: value.down,\n start: value.start,\n move: value.move,\n end: value.end,\n }\n\n return {\n touchstart: (e: TouchEvent) => touchstart(e, wrapper),\n touchend: (e: TouchEvent) => touchend(e, wrapper),\n touchmove: (e: TouchEvent) => touchmove(e, wrapper),\n }\n}\n\nfunction inserted (el: HTMLElement, binding: TouchVNodeDirective, vnode: VNode) {\n const value = binding.value!\n const target = value.parent ? el.parentElement : el\n const options = value.options || { passive: true }\n\n // Needed to pass unit tests\n if (!target) return\n\n const handlers = createHandlers(binding.value!)\n target._touchHandlers = Object(target._touchHandlers)\n target._touchHandlers![vnode.context!._uid] = handlers\n\n keys(handlers).forEach(eventName => {\n target.addEventListener(eventName, handlers[eventName] as EventListener, options)\n })\n}\n\nfunction unbind (el: HTMLElement, binding: TouchVNodeDirective, vnode: VNode) {\n const target = binding.value!.parent ? el.parentElement : el\n if (!target || !target._touchHandlers) return\n\n const handlers = target._touchHandlers[vnode.context!._uid]\n keys(handlers).forEach(eventName => {\n target.removeEventListener(eventName, handlers[eventName])\n })\n delete target._touchHandlers[vnode.context!._uid]\n}\n\nexport const Touch = {\n inserted,\n unbind,\n}\n\nexport default Touch\n","import { install } from './install'\n\n// Types\nimport {\n VuetifyService,\n VuetifyServiceContract,\n} from 'vuetify/types/services'\nimport { VuetifyPreset } from 'vuetify/types/presets'\nimport Vue from 'vue'\n\n// Services\nimport * as services from './services'\n\n// Styles\nimport './styles/main.sass'\n\nexport default class Vuetify {\n static install = install\n\n static installed = false\n\n static version = __VUETIFY_VERSION__\n\n framework: Record<string, VuetifyServiceContract> = {}\n\n installed: string[] = []\n\n preset: Partial<VuetifyPreset> = {}\n\n constructor (preset: Partial<VuetifyPreset> = {}) {\n this.preset = preset\n\n this.use(services.Application)\n this.use(services.Breakpoint)\n this.use(services.Goto)\n this.use(services.Icons)\n this.use(services.Lang)\n this.use(services.Theme)\n }\n\n // Called on the new vuetify instance\n // bootstrap in install beforeCreate\n // Exposes ssrContext if available\n init (root: Vue, ssrContext?: object) {\n this.installed.forEach(property => {\n const service = this.framework[property]\n service.framework = this.framework\n\n service.init(root, ssrContext)\n })\n\n // rtl is not installed and\n // will never be called by\n // the init process\n this.framework.rtl = Boolean(this.preset.rtl) as any\n }\n\n // Instantiate a VuetifyService\n use (Service: VuetifyService) {\n const property = Service.property\n\n if (this.installed.includes(property)) return\n\n this.framework[property] = new Service(this.preset[property])\n this.installed.push(property)\n }\n}\n","import * as components from './components'\nimport * as directives from './directives'\nimport Vuetify from './framework'\n\nexport default Vuetify\n\nconst install = Vuetify.install\n\nVuetify.install = (Vue, args) => {\n install.call(Vuetify, Vue, {\n components,\n directives,\n ...args,\n })\n}\n\nif (typeof window !== 'undefined' && window.Vue) {\n window.Vue.use(Vuetify)\n}\n","import OurVue, { VueConstructor } from 'vue'\nimport { VuetifyUseOptions } from 'types'\nimport { consoleError } from './util/console'\n\nexport function install (Vue: VueConstructor, args: VuetifyUseOptions = {}) {\n if ((install as any).installed) return\n (install as any).installed = true\n\n if (OurVue !== Vue) {\n consoleError('Multiple instances of Vue detected\\nSee https://github.com/vuetifyjs/vuetify/issues/4068\\n\\nIf you\\'re seeing \"$attrs is readonly\", it\\'s caused by this')\n }\n\n const components = args.components || {}\n const directives = args.directives || {}\n\n for (const name in directives) {\n const directive = directives[name]\n\n Vue.directive(name, directive)\n }\n\n (function registerComponents (components: any) {\n if (components) {\n for (const key in components) {\n const component = components[key]\n if (component && !registerComponents(component.$_vuetify_subcomponents)) {\n Vue.component(key, component as typeof Vue)\n }\n }\n return true\n }\n return false\n })(components)\n\n // Used to avoid multiple mixins being setup\n // when in dev mode and hot module reload\n // https://github.com/vuejs/vue/issues/5089#issuecomment-284260111\n if (Vue.$_vuetify_installed) return\n Vue.$_vuetify_installed = true\n\n Vue.mixin({\n beforeCreate () {\n const options = this.$options as any\n\n if (options.vuetify) {\n options.vuetify.init(this, options.ssrContext)\n this.$vuetify = Vue.observable(options.vuetify.framework)\n } else {\n this.$vuetify = (options.parent && options.parent.$vuetify) || this\n }\n },\n })\n}\n","export default {\n close: 'Close',\n dataIterator: {\n noResultsText: 'No matching records found',\n loadingText: 'Loading items...',\n },\n dataTable: {\n itemsPerPageText: 'Rows per page:',\n ariaLabel: {\n sortDescending: ': Sorted descending. Activate to remove sorting.',\n sortAscending: ': Sorted ascending. Activate to sort descending.',\n sortNone: ': Not sorted. Activate to sort ascending.',\n },\n sortBy: 'Sort by',\n },\n dataFooter: {\n itemsPerPageText: 'Items per page:',\n itemsPerPageAll: 'All',\n nextPage: 'Next page',\n prevPage: 'Previous page',\n firstPage: 'First page',\n lastPage: 'Last page',\n pageText: '{0}-{1} of {2}',\n },\n datePicker: {\n itemsSelected: '{0} selected',\n },\n noDataText: 'No data available',\n carousel: {\n prev: 'Previous visual',\n next: 'Next visual',\n ariaLabel: {\n delimiter: 'Carousel slide {0} of {1}',\n },\n },\n calendar: {\n moreEvents: '{0} more',\n },\n fileInput: {\n counter: '{0} files',\n counterSize: '{0} files ({1} in total)',\n },\n timePicker: {\n am: 'AM',\n pm: 'PM',\n },\n}\n","// Mixins\nimport Delayable from '../delayable'\nimport Toggleable from '../toggleable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { getSlot, getSlotType } from '../../util/helpers'\nimport { consoleError } from '../../util/console'\n\n// Types\nimport { PropValidator } from 'vue/types/options'\nimport { VNode } from 'vue'\n\nconst baseMixins = mixins(\n Delayable,\n Toggleable\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'activatable',\n\n props: {\n activator: {\n default: null,\n validator: (val: string | object) => {\n return ['string', 'object'].includes(typeof val)\n },\n } as PropValidator<string | HTMLElement | VNode | Element | null>,\n disabled: Boolean,\n internalActivator: Boolean,\n openOnHover: Boolean,\n },\n\n data: () => ({\n // Do not use this directly, call getActivator() instead\n activatorElement: null as HTMLElement | null,\n activatorNode: [] as VNode[],\n events: ['click', 'mouseenter', 'mouseleave'],\n listeners: {} as Record<string, (e: MouseEvent & KeyboardEvent) => void>,\n }),\n\n watch: {\n activator: 'resetActivator',\n openOnHover: 'resetActivator',\n },\n\n mounted () {\n const slotType = getSlotType(this, 'activator', true)\n\n if (slotType && ['v-slot', 'normal'].includes(slotType)) {\n consoleError(`The activator slot must be bound, try '<template v-slot:activator=\"{ on }\"><v-btn v-on=\"on\">'`, this)\n }\n\n this.addActivatorEvents()\n },\n\n beforeDestroy () {\n this.removeActivatorEvents()\n },\n\n methods: {\n addActivatorEvents () {\n if (\n !this.activator ||\n this.disabled ||\n !this.getActivator()\n ) return\n\n this.listeners = this.genActivatorListeners()\n const keys = Object.keys(this.listeners)\n\n for (const key of keys) {\n this.getActivator()!.addEventListener(key, this.listeners[key] as any)\n }\n },\n genActivator () {\n const node = getSlot(this, 'activator', Object.assign(this.getValueProxy(), {\n on: this.genActivatorListeners(),\n attrs: this.genActivatorAttributes(),\n })) || []\n\n this.activatorNode = node\n\n return node\n },\n genActivatorAttributes () {\n return {\n role: 'button',\n 'aria-haspopup': true,\n 'aria-expanded': String(this.isActive),\n }\n },\n genActivatorListeners () {\n if (this.disabled) return {}\n\n const listeners: Record<string, (e: MouseEvent & KeyboardEvent) => void> = {}\n\n if (this.openOnHover) {\n listeners.mouseenter = (e: MouseEvent) => {\n this.getActivator(e)\n this.runDelay('open')\n }\n listeners.mouseleave = (e: MouseEvent) => {\n this.getActivator(e)\n this.runDelay('close')\n }\n } else {\n listeners.click = (e: MouseEvent) => {\n const activator = this.getActivator(e)\n if (activator) activator.focus()\n\n this.isActive = !this.isActive\n }\n }\n\n return listeners\n },\n getActivator (e?: Event): HTMLElement | null {\n // If we've already fetched the activator, re-use\n if (this.activatorElement) return this.activatorElement\n\n let activator = null\n\n if (this.activator) {\n const target = this.internalActivator ? this.$el : document\n\n if (typeof this.activator === 'string') {\n // Selector\n activator = target.querySelector(this.activator)\n } else if ((this.activator as any).$el) {\n // Component (ref)\n activator = (this.activator as any).$el\n } else {\n // HTMLElement | Element\n activator = this.activator\n }\n } else if (this.activatorNode.length === 1 || (this.activatorNode.length && !e)) {\n // Use the contents of the activator slot\n // There's either only one element in it or we\n // don't have a click event to use as a last resort\n const vm = this.activatorNode[0].componentInstance\n if (\n vm &&\n vm.$options.mixins && // Activatable is indirectly used via Menuable\n vm.$options.mixins.some((m: any) => m.options && ['activatable', 'menuable'].includes(m.options.name))\n ) {\n // Activator is actually another activatible component, use its activator (#8846)\n activator = (vm as any).getActivator()\n } else {\n activator = this.activatorNode[0].elm as HTMLElement\n }\n } else if (e) {\n // Activated by a click event\n activator = (e.currentTarget || e.target) as HTMLElement\n }\n\n this.activatorElement = activator\n\n return this.activatorElement\n },\n getContentSlot () {\n return getSlot(this, 'default', this.getValueProxy(), true)\n },\n getValueProxy (): object {\n const self = this\n return {\n get value () {\n return self.isActive\n },\n set value (isActive: boolean) {\n self.isActive = isActive\n },\n }\n },\n removeActivatorEvents () {\n if (\n !this.activator ||\n !this.activatorElement\n ) return\n\n const keys = Object.keys(this.listeners)\n\n for (const key of keys) {\n (this.activatorElement as any).removeEventListener(key, this.listeners[key])\n }\n\n this.listeners = {}\n },\n resetActivator () {\n this.activatorElement = null\n this.getActivator()\n this.addActivatorEvents()\n },\n },\n})\n","import { factory as PositionableFactory } from '../positionable'\nimport { TargetProp } from 'vuetify/types/services/application'\n\n// Util\nimport mixins from '../../util/mixins'\n\nexport default function applicationable (value: TargetProp, events: string[] = []) {\n /* @vue/component */\n return mixins(PositionableFactory(['absolute', 'fixed'])).extend({\n name: 'applicationable',\n\n props: {\n app: Boolean,\n },\n\n computed: {\n applicationProperty (): TargetProp {\n return value\n },\n },\n\n watch: {\n // If previous value was app\n // reset the provided prop\n app (x: boolean, prev: boolean) {\n prev\n ? this.removeApplication(true)\n : this.callUpdate()\n },\n applicationProperty (newVal, oldVal) {\n this.$vuetify.application.unregister(this._uid, oldVal)\n },\n },\n\n activated () {\n this.callUpdate()\n },\n\n created () {\n for (let i = 0, length = events.length; i < length; i++) {\n this.$watch(events[i], this.callUpdate)\n }\n this.callUpdate()\n },\n\n mounted () {\n this.callUpdate()\n },\n\n deactivated () {\n this.removeApplication()\n },\n\n destroyed () {\n this.removeApplication()\n },\n\n methods: {\n callUpdate () {\n if (!this.app) return\n\n this.$vuetify.application.register(\n this._uid,\n this.applicationProperty,\n this.updateApplication()\n )\n },\n removeApplication (force = false) {\n if (!force && !this.app) return\n\n this.$vuetify.application.unregister(\n this._uid,\n this.applicationProperty\n )\n },\n updateApplication: () => 0,\n },\n })\n}\n","import Vue, { WatchHandler } from 'vue'\n\n/**\n * This mixin provides `attrs$` and `listeners$` to work around\n * vue bug https://github.com/vuejs/vue/issues/10115\n */\n\nfunction makeWatcher (property: string): ThisType<Vue> & WatchHandler<any> {\n return function (this: Vue, val, oldVal) {\n for (const attr in oldVal) {\n if (!Object.prototype.hasOwnProperty.call(val, attr)) {\n this.$delete(this.$data[property], attr)\n }\n }\n for (const attr in val) {\n this.$set(this.$data[property], attr, val[attr])\n }\n }\n}\n\nexport default Vue.extend({\n data: () => ({\n attrs$: {} as Dictionary<string>,\n listeners$: {} as Dictionary<Function | Function[]>,\n }),\n\n created () {\n // Work around unwanted re-renders: https://github.com/vuejs/vue/issues/10115\n // Make sure to use `attrs$` instead of `$attrs` (confusing right?)\n this.$watch('$attrs', makeWatcher('attrs$'), { immediate: true })\n this.$watch('$listeners', makeWatcher('listeners$'), { immediate: true })\n },\n})\n","// Utilities\nimport { removed } from '../../util/console'\n\n// Types\nimport Vue, { VNode } from 'vue'\ninterface Toggleable extends Vue {\n isActive?: boolean\n}\n\n/**\n * Bootable\n * @mixin\n *\n * Used to add lazy content functionality to components\n * Looks for change in \"isActive\" to automatically boot\n * Otherwise can be set manually\n */\n/* @vue/component */\nexport default Vue.extend<Vue & Toggleable>().extend({\n name: 'bootable',\n\n props: {\n eager: Boolean,\n },\n\n data: () => ({\n isBooted: false,\n }),\n\n computed: {\n hasContent (): boolean | undefined {\n return this.isBooted || this.eager || this.isActive\n },\n },\n\n watch: {\n isActive () {\n this.isBooted = true\n },\n },\n\n created () {\n /* istanbul ignore next */\n if ('lazy' in this.$attrs) {\n removed('lazy', this)\n }\n },\n\n methods: {\n showLazyContent (content?: VNode[]): VNode[] | undefined {\n return this.hasContent ? content : undefined\n },\n },\n})\n","// Extensions\nimport { BaseItemGroup } from '../../components/VItemGroup/VItemGroup'\n\n/* @vue/component */\nexport default BaseItemGroup.extend({\n name: 'button-group',\n\n provide (): object {\n return {\n btnToggle: this,\n }\n },\n\n computed: {\n classes (): object {\n return BaseItemGroup.options.computed.classes.call(this)\n },\n },\n\n methods: {\n // Isn't being passed down through types\n genData: BaseItemGroup.options.methods.genData,\n },\n})\n","import Vue from 'vue'\nimport { VNodeData } from 'vue/types/vnode'\nimport { consoleError } from '../../util/console'\n\nfunction isCssColor (color?: string | false): boolean {\n return !!color && !!color.match(/^(#|(rgb|hsl)a?\\()/)\n}\n\nexport default Vue.extend({\n name: 'colorable',\n\n props: {\n color: String,\n },\n\n methods: {\n setBackgroundColor (color?: string | false, data: VNodeData = {}): VNodeData {\n if (typeof data.style === 'string') {\n // istanbul ignore next\n consoleError('style must be an object', this)\n // istanbul ignore next\n return data\n }\n if (typeof data.class === 'string') {\n // istanbul ignore next\n consoleError('class must be an object', this)\n // istanbul ignore next\n return data\n }\n if (isCssColor(color)) {\n data.style = {\n ...data.style as object,\n 'background-color': `${color}`,\n 'border-color': `${color}`,\n }\n } else if (color) {\n data.class = {\n ...data.class,\n [color]: true,\n }\n }\n\n return data\n },\n\n setTextColor (color?: string | false, data: VNodeData = {}): VNodeData {\n if (typeof data.style === 'string') {\n // istanbul ignore next\n consoleError('style must be an object', this)\n // istanbul ignore next\n return data\n }\n if (typeof data.class === 'string') {\n // istanbul ignore next\n consoleError('class must be an object', this)\n // istanbul ignore next\n return data\n }\n if (isCssColor(color)) {\n data.style = {\n ...data.style as object,\n color: `${color}`,\n 'caret-color': `${color}`,\n }\n } else if (color) {\n const [colorName, colorModifier] = color.toString().trim().split(' ', 2) as (string | undefined)[]\n data.class = {\n ...data.class,\n [colorName + '--text']: true,\n }\n if (colorModifier) {\n data.class['text--' + colorModifier] = true\n }\n }\n return data\n },\n },\n})\n","import Vue from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport { deepEqual } from '../../util/helpers'\n\nexport default Vue.extend({\n name: 'comparable',\n props: {\n valueComparator: {\n type: Function,\n default: deepEqual,\n } as any as PropValidator<typeof deepEqual>,\n },\n})\n","import Vue from 'vue'\n\n/**\n * Delayable\n *\n * @mixin\n *\n * Changes the open or close delay time for elements\n */\nexport default Vue.extend<Vue & { isActive?: boolean }>().extend({\n name: 'delayable',\n\n props: {\n openDelay: {\n type: [Number, String],\n default: 0,\n },\n closeDelay: {\n type: [Number, String],\n default: 0,\n },\n },\n\n data: () => ({\n openTimeout: undefined as number | undefined,\n closeTimeout: undefined as number | undefined,\n }),\n\n methods: {\n /**\n * Clear any pending delay timers from executing\n */\n clearDelay (): void {\n clearTimeout(this.openTimeout)\n clearTimeout(this.closeTimeout)\n },\n /**\n * Runs callback after a specified delay\n */\n runDelay (type: 'open' | 'close', cb?: () => void): void {\n this.clearDelay()\n\n const delay = parseInt((this as any)[`${type}Delay`], 10)\n\n ;(this as any)[`${type}Timeout`] = setTimeout(cb || (() => {\n this.isActive = { open: true, close: false }[type]\n }), delay)\n },\n },\n})\n","import Vue from 'vue'\n\nimport mixins from '../../util/mixins'\nimport { VOverlay } from '../../components/VOverlay'\n\ninterface options extends Vue {\n $el: HTMLElement\n $refs: {\n content: HTMLElement\n }\n overlay?: InstanceType<typeof VOverlay>\n}\n\ninterface DependentInstance extends Vue {\n isActive?: boolean\n isDependent?: boolean\n}\n\nfunction searchChildren (children: Vue[]): DependentInstance[] {\n const results = []\n for (let index = 0; index < children.length; index++) {\n const child = children[index] as DependentInstance\n if (child.isActive && child.isDependent) {\n results.push(child)\n } else {\n results.push(...searchChildren(child.$children))\n }\n }\n\n return results\n}\n\n/* @vue/component */\nexport default mixins<options>().extend({\n name: 'dependent',\n\n data () {\n return {\n closeDependents: true,\n isActive: false,\n isDependent: true,\n }\n },\n\n watch: {\n isActive (val) {\n if (val) return\n\n const openDependents = this.getOpenDependents()\n for (let index = 0; index < openDependents.length; index++) {\n openDependents[index].isActive = false\n }\n },\n },\n\n methods: {\n getOpenDependents (): any[] {\n if (this.closeDependents) return searchChildren(this.$children)\n\n return []\n },\n getOpenDependentElements (): HTMLElement[] {\n const result = []\n const openDependents = this.getOpenDependents()\n\n for (let index = 0; index < openDependents.length; index++) {\n result.push(...openDependents[index].getClickableDependentElements())\n }\n\n return result\n },\n getClickableDependentElements (): HTMLElement[] {\n const result = [this.$el]\n if (this.$refs.content) result.push(this.$refs.content)\n if (this.overlay) result.push(this.overlay.$el as HTMLElement)\n result.push(...this.getOpenDependentElements())\n\n return result\n },\n },\n})\n","// Mixins\nimport Bootable from '../bootable'\n\n// Utilities\nimport { getObjectValueByPath } from '../../util/helpers'\nimport mixins, { ExtractVue } from '../../util/mixins'\nimport { consoleWarn } from '../../util/console'\n\n// Types\nimport Vue, { PropOptions } from 'vue'\nimport { VNode } from 'vue/types'\n\ninterface options extends Vue {\n $el: HTMLElement\n $refs: {\n content: HTMLElement\n }\n}\n\nfunction validateAttachTarget (val: any) {\n const type = typeof val\n\n if (type === 'boolean' || type === 'string') return true\n\n return val.nodeType === Node.ELEMENT_NODE\n}\n\n/* @vue/component */\nexport default mixins<options &\n /* eslint-disable indent */\n ExtractVue<typeof Bootable>\n /* eslint-enable indent */\n>(Bootable).extend({\n name: 'detachable',\n\n props: {\n attach: {\n default: false,\n validator: validateAttachTarget,\n } as PropOptions<boolean | string | Element>,\n contentClass: {\n type: String,\n default: '',\n },\n },\n\n data: () => ({\n activatorNode: null as null | VNode | VNode[],\n hasDetached: false,\n }),\n\n watch: {\n attach () {\n this.hasDetached = false\n this.initDetach()\n },\n hasContent: 'initDetach',\n },\n\n beforeMount () {\n this.$nextTick(() => {\n if (this.activatorNode) {\n const activator = Array.isArray(this.activatorNode) ? this.activatorNode : [this.activatorNode]\n\n activator.forEach(node => {\n if (!node.elm) return\n if (!this.$el.parentNode) return\n\n const target = this.$el === this.$el.parentNode.firstChild\n ? this.$el\n : this.$el.nextSibling\n\n this.$el.parentNode.insertBefore(node.elm, target)\n })\n }\n })\n },\n\n mounted () {\n this.hasContent && this.initDetach()\n },\n\n deactivated () {\n this.isActive = false\n },\n\n beforeDestroy () {\n // IE11 Fix\n try {\n if (\n this.$refs.content &&\n this.$refs.content.parentNode\n ) {\n this.$refs.content.parentNode.removeChild(this.$refs.content)\n }\n\n if (this.activatorNode) {\n const activator = Array.isArray(this.activatorNode) ? this.activatorNode : [this.activatorNode]\n activator.forEach(node => {\n node.elm &&\n node.elm.parentNode &&\n node.elm.parentNode.removeChild(node.elm)\n })\n }\n } catch (e) { console.log(e) }\n },\n\n methods: {\n getScopeIdAttrs () {\n const scopeId = getObjectValueByPath(this.$vnode, 'context.$options._scopeId')\n\n return scopeId && {\n [scopeId]: '',\n }\n },\n initDetach () {\n if (this._isDestroyed ||\n !this.$refs.content ||\n this.hasDetached ||\n // Leave menu in place if attached\n // and dev has not changed target\n this.attach === '' || // If used as a boolean prop (<v-menu attach>)\n this.attach === true || // If bound to a boolean (<v-menu :attach=\"true\">)\n this.attach === 'attach' // If bound as boolean prop in pug (v-menu(attach))\n ) return\n\n let target\n if (this.attach === false) {\n // Default, detach to app\n target = document.querySelector('[data-app]')\n } else if (typeof this.attach === 'string') {\n // CSS selector\n target = document.querySelector(this.attach)\n } else {\n // DOM Element\n target = this.attach\n }\n\n if (!target) {\n consoleWarn(`Unable to locate target ${this.attach || '[data-app]'}`, this)\n return\n }\n\n target.insertBefore(\n this.$refs.content,\n target.firstChild\n )\n\n this.hasDetached = true\n },\n },\n})\n","import Vue from 'vue'\n\nexport default Vue.extend({\n name: 'elevatable',\n\n props: {\n elevation: [Number, String],\n },\n\n computed: {\n computedElevation (): string | number | undefined {\n return this.elevation\n },\n elevationClasses (): Record<string, boolean> {\n const elevation = this.computedElevation\n\n if (elevation == null) return {}\n if (isNaN(parseInt(elevation))) return {}\n return { [`elevation-${this.elevation}`]: true }\n },\n },\n})\n","import Vue from 'vue'\n\n/* @vue/component */\nexport default Vue.extend({\n name: 'filterable',\n\n props: {\n noDataText: {\n type: String,\n default: '$vuetify.noDataText',\n },\n },\n})\n","// Mixins\nimport { Registrable, inject as RegistrableInject } from '../registrable'\n\n// Utilities\nimport { ExtractVue } from '../../util/mixins'\nimport { PropValidator } from 'vue/types/options'\nimport { VueConstructor } from 'vue'\n\n/* eslint-disable-next-line no-use-before-define */\nexport type Groupable<T extends string, C extends VueConstructor | null = null> = VueConstructor<ExtractVue<Registrable<T, C>> & {\n activeClass: string\n isActive: boolean\n disabled: boolean\n groupClasses: object\n toggle (): void\n}>\n\nexport function factory<T extends string, C extends VueConstructor | null = null> (\n namespace: T,\n child?: string,\n parent?: string\n): Groupable<T, C> {\n // TODO: ts 3.4 broke directly returning this\n const R = RegistrableInject<T, C>(namespace, child, parent).extend({\n name: 'groupable',\n\n props: {\n activeClass: {\n type: String,\n default (): string | undefined {\n if (!this[namespace]) return undefined\n\n return this[namespace].activeClass\n },\n } as any as PropValidator<string>,\n disabled: Boolean,\n },\n\n data () {\n return {\n isActive: false,\n }\n },\n\n computed: {\n groupClasses (): object {\n if (!this.activeClass) return {}\n\n return {\n [this.activeClass]: this.isActive,\n }\n },\n },\n\n created () {\n this[namespace] && (this[namespace] as any).register(this)\n },\n\n beforeDestroy () {\n this[namespace] && (this[namespace] as any).unregister(this)\n },\n\n methods: {\n toggle () {\n this.$emit('change')\n },\n },\n })\n\n return R\n}\n\n/* eslint-disable-next-line no-redeclare */\nconst Groupable = factory('itemGroup')\n\nexport default Groupable\n","import Vue, { VNode } from 'vue'\nimport VProgressLinear from '../../components/VProgressLinear'\n\ninterface colorable extends Vue {\n color?: string\n}\n\n/**\n * Loadable\n *\n * @mixin\n *\n * Used to add linear progress bar to components\n * Can use a default bar with a specific color\n * or designate a custom progress linear bar\n */\n/* @vue/component */\nexport default Vue.extend<colorable>().extend({\n name: 'loadable',\n\n props: {\n loading: {\n type: [Boolean, String],\n default: false,\n },\n loaderHeight: {\n type: [Number, String],\n default: 2,\n },\n },\n\n methods: {\n genProgress (): VNode | VNode[] | null {\n if (this.loading === false) return null\n\n return this.$slots.progress || this.$createElement(VProgressLinear, {\n props: {\n absolute: true,\n color: (this.loading === true || this.loading === '')\n ? (this.color || 'primary')\n : this.loading,\n height: this.loaderHeight,\n indeterminate: true,\n },\n })\n },\n },\n})\n","import Vue from 'vue'\n\nexport default Vue.extend({\n name: 'localable',\n\n props: {\n locale: String,\n },\n\n computed: {\n currentLocale (): string {\n return this.locale || this.$vuetify.lang.current\n },\n },\n})\n","// Helpers\nimport { convertToUnit } from '../../util/helpers'\n\n// Types\nimport Vue from 'vue'\nimport { PropValidator } from 'vue/types/options'\n\nexport type NumberOrNumberString = PropValidator<string | number | undefined>\n\nexport default Vue.extend({\n name: 'measurable',\n\n props: {\n height: [Number, String] as NumberOrNumberString,\n maxHeight: [Number, String] as NumberOrNumberString,\n maxWidth: [Number, String] as NumberOrNumberString,\n minHeight: [Number, String] as NumberOrNumberString,\n minWidth: [Number, String] as NumberOrNumberString,\n width: [Number, String] as NumberOrNumberString,\n },\n\n computed: {\n measurableStyles (): object {\n const styles: Record<string, string> = {}\n\n const height = convertToUnit(this.height)\n const minHeight = convertToUnit(this.minHeight)\n const minWidth = convertToUnit(this.minWidth)\n const maxHeight = convertToUnit(this.maxHeight)\n const maxWidth = convertToUnit(this.maxWidth)\n const width = convertToUnit(this.width)\n\n if (height) styles.height = height\n if (minHeight) styles.minHeight = minHeight\n if (minWidth) styles.minWidth = minWidth\n if (maxHeight) styles.maxHeight = maxHeight\n if (maxWidth) styles.maxWidth = maxWidth\n if (width) styles.width = width\n\n return styles\n },\n },\n})\n","// Mixins\nimport Positionable from '../positionable'\nimport Stackable from '../stackable'\nimport Activatable from '../activatable'\n\n// Utilities\nimport mixins, { ExtractVue } from '../../util/mixins'\nimport { convertToUnit } from '../../util/helpers'\n\n// Types\nconst baseMixins = mixins(\n Stackable,\n Positionable,\n Activatable\n)\n\ninterface options extends ExtractVue<typeof baseMixins> {\n attach: boolean | string | Element\n offsetY: boolean\n offsetX: boolean\n $refs: {\n content: HTMLElement\n activator: HTMLElement\n }\n}\n\n/* @vue/component */\nexport default baseMixins.extend<options>().extend({\n name: 'menuable',\n\n props: {\n allowOverflow: Boolean,\n light: Boolean,\n dark: Boolean,\n maxWidth: {\n type: [Number, String],\n default: 'auto',\n },\n minWidth: [Number, String],\n nudgeBottom: {\n type: [Number, String],\n default: 0,\n },\n nudgeLeft: {\n type: [Number, String],\n default: 0,\n },\n nudgeRight: {\n type: [Number, String],\n default: 0,\n },\n nudgeTop: {\n type: [Number, String],\n default: 0,\n },\n nudgeWidth: {\n type: [Number, String],\n default: 0,\n },\n offsetOverflow: Boolean,\n openOnClick: Boolean,\n positionX: {\n type: Number,\n default: null,\n },\n positionY: {\n type: Number,\n default: null,\n },\n zIndex: {\n type: [Number, String],\n default: null,\n },\n },\n\n data: () => ({\n absoluteX: 0,\n absoluteY: 0,\n activatedBy: null as EventTarget | null,\n activatorFixed: false,\n dimensions: {\n activator: {\n top: 0,\n left: 0,\n bottom: 0,\n right: 0,\n width: 0,\n height: 0,\n offsetTop: 0,\n scrollHeight: 0,\n offsetLeft: 0,\n },\n content: {\n top: 0,\n left: 0,\n bottom: 0,\n right: 0,\n width: 0,\n height: 0,\n offsetTop: 0,\n scrollHeight: 0,\n },\n },\n hasJustFocused: false,\n hasWindow: false,\n inputActivator: false,\n isContentActive: false,\n pageWidth: 0,\n pageYOffset: 0,\n stackClass: 'v-menu__content--active',\n stackMinZIndex: 6,\n }),\n\n computed: {\n computedLeft () {\n const a = this.dimensions.activator\n const c = this.dimensions.content\n const activatorLeft = (this.attach !== false ? a.offsetLeft : a.left) || 0\n const minWidth = Math.max(a.width, c.width)\n let left = 0\n left += this.left ? activatorLeft - (minWidth - a.width) : activatorLeft\n if (this.offsetX) {\n const maxWidth = isNaN(Number(this.maxWidth))\n ? a.width\n : Math.min(a.width, Number(this.maxWidth))\n\n left += this.left ? -maxWidth : a.width\n }\n if (this.nudgeLeft) left -= parseInt(this.nudgeLeft)\n if (this.nudgeRight) left += parseInt(this.nudgeRight)\n\n return left\n },\n computedTop () {\n const a = this.dimensions.activator\n const c = this.dimensions.content\n let top = 0\n\n if (this.top) top += a.height - c.height\n if (this.attach !== false) top += a.offsetTop\n else top += a.top + this.pageYOffset\n if (this.offsetY) top += this.top ? -a.height : a.height\n if (this.nudgeTop) top -= parseInt(this.nudgeTop)\n if (this.nudgeBottom) top += parseInt(this.nudgeBottom)\n\n return top\n },\n hasActivator (): boolean {\n return !!this.$slots.activator || !!this.$scopedSlots.activator || !!this.activator || !!this.inputActivator\n },\n },\n\n watch: {\n disabled (val) {\n val && this.callDeactivate()\n },\n isActive (val) {\n if (this.disabled) return\n\n val ? this.callActivate() : this.callDeactivate()\n },\n positionX: 'updateDimensions',\n positionY: 'updateDimensions',\n },\n\n beforeMount () {\n this.hasWindow = typeof window !== 'undefined'\n },\n\n methods: {\n absolutePosition () {\n return {\n offsetTop: 0,\n offsetLeft: 0,\n scrollHeight: 0,\n top: this.positionY || this.absoluteY,\n bottom: this.positionY || this.absoluteY,\n left: this.positionX || this.absoluteX,\n right: this.positionX || this.absoluteX,\n height: 0,\n width: 0,\n }\n },\n activate () {},\n calcLeft (menuWidth: number) {\n return convertToUnit(this.attach !== false\n ? this.computedLeft\n : this.calcXOverflow(this.computedLeft, menuWidth))\n },\n calcTop () {\n return convertToUnit(this.attach !== false\n ? this.computedTop\n : this.calcYOverflow(this.computedTop))\n },\n calcXOverflow (left: number, menuWidth: number) {\n const xOverflow = left + menuWidth - this.pageWidth + 12\n\n if ((!this.left || this.right) && xOverflow > 0) {\n left = Math.max(left - xOverflow, 0)\n } else {\n left = Math.max(left, 12)\n }\n\n return left + this.getOffsetLeft()\n },\n calcYOverflow (top: number) {\n const documentHeight = this.getInnerHeight()\n const toTop = this.pageYOffset + documentHeight\n const activator = this.dimensions.activator\n const contentHeight = this.dimensions.content.height\n const totalHeight = top + contentHeight\n const isOverflowing = toTop < totalHeight\n\n // If overflowing bottom and offset\n // TODO: set 'bottom' position instead of 'top'\n if (isOverflowing &&\n this.offsetOverflow &&\n // If we don't have enough room to offset\n // the overflow, don't offset\n activator.top > contentHeight\n ) {\n top = this.pageYOffset + (activator.top - contentHeight)\n // If overflowing bottom\n } else if (isOverflowing && !this.allowOverflow) {\n top = toTop - contentHeight - 12\n // If overflowing top\n } else if (top < this.pageYOffset && !this.allowOverflow) {\n top = this.pageYOffset + 12\n }\n\n return top < 12 ? 12 : top\n },\n callActivate () {\n if (!this.hasWindow) return\n\n this.activate()\n },\n callDeactivate () {\n this.isContentActive = false\n\n this.deactivate()\n },\n checkForPageYOffset () {\n if (this.hasWindow) {\n this.pageYOffset = this.activatorFixed ? 0 : this.getOffsetTop()\n }\n },\n checkActivatorFixed () {\n if (this.attach !== false) return\n let el = this.getActivator()\n while (el) {\n if (window.getComputedStyle(el).position === 'fixed') {\n this.activatorFixed = true\n return\n }\n el = el.offsetParent as HTMLElement\n }\n this.activatorFixed = false\n },\n deactivate () {},\n genActivatorListeners () {\n const listeners = Activatable.options.methods.genActivatorListeners.call(this)\n\n const onClick = listeners.click\n\n listeners.click = (e: MouseEvent & KeyboardEvent) => {\n if (this.openOnClick) {\n onClick && onClick(e)\n }\n\n this.absoluteX = e.clientX\n this.absoluteY = e.clientY\n }\n\n return listeners\n },\n getInnerHeight () {\n if (!this.hasWindow) return 0\n\n return window.innerHeight ||\n document.documentElement.clientHeight\n },\n getOffsetLeft () {\n if (!this.hasWindow) return 0\n\n return window.pageXOffset ||\n document.documentElement.scrollLeft\n },\n getOffsetTop () {\n if (!this.hasWindow) return 0\n\n return window.pageYOffset ||\n document.documentElement.scrollTop\n },\n getRoundedBoundedClientRect (el: Element) {\n const rect = el.getBoundingClientRect()\n return {\n top: Math.round(rect.top),\n left: Math.round(rect.left),\n bottom: Math.round(rect.bottom),\n right: Math.round(rect.right),\n width: Math.round(rect.width),\n height: Math.round(rect.height),\n }\n },\n measure (el: HTMLElement) {\n if (!el || !this.hasWindow) return null\n\n const rect = this.getRoundedBoundedClientRect(el)\n\n // Account for activator margin\n if (this.attach !== false) {\n const style = window.getComputedStyle(el)\n\n rect.left = parseInt(style.marginLeft!)\n rect.top = parseInt(style.marginTop!)\n }\n\n return rect\n },\n sneakPeek (cb: () => void) {\n requestAnimationFrame(() => {\n const el = this.$refs.content\n\n if (!el || el.style.display !== 'none') {\n cb()\n return\n }\n\n el.style.display = 'inline-block'\n cb()\n el.style.display = 'none'\n })\n },\n startTransition () {\n return new Promise<void>(resolve => requestAnimationFrame(() => {\n this.isContentActive = this.hasJustFocused = this.isActive\n resolve()\n }))\n },\n updateDimensions () {\n this.hasWindow = typeof window !== 'undefined'\n this.checkActivatorFixed()\n this.checkForPageYOffset()\n this.pageWidth = document.documentElement.clientWidth\n\n const dimensions: any = {}\n\n // Activator should already be shown\n if (!this.hasActivator || this.absolute) {\n dimensions.activator = this.absolutePosition()\n } else {\n const activator = this.getActivator()\n if (!activator) return\n\n dimensions.activator = this.measure(activator)\n dimensions.activator.offsetLeft = activator.offsetLeft\n if (this.attach !== false) {\n // account for css padding causing things to not line up\n // this is mostly for v-autocomplete, hopefully it won't break anything\n dimensions.activator.offsetTop = activator.offsetTop\n } else {\n dimensions.activator.offsetTop = 0\n }\n }\n\n // Display and hide to get dimensions\n this.sneakPeek(() => {\n dimensions.content = this.measure(this.$refs.content)\n\n this.dimensions = dimensions\n })\n },\n },\n})\n","// Components\nimport VOverlay from '../../components/VOverlay'\n\n// Utilities\nimport {\n keyCodes,\n addOnceEventListener,\n addPassiveEventListener,\n getZIndex,\n} from '../../util/helpers'\n\n// Types\nimport Vue from 'vue'\n\ninterface Toggleable extends Vue {\n isActive?: boolean\n}\n\ninterface Stackable extends Vue {\n activeZIndex: number\n}\n\ninterface options {\n absolute?: boolean\n $refs: {\n dialog?: HTMLElement\n content?: HTMLElement\n }\n}\n\n/* @vue/component */\nexport default Vue.extend<Vue & Toggleable & Stackable & options>().extend({\n name: 'overlayable',\n\n props: {\n hideOverlay: Boolean,\n overlayColor: String,\n overlayOpacity: [Number, String],\n },\n\n data () {\n return {\n overlay: null as InstanceType<typeof VOverlay> | null,\n }\n },\n\n watch: {\n hideOverlay (value) {\n if (!this.isActive) return\n\n if (value) this.removeOverlay()\n else this.genOverlay()\n },\n },\n\n beforeDestroy () {\n this.removeOverlay()\n },\n\n methods: {\n createOverlay () {\n const overlay = new VOverlay({\n propsData: {\n absolute: this.absolute,\n value: false,\n color: this.overlayColor,\n opacity: this.overlayOpacity,\n },\n })\n\n overlay.$mount()\n\n const parent = this.absolute\n ? this.$el.parentNode\n : document.querySelector('[data-app]')\n\n parent && parent.insertBefore(overlay.$el, parent.firstChild)\n\n this.overlay = overlay\n },\n genOverlay () {\n this.hideScroll()\n\n if (this.hideOverlay) return\n\n if (!this.overlay) this.createOverlay()\n\n requestAnimationFrame(() => {\n if (!this.overlay) return\n\n if (this.activeZIndex !== undefined) {\n this.overlay.zIndex = String(this.activeZIndex - 1)\n } else if (this.$el) {\n this.overlay.zIndex = getZIndex(this.$el)\n }\n\n this.overlay.value = true\n })\n\n return true\n },\n /** removeOverlay(false) will not restore the scollbar afterwards */\n removeOverlay (showScroll = true) {\n if (this.overlay) {\n addOnceEventListener(this.overlay.$el, 'transitionend', () => {\n if (\n !this.overlay ||\n !this.overlay.$el ||\n !this.overlay.$el.parentNode ||\n this.overlay.value\n ) return\n\n this.overlay.$el.parentNode.removeChild(this.overlay.$el)\n this.overlay.$destroy()\n this.overlay = null\n })\n\n this.overlay.value = false\n }\n\n showScroll && this.showScroll()\n },\n scrollListener (e: WheelEvent & KeyboardEvent) {\n if (e.type === 'keydown') {\n if (\n ['INPUT', 'TEXTAREA', 'SELECT'].includes((e.target as Element).tagName) ||\n // https://github.com/vuetifyjs/vuetify/issues/4715\n (e.target as HTMLElement).isContentEditable\n ) return\n\n const up = [keyCodes.up, keyCodes.pageup]\n const down = [keyCodes.down, keyCodes.pagedown]\n\n if (up.includes(e.keyCode)) {\n (e as any).deltaY = -1\n } else if (down.includes(e.keyCode)) {\n (e as any).deltaY = 1\n } else {\n return\n }\n }\n\n if (e.target === this.overlay ||\n (e.type !== 'keydown' && e.target === document.body) ||\n this.checkPath(e)) e.preventDefault()\n },\n hasScrollbar (el?: Element) {\n if (!el || el.nodeType !== Node.ELEMENT_NODE) return false\n\n const style = window.getComputedStyle(el)\n return ['auto', 'scroll'].includes(style.overflowY!) && el.scrollHeight > el.clientHeight\n },\n shouldScroll (el: Element, delta: number) {\n if (el.scrollTop === 0 && delta < 0) return true\n return el.scrollTop + el.clientHeight === el.scrollHeight && delta > 0\n },\n isInside (el: Element, parent: Element): boolean {\n if (el === parent) {\n return true\n } else if (el === null || el === document.body) {\n return false\n } else {\n return this.isInside(el.parentNode as Element, parent)\n }\n },\n checkPath (e: WheelEvent) {\n const path = e.path || this.composedPath(e)\n const delta = e.deltaY\n\n if (e.type === 'keydown' && path[0] === document.body) {\n const dialog = this.$refs.dialog\n // getSelection returns null in firefox in some edge cases, can be ignored\n const selected = window.getSelection()!.anchorNode as Element\n if (dialog && this.hasScrollbar(dialog) && this.isInside(selected, dialog)) {\n return this.shouldScroll(dialog, delta)\n }\n return true\n }\n\n for (let index = 0; index < path.length; index++) {\n const el = path[index]\n\n if (el === document) return true\n if (el === document.documentElement) return true\n if (el === this.$refs.content) return true\n\n if (this.hasScrollbar(el as Element)) return this.shouldScroll(el as Element, delta)\n }\n\n return true\n },\n /**\n * Polyfill for Event.prototype.composedPath\n */\n composedPath (e: WheelEvent): EventTarget[] {\n if (e.composedPath) return e.composedPath()\n\n const path = []\n let el = e.target as Element\n\n while (el) {\n path.push(el)\n\n if (el.tagName === 'HTML') {\n path.push(document)\n path.push(window)\n\n return path\n }\n\n el = el.parentElement!\n }\n return path\n },\n hideScroll () {\n if (this.$vuetify.breakpoint.smAndDown) {\n document.documentElement!.classList.add('overflow-y-hidden')\n } else {\n addPassiveEventListener(window, 'wheel', this.scrollListener as EventHandlerNonNull, { passive: false })\n window.addEventListener('keydown', this.scrollListener as EventHandlerNonNull)\n }\n },\n showScroll () {\n document.documentElement!.classList.remove('overflow-y-hidden')\n window.removeEventListener('wheel', this.scrollListener as EventHandlerNonNull)\n window.removeEventListener('keydown', this.scrollListener as EventHandlerNonNull)\n },\n },\n})\n","// Mixins\nimport Colorable from '../colorable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { kebabCase } from '../../util/helpers'\n\n// Types\nimport { VNodeChildren } from 'vue'\n\n/* @vue/component */\nexport default mixins(\n Colorable\n).extend({\n methods: {\n genPickerButton (\n prop: string,\n value: any,\n content: VNodeChildren,\n readonly = false,\n staticClass = ''\n ) {\n const active = (this as any)[prop] === value\n const click = (event: Event) => {\n event.stopPropagation()\n this.$emit(`update:${kebabCase(prop)}`, value)\n }\n\n return this.$createElement('div', {\n staticClass: `v-picker__title__btn ${staticClass}`.trim(),\n class: {\n 'v-picker__title__btn--active': active,\n 'v-picker__title__btn--readonly': readonly,\n },\n on: (active || readonly) ? undefined : { click },\n }, Array.isArray(content) ? content : [content])\n },\n },\n})\n","// Components\nimport VPicker from '../../components/VPicker'\n\n// Mixins\nimport Colorable from '../colorable'\nimport Themeable from '../themeable'\n\n// Utils\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\n\nexport default mixins(\n Colorable,\n Themeable\n/* @vue/component */\n).extend({\n name: 'picker',\n\n props: {\n fullWidth: Boolean,\n headerColor: String,\n landscape: Boolean,\n noTitle: Boolean,\n width: {\n type: [Number, String],\n default: 290,\n },\n },\n\n methods: {\n genPickerTitle (): VNode | null {\n return null\n },\n genPickerBody (): VNode | null {\n return null\n },\n genPickerActionsSlot () {\n return this.$scopedSlots.default ? this.$scopedSlots.default({\n save: (this as any).save,\n cancel: (this as any).cancel,\n }) : this.$slots.default\n },\n genPicker (staticClass: string) {\n const children: VNode[] = []\n\n if (!this.noTitle) {\n const title = this.genPickerTitle()\n title && children.push(title)\n }\n\n const body = this.genPickerBody()\n body && children.push(body)\n\n children.push(this.$createElement('template', { slot: 'actions' }, [this.genPickerActionsSlot()]))\n\n return this.$createElement(VPicker, {\n staticClass,\n props: {\n color: this.headerColor || this.color,\n dark: this.dark,\n fullWidth: this.fullWidth,\n landscape: this.landscape,\n light: this.light,\n width: this.width,\n noTitle: this.noTitle,\n },\n }, children)\n },\n },\n})\n","import Vue from 'vue'\nimport { filterObjectOnKeys } from '../../util/helpers'\nimport { OptionsVue, VueConstructor } from 'vue/types/vue'\n\nconst availableProps = {\n absolute: Boolean,\n bottom: Boolean,\n fixed: Boolean,\n left: Boolean,\n right: Boolean,\n top: Boolean,\n}\ntype props = Record<keyof typeof availableProps, boolean>\n\nexport type Positionable<S extends keyof props> = VueConstructor<Vue & { [P in S]: boolean }, { [P in S]: BooleanConstructor }>\n\nexport function factory <S extends keyof props> (selected?: S[]): Positionable<S>\nexport function factory (selected: undefined): OptionsVue<Vue, {}, {}, {}, props, typeof availableProps>\nexport function factory (selected: any[] = []): any {\n return Vue.extend({\n name: 'positionable',\n props: selected.length ? filterObjectOnKeys(availableProps, selected) : availableProps,\n })\n}\n\nexport default factory()\n\n// Add a `*` before the second `/`\n/* Tests /\nlet single = factory(['top']).extend({\n created () {\n this.top\n this.bottom\n this.absolute\n }\n})\n\nlet some = factory(['top', 'bottom']).extend({\n created () {\n this.top\n this.bottom\n this.absolute\n }\n})\n\nlet all = factory().extend({\n created () {\n this.top\n this.bottom\n this.absolute\n this.foobar\n }\n})\n/**/\n","import Vue, { VueConstructor } from 'vue'\n\n/* eslint-disable-next-line no-use-before-define */\nexport type Proxyable<T extends string = 'value'> = VueConstructor<Vue & {\n internalLazyValue: unknown\n internalValue: unknown\n} & Record<T, any>>\n\nexport function factory<T extends string = 'value'> (prop?: T, event?: string): Proxyable<T>\nexport function factory (\n prop = 'value',\n event = 'change'\n) {\n return Vue.extend({\n name: 'proxyable',\n\n model: {\n prop,\n event,\n },\n\n props: {\n [prop]: {\n required: false,\n },\n },\n\n data () {\n return {\n internalLazyValue: this[prop] as unknown,\n }\n },\n\n computed: {\n internalValue: {\n get (): unknown {\n return this.internalLazyValue\n },\n set (val: any) {\n if (val === this.internalLazyValue) return\n\n this.internalLazyValue = val\n\n this.$emit(event, val)\n },\n },\n },\n\n watch: {\n [prop] (val) {\n this.internalLazyValue = val\n },\n },\n })\n}\n\n/* eslint-disable-next-line no-redeclare */\nconst Proxyable = factory()\n\nexport default Proxyable\n","import Vue from 'vue'\nimport { VueConstructor } from 'vue/types/vue'\nimport { consoleWarn } from '../../util/console'\n\nfunction generateWarning (child: string, parent: string) {\n return () => consoleWarn(`The ${child} component must be used inside a ${parent}`)\n}\n\nexport type Registrable<T extends string, C extends VueConstructor | null = null> = VueConstructor<Vue & {\n [K in T]: C extends VueConstructor ? InstanceType<C> : {\n register (...props: any[]): void\n unregister (self: any): void\n }\n}>\n\nexport function inject<\n T extends string, C extends VueConstructor | null = null\n> (namespace: T, child?: string, parent?: string): Registrable<T, C> {\n const defaultImpl = child && parent ? {\n register: generateWarning(child, parent),\n unregister: generateWarning(child, parent),\n } : null\n\n return Vue.extend({\n name: 'registrable-inject',\n\n inject: {\n [namespace]: {\n default: defaultImpl,\n },\n },\n })\n}\n\nexport function provide (namespace: string, self = false) {\n return Vue.extend({\n name: 'registrable-provide',\n\n methods: self ? {} : {\n register: null,\n unregister: null,\n },\n provide (): object {\n return {\n [namespace]: self ? this : {\n register: this.register,\n unregister: this.unregister,\n },\n }\n },\n })\n}\n","import Vue from 'vue'\n\n/* @vue/component */\nexport default Vue.extend({\n name: 'returnable',\n\n props: {\n returnValue: null as any,\n },\n\n data: () => ({\n isActive: false,\n originalValue: null as any,\n }),\n\n watch: {\n isActive (val) {\n if (val) {\n this.originalValue = this.returnValue\n } else {\n this.$emit('update:return-value', this.originalValue)\n }\n },\n },\n\n methods: {\n save (value: any) {\n this.originalValue = value\n setTimeout(() => {\n this.isActive = false\n })\n },\n },\n})\n","// Directives\nimport ripple from '../../directives/ripple'\n\n// Types\nimport Vue, { VNode, VNodeData, VNodeDirective } from 'vue'\n\nexport default Vue.extend({\n name: 'rippleable',\n\n directives: { ripple },\n\n props: {\n ripple: {\n type: [Boolean, Object],\n default: true,\n },\n },\n\n methods: {\n genRipple (data: VNodeData = {}): VNode | null {\n if (!this.ripple) return null\n\n data.staticClass = 'v-input--selection-controls__ripple'\n\n data.directives = data.directives || []\n data.directives.push({\n name: 'ripple',\n value: { center: true },\n } as VNodeDirective)\n data.on = Object.assign({\n click: this.onChange,\n }, this.$listeners)\n\n return this.$createElement('div', data)\n },\n onChange () {},\n },\n})\n","import Vue, { VNodeData } from 'vue'\n\n// Types\nimport { PropValidator } from 'vue/types/options'\n\n// Directives\nimport Ripple, { RippleOptions } from '../../directives/ripple'\n\n// Utilities\nimport { getObjectValueByPath } from '../../util/helpers'\n\nexport default Vue.extend({\n name: 'routable',\n\n directives: {\n Ripple,\n },\n\n props: {\n activeClass: String,\n append: Boolean,\n disabled: Boolean,\n exact: {\n type: Boolean,\n default: undefined,\n } as PropValidator<boolean | undefined>,\n exactActiveClass: String,\n link: Boolean,\n href: [String, Object],\n to: [String, Object],\n nuxt: Boolean,\n replace: Boolean,\n ripple: {\n type: [Boolean, Object],\n default: null,\n },\n tag: String,\n target: String,\n },\n\n data: () => ({\n isActive: false,\n proxyClass: '',\n }),\n\n computed: {\n classes (): object {\n const classes: Record<string, boolean> = {}\n\n if (this.to) return classes\n\n if (this.activeClass) classes[this.activeClass] = this.isActive\n if (this.proxyClass) classes[this.proxyClass] = this.isActive\n\n return classes\n },\n computedRipple (): RippleOptions | boolean {\n return this.ripple != null ? this.ripple : !this.disabled && this.isClickable\n },\n isClickable (): boolean {\n if (this.disabled) return false\n\n return Boolean(\n this.isLink ||\n this.$listeners.click ||\n this.$listeners['!click'] ||\n this.$attrs.tabindex\n )\n },\n isLink (): boolean {\n return this.to || this.href || this.link\n },\n styles: () => ({}),\n },\n\n watch: {\n $route: 'onRouteChange',\n },\n\n methods: {\n click (e: MouseEvent): void {\n this.$emit('click', e)\n },\n generateRouteLink () {\n let exact = this.exact\n let tag\n\n const data: VNodeData = {\n attrs: {\n tabindex: 'tabindex' in this.$attrs ? this.$attrs.tabindex : undefined,\n },\n class: this.classes,\n style: this.styles,\n props: {},\n directives: [{\n name: 'ripple',\n value: this.computedRipple,\n }],\n [this.to ? 'nativeOn' : 'on']: {\n ...this.$listeners,\n click: this.click,\n },\n ref: 'link',\n }\n\n if (typeof this.exact === 'undefined') {\n exact = this.to === '/' ||\n (this.to === Object(this.to) && this.to.path === '/')\n }\n\n if (this.to) {\n // Add a special activeClass hook\n // for component level styles\n let activeClass = this.activeClass\n let exactActiveClass = this.exactActiveClass || activeClass\n\n if (this.proxyClass) {\n activeClass = `${activeClass} ${this.proxyClass}`.trim()\n exactActiveClass = `${exactActiveClass} ${this.proxyClass}`.trim()\n }\n\n tag = this.nuxt ? 'nuxt-link' : 'router-link'\n Object.assign(data.props, {\n to: this.to,\n exact,\n activeClass,\n exactActiveClass,\n append: this.append,\n replace: this.replace,\n })\n } else {\n tag = (this.href && 'a') || this.tag || 'div'\n\n if (tag === 'a' && this.href) data.attrs!.href = this.href\n }\n\n if (this.target) data.attrs!.target = this.target\n\n return { tag, data }\n },\n onRouteChange () {\n if (!this.to || !this.$refs.link || !this.$route) return\n const activeClass = `${this.activeClass} ${this.proxyClass || ''}`.trim()\n\n const path = `_vnode.data.class.${activeClass}`\n\n this.$nextTick(() => {\n /* istanbul ignore else */\n if (getObjectValueByPath(this.$refs.link, path)) {\n this.toggle()\n }\n })\n },\n toggle: () => { /* noop */ },\n },\n})\n","// Directives\nimport { Scroll } from '../../directives'\n\n// Utilities\nimport { consoleWarn } from '../../util/console'\n\n// Types\nimport Vue from 'vue'\n\n/**\n * Scrollable\n *\n * Used for monitoring scrolling and\n * invoking functions based upon\n * scrolling thresholds being\n * met.\n */\n/* @vue/component */\nexport default Vue.extend({\n name: 'scrollable',\n\n directives: { Scroll },\n\n props: {\n scrollTarget: String,\n scrollThreshold: [String, Number],\n },\n\n data: () => ({\n currentScroll: 0,\n currentThreshold: 0,\n isActive: false,\n isScrollingUp: false,\n previousScroll: 0,\n savedScroll: 0,\n target: null as Element | null,\n }),\n\n computed: {\n /**\n * A computed property that returns\n * whether scrolling features are\n * enabled or disabled\n */\n canScroll (): boolean {\n return typeof window !== 'undefined'\n },\n /**\n * The threshold that must be met before\n * thresholdMet function is invoked\n */\n computedScrollThreshold (): number {\n return this.scrollThreshold\n ? Number(this.scrollThreshold)\n : 300\n },\n },\n\n watch: {\n isScrollingUp () {\n this.savedScroll = this.savedScroll || this.currentScroll\n },\n isActive () {\n this.savedScroll = 0\n },\n },\n\n mounted () {\n if (this.scrollTarget) {\n this.target = document.querySelector(this.scrollTarget)\n\n if (!this.target) {\n consoleWarn(`Unable to locate element with identifier ${this.scrollTarget}`, this)\n }\n }\n },\n\n methods: {\n onScroll () {\n if (!this.canScroll) return\n\n this.previousScroll = this.currentScroll\n this.currentScroll = this.target\n ? this.target.scrollTop\n : window.pageYOffset\n\n this.isScrollingUp = this.currentScroll < this.previousScroll\n this.currentThreshold = Math.abs(this.currentScroll - this.computedScrollThreshold)\n\n this.$nextTick(() => {\n if (\n Math.abs(this.currentScroll - this.savedScroll) >\n this.computedScrollThreshold\n ) this.thresholdMet()\n })\n },\n /**\n * The method invoked when\n * scrolling in any direction\n * has exceeded the threshold\n */\n thresholdMet () { /* noop */ },\n },\n})\n","// Components\nimport VInput from '../../components/VInput'\n\n// Mixins\nimport Rippleable from '../rippleable'\nimport Comparable from '../comparable'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n/* @vue/component */\nexport default mixins(\n VInput,\n Rippleable,\n Comparable\n).extend({\n name: 'selectable',\n\n model: {\n prop: 'inputValue',\n event: 'change',\n },\n\n props: {\n id: String,\n inputValue: null as any,\n falseValue: null as any,\n trueValue: null as any,\n multiple: {\n type: Boolean,\n default: null,\n },\n label: String,\n },\n\n data () {\n return {\n hasColor: this.inputValue,\n lazyValue: this.inputValue,\n }\n },\n\n computed: {\n computedColor (): string | undefined {\n if (!this.isActive) return undefined\n if (this.color) return this.color\n if (this.isDark && !this.appIsDark) return 'white'\n return 'accent'\n },\n isMultiple (): boolean {\n return this.multiple === true || (this.multiple === null && Array.isArray(this.internalValue))\n },\n isActive (): boolean {\n const value = this.value\n const input = this.internalValue\n\n if (this.isMultiple) {\n if (!Array.isArray(input)) return false\n\n return input.some(item => this.valueComparator(item, value))\n }\n\n if (this.trueValue === undefined || this.falseValue === undefined) {\n return value\n ? this.valueComparator(value, input)\n : Boolean(input)\n }\n\n return this.valueComparator(input, this.trueValue)\n },\n isDirty (): boolean {\n return this.isActive\n },\n },\n\n watch: {\n inputValue (val) {\n this.lazyValue = val\n this.hasColor = val\n },\n },\n\n methods: {\n genLabel () {\n const label = VInput.options.methods.genLabel.call(this)\n\n if (!label) return label\n\n label!.data!.on = {\n click: (e: Event) => {\n // Prevent label from\n // causing the input\n // to focus\n e.preventDefault()\n\n this.onChange()\n },\n }\n\n return label\n },\n genInput (type: string, attrs: object) {\n return this.$createElement('input', {\n attrs: Object.assign({\n 'aria-checked': this.isActive.toString(),\n disabled: this.isDisabled,\n id: this.computedId,\n role: type,\n type,\n }, attrs),\n domProps: {\n value: this.value,\n checked: this.isActive,\n },\n on: {\n blur: this.onBlur,\n change: this.onChange,\n focus: this.onFocus,\n keydown: this.onKeydown,\n },\n ref: 'input',\n })\n },\n onBlur () {\n this.isFocused = false\n },\n onChange () {\n if (this.isDisabled) return\n\n const value = this.value\n let input = this.internalValue\n\n if (this.isMultiple) {\n if (!Array.isArray(input)) {\n input = []\n }\n\n const length = input.length\n\n input = input.filter((item: any) => !this.valueComparator(item, value))\n\n if (input.length === length) {\n input.push(value)\n }\n } else if (this.trueValue !== undefined && this.falseValue !== undefined) {\n input = this.valueComparator(input, this.trueValue) ? this.falseValue : this.trueValue\n } else if (value) {\n input = this.valueComparator(input, value) ? null : value\n } else {\n input = !input\n }\n\n this.validate(true, input)\n this.internalValue = input\n this.hasColor = input\n },\n onFocus () {\n this.isFocused = true\n },\n /** @abstract */\n onKeydown (e: Event) {},\n },\n})\n","import Vue from 'vue'\n\nexport default Vue.extend({\n name: 'sizeable',\n\n props: {\n large: Boolean,\n small: Boolean,\n xLarge: Boolean,\n xSmall: Boolean,\n },\n\n computed: {\n medium (): boolean {\n return Boolean(\n !this.xSmall &&\n !this.small &&\n !this.large &&\n !this.xLarge\n )\n },\n sizeableClasses (): object {\n return {\n 'v-size--x-small': this.xSmall,\n 'v-size--small': this.small,\n 'v-size--default': this.medium,\n 'v-size--large': this.large,\n 'v-size--x-large': this.xLarge,\n }\n },\n },\n})\n","import Vue from 'vue'\n\n/**\n * SSRBootable\n *\n * @mixin\n *\n * Used in layout components (drawer, toolbar, content)\n * to avoid an entry animation when using SSR\n */\nexport default Vue.extend({\n name: 'ssr-bootable',\n\n data: () => ({\n isBooted: false,\n }),\n\n mounted () {\n // Use setAttribute instead of dataset\n // because dataset does not work well\n // with unit tests\n window.requestAnimationFrame(() => {\n this.$el.setAttribute('data-booted', 'true')\n this.isBooted = true\n })\n },\n})\n","import Vue from 'vue'\n\nimport { getZIndex } from '../../util/helpers'\n\ninterface options extends Vue {\n $refs: {\n content: Element\n }\n}\n\n/* @vue/component */\nexport default Vue.extend<options>().extend({\n name: 'stackable',\n\n data () {\n return {\n stackElement: null as Element | null,\n stackExclude: null as Element[] | null,\n stackMinZIndex: 0,\n isActive: false,\n }\n },\n computed: {\n activeZIndex (): number {\n if (typeof window === 'undefined') return 0\n\n const content = this.stackElement || this.$refs.content\n // Return current zindex if not active\n\n const index = !this.isActive\n ? getZIndex(content)\n : this.getMaxZIndex(this.stackExclude || [content]) + 2\n\n if (index == null) return index\n\n // Return max current z-index (excluding self) + 2\n // (2 to leave room for an overlay below, if needed)\n return parseInt(index)\n },\n },\n methods: {\n getMaxZIndex (exclude: Element[] = []) {\n const base = this.$el\n // Start with lowest allowed z-index or z-index of\n // base component's element, whichever is greater\n const zis = [this.stackMinZIndex, getZIndex(base)]\n // Convert the NodeList to an array to\n // prevent an Edge bug with Symbol.iterator\n // https://github.com/vuetifyjs/vuetify/issues/2146\n const activeElements = [\n ...document.getElementsByClassName('v-menu__content--active'),\n ...document.getElementsByClassName('v-dialog__content--active'),\n ]\n\n // Get z-index for all active dialogs\n for (let index = 0; index < activeElements.length; index++) {\n if (!exclude.includes(activeElements[index])) {\n zis.push(getZIndex(activeElements[index]))\n }\n }\n\n return Math.max(...zis)\n },\n },\n})\n","import Vue from 'vue'\nimport { PropValidator, RenderContext } from 'vue/types/options'\n\n/* eslint-disable-next-line no-use-before-define */\ninterface Themeable extends Vue {\n theme: {\n isDark: boolean\n }\n}\n\nexport function functionalThemeClasses (context: RenderContext): object {\n const vm = {\n ...context.props,\n ...context.injections,\n }\n const isDark = Themeable.options.computed.isDark.call(vm)\n return Themeable.options.computed.themeClasses.call({ isDark })\n}\n\n/* @vue/component */\nconst Themeable = Vue.extend<Themeable>().extend({\n name: 'themeable',\n\n provide (): object {\n return {\n theme: this.themeableProvide,\n }\n },\n\n inject: {\n theme: {\n default: {\n isDark: false,\n },\n },\n },\n\n props: {\n dark: {\n type: Boolean,\n default: null,\n } as PropValidator<boolean | null>,\n light: {\n type: Boolean,\n default: null,\n } as PropValidator<boolean | null>,\n },\n\n data () {\n return {\n themeableProvide: {\n isDark: false,\n },\n }\n },\n\n computed: {\n appIsDark (): boolean {\n return this.$vuetify.theme.dark || false\n },\n isDark (): boolean {\n if (this.dark === true) {\n // explicitly dark\n return true\n } else if (this.light === true) {\n // explicitly light\n return false\n } else {\n // inherit from parent, or default false if there is none\n return this.theme.isDark\n }\n },\n themeClasses (): object {\n return {\n 'theme--dark': this.isDark,\n 'theme--light': !this.isDark,\n }\n },\n /** Used by menus and dialogs, inherits from v-app instead of the parent */\n rootIsDark (): boolean {\n if (this.dark === true) {\n // explicitly dark\n return true\n } else if (this.light === true) {\n // explicitly light\n return false\n } else {\n // inherit from v-app\n return this.appIsDark\n }\n },\n rootThemeClasses (): Dictionary<boolean> {\n return {\n 'theme--dark': this.rootIsDark,\n 'theme--light': !this.rootIsDark,\n }\n },\n },\n\n watch: {\n isDark: {\n handler (newVal, oldVal) {\n if (newVal !== oldVal) {\n this.themeableProvide.isDark = this.isDark\n }\n },\n immediate: true,\n },\n },\n})\n\nexport default Themeable\n","import Vue, { VueConstructor } from 'vue'\n\n/* eslint-disable-next-line no-use-before-define */\nexport type Toggleable<T extends string = 'value'> = VueConstructor<Vue & { isActive: boolean } & Record<T, any>>\n\nexport function factory<T extends string = 'value'> (prop?: T, event?: string): Toggleable<T>\nexport function factory (prop = 'value', event = 'input') {\n return Vue.extend({\n name: 'toggleable',\n\n model: { prop, event },\n\n props: {\n [prop]: { required: false },\n },\n\n data () {\n return {\n isActive: !!this[prop],\n }\n },\n\n watch: {\n [prop] (val) {\n this.isActive = !!val\n },\n isActive (val) {\n !!val !== this[prop] && this.$emit(event, val)\n },\n },\n })\n}\n\n/* eslint-disable-next-line no-redeclare */\nconst Toggleable = factory()\n\nexport default Toggleable\n","import Vue from 'vue'\n\nexport default Vue.extend({\n name: 'transitionable',\n\n props: {\n mode: String,\n origin: String,\n transition: String,\n },\n})\n","import Vue from 'vue'\n\nexport default Vue.extend({\n name: 'translatable',\n\n props: {\n height: Number,\n },\n\n data: () => ({\n elOffsetTop: 0,\n parallax: 0,\n parallaxDist: 0,\n percentScrolled: 0,\n scrollTop: 0,\n windowHeight: 0,\n windowBottom: 0,\n }),\n\n computed: {\n imgHeight (): number {\n return this.objHeight()\n },\n },\n\n beforeDestroy () {\n window.removeEventListener('scroll', this.translate, false)\n window.removeEventListener('resize', this.translate, false)\n },\n\n methods: {\n calcDimensions () {\n const offset = this.$el.getBoundingClientRect()\n\n this.scrollTop = window.pageYOffset\n this.parallaxDist = this.imgHeight - this.height\n this.elOffsetTop = offset.top + this.scrollTop\n this.windowHeight = window.innerHeight\n this.windowBottom = this.scrollTop + this.windowHeight\n },\n listeners () {\n window.addEventListener('scroll', this.translate, false)\n window.addEventListener('resize', this.translate, false)\n },\n /** @abstract **/\n objHeight (): number {\n throw new Error('Not implemented !')\n },\n translate () {\n this.calcDimensions()\n\n this.percentScrolled = (\n (this.windowBottom - this.elOffsetTop) /\n (parseInt(this.height) + this.windowHeight)\n )\n\n this.parallax = Math.round(this.parallaxDist * this.percentScrolled)\n },\n },\n})\n","// Mixins\nimport Colorable from '../colorable'\nimport Themeable from '../themeable'\nimport { inject as RegistrableInject } from '../registrable'\n\n// Utilities\nimport { deepEqual } from '../../util/helpers'\nimport { consoleError } from '../../util/console'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { PropValidator } from 'vue/types/options'\nexport type VuetifyRuleValidator = (value: any) => string | boolean\nexport type VuetifyMessage = string | string[]\nexport type VuetifyRuleValidations = (VuetifyRuleValidator | string)[]\n\n/* @vue/component */\nexport default mixins(\n Colorable,\n RegistrableInject('form'),\n Themeable\n).extend({\n name: 'validatable',\n\n props: {\n disabled: Boolean,\n error: Boolean,\n errorCount: {\n type: [Number, String],\n default: 1,\n },\n errorMessages: {\n type: [String, Array],\n default: () => [],\n } as PropValidator<VuetifyMessage>,\n messages: {\n type: [String, Array],\n default: () => [],\n } as PropValidator<VuetifyMessage>,\n readonly: Boolean,\n rules: {\n type: Array,\n default: () => [],\n } as PropValidator<VuetifyRuleValidations>,\n success: Boolean,\n successMessages: {\n type: [String, Array],\n default: () => [],\n } as PropValidator<VuetifyMessage>,\n validateOnBlur: Boolean,\n value: { required: false },\n },\n\n data () {\n return {\n errorBucket: [] as string[],\n hasColor: false,\n hasFocused: false,\n hasInput: false,\n isFocused: false,\n isResetting: false,\n lazyValue: this.value,\n valid: false,\n }\n },\n\n computed: {\n computedColor (): string | undefined {\n if (this.disabled) return undefined\n if (this.color) return this.color\n // It's assumed that if the input is on a\n // dark background, the user will want to\n // have a white color. If the entire app\n // is setup to be dark, then they will\n // like want to use their primary color\n if (this.isDark && !this.appIsDark) return 'white'\n else return 'primary'\n },\n hasError (): boolean {\n return (\n this.internalErrorMessages.length > 0 ||\n this.errorBucket.length > 0 ||\n this.error\n )\n },\n // TODO: Add logic that allows the user to enable based\n // upon a good validation\n hasSuccess (): boolean {\n return (\n this.internalSuccessMessages.length > 0 ||\n this.success\n )\n },\n externalError (): boolean {\n return this.internalErrorMessages.length > 0 || this.error\n },\n hasMessages (): boolean {\n return this.validationTarget.length > 0\n },\n hasState (): boolean {\n if (this.disabled) return false\n\n return (\n this.hasSuccess ||\n (this.shouldValidate && this.hasError)\n )\n },\n internalErrorMessages (): VuetifyRuleValidations {\n return this.genInternalMessages(this.errorMessages)\n },\n internalMessages (): VuetifyRuleValidations {\n return this.genInternalMessages(this.messages)\n },\n internalSuccessMessages (): VuetifyRuleValidations {\n return this.genInternalMessages(this.successMessages)\n },\n internalValue: {\n get (): unknown {\n return this.lazyValue\n },\n set (val: any) {\n this.lazyValue = val\n\n this.$emit('input', val)\n },\n },\n shouldValidate (): boolean {\n if (this.externalError) return true\n if (this.isResetting) return false\n\n return this.validateOnBlur\n ? this.hasFocused && !this.isFocused\n : (this.hasInput || this.hasFocused)\n },\n validations (): VuetifyRuleValidations {\n return this.validationTarget.slice(0, Number(this.errorCount))\n },\n validationState (): string | undefined {\n if (this.disabled) return undefined\n if (this.hasError && this.shouldValidate) return 'error'\n if (this.hasSuccess) return 'success'\n if (this.hasColor) return this.computedColor\n return undefined\n },\n validationTarget (): VuetifyRuleValidations {\n if (this.internalErrorMessages.length > 0) {\n return this.internalErrorMessages\n } else if (this.successMessages.length > 0) {\n return this.internalSuccessMessages\n } else if (this.messages.length > 0) {\n return this.internalMessages\n } else if (this.shouldValidate) {\n return this.errorBucket\n } else return []\n },\n },\n\n watch: {\n rules: {\n handler (newVal, oldVal) {\n if (deepEqual(newVal, oldVal)) return\n this.validate()\n },\n deep: true,\n },\n internalValue () {\n // If it's the first time we're setting input,\n // mark it with hasInput\n this.hasInput = true\n this.validateOnBlur || this.$nextTick(this.validate)\n },\n isFocused (val) {\n // Should not check validation\n // if disabled\n if (\n !val &&\n !this.disabled\n ) {\n this.hasFocused = true\n this.validateOnBlur && this.validate()\n }\n },\n isResetting () {\n setTimeout(() => {\n this.hasInput = false\n this.hasFocused = false\n this.isResetting = false\n this.validate()\n }, 0)\n },\n hasError (val) {\n if (this.shouldValidate) {\n this.$emit('update:error', val)\n }\n },\n value (val) {\n this.lazyValue = val\n },\n },\n\n beforeMount () {\n this.validate()\n },\n\n created () {\n this.form && this.form.register(this)\n },\n\n beforeDestroy () {\n this.form && this.form.unregister(this)\n },\n\n methods: {\n genInternalMessages (messages: VuetifyMessage): VuetifyRuleValidations {\n if (!messages) return []\n else if (Array.isArray(messages)) return messages\n else return [messages]\n },\n /** @public */\n reset () {\n this.isResetting = true\n this.internalValue = Array.isArray(this.internalValue)\n ? []\n : undefined\n },\n /** @public */\n resetValidation () {\n this.isResetting = true\n },\n /** @public */\n validate (force = false, value?: any): boolean {\n const errorBucket = []\n value = value || this.internalValue\n\n if (force) this.hasInput = this.hasFocused = true\n\n for (let index = 0; index < this.rules.length; index++) {\n const rule = this.rules[index]\n const valid = typeof rule === 'function' ? rule(value) : rule\n\n if (typeof valid === 'string') {\n errorBucket.push(valid)\n } else if (typeof valid !== 'boolean') {\n consoleError(`Rules should return a string or boolean, received '${typeof valid}' instead`, this)\n }\n }\n\n this.errorBucket = errorBucket\n this.valid = errorBucket.length === 0\n\n return this.valid\n },\n },\n})\n","// Extensions\nimport { Service } from '../service'\n\n// Types\nimport { TargetPropValues, TargetProp, Application as IApplication } from 'vuetify/types/services/application'\n\nexport class Application extends Service implements IApplication {\n static property = 'application'\n\n bar = 0\n\n top = 0\n\n left = 0\n\n insetFooter = 0\n\n right = 0\n\n bottom = 0\n\n footer = 0\n\n application: Dictionary<TargetPropValues> = {\n bar: {},\n top: {},\n left: {},\n insetFooter: {},\n right: {},\n bottom: {},\n footer: {},\n }\n\n register (\n uid: number,\n location: TargetProp,\n size: number\n ) {\n this.application[location][uid] = size\n\n this.update(location)\n }\n\n unregister (uid: number, location: TargetProp) {\n if (this.application[location][uid] == null) return\n\n delete this.application[location][uid]\n this.update(location)\n }\n\n update (location: TargetProp) {\n this[location] = Object.values(this.application[location])\n .reduce((acc: number, cur: number): number => (acc + cur), 0)\n }\n}\n","// Extensions\nimport { Service } from '../service'\n\n// Types\nimport { BreakpointOptions, Breakpoint as IBreakpoint } from 'vuetify/types/services/breakpoint'\n\nexport class Breakpoint extends Service implements IBreakpoint {\n public static property = 'breakpoint'\n\n // Public\n public xs = false\n\n public sm = false\n\n public md = false\n\n public lg = false\n\n public xl = false\n\n public xsOnly = false\n\n public smOnly = false\n\n public smAndDown = false\n\n public smAndUp = false\n\n public mdOnly = false\n\n public mdAndDown = false\n\n public mdAndUp = false\n\n public lgOnly = false\n\n public lgAndDown = false\n\n public lgAndUp = false\n\n public xlOnly = false\n\n public name = ''\n\n public height = 0\n\n public width = 0\n\n public thresholds = {\n xs: 600,\n sm: 960,\n md: 1280,\n lg: 1920,\n }\n\n public scrollBarWidth = 16\n\n private resizeTimeout = 0\n\n constructor (options: Partial<BreakpointOptions> = {}) {\n super()\n this.thresholds = {\n ...this.thresholds,\n ...options.thresholds,\n }\n this.scrollBarWidth = options.scrollBarWidth != null ? options.scrollBarWidth : this.scrollBarWidth\n this.init()\n }\n\n public init () {\n /* istanbul ignore if */\n if (typeof window === 'undefined') return\n\n window.addEventListener(\n 'resize',\n this.onResize.bind(this),\n { passive: true }\n )\n\n this.update()\n }\n\n private onResize () {\n clearTimeout(this.resizeTimeout)\n\n // Added debounce to match what\n // v-resize used to do but was\n // removed due to a memory leak\n // https://github.com/vuetifyjs/vuetify/pull/2997\n this.resizeTimeout = window.setTimeout(this.update.bind(this), 200)\n }\n\n /* eslint-disable-next-line max-statements */\n private update () {\n const height = this.getClientHeight()\n const width = this.getClientWidth()\n\n const xs = width < this.thresholds.xs\n const sm = width < this.thresholds.sm && !xs\n const md = width < (this.thresholds.md - this.scrollBarWidth) && !(sm || xs)\n const lg = width < (this.thresholds.lg - this.scrollBarWidth) && !(md || sm || xs)\n const xl = width >= (this.thresholds.lg - this.scrollBarWidth)\n\n this.height = height\n this.width = width\n\n this.xs = xs\n this.sm = sm\n this.md = md\n this.lg = lg\n this.xl = xl\n\n this.xsOnly = xs\n this.smOnly = sm\n this.smAndDown = (xs || sm) && !(md || lg || xl)\n this.smAndUp = !xs && (sm || md || lg || xl)\n this.mdOnly = md\n this.mdAndDown = (xs || sm || md) && !(lg || xl)\n this.mdAndUp = !(xs || sm) && (md || lg || xl)\n this.lgOnly = lg\n this.lgAndDown = (xs || sm || md || lg) && !xl\n this.lgAndUp = !(xs || sm || md) && (lg || xl)\n this.xlOnly = xl\n\n switch (true) {\n case (xs):\n this.name = 'xs'\n break\n case (sm):\n this.name = 'sm'\n break\n case (md):\n this.name = 'md'\n break\n case (lg):\n this.name = 'lg'\n break\n default:\n this.name = 'xl'\n break\n }\n }\n\n // Cross-browser support as described in:\n // https://stackoverflow.com/questions/1248081\n private getClientWidth () {\n /* istanbul ignore if */\n if (typeof document === 'undefined') return 0 // SSR\n return Math.max(\n document.documentElement!.clientWidth,\n window.innerWidth || 0\n )\n }\n\n private getClientHeight () {\n /* istanbul ignore if */\n if (typeof document === 'undefined') return 0 // SSR\n return Math.max(\n document.documentElement!.clientHeight,\n window.innerHeight || 0\n )\n }\n}\n","export type EasingFunction = (t: number) => number\n\n// linear\nexport const linear = (t: number) => t\n// accelerating from zero velocity\nexport const easeInQuad = (t: number) => t ** 2\n// decelerating to zero velocity\nexport const easeOutQuad = (t: number) => t * (2 - t)\n// acceleration until halfway, then deceleration\nexport const easeInOutQuad = (t: number) => (t < 0.5 ? 2 * t ** 2 : -1 + (4 - 2 * t) * t)\n// accelerating from zero velocity\nexport const easeInCubic = (t: number) => t ** 3\n// decelerating to zero velocity\nexport const easeOutCubic = (t: number) => --t ** 3 + 1\n// acceleration until halfway, then deceleration\nexport const easeInOutCubic = (t: number) => t < 0.5 ? 4 * t ** 3 : (t - 1) * (2 * t - 2) * (2 * t - 2) + 1\n// accelerating from zero velocity\nexport const easeInQuart = (t: number) => t ** 4\n// decelerating to zero velocity\nexport const easeOutQuart = (t: number) => 1 - --t ** 4\n// acceleration until halfway, then deceleration\nexport const easeInOutQuart = (t: number) => (t < 0.5 ? 8 * t * t * t * t : 1 - 8 * --t * t * t * t)\n// accelerating from zero velocity\nexport const easeInQuint = (t: number) => t ** 5\n// decelerating to zero velocity\nexport const easeOutQuint = (t: number) => 1 + --t ** 5\n// acceleration until halfway, then deceleration\nexport const easeInOutQuint = (t: number) => t < 0.5 ? 16 * t ** 5 : 1 + 16 * --t ** 5\n","// Extensions\nimport { Service } from '../service'\n\n// Utilities\nimport * as easingPatterns from './easing-patterns'\nimport {\n getContainer,\n getOffset,\n} from './util'\n\n// Types\nimport { GoToOptions, VuetifyGoToTarget } from 'vuetify/types/services/goto'\n\nimport { VuetifyServiceContract } from 'vuetify/types/services'\n\nexport default function goTo (\n _target: VuetifyGoToTarget,\n _settings: Partial<GoToOptions> = {}\n): Promise<number> {\n const settings: GoToOptions = {\n container: (document.scrollingElement as HTMLElement | null) || document.body || document.documentElement,\n duration: 500,\n offset: 0,\n easing: 'easeInOutCubic',\n appOffset: true,\n ..._settings,\n }\n const container = getContainer(settings.container)\n\n /* istanbul ignore else */\n if (settings.appOffset && goTo.framework.application) {\n const isDrawer = container.classList.contains('v-navigation-drawer')\n const isClipped = container.classList.contains('v-navigation-drawer--clipped')\n const { bar, top } = goTo.framework.application as any\n\n settings.offset += bar\n /* istanbul ignore else */\n if (!isDrawer || isClipped) settings.offset += top\n }\n\n const startTime = performance.now()\n\n let targetLocation: number\n if (typeof _target === 'number') {\n targetLocation = getOffset(_target) - settings.offset!\n } else {\n targetLocation = getOffset(_target) - getOffset(container) - settings.offset!\n }\n\n const startLocation = container.scrollTop\n if (targetLocation === startLocation) return Promise.resolve(targetLocation)\n\n const ease = typeof settings.easing === 'function'\n ? settings.easing\n : easingPatterns[settings.easing!]\n /* istanbul ignore else */\n if (!ease) throw new TypeError(`Easing function \"${settings.easing}\" not found.`)\n\n // Cannot be tested properly in jsdom\n // tslint:disable-next-line:promise-must-complete\n /* istanbul ignore next */\n return new Promise(resolve => requestAnimationFrame(function step (currentTime: number) {\n const timeElapsed = currentTime - startTime\n const progress = Math.abs(settings.duration ? Math.min(timeElapsed / settings.duration, 1) : 1)\n\n container.scrollTop = Math.floor(startLocation + (targetLocation - startLocation) * ease(progress))\n\n const clientHeight = container === document.body ? document.documentElement.clientHeight : container.clientHeight\n if (progress === 1 || clientHeight + container.scrollTop === container.scrollHeight) {\n return resolve(targetLocation)\n }\n\n requestAnimationFrame(step)\n }))\n}\n\ngoTo.framework = {} as Record<string, VuetifyServiceContract>\ngoTo.init = () => {}\n\nexport class Goto extends Service {\n public static property = 'goTo'\n\n constructor () {\n super()\n\n return goTo\n }\n}\n","import Vue from 'vue'\n\n// Return target's cumulative offset from the top\nexport function getOffset (target: any): number {\n if (typeof target === 'number') {\n return target\n }\n\n let el = $(target)\n if (!el) {\n throw typeof target === 'string'\n ? new Error(`Target element \"${target}\" not found.`)\n : new TypeError(`Target must be a Number/Selector/HTMLElement/VueComponent, received ${type(target)} instead.`)\n }\n\n let totalOffset = 0\n while (el) {\n totalOffset += el.offsetTop\n el = el.offsetParent as HTMLElement\n }\n\n return totalOffset\n}\n\nexport function getContainer (container: any): HTMLElement {\n const el = $(container)\n\n if (el) return el\n\n throw typeof container === 'string'\n ? new Error(`Container element \"${container}\" not found.`)\n : new TypeError(`Container must be a Selector/HTMLElement/VueComponent, received ${type(container)} instead.`)\n}\n\nfunction type (el: any) {\n return el == null ? el : el.constructor.name\n}\n\nfunction $ (el: any): HTMLElement | null {\n if (typeof el === 'string') {\n return document.querySelector<HTMLElement>(el)\n } else if (el && el._isVue) {\n return (el as Vue).$el as HTMLElement\n } else if (el instanceof HTMLElement) {\n return el\n } else {\n return null\n }\n}\n","// Extensions\nimport { Service } from '../service'\n\n// Types\nimport { Icons as IIcons } from 'vuetify/types/services/icons'\n\n// Presets\nimport presets from './presets'\n\nexport class Icons extends Service implements IIcons {\n static property = 'icons'\n\n public iconfont: IIcons['iconfont'] = 'mdi'\n\n public values: IIcons['values'] = presets[this.iconfont]\n\n constructor (options: Partial<IIcons> = {}) {\n super()\n if (options.iconfont) this.iconfont = options.iconfont\n\n this.values = {\n ...presets[this.iconfont],\n ...(options.values || {}),\n }\n }\n}\n","import { VuetifyIcons } from 'vuetify/types/services/icons'\n\nconst icons: VuetifyIcons = {\n complete: 'fas fa-check',\n cancel: 'fas fa-times-circle',\n close: 'fas fa-times',\n delete: 'fas fa-times-circle', // delete (e.g. v-chip close)\n clear: 'fas fa-times-circle', // delete (e.g. v-chip close)\n success: 'fas fa-check-circle',\n info: 'fas fa-info-circle',\n warning: 'fas fa-exclamation',\n error: 'fas fa-exclamation-triangle',\n prev: 'fas fa-chevron-left',\n next: 'fas fa-chevron-right',\n checkboxOn: 'fas fa-check-square',\n checkboxOff: 'far fa-square', // note 'far'\n checkboxIndeterminate: 'fas fa-minus-square',\n delimiter: 'fas fa-circle', // for carousel\n sort: 'fas fa-sort-up',\n expand: 'fas fa-chevron-down',\n menu: 'fas fa-bars',\n subgroup: 'fas fa-caret-down',\n dropdown: 'fas fa-caret-down',\n radioOn: 'far fa-dot-circle',\n radioOff: 'far fa-circle',\n edit: 'fas fa-edit',\n ratingEmpty: 'far fa-star',\n ratingFull: 'fas fa-star',\n ratingHalf: 'fas fa-star-half',\n loading: 'fas fa-sync',\n first: 'fas fa-step-backward',\n last: 'fas fa-step-forward',\n unfold: 'fas fa-arrows-alt-v',\n file: 'fas fa-paperclip',\n plus: 'fas fa-plus',\n minus: 'fas fa-minus',\n}\n\nexport default icons\n","import { VuetifyIcons } from 'vuetify/types/services/icons'\n\nconst icons: VuetifyIcons = {\n complete: 'fa fa-check',\n cancel: 'fa fa-times-circle',\n close: 'fa fa-times',\n delete: 'fa fa-times-circle', // delete (e.g. v-chip close)\n clear: 'fa fa-times-circle', // delete (e.g. v-chip close)\n success: 'fa fa-check-circle',\n info: 'fa fa-info-circle',\n warning: 'fa fa-exclamation',\n error: 'fa fa-exclamation-triangle',\n prev: 'fa fa-chevron-left',\n next: 'fa fa-chevron-right',\n checkboxOn: 'fa fa-check-square',\n checkboxOff: 'far fa-square', // note 'far'\n checkboxIndeterminate: 'fa fa-minus-square',\n delimiter: 'fa fa-circle', // for carousel\n sort: 'fa fa-sort-up',\n expand: 'fa fa-chevron-down',\n menu: 'fa fa-bars',\n subgroup: 'fa fa-caret-down',\n dropdown: 'fa fa-caret-down',\n radioOn: 'fa fa-dot-circle-o',\n radioOff: 'fa fa-circle-o',\n edit: 'fa fa-pencil',\n ratingEmpty: 'fa fa-star-o',\n ratingFull: 'fa fa-star',\n ratingHalf: 'fa fa-star-half-o',\n loading: 'fa fa-refresh',\n first: 'fa fa-step-backward',\n last: 'fa fa-step-forward',\n unfold: 'fa fa-angle-double-down',\n file: 'fa fa-paperclip',\n plus: 'fa fa-plus',\n minus: 'fa fa-minus',\n}\n\nexport default icons\n","import mdiSvg from './mdi-svg'\nimport md from './md'\nimport mdi from './mdi'\nimport fa from './fa'\nimport fa4 from './fa4'\n\nexport default Object.freeze({\n mdiSvg,\n md,\n mdi,\n fa,\n fa4,\n})\n","import { VuetifyIcons } from 'vuetify/types/services/icons'\n\nconst icons: VuetifyIcons = {\n complete: 'check',\n cancel: 'cancel',\n close: 'close',\n delete: 'cancel', // delete (e.g. v-chip close)\n clear: 'clear',\n success: 'check_circle',\n info: 'info',\n warning: 'priority_high',\n error: 'warning',\n prev: 'chevron_left',\n next: 'chevron_right',\n checkboxOn: 'check_box',\n checkboxOff: 'check_box_outline_blank',\n checkboxIndeterminate: 'indeterminate_check_box',\n delimiter: 'fiber_manual_record', // for carousel\n sort: 'arrow_upward',\n expand: 'keyboard_arrow_down',\n menu: 'menu',\n subgroup: 'arrow_drop_down',\n dropdown: 'arrow_drop_down',\n radioOn: 'radio_button_checked',\n radioOff: 'radio_button_unchecked',\n edit: 'edit',\n ratingEmpty: 'star_border',\n ratingFull: 'star',\n ratingHalf: 'star_half',\n loading: 'cached',\n first: 'first_page',\n last: 'last_page',\n unfold: 'unfold_more',\n file: 'attach_file',\n plus: 'add',\n minus: 'remove',\n}\n\nexport default icons\n","import { VuetifyIcons } from 'vuetify/types/services/icons'\n\nconst icons: VuetifyIcons = {\n complete: 'M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z',\n cancel: 'M12,2C17.53,2 22,6.47 22,12C22,17.53 17.53,22 12,22C6.47,22 2,17.53 2,12C2,6.47 6.47,2 12,2M15.59,7L12,10.59L8.41,7L7,8.41L10.59,12L7,15.59L8.41,17L12,13.41L15.59,17L17,15.59L13.41,12L17,8.41L15.59,7Z',\n close: 'M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z',\n delete: 'M12,2C17.53,2 22,6.47 22,12C22,17.53 17.53,22 12,22C6.47,22 2,17.53 2,12C2,6.47 6.47,2 12,2M15.59,7L12,10.59L8.41,7L7,8.41L10.59,12L7,15.59L8.41,17L12,13.41L15.59,17L17,15.59L13.41,12L17,8.41L15.59,7Z', // delete (e.g. v-chip close)\n clear: 'M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z',\n success: 'M12,2C17.52,2 22,6.48 22,12C22,17.52 17.52,22 12,22C6.48,22 2,17.52 2,12C2,6.48 6.48,2 12,2M11,16.5L18,9.5L16.59,8.09L11,13.67L7.91,10.59L6.5,12L11,16.5Z',\n info: 'M13,9H11V7H13M13,17H11V11H13M12,2C6.48,2 2,6.48 2,12C2,17.52 6.48,22 12,22C17.52,22 22,17.52 22,12C22,6.48 17.52,2 12,2Z',\n warning: 'M11,4.5H13V15.5H11V4.5M13,17.5V19.5H11V17.5H13Z',\n error: 'M13,14H11V10H13M13,18H11V16H13M1,21H23L12,2L1,21Z',\n prev: 'M15.41,16.58L10.83,12L15.41,7.41L14,6L8,12L14,18L15.41,16.58Z',\n next: 'M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z',\n checkboxOn: 'M10,17L5,12L6.41,10.58L10,14.17L17.59,6.58L19,8M19,3H5C3.89,3 3,3.89 3,5V19C3,20.1 3.9,21 5,21H19C20.1,21 21,20.1 21,19V5C21,3.89 20.1,3 19,3Z',\n checkboxOff: 'M19,3H5C3.89,3 3,3.89 3,5V19C3,20.1 3.9,21 5,21H19C20.1,21 21,20.1 21,19V5C21,3.89 20.1,3 19,3M19,5V19H5V5H19Z',\n checkboxIndeterminate: 'M17,13H7V11H17M19,3H5C3.89,3 3,3.89 3,5V19C3,20.1 3.9,21 5,21H19C20.1,21 21,20.1 21,19V5C21,3.89 20.1,3 19,3Z',\n delimiter: 'M12,2C6.48,2 2,6.48 2,12C2,17.52 6.48,22 12,22C17.52,22 22,17.52 22,12C22,6.48 17.52,2 12,2Z', // for carousel\n sort: 'M13,20H11V8L5.5,13.5L4.08,12.08L12,4.16L19.92,12.08L18.5,13.5L13,8V20Z',\n expand: 'M7.41,8.58L12,13.17L16.59,8.58L18,10L12,16L6,10L7.41,8.58Z',\n menu: 'M3,6H21V8H3V6M3,11H21V13H3V11M3,16H21V18H3V16Z',\n subgroup: 'M7,10L12,15L17,10H7Z',\n dropdown: 'M7,10L12,15L17,10H7Z',\n radioOn: 'M12,20C7.58,20 4,16.42 4,12C4,7.58 7.58,4 12,4C16.42,4 20,7.58 20,12C20,16.42 16.42,20 12,20M12,2C6.48,2 2,6.48 2,12C2,17.52 6.48,22 12,22C17.52,22 22,17.52 22,12C22,6.48 17.52,2 12,2M12,7C9.24,7 7,9.24 7,12C7,14.76 9.24,17 12,17C14.76,17 17,14.76 17,12C17,9.24 14.76,7 12,7Z',\n radioOff: 'M12,20C7.58,20 4,16.42 4,12C4,7.58 7.58,4 12,4C16.42,4 20,7.58 20,12C20,16.42 16.42,20 12,20M12,2C6.48,2 2,6.48 2,12C2,17.52 6.48,22 12,22C17.52,22 22,17.52 22,12C22,6.48 17.52,2 12,2Z',\n edit: 'M20.71,7.04C21.1,6.65 21.1,6 20.71,5.63L18.37,3.29C18,2.9 17.35,2.9 16.96,3.29L15.12,5.12L18.87,8.87M3,17.25V21H6.75L17.81,9.93L14.06,6.18L3,17.25Z',\n ratingEmpty: 'M12,15.39L8.24,17.66L9.23,13.38L5.91,10.5L10.29,10.13L12,6.09L13.71,10.13L18.09,10.5L14.77,13.38L15.76,17.66M22,9.24L14.81,8.63L12,2L9.19,8.63L2,9.24L7.45,13.97L5.82,21L12,17.27L18.18,21L16.54,13.97L22,9.24Z',\n ratingFull: 'M12,17.27L18.18,21L16.54,13.97L22,9.24L14.81,8.62L12,2L9.19,8.62L2,9.24L7.45,13.97L5.82,21L12,17.27Z',\n ratingHalf: 'M12,15.4V6.1L13.71,10.13L18.09,10.5L14.77,13.39L15.76,17.67M22,9.24L14.81,8.63L12,2L9.19,8.63L2,9.24L7.45,13.97L5.82,21L12,17.27L18.18,21L16.54,13.97L22,9.24Z',\n loading: 'M19,8L15,12H18C18,15.31 15.31,18 12,18C11,18 10.03,17.75 9.2,17.3L7.74,18.76C8.97,19.54 10.43,20 12,20C16.42,20 20,16.42 20,12H23M6,12C6,8.69 8.69,6 12,6C13,6 13.97,6.25 14.8,6.7L16.26,5.24C15.03,4.46 13.57,4 12,4C7.58,4 4,7.58 4,12H1L5,16L9,12',\n first: 'M18.41,16.59L13.82,12L18.41,7.41L17,6L11,12L17,18L18.41,16.59M6,6H8V18H6V6Z',\n last: 'M5.59,7.41L10.18,12L5.59,16.59L7,18L13,12L7,6L5.59,7.41M16,6H18V18H16V6Z',\n unfold: 'M12,18.17L8.83,15L7.42,16.41L12,21L16.59,16.41L15.17,15M12,5.83L15.17,9L16.58,7.59L12,3L7.41,7.59L8.83,9L12,5.83Z',\n file: 'M16.5,6V17.5C16.5,19.71 14.71,21.5 12.5,21.5C10.29,21.5 8.5,19.71 8.5,17.5V5C8.5,3.62 9.62,2.5 11,2.5C12.38,2.5 13.5,3.62 13.5,5V15.5C13.5,16.05 13.05,16.5 12.5,16.5C11.95,16.5 11.5,16.05 11.5,15.5V6H10V15.5C10,16.88 11.12,18 12.5,18C13.88,18 15,16.88 15,15.5V5C15,2.79 13.21,1 11,1C8.79,1 7,2.79 7,5V17.5C7,20.54 9.46,23 12.5,23C15.54,23 18,20.54 18,17.5V6H16.5Z',\n plus: 'M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z',\n minus: 'M19,13H5V11H19V13Z',\n}\n\nexport default icons\n","import { VuetifyIcons } from 'vuetify/types/services/icons'\n\nconst icons: VuetifyIcons = {\n complete: 'mdi-check',\n cancel: 'mdi-close-circle',\n close: 'mdi-close',\n delete: 'mdi-close-circle', // delete (e.g. v-chip close)\n clear: 'mdi-close',\n success: 'mdi-check-circle',\n info: 'mdi-information',\n warning: 'mdi-exclamation',\n error: 'mdi-alert',\n prev: 'mdi-chevron-left',\n next: 'mdi-chevron-right',\n checkboxOn: 'mdi-checkbox-marked',\n checkboxOff: 'mdi-checkbox-blank-outline',\n checkboxIndeterminate: 'mdi-minus-box',\n delimiter: 'mdi-circle', // for carousel\n sort: 'mdi-arrow-up',\n expand: 'mdi-chevron-down',\n menu: 'mdi-menu',\n subgroup: 'mdi-menu-down',\n dropdown: 'mdi-menu-down',\n radioOn: 'mdi-radiobox-marked',\n radioOff: 'mdi-radiobox-blank',\n edit: 'mdi-pencil',\n ratingEmpty: 'mdi-star-outline',\n ratingFull: 'mdi-star',\n ratingHalf: 'mdi-star-half',\n loading: 'mdi-cached',\n first: 'mdi-page-first',\n last: 'mdi-page-last',\n unfold: 'mdi-unfold-more-horizontal',\n file: 'mdi-paperclip',\n plus: 'mdi-plus',\n minus: 'mdi-minus',\n}\n\nexport default icons\n","export * from './application'\nexport * from './breakpoint'\nexport * from './goto'\nexport * from './icons'\nexport * from './lang'\nexport * from './theme'\n","// Extensions\nimport { Service } from '../service'\n\n// Language\nimport en from '../../locale/en'\n\n// Utilities\nimport { getObjectValueByPath } from '../../util/helpers'\nimport { consoleError, consoleWarn } from '../../util/console'\n\n// Types\nimport {\n VuetifyLocale,\n Lang as ILang,\n} from 'vuetify/types/services/lang'\n\nconst LANG_PREFIX = '$vuetify.'\nconst fallback = Symbol('Lang fallback')\n\nfunction getTranslation (\n locale: VuetifyLocale,\n key: string,\n usingFallback = false\n): string {\n const shortKey = key.replace(LANG_PREFIX, '')\n let translation = getObjectValueByPath(locale, shortKey, fallback) as string | typeof fallback\n\n if (translation === fallback) {\n if (usingFallback) {\n consoleError(`Translation key \"${shortKey}\" not found in fallback`)\n translation = key\n } else {\n consoleWarn(`Translation key \"${shortKey}\" not found, falling back to default`)\n translation = getTranslation(en, key, true)\n }\n }\n\n return translation\n}\n\nexport class Lang extends Service implements ILang {\n static property = 'lang'\n\n public locales: Record<string, VuetifyLocale>\n\n public current: string\n\n private translator: ((key: string, ...params: any[]) => string) | undefined\n\n constructor (options: Partial<ILang> = {}) {\n super()\n this.current = options.current || 'en'\n this.locales = Object.assign({ en }, options.locales)\n this.translator = options.t\n }\n\n public t (key: string, ...params: any[]) {\n if (!key.startsWith(LANG_PREFIX)) return this.replace(key, params)\n\n if (this.translator) return this.translator(key, ...params)\n\n const translation = getTranslation(this.locales[this.current], key)\n\n return this.replace(translation, params)\n }\n\n private replace (str: string, params: any[]) {\n return str.replace(/\\{(\\d+)\\}/g, (match: string, index: string) => {\n /* istanbul ignore next */\n return String(params[+index])\n })\n }\n}\n","// Contracts\nimport { VuetifyServiceContract } from 'vuetify/types/services/index'\n\n// Types\nimport Vue from 'vue'\n\nexport class Service implements VuetifyServiceContract {\n framework = {}\n\n init (root: Vue, ssrContext?: object) {}\n}\n","/* eslint-disable no-multi-spaces */\n// Extensions\nimport { Service } from '../service'\n\n// Utilities\nimport * as ThemeUtils from './utils'\n\n// Types\nimport Vue from 'vue'\nimport {\n VuetifyParsedTheme,\n VuetifyThemes,\n VuetifyThemeVariant,\n Theme as ITheme,\n} from 'vuetify/types/services/theme'\n\nexport class Theme extends Service {\n static property = 'theme'\n\n public disabled = false\n\n public options!: ITheme['options']\n\n public styleEl?: HTMLStyleElement\n\n public themes: VuetifyThemes = {\n light: {\n primary: '#1976D2', // blue.darken2\n secondary: '#424242', // grey.darken3\n accent: '#82B1FF', // blue.accent1\n error: '#FF5252', // red.accent2\n info: '#2196F3', // blue.base\n success: '#4CAF50', // green.base\n warning: '#FB8C00', // amber.base\n },\n dark: {\n primary: '#2196F3', // blue.base\n secondary: '#424242', // grey.darken3\n accent: '#FF4081', // pink.accent-2\n error: '#FF5252', // red.accent2\n info: '#2196F3', // blue.base\n success: '#4CAF50', // green.base\n warning: '#FB8C00', // amber.base\n },\n }\n\n public defaults: VuetifyThemes = this.themes\n\n private isDark = null as boolean | null\n\n private vueInstance = null as Vue | null\n\n private vueMeta = null as any | null\n\n constructor (options: Partial<ITheme> = {}) {\n super()\n if (options.disable) {\n this.disabled = true\n\n return\n }\n\n this.options = options.options!\n\n this.dark = Boolean(options.dark)\n const themes = options.themes || {} as never\n\n this.themes = {\n dark: this.fillVariant(themes.dark, true),\n light: this.fillVariant(themes.light, false),\n }\n }\n\n // When setting css, check for element\n // and apply new values\n set css (val: string) {\n if (this.vueMeta) {\n if (this.isVueMeta23) {\n this.applyVueMeta23()\n }\n return\n }\n this.checkOrCreateStyleElement() && (this.styleEl!.innerHTML = val)\n }\n\n set dark (val: boolean) {\n const oldDark = this.isDark\n\n this.isDark = val\n // Only apply theme after dark\n // has already been set before\n oldDark != null && this.applyTheme()\n }\n\n get dark () {\n return Boolean(this.isDark)\n }\n\n // Apply current theme default\n // only called on client side\n public applyTheme (): void {\n if (this.disabled) return this.clearCss()\n\n this.css = this.generatedStyles\n }\n\n public clearCss (): void {\n this.css = ''\n }\n\n // Initialize theme for SSR and SPA\n // Attach to ssrContext head or\n // apply new theme to document\n public init (root: Vue, ssrContext?: any): void {\n if (this.disabled) return\n\n /* istanbul ignore else */\n if ((root as any).$meta) {\n this.initVueMeta(root)\n } else if (ssrContext) {\n this.initSSR(ssrContext)\n }\n\n this.initTheme()\n }\n\n // Allows for you to set target theme\n public setTheme (theme: 'light' | 'dark', value: object) {\n this.themes[theme] = Object.assign(this.themes[theme], value)\n this.applyTheme()\n }\n\n // Reset theme defaults\n public resetThemes () {\n this.themes.light = Object.assign({}, this.defaults.light)\n this.themes.dark = Object.assign({}, this.defaults.dark)\n this.applyTheme()\n }\n\n // Check for existence of style element\n private checkOrCreateStyleElement (): boolean {\n this.styleEl = document.getElementById('vuetify-theme-stylesheet') as HTMLStyleElement\n\n /* istanbul ignore next */\n if (this.styleEl) return true\n\n this.genStyleElement() // If doesn't have it, create it\n\n return Boolean(this.styleEl)\n }\n\n private fillVariant (\n theme: Partial<VuetifyThemeVariant> = {},\n dark: boolean\n ): VuetifyThemeVariant {\n const defaultTheme = this.themes[dark ? 'dark' : 'light']\n\n return Object.assign({},\n defaultTheme,\n theme\n )\n }\n\n // Generate the style element\n // if applicable\n private genStyleElement (): void {\n /* istanbul ignore if */\n if (typeof document === 'undefined') return\n\n /* istanbul ignore next */\n const options = this.options || {}\n\n this.styleEl = document.createElement('style')\n this.styleEl.type = 'text/css'\n this.styleEl.id = 'vuetify-theme-stylesheet'\n\n if (options.cspNonce) {\n this.styleEl.setAttribute('nonce', options.cspNonce)\n }\n\n document.head.appendChild(this.styleEl)\n }\n\n private initVueMeta (root: any) {\n this.vueMeta = root.$meta()\n if (this.isVueMeta23) {\n // vue-meta needs to apply after mounted()\n root.$nextTick(() => {\n this.applyVueMeta23()\n })\n return\n }\n\n const metaKeyName = typeof this.vueMeta.getOptions === 'function' ? this.vueMeta.getOptions().keyName : 'metaInfo'\n const metaInfo = root.$options[metaKeyName] || {}\n\n root.$options[metaKeyName] = () => {\n metaInfo.style = metaInfo.style || []\n\n const vuetifyStylesheet = metaInfo.style.find((s: any) => s.id === 'vuetify-theme-stylesheet')\n\n if (!vuetifyStylesheet) {\n metaInfo.style.push({\n cssText: this.generatedStyles,\n type: 'text/css',\n id: 'vuetify-theme-stylesheet',\n nonce: (this.options || {}).cspNonce,\n })\n } else {\n vuetifyStylesheet.cssText = this.generatedStyles\n }\n\n return metaInfo\n }\n }\n\n private applyVueMeta23 () {\n const { set } = this.vueMeta.addApp('vuetify')\n\n set({\n style: [{\n cssText: this.generatedStyles,\n type: 'text/css',\n id: 'vuetify-theme-stylesheet',\n nonce: (this.options || {}).cspNonce,\n }],\n })\n }\n\n private initSSR (ssrContext?: any) {\n const options = this.options || {}\n // SSR\n const nonce = options.cspNonce ? ` nonce=\"${options.cspNonce}\"` : ''\n ssrContext.head = ssrContext.head || ''\n ssrContext.head += `<style type=\"text/css\" id=\"vuetify-theme-stylesheet\"${nonce}>${this.generatedStyles}</style>`\n }\n\n private initTheme () {\n // Only watch for reactivity on client side\n if (typeof document === 'undefined') return\n\n // If we get here somehow, ensure\n // existing instance is removed\n if (this.vueInstance) this.vueInstance.$destroy()\n\n // Use Vue instance to track reactivity\n // TODO: Update to use RFC if merged\n // https://github.com/vuejs/rfcs/blob/advanced-reactivity-api/active-rfcs/0000-advanced-reactivity-api.md\n this.vueInstance = new Vue({\n data: { themes: this.themes },\n\n watch: {\n themes: {\n immediate: true,\n deep: true,\n handler: () => this.applyTheme(),\n },\n },\n })\n }\n\n get currentTheme () {\n const target = this.dark ? 'dark' : 'light'\n\n return this.themes[target]\n }\n\n get generatedStyles (): string {\n const theme = this.parsedTheme\n /* istanbul ignore next */\n const options = this.options || {}\n let css\n\n if (options.themeCache != null) {\n css = options.themeCache.get(theme)\n /* istanbul ignore if */\n if (css != null) return css\n }\n\n css = ThemeUtils.genStyles(theme, options.customProperties)\n\n if (options.minifyTheme != null) {\n css = options.minifyTheme(css)\n }\n\n if (options.themeCache != null) {\n options.themeCache.set(theme, css)\n }\n\n return css\n }\n\n get parsedTheme (): VuetifyParsedTheme {\n /* istanbul ignore next */\n const theme = this.currentTheme || {}\n return ThemeUtils.parse(theme)\n }\n\n // Is using v2.3 of vue-meta\n // https://github.com/nuxt/vue-meta/releases/tag/v2.3.0\n private get isVueMeta23 (): boolean {\n return typeof this.vueMeta.addApp === 'function'\n }\n}\n","import { colorToInt, intToHex, colorToHex, ColorInt } from '../../util/colorUtils'\nimport * as sRGB from '../../util/color/transformSRGB'\nimport * as LAB from '../../util/color/transformCIELAB'\nimport {\n VuetifyParsedTheme,\n VuetifyThemeItem,\n} from 'vuetify/types/services/theme'\n\nexport function parse (\n theme: Record<string, VuetifyThemeItem>,\n isItem = false\n): VuetifyParsedTheme {\n const { anchor, ...variant } = theme\n const colors = Object.keys(variant)\n const parsedTheme: any = {}\n\n for (let i = 0; i < colors.length; ++i) {\n const name = colors[i]\n const value = theme[name]\n\n if (value == null) continue\n\n if (isItem) {\n /* istanbul ignore else */\n if (name === 'base' || name.startsWith('lighten') || name.startsWith('darken')) {\n parsedTheme[name] = colorToHex(value)\n }\n } else if (typeof value === 'object') {\n parsedTheme[name] = parse(value, true)\n } else {\n parsedTheme[name] = genVariations(name, colorToInt(value))\n }\n }\n\n if (!isItem) {\n parsedTheme.anchor = anchor || parsedTheme.base || parsedTheme.primary.base\n }\n\n return parsedTheme\n}\n\n/**\n * Generate the CSS for a base color (.primary)\n */\nconst genBaseColor = (name: string, value: string): string => {\n return `\n.v-application .${name} {\n background-color: ${value} !important;\n border-color: ${value} !important;\n}\n.v-application .${name}--text {\n color: ${value} !important;\n caret-color: ${value} !important;\n}`\n}\n\n/**\n * Generate the CSS for a variant color (.primary.darken-2)\n */\nconst genVariantColor = (name: string, variant: string, value: string): string => {\n const [type, n] = variant.split(/(\\d)/, 2)\n return `\n.v-application .${name}.${type}-${n} {\n background-color: ${value} !important;\n border-color: ${value} !important;\n}\n.v-application .${name}--text.text--${type}-${n} {\n color: ${value} !important;\n caret-color: ${value} !important;\n}`\n}\n\nconst genColorVariableName = (name: string, variant = 'base'): string => `--v-${name}-${variant}`\n\nconst genColorVariable = (name: string, variant = 'base'): string => `var(${genColorVariableName(name, variant)})`\n\nexport function genStyles (theme: VuetifyParsedTheme, cssVar = false): string {\n const { anchor, ...variant } = theme\n const colors = Object.keys(variant)\n\n if (!colors.length) return ''\n\n let variablesCss = ''\n let css = ''\n\n const aColor = cssVar ? genColorVariable('anchor') : anchor\n css += `.v-application a { color: ${aColor}; }`\n cssVar && (variablesCss += ` ${genColorVariableName('anchor')}: ${anchor};\\n`)\n\n for (let i = 0; i < colors.length; ++i) {\n const name = colors[i]\n const value = theme[name]\n\n css += genBaseColor(name, cssVar ? genColorVariable(name) : value.base)\n cssVar && (variablesCss += ` ${genColorVariableName(name)}: ${value.base};\\n`)\n\n const variants = Object.keys(value)\n for (let i = 0; i < variants.length; ++i) {\n const variant = variants[i]\n const variantValue = value[variant]\n if (variant === 'base') continue\n\n css += genVariantColor(name, variant, cssVar ? genColorVariable(name, variant) : variantValue)\n cssVar && (variablesCss += ` ${genColorVariableName(name, variant)}: ${variantValue};\\n`)\n }\n }\n\n if (cssVar) {\n variablesCss = `:root {\\n${variablesCss}}\\n\\n`\n }\n\n return variablesCss + css\n}\n\nexport function genVariations (name: string, value: ColorInt): Record<string, string> {\n const values: Record<string, string> = {\n base: intToHex(value),\n }\n\n for (let i = 5; i > 0; --i) {\n values[`lighten${i}`] = intToHex(lighten(value, i))\n }\n\n for (let i = 1; i <= 4; ++i) {\n values[`darken${i}`] = intToHex(darken(value, i))\n }\n\n return values\n}\n\nexport function lighten (value: ColorInt, amount: number): ColorInt {\n const lab = LAB.fromXYZ(sRGB.toXYZ(value))\n lab[0] = lab[0] + amount * 10\n return sRGB.fromXYZ(LAB.toXYZ(lab))\n}\n\nexport function darken (value: ColorInt, amount: number): ColorInt {\n const lab = LAB.fromXYZ(sRGB.toXYZ(value))\n lab[0] = lab[0] - amount * 10\n return sRGB.fromXYZ(LAB.toXYZ(lab))\n}\n","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","import { VNode } from 'vue'\nimport Themeable from '../mixins/themeable'\nimport mixins from './mixins'\n\n/* @vue/component */\nexport default mixins(Themeable).extend({\n name: 'theme-provider',\n\n props: {\n root: Boolean,\n },\n\n computed: {\n isDark (): boolean {\n return this.root ? this.rootIsDark : Themeable.options.computed.isDark.call(this)\n },\n },\n\n render (): VNode {\n return this.$slots.default! && this.$slots.default!.find(node => !node.isComment && node.text !== ' ')!\n },\n})\n","import { XYZ, LAB } from '../colorUtils'\n\nconst delta = 0.20689655172413793 // 6÷29\n\nconst cielabForwardTransform = (t: number): number => (\n t > delta ** 3\n ? Math.cbrt(t)\n : (t / (3 * delta ** 2)) + 4 / 29\n)\n\nconst cielabReverseTransform = (t: number): number => (\n t > delta\n ? t ** 3\n : (3 * delta ** 2) * (t - 4 / 29)\n)\n\nexport function fromXYZ (xyz: XYZ): LAB {\n const transform = cielabForwardTransform\n const transformedY = transform(xyz[1])\n\n return [\n 116 * transformedY - 16,\n 500 * (transform(xyz[0] / 0.95047) - transformedY),\n 200 * (transformedY - transform(xyz[2] / 1.08883)),\n ]\n}\n\nexport function toXYZ (lab: LAB): XYZ {\n const transform = cielabReverseTransform\n const Ln = (lab[0] + 16) / 116\n return [\n transform(Ln + lab[1] / 500) * 0.95047,\n transform(Ln),\n transform(Ln - lab[2] / 200) * 1.08883,\n ]\n}\n","import { ColorInt, XYZ } from '../colorUtils'\nimport { clamp } from '../../util/helpers'\n\n// For converting XYZ to sRGB\nconst srgbForwardMatrix = [\n [3.2406, -1.5372, -0.4986],\n [-0.9689, 1.8758, 0.0415],\n [0.0557, -0.2040, 1.0570],\n]\n\n// Forward gamma adjust\nconst srgbForwardTransform = (C: number): number => (\n C <= 0.0031308\n ? C * 12.92\n : 1.055 * C ** (1 / 2.4) - 0.055\n)\n\n// For converting sRGB to XYZ\nconst srgbReverseMatrix = [\n [0.4124, 0.3576, 0.1805],\n [0.2126, 0.7152, 0.0722],\n [0.0193, 0.1192, 0.9505],\n]\n\n// Reverse gamma adjust\nconst srgbReverseTransform = (C: number): number => (\n C <= 0.04045\n ? C / 12.92\n : ((C + 0.055) / 1.055) ** 2.4\n)\n\nexport function fromXYZ (xyz: XYZ): ColorInt {\n const rgb = Array(3)\n const transform = srgbForwardTransform\n const matrix = srgbForwardMatrix\n\n // Matrix transform, then gamma adjustment\n for (let i = 0; i < 3; ++i) {\n rgb[i] = Math.round(clamp(transform(\n matrix[i][0] * xyz[0] +\n matrix[i][1] * xyz[1] +\n matrix[i][2] * xyz[2]\n )) * 255)\n }\n\n // Rescale back to [0, 255]\n return (rgb[0] << 16) + (rgb[1] << 8) + (rgb[2] << 0)\n}\n\nexport function toXYZ (rgb: ColorInt): XYZ {\n const xyz: XYZ = [0, 0, 0]\n const transform = srgbReverseTransform\n const matrix = srgbReverseMatrix\n\n // Rescale from [0, 255] to [0, 1] then adjust sRGB gamma to linear RGB\n const r = transform((rgb >> 16 & 0xff) / 255)\n const g = transform((rgb >> 8 & 0xff) / 255)\n const b = transform((rgb >> 0 & 0xff) / 255)\n\n // Matrix color space transform\n for (let i = 0; i < 3; ++i) {\n xyz[i] = matrix[i][0] * r + matrix[i][1] * g + matrix[i][2] * b\n }\n\n return xyz\n}\n","import { consoleWarn } from './console'\nimport { chunk, padEnd } from './helpers'\nimport { toXYZ } from './color/transformSRGB'\n\nexport type ColorInt = number\nexport type XYZ = [number, number, number]\nexport type LAB = [number, number, number]\nexport type HSV = { h: number, s: number, v: number }\nexport type HSVA = HSV & { a: number }\nexport type RGB = { r: number, g: number, b: number }\nexport type RGBA = RGB & { a: number }\nexport type HSL = { h: number, s: number, l: number }\nexport type HSLA = HSL & { a: number }\nexport type Hex = string\nexport type Hexa = string\nexport type Color = string | number | {}\n\nexport function colorToInt (color: Color): ColorInt {\n let rgb\n\n if (typeof color === 'number') {\n rgb = color\n } else if (typeof color === 'string') {\n let c = color[0] === '#' ? color.substring(1) : color\n if (c.length === 3) {\n c = c.split('').map(char => char + char).join('')\n }\n if (c.length !== 6) {\n consoleWarn(`'${color}' is not a valid rgb color`)\n }\n rgb = parseInt(c, 16)\n } else {\n throw new TypeError(`Colors can only be numbers or strings, recieved ${color == null ? color : color.constructor.name} instead`)\n }\n\n if (rgb < 0) {\n consoleWarn(`Colors cannot be negative: '${color}'`)\n rgb = 0\n } else if (rgb > 0xffffff || isNaN(rgb)) {\n consoleWarn(`'${color}' is not a valid rgb color`)\n rgb = 0xffffff\n }\n\n return rgb\n}\n\nexport function intToHex (color: ColorInt): string {\n let hexColor: string = color.toString(16)\n\n if (hexColor.length < 6) hexColor = '0'.repeat(6 - hexColor.length) + hexColor\n\n return '#' + hexColor\n}\n\nexport function colorToHex (color: Color): string {\n return intToHex(colorToInt(color))\n}\n\n/**\n * Converts HSVA to RGBA. Based on formula from https://en.wikipedia.org/wiki/HSL_and_HSV\n *\n * @param color HSVA color as an array [0-360, 0-1, 0-1, 0-1]\n */\nexport function HSVAtoRGBA (hsva: HSVA): RGBA {\n const { h, s, v, a } = hsva\n const f = (n: number) => {\n const k = (n + (h / 60)) % 6\n return v - v * s * Math.max(Math.min(k, 4 - k, 1), 0)\n }\n\n const rgb = [f(5), f(3), f(1)].map(v => Math.round(v * 255))\n\n return { r: rgb[0], g: rgb[1], b: rgb[2], a }\n}\n\n/**\n * Converts RGBA to HSVA. Based on formula from https://en.wikipedia.org/wiki/HSL_and_HSV\n *\n * @param color RGBA color as an array [0-255, 0-255, 0-255, 0-1]\n */\nexport function RGBAtoHSVA (rgba: RGBA): HSVA {\n if (!rgba) return { h: 0, s: 1, v: 1, a: 1 }\n\n const r = rgba.r / 255\n const g = rgba.g / 255\n const b = rgba.b / 255\n const max = Math.max(r, g, b)\n const min = Math.min(r, g, b)\n\n let h = 0\n\n if (max !== min) {\n if (max === r) {\n h = 60 * (0 + ((g - b) / (max - min)))\n } else if (max === g) {\n h = 60 * (2 + ((b - r) / (max - min)))\n } else if (max === b) {\n h = 60 * (4 + ((r - g) / (max - min)))\n }\n }\n\n if (h < 0) h = h + 360\n\n const s = max === 0 ? 0 : (max - min) / max\n const hsv = [h, s, max]\n\n return { h: hsv[0], s: hsv[1], v: hsv[2], a: rgba.a }\n}\n\nexport function HSVAtoHSLA (hsva: HSVA): HSLA {\n const { h, s, v, a } = hsva\n\n const l = v - (v * s / 2)\n\n const sprime = l === 1 || l === 0 ? 0 : (v - l) / Math.min(l, 1 - l)\n\n return { h, s: sprime, l, a }\n}\n\nexport function HSLAtoHSVA (hsl: HSLA): HSVA {\n const { h, s, l, a } = hsl\n\n const v = l + s * Math.min(l, 1 - l)\n\n const sprime = v === 0 ? 0 : 2 - (2 * l / v)\n\n return { h, s: sprime, v, a }\n}\n\nexport function RGBAtoCSS (rgba: RGBA): string {\n return `rgba(${rgba.r}, ${rgba.g}, ${rgba.b}, ${rgba.a})`\n}\n\nexport function RGBtoCSS (rgba: RGBA): string {\n return RGBAtoCSS({ ...rgba, a: 1 })\n}\n\nexport function RGBAtoHex (rgba: RGBA): Hex {\n const toHex = (v: number) => {\n const h = Math.round(v).toString(16)\n return ('00'.substr(0, 2 - h.length) + h).toUpperCase()\n }\n\n return `#${[\n toHex(rgba.r),\n toHex(rgba.g),\n toHex(rgba.b),\n toHex(Math.round(rgba.a * 255)),\n ].join('')}`\n}\n\nexport function HexToRGBA (hex: Hex): RGBA {\n const rgba = chunk(hex.slice(1), 2).map((c: string) => parseInt(c, 16))\n\n return {\n r: rgba[0],\n g: rgba[1],\n b: rgba[2],\n a: Math.round((rgba[3] / 255) * 100) / 100,\n }\n}\n\nexport function HexToHSVA (hex: Hex): HSVA {\n const rgb = HexToRGBA(hex)\n return RGBAtoHSVA(rgb)\n}\n\nexport function HSVAtoHex (hsva: HSVA): Hex {\n return RGBAtoHex(HSVAtoRGBA(hsva))\n}\n\nexport function parseHex (hex: string): Hex {\n if (hex.startsWith('#')) {\n hex = hex.slice(1)\n }\n\n hex = hex.replace(/([^0-9a-f])/gi, 'F')\n\n if (hex.length === 3) {\n hex = hex.split('').map(x => x + x).join('')\n }\n\n if (hex.length === 6) {\n hex = padEnd(hex, 8, 'F')\n } else {\n hex = padEnd(padEnd(hex, 6), 8, 'F')\n }\n\n return `#${hex}`.toUpperCase().substr(0, 9)\n}\n\nexport function RGBtoInt (rgba: RGBA): ColorInt {\n return (rgba.r << 16) + (rgba.g << 8) + rgba.b\n}\n\n/**\n * Returns the contrast ratio (1-21) between two colors.\n *\n * @param c1 First color\n * @param c2 Second color\n */\nexport function contrastRatio (c1: RGBA, c2: RGBA): number {\n const [, y1] = toXYZ(RGBtoInt(c1))\n const [, y2] = toXYZ(RGBtoInt(c2))\n\n return (Math.max(y1, y2) + 0.05) / (Math.min(y1, y2) + 0.05)\n}\n","const red = Object.freeze({\n base: '#f44336',\n lighten5: '#ffebee',\n lighten4: '#ffcdd2',\n lighten3: '#ef9a9a',\n lighten2: '#e57373',\n lighten1: '#ef5350',\n darken1: '#e53935',\n darken2: '#d32f2f',\n darken3: '#c62828',\n darken4: '#b71c1c',\n accent1: '#ff8a80',\n accent2: '#ff5252',\n accent3: '#ff1744',\n accent4: '#d50000',\n})\n\nconst pink = Object.freeze({\n base: '#e91e63',\n lighten5: '#fce4ec',\n lighten4: '#f8bbd0',\n lighten3: '#f48fb1',\n lighten2: '#f06292',\n lighten1: '#ec407a',\n darken1: '#d81b60',\n darken2: '#c2185b',\n darken3: '#ad1457',\n darken4: '#880e4f',\n accent1: '#ff80ab',\n accent2: '#ff4081',\n accent3: '#f50057',\n accent4: '#c51162',\n})\n\nconst purple = Object.freeze({\n base: '#9c27b0',\n lighten5: '#f3e5f5',\n lighten4: '#e1bee7',\n lighten3: '#ce93d8',\n lighten2: '#ba68c8',\n lighten1: '#ab47bc',\n darken1: '#8e24aa',\n darken2: '#7b1fa2',\n darken3: '#6a1b9a',\n darken4: '#4a148c',\n accent1: '#ea80fc',\n accent2: '#e040fb',\n accent3: '#d500f9',\n accent4: '#aa00ff',\n})\n\nconst deepPurple = Object.freeze({\n base: '#673ab7',\n lighten5: '#ede7f6',\n lighten4: '#d1c4e9',\n lighten3: '#b39ddb',\n lighten2: '#9575cd',\n lighten1: '#7e57c2',\n darken1: '#5e35b1',\n darken2: '#512da8',\n darken3: '#4527a0',\n darken4: '#311b92',\n accent1: '#b388ff',\n accent2: '#7c4dff',\n accent3: '#651fff',\n accent4: '#6200ea',\n})\n\nconst indigo = Object.freeze({\n base: '#3f51b5',\n lighten5: '#e8eaf6',\n lighten4: '#c5cae9',\n lighten3: '#9fa8da',\n lighten2: '#7986cb',\n lighten1: '#5c6bc0',\n darken1: '#3949ab',\n darken2: '#303f9f',\n darken3: '#283593',\n darken4: '#1a237e',\n accent1: '#8c9eff',\n accent2: '#536dfe',\n accent3: '#3d5afe',\n accent4: '#304ffe',\n})\n\nconst blue = Object.freeze({\n base: '#2196f3',\n lighten5: '#e3f2fd',\n lighten4: '#bbdefb',\n lighten3: '#90caf9',\n lighten2: '#64b5f6',\n lighten1: '#42a5f5',\n darken1: '#1e88e5',\n darken2: '#1976d2',\n darken3: '#1565c0',\n darken4: '#0d47a1',\n accent1: '#82b1ff',\n accent2: '#448aff',\n accent3: '#2979ff',\n accent4: '#2962ff',\n})\n\nconst lightBlue = Object.freeze({\n base: '#03a9f4',\n lighten5: '#e1f5fe',\n lighten4: '#b3e5fc',\n lighten3: '#81d4fa',\n lighten2: '#4fc3f7',\n lighten1: '#29b6f6',\n darken1: '#039be5',\n darken2: '#0288d1',\n darken3: '#0277bd',\n darken4: '#01579b',\n accent1: '#80d8ff',\n accent2: '#40c4ff',\n accent3: '#00b0ff',\n accent4: '#0091ea',\n})\n\nconst cyan = Object.freeze({\n base: '#00bcd4',\n lighten5: '#e0f7fa',\n lighten4: '#b2ebf2',\n lighten3: '#80deea',\n lighten2: '#4dd0e1',\n lighten1: '#26c6da',\n darken1: '#00acc1',\n darken2: '#0097a7',\n darken3: '#00838f',\n darken4: '#006064',\n accent1: '#84ffff',\n accent2: '#18ffff',\n accent3: '#00e5ff',\n accent4: '#00b8d4',\n})\n\nconst teal = Object.freeze({\n base: '#009688',\n lighten5: '#e0f2f1',\n lighten4: '#b2dfdb',\n lighten3: '#80cbc4',\n lighten2: '#4db6ac',\n lighten1: '#26a69a',\n darken1: '#00897b',\n darken2: '#00796b',\n darken3: '#00695c',\n darken4: '#004d40',\n accent1: '#a7ffeb',\n accent2: '#64ffda',\n accent3: '#1de9b6',\n accent4: '#00bfa5',\n})\n\nconst green = Object.freeze({\n base: '#4caf50',\n lighten5: '#e8f5e9',\n lighten4: '#c8e6c9',\n lighten3: '#a5d6a7',\n lighten2: '#81c784',\n lighten1: '#66bb6a',\n darken1: '#43a047',\n darken2: '#388e3c',\n darken3: '#2e7d32',\n darken4: '#1b5e20',\n accent1: '#b9f6ca',\n accent2: '#69f0ae',\n accent3: '#00e676',\n accent4: '#00c853',\n})\n\nconst lightGreen = Object.freeze({\n base: '#8bc34a',\n lighten5: '#f1f8e9',\n lighten4: '#dcedc8',\n lighten3: '#c5e1a5',\n lighten2: '#aed581',\n lighten1: '#9ccc65',\n darken1: '#7cb342',\n darken2: '#689f38',\n darken3: '#558b2f',\n darken4: '#33691e',\n accent1: '#ccff90',\n accent2: '#b2ff59',\n accent3: '#76ff03',\n accent4: '#64dd17',\n})\n\nconst lime = Object.freeze({\n base: '#cddc39',\n lighten5: '#f9fbe7',\n lighten4: '#f0f4c3',\n lighten3: '#e6ee9c',\n lighten2: '#dce775',\n lighten1: '#d4e157',\n darken1: '#c0ca33',\n darken2: '#afb42b',\n darken3: '#9e9d24',\n darken4: '#827717',\n accent1: '#f4ff81',\n accent2: '#eeff41',\n accent3: '#c6ff00',\n accent4: '#aeea00',\n})\n\nconst yellow = Object.freeze({\n base: '#ffeb3b',\n lighten5: '#fffde7',\n lighten4: '#fff9c4',\n lighten3: '#fff59d',\n lighten2: '#fff176',\n lighten1: '#ffee58',\n darken1: '#fdd835',\n darken2: '#fbc02d',\n darken3: '#f9a825',\n darken4: '#f57f17',\n accent1: '#ffff8d',\n accent2: '#ffff00',\n accent3: '#ffea00',\n accent4: '#ffd600',\n})\n\nconst amber = Object.freeze({\n base: '#ffc107',\n lighten5: '#fff8e1',\n lighten4: '#ffecb3',\n lighten3: '#ffe082',\n lighten2: '#ffd54f',\n lighten1: '#ffca28',\n darken1: '#ffb300',\n darken2: '#ffa000',\n darken3: '#ff8f00',\n darken4: '#ff6f00',\n accent1: '#ffe57f',\n accent2: '#ffd740',\n accent3: '#ffc400',\n accent4: '#ffab00',\n})\n\nconst orange = Object.freeze({\n base: '#ff9800',\n lighten5: '#fff3e0',\n lighten4: '#ffe0b2',\n lighten3: '#ffcc80',\n lighten2: '#ffb74d',\n lighten1: '#ffa726',\n darken1: '#fb8c00',\n darken2: '#f57c00',\n darken3: '#ef6c00',\n darken4: '#e65100',\n accent1: '#ffd180',\n accent2: '#ffab40',\n accent3: '#ff9100',\n accent4: '#ff6d00',\n})\n\nconst deepOrange = Object.freeze({\n base: '#ff5722',\n lighten5: '#fbe9e7',\n lighten4: '#ffccbc',\n lighten3: '#ffab91',\n lighten2: '#ff8a65',\n lighten1: '#ff7043',\n darken1: '#f4511e',\n darken2: '#e64a19',\n darken3: '#d84315',\n darken4: '#bf360c',\n accent1: '#ff9e80',\n accent2: '#ff6e40',\n accent3: '#ff3d00',\n accent4: '#dd2c00',\n})\n\nconst brown = Object.freeze({\n base: '#795548',\n lighten5: '#efebe9',\n lighten4: '#d7ccc8',\n lighten3: '#bcaaa4',\n lighten2: '#a1887f',\n lighten1: '#8d6e63',\n darken1: '#6d4c41',\n darken2: '#5d4037',\n darken3: '#4e342e',\n darken4: '#3e2723',\n})\n\nconst blueGrey = Object.freeze({\n base: '#607d8b',\n lighten5: '#eceff1',\n lighten4: '#cfd8dc',\n lighten3: '#b0bec5',\n lighten2: '#90a4ae',\n lighten1: '#78909c',\n darken1: '#546e7a',\n darken2: '#455a64',\n darken3: '#37474f',\n darken4: '#263238',\n})\n\nconst grey = Object.freeze({\n base: '#9e9e9e',\n lighten5: '#fafafa',\n lighten4: '#f5f5f5',\n lighten3: '#eeeeee',\n lighten2: '#e0e0e0',\n lighten1: '#bdbdbd',\n darken1: '#757575',\n darken2: '#616161',\n darken3: '#424242',\n darken4: '#212121',\n})\n\nconst shades = Object.freeze({\n black: '#000000',\n white: '#ffffff',\n transparent: 'transparent',\n})\n\nexport default Object.freeze({\n red,\n pink,\n purple,\n deepPurple,\n indigo,\n blue,\n lightBlue,\n cyan,\n teal,\n green,\n lightGreen,\n lime,\n yellow,\n amber,\n orange,\n deepOrange,\n brown,\n blueGrey,\n grey,\n shades,\n})\n","function createMessage (message: string, vm?: any, parent?: any): string | void {\n if (parent) {\n vm = {\n _isVue: true,\n $parent: parent,\n $options: vm,\n }\n }\n\n if (vm) {\n // Only show each message once per instance\n vm.$_alreadyWarned = vm.$_alreadyWarned || []\n if (vm.$_alreadyWarned.includes(message)) return\n vm.$_alreadyWarned.push(message)\n }\n\n return `[Vuetify] ${message}` + (\n vm ? generateComponentTrace(vm) : ''\n )\n}\n\nexport function consoleInfo (message: string, vm?: any, parent?: any): void {\n const newMessage = createMessage(message, vm, parent)\n newMessage != null && console.info(newMessage)\n}\n\nexport function consoleWarn (message: string, vm?: any, parent?: any): void {\n const newMessage = createMessage(message, vm, parent)\n newMessage != null && console.warn(newMessage)\n}\n\nexport function consoleError (message: string, vm?: any, parent?: any): void {\n const newMessage = createMessage(message, vm, parent)\n newMessage != null && console.error(newMessage)\n}\n\nexport function deprecate (original: string, replacement: string, vm?: any, parent?: any) {\n consoleWarn(`[UPGRADE] '${original}' is deprecated, use '${replacement}' instead.`, vm, parent)\n}\nexport function breaking (original: string, replacement: string, vm?: any, parent?: any) {\n consoleError(`[BREAKING] '${original}' has been removed, use '${replacement}' instead. For more information, see the upgrade guide https://github.com/vuetifyjs/vuetify/releases/tag/v2.0.0#user-content-upgrade-guide`, vm, parent)\n}\nexport function removed (original: string, vm?: any, parent?: any) {\n consoleWarn(`[REMOVED] '${original}' has been removed. You can safely omit it.`, vm, parent)\n}\n\n/**\n * Shamelessly stolen from vuejs/vue/blob/dev/src/core/util/debug.js\n */\n\nconst classifyRE = /(?:^|[-_])(\\w)/g\nconst classify = (str: string) => str\n .replace(classifyRE, c => c.toUpperCase())\n .replace(/[-_]/g, '')\n\nfunction formatComponentName (vm: any, includeFile?: boolean): string {\n if (vm.$root === vm) {\n return '<Root>'\n }\n const options = typeof vm === 'function' && vm.cid != null\n ? vm.options\n : vm._isVue\n ? vm.$options || vm.constructor.options\n : vm || {}\n let name = options.name || options._componentTag\n const file = options.__file\n if (!name && file) {\n const match = file.match(/([^/\\\\]+)\\.vue$/)\n name = match && match[1]\n }\n\n return (\n (name ? `<${classify(name)}>` : `<Anonymous>`) +\n (file && includeFile !== false ? ` at ${file}` : '')\n )\n}\n\nfunction generateComponentTrace (vm: any): string {\n if (vm._isVue && vm.$parent) {\n const tree: any[] = []\n let currentRecursiveSequence = 0\n while (vm) {\n if (tree.length > 0) {\n const last: any = tree[tree.length - 1]\n if (last.constructor === vm.constructor) {\n currentRecursiveSequence++\n vm = vm.$parent\n continue\n } else if (currentRecursiveSequence > 0) {\n tree[tree.length - 1] = [last, currentRecursiveSequence]\n currentRecursiveSequence = 0\n }\n }\n tree.push(vm)\n vm = vm.$parent\n }\n return '\\n\\nfound in\\n\\n' + tree\n .map((vm, i) => `${\n i === 0 ? '---> ' : ' '.repeat(5 + i * 2)\n }${\n Array.isArray(vm)\n ? `${formatComponentName(vm[0])}... (${vm[1]} recursive calls)`\n : formatComponentName(vm)\n }`)\n .join('\\n')\n } else {\n return `\\n\\n(found in ${formatComponentName(vm)})`\n }\n}\n","import { VNodeData } from 'vue'\n\n/**\n * Removes duplicate `@input` listeners when\n * using v-model with functional components\n *\n * @see https://github.com/vuetifyjs/vuetify/issues/4460\n */\nexport default function dedupeModelListeners (data: VNodeData): void {\n if (data.model && data.on && data.on.input) {\n if (Array.isArray(data.on.input)) {\n const i = data.on.input.indexOf(data.model.callback)\n if (i > -1) data.on.input.splice(i, 1)\n } else {\n delete data.on.input\n }\n }\n}\n","import Vue, { VNodeData } from 'vue'\nimport { VNode, VNodeDirective, FunctionalComponentOptions } from 'vue/types'\nimport { VuetifyIcon } from 'vuetify/types/services/icons'\nimport mergeData from './mergeData'\n\nexport function createSimpleFunctional (\n c: string,\n el = 'div',\n name?: string\n) {\n return Vue.extend({\n name: name || c.replace(/__/g, '-'),\n\n functional: true,\n\n render (h, { data, children }): VNode {\n data.staticClass = (`${c} ${data.staticClass || ''}`).trim()\n\n return h(el, data, children)\n },\n })\n}\n\nfunction mergeTransitions (\n dest: Function | Function[] = [],\n ...transitions: (Function | Function[])[]\n) {\n /* eslint-disable-next-line no-array-constructor */\n return Array<Function>().concat(dest, ...transitions)\n}\n\nexport function createSimpleTransition (\n name: string,\n origin = 'top center 0',\n mode?: string\n): FunctionalComponentOptions {\n return {\n name,\n\n functional: true,\n\n props: {\n group: {\n type: Boolean,\n default: false,\n },\n hideOnLeave: {\n type: Boolean,\n default: false,\n },\n leaveAbsolute: {\n type: Boolean,\n default: false,\n },\n mode: {\n type: String,\n default: mode,\n },\n origin: {\n type: String,\n default: origin,\n },\n },\n\n render (h, context): VNode {\n const tag = `transition${context.props.group ? '-group' : ''}`\n const data: VNodeData = {\n props: {\n name,\n mode: context.props.mode,\n },\n on: {\n beforeEnter (el: HTMLElement) {\n el.style.transformOrigin = context.props.origin\n el.style.webkitTransformOrigin = context.props.origin\n },\n },\n }\n\n if (context.props.leaveAbsolute) {\n data.on!.leave = mergeTransitions(data.on!.leave, (el: HTMLElement) => (el.style.position = 'absolute'))\n }\n if (context.props.hideOnLeave) {\n data.on!.leave = mergeTransitions(data.on!.leave, (el: HTMLElement) => (el.style.display = 'none'))\n }\n\n return h(tag, mergeData(context.data, data), context.children)\n },\n }\n}\n\nexport function createJavaScriptTransition (\n name: string,\n functions: Record<string, any>,\n mode = 'in-out'\n): FunctionalComponentOptions {\n return {\n name,\n\n functional: true,\n\n props: {\n mode: {\n type: String,\n default: mode,\n },\n },\n\n render (h, context): VNode {\n return h(\n 'transition',\n mergeData(context.data, {\n props: { name },\n on: functions,\n }),\n context.children\n )\n },\n }\n}\n\nexport type BindingConfig = Pick<VNodeDirective, 'arg' | 'modifiers' | 'value'>\nexport function directiveConfig (binding: BindingConfig, defaults = {}): VNodeDirective {\n return {\n ...defaults,\n ...binding.modifiers,\n value: binding.arg,\n ...(binding.value || {}),\n }\n}\n\nexport function addOnceEventListener (\n el: EventTarget,\n eventName: string,\n cb: (event: Event) => void,\n options: boolean | AddEventListenerOptions = false\n): void {\n var once = (event: Event) => {\n cb(event)\n el.removeEventListener(eventName, once, options)\n }\n\n el.addEventListener(eventName, once, options)\n}\n\nlet passiveSupported = false\ntry {\n if (typeof window !== 'undefined') {\n const testListenerOpts = Object.defineProperty({}, 'passive', {\n get: () => {\n passiveSupported = true\n },\n })\n\n window.addEventListener('testListener', testListenerOpts, testListenerOpts)\n window.removeEventListener('testListener', testListenerOpts, testListenerOpts)\n }\n} catch (e) { console.warn(e) }\nexport { passiveSupported }\n\nexport function addPassiveEventListener (\n el: EventTarget,\n event: string,\n cb: EventHandlerNonNull | (() => void),\n options: {}\n): void {\n el.addEventListener(event, cb, passiveSupported ? options : false)\n}\n\nexport function getNestedValue (obj: any, path: (string | number)[], fallback?: any): any {\n const last = path.length - 1\n\n if (last < 0) return obj === undefined ? fallback : obj\n\n for (let i = 0; i < last; i++) {\n if (obj == null) {\n return fallback\n }\n obj = obj[path[i]]\n }\n\n if (obj == null) return fallback\n\n return obj[path[last]] === undefined ? fallback : obj[path[last]]\n}\n\nexport function deepEqual (a: any, b: any): boolean {\n if (a === b) return true\n\n if (a instanceof Date && b instanceof Date) {\n // If the values are Date, they were convert to timestamp with getTime and compare it\n if (a.getTime() !== b.getTime()) return false\n }\n\n if (a !== Object(a) || b !== Object(b)) {\n // If the values aren't objects, they were already checked for equality\n return false\n }\n\n const props = Object.keys(a)\n\n if (props.length !== Object.keys(b).length) {\n // Different number of props, don't bother to check\n return false\n }\n\n return props.every(p => deepEqual(a[p], b[p]))\n}\n\nexport function getObjectValueByPath (obj: any, path: string, fallback?: any): any {\n // credit: http://stackoverflow.com/questions/6491463/accessing-nested-javascript-objects-with-string-key#comment55278413_6491621\n if (obj == null || !path || typeof path !== 'string') return fallback\n if (obj[path] !== undefined) return obj[path]\n path = path.replace(/\\[(\\w+)\\]/g, '.$1') // convert indexes to properties\n path = path.replace(/^\\./, '') // strip a leading dot\n return getNestedValue(obj, path.split('.'), fallback)\n}\n\nexport function getPropertyFromItem (\n item: object,\n property: string | (string | number)[] | ((item: object, fallback?: any) => any),\n fallback?: any\n): any {\n if (property == null) return item === undefined ? fallback : item\n\n if (item !== Object(item)) return fallback === undefined ? item : fallback\n\n if (typeof property === 'string') return getObjectValueByPath(item, property, fallback)\n\n if (Array.isArray(property)) return getNestedValue(item, property, fallback)\n\n if (typeof property !== 'function') return fallback\n\n const value = property(item, fallback)\n\n return typeof value === 'undefined' ? fallback : value\n}\n\nexport function createRange (length: number): number[] {\n return Array.from({ length }, (v, k) => k)\n}\n\nexport function getZIndex (el?: Element | null): number {\n if (!el || el.nodeType !== Node.ELEMENT_NODE) return 0\n\n const index = +window.getComputedStyle(el).getPropertyValue('z-index')\n\n if (!index) return getZIndex(el.parentNode as Element)\n return index\n}\n\nconst tagsToReplace = {\n '&': '&amp;',\n '<': '&lt;',\n '>': '&gt;',\n} as any\n\nexport function escapeHTML (str: string): string {\n return str.replace(/[&<>]/g, tag => tagsToReplace[tag] || tag)\n}\n\nexport function filterObjectOnKeys<T, K extends keyof T> (obj: T, keys: K[]): { [N in K]: T[N] } {\n const filtered = {} as { [N in K]: T[N] }\n\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i]\n if (typeof obj[key] !== 'undefined') {\n filtered[key] = obj[key]\n }\n }\n\n return filtered\n}\n\nexport function convertToUnit (str: string | number | null | undefined, unit = 'px'): string | undefined {\n if (str == null || str === '') {\n return undefined\n } else if (isNaN(+str!)) {\n return String(str)\n } else {\n return `${Number(str)}${unit}`\n }\n}\n\nexport function kebabCase (str: string): string {\n return (str || '').replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase()\n}\n\nexport function isObject (obj: any): obj is object {\n return obj !== null && typeof obj === 'object'\n}\n\n// KeyboardEvent.keyCode aliases\nexport const keyCodes = Object.freeze({\n enter: 13,\n tab: 9,\n delete: 46,\n esc: 27,\n space: 32,\n up: 38,\n down: 40,\n left: 37,\n right: 39,\n end: 35,\n home: 36,\n del: 46,\n backspace: 8,\n insert: 45,\n pageup: 33,\n pagedown: 34,\n})\n\n// This remaps internal names like '$cancel' or '$vuetify.icons.cancel'\n// to the current name or component for that icon.\nexport function remapInternalIcon (vm: Vue, iconName: string): VuetifyIcon {\n if (!iconName.startsWith('$')) {\n return iconName\n }\n\n // Get the target icon name\n const iconPath = `$vuetify.icons.values.${iconName.split('$').pop()!.split('.').pop()}`\n\n // Now look up icon indirection name,\n // e.g. '$vuetify.icons.values.cancel'\n return getObjectValueByPath(vm, iconPath, iconName)\n}\n\nexport function keys<O> (o: O) {\n return Object.keys(o) as (keyof O)[]\n}\n\n/**\n * Camelize a hyphen-delimited string.\n */\nconst camelizeRE = /-(\\w)/g\nexport const camelize = (str: string): string => {\n return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : '')\n}\n\n/**\n * Returns the set difference of B and A, i.e. the set of elements in B but not in A\n */\nexport function arrayDiff (a: any[], b: any[]): any[] {\n const diff: any[] = []\n for (let i = 0; i < b.length; i++) {\n if (a.indexOf(b[i]) < 0) diff.push(b[i])\n }\n return diff\n}\n\n/**\n * Makes the first character of a string uppercase\n */\nexport function upperFirst (str: string): string {\n return str.charAt(0).toUpperCase() + str.slice(1)\n}\n\nexport function groupByProperty (xs: any[], key: string): Record<string, any[]> {\n return xs.reduce((rv, x) => {\n (rv[x[key]] = rv[x[key]] || []).push(x)\n return rv\n }, {})\n}\n\nexport function wrapInArray<T> (v: T | T[] | null | undefined): T[] { return v != null ? Array.isArray(v) ? v : [v] : [] }\n\nexport type compareFn<T = any> = (a: T, b: T) => number\n\nexport function sortItems (\n items: any[],\n sortBy: string[],\n sortDesc: boolean[],\n locale: string,\n customSorters?: Record<string, compareFn>\n) {\n if (sortBy === null || !sortBy.length) return items\n const stringCollator = new Intl.Collator(locale, { sensitivity: 'accent', usage: 'sort' })\n\n return items.sort((a, b) => {\n for (let i = 0; i < sortBy.length; i++) {\n const sortKey = sortBy[i]\n\n let sortA = getObjectValueByPath(a, sortKey)\n let sortB = getObjectValueByPath(b, sortKey)\n\n if (sortDesc[i]) {\n [sortA, sortB] = [sortB, sortA]\n }\n\n if (customSorters && customSorters[sortKey]) {\n const customResult = customSorters[sortKey](sortA, sortB)\n\n if (!customResult) continue\n\n return customResult\n }\n\n // Check if both cannot be evaluated\n if (sortA === null && sortB === null) {\n continue\n }\n\n [sortA, sortB] = [sortA, sortB].map(s => (s || '').toString().toLocaleLowerCase())\n\n if (sortA !== sortB) {\n if (!isNaN(sortA) && !isNaN(sortB)) return Number(sortA) - Number(sortB)\n return stringCollator.compare(sortA, sortB)\n }\n }\n\n return 0\n })\n}\n\nexport type FilterFn = (value: any, search: string | null, item: any) => boolean\n\nexport function defaultFilter (value: any, search: string | null, item: any) {\n return value != null &&\n search != null &&\n typeof value !== 'boolean' &&\n value.toString().toLocaleLowerCase().indexOf(search.toLocaleLowerCase()) !== -1\n}\n\nexport function searchItems (items: any[], search: string) {\n if (!search) return items\n search = search.toString().toLowerCase()\n if (search.trim() === '') return items\n\n return items.filter(item => Object.keys(item).some(key => defaultFilter(getObjectValueByPath(item, key), search, item)))\n}\n\n/**\n * Returns:\n * - 'normal' for old style slots - `<template slot=\"default\">`\n * - 'scoped' for old style scoped slots (`<template slot=\"default\" slot-scope=\"data\">`) or bound v-slot (`#default=\"data\"`)\n * - 'v-slot' for unbound v-slot (`#default`) - only if the third param is true, otherwise counts as scoped\n */\nexport function getSlotType<T extends boolean = false> (vm: Vue, name: string, split?: T): (T extends true ? 'v-slot' : never) | 'normal' | 'scoped' | void {\n if (vm.$slots[name] && vm.$scopedSlots[name] && (vm.$scopedSlots[name] as any).name) {\n return split ? 'v-slot' as any : 'scoped'\n }\n if (vm.$slots[name]) return 'normal'\n if (vm.$scopedSlots[name]) return 'scoped'\n}\n\nexport function debounce (fn: Function, delay: number) {\n let timeoutId = 0 as any\n return (...args: any[]) => {\n clearTimeout(timeoutId)\n timeoutId = setTimeout(() => fn(...args), delay)\n }\n}\n\nexport function getPrefixedScopedSlots (prefix: string, scopedSlots: any) {\n return Object.keys(scopedSlots).filter(k => k.startsWith(prefix)).reduce((obj: any, k: string) => {\n obj[k.replace(prefix, '')] = scopedSlots[k]\n return obj\n }, {})\n}\n\nexport function getSlot (vm: Vue, name = 'default', data?: object, optional = false) {\n if (vm.$scopedSlots[name]) {\n return vm.$scopedSlots[name]!(data)\n } else if (vm.$slots[name] && (!data || optional)) {\n return vm.$slots[name]\n }\n return undefined\n}\n\nexport function clamp (value: number, min = 0, max = 1) {\n return Math.max(min, Math.min(max, value))\n}\n\nexport function padEnd (str: string, length: number, char = '0') {\n return str + char.repeat(Math.max(0, length - str.length))\n}\n\nexport function chunk (str: string, size = 1) {\n const chunked: string[] = []\n let index = 0\n while (index < str.length) {\n chunked.push(str.substr(index, size))\n index += size\n }\n return chunked\n}\n\nexport function humanReadableFileSize (bytes: number, binary = false): string {\n const base = binary ? 1024 : 1000\n if (bytes < base) {\n return `${bytes} B`\n }\n\n const prefix = binary ? ['Ki', 'Mi', 'Gi'] : ['k', 'M', 'G']\n let unit = -1\n while (Math.abs(bytes) >= base && unit < prefix.length - 1) {\n bytes /= base\n ++unit\n }\n return `${bytes.toFixed(1)} ${prefix[unit]}B`\n}\n\nexport function camelizeObjectKeys (obj: Record<string, any> | null | undefined) {\n if (!obj) return {}\n\n return Object.keys(obj).reduce((o: any, key: string) => {\n o[camelize(key)] = obj[key]\n return o\n }, {})\n}\n","/**\n * @copyright 2017 Alex Regan\n * @license MIT\n * @see https://github.com/alexsasharegan/vue-functional-data-merge\n */\n/* eslint-disable max-statements */\nimport { VNodeData } from 'vue'\nimport { camelize } from './helpers'\n\nconst pattern = {\n styleList: /;(?![^(]*\\))/g,\n styleProp: /:(.*)/,\n} as const\n\nfunction parseStyle (style: string) {\n const styleMap: Dictionary<any> = {}\n\n for (const s of style.split(pattern.styleList)) {\n let [key, val] = s.split(pattern.styleProp)\n key = key.trim()\n if (!key) {\n continue\n }\n // May be undefined if the `key: value` pair is incomplete.\n if (typeof val === 'string') {\n val = val.trim()\n }\n styleMap[camelize(key)] = val\n }\n\n return styleMap\n}\n\n/**\n * Intelligently merges data for createElement.\n * Merges arguments left to right, preferring the right argument.\n * Returns new VNodeData object.\n */\nexport default function mergeData (...vNodeData: VNodeData[]): VNodeData\nexport default function mergeData (): VNodeData {\n const mergeTarget: VNodeData & Dictionary<any> = {}\n let i: number = arguments.length\n let prop: string\n let event: string\n\n // Allow for variadic argument length.\n while (i--) {\n // Iterate through the data properties and execute merge strategies\n // Object.keys eliminates need for hasOwnProperty call\n for (prop of Object.keys(arguments[i])) {\n switch (prop) {\n // Array merge strategy (array concatenation)\n case 'class':\n case 'style':\n case 'directives':\n if (!Array.isArray(mergeTarget[prop])) {\n mergeTarget[prop] = []\n }\n\n if (prop === 'style') {\n let style: any[]\n if (Array.isArray(arguments[i].style)) {\n style = arguments[i].style\n } else {\n style = [arguments[i].style]\n }\n for (let j = 0; j < style.length; j++) {\n const s = style[j]\n if (typeof s === 'string') {\n style[j] = parseStyle(s)\n }\n }\n arguments[i].style = style\n }\n\n // Repackaging in an array allows Vue runtime\n // to merge class/style bindings regardless of type.\n mergeTarget[prop] = mergeTarget[prop].concat(arguments[i][prop])\n break\n // Space delimited string concatenation strategy\n case 'staticClass':\n if (!arguments[i][prop]) {\n break\n }\n if (mergeTarget[prop] === undefined) {\n mergeTarget[prop] = ''\n }\n if (mergeTarget[prop]) {\n // Not an empty string, so concatenate\n mergeTarget[prop] += ' '\n }\n mergeTarget[prop] += arguments[i][prop].trim()\n break\n // Object, the properties of which to merge via array merge strategy (array concatenation).\n // Callback merge strategy merges callbacks to the beginning of the array,\n // so that the last defined callback will be invoked first.\n // This is done since to mimic how Object.assign merging\n // uses the last given value to assign.\n case 'on':\n case 'nativeOn':\n if (!mergeTarget[prop]) {\n mergeTarget[prop] = {}\n }\n const listeners = mergeTarget[prop]!\n for (event of Object.keys(arguments[i][prop] || {})) {\n // Concat function to array of functions if callback present.\n if (listeners[event]) {\n // Insert current iteration data in beginning of merged array.\n listeners[event] = Array<Function>().concat( // eslint-disable-line\n listeners[event],\n arguments[i][prop][event]\n )\n } else {\n // Straight assign.\n listeners[event] = arguments[i][prop][event]\n }\n }\n break\n // Object merge strategy\n case 'attrs':\n case 'props':\n case 'domProps':\n case 'scopedSlots':\n case 'staticStyle':\n case 'hook':\n case 'transition':\n if (!mergeTarget[prop]) {\n mergeTarget[prop] = {}\n }\n mergeTarget[prop] = { ...arguments[i][prop], ...mergeTarget[prop] }\n break\n // Reassignment strategy (no merge)\n case 'slot':\n case 'key':\n case 'ref':\n case 'tag':\n case 'show':\n case 'keepAlive':\n default:\n if (!mergeTarget[prop]) {\n mergeTarget[prop] = arguments[i][prop]\n }\n }\n }\n }\n\n return mergeTarget\n}\n","/* eslint-disable max-len, import/export, no-use-before-define */\nimport Vue, { VueConstructor } from 'vue'\n\nexport default function mixins<T extends VueConstructor[]> (...args: T): ExtractVue<T> extends infer V ? V extends Vue ? VueConstructor<V> : never : never\nexport default function mixins<T extends Vue> (...args: VueConstructor[]): VueConstructor<T>\nexport default function mixins (...args: VueConstructor[]): VueConstructor {\n return Vue.extend({ mixins: args })\n}\n\n/**\n * Returns the instance type from a VueConstructor\n * Useful for adding types when using mixins().extend()\n */\nexport type ExtractVue<T extends VueConstructor | VueConstructor[]> = T extends (infer U)[]\n ? UnionToIntersection<\n U extends VueConstructor<infer V> ? V : never\n >\n : T extends VueConstructor<infer V> ? V : never\n\ntype UnionToIntersection<U> =\n (U extends any ? (k: U) => void : never) extends ((k: infer I) => void) ? I : never\n","import { CreateElement, VNode } from 'vue'\n\nexport default function rebuildFunctionalSlots (slots: { [key: string]: VNode[] | undefined }, h: CreateElement) {\n const children: VNode[] = []\n\n for (const slot in slots) {\n if (slots.hasOwnProperty(slot)) {\n children.push(h('template', { slot }, slots[slot]))\n }\n }\n\n return children\n}\n","module.exports = __WEBPACK_EXTERNAL_MODULE_vue__;"],"sourceRoot":""}
\No newline at end of file