UNPKG

1.11 kBTypeScriptView Raw
1import * as React from 'react';
2
3import ModalBody from './ModalBody';
4import ModalDialog from './ModalDialog';
5import ModalFooter from './ModalFooter';
6import ModalHeader from './ModalHeader';
7import ModalTitle from './ModalTitle';
8
9import { BsPrefixComponent, TransitionCallbacks } from './helpers';
10
11export interface ModalProps extends TransitionCallbacks {
12 size?: 'sm' | 'lg' | 'xl';
13 centered?: boolean;
14 backdrop?: 'static' | boolean;
15 backdropClassName?: string;
16 keyboard?: boolean;
17 animation?: boolean;
18 dialogClassName?: string;
19 dialogAs?: React.ElementType;
20 autoFocus?: boolean;
21 enforceFocus?: boolean;
22 restoreFocus?: boolean;
23 show?: boolean;
24 onShow?: () => void;
25 onHide?: () => void;
26 container?: any;
27 scrollable?: boolean;
28 onEscapeKeyDown?: () => void;
29}
30
31declare class Modal<
32 As extends React.ElementType = 'div'
33> extends BsPrefixComponent<As, ModalProps> {
34 static Body: typeof ModalBody;
35 static Header: typeof ModalHeader;
36 static Title: typeof ModalTitle;
37 static Footer: typeof ModalFooter;
38
39 static Dialog: typeof ModalDialog;
40}
41
42export default Modal;