{"version":3,"file":"js/app.2dd8ed89ff554bee2520.js","mappings":"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","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?0a0a","webpack:///./resources/area/web/default/js/components/catalog/ProductListItem.vue?5f0f"],"sourcesContent":["\nimport {Component, Prop, Vue} from 'vue-property-decorator';\nimport ServiceContainer from '@flashpointbv/solar-service-container';\n\n@Component({\n name: 'catalog-product-list-item',\n components: ServiceContainer().getComponents(),\n})\nexport default class extends Vue {\n $refs!: {\n image: HTMLImageElement;\n };\n\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 activeVersion: null | string = null;\n private defaultPlaceholder: string = '/area/web/default/assets/images/default-placeholder.png';\n\n private get listTypeClass(): string {\n switch (this.type) {\n case 'crosssell':\n case 'last-viewed':\n case 'slider':\n return '';\n case 'seo-with-product':\n return 'small-12';\n case 'home':\n return 'small-12 medium-6';\n default:\n return 'small-12 medium-8';\n }\n }\n\n private get productUrl(): string {\n if (this.activeVersion) {\n return this.product['url_key'] + '?version=' + this.activeVersion;\n }\n return this.product['url_key'];\n }\n\n private get imageWidth(): number {\n return 348;\n }\n\n private get imageHeight(): number {\n return 348;\n }\n\n private get swatches(): null | object {\n return this.product.hasOwnProperty('swatches') && Object.keys(JSON.parse(this.product['swatches'] || {})).length > 0 ?\n JSON.parse(this.product['swatches']) :\n null;\n }\n\n private get locale(): string {\n return window.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 imageSrc(): string {\n if ( ! this.product['default_image']) {\n return this.defaultPlaceholder;\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['default_image']['url']}`;\n }\n\n private get imageDataSrc(): string {\n if ( ! this.product['default_image']) {\n return this.defaultPlaceholder;\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['default_image']['url']} 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['default_image']['url']} 2x`;\n }\n\n private created(): void {\n this.$eventBus.$on('change-image', (value: object, id: number) => {\n if (id !== this.product['product_id']) {\n return;\n }\n this.activeVersion = value['version'];\n let img = \"\";\n if (typeof value['image'] === 'undefined' || value['image'] === null || value['image'] === undefined) {\n img = `${this.$solarCdnBaseUrl}/area/web/default/assets/images/default-placeholder.png`;\n } else {\n img = `${this.$solarCdnBaseUrl}/cdn/resize-extended/rs:fill/w:${this.imageWidth}/h:${this.imageHeight}/extend:true/path/media/catalog/product${value['image']}`;\n }\n this.$refs.image.setAttribute('srcset', img);\n });\n }\n}\n","import { render, staticRenderFns } from \"./ProductListItem.vue?vue&type=template&id=c905da52&\"\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-26.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-26.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('catalog-product-list-item-swatches',{attrs:{\"swatches\":_vm.swatches,\"product-id\":_vm.product['product_id']}}),_vm._v(\" \"),_c('a',{attrs:{\"href\":_vm.productUrl}},[_c('span',{staticClass:\"image__holder\"},[_c('img',{ref:\"image\",staticClass:\"lazyload\",attrs:{\"src\":_vm.imageSrc,\"data-srcset\":_vm.imageDataSrc,\"height\":_vm.imageHeight,\"width\":_vm.imageWidth,\"alt\":_vm.product['name']}})]),_vm._v(\" \"),_c('span',{staticClass:\"product__holder\"},[_c('span',{staticClass:\"--brand\"},[_vm._v(_vm._s(_vm.product['ec_brand']))]),_vm._v(\" \"),_c('h3',[_vm._v(_vm._s(_vm.product['name']))]),_vm._v(\" \"),_c('ul',_vm._l((_vm.product['product_usp']),function(usp){return _c('li',[_vm._v(_vm._s(usp))])}),0),_vm._v(\" \"),(_vm.product['product_type'] !== 'bundle' && _vm.product['show_price'] && _vm.product['final_price_incl_tax'])?_c('span',{staticClass:\"price__holder\"},[(_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 hide-for-small-only\"},[_c('a',{staticClass:\"--button --small\",attrs:{\"href\":_vm.product['url_key']}},[_vm._v(_vm._s(_vm.$t('category-show-product')))])])],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }"],"names":["Vue","activeVersion","defaultPlaceholder","listTypeClass","this","type","productUrl","product","imageWidth","imageHeight","swatches","hasOwnProperty","Object","keys","JSON","parse","length","locale","window","Locale","mounted","$forceUpdate","updated","$eventBus","$emit","imageSrc","$solarCdnBaseUrl","imageDataSrc","created","$on","value","id","img","undefined","$refs","image","setAttribute","Prop","required","default","Component","name","components","getComponents","render","_vm","_c","_self","_setupProxy","componentTag","tag","class","staticClass","attrs","_v","ref","_s","_l","usp","priceFormat","_e","$t","staticRenderFns"],"sourceRoot":""}