@open-formulieren/formio-builder
Version:
An opinionated Formio webform builder for Open Forms
19 lines (18 loc) • 1.75 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.ModalContext = void 0;
const jsx_runtime_1 = require("react/jsx-runtime");
const clsx_1 = __importDefault(require("clsx"));
const react_1 = require("react");
const react_intl_1 = require("react-intl");
const react_modal_1 = __importDefault(require("react-modal"));
exports.ModalContext = (0, react_1.createContext)({});
exports.ModalContext.displayName = 'ModalContext';
const Modal = ({ isOpen, closeModal, className, children }) => {
const { parentSelector, ariaHideApp } = (0, react_1.useContext)(exports.ModalContext);
return ((0, jsx_runtime_1.jsxs)(react_modal_1.default, Object.assign({ isOpen: isOpen, onRequestClose: closeModal, parentSelector: parentSelector, ariaHideApp: ariaHideApp, portalClassName: isOpen ? (0, clsx_1.default)('formio-dialog', 'formio-dialog-theme-default', className) : undefined, overlayClassName: "formio-dialog-overlay", className: "formio-dialog-content", overlayElement: (props, contentElement) => ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("div", Object.assign({}, props)), contentElement] })) }, { children: [(0, jsx_runtime_1.jsx)("button", Object.assign({ type: "button", className: "formio-dialog-close float-right btn btn-secondary btn-sm", onClick: closeModal }, { children: (0, jsx_runtime_1.jsx)("span", Object.assign({ className: "sr-only" }, { children: (0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { id: 'yGAl1a', defaultMessage: [{ type: 0, value: "Close" }] }) })) })), children] })));
};
exports.default = Modal;