@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.
- package/dist/components/File.d.ts +21 -1
- package/dist/components/File.d.ts.map +1 -1
- package/dist/components/File.js +142 -70
- package/dist/components/File.js.map +1 -1
- package/dist/components/FileDiff.d.ts +26 -5
- package/dist/components/FileDiff.d.ts.map +1 -1
- package/dist/components/FileDiff.js +143 -89
- package/dist/components/FileDiff.js.map +1 -1
- package/dist/components/FileStream.d.ts +4 -1
- package/dist/components/FileStream.d.ts.map +1 -1
- package/dist/components/FileStream.js +27 -12
- package/dist/components/FileStream.js.map +1 -1
- package/dist/components/UnresolvedFile.js +6 -42
- package/dist/components/UnresolvedFile.js.map +1 -1
- package/dist/components/VirtulizerDevelopment.d.ts.map +1 -1
- package/dist/constants.d.ts +3 -1
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +3 -1
- package/dist/constants.js.map +1 -1
- package/dist/index.d.ts +6 -6
- package/dist/index.js +4 -4
- package/dist/managers/InteractionManager.d.ts.map +1 -1
- package/dist/react/File.d.ts +3 -1
- package/dist/react/File.d.ts.map +1 -1
- package/dist/react/File.js +5 -2
- package/dist/react/File.js.map +1 -1
- package/dist/react/FileDiff.d.ts +4 -1
- package/dist/react/FileDiff.d.ts.map +1 -1
- package/dist/react/FileDiff.js +5 -2
- package/dist/react/FileDiff.js.map +1 -1
- package/dist/react/MultiFileDiff.d.ts +4 -1
- package/dist/react/MultiFileDiff.d.ts.map +1 -1
- package/dist/react/MultiFileDiff.js +12 -6
- package/dist/react/MultiFileDiff.js.map +1 -1
- package/dist/react/PatchDiff.d.ts +4 -1
- package/dist/react/PatchDiff.d.ts.map +1 -1
- package/dist/react/PatchDiff.js +5 -2
- package/dist/react/PatchDiff.js.map +1 -1
- package/dist/react/UnresolvedFile.d.ts +4 -1
- package/dist/react/UnresolvedFile.d.ts.map +1 -1
- package/dist/react/UnresolvedFile.js +5 -2
- package/dist/react/UnresolvedFile.js.map +1 -1
- package/dist/react/WorkerPoolContext.js +7 -5
- package/dist/react/WorkerPoolContext.js.map +1 -1
- package/dist/react/index.d.ts +2 -2
- package/dist/react/jsx.d.ts.map +1 -1
- package/dist/react/types.d.ts +6 -3
- package/dist/react/types.d.ts.map +1 -1
- package/dist/react/utils/renderDiffChildren.d.ts +4 -6
- package/dist/react/utils/renderDiffChildren.d.ts.map +1 -1
- package/dist/react/utils/renderDiffChildren.js +12 -17
- package/dist/react/utils/renderDiffChildren.js.map +1 -1
- package/dist/react/utils/renderFileChildren.d.ts +2 -0
- package/dist/react/utils/renderFileChildren.d.ts.map +1 -1
- package/dist/react/utils/renderFileChildren.js +9 -6
- package/dist/react/utils/renderFileChildren.js.map +1 -1
- package/dist/react/utils/useFileDiffInstance.d.ts +7 -7
- package/dist/react/utils/useFileDiffInstance.d.ts.map +1 -1
- package/dist/react/utils/useFileDiffInstance.js +20 -11
- package/dist/react/utils/useFileDiffInstance.js.map +1 -1
- package/dist/react/utils/useFileInstance.d.ts +5 -1
- package/dist/react/utils/useFileInstance.d.ts.map +1 -1
- package/dist/react/utils/useFileInstance.js +20 -7
- package/dist/react/utils/useFileInstance.js.map +1 -1
- package/dist/react/utils/useUnresolvedFileInstance.d.ts +5 -1
- package/dist/react/utils/useUnresolvedFileInstance.d.ts.map +1 -1
- package/dist/react/utils/useUnresolvedFileInstance.js +17 -4
- package/dist/react/utils/useUnresolvedFileInstance.js.map +1 -1
- package/dist/renderers/DiffHunksRenderer.d.ts +14 -9
- package/dist/renderers/DiffHunksRenderer.d.ts.map +1 -1
- package/dist/renderers/DiffHunksRenderer.js +9 -19
- package/dist/renderers/DiffHunksRenderer.js.map +1 -1
- package/dist/renderers/FileRenderer.d.ts +5 -4
- package/dist/renderers/FileRenderer.d.ts.map +1 -1
- package/dist/renderers/FileRenderer.js +7 -17
- package/dist/renderers/FileRenderer.js.map +1 -1
- package/dist/renderers/UnresolvedFileHunksRenderer.d.ts +5 -5
- package/dist/renderers/UnresolvedFileHunksRenderer.d.ts.map +1 -1
- package/dist/renderers/UnresolvedFileHunksRenderer.js +2 -2
- package/dist/renderers/UnresolvedFileHunksRenderer.js.map +1 -1
- package/dist/ssr/index.d.ts +2 -2
- package/dist/ssr/preloadDiffs.js +7 -4
- package/dist/ssr/preloadDiffs.js.map +1 -1
- package/dist/ssr/preloadFile.js +7 -2
- package/dist/ssr/preloadFile.js.map +1 -1
- package/dist/style.js +1 -1
- package/dist/style.js.map +1 -1
- package/dist/types.d.ts +11 -11
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/arePrePropertiesEqual.js +1 -1
- package/dist/utils/arePrePropertiesEqual.js.map +1 -1
- package/dist/utils/createFileHeaderElement.d.ts +3 -5
- package/dist/utils/createFileHeaderElement.d.ts.map +1 -1
- package/dist/utils/createFileHeaderElement.js +13 -9
- package/dist/utils/createFileHeaderElement.js.map +1 -1
- package/dist/utils/createPreElement.d.ts +0 -2
- package/dist/utils/createPreElement.d.ts.map +1 -1
- package/dist/utils/createPreElement.js +4 -7
- package/dist/utils/createPreElement.js.map +1 -1
- package/dist/utils/createStyleElement.d.ts +2 -1
- package/dist/utils/createStyleElement.d.ts.map +1 -1
- package/dist/utils/createStyleElement.js +9 -2
- package/dist/utils/createStyleElement.js.map +1 -1
- package/dist/utils/cssWrappers.d.ts +4 -1
- package/dist/utils/cssWrappers.d.ts.map +1 -1
- package/dist/utils/cssWrappers.js +11 -2
- package/dist/utils/cssWrappers.js.map +1 -1
- package/dist/utils/hast_utils.d.ts +1 -1
- package/dist/utils/hast_utils.d.ts.map +1 -1
- package/dist/utils/hast_utils.js.map +1 -1
- package/dist/utils/hostTheme.d.ts +15 -0
- package/dist/utils/hostTheme.d.ts.map +1 -0
- package/dist/utils/hostTheme.js +22 -0
- package/dist/utils/hostTheme.js.map +1 -0
- package/dist/utils/parsePatchFiles.js +1 -1
- package/dist/utils/parsePatchFiles.js.map +1 -1
- package/dist/utils/renderDiffWithHighlighter.js +1 -4
- package/dist/utils/renderDiffWithHighlighter.js.map +1 -1
- package/dist/utils/renderFileWithHighlighter.js +1 -3
- package/dist/utils/renderFileWithHighlighter.js.map +1 -1
- package/dist/utils/resolveRegion.js +14 -7
- package/dist/utils/resolveRegion.js.map +1 -1
- package/dist/utils/setWrapperNodeProps.d.ts +0 -2
- package/dist/utils/setWrapperNodeProps.d.ts.map +1 -1
- package/dist/utils/setWrapperNodeProps.js +1 -4
- package/dist/utils/setWrapperNodeProps.js.map +1 -1
- package/dist/worker/worker-portable.js +4 -13
- package/dist/worker/worker-portable.js.map +1 -1
- package/dist/worker/worker.js +2 -7
- package/dist/worker/worker.js.map +1 -1
- 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":";;;KACYM,QAAAA;KACAC,sBAAAA;AADAD,UAEKE,gBAAAA,SAAyBL,kBAFtB,CAAA;EACRI,KAAAA,EAEDE,YAFCF;AACZ;AAGiBG,UAAAA,qBAAAA,SAA8BP,kBAAAA,CAAAA;EAG9BQ,KAAAA,EAFNF,YAEME;AAGjB;AAGiBE,UANAF,oBAAAA,SAA6BV,sBAUnB,CAAA;EAEfa,KAAAA,EAXDL,YAWCK;AAAiG;AAC1EP,UAVlBK,yBAAAA,SAAkCX,sBAUhBM,CAAAA;EAA0BS,KAAAA,EATlDP,YASkDO;;AAA0CL,UAPtFE,iBAAAA,CAOsFF;EAAoB,KAAA,EAAA,MAAA;EACtHM,IAAAA,CAAAA,EANMZ,aAMNY;EAA0CV,GAAAA,EAAAA,MAAAA;EAA0BS,OAAAA,CAAAA,EAJ3DX,aAI2DW;;AAA+CJ,KAF5GE,mBAAAA,GAE4GF,CAAAA,UAAAA,EAAAA,MAAAA,EAAAA,IAAAA,CAAAA,EAF1DP,aAE0DO,EAAAA,GAAAA,CAAAA,MAAAA,EAAAA,MAAAA,CAAAA,GAAAA,SAAAA;KADnHG,eAC4I,CAAA,cAD9GR,sBAC8G,CAAA,GADpFS,KACoF,SAAA,MAAA,GAD7DR,gBAC6D,GAD1CG,oBAC0C;AACjJ,KADKM,2BAC2B,CAAA,cADeV,sBACf,CAAA,GADyCS,KACzC,SAAA,MAAA,GADgEN,qBAChE,GADwFE,yBACxF;AAAeL,KAAnCW,oBAAmCX,CAAAA,cAAAA,sBAAAA,CAAAA,GAA0BS,KAA1BT,SAAAA,MAAAA,GAAAA;EAA0BS,UAAAA,EAAAA,MAAAA;CAI/DhB,GAAAA;EAAc,UAAA,EAAA,MAAA;EAEPmB,IAAAA,EAFPnB,cAEOmB;AAKjB,CAAA;AAA6DZ,UAL5CY,yBAAAA,CAK4CZ;EAG5BM,IAAAA,EAAAA,uBAAAA;EACOG,UAAAA,EAPxBZ,uBAOwBY;EAAhBD,aAAAA,EAAAA,MAAAA;;AACMA,UALbK,6BAKaL,CAAAA,cAL+BR,sBAK/BQ,CAAAA,CAAAA;EACsBC,kBAAAA,CAAAA,EAAAA,UAAAA,GAAAA,MAAAA,GAAAA,QAAAA,GAAAA,MAAAA;EAA5BC,mBAAAA,CAAAA,EAAAA,OAAAA;EAC4BD,oBAAAA,EAAAA,KAAAA,EAJnBH,iBAImBG,CAAAA,EAAAA,OAAAA;EAA5BC,WAAAA,EAAAA,KAAAA,EAHAF,eAGAE,CAHgBD,KAGhBC,CAAAA,CAAAA,EAAAA,OAAAA;EACGX,iBAAAA,EAAAA,KAAAA,EAHGS,eAGHT,CAHmBU,KAGnBV,CAAAA,CAAAA,EAAAA,OAAAA;EAEEO,WAAAA,EAAAA,KAAAA,EAJLI,2BAIKJ,CAJuBG,KAIvBH,CAAAA,CAAAA,EAAAA,OAAAA;EACMA,WAAAA,EAAAA,KAAAA,EAJXI,2BAIWJ,CAJiBG,KAIjBH,CAAAA,CAAAA,EAAAA,OAAAA;EACCA,oBAAAA,CAAAA,EAJTP,QAISO;EACHA,mBAAAA,CAAAA,EAAAA,OAAAA;EACdC,cAAAA,CAAAA,EAAAA,CAAAA,KAAAA,EAJUD,iBAIVC,GAAAA,IAAAA,EAAAA,GAAAA,IAAAA;EAAmB,oBAAA,CAAA,EAAA,CAAA,KAAA,EAHHD,iBAGG,GAAA,IAAA,EAAA,GAAA,IAAA;EAErBQ,qBAAAA,CAAAA,EAAAA,CAAAA,KAAyB,EAJNR,iBAIM,GAAA,IAAA,EAAA,GAAA,IAAA;EAAeN,kBAAAA,CAAAA,EAAAA,CAAAA,KAAAA,EAHxBM,iBAGwBN,GAAAA,IAAAA,EAAAA,GAAAA,IAAAA;EAA8DS,YAAAA,CAAAA,EAFpGF,mBAEoGE;;AAG/EG,UAHvBE,yBAGuBF,CAAAA,cAHiBZ,sBAGjBY,CAAAA,SAHiDC,6BAGjDD,CAH+EH,KAG/EG,CAAAA,CAAAA;EAHiDC,uBAAAA,CAAAA,EAAAA,OAAAA;EAA6B,YAAA,EAAA,SAAA,EAAA,MAAA,EAAA,SAAA,EAEtElB,mBAFsE,EAAA,0BAAA,CAAA,EAAA,MAAA,CAAA,EAAA,OAAA;EAKjGoB,0BAAkB,EAAAN,MAAAA,EAFCG,yBAED,CAAA,EAAA,IAAA;;AAiBjBH,cAjBDM,kBAiBCN,CAAAA,cAjBgCT,sBAiBhCS,CAAAA,CAAAA;EAA0CA,QAAAA,IAAAA;EAA1BK,QAAAA,OAAAA;EACYL,QAAAA,WAAAA;EAA1BK,QAAAA,GAAAA;EAETE,QAAAA,sBAAAA;EAGSV,QAAAA,mBAAAA;EACJA,QAAAA,iBAAAA;EAC2BG,QAAAA,oBAAAA;EAArBE,QAAAA,0BAAAA;EACMM,QAAAA,mBAAAA;EACDf,QAAAA,2BAAAA;EACCA,QAAAA,aAAAA;EAAY,QAAA,sBAAA;EAkCvCgB,QAAAA,eAAAA;EAAsClB,QAAAA,qBAAAA;EAAwDS,QAAAA,cAAAA;EAA9BI,WAAAA,CAAAA,IAAAA,EA7C/CJ,KA6C+CI,EAAAA,OAAAA,EA7C/BC,yBA6C+BD,CA7CLJ,KA6CKI,CAAAA;EAEFJ,UAAAA,CAAAA,OAAAA,EA9C3CK,yBA8C2CL,CA9CjBA,KA8CiBA,CAAAA,CAAAA,EAAAA,IAAAA;EAArBE,OAAAA,CAAAA,CAAAA,EAAAA,IAAAA;EAA0CQ,KAAAA,CAAAA,GAAAA,EA5CzEH,cA4CyEG,CAAAA,EAAAA,IAAAA;EACtBV,iBAAAA,CAAAA,CAAAA,EAAAA,IAAAA;EAArBE,gBAAAA,CAAAA,CAAAA,EAAAA,OAAAA;EAA0CQ,YAAAA,CAAAA,KAAAA,EA1C/Db,iBA0C+Da,GAAAA,IAAAA,CAAAA,EAAAA,IAAAA;EAAW,YAAA,CAAA,CAAA,EAzC9Eb,iBAyC8E,GAAA,IAAA;EAE1Ec,cAAAA,EAAAA,GAAAA,GA1CET,oBA0CqBF,CA1CAA,KA0CA,CAAA,GAAA,SAAA;EAAeT,kBAAAA,EAAAA,CAAAA,KAAAA,EAzC9BiB,UAyC8BjB,EAAAA,GAAAA,IAAAA;EAA0BqB,iBAAAA,EAAAA,CAAAA,KAAAA,EAxCzDnB,YAwCyDmB,EAAAA,GAAAA,IAAAA;EAAqBC,kBAAAA,EAAAA,CAAAA,KAAAA,EAvC7EpB,YAuC6EoB,EAAAA,GAAAA,IAAAA;EAAoBC,QAAAA,kBAAAA;EAAoBC,QAAAA,oBAAAA;EAAsBC,QAAAA,+BAAAA;EAAaC,QAAAA,iBAAAA;EAAaC,QAAAA,iCAAAA;EAAaC,QAAAA,mCAAAA;EAAmBC,QAAAA,yBAAAA;EAAqBC,QAAAA,uBAAAA;EAAoBC,QAAAA,2BAAAA;EAAsBC,QAAAA,gBAAAA;EAAqBC,QAAAA,cAAAA;EAAgBC,QAAAA,uBAAAA;EAAsBC,QAAAA,8BAAAA;EAAuBC,QAAAA,8BAAAA;EAA8C3B,QAAAA,mBAAAA;EAAxBS,QAAAA,2BAAAA;EAA8EvB,QAAAA,uBAAAA;EAA6EY,QAAAA,yBAAAA;EAA2DK,QAAAA,YAAAA;EAA+DH,QAAAA,eAAAA;EAA1BK,QAAAA,uBAAAA;EAAyB,QAAA,eAAA;;;;;;;;;;;;KAL3pBI,sCAAsClB,0BAA0Ba,8BAA8BJ;;4CAErDE,qBAAqBF,qBAAqBU;2CAC3CR,qBAAqBF,qBAAqBU;;iBAE/DC,sCAAsCpB;;;;;;;;;;;;;;;;;GAA8UkB,wBAAwBT,sDAAsDd,6EAA6EY,2DAA2DK,qCAAqCE,0BAA0BL"}
|
|
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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"}
|
package/dist/react/File.d.ts
CHANGED
|
@@ -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 };
|
package/dist/react/File.d.ts.map
CHANGED
|
@@ -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
|
|
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"}
|
package/dist/react/File.js
CHANGED
|
@@ -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,
|
package/dist/react/File.js.map
CHANGED
|
@@ -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,
|
|
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"}
|
package/dist/react/FileDiff.d.ts
CHANGED
|
@@ -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;;
|
|
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"}
|
package/dist/react/FileDiff.js
CHANGED
|
@@ -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":";;;;;;;;;;
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
28
|
-
|
|
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
|
|
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;;
|
|
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"}
|
package/dist/react/PatchDiff.js
CHANGED
|
@@ -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":";;;;;;;;;;;;
|
|
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;;
|
|
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":";;;;;;;;;;
|
|
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
|
-
|
|
21
|
-
|
|
22
|
-
|
|
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
|
|
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"}
|
package/dist/react/index.d.ts
CHANGED
|
@@ -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,
|
|
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,
|
|
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 };
|
package/dist/react/jsx.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jsx.d.ts","names":["DIFFS_TAG_NAME","
|
|
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"}
|
package/dist/react/types.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { DiffLineAnnotation, FileContents,
|
|
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
|
-
|
|
15
|
-
|
|
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 };
|