{"version":3,"sources":["webpack:///./src/router/layouts/main.vue?4af7","webpack:///./src/components/layout/the-nav-drawer.vue?76de","webpack:///./src/components/layout/the-drawer-minifier.vue?6540","webpack:///src/components/layout/the-drawer-minifier.vue","webpack:///./src/components/layout/the-drawer-minifier.vue?7ad3","webpack:///./src/components/layout/the-drawer-minifier.vue","webpack:///./src/components/layout/the-create-booking-btn.vue?1800","webpack:///src/components/layout/the-create-booking-btn.vue","webpack:///./src/components/layout/the-create-booking-btn.vue?8467","webpack:///./src/components/layout/the-create-booking-btn.vue","webpack:///src/components/layout/the-nav-drawer.vue","webpack:///./src/components/layout/the-nav-drawer.vue?6868","webpack:///../../../src/components/VNavigationDrawer/VNavigationDrawer.ts","webpack:///./src/components/layout/the-nav-drawer.vue","webpack:///src/router/layouts/main.vue","webpack:///./src/router/layouts/main.vue?29bc","webpack:///./src/router/layouts/main.vue","webpack:///./src/mixins/navMixin.js"],"names":["render","_vm","this","_h","$createElement","_c","_self","attrs","drawer","on","$event","staticClass","class","noGutters","compXAxisPadding","staticStyle","isLargeOrLower","_t","staticRenderFns","isDarkMode","isMobileViewPort","isMini","handleDrawer","scopedSlots","_u","key","fn","compLogoForm","compShade","proxy","_l","ref","icon","title","to","_g","isActiveNavItem","convertToActiveIcon","_v","_s","mini","_b","stopPropagation","toggleMiniDrawer","domProps","$t","$router","push","name","_e","mixins","baseMixin","computed","methods","component","VBtn","VDivider","VIcon","VTooltip","props","type","Boolean","hasPermissionRegardlessOfLevel","PermissionScope","components","TheDrawerMinifier","BaseLogo","TheCreateBookingBtn","LogoForm","LogoShade","event","$emit","strSplit","split","baseMixins","directives","Touch","isInNav","tag","bottom","clipped","disableResizeWatcher","disableRouteWatcher","expandOnHover","floating","height","Number","app","miniVariant","miniVariantWidth","default","permanent","right","src","String","stateless","temporary","touchless","width","value","data","isMouseover","touchArea","left","stackMinZIndex","themeClasses","computedMaxHeight","$vuetify","application","computedTop","isMiniVariant","isMobile","translate","isBottom","top","maxHeight","transform","watch","$route","prev","isActive","removeOverlay","val","parent","$el","parentRect","genPosition","image","$scopedSlots","img","VImg","handler","closeConditional","include","getOpenDependentElements","swipeRight","transitionend","e","resizeEvent","document","window","slot","$slots","reactsToRoute","Math","isNaN","children","h","setBackgroundColor","style","genListeners","VList","VListItem","VListItemContent","VListItemIcon","VListItemTitle","VNavigationDrawer","OutstandingInvoiceAlert","TheDebugBar","TheNavDrawer","TheTopBar","TheImpersonateBar","ServiceStatusAlert","isLarge","isMedium","isSmallOrLower","VApp","VContainer","VFlex","VLayout","VMain","mapGetters","featureToggles","navItems","generateNavItems","filter","navItem","isRouteFeatureEnabled","displayNavItem","Object","prototype","hasOwnProperty","call","hasAccessToRoute","meta","permissions","store","routeDefinitions","home","candidates","requirement","PermissionRequirement","ONE","list","level","PermissionLevel","GROUP_AND_BELOW","scope","BOOKING","modifier","PermissionModifier","ALL","SELECTED_CLIENT_AND_BELOW","TIMESHEETS","ACCOUNTS","timesheets","finance","help"],"mappings":"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","file":"js/chunk-4441f9a2.a7df9c38.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-app',{attrs:{\"id\":\"client-login\"}},[_c('TheDebugBar'),_c('TheImpersonateBar'),_c('TheNavDrawer',{attrs:{\"drawer\":_vm.drawer},on:{\"setDrawerState\":function($event){_vm.drawer = $event}}}),_c('TheTopBar',{on:{\"toggleDrawer\":function($event){_vm.drawer = !_vm.drawer}}}),_c('v-main',{staticClass:\"mainDiv\"},[_c('ServiceStatusAlert'),_c('v-container',{class:['fill-height', _vm.noGutters ? 'ma-0 pa-0' : '', _vm.compXAxisPadding],staticStyle:{\"margin-bottom\":\"100px\"},attrs:{\"fluid\":_vm.isLargeOrLower}},[_c('v-layout',[_c('v-flex',{attrs:{\"xs12\":\"\",\"sm12\":\"\",\"md12\":\"\"}},[_c('OutstandingInvoiceAlert'),_vm._t(\"default\")],2)],1)],1)],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',{class:['nav-drawer sidebar', !_vm.isDarkMode ? 'grey lighten-5' : ''],attrs:{\"id\":\"main-navigation-drawer\",\"app\":\"\",\"hide-overlay\":!_vm.isMobileViewPort,\"value\":_vm.drawer,\"bottom\":\"\",\"temporary\":_vm.isMobileViewPort,\"mini-variant\":_vm.isMini,\"disable-route-watcher\":\"\"},on:{\"input\":function($event){return _vm.handleDrawer($event)}},scopedSlots:_vm._u([{key:\"prepend\",fn:function(){return [_c('div',{staticClass:\"d-flex align-center justify-center\",staticStyle:{\"height\":\"72px\"}},[_c('BaseLogo',{attrs:{\"width\":_vm.isMini ? '25' : '120',\"form\":_vm.compLogoForm,\"shade\":_vm.compShade}})],1),_c('TheCreateBookingBtn',{attrs:{\"mini\":_vm.isMini}})]},proxy:true},(!_vm.isMobileViewPort)?{key:\"append\",fn:function(){return [_c('TheDrawerMinifier')]},proxy:true}:null],null,true)},[_c('v-list',{staticClass:\"sidebar-nav indigo--text\",attrs:{\"flat\":\"\"}},_vm._l((_vm.navItems),function(ref){\nvar icon = ref.icon;\nvar title = ref.title;\nvar to = ref.to;\nvar key = ref.key;\nreturn _c('div',{key:key},[_c('v-tooltip',{attrs:{\"disabled\":!_vm.isMini,\"right\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-list-item',_vm._g({attrs:{\"to\":to,\"title\":title,\"aria-label\":title,\"exact\":\"\",\"link\":\"\",\"color\":\"primary\"}},on),[_c('v-list-item-icon',[_c('BaseIcon',{attrs:{\"color\":_vm.isActiveNavItem(to) ? 'blue' : '',\"name\":_vm.isActiveNavItem(to) ? _vm.convertToActiveIcon(icon) : icon,\"shade\":_vm.compShade}})],1),_c('v-list-item-content',[_c('v-list-item-title',{staticClass:\"subtitle-2\"},[_vm._v(\" \"+_vm._s(title)+\" \")])],1)],1)]}}],null,true)},[_c('span',[_vm._v(_vm._s(title))])])],1)}),0)],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('div',[_c('v-divider',{staticClass:\"opacity-6\"}),_c('div',{class:[_vm.mini ? 'd-flex flex-column-reverse' : 'd-flex flex-row-reverse']},[_c('v-tooltip',{attrs:{\"right\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('v-btn',_vm._g(_vm._b({staticClass:\"navbar-toggler-icon pa-7\",attrs:{\"id\":\"open-navbar-toggler-icon\",\"tile\":\"\",\"width\":\"20%\",\"icon\":\"\",\"active-class\":\"\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.toggleMiniDrawer($event)}}},'v-btn',attrs,false),on),[_c('v-icon',{domProps:{\"textContent\":_vm._s(\n !_vm.mini ? 'mdi-chevron-double-left' : 'mdi-chevron-double-right'\n )}})],1)]}}])},[_c('span',{domProps:{\"textContent\":_vm._s(\n !_vm.mini\n ? _vm.$t('layout.drawerMinifierOpenTooltipText')\n : _vm.$t('layout.drawerMinifierClosedTooltipText')\n )}})]),_c('v-tooltip',{attrs:{\"disabled\":!_vm.mini,\"right\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\nreturn [_c('v-btn',_vm._g({staticClass:\"pa-7\",attrs:{\"width\":\"80%\",\"text\":\"\",\"tile\":\"\",\"elevation\":\"0\"},on:{\"click\":function($event){return _vm.$router.push({ name: 'settings' })}}},on),[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\" mdi-cog \")]),(!_vm.mini)?_c('span',[_vm._v(\" \"+_vm._s(_vm.$t('settings.pageTitle'))+\" \")]):_vm._e()],1)]}}])},[_c('span',[_vm._v(_vm._s(_vm.$t('settings.pageTitle')))])])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./the-drawer-minifier.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./the-drawer-minifier.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./the-drawer-minifier.vue?vue&type=template&id=01661b2c&\"\nimport script from \"./the-drawer-minifier.vue?vue&type=script&lang=js&\"\nexport * from \"./the-drawer-minifier.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 { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VBtn,VDivider,VIcon,VTooltip})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.showCreateBookingButton)?_c('section',{class:[!_vm.mini ? 'px-4' : '', 'my-4 text-center']},[_c('v-tooltip',{attrs:{\"disabled\":!_vm.mini,\"right\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-btn',_vm._g({staticClass:\"cl-elevation white--text rounded-lg\",attrs:{\"fab\":_vm.mini,\"title\":_vm.$t('booking.newBookingBtn'),\"color\":\"blue\",\"block\":!_vm.mini,\"large\":!_vm.mini,\"small\":_vm.mini,\"to\":{ name: 'bookings-create' }}},on),[_c('v-icon',{attrs:{\"left\":!_vm.mini}},[_vm._v(\"mdi-plus\")]),(!_vm.mini)?_c('span',[_vm._v(\" \"+_vm._s(_vm.$t('booking.newBookingBtn'))+\" \")]):_vm._e()],1)]}}],null,false,1976190664)},[_c('span',[_vm._v(_vm._s(_vm.$t('booking.newBookingBtnTooltip')))])])],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./the-create-booking-btn.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./the-create-booking-btn.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./the-create-booking-btn.vue?vue&type=template&id=4b59269c&\"\nimport script from \"./the-create-booking-btn.vue?vue&type=script&lang=js&\"\nexport * from \"./the-create-booking-btn.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 { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VBtn,VIcon,VTooltip})\n","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./the-nav-drawer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./the-nav-drawer.vue?vue&type=script&lang=js&\"","// 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 directives: {\n ClickOutside,\n Resize,\n Touch,\n },\n\n provide (): object {\n return {\n isInNav: this.tag === 'nav',\n }\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 return {\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 },\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 \"./the-nav-drawer.vue?vue&type=template&id=3b3a9cea&\"\nimport script from \"./the-nav-drawer.vue?vue&type=script&lang=js&\"\nexport * from \"./the-nav-drawer.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 { VList } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemContent } from 'vuetify/lib/components/VList';\nimport { VListItemIcon } from 'vuetify/lib/components/VList';\nimport { VListItemTitle } from 'vuetify/lib/components/VList';\nimport { VNavigationDrawer } from 'vuetify/lib/components/VNavigationDrawer';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VList,VListItem,VListItemContent,VListItemIcon,VListItemTitle,VNavigationDrawer,VTooltip})\n","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./main.vue?vue&type=template&id=5994b5aa&\"\nimport script from \"./main.vue?vue&type=script&lang=js&\"\nexport * from \"./main.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 { VApp } from 'vuetify/lib/components/VApp';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VFlex } from 'vuetify/lib/components/VGrid';\nimport { VLayout } from 'vuetify/lib/components/VGrid';\nimport { VMain } from 'vuetify/lib/components/VMain';\ninstallComponents(component, {VApp,VContainer,VFlex,VLayout,VMain})\n","import store from '@state/store'\nimport { mapGetters } from 'vuex'\nimport { PermissionLevel } from '@/shared/constants/permissions/PermissionLevel'\nimport { PermissionScope } from '@/shared/constants/permissions/PermissionScope'\nimport { PermissionModifier } from '@/shared/constants/permissions/PermissionModifier'\nimport { PermissionRequirement } from '@/shared/constants/permissions/PermissionRequirement'\nimport { hasAccessToRoute } from '@/helpers/permissions-helpers.js'\nimport routeDefinitions from '@/shared/constants/routes/routeDefinitions'\nimport { displayNavItem } from '@/services/features/featureDecisions'\n\nexport default {\n computed: {\n ...mapGetters({\n featureToggles: 'features/featureToggles',\n }),\n navItems() {\n return this.generateNavItems().filter((navItem) => {\n const isRouteFeatureEnabled = displayNavItem(\n this.featureToggles,\n navItem.to.name\n )\n\n if (!Object.prototype.hasOwnProperty.call(navItem, 'permissions'))\n return isRouteFeatureEnabled\n\n return (\n isRouteFeatureEnabled &&\n hasAccessToRoute(\n {\n meta: {\n permissions: navItem.permissions,\n },\n },\n store\n )\n )\n })\n },\n },\n methods: {\n generateNavItems() {\n return [\n {\n key: 'nav-home',\n title: this.$t('home.homePageTitle'),\n icon: 'mdi-home',\n to: { name: routeDefinitions.home.name },\n },\n {\n key: 'nav-candidates',\n title: this.$t('candidates.pageTitle'),\n icon: 'mdi-account-group',\n to: { name: routeDefinitions.candidates.name },\n permissions: {\n requirement: PermissionRequirement.ONE,\n list: [\n {\n level: PermissionLevel.GROUP_AND_BELOW,\n scope: PermissionScope.BOOKING,\n modifier: PermissionModifier.ALL,\n },\n {\n level: PermissionLevel.SELECTED_CLIENT_AND_BELOW,\n scope: PermissionScope.TIMESHEETS,\n modifier: PermissionModifier.ALL,\n },\n {\n level: PermissionLevel.GROUP_AND_BELOW,\n scope: PermissionScope.ACCOUNTS,\n modifier: PermissionModifier.ALL,\n },\n ],\n },\n },\n {\n key: 'nav-timesheets',\n title: this.$t('timesheets.pageTitle'),\n icon: 'mdi-clock',\n to: { name: routeDefinitions.timesheets.name },\n permissions: {\n requirement: PermissionRequirement.ALL,\n list: [\n {\n level: PermissionLevel.SELECTED_CLIENT_AND_BELOW,\n scope: PermissionScope.TIMESHEETS,\n modifier: PermissionModifier.ALL,\n },\n ],\n },\n },\n {\n key: 'nav-finance',\n title: this.$t('finance.financePageTitle'),\n icon: 'mdi-finance',\n to: { name: routeDefinitions.finance.name },\n permissions: {\n requirement: PermissionRequirement.ALL,\n list: [\n {\n level: PermissionLevel.GROUP_AND_BELOW,\n scope: PermissionScope.ACCOUNTS,\n modifier: PermissionModifier.ALL,\n },\n ],\n },\n },\n {\n key: 'nav-help',\n title: this.$t('help.pageTitle'),\n icon: 'mdi-help-circle',\n to: { name: routeDefinitions.help.name },\n },\n ]\n },\n\n isActiveNavItem(to) {\n return to.name === this.$route.name\n },\n },\n}\n"],"sourceRoot":""}