@pierre/diffs 1.1.20 → 1.2.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/CodeView.d.ts +324 -0
- package/dist/components/CodeView.d.ts.map +1 -0
- package/dist/components/CodeView.js +1245 -0
- package/dist/components/CodeView.js.map +1 -0
- package/dist/components/File.d.ts +13 -12
- package/dist/components/File.d.ts.map +1 -1
- package/dist/components/File.js +68 -28
- package/dist/components/File.js.map +1 -1
- package/dist/components/FileDiff.d.ts +9 -10
- package/dist/components/FileDiff.d.ts.map +1 -1
- package/dist/components/FileDiff.js +57 -30
- package/dist/components/FileDiff.js.map +1 -1
- package/dist/components/FileStream.js +9 -3
- package/dist/components/FileStream.js.map +1 -1
- package/dist/components/UnresolvedFile.d.ts.map +1 -1
- package/dist/components/VirtualizedFile.d.ts +28 -5
- package/dist/components/VirtualizedFile.d.ts.map +1 -1
- package/dist/components/VirtualizedFile.js +225 -45
- package/dist/components/VirtualizedFile.js.map +1 -1
- package/dist/components/VirtualizedFileDiff.d.ts +28 -5
- package/dist/components/VirtualizedFileDiff.d.ts.map +1 -1
- package/dist/components/VirtualizedFileDiff.js +285 -49
- package/dist/components/VirtualizedFileDiff.js.map +1 -1
- package/dist/components/Virtualizer.d.ts +6 -3
- package/dist/components/Virtualizer.d.ts.map +1 -1
- package/dist/components/Virtualizer.js +4 -6
- package/dist/components/Virtualizer.js.map +1 -1
- package/dist/components/VirtulizerDevelopment.d.ts +2 -2
- package/dist/components/VirtulizerDevelopment.d.ts.map +1 -1
- package/dist/constants.d.ts +6 -2
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +17 -2
- package/dist/constants.js.map +1 -1
- package/dist/index.d.ts +6 -5
- package/dist/index.js +11 -10
- package/dist/managers/InteractionManager.d.ts +11 -7
- package/dist/managers/InteractionManager.d.ts.map +1 -1
- package/dist/managers/InteractionManager.js +38 -25
- package/dist/managers/InteractionManager.js.map +1 -1
- package/dist/managers/ResizeManager.d.ts +4 -4
- package/dist/managers/ResizeManager.d.ts.map +1 -1
- package/dist/managers/ResizeManager.js +89 -54
- package/dist/managers/ResizeManager.js.map +1 -1
- package/dist/managers/UniversalRenderingManager.d.ts +2 -1
- package/dist/managers/UniversalRenderingManager.d.ts.map +1 -1
- package/dist/managers/UniversalRenderingManager.js +13 -16
- package/dist/managers/UniversalRenderingManager.js.map +1 -1
- package/dist/react/CodeView.d.ts +45 -0
- package/dist/react/CodeView.d.ts.map +1 -0
- package/dist/react/CodeView.js +241 -0
- package/dist/react/CodeView.js.map +1 -0
- package/dist/react/File.d.ts +0 -1
- package/dist/react/File.d.ts.map +1 -1
- package/dist/react/File.js +2 -3
- package/dist/react/File.js.map +1 -1
- package/dist/react/FileDiff.d.ts +0 -1
- package/dist/react/FileDiff.d.ts.map +1 -1
- package/dist/react/FileDiff.js +3 -4
- package/dist/react/FileDiff.js.map +1 -1
- package/dist/react/MultiFileDiff.d.ts +0 -1
- package/dist/react/MultiFileDiff.d.ts.map +1 -1
- package/dist/react/MultiFileDiff.js +3 -4
- package/dist/react/MultiFileDiff.js.map +1 -1
- package/dist/react/PatchDiff.d.ts +0 -1
- package/dist/react/PatchDiff.d.ts.map +1 -1
- package/dist/react/PatchDiff.js +3 -4
- package/dist/react/PatchDiff.js.map +1 -1
- package/dist/react/UnresolvedFile.d.ts +0 -1
- package/dist/react/UnresolvedFile.d.ts.map +1 -1
- package/dist/react/UnresolvedFile.js +3 -4
- package/dist/react/UnresolvedFile.js.map +1 -1
- package/dist/react/constants.d.ts.map +1 -1
- package/dist/react/index.d.ts +3 -2
- package/dist/react/index.js +5 -4
- package/dist/react/types.d.ts +0 -8
- package/dist/react/types.d.ts.map +1 -1
- package/dist/react/utils/renderDiffChildren.d.ts +0 -2
- package/dist/react/utils/renderDiffChildren.d.ts.map +1 -1
- package/dist/react/utils/renderDiffChildren.js +3 -4
- package/dist/react/utils/renderDiffChildren.js.map +1 -1
- package/dist/react/utils/renderFileChildren.d.ts +0 -2
- package/dist/react/utils/renderFileChildren.d.ts.map +1 -1
- package/dist/react/utils/renderFileChildren.js +3 -4
- package/dist/react/utils/renderFileChildren.js.map +1 -1
- package/dist/react/utils/useFileDiffInstance.js +12 -7
- package/dist/react/utils/useFileDiffInstance.js.map +1 -1
- package/dist/react/utils/useFileInstance.js +12 -7
- package/dist/react/utils/useFileInstance.js.map +1 -1
- package/dist/react/utils/useUnresolvedFileInstance.js +6 -2
- package/dist/react/utils/useUnresolvedFileInstance.js.map +1 -1
- package/dist/renderers/DiffHunksRenderer.d.ts +2 -1
- package/dist/renderers/DiffHunksRenderer.d.ts.map +1 -1
- package/dist/renderers/DiffHunksRenderer.js +35 -20
- package/dist/renderers/DiffHunksRenderer.js.map +1 -1
- package/dist/renderers/FileRenderer.d.ts +2 -1
- package/dist/renderers/FileRenderer.d.ts.map +1 -1
- package/dist/renderers/FileRenderer.js +34 -20
- package/dist/renderers/FileRenderer.js.map +1 -1
- package/dist/ssr/index.d.ts +2 -2
- package/dist/ssr/preloadDiffs.js +1 -1
- package/dist/style.js +1 -1
- package/dist/style.js.map +1 -1
- package/dist/types.d.ts +98 -3
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/areManagedSnapshotsEqual.d.ts +7 -0
- package/dist/utils/areManagedSnapshotsEqual.d.ts.map +1 -0
- package/dist/utils/areManagedSnapshotsEqual.js +15 -0
- package/dist/utils/areManagedSnapshotsEqual.js.map +1 -0
- package/dist/utils/areOptionsEqual.d.ts +2 -1
- package/dist/utils/areOptionsEqual.d.ts.map +1 -1
- package/dist/utils/areOptionsEqual.js +1 -1
- package/dist/utils/areOptionsEqual.js.map +1 -1
- package/dist/utils/createFileHeaderElement.d.ts +3 -1
- package/dist/utils/createFileHeaderElement.d.ts.map +1 -1
- package/dist/utils/createFileHeaderElement.js +3 -2
- package/dist/utils/createFileHeaderElement.js.map +1 -1
- package/dist/utils/createWindowFromScrollPosition.d.ts +3 -3
- package/dist/utils/createWindowFromScrollPosition.d.ts.map +1 -1
- package/dist/utils/createWindowFromScrollPosition.js +6 -6
- package/dist/utils/createWindowFromScrollPosition.js.map +1 -1
- package/dist/utils/iterateOverDiff.d.ts +2 -1
- package/dist/utils/iterateOverDiff.d.ts.map +1 -1
- package/dist/utils/iterateOverDiff.js +135 -7
- package/dist/utils/iterateOverDiff.js.map +1 -1
- package/dist/utils/renderFileWithHighlighter.js +1 -1
- package/dist/utils/resolveVirtualFileMetrics.d.ts +4 -1
- package/dist/utils/resolveVirtualFileMetrics.d.ts.map +1 -1
- package/dist/utils/resolveVirtualFileMetrics.js +11 -1
- package/dist/utils/resolveVirtualFileMetrics.js.map +1 -1
- package/dist/utils/roundToDevicePixel.d.ts +14 -0
- package/dist/utils/roundToDevicePixel.d.ts.map +1 -0
- package/dist/utils/roundToDevicePixel.js +18 -0
- package/dist/utils/roundToDevicePixel.js.map +1 -0
- package/dist/worker/worker-portable.js +195 -14
- package/dist/worker/worker-portable.js.map +1 -1
- package/dist/worker/worker.js +146 -7
- package/dist/worker/worker.js.map +1 -1
- package/package.json +7 -1
- package/dist/components/AdvancedVirtualizedFileDiff.d.ts +0 -40
- package/dist/components/AdvancedVirtualizedFileDiff.d.ts.map +0 -1
- package/dist/components/AdvancedVirtualizedFileDiff.js +0 -140
- package/dist/components/AdvancedVirtualizedFileDiff.js.map +0 -1
- package/dist/components/AdvancedVirtualizer.d.ts +0 -38
- package/dist/components/AdvancedVirtualizer.d.ts.map +0 -1
- package/dist/components/AdvancedVirtualizer.js +0 -201
- package/dist/components/AdvancedVirtualizer.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileDiff.d.ts","names":["GetHoveredLineResult","GetLineIndexUtility","InteractionManager","InteractionManagerBaseOptions","SelectedLineRange","ResizeManager","ScrollSyncManager","DiffHunksRenderer","DiffHunksRendererOptions","HunksRenderResult","AppliedThemeStyleCache","BaseDiffOptions","CustomPreProperties","DiffLineAnnotation","ExpansionDirections","FileContents","FileDiffMetadata","HunkData","HunkSeparators","PrePropertiesConfig","RenderHeaderMetadataCallback","RenderHeaderPrefixCallback","RenderRange","ThemeTypes","WorkerPoolManager","FileDiffRenderProps","LAnnotation","HTMLElement","FileDiffHydrationProps","Omit","FileDiffOptions","Exclude","FileDiff","DocumentFragment","AnnotationElementCache","CustomHunkElementCache","HydrationSetup","SVGElement","HTMLPreElement","HTMLStyleElement","Map","__0","AnnotationSide","fileDiff","oldFile","newFile","lineAnnotations","forceRender","preventEmit","fileContainer","containerWrapper","renderRange","additionsContentAST","deletionsContentAST","totalLines"],"sources":["../../src/components/FileDiff.d.ts"],"sourcesContent":["import { type GetHoveredLineResult, type GetLineIndexUtility, InteractionManager, type InteractionManagerBaseOptions, type SelectedLineRange } from '../managers/InteractionManager';\nimport { ResizeManager } from '../managers/ResizeManager';\nimport { ScrollSyncManager } from '../managers/ScrollSyncManager';\nimport { DiffHunksRenderer, type DiffHunksRendererOptions, type HunksRenderResult } from '../renderers/DiffHunksRenderer';\nimport type { AppliedThemeStyleCache, BaseDiffOptions, CustomPreProperties, DiffLineAnnotation, ExpansionDirections, FileContents, FileDiffMetadata, HunkData, HunkSeparators, PrePropertiesConfig, RenderHeaderMetadataCallback, RenderHeaderPrefixCallback, RenderRange, ThemeTypes } from '../types';\nimport type { WorkerPoolManager } from '../worker';\nexport interface FileDiffRenderProps<LAnnotation> {\n fileDiff?: FileDiffMetadata;\n oldFile?: FileContents;\n newFile?: FileContents;\n forceRender?: boolean;\n preventEmit?: boolean;\n fileContainer?: HTMLElement;\n containerWrapper?: HTMLElement;\n lineAnnotations?: DiffLineAnnotation<LAnnotation>[];\n renderRange?: RenderRange;\n}\nexport interface FileDiffHydrationProps<LAnnotation> extends Omit<FileDiffRenderProps<LAnnotation>, 'fileContainer'> {\n fileContainer: HTMLElement;\n prerenderedHTML?: string;\n}\nexport interface FileDiffOptions<LAnnotation> extends Omit<BaseDiffOptions, 'hunkSeparators'>, InteractionManagerBaseOptions<'diff'> {\n hunkSeparators?: Exclude<HunkSeparators, 'custom'> /**\n * @deprecated Custom hunk separator functions are deprecated and will be\n * removed in a future version.\n */ | ((hunk: HunkData, instance: FileDiff<LAnnotation>) => HTMLElement | DocumentFragment | null | undefined);\n disableFileHeader?: boolean;\n /**\n * @deprecated Use `enableGutterUtility` instead.\n */\n enableHoverUtility?: boolean;\n renderHeaderPrefix?: RenderHeaderPrefixCallback;\n renderHeaderMetadata?: RenderHeaderMetadataCallback;\n renderCustomHeader?: RenderHeaderMetadataCallback;\n /**\n * When true, errors during rendering are rethrown instead of being caught\n * and displayed in the DOM. Useful for testing or when you want to handle\n * errors yourself.\n */\n disableErrorHandling?: boolean;\n renderAnnotation?(annotation: DiffLineAnnotation<LAnnotation>): HTMLElement | undefined;\n renderGutterUtility?(getHoveredRow: () => GetHoveredLineResult<'diff'> | undefined): HTMLElement | null | undefined;\n /**\n * @deprecated Use `renderGutterUtility` instead.\n */\n renderHoverUtility?(getHoveredRow: () => GetHoveredLineResult<'diff'> | undefined): HTMLElement | null | undefined;\n onPostRender?(node: HTMLElement, instance: FileDiff<LAnnotation>): unknown;\n}\ninterface AnnotationElementCache<LAnnotation> {\n element: HTMLElement;\n annotation: DiffLineAnnotation<LAnnotation>;\n}\ninterface CustomHunkElementCache {\n element: HTMLElement;\n hunkData: HunkData;\n}\ninterface HydrationSetup<LAnnotation> {\n fileDiff: FileDiffMetadata | undefined;\n lineAnnotations: DiffLineAnnotation<LAnnotation>[] | undefined;\n oldFile?: FileContents;\n newFile?: FileContents;\n}\nexport declare class FileDiff<LAnnotation = undefined> {\n options: FileDiffOptions<LAnnotation>;\n protected workerManager?: WorkerPoolManager | undefined;\n protected isContainerManaged: boolean;\n static LoadedCustomComponent: boolean;\n readonly __id: string;\n protected fileContainer: HTMLElement | undefined;\n protected spriteSVG: SVGElement | undefined;\n protected pre: HTMLPreElement | undefined;\n protected codeUnified: HTMLElement | undefined;\n protected codeDeletions: HTMLElement | undefined;\n protected codeAdditions: HTMLElement | undefined;\n protected bufferBefore: HTMLElement | undefined;\n protected bufferAfter: HTMLElement | undefined;\n protected themeCSSStyle: HTMLStyleElement | undefined;\n protected appliedThemeCSS: AppliedThemeStyleCache | undefined;\n protected unsafeCSSStyle: HTMLStyleElement | undefined;\n protected appliedUnsafeCSS: string | undefined;\n protected gutterUtilityContent: HTMLElement | undefined;\n protected headerElement: HTMLElement | undefined;\n protected headerPrefix: HTMLElement | undefined;\n protected headerMetadata: HTMLElement | undefined;\n protected headerCustom: HTMLElement | undefined;\n protected separatorCache: Map<string, CustomHunkElementCache>;\n protected errorWrapper: HTMLElement | undefined;\n protected placeHolder: HTMLElement | undefined;\n protected hunksRenderer: DiffHunksRenderer<LAnnotation>;\n protected resizeManager: ResizeManager;\n protected scrollSyncManager: ScrollSyncManager;\n protected interactionManager: InteractionManager<'diff'>;\n protected annotationCache: Map<string, AnnotationElementCache<LAnnotation>>;\n protected lineAnnotations: DiffLineAnnotation<LAnnotation>[];\n protected deletionFile: FileContents | undefined;\n protected additionFile: FileContents | undefined;\n protected fileDiff: FileDiffMetadata | undefined;\n protected renderRange: RenderRange | undefined;\n protected appliedPreAttributes: PrePropertiesConfig | undefined;\n protected lastRenderedHeaderHTML: string | undefined;\n protected lastRowCount: number | undefined;\n protected enabled: boolean;\n constructor(options?: FileDiffOptions<LAnnotation>, workerManager?: WorkerPoolManager | undefined, isContainerManaged?: boolean);\n protected handleHighlightRender: () => void;\n protected getHunksRendererOptions(options: FileDiffOptions<LAnnotation>): DiffHunksRendererOptions;\n protected createHunksRenderer(options: FileDiffOptions<LAnnotation>): DiffHunksRenderer<LAnnotation>;\n getLineIndex: GetLineIndexUtility;\n setOptions(options: FileDiffOptions<LAnnotation> | undefined): void;\n private mergeOptions;\n setThemeType(themeType: ThemeTypes): void;\n getHoveredLine: () => {\n lineNumber: number;\n side: import(\"..\").AnnotationSide;\n } | undefined;\n setLineAnnotations(lineAnnotations: DiffLineAnnotation<LAnnotation>[]): void;\n private canPartiallyRender;\n setSelectedLines(range: SelectedLineRange | null): void;\n cleanUp(recycle?: boolean): void;\n virtualizedSetup(): void;\n hydrate(props: FileDiffHydrationProps<LAnnotation>): void;\n protected hydrateElements(fileContainer: HTMLElement, prerenderedHTML: string | undefined): void;\n protected hydrationSetup({ fileDiff, oldFile, newFile, lineAnnotations }: HydrationSetup<LAnnotation>): void;\n rerender(): void;\n handleExpandHunk: (hunkIndex: number, direction: ExpansionDirections, expansionLineCountOverride?: number | undefined) => void;\n expandHunk: (hunkIndex: number, direction: ExpansionDirections, expansionLineCountOverride?: number | undefined) => void;\n render({ oldFile, newFile, fileDiff, forceRender, preventEmit, lineAnnotations, fileContainer, containerWrapper, renderRange }: FileDiffRenderProps<LAnnotation>): boolean;\n protected emitPostRender(): void;\n private removeRenderedCode;\n private clearAuxiliaryNodes;\n renderPlaceholder(height: number): boolean;\n private cleanChildNodes;\n private renderSeparators;\n protected renderAnnotations(): void;\n protected renderGutterUtility(): void;\n protected getOrCreateFileContainer(fileContainer?: HTMLElement, parentNode?: HTMLElement): HTMLElement;\n protected getFileContainer(): HTMLElement | undefined;\n private getOrCreatePreNode;\n protected syncCodeNodesFromPre(pre: HTMLPreElement): void;\n private applyHeaderToDOM;\n private clearHeaderSlots;\n private upsertHeaderSlotElement;\n private replaceHeaderSlotContent;\n private createHeaderSlotElement;\n protected injectUnsafeCSS(): void;\n private applyThemeState;\n private applyHunksToDOM;\n private applyPartialRender;\n private insertPartialHTML;\n private renderPartialColumn;\n private mergeBuffersIfNecessary;\n private applyRowSpan;\n private trimColumnRows;\n private trimColumns;\n private getBufferSize;\n private updateBufferSize;\n private getCodeColumns;\n private applyBuffers;\n protected applyPreNodeAttributes(pre: HTMLPreElement, { additionsContentAST, deletionsContentAST, totalLines }: HunksRenderResult, customProperties?: CustomPreProperties): void;\n private applyErrorToDOM;\n private cleanupErrorWrapper;\n}\nexport {};\n//# sourceMappingURL=FileDiff.d.ts.map"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"FileDiff.d.ts","names":["GetHoveredLineResult","GetLineIndexUtility","InteractionManager","InteractionManagerBaseOptions","SelectedLineRange","SelectionWriteOptions","ResizeManager","ScrollSyncManager","DiffHunksRenderer","DiffHunksRendererOptions","HunksRenderResult","AppliedThemeStyleCache","BaseDiffOptions","CustomPreProperties","DiffLineAnnotation","ExpansionDirections","FileContents","FileDiffMetadata","HunkData","HunkSeparators","PrePropertiesConfig","RenderHeaderMetadataCallback","RenderHeaderPrefixCallback","RenderRange","ThemeTypes","WorkerPoolManager","FileDiffRenderProps","LAnnotation","HTMLElement","FileDiffHydrationProps","Omit","FileDiffOptions","Exclude","FileDiff","DocumentFragment","AnnotationElementCache","CustomHunkElementCache","HydrationSetup","SVGElement","HTMLPreElement","HTMLStyleElement","Map","__0","AnnotationSide","fileDiff","oldFile","newFile","lineAnnotations","deferManagers","forceRender","preventEmit","fileContainer","containerWrapper","renderRange","additionsContentAST","deletionsContentAST","totalLines"],"sources":["../../src/components/FileDiff.d.ts"],"sourcesContent":["import { type GetHoveredLineResult, type GetLineIndexUtility, InteractionManager, type InteractionManagerBaseOptions, type SelectedLineRange, type SelectionWriteOptions } from '../managers/InteractionManager';\nimport { ResizeManager } from '../managers/ResizeManager';\nimport { ScrollSyncManager } from '../managers/ScrollSyncManager';\nimport { DiffHunksRenderer, type DiffHunksRendererOptions, type HunksRenderResult } from '../renderers/DiffHunksRenderer';\nimport type { AppliedThemeStyleCache, BaseDiffOptions, CustomPreProperties, DiffLineAnnotation, ExpansionDirections, FileContents, FileDiffMetadata, HunkData, HunkSeparators, PrePropertiesConfig, RenderHeaderMetadataCallback, RenderHeaderPrefixCallback, RenderRange, ThemeTypes } from '../types';\nimport type { WorkerPoolManager } from '../worker';\nexport interface FileDiffRenderProps<LAnnotation> {\n fileDiff?: FileDiffMetadata;\n oldFile?: FileContents;\n newFile?: FileContents;\n deferManagers?: boolean;\n forceRender?: boolean;\n preventEmit?: boolean;\n fileContainer?: HTMLElement;\n containerWrapper?: HTMLElement;\n lineAnnotations?: DiffLineAnnotation<LAnnotation>[];\n renderRange?: RenderRange;\n}\nexport interface FileDiffHydrationProps<LAnnotation> extends Omit<FileDiffRenderProps<LAnnotation>, 'fileContainer'> {\n fileContainer: HTMLElement;\n prerenderedHTML?: string;\n}\nexport interface FileDiffOptions<LAnnotation> extends Omit<BaseDiffOptions, 'hunkSeparators'>, InteractionManagerBaseOptions<'diff'> {\n hunkSeparators?: Exclude<HunkSeparators, 'custom'> /**\n * @deprecated Custom hunk separator functions are deprecated and will be\n * removed in a future version.\n */ | ((hunk: HunkData, instance: FileDiff<LAnnotation>) => HTMLElement | DocumentFragment | null | undefined);\n disableFileHeader?: boolean;\n renderHeaderPrefix?: RenderHeaderPrefixCallback;\n renderHeaderMetadata?: RenderHeaderMetadataCallback;\n renderCustomHeader?: RenderHeaderMetadataCallback;\n /**\n * When true, errors during rendering are rethrown instead of being caught\n * and displayed in the DOM. Useful for testing or when you want to handle\n * errors yourself.\n */\n disableErrorHandling?: boolean;\n renderAnnotation?(annotation: DiffLineAnnotation<LAnnotation>): HTMLElement | undefined;\n renderGutterUtility?(getHoveredRow: () => GetHoveredLineResult<'diff'> | undefined): HTMLElement | null | undefined;\n onPostRender?(node: HTMLElement, instance: FileDiff<LAnnotation>): unknown;\n}\ninterface AnnotationElementCache<LAnnotation> {\n element: HTMLElement;\n annotation: DiffLineAnnotation<LAnnotation>;\n}\ninterface CustomHunkElementCache {\n element: HTMLElement;\n hunkData: HunkData;\n}\ninterface HydrationSetup<LAnnotation> {\n fileDiff: FileDiffMetadata | undefined;\n lineAnnotations: DiffLineAnnotation<LAnnotation>[] | undefined;\n oldFile?: FileContents;\n newFile?: FileContents;\n}\nexport declare class FileDiff<LAnnotation = undefined> {\n options: FileDiffOptions<LAnnotation>;\n protected workerManager?: WorkerPoolManager | undefined;\n protected isContainerManaged: boolean;\n static LoadedCustomComponent: boolean;\n readonly __id: string;\n protected fileContainer: HTMLElement | undefined;\n protected spriteSVG: SVGElement | undefined;\n protected pre: HTMLPreElement | undefined;\n protected codeUnified: HTMLElement | undefined;\n protected codeDeletions: HTMLElement | undefined;\n protected codeAdditions: HTMLElement | undefined;\n protected bufferBefore: HTMLElement | undefined;\n protected bufferAfter: HTMLElement | undefined;\n protected themeCSSStyle: HTMLStyleElement | undefined;\n protected appliedThemeCSS: AppliedThemeStyleCache | undefined;\n protected unsafeCSSStyle: HTMLStyleElement | undefined;\n protected appliedUnsafeCSS: string | undefined;\n protected gutterUtilityContent: HTMLElement | undefined;\n protected headerElement: HTMLElement | undefined;\n protected headerPrefix: HTMLElement | undefined;\n protected headerMetadata: HTMLElement | undefined;\n protected headerCustom: HTMLElement | undefined;\n protected separatorCache: Map<string, CustomHunkElementCache>;\n protected errorWrapper: HTMLElement | undefined;\n protected placeHolder: HTMLElement | undefined;\n protected hunksRenderer: DiffHunksRenderer<LAnnotation>;\n protected resizeManager: ResizeManager;\n protected scrollSyncManager: ScrollSyncManager;\n protected interactionManager: InteractionManager<'diff'>;\n protected annotationCache: Map<string, AnnotationElementCache<LAnnotation>>;\n protected lineAnnotations: DiffLineAnnotation<LAnnotation>[];\n protected managersDirty: boolean;\n protected deletionFile: FileContents | undefined;\n protected additionFile: FileContents | undefined;\n protected fileDiff: FileDiffMetadata | undefined;\n protected renderRange: RenderRange | undefined;\n protected appliedPreAttributes: PrePropertiesConfig | undefined;\n protected lastRenderedHeaderHTML: string | undefined;\n protected lastRowCount: number | undefined;\n protected enabled: boolean;\n constructor(options?: FileDiffOptions<LAnnotation>, workerManager?: WorkerPoolManager | undefined, isContainerManaged?: boolean);\n protected handleHighlightRender: () => void;\n protected getHunksRendererOptions(options: FileDiffOptions<LAnnotation>): DiffHunksRendererOptions;\n protected createHunksRenderer(options: FileDiffOptions<LAnnotation>): DiffHunksRenderer<LAnnotation>;\n getLineIndex: GetLineIndexUtility;\n setOptions(options: FileDiffOptions<LAnnotation> | undefined): void;\n private mergeOptions;\n setThemeType(themeType: ThemeTypes): void;\n private applyCachedThemeState;\n private hasThemeChanged;\n getHoveredLine: () => {\n lineNumber: number;\n side: import(\"..\").AnnotationSide;\n } | undefined;\n setLineAnnotations(lineAnnotations: DiffLineAnnotation<LAnnotation>[]): void;\n private canPartiallyRender;\n setSelectedLines(range: SelectedLineRange | null, options?: SelectionWriteOptions): void;\n flushManagers(): void;\n cleanUp(recycle?: boolean): void;\n virtualizedSetup(): void;\n hydrate(props: FileDiffHydrationProps<LAnnotation>): void;\n protected hydrateElements(fileContainer: HTMLElement, prerenderedHTML: string | undefined): void;\n protected hydrationSetup({ fileDiff, oldFile, newFile, lineAnnotations }: HydrationSetup<LAnnotation>): void;\n rerender(): void;\n handleExpandHunk: (hunkIndex: number, direction: ExpansionDirections, expansionLineCountOverride?: number | undefined) => void;\n expandHunk: (hunkIndex: number, direction: ExpansionDirections, expansionLineCountOverride?: number | undefined) => void;\n render({ oldFile, newFile, fileDiff, deferManagers, forceRender, preventEmit, lineAnnotations, fileContainer, containerWrapper, renderRange }: FileDiffRenderProps<LAnnotation>): boolean;\n protected emitPostRender(): void;\n private removeRenderedCode;\n private clearAuxiliaryNodes;\n renderPlaceholder(height: number): boolean;\n private cleanChildNodes;\n private renderSeparators;\n protected renderAnnotations(): void;\n protected renderGutterUtility(): void;\n protected getOrCreateFileContainer(fileContainer?: HTMLElement, parentNode?: HTMLElement): HTMLElement;\n protected getFileContainer(): HTMLElement | undefined;\n private getOrCreatePreNode;\n protected syncCodeNodesFromPre(pre: HTMLPreElement): void;\n private applyHeaderToDOM;\n private clearHeaderSlots;\n private upsertHeaderSlotElement;\n private replaceHeaderSlotContent;\n private createHeaderSlotElement;\n protected injectUnsafeCSS(): void;\n private applyThemeState;\n private applyHunksToDOM;\n private applyPartialRender;\n private insertPartialHTML;\n private renderPartialColumn;\n private mergeBuffersIfNecessary;\n private applyRowSpan;\n private trimColumnRows;\n private trimColumns;\n private getBufferSize;\n private updateBufferSize;\n private getCodeColumns;\n private applyBuffers;\n protected shouldDisableVirtualizationBuffers(): boolean;\n protected applyPreNodeAttributes(pre: HTMLPreElement, { additionsContentAST, deletionsContentAST, totalLines }: HunksRenderResult, customProperties?: CustomPreProperties): void;\n private applyErrorToDOM;\n private cleanupErrorWrapper;\n}\nexport {};\n//# sourceMappingURL=FileDiff.d.ts.map"],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import { CUSTOM_HEADER_SLOT_ID, DEFAULT_THEMES, DIFFS_TAG_NAME, EMPTY_RENDER_RAN
|
|
|
2
2
|
import { InteractionManager, pluckInteractionOptions } from "../managers/InteractionManager.js";
|
|
3
3
|
import { ResizeManager } from "../managers/ResizeManager.js";
|
|
4
4
|
import { areRenderRangesEqual } from "../utils/areRenderRangesEqual.js";
|
|
5
|
+
import { areThemesEqual } from "../utils/areThemesEqual.js";
|
|
5
6
|
import { getLineAnnotationName } from "../utils/getLineAnnotationName.js";
|
|
6
7
|
import { SVGSpriteSheet } from "../sprite.js";
|
|
7
8
|
import { areFilesEqual } from "../utils/areFilesEqual.js";
|
|
@@ -15,11 +16,11 @@ import { upsertHostThemeStyle } from "../utils/hostTheme.js";
|
|
|
15
16
|
import { prerenderHTMLIfNecessary } from "../utils/prerenderHTMLIfNecessary.js";
|
|
16
17
|
import { setPreNodeProperties } from "../utils/setWrapperNodeProps.js";
|
|
17
18
|
import { DiffsContainerLoaded } from "./web-components.js";
|
|
19
|
+
import { parseDiffFromFile } from "../utils/parseDiffFromFile.js";
|
|
18
20
|
import { ScrollSyncManager } from "../managers/ScrollSyncManager.js";
|
|
19
21
|
import { DiffHunksRenderer } from "../renderers/DiffHunksRenderer.js";
|
|
20
22
|
import { areDiffLineAnnotationsEqual } from "../utils/areDiffLineAnnotationsEqual.js";
|
|
21
23
|
import { areHunkDataEqual } from "../utils/areHunkDataEqual.js";
|
|
22
|
-
import { parseDiffFromFile } from "../utils/parseDiffFromFile.js";
|
|
23
24
|
import { toHtml } from "hast-util-to-html";
|
|
24
25
|
|
|
25
26
|
//#region src/components/FileDiff.ts
|
|
@@ -53,6 +54,7 @@ var FileDiff = class {
|
|
|
53
54
|
interactionManager;
|
|
54
55
|
annotationCache = /* @__PURE__ */ new Map();
|
|
55
56
|
lineAnnotations = [];
|
|
57
|
+
managersDirty = false;
|
|
56
58
|
deletionFile;
|
|
57
59
|
additionFile;
|
|
58
60
|
fileDiff;
|
|
@@ -153,8 +155,17 @@ var FileDiff = class {
|
|
|
153
155
|
setThemeType(themeType) {
|
|
154
156
|
if ((this.options.themeType ?? "system") === themeType) return;
|
|
155
157
|
this.mergeOptions({ themeType });
|
|
156
|
-
|
|
158
|
+
this.applyCachedThemeState(themeType);
|
|
159
|
+
}
|
|
160
|
+
applyCachedThemeState(themeType) {
|
|
161
|
+
if (typeof this.options.theme === "string" || this.fileContainer == null || this.appliedThemeCSS == null) return false;
|
|
162
|
+
const effectiveThemeType = this.appliedThemeCSS.baseThemeType ?? themeType;
|
|
163
|
+
if (this.appliedThemeCSS.themeType === effectiveThemeType) return false;
|
|
157
164
|
this.applyThemeState(this.fileContainer, this.appliedThemeCSS.themeStyles, themeType, this.appliedThemeCSS.baseThemeType);
|
|
165
|
+
return true;
|
|
166
|
+
}
|
|
167
|
+
hasThemeChanged() {
|
|
168
|
+
return this.appliedThemeCSS != null && !areThemesEqual(this.appliedThemeCSS.theme, this.options.theme ?? DEFAULT_THEMES);
|
|
158
169
|
}
|
|
159
170
|
getHoveredLine = () => {
|
|
160
171
|
return this.interactionManager.getHoveredLine();
|
|
@@ -166,22 +177,33 @@ var FileDiff = class {
|
|
|
166
177
|
if (forceRender || annotationsChanged || didContentChange || typeof this.options.hunkSeparators === "function") return false;
|
|
167
178
|
return true;
|
|
168
179
|
}
|
|
169
|
-
setSelectedLines(range) {
|
|
170
|
-
this.interactionManager.setSelection(range);
|
|
180
|
+
setSelectedLines(range, options) {
|
|
181
|
+
this.interactionManager.setSelection(range, options);
|
|
182
|
+
}
|
|
183
|
+
flushManagers() {
|
|
184
|
+
if (!this.managersDirty || this.pre == null) {
|
|
185
|
+
this.managersDirty = false;
|
|
186
|
+
return;
|
|
187
|
+
}
|
|
188
|
+
const { diffStyle = "split", overflow = "scroll" } = this.options;
|
|
189
|
+
this.interactionManager.setup(this.pre);
|
|
190
|
+
this.resizeManager.setup(this.pre, overflow === "wrap");
|
|
191
|
+
if (overflow === "scroll" && diffStyle === "split") this.scrollSyncManager.setup(this.pre, this.codeDeletions, this.codeAdditions);
|
|
192
|
+
else this.scrollSyncManager.cleanUp();
|
|
193
|
+
this.managersDirty = false;
|
|
171
194
|
}
|
|
172
195
|
cleanUp(recycle = false) {
|
|
173
196
|
this.resizeManager.cleanUp();
|
|
174
197
|
this.interactionManager.cleanUp();
|
|
175
198
|
this.scrollSyncManager.cleanUp();
|
|
199
|
+
this.managersDirty = false;
|
|
176
200
|
this.workerManager?.unsubscribeToThemeChanges(this);
|
|
177
201
|
this.renderRange = void 0;
|
|
178
202
|
if (!this.isContainerManaged) this.fileContainer?.remove();
|
|
179
|
-
if (this.fileContainer?.shadowRoot != null) this.fileContainer.shadowRoot.innerHTML = "";
|
|
180
203
|
this.fileContainer = void 0;
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
}
|
|
204
|
+
this.lineAnnotations = [];
|
|
205
|
+
this.annotationCache.clear();
|
|
206
|
+
this.pre = void 0;
|
|
185
207
|
this.codeUnified = void 0;
|
|
186
208
|
this.codeDeletions = void 0;
|
|
187
209
|
this.codeAdditions = void 0;
|
|
@@ -276,7 +298,6 @@ var FileDiff = class {
|
|
|
276
298
|
this.fileContainer = fileContainer;
|
|
277
299
|
}
|
|
278
300
|
hydrationSetup({ fileDiff, oldFile, newFile, lineAnnotations }) {
|
|
279
|
-
const { diffStyle = "split", overflow = "scroll" } = this.options;
|
|
280
301
|
this.lineAnnotations = lineAnnotations ?? this.lineAnnotations;
|
|
281
302
|
this.additionFile = newFile;
|
|
282
303
|
this.deletionFile = oldFile;
|
|
@@ -286,9 +307,8 @@ var FileDiff = class {
|
|
|
286
307
|
this.renderAnnotations();
|
|
287
308
|
this.renderGutterUtility();
|
|
288
309
|
this.injectUnsafeCSS();
|
|
289
|
-
this.
|
|
290
|
-
this.
|
|
291
|
-
if (overflow === "scroll" && diffStyle === "split") this.scrollSyncManager.setup(this.pre, this.codeDeletions, this.codeAdditions);
|
|
310
|
+
this.managersDirty = true;
|
|
311
|
+
this.flushManagers();
|
|
292
312
|
}
|
|
293
313
|
rerender() {
|
|
294
314
|
if (!this.enabled || this.fileDiff == null && this.additionFile == null && this.deletionFile == null) return;
|
|
@@ -304,14 +324,15 @@ var FileDiff = class {
|
|
|
304
324
|
this.hunksRenderer.expandHunk(hunkIndex, direction, expansionLineCountOverride);
|
|
305
325
|
this.rerender();
|
|
306
326
|
};
|
|
307
|
-
render({ oldFile, newFile, fileDiff, forceRender = false, preventEmit = false, lineAnnotations, fileContainer, containerWrapper, renderRange }) {
|
|
327
|
+
render({ oldFile, newFile, fileDiff, deferManagers = false, forceRender = false, preventEmit = false, lineAnnotations, fileContainer, containerWrapper, renderRange }) {
|
|
308
328
|
if (!this.enabled) throw new Error("FileDiff.render: attempting to call render after cleaned up");
|
|
309
|
-
const { collapsed = false } = this.options;
|
|
329
|
+
const { collapsed = false, themeType = "system" } = this.options;
|
|
310
330
|
const nextRenderRange = collapsed ? void 0 : renderRange;
|
|
331
|
+
const themeChanged = this.hasThemeChanged();
|
|
311
332
|
const filesDidChange = oldFile != null && newFile != null && (!areFilesEqual(oldFile, this.deletionFile) || !areFilesEqual(newFile, this.additionFile));
|
|
312
333
|
let diffDidChange = fileDiff != null && fileDiff !== this.fileDiff;
|
|
313
334
|
const annotationsChanged = lineAnnotations != null && (lineAnnotations.length > 0 || this.lineAnnotations.length > 0) ? lineAnnotations !== this.lineAnnotations : false;
|
|
314
|
-
if (!collapsed && areRenderRangesEqual(nextRenderRange, this.renderRange) && !forceRender && !annotationsChanged && (fileDiff != null && fileDiff === this.fileDiff || fileDiff == null && !filesDidChange)) return
|
|
335
|
+
if (!collapsed && areRenderRangesEqual(nextRenderRange, this.renderRange) && !forceRender && !annotationsChanged && !themeChanged && (fileDiff != null && fileDiff === this.fileDiff || fileDiff == null && !filesDidChange)) return this.applyCachedThemeState(themeType);
|
|
315
336
|
const { renderRange: previousRenderRange } = this;
|
|
316
337
|
this.renderRange = nextRenderRange;
|
|
317
338
|
this.deletionFile = oldFile;
|
|
@@ -325,7 +346,7 @@ var FileDiff = class {
|
|
|
325
346
|
if (this.fileDiff == null) return false;
|
|
326
347
|
this.hunksRenderer.setOptions(this.getHunksRendererOptions(this.options));
|
|
327
348
|
this.hunksRenderer.setLineAnnotations(this.lineAnnotations);
|
|
328
|
-
const {
|
|
349
|
+
const { disableErrorHandling = false, disableFileHeader = false } = this.options;
|
|
329
350
|
if (disableFileHeader) {
|
|
330
351
|
if (this.headerElement != null) {
|
|
331
352
|
this.headerElement.remove();
|
|
@@ -335,6 +356,7 @@ var FileDiff = class {
|
|
|
335
356
|
this.clearHeaderSlots();
|
|
336
357
|
}
|
|
337
358
|
fileContainer = this.getOrCreateFileContainer(fileContainer, containerWrapper);
|
|
359
|
+
this.applyCachedThemeState(themeType);
|
|
338
360
|
if (collapsed) {
|
|
339
361
|
this.removeRenderedCode();
|
|
340
362
|
this.clearAuxiliaryNodes();
|
|
@@ -354,7 +376,7 @@ var FileDiff = class {
|
|
|
354
376
|
}
|
|
355
377
|
try {
|
|
356
378
|
const pre = this.getOrCreatePreNode(fileContainer);
|
|
357
|
-
if (!(this.canPartiallyRender(forceRender, annotationsChanged, filesDidChange || diffDidChange) && this.applyPartialRender({
|
|
379
|
+
if (!(this.canPartiallyRender(forceRender, annotationsChanged, filesDidChange || diffDidChange || themeChanged) && this.applyPartialRender({
|
|
358
380
|
previousRenderRange,
|
|
359
381
|
renderRange: nextRenderRange
|
|
360
382
|
}))) {
|
|
@@ -376,10 +398,8 @@ var FileDiff = class {
|
|
|
376
398
|
this.injectUnsafeCSS();
|
|
377
399
|
this.renderAnnotations();
|
|
378
400
|
this.renderGutterUtility();
|
|
379
|
-
this.
|
|
380
|
-
this.
|
|
381
|
-
if (overflow === "scroll" && diffStyle === "split") this.scrollSyncManager.setup(pre, this.codeDeletions, this.codeAdditions);
|
|
382
|
-
else this.scrollSyncManager.cleanUp();
|
|
401
|
+
this.managersDirty = true;
|
|
402
|
+
if (!deferManagers) this.flushManagers();
|
|
383
403
|
} catch (error) {
|
|
384
404
|
if (disableErrorHandling) throw error;
|
|
385
405
|
console.error(error);
|
|
@@ -532,7 +552,7 @@ var FileDiff = class {
|
|
|
532
552
|
}
|
|
533
553
|
}
|
|
534
554
|
renderGutterUtility() {
|
|
535
|
-
const renderGutterUtility = this.options
|
|
555
|
+
const { renderGutterUtility } = this.options;
|
|
536
556
|
if (this.fileContainer == null || renderGutterUtility == null) {
|
|
537
557
|
this.gutterUtilityContent?.remove();
|
|
538
558
|
this.gutterUtilityContent = void 0;
|
|
@@ -683,13 +703,19 @@ var FileDiff = class {
|
|
|
683
703
|
applyThemeState(container, themeStyles, themeType, baseThemeType) {
|
|
684
704
|
const shadowRoot = container.shadowRoot ?? container.attachShadow({ mode: "open" });
|
|
685
705
|
const effectiveThemeType = baseThemeType ?? themeType;
|
|
686
|
-
|
|
706
|
+
const currentTheme = this.options.theme ?? DEFAULT_THEMES;
|
|
707
|
+
const theme = typeof currentTheme === "string" ? currentTheme : { ...currentTheme };
|
|
708
|
+
if (this.themeCSSStyle?.parentNode === shadowRoot && this.appliedThemeCSS?.themeStyles === themeStyles && this.appliedThemeCSS.themeType === effectiveThemeType) {
|
|
709
|
+
this.appliedThemeCSS.theme = theme;
|
|
710
|
+
return;
|
|
711
|
+
}
|
|
687
712
|
this.themeCSSStyle = upsertHostThemeStyle({
|
|
688
713
|
shadowRoot,
|
|
689
714
|
currentNode: this.themeCSSStyle,
|
|
690
715
|
themeCSS: wrapThemeCSS(themeStyles, effectiveThemeType)
|
|
691
716
|
});
|
|
692
717
|
this.appliedThemeCSS = this.themeCSSStyle != null ? {
|
|
718
|
+
theme,
|
|
693
719
|
themeStyles,
|
|
694
720
|
themeType: effectiveThemeType,
|
|
695
721
|
baseThemeType
|
|
@@ -953,6 +979,7 @@ var FileDiff = class {
|
|
|
953
979
|
rowCount += totalRows;
|
|
954
980
|
}
|
|
955
981
|
preTrimCount -= rowsToRemove;
|
|
982
|
+
if (preTrimCount === 0 && newSize === 0) pendingMetadataTrim = true;
|
|
956
983
|
} else if (hasPostTrim) {
|
|
957
984
|
const bufferStart = visibleLineIndex;
|
|
958
985
|
const bufferEnd = visibleLineIndex + totalRows - 1;
|
|
@@ -1030,8 +1057,7 @@ var FileDiff = class {
|
|
|
1030
1057
|
}
|
|
1031
1058
|
}
|
|
1032
1059
|
applyBuffers(pre, renderRange) {
|
|
1033
|
-
|
|
1034
|
-
if (disableVirtualizationBuffers || renderRange == null) {
|
|
1060
|
+
if (renderRange == null || this.shouldDisableVirtualizationBuffers()) {
|
|
1035
1061
|
if (this.bufferBefore != null) {
|
|
1036
1062
|
this.bufferBefore.remove();
|
|
1037
1063
|
this.bufferBefore = void 0;
|
|
@@ -1067,6 +1093,9 @@ var FileDiff = class {
|
|
|
1067
1093
|
this.bufferAfter = void 0;
|
|
1068
1094
|
}
|
|
1069
1095
|
}
|
|
1096
|
+
shouldDisableVirtualizationBuffers() {
|
|
1097
|
+
return this.options.disableVirtualizationBuffers ?? false;
|
|
1098
|
+
}
|
|
1070
1099
|
applyPreNodeAttributes(pre, { additionsContentAST, deletionsContentAST, totalLines }, customProperties) {
|
|
1071
1100
|
const { diffIndicators = "bars", disableBackground = false, disableLineNumbers = false, overflow = "scroll", diffStyle = "split" } = this.options;
|
|
1072
1101
|
const preProperties = {
|
|
@@ -1085,15 +1114,13 @@ var FileDiff = class {
|
|
|
1085
1114
|
}
|
|
1086
1115
|
applyErrorToDOM(error, container) {
|
|
1087
1116
|
this.cleanupErrorWrapper();
|
|
1088
|
-
|
|
1089
|
-
pre.innerHTML = "";
|
|
1090
|
-
pre.remove();
|
|
1117
|
+
this.pre?.remove();
|
|
1091
1118
|
this.pre = void 0;
|
|
1092
1119
|
this.appliedPreAttributes = void 0;
|
|
1093
1120
|
const shadowRoot = container.shadowRoot ?? container.attachShadow({ mode: "open" });
|
|
1094
1121
|
this.errorWrapper ??= document.createElement("div");
|
|
1095
1122
|
this.errorWrapper.dataset.errorWrapper = "";
|
|
1096
|
-
this.errorWrapper.
|
|
1123
|
+
this.errorWrapper.textContent = "";
|
|
1097
1124
|
shadowRoot.appendChild(this.errorWrapper);
|
|
1098
1125
|
const errorMessage = document.createElement("div");
|
|
1099
1126
|
errorMessage.dataset.errorMessage = "";
|