@pierre/diffs 1.1.4 → 1.1.6

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.
Files changed (131) hide show
  1. package/dist/components/File.d.ts +21 -1
  2. package/dist/components/File.d.ts.map +1 -1
  3. package/dist/components/File.js +142 -70
  4. package/dist/components/File.js.map +1 -1
  5. package/dist/components/FileDiff.d.ts +26 -5
  6. package/dist/components/FileDiff.d.ts.map +1 -1
  7. package/dist/components/FileDiff.js +143 -89
  8. package/dist/components/FileDiff.js.map +1 -1
  9. package/dist/components/FileStream.d.ts +4 -1
  10. package/dist/components/FileStream.d.ts.map +1 -1
  11. package/dist/components/FileStream.js +27 -12
  12. package/dist/components/FileStream.js.map +1 -1
  13. package/dist/components/UnresolvedFile.js +6 -42
  14. package/dist/components/UnresolvedFile.js.map +1 -1
  15. package/dist/components/VirtulizerDevelopment.d.ts.map +1 -1
  16. package/dist/constants.d.ts +3 -1
  17. package/dist/constants.d.ts.map +1 -1
  18. package/dist/constants.js +3 -1
  19. package/dist/constants.js.map +1 -1
  20. package/dist/index.d.ts +6 -6
  21. package/dist/index.js +4 -4
  22. package/dist/managers/InteractionManager.d.ts.map +1 -1
  23. package/dist/react/File.d.ts +3 -1
  24. package/dist/react/File.d.ts.map +1 -1
  25. package/dist/react/File.js +5 -2
  26. package/dist/react/File.js.map +1 -1
  27. package/dist/react/FileDiff.d.ts +4 -1
  28. package/dist/react/FileDiff.d.ts.map +1 -1
  29. package/dist/react/FileDiff.js +5 -2
  30. package/dist/react/FileDiff.js.map +1 -1
  31. package/dist/react/MultiFileDiff.d.ts +4 -1
  32. package/dist/react/MultiFileDiff.d.ts.map +1 -1
  33. package/dist/react/MultiFileDiff.js +12 -6
  34. package/dist/react/MultiFileDiff.js.map +1 -1
  35. package/dist/react/PatchDiff.d.ts +4 -1
  36. package/dist/react/PatchDiff.d.ts.map +1 -1
  37. package/dist/react/PatchDiff.js +5 -2
  38. package/dist/react/PatchDiff.js.map +1 -1
  39. package/dist/react/UnresolvedFile.d.ts +4 -1
  40. package/dist/react/UnresolvedFile.d.ts.map +1 -1
  41. package/dist/react/UnresolvedFile.js +5 -2
  42. package/dist/react/UnresolvedFile.js.map +1 -1
  43. package/dist/react/WorkerPoolContext.js +7 -5
  44. package/dist/react/WorkerPoolContext.js.map +1 -1
  45. package/dist/react/index.d.ts +2 -2
  46. package/dist/react/jsx.d.ts.map +1 -1
  47. package/dist/react/types.d.ts +6 -3
  48. package/dist/react/types.d.ts.map +1 -1
  49. package/dist/react/utils/renderDiffChildren.d.ts +4 -6
  50. package/dist/react/utils/renderDiffChildren.d.ts.map +1 -1
  51. package/dist/react/utils/renderDiffChildren.js +12 -17
  52. package/dist/react/utils/renderDiffChildren.js.map +1 -1
  53. package/dist/react/utils/renderFileChildren.d.ts +2 -0
  54. package/dist/react/utils/renderFileChildren.d.ts.map +1 -1
  55. package/dist/react/utils/renderFileChildren.js +9 -6
  56. package/dist/react/utils/renderFileChildren.js.map +1 -1
  57. package/dist/react/utils/useFileDiffInstance.d.ts +7 -7
  58. package/dist/react/utils/useFileDiffInstance.d.ts.map +1 -1
  59. package/dist/react/utils/useFileDiffInstance.js +20 -11
  60. package/dist/react/utils/useFileDiffInstance.js.map +1 -1
  61. package/dist/react/utils/useFileInstance.d.ts +5 -1
  62. package/dist/react/utils/useFileInstance.d.ts.map +1 -1
  63. package/dist/react/utils/useFileInstance.js +20 -7
  64. package/dist/react/utils/useFileInstance.js.map +1 -1
  65. package/dist/react/utils/useUnresolvedFileInstance.d.ts +5 -1
  66. package/dist/react/utils/useUnresolvedFileInstance.d.ts.map +1 -1
  67. package/dist/react/utils/useUnresolvedFileInstance.js +17 -4
  68. package/dist/react/utils/useUnresolvedFileInstance.js.map +1 -1
  69. package/dist/renderers/DiffHunksRenderer.d.ts +14 -9
  70. package/dist/renderers/DiffHunksRenderer.d.ts.map +1 -1
  71. package/dist/renderers/DiffHunksRenderer.js +9 -19
  72. package/dist/renderers/DiffHunksRenderer.js.map +1 -1
  73. package/dist/renderers/FileRenderer.d.ts +5 -4
  74. package/dist/renderers/FileRenderer.d.ts.map +1 -1
  75. package/dist/renderers/FileRenderer.js +7 -17
  76. package/dist/renderers/FileRenderer.js.map +1 -1
  77. package/dist/renderers/UnresolvedFileHunksRenderer.d.ts +5 -5
  78. package/dist/renderers/UnresolvedFileHunksRenderer.d.ts.map +1 -1
  79. package/dist/renderers/UnresolvedFileHunksRenderer.js +2 -2
  80. package/dist/renderers/UnresolvedFileHunksRenderer.js.map +1 -1
  81. package/dist/ssr/index.d.ts +2 -2
  82. package/dist/ssr/preloadDiffs.js +7 -4
  83. package/dist/ssr/preloadDiffs.js.map +1 -1
  84. package/dist/ssr/preloadFile.js +7 -2
  85. package/dist/ssr/preloadFile.js.map +1 -1
  86. package/dist/style.js +1 -1
  87. package/dist/style.js.map +1 -1
  88. package/dist/types.d.ts +11 -11
  89. package/dist/types.d.ts.map +1 -1
  90. package/dist/utils/arePrePropertiesEqual.js +1 -1
  91. package/dist/utils/arePrePropertiesEqual.js.map +1 -1
  92. package/dist/utils/createFileHeaderElement.d.ts +3 -5
  93. package/dist/utils/createFileHeaderElement.d.ts.map +1 -1
  94. package/dist/utils/createFileHeaderElement.js +13 -9
  95. package/dist/utils/createFileHeaderElement.js.map +1 -1
  96. package/dist/utils/createPreElement.d.ts +0 -2
  97. package/dist/utils/createPreElement.d.ts.map +1 -1
  98. package/dist/utils/createPreElement.js +4 -7
  99. package/dist/utils/createPreElement.js.map +1 -1
  100. package/dist/utils/createStyleElement.d.ts +2 -1
  101. package/dist/utils/createStyleElement.d.ts.map +1 -1
  102. package/dist/utils/createStyleElement.js +9 -2
  103. package/dist/utils/createStyleElement.js.map +1 -1
  104. package/dist/utils/cssWrappers.d.ts +4 -1
  105. package/dist/utils/cssWrappers.d.ts.map +1 -1
  106. package/dist/utils/cssWrappers.js +11 -2
  107. package/dist/utils/cssWrappers.js.map +1 -1
  108. package/dist/utils/hast_utils.d.ts +1 -1
  109. package/dist/utils/hast_utils.d.ts.map +1 -1
  110. package/dist/utils/hast_utils.js.map +1 -1
  111. package/dist/utils/hostTheme.d.ts +15 -0
  112. package/dist/utils/hostTheme.d.ts.map +1 -0
  113. package/dist/utils/hostTheme.js +22 -0
  114. package/dist/utils/hostTheme.js.map +1 -0
  115. package/dist/utils/parsePatchFiles.js +1 -1
  116. package/dist/utils/parsePatchFiles.js.map +1 -1
  117. package/dist/utils/renderDiffWithHighlighter.js +1 -4
  118. package/dist/utils/renderDiffWithHighlighter.js.map +1 -1
  119. package/dist/utils/renderFileWithHighlighter.js +1 -3
  120. package/dist/utils/renderFileWithHighlighter.js.map +1 -1
  121. package/dist/utils/resolveRegion.js +14 -7
  122. package/dist/utils/resolveRegion.js.map +1 -1
  123. package/dist/utils/setWrapperNodeProps.d.ts +0 -2
  124. package/dist/utils/setWrapperNodeProps.d.ts.map +1 -1
  125. package/dist/utils/setWrapperNodeProps.js +1 -4
  126. package/dist/utils/setWrapperNodeProps.js.map +1 -1
  127. package/dist/worker/worker-portable.js +4 -13
  128. package/dist/worker/worker-portable.js.map +1 -1
  129. package/dist/worker/worker.js +2 -7
  130. package/dist/worker/worker.js.map +1 -1
  131. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"InteractionManager.d.ts","names":["AnnotationSide","DiffLineEventBaseProps","ExpansionDirections","LineEventBaseProps","MergeConflictResolution","SelectionSide","LogTypes","InteractionManagerMode","OnLineClickProps","PointerEvent","OnLineEnterLeaveProps","OnDiffLineClickProps","OnDiffLineEnterLeaveProps","SelectedLineRange","GetLineIndexUtility","EventClickProps","TMode","PointerEventEnterLeaveProps","GetHoveredLineResult","MergeConflictActionTarget","InteractionManagerBaseOptions","InteractionManagerOptions","InteractionManager","HTMLPreElement","MouseEvent","InteractionPluckOptions","HTMLElement","pluckInteractionOptions","enableGutterUtility","enableHoverUtility","lineHoverHighlight","onGutterUtilityClick","onLineClick","onLineEnter","onLineLeave","onLineNumberClick","renderGutterUtility","renderHoverUtility","__debugPointerEvents","enableLineSelection","onLineSelected","onLineSelectionStart","onLineSelectionChange","onLineSelectionEnd"],"sources":["../../src/managers/InteractionManager.d.ts"],"sourcesContent":["import type { AnnotationSide, DiffLineEventBaseProps, ExpansionDirections, LineEventBaseProps, MergeConflictResolution, SelectionSide } from '../types';\nexport type LogTypes = 'click' | 'move' | 'both' | 'none';\nexport type InteractionManagerMode = 'file' | 'diff';\nexport interface OnLineClickProps extends LineEventBaseProps {\n event: PointerEvent;\n}\nexport interface OnLineEnterLeaveProps extends LineEventBaseProps {\n event: PointerEvent;\n}\nexport interface OnDiffLineClickProps extends DiffLineEventBaseProps {\n event: PointerEvent;\n}\nexport interface OnDiffLineEnterLeaveProps extends DiffLineEventBaseProps {\n event: PointerEvent;\n}\nexport interface SelectedLineRange {\n start: number;\n side?: SelectionSide;\n end: number;\n endSide?: SelectionSide;\n}\nexport type GetLineIndexUtility = (lineNumber: number, side?: SelectionSide) => [number, number] | undefined;\ntype EventClickProps<TMode extends InteractionManagerMode> = TMode extends 'file' ? OnLineClickProps : OnDiffLineClickProps;\ntype PointerEventEnterLeaveProps<TMode extends InteractionManagerMode> = TMode extends 'file' ? OnLineEnterLeaveProps : OnDiffLineEnterLeaveProps;\nexport type GetHoveredLineResult<TMode extends InteractionManagerMode> = TMode extends 'file' ? {\n lineNumber: number;\n} : {\n lineNumber: number;\n side: AnnotationSide;\n};\nexport interface MergeConflictActionTarget {\n kind: 'merge-conflict-action';\n resolution: MergeConflictResolution;\n conflictIndex: number;\n}\nexport interface InteractionManagerBaseOptions<TMode extends InteractionManagerMode> {\n lineHoverHighlight?: 'disabled' | 'both' | 'number' | 'line';\n enableGutterUtility?: boolean;\n onGutterUtilityClick?(range: SelectedLineRange): unknown;\n onLineClick?(props: EventClickProps<TMode>): unknown;\n onLineNumberClick?(props: EventClickProps<TMode>): unknown;\n onLineEnter?(props: PointerEventEnterLeaveProps<TMode>): unknown;\n onLineLeave?(props: PointerEventEnterLeaveProps<TMode>): unknown;\n __debugPointerEvents?: LogTypes;\n enableLineSelection?: boolean;\n onLineSelected?: (range: SelectedLineRange | null) => void;\n onLineSelectionStart?: (range: SelectedLineRange | null) => void;\n onLineSelectionChange?: (range: SelectedLineRange | null) => void;\n onLineSelectionEnd?: (range: SelectedLineRange | null) => void;\n getLineIndex?: GetLineIndexUtility;\n}\nexport interface InteractionManagerOptions<TMode extends InteractionManagerMode> extends InteractionManagerBaseOptions<TMode> {\n usesCustomGutterUtility?: boolean;\n onHunkExpand?(hunkIndex: number, direction: ExpansionDirections, expansionLineCountOverride?: number): unknown;\n onMergeConflictActionClick?(target: MergeConflictActionTarget): void;\n}\nexport declare class InteractionManager<TMode extends InteractionManagerMode> {\n private mode;\n private options;\n private hoveredLine;\n private pre;\n private gutterUtilityContainer;\n private gutterUtilityButton;\n private gutterUtilitySlot;\n private interactiveLinesAttr;\n private interactiveLineNumbersAttr;\n private hasPointerListeners;\n private hasDocumentPointerListeners;\n private selectedRange;\n private renderedSelectionRange;\n private selectionAnchor;\n private queuedSelectionRender;\n private pointerSession;\n constructor(mode: TMode, options: InteractionManagerOptions<TMode>);\n setOptions(options: InteractionManagerOptions<TMode>): void;\n cleanUp(): void;\n setup(pre: HTMLPreElement): void;\n setSelectionDirty(): void;\n isSelectionDirty(): boolean;\n setSelection(range: SelectedLineRange | null): void;\n getSelection(): SelectedLineRange | null;\n getHoveredLine: () => GetHoveredLineResult<TMode> | undefined;\n handlePointerClick: (event: MouseEvent) => void;\n handlePointerMove: (event: PointerEvent) => void;\n handlePointerLeave: (event: PointerEvent) => void;\n private handlePointerEvent;\n private syncPointerListeners;\n private updateInteractiveLineAttributes;\n private handlePointerDown;\n private startLineSelectionFromPointerDown;\n private startGutterSelectionFromPointerDown;\n private handleDocumentPointerMove;\n private handleDocumentPointerUp;\n private handleDocumentPointerCancel;\n private clearHoveredLine;\n private setHoveredLine;\n private ensureGutterUtilityNode;\n private attachDocumentPointerListeners;\n private detachDocumentPointerListeners;\n private clearPointerSession;\n private clearPendingSingleLineState;\n private getSelectionPointerInfo;\n private getSelectionPointFromPath;\n private getLineIndex;\n private updateSelection;\n private getIndexesFromSelection;\n private renderSelection;\n private notifySelectionCommitted;\n private notifySelectionChangeDelta;\n private notifySelectionStart;\n private notifySelectionEnd;\n private toEventBaseProps;\n private buildSelectedLineRange;\n private buildSelectionRange;\n private resolvePointerTarget;\n private isSplitDiff;\n private parseLineIndex;\n}\ntype InteractionPluckOptions<TMode extends InteractionManagerMode> = InteractionManagerBaseOptions<TMode> & {\n enableHoverUtility?: boolean;\n renderGutterUtility?(getHoveredRow: () => GetHoveredLineResult<TMode> | undefined): HTMLElement | null | undefined;\n renderHoverUtility?(getHoveredRow: () => GetHoveredLineResult<TMode> | undefined): HTMLElement | null | undefined;\n};\nexport declare function pluckInteractionOptions<TMode extends InteractionManagerMode>({ enableGutterUtility, enableHoverUtility, lineHoverHighlight, onGutterUtilityClick, onLineClick, onLineEnter, onLineLeave, onLineNumberClick, renderGutterUtility, renderHoverUtility, __debugPointerEvents, enableLineSelection, onLineSelected, onLineSelectionStart, onLineSelectionChange, onLineSelectionEnd }: InteractionPluckOptions<TMode>, onHunkExpand?: (hunkIndex: number, direction: ExpansionDirections, expansionLineCount?: number) => unknown, getLineIndex?: GetLineIndexUtility, onMergeConflictActionClick?: (target: MergeConflictActionTarget) => void): InteractionManagerOptions<TMode>;\nexport {};\n//# sourceMappingURL=InteractionManager.d.ts.map"],"mappings":"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"}
