@pierre/diffs 1.3.0-beta.5 → 1.3.0-beta.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 (623) hide show
  1. package/README.md +9 -9
  2. package/dist/components/CodeView.d.ts +10 -11
  3. package/dist/components/CodeView.d.ts.map +1 -1
  4. package/dist/components/CodeView.js +8 -8
  5. package/dist/components/CodeView.js.map +1 -1
  6. package/dist/components/File.d.ts +4 -5
  7. package/dist/components/File.d.ts.map +1 -1
  8. package/dist/components/File.js +32 -17
  9. package/dist/components/File.js.map +1 -1
  10. package/dist/components/FileDiff.d.ts +19 -19
  11. package/dist/components/FileDiff.d.ts.map +1 -1
  12. package/dist/components/FileDiff.js +84 -54
  13. package/dist/components/FileDiff.js.map +1 -1
  14. package/dist/components/FileStream.d.ts +0 -1
  15. package/dist/components/FileStream.d.ts.map +1 -1
  16. package/dist/components/FileStream.js +4 -4
  17. package/dist/components/FileStream.js.map +1 -1
  18. package/dist/components/UnresolvedFile.d.ts +1 -2
  19. package/dist/components/UnresolvedFile.d.ts.map +1 -1
  20. package/dist/components/UnresolvedFile.js +3 -3
  21. package/dist/components/UnresolvedFile.js.map +1 -1
  22. package/dist/components/VirtualizedFile.d.ts +0 -1
  23. package/dist/components/VirtualizedFile.d.ts.map +1 -1
  24. package/dist/components/VirtualizedFile.js +19 -18
  25. package/dist/components/VirtualizedFile.js.map +1 -1
  26. package/dist/components/VirtualizedFileDiff.d.ts +2 -3
  27. package/dist/components/VirtualizedFileDiff.d.ts.map +1 -1
  28. package/dist/components/VirtualizedFileDiff.js +17 -18
  29. package/dist/components/VirtualizedFileDiff.js.map +1 -1
  30. package/dist/components/Virtualizer.d.ts +1 -1
  31. package/dist/components/Virtualizer.d.ts.map +1 -1
  32. package/dist/components/Virtualizer.js +23 -24
  33. package/dist/components/Virtualizer.js.map +1 -1
  34. package/dist/components/VirtulizerDevelopment.d.ts.map +1 -1
  35. package/dist/components/web-components.d.ts.map +1 -1
  36. package/dist/components/web-components.js +2 -3
  37. package/dist/components/web-components.js.map +1 -1
  38. package/dist/constants.d.ts +3 -2
  39. package/dist/constants.d.ts.map +1 -1
  40. package/dist/constants.js +3 -2
  41. package/dist/constants.js.map +1 -1
  42. package/dist/editor/command.d.ts +2 -1
  43. package/dist/editor/command.d.ts.map +1 -1
  44. package/dist/editor/command.js +7 -3
  45. package/dist/editor/command.js.map +1 -1
  46. package/dist/editor/editStack.d.ts +7 -1
  47. package/dist/editor/editStack.d.ts.map +1 -1
  48. package/dist/editor/editStack.js +3 -3
  49. package/dist/editor/editStack.js.map +1 -1
  50. package/dist/editor/editor.d.ts +26 -2
  51. package/dist/editor/editor.d.ts.map +1 -1
  52. package/dist/editor/editor.js +551 -252
  53. package/dist/editor/editor.js.map +1 -1
  54. package/dist/editor/editor2.js +3 -3
  55. package/dist/editor/editor2.js.map +1 -1
  56. package/dist/editor/index.js +1 -2
  57. package/dist/editor/lineAnnotations.d.ts.map +1 -1
  58. package/dist/editor/lineAnnotations.js +2 -3
  59. package/dist/editor/lineAnnotations.js.map +1 -1
  60. package/dist/editor/marker.d.ts +2 -1
  61. package/dist/editor/marker.d.ts.map +1 -1
  62. package/dist/editor/marker.js +28 -11
  63. package/dist/editor/marker.js.map +1 -1
  64. package/dist/editor/pieceTable.d.ts +4 -2
  65. package/dist/editor/pieceTable.d.ts.map +1 -1
  66. package/dist/editor/pieceTable.js +138 -128
  67. package/dist/editor/pieceTable.js.map +1 -1
  68. package/dist/editor/platform.d.ts +8 -1
  69. package/dist/editor/platform.d.ts.map +1 -1
  70. package/dist/editor/platform.js +16 -5
  71. package/dist/editor/platform.js.map +1 -1
  72. package/dist/editor/searchPanel.d.ts +1 -0
  73. package/dist/editor/searchPanel.d.ts.map +1 -1
  74. package/dist/editor/searchPanel.js +75 -62
  75. package/dist/editor/searchPanel.js.map +1 -1
  76. package/dist/editor/selection.d.ts +41 -4
  77. package/dist/editor/selection.d.ts.map +1 -1
  78. package/dist/editor/selection.js +423 -83
  79. package/dist/editor/selection.js.map +1 -1
  80. package/dist/editor/selectionAction.d.ts +4 -5
  81. package/dist/editor/selectionAction.d.ts.map +1 -1
  82. package/dist/editor/selectionAction.js +14 -64
  83. package/dist/editor/selectionAction.js.map +1 -1
  84. package/dist/editor/sprite.d.ts +2 -2
  85. package/dist/editor/sprite.d.ts.map +1 -1
  86. package/dist/editor/sprite.js +7 -14
  87. package/dist/editor/sprite.js.map +1 -1
  88. package/dist/editor/textDocument.d.ts +5 -4
  89. package/dist/editor/textDocument.d.ts.map +1 -1
  90. package/dist/editor/textDocument.js +26 -15
  91. package/dist/editor/textDocument.js.map +1 -1
  92. package/dist/editor/textMeasure.d.ts +36 -3
  93. package/dist/editor/textMeasure.d.ts.map +1 -1
  94. package/dist/editor/textMeasure.js +79 -10
  95. package/dist/editor/textMeasure.js.map +1 -1
  96. package/dist/editor/tokenzier.d.ts +1 -0
  97. package/dist/editor/tokenzier.d.ts.map +1 -1
  98. package/dist/editor/tokenzier.js +16 -13
  99. package/dist/editor/tokenzier.js.map +1 -1
  100. package/dist/editor/utils.d.ts +2 -1
  101. package/dist/editor/utils.d.ts.map +1 -1
  102. package/dist/editor/utils.js +6 -3
  103. package/dist/editor/utils.js.map +1 -1
  104. package/dist/highlighter/languages/areLanguagesAttached.d.ts.map +1 -1
  105. package/dist/highlighter/languages/areLanguagesAttached.js +1 -2
  106. package/dist/highlighter/languages/areLanguagesAttached.js.map +1 -1
  107. package/dist/highlighter/languages/attachResolvedLanguages.d.ts +0 -2
  108. package/dist/highlighter/languages/attachResolvedLanguages.d.ts.map +1 -1
  109. package/dist/highlighter/languages/attachResolvedLanguages.js +1 -2
  110. package/dist/highlighter/languages/attachResolvedLanguages.js.map +1 -1
  111. package/dist/highlighter/languages/cleanUpResolvedLanguages.d.ts.map +1 -1
  112. package/dist/highlighter/languages/cleanUpResolvedLanguages.js +1 -2
  113. package/dist/highlighter/languages/cleanUpResolvedLanguages.js.map +1 -1
  114. package/dist/highlighter/languages/constants.d.ts +0 -1
  115. package/dist/highlighter/languages/constants.d.ts.map +1 -1
  116. package/dist/highlighter/languages/constants.js +1 -1
  117. package/dist/highlighter/languages/constants.js.map +1 -1
  118. package/dist/highlighter/languages/getResolvedLanguages.d.ts +0 -2
  119. package/dist/highlighter/languages/getResolvedLanguages.d.ts.map +1 -1
  120. package/dist/highlighter/languages/getResolvedLanguages.js +1 -2
  121. package/dist/highlighter/languages/getResolvedLanguages.js.map +1 -1
  122. package/dist/highlighter/languages/getResolvedOrResolveLanguage.d.ts +0 -2
  123. package/dist/highlighter/languages/getResolvedOrResolveLanguage.d.ts.map +1 -1
  124. package/dist/highlighter/languages/getResolvedOrResolveLanguage.js +1 -2
  125. package/dist/highlighter/languages/getResolvedOrResolveLanguage.js.map +1 -1
  126. package/dist/highlighter/languages/hasResolvedLanguages.d.ts.map +1 -1
  127. package/dist/highlighter/languages/hasResolvedLanguages.js +1 -2
  128. package/dist/highlighter/languages/hasResolvedLanguages.js.map +1 -1
  129. package/dist/highlighter/languages/registerCustomLanguage.d.ts +0 -1
  130. package/dist/highlighter/languages/registerCustomLanguage.d.ts.map +1 -1
  131. package/dist/highlighter/languages/registerCustomLanguage.js +1 -2
  132. package/dist/highlighter/languages/registerCustomLanguage.js.map +1 -1
  133. package/dist/highlighter/languages/resolveLanguage.d.ts +0 -2
  134. package/dist/highlighter/languages/resolveLanguage.d.ts.map +1 -1
  135. package/dist/highlighter/languages/resolveLanguage.js +4 -5
  136. package/dist/highlighter/languages/resolveLanguage.js.map +1 -1
  137. package/dist/highlighter/languages/resolveLanguages.d.ts +0 -2
  138. package/dist/highlighter/languages/resolveLanguages.d.ts.map +1 -1
  139. package/dist/highlighter/languages/resolveLanguages.js +1 -2
  140. package/dist/highlighter/languages/resolveLanguages.js.map +1 -1
  141. package/dist/highlighter/shared_highlighter.d.ts.map +1 -1
  142. package/dist/highlighter/shared_highlighter.js +3 -4
  143. package/dist/highlighter/shared_highlighter.js.map +1 -1
  144. package/dist/highlighter/themes/areThemesAttached.d.ts.map +1 -1
  145. package/dist/highlighter/themes/areThemesAttached.js +1 -2
  146. package/dist/highlighter/themes/areThemesAttached.js.map +1 -1
  147. package/dist/highlighter/themes/attachResolvedThemes.d.ts.map +1 -1
  148. package/dist/highlighter/themes/attachResolvedThemes.js +1 -2
  149. package/dist/highlighter/themes/attachResolvedThemes.js.map +1 -1
  150. package/dist/highlighter/themes/cleanUpResolvedThemes.d.ts.map +1 -1
  151. package/dist/highlighter/themes/cleanUpResolvedThemes.js +1 -2
  152. package/dist/highlighter/themes/cleanUpResolvedThemes.js.map +1 -1
  153. package/dist/highlighter/themes/constants.d.ts.map +1 -1
  154. package/dist/highlighter/themes/constants.js +1 -1
  155. package/dist/highlighter/themes/constants.js.map +1 -1
  156. package/dist/highlighter/themes/getResolvedOrResolveTheme.d.ts.map +1 -1
  157. package/dist/highlighter/themes/getResolvedOrResolveTheme.js +1 -2
  158. package/dist/highlighter/themes/getResolvedOrResolveTheme.js.map +1 -1
  159. package/dist/highlighter/themes/getResolvedThemes.d.ts.map +1 -1
  160. package/dist/highlighter/themes/getResolvedThemes.js +1 -2
  161. package/dist/highlighter/themes/getResolvedThemes.js.map +1 -1
  162. package/dist/highlighter/themes/hasResolvedThemes.d.ts.map +1 -1
  163. package/dist/highlighter/themes/hasResolvedThemes.js +1 -2
  164. package/dist/highlighter/themes/hasResolvedThemes.js.map +1 -1
  165. package/dist/highlighter/themes/registerCustomCSSVariableTheme.d.ts.map +1 -1
  166. package/dist/highlighter/themes/registerCustomCSSVariableTheme.js +1 -2
  167. package/dist/highlighter/themes/registerCustomCSSVariableTheme.js.map +1 -1
  168. package/dist/highlighter/themes/registerCustomTheme.d.ts.map +1 -1
  169. package/dist/highlighter/themes/registerCustomTheme.js +1 -2
  170. package/dist/highlighter/themes/registerCustomTheme.js.map +1 -1
  171. package/dist/highlighter/themes/resolveTheme.d.ts.map +1 -1
  172. package/dist/highlighter/themes/resolveTheme.js +1 -2
  173. package/dist/highlighter/themes/resolveTheme.js.map +1 -1
  174. package/dist/highlighter/themes/resolveThemes.d.ts.map +1 -1
  175. package/dist/highlighter/themes/resolveThemes.js +1 -2
  176. package/dist/highlighter/themes/resolveThemes.js.map +1 -1
  177. package/dist/highlighter/themes/themeResolution.d.ts.map +1 -1
  178. package/dist/highlighter/themes/themeResolution.js +1 -2
  179. package/dist/highlighter/themes/themeResolution.js.map +1 -1
  180. package/dist/highlighter/themes/themeResolver.d.ts +2 -2
  181. package/dist/highlighter/themes/themeResolver.d.ts.map +1 -1
  182. package/dist/highlighter/themes/themeResolver.js +1 -2
  183. package/dist/highlighter/themes/themeResolver.js.map +1 -1
  184. package/dist/index.d.ts +10 -10
  185. package/dist/index.js +2 -3
  186. package/dist/managers/InteractionManager.d.ts +7 -0
  187. package/dist/managers/InteractionManager.d.ts.map +1 -1
  188. package/dist/managers/InteractionManager.js +25 -3
  189. package/dist/managers/InteractionManager.js.map +1 -1
  190. package/dist/managers/ResizeManager.d.ts.map +1 -1
  191. package/dist/managers/ResizeManager.js +1 -1
  192. package/dist/managers/ResizeManager.js.map +1 -1
  193. package/dist/managers/ScrollSyncManager.d.ts.map +1 -1
  194. package/dist/managers/ScrollSyncManager.js +1 -1
  195. package/dist/managers/ScrollSyncManager.js.map +1 -1
  196. package/dist/managers/UniversalRenderingManager.d.ts.map +1 -1
  197. package/dist/managers/UniversalRenderingManager.js +2 -2
  198. package/dist/managers/UniversalRenderingManager.js.map +1 -1
  199. package/dist/node_modules/.pnpm/@types_hast@3.0.4/node_modules/@types/hast/index.d.ts +228 -0
  200. package/dist/node_modules/.pnpm/@types_hast@3.0.4/node_modules/@types/hast/index.d.ts.map +1 -0
  201. package/dist/node_modules/.pnpm/@types_unist@3.0.3/node_modules/@types/unist/index.d.ts +84 -0
  202. package/dist/node_modules/.pnpm/@types_unist@3.0.3/node_modules/@types/unist/index.d.ts.map +1 -0
  203. package/dist/react/CodeView.d.ts +1 -1
  204. package/dist/react/CodeView.d.ts.map +1 -1
  205. package/dist/react/CodeView.js +17 -16
  206. package/dist/react/CodeView.js.map +1 -1
  207. package/dist/react/EditorContext.d.ts +0 -1
  208. package/dist/react/EditorContext.d.ts.map +1 -1
  209. package/dist/react/EditorContext.js +2 -5
  210. package/dist/react/EditorContext.js.map +1 -1
  211. package/dist/react/File.d.ts +1 -0
  212. package/dist/react/File.d.ts.map +1 -1
  213. package/dist/react/File.js +4 -6
  214. package/dist/react/File.js.map +1 -1
  215. package/dist/react/FileDiff.d.ts +1 -0
  216. package/dist/react/FileDiff.d.ts.map +1 -1
  217. package/dist/react/FileDiff.js +4 -6
  218. package/dist/react/FileDiff.js.map +1 -1
  219. package/dist/react/MultiFileDiff.d.ts +1 -0
  220. package/dist/react/MultiFileDiff.d.ts.map +1 -1
  221. package/dist/react/MultiFileDiff.js +4 -6
  222. package/dist/react/MultiFileDiff.js.map +1 -1
  223. package/dist/react/PatchDiff.d.ts +1 -0
  224. package/dist/react/PatchDiff.d.ts.map +1 -1
  225. package/dist/react/PatchDiff.js +4 -6
  226. package/dist/react/PatchDiff.js.map +1 -1
  227. package/dist/react/UnresolvedFile.d.ts +2 -1
  228. package/dist/react/UnresolvedFile.d.ts.map +1 -1
  229. package/dist/react/UnresolvedFile.js +4 -6
  230. package/dist/react/UnresolvedFile.js.map +1 -1
  231. package/dist/react/Virtualizer.d.ts.map +1 -1
  232. package/dist/react/Virtualizer.js +2 -5
  233. package/dist/react/Virtualizer.js.map +1 -1
  234. package/dist/react/WorkerPoolContext.d.ts +0 -1
  235. package/dist/react/WorkerPoolContext.d.ts.map +1 -1
  236. package/dist/react/WorkerPoolContext.js +2 -5
  237. package/dist/react/WorkerPoolContext.js.map +1 -1
  238. package/dist/react/constants.d.ts.map +1 -1
  239. package/dist/react/constants.js +1 -1
  240. package/dist/react/constants.js.map +1 -1
  241. package/dist/react/index.d.ts +2 -2
  242. package/dist/react/index.js +1 -2
  243. package/dist/react/jsx.d.ts +0 -2
  244. package/dist/react/jsx.d.ts.map +1 -1
  245. package/dist/react/types.d.ts +2 -0
  246. package/dist/react/types.d.ts.map +1 -1
  247. package/dist/react/utils/renderDiffChildren.d.ts +2 -0
  248. package/dist/react/utils/renderDiffChildren.d.ts.map +1 -1
  249. package/dist/react/utils/renderDiffChildren.js +18 -11
  250. package/dist/react/utils/renderDiffChildren.js.map +1 -1
  251. package/dist/react/utils/renderFileChildren.d.ts +2 -0
  252. package/dist/react/utils/renderFileChildren.d.ts.map +1 -1
  253. package/dist/react/utils/renderFileChildren.js +18 -11
  254. package/dist/react/utils/renderFileChildren.js.map +1 -1
  255. package/dist/react/utils/templateRender.d.ts.map +1 -1
  256. package/dist/react/utils/templateRender.js +1 -2
  257. package/dist/react/utils/templateRender.js.map +1 -1
  258. package/dist/react/utils/useFileDiffInstance.d.ts.map +1 -1
  259. package/dist/react/utils/useFileDiffInstance.js +1 -3
  260. package/dist/react/utils/useFileDiffInstance.js.map +1 -1
  261. package/dist/react/utils/useFileInstance.d.ts.map +1 -1
  262. package/dist/react/utils/useFileInstance.js +1 -2
  263. package/dist/react/utils/useFileInstance.js.map +1 -1
  264. package/dist/react/utils/useStableCallback.d.ts.map +1 -1
  265. package/dist/react/utils/useStableCallback.js +1 -2
  266. package/dist/react/utils/useStableCallback.js.map +1 -1
  267. package/dist/react/utils/useUnresolvedFileInstance.d.ts.map +1 -1
  268. package/dist/react/utils/useUnresolvedFileInstance.js +10 -11
  269. package/dist/react/utils/useUnresolvedFileInstance.js.map +1 -1
  270. package/dist/renderers/DiffHunksRenderer.d.ts +2 -3
  271. package/dist/renderers/DiffHunksRenderer.d.ts.map +1 -1
  272. package/dist/renderers/DiffHunksRenderer.js +30 -24
  273. package/dist/renderers/DiffHunksRenderer.js.map +1 -1
  274. package/dist/renderers/FileRenderer.d.ts +1 -3
  275. package/dist/renderers/FileRenderer.d.ts.map +1 -1
  276. package/dist/renderers/FileRenderer.js +14 -11
  277. package/dist/renderers/FileRenderer.js.map +1 -1
  278. package/dist/renderers/UnresolvedFileHunksRenderer.d.ts +1 -2
  279. package/dist/renderers/UnresolvedFileHunksRenderer.d.ts.map +1 -1
  280. package/dist/renderers/UnresolvedFileHunksRenderer.js +1 -2
  281. package/dist/renderers/UnresolvedFileHunksRenderer.js.map +1 -1
  282. package/dist/shiki-stream/index.js +1 -2
  283. package/dist/shiki-stream/stream.d.ts +0 -1
  284. package/dist/shiki-stream/stream.d.ts.map +1 -1
  285. package/dist/shiki-stream/stream.js +1 -2
  286. package/dist/shiki-stream/stream.js.map +1 -1
  287. package/dist/shiki-stream/tokenizer.d.ts.map +1 -1
  288. package/dist/shiki-stream/tokenizer.js +1 -1
  289. package/dist/shiki-stream/tokenizer.js.map +1 -1
  290. package/dist/shiki-stream/types.d.ts +0 -1
  291. package/dist/shiki-stream/types.d.ts.map +1 -1
  292. package/dist/sprite.d.ts.map +1 -1
  293. package/dist/sprite.js +1 -1
  294. package/dist/ssr/FileDiffReact.d.ts.map +1 -1
  295. package/dist/ssr/FileDiffReact.js +5 -8
  296. package/dist/ssr/FileDiffReact.js.map +1 -1
  297. package/dist/ssr/index.d.ts +2 -2
  298. package/dist/ssr/index.js +1 -2
  299. package/dist/ssr/preloadDiffs.d.ts +1 -1
  300. package/dist/ssr/preloadDiffs.d.ts.map +1 -1
  301. package/dist/ssr/preloadDiffs.js +1 -2
  302. package/dist/ssr/preloadDiffs.js.map +1 -1
  303. package/dist/ssr/preloadFile.d.ts.map +1 -1
  304. package/dist/ssr/preloadFile.js +1 -2
  305. package/dist/ssr/preloadFile.js.map +1 -1
  306. package/dist/ssr/preloadPatchFile.d.ts.map +1 -1
  307. package/dist/ssr/preloadPatchFile.js +2 -3
  308. package/dist/ssr/preloadPatchFile.js.map +1 -1
  309. package/dist/ssr/renderHTML.d.ts +1 -1
  310. package/dist/ssr/renderHTML.d.ts.map +1 -1
  311. package/dist/ssr/renderHTML.js +1 -2
  312. package/dist/ssr/renderHTML.js.map +1 -1
  313. package/dist/string-import.d.ts +4 -0
  314. package/dist/string-import.d.ts.map +1 -1
  315. package/dist/style.js +3 -3
  316. package/dist/style.js.map +1 -1
  317. package/dist/types.d.ts +11 -5
  318. package/dist/types.d.ts.map +1 -1
  319. package/dist/utils/areDiffLineAnnotationsEqual.d.ts.map +1 -1
  320. package/dist/utils/areDiffLineAnnotationsEqual.js +1 -1
  321. package/dist/utils/areDiffLineAnnotationsEqual.js.map +1 -1
  322. package/dist/utils/areDiffRenderOptionsEqual.d.ts.map +1 -1
  323. package/dist/utils/areDiffRenderOptionsEqual.js +1 -2
  324. package/dist/utils/areDiffRenderOptionsEqual.js.map +1 -1
  325. package/dist/utils/areDiffTargetsEqual.d.ts.map +1 -1
  326. package/dist/utils/areDiffTargetsEqual.js +1 -1
  327. package/dist/utils/areDiffTargetsEqual.js.map +1 -1
  328. package/dist/utils/areFileRenderOptionsEqual.d.ts.map +1 -1
  329. package/dist/utils/areFileRenderOptionsEqual.js +1 -2
  330. package/dist/utils/areFileRenderOptionsEqual.js.map +1 -1
  331. package/dist/utils/areFilesEqual.d.ts.map +1 -1
  332. package/dist/utils/areFilesEqual.js +1 -1
  333. package/dist/utils/areFilesEqual.js.map +1 -1
  334. package/dist/utils/areHunkDataEqual.d.ts.map +1 -1
  335. package/dist/utils/areHunkDataEqual.js +1 -1
  336. package/dist/utils/areHunkDataEqual.js.map +1 -1
  337. package/dist/utils/areLineAnnotationsEqual.d.ts.map +1 -1
  338. package/dist/utils/areLineAnnotationsEqual.js +1 -1
  339. package/dist/utils/areLineAnnotationsEqual.js.map +1 -1
  340. package/dist/utils/areManagedSnapshotsEqual.d.ts.map +1 -1
  341. package/dist/utils/areManagedSnapshotsEqual.js +1 -1
  342. package/dist/utils/areManagedSnapshotsEqual.js.map +1 -1
  343. package/dist/utils/areMergeConflictActionsEqual.d.ts.map +1 -1
  344. package/dist/utils/areMergeConflictActionsEqual.js +1 -1
  345. package/dist/utils/areMergeConflictActionsEqual.js.map +1 -1
  346. package/dist/utils/areObjectsEqual.d.ts.map +1 -1
  347. package/dist/utils/areObjectsEqual.js +1 -1
  348. package/dist/utils/areObjectsEqual.js.map +1 -1
  349. package/dist/utils/areOptionsEqual.d.ts +0 -2
  350. package/dist/utils/areOptionsEqual.d.ts.map +1 -1
  351. package/dist/utils/areOptionsEqual.js +1 -2
  352. package/dist/utils/areOptionsEqual.js.map +1 -1
  353. package/dist/utils/arePrePropertiesEqual.d.ts.map +1 -1
  354. package/dist/utils/arePrePropertiesEqual.js +1 -1
  355. package/dist/utils/arePrePropertiesEqual.js.map +1 -1
  356. package/dist/utils/areRenderRangesEqual.d.ts.map +1 -1
  357. package/dist/utils/areRenderRangesEqual.js +1 -1
  358. package/dist/utils/areRenderRangesEqual.js.map +1 -1
  359. package/dist/utils/areSelectionPointsEqual.d.ts.map +1 -1
  360. package/dist/utils/areSelectionPointsEqual.js +1 -1
  361. package/dist/utils/areSelectionPointsEqual.js.map +1 -1
  362. package/dist/utils/areSelectionsEqual.d.ts.map +1 -1
  363. package/dist/utils/areSelectionsEqual.js +1 -1
  364. package/dist/utils/areSelectionsEqual.js.map +1 -1
  365. package/dist/utils/areThemesEqual.d.ts.map +1 -1
  366. package/dist/utils/areThemesEqual.js +1 -1
  367. package/dist/utils/areThemesEqual.js.map +1 -1
  368. package/dist/utils/areVirtualWindowSpecsEqual.d.ts.map +1 -1
  369. package/dist/utils/areVirtualWindowSpecsEqual.js +1 -1
  370. package/dist/utils/areVirtualWindowSpecsEqual.js.map +1 -1
  371. package/dist/utils/areWorkerStatsEqual.d.ts +0 -2
  372. package/dist/utils/areWorkerStatsEqual.d.ts.map +1 -1
  373. package/dist/utils/areWorkerStatsEqual.js +1 -1
  374. package/dist/utils/areWorkerStatsEqual.js.map +1 -1
  375. package/dist/utils/cleanLastNewline.d.ts.map +1 -1
  376. package/dist/utils/cleanLastNewline.js +1 -1
  377. package/dist/utils/cleanLastNewline.js.map +1 -1
  378. package/dist/utils/computeEstimatedDiffHeights.d.ts.map +1 -1
  379. package/dist/utils/computeEstimatedDiffHeights.js +1 -2
  380. package/dist/utils/computeEstimatedDiffHeights.js.map +1 -1
  381. package/dist/utils/computeFileOffsets.d.ts +9 -1
  382. package/dist/utils/computeFileOffsets.d.ts.map +1 -1
  383. package/dist/utils/computeFileOffsets.js +20 -2
  384. package/dist/utils/computeFileOffsets.js.map +1 -1
  385. package/dist/utils/computeVirtualFileMetrics.d.ts.map +1 -1
  386. package/dist/utils/computeVirtualFileMetrics.js +1 -2
  387. package/dist/utils/computeVirtualFileMetrics.js.map +1 -1
  388. package/dist/utils/createAnnotationElement.d.ts +1 -1
  389. package/dist/utils/createAnnotationElement.d.ts.map +1 -1
  390. package/dist/utils/createAnnotationElement.js +1 -2
  391. package/dist/utils/createAnnotationElement.js.map +1 -1
  392. package/dist/utils/createAnnotationWrapperNode.d.ts.map +1 -1
  393. package/dist/utils/createAnnotationWrapperNode.js +1 -1
  394. package/dist/utils/createAnnotationWrapperNode.js.map +1 -1
  395. package/dist/utils/createContentColumn.d.ts +1 -1
  396. package/dist/utils/createContentColumn.d.ts.map +1 -1
  397. package/dist/utils/createContentColumn.js +1 -2
  398. package/dist/utils/createContentColumn.js.map +1 -1
  399. package/dist/utils/createEmptyRowBuffer.d.ts +1 -1
  400. package/dist/utils/createEmptyRowBuffer.d.ts.map +1 -1
  401. package/dist/utils/createEmptyRowBuffer.js +1 -2
  402. package/dist/utils/createEmptyRowBuffer.js.map +1 -1
  403. package/dist/utils/createFileHeaderElement.d.ts +1 -1
  404. package/dist/utils/createFileHeaderElement.d.ts.map +1 -1
  405. package/dist/utils/createFileHeaderElement.js +6 -3
  406. package/dist/utils/createFileHeaderElement.js.map +1 -1
  407. package/dist/utils/createGutterUtilityContentNode.d.ts.map +1 -1
  408. package/dist/utils/createGutterUtilityContentNode.js +1 -1
  409. package/dist/utils/createGutterUtilityContentNode.js.map +1 -1
  410. package/dist/utils/createGutterUtilityElement.d.ts +1 -1
  411. package/dist/utils/createGutterUtilityElement.d.ts.map +1 -1
  412. package/dist/utils/createGutterUtilityElement.js +1 -2
  413. package/dist/utils/createGutterUtilityElement.js.map +1 -1
  414. package/dist/utils/createNoNewlineElement.d.ts +1 -1
  415. package/dist/utils/createNoNewlineElement.d.ts.map +1 -1
  416. package/dist/utils/createNoNewlineElement.js +1 -2
  417. package/dist/utils/createNoNewlineElement.js.map +1 -1
  418. package/dist/utils/createPreElement.d.ts +1 -1
  419. package/dist/utils/createPreElement.d.ts.map +1 -1
  420. package/dist/utils/createPreElement.js +1 -2
  421. package/dist/utils/createPreElement.js.map +1 -1
  422. package/dist/utils/createRowNodes.d.ts.map +1 -1
  423. package/dist/utils/createRowNodes.js +1 -1
  424. package/dist/utils/createRowNodes.js.map +1 -1
  425. package/dist/utils/createSeparator.d.ts +1 -1
  426. package/dist/utils/createSeparator.d.ts.map +1 -1
  427. package/dist/utils/createSeparator.js +1 -2
  428. package/dist/utils/createSeparator.js.map +1 -1
  429. package/dist/utils/createSpanNodeFromToken.d.ts.map +1 -1
  430. package/dist/utils/createSpanNodeFromToken.js +1 -2
  431. package/dist/utils/createSpanNodeFromToken.js.map +1 -1
  432. package/dist/utils/createStyleElement.d.ts +1 -1
  433. package/dist/utils/createStyleElement.d.ts.map +1 -1
  434. package/dist/utils/createStyleElement.js +1 -2
  435. package/dist/utils/createStyleElement.js.map +1 -1
  436. package/dist/utils/createTransformerWithState.d.ts.map +1 -1
  437. package/dist/utils/createTransformerWithState.js +1 -2
  438. package/dist/utils/createTransformerWithState.js.map +1 -1
  439. package/dist/utils/createUnsafeCSSStyleNode.d.ts.map +1 -1
  440. package/dist/utils/createUnsafeCSSStyleNode.js +1 -2
  441. package/dist/utils/createUnsafeCSSStyleNode.js.map +1 -1
  442. package/dist/utils/createWindowFromScrollPosition.d.ts.map +1 -1
  443. package/dist/utils/createWindowFromScrollPosition.js +5 -5
  444. package/dist/utils/createWindowFromScrollPosition.js.map +1 -1
  445. package/dist/utils/cssWrappers.d.ts.map +1 -1
  446. package/dist/utils/cssWrappers.js +2 -3
  447. package/dist/utils/cssWrappers.js.map +1 -1
  448. package/dist/utils/detachString.d.ts.map +1 -1
  449. package/dist/utils/detachString.js +1 -1
  450. package/dist/utils/detachString.js.map +1 -1
  451. package/dist/utils/diffAcceptRejectHunk.d.ts.map +1 -1
  452. package/dist/utils/diffAcceptRejectHunk.js +1 -2
  453. package/dist/utils/diffAcceptRejectHunk.js.map +1 -1
  454. package/dist/utils/formatCSSVariablePrefix.d.ts.map +1 -1
  455. package/dist/utils/formatCSSVariablePrefix.js +1 -1
  456. package/dist/utils/formatCSSVariablePrefix.js.map +1 -1
  457. package/dist/utils/getDiffHunksRendererOptions.d.ts.map +1 -1
  458. package/dist/utils/getDiffHunksRendererOptions.js +1 -1
  459. package/dist/utils/getDiffHunksRendererOptions.js.map +1 -1
  460. package/dist/utils/getFileRendererOptions.d.ts.map +1 -1
  461. package/dist/utils/getFileRendererOptions.js +1 -1
  462. package/dist/utils/getFileRendererOptions.js.map +1 -1
  463. package/dist/utils/getFiletypeFromFileName.d.ts.map +1 -1
  464. package/dist/utils/getFiletypeFromFileName.js +1 -1
  465. package/dist/utils/getFiletypeFromFileName.js.map +1 -1
  466. package/dist/utils/getHighlighterOptions.d.ts.map +1 -1
  467. package/dist/utils/getHighlighterOptions.js +1 -2
  468. package/dist/utils/getHighlighterOptions.js.map +1 -1
  469. package/dist/utils/getHighlighterThemeStyles.d.ts.map +1 -1
  470. package/dist/utils/getHighlighterThemeStyles.js +1 -2
  471. package/dist/utils/getHighlighterThemeStyles.js.map +1 -1
  472. package/dist/utils/getHunkSeparatorSlotName.d.ts.map +1 -1
  473. package/dist/utils/getHunkSeparatorSlotName.js +1 -1
  474. package/dist/utils/getHunkSeparatorSlotName.js.map +1 -1
  475. package/dist/utils/getIconForType.d.ts.map +1 -1
  476. package/dist/utils/getIconForType.js +1 -1
  477. package/dist/utils/getIconForType.js.map +1 -1
  478. package/dist/utils/getLineAnnotationName.d.ts.map +1 -1
  479. package/dist/utils/getLineAnnotationName.js +1 -1
  480. package/dist/utils/getLineAnnotationName.js.map +1 -1
  481. package/dist/utils/getLineEndingType.d.ts.map +1 -1
  482. package/dist/utils/getLineEndingType.js +1 -1
  483. package/dist/utils/getLineEndingType.js.map +1 -1
  484. package/dist/utils/getLineNodes.d.ts +1 -1
  485. package/dist/utils/getLineNodes.d.ts.map +1 -1
  486. package/dist/utils/getLineNodes.js +1 -1
  487. package/dist/utils/getLineNodes.js.map +1 -1
  488. package/dist/utils/getMergeConflictActionSlotName.d.ts.map +1 -1
  489. package/dist/utils/getMergeConflictActionSlotName.js +1 -1
  490. package/dist/utils/getMergeConflictActionSlotName.js.map +1 -1
  491. package/dist/utils/getMergeConflictLineTypes.d.ts.map +1 -1
  492. package/dist/utils/getMergeConflictLineTypes.js +1 -2
  493. package/dist/utils/getMergeConflictLineTypes.js.map +1 -1
  494. package/dist/utils/getOrCreateCodeNode.d.ts.map +1 -1
  495. package/dist/utils/getOrCreateCodeNode.js +1 -1
  496. package/dist/utils/getOrCreateCodeNode.js.map +1 -1
  497. package/dist/utils/getSingularPatch.d.ts.map +1 -1
  498. package/dist/utils/getSingularPatch.js +1 -2
  499. package/dist/utils/getSingularPatch.js.map +1 -1
  500. package/dist/utils/getThemes.d.ts.map +1 -1
  501. package/dist/utils/getThemes.js +1 -2
  502. package/dist/utils/getThemes.js.map +1 -1
  503. package/dist/utils/getTotalLineCountFromHunks.d.ts.map +1 -1
  504. package/dist/utils/getTotalLineCountFromHunks.js +1 -1
  505. package/dist/utils/getTotalLineCountFromHunks.js.map +1 -1
  506. package/dist/utils/hast_utils.d.ts +1 -1
  507. package/dist/utils/hast_utils.d.ts.map +1 -1
  508. package/dist/utils/hast_utils.js +1 -1
  509. package/dist/utils/hast_utils.js.map +1 -1
  510. package/dist/utils/hostTheme.d.ts.map +1 -1
  511. package/dist/utils/hostTheme.js +1 -2
  512. package/dist/utils/hostTheme.js.map +1 -1
  513. package/dist/utils/includesFileAnnotations.d.ts.map +1 -1
  514. package/dist/utils/includesFileAnnotations.js +5 -5
  515. package/dist/utils/includesFileAnnotations.js.map +1 -1
  516. package/dist/utils/isDefaultRenderRange.d.ts.map +1 -1
  517. package/dist/utils/isDefaultRenderRange.js +1 -1
  518. package/dist/utils/isDefaultRenderRange.js.map +1 -1
  519. package/dist/utils/isDiffPlainText.d.ts.map +1 -1
  520. package/dist/utils/isDiffPlainText.js +1 -2
  521. package/dist/utils/isDiffPlainText.js.map +1 -1
  522. package/dist/utils/isFilePlainText.d.ts.map +1 -1
  523. package/dist/utils/isFilePlainText.js +1 -2
  524. package/dist/utils/isFilePlainText.js.map +1 -1
  525. package/dist/utils/isStyleNode.d.ts.map +1 -1
  526. package/dist/utils/isStyleNode.js +1 -1
  527. package/dist/utils/isStyleNode.js.map +1 -1
  528. package/dist/utils/isWorkerContext.d.ts.map +1 -1
  529. package/dist/utils/isWorkerContext.js +1 -1
  530. package/dist/utils/isWorkerContext.js.map +1 -1
  531. package/dist/utils/iterateOverDiff.d.ts.map +1 -1
  532. package/dist/utils/iterateOverDiff.js +44 -45
  533. package/dist/utils/iterateOverDiff.js.map +1 -1
  534. package/dist/utils/normalizeDiffResolution.d.ts.map +1 -1
  535. package/dist/utils/normalizeDiffResolution.js +1 -1
  536. package/dist/utils/normalizeDiffResolution.js.map +1 -1
  537. package/dist/utils/parseDiffDecorations.d.ts.map +1 -1
  538. package/dist/utils/parseDiffDecorations.js +1 -2
  539. package/dist/utils/parseDiffDecorations.js.map +1 -1
  540. package/dist/utils/parseDiffFromFile.d.ts +0 -1
  541. package/dist/utils/parseDiffFromFile.d.ts.map +1 -1
  542. package/dist/utils/parseDiffFromFile.js +1 -2
  543. package/dist/utils/parseDiffFromFile.js.map +1 -1
  544. package/dist/utils/parseLineType.d.ts.map +1 -1
  545. package/dist/utils/parseLineType.js +1 -1
  546. package/dist/utils/parseLineType.js.map +1 -1
  547. package/dist/utils/parseMergeConflictDiffFromFile.d.ts.map +1 -1
  548. package/dist/utils/parseMergeConflictDiffFromFile.js +5 -5
  549. package/dist/utils/parseMergeConflictDiffFromFile.js.map +1 -1
  550. package/dist/utils/parsePatchFiles.d.ts.map +1 -1
  551. package/dist/utils/parsePatchFiles.js +6 -7
  552. package/dist/utils/parsePatchFiles.js.map +1 -1
  553. package/dist/utils/prefersReducedMotion.d.ts.map +1 -1
  554. package/dist/utils/prefersReducedMotion.js +1 -1
  555. package/dist/utils/prefersReducedMotion.js.map +1 -1
  556. package/dist/utils/prerenderHTMLIfNecessary.d.ts.map +1 -1
  557. package/dist/utils/prerenderHTMLIfNecessary.js +1 -1
  558. package/dist/utils/prerenderHTMLIfNecessary.js.map +1 -1
  559. package/dist/utils/processLine.d.ts +1 -1
  560. package/dist/utils/processLine.d.ts.map +1 -1
  561. package/dist/utils/processLine.js +1 -2
  562. package/dist/utils/processLine.js.map +1 -1
  563. package/dist/utils/renderDiffWithHighlighter.d.ts.map +1 -1
  564. package/dist/utils/renderDiffWithHighlighter.js +4 -5
  565. package/dist/utils/renderDiffWithHighlighter.js.map +1 -1
  566. package/dist/utils/renderFileWithHighlighter.d.ts.map +1 -1
  567. package/dist/utils/renderFileWithHighlighter.js +1 -2
  568. package/dist/utils/renderFileWithHighlighter.js.map +1 -1
  569. package/dist/utils/resolveConflict.d.ts.map +1 -1
  570. package/dist/utils/resolveConflict.js +1 -2
  571. package/dist/utils/resolveConflict.js.map +1 -1
  572. package/dist/utils/resolveRegion.d.ts.map +1 -1
  573. package/dist/utils/resolveRegion.js +1 -1
  574. package/dist/utils/resolveRegion.js.map +1 -1
  575. package/dist/utils/roundToDevicePixel.d.ts.map +1 -1
  576. package/dist/utils/roundToDevicePixel.js +1 -1
  577. package/dist/utils/roundToDevicePixel.js.map +1 -1
  578. package/dist/utils/scrollbarGutter.d.ts.map +1 -1
  579. package/dist/utils/scrollbarGutter.js +1 -2
  580. package/dist/utils/scrollbarGutter.js.map +1 -1
  581. package/dist/utils/setLanguageOverride.d.ts.map +1 -1
  582. package/dist/utils/setLanguageOverride.js +1 -1
  583. package/dist/utils/setLanguageOverride.js.map +1 -1
  584. package/dist/utils/setWrapperNodeProps.d.ts.map +1 -1
  585. package/dist/utils/setWrapperNodeProps.js +1 -1
  586. package/dist/utils/setWrapperNodeProps.js.map +1 -1
  587. package/dist/utils/shouldUseTokenTransformer.d.ts.map +1 -1
  588. package/dist/utils/shouldUseTokenTransformer.js +1 -1
  589. package/dist/utils/shouldUseTokenTransformer.js.map +1 -1
  590. package/dist/utils/splitFileContents.d.ts.map +1 -1
  591. package/dist/utils/splitFileContents.js +1 -2
  592. package/dist/utils/splitFileContents.js.map +1 -1
  593. package/dist/utils/trimPatchContext.d.ts.map +1 -1
  594. package/dist/utils/trimPatchContext.js +1 -2
  595. package/dist/utils/trimPatchContext.js.map +1 -1
  596. package/dist/utils/updateDiffHunks.d.ts +2 -1
  597. package/dist/utils/updateDiffHunks.d.ts.map +1 -1
  598. package/dist/utils/updateDiffHunks.js +22 -3
  599. package/dist/utils/updateDiffHunks.js.map +1 -1
  600. package/dist/utils/virtualDiffLayout.d.ts.map +1 -1
  601. package/dist/utils/virtualDiffLayout.js +1 -2
  602. package/dist/utils/virtualDiffLayout.js.map +1 -1
  603. package/dist/utils/wrapTokenFragments.d.ts +1 -1
  604. package/dist/utils/wrapTokenFragments.d.ts.map +1 -1
  605. package/dist/utils/wrapTokenFragments.js +1 -2
  606. package/dist/utils/wrapTokenFragments.js.map +1 -1
  607. package/dist/worker/WorkerPoolManager.d.ts.map +1 -1
  608. package/dist/worker/WorkerPoolManager.js +5 -5
  609. package/dist/worker/WorkerPoolManager.js.map +1 -1
  610. package/dist/worker/getOrCreateWorkerPoolSingleton.d.ts.map +1 -1
  611. package/dist/worker/getOrCreateWorkerPoolSingleton.js +1 -2
  612. package/dist/worker/getOrCreateWorkerPoolSingleton.js.map +1 -1
  613. package/dist/worker/index.js +1 -2
  614. package/dist/worker/types.d.ts.map +1 -1
  615. package/dist/worker/wasm-B9ZqxnKj.js +8 -0
  616. package/dist/worker/wasm-B9ZqxnKj.js.map +1 -0
  617. package/dist/worker/worker-portable.js +2779 -6403
  618. package/dist/worker/worker-portable.js.map +1 -1
  619. package/dist/worker/worker.js +89 -123
  620. package/dist/worker/worker.js.map +1 -1
  621. package/package.json +13 -14
  622. package/dist/worker/wasm-qE0LgnY3.js +0 -10
  623. package/dist/worker/wasm-qE0LgnY3.js.map +0 -1
