@pierre/diffs 1.5.1 → 1.6.0-beta.1

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 (304) hide show
  1. package/README.md +4 -3
  2. package/dist/components/CodeView.d.ts +2 -1
  3. package/dist/components/CodeView.d.ts.map +1 -1
  4. package/dist/components/CodeView.js +27 -16
  5. package/dist/components/CodeView.js.map +1 -1
  6. package/dist/components/File.d.ts.map +1 -1
  7. package/dist/components/File.js +14 -7
  8. package/dist/components/File.js.map +1 -1
  9. package/dist/components/FileDiff.d.ts +7 -4
  10. package/dist/components/FileDiff.d.ts.map +1 -1
  11. package/dist/components/FileDiff.js +16 -9
  12. package/dist/components/FileDiff.js.map +1 -1
  13. package/dist/components/FileStream.d.ts +6 -4
  14. package/dist/components/FileStream.d.ts.map +1 -1
  15. package/dist/components/FileStream.js +49 -36
  16. package/dist/components/FileStream.js.map +1 -1
  17. package/dist/components/VirtualizedFile.d.ts.map +1 -1
  18. package/dist/components/VirtualizedFile.js +10 -5
  19. package/dist/components/VirtualizedFile.js.map +1 -1
  20. package/dist/components/VirtualizedFileDiff.d.ts.map +1 -1
  21. package/dist/components/VirtualizedFileDiff.js +3 -4
  22. package/dist/components/VirtualizedFileDiff.js.map +1 -1
  23. package/dist/constants.d.ts +3 -2
  24. package/dist/constants.d.ts.map +1 -1
  25. package/dist/constants.js +2 -1
  26. package/dist/constants.js.map +1 -1
  27. package/dist/editor/editor.d.ts +2 -1
  28. package/dist/editor/editor.d.ts.map +1 -1
  29. package/dist/editor/editor.js +10 -3
  30. package/dist/editor/editor.js.map +1 -1
  31. package/dist/editor/getChangedDocumentLines.d.ts +6 -0
  32. package/dist/editor/getChangedDocumentLines.d.ts.map +1 -0
  33. package/dist/editor/getChangedDocumentLines.js +35 -0
  34. package/dist/editor/getChangedDocumentLines.js.map +1 -0
  35. package/dist/editor/tokenizer.d.ts +6 -4
  36. package/dist/editor/tokenizer.d.ts.map +1 -1
  37. package/dist/editor/tokenizer.js +25 -470
  38. package/dist/editor/tokenizer.js.map +1 -1
  39. package/dist/highlighter/DiffsEditorTokenizer.d.ts +16 -0
  40. package/dist/highlighter/DiffsEditorTokenizer.d.ts.map +1 -0
  41. package/dist/highlighter/DiffsEditorTokenizer.js +0 -0
  42. package/dist/highlighter/DiffsHighlighter.d.ts +41 -0
  43. package/dist/highlighter/DiffsHighlighter.d.ts.map +1 -0
  44. package/dist/highlighter/DiffsHighlighter.js +39 -0
  45. package/dist/highlighter/DiffsHighlighter.js.map +1 -0
  46. package/dist/highlighter/backends/highlights.d.ts +26 -0
  47. package/dist/highlighter/backends/highlights.d.ts.map +1 -0
  48. package/dist/highlighter/backends/highlights.js +71 -0
  49. package/dist/highlighter/backends/highlights.js.map +1 -0
  50. package/dist/highlighter/backends/shiki.d.ts +27 -0
  51. package/dist/highlighter/backends/shiki.d.ts.map +1 -0
  52. package/dist/highlighter/backends/shiki.js +107 -0
  53. package/dist/highlighter/backends/shiki.js.map +1 -0
  54. package/dist/highlighter/highlighterType.d.ts +13 -0
  55. package/dist/highlighter/highlighterType.d.ts.map +1 -0
  56. package/dist/highlighter/highlighterType.js +32 -0
  57. package/dist/highlighter/highlighterType.js.map +1 -0
  58. package/dist/highlighter/highlights-editor.d.ts +24 -0
  59. package/dist/highlighter/highlights-editor.d.ts.map +1 -0
  60. package/dist/highlighter/highlights-editor.js +166 -0
  61. package/dist/highlighter/highlights-editor.js.map +1 -0
  62. package/dist/highlighter/highlights-stream.d.ts +20 -0
  63. package/dist/highlighter/highlights-stream.d.ts.map +1 -0
  64. package/dist/highlighter/highlights-stream.js +93 -0
  65. package/dist/highlighter/highlights-stream.js.map +1 -0
  66. package/dist/highlighter/languages/areLanguagesAttached.d.ts +2 -1
  67. package/dist/highlighter/languages/areLanguagesAttached.d.ts.map +1 -1
  68. package/dist/highlighter/languages/areLanguagesAttached.js +4 -6
  69. package/dist/highlighter/languages/areLanguagesAttached.js.map +1 -1
  70. package/dist/highlighter/languages/attachResolvedLanguages.d.ts +6 -1
  71. package/dist/highlighter/languages/attachResolvedLanguages.d.ts.map +1 -1
  72. package/dist/highlighter/languages/attachResolvedLanguages.js +6 -11
  73. package/dist/highlighter/languages/attachResolvedLanguages.js.map +1 -1
  74. package/dist/highlighter/languages/constants.d.ts +1 -1
  75. package/dist/highlighter/languages/getResolvedLanguages.d.ts +1 -1
  76. package/dist/highlighter/languages/getResolvedOrResolveLanguage.d.ts +1 -1
  77. package/dist/highlighter/languages/resolveLanguage.d.ts +1 -1
  78. package/dist/highlighter/languages/resolveLanguage.d.ts.map +1 -1
  79. package/dist/highlighter/languages/resolveLanguage.js +19 -16
  80. package/dist/highlighter/languages/resolveLanguage.js.map +1 -1
  81. package/dist/highlighter/languages/resolveLanguages.d.ts +1 -1
  82. package/dist/highlighter/shared_highlighter.d.ts +23 -9
  83. package/dist/highlighter/shared_highlighter.d.ts.map +1 -1
  84. package/dist/highlighter/shared_highlighter.js +59 -47
  85. package/dist/highlighter/shared_highlighter.js.map +1 -1
  86. package/dist/highlighter/shiki-editor.d.ts +25 -0
  87. package/dist/highlighter/shiki-editor.d.ts.map +1 -0
  88. package/dist/highlighter/shiki-editor.js +483 -0
  89. package/dist/highlighter/shiki-editor.js.map +1 -0
  90. package/dist/highlighter/shiki-stream.d.ts +20 -0
  91. package/dist/highlighter/shiki-stream.d.ts.map +1 -0
  92. package/dist/highlighter/shiki-stream.js +60 -0
  93. package/dist/highlighter/shiki-stream.js.map +1 -0
  94. package/dist/highlighter/stream-tokenizer.d.ts +40 -0
  95. package/dist/highlighter/stream-tokenizer.d.ts.map +1 -0
  96. package/dist/highlighter/stream-tokenizer.js +70 -0
  97. package/dist/highlighter/stream-tokenizer.js.map +1 -0
  98. package/dist/highlighter/themes/areThemesAttached.d.ts +3 -2
  99. package/dist/highlighter/themes/areThemesAttached.d.ts.map +1 -1
  100. package/dist/highlighter/themes/areThemesAttached.js +5 -4
  101. package/dist/highlighter/themes/areThemesAttached.js.map +1 -1
  102. package/dist/highlighter/themes/attachResolvedThemes.d.ts +5 -2
  103. package/dist/highlighter/themes/attachResolvedThemes.d.ts.map +1 -1
  104. package/dist/highlighter/themes/attachResolvedThemes.js +4 -16
  105. package/dist/highlighter/themes/attachResolvedThemes.js.map +1 -1
  106. package/dist/highlighter/themes/cleanUpResolvedThemes.d.ts +3 -1
  107. package/dist/highlighter/themes/cleanUpResolvedThemes.d.ts.map +1 -1
  108. package/dist/highlighter/themes/cleanUpResolvedThemes.js +8 -5
  109. package/dist/highlighter/themes/cleanUpResolvedThemes.js.map +1 -1
  110. package/dist/highlighter/themes/createCSSVariablesTheme.d.ts +7 -0
  111. package/dist/highlighter/themes/createCSSVariablesTheme.d.ts.map +1 -0
  112. package/dist/highlighter/themes/createCSSVariablesTheme.js +89 -0
  113. package/dist/highlighter/themes/createCSSVariablesTheme.js.map +1 -0
  114. package/dist/highlighter/themes/createCachedLoader.d.ts +5 -0
  115. package/dist/highlighter/themes/createCachedLoader.d.ts.map +1 -0
  116. package/dist/highlighter/themes/createCachedLoader.js +15 -0
  117. package/dist/highlighter/themes/createCachedLoader.js.map +1 -0
  118. package/dist/highlighter/themes/getResolvedOrResolveTheme.d.ts +3 -2
  119. package/dist/highlighter/themes/getResolvedOrResolveTheme.d.ts.map +1 -1
  120. package/dist/highlighter/themes/getResolvedOrResolveTheme.js +4 -4
  121. package/dist/highlighter/themes/getResolvedOrResolveTheme.js.map +1 -1
  122. package/dist/highlighter/themes/getResolvedThemes.d.ts +3 -2
  123. package/dist/highlighter/themes/getResolvedThemes.d.ts.map +1 -1
  124. package/dist/highlighter/themes/getResolvedThemes.js +4 -3
  125. package/dist/highlighter/themes/getResolvedThemes.js.map +1 -1
  126. package/dist/highlighter/themes/hasResolvedThemes.d.ts +2 -2
  127. package/dist/highlighter/themes/hasResolvedThemes.d.ts.map +1 -1
  128. package/dist/highlighter/themes/hasResolvedThemes.js +4 -3
  129. package/dist/highlighter/themes/hasResolvedThemes.js.map +1 -1
  130. package/dist/highlighter/themes/registerCustomCSSVariableTheme.d.ts.map +1 -1
  131. package/dist/highlighter/themes/registerCustomCSSVariableTheme.js +3 -3
  132. package/dist/highlighter/themes/registerCustomCSSVariableTheme.js.map +1 -1
  133. package/dist/highlighter/themes/registerCustomTheme.d.ts +9 -4
  134. package/dist/highlighter/themes/registerCustomTheme.d.ts.map +1 -1
  135. package/dist/highlighter/themes/registerCustomTheme.js +8 -16
  136. package/dist/highlighter/themes/registerCustomTheme.js.map +1 -1
  137. package/dist/highlighter/themes/resolveTheme.d.ts +3 -2
  138. package/dist/highlighter/themes/resolveTheme.d.ts.map +1 -1
  139. package/dist/highlighter/themes/resolveTheme.js +4 -7
  140. package/dist/highlighter/themes/resolveTheme.js.map +1 -1
  141. package/dist/highlighter/themes/resolveThemes.d.ts +3 -2
  142. package/dist/highlighter/themes/resolveThemes.d.ts.map +1 -1
  143. package/dist/highlighter/themes/resolveThemes.js +4 -7
  144. package/dist/highlighter/themes/resolveThemes.js.map +1 -1
  145. package/dist/highlighter/themes/themeResolver.d.ts +10 -4
  146. package/dist/highlighter/themes/themeResolver.d.ts.map +1 -1
  147. package/dist/highlighter/themes/themeResolver.js +141 -2
  148. package/dist/highlighter/themes/themeResolver.js.map +1 -1
  149. package/dist/highlighter/themes/types.d.ts +23 -0
  150. package/dist/highlighter/themes/types.d.ts.map +1 -0
  151. package/dist/highlighter/themes/types.js +0 -0
  152. package/dist/highlighter/tokenizer-types.d.ts +35 -0
  153. package/dist/highlighter/tokenizer-types.d.ts.map +1 -0
  154. package/dist/highlighter/tokenizer-types.js +0 -0
  155. package/dist/highlighter/types.d.ts +55 -0
  156. package/dist/highlighter/types.d.ts.map +1 -0
  157. package/dist/highlighter/types.js +0 -0
  158. package/dist/index.d.ts +14 -10
  159. package/dist/index.js +16 -18
  160. package/dist/managers/InteractionManager.d.ts.map +1 -1
  161. package/dist/managers/InteractionManager.js +2 -2
  162. package/dist/managers/InteractionManager.js.map +1 -1
  163. package/dist/node_modules/.pnpm/@types_hast@3.0.4/node_modules/@types/hast/index.d.ts +9 -1
  164. package/dist/node_modules/.pnpm/@types_hast@3.0.4/node_modules/@types/hast/index.d.ts.map +1 -1
  165. package/dist/react/CodeView.js +1 -1
  166. package/dist/react/index.d.ts +8 -3
  167. package/dist/renderers/DiffHunksRenderer.d.ts +3 -2
  168. package/dist/renderers/DiffHunksRenderer.d.ts.map +1 -1
  169. package/dist/renderers/DiffHunksRenderer.js +50 -24
  170. package/dist/renderers/DiffHunksRenderer.js.map +1 -1
  171. package/dist/renderers/FileRenderer.d.ts +2 -1
  172. package/dist/renderers/FileRenderer.d.ts.map +1 -1
  173. package/dist/renderers/FileRenderer.js +33 -24
  174. package/dist/renderers/FileRenderer.js.map +1 -1
  175. package/dist/shiki-stream/index.d.ts +3 -3
  176. package/dist/shiki-stream/index.js +1 -2
  177. package/dist/shiki-stream/stream.d.ts +4 -4
  178. package/dist/shiki-stream/stream.d.ts.map +1 -1
  179. package/dist/shiki-stream/stream.js +20 -9
  180. package/dist/shiki-stream/stream.js.map +1 -1
  181. package/dist/shiki-stream/types.d.ts +7 -38
  182. package/dist/shiki-stream/types.d.ts.map +1 -1
  183. package/dist/ssr/FileDiffReact.js +1 -1
  184. package/dist/ssr/index.d.ts +7 -2
  185. package/dist/ssr/renderHTML.js +2 -2
  186. package/dist/ssr/renderHTML.js.map +1 -1
  187. package/dist/style.js +1 -1
  188. package/dist/style.js.map +1 -1
  189. package/dist/types.d.ts +13 -13
  190. package/dist/types.d.ts.map +1 -1
  191. package/dist/utils/computeVirtualFileMetrics.d.ts +2 -1
  192. package/dist/utils/computeVirtualFileMetrics.d.ts.map +1 -1
  193. package/dist/utils/computeVirtualFileMetrics.js +5 -3
  194. package/dist/utils/computeVirtualFileMetrics.js.map +1 -1
  195. package/dist/utils/createSpanNodeFromToken.d.ts +3 -2
  196. package/dist/utils/createSpanNodeFromToken.d.ts.map +1 -1
  197. package/dist/utils/createSpanNodeFromToken.js +4 -5
  198. package/dist/utils/createSpanNodeFromToken.js.map +1 -1
  199. package/dist/utils/cssWrappers.d.ts.map +1 -1
  200. package/dist/utils/cssWrappers.js +12 -0
  201. package/dist/utils/cssWrappers.js.map +1 -1
  202. package/dist/utils/getDiffHunksRendererOptions.js +1 -0
  203. package/dist/utils/getDiffHunksRendererOptions.js.map +1 -1
  204. package/dist/utils/getFiletypeFromFileName.d.ts.map +1 -1
  205. package/dist/utils/getFiletypeFromFileName.js +21 -3
  206. package/dist/utils/getFiletypeFromFileName.js.map +1 -1
  207. package/dist/utils/getHighlighterOptions.d.ts.map +1 -1
  208. package/dist/utils/getHighlighterOptions.js +3 -2
  209. package/dist/utils/getHighlighterOptions.js.map +1 -1
  210. package/dist/utils/getHighlighterThemeStyles.d.ts +2 -1
  211. package/dist/utils/getHighlighterThemeStyles.d.ts.map +1 -1
  212. package/dist/utils/getHighlighterThemeStyles.js +13 -3
  213. package/dist/utils/getHighlighterThemeStyles.js.map +1 -1
  214. package/dist/utils/getTokenOptions.d.ts +7 -0
  215. package/dist/utils/getTokenOptions.d.ts.map +1 -0
  216. package/dist/utils/getTokenOptions.js +16 -0
  217. package/dist/utils/getTokenOptions.js.map +1 -0
  218. package/dist/utils/hastToHtml.d.ts +10 -0
  219. package/dist/utils/hastToHtml.d.ts.map +1 -0
  220. package/dist/utils/hastToHtml.js +125 -0
  221. package/dist/utils/hastToHtml.js.map +1 -0
  222. package/dist/utils/parseDiffDecorations.d.ts +2 -1
  223. package/dist/utils/parseDiffDecorations.d.ts.map +1 -1
  224. package/dist/utils/platform.d.ts +2 -1
  225. package/dist/utils/platform.d.ts.map +1 -1
  226. package/dist/utils/platform.js +6 -1
  227. package/dist/utils/platform.js.map +1 -1
  228. package/dist/utils/renderDiffWithHighlighter.d.ts +3 -2
  229. package/dist/utils/renderDiffWithHighlighter.d.ts.map +1 -1
  230. package/dist/utils/renderDiffWithHighlighter.js +33 -48
  231. package/dist/utils/renderDiffWithHighlighter.js.map +1 -1
  232. package/dist/utils/renderFileWithHighlighter.d.ts +3 -2
  233. package/dist/utils/renderFileWithHighlighter.d.ts.map +1 -1
  234. package/dist/utils/renderFileWithHighlighter.js +10 -26
  235. package/dist/utils/renderFileWithHighlighter.js.map +1 -1
  236. package/dist/utils/renderTokenLines.d.ts +17 -0
  237. package/dist/utils/renderTokenLines.d.ts.map +1 -0
  238. package/dist/utils/renderTokenLines.js +246 -0
  239. package/dist/utils/renderTokenLines.js.map +1 -0
  240. package/dist/utils/resolvePreferredHighlighter.d.ts +13 -0
  241. package/dist/utils/resolvePreferredHighlighter.d.ts.map +1 -0
  242. package/dist/utils/resolvePreferredHighlighter.js +11 -0
  243. package/dist/utils/resolvePreferredHighlighter.js.map +1 -0
  244. package/dist/utils/setDeferredArrayItem.d.ts +5 -0
  245. package/dist/utils/setDeferredArrayItem.d.ts.map +1 -0
  246. package/dist/utils/setDeferredArrayItem.js +39 -0
  247. package/dist/utils/setDeferredArrayItem.js.map +1 -0
  248. package/dist/utils/tokenStyle.d.ts +7 -0
  249. package/dist/utils/tokenStyle.d.ts.map +1 -0
  250. package/dist/utils/tokenStyle.js +28 -0
  251. package/dist/utils/tokenStyle.js.map +1 -0
  252. package/dist/utils/tokensToHtml.d.ts +8 -0
  253. package/dist/utils/tokensToHtml.d.ts.map +1 -0
  254. package/dist/utils/tokensToHtml.js +45 -0
  255. package/dist/utils/tokensToHtml.js.map +1 -0
  256. package/dist/utils/wrapTokenFragments.js.map +1 -1
  257. package/dist/worker/WorkerPoolManager.d.ts +10 -2
  258. package/dist/worker/WorkerPoolManager.d.ts.map +1 -1
  259. package/dist/worker/WorkerPoolManager.js +85 -60
  260. package/dist/worker/WorkerPoolManager.js.map +1 -1
  261. package/dist/worker/errors.d.ts +35 -0
  262. package/dist/worker/errors.d.ts.map +1 -0
  263. package/dist/worker/errors.js +52 -0
  264. package/dist/worker/errors.js.map +1 -0
  265. package/dist/worker/hastLinesTransport.d.ts +14 -0
  266. package/dist/worker/hastLinesTransport.d.ts.map +1 -0
  267. package/dist/worker/hastLinesTransport.js +156 -0
  268. package/dist/worker/hastLinesTransport.js.map +1 -0
  269. package/dist/worker/highlights-sAHlxqlf.js +317 -0
  270. package/dist/worker/highlights-sAHlxqlf.js.map +1 -0
  271. package/dist/worker/index.d.ts +2 -1
  272. package/dist/worker/index.js +2 -1
  273. package/dist/worker/shiki-Bx2JpdqZ.js +697 -0
  274. package/dist/worker/shiki-Bx2JpdqZ.js.map +1 -0
  275. package/dist/worker/stream-tokenizer-YZ6M1qSx.js +424 -0
  276. package/dist/worker/stream-tokenizer-YZ6M1qSx.js.map +1 -0
  277. package/dist/worker/types.d.ts +18 -3
  278. package/dist/worker/types.d.ts.map +1 -1
  279. package/dist/worker/worker-portable.js +41 -13319
  280. package/dist/worker/worker-portable.js.map +1 -1
  281. package/dist/worker/worker.js +693 -352
  282. package/dist/worker/worker.js.map +1 -1
  283. package/dist/worker/workerMessage.d.ts +24 -0
  284. package/dist/worker/workerMessage.d.ts.map +1 -0
  285. package/dist/worker/workerMessage.js +0 -0
  286. package/package.json +33 -29
  287. package/dist/highlighter/themes/constants.d.ts +0 -5
  288. package/dist/highlighter/themes/constants.d.ts.map +0 -1
  289. package/dist/highlighter/themes/constants.js +0 -6
  290. package/dist/highlighter/themes/constants.js.map +0 -1
  291. package/dist/highlighter/themes/themeResolution.d.ts +0 -7
  292. package/dist/highlighter/themes/themeResolution.d.ts.map +0 -1
  293. package/dist/highlighter/themes/themeResolution.js +0 -21
  294. package/dist/highlighter/themes/themeResolution.js.map +0 -1
  295. package/dist/shiki-stream/tokenizer.d.ts +0 -23
  296. package/dist/shiki-stream/tokenizer.d.ts.map +0 -1
  297. package/dist/shiki-stream/tokenizer.js +0 -72
  298. package/dist/shiki-stream/tokenizer.js.map +0 -1
  299. package/dist/utils/createTransformerWithState.d.ts +0 -12
  300. package/dist/utils/createTransformerWithState.d.ts.map +0 -1
  301. package/dist/utils/createTransformerWithState.js +0 -89
  302. package/dist/utils/createTransformerWithState.js.map +0 -1
  303. package/dist/worker/wasm-B9ZqxnKj.js +0 -8
  304. package/dist/worker/wasm-B9ZqxnKj.js.map +0 -1
