"use strict";

exports.__esModule = true;
exports.BoxRow = void 0;

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

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

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

function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }

function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }

var BoxRow = function BoxRow(_ref) {
  var type = _ref.type,
      children = _ref.children,
      rest = _objectWithoutPropertiesLoose(_ref, ["type", "children"]);

  var classes = (0, _classnames.default)('box-row', type && type);
  var header = children.filter(function (element) {
    return typeof element.type === 'function' && element.type.displayName && ['Title', 'Description'].includes(element.type.displayName);
  }).map(function (element) {
    return element;
  });
  var content = children.filter(function (element) {
    return typeof element.type !== 'function' || typeof element.type === 'function' && !element.type.displayName || typeof element.type === 'function' && element.type.displayName && !['Title', 'Description'].includes(element.type.displayName);
  }).map(function (element) {
    return /*#__PURE__*/_react.default.cloneElement(element, {
      className: 'box-row-content'
    });
  });
  return /*#__PURE__*/_react.default.createElement("div", _extends({
    className: classes
  }, rest), /*#__PURE__*/_react.default.createElement("div", {
    className: "box-row-header"
  }, header), content);
};

BoxRow.displayName = 'Box Row';
var BoxRowDoc;

if (process.env.NODE_ENV !== 'production') {
  // eslint-disable-next-line global-require
  BoxRowDoc = require('./doc').doc(BoxRow);
}

var BoxRowWrapper = BoxRowDoc || BoxRow;
exports.BoxRow = BoxRowWrapper;