UNPKG

@itwin/itwinui-react

Version:

A react component library for iTwinUI

49 lines (48 loc) 1.13 kB
import * as React from 'react'; import { Dialog } from '../Dialog/Dialog.js'; export const Modal = React.forwardRef((props, forwardedRef) => { let { isOpen = false, isDismissible = true, closeOnEsc = true, closeOnExternalClick = true, onClose, title, children, portal = true, wrapperProps, backdropProps, titleBarProps, ...rest } = props; return React.createElement( Dialog, { isOpen: isOpen, closeOnEsc: closeOnEsc, closeOnExternalClick: closeOnExternalClick, isDismissible: isDismissible, onClose: onClose, preventDocumentScroll: true, trapFocus: true, setFocus: true, ref: forwardedRef, portal: portal, ...wrapperProps, }, React.createElement(Dialog.Backdrop, backdropProps), React.createElement( Dialog.Main, { 'aria-modal': true, ...rest, }, React.createElement(Dialog.TitleBar, { titleText: title, ...titleBarProps, }), children, ), ); }); if ('development' === process.env.NODE_ENV) Modal.displayName = 'Modal';