package/README.md CHANGED
@@ -1,8 +1,9 @@
1
1
  # Diffs, from Pierre
2
2
 
3
- `@pierre/diffs` is an open source diff and file rendering library built on
4
- [Shiki](https://shiki.style/). It's super customizable and packed with the
5
- features you need. Made with love by
3
+ `@pierre/diffs` is an open source diff and file rendering library that uses
4
+ [Shiki](https://shiki.style/) with its JavaScript regex engine by default, with
5
+ optional Shiki WebAssembly and Highlights backends. It's super customizable and
6
+ packed with the features you need. Made with love by
6
7
  [The Pierre Computer Company](https://pierre.computer). Available as vanilla
7
8
  JavaScript and React components.
8
9
 
@@ -87,7 +87,7 @@ type CodeViewOptionCallback<LAnnotation, Caret, TKey extends keyof FileOptions<L
87
87
  (...args: [...OverloadFileCallbackArgs<LAnnotation, Caret, TKey>, context: CodeViewFileItemContext<LAnnotation, Caret>]): CallbackReturn<NonNullable<FileOptions<LAnnotation, Caret>[TKey]>>;
88
88
  (...args: [...OverloadDiffCallbackArgs<LAnnotation, Caret, TKey>, context: CodeViewDiffItemContext<LAnnotation, Caret>]): CallbackReturn<NonNullable<FileDiffOptions<LAnnotation, Caret>[TKey]>>;
89
89
  };
90
- declare const CODE_VIEW_DIFF_OPTION_KEYS: readonly ['theme', 'disableLineNumbers', 'overflow', 'themeType', 'disableFileHeader', 'disableVirtualizationBuffers', 'preferredHighlighter', 'useCSSClasses', 'useTokenTransformer', 'tokenizeMaxLineLength', 'tokenizeMaxLength', 'unsafeCSS', 'diffStyle', 'diffIndicators', 'disableBackground', 'expandUnchanged', 'loadDiffFiles', 'collapsedContextThreshold', 'lineDiffType', 'maxLineDiffLength', 'expansionLineCount', 'lineHoverHighlight', 'enableTokenInteractionsOnWhitespace', 'enableGutterUtility', '__debugPointerEvents', 'enableLineSelection', 'controlledSelection', 'disableErrorHandling'];
90
+ declare const CODE_VIEW_DIFF_OPTION_KEYS: readonly ['theme', 'disableLineNumbers', 'overflow', 'themeType', 'disableFileHeader', 'disableVirtualizationBuffers', 'preferredHighlighter', 'useCSSClasses', 'useTokenTransformer', 'tokenizeMaxLineLength', 'tokenizeMaxLength', 'unsafeCSS', 'diffStyle', 'diffIndicators', 'disableBackground', 'expandUnchanged', 'loadDiffFiles', 'parseDiffOptions', 'collapsedContextThreshold', 'lineDiffType', 'maxLineDiffLength', 'expansionLineCount', 'lineHoverHighlight', 'enableTokenInteractionsOnWhitespace', 'enableGutterUtility', '__debugPointerEvents', 'enableLineSelection', 'controlledSelection', 'disableErrorHandling'];
91
91
  type CodeViewDiffOptionKeys = (typeof CODE_VIEW_DIFF_OPTION_KEYS)[number];
92
92
  declare const CODE_VIEW_FILE_OPTION_KEYS: readonly ['theme', 'disableLineNumbers', 'overflow', 'themeType', 'disableFileHeader', 'disableVirtualizationBuffers', 'preferredHighlighter', 'useCSSClasses', 'useTokenTransformer', 'tokenizeMaxLineLength', 'tokenizeMaxLength', 'unsafeCSS', 'lineHoverHighlight', 'enableTokenInteractionsOnWhitespace', 'enableGutterUtility', '__debugPointerEvents', 'enableLineSelection', 'controlledSelection', 'disableErrorHandling'];
93
93
  type CodeViewPassThroughOptions<LAnnotation, Caret> = Pick<FileDiffOptions<LAnnotation, Caret>, CodeViewDiffOptionKeys>;
@@ -194,6 +194,7 @@ declare class CodeView<LAnnotation = undefined, Caret = undefined> {
194
194
  private containerHeight;
195
195
  private scrollTop;
196
196
  private scrollPageOffset;
197
+ private readonly scrollRebaseConfig;
197
198
  private scrollDirty;
198
199
  private scrollInteractionFixTimer;
199
200
  private pointerEventsDisabled;
@@ -1 +1 @@
1
- {"version":3,"file":"CodeView.d.ts","names":[],"sources":["../../src/components/CodeView.ts"],"mappings":"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"}
1
+ {"version":3,"file":"CodeView.d.ts","names":[],"sources":["../../src/components/CodeView.ts"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { DEFAULT_CODE_VIEW_FILE_METRICS, DEFAULT_CODE_VIEW_LAYOUT, DEFAULT_SMOOTH_SCROLL_SETTINGS, DEFAULT_THEMES, DIFFS_DEVELOPMENT_BUILD, DIFFS_TAG_NAME } from "../constants.js";
2
+ import { HighlighterDisposedError } from "../highlighter/highlighterType.js";
2
3
  import { getThemes } from "../utils/getThemes.js";
3
- import { areThemesAttached } from "../highlighter/themes/areThemesAttached.js";
4
- import { isHighlighterLoaded, preloadHighlighter } from "../highlighter/shared_highlighter.js";
4
+ import { getHighlighterIfLoaded, preloadHighlighter } from "../highlighter/shared_highlighter.js";
5
5
  import { dequeueRender, queueRender } from "../managers/UniversalRenderingManager.js";
6
6
  import { areManagedSnapshotsEqual } from "../utils/areManagedSnapshotsEqual.js";
7
7
  import { areObjectsEqual } from "../utils/areObjectsEqual.js";
@@ -11,7 +11,9 @@ import { areSelectionsEqual } from "../utils/areSelectionsEqual.js";
11
11
  import { createCodeViewHeaderFooterHostElement } from "../utils/createCodeViewHeaderFooterHostElement.js";
12
12
  import { createWindowFromScrollPosition } from "../utils/createWindowFromScrollPosition.js";
13
13
  import { isStyleNode } from "../utils/isStyleNode.js";
14
+ import { isFirefox } from "../utils/platform.js";
14
15
  import { prefersReducedMotion } from "../utils/prefersReducedMotion.js";
16
+ import { resolvePreferredHighlighter } from "../utils/resolvePreferredHighlighter.js";
15
17
  import { roundToDevicePixel } from "../utils/roundToDevicePixel.js";
16
18
  import { VirtualizedFile } from "./VirtualizedFile.js";
17
19
  import { VirtualizedFileDiff } from "./VirtualizedFileDiff.js";
@@ -34,6 +36,7 @@ const CODE_VIEW_DIFF_OPTION_KEYS = [
34
36
  "disableBackground",
35
37
  "expandUnchanged",
36
38
  "loadDiffFiles",
39
+ "parseDiffOptions",
37
40
  "collapsedContextThreshold",
38
41
  "lineDiffType",
39
42
  "maxLineDiffLength",
@@ -113,11 +116,17 @@ function defineItemOption(target, key, get) {
113
116
  const DEFAULT_SCROLL_INTERACTION_RESTORE_DELAY_MS = 120;
114
117
  const SUB_PIXEL_TOLERANCE = 1;
115
118
  const SCROLLING_CODE_OVERFLOW_FIX_VARIABLE = "--diffs-overflow-override";
116
- const SCROLL_REBASE_CONTAINER_HEIGHT = 12e6;
117
- const SCROLL_REBASE_TRIGGER_TOP = 1e6;
118
- const SCROLL_REBASE_TARGET_TOP = 2e6;
119
- const SCROLL_REBASE_TARGET_BOTTOM = 1e7;
120
- const SCROLL_REBASE_THRESHOLD = 11e6;
119
+ function createScrollRebaseConfig(containerHeight, triggerTop, targetTop) {
120
+ return {
121
+ containerHeight,
122
+ triggerTop,
123
+ targetTop,
124
+ targetBottom: containerHeight - targetTop,
125
+ threshold: containerHeight - triggerTop
126
+ };
127
+ }
128
+ const DEFAULT_SCROLL_REBASE = createScrollRebaseConfig(12e6, 1e6, 2e6);
129
+ const FIREFOX_SCROLL_REBASE = createScrollRebaseConfig(2 ** 22, 5e5, 1e6);
121
130
  function assertEditorFactory(createEditor) {
122
131
  if (createEditor == null) throw new Error("CodeView: createEditor is required for items with edit: true");
123
132
  }
@@ -153,6 +162,7 @@ var CodeView = class CodeView {
153
162
  containerHeight = -1;
154
163
  scrollTop = 0;
155
164
  scrollPageOffset = 0;
165
+ scrollRebaseConfig = isFirefox() ? FIREFOX_SCROLL_REBASE : DEFAULT_SCROLL_REBASE;
156
166
  scrollDirty = true;
157
167
  scrollInteractionFixTimer;
158
168
  pointerEventsDisabled = false;
@@ -801,7 +811,7 @@ var CodeView = class CodeView {
801
811
  }
802
812
  isSharedHighlighterReady() {
803
813
  const theme = this.workerManager?.getFileRenderOptions().theme ?? this.options.theme ?? DEFAULT_THEMES;
804
- if (isHighlighterLoaded() && areThemesAttached(theme)) {
814
+ if (getHighlighterIfLoaded({ theme }) != null) {
805
815
  this.clearReadySubscription();
806
816
  return true;
807
817
  }
@@ -812,7 +822,7 @@ var CodeView = class CodeView {
812
822
  preloadHighlighter({
813
823
  themes: getThemes(theme),
814
824
  langs: [],
815
- preferredHighlighter: this.options.preferredHighlighter
825
+ preferredHighlighter: resolvePreferredHighlighter(this.workerManager, this.options)
816
826
  }).then(() => {
817
827
  if (cancelled) return;
818
828
  this.clearReadySubscription();
@@ -820,7 +830,7 @@ var CodeView = class CodeView {
820
830
  }, (error) => {
821
831
  if (cancelled) return;
822
832
  this.clearReadySubscription();
823
- console.error(error);
833
+ if (!(error instanceof HighlighterDisposedError)) console.error(error);
824
834
  });
825
835
  return () => {
826
836
  cancelled = true;
@@ -1331,10 +1341,10 @@ var CodeView = class CodeView {
1331
1341
  return this.getMaxScrollTopForHeight(this.getScrollHeight());
1332
1342
  }
1333
1343
  shouldRebaseScroll() {
1334
- return this.getMaxScrollTop() > SCROLL_REBASE_THRESHOLD;
1344
+ return this.getMaxScrollTop() > this.scrollRebaseConfig.threshold;
1335
1345
  }
1336
1346
  getPagedScrollHeight() {
1337
- return this.shouldRebaseScroll() ? Math.min(this.getScrollHeight(), SCROLL_REBASE_CONTAINER_HEIGHT) : this.getScrollHeight();
1347
+ return this.shouldRebaseScroll() ? Math.min(this.getScrollHeight(), this.scrollRebaseConfig.containerHeight) : this.getScrollHeight();
1338
1348
  }
1339
1349
  getMaxPagedScrollTop() {
1340
1350
  return this.getMaxScrollTopForHeight(this.getPagedScrollHeight());
@@ -1377,13 +1387,14 @@ var CodeView = class CodeView {
1377
1387
  pagedScrollTop: this.clampPagedScrollTop(logicalScrollTop),
1378
1388
  scrollPageOffset: 0
1379
1389
  };
1380
- const currentPageOffset = this.clampScrollPageOffset(this.scrollPageOffset);
1390
+ const { scrollPageOffset, scrollRebaseConfig } = this;
1391
+ const currentPageOffset = this.clampScrollPageOffset(scrollPageOffset);
1381
1392
  const pagedScrollTop = logicalScrollTop - currentPageOffset;
1382
1393
  const pagedMaxScrollTop = this.getMaxPagedScrollTop();
1383
1394
  const maxRebaseOffset = this.getMaxScrollPageOffset();
1384
- const shouldMoveDown = pagedScrollTop > SCROLL_REBASE_THRESHOLD && currentPageOffset < maxRebaseOffset;
1385
- const shouldMoveUp = pagedScrollTop < SCROLL_REBASE_TRIGGER_TOP && currentPageOffset > 0;
1386
- if (pagedScrollTop < 0 || pagedScrollTop > pagedMaxScrollTop || shouldMoveDown || shouldMoveUp) return this.resolveScrollPageWindow(logicalScrollTop, shouldMoveUp ? Math.min(SCROLL_REBASE_TARGET_BOTTOM, pagedMaxScrollTop) : SCROLL_REBASE_TARGET_TOP);
1395
+ const shouldMoveDown = pagedScrollTop > scrollRebaseConfig.threshold && currentPageOffset < maxRebaseOffset;
1396
+ const shouldMoveUp = pagedScrollTop < scrollRebaseConfig.triggerTop && currentPageOffset > 0;
1397
+ if (pagedScrollTop < 0 || pagedScrollTop > pagedMaxScrollTop || shouldMoveDown || shouldMoveUp) return this.resolveScrollPageWindow(logicalScrollTop, shouldMoveUp ? Math.min(scrollRebaseConfig.targetBottom, pagedMaxScrollTop) : scrollRebaseConfig.targetTop);
1387
1398
  return {
1388
1399
  pagedScrollTop: roundToDevicePixel(this.clampPagedScrollTop(pagedScrollTop)),
1389
1400
  scrollPageOffset: currentPageOffset