{"version":3,"file":"js/app.6e305c5c316ebf17794b.js","mappings":"kwBASe,8BAAc,EAAAA,IAMfC,oBACV,OAAQC,KAAKC,MACX,IAAK,OACL,IAAK,YACL,IAAK,cACL,IAAK,SACH,MAAO,GACT,IAAK,oBACH,MAAO,gBAGT,QACE,MAAO,yBAEb,CAEQC,QAAQC,GACd,OAAOC,OAAOD,GACTE,UAAU,QACVC,QAAQ,mBAAoB,IAC5BC,OACAC,cACAF,QAAQ,eAAgB,IACxBA,QAAQ,OAAQ,KAChBA,QAAQ,MAAO,IACtB,CAEYG,aACV,OAAOT,KAAKU,QAAQC,IAAI,SAC1B,CAEQC,UACNZ,KAAKa,cACP,CAEQC,UACNd,KAAKe,UAAUC,MAAM,iBAAiB,EACxC,CAEYC,iBACV,MAAqB,sBAAdjB,KAAKC,KAA+B,IAAM,GACnD,CAEYiB,kBACV,MAAqB,sBAAdlB,KAAKC,KAA+B,IAAM,GACnD,CAEYkB,eACV,MAA8B,iBAA1BnB,KAAKoB,QAAe,OAA0BpB,KAAKoB,QAAQC,eAAe,SAIvE,GAAGrB,KAAKsB,kDAAkDtB,KAAKiB,gBAAgBjB,KAAKkB,yFAAyFlB,KAAKoB,QAAe,QAH/L,0CAIX,CAEYG,mBACV,MAA8B,iBAA1BvB,KAAKoB,QAAe,OAA0BpB,KAAKoB,QAAQC,eAAe,SAIvE,GAAGrB,KAAKsB,kDAAkDtB,KAAKiB,gBAAgBjB,KAAKkB,4EAA4ElB,KAAKoB,QAAe,kBACzLpB,KAAKsB,kDAAoE,EAAlBtB,KAAKiB,gBAAuC,EAAnBjB,KAAKkB,4EAAgFlB,KAAKoB,QAAe,WAJlL,0CAKX,CAEQI,kBACN,EAAAC,eAAeC,OAAOC,cAAc3B,KAAKoB,QAASpB,KAAK4B,OAAOC,IAAe,eAC/E,GAvEA,IAAC,IAAAC,MAAK,CAACC,UAAU,I,0DACjB,IAAC,IAAAD,MAAK,CAACC,UAAU,I,uDACjB,IAAC,IAAAD,MAAK,CAACE,QAAS,O,oDAChB,IAAC,IAAAF,MAAK,CAACE,QAAS,O,4DAJH,MAJd,IAAAC,WAAU,CACTC,KAAM,4BACNC,YAAY,eAAmBC,mB,sMCWjC,SAXgB,E,QAAA,GACd,UACA,IACA,KACA,EACA,KACA,KACA,MAI8B,O,iJClB+L,QAAe,G,uDCA9O,IAAIC,EAAS,SAASA,SAAS,IAAIC,EAAItC,KAAKuC,EAAGD,EAAIE,MAAMD,GAAUD,EAAIE,MAAMC,YAAY,OAAOF,EAAGD,EAAII,aAAa,CAACC,IAAI,YAAYC,MAAMN,EAAIvC,eAAe,CAACwC,EAAG,MAAM,CAACM,YAAY,iBAAiB,CAACN,EAAG,IAAI,CAACO,MAAM,CAAC,KAAOR,EAAIlB,QAAiB,SAAG2B,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOV,EAAId,iBAAiB,IAAI,CAACe,EAAG,OAAO,CAACM,YAAY,iBAAiB,CAACN,EAAG,MAAM,CAACM,YAAY,WAAWI,MAAM,CAAGC,UAAoC,iBAAzBZ,EAAIlB,QAAe,OAA0BkB,EAAIlB,QAAQC,eAAe,SAA0B,UAAf,cAA4ByB,MAAM,CAAC,IAAMR,EAAInB,SAAS,cAAcmB,EAAIf,aAAa,IAAMe,EAAIlB,QAAc,KAAE,OAASkB,EAAIpB,YAAY,MAAQoB,EAAIrB,cAAcqB,EAAIa,GAAG,KAAMb,EAAIlB,QAAQC,eAAe,iBAAkBkB,EAAG,OAAO,CAACA,EAAG,OAAO,CAACK,MAAM,CAAE,UAAwB,sBAAbN,EAAIrC,OAAgC,CAACqC,EAAIa,GAAGb,EAAIc,GAAGd,EAAIlB,QAAuB,kBAAMkB,EAAIa,GAAG,KAAKZ,EAAG,MAAM,CAACO,MAAM,CAAC,IAAM,kDAAkDR,EAAIpC,QAAQoC,EAAIlB,QAAuB,qBAAS,IAAMkB,EAAIlB,QAAuB,mBAAOkB,EAAIe,OAAOf,EAAIa,GAAG,KAAKZ,EAAG,OAAO,CAACM,YAAY,mBAAmB,CAACN,EAAG,KAAK,CAACD,EAAIa,GAAGb,EAAIc,GAAGd,EAAIlB,QAAc,SAAMkB,EAAIa,GAAG,KAAsC,WAAhCb,EAAIlB,QAAsB,aAAgBmB,EAAG,OAAO,CAACM,YAAY,iBAAiB,CAACN,EAAG,OAAO,CAACD,EAAIa,GAAGb,EAAIc,GAAGd,EAAIgB,GAAG,YAAYhB,EAAIa,GAAG,KAAMb,EAAIlB,QAA8B,uBAAMkB,EAAIlB,QAAwB,eAAG,CAACmB,EAAG,OAAO,CAACM,YAAY,SAAS,CAACP,EAAIa,GAAGb,EAAIc,GAAGd,EAAIlB,QAAwB,eAAEmC,YAAYjB,EAAI7B,YAAY6B,EAAIa,GAAG,KAAKZ,EAAG,OAAO,CAACM,YAAY,aAAa,CAACP,EAAIa,GAAGb,EAAIc,GAAGd,EAAIlB,QAA8B,qBAAEmC,YAAYjB,EAAI7B,aAAa8B,EAAG,OAAO,CAACM,YAAY,SAAS,CAACP,EAAIa,GAAGb,EAAIc,GAAGd,EAAIlB,QAA8B,qBAAEmC,YAAYjB,EAAI7B,aAAa,GAAG6B,EAAIe,SAASf,EAAIa,GAAG,KAAKZ,EAAG,OAAO,CAACM,YAAY,iBAAiB,CAACN,EAAG,IAAI,CAACM,YAAY,mBAAmBC,MAAM,CAAC,KAAOR,EAAIlB,QAAiB,UAAI,CAACkB,EAAIa,GAAGb,EAAIc,GAAGd,EAAIgB,GAAG,yBAC9zD,EACIE,EAAkB,E","sources":["webpack:///./resources/area/web/default/js/components/catalog/ProductListItem.vue?988b","webpack:///./resources/area/web/default/js/components/catalog/ProductListItem.vue","webpack:///./resources/area/web/default/js/components/catalog/ProductListItem.vue?2c0b","webpack:///./resources/area/web/default/js/components/catalog/ProductListItem.vue?ec51"],"sourcesContent":["\nimport {Component, Prop, Vue} from 'vue-property-decorator';\nimport ServiceContainer from '@flashpointbv/solar-service-container';\nimport {SolarDataLayer} from '@flashpointbv/solar-datalayer/dist';\n\n@Component({\n name: 'catalog-product-list-item',\n components: ServiceContainer().getComponents(),\n})\nexport default class extends Vue {\n @Prop({required: true}) readonly dataSource: string;\n @Prop({required: true}) readonly product: object;\n @Prop({default: null}) readonly type: string | null;\n @Prop({default: 'li'}) readonly componentTag: string;\n\n private get listTypeClass(): string {\n switch (this.type) {\n case 'home':\n case 'crosssell':\n case 'last-viewed':\n case 'slider':\n return '';\n case 'category_extended':\n return 'small-24 cell';\n case 'wishlist':\n return 'small-24 medium-8 cell';\n default:\n return 'small-24 medium-8 cell';\n }\n }\n\n private slugify(str: string): string {\n return String(str)\n .normalize('NFKD')\n .replace(/[\\u0300-\\u036f]/g, '')\n .trim()\n .toLowerCase()\n .replace(/[^a-z0-9 -]/g, '')\n .replace(/\\s+/g, '-')\n .replace(/-+/g, '-');\n }\n\n private get locale(): string {\n return this.$config.get('locale');\n }\n\n private mounted(): void {\n this.$forceUpdate();\n }\n\n private updated(): void {\n this.$eventBus.$emit('item-rendered', true);\n }\n\n private get imageWidth(): number {\n return this.type === 'category_extended' ? 976 : 292;\n }\n\n private get imageHeight(): number {\n return this.type === 'category_extended' ? 671 : 201;\n }\n\n private get imageSrc(): string {\n if (this.product['image'] === 'no_selection' || ! this.product.hasOwnProperty('image')) {\n return '/area/web/default/assets/images/logo.svg';\n }\n\n return `${this.$solarCdnBaseUrl}/cdn/resize-extended/rs:fill/w:${this.imageWidth}/h:${this.imageHeight}/extend:true/background:255:255:255/bl:10.0/q:40/path/media/catalog/product${this.product['image']}`;\n }\n\n private get imageDataSrc(): string {\n if (this.product['image'] === 'no_selection' || ! this.product.hasOwnProperty('image')) {\n return '/area/web/default/assets/images/logo.svg';\n }\n\n return `${this.$solarCdnBaseUrl}/cdn/resize-extended/rs:fill/w:${this.imageWidth}/h:${this.imageHeight}/extend:true/background:255:255:255/path/media/catalog/product${this.product['image']} 1x,\n ${this.$solarCdnBaseUrl}/cdn/resize-extended/rs:fill/w:${this.imageWidth * 2}/h:${this.imageHeight * 2}/extend:true/background:255:255:255/path/media/catalog/product${this.product['image']} 2x`;\n }\n\n private addProductClick(): void {\n SolarDataLayer.init().addSelectItem(this.product, this.$vnode.key as number, 'Product list');\n }\n}\n","import { render, staticRenderFns } from \"./ProductListItem.vue?vue&type=template&id=f6a82e72&\"\nimport script from \"./ProductListItem.vue?vue&type=script&lang=ts&\"\nexport * from \"./ProductListItem.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!./ProductListItem.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!./ProductListItem.vue?vue&type=script&lang=ts&\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c(_vm.componentTag,{tag:\"component\",class:_vm.listTypeClass},[_c('div',{staticClass:\"product__tile\"},[_c('a',{attrs:{\"href\":_vm.product['url_key']},on:{\"click\":function($event){return _vm.addProductClick()}}},[_c('span',{staticClass:\"image__holder\"},[_c('img',{staticClass:\"lazyload\",style:({ objectFit: _vm.product['image'] === 'no_selection' || ! _vm.product.hasOwnProperty('image') ? 'scale-down' : 'initial' }),attrs:{\"src\":_vm.imageSrc,\"data-srcset\":_vm.imageDataSrc,\"alt\":_vm.product['name'],\"height\":_vm.imageHeight,\"width\":_vm.imageWidth}}),_vm._v(\" \"),(_vm.product.hasOwnProperty('support_level'))?_c('span',[_c('span',{class:{ '--large': _vm.type === 'category_extended' }},[_vm._v(_vm._s(_vm.product['support_level']))]),_vm._v(\" \"),_c('img',{attrs:{\"src\":`/area/web/default/assets/images/support-levels/${_vm.slugify(_vm.product['support_level'])}.png`,\"alt\":_vm.product['support_level']}})]):_vm._e()]),_vm._v(\" \"),_c('span',{staticClass:\"product__holder\"},[_c('h3',[_vm._v(_vm._s(_vm.product['name']))]),_vm._v(\" \"),(_vm.product['product_type'] !== 'bundle')?_c('span',{staticClass:\"price__holder\"},[_c('span',[_vm._v(_vm._s(_vm.$t('From')))]),_vm._v(\" \"),(_vm.product['final_price_incl_tax'] !== _vm.product['price_incl_tax'])?[_c('span',{staticClass:\"--old\"},[_vm._v(_vm._s(_vm.product['price_incl_tax'].priceFormat(_vm.locale)))]),_vm._v(\" \"),_c('span',{staticClass:\"--special\"},[_vm._v(_vm._s(_vm.product['final_price_incl_tax'].priceFormat(_vm.locale)))])]:_c('span',{staticClass:\"price\"},[_vm._v(_vm._s(_vm.product['final_price_incl_tax'].priceFormat(_vm.locale)))])],2):_vm._e()])]),_vm._v(\" \"),_c('span',{staticClass:\"view__details\"},[_c('a',{staticClass:\"--button --small\",attrs:{\"href\":_vm.product['url_key']}},[_vm._v(_vm._s(_vm.$t('View details')))])])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }"],"names":["Vue","listTypeClass","this","type","slugify","str","String","normalize","replace","trim","toLowerCase","locale","$config","get","mounted","$forceUpdate","updated","$eventBus","$emit","imageWidth","imageHeight","imageSrc","product","hasOwnProperty","$solarCdnBaseUrl","imageDataSrc","addProductClick","SolarDataLayer","init","addSelectItem","$vnode","key","Prop","required","default","Component","name","components","getComponents","render","_vm","_c","_self","_setupProxy","componentTag","tag","class","staticClass","attrs","on","$event","style","objectFit","_v","_s","_e","$t","priceFormat","staticRenderFns"],"sourceRoot":""}