Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
Size: Mime:
"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});

const tslib_1 = require("tslib");

const react_1 = tslib_1.__importDefault(require("react"));

const exotic_1 = require("exotic");

const ProductItemV1_1 = require("../../ProductPieces/ProductItemV1");

const styled_1 = require("./styled");

function defaultRenderButton(props) {
  const {
    identifier,
    onAddToCartClick
  } = props;

  const handleClick = () => {
    const changeArgs = {
      identifier
    };

    if (exotic_1.isFunction(onAddToCartClick)) {
      onAddToCartClick(changeArgs);
    }
  };

  return react_1.default.createElement(styled_1.StyledAddToCartButton, {
    onClick: handleClick,
    breedType: 'icon-with-text',
    iconType: 'cart',
    text: 'Add To Cart'
  });
}

exports.defaultRenderButton = defaultRenderButton;

function defaultRenderPromoDetails(props) {
  const {
    promoOffer = [],
    state
  } = props;
  const promoView = react_1.default.createElement(ProductItemV1_1.StyledPromoWrapper, null, promoOffer.map((promo, index) => {
    return react_1.default.createElement(styled_1.StyledPromotionModal, Object.assign({
      key: index,
      index: index
    }, promo, {
      state: state
    }));
  }));
  return promoView;
}

function defaultRenderProductOptionList(props) {
  const {
    skuProps = {},
    onSkuPropsClick,
    identifier
  } = props;
  const {
    color,
    size1,
    style
  } = skuProps;

  const handleChange = (args, name) => {
    if (exotic_1.isFunction(onSkuPropsClick)) {
      const changeArgs = {
        type: args,
        value: name,
        identifier
      };
      onSkuPropsClick(changeArgs);
    }
  };

  const view = react_1.default.createElement(react_1.default.Fragment, null, exotic_1.isArray(color) && react_1.default.createElement(styled_1.StyledProductOptions, {
    list: color,
    isDropdown: true,
    type: 'color',
    isProductDetailsPage: false,
    onChange: handleChange
  }), exotic_1.isArray(size1) && react_1.default.createElement(styled_1.StyledProductOptions, {
    list: size1,
    isDropdown: true,
    type: 'size',
    isProductDetailsPage: false,
    onChange: handleChange
  }), exotic_1.isArray(style) && react_1.default.createElement(styled_1.StyledProductOptions, {
    list: style,
    isDropdown: true,
    type: 'style',
    isProductDetailsPage: false,
    onChange: handleChange
  }));
  return view;
}

exports.defaultRenderProductOptionList = defaultRenderProductOptionList;

function defaultExpandedView(props) {
  const {
    renderProductOptionList,
    renderButton
  } = props,
        remainingProps = tslib_1.__rest(props, ["renderProductOptionList", "renderButton"]);

  const view = react_1.default.createElement(styled_1.ExpandableWrapper, null, exotic_1.isFunction(renderProductOptionList) && renderProductOptionList(remainingProps), exotic_1.isFunction(renderButton) && renderButton(remainingProps));
  return view;
}

exports.defaultExpandedView = defaultExpandedView;

function defaultRenderBox(props, state) {
  const {
    renderExpandedView
  } = props,
        remainingProps = tslib_1.__rest(props, ["renderExpandedView"]);

  const view = react_1.default.createElement(react_1.default.Fragment, null, react_1.default.createElement(styled_1.StyledProductItem, Object.assign({}, props, {
    state: state,
    renderPromoDetails: defaultRenderPromoDetails,
    type: 'vertical'
  })), state.isVisible === false && exotic_1.isFunction(renderExpandedView) && renderExpandedView(remainingProps));
  return view;
}

exports.defaultRenderBox = defaultRenderBox;

function defaultRenderWrapper(props) {
  const {
    className,
    identifier,
    children,
    dataQa
  } = props;
  const passThroughProps = {
    key: identifier,
    className,
    'data-qa': dataQa
  };
  return react_1.default.createElement(styled_1.Wrapper, Object.assign({}, passThroughProps), children);
}

exports.defaultRenderWrapper = defaultRenderWrapper;