{"version":3,"sources":["webpack:///../../../src/components/VSnackbar/VSnackbar.ts","webpack:///./node_modules/core-js/modules/es.array.flat-map.js","webpack:///./node_modules/core-js/modules/es.array.unscopables.flat-map.js","webpack:///../../../src/components/VApp/VApp.ts","webpack:///../../../src/directives/touch/index.ts","webpack:///./src/templates/Dashboard.vue?1906","webpack:///./src/components/navigation/Menu.vue?9343","webpack:///./src/components/navigation/menuItems.ts","webpack:///./src/components/navigation/Menu.vue?67fd","webpack:///./src/components/navigation/Menu.vue?77ec","webpack:///../../../src/mixins/applicationable/index.ts","webpack:///../../../src/components/VNavigationDrawer/VNavigationDrawer.ts","webpack:///./src/components/navigation/Menu.vue?5382","webpack:///./src/components/dashboard/Overlay.vue?194b","webpack:///./src/components/dashboard/Overlay.vue?90b9","webpack:///./src/components/dashboard/Overlay.vue?0cf7","webpack:///./src/components/dashboard/Overlay.vue?0d74","webpack:///./src/components/Snackbar.vue?6088","webpack:///src/components/Snackbar.vue","webpack:///./src/components/Snackbar.vue?eed3","webpack:///./src/components/Snackbar.vue","webpack:///./src/templates/Dashboard.vue?5e3c","webpack:///./src/templates/Dashboard.vue?6ecb","webpack:///../../../src/directives/scroll/index.ts","webpack:///../../../src/mixins/scrollable/index.ts","webpack:///../../../src/components/VAppBar/VAppBar.ts","webpack:///../../../src/components/VAppBar/VAppBarNavIcon.ts","webpack:///../../../src/components/VBreadcrumbs/VBreadcrumbsItem.ts","webpack:///../../../src/components/VBreadcrumbs/VBreadcrumbsDivider.ts","webpack:///../../../src/components/VBreadcrumbs/VBreadcrumbs.ts","webpack:///./src/templates/Dashboard.vue","webpack:///./src/components/dashboard/Overlay.vue?d306","webpack:///../../../src/mixins/ssr-bootable/index.ts","webpack:///../../../src/components/VOverlay/VOverlay.ts","webpack:///../../../src/components/VOverlay/index.ts","webpack:///../../../src/mixins/overlayable/index.ts","webpack:///../../../src/components/VMain/VMain.ts","webpack:///./src/components/navigation/Menu.vue?2292"],"names":["mixins","VSheet","Colorable","Toggleable","PositionableFactory","extend","name","props","app","Boolean","centered","contentClass","type","String","default","multiLine","text","timeout","Number","transition","validator","v","vertical","data","activeTimeout","computed","classes","this","absolute","isActive","bottom","top","hasBackground","left","right","outlined","isDark","light","Themeable","options","call","styles","_this$$vuetify$applic","$vuetify","application","bar","footer","insetFooter","paddingBottom","convertToUnit","paddingLeft","undefined","paddingRight","paddingTop","watch","mounted","setTimeout","created","$attrs","hasOwnProperty","removed","deprecate","methods","genActions","$createElement","staticClass","getSlot","attrs","class","genContent","_defineProperty","role","genWrapper","setColor","setBackgroundColor","setTextColor","color","directives","value","genTransition","_this","window","clearTimeout","includes","render","h","style","$","flattenIntoArray","toObject","toLength","aFunction","arraySpeciesCreate","target","proto","flatMap","callbackfn","A","O","sourceLen","length","arguments","addToUnscopables","dark","id","theme","beforeCreate","$root","Error","wrapper","$slots","_objectSpread","rtl","themeClasses","domProps","handleGesture","touchstartX","touchendX","touchstartY","touchendY","dirRatio","minDistance","offsetX","offsetY","Math","abs","up","down","touchstart","event","touch","changedTouches","clientX","clientY","start","Object","assign","touchend","end","touchmove","touchmoveX","touchmoveY","move","createHandlers","e","inserted","el","binding","vnode","parent","parentElement","passive","handlers","_touchHandlers","context","_uid","keys","forEach","eventName","addEventListener","unbind","removeEventListener","Touch","_vm","_h","_c","_self","ref","on","$event","stopPropagation","menu","toggle","_v","_s","title","$route","breadcrumbs","_e","staticRenderFns","model","nav","callback","$$v","$set","expression","staticStyle","user","properties","emailAddress","projects","selectedProject","item","$t","setSelectedProject","projectNumber","concernCode","_l","index","children","hide","key","route","icon","menuItemHasActiveChild","scopedSlots","_u","fn","computeNrOfOpenRequests","proxy","subitem","subindex","hidden","menuItems","Component","defineComponent","setup","vm","projectApi","ProjectApi","accountApi","AccountApi","reactive","open","root","breakpoint","lgAndUp","Store","getters","projectHasFiles","_selectedProject$valu","hasProjectFiles","showEmployeeListMenu","project","useEmployeeList","expensiveSubscriptionCheckActive","child","menuItemsData","m","fetchUserData","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_yield$accountApi$acc","wrap","_context","prev","next","accountGetProfile","sent","dispatch","stop","apply","fetchProjects","_ref2","_callee2","_yield$projectApi$pro","_context2","projectGetProjects","projectId","foundProject","find","_item$children","path","indexOf","filter","subItem","numberOfOpenRequests","onMounted","_callee3","_context3","applicationable","events","applicationProperty","x","removeApplication","callUpdate","newVal","oldVal","unregister","activated","i","$watch","deactivated","destroyed","register","updateApplication","force","baseMixins","Applicationable","Dependent","Mobile","Overlayable","SSRBootable","provide","isInNav","tag","ClickOutside","Resize","clipped","disableResizeWatcher","disableRouteWatcher","expandOnHover","floating","height","miniVariant","miniVariantWidth","permanent","src","stateless","temporary","touchless","width","isMouseover","touchArea","stackMinZIndex","fixed","isMobile","isMiniVariant","computedMaxHeight","hasApp","computedTop","computedTransform","isBottom","computedWidth","reactsToClick","reactsToMobile","reactsToResize","reactsToRoute","showOverlay","hideOverlay","translate","maxHeight","concat","transform","val","$emit","removeOverlay","genOverlay","init","updateMiniVariant","beforeMount","calculateTouchArea","$el","parentNode","parentRect","getBoundingClientRect","closeConditional","_isDestroyed","genAppend","genPosition","genBackground","image","$scopedSlots","img","VImg","genDirectives","handler","include","getOpenDependentElements","push","swipeLeft","swipeRight","genListeners","_this2","transitionend","currentTarget","resizeEvent","document","createEvent","initUIEvent","dispatchEvent","click","mouseenter","mouseleave","slot","genPrepend","genBorder","onRouteChange","isNaN","clientWidth","unshift","component","VDivider","VIcon","VList","VListGroup","VListItem","VListItemAction","VListItemAvatar","VListItemContent","VListItemSubtitle","VListItemTitle","VNavigationDrawer","VSelect","VSpacer","_m","snackbar","_b","show","$on","VBtn","VSnackbar","components","Menu","Snackbar","Overlay","meta","matched","modifiers","_ref$self","self","_typeof","arg","querySelector","_onScroll","_el$_onScroll","_el$_onScroll$target","Scroll","Vue","scrollTarget","scrollThreshold","currentScroll","currentThreshold","isScrollingUp","previousScroll","savedScroll","canScroll","computedScrollThreshold","consoleWarn","onScroll","scrollTop","pageYOffset","$nextTick","thresholdMet","VToolbar","Scrollable","clippedLeft","clippedRight","collapseOnScroll","elevateOnScroll","fadeImgOnScroll","hideOnScroll","invertedScroll","scrollOffScreen","shrinkOnScroll","isBooted","collapse","hideShadow","computedContentHeight","computedOriginalHeight","min","dense","max","difference","iteration","offset","computedFontSize","isProminent","increment","toFixed","computedLeft","computedMarginTop","computedOpacity","opacity","parseFloat","isExtended","parseInt","extensionHeight","computedRight","computedHeight","isCollapsed","fontSize","marginTop","functional","slots","listeners","d","trim","defaultSlot","Routable","activeClass","ripple","disabled","_this$generateRouteLi","generateRouteLink","isLink","createSimpleFunctional","divider","items","Array","large","genDivider","VBreadcrumbsDivider","genItems","hasSlot","VBreadcrumbsItem","join","VApp","VAppBar","VAppBarNavIcon","VBreadcrumbs","VMain","VToolbarTitle","requestAnimationFrame","setAttribute","zIndex","__scrim","VOverlay","overlayColor","overlayOpacity","animationFrame","overlay","beforeDestroy","createOverlay","propsData","$mount","insertBefore","firstChild","hideScroll","activeZIndex","getZIndex","showScroll","addOnceEventListener","removeChild","$destroy","cancelAnimationFrame","scrollListener","tagName","isContentEditable","keyCodes","pageup","pagedown","keyCode","deltaY","body","checkPath","preventDefault","hasScrollbar","nodeType","Node","ELEMENT_NODE","getComputedStyle","overflowY","scrollHeight","clientHeight","shouldScroll","delta","isInside","composedPath","dialog","$refs","selected","getSelection","anchorNode","documentElement","content","smAndDown","classList","add","addPassiveEventListener","remove"],"mappings":"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","file":"js/chunk-445aefc0.351a958a.js","sourcesContent":["// Styles\nimport './VSnackbar.sass'\n\n// Components\nimport VSheet from '../VSheet/VSheet'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\nimport Toggleable from '../../mixins/toggleable'\nimport { factory as PositionableFactory } from '../../mixins/positionable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { convertToUnit, getSlot } from '../../util/helpers'\nimport { deprecate, removed } from '../../util/console'\n\n// Types\nimport { PropType, VNode } from 'vue'\n\nexport default mixins(\n VSheet,\n Colorable,\n Toggleable,\n PositionableFactory([\n 'absolute',\n 'bottom',\n 'left',\n 'right',\n 'top',\n ])\n/* @vue/component */\n).extend({\n name: 'v-snackbar',\n\n props: {\n app: Boolean,\n centered: Boolean,\n contentClass: {\n type: String,\n default: '',\n },\n multiLine: Boolean,\n text: Boolean,\n timeout: {\n type: [Number, String],\n default: 5000,\n },\n transition: {\n type: [Boolean, String] as PropType,\n default: 'v-snack-transition',\n validator: v => typeof v === 'string' || v === false,\n },\n vertical: Boolean,\n },\n\n data: () => ({\n activeTimeout: -1,\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-snack--absolute': this.absolute,\n 'v-snack--active': this.isActive,\n 'v-snack--bottom': this.bottom || !this.top,\n 'v-snack--centered': this.centered,\n 'v-snack--has-background': this.hasBackground,\n 'v-snack--left': this.left,\n 'v-snack--multi-line': this.multiLine && !this.vertical,\n 'v-snack--right': this.right,\n 'v-snack--text': this.text,\n 'v-snack--top': this.top,\n 'v-snack--vertical': this.vertical,\n }\n },\n // Text and outlined styles both\n // use transparent backgrounds\n hasBackground (): boolean {\n return (\n !this.text &&\n !this.outlined\n )\n },\n // Snackbar is dark by default\n // override themeable logic.\n isDark (): boolean {\n return this.hasBackground\n ? !this.light\n : Themeable.options.computed.isDark.call(this)\n },\n styles (): object {\n // Styles are not needed when\n // using the absolute prop.\n if (this.absolute) return {}\n\n const {\n bar,\n bottom,\n footer,\n insetFooter,\n left,\n right,\n top,\n } = this.$vuetify.application\n\n // Should always move for y-axis\n // applicationable components.\n return {\n paddingBottom: convertToUnit(bottom + footer + insetFooter),\n paddingLeft: !this.app ? undefined : convertToUnit(left),\n paddingRight: !this.app ? undefined : convertToUnit(right),\n paddingTop: convertToUnit(bar + top),\n }\n },\n },\n\n watch: {\n isActive: 'setTimeout',\n timeout: 'setTimeout',\n },\n\n mounted () {\n if (this.isActive) this.setTimeout()\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('auto-height')) {\n removed('auto-height', this)\n }\n\n /* istanbul ignore next */\n // eslint-disable-next-line eqeqeq\n if (this.timeout == 0) {\n deprecate('timeout=\"0\"', '-1', this)\n }\n },\n\n methods: {\n genActions () {\n return this.$createElement('div', {\n staticClass: 'v-snack__action ',\n }, [\n getSlot(this, 'action', {\n attrs: { class: 'v-snack__btn' },\n }),\n ])\n },\n genContent () {\n return this.$createElement('div', {\n staticClass: 'v-snack__content',\n class: {\n [this.contentClass]: true,\n },\n attrs: {\n role: 'status',\n 'aria-live': 'polite',\n },\n }, [getSlot(this)])\n },\n genWrapper () {\n const setColor = this.hasBackground\n ? this.setBackgroundColor\n : this.setTextColor\n\n const data = setColor(this.color, {\n staticClass: 'v-snack__wrapper',\n class: VSheet.options.computed.classes.call(this),\n directives: [{\n name: 'show',\n value: this.isActive,\n }],\n })\n\n return this.$createElement('div', data, [\n this.genContent(),\n this.genActions(),\n ])\n },\n genTransition () {\n return this.$createElement('transition', {\n props: { name: this.transition },\n }, [this.genWrapper()])\n },\n setTimeout () {\n window.clearTimeout(this.activeTimeout)\n\n const timeout = Number(this.timeout)\n\n if (\n !this.isActive ||\n // TODO: remove 0 in v3\n [0, -1].includes(timeout)\n ) {\n return\n }\n\n this.activeTimeout = window.setTimeout(() => {\n this.isActive = false\n }, timeout)\n },\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-snack',\n class: this.classes,\n style: this.styles,\n }, [\n this.transition !== false\n ? this.genTransition()\n : this.genWrapper(),\n ])\n },\n})\n","'use strict';\nvar $ = require('../internals/export');\nvar flattenIntoArray = require('../internals/flatten-into-array');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar aFunction = require('../internals/a-function');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\n// `Array.prototype.flatMap` method\n// https://github.com/tc39/proposal-flatMap\n$({ target: 'Array', proto: true }, {\n flatMap: function flatMap(callbackfn /* , thisArg */) {\n var O = toObject(this);\n var sourceLen = toLength(O.length);\n var A;\n aFunction(callbackfn);\n A = arraySpeciesCreate(O, 0);\n A.length = flattenIntoArray(A, O, O, sourceLen, 0, 1, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n return A;\n }\n});\n","// this method was added to unscopables after implementation\n// in popular engines, so it's moved to a separate module\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\naddToUnscopables('flatMap');\n","// Styles\nimport './VApp.sass'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n/* @vue/component */\nexport default mixins(\n Themeable\n).extend({\n name: 'v-app',\n\n props: {\n dark: {\n type: Boolean,\n default: undefined,\n },\n id: {\n type: String,\n default: 'app',\n },\n light: {\n type: Boolean,\n default: undefined,\n },\n },\n\n computed: {\n isDark (): boolean {\n return this.$vuetify.theme.dark\n },\n },\n\n beforeCreate () {\n if (!this.$vuetify || (this.$vuetify === this.$root as any)) {\n throw new Error('Vuetify is not properly initialized, see https://vuetifyjs.com/getting-started/quick-start#bootstrapping-the-vuetify-object')\n }\n },\n\n render (h) {\n const wrapper = h('div', { staticClass: 'v-application--wrap' }, this.$slots.default)\n\n return h('div', {\n staticClass: 'v-application',\n class: {\n 'v-application--is-rtl': this.$vuetify.rtl,\n 'v-application--is-ltr': !this.$vuetify.rtl,\n ...this.themeClasses,\n },\n attrs: { 'data-app': true },\n domProps: { id: this.id },\n }, [wrapper])\n },\n})\n","import { VNodeDirective, VNode } from 'vue/types/vnode'\nimport { keys } from '../../util/helpers'\nimport { TouchHandlers, TouchValue, TouchWrapper } from 'vuetify/types'\n\nexport interface TouchStoredHandlers {\n touchstart: (e: TouchEvent) => void\n touchend: (e: TouchEvent) => void\n touchmove: (e: TouchEvent) => void\n}\n\ninterface TouchVNodeDirective extends VNodeDirective {\n value?: TouchValue\n}\n\nconst handleGesture = (wrapper: TouchWrapper) => {\n const { touchstartX, touchendX, touchstartY, touchendY } = wrapper\n const dirRatio = 0.5\n const minDistance = 16\n wrapper.offsetX = touchendX - touchstartX\n wrapper.offsetY = touchendY - touchstartY\n\n if (Math.abs(wrapper.offsetY) < dirRatio * Math.abs(wrapper.offsetX)) {\n wrapper.left && (touchendX < touchstartX - minDistance) && wrapper.left(wrapper)\n wrapper.right && (touchendX > touchstartX + minDistance) && wrapper.right(wrapper)\n }\n\n if (Math.abs(wrapper.offsetX) < dirRatio * Math.abs(wrapper.offsetY)) {\n wrapper.up && (touchendY < touchstartY - minDistance) && wrapper.up(wrapper)\n wrapper.down && (touchendY > touchstartY + minDistance) && wrapper.down(wrapper)\n }\n}\n\nfunction touchstart (event: TouchEvent, wrapper: TouchWrapper) {\n const touch = event.changedTouches[0]\n wrapper.touchstartX = touch.clientX\n wrapper.touchstartY = touch.clientY\n\n wrapper.start &&\n wrapper.start(Object.assign(event, wrapper))\n}\n\nfunction touchend (event: TouchEvent, wrapper: TouchWrapper) {\n const touch = event.changedTouches[0]\n wrapper.touchendX = touch.clientX\n wrapper.touchendY = touch.clientY\n\n wrapper.end &&\n wrapper.end(Object.assign(event, wrapper))\n\n handleGesture(wrapper)\n}\n\nfunction touchmove (event: TouchEvent, wrapper: TouchWrapper) {\n const touch = event.changedTouches[0]\n wrapper.touchmoveX = touch.clientX\n wrapper.touchmoveY = touch.clientY\n\n wrapper.move && wrapper.move(Object.assign(event, wrapper))\n}\n\nfunction createHandlers (value: TouchHandlers): TouchStoredHandlers {\n const wrapper = {\n touchstartX: 0,\n touchstartY: 0,\n touchendX: 0,\n touchendY: 0,\n touchmoveX: 0,\n touchmoveY: 0,\n offsetX: 0,\n offsetY: 0,\n left: value.left,\n right: value.right,\n up: value.up,\n down: value.down,\n start: value.start,\n move: value.move,\n end: value.end,\n }\n\n return {\n touchstart: (e: TouchEvent) => touchstart(e, wrapper),\n touchend: (e: TouchEvent) => touchend(e, wrapper),\n touchmove: (e: TouchEvent) => touchmove(e, wrapper),\n }\n}\n\nfunction inserted (el: HTMLElement, binding: TouchVNodeDirective, vnode: VNode) {\n const value = binding.value!\n const target = value.parent ? el.parentElement : el\n const options = value.options || { passive: true }\n\n // Needed to pass unit tests\n if (!target) return\n\n const handlers = createHandlers(binding.value!)\n target._touchHandlers = Object(target._touchHandlers)\n target._touchHandlers![vnode.context!._uid] = handlers\n\n keys(handlers).forEach(eventName => {\n target.addEventListener(eventName, handlers[eventName] as EventListener, options)\n })\n}\n\nfunction unbind (el: HTMLElement, binding: TouchVNodeDirective, vnode: VNode) {\n const target = binding.value!.parent ? el.parentElement : el\n if (!target || !target._touchHandlers) return\n\n const handlers = target._touchHandlers[vnode.context!._uid]\n keys(handlers).forEach(eventName => {\n target.removeEventListener(eventName, handlers[eventName])\n })\n delete target._touchHandlers[vnode.context!._uid]\n}\n\nexport const Touch = {\n inserted,\n unbind,\n}\n\nexport default Touch\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-app',{attrs:{\"id\":\"inspire\"}},[_c('Menu',{ref:\"menu\"}),_c('v-app-bar',{attrs:{\"app\":\"\",\"color\":\"white\"}},[_c('v-app-bar-nav-icon',{on:{\"click\":function($event){$event.stopPropagation();return _vm.menu.toggle()}}}),_c('v-toolbar-title',[_vm._v(\" \"+_vm._s(_vm.title))]),_c('v-spacer')],1),_c('v-main',{staticClass:\"grey lighten-2\"},[(_vm.$route && _vm.$route.name !== 'dashboard')?_c('v-breadcrumbs',{staticClass:\"mb-4\",attrs:{\"items\":_vm.breadcrumbs(),\"divider\":\"/\"}}):_vm._e(),_c('div',{staticClass:\"pa-4 pt-0\"},[_c('Overlay'),_c('router-view')],1),_c('Snackbar',{ref:\"snackbar\"})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-navigation-drawer',{attrs:{\"app\":\"\",\"dark\":\"\",\"color\":\"primary\",\"width\":300},model:{value:(_vm.nav.open),callback:function ($$v) {_vm.$set(_vm.nav, \"open\", $$v)},expression:\"nav.open\"}},[_c('div',{staticClass:\"d-flex flex-column\",staticStyle:{\"min-height\":\"100%\"}},[_c('v-list',{staticClass:\"align-start\"},[(_vm.user.properties && _vm.user.emailAddress)?_c('v-list-item',{staticClass:\"px-2\"},[_c('v-list-item-avatar',[_c('v-icon',[_vm._v(\"mdi-card-account-details\")])],1),_c('v-list-item-content',{staticClass:\"pl-2\"},[_c('v-list-item-title',[_vm._v(\"Medewerker\")]),_c('v-list-item-subtitle',[_vm._v(\" \"+_vm._s(_vm.user.emailAddress)+\" \")])],1)],1):_vm._e(),_c('v-divider',{staticClass:\"my-2\"}),(_vm.projects.length > 1)?_c('v-select',{staticClass:\"my-5 mx-5 mb-2\",staticStyle:{\"background-color\":\"rgba(0, 0, 0, 0.25)\",\"border-color\":\"white\"},attrs:{\"items\":_vm.projects,\"value\":_vm.selectedProject,\"item-value\":\"projectId\",\"item-text\":function (item) { return ((item.name) + \" (\" + (item.numberOfOpenRequests) + \")\"); },\"label\":_vm.$t('menu.selectedproject'),\"outlined\":\"\",\"dense\":\"\",\"hide-details\":\"\"},on:{\"change\":_vm.setSelectedProject}}):_vm._e(),(_vm.selectedProject)?_c('div',{staticClass:\"selected-project pl-4\"},[_c('div',{staticClass:\"mb-2\"},[_c('b',[_vm._v(\"Project\")])]),_c('div',[_c('b',[_vm._v(_vm._s(_vm.selectedProject.name))])]),_c('div',{staticClass:\"d-flex\"},[_c('div',[_vm._v(\" Projectnummer: \")]),_c('div',{staticClass:\"value\"},[_vm._v(\" \"+_vm._s(_vm.selectedProject.projectNumber)+\" \")])]),_c('div',{staticClass:\"d-flex\"},[_c('div',[_vm._v(\" Concerncode: \")]),_c('div',{staticClass:\"value\"},[_vm._v(\" \"+_vm._s(_vm.selectedProject.concernCode)+\" \")])])]):_vm._e(),_c('v-divider',{staticClass:\"my-2\"}),_vm._l((_vm.menuItems),function(item,index){return [(!item.children && !item.hide)?_c('v-list-item',{key:(\"navigation-\" + index),attrs:{\"link\":\"\",\"to\":item.route}},[_c('v-list-item-action',[_c('v-icon',[_vm._v(_vm._s(item.icon))])],1),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\" \"+_vm._s(_vm.$t(item.title))+\" \")])],1)],1):_vm._e(),(item.children && !item.hide)?_c('v-list-group',{key:(\"group-\" + index),attrs:{\"prepend-icon\":item.icon,\"color\":\"white\",\"value\":_vm.menuItemHasActiveChild(item)},scopedSlots:_vm._u([{key:\"activator\",fn:function(){return [_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\" \"+_vm._s(_vm.$t(item.title))+\" \"),(_vm.computeNrOfOpenRequests(item.title))?_c('span',[_vm._v(\" (\"+_vm._s(_vm.computeNrOfOpenRequests(item.title))+\") \")]):_vm._e()])],1)]},proxy:true}],null,true)},_vm._l((item.children),function(subitem,subindex){return _c('v-list-item',{key:(\"navigation-\" + index + \"-\" + subindex),class:{ hidden: subitem.hide },attrs:{\"link\":\"\",\"to\":subitem.route}},[_c('v-list-item-action',[_c('v-icon')],1),_c('v-list-item-title',{domProps:{\"textContent\":_vm._s(_vm.$t(subitem.title))}})],1)}),1):_vm._e()]})],2),_c('v-spacer'),_c('v-divider',{staticClass:\"my-2\"}),_c('div',{staticClass:\"logo\"},[_c('img',{staticClass:\"logo\",attrs:{\"src\":\"images/logo.svg\"}})]),_c('div',{staticClass:\"bfnl-contact\",attrs:{\"justify-center\":\"\"}},[_c('div',{staticClass:\"text-h6\"},[_c('b',[_vm._v(\"Vragen? Bel ons\")])]),_c('div',[_vm._v(\"Telefoon: 0513 633 111\")]),_c('div',[_c('router-link',{attrs:{\"to\":{ name: 'contact' }}},[_vm._v(\" Stuur ons een mail \")])],1)])],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export interface MenuItem {\r\n title: string;\r\n icon: string | null;\r\n route: string;\r\n children?: MenuItem[];\r\n hide?: boolean;\r\n}\r\n\r\nexport const menuItems: MenuItem[] = [\r\n {\r\n title: \"menu.dashboard\",\r\n icon: \"mdi-monitor-dashboard\",\r\n route: \"/\",\r\n },\r\n {\r\n title: \"menu.postvak-in.title\",\r\n icon: \"mdi-inbox-full\",\r\n route: \"/\",\r\n children: [\r\n {\r\n title: \"\",\r\n icon: null,\r\n route: \"/requests\",\r\n hide: true,\r\n },\r\n {\r\n title: \"menu.postvak-in.to-review\",\r\n icon: null,\r\n route: \"/requests/to-approve\",\r\n },\r\n {\r\n title: \"menu.postvak-in.approved\",\r\n icon: null,\r\n route: \"/requests/approved\",\r\n },\r\n {\r\n title: \"menu.postvak-in.rejected\",\r\n icon: null,\r\n route: \"/requests/rejected\",\r\n },\r\n ],\r\n },\r\n {\r\n title: \"menu.subscriptions.title\",\r\n icon: \"mdi-account-group\",\r\n route: \"/\",\r\n children: [\r\n {\r\n title: \"\",\r\n icon: null,\r\n route: \"/subscriptions\",\r\n hide: true,\r\n },\r\n {\r\n title: \"menu.subscriptions.new\",\r\n icon: null,\r\n route: \"/subscriptions/new\",\r\n },\r\n {\r\n title: \"menu.subscriptions.active\",\r\n icon: null,\r\n route: \"/subscriptions/active\",\r\n },\r\n {\r\n title: \"menu.subscriptions.ended\",\r\n icon: null,\r\n route: \"/subscriptions/ended\",\r\n },\r\n {\r\n title: \"menu.subscriptions.all\",\r\n icon: null,\r\n route: \"/subscriptions/all\",\r\n },\r\n {\r\n title: \"menu.subscriptions.expensive\",\r\n icon: null,\r\n route: \"/subscriptions/expensive\",\r\n hide: true,\r\n },\r\n ],\r\n },\r\n {\r\n title: \"menu.files\",\r\n icon: \"mdi-folder-download-outline\",\r\n route: \"/files\",\r\n hide: true,\r\n },\r\n {\r\n title: \"menu.promo-material\",\r\n icon: \"mdi-presentation\",\r\n route: \"\",\r\n children: [\r\n {\r\n title: \"menu.promotion-package\",\r\n route: \"/promotion-material/promotion-package\",\r\n icon: null,\r\n },\r\n /*\r\n {\r\n title: \"menu.social-media\",\r\n route: \"/promotion-material/social-media\",\r\n icon: null,\r\n },\r\n */\r\n ],\r\n },\r\n {\r\n title: \"menu.settings\",\r\n icon: \"mdi-cog\",\r\n route: \"/\",\r\n children: [\r\n {\r\n title: \"user.user-management\",\r\n icon: null,\r\n route: \"/settings/user-management\",\r\n },\r\n {\r\n title: \"user.user-password-reset\",\r\n icon: null,\r\n route: \"/settings/password-reset\",\r\n },\r\n {\r\n title: \"settings.employeelist\",\r\n icon: null,\r\n route: \"/settings/employeelist\",\r\n hide: true, // Hide by default. Will be shown for in Menu.vue when applicable.\r\n },\r\n ],\r\n },\r\n {\r\n title: \"menu.logout\",\r\n icon: \"mdi-logout\",\r\n route: \"/auth/logout\",\r\n },\r\n];\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport {\r\n computed,\r\n defineComponent,\r\n onMounted,\r\n reactive,\r\n} from \"@vue/composition-api\";\r\nimport Store from \"@/store\";\r\nimport { AccountApi, ProjectApi, ProjectDto } from \"@/api\";\r\nimport { UserInfo } from \"@/store/modules/user/types\";\r\nimport { MenuItem, menuItems as menuItemsData } from \"./menuItems\";\r\n\r\nconst Component = defineComponent({\r\n setup(props, vm) {\r\n const projectApi = new ProjectApi();\r\n const accountApi = new AccountApi();\r\n\r\n const nav = reactive({\r\n open: vm.root.$vuetify.breakpoint.lgAndUp,\r\n });\r\n\r\n /**\r\n * Computed values from store\r\n */\r\n const user = computed(() => Store.getters[\"User/getUser\"]);\r\n const projects = computed(\r\n () => Store.getters[\"User/getProjects\"]\r\n );\r\n const selectedProject = computed(\r\n () => Store.getters[\"User/getSelectedProject\"]\r\n );\r\n const projectHasFiles = computed(\r\n () => selectedProject.value?.hasProjectFiles\r\n );\r\n\r\n const showEmployeeListMenu = (\r\n item: MenuItem,\r\n project: ProjectDto | null\r\n ) => {\r\n if (!project) return;\r\n\r\n if (item.route === \"/settings/employeelist\") {\r\n // eslint-disable-next-line no-param-reassign\r\n item.hide = project.useEmployeeList !== true;\r\n } else if (item.route === \"/files\") {\r\n // eslint-disable-next-line no-param-reassign\r\n item.hide = project.hasProjectFiles !== true;\r\n } else if (item.route === \"/subscriptions/expensive\") {\r\n // eslint-disable-next-line no-param-reassign\r\n item.hide = project.expensiveSubscriptionCheckActive !== true;\r\n } else if (item.children) {\r\n item.children.forEach((child) => {\r\n showEmployeeListMenu(child, project);\r\n });\r\n }\r\n };\r\n\r\n /**\r\n * Computed values\r\n */\r\n const menuItems = computed(() => {\r\n menuItemsData.forEach((m) =>\r\n showEmployeeListMenu(m, selectedProject.value)\r\n );\r\n return menuItemsData;\r\n });\r\n\r\n /**\r\n * Fetch from API and set stores\r\n */\r\n const fetchUserData = async () => {\r\n const { data } = await accountApi.accountGetProfile();\r\n Store.dispatch(\"User/setUser\", data);\r\n };\r\n\r\n const fetchProjects = async () => {\r\n const { data } = await projectApi.projectGetProjects();\r\n Store.dispatch(\"User/setProjects\", data);\r\n };\r\n\r\n /**\r\n * Set store values\r\n */\r\n const setSelectedProject = (projectId: number) => {\r\n const foundProject = projects.value.find(\r\n (project) => project.projectId === projectId\r\n );\r\n Store.dispatch(\"User/setSelectedProject\", foundProject);\r\n };\r\n\r\n /**\r\n * UI Functions\r\n */\r\n const toggle = (): void => {\r\n nav.open = !nav.open;\r\n };\r\n\r\n const menuItemHasActiveChild = (item: MenuItem) => {\r\n return item?.children?.find((el: MenuItem) => {\r\n return vm.root.$route.path.indexOf(el.route) > -1;\r\n });\r\n };\r\n\r\n const computeNrOfOpenRequests = (item: string) => {\r\n if (item === \"menu.postvak-in.title\") {\r\n const foundProject = projects.value.filter((subItem) => {\r\n if (!selectedProject.value) return 0;\r\n return subItem.projectId === selectedProject.value.projectId;\r\n });\r\n\r\n return foundProject.length ? foundProject[0].numberOfOpenRequests : 0;\r\n }\r\n return \"\";\r\n };\r\n\r\n /**\r\n * Lifecycle Functions\r\n */\r\n onMounted(async () => {\r\n await fetchUserData();\r\n await fetchProjects();\r\n });\r\n\r\n return {\r\n menuItems,\r\n nav,\r\n projectHasFiles,\r\n projects,\r\n selectedProject,\r\n user,\r\n computeNrOfOpenRequests,\r\n menuItemHasActiveChild,\r\n setSelectedProject,\r\n toggle,\r\n };\r\n },\r\n});\r\n\r\nexport default Component;\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Menu.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Menu.vue?vue&type=script&lang=ts&\"","import { factory as PositionableFactory } from '../positionable'\nimport { TargetProp } from 'vuetify/types/services/application'\n\n// Util\nimport mixins from '../../util/mixins'\n\nexport default function applicationable (value: TargetProp, events: string[] = []) {\n /* @vue/component */\n return mixins(PositionableFactory(['absolute', 'fixed'])).extend({\n name: 'applicationable',\n\n props: {\n app: Boolean,\n },\n\n computed: {\n applicationProperty (): TargetProp {\n return value\n },\n },\n\n watch: {\n // If previous value was app\n // reset the provided prop\n app (x: boolean, prev: boolean) {\n prev\n ? this.removeApplication(true)\n : this.callUpdate()\n },\n applicationProperty (newVal, oldVal) {\n this.$vuetify.application.unregister(this._uid, oldVal)\n },\n },\n\n activated () {\n this.callUpdate()\n },\n\n created () {\n for (let i = 0, length = events.length; i < length; i++) {\n this.$watch(events[i], this.callUpdate)\n }\n this.callUpdate()\n },\n\n mounted () {\n this.callUpdate()\n },\n\n deactivated () {\n this.removeApplication()\n },\n\n destroyed () {\n this.removeApplication()\n },\n\n methods: {\n callUpdate () {\n if (!this.app) return\n\n this.$vuetify.application.register(\n this._uid,\n this.applicationProperty,\n this.updateApplication()\n )\n },\n removeApplication (force = false) {\n if (!force && !this.app) return\n\n this.$vuetify.application.unregister(\n this._uid,\n this.applicationProperty\n )\n },\n updateApplication: () => 0,\n },\n })\n}\n","// Styles\nimport './VNavigationDrawer.sass'\n\n// Components\nimport VImg, { srcObject } from '../VImg/VImg'\n\n// Mixins\nimport Applicationable from '../../mixins/applicationable'\nimport Colorable from '../../mixins/colorable'\nimport Dependent from '../../mixins/dependent'\nimport Mobile from '../../mixins/mobile'\nimport Overlayable from '../../mixins/overlayable'\nimport SSRBootable from '../../mixins/ssr-bootable'\nimport Themeable from '../../mixins/themeable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\nimport Resize from '../../directives/resize'\nimport Touch from '../../directives/touch'\n\n// Utilities\nimport { convertToUnit, getSlot } from '../../util/helpers'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode, VNodeDirective, PropType } from 'vue'\nimport { TouchWrapper } from 'vuetify/types'\n\nconst baseMixins = mixins(\n Applicationable('left', [\n 'isActive',\n 'isMobile',\n 'miniVariant',\n 'expandOnHover',\n 'permanent',\n 'right',\n 'temporary',\n 'width',\n ]),\n Colorable,\n Dependent,\n Mobile,\n Overlayable,\n SSRBootable,\n Themeable\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-navigation-drawer',\n\n provide (): object {\n return {\n isInNav: this.tag === 'nav',\n }\n },\n\n directives: {\n ClickOutside,\n Resize,\n Touch,\n },\n\n props: {\n bottom: Boolean,\n clipped: Boolean,\n disableResizeWatcher: Boolean,\n disableRouteWatcher: Boolean,\n expandOnHover: Boolean,\n floating: Boolean,\n height: {\n type: [Number, String],\n default (): string {\n return this.app ? '100vh' : '100%'\n },\n },\n miniVariant: Boolean,\n miniVariantWidth: {\n type: [Number, String],\n default: 56,\n },\n permanent: Boolean,\n right: Boolean,\n src: {\n type: [String, Object] as PropType,\n default: '',\n },\n stateless: Boolean,\n tag: {\n type: String,\n default (): string {\n return this.app ? 'nav' : 'aside'\n },\n },\n temporary: Boolean,\n touchless: Boolean,\n width: {\n type: [Number, String],\n default: 256,\n },\n value: null as unknown as PropType,\n },\n\n data: () => ({\n isMouseover: false,\n touchArea: {\n left: 0,\n right: 0,\n },\n stackMinZIndex: 6,\n }),\n\n computed: {\n /**\n * Used for setting an app value from a dynamic\n * property. Called from applicationable.js\n */\n applicationProperty (): string {\n return this.right ? 'right' : 'left'\n },\n classes (): object {\n return {\n 'v-navigation-drawer': true,\n 'v-navigation-drawer--absolute': this.absolute,\n 'v-navigation-drawer--bottom': this.bottom,\n 'v-navigation-drawer--clipped': this.clipped,\n 'v-navigation-drawer--close': !this.isActive,\n 'v-navigation-drawer--fixed': !this.absolute && (this.app || this.fixed),\n 'v-navigation-drawer--floating': this.floating,\n 'v-navigation-drawer--is-mobile': this.isMobile,\n 'v-navigation-drawer--is-mouseover': this.isMouseover,\n 'v-navigation-drawer--mini-variant': this.isMiniVariant,\n 'v-navigation-drawer--custom-mini-variant': Number(this.miniVariantWidth) !== 56,\n 'v-navigation-drawer--open': this.isActive,\n 'v-navigation-drawer--open-on-hover': this.expandOnHover,\n 'v-navigation-drawer--right': this.right,\n 'v-navigation-drawer--temporary': this.temporary,\n ...this.themeClasses,\n }\n },\n computedMaxHeight (): number | null {\n if (!this.hasApp) return null\n\n const computedMaxHeight = (\n this.$vuetify.application.bottom +\n this.$vuetify.application.footer +\n this.$vuetify.application.bar\n )\n\n if (!this.clipped) return computedMaxHeight\n\n return computedMaxHeight + this.$vuetify.application.top\n },\n computedTop (): number {\n if (!this.hasApp) return 0\n\n let computedTop = this.$vuetify.application.bar\n\n computedTop += this.clipped\n ? this.$vuetify.application.top\n : 0\n\n return computedTop\n },\n computedTransform (): number {\n if (this.isActive) return 0\n if (this.isBottom) return 100\n return this.right ? 100 : -100\n },\n computedWidth (): string | number {\n return this.isMiniVariant ? this.miniVariantWidth : this.width\n },\n hasApp (): boolean {\n return (\n this.app &&\n (!this.isMobile && !this.temporary)\n )\n },\n isBottom (): boolean {\n return this.bottom && this.isMobile\n },\n isMiniVariant (): boolean {\n return (\n !this.expandOnHover &&\n this.miniVariant\n ) || (\n this.expandOnHover &&\n !this.isMouseover\n )\n },\n isMobile (): boolean {\n return (\n !this.stateless &&\n !this.permanent &&\n Mobile.options.computed.isMobile.call(this)\n )\n },\n reactsToClick (): boolean {\n return (\n !this.stateless &&\n !this.permanent &&\n (this.isMobile || this.temporary)\n )\n },\n reactsToMobile (): boolean {\n return (\n this.app &&\n !this.disableResizeWatcher &&\n !this.permanent &&\n !this.stateless &&\n !this.temporary\n )\n },\n reactsToResize (): boolean {\n return !this.disableResizeWatcher && !this.stateless\n },\n reactsToRoute (): boolean {\n return (\n !this.disableRouteWatcher &&\n !this.stateless &&\n (this.temporary || this.isMobile)\n )\n },\n showOverlay (): boolean {\n return (\n !this.hideOverlay &&\n this.isActive &&\n (this.isMobile || this.temporary)\n )\n },\n styles (): object {\n const translate = this.isBottom ? 'translateY' : 'translateX'\n const styles = {\n height: convertToUnit(this.height),\n top: !this.isBottom ? convertToUnit(this.computedTop) : 'auto',\n maxHeight: this.computedMaxHeight != null\n ? `calc(100% - ${convertToUnit(this.computedMaxHeight)})`\n : undefined,\n transform: `${translate}(${convertToUnit(this.computedTransform, '%')})`,\n width: convertToUnit(this.computedWidth),\n }\n\n return styles\n },\n },\n\n watch: {\n $route: 'onRouteChange',\n isActive (val) {\n this.$emit('input', val)\n },\n /**\n * When mobile changes, adjust the active state\n * only when there has been a previous value\n */\n isMobile (val, prev) {\n !val &&\n this.isActive &&\n !this.temporary &&\n this.removeOverlay()\n\n if (prev == null ||\n !this.reactsToResize ||\n !this.reactsToMobile\n ) return\n\n this.isActive = !val\n },\n permanent (val) {\n // If enabling prop enable the drawer\n if (val) this.isActive = true\n },\n showOverlay (val) {\n if (val) this.genOverlay()\n else this.removeOverlay()\n },\n value (val) {\n if (this.permanent) return\n\n if (val == null) {\n this.init()\n return\n }\n\n if (val !== this.isActive) this.isActive = val\n },\n expandOnHover: 'updateMiniVariant',\n isMouseover (val) {\n this.updateMiniVariant(!val)\n },\n },\n\n beforeMount () {\n this.init()\n },\n\n methods: {\n calculateTouchArea () {\n const parent = this.$el.parentNode as Element\n\n if (!parent) return\n\n const parentRect = parent.getBoundingClientRect()\n\n this.touchArea = {\n left: parentRect.left + 50,\n right: parentRect.right - 50,\n }\n },\n closeConditional () {\n return this.isActive && !this._isDestroyed && this.reactsToClick\n },\n genAppend () {\n return this.genPosition('append')\n },\n genBackground () {\n const props = {\n height: '100%',\n width: '100%',\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-navigation-drawer__image',\n }, [image])\n },\n genDirectives (): VNodeDirective[] {\n const directives = [{\n name: 'click-outside',\n value: {\n handler: () => { this.isActive = false },\n closeConditional: this.closeConditional,\n include: this.getOpenDependentElements,\n },\n }]\n\n if (!this.touchless && !this.stateless) {\n directives.push({\n name: 'touch',\n value: {\n parent: true,\n left: this.swipeLeft,\n right: this.swipeRight,\n },\n } as any)\n }\n\n return directives\n },\n genListeners () {\n const on: Record void> = {\n transitionend: (e: Event) => {\n if (e.target !== e.currentTarget) return\n this.$emit('transitionend', e)\n\n // IE11 does not support new Event('resize')\n const resizeEvent = document.createEvent('UIEvents')\n resizeEvent.initUIEvent('resize', true, false, window, 0)\n window.dispatchEvent(resizeEvent)\n },\n }\n\n if (this.miniVariant) {\n on.click = () => this.$emit('update:mini-variant', false)\n }\n\n if (this.expandOnHover) {\n on.mouseenter = () => (this.isMouseover = true)\n on.mouseleave = () => (this.isMouseover = false)\n }\n\n return on\n },\n genPosition (name: 'prepend' | 'append') {\n const slot = getSlot(this, name)\n\n if (!slot) return slot\n\n return this.$createElement('div', {\n staticClass: `v-navigation-drawer__${name}`,\n }, slot)\n },\n genPrepend () {\n return this.genPosition('prepend')\n },\n genContent () {\n return this.$createElement('div', {\n staticClass: 'v-navigation-drawer__content',\n }, this.$slots.default)\n },\n genBorder () {\n return this.$createElement('div', {\n staticClass: 'v-navigation-drawer__border',\n })\n },\n init () {\n if (this.permanent) {\n this.isActive = true\n } else if (this.stateless ||\n this.value != null\n ) {\n this.isActive = this.value\n } else if (!this.temporary) {\n this.isActive = !this.isMobile\n }\n },\n onRouteChange () {\n if (this.reactsToRoute && this.closeConditional()) {\n this.isActive = false\n }\n },\n swipeLeft (e: TouchWrapper) {\n if (this.isActive && this.right) return\n this.calculateTouchArea()\n\n if (Math.abs(e.touchendX - e.touchstartX) < 100) return\n if (this.right &&\n e.touchstartX >= this.touchArea.right\n ) this.isActive = true\n else if (!this.right && this.isActive) this.isActive = false\n },\n swipeRight (e: TouchWrapper) {\n if (this.isActive && !this.right) return\n this.calculateTouchArea()\n\n if (Math.abs(e.touchendX - e.touchstartX) < 100) return\n if (!this.right &&\n e.touchstartX <= this.touchArea.left\n ) this.isActive = true\n else if (this.right && this.isActive) this.isActive = false\n },\n /**\n * Update the application layout\n */\n updateApplication () {\n if (\n !this.isActive ||\n this.isMobile ||\n this.temporary ||\n !this.$el\n ) return 0\n\n const width = Number(this.computedWidth)\n\n return isNaN(width) ? this.$el.clientWidth : width\n },\n updateMiniVariant (val: boolean) {\n if (this.miniVariant !== val) this.$emit('update:mini-variant', val)\n },\n },\n\n render (h): VNode {\n const children = [\n this.genPrepend(),\n this.genContent(),\n this.genAppend(),\n this.genBorder(),\n ]\n\n if (this.src || getSlot(this, 'img')) children.unshift(this.genBackground())\n\n return h(this.tag, this.setBackgroundColor(this.color, {\n class: this.classes,\n style: this.styles,\n directives: this.genDirectives(),\n on: this.genListeners(),\n }), children)\n },\n})\n","import { render, staticRenderFns } from \"./Menu.vue?vue&type=template&id=56f2c043&scoped=true&\"\nimport script from \"./Menu.vue?vue&type=script&lang=ts&\"\nexport * from \"./Menu.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Menu.vue?vue&type=style&index=0&id=56f2c043&prod&lang=scss&scoped=true&\"\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 \"56f2c043\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VList } from 'vuetify/lib/components/VList';\nimport { VListGroup } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemAction } from 'vuetify/lib/components/VList';\nimport { VListItemAvatar } from 'vuetify/lib/components/VList';\nimport { VListItemContent } from 'vuetify/lib/components/VList';\nimport { VListItemSubtitle } from 'vuetify/lib/components/VList';\nimport { VListItemTitle } from 'vuetify/lib/components/VList';\nimport { VNavigationDrawer } from 'vuetify/lib/components/VNavigationDrawer';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VDivider,VIcon,VList,VListGroup,VListItem,VListItemAction,VListItemAvatar,VListItemContent,VListItemSubtitle,VListItemTitle,VNavigationDrawer,VSelect,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _vm._m(0)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"overlay animate\"},[_c('div',{staticClass:\"overlay__1\"}),_c('div',{staticClass:\"overlay__2\"}),_c('div',{staticClass:\"overlay__3\"})]),_c('div',{staticClass:\"overlay-red animate\"},[_c('div',{staticClass:\"overlay__1\"}),_c('div',{staticClass:\"overlay__2\"}),_c('div',{staticClass:\"overlay__3\"})]),_c('div',{staticClass:\"overlay-blue\"})])}]\n\nexport { render, staticRenderFns }","\r\nimport { defineComponent } from \"@vue/composition-api\";\r\n\r\nexport default defineComponent({});\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Overlay.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Overlay.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Overlay.vue?vue&type=template&id=27df02ef&\"\nimport script from \"./Overlay.vue?vue&type=script&lang=ts&\"\nexport * from \"./Overlay.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Overlay.vue?vue&type=style&index=0&id=27df02ef&prod&lang=scss&\"\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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-snackbar',{attrs:{\"dark\":\"\",\"color\":_vm.snackbar.color,\"top\":\"\"},scopedSlots:_vm._u([{key:\"action\",fn:function(ref){\nvar attrs = ref.attrs;\nreturn [_c('v-btn',_vm._b({attrs:{\"text\":\"\"},on:{\"click\":function($event){_vm.snackbar.show = false}}},'v-btn',attrs,false),[_vm._v(_vm._s(_vm.$t(\"generic.close\")))])]}}]),model:{value:(_vm.snackbar.show),callback:function ($$v) {_vm.$set(_vm.snackbar, \"show\", $$v)},expression:\"snackbar.show\"}},[_vm._v(\" \"+_vm._s(_vm.snackbar.text)+\" \")])}\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/vuetify-loader/lib/loader.js??ref--20-0!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Snackbar.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/vuetify-loader/lib/loader.js??ref--20-0!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Snackbar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Snackbar.vue?vue&type=template&id=b2577342&\"\nimport script from \"./Snackbar.vue?vue&type=script&lang=js&\"\nexport * from \"./Snackbar.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\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VSnackbar } from 'vuetify/lib/components/VSnackbar';\ninstallComponents(component, {VBtn,VSnackbar})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { defineComponent, ref, computed } from \"@vue/composition-api\";\r\nimport Menu from \"@/components/navigation/Menu.vue\";\r\nimport Overlay from \"@/components/dashboard/Overlay.vue\";\r\nimport Snackbar from \"@/components/Snackbar.vue\";\r\n\r\nexport default defineComponent({\r\n components: {\r\n Menu,\r\n Snackbar,\r\n Overlay,\r\n },\r\n setup(props, vm) {\r\n const menu = ref(null);\r\n const title = computed(() => vm.root.$route.meta.title);\r\n\r\n const breadcrumbs = () => {\r\n return vm.root.$route.matched\r\n .filter((i) => i.meta)\r\n .filter((i) => i.meta().breadcrumbs)\r\n .flatMap((i) => (i.meta ? i.meta().breadcrumbs(vm.root.$route) : null));\r\n };\r\n\r\n return {\r\n breadcrumbs,\r\n menu,\r\n title,\r\n };\r\n },\r\n});\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Dashboard.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Dashboard.vue?vue&type=script&lang=ts&\"","import { VNodeDirective } from 'vue/types/vnode'\nimport { DirectiveOptions } from 'vue'\n\ninterface ScrollVNodeDirective extends Omit {\n value: EventListener | {\n handler: EventListener\n options?: boolean | AddEventListenerOptions\n } | EventListenerObject & { options?: boolean | AddEventListenerOptions }\n modifiers?: {\n self?: boolean\n }\n}\n\nfunction inserted (el: HTMLElement, binding: ScrollVNodeDirective) {\n const { self = false } = binding.modifiers || {}\n const value = binding.value\n const options = (typeof value === 'object' && value.options) || { passive: true }\n const handler = typeof value === 'function' || 'handleEvent' in value ? value : value.handler\n\n const target = self\n ? el\n : binding.arg\n ? document.querySelector(binding.arg)\n : window\n\n if (!target) return\n\n target.addEventListener('scroll', handler, options)\n\n el._onScroll = {\n handler,\n options,\n // Don't reference self\n target: self ? undefined : target,\n }\n}\n\nfunction unbind (el: HTMLElement) {\n if (!el._onScroll) return\n\n const { handler, options, target = el } = el._onScroll\n\n target.removeEventListener('scroll', handler, options)\n delete el._onScroll\n}\n\nexport const Scroll = {\n inserted,\n unbind,\n} as DirectiveOptions\n\nexport default Scroll\n","// Directives\nimport { Scroll } from '../../directives'\n\n// Utilities\nimport { consoleWarn } from '../../util/console'\n\n// Types\nimport Vue from 'vue'\n\n/**\n * Scrollable\n *\n * Used for monitoring scrolling and\n * invoking functions based upon\n * scrolling thresholds being\n * met.\n */\n/* @vue/component */\nexport default Vue.extend({\n name: 'scrollable',\n\n directives: { Scroll },\n\n props: {\n scrollTarget: String,\n scrollThreshold: [String, Number],\n },\n\n data: () => ({\n currentScroll: 0,\n currentThreshold: 0,\n isActive: false,\n isScrollingUp: false,\n previousScroll: 0,\n savedScroll: 0,\n target: null as Element | null,\n }),\n\n computed: {\n /**\n * A computed property that returns\n * whether scrolling features are\n * enabled or disabled\n */\n canScroll (): boolean {\n return typeof window !== 'undefined'\n },\n /**\n * The threshold that must be met before\n * thresholdMet function is invoked\n */\n computedScrollThreshold (): number {\n return this.scrollThreshold\n ? Number(this.scrollThreshold)\n : 300\n },\n },\n\n watch: {\n isScrollingUp () {\n this.savedScroll = this.savedScroll || this.currentScroll\n },\n isActive () {\n this.savedScroll = 0\n },\n },\n\n mounted () {\n if (this.scrollTarget) {\n this.target = document.querySelector(this.scrollTarget)\n\n if (!this.target) {\n consoleWarn(`Unable to locate element with identifier ${this.scrollTarget}`, this)\n }\n }\n },\n\n methods: {\n onScroll () {\n if (!this.canScroll) return\n\n this.previousScroll = this.currentScroll\n this.currentScroll = this.target\n ? this.target.scrollTop\n : window.pageYOffset\n\n this.isScrollingUp = this.currentScroll < this.previousScroll\n this.currentThreshold = Math.abs(this.currentScroll - this.computedScrollThreshold)\n\n this.$nextTick(() => {\n if (\n Math.abs(this.currentScroll - this.savedScroll) >\n this.computedScrollThreshold\n ) this.thresholdMet()\n })\n },\n /**\n * The method invoked when\n * scrolling in any direction\n * has exceeded the threshold\n */\n thresholdMet () { /* noop */ },\n },\n})\n","// Styles\nimport './VAppBar.sass'\n\n// Extensions\nimport VToolbar from '../VToolbar/VToolbar'\n\n// Directives\nimport Scroll from '../../directives/scroll'\n\n// Mixins\nimport Applicationable from '../../mixins/applicationable'\nimport Scrollable from '../../mixins/scrollable'\nimport SSRBootable from '../../mixins/ssr-bootable'\nimport Toggleable from '../../mixins/toggleable'\n\n// Utilities\nimport { convertToUnit } from '../../util/helpers'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\n\nconst baseMixins = mixins(\n VToolbar,\n Scrollable,\n SSRBootable,\n Toggleable,\n Applicationable('top', [\n 'clippedLeft',\n 'clippedRight',\n 'computedHeight',\n 'invertedScroll',\n 'isExtended',\n 'isProminent',\n 'value',\n ])\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-app-bar',\n\n directives: { Scroll },\n\n props: {\n clippedLeft: Boolean,\n clippedRight: Boolean,\n collapseOnScroll: Boolean,\n elevateOnScroll: Boolean,\n fadeImgOnScroll: Boolean,\n hideOnScroll: Boolean,\n invertedScroll: Boolean,\n scrollOffScreen: Boolean,\n shrinkOnScroll: Boolean,\n value: {\n type: Boolean,\n default: true,\n },\n },\n\n data () {\n return {\n isActive: this.value,\n }\n },\n\n computed: {\n applicationProperty (): string {\n return !this.bottom ? 'top' : 'bottom'\n },\n canScroll (): boolean {\n return (\n Scrollable.options.computed.canScroll.call(this) &&\n (\n this.invertedScroll ||\n this.elevateOnScroll ||\n this.hideOnScroll ||\n this.collapseOnScroll ||\n this.isBooted ||\n // If falsey, user has provided an\n // explicit value which should\n // overwrite anything we do\n !this.value\n )\n )\n },\n classes (): object {\n return {\n ...VToolbar.options.computed.classes.call(this),\n 'v-toolbar--collapse': this.collapse || this.collapseOnScroll,\n 'v-app-bar': true,\n 'v-app-bar--clipped': this.clippedLeft || this.clippedRight,\n 'v-app-bar--fade-img-on-scroll': this.fadeImgOnScroll,\n 'v-app-bar--elevate-on-scroll': this.elevateOnScroll,\n 'v-app-bar--fixed': !this.absolute && (this.app || this.fixed),\n 'v-app-bar--hide-shadow': this.hideShadow,\n 'v-app-bar--is-scrolled': this.currentScroll > 0,\n 'v-app-bar--shrink-on-scroll': this.shrinkOnScroll,\n }\n },\n computedContentHeight (): number {\n if (!this.shrinkOnScroll) return VToolbar.options.computed.computedContentHeight.call(this)\n\n const height = this.computedOriginalHeight\n\n const min = this.dense ? 48 : 56\n const max = height\n const difference = max - min\n const iteration = difference / this.computedScrollThreshold\n const offset = this.currentScroll * iteration\n\n return Math.max(min, max - offset)\n },\n computedFontSize (): number | undefined {\n if (!this.isProminent) return undefined\n\n const max = this.dense ? 96 : 128\n const difference = max - this.computedContentHeight\n const increment = 0.00347\n\n // 1.5rem to a minimum of 1.25rem\n return Number((1.50 - difference * increment).toFixed(2))\n },\n computedLeft (): number {\n if (!this.app || this.clippedLeft) return 0\n\n return this.$vuetify.application.left\n },\n computedMarginTop (): number {\n if (!this.app) return 0\n\n return this.$vuetify.application.bar\n },\n computedOpacity (): number | undefined {\n if (!this.fadeImgOnScroll) return undefined\n\n const opacity = Math.max(\n (this.computedScrollThreshold - this.currentScroll) / this.computedScrollThreshold,\n 0\n )\n\n return Number(parseFloat(opacity).toFixed(2))\n },\n computedOriginalHeight (): number {\n let height = VToolbar.options.computed.computedContentHeight.call(this)\n if (this.isExtended) height += parseInt(this.extensionHeight)\n return height\n },\n computedRight (): number {\n if (!this.app || this.clippedRight) return 0\n\n return this.$vuetify.application.right\n },\n computedScrollThreshold (): number {\n if (this.scrollThreshold) return Number(this.scrollThreshold)\n\n return this.computedOriginalHeight - (this.dense ? 48 : 56)\n },\n computedTransform (): number {\n if (\n !this.canScroll ||\n (this.elevateOnScroll && this.currentScroll === 0 && this.isActive)\n ) return 0\n\n if (this.isActive) return 0\n\n const scrollOffScreen = this.scrollOffScreen\n ? this.computedHeight\n : this.computedContentHeight\n\n return this.bottom ? scrollOffScreen : -scrollOffScreen\n },\n hideShadow (): boolean {\n if (this.elevateOnScroll && this.isExtended) {\n return this.currentScroll < this.computedScrollThreshold\n }\n\n if (this.elevateOnScroll) {\n return this.currentScroll === 0 ||\n this.computedTransform < 0\n }\n\n return (\n !this.isExtended ||\n this.scrollOffScreen\n ) && this.computedTransform !== 0\n },\n isCollapsed (): boolean {\n if (!this.collapseOnScroll) {\n return VToolbar.options.computed.isCollapsed.call(this)\n }\n\n return this.currentScroll > 0\n },\n isProminent (): boolean {\n return (\n VToolbar.options.computed.isProminent.call(this) ||\n this.shrinkOnScroll\n )\n },\n styles (): object {\n return {\n ...VToolbar.options.computed.styles.call(this),\n fontSize: convertToUnit(this.computedFontSize, 'rem'),\n marginTop: convertToUnit(this.computedMarginTop),\n transform: `translateY(${convertToUnit(this.computedTransform)})`,\n left: convertToUnit(this.computedLeft),\n right: convertToUnit(this.computedRight),\n }\n },\n },\n\n watch: {\n canScroll: 'onScroll',\n computedTransform () {\n // Normally we do not want the v-app-bar\n // to update the application top value\n // to avoid screen jump. However, in\n // this situation, we must so that\n // the clipped drawer can update\n // its top value when scrolled\n if (\n !this.canScroll ||\n (!this.clippedLeft && !this.clippedRight)\n ) return\n\n this.callUpdate()\n },\n invertedScroll (val: boolean) {\n this.isActive = !val || this.currentScroll !== 0\n },\n },\n\n created () {\n if (this.invertedScroll) this.isActive = false\n },\n\n methods: {\n genBackground () {\n const render = VToolbar.options.methods.genBackground.call(this)\n\n render.data = this._b(render.data || {}, render.tag!, {\n style: { opacity: this.computedOpacity },\n })\n\n return render\n },\n updateApplication (): number {\n return this.invertedScroll\n ? 0\n : this.computedHeight + this.computedTransform\n },\n thresholdMet () {\n if (this.invertedScroll) {\n this.isActive = this.currentScroll > this.computedScrollThreshold\n return\n }\n\n if (this.hideOnScroll) {\n this.isActive = this.isScrollingUp ||\n this.currentScroll < this.computedScrollThreshold\n }\n\n if (this.currentThreshold < this.computedScrollThreshold) return\n\n this.savedScroll = this.currentScroll\n },\n },\n\n render (h): VNode {\n const render = VToolbar.options.render.call(this, h)\n\n render.data = render.data || {}\n\n if (this.canScroll) {\n render.data.directives = render.data.directives || []\n render.data.directives.push({\n arg: this.scrollTarget,\n name: 'scroll',\n value: this.onScroll,\n })\n }\n\n return render\n },\n})\n","// Components\nimport VIcon from '../VIcon'\nimport VBtn from '../VBtn/VBtn'\n\n// Types\nimport Vue from 'vue'\n\n/* @vue/component */\nexport default Vue.extend({\n name: 'v-app-bar-nav-icon',\n\n functional: true,\n\n render (h, { slots, listeners, props, data }) {\n const d = Object.assign(data, {\n staticClass: (`v-app-bar__nav-icon ${data.staticClass || ''}`).trim(),\n props: {\n ...props,\n icon: true,\n },\n on: listeners,\n })\n\n const defaultSlot = slots().default\n\n return h(VBtn, d, defaultSlot || [h(VIcon, '$menu')])\n },\n})\n","import Routable from '../../mixins/routable'\n\nimport mixins from '../../util/mixins'\nimport { VNode } from 'vue'\n\n/* @vue/component */\nexport default mixins(Routable).extend({\n name: 'v-breadcrumbs-item',\n\n props: {\n // In a breadcrumb, the currently\n // active item should be dimmed\n activeClass: {\n type: String,\n default: 'v-breadcrumbs__item--disabled',\n },\n ripple: {\n type: [Boolean, Object],\n default: false,\n },\n },\n\n computed: {\n classes (): object {\n return {\n 'v-breadcrumbs__item': true,\n [this.activeClass]: this.disabled,\n }\n },\n },\n\n render (h): VNode {\n const { tag, data } = this.generateRouteLink()\n\n return h('li', [\n h(tag, {\n ...data,\n attrs: {\n ...data.attrs,\n 'aria-current': this.isActive && this.isLink ? 'page' : undefined,\n },\n }, this.$slots.default),\n ])\n },\n})\n","import { createSimpleFunctional } from '../../util/helpers'\n\nexport default createSimpleFunctional('v-breadcrumbs__divider', 'li')\n","// Styles\nimport './VBreadcrumbs.sass'\n\n// Types\nimport { VNode, PropType } from 'vue'\n\n// Components\nimport VBreadcrumbsItem from './VBreadcrumbsItem'\nimport VBreadcrumbsDivider from './VBreadcrumbsDivider'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\n\n// Utils\nimport mixins from '../../util/mixins'\n\nexport default mixins(\n Themeable\n /* @vue/component */\n).extend({\n name: 'v-breadcrumbs',\n\n props: {\n divider: {\n type: String,\n default: '/',\n },\n items: {\n type: Array as PropType,\n default: () => ([]),\n },\n large: Boolean,\n },\n\n computed: {\n classes (): object {\n return {\n 'v-breadcrumbs--large': this.large,\n ...this.themeClasses,\n }\n },\n },\n\n methods: {\n genDivider () {\n return this.$createElement(VBreadcrumbsDivider, this.$slots.divider ? this.$slots.divider : this.divider)\n },\n genItems () {\n const items = []\n const hasSlot = !!this.$scopedSlots.item\n const keys = []\n\n for (let i = 0; i < this.items.length; i++) {\n const item = this.items[i]\n\n keys.push(item.text)\n\n if (hasSlot) items.push(this.$scopedSlots.item!({ item }))\n else items.push(this.$createElement(VBreadcrumbsItem, { key: keys.join('.'), props: item }, [item.text]))\n\n if (i < this.items.length - 1) items.push(this.genDivider())\n }\n\n return items\n },\n },\n\n render (h): VNode {\n const children = this.$slots.default || this.genItems()\n\n return h('ul', {\n staticClass: 'v-breadcrumbs',\n class: this.classes,\n }, children)\n },\n})\n","import { render, staticRenderFns } from \"./Dashboard.vue?vue&type=template&id=6b14d3b3&\"\nimport script from \"./Dashboard.vue?vue&type=script&lang=ts&\"\nexport * from \"./Dashboard.vue?vue&type=script&lang=ts&\"\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\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VApp } from 'vuetify/lib/components/VApp';\nimport { VAppBar } from 'vuetify/lib/components/VAppBar';\nimport { VAppBarNavIcon } from 'vuetify/lib/components/VAppBar';\nimport { VBreadcrumbs } from 'vuetify/lib/components/VBreadcrumbs';\nimport { VMain } from 'vuetify/lib/components/VMain';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VApp,VAppBar,VAppBarNavIcon,VBreadcrumbs,VMain,VSpacer,VToolbarTitle})\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Overlay.vue?vue&type=style&index=0&id=27df02ef&prod&lang=scss&\"","import Vue from 'vue'\n\n/**\n * SSRBootable\n *\n * @mixin\n *\n * Used in layout components (drawer, toolbar, content)\n * to avoid an entry animation when using SSR\n */\nexport default Vue.extend({\n name: 'ssr-bootable',\n\n data: () => ({\n isBooted: false,\n }),\n\n mounted () {\n // Use setAttribute instead of dataset\n // because dataset does not work well\n // with unit tests\n window.requestAnimationFrame(() => {\n this.$el.setAttribute('data-booted', 'true')\n this.isBooted = true\n })\n },\n})\n","// Styles\nimport './VOverlay.sass'\n\n// Mixins\nimport Colorable from './../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\nimport Toggleable from './../../mixins/toggleable'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\n\n/* @vue/component */\nexport default mixins(\n Colorable,\n Themeable,\n Toggleable\n).extend({\n name: 'v-overlay',\n\n props: {\n absolute: Boolean,\n color: {\n type: String,\n default: '#212121',\n },\n dark: {\n type: Boolean,\n default: true,\n },\n opacity: {\n type: [Number, String],\n default: 0.46,\n },\n value: {\n default: true,\n },\n zIndex: {\n type: [Number, String],\n default: 5,\n },\n },\n\n computed: {\n __scrim (): VNode {\n const data = this.setBackgroundColor(this.color, {\n staticClass: 'v-overlay__scrim',\n style: {\n opacity: this.computedOpacity,\n },\n })\n\n return this.$createElement('div', data)\n },\n classes (): object {\n return {\n 'v-overlay--absolute': this.absolute,\n 'v-overlay--active': this.isActive,\n ...this.themeClasses,\n }\n },\n computedOpacity (): number {\n return Number(this.isActive ? this.opacity : 0)\n },\n styles (): object {\n return {\n zIndex: this.zIndex,\n }\n },\n },\n\n methods: {\n genContent () {\n return this.$createElement('div', {\n staticClass: 'v-overlay__content',\n }, this.$slots.default)\n },\n },\n\n render (h): VNode {\n const children = [this.__scrim]\n\n if (this.isActive) children.push(this.genContent())\n\n return h('div', {\n staticClass: 'v-overlay',\n 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} 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 ) 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.scrollHeight > el.clientHeight\n },\n shouldScroll (el: Element, delta: number) {\n if (el.scrollTop === 0 && delta < 0) return true\n return el.scrollTop + el.clientHeight === el.scrollHeight && delta > 0\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 = e.path || this.composedPath(e)\n const delta = e.deltaY\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, delta)\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, delta)\n }\n\n return true\n },\n /**\n * Polyfill for Event.prototype.composedPath\n */\n composedPath (e: WheelEvent): EventTarget[] {\n if (e.composedPath) return e.composedPath()\n\n const path = []\n let el = e.target as Element\n\n while (el) {\n path.push(el)\n\n if (el.tagName === 'HTML') {\n path.push(document)\n path.push(window)\n\n return path\n }\n\n el = el.parentElement!\n }\n return path\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","// Styles\nimport './VMain.sass'\n\n// Mixins\nimport SSRBootable from '../../mixins/ssr-bootable'\n\n// Types\nimport { VNode } from 'vue'\n\n/* @vue/component */\nexport default SSRBootable.extend({\n name: 'v-main',\n\n props: {\n tag: {\n type: String,\n default: 'main',\n },\n },\n\n computed: {\n styles (): object {\n const {\n bar, top, right, footer, insetFooter, bottom, left,\n } = this.$vuetify.application\n\n return {\n paddingTop: `${top + bar}px`,\n paddingRight: `${right}px`,\n paddingBottom: `${footer + insetFooter + bottom}px`,\n paddingLeft: `${left}px`,\n }\n },\n },\n\n render (h): VNode {\n const data = {\n staticClass: 'v-main',\n style: this.styles,\n ref: 'main',\n }\n\n return h(this.tag, data, [\n h(\n 'div',\n { staticClass: 'v-main__wrap' },\n this.$slots.default\n ),\n ])\n },\n})\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Menu.vue?vue&type=style&index=0&id=56f2c043&prod&lang=scss&scoped=true&\""],"sourceRoot":""}