{"version":3,"file":"govx-8983.2e6ee988b550940e0a3d.js","mappings":"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","sources":["webpack://@govx/govx-shop/./src/components/ProductPage/ProductOptions/AttributeGroup/AttributeSelect/index.js","webpack://@govx/govx-shop/./src/components/common/inputs/Select/Classic.js","webpack://@govx/govx-shop/./src/components/common/links/NoActionLink.js","webpack://@govx/govx-shop/./src/components/ProductPage/ProductOptions/AttributeGroup/AttributeButtons/index.js","webpack://@govx/govx-shop/./src/components/ProductPage/ProductOptions/AttributeGroup/index.js","webpack://@govx/govx-shop/./src/components/common/modals/GiftWithPurchaseModal/index.js","webpack://@govx/govx-shop/./src/components/common/modals/ModalContainer/index.js"],"sourcesContent":["import React from 'react'\nimport PropTypes from 'prop-types'\nimport { compose, withProps, withHandlers, lifecycle } from 'recompose'\nimport ClassicSelect from '../../../../common/inputs/Select/Classic'\nimport withStyles from '@material-ui/core/styles/withStyles'\n\nexport const formatAttributes = (attributes) => {\n  let options = []\n\n  attributes.map((a) => {\n    let label = a.name + (a.available ? '' : ' - not available')\n    options.push({ label, value: a.id, key: a.id, ...a })\n  })\n  return options\n}\n\nconst styles = (theme) => ({})\n\nexport const AttributeSelect = ({\n  attributes,\n  label,\n  onChangeAttribute,\n  value,\n  classes,\n  disabled,\n  truncate,\n}) => (\n  <div style={{ margin: '1.5em 0em' }}>\n    <ClassicSelect\n      label={label}\n      labelStyle={{\n        backgroundColor: '#fff',\n        padding: '0px 7px',\n        fontSize: '1.1rem',\n        color: '#333',\n        maxWidth: '200px',\n        textOverflow: 'ellipsis',\n      }}\n      name={`select-${label}`}\n      value={value}\n      fullWidth\n      onChange={onChangeAttribute}\n      disabled={disabled}\n      items={attributes}\n      truncate={truncate}\n    />\n  </div>\n)\n\nAttributeSelect.propTypes = {\n  attributes: PropTypes.array.isRequired,\n  label: PropTypes.string.isRequired,\n  onChangeAttribute: PropTypes.func,\n  value: PropTypes.number,\n  truncate: PropTypes.bool,\n}\n\nconst enhance = compose(\n  withProps((o) => ({\n    attributes: formatAttributes(o.group.attributes),\n    label: `Select a ${o.group.uiLabel}`,\n    value: o.group.value,\n    disabled: o.group.value !== undefined && o.group.attributes.length === 1,\n  })),\n  withHandlers({\n    onChangeAttribute: (props) => (e) => {\n      const attributeID =\n        e.target.value !== ''\n          ? props.attributes.find((a) => a.id == e.target.value).id\n          : null\n      props.onSelectAttribute(props.group, attributeID)\n    },\n  }),\n  lifecycle({\n    componentDidMount() {},\n  }),\n  withStyles(styles),\n)\n\nexport default enhance(AttributeSelect)\n","import React, { Component } from 'react'\nimport PropTypes from 'prop-types'\nimport { compose, withState } from 'recompose'\nimport withStyles from '@material-ui/core/styles/withStyles'\nimport ArrowDropDownIcon from '@material-ui/icons/ArrowDropDown'\nconst styles = (theme) => ({\n  label: {\n    zIndex: '1',\n    color: 'rgba(0,0,0,.54)',\n    fontFamily: 'geomanist-regular, Helvetica, sans-serif',\n    position: 'absolute',\n    transformOrigin: 'top left',\n    transition:\n      'color 200ms cubic-bezier(0.0, 0, 0.2, 1) 0ms,transform 200ms cubic-bezier(0.0, 0, 0.2, 1) 0ms',\n    left: '0px',\n    top: '0px',\n    pointerEvents: 'none',\n  },\n  select: {\n    height: '56px',\n    width: '100%',\n    fontSize: '16px',\n    position: 'relative',\n    padding: '20px 0px 6px 14px',\n    borderTopLeftRadius: '4px',\n    borderTopRightRadius: '4px',\n    '&:focus': {\n      outline: 1,\n    },\n    borderStyle: 'none',\n    borderRadius: '0px',\n  },\n  errorLabel: {\n    color: theme.colors.red,\n    fontSize: '12px',\n    margin: '40px 12px',\n  },\n\n  outerWrapper: {\n    position: 'relative',\n    border: 'solid 1px #e3e3e3',\n    borderTopLeftRadius: '4px',\n    borderTopRightRadius: '4px',\n  },\n  fieldset: {\n    zIndex: '5',\n    top: '0',\n    left: '0',\n    right: '0',\n    bottom: '0',\n    margin: '0',\n    padding: '8px',\n    position: 'absolute',\n    borderWidth: '0px',\n    backgroundColor: 'rgba(0,0,0,.09)',\n    borderTopLeftRadius: '4px',\n    borderTopRightRadius: '4px',\n    pointerEvents: 'none',\n  },\n  legend: {\n    width: '0px',\n    display: 'none',\n  },\n  arrow: {\n    position: 'absolute',\n    right: '5px',\n    top: '20px',\n    pointerEvents: 'none',\n  },\n  wrapper: {\n    position: 'relative',\n\n    borderTopLeftRadius: '4px',\n    borderTopRightRadius: '4px',\n    '&::after': {\n      content: '\"\"',\n      position: 'absolute',\n      left: '0px',\n      right: '0px',\n      bottom: '0px',\n      display: 'block',\n      borderBottom: '2px solid ' + theme.colors.darkBlue,\n      transform: 'scaleX(0)',\n      transition: 'transform 200ms cubic-bezier(0.0, 0, 0.2, 1) 0ms',\n    },\n\n    '&::before': {\n      content: '\"\"',\n      position: 'absolute',\n      zIndex: '1',\n      left: '0px',\n      right: '0px',\n      bottom: '-1px',\n      display: 'block',\n      transform: 'scaleX(1)',\n      borderBottom: '1px solid rgba(0,0,0,.42)',\n      transition: 'border-bottom-color 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms',\n    },\n    '&:hover': {\n      '&:not(.active)': {\n        '&:not(.error)': {\n          '&::before': {\n            borderBottom: 'solid 1px #000',\n          },\n        },\n      },\n    },\n    '&.hasValue': {\n      '& $label': {\n        transform: 'translate(12px, 5px) scale(.75)',\n      },\n    },\n    '&:not(.hasValue)': {\n      '& $label': {\n        transform: 'translate(12px, 22px) scale(1)',\n      },\n    },\n    '&.active': {\n      '&::after': {\n        transform: 'scaleX(1)',\n      },\n      '&::before': {\n        transform: 'scaleX(0)',\n      },\n      '& $label': {\n        color: theme.colors.darkBlue,\n      },\n      '&:not(.hasValue) $label': {\n        transform: 'translate(12px, 5px) scale(.75)',\n      },\n      '&.error $label': {\n        color: theme.colors.red,\n      },\n    },\n    '&.error': {\n      '& $label': {\n        color: theme.colors.red,\n      },\n      '&::after': {\n        borderBottom: 'solid 2px ' + theme.colors.red,\n        transform: 'scale(1)',\n      },\n    },\n  },\n})\n\nconst stateClasses = {\n  active: 'active',\n  hasValue: 'hasValue',\n  error: 'error',\n}\n\nclass ClassicSelect extends Component {\n  constructor(props) {\n    super(props)\n    this.selectRef = React.createRef()\n  }\n\n  render() {\n    const {\n      classes,\n      label,\n      items,\n      selectValue,\n      name,\n      disabled,\n      selectedLabel,\n    } = this.props\n    return (\n      <div className={classes.outerWrapper}>\n        <div className={classes.wrapper} ref={this.selectRef}>\n          <label className={classes.label} htmlFor={label}>\n            {label}\n          </label>\n\n          <select\n            title={selectedLabel}\n            id={label}\n            disabled={disabled}\n            style={{\n              backgroundColor: disabled ? '#efefef' : '#ffffff',\n              color: disabled ? '#000' : '#333',\n            }}\n            name={name}\n            value={selectValue}\n            {...this.props.input}\n            onChange={(e) => this.handleChange(e)}\n            className={classes.select}\n            onBlur={() => this.handleBlur()}\n            onFocus={() => this.handleFocus()}\n          >\n            <option value=''></option>\n            {items.map((s, i) => (\n              <option value={s.value} key={s.value}>\n                {s.label}\n              </option>\n            ))}\n          </select>\n          <ArrowDropDownIcon className={classes.arrow} />\n        </div>\n      </div>\n    )\n  }\n\n  handleChange(e) {\n    if (this.props.truncate) {\n      var index = e.target.selectedIndex\n      if (index > 0) {\n        var label = e.target.options[index].label\n        var shortIndex = this.props.shortNameIndex\n\n        if (shortIndex !== -1)\n          e.target.options[shortIndex].label =\n            this.props.items[shortIndex - 1].label\n\n        e.target.options[index].label = truncate(label)\n        this.props.setShortNameIndex(index)\n      }\n    }\n\n    this.props.setSelectValue(e.target.value)\n    this.props.setSelectedLabel(e.target.options[e.target.selectedIndex].label)\n    this.props.onChange(e)\n  }\n\n  componentDidMount() {\n    this.props.setSelectValue(this.props.value !== null ? this.props.value : '')\n    let elem = this.selectRef.current\n    if (this.props.value) {\n      let classes = elem.className.split(' ')\n      if (classes.indexOf(stateClasses.hasValue) === -1)\n        elem.className += ' ' + stateClasses.hasValue\n\n      if (this.props.truncate) {\n        let select = elem.querySelector('select')\n        let selectedIndex = -1\n        for (var i = 0; i < select.options.length; i++) {\n          if (select.options[i].value === this.props.value.toString()) {\n            selectedIndex = i\n            this.props.setSelectedLabel(select.options[i].label)\n            break\n          }\n        }\n\n        select.options[selectedIndex].label = truncate(\n          select.options[selectedIndex].label,\n        )\n        this.props.setShortNameIndex(selectedIndex)\n      }\n    }\n  }\n\n  componentDidUpdate(prevProps) {\n    let elem = this.selectRef.current\n\n    if (prevProps.value !== this.props.value) {\n      this.props.setSelectValue(\n        this.props.value !== null ? this.props.value : '',\n      )\n    }\n\n    //revisit in the future, right now its hard to resize the legend if the label changes\n    if (prevProps.label !== this.props.label) {\n      let label = elem.querySelector('label')\n      if (this.props.value) {\n      } else {\n      }\n    }\n  }\n\n  handleBlur() {\n    let elem = this.selectRef.current\n    let classes = elem.className.split(' ')\n\n    if (classes.indexOf('active') !== -1) {\n      elem.className = elem.className.replace(/\\s+\\active\\b/g, '')\n    }\n\n    if (!this.props.selectValue) {\n      if (classes.indexOf(stateClasses.hasValue) !== -1) {\n        elem.className = elem.className.replace(/\\s+\\hasValue\\b/g, '')\n      }\n    } else {\n      if (classes.indexOf(stateClasses.hasValue) === -1) {\n        elem.className = elem.className += ' ' + stateClasses.hasValue\n      }\n    }\n  }\n\n  handleFocus() {\n    let elem = this.selectRef.current\n    let classes = elem.className.split(' ')\n\n    if (classes.indexOf(stateClasses.active) === -1)\n      elem.className += ' ' + stateClasses.active\n  }\n}\n\nconst truncate = (label) => {\n  return label.length > 27 ? `${label.substring(0, 24)}...` : label\n}\n\nClassicSelect.propTypes = {\n  label: PropTypes.string.isRequired,\n  items: PropTypes.array.isRequired,\n  value: PropTypes.any,\n  onChange: PropTypes.func.isRequired,\n  disabled: PropTypes.bool,\n}\n\nconst enhance = compose(\n  withStyles(styles),\n  withState('shortNameIndex', 'setShortNameIndex', -1),\n  withState('selectValue', 'setSelectValue', -1),\n  withState('selectedLabel', 'setSelectedLabel', ''),\n)\n\nexport default enhance(ClassicSelect)\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { withStyles } from '@material-ui/core/styles'\nimport classNames from 'classnames'\nimport { withTheme } from '@material-ui/core/styles'\nimport { compose } from 'recompose'\nconst styles = {\n  link: {\n    cursor: 'pointer',\n\n    '&:active, &:focus': {\n      textDecoration: 'underline',\n    },\n  },\n}\n\nexport const NoActionLink = ({\n  children,\n  classes,\n  color,\n  extraClass,\n  onClick,\n  theme,\n  ...rest\n}) => (\n  <span\n    className={classNames(classes.link, extraClass)}\n    onClick={onClick}\n    style={{\n      color:\n        color === 'primary'\n          ? theme.colors.darkGray\n          : color === 'secondary'\n            ? '#e31837'\n            : '#333',\n      ...rest.style,\n    }}\n    {...rest}\n  >\n    {children}\n  </span>\n)\n\nNoActionLink.propTypes = {\n  children: PropTypes.node.isRequired,\n  classes: PropTypes.object.isRequired,\n  color: PropTypes.string,\n  onClick: PropTypes.func.isRequired,\n}\n\nexport default compose(withStyles(styles), withTheme)(NoActionLink)\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { compose, withProps, withHandlers } from 'recompose'\nimport { withStyles } from '@material-ui/core/styles'\nimport Typography from '@material-ui/core/Typography'\n\nimport Button from '../../../../common/Button'\n\nconst styles = {\n  buttons: {\n    display: 'flex',\n    flexWrap: 'wrap',\n  },\n  button: {\n    marginBottom: '7px',\n\n    '&:not(:last-child)': {\n      marginRight: '7px',\n    },\n  },\n}\n\nexport const AttributeButtons = ({\n  attributes,\n  classes,\n  label,\n  onAttributeClick,\n  selectedId,\n}) => (\n  <div style={{ margin: '1.5em 0em' }}>\n    <Typography variant='button' gutterBottom>\n      {label}\n    </Typography>\n    <div className={classes.buttons}>\n      {attributes.map((a) => (\n        <Button\n          key={a.id}\n          children={a.name}\n          aria-label={`${a.name} - ${!a.available ? 'not available' : ''}`}\n          size='small'\n          color={\n            !a.available\n              ? 'default'\n              : selectedId === a.id\n                ? 'secondary'\n                : 'primary'\n          }\n          className={classes.button}\n          onClick={() => onAttributeClick(a)}\n        />\n      ))}\n    </div>\n  </div>\n)\n\nAttributeButtons.propTypes = {\n  attributes: PropTypes.array.isRequired,\n  classes: PropTypes.object.isRequired,\n  onAttributeClick: PropTypes.func.isRequired,\n  selectedId: PropTypes.number,\n}\n\nconst enhance = compose(\n  withProps((o) => ({\n    attributes: o.group.attributes,\n    label: o.group.uiLabel,\n    selectedId: o.group.value,\n  })),\n  withHandlers({\n    onAttributeClick: (props) => (attribute) =>\n      props.onSelectAttribute(props.group, attribute.id),\n  }),\n  withStyles(styles),\n)\n\nexport default enhance(AttributeButtons)\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { compose } from 'recompose'\nimport Typography from '@material-ui/core/Typography'\n\nimport AttributeButtons from './AttributeButtons'\nimport AttributeSelect from './AttributeSelect'\n\nconst SingleAttribute = ({ label, value }) => (\n  <div style={{ margin: '.5em 0em' }}>\n    <Typography variant='button'>{label}</Typography>\n    <Typography variant='body1'>\n      <strong>{value}</strong>\n    </Typography>\n  </div>\n)\n\nexport const AttributeGroup = ({ group, onSelectAttribute }) => {\n  if (group.attributes.length < 1) return null\n\n  if (group.attributes.length === 1)\n    return (\n      <SingleAttribute label={group.uiLabel} value={group.attributes[0].name} />\n    )\n\n  switch (group.templateType) {\n    case 1:\n      return (\n        <AttributeSelect group={group} onSelectAttribute={onSelectAttribute} />\n      )\n    case 2:\n      return (\n        <AttributeButtons group={group} onSelectAttribute={onSelectAttribute} />\n      )\n    default:\n      return null\n  }\n}\n\nAttributeGroup.propTypes = {\n  group: PropTypes.object.isRequired,\n  onSelectAttribute: PropTypes.func.isRequired,\n}\n\nconst enhance = compose()\n\nexport default enhance(AttributeGroup)\n","import React from 'react'\nimport {\n  compose,\n  withHandlers,\n  withState,\n  lifecycle,\n  withProps,\n} from 'recompose'\nimport { connect } from 'react-redux'\nimport {\n  DialogContent,\n  DialogActions,\n  withStyles,\n  Typography,\n} from '@material-ui/core'\n\nimport ModalContainer from '../ModalContainer'\nimport { Button } from '../../Button'\nimport {\n  addGift,\n  ignoreGiftWithPurchase,\n  hideModal,\n  fetchGifts,\n  cartChange,\n  fetchCheckoutDetails,\n} from '../../../../redux/actions'\nimport { buildPictureUrl } from '../../../../utilities/picture-util'\nimport {\n  selectGifts,\n  selectGiftAlerts,\n  selectVariantByDisplayOrderThenPrice,\n  selectLowestPriceVariant,\n} from '../../../../redux/selectors'\nimport NoActionLink from '../../links/NoActionLink'\nimport AttributeGroup from '../../../ProductPage/ProductOptions/AttributeGroup'\nimport { priceSort } from '../../../../utilities/product-util'\nimport { flattenDeep } from '../../../../utilities/array-util'\n\nconst styles = {\n  dialogContent: {\n    display: 'flex',\n    flexDirection: 'column',\n    alignItems: 'center',\n    '& p': {\n      fontSize: '1.1rem',\n    },\n  },\n  title: {\n    width: '100%',\n  },\n  picture: {\n    margin: '0',\n    maxHeight: '100px',\n  },\n  '@media (min-width: 600px)': {\n    dialogContent: {\n      width: '400px',\n    },\n    picture: {\n      maxWidth: '400px',\n      maxHeight: '100%',\n    },\n  },\n  dialogActions: {\n    margin: '0',\n    display: 'flex',\n    flexDirection: 'column',\n    alignItems: 'center',\n    height: 90,\n    justifyContent: 'space-around',\n    '& p': {\n      fontSize: '1rem',\n    },\n  },\n}\n\nconst GiftWithPurchaseModal = ({\n  gift,\n  onAccept,\n  onReject,\n  alerts,\n  alertOpen,\n  pageState,\n  onAlertAccept,\n  onSelectAttribute,\n  classes,\n}) =>\n  gift &&\n  pageState && (\n    <ModalContainer disableBackdropClick={true}>\n      {alertOpen ? (\n        <div>\n          <DialogContent className={classes.dialogContent}>\n            {alerts.map((alert, i) => (\n              <Typography variant='body1' key={i}>\n                {alert.message}\n              </Typography>\n            ))}\n          </DialogContent>\n          <DialogActions>\n            <Button color='secondary' onClick={onAlertAccept}>\n              OK\n            </Button>\n          </DialogActions>\n        </div>\n      ) : (\n        <div>\n          <DialogContent className={classes.dialogContent}>\n            <Typography variant='h6' align='center' className={classes.title}>\n              {gift.description}\n            </Typography>\n            <img\n              src={buildPictureUrl(pageState.selectedPicture, 'seo', 300)}\n              className={classes.picture}\n              alt='Gift Picture'\n            />\n            <Typography variant='body1'>{gift.product.name}</Typography>\n            <div style={{ width: '100%', textAlign: 'center' }}>\n              {pageState.attributeGroups.map((attributeGroup, i) => (\n                <AttributeGroup\n                  key={i}\n                  group={attributeGroup}\n                  onSelectAttribute={onSelectAttribute}\n                />\n              ))}\n            </div>\n          </DialogContent>\n          <DialogActions className={classes.dialogActions}>\n            <Button\n              color='primary'\n              disabled={!pageState.selection.purchasable}\n              style={{ width: 200 }}\n              onClick={onAccept}\n            >\n              OK\n            </Button>\n            <Typography variant='body1'>\n              <NoActionLink\n                color='primary'\n                style={{ textDecoration: 'underline' }}\n                onClick={onReject}\n              >\n                No Thanks!\n              </NoActionLink>\n            </Typography>\n          </DialogActions>\n        </div>\n      )}\n    </ModalContainer>\n  )\n\nconst mapStateToProps = (state, props) => ({\n  gifts: selectGifts(state),\n  alerts: selectGiftAlerts(state),\n})\n\nconst mapDispatchToProps = (dispatch, props) => ({\n  hideModal: () => dispatch(hideModal()),\n  acceptGift: (gift, variantId) =>\n    dispatch(addGift(getGWPInfo(gift, variantId))),\n  fetchGifts: () => dispatch(fetchGifts()),\n  cartChange: () => dispatch(cartChange()),\n  fetchCheckoutDetails: () => dispatch(fetchCheckoutDetails()),\n  ignoreGift: (id) => {\n    return dispatch(ignoreGiftWithPurchase(id)).then(() =>\n      dispatch(fetchGifts()),\n    )\n  },\n})\n\nconst closeModal = (props) => {\n  props.hideModal()\n  props.cartChange()\n  props.fetchCheckoutDetails()\n}\n\nconst findAttribute = (id, attributeMap) => {\n  return (\n    attributeMap.find((a) => a.attributeGroupId === id) || { attributeId: -1 }\n  )\n}\n\nconst getVariantAttributes = (options, variantId) => {\n  let groups = options.attributeGroups\n  let attributeMap =\n    options.variants.find((a) => a.productVariantId === variantId) &&\n    options.variants.find((a) => a.productVariantId === variantId).attributeMap\n\n  if (!attributeMap) return ''\n\n  let attributes = []\n\n  groups\n    .slice()\n    .sort((left, right) => left.displayOrder - right.displayOrder)\n    .forEach((g) => {\n      let attribute = g.attributes.find(\n        (a) => a.id === findAttribute(g.id, attributeMap).attributeId,\n      )\n\n      if (attribute) attributes.push(attribute.name)\n    })\n\n  return attributes.join('|')\n}\n\nconst getGWPInfo = (gwp, variantId) => {\n  let variant = gwp.variants.find((v) => v.id === variantId)\n  let model = {\n    id: gwp.id,\n    name: gwp.name,\n    product: gwp.product,\n    variant: {\n      ...variant,\n      attribute: getVariantAttributes(gwp.options, variant.id),\n    },\n    brand: gwp.brand,\n  }\n\n  return model\n}\n\nconst enhance = compose(\n  connect(mapStateToProps, mapDispatchToProps),\n  withState('gift', 'setGift', () => null),\n  withState('pageState', 'setPageState', null),\n  withState('ready', 'setReady', false),\n  withState('alertOpen', 'setAlertOpen', () => false),\n  withHandlers({\n    onSelectAttribute: (props) => (group, attributeID) => {\n      let currentState = props.pageState\n      let selection = {\n        ...currentState.selection,\n        attributes: {\n          ...currentState.selection.attributes,\n        },\n      }\n      selection.attributes[group.id] = attributeID\n      let adjusted = adjustPageState(selection, currentState)\n      props.setPageState(adjusted)\n    },\n    onAccept: (props) => () => {\n      props\n        .acceptGift(props.gift, props.pageState.selection.variantId)\n        .then((alerts) => {\n          props.fetchGifts().then((gifts) => {\n            if (alerts.length) {\n              props.setAlertOpen(true)\n            } else if (gifts.length === 0) closeModal(props)\n          })\n        })\n    },\n    onReject: (props) => () => {\n      props.ignoreGift(props.gift.id).then((gifts) => {\n        if (gifts.length === 0) closeModal(props)\n      })\n    },\n    onAlertAccept: (props) => () => {\n      props.setAlertOpen(false)\n      if (props.gifts.length === 0) closeModal(props)\n    },\n  }),\n  withProps((o) => {\n    let lowestPriceVariant = selectVariantByDisplayOrderThenPrice({\n      variants: o.pageState && o.pageState.variants,\n    })\n    return { lowestPriceVariant }\n  }),\n  lifecycle({\n    componentDidUpdate(prevProps) {\n      if (prevProps.gifts !== this.props.gifts || !this.props.gift)\n        loadComponent(this.props)\n    },\n    componentDidMount() {\n      this.props.fetchGifts().then((gifts) => {\n        if (!gifts || gifts.length === 0) closeModal(this.props)\n      })\n    },\n  }),\n  withStyles(styles),\n)\n\nconst loadComponent = (currentProps) => {\n  if (!currentProps.gifts || currentProps.gifts.length === 0) return\n\n  const gift = currentProps.gifts[0]\n  const variantOptions = gift.options.variants\n  const variants = gift.variants\n  const attributeGroups = gift.options.attributeGroups\n    .slice()\n    .sort((left, right) => left.displayOrder - right.displayOrder)\n\n  let pageState = {\n    thumbnails: [],\n    primaryAttributeGroup: null,\n    map: [],\n    attributeGroups: [],\n    selection: {\n      purchasable: false,\n      variantId: null,\n      attributes: {},\n      quantity: 1,\n    },\n    variants,\n  }\n\n  pageState.selection.variantId = selectVariantByDisplayOrderThenPrice({\n    variants,\n  }).id\n\n  pageState.attributeGroups = attributeGroups.map((ag, i) => {\n    let group = {\n      ...ag,\n      attributes: [\n        ...ag.attributes\n          .slice()\n          .sort((left, right) => left.displayOrder - right.displayOrder)\n          .map((a) => ({ ...a, selected: false })),\n      ],\n    }\n    return group\n  })\n\n  if (pageState.attributeGroups.length > 0)\n    pageState.primaryAttributeGroup = pageState.attributeGroups[0].id\n\n  pageState.attributeGroups.forEach((ag) => {\n    if (ag.attributes.length > 1) pageState.selection.attributes[ag.id] = null\n  })\n\n  variantOptions.forEach((v) => {\n    const mapItem = v.attributeMap.reduce(\n      (result, currentValue) => {\n        result.attributes[currentValue.attributeGroupId] =\n          currentValue.attributeId\n        return result\n      },\n      { productVariantId: v.productVariantId, attributes: {} },\n    )\n\n    pageState.map.push(mapItem)\n\n    const variant = variants.find((v2) => v2.id === v.productVariantId)\n    let attributeId = mapItem.attributes[pageState.primaryAttributeGroup]\n\n    if (variant.picture) {\n      let currentThumbnail = pageState.thumbnails.find(\n        (t) => t.attributeId === attributeId,\n      )\n\n      if (!currentThumbnail) {\n        currentThumbnail = {\n          id: variant.picture.id,\n          picture: variant.picture,\n          variants: [],\n          selected: false,\n        }\n        pageState.thumbnails.push(currentThumbnail)\n        currentThumbnail.attributeId = attributeId\n      }\n      currentThumbnail.variants.push(variant)\n    }\n\n    if (variant.id === pageState.selection.variantId)\n      pageState.selection.attributes[pageState.primaryAttributeGroup] =\n        attributeId\n  })\n\n  pageState.thumbnails.forEach((th) => {\n    th.variants = priceSort(th.variants)\n  })\n\n  let adjusted = adjustPageState(pageState.selection, pageState)\n\n  currentProps.setGift(gift)\n  currentProps.setPageState(adjusted)\n  currentProps.setReady(true)\n}\n\nconst adjustPageState = (selection, currentState) => {\n  let remainingOptions = [...currentState.map]\n  let purchasable = true\n\n  Object.keys(selection.attributes).forEach((k) => {\n    let value = selection.attributes[k]\n    if (value)\n      remainingOptions = remainingOptions.filter(\n        (o) => o.attributes[k] === value,\n      )\n    else purchasable = false\n  })\n\n  if (purchasable)\n    purchasable = selection.quantity !== 0 && !isNaN(selection.quantity)\n\n  let newState = {\n    ...currentState,\n    selection: { ...selection, purchasable: purchasable },\n    thumbnails: currentState.thumbnails\n      .map((t) => ({\n        ...t,\n        selected:\n          t.attributeId ===\n          selection.attributes[currentState.primaryAttributeGroup],\n      }))\n      .sort(\n        (left, right) =>\n          ((left.variants[0] && left.variants[0].displayOrder) || 0) -\n            ((right.variants[0] && right.variants[0].displayOrder) || 0) ||\n          ((left.variants[0] &&\n            left.variants[0].price &&\n            left.variants[0].price.price) ||\n            999) -\n            ((right.variants[0] &&\n              right.variants[0].price &&\n              right.variants[0].price.price) ||\n              -999),\n      ),\n    attributeGroups: currentState.attributeGroups.map((ag) => ({\n      ...ag,\n      value: selection.attributes[ag.id],\n      attributes: ag.attributes.map((a) => {\n        let result = { ...a, selected: a.id === selection.attributes[ag.id] }\n\n        let filtered = currentState.map\n          .slice()\n          .filter((m) => m.attributes[ag.id] === a.id)\n        Object.keys(selection.attributes).forEach((k) => {\n          if (k != ag.id) {\n            let value = selection.attributes[k]\n            if (value)\n              filtered = filtered.filter(\n                (m) => m.attributes[k] === selection.attributes[k],\n              )\n          }\n        })\n\n        filtered = filtered.filter((f) => {\n          let p = currentState.variants.find((v) => v.id === f.productVariantId)\n          return p && p.price && !p.price.outOfStock\n        })\n\n        result.available = filtered.length > 0\n        return result\n      }),\n    })),\n  }\n\n  if (remainingOptions.length > 0) {\n    let allVariantsWithAttribute = currentState.variants.filter((v) =>\n      remainingOptions.map((ro) => ro.productVariantId).includes(v.id),\n    )\n    let lowestPriceVariantWithAttribute = selectLowestPriceVariant({\n      variants: allVariantsWithAttribute,\n    })\n    newState.selection.variantId = lowestPriceVariantWithAttribute.id\n\n    const currentThumbnail = currentState.thumbnails.find((t) => t.selected)\n    const selectedThumbnail = newState.thumbnails.find((t) => t.selected)\n    newState.selectedPicture = selectedThumbnail\n      ? selectedThumbnail.picture\n      : currentThumbnail\n        ? currentThumbnail.picture\n        : null\n  } else {\n    //there is only one variant\n    newState.selectedPicture = currentState.variants[0].picture\n  }\n\n  newState.unselected = newState.attributeGroups.filter((ag) => {\n    return ag.attributes.length <= 1 || newState.selection.attributes[ag.id] > 0\n      ? null\n      : ag\n  })\n\n  if (newState.selection.purchasable) {\n    const selectedAttributes = Object.keys(newState.selection.attributes).map(\n      (k) => newState.selection.attributes[k],\n    )\n    newState.selection.purchasable = flattenDeep(\n      newState.attributeGroups.map((ag) => ag.attributes),\n    )\n      .filter((a) => selectedAttributes.includes(a.id))\n      .every((a) => a.available)\n  }\n\n  return newState\n}\n\nexport default enhance(GiftWithPurchaseModal)\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { connect } from 'react-redux'\nimport { compose } from 'recompose'\nimport { withStyles } from '@material-ui/core/styles'\nimport Dialog from '@material-ui/core/Dialog'\nimport DialogTitle from '@material-ui/core/DialogTitle'\n\nimport { hideModal } from '../../../../redux/actions'\n\nconst styles = {\n  paperWidthSm: {\n    maxWidth: (props) => props.maxWidth || 'auto',\n    padding: '40px',\n    borderRadius: '3px',\n  },\n  title: {\n    fontFamily: 'geomanist-bold, Helvetica, sans-serif',\n    fontSize: '24px',\n    padding: '0px 0px 10px 0px',\n  },\n}\n\nexport const ModalContainer = ({\n  children,\n  classes,\n  hideModal,\n  title,\n  ...rest\n}) => (\n  <Dialog\n    open={true}\n    onClose={hideModal}\n    classes={{ paperWidthSm: classes.paperWidthSm }}\n    disableBackdropClick={rest.disableBackdropClick}\n    disableEscapeKeyDown={rest.disableEscapeKeyDown}\n  >\n    {title && (\n      <DialogTitle className={classes.title} disableTypography>\n        {title}\n      </DialogTitle>\n    )}\n    {children}\n  </Dialog>\n)\n\nModalContainer.propTypes = {\n  hideModal: PropTypes.func.isRequired,\n  title: PropTypes.string,\n  children: PropTypes.node,\n  classes: PropTypes.object.isRequired,\n  maxWidth: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n}\n\nconst mapDispatchToProps = (dispatch) => ({\n  hideModal: () => dispatch(hideModal()),\n})\n\nconst enhance = compose(connect(null, mapDispatchToProps), withStyles(styles))\n\nexport default enhance(ModalContainer)\n"],"names":["AttributeSelect","_ref","attributes","label","onChangeAttribute","value","disabled","classes","truncate","React","style","margin","ClassicSelect","labelStyle","backgroundColor","padding","fontSize","color","maxWidth","textOverflow","name","concat","fullWidth","onChange","items","propTypes","PropTypes","isRequired","compose","withProps","o","group","options","map","a","available","push","_objectSpread","id","key","uiLabel","undefined","length","withHandlers","props","e","attributeID","target","find","onSelectAttribute","lifecycle","componentDidMount","withStyles","theme","stateClasses","_Component","_this","_classCallCheck","_callSuper","selectRef","_inherits","_this2","_this$props","this","selectValue","selectedLabel","className","outerWrapper","wrapper","ref","htmlFor","_extends","title","input","handleChange","select","onBlur","handleBlur","onFocus","handleFocus","s","i","ArrowDropDownIcon","arrow","index","selectedIndex","shortIndex","shortNameIndex","setShortNameIndex","setSelectValue","setSelectedLabel","elem","current","split","indexOf","querySelector","toString","prevProps","replace","Component","substring","zIndex","fontFamily","position","transformOrigin","transition","left","top","pointerEvents","height","width","borderTopLeftRadius","borderTopRightRadius","outline","borderStyle","borderRadius","errorLabel","colors","red","border","fieldset","right","bottom","borderWidth","legend","display","content","borderBottom","darkBlue","transform","withState","NoActionLink","children","extraClass","onClick","rest","_objectWithoutProperties","_excluded","classNames","link","darkGray","cursor","textDecoration","withTheme","AttributeButtons","onAttributeClick","selectedId","Typography","variant","gutterBottom","buttons","Button","size","button","attribute","flexWrap","marginBottom","marginRight","SingleAttribute","AttributeGroup","_ref2","templateType","closeModal","hideModal","cartChange","fetchCheckoutDetails","getVariantAttributes","variantId","groups","attributeGroups","attributeMap","variants","productVariantId","slice","sort","displayOrder","forEach","g","attributeGroupId","attributeId","findAttribute","join","enhance","connect","state","gifts","selectGifts","alerts","selectGiftAlerts","dispatch","acceptGift","gift","addGift","gwp","v","product","brand","getGWPInfo","fetchGifts","ignoreGift","ignoreGiftWithPurchase","then","currentState","pageState","selection","adjusted","adjustPageState","setPageState","onAccept","setAlertOpen","onReject","onAlertAccept","lowestPriceVariant","selectVariantByDisplayOrderThenPrice","componentDidUpdate","loadComponent","dialogContent","flexDirection","alignItems","picture","maxHeight","dialogActions","justifyContent","currentProps","variantOptions","thumbnails","primaryAttributeGroup","purchasable","quantity","ag","_toConsumableArray","selected","mapItem","reduce","result","currentValue","v2","currentThumbnail","t","th","priceSort","setGift","setReady","remainingOptions","Object","keys","k","filter","isNaN","newState","price","filtered","m","f","p","outOfStock","allVariantsWithAttribute","ro","includes","lowestPriceVariantWithAttribute","selectLowestPriceVariant","selectedThumbnail","selectedPicture","unselected","selectedAttributes","flattenDeep","every","alertOpen","ModalContainer","disableBackdropClick","DialogContent","alert","message","DialogActions","align","description","src","buildPictureUrl","alt","textAlign","attributeGroup","Dialog","open","onClose","paperWidthSm","disableEscapeKeyDown","DialogTitle","disableTypography"],"sourceRoot":""}