{"version":3,"sources":["webpack:///../../../src/components/VExpansionPanel/VExpansionPanels.ts","webpack:///../../../src/components/VDialog/VDialog.ts","webpack:///../../../src/components/VExpansionPanel/VExpansionPanelContent.ts","webpack:///./src/modules/snapshot/components/TheSnapshotAssignmentSubmitDialog.vue","webpack:///src/modules/snapshot/components/TheSnapshotAssignmentSubmitDialog.vue","webpack:///./src/modules/snapshot/components/TheSnapshotAssignmentSubmitDialog.vue?a78f","webpack:///./src/modules/snapshot/components/TheSnapshotAssignmentSubmitDialog.vue?386e","webpack:///../../../src/components/VExpansionPanel/VExpansionPanelHeader.ts","webpack:///../../../src/components/VExpansionPanel/VExpansionPanel.ts","webpack:///../../../src/components/VOverlay/VOverlay.ts","webpack:///../../../src/components/VOverlay/index.ts","webpack:///../../../src/mixins/overlayable/index.ts"],"names":["BaseItemGroup","extend","name","provide","expansionPanels","this","props","accordion","Boolean","disabled","flat","hover","focusable","inset","popout","readonly","tile","computed","classes","options","call","created","$attrs","hasOwnProperty","breaking","Array","isArray","value","length","methods","updateItem","item","index","getValue","nextValue","isActive","toggleMethod","nextIsActive","baseMixins","mixins","Dependent","Detachable","Overlayable","Returnable","Stackable","Activatable","directives","ClickOutside","dark","fullscreen","light","maxWidth","String","Number","noClickAnimation","origin","type","default","persistent","retainFocus","scrollable","transition","width","data","activatedBy","animate","animateTimeout","stackMinZIndex","previousActiveElement","contentClass","trim","contentClasses","hasActivator","$slots","activator","$scopedSlots","watch","val","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","getActivator","includes","getOpenDependentElements","some","el","querySelectorAll","find","hasAttribute","matches","genContent","showLazyContent","$createElement","VThemeProvider","root","class","attrs","role","undefined","getScopeIdAttrs","on","keydown","style","zIndex","ref","genTransition","genInnerContent","appear","tabindex","handler","include","transformOrigin","convertToUnit","getContentSlot","render","h","staticClass","attach","genActivator","Bootable","Colorable","RegistrableInject","parentIsActive","expansionPanel","immediate","oldVal","registerContent","unregisterContent","VExpandTransition","setBackgroundColor","color","getSlot","submitDialog","expression","_c","_vm","bundleData","_v","staticStyle","model","callback","handinIdentifier","staticRenderFns","assignmentShortId","currentInstance","mounted","assignmentLoading","component","ripple","disableIconRotate","expandIcon","hideActions","Object","hasMousedown","isDisabled","isReadonly","registerHeader","unregisterHeader","onClick","genIcon","icon","VIcon","VFadeTransition","$listeners","click","mousedown","mouseup","open","GroupableFactory","RegistrableProvide","header","groupClasses","vm","$on","detail","blur","toggle","Themeable","Toggleable","absolute","opacity","__scrim","computedOpacity","themeClasses","styles","children","push","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","$vuetify","breakpoint","smAndDown","addPassiveEventListener","passive","remove"],"mappings":"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","file":"static/js/chunk-f070cd1e.44c9a7e1.js","sourcesContent":["// Styles\nimport './VExpansionPanel.sass'\n\n// Components\nimport { BaseItemGroup, GroupableInstance } from '../VItemGroup/VItemGroup'\nimport VExpansionPanel from './VExpansionPanel'\n\n// Utilities\nimport { breaking } from '../../util/console'\n\n// Types\ninterface VExpansionPanelInstance extends InstanceType {}\n\n/* @vue/component */\nexport default BaseItemGroup.extend({\n name: 'v-expansion-panels',\n\n provide (): object {\n return {\n expansionPanels: this,\n }\n },\n\n props: {\n accordion: Boolean,\n disabled: Boolean,\n flat: Boolean,\n hover: Boolean,\n focusable: Boolean,\n inset: Boolean,\n popout: Boolean,\n readonly: Boolean,\n tile: Boolean,\n },\n\n computed: {\n classes (): object {\n return {\n ...BaseItemGroup.options.computed.classes.call(this),\n 'v-expansion-panels': true,\n 'v-expansion-panels--accordion': this.accordion,\n 'v-expansion-panels--flat': this.flat,\n 'v-expansion-panels--hover': this.hover,\n 'v-expansion-panels--focusable': this.focusable,\n 'v-expansion-panels--inset': this.inset,\n 'v-expansion-panels--popout': this.popout,\n 'v-expansion-panels--tile': this.tile,\n }\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('expand')) {\n breaking('expand', 'multiple', this)\n }\n\n /* istanbul ignore next */\n if (\n Array.isArray(this.value) &&\n this.value.length > 0 &&\n typeof this.value[0] === 'boolean'\n ) {\n breaking(':value=\"[true, false, true]\"', ':value=\"[0, 2]\"', this)\n }\n },\n\n methods: {\n updateItem (item: GroupableInstance & VExpansionPanelInstance, index: number) {\n const value = this.getValue(item, index)\n const nextValue = this.getValue(item, index + 1)\n\n item.isActive = this.toggleMethod(value)\n item.nextIsActive = this.toggleMethod(nextValue)\n },\n },\n})\n","// 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","// Components\nimport VExpansionPanel from './VExpansionPanel'\nimport { VExpandTransition } from '../transitions'\n\n// Mixins\nimport Bootable from '../../mixins/bootable'\nimport Colorable from '../../mixins/colorable'\nimport { inject as RegistrableInject } from '../../mixins/registrable'\n\n// Utilities\nimport { getSlot } from '../../util/helpers'\nimport mixins, { ExtractVue } from '../../util/mixins'\n\n// Types\nimport Vue, { VNode, VueConstructor } from 'vue'\n\nconst baseMixins = mixins(\n Bootable,\n Colorable,\n RegistrableInject<'expansionPanel', VueConstructor>('expansionPanel', 'v-expansion-panel-content', 'v-expansion-panel')\n)\n\ninterface options extends ExtractVue {\n expansionPanel: InstanceType\n}\n\n/* @vue/component */\nexport default baseMixins.extend().extend({\n name: 'v-expansion-panel-content',\n\n data: () => ({\n isActive: false,\n }),\n\n computed: {\n parentIsActive (): boolean {\n return this.expansionPanel.isActive\n },\n },\n\n watch: {\n parentIsActive: {\n immediate: true,\n handler (val, oldVal) {\n if (val) this.isBooted = true\n\n if (oldVal == null) this.isActive = val\n else this.$nextTick(() => this.isActive = val)\n },\n },\n },\n\n created () {\n this.expansionPanel.registerContent(this)\n },\n\n beforeDestroy () {\n this.expansionPanel.unregisterContent()\n },\n\n render (h): VNode {\n return h(VExpandTransition, this.showLazyContent(() => [\n h('div', this.setBackgroundColor(this.color, {\n staticClass: 'v-expansion-panel-content',\n directives: [{\n name: 'show',\n value: this.isActive,\n }],\n }), [\n h('div', { class: 'v-expansion-panel-content__wrap' }, getSlot(this)),\n ]),\n ]))\n },\n})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-dialog',{attrs:{\"persistent\":_vm.assignmentLoading,\"max-width\":\"700\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('v-btn',_vm._g({attrs:{\"color\":\"primary\"}},on),[_vm._v(\"Hand-in\")])]}}]),model:{value:(_vm.submitDialog),callback:function ($$v) {_vm.submitDialog=$$v},expression:\"submitDialog\"}},[_c('v-card',{attrs:{\"flat\":\"\"}},[_c('v-card-title',[_c('div',{staticClass:\"d-flex align-center w-100\"},[_c('span',{staticClass:\"text-uppercase secondary--text ml-1\"},[_vm._v(_vm._s(_vm.bundleData.long_id))]),_c('v-spacer')],1)]),_c('v-divider'),_c('v-card-text',[_c('div',{staticClass:\"d-flex flex-column mt-3\"},[_c('v-alert',{attrs:{\"type\":\"info\",\"outlined\":\"\"}},[_vm._v(\" The content of the following files / folders will be handed in, please make sure they exist otherwise hand-in will not succeed! \"),_c('v-expansion-panels',{staticClass:\"w-100\",attrs:{\"value\":[0],\"flat\":\"\",\"multiple\":\"\"}},[_c('v-expansion-panel',[_c('v-expansion-panel-header',{staticClass:\"px-0\"},[_c('span',{staticClass:\"secondary--text font-weight-bold\"},[_vm._v(\"Files (\"+_vm._s(_vm.bundleData.objects.files.length)+\")\")])]),_c('v-expansion-panel-content',[_c('v-list',{staticClass:\"pa-0\",attrs:{\"dense\":\"\"}},[_c('v-list-item-group',{staticClass:\"pa-0 ma-0\",attrs:{\"color\":\"secondary\"}},_vm._l((_vm.bundleData.objects.files),function(file){return _c('v-list-item',{key:file,staticClass:\"pa-0\",staticStyle:{\"max-height\":\"5px\"}},[_c('v-list-item-avatar',[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"mdi-file-outline\")])],1),_c('v-list-item-content',[_c('v-list-item-title',{staticClass:\"subtitle-2\"},[_vm._v(_vm._s(file.slice(6)))])],1)],1)}),1)],1)],1)],1)],1)],1),_c('span',{staticClass:\"subtitle-2\"},[_vm._v(\" Please provide a hand-in identifier (e.g. exam code, email address, etc..) that is in line with your course policy and allows the instructor to match your work with your identifier. If unsure, please discuss the appropriate identifier with your instructor. \")]),_c('v-text-field',{staticClass:\"mt-3\",attrs:{\"autofocus\":\"\",\"label\":\"Hand-in identifier\",\"outlined\":\"\"},model:{value:(_vm.handinIdentifier),callback:function ($$v) {_vm.handinIdentifier=$$v},expression:\"handinIdentifier\"}})],1)]),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{attrs:{\"disabled\":!_vm.handinIdentifier,\"loading\":_vm.assignmentLoading,\"color\":\"primary\",\"text\":\"\"},on:{\"click\":function($event){return _vm.submitAssignment(_vm.handinIdentifier, _vm.assignmentShortId, _vm.bundleData.bid)}}},[_vm._v(\" Hand-in \")]),_c('v-btn',{attrs:{\"disabled\":_vm.assignmentLoading,\"color\":\"secondary\",\"text\":\"\"},on:{\"click\":function($event){_vm.submitDialog = false}}},[_vm._v(\"Close\")])],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!./TheSnapshotAssignmentSubmitDialog.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!./TheSnapshotAssignmentSubmitDialog.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TheSnapshotAssignmentSubmitDialog.vue?vue&type=template&id=dca69798&\"\nimport script from \"./TheSnapshotAssignmentSubmitDialog.vue?vue&type=script&lang=js&\"\nexport * from \"./TheSnapshotAssignmentSubmitDialog.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","// Components\nimport { VFadeTransition } from '../transitions'\nimport VExpansionPanel from './VExpansionPanel'\nimport VIcon from '../VIcon'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport { inject as RegistrableInject } from '../../mixins/registrable'\n\n// Directives\nimport ripple from '../../directives/ripple'\n\n// Utilities\nimport { getSlot } from '../../util/helpers'\nimport mixins, { ExtractVue } from '../../util/mixins'\n\n// Types\nimport Vue, { VNode, VueConstructor } from 'vue'\n\nconst baseMixins = mixins(\n Colorable,\n RegistrableInject<'expansionPanel', VueConstructor>('expansionPanel', 'v-expansion-panel-header', 'v-expansion-panel')\n)\n\ninterface options extends ExtractVue {\n $el: HTMLElement\n expansionPanel: InstanceType\n}\n\nexport default baseMixins.extend().extend({\n name: 'v-expansion-panel-header',\n\n directives: { ripple },\n\n props: {\n disableIconRotate: Boolean,\n expandIcon: {\n type: String,\n default: '$expand',\n },\n hideActions: Boolean,\n ripple: {\n type: [Boolean, Object],\n default: false,\n },\n },\n\n data: () => ({\n hasMousedown: false,\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-expansion-panel-header--active': this.isActive,\n 'v-expansion-panel-header--mousedown': this.hasMousedown,\n }\n },\n isActive (): boolean {\n return this.expansionPanel.isActive\n },\n isDisabled (): boolean {\n return this.expansionPanel.isDisabled\n },\n isReadonly (): boolean {\n return this.expansionPanel.isReadonly\n },\n },\n\n created () {\n this.expansionPanel.registerHeader(this)\n },\n\n beforeDestroy () {\n this.expansionPanel.unregisterHeader()\n },\n\n methods: {\n onClick (e: MouseEvent) {\n this.$emit('click', e)\n },\n genIcon () {\n const icon = getSlot(this, 'actions') ||\n [this.$createElement(VIcon, this.expandIcon)]\n\n return this.$createElement(VFadeTransition, [\n this.$createElement('div', {\n staticClass: 'v-expansion-panel-header__icon',\n class: {\n 'v-expansion-panel-header__icon--disable-rotate': this.disableIconRotate,\n },\n directives: [{\n name: 'show',\n value: !this.isDisabled,\n }],\n }, icon),\n ])\n },\n },\n\n render (h): VNode {\n return h('button', this.setBackgroundColor(this.color, {\n staticClass: 'v-expansion-panel-header',\n class: this.classes,\n attrs: {\n tabindex: this.isDisabled ? -1 : null,\n type: 'button',\n 'aria-expanded': this.isActive,\n },\n directives: [{\n name: 'ripple',\n value: this.ripple,\n }],\n on: {\n ...this.$listeners,\n click: this.onClick,\n mousedown: () => (this.hasMousedown = true),\n mouseup: () => (this.hasMousedown = false),\n },\n }), [\n getSlot(this, 'default', { open: this.isActive }, true),\n this.hideActions || this.genIcon(),\n ])\n },\n})\n","// Components\nimport VExpansionPanels from './VExpansionPanels'\nimport VExpansionPanelHeader from './VExpansionPanelHeader'\nimport VExpansionPanelContent from './VExpansionPanelContent'\n\n// Mixins\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport { provide as RegistrableProvide } from '../../mixins/registrable'\n\n// Utilities\nimport { getSlot } from '../../util/helpers'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\n\ntype VExpansionPanelHeaderInstance = InstanceType\ntype VExpansionPanelContentInstance = InstanceType\n\nexport default mixins(\n GroupableFactory<'expansionPanels', typeof VExpansionPanels>('expansionPanels', 'v-expansion-panel', 'v-expansion-panels'),\n RegistrableProvide('expansionPanel', true)\n /* @vue/component */\n).extend({\n name: 'v-expansion-panel',\n\n props: {\n disabled: Boolean,\n readonly: Boolean,\n },\n\n data () {\n return {\n content: null as VExpansionPanelContentInstance | null,\n header: null as VExpansionPanelHeaderInstance | null,\n nextIsActive: false,\n }\n },\n\n computed: {\n classes (): object {\n return {\n 'v-expansion-panel--active': this.isActive,\n 'v-expansion-panel--next-active': this.nextIsActive,\n 'v-expansion-panel--disabled': this.isDisabled,\n ...this.groupClasses,\n }\n },\n isDisabled (): boolean {\n return this.expansionPanels.disabled || this.disabled\n },\n isReadonly (): boolean {\n return this.expansionPanels.readonly || this.readonly\n },\n },\n\n methods: {\n registerContent (vm: VExpansionPanelContentInstance) {\n this.content = vm\n },\n unregisterContent () {\n this.content = null\n },\n registerHeader (vm: VExpansionPanelHeaderInstance) {\n this.header = vm\n vm.$on('click', this.onClick)\n },\n unregisterHeader () {\n this.header = null\n },\n onClick (e: MouseEvent) {\n if (e.detail) this.header!.$el.blur()\n\n this.$emit('click', e)\n\n this.isReadonly || this.isDisabled || this.toggle()\n },\n toggle () {\n this.$nextTick(() => this.$emit('change'))\n },\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-expansion-panel',\n class: this.classes,\n attrs: {\n 'aria-expanded': String(this.isActive),\n },\n }, getSlot(this))\n },\n})\n","// 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"],"sourceRoot":""}