1 | import { SplitPanel, Widget } from '@phosphor/widgets';
|
2 | export interface SplitPositionOptions {
|
3 |
|
4 | side?: 'left' | 'right' | 'top' | 'bottom';
|
5 |
|
6 | duration: number;
|
7 |
|
8 | referenceWidget?: Widget;
|
9 | }
|
10 | export interface MoveEntry extends SplitPositionOptions {
|
11 | parent: SplitPanel;
|
12 | index: number;
|
13 | started: boolean;
|
14 | ended: boolean;
|
15 | targetSize?: number;
|
16 | targetPosition?: number;
|
17 | startPosition?: number;
|
18 | startTime?: number;
|
19 | resolve?: (position: number) => void;
|
20 | reject?: (reason: string) => void;
|
21 | }
|
22 | export declare class SplitPositionHandler {
|
23 | private readonly splitMoves;
|
24 | private currentMoveIndex;
|
25 | |
26 |
|
27 |
|
28 |
|
29 |
|
30 | setSplitHandlePosition(parent: SplitPanel, index: number, targetPosition: number, options: SplitPositionOptions): Promise<number>;
|
31 | |
32 |
|
33 |
|
34 |
|
35 |
|
36 | setSidePanelSize(sidePanel: Widget, targetSize: number, options: SplitPositionOptions): Promise<number>;
|
37 | protected moveSplitPos(move: MoveEntry): Promise<number>;
|
38 | protected animationFrame(time: number): void;
|
39 | protected startMove(move: MoveEntry, time: number): void;
|
40 | protected endMove(move: MoveEntry): void;
|
41 | protected getCurrentPosition(move: MoveEntry): number | undefined;
|
42 | }
|
43 |
|
\ | No newline at end of file |