1
+ {"version":3,"file":"InteractionManager.d.ts","names":["AnnotationSide","DiffLineEventBaseProps","ExpansionDirections","LineEventBaseProps","MergeConflictResolution","SelectionSide","LogTypes","InteractionManagerMode","OnLineClickProps","PointerEvent","OnLineEnterLeaveProps","OnDiffLineClickProps","OnDiffLineEnterLeaveProps","SelectedLineRange","GetLineIndexUtility","EventClickProps","TMode","PointerEventEnterLeaveProps","GetHoveredLineResult","MergeConflictActionTarget","InteractionManagerBaseOptions","InteractionManagerOptions","InteractionManager","HTMLPreElement","MouseEvent","InteractionPluckOptions","HTMLElement","pluckInteractionOptions","enableGutterUtility","enableHoverUtility","lineHoverHighlight","onGutterUtilityClick","onLineClick","onLineEnter","onLineLeave","onLineNumberClick","renderGutterUtility","renderHoverUtility","__debugPointerEvents","enableLineSelection","onLineSelected","onLineSelectionStart","onLineSelectionChange","onLineSelectionEnd"],"sources":["../../src/managers/InteractionManager.d.ts"],"sourcesContent":["import type { AnnotationSide, DiffLineEventBaseProps, ExpansionDirections, LineEventBaseProps, MergeConflictResolution, SelectionSide } from '../types';\nexport type LogTypes = 'click' | 'move' | 'both' | 'none';\nexport type InteractionManagerMode = 'file' | 'diff';\nexport interface OnLineClickProps extends LineEventBaseProps {\n event: PointerEvent;\n}\nexport interface OnLineEnterLeaveProps extends LineEventBaseProps {\n event: PointerEvent;\n}\nexport interface OnDiffLineClickProps extends DiffLineEventBaseProps {\n event: PointerEvent;\n}\nexport interface OnDiffLineEnterLeaveProps extends DiffLineEventBaseProps {\n event: PointerEvent;\n}\nexport interface SelectedLineRange {\n start: number;\n side?: SelectionSide;\n end: number;\n endSide?: SelectionSide;\n}\nexport type GetLineIndexUtility = (lineNumber: number, side?: SelectionSide) => [number, number] | undefined;\ntype EventClickProps<TMode extends InteractionManagerMode> = TMode extends 'file' ? OnLineClickProps : OnDiffLineClickProps;\ntype PointerEventEnterLeaveProps<TMode extends InteractionManagerMode> = TMode extends 'file' ? OnLineEnterLeaveProps : OnDiffLineEnterLeaveProps;\nexport type GetHoveredLineResult<TMode extends InteractionManagerMode> = TMode extends 'file' ? {\n lineNumber: number;\n} : {\n lineNumber: number;\n side: AnnotationSide;\n};\nexport interface MergeConflictActionTarget {\n kind: 'merge-conflict-action';\n resolution: MergeConflictResolution;\n conflictIndex: number;\n}\nexport interface InteractionManagerBaseOptions<TMode extends InteractionManagerMode> {\n lineHoverHighlight?: 'disabled' | 'both' | 'number' | 'line';\n enableGutterUtility?: boolean;\n onGutterUtilityClick?(range: SelectedLineRange): unknown;\n onLineClick?(props: EventClickProps<TMode>): unknown;\n onLineNumberClick?(props: EventClickProps<TMode>): unknown;\n onLineEnter?(props: PointerEventEnterLeaveProps<TMode>): unknown;\n onLineLeave?(props: PointerEventEnterLeaveProps<TMode>): unknown;\n __debugPointerEvents?: LogTypes;\n enableLineSelection?: boolean;\n onLineSelected?: (range: SelectedLineRange | null) => void;\n onLineSelectionStart?: (range: SelectedLineRange | null) => void;\n onLineSelectionChange?: (range: SelectedLineRange | null) => void;\n onLineSelectionEnd?: (range: SelectedLineRange | null) => void;\n getLineIndex?: GetLineIndexUtility;\n}\nexport interface InteractionManagerOptions<TMode extends InteractionManagerMode> extends InteractionManagerBaseOptions<TMode> {\n usesCustomGutterUtility?: boolean;\n onHunkExpand?(hunkIndex: number, direction: ExpansionDirections, expansionLineCountOverride?: number): unknown;\n onMergeConflictActionClick?(target: MergeConflictActionTarget): void;\n}\nexport declare class InteractionManager<TMode extends InteractionManagerMode> {\n private mode;\n private options;\n private hoveredLine;\n private pre;\n private gutterUtilityContainer;\n private gutterUtilityButton;\n private gutterUtilitySlot;\n private interactiveLinesAttr;\n private interactiveLineNumbersAttr;\n private hasPointerListeners;\n private hasDocumentPointerListeners;\n private selectedRange;\n private renderedSelectionRange;\n private selectionAnchor;\n private queuedSelectionRender;\n private pointerSession;\n constructor(mode: TMode, options: InteractionManagerOptions<TMode>);\n setOptions(options: InteractionManagerOptions<TMode>): void;\n cleanUp(): void;\n setup(pre: HTMLPreElement): void;\n setSelectionDirty(): void;\n isSelectionDirty(): boolean;\n setSelection(range: SelectedLineRange | null): void;\n getSelection(): SelectedLineRange | null;\n getHoveredLine: () => GetHoveredLineResult<TMode> | undefined;\n handlePointerClick: (event: MouseEvent) => void;\n handlePointerMove: (event: PointerEvent) => void;\n handlePointerLeave: (event: PointerEvent) => void;\n private handlePointerEvent;\n private syncPointerListeners;\n private updateInteractiveLineAttributes;\n private handlePointerDown;\n private startLineSelectionFromPointerDown;\n private startGutterSelectionFromPointerDown;\n private handleDocumentPointerMove;\n private handleDocumentPointerUp;\n private handleDocumentPointerCancel;\n private clearHoveredLine;\n private setHoveredLine;\n private ensureGutterUtilityNode;\n private attachDocumentPointerListeners;\n private detachDocumentPointerListeners;\n private clearPointerSession;\n private clearPendingSingleLineState;\n private getSelectionPointerInfo;\n private getSelectionPointFromPath;\n private getLineIndex;\n private updateSelection;\n private getIndexesFromSelection;\n private renderSelection;\n private notifySelectionCommitted;\n private notifySelectionChangeDelta;\n private notifySelectionStart;\n private notifySelectionEnd;\n private toEventBaseProps;\n private buildSelectedLineRange;\n private buildSelectionRange;\n private resolvePointerTarget;\n private isSplitDiff;\n private parseLineIndex;\n}\ntype InteractionPluckOptions<TMode extends InteractionManagerMode> = InteractionManagerBaseOptions<TMode> & {\n enableHoverUtility?: boolean;\n renderGutterUtility?(getHoveredRow: () => GetHoveredLineResult<TMode> | undefined): HTMLElement | null | undefined;\n renderHoverUtility?(getHoveredRow: () => GetHoveredLineResult<TMode> | undefined): HTMLElement | null | undefined;\n};\nexport declare function pluckInteractionOptions<TMode extends InteractionManagerMode>({ enableGutterUtility, enableHoverUtility, lineHoverHighlight, onGutterUtilityClick, onLineClick, onLineEnter, onLineLeave, onLineNumberClick, renderGutterUtility, renderHoverUtility, __debugPointerEvents, enableLineSelection, onLineSelected, onLineSelectionStart, onLineSelectionChange, onLineSelectionEnd }: InteractionPluckOptions<TMode>, onHunkExpand?: (hunkIndex: number, direction: ExpansionDirections, expansionLineCount?: number) => unknown, getLineIndex?: GetLineIndexUtility, onMergeConflictActionClick?: (target: MergeConflictActionTarget) => void): InteractionManagerOptions<TMode>;\nexport {};\n//# sourceMappingURL=InteractionManager.d.ts.map"],"mappings":"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"}
@@ -11,11 +11,13 @@ declare function File<LAnnotation = undefined>({
11
11
  className,
12
12
  style,
13
13
  renderAnnotation,
14
+ renderCustomHeader,
14
15
  renderHeaderPrefix,
15
16
  renderHeaderMetadata,
16
17
  prerenderedHTML,
17
18
  renderGutterUtility,
18
- renderHoverUtility
19
+ renderHoverUtility,
20
+ disableWorkerPool
19
21
  }: FileProps<LAnnotation>): React.JSX.Element;
20
22
  //#endregion
21
23
  export { File, type FileOptions };
@@ -1 +1 @@
1
- {"version":3,"file":"File.d.ts","names":["FileOptions","FileProps","File","LAnnotation","file","lineAnnotations","selectedLines","options","metrics","className","style","renderAnnotation","renderHeaderPrefix","renderHeaderMetadata","prerenderedHTML","renderGutterUtility","renderHoverUtility","React","JSX","Element"],"sources":["../../src/react/File.d.ts"],"sourcesContent":["import { type FileOptions } from '../components/File';\nimport type { FileProps } from './types';\nexport type { FileOptions };\nexport declare function File<LAnnotation = undefined>({ file, lineAnnotations, selectedLines, options, metrics, className, style, renderAnnotation, renderHeaderPrefix, renderHeaderMetadata, prerenderedHTML, renderGutterUtility, renderHoverUtility }: FileProps<LAnnotation>): React.JSX.Element;\n//# sourceMappingURL=File.d.ts.map"],"mappings":";;;;iBAGwBE;;;;;;;;;;;;;;GAAkOD,UAAUE,eAAec,KAAAA,CAAMC,GAAAA,CAAIC"}
1
+ {"version":3,"file":"File.d.ts","names":["FileOptions","FileProps","File","LAnnotation","file","lineAnnotations","selectedLines","options","metrics","className","style","renderAnnotation","renderCustomHeader","renderHeaderPrefix","renderHeaderMetadata","prerenderedHTML","renderGutterUtility","renderHoverUtility","disableWorkerPool","React","JSX","Element"],"sources":["../../src/react/File.d.ts"],"sourcesContent":["import { type FileOptions } from '../components/File';\nimport type { FileProps } from './types';\nexport type { FileOptions };\nexport declare function File<LAnnotation = undefined>({ file, lineAnnotations, selectedLines, options, metrics, className, style, renderAnnotation, renderCustomHeader, renderHeaderPrefix, renderHeaderMetadata, prerenderedHTML, renderGutterUtility, renderHoverUtility, disableWorkerPool }: FileProps<LAnnotation>): React.JSX.Element;\n//# sourceMappingURL=File.d.ts.map"],"mappings":";;;;iBAGwBE;;;;;;;;;;;;;;;;GAAyQD,UAAUE,eAAegB,KAAAA,CAAMC,GAAAA,CAAIC"}
@@ -8,7 +8,7 @@ import { useFileInstance } from "./utils/useFileInstance.js";
8
8
  import { jsx } from "react/jsx-runtime";
9
9
 
10
10
  //#region src/react/File.tsx
