{"version":3,"file":"govx-3993.ca334f72f17e8a8d16c7.js","mappings":"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","sources":["webpack://@govx/govx-shop/./src/desktop/certona/components/ProductRecommendations/ProductGridItem/PriceBehavior/index.js","webpack://@govx/govx-shop/./src/desktop/certona/components/ProductRecommendations/ProductGridItem/index.js","webpack://@govx/govx-shop/./src/desktop/certona/components/ProductRecommendations/index.js","webpack://@govx/govx-shop/./src/desktop/components/common/links/RecommendationLink.js"],"sourcesContent":["import React from 'react'\nimport { compose, withProps, lifecycle } from 'recompose'\nimport withStyles from '@material-ui/core/styles/withStyles'\nimport { priceTypeBits } from '../../../../../../utilities/price-util'\nconst clearanceStyles = (theme) => ({\n wrapper: {\n backgroundColor: theme.colors.red,\n color: theme.colors.white,\n padding: '2px 6px',\n fontSize: '13px',\n borderRadius: '2px',\n },\n})\nconst ClearancePillBase = ({ classes }) => (\n <div className={classes.wrapper}>CLEARANCE</div>\n)\nconst ClearancePill = compose(withStyles(clearanceStyles))(ClearancePillBase)\n\nconst xDealStyles = (theme) => ({\n wrapper: {\n backgroundColor: theme.colors.orange,\n color: theme.colors.white,\n padding: '2px 6px',\n fontSize: '13px',\n borderRadius: '2px',\n },\n})\nconst XDealPillBase = ({ classes }) => (\n <div className={classes.wrapper}>XDEAL</div>\n)\nconst XDealPill = compose(withStyles(xDealStyles))(XDealPillBase)\n\nconst flashDealStyles = (theme) => ({\n wrapper: {\n backgroundColor: theme.colors.darkGray,\n color: '#e6a013',\n padding: '2px 6px',\n fontSize: '13px',\n borderRadius: '2px',\n },\n})\nconst FlashDealPillBase = ({ classes }) => (\n <div className={classes.wrapper}>FLASH DEAL</div>\n)\nconst FlashDealPill = compose(withStyles(flashDealStyles))(FlashDealPillBase)\n\nconst openBoxStyles = (theme) => ({\n wrapper: {\n backgroundColor: '#D74F27',\n color: '#FFFFFF',\n padding: '2px 6px',\n fontSize: '13px',\n borderRadius: '2px',\n },\n})\nconst OpenBoxPillBase = ({ classes }) => (\n <div className={classes.wrapper}>OPEN BOX</div>\n)\nconst OpenBoxPill = compose(withStyles(openBoxStyles))(OpenBoxPillBase)\n\nexport default ({ priceType }) => {\n switch (priceType.id) {\n case priceTypeBits.xDeal:\n case priceTypeBits.promoXDeal:\n return <XDealPill />\n case priceTypeBits.flashDeal:\n case priceTypeBits.promoFlashDeal:\n return <FlashDealPill />\n case priceTypeBits.clearance:\n case priceTypeBits.promoClearance:\n return <ClearancePill />\n case priceTypeBits.openBox:\n return <OpenBoxPill />\n default:\n return <div />\n break\n }\n}\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { compose, withProps, lifecycle } from 'recompose'\nimport { withStyles } from '@material-ui/core/styles'\nimport Grid from '@material-ui/core/Grid'\nimport Typography from '@material-ui/core/Typography'\nimport { buildPictureUrl } from '../../../../../utilities/picture-util'\nimport {\n dollar,\n getSavings,\n getPriceInfo,\n minPercentToShow,\n} from '../../../../../utilities/price-util'\nimport ProductLink from '../../../../components/common/links/ProductLink'\nimport BrandLink from '../../../../components/common/links/BrandLink'\nimport RatingStars from '../../../../components/common/RatingStars'\nimport Button from '../../../../components/common/Button'\nimport { getLowStockActivitySettings } from '../../../../../utilities/product-util'\nimport PriceBehavior from './PriceBehavior'\nimport { LazyLoadImage } from 'react-lazy-load-image-component'\nimport { getConfiguration } from '../../../../../setup/configuration'\n\nconst styles = (theme) => ({\n imageContainer: {\n textAlign: 'center',\n position: 'relative',\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'center',\n width: '100%',\n height: '180px',\n margin: '0px auto',\n padding: '10px',\n\n '@media(min-width: 1200px)': {\n width: '220px',\n height: '220px',\n },\n '&:hover ~ .productLink': {\n textDecoration: 'underline',\n },\n },\n image: {\n maxWidth: '160px',\n maxHeight: '160px',\n objectFit: 'contain',\n\n '@media(min-width: 1200px)': {\n maxWidth: '200px',\n maxHeight: '200px',\n },\n },\n priceTag: {\n color: '#e31837',\n marginLeft: '5px',\n padding: '1px 4px',\n whiteSpace: 'nowrap',\n },\n stockOverlay: {\n position: 'absolute',\n top: '0px',\n right: '0px',\n bottom: '0px',\n left: '0px',\n backgroundColor: 'rgba(255, 255, 255, .7)',\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'center',\n alignItems: 'center',\n },\n price: {\n color: theme.colors.darkBlue,\n },\n})\n\nconst UnlinkedProductGridItemContent = ({\n classes,\n priceType,\n product,\n lowStockSettings,\n list,\n listPosition,\n isStorefrontEnabled,\n}) => (\n <div\n style={{ position: 'relative', marginBottom: '.5em' }}\n data-product-id={product.id}\n >\n <div className={classes.imageContainer}>\n <LazyLoadImage\n src={buildPictureUrl(product.picture, product.seoName, 200)}\n alt={product.name}\n className={classes.image}\n />\n </div>\n <div>\n {isStorefrontEnabled\n ? product.price &&\n !product.stock &&\n !product.isRecommendation && (\n <div className={classes.stockOverlay}>\n <Typography\n variant='subtitle1'\n gutterBottom={product.lowStockActivityType === 1}\n >\n <strong>{lowStockSettings.gridMessage}</strong>\n </Typography>\n {lowStockSettings.gridSubMessage && (\n <Button size='small'>{lowStockSettings.gridSubMessage}</Button>\n )}\n </div>\n )\n : product.price &&\n product.price.outOfStock &&\n !product.isRecommendation && (\n <div className={classes.stockOverlay}>\n <Typography\n variant='subtitle1'\n gutterBottom={product.lowStockActivityType === 1}\n >\n <strong>{lowStockSettings.gridMessage}</strong>\n </Typography>\n {lowStockSettings.gridSubMessage && (\n <Button size='small'>{lowStockSettings.gridSubMessage}</Button>\n )}\n </div>\n )}\n </div>\n <Grid container alignItems='center' spacing={2}>\n <Grid item xs={6}>\n <RatingStars rating={product.averageRating} />\n <br />\n </Grid>\n <Grid item xs={6}>\n {product.optionCount > 1 && (\n <Typography variant='caption'>\n + {product.optionCount} options\n </Typography>\n )}\n </Grid>\n </Grid>\n\n <Typography variant='body1' className='productLink'>\n <strong>{product.name}</strong>\n </Typography>\n\n <Typography variant='body1' noWrap>\n {product.seller.name}\n </Typography>\n\n {product.price && (\n <Grid container spacing={1} alignItems='center'>\n <Grid item style={{ fontSize: '13px' }}>\n <span\n title={\n getSavings(product.price) > minPercentToShow\n ? `Save ${getSavings(product.price)}%`\n : ''\n }\n >\n <strong className={classes.price}>\n {dollar(product.price.price)}\n </strong>\n </span>\n {getSavings(product.price) > minPercentToShow && (\n <span>\n | Save {getSavings(product.price)}%\n </span>\n )}\n </Grid>\n <Grid item>\n <PriceBehavior priceType={priceType} />\n </Grid>\n </Grid>\n )}\n </div>\n)\n\nconst LinkedProductGridItemContent = ({\n classes,\n priceType,\n product,\n lowStockSettings,\n list,\n listPosition,\n isStorefrontEnabled,\n}) => (\n <div\n style={{ position: 'relative', marginBottom: '.5em' }}\n data-product-id={product.id}\n >\n <ProductLink\n product={product}\n style={{ display: 'block' }}\n list={list}\n listPosition={listPosition}\n >\n <div className={classes.imageContainer}>\n <LazyLoadImage\n src={buildPictureUrl(product.picture, product.seoName, 200)}\n alt={product.name}\n className={classes.image}\n />\n </div>\n </ProductLink>\n <div>\n {isStorefrontEnabled\n ? product.price &&\n !product.stock &&\n !product.isRecommendation && (\n <div className={classes.stockOverlay}>\n <Typography\n variant='subtitle1'\n gutterBottom={product.lowStockActivityType === 1}\n >\n <strong>{lowStockSettings.gridMessage}</strong>\n </Typography>\n {lowStockSettings.gridSubMessage && (\n <ProductLink\n unstyled\n product={product}\n list={list}\n listPosition={listPosition}\n >\n <Button size='small'>\n {lowStockSettings.gridSubMessage}\n </Button>\n </ProductLink>\n )}\n </div>\n )\n : product.price &&\n product.price.outOfStock &&\n !product.isRecommendation && (\n <div className={classes.stockOverlay}>\n <Typography\n variant='subtitle1'\n gutterBottom={product.lowStockActivityType === 1}\n >\n <strong>{lowStockSettings.gridMessage}</strong>\n </Typography>\n {lowStockSettings.gridSubMessage && (\n <ProductLink\n unstyled\n product={product}\n list={list}\n listPosition={listPosition}\n >\n <Button size='small'>\n {lowStockSettings.gridSubMessage}\n </Button>\n </ProductLink>\n )}\n </div>\n )}\n </div>\n <Grid container alignItems='center' spacing={2}>\n <Grid item xs={6}>\n <RatingStars rating={product.averageRating} />\n <br />\n </Grid>\n <Grid item xs={6}>\n {product.optionCount > 1 && (\n <Typography variant='caption'>\n + {product.optionCount} options\n </Typography>\n )}\n </Grid>\n </Grid>\n\n <Typography variant='body1' className='productLink'>\n <ProductLink product={product} list={list} listPosition={listPosition}>\n <strong>{product.name}</strong>\n </ProductLink>\n </Typography>\n\n <Typography variant='body1' noWrap>\n <BrandLink brand={product.seller}>{product.seller.name}</BrandLink>\n </Typography>\n\n {product.price && (\n <Grid container spacing={1} alignItems='center'>\n <Grid item style={{ fontSize: '13px' }}>\n <span\n title={\n getSavings(product.price) > minPercentToShow\n ? `Save ${getSavings(product.price)}%`\n : ''\n }\n >\n <strong className={classes.price}>\n {dollar(product.price.price)}\n </strong>\n </span>\n {getSavings(product.price) > minPercentToShow && (\n <span>\n | Save {getSavings(product.price)}%\n </span>\n )}\n </Grid>\n <Grid item>\n <PriceBehavior priceType={priceType} />\n </Grid>\n </Grid>\n )}\n </div>\n)\n\nexport const ProductGridItem = (props) => (\n <LinkedProductGridItemContent {...props} />\n)\n\nProductGridItem.propTypes = {\n classes: PropTypes.object.isRequired,\n product: PropTypes.object.isRequired,\n lowStockSettings: PropTypes.object.isRequired,\n list: PropTypes.string,\n listPosition: PropTypes.number,\n isStorefrontEnabled: PropTypes.bool,\n}\n\nconst enhance = compose(\n withProps((o) => ({\n priceType: o.product.price && o.product.price.priceTypes[0],\n lowStockSettings: getLowStockActivitySettings(\n o.product.lowStockActivityType,\n ),\n priceInfo: getPriceInfo(o.product.price),\n isStorefrontEnabled: getConfiguration().storefront.products.enabled,\n })),\n withStyles(styles),\n)\nexport const UnlinkedProductGridItem = enhance((props) => (\n <UnlinkedProductGridItemContent {...props} />\n))\nexport default enhance(ProductGridItem)\n","import React from 'react'\nimport {\n compose,\n withState,\n lifecycle,\n withProps,\n branch,\n renderNothing,\n} from 'recompose'\nimport { connect } from 'react-redux'\nimport { withStyles } from '@material-ui/core/styles'\nimport Typography from '@material-ui/core/Typography'\nimport {\n listen,\n selectScheme,\n getUrlRelativePath,\n getTitle,\n CERTONA_STATUS_FAILURE,\n getPageName,\n} from '../../../../certona'\nimport {\n searchProductsByIds,\n viewedProducts,\n} from '../../../../redux/modules/catalog/search'\nimport { viewedRecommendedProducts } from '../../../../redux/actions'\nimport { recommendationLoaded } from '../../../../redux/modules/tracking'\nimport { selectProductSearch } from '../../../../redux/selectors'\nimport { UnlinkedProductGridItem } from './ProductGridItem'\nimport Carousel from 'react-multi-carousel'\nimport 'react-multi-carousel/lib/styles.css'\nimport classNames from 'classnames'\nimport { withRouter } from 'react-router'\nimport Sensor from 'react-visibility-sensor'\nimport RecommendationLink from '../../../components/common/links/RecommendationLink'\n\nconst styles = (theme) => ({\n body: {\n marginTop: '2em',\n },\n wrapper: {\n border: 'solid 2px red',\n position: 'relative',\n alignItems: 'center',\n height: '340px',\n padding: '.5em',\n overflowX: 'auto',\n overflowY: 'hidden',\n },\n gridList: {\n display: 'flex',\n justifyContent: 'center',\n },\n tile: {\n width: '265px',\n display: 'flex',\n alignItems: 'center',\n flexDirection: 'column',\n objectFit: 'contain',\n padding: '3px',\n\n '&:not(:last-child)': {\n marginRight: '7px',\n },\n },\n image: {\n maxWidth: '100%',\n maxHeight: '100%',\n width: '100%',\n transition: 'border-color .15s ease-in',\n padding: (props) => (props.hasFilters ? '0' : '0 25px'),\n },\n loadingTitle: {\n backgroundColor: '#f5f5f5',\n width: '75%',\n height: '50px',\n margin: '10px auto 10px',\n },\n loadingWrapper: {\n alignItems: 'center',\n height: '312px',\n padding: '0em',\n overflowX: 'hidden',\n overflowY: 'hidden',\n },\n loadingImage: {\n maxWidth: '100%',\n maxHeight: '100%',\n border: '1px solid transparent',\n padding: '5px',\n },\n loadingItem: {\n width: '275px',\n height: '312px',\n backgroundColor: '#f5f5f5',\n maxWidth: '100%',\n maxHeight: '100%',\n animation: 'fade 2.2s infinite ease',\n '&:after': {\n content: '',\n backgroundColor: '#fff',\n animation: 'slide 2.2s infinite ease',\n },\n },\n certonaSlide: {\n border: '1px solid #e3e3e3',\n height: '380px',\n overflow: 'hidden',\n width: (props) =>\n props.hasFilters\n ? '232px'\n : props.schemeName === 'wishlist1_rr'\n ? '300px'\n : '265px',\n minWidth: (props) =>\n props.hasFilters\n ? '232px'\n : props.schemeName === 'wishlist1_rr'\n ? '300px'\n : '265px',\n '&:hover, &:active': {\n boxShadow: '0px 3px 7px 0px rgba(0,0,0,.15)',\n },\n },\n slides: {\n display: 'flex',\n },\n title: {\n fontSize: '24px',\n fontWeight: 'bold',\n padding: '30px 0px 30px',\n },\n prevArrow: {\n left: (props) =>\n props.hasFilters\n ? '0px'\n : props.schemeName === 'wishlist1_rr'\n ? '20px'\n : props.schemeName === 'orderconfirmation1_rr'\n ? '30px'\n : '50px',\n },\n nextArrow: {\n right: (props) =>\n props.hasFilters\n ? '0px'\n : props.schemeName === 'orderconfirmation1_rr'\n ? '30px'\n : props.schemeName === 'wishlist1_rr'\n ? '20px'\n : '50px',\n },\n arrow: {\n position: 'absolute',\n cursor: 'pointer',\n '&:hover': {\n '& g': {\n '& path:nth-child(1)': {\n fill: theme.colors.lightBlue,\n },\n },\n },\n '& svg': {\n width: '58px',\n height: '48px',\n position: 'relative',\n zIndex: 101,\n top: 'calc(50% - 24px)',\n },\n },\n multiCarouselList: {\n maxWidth: '1150px',\n margin: '0 auto',\n },\n customGroup: {\n position: 'relative',\n width: 'calc(100% + 100px)',\n transform: 'translate(-50px, -200px)',\n display: 'flex',\n justifyContent: 'space-between',\n },\n outerShell: {\n position: 'relative',\n margin: (props) =>\n props.schemeName.includes('home') ? '0 0 0 -28px' : '0 0 0 -14px',\n width: 'calc(100% + 50px)',\n },\n itemClass: {\n paddingRight: '-20px',\n },\n})\n\nconst CustomLeftArrow = ({ onClick, classes }) => (\n <div\n className={classNames(classes.arrow, classes.prevArrow)}\n onClick={() => onClick()}\n >\n <svg height='48' viewBox='0 0 24 24' width='48'>\n <g transform='rotate(180 -10.295950889587402,-5.576129913330079)'>\n <path\n fill='#333'\n d='m-34.375516,-29.176131l-1.41,1.41l4.58,4.59l-4.58,4.59l1.41,1.41l6,-6l-6,-6z'\n />\n <path\n fill='#fff'\n d='m-35.723998,-27.866414l-1.092393,1.092393l3.548341,3.556089l-3.548341,3.556089l1.092393,1.092393l4.648482,-4.648482l-4.648482,-4.648482z'\n />\n </g>\n </svg>\n </div>\n)\nconst CustomRightArrow = ({ onClick, classes }) => (\n <div\n className={classNames(classes.arrow, classes.nextArrow)}\n onClick={() => onClick()}\n >\n <svg width='48' viewBox='0 0 24 24' height='48'>\n <g>\n <path\n fill='#333'\n d='m10.3,6l-1.41,1.41l4.58,4.59l-4.58,4.59l1.41,1.41l6,-6l-6,-6z'\n />\n <path\n fill='#fff'\n d='m8.951518,7.309717l-1.092393,1.092393l3.548341,3.556089l-3.548341,3.556089l1.092393,1.092393l4.648482,-4.648482l-4.648482,-4.648482z'\n />\n </g>\n </svg>\n </div>\n)\n\nconst ButtonGroup = ({ classes, next, previous, goToSlide, ...rest }) => {\n return (\n <div className={classes.customGroup}>\n <CustomLeftArrow classes={classes} onClick={() => previous()} />\n <CustomRightArrow classes={classes} onClick={() => next()} />\n </div>\n )\n}\n\nexport const ProductRecommendations = ({\n classes,\n className,\n scheme,\n title,\n ready,\n trackProduct,\n tracked,\n pageName,\n}) =>\n scheme && scheme.status === CERTONA_STATUS_FAILURE ? null : ready ? (\n <div style={{ padding: '32px 0px' }}>\n <Typography\n variant='h6'\n component='h2'\n align='center'\n className={classes.title}\n >\n <strong>{title && title.toUpperCase()}</strong>\n </Typography>\n\n <div className={classes.outerShell}>\n <Carousel\n draggable={false}\n arrows={false}\n responsive={{\n desktop: {\n breakpoint: { max: 3000, min: 1024 },\n items: pageName === 'wishlist page' ? 3 : 4,\n },\n tablet: {\n breakpoint: { max: 1024, min: 464 },\n items: pageName === 'wishlist page' ? 2 : 3,\n },\n }}\n infinite={true}\n containerClass={classNames(classes.multiCarouselList)}\n renderButtonGroupOutside\n customButtonGroup={<ButtonGroup classes={classes} />}\n >\n {scheme.items.map((item, i) => (\n <RecommendationLink\n key={i}\n product={item.product}\n style={{\n display: 'block',\n textDecoration: 'none',\n margin: '0 12px',\n }}\n list={`${title} - ${pageName}`}\n listPosition={i + 1}\n isProductRecommendation={true}\n >\n <div key={i} className={classes.certonaSlide}>\n <div className={classes.image} style={{ padding: '12px' }}>\n {!tracked.includes(item.product.id) && (\n <Sensor\n partialVisibility={true}\n onChange={(x) =>\n x &&\n trackProduct({\n ...item.product,\n list: `${title} - ${pageName}`,\n listPosition: i,\n })\n }\n >\n <span> </span>\n </Sensor>\n )}\n {tracked.includes(item.product.id) && <span> </span>}\n <UnlinkedProductGridItem\n product={item.product}\n list={`${title} - ${pageName}`}\n />\n </div>\n </div>\n </RecommendationLink>\n ))}\n </Carousel>\n </div>\n </div>\n ) : (\n <div className={classNames(classes.body, className)}>\n <h2 className={classes.loadingTitle}> {status} </h2>\n <div className={classes.loadingWrapper}>\n <div className={classes.gridList}>\n {[1, 2, 3, 4].map((item) => (\n <div key={item} className={classes.tile}>\n <div className={classes.loadingImage}>\n <div className={classes.loadingItem}> </div>\n </div>\n </div>\n ))}\n </div>\n </div>\n </div>\n )\n\nexport const attachProducts = (scheme, products) => {\n let index = 0\n scheme.items.forEach((item, i) => {\n let product = products.find((p) => p.source.id === item.id)\n if (product) {\n let relative = getUrlRelativePath(item.URL)\n product.isRecommendation = true\n product.search = relative.search\n product.displayOrder = index\n product.seller.search = relative.search\n index++\n }\n item.product = product\n })\n scheme.items = scheme.items.filter((item) => !!item.product)\n return scheme\n}\n\nexport const getSchemeWithProductsAsync = (props) => {\n let { schemeName, performSearchByIds } = props\n let scheme = selectScheme(schemeName)\n if (!scheme || scheme.display !== 'yes') {\n // If no scheme or scheme display is off, then do not look search for matching products\n return new Promise((resolve) => resolve(scheme))\n }\n\n let ids = scheme.items.map((item) => Number(item.id))\n\n return performSearchByIds(ids).then((response) =>\n attachProducts(scheme, response.results),\n )\n}\n\nconst loadScheme = (props) => getSchemeWithProductsAsync(props)\n\nconst mapStateToProps = (state, ownProps) => {\n return {\n byIds: selectProductSearch(state).byIds,\n }\n}\n\nconst mapDispatchToProps = (dispatch, ownProps) => ({\n performSearchByIds: (ids) => dispatch(searchProductsByIds(ids)),\n trackProduct: (product) => {\n if (!ownProps.tracked.includes(product.id)) {\n let trackedArr = ownProps.tracked\n trackedArr.push(product.id)\n ownProps.setTracked(trackedArr)\n dispatch(viewedRecommendedProducts([product], ownProps.schemeName))\n }\n },\n recommendationLoaded: (schemeName) =>\n dispatch(recommendationLoaded(schemeName)),\n})\n\nconst enhance = compose(\n withRouter,\n withState('tracked', 'setTracked', []),\n connect(mapStateToProps, mapDispatchToProps),\n withState('scheme', 'setScheme', (o) => selectScheme(o.schemeName)),\n withProps((o) => ({\n hasFilters: o.hasFilters,\n title: getTitle(o.schemeName, o.scheme && o.scheme.explanation),\n pageName: getPageName(),\n hide:\n o.location &&\n o.location.search &&\n o.location.search.toLowerCase().indexOf('showrecommendations=false') > -1,\n ready:\n o.scheme &&\n o.scheme.display === 'yes' &&\n o.scheme.items &&\n o.scheme.items.find((item) => !!item.product),\n })),\n lifecycle({\n componentDidMount() {\n if (this.props.scheme) {\n loadScheme(this.props).then((scheme) => {\n !this._cancelled && this.props.setScheme(scheme)\n })\n }\n this.unlisten = listen(() =>\n loadScheme(this.props).then((scheme) => {\n !this._cancelled && this.props.setScheme(scheme)\n }),\n )\n this.props.recommendationLoaded(this.props.schemeName)\n },\n componentWillUnmount() {\n this._cancelled = true\n this.unlisten()\n },\n }),\n branch(\n ({ hide }) => hide,\n renderNothing,\n (x) => x,\n ),\n withStyles(styles),\n)\n\nexport default enhance(ProductRecommendations)\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { connect } from 'react-redux'\nimport { compose, mapProps, withHandlers } from 'recompose'\nimport { getProductPathByProperties } from '../../../../setup/routeConstants'\nimport RouteLink from './RouteLink'\nimport {\n clickProduct,\n clickedAffiliateProduct,\n clickRecommendedProduct,\n} from '../../../../redux/actions'\n\nconst RecommendationLink = ({\n children,\n handleClick,\n to,\n listPosition,\n isAffiliateProduct = false,\n isProductRecommendation = false,\n ...rest\n}) => (\n <RouteLink to={to} onClick={handleClick} {...rest}>\n {children}\n </RouteLink>\n)\n\nRecommendationLink.propTypes = {\n children: PropTypes.node.isRequired,\n onClick: PropTypes.func,\n to: PropTypes.oneOfType([PropTypes.object, PropTypes.string]).isRequired,\n}\n\nconst mapStateToProps = (state, ownProps) => ({\n to: getProductPathByProperties(\n ownProps.isAffiliateProduct\n ? ownProps.product.id\n : ownProps.product.source.id,\n ownProps.product.seoName,\n ownProps.product.search,\n ownProps.variant,\n ownProps.isAffiliateProduct,\n ),\n})\n\nconst mapDispatchToProps = (dispatch, ownProps) => ({\n onProductClick: () =>\n dispatch(\n clickProduct({\n ...ownProps.product,\n list: ownProps.list,\n listPosition: ownProps.listPosition,\n }),\n ),\n onAffiliateProductClick: () =>\n dispatch(clickedAffiliateProduct({ ...ownProps.product })),\n onProductRecommendationClick: () =>\n dispatch(\n clickRecommendedProduct({ ...ownProps.product, list: ownProps.list }),\n ),\n})\n\nconst enhance = compose(\n connect(mapStateToProps, mapDispatchToProps),\n withHandlers({\n handleClick: (props) => () => {\n if (!props.skipTracking)\n props.isAffiliateProduct\n ? props.onAffiliateProductClick()\n : props.isProductRecommendation\n ? props.onProductRecommendationClick()\n : props.onProductClick()\n else {\n if (props.skipTrackingFn) {\n props.skipTrackingFn()\n }\n }\n\n return props.onClick && props.onClick()\n },\n }),\n mapProps((o) => {\n const {\n product,\n variant,\n dispatch,\n meta,\n onProductClick,\n onAffiliateProductClick,\n isAffiliateProduct,\n skipTracking,\n skipTrackingFn,\n index,\n isProductRecommendation,\n onProductRecommendationClick,\n ...rest\n } = o\n return { ...rest }\n }),\n)\n\nexport default enhance(RecommendationLink)\n"],"names":["ClearancePill","compose","withStyles","theme","wrapper","backgroundColor","colors","red","color","white","padding","fontSize","borderRadius","_ref","classes","React","className","XDealPill","orange","_ref2","FlashDealPill","darkGray","_ref3","OpenBoxPill","_ref4","_ref5","priceType","id","priceTypeBits","xDeal","promoXDeal","flashDeal","promoFlashDeal","clearance","promoClearance","openBox","UnlinkedProductGridItemContent","product","lowStockSettings","isStorefrontEnabled","list","listPosition","style","position","marginBottom","imageContainer","LazyLoadImage","src","buildPictureUrl","picture","seoName","alt","name","image","price","stock","isRecommendation","stockOverlay","Typography","variant","gutterBottom","lowStockActivityType","gridMessage","gridSubMessage","Button","size","outOfStock","Grid","container","alignItems","spacing","item","xs","RatingStars","rating","averageRating","optionCount","noWrap","seller","title","getSavings","minPercentToShow","concat","dollar","PriceBehavior","LinkedProductGridItemContent","ProductLink","display","unstyled","BrandLink","brand","ProductGridItem","props","propTypes","PropTypes","isRequired","enhance","withProps","o","priceTypes","getLowStockActivitySettings","priceInfo","getPriceInfo","getConfiguration","storefront","products","enabled","textAlign","flexDirection","justifyContent","width","height","margin","textDecoration","maxWidth","maxHeight","objectFit","priceTag","marginLeft","whiteSpace","top","right","bottom","left","darkBlue","UnlinkedProductGridItem","CustomLeftArrow","onClick","classNames","arrow","prevArrow","viewBox","transform","fill","d","CustomRightArrow","nextArrow","ButtonGroup","next","previous","goToSlide","_objectWithoutProperties","_excluded","customGroup","loadScheme","schemeName","performSearchByIds","scheme","selectScheme","items","map","Number","then","response","index","forEach","i","find","p","source","relative","getUrlRelativePath","URL","search","displayOrder","filter","attachProducts","results","Promise","resolve","getSchemeWithProductsAsync","withRouter","withState","connect","state","ownProps","byIds","selectProductSearch","dispatch","ids","searchProductsByIds","trackProduct","tracked","includes","trackedArr","push","setTracked","viewedRecommendedProducts","recommendationLoaded","hasFilters","getTitle","explanation","pageName","getPageName","hide","location","toLowerCase","indexOf","ready","lifecycle","componentDidMount","_this","this","_cancelled","setScheme","unlisten","listen","componentWillUnmount","branch","renderNothing","x","body","marginTop","border","overflowX","overflowY","gridList","tile","marginRight","transition","loadingTitle","loadingWrapper","loadingImage","loadingItem","animation","content","certonaSlide","overflow","minWidth","boxShadow","slides","fontWeight","cursor","lightBlue","zIndex","multiCarouselList","outerShell","itemClass","paddingRight","status","CERTONA_STATUS_FAILURE","component","align","toUpperCase","Carousel","draggable","arrows","responsive","desktop","breakpoint","max","min","tablet","infinite","containerClass","renderButtonGroupOutside","customButtonGroup","RecommendationLink","key","isProductRecommendation","Sensor","partialVisibility","onChange","_objectSpread","children","handleClick","to","rest","isAffiliateProduct","RouteLink","_extends","getProductPathByProperties","onProductClick","clickProduct","onAffiliateProductClick","clickedAffiliateProduct","onProductRecommendationClick","clickRecommendedProduct","withHandlers","skipTracking","skipTrackingFn","mapProps","meta","_excluded2"],"sourceRoot":""}