import * as React from 'react'; import { BackdropProps } from './Backdrop'; declare const MODAL_ROOT_CLASSNAME = "sinoui-modal-root"; export { MODAL_ROOT_CLASSNAME }; /** * 获取模态框的根元素 * * @returns {HTMLElement} 返回模态框的根元素 */ export declare function getModalRoot(): HTMLElement; export interface ModalPropsType extends React.DetailedHTMLProps, HTMLDivElement> { /** * 弹框显示的内容 * * @type {React.Node} */ children?: React.ReactElement; /** * 为true时打开Modal * * @type {boolean} */ open?: boolean; /** * 为true时显示backdrop,为false时不显示backdrop。默认为true。 * * @type {boolean} */ backdrop?: boolean; /** * 为true时可以响应backdrop点击事件。 * 为false时表示不可响应backdrop点击事件,也就是说点击backdrop时不会引起modal的关闭。 * 默认为true。 * * @type {boolean} */ backdropClick?: boolean; /** * 给Backdrop指定的属性 */ BackdropProps?: BackdropProps; /** * backdrop被点击时的回调函数 * * @type {(SyntheticMouseEvent<*>) => void} */ onBackdropClick?: (event: React.MouseEvent) => void; /** * Modal组件请求关闭时的回调函数。 * * 回调函数签名: * * `function(event: object, reason: string) => void` * * * **event**: 事件源 * * **reason**: 引起关闭的原因。 * 'escapeKeyDown'表示按ESC键引起关闭, * 'backdropClick'表示点击backdrop引起关闭。 * */ onRequestClose?: (event: React.MouseEvent, reason: string) => void; /** * 监听动画变换结束事件 */ onTransitionExited?: (event: React.MouseEvent) => void; /** * 是否启用固定布局 */ fixed?: boolean; /** * 是否全屏显示。`fixed=true`时有效 */ fullScreen?: boolean; /** * 指定css的z-index */ zIndex?: number; container?: HTMLElement; } export interface ModalStateType { exited?: boolean; } /** * 模态框 */ declare class Modal extends React.Component { static defaultProps: { open: boolean; fixed: boolean; BackdropProps: {}; backdrop: boolean; backdropClick: boolean; fullScreen: boolean; container: HTMLElement; }; constructor(props: ModalPropsType); componentDidMount(): void; componentWillReceiveProps(nextProps: ModalPropsType): void; componentWillUnmount(): void; onBackdropClick(event: React.MouseEvent): void; onTransitionExited(): void; private onContainerClick; el: HTMLElement; render(): React.ReactPortal; } export default Modal;