vscroll
Version:
Virtual scroll engine
33 lines (32 loc) • 1.03 kB
TypeScript
import { Paddings } from './paddings';
import { Settings } from './settings';
import { Routines } from './domRoutines';
import { Item } from './item';
import { State } from './state';
import { Logger } from './logger';
import { Direction } from '../inputs/index';
export declare class Viewport {
offset: number;
paddings: Paddings;
readonly settings: Settings;
readonly routines: Routines;
readonly state: State;
readonly logger: Logger;
constructor(settings: Settings, routines: Routines, state: State, logger: Logger);
reset(startIndex: number): void;
setPosition(value: number): number;
get scrollPosition(): number;
set scrollPosition(value: number);
getSize(): number;
getScrollableSize(): number;
getMaxScrollPosition(): number;
getBufferPadding(): number;
getEdge(direction: Direction): number;
setOffset(): void;
findItemElementById(id: string): HTMLElement | null;
getEdgeVisibleItem(items: Item[], direction: Direction): {
item?: Item;
index: number;
diff: number;
};
}