"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.Header = exports.Body = exports.Footer = exports.Panel = void 0;

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

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

require("./Panel.css");

var _propTypesExtra = require("prop-types-extra");

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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }

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 Panel = function Panel(_ref) {
  var children = _ref.children,
      restProps = _objectWithoutProperties(_ref, ["children"]);

  return _react.default.createElement("div", _extends({}, restProps, {
    className: "cj-panel panel vs-panel-default"
  }), children);
};

exports.Panel = Panel;

var Footer = function Footer(_ref2) {
  var children = _ref2.children,
      restProps = _objectWithoutProperties(_ref2, ["children"]);

  return _react.default.createElement("div", _extends({}, restProps, {
    className: "cj-panel panel-footer"
  }), children);
};

exports.Footer = Footer;
var paddingMapping = {
  none: 'none',
  large: 'wide'
};

var Body = function Body(_ref3) {
  var children = _ref3.children,
      paddingSize = _ref3.paddingSize,
      padding = _ref3.padding,
      restProps = _objectWithoutProperties(_ref3, ["children", "paddingSize", "padding"]);

  var paddingSizeClass = paddingSize ? "cj-panel-body-padding-".concat(paddingSize) : '';
  var paddingClass = padding ? "cj-panel-body-padding-".concat(paddingMapping[padding]) : '';
  return _react.default.createElement("div", _extends({}, restProps, {
    className: "cj-panel panel-body ".concat(paddingSizeClass, " ").concat(paddingClass)
  }), children);
};

exports.Body = Body;

var Header = function Header(_ref4) {
  var title = _ref4.title,
      children = _ref4.children,
      restProps = _objectWithoutProperties(_ref4, ["title", "children"]);

  return _react.default.createElement("div", _extends({}, restProps, {
    className: "cj-panel panel-heading"
  }), title && _react.default.createElement("legend", null, title), children);
};

exports.Header = Header;
Header.propTypes = {
  title: _propTypes.default.string
};
Body.propTypes = {
  paddingSize: (0, _propTypesExtra.deprecated)(_propTypes.default.oneOf(['none', 'wide']), 'Use `padding` instead.'),
  padding: _propTypes.default.oneOf(['none', 'large'])
};