UNPKG

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