"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports["default"] = void 0;

var _react = _interopRequireDefault(require("react"));

var _propTypes = _interopRequireDefault(require("prop-types"));

var _classnames = _interopRequireDefault(require("classnames"));

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

var HeaderDetails = function HeaderDetails(_ref) {
  var items = _ref.items,
      spaceBelow = _ref.spaceBelow;
  var itemList = items.map(function (item, ind) {
    if (item.isVisible !== undefined && !item.isVisible) {
      return null;
    }

    return [_react["default"].createElement("div", {
      key: "label-".concat(item.label),
      className: (0, _classnames["default"])({
        'sidenav__details__title': true,
        'muted': true,
        'flush--bottom': true,
        'push--top': ind > 0
      })
    }, _react["default"].createElement("h5", null, item.label)), _react["default"].createElement("span", {
      key: "value-".concat(item.label),
      className: "sidenav__details__item"
    }, item.value)];
  });
  return _react["default"].createElement("div", {
    className: (0, _classnames["default"])({
      sidenav__details: true,
      'soft-double--bottom': spaceBelow
    })
  }, itemList);
};

HeaderDetails.propTypes = {
  /** List of details to display */
  items: _propTypes["default"].arrayOf(_propTypes["default"].shape({
    label: _propTypes["default"].string.isRequired,
    value: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number, _propTypes["default"].node]).isRequired
  })).isRequired,

  /** Whether or not the details have extra space below */
  spaceBelow: _propTypes["default"].bool
};
HeaderDetails.defaultProps = {
  spaceBelow: false
};
var _default = HeaderDetails;
exports["default"] = _default;