UNPKG

choerodon-ui

Version:

An enterprise-class UI design language and React-based implementation

124 lines (123 loc) 3.83 kB
import { Component, CSSProperties, MouseEvent, ReactInstance, ReactNode } from 'react'; import { ButtonFuncType, ButtonProps, ButtonType } from '../button/Button'; import Sidebar from './Sidebar'; import ConfigContext, { ConfigContextValue } from '../config-provider/ConfigContext'; export interface ModalProps { prefixCls?: string; /** 对话框是否可见 */ visible?: boolean; /** 确定按钮 loading */ confirmLoading?: boolean; /** ok按钮是否禁用 loading */ disableOk?: boolean; /** Cancel按钮是否禁用 loading */ disableCancel?: boolean; /** 标题 */ title?: ReactNode; /** 是否显示右上角的关闭按钮 */ closable?: boolean; /** 点击确定回调 */ onOk?: (e: MouseEvent<any>) => void; /** 点击模态框右上角叉、取消按钮、Props.maskClosable 值为 true 时的遮罩层或键盘按下 Esc 时的回调 */ onCancel?: (e: MouseEvent<any>) => void; afterClose?: () => void; animationEnd?: () => void; /** 宽度 */ width?: string | number; /** 底部内容 */ footer?: ReactNode; /** 确认按钮文字 */ okText?: string; /** 确认按钮类型 */ okType?: ButtonType; /** 取消按钮文字 */ cancelText?: string; /** 点击蒙层是否允许关闭 */ maskClosable?: boolean; destroyOnClose?: boolean; style?: CSSProperties; wrapClassName?: string; maskTransitionName?: string; transitionName?: string; className?: string; getContainer?: (instance: ReactInstance) => HTMLElement; zIndex?: number; bodyStyle?: CSSProperties; maskStyle?: CSSProperties; mask?: boolean; keyboard?: boolean; funcType?: ButtonFuncType; wrapProps?: any; movable?: boolean; center?: boolean; okButtonProps?: ButtonProps; cancelButtonProps?: ButtonProps; } export interface ModalFuncProps { prefixCls?: string; className?: string; visible?: boolean; title?: ReactNode; content?: ReactNode; onOk?: (...args: any[]) => any | PromiseLike<any>; onCancel?: (...args: any[]) => any | PromiseLike<any>; width?: string | number; iconClassName?: string; okText?: string; okType?: ButtonType; cancelText?: string; iconType?: string; maskClosable?: boolean; zIndex?: number; okCancel?: boolean; style?: CSSProperties; type?: string; keyboard?: boolean; transitionName?: string; funcType?: ButtonFuncType; confirmLoading?: boolean; disableOk?: boolean; disableCancel?: boolean; closable?: boolean; footer?: ReactNode; okButtonProps?: ButtonProps; cancelButtonProps?: ButtonProps; } export declare type ModalFunc = (props: ModalFuncProps) => { destroy: () => void; }; export interface ModalLocale { okText: string; cancelText: string; justOkText: string; } export default class Modal extends Component<ModalProps, {}> { static displayName: string; static get contextType(): typeof ConfigContext; static info: ModalFunc; static success: ModalFunc; static error: ModalFunc; static warn: ModalFunc; static warning: ModalFunc; static confirm: ModalFunc; static Sidebar: typeof Sidebar; static defaultProps: { width: number; transitionName: string; maskTransitionName: string; confirmLoading: boolean; disableOk: boolean; disableCancel: boolean; visible: boolean; okType: string; okButtonDisabled: boolean; cancelButtonDisabled: boolean; center: boolean; }; context: ConfigContextValue; handleCancel: (e: any) => void; handleOk: (e: any) => void; componentDidMount(): void; renderFooter: (locale: ModalLocale) => JSX.Element; render(): JSX.Element; }