UNPKG

react-dynamic-virtual-tree

Version:

Library for visualizing nested lists with dynamically changing sizes.

32 lines (31 loc) 1.23 kB
import { Listener } from "./listener"; import { Layer, ListItem } from "./index"; export type ItemCompareFunction = (item: ListItem) => boolean; export type SliceItem = { item: ListItem; top: number; compare: ItemCompareFunction; }; export type MarkupItem = [number, ListItem, ItemCompareFunction]; export type VirtualTreeLayerItem = { listItem: ListItem; layer: Layer; }; export type VirtualTreeLayer = Array<VirtualTreeLayerItem>; export declare class VirtualTree extends Listener { private markup; private totalHeight; private lastSlice; private flatListItem; getSlice(start: number, end: number): SliceItem[]; update(rootListItem: ListItem, id?: string): void; getTotalHeight(): number; onVirtualTree(callback: (result: [VirtualTreeLayerItem, () => void]) => void): void; pushNewVirtualTree(result: [VirtualTreeLayerItem, () => void]): void; onUpdate(callback: (id?: string) => void): () => void; onReady(callback: () => void): () => void; ready(): void; onOffset(callback: (arr: [number, number]) => void): () => void; pushOffset(slice: [number, number]): void; getOffset(scrollTop: number, height: number, overScan?: number): [number, number]; }