{"version":3,"sources":["webpack:///../../../src/components/VDataTable/VSimpleTable.ts","webpack:///./src/features/licenca/licenca-tabela.vue?adb3","webpack:///./src/features/licenca/licenca-tabela.vue?2a3d","webpack:///./src/features/licenca/licenca-tabela.vue?e483","webpack:///./src/features/licenca/licenca-tabela.vue","webpack:///./src/features/licenca/licenca-tabela.vue?bbf2","webpack:///../../../src/mixins/menuable/index.ts","webpack:///../../../src/components/VMenu/VMenu.ts"],"names":["name","props","dense","fixedHeader","height","Number","String","computed","classes","this","themeClasses","methods","genWrapper","$slots","wrapper","$createElement","staticClass","style","render","h","class","_vm","_h","_c","_self","mostrarUsuario","_e","_v","_l","item","index","key","_s","usuario","email","empresa","produto","situacao","situacaoPagamento","quantidade","_f","total","attrs","scopedSlots","_u","fn","ref","on","_g","_b","$event","visualizarLicenca","id","_t","staticRenderFns","licencaId","goTo","default","component","VBtn","VIcon","VList","VListItem","VMenu","VSimpleTable","baseMixins","mixins","allowOverflow","light","dark","maxWidth","type","minWidth","nudgeBottom","nudgeLeft","nudgeRight","nudgeTop","nudgeWidth","offsetOverflow","openOnClick","positionX","positionY","zIndex","data","absoluteX","absoluteY","activatedBy","activatorFixed","dimensions","activator","top","left","bottom","right","width","offsetTop","scrollHeight","offsetLeft","content","hasJustFocused","hasWindow","inputActivator","isContentActive","pageWidth","pageYOffset","stackClass","stackMinZIndex","computedLeft","a","c","activatorLeft","attach","Math","isNaN","parseInt","computedTop","hasActivator","$scopedSlots","watch","disabled","val","isActive","beforeMount","window","absolutePosition","activate","calcLeft","calcXOverflow","calcTop","calcYOverflow","xOverflow","documentHeight","toTop","contentHeight","totalHeight","isOverflowing","callActivate","callDeactivate","checkForPageYOffset","checkActivatorFixed","el","deactivate","genActivatorListeners","listeners","onClick","e","getInnerHeight","document","getOffsetLeft","getOffsetTop","getRoundedBoundedClientRect","rect","measure","sneakPeek","requestAnimationFrame","cb","startTransition","Promise","resolve","updateDimensions","provide","isInMenu","theme","directives","ClickOutside","Resize","auto","closeOnClick","closeOnContentClick","disableKeys","maxHeight","offsetX","offsetY","openOnHover","origin","transition","Boolean","calculatedTopAuto","defaultOffset","listIndex","resizeTimeout","selectedIndex","tiles","activeTile","calculatedLeft","menuWidth","parseFloat","calculatedMaxHeight","calculatedMaxWidth","calculatedMinWidth","calculatedTop","hasClickableTiles","find","tile","styles","transformOrigin","activeZIndex","next","prev","classList","remove","created","$attrs","hasOwnProperty","mounted","calcScrollPosition","$el","$refs","maxScrollTop","calcLeftAuto","calcTopAuto","Array","tileDistanceFromMenuTop","firstTileOffsetTop","changeListIndex","closeConditional","target","contains","genTransition","genDirectives","value","args","include","genContent","options","role","menuable__content__active","contentClass","click","keydown","onKeyDown","showLazyContent","getTiles","querySelectorAll","mouseEnterHandler","mouseLeaveHandler","nextTile","prevTile","setTimeout","onResize","clearTimeout","arg","VThemeProvider","root"],"mappings":"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","file":"js/chunk-280681f0.06bde28a.js","sourcesContent":["import './VSimpleTable.sass'\n\nimport { convertToUnit } from '../../util/helpers'\nimport Themeable from '../../mixins/themeable'\nimport mixins from '../../util/mixins'\nimport { VNode } from 'vue'\n\nexport default mixins(Themeable).extend({\n name: 'v-simple-table',\n\n props: {\n dense: Boolean,\n fixedHeader: Boolean,\n height: [Number, String],\n },\n\n computed: {\n classes (): Record {\n return {\n 'v-data-table--dense': this.dense,\n 'v-data-table--fixed-height': !!this.height && !this.fixedHeader,\n 'v-data-table--fixed-header': this.fixedHeader,\n ...this.themeClasses,\n }\n },\n },\n\n methods: {\n genWrapper () {\n return this.$slots.wrapper || this.$createElement('div', {\n staticClass: 'v-data-table__wrapper',\n style: {\n height: convertToUnit(this.height),\n },\n }, [\n this.$createElement('table', this.$slots.default),\n ])\n },\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-data-table',\n class: this.classes,\n }, [\n this.$slots.top,\n this.genWrapper(),\n this.$slots.bottom,\n ])\n },\n})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-simple-table',[_c('table',[_c('thead',[_c('tr',[(!_vm.mostrarUsuario)?_c('th',[_vm._v(\"Usuário\")]):_vm._e(),(!_vm.mostrarUsuario)?_c('th',[_vm._v(\"E-mail\")]):_vm._e(),(_vm.mostrarEmpresa)?_c('th',[_vm._v(\"Empresa\")]):_vm._e(),(_vm.mostrarProduto)?_c('th',[_vm._v(\"Produto\")]):_vm._e(),_c('th',[_vm._v(\"Situação\")]),_c('th',[_vm._v(\"Situação Pagamento\")]),(_vm.mostrarQuantidade)?_c('th',[_vm._v(\"Quantidade\")]):_vm._e(),_c('th',[_vm._v(\"Total\")]),_c('th')])]),_c('tbody',_vm._l((_vm.itens),function(item,index){return _c('tr',{key:index},[(!_vm.mostrarUsuario)?_c('td',[_vm._v(_vm._s(item.usuario))]):_vm._e(),(!_vm.mostrarUsuario)?_c('td',[_vm._v(_vm._s(item.email))]):_vm._e(),(_vm.mostrarEmpresa)?_c('td',[_vm._v(_vm._s(item.empresa))]):_vm._e(),(_vm.mostrarProduto)?_c('td',[_vm._v(_vm._s(item.produto))]):_vm._e(),_c('td',[_vm._v(_vm._s(item.situacao))]),_c('td',[_vm._v(_vm._s(item.situacaoPagamento))]),(_vm.mostrarQuantidade)?_c('td',[_vm._v(_vm._s(item.quantidade))]):_vm._e(),_c('td',[_vm._v(\" \"+_vm._s(_vm._f(\"monetario\")(item.total))+\" \")]),_c('td',[_c('v-menu',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('v-btn',_vm._g(_vm._b({staticClass:\"btn-licenca-tabela-right\",attrs:{\"icon\":\"\"}},'v-btn',attrs,false),on),[_c('v-icon',{staticClass:\"t-menu-dots-vertical mr-3\"},[_vm._v(\" mdi-dots-vertical \")])],1)]}}],null,true)},[_c('v-list',{staticClass:\"pa-0\"},[_c('v-list-item',{staticClass:\"pa-0\"},[_c('v-btn',{attrs:{\"text\":\"\"},on:{\"click\":function($event){return _vm.visualizarLicenca(item.id)}}},[_vm._v(\" Visualizar \")])],1),_c('div',{staticClass:\"t-chamado-divider t-btn-radius\"}),_vm._t(\"botoesAdicionais\",null,{\"item\":item})],2)],1)],1)])}),0)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport Component from 'vue-class-component';\nimport routerService from '@/base/router-service';\nimport { Prop } from 'vue-property-decorator';\n\nexport interface LicencaTabelaItemDto {\n id?: string;\n empresa?: string;\n usuarioId?: string;\n usuario?: string;\n produto?: string;\n situacao?: string;\n situacaoPagamento?: string;\n quantidade: number;\n atualizadoEm?: string;\n total: number;\n}\n\n@Component\nexport default class EmpresaInserirEditar extends Vue {\n @Prop() itens: LicencaTabelaItemDto[];\n @Prop({ default: false }) mostrarEmpresa: boolean;\n @Prop({ default: false }) mostrarProduto: boolean;\n @Prop({ default: false }) mostrarQuantidade: boolean;\n @Prop({ default: false }) mostrarUsuario: boolean;\n\n async visualizarLicenca(licencaId: string) {\n await routerService.goTo('licenca-visualizar', { licencaId });\n }\n}\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/ts-loader/index.js??ref--13-3!../../../node_modules/vuetify-loader/lib/loader.js??ref--19-0!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./licenca-tabela.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../node_modules/vuetify-loader/lib/loader.js??ref--19-0!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./licenca-tabela.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./licenca-tabela.vue?vue&type=template&id=0da17cc6&scoped=true&v-slot%3Adefault=true&\"\nimport script from \"./licenca-tabela.vue?vue&type=script&lang=ts&\"\nexport * from \"./licenca-tabela.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./licenca-tabela.vue?vue&type=style&index=0&id=0da17cc6&scoped=true&lang=css&\"\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 \"0da17cc6\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VList } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\nimport { VSimpleTable } from 'vuetify/lib/components/VDataTable';\ninstallComponents(component, {VBtn,VIcon,VList,VListItem,VMenu,VSimpleTable})\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/vuetify-loader/lib/loader.js??ref--19-0!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./licenca-tabela.vue?vue&type=style&index=0&id=0da17cc6&scoped=true&lang=css&\"","// Mixins\nimport Positionable from '../positionable'\nimport Stackable from '../stackable'\nimport Activatable from '../activatable'\n\n// Utilities\nimport mixins, { ExtractVue } from '../../util/mixins'\nimport { convertToUnit } from '../../util/helpers'\n\n// Types\nconst baseMixins = mixins(\n Stackable,\n Positionable,\n Activatable\n)\n\ninterface options extends ExtractVue {\n attach: boolean | string | Element\n offsetY: boolean\n offsetX: boolean\n $refs: {\n content: HTMLElement\n activator: HTMLElement\n }\n}\n\n/* @vue/component */\nexport default baseMixins.extend().extend({\n name: 'menuable',\n\n props: {\n allowOverflow: Boolean,\n light: Boolean,\n dark: Boolean,\n maxWidth: {\n type: [Number, String],\n default: 'auto',\n },\n minWidth: [Number, String],\n nudgeBottom: {\n type: [Number, String],\n default: 0,\n },\n nudgeLeft: {\n type: [Number, String],\n default: 0,\n },\n nudgeRight: {\n type: [Number, String],\n default: 0,\n },\n nudgeTop: {\n type: [Number, String],\n default: 0,\n },\n nudgeWidth: {\n type: [Number, String],\n default: 0,\n },\n offsetOverflow: Boolean,\n openOnClick: Boolean,\n positionX: {\n type: Number,\n default: null,\n },\n positionY: {\n type: Number,\n default: null,\n },\n zIndex: {\n type: [Number, String],\n default: null,\n },\n },\n\n data: () => ({\n absoluteX: 0,\n absoluteY: 0,\n activatedBy: null as EventTarget | null,\n activatorFixed: false,\n dimensions: {\n activator: {\n top: 0,\n left: 0,\n bottom: 0,\n right: 0,\n width: 0,\n height: 0,\n offsetTop: 0,\n scrollHeight: 0,\n offsetLeft: 0,\n },\n content: {\n top: 0,\n left: 0,\n bottom: 0,\n right: 0,\n width: 0,\n height: 0,\n offsetTop: 0,\n scrollHeight: 0,\n },\n },\n hasJustFocused: false,\n hasWindow: false,\n inputActivator: false,\n isContentActive: false,\n pageWidth: 0,\n pageYOffset: 0,\n stackClass: 'v-menu__content--active',\n stackMinZIndex: 6,\n }),\n\n computed: {\n computedLeft () {\n const a = this.dimensions.activator\n const c = this.dimensions.content\n const activatorLeft = (this.attach !== false ? a.offsetLeft : a.left) || 0\n const minWidth = Math.max(a.width, c.width)\n let left = 0\n left += this.left ? activatorLeft - (minWidth - a.width) : activatorLeft\n if (this.offsetX) {\n const maxWidth = isNaN(Number(this.maxWidth))\n ? a.width\n : Math.min(a.width, Number(this.maxWidth))\n\n left += this.left ? -maxWidth : a.width\n }\n if (this.nudgeLeft) left -= parseInt(this.nudgeLeft)\n if (this.nudgeRight) left += parseInt(this.nudgeRight)\n\n return left\n },\n computedTop () {\n const a = this.dimensions.activator\n const c = this.dimensions.content\n let top = 0\n\n if (this.top) top += a.height - c.height\n if (this.attach !== false) top += a.offsetTop\n else top += a.top + this.pageYOffset\n if (this.offsetY) top += this.top ? -a.height : a.height\n if (this.nudgeTop) top -= parseInt(this.nudgeTop)\n if (this.nudgeBottom) top += parseInt(this.nudgeBottom)\n\n return top\n },\n hasActivator (): boolean {\n return !!this.$slots.activator || !!this.$scopedSlots.activator || !!this.activator || !!this.inputActivator\n },\n },\n\n watch: {\n disabled (val) {\n val && this.callDeactivate()\n },\n isActive (val) {\n if (this.disabled) return\n\n val ? this.callActivate() : this.callDeactivate()\n },\n positionX: 'updateDimensions',\n positionY: 'updateDimensions',\n },\n\n beforeMount () {\n this.hasWindow = typeof window !== 'undefined'\n },\n\n methods: {\n absolutePosition () {\n return {\n offsetTop: 0,\n offsetLeft: 0,\n scrollHeight: 0,\n top: this.positionY || this.absoluteY,\n bottom: this.positionY || this.absoluteY,\n left: this.positionX || this.absoluteX,\n right: this.positionX || this.absoluteX,\n height: 0,\n width: 0,\n }\n },\n activate () {},\n calcLeft (menuWidth: number) {\n return convertToUnit(this.attach !== false\n ? this.computedLeft\n : this.calcXOverflow(this.computedLeft, menuWidth))\n },\n calcTop () {\n return convertToUnit(this.attach !== false\n ? this.computedTop\n : this.calcYOverflow(this.computedTop))\n },\n calcXOverflow (left: number, menuWidth: number) {\n const xOverflow = left + menuWidth - this.pageWidth + 12\n\n if ((!this.left || this.right) && xOverflow > 0) {\n left = Math.max(left - xOverflow, 0)\n } else {\n left = Math.max(left, 12)\n }\n\n return left + this.getOffsetLeft()\n },\n calcYOverflow (top: number) {\n const documentHeight = this.getInnerHeight()\n const toTop = this.pageYOffset + documentHeight\n const activator = this.dimensions.activator\n const contentHeight = this.dimensions.content.height\n const totalHeight = top + contentHeight\n const isOverflowing = toTop < totalHeight\n\n // If overflowing bottom and offset\n // TODO: set 'bottom' position instead of 'top'\n if (isOverflowing &&\n this.offsetOverflow &&\n // If we don't have enough room to offset\n // the overflow, don't offset\n activator.top > contentHeight\n ) {\n top = this.pageYOffset + (activator.top - contentHeight)\n // If overflowing bottom\n } else if (isOverflowing && !this.allowOverflow) {\n top = toTop - contentHeight - 12\n // If overflowing top\n } else if (top < this.pageYOffset && !this.allowOverflow) {\n top = this.pageYOffset + 12\n }\n\n return top < 12 ? 12 : top\n },\n callActivate () {\n if (!this.hasWindow) return\n\n this.activate()\n },\n callDeactivate () {\n this.isContentActive = false\n\n this.deactivate()\n },\n checkForPageYOffset () {\n if (this.hasWindow) {\n this.pageYOffset = this.activatorFixed ? 0 : this.getOffsetTop()\n }\n },\n checkActivatorFixed () {\n if (this.attach !== false) return\n let el = this.getActivator()\n while (el) {\n if (window.getComputedStyle(el).position === 'fixed') {\n this.activatorFixed = true\n return\n }\n el = el.offsetParent as HTMLElement\n }\n this.activatorFixed = false\n },\n deactivate () {},\n genActivatorListeners () {\n const listeners = Activatable.options.methods.genActivatorListeners.call(this)\n\n const onClick = listeners.click\n\n listeners.click = (e: MouseEvent & KeyboardEvent) => {\n if (this.openOnClick) {\n onClick && onClick(e)\n }\n\n this.absoluteX = e.clientX\n this.absoluteY = e.clientY\n }\n\n return listeners\n },\n getInnerHeight () {\n if (!this.hasWindow) return 0\n\n return window.innerHeight ||\n document.documentElement.clientHeight\n },\n getOffsetLeft () {\n if (!this.hasWindow) return 0\n\n return window.pageXOffset ||\n document.documentElement.scrollLeft\n },\n getOffsetTop () {\n if (!this.hasWindow) return 0\n\n return window.pageYOffset ||\n document.documentElement.scrollTop\n },\n getRoundedBoundedClientRect (el: Element) {\n const rect = el.getBoundingClientRect()\n return {\n top: Math.round(rect.top),\n left: Math.round(rect.left),\n bottom: Math.round(rect.bottom),\n right: Math.round(rect.right),\n width: Math.round(rect.width),\n height: Math.round(rect.height),\n }\n },\n measure (el: HTMLElement) {\n if (!el || !this.hasWindow) return null\n\n const rect = this.getRoundedBoundedClientRect(el)\n\n // Account for activator margin\n if (this.attach !== false) {\n const style = window.getComputedStyle(el)\n\n rect.left = parseInt(style.marginLeft!)\n rect.top = parseInt(style.marginTop!)\n }\n\n return rect\n },\n sneakPeek (cb: () => void) {\n requestAnimationFrame(() => {\n const el = this.$refs.content\n\n if (!el || el.style.display !== 'none') {\n cb()\n return\n }\n\n el.style.display = 'inline-block'\n cb()\n el.style.display = 'none'\n })\n },\n startTransition () {\n return new Promise(resolve => requestAnimationFrame(() => {\n this.isContentActive = this.hasJustFocused = this.isActive\n resolve()\n }))\n },\n updateDimensions () {\n this.hasWindow = typeof window !== 'undefined'\n this.checkActivatorFixed()\n this.checkForPageYOffset()\n this.pageWidth = document.documentElement.clientWidth\n\n const dimensions: any = {}\n\n // Activator should already be shown\n if (!this.hasActivator || this.absolute) {\n dimensions.activator = this.absolutePosition()\n } else {\n const activator = this.getActivator()\n if (!activator) return\n\n dimensions.activator = this.measure(activator)\n dimensions.activator.offsetLeft = activator.offsetLeft\n if (this.attach !== false) {\n // account for css padding causing things to not line up\n // this is mostly for v-autocomplete, hopefully it won't break anything\n dimensions.activator.offsetTop = activator.offsetTop\n } else {\n dimensions.activator.offsetTop = 0\n }\n }\n\n // Display and hide to get dimensions\n this.sneakPeek(() => {\n dimensions.content = this.measure(this.$refs.content)\n\n this.dimensions = dimensions\n })\n },\n },\n})\n","// Styles\nimport './VMenu.sass'\n\n// Components\nimport { VThemeProvider } from '../VThemeProvider'\n\n// Mixins\nimport Delayable from '../../mixins/delayable'\nimport Dependent from '../../mixins/dependent'\nimport Detachable from '../../mixins/detachable'\nimport Menuable from '../../mixins/menuable'\nimport Returnable from '../../mixins/returnable'\nimport Toggleable from '../../mixins/toggleable'\nimport Themeable from '../../mixins/themeable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\nimport Resize from '../../directives/resize'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { 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 Toggleable,\n Themeable\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-menu',\n\n provide (): object {\n return {\n isInMenu: true,\n // Pass theme through to default slot\n theme: this.theme,\n }\n },\n\n directives: {\n ClickOutside,\n Resize,\n },\n\n props: {\n auto: Boolean,\n closeOnClick: {\n type: Boolean,\n default: true,\n },\n closeOnContentClick: {\n type: Boolean,\n default: true,\n },\n disabled: Boolean,\n disableKeys: Boolean,\n maxHeight: {\n type: [Number, String],\n default: 'auto',\n },\n offsetX: Boolean,\n offsetY: Boolean,\n openOnClick: {\n type: Boolean,\n default: true,\n },\n openOnHover: Boolean,\n origin: {\n type: String,\n default: 'top left',\n },\n transition: {\n type: [Boolean, String],\n default: 'v-menu-transition',\n },\n },\n\n data () {\n return {\n calculatedTopAuto: 0,\n defaultOffset: 8,\n hasJustFocused: false,\n listIndex: -1,\n resizeTimeout: 0,\n selectedIndex: null as null | number,\n tiles: [] as HTMLElement[],\n }\n },\n\n computed: {\n activeTile (): HTMLElement | undefined {\n return this.tiles[this.listIndex]\n },\n calculatedLeft (): string {\n const menuWidth = Math.max(this.dimensions.content.width, parseFloat(this.calculatedMinWidth))\n\n if (!this.auto) return this.calcLeft(menuWidth) || '0'\n\n return convertToUnit(this.calcXOverflow(this.calcLeftAuto(), menuWidth)) || '0'\n },\n calculatedMaxHeight (): string {\n const height = this.auto\n ? '200px'\n : convertToUnit(this.maxHeight)\n\n return height || '0'\n },\n calculatedMaxWidth (): string {\n return convertToUnit(this.maxWidth) || '0'\n },\n calculatedMinWidth (): string {\n if (this.minWidth) {\n return convertToUnit(this.minWidth) || '0'\n }\n\n const minWidth = Math.min(\n this.dimensions.activator.width +\n Number(this.nudgeWidth) +\n (this.auto ? 16 : 0),\n Math.max(this.pageWidth - 24, 0)\n )\n\n const calculatedMaxWidth = isNaN(parseInt(this.calculatedMaxWidth))\n ? minWidth\n : parseInt(this.calculatedMaxWidth)\n\n return convertToUnit(Math.min(\n calculatedMaxWidth,\n minWidth\n )) || '0'\n },\n calculatedTop (): string {\n const top = !this.auto\n ? this.calcTop()\n : convertToUnit(this.calcYOverflow(this.calculatedTopAuto))\n\n return top || '0'\n },\n hasClickableTiles (): boolean {\n return Boolean(this.tiles.find(tile => tile.tabIndex > -1))\n },\n styles (): object {\n return {\n maxHeight: this.calculatedMaxHeight,\n minWidth: this.calculatedMinWidth,\n maxWidth: this.calculatedMaxWidth,\n top: this.calculatedTop,\n left: this.calculatedLeft,\n transformOrigin: this.origin,\n zIndex: this.zIndex || this.activeZIndex,\n }\n },\n },\n\n watch: {\n isActive (val) {\n if (!val) this.listIndex = -1\n },\n isContentActive (val) {\n this.hasJustFocused = val\n },\n listIndex (next, prev) {\n if (next in this.tiles) {\n const tile = this.tiles[next]\n tile.classList.add('v-list-item--highlighted')\n this.$refs.content.scrollTop = tile.offsetTop - tile.clientHeight\n }\n\n prev in this.tiles &&\n this.tiles[prev].classList.remove('v-list-item--highlighted')\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('full-width')) {\n removed('full-width', this)\n }\n },\n\n mounted () {\n this.isActive && this.callActivate()\n },\n\n methods: {\n activate () {\n // Update coordinates and dimensions of menu\n // and its activator\n this.updateDimensions()\n // Start the transition\n requestAnimationFrame(() => {\n // Once transitioning, calculate scroll and top position\n this.startTransition().then(() => {\n if (this.$refs.content) {\n this.calculatedTopAuto = this.calcTopAuto()\n this.auto && (this.$refs.content.scrollTop = this.calcScrollPosition())\n }\n })\n })\n },\n calcScrollPosition () {\n const $el = this.$refs.content\n const activeTile = $el.querySelector('.v-list-item--active') as HTMLElement\n const maxScrollTop = $el.scrollHeight - $el.offsetHeight\n\n return activeTile\n ? Math.min(maxScrollTop, Math.max(0, activeTile.offsetTop - $el.offsetHeight / 2 + activeTile.offsetHeight / 2))\n : $el.scrollTop\n },\n calcLeftAuto () {\n return parseInt(this.dimensions.activator.left - this.defaultOffset * 2)\n },\n calcTopAuto () {\n const $el = this.$refs.content\n const activeTile = $el.querySelector('.v-list-item--active') as HTMLElement | null\n\n if (!activeTile) {\n this.selectedIndex = null\n }\n\n if (this.offsetY || !activeTile) {\n return this.computedTop\n }\n\n this.selectedIndex = Array.from(this.tiles).indexOf(activeTile)\n\n const tileDistanceFromMenuTop = activeTile.offsetTop - this.calcScrollPosition()\n const firstTileOffsetTop = ($el.querySelector('.v-list-item') as HTMLElement).offsetTop\n\n return this.computedTop - tileDistanceFromMenuTop - firstTileOffsetTop - 1\n },\n changeListIndex (e: KeyboardEvent) {\n // For infinite scroll and autocomplete, re-evaluate children\n this.getTiles()\n\n if (!this.isActive || !this.hasClickableTiles) {\n return\n } else if (e.keyCode === keyCodes.tab) {\n this.isActive = false\n return\n } else if (e.keyCode === keyCodes.down) {\n this.nextTile()\n } else if (e.keyCode === keyCodes.up) {\n this.prevTile()\n } else if (e.keyCode === keyCodes.enter && this.listIndex !== -1) {\n this.tiles[this.listIndex].click()\n } else { return }\n // One of the conditions was met, prevent default action (#2988)\n e.preventDefault()\n },\n closeConditional (e: Event) {\n const target = e.target as HTMLElement\n\n return this.isActive &&\n !this._isDestroyed &&\n this.closeOnClick &&\n !this.$refs.content.contains(target)\n },\n genActivatorListeners () {\n const listeners = Menuable.options.methods.genActivatorListeners.call(this)\n\n if (!this.disableKeys) {\n listeners.keydown = this.onKeyDown\n }\n\n return listeners\n },\n genTransition (): VNode {\n if (!this.transition) return this.genContent()\n\n return this.$createElement('transition', {\n props: {\n name: this.transition,\n },\n }, [this.genContent()])\n },\n genDirectives (): VNodeDirective[] {\n const directives: VNodeDirective[] = [{\n name: 'show',\n value: this.isContentActive,\n }]\n\n // Do not add click outside for hover menu\n if (!this.openOnHover && this.closeOnClick) {\n directives.push({\n name: 'click-outside',\n value: () => { this.isActive = false },\n args: {\n closeConditional: this.closeConditional,\n include: () => [this.$el, ...this.getOpenDependentElements()],\n },\n } as any)\n }\n\n return directives\n },\n genContent (): VNode {\n const options = {\n attrs: {\n ...this.getScopeIdAttrs(),\n role: 'role' in this.$attrs ? this.$attrs.role : 'menu',\n },\n staticClass: 'v-menu__content',\n class: {\n ...this.rootThemeClasses,\n 'v-menu__content--auto': this.auto,\n 'v-menu__content--fixed': this.activatorFixed,\n menuable__content__active: this.isActive,\n [this.contentClass.trim()]: true,\n },\n style: this.styles,\n directives: this.genDirectives(),\n ref: 'content',\n on: {\n click: (e: Event) => {\n e.stopPropagation()\n\n const target = e.target as HTMLElement\n\n if (target.getAttribute('disabled')) return\n if (this.closeOnContentClick) this.isActive = false\n },\n keydown: this.onKeyDown,\n },\n } as VNodeData\n\n if (!this.disabled && this.openOnHover) {\n options.on = options.on || {}\n options.on.mouseenter = this.mouseEnterHandler\n }\n\n if (this.openOnHover) {\n options.on = options.on || {}\n options.on.mouseleave = this.mouseLeaveHandler\n }\n\n return this.$createElement(\n 'div',\n options,\n this.showLazyContent(this.getContentSlot())\n )\n },\n getTiles () {\n this.tiles = Array.from(this.$refs.content.querySelectorAll('.v-list-item'))\n },\n mouseEnterHandler () {\n this.runDelay('open', () => {\n if (this.hasJustFocused) return\n\n this.hasJustFocused = true\n this.isActive = true\n })\n },\n mouseLeaveHandler (e: MouseEvent) {\n // Prevent accidental re-activation\n this.runDelay('close', () => {\n if (this.$refs.content.contains(e.relatedTarget as HTMLElement)) return\n\n requestAnimationFrame(() => {\n this.isActive = false\n this.callDeactivate()\n })\n })\n },\n nextTile () {\n const tile = this.tiles[this.listIndex + 1]\n\n if (!tile) {\n if (!this.tiles.length) return\n\n this.listIndex = -1\n this.nextTile()\n\n return\n }\n\n this.listIndex++\n if (tile.tabIndex === -1) this.nextTile()\n },\n prevTile () {\n const tile = this.tiles[this.listIndex - 1]\n\n if (!tile) {\n if (!this.tiles.length) return\n\n this.listIndex = this.tiles.length\n this.prevTile()\n\n return\n }\n\n this.listIndex--\n if (tile.tabIndex === -1) this.prevTile()\n },\n onKeyDown (e: KeyboardEvent) {\n if (e.keyCode === keyCodes.esc) {\n // Wait for dependent elements to close first\n setTimeout(() => { this.isActive = false })\n const activator = this.getActivator()\n this.$nextTick(() => activator && activator.focus())\n } else if (\n !this.isActive &&\n [keyCodes.up, keyCodes.down].includes(e.keyCode)\n ) {\n this.isActive = true\n }\n\n // Allow for isActive watcher to generate tile list\n this.$nextTick(() => this.changeListIndex(e))\n },\n onResize () {\n if (!this.isActive) return\n\n // Account for screen resize\n // and orientation change\n // eslint-disable-next-line no-unused-expressions\n this.$refs.content.offsetWidth\n this.updateDimensions()\n\n // When resizing to a smaller width\n // content width is evaluated before\n // the new activator width has been\n // set, causing it to not size properly\n // hacky but will revisit in the future\n clearTimeout(this.resizeTimeout)\n this.resizeTimeout = window.setTimeout(this.updateDimensions, 100)\n },\n },\n\n render (h): VNode {\n const data = {\n staticClass: 'v-menu',\n class: {\n 'v-menu--attached':\n this.attach === '' ||\n this.attach === true ||\n this.attach === 'attach',\n },\n directives: [{\n arg: '500',\n name: 'resize',\n value: this.onResize,\n }],\n }\n\n return h('div', data, [\n !this.activator && this.genActivator(),\n this.$createElement(VThemeProvider, {\n props: {\n root: true,\n light: this.light,\n dark: this.dark,\n },\n }, [this.genTransition()]),\n ])\n },\n})\n"],"sourceRoot":""}