{"version":3,"file":"js/app.bafde61ff6f6e1947f6e.js","mappings":"8nCA0DA,8BAA6B,EAAAA,IAA7B,c,oBAQU,KAAAC,eAAgC,GAChC,KAAAC,cAAwB,EACxB,KAAAC,QAAkB,CAsD5B,CApDUC,SAASC,GACf,MAAMC,EAAaD,EAAEE,OAAOC,uBAAuB,kBAEnDC,KAAKN,OAAoB,eAAXE,EAAEK,KAEZJ,EAAWK,SACbF,KAAKG,MAAMC,OAAOC,MAAMC,OAAoB,eAAXV,EAAEK,KAAwB,QAAQJ,EAAW,GAAGU,2BAA6B,OAElH,CAEcC,iB,yCAGZ,GAFAR,KAAKP,cAAgBO,KAAKP,aAEtBO,KAAKP,aAAc,CACrB,GAAI,EAAAgB,kBAAkBC,QAAQ,qBAAuBV,KAAKW,iBAAmB,EAAAF,kBAAkBC,QAAQ,qBAAuBV,KAAKW,gBAAgBC,WAAaC,KAAKC,MAInK,OAHAd,KAAKR,eAAiBuB,KAAKC,MAAM,EAAAP,kBAAkBC,QAAQ,qBAAuBV,KAAKW,gBAAgBM,WACvGC,QAAQC,IAAInB,KAAKR,gBAKnB,MAAM,KAACyB,SAAcjB,KAAKoB,aAAaC,IAAI,uBAAyBrB,KAAKW,gBACzEO,QAAQC,IAAIF,GAERA,IACFjB,KAAKR,eAAiByB,EACtB,EAAAR,kBAAkBa,QAChB,qBAAuBtB,KAAKW,eAC5B,CACEC,WAAaC,KAAKC,MAAQ,KAC1BG,KAAMF,KAAKQ,UAAUN,K,CAK/B,G,CAEQO,wBACNxB,KAAKP,cAAe,CACtB,CAEQgC,UACN,IAAIC,EAAQ1B,KAQZ2B,OAAOC,iBAAiB,SANDhC,IACL,KAAZA,EAAEiC,OACJH,EAAMF,uB,IAIwC,EACpD,GA1DQ,IAAP,IAAAM,Q,8DACO,IAAP,IAAAA,Q,qDANH,MApBC,IAAAC,WAAU,CACTC,KAAM,oBACNC,YAAY,eAAmBC,gBAC/BC,WAAY,CACV,gBAAiB,CACfC,KAAKC,EAAIC,EAASC,GAChBF,EAAGG,kBAAqBC,KAChBJ,IAAOI,EAAM3C,SAAUuC,EAAGK,SAASD,EAAM3C,SAAY2C,EAAM3C,OAAO6C,UAAUD,SAAS,gBACzFH,EAAMK,QAAQN,EAAQO,YAAYJ,E,EAGtCK,SAASC,KAAKnB,iBAAiB,QAASS,EAAsB,kBAChE,EACAW,OAAOX,GACLS,SAASC,KAAKE,oBAAoB,QAASZ,EAAsB,kBACnE,O,yMCnCN,SAXgB,E,SAAA,GACd,UACA,IACA,KACA,EACA,KACA,KACA,MAI8B,O,mJClBsM,QAAe,G,6DCArP,IAAIa,OAAS,WAAa,IAAIC,EAAInD,KAASoD,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACnB,WAAW,CAAC,CAACH,KAAK,gBAAgBwB,QAAQ,kBAAkBC,MAAON,EAAyB,sBAAEN,WAAW,0BAA0Ba,YAAY,sBAAsB,CAACJ,EAAG,SAAS,CAACK,MAAM,CAAE,WAAYR,EAAI1D,cAAemE,SAAS,CAAC,YAAcT,EAAIU,GAAGV,EAAIW,QAAQC,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOb,EAAI3C,gBAAgB,KAAK2C,EAAIc,GAAG,KAAMd,EAAgB,aAAEG,EAAG,MAAM,CAACI,YAAY,cAAc,CAACJ,EAAG,MAAM,CAACY,IAAI,UAAU,CAACZ,EAAG,KAAKH,EAAIgB,GAAIhB,EAAkB,gBAAE,SAASiB,EAAKC,GAAO,OAAOf,EAAG,KAAK,CAACgB,IAAID,EAAMV,MAAM,CACtlB,YAAaS,EAAKG,eAAe,UAAYH,EAAY,MAAElE,OAC3D,WAAYkE,EAAgB,WAAK,IAAIlE,QACrC6D,GAAG,CAAC,WAAa,SAASC,GAAQ,OAAOb,EAAIxD,SAASqE,EAAO,EAAE,WAAa,SAASA,GAAQ,OAAOb,EAAIxD,SAASqE,EAAO,IAAI,CAACV,EAAG,IAAI,CAACkB,MAAM,CAAC,KAAOJ,EAAU,MAAI,CAAEA,EAAKG,eAAe,aAAcjB,EAAG,MAAM,CAACkB,MAAM,CAAC,IAAMJ,EAAgB,aAAKjB,EAAIsB,KAAKtB,EAAIc,GAAG,KAAKX,EAAG,OAAO,CAACH,EAAIc,GAAGd,EAAIU,GAAGO,EAAY,YAAQjB,EAAIc,GAAG,KAAMd,EAAIzD,QAAU0E,EAAKG,eAAe,UAAYH,EAAY,MAAElE,OAAQoD,EAAG,MAAM,CAACI,YAAY,iBAAiBE,SAAS,CAAC,UAAYT,EAAIU,GAAGO,EAAY,MAAE,GAAS,SAAMjB,EAAIsB,MAAM,IAAG,OAAOtB,EAAIsB,MAAM,EAC3gBC,EAAkB,E","sources":["webpack:///./resources/area/web/default/js/components/GlobalNavigation.vue?0bd4","webpack:///./resources/area/web/default/js/components/GlobalNavigation.vue","webpack:///./resources/area/web/default/js/components/GlobalNavigation.vue?7159","webpack:///./resources/area/web/default/js/components/GlobalNavigation.vue?eb7b"],"sourcesContent":["\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\nimport {Component, Prop, Vue} from 'vue-property-decorator';\nimport {appSessionStorage} from '../shared/services';\nimport ServiceContainer from '@flashpointbv/solar-service-container';\nimport {getDirective} from \"vue-debounce\";\n\n@Component({\n name: 'global-navigation',\n components: ServiceContainer().getComponents(),\n directives: {\n 'click-outside': {\n bind(el, binding, vnode) {\n el.clickOutsideEvent = (event) => {\n if (!(el === event.target || el.contains(event.target)) || event.target.classList.contains('--dropdown')) {\n vnode.context[binding.expression](event);\n }\n };\n document.body.addEventListener('click', el['clickOutsideEvent']);\n },\n unbind(el) {\n document.body.removeEventListener('click', el['clickOutsideEvent']);\n }\n }\n }\n})\n\nexport default class extends Vue {\n $refs!: {\n navRef: HTMLElement\n }\n\n @Prop() private navigationCode: string;\n @Prop() private label: string;\n\n private navigationList: Array<object> = [];\n private showDropdown: boolean = false;\n private isOpen: boolean = false;\n\n private resizeEl(e): void {\n const dropdownEl = e.target.getElementsByClassName('item__dropdown');\n\n this.isOpen = e.type === 'mouseenter';\n\n if (dropdownEl.length) {\n this.$refs.navRef.style.height = e.type === 'mouseenter' ? `calc(${dropdownEl[0].clientHeight}px - 3.4rem)` : 'auto';\n }\n }\n\n private async toggleDropdown(): Promise<void> {\n this.showDropdown = !this.showDropdown;\n\n if (this.showDropdown) {\n if (appSessionStorage.getItem('global-navigation-' + this.navigationCode) && appSessionStorage.getItem('global-navigation-' + this.navigationCode).expiration > Date.now()) {\n this.navigationList = JSON.parse(appSessionStorage.getItem('global-navigation-' + this.navigationCode).data);\n console.log(this.navigationList);\n\n return;\n }\n\n const {data} = await this.$solarClient.get('/api/get-navigation/' + this.navigationCode)\n console.log(data);\n\n if (data) {\n this.navigationList = data;\n appSessionStorage.setItem(\n 'global-navigation-' + this.navigationCode,\n {\n expiration: (Date.now() + ((1000 * 60) * 60)),\n data: JSON.stringify(data)\n }\n );\n }\n }\n }\n\n private closeNavigationHolder(): void {\n this.showDropdown = false;\n }\n\n private mounted() {\n let _this = this;\n\n let closeNavigation = (e) => {\n if (e.which === 27) {\n _this.closeNavigationHolder();\n }\n };\n\n window.addEventListener('keyup', closeNavigation, false);\n }\n}\n","import { render, staticRenderFns } from \"./GlobalNavigation.vue?vue&type=template&id=29ecc1de&\"\nimport script from \"./GlobalNavigation.vue?vue&type=script&lang=ts&\"\nexport * from \"./GlobalNavigation.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","import mod from \"-!../../../../../../node_modules/ts-loader/index.js??clonedRuleSet-5[0].rules[0].use[0]!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GlobalNavigation.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/ts-loader/index.js??clonedRuleSet-5[0].rules[0].use[0]!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GlobalNavigation.vue?vue&type=script&lang=ts&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:(_vm.closeNavigationHolder),expression:\"closeNavigationHolder\"}],staticClass:\"global__navigation\"},[_c('button',{class:{ '--active': _vm.showDropdown },domProps:{\"textContent\":_vm._s(_vm.label)},on:{\"click\":function($event){return _vm.toggleDropdown()}}}),_vm._v(\" \"),(_vm.showDropdown)?_c('div',{staticClass:\"--dropdown\"},[_c('nav',{ref:\"navRef\"},[_c('ul',_vm._l((_vm.navigationList),function(item,index){return _c('li',{key:index,class:{\n '--has-sub': item.hasOwnProperty('items') && item['items'].length,\n '--image': (item['image_url'] || '').length\n },on:{\"mouseleave\":function($event){return _vm.resizeEl($event)},\"mouseenter\":function($event){return _vm.resizeEl($event)}}},[_c('a',{attrs:{\"href\":item['url']}},[(item.hasOwnProperty('image_url'))?_c('img',{attrs:{\"src\":item['image_url']}}):_vm._e(),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(item['label']))])]),_vm._v(\" \"),(_vm.isOpen && item.hasOwnProperty('items') && item['items'].length)?_c('div',{staticClass:\"item__dropdown\",domProps:{\"innerHTML\":_vm._s(item['items'][0]['html'])}}):_vm._e()])}),0)])]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }"],"names":["Vue","navigationList","showDropdown","isOpen","resizeEl","e","dropdownEl","target","getElementsByClassName","this","type","length","$refs","navRef","style","height","clientHeight","toggleDropdown","appSessionStorage","getItem","navigationCode","expiration","Date","now","JSON","parse","data","console","log","$solarClient","get","setItem","stringify","closeNavigationHolder","mounted","_this","window","addEventListener","which","Prop","Component","name","components","getComponents","directives","bind","el","binding","vnode","clickOutsideEvent","event","contains","classList","context","expression","document","body","unbind","removeEventListener","render","_vm","_h","$createElement","_c","_self","rawName","value","staticClass","class","domProps","_s","label","on","$event","_v","ref","_l","item","index","key","hasOwnProperty","attrs","_e","staticRenderFns"],"sourceRoot":""}