@pierre/diffs 1.0.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 (441) hide show
  1. package/LICENSE.txt +201 -0
  2. package/README.md +26 -0
  3. package/dist/components/File.d.ts +78 -0
  4. package/dist/components/File.d.ts.map +1 -0
  5. package/dist/components/File.js +322 -0
  6. package/dist/components/File.js.map +1 -0
  7. package/dist/components/FileDiff.d.ts +90 -0
  8. package/dist/components/FileDiff.d.ts.map +1 -0
  9. package/dist/components/FileDiff.js +392 -0
  10. package/dist/components/FileDiff.js.map +1 -0
  11. package/dist/components/FileStream.d.ts +40 -0
  12. package/dist/components/FileStream.d.ts.map +1 -0
  13. package/dist/components/FileStream.js +161 -0
  14. package/dist/components/FileStream.js.map +1 -0
  15. package/dist/components/web-components.d.ts +5 -0
  16. package/dist/components/web-components.d.ts.map +1 -0
  17. package/dist/components/web-components.js +25 -0
  18. package/dist/components/web-components.js.map +1 -0
  19. package/dist/constants.d.ts +21 -0
  20. package/dist/constants.d.ts.map +1 -0
  21. package/dist/constants.js +23 -0
  22. package/dist/constants.js.map +1 -0
  23. package/dist/highlighter/languages/areLanguagesAttached.d.ts +7 -0
  24. package/dist/highlighter/languages/areLanguagesAttached.d.ts.map +1 -0
  25. package/dist/highlighter/languages/areLanguagesAttached.js +11 -0
  26. package/dist/highlighter/languages/areLanguagesAttached.js.map +1 -0
  27. package/dist/highlighter/languages/attachResolvedLanguages.d.ts +9 -0
  28. package/dist/highlighter/languages/attachResolvedLanguages.d.ts.map +1 -0
  29. package/dist/highlighter/languages/attachResolvedLanguages.js +20 -0
  30. package/dist/highlighter/languages/attachResolvedLanguages.js.map +1 -0
  31. package/dist/highlighter/languages/cleanUpResolvedLanguages.d.ts +5 -0
  32. package/dist/highlighter/languages/cleanUpResolvedLanguages.d.ts.map +1 -0
  33. package/dist/highlighter/languages/cleanUpResolvedLanguages.js +11 -0
  34. package/dist/highlighter/languages/cleanUpResolvedLanguages.js.map +1 -0
  35. package/dist/highlighter/languages/constants.d.ts +11 -0
  36. package/dist/highlighter/languages/constants.d.ts.map +1 -0
  37. package/dist/highlighter/languages/constants.js +8 -0
  38. package/dist/highlighter/languages/constants.js.map +1 -0
  39. package/dist/highlighter/languages/getResolvedLanguages.d.ts +9 -0
  40. package/dist/highlighter/languages/getResolvedLanguages.d.ts.map +1 -0
  41. package/dist/highlighter/languages/getResolvedLanguages.js +16 -0
  42. package/dist/highlighter/languages/getResolvedLanguages.js.map +1 -0
  43. package/dist/highlighter/languages/getResolvedOrResolveLanguage.d.ts +9 -0
  44. package/dist/highlighter/languages/getResolvedOrResolveLanguage.d.ts.map +1 -0
  45. package/dist/highlighter/languages/getResolvedOrResolveLanguage.js +11 -0
  46. package/dist/highlighter/languages/getResolvedOrResolveLanguage.js.map +1 -0
  47. package/dist/highlighter/languages/hasResolvedLanguages.d.ts +7 -0
  48. package/dist/highlighter/languages/hasResolvedLanguages.d.ts.map +1 -0
  49. package/dist/highlighter/languages/hasResolvedLanguages.js +11 -0
  50. package/dist/highlighter/languages/hasResolvedLanguages.js.map +1 -0
  51. package/dist/highlighter/languages/resolveLanguage.d.ts +9 -0
  52. package/dist/highlighter/languages/resolveLanguage.d.ts.map +1 -0
  53. package/dist/highlighter/languages/resolveLanguage.js +30 -0
  54. package/dist/highlighter/languages/resolveLanguage.js.map +1 -0
  55. package/dist/highlighter/languages/resolveLanguages.d.ts +9 -0
  56. package/dist/highlighter/languages/resolveLanguages.d.ts.map +1 -0
  57. package/dist/highlighter/languages/resolveLanguages.js +25 -0
  58. package/dist/highlighter/languages/resolveLanguages.js.map +1 -0
  59. package/dist/highlighter/shared_highlighter.d.ts +21 -0
  60. package/dist/highlighter/shared_highlighter.d.ts.map +1 -0
  61. package/dist/highlighter/shared_highlighter.js +71 -0
  62. package/dist/highlighter/shared_highlighter.js.map +1 -0
  63. package/dist/highlighter/themes/areThemesAttached.d.ts +7 -0
  64. package/dist/highlighter/themes/areThemesAttached.d.ts.map +1 -0
  65. package/dist/highlighter/themes/areThemesAttached.js +12 -0
  66. package/dist/highlighter/themes/areThemesAttached.js.map +1 -0
  67. package/dist/highlighter/themes/attachResolvedThemes.d.ts +7 -0
  68. package/dist/highlighter/themes/attachResolvedThemes.d.ts.map +1 -0
  69. package/dist/highlighter/themes/attachResolvedThemes.js +24 -0
  70. package/dist/highlighter/themes/attachResolvedThemes.js.map +1 -0
  71. package/dist/highlighter/themes/cleanUpResolvedThemes.d.ts +5 -0
  72. package/dist/highlighter/themes/cleanUpResolvedThemes.d.ts.map +1 -0
  73. package/dist/highlighter/themes/cleanUpResolvedThemes.js +11 -0
  74. package/dist/highlighter/themes/cleanUpResolvedThemes.js.map +1 -0
  75. package/dist/highlighter/themes/constants.d.ts +11 -0
  76. package/dist/highlighter/themes/constants.d.ts.map +1 -0
  77. package/dist/highlighter/themes/constants.js +9 -0
  78. package/dist/highlighter/themes/constants.js.map +1 -0
  79. package/dist/highlighter/themes/getResolvedOrResolveTheme.d.ts +7 -0
  80. package/dist/highlighter/themes/getResolvedOrResolveTheme.d.ts.map +1 -0
  81. package/dist/highlighter/themes/getResolvedOrResolveTheme.js +11 -0
  82. package/dist/highlighter/themes/getResolvedOrResolveTheme.js.map +1 -0
  83. package/dist/highlighter/themes/getResolvedThemes.d.ts +7 -0
  84. package/dist/highlighter/themes/getResolvedThemes.d.ts.map +1 -0
  85. package/dist/highlighter/themes/getResolvedThemes.js +16 -0
  86. package/dist/highlighter/themes/getResolvedThemes.js.map +1 -0
  87. package/dist/highlighter/themes/hasResolvedThemes.d.ts +7 -0
  88. package/dist/highlighter/themes/hasResolvedThemes.d.ts.map +1 -0
  89. package/dist/highlighter/themes/hasResolvedThemes.js +11 -0
  90. package/dist/highlighter/themes/hasResolvedThemes.js.map +1 -0
  91. package/dist/highlighter/themes/registerCustomTheme.d.ts +7 -0
  92. package/dist/highlighter/themes/registerCustomTheme.d.ts.map +1 -0
  93. package/dist/highlighter/themes/registerCustomTheme.js +14 -0
  94. package/dist/highlighter/themes/registerCustomTheme.js.map +1 -0
  95. package/dist/highlighter/themes/resolveTheme.d.ts +7 -0
  96. package/dist/highlighter/themes/resolveTheme.d.ts.map +1 -0
  97. package/dist/highlighter/themes/resolveTheme.js +35 -0
  98. package/dist/highlighter/themes/resolveTheme.js.map +1 -0
  99. package/dist/highlighter/themes/resolveThemes.d.ts +7 -0
  100. package/dist/highlighter/themes/resolveThemes.d.ts.map +1 -0
  101. package/dist/highlighter/themes/resolveThemes.js +21 -0
  102. package/dist/highlighter/themes/resolveThemes.js.map +1 -0
  103. package/dist/index.d.ts +84 -0
  104. package/dist/index.js +83 -0
  105. package/dist/managers/LineSelectionManager.d.ts +64 -0
  106. package/dist/managers/LineSelectionManager.d.ts.map +1 -0
  107. package/dist/managers/LineSelectionManager.js +276 -0
  108. package/dist/managers/LineSelectionManager.js.map +1 -0
  109. package/dist/managers/MouseEventManager.d.ts +64 -0
  110. package/dist/managers/MouseEventManager.d.ts.map +1 -0
  111. package/dist/managers/MouseEventManager.js +244 -0
  112. package/dist/managers/MouseEventManager.js.map +1 -0
  113. package/dist/managers/ResizeManager.d.ts +11 -0
  114. package/dist/managers/ResizeManager.d.ts.map +1 -0
  115. package/dist/managers/ResizeManager.js +132 -0
  116. package/dist/managers/ResizeManager.js.map +1 -0
  117. package/dist/managers/ScrollSyncManager.d.ts +15 -0
  118. package/dist/managers/ScrollSyncManager.d.ts.map +1 -0
  119. package/dist/managers/ScrollSyncManager.js +54 -0
  120. package/dist/managers/ScrollSyncManager.js.map +1 -0
  121. package/dist/managers/UniversalRenderingManager.d.ts +6 -0
  122. package/dist/managers/UniversalRenderingManager.d.ts.map +1 -0
  123. package/dist/managers/UniversalRenderingManager.js +32 -0
  124. package/dist/managers/UniversalRenderingManager.js.map +1 -0
  125. package/dist/react/File.d.ts +19 -0
  126. package/dist/react/File.d.ts.map +1 -0
  127. package/dist/react/File.js +36 -0
  128. package/dist/react/File.js.map +1 -0
  129. package/dist/react/FileDiff.d.ts +22 -0
  130. package/dist/react/FileDiff.d.ts.map +1 -0
  131. package/dist/react/FileDiff.js +36 -0
  132. package/dist/react/FileDiff.js.map +1 -0
  133. package/dist/react/MultiFileDiff.d.ts +24 -0
  134. package/dist/react/MultiFileDiff.d.ts.map +1 -0
  135. package/dist/react/MultiFileDiff.js +38 -0
  136. package/dist/react/MultiFileDiff.js.map +1 -0
  137. package/dist/react/PatchDiff.d.ts +21 -0
  138. package/dist/react/PatchDiff.d.ts.map +1 -0
  139. package/dist/react/PatchDiff.js +42 -0
  140. package/dist/react/PatchDiff.js.map +1 -0
  141. package/dist/react/WorkerPoolContext.d.ts +20 -0
  142. package/dist/react/WorkerPoolContext.d.ts.map +1 -0
  143. package/dist/react/WorkerPoolContext.js +41 -0
  144. package/dist/react/WorkerPoolContext.js.map +1 -0
  145. package/dist/react/constants.d.ts +7 -0
  146. package/dist/react/constants.d.ts.map +1 -0
  147. package/dist/react/constants.js +11 -0
  148. package/dist/react/constants.js.map +1 -0
  149. package/dist/react/index.d.ts +17 -0
  150. package/dist/react/index.js +14 -0
  151. package/dist/react/jsx.d.ts +12 -0
  152. package/dist/react/jsx.d.ts.map +1 -0
  153. package/dist/react/types.d.ts +34 -0
  154. package/dist/react/types.d.ts.map +1 -0
  155. package/dist/react/types.js +1 -0
  156. package/dist/react/utils/renderDiffChildren.d.ts +29 -0
  157. package/dist/react/utils/renderDiffChildren.d.ts.map +1 -0
  158. package/dist/react/utils/renderDiffChildren.js +32 -0
  159. package/dist/react/utils/renderDiffChildren.js.map +1 -0
  160. package/dist/react/utils/renderFileChildren.d.ts +25 -0
  161. package/dist/react/utils/renderFileChildren.d.ts.map +1 -0
  162. package/dist/react/utils/renderFileChildren.js +28 -0
  163. package/dist/react/utils/renderFileChildren.js.map +1 -0
  164. package/dist/react/utils/templateRender.d.ts +7 -0
  165. package/dist/react/utils/templateRender.d.ts.map +1 -0
  166. package/dist/react/utils/templateRender.js +14 -0
  167. package/dist/react/utils/templateRender.js.map +1 -0
  168. package/dist/react/utils/useFileDiffInstance.d.ts +31 -0
  169. package/dist/react/utils/useFileDiffInstance.d.ts.map +1 -0
  170. package/dist/react/utils/useFileDiffInstance.js +54 -0
  171. package/dist/react/utils/useFileDiffInstance.js.map +1 -0
  172. package/dist/react/utils/useFileInstance.d.ts +27 -0
  173. package/dist/react/utils/useFileInstance.d.ts.map +1 -0
  174. package/dist/react/utils/useFileInstance.js +49 -0
  175. package/dist/react/utils/useFileInstance.js.map +1 -0
  176. package/dist/react/utils/useStableCallback.d.ts +5 -0
  177. package/dist/react/utils/useStableCallback.d.ts.map +1 -0
  178. package/dist/react/utils/useStableCallback.js +14 -0
  179. package/dist/react/utils/useStableCallback.js.map +1 -0
  180. package/dist/renderers/DiffHunksRenderer.d.ts +62 -0
  181. package/dist/renderers/DiffHunksRenderer.d.ts.map +1 -0
  182. package/dist/renderers/DiffHunksRenderer.js +651 -0
  183. package/dist/renderers/DiffHunksRenderer.js.map +1 -0
  184. package/dist/renderers/FileRenderer.d.ts +49 -0
  185. package/dist/renderers/FileRenderer.d.ts.map +1 -0
  186. package/dist/renderers/FileRenderer.js +239 -0
  187. package/dist/renderers/FileRenderer.js.map +1 -0
  188. package/dist/shiki-stream/index.d.ts +4 -0
  189. package/dist/shiki-stream/index.js +4 -0
  190. package/dist/shiki-stream/stream.d.ts +17 -0
  191. package/dist/shiki-stream/stream.d.ts.map +1 -0
  192. package/dist/shiki-stream/stream.js +32 -0
  193. package/dist/shiki-stream/stream.js.map +1 -0
  194. package/dist/shiki-stream/tokenizer.d.ts +24 -0
  195. package/dist/shiki-stream/tokenizer.d.ts.map +1 -0
  196. package/dist/shiki-stream/tokenizer.js +71 -0
  197. package/dist/shiki-stream/tokenizer.js.map +1 -0
  198. package/dist/shiki-stream/types.d.ts +45 -0
  199. package/dist/shiki-stream/types.d.ts.map +1 -0
  200. package/dist/shiki-stream/types.js +0 -0
  201. package/dist/sprite.d.ts +6 -0
  202. package/dist/sprite.d.ts.map +1 -0
  203. package/dist/sprite.js +55 -0
  204. package/dist/sprite.js.map +1 -0
  205. package/dist/ssr/FileDiffReact.d.ts +21 -0
  206. package/dist/ssr/FileDiffReact.d.ts.map +1 -0
  207. package/dist/ssr/FileDiffReact.js +53 -0
  208. package/dist/ssr/FileDiffReact.js.map +1 -0
  209. package/dist/ssr/index.d.ts +6 -0
  210. package/dist/ssr/index.js +6 -0
  211. package/dist/ssr/preloadDiffs.d.ts +72 -0
  212. package/dist/ssr/preloadDiffs.d.ts.map +1 -0
  213. package/dist/ssr/preloadDiffs.js +66 -0
  214. package/dist/ssr/preloadDiffs.js.map +1 -0
  215. package/dist/ssr/preloadFile.d.ts +23 -0
  216. package/dist/ssr/preloadFile.d.ts.map +1 -0
  217. package/dist/ssr/preloadFile.js +26 -0
  218. package/dist/ssr/preloadFile.js.map +1 -0
  219. package/dist/ssr/preloadPatchFile.d.ts +15 -0
  220. package/dist/ssr/preloadPatchFile.d.ts.map +1 -0
  221. package/dist/ssr/preloadPatchFile.js +17 -0
  222. package/dist/ssr/preloadPatchFile.js.map +1 -0
  223. package/dist/ssr/renderHTML.d.ts +7 -0
  224. package/dist/ssr/renderHTML.d.ts.map +1 -0
  225. package/dist/ssr/renderHTML.js +11 -0
  226. package/dist/ssr/renderHTML.js.map +1 -0
  227. package/dist/string-import.d.ts +6 -0
  228. package/dist/string-import.d.ts.map +1 -0
  229. package/dist/style.js +6 -0
  230. package/dist/style.js.map +1 -0
  231. package/dist/themes/pierre-dark.js +1328 -0
  232. package/dist/themes/pierre-dark.js.map +1 -0
  233. package/dist/themes/pierre-light.js +1328 -0
  234. package/dist/themes/pierre-light.js.map +1 -0
  235. package/dist/types.d.ts +238 -0
  236. package/dist/types.d.ts.map +1 -0
  237. package/dist/types.js +0 -0
  238. package/dist/utils/areFilesEqual.d.ts +7 -0
  239. package/dist/utils/areFilesEqual.d.ts.map +1 -0
  240. package/dist/utils/areFilesEqual.js +8 -0
  241. package/dist/utils/areFilesEqual.js.map +1 -0
  242. package/dist/utils/areObjectsEqual.d.ts +5 -0
  243. package/dist/utils/areObjectsEqual.d.ts.map +1 -0
  244. package/dist/utils/areObjectsEqual.js +18 -0
  245. package/dist/utils/areObjectsEqual.js.map +1 -0
  246. package/dist/utils/areOptionsEqual.d.ts +9 -0
  247. package/dist/utils/areOptionsEqual.d.ts.map +1 -0
  248. package/dist/utils/areOptionsEqual.js +12 -0
  249. package/dist/utils/areOptionsEqual.js.map +1 -0
  250. package/dist/utils/areSelectionsEqual.d.ts +7 -0
  251. package/dist/utils/areSelectionsEqual.d.ts.map +1 -0
  252. package/dist/utils/areSelectionsEqual.js +8 -0
  253. package/dist/utils/areSelectionsEqual.js.map +1 -0
  254. package/dist/utils/areThemesEqual.d.ts +7 -0
  255. package/dist/utils/areThemesEqual.d.ts.map +1 -0
  256. package/dist/utils/areThemesEqual.js +9 -0
  257. package/dist/utils/areThemesEqual.js.map +1 -0
  258. package/dist/utils/cleanLastNewline.d.ts +5 -0
  259. package/dist/utils/cleanLastNewline.d.ts.map +1 -0
  260. package/dist/utils/cleanLastNewline.js +8 -0
  261. package/dist/utils/cleanLastNewline.js.map +1 -0
  262. package/dist/utils/createAnnotationElement.d.ts +8 -0
  263. package/dist/utils/createAnnotationElement.d.ts.map +1 -0
  264. package/dist/utils/createAnnotationElement.js +21 -0
  265. package/dist/utils/createAnnotationElement.js.map +1 -0
  266. package/dist/utils/createAnnotationWrapperNode.d.ts +5 -0
  267. package/dist/utils/createAnnotationWrapperNode.d.ts.map +1 -0
  268. package/dist/utils/createAnnotationWrapperNode.js +12 -0
  269. package/dist/utils/createAnnotationWrapperNode.js.map +1 -0
  270. package/dist/utils/createCodeNode.d.ts +12 -0
  271. package/dist/utils/createCodeNode.d.ts.map +1 -0
  272. package/dist/utils/createCodeNode.js +12 -0
  273. package/dist/utils/createCodeNode.js.map +1 -0
  274. package/dist/utils/createEmptyRowBuffer.d.ts +7 -0
  275. package/dist/utils/createEmptyRowBuffer.d.ts.map +1 -0
  276. package/dist/utils/createEmptyRowBuffer.js +16 -0
  277. package/dist/utils/createEmptyRowBuffer.js.map +1 -0
  278. package/dist/utils/createFileHeaderElement.d.ts +17 -0
  279. package/dist/utils/createFileHeaderElement.d.ts.map +1 -0
  280. package/dist/utils/createFileHeaderElement.js +84 -0
  281. package/dist/utils/createFileHeaderElement.js.map +1 -0
  282. package/dist/utils/createHoverContentNode.d.ts +5 -0
  283. package/dist/utils/createHoverContentNode.d.ts.map +1 -0
  284. package/dist/utils/createHoverContentNode.js +15 -0
  285. package/dist/utils/createHoverContentNode.js.map +1 -0
  286. package/dist/utils/createNoNewlineElement.d.ts +7 -0
  287. package/dist/utils/createNoNewlineElement.d.ts.map +1 -0
  288. package/dist/utils/createNoNewlineElement.js +24 -0
  289. package/dist/utils/createNoNewlineElement.js.map +1 -0
  290. package/dist/utils/createPreElement.d.ts +18 -0
  291. package/dist/utils/createPreElement.d.ts.map +1 -0
  292. package/dist/utils/createPreElement.js +28 -0
  293. package/dist/utils/createPreElement.js.map +1 -0
  294. package/dist/utils/createRowNodes.d.ts +8 -0
  295. package/dist/utils/createRowNodes.d.ts.map +1 -0
  296. package/dist/utils/createRowNodes.js +20 -0
  297. package/dist/utils/createRowNodes.js.map +1 -0
  298. package/dist/utils/createSeparator.d.ts +25 -0
  299. package/dist/utils/createSeparator.d.ts.map +1 -0
  300. package/dist/utils/createSeparator.js +69 -0
  301. package/dist/utils/createSeparator.js.map +1 -0
  302. package/dist/utils/createSpanNodeFromToken.d.ts +7 -0
  303. package/dist/utils/createSpanNodeFromToken.d.ts.map +1 -0
  304. package/dist/utils/createSpanNodeFromToken.js +13 -0
  305. package/dist/utils/createSpanNodeFromToken.js.map +1 -0
  306. package/dist/utils/createStyleElement.d.ts +7 -0
  307. package/dist/utils/createStyleElement.d.ts.map +1 -0
  308. package/dist/utils/createStyleElement.js +19 -0
  309. package/dist/utils/createStyleElement.js.map +1 -0
  310. package/dist/utils/createTransformerWithState.d.ts +13 -0
  311. package/dist/utils/createTransformerWithState.d.ts.map +1 -0
  312. package/dist/utils/createTransformerWithState.js +56 -0
  313. package/dist/utils/createTransformerWithState.js.map +1 -0
  314. package/dist/utils/createUnsafeCSSStyleNode.d.ts +5 -0
  315. package/dist/utils/createUnsafeCSSStyleNode.d.ts.map +1 -0
  316. package/dist/utils/createUnsafeCSSStyleNode.js +12 -0
  317. package/dist/utils/createUnsafeCSSStyleNode.js.map +1 -0
  318. package/dist/utils/cssWrappers.d.ts +6 -0
  319. package/dist/utils/cssWrappers.d.ts.map +1 -0
  320. package/dist/utils/cssWrappers.js +21 -0
  321. package/dist/utils/cssWrappers.js.map +1 -0
  322. package/dist/utils/diffAcceptRejectHunk.d.ts +7 -0
  323. package/dist/utils/diffAcceptRejectHunk.d.ts.map +1 -0
  324. package/dist/utils/diffAcceptRejectHunk.js +82 -0
  325. package/dist/utils/diffAcceptRejectHunk.js.map +1 -0
  326. package/dist/utils/formatCSSVariablePrefix.d.ts +5 -0
  327. package/dist/utils/formatCSSVariablePrefix.d.ts.map +1 -0
  328. package/dist/utils/formatCSSVariablePrefix.js +8 -0
  329. package/dist/utils/formatCSSVariablePrefix.js.map +1 -0
  330. package/dist/utils/getFiletypeFromFileName.d.ts +9 -0
  331. package/dist/utils/getFiletypeFromFileName.d.ts.map +1 -0
  332. package/dist/utils/getFiletypeFromFileName.js +343 -0
  333. package/dist/utils/getFiletypeFromFileName.js.map +1 -0
  334. package/dist/utils/getHighlighterOptions.d.ts +14 -0
  335. package/dist/utils/getHighlighterOptions.d.ts.map +1 -0
  336. package/dist/utils/getHighlighterOptions.js +13 -0
  337. package/dist/utils/getHighlighterOptions.js.map +1 -0
  338. package/dist/utils/getHighlighterThemeStyles.d.ts +16 -0
  339. package/dist/utils/getHighlighterThemeStyles.d.ts.map +1 -0
  340. package/dist/utils/getHighlighterThemeStyles.js +40 -0
  341. package/dist/utils/getHighlighterThemeStyles.js.map +1 -0
  342. package/dist/utils/getHunkSeparatorSlotName.d.ts +5 -0
  343. package/dist/utils/getHunkSeparatorSlotName.d.ts.map +1 -0
  344. package/dist/utils/getHunkSeparatorSlotName.js +8 -0
  345. package/dist/utils/getHunkSeparatorSlotName.js.map +1 -0
  346. package/dist/utils/getIconForType.d.ts +8 -0
  347. package/dist/utils/getIconForType.d.ts.map +1 -0
  348. package/dist/utils/getIconForType.js +15 -0
  349. package/dist/utils/getIconForType.js.map +1 -0
  350. package/dist/utils/getLineAnnotationName.d.ts +7 -0
  351. package/dist/utils/getLineAnnotationName.d.ts.map +1 -0
  352. package/dist/utils/getLineAnnotationName.js +8 -0
  353. package/dist/utils/getLineAnnotationName.js.map +1 -0
  354. package/dist/utils/getLineEndingType.d.ts +5 -0
  355. package/dist/utils/getLineEndingType.d.ts.map +1 -0
  356. package/dist/utils/getLineEndingType.js +11 -0
  357. package/dist/utils/getLineEndingType.js.map +1 -0
  358. package/dist/utils/getLineNodes.d.ts +7 -0
  359. package/dist/utils/getLineNodes.d.ts.map +1 -0
  360. package/dist/utils/getLineNodes.js +15 -0
  361. package/dist/utils/getLineNodes.js.map +1 -0
  362. package/dist/utils/getSingularPatch.d.ts +7 -0
  363. package/dist/utils/getSingularPatch.d.ts.map +1 -0
  364. package/dist/utils/getSingularPatch.js +20 -0
  365. package/dist/utils/getSingularPatch.js.map +1 -0
  366. package/dist/utils/getThemes.d.ts +7 -0
  367. package/dist/utils/getThemes.d.ts.map +1 -0
  368. package/dist/utils/getThemes.js +16 -0
  369. package/dist/utils/getThemes.js.map +1 -0
  370. package/dist/utils/getTotalLineCountFromHunks.d.ts +7 -0
  371. package/dist/utils/getTotalLineCountFromHunks.d.ts.map +1 -0
  372. package/dist/utils/getTotalLineCountFromHunks.js +10 -0
  373. package/dist/utils/getTotalLineCountFromHunks.js.map +1 -0
  374. package/dist/utils/hast_utils.d.ts +31 -0
  375. package/dist/utils/hast_utils.d.ts.map +1 -0
  376. package/dist/utils/hast_utils.js +42 -0
  377. package/dist/utils/hast_utils.js.map +1 -0
  378. package/dist/utils/isWorkerContext.d.ts +5 -0
  379. package/dist/utils/isWorkerContext.d.ts.map +1 -0
  380. package/dist/utils/isWorkerContext.js +8 -0
  381. package/dist/utils/isWorkerContext.js.map +1 -0
  382. package/dist/utils/parseDiffDecorations.d.ts +31 -0
  383. package/dist/utils/parseDiffDecorations.d.ts.map +1 -0
  384. package/dist/utils/parseDiffDecorations.js +34 -0
  385. package/dist/utils/parseDiffDecorations.js.map +1 -0
  386. package/dist/utils/parseDiffFromFile.d.ts +14 -0
  387. package/dist/utils/parseDiffFromFile.d.ts.map +1 -0
  388. package/dist/utils/parseDiffFromFile.js +23 -0
  389. package/dist/utils/parseDiffFromFile.js.map +1 -0
  390. package/dist/utils/parseLineType.d.ts +11 -0
  391. package/dist/utils/parseLineType.d.ts.map +1 -0
  392. package/dist/utils/parseLineType.js +16 -0
  393. package/dist/utils/parseLineType.js.map +1 -0
  394. package/dist/utils/parsePatchFiles.d.ts +16 -0
  395. package/dist/utils/parsePatchFiles.d.ts.map +1 -0
  396. package/dist/utils/parsePatchFiles.js +204 -0
  397. package/dist/utils/parsePatchFiles.js.map +1 -0
  398. package/dist/utils/prerenderHTMLIfNecessary.d.ts +5 -0
  399. package/dist/utils/prerenderHTMLIfNecessary.d.ts.map +1 -0
  400. package/dist/utils/prerenderHTMLIfNecessary.js +10 -0
  401. package/dist/utils/prerenderHTMLIfNecessary.js.map +1 -0
  402. package/dist/utils/processLine.d.ts +8 -0
  403. package/dist/utils/processLine.d.ts.map +1 -0
  404. package/dist/utils/processLine.js +42 -0
  405. package/dist/utils/processLine.js.map +1 -0
  406. package/dist/utils/renderDiffWithHighlighter.d.ts +7 -0
  407. package/dist/utils/renderDiffWithHighlighter.d.ts.map +1 -0
  408. package/dist/utils/renderDiffWithHighlighter.js +323 -0
  409. package/dist/utils/renderDiffWithHighlighter.js.map +1 -0
  410. package/dist/utils/renderFileWithHighlighter.d.ts +10 -0
  411. package/dist/utils/renderFileWithHighlighter.d.ts.map +1 -0
  412. package/dist/utils/renderFileWithHighlighter.js +52 -0
  413. package/dist/utils/renderFileWithHighlighter.js.map +1 -0
  414. package/dist/utils/setLanguageOverride.d.ts +7 -0
  415. package/dist/utils/setLanguageOverride.d.ts.map +1 -0
  416. package/dist/utils/setLanguageOverride.js +11 -0
  417. package/dist/utils/setLanguageOverride.js.map +1 -0
  418. package/dist/utils/setWrapperNodeProps.d.ts +20 -0
  419. package/dist/utils/setWrapperNodeProps.d.ts.map +1 -0
  420. package/dist/utils/setWrapperNodeProps.js +29 -0
  421. package/dist/utils/setWrapperNodeProps.js.map +1 -0
  422. package/dist/worker/WorkerPoolManager.d.ts +72 -0
  423. package/dist/worker/WorkerPoolManager.d.ts.map +1 -0
  424. package/dist/worker/WorkerPoolManager.js +421 -0
  425. package/dist/worker/WorkerPoolManager.js.map +1 -0
  426. package/dist/worker/getOrCreateWorkerPoolSingleton.d.ts +16 -0
  427. package/dist/worker/getOrCreateWorkerPoolSingleton.d.ts.map +1 -0
  428. package/dist/worker/getOrCreateWorkerPoolSingleton.js +20 -0
  429. package/dist/worker/getOrCreateWorkerPoolSingleton.js.map +1 -0
  430. package/dist/worker/index.d.ts +4 -0
  431. package/dist/worker/index.js +4 -0
  432. package/dist/worker/types.d.ts +140 -0
  433. package/dist/worker/types.d.ts.map +1 -0
  434. package/dist/worker/types.js +0 -0
  435. package/dist/worker/worker-portable.d.ts +1 -0
  436. package/dist/worker/worker-portable.js +14872 -0
  437. package/dist/worker/worker-portable.js.map +1 -0
  438. package/dist/worker/worker.d.ts +1 -0
  439. package/dist/worker/worker.js +1061 -0
  440. package/dist/worker/worker.js.map +1 -0
  441. package/package.json +76 -0
