forked from htmlstreamofficial/preline
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdropdown.d.ts
66 lines (62 loc) · 1.9 KB
/
dropdown.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
54
55
56
57
58
59
60
61
62
63
64
65
66
export interface IBasePlugin<O, E> {
el: E;
options?: O;
events?: {};
}
declare class HSBasePlugin<O, E = HTMLElement> implements IBasePlugin<O, E> {
el: E;
options: O;
events?: any;
constructor(el: E, options: O, events?: any);
createCollection(collection: any[], element: any): void;
fireEvent(evt: string, payload?: any): any;
on(evt: string, cb: Function): void;
}
export interface ICollectionItem<T> {
id: string | number;
element: T;
}
export interface IDropdown {
options?: {};
open(): void;
close(isAnimated: boolean): void;
forceClearState(): void;
}
export interface IHTMLElementPopper extends HTMLElement {
_popper: any;
}
declare class HSDropdown extends HSBasePlugin<{}, IHTMLElementPopper> implements IDropdown {
private static history;
private readonly toggle;
menu: HTMLElement | null;
private eventMode;
private readonly closeMode;
private animationInProcess;
constructor(el: IHTMLElementPopper, options?: {}, events?: {});
private init;
resizeHandler(): void;
private onClickHandler;
private onMouseEnterHandler;
private onMouseLeaveHandler;
private destroyPopper;
private absoluteStrategyModifiers;
open(): boolean;
close(isAnimated?: boolean): boolean;
forceClearState(): void;
static getInstance(target: HTMLElement | string, isInstance?: boolean): ICollectionItem<HSDropdown> | IHTMLElementPopper;
static autoInit(): void;
static open(target: HTMLElement): void;
static close(target: HTMLElement): void;
static accessibility(evt: KeyboardEvent): void;
static onEscape(evt: KeyboardEvent): void;
static onEnter(evt: KeyboardEvent): void;
static onArrow(isArrowUp?: boolean): boolean;
static onStartEnd(isStart?: boolean): boolean;
static onFirstLetter(code: string): boolean;
static closeCurrentlyOpened(evtTarget?: HTMLElement | null, isAnimated?: boolean): void;
static on(evt: string, target: HTMLElement, cb: Function): void;
}
export {
HSDropdown as default,
};
export {};