@pierre/diffs 1.2.10 → 1.2.12

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 (545) hide show
  1. package/README.md +15 -15
  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 +13 -14
  5. package/dist/components/CodeView.js.map +1 -1
  6. package/dist/components/File.d.ts +1 -4
  7. package/dist/components/File.d.ts.map +1 -1
  8. package/dist/components/File.js +19 -12
  9. package/dist/components/File.js.map +1 -1
  10. package/dist/components/FileDiff.d.ts +11 -14
  11. package/dist/components/FileDiff.d.ts.map +1 -1
  12. package/dist/components/FileDiff.js +16 -14
  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 +8 -6
  17. package/dist/components/FileStream.js.map +1 -1
  18. package/dist/components/UnresolvedFile.d.ts +2 -2
  19. package/dist/components/UnresolvedFile.d.ts.map +1 -1
  20. package/dist/components/UnresolvedFile.js +7 -5
  21. package/dist/components/UnresolvedFile.js.map +1 -1
  22. package/dist/components/VirtualizedFile.d.ts +6 -3
  23. package/dist/components/VirtualizedFile.d.ts.map +1 -1
  24. package/dist/components/VirtualizedFile.js +97 -35
  25. package/dist/components/VirtualizedFile.js.map +1 -1
  26. package/dist/components/VirtualizedFileDiff.d.ts +9 -5
  27. package/dist/components/VirtualizedFileDiff.d.ts.map +1 -1
  28. package/dist/components/VirtualizedFileDiff.js +91 -30
  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 +1 -1
  39. package/dist/constants.d.ts.map +1 -1
  40. package/dist/constants.js +1 -1
  41. package/dist/constants.js.map +1 -1
  42. package/dist/highlighter/languages/areLanguagesAttached.d.ts.map +1 -1
  43. package/dist/highlighter/languages/areLanguagesAttached.js +1 -2
  44. package/dist/highlighter/languages/areLanguagesAttached.js.map +1 -1
  45. package/dist/highlighter/languages/attachResolvedLanguages.d.ts +0 -2
  46. package/dist/highlighter/languages/attachResolvedLanguages.d.ts.map +1 -1
  47. package/dist/highlighter/languages/attachResolvedLanguages.js +1 -2
  48. package/dist/highlighter/languages/attachResolvedLanguages.js.map +1 -1
  49. package/dist/highlighter/languages/cleanUpResolvedLanguages.d.ts.map +1 -1
  50. package/dist/highlighter/languages/cleanUpResolvedLanguages.js +1 -2
  51. package/dist/highlighter/languages/cleanUpResolvedLanguages.js.map +1 -1
  52. package/dist/highlighter/languages/constants.d.ts +0 -1
  53. package/dist/highlighter/languages/constants.d.ts.map +1 -1
  54. package/dist/highlighter/languages/constants.js +1 -1
  55. package/dist/highlighter/languages/constants.js.map +1 -1
  56. package/dist/highlighter/languages/getResolvedLanguages.d.ts +0 -2
  57. package/dist/highlighter/languages/getResolvedLanguages.d.ts.map +1 -1
  58. package/dist/highlighter/languages/getResolvedLanguages.js +1 -2
  59. package/dist/highlighter/languages/getResolvedLanguages.js.map +1 -1
  60. package/dist/highlighter/languages/getResolvedOrResolveLanguage.d.ts +0 -2
  61. package/dist/highlighter/languages/getResolvedOrResolveLanguage.d.ts.map +1 -1
  62. package/dist/highlighter/languages/getResolvedOrResolveLanguage.js +1 -2
  63. package/dist/highlighter/languages/getResolvedOrResolveLanguage.js.map +1 -1
  64. package/dist/highlighter/languages/hasResolvedLanguages.d.ts.map +1 -1
  65. package/dist/highlighter/languages/hasResolvedLanguages.js +1 -2
  66. package/dist/highlighter/languages/hasResolvedLanguages.js.map +1 -1
  67. package/dist/highlighter/languages/registerCustomLanguage.d.ts +0 -1
  68. package/dist/highlighter/languages/registerCustomLanguage.d.ts.map +1 -1
  69. package/dist/highlighter/languages/registerCustomLanguage.js +1 -2
  70. package/dist/highlighter/languages/registerCustomLanguage.js.map +1 -1
  71. package/dist/highlighter/languages/resolveLanguage.d.ts +0 -2
  72. package/dist/highlighter/languages/resolveLanguage.d.ts.map +1 -1
  73. package/dist/highlighter/languages/resolveLanguage.js +4 -5
  74. package/dist/highlighter/languages/resolveLanguage.js.map +1 -1
  75. package/dist/highlighter/languages/resolveLanguages.d.ts +0 -2
  76. package/dist/highlighter/languages/resolveLanguages.d.ts.map +1 -1
  77. package/dist/highlighter/languages/resolveLanguages.js +1 -2
  78. package/dist/highlighter/languages/resolveLanguages.js.map +1 -1
  79. package/dist/highlighter/shared_highlighter.d.ts.map +1 -1
  80. package/dist/highlighter/shared_highlighter.js +3 -4
  81. package/dist/highlighter/shared_highlighter.js.map +1 -1
  82. package/dist/highlighter/themes/areThemesAttached.d.ts.map +1 -1
  83. package/dist/highlighter/themes/areThemesAttached.js +1 -2
  84. package/dist/highlighter/themes/areThemesAttached.js.map +1 -1
  85. package/dist/highlighter/themes/attachResolvedThemes.d.ts.map +1 -1
  86. package/dist/highlighter/themes/attachResolvedThemes.js +1 -2
  87. package/dist/highlighter/themes/attachResolvedThemes.js.map +1 -1
  88. package/dist/highlighter/themes/cleanUpResolvedThemes.d.ts.map +1 -1
  89. package/dist/highlighter/themes/cleanUpResolvedThemes.js +1 -2
  90. package/dist/highlighter/themes/cleanUpResolvedThemes.js.map +1 -1
  91. package/dist/highlighter/themes/constants.d.ts.map +1 -1
  92. package/dist/highlighter/themes/constants.js +1 -1
  93. package/dist/highlighter/themes/constants.js.map +1 -1
  94. package/dist/highlighter/themes/getResolvedOrResolveTheme.d.ts.map +1 -1
  95. package/dist/highlighter/themes/getResolvedOrResolveTheme.js +1 -2
  96. package/dist/highlighter/themes/getResolvedOrResolveTheme.js.map +1 -1
  97. package/dist/highlighter/themes/getResolvedThemes.d.ts.map +1 -1
  98. package/dist/highlighter/themes/getResolvedThemes.js +1 -2
  99. package/dist/highlighter/themes/getResolvedThemes.js.map +1 -1
  100. package/dist/highlighter/themes/hasResolvedThemes.d.ts.map +1 -1
  101. package/dist/highlighter/themes/hasResolvedThemes.js +1 -2
  102. package/dist/highlighter/themes/hasResolvedThemes.js.map +1 -1
  103. package/dist/highlighter/themes/registerCustomCSSVariableTheme.d.ts.map +1 -1
  104. package/dist/highlighter/themes/registerCustomCSSVariableTheme.js +1 -2
  105. package/dist/highlighter/themes/registerCustomCSSVariableTheme.js.map +1 -1
  106. package/dist/highlighter/themes/registerCustomTheme.d.ts.map +1 -1
  107. package/dist/highlighter/themes/registerCustomTheme.js +1 -2
  108. package/dist/highlighter/themes/registerCustomTheme.js.map +1 -1
  109. package/dist/highlighter/themes/resolveTheme.d.ts.map +1 -1
  110. package/dist/highlighter/themes/resolveTheme.js +1 -2
  111. package/dist/highlighter/themes/resolveTheme.js.map +1 -1
  112. package/dist/highlighter/themes/resolveThemes.d.ts.map +1 -1
  113. package/dist/highlighter/themes/resolveThemes.js +1 -2
  114. package/dist/highlighter/themes/resolveThemes.js.map +1 -1
  115. package/dist/highlighter/themes/themeResolution.d.ts.map +1 -1
  116. package/dist/highlighter/themes/themeResolution.js +1 -2
  117. package/dist/highlighter/themes/themeResolution.js.map +1 -1
  118. package/dist/highlighter/themes/themeResolver.d.ts +2 -2
  119. package/dist/highlighter/themes/themeResolver.d.ts.map +1 -1
  120. package/dist/highlighter/themes/themeResolver.js +1 -2
  121. package/dist/highlighter/themes/themeResolver.js.map +1 -1
  122. package/dist/index.d.ts +9 -9
  123. package/dist/index.js +1 -2
  124. package/dist/managers/InteractionManager.d.ts.map +1 -1
  125. package/dist/managers/InteractionManager.js +4 -4
  126. package/dist/managers/InteractionManager.js.map +1 -1
  127. package/dist/managers/ResizeManager.d.ts.map +1 -1
  128. package/dist/managers/ResizeManager.js +2 -2
  129. package/dist/managers/ResizeManager.js.map +1 -1
  130. package/dist/managers/ScrollSyncManager.d.ts.map +1 -1
  131. package/dist/managers/ScrollSyncManager.js +1 -1
  132. package/dist/managers/ScrollSyncManager.js.map +1 -1
  133. package/dist/managers/UniversalRenderingManager.d.ts.map +1 -1
  134. package/dist/managers/UniversalRenderingManager.js +2 -2
  135. package/dist/managers/UniversalRenderingManager.js.map +1 -1
  136. package/dist/node_modules/.pnpm/@types_hast@3.0.4/node_modules/@types/hast/index.d.ts +228 -0
  137. package/dist/node_modules/.pnpm/@types_hast@3.0.4/node_modules/@types/hast/index.d.ts.map +1 -0
  138. package/dist/node_modules/.pnpm/@types_unist@3.0.3/node_modules/@types/unist/index.d.ts +84 -0
  139. package/dist/node_modules/.pnpm/@types_unist@3.0.3/node_modules/@types/unist/index.d.ts.map +1 -0
  140. package/dist/react/CodeView.d.ts +0 -1
  141. package/dist/react/CodeView.d.ts.map +1 -1
  142. package/dist/react/CodeView.js +9 -12
  143. package/dist/react/CodeView.js.map +1 -1
  144. package/dist/react/File.d.ts.map +1 -1
  145. package/dist/react/File.js +2 -5
  146. package/dist/react/File.js.map +1 -1
  147. package/dist/react/FileDiff.d.ts.map +1 -1
  148. package/dist/react/FileDiff.js +2 -5
  149. package/dist/react/FileDiff.js.map +1 -1
  150. package/dist/react/MultiFileDiff.d.ts.map +1 -1
  151. package/dist/react/MultiFileDiff.js +2 -5
  152. package/dist/react/MultiFileDiff.js.map +1 -1
  153. package/dist/react/PatchDiff.d.ts.map +1 -1
  154. package/dist/react/PatchDiff.js +2 -5
  155. package/dist/react/PatchDiff.js.map +1 -1
  156. package/dist/react/UnresolvedFile.d.ts +1 -1
  157. package/dist/react/UnresolvedFile.d.ts.map +1 -1
  158. package/dist/react/UnresolvedFile.js +2 -5
  159. package/dist/react/UnresolvedFile.js.map +1 -1
  160. package/dist/react/Virtualizer.d.ts.map +1 -1
  161. package/dist/react/Virtualizer.js +2 -5
  162. package/dist/react/Virtualizer.js.map +1 -1
  163. package/dist/react/WorkerPoolContext.d.ts +0 -1
  164. package/dist/react/WorkerPoolContext.d.ts.map +1 -1
  165. package/dist/react/WorkerPoolContext.js +2 -5
  166. package/dist/react/WorkerPoolContext.js.map +1 -1
  167. package/dist/react/constants.d.ts.map +1 -1
  168. package/dist/react/constants.js +1 -1
  169. package/dist/react/constants.js.map +1 -1
  170. package/dist/react/index.d.ts +1 -1
  171. package/dist/react/index.js +1 -2
  172. package/dist/react/jsx.d.ts +0 -2
  173. package/dist/react/jsx.d.ts.map +1 -1
  174. package/dist/react/types.d.ts.map +1 -1
  175. package/dist/react/utils/renderDiffChildren.d.ts.map +1 -1
  176. package/dist/react/utils/renderDiffChildren.js +4 -5
  177. package/dist/react/utils/renderDiffChildren.js.map +1 -1
  178. package/dist/react/utils/renderFileChildren.d.ts.map +1 -1
  179. package/dist/react/utils/renderFileChildren.js +4 -5
  180. package/dist/react/utils/renderFileChildren.js.map +1 -1
  181. package/dist/react/utils/templateRender.d.ts.map +1 -1
  182. package/dist/react/utils/templateRender.js +1 -2
  183. package/dist/react/utils/templateRender.js.map +1 -1
  184. package/dist/react/utils/useFileDiffInstance.d.ts.map +1 -1
  185. package/dist/react/utils/useFileDiffInstance.js +1 -2
  186. package/dist/react/utils/useFileDiffInstance.js.map +1 -1
  187. package/dist/react/utils/useFileInstance.d.ts.map +1 -1
  188. package/dist/react/utils/useFileInstance.js +1 -2
  189. package/dist/react/utils/useFileInstance.js.map +1 -1
  190. package/dist/react/utils/useStableCallback.d.ts.map +1 -1
  191. package/dist/react/utils/useStableCallback.js +1 -2
  192. package/dist/react/utils/useStableCallback.js.map +1 -1
  193. package/dist/react/utils/useUnresolvedFileInstance.d.ts.map +1 -1
  194. package/dist/react/utils/useUnresolvedFileInstance.js +10 -11
  195. package/dist/react/utils/useUnresolvedFileInstance.js.map +1 -1
  196. package/dist/renderers/DiffHunksRenderer.d.ts +4 -4
  197. package/dist/renderers/DiffHunksRenderer.d.ts.map +1 -1
  198. package/dist/renderers/DiffHunksRenderer.js +66 -16
  199. package/dist/renderers/DiffHunksRenderer.js.map +1 -1
  200. package/dist/renderers/FileRenderer.d.ts +1 -3
  201. package/dist/renderers/FileRenderer.d.ts.map +1 -1
  202. package/dist/renderers/FileRenderer.js +22 -8
  203. package/dist/renderers/FileRenderer.js.map +1 -1
  204. package/dist/renderers/UnresolvedFileHunksRenderer.d.ts +1 -2
  205. package/dist/renderers/UnresolvedFileHunksRenderer.d.ts.map +1 -1
  206. package/dist/renderers/UnresolvedFileHunksRenderer.js +1 -2
  207. package/dist/renderers/UnresolvedFileHunksRenderer.js.map +1 -1
  208. package/dist/shiki-stream/index.js +1 -2
  209. package/dist/shiki-stream/stream.d.ts +0 -1
  210. package/dist/shiki-stream/stream.d.ts.map +1 -1
  211. package/dist/shiki-stream/stream.js +1 -2
  212. package/dist/shiki-stream/stream.js.map +1 -1
  213. package/dist/shiki-stream/tokenizer.d.ts.map +1 -1
  214. package/dist/shiki-stream/tokenizer.js +1 -1
  215. package/dist/shiki-stream/tokenizer.js.map +1 -1
  216. package/dist/shiki-stream/types.d.ts +0 -1
  217. package/dist/shiki-stream/types.d.ts.map +1 -1
  218. package/dist/sprite.d.ts.map +1 -1
  219. package/dist/sprite.js +1 -1
  220. package/dist/ssr/FileDiffReact.d.ts.map +1 -1
  221. package/dist/ssr/FileDiffReact.js +4 -7
  222. package/dist/ssr/FileDiffReact.js.map +1 -1
  223. package/dist/ssr/index.d.ts +1 -1
  224. package/dist/ssr/index.js +1 -2
  225. package/dist/ssr/preloadDiffs.d.ts +1 -1
  226. package/dist/ssr/preloadDiffs.d.ts.map +1 -1
  227. package/dist/ssr/preloadDiffs.js +1 -2
  228. package/dist/ssr/preloadDiffs.js.map +1 -1
  229. package/dist/ssr/preloadFile.d.ts.map +1 -1
  230. package/dist/ssr/preloadFile.js +1 -2
  231. package/dist/ssr/preloadFile.js.map +1 -1
  232. package/dist/ssr/preloadPatchFile.d.ts.map +1 -1
  233. package/dist/ssr/preloadPatchFile.js +2 -3
  234. package/dist/ssr/preloadPatchFile.js.map +1 -1
  235. package/dist/ssr/renderHTML.d.ts +1 -1
  236. package/dist/ssr/renderHTML.d.ts.map +1 -1
  237. package/dist/ssr/renderHTML.js +1 -2
  238. package/dist/ssr/renderHTML.js.map +1 -1
  239. package/dist/string-import.d.ts +4 -0
  240. package/dist/string-import.d.ts.map +1 -1
  241. package/dist/style.js +3 -3
  242. package/dist/style.js.map +1 -1
  243. package/dist/types.d.ts +9 -1
  244. package/dist/types.d.ts.map +1 -1
  245. package/dist/utils/areDiffLineAnnotationsEqual.d.ts.map +1 -1
  246. package/dist/utils/areDiffLineAnnotationsEqual.js +1 -1
  247. package/dist/utils/areDiffLineAnnotationsEqual.js.map +1 -1
  248. package/dist/utils/areDiffRenderOptionsEqual.d.ts.map +1 -1
  249. package/dist/utils/areDiffRenderOptionsEqual.js +1 -2
  250. package/dist/utils/areDiffRenderOptionsEqual.js.map +1 -1
  251. package/dist/utils/areDiffTargetsEqual.d.ts.map +1 -1
  252. package/dist/utils/areDiffTargetsEqual.js +1 -1
  253. package/dist/utils/areDiffTargetsEqual.js.map +1 -1
  254. package/dist/utils/areFileRenderOptionsEqual.d.ts.map +1 -1
  255. package/dist/utils/areFileRenderOptionsEqual.js +1 -2
  256. package/dist/utils/areFileRenderOptionsEqual.js.map +1 -1
  257. package/dist/utils/areFilesEqual.d.ts.map +1 -1
  258. package/dist/utils/areFilesEqual.js +1 -1
  259. package/dist/utils/areFilesEqual.js.map +1 -1
  260. package/dist/utils/areHunkDataEqual.d.ts.map +1 -1
  261. package/dist/utils/areHunkDataEqual.js +1 -1
  262. package/dist/utils/areHunkDataEqual.js.map +1 -1
  263. package/dist/utils/areLineAnnotationsEqual.d.ts.map +1 -1
  264. package/dist/utils/areLineAnnotationsEqual.js +1 -1
  265. package/dist/utils/areLineAnnotationsEqual.js.map +1 -1
  266. package/dist/utils/areManagedSnapshotsEqual.d.ts.map +1 -1
  267. package/dist/utils/areManagedSnapshotsEqual.js +1 -1
  268. package/dist/utils/areManagedSnapshotsEqual.js.map +1 -1
  269. package/dist/utils/areMergeConflictActionsEqual.d.ts.map +1 -1
  270. package/dist/utils/areMergeConflictActionsEqual.js +1 -1
  271. package/dist/utils/areMergeConflictActionsEqual.js.map +1 -1
  272. package/dist/utils/areObjectsEqual.d.ts.map +1 -1
  273. package/dist/utils/areObjectsEqual.js +1 -1
  274. package/dist/utils/areObjectsEqual.js.map +1 -1
  275. package/dist/utils/areOptionsEqual.d.ts +0 -2
  276. package/dist/utils/areOptionsEqual.d.ts.map +1 -1
  277. package/dist/utils/areOptionsEqual.js +1 -2
  278. package/dist/utils/areOptionsEqual.js.map +1 -1
  279. package/dist/utils/arePrePropertiesEqual.d.ts.map +1 -1
  280. package/dist/utils/arePrePropertiesEqual.js +1 -1
  281. package/dist/utils/arePrePropertiesEqual.js.map +1 -1
  282. package/dist/utils/areRenderRangesEqual.d.ts.map +1 -1
  283. package/dist/utils/areRenderRangesEqual.js +1 -1
  284. package/dist/utils/areRenderRangesEqual.js.map +1 -1
  285. package/dist/utils/areSelectionPointsEqual.d.ts.map +1 -1
  286. package/dist/utils/areSelectionPointsEqual.js +1 -1
  287. package/dist/utils/areSelectionPointsEqual.js.map +1 -1
  288. package/dist/utils/areSelectionsEqual.d.ts.map +1 -1
  289. package/dist/utils/areSelectionsEqual.js +1 -1
  290. package/dist/utils/areSelectionsEqual.js.map +1 -1
  291. package/dist/utils/areThemesEqual.d.ts.map +1 -1
  292. package/dist/utils/areThemesEqual.js +1 -1
  293. package/dist/utils/areThemesEqual.js.map +1 -1
  294. package/dist/utils/areVirtualWindowSpecsEqual.d.ts.map +1 -1
  295. package/dist/utils/areVirtualWindowSpecsEqual.js +1 -1
  296. package/dist/utils/areVirtualWindowSpecsEqual.js.map +1 -1
  297. package/dist/utils/areWorkerStatsEqual.d.ts +0 -2
  298. package/dist/utils/areWorkerStatsEqual.d.ts.map +1 -1
  299. package/dist/utils/areWorkerStatsEqual.js +1 -1
  300. package/dist/utils/areWorkerStatsEqual.js.map +1 -1
  301. package/dist/utils/cleanLastNewline.d.ts.map +1 -1
  302. package/dist/utils/cleanLastNewline.js +1 -1
  303. package/dist/utils/cleanLastNewline.js.map +1 -1
  304. package/dist/utils/computeEstimatedDiffHeights.d.ts.map +1 -1
  305. package/dist/utils/computeEstimatedDiffHeights.js +1 -2
  306. package/dist/utils/computeEstimatedDiffHeights.js.map +1 -1
  307. package/dist/utils/computeVirtualFileMetrics.d.ts.map +1 -1
  308. package/dist/utils/computeVirtualFileMetrics.js +1 -2
  309. package/dist/utils/computeVirtualFileMetrics.js.map +1 -1
  310. package/dist/utils/createAnnotationElement.d.ts +1 -1
  311. package/dist/utils/createAnnotationElement.d.ts.map +1 -1
  312. package/dist/utils/createAnnotationElement.js +1 -2
  313. package/dist/utils/createAnnotationElement.js.map +1 -1
  314. package/dist/utils/createAnnotationWrapperNode.d.ts.map +1 -1
  315. package/dist/utils/createAnnotationWrapperNode.js +1 -1
  316. package/dist/utils/createAnnotationWrapperNode.js.map +1 -1
  317. package/dist/utils/createContentColumn.d.ts +1 -1
  318. package/dist/utils/createContentColumn.d.ts.map +1 -1
  319. package/dist/utils/createContentColumn.js +1 -2
  320. package/dist/utils/createContentColumn.js.map +1 -1
  321. package/dist/utils/createEmptyRowBuffer.d.ts +1 -1
  322. package/dist/utils/createEmptyRowBuffer.d.ts.map +1 -1
  323. package/dist/utils/createEmptyRowBuffer.js +1 -2
  324. package/dist/utils/createEmptyRowBuffer.js.map +1 -1
  325. package/dist/utils/createFileHeaderElement.d.ts +1 -1
  326. package/dist/utils/createFileHeaderElement.d.ts.map +1 -1
  327. package/dist/utils/createFileHeaderElement.js +1 -2
  328. package/dist/utils/createFileHeaderElement.js.map +1 -1
  329. package/dist/utils/createGutterUtilityContentNode.d.ts.map +1 -1
  330. package/dist/utils/createGutterUtilityContentNode.js +1 -1
  331. package/dist/utils/createGutterUtilityContentNode.js.map +1 -1
  332. package/dist/utils/createGutterUtilityElement.d.ts +1 -1
  333. package/dist/utils/createGutterUtilityElement.d.ts.map +1 -1
  334. package/dist/utils/createGutterUtilityElement.js +1 -2
  335. package/dist/utils/createGutterUtilityElement.js.map +1 -1
  336. package/dist/utils/createNoNewlineElement.d.ts +1 -1
  337. package/dist/utils/createNoNewlineElement.d.ts.map +1 -1
  338. package/dist/utils/createNoNewlineElement.js +1 -2
  339. package/dist/utils/createNoNewlineElement.js.map +1 -1
  340. package/dist/utils/createPreElement.d.ts +1 -1
  341. package/dist/utils/createPreElement.d.ts.map +1 -1
  342. package/dist/utils/createPreElement.js +1 -3
  343. package/dist/utils/createPreElement.js.map +1 -1
  344. package/dist/utils/createRowNodes.d.ts.map +1 -1
  345. package/dist/utils/createRowNodes.js +1 -1
  346. package/dist/utils/createRowNodes.js.map +1 -1
  347. package/dist/utils/createSeparator.d.ts +1 -1
  348. package/dist/utils/createSeparator.d.ts.map +1 -1
  349. package/dist/utils/createSeparator.js +1 -2
  350. package/dist/utils/createSeparator.js.map +1 -1
  351. package/dist/utils/createSpanNodeFromToken.d.ts.map +1 -1
  352. package/dist/utils/createSpanNodeFromToken.js +1 -2
  353. package/dist/utils/createSpanNodeFromToken.js.map +1 -1
  354. package/dist/utils/createStyleElement.d.ts +1 -1
  355. package/dist/utils/createStyleElement.d.ts.map +1 -1
  356. package/dist/utils/createStyleElement.js +1 -2
  357. package/dist/utils/createStyleElement.js.map +1 -1
  358. package/dist/utils/createTransformerWithState.d.ts.map +1 -1
  359. package/dist/utils/createTransformerWithState.js +1 -2
  360. package/dist/utils/createTransformerWithState.js.map +1 -1
  361. package/dist/utils/createUnsafeCSSStyleNode.d.ts.map +1 -1
  362. package/dist/utils/createUnsafeCSSStyleNode.js +1 -2
  363. package/dist/utils/createUnsafeCSSStyleNode.js.map +1 -1
  364. package/dist/utils/createWindowFromScrollPosition.d.ts.map +1 -1
  365. package/dist/utils/createWindowFromScrollPosition.js +5 -5
  366. package/dist/utils/createWindowFromScrollPosition.js.map +1 -1
  367. package/dist/utils/cssWrappers.d.ts.map +1 -1
  368. package/dist/utils/cssWrappers.js +2 -3
  369. package/dist/utils/cssWrappers.js.map +1 -1
  370. package/dist/utils/detachString.d.ts.map +1 -1
  371. package/dist/utils/detachString.js +1 -1
  372. package/dist/utils/detachString.js.map +1 -1
  373. package/dist/utils/diffAcceptRejectHunk.d.ts.map +1 -1
  374. package/dist/utils/diffAcceptRejectHunk.js +1 -2
  375. package/dist/utils/diffAcceptRejectHunk.js.map +1 -1
  376. package/dist/utils/formatCSSVariablePrefix.d.ts.map +1 -1
  377. package/dist/utils/formatCSSVariablePrefix.js +1 -1
  378. package/dist/utils/formatCSSVariablePrefix.js.map +1 -1
  379. package/dist/utils/getDiffHunksRendererOptions.d.ts.map +1 -1
  380. package/dist/utils/getDiffHunksRendererOptions.js +1 -1
  381. package/dist/utils/getDiffHunksRendererOptions.js.map +1 -1
  382. package/dist/utils/getFileRendererOptions.d.ts.map +1 -1
  383. package/dist/utils/getFileRendererOptions.js +1 -1
  384. package/dist/utils/getFileRendererOptions.js.map +1 -1
  385. package/dist/utils/getFiletypeFromFileName.d.ts.map +1 -1
  386. package/dist/utils/getFiletypeFromFileName.js +1 -1
  387. package/dist/utils/getFiletypeFromFileName.js.map +1 -1
  388. package/dist/utils/getHighlighterOptions.d.ts.map +1 -1
  389. package/dist/utils/getHighlighterOptions.js +1 -2
  390. package/dist/utils/getHighlighterOptions.js.map +1 -1
  391. package/dist/utils/getHighlighterThemeStyles.d.ts.map +1 -1
  392. package/dist/utils/getHighlighterThemeStyles.js +1 -2
  393. package/dist/utils/getHighlighterThemeStyles.js.map +1 -1
  394. package/dist/utils/getHunkSeparatorSlotName.d.ts.map +1 -1
  395. package/dist/utils/getHunkSeparatorSlotName.js +1 -1
  396. package/dist/utils/getHunkSeparatorSlotName.js.map +1 -1
  397. package/dist/utils/getIconForType.d.ts.map +1 -1
  398. package/dist/utils/getIconForType.js +1 -1
  399. package/dist/utils/getIconForType.js.map +1 -1
  400. package/dist/utils/getLineAnnotationName.d.ts.map +1 -1
  401. package/dist/utils/getLineAnnotationName.js +1 -1
  402. package/dist/utils/getLineAnnotationName.js.map +1 -1
  403. package/dist/utils/getLineEndingType.d.ts.map +1 -1
  404. package/dist/utils/getLineEndingType.js +1 -1
  405. package/dist/utils/getLineEndingType.js.map +1 -1
  406. package/dist/utils/getLineNodes.d.ts +1 -1
  407. package/dist/utils/getLineNodes.d.ts.map +1 -1
  408. package/dist/utils/getLineNodes.js +1 -1
  409. package/dist/utils/getLineNodes.js.map +1 -1
  410. package/dist/utils/getMergeConflictActionSlotName.d.ts.map +1 -1
  411. package/dist/utils/getMergeConflictActionSlotName.js +1 -1
  412. package/dist/utils/getMergeConflictActionSlotName.js.map +1 -1
  413. package/dist/utils/getMergeConflictLineTypes.d.ts.map +1 -1
  414. package/dist/utils/getMergeConflictLineTypes.js +1 -2
  415. package/dist/utils/getMergeConflictLineTypes.js.map +1 -1
  416. package/dist/utils/getOrCreateCodeNode.d.ts.map +1 -1
  417. package/dist/utils/getOrCreateCodeNode.js +1 -1
  418. package/dist/utils/getOrCreateCodeNode.js.map +1 -1
  419. package/dist/utils/getSingularPatch.d.ts.map +1 -1
  420. package/dist/utils/getSingularPatch.js +1 -2
  421. package/dist/utils/getSingularPatch.js.map +1 -1
  422. package/dist/utils/getThemes.d.ts.map +1 -1
  423. package/dist/utils/getThemes.js +1 -2
  424. package/dist/utils/getThemes.js.map +1 -1
  425. package/dist/utils/getTotalLineCountFromHunks.d.ts.map +1 -1
  426. package/dist/utils/getTotalLineCountFromHunks.js +1 -1
  427. package/dist/utils/getTotalLineCountFromHunks.js.map +1 -1
  428. package/dist/utils/hast_utils.d.ts +1 -1
  429. package/dist/utils/hast_utils.d.ts.map +1 -1
  430. package/dist/utils/hast_utils.js +1 -1
  431. package/dist/utils/hast_utils.js.map +1 -1
  432. package/dist/utils/hostTheme.d.ts.map +1 -1
  433. package/dist/utils/hostTheme.js +1 -2
  434. package/dist/utils/hostTheme.js.map +1 -1
  435. package/dist/utils/includesFileAnnotations.d.ts +17 -0
  436. package/dist/utils/includesFileAnnotations.d.ts.map +1 -0
  437. package/dist/utils/includesFileAnnotations.js +19 -0
  438. package/dist/utils/includesFileAnnotations.js.map +1 -0
  439. package/dist/utils/isDefaultRenderRange.d.ts.map +1 -1
  440. package/dist/utils/isDefaultRenderRange.js +1 -1
  441. package/dist/utils/isDefaultRenderRange.js.map +1 -1
  442. package/dist/utils/isDiffPlainText.d.ts.map +1 -1
  443. package/dist/utils/isDiffPlainText.js +1 -2
  444. package/dist/utils/isDiffPlainText.js.map +1 -1
  445. package/dist/utils/isFilePlainText.d.ts.map +1 -1
  446. package/dist/utils/isFilePlainText.js +1 -2
  447. package/dist/utils/isFilePlainText.js.map +1 -1
  448. package/dist/utils/isStyleNode.d.ts.map +1 -1
  449. package/dist/utils/isStyleNode.js +1 -1
  450. package/dist/utils/isStyleNode.js.map +1 -1
  451. package/dist/utils/isWorkerContext.d.ts.map +1 -1
  452. package/dist/utils/isWorkerContext.js +1 -1
  453. package/dist/utils/isWorkerContext.js.map +1 -1
  454. package/dist/utils/iterateOverDiff.d.ts.map +1 -1
  455. package/dist/utils/iterateOverDiff.js +44 -45
  456. package/dist/utils/iterateOverDiff.js.map +1 -1
  457. package/dist/utils/iterateOverFile.d.ts.map +1 -1
  458. package/dist/utils/iterateOverFile.js +1 -1
  459. package/dist/utils/iterateOverFile.js.map +1 -1
  460. package/dist/utils/normalizeDiffResolution.d.ts.map +1 -1
  461. package/dist/utils/normalizeDiffResolution.js +1 -1
  462. package/dist/utils/normalizeDiffResolution.js.map +1 -1
  463. package/dist/utils/parseDiffDecorations.d.ts.map +1 -1
  464. package/dist/utils/parseDiffDecorations.js +1 -2
  465. package/dist/utils/parseDiffDecorations.js.map +1 -1
  466. package/dist/utils/parseDiffFromFile.d.ts +0 -1
  467. package/dist/utils/parseDiffFromFile.d.ts.map +1 -1
  468. package/dist/utils/parseDiffFromFile.js +1 -2
  469. package/dist/utils/parseDiffFromFile.js.map +1 -1
  470. package/dist/utils/parseLineType.d.ts.map +1 -1
  471. package/dist/utils/parseLineType.js +1 -1
  472. package/dist/utils/parseLineType.js.map +1 -1
  473. package/dist/utils/parseMergeConflictDiffFromFile.d.ts.map +1 -1
  474. package/dist/utils/parseMergeConflictDiffFromFile.js +5 -5
  475. package/dist/utils/parseMergeConflictDiffFromFile.js.map +1 -1
  476. package/dist/utils/parsePatchFiles.d.ts.map +1 -1
  477. package/dist/utils/parsePatchFiles.js +6 -7
  478. package/dist/utils/parsePatchFiles.js.map +1 -1
  479. package/dist/utils/prefersReducedMotion.d.ts.map +1 -1
  480. package/dist/utils/prefersReducedMotion.js +1 -1
  481. package/dist/utils/prefersReducedMotion.js.map +1 -1
  482. package/dist/utils/prerenderHTMLIfNecessary.d.ts.map +1 -1
  483. package/dist/utils/prerenderHTMLIfNecessary.js +1 -1
  484. package/dist/utils/prerenderHTMLIfNecessary.js.map +1 -1
  485. package/dist/utils/processLine.d.ts +1 -1
  486. package/dist/utils/processLine.d.ts.map +1 -1
  487. package/dist/utils/processLine.js +1 -2
  488. package/dist/utils/processLine.js.map +1 -1
  489. package/dist/utils/renderDiffWithHighlighter.d.ts.map +1 -1
  490. package/dist/utils/renderDiffWithHighlighter.js +8 -7
  491. package/dist/utils/renderDiffWithHighlighter.js.map +1 -1
  492. package/dist/utils/renderFileWithHighlighter.d.ts.map +1 -1
  493. package/dist/utils/renderFileWithHighlighter.js +5 -4
  494. package/dist/utils/renderFileWithHighlighter.js.map +1 -1
  495. package/dist/utils/resolveConflict.d.ts.map +1 -1
  496. package/dist/utils/resolveConflict.js +1 -2
  497. package/dist/utils/resolveConflict.js.map +1 -1
  498. package/dist/utils/resolveRegion.d.ts.map +1 -1
  499. package/dist/utils/resolveRegion.js +1 -1
  500. package/dist/utils/resolveRegion.js.map +1 -1
  501. package/dist/utils/roundToDevicePixel.d.ts.map +1 -1
  502. package/dist/utils/roundToDevicePixel.js +1 -1
  503. package/dist/utils/roundToDevicePixel.js.map +1 -1
  504. package/dist/utils/scrollbarGutter.d.ts.map +1 -1
  505. package/dist/utils/scrollbarGutter.js +1 -2
  506. package/dist/utils/scrollbarGutter.js.map +1 -1
  507. package/dist/utils/setLanguageOverride.d.ts.map +1 -1
  508. package/dist/utils/setLanguageOverride.js +1 -1
  509. package/dist/utils/setLanguageOverride.js.map +1 -1
  510. package/dist/utils/setWrapperNodeProps.d.ts.map +1 -1
  511. package/dist/utils/setWrapperNodeProps.js +1 -2
  512. package/dist/utils/setWrapperNodeProps.js.map +1 -1
  513. package/dist/utils/shouldUseTokenTransformer.d.ts.map +1 -1
  514. package/dist/utils/shouldUseTokenTransformer.js +1 -1
  515. package/dist/utils/shouldUseTokenTransformer.js.map +1 -1
  516. package/dist/utils/splitFileContents.d.ts.map +1 -1
  517. package/dist/utils/splitFileContents.js +1 -2
  518. package/dist/utils/splitFileContents.js.map +1 -1
  519. package/dist/utils/trimPatchContext.d.ts.map +1 -1
  520. package/dist/utils/trimPatchContext.js +1 -2
  521. package/dist/utils/trimPatchContext.js.map +1 -1
  522. package/dist/utils/virtualDiffLayout.d.ts.map +1 -1
  523. package/dist/utils/virtualDiffLayout.js +1 -2
  524. package/dist/utils/virtualDiffLayout.js.map +1 -1
  525. package/dist/utils/wrapTokenFragments.d.ts +1 -1
  526. package/dist/utils/wrapTokenFragments.d.ts.map +1 -1
  527. package/dist/utils/wrapTokenFragments.js +1 -2
  528. package/dist/utils/wrapTokenFragments.js.map +1 -1
  529. package/dist/worker/WorkerPoolManager.d.ts.map +1 -1
  530. package/dist/worker/WorkerPoolManager.js +5 -5
  531. package/dist/worker/WorkerPoolManager.js.map +1 -1
  532. package/dist/worker/getOrCreateWorkerPoolSingleton.d.ts.map +1 -1
  533. package/dist/worker/getOrCreateWorkerPoolSingleton.js +1 -2
  534. package/dist/worker/getOrCreateWorkerPoolSingleton.js.map +1 -1
  535. package/dist/worker/index.js +1 -2
  536. package/dist/worker/types.d.ts.map +1 -1
  537. package/dist/worker/wasm-B9ZqxnKj.js +8 -0
  538. package/dist/worker/wasm-B9ZqxnKj.js.map +1 -0
  539. package/dist/worker/worker-portable.js +2769 -6370
  540. package/dist/worker/worker-portable.js.map +1 -1
  541. package/dist/worker/worker.js +97 -128
  542. package/dist/worker/worker.js.map +1 -1
  543. package/package.json +15 -19
  544. package/dist/worker/wasm-qE0LgnY3.js +0 -10
  545. package/dist/worker/wasm-qE0LgnY3.js.map +0 -1