@@ -1,11 +1,9 @@
1
- import { AnnotationSide, AppliedThemeStyleCache, BaseDiffOptions, CustomPreProperties, DiffLineAnnotation, DiffsEditableComponent, DiffsEditor, DiffsTextDocument, ExpansionDirections, FileContents, FileDiffMetadata, HighlightedToken, HunkData, HunkSeparators, PostRenderPhase, PrePropertiesConfig, RenderHeaderMetadataCallback, RenderHeaderPrefixCallback, RenderRange, SelectedLineRange, ThemeTypes } from "../types.js";
1
+ import { AppliedThemeStyleCache, BaseDiffOptions, CustomPreProperties, DiffLineAnnotation, DiffsEditableComponent, DiffsEditor, DiffsTextDocument, ExpansionDirections, FileContents, FileDiffMetadata, HighlightedToken, HunkData, HunkSeparators, PostRenderPhase, PrePropertiesConfig, RenderHeaderFilenameSuffixCallback, RenderHeaderMetadataCallback, RenderHeaderPrefixCallback, RenderRange, SelectedLineRange, ThemeTypes } from "../types.js";
2
2
  import { GetHoveredLineResult, GetLineIndexUtility, InteractionManager, InteractionManagerBaseOptions, SelectionWriteOptions } from "../managers/InteractionManager.js";
