import type { HTMLAttributes, CSSProperties, MouseEvent, ReactNode } from 'react'; import type { ButtonProps } from '../Button'; export type ModalAlignType = 'left' | 'center' | 'right' | ''; export type ModalType = 'info' | 'error' | 'success' | 'warning'; export interface ModalProps extends Omit, 'title' | 'id'> { id?: string | number; type?: ModalType; visible?: boolean; withoutLine?: boolean; withoutPadding?: boolean; mask?: boolean; okLoading?: boolean; title?: ReactNode | string; maskStyle?: CSSProperties; maskClosable?: boolean; hideCancelBtn?: boolean; closable?: boolean; closeElement?: ReactNode; okText?: string; cancelText?: string; okButtonProps?: ButtonProps; cancelButtonProps?: ButtonProps; footer?: ReactNode; footerAlign?: ModalAlignType; focusLock?: boolean; onCancel?: () => void; onOk?: (e?: MouseEvent) => T; afterOpen?: () => void; afterClose?: () => void; style?: CSSProperties; className?: string; themeStyle?: Record; content: ReactNode; /** * @zh 指定弹出框挂载的父节点 * @en Specify the parent node of the Modal * @defaultValue () => document.body */ getMountContainer?: () => HTMLElement; }