@panyam/tsutils
Version:
Some basic TS utils for personal use
39 lines (38 loc) • 1.24 kB
TypeScript
export declare class ScrollGroup {
scrollStopDelay: number;
private scrollables;
private isScrolling;
private _focussedScrollable;
constructor(scrollStopDelay?: number);
add(scrollable: Scrollable): void;
remove(scrollable: Scrollable): void;
clear(): void;
detachAtIndex(index: number): Scrollable;
syncFollowers(source: Scrollable): void;
}
export interface Scrollable {
scrollOffset: number;
readonly scrollSize: number;
readonly pageSize: number;
attach(scrollGroup: ScrollGroup): void;
detach(): void;
}
export declare class HTMLElementScrollable implements Scrollable {
private _scrollGroup;
readonly element: HTMLElement;
private vertical;
private onScrollEventListener;
private onMouseEventListener;
private onTouchEventListener;
constructor(element: HTMLElement, vertical?: boolean);
attach(scrollGroup: ScrollGroup): void;
detach(): void;
get scrollGroup(): ScrollGroup | null;
get scrollOffset(): number;
set scrollOffset(value: number);
get scrollSize(): number;
get pageSize(): number;
onScrollEvent(event: Event): void;
onTouchEvent(event: TouchEvent): void;
onMouseEvent(event: MouseEvent): void;
}