UNPKG

abt-universal-search

Version:

Enterprise-grade Universal Search System with cross-platform compatibility, performance optimization, and security hardening

60 lines 2.33 kB
import { IVirtualScrollManager, VirtualScrollConfig, ViewportInfo, VisibleRange, VirtualScrollEvents, DynamicHeightConfig, SmoothScrollConfig, VirtualScrollPerformance, ItemAlignment } from '../types/Virtualization'; export declare class VirtualScrollManager<T = any> implements IVirtualScrollManager<T> { private items; private config; private dynamicHeightConfig; private smoothScrollConfig; private events; private scrollElement; private containerElement; private scrollState; private visibleRange; private heightCache; private offsetCache; private isScrolling; private scrollTimeout; private animationFrameId; private resizeObserver; private intersectionObserver; private performance; private lastFrameTime; private frameCount; private renderStartTime; constructor(config?: Partial<VirtualScrollConfig>, events?: VirtualScrollEvents<T>, dynamicHeightConfig?: Partial<DynamicHeightConfig>, smoothScrollConfig?: Partial<SmoothScrollConfig>); private initializeObservers; setItems(items: T[]): void; scrollTo(index: number, align?: ItemAlignment): void; scrollToOffset(offset: number): void; private smoothScrollTo; private applyEasing; private calculateScrollTop; getVisibleRange(): VisibleRange; updateViewport(viewport: ViewportInfo): void; private determineScrollDirection; private calculateScrollVelocity; private updateVisibleRange; private findItemIndex; getItemOffset(index: number): number; getItemHeight(index: number): number; private getEstimatedItemHeight; getTotalHeight(): number; resetCache(): void; getScrollElement(): HTMLElement | null; isItemVisible(index: number): boolean; setScrollElement(element: HTMLElement): void; setContainerElement(element: HTMLElement): void; private addScrollListeners; private removeScrollListeners; private handleScroll; private handleScrollStart; private handleScrollEnd; private startScrolling; private stopScrolling; private handleResize; private handleItemVisible; private measureItemHeight; private updatePerformanceMetrics; getPerformanceMetrics(): VirtualScrollPerformance; dispose(): void; } //# sourceMappingURL=VirtualScrollManager.d.ts.map