3
3
  import { WorkerPoolManager } from "../worker/WorkerPoolManager.js";
4
- import "../worker/index.js";
5
4
  import { ResizeManager } from "../managers/ResizeManager.js";
6
- import { DiffHunksRenderer, DiffHunksRendererOptions, HunksRenderResult } from "../renderers/DiffHunksRenderer.js";
7
5
  import { ScrollSyncManager } from "../managers/ScrollSyncManager.js";
8
- import "../index.js";
6
+ import { DiffHunksRenderer, DiffHunksRendererOptions, HunksRenderResult } from "../renderers/DiffHunksRenderer.js";
9
7
 
10
8
  //#region src/components/FileDiff.d.ts
11
9
  interface FileDiffRenderProps<LAnnotation> {
@@ -27,12 +25,15 @@ interface FileDiffHydrationProps<LAnnotation> extends Omit<FileDiffRenderProps<L
27
25
  }
28
26
  type FileDiffType = 'file-diff' | 'unresolved-file';
29
27
  interface FileDiffOptions<LAnnotation> extends Omit<BaseDiffOptions, 'hunkSeparators'>, InteractionManagerBaseOptions<'diff'> {
30
- hunkSeparators?: Exclude<HunkSeparators, 'custom'> /**
31
- * @deprecated Custom hunk separator functions are deprecated and will be
32
- * removed in a future version.
33
- */ | ((hunk: HunkData, instance: FileDiff<LAnnotation>) => HTMLElement | DocumentFragment | null | undefined);
28
+ hunkSeparators?: Exclude<HunkSeparators, 'custom'>
29
+ /**
30
+ * @deprecated Custom hunk separator functions are deprecated and will be
31
+ * removed in a future version.
32
+ */
33
+ | ((hunk: HunkData, instance: FileDiff<LAnnotation>) => HTMLElement | DocumentFragment | null | undefined);
34
34
  disableFileHeader?: boolean;
35
35
  renderHeaderPrefix?: RenderHeaderPrefixCallback;
36
+ renderHeaderFilenameSuffix?: RenderHeaderFilenameSuffixCallback;
36
37
  renderHeaderMetadata?: RenderHeaderMetadataCallback;
37
38
  renderCustomHeader?: RenderHeaderMetadataCallback;
38
39
  /**
@@ -82,6 +83,7 @@ declare class FileDiff<LAnnotation = undefined> implements DiffsEditableComponen
82
83
  protected gutterUtilityContent: HTMLElement | undefined;
83
84
  protected headerElement: HTMLElement | undefined;
84
85
  protected headerPrefix: HTMLElement | undefined;
86
+ protected headerFilenameSuffix: HTMLElement | undefined;
85
87
  protected headerMetadata: HTMLElement | undefined;
86
88
  protected headerCustom: HTMLElement | undefined;
87
89
  protected separatorCache: Map<string, CustomHunkElementCache>;
@@ -105,6 +107,7 @@ declare class FileDiff<LAnnotation = undefined> implements DiffsEditableComponen
105
107
  private mounted;
106
108
  protected enabled: boolean;
107
109
  protected editor: DiffsEditor<LAnnotation> | undefined;
110
+ protected fastRefreshTimeout: ReturnType<typeof setTimeout> | undefined;
108
111
  constructor(options?: FileDiffOptions<LAnnotation>, workerManager?: WorkerPoolManager | undefined, isContainerManaged?: boolean);
109
112
  protected handleHighlightRender: () => void;
110
113
  protected getHunksRendererOptions(options: FileDiffOptions<LAnnotation>): DiffHunksRendererOptions;
@@ -116,10 +119,7 @@ declare class FileDiff<LAnnotation = undefined> implements DiffsEditableComponen
116
119
  setThemeType(themeType: ThemeTypes): void;
117
120
  private applyCachedThemeState;
118
121
  private hasThemeChanged;
119
- getHoveredLine: () => {
120
- lineNumber: number;
121
- side: AnnotationSide;
122
- } | undefined;
122
+ getHoveredLine: () => GetHoveredLineResult<'diff'> | undefined;
123
123
  setLineAnnotations(lineAnnotations: DiffLineAnnotation<LAnnotation>[]): void;
124
124
  private canPartiallyRender;
125
125
  setSelectedLines(range: SelectedLineRange | null, options?: SelectionWriteOptions): void;
@@ -136,14 +136,13 @@ declare class FileDiff<LAnnotation = undefined> implements DiffsEditableComponen
136
136
  }: HydrationSetup<LAnnotation>): void;
137
137
  rerender(): void;
138
138
  onThemeChange(): void;
139
- handleExpandHunk: (hunkIndex: number, direction: ExpansionDirections, expansionLineCountOverride?: number | undefined) => void;
140
- expandHunk: (hunkIndex: number, direction: ExpansionDirections, expansionLineCountOverride?: number | undefined) => void;
139
+ handleExpandHunk: (hunkIndex: number, direction: ExpansionDirections, expansionLineCountOverride?: number) => void;
140
+ expandHunk: (hunkIndex: number, direction: ExpansionDirections, expansionLineCountOverride?: number) => void;
141
141
  render({
142
142
  oldFile,
143
143
  newFile,
144
144
  fileDiff,
145
145
  deferManagers,
146
- didEdit,
147
146
  forceRender,
148
147
  preventEmit,
149
148
  lineAnnotations,
@@ -152,11 +151,11 @@ declare class FileDiff<LAnnotation = undefined> implements DiffsEditableComponen
152
151
  renderRange
153
152
  }: FileDiffRenderProps<LAnnotation>): boolean;
154
153
  protected emitPostRender(unmount?: boolean): void;
155
- private syncRenderView;
154
+ private syncRenderViewToEditor;
156
155
  attachEditor(editor: DiffsEditor<LAnnotation>): () => void;
157
156
  applyDocumentChange(textDocument: DiffsTextDocument, newLineAnnotations?: DiffLineAnnotation<LAnnotation>[]): void;
158
- updateRenderCache(dirtyLines: Map<number, Array<HighlightedToken>>, themeType: 'dark' | 'light', shouldRerender?: boolean): void;
159
- private getAdditionFile;
157
+ rerenderFromDocument(textDocument: DiffsTextDocument): void;
158
+ updateRenderCache(dirtyLines: Map<number, Array<HighlightedToken>>, themeType: 'dark' | 'light', shouldRefreshView?: boolean, skipDiffRecompute?: boolean): void;
160
159
  private removeRenderedCode;
161
160
  private clearAuxiliaryNodes;
162
161
  renderPlaceholder(height: number): boolean;
@@ -181,7 +180,8 @@ declare class FileDiff<LAnnotation = undefined> implements DiffsEditableComponen
181
180
  private applyHunksToDOM;
182
181
  private applyPartialRender;
183
182
  private insertPartialHTML;
184
- private updateLineType;
183
+ private fastRefreshDiffView;
184
+ private refreshDiffView;
185
185
  private renderPartialColumn;
186
186
  private mergeBuffersIfNecessary;
187
187
  private applyRowSpan;
@@ -1 +1 @@
1
- {"version":3,"file":"FileDiff.d.ts","names":["GetHoveredLineResult","GetLineIndexUtility","InteractionManager","InteractionManagerBaseOptions","SelectionWriteOptions","ResizeManager","ScrollSyncManager","DiffHunksRenderer","DiffHunksRendererOptions","HunksRenderResult","AppliedThemeStyleCache","BaseDiffOptions","CustomPreProperties","DiffLineAnnotation","DiffsEditableComponent","DiffsEditor","DiffsTextDocument","ExpansionDirections","FileContents","FileDiffMetadata","HighlightedToken","HunkData","HunkSeparators","PostRenderPhase","PrePropertiesConfig","RenderHeaderMetadataCallback","RenderHeaderPrefixCallback","RenderRange","SelectedLineRange","ThemeTypes","WorkerPoolManager","FileDiffRenderProps","LAnnotation","HTMLElement","FileDiffHydrationProps","Omit","FileDiffType","FileDiffOptions","Exclude","FileDiff","DocumentFragment","AnnotationElementCache","CustomHunkElementCache","HydrationSetup","SVGElement","HTMLPreElement","HTMLStyleElement","Map","__0","AnnotationSide","fileDiff","oldFile","newFile","lineAnnotations","deferManagers","didEdit","forceRender","preventEmit","fileContainer","containerWrapper","renderRange","Array","additionsContentAST","deletionsContentAST","totalLines"],"sources":["../../src/components/FileDiff.d.ts"],"sourcesContent":["import { type GetHoveredLineResult, type GetLineIndexUtility, InteractionManager, type InteractionManagerBaseOptions, type SelectionWriteOptions } from '../managers/InteractionManager';\nimport { ResizeManager } from '../managers/ResizeManager';\nimport { ScrollSyncManager } from '../managers/ScrollSyncManager';\nimport { DiffHunksRenderer, type DiffHunksRendererOptions, type HunksRenderResult } from '../renderers/DiffHunksRenderer';\nimport type { AppliedThemeStyleCache, BaseDiffOptions, CustomPreProperties, DiffLineAnnotation, DiffsEditableComponent, DiffsEditor, DiffsTextDocument, ExpansionDirections, FileContents, FileDiffMetadata, HighlightedToken, HunkData, HunkSeparators, PostRenderPhase, PrePropertiesConfig, RenderHeaderMetadataCallback, RenderHeaderPrefixCallback, RenderRange, SelectedLineRange, ThemeTypes } from '../types';\nimport type { WorkerPoolManager } from '../worker';\nexport interface FileDiffRenderProps<LAnnotation> {\n fileDiff?: FileDiffMetadata;\n oldFile?: FileContents;\n newFile?: FileContents;\n deferManagers?: boolean;\n didEdit?: boolean;\n forceRender?: boolean;\n preventEmit?: boolean;\n fileContainer?: HTMLElement;\n containerWrapper?: HTMLElement;\n lineAnnotations?: DiffLineAnnotation<LAnnotation>[];\n renderRange?: RenderRange;\n}\nexport interface FileDiffHydrationProps<LAnnotation> extends Omit<FileDiffRenderProps<LAnnotation>, 'fileContainer'> {\n fileContainer: HTMLElement;\n prerenderedHTML?: string;\n}\nexport type FileDiffType = 'file-diff' | 'unresolved-file';\nexport interface FileDiffOptions<LAnnotation> extends Omit<BaseDiffOptions, 'hunkSeparators'>, InteractionManagerBaseOptions<'diff'> {\n hunkSeparators?: Exclude<HunkSeparators, 'custom'> /**\n * @deprecated Custom hunk separator functions are deprecated and will be\n * removed in a future version.\n */ | ((hunk: HunkData, instance: FileDiff<LAnnotation>) => HTMLElement | DocumentFragment | null | undefined);\n disableFileHeader?: boolean;\n renderHeaderPrefix?: RenderHeaderPrefixCallback;\n renderHeaderMetadata?: RenderHeaderMetadataCallback;\n renderCustomHeader?: RenderHeaderMetadataCallback;\n /**\n * When true, errors during rendering are rethrown instead of being caught\n * and displayed in the DOM. Useful for testing or when you want to handle\n * errors yourself.\n */\n disableErrorHandling?: boolean;\n renderAnnotation?(annotation: DiffLineAnnotation<LAnnotation>): HTMLElement | undefined;\n renderGutterUtility?(getHoveredRow: () => GetHoveredLineResult<'diff'> | undefined): HTMLElement | null | undefined;\n onPostRender?(node: HTMLElement, instance: FileDiff<LAnnotation>, phase: PostRenderPhase): unknown;\n}\ninterface AnnotationElementCache<LAnnotation> {\n element: HTMLElement;\n annotation: DiffLineAnnotation<LAnnotation>;\n}\ninterface CustomHunkElementCache {\n element: HTMLElement;\n hunkData: HunkData;\n}\ninterface HydrationSetup<LAnnotation> {\n fileDiff: FileDiffMetadata | undefined;\n lineAnnotations: DiffLineAnnotation<LAnnotation>[] | undefined;\n oldFile?: FileContents;\n newFile?: FileContents;\n}\nexport declare class FileDiff<LAnnotation = undefined> implements DiffsEditableComponent<LAnnotation> {\n options: FileDiffOptions<LAnnotation>;\n protected workerManager?: WorkerPoolManager | undefined;\n protected isContainerManaged: boolean;\n static LoadedCustomComponent: boolean;\n readonly __id: string;\n readonly type: FileDiffType;\n protected fileContainer: HTMLElement | undefined;\n protected spriteSVG: SVGElement | undefined;\n protected pre: HTMLPreElement | undefined;\n protected codeUnified: HTMLElement | undefined;\n protected codeDeletions: HTMLElement | undefined;\n protected codeAdditions: HTMLElement | undefined;\n protected bufferBefore: HTMLElement | undefined;\n protected bufferAfter: HTMLElement | undefined;\n protected themeCSSStyle: HTMLStyleElement | undefined;\n protected appliedThemeCSS: AppliedThemeStyleCache | undefined;\n protected hasAdoptedThemeCSS: boolean;\n protected unsafeCSSStyle: HTMLStyleElement | undefined;\n protected appliedUnsafeCSS: string | undefined;\n protected gutterUtilityContent: HTMLElement | undefined;\n protected headerElement: HTMLElement | undefined;\n protected headerPrefix: HTMLElement | undefined;\n protected headerMetadata: HTMLElement | undefined;\n protected headerCustom: HTMLElement | undefined;\n protected separatorCache: Map<string, CustomHunkElementCache>;\n protected errorWrapper: HTMLElement | undefined;\n protected placeHolder: HTMLElement | undefined;\n protected hunksRenderer: DiffHunksRenderer<LAnnotation>;\n protected resizeManager: ResizeManager;\n protected scrollSyncManager: ScrollSyncManager;\n protected interactionManager: InteractionManager<'diff'>;\n protected annotationCache: Map<string, AnnotationElementCache<LAnnotation>>;\n protected lineAnnotations: DiffLineAnnotation<LAnnotation>[];\n protected managersDirty: boolean;\n protected deletionFile: FileContents | undefined;\n protected additionFile: FileContents | undefined;\n fileDiff: FileDiffMetadata | undefined;\n protected renderRange: RenderRange | undefined;\n protected appliedPreAttributes: PrePropertiesConfig | undefined;\n protected lastRenderedHeaderHTML: string | undefined;\n protected cachedHeaderHTML: string | undefined;\n protected lastRowCount: number | undefined;\n private mounted;\n protected enabled: boolean;\n protected editor: DiffsEditor<LAnnotation> | undefined;\n constructor(options?: FileDiffOptions<LAnnotation>, workerManager?: WorkerPoolManager | undefined, isContainerManaged?: boolean);\n protected handleHighlightRender: () => void;\n protected getHunksRendererOptions(options: FileDiffOptions<LAnnotation>): DiffHunksRendererOptions;\n protected createHunksRenderer(options: FileDiffOptions<LAnnotation>): DiffHunksRenderer<LAnnotation>;\n getLineIndex: GetLineIndexUtility;\n setOptions(options: FileDiffOptions<LAnnotation> | undefined): void;\n protected syncInteractionOptions(): void;\n private mergeOptions;\n setThemeType(themeType: ThemeTypes): void;\n private applyCachedThemeState;\n private hasThemeChanged;\n getHoveredLine: () => {\n lineNumber: number;\n side: import(\"..\").AnnotationSide;\n } | undefined;\n setLineAnnotations(lineAnnotations: DiffLineAnnotation<LAnnotation>[]): void;\n private canPartiallyRender;\n setSelectedLines(range: SelectedLineRange | null, options?: SelectionWriteOptions): void;\n flushManagers(): void;\n cleanUp(recycle?: boolean): void;\n virtualizedSetup(): void;\n hydrate(props: FileDiffHydrationProps<LAnnotation>): void;\n protected hydrateElements(fileContainer: HTMLElement, prerenderedHTML: string | undefined): void;\n protected hydrationSetup({ fileDiff, oldFile, newFile, lineAnnotations }: HydrationSetup<LAnnotation>): void;\n rerender(): void;\n onThemeChange(): void;\n handleExpandHunk: (hunkIndex: number, direction: ExpansionDirections, expansionLineCountOverride?: number | undefined) => void;\n expandHunk: (hunkIndex: number, direction: ExpansionDirections, expansionLineCountOverride?: number | undefined) => void;\n render({ oldFile, newFile, fileDiff, deferManagers, didEdit, forceRender, preventEmit, lineAnnotations, fileContainer, containerWrapper, renderRange }: FileDiffRenderProps<LAnnotation>): boolean;\n protected emitPostRender(unmount?: boolean): void;\n private syncRenderView;\n attachEditor(editor: DiffsEditor<LAnnotation>): () => void;\n applyDocumentChange(textDocument: DiffsTextDocument, newLineAnnotations?: DiffLineAnnotation<LAnnotation>[]): void;\n updateRenderCache(dirtyLines: Map<number, Array<HighlightedToken>>, themeType: 'dark' | 'light', shouldRerender?: boolean): void;\n private getAdditionFile;\n private removeRenderedCode;\n private clearAuxiliaryNodes;\n renderPlaceholder(height: number): boolean;\n primeHighlightCache(): void;\n private cleanChildNodes;\n private renderSeparators;\n protected renderAnnotations(): void;\n protected renderGutterUtility(): void;\n protected getOrCreateFileContainer(fileContainer?: HTMLElement, parentNode?: HTMLElement): HTMLElement;\n private adoptReusableShellElements;\n private ensureSpriteSVG;\n private getOrCreatePreNode;\n protected syncCodeNodesFromPre(pre: HTMLPreElement): void;\n private applyHeaderToDOM;\n private clearHeaderSlots;\n private upsertHeaderSlotElement;\n private replaceHeaderSlotContent;\n private createHeaderSlotElement;\n protected injectUnsafeCSS(): void;\n private applyThemeState;\n private hydrateMeasuredScrollbar;\n private applyHunksToDOM;\n private applyPartialRender;\n private insertPartialHTML;\n private updateLineType;\n private renderPartialColumn;\n private mergeBuffersIfNecessary;\n private applyRowSpan;\n private trimColumnRows;\n private trimColumns;\n private getBufferSize;\n private updateBufferSize;\n private getCodeColumns;\n protected updateBuffers(renderRange: RenderRange): void;\n private applyBuffers;\n protected shouldDisableVirtualizationBuffers(): boolean;\n protected applyPreNodeAttributes(pre: HTMLPreElement, { additionsContentAST, deletionsContentAST, totalLines }: HunksRenderResult, customProperties?: CustomPreProperties): void;\n private applyErrorToDOM;\n private cleanupErrorWrapper;\n}\nexport {};\n//# sourceMappingURL=FileDiff.d.ts.map"],"mappings":"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"}
1
+ {"version":3,"file":"FileDiff.d.ts","names":[],"sources":["../../src/components/FileDiff.ts"],"mappings":"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"}
@@ -1,5 +1,4 @@
1
- import { CUSTOM_HEADER_SLOT_ID, DEFAULT_THEMES, DEFAULT_TOKENIZE_MAX_LENGTH, DIFFS_TAG_NAME, EMPTY_RENDER_RANGE, HEADER_METADATA_SLOT_ID, HEADER_PREFIX_SLOT_ID, THEME_CSS_ATTRIBUTE, UNSAFE_CSS_ATTRIBUTE } from "../constants.js";
2
- import { queueRender } from "../managers/UniversalRenderingManager.js";
1
+ import { CUSTOM_HEADER_SLOT_ID, DEFAULT_THEMES, EMPTY_RENDER_RANGE, HEADER_FILENAME_SUFFIX_SLOT_ID, HEADER_METADATA_SLOT_ID, HEADER_PREFIX_SLOT_ID } from "../constants.js";
3
2
  import { areThemesEqual } from "../utils/areThemesEqual.js";
4
3
  import { isStyleNode } from "../utils/isStyleNode.js";
5
4
  import { areFilesEqual } from "../utils/areFilesEqual.js";
@@ -18,7 +17,7 @@ import { getOrCreateCodeNode } from "../utils/getOrCreateCodeNode.js";
18
17
  import { upsertHostThemeStyle } from "../utils/hostTheme.js";
19
18
  import { prerenderHTMLIfNecessary } from "../utils/prerenderHTMLIfNecessary.js";
20
19
  import { setPreNodeProperties } from "../utils/setWrapperNodeProps.js";
21
- import { DiffsContainerLoaded } from "./web-components.js";
20
+ import "./web-components.js";
22
21
  import { parseDiffFromFile } from "../utils/parseDiffFromFile.js";
23
22
  import { ScrollSyncManager } from "../managers/ScrollSyncManager.js";
24
23
  import { isDiffPlainText } from "../utils/isDiffPlainText.js";
@@ -27,11 +26,13 @@ import { areDiffLineAnnotationsEqual } from "../utils/areDiffLineAnnotationsEqua
27
26
  import { areHunkDataEqual } from "../utils/areHunkDataEqual.js";
28
27
  import { getDiffHunksRendererOptions } from "../utils/getDiffHunksRendererOptions.js";
29
28
  import { toHtml } from "hast-util-to-html";
30
-
31
29
  //#region src/components/FileDiff.ts
32
30
  let instanceId = -1;
33
31
  var FileDiff = class {
34
- static LoadedCustomComponent = DiffsContainerLoaded;
32
+ options;
33
+ workerManager;
34
+ isContainerManaged;
35
+ static LoadedCustomComponent = true;
35
36
  __id = `file-diff:${++instanceId}`;
36
37
  type = "file-diff";
37
38
  fileContainer;
@@ -50,6 +51,7 @@ var FileDiff = class {
50
51
  gutterUtilityContent;
51
52
  headerElement;
52
53
  headerPrefix;
54
+ headerFilenameSuffix;
53
55
  headerMetadata;
54
56
  headerCustom;
55
57
  separatorCache = /* @__PURE__ */ new Map();
@@ -73,6 +75,7 @@ var FileDiff = class {
73
75
  mounted = false;
74
76
  enabled = true;
75
77
  editor;
78
+ fastRefreshTimeout;
76
79
  constructor(options = { theme: DEFAULT_THEMES }, workerManager, isContainerManaged = false) {
77
80
  this.options = options;
78
81
  this.workerManager = workerManager;
@@ -184,8 +187,7 @@ var FileDiff = class {
184
187
  setLineAnnotations(lineAnnotations) {
185
188
  this.lineAnnotations = lineAnnotations;
186
189
  }
187
- canPartiallyRender(forceRender, annotationsChanged, didContentChange, didEdit) {
188
- if (didEdit) return true;
190
+ canPartiallyRender(forceRender, annotationsChanged, didContentChange) {
189
191
  if (forceRender || annotationsChanged || didContentChange || typeof this.options.hunkSeparators === "function") return false;
190
192
  return true;
191
193
  }
@@ -222,11 +224,14 @@ var FileDiff = class {
222
224
  this.codeUnified = void 0;
223
225
  this.codeDeletions = void 0;
224
226
  this.codeAdditions = void 0;
227
+ this.bufferBefore?.remove();
225
228
  this.bufferBefore = void 0;
229
+ this.bufferAfter?.remove();
226
230
  this.bufferAfter = void 0;
227
231
  this.appliedPreAttributes = void 0;
228
232
  this.headerElement = void 0;
229
233
  this.headerPrefix = void 0;
234
+ this.headerFilenameSuffix = void 0;
230
235
  this.headerMetadata = void 0;
231
236
  this.headerCustom = void 0;
232
237
  this.placeHolder = void 0;
@@ -251,6 +256,10 @@ var FileDiff = class {
251
256
  this.enabled = false;
252
257
  this.editor?.cleanUp();
253
258
  this.editor = void 0;
259
+ if (this.fastRefreshTimeout != null) {
260
+ clearTimeout(this.fastRefreshTimeout);
261
+ this.fastRefreshTimeout = void 0;
262
+ }
254
263
  }
255
264
  virtualizedSetup() {
256
265
  this.enabled = true;
@@ -302,11 +311,11 @@ var FileDiff = class {
302
311
  this.headerElement = element;
303
312
  continue;
304
313
  }
305
- if (element instanceof HTMLStyleElement && element.hasAttribute(THEME_CSS_ATTRIBUTE)) {
314
+ if (element instanceof HTMLStyleElement && element.hasAttribute("data-theme-css")) {
306
315
  this.themeCSSStyle = element;
307
316
  continue;
308
317
  }
309
- if (element instanceof HTMLStyleElement && element.hasAttribute(UNSAFE_CSS_ATTRIBUTE)) {
318
+ if (element instanceof HTMLStyleElement && element.hasAttribute("data-unsafe-css")) {
310
319
  this.unsafeCSSStyle = element;
311
320
  this.appliedUnsafeCSS = element.textContent;
312
321
  continue;
@@ -351,7 +360,7 @@ var FileDiff = class {
351
360
  this.hunksRenderer.expandHunk(hunkIndex, direction, expansionLineCountOverride);
352
361
  this.rerender();
353
362
  };
354
- render({ oldFile, newFile, fileDiff, deferManagers = false, didEdit = false, forceRender = false, preventEmit = false, lineAnnotations, fileContainer, containerWrapper, renderRange }) {
363
+ render({ oldFile, newFile, fileDiff, deferManagers = false, forceRender = false, preventEmit = false, lineAnnotations, fileContainer, containerWrapper, renderRange }) {
355
364
  if (!this.enabled) throw new Error("FileDiff.render: attempting to call render after cleaned up");
356
365
  this.editor?.__postponeBackgroundTokenizeToNextFrame();
357
366
  const { collapsed = false, themeType = "system" } = this.options;
@@ -360,7 +369,7 @@ var FileDiff = class {
360
369
  const filesDidChange = oldFile != null && newFile != null && (!areFilesEqual(oldFile, this.deletionFile) || !areFilesEqual(newFile, this.additionFile));
361
370
  let diffDidChange = fileDiff != null && fileDiff !== this.fileDiff;
362
371
  const annotationsChanged = lineAnnotations != null && (lineAnnotations.length > 0 || this.lineAnnotations.length > 0) ? lineAnnotations !== this.lineAnnotations : false;
363
- if (!collapsed && areRenderRangesEqual(nextRenderRange, this.renderRange) && !didEdit && !forceRender && !annotationsChanged && !themeChanged && (fileDiff != null && fileDiff === this.fileDiff || fileDiff == null && !filesDidChange)) return this.applyCachedThemeState(themeType);
372
+ if (!collapsed && areRenderRangesEqual(nextRenderRange, this.renderRange) && !forceRender && !annotationsChanged && !themeChanged && (fileDiff != null && fileDiff === this.fileDiff || fileDiff == null && !filesDidChange)) return this.applyCachedThemeState(themeType);
364
373
  const { renderRange: previousRenderRange } = this;
365
374
  this.renderRange = nextRenderRange;
366
375
  this.deletionFile = oldFile;
@@ -406,7 +415,7 @@ var FileDiff = class {
406
415
  }
407
416
  try {
408
417
  const pre = this.getOrCreatePreNode(fileContainer);
409
- if (!(this.canPartiallyRender(forceRender, annotationsChanged, filesDidChange || diffDidChange || themeChanged, didEdit) && this.applyPartialRender({
418
+ if (!(this.canPartiallyRender(forceRender, annotationsChanged, filesDidChange || diffDidChange || themeChanged) && this.applyPartialRender({
410
419
  previousRenderRange,
411
420
  renderRange: nextRenderRange
412
421
  }))) {
@@ -423,14 +432,14 @@ var FileDiff = class {
423
432
  this.pre = void 0;
424
433
  }
425
434
  this.renderSeparators(hunksResult.hunkData);
426
- } else if (didEdit && nextRenderRange != null) this.updateLineType(nextRenderRange);
435
+ }
427
436
  this.applyBuffers(pre, nextRenderRange);
428
437
  this.injectUnsafeCSS();
429
438
  this.renderAnnotations();
430
439
  this.renderGutterUtility();
431
440
  this.managersDirty = true;
432
441
  if (!deferManagers) this.flushManagers();
433
- if (this.editor != null) queueRender(this.syncRenderView);
442
+ if (this.editor != null) this.syncRenderViewToEditor();
434
443
  } catch (error) {
435
444
  if (disableErrorHandling) throw error;
436
445
  console.error(error);
@@ -453,20 +462,22 @@ var FileDiff = class {
453
462
  this.mounted = true;
454
463
  onPostRender?.(fileContainer, this, phase);
455
464
  }
456
- syncRenderView = () => {
465
+ syncRenderViewToEditor() {
457
466
  const editor = this.editor;
458
467
  const fileContainer = this.fileContainer;
459
- const file = this.getAdditionFile();
460
- if (editor != null && fileContainer != null && file != null) this.hunksRenderer.initializeHighlighter().then((highlighter) => {
461
- editor.__syncRenderView(highlighter, fileContainer, file, this.lineAnnotations, this.renderRange);
468
+ const fileDiff = this.fileDiff;
469
+ if (editor != null && fileContainer != null && fileDiff != null && !fileDiff.isPartial) this.hunksRenderer.initializeHighlighter().then((highlighter) => {
470
+ editor.__syncRenderView(highlighter, fileContainer, fileDiff, this.lineAnnotations, this.renderRange);
462
471
  });
463
- };
472
+ }
464
473
  attachEditor(editor) {
465
474
  this.editor?.cleanUp();
466
475
  this.editor = editor;
467
- queueRender(this.syncRenderView);
476
+ this.interactionManager.setEditorAttached(true);
477
+ this.syncRenderViewToEditor();
468
478
  return () => {
469
479
  this.editor = void 0;
480
+ this.interactionManager.setEditorAttached(false);
470
481
  };
471
482
  }
472
483
  applyDocumentChange(textDocument, newLineAnnotations) {
@@ -481,29 +492,22 @@ var FileDiff = class {
481
492
  this.renderAnnotations();
482
493
  }
483
494
  }
484
- updateRenderCache(dirtyLines, themeType, shouldRerender) {
485
- this.hunksRenderer.updateRenderCache(dirtyLines, themeType);
486
- if (shouldRerender === true) this.render({
487
- didEdit: true,
488
- renderRange: this.renderRange
489
- });
495
+ rerenderFromDocument(textDocument) {
496
+ this.hunksRenderer.applyDocumentChange(textDocument);
497
+ const renderDiff = this.hunksRenderer.getRenderDiff();
498
+ if (renderDiff != null) this.fileDiff = renderDiff;
499
+ this.hunksRenderer.clearRenderCache();
500
+ this.rerender();
490
501
  }
491
- getAdditionFile() {
492
- if (this.additionFile != null) return this.additionFile;
493
- const fileDiff = this.fileDiff;
494
- if (fileDiff != null && !fileDiff.isPartial) {
495
- const { name, lang, cacheKey } = fileDiff;
496
- const file = {
497
- name,
498
- lang,
499
- cacheKey
500
- };
501
- Object.defineProperty(file, "contents", {
502
- enumerable: true,
503
- get: () => fileDiff.additionLines.join("")
504
- });
505
- return file;
506
- }
502
+ updateRenderCache(dirtyLines, themeType, shouldRefreshView, skipDiffRecompute) {
503
+ this.hunksRenderer.updateRenderCache(dirtyLines, themeType, skipDiffRecompute);
504
+ if (shouldRefreshView === true) if (this.options.diffStyle === "split") {
505
+ if (this.fastRefreshTimeout != null) clearTimeout(this.fastRefreshTimeout);
506
+ this.fastRefreshTimeout = setTimeout(() => {
507
+ this.fastRefreshTimeout = void 0;
508
+ this.fastRefreshDiffView();
509
+ }, 100);
510
+ } else this.refreshDiffView();
507
511
  }
508
512
  removeRenderedCode() {
509
513
  this.resizeManager.cleanUp();
@@ -548,7 +552,7 @@ var FileDiff = class {
548
552
  primeHighlightCache() {
549
553
  const { fileDiff, workerManager } = this;
550
554
  if (fileDiff == null || workerManager == null || isDiffPlainText(fileDiff)) return;
551
- const tokenizeMaxLength = this.options.tokenizeMaxLength ?? DEFAULT_TOKENIZE_MAX_LENGTH;
555
+ const tokenizeMaxLength = this.options.tokenizeMaxLength ?? 1e5;
552
556
  if (Math.max(fileDiff.additionLines.length, fileDiff.deletionLines.length) > tokenizeMaxLength) return;
553
557
  workerManager.primeDiffHighlightCache(fileDiff);
554
558
  }
@@ -565,6 +569,7 @@ var FileDiff = class {
565
569
  this.errorWrapper?.remove();
566
570
  this.headerElement?.remove();
567
571
  this.headerPrefix?.remove();
572
+ this.headerFilenameSuffix?.remove();
568
573
  this.headerMetadata?.remove();
569
574
  this.headerCustom?.remove();
570
575
  this.pre?.remove();
@@ -579,6 +584,7 @@ var FileDiff = class {
579
584
  this.errorWrapper = void 0;
580
585
  this.headerElement = void 0;
581
586
  this.headerPrefix = void 0;
587
+ this.headerFilenameSuffix = void 0;
582
588
  this.headerMetadata = void 0;
583
589
  this.headerCustom = void 0;
584
590
  this.pre = void 0;
@@ -675,7 +681,7 @@ var FileDiff = class {
675
681
  }
676
682
  getOrCreateFileContainer(fileContainer, parentNode) {
677
683
  const { fileContainer: previousContainer } = this;
678
- const nextContainer = fileContainer ?? previousContainer ?? document.createElement(DIFFS_TAG_NAME);
684
+ const nextContainer = fileContainer ?? previousContainer ?? document.createElement("diffs-container");
679
685
  const containerChanged = previousContainer !== nextContainer;
680
686
  if (containerChanged) this.emitPostRender(true);
681
687
  this.fileContainer = nextContainer;
@@ -692,10 +698,10 @@ var FileDiff = class {
692
698
  const { shadowRoot } = fileContainer;
693
699
  if (shadowRoot == null) return;
694
700
  for (const element of shadowRoot.children) if (element instanceof SVGElement) this.spriteSVG ??= element;
695
- else if (isStyleNode(element) && element.hasAttribute(THEME_CSS_ATTRIBUTE)) {
701
+ else if (isStyleNode(element) && element.hasAttribute("data-theme-css")) {
696
702
  this.themeCSSStyle ??= element;
697
703
  this.hasAdoptedThemeCSS = true;
698
- } else if (isStyleNode(element) && element.hasAttribute(UNSAFE_CSS_ATTRIBUTE)) {
704
+ } else if (isStyleNode(element) && element.hasAttribute("data-unsafe-css")) {
699
705
  this.unsafeCSSStyle ??= element;
700
706
  this.appliedUnsafeCSS ??= this.options.unsafeCSS ?? void 0;
701
707
  }
@@ -756,28 +762,34 @@ var FileDiff = class {
756
762
  this.lastRenderedHeaderHTML = headerHTML;
757
763
  }
758
764
  if (this.isContainerManaged || fileDiff == null) return;
759
- const { renderCustomHeader, renderHeaderPrefix, renderHeaderMetadata } = this.options;
765
+ const { renderCustomHeader, renderHeaderPrefix, renderHeaderFilenameSuffix, renderHeaderMetadata } = this.options;
760
766
  if (renderCustomHeader != null) {
761
- const content$1 = renderCustomHeader(fileDiff) ?? void 0;
762
- this.headerCustom = this.upsertHeaderSlotElement(container, this.headerCustom, CUSTOM_HEADER_SLOT_ID, content$1);
767
+ const content = renderCustomHeader(fileDiff) ?? void 0;
768
+ this.headerCustom = this.upsertHeaderSlotElement(container, this.headerCustom, CUSTOM_HEADER_SLOT_ID, content);
763
769
  this.headerPrefix?.remove();
770
+ this.headerFilenameSuffix?.remove();
764
771
  this.headerMetadata?.remove();
765
772
  this.headerPrefix = void 0;
773
+ this.headerFilenameSuffix = void 0;
766
774
  this.headerMetadata = void 0;
767
775
  return;
768
776
  }
769
777
  const prefix = renderHeaderPrefix?.(fileDiff) ?? void 0;
778
+ const suffix = renderHeaderFilenameSuffix?.(fileDiff) ?? void 0;
770
779
  const content = renderHeaderMetadata?.(fileDiff) ?? void 0;
771
780
  this.headerPrefix = this.upsertHeaderSlotElement(container, this.headerPrefix, HEADER_PREFIX_SLOT_ID, prefix);
781
+ this.headerFilenameSuffix = this.upsertHeaderSlotElement(container, this.headerFilenameSuffix, HEADER_FILENAME_SUFFIX_SLOT_ID, suffix);
772
782
  this.headerMetadata = this.upsertHeaderSlotElement(container, this.headerMetadata, HEADER_METADATA_SLOT_ID, content);
773
783
  this.headerCustom?.remove();
774
784
  this.headerCustom = void 0;
775
785
  }
776
786
  clearHeaderSlots() {
777
787
  this.headerPrefix?.remove();
788
+ this.headerFilenameSuffix?.remove();
778
789
  this.headerMetadata?.remove();
779
790
  this.headerCustom?.remove();
780
791
  this.headerPrefix = void 0;
792
+ this.headerFilenameSuffix = void 0;
781
793
  this.headerMetadata = void 0;
782
794
  this.headerCustom = void 0;
783
795
  }
@@ -994,12 +1006,12 @@ var FileDiff = class {
994
1006
  this.renderPartialColumn(columns[1], additionsAST, insertPosition);
995
1007
  } else throw new Error("FileDiff.insertPartialHTML: Invalid argument composition");
996
1008
  }
997
- updateLineType(renderRange) {
998
- if (this.options.diffStyle === "unified") return;
999
- const hunksResult = this.hunksRenderer.renderDiff(this.fileDiff, renderRange);
1009
+ fastRefreshDiffView() {
1010
+ if (this.options.diffStyle !== "split") return;
1011
+ const hunksResult = this.hunksRenderer.renderDiff(this.fileDiff, this.renderRange);
1000
1012
  if (hunksResult == null) return;
1001
1013
  const columns = this.getCodeColumns("split", this.codeUnified, this.codeDeletions, this.codeAdditions);
1002
- if (columns == null || !Array.isArray(columns)) return;
1014
+ if (!Array.isArray(columns)) return;
1003
1015
  const applyLineType = (type, column) => {
1004
1016
  if (column == null) return;
1005
1017
  const ast = this.hunksRenderer.renderCodeAST(type, hunksResult);
@@ -1014,6 +1026,24 @@ var FileDiff = class {
1014
1026
  applyLineType("deletions", columns[0]);
1015
1027
  applyLineType("additions", columns[1]);
1016
1028
  }
1029
+ refreshDiffView() {
1030
+ const hunksResult = this.hunksRenderer.renderDiff(this.fileDiff, this.renderRange);
1031
+ if (hunksResult == null) return;
1032
+ const columns = this.getCodeColumns(this.options.diffStyle ?? "split", this.codeUnified, this.codeDeletions, this.codeAdditions);
1033
+ if (columns == null) return;
1034
+ const render = (type, column) => {
1035
+ if (column == null) return;
1036
+ const ast = this.hunksRenderer.renderCodeAST(type, hunksResult);
1037
+ const gutterChildren = getElementChildren(ast?.[0]);
1038
+ const contentChildren = getElementChildren(ast?.[1]);
1039
+ for (const [el, astChildren] of [[column.gutter, gutterChildren], [column.content, contentChildren]]) if (astChildren != null) el.innerHTML = toHtml(astChildren);
1040
+ };
1041
+ if (Array.isArray(columns)) {
1042
+ render("deletions", columns[0]);
1043
+ render("additions", columns[1]);
1044
+ } else render("unified", columns);
1045
+ this.syncRenderViewToEditor();
1046
+ }
1017
1047
  renderPartialColumn(column, ast, insertPosition) {
1018
1048
  if (column == null || ast == null) return;
1019
1049
  const gutterChildren = getElementChildren(ast[0]);
@@ -1312,7 +1342,7 @@ function getElementChildren(node) {
1312
1342
  if (node == null || node.type !== "element") return;
1313
1343
  return node.children ?? [];
1314
1344
  }
1315
-
1316
1345
  //#endregion
1317
1346
  export { FileDiff };
1347
+
1318
1348
  //# sourceMappingURL=FileDiff.js.map