@@ -1,14 +1,14 @@
1
- import { DEFAULT_COLLAPSED_CONTEXT_THRESHOLD } from "../constants.js";
1
+ import "../constants.js";
2
2
  import { areObjectsEqual } from "../utils/areObjectsEqual.js";
3
3
  import { areOptionsEqual } from "../utils/areOptionsEqual.js";
4
4
  import { computeVirtualFileMetrics, getVirtualFileHeaderRegion, getVirtualFilePaddingBottom } from "../utils/computeVirtualFileMetrics.js";
5
+ import { FILE_ANNOTATION_DOM_KEY, includesFileAnnotations, shouldRenderFileAnnotations } from "../utils/includesFileAnnotations.js";
5
6
  import { areDiffTargetsEqual } from "../utils/areDiffTargetsEqual.js";
6
7
  import { getExpandedRegion, getLeadingHunkSeparatorLayout, getTrailingExpandedRegion, getTrailingHunkSeparatorLayout } from "../utils/virtualDiffLayout.js";
7
8
  import { computeEstimatedDiffHeights } from "../utils/computeEstimatedDiffHeights.js";
8
9
  import { iterateOverDiff } from "../utils/iterateOverDiff.js";
9
10
  import { parseDiffFromFile } from "../utils/parseDiffFromFile.js";
