UNPKG

1.72 kBTypeScriptView Raw
1import * as React from 'react';
2import { Sizes, TransitionCallbacks } from 'react-bootstrap';
3import ModalBody = require('./ModalBody');
4import ModalHeader = require('./ModalHeader');
5import ModalTitle = require('./ModalTitle');
6import ModalDialog = require('./ModalDialog');
7import ModalFooter = require('./ModalFooter');
8
9declare namespace Modal {
10 interface ModalProps extends TransitionCallbacks, React.HTMLProps<Modal> {
11 // Required
12 onHide: Function;
13
14 // Optional
15 animation?: boolean;
16 autoFocus?: boolean;
17 backdrop?: boolean | string;
18 backdropClassName?: string;
19 backdropStyle?: any;
20 backdropTransitionTimeout?: number;
21 bsSize?: Sizes;
22 bsClass?: string;
23 container?: any; // TODO: Add more specific type
24 containerClassName?: string;
25 dialogClassName?: string;
26 dialogComponent?: any; // TODO: Add more specific type
27 dialogTransitionTimeout?: number;
28 enforceFocus?: boolean;
29 restoreFocus?: boolean;
30 keyboard?: boolean;
31 onBackdropClick?: (node: HTMLElement) => any;
32 onEscapeKeyDown?: (node: HTMLElement) => any;
33 /**
34 * @deprecated since Sept 25, 2017, use onEscapeKeyDown instead
35 **/
36 onEscapeKeyUp?: (node: HTMLElement) => any;
37 onShow?: (node: HTMLElement) => any;
38 show?: boolean;
39 transition?: React.ReactElement;
40 }
41}
42declare class Modal extends React.Component<Modal.ModalProps> {
43 static Body: typeof ModalBody;
44 static Header: typeof ModalHeader;
45 static Title: typeof ModalTitle;
46 static Footer: typeof ModalFooter;
47 static Dialog: typeof ModalDialog;
48}
49export = Modal;