{"version":3,"file":"js/app.e2a28d09a8da59a1ddf7.js","mappings":"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","sources":["webpack:///./resources/area/web/default/js/components/hotspot/Hotspot.vue?66dd","webpack:///./resources/area/web/default/js/components/hotspot/Hotspot.vue?df5a","webpack:///./resources/area/web/default/js/components/hotspot/Hotspot.vue?8b8e","webpack:///./resources/area/web/default/js/components/hotspot/Hotspot.vue?e6a5"],"sourcesContent":["\nimport {Component, Vue, Prop} from 'vue-property-decorator';\nimport ServiceContainer from '@flashpointbv/solar-service-container';\n\n@Component({\n name: 'page-builder-hotspot',\n components: {\n ...ServiceContainer().getComponents(),\n 'hotspot-plain-spot': () => import('../hotspot/partials/PlainSpot.vue'),\n 'hotspot-product-spot': () => import('../hotspot/partials/ProductSpot.vue'),\n }\n})\n\nexport default class extends Vue {\n @Prop({required: true}) private hotspot!: object;\n @Prop({default: 1}) private blockId!: number;\n\n private activeSpot: number | null = null;\n\n private get imageSrc(): null | string {\n if ( ! this.hotspot['image_desktop']) {\n return null;\n }\n\n return this.hotspot['image_desktop']['location'];\n }\n\n private get mobileImageSrc(): null | string {\n if ( ! this.hotspot['image_mobile']) {\n return null;\n }\n\n return this.hotspot['image_mobile']['location'];\n }\n\n private spotLocation(spot: object, position: string): number {\n return this.$mobileDetect.mobile() && this.mobileImageSrc !== null ? spot[`position_mobile_${position}`] : spot[`position_desktop_${position}`];\n }\n\n private selectSpot(key): void {\n this.activeSpot = this.activeSpot === key ? null : key;\n }\n\n private mounted(): void {\n document.addEventListener('click', e => {\n if ( ! (e.target as HTMLElement).classList.contains('item__details') && ! (e.target as HTMLElement).classList.contains('show__hotspot')) {\n this.activeSpot = null;\n }\n });\n }\n\n private get getTranslatedValue(): object {\n const locale = window.Locale || 'nl_NL';\n\n return this.hotspot['translations'].filter((value: object) => value['locale'] === locale)[0];\n }\n}\n","import { render, staticRenderFns } from \"./Hotspot.vue?vue&type=template&id=5931531a&scoped=true&\"\nimport script from \"./Hotspot.vue?vue&type=script&lang=ts&\"\nexport * from \"./Hotspot.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Hotspot.vue?vue&type=style&index=0&id=5931531a&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 \"5931531a\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../../../../node_modules/ts-loader/index.js??clonedRuleSet-6.use[0]!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Hotspot.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../../node_modules/ts-loader/index.js??clonedRuleSet-6.use[0]!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Hotspot.vue?vue&type=script&lang=ts&\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('section',{staticClass:\"hotspot__container\",class:`hotspot--${_vm.blockId}`},[(_vm.imageSrc)?_c('picture',[(_vm.mobileImageSrc)?_c('source',{attrs:{\"srcset\":_vm.mobileImageSrc,\"media\":\"(max-width: 767px)\"}}):_vm._e(),_vm._v(\" \"),_c('img',{attrs:{\"src\":_vm.imageSrc,\"height\":_vm.hotspot['image_desktop']['height'],\"width\":_vm.hotspot['image_desktop']['width'],\"alt\":_vm.hotspot['title'] || '',\"loading\":\"lazy\"}})]):_vm._e(),_vm._v(\" \"),_vm._l((_vm.hotspot['spots']),function(spot,key){return _c('div',{staticClass:\"hotspot__item\",class:{'--active': key === _vm.activeSpot},style:({ left: `${_vm.spotLocation(spot, 'x')}%`, top: `${_vm.spotLocation(spot, 'y')}%`})},[_c('div',{staticClass:\"hotspot__item__content\",class:{'--active': key === _vm.activeSpot}},[_c('button',{staticClass:\"show__hotspot\",class:{'--active': key === _vm.activeSpot, '--small': spot.size === 'small'},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.selectSpot(key)}}},[_c('span',{staticClass:\"--spot\",style:({ color: spot['color'] || '#000000', borderColor: spot['border_color'] || '#000000', backgroundColor: spot['background_color'] || '#FFFFFF' }),domProps:{\"innerHTML\":_vm._s(spot['icon_svg'] || '+')}})]),_vm._v(\" \"),_c('transition',{attrs:{\"name\":\"slide-fade\"}},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(key === _vm.activeSpot),expression:\"key === activeSpot\"}],staticClass:\"hotspot__item__detail\",class:{ '--right': _vm.spotLocation(spot, 'x') > 50, '--bottom': _vm.spotLocation(spot, 'y') > 50 }},[_c(`hotspot-${spot.type}`,{tag:\"component\",attrs:{\"spot\":spot}})],1)])],1)])}),_vm._v(\" \"),(_vm.getTranslatedValue['button_url'])?_c('a',{staticClass:\"--button\",attrs:{\"href\":_vm.getTranslatedValue['button_url']}},[_vm._v(_vm._s(_vm.getTranslatedValue['button_text']))]):_vm._e()],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }"],"names":["Vue","activeSpot","imageSrc","this","hotspot","mobileImageSrc","spotLocation","spot","position","$mobileDetect","mobile","selectSpot","key","mounted","document","addEventListener","e","target","classList","contains","getTranslatedValue","locale","window","Locale","filter","value","Prop","required","default","Component","name","components","getComponents","render","_vm","_c","_self","_setupProxy","staticClass","class","blockId","attrs","_e","_v","_l","style","left","top","size","on","$event","preventDefault","stopPropagation","color","borderColor","backgroundColor","domProps","_s","directives","rawName","expression","type","tag","staticRenderFns"],"sourceRoot":""}