"use strict";

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

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

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

require("./Modal.css");

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 backgroundClick = function backgroundClick(event, onBackgroundClick) {
  if (event.target.matches('.modal')) {
    onBackgroundClick();
  }
};

var Modal = function Modal(_ref) {
  var children = _ref.children,
      onBackgroundClick = _ref.onBackgroundClick,
      restProps = _objectWithoutProperties(_ref, ["children", "onBackgroundClick"]);

  return _react.default.createElement("div", _extends({}, restProps, {
    className: "modal",
    style: {
      display: 'block'
    },
    onClick: function onClick(event) {
      return onBackgroundClick ? backgroundClick(event, onBackgroundClick) : {};
    }
  }), children);
};

exports.Modal = Modal;

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

  return _react.default.createElement("div", _extends({}, restProps, {
    className: "modal-header"
  }), title && _react.default.createElement("h1", null, title), children);
};

exports.Header = Header;
Header.propTypes = {
  title: _propTypes.default.string
};

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

  return _react.default.createElement("div", _extends({}, restProps, {
    className: "modal-dialog"
  }), children);
};

exports.Dialog = Dialog;

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

  return _react.default.createElement("div", _extends({}, restProps, {
    className: "modal-content"
  }), children);
};

exports.Content = Content;

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

  return _react.default.createElement("div", _extends({}, restProps, {
    className: "modal-body"
  }), children);
};

exports.Body = Body;

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

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

exports.Footer = Footer;

var Backdrop = function Backdrop(props) {
  return _react.default.createElement("div", _extends({}, props, {
    className: "modal-backdrop fade in"
  }));
};

exports.Backdrop = Backdrop;