{"version":3,"file":"js/app.1595ff3b59ca56c17d2e.js","mappings":"6vDAae,8BAAc,EAAAA,IAAd,c,oBASL,KAAAC,WAAqB,EACrB,KAAAC,iBAA2B,CAAC,EAE5B,KAAAC,aAAuB,GACvB,KAAAC,eAAyB,EA2DnC,CAzDgBC,mB,yCACZC,KAAKH,aAAe,YACpBG,KAAKF,eAAiBE,KAAKC,QAAa,IAExC,UACQD,KAAKE,OAAOC,SAAS,qBAAsB,CAC/CC,IAAKJ,KAAKC,QAAa,IACvBI,IAAK,G,CAEP,OAAO,SAACC,IAGR,OAFAN,KAAKJ,iBAAmBU,EAASC,UACjCP,KAAKQ,8B,CAIPR,KAAKS,0BAEL,EAAAC,eAAeC,OAAOC,aAAaZ,KAAKC,QAAS,EAAAY,WAAWC,IAAK,SAE3Dd,KAAKE,OAAOC,SAAS,mBAC7B,G,CAEQK,+BACNR,KAAKH,aAAe,WACpBG,KAAKF,eAAiBE,KAAKC,QAAa,IAExCc,YAAW,KACTf,KAAKH,aAAe,GACpBG,KAAKF,eAAiB,EAAE,GACvB,IACL,CAEQW,0BACNT,KAAKH,aAAe,YACpBG,KAAKF,eAAiBE,KAAKC,QAAa,IAEjCD,KAAKgB,UAGHhB,KAAKiB,UACVC,OAAOC,SAASC,SAHlBpB,KAAKL,WAAY,EAOnBoB,YAAW,KACTf,KAAKH,aAAe,GACpBG,KAAKF,eAAiB,EAAE,GACvB,IACL,CAEYuB,YACV,OAAOrB,KAAKE,OAAOoB,MAAkB,WAAS,KAChD,CAEYC,kBACV,OAAOvB,KAAKC,QAAsB,eAAK,CACzC,GAtEA,IAAC,IAAAuB,MAAK,CAACC,UAAU,I,uDACjB,IAAC,IAAAD,MAAK,CAACC,UAAU,I,oDACjB,IAAC,IAAAD,MAAK,CAACC,UAAU,EAAOC,SAAS,I,0DACjC,IAAC,IAAAF,MAAK,CAACC,UAAU,EAAOC,SAAS,I,yDAEjC,IAAC,IAAAF,MAAK,CAACC,UAAU,EAAOC,QAAS,O,wEACjC,IAAC,IAAAF,MAAK,CAACC,UAAU,EAAOC,QAAS,O,gEAPpB,MARd,IAAAC,WAAU,CACTC,KAAM,8BACNC,WAAY,OAAF,yBACL,eAAmBC,iBAAe,CACrC,oCAAqC,IAAM,IAAD,kDAAQ,SAA6B,gDAAC,iB,sMCSpF,SAXgB,E,QAAA,GACd,UACA,IACA,KACA,EACA,KACA,KACA,MAI8B,O,gJClBsM,QAAe,G,uDCArP,IAAIC,EAAS,SAASA,SAAS,IAAIC,EAAIhC,KAAKiC,EAAGD,EAAIE,MAAMD,GAAUD,EAAIE,MAAMC,YAAY,OAAWH,EAAIT,YAA+9BS,EAAII,KAAt9BH,EAAG,MAAM,CAACI,YAAY,gCAAgC,CAAKL,EAAIX,MAAkaW,EAAII,KAA/ZH,EAAG,SAAS,CAACI,YAAY,gDAAgDC,MAAM,CAAC,CAACN,EAAInC,cAAemC,EAAIlC,iBAAmBkC,EAAI/B,QAAa,KAAGsC,MAAM,CAAC,KAAO,SAAS,SAAWP,EAAIlC,iBAAmBkC,EAAI/B,QAAa,KAA0B,cAArB+B,EAAInC,cAA8B2C,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOT,EAAIjC,kBAAkB,IAAI,CAAe,SAAbiC,EAAIU,KAAiBT,EAAG,OAAO,CAACD,EAAIW,GAAGX,EAAIY,GAAGZ,EAAIa,GAAG,2BAA2Bb,EAAII,OAAgBJ,EAAIW,GAAG,KAAMX,EAAIlC,iBAAmBkC,EAAI/B,QAAa,KAA0B,aAArB+B,EAAInC,aAA6BoC,EAAG,MAAM,CAACI,YAAY,qDAAqD,CAACL,EAAIW,GAAG,SAASX,EAAIY,GAAGZ,EAAIa,GAAGb,EAAIpC,iBAA0B,SAAK,0BAA0B,UAAUoC,EAAII,KAAKJ,EAAIW,GAAG,KAAMX,EAAa,UAAEC,EAAG,oCAAoC,CAACM,MAAM,CAAC,QAAUP,EAAI/B,QAAQ,4BAA4B+B,EAAIc,yBAAyB,oBAAoBd,EAAIe,oBAAoBf,EAAII,MAAM,EACpkC,EACIY,EAAkB,E","sources":["webpack:///./resources/area/web/default/js/components/catalog/product/ProductAddToCart.vue?78e8","webpack:///./resources/area/web/default/js/components/catalog/product/ProductAddToCart.vue","webpack:///./resources/area/web/default/js/components/catalog/product/ProductAddToCart.vue?e2d2","webpack:///./resources/area/web/default/js/components/catalog/product/ProductAddToCart.vue?1b84"],"sourcesContent":["\nimport {Component, Prop, Vue} from 'vue-property-decorator';\nimport ServiceContainer from '@flashpointbv/solar-service-container';\nimport {CartEvents, SolarDataLayer} from '@flashpointbv/solar-datalayer/dist';\n\n@Component({\n name: 'catalog-product-add-to-cart',\n components: {\n ...ServiceContainer().getComponents(),\n 'catalog-product-add-to-cart-modal': () => import('./ProductAddToCartModal.vue'),\n },\n})\n\nexport default class extends Vue {\n @Prop({required: true}) private product: object;\n @Prop({required: false}) private type: string;\n @Prop({required: false, default: false}) readonly hideModal: boolean;\n @Prop({required: false, default: false}) readonly noReload: boolean;\n\n @Prop({required: false, default: null}) private recommendationIdentifier: null | string;\n @Prop({required: false, default: null}) private overwriteProduct: null | string;\n\n private showModal: boolean = false;\n private addToCartMessage: object = {};\n\n private classMessage: string = '';\n private productMessage: string = '';\n\n private async addToQuoteAction(): Promise {\n this.classMessage = '--loading';\n this.productMessage = this.product['sku'];\n\n try {\n await this.$store.dispatch('Quote/addQuoteItem', {\n sku: this.product['sku'],\n qty: 1,\n });\n } catch ({response}) {\n this.addToCartMessage = response.data;\n this.addToCartErrorMessageHandler();\n return;\n }\n\n this.addToCartSuccessMessage();\n\n SolarDataLayer.init().addAddToCart(this.product, CartEvents.ADD, 1);\n\n await this.$store.dispatch('Quote/fetchQuote');\n }\n\n private addToCartErrorMessageHandler(): void {\n this.classMessage = '--danger';\n this.productMessage = this.product['sku'];\n\n setTimeout(() => {\n this.classMessage = '';\n this.productMessage = '';\n }, 3000);\n }\n\n private addToCartSuccessMessage(): void {\n this.classMessage = '--success';\n this.productMessage = this.product['sku'];\n\n if ( ! this.hideModal) {\n this.showModal = true;\n } else {\n if ( ! this.noReload) {\n window.location.reload();\n }\n }\n\n setTimeout(() => {\n this.classMessage = '';\n this.productMessage = '';\n }, 3000);\n }\n\n private get isB2B(): boolean {\n return this.$store.state['GlobalData']['isB2B'];\n }\n\n private get notSaleable(): boolean {\n return this.product['not_saleable'] || false;\n }\n}\n","import { render, staticRenderFns } from \"./ProductAddToCart.vue?vue&type=template&id=8d435492&\"\nimport script from \"./ProductAddToCart.vue?vue&type=script&lang=ts&\"\nexport * from \"./ProductAddToCart.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!./ProductAddToCart.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!./ProductAddToCart.vue?vue&type=script&lang=ts&\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return ( ! _vm.notSaleable)?_c('div',{staticClass:\"add-to-cart-button-container\"},[( ! _vm.isB2B)?_c('button',{staticClass:\"--button --green --big --center --add-to-cart\",class:{[_vm.classMessage]: _vm.productMessage === _vm.product['sku']},attrs:{\"type\":\"button\",\"disabled\":_vm.productMessage === _vm.product['sku'] && _vm.classMessage === '--loading'},on:{\"click\":function($event){return _vm.addToQuoteAction()}}},[(_vm.type !== 'list')?_c('span',[_vm._v(_vm._s(_vm.$t('Add product to cart')))]):_vm._e()]):_vm._e(),_vm._v(\" \"),(_vm.productMessage === _vm.product['sku'] && _vm.classMessage === '--danger')?_c('div',{staticClass:\"global__message--bg --error --full-width --margin\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t(_vm.addToCartMessage['message'] || 'Failed to add to cart'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.showModal)?_c('catalog-product-add-to-cart-modal',{attrs:{\"product\":_vm.product,\"recommendation-identifier\":_vm.recommendationIdentifier,\"overwrite-product\":_vm.overwriteProduct}}):_vm._e()],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }"],"names":["Vue","showModal","addToCartMessage","classMessage","productMessage","addToQuoteAction","this","product","$store","dispatch","sku","qty","response","data","addToCartErrorMessageHandler","addToCartSuccessMessage","SolarDataLayer","init","addAddToCart","CartEvents","ADD","setTimeout","hideModal","noReload","window","location","reload","isB2B","state","notSaleable","Prop","required","default","Component","name","components","getComponents","render","_vm","_c","_self","_setupProxy","_e","staticClass","class","attrs","on","$event","type","_v","_s","$t","recommendationIdentifier","overwriteProduct","staticRenderFns"],"sourceRoot":""}