{"version":3,"sources":["webpack:///../../../src/components/VDialog/VDialog.ts","webpack:///./src/pages/confirmModal.vue?6d8d","webpack:///src/pages/confirmModal.vue","webpack:///./src/pages/confirmModal.vue?57dd","webpack:///./src/pages/confirmModal.vue","webpack:///../../../src/components/VOverlay/VOverlay.ts","webpack:///../../../src/components/VOverlay/index.ts","webpack:///../../../src/mixins/overlayable/index.ts"],"names":["baseMixins","name","directives","ClickOutside","props","dark","disabled","fullscreen","light","maxWidth","String","noClickAnimation","origin","type","default","persistent","retainFocus","scrollable","transition","width","Number","data","activatedBy","animate","animateTimeout","stackMinZIndex","previousActiveElement","computed","classes","this","contentClasses","isActive","hasActivator","Boolean","$slots","$scopedSlots","watch","created","$attrs","hasOwnProperty","beforeMount","beforeDestroy","window","unbind","methods","animateClick","closeConditional","target","e","_isDestroyed","$refs","content","contains","overlay","$el","activeZIndex","hideScroll","document","show","bind","onClickOutside","onKeydown","getOpenDependents","activator","onFocusin","getOpenDependentElements","some","el","focusable","querySelectorAll","genContent","showLazyContent","root","class","attrs","role","tabindex","on","keydown","style","zIndex","ref","genTransition","$createElement","appear","genInnerContent","value","handler","include","transformOrigin","render","h","staticClass","attach","_vm","_h","_c","_self","$t","$event","toggleModal","_v","_s","model","callback","$$v","isModalVisible","expression","staticRenderFns","layout","APP_CONFIG","mainPanelLayout","component","VBtn","VDialog","mixins","absolute","color","opacity","__scrim","setBackgroundColor","computedOpacity","themeClasses","styles","children","hideOverlay","overlayColor","overlayOpacity","animationFrame","genOverlay","createOverlay","propsData","parent","requestAnimationFrame","removeOverlay","showScroll","cancelAnimationFrame","scrollListener","includes","up","down","checkPath","hasScrollbar","Node","shouldScroll","dir","delta","alreadyAtStart","alreadyAtEnd","scrollingUp","scrollingDown","isInside","path","dialog","selected","index","$vuetify","breakpoint","passive"],"mappings":"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","file":"js/page-confirmModal.40eac619.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.content.contains(document.activeElement)) {\n this.previousActiveElement = document.activeElement as HTMLElement\n this.$refs.content.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 // It isn't the document or the dialog body\n ![document, this.$refs.content].includes(target) &&\n // It isn't inside the dialog body\n !this.$refs.content.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.content.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])')\n const el = [...focusable].find(el => !el.hasAttribute('disabled')) 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 tabindex: this.isActive ? 0 : undefined,\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 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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('page-title',{attrs:{\"title\":_vm.$t('pages.confirmModal.title')}}),_c('v-btn',{staticClass:\"primary--text text-caption\",attrs:{\"text\":\"\"},on:{\"click\":function($event){return _vm.toggleModal()}}},[_vm._v(\" \"+_vm._s(_vm.$t('pages.confirmModal.showModal'))+\" \")]),_c('v-dialog',{attrs:{\"max-width\":\"780px\"},model:{value:(_vm.isModalVisible),callback:function ($$v) {_vm.isModalVisible=$$v},expression:\"isModalVisible\"}},[_c('confirm-box',{attrs:{\"confirm-title\":_vm.$t('pages.confirmModal.confirmTitle'),\"confirm-message\":_vm.$t('pages.confirmModal.confirmMessage'),\"confirm-message-icon\":\"mdi-alert\",\"confirm-button-text\":_vm.$t('pages.confirmModal.confirm'),\"cancel-button-text\":_vm.$t('pages.confirmModal.cancel')},on:{\"confirm\":function($event){return _vm.toggleModal()},\"cancel\":function($event){_vm.isModalVisible = false}}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n{\n \"name\": \"confirmModal\",\n \"meta\": {\n \"order\": 20,\n \"isVisible\": false,\n \"iconName\": \"mdi-arrow-left\"\n }\n}\n\n\n \n
\n
\n {{ $t('pages.confirmModal.showModal') }}\n \n
\n \n \n
\n\n\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!./confirmModal.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!./confirmModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./confirmModal.vue?vue&type=template&id=12fdb281&\"\nimport script from \"./confirmModal.vue?vue&type=script&lang=js&\"\nexport * from \"./confirmModal.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\n/* custom blocks */\nimport block0 from \"./confirmModal.vue?vue&type=custom&index=0&blockType=route\"\nif (typeof block0 === 'function') block0(component)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\ninstallComponents(component, {VBtn,VDialog})\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 (e.type === 'keydown') {\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)) 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 as EventHandlerNonNull, { passive: false })\n window.addEventListener('keydown', this.scrollListener as EventHandlerNonNull)\n }\n },\n showScroll () {\n document.documentElement!.classList.remove('overflow-y-hidden')\n window.removeEventListener('wheel', this.scrollListener as EventHandlerNonNull)\n window.removeEventListener('keydown', this.scrollListener as EventHandlerNonNull)\n },\n },\n})\n"],"sourceRoot":""}