11
- function File({ file, lineAnnotations, selectedLines, options, metrics, className, style, renderAnnotation, renderHeaderPrefix, renderHeaderMetadata, prerenderedHTML, renderGutterUtility, renderHoverUtility }) {
11
+ function File({ file, lineAnnotations, selectedLines, options, metrics, className, style, renderAnnotation, renderCustomHeader, renderHeaderPrefix, renderHeaderMetadata, prerenderedHTML, renderGutterUtility, renderHoverUtility, disableWorkerPool = false }) {
12
12
  const { ref, getHoveredLine } = useFileInstance({
13
13
  file,
14
14
  options,
@@ -16,7 +16,9 @@ function File({ file, lineAnnotations, selectedLines, options, metrics, classNam
16
16
  lineAnnotations,
17
17
  selectedLines,
18
18
  prerenderedHTML,
19
- hasGutterRenderUtility: renderGutterUtility != null || renderHoverUtility != null
19
+ hasGutterRenderUtility: renderGutterUtility != null || renderHoverUtility != null,
20
+ hasCustomHeader: renderCustomHeader != null,
21
+ disableWorkerPool
20
22
  });
21
23
  return /* @__PURE__ */ jsx(DIFFS_TAG_NAME, {
22
24
  ref,
@@ -25,6 +27,7 @@ function File({ file, lineAnnotations, selectedLines, options, metrics, classNam
25
27
  children: templateRender(renderFileChildren({
26
28
  file,
27
29
  renderAnnotation,
30
+ renderCustomHeader,
28
31
  renderHeaderPrefix,
29
32
  renderHeaderMetadata,
30
33
  renderGutterUtility,
@@ -1 +1 @@
1
- {"version":3,"file":"File.js","names":[],"sources":["../../src/react/File.tsx"],"sourcesContent":["'use client';\n\nimport { type FileOptions } from '../components/File';\nimport { DIFFS_TAG_NAME } from '../constants';\nimport type { FileProps } from './types';\nimport { renderFileChildren } from './utils/renderFileChildren';\nimport { templateRender } from './utils/templateRender';\nimport { useFileInstance } from './utils/useFileInstance';\n\nexport type { FileOptions };\n\nexport function File<LAnnotation = undefined>({\n file,\n lineAnnotations,\n selectedLines,\n options,\n metrics,\n className,\n style,\n renderAnnotation,\n renderHeaderPrefix,\n renderHeaderMetadata,\n prerenderedHTML,\n renderGutterUtility,\n renderHoverUtility,\n}: FileProps<LAnnotation>): React.JSX.Element {\n const { ref, getHoveredLine } = useFileInstance({\n file,\n options,\n metrics,\n lineAnnotations,\n selectedLines,\n prerenderedHTML,\n hasGutterRenderUtility:\n renderGutterUtility != null || renderHoverUtility != null,\n });\n const children = renderFileChildren({\n file,\n renderAnnotation,\n renderHeaderPrefix,\n renderHeaderMetadata,\n renderGutterUtility,\n renderHoverUtility,\n lineAnnotations,\n getHoveredLine,\n });\n return (\n <DIFFS_TAG_NAME ref={ref} className={className} style={style}>\n {templateRender(children, prerenderedHTML)}\n </DIFFS_TAG_NAME>\n );\n}\n"],"mappings":";;;;;;;;;;AAWA,SAAgB,KAA8B,EAC5C,MACA,iBACA,eACA,SACA,SACA,WACA,OACA,kBACA,oBACA,sBACA,iBACA,qBACA,sBAC4C;CAC5C,MAAM,EAAE,KAAK,mBAAmB,gBAAgB;EAC9C;EACA;EACA;EACA;EACA;EACA;EACA,wBACE,uBAAuB,QAAQ,sBAAsB;EACxD,CAAC;AAWF,QACE,oBAAC;EAAoB;EAAgB;EAAkB;YACpD,eAZY,mBAAmB;GAClC;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACD,CAAC,EAG4B,gBAAgB;GAC3B"}
1
+ {"version":3,"file":"File.js","names":[],"sources":["../../src/react/File.tsx"],"sourcesContent":["'use client';\n\nimport { type FileOptions } from '../components/File';\nimport { DIFFS_TAG_NAME } from '../constants';\nimport type { FileProps } from './types';\nimport { renderFileChildren } from './utils/renderFileChildren';\nimport { templateRender } from './utils/templateRender';\nimport { useFileInstance } from './utils/useFileInstance';\n\nexport type { FileOptions };\n\nexport function File<LAnnotation = undefined>({\n file,\n lineAnnotations,\n selectedLines,\n options,\n metrics,\n className,\n style,\n renderAnnotation,\n renderCustomHeader,\n renderHeaderPrefix,\n renderHeaderMetadata,\n prerenderedHTML,\n renderGutterUtility,\n renderHoverUtility,\n disableWorkerPool = false,\n}: FileProps<LAnnotation>): React.JSX.Element {\n const { ref, getHoveredLine } = useFileInstance({\n file,\n options,\n metrics,\n lineAnnotations,\n selectedLines,\n prerenderedHTML,\n hasGutterRenderUtility:\n renderGutterUtility != null || renderHoverUtility != null,\n hasCustomHeader: renderCustomHeader != null,\n disableWorkerPool,\n });\n const children = renderFileChildren({\n file,\n renderAnnotation,\n renderCustomHeader,\n renderHeaderPrefix,\n renderHeaderMetadata,\n renderGutterUtility,\n renderHoverUtility,\n lineAnnotations,\n getHoveredLine,\n });\n return (\n <DIFFS_TAG_NAME ref={ref} className={className} style={style}>\n {templateRender(children, prerenderedHTML)}\n </DIFFS_TAG_NAME>\n );\n}\n"],"mappings":";;;;;;;;;;AAWA,SAAgB,KAA8B,EAC5C,MACA,iBACA,eACA,SACA,SACA,WACA,OACA,kBACA,oBACA,oBACA,sBACA,iBACA,qBACA,oBACA,oBAAoB,SACwB;CAC5C,MAAM,EAAE,KAAK,mBAAmB,gBAAgB;EAC9C;EACA;EACA;EACA;EACA;EACA;EACA,wBACE,uBAAuB,QAAQ,sBAAsB;EACvD,iBAAiB,sBAAsB;EACvC;EACD,CAAC;AAYF,QACE,oBAAC;EAAoB;EAAgB;EAAkB;YACpD,eAbY,mBAAmB;GAClC;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACD,CAAC,EAG4B,gBAAgB;GAC3B"}
@@ -4,6 +4,7 @@ import { DiffBasePropsReact } from "./types.js";
4
4
  //#region src/react/FileDiff.d.ts
5
5
  interface FileDiffProps<LAnnotation> extends DiffBasePropsReact<LAnnotation> {
6
6
  fileDiff: FileDiffMetadata;
7
+ disableWorkerPool?: boolean;
7
8
  }
8
9
  declare function FileDiff<LAnnotation = undefined>({
9
10
  fileDiff,
@@ -15,10 +16,12 @@ declare function FileDiff<LAnnotation = undefined>({
15
16
  style,
16
17
  prerenderedHTML,
17
18
  renderAnnotation,
19
+ renderCustomHeader,
18
20
  renderHeaderPrefix,
19
21
  renderHeaderMetadata,
20
22
  renderGutterUtility,
21
- renderHoverUtility
23
+ renderHoverUtility,
24
+ disableWorkerPool
22
25
  }: FileDiffProps<LAnnotation>): React.JSX.Element;
23
26
  //#endregion
24
27
  export { FileDiff, type FileDiffMetadata, FileDiffProps };
@@ -1 +1 @@
1
- {"version":3,"file":"FileDiff.d.ts","names":["FileDiffMetadata","DiffBasePropsReact","FileDiffProps","LAnnotation","FileDiff","fileDiff","options","metrics","lineAnnotations","selectedLines","className","style","prerenderedHTML","renderAnnotation","renderHeaderPrefix","renderHeaderMetadata","renderGutterUtility","renderHoverUtility","React","JSX","Element"],"sources":["../../src/react/FileDiff.d.ts"],"sourcesContent":["import type { FileDiffMetadata } from '../types';\nimport type { DiffBasePropsReact } from './types';\nexport type { FileDiffMetadata };\nexport interface FileDiffProps<LAnnotation> extends DiffBasePropsReact<LAnnotation> {\n fileDiff: FileDiffMetadata;\n}\nexport declare function FileDiff<LAnnotation = undefined>({ fileDiff, options, metrics, lineAnnotations, selectedLines, className, style, prerenderedHTML, renderAnnotation, renderHeaderPrefix, renderHeaderMetadata, renderGutterUtility, renderHoverUtility }: FileDiffProps<LAnnotation>): React.JSX.Element;\n//# sourceMappingURL=FileDiff.d.ts.map"],"mappings":";;;;UAGiBE,mCAAmCD,mBAAmBE;EAAtDD,QAAAA,EACHF,gBADgBG;;AAChBH,iBAEUI,QAFVJ,CAAAA,cAAAA,SAAAA,CAAAA,CAAAA;EAAAA,QAAAA;EAAAA,OAAAA;EAAAA,OAAAA;EAAAA,eAAAA;EAAAA,aAAAA;EAAAA,SAAAA;EAAAA,KAAAA;EAAAA,eAAAA;EAAAA,gBAAAA;EAAAA,kBAAAA;EAAAA,oBAAAA;EAAAA,mBAAAA;EAAAA;AAAAA,CAAAA,EAEoPE,aAFpPF,CAEkQG,WAFlQH,CAAAA,CAAAA,EAEiRkB,KAAAA,CAAMC,GAAAA,CAAIC,OAF3RpB"}
1
+ {"version":3,"file":"FileDiff.d.ts","names":["FileDiffMetadata","DiffBasePropsReact","FileDiffProps","LAnnotation","FileDiff","fileDiff","options","metrics","lineAnnotations","selectedLines","className","style","prerenderedHTML","renderAnnotation","renderCustomHeader","renderHeaderPrefix","renderHeaderMetadata","renderGutterUtility","renderHoverUtility","disableWorkerPool","React","JSX","Element"],"sources":["../../src/react/FileDiff.d.ts"],"sourcesContent":["import type { FileDiffMetadata } from '../types';\nimport type { DiffBasePropsReact } from './types';\nexport type { FileDiffMetadata };\nexport interface FileDiffProps<LAnnotation> extends DiffBasePropsReact<LAnnotation> {\n fileDiff: FileDiffMetadata;\n disableWorkerPool?: boolean;\n}\nexport declare function FileDiff<LAnnotation = undefined>({ fileDiff, options, metrics, lineAnnotations, selectedLines, className, style, prerenderedHTML, renderAnnotation, renderCustomHeader, renderHeaderPrefix, renderHeaderMetadata, renderGutterUtility, renderHoverUtility, disableWorkerPool }: FileDiffProps<LAnnotation>): React.JSX.Element;\n//# sourceMappingURL=FileDiff.d.ts.map"],"mappings":";;;;UAGiBE,mCAAmCD,mBAAmBE;EAAtDD,QAAAA,EACHF,gBADgBG;EAAyCA,iBAAAA,CAAAA,EAAAA,OAAAA;;AAAnBF,iBAI5BG,QAJ4BH,CAAAA,cAAAA,SAAAA,CAAAA,CAAAA;EAAAA,QAAAA;EAAAA,OAAAA;EAAAA,OAAAA;EAAAA,eAAAA;EAAAA,aAAAA;EAAAA,SAAAA;EAAAA,KAAAA;EAAAA,eAAAA;EAAAA,gBAAAA;EAAAA,kBAAAA;EAAAA,kBAAAA;EAAAA,oBAAAA;EAAAA,mBAAAA;EAAAA,kBAAAA;EAAAA;AAAAA,CAAAA,EAIqPC,aAJrPD,CAImQE,WAJnQF,CAAAA,CAAAA,EAIkRmB,KAAAA,CAAMC,GAAAA,CAAIC,OAJ5RrB"}
@@ -8,7 +8,7 @@ import { useFileDiffInstance } from "./utils/useFileDiffInstance.js";
8
8
  import { jsx } from "react/jsx-runtime";
9
9
 
10
10
  //#region src/react/FileDiff.tsx
11
- function FileDiff({ fileDiff, options, metrics, lineAnnotations, selectedLines, className, style, prerenderedHTML, renderAnnotation, renderHeaderPrefix, renderHeaderMetadata, renderGutterUtility, renderHoverUtility }) {
11
+ function FileDiff({ fileDiff, options, metrics, lineAnnotations, selectedLines, className, style, prerenderedHTML, renderAnnotation, renderCustomHeader, renderHeaderPrefix, renderHeaderMetadata, renderGutterUtility, renderHoverUtility, disableWorkerPool = false }) {
12
12
  const { ref, getHoveredLine } = useFileDiffInstance({
13
13
  fileDiff,
14
14
  options,
@@ -16,7 +16,9 @@ function FileDiff({ fileDiff, options, metrics, lineAnnotations, selectedLines,
16
16
  lineAnnotations,
17
17
  selectedLines,
18
18
  prerenderedHTML,
19
- hasGutterRenderUtility: renderGutterUtility != null || renderHoverUtility != null
19
+ hasGutterRenderUtility: renderGutterUtility != null || renderHoverUtility != null,
20
+ hasCustomHeader: renderCustomHeader != null,
21
+ disableWorkerPool
20
22
  });
21
23
  return /* @__PURE__ */ jsx(DIFFS_TAG_NAME, {
22
24
  ref,
@@ -24,6 +26,7 @@ function FileDiff({ fileDiff, options, metrics, lineAnnotations, selectedLines,
24
26
  style,
25
27
  children: templateRender(renderDiffChildren({
26
28
  fileDiff,
29
+ renderCustomHeader,
27
30
  renderHeaderPrefix,
28
31
  renderHeaderMetadata,
29
32
  renderAnnotation,
@@ -1 +1 @@
1
- {"version":3,"file":"FileDiff.js","names":[],"sources":["../../src/react/FileDiff.tsx"],"sourcesContent":["'use client';\n\nimport { DIFFS_TAG_NAME } from '../constants';\nimport type { FileDiffMetadata } from '../types';\nimport type { DiffBasePropsReact } from './types';\nimport { renderDiffChildren } from './utils/renderDiffChildren';\nimport { templateRender } from './utils/templateRender';\nimport { useFileDiffInstance } from './utils/useFileDiffInstance';\n\nexport type { FileDiffMetadata };\n\nexport interface FileDiffProps<\n LAnnotation,\n> extends DiffBasePropsReact<LAnnotation> {\n fileDiff: FileDiffMetadata;\n}\n\nexport function FileDiff<LAnnotation = undefined>({\n fileDiff,\n options,\n metrics,\n lineAnnotations,\n selectedLines,\n className,\n style,\n prerenderedHTML,\n renderAnnotation,\n renderHeaderPrefix,\n renderHeaderMetadata,\n renderGutterUtility,\n renderHoverUtility,\n}: FileDiffProps<LAnnotation>): React.JSX.Element {\n const { ref, getHoveredLine } = useFileDiffInstance({\n fileDiff,\n options,\n metrics,\n lineAnnotations,\n selectedLines,\n prerenderedHTML,\n hasGutterRenderUtility:\n renderGutterUtility != null || renderHoverUtility != null,\n });\n const children = renderDiffChildren({\n fileDiff,\n renderHeaderPrefix,\n renderHeaderMetadata,\n renderAnnotation,\n renderGutterUtility,\n lineAnnotations,\n renderHoverUtility,\n getHoveredLine,\n });\n return (\n <DIFFS_TAG_NAME ref={ref} className={className} style={style}>\n {templateRender(children, prerenderedHTML)}\n </DIFFS_TAG_NAME>\n );\n}\n"],"mappings":";;;;;;;;;;AAiBA,SAAgB,SAAkC,EAChD,UACA,SACA,SACA,iBACA,eACA,WACA,OACA,iBACA,kBACA,oBACA,sBACA,qBACA,sBACgD;CAChD,MAAM,EAAE,KAAK,mBAAmB,oBAAoB;EAClD;EACA;EACA;EACA;EACA;EACA;EACA,wBACE,uBAAuB,QAAQ,sBAAsB;EACxD,CAAC;AAWF,QACE,oBAAC;EAAoB;EAAgB;EAAkB;YACpD,eAZY,mBAAmB;GAClC;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACD,CAAC,EAG4B,gBAAgB;GAC3B"}
1
+ {"version":3,"file":"FileDiff.js","names":[],"sources":["../../src/react/FileDiff.tsx"],"sourcesContent":["'use client';\n\nimport { DIFFS_TAG_NAME } from '../constants';\nimport type { FileDiffMetadata } from '../types';\nimport type { DiffBasePropsReact } from './types';\nimport { renderDiffChildren } from './utils/renderDiffChildren';\nimport { templateRender } from './utils/templateRender';\nimport { useFileDiffInstance } from './utils/useFileDiffInstance';\n\nexport type { FileDiffMetadata };\n\nexport interface FileDiffProps<\n LAnnotation,\n> extends DiffBasePropsReact<LAnnotation> {\n fileDiff: FileDiffMetadata;\n disableWorkerPool?: boolean;\n}\n\nexport function FileDiff<LAnnotation = undefined>({\n fileDiff,\n options,\n metrics,\n lineAnnotations,\n selectedLines,\n className,\n style,\n prerenderedHTML,\n renderAnnotation,\n renderCustomHeader,\n renderHeaderPrefix,\n renderHeaderMetadata,\n renderGutterUtility,\n renderHoverUtility,\n disableWorkerPool = false,\n}: FileDiffProps<LAnnotation>): React.JSX.Element {\n const { ref, getHoveredLine } = useFileDiffInstance({\n fileDiff,\n options,\n metrics,\n lineAnnotations,\n selectedLines,\n prerenderedHTML,\n hasGutterRenderUtility:\n renderGutterUtility != null || renderHoverUtility != null,\n hasCustomHeader: renderCustomHeader != null,\n disableWorkerPool,\n });\n const children = renderDiffChildren({\n fileDiff,\n renderCustomHeader,\n renderHeaderPrefix,\n renderHeaderMetadata,\n renderAnnotation,\n renderGutterUtility,\n lineAnnotations,\n renderHoverUtility,\n getHoveredLine,\n });\n return (\n <DIFFS_TAG_NAME ref={ref} className={className} style={style}>\n {templateRender(children, prerenderedHTML)}\n </DIFFS_TAG_NAME>\n );\n}\n"],"mappings":";;;;;;;;;;AAkBA,SAAgB,SAAkC,EAChD,UACA,SACA,SACA,iBACA,eACA,WACA,OACA,iBACA,kBACA,oBACA,oBACA,sBACA,qBACA,oBACA,oBAAoB,SAC4B;CAChD,MAAM,EAAE,KAAK,mBAAmB,oBAAoB;EAClD;EACA;EACA;EACA;EACA;EACA;EACA,wBACE,uBAAuB,QAAQ,sBAAsB;EACvD,iBAAiB,sBAAsB;EACvC;EACD,CAAC;AAYF,QACE,oBAAC;EAAoB;EAAgB;EAAkB;YACpD,eAbY,mBAAmB;GAClC;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACD,CAAC,EAG4B,gBAAgB;GAC3B"}
@@ -5,6 +5,7 @@ import { DiffBasePropsReact } from "./types.js";
5
5
  interface MultiFileDiffProps<LAnnotation> extends DiffBasePropsReact<LAnnotation> {
6
6
  oldFile: FileContents;
7
7
  newFile: FileContents;
8
+ disableWorkerPool?: boolean;
8
9
  }
9
10
  declare function MultiFileDiff<LAnnotation = undefined>({
10
11
  oldFile,
@@ -17,10 +18,12 @@ declare function MultiFileDiff<LAnnotation = undefined>({
17
18
  style,
18
19
  prerenderedHTML,
19
20
  renderAnnotation,
21
+ renderCustomHeader,
20
22
  renderHeaderPrefix,
21
23
  renderHeaderMetadata,
22
24
  renderGutterUtility,
23
- renderHoverUtility
25
+ renderHoverUtility,
26
+ disableWorkerPool
24
27
  }: MultiFileDiffProps<LAnnotation>): React.JSX.Element;
25
28
  //#endregion
26
29
  export { type FileContents, MultiFileDiff, MultiFileDiffProps };
@@ -1 +1 @@
1
- {"version":3,"file":"MultiFileDiff.d.ts","names":["FileContents","DiffBasePropsReact","MultiFileDiffProps","LAnnotation","MultiFileDiff","oldFile","newFile","options","metrics","lineAnnotations","selectedLines","className","style","prerenderedHTML","renderAnnotation","renderHeaderPrefix","renderHeaderMetadata","renderGutterUtility","renderHoverUtility","React","JSX","Element"],"sources":["../../src/react/MultiFileDiff.d.ts"],"sourcesContent":["import type { FileContents } from '../types';\nimport type { DiffBasePropsReact } from './types';\nexport type { FileContents };\nexport interface MultiFileDiffProps<LAnnotation> extends DiffBasePropsReact<LAnnotation> {\n oldFile: FileContents;\n newFile: FileContents;\n}\nexport declare function MultiFileDiff<LAnnotation = undefined>({ oldFile, newFile, options, metrics, lineAnnotations, selectedLines, className, style, prerenderedHTML, renderAnnotation, renderHeaderPrefix, renderHeaderMetadata, renderGutterUtility, renderHoverUtility }: MultiFileDiffProps<LAnnotation>): React.JSX.Element;\n//# sourceMappingURL=MultiFileDiff.d.ts.map"],"mappings":";;;;UAGiBE,wCAAwCD,mBAAmBE;EAA3DD,OAAAA,EACJF,YADsB;EAAyCG,OAAAA,EAE/DH,YAF+DG;;AAE/DH,iBAEWI,aAFXJ,CAAAA,cAAAA,SAAAA,CAAAA,CAAAA;EAAAA,OAAAA;EAAAA,OAAAA;EAAAA,OAAAA;EAAAA,OAAAA;EAAAA,eAAAA;EAAAA,aAAAA;EAAAA,SAAAA;EAAAA,KAAAA;EAAAA,eAAAA;EAAAA,gBAAAA;EAAAA,kBAAAA;EAAAA,oBAAAA;EAAAA,mBAAAA;EAAAA;AAAAA,CAAAA,EAEkQE,kBAFlQF,CAEqRG,WAFrRH,CAAAA,CAAAA,EAEoSmB,KAAAA,CAAMC,GAAAA,CAAIC,OAF9SrB"}
1
+ {"version":3,"file":"MultiFileDiff.d.ts","names":["FileContents","DiffBasePropsReact","MultiFileDiffProps","LAnnotation","MultiFileDiff","oldFile","newFile","options","metrics","lineAnnotations","selectedLines","className","style","prerenderedHTML","renderAnnotation","renderCustomHeader","renderHeaderPrefix","renderHeaderMetadata","renderGutterUtility","renderHoverUtility","disableWorkerPool","React","JSX","Element"],"sources":["../../src/react/MultiFileDiff.d.ts"],"sourcesContent":["import type { FileContents } from '../types';\nimport type { DiffBasePropsReact } from './types';\nexport type { FileContents };\nexport interface MultiFileDiffProps<LAnnotation> extends DiffBasePropsReact<LAnnotation> {\n oldFile: FileContents;\n newFile: FileContents;\n disableWorkerPool?: boolean;\n}\nexport declare function MultiFileDiff<LAnnotation = undefined>({ oldFile, newFile, options, metrics, lineAnnotations, selectedLines, className, style, prerenderedHTML, renderAnnotation, renderCustomHeader, renderHeaderPrefix, renderHeaderMetadata, renderGutterUtility, renderHoverUtility, disableWorkerPool }: MultiFileDiffProps<LAnnotation>): React.JSX.Element;\n//# sourceMappingURL=MultiFileDiff.d.ts.map"],"mappings":";;;;UAGiBE,wCAAwCD,mBAAmBE;EAA3DD,OAAAA,EACJF,YADsB;EAAyCG,OAAAA,EAE/DH,YAF+DG;EAC/DH,iBAAAA,CAAAA,EAAAA,OAAAA;;AAD4CC,iBAKjCG,aALiCH,CAAAA,cAAAA,SAAAA,CAAAA,CAAAA;EAAAA,OAAAA;EAAAA,OAAAA;EAAAA,OAAAA;EAAAA,OAAAA;EAAAA,eAAAA;EAAAA,aAAAA;EAAAA,SAAAA;EAAAA,KAAAA;EAAAA,eAAAA;EAAAA,gBAAAA;EAAAA,kBAAAA;EAAAA,kBAAAA;EAAAA,oBAAAA;EAAAA,mBAAAA;EAAAA,kBAAAA;EAAAA;AAAAA,CAAAA,EAK6PC,kBAL7PD,CAKgRE,WALhRF,CAAAA,CAAAA,EAK+RoB,KAAAA,CAAMC,GAAAA,CAAIC,OALzStB"}
@@ -2,30 +2,36 @@
2
2
 
3
3
 
4
4
  import { DIFFS_TAG_NAME } from "../constants.js";
5
+ import { parseDiffFromFile } from "../utils/parseDiffFromFile.js";
5
6
  import { templateRender } from "./utils/templateRender.js";
6
7
  import { renderDiffChildren } from "./utils/renderDiffChildren.js";
7
8
  import { useFileDiffInstance } from "./utils/useFileDiffInstance.js";
9
+ import { useMemo } from "react";
8
10
  import { jsx } from "react/jsx-runtime";
9
11
 
10
12
  //#region src/react/MultiFileDiff.tsx
11
- function MultiFileDiff({ oldFile, newFile, options, metrics, lineAnnotations, selectedLines, className, style, prerenderedHTML, renderAnnotation, renderHeaderPrefix, renderHeaderMetadata, renderGutterUtility, renderHoverUtility }) {
13
+ function MultiFileDiff({ oldFile, newFile, options, metrics, lineAnnotations, selectedLines, className, style, prerenderedHTML, renderAnnotation, renderCustomHeader, renderHeaderPrefix, renderHeaderMetadata, renderGutterUtility, renderHoverUtility, disableWorkerPool = false }) {
14
+ const fileDiff = useMemo(() => {
15
+ return parseDiffFromFile(oldFile, newFile);
16
+ }, [oldFile, newFile]);
12
17
  const { ref, getHoveredLine } = useFileDiffInstance({
13
- oldFile,
14
- newFile,
18
+ fileDiff,
15
19
  options,
16
20
  metrics,
17
21
  lineAnnotations,
18
22
  selectedLines,
19
23
  prerenderedHTML,
20
- hasGutterRenderUtility: renderGutterUtility != null || renderHoverUtility != null
24
+ hasGutterRenderUtility: renderGutterUtility != null || renderHoverUtility != null,
25
+ hasCustomHeader: renderCustomHeader != null,
26
+ disableWorkerPool
21
27
  });
22
28
  return /* @__PURE__ */ jsx(DIFFS_TAG_NAME, {
23
29
  ref,
24
30
  className,
25
31
  style,
26
32
  children: templateRender(renderDiffChildren({
27
- deletionFile: oldFile,
28
- additionFile: newFile,
33
+ fileDiff,
34
+ renderCustomHeader,
29
35
  renderHeaderPrefix,
30
36
  renderHeaderMetadata,
31
37
  renderAnnotation,
@@ -1 +1 @@
1
- {"version":3,"file":"MultiFileDiff.js","names":[],"sources":["../../src/react/MultiFileDiff.tsx"],"sourcesContent":["'use client';\n\nimport { DIFFS_TAG_NAME } from '../constants';\nimport type { FileContents } from '../types';\nimport type { DiffBasePropsReact } from './types';\nimport { renderDiffChildren } from './utils/renderDiffChildren';\nimport { templateRender } from './utils/templateRender';\nimport { useFileDiffInstance } from './utils/useFileDiffInstance';\n\nexport type { FileContents };\n\nexport interface MultiFileDiffProps<\n LAnnotation,\n> extends DiffBasePropsReact<LAnnotation> {\n oldFile: FileContents;\n newFile: FileContents;\n}\n\nexport function MultiFileDiff<LAnnotation = undefined>({\n oldFile,\n newFile,\n options,\n metrics,\n lineAnnotations,\n selectedLines,\n className,\n style,\n prerenderedHTML,\n renderAnnotation,\n renderHeaderPrefix,\n renderHeaderMetadata,\n renderGutterUtility,\n renderHoverUtility,\n}: MultiFileDiffProps<LAnnotation>): React.JSX.Element {\n const { ref, getHoveredLine } = useFileDiffInstance({\n oldFile,\n newFile,\n options,\n metrics,\n lineAnnotations,\n selectedLines,\n prerenderedHTML,\n hasGutterRenderUtility:\n renderGutterUtility != null || renderHoverUtility != null,\n });\n const children = renderDiffChildren({\n deletionFile: oldFile,\n additionFile: newFile,\n renderHeaderPrefix,\n renderHeaderMetadata,\n renderAnnotation,\n lineAnnotations,\n renderGutterUtility,\n renderHoverUtility,\n getHoveredLine,\n });\n return (\n <DIFFS_TAG_NAME ref={ref} className={className} style={style}>\n {templateRender(children, prerenderedHTML)}\n </DIFFS_TAG_NAME>\n );\n}\n"],"mappings":";;;;;;;;;;AAkBA,SAAgB,cAAuC,EACrD,SACA,SACA,SACA,SACA,iBACA,eACA,WACA,OACA,iBACA,kBACA,oBACA,sBACA,qBACA,sBACqD;CACrD,MAAM,EAAE,KAAK,mBAAmB,oBAAoB;EAClD;EACA;EACA;EACA;EACA;EACA;EACA;EACA,wBACE,uBAAuB,QAAQ,sBAAsB;EACxD,CAAC;AAYF,QACE,oBAAC;EAAoB;EAAgB;EAAkB;YACpD,eAbY,mBAAmB;GAClC,cAAc;GACd,cAAc;GACd;GACA;GACA;GACA;GACA;GACA;GACA;GACD,CAAC,EAG4B,gBAAgB;GAC3B"}
1
+ {"version":3,"file":"MultiFileDiff.js","names":[],"sources":["../../src/react/MultiFileDiff.tsx"],"sourcesContent":["'use client';\n\nimport { useMemo } from 'react';\n\nimport { DIFFS_TAG_NAME } from '../constants';\nimport type { FileContents } from '../types';\nimport { parseDiffFromFile } from '../utils/parseDiffFromFile';\nimport type { DiffBasePropsReact } from './types';\nimport { renderDiffChildren } from './utils/renderDiffChildren';\nimport { templateRender } from './utils/templateRender';\nimport { useFileDiffInstance } from './utils/useFileDiffInstance';\n\nexport type { FileContents };\n\nexport interface MultiFileDiffProps<\n LAnnotation,\n> extends DiffBasePropsReact<LAnnotation> {\n oldFile: FileContents;\n newFile: FileContents;\n disableWorkerPool?: boolean;\n}\n\nexport function MultiFileDiff<LAnnotation = undefined>({\n oldFile,\n newFile,\n options,\n metrics,\n lineAnnotations,\n selectedLines,\n className,\n style,\n prerenderedHTML,\n renderAnnotation,\n renderCustomHeader,\n renderHeaderPrefix,\n renderHeaderMetadata,\n renderGutterUtility,\n renderHoverUtility,\n disableWorkerPool = false,\n}: MultiFileDiffProps<LAnnotation>): React.JSX.Element {\n const fileDiff = useMemo(() => {\n return parseDiffFromFile(oldFile, newFile);\n }, [oldFile, newFile]);\n const { ref, getHoveredLine } = useFileDiffInstance({\n fileDiff,\n options,\n metrics,\n lineAnnotations,\n selectedLines,\n prerenderedHTML,\n hasGutterRenderUtility:\n renderGutterUtility != null || renderHoverUtility != null,\n hasCustomHeader: renderCustomHeader != null,\n disableWorkerPool,\n });\n const children = renderDiffChildren({\n fileDiff,\n renderCustomHeader,\n renderHeaderPrefix,\n renderHeaderMetadata,\n renderAnnotation,\n lineAnnotations,\n renderGutterUtility,\n renderHoverUtility,\n getHoveredLine,\n });\n return (\n <DIFFS_TAG_NAME ref={ref} className={className} style={style}>\n {templateRender(children, prerenderedHTML)}\n </DIFFS_TAG_NAME>\n );\n}\n"],"mappings":";;;;;;;;;;;;AAsBA,SAAgB,cAAuC,EACrD,SACA,SACA,SACA,SACA,iBACA,eACA,WACA,OACA,iBACA,kBACA,oBACA,oBACA,sBACA,qBACA,oBACA,oBAAoB,SACiC;CACrD,MAAM,WAAW,cAAc;AAC7B,SAAO,kBAAkB,SAAS,QAAQ;IACzC,CAAC,SAAS,QAAQ,CAAC;CACtB,MAAM,EAAE,KAAK,mBAAmB,oBAAoB;EAClD;EACA;EACA;EACA;EACA;EACA;EACA,wBACE,uBAAuB,QAAQ,sBAAsB;EACvD,iBAAiB,sBAAsB;EACvC;EACD,CAAC;AAYF,QACE,oBAAC;EAAoB;EAAgB;EAAkB;YACpD,eAbY,mBAAmB;GAClC;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACD,CAAC,EAG4B,gBAAgB;GAC3B"}
@@ -3,6 +3,7 @@ import { DiffBasePropsReact } from "./types.js";
3
3
  //#region src/react/PatchDiff.d.ts
4
4
  interface PatchDiffProps<LAnnotation> extends DiffBasePropsReact<LAnnotation> {
5
5
  patch: string;
6
+ disableWorkerPool?: boolean;
6
7
  }
7
8
  declare function PatchDiff<LAnnotation = undefined>({
8
9
  patch,
@@ -14,10 +15,12 @@ declare function PatchDiff<LAnnotation = undefined>({
14
15
  style,
15
16
  prerenderedHTML,
16
17
  renderAnnotation,
18
+ renderCustomHeader,
17
19
  renderHeaderPrefix,
18
20
  renderHeaderMetadata,
19
21
  renderGutterUtility,
20
- renderHoverUtility
22
+ renderHoverUtility,
23
+ disableWorkerPool
21
24
  }: PatchDiffProps<LAnnotation>): React.JSX.Element;
22
25
  //#endregion
23
26
  export { PatchDiff, PatchDiffProps };
@@ -1 +1 @@
1
- {"version":3,"file":"PatchDiff.d.ts","names":["DiffBasePropsReact","PatchDiffProps","LAnnotation","PatchDiff","patch","options","metrics","lineAnnotations","selectedLines","className","style","prerenderedHTML","renderAnnotation","renderHeaderPrefix","renderHeaderMetadata","renderGutterUtility","renderHoverUtility","React","JSX","Element"],"sources":["../../src/react/PatchDiff.d.ts"],"sourcesContent":["import type { DiffBasePropsReact } from './types';\nexport interface PatchDiffProps<LAnnotation> extends DiffBasePropsReact<LAnnotation> {\n patch: string;\n}\nexport declare function PatchDiff<LAnnotation = undefined>({ patch, options, metrics, lineAnnotations, selectedLines, className, style, prerenderedHTML, renderAnnotation, renderHeaderPrefix, renderHeaderMetadata, renderGutterUtility, renderHoverUtility }: PatchDiffProps<LAnnotation>): React.JSX.Element;\n//# sourceMappingURL=PatchDiff.d.ts.map"],"mappings":";;;UACiBC,oCAAoCD,mBAAmBE;;AAAxE;AAGwBC,iBAAAA,SAASD,CAAAA,cAAA,SAAA,CAAA,CAAA;EAAA,KAAA;EAAA,OAAA;EAAA,OAAA;EAAA,eAAA;EAAA,aAAA;EAAA,SAAA;EAAA,KAAA;EAAA,eAAA;EAAA,gBAAA;EAAA,kBAAA;EAAA,oBAAA;EAAA,mBAAA;EAAA;AAAA,CAAA,EAA+ND,cAA/N,CAA8OC,WAA9O,CAAA,CAAA,EAA6Pe,KAAAA,CAAMC,GAAAA,CAAIC,OAAvQ"}
1
+ {"version":3,"file":"PatchDiff.d.ts","names":["DiffBasePropsReact","PatchDiffProps","LAnnotation","PatchDiff","patch","options","metrics","lineAnnotations","selectedLines","className","style","prerenderedHTML","renderAnnotation","renderCustomHeader","renderHeaderPrefix","renderHeaderMetadata","renderGutterUtility","renderHoverUtility","disableWorkerPool","React","JSX","Element"],"sources":["../../src/react/PatchDiff.d.ts"],"sourcesContent":["import type { DiffBasePropsReact } from './types';\nexport interface PatchDiffProps<LAnnotation> extends DiffBasePropsReact<LAnnotation> {\n patch: string;\n disableWorkerPool?: boolean;\n}\nexport declare function PatchDiff<LAnnotation = undefined>({ patch, options, metrics, lineAnnotations, selectedLines, className, style, prerenderedHTML, renderAnnotation, renderCustomHeader, renderHeaderPrefix, renderHeaderMetadata, renderGutterUtility, renderHoverUtility, disableWorkerPool }: PatchDiffProps<LAnnotation>): React.JSX.Element;\n//# sourceMappingURL=PatchDiff.d.ts.map"],"mappings":";;;UACiBC,oCAAoCD,mBAAmBE;;EAAvDD,iBAAc,CAAA,EAAA,OAAAC;AAI/B;AAA6DE,iBAArCD,SAAqCC,CAAAA,cAAAA,SAAAA,CAAAA,CAAAA;EAAAA,KAAAA;EAAAA,OAAAA;EAAAA,OAAAA;EAAAA,eAAAA;EAAAA,aAAAA;EAAAA,SAAAA;EAAAA,KAAAA;EAAAA,eAAAA;EAAAA,gBAAAA;EAAAA,kBAAAA;EAAAA,kBAAAA;EAAAA,oBAAAA;EAAAA,mBAAAA;EAAAA,kBAAAA;EAAAA;AAAAA,CAAAA,EAA0OH,cAA1OG,CAAyPF,WAAzPE,CAAAA,CAAAA,EAAwQe,KAAAA,CAAMC,GAAAA,CAAIC,OAAlRjB"}
@@ -10,7 +10,7 @@ import { useMemo } from "react";
10
10
  import { jsx } from "react/jsx-runtime";
11
11
 
12
12
  //#region src/react/PatchDiff.tsx
13
- function PatchDiff({ patch, options, metrics, lineAnnotations, selectedLines, className, style, prerenderedHTML, renderAnnotation, renderHeaderPrefix, renderHeaderMetadata, renderGutterUtility, renderHoverUtility }) {
13
+ function PatchDiff({ patch, options, metrics, lineAnnotations, selectedLines, className, style, prerenderedHTML, renderAnnotation, renderCustomHeader, renderHeaderPrefix, renderHeaderMetadata, renderGutterUtility, renderHoverUtility, disableWorkerPool = false }) {
14
14
  const fileDiff = usePatch(patch);
15
15
  const { ref, getHoveredLine } = useFileDiffInstance({
16
16
  fileDiff,
@@ -19,7 +19,9 @@ function PatchDiff({ patch, options, metrics, lineAnnotations, selectedLines, cl
19
19
  lineAnnotations,
20
20
  selectedLines,
21
21
  prerenderedHTML,
22
- hasGutterRenderUtility: renderGutterUtility != null || renderHoverUtility != null
22
+ hasGutterRenderUtility: renderGutterUtility != null || renderHoverUtility != null,
23
+ hasCustomHeader: renderCustomHeader != null,
24
+ disableWorkerPool
23
25
  });
24
26
  return /* @__PURE__ */ jsx(DIFFS_TAG_NAME, {
25
27
  ref,
@@ -27,6 +29,7 @@ function PatchDiff({ patch, options, metrics, lineAnnotations, selectedLines, cl
27
29
  style,
28
30
  children: templateRender(renderDiffChildren({
29
31
  fileDiff,
32
+ renderCustomHeader,
30
33
  renderHeaderPrefix,
31
34
  renderHeaderMetadata,
32
35
  renderAnnotation,
@@ -1 +1 @@
1
- {"version":3,"file":"PatchDiff.js","names":[],"sources":["../../src/react/PatchDiff.tsx"],"sourcesContent":["'use client';\n\nimport { useMemo } from 'react';\n\nimport { DIFFS_TAG_NAME } from '../constants';\nimport type { FileDiffMetadata } from '../types';\nimport { getSingularPatch } from '../utils/getSingularPatch';\nimport type { DiffBasePropsReact } from './types';\nimport { renderDiffChildren } from './utils/renderDiffChildren';\nimport { templateRender } from './utils/templateRender';\nimport { useFileDiffInstance } from './utils/useFileDiffInstance';\n\nexport interface PatchDiffProps<\n LAnnotation,\n> extends DiffBasePropsReact<LAnnotation> {\n patch: string;\n}\n\nexport function PatchDiff<LAnnotation = undefined>({\n patch,\n options,\n metrics,\n lineAnnotations,\n selectedLines,\n className,\n style,\n prerenderedHTML,\n renderAnnotation,\n renderHeaderPrefix,\n renderHeaderMetadata,\n renderGutterUtility,\n renderHoverUtility,\n}: PatchDiffProps<LAnnotation>): React.JSX.Element {\n const fileDiff = usePatch(patch);\n const { ref, getHoveredLine } = useFileDiffInstance({\n fileDiff,\n options,\n metrics,\n lineAnnotations,\n selectedLines,\n prerenderedHTML,\n hasGutterRenderUtility:\n renderGutterUtility != null || renderHoverUtility != null,\n });\n const children = renderDiffChildren({\n fileDiff,\n renderHeaderPrefix,\n renderHeaderMetadata,\n renderAnnotation,\n lineAnnotations,\n renderGutterUtility,\n renderHoverUtility,\n getHoveredLine,\n });\n return (\n <DIFFS_TAG_NAME ref={ref} className={className} style={style}>\n {templateRender(children, prerenderedHTML)}\n </DIFFS_TAG_NAME>\n );\n}\n\nfunction usePatch(patch: string): FileDiffMetadata {\n return useMemo<FileDiffMetadata>(() => getSingularPatch(patch), [patch]);\n}\n"],"mappings":";;;;;;;;;;;;AAkBA,SAAgB,UAAmC,EACjD,OACA,SACA,SACA,iBACA,eACA,WACA,OACA,iBACA,kBACA,oBACA,sBACA,qBACA,sBACiD;CACjD,MAAM,WAAW,SAAS,MAAM;CAChC,MAAM,EAAE,KAAK,mBAAmB,oBAAoB;EAClD;EACA;EACA;EACA;EACA;EACA;EACA,wBACE,uBAAuB,QAAQ,sBAAsB;EACxD,CAAC;AAWF,QACE,oBAAC;EAAoB;EAAgB;EAAkB;YACpD,eAZY,mBAAmB;GAClC;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACD,CAAC,EAG4B,gBAAgB;GAC3B;;AAIrB,SAAS,SAAS,OAAiC;AACjD,QAAO,cAAgC,iBAAiB,MAAM,EAAE,CAAC,MAAM,CAAC"}
1
+ {"version":3,"file":"PatchDiff.js","names":[],"sources":["../../src/react/PatchDiff.tsx"],"sourcesContent":["'use client';\n\nimport { useMemo } from 'react';\n\nimport { DIFFS_TAG_NAME } from '../constants';\nimport type { FileDiffMetadata } from '../types';\nimport { getSingularPatch } from '../utils/getSingularPatch';\nimport type { DiffBasePropsReact } from './types';\nimport { renderDiffChildren } from './utils/renderDiffChildren';\nimport { templateRender } from './utils/templateRender';\nimport { useFileDiffInstance } from './utils/useFileDiffInstance';\n\nexport interface PatchDiffProps<\n LAnnotation,\n> extends DiffBasePropsReact<LAnnotation> {\n patch: string;\n disableWorkerPool?: boolean;\n}\n\nexport function PatchDiff<LAnnotation = undefined>({\n patch,\n options,\n metrics,\n lineAnnotations,\n selectedLines,\n className,\n style,\n prerenderedHTML,\n renderAnnotation,\n renderCustomHeader,\n renderHeaderPrefix,\n renderHeaderMetadata,\n renderGutterUtility,\n renderHoverUtility,\n disableWorkerPool = false,\n}: PatchDiffProps<LAnnotation>): React.JSX.Element {\n const fileDiff = usePatch(patch);\n const { ref, getHoveredLine } = useFileDiffInstance({\n fileDiff,\n options,\n metrics,\n lineAnnotations,\n selectedLines,\n prerenderedHTML,\n hasGutterRenderUtility:\n renderGutterUtility != null || renderHoverUtility != null,\n hasCustomHeader: renderCustomHeader != null,\n disableWorkerPool,\n });\n const children = renderDiffChildren({\n fileDiff,\n renderCustomHeader,\n renderHeaderPrefix,\n renderHeaderMetadata,\n renderAnnotation,\n lineAnnotations,\n renderGutterUtility,\n renderHoverUtility,\n getHoveredLine,\n });\n return (\n <DIFFS_TAG_NAME ref={ref} className={className} style={style}>\n {templateRender(children, prerenderedHTML)}\n </DIFFS_TAG_NAME>\n );\n}\n\nfunction usePatch(patch: string): FileDiffMetadata {\n return useMemo<FileDiffMetadata>(() => getSingularPatch(patch), [patch]);\n}\n"],"mappings":";;;;;;;;;;;;AAmBA,SAAgB,UAAmC,EACjD,OACA,SACA,SACA,iBACA,eACA,WACA,OACA,iBACA,kBACA,oBACA,oBACA,sBACA,qBACA,oBACA,oBAAoB,SAC6B;CACjD,MAAM,WAAW,SAAS,MAAM;CAChC,MAAM,EAAE,KAAK,mBAAmB,oBAAoB;EAClD;EACA;EACA;EACA;EACA;EACA;EACA,wBACE,uBAAuB,QAAQ,sBAAsB;EACvD,iBAAiB,sBAAsB;EACvC;EACD,CAAC;AAYF,QACE,oBAAC;EAAoB;EAAgB;EAAkB;YACpD,eAbY,mBAAmB;GAClC;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACD,CAAC,EAG4B,gBAAgB;GAC3B;;AAIrB,SAAS,SAAS,OAAiC;AACjD,QAAO,cAAgC,iBAAiB,MAAM,EAAE,CAAC,MAAM,CAAC"}
@@ -21,6 +21,7 @@ interface UnresolvedFileProps<LAnnotation> extends Omit<FileDiffProps<LAnnotatio
21
21
  file: FileContents;
22
22
  options?: UnresolvedFileReactOptions<LAnnotation>;
23
23
  renderMergeConflictUtility?(action: MergeConflictDiffAction, getInstance: () => UnresolvedFile$1<LAnnotation> | undefined): ReactNode;
24
+ disableWorkerPool?: boolean;
24
25
  }
25
26
  declare function UnresolvedFile<LAnnotation = undefined>({
26
27
  file,
@@ -31,11 +32,13 @@ declare function UnresolvedFile<LAnnotation = undefined>({
31
32
  style,
32
33
  prerenderedHTML,
33
34
  renderAnnotation,
35
+ renderCustomHeader,
34
36
  renderHeaderPrefix,
35
37
  renderHeaderMetadata,
36
38
  renderGutterUtility,
37
39
  renderHoverUtility,
38
- renderMergeConflictUtility
40
+ renderMergeConflictUtility,
41
+ disableWorkerPool
39
42
  }: UnresolvedFileProps<LAnnotation>): React.JSX.Element;
40
43
  //#endregion
41
44
  export { MergeConflictActionsTypeOption, RenderMergeConflictActionContext, RenderMergeConflictActions, UnresolvedFile, UnresolvedFileProps, UnresolvedFileReactOptions };
@@ -1 +1 @@
1
- {"version":3,"file":"UnresolvedFile.d.ts","names":["ReactNode","FileDiffOptions","UnresolvedFile","UnresolvedFileClass","UnresolvedFileHunksRendererOptions","FileContents","HunkSeparators","MergeConflictResolution","MergeConflictDiffAction","FileDiffProps","RenderMergeConflictActionContext","RenderMergeConflictActions","MergeConflictActionsTypeOption","UnresolvedFileReactOptions","LAnnotation","HTMLElement","Omit","UnresolvedFileProps","file","options","lineAnnotations","selectedLines","className","style","prerenderedHTML","renderAnnotation","renderHeaderPrefix","renderHeaderMetadata","renderGutterUtility","renderHoverUtility","renderMergeConflictUtility","React","JSX","Element"],"sources":["../../src/react/UnresolvedFile.d.ts"],"sourcesContent":["import type { ReactNode } from 'react';\nimport type { FileDiffOptions } from '../components/FileDiff';\nimport type { UnresolvedFile as UnresolvedFileClass } from '../components/UnresolvedFile';\nimport type { UnresolvedFileHunksRendererOptions } from '../renderers/UnresolvedFileHunksRenderer';\nimport type { FileContents, HunkSeparators, MergeConflictResolution } from '../types';\nimport { type MergeConflictDiffAction } from '../utils/parseMergeConflictDiffFromFile';\nimport type { FileDiffProps } from './FileDiff';\nexport interface RenderMergeConflictActionContext {\n resolveConflict(resolution: MergeConflictResolution): void;\n}\nexport type RenderMergeConflictActions = (action: MergeConflictDiffAction, context: RenderMergeConflictActionContext) => ReactNode;\nexport type MergeConflictActionsTypeOption = 'none' | 'default' | RenderMergeConflictActions;\nexport interface UnresolvedFileReactOptions<LAnnotation> extends Omit<FileDiffOptions<LAnnotation>, 'hunkSeparators' | 'diffStyle' | 'onMergeConflictAction' | 'onPostRender'>, UnresolvedFileHunksRendererOptions {\n hunkSeparators?: HunkSeparators;\n onPostRender?(node: HTMLElement, instance: UnresolvedFileClass<LAnnotation>): unknown;\n maxContextLines?: number;\n}\nexport interface UnresolvedFileProps<LAnnotation> extends Omit<FileDiffProps<LAnnotation>, 'fileDiff' | 'options'> {\n file: FileContents;\n options?: UnresolvedFileReactOptions<LAnnotation>;\n renderMergeConflictUtility?(action: MergeConflictDiffAction, getInstance: () => UnresolvedFileClass<LAnnotation> | undefined): ReactNode;\n}\nexport declare function UnresolvedFile<LAnnotation = undefined>({ file, options, lineAnnotations, selectedLines, className, style, prerenderedHTML, renderAnnotation, renderHeaderPrefix, renderHeaderMetadata, renderGutterUtility, renderHoverUtility, renderMergeConflictUtility }: UnresolvedFileProps<LAnnotation>): React.JSX.Element;\n//# sourceMappingURL=UnresolvedFile.d.ts.map"],"mappings":";;;;;;;;;UAOiBU,gCAAAA;8BACeH;AADhC;AAGYI,KAAAA,0BAAAA,GAA0B,CAAA,MAAA,EAAYH,uBAAZ,EAAA,OAAA,EAA8CE,gCAA9C,EAAA,GAAmFV,SAAnF;AAAYQ,KACtCI,8BAAAA,GADsCJ,MAAAA,GAAAA,SAAAA,GACgBG,0BADhBH;AAAkCE,UAEnEG,0BAFmEH,CAAAA,WAAAA,CAAAA,SAEnBM,IAFmBN,CAEdT,eAFcS,CAEEI,WAFFJ,CAAAA,EAAAA,gBAAAA,GAAAA,WAAAA,GAAAA,uBAAAA,GAAAA,cAAAA,CAAAA,EAE4FN,kCAF5FM,CAAAA;EAAqCV,cAAAA,CAAAA,EAGpGM,cAHoGN;EAAS,YAAA,EAAA,IAAA,EAI1Ge,WAJ0G,EAAA,QAAA,EAInFZ,gBAJmF,CAI/DW,WAJ+D,CAAA,CAAA,EAAA,OAAA;EACtHF,eAAAA,CAAAA,EAAAA,MAAAA;AACZ;AAAsFE,UAKrEG,mBALqEH,CAAAA,WAAAA,CAAAA,SAK5BE,IAL4BF,CAKvBL,aALuBK,CAKTA,WALSA,CAAAA,EAAAA,UAAAA,GAAAA,SAAAA,CAAAA,CAAAA;EAAhBb,IAAAA,EAM5DI,YAN4DJ;EACjDK,OAAAA,CAAAA,EAMPO,0BANOP,CAMoBQ,WANpBR,CAAAA;EACGS,0BAAAA,EAAAA,MAAAA,EAMgBP,uBANhBO,EAAAA,WAAAA,EAAAA,GAAAA,GAM4DZ,gBAN5DY,CAMgFD,WANhFC,CAAAA,GAAAA,SAAAA,CAAAA,EAM2Gf,SAN3Ge;;AAAuBZ,iBAQvBD,cARuBC,CAAAA,cAAAA,SAAAA,CAAAA,CAAAA;EAAAA,IAAAA;EAAAA,OAAAA;EAAAA,eAAAA;EAAAA,aAAAA;EAAAA,SAAAA;EAAAA,KAAAA;EAAAA,eAAAA;EAAAA,gBAAAA;EAAAA,kBAAAA;EAAAA,oBAAAA;EAAAA,mBAAAA;EAAAA,kBAAAA;EAAAA;AAAAA,CAAAA,EAQwOc,mBARxOd,CAQ4PW,WAR5PX,CAAAA,CAAAA,EAQ2Q4B,KAAAA,CAAMC,GAAAA,CAAIC,OARrR9B"}
1
+ {"version":3,"file":"UnresolvedFile.d.ts","names":["ReactNode","FileDiffOptions","UnresolvedFile","UnresolvedFileClass","UnresolvedFileHunksRendererOptions","FileContents","HunkSeparators","MergeConflictResolution","MergeConflictDiffAction","FileDiffProps","RenderMergeConflictActionContext","RenderMergeConflictActions","MergeConflictActionsTypeOption","UnresolvedFileReactOptions","LAnnotation","HTMLElement","Omit","UnresolvedFileProps","file","options","lineAnnotations","selectedLines","className","style","prerenderedHTML","renderAnnotation","renderCustomHeader","renderHeaderPrefix","renderHeaderMetadata","renderGutterUtility","renderHoverUtility","renderMergeConflictUtility","disableWorkerPool","React","JSX","Element"],"sources":["../../src/react/UnresolvedFile.d.ts"],"sourcesContent":["import type { ReactNode } from 'react';\nimport type { FileDiffOptions } from '../components/FileDiff';\nimport type { UnresolvedFile as UnresolvedFileClass } from '../components/UnresolvedFile';\nimport type { UnresolvedFileHunksRendererOptions } from '../renderers/UnresolvedFileHunksRenderer';\nimport type { FileContents, HunkSeparators, MergeConflictResolution } from '../types';\nimport { type MergeConflictDiffAction } from '../utils/parseMergeConflictDiffFromFile';\nimport type { FileDiffProps } from './FileDiff';\nexport interface RenderMergeConflictActionContext {\n resolveConflict(resolution: MergeConflictResolution): void;\n}\nexport type RenderMergeConflictActions = (action: MergeConflictDiffAction, context: RenderMergeConflictActionContext) => ReactNode;\nexport type MergeConflictActionsTypeOption = 'none' | 'default' | RenderMergeConflictActions;\nexport interface UnresolvedFileReactOptions<LAnnotation> extends Omit<FileDiffOptions<LAnnotation>, 'hunkSeparators' | 'diffStyle' | 'onMergeConflictAction' | 'onPostRender'>, UnresolvedFileHunksRendererOptions {\n hunkSeparators?: HunkSeparators;\n onPostRender?(node: HTMLElement, instance: UnresolvedFileClass<LAnnotation>): unknown;\n maxContextLines?: number;\n}\nexport interface UnresolvedFileProps<LAnnotation> extends Omit<FileDiffProps<LAnnotation>, 'fileDiff' | 'options'> {\n file: FileContents;\n options?: UnresolvedFileReactOptions<LAnnotation>;\n renderMergeConflictUtility?(action: MergeConflictDiffAction, getInstance: () => UnresolvedFileClass<LAnnotation> | undefined): ReactNode;\n disableWorkerPool?: boolean;\n}\nexport declare function UnresolvedFile<LAnnotation = undefined>({ file, options, lineAnnotations, selectedLines, className, style, prerenderedHTML, renderAnnotation, renderCustomHeader, renderHeaderPrefix, renderHeaderMetadata, renderGutterUtility, renderHoverUtility, renderMergeConflictUtility, disableWorkerPool }: UnresolvedFileProps<LAnnotation>): React.JSX.Element;\n//# sourceMappingURL=UnresolvedFile.d.ts.map"],"mappings":";;;;;;;;;UAOiBU,gCAAAA;8BACeH;AADhC;AAGYI,KAAAA,0BAAAA,GAA0B,CAAA,MAAA,EAAYH,uBAAZ,EAAA,OAAA,EAA8CE,gCAA9C,EAAA,GAAmFV,SAAnF;AAAYQ,KACtCI,8BAAAA,GADsCJ,MAAAA,GAAAA,SAAAA,GACgBG,0BADhBH;AAAkCE,UAEnEG,0BAFmEH,CAAAA,WAAAA,CAAAA,SAEnBM,IAFmBN,CAEdT,eAFcS,CAEEI,WAFFJ,CAAAA,EAAAA,gBAAAA,GAAAA,WAAAA,GAAAA,uBAAAA,GAAAA,cAAAA,CAAAA,EAE4FN,kCAF5FM,CAAAA;EAAqCV,cAAAA,CAAAA,EAGpGM,cAHoGN;EAAS,YAAA,EAAA,IAAA,EAI1Ge,WAJ0G,EAAA,QAAA,EAInFZ,gBAJmF,CAI/DW,WAJ+D,CAAA,CAAA,EAAA,OAAA;EACtHF,eAAAA,CAAAA,EAAAA,MAAAA;AACZ;AAAsFE,UAKrEG,mBALqEH,CAAAA,WAAAA,CAAAA,SAK5BE,IAL4BF,CAKvBL,aALuBK,CAKTA,WALSA,CAAAA,EAAAA,UAAAA,GAAAA,SAAAA,CAAAA,CAAAA;EAAhBb,IAAAA,EAM5DI,YAN4DJ;EACjDK,OAAAA,CAAAA,EAMPO,0BANOP,CAMoBQ,WANpBR,CAAAA;EACGS,0BAAAA,EAAAA,MAAAA,EAMgBP,uBANhBO,EAAAA,WAAAA,EAAAA,GAAAA,GAM4DZ,gBAN5DY,CAMgFD,WANhFC,CAAAA,GAAAA,SAAAA,CAAAA,EAM2Gf,SAN3Ge;EAA2CD,iBAAAA,CAAAA,EAAAA,OAAAA;;AAFFE,iBAWzCd,cAXyCc,CAAAA,cAAAA,SAAAA,CAAAA,CAAAA;EAAAA,IAAAA;EAAAA,OAAAA;EAAAA,eAAAA;EAAAA,aAAAA;EAAAA,SAAAA;EAAAA,KAAAA;EAAAA,eAAAA;EAAAA,gBAAAA;EAAAA,kBAAAA;EAAAA,kBAAAA;EAAAA,oBAAAA;EAAAA,mBAAAA;EAAAA,kBAAAA;EAAAA,0BAAAA;EAAAA;AAAAA,CAAAA,EAW6PC,mBAX7PD,CAWiRF,WAXjRE,CAAAA,CAAAA,EAWgSiB,KAAAA,CAAMC,GAAAA,CAAIC,OAX1SnB"}
@@ -8,7 +8,7 @@ import { useUnresolvedFileInstance } from "./utils/useUnresolvedFileInstance.js"
8
8
  import { jsx } from "react/jsx-runtime";
9
9
 
10
10
  //#region src/react/UnresolvedFile.tsx
11
- function UnresolvedFile({ file, options, lineAnnotations, selectedLines, className, style, prerenderedHTML, renderAnnotation, renderHeaderPrefix, renderHeaderMetadata, renderGutterUtility, renderHoverUtility, renderMergeConflictUtility }) {
11
+ function UnresolvedFile({ file, options, lineAnnotations, selectedLines, className, style, prerenderedHTML, renderAnnotation, renderCustomHeader, renderHeaderPrefix, renderHeaderMetadata, renderGutterUtility, renderHoverUtility, renderMergeConflictUtility, disableWorkerPool = false }) {
12
12
  const { ref, getHoveredLine, fileDiff, actions, getInstance } = useUnresolvedFileInstance({
13
13
  file,
14
14
  options,
@@ -16,7 +16,9 @@ function UnresolvedFile({ file, options, lineAnnotations, selectedLines, classNa
16
16
  selectedLines,
17
17
  prerenderedHTML,
18
18
  hasConflictUtility: renderMergeConflictUtility != null,
19
- hasGutterRenderUtility: renderGutterUtility != null || renderHoverUtility != null
19
+ hasGutterRenderUtility: renderGutterUtility != null || renderHoverUtility != null,
20
+ hasCustomHeader: renderCustomHeader != null,
21
+ disableWorkerPool
20
22
  });
21
23
  return /* @__PURE__ */ jsx(DIFFS_TAG_NAME, {
22
24
  ref,
@@ -24,6 +26,7 @@ function UnresolvedFile({ file, options, lineAnnotations, selectedLines, classNa
24
26
  style,
25
27
  children: templateRender(renderDiffChildren({
26
28
  fileDiff,
29
+ renderCustomHeader,
27
30
  renderHeaderPrefix,
28
31
  renderHeaderMetadata,
29
32
  renderAnnotation,
@@ -1 +1 @@
1
- {"version":3,"file":"UnresolvedFile.js","names":[],"sources":["../../src/react/UnresolvedFile.tsx"],"sourcesContent":["'use client';\n\nimport type { ReactNode } from 'react';\n\nimport type { FileDiffOptions } from '../components/FileDiff';\nimport type { UnresolvedFile as UnresolvedFileClass } from '../components/UnresolvedFile';\nimport { DIFFS_TAG_NAME } from '../constants';\nimport type { UnresolvedFileHunksRendererOptions } from '../renderers/UnresolvedFileHunksRenderer';\nimport type {\n FileContents,\n HunkSeparators,\n MergeConflictResolution,\n} from '../types';\nimport { type MergeConflictDiffAction } from '../utils/parseMergeConflictDiffFromFile';\nimport type { FileDiffProps } from './FileDiff';\nimport { renderDiffChildren } from './utils/renderDiffChildren';\nimport { templateRender } from './utils/templateRender';\nimport { useUnresolvedFileInstance } from './utils/useUnresolvedFileInstance';\n\nexport interface RenderMergeConflictActionContext {\n resolveConflict(resolution: MergeConflictResolution): void;\n}\n\nexport type RenderMergeConflictActions = (\n action: MergeConflictDiffAction,\n context: RenderMergeConflictActionContext\n) => ReactNode;\n\nexport type MergeConflictActionsTypeOption =\n | 'none'\n | 'default'\n | RenderMergeConflictActions;\n\nexport interface UnresolvedFileReactOptions<LAnnotation>\n extends\n Omit<\n FileDiffOptions<LAnnotation>,\n 'hunkSeparators' | 'diffStyle' | 'onMergeConflictAction' | 'onPostRender'\n >,\n UnresolvedFileHunksRendererOptions {\n hunkSeparators?: HunkSeparators;\n onPostRender?(\n node: HTMLElement,\n instance: UnresolvedFileClass<LAnnotation>\n ): unknown;\n maxContextLines?: number;\n}\n\nexport interface UnresolvedFileProps<LAnnotation> extends Omit<\n FileDiffProps<LAnnotation>,\n 'fileDiff' | 'options'\n> {\n file: FileContents;\n options?: UnresolvedFileReactOptions<LAnnotation>;\n renderMergeConflictUtility?(\n action: MergeConflictDiffAction,\n getInstance: () => UnresolvedFileClass<LAnnotation> | undefined\n ): ReactNode;\n}\n\nexport function UnresolvedFile<LAnnotation = undefined>({\n file,\n options,\n lineAnnotations,\n selectedLines,\n className,\n style,\n prerenderedHTML,\n renderAnnotation,\n renderHeaderPrefix,\n renderHeaderMetadata,\n renderGutterUtility,\n renderHoverUtility,\n renderMergeConflictUtility,\n}: UnresolvedFileProps<LAnnotation>): React.JSX.Element {\n const { ref, getHoveredLine, fileDiff, actions, getInstance } =\n useUnresolvedFileInstance({\n file,\n options,\n lineAnnotations,\n selectedLines,\n prerenderedHTML,\n hasConflictUtility: renderMergeConflictUtility != null,\n hasGutterRenderUtility:\n renderGutterUtility != null || renderHoverUtility != null,\n });\n const children = renderDiffChildren({\n fileDiff,\n renderHeaderPrefix,\n renderHeaderMetadata,\n renderAnnotation,\n renderGutterUtility,\n renderHoverUtility,\n lineAnnotations,\n getHoveredLine,\n actions,\n renderMergeConflictUtility,\n getInstance,\n });\n return (\n <DIFFS_TAG_NAME ref={ref} className={className} style={style}>\n {templateRender(children, prerenderedHTML)}\n </DIFFS_TAG_NAME>\n );\n}\n"],"mappings":";;;;;;;;;;AA4DA,SAAgB,eAAwC,EACtD,MACA,SACA,iBACA,eACA,WACA,OACA,iBACA,kBACA,oBACA,sBACA,qBACA,oBACA,8BACsD;CACtD,MAAM,EAAE,KAAK,gBAAgB,UAAU,SAAS,gBAC9C,0BAA0B;EACxB;EACA;EACA;EACA;EACA;EACA,oBAAoB,8BAA8B;EAClD,wBACE,uBAAuB,QAAQ,sBAAsB;EACxD,CAAC;AAcJ,QACE,oBAAC;EAAoB;EAAgB;EAAkB;YACpD,eAfY,mBAAmB;GAClC;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACD,CAAC,EAG4B,gBAAgB;GAC3B"}
1
+ {"version":3,"file":"UnresolvedFile.js","names":[],"sources":["../../src/react/UnresolvedFile.tsx"],"sourcesContent":["'use client';\n\nimport type { ReactNode } from 'react';\n\nimport type { FileDiffOptions } from '../components/FileDiff';\nimport type { UnresolvedFile as UnresolvedFileClass } from '../components/UnresolvedFile';\nimport { DIFFS_TAG_NAME } from '../constants';\nimport type { UnresolvedFileHunksRendererOptions } from '../renderers/UnresolvedFileHunksRenderer';\nimport type {\n FileContents,\n HunkSeparators,\n MergeConflictResolution,\n} from '../types';\nimport { type MergeConflictDiffAction } from '../utils/parseMergeConflictDiffFromFile';\nimport type { FileDiffProps } from './FileDiff';\nimport { renderDiffChildren } from './utils/renderDiffChildren';\nimport { templateRender } from './utils/templateRender';\nimport { useUnresolvedFileInstance } from './utils/useUnresolvedFileInstance';\n\nexport interface RenderMergeConflictActionContext {\n resolveConflict(resolution: MergeConflictResolution): void;\n}\n\nexport type RenderMergeConflictActions = (\n action: MergeConflictDiffAction,\n context: RenderMergeConflictActionContext\n) => ReactNode;\n\nexport type MergeConflictActionsTypeOption =\n | 'none'\n | 'default'\n | RenderMergeConflictActions;\n\nexport interface UnresolvedFileReactOptions<LAnnotation>\n extends\n Omit<\n FileDiffOptions<LAnnotation>,\n 'hunkSeparators' | 'diffStyle' | 'onMergeConflictAction' | 'onPostRender'\n >,\n UnresolvedFileHunksRendererOptions {\n hunkSeparators?: HunkSeparators;\n onPostRender?(\n node: HTMLElement,\n instance: UnresolvedFileClass<LAnnotation>\n ): unknown;\n maxContextLines?: number;\n}\n\nexport interface UnresolvedFileProps<LAnnotation> extends Omit<\n FileDiffProps<LAnnotation>,\n 'fileDiff' | 'options'\n> {\n file: FileContents;\n options?: UnresolvedFileReactOptions<LAnnotation>;\n renderMergeConflictUtility?(\n action: MergeConflictDiffAction,\n getInstance: () => UnresolvedFileClass<LAnnotation> | undefined\n ): ReactNode;\n disableWorkerPool?: boolean;\n}\n\nexport function UnresolvedFile<LAnnotation = undefined>({\n file,\n options,\n lineAnnotations,\n selectedLines,\n className,\n style,\n prerenderedHTML,\n renderAnnotation,\n renderCustomHeader,\n renderHeaderPrefix,\n renderHeaderMetadata,\n renderGutterUtility,\n renderHoverUtility,\n renderMergeConflictUtility,\n disableWorkerPool = false,\n}: UnresolvedFileProps<LAnnotation>): React.JSX.Element {\n const { ref, getHoveredLine, fileDiff, actions, getInstance } =\n useUnresolvedFileInstance({\n file,\n options,\n lineAnnotations,\n selectedLines,\n prerenderedHTML,\n hasConflictUtility: renderMergeConflictUtility != null,\n hasGutterRenderUtility:\n renderGutterUtility != null || renderHoverUtility != null,\n hasCustomHeader: renderCustomHeader != null,\n disableWorkerPool,\n });\n const children = renderDiffChildren({\n fileDiff,\n renderCustomHeader,\n renderHeaderPrefix,\n renderHeaderMetadata,\n renderAnnotation,\n renderGutterUtility,\n renderHoverUtility,\n lineAnnotations,\n getHoveredLine,\n actions,\n renderMergeConflictUtility,\n getInstance,\n });\n return (\n <DIFFS_TAG_NAME ref={ref} className={className} style={style}>\n {templateRender(children, prerenderedHTML)}\n </DIFFS_TAG_NAME>\n );\n}\n"],"mappings":";;;;;;;;;;AA6DA,SAAgB,eAAwC,EACtD,MACA,SACA,iBACA,eACA,WACA,OACA,iBACA,kBACA,oBACA,oBACA,sBACA,qBACA,oBACA,4BACA,oBAAoB,SACkC;CACtD,MAAM,EAAE,KAAK,gBAAgB,UAAU,SAAS,gBAC9C,0BAA0B;EACxB;EACA;EACA;EACA;EACA;EACA,oBAAoB,8BAA8B;EAClD,wBACE,uBAAuB,QAAQ,sBAAsB;EACvD,iBAAiB,sBAAsB;EACvC;EACD,CAAC;AAeJ,QACE,oBAAC;EAAoB;EAAgB;EAAkB;YACpD,eAhBY,mBAAmB;GAClC;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACD,CAAC,EAG4B,gBAAgB;GAC3B"}
@@ -17,11 +17,13 @@ function WorkerPoolContextProvider({ children, poolOptions, highlighterOptions }
17
17
  });
18
18
  });
19
19
  useInsertionEffect(() => {
20
- instanceCount++;
21
- return () => {
22
- instanceCount--;
23
- };
24
- }, []);
20
+ if (poolManager != null) {
21
+ instanceCount++;
22
+ return () => {
23
+ instanceCount--;
24
+ };
25
+ }
26
+ }, [poolManager]);
25
27
  useEffect(() => {
26
28
  return () => {
27
29
  if (instanceCount === 0) terminateWorkerPoolSingleton();
@@ -1 +1 @@
1
- {"version":3,"file":"WorkerPoolContext.js","names":["WorkerPoolContext: Context<WorkerPoolManager | undefined>"],"sources":["../../src/react/WorkerPoolContext.tsx"],"sourcesContent":["'use client';\n\nimport {\n type Context,\n createContext,\n type ReactNode,\n useContext,\n useEffect,\n useInsertionEffect,\n useState,\n} from 'react';\n\nimport {\n getOrCreateWorkerPoolSingleton,\n type SetupWorkerPoolProps,\n terminateWorkerPoolSingleton,\n type WorkerInitializationRenderOptions,\n type WorkerPoolManager,\n type WorkerPoolOptions,\n} from '../worker';\n\nexport type { WorkerPoolOptions, WorkerInitializationRenderOptions };\n\nexport const WorkerPoolContext: Context<WorkerPoolManager | undefined> =\n createContext<WorkerPoolManager | undefined>(undefined);\n\nlet instanceCount = 0;\n\ninterface WorkerPoolContextProps extends SetupWorkerPoolProps {\n children: ReactNode;\n}\n\nexport function WorkerPoolContextProvider({\n children,\n poolOptions,\n highlighterOptions,\n}: WorkerPoolContextProps): React.JSX.Element {\n const [poolManager] = useState(() => {\n if (typeof window === 'undefined') {\n return undefined;\n }\n return getOrCreateWorkerPoolSingleton({\n poolOptions,\n highlighterOptions,\n });\n });\n // We use insertion effect for the instance counting to essentially debounce\n // potentially conflicting mount/unmounts\n useInsertionEffect(() => {\n instanceCount++;\n return () => {\n instanceCount--;\n };\n }, []);\n useEffect(() => {\n return () => {\n if (instanceCount === 0) {\n terminateWorkerPoolSingleton();\n }\n };\n }, []);\n return (\n <WorkerPoolContext.Provider value={poolManager}>\n {children}\n </WorkerPoolContext.Provider>\n );\n}\n\nexport function useWorkerPool(): WorkerPoolManager | undefined {\n return useContext(WorkerPoolContext);\n}\n"],"mappings":";;;;;;;;AAuBA,MAAaA,oBACX,cAA6C,OAAU;AAEzD,IAAI,gBAAgB;AAMpB,SAAgB,0BAA0B,EACxC,UACA,aACA,sBAC4C;CAC5C,MAAM,CAAC,eAAe,eAAe;AACnC,MAAI,OAAO,WAAW,YACpB;AAEF,SAAO,+BAA+B;GACpC;GACA;GACD,CAAC;GACF;AAGF,0BAAyB;AACvB;AACA,eAAa;AACX;;IAED,EAAE,CAAC;AACN,iBAAgB;AACd,eAAa;AACX,OAAI,kBAAkB,EACpB,+BAA8B;;IAGjC,EAAE,CAAC;AACN,QACE,oBAAC,kBAAkB;EAAS,OAAO;EAChC;GAC0B;;AAIjC,SAAgB,gBAA+C;AAC7D,QAAO,WAAW,kBAAkB"}
1
+ {"version":3,"file":"WorkerPoolContext.js","names":["WorkerPoolContext: Context<WorkerPoolManager | undefined>"],"sources":["../../src/react/WorkerPoolContext.tsx"],"sourcesContent":["'use client';\n\nimport {\n type Context,\n createContext,\n type ReactNode,\n useContext,\n useEffect,\n useInsertionEffect,\n useState,\n} from 'react';\n\nimport {\n getOrCreateWorkerPoolSingleton,\n type SetupWorkerPoolProps,\n terminateWorkerPoolSingleton,\n type WorkerInitializationRenderOptions,\n type WorkerPoolManager,\n type WorkerPoolOptions,\n} from '../worker';\n\nexport type { WorkerPoolOptions, WorkerInitializationRenderOptions };\n\nexport const WorkerPoolContext: Context<WorkerPoolManager | undefined> =\n createContext<WorkerPoolManager | undefined>(undefined);\n\nlet instanceCount = 0;\n\ninterface WorkerPoolContextProps extends SetupWorkerPoolProps {\n children: ReactNode;\n}\n\nexport function WorkerPoolContextProvider({\n children,\n poolOptions,\n highlighterOptions,\n}: WorkerPoolContextProps): React.JSX.Element {\n const [poolManager] = useState(() => {\n if (typeof window === 'undefined') {\n return undefined;\n }\n return getOrCreateWorkerPoolSingleton({\n poolOptions,\n highlighterOptions,\n });\n });\n // We use insertion effect for the instance counting to essentially debounce\n // potentially conflicting mount/unmounts\n useInsertionEffect(() => {\n if (poolManager != null) {\n instanceCount++;\n return () => {\n instanceCount--;\n };\n }\n return undefined;\n }, [poolManager]);\n useEffect(() => {\n return () => {\n if (instanceCount === 0) {\n terminateWorkerPoolSingleton();\n }\n };\n }, []);\n return (\n <WorkerPoolContext.Provider value={poolManager}>\n {children}\n </WorkerPoolContext.Provider>\n );\n}\n\nexport function useWorkerPool(): WorkerPoolManager | undefined {\n return useContext(WorkerPoolContext);\n}\n"],"mappings":";;;;;;;;AAuBA,MAAaA,oBACX,cAA6C,OAAU;AAEzD,IAAI,gBAAgB;AAMpB,SAAgB,0BAA0B,EACxC,UACA,aACA,sBAC4C;CAC5C,MAAM,CAAC,eAAe,eAAe;AACnC,MAAI,OAAO,WAAW,YACpB;AAEF,SAAO,+BAA+B;GACpC;GACA;GACD,CAAC;GACF;AAGF,0BAAyB;AACvB,MAAI,eAAe,MAAM;AACvB;AACA,gBAAa;AACX;;;IAIH,CAAC,YAAY,CAAC;AACjB,iBAAgB;AACd,eAAa;AACX,OAAI,kBAAkB,EACpB,+BAA8B;;IAGjC,EAAE,CAAC;AACN,QACE,oBAAC,kBAAkB;EAAS,OAAO;EAChC;GAC0B;;AAIjC,SAAgB,gBAA+C;AAC7D,QAAO,WAAW,kBAAkB"}
@@ -1,4 +1,4 @@
1
- import { AnnotationLineMap, AnnotationSide, AnnotationSpan, BaseCodeOptions, BaseDiffOptions, BaseDiffOptionsWithDefaults, BundledLanguage, ChangeContent, ChangeTypes, CodeColumnType, CodeToHastOptions, ConflictResolverTypes, ContextContent, CustomPreProperties, DecorationItem, DiffAcceptRejectHunkConfig, DiffAcceptRejectHunkType, DiffLineAnnotation, DiffLineEventBaseProps, DiffsHighlighter, DiffsThemeNames, ExpansionDirections, ExtensionFormatMap, FileContents, FileDiffMetadata, ForceDiffPlainTextOptions, ForceFilePlainTextOptions, GapSpan, HighlighterTypes, Hunk, HunkData, HunkExpansionRegion, HunkLineType, HunkSeparators, LanguageRegistration, LineAnnotation, LineDiffTypes, LineEventBaseProps, LineInfo, LineSpans, LineTypes, MergeConflictActionPayload, MergeConflictMarkerRow, MergeConflictMarkerRowType, MergeConflictRegion, MergeConflictResolution, ObservedAnnotationNodes, ObservedGridNodes, ParsedPatch, PrePropertiesConfig, ProcessFileConflictData, RenderDiffFilesResult, RenderDiffOptions, RenderDiffResult, RenderFileMetadata, RenderFileOptions, RenderFileResult, RenderHeaderMetadataCallback, RenderHeaderMetadataProps, RenderHeaderPrefixCallback, RenderRange, RenderWindow, RenderedDiffASTCache, RenderedFileASTCache, SelectionPoint, SelectionSide, SharedRenderState, ShikiTransformer, SupportedLanguages, ThemeRegistrationResolved, ThemeTypes, ThemedDiffResult, ThemedFileResult, ThemedToken, ThemesType, VirtualFileMetrics, VirtualWindowSpecs } from "../types.js";
1
+ import { AnnotationLineMap, AnnotationSide, AnnotationSpan, AppliedThemeStyleCache, BaseCodeOptions, BaseDiffOptions, BaseDiffOptionsWithDefaults, BundledLanguage, ChangeContent, ChangeTypes, CodeColumnType, CodeToHastOptions, ConflictResolverTypes, ContextContent, CustomPreProperties, DecorationItem, DiffAcceptRejectHunkConfig, DiffAcceptRejectHunkType, DiffLineAnnotation, DiffLineEventBaseProps, DiffsHighlighter, DiffsThemeNames, ExpansionDirections, ExtensionFormatMap, FileContents, FileDiffMetadata, FileHeaderRenderMode, ForceDiffPlainTextOptions, ForceFilePlainTextOptions, GapSpan, HighlighterTypes, Hunk, HunkData, HunkExpansionRegion, HunkLineType, HunkSeparators, LanguageRegistration, LineAnnotation, LineDiffTypes, LineEventBaseProps, LineInfo, LineSpans, LineTypes, MergeConflictActionPayload, MergeConflictMarkerRow, MergeConflictMarkerRowType, MergeConflictRegion, MergeConflictResolution, ObservedAnnotationNodes, ObservedGridNodes, ParsedPatch, PrePropertiesConfig, ProcessFileConflictData, RenderDiffFilesResult, RenderDiffOptions, RenderDiffResult, RenderFileMetadata, RenderFileOptions, RenderFileResult, RenderHeaderMetadataCallback, RenderHeaderPrefixCallback, RenderRange, RenderWindow, RenderedDiffASTCache, RenderedFileASTCache, SelectionPoint, SelectionSide, SharedRenderState, ShikiTransformer, SupportedLanguages, ThemeRegistrationResolved, ThemeTypes, ThemedDiffResult, ThemedFileResult, ThemedToken, ThemesType, VirtualFileMetrics, VirtualWindowSpecs } from "../types.js";
2
2
  import { WorkerInitializationRenderOptions, WorkerPoolOptions } from "../worker/types.js";
3
3
  import { FileOptions } from "../components/File.js";
4
4
  import { DiffBasePropsReact, FileProps } from "./types.js";
@@ -16,4 +16,4 @@ import { templateRender } from "./utils/templateRender.js";
16
16
  import { useFileDiffInstance } from "./utils/useFileDiffInstance.js";
17
17
  import { useFileInstance } from "./utils/useFileInstance.js";
18
18
  import { useStableCallback } from "./utils/useStableCallback.js";
19
- export { AnnotationLineMap, AnnotationSide, AnnotationSpan, BaseCodeOptions, BaseDiffOptions, BaseDiffOptionsWithDefaults, BundledLanguage, ChangeContent, ChangeTypes, CodeColumnType, CodeToHastOptions, ConflictResolverTypes, ContextContent, CustomPreProperties, DecorationItem, DiffAcceptRejectHunkConfig, DiffAcceptRejectHunkType, DiffBasePropsReact, DiffLineAnnotation, DiffLineEventBaseProps, DiffsHighlighter, DiffsThemeNames, ExpansionDirections, ExtensionFormatMap, File, FileContents, FileDiff, FileDiffMetadata, FileDiffProps, FileOptions, FileProps, ForceDiffPlainTextOptions, ForceFilePlainTextOptions, GapSpan, GutterUtilitySlotStyles, HighlighterTypes, Hunk, HunkData, HunkExpansionRegion, HunkLineType, HunkSeparators, LanguageRegistration, LineAnnotation, LineDiffTypes, LineEventBaseProps, LineInfo, LineSpans, LineTypes, MergeConflictActionPayload, MergeConflictActionsTypeOption, MergeConflictMarkerRow, MergeConflictMarkerRowType, MergeConflictRegion, MergeConflictResolution, MergeConflictSlotStyles, MultiFileDiff, MultiFileDiffProps, ObservedAnnotationNodes, ObservedGridNodes, ParsedPatch, PatchDiff, PatchDiffProps, PrePropertiesConfig, ProcessFileConflictData, RenderDiffFilesResult, RenderDiffOptions, RenderDiffResult, RenderFileMetadata, RenderFileOptions, RenderFileResult, RenderHeaderMetadataCallback, RenderHeaderMetadataProps, RenderHeaderPrefixCallback, RenderMergeConflictActionContext, RenderMergeConflictActions, RenderRange, RenderWindow, RenderedDiffASTCache, RenderedFileASTCache, SelectionPoint, SelectionSide, SharedRenderState, ShikiTransformer, SupportedLanguages, ThemeRegistrationResolved, ThemeTypes, ThemedDiffResult, ThemedFileResult, ThemedToken, ThemesType, UnresolvedFile, UnresolvedFileProps, UnresolvedFileReactOptions, VirtualFileMetrics, VirtualWindowSpecs, Virtualizer, VirtualizerContext, WorkerInitializationRenderOptions, WorkerPoolContext, WorkerPoolContextProvider, WorkerPoolOptions, noopRender, renderDiffChildren, renderFileChildren, templateRender, useFileDiffInstance, useFileInstance, useStableCallback, useVirtualizer, useWorkerPool };
19
+ export { AnnotationLineMap, AnnotationSide, AnnotationSpan, AppliedThemeStyleCache, BaseCodeOptions, BaseDiffOptions, BaseDiffOptionsWithDefaults, BundledLanguage, ChangeContent, ChangeTypes, CodeColumnType, CodeToHastOptions, ConflictResolverTypes, ContextContent, CustomPreProperties, DecorationItem, DiffAcceptRejectHunkConfig, DiffAcceptRejectHunkType, DiffBasePropsReact, DiffLineAnnotation, DiffLineEventBaseProps, DiffsHighlighter, DiffsThemeNames, ExpansionDirections, ExtensionFormatMap, File, FileContents, FileDiff, FileDiffMetadata, FileDiffProps, FileHeaderRenderMode, FileOptions, FileProps, ForceDiffPlainTextOptions, ForceFilePlainTextOptions, GapSpan, GutterUtilitySlotStyles, HighlighterTypes, Hunk, HunkData, HunkExpansionRegion, HunkLineType, HunkSeparators, LanguageRegistration, LineAnnotation, LineDiffTypes, LineEventBaseProps, LineInfo, LineSpans, LineTypes, MergeConflictActionPayload, MergeConflictActionsTypeOption, MergeConflictMarkerRow, MergeConflictMarkerRowType, MergeConflictRegion, MergeConflictResolution, MergeConflictSlotStyles, MultiFileDiff, MultiFileDiffProps, ObservedAnnotationNodes, ObservedGridNodes, ParsedPatch, PatchDiff, PatchDiffProps, PrePropertiesConfig, ProcessFileConflictData, RenderDiffFilesResult, RenderDiffOptions, RenderDiffResult, RenderFileMetadata, RenderFileOptions, RenderFileResult, RenderHeaderMetadataCallback, RenderHeaderPrefixCallback, RenderMergeConflictActionContext, RenderMergeConflictActions, RenderRange, RenderWindow, RenderedDiffASTCache, RenderedFileASTCache, SelectionPoint, SelectionSide, SharedRenderState, ShikiTransformer, SupportedLanguages, ThemeRegistrationResolved, ThemeTypes, ThemedDiffResult, ThemedFileResult, ThemedToken, ThemesType, UnresolvedFile, UnresolvedFileProps, UnresolvedFileReactOptions, VirtualFileMetrics, VirtualWindowSpecs, Virtualizer, VirtualizerContext, WorkerInitializationRenderOptions, WorkerPoolContext, WorkerPoolContextProvider, WorkerPoolOptions, noopRender, renderDiffChildren, renderFileChildren, templateRender, useFileDiffInstance, useFileInstance, useStableCallback, useVirtualizer, useWorkerPool };
@@ -1 +1 @@
1
- {"version":3,"file":"jsx.d.ts","names":["DIFFS_TAG_NAME","_1","HTMLElement","React","HTMLAttributes","DetailedHTMLProps","sideEffect"],"sources":["../../src/react/jsx.d.ts"],"sourcesContent":["import 'react';\nimport type { DIFFS_TAG_NAME } from '../constants';\n\ndeclare module 'react' {\n namespace JSX {\n interface IntrinsicElements {\n [DIFFS_TAG_NAME]: React.DetailedHTMLProps<\n React.HTMLAttributes<HTMLElement>,\n HTMLElement\n >;\n }\n }\n}\n"],"mappings":";;;;;EACmD,UAAA,GAAA,CAAA;IAAA,UAAA,iBAAA,CAAA;OAK5CA,cAAAA,CAL4C,EAK3BG,KAAAA,CAAME,iBALqB,CAM3CF,KAAAA,CAAMC,cAAeF,CAAAA,WAAAA,CAAAA,EACrBA,WADME,CACNF;IAFgBC;EAAjBH"}
1
+ {"version":3,"file":"jsx.d.ts","names":["DIFFS_TAG_NAME","_0","HTMLElement","React","HTMLAttributes","DetailedHTMLProps","sideEffect"],"sources":["../../src/react/jsx.d.ts"],"sourcesContent":["import 'react';\nimport type { DIFFS_TAG_NAME } from '../constants';\n\ndeclare module 'react' {\n namespace JSX {\n interface IntrinsicElements {\n [DIFFS_TAG_NAME]: React.DetailedHTMLProps<\n React.HTMLAttributes<HTMLElement>,\n HTMLElement\n >;\n }\n }\n}\n"],"mappings":";;;;;EACmD,UAAA,GAAA,CAAA;IAAA,UAAA,iBAAA,CAAA;OAK5CA,cAAAA,CAL4C,EAK3BG,KAAAA,CAAME,iBALqB,CAM3CF,KAAAA,CAAMC,cAAeF,CAAAA,WAAAA,CAAAA,EACrBA,WADME,CACNF;IAFgBC;EAAjBH"}
@@ -1,4 +1,4 @@
1
- import { DiffLineAnnotation, FileContents, LineAnnotation, RenderHeaderMetadataProps, VirtualFileMetrics } from "../types.js";
1
+ import { DiffLineAnnotation, FileContents, FileDiffMetadata, LineAnnotation, VirtualFileMetrics } from "../types.js";
2
2
  import { GetHoveredLineResult, SelectedLineRange } from "../managers/InteractionManager.js";
3
3
  import { FileOptions } from "../components/File.js";
4
4
  import { FileDiffOptions } from "../components/FileDiff.js";
@@ -11,8 +11,9 @@ interface DiffBasePropsReact<LAnnotation> {
11
11
  lineAnnotations?: DiffLineAnnotation<LAnnotation>[];
12
12
  selectedLines?: SelectedLineRange | null;
13
13
  renderAnnotation?(annotations: DiffLineAnnotation<LAnnotation>): ReactNode;
14
- renderHeaderPrefix?(props: RenderHeaderMetadataProps): ReactNode;
15
- renderHeaderMetadata?(props: RenderHeaderMetadataProps): ReactNode;
14
+ renderCustomHeader?(fileDiff: FileDiffMetadata): ReactNode;
15
+ renderHeaderPrefix?(fileDiff: FileDiffMetadata): ReactNode;
16
+ renderHeaderMetadata?(fileDiff: FileDiffMetadata): ReactNode;
16
17
  renderGutterUtility?(getHoveredLine: () => GetHoveredLineResult<'diff'> | undefined): ReactNode;
17
18
  /**
18
19
  * @deprecated Use `renderGutterUtility` instead.
@@ -29,6 +30,7 @@ interface FileProps<LAnnotation> {
29
30
  lineAnnotations?: LineAnnotation<LAnnotation>[];
30
31
  selectedLines?: SelectedLineRange | null;
31
32
  renderAnnotation?(annotations: LineAnnotation<LAnnotation>): ReactNode;
33
+ renderCustomHeader?(file: FileContents): ReactNode;
32
34
  renderHeaderPrefix?(file: FileContents): ReactNode;
33
35
  renderHeaderMetadata?(file: FileContents): ReactNode;
34
36
  renderGutterUtility?(getHoveredLine: () => GetHoveredLineResult<'file'> | undefined): ReactNode;
@@ -39,6 +41,7 @@ interface FileProps<LAnnotation> {
39
41
  className?: string;
40
42
  style?: CSSProperties;
41
43
  prerenderedHTML?: string;
44
+ disableWorkerPool?: boolean;
42
45
  }
43
46
  //#endregion
44
47
  export { DiffBasePropsReact, FileProps };