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 BundleCollection_1 = require("./..");

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

function defaultRenderItem(item) {
  const {
    index
  } = item;
  return react_1.default.createElement(BundleCollection_1.ProductItem, Object.assign({
    key: index
  }, item));
}

exports.defaultRenderItem = defaultRenderItem;

function defaultRenderList(props) {
  const {
    renderItem,
    list
  } = props;
  const productCount = list.length;
  const listView = list.map((item, index) => renderItem({
    item,
    productCount,
    index
  }));
  return listView;
}

exports.defaultRenderList = defaultRenderList;

function defaultRenderHeader(props) {
  return react_1.default.createElement(styled_1.Header, null, react_1.default.createElement(styled_1.Title, {
    width: 250
  }), react_1.default.createElement(styled_1.ItemCount, {
    width: 100
  }));
}

exports.defaultRenderHeader = defaultRenderHeader;

function renderDataQaAttribute(props) {
  const {
    isMandatoryProducts,
    isAddonProducts,
    isCollectionProducts
  } = props;

  switch (true) {
    case isAddonProducts:
      return 'qa-addon-container';

    case isCollectionProducts:
      return 'qa-collection-container';

    case isMandatoryProducts:
    default:
      return 'qa-bundle-container';
  }
}

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

  return react_1.default.createElement(styled_1.Box, {
    "data-qa": renderDataQaAttribute(remainingProps)
  }, renderHeader(remainingProps), renderList(remainingProps));
}

exports.defaultRenderBox = defaultRenderBox;

function defaultRenderWrapper(props) {
  const {
    className,
    children
  } = props;
  return react_1.default.createElement(styled_1.Wrapper, {
    className: className
  }, children);
}

exports.defaultRenderWrapper = defaultRenderWrapper;