1 | import React, { Component, ReactNode } from 'react';
|
2 | import type { DebouncedFunc } from 'lodash-es';
|
3 | interface Props {
|
4 | position: 'left' | 'right' | 'top' | 'bottom';
|
5 | zIndex: number;
|
6 | fluid: boolean;
|
7 | size?: number;
|
8 | defaultSize: number;
|
9 | dimMode: 'none' | 'transparent' | 'opaque';
|
10 | isVisible?: boolean;
|
11 | onVisibleChange?: (isVisible: boolean) => void;
|
12 | onSizeChange?: (size: number) => void;
|
13 | dimStyle?: React.CSSProperties | null;
|
14 | dockStyle?: React.CSSProperties | null;
|
15 | dockHiddenStyle?: React.CSSProperties | null;
|
16 | duration: number;
|
17 | children?: React.FunctionComponent<{
|
18 | position: 'left' | 'right' | 'top' | 'bottom';
|
19 | isResizing: boolean | undefined;
|
20 | size: number;
|
21 | isVisible: boolean | undefined;
|
22 | }> | ReactNode;
|
23 | }
|
24 | interface State {
|
25 | isControlled: boolean;
|
26 | size: number;
|
27 | isDimHidden: boolean;
|
28 | fullWidth: number;
|
29 | fullHeight: number;
|
30 | isTransitionStarted: boolean;
|
31 | isWindowResizing: unknown;
|
32 | isResizing?: boolean;
|
33 | }
|
34 | export default class Dock extends Component<Props, State> {
|
35 | state: State;
|
36 | static defaultProps: {
|
37 | position: string;
|
38 | zIndex: number;
|
39 | fluid: boolean;
|
40 | defaultSize: number;
|
41 | dimMode: string;
|
42 | duration: number;
|
43 | };
|
44 | componentDidMount(): void;
|
45 | componentWillUnmount(): void;
|
46 | UNSAFE_componentWillReceiveProps(nextProps: Props): void;
|
47 | updateSize(props: Props): void;
|
48 | componentDidUpdate(prevProps: Props): void;
|
49 | transitionEnd: () => void;
|
50 | hideDim: () => void;
|
51 | render(): React.JSX.Element;
|
52 | handleDimClick: () => void;
|
53 | handleResize: () => void;
|
54 | updateWindowSize: (windowResize?: true) => void;
|
55 | updateWindowSizeEnd: () => void;
|
56 | debouncedUpdateWindowSizeEnd: DebouncedFunc<() => void>;
|
57 | handleWrapperLeave: () => void;
|
58 | handleMouseDown: () => void;
|
59 | handleMouseUp: () => void;
|
60 | handleMouseMove: (e: MouseEvent | TouchEvent) => void;
|
61 | }
|
62 | export {};
|