10
11
  import { FileDiff } from "./FileDiff.js";
11
-
12
12
  //#region src/components/VirtualizedFileDiff.ts
13
13
  const LAYOUT_CHECKPOINT_INTERVAL = 5e3;
14
14
  let instanceId = -1;
@@ -23,7 +23,8 @@ var VirtualizedFileDiff = class extends FileDiff {
23
23
  estimatedSplitHeight: void 0,
24
24
  estimatedUnifiedHeight: void 0,
25
25
  checkpoints: [],
26
- totalLines: 0
26
+ totalLines: 0,
27
+ fileAnnotationHeight: 0
27
28
  };
28
29
  isVisible = false;
29
30
  isSetup = false;
@@ -42,6 +43,30 @@ var VirtualizedFileDiff = class extends FileDiff {
42
43
  this.metrics = nextMetrics;
43
44
  this.resetLayoutCache({ includeEstimatedHeights: true });
44
45
  }
46
+ setLineAnnotations(lineAnnotations) {
47
+ if (this.syncLineAnnotations(lineAnnotations)) this.resetLayoutCache({ includeEstimatedHeights: false });
48
+ }
49
+ syncLineAnnotations(lineAnnotations) {
50
+ if (lineAnnotations == null || lineAnnotations === this.lineAnnotations || lineAnnotations.length === 0 && this.lineAnnotations.length === 0) return false;
51
+ super.setLineAnnotations(lineAnnotations);
52
+ return true;
53
+ }
54
+ setFileAnnotationHeight(nextHeight) {
55
+ const previousHeight = this.cache.fileAnnotationHeight;
56
+ if (nextHeight === previousHeight) return false;
57
+ this.cache.fileAnnotationHeight = nextHeight;
58
+ this.cache.measuredHeightDeltaTotal += nextHeight - previousHeight;
59
+ return true;
60
+ }
61
+ hasFileAnnotations(fileDiff = this.fileDiff) {
62
+ if (fileDiff == null || !includesFileAnnotations(this.lineAnnotations)) return false;
63
+ return this.lineAnnotations.some((annotation) => {
64
+ if (annotation.lineNumber !== 0) return false;
65
+ if (fileDiff.type === "new") return annotation.side === "additions";
66
+ if (fileDiff.type === "deleted") return annotation.side === "deletions";
67
+ return true;
68
+ });
69
+ }
45
70
  getLineHeight(lineIndex, hasMetadataLine = false) {
46
71
  return this.getEstimatedLineHeight(hasMetadataLine) + (this.cache.heightDeltas.get(lineIndex) ?? 0);
47
72
  }
