@pierre/diffs
Version:
1 lines • 26.4 kB
Source Map (JSON)
{"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 shouldFixContainerFocus;\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 validateStickyContainerHeight;\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 renderedItemOwnsFocus;\n private fixContainerFocus;\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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"}