Skip to content

Commit ce656d8

Browse files
TedDriggstomkp
authored andcommitted
Add type declarations for SplitPane (#223)
1 parent 8b13d75 commit ce656d8

File tree

4 files changed

+2457
-1768
lines changed

4 files changed

+2457
-1768
lines changed

index.d.ts

+53
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
import React, { CSSProperties } from 'react';
2+
import Prefixer from 'inline-style-prefixer';
3+
4+
export type Size = string | number;
5+
6+
export interface Props {
7+
allowResize?: boolean;
8+
className?: string;
9+
primary?: 'first' | 'second';
10+
minSize?: Size;
11+
maxSize?: Size;
12+
defaultSize?: Size;
13+
size?: Size;
14+
split?: 'vertical' | 'horizontal';
15+
onDragStarted?: () => void;
16+
onDragFinished?: () => void;
17+
onChange?: (newSize: number) => void;
18+
onResizerClick?: (event: MouseEvent) => void;
19+
onResizerDoubleClick?: (event: MouseEvent) => void;
20+
prefixer?: Prefixer;
21+
style?: CSSProperties;
22+
resizerStyle?: CSSProperties;
23+
paneStyle?: CSSProperties;
24+
pane1Style?: CSSProperties;
25+
pane2Style?: CSSProperties;
26+
resizerClassName?: string;
27+
step?: number;
28+
}
29+
30+
export interface State {
31+
active: boolean;
32+
resized: boolean;
33+
}
34+
35+
declare class SplitPane extends React.Component<Props, State> {
36+
constructor();
37+
38+
onMouseDown(event: MouseEvent): void;
39+
40+
onTouchStart(event: TouchEvent): void;
41+
42+
onMouseMove(event: MouseEvent): void;
43+
44+
onTouchMove(event: TouchEvent): void;
45+
46+
onMouseUp(): void;
47+
48+
setSize(props: Props, state: State): void;
49+
50+
static defaultProps: Props;
51+
}
52+
53+
export { SplitPane as default };

0 commit comments

Comments
 (0)