{"version":3,"sources":["webpack:///../../../src/components/VChip/VChip.ts","webpack:///../../../src/components/VSubheader/VSubheader.ts","webpack:///../../../src/components/VMenu/VMenu.ts","webpack:///../../../src/mixins/menuable/index.ts"],"names":["mixins","Colorable","Sizeable","Routable","Themeable","GroupableFactory","ToggleableFactory","extend","name","props","active","type","Boolean","default","activeClass","String","this","chipGroup","close","closeIcon","closeLabel","disabled","draggable","filter","filterIcon","label","link","outlined","pill","tag","textColor","value","data","proxyClass","computed","classes","options","call","isClickable","isLink","color","hasClose","themeClasses","sizeableClasses","groupClasses","created","breakingProps","forEach","original","replacement","$attrs","hasOwnProperty","breaking","methods","click","e","$emit","toggle","genFilter","children","isActive","push","$createElement","VIcon","staticClass","left","VExpandXTransition","genClose","right","size","attrs","$vuetify","lang","t","on","stopPropagation","preventDefault","genContent","$slots","render","h","generateRouteLink","undefined","tabindex","directives","setBackgroundColor","setTextColor","inset","class","$listeners","baseMixins","Dependent","Delayable","Returnable","Roundable","Menuable","ClickOutside","Resize","provide","isInMenu","theme","auto","closeOnClick","closeOnContentClick","disableKeys","maxHeight","Number","offsetX","offsetY","openOnHover","origin","transition","contentProps","Object","calculatedTopAuto","defaultOffset","hasJustFocused","listIndex","resizeTimeout","selectedIndex","tiles","activeTile","calculatedLeft","menuWidth","Math","max","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","find","tile","tabIndex","styles","transformOrigin","zIndex","activeZIndex","watch","val","isContentActive","next","prev","classList","add","scrollTop","$refs","contentHeight","clientHeight","offsetTop","goTo","appOffset","duration","container","remove","removed","mounted","callActivate","activate","updateDimensions","requestAnimationFrame","startTransition","then","calcTopAuto","calcScrollPosition","$el","querySelector","maxScrollTop","scrollHeight","offsetHeight","computedTop","Array","from","indexOf","tileDistanceFromMenuTop","firstTileOffsetTop","changeListIndex","getTiles","keyCode","keyCodes","tab","down","nextTile","up","prevTile","end","lastTile","home","firstTile","enter","closeConditional","target","_isDestroyed","contains","genActivatorAttributes","attributes","Activatable","id","genActivatorListeners","listeners","keydown","onKeyDown","genTransition","genDirectives","handler","include","getOpenDependentElements","getScopeIdAttrs","role","rootThemeClasses","roundedClasses","activatorFixed","menuable__content__active","contentClass","trim","style","ref","getAttribute","scroll","mouseenter","mouseEnterHandler","mouseleave","mouseLeaveHandler","getContentSlot","querySelectorAll","runDelay","_a","relatedTarget","callDeactivate","length","esc","setTimeout","getActivator","$nextTick","focus","includes","onResize","offsetWidth","clearTimeout","window","attach","arg","genActivator","showLazyContent","VThemeProvider","root","light","dark","Stackable","positionableFactory","Detachable","allowOverflow","nudgeBottom","nudgeLeft","nudgeRight","nudgeTop","offsetOverflow","positionX","positionY","activatorNode","absoluteX","absoluteY","activatedBy","bottom","offsetLeft","relativeYOffset","hasWindow","inputActivator","pageYOffset","stackClass","stackMinZIndex","computedLeft","a","c","activatorLeft","rtl","hasActivator","$scopedSlots","absoluteYOffset","beforeMount","addEventListener","beforeDestroy","removeEventListener","absolutePosition","xOverflow","getOffsetLeft","documentHeight","getInnerHeight","toTop","totalHeight","isOverflowing","deactivate","checkForPageYOffset","getOffsetTop","checkActivatorFixed","el","getComputedStyle","position","offsetParent","onClick","openOnClick","clientX","clientY","innerHeight","document","documentElement","pageXOffset","scrollLeft","getRoundedBoundedClientRect","rect","getBoundingClientRect","round","measure","marginLeft","marginTop","sneakPeek","cb","display","Promise","resolve","clientWidth","absolute","offsetRect"],"mappings":"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","file":"js/chunk-63ebd864.ca53aacf.js","sourcesContent":["// Styles\nimport './VChip.sass'\n\n// Types\nimport { VNode } from 'vue'\nimport mixins from '../../util/mixins'\n\n// Components\nimport { VExpandXTransition } from '../transitions'\nimport VIcon from '../VIcon'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport Themeable from '../../mixins/themeable'\nimport { factory as ToggleableFactory } from '../../mixins/toggleable'\nimport Routable from '../../mixins/routable'\nimport Sizeable from '../../mixins/sizeable'\n\n// Utilities\nimport { breaking } from '../../util/console'\n\n// Types\nimport { PropValidator, PropType } from 'vue/types/options'\n\n/* @vue/component */\nexport default mixins(\n Colorable,\n Sizeable,\n Routable,\n Themeable,\n GroupableFactory('chipGroup'),\n ToggleableFactory('inputValue')\n).extend({\n name: 'v-chip',\n\n props: {\n active: {\n type: Boolean,\n default: true,\n },\n activeClass: {\n type: String,\n default (): string | undefined {\n if (!this.chipGroup) return ''\n\n return this.chipGroup.activeClass\n },\n } as any as PropValidator,\n close: Boolean,\n closeIcon: {\n type: String,\n default: '$delete',\n },\n closeLabel: {\n type: String,\n default: '$vuetify.close',\n },\n disabled: Boolean,\n draggable: Boolean,\n filter: Boolean,\n filterIcon: {\n type: String,\n default: '$complete',\n },\n label: Boolean,\n link: Boolean,\n outlined: Boolean,\n pill: Boolean,\n tag: {\n type: String,\n default: 'span',\n },\n textColor: String,\n value: null as any as PropType,\n },\n\n data: () => ({\n proxyClass: 'v-chip--active',\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-chip': true,\n ...Routable.options.computed.classes.call(this),\n 'v-chip--clickable': this.isClickable,\n 'v-chip--disabled': this.disabled,\n 'v-chip--draggable': this.draggable,\n 'v-chip--label': this.label,\n 'v-chip--link': this.isLink,\n 'v-chip--no-color': !this.color,\n 'v-chip--outlined': this.outlined,\n 'v-chip--pill': this.pill,\n 'v-chip--removable': this.hasClose,\n ...this.themeClasses,\n ...this.sizeableClasses,\n ...this.groupClasses,\n }\n },\n hasClose (): boolean {\n return Boolean(this.close)\n },\n isClickable (): boolean {\n return Boolean(\n Routable.options.computed.isClickable.call(this) ||\n this.chipGroup\n )\n },\n },\n\n created () {\n const breakingProps = [\n ['outline', 'outlined'],\n ['selected', 'input-value'],\n ['value', 'active'],\n ['@input', '@active.sync'],\n ]\n\n /* istanbul ignore next */\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n })\n },\n\n methods: {\n click (e: MouseEvent): void {\n this.$emit('click', e)\n\n this.chipGroup && this.toggle()\n },\n genFilter (): VNode {\n const children = []\n\n if (this.isActive) {\n children.push(\n this.$createElement(VIcon, {\n staticClass: 'v-chip__filter',\n props: { left: true },\n }, this.filterIcon)\n )\n }\n\n return this.$createElement(VExpandXTransition, children)\n },\n genClose (): VNode {\n return this.$createElement(VIcon, {\n staticClass: 'v-chip__close',\n props: {\n right: true,\n size: 18,\n },\n attrs: {\n 'aria-label': this.$vuetify.lang.t(this.closeLabel),\n },\n on: {\n click: (e: Event) => {\n e.stopPropagation()\n e.preventDefault()\n\n this.$emit('click:close')\n this.$emit('update:active', false)\n },\n },\n }, this.closeIcon)\n },\n genContent (): VNode {\n return this.$createElement('span', {\n staticClass: 'v-chip__content',\n }, [\n this.filter && this.genFilter(),\n this.$slots.default,\n this.hasClose && this.genClose(),\n ])\n },\n },\n\n render (h): VNode {\n const children = [this.genContent()]\n let { tag, data } = this.generateRouteLink()\n\n data.attrs = {\n ...data.attrs,\n draggable: this.draggable ? 'true' : undefined,\n tabindex: this.chipGroup && !this.disabled ? 0 : data.attrs!.tabindex,\n }\n data.directives!.push({\n name: 'show',\n value: this.active,\n })\n data = this.setBackgroundColor(this.color, data)\n\n const color = this.textColor || (this.outlined && this.color)\n\n return h(tag, this.setTextColor(color, data), children)\n },\n})\n","// Styles\nimport './VSubheader.sass'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\n\nexport default mixins(\n Themeable\n /* @vue/component */\n).extend({\n name: 'v-subheader',\n\n props: {\n inset: Boolean,\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-subheader',\n class: {\n 'v-subheader--inset': this.inset,\n ...this.themeClasses,\n },\n attrs: this.$attrs,\n on: this.$listeners,\n }, this.$slots.default)\n },\n})\n","// 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","// Mixins\nimport Stackable from '../stackable'\nimport { factory as positionableFactory } from '../positionable'\nimport Activatable from '../activatable'\nimport Detachable from '../detachable'\n\n// Utilities\nimport mixins, { ExtractVue } from '../../util/mixins'\nimport { convertToUnit } from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue'\n\nconst baseMixins = mixins(\n Stackable,\n positionableFactory(['top', 'right', 'bottom', 'left', 'absolute']),\n Activatable,\n Detachable,\n)\n\ninterface dimensions {\n top: number\n left: number\n bottom: number\n right: number\n width: number\n height: number\n offsetTop: number\n scrollHeight: number\n offsetLeft: number\n}\n\ninterface options extends ExtractVue {\n attach: boolean | string | Element\n offsetY: boolean\n offsetX: boolean\n dimensions: {\n activator: dimensions\n content: dimensions\n }\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 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 activatorNode: [] as VNode[],\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 relativeYOffset: 0,\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 += activatorLeft\n if (this.left || (this.$vuetify.rtl && !this.right)) left -= (minWidth - a.width)\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 absoluteYOffset (): number {\n return this.pageYOffset - this.relativeYOffset\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 if (this.hasWindow) {\n window.addEventListener('resize', this.updateDimensions, false)\n }\n },\n\n beforeDestroy () {\n if (this.hasWindow) {\n window.removeEventListener('resize', this.updateDimensions, false)\n }\n },\n\n methods: {\n absolutePosition () {\n return {\n offsetTop: this.positionY || this.absoluteY,\n offsetLeft: this.positionX || this.absoluteX,\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.absoluteYOffset + 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.absoluteYOffset && !this.allowOverflow) {\n top = this.absoluteYOffset + 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) {\n this.activatorFixed = false\n return\n }\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 if (onClick) {\n listeners.click = (e: MouseEvent & KeyboardEvent & FocusEvent) => {\n if (this.openOnClick) {\n onClick && onClick(e)\n }\n\n this.absoluteX = e.clientX\n this.absoluteY = e.clientY\n }\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 activator: { ...this.dimensions.activator },\n content: { ...this.dimensions.content },\n }\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 if (this.$refs.content) {\n if (this.$refs.content.offsetParent) {\n const offsetRect = this.getRoundedBoundedClientRect(this.$refs.content.offsetParent)\n\n this.relativeYOffset = window.pageYOffset + offsetRect.top\n dimensions.activator.top -= this.relativeYOffset\n dimensions.activator.left -= window.pageXOffset + offsetRect.left\n }\n\n dimensions.content = this.measure(this.$refs.content)\n }\n\n this.dimensions = dimensions\n })\n },\n },\n})\n"],"sourceRoot":""}