UNPKG

1.83 kBTypeScriptView Raw
1import type { GetContainer } from 'rc-util/lib/PortalWrapper';
2import type { CSSProperties, ReactNode, SyntheticEvent } from 'react';
3export interface ModalClassNames {
4 header?: string;
5 body?: string;
6 footer?: string;
7 mask?: string;
8 content?: string;
9 wrapper?: string;
10}
11export interface ModalStyles {
12 header?: CSSProperties;
13 body?: CSSProperties;
14 footer?: CSSProperties;
15 mask?: CSSProperties;
16 wrapper?: CSSProperties;
17 content?: CSSProperties;
18}
19export type IDialogPropTypes = {
20 className?: string;
21 keyboard?: boolean;
22 style?: CSSProperties;
23 mask?: boolean;
24 children?: React.ReactNode;
25 afterClose?: () => any;
26 afterOpenChange?: (open: boolean) => void;
27 onClose?: (e: SyntheticEvent) => any;
28 closable?: boolean | ({
29 closeIcon?: React.ReactNode;
30 disabled?: boolean;
31 } & React.AriaAttributes);
32 maskClosable?: boolean;
33 visible?: boolean;
34 destroyOnClose?: boolean;
35 mousePosition?: {
36 x: number;
37 y: number;
38 } | null;
39 title?: ReactNode;
40 footer?: ReactNode;
41 transitionName?: string;
42 maskTransitionName?: string;
43 animation?: any;
44 maskAnimation?: any;
45 wrapStyle?: Record<string, any>;
46 bodyStyle?: Record<string, any>;
47 maskStyle?: Record<string, any>;
48 prefixCls?: string;
49 wrapClassName?: string;
50 width?: string | number;
51 height?: string | number;
52 zIndex?: number;
53 bodyProps?: any;
54 maskProps?: any;
55 rootClassName?: string;
56 classNames?: ModalClassNames;
57 styles?: ModalStyles;
58 wrapProps?: any;
59 getContainer?: GetContainer | false;
60 closeIcon?: ReactNode;
61 modalRender?: (node: ReactNode) => ReactNode;
62 forceRender?: boolean;
63 focusTriggerAfterClose?: boolean;
64 panelRef?: React.Ref<HTMLDivElement>;
65};