@boomerang-io/carbon-addons-boomerang-react
Version:
Carbon Addons for Boomerang apps
40 lines (33 loc) • 1.79 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var React = require('react');
var ReactModal = require('react-modal');
var cx = require('classnames');
var settings = require('../../internal/settings.js');
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
var React__default = /*#__PURE__*/_interopDefault(React);
var ReactModal__default = /*#__PURE__*/_interopDefault(ReactModal);
var cx__default = /*#__PURE__*/_interopDefault(cx);
/*
IBM Confidential
694970X, 69497O0
© Copyright IBM Corp. 2022, 2024
*/
function Modal(props) {
const { appElement = "#app", className, containerClassName, children, isOpen = false, ...rest } = props;
React__default.default.useEffect(() => {
ReactModal__default.default.setAppElement(appElement);
}, [appElement]);
return (React__default.default.createElement(React__default.default.Fragment, null,
React__default.default.createElement(ReactModal__default.default, { shouldCloseOnOverlayClick: true, closeTimeoutMS: 240, isOpen: isOpen, htmlOpenClassName: `${settings.prefix}--bmrg-html-modal-is-open`, bodyOpenClassName: `${settings.prefix}--bmrg-body-modal-is-open`, className: {
base: cx__default.default(`${settings.prefix}--bmrg-modal-container`, containerClassName),
afterOpen: "--is-open",
beforeClose: "--is-closed",
}, portalClassName: `${settings.prefix}--bmrg-modal-portal`, overlayClassName: {
base: cx__default.default(`${settings.prefix}--bmrg-modal-overlay`, className),
afterOpen: "--is-open",
beforeClose: "--is-closed",
}, ...rest }, children)));
}
exports.Modal = Modal;
exports.default = Modal;