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    
@skava/ui / dist / components / molecules / DetailedList / renderProps.js
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 Empty_1 = require("../../atoms/Empty");

const Heading_1 = tslib_1.__importDefault(require("../../atoms/Text/Heading"));

const styled_1 = require("./styled");
/**
 * rendering the Wrapper
 */


function defaultRenderWrapper(props) {
  const {
    className,
    children,
    dataQa
  } = props,
        remainingProps = tslib_1.__rest(props, ["className", "children", "dataQa"]);

  return react_1.default.createElement(styled_1.DetailedListWrapper, Object.assign({
    className: className,
    "data-qa": dataQa
  }, remainingProps), children);
}

exports.defaultRenderWrapper = defaultRenderWrapper;
/**
 * rendering the Heading
 */

function defaultRenderListHeading(props) {
  const view = exotic_1.isSafe(props.title) ? react_1.default.createElement(Heading_1.default, {
    breedType: "h3",
    content: props.title
  }) : react_1.default.createElement(Empty_1.Empty, null);
  return view;
}

exports.defaultRenderListHeading = defaultRenderListHeading;
/**
 * rendering one single item
 */

function defaultRenderListItem(item) {
  /* props included here for supporting the additional classes and styles */
  const {
    label,
    value,
    isColon,
    dataQa
  } = item,
        remainingProps = tslib_1.__rest(item, ["label", "value", "isColon", "dataQa"]);

  const view = exotic_1.isSafe(value) ? react_1.default.createElement(styled_1.DetailedListItemPanel, Object.assign({
    key: label,
    "data-qa": dataQa
  }, remainingProps), react_1.default.createElement(styled_1.DetailedListLabel, {
    isColon: isColon
  }, label), react_1.default.createElement(styled_1.DetailedListValue, null, value)) : react_1.default.createElement(Empty_1.Empty, null);
  /**
   * @todo isColumnView is currently not accepting the dynamic values
   * this logic will be changed by using React.Context type but later
   *
   * @note ^ was just a typo
   *  isColumnView={true}
   */

  return view;
}

exports.defaultRenderListItem = defaultRenderListItem;
/**
 * renders empty
 */

function defaultRenderEmpty(props) {
  return react_1.default.createElement(Empty_1.Empty, null);
}

exports.defaultRenderEmpty = defaultRenderEmpty;
/**
 * rendering the list panel
 */

function defaultRenderList(props) {
  const {
    list,
    renderEmpty,
    renderListItem
  } = props;

  if (list.length > 0) {
    return list.map(renderListItem);
  } else {
    return renderEmpty(props);
  }
}

exports.defaultRenderList = defaultRenderList; //# sourceMappingURL=renderProps.js.map