{"version":3,"sources":["webpack:///../../../src/components/VDialog/VDialog.ts","webpack:///./src/pages/personGroups/index.vue","webpack:///src/pages/personGroups/index.vue","webpack:///./src/pages/personGroups/index.vue?a7d3","webpack:///./src/pages/personGroups/index.vue?5516","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","this","contentClass","trim","isActive","contentClasses","hasActivator","$slots","activator","$scopedSlots","watch","val","show","hideScroll","removeOverlay","unbind","_a","focus","showScroll","genOverlay","created","$attrs","hasOwnProperty","removed","beforeMount","$nextTick","isBooted","beforeDestroy","window","methods","animateClick","clearTimeout","setTimeout","closeConditional","e","target","_isDestroyed","$refs","content","contains","overlay","$el","activeZIndex","getMaxZIndex","document","documentElement","classList","add","options","call","hideOverlay","dialog","activeElement","_b","bind","addEventListener","onFocusin","removeEventListener","onClickOutside","$emit","onKeydown","keyCode","keyCodes","esc","getOpenDependents","length","getActivator","includes","getOpenDependentElements","some","el","focusable","querySelectorAll","find","hasAttribute","matches","genContent","showLazyContent","$createElement","VThemeProvider","root","class","attrs","role","undefined","getScopeIdAttrs","on","keydown","style","zIndex","ref","genTransition","genInnerContent","appear","tabindex","value","handler","include","transformOrigin","convertToUnit","getContentSlot","render","h","staticClass","attach","genActivator","_vm","pages","scopedSlots","_u","key","fn","_c","_v","item","persons","editPersonGroupModal","callback","deletePersonGroupDialog","$event","stopPropagation","model","editPersonGroupDialog","expression","rules","$set","userList","proxy","personGroupPersons","layout","APP_CONFIG","mainPanelLayout","components","Multiselect","page","pageCount","totalItems","isLoading","editLoading","deleteLoading","personGroup","personGroupsList","required","mapGetters","allUsers","hasUsersSucceeded","personGroups","headers","text","$t","isMobile","innerWidth","userListLoading","newVal","setUserList","immediate","loadData","mapActions","editPersonGroup","deletePersonGroup","getAllPersonGroups","showToast","map","user","fullName","personId","payload","pageIndex","pageSize","then","response","forEach","person","push","id","deletePersonGroupModal","editGroup","personIds","groupName","successMessage","color","deleteGroup","component","staticRenderFns","Colorable","Themeable","Toggleable","absolute","opacity","__scrim","setBackgroundColor","computedOpacity","themeClasses","styles","children","$listeners","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","dir","shiftKey","deltaX","delta","alreadyAtStart","alreadyAtEnd","scrollTop","scrollLeft","scrollingUp","scrollingDown","isInside","path","composedPath","selected","getSelection","anchorNode","index","$vuetify","breakpoint","smAndDown","addPassiveEventListener","passive","remove"],"mappings":"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","file":"js/page-personGroups-index.51ee04af.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","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"mt-3\"},[_c('page-title',{attrs:{\"title\":_vm.$t('pages.personGroups.personGroupsList')}},[_c('div',{staticClass:\"mb-3\"},[_c('v-btn',{staticClass:\"w-sm-100\",attrs:{\"to\":\"/personGroups/add\",\"color\":\"success\"}},[_c('v-icon',{staticClass:\"mr-2\",attrs:{\"small\":\"\"}},[_vm._v(\" mdi-plus \")]),_vm._v(\" \"+_vm._s(_vm.$t('pages.personGroups.add'))+\" \")],1)],1)]),_c('v-data-table',{staticClass:\"report-table\",attrs:{\"align-center\":\"\",\"headers\":_vm.headers,\"hide-default-header\":_vm.isMobile,\"options\":_vm.pages,\"items\":_vm.personGroupsList,\"loading\":_vm.isLoading,\"disable-sort\":\"\"},on:{\"update:options\":function($event){_vm.pages=$event}},scopedSlots:_vm._u([{key:\"item\",fn:function(props){return [_c('tr',[_c('td',{staticClass:\"data-min-td\"},[_vm._v(\" \"+_vm._s(props.item.groupName)+\" \")]),_c('td',{staticClass:\"data-min-td\"},[_c('div',{staticClass:\"group-persons\"},_vm._l((props.item.persons),function(person,index){return _c('span',{key:index},[_vm._v(\" \"+_vm._s(person.fullName)+\" \"),(index < (props.item.persons.length - 1))?_c('span',[_vm._v(\" - \")]):_vm._e()])}),0)]),_c('td',{staticClass:\"data-min-td\"},[_c('div',{staticClass:\"d-flex justify-around\"},[_c('v-btn',{staticClass:\"mr-2\",attrs:{\"small\":\"\",\"color\":\"primary\"},on:{\"click\":function($event){return _vm.editPersonGroupModal(props.item)}}},[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\" mdi-pen \")]),_vm._v(\" \"+_vm._s(_vm.$t('enums.tableActions.edit'))+\" \")],1),_c('v-btn',{staticClass:\"mr-2\",attrs:{\"small\":\"\",\"color\":\"error\"},on:{\"click\":function($event){return _vm.deletePersonGroupModal(props.item)}}},[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\" mdi-delete \")]),_vm._v(\" \"+_vm._s(_vm.$t('enums.tableActions.delete'))+\" \")],1)],1)])])]}}])}),_c('v-dialog',{attrs:{\"width\":\"700\"},model:{value:(_vm.deletePersonGroupDialog),callback:function ($$v) {_vm.deletePersonGroupDialog=$$v},expression:\"deletePersonGroupDialog\"}},[_c('v-card',{staticClass:\"px-3 pb-3\"},[_c('v-card-title',{staticClass:\"headline\"},[_vm._v(\" \"+_vm._s(_vm.$t('pages.personGroups.deletePersonGroupConfirmation.title'))+\" \")]),_c('v-card',{staticClass:\"border-box\",attrs:{\"outlined\":\"\"}},[_c('v-card',{staticClass:\"d-flex\",attrs:{\"flat\":\"\"}},[_c('v-layout',{staticClass:\"pa-2\",attrs:{\"justify-right\":\"\",\"align-center\":\"\"}},[_c('div',[_c('div',{staticClass:\"alert-circle\"},[_c('v-icon',{staticClass:\"orange--text text-h2\"},[_vm._v(\"mdi-alert\")])],1)]),_c('div',[_c('v-card-text',{staticClass:\"orange--text\",domProps:{\"innerHTML\":_vm._s(_vm.$t('confirms.deletePersonGroupConfirmation'))}})],1)])],1)],1),_c('v-row',{staticClass:\"mt-3\"},[_c('v-col',{staticClass:\"text-center\",attrs:{\"sm\":12}},[_c('v-btn',{staticClass:\"mr-3\",attrs:{\"color\":\"error\"},on:{\"click\":function($event){$event.stopPropagation();_vm.deletePersonGroupDialog = false}}},[_vm._v(\" \"+_vm._s(_vm.$t('enums.cancel'))+\" \")]),_c('v-btn',{staticClass:\"mr-3\",attrs:{\"loading\":_vm.deleteLoading,\"color\":\"success\"},on:{\"click\":_vm.deleteGroup}},[_vm._v(\" \"+_vm._s(_vm.$t('pages.personGroups.deletePersonGroupBtn'))+\" \")])],1)],1)],1)],1),_c('v-dialog',{attrs:{\"width\":\"700\",\"scrollable\":\"\"},model:{value:(_vm.editPersonGroupDialog),callback:function ($$v) {_vm.editPersonGroupDialog=$$v},expression:\"editPersonGroupDialog\"}},[_c('v-card',{staticClass:\"px-3 pb-3\",attrs:{\"height\":\"75vh\"}},[_c('v-card-title',{staticClass:\"headline\"},[_vm._v(\" \"+_vm._s(_vm.$t('pages.personGroups.editPersonGroup.title'))+\" \")]),_c('v-card-text',[_c('v-row',{staticClass:\"px-3 mb-3\"},[_c('v-col',{attrs:{\"sm\":11}},[_c('form-item',{attrs:{\"type\":\"textbox\",\"icon\":\"mdi-account-group\",\"label\":_vm.$t('enums.groupName'),\"rules\":[_vm.rules.required],\"placeholder\":_vm.$t('enums.placeholders.groupName')},model:{value:(_vm.personGroup.groupName),callback:function ($$v) {_vm.$set(_vm.personGroup, \"groupName\", $$v)},expression:\"personGroup.groupName\"}})],1),_c('v-col',{attrs:{\"sm\":11}},[_c('label',{staticClass:\"typo__label\"},[_c('v-icon',[_vm._v(\"mdi-account-group\")]),_vm._v(\" \"+_vm._s(_vm.$t('enums.personsList'))+\" \")],1),_c('multiselect',{attrs:{\"options\":_vm.userList,\"multiple\":true,\"close-on-select\":false,\"preserve-search\":true,\"placeholder\":_vm.$t('enums.placeholders.personsList'),\"select-label\":_vm.$t('multiselect.selectLabel'),\"selected-label\":_vm.$t('multiselect.selectedLabel'),\"deselect-label\":_vm.$t('multiselect.deselectLabel'),\"label\":\"text\",\"track-by\":\"text\",\"preselect-first\":true},scopedSlots:_vm._u([{key:\"noResult\",fn:function(){return [_vm._v(_vm._s(_vm.$t('multiselect.noResult')))]},proxy:true}]),model:{value:(_vm.personGroupPersons),callback:function ($$v) {_vm.personGroupPersons=$$v},expression:\"personGroupPersons\"}})],1),(_vm.userListLoading)?_c('v-col',{staticClass:\"d-flex align-self-center mt-5\",attrs:{\"sm\":1}},[_c('v-progress-circular',{attrs:{\"indeterminate\":\"\",\"color\":\"primary\",\"value\":20}})],1):_vm._e()],1)],1),_c('v-card-actions',[_c('v-row',{staticClass:\"mt-5\"},[_c('v-col',{staticClass:\"text-center\",attrs:{\"sm\":12}},[_c('v-btn',{attrs:{\"color\":\"error\"},on:{\"click\":function($event){_vm.editPersonGroupDialog = false}}},[_vm._v(\" \"+_vm._s(_vm.$t('enums.cancel'))+\" \")]),_c('v-btn',{staticClass:\"mr-3\",attrs:{\"color\":\"success\",\"loading\":_vm.editLoading},on:{\"click\":_vm.editGroup}},[_vm._v(\" \"+_vm._s(_vm.$t('pages.personGroups.editPersonGroupBtn'))+\" \")])],1)],1)],1)],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n{\n \"name\": \"personGroups\",\n \"meta\": {\n \"order\": 4,\n \"isVisible\": true,\n \"iconName\": \"mdi-account-group\",\n \"roles\": [\"Admin\"]\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!./index.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!./index.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=f03cef7c\"\nimport script from \"./index.vue?vue&type=script&lang=js\"\nexport * from \"./index.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 \"./index.vue?vue&type=custom&index=0&blockType=route\"\nif (typeof block0 === 'function') block0(component)\n\nexport default component.exports","// 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) && 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":""}