UNPKG

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

Version:
29 lines (26 loc) 1.23 kB
import React from 'react'; import ReactModal from 'react-modal'; import cx from 'classnames'; import { prefix } from '../../internal/settings.js'; /* IBM Confidential 694970X, 69497O0 © Copyright IBM Corp. 2022, 2024 */ function Modal(props) { const { appElement = "#app", className, containerClassName, children, isOpen = false, ...rest } = props; React.useEffect(() => { ReactModal.setAppElement(appElement); }, [appElement]); return (React.createElement(React.Fragment, null, React.createElement(ReactModal, { shouldCloseOnOverlayClick: true, closeTimeoutMS: 240, isOpen: isOpen, htmlOpenClassName: `${prefix}--bmrg-html-modal-is-open`, bodyOpenClassName: `${prefix}--bmrg-body-modal-is-open`, className: { base: cx(`${prefix}--bmrg-modal-container`, containerClassName), afterOpen: "--is-open", beforeClose: "--is-closed", }, portalClassName: `${prefix}--bmrg-modal-portal`, overlayClassName: { base: cx(`${prefix}--bmrg-modal-overlay`, className), afterOpen: "--is-open", beforeClose: "--is-closed", }, ...rest }, children))); } export { Modal, Modal as default };