Repository URL to install this package:
|
Version:
2.0.17 ▾
|
"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;