{"version":3,"sources":["webpack:///./Scripts/Components/Product/ProductPrice.js","webpack:///./Scripts/Components/Product/Slider/ProductCard.js","webpack:///./Scripts/Components/Product/Slider/ProductSlider.js"],"names":["price","variantCount","isConfiguratorProduct","cssBlock","configurator","useSelector","state","preConfiguredArticleNumbers","currentProduct","isLoaded","pricePrefix","isCampaignActive","isCampaignPrice","translate","setPricePrefix","className","hasOwnProperty","articleNumber","hasCampaignPrice","hasClubPrice","campaignPrice","clubPrice","Fragment","itemProp","currencyFormat","hasRetailPrice","retailPrice","getPriceComponent","content","unitOfMeasurementTitle","currency","id","productItem","index","product","JSON","parse","key","image","imageUrl","href","url","dangerouslySetInnerHTML","__html","tags","name","productItemName2","temporarilyDisabledTextShort","stockInformation","displayShortText","variantText","ProductSliderItem","products","map","slideCount","showMore","length","sliderItem"],"mappings":"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","file":"419.909885d512c9abedce34.js","sourcesContent":["import React, { Fragment } from 'react';\r\nimport { translate } from '../../Services/translation';\r\nimport { currencyFormat } from '../../Services/formatting';\r\nimport { useSelector } from \"react-redux\";\r\nimport ConfiguratorProductPrice from './Configurator/ConfiguratorProductPrice';\r\n\r\nconst ProductPrice = ({ price, variantCount = 0, isConfiguratorProduct, cssBlock }) => {\r\n\r\n const { configurator } = useSelector((state) => state);\r\n const { preConfiguredArticleNumbers, currentProduct, isLoaded} = configurator;\r\n\r\n const showConfiguratorPrice = () => {\r\n\r\n if(isConfiguratorProduct && !isLoaded)\r\n return true \r\n\r\n return isConfiguratorProduct && !preConfiguredArticleNumbers.hasOwnProperty(currentProduct.articleNumber) && isLoaded;\r\n }\r\n\r\n const getLitiumPrice = () => {\r\n return preConfiguredArticleNumbers.hasOwnProperty(currentProduct.articleNumber) ? preConfiguredArticleNumbers[currentProduct.articleNumber] : price;\r\n }\r\n\r\n const pricePrefix = (isCampaignActive, isCampaignPrice) => {\r\n return isCampaignActive\r\n ? isCampaignPrice\r\n ? translate(`product.price.now`)\r\n : translate(`product.price.before`)\r\n : false\r\n\r\n // if (variantCount > 1) {\r\n // return isFrom\r\n // ? isCampaign\r\n // ? translate(`product.price.now`)\r\n // : translate(`product.price.from`)\r\n // : translate(`product.price.before`);\r\n // } else if ((variantCount = 1)) {\r\n // return isFrom\r\n // ? isCampaign\r\n // ? translate(`product.price.now`)\r\n // : false\r\n // : isCampaign\r\n // ? translate(`product.price.before`)\r\n // : false;\r\n // } else {\r\n // return false;\r\n // }\r\n };\r\n\r\n const setPricePrefix = (isCampaignActive, isCampaignPrice = false) => {\r\n return (\r\n pricePrefix(isCampaignActive, isCampaignPrice) && (\r\n <span className=\"product__price--label\">\r\n {pricePrefix(isCampaignActive, isCampaignPrice)}\r\n </span>\r\n )\r\n );\r\n };\r\n\r\n const getPriceComponent = (price) => {\r\n if (price.hasCampaignPrice && (!price.hasClubPrice || price.campaignPrice.price < price.clubPrice.price)) {\r\n return (\r\n <Fragment>\r\n <span itemProp=\"price\" className={`product__campaign-price ${cssBlock ? cssBlock + \"__campaign-price\" : \"\"}`}>\r\n {setPricePrefix(true, true)}\r\n {currencyFormat(price.campaignPrice.price)}\r\n </span>\r\n {price.hasRetailPrice && (\r\n <span className={`product__old-price ${cssBlock ? cssBlock + \"__old-price\" : \"\"}`}>\r\n {setPricePrefix(true, false)}\r\n {currencyFormat(price.retailPrice.price)}\r\n </span>\r\n )}\r\n </Fragment>\r\n )\r\n } else if (price.hasClubPrice) {\r\n return (\r\n <Fragment>\r\n <span itemProp=\"price\" className={`product__club-price ${cssBlock ? cssBlock + \"__club-price\" : \"\"}`}>\r\n {setPricePrefix(false, false)}\r\n {currencyFormat(price.clubPrice.price)}\r\n <div className=\"product__club-price-text\">{translate(`product.price.club.member`)}</div>\r\n </span>\r\n {price.hasRetailPrice && (\r\n <span className={`product__old-price ${cssBlock ? cssBlock + \"__old-price\" : \"\"}`}>\r\n {setPricePrefix(false, false)}\r\n {currencyFormat(price.retailPrice.price)}\r\n <div className={`product__club-price-text ${cssBlock ? cssBlock + \"__club-price-text\" : \"\"}`}>{translate(`product.price.noclub.member`)}</div>\r\n </span>\r\n )\r\n }\r\n </Fragment >\r\n )\r\n } else if (price.hasRetailPrice) {\r\n return (<Fragment>\r\n {setPricePrefix(false, false)}\r\n <span itemProp=\"price\" className={`price ${cssBlock ? cssBlock + \"__price\" : \"\"}`}>\r\n {currencyFormat(price.retailPrice.price)}\r\n </span>\r\n </Fragment>\r\n )\r\n }\r\n }\r\n\r\n return (\r\n <div className={`product-detail__price-info ${cssBlock ? cssBlock + \"__price-info\" : \"\"}`}>\r\n { showConfiguratorPrice()\r\n ? <ConfiguratorProductPrice cssBlock={cssBlock} />\r\n : getPriceComponent(getLitiumPrice())\r\n }\r\n\r\n {price.hasRetailPrice && (\r\n <meta itemProp=\"sku\" content={price.retailPrice.price.unitOfMeasurementTitle} />\r\n )}\r\n {price.currency.id && (\r\n <meta itemProp=\"priceCurrency\" content={price.currency.id} />\r\n )}\r\n </div>\r\n );\r\n};\r\n\r\nexport default ProductPrice;\r\n","import React, { Fragment } from 'react';\r\nimport { translate } from '../../../Services/translation';\r\nimport ProductPrice from '../ProductPrice';\r\nimport ProductStockInformationContainer from '../ProductStockInformationContainer';\r\nimport ProductTags from '../ProductTags';\r\n\r\nconst ProductCard = ({ productItem, index }) => {\r\n const product = JSON.parse(productItem.product);\r\n return (\r\n <div\r\n className=\"product-detail__product-box\"\r\n key={`product-slider-banner-${index}`}\r\n >\r\n <Fragment>\r\n <figure className=\"product__figure\">\r\n {productItem.image && productItem.imageUrl ? (\r\n <a href={product.url}>\r\n <div\r\n className=\"product__image-link\"\r\n dangerouslySetInnerHTML={{ __html: productItem.image }}\r\n ></div>\r\n </a>\r\n ) : (\r\n translate('product.noproductimage')\r\n )}\r\n <ProductTags tags={product.tags} />\r\n </figure>\r\n </Fragment>\r\n <article className=\"product__info\">\r\n <div className=\"product__name-wrapper\">\r\n <a href={product.url}>\r\n <h3 className=\"product__name\">{product.name}</h3>\r\n </a>\r\n </div>\r\n <p className=\"product__name--second\">{product.productItemName2}</p>\r\n {product.price && (\r\n <div className=\"product__price-wrap\">\r\n <ProductPrice\r\n price={product.price}\r\n variantCount={product.variantCount}\r\n />\r\n </div>\r\n )}\r\n <div className=\"product__stockvariant\">\r\n {product.temporarilyDisabledTextShort ? (\r\n <div className=\"temporarily-disabled\">\r\n <span className=\"temporarily-disabled__icon\"></span><span>{product.temporarilyDisabledTextShort}</span>\r\n </div>\r\n ) : (\r\n <ProductStockInformationContainer\r\n stockInformation={product.stockInformation}\r\n displayShortText={true}\r\n />\r\n )}\r\n </div>\r\n <div className=\"product__stockvariant\">\r\n {product.variantCount > 1 && (\r\n <div className=\"product__variants-container\">\r\n <div itemProp=\"settings\" className=\"product__settings\">\r\n <svg>\r\n <use href=\"/ui/images/sprites/a-mobler.svg#wheel\" />\r\n </svg>\r\n </div>\r\n <div itemProp=\"description\" className=\"product__description\">\r\n {product.variantText} {translate('productlist.variants')}\r\n </div>\r\n </div>\r\n )}\r\n </div>\r\n </article>\r\n </div>\r\n );\r\n};\r\n\r\nexport default ProductCard;\r\n","import React, { Fragment } from 'react';\r\nimport ProductCard from './ProductCard';\r\nimport SliderContainer from '../../SliderContainer';\r\n\r\nconst ProductSlider = ({ products, slideCount = 4 }) => {\r\n const showMore = products && products.length > slideCount;\r\n return (\r\n <SliderContainer\r\n showMore={showMore}\r\n slideCount= {slideCount}\r\n sliderItem={<ProductSliderItem products={products} />}\r\n />\r\n );\r\n};\r\n\r\nconst ProductSliderItem = ({ products }) => {\r\n return (\r\n <Fragment>\r\n {products.map((productItem, index) => {\r\n return (\r\n <div\r\n key={\"product-list-\" + index}\r\n className=\"category-slider__list--item\"\r\n >\r\n <ProductCard productItem={productItem} index={index} />\r\n </div>\r\n );\r\n })}\r\n </Fragment>\r\n );\r\n};\r\nexport default ProductSlider;\r\n"],"sourceRoot":""}