{"version":3,"file":"scripts/components.page.familypage.productcompare.productcompare.0eff35c1.js","mappings":"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","sources":["webpack://foundation-spa-frontend/./src/Components/Page/FamilyPage/ProductCompare/ProductCompare.tsx","webpack://foundation-spa-frontend/./src/Components/Page/FamilyPage/ProductCompare/ProductCompare.utils.ts"],"sourcesContent":["\"use strict\";\r\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\r\n    if (k2 === undefined) k2 = k;\r\n    var desc = Object.getOwnPropertyDescriptor(m, k);\r\n    if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n      desc = { enumerable: true, get: function() { return m[k]; } };\r\n    }\r\n    Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n    if (k2 === undefined) k2 = k;\r\n    o[k2] = m[k];\r\n}));\r\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\r\n    Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n    o[\"default\"] = v;\r\n});\r\nvar __importStar = (this && this.__importStar) || function (mod) {\r\n    if (mod && mod.__esModule) return mod;\r\n    var result = {};\r\n    if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n    __setModuleDefault(result, mod);\r\n    return result;\r\n};\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n    return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst react_1 = __importDefault(require(\"react\"));\r\nconst styled_components_1 = require(\"styled-components\");\r\nconst styled = __importStar(require(\"./styled\"));\r\nconst Typography_1 = __importStar(require(\"@/Components/UI/Typography\"));\r\nconst ProductLogo_1 = __importDefault(require(\"@/Components/UI/ProductLogo\"));\r\nconst AddToCartWrapper_1 = __importDefault(require(\"./AddToCartWrapper/AddToCartWrapper\"));\r\nconst RotatingLoader_1 = __importDefault(require(\"@/Components/UI/RotatingLoader/RotatingLoader\"));\r\nconst ProductImage_1 = __importDefault(require(\"@/Components/UI/ProductImage\"));\r\nconst ProductCompare_utils_1 = require(\"./ProductCompare.utils\");\r\nconst Hooks_1 = require(\"@/Hooks\");\r\nconst ProductCompare = ({ compareProducts, setCompareProducts, setCompareProductPartNumbers, setListingPageState, isCompareLoading }) => {\r\n    const { t } = (0, Hooks_1.useTranslate)();\r\n    const theme = (0, styled_components_1.useTheme)();\r\n    const propertyKeys = [];\r\n    compareProducts.forEach(product => {\r\n        const { publicProperties, privateProperties } = product;\r\n        publicProperties.concat(privateProperties).forEach(prop => {\r\n            if (!propertyKeys.includes(prop.key)) {\r\n                propertyKeys.push(prop.key);\r\n            }\r\n        });\r\n    });\r\n    const columnsNumber = compareProducts.length + 1;\r\n    const deleteProductFromCompare = (partNumber) => {\r\n        setCompareProductPartNumbers(prev => prev.filter(el => el !== partNumber));\r\n        setCompareProducts(prev => prev.filter(el => el.partNumber !== partNumber));\r\n    };\r\n    return (react_1.default.createElement(styled.Container, null,\r\n        react_1.default.createElement(styled.PageTitle, { type: Typography_1.Types.H1 }, t('/haldex/product_page/compare/compare_products')),\r\n        react_1.default.createElement(styled.BackButton, { onClick: setListingPageState },\r\n            react_1.default.createElement(styled.BackArrow, { stroke: theme.palette.BLUE_100 }),\r\n            react_1.default.createElement(Typography_1.default, { type: Typography_1.Types.INTRODUCTORY_TEXT, color: theme.palette.BLUE_100 }, t('/haldex/product_page/compare/back_to_product_list'))),\r\n        isCompareLoading ? (react_1.default.createElement(styled.LoadingContainer, null,\r\n            react_1.default.createElement(RotatingLoader_1.default, null))) : compareProducts.length ? (react_1.default.createElement(styled.Table, null,\r\n            react_1.default.createElement(\"colgroup\", null, Array(columnsNumber).map((el, index) => (react_1.default.createElement(styled.TableCol, { key: index, width: `${100 / columnsNumber}%` })))),\r\n            react_1.default.createElement(\"thead\", null,\r\n                react_1.default.createElement(\"tr\", null,\r\n                    react_1.default.createElement(\"th\", null),\r\n                    compareProducts.map(product => {\r\n                        const { productLineLogo, partNumber, url, imageUrl, productName } = product;\r\n                        return (react_1.default.createElement(\"th\", { key: product.name },\r\n                            react_1.default.createElement(styled.ColumnHeaderContainer, null,\r\n                                react_1.default.createElement(styled.ColumnControls, null,\r\n                                    react_1.default.createElement(ProductLogo_1.default, { manufacturer: productLineLogo }),\r\n                                    react_1.default.createElement(styled.CrossIcon, { fill: theme.palette.DARK_GRAY_60, onClick: () => deleteProductFromCompare(partNumber) })),\r\n                                react_1.default.createElement(styled.ImageBlock, null,\r\n                                    react_1.default.createElement(ProductImage_1.default, { imageUrl: imageUrl, url: url, productName: productName })),\r\n                                productName && react_1.default.createElement(styled.ProductName, { type: Typography_1.Types.BODY_1 }, productName),\r\n                                partNumber && (react_1.default.createElement(Typography_1.default, { type: Typography_1.Types.BODY_2, color: theme.palette.DARK_GRAY_80 },\r\n                                    t('/haldex/product_page/product/part_number'),\r\n                                    \" \",\r\n                                    partNumber)))));\r\n                    }))),\r\n            react_1.default.createElement(\"tbody\", null,\r\n                react_1.default.createElement(styled.TRow, null,\r\n                    react_1.default.createElement(styled.TDataHeader, null,\r\n                        react_1.default.createElement(styled.TDataText, { type: Typography_1.Types.BODY_2, header: true }, t('/haldex/product_page/compare/price_row'))),\r\n                    compareProducts.map((product, index) => (react_1.default.createElement(styled.TDataValues, { key: index },\r\n                        react_1.default.createElement(AddToCartWrapper_1.default, { product: product, listIndex: index, listName: \"Product Compare Page\" }))))),\r\n                propertyKeys.map(key => (react_1.default.createElement(styled.TRow, { key: key },\r\n                    react_1.default.createElement(styled.TDataHeader, null,\r\n                        react_1.default.createElement(styled.TDataText, { type: Typography_1.Types.BODY_2, header: true }, key)),\r\n                    compareProducts.map(product => {\r\n                        const propertyValue = (0, ProductCompare_utils_1.getPropertyValue)(product, key);\r\n                        return (react_1.default.createElement(styled.TDataValues, { key: `${product.name}-${key}` },\r\n                            react_1.default.createElement(styled.TDataText, { type: Typography_1.Types.BODY_2 }, propertyValue)));\r\n                    }))))))) : (react_1.default.createElement(styled.NoResults, { type: Typography_1.Types.BODY_1 }, t('/haldex/product_page/compare/not_selected')))));\r\n};\r\nexports.default = ProductCompare;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.getPropertyValue = void 0;\r\nconst getPropertyValue = (product, key) => {\r\n    let propertyValue = '-';\r\n    let found = false;\r\n    product.publicProperties.forEach(prop => {\r\n        if (prop.key === key) {\r\n            propertyValue = prop.value;\r\n            found = true;\r\n        }\r\n    });\r\n    if (!found) {\r\n        product.privateProperties.forEach(prop => {\r\n            if (prop.key === key) {\r\n                propertyValue = prop.value;\r\n            }\r\n        });\r\n    }\r\n    return propertyValue;\r\n};\r\nexports.getPropertyValue = getPropertyValue;\r\n"],"names":["__createBinding","this","Object","create","o","m","k","k2","undefined","desc","getOwnPropertyDescriptor","__esModule","writable","configurable","enumerable","get","defineProperty","__setModuleDefault","v","value","__importStar","mod","result","prototype","hasOwnProperty","call","__importDefault","exports","react_1","styled_components_1","styled","Typography_1","ProductLogo_1","AddToCartWrapper_1","RotatingLoader_1","ProductImage_1","ProductCompare_utils_1","Hooks_1","compareProducts","setCompareProducts","setCompareProductPartNumbers","setListingPageState","isCompareLoading","t","useTranslate","theme","useTheme","propertyKeys","forEach","product","publicProperties","privateProperties","concat","prop","includes","key","push","columnsNumber","length","default","createElement","Container","PageTitle","type","Types","H1","BackButton","onClick","BackArrow","stroke","palette","BLUE_100","INTRODUCTORY_TEXT","color","LoadingContainer","Table","Array","map","el","index","TableCol","width","productLineLogo","partNumber","url","imageUrl","productName","name","ColumnHeaderContainer","ColumnControls","manufacturer","CrossIcon","fill","DARK_GRAY_60","prev","filter","deleteProductFromCompare","ImageBlock","ProductName","BODY_1","BODY_2","DARK_GRAY_80","TRow","TDataHeader","TDataText","header","TDataValues","listIndex","listName","propertyValue","getPropertyValue","NoResults","found"],"sourceRoot":""}