@@ -69,6 +94,7 @@ var VirtualizedFileDiff = class extends FileDiff {
69
94
  }
70
95
  resetLayoutCache({ forceSimpleRecompute = false, includeEstimatedHeights = false } = {}) {
71
96
  this.layoutDirty = true;
97
+ this.cache.fileAnnotationHeight = 0;
72
98
  if (this.cache.heightDeltas.size > 0) this.cache.heightDeltas.clear();
73
99
  if (this.cache.measuredHeightDeltaTotal !== 0) this.cache.measuredHeightDeltaTotal = 0;
74
100
  if (this.cache.checkpoints.length > 0) this.cache.checkpoints.length = 0;
@@ -92,6 +118,11 @@ var VirtualizedFileDiff = class extends FileDiff {
92
118
  if (overflow === "scroll" && this.lineAnnotations.length === 0 && !this.isResizeDebuggingEnabled()) return hasHeightChange;
93
119
  const diffStyle = this.getDiffStyle();
94
120
  const codeGroups = diffStyle === "split" ? [this.codeDeletions, this.codeAdditions] : [this.codeUnified];
121
+ const hasFileAnnotations = this.hasFileAnnotations(this.fileDiff);
122
+ if (this.renderRange != null && hasFileAnnotations && shouldRenderFileAnnotations(this.renderRange)) {
123
+ const nextFileAnnotationHeight = measureFileAnnotationHeight(codeGroups) ?? 0;
124
+ if (this.setFileAnnotationHeight(nextFileAnnotationHeight)) hasHeightChange = true;
125
+ } else if (!hasFileAnnotations && this.setFileAnnotationHeight(0)) hasHeightChange = true;
95
126
  for (const codeGroup of codeGroups) {
96
127
  if (codeGroup == null) continue;
97
128
  const content = codeGroup.children[1];
@@ -125,9 +156,10 @@ var VirtualizedFileDiff = class extends FileDiff {
125
156
  if (dirty) this.top = this.getVirtualizedTop();
126
157
  return this.render();
127
158
  };
128
- prepareCodeViewItem(fileDiff, top, reset) {
159
+ prepareCodeViewItem(fileDiff, top, reset, lineAnnotations) {
129
160
  const targetChanged = !areDiffTargetsEqual(this.fileDiff, fileDiff);
130
- let shouldResetLayoutCache = reset?.resetDiffLayoutCache === true || targetChanged;
161
+ const annotationsChanged = this.syncLineAnnotations(lineAnnotations);
162
+ let shouldResetLayoutCache = reset?.resetDiffLayoutCache === true || targetChanged || annotationsChanged;
131
163
  let includeEstimatedHeights = targetChanged || reset?.resetDiffLayoutCache === true && reset.includeEstimatedDiffHeights;
132
164
  if (reset?.metrics != null) {
133
165
  this.metrics = computeVirtualFileMetrics(reset.metrics);
@@ -146,18 +178,19 @@ var VirtualizedFileDiff = class extends FileDiff {
146
178
  return this.height;
147
179
  }
148
180
  getLinePosition(lineNumber, side = "additions") {
149
- if (this.fileDiff == null) return;
181
+ if (this.fileDiff == null || lineNumber < 1) return;
150
182
  const targetLineIndexes = this.getLineIndex(lineNumber, side);
151
183
  if (targetLineIndexes == null) return;
152
- const { disableFileHeader = false, expandUnchanged = false, collapsed = false, collapsedContextThreshold = DEFAULT_COLLAPSED_CONTEXT_THRESHOLD } = this.options;
184
+ const { disableFileHeader = false, expandUnchanged = false, collapsed = false, collapsedContextThreshold = 1 } = this.options;
153
185
  const diffStyle = this.getDiffStyle();
154
186
  const hunkSeparators = this.getHunkSeparatorType();
155
187
  const targetLineIndex = diffStyle === "split" ? targetLineIndexes[1] : targetLineIndexes[0];
156
188
  this.approximateLayoutCheckpoints();
189
+ const headerRegion = getVirtualFileHeaderRegion(this.metrics, disableFileHeader);
157
190
  const checkpoint = this.getLayoutCheckpointBeforeLineIndex(targetLineIndex);
158
- let top = checkpoint?.top ?? getVirtualFileHeaderRegion(this.metrics, disableFileHeader);
191
+ let top = checkpoint?.top ?? headerRegion + this.cache.fileAnnotationHeight;
159
192
  if (collapsed) return {
160
- top,
193
+ top: headerRegion,
161
194
  height: 0
162
195
  };
163
196
  let position;
@@ -221,13 +254,13 @@ var VirtualizedFileDiff = class extends FileDiff {
221
254
  }
222
255
  getNumericScrollAnchor(localViewportTop) {
223
256
  if (this.fileDiff == null) return;
224
- const { disableFileHeader = false, expandUnchanged = false, collapsed = false, collapsedContextThreshold = DEFAULT_COLLAPSED_CONTEXT_THRESHOLD } = this.options;
257
+ const { disableFileHeader = false, expandUnchanged = false, collapsed = false, collapsedContextThreshold = 1 } = this.options;
225
258
  if (collapsed) return;
226
259
  const diffStyle = this.getDiffStyle();
227
260
  const hunkSeparators = this.getHunkSeparatorType();
228
261
  this.approximateLayoutCheckpoints();
229
262
  const checkpoint = this.getLayoutCheckpointBeforeTop(localViewportTop);
230
- let top = checkpoint?.top ?? getVirtualFileHeaderRegion(this.metrics, disableFileHeader);
263
+ let top = checkpoint?.top ?? getVirtualFileHeaderRegion(this.metrics, disableFileHeader) + this.cache.fileAnnotationHeight;
231
264
  let anchor;
232
265
  iterateOverDiff({
233
266
  diff: this.fileDiff,
@@ -360,7 +393,7 @@ var VirtualizedFileDiff = class extends FileDiff {
360
393
  return;
361
394
  }
362
395
  if (this.cache.estimatedSplitHeight != null && this.cache.estimatedUnifiedHeight != null) return;
363
- const { disableFileHeader = false, expandUnchanged = false, collapsedContextThreshold = DEFAULT_COLLAPSED_CONTEXT_THRESHOLD } = this.options;
396
+ const { disableFileHeader = false, expandUnchanged = false, collapsedContextThreshold = 1 } = this.options;
364
397
  const { splitHeight, unifiedHeight } = computeEstimatedDiffHeights({
365
398
  fileDiff: this.fileDiff,
366
399
  metrics: this.metrics,
@@ -383,9 +416,11 @@ var VirtualizedFileDiff = class extends FileDiff {
383
416
  });
384
417
  else console.log("VirtualizedFileDiff.computeApproximateSize: computed height IS CORRECT");
385
418
  }
386
- render({ fileContainer, oldFile, newFile, fileDiff, forceRender = false,...props } = {}) {
419
+ render({ fileContainer, oldFile, newFile, fileDiff, forceRender = false, lineAnnotations, ...props } = {}) {
387
420
  const { forceRenderOverride, isSetup } = this;
388
421
  this.forceRenderOverride = void 0;
422
+ const annotationsChanged = this.syncLineAnnotations(lineAnnotations);
423
+ if (annotationsChanged) this.resetLayoutCache({ includeEstimatedHeights: false });
389
424
  this.fileDiff ??= fileDiff ?? (oldFile != null && newFile != null ? parseDiffFromFile(oldFile, newFile, this.options.parseDiffOptions) : void 0);
390
425
  fileContainer = this.getOrCreateFileContainer(fileContainer);
391
426
  if (this.fileDiff == null) {
@@ -414,7 +449,8 @@ var VirtualizedFileDiff = class extends FileDiff {
414
449
  renderRange,
415
450
  oldFile,
416
451
  newFile,
417
- forceRender: forceRenderOverride ?? forceRender,
452
+ lineAnnotations,
453
+ forceRender: (forceRenderOverride ?? forceRender) || annotationsChanged,
418
454
  ...props
419
455
  });
420
456
  }
@@ -448,13 +484,13 @@ var VirtualizedFileDiff = class extends FileDiff {
448
484
  }
449
485
  approximateLayoutCheckpoints() {
450
486
  if (this.cache.checkpoints.length > 0 || this.fileDiff == null || this.fileDiff.hunks.length === 0 || this.options.collapsed === true) return;
451
- const { disableFileHeader = false, expandUnchanged = false, collapsedContextThreshold = DEFAULT_COLLAPSED_CONTEXT_THRESHOLD } = this.options;
487
+ const { disableFileHeader = false, expandUnchanged = false, collapsedContextThreshold = 1 } = this.options;
452
488
  const finalHunkIndex = this.fileDiff.hunks.length - 1;
453
489
  const diffStyle = this.getDiffStyle();
454
490
  const hunkSeparators = this.getHunkSeparatorType();
455
491
  const expandedHunks = expandUnchanged ? true : this.hunksRenderer.getExpandedHunksMap();
456
492
  const heightDeltaPrefix = createHeightDeltaPrefix(this.cache.heightDeltas);
457
- let top = getVirtualFileHeaderRegion(this.metrics, disableFileHeader);
493
+ let top = getVirtualFileHeaderRegion(this.metrics, disableFileHeader) + this.cache.fileAnnotationHeight;
458
494
  let renderedLineIndex = 0;
459
495
  const processRows = ({ rowCount, startLineIndex, preSeparatorHeight = 0, postSeparatorHeight = 0, metadataOffsets = [] }) => {
460
496
  if (rowCount <= 0) return;
@@ -576,7 +612,7 @@ var VirtualizedFileDiff = class extends FileDiff {
576
612
  for (const hunk of fileDiff.hunks) count += diffStyle === "split" ? hunk.splitLineCount : hunk.unifiedLineCount;
577
613
  return count;
578
614
  }
579
- const { expandUnchanged = false, collapsedContextThreshold = DEFAULT_COLLAPSED_CONTEXT_THRESHOLD } = this.options;
615
+ const { expandUnchanged = false, collapsedContextThreshold = 1 } = this.options;
580
616
  const expandedHunks = expandUnchanged ? true : this.hunksRenderer.getExpandedHunksMap();
581
617
  for (const [hunkIndex, hunk] of fileDiff.hunks.entries()) {
582
618
  const hunkCount = diffStyle === "split" ? hunk.splitLineCount : hunk.unifiedLineCount;
@@ -602,7 +638,7 @@ var VirtualizedFileDiff = class extends FileDiff {
602
638
  return count;
603
639
  }
604
640
  computeRenderRangeFromWindow(fileDiff, fileTop, { top, bottom }) {
605
- const { disableFileHeader = false, expandUnchanged = false, collapsedContextThreshold = DEFAULT_COLLAPSED_CONTEXT_THRESHOLD } = this.options;
641
+ const { disableFileHeader = false, expandUnchanged = false, collapsedContextThreshold = 1 } = this.options;
606
642
  const { hunkLineCount, lineHeight } = this.metrics;
607
643
  const diffStyle = this.getDiffStyle();
608
644
  const hunkSeparators = this.getHunkSeparatorType();
@@ -610,6 +646,12 @@ var VirtualizedFileDiff = class extends FileDiff {
610
646
  let lineCount = this.cache.totalLines > 0 ? this.cache.totalLines : this.getExpandedLineCount(fileDiff, diffStyle);
611
647
  const headerRegion = getVirtualFileHeaderRegion(this.metrics, disableFileHeader);
612
648
  const paddingBottom = fileDiff.hunks.length > 0 ? getVirtualFilePaddingBottom(this.metrics) : 0;
649
+ const { fileAnnotationHeight } = this.cache;
650
+ const codeRegionTop = headerRegion + fileAnnotationHeight;
651
+ const codeHeight = Math.max(0, fileHeight - headerRegion - fileAnnotationHeight - paddingBottom);
652
+ const hasFileAnnotations = this.hasFileAnnotations(fileDiff);
653
+ const fileAnnotationTop = fileTop + headerRegion;
654
+ const measuredFileAnnotationVisible = fileAnnotationHeight > 0 && hasFileAnnotations && fileAnnotationTop < bottom && fileAnnotationTop + fileAnnotationHeight > top;
613
655
  if (fileTop < top - fileHeight || fileTop > bottom) return {
614
656
  startingLine: 0,
615
657
  totalLines: 0,
@@ -631,7 +673,7 @@ var VirtualizedFileDiff = class extends FileDiff {
631
673
  const hunkOffsets = [];
632
674
  const viewportCenter = (top + bottom) / 2;
633
675
  const checkpoint = this.getLayoutCheckpointBeforeTop(Math.max(0, top - fileTop - totalLines * lineHeight * 2), hunkLineCount);
634
- let absoluteLineTop = fileTop + (checkpoint?.top ?? headerRegion);
676
+ let absoluteLineTop = fileTop + (checkpoint?.top ?? codeRegionTop);
635
677
  let currentLine = checkpoint?.renderedLineIndex ?? 0;
636
678
  let firstVisibleHunk;
637
679
  let centerHunk;
@@ -656,18 +698,18 @@ var VirtualizedFileDiff = class extends FileDiff {
656
698
  const isAtHunkBoundary = currentLine % hunkLineCount === 0;
657
699
  const currentHunk = Math.floor(currentLine / hunkLineCount);
658
700
  if (isAtHunkBoundary) {
659
- hunkOffsets[currentHunk] = absoluteLineTop - (fileTop + headerRegion + gapAdjustment);
701
+ hunkOffsets[currentHunk] = absoluteLineTop - (fileTop + codeRegionTop + gapAdjustment);
660
702
  if (overflowCounter != null) {
661
703
  if (overflowCounter <= 0) return true;
662
704
  overflowCounter--;
663
705
  }
664
706
  }
665
- const lineHeight$1 = this.getLineHeight(diffStyle === "split" ? splitLineIndex : unifiedLineIndex, hasMetadata);
666
- if (absoluteLineTop > top - lineHeight$1 && absoluteLineTop < bottom) firstVisibleHunk ??= currentHunk;
667
- if (centerHunk == null && absoluteLineTop + lineHeight$1 > viewportCenter) centerHunk = currentHunk;
707
+ const lineHeight = this.getLineHeight(diffStyle === "split" ? splitLineIndex : unifiedLineIndex, hasMetadata);
708
+ if (absoluteLineTop > top - lineHeight && absoluteLineTop < bottom) firstVisibleHunk ??= currentHunk;
709
+ if (centerHunk == null && absoluteLineTop + lineHeight > viewportCenter) centerHunk = currentHunk;
668
710
  if (overflowCounter == null && absoluteLineTop >= bottom && isAtHunkBoundary) overflowCounter = overflowHunks;
669
711
  currentLine++;
670
- absoluteLineTop += lineHeight$1;
712
+ absoluteLineTop += lineHeight;
671
713
  if (collapsedAfter > 0) absoluteLineTop += getTrailingHunkSeparatorLayout({
672
714
  type: hunkSeparators,
673
715
  metrics: this.metrics
@@ -675,7 +717,10 @@ var VirtualizedFileDiff = class extends FileDiff {
675
717
  return false;
676
718
  }
677
719
  });
678
- if (firstVisibleHunk == null) return {
720
+ if (firstVisibleHunk == null) if (measuredFileAnnotationVisible) {
721
+ firstVisibleHunk = 0;
722
+ centerHunk = 0;
723
+ } else return {
679
724
  startingLine: 0,
680
725
  totalLines: 0,
681
726
  bufferBefore: 0,
@@ -687,16 +732,32 @@ var VirtualizedFileDiff = class extends FileDiff {
687
732
  const startHunk = Math.max(0, Math.min(idealStartHunk, maxStartHunk));
688
733
  const startingLine = startHunk * hunkLineCount;
689
734
  const clampedTotalLines = idealStartHunk < 0 ? totalLines + idealStartHunk * hunkLineCount : totalLines;
690
- const bufferBefore = hunkOffsets[startHunk] ?? 0;
735
+ const codeBufferBefore = hunkOffsets[startHunk] ?? 0;
736
+ const bufferBefore = startingLine === 0 ? 0 : fileAnnotationHeight + codeBufferBefore;
691
737
  const finalHunkIndex = startHunk + clampedTotalLines / hunkLineCount;
738
+ const bufferAfter = finalHunkIndex < hunkOffsets.length ? codeHeight - hunkOffsets[finalHunkIndex] : codeHeight - (absoluteLineTop - fileTop - codeRegionTop);
692
739
  return {
693
740
  startingLine,
694
741
  totalLines: clampedTotalLines,
695
742
  bufferBefore,
696
- bufferAfter: finalHunkIndex < hunkOffsets.length ? fileHeight - headerRegion - hunkOffsets[finalHunkIndex] - paddingBottom : fileHeight - (absoluteLineTop - fileTop) - paddingBottom
743
+ bufferAfter: Math.max(0, bufferAfter)
697
744
  };
698
745
  }
699
746
  };
747
+ function measureFileAnnotationHeight(codeGroups) {
748
+ let height;
749
+ for (const codeGroup of codeGroups) {
750
+ if (codeGroup == null) continue;
751
+ const content = codeGroup.children[1];
752
+ if (!(content instanceof HTMLElement)) continue;
753
+ for (const child of content.children) {
754
+ if (!(child instanceof HTMLElement)) continue;
755
+ if (child.dataset.lineAnnotation !== FILE_ANNOTATION_DOM_KEY) continue;
756
+ height = Math.max(height ?? 0, child.getBoundingClientRect().height);
757
+ }
758
+ }
759
+ return height;
760
+ }
700
761
  function createHeightDeltaPrefix(heightDeltas) {
701
762
  const entries = Array.from(heightDeltas).sort((a, b) => a[0] - b[0]);
702
763
  const lineIndexes = [];
@@ -752,10 +813,10 @@ function getHunkMetadataOffsets({ diffStyle, hunk, rowCount }) {
752
813
  return offsets;
753
814
  }
754
815
  function hasDiffLayoutOptionChanged(previousOptions, nextOptions) {
755
- return (previousOptions.diffStyle ?? "split") !== (nextOptions.diffStyle ?? "split") || (previousOptions.overflow ?? "scroll") !== (nextOptions.overflow ?? "scroll") || (previousOptions.collapsed ?? false) !== (nextOptions.collapsed ?? false) || (previousOptions.disableLineNumbers ?? false) !== (nextOptions.disableLineNumbers ?? false) || (previousOptions.disableFileHeader ?? false) !== (nextOptions.disableFileHeader ?? false) || (previousOptions.diffIndicators ?? "bars") !== (nextOptions.diffIndicators ?? "bars") || (previousOptions.hunkSeparators ?? "line-info") !== (nextOptions.hunkSeparators ?? "line-info") || (previousOptions.expandUnchanged ?? false) !== (nextOptions.expandUnchanged ?? false) || (previousOptions.collapsedContextThreshold ?? DEFAULT_COLLAPSED_CONTEXT_THRESHOLD) !== (nextOptions.collapsedContextThreshold ?? DEFAULT_COLLAPSED_CONTEXT_THRESHOLD) || previousOptions.unsafeCSS !== nextOptions.unsafeCSS;
816
+ return (previousOptions.diffStyle ?? "split") !== (nextOptions.diffStyle ?? "split") || (previousOptions.overflow ?? "scroll") !== (nextOptions.overflow ?? "scroll") || (previousOptions.collapsed ?? false) !== (nextOptions.collapsed ?? false) || (previousOptions.disableLineNumbers ?? false) !== (nextOptions.disableLineNumbers ?? false) || (previousOptions.disableFileHeader ?? false) !== (nextOptions.disableFileHeader ?? false) || (previousOptions.diffIndicators ?? "bars") !== (nextOptions.diffIndicators ?? "bars") || (previousOptions.hunkSeparators ?? "line-info") !== (nextOptions.hunkSeparators ?? "line-info") || (previousOptions.expandUnchanged ?? false) !== (nextOptions.expandUnchanged ?? false) || (previousOptions.collapsedContextThreshold ?? 1) !== (nextOptions.collapsedContextThreshold ?? 1) || previousOptions.unsafeCSS !== nextOptions.unsafeCSS;
756
817
  }
757
818
  function hasDiffEstimateOptionChanged(previousOptions, nextOptions) {
758
- return (previousOptions.disableFileHeader ?? false) !== (nextOptions.disableFileHeader ?? false) || (previousOptions.hunkSeparators ?? "line-info") !== (nextOptions.hunkSeparators ?? "line-info") || (previousOptions.expandUnchanged ?? false) !== (nextOptions.expandUnchanged ?? false) || (previousOptions.collapsedContextThreshold ?? DEFAULT_COLLAPSED_CONTEXT_THRESHOLD) !== (nextOptions.collapsedContextThreshold ?? DEFAULT_COLLAPSED_CONTEXT_THRESHOLD);
819
+ return (previousOptions.disableFileHeader ?? false) !== (nextOptions.disableFileHeader ?? false) || (previousOptions.hunkSeparators ?? "line-info") !== (nextOptions.hunkSeparators ?? "line-info") || (previousOptions.expandUnchanged ?? false) !== (nextOptions.expandUnchanged ?? false) || (previousOptions.collapsedContextThreshold ?? 1) !== (nextOptions.collapsedContextThreshold ?? 1);
759
820
  }
760
821
  function getOptionHunkSeparatorType(hunkSeparators) {
761
822
  return typeof hunkSeparators === "function" ? "custom" : hunkSeparators ?? "line-info";
@@ -764,7 +825,7 @@ function parseLineIndex(lineIndexAttr, diffStyle) {
764
825
  const [unifiedIndex, splitIndex] = lineIndexAttr.split(",").map(Number);
765
826
  return diffStyle === "split" ? splitIndex : unifiedIndex;
766
827
  }
767
-
768
828
  //#endregion
769
829
  export { VirtualizedFileDiff };
830
+
770
831
  //# sourceMappingURL=VirtualizedFileDiff.js.map