@open-formulieren/formio-builder
Version:
An opinionated Formio webform builder for Open Forms
13 lines (12 loc) • 1.31 kB
JavaScript
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
import clsx from 'clsx';
import { createContext, useContext } from 'react';
import { FormattedMessage } from 'react-intl';
import ReactModal from 'react-modal';
export const ModalContext = createContext({});
ModalContext.displayName = 'ModalContext';
const Modal = ({ isOpen, closeModal, className, children }) => {
const { parentSelector, ariaHideApp } = useContext(ModalContext);
return (_jsxs(ReactModal, Object.assign({ isOpen: isOpen, onRequestClose: closeModal, parentSelector: parentSelector, ariaHideApp: ariaHideApp, portalClassName: isOpen ? clsx('formio-dialog', 'formio-dialog-theme-default', className) : undefined, overlayClassName: "formio-dialog-overlay", className: "formio-dialog-content", overlayElement: (props, contentElement) => (_jsxs(_Fragment, { children: [_jsx("div", Object.assign({}, props)), contentElement] })) }, { children: [_jsx("button", Object.assign({ type: "button", className: "formio-dialog-close float-right btn btn-secondary btn-sm", onClick: closeModal }, { children: _jsx("span", Object.assign({ className: "sr-only" }, { children: _jsx(FormattedMessage, { id: 'yGAl1a', defaultMessage: [{ type: 0, value: "Close" }] }) })) })), children] })));
};
export default Modal;