{"version":3,"sources":["webpack:///../../../src/components/VExpansionPanel/VExpansionPanels.ts","webpack:///./src/assets/Nuvolos-transparent.svg","webpack:///../../../src/components/VExpansionPanel/VExpansionPanelContent.ts","webpack:///../../../src/components/VBadge/VBadge.ts","webpack:///./src/mixins/intercom.js","webpack:///./src/mixins/appTypeAndImage.js","webpack:///../../../src/components/VToolbar/VToolbar.ts","webpack:///../../../src/mixins/scrollable/index.ts","webpack:///../../../src/components/VAppBar/VAppBar.ts","webpack:///../../../src/components/VToolbar/index.ts","webpack:///./src/components/TheToolbar.vue","webpack:///src/components/TheToolbar.vue","webpack:///./src/components/TheToolbar.vue?c5d4","webpack:///./src/components/TheToolbar.vue?b451","webpack:///../../../src/components/VExpansionPanel/VExpansionPanelHeader.ts","webpack:///../../../src/components/VChip/VChip.ts","webpack:///../../../src/components/VExpansionPanel/VExpansionPanel.ts","webpack:///../../../src/components/VHover/VHover.ts","webpack:///../../../src/components/VMenu/VMenu.ts","webpack:///../../../src/directives/scroll/index.ts"],"names":["BaseItemGroup","extend","name","provide","expansionPanels","this","props","accordion","Boolean","disabled","flat","hover","focusable","inset","popout","readonly","tile","computed","classes","options","call","created","$attrs","hasOwnProperty","breaking","Array","isArray","value","length","methods","updateItem","item","index","getValue","nextValue","isActive","toggleMethod","nextIsActive","module","exports","baseMixins","mixins","Bootable","Colorable","RegistrableInject","data","parentIsActive","expansionPanel","watch","immediate","handler","val","oldVal","isBooted","$nextTick","registerContent","beforeDestroy","unregisterContent","render","h","VExpandTransition","showLazyContent","setBackgroundColor","color","staticClass","directives","class","getSlot","PositionableFactory","Themeable","Toggleable","Transitionable","avatar","bordered","type","String","default","content","required","dot","label","icon","inline","offsetX","Number","offsetY","overlap","transition","bottom","left","themeClasses","computedBottom","computedYOffset","computedLeft","isRtl","computedXOffset","computedRight","computedTop","calcPosition","$vuetify","rtl","offset","styles","right","top","convertToUnit","genBadge","lang","t","style","attrs","title","role","badge","$createElement","genBadgeContent","origin","mode","slot","VIcon","genBadgeWrapper","children","unshift","push","intercomMethods","showIntercomChat","window","Intercom","hide_default_launcher","showNewMessageIntercom","msg","preBoot","app_id","$appConfig","VUE_APP_INTERCOM_ID","email","user_id","uid","user_hash","hmac","given_name","family_name","is_trial_user","appTypeAndImageLink","appTypes","JUPYTER","RSTUDIO","MATLAB","STATA","appDisabledReasons","appIcon","app","icon_url","VSheet","absolute","collapse","dense","extended","extensionHeight","floating","prominent","short","src","Object","tag","isExtended","computedHeight","height","computedContentHeight","parseInt","isCollapsed","isNaN","isProminent","breakpoint","smAndDown","measurableStyles","breakingProps","forEach","original","replacement","genBackground","image","$scopedSlots","img","VImg","genContent","genExtension","extension","on","$listeners","Vue","Scroll","scrollTarget","scrollThreshold","currentScroll","currentThreshold","isScrollingUp","previousScroll","savedScroll","target","canScroll","computedScrollThreshold","mounted","document","querySelector","consoleWarn","onScroll","scrollTop","pageYOffset","Math","abs","thresholdMet","VToolbar","Scrollable","SSRBootable","Applicationable","VAppBar","clippedLeft","clippedRight","collapseOnScroll","elevateOnScroll","fadeImgOnScroll","hideOnScroll","invertedScroll","scrollOffScreen","shrinkOnScroll","applicationProperty","fixed","hideShadow","scrollRatio","threshold","max","min","computedOriginalHeight","computedFontSize","application","computedMarginTop","bar","computedOpacity","computedTransform","fontSize","marginTop","transform","callUpdate","_b","opacity","updateApplication","arg","VToolbarTitle","createSimpleFunctional","_c","staticStyle","scopedSlots","key","fn","require","_u","_vm","_v","_s","domProps","proxy","runningDeployments","params","sid","snid","_e","tooltip","openTasks","$event","menu","openDocs","openSettings","_l","aid","instance_long_id","staticRenderFns","components","BreadcrumbsLargeScreen","BreadcrumbsSmallScreen","StopApplication","customBaseURL","openResourceAndUsage","openMonitoring","openSysadmin","openRequests","reloadPage","location","logout","mapGetters","mapState","trialText","trialButtonLabel","trialMsgIntercom","trialDaysLeft","displayAPIWarning","runningTasksError","userInfo","component","ripple","disableIconRotate","expandIcon","hideActions","hasMousedown","isDisabled","isReadonly","registerHeader","unregisterHeader","onClick","e","$emit","genIcon","VFadeTransition","tabindex","click","mousedown","mouseup","open","Sizeable","Routable","GroupableFactory","ToggleableFactory","active","activeClass","chipGroup","close","closeIcon","closeLabel","draggable","filter","filterIcon","link","outlined","pill","textColor","proxyClass","isClickable","isLink","hasClose","sizeableClasses","groupClasses","toggle","genFilter","VExpandXTransition","genClose","size","stopPropagation","preventDefault","$slots","generateRouteLink","undefined","setTextColor","RegistrableProvide","header","vm","$on","detail","$el","blur","Delayable","onMouseEnter","runDelay","onMouseLeave","element","_g","mouseenter","mouseleave","Dependent","Returnable","Roundable","Menuable","ClickOutside","Resize","isInMenu","theme","auto","closeOnClick","closeOnContentClick","disableKeys","maxHeight","openOnHover","calculatedTopAuto","defaultOffset","hasJustFocused","listIndex","resizeTimeout","selectedIndex","tiles","activeTile","calculatedLeft","menuWidth","dimensions","width","parseFloat","calculatedMinWidth","calcXOverflow","calcLeftAuto","calcLeft","calculatedMaxHeight","calculatedMaxWidth","maxWidth","minWidth","activator","nudgeWidth","pageWidth","calculatedTop","calcYOverflow","calcTop","hasClickableTiles","find","tabIndex","transformOrigin","zIndex","activeZIndex","isContentActive","next","prev","classList","add","$refs","contentHeight","clientHeight","offsetTop","goTo","appOffset","duration","container","remove","removed","callActivate","activate","updateDimensions","requestAnimationFrame","startTransition","then","calcTopAuto","calcScrollPosition","maxScrollTop","scrollHeight","offsetHeight","from","indexOf","tileDistanceFromMenuTop","firstTileOffsetTop","changeListIndex","getTiles","keyCode","keyCodes","tab","down","nextTile","up","prevTile","end","lastTile","home","firstTile","enter","closeConditional","_isDestroyed","contains","genActivatorAttributes","attributes","Activatable","id","genActivatorListeners","listeners","keydown","onKeyDown","genTransition","genDirectives","include","getOpenDependentElements","getScopeIdAttrs","rootThemeClasses","roundedClasses","activatorFixed","menuable__content__active","contentClass","trim","ref","getAttribute","scroll","mouseEnterHandler","mouseLeaveHandler","getContentSlot","querySelectorAll","_a","relatedTarget","callDeactivate","esc","setTimeout","getActivator","focus","includes","onResize","offsetWidth","clearTimeout","attach","genActivator","VThemeProvider","root","light","dark","inserted","el","binding","vnode","modifiers","self","passive","addEventListener","_onScroll","context","_uid","unbind","removeEventListener"],"mappings":"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","file":"static/js/chunk-692681af.6e1f183e.js","sourcesContent":["// Styles\nimport './VExpansionPanel.sass'\n\n// Components\nimport { BaseItemGroup, GroupableInstance } from '../VItemGroup/VItemGroup'\nimport VExpansionPanel from './VExpansionPanel'\n\n// Utilities\nimport { breaking } from '../../util/console'\n\n// Types\ninterface VExpansionPanelInstance extends InstanceType {}\n\n/* @vue/component */\nexport default BaseItemGroup.extend({\n name: 'v-expansion-panels',\n\n provide (): object {\n return {\n expansionPanels: this,\n }\n },\n\n props: {\n accordion: Boolean,\n disabled: Boolean,\n flat: Boolean,\n hover: Boolean,\n focusable: Boolean,\n inset: Boolean,\n popout: Boolean,\n readonly: Boolean,\n tile: Boolean,\n },\n\n computed: {\n classes (): object {\n return {\n ...BaseItemGroup.options.computed.classes.call(this),\n 'v-expansion-panels': true,\n 'v-expansion-panels--accordion': this.accordion,\n 'v-expansion-panels--flat': this.flat,\n 'v-expansion-panels--hover': this.hover,\n 'v-expansion-panels--focusable': this.focusable,\n 'v-expansion-panels--inset': this.inset,\n 'v-expansion-panels--popout': this.popout,\n 'v-expansion-panels--tile': this.tile,\n }\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('expand')) {\n breaking('expand', 'multiple', this)\n }\n\n /* istanbul ignore next */\n if (\n Array.isArray(this.value) &&\n this.value.length > 0 &&\n typeof this.value[0] === 'boolean'\n ) {\n breaking(':value=\"[true, false, true]\"', ':value=\"[0, 2]\"', this)\n }\n },\n\n methods: {\n updateItem (item: GroupableInstance & VExpansionPanelInstance, index: number) {\n const value = this.getValue(item, index)\n const nextValue = this.getValue(item, index + 1)\n\n item.isActive = this.toggleMethod(value)\n item.nextIsActive = this.toggleMethod(nextValue)\n },\n },\n})\n","module.exports = __webpack_public_path__ + \"static/img/Nuvolos-transparent.cf1c3b99.svg\";","// Components\nimport VExpansionPanel from './VExpansionPanel'\nimport { VExpandTransition } from '../transitions'\n\n// Mixins\nimport Bootable from '../../mixins/bootable'\nimport Colorable from '../../mixins/colorable'\nimport { inject as RegistrableInject } from '../../mixins/registrable'\n\n// Utilities\nimport { getSlot } from '../../util/helpers'\nimport mixins, { ExtractVue } from '../../util/mixins'\n\n// Types\nimport Vue, { VNode, VueConstructor } from 'vue'\n\nconst baseMixins = mixins(\n Bootable,\n Colorable,\n RegistrableInject<'expansionPanel', VueConstructor>('expansionPanel', 'v-expansion-panel-content', 'v-expansion-panel')\n)\n\ninterface options extends ExtractVue {\n expansionPanel: InstanceType\n}\n\n/* @vue/component */\nexport default baseMixins.extend().extend({\n name: 'v-expansion-panel-content',\n\n data: () => ({\n isActive: false,\n }),\n\n computed: {\n parentIsActive (): boolean {\n return this.expansionPanel.isActive\n },\n },\n\n watch: {\n parentIsActive: {\n immediate: true,\n handler (val, oldVal) {\n if (val) this.isBooted = true\n\n if (oldVal == null) this.isActive = val\n else this.$nextTick(() => this.isActive = val)\n },\n },\n },\n\n created () {\n this.expansionPanel.registerContent(this)\n },\n\n beforeDestroy () {\n this.expansionPanel.unregisterContent()\n },\n\n render (h): VNode {\n return h(VExpandTransition, this.showLazyContent(() => [\n h('div', this.setBackgroundColor(this.color, {\n staticClass: 'v-expansion-panel-content',\n directives: [{\n name: 'show',\n value: this.isActive,\n }],\n }), [\n h('div', { class: 'v-expansion-panel-content__wrap' }, getSlot(this)),\n ]),\n ]))\n },\n})\n","// Styles\nimport './VBadge.sass'\n\n// Components\nimport VIcon from '../VIcon/VIcon'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\nimport Toggleable from '../../mixins/toggleable'\nimport Transitionable from '../../mixins/transitionable'\nimport { factory as PositionableFactory } from '../../mixins/positionable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport {\n convertToUnit,\n getSlot,\n} from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue'\n\nexport default mixins(\n Colorable,\n PositionableFactory(['left', 'bottom']),\n Themeable,\n Toggleable,\n Transitionable,\n/* @vue/component */\n).extend({\n name: 'v-badge',\n\n props: {\n avatar: Boolean,\n bordered: Boolean,\n color: {\n type: String,\n default: 'primary',\n },\n content: { required: false },\n dot: Boolean,\n label: {\n type: String,\n default: '$vuetify.badge',\n },\n icon: String,\n inline: Boolean,\n offsetX: [Number, String],\n offsetY: [Number, String],\n overlap: Boolean,\n tile: Boolean,\n transition: {\n type: String,\n default: 'scale-rotate-transition',\n },\n value: { default: true },\n },\n\n computed: {\n classes (): object {\n return {\n 'v-badge--avatar': this.avatar,\n 'v-badge--bordered': this.bordered,\n 'v-badge--bottom': this.bottom,\n 'v-badge--dot': this.dot,\n 'v-badge--icon': this.icon != null,\n 'v-badge--inline': this.inline,\n 'v-badge--left': this.left,\n 'v-badge--overlap': this.overlap,\n 'v-badge--tile': this.tile,\n ...this.themeClasses,\n }\n },\n computedBottom (): string {\n return this.bottom ? 'auto' : this.computedYOffset\n },\n computedLeft (): string {\n if (this.isRtl) {\n return this.left ? this.computedXOffset : 'auto'\n }\n\n return this.left ? 'auto' : this.computedXOffset\n },\n computedRight (): string {\n if (this.isRtl) {\n return this.left ? 'auto' : this.computedXOffset\n }\n\n return !this.left ? 'auto' : this.computedXOffset\n },\n computedTop (): string {\n return this.bottom ? this.computedYOffset : 'auto'\n },\n computedXOffset (): string {\n return this.calcPosition(this.offsetX)\n },\n computedYOffset (): string {\n return this.calcPosition(this.offsetY)\n },\n isRtl (): boolean {\n return this.$vuetify.rtl\n },\n // Default fallback if offsetX\n // or offsetY are undefined.\n offset (): number {\n if (this.overlap) return this.dot ? 8 : 12\n return this.dot ? 2 : 4\n },\n styles (): object {\n if (this.inline) return {}\n\n return {\n bottom: this.computedBottom,\n left: this.computedLeft,\n right: this.computedRight,\n top: this.computedTop,\n }\n },\n },\n\n methods: {\n calcPosition (offset: string | number): string {\n return `calc(100% - ${convertToUnit(offset || this.offset)})`\n },\n genBadge () {\n const lang = this.$vuetify.lang\n const label = this.$attrs['aria-label'] || lang.t(this.label)\n\n const data = this.setBackgroundColor(this.color, {\n staticClass: 'v-badge__badge',\n style: this.styles,\n attrs: {\n 'aria-atomic': this.$attrs['aria-atomic'] || 'true',\n 'aria-label': label,\n 'aria-live': this.$attrs['aria-live'] || 'polite',\n title: this.$attrs.title,\n role: this.$attrs.role || 'status',\n },\n directives: [{\n name: 'show',\n value: this.isActive,\n }],\n })\n\n const badge = this.$createElement('span', data, [this.genBadgeContent()])\n\n if (!this.transition) return badge\n\n return this.$createElement('transition', {\n props: {\n name: this.transition,\n origin: this.origin,\n mode: this.mode,\n },\n }, [badge])\n },\n genBadgeContent () {\n // Dot prop shows no content\n if (this.dot) return undefined\n\n const slot = getSlot(this, 'badge')\n\n if (slot) return slot\n if (this.content) return String(this.content)\n if (this.icon) return this.$createElement(VIcon, this.icon)\n\n return undefined\n },\n genBadgeWrapper () {\n return this.$createElement('span', {\n staticClass: 'v-badge__wrapper',\n }, [this.genBadge()])\n },\n },\n\n render (h): VNode {\n const badge = [this.genBadgeWrapper()]\n const children = [getSlot(this)]\n const {\n 'aria-atomic': _x,\n 'aria-label': _y,\n 'aria-live': _z,\n role,\n title,\n ...attrs\n } = this.$attrs\n\n if (this.inline && this.left) children.unshift(badge)\n else children.push(badge)\n\n return h('span', {\n staticClass: 'v-badge',\n attrs,\n class: this.classes,\n }, children)\n },\n})\n","export const intercomMethods = {\n methods: {\n showIntercomChat() {\n window.Intercom?.('update', {\n hide_default_launcher: false\n })\n window.Intercom?.('show')\n },\n showNewMessageIntercom(msg, preBoot) {\n if (preBoot) {\n window.Intercom?.('boot', {\n app_id: this.$appConfig.VUE_APP_INTERCOM_ID,\n email: preBoot.email,\n user_id: preBoot.uid,\n user_hash: preBoot.hmac,\n name: preBoot.name || preBoot.given_name + ' ' + preBoot.family_name,\n is_trial_user: preBoot.is_trial_user\n })\n }\n window.Intercom?.('update', {\n hide_default_launcher: false\n })\n window.Intercom?.('showNewMessage', msg)\n }\n }\n}\n","export const appTypeAndImageLink = {\n data() {\n return {\n appTypes: {\n JUPYTER: { name: 'jupyter' },\n RSTUDIO: { name: 'rstudio' },\n MATLAB: { name: 'matlab' },\n STATA: { name: 'stata' }\n },\n appDisabledReasons: ['This application requires a license', 'You need the tables feature enabled to use this app']\n }\n },\n methods: {\n appIcon(app) {\n return app.icon_url ? app.icon_url : 'https://dlcfc4rxk1sfk.cloudfront.net/nuvolos/app_logos/generic_app_icon.svg'\n }\n }\n}\n","// Styles\nimport './VToolbar.sass'\n\n// Extensions\nimport VSheet from '../VSheet/VSheet'\n\n// Components\nimport VImg, { srcObject } from '../VImg/VImg'\n\n// Utilities\nimport { convertToUnit, getSlot } from '../../util/helpers'\nimport { breaking } from '../../util/console'\n\n// Types\nimport { VNode, PropType } from 'vue'\n\n/* @vue/component */\nexport default VSheet.extend({\n name: 'v-toolbar',\n\n props: {\n absolute: Boolean,\n bottom: Boolean,\n collapse: Boolean,\n dense: Boolean,\n extended: Boolean,\n extensionHeight: {\n default: 48,\n type: [Number, String],\n },\n flat: Boolean,\n floating: Boolean,\n prominent: Boolean,\n short: Boolean,\n src: {\n type: [String, Object] as PropType,\n default: '',\n },\n tag: {\n type: String,\n default: 'header',\n },\n },\n\n data: () => ({\n isExtended: false,\n }),\n\n computed: {\n computedHeight (): number {\n const height = this.computedContentHeight\n\n if (!this.isExtended) return height\n\n const extensionHeight = parseInt(this.extensionHeight)\n\n return this.isCollapsed\n ? height\n : height + (!isNaN(extensionHeight) ? extensionHeight : 0)\n },\n computedContentHeight (): number {\n if (this.height) return parseInt(this.height)\n if (this.isProminent && this.dense) return 96\n if (this.isProminent && this.short) return 112\n if (this.isProminent) return 128\n if (this.dense) return 48\n if (this.short || this.$vuetify.breakpoint.smAndDown) return 56\n return 64\n },\n classes (): object {\n return {\n ...VSheet.options.computed.classes.call(this),\n 'v-toolbar': true,\n 'v-toolbar--absolute': this.absolute,\n 'v-toolbar--bottom': this.bottom,\n 'v-toolbar--collapse': this.collapse,\n 'v-toolbar--collapsed': this.isCollapsed,\n 'v-toolbar--dense': this.dense,\n 'v-toolbar--extended': this.isExtended,\n 'v-toolbar--flat': this.flat,\n 'v-toolbar--floating': this.floating,\n 'v-toolbar--prominent': this.isProminent,\n }\n },\n isCollapsed (): boolean {\n return this.collapse\n },\n isProminent (): boolean {\n return this.prominent\n },\n styles (): object {\n return {\n ...this.measurableStyles,\n height: convertToUnit(this.computedHeight),\n }\n },\n },\n\n created () {\n const breakingProps = [\n ['app', ''],\n ['manual-scroll', ''],\n ['clipped-left', ''],\n ['clipped-right', ''],\n ['inverted-scroll', ''],\n ['scroll-off-screen', ''],\n ['scroll-target', ''],\n ['scroll-threshold', ''],\n ['card', ''],\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 genBackground () {\n const props = {\n height: convertToUnit(this.computedHeight),\n src: this.src,\n }\n\n const image = this.$scopedSlots.img\n ? this.$scopedSlots.img({ props })\n : this.$createElement(VImg, { props })\n\n return this.$createElement('div', {\n staticClass: 'v-toolbar__image',\n }, [image])\n },\n genContent () {\n return this.$createElement('div', {\n staticClass: 'v-toolbar__content',\n style: {\n height: convertToUnit(this.computedContentHeight),\n },\n }, getSlot(this))\n },\n genExtension () {\n return this.$createElement('div', {\n staticClass: 'v-toolbar__extension',\n style: {\n height: convertToUnit(this.extensionHeight),\n },\n }, getSlot(this, 'extension'))\n },\n },\n\n render (h): VNode {\n this.isExtended = this.extended || !!this.$scopedSlots.extension\n\n const children = [this.genContent()]\n const data = this.setBackgroundColor(this.color, {\n class: this.classes,\n style: this.styles,\n on: this.$listeners,\n })\n\n if (this.isExtended) children.push(this.genExtension())\n if (this.src || this.$scopedSlots.img) children.unshift(this.genBackground())\n\n return h(this.tag, data, children)\n },\n})\n","// Directives\nimport { Scroll } from '../../directives'\n\n// Utilities\nimport { consoleWarn } from '../../util/console'\n\n// Types\nimport Vue from 'vue'\n\n/**\n * Scrollable\n *\n * Used for monitoring scrolling and\n * invoking functions based upon\n * scrolling thresholds being\n * met.\n */\n/* @vue/component */\nexport default Vue.extend({\n name: 'scrollable',\n\n directives: { Scroll },\n\n props: {\n scrollTarget: String,\n scrollThreshold: [String, Number],\n },\n\n data: () => ({\n currentScroll: 0,\n currentThreshold: 0,\n isActive: false,\n isScrollingUp: false,\n previousScroll: 0,\n savedScroll: 0,\n target: null as Element | null,\n }),\n\n computed: {\n /**\n * A computed property that returns\n * whether scrolling features are\n * enabled or disabled\n */\n canScroll (): boolean {\n return typeof window !== 'undefined'\n },\n /**\n * The threshold that must be met before\n * thresholdMet function is invoked\n */\n computedScrollThreshold (): number {\n return this.scrollThreshold\n ? Number(this.scrollThreshold)\n : 300\n },\n },\n\n watch: {\n isScrollingUp () {\n this.savedScroll = this.savedScroll || this.currentScroll\n },\n isActive () {\n this.savedScroll = 0\n },\n },\n\n mounted () {\n if (this.scrollTarget) {\n this.target = document.querySelector(this.scrollTarget)\n\n if (!this.target) {\n consoleWarn(`Unable to locate element with identifier ${this.scrollTarget}`, this)\n }\n }\n },\n\n methods: {\n onScroll () {\n if (!this.canScroll) return\n\n this.previousScroll = this.currentScroll\n this.currentScroll = this.target\n ? this.target.scrollTop\n : window.pageYOffset\n\n this.isScrollingUp = this.currentScroll < this.previousScroll\n this.currentThreshold = Math.abs(this.currentScroll - this.computedScrollThreshold)\n\n this.$nextTick(() => {\n if (\n Math.abs(this.currentScroll - this.savedScroll) >\n this.computedScrollThreshold\n ) this.thresholdMet()\n })\n },\n /**\n * The method invoked when\n * scrolling in any direction\n * has exceeded the threshold\n */\n thresholdMet () { /* noop */ },\n },\n})\n","// Styles\nimport './VAppBar.sass'\n\n// Extensions\nimport VToolbar from '../VToolbar/VToolbar'\n\n// Directives\nimport Scroll from '../../directives/scroll'\n\n// Mixins\nimport Applicationable from '../../mixins/applicationable'\nimport Scrollable from '../../mixins/scrollable'\nimport SSRBootable from '../../mixins/ssr-bootable'\nimport Toggleable from '../../mixins/toggleable'\n\n// Utilities\nimport { convertToUnit } from '../../util/helpers'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\n\nconst baseMixins = mixins(\n VToolbar,\n Scrollable,\n SSRBootable,\n Toggleable,\n Applicationable('top', [\n 'clippedLeft',\n 'clippedRight',\n 'computedHeight',\n 'invertedScroll',\n 'isExtended',\n 'isProminent',\n 'value',\n ])\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-app-bar',\n\n directives: { Scroll },\n\n provide (): object {\n return { VAppBar: this }\n },\n\n props: {\n clippedLeft: Boolean,\n clippedRight: Boolean,\n collapseOnScroll: Boolean,\n elevateOnScroll: Boolean,\n fadeImgOnScroll: Boolean,\n hideOnScroll: Boolean,\n invertedScroll: Boolean,\n scrollOffScreen: Boolean,\n shrinkOnScroll: Boolean,\n value: {\n type: Boolean,\n default: true,\n },\n },\n\n data () {\n return {\n isActive: this.value,\n }\n },\n\n computed: {\n applicationProperty (): string {\n return !this.bottom ? 'top' : 'bottom'\n },\n canScroll (): boolean {\n return (\n Scrollable.options.computed.canScroll.call(this) &&\n (\n this.invertedScroll ||\n this.elevateOnScroll ||\n this.hideOnScroll ||\n this.collapseOnScroll ||\n this.isBooted ||\n // If falsy, user has provided an\n // explicit value which should\n // overwrite anything we do\n !this.value\n )\n )\n },\n classes (): object {\n return {\n ...VToolbar.options.computed.classes.call(this),\n 'v-toolbar--collapse': this.collapse || this.collapseOnScroll,\n 'v-app-bar': true,\n 'v-app-bar--clipped': this.clippedLeft || this.clippedRight,\n 'v-app-bar--fade-img-on-scroll': this.fadeImgOnScroll,\n 'v-app-bar--elevate-on-scroll': this.elevateOnScroll,\n 'v-app-bar--fixed': !this.absolute && (this.app || this.fixed),\n 'v-app-bar--hide-shadow': this.hideShadow,\n 'v-app-bar--is-scrolled': this.currentScroll > 0,\n 'v-app-bar--shrink-on-scroll': this.shrinkOnScroll,\n }\n },\n scrollRatio (): number {\n const threshold = this.computedScrollThreshold\n return Math.max((threshold - this.currentScroll) / threshold, 0)\n },\n computedContentHeight (): number {\n if (!this.shrinkOnScroll) return VToolbar.options.computed.computedContentHeight.call(this)\n\n const min = this.dense ? 48 : 56\n const max = this.computedOriginalHeight\n\n return min + (max - min) * this.scrollRatio\n },\n computedFontSize (): number | undefined {\n if (!this.isProminent) return undefined\n\n const min = 1.25\n const max = 1.5\n\n return min + (max - min) * this.scrollRatio\n },\n computedLeft (): number {\n if (!this.app || this.clippedLeft) return 0\n\n return this.$vuetify.application.left\n },\n computedMarginTop (): number {\n if (!this.app) return 0\n\n return this.$vuetify.application.bar\n },\n computedOpacity (): number | undefined {\n if (!this.fadeImgOnScroll) return undefined\n\n return this.scrollRatio\n },\n computedOriginalHeight (): number {\n let height = VToolbar.options.computed.computedContentHeight.call(this)\n if (this.isExtended) height += parseInt(this.extensionHeight)\n return height\n },\n computedRight (): number {\n if (!this.app || this.clippedRight) return 0\n\n return this.$vuetify.application.right\n },\n computedScrollThreshold (): number {\n if (this.scrollThreshold) return Number(this.scrollThreshold)\n\n return this.computedOriginalHeight - (this.dense ? 48 : 56)\n },\n computedTransform (): number {\n if (\n !this.canScroll ||\n (this.elevateOnScroll && this.currentScroll === 0 && this.isActive)\n ) return 0\n\n if (this.isActive) return 0\n\n const scrollOffScreen = this.scrollOffScreen\n ? this.computedHeight\n : this.computedContentHeight\n\n return this.bottom ? scrollOffScreen : -scrollOffScreen\n },\n hideShadow (): boolean {\n if (this.elevateOnScroll && this.isExtended) {\n return this.currentScroll < this.computedScrollThreshold\n }\n\n if (this.elevateOnScroll) {\n return this.currentScroll === 0 ||\n this.computedTransform < 0\n }\n\n return (\n !this.isExtended ||\n this.scrollOffScreen\n ) && this.computedTransform !== 0\n },\n isCollapsed (): boolean {\n if (!this.collapseOnScroll) {\n return VToolbar.options.computed.isCollapsed.call(this)\n }\n\n return this.currentScroll > 0\n },\n isProminent (): boolean {\n return (\n VToolbar.options.computed.isProminent.call(this) ||\n this.shrinkOnScroll\n )\n },\n styles (): object {\n return {\n ...VToolbar.options.computed.styles.call(this),\n fontSize: convertToUnit(this.computedFontSize, 'rem'),\n marginTop: convertToUnit(this.computedMarginTop),\n transform: `translateY(${convertToUnit(this.computedTransform)})`,\n left: convertToUnit(this.computedLeft),\n right: convertToUnit(this.computedRight),\n }\n },\n },\n\n watch: {\n canScroll: 'onScroll',\n computedTransform () {\n // Normally we do not want the v-app-bar\n // to update the application top value\n // to avoid screen jump. However, in\n // this situation, we must so that\n // the clipped drawer can update\n // its top value when scrolled\n if (\n !this.canScroll ||\n (!this.clippedLeft && !this.clippedRight)\n ) return\n\n this.callUpdate()\n },\n invertedScroll (val: boolean) {\n this.isActive = !val || this.currentScroll !== 0\n },\n hideOnScroll (val: boolean) {\n this.isActive = !val || this.currentScroll < this.computedScrollThreshold\n },\n },\n\n created () {\n if (this.invertedScroll) this.isActive = false\n },\n\n methods: {\n genBackground () {\n const render = VToolbar.options.methods.genBackground.call(this)\n\n render.data = this._b(render.data || {}, render.tag!, {\n style: { opacity: this.computedOpacity },\n })\n\n return render\n },\n updateApplication (): number {\n return this.invertedScroll\n ? 0\n : this.computedHeight + this.computedTransform\n },\n thresholdMet () {\n if (this.invertedScroll) {\n this.isActive = this.currentScroll > this.computedScrollThreshold\n return\n }\n\n if (this.hideOnScroll) {\n this.isActive = this.isScrollingUp ||\n this.currentScroll < this.computedScrollThreshold\n }\n\n if (this.currentThreshold < this.computedScrollThreshold) return\n\n this.savedScroll = this.currentScroll\n },\n },\n\n render (h): VNode {\n const render = VToolbar.options.render.call(this, h)\n\n render.data = render.data || {}\n\n if (this.canScroll) {\n render.data.directives = render.data.directives || []\n render.data.directives.push({\n arg: this.scrollTarget,\n name: 'scroll',\n value: this.onScroll,\n })\n }\n\n return render\n },\n})\n","// Components\nimport VToolbar from './VToolbar'\n\n// Utilities\nimport { createSimpleFunctional } from '../../util/helpers'\n\nconst VToolbarTitle = createSimpleFunctional('v-toolbar__title')\nconst VToolbarItems = createSimpleFunctional('v-toolbar__items')\n\nexport {\n VToolbar,\n VToolbarItems,\n VToolbarTitle,\n}\n\nexport default {\n $_vuetify_subcomponents: {\n VToolbar,\n VToolbarItems,\n VToolbarTitle,\n },\n}\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-app-bar',{staticClass:\"toolbar-border-bottom\",attrs:{\"color\":\"white\",\"app\":\"\",\"dense\":\"\",\"clipped-right\":\"\",\"clipped-left\":!_vm.$route.params.sid,\"height\":\"48px\",\"flat\":\"\"}},[(!_vm.$route.params.sid)?_c('div',{staticClass:\"d-flex align-center\"},[_c('v-toolbar-title',{staticClass:\"pl-0 flex-shrink-0\"},[(_vm.$vuetify.breakpoint.smAndUp)?_c('router-link',{staticStyle:{\"text-decoration\":\"none\"},attrs:{\"to\":{ name: 'welcome' }}},[_c('a',{staticClass:\"secondary--text ma-0 pa-0\",staticStyle:{\"min-width\":\"200px\"}},[_c('v-hover',{scopedSlots:_vm._u([{key:\"default\",fn:function({ hover }){return [_c('div',{staticClass:\"d-flex align-center ml-1\"},[_c('v-img',{staticClass:\"ml-2 mr-1\",style:(hover ? 'filter: grayscale(100%)' : ''),attrs:{\"contain\":\"\",\"max-width\":\"110px\",\"max-height\":\"23px\",\"src\":require(\"@/assets/Nuvolos-transparent.svg\")}})],1)]}}],null,false,1654029014)})],1)]):_vm._e()],1)],1):_vm._e(),(_vm.$route.params.oid)?[(!_vm.$route.params.sid)?_c('v-divider',{staticClass:\"ml-3\",attrs:{\"inset\":\"\",\"vertical\":\"\"}}):_vm._e(),(_vm.$vuetify.breakpoint.mdAndUp)?_c('BreadcrumbsLargeScreen'):_c('BreadcrumbsSmallScreen')]:_vm._e(),_c('v-spacer'),(_vm.displayAPIWarning)?_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('v-btn',_vm._g(_vm._b({},'v-btn',attrs,false),on),[_c('v-icon',{attrs:{\"color\":\"red\"}},[_vm._v(\"mdi-alert\")])],1)]}}],null,false,1529518884)},[_c('span',[_vm._v(\"You are connected to \"+_vm._s(_vm.customBaseURL))])]):_vm._e(),(_vm.$vuetify.breakpoint.mdAndUp && _vm.$auth.isAuthenticated)?_c('div',{staticClass:\"d-flex align-center justify-space-around flex-shrink-0\"},[(_vm.userInfo && _vm.userInfo.is_trial_user)?[_c('v-chip',{attrs:{\"label\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.trialText)+\" \"),(_vm.$appConfig.VUE_APP_INTERCOM_ID)?_c('v-btn',{staticClass:\"ml-5\",attrs:{\"elevation\":\"0\",\"x-small\":\"\",\"color\":\"primary\"},on:{\"click\":function($event){return _vm.showNewMessageIntercom(_vm.trialMsgIntercom)}}},[_vm._v(\" \"+_vm._s(_vm.trialButtonLabel)+\" \")]):_vm._e()],1)]:_vm._e(),(_vm.userInfo && Object.keys(_vm.userInfo).length)?_c('v-menu',{staticClass:\"mt-1\",attrs:{\"close-on-content-click\":true,\"nudge-width\":150,\"offset-y\":\"\",\"left\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on: menu }){return [_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on: tooltip }){return [_c('v-btn',_vm._g({attrs:{\"icon\":\"\",\"rounded\":\"\",\"text\":\"\",\"e2e-toolbar-running-apps\":\"\"}},{ ...tooltip, ...menu }),[(_vm.runningDeployments.length)?_c('v-badge',{attrs:{\"color\":\"primary\",\"right\":\"\",\"overlap\":\"\"},scopedSlots:_vm._u([{key:\"badge\",fn:function(){return [_c('v-fab-transition',[_c('span',{attrs:{\"fab\":\"\"},domProps:{\"textContent\":_vm._s(_vm.runningDeployments.length)}})])]},proxy:true}],null,true)},[_c('v-icon',{attrs:{\"color\":\"secondary\"}},[_vm._v(\"desktop_windows\")])],1):_c('v-icon',{attrs:{\"color\":\"secondary\"}},[_vm._v(\"desktop_windows\")])],1)]}}],null,true)},[_c('span',[_vm._v(\"Running Apps\")])])]}}],null,false,1525740352)},[_c('v-list',{attrs:{\"dense\":\"\"}},[_c('v-list-item',{attrs:{\"two-line\":\"\"}},[_c('v-list-item-content',[_c('v-list-item-title',{staticClass:\"secondary--text subtitle-1 mt-3 font-weight-bold\"},[_vm._v(\"Running Applications\")]),_c('v-list-item-subtitle',[_vm._v(_vm._s(_vm.runningDeployments.length)+\" applications found\")])],1)],1),(_vm.runningDeployments.length)?_c('v-divider',{staticClass:\"mt-3 mb-3\"}):_vm._e(),_c('v-list-item-group',{attrs:{\"color\":\"secondary\"}},_vm._l((_vm.runningDeployments),function(app){return _c('v-tooltip',{key:app.aid,attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('v-list-item',_vm._g({attrs:{\"to\":{ name: 'app-open', params: { oid: app.oid, sid: app.sid, iid: app.iid, snid: app.snid, aid: app.aid } }}},on),[_c('v-list-item-avatar',[_c('img',{attrs:{\"src\":_vm.appIcon(app)}})]),_c('v-list-item-content',[_c('v-list-item-title',{staticClass:\"d-flex align-center\"},[_c('h4',{staticClass:\"secondary--text mr-2\"},[_vm._v(_vm._s(app.name))]),(app.shared === 'true')?_c('v-chip',{attrs:{\"small\":\"\",\"outlined\":\"\"}},[_vm._v(\"shared\")]):_vm._e()],1),_c('v-list-item-subtitle',[_vm._v(_vm._s(app.description))])],1),_c('v-list-item-action',[_c('stop-application',{attrs:{\"app\":app,\"appName\":app.name,\"isShared\":app.shared === 'true',\"sessionId\":app.session_id}},[_c('v-btn',{attrs:{\"color\":\"secondary\",\"icon\":\"\"}},[_c('v-icon',{attrs:{\"dark\":\"\"}},[_vm._v(\"stop\")])],1)],1)],1)],1)]}}],null,true)},[_c('div',{staticClass:\"d-flex flex-column caption\"},[_c('span',[_vm._v(\" Space: \"),_c('span',{staticClass:\"font-weight-bold text-uppercase\"},[_vm._v(_vm._s(app.space_long_id))])]),_c('span',[_vm._v(\" Instance: \"),_c('span',{staticClass:\"font-weight-bold text-uppercase\"},[_vm._v(_vm._s(app.instance_long_id))])])])])}),1)],1),_c('v-divider')],1):_vm._e(),_c('v-menu',{staticClass:\"mt-1\",attrs:{\"close-on-content-click\":true,\"nudge-width\":150,\"offset-y\":\"\",\"left\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on: menu }){return [_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on: tooltip }){return [_c('v-btn',_vm._g({attrs:{\"rounded\":\"\",\"icon\":\"\",\"e2e-toolbar-notifications\":\"\"}},{ ...tooltip, ...menu }),[((!_vm.runningTasksError && _vm.runningTasks > 0) || _vm.validRequests.length)?_c('v-badge',{attrs:{\"color\":\"primary\",\"right\":\"\",\"dot\":\"\",\"overlap\":\"\"}},[_c('v-icon',{attrs:{\"color\":\"secondary\"}},[_vm._v(\"notifications\")])],1):_c('v-icon',{attrs:{\"color\":\"secondary\"}},[_vm._v(\"notifications\")])],1)]}}],null,true)},[_c('span',[_vm._v(\"User Notifications\")])])]}}],null,false,424951004)},[_c('v-list',{attrs:{\"nav\":\"\",\"dense\":\"\"}},[_c('v-list-item',{attrs:{\"two-line\":\"\"}},[_c('v-list-item-content',[_c('v-list-item-title',{staticClass:\"secondary--text subtitle-1 mt-3 font-weight-bold\"},[_vm._v(\"User Notifications\")])],1)],1),_c('v-divider',{staticClass:\"my-3\"}),_c('v-list-item',{on:{\"click\":function($event){return _vm.openTasks()}}},[_c('v-list-item-title',{staticClass:\"subtitle-2 secondary--text\"},[_vm._v(\" Tasks (\"+_vm._s(_vm.runningTasksError ? `error` : `${_vm.runningTasks} running`)+\") \")])],1),_c('v-list-item',{on:{\"click\":function($event){return _vm.openRequests()}}},[_c('v-list-item-title',{staticClass:\"subtitle-2 secondary--text\"},[_vm._v(\"Requests (\"+_vm._s(_vm.validRequests.length)+\" pending)\")])],1)],1)],1),_c('v-menu',{attrs:{\"offset-y\":\"\",\"left\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on: menu }){return [_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on: tooltip }){return [_c('v-btn',_vm._g({attrs:{\"rounded\":\"\",\"color\":\"secondary\",\"icon\":\"\",\"e2e-toolbar-help\":\"\"}},{ ...tooltip, ...menu }),[_c('v-icon',[_vm._v(\"mdi-lifebuoy\")])],1)]}}],null,true)},[_c('span',[_vm._v(\"Help\")])])]}}],null,false,145872350)},[_c('v-list',{attrs:{\"dense\":\"\"}},[_c('v-list-item',{on:{\"click\":function($event){return _vm.openDocs()}}},[_c('v-list-item-action',[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"help_outline\")])],1),_c('v-list-item-title',[_vm._v(\"Documentation\")])],1),(_vm.$appConfig.VUE_APP_INTERCOM_ID)?_c('v-list-item',{on:{\"click\":_vm.showIntercomChat}},[_c('v-list-item-action',[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"mdi-lifebuoy\")])],1),_c('v-list-item-title',[_vm._v(\"Ask for help\")])],1):_vm._e()],1)],1),_c('v-menu',{attrs:{\"max-width\":\"200\",\"offset-y\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on: menu }){return [_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on: tooltip }){return [_c('v-btn',_vm._g({attrs:{\"rounded\":\"\",\"icon\":\"\",\"color\":\"secondary\",\"e2e-toolbar-account\":\"\"}},{ ...tooltip, ...menu }),[_c('v-icon',[_vm._v(\"account_circle\")])],1)]}}],null,true)},[_c('span',[_vm._v(\"Account\")])])]}}],null,false,72736632)},[_c('v-list',{attrs:{\"nav\":\"\",\"dense\":\"\"}},[_c('v-list-item',{attrs:{\"two-line\":\"\"}},[_c('v-list-item-content',[_c('v-list-item-title',{staticClass:\"secondary--text subtitle-1 mt-3 font-weight-bold\"},[_vm._v(\"Account & Settings\")]),_c('v-list-item-subtitle',[_vm._v(_vm._s(_vm.userInfo ? _vm.userInfo.given_name : '')+\" \"+_vm._s(_vm.userInfo ? _vm.userInfo.family_name : ''))])],1)],1),_c('v-divider',{staticClass:\"my-3\"}),_c('v-list-item',{on:{\"click\":function($event){return _vm.openSettings()}}},[_c('v-list-item-title',{staticClass:\"subtitle-2 secondary--text\",attrs:{\"e2e-toolbar-settings\":\"\"}},[_vm._v(\"User Settings\")])],1),(_vm.isAccountManager)?_c('v-list-item',{on:{\"click\":function($event){return _vm.openResourceAndUsage()}}},[_c('v-list-item-title',{staticClass:\"subtitle-2 secondary--text\",attrs:{\"e2e-toolbar-account-management\":\"\"}},[_vm._v(\"Account Management\")])],1):_vm._e(),_c('v-list-item',{on:{\"click\":function($event){return _vm.openMonitoring()}}},[_c('v-list-item-title',{staticClass:\"subtitle-2 secondary--text\",attrs:{\"e2e-toolbar-monitoring\":\"\"}},[_vm._v(\"Resources\")])],1),(_vm.userInfo && _vm.userInfo.is_sysadmin)?_c('v-list-item',{on:{\"click\":function($event){return _vm.openSysadmin()}}},[_c('v-list-item-title',{staticClass:\"subtitle-2 secondary--text\",attrs:{\"e2e-toolbar-sysadmin\":\"\"}},[_vm._v(\"Sysadmin\")])],1):_vm._e(),_c('v-list-item',{on:{\"click\":function($event){return _vm.logout()}}},[_c('v-list-item-title',{staticClass:\"subtitle-2 secondary--text\",attrs:{\"e2e-toolbar-logout\":\"\"}},[_vm._v(\"Logout\")])],1)],1)],1)],2):(_vm.$auth.isAuthenticated)?_c('div',[_c('v-menu',{attrs:{\"offset-y\":\"\",\"offset-overflow\":\"\",\"close-on-content-click\":false},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('v-btn',_vm._g({attrs:{\"icon\":\"\"}},on),[_c('v-icon',[_vm._v(\"menu\")])],1)]}}])},[_c('v-expansion-panels',{attrs:{\"accordion\":\"\",\"focusable\":\"\"}},[_c('v-expansion-panel',[_c('v-expansion-panel-header',{staticClass:\"caption secondary--text font-weight-bold\"},[_c('div',{staticClass:\"d-flex justify-start\"},[_c('v-icon',{staticClass:\"mr-1\",attrs:{\"small\":\"\"}},[_vm._v(\"account_circle\")]),_vm._v(\" Account & Settings \")],1)]),_c('v-expansion-panel-content',[_c('v-list',{attrs:{\"dense\":\"\"}},[_c('v-list-item',{on:{\"click\":function($event){return _vm.openSettings()}}},[_c('v-list-item-title',{staticClass:\"subtitle-2 secondary--text d-flex align-center\"},[_c('v-icon',{staticClass:\"mr-1\",attrs:{\"small\":\"\"}},[_vm._v(\"settings\")]),_vm._v(\" User Settings \")],1)],1),_c('v-list-item',{on:{\"click\":function($event){return _vm.logout()}}},[_c('v-list-item-title',{staticClass:\"subtitle-2 secondary--text d-flex align-center\"},[_c('v-icon',{staticClass:\"mr-1\",attrs:{\"small\":\"\"}},[_vm._v(\"exit_to_app\")]),_vm._v(\" Logout \")],1)],1)],1)],1)],1),_c('v-expansion-panel',[_c('v-expansion-panel-header',{staticClass:\"caption secondary--text font-weight-bold\"},[_c('div',{staticClass:\"d-flex justify-start\"},[_c('v-icon',{staticClass:\"mr-1\",attrs:{\"small\":\"\"}},[_vm._v(\"desktop_windows\")]),_vm._v(\" Running Applications \")],1)]),_c('v-expansion-panel-content',[_c('v-list-item-group',{attrs:{\"color\":\"secondary\"}},_vm._l((_vm.runningDeployments),function(app){return _c('v-tooltip',{key:app.aid,attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('v-list-item',_vm._g({attrs:{\"to\":{ name: 'app-open', params: { oid: app.oid, sid: app.sid, iid: app.iid, snid: app.snid, aid: app.aid } }}},on),[_c('v-list-item-content',[_c('v-list-item-title',[_c('div',{staticClass:\"subtitle-2 secondary--text d-flex justify-start align-center\"},[_c('img',{attrs:{\"width\":\"20\",\"height\":\"20\",\"src\":_vm.appIcon(app)}}),_c('span',{staticClass:\"ml-1\"},[_vm._v(_vm._s(app.name))])])]),_c('v-list-item-subtitle',[_vm._v(_vm._s(app.description))])],1)],1)]}}],null,true)},[_c('div',{staticClass:\"d-flex flex-column caption\"},[_c('span',[_vm._v(\" Space: \"),_c('span',{staticClass:\"font-weight-bold text-uppercase\"},[_vm._v(_vm._s(app.space_long_id))])]),_c('span',[_vm._v(\" Instance: \"),_c('span',{staticClass:\"font-weight-bold text-uppercase\"},[_vm._v(_vm._s(app.instance_long_id))])])])])}),1)],1)],1),_c('v-expansion-panel',[_c('v-expansion-panel-header',{staticClass:\"caption secondary--text font-weight-bold\"},[_c('div',{staticClass:\"d-flex justify-start\"},[_c('v-icon',{staticClass:\"mr-1\",attrs:{\"small\":\"\"}},[_vm._v(\"mdi-lifebuoy\")]),_vm._v(\" Help \")],1)]),_c('v-expansion-panel-content',[_c('v-list',{attrs:{\"dense\":\"\"}},[_c('v-list-item',{on:{\"click\":function($event){return _vm.openDocs()}}},[_c('v-list-item-action',[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"help_outline\")])],1),_c('v-list-item-title',[_vm._v(\"Documentation\")])],1)],1)],1)],1)],1)],1)],1):_vm._e()],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../node_modules/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??ref--13-1!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TheToolbar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??ref--13-1!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TheToolbar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TheToolbar.vue?vue&type=template&id=3c73f976&\"\nimport script from \"./TheToolbar.vue?vue&type=script&lang=js&\"\nexport * from \"./TheToolbar.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","// Components\nimport { VFadeTransition } from '../transitions'\nimport VExpansionPanel from './VExpansionPanel'\nimport VIcon from '../VIcon'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport { inject as RegistrableInject } from '../../mixins/registrable'\n\n// Directives\nimport ripple from '../../directives/ripple'\n\n// Utilities\nimport { getSlot } from '../../util/helpers'\nimport mixins, { ExtractVue } from '../../util/mixins'\n\n// Types\nimport Vue, { VNode, VueConstructor } from 'vue'\n\nconst baseMixins = mixins(\n Colorable,\n RegistrableInject<'expansionPanel', VueConstructor>('expansionPanel', 'v-expansion-panel-header', 'v-expansion-panel')\n)\n\ninterface options extends ExtractVue {\n $el: HTMLElement\n expansionPanel: InstanceType\n}\n\nexport default baseMixins.extend().extend({\n name: 'v-expansion-panel-header',\n\n directives: { ripple },\n\n props: {\n disableIconRotate: Boolean,\n expandIcon: {\n type: String,\n default: '$expand',\n },\n hideActions: Boolean,\n ripple: {\n type: [Boolean, Object],\n default: false,\n },\n },\n\n data: () => ({\n hasMousedown: false,\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-expansion-panel-header--active': this.isActive,\n 'v-expansion-panel-header--mousedown': this.hasMousedown,\n }\n },\n isActive (): boolean {\n return this.expansionPanel.isActive\n },\n isDisabled (): boolean {\n return this.expansionPanel.isDisabled\n },\n isReadonly (): boolean {\n return this.expansionPanel.isReadonly\n },\n },\n\n created () {\n this.expansionPanel.registerHeader(this)\n },\n\n beforeDestroy () {\n this.expansionPanel.unregisterHeader()\n },\n\n methods: {\n onClick (e: MouseEvent) {\n this.$emit('click', e)\n },\n genIcon () {\n const icon = getSlot(this, 'actions') ||\n [this.$createElement(VIcon, this.expandIcon)]\n\n return this.$createElement(VFadeTransition, [\n this.$createElement('div', {\n staticClass: 'v-expansion-panel-header__icon',\n class: {\n 'v-expansion-panel-header__icon--disable-rotate': this.disableIconRotate,\n },\n directives: [{\n name: 'show',\n value: !this.isDisabled,\n }],\n }, icon),\n ])\n },\n },\n\n render (h): VNode {\n return h('button', this.setBackgroundColor(this.color, {\n staticClass: 'v-expansion-panel-header',\n class: this.classes,\n attrs: {\n tabindex: this.isDisabled ? -1 : null,\n type: 'button',\n 'aria-expanded': this.isActive,\n },\n directives: [{\n name: 'ripple',\n value: this.ripple,\n }],\n on: {\n ...this.$listeners,\n click: this.onClick,\n mousedown: () => (this.hasMousedown = true),\n mouseup: () => (this.hasMousedown = false),\n },\n }), [\n getSlot(this, 'default', { open: this.isActive }, true),\n this.hideActions || this.genIcon(),\n ])\n },\n})\n","// 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","// Components\nimport VExpansionPanels from './VExpansionPanels'\nimport VExpansionPanelHeader from './VExpansionPanelHeader'\nimport VExpansionPanelContent from './VExpansionPanelContent'\n\n// Mixins\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport { provide as RegistrableProvide } from '../../mixins/registrable'\n\n// Utilities\nimport { getSlot } from '../../util/helpers'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\n\ntype VExpansionPanelHeaderInstance = InstanceType\ntype VExpansionPanelContentInstance = InstanceType\n\nexport default mixins(\n GroupableFactory<'expansionPanels', typeof VExpansionPanels>('expansionPanels', 'v-expansion-panel', 'v-expansion-panels'),\n RegistrableProvide('expansionPanel', true)\n /* @vue/component */\n).extend({\n name: 'v-expansion-panel',\n\n props: {\n disabled: Boolean,\n readonly: Boolean,\n },\n\n data () {\n return {\n content: null as VExpansionPanelContentInstance | null,\n header: null as VExpansionPanelHeaderInstance | null,\n nextIsActive: false,\n }\n },\n\n computed: {\n classes (): object {\n return {\n 'v-expansion-panel--active': this.isActive,\n 'v-expansion-panel--next-active': this.nextIsActive,\n 'v-expansion-panel--disabled': this.isDisabled,\n ...this.groupClasses,\n }\n },\n isDisabled (): boolean {\n return this.expansionPanels.disabled || this.disabled\n },\n isReadonly (): boolean {\n return this.expansionPanels.readonly || this.readonly\n },\n },\n\n methods: {\n registerContent (vm: VExpansionPanelContentInstance) {\n this.content = vm\n },\n unregisterContent () {\n this.content = null\n },\n registerHeader (vm: VExpansionPanelHeaderInstance) {\n this.header = vm\n vm.$on('click', this.onClick)\n },\n unregisterHeader () {\n this.header = null\n },\n onClick (e: MouseEvent) {\n if (e.detail) this.header!.$el.blur()\n\n this.$emit('click', e)\n\n this.isReadonly || this.isDisabled || this.toggle()\n },\n toggle () {\n this.$nextTick(() => this.$emit('change'))\n },\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-expansion-panel',\n class: this.classes,\n attrs: {\n 'aria-expanded': String(this.isActive),\n },\n }, getSlot(this))\n },\n})\n","// Mixins\nimport Delayable from '../../mixins/delayable'\nimport Toggleable from '../../mixins/toggleable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { consoleWarn } from '../../util/console'\n\n// Types\nimport { VNode, ScopedSlotChildren } from 'vue/types/vnode'\n\nexport default mixins(\n Delayable,\n Toggleable\n /* @vue/component */\n).extend({\n name: 'v-hover',\n\n props: {\n disabled: {\n type: Boolean,\n default: false,\n },\n value: {\n type: Boolean,\n default: undefined,\n },\n },\n\n methods: {\n onMouseEnter () {\n this.runDelay('open')\n },\n onMouseLeave () {\n this.runDelay('close')\n },\n },\n\n render (): VNode {\n if (!this.$scopedSlots.default && this.value === undefined) {\n consoleWarn('v-hover is missing a default scopedSlot or bound value', this)\n\n return null as any\n }\n\n let element: VNode | ScopedSlotChildren\n\n /* istanbul ignore else */\n if (this.$scopedSlots.default) {\n element = this.$scopedSlots.default({ hover: this.isActive })\n }\n\n if (Array.isArray(element) && element.length === 1) {\n element = element[0]\n }\n\n if (!element || Array.isArray(element) || !element.tag) {\n consoleWarn('v-hover should only contain a single element', this)\n\n return element as any\n }\n\n if (!this.disabled) {\n element.data = element.data || {}\n this._g(element.data, {\n mouseenter: this.onMouseEnter,\n mouseleave: this.onMouseLeave,\n })\n }\n\n return element\n },\n})\n","// 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 } 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 },\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 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 (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","import { VNodeDirective } from 'vue/types/vnode'\nimport { DirectiveOptions, VNode } from 'vue'\n\ninterface ScrollVNodeDirective extends Omit {\n value: EventListener | {\n handler: EventListener\n options?: boolean | AddEventListenerOptions\n } | EventListenerObject & { options?: boolean | AddEventListenerOptions }\n modifiers?: {\n self?: boolean\n }\n}\n\nfunction inserted (el: HTMLElement, binding: ScrollVNodeDirective, vnode: VNode) {\n const { self = false } = binding.modifiers || {}\n const value = binding.value\n const options = (typeof value === 'object' && value.options) || { passive: true }\n const handler = typeof value === 'function' || 'handleEvent' in value ? value : value.handler\n\n const target = self\n ? el\n : binding.arg\n ? document.querySelector(binding.arg)\n : window\n\n if (!target) return\n\n target.addEventListener('scroll', handler, options)\n\n el._onScroll = Object(el._onScroll)\n el._onScroll![vnode.context!._uid] = {\n handler,\n options,\n // Don't reference self\n target: self ? undefined : target,\n }\n}\n\nfunction unbind (el: HTMLElement, binding: ScrollVNodeDirective, vnode: VNode) {\n if (!el._onScroll?.[vnode.context!._uid]) return\n\n const { handler, options, target = el } = el._onScroll[vnode.context!._uid]!\n\n target.removeEventListener('scroll', handler, options)\n delete el._onScroll[vnode.context!._uid]\n}\n\nexport const Scroll = {\n inserted,\n unbind,\n} as DirectiveOptions\n\nexport default Scroll\n"],"sourceRoot":""}