{"version":3,"file":"ProductListingPage-B_LDwBfb-chunk.js","sources":["../../../GSDClient/Scripts/Pages/ProductListingPage/ProductListUtils/oneBigSixSmall.ts","../../../GSDClient/Scripts/Pages/ProductListingPage/ProductListUtils/sixSmallOneBig.ts","../../../GSDClient/Scripts/Pages/ProductListingPage/ProductListFiveColumnGridBigImage.tsx","../../../GSDClient/Scripts/Pages/ProductListingPage.tsx"],"sourcesContent":["export const colStart = (index: number, length: number) => {\n const patternIndex = index % 7;\n const isFullSeven = length - index >= 7 - patternIndex;\n\n if (patternIndex === 0) {\n return 1;\n }\n if (patternIndex === 1) {\n return isFullSeven ? 3 : 2;\n }\n if (patternIndex === 2) {\n return isFullSeven ? 4 : 3;\n }\n if (patternIndex === 3) {\n return isFullSeven ? 5 : 4;\n }\n if (patternIndex === 4) {\n return isFullSeven ? 3 : 5;\n }\n if (patternIndex === 5) {\n return isFullSeven ? 4 : 1;\n }\n\n return 5;\n};\n\nexport const colEnd = (index: number, length: number) => {\n const patternIndex = index % 7;\n const isFullSeven = length - index >= 7 - patternIndex;\n\n if (patternIndex === 0) {\n return isFullSeven ? 3 : 1;\n }\n if (patternIndex === 1) {\n return isFullSeven ? 3 : 2;\n }\n if (patternIndex === 2) {\n return isFullSeven ? 4 : 3;\n }\n if (patternIndex === 3) {\n return isFullSeven ? 5 : 4;\n }\n if (patternIndex === 4) {\n return isFullSeven ? 3 : 5;\n }\n if (patternIndex === 5) {\n return isFullSeven ? 4 : 1;\n }\n\n return 5;\n};\n\nexport const isCardBig = (index: number, length: number) => {\n const patternIndex = index % 7;\n const isFullSeven = length - index >= 7 - patternIndex;\n if (patternIndex === 0) {\n return !!isFullSeven;\n }\n return false;\n};\n\nexport default { colStart, colEnd, isCardBig };\n","export const colStart = (index: number, length: number) => {\n const patternIndex = index % 7;\n const isFullSeven = length - index >= 7 - patternIndex;\n if (patternIndex === 0) {\n return 1;\n }\n if (patternIndex === 1) {\n return 2;\n }\n if (patternIndex === 2) {\n return 3;\n }\n if (patternIndex === 3) {\n return 4;\n }\n if (patternIndex === 4) {\n return isFullSeven ? 1 : 5;\n }\n if (patternIndex === 5) {\n return isFullSeven ? 2 : 1;\n }\n if (patternIndex === 6) {\n return isFullSeven ? 3 : 2;\n }\n return 3;\n};\n\nexport const colEnd = (index: number, length: number) => {\n const patternIndex = index % 7;\n const isFullSeven = length - index >= 7 - patternIndex;\n\n if (patternIndex === 0) {\n return 2;\n }\n if (patternIndex === 1) {\n return 3;\n }\n if (patternIndex === 2) {\n return 4;\n }\n if (patternIndex === 3) {\n return isFullSeven ? 6 : 5;\n }\n if (patternIndex === 4) {\n return isFullSeven ? 2 : 6;\n }\n if (patternIndex === 5) {\n return isFullSeven ? 3 : 2;\n }\n if (patternIndex === 6) {\n return isFullSeven ? 4 : 3;\n }\n return 4;\n};\n\nexport const isCardBig = (index: number, length: number) => {\n const patternIndex = index % 7;\n const isFullSeven = length - index >= 7 - patternIndex;\n if (patternIndex === 3) {\n return !!isFullSeven;\n }\n return false;\n};\n\nexport default {\n colStart,\n colEnd,\n isCardBig,\n};\n","import { useRef } from 'react';\n\nimport { IBlockViewModel, IProductItemViewModel } from 'Types/Litium';\nimport { ISrcSetSize } from 'Types/shared';\nimport oneBigSixSmall from 'Pages/ProductListingPage/ProductListUtils/oneBigSixSmall';\nimport sixSmallOneBig from 'Pages/ProductListingPage/ProductListUtils/sixSmallOneBig';\nimport BlockRenderer from 'Blocks/BlockRenderer';\nimport ProductCard from 'Components/ProductCard/ProductCard';\n\nconst ProductList5GridBigImage = ({\n products,\n blockAreas,\n}: {\n products: IProductItemViewModel[];\n blockAreas: { [key: string]: IBlockViewModel[] };\n}) => {\n const gridRef = useRef(null);\n\n const productsLength = products.length;\n\n const isBigCard = (index: number) => {\n const bigLastOrFirst = index % 14 < 7;\n if (bigLastOrFirst) {\n return sixSmallOneBig.isCardBig(index, productsLength);\n }\n return oneBigSixSmall.isCardBig(index, productsLength);\n };\n\n const getSizeArray = (index: number): ISrcSetSize =>\n isBigCard(index)\n ? {\n default: { width: 156, height: 222 },\n md: { width: 356, height: 507 },\n lg: { width: 353, height: 692 },\n xl: { width: 520, height: 906 },\n xxl: { width: 756, height: 1220 },\n }\n : {\n default: { width: 156, height: 222 },\n md: { width: 356, height: 507 },\n lg: { width: 166, height: 238 },\n xl: { width: 250, height: 357 },\n xxl: { width: 368, height: 525 },\n };\n\n return (\n \n {products.map((product, index) => (\n <>\n {index === 8 && blockAreas?.third?.length > 0 && (\n \n \n \n )}\n\n {index === 7 && blockAreas?.third?.length > 0 && (\n