@pierre/diffs
Version:
76 lines (75 loc) • 3.22 kB
TypeScript
import { DiffLineAnnotation, ExpansionDirections, FileDiffMetadata, NumericScrollLineAnchor, PendingCodeViewLayoutReset, RenderWindow, SelectionSide, StickySpecs, ThemeTypes, VirtualFileMetrics } from "../types.js";
import { WorkerPoolManager } from "../worker/WorkerPoolManager.js";
import "../worker/index.js";
import { Virtualizer } from "./Virtualizer.js";
import { FileDiff, FileDiffOptions, FileDiffRenderProps } from "./FileDiff.js";
import { CodeView } from "./CodeView.js";
//#region src/components/VirtualizedFileDiff.d.ts
declare class VirtualizedFileDiff<LAnnotation = undefined> extends FileDiff<LAnnotation> {
readonly __id: string;
top: number | undefined;
height: number;
private metrics;
private cache;
private isVisible;
private isSetup;
private virtualizer;
private layoutDirty;
private forceRenderOverride;
private currentCollapsed;
constructor(options: FileDiffOptions<LAnnotation> | undefined, virtualizer: Virtualizer | CodeView<LAnnotation>, metrics?: Partial<VirtualFileMetrics>, workerManager?: WorkerPoolManager, isContainerManaged?: boolean);
setMetrics(metrics?: Partial<VirtualFileMetrics>, force?: boolean): void;
setLineAnnotations(lineAnnotations: DiffLineAnnotation<LAnnotation>[]): void;
private syncLineAnnotations;
private setFileAnnotationHeight;
private hasFileAnnotations;
private getLineHeight;
private getEstimatedLineHeight;
setOptions(options: FileDiffOptions<LAnnotation> | undefined): void;
setThemeType(themeType: ThemeTypes): void;
private resetLayoutCache;
reconcileHeights(): boolean;
onRender: (dirty: boolean) => boolean;
prepareCodeViewItem(fileDiff: FileDiffMetadata, top: number, reset?: PendingCodeViewLayoutReset, lineAnnotations?: DiffLineAnnotation<LAnnotation>[]): number;
getLinePosition(lineNumber: number, side?: SelectionSide): {
top: number;
height: number;
} | undefined;
getNumericScrollAnchor(localViewportTop: number): NumericScrollLineAnchor | undefined;
getVirtualizedHeight(): number;
getAdvancedStickySpecs(windowSpecs?: RenderWindow): StickySpecs | undefined;
cleanUp(recycle?: boolean): void;
expandHunk: (hunkIndex: number, direction: ExpansionDirections, expansionLineCountOverride?: number | undefined) => void;
setVisibility(visible: boolean): void;
rerender(): void;
private computeApproximateSize;
private getActiveEstimatedHeight;
private ensureEstimatedDiffHeights;
private validateComputedHeight;
render({
fileContainer,
oldFile,
newFile,
fileDiff,
forceRender,
lineAnnotations,
...props
}?: FileDiffRenderProps<LAnnotation>): boolean;
syncVirtualizedTop(): void;
protected shouldDisableVirtualizationBuffers(): boolean;
private isSimpleMode;
private isAdvancedMode;
private getVirtualizedTop;
private getSimpleVirtualizer;
private isResizeDebuggingEnabled;
private getDiffStyle;
private getHunkSeparatorType;
private approximateLayoutCheckpoints;
private getLayoutCheckpointBeforeLineIndex;
private getLayoutCheckpointBeforeTop;
private getExpandedLineCount;
private computeRenderRangeFromWindow;
}
//#endregion
export { VirtualizedFileDiff };
//# sourceMappingURL=VirtualizedFileDiff.d.ts.map