-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathindex.d.ts
53 lines (49 loc) · 1.85 KB
/
index.d.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
declare module "toolslide.js" {
export type AnimationEasing = "ease" | "ease-in" | "ease-out" | "ease-in-out";
export type AnimationType = "crossfade" | "slide" | "slidefade";
export type Animation = {
type: AnimationType;
easing: AnimationEasing;
speed: string;
}
export interface IToolSlide {
open: () => void;
close: () => void;
isOpen: () => boolean;
isActive: (target: string) => boolean;
setActiveById: (elementId: string) => void;
setActiveByIndex: (index: number) => void;
}
export interface IToolSlideOptions {
activePanel?: string | number | Element;
position?: "left" | "right" | "top" | "bottom";
height?: string | number;
width?: string | number;
startOpen?: boolean;
closeable?: boolean;
minClosedSize?:string | number;
toggleButton?: string | Element;
embed?: boolean;
navigationItemWidth?: string | number;
navigationItemHeight?: string | number;
navigationOffsetX?: string | number;
navigationOffsetY?: string | number;
autoclose?: boolean;
autocloseDelay?: number;
clickOutsideToClose?: boolean;
animations?: {
replace?: string | Animation;
toggle?: string | Animation;
},
listeners?: {
beforeOpen?: (panel: Element) => void;
afterOpen?: (panel: Element) => void;
beforeClose?: (panel: Element) => void;
afterClose?: (panel: Element) => void;
beforeToggle?: (oldContent: Element, newContent: Element) => void;
afterToggle?: (oldContent: Element, newContent: Element) => void;
}
}
declare function toolslide(element: string | Element, options?: IToolSlideOptions): IToolSlide;
export default toolslide;
}