UNPKG

1.59 kBTypeScriptView Raw
1import type { GetContainer } from 'rc-util/lib/PortalWrapper';
2import type * as React from 'react';
3import type ScrollLocker from 'rc-util/lib/Dom/scrollLocker';
4export declare type IPlacement = 'left' | 'top' | 'right' | 'bottom';
5declare type ILevelMove = number | [number, number];
6declare type Omit<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>>;
7interface IProps extends Omit<React.HTMLAttributes<any>, 'onChange'> {
8 prefixCls?: string;
9 width?: string | number;
10 height?: string | number;
11 open?: boolean;
12 defaultOpen?: boolean;
13 handler?: React.ReactElement | null | false;
14 placement?: IPlacement;
15 level?: null | string | string[];
16 levelMove?: ILevelMove | ((e: {
17 target: HTMLElement;
18 open: boolean;
19 }) => ILevelMove);
20 duration?: string;
21 ease?: string;
22 showMask?: boolean;
23 maskClosable?: boolean;
24 maskStyle?: React.CSSProperties;
25 onChange?: (open?: boolean) => void;
26 afterVisibleChange?: (open: boolean) => void;
27 onHandleClick?: (e: React.MouseEvent | React.KeyboardEvent) => void;
28 onClose?: (e: React.MouseEvent | React.KeyboardEvent) => void;
29 keyboard?: boolean;
30 contentWrapperStyle?: React.CSSProperties;
31 autoFocus?: boolean;
32}
33export interface IDrawerProps extends IProps {
34 wrapperClassName?: string;
35 forceRender?: boolean;
36 getContainer?: GetContainer;
37}
38export interface IDrawerChildProps extends IProps {
39 getContainer?: () => HTMLElement;
40 getOpenCount?: () => number;
41 scrollLocker?: ScrollLocker;
42 switchScrollingEffect?: () => void;
43}
44export {};