UNPKG

2.1 kBTypeScriptView Raw
1import * as React from 'react';
2import { StandardProps, ModalManager } from '..';
3import { BackdropProps } from '../Backdrop';
4import { PortalProps } from '../Portal';
5
6export interface ModalProps
7 extends StandardProps<React.HTMLAttributes<HTMLDivElement>, never, 'children'> {
8 BackdropComponent?: React.ElementType<BackdropProps>;
9 BackdropProps?: Partial<BackdropProps>;
10 children: React.ReactElement;
11 closeAfterTransition?: boolean;
12 container?: PortalProps['container'];
13 disableAutoFocus?: boolean;
14 disableBackdropClick?: boolean;
15 disableEnforceFocus?: boolean;
16 disableEscapeKeyDown?: boolean;
17 disablePortal?: PortalProps['disablePortal'];
18 disableRestoreFocus?: boolean;
19 disableScrollLock?: boolean;
20 hideBackdrop?: boolean;
21 keepMounted?: boolean;
22 manager?: ModalManager;
23 onBackdropClick?: React.ReactEventHandler<{}>;
24 /**
25 * Callback fired when the component requests to be closed.
26 *
27 * @param {object} event The event source of the callback.
28 * @param {string} reason Can be: `"escapeKeyDown"`, `"backdropClick"`.
29 */
30 onClose?: {
31 bivarianceHack(event: {}, reason: 'backdropClick' | 'escapeKeyDown'): void;
32 }['bivarianceHack'];
33 onEscapeKeyDown?: React.ReactEventHandler<{}>;
34 onRendered?: PortalProps['onRendered'];
35 open: boolean;
36}
37
38/**
39 * Modal is a lower-level construct that is leveraged by the following components:
40 *
41 * - [Dialog](https://material-ui.com/api/dialog/)
42 * - [Drawer](https://material-ui.com/api/drawer/)
43 * - [Menu](https://material-ui.com/api/menu/)
44 * - [Popover](https://material-ui.com/api/popover/)
45 *
46 * If you are creating a modal dialog, you probably want to use the [Dialog](https://material-ui.com/api/dialog/) component
47 * rather than directly using Modal.
48 *
49 * This component shares many concepts with [react-overlays](https://react-bootstrap.github.io/react-overlays/#modals).
50 * Demos:
51 *
52 * - [Modal](https://material-ui.com/components/modal/)
53 *
54 * API:
55 *
56 * - [Modal API](https://material-ui.com/api/modal/)
57 */
58declare const Modal: React.ComponentType<ModalProps>;
59
60export default Modal;