{"version":3,"file":"js/app.4babe224ce88cc35b6f0.js","mappings":"kwBASe,8BAAc,EAAAA,IAAd,c,oBAMH,KAAAC,YAAsB,EAgDlC,CA9CcC,gBACV,OAAOC,KAAKC,OAAOC,QAAQ,GAAGF,KAAKG,uBACrC,CAEYC,eACV,OAAOJ,KAAKC,OAAOC,QAAQ,GAAGF,KAAKG,yBACrC,CAEYE,wBAGV,MAFiB,IAAIL,KAAKI,UAEVE,KAAKC,GACZ,OAAP,wBACKA,GAAO,CACV,QAAWA,EAAoB,WAC/B,cAAiBA,EAA4B,oBAAKA,EAAoB,WACtE,aAAgB,GAChB,gBAAmBA,EAAoB,cAG7C,CAGQC,2BAA2BC,EAAIC,GAClCD,IAAOC,GACR,EAAAC,eAAeC,OAAOC,iBAAiBb,KAAKK,kBAAmB,eAEnE,CAEYS,oBACV,OAAOC,MAAMC,KAAK,CAAEC,OAAQC,KAAKC,KAAKnB,KAAKI,SAASa,OAASjB,KAAKoB,aAAc,CAACC,EAAGC,IAAMtB,KAAKI,SAASmB,MAAMD,EAAItB,KAAKoB,UAAWE,EAAItB,KAAKoB,UAAYpB,KAAKoB,YAC9J,CAEQI,UACN,EAAAb,eAAeC,OAAOC,iBAAiBb,KAAKK,kBAAmB,eACjE,CAEQoB,UACN,MAAMC,EAAe,IAAIC,gBAAgBC,OAAOC,SAASC,QACzD9B,KAAKF,YAAc4B,EAAaK,IAAI,QACtC,CAEQC,UACN,MAAMN,EAAe,IAAIC,gBAAgBC,OAAOC,SAASC,QACzD9B,KAAKF,YAAc4B,EAAaK,IAAI,QACtC,GApDA,IAAC,IAAAE,MAAK,CAAEC,UAAU,I,0DAClB,IAAC,IAAAD,Q,4DACD,IAAC,IAAAA,MAAK,CAAEE,QAAS,I,yDACjB,IAAC,IAAAF,MAAK,CAAEE,QAAS,IAAM,K,gBAA6BpB,Q,oCA0BpD,IAAC,IAAAqB,OAAM,Y,+IA9BM,MAJd,IAAAC,WAAU,CACTC,KAAM,uBACNC,YAAY,eAAmBC,mB,qMCWjC,SAXgB,E,QAAA,GACd,UACA,IACA,KACA,EACA,KACA,KACA,MAI8B,O,iJClB2L,QAAe,G,sDCA1O,IAAIC,EAAS,SAASA,SAAS,IAAIC,EAAI1C,KAAK2C,EAAGD,EAAIE,MAAMD,GAAUD,EAAIE,MAAMC,YAAY,OAAOF,EAAG,MAAM,CAACG,YAAY,0BAA0B,CAAEJ,EAAa,UAAEC,EAAG,MAAM,CAACG,YAAY,aAAa,CAACH,EAAG,MAAM,CAACG,YAAY,gBAAgBJ,EAAIK,KAAKL,EAAIM,GAAG,KAAMN,EAAItC,SAASa,QAAU,IAAMyB,EAAI3C,WAAiC,OAApB2C,EAAI5C,YAAsB6C,EAAG,MAAM,CAACG,YAAY,uDAAuD,CAACJ,EAAIM,GAAG,SAASN,EAAIO,GAAGP,EAAIQ,GAAG,6CAA6C,UAAUR,EAAIK,KAAKL,EAAIM,GAAG,KAAMN,EAAItC,SAASa,QAAU,IAAMyB,EAAI3C,WAAiC,OAApB2C,EAAI5C,YAAsB6C,EAAG,MAAM,CAACG,YAAY,uDAAuD,CAACJ,EAAIM,GAAG,SAASN,EAAIO,GAAGP,EAAIQ,GAAG,wCAAyC,CAAEC,MAAOnD,KAAKF,eAAgB,UAAU4C,EAAIK,KAAKL,EAAIM,GAAG,KAAKN,EAAIU,GAAIV,EAAiB,eAAE,SAASW,EAAMC,GAAO,MAAO,CAAY,IAAVA,GAAeZ,EAAIa,QAAqB,YAAGZ,EAAG,MAAM,CAACG,YAAY,gBAAgBU,SAAS,CAAC,UAAYd,EAAIO,GAAGP,EAAIa,QAAqB,gBAAMb,EAAIK,KAAKL,EAAIM,GAAG,KAAKL,EAAG,KAAK,CAACG,YAAY,qBAAqBJ,EAAIU,GAAG,GAAQ,SAAS7C,EAAQ+C,GAAO,OAAOX,EAAG,4BAA4B,CAACc,IAAI,GAAGlD,EAAY,KAAImD,MAAM,CAAC,cAAchB,EAAIvC,WAAW,iBAAiBuC,EAAIiB,aAAa,QAAUpD,EAAQ,iBAAiBmC,EAAIkB,cAAc,eAAeN,IAAQ,IAAG,GAAG,KAAI,EACnyC,EACIO,EAAkB,E","sources":["webpack:///./resources/area/web/default/js/components/catalog/ProductList.vue?55bd","webpack:///./resources/area/web/default/js/components/catalog/ProductList.vue","webpack:///./resources/area/web/default/js/components/catalog/ProductList.vue?a6f1","webpack:///./resources/area/web/default/js/components/catalog/ProductList.vue?a7d6"],"sourcesContent":["\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\nimport ServiceContainer from '@flashpointbv/solar-service-container';\nimport { SolarDataLayer } from \"../../shared/SolarDataLayer\";\n\n@Component({\n name: 'catalog-product-list',\n components: ServiceContainer().getComponents(),\n})\nexport default class extends Vue {\n @Prop({ required: true }) readonly dataSource: string;\n @Prop() readonly imageBaseUrl: string;\n @Prop({ default: 6 }) private chunkSize: number;\n @Prop({ default: () => [] }) private wishlistItems: Array;\n\n protected searchQuery: string = '';\n\n private get isLoading(): boolean {\n return this.$store.getters[`${this.dataSource}/isLoading`];\n }\n\n private get products(): Array {\n return this.$store.getters[`${this.dataSource}/productList`];\n }\n\n private get dataLayerProducts(): Array {\n const products = [...this.products];\n\n return products.map((product: object) => {\n return {\n ...product,\n 'item_id': product['product_id'],\n 'item_group_id': product['pim_productfamilie'] || product['product_id'],\n 'item_variant': '',\n 'item_variant_id': product['product_id'],\n };\n });\n }\n\n @Watch('products')\n private handleProductListDataLayer(nv, ov): void {\n if(nv !== ov) {\n SolarDataLayer.init().addViewItemsList(this.dataLayerProducts, 'Product list');\n }\n }\n\n private get productChunks(): Array {\n return Array.from({ length: Math.ceil(this.products.length / this.chunkSize) }, (v, i) => this.products.slice(i * this.chunkSize, i * this.chunkSize + this.chunkSize));\n }\n\n private created(): void {\n SolarDataLayer.init().addViewItemsList(this.dataLayerProducts, 'Product list');\n }\n\n private updated(): void {\n const searchParams = new URLSearchParams(window.location.search);\n this.searchQuery = searchParams.get('query');\n }\n\n private mounted(): void {\n const searchParams = new URLSearchParams(window.location.search);\n this.searchQuery = searchParams.get('query');\n }\n}\n","import { render, staticRenderFns } from \"./ProductList.vue?vue&type=template&id=772b19fb&\"\nimport script from \"./ProductList.vue?vue&type=script&lang=ts&\"\nexport * from \"./ProductList.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!./ProductList.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!./ProductList.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:\"catalog__category-list\"},[(_vm.isLoading)?_c('div',{staticClass:\"--loading\"},[_c('div',{staticClass:\"--spinner\"})]):_vm._e(),_vm._v(\" \"),(_vm.products.length <= 0 && !_vm.isLoading && _vm.searchQuery === null)?_c('div',{staticClass:\"global__message--bg --warning --full-width --margin\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('No products were found in this category.'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.products.length <= 0 && !_vm.isLoading && _vm.searchQuery !== null)?_c('div',{staticClass:\"global__message--bg --warning --full-width --margin\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('No products were found for \"{query}\".', { query: this.searchQuery }))+\"\\n \")]):_vm._e(),_vm._v(\" \"),_vm._l((_vm.productChunks),function(chunk,index){return [(index === 1 && _vm.$parent['categoryUsp'])?_c('div',{staticClass:\"category__usp\",domProps:{\"innerHTML\":_vm._s(_vm.$parent['categoryUsp'])}}):_vm._e(),_vm._v(\" \"),_c('ul',{staticClass:\"grid-x no-padding\"},_vm._l((chunk),function(product,index){return _c('catalog-product-list-item',{key:`${product['id']}`,attrs:{\"data-source\":_vm.dataSource,\"image-base-url\":_vm.imageBaseUrl,\"product\":product,\"wishlist-items\":_vm.wishlistItems,\"index-number\":index}})}),1)]})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }"],"names":["Vue","searchQuery","isLoading","this","$store","getters","dataSource","products","dataLayerProducts","map","product","handleProductListDataLayer","nv","ov","SolarDataLayer","init","addViewItemsList","productChunks","Array","from","length","Math","ceil","chunkSize","v","i","slice","created","updated","searchParams","URLSearchParams","window","location","search","get","mounted","Prop","required","default","Watch","Component","name","components","getComponents","render","_vm","_c","_self","_setupProxy","staticClass","_e","_v","_s","$t","query","_l","chunk","index","$parent","domProps","key","attrs","imageBaseUrl","wishlistItems","staticRenderFns"],"sourceRoot":""}