{"version":3,"sources":["webpack:///../../../src/components/VList/VListItemAction.ts","webpack:///../../../src/components/VProgressCircular/VProgressCircular.ts","webpack:///../../../src/components/VProgressCircular/index.ts","webpack:///../../../src/components/VMenu/index.ts","webpack:///../../../src/components/VProgressLinear/index.ts","webpack:///../../../src/components/VList/VListItemIcon.ts","webpack:///../../../src/components/VList/VListGroup.ts","webpack:///../../../src/components/VItemGroup/VItemGroup.ts","webpack:///../../../src/components/VList/VListItemGroup.ts","webpack:///../../../src/components/VList/VListItemAvatar.ts","webpack:///../../../src/components/VList/index.ts","webpack:///../../../src/components/VResponsive/VResponsive.ts","webpack:///../../../src/components/VResponsive/index.ts","webpack:///../../../src/components/VList/VList.ts","webpack:///../../../src/components/VProgressLinear/VProgressLinear.ts","webpack:///../../../src/components/VLabel/VLabel.ts","webpack:///../../../src/components/VLabel/index.ts","webpack:///../../../src/components/VList/VListItem.ts","webpack:///../../../src/components/VMessages/VMessages.ts","webpack:///../../../src/components/VMessages/index.ts","webpack:///../../../src/components/VMenu/VMenu.ts","webpack:///../../../src/components/VMain/VMain.ts"],"names":["extend","name","functional","render","h","data","children","staticClass","filteredChild","filter","VNode","isComment","text","length","props","button","Boolean","indeterminate","rotate","type","Number","String","default","size","width","value","radius","computed","calculatedSize","this","circumference","Math","PI","classes","normalizedValue","parseFloat","strokeDashArray","round","strokeDashOffset","strokeWidth","viewBoxSize","styles","height","svgStyles","transform","methods","genCircle","offset","$createElement","class","attrs","fill","cx","cy","r","genSvg","style","xmlns","viewBox","genInfo","$slots","setTextColor","color","role","undefined","on","$listeners","trim","baseMixins","mixins","directives","ripple","activeClass","appendIcon","disabled","group","noAction","prependIcon","Object","subGroup","isActive","watch","val","list","listClick","_uid","$route","created","register","matchRoute","path","beforeDestroy","unregister","click","e","isBooted","$emit","$nextTick","genIcon","icon","VIcon","genAppendIcon","VListItemIcon","genHeader","VListItem","inputValue","listeners$","genPrependIcon","activator","genItems","showLazyContent","onRouteChange","to","toggle","uid","match","BaseItemGroup","mandatory","max","multiple","tag","internalLazyValue","items","themeClasses","selectedIndex","selectedItem","indexOf","selectedItems","item","index","toggleMethod","getValue","selectedValues","internalValue","Array","isArray","v","includes","console","genData","i","onClick","updateInternalValue","push","$on","updateMandatory","updateItem","_isDestroyed","splice","valueIndex","updateItemsState","forEach","updateMultiple","updateSingle","last","slice","reverse","find","defaultValue","findIndex","isSame","provide","itemGroup","isInGroup","listItemGroup","options","call","VAvatar","horizontal","tile","VListItemActionText","VListItemContent","VListItemTitle","VListItemSubtitle","VList","VListItemAction","aspectRatio","contentClass","computedAspectRatio","aspectStyle","paddingBottom","__cachedSizer","genContent","measurableStyles","isInList","inject","isInMenu","isInNav","dense","expand","flat","nav","rounded","subheader","threeLine","twoLine","groups","content","g","attrs$","setBackgroundColor","active","backgroundColor","backgroundOpacity","bufferValue","query","stream","striped","__cachedBackground","backgroundStyle","__cachedBar","computedTransition","__cachedBarType","__cachedIndeterminate","__cachedDeterminate","__cachedBuffer","genProgressBar","__cachedStream","normalizedBuffer","opacity","isReversed","absolute","fixed","reactive","$vuetify","rtl","normalize","change","slot","genListeners","listeners","$el","getBoundingClientRect","offsetX","bottom","top","focused","for","left","right","ctx","position","ref","Ripple","inheritAttrs","inactive","link","selectable","proxyClass","isClickable","$attrs","hasOwnProperty","detail","blur","genAttrs","tabindex","id","generateRouteLink","keydown","keyCode","enter","nativeOn","$scopedSlots","genChildren","map","genMessage","message","key","ClickOutside","Resize","theme","auto","closeOnClick","closeOnContentClick","disableKeys","maxHeight","offsetY","openOnClick","openOnHover","origin","transition","calculatedTopAuto","defaultOffset","hasJustFocused","listIndex","resizeTimeout","tiles","activeTile","calculatedLeft","menuWidth","dimensions","calculatedMinWidth","calcXOverflow","calcLeftAuto","calcLeft","calculatedMaxHeight","calculatedMaxWidth","maxWidth","minWidth","min","nudgeWidth","pageWidth","isNaN","parseInt","calculatedTop","calcYOverflow","calcTop","hasClickableTiles","tabIndex","transformOrigin","zIndex","activeZIndex","isContentActive","next","prev","classList","add","$refs","scrollTop","offsetTop","clientHeight","remove","mounted","callActivate","activate","updateDimensions","requestAnimationFrame","startTransition","then","calcTopAuto","calcScrollPosition","querySelector","maxScrollTop","scrollHeight","offsetHeight","computedTop","from","tileDistanceFromMenuTop","firstTileOffsetTop","changeListIndex","getTiles","tab","down","nextTile","up","prevTile","end","lastTile","home","firstTile","preventDefault","closeConditional","target","contains","genActivatorAttributes","attributes","genActivatorListeners","onKeyDown","genTransition","genDirectives","handler","include","getOpenDependentElements","getScopeIdAttrs","rootThemeClasses","roundedClasses","activatorFixed","menuable__content__active","getAttribute","scroll","mouseenter","mouseEnterHandler","mouseleave","mouseLeaveHandler","getContentSlot","querySelectorAll","runDelay","relatedTarget","callDeactivate","esc","setTimeout","getActivator","focus","onResize","offsetWidth","clearTimeout","window","attach","arg","genActivator","root","light","dark","application","bar","footer","insetFooter","paddingTop","paddingRight","paddingLeft"],"mappings":"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","file":"js/chunk-vendors~74e9f0c9.1072a9f9.js","sourcesContent":["// Types\nimport Vue, { VNode } from 'vue'\n\n/* @vue/component */\nexport default Vue.extend({\n name: 'v-list-item-action',\n\n functional: true,\n\n render (h, { data, children = [] }): VNode {\n data.staticClass = data.staticClass ? `v-list-item__action ${data.staticClass}` : 'v-list-item__action'\n const filteredChild = children.filter(VNode => {\n return VNode.isComment === false && VNode.text !== ' '\n })\n if (filteredChild.length > 1) data.staticClass += ' v-list-item__action--stack'\n\n return h('div', data, children)\n },\n})\n","// Styles\nimport './VProgressCircular.sass'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\n\n// Utils\nimport { convertToUnit } from '../../util/helpers'\n\n// Types\nimport { VNode, VNodeChildren } from 'vue'\n\n/* @vue/component */\nexport default Colorable.extend({\n name: 'v-progress-circular',\n\n props: {\n button: Boolean,\n indeterminate: Boolean,\n rotate: {\n type: [Number, String],\n default: 0,\n },\n size: {\n type: [Number, String],\n default: 32,\n },\n width: {\n type: [Number, String],\n default: 4,\n },\n value: {\n type: [Number, String],\n default: 0,\n },\n },\n\n data: () => ({\n radius: 20,\n }),\n\n computed: {\n calculatedSize (): number {\n return Number(this.size) + (this.button ? 8 : 0)\n },\n\n circumference (): number {\n return 2 * Math.PI * this.radius\n },\n\n classes (): object {\n return {\n 'v-progress-circular--indeterminate': this.indeterminate,\n 'v-progress-circular--button': this.button,\n }\n },\n\n normalizedValue (): number {\n if (this.value < 0) {\n return 0\n }\n\n if (this.value > 100) {\n return 100\n }\n\n return parseFloat(this.value)\n },\n\n strokeDashArray (): number {\n return Math.round(this.circumference * 1000) / 1000\n },\n\n strokeDashOffset (): string {\n return ((100 - this.normalizedValue) / 100) * this.circumference + 'px'\n },\n\n strokeWidth (): number {\n return Number(this.width) / +this.size * this.viewBoxSize * 2\n },\n\n styles (): object {\n return {\n height: convertToUnit(this.calculatedSize),\n width: convertToUnit(this.calculatedSize),\n }\n },\n\n svgStyles (): object {\n return {\n transform: `rotate(${Number(this.rotate)}deg)`,\n }\n },\n\n viewBoxSize (): number {\n return this.radius / (1 - Number(this.width) / +this.size)\n },\n },\n\n methods: {\n genCircle (name: string, offset: string | number): VNode {\n return this.$createElement('circle', {\n class: `v-progress-circular__${name}`,\n attrs: {\n fill: 'transparent',\n cx: 2 * this.viewBoxSize,\n cy: 2 * this.viewBoxSize,\n r: this.radius,\n 'stroke-width': this.strokeWidth,\n 'stroke-dasharray': this.strokeDashArray,\n 'stroke-dashoffset': offset,\n },\n })\n },\n genSvg (): VNode {\n const children = [\n this.indeterminate || this.genCircle('underlay', 0),\n this.genCircle('overlay', this.strokeDashOffset),\n ] as VNodeChildren\n\n return this.$createElement('svg', {\n style: this.svgStyles,\n attrs: {\n xmlns: 'http://www.w3.org/2000/svg',\n viewBox: `${this.viewBoxSize} ${this.viewBoxSize} ${2 * this.viewBoxSize} ${2 * this.viewBoxSize}`,\n },\n }, children)\n },\n genInfo (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-progress-circular__info',\n }, this.$slots.default)\n },\n },\n\n render (h): VNode {\n return h('div', this.setTextColor(this.color, {\n staticClass: 'v-progress-circular',\n attrs: {\n role: 'progressbar',\n 'aria-valuemin': 0,\n 'aria-valuemax': 100,\n 'aria-valuenow': this.indeterminate ? undefined : this.normalizedValue,\n },\n class: this.classes,\n style: this.styles,\n on: this.$listeners,\n }), [\n this.genSvg(),\n this.genInfo(),\n ])\n },\n})\n","import VProgressCircular from './VProgressCircular'\n\nexport { VProgressCircular }\nexport default VProgressCircular\n","import VMenu from './VMenu'\n\nexport { VMenu }\nexport default VMenu\n","import VProgressLinear from './VProgressLinear'\n\nexport { VProgressLinear }\nexport default VProgressLinear\n","// Types\nimport Vue, { VNode } from 'vue'\n\n/* @vue/component */\nexport default Vue.extend({\n name: 'v-list-item-icon',\n\n functional: true,\n\n render (h, { data, children }): VNode {\n data.staticClass = (`v-list-item__icon ${data.staticClass || ''}`).trim()\n\n return h('div', data, children)\n },\n})\n","// Styles\nimport './VListGroup.sass'\n\n// Components\nimport VIcon from '../VIcon'\nimport VList from './VList'\nimport VListItem from './VListItem'\nimport VListItemIcon from './VListItemIcon'\n\n// Mixins\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport Bootable from '../../mixins/bootable'\nimport Colorable from '../../mixins/colorable'\nimport Toggleable from '../../mixins/toggleable'\nimport { inject as RegistrableInject } from '../../mixins/registrable'\n\n// Directives\nimport ripple from '../../directives/ripple'\n\n// Transitions\nimport { VExpandTransition } from '../transitions'\n\n// Utils\nimport mixins, { ExtractVue } from '../../util/mixins'\nimport { getSlot } from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue'\nimport { Route } from 'vue-router'\n\nconst baseMixins = mixins(\n BindsAttrs,\n Bootable,\n Colorable,\n RegistrableInject('list'),\n Toggleable\n)\n\ntype VListInstance = InstanceType\n\ninterface options extends ExtractVue {\n list: VListInstance\n $refs: {\n group: HTMLElement\n }\n $route: Route\n}\n\nexport default baseMixins.extend().extend({\n name: 'v-list-group',\n\n directives: { ripple },\n\n props: {\n activeClass: {\n type: String,\n default: '',\n },\n appendIcon: {\n type: String,\n default: '$expand',\n },\n color: {\n type: String,\n default: 'primary',\n },\n disabled: Boolean,\n group: String,\n noAction: Boolean,\n prependIcon: String,\n ripple: {\n type: [Boolean, Object],\n default: true,\n },\n subGroup: Boolean,\n },\n\n computed: {\n classes (): object {\n return {\n 'v-list-group--active': this.isActive,\n 'v-list-group--disabled': this.disabled,\n 'v-list-group--no-action': this.noAction,\n 'v-list-group--sub-group': this.subGroup,\n }\n },\n },\n\n watch: {\n isActive (val: boolean) {\n /* istanbul ignore else */\n if (!this.subGroup && val) {\n this.list && this.list.listClick(this._uid)\n }\n },\n $route: 'onRouteChange',\n },\n\n created () {\n this.list && this.list.register(this)\n\n if (this.group &&\n this.$route &&\n this.value == null\n ) {\n this.isActive = this.matchRoute(this.$route.path)\n }\n },\n\n beforeDestroy () {\n this.list && this.list.unregister(this)\n },\n\n methods: {\n click (e: Event) {\n if (this.disabled) return\n\n this.isBooted = true\n\n this.$emit('click', e)\n this.$nextTick(() => (this.isActive = !this.isActive))\n },\n genIcon (icon: string | false): VNode {\n return this.$createElement(VIcon, icon)\n },\n genAppendIcon (): VNode | null {\n const icon = !this.subGroup ? this.appendIcon : false\n\n if (!icon && !this.$slots.appendIcon) return null\n\n return this.$createElement(VListItemIcon, {\n staticClass: 'v-list-group__header__append-icon',\n }, [\n this.$slots.appendIcon || this.genIcon(icon),\n ])\n },\n genHeader (): VNode {\n return this.$createElement(VListItem, {\n staticClass: 'v-list-group__header',\n attrs: {\n 'aria-expanded': String(this.isActive),\n role: 'button',\n },\n class: {\n [this.activeClass]: this.isActive,\n },\n props: {\n inputValue: this.isActive,\n },\n directives: [{\n name: 'ripple',\n value: this.ripple,\n }],\n on: {\n ...this.listeners$,\n click: this.click,\n },\n }, [\n this.genPrependIcon(),\n this.$slots.activator,\n this.genAppendIcon(),\n ])\n },\n genItems (): VNode[] {\n return this.showLazyContent(() => [\n this.$createElement('div', {\n staticClass: 'v-list-group__items',\n directives: [{\n name: 'show',\n value: this.isActive,\n }],\n }, getSlot(this)),\n ])\n },\n genPrependIcon (): VNode | null {\n const icon = this.subGroup && this.prependIcon == null\n ? '$subgroup'\n : this.prependIcon\n\n if (!icon && !this.$slots.prependIcon) return null\n\n return this.$createElement(VListItemIcon, {\n staticClass: 'v-list-group__header__prepend-icon',\n }, [\n this.$slots.prependIcon || this.genIcon(icon),\n ])\n },\n onRouteChange (to: Route) {\n /* istanbul ignore if */\n if (!this.group) return\n\n const isActive = this.matchRoute(to.path)\n\n /* istanbul ignore else */\n if (isActive && this.isActive !== isActive) {\n this.list && this.list.listClick(this._uid)\n }\n\n this.isActive = isActive\n },\n toggle (uid: number) {\n const isActive = this._uid === uid\n\n if (isActive) this.isBooted = true\n this.$nextTick(() => (this.isActive = isActive))\n },\n matchRoute (to: string) {\n return to.match(this.group) !== null\n },\n },\n\n render (h): VNode {\n return h('div', this.setTextColor(this.isActive && this.color, {\n staticClass: 'v-list-group',\n class: this.classes,\n }), [\n this.genHeader(),\n h(VExpandTransition, this.genItems()),\n ])\n },\n})\n","// Styles\nimport './VItemGroup.sass'\n\n// Mixins\nimport Groupable from '../../mixins/groupable'\nimport Proxyable from '../../mixins/proxyable'\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { consoleWarn } from '../../util/console'\n\n// Types\nimport { VNode } from 'vue/types'\n\nexport type GroupableInstance = InstanceType & {\n id?: string\n to?: any\n value?: any\n }\n\nexport const BaseItemGroup = mixins(\n Proxyable,\n Themeable\n).extend({\n name: 'base-item-group',\n\n props: {\n activeClass: {\n type: String,\n default: 'v-item--active',\n },\n mandatory: Boolean,\n max: {\n type: [Number, String],\n default: null,\n },\n multiple: Boolean,\n tag: {\n type: String,\n default: 'div',\n },\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 'v-item-group': true,\n ...this.themeClasses,\n }\n },\n selectedIndex (): number {\n return (this.selectedItem && this.items.indexOf(this.selectedItem)) || -1\n },\n selectedItem (): GroupableInstance | undefined {\n if (this.multiple) return undefined\n\n return this.selectedItems[0]\n },\n selectedItems (): GroupableInstance[] {\n return this.items.filter((item, index) => {\n return this.toggleMethod(this.getValue(item, index))\n })\n },\n selectedValues (): any[] {\n if (this.internalValue == null) return []\n\n return Array.isArray(this.internalValue)\n ? this.internalValue\n : [this.internalValue]\n },\n toggleMethod (): (v: any) => boolean {\n if (!this.multiple) {\n return (v: any) => this.internalValue === v\n }\n\n const internalValue = this.internalValue\n if (Array.isArray(internalValue)) {\n return (v: any) => internalValue.includes(v)\n }\n\n return () => false\n },\n },\n\n watch: {\n internalValue: 'updateItemsState',\n items: 'updateItemsState',\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\n genData (): object {\n return {\n class: this.classes,\n }\n },\n getValue (item: GroupableInstance, i: number): unknown {\n return item.value == null || item.value === ''\n ? i\n : item.value\n },\n onClick (item: GroupableInstance) {\n this.updateInternalValue(\n this.getValue(item, this.items.indexOf(item))\n )\n },\n register (item: GroupableInstance) {\n const index = this.items.push(item) - 1\n\n item.$on('change', () => this.onClick(item))\n\n // If no value provided and mandatory,\n // assign first registered item\n if (this.mandatory && !this.selectedValues.length) {\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 // https://github.com/vuetifyjs/vuetify/issues/5352\n updateItemsState () {\n this.$nextTick(() => {\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 },\n updateInternalValue (value: any) {\n this.multiple\n ? this.updateMultiple(value)\n : this.updateSingle(value)\n },\n updateMandatory (last?: boolean) {\n if (!this.items.length) return\n\n const items = this.items.slice()\n\n if (last) items.reverse()\n\n const item = items.find(item => !item.disabled)\n\n // If no tabs are available\n // aborts mandatory value\n if (!item) return\n\n const index = this.items.indexOf(item)\n\n this.updateInternalValue(\n this.getValue(item, index)\n )\n },\n updateMultiple (value: any) {\n const defaultValue = Array.isArray(this.internalValue)\n ? this.internalValue\n : []\n const internalValue = defaultValue.slice()\n const index = internalValue.findIndex(val => val === value)\n\n if (\n this.mandatory &&\n // Item already exists\n index > -1 &&\n // value would be reduced below min\n internalValue.length - 1 < 1\n ) return\n\n if (\n // Max is set\n this.max != null &&\n // Item doesn't exist\n index < 0 &&\n // value would be increased above max\n internalValue.length + 1 > this.max\n ) return\n\n index > -1\n ? internalValue.splice(index, 1)\n : internalValue.push(value)\n\n this.internalValue = internalValue\n },\n updateSingle (value: any) {\n const isSame = value === this.internalValue\n\n if (this.mandatory && isSame) return\n\n this.internalValue = isSame ? undefined : value\n },\n },\n\n render (h): VNode {\n return h(this.tag, this.genData(), this.$slots.default)\n },\n})\n\nexport default BaseItemGroup.extend({\n name: 'v-item-group',\n\n provide (): object {\n return {\n itemGroup: this,\n }\n },\n})\n","// Styles\nimport './VListItemGroup.sass'\n\n// Extensions\nimport { BaseItemGroup } from '../VItemGroup/VItemGroup'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\nexport default mixins(\n BaseItemGroup,\n Colorable\n).extend({\n name: 'v-list-item-group',\n\n provide () {\n return {\n isInGroup: true,\n listItemGroup: this,\n }\n },\n\n computed: {\n classes (): object {\n return {\n ...BaseItemGroup.options.computed.classes.call(this),\n 'v-list-item-group': true,\n }\n },\n },\n\n methods: {\n genData (): object {\n return this.setTextColor(this.color, {\n ...BaseItemGroup.options.methods.genData.call(this),\n attrs: {\n role: 'listbox',\n },\n })\n },\n },\n})\n","// Components\nimport VAvatar from '../VAvatar'\n\n// Types\nimport { VNode } from 'vue'\n\n/* @vue/component */\nexport default VAvatar.extend({\n name: 'v-list-item-avatar',\n\n props: {\n horizontal: Boolean,\n size: {\n type: [Number, String],\n default: 40,\n },\n },\n\n computed: {\n classes (): object {\n return {\n 'v-list-item__avatar--horizontal': this.horizontal,\n ...VAvatar.options.computed.classes.call(this),\n 'v-avatar--tile': this.tile || this.horizontal,\n }\n },\n },\n\n render (h): VNode {\n const render = VAvatar.options.render.call(this, h)\n\n render.data = render.data || {}\n render.data.staticClass += ' v-list-item__avatar'\n\n return render\n },\n})\n","import { createSimpleFunctional } from '../../util/helpers'\n\nimport VList from './VList'\nimport VListGroup from './VListGroup'\nimport VListItem from './VListItem'\nimport VListItemGroup from './VListItemGroup'\nimport VListItemAction from './VListItemAction'\nimport VListItemAvatar from './VListItemAvatar'\nimport VListItemIcon from './VListItemIcon'\n\nexport const VListItemActionText = createSimpleFunctional('v-list-item__action-text', 'span')\nexport const VListItemContent = createSimpleFunctional('v-list-item__content', 'div')\nexport const VListItemTitle = createSimpleFunctional('v-list-item__title', 'div')\nexport const VListItemSubtitle = createSimpleFunctional('v-list-item__subtitle', 'div')\n\nexport {\n VList,\n VListGroup,\n VListItem,\n VListItemAction,\n VListItemAvatar,\n VListItemIcon,\n VListItemGroup,\n}\n\nexport default {\n $_vuetify_subcomponents: {\n VList,\n VListGroup,\n VListItem,\n VListItemAction,\n VListItemActionText,\n VListItemAvatar,\n VListItemContent,\n VListItemGroup,\n VListItemIcon,\n VListItemSubtitle,\n VListItemTitle,\n },\n}\n","import './VResponsive.sass'\n\n// Mixins\nimport Measurable, { NumberOrNumberString } from '../../mixins/measurable'\n\n// Types\nimport { VNode } from 'vue'\n\n// Utils\nimport mixins from '../../util/mixins'\n\n/* @vue/component */\nexport default mixins(Measurable).extend({\n name: 'v-responsive',\n\n props: {\n aspectRatio: [String, Number] as NumberOrNumberString,\n contentClass: String,\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 class: this.contentClass,\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 './VList.sass'\nimport VListGroup from './VListGroup'\n\n// Components\nimport VSheet from '../VSheet/VSheet'\n\n// Types\nimport { VNode } from 'vue'\n\ntype VListGroupInstance = InstanceType\n\ninterface options extends InstanceType {\n isInMenu: boolean\n isInNav: boolean\n}\n\n/* @vue/component */\nexport default VSheet.extend().extend({\n name: 'v-list',\n\n provide (): object {\n return {\n isInList: true,\n list: this,\n }\n },\n\n inject: {\n isInMenu: {\n default: false,\n },\n isInNav: {\n default: false,\n },\n },\n\n props: {\n dense: Boolean,\n disabled: Boolean,\n expand: Boolean,\n flat: Boolean,\n nav: Boolean,\n rounded: Boolean,\n 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 ...VSheet.options.computed.classes.call(this),\n 'v-list--dense': this.dense,\n 'v-list--disabled': this.disabled,\n 'v-list--flat': this.flat,\n 'v-list--nav': this.nav,\n 'v-list--rounded': this.rounded,\n 'v-list--subheader': this.subheader,\n 'v-list--two-line': this.twoLine,\n 'v-list--three-line': this.threeLine,\n }\n },\n },\n\n methods: {\n register (content: VListGroupInstance) {\n this.groups.push(content)\n },\n unregister (content: VListGroupInstance) {\n const index = this.groups.findIndex(g => g._uid === content._uid)\n\n if (index > -1) this.groups.splice(index, 1)\n },\n listClick (uid: number) {\n if (this.expand) return\n\n for (const group of this.groups) {\n group.toggle(uid)\n }\n },\n },\n\n render (h): VNode {\n const data = {\n staticClass: 'v-list',\n class: this.classes,\n style: this.styles,\n attrs: {\n role: this.isInNav || this.isInMenu ? undefined : 'list',\n ...this.attrs$,\n },\n }\n\n return h(this.tag, this.setBackgroundColor(this.color, data), [this.$slots.default])\n },\n})\n","import './VProgressLinear.sass'\n\n// Components\nimport {\n VFadeTransition,\n VSlideXTransition,\n} from '../transitions'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport { factory as PositionableFactory } from '../../mixins/positionable'\nimport Proxyable from '../../mixins/proxyable'\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport { convertToUnit, getSlot } from '../../util/helpers'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { FunctionalComponentOptions } from 'vue/types'\nimport { VNode } from 'vue'\n\nconst baseMixins = mixins(\n Colorable,\n PositionableFactory(['absolute', 'fixed', 'top', 'bottom']),\n Proxyable,\n Themeable\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-progress-linear',\n\n props: {\n active: {\n type: Boolean,\n default: true,\n },\n backgroundColor: {\n type: String,\n default: null,\n },\n backgroundOpacity: {\n type: [Number, String],\n default: null,\n },\n bufferValue: {\n type: [Number, String],\n default: 100,\n },\n color: {\n type: String,\n default: 'primary',\n },\n height: {\n type: [Number, String],\n default: 4,\n },\n indeterminate: Boolean,\n query: Boolean,\n reverse: Boolean,\n rounded: Boolean,\n stream: Boolean,\n striped: Boolean,\n value: {\n type: [Number, String],\n default: 0,\n },\n },\n\n data () {\n return {\n internalLazyValue: this.value || 0,\n }\n },\n\n computed: {\n __cachedBackground (): VNode {\n return this.$createElement('div', this.setBackgroundColor(this.backgroundColor || this.color, {\n staticClass: 'v-progress-linear__background',\n style: this.backgroundStyle,\n }))\n },\n __cachedBar (): VNode {\n return this.$createElement(this.computedTransition, [this.__cachedBarType])\n },\n __cachedBarType (): VNode {\n return this.indeterminate ? this.__cachedIndeterminate : this.__cachedDeterminate\n },\n __cachedBuffer (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-progress-linear__buffer',\n style: this.styles,\n })\n },\n __cachedDeterminate (): VNode {\n return this.$createElement('div', this.setBackgroundColor(this.color, {\n staticClass: `v-progress-linear__determinate`,\n style: {\n width: convertToUnit(this.normalizedValue, '%'),\n },\n }))\n },\n __cachedIndeterminate (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-progress-linear__indeterminate',\n class: {\n 'v-progress-linear__indeterminate--active': this.active,\n },\n }, [\n this.genProgressBar('long'),\n this.genProgressBar('short'),\n ])\n },\n __cachedStream (): VNode | null {\n if (!this.stream) return null\n\n return this.$createElement('div', this.setTextColor(this.color, {\n staticClass: 'v-progress-linear__stream',\n style: {\n width: convertToUnit(100 - this.normalizedBuffer, '%'),\n },\n }))\n },\n backgroundStyle (): object {\n const backgroundOpacity = this.backgroundOpacity == null\n ? (this.backgroundColor ? 1 : 0.3)\n : parseFloat(this.backgroundOpacity)\n\n return {\n opacity: backgroundOpacity,\n [this.isReversed ? 'right' : 'left']: convertToUnit(this.normalizedValue, '%'),\n width: convertToUnit(this.normalizedBuffer - this.normalizedValue, '%'),\n }\n },\n classes (): object {\n return {\n 'v-progress-linear--absolute': this.absolute,\n 'v-progress-linear--fixed': this.fixed,\n 'v-progress-linear--query': this.query,\n 'v-progress-linear--reactive': this.reactive,\n 'v-progress-linear--reverse': this.isReversed,\n 'v-progress-linear--rounded': this.rounded,\n 'v-progress-linear--striped': this.striped,\n ...this.themeClasses,\n }\n },\n computedTransition (): FunctionalComponentOptions {\n return this.indeterminate ? VFadeTransition : VSlideXTransition\n },\n isReversed (): boolean {\n return this.$vuetify.rtl !== this.reverse\n },\n normalizedBuffer (): number {\n return this.normalize(this.bufferValue)\n },\n normalizedValue (): number {\n return this.normalize(this.internalLazyValue)\n },\n reactive (): boolean {\n return Boolean(this.$listeners.change)\n },\n styles (): object {\n const styles: Record = {}\n\n if (!this.active) {\n styles.height = 0\n }\n\n if (!this.indeterminate && parseFloat(this.normalizedBuffer) !== 100) {\n styles.width = convertToUnit(this.normalizedBuffer, '%')\n }\n\n return styles\n },\n },\n\n methods: {\n genContent () {\n const slot = getSlot(this, 'default', { value: this.internalLazyValue })\n\n if (!slot) return null\n\n return this.$createElement('div', {\n staticClass: 'v-progress-linear__content',\n }, slot)\n },\n genListeners () {\n const listeners = this.$listeners\n\n if (this.reactive) {\n listeners.click = this.onClick\n }\n\n return listeners\n },\n genProgressBar (name: 'long' | 'short') {\n return this.$createElement('div', this.setBackgroundColor(this.color, {\n staticClass: 'v-progress-linear__indeterminate',\n class: {\n [name]: true,\n },\n }))\n },\n onClick (e: MouseEvent) {\n if (!this.reactive) return\n\n const { width } = this.$el.getBoundingClientRect()\n\n this.internalValue = e.offsetX / width * 100\n },\n normalize (value: string | number) {\n if (value < 0) return 0\n if (value > 100) return 100\n return parseFloat(value)\n },\n },\n\n render (h): VNode {\n const data = {\n staticClass: 'v-progress-linear',\n attrs: {\n role: 'progressbar',\n 'aria-valuemin': 0,\n 'aria-valuemax': this.normalizedBuffer,\n 'aria-valuenow': this.indeterminate ? undefined : this.normalizedValue,\n },\n class: this.classes,\n style: {\n bottom: this.bottom ? 0 : undefined,\n height: this.active ? convertToUnit(this.height) : 0,\n top: this.top ? 0 : undefined,\n },\n on: this.genListeners(),\n }\n\n return h('div', data, [\n this.__cachedStream,\n this.__cachedBackground,\n this.__cachedBuffer,\n this.__cachedBar,\n this.genContent(),\n ])\n },\n})\n","// Styles\nimport './VLabel.sass'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Themeable, { functionalThemeClasses } from '../../mixins/themeable'\n\n// Types\nimport { VNode } from 'vue'\nimport mixins from '../../util/mixins'\n\n// Helpers\nimport { convertToUnit } from '../../util/helpers'\n\n/* @vue/component */\nexport default mixins(Themeable).extend({\n name: 'v-label',\n\n functional: true,\n\n props: {\n absolute: Boolean,\n color: {\n type: String,\n default: 'primary',\n },\n disabled: Boolean,\n focused: Boolean,\n for: String,\n left: {\n type: [Number, String],\n default: 0,\n },\n right: {\n type: [Number, String],\n default: 'auto',\n },\n value: Boolean,\n },\n\n render (h, ctx): VNode {\n const { children, listeners, props } = ctx\n const data = {\n staticClass: 'v-label',\n class: {\n 'v-label--active': props.value,\n 'v-label--is-disabled': props.disabled,\n ...functionalThemeClasses(ctx),\n },\n attrs: {\n for: props.for,\n 'aria-hidden': !props.for,\n },\n on: listeners,\n style: {\n left: convertToUnit(props.left),\n right: convertToUnit(props.right),\n position: props.absolute ? 'absolute' : 'relative',\n },\n ref: 'label',\n }\n\n return h('label', Colorable.options.methods.setTextColor(props.focused && props.color, data), children)\n },\n})\n","import VLabel from './VLabel'\n\nexport { VLabel }\nexport default VLabel\n","// Styles\nimport './VListItem.sass'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Routable from '../../mixins/routable'\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport Themeable from '../../mixins/themeable'\nimport { factory as ToggleableFactory } from '../../mixins/toggleable'\n\n// Directives\nimport Ripple from '../../directives/ripple'\n\n// Utilities\nimport { keyCodes } from './../../util/helpers'\nimport { ExtractVue } from './../../util/mixins'\nimport { removed } from '../../util/console'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { VNode } from 'vue'\nimport { PropType, PropValidator } from 'vue/types/options'\n\nconst baseMixins = mixins(\n Colorable,\n Routable,\n Themeable,\n GroupableFactory('listItemGroup'),\n ToggleableFactory('inputValue')\n)\n\ninterface options extends ExtractVue {\n $el: HTMLElement\n isInGroup: boolean\n isInList: boolean\n isInMenu: boolean\n isInNav: boolean\n}\n\n/* @vue/component */\nexport default baseMixins.extend().extend({\n name: 'v-list-item',\n\n directives: {\n Ripple,\n },\n\n inject: {\n isInGroup: {\n default: false,\n },\n isInList: {\n default: false,\n },\n isInMenu: {\n default: false,\n },\n isInNav: {\n default: false,\n },\n },\n\n inheritAttrs: false,\n\n props: {\n activeClass: {\n type: String,\n default (): string | undefined {\n if (!this.listItemGroup) return ''\n\n return this.listItemGroup.activeClass\n },\n } as any as PropValidator,\n dense: Boolean,\n inactive: Boolean,\n link: Boolean,\n selectable: {\n type: Boolean,\n },\n tag: {\n type: String,\n default: 'div',\n },\n threeLine: Boolean,\n twoLine: Boolean,\n value: null as any as PropType,\n },\n\n data: () => ({\n proxyClass: 'v-list-item--active',\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-list-item': true,\n ...Routable.options.computed.classes.call(this),\n 'v-list-item--dense': this.dense,\n 'v-list-item--disabled': this.disabled,\n 'v-list-item--link': this.isClickable && !this.inactive,\n 'v-list-item--selectable': this.selectable,\n 'v-list-item--three-line': this.threeLine,\n 'v-list-item--two-line': this.twoLine,\n ...this.themeClasses,\n }\n },\n isClickable (): boolean {\n return Boolean(\n Routable.options.computed.isClickable.call(this) ||\n this.listItemGroup\n )\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('avatar')) {\n removed('avatar', this)\n }\n },\n\n methods: {\n click (e: MouseEvent | KeyboardEvent) {\n if (e.detail) this.$el.blur()\n\n this.$emit('click', e)\n\n this.to || this.toggle()\n },\n genAttrs () {\n const attrs: Record = {\n 'aria-disabled': this.disabled ? true : undefined,\n tabindex: this.isClickable && !this.disabled ? 0 : -1,\n ...this.$attrs,\n }\n\n if (this.$attrs.hasOwnProperty('role')) {\n // do nothing, role already provided\n } else if (this.isInNav) {\n // do nothing, role is inherit\n } else if (this.isInGroup) {\n attrs.role = 'listitem'\n attrs['aria-selected'] = String(this.isActive)\n } else if (this.isInMenu) {\n attrs.role = this.isClickable ? 'menuitem' : undefined\n attrs.id = attrs.id || `list-item-${this._uid}`\n } else if (this.isInList) {\n attrs.role = 'listitem'\n }\n\n return attrs\n },\n },\n\n render (h): VNode {\n let { tag, data } = this.generateRouteLink()\n\n data.attrs = {\n ...data.attrs,\n ...this.genAttrs(),\n }\n data[this.to ? 'nativeOn' : 'on'] = {\n ...data[this.to ? 'nativeOn' : 'on'],\n keydown: (e: KeyboardEvent) => {\n /* istanbul ignore else */\n if (e.keyCode === keyCodes.enter) this.click(e)\n\n this.$emit('keydown', e)\n },\n }\n\n if (this.inactive) tag = 'div'\n if (this.inactive && this.to) {\n data.on = data.nativeOn\n delete data.nativeOn\n }\n\n const children = this.$scopedSlots.default\n ? this.$scopedSlots.default({\n active: this.isActive,\n toggle: this.toggle,\n })\n : this.$slots.default\n\n return h(tag, this.setTextColor(this.color, data), children)\n },\n})\n","// Styles\nimport './VMessages.sass'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\n\n// Types\nimport { VNode } from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport mixins from '../../util/mixins'\n\n// Utilities\nimport { getSlot } from '../../util/helpers'\n\n/* @vue/component */\nexport default mixins(Colorable, Themeable).extend({\n name: 'v-messages',\n\n props: {\n value: {\n type: Array,\n default: () => ([]),\n } as PropValidator,\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 }, getSlot(this, 'default', { message, key }) || [message])\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 './VMenu.sass'\n\n// Components\nimport { VThemeProvider } from '../VThemeProvider'\n\n// Mixins\nimport Activatable from '../../mixins/activatable'\nimport Delayable from '../../mixins/delayable'\nimport Dependent from '../../mixins/dependent'\nimport Detachable from '../../mixins/detachable'\nimport Menuable from '../../mixins/menuable'\nimport Returnable from '../../mixins/returnable'\nimport Roundable from '../../mixins/roundable'\nimport Toggleable from '../../mixins/toggleable'\nimport Themeable from '../../mixins/themeable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\nimport Resize from '../../directives/resize'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { removed } from '../../util/console'\nimport {\n convertToUnit,\n keyCodes,\n} from '../../util/helpers'\n\n// Types\nimport { VNode, VNodeDirective, VNodeData } from 'vue'\n\nconst baseMixins = mixins(\n Dependent,\n Delayable,\n Detachable,\n Menuable,\n Returnable,\n Roundable,\n Toggleable,\n Themeable\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-menu',\n\n directives: {\n ClickOutside,\n Resize,\n },\n\n provide (): object {\n return {\n isInMenu: true,\n // Pass theme through to default slot\n theme: this.theme,\n }\n },\n\n props: {\n auto: Boolean,\n closeOnClick: {\n type: Boolean,\n default: true,\n },\n closeOnContentClick: {\n type: Boolean,\n default: true,\n },\n disabled: Boolean,\n disableKeys: Boolean,\n maxHeight: {\n type: [Number, String],\n default: 'auto',\n },\n offsetX: Boolean,\n offsetY: Boolean,\n openOnClick: {\n type: Boolean,\n default: true,\n },\n openOnHover: Boolean,\n origin: {\n type: String,\n default: 'top left',\n },\n transition: {\n type: [Boolean, String],\n default: 'v-menu-transition',\n },\n },\n\n data () {\n return {\n calculatedTopAuto: 0,\n defaultOffset: 8,\n hasJustFocused: false,\n listIndex: -1,\n resizeTimeout: 0,\n selectedIndex: null as null | number,\n tiles: [] as HTMLElement[],\n }\n },\n\n computed: {\n activeTile (): HTMLElement | undefined {\n return this.tiles[this.listIndex]\n },\n calculatedLeft (): string {\n const menuWidth = Math.max(this.dimensions.content.width, parseFloat(this.calculatedMinWidth))\n\n if (!this.auto) return this.calcLeft(menuWidth) || '0'\n\n return convertToUnit(this.calcXOverflow(this.calcLeftAuto(), menuWidth)) || '0'\n },\n calculatedMaxHeight (): string {\n const height = this.auto\n ? '200px'\n : convertToUnit(this.maxHeight)\n\n return height || '0'\n },\n calculatedMaxWidth (): string {\n return convertToUnit(this.maxWidth) || '0'\n },\n calculatedMinWidth (): string {\n if (this.minWidth) {\n return convertToUnit(this.minWidth) || '0'\n }\n\n const minWidth = Math.min(\n this.dimensions.activator.width +\n Number(this.nudgeWidth) +\n (this.auto ? 16 : 0),\n Math.max(this.pageWidth - 24, 0)\n )\n\n const calculatedMaxWidth = isNaN(parseInt(this.calculatedMaxWidth))\n ? minWidth\n : parseInt(this.calculatedMaxWidth)\n\n return convertToUnit(Math.min(\n calculatedMaxWidth,\n minWidth\n )) || '0'\n },\n calculatedTop (): string {\n const top = !this.auto\n ? this.calcTop()\n : convertToUnit(this.calcYOverflow(this.calculatedTopAuto))\n\n return top || '0'\n },\n hasClickableTiles (): boolean {\n return Boolean(this.tiles.find(tile => tile.tabIndex > -1))\n },\n styles (): object {\n return {\n maxHeight: this.calculatedMaxHeight,\n minWidth: this.calculatedMinWidth,\n maxWidth: this.calculatedMaxWidth,\n top: this.calculatedTop,\n left: this.calculatedLeft,\n transformOrigin: this.origin,\n zIndex: this.zIndex || this.activeZIndex,\n }\n },\n },\n\n watch: {\n isActive (val) {\n if (!val) this.listIndex = -1\n },\n isContentActive (val) {\n this.hasJustFocused = val\n },\n listIndex (next, prev) {\n if (next in this.tiles) {\n const tile = this.tiles[next]\n tile.classList.add('v-list-item--highlighted')\n this.$refs.content.scrollTop = tile.offsetTop - tile.clientHeight\n }\n\n prev in this.tiles &&\n this.tiles[prev].classList.remove('v-list-item--highlighted')\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('full-width')) {\n removed('full-width', this)\n }\n },\n\n mounted () {\n this.isActive && this.callActivate()\n },\n\n methods: {\n activate () {\n // Update coordinates and dimensions of menu\n // and its activator\n this.updateDimensions()\n // Start the transition\n requestAnimationFrame(() => {\n // Once transitioning, calculate scroll and top position\n this.startTransition().then(() => {\n if (this.$refs.content) {\n this.calculatedTopAuto = this.calcTopAuto()\n this.auto && (this.$refs.content.scrollTop = this.calcScrollPosition())\n }\n })\n })\n },\n calcScrollPosition () {\n const $el = this.$refs.content\n const activeTile = $el.querySelector('.v-list-item--active') as HTMLElement\n const maxScrollTop = $el.scrollHeight - $el.offsetHeight\n\n return activeTile\n ? Math.min(maxScrollTop, Math.max(0, activeTile.offsetTop - $el.offsetHeight / 2 + activeTile.offsetHeight / 2))\n : $el.scrollTop\n },\n calcLeftAuto () {\n return parseInt(this.dimensions.activator.left - this.defaultOffset * 2)\n },\n calcTopAuto () {\n const $el = this.$refs.content\n const activeTile = $el.querySelector('.v-list-item--active') as HTMLElement | null\n\n if (!activeTile) {\n this.selectedIndex = null\n }\n\n if (this.offsetY || !activeTile) {\n return this.computedTop\n }\n\n this.selectedIndex = Array.from(this.tiles).indexOf(activeTile)\n\n const tileDistanceFromMenuTop = activeTile.offsetTop - this.calcScrollPosition()\n const firstTileOffsetTop = ($el.querySelector('.v-list-item') as HTMLElement).offsetTop\n\n return this.computedTop - tileDistanceFromMenuTop - firstTileOffsetTop - 1\n },\n changeListIndex (e: KeyboardEvent) {\n // For infinite scroll and autocomplete, re-evaluate children\n this.getTiles()\n\n if (!this.isActive || !this.hasClickableTiles) {\n return\n } else if (e.keyCode === keyCodes.tab) {\n this.isActive = false\n return\n } else if (e.keyCode === keyCodes.down) {\n this.nextTile()\n } else if (e.keyCode === keyCodes.up) {\n this.prevTile()\n } else if (e.keyCode === keyCodes.end) {\n this.lastTile()\n } else if (e.keyCode === keyCodes.home) {\n this.firstTile()\n } else if (e.keyCode === keyCodes.enter && this.listIndex !== -1) {\n this.tiles[this.listIndex].click()\n } else { return }\n // One of the conditions was met, prevent default action (#2988)\n e.preventDefault()\n },\n closeConditional (e: Event) {\n const target = e.target as HTMLElement\n\n return this.isActive &&\n !this._isDestroyed &&\n this.closeOnClick &&\n !this.$refs.content.contains(target)\n },\n genActivatorAttributes () {\n const attributes = Activatable.options.methods.genActivatorAttributes.call(this)\n\n if (this.activeTile && this.activeTile.id) {\n return {\n ...attributes,\n 'aria-activedescendant': this.activeTile.id,\n }\n }\n\n return attributes\n },\n genActivatorListeners () {\n const listeners = Menuable.options.methods.genActivatorListeners.call(this)\n\n if (!this.disableKeys) {\n listeners.keydown = this.onKeyDown\n }\n\n return listeners\n },\n genTransition (): VNode {\n const content = this.genContent()\n\n if (!this.transition) return content\n\n return this.$createElement('transition', {\n props: {\n name: this.transition,\n },\n }, [content])\n },\n genDirectives (): VNodeDirective[] {\n const directives: VNodeDirective[] = [{\n name: 'show',\n value: this.isContentActive,\n }]\n\n // Do not add click outside for hover menu\n if (!this.openOnHover && this.closeOnClick) {\n directives.push({\n name: 'click-outside',\n value: {\n handler: () => { this.isActive = false },\n closeConditional: this.closeConditional,\n include: () => [this.$el, ...this.getOpenDependentElements()],\n },\n })\n }\n\n return directives\n },\n genContent (): VNode {\n const options = {\n attrs: {\n ...this.getScopeIdAttrs(),\n role: 'role' in this.$attrs ? this.$attrs.role : 'menu',\n },\n staticClass: 'v-menu__content',\n class: {\n ...this.rootThemeClasses,\n ...this.roundedClasses,\n 'v-menu__content--auto': this.auto,\n 'v-menu__content--fixed': this.activatorFixed,\n menuable__content__active: this.isActive,\n [this.contentClass.trim()]: true,\n },\n style: this.styles,\n directives: this.genDirectives(),\n ref: 'content',\n on: {\n click: (e: Event) => {\n const target = e.target as HTMLElement\n\n if (target.getAttribute('disabled')) return\n if (this.closeOnContentClick) this.isActive = false\n },\n keydown: this.onKeyDown,\n },\n } as VNodeData\n\n if (this.$listeners.scroll) {\n options.on = options.on || {}\n options.on.scroll = this.$listeners.scroll\n }\n\n if (!this.disabled && this.openOnHover) {\n options.on = options.on || {}\n options.on.mouseenter = this.mouseEnterHandler\n }\n\n if (this.openOnHover) {\n options.on = options.on || {}\n options.on.mouseleave = this.mouseLeaveHandler\n }\n\n return this.$createElement('div', options, this.getContentSlot())\n },\n getTiles () {\n if (!this.$refs.content) return\n\n this.tiles = Array.from(this.$refs.content.querySelectorAll('.v-list-item'))\n },\n mouseEnterHandler () {\n this.runDelay('open', () => {\n if (this.hasJustFocused) return\n\n this.hasJustFocused = true\n })\n },\n mouseLeaveHandler (e: MouseEvent) {\n // Prevent accidental re-activation\n this.runDelay('close', () => {\n if (this.$refs.content.contains(e.relatedTarget as HTMLElement)) return\n\n requestAnimationFrame(() => {\n this.isActive = false\n this.callDeactivate()\n })\n })\n },\n nextTile () {\n const tile = this.tiles[this.listIndex + 1]\n\n if (!tile) {\n if (!this.tiles.length) return\n\n this.listIndex = -1\n this.nextTile()\n\n return\n }\n\n this.listIndex++\n if (tile.tabIndex === -1) this.nextTile()\n },\n prevTile () {\n const tile = this.tiles[this.listIndex - 1]\n\n if (!tile) {\n if (!this.tiles.length) return\n\n this.listIndex = this.tiles.length\n this.prevTile()\n\n return\n }\n\n this.listIndex--\n if (tile.tabIndex === -1) this.prevTile()\n },\n lastTile () {\n const tile = this.tiles[this.tiles.length - 1]\n\n if (!tile) return\n\n this.listIndex = this.tiles.length - 1\n\n if (tile.tabIndex === -1) this.prevTile()\n },\n firstTile () {\n const tile = this.tiles[0]\n\n if (!tile) return\n\n this.listIndex = 0\n\n if (tile.tabIndex === -1) this.nextTile()\n },\n onKeyDown (e: KeyboardEvent) {\n if (e.keyCode === keyCodes.esc) {\n // Wait for dependent elements to close first\n setTimeout(() => { this.isActive = false })\n const activator = this.getActivator()\n this.$nextTick(() => activator && activator.focus())\n } else if (\n !this.isActive &&\n [keyCodes.up, keyCodes.down].includes(e.keyCode)\n ) {\n this.isActive = true\n }\n\n // Allow for isActive watcher to generate tile list\n this.$nextTick(() => this.changeListIndex(e))\n },\n onResize () {\n if (!this.isActive) return\n\n // Account for screen resize\n // and orientation change\n // eslint-disable-next-line no-unused-expressions\n this.$refs.content.offsetWidth\n this.updateDimensions()\n\n // When resizing to a smaller width\n // content width is evaluated before\n // the new activator width has been\n // set, causing it to not size properly\n // hacky but will revisit in the future\n clearTimeout(this.resizeTimeout)\n this.resizeTimeout = window.setTimeout(this.updateDimensions, 100)\n },\n },\n\n render (h): VNode {\n const data = {\n staticClass: 'v-menu',\n class: {\n 'v-menu--attached':\n this.attach === '' ||\n this.attach === true ||\n this.attach === 'attach',\n },\n directives: [{\n arg: '500',\n name: 'resize',\n value: this.onResize,\n }],\n }\n\n return h('div', data, [\n !this.activator && this.genActivator(),\n this.showLazyContent(() => [\n this.$createElement(VThemeProvider, {\n props: {\n root: true,\n light: this.light,\n dark: this.dark,\n },\n }, [this.genTransition()]),\n ]),\n ])\n },\n})\n","// Styles\nimport './VMain.sass'\n\n// Mixins\nimport SSRBootable from '../../mixins/ssr-bootable'\n\n// Types\nimport { VNode } from 'vue'\n\n/* @vue/component */\nexport default SSRBootable.extend({\n name: 'v-main',\n\n props: {\n tag: {\n type: String,\n default: 'main',\n },\n },\n\n computed: {\n styles (): object {\n const {\n bar, top, right, footer, insetFooter, bottom, left,\n } = this.$vuetify.application\n\n return {\n paddingTop: `${top + bar}px`,\n paddingRight: `${right}px`,\n paddingBottom: `${footer + insetFooter + bottom}px`,\n paddingLeft: `${left}px`,\n }\n },\n },\n\n render (h): VNode {\n const data = {\n staticClass: 'v-main',\n style: this.styles,\n ref: 'main',\n }\n\n return h(this.tag, data, [\n h(\n 'div',\n { staticClass: 'v-main__wrap' },\n this.$slots.default\n ),\n ])\n },\n})\n"],"sourceRoot":""}