{"version":3,"file":"index-BpY3g_5J.js","sources":["../../../app/javascript/src/explore/compositions/ProductCarousel/elements/Products/index.tsx","../../../app/javascript/src/explore/compositions/ProductCarousel/index.tsx"],"sourcesContent":["import React, { FC } from 'react';\n\nimport { useShopConfig } from 'src/explore/hooks/useShopConfig';\nimport { CardFactory } from '../../../ProductGrid/services/CardFactory';\n\nconst factory = new CardFactory();\n\ninterface Props {\n analytics?: Record<string, string>;\n hideLove?: boolean;\n hideMerchant?: boolean;\n linkParameters?: {\n [key: string]: string;\n };\n products: Array<any>;\n recommId?: string | null;\n template: string;\n}\n\nexport const Products: FC<Props> = ({\n analytics = {},\n hideLove,\n hideMerchant,\n linkParameters,\n products,\n recommId,\n template,\n}) => {\n const config = useShopConfig();\n\n if ( !( products && products.length )) return null;\n\n const ProductCard = factory.create( template );\n\n return (\n <>\n {products.map(( product, i ) => {\n if ( !product ) return null;\n\n return (\n <ProductCard\n analytics={{\n ...analytics,\n click: `position: ${i + 1}${analytics.click ? `; ${analytics.click}` : ''}`,\n }}\n hideLove={hideLove || config.isWhitelabel}\n hideMerchant={hideMerchant}\n linkParameters={linkParameters}\n isWhitelabel={config.isWhitelabel}\n key={product.id}\n product={product}\n recommId={recommId}\n />\n );\n })}\n </>\n );\n};\n","import React, { FC } from 'react';\nimport { Carousel } from '@goldbely/explore-component-library';\n\nimport ProductSkeletons from 'src/explore/elements/ProductSkeletons';\n\nimport { Products } from './elements/Products';\n\nimport styles from './index.module.sass';\n\ninterface Props {\n analytics?: Record<string, string>;\n hideLove?: boolean;\n hideMerchant?: boolean;\n linkParameters?: {\n [key: string]: string;\n };\n pristine: boolean;\n products: Array<any>;\n recommId?: string | null;\n template: string;\n title?: string | null;\n viewAllText?: string;\n viewAllLinkUrl?: string;\n}\n\nexport const ProductCarousel: FC<Props> = ({\n analytics,\n hideLove,\n hideMerchant,\n linkParameters,\n pristine,\n products,\n recommId,\n template,\n title,\n viewAllText = 'View All',\n viewAllLinkUrl,\n}) => {\n if ( !products?.length && !pristine ) return null;\n\n return (\n <div className=\"spec__product-carousel\">\n {title && <h3 className=\"mb-3 fs-5 fs-lg-8 text-uppercase text-center\">{title}</h3>}\n\n {pristine ? (\n <ProductSkeletons across={4} className=\"flex-nowrap w-100 overflow-hidden\" />\n ) : (\n <Carousel\n classNames={{ container: `${styles.container} spec__collection-products` }}\n element=\"ul\"\n jumpToEdgeChild\n >\n <Products\n analytics={analytics}\n hideLove={hideLove}\n hideMerchant={hideMerchant}\n linkParameters={linkParameters}\n products={products}\n recommId={recommId}\n template={template}\n />\n </Carousel>\n )}\n\n {viewAllLinkUrl && (\n <div className=\"px-4 mt-4 text-center\">\n <a href={viewAllLinkUrl} className={`${styles.button} btn btn-dark px-9`}>\n {viewAllText}\n </a>\n </div>\n )}\n </div>\n );\n};\n"],"names":["factory","CardFactory","Products","analytics","hideLove","hideMerchant","linkParameters","products","recommId","template","config","useShopConfig","ProductCard","React","product","i","ProductCarousel","pristine","title","viewAllText","viewAllLinkUrl","ProductSkeletons","Carousel","styles"],"mappings":"wMAKA,MAAMA,EAAU,IAAIC,EAcPC,EAAsB,CAAC,CAClC,UAAAC,EAAY,CAAC,EACb,SAAAC,EACA,aAAAC,EACA,eAAAC,EACA,SAAAC,EACA,SAAAC,EACA,SAAAC,CACF,IAAM,CACJ,MAAMC,EAASC,EAAc,EAE7B,GAAK,EAAGJ,GAAYA,EAAS,QAAiB,OAAA,KAExC,MAAAK,EAAcZ,EAAQ,OAAQS,CAAS,EAE7C,OAEKI,EAAA,cAAAA,EAAA,SAAA,KAAAN,EAAS,IAAI,CAAEO,EAASC,IACjBD,EAGJD,EAAA,cAACD,EAAA,CACC,UAAW,CACT,GAAGT,EACH,MAAO,aAAaY,EAAI,CAAC,GAAGZ,EAAU,MAAQ,KAAKA,EAAU,KAAK,GAAK,EAAE,EAC3E,EACA,SAAUC,GAAYM,EAAO,aAC7B,aAAAL,EACA,eAAAC,EACA,aAAcI,EAAO,aACrB,IAAKI,EAAQ,GACb,QAAAA,EACA,SAAAN,CAAA,CACF,EAfqB,IAiBxB,CACH,CAEJ,uEChCaQ,EAA6B,CAAC,CACzC,UAAAb,EACA,SAAAC,EACA,aAAAC,EACA,eAAAC,EACA,SAAAW,EACA,SAAAV,EACA,SAAAC,EACA,SAAAC,EACA,MAAAS,EACA,YAAAC,EAAc,WACd,eAAAC,CACF,IACO,EAACb,GAAA,MAAAA,EAAU,SAAU,CAACU,EAAkB,qBAG1C,MAAI,CAAA,UAAU,0BACZC,GAASL,EAAA,cAAC,MAAG,UAAU,gDAAgDK,CAAM,EAE7ED,EACEJ,EAAA,cAAAQ,EAAA,CAAiB,OAAQ,EAAG,UAAU,oCAAoC,EAE3ER,EAAA,cAACS,EAAA,CACC,WAAY,CAAE,UAAW,GAAGC,EAAO,SAAS,4BAA6B,EACzE,QAAQ,KACR,gBAAe,EAAA,EAEfV,EAAA,cAACX,EAAA,CACC,UAAAC,EACA,SAAAC,EACA,aAAAC,EACA,eAAAC,EACA,SAAAC,EACA,SAAAC,EACA,SAAAC,CAAA,CAAA,CACF,EAIHW,GACCP,EAAA,cAAC,MAAI,CAAA,UAAU,yBACZA,EAAA,cAAA,IAAA,CAAE,KAAMO,EAAgB,UAAW,GAAGG,EAAO,MAAM,oBACjD,EAAAJ,CACH,CACF,CAEJ"}