{"version":3,"file":"CodeView.d.ts","names":["SelectionWriteOptions","CodeViewDiffItem","CodeViewFileItem","CodeViewItem","CodeViewLayout","CodeViewScrollTarget","HunkSeparators","SelectedLineRange","SmoothScrollSettings","VirtualFileMetrics","VirtualWindowSpecs","WorkerPoolManager","FileOptions","FileDiffOptions","VirtualizedFile","VirtualizedFileDiff","VirtualizerConfig","AdvancedVirtualizedBaseItem","HTMLElement","CodeViewDiffItemContext","LAnnotation","CodeViewFileItemContext","CodeViewRenderedDiffItem","CodeViewRenderedFileItem","CodeViewRenderedItem","CodeViewLineSelection","CodeViewCoordinator","CodeViewScrollListener","CodeView","OverloadCallbackArgs","TCallback","TArgs","CallbackReturn","TReturn","OverloadFileCallbackArgs","TKey","NonNullable","OverloadDiffCallbackArgs","CodeViewOptionCallback","CODE_VIEW_DIFF_OPTION_KEYS","CodeViewDiffOptionKeys","CodeViewPassThroughOptions","Pick","CODE_VIEW_SHARED_CALLBACK_KEYS","CODE_VIEW_SELECTION_CALLBACK_KEYS","CodeViewSharedCallbackKeys","CodeViewSelectionCallbackKeys","CodeViewSharedCallbackOptions","CodeViewSelectionCallbackOptions","CodeViewOptions","Exclude","Partial"],"sources":["../../src/components/CodeView.d.ts"],"sourcesContent":["import type { SelectionWriteOptions } from '../managers/InteractionManager';\nimport type { CodeViewDiffItem, CodeViewFileItem, CodeViewItem, CodeViewLayout, CodeViewScrollTarget, HunkSeparators, SelectedLineRange, SmoothScrollSettings, VirtualFileMetrics, VirtualWindowSpecs } from '../types';\nimport type { WorkerPoolManager } from '../worker';\nimport type { FileOptions } from './File';\nimport type { FileDiffOptions } from './FileDiff';\nimport { VirtualizedFile } from './VirtualizedFile';\nimport { VirtualizedFileDiff } from './VirtualizedFileDiff';\nimport type { VirtualizerConfig } from './Virtualizer';\ninterface AdvancedVirtualizedBaseItem {\n    /** Current index of this record in the ordered items array. */\n    index: number;\n    /** Absolute top offset of this item inside the scroll content. */\n    top: number;\n    /** Total measured height reserved for this item. */\n    height: number;\n    /** Root <diffs-container> node currently mounted for this item, only exists\n     * when rendered. */\n    element: HTMLElement | undefined;\n    /** Last controlled version observed for this record. */\n    version: number | undefined;\n    /** Last CodeView option revision this item rendered with. */\n    renderedOptionsRevision: number;\n}\ninterface CodeViewDiffItemContext<LAnnotation> extends AdvancedVirtualizedBaseItem {\n    type: 'diff';\n    /** Latest item snapshot for this record. Controlled updates can replace it. */\n    item: CodeViewDiffItem<LAnnotation>;\n    /** Virtualized diff instance responsible for rendering this item. */\n    instance: VirtualizedFileDiff<LAnnotation>;\n}\ninterface CodeViewFileItemContext<LAnnotation> extends AdvancedVirtualizedBaseItem {\n    type: 'file';\n    /** Latest item snapshot for this record. Controlled updates can replace it. */\n    item: CodeViewFileItem<LAnnotation>;\n    /** Virtualized file instance responsible for rendering this item. */\n    instance: VirtualizedFile<LAnnotation>;\n}\nexport interface CodeViewRenderedDiffItem<LAnnotation> {\n    id: string;\n    type: 'diff';\n    item: CodeViewDiffItem<LAnnotation>;\n    version: number | undefined;\n    element: HTMLElement;\n    instance: VirtualizedFileDiff<LAnnotation>;\n}\nexport interface CodeViewRenderedFileItem<LAnnotation> {\n    id: string;\n    type: 'file';\n    item: CodeViewFileItem<LAnnotation>;\n    version: number | undefined;\n    element: HTMLElement;\n    instance: VirtualizedFile<LAnnotation>;\n}\nexport type CodeViewRenderedItem<LAnnotation> = CodeViewRenderedDiffItem<LAnnotation> | CodeViewRenderedFileItem<LAnnotation>;\nexport interface CodeViewLineSelection {\n    id: string;\n    range: SelectedLineRange;\n}\nexport interface CodeViewCoordinator<LAnnotation> {\n    hasHeaderRenderers: boolean;\n    hasAnnotationRenderer: boolean;\n    hasGutterRenderer: boolean;\n    onSnapshotChange(snapshot: CodeViewRenderedItem<LAnnotation>[] | undefined): void;\n}\nexport type CodeViewScrollListener<LAnnotation> = (scrollTop: number, viewer: CodeView<LAnnotation>) => void;\ntype OverloadCallbackArgs<TCallback> = TCallback extends (...args: infer TArgs) => unknown ? TArgs : never;\ntype CallbackReturn<TCallback> = TCallback extends (...args: never[]) => infer TReturn ? TReturn : never;\ntype OverloadFileCallbackArgs<LAnnotation, TKey extends keyof FileOptions<LAnnotation>> = OverloadCallbackArgs<NonNullable<FileOptions<LAnnotation>[TKey]>>;\ntype OverloadDiffCallbackArgs<LAnnotation, TKey extends keyof FileDiffOptions<LAnnotation>> = OverloadCallbackArgs<NonNullable<FileDiffOptions<LAnnotation>[TKey]>>;\ntype CodeViewOptionCallback<LAnnotation, TKey extends keyof FileOptions<LAnnotation> & keyof FileDiffOptions<LAnnotation>> = {\n    (...args: [\n        ...OverloadFileCallbackArgs<LAnnotation, TKey>,\n        context: CodeViewFileItemContext<LAnnotation>\n    ]): CallbackReturn<NonNullable<FileOptions<LAnnotation>[TKey]>>;\n    (...args: [\n        ...OverloadDiffCallbackArgs<LAnnotation, TKey>,\n        context: CodeViewDiffItemContext<LAnnotation>\n    ]): CallbackReturn<NonNullable<FileDiffOptions<LAnnotation>[TKey]>>;\n};\ndeclare const CODE_VIEW_DIFF_OPTION_KEYS: readonly [\"theme\", \"disableLineNumbers\", \"overflow\", \"themeType\", \"disableFileHeader\", \"disableVirtualizationBuffers\", \"preferredHighlighter\", \"useCSSClasses\", \"useTokenTransformer\", \"tokenizeMaxLineLength\", \"tokenizeMaxLength\", \"unsafeCSS\", \"diffStyle\", \"diffIndicators\", \"disableBackground\", \"expandUnchanged\", \"collapsedContextThreshold\", \"lineDiffType\", \"maxLineDiffLength\", \"expansionLineCount\", \"lineHoverHighlight\", \"enableTokenInteractionsOnWhitespace\", \"enableGutterUtility\", \"__debugPointerEvents\", \"enableLineSelection\", \"controlledSelection\", \"disableErrorHandling\"];\ntype CodeViewDiffOptionKeys = (typeof CODE_VIEW_DIFF_OPTION_KEYS)[number];\ntype CodeViewPassThroughOptions<LAnnotation> = Pick<FileDiffOptions<LAnnotation>, CodeViewDiffOptionKeys>;\ndeclare const CODE_VIEW_SHARED_CALLBACK_KEYS: readonly [\"renderCustomHeader\", \"renderHeaderPrefix\", \"renderHeaderMetadata\", \"renderAnnotation\", \"renderGutterUtility\", \"onPostRender\", \"onGutterUtilityClick\", \"onLineClick\", \"onLineNumberClick\", \"onLineEnter\", \"onLineLeave\", \"onTokenClick\", \"onTokenEnter\", \"onTokenLeave\"];\ndeclare const CODE_VIEW_SELECTION_CALLBACK_KEYS: readonly [\"onLineSelected\", \"onLineSelectionStart\", \"onLineSelectionChange\", \"onLineSelectionEnd\"];\ntype CodeViewSharedCallbackKeys = (typeof CODE_VIEW_SHARED_CALLBACK_KEYS)[number];\ntype CodeViewSelectionCallbackKeys = (typeof CODE_VIEW_SELECTION_CALLBACK_KEYS)[number];\ntype CodeViewSharedCallbackOptions<LAnnotation> = {\n    [TKey in CodeViewSharedCallbackKeys]?: CodeViewOptionCallback<LAnnotation, TKey>;\n};\ntype CodeViewSelectionCallbackOptions<LAnnotation> = {\n    [TKey in CodeViewSelectionCallbackKeys]?: CodeViewOptionCallback<LAnnotation, TKey>;\n};\nexport interface CodeViewOptions<LAnnotation> extends CodeViewPassThroughOptions<LAnnotation>, CodeViewSharedCallbackOptions<LAnnotation>, CodeViewSelectionCallbackOptions<LAnnotation> {\n    hunkSeparators?: Exclude<HunkSeparators, 'custom'>;\n    itemMetrics?: Partial<VirtualFileMetrics>;\n    pointerEventsOnScroll?: boolean;\n    smoothScrollSettings?: SmoothScrollSettings;\n    stickyHeaders?: boolean;\n    controlledSelection?: boolean;\n    onSelectedLinesChange?(selection: CodeViewLineSelection | null): void;\n    layout?: CodeViewLayout;\n    /** Internal dev-only check to ensure your `itemMetrics` are correct.  Its\n     * automatically disabled in a production build because it will hurt\n     * performance fairly significantly */\n    __devOnlyValidateItemHeights?: boolean;\n}\nexport declare class CodeView<LAnnotation = undefined> {\n    static __STOP: boolean;\n    static __lastScrollPosition: number;\n    type: \"advanced\";\n    readonly config: VirtualizerConfig;\n    private items;\n    private idToItem;\n    private selectedLines;\n    private instanceToItem;\n    private layoutDirtyIndex;\n    private pendingLayoutReset;\n    private renderOptionsRevision;\n    private slotCoordinator;\n    private slotSnapshot;\n    private scrollListeners;\n    private scrollHeight;\n    private containerHeight;\n    private scrollTop;\n    private scrollPageOffset;\n    private scrollDirty;\n    private scrollInteractionFixTimer;\n    private pointerEventsDisabled;\n    private codeOverflowFix;\n    private height;\n    private heightDirty;\n    private windowSpecs;\n    private renderState;\n    private itemMetricsCache;\n    private readonly fileOptionsPrototype;\n    private readonly diffOptionsPrototype;\n    private pendingScrollTarget;\n    private pendingLayoutAnchor;\n    private scrollAnimation;\n    private root;\n    private resizeObserver;\n    private container;\n    private stickyContainer;\n    private stickyOffset;\n    private elementPool;\n    private elementPoolVersion;\n    private elementPoolTracker;\n    private pendingElementPool;\n    private options;\n    private workerManager;\n    private isContainerManaged;\n    constructor(options?: CodeViewOptions<LAnnotation>, workerManager?: WorkerPoolManager | undefined, isContainerManaged?: boolean);\n    private getLayout;\n    private computeMetricsCache;\n    private getSmoothScrollSettings;\n    private shouldDisablePointerEvents;\n    private shouldValidateItemHeights;\n    private validateRenderedItemHeight;\n    private clearScrollInteractionTimer;\n    private suspendScrollInteractions;\n    private restoreScrollInteractions;\n    private syncLayout;\n    setup(root: HTMLElement): void;\n    reset(): void;\n    cleanUp(): void;\n    private cleanAllRenderedItems;\n    private primeScrollTarget;\n    private getElementPoolLimit;\n    private acquireElement;\n    private releaseRenderedItem;\n    private cleanElement;\n    private queueElementForPool;\n    private promotePendingPooledElements;\n    private isElementClean;\n    private getElementPoolSize;\n    private clearElementPool;\n    private invalidateElementPool;\n    private markElementPoolGenerationCurrent;\n    private isElementPoolGenerationCurrent;\n    private resolveEffectiveScrollBehavior;\n    scrollTo(target: CodeViewScrollTarget): void;\n    setSelectedLines(selection: CodeViewLineSelection | null, options?: SelectionWriteOptions): void;\n    getSelectedLines(): CodeViewLineSelection | null;\n    clearSelectedLines(options?: SelectionWriteOptions): void;\n    getItem(itemId: string): CodeViewItem<LAnnotation> | undefined;\n    updateItem(input: CodeViewItem<LAnnotation>): boolean;\n    updateItemId(oldId: string, newId: string): boolean;\n    addItem(input: CodeViewItem<LAnnotation>): void;\n    addItems(inputs: readonly CodeViewItem<LAnnotation>[]): void;\n    setItems(items: readonly CodeViewItem<LAnnotation>[]): void;\n    /**\n     * Append new records to the viewer while preserving existing layout state.\n     * This is the shared path for imperative adds and the append-only reconcile\n     * fast path, so it measures new items immediately and only triggers render\n     * once at the end.\n     */\n    private appendItemsInternal;\n    private canSkipRenderForAppend;\n    onThemeChange(): void;\n    setOptions(options: CodeViewOptions<LAnnotation> | undefined): void;\n    private capturePendingLayoutAnchor;\n    render(immediate?: boolean): void;\n    instanceChanged(instance: VirtualizedFile<LAnnotation> | VirtualizedFileDiff<LAnnotation>, layoutDirty: boolean): void;\n    getWindowSpecs(): VirtualWindowSpecs;\n    getContainerElement(): HTMLElement | undefined;\n    getRenderedItems(): CodeViewRenderedItem<LAnnotation>[];\n    setSlotCoordinator(coordinator?: CodeViewCoordinator<LAnnotation>): boolean;\n    getSlotSnapshot(coordinator: CodeViewCoordinator<LAnnotation>): CodeViewRenderedItem<LAnnotation>[] | undefined;\n    subscribeToScroll(listener: CodeViewScrollListener<LAnnotation>): () => void;\n    getLocalTopForInstance(instance: VirtualizedFile<LAnnotation> | VirtualizedFileDiff<LAnnotation>): number;\n    getTopForItem(id: string): number | undefined;\n    private createItem;\n    private applySelectedLines;\n    private syncSelection;\n    private renamePendingScrollTarget;\n    private renamePendingLayoutAnchor;\n    private createFileOptionsPrototype;\n    private createDiffOptionsPrototype;\n    private createFileOptions;\n    private createDiffOptions;\n    private updateItemOptionsId;\n    private getItemOptions;\n    private defineItemSharedCallback;\n    private defineItemSelectionCallback;\n    /**\n     * Track the earliest index whose measured layout may now be stale. Later\n     * render passes relayout from this point forward so we do not have to rebuild\n     * positions for the whole list after every change.\n     */\n    private markLayoutDirtyFromIndex;\n    /**\n     * Mark the earliest affected item as layout-dirty after an imperative change.\n     * Each record carries its current array index so this stays O(1) even when\n     * the viewer holds a very large number of items.\n     */\n    private markItemLayoutDirty;\n    /**\n     * Detect the common controlled-update case where the new list simply extends\n     * the existing ordered prefix. When that happens we can reuse every current\n     * record in place, sync any versioned payload changes, and append only the new\n     * tail instead of rebuilding the whole list.\n     */\n    private tryAppendItems;\n    /**\n     * Reconcile a new controlled item list against the existing records by id.\n     * This reuses records and instances when type matches, cleans up removed\n     * records, rebuilds the lookup maps, and marks layout dirty whenever order,\n     * membership, or versioned item data changes.\n     */\n    private reconcileItems;\n    /**\n     * Update a reused record from the latest controlled item only when its item\n     * version changes. Matching versions mean CodeView keeps the current record\n     * snapshot, which lets imperative updates remain in place until the caller\n     * intentionally publishes a newer version.\n     */\n    private syncItemRecord;\n    private getMaxScrollTopForHeight;\n    private getMaxScrollTop;\n    private shouldRebaseScroll;\n    private getPagedScrollHeight;\n    private getMaxPagedScrollTop;\n    private clampPagedScrollTop;\n    /**\n     * Clamps a logical scroll position to the min/max allowable scroll range\n     * based on the full computed content height.\n     */\n    private clampScrollTop;\n    private getMaxScrollPageOffset;\n    private clampScrollPageOffset;\n    private resolveScrollPageWindow;\n    /**\n     * Resolve how a logical scrollTop maps onto the reusable paged scroll window\n     * without mutating the current page offset.\n     */\n    private resolvePagedScrollPosition;\n    private needsScrollPageUpdate;\n    private getPagedLayoutTop;\n    private getStickyHeaderOffset;\n    private getScrollTargetRect;\n    private normalizeScrollTarget;\n    /**\n     * Resolve a target's scroll position\n  \n     * Returns `undefined` when we can't resolve a target for whatever reason\n     */\n    private resolveScrollTargetTop;\n    /**\n     * Given an existing scroll target (scroll top and height), figure out the\n     * correct scroll position to target based on the desired alignment, offset\n     * and stickyOffset if necessary\n     */\n    private resolveAlignedScrollPosition;\n    private getLineScrollPosition;\n    private getRangeScrollPosition;\n    /**\n     * Determine target scroll position for current frame.\n     *\n     * If there's no pendingScrollTarget then we just return the current scroll\n     * position\n     *\n     * If there's a pendingScrollTarget then we depend on whether there's a\n     * smooth scroll animation or not. If not just return the destination, or\n     * compute next position given the smooth scroll spring physics\n     */\n    private computeTargetScrollTopForFrame;\n    /**\n     * Closed-form critical-damped ODE step.\n     *\n     * Stable at any dt (Euler would blow up once ω·dt ≳ 1), so this survives\n     * big RAF gaps (tab-wake, offscreen frames) and resize-driven ticks that\n     * fire outside the normal RAF cadence.\n     */\n    private computeSpringStep;\n    /**\n     * For any given pendingScrollTarget, updates any in flight smooth scroll\n     * animations and returns the target scrollTop to move towards\n     *\n     * Resolves the animation based on frame time and adopts any necessary scroll\n     * anchoring corrections if necessary\n     */\n    private advanceScrollAnimation;\n    private computeRenderRangeAndEmit;\n    private flushManagers;\n    private syncContainerHeight;\n    private getStickyBounds;\n    private applyStickyPositioning;\n    private syncPagedScrollScaffolding;\n    private reconcileRenderedItems;\n    private updateStickyPositioning;\n    private handleScroll;\n    private clearPendingScroll;\n    private handleResize;\n    /**\n     * Figure out scrollTop accounting for sticky header if enabled and\n     * necessary\n     */\n    private getScrollAnchorViewportTop;\n    /**\n     * Attempt to find a scroll anchor based on build in metrics of the existing\n     * rendered files/diff.\n     *\n     * A scroll anchor represents the first fully visible element (in other\n     * words, the first file or first line who's top is fully in the viewport).\n     */\n    private getScrollAnchor;\n    /**\n     * Given a scroll anchor, attempt to resolve a newly updated (and clamped)\n     * scroll position to keep the anchored element in place.\n     *\n     * If we can't resolve a position for whatever reason, we'll return\n     * undefined.\n     */\n    private resolveAnchoredScrollTop;\n    /**\n     * Apply a device-pixel-rounded scroll position if it differs from the last\n     * logical scrollTop synchronized into the paged scroll scaffold.\n     */\n    private applyScrollFix;\n    /**\n     * Decide whether a pending programmatic scroll has reached its\n     * destination and should be cleared.\n     */\n    private isPendingTargetSettled;\n    getScrollTop(): number;\n    getHeight(): number;\n    getScrollHeight(): number;\n    private flushSlotCoordinator;\n    private notifyScroll;\n    /**\n     * Find the first item whose bottom edge crosses into the viewport window.\n     * This lets scroll-time rendering jump directly near the visible range instead\n     * of linearly scanning from the start of very large item lists.\n     */\n    private findFirstVisibleIndex;\n    /**\n     * Find the last item whose top edge is still within the viewport window.\n     * Paired with findFirstVisibleIndex, this bounds the render loop to only the\n     * slice of items that can actually intersect the current scroll range.\n     */\n    private findLastVisibleIndex;\n    /**\n     * Recompute measured tops and heights starting from the earliest dirty item.\n     * Earlier items keep their existing layout, while everything from startIndex\n     * onward is remeasured so downstream positions and total scroll height stay\n     * consistent after inserts, removals, or versioned item updates.\n     */\n    private recomputeLayout;\n    private resetRenderState;\n    private getFitPerfectlyOverscroll;\n}\nexport {};\n//# sourceMappingURL=CodeView.d.ts.map"],"mappings":"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"}