UNPKG

@boomerang-io/carbon-addons-boomerang-react

Version:
40 lines (33 loc) 1.79 kB
'use strict'; 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;