import type { FC } from "react"; import ReactModal from "react-modal"; import { type ModalBaseProps } from "./ModalBase"; export type ModalProps = Omit & { title: string; }; type StaticProperties = { setAppElement: typeof ReactModal.setAppElement; }; /** * Modal built on `react-modal`, rendered in a `document.body` portal and stacked * with `z-index`. * * Not deprecated, and not interchangeable with `ModalDialog`. Pick by content: * * - **`Modal`** — forms, and anything containing a popover that portals: * `Select` (react-select), `Tooltip`/`HoverCard`/`FlyOutMenu` (Radix), * `DatePicker` (react-datepicker), `TextEditor` (TipTap). Ordinary `z-index` * stacking applies, so those components work with their default portal * targets and need no wiring. * - **`ModalDialog`** — messages, confirmations, previews, and other simple * content. It calls `showModal()`, so it renders in the browser top layer, * where no `z-index` from outside the dialog can reach. Every portalling * popover inside it has to be pointed at the dialog element explicitly, via a * different API per library. */ export declare const Modal: FC & StaticProperties; export {};