chowa
Version:
UI component library based on React
90 lines (89 loc) • 3.19 kB
TypeScript
/**
* @license chowa v1.1.3
*
* Copyright (c) Chowa Techonlogies Co.,Ltd.(http://www.chowa.cn).
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
import * as React from 'react';
import * as PropTypes from 'prop-types';
import AlertModal from './alert-modal';
import ConfirmModal from './confirm-modal';
import PromptModal from './prompt-modal';
import $alert from './$alert';
import $confirm from './$confirm';
import $prompt from './$prompt';
import { MousePos } from './mouse-pos';
export interface ModalProps {
className?: string;
style?: React.CSSProperties;
visible?: boolean;
closeOnPressEsc?: boolean;
align?: 'top' | 'middle' | 'bottom';
justify?: 'start' | 'end' | 'center';
bordered?: boolean;
maskClosable?: boolean;
withMask?: boolean;
scrollDisabled?: boolean;
onClose?: () => void;
mousePos?: MousePos;
onShow?: () => void;
onHide?: () => void;
onEnter?: () => void;
onLeave?: () => void;
}
export interface ModalState {
transformOrigin: React.ReactText;
}
declare class Modal extends React.PureComponent<ModalProps, ModalState> {
static propTypes: {
className: PropTypes.Requireable<string>;
style: PropTypes.Requireable<object>;
visible: PropTypes.Requireable<boolean>;
closeOnPressEsc: PropTypes.Requireable<boolean>;
align: PropTypes.Requireable<string>;
justify: PropTypes.Requireable<string>;
bordered: PropTypes.Requireable<boolean>;
maskClosable: PropTypes.Requireable<boolean>;
withMask: PropTypes.Requireable<boolean>;
scrollDisabled: PropTypes.Requireable<boolean>;
onClose: PropTypes.Requireable<(...args: any[]) => any>;
mousePos: PropTypes.Requireable<object>;
onShow: PropTypes.Requireable<(...args: any[]) => any>;
onHide: PropTypes.Requireable<(...args: any[]) => any>;
onEnter: PropTypes.Requireable<(...args: any[]) => any>;
onLeave: PropTypes.Requireable<(...args: any[]) => any>;
};
static defaultProps: {
closeOnPressEsc: boolean;
visible: boolean;
align: string;
justify: string;
bordered: boolean;
maskClosable: boolean;
withMask: boolean;
scrollDisabled: boolean;
};
static Header: React.SFC<import("./modal-header").ModalHeaderProps>;
static Body: React.SFC<import("./modal-body").ModalBodyProps>;
static Footer: React.SFC<import("./modal-footer").ModalFooterProps>;
static AlertModal: typeof AlertModal;
static ConfirmModal: typeof ConfirmModal;
static PromptModal: typeof PromptModal;
static $alert: typeof $alert;
static $confirm: typeof $confirm;
static $prompt: typeof $prompt;
private modalElement;
private hasBindListener;
constructor(props: ModalProps);
componentDidUpdate(preProps: ModalProps): void;
componentWillUnmount(): void;
private autoBindEscListener;
private keyboardToClose;
private onEnterHandler;
private onLeaveHandler;
private onMaskClickHandler;
render(): any[];
}
export default Modal;