{"version":3,"file":"js/app.e449954b8d816486cf01.js","mappings":"gnCAQe,8BAAc,EAAAA,IAAd,c,oBAKL,KAAAC,WAAqB,EACrB,KAAAC,cAAwB,EACxB,KAAAC,aAAuB,EACvB,KAAAC,YAA6B,KAC7B,KAAAC,cAA+B,GAC/B,KAAAC,MAAgB,EA8F1B,CA5FcC,iBACV,OAAOC,KAAKC,OAAOC,QAAQ,mBAC7B,CAGQC,YAAYC,EAAIC,GAClBD,IAAOC,IACTL,KAAKF,MAAQM,EACTJ,KAAKM,SACPN,KAAKO,eAGX,CAEQC,WAAWC,GAEjB,OADa,IAAIC,KAAKD,GACVE,mBAAmB,QAAS,CAAEC,QAAS,QACrD,CAEQC,QAAQJ,GACd,IAAKA,EAAY,OAAO,EAExB,MAAMK,EAAO,IAAIJ,KAAKD,GAChBM,EAAQ,IAAIL,KAElB,OACEI,EAAKE,iBAAmBD,EAAMC,cAElC,CAEcT,e,yCACZP,KAAKP,WAAY,EAEjB,IACE,MAAM,KAACwB,SAAcjB,KAAKkB,aAAaC,KAAK,4BAA6B,CACvEC,IAAKpB,KAAKoB,IACVtB,MAAOE,KAAKF,QAGVmB,EAAW,OACbjB,KAAKH,cAAgBoB,EAAW,KAAEI,QAAQC,GAA4B,GAAlBA,EAAMC,WAC1DvB,KAAKL,aAAgBK,KAAKH,cAAc2B,aAClCxB,KAAKC,OAAOwB,SAAS,sBAAuBzB,KAAKF,OACvDE,KAAKN,cAAe,GAGtBM,KAAKP,WAAY,C,CACjB,MAAOiC,GACPC,QAAQC,MAAMF,GACd1B,KAAKP,WAAY,EACjBO,KAAKN,cAAe,C,CAExB,G,CAEQmC,gBAAgBP,EAAeQ,GACrC,IAAIC,EAAQ,GAUZ,OARIT,EAAM,iBAAiBQ,gBACzBC,EAAQT,EAAM,iBAAiBQ,cAE3BR,EAAM,iBAAiBQ,cACzBC,EAAQA,EAAQ,MAAQT,EAAM,iBAAiBQ,cAI5CC,CACT,CAEQC,yBAAyBV,EAAOQ,GACtC,IAAIG,EAAY,GAMhB,OAJIX,EAAM,iBAAmBQ,EAAM,gBACjCG,EAAYX,EAAM,iBAAmBQ,EAAM,eAGtCG,CACT,CAEQC,SAASC,GACfnC,KAAKJ,YAAcI,KAAKJ,cAAgBuC,EAAQ,KAAOA,CACzD,CAEQC,UACNpC,KAAKF,MAAQE,KAAKD,WAClBC,KAAKO,eAELP,KAAKqC,UAAUC,IAAI,yBAAyBrB,IACtCjB,KAAKuC,YAActB,GACrBjB,KAAKO,c,GAGX,GAtGA,IAAC,IAAAiC,MAAK,CAACC,UAAU,I,mDACjB,IAAC,IAAAD,MAAK,CAACC,UAAU,I,yDACjB,IAAC,IAAAD,Q,uDAaD,IAAC,IAAAE,OAAM,c,gIAhBM,MAJd,IAAAC,WAAU,CACTC,KAAM,mBACNC,YAAY,eAAmBC,mB,qMCYjC,SAXgB,E,QAAA,GACd,UACA,IACA,KACA,EACA,KACA,KACA,MAI8B,O,iJClBoM,QAAe,G,sDCAnP,IAAIC,EAAS,SAASA,SAAS,IAAIC,EAAIhD,KAAKiD,EAAGD,EAAIE,MAAMD,GAAUD,EAAIE,MAAMC,YAAY,OAAOF,EAAG,MAAM,CAACG,YAAY,8BAA8B,CAACH,EAAG,MAAM,CAACG,YAAY,sCAAsC,CAACH,EAAG,SAAS,CAACD,EAAIK,GAAGL,EAAIM,GAAGN,EAAIO,GAAG,kDAAkDP,EAAIK,GAAG,KAAKJ,EAAG,IAAI,CAACD,EAAIK,GAAGL,EAAIM,GAAGN,EAAIO,GAAG,yMAAyMP,EAAIK,GAAG,KAAKJ,EAAG,MAAMD,EAAIK,GAAG,KAAKJ,EAAG,SAAS,CAACD,EAAIK,GAAGL,EAAIM,GAAGN,EAAIO,GAAG,8DAA8DP,EAAIK,GAAG,KAAKJ,EAAG,IAAI,CAACD,EAAIK,GAAGL,EAAIM,GAAGN,EAAIO,GAAG,+DAA+D,SAASP,EAAIK,GAAG,KAAKJ,EAAG,MAAM,CAACG,YAAY,UAAU,CAACH,EAAG,OAAO,CAACO,MAAM,CAAC,OAAS,IAAIC,GAAG,CAAC,OAAS,SAASC,GAAgC,OAAxBA,EAAOC,iBAAwBX,EAAIzC,cAAc,IAAI,CAAC0C,EAAG,MAAM,CAACG,YAAY,oBAAoB,CAACH,EAAG,QAAQ,CAACW,WAAW,CAAC,CAAChB,KAAK,QAAQiB,QAAQ,UAAUC,MAAOd,EAAS,MAAEe,WAAW,UAAUP,MAAM,CAAC,KAAO,OAAO,KAAO,QAAQ,YAAcR,EAAIO,GAAG,oBAAoBS,SAAS,CAAC,MAAShB,EAAS,OAAGS,GAAG,CAAC,MAAQ,SAASC,GAAWA,EAAOO,OAAOC,YAAiBlB,EAAIlD,MAAM4D,EAAOO,OAAOH,MAAK,KAAKd,EAAIK,GAAG,KAAKJ,EAAG,SAAS,CAACkB,MAAM,CAAC,YAAcnB,EAAIvD,aAAauD,EAAIK,GAAG,KAAML,EAAgB,aAAEC,EAAG,IAAI,CAACG,YAAY,iBAAiB,CAACJ,EAAIK,GAAGL,EAAIM,GAAGN,EAAIO,GAAG,gCAAgCP,EAAIoB,WAAWpB,EAAIK,GAAG,KAAKJ,EAAG,MAAM,CAACG,YAAY,YAAYe,MAAM,CAAC,YAAcnB,EAAIvD,YAAY,CAACuD,EAAIqB,GAAIrB,EAAiB,eAAE,SAAS1B,EAAMa,GAAO,OAAQb,EAAiB,SAAE2B,EAAG,MAAM,CAACqB,IAAInC,EAAMiB,YAAY,UAAU,CAACH,EAAG,SAAS,CAACkB,MAAM,CAAC,WAAanB,EAAIpD,cAAgBuC,GAAOsB,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOV,EAAId,SAASC,EAAM,IAAI,CAACc,EAAG,MAAM,CAAE3B,EAAa,MAAM,KAAE2B,EAAG,KAAK,CAACD,EAAIK,GAAGL,EAAIM,GAAGhC,EAAa,MAAEsB,SAASI,EAAIoB,KAAKpB,EAAIK,GAAG,KAAKJ,EAAG,UAAU,CAAE3B,EAAa,MAAS,QAAE2B,EAAG,OAAO,CAACD,EAAIK,GAAGL,EAAIM,GAAGhC,EAAa,MAAEiD,YAAYvB,EAAIoB,KAAKpB,EAAIK,GAAG,KAAM/B,EAAa,MAAM,KAAE2B,EAAG,OAAO,CAACD,EAAIK,GAAGL,EAAIM,GAAGhC,EAAa,MAAEkD,SAASxB,EAAIoB,SAASpB,EAAIK,GAAG,KAAKJ,EAAG,MAAM,CAAE3B,EAAiB,SAAE2B,EAAG,IAAI,CAACG,YAAY,cAAc,CAACJ,EAAIK,GAAGL,EAAIM,GAAGN,EAAIO,GAAG,2BAA2BN,EAAG,IAAI,CAACG,YAAY,kBAAkB,CAACJ,EAAIK,GAAGL,EAAIM,GAAGN,EAAIO,GAAG,mCAAmCP,EAAIK,GAAG,KAAKJ,EAAG,OAAO,CAACW,WAAW,CAAC,CAAChB,KAAK,OAAOiB,QAAQ,SAASC,MAAOd,EAAIpD,cAAgBuC,EAAO4B,WAAW,2BAA2B,CAAEzC,EAAa,MAAY,WAAE2B,EAAG,IAAI,CAACG,YAAY,gBAAgBI,MAAM,CAAC,KAAO,UAAUlC,EAAa,MAAEmD,eAAe,CAACzB,EAAIK,GAAGL,EAAIM,GAAGhC,EAAa,MAAEmD,eAAezB,EAAIoB,KAAKpB,EAAIK,GAAG,KAAM/B,EAAa,MAAO,MAAE2B,EAAG,IAAI,CAACG,YAAY,iBAAiBI,MAAM,CAAC,KAAO,OAAOlC,EAAa,MAAEoD,UAAU,CAAC1B,EAAIK,GAAGL,EAAIM,GAAGhC,EAAa,MAAEoD,UAAU1B,EAAIoB,KAAKpB,EAAIK,GAAG,KAAM/B,EAAa,MAAiB,gBAAE2B,EAAG,IAAI,CAACG,YAAY,iDAAiDI,MAAM,CAAC,KAAO,iBAAiBlC,EAAa,MAAEqD,kBAAkB,OAAS,WAAW,CAAC3B,EAAIK,GAAGL,EAAIM,GAAGN,EAAIO,GAAG,gCAAgCP,EAAIoB,KAAKpB,EAAIK,GAAG,KAAKJ,EAAG,KAAK,CAACD,EAAIK,GAAGL,EAAIM,GAAGN,EAAIO,GAAG,qBAAqBP,EAAIK,GAAG,KAAKJ,EAAG,QAAQD,EAAIqB,GAAI/C,EAAsB,eAAE,SAASsD,GAAa,OAAO3B,EAAG,KAAK,CAACqB,IAAIM,EAAY9D,KAAKqD,MAAM,CAAE,WAAYnB,EAAInC,QAAQ+D,EAAkB,QAAM,CAAC3B,EAAG,KAAK,CAACG,YAAY,QAAQ,CAACJ,EAAIK,GAAGL,EAAIM,GAAGN,EAAIxC,WAAWoE,EAAkB,UAAO5B,EAAIK,GAAG,KAAML,EAAInC,QAAQ+D,EAAkB,MAAI3B,EAAG,KAAK,CAACG,YAAY,SAAS,CAACJ,EAAIK,GAAGL,EAAIM,GAAGhC,EAA2B,qBAAG,KAAMsD,EAAsB,QAAE3B,EAAG,OAAO,CAACG,YAAY,eAAe,CAACJ,EAAIK,GAAG,IAAIL,EAAIM,GAAGsB,EAAqB,YAAM5B,EAAIoB,QAASpB,EAAInC,QAAQ+D,EAAkB,OAAKA,EAAuB,WAAKA,EAAqB,QAAG3B,EAAG,KAAK,CAACG,YAAY,SAAS,CAACJ,EAAIK,GAAGL,EAAIM,GAAGsB,EAAuB,WAAG,MAAM5B,EAAIM,GAAGsB,EAAqB,SAAG,KAAMA,EAAsB,QAAE3B,EAAG,OAAO,CAACG,YAAY,eAAe,CAACJ,EAAIK,GAAG,IAAIL,EAAIM,GAAGsB,EAAqB,YAAM5B,EAAIoB,OAAOnB,EAAG,KAAK,CAACD,EAAIK,GAAGL,EAAIM,GAAGN,EAAIO,GAAG,WAAW,KAAMqB,EAAsB,QAAE3B,EAAG,OAAO,CAACG,YAAY,eAAe,CAACJ,EAAIK,GAAG,IAAIL,EAAIM,GAAGsB,EAAqB,YAAM5B,EAAIoB,QAAQ,IAAG,GAAGpB,EAAIK,GAAG,KAAM/B,EAAa,MAAK,IAAE2B,EAAG,IAAI,CAACG,YAAY,oBAAoBI,MAAM,CAAC,KAAOlC,EAAa,MAAEuD,MAAM,CAAC7B,EAAIK,GAAGL,EAAIM,GAAGN,EAAIO,GAAG,eAAe,IAAIP,EAAIM,GAAGhC,EAAa,MAAEsB,SAASI,EAAIoB,SAASpB,EAAIoB,IAAI,IAAGpB,EAAIK,GAAG,KAAML,EAAe,YAAEC,EAAG,MAAM,CAACG,YAAY,qDAAqD,CAACJ,EAAIK,GAAG,WAAWL,EAAIM,GAAGN,EAAIO,GAAG,+BAA+B,YAAYP,EAAIoB,MAAM,IACj6I,EACIU,EAAkB,E","sources":["webpack:///./resources/area/web/default/js/components/catalog/product/ProductInStock.vue?a071","webpack:///./resources/area/web/default/js/components/catalog/product/ProductInStock.vue","webpack:///./resources/area/web/default/js/components/catalog/product/ProductInStock.vue?0266","webpack:///./resources/area/web/default/js/components/catalog/product/ProductInStock.vue?1c22"],"sourcesContent":["\nimport {Component, Prop, Vue, Watch} from 'vue-property-decorator';\nimport ServiceContainer from '@flashpointbv/solar-service-container';\n\n@Component({\n name: 'product-in-stock',\n components: ServiceContainer().getComponents(),\n})\nexport default class extends Vue {\n @Prop({required: true}) readonly sku: string;\n @Prop({required: false}) readonly productId: string;\n @Prop() readonly autorun: string;\n\n private isLoading: boolean = false;\n private errorMessage: boolean = false;\n private emptyStores: boolean = false;\n private activeIndex: null | number = null;\n private searchResults: Array = [];\n private query: string = '';\n\n private get storeQuery(): string {\n return this.$store.getters['FindStores/query'];\n }\n\n @Watch('storeQuery')\n private handleQuery(nv, ov): void {\n if (nv !== ov) {\n this.query = nv;\n if (this.autorun) {\n this.searchStores();\n }\n }\n }\n\n private getDayName(dateString) {\n const date = new Date(dateString);\n return date.toLocaleDateString('nl-NL', { weekday: 'long' });\n }\n\n private isToday(dateString) {\n if (!dateString) return false;\n\n const date = new Date(dateString);\n const today = new Date();\n\n return (\n date.toDateString() === today.toDateString()\n );\n }\n\n private async searchStores(): Promise {\n this.isLoading = true;\n\n try {\n const {data} = await this.$solarClient.post(`api/catalog/product/stock`, {\n sku: this.sku,\n query: this.query,\n });\n\n if (data['data']) {\n this.searchResults = data['data'].filter((store) => store.in_stock == true);\n this.emptyStores = ! this.searchResults.length;\n await this.$store.dispatch('FindStores/setQuery', this.query);\n this.errorMessage = false;\n }\n\n this.isLoading = false;\n } catch (e) {\n console.error(e);\n this.isLoading = false;\n this.errorMessage = true;\n }\n }\n\n private getOpeningHours(store: object, day: string): string {\n let times = '';\n\n if (store[`opening_hours_${day}_openfrom`]) {\n times = store[`opening_hours_${day}_openfrom`];\n\n if (store[`opening_hours_${day}_opento`]) {\n times = times + ' - ' + store[`opening_hours_${day}_opento`];\n }\n }\n\n return times;\n }\n\n private getOpeningHoursExtratext(store, day): string {\n let extrainfo = '';\n\n if (store['opening_hours_' + day + '_extratext']) {\n extrainfo = store['opening_hours_' + day + '_extratext'];\n }\n\n return extrainfo;\n }\n\n private openItem(index: number): void {\n this.activeIndex = this.activeIndex === index ? null : index;\n }\n\n private created(): void {\n this.query = this.storeQuery;\n this.searchStores();\n\n this.$eventBus.$on('toggleAvailabilityBtn', data => {\n if (this.productId === data) {\n this.searchStores();\n }\n })\n }\n}\n","import { render, staticRenderFns } from \"./ProductInStock.vue?vue&type=template&id=6a7cf13d&\"\nimport script from \"./ProductInStock.vue?vue&type=script&lang=ts&\"\nexport * from \"./ProductInStock.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-6.use[0]!../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProductInStock.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!./ProductInStock.vue?vue&type=script&lang=ts&\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"physical-stores__container\"},[_c('div',{staticClass:\"physical-stores__container-message\"},[_c('strong',[_vm._v(_vm._s(_vm.$t(\"Is your Expert store of choice not listed?\")))]),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$t(\"The product may still be in stock in our central warehouse. You can simply order the product, the Expert Shop will contact you after your online order to agree on a delivery or collection time.\")))]),_vm._v(\" \"),_c('br'),_vm._v(\" \"),_c('strong',[_vm._v(_vm._s(_vm.$t(\"Is this product expected at the Expert store near you?\")))]),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$t(\"The store can inform you about the expected delivery time.\"))+\" \")])]),_vm._v(\" \"),_c('div',{staticClass:\"__form\"},[_c('form',{attrs:{\"action\":\"\"},on:{\"submit\":function($event){$event.preventDefault();return _vm.searchStores()}}},[_c('div',{staticClass:\"field__container\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.query),expression:\"query\"}],attrs:{\"type\":\"text\",\"name\":\"query\",\"placeholder\":_vm.$t('Postcode / Stad')},domProps:{\"value\":(_vm.query)},on:{\"input\":function($event){if($event.target.composing)return;_vm.query=$event.target.value}}}),_vm._v(\" \"),_c('button',{class:{'--loading' : _vm.isLoading}}),_vm._v(\" \"),(_vm.errorMessage)?_c('p',{staticClass:\"validator-err\"},[_vm._v(_vm._s(_vm.$t('This postcode is unknown')))]):_vm._e()])])]),_vm._v(\" \"),_c('div',{staticClass:\"__results\",class:{'--loading' : _vm.isLoading}},[_vm._l((_vm.searchResults),function(store,index){return (store['in_stock'])?_c('div',{key:index,staticClass:\"__item\"},[_c('header',{class:{'--active' : _vm.activeIndex === index},on:{\"click\":function($event){return _vm.openItem(index)}}},[_c('div',[(store['store'].name)?_c('h3',[_vm._v(_vm._s(store['store'].name))]):_vm._e(),_vm._v(\" \"),_c('address',[(store['store'].address)?_c('span',[_vm._v(_vm._s(store['store'].address))]):_vm._e(),_vm._v(\" \"),(store['store'].city)?_c('span',[_vm._v(_vm._s(store['store'].city))]):_vm._e()])]),_vm._v(\" \"),_c('div',[(store['in_stock'])?_c('p',{staticClass:\"__in-stock\"},[_vm._v(_vm._s(_vm.$t('Product is in stock')))]):_c('p',{staticClass:\"__out-of-stock\"},[_vm._v(_vm._s(_vm.$t('Product is out of stock')))])])]),_vm._v(\" \"),_c('main',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.activeIndex === index),expression:\"activeIndex === index\"}]},[(store['store'].email_main)?_c('a',{staticClass:\"--icon --mail\",attrs:{\"href\":`mailto:${store['store'].email_main}`}},[_vm._v(_vm._s(store['store'].email_main))]):_vm._e(),_vm._v(\" \"),(store['store'].phone)?_c('a',{staticClass:\"--icon --phone\",attrs:{\"href\":`tel:${store['store'].phone}`}},[_vm._v(_vm._s(store['store'].phone))]):_vm._e(),_vm._v(\" \"),(store['store'].whatsapp_number)?_c('a',{staticClass:\"--button --center --outline --green --whatsapp\",attrs:{\"href\":`https://wa.me/${store['store'].whatsapp_number}`,\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.$t('Ask for more information')))]):_vm._e(),_vm._v(\" \"),_c('h4',[_vm._v(_vm._s(_vm.$t('Opening hours')))]),_vm._v(\" \"),_c('table',_vm._l((store['opening_hours']),function(openingHour){return _c('tr',{key:openingHour.date,class:{ '--active': _vm.isToday(openingHour['date']) }},[_c('td',{staticClass:\"_day\"},[_vm._v(_vm._s(_vm.getDayName(openingHour['date'])))]),_vm._v(\" \"),(_vm.isToday(openingHour['date']))?_c('td',{staticClass:\"_hour\"},[_vm._v(_vm._s(store['opening_hours_today'])+\" \"),(openingHour['message'])?_c('span',{staticClass:\"extra__info\"},[_vm._v(\" \"+_vm._s(openingHour['message']))]):_vm._e()]):(!_vm.isToday(openingHour['date']) &&openingHour['open_from'] && openingHour['open_to'])?_c('td',{staticClass:\"_hour\"},[_vm._v(_vm._s(openingHour['open_from'])+\" - \"+_vm._s(openingHour['open_to'])+\" \"),(openingHour['message'])?_c('span',{staticClass:\"extra__info\"},[_vm._v(\" \"+_vm._s(openingHour['message']))]):_vm._e()]):_c('td',[_vm._v(_vm._s(_vm.$t('Closed'))+\" \"),(openingHour['message'])?_c('span',{staticClass:\"extra__info\"},[_vm._v(\" \"+_vm._s(openingHour['message']))]):_vm._e()])])}),0),_vm._v(\" \"),(store['store'].url)?_c('a',{staticClass:\"--button --center\",attrs:{\"href\":store['store'].url}},[_vm._v(_vm._s(_vm.$t('More about'))+\" \"+_vm._s(store['store'].name))]):_vm._e()])]):_vm._e()}),_vm._v(\" \"),(_vm.emptyStores)?_c('div',{staticClass:\"global__message--bg --error --full-width --margin\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('No stores with stock found'))+\"\\n \")]):_vm._e()],2)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }"],"names":["Vue","isLoading","errorMessage","emptyStores","activeIndex","searchResults","query","storeQuery","this","$store","getters","handleQuery","nv","ov","autorun","searchStores","getDayName","dateString","Date","toLocaleDateString","weekday","isToday","date","today","toDateString","data","$solarClient","post","sku","filter","store","in_stock","length","dispatch","e","console","error","getOpeningHours","day","times","getOpeningHoursExtratext","extrainfo","openItem","index","created","$eventBus","$on","productId","Prop","required","Watch","Component","name","components","getComponents","render","_vm","_c","_self","_setupProxy","staticClass","_v","_s","$t","attrs","on","$event","preventDefault","directives","rawName","value","expression","domProps","target","composing","class","_e","_l","key","address","city","email_main","phone","whatsapp_number","openingHour","url","staticRenderFns"],"sourceRoot":""}