{"version":3,"file":"Virtualizer.d.ts","names":["VirtualWindowSpecs","SubscribedInstance","VirtualizerConfig","Virtualizer","Partial","HTMLElement","Document","Element"],"sources":["../../src/components/Virtualizer.d.ts"],"sourcesContent":["import type { VirtualWindowSpecs } from '../types';\ninterface SubscribedInstance {\n    onRender(dirty: boolean): boolean;\n    reconcileHeights(): boolean;\n    setVisibility(visible: boolean): void;\n}\nexport interface VirtualizerConfig {\n    /** Extra pixels rendered above and below the viewport to reduce blanking during fast scrolls. */\n    overscrollSize: number;\n    /** Margin used by IntersectionObserver to decide when items should be considered visible. */\n    intersectionObserverMargin: number;\n    /** Enables noisy resize logs to help tune metrics and investigate scroll jitter. */\n    resizeDebugging: boolean;\n}\nexport declare class Virtualizer {\n    static __STOP: boolean;\n    static __lastScrollPosition: number;\n    readonly __id: string;\n    readonly config: VirtualizerConfig;\n    type: \"simple\";\n    private intersectionObserver;\n    private scrollTop;\n    private height;\n    private scrollHeight;\n    private windowSpecs;\n    private root;\n    private contentContainer;\n    private resizeObserver;\n    private observers;\n    private visibleInstances;\n    private visibleInstancesDirty;\n    private instancesChanged;\n    private scrollDirty;\n    private heightDirty;\n    private scrollHeightDirty;\n    private renderedObservers;\n    private connectQueue;\n    constructor(config?: Partial<VirtualizerConfig>);\n    setup(root: HTMLElement | Document, contentContainer?: Element): void;\n    instanceChanged(instance: SubscribedInstance, domDirty: boolean): void;\n    getWindowSpecs(): VirtualWindowSpecs;\n    isInstanceVisible(elementTop: number, elementHeight: number): boolean;\n    private handleContainerResize;\n    private setupWindow;\n    private setupElement;\n    cleanUp(): void;\n    getOffsetInScrollContainer(element: HTMLElement): number;\n    connect(container: HTMLElement, instance: SubscribedInstance): () => void;\n    disconnect(container: HTMLElement): void;\n    private handleWindowResize;\n    private handleWindowScroll;\n    private handleElementScroll;\n    private computeRenderRangeAndEmit;\n    private scrollFix;\n    private applyScrollFix;\n    private getScrollAnchor;\n    private handleIntersectionChange;\n    private getScrollTop;\n    private getScrollHeight;\n    private getHeight;\n    private markDOMDirty;\n    private getScrollContainerElement;\n}\nexport {};\n//# sourceMappingURL=Virtualizer.d.ts.map"],"mappings":";;;UACUC,kBAAAA;;EAAAA,gBAAAA,EAAAA,EAAAA,OAAkB;EAKXC,aAAAA,CAAAA,OAAiB,EAAA,OAAA,CAAA,EAAA,IAAA;AAQlC;AAIqBA,UAZJA,iBAAAA,CAYIA;EAmBYA;EAARE,cAAAA,EAAAA,MAAAA;EACTC;EAAcC,0BAAAA,EAAAA,MAAAA;EAA6BC;EAC7BN,eAAAA,EAAAA,OAAAA;;AAOUI,cAhCnBF,WAAAA,CAgCmBE;EACjBA,OAAAA,MAAAA,EAAAA,OAAAA;EAAuBJ,OAAAA,oBAAAA,EAAAA,MAAAA;EACpBI,SAAAA,IAAAA,EAAAA,MAAAA;EAAW,SAAA,MAAA,EA9BhBH,iBA8BgB;;;;;;;;;;;;;;;;;;;uBAXZE,QAAQF;cACjBG,cAAcC,6BAA6BC;4BAC7BN;oBACRD;;;;;;sCAMkBK;qBACjBA,uBAAuBJ;wBACpBI"}