{"version":3,"file":"js/app.86ccd4829f78a97d1273.js","mappings":"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","sources":["webpack:///./resources/area/web/default/js/components/catalog/ProductStickers.vue?bb14","webpack:///./resources/area/web/default/js/shared/catalog/product/StickerTextResolver.ts","webpack:///./resources/area/web/default/js/shared/catalog/product/StickerTextVariablesProvider.ts","webpack:///./resources/area/web/default/js/components/catalog/ProductStickers.vue","webpack:///./resources/area/web/default/js/components/catalog/ProductStickers.vue?85bd","webpack:///./resources/area/web/default/js/components/catalog/ProductStickers.vue?c6c3"],"sourcesContent":["\nimport {Component, Vue, Prop, Watch} from 'vue-property-decorator';\nimport {resolveStickerText} from '../../shared/catalog/product/StickerTextResolver';\nimport {variables as stickerVariables} from '../../shared/catalog/product/StickerTextVariablesProvider';\n\n@Component({\n name: 'catalog-product-stickers'\n})\n\nexport default class extends Vue {\n @Prop({required: true}) readonly product: object;\n @Prop({default: false}) readonly useConfigurableProduct: boolean;\n\n private reducedStickers: object = {};\n\n private get selectedProduct(): object {\n if (this.useConfigurableProduct) {\n return this.product;\n }\n\n if (this.$store.getters['CatalogConfigurableProduct/selectedProducts'].length > 0) {\n return this.$store.getters['CatalogConfigurableProduct/selectedProducts'][0];\n }\n\n return this.product;\n }\n\n private stickerText(sticker: Array<any>): string {\n return resolveStickerText(sticker, this.selectedProduct);\n }\n\n private reduceStickers(product: object): void {\n const initialStickers = this.product['stickers'] || {};\n\n let stickerGroups = {};\n\n for (let group in initialStickers) {\n stickerGroups[group] = [...initialStickers[group]];\n }\n\n for (let position in stickerGroups) {\n stickerGroups[position] = stickerGroups[position].filter((sticker: object) => {\n const applicableRules = stickerVariables.filter(v => sticker['sticker_text'].includes(v['key']));\n return applicableRules.filter(v => v['validate'](product)).length === applicableRules.length;\n })\n }\n\n this.reducedStickers = stickerGroups;\n }\n\n private created(): void {\n this.reduceStickers(this.product)\n }\n\n @Watch('selectedProduct')\n private updateStickerText(product: object) {\n this.reduceStickers(product);\n }\n}\n","import {variables as stickerTextVariables} from './StickerTextVariablesProvider';\n\nexport const resolveStickerText = (sticker: Array<any>, product: Object) => {\n let resolvedText = sticker['sticker_text'];\n\n stickerTextVariables.forEach((v: object) => {\n resolvedText = resolvedText.replace(v['key'], v['value'](product));\n });\n\n return resolvedText;\n};\n","const discountPercentageValidation = (p: object) => {\n return p['discount_percentage'] > 0\n}\n\nconst specialPriceValidation = (p: object) => {\n return p['discount_amount'] > 0\n}\n\nconst priceValidation = (p: object) => {\n return true\n}\n\nexport const variables: Array<object> = [\n {key: '{{discount-percentage}}', value: (product: object) => product['discount_percentage'], validate: discountPercentageValidation},\n {key: '{{special-price}}', value: (product: object) => product['final_price_incl_tax'], validate: specialPriceValidation},\n {key: '{{price}}', value: (product: object) => product['price_incl_tax'], validate: priceValidation},\n];\n","import { render, staticRenderFns } from \"./ProductStickers.vue?vue&type=template&id=afc886e6&v-if=this.reducedStickers&\"\nimport script from \"./ProductStickers.vue?vue&type=script&lang=ts&\"\nexport * from \"./ProductStickers.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!./ProductStickers.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!./ProductStickers.vue?vue&type=script&lang=ts&\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('span',{staticClass:\"product__stickers\"},_vm._l((_vm.reducedStickers),function(stickerGroup,position){return _c('span',{staticClass:\"sticker__group\",class:position},_vm._l((stickerGroup),function(sticker,index){return (index < 3)?_c('span',{staticClass:\"--sticker\",class:`--${sticker['shape']} --${position}`,style:({ backgroundColor: sticker['background_color'], color: sticker['text_color'] })},[_vm._v(\"\\n \"+_vm._s(_vm.stickerText(sticker))+\"\\n \"),_c('span',{staticClass:\"--shape\"},[(position === 'top_left')?_c('svg',{attrs:{\"width\":\"34\",\"height\":\"39\",\"viewBox\":\"0 0 34 39\",\"fill\":\"none\",\"xmlns\":\"http://www.w3.org/2000/svg\"}},[_c('path',{attrs:{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"d\":\"M27.506 10.8064L34 0.0241025L0 0V39H1.27562V38.949H2.41938C7.12153 38.949 12.6243 35.912 14.8546 32.2052L27.506 10.8064Z\",\"fill\":sticker['background_color']}})]):_vm._e(),_vm._v(\" \"),(position === 'bottom_right')?_c('svg',{attrs:{\"width\":\"34\",\"height\":\"39\",\"viewBox\":\"0 0 34 39\",\"fill\":\"none\",\"xmlns\":\"http://www.w3.org/2000/svg\"}},[_c('g',{attrs:{\"clip-path\":\"url(#clip0_0_3)\"}},[_c('path',{attrs:{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"d\":\"M6.494 28.1936L1.90524e-06 38.9759L34 39L34 -1.90735e-06L32.7244 -1.79583e-06L32.7244 0.0509969L31.5806 0.050997C26.8785 0.0509974 21.3757 3.088 19.1454 6.7948L6.494 28.1936Z\",\"fill\":sticker['background_color']}})]),_vm._v(\" \"),_c('defs',[_c('clipPath',{attrs:{\"id\":\"clip0_0_3\"}},[_c('rect',{attrs:{\"width\":\"34\",\"height\":\"39\",\"fill\":\"white\",\"transform\":\"translate(34 39) rotate(180)\"}})])])]):_vm._e(),_vm._v(\" \"),(position === 'bottom_left')?_c('svg',{attrs:{\"width\":\"34\",\"height\":\"39\",\"viewBox\":\"0 0 34 39\",\"fill\":\"none\",\"xmlns\":\"http://www.w3.org/2000/svg\"}},[_c('g',{attrs:{\"clip-path\":\"url(#clip0_0_3)\"}},[_c('path',{attrs:{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"d\":\"M27.506 28.1936L34 38.9759L-1.90735e-06 39L1.50214e-06 -1.90735e-06L1.27562 -1.79583e-06L1.27562 0.0509969L2.41938 0.050997C7.12153 0.0509974 12.6243 3.088 14.8546 6.7948L27.506 28.1936Z\",\"fill\":sticker['background_color']}})]),_vm._v(\" \"),_c('defs',[_c('clipPath',{attrs:{\"id\":\"clip0_0_3\"}},[_c('rect',{attrs:{\"width\":\"34\",\"height\":\"39\",\"fill\":\"white\",\"transform\":\"matrix(1 8.74228e-08 8.74228e-08 -1 -1.90735e-06 39)\"}})])])]):_vm._e(),_vm._v(\" \"),(position === 'top_right')?_c('svg',{attrs:{\"width\":\"34\",\"height\":\"39\",\"viewBox\":\"0 0 34 39\",\"fill\":\"none\",\"xmlns\":\"http://www.w3.org/2000/svg\"}},[_c('g',{attrs:{\"clip-path\":\"url(#clip0_0_3)\"}},[_c('path',{attrs:{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"d\":\"M6.494 10.8064L0 0.0241025L34 0V39H32.7244V38.949H31.5806C26.8785 38.949 21.3757 35.912 19.1454 32.2052L6.494 10.8064Z\",\"fill\":sticker['background_color']}})]),_vm._v(\" \"),_c('defs',[_c('clipPath',{attrs:{\"id\":\"clip0_0_3\"}},[_c('rect',{attrs:{\"width\":\"34\",\"height\":\"39\",\"fill\":\"white\",\"transform\":\"matrix(-1 0 0 1 34 0)\"}})])])]):_vm._e()])]):_vm._e()}),0)}),0)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }"],"names":["Vue","reducedStickers","selectedProduct","this","useConfigurableProduct","product","$store","getters","length","stickerText","sticker","resolveStickerText","reduceStickers","initialStickers","stickerGroups","group","position","filter","applicableRules","v","includes","created","updateStickerText","Prop","required","default","Watch","Component","name","resolvedText","forEach","replace","variables","key","value","validate","p","render","_vm","_c","_self","_setupProxy","staticClass","_l","stickerGroup","class","index","style","backgroundColor","color","_v","_s","attrs","_e","staticRenderFns"],"sourceRoot":""}