{"version":3,"sources":["webpack:///../../../src/components/VItemGroup/VItemGroup.ts","webpack:////src/components/MenuButton/index.vue","webpack:///src/components/MenuButton/index.vue","webpack:////src/components/MenuButton/index.vue?d990","webpack:////src/components/MenuButton/index.vue?cbe9","webpack:///../../../src/mixins/comparable/index.ts","webpack:////node_modules/core-js/modules/es.array.find-index.js","webpack:///../../../src/components/VMenu/VMenu.ts"],"names":["BaseItemGroup","mixins","Comparable","Proxyable","Themeable","extend","name","props","activeClass","type","String","default","mandatory","Boolean","max","Number","multiple","tag","data","internalLazyValue","undefined","this","value","items","computed","classes","_objectSpread","themeClasses","selectedIndex","selectedItem","indexOf","selectedItems","_this","filter","item","index","toggleMethod","getValue","selectedValues","internalValue","Array","isArray","_this2","v","valueComparator","some","intern","watch","created","consoleWarn","methods","genData","class","i","onClick","updateInternalValue","register","_this3","push","$on","length","updateMandatory","updateItem","unregister","_isDestroyed","splice","valueIndex","isActive","updateItemsState","_this4","$nextTick","forEach","updateMultiple","updateSingle","last","slice","reverse","find","disabled","_this5","defaultValue","findIndex","val","isSame","render","h","getSlot","provide","itemGroup","scopedSlots","key","fn","menu","_ref","attrs","_ref2","tooltip","_c","_vm","avatar","$event","dialogLogout","model","expression","staticClass","on","_v","callback","staticRenderFns","components","Settings","userName","dialogSettings","mounted","getUserData","logout","self","firebase","auth","signOut","then","$router","currentUser","displayName","split","photoURL","component","Vue","Function","deepEqual","$","$findIndex","addToUnscopables","FIND_INDEX","SKIPS_HOLES","target","proto","forced","callbackfn","arguments","baseMixins","Dependent","Delayable","Returnable","Roundable","Menuable","directives","ClickOutside","Resize","isInMenu","theme","auto","closeOnClick","closeOnContentClick","disableKeys","maxHeight","offsetX","offsetY","openOnHover","origin","transition","contentProps","Object","calculatedTopAuto","defaultOffset","hasJustFocused","listIndex","resizeTimeout","tiles","activeTile","calculatedLeft","menuWidth","Math","dimensions","content","width","parseFloat","calculatedMinWidth","convertToUnit","calcXOverflow","calcLeftAuto","calcLeft","calculatedMaxHeight","height","calculatedMaxWidth","maxWidth","minWidth","min","activator","nudgeWidth","pageWidth","isNaN","parseInt","calculatedTop","top","calcYOverflow","calcTop","hasClickableTiles","tile","tabIndex","styles","left","transformOrigin","zIndex","activeZIndex","isContentActive","next","prev","classList","add","scrollTop","$refs","contentHeight","clientHeight","offsetTop","goTo","appOffset","duration","container","remove","$attrs","hasOwnProperty","removed","callActivate","activate","updateDimensions","requestAnimationFrame","startTransition","calcTopAuto","calcScrollPosition","$el","querySelector","maxScrollTop","scrollHeight","offsetHeight","computedTop","from","tileDistanceFromMenuTop","firstTileOffsetTop","changeListIndex","e","getTiles","keyCode","keyCodes","tab","down","nextTile","up","prevTile","end","lastTile","home","firstTile","enter","click","preventDefault","closeConditional","contains","genActivatorAttributes","attributes","Activatable","options","call","id","genActivatorListeners","listeners","keydown","onKeyDown","genTransition","genContent","$createElement","genDirectives","handler","include","concat","_toConsumableArray","getOpenDependentElements","getScopeIdAttrs","role","rootThemeClasses","roundedClasses","_defineProperty","activatorFixed","menuable__content__active","contentClass","trim","style","ref","getAttribute","$listeners","scroll","mouseenter","mouseEnterHandler","mouseleave","mouseLeaveHandler","getContentSlot","querySelectorAll","runDelay","_a","relatedTarget","callDeactivate","_this6","esc","setTimeout","getActivator","focus","includes","onResize","offsetWidth","clearTimeout","window","_this7","attach","arg","genActivator","showLazyContent","VThemeProvider","root","light","dark"],"mappings":"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","file":"js/chunk-c99b391c.2d999c44.js","sourcesContent":["// Styles\nimport './VItemGroup.sass'\n\n// Mixins\nimport Comparable from '../../mixins/comparable'\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'\nimport { getSlot } from '../../util/helpers'\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 Comparable,\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.valueComparator(this.internalValue, v)\n }\n\n const internalValue = this.internalValue\n if (Array.isArray(internalValue)) {\n return (v: any) => internalValue.some(intern => this.valueComparator(intern, 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 === undefined\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 => this.valueComparator(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 = this.valueComparator(this.internalValue, value)\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(), getSlot(this))\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","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"id\":\"MenuButton\"}},[_c('v-menu',{staticClass:\"elevation-6\",attrs:{\"bottom\":\"\",\"left\":\"\",\"close-on-content-click\":true,\"nudge-width\":200,\"offset-y\":\"\",\"rounded\":\"\",\"min-width\":\"400\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on: menu, attrs }){return [_c('v-tooltip',{attrs:{\"dense\":\"\",\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on: tooltip }){return [_c('v-btn',_vm._g(_vm._b({attrs:{\"icon\":\"\"}},'v-btn',attrs,false),{ ...tooltip, ...menu }),[_c('v-icon',[_vm._v(\"mdi-dots-vertical\")])],1)]}}],null,true)},[_c('span',[_vm._v(\"Menu\")])])]}}])},[_c('v-list',[_c('v-list-item',[_c('v-list-item-avatar',[_c('img',{attrs:{\"src\":_vm.avatar,\"alt\":'Foto do ' + _vm.userName}})]),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(_vm._s(_vm.userName))]),_c('v-list-item-subtitle',[_vm._v(\"User \")])],1)],1),_c('v-list-item',{attrs:{\"to\":\"/dashboard\"}},[_c('v-list-item-action',[_c('v-icon',[_vm._v(\"mdi-home\")])],1),_c('v-list-item-title',[_vm._v(\"Home\")])],1),_c('v-list-item',{attrs:{\"to\":\"/materials\"}},[_c('v-list-item-action',[_c('v-icon',[_vm._v(\"mdi-folder\")])],1),_c('v-list-item-title',[_vm._v(\"Materials\")])],1),_c('v-list-item',{attrs:{\"link\":\"\"},on:{\"click\":function($event){_vm.dialogSettings = true}}},[_c('v-list-item-action',[_c('v-icon',[_vm._v(\"mdi-cog\")])],1),_c('v-list-item-title',[_vm._v(\"Settings\")])],1),_c('v-list-item',{on:{\"click\":function($event){_vm.dialogLogout = true}}},[_c('v-list-item-action',[_c('v-icon',[_vm._v(\"mdi-logout\")])],1),_c('v-list-item-title',[_vm._v(\"Logout\")])],1)],1)],1),_c('v-dialog',{attrs:{\"width\":\"400\"},model:{value:(_vm.dialogLogout),callback:function ($$v) {_vm.dialogLogout=$$v},expression:\"dialogLogout\"}},[_c('v-card',[_c('v-card-title',{staticClass:\"headline\"},[_vm._v(\" Realmente quer sair? \")]),_c('v-card-text',[_vm._v(\" Você poderá se conectar novamente utilizando a sua conta de e-mail e senha que utilizou para acessar desta vez \")]),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"primary\",\"text\":\"\"},on:{\"click\":_vm.logout}},[_vm._v(\" Sim \")]),_c('v-btn',{attrs:{\"color\":\"faded\",\"text\":\"\"},on:{\"click\":function($event){_vm.dialogLogout = false}}},[_vm._v(\" Cancelar \")])],1)],1)],1),_c('v-dialog',{attrs:{\"width\":\"500\"},model:{value:(_vm.dialogSettings),callback:function ($$v) {_vm.dialogSettings=$$v},expression:\"dialogSettings\"}},[_c('v-card',[_c('v-card-title',[_vm._v(\" Settings \"),_c('v-spacer'),_c('v-btn',{attrs:{\"icon\":\"\"},on:{\"click\":function($event){_vm.dialogSettings = false}}},[_c('v-icon',[_vm._v(\"mdi-close\")])],1)],1),_c('v-card-text',[_c('Settings')],1)],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=dc0360f6\"\nimport script from \"./index.vue?vue&type=script&lang=js\"\nexport * from \"./index.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","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 PropValidator,\n },\n})\n","'use strict';\nvar $ = require('../internals/export');\nvar $findIndex = require('../internals/array-iteration').findIndex;\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\nvar FIND_INDEX = 'findIndex';\nvar SKIPS_HOLES = true;\n\n// Shouldn't skip holes\n// eslint-disable-next-line es/no-array-prototype-findindex -- testing\nif (FIND_INDEX in []) Array(1)[FIND_INDEX](function () { SKIPS_HOLES = false; });\n\n// `Array.prototype.findIndex` method\n// https://tc39.es/ecma262/#sec-array.prototype.findindex\n$({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {\n findIndex: function findIndex(callbackfn /* , that = undefined */) {\n return $findIndex(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables(FIND_INDEX);\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 Menuable from '../../mixins/menuable'\nimport Returnable from '../../mixins/returnable'\nimport Roundable from '../../mixins/roundable'\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'\nimport goTo from '../../services/goto'\n\n// Types\nimport { VNode, VNodeDirective, VNodeData, PropType } from 'vue'\n\nconst baseMixins = mixins(\n Dependent,\n Delayable,\n Returnable,\n Roundable,\n Themeable,\n Menuable,\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 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 contentProps: {\n type: Object as PropType>,\n default: () => ({}),\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 const scrollTop = this.$refs.content.scrollTop\n const contentHeight = this.$refs.content.clientHeight\n\n if (scrollTop > tile.offsetTop - 8) {\n goTo(tile.offsetTop - tile.clientHeight, {\n appOffset: false,\n duration: 300,\n container: this.$refs.content,\n })\n } else if (scrollTop + contentHeight < tile.offsetTop + tile.clientHeight + 8) {\n goTo(tile.offsetTop - contentHeight + tile.clientHeight * 2, {\n appOffset: false,\n duration: 300,\n container: this.$refs.content,\n })\n }\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 ...this.contentProps,\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, .v-divider, .v-subheader'))\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 (this.disableKeys) return\n\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"],"sourceRoot":""}