1 | import type { GetContainer } from 'rc-util/lib/PortalWrapper';
|
2 | import type * as React from 'react';
|
3 | import type ScrollLocker from 'rc-util/lib/Dom/scrollLocker';
|
4 | export declare type IPlacement = 'left' | 'top' | 'right' | 'bottom';
|
5 | declare type ILevelMove = number | [number, number];
|
6 | declare type Omit<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>>;
|
7 | interface 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 | }
|
33 | export interface IDrawerProps extends IProps {
|
34 | wrapperClassName?: string;
|
35 | forceRender?: boolean;
|
36 | getContainer?: GetContainer;
|
37 | }
|
38 | export interface IDrawerChildProps extends IProps {
|
39 | getContainer?: () => HTMLElement;
|
40 | getOpenCount?: () => number;
|
41 | scrollLocker?: ScrollLocker;
|
42 | switchScrollingEffect?: () => void;
|
43 | }
|
44 | export {};
|