@@ -0,0 +1,21 @@
1
+ import { createHastElement } from "./hast_utils.js";
2
+
3
+ //#region src/utils/createAnnotationElement.ts
4
+ function createAnnotationElement(span) {
5
+ return createHastElement({
6
+ tagName: "div",
7
+ children: [createHastElement({
8
+ tagName: "div",
9
+ children: span.annotations?.map((slotId) => createHastElement({
10
+ tagName: "slot",
11
+ properties: { name: slotId }
12
+ })),
13
+ properties: { "data-annotation-content": "" }
14
+ })],
15
+ properties: { "data-line-annotation": `${span.hunkIndex},${span.lineIndex}` }
16
+ });
17
+ }
18
+
19
+ //#endregion
20
+ export { createAnnotationElement };
21
+ //# sourceMappingURL=createAnnotationElement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createAnnotationElement.js","names":[],"sources":["../../src/utils/createAnnotationElement.ts"],"sourcesContent":["import type { Element as HASTElement } from 'hast';\n\nimport type { AnnotationSpan } from '../types';\nimport { createHastElement } from './hast_utils';\n\nexport function createAnnotationElement(span: AnnotationSpan): HASTElement {\n return createHastElement({\n tagName: 'div',\n children: [\n createHastElement({\n tagName: 'div',\n children: span.annotations?.map((slotId) =>\n createHastElement({ tagName: 'slot', properties: { name: slotId } })\n ),\n properties: { 'data-annotation-content': '' },\n }),\n ],\n properties: {\n 'data-line-annotation': `${span.hunkIndex},${span.lineIndex}`,\n },\n });\n}\n"],"mappings":";;;AAKA,SAAgB,wBAAwB,MAAmC;AACzE,QAAO,kBAAkB;EACvB,SAAS;EACT,UAAU,CACR,kBAAkB;GAChB,SAAS;GACT,UAAU,KAAK,aAAa,KAAK,WAC/B,kBAAkB;IAAE,SAAS;IAAQ,YAAY,EAAE,MAAM,QAAQ;IAAE,CAAC,CACrE;GACD,YAAY,EAAE,2BAA2B,IAAI;GAC9C,CAAC,CACH;EACD,YAAY,EACV,wBAAwB,GAAG,KAAK,UAAU,GAAG,KAAK,aACnD;EACF,CAAC"}
@@ -0,0 +1,5 @@
1
+ //#region src/utils/createAnnotationWrapperNode.d.ts
2
+ declare function createAnnotationWrapperNode(slot: string): HTMLElement;
3
+ //#endregion
4
+ export { createAnnotationWrapperNode };
5
+ //# sourceMappingURL=createAnnotationWrapperNode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createAnnotationWrapperNode.d.ts","names":[],"sources":["../../src/utils/createAnnotationWrapperNode.ts"],"sourcesContent":[],"mappings":";iBAAgB,2BAAA,gBAA2C"}
@@ -0,0 +1,12 @@
1
+ //#region src/utils/createAnnotationWrapperNode.ts
2
+ function createAnnotationWrapperNode(slot) {
3
+ const wrapper = document.createElement("div");
4
+ wrapper.dataset.annotationSlot = "";
5
+ wrapper.slot = slot;
6
+ wrapper.style.whiteSpace = "normal";
7
+ return wrapper;
8
+ }
9
+
10
+ //#endregion
11
+ export { createAnnotationWrapperNode };
12
+ //# sourceMappingURL=createAnnotationWrapperNode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createAnnotationWrapperNode.js","names":[],"sources":["../../src/utils/createAnnotationWrapperNode.ts"],"sourcesContent":["export function createAnnotationWrapperNode(slot: string): HTMLElement {\n const wrapper = document.createElement('div');\n wrapper.dataset.annotationSlot = '';\n wrapper.slot = slot;\n wrapper.style.whiteSpace = 'normal';\n return wrapper;\n}\n"],"mappings":";AAAA,SAAgB,4BAA4B,MAA2B;CACrE,MAAM,UAAU,SAAS,cAAc,MAAM;AAC7C,SAAQ,QAAQ,iBAAiB;AACjC,SAAQ,OAAO;AACf,SAAQ,MAAM,aAAa;AAC3B,QAAO"}
@@ -0,0 +1,12 @@
1
+ //#region src/utils/createCodeNode.d.ts
2
+ interface CreateCodeNodeProps {
3
+ pre?: HTMLPreElement;
4
+ columnType?: "additions" | "deletions" | "unified";
5
+ }
6
+ declare function createCodeNode({
7
+ pre,
8
+ columnType
9
+ }?: CreateCodeNodeProps): HTMLElement;
10
+ //#endregion
11
+ export { createCodeNode };
12
+ //# sourceMappingURL=createCodeNode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createCodeNode.d.ts","names":[],"sources":["../../src/utils/createCodeNode.ts"],"sourcesContent":[],"mappings":";UAAU,mBAAA;KAAA,CAAA,EACF,cADE;EAKV,UAAgB,CAAA,EAAA,WAAA,GAAA,WAAA,GAAA,SAAA;;AAEd,iBAFc,cAAA,CAEd;EAAA,GAAA;EAAA;AAAA,CAAA,CAAA,EACC,mBADD,CAAA,EAC4B,WAD5B"}
@@ -0,0 +1,12 @@
1
+ //#region src/utils/createCodeNode.ts
2
+ function createCodeNode({ pre, columnType } = {}) {
3
+ const code = document.createElement("code");
4
+ code.dataset.code = "";
5
+ if (columnType != null) code.dataset[columnType] = "";
6
+ pre?.appendChild(code);
7
+ return code;
8
+ }
9
+
10
+ //#endregion
11
+ export { createCodeNode };
12
+ //# sourceMappingURL=createCodeNode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createCodeNode.js","names":[],"sources":["../../src/utils/createCodeNode.ts"],"sourcesContent":["interface CreateCodeNodeProps {\n pre?: HTMLPreElement;\n columnType?: 'additions' | 'deletions' | 'unified';\n}\n\nexport function createCodeNode({\n pre,\n columnType,\n}: CreateCodeNodeProps = {}): HTMLElement {\n const code = document.createElement('code');\n code.dataset.code = '';\n if (columnType != null) {\n code.dataset[columnType] = '';\n }\n pre?.appendChild(code);\n return code;\n}\n"],"mappings":";AAKA,SAAgB,eAAe,EAC7B,KACA,eACuB,EAAE,EAAe;CACxC,MAAM,OAAO,SAAS,cAAc,OAAO;AAC3C,MAAK,QAAQ,OAAO;AACpB,KAAI,cAAc,KAChB,MAAK,QAAQ,cAAc;AAE7B,MAAK,YAAY,KAAK;AACtB,QAAO"}
@@ -0,0 +1,7 @@
1
+ import { Element } from "hast";
2
+
3
+ //#region src/utils/createEmptyRowBuffer.d.ts
4
+ declare function createEmptyRowBuffer(size: number): Element;
5
+ //#endregion
6
+ export { createEmptyRowBuffer };
7
+ //# sourceMappingURL=createEmptyRowBuffer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createEmptyRowBuffer.d.ts","names":[],"sources":["../../src/utils/createEmptyRowBuffer.ts"],"sourcesContent":[],"mappings":";;;iBAIgB,oBAAA,gBAAoC"}
@@ -0,0 +1,16 @@
1
+ import { createHastElement } from "./hast_utils.js";
2
+
3
+ //#region src/utils/createEmptyRowBuffer.ts
4
+ function createEmptyRowBuffer(size) {
5
+ return createHastElement({
6
+ tagName: "div",
7
+ properties: {
8
+ "data-buffer": "",
9
+ style: `grid-row: span ${size};min-height:calc(${size} * 1lh)`
10
+ }
11
+ });
12
+ }
13
+
14
+ //#endregion
15
+ export { createEmptyRowBuffer };
16
+ //# sourceMappingURL=createEmptyRowBuffer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createEmptyRowBuffer.js","names":[],"sources":["../../src/utils/createEmptyRowBuffer.ts"],"sourcesContent":["import type { Element as HASTElement } from 'hast';\n\nimport { createHastElement } from './hast_utils';\n\nexport function createEmptyRowBuffer(size: number): HASTElement {\n return createHastElement({\n tagName: 'div',\n properties: {\n 'data-buffer': '',\n style: `grid-row: span ${size};min-height:calc(${size} * 1lh)`,\n },\n });\n}\n"],"mappings":";;;AAIA,SAAgB,qBAAqB,MAA2B;AAC9D,QAAO,kBAAkB;EACvB,SAAS;EACT,YAAY;GACV,eAAe;GACf,OAAO,kBAAkB,KAAK,mBAAmB,KAAK;GACvD;EACF,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { FileContents, FileDiffMetadata, ThemeTypes } from "../types.js";
2
+ import { Element } from "hast";
3
+
4
+ //#region src/utils/createFileHeaderElement.d.ts
5
+ interface CreateFileHeaderElementProps {
6
+ fileOrDiff: FileDiffMetadata | FileContents;
7
+ themeStyles: string;
8
+ themeType: ThemeTypes;
9
+ }
10
+ declare function createFileHeaderElement({
11
+ fileOrDiff,
12
+ themeStyles,
13
+ themeType
14
+ }: CreateFileHeaderElementProps): Element;
15
+ //#endregion
16
+ export { CreateFileHeaderElementProps, createFileHeaderElement };
17
+ //# sourceMappingURL=createFileHeaderElement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createFileHeaderElement.d.ts","names":[],"sources":["../../src/utils/createFileHeaderElement.ts"],"sourcesContent":[],"mappings":";;;;UAgBiB,4BAAA;cACH,mBAAmB;EADjC,WAAiB,EAAA,MAAA;EACH,SAAA,EAED,UAFC;;AAED,iBAGG,uBAAA,CAHH;EAAA,UAAA;EAAA,WAAA;EAAA;AAAA,CAAA,EAOV,4BAPU,CAAA,EAOqB,OAPrB"}
@@ -0,0 +1,84 @@
1
+ import { HEADER_METADATA_SLOT_ID } from "../constants.js";
2
+ import { createHastElement, createIconElement, createTextNodeElement } from "./hast_utils.js";
3
+ import { getIconForType } from "./getIconForType.js";
4
+
5
+ //#region src/utils/createFileHeaderElement.ts
6
+ function createFileHeaderElement({ fileOrDiff, themeStyles, themeType }) {
7
+ const fileDiff = "type" in fileOrDiff ? fileOrDiff : void 0;
8
+ const properties = {
9
+ "data-diffs-header": "",
10
+ "data-change-type": fileDiff?.type,
11
+ "data-theme-type": themeType !== "system" ? themeType : void 0,
12
+ style: themeStyles
13
+ };
14
+ return createHastElement({
15
+ tagName: "div",
16
+ children: [createHeaderElement({
17
+ name: fileOrDiff.name,
18
+ prevName: "prevName" in fileOrDiff ? fileOrDiff.prevName : void 0,
19
+ iconType: fileDiff?.type ?? "file"
20
+ }), createMetadataElement(fileDiff)],
21
+ properties
22
+ });
23
+ }
24
+ function createHeaderElement({ name, prevName, iconType }) {
25
+ const children = [createIconElement({
26
+ name: getIconForType(iconType),
27
+ properties: { "data-change-icon": iconType }
28
+ })];
29
+ if (prevName != null) {
30
+ children.push(createHastElement({
31
+ tagName: "div",
32
+ children: [createTextNodeElement(prevName)],
33
+ properties: { "data-prev-name": "" }
34
+ }));
35
+ children.push(createIconElement({
36
+ name: "diffs-icon-arrow-right-short",
37
+ properties: { "data-rename-icon": "" }
38
+ }));
39
+ }
40
+ children.push(createHastElement({
41
+ tagName: "div",
42
+ children: [createTextNodeElement(name)],
43
+ properties: { "data-title": "" }
44
+ }));
45
+ return createHastElement({
46
+ tagName: "div",
47
+ children,
48
+ properties: { "data-header-content": "" }
49
+ });
50
+ }
51
+ function createMetadataElement(fileDiff) {
52
+ const children = [];
53
+ if (fileDiff != null) {
54
+ let additions = 0;
55
+ let deletions = 0;
56
+ for (const hunk of fileDiff.hunks) {
57
+ additions += hunk.additionLines;
58
+ deletions += hunk.deletionLines;
59
+ }
60
+ if (deletions > 0 || additions === 0) children.push(createHastElement({
61
+ tagName: "span",
62
+ children: [createTextNodeElement(`-${deletions}`)],
63
+ properties: { "data-deletions-count": "" }
64
+ }));
65
+ if (additions > 0 || deletions === 0) children.push(createHastElement({
66
+ tagName: "span",
67
+ children: [createTextNodeElement(`+${additions}`)],
68
+ properties: { "data-additions-count": "" }
69
+ }));
70
+ }
71
+ children.push(createHastElement({
72
+ tagName: "slot",
73
+ properties: { name: HEADER_METADATA_SLOT_ID }
74
+ }));
75
+ return createHastElement({
76
+ tagName: "div",
77
+ children,
78
+ properties: { "data-metadata": "" }
79
+ });
80
+ }
81
+
82
+ //#endregion
83
+ export { createFileHeaderElement };
84
+ //# sourceMappingURL=createFileHeaderElement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createFileHeaderElement.js","names":["properties: Properties","children: ElementContent[]"],"sources":["../../src/utils/createFileHeaderElement.ts"],"sourcesContent":["import type { ElementContent, Element as HASTElement, Properties } from 'hast';\n\nimport { HEADER_METADATA_SLOT_ID } from '../constants';\nimport type {\n ChangeTypes,\n FileContents,\n FileDiffMetadata,\n ThemeTypes,\n} from '../types';\nimport { getIconForType } from './getIconForType';\nimport {\n createHastElement,\n createIconElement,\n createTextNodeElement,\n} from './hast_utils';\n\nexport interface CreateFileHeaderElementProps {\n fileOrDiff: FileDiffMetadata | FileContents;\n themeStyles: string;\n themeType: ThemeTypes;\n}\n\nexport function createFileHeaderElement({\n fileOrDiff,\n themeStyles,\n themeType,\n}: CreateFileHeaderElementProps): HASTElement {\n const fileDiff = 'type' in fileOrDiff ? fileOrDiff : undefined;\n const properties: Properties = {\n 'data-diffs-header': '',\n 'data-change-type': fileDiff?.type,\n 'data-theme-type': themeType !== 'system' ? themeType : undefined,\n style: themeStyles,\n };\n\n return createHastElement({\n tagName: 'div',\n children: [\n createHeaderElement({\n name: fileOrDiff.name,\n prevName: 'prevName' in fileOrDiff ? fileOrDiff.prevName : undefined,\n iconType: fileDiff?.type ?? 'file',\n }),\n createMetadataElement(fileDiff),\n ],\n properties,\n });\n}\n\ninterface CreateHeaderElementOptions {\n name: string;\n prevName?: string;\n iconType: ChangeTypes | 'file';\n}\n\nfunction createHeaderElement({\n name,\n prevName,\n iconType,\n}: CreateHeaderElementOptions): HASTElement {\n const children: ElementContent[] = [\n createIconElement({\n name: getIconForType(iconType),\n properties: { 'data-change-icon': iconType },\n }),\n ];\n if (prevName != null) {\n children.push(\n createHastElement({\n tagName: 'div',\n children: [createTextNodeElement(prevName)],\n properties: {\n 'data-prev-name': '',\n },\n })\n );\n children.push(\n createIconElement({\n name: 'diffs-icon-arrow-right-short',\n properties: {\n 'data-rename-icon': '',\n },\n })\n );\n }\n children.push(\n createHastElement({\n tagName: 'div',\n children: [createTextNodeElement(name)],\n properties: { 'data-title': '' },\n })\n );\n return createHastElement({\n tagName: 'div',\n children,\n properties: { 'data-header-content': '' },\n });\n}\n\nfunction createMetadataElement(\n fileDiff: FileDiffMetadata | undefined\n): HASTElement {\n const children: ElementContent[] = [];\n if (fileDiff != null) {\n let additions = 0;\n let deletions = 0;\n for (const hunk of fileDiff.hunks) {\n additions += hunk.additionLines;\n deletions += hunk.deletionLines;\n }\n if (deletions > 0 || additions === 0) {\n children.push(\n createHastElement({\n tagName: 'span',\n children: [createTextNodeElement(`-${deletions}`)],\n properties: { 'data-deletions-count': '' },\n })\n );\n }\n if (additions > 0 || deletions === 0) {\n children.push(\n createHastElement({\n tagName: 'span',\n children: [createTextNodeElement(`+${additions}`)],\n properties: { 'data-additions-count': '' },\n })\n );\n }\n }\n children.push(\n createHastElement({\n tagName: 'slot',\n properties: { name: HEADER_METADATA_SLOT_ID },\n })\n );\n return createHastElement({\n tagName: 'div',\n children,\n properties: { 'data-metadata': '' },\n });\n}\n"],"mappings":";;;;;AAsBA,SAAgB,wBAAwB,EACtC,YACA,aACA,aAC4C;CAC5C,MAAM,WAAW,UAAU,aAAa,aAAa;CACrD,MAAMA,aAAyB;EAC7B,qBAAqB;EACrB,oBAAoB,UAAU;EAC9B,mBAAmB,cAAc,WAAW,YAAY;EACxD,OAAO;EACR;AAED,QAAO,kBAAkB;EACvB,SAAS;EACT,UAAU,CACR,oBAAoB;GAClB,MAAM,WAAW;GACjB,UAAU,cAAc,aAAa,WAAW,WAAW;GAC3D,UAAU,UAAU,QAAQ;GAC7B,CAAC,EACF,sBAAsB,SAAS,CAChC;EACD;EACD,CAAC;;AASJ,SAAS,oBAAoB,EAC3B,MACA,UACA,YAC0C;CAC1C,MAAMC,WAA6B,CACjC,kBAAkB;EAChB,MAAM,eAAe,SAAS;EAC9B,YAAY,EAAE,oBAAoB,UAAU;EAC7C,CAAC,CACH;AACD,KAAI,YAAY,MAAM;AACpB,WAAS,KACP,kBAAkB;GAChB,SAAS;GACT,UAAU,CAAC,sBAAsB,SAAS,CAAC;GAC3C,YAAY,EACV,kBAAkB,IACnB;GACF,CAAC,CACH;AACD,WAAS,KACP,kBAAkB;GAChB,MAAM;GACN,YAAY,EACV,oBAAoB,IACrB;GACF,CAAC,CACH;;AAEH,UAAS,KACP,kBAAkB;EAChB,SAAS;EACT,UAAU,CAAC,sBAAsB,KAAK,CAAC;EACvC,YAAY,EAAE,cAAc,IAAI;EACjC,CAAC,CACH;AACD,QAAO,kBAAkB;EACvB,SAAS;EACT;EACA,YAAY,EAAE,uBAAuB,IAAI;EAC1C,CAAC;;AAGJ,SAAS,sBACP,UACa;CACb,MAAMA,WAA6B,EAAE;AACrC,KAAI,YAAY,MAAM;EACpB,IAAI,YAAY;EAChB,IAAI,YAAY;AAChB,OAAK,MAAM,QAAQ,SAAS,OAAO;AACjC,gBAAa,KAAK;AAClB,gBAAa,KAAK;;AAEpB,MAAI,YAAY,KAAK,cAAc,EACjC,UAAS,KACP,kBAAkB;GAChB,SAAS;GACT,UAAU,CAAC,sBAAsB,IAAI,YAAY,CAAC;GAClD,YAAY,EAAE,wBAAwB,IAAI;GAC3C,CAAC,CACH;AAEH,MAAI,YAAY,KAAK,cAAc,EACjC,UAAS,KACP,kBAAkB;GAChB,SAAS;GACT,UAAU,CAAC,sBAAsB,IAAI,YAAY,CAAC;GAClD,YAAY,EAAE,wBAAwB,IAAI;GAC3C,CAAC,CACH;;AAGL,UAAS,KACP,kBAAkB;EAChB,SAAS;EACT,YAAY,EAAE,MAAM,yBAAyB;EAC9C,CAAC,CACH;AACD,QAAO,kBAAkB;EACvB,SAAS;EACT;EACA,YAAY,EAAE,iBAAiB,IAAI;EACpC,CAAC"}
@@ -0,0 +1,5 @@
1
+ //#region src/utils/createHoverContentNode.d.ts
2
+ declare function createHoverContentNode(): HTMLElement;
3
+ //#endregion
4
+ export { createHoverContentNode };
5
+ //# sourceMappingURL=createHoverContentNode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createHoverContentNode.d.ts","names":[],"sources":["../../src/utils/createHoverContentNode.ts"],"sourcesContent":[],"mappings":";iBAAgB,sBAAA,CAAA,GAA0B"}
@@ -0,0 +1,15 @@
1
+ //#region src/utils/createHoverContentNode.ts
2
+ function createHoverContentNode() {
3
+ const hoverContent = document.createElement("div");
4
+ hoverContent.slot = "hover-slot";
5
+ hoverContent.style.position = "absolute";
6
+ hoverContent.style.top = "0";
7
+ hoverContent.style.bottom = "0";
8
+ hoverContent.style.textAlign = "center";
9
+ hoverContent.style.whiteSpace = "normal";
10
+ return hoverContent;
11
+ }
12
+
13
+ //#endregion
14
+ export { createHoverContentNode };
15
+ //# sourceMappingURL=createHoverContentNode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createHoverContentNode.js","names":[],"sources":["../../src/utils/createHoverContentNode.ts"],"sourcesContent":["export function createHoverContentNode(): HTMLElement {\n const hoverContent = document.createElement('div');\n hoverContent.slot = 'hover-slot';\n hoverContent.style.position = 'absolute';\n hoverContent.style.top = '0';\n hoverContent.style.bottom = '0';\n hoverContent.style.textAlign = 'center';\n hoverContent.style.whiteSpace = 'normal';\n return hoverContent;\n}\n"],"mappings":";AAAA,SAAgB,yBAAsC;CACpD,MAAM,eAAe,SAAS,cAAc,MAAM;AAClD,cAAa,OAAO;AACpB,cAAa,MAAM,WAAW;AAC9B,cAAa,MAAM,MAAM;AACzB,cAAa,MAAM,SAAS;AAC5B,cAAa,MAAM,YAAY;AAC/B,cAAa,MAAM,aAAa;AAChC,QAAO"}
@@ -0,0 +1,7 @@
1
+ import { Element } from "hast";
2
+
3
+ //#region src/utils/createNoNewlineElement.d.ts
4
+ declare function createNoNewlineElement(type: "context" | "change-addition" | "change-deletion"): Element;
5
+ //#endregion
6
+ export { createNoNewlineElement };
7
+ //# sourceMappingURL=createNoNewlineElement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createNoNewlineElement.d.ts","names":[],"sources":["../../src/utils/createNoNewlineElement.ts"],"sourcesContent":[],"mappings":";;;iBAIgB,sBAAA,2DAEb"}
@@ -0,0 +1,24 @@
1
+ import { createHastElement, createTextNodeElement } from "./hast_utils.js";
2
+
3
+ //#region src/utils/createNoNewlineElement.ts
4
+ function createNoNewlineElement(type) {
5
+ return createHastElement({
6
+ tagName: "div",
7
+ children: [createHastElement({
8
+ tagName: "span",
9
+ properties: { "data-column-number": "" }
10
+ }), createHastElement({
11
+ tagName: "span",
12
+ children: [createTextNodeElement("No newline at end of file")],
13
+ properties: { "data-column-content": "" }
14
+ })],
15
+ properties: {
16
+ "data-no-newline": "",
17
+ "data-line-type": type
18
+ }
19
+ });
20
+ }
21
+
22
+ //#endregion
23
+ export { createNoNewlineElement };
24
+ //# sourceMappingURL=createNoNewlineElement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createNoNewlineElement.js","names":[],"sources":["../../src/utils/createNoNewlineElement.ts"],"sourcesContent":["import type { Element as HASTElement } from 'hast';\n\nimport { createHastElement, createTextNodeElement } from './hast_utils';\n\nexport function createNoNewlineElement(\n type: 'context' | 'change-addition' | 'change-deletion'\n): HASTElement {\n return createHastElement({\n tagName: 'div',\n children: [\n createHastElement({\n tagName: 'span',\n properties: { 'data-column-number': '' },\n }),\n createHastElement({\n tagName: 'span',\n children: [createTextNodeElement('No newline at end of file')],\n properties: { 'data-column-content': '' },\n }),\n ],\n properties: { 'data-no-newline': '', 'data-line-type': type },\n });\n}\n"],"mappings":";;;AAIA,SAAgB,uBACd,MACa;AACb,QAAO,kBAAkB;EACvB,SAAS;EACT,UAAU,CACR,kBAAkB;GAChB,SAAS;GACT,YAAY,EAAE,sBAAsB,IAAI;GACzC,CAAC,EACF,kBAAkB;GAChB,SAAS;GACT,UAAU,CAAC,sBAAsB,4BAA4B,CAAC;GAC9D,YAAY,EAAE,uBAAuB,IAAI;GAC1C,CAAC,CACH;EACD,YAAY;GAAE,mBAAmB;GAAI,kBAAkB;GAAM;EAC9D,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { PrePropertiesConfig } from "../types.js";
2
+ import { Element, Properties } from "hast";
3
+
4
+ //#region src/utils/createPreElement.d.ts
5
+ declare function createPreElement(options: PrePropertiesConfig): Element;
6
+ declare function createPreWrapperProperties({
7
+ diffIndicators,
8
+ disableBackground,
9
+ disableLineNumbers,
10
+ overflow,
11
+ split,
12
+ themeType,
13
+ themeStyles,
14
+ totalLines
15
+ }: PrePropertiesConfig): Properties;
16
+ //#endregion
17
+ export { createPreElement, createPreWrapperProperties };
18
+ //# sourceMappingURL=createPreElement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createPreElement.d.ts","names":[],"sources":["../../src/utils/createPreElement.ts"],"sourcesContent":[],"mappings":";;;;iBAKgB,gBAAA,UAA0B,sBAAsB;iBAOhD,0BAAA;;;;;;;;;GASb,sBAAsB"}
@@ -0,0 +1,28 @@
1
+ import { createHastElement } from "./hast_utils.js";
2
+
3
+ //#region src/utils/createPreElement.ts
4
+ function createPreElement(options) {
5
+ return createHastElement({
6
+ tagName: "pre",
7
+ properties: createPreWrapperProperties(options)
8
+ });
9
+ }
10
+ function createPreWrapperProperties({ diffIndicators, disableBackground, disableLineNumbers, overflow, split, themeType, themeStyles, totalLines }) {
11
+ const properties = {
12
+ "data-diffs": "",
13
+ "data-type": split ? "split" : "file",
14
+ "data-overflow": overflow,
15
+ "data-disable-line-numbers": disableLineNumbers ? "" : void 0,
16
+ "data-background": !disableBackground ? "" : void 0,
17
+ "data-indicators": diffIndicators === "bars" || diffIndicators === "classic" ? diffIndicators : void 0,
18
+ "data-theme-type": themeType !== "system" ? themeType : void 0,
19
+ style: themeStyles,
20
+ tabIndex: 0
21
+ };
22
+ properties.style += `--diffs-min-number-column-width-default:${`${totalLines}`.length}ch;`;
23
+ return properties;
24
+ }
25
+
26
+ //#endregion
27
+ export { createPreElement, createPreWrapperProperties };
28
+ //# sourceMappingURL=createPreElement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createPreElement.js","names":["properties: Properties"],"sources":["../../src/utils/createPreElement.ts"],"sourcesContent":["import type { Element as HASTElement, Properties } from 'hast';\n\nimport type { PrePropertiesConfig } from '../types';\nimport { createHastElement } from './hast_utils';\n\nexport function createPreElement(options: PrePropertiesConfig): HASTElement {\n return createHastElement({\n tagName: 'pre',\n properties: createPreWrapperProperties(options),\n });\n}\n\nexport function createPreWrapperProperties({\n diffIndicators,\n disableBackground,\n disableLineNumbers,\n overflow,\n split,\n themeType,\n themeStyles,\n totalLines,\n}: PrePropertiesConfig): Properties {\n const properties: Properties = {\n 'data-diffs': '',\n 'data-type': split ? 'split' : 'file',\n 'data-overflow': overflow,\n 'data-disable-line-numbers': disableLineNumbers ? '' : undefined,\n 'data-background': !disableBackground ? '' : undefined,\n 'data-indicators':\n diffIndicators === 'bars' || diffIndicators === 'classic'\n ? diffIndicators\n : undefined,\n 'data-theme-type': themeType !== 'system' ? themeType : undefined,\n // NOTE(amadeus): Alex, here we would probably set a class property\n // instead, when that's working and supported\n style: themeStyles,\n tabIndex: 0,\n };\n properties.style += `--diffs-min-number-column-width-default:${`${totalLines}`.length}ch;`;\n\n return properties;\n}\n"],"mappings":";;;AAKA,SAAgB,iBAAiB,SAA2C;AAC1E,QAAO,kBAAkB;EACvB,SAAS;EACT,YAAY,2BAA2B,QAAQ;EAChD,CAAC;;AAGJ,SAAgB,2BAA2B,EACzC,gBACA,mBACA,oBACA,UACA,OACA,WACA,aACA,cACkC;CAClC,MAAMA,aAAyB;EAC7B,cAAc;EACd,aAAa,QAAQ,UAAU;EAC/B,iBAAiB;EACjB,6BAA6B,qBAAqB,KAAK;EACvD,mBAAmB,CAAC,oBAAoB,KAAK;EAC7C,mBACE,mBAAmB,UAAU,mBAAmB,YAC5C,iBACA;EACN,mBAAmB,cAAc,WAAW,YAAY;EAGxD,OAAO;EACP,UAAU;EACX;AACD,YAAW,SAAS,2CAA2C,GAAG,aAAa,OAAO;AAEtF,QAAO"}
@@ -0,0 +1,8 @@
1
+ //#region src/utils/createRowNodes.d.ts
2
+ declare function createRowNodes(line: number): {
3
+ row: HTMLElement;
4
+ content: HTMLElement;
5
+ };
6
+ //#endregion
7
+ export { createRowNodes };
8
+ //# sourceMappingURL=createRowNodes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createRowNodes.d.ts","names":[],"sources":["../../src/utils/createRowNodes.ts"],"sourcesContent":[],"mappings":";iBAAgB,cAAA;EAAhB,GAAgB,EACT,WADS;WAEL"}
@@ -0,0 +1,20 @@
1
+ //#region src/utils/createRowNodes.ts
2
+ function createRowNodes(line) {
3
+ const row = document.createElement("div");
4
+ row.dataset.line = `${line}`;
5
+ const lineColumn = document.createElement("div");
6
+ lineColumn.dataset.columnNumber = "";
7
+ lineColumn.textContent = `${line}`;
8
+ const content = document.createElement("div");
9
+ content.dataset.columnContent = "";
10
+ row.appendChild(lineColumn);
11
+ row.appendChild(content);
12
+ return {
13
+ row,
14
+ content
15
+ };
16
+ }
17
+
18
+ //#endregion
19
+ export { createRowNodes };
20
+ //# sourceMappingURL=createRowNodes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createRowNodes.js","names":[],"sources":["../../src/utils/createRowNodes.ts"],"sourcesContent":["export function createRowNodes(line: number): {\n row: HTMLElement;\n content: HTMLElement;\n} {\n const row = document.createElement('div');\n row.dataset.line = `${line}`;\n\n const lineColumn = document.createElement('div');\n lineColumn.dataset.columnNumber = '';\n lineColumn.textContent = `${line}`;\n\n const content = document.createElement('div');\n content.dataset.columnContent = '';\n\n row.appendChild(lineColumn);\n row.appendChild(content);\n return { row, content };\n}\n"],"mappings":";AAAA,SAAgB,eAAe,MAG7B;CACA,MAAM,MAAM,SAAS,cAAc,MAAM;AACzC,KAAI,QAAQ,OAAO,GAAG;CAEtB,MAAM,aAAa,SAAS,cAAc,MAAM;AAChD,YAAW,QAAQ,eAAe;AAClC,YAAW,cAAc,GAAG;CAE5B,MAAM,UAAU,SAAS,cAAc,MAAM;AAC7C,SAAQ,QAAQ,gBAAgB;AAEhC,KAAI,YAAY,WAAW;AAC3B,KAAI,YAAY,QAAQ;AACxB,QAAO;EAAE;EAAK;EAAS"}
@@ -0,0 +1,25 @@
1
+ import { HunkSeparators } from "../types.js";
2
+ import { Element } from "hast";
3
+
4
+ //#region src/utils/createSeparator.d.ts
5
+ interface CreateSeparatorProps {
6
+ type: HunkSeparators;
7
+ content?: string;
8
+ expandIndex?: number;
9
+ chunked?: boolean;
10
+ slotName?: string;
11
+ isFirstHunk: boolean;
12
+ isLastHunk: boolean;
13
+ }
14
+ declare function createSeparator({
15
+ type,
16
+ content,
17
+ expandIndex,
18
+ chunked,
19
+ slotName,
20
+ isFirstHunk,
21
+ isLastHunk
22
+ }: CreateSeparatorProps): Element;
23
+ //#endregion
24
+ export { createSeparator };
25
+ //# sourceMappingURL=createSeparator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createSeparator.d.ts","names":[],"sources":["../../src/utils/createSeparator.ts"],"sourcesContent":[],"mappings":";;;;UASU,oBAAA;QACF;EARiD,OAO/C,CAAA,EAAA,MAAA;EA4BV,WAAgB,CAAA,EAAA,MAAA;EACd,OAAA,CAAA,EAAA,OAAA;EACA,QAAA,CAAA,EAAA,MAAA;EACA,WAAA,EAAA,OAAA;EACA,UAAA,EAAA,OAAA;;AAEA,iBANc,eAAA,CAMd;EAAA,IAAA;EAAA,OAAA;EAAA,WAAA;EAAA,OAAA;EAAA,QAAA;EAAA,WAAA;EAAA;AAAA,CAAA,EAEC,oBAFD,CAAA,EAEwB,OAFxB"}
@@ -0,0 +1,69 @@
1
+ import { createHastElement, createIconElement, createTextNodeElement } from "./hast_utils.js";
2
+
3
+ //#region src/utils/createSeparator.ts
4
+ function createExpandButton(type) {
5
+ return createHastElement({
6
+ tagName: "div",
7
+ children: [createIconElement({
8
+ name: type === "both" ? "diffs-icon-expand-all" : "diffs-icon-expand",
9
+ properties: { "data-icon": "" }
10
+ })],
11
+ properties: {
12
+ "data-expand-button": "",
13
+ "data-expand-both": type === "both" ? "" : void 0,
14
+ "data-expand-up": type === "up" ? "" : void 0,
15
+ "data-expand-down": type === "down" ? "" : void 0
16
+ }
17
+ });
18
+ }
19
+ function createSeparator({ type, content, expandIndex, chunked = false, slotName, isFirstHunk, isLastHunk }) {
20
+ const children = [];
21
+ if (type === "metadata" && content != null) children.push(createHastElement({
22
+ tagName: "div",
23
+ children: [createTextNodeElement(content)],
24
+ properties: { "data-separator-wrapper": "" }
25
+ }));
26
+ if (type === "line-info" && content != null) {
27
+ const contentChildren = [];
28
+ if (expandIndex != null) if (!chunked) contentChildren.push(createExpandButton(!isFirstHunk && !isLastHunk ? "both" : isFirstHunk ? "down" : "up"));
29
+ else {
30
+ if (!isFirstHunk) contentChildren.push(createExpandButton("up"));
31
+ if (!isLastHunk) contentChildren.push(createExpandButton("down"));
32
+ }
33
+ contentChildren.push(createHastElement({
34
+ tagName: "div",
35
+ children: [createHastElement({
36
+ tagName: "span",
37
+ children: [createTextNodeElement(content)],
38
+ properties: { "data-unmodified-lines": "" }
39
+ })],
40
+ properties: { "data-separator-content": "" }
41
+ }));
42
+ children.push(createHastElement({
43
+ tagName: "div",
44
+ children: contentChildren,
45
+ properties: {
46
+ "data-separator-wrapper": "",
47
+ "data-separator-multi-button": contentChildren.length > 2 ? "" : void 0
48
+ }
49
+ }));
50
+ }
51
+ if (type === "custom" && slotName != null) children.push(createHastElement({
52
+ tagName: "slot",
53
+ properties: { name: slotName }
54
+ }));
55
+ return createHastElement({
56
+ tagName: "div",
57
+ children,
58
+ properties: {
59
+ "data-separator": children.length === 0 ? "" : type,
60
+ "data-expand-index": expandIndex,
61
+ "data-separator-first": isFirstHunk ? "" : void 0,
62
+ "data-separator-last": isLastHunk ? "" : void 0
63
+ }
64
+ });
65
+ }
66
+
67
+ //#endregion
68
+ export { createSeparator };
69
+ //# sourceMappingURL=createSeparator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createSeparator.js","names":["contentChildren: ElementContent[]"],"sources":["../../src/utils/createSeparator.ts"],"sourcesContent":["import type { ElementContent, Element as HASTElement } from 'hast';\n\nimport type { ExpansionDirections, HunkSeparators } from '../types';\nimport {\n createHastElement,\n createIconElement,\n createTextNodeElement,\n} from './hast_utils';\n\ninterface CreateSeparatorProps {\n type: HunkSeparators;\n content?: string;\n expandIndex?: number;\n chunked?: boolean;\n slotName?: string;\n isFirstHunk: boolean;\n isLastHunk: boolean;\n}\n\nfunction createExpandButton(type: ExpansionDirections) {\n return createHastElement({\n tagName: 'div',\n children: [\n createIconElement({\n name: type === 'both' ? 'diffs-icon-expand-all' : 'diffs-icon-expand',\n properties: { 'data-icon': '' },\n }),\n ],\n properties: {\n 'data-expand-button': '',\n 'data-expand-both': type === 'both' ? '' : undefined,\n 'data-expand-up': type === 'up' ? '' : undefined,\n 'data-expand-down': type === 'down' ? '' : undefined,\n },\n });\n}\n\nexport function createSeparator({\n type,\n content,\n expandIndex,\n chunked = false,\n slotName,\n isFirstHunk,\n isLastHunk,\n}: CreateSeparatorProps): HASTElement {\n const children = [];\n if (type === 'metadata' && content != null) {\n children.push(\n createHastElement({\n tagName: 'div',\n children: [createTextNodeElement(content)],\n properties: { 'data-separator-wrapper': '' },\n })\n );\n }\n if (type === 'line-info' && content != null) {\n const contentChildren: ElementContent[] = [];\n if (expandIndex != null) {\n if (!chunked) {\n contentChildren.push(\n createExpandButton(\n !isFirstHunk && !isLastHunk ? 'both' : isFirstHunk ? 'down' : 'up'\n )\n );\n } else {\n if (!isFirstHunk) {\n contentChildren.push(createExpandButton('up'));\n }\n if (!isLastHunk) {\n contentChildren.push(createExpandButton('down'));\n }\n }\n }\n contentChildren.push(\n createHastElement({\n tagName: 'div',\n children: [\n createHastElement({\n tagName: 'span',\n children: [createTextNodeElement(content)],\n properties: { 'data-unmodified-lines': '' },\n }),\n ],\n properties: { 'data-separator-content': '' },\n })\n );\n children.push(\n createHastElement({\n tagName: 'div',\n children: contentChildren,\n properties: {\n 'data-separator-wrapper': '',\n 'data-separator-multi-button':\n contentChildren.length > 2 ? '' : undefined,\n },\n })\n );\n }\n if (type === 'custom' && slotName != null) {\n children.push(\n createHastElement({\n tagName: 'slot',\n properties: { name: slotName },\n })\n );\n }\n return createHastElement({\n tagName: 'div',\n children,\n properties: {\n 'data-separator': children.length === 0 ? '' : type,\n 'data-expand-index': expandIndex,\n 'data-separator-first': isFirstHunk ? '' : undefined,\n 'data-separator-last': isLastHunk ? '' : undefined,\n },\n });\n}\n"],"mappings":";;;AAmBA,SAAS,mBAAmB,MAA2B;AACrD,QAAO,kBAAkB;EACvB,SAAS;EACT,UAAU,CACR,kBAAkB;GAChB,MAAM,SAAS,SAAS,0BAA0B;GAClD,YAAY,EAAE,aAAa,IAAI;GAChC,CAAC,CACH;EACD,YAAY;GACV,sBAAsB;GACtB,oBAAoB,SAAS,SAAS,KAAK;GAC3C,kBAAkB,SAAS,OAAO,KAAK;GACvC,oBAAoB,SAAS,SAAS,KAAK;GAC5C;EACF,CAAC;;AAGJ,SAAgB,gBAAgB,EAC9B,MACA,SACA,aACA,UAAU,OACV,UACA,aACA,cACoC;CACpC,MAAM,WAAW,EAAE;AACnB,KAAI,SAAS,cAAc,WAAW,KACpC,UAAS,KACP,kBAAkB;EAChB,SAAS;EACT,UAAU,CAAC,sBAAsB,QAAQ,CAAC;EAC1C,YAAY,EAAE,0BAA0B,IAAI;EAC7C,CAAC,CACH;AAEH,KAAI,SAAS,eAAe,WAAW,MAAM;EAC3C,MAAMA,kBAAoC,EAAE;AAC5C,MAAI,eAAe,KACjB,KAAI,CAAC,QACH,iBAAgB,KACd,mBACE,CAAC,eAAe,CAAC,aAAa,SAAS,cAAc,SAAS,KAC/D,CACF;OACI;AACL,OAAI,CAAC,YACH,iBAAgB,KAAK,mBAAmB,KAAK,CAAC;AAEhD,OAAI,CAAC,WACH,iBAAgB,KAAK,mBAAmB,OAAO,CAAC;;AAItD,kBAAgB,KACd,kBAAkB;GAChB,SAAS;GACT,UAAU,CACR,kBAAkB;IAChB,SAAS;IACT,UAAU,CAAC,sBAAsB,QAAQ,CAAC;IAC1C,YAAY,EAAE,yBAAyB,IAAI;IAC5C,CAAC,CACH;GACD,YAAY,EAAE,0BAA0B,IAAI;GAC7C,CAAC,CACH;AACD,WAAS,KACP,kBAAkB;GAChB,SAAS;GACT,UAAU;GACV,YAAY;IACV,0BAA0B;IAC1B,+BACE,gBAAgB,SAAS,IAAI,KAAK;IACrC;GACF,CAAC,CACH;;AAEH,KAAI,SAAS,YAAY,YAAY,KACnC,UAAS,KACP,kBAAkB;EAChB,SAAS;EACT,YAAY,EAAE,MAAM,UAAU;EAC/B,CAAC,CACH;AAEH,QAAO,kBAAkB;EACvB,SAAS;EACT;EACA,YAAY;GACV,kBAAkB,SAAS,WAAW,IAAI,KAAK;GAC/C,qBAAqB;GACrB,wBAAwB,cAAc,KAAK;GAC3C,uBAAuB,aAAa,KAAK;GAC1C;EACF,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { ThemedToken } from "shiki";
2
+
3
+ //#region src/utils/createSpanNodeFromToken.d.ts
4
+ declare function createSpanFromToken(token: ThemedToken): HTMLSpanElement;
5
+ //#endregion
6
+ export { createSpanFromToken };
7
+ //# sourceMappingURL=createSpanNodeFromToken.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createSpanNodeFromToken.d.ts","names":[],"sources":["../../src/utils/createSpanNodeFromToken.ts"],"sourcesContent":[],"mappings":";;;iBAMgB,mBAAA,QAA2B,cAAc"}
@@ -0,0 +1,13 @@
1
+ import { getTokenStyleObject, stringifyTokenStyle } from "shiki";
2
+
3
+ //#region src/utils/createSpanNodeFromToken.ts
4
+ function createSpanFromToken(token) {
5
+ const element = document.createElement("span");
6
+ element.style = stringifyTokenStyle(token.htmlStyle ?? getTokenStyleObject(token));
7
+ element.textContent = token.content;
8
+ return element;
9
+ }
10
+
11
+ //#endregion
12
+ export { createSpanFromToken };
13
+ //# sourceMappingURL=createSpanNodeFromToken.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createSpanNodeFromToken.js","names":[],"sources":["../../src/utils/createSpanNodeFromToken.ts"],"sourcesContent":["import {\n type ThemedToken,\n getTokenStyleObject,\n stringifyTokenStyle,\n} from 'shiki';\n\nexport function createSpanFromToken(token: ThemedToken): HTMLSpanElement {\n const element = document.createElement('span');\n const style = token.htmlStyle ?? getTokenStyleObject(token);\n element.style = stringifyTokenStyle(style);\n element.textContent = token.content;\n return element;\n}\n"],"mappings":";;;AAMA,SAAgB,oBAAoB,OAAqC;CACvE,MAAM,UAAU,SAAS,cAAc,OAAO;AAE9C,SAAQ,QAAQ,oBADF,MAAM,aAAa,oBAAoB,MAAM,CACjB;AAC1C,SAAQ,cAAc,MAAM;AAC5B,QAAO"}
@@ -0,0 +1,7 @@
1
+ import { Element } from "hast";
2
+
3
+ //#region src/utils/createStyleElement.d.ts
4
+ declare function createStyleElement(content: string, isCoreCSS?: boolean): Element;
5
+ //#endregion
6
+ export { createStyleElement };
7
+ //# sourceMappingURL=createStyleElement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createStyleElement.d.ts","names":[],"sources":["../../src/utils/createStyleElement.ts"],"sourcesContent":[],"mappings":";;;iBAMgB,kBAAA,wCAGb"}
@@ -0,0 +1,19 @@
1
+ import { CORE_CSS_ATTRIBUTE, UNSAFE_CSS_ATTRIBUTE } from "../constants.js";
2
+ import { createHastElement, createTextNodeElement } from "./hast_utils.js";
3
+ import { wrapCoreCSS, wrapUnsafeCSS } from "./cssWrappers.js";
4
+
5
+ //#region src/utils/createStyleElement.ts
6
+ function createStyleElement(content, isCoreCSS = false) {
7
+ return createHastElement({
8
+ tagName: "style",
9
+ children: [createTextNodeElement(isCoreCSS ? wrapCoreCSS(content) : wrapUnsafeCSS(content))],
10
+ properties: {
11
+ [CORE_CSS_ATTRIBUTE]: isCoreCSS ? "" : void 0,
12
+ [UNSAFE_CSS_ATTRIBUTE]: !isCoreCSS ? "" : void 0
13
+ }
14
+ });
15
+ }
16
+
17
+ //#endregion
18
+ export { createStyleElement };
19
+ //# sourceMappingURL=createStyleElement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createStyleElement.js","names":[],"sources":["../../src/utils/createStyleElement.ts"],"sourcesContent":["import type { Element as HASTElement } from 'hast';\n\nimport { CORE_CSS_ATTRIBUTE, UNSAFE_CSS_ATTRIBUTE } from '../constants';\nimport { wrapCoreCSS, wrapUnsafeCSS } from './cssWrappers';\nimport { createHastElement, createTextNodeElement } from './hast_utils';\n\nexport function createStyleElement(\n content: string,\n isCoreCSS: boolean = false\n): HASTElement {\n return createHastElement({\n tagName: 'style',\n children: [\n createTextNodeElement(\n isCoreCSS ? wrapCoreCSS(content) : wrapUnsafeCSS(content)\n ),\n ],\n properties: {\n [CORE_CSS_ATTRIBUTE]: isCoreCSS ? '' : undefined,\n [UNSAFE_CSS_ATTRIBUTE]: !isCoreCSS ? '' : undefined,\n },\n });\n}\n"],"mappings":";;;;;AAMA,SAAgB,mBACd,SACA,YAAqB,OACR;AACb,QAAO,kBAAkB;EACvB,SAAS;EACT,UAAU,CACR,sBACE,YAAY,YAAY,QAAQ,GAAG,cAAc,QAAQ,CAC1D,CACF;EACD,YAAY;IACT,qBAAqB,YAAY,KAAK;IACtC,uBAAuB,CAAC,YAAY,KAAK;GAC3C;EACF,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { SharedRenderState, ShikiTransformer } from "../types.js";
2
+ import { ShikiTransformerStyleToClass } from "@shikijs/transformers";
3
+
4
+ //#region src/utils/createTransformerWithState.d.ts
5
+ interface CreateTransformerWithStateReturn {
6
+ state: SharedRenderState;
7
+ transformers: ShikiTransformer[];
8
+ toClass: ShikiTransformerStyleToClass;
9
+ }
10
+ declare function createTransformerWithState(useCSSClasses?: boolean): CreateTransformerWithStateReturn;
11
+ //#endregion
12
+ export { createTransformerWithState };
13
+ //# sourceMappingURL=createTransformerWithState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createTransformerWithState.d.ts","names":[],"sources":["../../src/utils/createTransformerWithState.ts"],"sourcesContent":[],"mappings":";;;;UAUU,gCAAA;SACD;EALgD,YAI/C,EAEM,gBAFN,EAAA;EACD,OAAA,EAEE,4BAFF;;AAEE,iBAGK,0BAAA,CAHL,aAAA,CAAA,EAAA,OAAA,CAAA,EAKR,gCALQ"}