1 | import type { GetContainer } from 'rc-util/lib/PortalWrapper';
|
2 | import type { CSSProperties, ReactNode, SyntheticEvent } from 'react';
|
3 | export interface ModalClassNames {
|
4 | header?: string;
|
5 | body?: string;
|
6 | footer?: string;
|
7 | mask?: string;
|
8 | content?: string;
|
9 | wrapper?: string;
|
10 | }
|
11 | export interface ModalStyles {
|
12 | header?: CSSProperties;
|
13 | body?: CSSProperties;
|
14 | footer?: CSSProperties;
|
15 | mask?: CSSProperties;
|
16 | wrapper?: CSSProperties;
|
17 | content?: CSSProperties;
|
18 | }
|
19 | export 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 | };
|