{"version":3,"sources":["webpack:///../../../src/components/VDialog/VDialog.ts","webpack:///../../../src/components/VToolbar/VToolbar.ts","webpack:///../../../src/components/VToolbar/index.ts","webpack:///./src/components/confirmation-dialog.vue","webpack:///src/components/confirmation-dialog.vue","webpack:///./src/components/confirmation-dialog.vue?3120","webpack:///./src/components/confirmation-dialog.vue?587f","webpack:///../../../src/components/VResponsive/VResponsive.ts","webpack:///../../../src/components/VResponsive/index.ts","webpack:///../../../src/components/VImg/VImg.ts","webpack:///../../../src/components/VOverlay/VOverlay.ts","webpack:///../../../src/components/VOverlay/index.ts","webpack:///../../../src/mixins/overlayable/index.ts"],"names":["baseMixins","mixins","Dependent","Detachable","Overlayable","Returnable","Stackable","Activatable","extend","name","directives","ClickOutside","props","dark","Boolean","disabled","fullscreen","light","maxWidth","String","Number","noClickAnimation","origin","type","default","persistent","retainFocus","scrollable","transition","width","data","activatedBy","animate","animateTimeout","stackMinZIndex","previousActiveElement","computed","classes","_defineProperty","concat","this","contentClass","trim","isActive","contentClasses","hasActivator","$slots","activator","$scopedSlots","watch","val","show","hideScroll","removeOverlay","unbind","_a","focus","showScroll","genOverlay","created","$attrs","hasOwnProperty","removed","beforeMount","_this","$nextTick","isBooted","beforeDestroy","window","methods","animateClick","_this2","clearTimeout","setTimeout","closeConditional","e","target","_isDestroyed","$refs","content","contains","overlay","$el","activeZIndex","getMaxZIndex","document","documentElement","classList","add","options","call","_this3","hideOverlay","dialog","activeElement","_b","bind","addEventListener","onFocusin","removeEventListener","onClickOutside","$emit","onKeydown","keyCode","keyCodes","esc","getOpenDependents","length","getActivator","includes","getOpenDependentElements","some","el","focusable","querySelectorAll","_toConsumableArray","find","hasAttribute","matches","genContent","_this4","showLazyContent","$createElement","VThemeProvider","root","class","attrs","_objectSpread","role","undefined","getScopeIdAttrs","on","keydown","style","zIndex","ref","genTransition","genInnerContent","appear","tabindex","value","handler","include","transformOrigin","convertToUnit","getContentSlot","render","h","staticClass","attach","genActivator","VSheet","absolute","bottom","collapse","dense","extended","extensionHeight","flat","floating","prominent","short","src","Object","tag","isExtended","computedHeight","height","computedContentHeight","parseInt","isCollapsed","isNaN","isProminent","$vuetify","breakpoint","smAndDown","styles","measurableStyles","breakingProps","forEach","_ref","_ref2","_slicedToArray","original","replacement","breaking","genBackground","image","img","VImg","getSlot","genExtension","extension","children","setBackgroundColor","color","$listeners","push","unshift","VToolbarTitle","createSimpleFunctional","model","_vm","expression","_c","rawName","domProps","message","nativeOn","cancel","_s","click","$event","staticRenderFns","resolve","reject","title","okText","okColor","cancelText","cancelColor","noconfirm","open","assign","Promise","agree","component","Measurable","aspectRatio","computedAspectRatio","aspectStyle","paddingBottom","__cachedSizer","VResponsive","hasIntersect","Themeable","intersect","alt","contain","eager","gradient","lazySrc","rootMargin","threshold","position","sizes","srcset","currentSrc","isLoading","calculatedAspectRatio","naturalWidth","hasError","normalisedSrc","aspect","_typeof","__cachedImage","backgroundImage","join","backgroundPosition","key","mode","loadImage","init","mounted","entries","observer","isIntersecting","lazyImg","Image","pollForSize","onLoad","getSrc","endsWith","startsWith","naturalHeight","onError","onload","decode","catch","err","consoleWarn","then","onerror","timeout","arguments","poll","complete","__genPlaceholder","slot","placeholder","node","mergeData","themeClasses","modifiers","once","Colorable","Toggleable","opacity","__scrim","computedOpacity","VOverlay","Vue","overlayColor","overlayOpacity","animationFrame","createOverlay","propsData","$mount","parent","parentNode","querySelector","insertBefore","firstChild","requestAnimationFrame","getZIndex","addOnceEventListener","removeChild","$destroy","cancelAnimationFrame","scrollListener","tagName","isContentEditable","up","pageup","down","pagedown","deltaY","body","checkPath","preventDefault","hasScrollbar","nodeType","Node","ELEMENT_NODE","getComputedStyle","overflowY","scrollHeight","clientHeight","overflowX","scrollWidth","clientWidth","shouldScroll","alreadyAtStart","alreadyAtEnd","dir","shiftKey","deltaX","delta","scrollTop","scrollLeft","scrollingUp","scrollingDown","isInside","path","composedPath","selected","getSelection","anchorNode","index","addPassiveEventListener","passive","remove"],"mappings":"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","file":"js/chunk-098e1c97.3a7f5eb7.js","sourcesContent":["// 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","// 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","// 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-dialog',{style:({ zIndex: _vm.options.zIndex }),attrs:{\"max-width\":_vm.options.width},on:{\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"]))return null;return _vm.cancel.apply(null, arguments)}},model:{value:(_vm.dialog),callback:function ($$v) {_vm.dialog=$$v},expression:\"dialog\"}},[_c('v-card',[_c('v-toolbar',{attrs:{\"dark\":\"\",\"color\":_vm.options.color,\"dense\":\"\",\"flat\":\"\"}},[_c('v-toolbar-title',{staticClass:\"text-body-2 font-weight-bold grey--text\"},[_vm._v(\"\\n \"+_vm._s(_vm.title)+\"\\n \")])],1),_c('v-card-text',{directives:[{name:\"show\",rawName:\"v-show\",value:(!!_vm.message),expression:\"!!message\"}],staticClass:\"pa-4 black--text\",domProps:{\"innerHTML\":_vm._s(_vm.message)}}),_c('v-card-actions',{staticClass:\"pt-3\"},[_c('v-spacer'),(!_vm.options.noconfirm)?_c('v-btn',{staticClass:\"body-2 font-weight-bold\",attrs:{\"color\":_vm.options.cancelColor},nativeOn:{\"click\":function($event){return _vm.cancel.apply(null, arguments)}}},[_vm._v(_vm._s(_vm.options.cancelText)+\"\\n \")]):_vm._e(),_c('v-btn',{staticClass:\"body-2 font-weight-bold\",attrs:{\"color\":_vm.options.okColor},nativeOn:{\"click\":function($event){return _vm.agree.apply(null, arguments)}}},[_vm._v(_vm._s(_vm.options.okText)+\"\\n \")])],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./confirmation-dialog.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./confirmation-dialog.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./confirmation-dialog.vue?vue&type=template&id=4e702821\"\nimport script from \"./confirmation-dialog.vue?vue&type=script&lang=js\"\nexport * from \"./confirmation-dialog.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 './VResponsive.sass'\n\n// Mixins\nimport Measurable, { NumberOrNumberString } from '../../mixins/measurable'\n\n// Types\nimport { VNode } from 'vue'\n\n// Utils\nimport mixins from '../../util/mixins'\nimport { getSlot } from '../../util/helpers'\n\n/* @vue/component */\nexport default mixins(Measurable).extend({\n name: 'v-responsive',\n\n props: {\n aspectRatio: [String, Number] as NumberOrNumberString,\n contentClass: String,\n },\n\n computed: {\n computedAspectRatio (): number {\n return Number(this.aspectRatio)\n },\n aspectStyle (): object | undefined {\n return this.computedAspectRatio\n ? { paddingBottom: (1 / this.computedAspectRatio) * 100 + '%' }\n : undefined\n },\n __cachedSizer (): VNode | [] {\n if (!this.aspectStyle) return []\n\n return this.$createElement('div', {\n style: this.aspectStyle,\n staticClass: 'v-responsive__sizer',\n })\n },\n },\n\n methods: {\n genContent (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-responsive__content',\n class: this.contentClass,\n }, getSlot(this))\n },\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-responsive',\n style: this.measurableStyles,\n on: this.$listeners,\n }, [\n this.__cachedSizer,\n this.genContent(),\n ])\n },\n})\n","import VResponsive from './VResponsive'\n\nexport { VResponsive }\nexport default VResponsive\n","// Styles\nimport './VImg.sass'\n\n// Directives\nimport intersect from '../../directives/intersect'\n\n// Types\nimport { VNode } from 'vue'\nimport { PropValidator } from 'vue/types/options'\n\n// Components\nimport VResponsive from '../VResponsive'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\n\n// Utils\nimport mixins from '../../util/mixins'\nimport mergeData from '../../util/mergeData'\nimport { consoleWarn } from '../../util/console'\nimport { getSlot } from '../../util/helpers'\n\n// not intended for public use, this is passed in by vuetify-loader\nexport interface srcObject {\n src: string\n srcset?: string\n lazySrc: string\n aspect: number\n}\n\nconst hasIntersect = typeof window !== 'undefined' && 'IntersectionObserver' in window\n\n/* @vue/component */\nexport default mixins(\n VResponsive,\n Themeable,\n).extend({\n name: 'v-img',\n\n directives: { intersect },\n\n props: {\n alt: String,\n contain: Boolean,\n eager: Boolean,\n gradient: String,\n lazySrc: String,\n options: {\n type: Object,\n // For more information on types, navigate to:\n // https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API\n default: () => ({\n root: undefined,\n rootMargin: undefined,\n threshold: undefined,\n }),\n } as PropValidator,\n position: {\n type: String,\n default: 'center center',\n },\n sizes: String,\n src: {\n type: [String, Object],\n default: '',\n } as PropValidator,\n srcset: String,\n transition: {\n type: [Boolean, String],\n default: 'fade-transition',\n },\n },\n\n data () {\n return {\n currentSrc: '', // Set from srcset\n image: null as HTMLImageElement | null,\n isLoading: true,\n calculatedAspectRatio: undefined as number | undefined,\n naturalWidth: undefined as number | undefined,\n hasError: false,\n }\n },\n\n computed: {\n computedAspectRatio (): number {\n return Number(this.normalisedSrc.aspect || this.calculatedAspectRatio)\n },\n normalisedSrc (): srcObject {\n return this.src && typeof this.src === 'object'\n ? {\n src: this.src.src,\n srcset: this.srcset || this.src.srcset,\n lazySrc: this.lazySrc || this.src.lazySrc,\n aspect: Number(this.aspectRatio || this.src.aspect),\n } : {\n src: this.src,\n srcset: this.srcset,\n lazySrc: this.lazySrc,\n aspect: Number(this.aspectRatio || 0),\n }\n },\n __cachedImage (): VNode | [] {\n if (!(this.normalisedSrc.src || this.normalisedSrc.lazySrc || this.gradient)) return []\n\n const backgroundImage: string[] = []\n const src = this.isLoading ? this.normalisedSrc.lazySrc : this.currentSrc\n\n if (this.gradient) backgroundImage.push(`linear-gradient(${this.gradient})`)\n if (src) backgroundImage.push(`url(\"${src}\")`)\n\n const image = this.$createElement('div', {\n staticClass: 'v-image__image',\n class: {\n 'v-image__image--preload': this.isLoading,\n 'v-image__image--contain': this.contain,\n 'v-image__image--cover': !this.contain,\n },\n style: {\n backgroundImage: backgroundImage.join(', '),\n backgroundPosition: this.position,\n },\n key: +this.isLoading,\n })\n\n /* istanbul ignore if */\n if (!this.transition) return image\n\n return this.$createElement('transition', {\n attrs: {\n name: this.transition,\n mode: 'in-out',\n },\n }, [image])\n },\n },\n\n watch: {\n src () {\n // Force re-init when src changes\n if (!this.isLoading) this.init(undefined, undefined, true)\n else this.loadImage()\n },\n '$vuetify.breakpoint.width': 'getSrc',\n },\n\n mounted () {\n this.init()\n },\n\n methods: {\n init (\n entries?: IntersectionObserverEntry[],\n observer?: IntersectionObserver,\n isIntersecting?: boolean\n ) {\n // If the current browser supports the intersection\n // observer api, the image is not observable, and\n // the eager prop isn't being used, do not load\n if (\n hasIntersect &&\n !isIntersecting &&\n !this.eager\n ) return\n\n if (this.normalisedSrc.lazySrc) {\n const lazyImg = new Image()\n lazyImg.src = this.normalisedSrc.lazySrc\n this.pollForSize(lazyImg, null)\n }\n /* istanbul ignore else */\n if (this.normalisedSrc.src) this.loadImage()\n },\n onLoad () {\n this.getSrc()\n this.isLoading = false\n this.$emit('load', this.src)\n\n if (\n this.image &&\n (this.normalisedSrc.src.endsWith('.svg') || this.normalisedSrc.src.startsWith('data:image/svg+xml'))\n ) {\n if (this.image.naturalHeight && this.image.naturalWidth) {\n this.naturalWidth = this.image.naturalWidth\n this.calculatedAspectRatio = this.image.naturalWidth / this.image.naturalHeight\n } else {\n this.calculatedAspectRatio = 1\n }\n }\n },\n onError () {\n this.hasError = true\n this.$emit('error', this.src)\n },\n getSrc () {\n /* istanbul ignore else */\n if (this.image) this.currentSrc = this.image.currentSrc || this.image.src\n },\n loadImage () {\n const image = new Image()\n this.image = image\n\n image.onload = () => {\n /* istanbul ignore if */\n if (image.decode) {\n image.decode().catch((err: DOMException) => {\n consoleWarn(\n `Failed to decode image, trying to render anyway\\n\\n` +\n `src: ${this.normalisedSrc.src}` +\n (err.message ? `\\nOriginal error: ${err.message}` : ''),\n this\n )\n }).then(this.onLoad)\n } else {\n this.onLoad()\n }\n }\n image.onerror = this.onError\n\n this.hasError = false\n this.sizes && (image.sizes = this.sizes)\n this.normalisedSrc.srcset && (image.srcset = this.normalisedSrc.srcset)\n image.src = this.normalisedSrc.src\n this.$emit('loadstart', this.normalisedSrc.src)\n\n this.aspectRatio || this.pollForSize(image)\n this.getSrc()\n },\n pollForSize (img: HTMLImageElement, timeout: number | null = 100) {\n const poll = () => {\n const { naturalHeight, naturalWidth } = img\n\n if (naturalHeight || naturalWidth) {\n this.naturalWidth = naturalWidth\n this.calculatedAspectRatio = naturalWidth / naturalHeight\n } else if (!img.complete && this.isLoading && !this.hasError && timeout != null) {\n setTimeout(poll, timeout)\n }\n }\n\n poll()\n },\n genContent () {\n const content: VNode = VResponsive.options.methods.genContent.call(this)\n if (this.naturalWidth) {\n this._b(content.data!, 'div', {\n style: { width: `${this.naturalWidth}px` },\n })\n }\n\n return content\n },\n __genPlaceholder (): VNode | void {\n const slot = getSlot(this, 'placeholder')\n if (slot) {\n const placeholder = this.isLoading\n ? [this.$createElement('div', {\n staticClass: 'v-image__placeholder',\n }, slot)]\n : []\n\n if (!this.transition) return placeholder[0]\n\n return this.$createElement('transition', {\n props: {\n appear: true,\n name: this.transition,\n },\n }, placeholder)\n }\n },\n },\n\n render (h): VNode {\n const node = VResponsive.options.render.call(this, h)\n\n const data = mergeData(node.data!, {\n staticClass: 'v-image',\n attrs: {\n 'aria-label': this.alt,\n role: this.alt ? 'img' : undefined,\n },\n class: this.themeClasses,\n // Only load intersect directive if it\n // will work in the current browser.\n directives: hasIntersect\n ? [{\n name: 'intersect',\n modifiers: { once: true },\n value: {\n handler: this.init,\n options: this.options,\n },\n }]\n : undefined,\n })\n\n node.children = [\n this.__cachedSizer,\n this.__cachedImage,\n this.__genPlaceholder(),\n this.genContent(),\n ] as VNode[]\n\n return h(node.tag, data, node.children)\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'\nimport { getSlot } from '../../util/helpers'\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 }, getSlot(this))\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) && el.parentNode) {\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"],"sourceRoot":""}