{"version":3,"sources":["webpack:///../../../src/components/VAlert/VAlert.ts","webpack:///../../../src/components/VDialog/VDialog.ts","webpack:///./node_modules/core-js/modules/es.array.unshift.js","webpack:///../../../src/components/VThemeProvider/VThemeProvider.ts","webpack:///../../../src/components/VItemGroup/VItemGroup.ts","webpack:///./src/modules/snapshot/components/TheSnapshotRestore.vue","webpack:///src/modules/snapshot/components/TheSnapshotRestore.vue","webpack:///./src/modules/snapshot/components/TheSnapshotRestore.vue?31f5","webpack:///./src/modules/snapshot/components/TheSnapshotRestore.vue?d561","webpack:///../../../src/directives/click-outside/index.ts","webpack:///../../../src/components/VBtn/index.ts","webpack:///../../../src/directives/resize/index.ts","webpack:///../../src/util/dom.ts","webpack:///../../../src/components/VSubheader/VSubheader.ts","webpack:///../../../src/components/VMenu/VMenu.ts","webpack:///../../../src/mixins/returnable/index.ts","webpack:///../../../src/components/VOverlay/VOverlay.ts","webpack:///../../../src/components/VOverlay/index.ts","webpack:///../../../src/mixins/overlayable/index.ts","webpack:///../../../src/mixins/transitionable/index.ts"],"names":["mixins","VSheet","Toggleable","Transitionable","extend","name","props","border","type","String","validator","val","includes","closeLabel","default","coloredBorder","Boolean","dense","dismissible","closeIcon","icon","outlined","prominent","text","value","computed","__cachedBorder","this","data","staticClass","class","setBackgroundColor","computedColor","$createElement","__cachedDismissible","color","iconColor","VBtn","small","attrs","$vuetify","lang","t","on","click","isActive","VIcon","__cachedIcon","computedIcon","classes","options","call","hasColoredIcon","hasText","undefined","isDark","Themeable","created","$attrs","hasOwnProperty","breaking","methods","genWrapper","children","$slots","prepend","genContent","append","$scopedSlots","close","toggle","genAlert","role","listeners$","style","styles","directives","setColor","setTextColor","render","h","transition","origin","mode","baseMixins","Dependent","Detachable","Overlayable","Returnable","Stackable","Activatable","ClickOutside","dark","disabled","fullscreen","light","maxWidth","Number","noClickAnimation","persistent","retainFocus","scrollable","width","activatedBy","animate","animateTimeout","stackMinZIndex","previousActiveElement","contentClass","trim","contentClasses","hasActivator","activator","watch","show","hideScroll","removeOverlay","unbind","_a","focus","showScroll","genOverlay","removed","beforeMount","$nextTick","isBooted","beforeDestroy","window","animateClick","clearTimeout","setTimeout","closeConditional","e","target","_isDestroyed","$refs","content","contains","overlay","$el","activeZIndex","getMaxZIndex","document","documentElement","classList","add","hideOverlay","dialog","activeElement","_b","bind","addEventListener","onFocusin","removeEventListener","onClickOutside","$emit","onKeydown","keyCode","keyCodes","esc","getOpenDependents","length","getActivator","getOpenDependentElements","some","el","focusable","querySelectorAll","find","hasAttribute","matches","showLazyContent","VThemeProvider","root","getScopeIdAttrs","keydown","zIndex","ref","genTransition","genInnerContent","appear","tabindex","handler","include","transformOrigin","convertToUnit","getContentSlot","attach","genActivator","$","toObject","lengthOfArrayLike","setArrayLength","deletePropertyOrThrow","doesNotExceedSafeInteger","INCORRECT_RESULT","unshift","properErrorOnNonWritableLength","Object","defineProperty","writable","error","TypeError","FORCED","proto","arity","forced","item","O","len","argCount","arguments","k","to","j","rootIsDark","node","isComment","BaseItemGroup","Comparable","Proxyable","activeClass","mandatory","max","multiple","tag","internalLazyValue","items","themeClasses","selectedIndex","selectedItem","indexOf","selectedItems","filter","index","toggleMethod","getValue","selectedValues","internalValue","Array","isArray","v","valueComparator","intern","consoleWarn","genData","i","onClick","updateInternalValue","register","push","$on","updateMandatory","updateItem","unregister","splice","valueIndex","updateItemsState","forEach","updateMultiple","updateSingle","last","slice","reverse","defaultValue","findIndex","isSame","provide","itemGroup","fn","isRestoreToCurrentInstance","restoreDialog","_vm","$$v","expression","_c","slot","_s","_v","staticStyle","model","agreeBox","callback","selectedInstance","sourceSnapshotName","_e","scopedSlots","createBackupSnapshot","reviewSnapshot","staticRenderFns","snapshotData","isColdSnapshot","restoring","restoreSnapshotToCurrentState","snid","fetchBody","overwriteCurrentState","snackBarText","snackBarTimeout","snackBarIcon","put","then","dialogText","dialogTitle","dialogAction","taskId","catch","finally","params","oid","sid","iid","mapState","mapGetters","instanceNames","component","defaultConditional","checkEvent","binding","checkIsActive","attachedRoot","ShadowRoot","host","elements","directive","_clickOutside","lastMousedownWasOutside","handleShadow","inserted","vnode","onMousedown","app","context","_uid","passive","_onResize","modifiers","quiet","Resize","getRootNode","parentNode","composed","inset","$listeners","Delayable","Roundable","Menuable","isInMenu","theme","auto","closeOnClick","closeOnContentClick","disableKeys","maxHeight","offsetX","offsetY","openOnHover","calculatedTopAuto","defaultOffset","hasJustFocused","listIndex","resizeTimeout","tiles","activeTile","calculatedLeft","menuWidth","Math","dimensions","parseFloat","calculatedMinWidth","calcXOverflow","calcLeftAuto","calcLeft","calculatedMaxHeight","height","calculatedMaxWidth","minWidth","min","nudgeWidth","pageWidth","isNaN","parseInt","calculatedTop","top","calcYOverflow","calcTop","hasClickableTiles","tile","tabIndex","left","isContentActive","next","prev","scrollTop","contentHeight","clientHeight","offsetTop","goTo","appOffset","duration","container","remove","mounted","callActivate","activate","updateDimensions","requestAnimationFrame","startTransition","calcTopAuto","calcScrollPosition","querySelector","maxScrollTop","scrollHeight","offsetHeight","computedTop","from","tileDistanceFromMenuTop","firstTileOffsetTop","changeListIndex","getTiles","tab","down","nextTile","up","prevTile","end","lastTile","home","firstTile","enter","preventDefault","genActivatorAttributes","attributes","id","genActivatorListeners","listeners","onKeyDown","genDirectives","rootThemeClasses","roundedClasses","activatorFixed","menuable__content__active","getAttribute","scroll","mouseenter","mouseEnterHandler","mouseleave","mouseLeaveHandler","runDelay","relatedTarget","callDeactivate","onResize","offsetWidth","arg","Vue","returnValue","originalValue","save","Colorable","absolute","opacity","__scrim","computedOpacity","VOverlay","overlayColor","overlayOpacity","animationFrame","createOverlay","propsData","$mount","parent","insertBefore","firstChild","getZIndex","addOnceEventListener","removeChild","$destroy","cancelAnimationFrame","scrollListener","tagName","isContentEditable","pageup","pagedown","deltaY","body","checkPath","hasScrollbar","nodeType","Node","ELEMENT_NODE","getComputedStyle","overflowY","overflowX","scrollWidth","clientWidth","shouldScroll","alreadyAtStart","alreadyAtEnd","dir","shiftKey","deltaX","delta","scrollLeft","scrollingUp","scrollingDown","isInside","path","composedPath","selected","getSelection","anchorNode","breakpoint","smAndDown","addPassiveEventListener"],"mappings":"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","file":"static/js/chunk-b2b35cae.ad0929b6.js","sourcesContent":["// Styles\nimport './VAlert.sass'\n\n// Extensions\nimport VSheet from '../VSheet'\n\n// Components\nimport VBtn from '../VBtn'\nimport VIcon from '../VIcon'\n\n// Mixins\nimport Toggleable from '../../mixins/toggleable'\nimport Themeable from '../../mixins/themeable'\nimport Transitionable from '../../mixins/transitionable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { breaking } from '../../util/console'\n\n// Types\nimport { VNodeData } from 'vue'\nimport { VNode } from 'vue/types'\n\n/* @vue/component */\nexport default mixins(\n VSheet,\n Toggleable,\n Transitionable\n).extend({\n name: 'v-alert',\n\n props: {\n border: {\n type: String,\n validator (val: string) {\n return [\n 'top',\n 'right',\n 'bottom',\n 'left',\n ].includes(val)\n },\n },\n closeLabel: {\n type: String,\n default: '$vuetify.close',\n },\n coloredBorder: Boolean,\n dense: Boolean,\n dismissible: Boolean,\n closeIcon: {\n type: String,\n default: '$cancel',\n },\n icon: {\n default: '',\n type: [Boolean, String],\n validator (val: boolean | string) {\n return typeof val === 'string' || val === false\n },\n },\n outlined: Boolean,\n prominent: Boolean,\n text: Boolean,\n type: {\n type: String,\n validator (val: string) {\n return [\n 'info',\n 'error',\n 'success',\n 'warning',\n ].includes(val)\n },\n },\n value: {\n type: Boolean,\n default: true,\n },\n },\n\n computed: {\n __cachedBorder (): VNode | null {\n if (!this.border) return null\n\n let data: VNodeData = {\n staticClass: 'v-alert__border',\n class: {\n [`v-alert__border--${this.border}`]: true,\n },\n }\n\n if (this.coloredBorder) {\n data = this.setBackgroundColor(this.computedColor, data)\n data.class['v-alert__border--has-color'] = true\n }\n\n return this.$createElement('div', data)\n },\n __cachedDismissible (): VNode | null {\n if (!this.dismissible) return null\n\n const color = this.iconColor\n\n return this.$createElement(VBtn, {\n staticClass: 'v-alert__dismissible',\n props: {\n color,\n icon: true,\n small: true,\n },\n attrs: {\n 'aria-label': this.$vuetify.lang.t(this.closeLabel),\n },\n on: {\n click: () => (this.isActive = false),\n },\n }, [\n this.$createElement(VIcon, {\n props: { color },\n }, this.closeIcon),\n ])\n },\n __cachedIcon (): VNode | null {\n if (!this.computedIcon) return null\n\n return this.$createElement(VIcon, {\n staticClass: 'v-alert__icon',\n props: { color: this.iconColor },\n }, this.computedIcon)\n },\n classes (): object {\n const classes: Record = {\n ...VSheet.options.computed.classes.call(this),\n 'v-alert--border': Boolean(this.border),\n 'v-alert--dense': this.dense,\n 'v-alert--outlined': this.outlined,\n 'v-alert--prominent': this.prominent,\n 'v-alert--text': this.text,\n }\n\n if (this.border) {\n classes[`v-alert--border-${this.border}`] = true\n }\n\n return classes\n },\n computedColor (): string {\n return this.color || this.type\n },\n computedIcon (): string | boolean {\n if (this.icon === false) return false\n if (typeof this.icon === 'string' && this.icon) return this.icon\n if (!['error', 'info', 'success', 'warning'].includes(this.type)) return false\n\n return `$${this.type}`\n },\n hasColoredIcon (): boolean {\n return (\n this.hasText ||\n (Boolean(this.border) && this.coloredBorder)\n )\n },\n hasText (): boolean {\n return this.text || this.outlined\n },\n iconColor (): string | undefined {\n return this.hasColoredIcon ? this.computedColor : undefined\n },\n isDark (): boolean {\n if (\n this.type &&\n !this.coloredBorder &&\n !this.outlined\n ) return true\n\n return Themeable.options.computed.isDark.call(this)\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('outline')) {\n breaking('outline', 'outlined', this)\n }\n },\n\n methods: {\n genWrapper (): VNode {\n const children = [\n this.$slots.prepend || this.__cachedIcon,\n this.genContent(),\n this.__cachedBorder,\n this.$slots.append,\n this.$scopedSlots.close\n ? this.$scopedSlots.close({ toggle: this.toggle })\n : this.__cachedDismissible,\n ]\n\n const data: VNodeData = {\n staticClass: 'v-alert__wrapper',\n }\n\n return this.$createElement('div', data, children)\n },\n genContent (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-alert__content',\n }, this.$slots.default)\n },\n genAlert (): VNode {\n let data: VNodeData = {\n staticClass: 'v-alert',\n attrs: {\n role: 'alert',\n },\n on: this.listeners$,\n class: this.classes,\n style: this.styles,\n directives: [{\n name: 'show',\n value: this.isActive,\n }],\n }\n\n if (!this.coloredBorder) {\n const setColor = this.hasText ? this.setTextColor : this.setBackgroundColor\n data = setColor(this.computedColor, data)\n }\n\n return this.$createElement('div', data, [this.genWrapper()])\n },\n /** @public */\n toggle () {\n this.isActive = !this.isActive\n },\n },\n\n render (h): VNode {\n const render = this.genAlert()\n\n if (!this.transition) return render\n\n return h('transition', {\n props: {\n name: this.transition,\n origin: this.origin,\n mode: this.mode,\n },\n }, [render])\n },\n})\n","// Styles\nimport './VDialog.sass'\n\n// Components\nimport { VThemeProvider } from '../VThemeProvider'\n\n// Mixins\nimport Activatable from '../../mixins/activatable'\nimport Dependent from '../../mixins/dependent'\nimport Detachable from '../../mixins/detachable'\nimport Overlayable from '../../mixins/overlayable'\nimport Returnable from '../../mixins/returnable'\nimport Stackable from '../../mixins/stackable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\n\n// Helpers\nimport mixins from '../../util/mixins'\nimport { removed } from '../../util/console'\nimport {\n convertToUnit,\n keyCodes,\n} from '../../util/helpers'\n\n// Types\nimport { VNode, VNodeData } from 'vue'\n\nconst baseMixins = mixins(\n Dependent,\n Detachable,\n Overlayable,\n Returnable,\n Stackable,\n Activatable,\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-dialog',\n\n directives: { ClickOutside },\n\n props: {\n dark: Boolean,\n disabled: Boolean,\n fullscreen: Boolean,\n light: Boolean,\n maxWidth: [String, Number],\n noClickAnimation: Boolean,\n origin: {\n type: String,\n default: 'center center',\n },\n persistent: Boolean,\n retainFocus: {\n type: Boolean,\n default: true,\n },\n scrollable: Boolean,\n transition: {\n type: [String, Boolean],\n default: 'dialog-transition',\n },\n width: [String, Number],\n },\n\n data () {\n return {\n activatedBy: null as EventTarget | null,\n animate: false,\n animateTimeout: -1,\n stackMinZIndex: 200,\n previousActiveElement: null as HTMLElement | null,\n }\n },\n\n computed: {\n classes (): object {\n return {\n [(`v-dialog ${this.contentClass}`).trim()]: true,\n 'v-dialog--active': this.isActive,\n 'v-dialog--persistent': this.persistent,\n 'v-dialog--fullscreen': this.fullscreen,\n 'v-dialog--scrollable': this.scrollable,\n 'v-dialog--animated': this.animate,\n }\n },\n contentClasses (): object {\n return {\n 'v-dialog__content': true,\n 'v-dialog__content--active': this.isActive,\n }\n },\n hasActivator (): boolean {\n return Boolean(\n !!this.$slots.activator ||\n !!this.$scopedSlots.activator\n )\n },\n },\n\n watch: {\n isActive (val) {\n if (val) {\n this.show()\n this.hideScroll()\n } else {\n this.removeOverlay()\n this.unbind()\n this.previousActiveElement?.focus()\n }\n },\n fullscreen (val) {\n if (!this.isActive) return\n\n if (val) {\n this.hideScroll()\n this.removeOverlay(false)\n } else {\n this.showScroll()\n this.genOverlay()\n }\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 beforeMount () {\n this.$nextTick(() => {\n this.isBooted = this.isActive\n this.isActive && this.show()\n })\n },\n\n beforeDestroy () {\n if (typeof window !== 'undefined') this.unbind()\n },\n\n methods: {\n animateClick () {\n this.animate = false\n // Needed for when clicking very fast\n // outside of the dialog\n this.$nextTick(() => {\n this.animate = true\n window.clearTimeout(this.animateTimeout)\n this.animateTimeout = window.setTimeout(() => (this.animate = false), 150)\n })\n },\n closeConditional (e: Event) {\n const target = e.target as HTMLElement\n // Ignore the click if the dialog is closed or destroyed,\n // if it was on an element inside the content,\n // if it was dragged onto the overlay (#6969),\n // or if this isn't the topmost dialog (#9907)\n return !(\n this._isDestroyed ||\n !this.isActive ||\n this.$refs.content.contains(target) ||\n (this.overlay && target && !this.overlay.$el.contains(target))\n ) && this.activeZIndex >= this.getMaxZIndex()\n },\n hideScroll () {\n if (this.fullscreen) {\n document.documentElement.classList.add('overflow-y-hidden')\n } else {\n Overlayable.options.methods.hideScroll.call(this)\n }\n },\n show () {\n !this.fullscreen && !this.hideOverlay && this.genOverlay()\n // Double nextTick to wait for lazy content to be generated\n this.$nextTick(() => {\n this.$nextTick(() => {\n if (!this.$refs.dialog?.contains(document.activeElement)) {\n this.previousActiveElement = document.activeElement as HTMLElement\n this.$refs.dialog?.focus()\n }\n this.bind()\n })\n })\n },\n bind () {\n window.addEventListener('focusin', this.onFocusin)\n },\n unbind () {\n window.removeEventListener('focusin', this.onFocusin)\n },\n onClickOutside (e: Event) {\n this.$emit('click:outside', e)\n\n if (this.persistent) {\n this.noClickAnimation || this.animateClick()\n } else {\n this.isActive = false\n }\n },\n onKeydown (e: KeyboardEvent) {\n if (e.keyCode === keyCodes.esc && !this.getOpenDependents().length) {\n if (!this.persistent) {\n this.isActive = false\n const activator = this.getActivator()\n this.$nextTick(() => activator && (activator as HTMLElement).focus())\n } else if (!this.noClickAnimation) {\n this.animateClick()\n }\n }\n this.$emit('keydown', e)\n },\n // On focus change, wrap focus to stay inside the dialog\n // https://github.com/vuetifyjs/vuetify/issues/6892\n onFocusin (e: Event) {\n if (!e || !this.retainFocus) return\n\n const target = e.target as HTMLElement\n\n if (\n !!target &&\n this.$refs.dialog &&\n // It isn't the document or the dialog body\n ![document, this.$refs.dialog].includes(target) &&\n // It isn't inside the dialog body\n !this.$refs.dialog.contains(target) &&\n // We're the topmost dialog\n this.activeZIndex >= this.getMaxZIndex() &&\n // It isn't inside a dependent element (like a menu)\n !this.getOpenDependentElements().some(el => el.contains(target))\n // So we must have focused something outside the dialog and its children\n ) {\n // Find and focus the first available element inside the dialog\n const focusable = this.$refs.dialog.querySelectorAll('button, [href], input:not([type=\"hidden\"]), select, textarea, [tabindex]:not([tabindex=\"-1\"])')\n const el = [...focusable].find(el => !el.hasAttribute('disabled') && !el.matches('[tabindex=\"-1\"]')) as HTMLElement | undefined\n el && el.focus()\n }\n },\n genContent () {\n return this.showLazyContent(() => [\n this.$createElement(VThemeProvider, {\n props: {\n root: true,\n light: this.light,\n dark: this.dark,\n },\n }, [\n this.$createElement('div', {\n class: this.contentClasses,\n attrs: {\n role: 'dialog',\n 'aria-modal': this.hideOverlay ? undefined : 'true',\n ...this.getScopeIdAttrs(),\n },\n on: { keydown: this.onKeydown },\n style: { zIndex: this.activeZIndex },\n ref: 'content',\n }, [this.genTransition()]),\n ]),\n ])\n },\n genTransition () {\n const content = this.genInnerContent()\n\n if (!this.transition) return content\n\n return this.$createElement('transition', {\n props: {\n name: this.transition,\n origin: this.origin,\n appear: true,\n },\n }, [content])\n },\n genInnerContent () {\n const data: VNodeData = {\n class: this.classes,\n attrs: {\n tabindex: this.isActive ? 0 : undefined,\n },\n ref: 'dialog',\n directives: [\n {\n name: 'click-outside',\n value: {\n handler: this.onClickOutside,\n closeConditional: this.closeConditional,\n include: this.getOpenDependentElements,\n },\n },\n { name: 'show', value: this.isActive },\n ],\n style: {\n transformOrigin: this.origin,\n },\n }\n\n if (!this.fullscreen) {\n data.style = {\n ...data.style as object,\n maxWidth: convertToUnit(this.maxWidth),\n width: convertToUnit(this.width),\n }\n }\n\n return this.$createElement('div', data, this.getContentSlot())\n },\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-dialog__container',\n class: {\n 'v-dialog__container--attached':\n this.attach === '' ||\n this.attach === true ||\n this.attach === 'attach',\n },\n }, [\n this.genActivator(),\n this.genContent(),\n ])\n },\n})\n","'use strict';\nvar $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar setArrayLength = require('../internals/array-set-length');\nvar deletePropertyOrThrow = require('../internals/delete-property-or-throw');\nvar doesNotExceedSafeInteger = require('../internals/does-not-exceed-safe-integer');\n\n// IE8-\nvar INCORRECT_RESULT = [].unshift(0) !== 1;\n\n// V8 ~ Chrome < 71 and Safari <= 15.4, FF < 23 throws InternalError\nvar properErrorOnNonWritableLength = function () {\n try {\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty([], 'length', { writable: false }).unshift();\n } catch (error) {\n return error instanceof TypeError;\n }\n};\n\nvar FORCED = INCORRECT_RESULT || !properErrorOnNonWritableLength();\n\n// `Array.prototype.unshift` method\n// https://tc39.es/ecma262/#sec-array.prototype.unshift\n$({ target: 'Array', proto: true, arity: 1, forced: FORCED }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n unshift: function unshift(item) {\n var O = toObject(this);\n var len = lengthOfArrayLike(O);\n var argCount = arguments.length;\n if (argCount) {\n doesNotExceedSafeInteger(len + argCount);\n var k = len;\n while (k--) {\n var to = k + argCount;\n if (k in O) O[to] = O[k];\n else deletePropertyOrThrow(O, to);\n }\n for (var j = 0; j < argCount; j++) {\n O[j] = arguments[j];\n }\n } return setArrayLength(O, len + argCount);\n }\n});\n","// Mixins\nimport Themeable from '../../mixins/themeable'\n\n// Types\nimport { VNode } from 'vue'\n\n/* @vue/component */\nexport default Themeable.extend({\n name: 'v-theme-provider',\n\n props: { root: Boolean },\n\n computed: {\n isDark (): boolean {\n return this.root\n ? this.rootIsDark\n : Themeable.options.computed.isDark.call(this)\n },\n },\n\n render (): VNode {\n /* istanbul ignore next */\n return (\n this.$slots.default! &&\n this.$slots.default!.find(node => !node.isComment && node.text !== ' ')!\n )\n },\n})\n","// Styles\nimport './VItemGroup.sass'\n\n// Mixins\nimport Comparable from '../../mixins/comparable'\nimport Groupable from '../../mixins/groupable'\nimport Proxyable from '../../mixins/proxyable'\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { consoleWarn } from '../../util/console'\n\n// Types\nimport { VNode } from 'vue/types'\n\nexport type GroupableInstance = InstanceType & {\n id?: string\n to?: any\n value?: any\n }\n\nexport const BaseItemGroup = mixins(\n Comparable,\n Proxyable,\n Themeable\n).extend({\n name: 'base-item-group',\n\n props: {\n activeClass: {\n type: String,\n default: 'v-item--active',\n },\n mandatory: Boolean,\n max: {\n type: [Number, String],\n default: null,\n },\n multiple: Boolean,\n tag: {\n type: String,\n default: 'div',\n },\n },\n\n data () {\n return {\n // As long as a value is defined, show it\n // Otherwise, check if multiple\n // to determine which default to provide\n internalLazyValue: this.value !== undefined\n ? this.value\n : this.multiple ? [] : undefined,\n items: [] as GroupableInstance[],\n }\n },\n\n computed: {\n classes (): Record {\n return {\n 'v-item-group': true,\n ...this.themeClasses,\n }\n },\n selectedIndex (): number {\n return (this.selectedItem && this.items.indexOf(this.selectedItem)) || -1\n },\n selectedItem (): GroupableInstance | undefined {\n if (this.multiple) return undefined\n\n return this.selectedItems[0]\n },\n selectedItems (): GroupableInstance[] {\n return this.items.filter((item, index) => {\n return this.toggleMethod(this.getValue(item, index))\n })\n },\n selectedValues (): any[] {\n if (this.internalValue == null) return []\n\n return Array.isArray(this.internalValue)\n ? this.internalValue\n : [this.internalValue]\n },\n toggleMethod (): (v: any) => boolean {\n if (!this.multiple) {\n return (v: any) => this.valueComparator(this.internalValue, v)\n }\n\n const internalValue = this.internalValue\n if (Array.isArray(internalValue)) {\n return (v: any) => internalValue.some(intern => this.valueComparator(intern, v))\n }\n\n return () => false\n },\n },\n\n watch: {\n internalValue: 'updateItemsState',\n items: 'updateItemsState',\n },\n\n created () {\n if (this.multiple && !Array.isArray(this.internalValue)) {\n consoleWarn('Model must be bound to an array if the multiple property is true.', this)\n }\n },\n\n methods: {\n\n genData (): object {\n return {\n class: this.classes,\n }\n },\n getValue (item: GroupableInstance, i: number): unknown {\n return item.value === undefined\n ? i\n : item.value\n },\n onClick (item: GroupableInstance) {\n this.updateInternalValue(\n this.getValue(item, this.items.indexOf(item))\n )\n },\n register (item: GroupableInstance) {\n const index = this.items.push(item) - 1\n\n item.$on('change', () => this.onClick(item))\n\n // If no value provided and mandatory,\n // assign first registered item\n if (this.mandatory && !this.selectedValues.length) {\n this.updateMandatory()\n }\n\n this.updateItem(item, index)\n },\n unregister (item: GroupableInstance) {\n if (this._isDestroyed) return\n\n const index = this.items.indexOf(item)\n const value = this.getValue(item, index)\n\n this.items.splice(index, 1)\n\n const valueIndex = this.selectedValues.indexOf(value)\n\n // Items is not selected, do nothing\n if (valueIndex < 0) return\n\n // If not mandatory, use regular update process\n if (!this.mandatory) {\n return this.updateInternalValue(value)\n }\n\n // Remove the value\n if (this.multiple && Array.isArray(this.internalValue)) {\n this.internalValue = this.internalValue.filter(v => v !== value)\n } else {\n this.internalValue = undefined\n }\n\n // If mandatory and we have no selection\n // add the last item as value\n /* istanbul ignore else */\n if (!this.selectedItems.length) {\n this.updateMandatory(true)\n }\n },\n updateItem (item: GroupableInstance, index: number) {\n const value = this.getValue(item, index)\n\n item.isActive = this.toggleMethod(value)\n },\n // https://github.com/vuetifyjs/vuetify/issues/5352\n updateItemsState () {\n this.$nextTick(() => {\n if (this.mandatory &&\n !this.selectedItems.length\n ) {\n return this.updateMandatory()\n }\n\n // TODO: Make this smarter so it\n // doesn't have to iterate every\n // child in an update\n this.items.forEach(this.updateItem)\n })\n },\n updateInternalValue (value: any) {\n this.multiple\n ? this.updateMultiple(value)\n : this.updateSingle(value)\n },\n updateMandatory (last?: boolean) {\n if (!this.items.length) return\n\n const items = this.items.slice()\n\n if (last) items.reverse()\n\n const item = items.find(item => !item.disabled)\n\n // If no tabs are available\n // aborts mandatory value\n if (!item) return\n\n const index = this.items.indexOf(item)\n\n this.updateInternalValue(\n this.getValue(item, index)\n )\n },\n updateMultiple (value: any) {\n const defaultValue = Array.isArray(this.internalValue)\n ? this.internalValue\n : []\n const internalValue = defaultValue.slice()\n const index = internalValue.findIndex(val => this.valueComparator(val, value))\n\n if (\n this.mandatory &&\n // Item already exists\n index > -1 &&\n // value would be reduced below min\n internalValue.length - 1 < 1\n ) return\n\n if (\n // Max is set\n this.max != null &&\n // Item doesn't exist\n index < 0 &&\n // value would be increased above max\n internalValue.length + 1 > this.max\n ) return\n\n index > -1\n ? internalValue.splice(index, 1)\n : internalValue.push(value)\n\n this.internalValue = internalValue\n },\n updateSingle (value: any) {\n const isSame = this.valueComparator(this.internalValue, value)\n\n if (this.mandatory && isSame) return\n\n this.internalValue = isSame ? undefined : value\n },\n },\n\n render (h): VNode {\n return h(this.tag, this.genData(), this.$slots.default)\n },\n})\n\nexport default BaseItemGroup.extend({\n name: 'v-item-group',\n\n provide (): object {\n return {\n itemGroup: this,\n }\n },\n})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-dialog',{attrs:{\"persistent\":_vm.restoringSnapshot,\"max-width\":\"700\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on: dialog }){return [_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on: tooltip }){return [_c('v-btn',_vm._g({attrs:{\"icon\":\"\",\"color\":_vm.isRestoreToCurrentInstance ? 'primary' : ''}},{ ...tooltip, ...dialog }),[(_vm.isRestoreToCurrentInstance)?_c('v-icon',[_vm._v(\"restore\")]):_c('v-icon',[_vm._v(\"group\")])],1)]}}],null,true)},[(_vm.isRestoreToCurrentInstance)?_c('span',[_vm._v(\"Restore to the current state of this instance\")]):_c('span',[_vm._v(\"Restore to the current state of a target instance\")])])]}}]),model:{value:(_vm.restoreDialog),callback:function ($$v) {_vm.restoreDialog=$$v},expression:\"restoreDialog\"}},[_c('v-card',{attrs:{\"flat\":\"\"}},[_c('v-card-title',[_c('v-icon',[_vm._v(\"restore\")]),_c('span',{staticClass:\"ml-1 secondary--text text-uppercase\"},[_vm._v(\"snapshot restore\")]),_c('v-spacer'),_c('v-btn',{attrs:{\"disabled\":_vm.restoringSnapshot,\"icon\":\"\"},on:{\"click\":function($event){_vm.restoreDialog = false}}},[_c('v-icon',[_vm._v(\"clear\")])],1)],1),_c('v-divider'),_c('v-card-text',[(_vm.isColdSnapshot)?_c('v-banner',{staticClass:\"mt-3\"},[_c('v-avatar',{attrs:{\"slot\":\"icon\",\"color\":\"white\",\"size\":\"30\"},slot:\"icon\"},[_c('v-icon',{attrs:{\"color\":\"info\"}},[_vm._v(\"info\")])],1),_vm._v(\" This snapshot is in cold storage, it might take longer than usual to restore its contents. \")],1):_vm._e(),(_vm.snapshotData)?_c('div',[_c('div',{staticClass:\"mt-5\"},[_c('div',[_c('span',[_vm._v(\"Snapshot name\")]),_vm._v(\" : \"),_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(_vm._s(_vm.snapshotData.long_id))])]),_c('div',[_c('span',[_vm._v(\"Snapshot timestamp\")]),_vm._v(\" : \"),_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(_vm._s(_vm._f(\"dateTimeToHuman\")(_vm.snapshotData.snapshot_timestamp)))])])]),_c('v-alert',{staticClass:\"mt-4\",attrs:{\"text\":\"\",\"prominent\":\"\",\"type\":\"info\"}},[_c('v-row',{attrs:{\"align\":\"center\"}},[_c('v-col',{staticClass:\"grow\"},[_c('div',{staticClass:\"font-weight-bold\"},[_vm._v(\"Did you know?\")]),_c('div',[_vm._v(\"You can restore partially too.\")])]),_c('v-col',{staticClass:\"shrink\"},[_c('v-btn',{attrs:{\"href\":\"https://docs.nuvolos.cloud/features/snapshots/restore-a-snapshot#partially-restore-a-snapshot\",\"target\":\"_blank\",\"outlined\":\"\",\"small\":\"\",\"color\":\"info\"}},[_vm._v(\" Learn more \")])],1)],1)],1),(_vm.isRestoreToCurrentInstance)?_c('div',[_c('v-alert',{staticClass:\"mt-5\",attrs:{\"outlined\":\"\",\"color\":\"error\",\"prominent\":\"\",\"type\":\"warning\"}},[_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(\"Here is what happens when you restore a snapshot to the current state\")]),_c('ul',{staticClass:\"subtitle-2 mt-3\"},[_c('li',[_vm._v(\" The \"),_c('span',{staticClass:\"text-decoration-underline font-weight-bold\"},[_vm._v(\"current state\")]),_vm._v(\" of this instance will be be overwritten with the contents of the snapshot \"),_c('span',{staticClass:\"text-decoration-underline font-weight-bold\"},[_vm._v(_vm._s(_vm.snapshotData.long_id))]),_vm._v(\" . \")]),_c('li',{staticClass:\"subtitle-2\"},[_vm._v(\" An auto snapshot of the \"),_c('span',{staticClass:\"text-decoration-underline font-weight-bold\"},[_vm._v(\"current state\")]),_vm._v(\" of this instance will be created (to be able to revert this operation). \")])]),_c('v-divider',{staticClass:\"my-4 secondary\",staticStyle:{\"opacity\":\"0.22\"}}),_c('v-checkbox',{staticClass:\"secondary--text\",attrs:{\"color\":\"error\",\"label\":\"I understand\"},model:{value:(_vm.agreeBox),callback:function ($$v) {_vm.agreeBox=$$v},expression:\"agreeBox\"}})],1)],1):_c('div',[_c('h3',{staticClass:\"mt-5\"},[_vm._v(\"Target Instance\")]),_c('v-select',{attrs:{\"items\":_vm.instanceNames,\"label\":\"Select target instance to overwrite\",\"disabled\":_vm.restoring || !_vm.sourceSnapshotName,\"outlined\":\"\"},model:{value:(_vm.selectedInstance),callback:function ($$v) {_vm.selectedInstance=$$v},expression:\"selectedInstance\"}}),(_vm.selectedInstance)?_c('v-alert',{staticClass:\"mt-5\",attrs:{\"outlined\":\"\",\"color\":\"error\",\"prominent\":\"\",\"type\":\"warning\"}},[_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(\"Here is what happens when overwrite the current state of a target instance\")]),_c('ul',{staticClass:\"mt-3\"},[_c('li',[_c('span',{staticClass:\"subtitle-2\"},[_vm._v(\" The contents (files, tables, and application) of the current state of the instance \"),_c('span',{staticClass:\"text-decoration-underline font-weight-bold\"},[_vm._v(_vm._s(_vm.selectedInstance))]),_vm._v(\" will be cleared and replaced with the contents of \"),_c('span',{staticClass:\"text-decoration-underline font-weight-bold\"},[_vm._v(_vm._s(_vm.sourceSnapshotName)+\".\")])])]),_c('li',{staticClass:\"subtitle-2\"},[_vm._v(\" A restorable auto snapshot of the current state of \"),_c('span',{staticClass:\"text-decoration-underline font-weight-bold\"},[_vm._v(_vm._s(_vm.selectedInstance))]),_vm._v(\" will be created (to be able to revert this operation). \")])]),_c('v-divider',{staticClass:\"my-4 secondary\",staticStyle:{\"opacity\":\"0.22\"}}),_c('v-checkbox',{staticClass:\"secondary--text\",attrs:{\"color\":\"error\",\"label\":\"I understand\"},model:{value:(_vm.agreeBox),callback:function ($$v) {_vm.agreeBox=$$v},expression:\"agreeBox\"}})],1):_vm._e()],1)],1):_vm._e()],1),_c('v-card-actions',[_c('div',{staticClass:\"d-flex flex-column justify-center align-center w-100\"},[(_vm.isRestoreToCurrentInstance && !_vm.isInstanceArchived)?_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('v-checkbox',_vm._g({staticClass:\"ma-0 pa-0\",attrs:{\"label\":\"Create a backup snapshot of the current state before restoring\"},model:{value:(_vm.createBackupSnapshot),callback:function ($$v) {_vm.createBackupSnapshot=$$v},expression:\"createBackupSnapshot\"}},on))]}}],null,false,1933168830)},[_c('span',[_vm._v(\"This option is recommended in order to create backup and allow for restoring old objects in the future.\")])]):_vm._e(),_c('div',{staticClass:\"d-flex align-center justify-end mt-5 w-100\"},[_c('v-btn',{attrs:{\"color\":\"primary\",\"text\":\"\",\"disabled\":_vm.restoringSnapshot || _vm.restoring},on:{\"click\":_vm.reviewSnapshot}},[_vm._v(\"review snapshot\")]),(_vm.isRestoreToCurrentInstance)?_c('v-btn',{staticClass:\"mr-1\",attrs:{\"text\":\"\",\"color\":\"error\",\"loading\":_vm.restoringSnapshot,\"disabled\":_vm.restoringSnapshot || !_vm.agreeBox},on:{\"click\":_vm.restoreSnapshotToCurrentState}},[_vm._v(\" Restore \")]):_c('v-btn',{staticClass:\"mr-1\",attrs:{\"color\":\"error\",\"text\":\"\",\"loading\":_vm.restoring,\"disabled\":_vm.restoring || !_vm.selectedInstance.length || !_vm.agreeBox},on:{\"click\":_vm.overwriteCurrentState}},[_vm._v(\" overwrite \")])],1),_c('v-alert',{staticClass:\"mt-5\",attrs:{\"value\":_vm.error,\"color\":\"error\",\"prominent\":\"\",\"type\":\"error\",\"text\":\"\"}},[_c('div',{staticClass:\"d-flex flex-column\"},[_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(\"Snapshot Restoration Error\")]),_vm._v(\" An error has occurred and the snapshot could not be restored. Please try again later and if the problem persists contact support@alphacruncher.com \")])])],1)])],1)],1)\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!./TheSnapshotRestore.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!./TheSnapshotRestore.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TheSnapshotRestore.vue?vue&type=template&id=6affcc16&\"\nimport script from \"./TheSnapshotRestore.vue?vue&type=script&lang=js&\"\nexport * from \"./TheSnapshotRestore.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { attachedRoot } from '../../util/dom'\nimport { VNodeDirective } from 'vue/types/vnode'\nimport { VNode } from 'vue'\n\ninterface ClickOutsideBindingArgs {\n handler: (e: Event) => void\n closeConditional?: (e: Event) => boolean\n include?: () => HTMLElement[]\n}\n\ninterface ClickOutsideDirective extends VNodeDirective {\n value?: ((e: Event) => void) | ClickOutsideBindingArgs\n}\n\nfunction defaultConditional () {\n return true\n}\n\nfunction checkEvent (e: PointerEvent, el: HTMLElement, binding: ClickOutsideDirective): boolean {\n // The include element callbacks below can be expensive\n // so we should avoid calling them when we're not active.\n // Explicitly check for false to allow fallback compatibility\n // with non-toggleable components\n if (!e || checkIsActive(e, binding) === false) return false\n\n // If we're clicking inside the shadowroot, then the app root doesn't get the same\n // level of introspection as to _what_ we're clicking. We want to check to see if\n // our target is the shadowroot parent container, and if it is, ignore.\n const root = attachedRoot(el)\n if (\n typeof ShadowRoot !== 'undefined' &&\n root instanceof ShadowRoot &&\n root.host === e.target\n ) return false\n\n // Check if additional elements were passed to be included in check\n // (click must be outside all included elements, if any)\n const elements = ((typeof binding.value === 'object' && binding.value.include) || (() => []))()\n // Add the root element for the component this directive was defined on\n elements.push(el)\n\n // Check if it's a click outside our elements, and then if our callback returns true.\n // Non-toggleable components should take action in their callback and return falsy.\n // Toggleable can return true if it wants to deactivate.\n // Note that, because we're in the capture phase, this callback will occur before\n // the bubbling click event on any outside elements.\n return !elements.some(el => el.contains(e.target as Node))\n}\n\nfunction checkIsActive (e: PointerEvent, binding: ClickOutsideDirective): boolean | void {\n const isActive = (typeof binding.value === 'object' && binding.value.closeConditional) || defaultConditional\n\n return isActive(e)\n}\n\nfunction directive (e: PointerEvent, el: HTMLElement, binding: ClickOutsideDirective) {\n const handler = typeof binding.value === 'function' ? binding.value : binding.value!.handler\n\n el._clickOutside!.lastMousedownWasOutside && checkEvent(e, el, binding) && setTimeout(() => {\n checkIsActive(e, binding) && handler && handler(e)\n }, 0)\n}\n\nfunction handleShadow (el: HTMLElement, callback: Function): void {\n const root = attachedRoot(el)\n\n callback(document)\n\n if (typeof ShadowRoot !== 'undefined' && root instanceof ShadowRoot) {\n callback(root)\n }\n}\n\nexport const ClickOutside = {\n // [data-app] may not be found\n // if using bind, inserted makes\n // sure that the root element is\n // available, iOS does not support\n // clicks on body\n inserted (el: HTMLElement, binding: ClickOutsideDirective, vnode: VNode) {\n const onClick = (e: Event) => directive(e as PointerEvent, el, binding)\n const onMousedown = (e: Event) => {\n el._clickOutside!.lastMousedownWasOutside = checkEvent(e as PointerEvent, el, binding)\n }\n\n handleShadow(el, (app: HTMLElement) => {\n app.addEventListener('click', onClick, true)\n app.addEventListener('mousedown', onMousedown, true)\n })\n\n if (!el._clickOutside) {\n el._clickOutside = {\n lastMousedownWasOutside: true,\n }\n }\n\n el._clickOutside[vnode.context!._uid] = {\n onClick,\n onMousedown,\n }\n },\n\n unbind (el: HTMLElement, binding: ClickOutsideDirective, vnode: VNode) {\n if (!el._clickOutside) return\n\n handleShadow(el, (app: HTMLElement) => {\n if (!app || !el._clickOutside?.[vnode.context!._uid]) return\n\n const { onClick, onMousedown } = el._clickOutside[vnode.context!._uid]!\n\n app.removeEventListener('click', onClick, true)\n app.removeEventListener('mousedown', onMousedown, true)\n })\n\n delete el._clickOutside[vnode.context!._uid]\n },\n}\n\nexport default ClickOutside\n","import VBtn from './VBtn'\n\nexport { VBtn }\nexport default VBtn\n","import { VNodeDirective } from 'vue/types/vnode'\nimport { VNode } from 'vue'\n\ninterface ResizeVNodeDirective extends VNodeDirective {\n value?: () => void\n options?: boolean | AddEventListenerOptions\n}\n\nfunction inserted (el: HTMLElement, binding: ResizeVNodeDirective, vnode: VNode) {\n const callback = binding.value!\n const options = binding.options || { passive: true }\n\n window.addEventListener('resize', callback, options)\n\n el._onResize = Object(el._onResize)\n el._onResize![vnode.context!._uid] = {\n callback,\n options,\n }\n\n if (!binding.modifiers || !binding.modifiers.quiet) {\n callback()\n }\n}\n\nfunction unbind (el: HTMLElement, binding: ResizeVNodeDirective, vnode: VNode) {\n if (!el._onResize?.[vnode.context!._uid]) return\n\n const { callback, options } = el._onResize[vnode.context!._uid]!\n\n window.removeEventListener('resize', callback, options)\n\n delete el._onResize[vnode.context!._uid]\n}\n\nexport const Resize = {\n inserted,\n unbind,\n}\n\nexport default Resize\n","/**\n * Returns:\n * - 'null' if the node is not attached to the DOM\n * - the root node (HTMLDocument | ShadowRoot) otherwise\n */\nexport function attachedRoot (node: Node): null | HTMLDocument | ShadowRoot {\n /* istanbul ignore next */\n if (typeof node.getRootNode !== 'function') {\n // Shadow DOM not supported (IE11), lets find the root of this node\n while (node.parentNode) node = node.parentNode\n\n // The root parent is the document if the node is attached to the DOM\n if (node !== document) return null\n\n return document\n }\n\n const root = node.getRootNode()\n\n // The composed root node is the document if the node is attached to the DOM\n if (root !== document && root.getRootNode({ composed: true }) !== document) return null\n\n return root as HTMLDocument | ShadowRoot\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 } 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 Vue from 'vue'\n\n/* @vue/component */\nexport default Vue.extend({\n name: 'returnable',\n\n props: {\n returnValue: null as any,\n },\n\n data: () => ({\n isActive: false,\n originalValue: null as any,\n }),\n\n watch: {\n isActive (val) {\n if (val) {\n this.originalValue = this.returnValue\n } else {\n this.$emit('update:return-value', this.originalValue)\n }\n },\n },\n\n methods: {\n save (value: any) {\n this.originalValue = value\n setTimeout(() => {\n this.isActive = false\n })\n },\n },\n})\n","// Styles\nimport './VOverlay.sass'\n\n// Mixins\nimport Colorable from './../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\nimport Toggleable from './../../mixins/toggleable'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\n\n/* @vue/component */\nexport default mixins(\n Colorable,\n Themeable,\n Toggleable\n).extend({\n name: 'v-overlay',\n\n props: {\n absolute: Boolean,\n color: {\n type: String,\n default: '#212121',\n },\n dark: {\n type: Boolean,\n default: true,\n },\n opacity: {\n type: [Number, String],\n default: 0.46,\n },\n value: {\n default: true,\n },\n zIndex: {\n type: [Number, String],\n default: 5,\n },\n },\n\n computed: {\n __scrim (): VNode {\n const data = this.setBackgroundColor(this.color, {\n staticClass: 'v-overlay__scrim',\n style: {\n opacity: this.computedOpacity,\n },\n })\n\n return this.$createElement('div', data)\n },\n classes (): object {\n return {\n 'v-overlay--absolute': this.absolute,\n 'v-overlay--active': this.isActive,\n ...this.themeClasses,\n }\n },\n computedOpacity (): number {\n return Number(this.isActive ? this.opacity : 0)\n },\n styles (): object {\n return {\n zIndex: this.zIndex,\n }\n },\n },\n\n methods: {\n genContent () {\n return this.$createElement('div', {\n staticClass: 'v-overlay__content',\n }, this.$slots.default)\n },\n },\n\n render (h): VNode {\n const children = [this.__scrim]\n\n if (this.isActive) children.push(this.genContent())\n\n return h('div', {\n staticClass: 'v-overlay',\n on: this.$listeners,\n class: this.classes,\n style: this.styles,\n }, children)\n },\n})\n","import VOverlay from './VOverlay'\n\nexport { VOverlay }\n\nexport default VOverlay\n","// Components\nimport VOverlay from '../../components/VOverlay'\n\n// Utilities\nimport {\n keyCodes,\n addOnceEventListener,\n addPassiveEventListener,\n getZIndex,\n composedPath,\n} from '../../util/helpers'\n\n// Types\nimport Vue from 'vue'\n\ninterface Toggleable extends Vue {\n isActive?: boolean\n}\n\ninterface Stackable extends Vue {\n activeZIndex: number\n}\n\ninterface options {\n absolute?: boolean\n $refs: {\n dialog?: HTMLElement\n content?: HTMLElement\n }\n}\n\n/* @vue/component */\nexport default Vue.extend().extend({\n name: 'overlayable',\n\n props: {\n hideOverlay: Boolean,\n overlayColor: String,\n overlayOpacity: [Number, String],\n },\n\n data () {\n return {\n animationFrame: 0,\n overlay: null as InstanceType | null,\n }\n },\n\n watch: {\n hideOverlay (value) {\n if (!this.isActive) return\n\n if (value) this.removeOverlay()\n else this.genOverlay()\n },\n },\n\n beforeDestroy () {\n this.removeOverlay()\n },\n\n methods: {\n createOverlay () {\n const overlay = new VOverlay({\n propsData: {\n absolute: this.absolute,\n value: false,\n color: this.overlayColor,\n opacity: this.overlayOpacity,\n },\n })\n\n overlay.$mount()\n\n const parent = this.absolute\n ? this.$el.parentNode\n : document.querySelector('[data-app]')\n\n parent && parent.insertBefore(overlay.$el, parent.firstChild)\n\n this.overlay = overlay\n },\n genOverlay () {\n this.hideScroll()\n\n if (this.hideOverlay) return\n\n if (!this.overlay) this.createOverlay()\n\n this.animationFrame = requestAnimationFrame(() => {\n if (!this.overlay) return\n\n if (this.activeZIndex !== undefined) {\n this.overlay.zIndex = String(this.activeZIndex - 1)\n } else if (this.$el) {\n this.overlay.zIndex = getZIndex(this.$el)\n }\n\n this.overlay.value = true\n })\n\n return true\n },\n /** removeOverlay(false) will not restore the scollbar afterwards */\n removeOverlay (showScroll = true) {\n if (this.overlay) {\n addOnceEventListener(this.overlay.$el, 'transitionend', () => {\n if (\n !this.overlay ||\n !this.overlay.$el ||\n !this.overlay.$el.parentNode ||\n this.overlay.value ||\n this.isActive\n ) return\n\n this.overlay.$el.parentNode.removeChild(this.overlay.$el)\n this.overlay.$destroy()\n this.overlay = null\n })\n\n // Cancel animation frame in case\n // overlay is removed before it\n // has finished its animation\n cancelAnimationFrame(this.animationFrame)\n\n this.overlay.value = false\n }\n\n showScroll && this.showScroll()\n },\n scrollListener (e: WheelEvent | KeyboardEvent) {\n if ('key' in e) {\n if (\n ['INPUT', 'TEXTAREA', 'SELECT'].includes((e.target as Element).tagName) ||\n // https://github.com/vuetifyjs/vuetify/issues/4715\n (e.target as HTMLElement).isContentEditable\n ) return\n\n const up = [keyCodes.up, keyCodes.pageup]\n const down = [keyCodes.down, keyCodes.pagedown]\n\n if (up.includes(e.keyCode)) {\n (e as any).deltaY = -1\n } else if (down.includes(e.keyCode)) {\n (e as any).deltaY = 1\n } else {\n return\n }\n }\n\n if (e.target === this.overlay ||\n (e.type !== 'keydown' && e.target === document.body) ||\n this.checkPath(e as WheelEvent)) e.preventDefault()\n },\n hasScrollbar (el?: Element) {\n if (!el || el.nodeType !== Node.ELEMENT_NODE) return false\n\n const style = window.getComputedStyle(el)\n return ((['auto', 'scroll'].includes(style.overflowY!) || el.tagName === 'SELECT') && el.scrollHeight > el.clientHeight) ||\n ((['auto', 'scroll'].includes(style.overflowX!)) && el.scrollWidth > el.clientWidth)\n },\n shouldScroll (el: Element, e: WheelEvent): boolean {\n if (el.hasAttribute('data-app')) return false\n\n const dir = e.shiftKey || e.deltaX ? 'x' : 'y'\n const delta = dir === 'y' ? e.deltaY : e.deltaX || e.deltaY\n\n let alreadyAtStart: boolean\n let alreadyAtEnd: boolean\n if (dir === 'y') {\n alreadyAtStart = el.scrollTop === 0\n alreadyAtEnd = el.scrollTop + el.clientHeight === el.scrollHeight\n } else {\n alreadyAtStart = el.scrollLeft === 0\n alreadyAtEnd = el.scrollLeft + el.clientWidth === el.scrollWidth\n }\n\n const scrollingUp = delta < 0\n const scrollingDown = delta > 0\n\n if (!alreadyAtStart && scrollingUp) return true\n if (!alreadyAtEnd && scrollingDown) return true\n if ((alreadyAtStart || alreadyAtEnd)) {\n return this.shouldScroll(el.parentNode as Element, e)\n }\n\n return false\n },\n isInside (el: Element, parent: Element): boolean {\n if (el === parent) {\n return true\n } else if (el === null || el === document.body) {\n return false\n } else {\n return this.isInside(el.parentNode as Element, parent)\n }\n },\n checkPath (e: WheelEvent) {\n const path = composedPath(e)\n\n if (e.type === 'keydown' && path[0] === document.body) {\n const dialog = this.$refs.dialog\n // getSelection returns null in firefox in some edge cases, can be ignored\n const selected = window.getSelection()!.anchorNode as Element\n if (dialog && this.hasScrollbar(dialog) && this.isInside(selected, dialog)) {\n return !this.shouldScroll(dialog, e)\n }\n return true\n }\n\n for (let index = 0; index < path.length; index++) {\n const el = path[index]\n\n if (el === document) return true\n if (el === document.documentElement) return true\n if (el === this.$refs.content) return true\n\n if (this.hasScrollbar(el as Element)) return !this.shouldScroll(el as Element, e)\n }\n\n return true\n },\n hideScroll () {\n if (this.$vuetify.breakpoint.smAndDown) {\n document.documentElement!.classList.add('overflow-y-hidden')\n } else {\n addPassiveEventListener(window, 'wheel', this.scrollListener, { passive: false })\n window.addEventListener('keydown', this.scrollListener)\n }\n },\n showScroll () {\n document.documentElement!.classList.remove('overflow-y-hidden')\n window.removeEventListener('wheel', this.scrollListener)\n window.removeEventListener('keydown', this.scrollListener)\n },\n },\n})\n","import Vue from 'vue'\n\nexport default Vue.extend({\n name: 'transitionable',\n\n props: {\n mode: String,\n origin: String,\n transition: String,\n },\n})\n"],"sourceRoot":""}