{"version":3,"sources":["webpack://Vuetify/webpack/universalModuleDefinition","webpack://Vuetify/webpack/bootstrap","webpack://Vuetify/./src/components/VAlert/VAlert.ts","webpack://Vuetify/./src/components/VAlert/index.ts","webpack://Vuetify/./src/components/VApp/VApp.js","webpack://Vuetify/./src/components/VApp/index.js","webpack://Vuetify/./src/components/VApp/mixins/app-theme.js","webpack://Vuetify/./src/components/VAutocomplete/VAutocomplete.js","webpack://Vuetify/./src/components/VAutocomplete/index.js","webpack://Vuetify/./src/components/VAvatar/VAvatar.ts","webpack://Vuetify/./src/components/VAvatar/index.ts","webpack://Vuetify/./src/components/VBadge/VBadge.ts","webpack://Vuetify/./src/components/VBadge/index.ts","webpack://Vuetify/./src/components/VBottomNav/VBottomNav.ts","webpack://Vuetify/./src/components/VBottomNav/index.ts","webpack://Vuetify/./src/components/VBottomSheet/VBottomSheet.js","webpack://Vuetify/./src/components/VBottomSheet/index.js","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.ts","webpack://Vuetify/./src/components/VBtn/index.ts","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.ts","webpack://Vuetify/./src/components/VCalendar/VCalendarMonthly.ts","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-intervals.ts","webpack://Vuetify/./src/components/VCalendar/mixins/mouse.ts","webpack://Vuetify/./src/components/VCalendar/mixins/times.ts","webpack://Vuetify/./src/components/VCalendar/util/props.ts","webpack://Vuetify/./src/components/VCalendar/util/timestamp.ts","webpack://Vuetify/./src/components/VCard/VCard.ts","webpack://Vuetify/./src/components/VCard/VCardMedia.ts","webpack://Vuetify/./src/components/VCard/VCardTitle.ts","webpack://Vuetify/./src/components/VCard/index.ts","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.js","webpack://Vuetify/./src/components/VCheckbox/index.js","webpack://Vuetify/./src/components/VChip/VChip.ts","webpack://Vuetify/./src/components/VChip/index.ts","webpack://Vuetify/./src/components/VCombobox/VCombobox.js","webpack://Vuetify/./src/components/VCombobox/index.js","webpack://Vuetify/./src/components/VCounter/VCounter.ts","webpack://Vuetify/./src/components/VCounter/index.ts","webpack://Vuetify/./src/components/VDataIterator/VDataIterator.js","webpack://Vuetify/./src/components/VDataIterator/index.js","webpack://Vuetify/./src/components/VDataTable/VDataTable.js","webpack://Vuetify/./src/components/VDataTable/VEditDialog.js","webpack://Vuetify/./src/components/VDataTable/index.js","webpack://Vuetify/./src/components/VDataTable/mixins/body.js","webpack://Vuetify/./src/components/VDataTable/mixins/foot.js","webpack://Vuetify/./src/components/VDataTable/mixins/head.js","webpack://Vuetify/./src/components/VDataTable/mixins/progress.js","webpack://Vuetify/./src/components/VDatePicker/VDatePicker.ts","webpack://Vuetify/./src/components/VDatePicker/VDatePickerDateTable.ts","webpack://Vuetify/./src/components/VDatePicker/VDatePickerHeader.ts","webpack://Vuetify/./src/components/VDatePicker/VDatePickerMonthTable.ts","webpack://Vuetify/./src/components/VDatePicker/VDatePickerTitle.ts","webpack://Vuetify/./src/components/VDatePicker/VDatePickerYears.ts","webpack://Vuetify/./src/components/VDatePicker/index.js","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.js","webpack://Vuetify/./src/components/VDialog/index.js","webpack://Vuetify/./src/components/VDivider/VDivider.ts","webpack://Vuetify/./src/components/VDivider/index.ts","webpack://Vuetify/./src/components/VExpansionPanel/VExpansionPanel.ts","webpack://Vuetify/./src/components/VExpansionPanel/VExpansionPanelContent.ts","webpack://Vuetify/./src/components/VExpansionPanel/index.ts","webpack://Vuetify/./src/components/VFooter/VFooter.js","webpack://Vuetify/./src/components/VFooter/index.js","webpack://Vuetify/./src/components/VForm/VForm.js","webpack://Vuetify/./src/components/VForm/index.js","webpack://Vuetify/./src/components/VGrid/VContainer.js","webpack://Vuetify/./src/components/VGrid/VContent.js","webpack://Vuetify/./src/components/VGrid/VFlex.js","webpack://Vuetify/./src/components/VGrid/VLayout.js","webpack://Vuetify/./src/components/VGrid/grid.js","webpack://Vuetify/./src/components/VGrid/index.js","webpack://Vuetify/./src/components/VHover/VHover.ts","webpack://Vuetify/./src/components/VHover/index.ts","webpack://Vuetify/./src/components/VIcon/VIcon.ts","webpack://Vuetify/./src/components/VIcon/index.ts","webpack://Vuetify/./src/components/VImg/VImg.ts","webpack://Vuetify/./src/components/VImg/index.ts","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.ts","webpack://Vuetify/./src/components/VItemGroup/index.ts","webpack://Vuetify/./src/components/VJumbotron/VJumbotron.js","webpack://Vuetify/./src/components/VJumbotron/index.js","webpack://Vuetify/./src/components/VLabel/VLabel.ts","webpack://Vuetify/./src/components/VLabel/index.ts","webpack://Vuetify/./src/components/VList/VList.ts","webpack://Vuetify/./src/components/VList/VListGroup.ts","webpack://Vuetify/./src/components/VList/VListTile.ts","webpack://Vuetify/./src/components/VList/VListTileAction.ts","webpack://Vuetify/./src/components/VList/VListTileAvatar.ts","webpack://Vuetify/./src/components/VList/index.ts","webpack://Vuetify/./src/components/VMenu/VMenu.js","webpack://Vuetify/./src/components/VMenu/index.js","webpack://Vuetify/./src/components/VMenu/mixins/menu-activator.js","webpack://Vuetify/./src/components/VMenu/mixins/menu-generators.js","webpack://Vuetify/./src/components/VMenu/mixins/menu-keyable.js","webpack://Vuetify/./src/components/VMenu/mixins/menu-position.js","webpack://Vuetify/./src/components/VMessages/VMessages.ts","webpack://Vuetify/./src/components/VMessages/index.ts","webpack://Vuetify/./src/components/VNavigationDrawer/VNavigationDrawer.ts","webpack://Vuetify/./src/components/VNavigationDrawer/index.ts","webpack://Vuetify/./src/components/VOverflowBtn/VOverflowBtn.js","webpack://Vuetify/./src/components/VOverflowBtn/index.js","webpack://Vuetify/./src/components/VPagination/VPagination.ts","webpack://Vuetify/./src/components/VPagination/index.ts","webpack://Vuetify/./src/components/VParallax/VParallax.ts","webpack://Vuetify/./src/components/VParallax/index.ts","webpack://Vuetify/./src/components/VPicker/VPicker.ts","webpack://Vuetify/./src/components/VPicker/index.ts","webpack://Vuetify/./src/components/VProgressCircular/VProgressCircular.ts","webpack://Vuetify/./src/components/VProgressCircular/index.ts","webpack://Vuetify/./src/components/VProgressLinear/VProgressLinear.ts","webpack://Vuetify/./src/components/VProgressLinear/index.ts","webpack://Vuetify/./src/components/VRadioGroup/VRadio.js","webpack://Vuetify/./src/components/VRadioGroup/VRadioGroup.js","webpack://Vuetify/./src/components/VRadioGroup/index.js","webpack://Vuetify/./src/components/VRangeSlider/VRangeSlider.js","webpack://Vuetify/./src/components/VRangeSlider/index.js","webpack://Vuetify/./src/components/VRating/VRating.ts","webpack://Vuetify/./src/components/VRating/index.ts","webpack://Vuetify/./src/components/VResponsive/VResponsive.ts","webpack://Vuetify/./src/components/VResponsive/index.ts","webpack://Vuetify/./src/components/VSelect/VSelect.js","webpack://Vuetify/./src/components/VSelect/VSelectList.js","webpack://Vuetify/./src/components/VSelect/index.js","webpack://Vuetify/./src/components/VSheet/VSheet.ts","webpack://Vuetify/./src/components/VSheet/index.ts","webpack://Vuetify/./src/components/VSlider/VSlider.js","webpack://Vuetify/./src/components/VSlider/index.js","webpack://Vuetify/./src/components/VSnackbar/VSnackbar.ts","webpack://Vuetify/./src/components/VSnackbar/index.ts","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.js","webpack://Vuetify/./src/components/VSpeedDial/index.js","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.ts","webpack://Vuetify/./src/components/VSubheader/index.ts","webpack://Vuetify/./src/components/VSwitch/VSwitch.js","webpack://Vuetify/./src/components/VSwitch/index.js","webpack://Vuetify/./src/components/VSystemBar/VSystemBar.ts","webpack://Vuetify/./src/components/VSystemBar/index.ts","webpack://Vuetify/./src/components/VTabs/VTab.js","webpack://Vuetify/./src/components/VTabs/VTabItem.js","webpack://Vuetify/./src/components/VTabs/VTabs.js","webpack://Vuetify/./src/components/VTabs/VTabsItems.js","webpack://Vuetify/./src/components/VTabs/VTabsSlider.js","webpack://Vuetify/./src/components/VTabs/index.js","webpack://Vuetify/./src/components/VTabs/mixins/tabs-computed.js","webpack://Vuetify/./src/components/VTabs/mixins/tabs-generators.js","webpack://Vuetify/./src/components/VTabs/mixins/tabs-props.js","webpack://Vuetify/./src/components/VTabs/mixins/tabs-touch.js","webpack://Vuetify/./src/components/VTabs/mixins/tabs-watchers.js","webpack://Vuetify/./src/components/VTextField/VTextField.js","webpack://Vuetify/./src/components/VTextField/index.js","webpack://Vuetify/./src/components/VTextarea/VTextarea.js","webpack://Vuetify/./src/components/VTextarea/index.js","webpack://Vuetify/./src/components/VTimePicker/VTimePicker.ts","webpack://Vuetify/./src/components/VTimePicker/VTimePickerClock.ts","webpack://Vuetify/./src/components/VTimePicker/VTimePickerTitle.ts","webpack://Vuetify/./src/components/VTimePicker/index.ts","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.ts","webpack://Vuetify/./src/components/VToolbar/VToolbarSideIcon.ts","webpack://Vuetify/./src/components/VToolbar/index.ts","webpack://Vuetify/./src/components/VTooltip/VTooltip.js","webpack://Vuetify/./src/components/VTooltip/index.js","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.ts","webpack://Vuetify/./src/components/VWindow/VWindowItem.ts","webpack://Vuetify/./src/components/VWindow/index.ts","webpack://Vuetify/./src/components/Vuetify/goTo/easing-patterns.ts","webpack://Vuetify/./src/components/Vuetify/goTo/index.ts","webpack://Vuetify/./src/components/Vuetify/goTo/util.ts","webpack://Vuetify/./src/components/Vuetify/index.ts","webpack://Vuetify/./src/components/Vuetify/mixins/application.ts","webpack://Vuetify/./src/components/Vuetify/mixins/breakpoint.ts","webpack://Vuetify/./src/components/Vuetify/mixins/icons.ts","webpack://Vuetify/./src/components/Vuetify/mixins/lang.ts","webpack://Vuetify/./src/components/Vuetify/mixins/options.ts","webpack://Vuetify/./src/components/Vuetify/mixins/theme.ts","webpack://Vuetify/./src/components/index.ts","webpack://Vuetify/./src/components/transitions/expand-transition.js","webpack://Vuetify/./src/components/transitions/index.js","webpack://Vuetify/./src/directives/click-outside.ts","webpack://Vuetify/./src/directives/index.ts","webpack://Vuetify/./src/directives/resize.ts","webpack://Vuetify/./src/directives/ripple.ts","webpack://Vuetify/./src/directives/scroll.ts","webpack://Vuetify/./src/directives/touch.ts","webpack://Vuetify/./src/index.ts","webpack://Vuetify/./src/locale/en.ts","webpack://Vuetify/./src/mixins/applicationable.ts","webpack://Vuetify/./src/mixins/bootable.ts","webpack://Vuetify/./src/mixins/button-group.ts","webpack://Vuetify/./src/mixins/colorable.ts","webpack://Vuetify/./src/mixins/comparable.ts","webpack://Vuetify/./src/mixins/data-iterable.js","webpack://Vuetify/./src/mixins/delayable.ts","webpack://Vuetify/./src/mixins/dependent.ts","webpack://Vuetify/./src/mixins/detachable.js","webpack://Vuetify/./src/mixins/elevatable.ts","webpack://Vuetify/./src/mixins/filterable.ts","webpack://Vuetify/./src/mixins/groupable.ts","webpack://Vuetify/./src/mixins/loadable.ts","webpack://Vuetify/./src/mixins/maskable.js","webpack://Vuetify/./src/mixins/measurable.ts","webpack://Vuetify/./src/mixins/menuable.js","webpack://Vuetify/./src/mixins/overlayable.ts","webpack://Vuetify/./src/mixins/picker-button.ts","webpack://Vuetify/./src/mixins/picker.ts","webpack://Vuetify/./src/mixins/positionable.ts","webpack://Vuetify/./src/mixins/proxyable.ts","webpack://Vuetify/./src/mixins/registrable.ts","webpack://Vuetify/./src/mixins/returnable.ts","webpack://Vuetify/./src/mixins/rippleable.ts","webpack://Vuetify/./src/mixins/routable.ts","webpack://Vuetify/./src/mixins/selectable.js","webpack://Vuetify/./src/mixins/sizeable.ts","webpack://Vuetify/./src/mixins/ssr-bootable.ts","webpack://Vuetify/./src/mixins/stackable.ts","webpack://Vuetify/./src/mixins/themeable.ts","webpack://Vuetify/./src/mixins/toggleable.ts","webpack://Vuetify/./src/mixins/transitionable.ts","webpack://Vuetify/./src/mixins/translatable.ts","webpack://Vuetify/./src/mixins/validatable.ts","webpack://Vuetify/./src/stylus/app.styl?eaaa","webpack://Vuetify/./src/stylus/components/_alerts.styl?86b8","webpack://Vuetify/./src/stylus/components/_app.styl?5566","webpack://Vuetify/./src/stylus/components/_autocompletes.styl?a945","webpack://Vuetify/./src/stylus/components/_avatars.styl?3543","webpack://Vuetify/./src/stylus/components/_badges.styl?da0f","webpack://Vuetify/./src/stylus/components/_bottom-navs.styl?3380","webpack://Vuetify/./src/stylus/components/_bottom-sheets.styl?2c03","webpack://Vuetify/./src/stylus/components/_breadcrumbs.styl?97ab","webpack://Vuetify/./src/stylus/components/_button-toggle.styl?19ee","webpack://Vuetify/./src/stylus/components/_buttons.styl?0f7c","webpack://Vuetify/./src/stylus/components/_calendar-daily.styl?2513","webpack://Vuetify/./src/stylus/components/_calendar-weekly.styl?2fdf","webpack://Vuetify/./src/stylus/components/_cards.styl?a6dc","webpack://Vuetify/./src/stylus/components/_carousel.styl?6d00","webpack://Vuetify/./src/stylus/components/_chips.styl?f6b8","webpack://Vuetify/./src/stylus/components/_content.styl?8c4b","webpack://Vuetify/./src/stylus/components/_counters.styl?860d","webpack://Vuetify/./src/stylus/components/_data-iterator.styl?2d81","webpack://Vuetify/./src/stylus/components/_data-table.styl?22df","webpack://Vuetify/./src/stylus/components/_date-picker-header.styl?50e0","webpack://Vuetify/./src/stylus/components/_date-picker-table.styl?0016","webpack://Vuetify/./src/stylus/components/_date-picker-title.styl?8431","webpack://Vuetify/./src/stylus/components/_date-picker-years.styl?37cc","webpack://Vuetify/./src/stylus/components/_dialogs.styl?60c9","webpack://Vuetify/./src/stylus/components/_dividers.styl?3479","webpack://Vuetify/./src/stylus/components/_expansion-panel.styl?57e4","webpack://Vuetify/./src/stylus/components/_footer.styl?076c","webpack://Vuetify/./src/stylus/components/_forms.styl?8682","webpack://Vuetify/./src/stylus/components/_grid.styl?940b","webpack://Vuetify/./src/stylus/components/_icons.styl?c126","webpack://Vuetify/./src/stylus/components/_images.styl?aaa9","webpack://Vuetify/./src/stylus/components/_inputs.styl?a825","webpack://Vuetify/./src/stylus/components/_item-group.styl?33af","webpack://Vuetify/./src/stylus/components/_jumbotrons.styl?6fbf","webpack://Vuetify/./src/stylus/components/_labels.styl?be10","webpack://Vuetify/./src/stylus/components/_lists.styl?ca90","webpack://Vuetify/./src/stylus/components/_menus.styl?a74e","webpack://Vuetify/./src/stylus/components/_messages.styl?3a97","webpack://Vuetify/./src/stylus/components/_navigation-drawer.styl?2744","webpack://Vuetify/./src/stylus/components/_overflow-buttons.styl?4a55","webpack://Vuetify/./src/stylus/components/_overlay.styl?b602","webpack://Vuetify/./src/stylus/components/_pagination.styl?681e","webpack://Vuetify/./src/stylus/components/_parallax.styl?739f","webpack://Vuetify/./src/stylus/components/_pickers.styl?8a70","webpack://Vuetify/./src/stylus/components/_progress-circular.styl?fd11","webpack://Vuetify/./src/stylus/components/_progress-linear.styl?f133","webpack://Vuetify/./src/stylus/components/_radio-group.styl?0105","webpack://Vuetify/./src/stylus/components/_radios.styl?90fc","webpack://Vuetify/./src/stylus/components/_range-sliders.styl?cd17","webpack://Vuetify/./src/stylus/components/_rating.styl?948a","webpack://Vuetify/./src/stylus/components/_responsive.styl?69f0","webpack://Vuetify/./src/stylus/components/_select.styl?f42f","webpack://Vuetify/./src/stylus/components/_selection-controls.styl?5120","webpack://Vuetify/./src/stylus/components/_sheet.styl?6d8a","webpack://Vuetify/./src/stylus/components/_sliders.styl?6882","webpack://Vuetify/./src/stylus/components/_small-dialog.styl?fe5d","webpack://Vuetify/./src/stylus/components/_snackbars.styl?3977","webpack://Vuetify/./src/stylus/components/_speed-dial.styl?97e0","webpack://Vuetify/./src/stylus/components/_steppers.styl?9a60","webpack://Vuetify/./src/stylus/components/_subheaders.styl?40ce","webpack://Vuetify/./src/stylus/components/_switch.styl?870a","webpack://Vuetify/./src/stylus/components/_system-bars.styl?d61e","webpack://Vuetify/./src/stylus/components/_tables.styl?fb8b","webpack://Vuetify/./src/stylus/components/_tabs.styl?14e8","webpack://Vuetify/./src/stylus/components/_text-fields.styl?3460","webpack://Vuetify/./src/stylus/components/_textarea.styl?7510","webpack://Vuetify/./src/stylus/components/_time-picker-clock.styl?7199","webpack://Vuetify/./src/stylus/components/_time-picker-title.styl?8b5f","webpack://Vuetify/./src/stylus/components/_timeline.styl?0f1b","webpack://Vuetify/./src/stylus/components/_toolbar.styl?43f6","webpack://Vuetify/./src/stylus/components/_tooltips.styl?89d4","webpack://Vuetify/./src/stylus/components/_treeview.styl?ffa9","webpack://Vuetify/./src/stylus/components/_windows.styl?a5f2","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/console.ts","webpack://Vuetify/./src/util/dedupeModelListeners.ts","webpack://Vuetify/./src/util/helpers.ts","webpack://Vuetify/./src/util/mask.ts","webpack://Vuetify/./src/util/mixins.ts","webpack://Vuetify/./src/util/rebuildFunctionalSlots.ts","webpack://Vuetify/./src/util/theme.ts","webpack://Vuetify/external {\"commonjs\":\"vue\",\"commonjs2\":\"vue\",\"amd\":\"vue\",\"root\":\"Vue\"}"],"names":[],"mappings":"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AAA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A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4F,IAA5F;AACD;AACF;AAED,iBAAK,WAAL,GAAmB,WAAnB;AACA,iBAAK,KAAL,GAAa,YAAY,MAAZ,KAAuB,CAApC;AAEA,mBAAO,KAAK,KAAZ;AACD;AAvCM;AAlLF,CAHM,CAAf,E;;;;;;;;;;;AChBA,uC;;;;;;;;;;;ACAA,uC;;;;;;;;;;;ACAA,uC;;;;;;;;;;;ACAA,uC;;;;;;;;;;;ACAA,uC;;;;;;;;;;;ACAA,uC;;;;;;;;;;;ACAA,uC;;;;;;;;;;;ACAA,uC;;;;;;;;;;;ACAA,uC;;;;;;;;;;;ACAA,uC;;;;;;;;;;;ACAA,uC;;;;;;;;;;;ACAA,uC;;;;;;;;;;;ACAA,uC;;;;;;;;;;;ACAA,uC;;;;;;;;;;;ACAA,uC;;;;;;;;;;;ACAA,uC;;;;;;;;;;;ACAA,uC;;;;;;;;;;;ACAA,uC;;;;;;;;;;;ACAA,uC;;;;;;;;;;;ACAA,uC;;;;;;;;;;;ACAA,uC;;;;;;;;;;;ACAA,uC;;;;;;;;;;;ACAA,uC;;;;;;;;;;;ACAA,uC;;;;;;;;;;;ACAA,uC;;;;;;;;;;;ACAA,uC;;;;;;;;;;;ACAA,uC;;;;;;;;;;;ACAA,uC;;;;;;;;;;;ACAA,uC;;;;;;;;;;;ACAA,uC;;;;;;;;;;;ACAA,uC;;;;;;;;;;;ACAA,uC;;;;;;;;;;;ACAA,uC;;;;;;;;;;;ACAA,uC;;;;;;;;;;;ACAA,uC;;;;;;;;;;;ACAA,uC;;;;;;;;;;;ACAA,uC;;;;;;;;;;;ACAA,uC;;;;;;;;;;;ACAA,uC;;;;;;;;;;;ACAA,uC;;;;;;;;;;;ACAA,uC;;;;;;;;;;;ACAA,uC;;;;;;;;;;;ACAA,uC;;;;;;;;;;;ACAA,uC;;;;;;;;;;;ACAA,uC;;;;;;;;;;;ACAA,uC;;;;;;;;;;;ACAA,uC;;;;;;;;;;;ACAA,uC;;;;;;;;;;;ACAA,uC;;;;;;;;;;;ACAA,uC;;;;;;;;;;;ACAA,uC;;;;;;;;;;;ACAA,uC;;;;;;;;;;;ACAA,uC;;;;;;;;;;;ACAA,uC;;;;;;;;;;;ACAA,uC;;;;;;;;;;;ACAA,uC;;;;;;;;;;;ACAA,uC;;;;;;;;;;;ACAA,uC;;;;;;;;;;;ACAA,uC;;;;;;;;;;;ACAA,uC;;;;;;;;;;;ACAA,uC;;;;;;;;;;;ACAA,uC;;;;;;;;;;;ACAA,uC;;;;;;;;;;;ACAA,uC;;;;;;;;;;;ACAA,uC;;;;;;;;;;;ACAA,uC;;;;;;;;;;;ACAA,uC;;;;;;;;;;;ACAA,uC;;;;;;;;;;;ACAA,uC;;;;;;;;;;;ACAA,uC;;;;;;;;;;;ACAA,uC;;;;;;;;;;;ACAA,uC;;;;;;;;;;;ACAA,uC;;;;;;;;;;;ACAA,uC;;;;;;;;;;;;ACCA;AAAA;AAAA;AAAA;AACA;AAEA;AACe,sHAAM,CAAC,yDAAP,EAAkB,MAAlB,CAAyB;AACtC,UAAM,gBADgC;AAGtC,WAAO;AACL,cAAM;AADD,KAH+B;AAOtC,cAAU;AACR;AACE,mBAAO,KAAK,IAAL,GAAY,KAAK,UAAjB,GAA8B,yDAAS,CAAC,OAAV,CAAkB,QAAlB,CAA2B,MAA3B,CAAkC,IAAlC,CAAuC,IAAvC,CAArC;AACD;AAHO,KAP4B;AAatC;AACE,eAAO,KAAK,MAAL,CAAY,OAAZ,IAAwB,KAAK,MAAL,CAAY,OAAZ,CAAqB,IAArB,CAA0B,gBAAI;AAAI,oBAAC,KAAK,SAAN,IAAmB,KAAK,IAAL,KAAnB;AAAoC,SAAtE,CAA/B;AACD;AAfqC,CAAzB,CAAf,E;;;;;;;;;;;;ACHA;AAAA;AAAA;AAAA,IAAM,QAAQ,mBAAd,C,CAAkC;AAElC,IAAM,yBAAyB,SAAzB,sBAAyB,CAAC,CAAD,EAAU;AAAa,WACpD,IAAI,gBAAS,CAAT,CAAJ,GACI,KAAK,IAAL,CAAU,CAAV,CADJ,GAEK,KAAK,IAAI,gBAAS,CAAT,CAAT,CAAD,GAAyB,IAHuB;AAIrD,CAJD;AAMA,IAAM,yBAAyB,SAAzB,sBAAyB,CAAC,CAAD,EAAU;AAAa,WACpD,IAAI,KAAJ,GACI,YAAK,CAAL,CADJ,GAEK,IAAI,gBAAS,CAAT,CAAL,IAAoB,IAAI,IAHwB,EAGhD,CAHgD;AAIrD,CAJD;AAMM,SAAU,OAAV,CAAmB,GAAnB,EAA2B;AAC/B,QAAM,YAAY,sBAAlB;AACA,QAAM,eAAe,UAAU,IAAI,CAAJ,CAAV,CAArB;AAEA,WAAO,CACL,MAAM,YAAN,GAAqB,EADhB,EAEL,OAAO,UAAU,IAAI,CAAJ,IAAS,OAAnB,IAA8B,YAArC,CAFK,EAGL,OAAO,eAAe,UAAU,IAAI,CAAJ,IAAS,OAAnB,CAAtB,CAHK,CAAP;AAKD;AAEK,SAAU,KAAV,CAAiB,GAAjB,EAAyB;AAC7B,QAAM,YAAY,sBAAlB;AACA,QAAM,KAAK,CAAC,IAAI,CAAJ,IAAS,EAAV,IAAgB,GAA3B;AACA,WAAO,CACL,UAAU,KAAK,IAAI,CAAJ,IAAS,GAAxB,IAA+B,OAD1B,EAEL,UAAU,EAAV,CAFK,EAGL,UAAU,KAAK,IAAI,CAAJ,IAAS,GAAxB,IAA+B,OAH1B,CAAP;AAKD,C;;;;;;;;;;;;;;;;AChCD,IAAM,oBAAoB,CACxB,CAAC,MAAD,EAAS,CAAC,MAAV,EAAkB,CAAC,MAAnB,CADwB,EAExB,CAAC,CAAC,MAAF,EAAU,MAAV,EAAkB,MAAlB,CAFwB,EAGxB,CAAC,MAAD,EAAS,CAAC,MAAV,EAAkB,MAAlB,CAHwB,CAA1B;AAMA;AACA,IAAM,uBAAuB,SAAvB,oBAAuB,CAAC,CAAD,EAAU;AAAa,WAClD,KAAK,SAAL,GACI,IAAI,KADR,GAEI,QAAQ,YAAM,IAAI,GAAV,CAAR,GAH8C;AAInD,CAJD;AAMA;AACA,IAAM,oBAAoB,CACxB,CAAC,MAAD,EAAS,MAAT,EAAiB,MAAjB,CADwB,EAExB,CAAC,MAAD,EAAS,MAAT,EAAiB,MAAjB,CAFwB,EAGxB,CAAC,MAAD,EAAS,MAAT,EAAiB,MAAjB,CAHwB,CAA1B;AAMA;AACA,IAAM,uBAAuB,SAAvB,oBAAuB,CAAC,CAAD,EAAU;AAAa,WAClD,KAAK,OAAL,GACI,IAAI,KADR,GAEI,SAAC,CAAC,IAAI,KAAL,IAAc,KAAf,EAH8C,GAG9C,CAH8C;AAInD,CAJD;AAMA,SAAS,KAAT,CAAgB,KAAhB,EAA6B;AAC3B,WAAO,KAAK,GAAL,CAAS,CAAT,EAAY,KAAK,GAAL,CAAS,CAAT,EAAY,KAAZ,CAAZ,CAAP;AACD;AAEK,SAAU,OAAV,CAAmB,GAAnB,EAA2B;AAC/B,QAAM,MAAM,MAAM,CAAN,CAAZ;AACA,QAAM,YAAY,oBAAlB;AACA,QAAM,SAAS,iBAAf;AAEA;AACA,SAAK,IAAI,IAAI,CAAb,EAAgB,IAAI,CAApB,EAAuB,EAAE,CAAzB,EAA4B;AAC1B,YAAI,CAAJ,IAAS,KAAK,KAAL,CAAW,MAAM,UACxB,OAAO,CAAP,EAAU,CAAV,IAAe,IAAI,CAAJ,CAAf,GACA,OAAO,CAAP,EAAU,CAAV,IAAe,IAAI,CAAJ,CADf,GAEA,OAAO,CAAP,EAAU,CAAV,IAAe,IAAI,CAAJ,CAHS,CAAN,IAIf,GAJI,CAAT;AAKD;AAED;AACA,WAAO,CAAC,IAAI,CAAJ,KAAU,EAAX,KAAkB,IAAI,CAAJ,KAAU,CAA5B,KAAkC,IAAI,CAAJ,KAAU,CAA5C,CAAP;AACD;AAEK,SAAU,KAAV,CAAiB,GAAjB,EAAyB;AAC7B,QAAM,MAAW,CAAC,CAAD,EAAI,CAAJ,EAAO,CAAP,CAAjB;AACA,QAAM,YAAY,oBAAlB;AACA,QAAM,SAAS,iBAAf;AAEA;AACA,QAAM,IAAI,UAAU,CAAC,OAAO,EAAP,GAAY,IAAb,IAAqB,GAA/B,CAAV;AACA,QAAM,IAAI,UAAU,CAAC,OAAO,CAAP,GAAW,IAAZ,IAAoB,GAA9B,CAAV;AACA,QAAM,IAAI,UAAU,CAAC,OAAO,CAAP,GAAW,IAAZ,IAAoB,GAA9B,CAAV;AAEA;AACA,SAAK,IAAI,IAAI,CAAb,EAAgB,IAAI,CAApB,EAAuB,EAAE,CAAzB,EAA4B;AAC1B,YAAI,CAAJ,IAAS,OAAO,CAAP,EAAU,CAAV,IAAe,CAAf,GAAmB,OAAO,CAAP,EAAU,CAAV,IAAe,CAAlC,GAAsC,OAAO,CAAP,EAAU,CAAV,IAAe,CAA9D;AACD;AAED,WAAO,GAAP;AACD,C;;;;;;;;;;;;ACpED;AAAA;AAAA;AAAA;AAAA;AAAA;AAMM,SAAU,UAAV,CAAsB,KAAtB,EAAiD;AACrD,QAAI,GAAJ;AAEA,QAAI,OAAO,KAAP,KAAiB,QAArB,EAA+B;AAC7B,cAAM,KAAN;AACD,KAFD,MAEO,IAAI,OAAO,KAAP,KAAiB,QAArB,EAA+B;AACpC,YAAI,IAAI,MAAM,CAAN,MAAa,GAAb,GAAmB,MAAM,SAAN,CAAgB,CAAhB,CAAnB,GAAwC,KAAhD;AACA,YAAI,EAAE,MAAF,KAAa,CAAjB,EAAoB;AAClB,gBAAI,EAAE,KAAF,CAAQ,EAAR,EAAY,GAAZ,CAAgB,gBAAI;AAAI;AAAW,aAAnC,EAAqC,IAArC,CAA0C,EAA1C,CAAJ;AACD;AACD,YAAI,EAAE,MAAF,KAAa,CAAjB,EAAoB;AAClB,wEAAW,CAAC,MAAI,KAAJ,GAAS,4BAArB;AACD;AACD,cAAM,SAAS,CAAT,EAAY,EAAZ,CAAN;AACD,KATM,MASA;AACL,cAAM,IAAI,SAAJ,CAAc,sDAAmD,SAAS,IAAT,GAAgB,KAAhB,GAAwB,MAAM,WAAN,CAAkB,IAA7F,IAAiG,UAA/G,CAAN;AACD;AAED,QAAI,MAAM,CAAV,EAAa;AACX,oEAAW,CAAC,iCAA+B,KAA/B,GAAoC,GAAhD;AACA,cAAM,CAAN;AACD,KAHD,MAGO,IAAI,MAAM,QAAN,IAAkB,MAAM,GAAN,CAAtB,EAAkC;AACvC,oEAAW,CAAC,MAAI,KAAJ,GAAS,4BAArB;AACA,cAAM,QAAN;AACD;AAED,WAAO,GAAP;AACD;AAEK,SAAU,QAAV,CAAoB,KAApB,EAA8B;AAClC,QAAI,WAAmB,MAAM,QAAN,CAAe,EAAf,CAAvB;AAEA,QAAI,SAAS,MAAT,GAAkB,CAAtB,EAAyB,WAAW,IAAI,MAAJ,CAAW,IAAI,SAAS,MAAxB,IAAkC,QAA7C;AAEzB,WAAO,MAAM,QAAb;AACD;AAEK,SAAU,UAAV,CAAsB,KAAtB,EAAiD;AACrD,WAAO,SAAS,WAAW,KAAX,CAAT,CAAP;AACD,C;;;;;;;;;;;;AC7CD;AAAA;AAAA;AAAA;AAAA;AAAA,SAAS,aAAT,CAAwB,OAAxB,EAAyC,EAAzC,EAAmD,MAAnD,EAA+D;AAC7D,QAAI,MAAJ,EAAY;AACV,aAAK;AACH,oBAAQ,IADL;AAEH,qBAAS,MAFN;AAGH,sBAAU;AAHP,SAAL;AAKD;AAED,QAAI,EAAJ,EAAQ;AACN;AACA,WAAG,eAAH,GAAqB,GAAG,eAAH,IAAsB,EAA3C;AACA,YAAI,GAAG,eAAH,CAAmB,QAAnB,CAA4B,OAA5B,CAAJ,EAA0C;AAC1C,WAAG,eAAH,CAAmB,IAAnB,CAAwB,OAAxB;AACD;AAED,WAAO,eAAa,OAAb,IACL,KAAK,uBAAuB,EAAvB,CAAL,GAAkC,EAD7B,CAAP;AAGD;AAEK,SAAU,WAAV,CAAuB,OAAvB,EAAwC,EAAxC,EAAkD,MAAlD,EAA8D;AAClE,QAAM,aAAa,cAAc,OAAd,EAAuB,EAAvB,EAA2B,MAA3B,CAAnB;AACA,kBAAc,IAAd,IAAsB,QAAQ,IAAR,CAAa,UAAb,CAAtB;AACD;AAEK,SAAU,WAAV,CAAuB,OAAvB,EAAwC,EAAxC,EAAkD,MAAlD,EAA8D;AAClE,QAAM,aAAa,cAAc,OAAd,EAAuB,EAAvB,EAA2B,MAA3B,CAAnB;AACA,kBAAc,IAAd,IAAsB,QAAQ,IAAR,CAAa,UAAb,CAAtB;AACD;AAEK,SAAU,YAAV,CAAwB,OAAxB,EAAyC,EAAzC,EAAmD,MAAnD,EAA+D;AACnE,QAAM,aAAa,cAAc,OAAd,EAAuB,EAAvB,EAA2B,MAA3B,CAAnB;AACA,kBAAc,IAAd,IAAsB,QAAQ,KAAR,CAAc,UAAd,CAAtB;AACD;AAEK,SAAU,SAAV,CAAqB,QAArB,EAAuC,WAAvC,EAA4D,EAA5D,EAAsE,MAAtE,EAAkF;AACtF,gBAAY,MAAI,QAAJ,GAAY,wBAAZ,GAAqC,WAArC,GAAgD,WAA5D,EAAyE,EAAzE,EAA6E,MAA7E;AACD;AAED;;;AAIA,IAAM,aAAa,iBAAnB;AACA,IAAM,WAAW,SAAX,QAAW,CAAC,GAAD,EAAY;AAAK,eAC/B,OAD+B,CACvB,UADuB,EACX,aAAC;AAAI;AAAe,KADT,EAE/B,OAF+B,CAEvB,OAFuB;AAEX,CAFvB;AAIA,SAAS,mBAAT,CAA8B,EAA9B,EAAuC,WAAvC,EAA4D;AAC1D,QAAI,GAAG,KAAH,KAAa,EAAjB,EAAqB;AACnB,eAAO,QAAP;AACD;AACD,QAAM,UAAU,OAAO,EAAP,KAAc,UAAd,IAA4B,GAAG,GAAH,IAAU,IAAtC,GACZ,GAAG,OADS,GAEZ,GAAG,MAAH,GACE,GAAG,QAAH,IAAe,GAAG,WAAH,CAAe,OADhC,GAEE,MAAM,EAJZ;AAKA,QAAI,OAAO,QAAQ,IAAR,IAAgB,QAAQ,aAAnC;AACA,QAAM,OAAO,QAAQ,MAArB;AACA,QAAI,CAAC,IAAD,IAAS,IAAb,EAAmB;AACjB,YAAM,QAAQ,KAAK,KAAL,CAAW,iBAAX,CAAd;AACA,eAAO,SAAS,MAAM,CAAN,CAAhB;AACD;AAED,WACE,CAAC,OAAO,MAAI,SAAS,IAAT,CAAJ,GAAkB,GAAzB,GAA+B,aAAhC,KACC,QAAQ,gBAAgB,KAAxB,GAAgC,SAAO,IAAvC,GAAgD,EADjD,CADF;AAID;AAED,SAAS,sBAAT,CAAiC,EAAjC,EAAwC;AACtC,QAAI,GAAG,MAAH,IAAa,GAAG,OAApB,EAA6B;AAC3B,YAAM,OAAO,EAAb;AACA,YAAI,2BAA2B,CAA/B;AACA,eAAO,EAAP,EAAW;AACT,gBAAI,KAAK,MAAL,GAAc,CAAlB,EAAqB;AACnB,oBAAM,OAAY,KAAK,KAAK,MAAL,GAAc,CAAnB,CAAlB;AACA,oBAAI,KAAK,WAAL,KAAqB,GAAG,WAA5B,EAAyC;AACvC;AACA,yBAAK,GAAG,OAAR;AACA;AACD,iBAJD,MAIO,IAAI,2BAA2B,CAA/B,EAAkC;AACvC,yBAAK,KAAK,MAAL,GAAc,CAAnB,IAAwB,CAAC,IAAD,EAAO,wBAAP,CAAxB;AACA,+CAA2B,CAA3B;AACD;AACF;AACD,iBAAK,IAAL,CAAU,EAAV;AACA,iBAAK,GAAG,OAAR;AACD;AACD,eAAO,qBAAqB,KACzB,GADyB,CACrB,UAAC,EAAD,EAAK,CAAL,EAAM;AAAK,yBACd,MAAM,CAAN,GAAU,OAAV,GAAoB,IAAI,MAAJ,CAAW,IAAI,IAAI,CAAnB,CADN,KAGd,MAAM,OAAN,CAAc,EAAd,IACO,oBAAoB,GAAG,CAAH,CAApB,IAA0B,OAA1B,GAAkC,GAAG,CAAH,CAAlC,GAAuC,mBAD9C,GAEI,oBALU,EAKV,CALU;AAMd,SAPwB,EAQzB,IARyB,CAQpB,IARoB,CAA5B;AASD,KA3BD,MA2BO;AACL,eAAO,mBAAiB,oBAAoB,EAApB,CAAjB,GAAwC,GAA/C;AACD;AACF,C;;;;;;;;;;;;;;;;;;;;AC9Fa,SAAU,oBAAV,CAAgC,IAAhC,EAA+C;AAC3D,QAAI,KAAK,KAAL,IAAc,KAAK,EAAnB,IAAyB,KAAK,EAAL,CAAQ,KAArC,EAA4C;AAC1C,YAAI,MAAM,OAAN,CAAc,KAAK,EAAL,CAAQ,KAAtB,CAAJ,EAAkC;AAChC,gBAAM,IAAI,KAAK,EAAL,CAAQ,KAAR,CAAc,OAAd,CAAsB,KAAK,KAAL,CAAW,QAAjC,CAAV;AACA,gBAAI,IAAI,CAAC,CAAT,EAAY,KAAK,EAAL,CAAQ,KAAR,CAAc,MAAd,CAAqB,CAArB,EAAwB,CAAxB;AACb,SAHD,MAGO;AACL,mBAAO,KAAK,EAAL,CAAQ,KAAf;AACD;AACF;AACF,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjBD;AAIM,SAAU,sBAAV,CACJ,CADI,EAEJ,EAFI,EAGJ,IAHI,EAGS;AADb;AAAA;AAAU;AAGV,WAAO,0CAAG,CAAC,MAAJ,CAAW;AAChB,cAAM,QAAQ,EAAE,OAAF,CAAU,KAAV,EAAiB,GAAjB,CADE;AAGhB,oBAAY,IAHI;AAKhB,gCAAQ,CAAR,EAAW,EAAX,EAA6B;gBAAhB,c;gBAAM,sB;AACjB,iBAAK,WAAL,GAAmB,CAAI,IAAC,GAAD,IAAK,KAAK,WAAL,IAAoB,EAAzB,CAAJ,EAAmC,IAAnC,EAAnB;AAEA,mBAAO,EAAE,EAAF,EAAM,IAAN,EAAY,QAAZ,CAAP;AACD;AATe,KAAX,CAAP;AAWD;AAED,SAAS,gBAAT,CACE,WADF,EAEE,KAFF,EAEmB;AAEjB,QAAI,MAAM,OAAN,CAAc,WAAd,CAAJ,EAAgC,OAAO,YAAY,MAAZ,CAAmB,KAAnB,CAAP;AAChC,QAAI,WAAJ,EAAiB,MAAM,IAAN,CAAW,WAAX;AACjB,WAAO,KAAP;AACD;AAEK,SAAU,sBAAV,CACJ,IADI,EAEJ,MAFI,EAGJ,IAHI,EAGS;AADb;AAAA;AAAuB;AAGvB,WAAO;AACL,cAAI,IADC;AAGL,oBAAY,IAHP;AAKL,eAAO;AACL,mBAAO;AACL,sBAAM,OADD;AAEL,yBAAS;AAFJ,aADF;AAKL,yBAAa;AACX,sBAAM,OADK;AAEX,yBAAS;AAFE,aALR;AASL,2BAAe;AACb,sBAAM,OADO;AAEb,yBAAS;AAFI,aATV;AAaL,kBAAM;AACJ,sBAAM,MADF;AAEJ,yBAAS;AAFL,aAbD;AAiBL,oBAAQ;AACN,sBAAM,MADA;AAEN,yBAAS;AAFH;AAjBH,SALF;AA4BL,gCAAQ,CAAR,EAAW,OAAX,EAAkB;AAChB,gBAAM,MAAM,gBAAa,QAAQ,KAAR,CAAc,KAAd,GAAsB,QAAtB,GAAiC,EAA9C,CAAZ;AACA,oBAAQ,IAAR,GAAe,QAAQ,IAAR,IAAgB,EAA/B;AACA,oBAAQ,IAAR,CAAa,KAAb,GAAqB;AACnB,sBAAI,IADe;AAEnB,sBAAM,QAAQ,KAAR,CAAc;AAFD,aAArB;AAIA,oBAAQ,IAAR,CAAa,EAAb,GAAkB,QAAQ,IAAR,CAAa,EAAb,IAAmB,EAArC;AACA,gBAAI,CAAC,OAAO,YAAP,CAAoB,QAAQ,IAAR,CAAa,EAAjC,CAAL,EAA2C;AACzC,wBAAQ,IAAR,CAAa,EAAb,GAAe,aAAQ,QAAQ,IAAR,CAAa,EAArB,CAAf;AACD;AAED,gBAAM,iBAA6B,EAAnC;AACA,gBAAM,WAAuB,EAA7B;AACA,gBAAM,WAAW,SAAX,QAAW,CAAC,EAAD,EAAgB;AAAK,uBAAC,GAAG,KAAH,CAAS,QAAT,GAAD;AAAgC,aAAtE;AAEA,2BAAe,IAAf,CAAoB,UAAC,EAAD,EAAgB;AAClC,mBAAG,KAAH,CAAS,eAAT,GAA2B,QAAQ,KAAR,CAAc,MAAzC;AACA,mBAAG,KAAH,CAAS,qBAAT,GAAiC,QAAQ,KAAR,CAAc,MAA/C;AACD,aAHD;AAKA,gBAAI,QAAQ,KAAR,CAAc,aAAlB,EAAiC,SAAS,IAAT,CAAc,QAAd;AACjC,gBAAI,QAAQ,KAAR,CAAc,WAAlB,EAA+B;AAC7B,yBAAS,IAAT,CAAc,UAAC,EAAD,EAAgB;AAAK,2BAAC,GAAG,KAAH,CAAS,OAAT,GAAD;AAA2B,iBAA9D;AACD;AAEK;AAAA,gBAAE,4BAAF;AAAA,gBAAe,gBAAf;AAEN;AACA;AACA,oBAAQ,IAAR,CAAa,EAAb,CAAgB,WAAhB,GAA8B;AAAM,wCAAiB,WAAjB;AAA6C,aAAjF;AACA,oBAAQ,IAAR,CAAa,EAAb,CAAgB,KAAhB,GAAwB,iBAAiB,KAAjB,EAAwB,QAAxB,CAAxB;AAEA,mBAAO,EAAE,GAAF,EAAO,QAAQ,IAAf,EAAqB,QAAQ,QAA7B,CAAP;AACD;AA9DI,KAAP;AAgED;AAEK,SAAU,0BAAV,CACJ,IADI,EAEJ,SAFI,EAGJ,IAHI,EAGW;AAAf;AAAA;AAAe;AAEf,WAAO;AACL,cAAI,IADC;AAGL,oBAAY,IAHP;AAKL,eAAO;AACL,kBAAM;AACJ,sBAAM,MADF;AAEJ,yBAAS;AAFL;AADD,SALF;AAYL,gCAAQ,CAAR,EAAW,OAAX,EAAkB;AAChB,gBAAM,OAAO;AACX,uBAAK,aACA,QAAQ,KADR,EACa,EAChB,MAAI,IADY,EADb,CADM;AAKX,oBAAI;AALO,aAAb;AAQA,mBAAO,EAAE,YAAF,EAAgB,IAAhB,EAAsB,QAAQ,QAA9B,CAAP;AACD;AAtBI,KAAP;AAwBD;AAGK,SAAU,eAAV,CAA2B,OAA3B,EAAmD,QAAnD,EAAgE;AAAb;AAAA;AAAa;AACpE,wBACK,QADL,EAEK,QAAQ,SAFb,EAEsB,EACpB,OAAO,QAAQ,GADK,EAFtB,EAIM,QAAQ,KAAR,IAAiB,EAJvB;AAMD;AAEK,SAAU,oBAAV,CAAgC,EAAhC,EAAiD,KAAjD,EAAgE,EAAhE,EAA8E;AAClF,QAAI,OAAO,SAAP,IAAO;AACT;AACA,WAAG,mBAAH,CAAuB,KAAvB,EAA8B,IAA9B,EAAoC,KAApC;AACD,KAHD;AAKA,OAAG,gBAAH,CAAoB,KAApB,EAA2B,IAA3B,EAAiC,KAAjC;AACD;AAED,IAAI,mBAAmB,KAAvB;AACA,IAAI;AACF,QAAI,OAAO,MAAP,KAAkB,WAAtB,EAAmC;AACjC,YAAM,mBAAmB,OAAO,cAAP,CAAsB,EAAtB,EAA0B,SAA1B,EAAqC;AAC5D,iBAAK;AACH,mCAAmB,IAAnB;AACD;AAH2D,SAArC,CAAzB;AAMA,eAAO,gBAAP,CAAwB,cAAxB,EAAwC,gBAAxC,EAA0D,gBAA1D;AACA,eAAO,mBAAP,CAA2B,cAA3B,EAA2C,gBAA3C,EAA6D,gBAA7D;AACD;AACF,CAXD,CAWE,OAAO,CAAP,EAAU;AAAE,YAAQ,IAAR,CAAa,CAAb;AAAiB;AAC/B;AAEM,SAAU,uBAAV,CACJ,EADI,EAEJ,KAFI,EAGJ,EAHI,EAIJ,OAJI,EAIO;AAEX,OAAG,gBAAH,CAAoB,KAApB,EAA2B,EAA3B,EAA+B,mBAAmB,OAAnB,GAA6B,KAA5D;AACD;AAEK,SAAU,cAAV,CAA0B,GAA1B,EAAoC,IAApC,EAA+D,QAA/D,EAA6E;AACjF,QAAM,OAAO,KAAK,MAAL,GAAc,CAA3B;AAEA,QAAI,OAAO,CAAX,EAAc,OAAO,QAAQ,SAAR,GAAoB,QAApB,GAA+B,GAAtC;AAEd,SAAK,IAAI,IAAI,CAAb,EAAgB,IAAI,IAApB,EAA0B,GAA1B,EAA+B;AAC7B,YAAI,OAAO,IAAX,EAAiB;AACf,mBAAO,QAAP;AACD;AACD,cAAM,IAAI,KAAK,CAAL,CAAJ,CAAN;AACD;AAED,QAAI,OAAO,IAAX,EAAiB,OAAO,QAAP;AAEjB,WAAO,IAAI,KAAK,IAAL,CAAJ,MAAoB,SAApB,GAAgC,QAAhC,GAA2C,IAAI,KAAK,IAAL,CAAJ,CAAlD;AACD;AAEK,SAAU,SAAV,CAAqB,CAArB,EAA6B,CAA7B,EAAmC;AACvC,QAAI,MAAM,CAAV,EAAa,OAAO,IAAP;AAEb,QAAI,aAAa,IAAb,IAAqB,aAAa,IAAtC,EAA4C;AAC1C;AACA,YAAI,EAAE,OAAF,OAAgB,EAAE,OAAF,EAApB,EAAiC,OAAO,KAAP;AAClC;AAED,QAAI,MAAM,OAAO,CAAP,CAAN,IAAmB,MAAM,OAAO,CAAP,CAA7B,EAAwC;AACtC;AACA,eAAO,KAAP;AACD;AAED,QAAM,QAAQ,OAAO,IAAP,CAAY,CAAZ,CAAd;AAEA,QAAI,MAAM,MAAN,KAAiB,OAAO,IAAP,CAAY,CAAZ,EAAe,MAApC,EAA4C;AAC1C;AACA,eAAO,KAAP;AACD;AAED,WAAO,MAAM,KAAN,CAAY,aAAC;AAAI,yBAAU,EAAE,CAAF,CAAV,EAAgB,EAAhB,CAAgB,CAAhB;AAAqB,KAAtC,CAAP;AACD;AAEK,SAAU,oBAAV,CAAgC,GAAhC,EAA6C,IAA7C,EAA2D,QAA3D,EAAyE;AAC7E;AACA,QAAI,CAAC,IAAD,IAAS,KAAK,WAAL,KAAqB,MAAlC,EAA0C,OAAO,QAAP;AAC1C,WAAO,KAAK,OAAL,CAAa,YAAb,EAA2B,KAA3B,CAAP,CAH6E,CAGpC;AACzC,WAAO,KAAK,OAAL,CAAa,KAAb,EAAoB,EAApB,CAAP,CAJ6E,CAI9C;AAC/B,WAAO,eAAe,GAAf,EAAoB,KAAK,KAAL,CAAW,GAAX,CAApB,EAAqC,QAArC,CAAP;AACD;AAEK,SAAU,mBAAV,CACJ,IADI,EAEJ,QAFI,EAGJ,QAHI,EAGU;AAEd,QAAI,YAAY,IAAhB,EAAsB,OAAO,SAAS,SAAT,GAAqB,QAArB,GAAgC,IAAvC;AAEtB,QAAI,SAAS,OAAO,IAAP,CAAb,EAA2B,OAAO,aAAa,SAAb,GAAyB,IAAzB,GAAgC,QAAvC;AAE3B,QAAI,OAAO,QAAP,KAAoB,QAAxB,EAAkC,OAAO,qBAAqB,IAArB,EAA2B,QAA3B,EAAqC,QAArC,CAAP;AAElC,QAAI,MAAM,OAAN,CAAc,QAAd,CAAJ,EAA6B,OAAO,eAAe,IAAf,EAAqB,QAArB,EAA+B,QAA/B,CAAP;AAE7B,QAAI,OAAO,QAAP,KAAoB,UAAxB,EAAoC,OAAO,QAAP;AAEpC,QAAM,QAAQ,SAAS,IAAT,EAAe,QAAf,CAAd;AAEA,WAAO,OAAO,KAAP,KAAiB,WAAjB,GAA+B,QAA/B,GAA0C,KAAjD;AACD;AAEK,SAAU,WAAV,CAAuB,MAAvB,EAAqC;AACzC,WAAO,MAAM,IAAN,CAAW,EAAE,QAAM,MAAR,EAAX,EAAuB,UAAC,CAAD,EAAI,CAAJ,EAAK;AAAK;AAAC,KAAlC,CAAP;AACD;AAEK,SAAU,SAAV,CAAqB,EAArB,EAAwC;AAC5C,QAAI,CAAC,EAAD,IAAO,GAAG,QAAH,KAAgB,KAAK,YAAhC,EAA8C,OAAO,CAAP;AAE9C,QAAM,QAAQ,CAAC,OAAO,gBAAP,CAAwB,EAAxB,EAA4B,gBAA5B,CAA6C,SAA7C,CAAf;AAEA,QAAI,MAAM,KAAN,CAAJ,EAAkB,OAAO,UAAU,GAAG,UAAb,CAAP;AAClB,WAAO,KAAP;AACD;AAED,IAAM,gBAAgB;AACpB,SAAK,OADe;AAEpB,SAAK,MAFe;AAGpB,SAAK;AAHe,CAAtB;AAMM,SAAU,UAAV,CAAsB,GAAtB,EAAiC;AACrC,WAAO,IAAI,OAAJ,CAAY,QAAZ,EAAsB,eAAG;AAAI,6BAAc,GAAd;AAAyB,KAAtD,CAAP;AACD;AAEK,SAAU,kBAAV,CAAoD,GAApD,EAA4D,IAA5D,EAAqE;AACzE,QAAM,WAAW,EAAjB;AAEA,SAAK,IAAI,IAAI,CAAb,EAAgB,IAAI,KAAK,MAAzB,EAAiC,GAAjC,EAAsC;AACpC,YAAM,MAAM,KAAK,CAAL,CAAZ;AACA,YAAI,OAAO,IAAI,GAAJ,CAAP,KAAoB,WAAxB,EAAqC;AACnC,qBAAS,GAAT,IAAgB,IAAI,GAAJ,CAAhB;AACD;AACF;AAED,WAAO,QAAP;AACD;AAEK,SAAU,cAAV,CAA0B,KAA1B,EAA+C,GAA/C,EAA0D;AAAhC;AAAA;AAAmB;AACjD,WAAO,MAAM,MAAN,CAAa,iBAAK;AACvB,eAAO,MAAM,gBAAN,IACL,MAAM,gBAAN,CAAuB,IAAvB,CAA4B,OAA5B,CAAoC,IAApC,KAA6C,GAD/C;AAED,KAHM,CAAP;AAID;AAEK,SAAU,aAAV,CAAyB,GAAzB,EAAkE,IAAlE,EAA6E;AAAX;AAAA;AAAW;AACjF,QAAI,OAAO,IAAP,IAAe,QAAQ,EAA3B,EAA+B;AAC7B,eAAO,SAAP;AACD,KAFD,MAEO,IAAI,MAAM,CAAC,GAAP,CAAJ,EAAkB;AACvB,eAAO,OAAO,GAAP,CAAP;AACD,KAFM,MAEA;AACL,eAAO,KAAG,OAAO,GAAP,CAAH,GAAiB,IAAxB;AACD;AACF;AAEK,SAAU,SAAV,CAAqB,GAArB,EAAgC;AACpC,WAAO,CAAC,OAAO,EAAR,EAAY,OAAZ,CAAoB,iBAApB,EAAuC,OAAvC,EAAgD,WAAhD,EAAP;AACD;AAEK,SAAU,QAAV,CAAoB,GAApB,EAA4B;AAChC,WAAO,QAAQ,IAAR,IAAgB,QAAO,GAAP,yCAAO,GAAP,OAAe,QAAtC;AACD;AAED;AACO,IAAM,WAAW,OAAO,MAAP,CAAc;AACpC,WAAO,EAD6B;AAEpC,SAAK,CAF+B;AAGpC,YAAQ,EAH4B;AAIpC,SAAK,EAJ+B;AAKpC,WAAO,EAL6B;AAMpC,QAAI,EANgC;AAOpC,UAAM,EAP8B;AAQpC,UAAM,EAR8B;AASpC,WAAO,EAT6B;AAUpC,SAAK,EAV+B;AAWpC,UAAM,EAX8B;AAYpC,SAAK,EAZ+B;AAapC,eAAW,CAbyB;AAcpC,YAAQ,EAd4B;AAepC,YAAQ,EAf4B;AAgBpC,cAAU;AAhB0B,CAAd,CAAjB;AAmBP,IAAM,eAAe,iBAArB;AAEA;AACA;AACM,SAAU,iBAAV,CAA6B,EAA7B,EAAsC,QAAtC,EAAsD;AAC1D,QAAI,CAAC,SAAS,UAAT,CAAoB,YAApB,CAAL,EAAwC;AACtC,eAAO,QAAP;AACD;AAED;AACA,WAAO,qBAAqB,EAArB,EAAyB,QAAzB,EAAmC,QAAnC,CAAP;AACD;AAEK,SAAU,IAAV,CAAmB,CAAnB,EAAuB;AAC3B,WAAO,OAAO,IAAP,CAAY,CAAZ,CAAP;AACD;AAED;;;AAGA,IAAM,aAAa,QAAnB;AACO,IAAM,WAAW,SAAX,QAAW,CAAC,GAAD,EAAY;AAClC,WAAO,IAAI,OAAJ,CAAY,UAAZ,EAAwB,UAAC,CAAD,EAAI,CAAJ,EAAK;AAAK,mBAAI,EAAE,WAAF,EAAJ;AAAwB,KAA1D,CAAP;AACD,CAFM;AAIP;;;AAGM,SAAU,SAAV,CAAqB,CAArB,EAA+B,CAA/B,EAAuC;AAC3C,QAAM,OAAO,EAAb;AACA,SAAK,IAAI,IAAI,CAAb,EAAgB,IAAI,EAAE,MAAtB,EAA8B,GAA9B,EAAmC;AACjC,YAAI,EAAE,OAAF,CAAU,EAAE,CAAF,CAAV,IAAkB,CAAtB,EAAyB,KAAK,IAAL,CAAU,EAAE,CAAF,CAAV;AAC1B;AACD,WAAO,IAAP;AACD;AAED;;;AAGM,SAAU,UAAV,CAAsB,GAAtB,EAAiC;AACrC,WAAO,IAAI,MAAJ,CAAW,CAAX,EAAc,WAAd,KAA8B,IAAI,KAAJ,CAAU,CAAV,CAArC;AACD;AAED;;;;;;AAMM,SAAU,WAAV,CAAkD,EAAlD,EAA2D,IAA3D,EAAyE,KAAzE,EAAkF;AACtF,QAAI,GAAG,MAAH,CAAU,IAAV,KAAmB,GAAG,YAAH,CAAgB,IAAhB,CAAnB,IAA6C,GAAG,YAAH,CAAgB,IAAhB,EAA8B,IAA/E,EAAqF;AACnF,eAAO,QAAQ,QAAR,GAA0B,QAAjC;AACD;AACD,QAAI,GAAG,MAAH,CAAU,IAAV,CAAJ,EAAqB,OAAO,QAAP;AACrB,QAAI,GAAG,YAAH,CAAgB,IAAhB,CAAJ,EAA2B,OAAO,QAAP;AAC5B,C;;;;;;;;;;;;;;;;;ACtXM,IAAM,oBAAoB,qCAA1B;AAEA,IAAM,kBAAkB,SAAlB,eAAkB,CAAC,IAAD,EAAa;AAAc,kBAAO,kBAAkB,IAAlB,CAAuB,IAAvB,CAAP;AAA2C,CAA9F;AAEP,IAAM,eAAqC;AACzC,SAAK;AACH,cAAM,oBAAI;AAAI,4BAAQ,IAAR;AAAA;AAAkB;AAD7B,KADoC;AAIzC,SAAK;AACH,cAAM,oBAAI;AAAI,6BAAS,IAAT;AAAA;AAAmB,SAD9B;AAEH,iBAAS,uBAAI;AAAI;AAAkB;AAFhC,KAJoC;AAQzC,SAAK;AACH,cAAM,oBAAI;AAAI,6BAAS,IAAT;AAAA;AAAmB,SAD9B;AAEH,iBAAS,uBAAI;AAAI;AAAkB;AAFhC,KARoC;AAYzC,SAAK;AACH,cAAM,oBAAI;AAAI,gCAAY,IAAZ;AAAA;AAAsB,SADjC;AAEH,iBAAS,uBAAI;AAAI;AAAkB;AAFhC,KAZoC;AAgBzC,SAAK;AACH,cAAM,oBAAI;AAAI,gCAAY,IAAZ;AAAA;AAAsB,SADjC;AAEH,iBAAS,uBAAI;AAAI;AAAkB;AAFhC,KAhBoC;AAoBzC,SAAK;AACH,cAAM;AADH;AApBoC,CAA3C;AAyBA,IAAM,SAAS,SAAT,MAAS,CAAC,IAAD,EAAa;AAAc,wBAAa,cAAb;AAAiC,CAA3E;AAEA,IAAM,UAAU,SAAV,OAAU,CAAC,IAAD,EAAiB,IAAjB,EAA6B;AAC3C,WAAO,aAAa,IAAb,EAAmB,OAAnB,GAA6B,aAAa,IAAb,EAAmB,OAAnB,CAA4B,IAA5B,CAA7B,GAAiE,IAAxE;AACD,CAFD;AAIA,IAAM,gBAAgB,SAAhB,aAAgB,CAAC,IAAD,EAAiB,IAAjB,EAA6B;AACjD,QAAI,QAAQ,IAAR,IAAgB,CAAC,OAAO,IAAP,CAArB,EAAmC,OAAO,KAAP;AACnC,WAAO,aAAa,IAAb,EAAmB,IAAnB,CAAwB,IAAxB,CAAP;AACD,CAHD;AAKO,IAAM,WAAW,SAAX,QAAW,CAAC,IAAD,EAAkC,MAAlC,EAA6D,kBAA7D,EAAwF;AAC9G,QAAI,QAAQ,IAAZ,EAAkB,OAAO,EAAP;AAClB,WAAO,OAAO,IAAP,CAAP;AACA,QAAI,CAAC,OAAO,MAAR,IAAkB,CAAC,KAAK,MAA5B,EAAoC,OAAO,IAAP;AACpC,QAAI,CAAC,MAAM,OAAN,CAAc,MAAd,CAAL,EAA4B,SAAS,OAAO,KAAP,CAAa,EAAb,CAAT;AAE5B,QAAI,YAAY,CAAhB;AACA,QAAI,YAAY,CAAhB;AACA,QAAI,UAAU,EAAd;AAEA,WAAO,YAAY,OAAO,MAA1B,EAAkC;AAChC,YAAM,OAAO,OAAO,SAAP,CAAb;AAEA;AACA,YAAM,OAAO,KAAK,SAAL,CAAb;AAEA;AACA;AACA,YAAI,CAAC,OAAO,IAAP,CAAD,IAAiB,SAAS,IAA9B,EAAoC;AAClC,uBAAW,IAAX;AACA;AACF;AACC,SAJD,MAIO,IAAI,CAAC,OAAO,IAAP,CAAD,IAAiB,CAAC,kBAAtB,EAA0C;AAC/C,uBAAW,IAAX;AACF;AACC,SAHM,MAGA,IAAI,cAAc,IAAd,EAAgC,IAAhC,CAAJ,EAA2C;AAChD,uBAAW,QAAQ,IAAR,EAA0B,IAA1B,CAAX;AACA;AACD,SAHM,MAGA;AACL,mBAAO,OAAP;AACD;AAED;AACD;AAED,WAAO,OAAP;AACD,CApCM;AAsCA,IAAM,aAAa,SAAb,UAAa,CAAC,IAAD,EAAa;AACrC,WAAO,OAAO,OAAO,IAAP,EAAa,OAAb,CAAqB,IAAI,MAAJ,CAAW,iBAAX,EAA8B,GAA9B,CAArB,EAAyD,EAAzD,CAAP,GAAsE,IAA7E;AACD,CAFM,C;;;;;;;;;;;;;;;;;ACnFP;AAIc,SAAU,MAAV,GAAgB;AAAE;SAAA,U,EAAA,qB,EAAA,I,EAAyB;AAAzB;;AAC9B,WAAO,0CAAG,CAAC,MAAJ,CAAW,EAAE,QAAQ,IAAV,EAAX,CAAP;AACD,C;;;;;;;;;;;;;;ACLa,SAAU,sBAAV,CAAkC,KAAlC,EAAiF,CAAjF,EAAiG;AAC7G,QAAM,WAAoB,EAA1B;AAEA,SAAK,IAAM,IAAX,IAAmB,KAAnB,EAA0B;AACxB,YAAI,MAAM,cAAN,CAAqB,IAArB,CAAJ,EAAgC;AAC9B,qBAAS,IAAT,CAAc,EAAE,UAAF,EAAc,EAAE,MAAI,IAAN,EAAd,EAAwB,MAAM,IAAN,CAAxB,CAAd;AACD;AACF;AAED,WAAO,QAAP;AACD,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACZD;AACA;AACA;AAsBM,SAAU,KAAV,CAAiB,KAAjB,EAAwE,MAAxE,EAAsF;AAAd;AAAA;AAAc;AAC1F,QAAM,SAAS,OAAO,IAAP,CAAY,KAAZ,CAAf;AACA,QAAM,cAAmB,EAAzB;AAEA,SAAK,IAAI,IAAI,CAAb,EAAgB,IAAI,OAAO,MAA3B,EAAmC,EAAE,CAArC,EAAwC;AACtC,YAAM,OAAO,OAAO,CAAP,CAAb;AACA,YAAM,QAAQ,MAAM,IAAN,CAAd;AAEA,YAAI,MAAJ,EAAY;AACV,gBAAI,SAAS,MAAT,IAAmB,KAAK,UAAL,CAAgB,SAAhB,CAAnB,IAAiD,KAAK,UAAL,CAAgB,QAAhB,CAArD,EAAgF;AAC9E,4BAAY,IAAZ,IAAoB,8DAAU,CAAC,KAAX,CAApB;AACD;AACF,SAJD,MAIO,IAAI,QAAO,KAAP,yCAAO,KAAP,OAAiB,QAArB,EAA+B;AACpC,wBAAY,IAAZ,IAAoB,MAAM,KAAN,EAAa,IAAb,CAApB;AACD,SAFM,MAEA;AACL,wBAAY,IAAZ,IAAoB,cAAc,IAAd,EAAoB,8DAAU,CAAC,KAAX,CAApB,CAApB;AACD;AACF;AAED,WAAO,WAAP;AACD;AAED;;;AAGA,IAAM,eAAe,SAAf,YAAe,CAAC,IAAD,EAAe,KAAf,EAA4B;AAC/C,WAAO,QACN,IADM,GACF,0BADE,GAEa,KAFb,GAEkB,gCAFlB,GAGS,KAHT,GAGc,oBAHd,GAKN,IALM,GAKF,qBALE,GAME,KANF,GAMO,+BANP,GAOQ,KAPR,GAOa,iBAPpB;AASD,CAVD;AAYA;;;AAGA,IAAM,kBAAkB,SAAlB,eAAkB,CAAC,IAAD,EAAe,OAAf,EAAgC,KAAhC,EAA6C;AAC7D;AAAA,QAAC,YAAD;AAAA,QAAO,SAAP;AACN,WAAO,QACN,IADM,GACF,GADE,GACE,IADF,GACM,GADN,GACU,CADV,GACW,0BADX,GAEa,KAFb,GAEkB,gCAFlB,GAGS,KAHT,GAGc,oBAHd,GAKN,IALM,GAKF,eALE,GAKc,IALd,GAKkB,GALlB,GAKsB,CALtB,GAKuB,eALvB,GAME,KANF,GAMO,+BANP,GAOQ,KAPR,GAOa,iBAPpB;AASD,CAXD;AAaA,IAAM,uBAAuB,SAAvB,oBAAuB,CAAC,IAAD,EAAe,OAAf,EAA+B;AAAhB;AAAA;AAAgB;AAAa,oBAAO,IAAP,GAAW,GAAX,GAAe,OAAf;AAAwB,CAAjG;AAEA,IAAM,mBAAmB,SAAnB,gBAAmB,CAAC,IAAD,EAAe,OAAf,EAA+B;AAAhB;AAAA;AAAgB;AAAa,oBAAO,qBAAqB,IAArB,EAA2B,OAA3B,CAAP,GAA0C,GAA1C;AAA6C,CAAlH;AAEM,SAAU,SAAV,CAAqB,KAArB,EAAyC,MAAzC,EAAuD;AAAd;AAAA;AAAc;AAC3D,QAAM,SAAS,OAAO,IAAP,CAAY,KAAZ,CAAf;AAEA,QAAI,CAAC,OAAO,MAAZ,EAAoB,OAAO,EAAP;AAEpB,QAAI,eAAe,EAAnB;AACA,QAAI,MAAM,EAAV;AAEA,QAAM,SAAS,SAAS,iBAAiB,SAAjB,CAAT,GAAuC,MAAM,OAAN,CAAc,IAApE;AACA,WAAO,gBAAc,MAAd,GAAoB,KAA3B;AAEA,SAAK,IAAI,IAAI,CAAb,EAAgB,IAAI,OAAO,MAA3B,EAAmC,EAAE,CAArC,EAAwC;AACtC,YAAM,OAAO,OAAO,CAAP,CAAb;AACA,YAAM,QAAQ,MAAM,IAAN,CAAd;AAEA,YAAI,QAAO,KAAP,yCAAO,KAAP,OAAiB,QAArB,EAA+B;AAE/B,eAAO,aAAa,IAAb,EAAmB,SAAS,iBAAiB,IAAjB,CAAT,GAAkC,MAAM,IAA3D,CAAP;AACA,mBAAW,gBAAgB,OAAK,qBAAqB,IAArB,CAAL,GAA+B,IAA/B,GAAoC,MAAM,IAA1C,GAA8C,KAAzE;AAEA,YAAM,WAAW,OAAO,IAAP,CAAY,KAAZ,CAAjB;AACA,aAAK,IAAI,MAAI,CAAb,EAAgB,MAAI,SAAS,MAA7B,EAAqC,EAAE,GAAvC,EAA0C;AACxC,gBAAM,UAAU,SAAS,GAAT,CAAhB;AACA,gBAAM,eAAe,MAAM,OAAN,CAArB;AACA,gBAAI,YAAY,MAAhB,EAAwB;AAExB,mBAAO,gBAAgB,IAAhB,EAAsB,OAAtB,EAA+B,SAAS,iBAAiB,IAAjB,EAAuB,OAAvB,CAAT,GAA2C,YAA1E,CAAP;AACA,uBAAW,gBAAgB,OAAK,qBAAqB,IAArB,EAA2B,OAA3B,CAAL,GAAwC,IAAxC,GAA6C,YAA7C,GAAyD,KAApF;AACD;AACF;AAED,QAAI,MAAJ,EAAY;AACV,uBAAe,cAAY,YAAZ,GAAwB,OAAvC;AACD;AAED,WAAO,eAAe,GAAtB;AACD;AAEK,SAAU,aAAV,CAAyB,IAAzB,EAAuC,KAAvC,EAAiD;AACrD,QAAM,SAAiC;AACrC,cAAM,4DAAQ,CAAC,KAAT;AAD+B,KAAvC;AAIA,SAAK,IAAI,IAAI,CAAb,EAAgB,IAAI,CAApB,EAAuB,EAAE,CAAzB,EAA4B;AAC1B,eAAO,YAAU,CAAjB,IAAwB,4DAAQ,CAAC,QAAQ,KAAR,EAAe,CAAf,CAAT,CAAxB;AACD;AAED,SAAK,IAAI,IAAI,CAAb,EAAgB,KAAK,CAArB,EAAwB,EAAE,CAA1B,EAA6B;AAC3B,eAAO,WAAS,CAAhB,IAAuB,4DAAQ,CAAC,OAAO,KAAP,EAAc,CAAd,CAAT,CAAvB;AACD;AAED,WAAO,MAAP;AACD;AAED,SAAS,OAAT,CAAkB,KAAlB,EAA8B,MAA9B,EAA4C;AAC1C,QAAM,MAAM,+DAAY,2DAAW,KAAX,CAAZ,CAAZ;AACA,QAAI,CAAJ,IAAS,IAAI,CAAJ,IAAS,SAAS,EAA3B;AACA,WAAO,6DAAa,6DAAU,GAAV,CAAb,CAAP;AACD;AAED,SAAS,MAAT,CAAiB,KAAjB,EAA6B,MAA7B,EAA2C;AACzC,QAAM,MAAM,+DAAY,2DAAW,KAAX,CAAZ,CAAZ;AACA,QAAI,CAAJ,IAAS,IAAI,CAAJ,IAAS,SAAS,EAA3B;AACA,WAAO,6DAAa,6DAAU,GAAV,CAAb,CAAP;AACD,C;;;;;;;;;;;ACjJD,iD","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","// Styles\nimport '../../stylus/components/_alerts.styl'\n\n// Components\nimport VIcon from '../VIcon'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Toggleable from '../../mixins/toggleable'\nimport Transitionable from '../../mixins/transitionable'\n\n// Types\nimport { VNode } from 'vue/types'\nimport mixins from '../../util/mixins'\n\n/* @vue/component */\nexport default mixins(Colorable, Toggleable, Transitionable).extend({\n name: 'v-alert',\n\n props: {\n dismissible: Boolean,\n icon: String,\n outline: 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 },\n\n computed: {\n computedColor (): string {\n return (this.type && !this.color) ? this.type : (this.color || 'error')\n },\n computedIcon (): string | void {\n if (this.icon || !this.type) return this.icon\n\n switch (this.type) {\n case 'info': return '$vuetify.icons.info'\n case 'error': return '$vuetify.icons.error'\n case 'success': return '$vuetify.icons.success'\n case 'warning': return '$vuetify.icons.warning'\n }\n }\n },\n\n methods: {\n genIcon (): VNode | null {\n if (!this.computedIcon) return null\n\n return this.$createElement(VIcon, {\n 'class': 'v-alert__icon'\n }, this.computedIcon)\n },\n\n genDismissible (): VNode | null {\n if (!this.dismissible) return null\n\n return this.$createElement('a', {\n 'class': 'v-alert__dismissible',\n on: { click: () => { this.isActive = false } }\n }, [\n this.$createElement(VIcon, {\n props: {\n right: true\n }\n }, '$vuetify.icons.cancel')\n ])\n }\n },\n\n render (h): VNode {\n const children = [\n this.genIcon(),\n h('div', this.$slots.default),\n this.genDismissible()\n ] as any\n const setColor = this.outline ? this.setTextColor : this.setBackgroundColor\n const alert = h('div', setColor(this.computedColor, {\n staticClass: 'v-alert',\n 'class': {\n 'v-alert--outline': this.outline\n },\n directives: [{\n name: 'show',\n value: this.isActive\n }],\n on: this.$listeners\n }), children)\n\n if (!this.transition) return alert\n\n return h('transition', {\n props: {\n name: this.transition,\n origin: this.origin,\n mode: this.mode\n }\n }, [alert])\n }\n})\n","import VAlert from './VAlert'\n\nexport { VAlert }\nexport default VAlert\n","import '../../stylus/components/_app.styl'\n\n// Component level mixins\nimport AppTheme from './mixins/app-theme'\n\nimport Themeable from '../../mixins/themeable'\n\n// Directives\nimport Resize from '../../directives/resize'\n\n/* @vue/component */\nexport default {\n name: 'v-app',\n\n directives: {\n Resize\n },\n\n mixins: [\n AppTheme,\n Themeable\n ],\n\n props: {\n id: {\n type: String,\n default: 'app'\n },\n dark: Boolean\n },\n\n computed: {\n classes () {\n return {\n 'application--is-rtl': this.$vuetify.rtl,\n ...this.themeClasses\n }\n }\n },\n\n watch: {\n dark () {\n this.$vuetify.dark = this.dark\n }\n },\n\n mounted () {\n this.$vuetify.dark = this.dark\n },\n\n render (h) {\n const data = {\n staticClass: 'application',\n 'class': this.classes,\n attrs: { 'data-app': true },\n domProps: { id: this.id }\n }\n\n const wrapper = h('div', { staticClass: 'application--wrap' }, this.$slots.default)\n\n return h('div', data, [wrapper])\n }\n}\n","import VApp from './VApp'\n\nexport { VApp }\nexport default VApp\n","import * as Theme from '../../../util/theme'\n\nexport default {\n data: () => ({\n style: null\n }),\n\n computed: {\n parsedTheme () {\n return Theme.parse(this.$vuetify.theme)\n },\n /** @return string */\n generatedStyles () {\n const theme = this.parsedTheme\n let css\n\n if (this.$vuetify.options.themeCache != null) {\n css = this.$vuetify.options.themeCache.get(theme)\n if (css != null) return css\n }\n\n css = Theme.genStyles(theme, this.$vuetify.options.customProperties)\n\n if (this.$vuetify.options.minifyTheme != null) {\n css = this.$vuetify.options.minifyTheme(css)\n }\n\n if (this.$vuetify.options.themeCache != null) {\n this.$vuetify.options.themeCache.set(theme, css)\n }\n\n return css\n },\n vueMeta () {\n if (this.$vuetify.theme === false) return {}\n\n const options = {\n cssText: this.generatedStyles,\n id: 'vuetify-theme-stylesheet',\n type: 'text/css'\n }\n\n if (this.$vuetify.options.cspNonce) {\n options.nonce = this.$vuetify.options.cspNonce\n }\n\n return {\n style: [options]\n }\n }\n },\n\n // Regular vue-meta\n metaInfo () {\n return this.vueMeta\n },\n\n // Nuxt\n head () {\n return this.vueMeta\n },\n\n watch: {\n generatedStyles () {\n !this.meta && this.applyTheme()\n }\n },\n\n created () {\n if (this.$vuetify.theme === false) return\n\n if (this.$meta) {\n // Vue-meta\n // Handled by metaInfo()/nuxt()\n } else if (typeof document === 'undefined' && this.$ssrContext) {\n // SSR\n const nonce = this.$vuetify.options.cspNonce\n ? ` nonce=\"${this.$vuetify.options.cspNonce}\"`\n : ''\n this.$ssrContext.head = this.$ssrContext.head || ''\n this.$ssrContext.head += ``\n } else if (typeof document !== 'undefined') {\n // Client-side\n this.genStyle()\n this.applyTheme()\n }\n },\n\n methods: {\n applyTheme () {\n if (this.style) this.style.innerHTML = this.generatedStyles\n },\n genStyle () {\n let style = document.getElementById('vuetify-theme-stylesheet')\n\n if (!style) {\n style = document.createElement('style')\n style.type = 'text/css'\n style.id = 'vuetify-theme-stylesheet'\n if (this.$vuetify.options.cspNonce) {\n style.setAttribute('nonce', this.$vuetify.options.cspNonce)\n }\n document.head.appendChild(style)\n }\n\n this.style = style\n }\n }\n}\n","// Styles\nimport '../../stylus/components/_autocompletes.styl'\n\n// Extensions\nimport VSelect, { defaultMenuProps as VSelectMenuProps } from '../VSelect/VSelect'\nimport VTextField from '../VTextField/VTextField'\n\n// Utils\nimport { keyCodes } from '../../util/helpers'\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 browserAutocomplete: {\n type: String,\n default: 'off'\n },\n filter: {\n type: Function,\n default: (item, queryText, itemText) => {\n return itemText.toLocaleLowerCase().indexOf(queryText.toLocaleLowerCase()) > -1\n }\n },\n hideNoData: Boolean,\n noFilter: Boolean,\n searchInput: {\n default: undefined\n },\n menuProps: {\n type: VSelect.options.props.menuProps.type,\n default: () => defaultMenuProps\n },\n autoSelectFirst: {\n type: Boolean,\n default: false\n }\n },\n\n data: vm => ({\n attrsInput: null,\n lazySearch: vm.searchInput\n }),\n\n computed: {\n classes () {\n return Object.assign({}, VSelect.options.computed.classes.call(this), {\n 'v-autocomplete': true,\n 'v-autocomplete--is-selecting-index': this.selectedIndex > -1\n })\n },\n computedItems () {\n return this.filteredItems\n },\n selectedValues () {\n return this.selectedItems.map(item => this.getValue(item))\n },\n hasDisplayedItems () {\n return this.hideSelected\n ? this.filteredItems.some(item => !this.hasItem(item))\n : this.filteredItems.length > 0\n },\n /**\n * The range of the current input text\n *\n * @return {Number}\n */\n currentRange () {\n if (this.selectedItem == null) return 0\n\n return this.getText(this.selectedItem).toString().length\n },\n filteredItems () {\n if (!this.isSearching || this.noFilter || this.internalSearch == null) return this.allItems\n\n return this.allItems.filter(item => this.filter(item, this.internalSearch.toString(), this.getText(item).toString()))\n },\n internalSearch: {\n get () {\n return this.lazySearch\n },\n set (val) {\n this.lazySearch = val\n\n this.$emit('update:searchInput', val)\n }\n },\n isAnyValueAllowed () {\n return false\n },\n isDirty () {\n return this.searchIsDirty || this.selectedItems.length > 0\n },\n isSearching () {\n if (this.multiple) return this.searchIsDirty\n\n return (\n this.searchIsDirty &&\n this.internalSearch !== this.getText(this.selectedItem)\n )\n },\n menuCanShow () {\n if (!this.isFocused) return false\n\n return this.hasDisplayedItems || !this.hideNoData\n },\n $_menuProps () {\n const props = VSelect.options.computed.$_menuProps.call(this)\n props.contentClass = `v-autocomplete__content ${props.contentClass || ''}`.trim()\n return {\n ...defaultMenuProps,\n ...props\n }\n },\n searchIsDirty () {\n return this.internalSearch != null &&\n this.internalSearch !== ''\n },\n selectedItem () {\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)\n\n Object.assign(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 (val) {\n this.onFilteredItemsChanged(val)\n },\n internalValue () {\n this.setSearch()\n },\n isFocused (val) {\n if (val) {\n this.$refs.input &&\n this.$refs.input.select()\n } else {\n this.updateSelf()\n }\n },\n isMenuActive (val) {\n if (val || !this.hasSlot) return\n\n this.lazySearch = null\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) {\n this.lazySearch = val\n },\n internalSearch (val) {\n this.onInternalSearchChanged(val)\n },\n itemText () {\n this.updateSelf()\n }\n },\n\n created () {\n this.setSearch()\n },\n\n methods: {\n onFilteredItemsChanged (val) {\n this.setMenuIndex(-1)\n\n this.$nextTick(() => {\n this.setMenuIndex(val.length > 0 && (val.length === 1 || this.autoSelectFirst) ? 0 : -1)\n })\n },\n onInternalSearchChanged (val) {\n this.updateMenuDimensions()\n },\n updateMenuDimensions () {\n if (this.isMenuActive &&\n this.$refs.menu\n ) {\n this.$refs.menu.updateDimensions()\n }\n },\n changeSelectedIndex (keyCode) {\n // Do not allow changing of selectedIndex\n // when search is dirty\n if (this.searchIsDirty) return\n\n if (![\n keyCodes.backspace,\n keyCodes.left,\n keyCodes.right,\n keyCodes.delete\n ].includes(keyCode)) return\n\n const indexes = this.selectedItems.length - 1\n\n if (keyCode === keyCodes.left) {\n this.selectedIndex = this.selectedIndex === -1\n ? indexes\n : this.selectedIndex - 1\n } else if (keyCode === keyCodes.right) {\n this.selectedIndex = this.selectedIndex >= indexes\n ? -1\n : this.selectedIndex + 1\n } else if (this.selectedIndex === -1) {\n this.selectedIndex = indexes\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)\n ) {\n const newIndex = this.selectedIndex === indexes\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.attrs.role = 'combobox'\n input.data.domProps.value = this.internalSearch\n\n return input\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 onEnterDown () {\n // Avoid invoking this method\n // will cause updateSelf to\n // be called emptying search\n },\n onInput (e) {\n if (this.selectedIndex > -1) return\n\n // If typing and menu is not currently active\n if (e.target.value) {\n this.activateMenu()\n if (!this.isAnyValueAllowed) this.setMenuIndex(0)\n }\n\n this.mask && this.resetSelections(e.target)\n this.internalSearch = e.target.value\n this.badInput = e.target.validity && e.target.validity.badInput\n },\n onKeyDown (e) {\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 onTabDown (e) {\n VSelect.options.methods.onTabDown.call(this, e)\n this.updateSelf()\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 this.internalSearch = (\n this.multiple &&\n this.internalSearch &&\n this.isMenuActive\n )\n ? this.internalSearch\n : (\n !this.selectedItems.length ||\n this.multiple ||\n this.hasSlot\n )\n ? null\n : this.getText(this.selectedItem)\n })\n },\n updateSelf () {\n this.updateAutocomplete()\n },\n updateAutocomplete () {\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) {\n return this.selectedValues.indexOf(this.getValue(item)) > -1\n }\n }\n})\n","import VAutocomplete from './VAutocomplete'\n\nexport { VAutocomplete }\nexport default VAutocomplete\n","import '../../stylus/components/_avatars.styl'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport { convertToUnit } from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue'\nimport mixins from '../../util/mixins'\n\n/* @vue/component */\nexport default mixins(Colorable).extend({\n name: 'v-avatar',\n\n functional: true,\n\n props: {\n // TODO: inherit these\n color: String,\n\n size: {\n type: [Number, String],\n default: 48\n },\n tile: Boolean\n },\n\n render (h, { data, props, children }): VNode {\n data.staticClass = (`v-avatar ${data.staticClass || ''}`).trim()\n\n if (props.tile) data.staticClass += ' v-avatar--tile'\n\n const size = convertToUnit(props.size)\n data.style = {\n height: size,\n width: size,\n ...data.style as object\n }\n\n return h('div', Colorable.options.methods.setBackgroundColor(props.color, data), children)\n }\n})\n","import VAvatar from './VAvatar'\n\nexport { VAvatar }\nexport default VAvatar\n","// Styles\nimport '../../stylus/components/_badges.styl'\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 h('transition', {\n props: {\n name: this.transition,\n origin: this.origin,\n mode: this.mode\n }\n }, badge)\n ])\n }\n})\n","import VBadge from './VBadge'\n\nexport { VBadge }\nexport default VBadge\n","// Styles\nimport '../../stylus/components/_bottom-navs.styl'\n\n// Mixins\nimport Applicationable from '../../mixins/applicationable'\nimport ButtonGroup from '../../mixins/button-group'\nimport Colorable from '../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\n\n// Util\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\nimport { PropValidator } from 'vue/types/options'\n\nexport default mixins(\n Applicationable('bottom', [\n 'height',\n 'value'\n ]),\n Colorable,\n Themeable\n /* @vue/component */\n).extend({\n name: 'v-bottom-nav',\n\n props: {\n active: [Number, String],\n mandatory: Boolean,\n height: {\n default: 56,\n type: [Number, String],\n validator: (v: string | number): boolean => !isNaN(parseInt(v))\n },\n shift: Boolean,\n value: null as any as PropValidator\n },\n\n computed: {\n classes (): object {\n return {\n 'v-bottom-nav--absolute': this.absolute,\n 'v-bottom-nav--fixed': !this.absolute && (this.app || this.fixed),\n 'v-bottom-nav--shift': this.shift,\n 'v-bottom-nav--active': this.value\n }\n },\n computedHeight (): number {\n return parseInt(this.height)\n }\n },\n\n methods: {\n updateApplication (): number {\n return !this.value\n ? 0\n : this.computedHeight\n },\n updateValue (val: any) {\n this.$emit('update:active', val)\n }\n },\n\n render (h): VNode {\n return h(ButtonGroup, this.setBackgroundColor(this.color, {\n staticClass: 'v-bottom-nav',\n class: this.classes,\n style: {\n height: `${parseInt(this.computedHeight)}px`\n },\n props: {\n mandatory: Boolean(this.mandatory || this.active !== undefined),\n value: this.active\n },\n on: { change: this.updateValue }\n }), this.$slots.default)\n }\n})\n","import VBottomNav from './VBottomNav'\n\nexport { VBottomNav }\nexport default VBottomNav\n","import '../../stylus/components/_bottom-sheets.styl'\n\nimport VDialog from '../VDialog/VDialog'\n\n/* @vue/component */\nexport default {\n name: 'v-bottom-sheet',\n\n props: {\n disabled: Boolean,\n fullWidth: Boolean,\n hideOverlay: Boolean,\n inset: Boolean,\n lazy: Boolean,\n maxWidth: {\n type: [String, Number],\n default: 'auto'\n },\n persistent: Boolean,\n value: null\n },\n\n render (h) {\n const activator = h('template', {\n slot: 'activator'\n }, this.$slots.activator)\n\n const contentClass = [\n 'v-bottom-sheet',\n this.inset ? 'v-bottom-sheet--inset' : ''\n ].join(' ')\n\n return h(VDialog, {\n attrs: {\n ...this.$props\n },\n on: {\n ...this.$listeners\n },\n props: {\n contentClass,\n noClickAnimation: true,\n transition: 'bottom-sheet-transition',\n value: this.value\n }\n }, [activator, this.$slots.default])\n }\n}\n","import VBottomSheet from './VBottomSheet'\n\nexport { VBottomSheet }\nexport default VBottomSheet\n","// Styles\nimport '../../stylus/components/_breadcrumbs.styl'\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 { deprecate } from '../../util/console'\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,\n large: Boolean,\n justifyCenter: Boolean,\n justifyEnd: Boolean\n },\n\n computed: {\n classes (): object {\n return {\n 'v-breadcrumbs--large': this.large,\n 'justify-center': this.justifyCenter,\n 'justify-end': this.justifyEnd,\n ...this.themeClasses\n }\n }\n },\n\n mounted () {\n if (this.justifyCenter) deprecate('justify-center', 'class=\"justify-center\"', this)\n if (this.justifyEnd) deprecate('justify-end', 'class=\"justify-end\"', this)\n if (this.$slots.default) deprecate('default slot', ':items and scoped slot \"item\"', this)\n },\n\n methods: {\n /* @deprecated */\n genChildren /* istanbul ignore next */ () {\n if (!this.$slots.default) return undefined\n\n const children = []\n\n let createDividers = false\n for (let i = 0; i < this.$slots.default.length; i++) {\n const elm = this.$slots.default[i]\n\n if (\n !elm.componentOptions ||\n elm.componentOptions.Ctor.options.name !== 'v-breadcrumbs-item'\n ) {\n children.push(elm)\n } else {\n if (createDividers) {\n children.push(this.genDivider())\n }\n children.push(elm)\n createDividers = true\n }\n }\n\n return children\n },\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.genChildren() : 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 },\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(this.classes)\n\n return h('li', [\n h(tag, data, 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","// Styles\nimport '../../stylus/components/_buttons.styl'\n\n// Types\nimport { VNode } from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport mixins, { ExtractVue } from '../../util/mixins'\nimport { RippleOptions } from '../../directives/ripple'\n\n// Components\nimport VProgressCircular from '../VProgressCircular'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport Positionable from '../../mixins/positionable'\nimport Routable from '../../mixins/routable'\nimport Themeable from '../../mixins/themeable'\nimport { factory as ToggleableFactory } from '../../mixins/toggleable'\n\n// Utilities\nimport { getObjectValueByPath } from '../../util/helpers'\n\nconst baseMixins = mixins(\n Colorable,\n Routable,\n Positionable,\n Themeable,\n GroupableFactory('btnToggle'),\n ToggleableFactory('inputValue')\n /* @vue/component */\n)\ninterface options extends ExtractVue {\n $el: HTMLElement\n}\n\nexport default baseMixins.extend().extend({\n name: 'v-btn',\n\n props: {\n activeClass: {\n type: String,\n default: 'v-btn--active'\n },\n block: Boolean,\n depressed: Boolean,\n fab: Boolean,\n flat: Boolean,\n icon: Boolean,\n large: Boolean,\n loading: Boolean,\n outline: Boolean,\n ripple: {\n type: [Boolean, Object],\n default: null\n },\n round: Boolean,\n small: Boolean,\n tag: {\n type: String,\n default: 'button'\n },\n type: {\n type: String,\n default: 'button'\n },\n value: null as any as PropValidator\n },\n\n computed: {\n classes (): any {\n return {\n 'v-btn': true,\n [this.activeClass]: this.isActive,\n 'v-btn--absolute': this.absolute,\n 'v-btn--block': this.block,\n 'v-btn--bottom': this.bottom,\n 'v-btn--disabled': this.disabled,\n 'v-btn--flat': this.flat,\n 'v-btn--floating': this.fab,\n 'v-btn--fixed': this.fixed,\n 'v-btn--icon': this.icon,\n 'v-btn--large': this.large,\n 'v-btn--left': this.left,\n 'v-btn--loader': this.loading,\n 'v-btn--outline': this.outline,\n 'v-btn--depressed': (this.depressed && !this.flat) || this.outline,\n 'v-btn--right': this.right,\n 'v-btn--round': this.round,\n 'v-btn--router': this.to,\n 'v-btn--small': this.small,\n 'v-btn--top': this.top,\n ...this.themeClasses\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 },\n\n watch: {\n '$route': 'onRouteChange'\n },\n\n methods: {\n // Prevent focus to match md spec\n click (e: MouseEvent): void {\n !this.fab &&\n e.detail &&\n this.$el.blur()\n\n this.$emit('click', e)\n\n this.btnToggle && this.toggle()\n },\n genContent (): VNode {\n return this.$createElement(\n 'div',\n { 'class': 'v-btn__content' },\n this.$slots.default\n )\n },\n genLoader (): VNode {\n return this.$createElement('span', {\n class: 'v-btn__loading'\n }, this.$slots.loader || [this.$createElement(VProgressCircular, {\n props: {\n indeterminate: true,\n size: 23,\n width: 2\n }\n })])\n },\n onRouteChange () {\n if (!this.to || !this.$refs.link) return\n\n const path = `_vnode.data.class.${this.activeClass}`\n\n this.$nextTick(() => {\n if (getObjectValueByPath(this.$refs.link, path)) {\n this.toggle()\n }\n })\n }\n },\n\n render (h): VNode {\n const setColor = (!this.outline && !this.flat && !this.disabled) ? this.setBackgroundColor : this.setTextColor\n const { tag, data } = this.generateRouteLink(this.classes)\n const children = [\n this.genContent(),\n this.loading && this.genLoader()\n ]\n\n if (tag === 'button') data.attrs!.type = this.type\n\n data.attrs!.value = ['string', 'number'].includes(typeof this.value)\n ? this.value\n : JSON.stringify(this.value)\n\n if (this.btnToggle) {\n data.ref = 'link'\n }\n\n return h(tag, setColor(this.color, data), children)\n }\n})\n","import VBtn from './VBtn'\n\nexport { VBtn }\nexport default VBtn\n","// Styles\nimport '../../stylus/components/_button-toggle.styl'\n\n// Mixins\nimport ButtonGroup from '../../mixins/button-group'\n\n/* @vue/component */\nexport default ButtonGroup.extend({\n name: 'v-btn-toggle',\n\n props: {\n activeClass: {\n type: String,\n default: 'v-btn--active'\n }\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--only-child': this.selectedItems.length === 1,\n 'v-btn-toggle--selected': this.selectedItems.length > 0\n }\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 CalendarBase from './mixins/calendar-base'\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 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 CalendarBase.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 parseTimestamp(this.value) ||\n this.parsedStart ||\n this.times.today\n },\n renderProps (): VCalendarRenderProps {\n const around = this.parsedValue\n let component: any = 'div'\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 }\n\n return { component, start, end, maxDays }\n }\n },\n\n watch: {\n renderProps: 'checkChange'\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 mover(moved)\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 props: {\n ...this.$props,\n start: start.date,\n end: end.date,\n maxDays\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.$scopedSlots\n })\n }\n})\n","// Styles\nimport '../../stylus/components/_calendar-daily.styl'\n\n// Types\nimport { VNode, VNodeChildren } from 'vue'\n\n// Directives\nimport Resize from '../../directives/resize'\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): VNode {\n const slot = this.$scopedSlots.dayHeader\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) : ''\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 const color = day.present ? this.color : undefined\n\n return this.$createElement('div', this.setTextColor(color, {\n staticClass: 'v-calendar-daily_head-day-label',\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.dayBody\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[] {\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 '../../stylus/components/_calendar-weekly.styl'\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","// Styles\nimport '../../stylus/components/_calendar-weekly.styl'\n\n// Types\nimport { VNode, VNodeChildren } from 'vue'\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.locale,\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): VNode {\n const outside = this.isOutside(day)\n const slot = this.$scopedSlots.day\n const slotData = { outside, ...day }\n const hasMonth = day.day === 1 && this.showMonthOnFirst\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 hasMonth ? this.genDayMonth(day) : '',\n slot ? slot(slotData) : ''\n ])\n },\n genDayLabel (day: VTimestamp): VNode {\n const color = day.present ? this.color : undefined\n const slot = this.$scopedSlots.dayLabel\n\n return this.$createElement('div', this.setTextColor(color, {\n staticClass: 'v-calendar-weekly__day-label',\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 }), slot ? slot(day) as VNodeChildren : this.dayFormatter(day, false))\n },\n genDayMonth (day: VTimestamp): VNode | string {\n const color = day.present ? this.color : undefined\n const slot = this.$scopedSlots.dayMonth\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 Themeable from '../../../mixins/themeable'\nimport Colorable from '../../../mixins/colorable'\nimport Times from './times'\nimport Mouse from './mouse'\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\n/* @vue/component */\nexport default mixins(Colorable, Themeable, Times, Mouse).extend({\n name: 'calendar-base',\n\n props: props.base,\n\n computed: {\n weekdaySkips (): number[] {\n return getWeekdaySkips(this.weekdays)\n },\n parsedStart (): VTimestamp {\n return parseTimestamp(this.start) as VTimestamp\n },\n parsedEnd (): VTimestamp {\n return parseTimestamp(this.end) 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.locale,\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.locale,\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 }\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.locale,\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 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","\nimport { validateTimestamp, parseDate } from './timestamp'\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 default: '0000-00-00'\n },\n weekdays: {\n type: Array as () => number[],\n default: () => [0, 1, 2, 3, 4, 5, 6]\n },\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 locale: {\n type: String,\n default: 'en-us'\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}\n\nfunction 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 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 (timestamp: VTimestamp,\n mover: VTimestampOperation = nextDay, days = 1): VTimestamp {\n while (--days >= 0) mover(timestamp)\n\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 (start: VTimestamp, end: VTimestamp, now: VTimestamp,\n weekdaySkips: number[], max = 42, min = 0): 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 return days\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 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","// Styles\nimport '../../stylus/components/_cards.styl'\n\n// Extensions\nimport VSheet from '../VSheet'\n\n// Mixins\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 Routable,\n VSheet\n).extend({\n name: 'v-card',\n\n props: {\n flat: Boolean,\n hover: Boolean,\n img: String,\n raised: Boolean\n },\n\n computed: {\n classes (): object {\n return {\n 'v-card': true,\n 'v-card--flat': this.flat,\n 'v-card--hover': this.hover,\n ...VSheet.options.computed.classes.call(this)\n }\n },\n styles (): object {\n const style: Dictionary = {\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 render (h): VNode {\n const { tag, data } = this.generateRouteLink(this.classes)\n\n data.style = this.styles\n\n return h(tag, this.setBackgroundColor(this.color, data), this.$slots.default)\n }\n})\n","// Components\nimport VImg from '../VImg/VImg'\n\n// Utils\nimport { deprecate } from '../../util/console'\n\n/* istanbul ignore next */\n/* @vue/component */\nexport default VImg.extend({\n name: 'v-card-media',\n\n mounted () {\n deprecate('v-card-media', this.src ? 'v-img' : 'v-responsive', this)\n }\n})\n","// Types\nimport Vue, { VNode } from 'vue'\n\n/* @vue/component */\nexport default Vue.extend({\n name: 'v-card-title',\n\n functional: true,\n\n props: {\n primaryTitle: Boolean\n },\n\n render (h, { data, props, children }): VNode {\n data.staticClass = (`v-card__title ${data.staticClass || ''}`).trim()\n\n if (props.primaryTitle) data.staticClass += ' v-card__title--primary'\n\n return h('div', data, children)\n }\n})\n","import { createSimpleFunctional } from '../../util/helpers'\nimport VCard from './VCard'\nimport VCardMedia from './VCardMedia'\nimport VCardTitle from './VCardTitle'\n\nconst VCardActions = createSimpleFunctional('v-card__actions')\nconst VCardText = createSimpleFunctional('v-card__text')\n\nexport { VCard, VCardMedia, VCardTitle, VCardActions, VCardText }\n\nexport default {\n $_vuetify_subcomponents: {\n VCard,\n VCardMedia,\n VCardTitle,\n VCardActions,\n VCardText\n }\n}\n","// Styles\nimport '../../stylus/components/_carousel.styl'\n\n// Extensions\nimport VWindow from '../VWindow/VWindow'\n\n// Components\nimport VBtn from '../VBtn'\nimport VIcon from '../VIcon'\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 { deprecate } from '../../util/console'\n\n// Types\nimport { VNode } from 'vue'\nimport { VNodeDirective } from 'vue/types/vnode'\n\nexport default VWindow.extend({\n name: 'v-carousel',\n\n props: {\n cycle: {\n type: Boolean,\n default: true\n },\n delimiterIcon: {\n type: String,\n default: '$vuetify.icons.delimiter'\n },\n height: {\n type: [Number, String],\n default: 500\n },\n hideControls: Boolean,\n hideDelimiters: 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 nextIcon: {\n type: [Boolean, String],\n default: '$vuetify.icons.next'\n },\n prevIcon: {\n type: [Boolean, String],\n default: '$vuetify.icons.prev'\n }\n },\n\n data () {\n return {\n changedByDelimiters: false,\n internalHeight: this.height,\n slideTimeout: undefined as number | undefined\n }\n },\n\n computed: {\n isDark (): boolean {\n return this.dark || !this.light\n }\n },\n\n watch: {\n internalValue (val) {\n this.restartTimeout()\n /* @deprecate */\n /* istanbul ignore else */\n if (!this.$listeners['input']) return\n\n this.$emit('input', val)\n },\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 mounted () {\n /* @deprecate */\n /* istanbul ignore next */\n if (this.$listeners['input']) {\n deprecate('@input', '@change', this)\n }\n this.startTimeout()\n },\n\n methods: {\n genDelimiters (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-carousel__controls'\n }, [this.genItems()])\n },\n genIcon (\n direction: 'prev' | 'next',\n icon: string,\n fn: () => void\n ): VNode {\n return this.$createElement('div', {\n staticClass: `v-carousel__${direction}`\n }, [\n this.$createElement(VBtn, {\n props: {\n icon: true\n },\n attrs: {\n 'aria-label': this.$vuetify.t(`$vuetify.carousel.${direction}`)\n },\n on: {\n click: () => {\n this.changedByDelimiters = true\n fn()\n }\n }\n }, [\n this.$createElement(VIcon, {\n props: { 'size': '46px' }\n }, icon)\n ])\n ])\n },\n genIcons (): VNode[] {\n const icons = []\n\n const prevIcon = this.$vuetify.rtl\n ? this.nextIcon\n : this.prevIcon\n\n if (prevIcon && typeof prevIcon === 'string') {\n icons.push(this.genIcon('prev', prevIcon, this.prev))\n }\n\n const nextIcon = this.$vuetify.rtl\n ? this.prevIcon\n : this.nextIcon\n\n if (nextIcon && typeof nextIcon === 'string') {\n icons.push(this.genIcon('next', nextIcon, this.next))\n }\n\n return icons\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 class: {\n 'v-carousel__controls__item': true\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 },\n on: {\n change: (val: any) => {\n this.internalValue = val\n }\n }\n }, children)\n },\n restartTimeout () {\n this.slideTimeout && clearTimeout(this.slideTimeout)\n this.slideTimeout = undefined\n\n const raf = requestAnimationFrame || setTimeout\n raf(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 updateReverse (val: number, oldVal: number) {\n if (this.changedByDelimiters) {\n this.changedByDelimiters = false\n return\n }\n\n VWindow.options.methods.updateReverse.call(this, val, oldVal)\n }\n },\n\n render (h): VNode {\n const children = []\n const data = {\n staticClass: 'v-window v-carousel',\n style: {\n height: convertToUnit(this.height)\n },\n directives: [] as VNodeDirective[]\n }\n\n if (!this.touchless) {\n data.directives.push({\n name: 'touch',\n value: {\n left: this.next,\n right: this.prev\n }\n } as VNodeDirective)\n }\n\n if (!this.hideControls) {\n children.push(this.genIcons())\n }\n\n if (!this.hideDelimiters) {\n children.push(this.genDelimiters())\n }\n\n return h('div', data, [this.genContainer(), children])\n }\n})\n","// Extensions\nimport VWindowItem from '../VWindow/VWindowItem'\n\n// Components\nimport { VImg } from '../VImg'\n\n/* @vue/component */\nexport default VWindowItem.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 }, this.$slots.default)\n ]\n },\n onBeforeEnter () { /* noop */ },\n onEnter () { /* noop */ },\n onAfterEnter () { /* noop */ },\n onBeforeLeave () { /* noop */ },\n onEnterCancelled () { /* noop */ }\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","// Styles\nimport '../../stylus/components/_selection-controls.styl'\n\n// Components\nimport VIcon from '../VIcon'\n// import { VFadeTransition } from '../transitions'\n\n// Mixins\nimport Selectable from '../../mixins/selectable'\n\n/* @vue/component */\nexport default {\n name: 'v-checkbox',\n\n mixins: [\n Selectable\n ],\n\n props: {\n indeterminate: Boolean,\n indeterminateIcon: {\n type: String,\n default: '$vuetify.icons.checkboxIndeterminate'\n },\n onIcon: {\n type: String,\n default: '$vuetify.icons.checkboxOn'\n },\n offIcon: {\n type: String,\n default: '$vuetify.icons.checkboxOff'\n }\n },\n\n data: vm => ({\n inputIndeterminate: vm.indeterminate\n }),\n\n computed: {\n classes () {\n return {\n 'v-input--selection-controls': true,\n 'v-input--checkbox': true\n }\n },\n computedIcon () {\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 },\n\n watch: {\n indeterminate (val) {\n this.inputIndeterminate = val\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.computedColor)),\n this.$createElement(VIcon, this.setTextColor(this.computedColor, {\n props: {\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","import VCheckbox from './VCheckbox'\n\nexport { VCheckbox }\nexport default VCheckbox\n","import '../../stylus/components/_chips.styl'\n\n// Types\nimport { CreateElement, VNode } from 'vue'\nimport mixins from '../../util/mixins'\n\n// Components\nimport VIcon from '../VIcon'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\nimport Toggleable from '../../mixins/toggleable'\n\n/* @vue/component */\nexport default mixins(Colorable, Themeable, Toggleable).extend({\n name: 'v-chip',\n\n props: {\n close: Boolean,\n disabled: Boolean,\n label: Boolean,\n outline: Boolean,\n // Used for selects/tagging\n selected: Boolean,\n small: Boolean,\n textColor: String,\n value: {\n type: Boolean,\n default: true\n }\n },\n\n computed: {\n classes (): object {\n return {\n 'v-chip--disabled': this.disabled,\n 'v-chip--selected': this.selected && !this.disabled,\n 'v-chip--label': this.label,\n 'v-chip--outline': this.outline,\n 'v-chip--small': this.small,\n 'v-chip--removable': this.close,\n ...this.themeClasses\n }\n }\n },\n\n methods: {\n genClose (h: CreateElement): VNode {\n const data = {\n staticClass: 'v-chip__close',\n on: {\n click: (e: Event) => {\n e.stopPropagation()\n\n this.$emit('input', false)\n }\n }\n }\n\n return h('div', data, [\n h(VIcon, '$vuetify.icons.delete')\n ])\n },\n genContent (h: CreateElement): VNode {\n return h('span', {\n staticClass: 'v-chip__content'\n }, [\n this.$slots.default,\n this.close && this.genClose(h)\n ])\n }\n },\n\n render (h): VNode {\n const data = this.setBackgroundColor(this.color, {\n staticClass: 'v-chip',\n 'class': this.classes,\n attrs: { tabindex: this.disabled ? -1 : 0 },\n directives: [{\n name: 'show',\n value: this.isActive\n }],\n on: this.$listeners\n })\n\n const color = this.textColor || (this.outline && this.color)\n return h('span', this.setTextColor(color, data), [this.genContent(h)])\n }\n})\n","import VChip from './VChip'\n\nexport { VChip }\nexport default VChip\n","// Styles\nimport '../../stylus/components/_autocompletes.styl'\n\n// Extensions\nimport VSelect from '../VSelect/VSelect'\nimport VAutocomplete from '../VAutocomplete/VAutocomplete'\n\n// Utils\nimport { keyCodes } from '../../util/helpers'\n\n/* @vue/component */\nexport default {\n name: 'v-combobox',\n\n extends: VAutocomplete,\n\n props: {\n delimiters: {\n type: Array,\n default: () => ([])\n },\n returnObject: {\n type: Boolean,\n default: true\n }\n },\n\n data: () => ({\n editingIndex: -1\n }),\n\n computed: {\n counterValue () {\n return this.multiple\n ? this.selectedItems.length\n : (this.internalSearch || '').toString().length\n },\n hasSlot () {\n return VSelect.options.computed.hasSlot.call(this) || this.multiple\n },\n isAnyValueAllowed () {\n return true\n },\n menuCanShow () {\n if (!this.isFocused) return false\n\n return this.hasDisplayedItems ||\n (!!this.$slots['no-data'] && !this.hideNoData)\n }\n },\n\n methods: {\n onFilteredItemsChanged () {\n // nop\n },\n onInternalSearchChanged (val) {\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 genChipSelection (item, index) {\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.dblclick = () => {\n this.editingIndex = index\n this.internalSearch = this.getText(item)\n this.selectedIndex = -1\n }\n }\n\n return chip\n },\n onChipInput (item) {\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) {\n e.preventDefault()\n\n VSelect.options.methods.onEnterDown.call(this)\n\n // If has menu index, let v-select-list handle\n if (this.getMenuIndex() > -1) return\n\n this.updateSelf()\n },\n onKeyDown (e) {\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 }\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) {\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) {\n // Currently only supports items:\n if (this.editingIndex > -1) {\n this.updateEditing()\n } else {\n VSelect.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 = this.internalSearch) {\n VSelect.options.methods.setValue.call(this, value)\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 }\n}\n","import VCombobox from './VCombobox'\n\nexport { VCombobox }\nexport default VCombobox\n","// Styles\nimport '../../stylus/components/_counters.styl'\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","import '../../stylus/components/_data-iterator.styl'\n\nimport DataIterable from '../../mixins/data-iterable'\n\n/* @vue/component */\nexport default {\n name: 'v-data-iterator',\n\n mixins: [DataIterable],\n\n inheritAttrs: false,\n\n props: {\n contentTag: {\n type: String,\n default: 'div'\n },\n contentProps: {\n type: Object,\n required: false\n },\n contentClass: {\n type: String,\n required: false\n }\n },\n\n computed: {\n classes () {\n return {\n 'v-data-iterator': true,\n 'v-data-iterator--select-all': this.selectAll !== false,\n ...this.themeClasses\n }\n }\n },\n\n created () {\n this.initPagination()\n },\n\n methods: {\n genContent () {\n const children = this.genItems()\n\n const data = {\n 'class': this.contentClass,\n attrs: this.$attrs,\n on: this.$listeners,\n props: this.contentProps\n }\n\n return this.$createElement(this.contentTag, data, children)\n },\n genEmptyItems (content) {\n return [this.$createElement('div', {\n 'class': 'text-xs-center',\n style: 'width: 100%'\n }, content)]\n },\n genFilteredItems () {\n if (!this.$scopedSlots.item) {\n return null\n }\n\n const items = []\n for (let index = 0, len = this.filteredItems.length; index < len; ++index) {\n const item = this.filteredItems[index]\n const props = this.createProps(item, index)\n items.push(this.$scopedSlots.item(props))\n }\n\n return items\n },\n genFooter () {\n const children = []\n\n if (this.$slots.footer) {\n children.push(this.$slots.footer)\n }\n\n if (!this.hideActions) {\n children.push(this.genActions())\n }\n\n if (!children.length) return null\n return this.$createElement('div', children)\n },\n genHeader () {\n const children = []\n\n if (this.$slots.header) {\n children.push(this.$slots.header)\n }\n\n if (!children.length) return null\n return this.$createElement('div', children)\n }\n },\n\n render (h) {\n return h('div', {\n 'class': this.classes\n }, [\n this.genHeader(),\n this.genContent(),\n this.genFooter()\n ])\n }\n}\n","import VDataIterator from './VDataIterator'\n\nexport { VDataIterator }\nexport default VDataIterator\n","import '../../stylus/components/_tables.styl'\nimport '../../stylus/components/_data-table.styl'\n\nimport DataIterable from '../../mixins/data-iterable'\n\nimport Head from './mixins/head'\nimport Body from './mixins/body'\nimport Foot from './mixins/foot'\nimport Progress from './mixins/progress'\n\nimport {\n createSimpleFunctional,\n getObjectValueByPath\n} from '../../util/helpers'\n\n// Importing does not work properly\nconst VTableOverflow = createSimpleFunctional('v-table__overflow')\n\n/* @vue/component */\nexport default {\n name: 'v-data-table',\n\n mixins: [DataIterable, Head, Body, Foot, Progress],\n\n props: {\n headers: {\n type: Array,\n default: () => []\n },\n headersLength: {\n type: Number\n },\n headerText: {\n type: String,\n default: 'text'\n },\n headerKey: {\n type: String,\n default: null\n },\n hideHeaders: Boolean,\n rowsPerPageText: {\n type: String,\n default: '$vuetify.dataTable.rowsPerPageText'\n },\n customFilter: {\n type: Function,\n default: (items, search, filter, headers) => {\n search = search.toString().toLowerCase()\n if (search.trim() === '') return items\n\n const props = headers.map(h => h.value)\n\n return items.filter(item => props.some(prop => filter(getObjectValueByPath(item, prop, item[prop]), search)))\n }\n }\n },\n\n data () {\n return {\n actionsClasses: 'v-datatable__actions',\n actionsRangeControlsClasses: 'v-datatable__actions__range-controls',\n actionsSelectClasses: 'v-datatable__actions__select',\n actionsPaginationClasses: 'v-datatable__actions__pagination'\n }\n },\n\n computed: {\n classes () {\n return {\n 'v-datatable v-table': true,\n 'v-datatable--select-all': this.selectAll !== false,\n ...this.themeClasses\n }\n },\n filteredItems () {\n return this.filteredItemsImpl(this.headers)\n },\n headerColumns () {\n return this.headersLength || this.headers.length + (this.selectAll !== false)\n }\n },\n\n created () {\n const firstSortable = this.headers.find(h => (\n !('sortable' in h) || h.sortable)\n )\n\n this.defaultPagination.sortBy = !this.disableInitialSort && firstSortable\n ? firstSortable.value\n : null\n\n this.initPagination()\n },\n\n methods: {\n hasTag (elements, tag) {\n return Array.isArray(elements) && elements.find(e => e.tag === tag)\n },\n genTR (children, data = {}) {\n return this.$createElement('tr', data, children)\n }\n },\n\n render (h) {\n const tableOverflow = h(VTableOverflow, {}, [\n h('table', {\n 'class': this.classes\n }, [\n this.genTHead(),\n this.genTBody(),\n this.genTFoot()\n ])\n ])\n\n return h('div', [\n tableOverflow,\n this.genActionsFooter()\n ])\n }\n}\n","import '../../stylus/components/_small-dialog.styl'\n\n// Mixins\nimport Returnable from '../../mixins/returnable'\nimport Themeable from '../../mixins/themeable'\n\n// Utils\nimport { keyCodes } from '../../util/helpers'\n\nimport VBtn from '../VBtn'\nimport VMenu from '../VMenu'\n\n/* @vue/component */\nexport default {\n name: 'v-edit-dialog',\n\n mixins: [Returnable, Themeable],\n\n props: {\n cancelText: {\n default: 'Cancel'\n },\n large: Boolean,\n lazy: 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.querySelector('input')\n input && input.focus()\n },\n genButton (fn, text) {\n return this.$createElement(VBtn, {\n props: {\n flat: true,\n color: 'primary',\n light: true\n },\n on: { click: fn }\n }, text)\n },\n genActions () {\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 () {\n return this.$createElement('div', {\n on: {\n keydown: e => {\n const input = this.$refs.content.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) {\n return h(VMenu, {\n staticClass: 'v-small-dialog',\n class: this.themeClasses,\n props: {\n contentClass: 'v-small-dialog__content',\n transition: this.transition,\n origin: 'top right',\n right: true,\n value: this.isActive,\n closeOnClick: !this.persistent,\n closeOnContentClick: false,\n lazy: this.lazy,\n light: this.light,\n dark: this.dark\n },\n on: {\n input: val => (this.isActive = val)\n }\n }, [\n h('a', {\n slot: 'activator'\n }, this.$slots.default),\n this.genContent(),\n this.large ? this.genActions() : null\n ])\n }\n}\n","import { createSimpleFunctional } from '../../util/helpers'\n\nimport VDataTable from './VDataTable'\nimport VEditDialog from './VEditDialog'\n\nconst VTableOverflow = createSimpleFunctional('v-table__overflow')\n\nexport { VDataTable, VEditDialog, VTableOverflow }\n\nexport default {\n $_vuetify_subcomponents: {\n VDataTable,\n VEditDialog,\n VTableOverflow\n }\n}\n","import ExpandTransitionGenerator from '../../transitions/expand-transition'\n\nimport { getObjectValueByPath } from '../../../util/helpers'\n\n/* @vue/component */\nexport default {\n methods: {\n genTBody () {\n const children = this.genItems()\n\n return this.$createElement('tbody', children)\n },\n genExpandedRow (props) {\n const children = []\n\n if (this.isExpanded(props.item)) {\n const expand = this.$createElement('div', {\n class: 'v-datatable__expand-content',\n key: getObjectValueByPath(props.item, this.itemKey)\n }, [this.$scopedSlots.expand(props)])\n\n children.push(expand)\n }\n\n const transition = this.$createElement('transition-group', {\n class: 'v-datatable__expand-col',\n attrs: { colspan: this.headerColumns },\n props: {\n tag: 'td'\n },\n on: ExpandTransitionGenerator('v-datatable__expand-col--expanded')\n }, children)\n\n return this.genTR([transition], { class: 'v-datatable__expand-row' })\n },\n genFilteredItems () {\n if (!this.$scopedSlots.items) {\n return null\n }\n\n const rows = []\n for (let index = 0, len = this.filteredItems.length; index < len; ++index) {\n const item = this.filteredItems[index]\n const props = this.createProps(item, index)\n const row = this.$scopedSlots.items(props)\n\n rows.push(this.hasTag(row, 'td')\n ? this.genTR(row, {\n key: this.itemKey ? getObjectValueByPath(props.item, this.itemKey) : index,\n attrs: { active: this.isSelected(item) }\n })\n : row)\n\n if (this.$scopedSlots.expand) {\n const expandRow = this.genExpandedRow(props)\n rows.push(expandRow)\n }\n }\n\n return rows\n },\n genEmptyItems (content) {\n if (this.hasTag(content, 'tr')) {\n return content\n } else if (this.hasTag(content, 'td')) {\n return this.genTR(content)\n } else {\n return this.genTR([this.$createElement('td', {\n class: {\n 'text-xs-center': typeof content === 'string'\n },\n attrs: { colspan: this.headerColumns }\n }, content)])\n }\n }\n }\n}\n","/* @vue/component */\nexport default {\n methods: {\n genTFoot () {\n if (!this.$slots.footer) {\n return null\n }\n\n const footer = this.$slots.footer\n const row = this.hasTag(footer, 'td') ? this.genTR(footer) : footer\n\n return this.$createElement('tfoot', [row])\n },\n genActionsFooter () {\n if (this.hideActions) {\n return null\n }\n\n return this.$createElement('div', {\n 'class': this.classes\n }, this.genActions())\n }\n }\n}\n","import { consoleWarn } from '../../../util/console'\n\nimport VCheckbox from '../../VCheckbox'\nimport VIcon from '../../VIcon'\n\n/* @vue/component */\nexport default {\n props: {\n sortIcon: {\n type: String,\n default: '$vuetify.icons.sort'\n }\n },\n\n methods: {\n genTHead () {\n if (this.hideHeaders) return // Exit Early since no headers are needed.\n\n let children = []\n\n if (this.$scopedSlots.headers) {\n const row = this.$scopedSlots.headers({\n headers: this.headers,\n indeterminate: this.indeterminate,\n all: this.everyItem\n })\n\n children = [this.hasTag(row, 'th') ? this.genTR(row) : row, this.genTProgress()]\n } else {\n const row = this.headers.map((o, i) => this.genHeader(o, this.headerKey ? o[this.headerKey] : i))\n const checkbox = this.$createElement(VCheckbox, {\n props: {\n dark: this.dark,\n light: this.light,\n color: this.selectAll === true ? '' : this.selectAll,\n hideDetails: true,\n inputValue: this.everyItem,\n indeterminate: this.indeterminate\n },\n on: { change: this.toggle }\n })\n\n this.hasSelectAll && row.unshift(this.$createElement('th', [checkbox]))\n\n children = [this.genTR(row), this.genTProgress()]\n }\n\n return this.$createElement('thead', [children])\n },\n genHeader (header, key) {\n const array = [\n this.$scopedSlots.headerCell\n ? this.$scopedSlots.headerCell({ header })\n : header[this.headerText]\n ]\n\n return this.$createElement('th', ...this.genHeaderData(header, array, key))\n },\n genHeaderData (header, children, key) {\n const classes = ['column']\n const data = {\n key,\n attrs: {\n role: 'columnheader',\n scope: 'col',\n width: header.width || null,\n 'aria-label': header[this.headerText] || '',\n 'aria-sort': 'none'\n }\n }\n\n if (header.sortable == null || header.sortable) {\n this.genHeaderSortingData(header, children, data, classes)\n } else {\n data.attrs['aria-label'] += ': Not sorted.' // TODO: Localization\n }\n\n classes.push(`text-xs-${header.align || 'left'}`)\n if (Array.isArray(header.class)) {\n classes.push(...header.class)\n } else if (header.class) {\n classes.push(header.class)\n }\n data.class = classes\n\n return [data, children]\n },\n genHeaderSortingData (header, children, data, classes) {\n if (!('value' in header)) {\n consoleWarn('Headers must have a value property that corresponds to a value in the v-model array', this)\n }\n\n data.attrs.tabIndex = 0\n data.on = {\n click: () => {\n this.expanded = {}\n this.sort(header.value)\n },\n keydown: e => {\n // check for space\n if (e.keyCode === 32) {\n e.preventDefault()\n this.sort(header.value)\n }\n }\n }\n\n classes.push('sortable')\n const icon = this.$createElement(VIcon, {\n props: {\n small: true\n }\n }, this.sortIcon)\n if (!header.align || header.align === 'left') {\n children.push(icon)\n } else {\n children.unshift(icon)\n }\n\n const pagination = this.computedPagination\n const beingSorted = pagination.sortBy === header.value\n if (beingSorted) {\n classes.push('active')\n if (pagination.descending) {\n classes.push('desc')\n data.attrs['aria-sort'] = 'descending'\n data.attrs['aria-label'] += ': Sorted descending. Activate to remove sorting.' // TODO: Localization\n } else {\n classes.push('asc')\n data.attrs['aria-sort'] = 'ascending'\n data.attrs['aria-label'] += ': Sorted ascending. Activate to sort descending.' // TODO: Localization\n }\n } else {\n data.attrs['aria-label'] += ': Not sorted. Activate to sort ascending.' // TODO: Localization\n }\n }\n }\n}\n","/* @vue/component */\nexport default {\n methods: {\n genTProgress () {\n const col = this.$createElement('th', {\n staticClass: 'column',\n attrs: {\n colspan: this.headerColumns\n }\n }, [this.genProgress()])\n\n return this.genTR([col], {\n staticClass: 'v-datatable__progress'\n })\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 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\nexport type DateEventColors = DateEventColorValue | Record | ((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 Picker\n/* @vue/component */\n).extend({\n name: 'v-date-picker',\n\n props: {\n allowedDates: Function as PropValidator,\n // Function formatting the day in date picker table\n dayFormat: Function as PropValidator,\n disabled: Boolean,\n events: {\n type: [Array, Function, Object],\n default: () => null\n } as any as PropValidator,\n eventColor: {\n type: [Array, Function, Object, String],\n default: () => 'warning'\n } as any as PropValidator,\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,\n locale: {\n type: String,\n default: 'en-us'\n },\n max: String,\n min: String,\n // Function formatting month in the months table\n monthFormat: Function as PropValidator,\n multiple: Boolean,\n nextIcon: {\n type: String,\n default: '$vuetify.icons.next'\n },\n pickerDate: String,\n prevIcon: {\n type: String,\n default: '$vuetify.icons.prev'\n },\n reactive: Boolean,\n readonly: Boolean,\n scrollable: Boolean,\n showCurrent: {\n type: [Boolean, String],\n default: true\n },\n showWeek: Boolean,\n // Function formatting currently selected date in the picker title\n titleDateFormat: Function as PropValidator,\n type: {\n type: String,\n default: 'date',\n validator: (type: any) => ['date', 'month'].includes(type) // TODO: year\n } as any as PropValidator,\n value: [Array, String] as PropValidator,\n weekdayFormat: Function as PropValidator,\n // Function formatting the year in table header and pickup title\n yearFormat: Function as PropValidator,\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.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 lastValue (): string | null {\n return this.multiple ? (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.multiple) {\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.locale, { year: 'numeric', timeZone: 'UTC' }, { length: 4 }),\n titleDate: this.titleDateFormat || (this.multiple ? this.defaultTitleMultipleDateFormatter : this.defaultTitleDateFormatter)\n }\n },\n defaultTitleMultipleDateFormatter (): DatePickerMultipleFormatter {\n if ((this.value as string[]).length < 2) {\n return dates => dates.length ? this.defaultTitleDateFormatter(dates[0]) : '0 selected'\n }\n\n return dates => `${dates.length} selected`\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.locale, 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(', ', ',
')\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:pickerDate', 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.multiple && this.value && !this.pickerDate) {\n this.tableDate = sanitizeDateString(this.inputDate, this.type === 'month' ? 'year' : 'month')\n } else if (this.multiple && (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.multiple ? (this.value as string[]) : [this.value as string])\n .map((val: string) => sanitizeDateString(val, type))\n .filter(this.isDateAllowed)\n this.$emit('input', this.multiple ? output : output[0])\n }\n }\n },\n\n created () {\n this.checkMultipleProp()\n\n if (this.pickerDate !== this.tableDate) {\n this.$emit('update:pickerDate', this.tableDate)\n }\n this.setInputDate()\n },\n\n methods: {\n emitInput (newInput: string) {\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.multiple ? 'Array' : 'String'\n if (valueType !== expected) {\n consoleWarn(`Value must be ${this.multiple ? '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.multiple && 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.multiple && 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.multiple ? (this.value as string[])[0] : this.value\n },\n slot: 'title',\n on: {\n 'update:selectingYear': (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 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 tableDate: (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 tableDate: (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\n },\n\n computed: {\n formatter (): DatePickerFormatter {\n return this.format || createNativeLocaleFormatter(this.locale, { day: 'numeric', timeZone: 'UTC' }, { start: 8, length: 2 })\n },\n weekdayFormatter (): DatePickerFormatter | undefined {\n return this.weekdayFormat || createNativeLocaleFormatter(this.locale, { 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","import '../../stylus/components/_date-picker-header.styl'\n\n// Components\nimport VBtn from '../VBtn'\nimport VIcon from '../VIcon'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\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 Themeable\n/* @vue/component */\n).extend({\n name: 'v-date-picker-header',\n\n props: {\n disabled: Boolean,\n format: Function as PropValidator,\n locale: {\n type: String,\n default: 'en-us'\n },\n min: String,\n max: String,\n nextIcon: {\n type: String,\n default: '$vuetify.icons.next'\n },\n prevIcon: {\n type: String,\n default: '$vuetify.icons.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.locale, { month: 'long', year: 'numeric', timeZone: 'UTC' }, { length: 7 })\n } else {\n return createNativeLocaleFormatter(this.locale, { 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.locale, { 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","import '../../stylus/components/_date-picker-title.styl'\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 || ' ' },\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","import '../../stylus/components/_date-picker-years.styl'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\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\n/* eslint-enable indent */\n>(\n Colorable\n/* @vue/component */\n).extend({\n name: 'v-date-picker-years',\n\n props: {\n format: Function as PropValidator,\n locale: {\n type: String,\n default: 'en-us'\n },\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.locale, { 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 {\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 '../../../stylus/components/_date-picker-table.styl'\n\n// Directives\nimport Touch, { TouchWrapper } from '../../../directives/touch'\n\n// Mixins\nimport Colorable from '../../../mixins/colorable'\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 Themeable\n/* @vue/component */\n).extend({\n directives: { Touch },\n\n props: {\n allowedDates: Function as PropValidator,\n current: String,\n disabled: Boolean,\n format: Function as PropValidator,\n events: {\n type: [Array, Function, Object],\n default: () => null\n } as any as PropValidator,\n eventColor: {\n type: [Array, Function, Object, String],\n default: () => 'warning'\n } as any as PropValidator,\n locale: {\n type: String,\n default: 'en-us'\n },\n min: String,\n max: String,\n readonly: Boolean,\n scrollable: Boolean,\n tableDate: {\n type: String,\n required: true\n },\n value: [String, Array]\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-btn--active': isSelected,\n 'v-btn--flat': !isSelected,\n 'v-btn--icon': isSelected && isAllowed && isFloating,\n 'v-btn--floating': isFloating,\n 'v-btn--depressed': !isFloating && isSelected,\n 'v-btn--disabled': !isAllowed || (this.disabled && isSelected),\n 'v-btn--outline': 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 = value === this.value || (Array.isArray(this.value) && this.value.indexOf(value) !== -1)\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('tableDate', calculateTableDate(e.deltaY))\n },\n touch (value: number, calculateTableDate: CalculateTableDateFunction) {\n this.$emit('tableDate', 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 }\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) &&\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","import '../../stylus/components/_dialogs.styl'\n\n// Mixins\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, getSlotType } from '../../util/helpers'\nimport ThemeProvider from '../../util/ThemeProvider'\nimport { consoleError } from '../../util/console'\n\n/* @vue/component */\nexport default {\n name: 'v-dialog',\n\n directives: {\n ClickOutside\n },\n\n mixins: [\n Dependent,\n Detachable,\n Overlayable,\n Returnable,\n Stackable,\n Toggleable\n ],\n\n props: {\n disabled: Boolean,\n persistent: Boolean,\n fullscreen: Boolean,\n fullWidth: Boolean,\n noClickAnimation: Boolean,\n light: Boolean,\n dark: Boolean,\n maxWidth: {\n type: [String, Number],\n default: 'none'\n },\n origin: {\n type: String,\n default: 'center center'\n },\n width: {\n type: [String, Number],\n default: 'auto'\n },\n scrollable: Boolean,\n transition: {\n type: [String, Boolean],\n default: 'dialog-transition'\n }\n },\n\n data () {\n return {\n animate: false,\n animateTimeout: null,\n stackClass: 'v-dialog__content--active',\n stackMinZIndex: 200\n }\n },\n\n computed: {\n classes () {\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 () {\n return {\n 'v-dialog__content': true,\n 'v-dialog__content--active': this.isActive\n }\n },\n hasActivator () {\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 beforeMount () {\n this.$nextTick(() => {\n this.isBooted = this.isActive\n this.isActive && this.show()\n })\n },\n\n mounted () {\n if (getSlotType(this, 'activator', true) === 'v-slot') {\n consoleError(`v-dialog's activator slot must be bound, try ''`, this)\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 clearTimeout(this.animateTimeout)\n this.animateTimeout = setTimeout(() => (this.animate = false), 150)\n })\n },\n closeConditional (e) {\n // If the dialog content contains\n // the click event, or if the\n // dialog is not active\n if (!this.isActive || this.$refs.content.contains(e.target)) return false\n\n // If we made it here, the click is outside\n // and is active. If persistent, and the\n // click is on the overlay, animate\n if (this.persistent) {\n if (!this.noClickAnimation &&\n this.overlay === e.target\n ) this.animateClick()\n\n return false\n }\n\n // close dialog if !persistent, clicked outside and we're the topmost dialog.\n // Since this should only be called in a capture event (bottom up), we shouldn't need to stop propagation\n return this.activeZIndex >= this.getMaxZIndex()\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.$refs.content.focus()\n this.bind()\n },\n bind () {\n window.addEventListener('focusin', this.onFocusin)\n },\n unbind () {\n window.removeEventListener('focusin', this.onFocusin)\n },\n onKeydown (e) {\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.focus())\n } else if (!this.noClickAnimation) {\n this.animateClick()\n }\n }\n this.$emit('keydown', e)\n },\n onFocusin (e) {\n const { target } = event\n\n if (\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].focus()\n }\n },\n getActivator (e) {\n if (this.$refs.activator) {\n return this.$refs.activator.children.length > 0\n ? this.$refs.activator.children[0]\n : this.$refs.activator\n }\n\n if (e) {\n this.activatedBy = e.currentTarget || e.target\n }\n\n if (this.activatedBy) return this.activatedBy\n\n if (this.activatorNode) {\n const activator = Array.isArray(this.activatorNode) ? this.activatorNode[0] : this.activatorNode\n const el = activator && activator.elm\n if (el) return el\n }\n\n consoleError('No activator found')\n },\n genActivator () {\n if (!this.hasActivator) return null\n\n const listeners = this.disabled ? {} : {\n click: e => {\n e.stopPropagation()\n this.getActivator(e)\n if (!this.disabled) this.isActive = !this.isActive\n }\n }\n\n if (getSlotType(this, 'activator') === 'scoped') {\n const activator = this.$scopedSlots.activator({ on: listeners })\n this.activatorNode = activator\n return activator\n }\n\n return this.$createElement('div', {\n staticClass: 'v-dialog__activator',\n class: {\n 'v-dialog__activator--disabled': this.disabled\n },\n ref: 'activator',\n on: listeners\n }, this.$slots.activator)\n }\n },\n\n render (h) {\n const children = []\n const data = {\n 'class': this.classes,\n ref: 'dialog',\n directives: [\n {\n name: 'click-outside',\n value: () => { this.isActive = false },\n args: {\n closeConditional: this.closeConditional,\n include: this.getOpenDependentElements\n }\n },\n { name: 'show', value: this.isActive }\n ],\n on: {\n click: e => { e.stopPropagation() }\n }\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.$slots.default))\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 tabIndex: '-1',\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 style: {\n display: (!this.hasActivator || this.fullWidth) ? 'block' : 'inline-block'\n }\n }, children)\n }\n}\n","import VDialog from './VDialog'\n\nexport { VDialog }\nexport default VDialog\n","// Styles\nimport '../../stylus/components/_dividers.styl'\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 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: this.$attrs,\n on: this.$listeners\n })\n }\n})\n","import VDivider from './VDivider'\n\nexport { VDivider }\nexport default VDivider\n","import '../../stylus/components/_expansion-panel.styl'\n\nimport { VExpansionPanelContent } from '.'\n\nimport Themeable from '../../mixins/themeable'\nimport { provide as RegistrableProvide } from '../../mixins/registrable'\n\nimport mixins from '../../util/mixins'\nimport { VNode } from 'vue'\nimport { PropValidator } from 'vue/types/options'\n\ntype VExpansionPanelContentInstance = InstanceType\n\n/* @vue/component */\nexport default mixins(Themeable, RegistrableProvide('expansionPanel')).extend({\n name: 'v-expansion-panel',\n\n provide (): object {\n return {\n expansionPanel: this\n }\n },\n\n props: {\n disabled: Boolean,\n readonly: Boolean,\n expand: Boolean,\n focusable: Boolean,\n inset: Boolean,\n popout: Boolean,\n value: {\n type: [Number, Array],\n default: () => null\n } as any as PropValidator\n },\n\n data: () => ({\n items: [] as VExpansionPanelContentInstance[],\n open: [] as boolean[]\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-expansion-panel--focusable': this.focusable,\n 'v-expansion-panel--popout': this.popout,\n 'v-expansion-panel--inset': this.inset,\n ...this.themeClasses\n }\n }\n },\n\n watch: {\n expand (v: boolean) {\n let openIndex = -1\n if (!v) {\n // Close all panels unless only one is open\n const openCount = this.open.reduce((acc, val) => val ? acc + 1 : acc, 0)\n const open = Array(this.items.length).fill(false)\n\n if (openCount === 1) {\n openIndex = this.open.indexOf(true)\n }\n\n if (openIndex > -1) {\n open[openIndex] = true\n }\n\n this.open = open\n }\n\n this.$emit('input', v ? this.open : (openIndex > -1 ? openIndex : null))\n },\n value (v: number | number[]) {\n this.updateFromValue(v)\n }\n },\n\n mounted () {\n this.value !== null && this.updateFromValue(this.value)\n },\n\n methods: {\n updateFromValue (v: number | number[]) {\n if (Array.isArray(v) && !this.expand) return\n\n let open = Array(this.items.length).fill(false)\n if (typeof v === 'number') {\n open[v] = true\n } else if (v !== null) {\n open = v\n }\n\n this.updatePanels(open)\n },\n updatePanels (open: boolean[]) {\n this.open = open\n for (let i = 0; i < this.items.length; i++) {\n this.items[i].toggle(open && open[i])\n }\n },\n panelClick (uid: number) {\n const open = this.expand ? this.open.slice() : Array(this.items.length).fill(false)\n for (let i = 0; i < this.items.length; i++) {\n if (this.items[i]._uid === uid) {\n open[i] = !this.open[i]\n !this.expand && this.$emit('input', open[i] ? i : null)\n }\n }\n\n this.updatePanels(open)\n if (this.expand) this.$emit('input', open)\n },\n register (content: VExpansionPanelContentInstance) {\n const i = this.items.push(content) - 1\n this.value !== null && this.updateFromValue(this.value)\n content.toggle(!!this.open[i])\n },\n unregister (content: VExpansionPanelContentInstance) {\n const index = this.items.findIndex(i => i._uid === content._uid)\n this.items.splice(index, 1)\n this.open.splice(index, 1)\n }\n },\n\n render (h): VNode {\n return h('ul', {\n staticClass: 'v-expansion-panel',\n class: this.classes\n }, this.$slots.default)\n }\n})\n","import { VExpandTransition } from '../transitions'\n\nimport Bootable from '../../mixins/bootable'\nimport Toggleable from '../../mixins/toggleable'\nimport Rippleable from '../../mixins/rippleable'\nimport { Registrable, inject as RegistrableInject } from '../../mixins/registrable'\n\nimport VIcon from '../VIcon'\nimport VExpansionPanel from './VExpansionPanel'\n\nimport mixins, { ExtractVue } from '../../util/mixins'\nimport Vue, { VNode } from 'vue'\n\nimport { consoleWarn } from '../../util/console'\n\ntype VExpansionPanelInstance = InstanceType\n\ninterface options extends Vue {\n expansionPanel: VExpansionPanelInstance\n}\n\nexport default mixins\n ]>\n/* eslint-enable indent */\n>(\n Bootable,\n Toggleable,\n Rippleable,\n RegistrableInject('expansionPanel', 'v-expansion-panel-content', 'v-expansion-panel')\n /* @vue/component */\n).extend({\n name: 'v-expansion-panel-content',\n\n props: {\n disabled: Boolean,\n readonly: Boolean,\n expandIcon: {\n type: String,\n default: '$vuetify.icons.expand'\n },\n hideActions: Boolean,\n ripple: {\n type: [Boolean, Object],\n default: false\n }\n },\n\n data: () => ({\n height: 'auto'\n }),\n\n computed: {\n containerClasses (): object {\n return {\n 'v-expansion-panel__container--active': this.isActive,\n 'v-expansion-panel__container--disabled': this.isDisabled\n }\n },\n isDisabled (): boolean {\n return this.expansionPanel.disabled || this.disabled\n },\n isReadonly (): boolean {\n return this.expansionPanel.readonly || this.readonly\n }\n },\n\n beforeMount () {\n this.expansionPanel.register(this)\n\n // Can be removed once fully deprecated\n if (typeof this.value !== 'undefined') consoleWarn('v-model has been deprecated', this)\n },\n\n beforeDestroy () {\n this.expansionPanel.unregister(this)\n },\n\n methods: {\n onKeydown (e: KeyboardEvent) {\n // Ensure element is the activeElement\n if (\n e.keyCode === 13 &&\n this.$el === document.activeElement\n ) this.expansionPanel.panelClick(this._uid)\n },\n onHeaderClick () {\n this.isReadonly || this.expansionPanel.panelClick(this._uid)\n },\n genBody () {\n return this.$createElement('div', {\n ref: 'body',\n class: 'v-expansion-panel__body',\n directives: [{\n name: 'show',\n value: this.isActive\n }]\n }, this.showLazyContent(this.$slots.default))\n },\n genHeader () {\n const children = [...(this.$slots.header || [])]\n\n if (!this.hideActions) children.push(this.genIcon())\n\n return this.$createElement('div', {\n staticClass: 'v-expansion-panel__header',\n directives: [{\n name: 'ripple',\n value: this.ripple\n }],\n on: {\n click: this.onHeaderClick\n }\n }, children)\n },\n genIcon () {\n const icon = this.$slots.actions ||\n [this.$createElement(VIcon, this.expandIcon)]\n\n return this.$createElement('transition', {\n attrs: { name: 'fade-transition' }\n }, [\n this.$createElement('div', {\n staticClass: 'v-expansion-panel__header__icon',\n directives: [{\n name: 'show',\n value: !this.isDisabled\n }]\n }, icon)\n ])\n },\n toggle (active: boolean) {\n if (active) this.isBooted = true\n\n this.$nextTick(() => (this.isActive = active))\n }\n },\n\n render (h): VNode {\n return h('li', {\n staticClass: 'v-expansion-panel__container',\n class: this.containerClasses,\n attrs: {\n tabindex: this.isReadonly || this.isDisabled ? null : 0,\n 'aria-expanded': Boolean(this.isActive)\n },\n on: {\n keydown: this.onKeydown\n }\n }, [\n this.$slots.header && this.genHeader(),\n h(VExpandTransition, [this.genBody()])\n ])\n }\n})\n","import VExpansionPanel from './VExpansionPanel'\nimport VExpansionPanelContent from './VExpansionPanelContent'\n\nexport { VExpansionPanel, VExpansionPanelContent }\n\nexport default {\n $_vuetify_subcomponents: {\n VExpansionPanel,\n VExpansionPanelContent\n }\n}\n","// Styles\nimport '../../stylus/components/_footer.styl'\n\n// Mixins\nimport Applicationable from '../../mixins/applicationable'\nimport Colorable from '../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\n\n/* @vue/component */\nexport default {\n name: 'v-footer',\n\n mixins: [\n Applicationable(null, [\n 'height',\n 'inset'\n ]),\n Colorable,\n Themeable\n ],\n\n props: {\n height: {\n default: 32,\n type: [Number, String]\n },\n inset: Boolean\n },\n\n computed: {\n applicationProperty () {\n return this.inset ? 'insetFooter' : 'footer'\n },\n computedMarginBottom () {\n if (!this.app) return\n\n return this.$vuetify.application.bottom\n },\n computedPaddingLeft () {\n return !this.app || !this.inset\n ? 0\n : this.$vuetify.application.left\n },\n computedPaddingRight () {\n return !this.app || !this.inset\n ? 0\n : this.$vuetify.application.right\n },\n styles () {\n const styles = {\n height: isNaN(this.height) ? this.height : `${this.height}px`\n }\n\n if (this.computedPaddingLeft) {\n styles.paddingLeft = `${this.computedPaddingLeft}px`\n }\n\n if (this.computedPaddingRight) {\n styles.paddingRight = `${this.computedPaddingRight}px`\n }\n\n if (this.computedMarginBottom) {\n styles.marginBottom = `${this.computedMarginBottom}px`\n }\n\n return styles\n }\n },\n\n methods: {\n /**\n * Update the application layout\n *\n * @return {number}\n */\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) {\n const data = this.setBackgroundColor(this.color, {\n staticClass: 'v-footer',\n 'class': {\n 'v-footer--absolute': this.absolute,\n 'v-footer--fixed': !this.absolute && (this.app || this.fixed),\n 'v-footer--inset': this.inset,\n ...this.themeClasses\n },\n style: this.styles,\n ref: 'content'\n })\n\n return h('footer', data, this.$slots.default)\n }\n}\n","import VFooter from './VFooter'\n\nexport { VFooter }\nexport default VFooter\n","// Styles\nimport '../../stylus/components/_forms.styl'\n\nimport { provide as RegistrableProvide } from '../../mixins/registrable'\n\n/* @vue/component */\nexport default {\n name: 'v-form',\n\n mixins: [RegistrableProvide('form')],\n\n inheritAttrs: false,\n\n props: {\n value: Boolean,\n lazyValidation: Boolean\n },\n\n data () {\n return {\n inputs: [],\n watchers: [],\n errorBag: {}\n }\n },\n\n watch: {\n errorBag: {\n handler () {\n const errors = Object.values(this.errorBag).includes(true)\n this.$emit('input', !errors)\n },\n deep: true,\n immediate: true\n }\n },\n\n methods: {\n watchInput (input) {\n const watcher = input => {\n return input.$watch('hasError', val => {\n this.$set(this.errorBag, input._uid, val)\n }, { immediate: true })\n }\n\n const watchers = {\n _uid: input._uid,\n valid: undefined,\n shouldValidate: undefined\n }\n\n if (this.lazyValidation) {\n // Only start watching inputs if we need to\n watchers.shouldValidate = input.$watch('shouldValidate', val => {\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 () {\n const errors = this.inputs.filter(input => !input.validate(true)).length\n return !errors\n },\n /** @public */\n reset () {\n for (let i = this.inputs.length; i--;) {\n this.inputs[i].reset()\n }\n if (this.lazyValidation) {\n // Account for timeout in validatable\n setTimeout(() => {\n this.errorBag = {}\n }, 0)\n }\n },\n /** @public */\n resetValidation () {\n for (let i = this.inputs.length; i--;) {\n this.inputs[i].resetValidation()\n }\n if (this.lazyValidation) {\n // Account for timeout in validatable\n setTimeout(() => {\n this.errorBag = {}\n }, 0)\n }\n },\n register (input) {\n const unwatch = this.watchInput(input)\n this.inputs.push(input)\n this.watchers.push(unwatch)\n },\n unregister (input) {\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 unwatch.valid && unwatch.valid()\n unwatch.shouldValidate && unwatch.shouldValidate()\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) {\n return h('form', {\n staticClass: 'v-form',\n attrs: Object.assign({\n novalidate: true\n }, this.$attrs),\n on: {\n submit: e => this.$emit('submit', e)\n }\n }, this.$slots.default)\n }\n}\n","import VForm from './VForm'\n\nexport { VForm }\nexport default VForm\n","import '../../stylus/components/_grid.styl'\n\nimport Grid from './grid'\n\nexport default Grid('container')\n","// Styles\nimport '../../stylus/components/_content.styl'\n\n// Mixins\nimport SSRBootable from '../../mixins/ssr-bootable'\n\n/* @vue/component */\nexport default {\n name: 'v-content',\n\n mixins: [SSRBootable],\n\n props: {\n tag: {\n type: String,\n default: 'main'\n }\n },\n\n computed: {\n styles () {\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) {\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 '../../stylus/components/_grid.styl'\n\nimport Grid from './grid'\n\nexport default Grid('flex')\n","import '../../stylus/components/_grid.styl'\n\nimport Grid from './grid'\n\nexport default Grid('layout')\n","export default function Grid (name) {\n /* @vue/component */\n return {\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 }) => {\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 {\n createSimpleFunctional\n} from '../../util/helpers'\nimport VContainer from './VContainer'\nimport VContent from './VContent'\nimport VFlex from './VFlex'\nimport VLayout from './VLayout'\n\nconst VSpacer = createSimpleFunctional('spacer', 'div', 'v-spacer')\n\nexport {\n VContainer,\n VContent,\n VFlex,\n VLayout,\n VSpacer\n}\n\nexport default {\n $_vuetify_subcomponents: {\n VContainer,\n VContent,\n VFlex,\n VLayout,\n VSpacer\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 if (this.$scopedSlots.default) {\n element = this.$scopedSlots.default({ hover: this.isActive })\n } else if (this.$slots.default && this.$slots.default.length === 1) {\n element = this.$slots.default[0]\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","import '../../stylus/components/_icons.styl'\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Sizeable from '../../mixins/sizeable'\nimport Themeable from '../../mixins/themeable'\n// Util\nimport { convertToUnit, keys, remapInternalIcon } from '../../util/helpers'\n// Types\nimport Vue, { CreateElement, VNode, VNodeChildren, VNodeData } from 'vue'\nimport mixins from '../../util/mixins'\nimport { VuetifyIcon, VuetifyIconComponent } from 'vuetify'\n\nenum SIZE_MAP {\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\nconst VIcon = mixins(\n Colorable,\n Sizeable,\n Themeable\n /* @vue/component */\n).extend({\n name: 'v-icon',\n\n props: {\n disabled: Boolean,\n left: Boolean,\n right: Boolean\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 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 (explicitSize && SIZE_MAP[explicitSize]) || convertToUnit(this.size)\n },\n // Component data for both font and svg icon.\n getDefaultData (): VNodeData {\n const data: VNodeData = {\n staticClass: 'v-icon',\n class: {\n 'v-icon--disabled': this.disabled,\n 'v-icon--left': this.left,\n 'v-icon--link': this.$listeners.click || this.$listeners['!click'],\n 'v-icon--right': this.right\n },\n attrs: {\n 'aria-hidden': true,\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('i', data, newChildren)\n },\n renderSvgIcon (icon: VuetifyIconComponent, h: CreateElement): 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 return this.renderFontIcon(icon, h)\n }\n\n return this.renderSvgIcon(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","import '../../stylus/components/_images.styl'\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 props: {\n alt: String,\n contain: Boolean,\n src: {\n type: [String, Object],\n default: ''\n } as PropValidator,\n gradient: String,\n lazySrc: String,\n srcset: String,\n sizes: String,\n position: {\n type: String,\n default: 'center center'\n },\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 }\n },\n\n computed: {\n computedAspectRatio (): number {\n return this.normalisedSrc.aspect\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 || this.calculatedAspectRatio)\n }\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 || this.calculatedAspectRatio)\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 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 if (!this.isLoading) this.init()\n else this.loadImage()\n },\n '$vuetify.breakpoint.width': 'getSrc'\n },\n\n mounted () {\n this.init()\n },\n\n methods: {\n init () {\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.calculatedAspectRatio = naturalWidth / naturalHeight\n } else {\n timeout != null && setTimeout(poll, timeout)\n }\n }\n\n poll()\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 attrs: { name: this.transition }\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 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","// Styles\nimport '../../stylus/components/_inputs.styl'\n\n// Components\nimport VIcon from '../VIcon'\nimport VLabel from '../VLabel'\nimport VMessages from '../VMessages'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\nimport Validatable from '../../mixins/validatable'\n\n// Utilities\nimport {\n convertToUnit,\n kebabCase\n} from '../../util/helpers'\nimport { deprecate } from '../../util/console'\nimport mixins, { ExtractVue } from '../../util/mixins'\n\n// Types\nimport Vue, { VNode, VNodeData } from 'vue'\ninterface options extends Vue {\n /* eslint-disable-next-line camelcase */\n $_modelEvent: string\n}\n\nexport default mixins\n/* eslint-enable indent */\n>(\n Colorable,\n Themeable,\n Validatable\n /* @vue/component */\n).extend({\n name: 'v-input',\n\n props: {\n appendIcon: String,\n /** @deprecated */\n appendIconCb: Function,\n backgroundColor: {\n type: String,\n default: ''\n },\n height: [Number, String],\n hideDetails: Boolean,\n hint: String,\n label: String,\n loading: Boolean,\n persistentHint: Boolean,\n prependIcon: String,\n /** @deprecated */\n prependIconCb: Function,\n value: { required: false }\n },\n\n data () {\n return {\n attrsInput: {},\n lazyValue: this.value as any,\n hasMouseDown: false\n }\n },\n\n computed: {\n classes: () => ({}),\n classesInput (): object {\n return {\n ...this.classes,\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 ...this.themeClasses\n }\n },\n directivesInput () {\n return []\n },\n hasHint () {\n return !this.hasMessages &&\n this.hint &&\n (this.persistentHint || this.isFocused)\n },\n hasLabel () {\n return Boolean(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 () {\n return this.lazyValue\n },\n set (val: any) {\n this.lazyValue = val\n this.$emit(this.$_modelEvent, val)\n }\n },\n isDirty () {\n return !!this.lazyValue\n },\n isDisabled () {\n return Boolean(this.disabled || this.readonly)\n },\n isLabelActive () {\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 // TODO: remove shouldDeprecate (2.0), used for clearIcon\n genIcon (\n type: string,\n cb?: (e: Event) => void,\n shouldDeprecate = true\n ) {\n const icon = (this as any)[`${type}Icon`]\n const eventName = `click:${kebabCase(type)}`\n cb = cb || (this as any)[`${type}IconCb`]\n\n if (shouldDeprecate && type && cb) {\n deprecate(`:${type}-icon-cb`, `@${eventName}`, this)\n }\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 mouseup 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 directives: this.directivesInput,\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.$attrs.id,\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 })\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 attrs: this.attrsInput,\n 'class': this.classesInput\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 { VNode, ScopedSlotChildren } from 'vue/types/vnode'\n\nexport default mixins(\n GroupableFactory('itemGroup', 'v-item', 'v-item-group')\n /* @vue/component */\n).extend({\n name: 'v-item',\n\n props: {\n value: {\n required: false\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","// Styles\nimport '../../stylus/components/_item-group.styl'\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\ntype GroupableInstance = InstanceType & { value?: any }\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 {\n return {\n ...this.themeClasses\n }\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 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 getValue (item: GroupableInstance, i: number): unknown {\n return item.value == null || item.value === ''\n ? i\n : item.value\n },\n onClick (item: GroupableInstance, index: number) {\n this.updateInternalValue(\n this.getValue(item, index)\n )\n },\n register (item: GroupableInstance) {\n const index = this.items.push(item) - 1\n\n item.$on('change', () => this.onClick(item, index))\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 index = last ? this.items.length - 1 : 0\n\n this.updateInternalValue(\n this.getValue(this.items[index], 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', {\n staticClass: 'v-item-group',\n class: this.classes\n }, 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","import '../../stylus/components/_jumbotrons.styl'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Routable from '../../mixins/routable'\nimport Themeable from '../../mixins/themeable'\n\n// Utils\nimport { deprecate } from '../../util/console'\n\n/* @vue/component */\nexport default {\n name: 'v-jumbotron',\n\n mixins: [\n Colorable,\n Routable,\n Themeable\n ],\n\n props: {\n gradient: String,\n height: {\n type: [Number, String],\n default: '400px'\n },\n src: String,\n tag: {\n type: String,\n default: 'div'\n }\n },\n\n computed: {\n backgroundStyles () {\n const styles = {}\n\n if (this.gradient) {\n styles.background = `linear-gradient(${this.gradient})`\n }\n\n return styles\n },\n classes () {\n return this.themeClasses\n },\n styles () {\n return {\n height: this.height\n }\n }\n },\n\n mounted () {\n deprecate('v-jumbotron', this.src ? 'v-img' : 'v-responsive', this)\n },\n\n methods: {\n genBackground () {\n return this.$createElement('div', this.setBackgroundColor(this.color, {\n staticClass: 'v-jumbotron__background',\n style: this.backgroundStyles\n }))\n },\n genContent () {\n return this.$createElement('div', {\n staticClass: 'v-jumbotron__content'\n }, this.$slots.default)\n },\n genImage () {\n if (!this.src) return null\n if (this.$slots.img) return this.$slots.img({ src: this.src })\n\n return this.$createElement('img', {\n staticClass: 'v-jumbotron__image',\n attrs: { src: this.src }\n })\n },\n genWrapper () {\n return this.$createElement('div', {\n staticClass: 'v-jumbotron__wrapper'\n }, [\n this.genImage(),\n this.genBackground(),\n this.genContent()\n ])\n }\n },\n\n render (h) {\n const { tag, data } = this.generateRouteLink(this.classes)\n data.staticClass = 'v-jumbotron'\n data.style = this.styles\n\n return h(tag, data, [this.genWrapper()])\n }\n}\n","import VJumbotron from './VJumbotron'\n\nexport { VJumbotron }\nexport default VJumbotron\n","// Styles\nimport '../../stylus/components/_labels.styl'\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 }\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","// Styles\nimport '../../stylus/components/_lists.styl'\nimport VListGroup from './VListGroup'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\nimport { provide as RegistrableProvide } from '../../mixins/registrable'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { VNode } from 'vue'\n\ntype VListGroupInstance = InstanceType\n\nexport default mixins(\n RegistrableProvide('list'),\n Themeable\n /* @vue/component */\n).extend({\n name: 'v-list',\n\n provide (): object {\n return {\n listClick: this.listClick\n }\n },\n\n props: {\n dense: Boolean,\n expand: Boolean,\n subheader: Boolean,\n threeLine: Boolean,\n twoLine: Boolean\n },\n\n data: () => ({\n groups: [] as VListGroupInstance[]\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-list--dense': this.dense,\n 'v-list--subheader': this.subheader,\n 'v-list--two-line': this.twoLine,\n 'v-list--three-line': this.threeLine,\n ...this.themeClasses\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 attrs: {\n role: 'list'\n }\n }\n\n return h('div', data, [this.$slots.default])\n }\n})\n","// Components\nimport VIcon from '../VIcon'\nimport VList from './VList'\n\n// Mixins\nimport Bootable from '../../mixins/bootable'\nimport Toggleable from '../../mixins/toggleable'\nimport { Registrable, inject as RegistrableInject } from '../../mixins/registrable'\nimport { Route } from 'vue-router'\n\n// Transitions\nimport { VExpandTransition } from '../transitions'\n\n// Utils\nimport mixins, { ExtractVue } from '../../util/mixins'\n\n// Types\nimport Vue, { VNode } from 'vue'\n\ntype VListInstance = InstanceType\n\ninterface options extends Vue {\n list: VListInstance\n listClick: Function\n $route: Route\n}\n\nexport default mixins\n ]>\n/* eslint-enable indent */\n>(\n Bootable,\n RegistrableInject('list', 'v-list-group', 'v-list'),\n Toggleable\n /* @vue/component */\n).extend({\n name: 'v-list-group',\n\n inject: ['listClick'],\n\n props: {\n activeClass: {\n type: String,\n default: 'primary--text'\n },\n appendIcon: {\n type: String,\n default: '$vuetify.icons.expand'\n },\n disabled: Boolean,\n group: String,\n noAction: Boolean,\n prependIcon: String,\n subGroup: Boolean\n },\n\n data: () => ({\n groups: []\n }),\n\n computed: {\n groupClasses (): object {\n return {\n 'v-list__group--active': this.isActive,\n 'v-list__group--disabled': this.disabled\n }\n },\n headerClasses (): object {\n return {\n 'v-list__group__header--active': this.isActive,\n 'v-list__group__header--sub-group': this.subGroup\n }\n },\n itemsClasses (): object {\n return {\n 'v-list__group__items--no-action': this.noAction\n }\n }\n },\n\n watch: {\n isActive (val) {\n if (!this.subGroup && val) {\n this.listClick(this._uid)\n }\n },\n $route (to) {\n const isActive = this.matchRoute(to.path)\n\n if (this.group) {\n if (isActive && this.isActive !== isActive) {\n this.listClick(this._uid)\n }\n\n this.isActive = isActive\n }\n }\n },\n\n mounted () {\n 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.unregister(this._uid)\n },\n\n methods: {\n click (e: Event) {\n if (this.disabled) return\n\n this.$emit('click', e)\n\n this.isActive = !this.isActive\n },\n genIcon (icon: string | false): VNode {\n return this.$createElement(VIcon, icon)\n },\n genAppendIcon () {\n const icon = !this.subGroup ? this.appendIcon : false\n\n if (!icon && !this.$slots.appendIcon) return null\n\n return this.$createElement('div', {\n staticClass: 'v-list__group__header__append-icon'\n }, [\n this.$slots.appendIcon || this.genIcon(icon)\n ])\n },\n genGroup () {\n return this.$createElement('div', {\n staticClass: 'v-list__group__header',\n class: this.headerClasses,\n on: {\n ...this.$listeners,\n click: this.click\n },\n ref: 'item'\n }, [\n this.genPrependIcon(),\n this.$slots.activator,\n this.genAppendIcon()\n ])\n },\n genItems () {\n return this.$createElement('div', {\n staticClass: 'v-list__group__items',\n class: this.itemsClasses,\n directives: [{\n name: 'show',\n value: this.isActive\n }],\n ref: 'group'\n }, this.showLazyContent(this.$slots.default))\n },\n genPrependIcon () {\n const icon = this.prependIcon\n ? this.prependIcon\n : this.subGroup\n ? '$vuetify.icons.subgroup'\n : false\n\n if (!icon && !this.$slots.prependIcon) return null\n\n return this.$createElement('div', {\n staticClass: 'v-list__group__header__prepend-icon',\n 'class': {\n [this.activeClass]: this.isActive\n }\n }, [\n this.$slots.prependIcon || this.genIcon(icon)\n ])\n },\n toggle (uid: number) {\n this.isActive = this._uid === uid\n },\n matchRoute (to: string) {\n if (!this.group) return false\n return to.match(this.group) !== null\n }\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-list__group',\n class: this.groupClasses\n }, [\n this.genGroup(),\n h(VExpandTransition, [this.genItems()])\n ])\n }\n})\n","// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Routable from '../../mixins/routable'\nimport Toggleable from '../../mixins/toggleable'\nimport Themeable from '../../mixins/themeable'\n\n// Directives\nimport Ripple from '../../directives/ripple'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { VNode } from 'vue'\n\n/* @vue/component */\nexport default mixins(\n Colorable,\n Routable,\n Toggleable,\n Themeable\n).extend({\n name: 'v-list-tile',\n\n directives: {\n Ripple\n },\n\n inheritAttrs: false,\n\n props: {\n activeClass: {\n type: String,\n default: 'primary--text'\n },\n avatar: Boolean,\n inactive: Boolean,\n tag: String\n },\n\n data: () => ({\n proxyClass: 'v-list__tile--active'\n }),\n\n computed: {\n listClasses (): object | undefined {\n return this.disabled\n ? { 'v-list--disabled': true }\n : undefined\n },\n classes (): object {\n return {\n 'v-list__tile': true,\n 'v-list__tile--link': this.isLink && !this.inactive,\n 'v-list__tile--avatar': this.avatar,\n 'v-list__tile--disabled': this.disabled,\n 'v-list__tile--active': !this.to && this.isActive,\n ...this.themeClasses,\n [this.activeClass]: this.isActive\n }\n },\n isLink (): boolean {\n const hasClick = this.$listeners && (this.$listeners.click || this.$listeners['!click'])\n\n return Boolean(\n this.href ||\n this.to ||\n hasClick\n )\n }\n },\n\n render (h): VNode {\n const isRouteLink = !this.inactive && this.isLink\n const { tag, data } = isRouteLink ? this.generateRouteLink(this.classes) : {\n tag: this.tag || 'div',\n data: {\n class: this.classes\n }\n }\n\n data.attrs = Object.assign({}, data.attrs, this.$attrs)\n\n return h('div', this.setTextColor(!this.disabled && this.color, {\n class: this.listClasses,\n attrs: {\n disabled: this.disabled,\n role: 'listitem'\n }\n }), [h(tag, data, this.$slots.default)])\n }\n})\n","// Types\nimport Vue, { VNode } from 'vue'\n\n/* @vue/component */\nexport default Vue.extend({\n name: 'v-list-tile-action',\n\n functional: true,\n\n render (h, { data, children = [] }): VNode {\n data.staticClass = data.staticClass ? `v-list__tile__action ${data.staticClass}` : 'v-list__tile__action'\n const filteredChild = children.filter(VNode => {\n return VNode.isComment === false && VNode.text !== ' '\n })\n if (filteredChild.length > 1) data.staticClass += ' v-list__tile__action--stack'\n\n return h('div', data, children)\n }\n})\n","// Components\nimport VAvatar from '../VAvatar'\n\n// Types\nimport Vue, { VNode } from 'vue'\n\n/* @vue/component */\nexport default Vue.extend({\n name: 'v-list-tile-avatar',\n\n functional: true,\n\n props: {\n color: String,\n size: {\n type: [Number, String],\n default: 40\n },\n tile: Boolean\n },\n\n render (h, { data, children, props }): VNode {\n data.staticClass = (`v-list__tile__avatar ${data.staticClass || ''}`).trim()\n\n const avatar = h(VAvatar, {\n props: {\n color: props.color,\n size: props.size,\n tile: props.tile\n }\n }, [children])\n\n return h('div', data, [avatar])\n }\n})\n","import { createSimpleFunctional } from '../../util/helpers'\n\nimport VList from './VList'\nimport VListGroup from './VListGroup'\nimport VListTile from './VListTile'\nimport VListTileAction from './VListTileAction'\nimport VListTileAvatar from './VListTileAvatar'\n\nexport { VList, VListGroup, VListTile, VListTileAction, VListTileAvatar }\nexport const VListTileActionText = createSimpleFunctional('v-list__tile__action-text', 'span')\nexport const VListTileContent = createSimpleFunctional('v-list__tile__content', 'div')\nexport const VListTileTitle = createSimpleFunctional('v-list__tile__title', 'div')\nexport const VListTileSubTitle = createSimpleFunctional('v-list__tile__sub-title', 'div')\n\nexport default {\n $_vuetify_subcomponents: {\n VList,\n VListGroup,\n VListTile,\n VListTileAction,\n VListTileActionText,\n VListTileAvatar,\n VListTileContent,\n VListTileSubTitle,\n VListTileTitle\n }\n}\n","import '../../stylus/components/_menus.styl'\n\nimport Vue from 'vue'\n\n// Mixins\nimport Delayable from '../../mixins/delayable'\nimport Dependent from '../../mixins/dependent'\nimport Detachable from '../../mixins/detachable'\nimport Menuable from '../../mixins/menuable.js'\nimport Returnable from '../../mixins/returnable'\nimport Toggleable from '../../mixins/toggleable'\nimport Themeable from '../../mixins/themeable'\n\n// Component level mixins\nimport Activator from './mixins/menu-activator'\nimport Generators from './mixins/menu-generators'\nimport Keyable from './mixins/menu-keyable'\nimport Position from './mixins/menu-position'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\nimport Resize from '../../directives/resize'\n\n// Helpers\nimport { convertToUnit, getSlotType } from '../../util/helpers'\nimport ThemeProvider from '../../util/ThemeProvider'\nimport { consoleError } from '../../util/console'\n\n/* @vue/component */\nexport default Vue.extend({\n name: 'v-menu',\n\n provide () {\n return {\n // Pass theme through to default slot\n theme: this.theme\n }\n },\n\n directives: {\n ClickOutside,\n Resize\n },\n\n mixins: [\n Activator,\n Dependent,\n Delayable,\n Detachable,\n Generators,\n Keyable,\n Menuable,\n Position,\n Returnable,\n Toggleable,\n Themeable\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 fullWidth: Boolean,\n maxHeight: { default: 'auto' },\n openOnClick: {\n type: Boolean,\n default: true\n },\n offsetX: Boolean,\n offsetY: Boolean,\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 defaultOffset: 8,\n hasJustFocused: false,\n resizeTimeout: null\n }\n },\n\n computed: {\n calculatedLeft () {\n const menuWidth = Math.max(this.dimensions.content.width, parseFloat(this.calculatedMinWidth))\n\n if (!this.auto) return this.calcLeft(menuWidth)\n\n return `${this.calcXOverflow(this.calcLeftAuto(), menuWidth)}px`\n },\n calculatedMaxHeight () {\n return this.auto ? '200px' : convertToUnit(this.maxHeight)\n },\n calculatedMaxWidth () {\n return isNaN(this.maxWidth)\n ? this.maxWidth\n : `${this.maxWidth}px`\n },\n calculatedMinWidth () {\n if (this.minWidth) {\n return isNaN(this.minWidth)\n ? this.minWidth\n : `${this.minWidth}px`\n }\n\n const minWidth = Math.min(\n this.dimensions.activator.width +\n 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 `${Math.min(\n calculatedMaxWidth,\n minWidth\n )}px`\n },\n calculatedTop () {\n if (!this.auto || this.isAttached) return this.calcTop()\n\n return `${this.calcYOverflow(this.calculatedTopAuto)}px`\n },\n styles () {\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 activator (newActivator, oldActivator) {\n this.removeActivatorEvents(oldActivator)\n this.addActivatorEvents(newActivator)\n },\n disabled (disabled) {\n if (!this.activator) return\n\n if (disabled) {\n this.removeActivatorEvents(this.activator)\n } else {\n this.addActivatorEvents(this.activator)\n }\n },\n isContentActive (val) {\n this.hasJustFocused = val\n }\n },\n\n mounted () {\n this.isActive && this.activate()\n\n if (getSlotType(this, 'activator', true) === 'v-slot') {\n consoleError(`v-tooltip's activator slot must be bound, try ''`, this)\n }\n },\n\n methods: {\n activate () {\n // This exists primarily for v-select\n // helps determine which tiles to activate\n this.getTiles()\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 closeConditional (e) {\n return this.isActive &&\n this.closeOnClick &&\n !this.$refs.content.contains(e.target)\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 = setTimeout(this.updateDimensions, 100)\n }\n },\n\n render (h) {\n const data = {\n staticClass: 'v-menu',\n class: { 'v-menu--inline': !this.fullWidth && this.$slots.activator },\n directives: [{\n arg: 500,\n name: 'resize',\n value: this.onResize\n }],\n on: this.disableKeys ? undefined : {\n keydown: this.onKeyDown\n }\n }\n\n return h('div', data, [\n 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","/**\n * Menu activator\n *\n * @mixin\n *\n * Handles the click and hover activation\n * Supports slotted and detached activators\n */\n/* @vue/component */\nexport default {\n methods: {\n activatorClickHandler (e) {\n if (this.openOnClick && !this.isActive) {\n this.getActivator(e).focus()\n this.isActive = true\n this.absoluteX = e.clientX\n this.absoluteY = e.clientY\n } else if (this.closeOnClick && this.isActive) {\n this.getActivator(e).blur()\n this.isActive = false\n }\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) {\n // Prevent accidental re-activation\n this.runDelay('close', () => {\n if (this.$refs.content.contains(e.relatedTarget)) return\n\n requestAnimationFrame(() => {\n this.isActive = false\n this.callDeactivate()\n })\n })\n },\n addActivatorEvents (activator = null) {\n if (!activator || this.disabled) return\n activator.addEventListener('click', this.activatorClickHandler)\n },\n removeActivatorEvents (activator = null) {\n if (!activator) return\n activator.removeEventListener('click', this.activatorClickHandler)\n }\n }\n}\n","import { getSlotType } from '../../../util/helpers'\n\n/* @vue/component */\nexport default {\n methods: {\n genActivator () {\n if (!this.$slots.activator && !this.$scopedSlots.activator) return null\n\n const listeners = {}\n\n if (!this.disabled) {\n if (this.openOnHover) {\n listeners.mouseenter = this.mouseEnterHandler\n listeners.mouseleave = this.mouseLeaveHandler\n } else if (this.openOnClick) {\n listeners.click = this.activatorClickHandler\n }\n }\n\n if (getSlotType(this, 'activator') === 'scoped') {\n listeners.keydown = this.onKeyDown\n const activator = this.$scopedSlots.activator({ on: listeners })\n this.activatorNode = activator\n return activator\n }\n\n return this.$createElement('div', {\n staticClass: 'v-menu__activator',\n 'class': {\n 'v-menu__activator--active': this.hasJustFocused || this.isActive,\n 'v-menu__activator--disabled': this.disabled\n },\n ref: 'activator',\n on: listeners\n }, this.$slots.activator)\n },\n\n genTransition () {\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\n genDirectives () {\n // Do not add click outside for hover menu\n const directives = !this.openOnHover && this.closeOnClick ? [{\n name: 'click-outside',\n value: () => { this.isActive = false },\n args: {\n closeConditional: this.closeConditional,\n include: () => [this.$el, ...this.getOpenDependentElements()]\n }\n }] : []\n\n directives.push({\n name: 'show',\n value: this.isContentActive\n })\n\n return directives\n },\n\n genContent () {\n const options = {\n attrs: this.getScopeIdAttrs(),\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 => {\n e.stopPropagation()\n if (e.target.getAttribute('disabled')) return\n if (this.closeOnContentClick) this.isActive = false\n },\n keydown: this.onKeyDown\n }\n }\n\n !this.disabled && this.openOnHover && (options.on.mouseenter = this.mouseEnterHandler)\n this.openOnHover && (options.on.mouseleave = this.mouseLeaveHandler)\n\n return this.$createElement('div', options, this.showLazyContent(this.$slots.default))\n }\n }\n}\n","/**\n * Menu keyable\n *\n * @mixin\n *\n * Primarily used to support VSelect\n * Handles opening and closing of VMenu from keystrokes\n * Will conditionally highlight VListTiles for VSelect\n */\n\n// Utils\nimport { keyCodes } from '../../../util/helpers'\n\n/* @vue/component */\nexport default {\n props: {\n disableKeys: Boolean\n },\n\n data: () => ({\n listIndex: -1,\n tiles: []\n }),\n\n watch: {\n isActive (val) {\n if (!val) this.listIndex = -1\n },\n listIndex (next, prev) {\n if (next in this.tiles) {\n const tile = this.tiles[next]\n tile.classList.add('v-list__tile--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__tile--highlighted')\n }\n },\n\n methods: {\n onKeyDown (e) {\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 (e.keyCode === keyCodes.tab) {\n setTimeout(() => {\n if (!this.$refs.content.contains(document.activeElement)) {\n this.isActive = false\n }\n })\n } else {\n this.changeListIndex(e)\n }\n },\n changeListIndex (e) {\n // For infinite scroll and autocomplete, re-evaluate children\n this.getTiles()\n\n if (e.keyCode === keyCodes.down && this.listIndex < this.tiles.length - 1) {\n this.listIndex++\n // Allow user to set listIndex to -1 so\n // that the list can be un-highlighted\n } else if (e.keyCode === keyCodes.up && this.listIndex > -1) {\n this.listIndex--\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 getTiles () {\n this.tiles = this.$refs.content.querySelectorAll('.v-list__tile')\n }\n }\n}\n","/**\n * Menu position\n *\n * @mixin\n *\n * Used for calculating an automatic position (used for VSelect)\n * Will position the VMenu content properly over the VSelect\n */\n/* @vue/component */\nexport default {\n data: () => ({\n calculatedTopAuto: 0\n }),\n methods: {\n calcScrollPosition () {\n const $el = this.$refs.content\n const activeTile = $el.querySelector('.v-list__tile--active')\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 if (this.isAttached) return 0\n\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__tile--active')\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__tile').offsetTop\n\n return this.computedTop - tileDistanceFromMenuTop - firstTileOffsetTop\n }\n }\n}\n","// Styles\nimport '../../stylus/components/_messages.styl'\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/* @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\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 return this.$createElement('div', {\n staticClass: 'v-messages__message',\n key,\n domProps: {\n innerHTML: message\n }\n })\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","// Styles\nimport '../../stylus/components/_navigation-drawer.styl'\n\n// Mixins\nimport Applicationable from '../../mixins/applicationable'\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 } from '../../util/helpers'\nimport mixins from '../../util/mixins'\n\n// TYpes\nimport { VNode } from 'vue/types/vnode'\nimport { PropValidator } from 'vue/types/options'\n\nexport default mixins(\n Applicationable('left', [\n 'miniVariant',\n 'right',\n 'width'\n ]),\n Dependent,\n Overlayable,\n SSRBootable,\n Themeable\n/* @vue/component */\n).extend({\n name: 'v-navigation-drawer',\n\n directives: {\n ClickOutside,\n Resize,\n Touch\n },\n\n props: {\n clipped: Boolean,\n disableRouteWatcher: Boolean,\n disableResizeWatcher: Boolean,\n height: {\n type: [Number, String],\n default: '100%'\n },\n floating: Boolean,\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 stateless: Boolean,\n temporary: Boolean,\n touchless: Boolean,\n width: {\n type: [Number, String],\n default: 300\n },\n value: { required: false } as PropValidator\n },\n\n data: () => ({\n isActive: false,\n touchArea: {\n left: 0,\n right: 0\n }\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 calculatedTransform (): number {\n if (this.isActive) return 0\n\n return this.right\n ? this.calculatedWidth\n : -this.calculatedWidth\n },\n calculatedWidth (): number {\n return parseInt(\n this.miniVariant\n ? this.miniVariantWidth\n : this.width\n )\n },\n classes (): object {\n return {\n 'v-navigation-drawer': true,\n 'v-navigation-drawer--absolute': this.absolute,\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--mini-variant': this.miniVariant,\n 'v-navigation-drawer--open': this.isActive,\n 'v-navigation-drawer--right': this.right,\n 'v-navigation-drawer--temporary': this.temporary,\n ...this.themeClasses\n }\n },\n hasApp (): boolean {\n return this.app &&\n (!this.isMobile && !this.temporary)\n },\n isMobile (): boolean {\n return !this.stateless &&\n !this.permanent &&\n !this.temporary &&\n this.$vuetify.breakpoint.width < parseInt(this.mobileBreakPoint, 10)\n },\n marginTop (): number {\n if (!this.hasApp) return 0\n\n let marginTop = this.$vuetify.application.bar\n\n marginTop += this.clipped\n ? this.$vuetify.application.top\n : 0\n\n return marginTop\n },\n maxHeight (): number | null {\n if (!this.hasApp) return null\n\n const maxHeight = (\n this.$vuetify.application.bottom +\n this.$vuetify.application.footer +\n this.$vuetify.application.bar\n )\n\n if (!this.clipped) return maxHeight\n\n return maxHeight + this.$vuetify.application.top\n },\n reactsToClick (): boolean {\n return !this.stateless &&\n !this.permanent &&\n (this.isMobile || this.temporary)\n },\n reactsToMobile (): boolean {\n return !this.disableResizeWatcher &&\n !this.stateless &&\n !this.permanent &&\n !this.temporary\n },\n reactsToRoute (): boolean {\n return !this.disableRouteWatcher &&\n !this.stateless &&\n (this.temporary || this.isMobile)\n },\n resizeIsDisabled (): boolean {\n return this.disableResizeWatcher || this.stateless\n },\n showOverlay (): boolean {\n return this.isActive &&\n (this.isMobile || this.temporary)\n },\n styles (): object {\n const styles = {\n height: convertToUnit(this.height),\n marginTop: `${this.marginTop}px`,\n maxHeight: this.maxHeight != null ? `calc(100% - ${+this.maxHeight}px)` : undefined,\n transform: `translateX(${this.calculatedTransform}px)`,\n width: `${this.calculatedWidth}px`\n }\n\n return styles\n }\n },\n\n watch: {\n $route () {\n if (this.reactsToRoute && this.closeConditional()) {\n this.isActive = false\n }\n },\n isActive (val) {\n this.$emit('input', val)\n this.callUpdate()\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.resizeIsDisabled ||\n !this.reactsToMobile\n ) return\n\n this.isActive = !val\n this.callUpdate()\n },\n permanent (val) {\n // If enabling prop enable the drawer\n if (val) {\n this.isActive = true\n }\n this.callUpdate()\n },\n showOverlay (val) {\n if (val) this.genOverlay()\n else this.removeOverlay()\n },\n temporary () {\n this.callUpdate()\n },\n value (val) {\n if (this.permanent) return\n\n // TODO: referring to this directly causes type errors\n // all over the place for some reason\n const _this = this as any\n if (val == null) return _this.init()\n\n if (val !== this.isActive) this.isActive = val\n }\n },\n\n beforeMount () {\n this.init()\n },\n\n methods: {\n calculateTouchArea () {\n if (!this.$el.parentNode) return\n const parentRect = (this.$el.parentNode as Element).getBoundingClientRect()\n\n this.touchArea = {\n left: parentRect.left + 50,\n right: parentRect.right - 50\n }\n },\n closeConditional () {\n return this.isActive && this.reactsToClick\n },\n genDirectives () {\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 !this.touchless && directives.push({\n name: 'touch',\n value: {\n parent: true,\n left: this.swipeLeft,\n right: this.swipeRight\n }\n } as any)\n\n return directives\n },\n /**\n * Sets state before mount to avoid\n * entry transitions in SSR\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 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 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 /**\n * Update the application layout\n */\n updateApplication () {\n return !this.isActive ||\n this.temporary ||\n this.isMobile\n ? 0\n : this.calculatedWidth\n }\n },\n\n render (h): VNode {\n const data = {\n 'class': this.classes,\n style: this.styles,\n directives: this.genDirectives(),\n on: {\n click: () => {\n if (!this.miniVariant) return\n\n this.$emit('update:miniVariant', false)\n },\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\n return h('aside', data, [\n this.$slots.default,\n h('div', { 'class': 'v-navigation-drawer__border' })\n ])\n }\n})\n","import VNavigationDrawer from './VNavigationDrawer'\n\nexport { VNavigationDrawer }\nexport default VNavigationDrawer\n","// Styles\nimport '../../stylus/components/_overflow-buttons.styl'\n\n// Extensions\nimport VSelect from '../VSelect/VSelect'\nimport VAutocomplete from '../VAutocomplete'\nimport VTextField from '../VTextField/VTextField'\n\nimport VBtn from '../VBtn'\n\nimport { consoleWarn } from '../../util/console'\n\n/* @vue/component */\nexport default VAutocomplete.extend({\n name: 'v-overflow-btn',\n\n props: {\n segmented: Boolean,\n editable: Boolean,\n transition: VSelect.options.props.transition\n },\n\n computed: {\n classes () {\n return Object.assign(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 () {\n return this.editable ||\n VAutocomplete.options.computed.isAnyValueAllowed.call(this)\n },\n isSingle () {\n return true\n },\n computedItems () {\n return this.segmented ? this.allItems : this.filteredItems\n },\n $_menuProps () {\n const props = VAutocomplete.options.computed.$_menuProps.call(this)\n props.transition = props.transition || 'v-menu-transition'\n return props\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, index, last) {\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.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 // Reset previously set styles from parent\n label.data.style = {}\n\n return label\n },\n genSegmentedBtn (item) {\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: { flat: true },\n on: {\n click (e) {\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","import '../../stylus/components/_pagination.styl'\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 totalVisible: [Number, String],\n nextIcon: {\n type: String,\n default: '$vuetify.icons.next'\n },\n prevIcon: {\n type: String,\n default: '$vuetify.icons.prev'\n },\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 maxLength = parseInt(this.totalVisible, 10) || this.maxButtons\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","// Style\nimport '../../stylus/components/_parallax.styl'\n\n// Mixins\nimport Translatable from '../../mixins/translatable'\n\n// Types\nimport Vue from 'vue'\nimport { VNode, VNodeData } from 'vue/types/vnode'\nimport mixins, { ExtractVue } from '../../util/mixins'\n\ninterface options extends Vue {\n $refs: {\n img: HTMLImageElement\n }\n}\n\n/* @vue/component */\nexport default mixins>(Translatable).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 watch: {\n parallax () {\n this.isBooted = true\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 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","import '../../stylus/components/_pickers.styl'\nimport '../../stylus/components/_cards.styl'\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 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': this.themeClasses,\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 }, 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","import '../../stylus/components/_progress-circular.styl'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { CreateElement, VNode, VNodeChildrenArrayContents } from 'vue'\n\n/* @vue/component */\nexport default mixins(Colorable).extend({\n name: 'v-progress-circular',\n\n props: {\n button: Boolean,\n\n indeterminate: Boolean,\n\n rotate: {\n type: [Number, String],\n default: 0\n },\n\n size: {\n type: [Number, String],\n default: 32\n },\n\n width: {\n type: [Number, String],\n default: 4\n },\n\n value: {\n type: [Number, String],\n default: 0\n }\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 radius (): number {\n return 20\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: `${this.calculatedSize}px`,\n width: `${this.calculatedSize}px`\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 (h: CreateElement, name: string, offset: string | number): VNode {\n return h('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 (h: CreateElement): VNode {\n const children = [\n this.indeterminate || this.genCircle(h, 'underlay', 0),\n this.genCircle(h, 'overlay', this.strokeDashOffset)\n ] as VNodeChildrenArrayContents\n\n return h('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 },\n\n render (h): VNode {\n const info = h('div', { staticClass: 'v-progress-circular__info' }, this.$slots.default)\n const svg = this.genSvg(h)\n\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 }), [svg, info])\n }\n})\n","import VProgressCircular from './VProgressCircular'\n\nexport { VProgressCircular }\nexport default VProgressCircular\n","import '../../stylus/components/_progress-linear.styl'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\n\n// Helpers\nimport { convertToUnit } from '../../util/helpers'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { CreateElement, VNode } from 'vue'\n\nimport {\n VFadeTransition,\n VSlideXTransition\n} from '../transitions'\n\n/* @vue/component */\nexport default mixins(Colorable).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: 7\n },\n indeterminate: Boolean,\n query: Boolean,\n value: {\n type: [Number, String],\n default: 0\n }\n },\n\n computed: {\n backgroundStyle (): object {\n const backgroundOpacity = this.backgroundOpacity == null\n ? (this.backgroundColor ? 1 : 0.3)\n : parseFloat(this.backgroundOpacity)\n\n return {\n height: this.active ? convertToUnit(this.height) : 0,\n opacity: backgroundOpacity,\n width: `${this.normalizedBufer}%`\n }\n },\n\n effectiveWidth (): number {\n if (!this.normalizedBufer) {\n return 0\n }\n\n return +this.normalizedValue * 100 / +this.normalizedBufer\n },\n\n normalizedBufer (): number {\n if (this.bufferValue < 0) {\n return 0\n }\n\n if (this.bufferValue > 100) {\n return 100\n }\n\n return parseFloat(this.bufferValue)\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 styles (): object {\n const styles: Record = {}\n\n if (!this.active) {\n styles.height = 0\n }\n\n if (!this.indeterminate && parseFloat(this.normalizedBufer) !== 100) {\n styles.width = `${this.normalizedBufer}%`\n }\n\n return styles\n }\n },\n\n methods: {\n genDeterminate (h: CreateElement): VNode {\n return h('div', this.setBackgroundColor(this.color, {\n ref: 'front',\n staticClass: `v-progress-linear__bar__determinate`,\n style: {\n width: `${this.effectiveWidth}%`\n }\n }))\n },\n genBar (h: CreateElement, name: string): VNode {\n return h('div', this.setBackgroundColor(this.color, {\n staticClass: 'v-progress-linear__bar__indeterminate',\n class: {\n [name]: true\n }\n }))\n },\n genIndeterminate (h: CreateElement): VNode {\n return h('div', {\n ref: 'front',\n staticClass: 'v-progress-linear__bar__indeterminate',\n class: {\n 'v-progress-linear__bar__indeterminate--active': this.active\n }\n }, [\n this.genBar(h, 'long'),\n this.genBar(h, 'short')\n ])\n }\n },\n\n render (h): VNode {\n const fade = h(VFadeTransition, this.indeterminate ? [this.genIndeterminate(h)] : [])\n const slide = h(VSlideXTransition, this.indeterminate ? [] : [this.genDeterminate(h)])\n\n const bar = h('div', {\n staticClass: 'v-progress-linear__bar',\n style: this.styles\n }, [fade, slide])\n\n const background = h('div', this.setBackgroundColor(this.backgroundColor || this.color, {\n staticClass: 'v-progress-linear__background',\n style: this.backgroundStyle\n }))\n\n const content = this.$slots.default && h('div', {\n staticClass: 'v-progress-linear__content'\n }, this.$slots.default)\n\n return h('div', {\n staticClass: 'v-progress-linear',\n attrs: {\n 'role': 'progressbar',\n 'aria-valuemin': 0,\n 'aria-valuemax': this.normalizedBufer,\n 'aria-valuenow': this.indeterminate ? undefined : this.normalizedValue\n },\n class: {\n 'v-progress-linear--query': this.query\n },\n style: {\n height: convertToUnit(this.height)\n },\n on: this.$listeners\n }, [\n background,\n bar,\n content\n ])\n }\n})\n","import VProgressLinear from './VProgressLinear'\n\nexport { VProgressLinear }\nexport default VProgressLinear\n","// Styles\nimport '../../stylus/components/_radios.styl'\n\n// Components\nimport VIcon from '../VIcon'\nimport VLabel from '../VLabel'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Rippleable from '../../mixins/rippleable'\nimport Themeable from '../../mixins/themeable'\nimport Selectable from '../../mixins/selectable'\nimport {\n inject as RegistrableInject\n} from '../../mixins/registrable'\n\n/* @vue/component */\nexport default {\n name: 'v-radio',\n\n mixins: [\n Colorable,\n Rippleable,\n RegistrableInject('radio', 'v-radio', 'v-radio-group'),\n Themeable\n ],\n\n inheritAttrs: false,\n\n props: {\n color: {\n type: String,\n default: 'accent'\n },\n disabled: Boolean,\n label: String,\n onIcon: {\n type: String,\n default: '$vuetify.icons.radioOn'\n },\n offIcon: {\n type: String,\n default: '$vuetify.icons.radioOff'\n },\n readonly: Boolean,\n value: null\n },\n\n data: () => ({\n isActive: false,\n isFocused: false,\n parentError: false\n }),\n\n computed: {\n computedData () {\n return this.setTextColor(!this.parentError && this.isActive && this.color, {\n staticClass: 'v-radio',\n 'class': {\n 'v-radio--is-disabled': this.isDisabled,\n 'v-radio--is-focused': this.isFocused,\n ...this.themeClasses\n }\n })\n },\n computedColor () {\n return this.isActive ? this.color : this.radio.validationState || false\n },\n computedIcon () {\n return this.isActive\n ? this.onIcon\n : this.offIcon\n },\n hasState () {\n return this.isActive || !!this.radio.validationState\n },\n isDisabled () {\n return this.disabled || !!this.radio.disabled\n },\n isReadonly () {\n return this.readonly || !!this.radio.readonly\n }\n },\n\n mounted () {\n this.radio.register(this)\n },\n\n beforeDestroy () {\n this.radio.unregister(this)\n },\n\n methods: {\n genInput (...args) {\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, ...args)\n },\n genLabel () {\n return this.$createElement(VLabel, {\n on: { click: this.onChange },\n attrs: {\n for: this.id\n },\n props: {\n color: this.radio.validationState || '',\n dark: this.dark,\n focused: this.hasState,\n light: this.light\n }\n }, this.$slots.label || this.label)\n },\n genRadio () {\n return this.$createElement('div', {\n staticClass: 'v-input--selection-controls__input'\n }, [\n this.genInput('radio', {\n name: this.radio.name || (this.radio._uid ? 'v-radio-' + this.radio._uid : false),\n value: this.value,\n ...this.$attrs\n }),\n this.genRipple(this.setTextColor(this.computedColor)),\n this.$createElement(VIcon, this.setTextColor(this.computedColor, {\n props: {\n dark: this.dark,\n light: this.light\n }\n }), this.computedIcon)\n ])\n },\n onFocus (e) {\n this.isFocused = true\n this.$emit('focus', e)\n },\n onBlur (e) {\n this.isFocused = false\n this.$emit('blur', e)\n },\n onChange () {\n if (this.isDisabled || this.isReadonly) return\n\n if (!this.isDisabled && (!this.isActive || !this.radio.mandatory)) {\n this.$emit('change', this.value)\n }\n },\n onKeydown () {}\n },\n\n render (h) {\n return h('div', this.computedData, [\n this.genRadio(),\n this.genLabel()\n ])\n }\n}\n","// Styles\nimport '../../stylus/components/_selection-controls.styl'\nimport '../../stylus/components/_radio-group.styl'\n\n// Components\nimport VInput from '../VInput'\n\n// Mixins\nimport Comparable from '../../mixins/comparable'\nimport {\n provide as RegistrableProvide\n} from '../../mixins/registrable'\n\n/* @vue/component */\nexport default VInput.extend({\n name: 'v-radio-group',\n\n mixins: [\n Comparable,\n RegistrableProvide('radio')\n ],\n\n model: {\n prop: 'value',\n event: 'change'\n },\n\n provide () {\n return {\n radio: 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 mandatory: {\n type: Boolean,\n default: true\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 }\n },\n\n data: () => ({\n internalTabIndex: -1,\n radios: []\n }),\n\n computed: {\n classes () {\n return {\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 watch: {\n hasError: 'setErrorState',\n internalValue: 'setActiveRadio'\n },\n\n mounted () {\n this.setErrorState(this.hasError)\n this.setActiveRadio()\n },\n\n methods: {\n genDefaultSlot () {\n return this.$createElement('div', {\n staticClass: 'v-input--radio-group__input',\n attrs: {\n role: 'radiogroup'\n }\n }, VInput.options.methods.genDefaultSlot.call(this))\n },\n onRadioChange (value) {\n if (this.disabled) return\n\n this.hasInput = true\n this.internalValue = value\n this.setActiveRadio()\n this.$nextTick(this.validate)\n },\n onRadioBlur (e) {\n if (!e.relatedTarget || !e.relatedTarget.classList.contains('v-radio')) {\n this.hasInput = true\n this.$emit('blur', e)\n }\n },\n register (radio) {\n radio.isActive = this.valueComparator(this.internalValue, radio.value)\n radio.$on('change', this.onRadioChange)\n radio.$on('blur', this.onRadioBlur)\n this.radios.push(radio)\n },\n setErrorState (val) {\n for (let index = this.radios.length; --index >= 0;) {\n this.radios[index].parentError = val\n }\n },\n setActiveRadio () {\n for (let index = this.radios.length; --index >= 0;) {\n const radio = this.radios[index]\n radio.isActive = this.valueComparator(this.internalValue, radio.value)\n }\n },\n unregister (radio) {\n radio.$off('change', this.onRadioChange)\n radio.$off('blur', this.onRadioBlur)\n\n const index = this.radios.findIndex(r => r === radio)\n\n /* istanbul ignore else */\n if (index > -1) this.radios.splice(index, 1)\n }\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","// Styles\nimport '../../stylus/components/_range-sliders.styl'\n\n// Extensions\nimport VSlider from '../VSlider'\n\nimport {\n createRange,\n deepEqual\n} from '../../util/helpers'\n\n/* @vue/component */\nexport default {\n name: 'v-range-slider',\n\n extends: VSlider,\n\n props: {\n value: {\n type: Array,\n default: () => ([])\n }\n },\n\n data: vm => ({\n activeThumb: null,\n lazyValue: !vm.value.length\n ? [0, 0]\n : vm.value\n }),\n\n computed: {\n classes () {\n return Object.assign({}, {\n 'v-input--range-slider': true\n }, VSlider.options.computed.classes.call(this))\n },\n internalValue: {\n get () {\n return this.lazyValue\n },\n set (val) {\n const { min, max } = this\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, min), max)))\n\n // Switch values if range and wrong order\n if (value[0] > value[1] || value[1] < value[0]) {\n if (this.activeThumb !== null) this.activeThumb = this.activeThumb === 1 ? 0 : 1\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 () {\n return this.internalValue.map(v => (\n this.roundValue(v) - this.min) / (this.max - this.min) * 100\n )\n },\n isDirty () {\n return this.internalValue.some(v => v !== this.min) || this.alwaysDirty\n },\n trackFillStyles () {\n const styles = VSlider.options.computed.trackFillStyles.call(this)\n const fillPercent = Math.abs(this.inputWidth[0] - this.inputWidth[1])\n\n styles.width = `calc(${fillPercent}% - ${this.trackPadding}px)`\n styles[this.$vuetify.rtl ? 'right' : 'left'] = `${this.inputWidth[0]}%`\n\n return styles\n },\n trackPadding () {\n if (this.isDirty ||\n this.internalValue[0]\n ) return 0\n\n return VSlider.options.computed.trackPadding.call(this)\n }\n },\n\n methods: {\n getIndexOfClosestValue (arr, v) {\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.attrs.value = this.internalValue[i]\n\n input.data.on.focus = e => {\n this.activeThumb = i\n VSlider.options.methods.onFocus.call(this, e)\n }\n\n return input\n })\n },\n genChildren () {\n return [\n this.genInput(),\n this.genTrackContainer(),\n this.genSteps(),\n createRange(2).map(i => {\n const value = this.internalValue[i]\n const onDrag = e => {\n this.isActive = true\n this.activeThumb = i\n this.onThumbMouseDown(e)\n }\n const valueWidth = this.inputWidth[i]\n const isActive = (this.isFocused || this.isActive) && this.activeThumb === i\n\n return this.genThumbContainer(value, valueWidth, isActive, onDrag)\n })\n ]\n },\n onSliderClick (e) {\n if (!this.isActive) {\n this.isFocused = true\n this.onMouseMove(e, true)\n this.$emit('change', this.internalValue)\n }\n },\n onMouseMove (e, trackClick = false) {\n const { value, isInsideTrack } = this.parseMouseMove(e)\n\n if (isInsideTrack) {\n if (trackClick) this.activeThumb = this.getIndexOfClosestValue(this.internalValue, value)\n\n this.setInternalValue(value)\n }\n },\n onKeyDown (e) {\n const value = this.parseKeyDown(e, this.internalValue[this.activeThumb])\n\n if (value == null) return\n\n this.setInternalValue(value)\n },\n setInternalValue (value) {\n this.internalValue = this.internalValue.map((v, i) => {\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","// Styles\nimport '../../stylus/components/_rating.styl'\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 dense: Boolean,\n emptyIcon: {\n type: String,\n default: '$vuetify.icons.ratingEmpty'\n },\n fullIcon: {\n type: String,\n default: '$vuetify.icons.ratingFull'\n },\n halfIcon: {\n type: String,\n default: '$vuetify.icons.ratingHalf'\n },\n halfIncrements: Boolean,\n length: {\n type: [Number, String],\n default: 5\n },\n clearable: Boolean,\n readonly: Boolean,\n hover: Boolean,\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 medium,\n large,\n light,\n small,\n size,\n xLarge\n } = this.$props\n\n return {\n dark,\n medium,\n large,\n light,\n size,\n small,\n xLarge\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 return i + (this.isHalfEvent(e) ? 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 = {\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","import '../../stylus/components/_responsive.styl'\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","// Styles\nimport '../../stylus/components/_text-fields.styl'\nimport '../../stylus/components/_select.styl'\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// Helpers\nimport { camelize, getPropertyFromItem, keyCodes } from '../../util/helpers'\nimport { consoleError, consoleWarn } from '../../util/console'\n\nexport const defaultMenuProps = {\n closeOnClick: false,\n closeOnContentClick: false,\n openOnClick: false,\n maxHeight: 300\n}\n\n/* @vue/component */\nexport default VTextField.extend({\n name: 'v-select',\n\n directives: {\n ClickOutside\n },\n\n mixins: [\n Comparable,\n Filterable\n ],\n\n props: {\n appendIcon: {\n type: String,\n default: '$vuetify.icons.dropdown'\n },\n appendIconCb: Function,\n attach: {\n type: null,\n default: false\n },\n browserAutocomplete: {\n type: String,\n default: 'on'\n },\n cacheItems: Boolean,\n chips: Boolean,\n clearable: Boolean,\n deletableChips: Boolean,\n dense: Boolean,\n hideSelected: Boolean,\n items: {\n type: Array,\n default: () => []\n },\n itemAvatar: {\n type: [String, Array, Function],\n default: 'avatar'\n },\n itemDisabled: {\n type: [String, Array, Function],\n default: 'disabled'\n },\n itemText: {\n type: [String, Array, Function],\n default: 'text'\n },\n itemValue: {\n type: [String, Array, Function],\n default: 'value'\n },\n menuProps: {\n type: [String, Array, Object],\n default: () => defaultMenuProps\n },\n multiple: Boolean,\n openOnClear: Boolean,\n returnObject: Boolean,\n searchInput: {\n default: null\n },\n smallChips: Boolean\n },\n\n data: vm => ({\n attrsInput: { role: 'combobox' },\n cachedItems: vm.cacheItems ? vm.items : [],\n content: null,\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: vm.value !== undefined\n ? vm.value\n : vm.multiple ? [] : undefined,\n selectedIndex: -1,\n selectedItems: [],\n keyboardLookupPrefix: '',\n keyboardLookupLastTime: 0\n }),\n\n computed: {\n /* All items that the select has */\n allItems () {\n return this.filterDuplicates(this.cachedItems.concat(this.items))\n },\n classes () {\n return Object.assign({}, 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 })\n },\n /* Used by other components to overwrite */\n computedItems () {\n return this.allItems\n },\n counterValue () {\n return this.multiple\n ? this.selectedItems.length\n : (this.getText(this.selectedItems[0]) || '').toString().length\n },\n directives () {\n return this.isFocused ? [{\n name: 'click-outside',\n value: this.blur,\n args: {\n closeConditional: this.closeConditional\n }\n }] : undefined\n },\n dynamicHeight () {\n return 'auto'\n },\n hasChips () {\n return this.chips || this.smallChips\n },\n hasSlot () {\n return Boolean(this.hasChips || this.$scopedSlots.selection)\n },\n isDirty () {\n return this.selectedItems.length > 0\n },\n listData () {\n const scopeId = this.$vnode && this.$vnode.context.$options._scopeId\n return {\n attrs: scopeId ? {\n [scopeId]: true\n } : null,\n props: {\n action: this.multiple && !this.isHidingSelected,\n color: this.color,\n dense: this.dense,\n hideSelected: this.hideSelected,\n items: this.virtualizedItems,\n noDataText: this.$vuetify.t(this.noDataText),\n selectedItems: this.selectedItems,\n itemAvatar: this.itemAvatar,\n itemDisabled: this.itemDisabled,\n itemValue: this.itemValue,\n itemText: this.itemText\n },\n on: {\n select: this.selectItem\n },\n scopedSlots: {\n item: this.$scopedSlots.item\n }\n }\n },\n staticList () {\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 () {\n return this.$_menuProps.auto\n ? this.computedItems\n : this.computedItems.slice(0, this.lastItem)\n },\n menuCanShow () { return true },\n $_menuProps () {\n let normalisedProps\n\n 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 value: this.menuCanShow && this.isMenuActive,\n nudgeBottom: this.nudgeBottom\n ? this.nudgeBottom\n : 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 if (!val) return\n\n this.isBooted = true\n },\n items: {\n immediate: true,\n handler (val) {\n if (this.cacheItems) {\n this.cachedItems = this.filterDuplicates(this.cachedItems.concat(val))\n }\n\n this.setSelectedItems()\n }\n }\n },\n\n mounted () {\n this.content = this.$refs.menu && this.$refs.menu.$refs.content\n },\n\n methods: {\n /** @public */\n blur (e) {\n this.isMenuActive = false\n this.isFocused = false\n this.$refs.input && this.$refs.input.blur()\n this.selectedIndex = -1\n this.onBlur(e)\n },\n /** @public */\n activateMenu () {\n this.isMenuActive = true\n },\n clearableCallback () {\n this.setValue(this.multiple ? [] : undefined)\n this.$nextTick(() => this.$refs.input.focus())\n\n if (this.openOnClear) this.isMenuActive = true\n },\n closeConditional (e) {\n return (\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) &&\n e.target !== this.$el\n )\n },\n filterDuplicates (arr) {\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) {\n const itemValue = this.getValue(item)\n\n return (this.internalValue || []).findIndex(i => this.valueComparator(this.getValue(i), itemValue))\n },\n genChipSelection (item, index) {\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-multi',\n attrs: { tabindex: -1 },\n props: {\n close: this.deletableChips && !isDisabled,\n disabled: isDisabled,\n selected: index === this.selectedIndex,\n small: this.smallChips\n },\n on: {\n click: e => {\n if (isDisabled) return\n\n e.stopPropagation()\n\n this.selectedIndex = index\n },\n input: () => this.onChipInput(item)\n },\n key: this.getValue(item)\n }, this.getText(item))\n },\n genCommaSelection (item, index, last) {\n // Item may be an object\n // TODO: Remove JSON.stringify\n const key = JSON.stringify(this.getValue(item))\n const color = index === this.selectedIndex && this.color\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\n }), `${this.getText(item)}${last ? '' : ', '}`)\n },\n genDefaultSlot () {\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.$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 () {\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['aria-readonly'] = String(this.readonly)\n input.data.on.keypress = this.onKeyPress\n\n return input\n },\n genList () {\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 () {\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 () {\n const props = this.$_menuProps\n props.activator = this.$refs['input-slot']\n\n // Deprecate using menu props directly\n // TODO: remove (2.0)\n const inheritedProps = Object.keys(VMenu.options.props)\n\n const deprecatedProps = Object.keys(this.$attrs).reduce((acc, attr) => {\n if (inheritedProps.includes(camelize(attr))) acc.push(attr)\n return acc\n }, [])\n\n for (const prop of deprecatedProps) {\n props[camelize(prop)] = this.$attrs[prop]\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (deprecatedProps.length) {\n const multiple = deprecatedProps.length > 1\n let replacement = deprecatedProps.reduce((acc, p) => {\n acc[camelize(p)] = this.$attrs[p]\n return acc\n }, {})\n const props = deprecatedProps.map(p => `'${p}'`).join(', ')\n const separator = multiple ? '\\n' : '\\''\n\n const onlyBools = Object.keys(replacement).every(prop => {\n const propType = VMenu.options.props[prop]\n const value = replacement[prop]\n return value === true || ((propType.type || propType) === Boolean && value === '')\n })\n\n if (onlyBools) {\n replacement = Object.keys(replacement).join(', ')\n } else {\n replacement = JSON.stringify(replacement, null, multiple ? 2 : 0)\n .replace(/\"([^(\")\"]+)\":/g, '$1:')\n .replace(/\"/g, '\\'')\n }\n\n consoleWarn(\n `${props} ${multiple ? 'are' : 'is'} deprecated, use ` +\n `${separator}${onlyBools ? '' : ':'}menu-props=\"${replacement}\"${separator} instead`,\n this\n )\n }\n }\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 ()\n this.attach === true || // If bound to a boolean ()\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 props,\n on: {\n input: val => {\n this.isMenuActive = val\n this.isFocused = val\n }\n },\n ref: 'menu'\n }, [this.genList()])\n },\n genSelections () {\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, index) {\n return this.$scopedSlots.selection({\n parent: this,\n item,\n index,\n selected: index === this.selectedIndex,\n disabled: this.disabled || this.readonly\n })\n },\n getMenuIndex () {\n return this.$refs.menu ? this.$refs.menu.listIndex : -1\n },\n getDisabled (item) {\n return getPropertyFromItem(item, this.itemDisabled, false)\n },\n getText (item) {\n return getPropertyFromItem(item, this.itemText, item)\n },\n getValue (item) {\n return getPropertyFromItem(item, this.itemValue, this.getText(item))\n },\n onBlur (e) {\n this.$emit('blur', e)\n },\n onChipInput (item) {\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 onEnterDown () {\n this.onBlur()\n },\n onEscDown (e) {\n e.preventDefault()\n if (this.isMenuActive) {\n e.stopPropagation()\n this.isMenuActive = false\n }\n },\n onKeyPress (e) {\n if (this.multiple) 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 => this.getText(item).toLowerCase().startsWith(this.keyboardLookupPrefix))\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) {\n const keyCode = e.keyCode\n\n // If enter, space, up, or down is pressed, open menu\n if (!this.readonly && !this.isMenuActive && [\n keyCodes.enter,\n keyCodes.space,\n keyCodes.up, keyCodes.down\n ].includes(keyCode)) this.activateMenu()\n\n if (this.isMenuActive && this.$refs.menu) this.$refs.menu.changeListIndex(e)\n\n // This should do something different\n if (keyCode === keyCodes.enter) return this.onEnterDown(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 onMouseUp (e) {\n if (this.hasMouseDown) {\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.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 onTabDown (e) {\n const menuIndex = this.getMenuIndex()\n\n const listTile = this.$refs.menu.tiles[menuIndex]\n\n // An item that is selected by\n // menu-index should toggled\n if (\n listTile &&\n listTile.className.indexOf('v-list__tile--highlighted') > -1 &&\n this.isMenuActive &&\n menuIndex > -1\n ) {\n e.preventDefault()\n e.stopPropagation()\n\n listTile.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 selectItem (item) {\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 => {\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.updateDimensions()\n })\n }\n },\n setMenuIndex (index) {\n this.$refs.menu && (this.$refs.menu.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) {\n const oldValue = this.internalValue\n this.internalValue = value\n value !== oldValue && this.$emit('change', value)\n }\n }\n})\n","import '../../stylus/components/_cards.styl'\n\n// Components\nimport VCheckbox from '../VCheckbox'\nimport VDivider from '../VDivider'\nimport VSubheader from '../VSubheader'\nimport {\n VList,\n VListTile,\n VListTileAction,\n VListTileContent,\n VListTileTitle\n} from '../VList'\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/* @vue/component */\nexport default {\n name: 'v-select-list',\n\n mixins: [\n Colorable,\n Themeable\n ],\n\n props: {\n action: Boolean,\n dense: Boolean,\n hideSelected: Boolean,\n items: {\n type: Array,\n default: () => []\n },\n itemAvatar: {\n type: [String, Array, Function],\n default: 'avatar'\n },\n itemDisabled: {\n type: [String, Array, Function],\n default: 'disabled'\n },\n itemText: {\n type: [String, Array, Function],\n default: 'text'\n },\n itemValue: {\n type: [String, Array, Function],\n default: 'value'\n },\n noDataText: String,\n noFilter: Boolean,\n searchInput: {\n default: null\n },\n selectedItems: {\n type: Array,\n default: () => []\n }\n },\n\n computed: {\n parsedItems () {\n return this.selectedItems.map(item => this.getValue(item))\n },\n tileActiveClass () {\n return Object.keys(this.setTextColor(this.color).class || {}).join(' ')\n },\n staticNoDataTile () {\n const tile = {\n on: {\n mousedown: e => e.preventDefault() // Prevent onBlur from being called\n }\n }\n\n return this.$createElement(VListTile, tile, [\n this.genTileContent(this.noDataText)\n ])\n }\n },\n\n methods: {\n genAction (item, inputValue) {\n const data = {\n on: {\n click: e => {\n e.stopPropagation()\n this.$emit('select', item)\n }\n }\n }\n\n return this.$createElement(VListTileAction, data, [\n this.$createElement(VCheckbox, {\n props: {\n color: this.color,\n inputValue\n }\n })\n ])\n },\n genDivider (props) {\n return this.$createElement(VDivider, { props })\n },\n genFilteredText (text) {\n text = (text || '').toString()\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) {\n return this.$createElement(VSubheader, { props }, props.header)\n },\n genHighlight (text) {\n return `${escapeHTML(text)}`\n },\n getMaskedCharacters (text) {\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,\n disabled = null,\n avatar = false,\n value = this.hasItem(item)\n ) {\n if (item === Object(item)) {\n avatar = this.getAvatar(item)\n disabled = disabled !== null\n ? disabled\n : this.getDisabled(item)\n }\n\n const tile = {\n on: {\n mousedown: e => {\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 avatar,\n disabled,\n ripple: true,\n value\n }\n }\n\n if (!this.$scopedSlots.item) {\n return this.$createElement(VListTile, 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({ parent, item, tile })\n\n return this.needsTile(scopedSlot)\n ? this.$createElement(VListTile, tile, scopedSlot)\n : scopedSlot\n },\n genTileContent (item) {\n const innerHTML = this.genFilteredText(this.getText(item))\n\n return this.$createElement(VListTileContent,\n [this.$createElement(VListTileTitle, {\n domProps: { innerHTML }\n })]\n )\n },\n hasItem (item) {\n return this.parsedItems.indexOf(this.getValue(item)) > -1\n },\n needsTile (slot) {\n return slot.length !== 1 ||\n slot[0].componentOptions == null ||\n slot[0].componentOptions.Ctor.options.name !== 'v-list-tile'\n },\n getAvatar (item) {\n return Boolean(getPropertyFromItem(item, this.itemAvatar, false))\n },\n getDisabled (item) {\n return Boolean(getPropertyFromItem(item, this.itemDisabled, false))\n },\n getText (item) {\n return String(getPropertyFromItem(item, this.itemText, item))\n },\n getValue (item) {\n return getPropertyFromItem(item, this.itemValue, this.getText(item))\n }\n },\n\n render () {\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 props: {\n dense: this.dense\n }\n }, children)\n ])\n }\n}\n","import VSelect from './VSelect'\nimport VOverflowBtn from '../VOverflowBtn'\nimport VAutocomplete from '../VAutocomplete'\nimport VCombobox from '../VCombobox'\nimport rebuildSlots from '../../util/rebuildFunctionalSlots'\nimport dedupeModelListeners from '../../util/dedupeModelListeners'\nimport { deprecate } from '../../util/console'\n\n/* @vue/component */\nconst wrapper = {\n functional: true,\n\n $_wrapperFor: VSelect,\n\n props: {\n // VAutoComplete\n /** @deprecated */\n autocomplete: Boolean,\n /** @deprecated */\n combobox: Boolean,\n multiple: Boolean,\n /** @deprecated */\n tags: Boolean,\n // VOverflowBtn\n /** @deprecated */\n editable: Boolean,\n /** @deprecated */\n overflow: Boolean,\n /** @deprecated */\n segmented: Boolean\n },\n\n render (h, { props, data, slots, parent }) { // eslint-disable-line max-statements\n dedupeModelListeners(data)\n const children = rebuildSlots(slots(), h)\n\n if (props.autocomplete) {\n deprecate('', '', wrapper, parent)\n }\n if (props.combobox) {\n deprecate('', '', wrapper, parent)\n }\n if (props.tags) {\n deprecate('', '', wrapper, parent)\n }\n\n if (props.overflow) {\n deprecate('', '', wrapper, parent)\n }\n if (props.segmented) {\n deprecate('', '', wrapper, parent)\n }\n if (props.editable) {\n deprecate('', '', wrapper, parent)\n }\n\n data.attrs = data.attrs || {}\n\n if (props.combobox || props.tags) {\n data.attrs.multiple = props.tags\n return h(VCombobox, data, children)\n } else if (props.autocomplete) {\n data.attrs.multiple = props.multiple\n return h(VAutocomplete, data, children)\n } else if (props.overflow || props.segmented || props.editable) {\n data.attrs.segmented = props.segmented\n data.attrs.editable = props.editable\n return h(VOverflowBtn, data, children)\n } else {\n data.attrs.multiple = props.multiple\n return h(VSelect, data, children)\n }\n }\n}\n\nexport { wrapper as VSelect }\n\nexport default wrapper\n","// Styles\nimport '../../stylus/components/_sheet.styl'\n\n// Mixins\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 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","// Styles\nimport '../../stylus/components/_sliders.styl'\n\n// Components\nimport { VScaleTransition } from '../transitions'\n\n// Extensions\nimport VInput from '../VInput'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\n\n// Utilities\nimport {\n addOnceEventListener,\n convertToUnit,\n createRange,\n keyCodes,\n deepEqual\n} from '../../util/helpers'\nimport { consoleWarn } from '../../util/console'\nimport Loadable from '../../mixins/loadable'\n\n/* @vue/component */\nexport default VInput.extend({\n name: 'v-slider',\n\n directives: { ClickOutside },\n\n mixins: [Loadable],\n\n props: {\n alwaysDirty: Boolean,\n inverseLabel: Boolean,\n label: String,\n min: {\n type: [Number, String],\n default: 0\n },\n max: {\n type: [Number, String],\n default: 100\n },\n step: {\n type: [Number, String],\n default: 1\n },\n ticks: {\n type: [Boolean, String],\n default: false,\n validator: v => typeof v === 'boolean' || v === 'always'\n },\n tickLabels: {\n type: Array,\n default: () => ([])\n },\n tickSize: {\n type: [Number, String],\n default: 1\n },\n thumbColor: {\n type: String,\n default: null\n },\n thumbLabel: {\n type: [Boolean, String],\n default: null,\n validator: v => typeof v === 'boolean' || v === 'always'\n },\n thumbSize: {\n type: [Number, String],\n default: 32\n },\n trackColor: {\n type: String,\n default: null\n },\n value: [Number, String]\n },\n\n data: vm => ({\n app: {},\n isActive: false,\n keyPressed: 0,\n lazyValue: typeof vm.value !== 'undefined' ? vm.value : Number(vm.min),\n oldValue: null\n }),\n\n computed: {\n classes () {\n return {\n 'v-input--slider': true,\n 'v-input--slider--ticks': this.showTicks,\n 'v-input--slider--inverse-label': this.inverseLabel,\n 'v-input--slider--ticks-labels': this.tickLabels.length > 0,\n 'v-input--slider--thumb-label': this.thumbLabel ||\n this.$scopedSlots.thumbLabel\n }\n },\n showTicks () {\n return this.tickLabels.length > 0 ||\n (!this.disabled && this.stepNumeric && !!this.ticks)\n },\n showThumbLabel () {\n return !this.disabled && (\n !!this.thumbLabel ||\n this.thumbLabel === '' ||\n this.$scopedSlots['thumb-label']\n )\n },\n computedColor () {\n if (this.disabled) return null\n return this.validationState || this.color || 'primary'\n },\n computedTrackColor () {\n return this.disabled ? null : (this.trackColor || null)\n },\n computedThumbColor () {\n if (this.disabled || !this.isDirty) return null\n return this.validationState || this.thumbColor || this.color || 'primary'\n },\n internalValue: {\n get () {\n return this.lazyValue\n },\n set (val) {\n const { min, max } = this\n\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, min), max))\n\n if (value === this.lazyValue) return\n\n this.lazyValue = value\n\n this.$emit('input', value)\n this.validate()\n }\n },\n stepNumeric () {\n return this.step > 0 ? parseFloat(this.step) : 0\n },\n trackFillStyles () {\n const left = this.$vuetify.rtl ? 'auto' : 0\n const right = this.$vuetify.rtl ? 0 : 'auto'\n let width = `${this.inputWidth}%`\n\n if (this.disabled) width = `calc(${this.inputWidth}% - 8px)`\n\n return {\n transition: this.trackTransition,\n left,\n right,\n width\n }\n },\n trackPadding () {\n return (\n this.isActive ||\n this.inputWidth > 0 ||\n this.disabled\n ) ? 0 : 7\n },\n trackStyles () {\n const trackPadding = this.disabled ? `calc(${this.inputWidth}% + 8px)` : `${this.trackPadding}px`\n const left = this.$vuetify.rtl ? 'auto' : trackPadding\n const right = this.$vuetify.rtl ? trackPadding : 'auto'\n const width = this.disabled\n ? `calc(${100 - this.inputWidth}% - 8px)`\n : '100%'\n\n return {\n transition: this.trackTransition,\n left,\n right,\n width\n }\n },\n tickStyles () {\n const size = Number(this.tickSize)\n\n return {\n 'border-width': `${size}px`,\n 'border-radius': size > 1 ? '50%' : null,\n transform: size > 1 ? `translateX(-${size}px) translateY(-${size - 1}px)` : null\n }\n },\n trackTransition () {\n return this.keyPressed >= 2 ? 'none' : ''\n },\n numTicks () {\n return Math.ceil((this.max - this.min) / this.stepNumeric)\n },\n inputWidth () {\n return (this.roundValue(this.internalValue) - this.min) / (this.max - this.min) * 100\n },\n isDirty () {\n return this.internalValue > this.min ||\n this.alwaysDirty\n }\n },\n\n watch: {\n min (val) {\n val > this.internalValue && this.$emit('input', parseFloat(val))\n },\n max (val) {\n val < this.internalValue && this.$emit('input', parseFloat(val))\n },\n value (val) {\n this.internalValue = val\n }\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 () {\n const children = [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 genListeners () {\n return {\n blur: this.onBlur,\n click: this.onSliderClick,\n focus: this.onFocus,\n keydown: this.onKeyDown,\n keyup: this.onKeyUp\n }\n },\n genInput () {\n return this.$createElement('input', {\n attrs: {\n 'aria-label': this.label,\n name: this.name,\n role: 'slider',\n tabindex: this.disabled ? -1 : this.$attrs.tabindex,\n value: this.internalValue,\n readonly: true,\n 'aria-readonly': String(this.readonly),\n 'aria-valuemin': this.min,\n 'aria-valuemax': this.max,\n 'aria-valuenow': this.internalValue,\n ...this.$attrs\n },\n on: this.genListeners(),\n ref: 'input'\n })\n },\n genSlider () {\n return this.$createElement('div', {\n staticClass: 'v-slider',\n 'class': {\n 'v-slider--is-active': this.isActive\n },\n directives: [{\n name: 'click-outside',\n value: this.onBlur\n }]\n }, this.genChildren())\n },\n genChildren () {\n return [\n this.genInput(),\n this.genTrackContainer(),\n this.genSteps(),\n this.genThumbContainer(\n this.internalValue,\n this.inputWidth,\n this.isFocused || this.isActive,\n this.onThumbMouseDown\n )\n ]\n },\n genSteps () {\n if (!this.step || !this.showTicks) return null\n\n const ticks = createRange(this.numTicks + 1).map(i => {\n const children = []\n\n if (this.tickLabels[i]) {\n children.push(this.$createElement('span', this.tickLabels[i]))\n }\n\n return this.$createElement('span', {\n key: i,\n staticClass: 'v-slider__ticks',\n class: {\n 'v-slider__ticks--always-show': this.ticks === 'always' ||\n this.tickLabels.length > 0\n },\n style: {\n ...this.tickStyles,\n left: `${i * (100 / this.numTicks)}%`\n }\n }, children)\n })\n\n return this.$createElement('div', {\n staticClass: 'v-slider__ticks-container'\n }, ticks)\n },\n genThumb () {\n return this.$createElement('div', this.setBackgroundColor(this.computedThumbColor, {\n staticClass: 'v-slider__thumb'\n }))\n },\n genThumbContainer (value, valueWidth, isActive, onDrag) {\n const children = [this.genThumb()]\n\n const thumbLabelContent = this.getLabel(value)\n this.showThumbLabel && children.push(this.genThumbLabel(thumbLabelContent))\n\n return this.$createElement('div', this.setTextColor(this.computedThumbColor, {\n staticClass: 'v-slider__thumb-container',\n 'class': {\n 'v-slider__thumb-container--is-active': isActive,\n 'v-slider__thumb-container--show-label': this.showThumbLabel\n },\n style: {\n transition: this.trackTransition,\n left: `${this.$vuetify.rtl ? 100 - valueWidth : valueWidth}%`\n },\n on: {\n touchstart: onDrag,\n mousedown: onDrag\n }\n }), children)\n },\n genThumbLabel (content) {\n const size = convertToUnit(this.thumbSize)\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 {\n name: 'show',\n value: this.isFocused || this.isActive || this.thumbLabel === 'always'\n }\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 }\n }), [content])\n ])\n ])\n },\n genTrackContainer () {\n const children = [\n this.$createElement('div', this.setBackgroundColor(this.computedTrackColor, {\n staticClass: 'v-slider__track',\n style: this.trackStyles\n })),\n this.$createElement('div', this.setBackgroundColor(this.computedColor, {\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 getLabel (value) {\n return this.$scopedSlots['thumb-label']\n ? this.$scopedSlots['thumb-label']({ value })\n : this.$createElement('span', value)\n },\n onBlur (e) {\n if (this.keyPressed === 2) return\n\n this.isActive = false\n this.isFocused = false\n this.$emit('blur', e)\n },\n onFocus (e) {\n this.isFocused = true\n this.$emit('focus', e)\n },\n onThumbMouseDown (e) {\n this.oldValue = this.internalValue\n this.keyPressed = 2\n const options = { passive: true }\n this.isActive = true\n this.isFocused = false\n\n if ('touches' in e) {\n this.app.addEventListener('touchmove', this.onMouseMove, options)\n addOnceEventListener(this.app, 'touchend', this.onSliderMouseUp)\n } else {\n this.app.addEventListener('mousemove', this.onMouseMove, options)\n addOnceEventListener(this.app, 'mouseup', this.onSliderMouseUp)\n }\n\n this.$emit('start', this.internalValue)\n },\n onSliderMouseUp () {\n this.keyPressed = 0\n const options = { passive: true }\n this.isActive = false\n this.isFocused = false\n this.app.removeEventListener('touchmove', this.onMouseMove, options)\n this.app.removeEventListener('mousemove', this.onMouseMove, options)\n\n this.$emit('end', this.internalValue)\n if (!deepEqual(this.oldValue, this.internalValue)) {\n this.$emit('change', this.internalValue)\n }\n },\n onMouseMove (e) {\n const { value, isInsideTrack } = this.parseMouseMove(e)\n\n if (isInsideTrack) {\n this.setInternalValue(value)\n }\n },\n onKeyDown (e) {\n if (this.disabled || this.readonly) return\n\n const value = this.parseKeyDown(e)\n\n if (value == null) return\n\n this.setInternalValue(value)\n this.$emit('change', value)\n },\n onKeyUp () {\n this.keyPressed = 0\n },\n onSliderClick (e) {\n this.isFocused = true\n this.onMouseMove(e)\n this.$emit('change', this.internalValue)\n },\n parseMouseMove (e) {\n const {\n left: offsetLeft,\n width: trackWidth\n } = this.$refs.track.getBoundingClientRect()\n const clientX = 'touches' in e ? e.touches[0].clientX : e.clientX\n // It is possible for left to be NaN, force to number\n let left = Math.min(Math.max((clientX - offsetLeft) / trackWidth, 0), 1) || 0\n\n if (this.$vuetify.rtl) left = 1 - left\n\n const isInsideTrack = clientX >= offsetLeft - 8 && clientX <= offsetLeft + trackWidth + 8\n const value = parseFloat(this.min) + left * (this.max - this.min)\n\n return { value, isInsideTrack }\n },\n parseKeyDown (e, value = this.internalValue) {\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.max - this.min) / 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 = parseFloat(this.min)\n } else if (e.keyCode === end) {\n value = parseFloat(this.max)\n } else /* if (e.keyCode === keyCodes.pageup || e.keyCode === pagedown) */ {\n // Page up/down\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) {\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.min % this.stepNumeric\n\n const newValue = Math.round((value - offset) / this.stepNumeric) * this.stepNumeric + offset\n\n return parseFloat(Math.max(Math.min(newValue, this.max), this.min).toFixed(decimals))\n },\n setInternalValue (value) {\n this.internalValue = value\n }\n }\n})\n","import VSlider from './VSlider'\n\nexport { VSlider }\nexport default VSlider\n","import '../../stylus/components/_snackbars.styl'\n\nimport Colorable from '../../mixins/colorable'\nimport Toggleable from '../../mixins/toggleable'\nimport { factory as PositionableFactory } from '../../mixins/positionable'\n\nimport mixins from '../../util/mixins'\nimport { VNode } from 'vue'\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 autoHeight: Boolean,\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 return {\n activeTimeout: -1\n }\n },\n\n computed: {\n classes (): object {\n return {\n 'v-snack--active': this.isActive,\n 'v-snack--absolute': this.absolute,\n 'v-snack--auto-height': this.autoHeight,\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 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 }, this.isActive && [\n 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","// Mixins\nimport Colorable from '../../mixins/colorable'\n\n// Utilities\nimport mixins, { ExtractVue } from '../../util/mixins'\nimport { genPoints } 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 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\n/* eslint-enable indent */\n>(\n Colorable\n).extend({\n name: 'VSparkline',\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,\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,\n default: () => ([])\n },\n lineWidth: {\n type: [String, Number],\n default: 4\n },\n padding: {\n type: [String, Number],\n default: 8\n },\n smooth: {\n type: [Boolean, Number, String],\n default: false\n },\n showLabels: Boolean,\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,\n default: () => ([])\n },\n width: {\n type: [Number, String],\n default: 300\n },\n labelSize: {\n type: [Number, String],\n default: 7\n }\n },\n\n data: () => ({\n lastLength: 0\n }),\n\n computed: {\n parsedPadding (): number {\n return Number(this.padding)\n },\n parsedWidth (): number {\n return Number(this.width)\n },\n totalBars (): number {\n return this.value.length\n },\n _lineWidth (): number {\n if (this.autoLineWidth && this.type !== 'trend') {\n const totalPadding = this.parsedPadding * (this.totalBars + 1)\n return (this.parsedWidth - totalPadding) / this.totalBars\n } else {\n return Number(this.lineWidth) || 4\n }\n },\n boundary (): Boundary {\n const height = Number(this.height)\n\n return {\n minX: this.parsedPadding,\n minY: this.parsedPadding,\n maxX: this.parsedWidth - this.parsedPadding,\n maxY: height - this.parsedPadding\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.points\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 = item === Object(item)\n ? item.value\n : item\n }\n\n labels.push({\n ...item,\n value: String(value)\n })\n }\n\n return labels\n },\n points (): Point[] {\n return genPoints(this.value.slice(), this.boundary, this.type)\n },\n textY (): number {\n return this.boundary.maxY + 6\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 }\n }, children)\n },\n genLabels () {\n if (!this.hasLabels) return undefined\n\n return this.genG(this.parsedLabels.map(this.genText))\n },\n genPath () {\n const radius = this.smooth === true ? 8 : Number(this.smooth)\n\n return this.$createElement('path', {\n attrs: {\n id: this._uid,\n d: genPath(this.points.slice(), radius, this.fill, Number(this.height)),\n fill: this.fill ? `url(#${this._uid})` : 'none',\n stroke: this.fill ? 'none' : `url(#${this._uid})`\n },\n ref: 'path'\n })\n },\n genText (item: SparklineText, index: number) {\n const children = this.$scopedSlots.label\n ? this.$scopedSlots.label({ index, value: item.value })\n : item.value\n\n return this.$createElement('text', {\n attrs: {\n x: item.x,\n y: this.textY\n }\n }, [children])\n },\n genBar () {\n if (!this.value || this.totalBars < 2) return undefined as never\n const { width, height, parsedPadding, _lineWidth } = this\n const viewWidth = width || this.totalBars * parsedPadding * 2\n const viewHeight = height || 75\n const boundary: Boundary = {\n minX: parsedPadding,\n minY: parsedPadding,\n maxX: Number(viewWidth) - parsedPadding,\n maxY: Number(viewHeight) - parsedPadding\n }\n const props = {\n ...this.$props\n }\n\n props.points = genPoints(this.value, boundary, this.type)\n\n const totalWidth = boundary.maxX / (props.points.length - 1)\n\n props.boundary = boundary\n props.lineWidth = _lineWidth || (totalWidth - Number(parsedPadding || 5))\n props.offsetX = 0\n if (!this.autoLineWidth) {\n props.offsetX = ((boundary.maxX / this.totalBars) / 2) - boundary.minX\n }\n\n return this.$createElement('svg', {\n attrs: {\n width: '100%',\n height: '25%',\n viewBox: `0 0 ${viewWidth} ${viewHeight}`\n }\n }, [\n this.genGradient(),\n this.genClipPath(props.offsetX, props.lineWidth, 'sparkline-bar-' + this._uid),\n this.hasLabels ? this.genBarLabels(props as BarText) : undefined as never,\n this.$createElement('g', {\n attrs: {\n transform: `scale(1,-1) translate(0,-${boundary.maxY})`,\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: viewWidth,\n height: viewHeight\n }\n })\n ])\n ])\n },\n genClipPath (offsetX: number, lineWidth: number, id: string) {\n const { maxY } = this.boundary\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 }, this.points.map(item => {\n return this.$createElement('rect', {\n attrs: {\n x: item.x + offsetX,\n y: 0,\n width: lineWidth,\n height: Math.max(maxY - item.y, 0),\n rx: rounding,\n ry: rounding\n }\n }, [\n this.autoDraw ? this.$createElement('animate', {\n attrs: {\n attributeName: 'height',\n from: 0,\n to: maxY - item.y,\n dur: `${this.autoDrawDuration}ms`,\n fill: 'freeze'\n }\n }) : undefined as never\n ])\n }))\n },\n genBarLabels (props: BarText): VNode {\n const offsetX = props.offsetX || 0\n\n const children = props.points.map(item => (\n this.$createElement('text', {\n attrs: {\n x: item.x + offsetX + this._lineWidth / 2,\n y: props.boundary.maxY + (Number(this.labelSize) || 7),\n 'font-size': Number(this.labelSize) || 7\n }\n }, item.value.toString())\n ))\n\n return this.genG(children)\n },\n genTrend () {\n return this.$createElement('svg', this.setTextColor(this.color, {\n attrs: {\n 'stroke-width': this._lineWidth || 1,\n width: '100%',\n height: '25%',\n viewBox: `0 0 ${this.width} ${this.height}`\n }\n }), [\n this.genGradient(),\n this.genLabels(),\n this.genPath()\n ])\n }\n },\n\n render (h): VNode {\n if (this.totalBars < 2) return undefined as never\n\n return this.type === 'trend'\n ? this.genTrend()\n : this.genBar()\n }\n})\n","import { SparklineItem, Boundary, Point } from '../VSparkline'\n\nexport function genPoints (\n points: SparklineItem[],\n boundary: Boundary,\n type: String\n): Point[] {\n const { minX, minY, maxX, maxY } = boundary\n const normalisedPoints = points.map(\n item => (typeof item === 'number' ? item : item.value)\n )\n const totalPoints = normalisedPoints.length\n const maxValue = Math.max(...normalisedPoints) + 1\n let minValue = Math.min(...normalisedPoints)\n\n if (minValue) minValue -= 1\n let gridX = (maxX - minX) / (totalPoints - 1)\n if (type === 'bar') gridX = maxX / totalPoints\n const gridY = (maxY - minY) / (maxValue - minValue)\n\n return normalisedPoints.map((value, index) => {\n return {\n x: minX + index * gridX,\n y:\n maxY -\n (value - minValue) * gridY +\n +(index === totalPoints - 1) * 0.00001 -\n +(index === 0) * 0.00001,\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} 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} Z` : ''))\n}\n","import VSparkline from './VSparkline'\n\nexport { VSparkline }\n\nexport default VSparkline\n","import '../../stylus/components/_speed-dial.styl'\n\nimport Toggleable from '../../mixins/toggleable'\nimport Positionable from '../../mixins/positionable'\nimport Transitionable from '../../mixins/transitionable'\n\nimport ClickOutside from '../../directives/click-outside'\n\n/* @vue/component */\nexport default {\n name: 'v-speed-dial',\n\n directives: { ClickOutside },\n\n mixins: [Positionable, Toggleable, Transitionable],\n\n props: {\n direction: {\n type: String,\n default: 'top',\n validator: val => {\n return ['top', 'right', 'bottom', 'left'].includes(val)\n }\n },\n openOnHover: Boolean,\n transition: {\n type: String,\n default: 'scale-transition'\n }\n },\n\n computed: {\n classes () {\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 }\n }\n },\n\n render (h) {\n let children = []\n const data = {\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') {\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","// Styles\nimport '../../stylus/components/_steppers.styl'\n\n// Components\nimport VStepperStep from './VStepperStep'\nimport VStepperContent from './VStepperContent'\n\n// Mixins\nimport { provide as RegistrableProvide } from '../../mixins/registrable'\nimport Themeable from '../../mixins/themeable'\n\n// Util\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\n\ntype VStepperStepInstance = InstanceType\ntype VStepperContentInstance = InstanceType\n\nexport default mixins(\n RegistrableProvide('stepper'),\n Themeable\n/* @vue/component */\n).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 nonLinear: Boolean,\n altLabels: Boolean,\n vertical: Boolean,\n value: [Number, String]\n },\n\n data () {\n return {\n inputValue: null as any,\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': true,\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 inputValue (val, prev) {\n this.isReverse = Number(val) < Number(prev)\n for (let index = this.steps.length; --index >= 0;) {\n this.steps[index].toggle(this.inputValue)\n }\n for (let index = this.content.length; --index >= 0;) {\n this.content[index].toggle(this.inputValue, this.isReverse)\n }\n\n this.$emit('input', this.inputValue)\n prev && (this.isBooted = true)\n },\n value () {\n this.$nextTick(() => (this.inputValue = this.value))\n }\n },\n\n mounted () {\n this.inputValue = this.value || this.steps[0].step || 1\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.inputValue = step))\n }\n },\n\n render (h): VNode {\n return h('div', {\n 'class': this.classes\n }, this.$slots.default)\n }\n})\n","// Components\nimport {\n VTabTransition,\n VTabReverseTransition\n} from '../transitions'\n\n// Mixins\nimport { Registrable, inject as RegistrableInject } from '../../mixins/registrable'\n\n// Helpers\nimport { convertToUnit } from '../../util/helpers'\n\n// Util\nimport mixins, { ExtractVue } from '../../util/mixins'\n\n// Types\nimport Vue, { VNode, FunctionalComponentOptions, VNodeData } from 'vue'\n\ninterface options extends Vue {\n $refs: {\n wrapper: HTMLElement\n }\n isVerticalProvided: boolean\n}\n\nexport default mixins\n ]>\n/* eslint-enable indent */\n>(\n RegistrableInject('stepper', 'v-stepper-content', 'v-stepper')\n/* @vue/component */\n).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 classes (): object {\n return {\n 'v-stepper__content': true\n }\n },\n computedTransition (): FunctionalComponentOptions {\n return this.isReverse\n ? VTabReverseTransition\n : VTabTransition\n },\n styles (): object {\n if (!this.isVertical) return {}\n\n return {\n height: convertToUnit(this.height)\n }\n },\n wrapperClasses (): object {\n return {\n 'v-stepper__wrapper': true\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: VNodeData = {\n 'class': this.classes\n }\n const wrapperData = {\n 'class': this.wrapperClasses,\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, Registrable } from '../../mixins/registrable'\n\n// Directives\nimport Ripple from '../../directives/ripple'\n\n// Util\nimport mixins, { ExtractVue } from '../../util/mixins'\n\n// Types\nimport Vue, { VNode } from 'vue'\nimport { PropValidator } from 'vue/types/options'\n\ntype VuetifyStepperRuleValidator = () => string | false\n\ninterface options extends Vue {\n stepClick: (step: number | string) => void\n}\n\nexport default mixins\n ]>\n/* eslint-enable indent */\n>(\n Colorable,\n RegistrableInject('stepper', 'v-stepper-step', 'v-stepper')\n/* @vue/component */\n).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: '$vuetify.icons.complete'\n },\n editIcon: {\n type: String,\n default: '$vuetify.icons.edit'\n },\n errorIcon: {\n type: String,\n default: '$vuetify.icons.error'\n },\n editable: Boolean,\n rules: {\n type: Array,\n default: () => []\n } as PropValidator,\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': true,\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': this.hasError,\n 'v-stepper__step--complete': this.complete,\n 'error--text': this.hasError\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 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 const data = {\n 'class': this.classes,\n directives: [{\n name: 'ripple',\n value: this.editable\n }],\n on: { click: this.click }\n }\n let stepContent\n\n if (this.hasError) {\n stepContent = [h(VIcon, {}, this.errorIcon)]\n } else if (this.complete) {\n if (this.editable) {\n stepContent = [h(VIcon, {}, this.editIcon)]\n } else {\n stepContent = [h(VIcon, {}, this.completeIcon)]\n }\n } else {\n stepContent = String(this.step)\n }\n\n const color = (!this.hasError && (this.complete || this.isActive)) ? this.color : false\n const step = h('span', this.setBackgroundColor(color, {\n staticClass: 'v-stepper__step__step'\n }), stepContent)\n\n const label = h('div', {\n staticClass: 'v-stepper__label'\n }, this.$slots.default)\n\n return h('div', data, [step, label])\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","// Styles\nimport '../../stylus/components/_subheaders.styl'\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","import '../../stylus/components/_selection-controls.styl'\nimport '../../stylus/components/_switch.styl'\n\n// Mixins\nimport Selectable from '../../mixins/selectable'\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/* @vue/component */\nexport default {\n name: 'v-switch',\n\n directives: { Touch },\n\n mixins: [\n Selectable\n ],\n\n props: {\n loading: {\n type: [Boolean, String],\n default: false\n }\n },\n\n computed: {\n classes () {\n return {\n 'v-input--selection-controls v-input--switch': true\n }\n },\n switchData () {\n return this.setTextColor(this.loading ? undefined : this.computedColor, {\n class: this.themeClasses\n })\n }\n },\n\n methods: {\n genDefaultSlot () {\n return [\n this.genSwitch(),\n this.genLabel()\n ]\n },\n genSwitch () {\n return this.$createElement('div', {\n staticClass: 'v-input--selection-controls__input'\n }, [\n this.genInput('checkbox', this.$attrs),\n this.genRipple(this.setTextColor(this.computedColor, {\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 () {\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) {\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","import '../../stylus/components/_system-bars.styl'\n\nimport Applicationable from '../../mixins/applicationable'\nimport Colorable from '../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\n\n// Types\nimport { VNode } from 'vue/types'\nimport mixins from '../../util/mixins'\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: {\n type: [Number, String],\n validator: (v: any) => !isNaN(parseInt(v))\n },\n lightsOut: Boolean,\n status: 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--status': this.status,\n 'v-system-bar--window': this.window,\n ...this.themeClasses\n }\n },\n computedHeight (): number {\n if (this.height) return parseInt(this.height)\n\n return this.window ? 32 : 24\n }\n },\n\n methods: {\n /**\n * Update the application layout\n *\n * @return {number}\n */\n updateApplication () {\n return this.computedHeight\n }\n },\n\n render (h): VNode {\n const data = {\n staticClass: 'v-system-bar',\n 'class': this.classes,\n style: {\n height: `${this.computedHeight}px`\n }\n }\n\n return h('div', this.setBackgroundColor(this.color, data), this.$slots.default)\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 { getObjectValueByPath } from '../../util/helpers'\n\n/* @vue/component */\nexport default {\n name: 'v-tab',\n\n mixins: [\n Routable,\n // Must be after routable\n // to overwrite activeClass\n GroupableFactory('tabGroup'),\n Themeable\n ],\n\n props: {\n ripple: {\n type: [Boolean, Object],\n default: true\n }\n },\n\n computed: {\n classes () {\n return {\n 'v-tabs__item': true,\n 'v-tabs__item--disabled': this.disabled,\n ...this.groupClasses\n }\n },\n value () {\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 watch: {\n $route: 'onRouteChange'\n },\n\n mounted () {\n this.onRouteChange()\n },\n\n methods: {\n click (e) {\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 this.$emit('click', e)\n\n this.to || this.toggle()\n },\n onRouteChange () {\n if (!this.to || !this.$refs.link) return\n\n const path = `_vnode.data.class.${this.activeClass}`\n\n this.$nextTick(() => {\n if (getObjectValueByPath(this.$refs.link, path)) {\n this.toggle()\n }\n })\n }\n },\n\n render (h) {\n const link = this.generateRouteLink(this.classes)\n const { data } = link\n\n // If disabled, use div as anchor tags do not support\n // being disabled\n const tag = this.disabled ? 'div' : link.tag\n\n data.ref = 'link'\n\n return h('div', {\n staticClass: 'v-tabs__div'\n }, [h(tag, data, this.$slots.default)])\n }\n}\n","// Extensions\nimport VWindowItem from '../VWindow/VWindowItem'\n\n// Mixins\nimport { deprecate } from '../../util/console'\n\n/* @vue/component */\nexport default VWindowItem.extend({\n name: 'v-tab-item',\n\n props: {\n id: String\n },\n\n render (h) {\n const render = VWindowItem.options.render.call(this, h)\n\n // For backwards compatibility with v1.2\n /* istanbul ignore next */\n if (this.id) {\n deprecate('id', 'value', this)\n\n render.data.domProps = render.data.domProps || {}\n render.data.domProps.id = this.id\n }\n\n return render\n }\n})\n","// Styles\nimport '../../stylus/components/_tabs.styl'\n\n// Extensions\nimport { BaseItemGroup } from '../VItemGroup/VItemGroup'\n\n// Component level mixins\nimport TabsComputed from './mixins/tabs-computed'\nimport TabsGenerators from './mixins/tabs-generators'\nimport TabsProps from './mixins/tabs-props'\nimport TabsTouch from './mixins/tabs-touch'\nimport TabsWatchers from './mixins/tabs-watchers'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport SSRBootable from '../../mixins/ssr-bootable'\nimport Themeable from '../../mixins/themeable'\n\n// Directives\nimport Resize from '../../directives/resize'\nimport Touch from '../../directives/touch'\nimport { deprecate } from '../../util/console'\n\n// Utils\nimport ThemeProvider from '../../util/ThemeProvider'\n\n/* @vue/component */\nexport default BaseItemGroup.extend({\n name: 'v-tabs',\n\n directives: {\n Resize,\n Touch\n },\n\n mixins: [\n Colorable,\n SSRBootable,\n TabsComputed,\n TabsProps,\n TabsGenerators,\n TabsTouch,\n TabsWatchers,\n Themeable\n ],\n\n provide () {\n return {\n tabGroup: this,\n tabProxy: this.tabProxy,\n registerItems: this.registerItems,\n unregisterItems: this.unregisterItems\n }\n },\n\n data () {\n return {\n bar: [],\n content: [],\n isOverflowing: false,\n nextIconVisible: false,\n prevIconVisible: false,\n resizeTimeout: null,\n scrollOffset: 0,\n sliderWidth: null,\n sliderLeft: null,\n startX: 0,\n tabItems: null,\n transitionTime: 300,\n widths: {\n bar: 0,\n container: 0,\n wrapper: 0\n }\n }\n },\n\n watch: {\n items: 'onResize',\n tabs: 'onResize'\n },\n\n mounted () {\n this.init()\n },\n\n methods: {\n checkIcons () {\n this.prevIconVisible = this.checkPrevIcon()\n this.nextIconVisible = this.checkNextIcon()\n },\n checkPrevIcon () {\n return this.scrollOffset > 0\n },\n checkNextIcon () {\n // Check one scroll ahead to know the width of right-most item\n return this.widths.container > this.scrollOffset + this.widths.wrapper\n },\n callSlider () {\n if (this.hideSlider || !this.activeTab) return false\n\n // Give screen time to paint\n const activeTab = this.activeTab\n\n this.$nextTick(() => {\n /* istanbul ignore if */\n if (!activeTab || !activeTab.$el) return\n this.sliderWidth = activeTab.$el.scrollWidth\n this.sliderLeft = activeTab.$el.offsetLeft\n })\n },\n // Do not process\n // until DOM is\n // painted\n init () {\n /* istanbul ignore next */\n if (this.$listeners['input']) {\n deprecate('@input', '@change', this)\n }\n },\n /**\n * When v-navigation-drawer changes the\n * width of the container, call resize\n * after the transition is complete\n */\n onResize () {\n if (this._isDestroyed) return\n\n this.setWidths()\n\n const delay = this.isBooted ? this.transitionTime : 0\n\n clearTimeout(this.resizeTimeout)\n this.resizeTimeout = setTimeout(this.updateTabsView, delay)\n },\n overflowCheck (e, fn) {\n this.isOverflowing && fn(e)\n },\n scrollTo (direction) {\n this.scrollOffset = this.newOffset(direction)\n },\n setOverflow () {\n this.isOverflowing = this.widths.bar < this.widths.container\n },\n setWidths () {\n const bar = this.$refs.bar ? this.$refs.bar.clientWidth : 0\n const container = this.$refs.container ? this.$refs.container.clientWidth : 0\n const wrapper = this.$refs.wrapper ? this.$refs.wrapper.clientWidth : 0\n\n this.widths = { bar, container, wrapper }\n\n this.setOverflow()\n },\n parseNodes () {\n const item = []\n const items = []\n const slider = []\n const tab = []\n const length = (this.$slots.default || []).length\n\n for (let i = 0; i < length; i++) {\n const vnode = this.$slots.default[i]\n\n if (vnode.componentOptions) {\n switch (vnode.componentOptions.Ctor.options.name) {\n case 'v-tabs-slider': slider.push(vnode)\n break\n case 'v-tabs-items': items.push(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 return { tab, slider, items, item }\n },\n registerItems (fn) {\n this.tabItems = fn\n fn(this.internalValue)\n },\n unregisterItems () {\n this.tabItems = null\n },\n updateTabsView () {\n this.callSlider()\n this.scrollIntoView()\n this.checkIcons()\n },\n scrollIntoView () {\n /* istanbul ignore next */\n if (!this.activeTab) return\n if (!this.isOverflowing) return (this.scrollOffset = 0)\n\n const totalWidth = this.widths.wrapper + this.scrollOffset\n const { clientWidth, offsetLeft } = this.activeTab.$el\n const itemOffset = clientWidth + offsetLeft\n let additionalOffset = clientWidth * 0.3\n\n if (this.activeTab === this.items[this.items.length - 1]) {\n additionalOffset = 0 // don't add an offset if selecting the last tab\n }\n\n /* istanbul ignore else */\n if (offsetLeft < this.scrollOffset) {\n this.scrollOffset = Math.max(offsetLeft - additionalOffset, 0)\n } else if (totalWidth < itemOffset) {\n this.scrollOffset -= totalWidth - itemOffset - additionalOffset\n }\n },\n tabProxy (val) {\n this.internalValue = val\n }\n },\n\n render (h) {\n const { tab, slider, items, item } = this.parseNodes()\n\n return h('div', {\n staticClass: 'v-tabs',\n directives: [{\n name: 'resize',\n modifiers: { quiet: true },\n value: this.onResize\n }]\n }, [\n this.genBar([this.hideSlider ? null : this.genSlider(slider), tab]),\n h(ThemeProvider, {\n props: { dark: this.theme.isDark, light: !this.theme.isDark }\n }, [\n this.genItems(items, item)\n ])\n ])\n }\n})\n","// Extensions\nimport VWindow from '../VWindow/VWindow'\n\n/* @vue/component */\nexport default VWindow.extend({\n name: 'v-tabs-items',\n\n inject: {\n registerItems: {\n default: null\n },\n tabProxy: {\n default: null\n },\n unregisterItems: {\n default: null\n }\n },\n\n props: {\n cycle: Boolean\n },\n\n watch: {\n internalValue (val) {\n /* istanbul ignore else */\n if (this.tabProxy) this.tabProxy(val)\n }\n },\n\n created () {\n this.registerItems && this.registerItems(this.changeModel)\n },\n\n beforeDestroy () {\n this.unregisterItems && this.unregisterItems()\n },\n\n methods: {\n changeModel (val) {\n this.internalValue = val\n },\n // For backwards compatability with v1.2\n getValue (item, i) {\n /* istanbul ignore if */\n if (item.id) return item.id\n\n return VWindow.options.methods.getValue.call(this, item, i)\n },\n next () {\n if (!this.cycle && this.internalIndex === this.items.length - 1) {\n return\n }\n\n VWindow.options.methods.next.call(this)\n },\n prev () {\n if (!this.cycle && this.internalIndex === 0) {\n return\n }\n\n VWindow.options.methods.prev.call(this)\n }\n }\n})\n","import Colorable from '../../mixins/colorable'\n\n/* @vue/component */\nexport default {\n name: 'v-tabs-slider',\n\n mixins: [Colorable],\n\n render (h) {\n return h('div', this.setBackgroundColor(this.color || 'accent', {\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","/**\n * Tabs computed\n *\n * @mixin\n */\n/* @vue/component */\nexport default {\n computed: {\n activeTab () {\n if (!this.selectedItems.length) return undefined\n\n return this.selectedItems[0]\n },\n containerStyles () {\n return this.height ? {\n height: `${parseInt(this.height, 10)}px`\n } : null\n },\n hasArrows () {\n return (this.showArrows || !this.isMobile) && this.isOverflowing\n },\n isMobile () {\n return this.$vuetify.breakpoint.width < this.mobileBreakPoint\n },\n sliderStyles () {\n return {\n left: `${this.sliderLeft}px`,\n transition: this.sliderLeft != null ? null : 'none',\n width: `${this.sliderWidth}px`\n }\n }\n }\n}\n","import VTabsItems from '../VTabsItems'\nimport VTabsSlider from '../VTabsSlider'\nimport VIcon from '../../VIcon'\n\n/**\n * Tabs generators\n *\n * @mixin\n */\n/* @vue/component */\nexport default {\n methods: {\n genBar (items) {\n return this.$createElement('div', this.setBackgroundColor(this.color, {\n staticClass: 'v-tabs__bar',\n 'class': this.themeClasses,\n ref: 'bar'\n }), [\n this.genTransition('prev'),\n this.genWrapper(\n this.genContainer(items)\n ),\n this.genTransition('next')\n ])\n },\n genContainer (items) {\n return this.$createElement('div', {\n staticClass: 'v-tabs__container',\n class: {\n 'v-tabs__container--align-with-title': this.alignWithTitle,\n 'v-tabs__container--centered': this.centered,\n 'v-tabs__container--fixed-tabs': this.fixedTabs,\n 'v-tabs__container--grow': this.grow,\n 'v-tabs__container--icons-and-text': this.iconsAndText,\n 'v-tabs__container--overflow': this.isOverflowing,\n 'v-tabs__container--right': this.right\n },\n style: this.containerStyles,\n ref: 'container'\n }, items)\n },\n genIcon (direction) {\n if (!this.hasArrows ||\n !this[`${direction}IconVisible`]\n ) return null\n\n return this.$createElement(VIcon, {\n staticClass: `v-tabs__icon v-tabs__icon--${direction}`,\n props: {\n disabled: !this[`${direction}IconVisible`]\n },\n on: {\n click: () => this.scrollTo(direction)\n }\n }, this[`${direction}Icon`])\n },\n genItems (items, item) {\n if (items.length > 0) return items\n if (!item.length) return null\n\n return this.$createElement(VTabsItems, item)\n },\n genTransition (direction) {\n return this.$createElement('transition', {\n props: { name: 'fade-transition' }\n }, [this.genIcon(direction)])\n },\n genWrapper (items) {\n return this.$createElement('div', {\n staticClass: 'v-tabs__wrapper',\n class: {\n 'v-tabs__wrapper--show-arrows': this.hasArrows\n },\n ref: 'wrapper',\n directives: [{\n name: 'touch',\n value: {\n start: e => this.overflowCheck(e, this.onTouchStart),\n move: e => this.overflowCheck(e, this.onTouchMove),\n end: e => this.overflowCheck(e, this.onTouchEnd)\n }\n }]\n }, [items])\n },\n genSlider (items) {\n if (!items.length) {\n items = [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 }, items)\n }\n }\n}\n","/**\n * Tabs props\n *\n * @mixin\n */\n/* @vue/component */\nexport default {\n props: {\n activeClass: {\n type: String,\n default: 'v-tabs__item--active'\n },\n alignWithTitle: Boolean,\n centered: Boolean,\n fixedTabs: Boolean,\n grow: Boolean,\n height: {\n type: [Number, String],\n default: undefined,\n validator: v => !isNaN(parseInt(v))\n },\n hideSlider: Boolean,\n iconsAndText: Boolean,\n mandatory: {\n type: Boolean,\n default: true\n },\n mobileBreakPoint: {\n type: [Number, String],\n default: 1264,\n validator: v => !isNaN(parseInt(v))\n },\n nextIcon: {\n type: String,\n default: '$vuetify.icons.next'\n },\n prevIcon: {\n type: String,\n default: '$vuetify.icons.prev'\n },\n right: Boolean,\n showArrows: Boolean,\n sliderColor: {\n type: String,\n default: 'accent'\n },\n value: [Number, String]\n }\n}\n","/**\n * Tabs touch\n *\n * @mixin\n */\n/* @vue/component */\nexport default {\n methods: {\n newOffset (direction) {\n const clientWidth = this.$refs.wrapper.clientWidth\n\n if (direction === 'prev') {\n return Math.max(this.scrollOffset - clientWidth, 0)\n } else {\n return Math.min(this.scrollOffset + clientWidth, this.$refs.container.clientWidth - clientWidth)\n }\n },\n onTouchStart (e) {\n this.startX = this.scrollOffset + e.touchstartX\n this.$refs.container.style.transition = 'none'\n this.$refs.container.style.willChange = 'transform'\n },\n onTouchMove (e) {\n this.scrollOffset = this.startX - e.touchmoveX\n },\n onTouchEnd () {\n const container = this.$refs.container\n const wrapper = this.$refs.wrapper\n const maxScrollOffset = container.clientWidth - wrapper.clientWidth\n container.style.transition = null\n container.style.willChange = null\n\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}\n","/**\n * Tabs watchers\n *\n * @mixin\n */\n/* @vue/component */\nexport default {\n watch: {\n activeTab (val, oldVal) {\n this.setOverflow()\n\n if (!val) return\n\n this.tabItems && this.tabItems(\n this.getValue(val, this.items.indexOf(val))\n )\n\n // Do nothing for first tab\n // is handled from isBooted\n // watcher\n if (oldVal == null) return\n\n this.updateTabsView()\n },\n alignWithTitle: 'callSlider',\n centered: 'callSlider',\n fixedTabs: 'callSlider',\n hasArrows (val) {\n if (!val) this.scrollOffset = 0\n },\n /* @deprecate */\n internalValue (val) {\n /* istanbul ignore else */\n if (!this.$listeners['input']) return\n\n this.$emit('input', val)\n },\n lazyValue: 'updateTabs',\n right: 'callSlider',\n '$vuetify.application.left': 'onResize',\n '$vuetify.application.right': 'onResize',\n scrollOffset (val) {\n this.$refs.container.style.transform = `translateX(${-val}px)`\n if (this.hasArrows) {\n this.prevIconVisible = this.checkPrevIcon()\n this.nextIconVisible = this.checkNextIcon()\n }\n }\n }\n}\n","// Styles\nimport '../../stylus/components/_text-fields.styl'\n\n// Extensions\nimport VInput from '../VInput'\n\n// Components\nimport VCounter from '../VCounter'\nimport VLabel from '../VLabel'\n\n// Mixins\nimport Maskable from '../../mixins/maskable'\nimport Loadable from '../../mixins/loadable'\n\n// Directives\nimport Ripple from '../../directives/ripple'\n\n// Utilities\nimport {\n keyCodes\n} from '../../util/helpers'\nimport { deprecate } from '../../util/console'\n\nconst dirtyTypes = ['color', 'file', 'time', 'date', 'datetime-local', 'week', 'month']\n\n/* @vue/component */\nexport default VInput.extend({\n name: 'v-text-field',\n\n directives: { Ripple },\n\n mixins: [Maskable, Loadable],\n\n inheritAttrs: false,\n\n props: {\n appendOuterIcon: String,\n /** @deprecated */\n appendOuterIconCb: Function,\n autofocus: Boolean,\n box: Boolean,\n browserAutocomplete: String,\n clearable: Boolean,\n clearIcon: {\n type: String,\n default: '$vuetify.icons.clear'\n },\n clearIconCb: Function,\n color: {\n type: String,\n default: 'primary'\n },\n counter: [Boolean, Number, String],\n flat: Boolean,\n fullWidth: Boolean,\n label: String,\n outline: Boolean,\n placeholder: String,\n prefix: String,\n prependInnerIcon: String,\n /** @deprecated */\n prependInnerIconCb: Function,\n reverse: 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 initialValue: null,\n internalChange: false,\n isClearing: false\n }),\n\n computed: {\n classes () {\n return {\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--box': this.box,\n 'v-text-field--enclosed': this.isEnclosed,\n 'v-text-field--reverse': this.reverse,\n 'v-text-field--outline': this.hasOutline,\n 'v-text-field--placeholder': this.placeholder\n }\n },\n counterValue () {\n return (this.internalValue || '').toString().length\n },\n directivesInput () {\n return []\n },\n // TODO: Deprecate\n hasOutline () {\n return this.outline || this.textarea\n },\n internalValue: {\n get () {\n return this.lazyValue\n },\n set (val) {\n if (this.mask && val !== this.lazyValue) {\n this.lazyValue = this.unmaskText(this.maskText(this.unmaskText(val)))\n this.setSelectionRange()\n } else {\n this.lazyValue = val\n this.$emit('input', this.lazyValue)\n }\n }\n },\n isDirty () {\n return (this.lazyValue != null &&\n this.lazyValue.toString().length > 0) ||\n this.badInput\n },\n isEnclosed () {\n return (\n this.box ||\n this.isSolo ||\n this.hasOutline ||\n this.fullWidth\n )\n },\n isLabelActive () {\n return this.isDirty || dirtyTypes.includes(this.type)\n },\n isSingle () {\n return this.isSolo || this.singleLine\n },\n isSolo () {\n return this.solo || this.soloInverted\n },\n labelPosition () {\n const offset = (this.prefix && !this.labelValue) ? this.prefixWidth : 0\n\n return (!this.$vuetify.rtl !== !this.reverse) ? {\n left: 'auto',\n right: offset\n } : {\n left: offset,\n right: 'auto'\n }\n },\n showLabel () {\n return this.hasLabel && (!this.isSingle || (!this.isLabelActive && !this.placeholder && !this.prefixLabel))\n },\n labelValue () {\n return !this.isSingle &&\n Boolean(this.isFocused || this.isLabelActive || this.placeholder || this.prefixLabel)\n },\n prefixWidth () {\n if (!this.prefix && !this.$refs.prefix) return\n\n return this.$refs.prefix.offsetWidth\n },\n prefixLabel () {\n return (this.prefix && !this.value)\n }\n },\n\n watch: {\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 if (this.mask && !this.internalChange) {\n const masked = this.maskText(this.unmaskText(val))\n this.lazyValue = this.unmaskText(masked)\n\n // Emit when the externally set value was modified internally\n String(val) !== this.lazyValue && this.$nextTick(() => {\n this.$refs.input.value = masked\n this.$emit('input', this.lazyValue)\n })\n } else this.lazyValue = val\n }\n },\n\n mounted () {\n this.autofocus && this.onFocus()\n },\n\n methods: {\n /** @public */\n focus () {\n this.onFocus()\n },\n /** @public */\n blur () {\n this.$refs.input ? this.$refs.input.blur() : this.onBlur()\n },\n clearableCallback () {\n this.internalValue = null\n this.$nextTick(() => this.$refs.input.focus())\n },\n genAppendSlot () {\n const slot = []\n\n if (this.$slots['append-outer']) {\n slot.push(this.$slots['append-outer'])\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'])\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'])\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 prepend && input.children.unshift(prepend)\n\n return input\n },\n genClearIcon () {\n if (!this.clearable) return null\n\n const icon = !this.isDirty\n ? false\n : 'clear'\n\n if (this.clearIconCb) deprecate(':clear-icon-cb', '@click:clear', this)\n\n return this.genSlot('append', 'inner', [\n this.genIcon(\n icon,\n (!this.$listeners['click:clear'] && this.clearIconCb) || this.clearableCallback,\n false\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.genTextFieldSlot(),\n this.genClearIcon(),\n this.genIconSlot(),\n this.genProgress()\n ]\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 left: this.labelPosition.left,\n light: this.light,\n right: this.labelPosition.right,\n value: this.labelValue\n }\n }\n\n if (this.$attrs.id) data.props.for = this.$attrs.id\n\n return this.$createElement(VLabel, data, this.$slots.label || this.label)\n },\n genInput () {\n const listeners = Object.assign({}, this.$listeners)\n delete listeners['change'] // Change should not be bound externally\n\n const data = {\n style: {},\n domProps: {\n value: this.maskText(this.lazyValue)\n },\n attrs: {\n 'aria-label': (!this.$attrs || !this.$attrs.id) && this.label, // Label `for` will be set if we have an id\n ...this.$attrs,\n autofocus: this.autofocus,\n disabled: this.disabled,\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 if (this.placeholder) data.attrs.placeholder = this.placeholder\n if (this.mask) data.attrs.maxlength = this.masked.length\n if (this.browserAutocomplete) data.attrs.autocomplete = this.browserAutocomplete\n\n return this.$createElement('input', data)\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) {\n return this.$createElement('div', {\n 'class': `v-text-field__${type}`,\n ref: type\n }, this[type])\n },\n onBlur (e) {\n this.isFocused = false\n // Reset internalChange state\n // to allow external change\n // to persist\n this.internalChange = false\n\n this.$emit('blur', e)\n },\n onClick () {\n if (this.isFocused || this.disabled) return\n\n this.$refs.input.focus()\n },\n onFocus (e) {\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 this.$emit('focus', e)\n }\n },\n onInput (e) {\n this.internalChange = true\n this.mask && this.resetSelections(e.target)\n this.internalValue = e.target.value\n this.badInput = e.target.validity && e.target.validity.badInput\n },\n onKeyDown (e) {\n this.internalChange = true\n\n if (e.keyCode === keyCodes.enter) this.$emit('change', this.internalValue)\n\n this.$emit('keydown', e)\n },\n onMouseDown (e) {\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) {\n if (this.hasMouseDown) this.focus()\n\n VInput.options.methods.onMouseUp.call(this, e)\n }\n }\n})\n","import VTextField from './VTextField'\nimport VTextarea from '../VTextarea/VTextarea'\nimport rebuildSlots from '../../util/rebuildFunctionalSlots'\nimport dedupeModelListeners from '../../util/dedupeModelListeners'\nimport { deprecate } from '../../util/console'\n\n// TODO: remove this in v2.0\n/* @vue/component */\nconst wrapper = {\n functional: true,\n\n $_wrapperFor: VTextField,\n\n props: {\n textarea: Boolean,\n multiLine: Boolean\n },\n\n render (h, { props, data, slots, parent }) {\n dedupeModelListeners(data)\n\n const children = rebuildSlots(slots(), h)\n\n if (props.textarea) {\n deprecate('', '', wrapper, parent)\n }\n\n if (props.multiLine) {\n deprecate('', '', wrapper, parent)\n }\n\n if (props.textarea || props.multiLine) {\n data.attrs.outline = props.textarea\n return h(VTextarea, data, children)\n } else {\n return h(VTextField, data, children)\n }\n }\n}\n\nexport { wrapper as VTextField }\nexport default wrapper\n","// Styles\nimport '../../stylus/components/_textarea.styl'\n\n// Extensions\nimport VTextField from '../VTextField/VTextField'\n\nimport { consoleInfo } from '../../util/console'\n\n/* @vue/component */\nexport default {\n name: 'v-textarea',\n\n extends: VTextField,\n\n props: {\n autoGrow: Boolean,\n noResize: Boolean,\n outline: Boolean,\n rowHeight: {\n type: [Number, String],\n default: 24,\n validator: v => !isNaN(parseFloat(v))\n },\n rows: {\n type: [Number, String],\n default: 5,\n validator: v => !isNaN(parseInt(v, 10))\n }\n },\n\n computed: {\n classes () {\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, null)\n }\n },\n dynamicHeight () {\n return this.autoGrow\n ? this.inputHeight\n : 'auto'\n },\n isEnclosed () {\n return this.textarea ||\n VTextField.options.computed.isEnclosed.call(this)\n },\n noResizeHandle () {\n return this.noResize || this.autoGrow\n }\n },\n\n watch: {\n lazyValue () {\n !this.internalChange && this.autoGrow && this.$nextTick(this.calculateInputHeight)\n }\n },\n\n mounted () {\n setTimeout(() => {\n this.autoGrow && this.calculateInputHeight()\n }, 0)\n\n // TODO: remove (2.0)\n if (this.autoGrow && this.noResize) {\n consoleInfo('\"no-resize\" is now implied when using \"auto-grow\", and can be removed', this)\n }\n },\n\n methods: {\n calculateInputHeight () {\n const input = this.$refs.input\n if (input) {\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 },\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) {\n VTextField.options.methods.onInput.call(this, e)\n this.autoGrow && this.calculateInputHeight()\n },\n onKeyDown (e) {\n // Prevents closing of a\n // dialog when pressing\n // enter\n if (this.isFocused &&\n e.keyCode === 13\n ) {\n e.stopPropagation()\n }\n\n this.internalChange = true\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'\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)\nconst selectingTimes: {\n hour: 1\n minute: 2\n second: 3\n} = { hour: 1, minute: 2, second: 3 }\nconst selectingNames = { 1: 'hour', 2: 'minute', 3: 'second' }\nexport { selectingTimes }\n\ntype Period = 'am' | 'pm'\n\nexport default mixins(\n Picker\n/* @vue/component */\n).extend({\n name: 'v-time-picker',\n\n props: {\n allowedHours: Function,\n allowedMinutes: Function,\n allowedSeconds: Function,\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\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 as 1 | 2 | 3\n }\n },\n\n computed: {\n selectingHour: {\n get () {\n return this.selecting === selectingTimes.hour\n },\n set (v: boolean) {\n this.selecting = selectingTimes.hour\n }\n },\n selectingMinute: {\n get () {\n return this.selecting === selectingTimes.minute\n },\n set (v: boolean) {\n this.selecting = selectingTimes.minute\n }\n },\n selectingSecond: {\n get () {\n return this.selecting === selectingTimes.second\n },\n set (v: boolean) {\n this.selecting = selectingTimes.second\n }\n },\n isAllowedHourCb () {\n if (!this.min && !this.max) return this.allowedHours\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 (!this.allowedHours || this.allowedHours(val))\n }\n },\n isAllowedMinuteCb () {\n const isHourAllowed = !this.allowedHours || this.allowedHours(this.inputHour)\n if (!this.min && !this.max) {\n return isHourAllowed ? this.allowedMinutes : () => 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 (!this.allowedMinutes || this.allowedMinutes(val))\n }\n },\n isAllowedSecondCb () {\n const isHourAllowed = !this.allowedHours || this.allowedHours(this.inputHour)\n const isMinuteAllowed = !this.allowedMinutes || this.allowedMinutes(this.inputMinute)\n if (!this.min && !this.max) {\n return isHourAllowed && isMinuteAllowed ? this.allowedSeconds : () => 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 isHourAllowed && isMinuteAllowed &&\n (!this.allowedSeconds || this.allowedSeconds(val))\n }\n },\n isAmPm () {\n return this.format === 'ampm'\n }\n },\n\n watch: {\n value: 'setInputData'\n },\n\n mounted () {\n this.setInputData(this.value)\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 genPickerBody () {\n return this.$createElement('div', {\n staticClass: 'v-time-picker-clock__container',\n key: this.selecting\n }, [this.genClock()])\n },\n genPickerTitle () {\n return this.$createElement(VTimePickerTitle, {\n props: {\n ampm: 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","import '../../stylus/components/_time-picker-clock.styl'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\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\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 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: `${this.format(value)}` }\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 () {\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: () => (this.isDragging && this.onMouseUp()),\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","import '../../stylus/components/_time-picker-title.styl'\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', 'am', this.disabled || this.readonly),\n this.genPickerButton('period', 'pm', '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","// Styles\nimport '../../stylus/components/_timeline.styl'\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 props: {\n alignTop: Boolean,\n dense: Boolean\n },\n\n computed: {\n classes (): {} {\n return {\n 'v-timeline--align-top': this.alignTop,\n 'v-timeline--dense': this.dense,\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 from '../../util/mixins'\nimport { VNode, VNodeData } from 'vue'\n\n// Components\nimport VIcon from '../VIcon'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\nimport Colorable from '../../mixins/colorable'\n\nexport default mixins(\n Colorable,\n Themeable\n/* @vue/component */\n).extend({\n name: 'v-timeline-item',\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 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 = [this.genBody()]\n\n if (!this.hideDot) children.unshift(this.genDot())\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--left': this.left,\n 'v-timeline-item--right': 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","// Styles\nimport '../../stylus/components/_toolbar.styl'\n\n// Mixins\nimport Applicationable from '../../mixins/applicationable'\nimport Colorable from '../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\nimport SSRBootable from '../../mixins/ssr-bootable'\n\n// Directives\nimport Scroll from '../../directives/scroll'\nimport { deprecate } from '../../util/console'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { VNode } from 'vue'\n\nexport default mixins(\n Applicationable('top', [\n 'clippedLeft',\n 'clippedRight',\n 'computedHeight',\n 'invertedScroll',\n 'manualScroll'\n ]),\n Colorable,\n SSRBootable,\n Themeable\n/* @vue/component */\n).extend({\n name: 'v-toolbar',\n\n directives: { Scroll },\n\n props: {\n card: Boolean,\n clippedLeft: Boolean,\n clippedRight: Boolean,\n dense: Boolean,\n extended: Boolean,\n extensionHeight: {\n type: [Number, String],\n validator: (v: any) => !isNaN(parseInt(v))\n },\n flat: Boolean,\n floating: Boolean,\n height: {\n type: [Number, String],\n validator: (v: any) => !isNaN(parseInt(v))\n },\n invertedScroll: Boolean,\n manualScroll: Boolean,\n prominent: Boolean,\n scrollOffScreen: Boolean,\n /* @deprecated */\n scrollToolbarOffScreen: Boolean,\n scrollTarget: String,\n scrollThreshold: {\n type: Number,\n default: 300\n },\n tabs: Boolean\n },\n\n data: () => ({\n activeTimeout: null,\n currentScroll: 0,\n heights: {\n mobileLandscape: 48,\n mobile: 56,\n desktop: 64,\n dense: 48\n },\n isActive: true,\n isExtended: false,\n isScrollingUp: false,\n previousScroll: 0,\n savedScroll: 0,\n target: null as Element | null\n }),\n\n computed: {\n canScroll (): boolean {\n // TODO: remove\n if (this.scrollToolbarOffScreen) {\n deprecate('scrollToolbarOffScreen', 'scrollOffScreen', this)\n\n return true\n }\n\n return this.scrollOffScreen || this.invertedScroll\n },\n computedContentHeight (): number {\n if (this.height) return parseInt(this.height)\n if (this.dense) return this.heights.dense\n\n if (this.prominent ||\n this.$vuetify.breakpoint.mdAndUp\n ) return this.heights.desktop\n\n if (this.$vuetify.breakpoint.smAndDown &&\n this.$vuetify.breakpoint.width >\n this.$vuetify.breakpoint.height\n ) return this.heights.mobileLandscape\n\n return this.heights.mobile\n },\n computedExtensionHeight (): number {\n if (this.tabs) return 48\n if (this.extensionHeight) return parseInt(this.extensionHeight)\n\n return this.computedContentHeight\n },\n computedHeight (): number {\n if (!this.isExtended) return this.computedContentHeight\n\n return this.computedContentHeight + this.computedExtensionHeight\n },\n computedMarginTop (): number {\n if (!this.app) return 0\n\n return this.$vuetify.application.bar\n },\n classes (): object {\n return {\n 'v-toolbar': true,\n 'elevation-0': this.flat || (\n !this.isActive &&\n !this.tabs &&\n this.canScroll\n ),\n 'v-toolbar--absolute': this.absolute,\n 'v-toolbar--card': this.card,\n 'v-toolbar--clipped': this.clippedLeft || this.clippedRight,\n 'v-toolbar--dense': this.dense,\n 'v-toolbar--extended': this.isExtended,\n 'v-toolbar--fixed': !this.absolute && (this.app || this.fixed),\n 'v-toolbar--floating': this.floating,\n 'v-toolbar--prominent': this.prominent,\n ...this.themeClasses\n }\n },\n computedPaddingLeft (): number {\n if (!this.app || this.clippedLeft) return 0\n\n return this.$vuetify.application.left\n },\n computedPaddingRight (): number {\n if (!this.app || this.clippedRight) return 0\n\n return this.$vuetify.application.right\n },\n computedTransform (): number {\n return !this.isActive\n ? this.canScroll\n ? -this.computedContentHeight\n : -this.computedHeight\n : 0\n },\n currentThreshold (): number {\n return Math.abs(this.currentScroll - this.savedScroll)\n },\n styles (): object {\n return {\n marginTop: `${this.computedMarginTop}px`,\n paddingRight: `${this.computedPaddingRight}px`,\n paddingLeft: `${this.computedPaddingLeft}px`,\n transform: `translateY(${this.computedTransform}px)`\n }\n }\n },\n\n watch: {\n currentThreshold (val: number) {\n if (this.invertedScroll) {\n this.isActive = this.currentScroll > this.scrollThreshold\n return\n }\n\n if (val < this.scrollThreshold ||\n !this.isBooted\n ) return\n\n this.isActive = this.isScrollingUp\n this.savedScroll = this.currentScroll\n },\n isActive () {\n this.savedScroll = 0\n },\n invertedScroll (val: boolean) {\n this.isActive = !val\n },\n manualScroll (val: boolean) {\n this.isActive = !val\n },\n isScrollingUp () {\n this.savedScroll = this.savedScroll || this.currentScroll\n }\n },\n\n created () {\n if (this.invertedScroll ||\n this.manualScroll\n ) this.isActive = false\n },\n\n mounted () {\n if (this.scrollTarget) {\n this.target = document.querySelector(this.scrollTarget)\n }\n },\n\n methods: {\n onScroll () {\n if (!this.canScroll ||\n this.manualScroll ||\n typeof window === 'undefined'\n ) return\n\n this.currentScroll = this.target\n ? this.target.scrollTop\n : window.pageYOffset\n\n this.isScrollingUp = this.currentScroll < this.previousScroll\n\n this.previousScroll = this.currentScroll\n },\n updateApplication (): number {\n return this.invertedScroll || this.manualScroll\n ? 0\n : this.computedHeight\n }\n },\n\n render (h): VNode {\n this.isExtended = this.extended || !!this.$slots.extension\n\n const children = []\n const data = this.setBackgroundColor(this.color, {\n 'class': this.classes,\n style: this.styles,\n on: this.$listeners\n })\n\n data.directives = [{\n arg: this.scrollTarget,\n name: 'scroll',\n value: this.onScroll\n }]\n\n children.push(h('div', {\n staticClass: 'v-toolbar__content',\n style: { height: `${this.computedContentHeight}px` },\n ref: 'content'\n }, this.$slots.default))\n\n if (this.isExtended) {\n children.push(h('div', {\n staticClass: 'v-toolbar__extension',\n style: { height: `${this.computedExtensionHeight}px` }\n }, this.$slots.extension))\n }\n\n return h('nav', data, children)\n }\n})\n","import VBtn from '../VBtn'\nimport VIcon from '../VIcon'\n\nimport Vue from 'vue'\n\n/* @vue/component */\nexport default Vue.extend({\n name: 'v-toolbar-side-icon',\n\n functional: true,\n\n render (h, { slots, listeners, props, data }) {\n const classes = data.staticClass\n ? `${data.staticClass} v-toolbar__side-icon`\n : 'v-toolbar__side-icon'\n\n const d = Object.assign(data, {\n staticClass: classes,\n props: Object.assign(props, {\n icon: true\n }),\n on: listeners\n })\n\n const defaultSlot = slots().default\n\n return h(VBtn, d, defaultSlot || [h(VIcon, '$vuetify.icons.menu')])\n }\n})\n","import { createSimpleFunctional } from '../../util/helpers'\n\nimport VToolbar from './VToolbar'\nimport VToolbarSideIcon from './VToolbarSideIcon'\n\nconst VToolbarTitle = createSimpleFunctional('v-toolbar__title')\nconst VToolbarItems = createSimpleFunctional('v-toolbar__items')\n\nexport { VToolbar, VToolbarSideIcon, VToolbarTitle, VToolbarItems }\n\nexport default {\n $_vuetify_subcomponents: {\n VToolbar,\n VToolbarItems,\n VToolbarTitle,\n VToolbarSideIcon\n }\n}\n","import '../../stylus/components/_tooltips.styl'\n\n// Mixins\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, getSlotType } from '../../util/helpers'\nimport { consoleError } from '../../util/console'\n\n/* @vue/component */\nexport default {\n name: 'v-tooltip',\n\n mixins: [Colorable, Delayable, Dependent, Detachable, Menuable, Toggleable],\n\n props: {\n closeDelay: {\n type: [Number, String],\n default: 200\n },\n debounce: {\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: 200\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 () {\n const { activator, content } = this.dimensions\n const unknown = !this.bottom && !this.left && !this.top && !this.right\n const activatorLeft = this.isAttached ? 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 () {\n const { activator, content } = this.dimensions\n const activatorTop = this.isAttached ? 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 () {\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 }\n },\n computedTransition () {\n if (this.transition) return this.transition\n if (this.top) return 'slide-y-reverse-transition'\n if (this.right) return 'slide-x-transition'\n if (this.bottom) return 'slide-y-transition'\n if (this.left) return 'slide-x-reverse-transition'\n return ''\n },\n offsetY () {\n return this.top || this.bottom\n },\n offsetX () {\n return this.left || this.right\n },\n styles () {\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 ''`, 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 genActivator () {\n const listeners = this.disabled ? {} : {\n mouseenter: e => {\n this.getActivator(e)\n this.runDelay('open')\n },\n mouseleave: e => {\n this.getActivator(e)\n this.runDelay('close')\n }\n }\n\n if (getSlotType(this, 'activator') === 'scoped') {\n const activator = this.$scopedSlots.activator({ on: listeners })\n this.activatorNode = activator\n return activator\n }\n\n return this.$createElement('span', {\n on: listeners,\n ref: 'activator'\n }, this.$slots.activator)\n }\n },\n\n render (h) {\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.$slots.default))\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","// Styles\nimport '../../stylus/components/_treeview.styl'\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\n\ntype NodeCache = Set\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,\n items: {\n type: Array,\n default: () => ([])\n } as PropValidator,\n hoverable: Boolean,\n multipleActive: Boolean,\n open: {\n type: Array,\n default: () => ([])\n } as PropValidator,\n openAll: Boolean,\n returnObject: {\n type: Boolean,\n default: false // TODO: Should be true in next major\n },\n value: {\n type: Array,\n default: () => ([])\n } as PropValidator,\n search: String,\n filter: Function as PropValidator,\n ...VTreeviewNodeProps\n },\n\n data: () => ({\n nodes: {} as Record,\n selectedCache: new Set() as NodeCache,\n activeCache: new Set() as NodeCache,\n openCache: new Set() as NodeCache\n }),\n\n computed: {\n excludedItems (): Set {\n const excluded = new Set()\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.emitSelected()\n this.active.forEach(key => this.updateActive(key, true))\n this.emitActive()\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) {\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 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 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\n const all = [key, ...descendants, ...parents]\n all.forEach(this.updateVnodeState)\n\n for (const [key, value] of changed.entries()) {\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 ...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'\n\n// Utils\nimport mixins from '../../util/mixins'\nimport { getObjectValueByPath } from '../../util/helpers'\nimport { PropValidator } from 'vue/types/options'\n\n// Types\nimport Vue, { VNode } from 'vue'\n\ntype VTreeViewInstance = InstanceType\n\ninterface options extends Vue {\n treeview: VTreeViewInstance\n}\n\nexport const VTreeviewNodeProps = {\n activatable: Boolean,\n activeClass: {\n type: String,\n default: 'v-treeview-node--active'\n },\n selectable: Boolean,\n selectedColor: {\n type: String,\n default: 'accent'\n },\n indeterminateIcon: {\n type: String,\n default: '$vuetify.icons.checkboxIndeterminate'\n },\n onIcon: {\n type: String,\n default: '$vuetify.icons.checkboxOn'\n },\n offIcon: {\n type: String,\n default: '$vuetify.icons.checkboxOff'\n },\n expandIcon: {\n type: String,\n default: '$vuetify.icons.subgroup'\n },\n loadingIcon: {\n type: String,\n default: '$vuetify.icons.loading'\n },\n itemKey: {\n type: String,\n default: 'id'\n },\n itemText: {\n type: String,\n default: 'name'\n },\n itemChildren: {\n type: String,\n default: 'children'\n },\n loadChildren: Function as PropValidator<(item: any) => Promise>,\n openOnClick: Boolean,\n transition: Boolean\n}\n\nexport default mixins(\n RegistrableInject('treeview')\n /* @vue/component */\n).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 isOpen: false, // Node is open/expanded\n isSelected: false, // Node is selected (checkbox)\n isIndeterminate: false, // Node has at least one selected child\n isActive: false, // Node is selected (row)\n isLoading: false,\n hasLoaded: false\n }),\n\n computed: {\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 {\n return new Promise(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 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 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', {\n staticClass: 'v-treeview-node__root',\n class: {\n [this.activeClass]: this.isActive\n },\n on: {\n click: () => {\n if (this.openOnClick && this.children) {\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 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 itemChildren: this.itemChildren,\n loadChildren: this.loadChildren,\n transition: this.transition,\n openOnClick: this.openOnClick\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--selected': this.isSelected,\n 'v-treeview-node--excluded': this.treeview.isExcluded(this.key)\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\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","// Styles\nimport '../../stylus/components/_windows.styl'\n\n// Components\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 mandatory: {\n type: Boolean,\n default: true\n },\n reverse: {\n type: Boolean,\n default: undefined\n },\n touch: Object,\n touchless: Boolean,\n value: {\n required: false\n },\n vertical: Boolean\n },\n\n data () {\n return {\n internalHeight: undefined as undefined | string,\n isActive: false,\n isBooted: false,\n isReverse: false\n }\n },\n\n computed: {\n computedTransition (): string {\n if (!this.isBooted) return ''\n\n const axis = this.vertical ? 'y' : 'x'\n const direction = this.internalReverse === !this.$vuetify.rtl\n ? '-reverse'\n : ''\n\n return `v-window-${axis}${direction}-transition`\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 this.$nextTick(() => (this.isBooted = true))\n },\n\n methods: {\n genContainer (): VNode {\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\n }\n }, this.$slots.default)\n },\n next () {\n this.isReverse = false\n const nextIndex = (this.internalIndex + 1) % this.items.length\n const item = this.items[nextIndex]\n\n this.internalValue = this.getValue(item, nextIndex)\n },\n prev () {\n this.isReverse = true\n const lastIndex = (this.internalIndex + this.items.length - 1) % this.items.length\n const item = this.items[lastIndex]\n\n this.internalValue = this.getValue(item, lastIndex)\n },\n updateReverse (val: number, oldVal: number) {\n this.isReverse = val < oldVal\n }\n },\n\n render (h): VNode {\n const data = {\n staticClass: 'v-window',\n directives: [] as VNodeDirective[]\n }\n\n if (!this.touchless) {\n const value = this.touch || {\n left: this.next,\n right: this.prev\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 { ExtractVue } from './../../util/mixins'\nimport mixins from '../../util/mixins'\n\n// Types\nimport Vue, { VNode } from 'vue'\n\ntype VBaseWindow = InstanceType\n\ninterface options extends Vue {\n $el: HTMLElement\n windowGroup: VBaseWindow\n}\n\nexport default mixins>(\n Bootable,\n GroupableFactory('windowGroup', 'v-window-item', 'v-window')\n /* @vue/component */\n).extend({\n name: 'v-window-item',\n\n directives: {\n Touch\n },\n\n props: {\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 done: null as null | (() => void),\n isActive: false,\n wasCancelled: false\n }\n },\n\n computed: {\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 mounted () {\n this.$el.addEventListener('transitionend', this.onTransitionEnd, false)\n },\n\n beforeDestroy () {\n this.$el.removeEventListener('transitionend', this.onTransitionEnd, false)\n },\n\n methods: {\n genDefaultSlot () {\n return this.$slots.default\n },\n onAfterEnter () {\n if (this.wasCancelled) {\n this.wasCancelled = false\n return\n }\n\n requestAnimationFrame(() => {\n this.windowGroup.internalHeight = undefined\n this.windowGroup.isActive = false\n })\n },\n onBeforeEnter () {\n this.windowGroup.isActive = true\n },\n onLeave (el: HTMLElement) {\n this.windowGroup.internalHeight = convertToUnit(el.clientHeight)\n },\n onEnterCancelled () {\n this.wasCancelled = true\n },\n onEnter (el: HTMLElement, done: () => void) {\n const isBooted = this.windowGroup.isBooted\n\n if (isBooted) this.done = done\n\n requestAnimationFrame(() => {\n if (!this.computedTransition) return done()\n\n this.windowGroup.internalHeight = convertToUnit(el.clientHeight)\n\n // On initial render, there is no transition\n // Vue leaves a `enter` transition class\n // if done is called too fast\n !isBooted && setTimeout(done, 100)\n })\n },\n onTransitionEnd (e: TransitionEvent) {\n // This ensures we only call done\n // when the element transform\n // completes\n if (\n e.propertyName !== 'transform' ||\n e.target !== this.$el ||\n !this.done\n ) return\n\n this.done()\n this.done = null\n }\n },\n\n render (h): VNode {\n const div = h('div', {\n staticClass: 'v-window-item',\n directives: [{\n name: 'show',\n value: this.isActive\n }],\n on: this.$listeners\n }, this.showLazyContent(this.genDefaultSlot()))\n\n return h('transition', {\n props: {\n name: this.computedTransition\n },\n on: {\n afterEnter: this.onAfterEnter,\n beforeEnter: this.onBeforeEnter,\n leave: this.onLeave,\n enter: this.onEnter,\n enterCancelled: this.onEnterCancelled\n }\n }, [div])\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 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 * t\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 * t : -1 + (4 - 2 * t) * t)\n// accelerating from zero velocity\nexport const easeInCubic = (t: number) => t * t * t\n// decelerating to zero velocity\nexport const easeOutCubic = (t: number) => --t * t * t + 1\n// acceleration until halfway, then deceleration\nexport const easeInOutCubic = (t: number) => t < 0.5 ? 4 * t * t * t : (t - 1) * (2 * t - 2) * (2 * t - 2) + 1\n// accelerating from zero velocity\nexport const easeInQuart = (t: number) => t * t * t * t\n// decelerating to zero velocity\nexport const easeOutQuart = (t: number) => 1 - --t * t * t * t\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 * t * t * t * t\n// decelerating to zero velocity\nexport const easeOutQuint = (t: number) => 1 + --t * t * t * t * t\n// acceleration until halfway, then deceleration\nexport const easeInOutQuint = (t: number) => t < 0.5 ? 16 * t * t * t * t * t : 1 + 16 * --t * t * t * t * t\n","import * as easingPatterns from './easing-patterns'\nimport {\n getContainer,\n getOffset\n} from './util'\nimport Vue from 'vue'\n\ntype GoToTarget = number | string | HTMLElement | Vue\ninterface GoToSettings {\n container: string | HTMLElement | Vue\n duration: number\n offset: number\n easing: string | easingPatterns.EasingFunction\n appOffset: boolean\n}\n\nexport default function goTo (_target: GoToTarget, _settings: Partial = {}): Promise {\n const settings: GoToSettings = {\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 if (settings.appOffset) {\n const isDrawer = container.classList.contains('v-navigation-drawer')\n const isClipped = container.classList.contains('v-navigation-drawer--clipped')\n\n settings.offset += Vue.prototype.$vuetify.application.bar\n if (!isDrawer || isClipped) settings.offset += Vue.prototype.$vuetify.application.top\n }\n\n const startTime = performance.now()\n const targetLocation = getOffset(_target) - settings.offset\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 as Dictionary)[settings.easing]\n if (!ease) throw new TypeError(`Easing function \"${settings.easing}\" not found.`)\n\n // tslint:disable-next-line:promise-must-complete\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 if (progress === 1 || container.clientHeight + container.scrollTop === container.scrollHeight) {\n return resolve(targetLocation)\n }\n\n requestAnimationFrame(step)\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(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","import OurVue from 'vue'\n\nimport application from './mixins/application'\nimport breakpoint from './mixins/breakpoint'\nimport theme from './mixins/theme'\nimport icons from './mixins/icons'\nimport options from './mixins/options'\nimport genLang from './mixins/lang'\nimport goTo from './goTo'\n\n// Utils\nimport { consoleWarn, consoleError } from '../../util/console'\n\n// Types\nimport { VueConstructor } from 'vue/types'\nimport { Vuetify as VuetifyPlugin, VuetifyUseOptions } from 'vuetify/types'\n\nconst Vuetify: VuetifyPlugin = {\n install (Vue, opts = {}) {\n if ((this as any).installed) return\n ;(this 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 checkVueVersion(Vue)\n\n const lang = genLang(opts.lang)\n\n Vue.prototype.$vuetify = new Vue({\n mixins: [\n breakpoint(opts.breakpoint)\n ],\n data: {\n application,\n dark: false,\n icons: icons(opts.iconfont, opts.icons),\n lang,\n options: options(opts.options),\n rtl: opts.rtl,\n theme: theme(opts.theme)\n },\n methods: {\n goTo,\n t: lang.t.bind(lang)\n }\n })\n\n if (opts.directives) {\n for (const name in opts.directives) {\n Vue.directive(name, opts.directives[name])\n }\n }\n\n (function registerComponents (components: VuetifyUseOptions['components']) {\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 })(opts.components)\n },\n version: __VUETIFY_VERSION__\n}\n\nexport function checkVueVersion (Vue: VueConstructor, requiredVue?: string) {\n const vueDep = requiredVue || __REQUIRED_VUE__\n\n const required = vueDep.split('.', 3).map(v => v.replace(/\\D/g, '')).map(Number)\n const actual = Vue.version.split('.', 3).map(n => parseInt(n, 10))\n\n // Simple semver caret range comparison\n const passes =\n actual[0] === required[0] && // major matches\n (actual[1] > required[1] || // minor is greater\n (actual[1] === required[1] && actual[2] >= required[2]) // or minor is eq and patch is >=\n )\n\n if (!passes) {\n consoleWarn(`Vuetify requires Vue version ${vueDep}`)\n }\n}\n\nexport default Vuetify\n","export type TargetProp = 'bar' | 'bottom' | 'footer' | 'insetFooter' | 'left' | 'right' | 'top'\n\ninterface TargetPropValues {\n [uid: number]: number\n}\n\nexport default {\n bar: 0,\n bottom: 0,\n footer: 0,\n insetFooter: 0,\n left: 0,\n right: 0,\n top: 0,\n components: {\n bar: {} as TargetPropValues,\n bottom: {} as TargetPropValues,\n footer: {} as TargetPropValues,\n insetFooter: {} as TargetPropValues,\n left: {} as TargetPropValues,\n right: {} as TargetPropValues,\n top: {} as TargetPropValues\n },\n bind (uid: number, target: TargetProp, value: number): void {\n if (!this.components[target]) return\n\n this.components[target] = { [uid]: value }\n this.update(target)\n },\n unbind (uid: number, target: TargetProp): void {\n if (this.components[target][uid] == null) return\n\n delete (this.components as any)[target][uid]\n this.update(target)\n },\n update (target: TargetProp): void {\n this[target] = Object.values(this.components[target])\n .reduce((acc: number, cur: number): number => (acc + cur), 0)\n }\n}\n","import Vue from 'vue'\nimport { VuetifyUseOptions, VuetifyBreakpoint } from 'vuetify/types'\n\nconst BREAKPOINTS_DEFAULTS = {\n thresholds: {\n xs: 600,\n sm: 960,\n md: 1280,\n lg: 1920\n },\n scrollbarWidth: 16\n}\n\n/**\n * Factory function for the breakpoint mixin.\n */\nexport default function breakpoint (opts: VuetifyUseOptions['breakpoint'] = {}) {\n if (!opts) {\n opts = {}\n }\n\n return Vue.extend({\n data () {\n return {\n clientHeight: getClientHeight(),\n clientWidth: getClientWidth(),\n resizeTimeout: undefined as number | undefined,\n\n ...BREAKPOINTS_DEFAULTS,\n ...opts\n }\n },\n\n computed: {\n breakpoint (): VuetifyBreakpoint {\n const xs = this.clientWidth < this.thresholds.xs\n const sm = this.clientWidth < this.thresholds.sm && !xs\n const md = this.clientWidth < (this.thresholds.md - this.scrollbarWidth) && !(sm || xs)\n const lg = this.clientWidth < (this.thresholds.lg - this.scrollbarWidth) && !(md || sm || xs)\n const xl = this.clientWidth >= (this.thresholds.lg - this.scrollbarWidth)\n\n const xsOnly = xs\n const smOnly = sm\n const smAndDown = (xs || sm) && !(md || lg || xl)\n const smAndUp = !xs && (sm || md || lg || xl)\n const mdOnly = md\n const mdAndDown = (xs || sm || md) && !(lg || xl)\n const mdAndUp = !(xs || sm) && (md || lg || xl)\n const lgOnly = lg\n const lgAndDown = (xs || sm || md || lg) && !xl\n const lgAndUp = !(xs || sm || md) && (lg || xl)\n const xlOnly = xl\n\n let name\n switch (true) {\n case (xs):\n name = 'xs'\n break\n case (sm):\n name = 'sm'\n break\n case (md):\n name = 'md'\n break\n case (lg):\n name = 'lg'\n break\n default:\n name = 'xl'\n break\n }\n\n return {\n // Definite breakpoint.\n xs,\n sm,\n md,\n lg,\n xl,\n\n // Useful e.g. to construct CSS class names dynamically.\n name,\n\n // Breakpoint ranges.\n xsOnly,\n smOnly,\n smAndDown,\n smAndUp,\n mdOnly,\n mdAndDown,\n mdAndUp,\n lgOnly,\n lgAndDown,\n lgAndUp,\n xlOnly,\n\n // For custom breakpoint logic.\n width: this.clientWidth,\n height: this.clientHeight,\n thresholds: this.thresholds,\n scrollbarWidth: this.scrollbarWidth\n }\n }\n },\n\n created () {\n if (typeof window === 'undefined') return\n\n window.addEventListener('resize', this.onResize, { passive: true })\n },\n\n beforeDestroy () {\n if (typeof window === 'undefined') return\n\n window.removeEventListener('resize', this.onResize)\n },\n\n methods: {\n onResize (): void {\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.setDimensions, 200)\n },\n setDimensions (): void {\n this.clientHeight = getClientHeight()\n this.clientWidth = getClientWidth()\n }\n }\n })\n}\n\n// Cross-browser support as described in:\n// https://stackoverflow.com/questions/1248081\nfunction getClientWidth () {\n if (typeof document === 'undefined') return 0 // SSR\n return Math.max(\n document.documentElement!.clientWidth,\n window.innerWidth || 0\n )\n}\n\nfunction getClientHeight () {\n if (typeof document === 'undefined') return 0 // SSR\n return Math.max(\n document.documentElement!.clientHeight,\n window.innerHeight || 0\n )\n}\n","import { VuetifyIcon, VuetifyIcons } from 'vuetify'\nimport { Component } from 'vue'\n\n// Maps internal Vuetify icon names to actual Material Design icon names.\nconst ICONS_MATERIAL: 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}\n\n// Maps internal Vuetify icon names to actual icons from materialdesignicons.com\nconst ICONS_MDI: 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}\n\n// Maps internal Vuetify icon names to actual Font-Awesome 4 icon names.\nconst ICONS_FONTAWESOME4: 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': 'fa fa-square-o', // 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',\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}\n\n// Maps internal Vuetify icon names to actual Font-Awesome 5+ icon names.\nconst ICONS_FONTAWESOME: 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}\n\nexport function convertToComponentDeclarations (\n component: Component | string,\n iconSet: VuetifyIcons\n) {\n const result: {[name: string]: VuetifyIcon} = {}\n\n for (const key in iconSet) {\n result[key] = {\n component,\n props: {\n icon: (iconSet[key] as string).split(' fa-')\n }\n }\n }\n\n return result as VuetifyIcons\n}\n\nconst iconSets: Record = {\n md: ICONS_MATERIAL,\n mdi: ICONS_MDI,\n fa: ICONS_FONTAWESOME,\n fa4: ICONS_FONTAWESOME4,\n faSvg: convertToComponentDeclarations('font-awesome-icon', ICONS_FONTAWESOME)\n}\n\nexport default function icons (iconfont = 'md', icons: Partial = {}) {\n return Object.assign({}, iconSets[iconfont] || iconSets.md, icons)\n}\n","import en from '../../../locale/en'\nimport { getObjectValueByPath } from '../../../util/helpers'\nimport { consoleError, consoleWarn } from '../../../util/console'\nimport { VuetifyUseOptions as Options } from 'vuetify/types'\nimport { VuetifyLanguage, VuetifyLocale } from 'vuetify/types/lang'\n\nconst LANG_PREFIX = '$vuetify.'\nconst fallback = Symbol('Lang fallback')\n\nfunction getTranslation (locale: VuetifyLocale, key: string, usingFallback = false): 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 default function lang (config: Options['lang'] = {}): VuetifyLanguage {\n return {\n locales: Object.assign({ en }, config.locales),\n current: config.current || 'en',\n t (key, ...params) {\n if (!key.startsWith(LANG_PREFIX)) return key\n\n if (config.t) return config.t(key, ...params)\n\n const translation = getTranslation(this.locales[this.current], key)\n\n return translation.replace(/\\{(\\d+)\\}/g, (match: string, index: string) => {\n return String(params[+index])\n })\n }\n }\n}\n","import { VuetifyOptions } from '../../../../types'\n\nconst OPTIONS_DEFAULTS = {\n minifyTheme: null,\n themeCache: null,\n customProperties: false,\n cspNonce: null\n} as VuetifyOptions\n\nexport default function options (options: Partial = {}): VuetifyOptions {\n return {\n ...OPTIONS_DEFAULTS,\n ...options\n }\n}\n","import { VuetifyUseOptions, VuetifyTheme } from 'vuetify/types'\n\n/* eslint-disable no-multi-spaces */\nconst THEME_DEFAULTS = {\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' // orange.darken1\n}\n\nexport default function theme (theme: VuetifyUseOptions['theme'] = {}): VuetifyTheme | false {\n if (theme === false) return false\n\n return {\n ...THEME_DEFAULTS,\n ...theme\n }\n}\n","export * from './VApp'\nexport * from './VAlert'\nexport * from './VAutocomplete'\nexport * from './VAvatar'\nexport * from './VBadge'\nexport * from './VBottomNav'\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 './VCombobox'\nexport * from './VCounter'\nexport * from './VDataIterator'\nexport * from './VDataTable'\nexport * from './VDatePicker'\nexport * from './VDialog'\nexport * from './VDivider'\nexport * from './VExpansionPanel'\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 './VJumbotron'\nexport * from './VLabel'\nexport * from './VList'\nexport * from './VMenu'\nexport * from './VMessages'\nexport * from './VNavigationDrawer'\nexport * from './VOverflowBtn'\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 './VSlider'\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\nexport default function (expandedParentClass = '', x = false) {\n const sizeProperty = x ? 'width' : 'height'\n\n return {\n beforeEnter (el) {\n el._parent = el.parentNode\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) {\n const initialStyle = el._initialStyle\n el.style.setProperty('transition', 'none', 'important')\n el.style.visibility = 'hidden'\n const size = `${el['offset' + upperFirst(sizeProperty)]}px`\n el.style.visibility = initialStyle.visibility\n el.style.overflow = 'hidden'\n el.style[sizeProperty] = 0\n void el.offsetHeight // force reflow\n el.style.transition = initialStyle.transition\n\n expandedParentClass && el._parent && el._parent.classList.add(expandedParentClass)\n\n requestAnimationFrame(() => {\n el.style[sizeProperty] = size\n })\n },\n\n afterEnter: resetStyles,\n enterCancelled: resetStyles,\n\n leave (el) {\n el._initialStyle = {\n overflow: el.style.overflow,\n [sizeProperty]: el.style[sizeProperty]\n }\n\n el.style.overflow = 'hidden'\n el.style[sizeProperty] = `${el['offset' + upperFirst(sizeProperty)]}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) {\n expandedParentClass && el._parent && el._parent.classList.remove(expandedParentClass)\n resetStyles(el)\n }\n\n function resetStyles (el) {\n el.style.overflow = el._initialStyle.overflow\n el.style[sizeProperty] = el._initialStyle[sizeProperty]\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 VBottomSheetTransition = createSimpleTransition('bottom-sheet-transition')\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))\nexport const VRowExpandTransition = createJavaScriptTransition('row-expand-transition', ExpandTransitionGenerator('datatable__expand-col--expanded'))\n\nexport default {\n $_vuetify_subcomponents: {\n VBottomSheetTransition,\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 VRowExpandTransition\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 default {\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","import ClickOutside from './click-outside'\nimport Resize from './resize'\nimport Ripple from './ripple'\nimport Scroll from './scroll'\nimport Touch from './touch'\n\nexport {\n ClickOutside,\n Ripple,\n Resize,\n Scroll,\n Touch\n}\n\nexport default {\n ClickOutside,\n Ripple,\n Resize,\n Scroll,\n Touch\n}\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 default {\n inserted,\n unbind\n}\n","import { 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 ripple = {\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 }\n value.center = element._ripple.centered\n if (element._ripple.class) {\n value.class = element._ripple.class\n }\n ripple.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 ripple.hide(element)\n}\n\nfunction updateRipple (el: HTMLElement, binding: VNodeDirective, wasEnabled: boolean) {\n const enabled = isRippleEnabled(binding.value)\n if (!enabled) {\n ripple.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 // 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\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 default {\n bind: directive,\n unbind,\n update\n}\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 default {\n inserted,\n unbind\n} as DirectiveOptions\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 default {\n inserted,\n unbind\n}\n","import './stylus/app.styl'\nimport VuetifyComponent from './components/Vuetify'\nimport * as components from './components'\nimport directives from './directives'\nimport { VueConstructor } from 'vue'\nimport { Vuetify as VuetifyPlugin, VuetifyUseOptions } from 'vuetify/types'\n\nconst Vuetify: VuetifyPlugin = {\n install (Vue: VueConstructor, args?: VuetifyUseOptions): void {\n Vue.use(VuetifyComponent, {\n components,\n directives,\n ...args\n })\n },\n version: __VUETIFY_VERSION__\n}\n\nif (typeof window !== 'undefined' && window.Vue) {\n window.Vue.use(Vuetify)\n}\n\nexport default Vuetify\n","export default {\n dataIterator: {\n rowsPerPageText: 'Items per page:',\n rowsPerPageAll: 'All',\n pageText: '{0}-{1} of {2}',\n noResultsText: 'No matching records found',\n nextPage: 'Next page',\n prevPage: 'Previous page'\n },\n dataTable: {\n rowsPerPageText: 'Rows per page:'\n },\n noDataText: 'No data available',\n carousel: {\n prev: 'Previous visual',\n next: 'Next visual'\n }\n}\n","import { factory as PositionableFactory } from './positionable'\nimport { TargetProp } from '../components/Vuetify/mixins/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.unbind(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.bind(\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.unbind(\n this._uid,\n this.applicationProperty\n )\n },\n updateApplication: () => 0\n }\n })\n}\n","import Vue, { VNode } from 'vue'\n\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().extend({\n name: 'bootable',\n\n props: {\n lazy: Boolean\n },\n\n data: () => ({\n isBooted: false\n }),\n\n computed: {\n hasContent (): boolean | undefined {\n return this.isBooted || !this.lazy || this.isActive\n }\n },\n\n watch: {\n isActive () {\n this.isBooted = true\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 props: {\n activeClass: {\n type: String,\n default: 'v-btn--active'\n }\n },\n\n computed: {\n classes (): object {\n return BaseItemGroup.options.computed.classes.call(this)\n }\n }\n})\n","import Vue from 'vue'\nimport { VNodeData } from 'vue/types/vnode'\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 (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 (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\n }\n})\n","import VBtn from '../components/VBtn'\nimport VIcon from '../components/VIcon'\nimport VSelect from '../components/VSelect'\n\nimport Filterable from './filterable'\nimport Themeable from './themeable'\nimport Loadable from './loadable'\n\nimport { getObjectValueByPath, isObject } from '../util/helpers'\nimport { consoleWarn } from '../util/console'\n\n/**\n * DataIterable\n *\n * @mixin\n *\n * Base behavior for data table and data iterator\n * providing selection, pagination, sorting and filtering.\n *\n */\n/* @vue/component */\nexport default {\n name: 'data-iterable',\n\n mixins: [Filterable, Loadable, Themeable],\n\n props: {\n expand: Boolean,\n hideActions: Boolean,\n disableInitialSort: Boolean,\n mustSort: Boolean,\n noResultsText: {\n type: String,\n default: '$vuetify.dataIterator.noResultsText'\n },\n nextIcon: {\n type: String,\n default: '$vuetify.icons.next'\n },\n prevIcon: {\n type: String,\n default: '$vuetify.icons.prev'\n },\n rowsPerPageItems: {\n type: Array,\n default () {\n return [\n 5,\n 10,\n 25,\n {\n text: '$vuetify.dataIterator.rowsPerPageAll',\n value: -1\n }\n ]\n }\n },\n rowsPerPageText: {\n type: String,\n default: '$vuetify.dataIterator.rowsPerPageText'\n },\n selectAll: [Boolean, String],\n search: {\n required: false\n },\n filter: {\n type: Function,\n default: (val, search) => {\n return val != null &&\n typeof val !== 'boolean' &&\n val.toString().toLowerCase().indexOf(search) !== -1\n }\n },\n customFilter: {\n type: Function,\n default: (items, search, filter) => {\n search = search.toString().toLowerCase()\n if (search.trim() === '') return items\n\n return items.filter(i => (\n Object.keys(i).some(j => filter(i[j], search))\n ))\n }\n },\n customSort: {\n type: Function,\n default: (items, index, isDescending) => {\n if (index === null) return items\n\n return items.sort((a, b) => {\n let sortA = getObjectValueByPath(a, index)\n let sortB = getObjectValueByPath(b, index)\n\n if (isDescending) {\n [sortA, sortB] = [sortB, sortA]\n }\n\n // Check if both are numbers\n if (!isNaN(sortA) && !isNaN(sortB)) {\n return sortA - sortB\n }\n\n // Check if both cannot be evaluated\n if (sortA === null && sortB === null) {\n return 0\n }\n\n [sortA, sortB] = [sortA, sortB]\n .map(s => (\n (s || '').toString().toLocaleLowerCase()\n ))\n\n if (sortA > sortB) return 1\n if (sortA < sortB) return -1\n\n return 0\n })\n }\n },\n value: {\n type: Array,\n default: () => []\n },\n items: {\n type: Array,\n required: true,\n default: () => []\n },\n totalItems: {\n type: Number,\n default: null\n },\n itemKey: {\n type: String,\n default: 'id'\n },\n pagination: {\n type: Object,\n default: () => {}\n }\n },\n\n data: () => ({\n searchLength: 0,\n defaultPagination: {\n descending: false,\n page: 1,\n rowsPerPage: 5,\n sortBy: null,\n totalItems: 0\n },\n expanded: {},\n actionsClasses: 'v-data-iterator__actions',\n actionsRangeControlsClasses: 'v-data-iterator__actions__range-controls',\n actionsSelectClasses: 'v-data-iterator__actions__select',\n actionsPaginationClasses: 'v-data-iterator__actions__pagination'\n }),\n\n computed: {\n computedPagination () {\n return this.hasPagination\n ? this.pagination\n : this.defaultPagination\n },\n computedRowsPerPageItems () {\n return this.rowsPerPageItems.map(item => {\n return isObject(item)\n ? Object.assign({}, item, {\n text: this.$vuetify.t(item.text)\n })\n : { value: item, text: Number(item).toLocaleString(this.$vuetify.lang.current) }\n })\n },\n hasPagination () {\n const pagination = this.pagination || {}\n\n return Object.keys(pagination).length > 0\n },\n hasSelectAll () {\n return this.selectAll !== undefined && this.selectAll !== false\n },\n itemsLength () {\n if (this.hasSearch) return this.searchLength\n return this.totalItems || this.items.length\n },\n indeterminate () {\n return this.hasSelectAll && this.someItems && !this.everyItem\n },\n everyItem () {\n return this.filteredItems.length &&\n this.filteredItems.every(i => this.isSelected(i))\n },\n someItems () {\n return this.filteredItems.some(i => this.isSelected(i))\n },\n getPage () {\n const { rowsPerPage } = this.computedPagination\n\n return rowsPerPage === Object(rowsPerPage)\n ? rowsPerPage.value\n : rowsPerPage\n },\n pageStart () {\n return this.getPage === -1\n ? 0\n : (this.computedPagination.page - 1) * this.getPage\n },\n pageStop () {\n return this.getPage === -1\n ? this.itemsLength\n : this.computedPagination.page * this.getPage\n },\n filteredItems () {\n return this.filteredItemsImpl()\n },\n selected () {\n const selected = {}\n for (let index = 0; index < this.value.length; index++) {\n const key = getObjectValueByPath(this.value[index], this.itemKey)\n selected[key] = true\n }\n return selected\n },\n hasSearch () {\n return this.search != null\n }\n },\n\n watch: {\n items () {\n if (this.pageStart >= this.itemsLength) {\n this.resetPagination()\n }\n const newItemKeys = new Set(this.items.map(item => getObjectValueByPath(item, this.itemKey)))\n const selection = this.value.filter(item => newItemKeys.has(getObjectValueByPath(item, this.itemKey)))\n\n if (selection.length !== this.value.length) {\n this.$emit('input', selection)\n }\n },\n search () {\n this.$nextTick(() => {\n this.updatePagination({ page: 1, totalItems: this.itemsLength })\n })\n },\n 'computedPagination.sortBy': 'resetPagination',\n 'computedPagination.descending': 'resetPagination'\n },\n\n methods: {\n initPagination () {\n if (!this.rowsPerPageItems.length) {\n consoleWarn(`The prop 'rows-per-page-items' can not be empty`, this)\n } else {\n this.defaultPagination.rowsPerPage = this.rowsPerPageItems[0]\n }\n\n this.defaultPagination.totalItems = this.items.length\n\n this.updatePagination(\n Object.assign({}, this.defaultPagination, this.pagination)\n )\n },\n updatePagination (val) {\n const pagination = this.hasPagination\n ? this.pagination\n : this.defaultPagination\n const updatedPagination = Object.assign({}, pagination, val)\n this.$emit('update:pagination', updatedPagination)\n\n if (!this.hasPagination) {\n this.defaultPagination = updatedPagination\n }\n },\n isSelected (item) {\n return this.selected[getObjectValueByPath(item, this.itemKey)]\n },\n isExpanded (item) {\n return this.expanded[getObjectValueByPath(item, this.itemKey)]\n },\n filteredItemsImpl (...additionalFilterArgs) {\n if (this.totalItems) return this.items\n\n let items = this.items.slice()\n\n if (this.hasSearch) {\n items = this.customFilter(items, this.search, this.filter, ...additionalFilterArgs)\n this.searchLength = items.length\n }\n\n items = this.customSort(\n items,\n this.computedPagination.sortBy,\n this.computedPagination.descending\n )\n\n return this.hideActions &&\n !this.hasPagination\n ? items\n : items.slice(this.pageStart, this.pageStop)\n },\n resetPagination () {\n this.computedPagination.page !== 1 &&\n this.updatePagination({ page: 1 })\n },\n sort (index) {\n const { sortBy, descending } = this.computedPagination\n if (sortBy === null) {\n this.updatePagination({ sortBy: index, descending: false })\n } else if (sortBy === index && !descending) {\n this.updatePagination({ descending: true })\n } else if (sortBy !== index) {\n this.updatePagination({ sortBy: index, descending: false })\n } else if (!this.mustSort) {\n this.updatePagination({ sortBy: null, descending: null })\n } else {\n this.updatePagination({ sortBy: index, descending: false })\n }\n },\n toggle (value) {\n const selected = Object.assign({}, this.selected)\n for (let index = 0; index < this.filteredItems.length; index++) {\n const key = getObjectValueByPath(this.filteredItems[index], this.itemKey)\n selected[key] = value\n }\n\n this.$emit('input', this.items.filter(i => {\n const key = getObjectValueByPath(i, this.itemKey)\n return selected[key]\n }))\n },\n createProps (item, index) {\n const props = { item, index }\n const keyProp = this.itemKey\n const itemKey = getObjectValueByPath(item, keyProp)\n\n Object.defineProperty(props, 'selected', {\n get: () => this.selected[itemKey],\n set: value => {\n if (itemKey == null) {\n consoleWarn(`\"${keyProp}\" attribute must be defined for item`, this)\n }\n\n let selected = this.value.slice()\n if (value) selected.push(item)\n else selected = selected.filter(i => getObjectValueByPath(i, keyProp) !== itemKey)\n this.$emit('input', selected)\n }\n })\n\n Object.defineProperty(props, 'expanded', {\n get: () => this.expanded[itemKey],\n set: value => {\n if (itemKey == null) {\n consoleWarn(`\"${keyProp}\" attribute must be defined for item`, this)\n }\n\n if (!this.expand) {\n for (const key in this.expanded) {\n this.expanded.hasOwnProperty(key) && this.$set(this.expanded, key, false)\n }\n }\n this.$set(this.expanded, itemKey, value)\n }\n })\n\n return props\n },\n genItems () {\n if (!this.itemsLength && !this.items.length) {\n const noData = this.$slots['no-data'] || this.$vuetify.t(this.noDataText)\n return [this.genEmptyItems(noData)]\n }\n\n if (!this.filteredItems.length) {\n const noResults = this.$slots['no-results'] || this.$vuetify.t(this.noResultsText)\n return [this.genEmptyItems(noResults)]\n }\n\n return this.genFilteredItems()\n },\n genPrevIcon () {\n return this.$createElement(VBtn, {\n props: {\n disabled: this.computedPagination.page === 1,\n icon: true,\n flat: true\n },\n on: {\n click: () => {\n const page = this.computedPagination.page\n this.updatePagination({ page: page - 1 })\n }\n },\n attrs: {\n 'aria-label': this.$vuetify.t('$vuetify.dataIterator.prevPage')\n }\n }, [this.$createElement(VIcon, this.$vuetify.rtl ? this.nextIcon : this.prevIcon)])\n },\n genNextIcon () {\n const pagination = this.computedPagination\n const disabled = pagination.rowsPerPage < 0 ||\n pagination.page * pagination.rowsPerPage >= this.itemsLength ||\n this.pageStop < 0\n\n return this.$createElement(VBtn, {\n props: {\n disabled,\n icon: true,\n flat: true\n },\n on: {\n click: () => {\n const page = this.computedPagination.page\n this.updatePagination({ page: page + 1 })\n }\n },\n attrs: {\n 'aria-label': this.$vuetify.t('$vuetify.dataIterator.nextPage')\n }\n }, [this.$createElement(VIcon, this.$vuetify.rtl ? this.prevIcon : this.nextIcon)])\n },\n genSelect () {\n return this.$createElement('div', {\n 'class': this.actionsSelectClasses\n }, [\n this.$vuetify.t(this.rowsPerPageText),\n this.$createElement(VSelect, {\n attrs: {\n 'aria-label': this.$vuetify.t(this.rowsPerPageText)\n },\n props: {\n items: this.computedRowsPerPageItems,\n value: this.computedPagination.rowsPerPage,\n hideDetails: true,\n menuProps: {\n auto: true,\n dark: this.dark,\n light: this.light,\n minWidth: '75px'\n }\n },\n on: {\n input: val => {\n this.updatePagination({\n page: 1,\n rowsPerPage: val\n })\n }\n }\n })\n ])\n },\n genPagination () {\n let pagination = 'โ'\n\n if (this.itemsLength) {\n const stop = this.itemsLength < this.pageStop || this.pageStop < 0\n ? this.itemsLength\n : this.pageStop\n\n pagination = this.$scopedSlots.pageText\n ? this.$scopedSlots.pageText({\n pageStart: this.pageStart + 1,\n pageStop: stop,\n itemsLength: this.itemsLength\n })\n : this.$vuetify.t('$vuetify.dataIterator.pageText',\n ...([this.pageStart + 1, stop, this.itemsLength].map(n => Number(n).toLocaleString(this.$vuetify.lang.current))))\n }\n\n return this.$createElement('div', {\n 'class': this.actionsPaginationClasses\n }, [pagination])\n },\n genActions () {\n const rangeControls = this.$createElement('div', {\n 'class': this.actionsRangeControlsClasses\n }, [\n this.genPagination(),\n this.genPrevIcon(),\n this.genNextIcon()\n ])\n\n return [this.$createElement('div', {\n 'class': this.actionsClasses\n }, [\n this.$slots['actions-prepend'] ? this.$createElement('div', {}, this.$slots['actions-prepend']) : null,\n this.rowsPerPageItems.length > 1 ? this.genSelect() : null,\n rangeControls,\n this.$slots['actions-append'] ? this.$createElement('div', {}, this.$slots['actions-append']) : null\n ])]\n }\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().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'\n\ninterface options extends Vue {\n $el: HTMLElement\n $refs: {\n content: HTMLElement\n }\n overlay?: HTMLElement\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().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)\n result.push(...this.getOpenDependentElements())\n\n return result\n }\n }\n})\n","import Bootable from './bootable'\nimport { consoleWarn } from '../util/console'\n\nfunction validateAttachTarget (val) {\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 {\n name: 'detachable',\n\n mixins: [Bootable],\n\n props: {\n attach: {\n type: null,\n default: false,\n validator: validateAttachTarget\n },\n contentClass: {\n default: ''\n }\n },\n\n data: () => ({\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 activator.forEach(node => {\n node.elm && this.$el.parentNode.insertBefore(node.elm, this.$el)\n })\n }\n })\n },\n\n mounted () {\n !this.lazy && this.initDetach()\n },\n\n deactivated () {\n this.isActive = false\n },\n\n beforeDestroy () {\n // IE11 Fix\n try {\n if (this.$refs.content) {\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 && node.elm.parentNode.removeChild(node.elm)\n })\n }\n } catch (e) { console.log(e) }\n },\n\n methods: {\n getScopeIdAttrs () {\n const scopeId = this.$vnode && this.$vnode.context.$options._scopeId\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 ()\n this.attach === true || // If bound to a boolean ()\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 {\n if (!this.computedElevation) return {}\n\n return { [`elevation-${this.computedElevation}`]: 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 = VueConstructor> & {\n activeClass: string\n isActive: boolean\n groupClasses: object\n toggle (): void\n}>\n\nexport function factory (\n namespace: T,\n child?: string,\n parent?: string\n): Groupable {\n return RegistrableInject(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,\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\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().extend({\n name: 'loadable',\n\n props: {\n loading: {\n type: [Boolean, String],\n default: false\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 color: (this.loading === true || this.loading === '')\n ? (this.color || 'primary')\n : this.loading,\n height: 2,\n indeterminate: true\n }\n })\n }\n }\n})\n","/**\n * Maskable\n *\n * @mixin\n *\n * Creates an input mask that is\n * generated from a masked str\n *\n * Example: mask=\"#### #### #### ####\"\n */\n\nimport {\n isMaskDelimiter,\n maskText,\n unmaskText\n} from '../util/mask'\n\n/* @vue/component */\nexport default {\n name: 'maskable',\n\n props: {\n dontFillMaskBlanks: Boolean,\n mask: {\n type: [Object, String],\n default: null\n },\n returnMaskedValue: Boolean,\n value: { required: false }\n },\n\n data: vm => ({\n selection: 0,\n lazySelection: 0,\n lazyValue: vm.value,\n preDefined: {\n 'credit-card': '#### - #### - #### - ####',\n 'date': '##/##/####',\n 'date-with-time': '##/##/#### ##:##',\n 'phone': '(###) ### - ####',\n 'social': '###-##-####',\n 'time': '##:##',\n 'time-with-seconds': '##:##:##'\n }\n }),\n\n computed: {\n masked () {\n const preDefined = this.preDefined[this.mask]\n const mask = preDefined || this.mask || ''\n\n return mask.split('')\n }\n },\n\n watch: {\n /**\n * Make sure the cursor is in the correct\n * location when the mask changes\n */\n mask () {\n if (!this.$refs.input) return\n\n const oldValue = this.$refs.input.value\n const newValue = this.maskText(unmaskText(this.lazyValue))\n let position = 0\n let selection = this.selection\n\n for (let index = 0; index < selection; index++) {\n isMaskDelimiter(oldValue[index]) || position++\n }\n\n selection = 0\n if (newValue) {\n for (let index = 0; index < newValue.length; index++) {\n isMaskDelimiter(newValue[index]) || position--\n selection++\n if (position <= 0) break\n }\n }\n\n this.$nextTick(() => {\n this.$refs.input.value = newValue\n this.setCaretPosition(selection)\n })\n }\n },\n\n beforeMount () {\n if (!this.mask ||\n this.value == null ||\n !this.returnMaskedValue\n ) return\n\n const value = this.maskText(this.value)\n\n // See if masked value does not\n // match the user given value\n if (value === this.value) return\n\n this.$emit('input', value)\n },\n\n methods: {\n setCaretPosition (selection) {\n this.selection = selection\n window.setTimeout(() => {\n this.$refs.input && this.$refs.input.setSelectionRange(this.selection, this.selection)\n }, 0)\n },\n updateRange () {\n /* istanbul ignore next */\n if (!this.$refs.input) return\n\n const newValue = this.maskText(this.lazyValue)\n let selection = 0\n\n this.$refs.input.value = newValue\n if (newValue) {\n for (let index = 0; index < newValue.length; index++) {\n if (this.lazySelection <= 0) break\n isMaskDelimiter(newValue[index]) || this.lazySelection--\n selection++\n }\n }\n\n this.setCaretPosition(selection)\n // this.$emit() must occur only when all internal values are correct\n this.$emit('input', this.returnMaskedValue ? this.$refs.input.value : this.lazyValue)\n },\n maskText (text) {\n return this.mask ? maskText(text, this.masked, this.dontFillMaskBlanks) : text\n },\n unmaskText (text) {\n return this.mask && !this.returnMaskedValue ? unmaskText(text) : text\n },\n // When the input changes and is\n // re-created, ensure that the\n // caret location is correct\n setSelectionRange () {\n this.$nextTick(this.updateRange)\n },\n resetSelections (input) {\n if (!input.selectionEnd) return\n this.selection = input.selectionEnd\n this.lazySelection = 0\n\n for (let index = 0; index < this.selection; index++) {\n isMaskDelimiter(input.value[index]) || this.lazySelection++\n }\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\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 = {}\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","import Vue from 'vue'\n\nimport Positionable from './positionable'\n\nimport Stackable from './stackable'\n\n/* eslint-disable object-property-newline */\nconst dimensions = {\n activator: {\n top: 0, left: 0,\n bottom: 0, right: 0,\n width: 0, height: 0,\n offsetTop: 0, scrollHeight: 0\n },\n content: {\n top: 0, left: 0,\n bottom: 0, right: 0,\n width: 0, height: 0,\n offsetTop: 0, scrollHeight: 0\n },\n hasWindow: false\n}\n/* eslint-enable object-property-newline */\n\n/**\n * Menuable\n *\n * @mixin\n *\n * Used for fixed or absolutely positioning\n * elements within the DOM\n * Can calculate X and Y axis overflows\n * As well as be manually positioned\n */\n/* @vue/component */\nexport default Vue.extend({\n name: 'menuable',\n\n mixins: [\n Positionable,\n Stackable\n ],\n\n props: {\n activator: {\n default: null,\n validator: val => {\n return ['string', 'object'].includes(typeof val)\n }\n },\n allowOverflow: Boolean,\n inputActivator: 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 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 activatorFixed: false,\n dimensions: Object.assign({}, dimensions),\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.isAttached ? 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(this.maxWidth)\n ? a.width\n : Math.min(a.width, 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.isAttached) 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 () {\n return !!this.$slots.activator || !!this.$scopedSlots.activator || this.activator || this.inputActivator\n },\n isAttached () {\n return this.attach !== false\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.checkForWindow()\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) {\n return `${this.isAttached\n ? this.computedLeft\n : this.calcXOverflow(this.computedLeft, menuWidth)\n }px`\n },\n calcTop () {\n return `${this.isAttached\n ? this.computedTop\n : this.calcYOverflow(this.computedTop)\n }px`\n },\n calcXOverflow (left, menuWidth) {\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) {\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 checkForWindow () {\n if (!this.hasWindow) {\n this.hasWindow = typeof window !== 'undefined'\n }\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\n }\n this.activatorFixed = false\n },\n deactivate () {},\n getActivator (e) {\n if (this.inputActivator) {\n return this.$el.querySelector('.v-input__slot')\n }\n\n if (this.activator) {\n return typeof this.activator === 'string'\n ? document.querySelector(this.activator)\n : this.activator\n }\n\n if (this.$refs.activator) {\n return this.$refs.activator.children.length > 0\n ? this.$refs.activator.children[0]\n : this.$refs.activator\n }\n\n if (e) {\n this.activatedBy = e.currentTarget || e.target\n return this.activatedBy\n }\n\n if (this.activatedBy) return this.activatedBy\n\n if (this.activatorNode) {\n const activator = Array.isArray(this.activatorNode) ? this.activatorNode[0] : this.activatorNode\n const el = activator && activator.elm\n if (el) return el\n }\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) {\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) {\n if (!el || !this.hasWindow) return null\n\n const rect = this.getRoundedBoundedClientRect(el)\n\n // Account for activator margin\n if (this.isAttached) {\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) {\n requestAnimationFrame(() => {\n const el = this.$refs.content\n\n if (!el || this.isShown(el)) return cb()\n\n el.style.display = 'inline-block'\n cb()\n el.style.display = 'none'\n })\n },\n startTransition () {\n return new Promise(resolve => requestAnimationFrame(() => {\n this.isContentActive = this.hasJustFocused = this.isActive\n resolve()\n }))\n },\n isShown (el) {\n return el.style.display !== 'none'\n },\n updateDimensions () {\n this.checkForWindow()\n this.checkActivatorFixed()\n this.checkForPageYOffset()\n this.pageWidth = document.documentElement.clientWidth\n\n const dimensions = {}\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 dimensions.activator = this.measure(activator)\n dimensions.activator.offsetLeft = activator.offsetLeft\n if (this.isAttached) {\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","// Styles\nimport '../stylus/components/_overlay.styl'\n\n// Utilities\nimport { keyCodes, addPassiveEventListener } 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().extend({\n name: 'overlayable',\n\n props: {\n hideOverlay: Boolean\n },\n\n data () {\n return {\n overlay: null as HTMLElement | null,\n overlayOffset: 0,\n overlayTimeout: undefined as number | undefined,\n overlayTransitionDuration: 500 + 150 // transition + delay\n }\n },\n\n watch: {\n hideOverlay (value) {\n if (value) this.removeOverlay()\n else this.genOverlay()\n }\n },\n\n beforeDestroy () {\n this.removeOverlay()\n },\n\n methods: {\n genOverlay () {\n // If fn is called and timeout is active\n // or overlay already exists\n // cancel removal of overlay and re-add active\n if ((!this.isActive || this.hideOverlay) ||\n (this.isActive && this.overlayTimeout) ||\n this.overlay\n ) {\n clearTimeout(this.overlayTimeout)\n\n return this.overlay &&\n this.overlay.classList.add('v-overlay--active')\n }\n\n this.overlay = document.createElement('div')\n this.overlay.className = 'v-overlay'\n\n if (this.absolute) this.overlay.className += ' v-overlay--absolute'\n\n this.hideScroll()\n\n const parent = this.absolute\n ? this.$el.parentNode\n : document.querySelector('[data-app]')\n\n parent && parent.insertBefore(this.overlay, parent.firstChild)\n\n // eslint-disable-next-line no-unused-expressions\n this.overlay.clientHeight // Force repaint\n requestAnimationFrame(() => {\n // https://github.com/vuetifyjs/vuetify/issues/4678\n if (!this.overlay) return\n\n this.overlay.className += ' v-overlay--active'\n\n if (this.activeZIndex !== undefined) {\n this.overlay.style.zIndex = String(this.activeZIndex - 1)\n }\n })\n\n return true\n },\n /** removeOverlay(false) will not restore the scollbar afterwards */\n removeOverlay (showScroll = true) {\n if (!this.overlay) {\n return showScroll && this.showScroll()\n }\n\n this.overlay.classList.remove('v-overlay--active')\n\n this.overlayTimeout = window.setTimeout(() => {\n // IE11 Fix\n try {\n if (this.overlay && this.overlay.parentNode) {\n this.overlay.parentNode.removeChild(this.overlay)\n }\n this.overlay = null\n showScroll && this.showScroll()\n } catch (e) { console.log(e) }\n\n clearTimeout(this.overlayTimeout)\n this.overlayTimeout = undefined\n }, this.overlayTransitionDuration)\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 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'\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:${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 }\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\n\nexport type Positionable = VueConstructor\n\nexport function factory (selected?: S[]): Positionable\nexport function factory (selected: undefined): OptionsVue\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 = VueConstructor>\n\nexport function factory (prop?: T, event?: string): Proxyable\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 = VueConstructor\n\nexport function inject (namespace: T, child?: string, parent?: string): Registrable {\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) {\n return Vue.extend({\n name: 'registrable-provide',\n\n methods: {\n register: null,\n unregister: null\n },\n provide () {\n return {\n [namespace]: {\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:returnValue', 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'\nimport { PropValidator } from 'vue/types/options'\n\nimport Ripple, { RippleOptions } from '../directives/ripple'\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,\n exactActiveClass: String,\n href: [String, Object],\n to: [String, Object],\n nuxt: Boolean,\n replace: Boolean,\n ripple: [Boolean, Object],\n tag: String,\n target: String\n },\n\n computed: {\n computedRipple (): RippleOptions | boolean {\n return (this.ripple && !this.disabled) ? this.ripple : false\n }\n },\n\n methods: {\n click (e: MouseEvent): void {\n this.$emit('click', e)\n },\n generateRouteLink (classes: any) {\n let exact = this.exact\n let tag\n\n const data: VNodeData = {\n attrs: { disabled: this.disabled },\n class: classes,\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 }\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 // TODO: apply only in VListTile\n if ((this as any).proxyClass) {\n activeClass += ' ' + (this as any).proxyClass\n exactActiveClass += ' ' + (this as any).proxyClass\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 || 'a'\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 }\n})\n","// Components\nimport VInput from '../components/VInput'\n\n// Mixins\nimport Rippleable from './rippleable'\nimport Comparable from './comparable'\n\n/* @vue/component */\nexport default VInput.extend({\n name: 'selectable',\n\n mixins: [Rippleable, Comparable],\n\n model: {\n prop: 'inputValue',\n event: 'change'\n },\n\n props: {\n color: {\n type: String,\n default: 'accent'\n },\n id: String,\n inputValue: null,\n falseValue: null,\n trueValue: null,\n multiple: {\n type: Boolean,\n default: null\n },\n label: String\n },\n\n data: vm => ({\n lazyValue: vm.inputValue\n }),\n\n computed: {\n computedColor () {\n return this.isActive ? this.color : this.validationState\n },\n isMultiple () {\n return this.multiple === true || (this.multiple === null && Array.isArray(this.internalValue))\n },\n isActive () {\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 () {\n return this.isActive\n }\n },\n\n watch: {\n inputValue (val) {\n this.lazyValue = val\n }\n },\n\n methods: {\n genLabel () {\n if (!this.hasLabel) return null\n\n const label = VInput.options.methods.genLabel.call(this)\n\n label.data.on = { click: this.onChange }\n\n return label\n },\n genInput (type, attrs) {\n return this.$createElement('input', {\n attrs: Object.assign({\n 'aria-label': this.label,\n 'aria-checked': this.isActive.toString(),\n disabled: this.isDisabled,\n id: this.id,\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 => !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 },\n onFocus () {\n this.isFocused = true\n },\n /** @abstract */\n onKeydown (e) {}\n }\n})\n","import Vue from 'vue'\n\nexport default Vue.extend({\n name: 'sizeable',\n\n props: {\n large: Boolean,\n medium: Boolean,\n size: {\n type: [Number, String]\n },\n small: Boolean,\n xLarge: Boolean\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().extend({\n name: 'stackable',\n\n data () {\n return {\n stackClass: 'unpecified',\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 = [...document.getElementsByClassName(this.stackClass)]\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().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,\n light: {\n type: Boolean,\n default: null\n } as PropValidator\n },\n\n data () {\n return {\n themeableProvide: {\n isDark: false\n }\n }\n },\n\n computed: {\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.$vuetify.dark\n }\n },\n rootThemeClasses (): Dictionary {\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 = VueConstructor>\n\nexport function factory (prop?: T, event?: string): Toggleable\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 { 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 | false\nexport type VuetifyMessage = string | string[]\nexport type VuetifyRuleValidations = (VuetifyRuleValidator | string)[]\n\n/* @vue/component */\nexport default mixins(\n Colorable,\n RegistrableInject('form')\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,\n messages: {\n type: [String, Array],\n default: () => []\n } as PropValidator,\n readonly: Boolean,\n rules: {\n type: Array,\n default: () => []\n } as PropValidator,\n success: Boolean,\n successMessages: {\n type: [String, Array],\n default: () => []\n } as PropValidator,\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 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 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.hasError && this.shouldValidate) return 'error'\n if (this.hasSuccess) return 'success'\n if (this.hasColor) return this.color\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 or readonly\n if (\n !val &&\n !this.disabled &&\n !this.readonly\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","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","// 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 { RGB, XYZ } from '../colorUtils'\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\nfunction clamp (value: number): number {\n return Math.max(0, Math.min(1, value))\n}\n\nexport function fromXYZ (xyz: XYZ): RGB {\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: RGB): 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'\n\nexport type RGB = number\nexport type XYZ = [number, number, number]\nexport type LAB = [number, number, number]\n\nexport function colorToInt (color: string | number | {}): RGB {\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: RGB): 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: string | number | {}): string {\n return intToHex(colorToInt(color))\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(`'${original}' is deprecated, use '${replacement}' instead`, 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 ''\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)}>` : ``) +\n (file && includeFile !== false ? ` at ${file}` : '')\n )\n}\n\nfunction generateComponentTrace (vm: any): string {\n if (vm._isVue && vm.$parent) {\n const tree = []\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 from 'vue'\nimport { VNode, VNodeDirective, FunctionalComponentOptions } from 'vue/types'\nimport { VuetifyIcon } from 'vuetify'\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 transitions: undefined | Function | Function[],\n array: Function[]\n) {\n if (Array.isArray(transitions)) return transitions.concat(array)\n if (transitions) array.push(transitions)\n return array\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 context.data = context.data || {}\n context.data.props = {\n name,\n mode: context.props.mode\n }\n context.data.on = context.data.on || {}\n if (!Object.isExtensible(context.data.on)) {\n context.data.on = { ...context.data.on }\n }\n\n const ourBeforeEnter: Function[] = []\n const ourLeave: Function[] = []\n const absolute = (el: HTMLElement) => (el.style.position = 'absolute')\n\n ourBeforeEnter.push((el: HTMLElement) => {\n el.style.transformOrigin = context.props.origin\n el.style.webkitTransformOrigin = context.props.origin\n })\n\n if (context.props.leaveAbsolute) ourLeave.push(absolute)\n if (context.props.hideOnLeave) {\n ourLeave.push((el: HTMLElement) => (el.style.display = 'none'))\n }\n\n const { beforeEnter, leave } = context.data.on\n\n // Type says Function | Function[] but\n // will only work if provided a function\n context.data.on.beforeEnter = () => mergeTransitions(beforeEnter, ourBeforeEnter)\n context.data.on.leave = mergeTransitions(leave, ourLeave)\n\n return h(tag, context.data, context.children)\n }\n }\n}\n\nexport function createJavaScriptTransition (\n name: string,\n functions: Record 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 const data = {\n props: {\n ...context.props,\n name\n },\n on: functions\n }\n\n return h('transition', data, context.children)\n }\n }\n}\n\nexport type BindingConfig = Pick\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 (el: EventTarget, event: string, cb: () => void): void {\n var once = () => {\n cb()\n el.removeEventListener(event, once, false)\n }\n\n el.addEventListener(event, once, false)\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: object, path: string, fallback?: any): any {\n // credit: http://stackoverflow.com/questions/6491463/accessing-nested-javascript-objects-with-string-key#comment55278413_6491621\n if (!path || path.constructor !== String) return fallback\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 (isNaN(index)) return getZIndex(el.parentNode as Element)\n return index\n}\n\nconst tagsToReplace = {\n '&': '&',\n '<': '<',\n '>': '>'\n} as any\n\nexport function escapeHTML (str: string): string {\n return str.replace(/[&<>]/g, tag => tagsToReplace[tag] || tag)\n}\n\nexport function filterObjectOnKeys (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 filterChildren (array: VNode[] = [], tag: string): VNode[] {\n return array.filter(child => {\n return child.componentOptions &&\n child.componentOptions.Ctor.options.name === tag\n })\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\nconst ICONS_PREFIX = '$vuetify.icons.'\n\n// This remaps internal names like '$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(ICONS_PREFIX)) {\n return iconName\n }\n\n // Now look up icon indirection name, e.g. '$vuetify.icons.cancel'\n return getObjectValueByPath(vm, iconName, iconName)\n}\n\nexport function keys (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 = []\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\n/**\n * Returns:\n * - 'normal' for old style slots - ``\n * - 'scoped' for old style scoped slots (``) 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 (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","export interface MaskItem {\n test: (char: string) => boolean\n convert?: (char: string) => string\n}\nexport type MaskType = '#' | 'A' | 'a' | 'N' | 'n' | 'X'\n\nexport const defaultDelimiters = /[-!$%^&*()_+|~=`{}[\\]:\";'<>?,./\\\\ ]/\n\nexport const isMaskDelimiter = (char: string): boolean => char ? defaultDelimiters.test(char) : false\n\nconst allowedMasks: Dictionary = {\n '#': {\n test: char => /[0-9]/.test(char)\n },\n 'A': {\n test: char => /[A-Z]/i.test(char),\n convert: char => char.toUpperCase()\n },\n 'a': {\n test: char => /[a-z]/i.test(char),\n convert: char => char.toLowerCase()\n },\n 'N': {\n test: char => /[0-9A-Z]/i.test(char),\n convert: char => char.toUpperCase()\n },\n 'n': {\n test: char => /[0-9a-z]/i.test(char),\n convert: char => char.toLowerCase()\n },\n 'X': {\n test: isMaskDelimiter\n }\n}\n\nconst isMask = (char: string): boolean => allowedMasks.hasOwnProperty(char)\n\nconst convert = (mask: MaskType, char: string): string => {\n return allowedMasks[mask].convert ? allowedMasks[mask].convert!(char) : char\n}\n\nconst maskValidates = (mask: MaskType, char: string): boolean => {\n if (char == null || !isMask(mask)) return false\n return allowedMasks[mask].test(char)\n}\n\nexport const maskText = (text: string | null | undefined, masked: string | string[], dontFillMaskBlanks: boolean): string => {\n if (text == null) return ''\n text = String(text)\n if (!masked.length || !text.length) return text\n if (!Array.isArray(masked)) masked = masked.split('')\n\n let textIndex = 0\n let maskIndex = 0\n let newText = ''\n\n while (maskIndex < masked.length) {\n const mask = masked[maskIndex]\n\n // Assign the next character\n const char = text[textIndex]\n\n // Check if mask is delimiter\n // and current char matches\n if (!isMask(mask) && char === mask) {\n newText += mask\n textIndex++\n // Check if not mask\n } else if (!isMask(mask) && !dontFillMaskBlanks) {\n newText += mask\n // Check if is mask and validates\n } else if (maskValidates(mask as MaskType, char)) {\n newText += convert(mask as MaskType, char)\n textIndex++\n } else {\n return newText\n }\n\n maskIndex++\n }\n\n return newText\n}\n\nexport const unmaskText = (text: string): string => {\n return text ? String(text).replace(new RegExp(defaultDelimiters, 'g'), '') : text\n}\n","/* eslint-disable max-len, import/export, no-use-before-define */\nimport Vue, { VueConstructor } from 'vue'\n\nexport default function mixins (...args: T): ExtractVue extends infer V ? V extends Vue ? VueConstructor : never : never\nexport default function mixins (...args: VueConstructor[]): VueConstructor\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 (infer U)[]\n ? UnionToIntersection<\n U extends VueConstructor ? V : never\n >\n : T extends VueConstructor ? V : never\n\ntype UnionToIntersection =\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","import { colorToInt, intToHex, colorToHex, RGB } from './colorUtils'\nimport * as sRGB from './color/transformSRGB'\nimport * as LAB from './color/transformCIELAB'\nimport { VuetifyTheme } from 'vuetify/types'\n\ninterface ParsedThemeItem {\n base: string\n lighten5: string\n lighten4: string\n lighten3: string\n lighten2: string\n lighten1: string\n darken1: string\n darken2: string\n darken3: string\n darken4: string\n\n [name: string]: string\n}\n\ninterface ParsedTheme {\n [name: string]: ParsedThemeItem\n}\n\nexport function parse (theme: VuetifyTheme | Record, isItem = false): ParsedTheme {\n const colors = Object.keys(theme)\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 (isItem) {\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 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.${name} {\n background-color: ${value} !important;\n border-color: ${value} !important;\n}\n.${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.${name}.${type}-${n} {\n background-color: ${value} !important;\n border-color: ${value} !important;\n}\n.${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: ParsedTheme, cssVar = false): string {\n const colors = Object.keys(theme)\n\n if (!colors.length) return ''\n\n let variablesCss = ''\n let css = ''\n\n const aColor = cssVar ? genColorVariable('primary') : theme.primary.base\n css += `a { color: ${aColor}; }`\n\n for (let i = 0; i < colors.length; ++i) {\n const name = colors[i]\n const value = theme[name]\n\n if (typeof value !== 'object') continue\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: RGB): Record {\n const values: Record = {\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\nfunction lighten (value: RGB, amount: number): RGB {\n const lab = LAB.fromXYZ(sRGB.toXYZ(value))\n lab[0] = lab[0] + amount * 10\n return sRGB.fromXYZ(LAB.toXYZ(lab))\n}\n\nfunction darken (value: RGB, amount: number): RGB {\n const lab = LAB.fromXYZ(sRGB.toXYZ(value))\n lab[0] = lab[0] - amount * 10\n return sRGB.fromXYZ(LAB.toXYZ(lab))\n}\n","module.exports = __WEBPACK_EXTERNAL_MODULE_vue__;"],"sourceRoot":""}