@mui/internal-docs-infra 0.1.0 → 0.1.1-alpha.0

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 (294) hide show
  1. package/README.md +3 -1
  2. package/build/CodeControllerContext/CodeControllerContext.d.ts +22 -0
  3. package/build/CodeControllerContext/CodeControllerContext.js +21 -0
  4. package/build/CodeControllerContext/index.d.ts +1 -0
  5. package/build/CodeControllerContext/index.js +16 -0
  6. package/build/CodeHighlighter/CodeHighlighter.d.ts +2 -0
  7. package/build/CodeHighlighter/CodeHighlighter.js +329 -0
  8. package/build/CodeHighlighter/CodeHighlighterClient.d.ts +2 -0
  9. package/build/CodeHighlighter/CodeHighlighterClient.js +406 -0
  10. package/build/CodeHighlighter/CodeHighlighterContext.d.ts +14 -0
  11. package/build/CodeHighlighter/CodeHighlighterContext.js +22 -0
  12. package/build/CodeHighlighter/CodeHighlighterFallbackContext.d.ts +7 -0
  13. package/build/CodeHighlighter/CodeHighlighterFallbackContext.js +18 -0
  14. package/build/CodeHighlighter/applyTransform.d.ts +19 -0
  15. package/build/CodeHighlighter/applyTransform.js +83 -0
  16. package/build/CodeHighlighter/codeToFallbackProps.d.ts +2 -0
  17. package/build/CodeHighlighter/codeToFallbackProps.js +77 -0
  18. package/build/CodeHighlighter/errors.d.ts +0 -0
  19. package/build/CodeHighlighter/errors.js +2 -0
  20. package/build/CodeHighlighter/hasAllVariants.d.ts +2 -0
  21. package/build/CodeHighlighter/hasAllVariants.js +37 -0
  22. package/build/CodeHighlighter/index.d.ts +4 -0
  23. package/build/CodeHighlighter/index.js +49 -0
  24. package/build/CodeHighlighter/loadFallbackCode.d.ts +9 -0
  25. package/build/CodeHighlighter/loadFallbackCode.js +474 -0
  26. package/build/CodeHighlighter/loadVariant.d.ts +11 -0
  27. package/build/CodeHighlighter/loadVariant.js +715 -0
  28. package/build/CodeHighlighter/maybeInitialData.d.ts +10 -0
  29. package/build/CodeHighlighter/maybeInitialData.js +101 -0
  30. package/build/CodeHighlighter/parseCode.d.ts +6 -0
  31. package/build/CodeHighlighter/parseCode.js +129 -0
  32. package/build/CodeHighlighter/parseControlledCode.d.ts +6 -0
  33. package/build/CodeHighlighter/parseControlledCode.js +83 -0
  34. package/build/CodeHighlighter/transformCode.d.ts +20 -0
  35. package/build/CodeHighlighter/transformCode.js +231 -0
  36. package/build/CodeHighlighter/transformParsedSource.d.ts +3 -0
  37. package/build/CodeHighlighter/transformParsedSource.js +73 -0
  38. package/build/CodeHighlighter/transformSource.d.ts +2 -0
  39. package/build/CodeHighlighter/transformSource.js +114 -0
  40. package/build/CodeHighlighter/types.d.ts +138 -0
  41. package/build/CodeHighlighter/types.js +5 -0
  42. package/build/CodeProvider/CodeContext.d.ts +12 -0
  43. package/build/CodeProvider/CodeContext.js +14 -0
  44. package/build/CodeProvider/CodeProvider.d.ts +13 -0
  45. package/build/CodeProvider/CodeProvider.js +57 -0
  46. package/build/CodeProvider/index.d.ts +2 -0
  47. package/build/CodeProvider/index.js +27 -0
  48. package/build/README.md +19 -0
  49. package/build/esm/CodeControllerContext/CodeControllerContext.d.ts +22 -0
  50. package/build/esm/CodeControllerContext/CodeControllerContext.d.ts.map +1 -0
  51. package/build/esm/CodeControllerContext/CodeControllerContext.js +14 -0
  52. package/build/esm/CodeControllerContext/index.d.ts +1 -0
  53. package/build/esm/CodeControllerContext/index.d.ts.map +1 -0
  54. package/build/esm/CodeControllerContext/index.js +1 -0
  55. package/build/esm/CodeHighlighter/CodeHighlighter.d.ts +2 -0
  56. package/build/esm/CodeHighlighter/CodeHighlighter.d.ts.map +1 -0
  57. package/build/esm/CodeHighlighter/CodeHighlighter.js +321 -0
  58. package/build/esm/CodeHighlighter/CodeHighlighterClient.d.ts +2 -0
  59. package/build/esm/CodeHighlighter/CodeHighlighterClient.d.ts.map +1 -0
  60. package/build/esm/CodeHighlighter/CodeHighlighterClient.js +399 -0
  61. package/build/esm/CodeHighlighter/CodeHighlighterContext.d.ts +14 -0
  62. package/build/esm/CodeHighlighter/CodeHighlighterContext.d.ts.map +1 -0
  63. package/build/esm/CodeHighlighter/CodeHighlighterContext.js +14 -0
  64. package/build/esm/CodeHighlighter/CodeHighlighterFallbackContext.d.ts +7 -0
  65. package/build/esm/CodeHighlighter/CodeHighlighterFallbackContext.d.ts.map +1 -0
  66. package/build/esm/CodeHighlighter/CodeHighlighterFallbackContext.js +11 -0
  67. package/build/esm/CodeHighlighter/applyTransform.d.ts +19 -0
  68. package/build/esm/CodeHighlighter/applyTransform.d.ts.map +1 -0
  69. package/build/esm/CodeHighlighter/applyTransform.js +75 -0
  70. package/build/esm/CodeHighlighter/codeToFallbackProps.d.ts +2 -0
  71. package/build/esm/CodeHighlighter/codeToFallbackProps.d.ts.map +1 -0
  72. package/build/esm/CodeHighlighter/codeToFallbackProps.js +70 -0
  73. package/build/esm/CodeHighlighter/errors.d.ts +0 -0
  74. package/build/esm/CodeHighlighter/errors.d.ts.map +1 -0
  75. package/build/esm/CodeHighlighter/errors.js +1 -0
  76. package/build/esm/CodeHighlighter/hasAllVariants.d.ts +2 -0
  77. package/build/esm/CodeHighlighter/hasAllVariants.d.ts.map +1 -0
  78. package/build/esm/CodeHighlighter/hasAllVariants.js +31 -0
  79. package/build/esm/CodeHighlighter/index.d.ts +4 -0
  80. package/build/esm/CodeHighlighter/index.d.ts.map +1 -0
  81. package/build/esm/CodeHighlighter/index.js +4 -0
  82. package/build/esm/CodeHighlighter/loadFallbackCode.d.ts +9 -0
  83. package/build/esm/CodeHighlighter/loadFallbackCode.d.ts.map +1 -0
  84. package/build/esm/CodeHighlighter/loadFallbackCode.js +468 -0
  85. package/build/esm/CodeHighlighter/loadVariant.d.ts +11 -0
  86. package/build/esm/CodeHighlighter/loadVariant.d.ts.map +1 -0
  87. package/build/esm/CodeHighlighter/loadVariant.js +708 -0
  88. package/build/esm/CodeHighlighter/maybeInitialData.d.ts +10 -0
  89. package/build/esm/CodeHighlighter/maybeInitialData.d.ts.map +1 -0
  90. package/build/esm/CodeHighlighter/maybeInitialData.js +94 -0
  91. package/build/esm/CodeHighlighter/parseCode.d.ts +6 -0
  92. package/build/esm/CodeHighlighter/parseCode.d.ts.map +1 -0
  93. package/build/esm/CodeHighlighter/parseCode.js +122 -0
  94. package/build/esm/CodeHighlighter/parseControlledCode.d.ts +6 -0
  95. package/build/esm/CodeHighlighter/parseControlledCode.d.ts.map +1 -0
  96. package/build/esm/CodeHighlighter/parseControlledCode.js +76 -0
  97. package/build/esm/CodeHighlighter/transformCode.d.ts +20 -0
  98. package/build/esm/CodeHighlighter/transformCode.d.ts.map +1 -0
  99. package/build/esm/CodeHighlighter/transformCode.js +223 -0
  100. package/build/esm/CodeHighlighter/transformParsedSource.d.ts +3 -0
  101. package/build/esm/CodeHighlighter/transformParsedSource.d.ts.map +1 -0
  102. package/build/esm/CodeHighlighter/transformParsedSource.js +66 -0
  103. package/build/esm/CodeHighlighter/transformSource.d.ts +2 -0
  104. package/build/esm/CodeHighlighter/transformSource.d.ts.map +1 -0
  105. package/build/esm/CodeHighlighter/transformSource.js +107 -0
  106. package/build/esm/CodeHighlighter/types.d.ts +138 -0
  107. package/build/esm/CodeHighlighter/types.d.ts.map +1 -0
  108. package/build/esm/CodeHighlighter/types.js +1 -0
  109. package/build/esm/CodeProvider/CodeContext.d.ts +12 -0
  110. package/build/esm/CodeProvider/CodeContext.d.ts.map +1 -0
  111. package/build/esm/CodeProvider/CodeContext.js +8 -0
  112. package/build/esm/CodeProvider/CodeProvider.d.ts +13 -0
  113. package/build/esm/CodeProvider/CodeProvider.d.ts.map +1 -0
  114. package/build/esm/CodeProvider/CodeProvider.js +50 -0
  115. package/build/esm/CodeProvider/index.d.ts +2 -0
  116. package/build/esm/CodeProvider/index.d.ts.map +1 -0
  117. package/build/esm/CodeProvider/index.js +2 -0
  118. package/build/esm/hast/hast.d.ts +11 -0
  119. package/build/esm/hast/hast.d.ts.map +1 -0
  120. package/build/esm/hast/hast.js +66 -0
  121. package/build/esm/hast/index.d.ts +1 -0
  122. package/build/esm/hast/index.d.ts.map +1 -0
  123. package/build/esm/hast/index.js +1 -0
  124. package/build/esm/loadPrecomputedCodeHighlighter/index.d.ts +2 -0
  125. package/build/esm/loadPrecomputedCodeHighlighter/index.d.ts.map +1 -0
  126. package/build/esm/loadPrecomputedCodeHighlighter/index.js +4 -0
  127. package/build/esm/loadPrecomputedCodeHighlighter/loadPrecomputedCodeHighlighter.d.ts +57 -0
  128. package/build/esm/loadPrecomputedCodeHighlighter/loadPrecomputedCodeHighlighter.d.ts.map +1 -0
  129. package/build/esm/loadPrecomputedCodeHighlighter/loadPrecomputedCodeHighlighter.js +194 -0
  130. package/build/esm/loadPrecomputedCodeHighlighter/parseCreateFactoryCall.d.ts +20 -0
  131. package/build/esm/loadPrecomputedCodeHighlighter/parseCreateFactoryCall.d.ts.map +1 -0
  132. package/build/esm/loadPrecomputedCodeHighlighter/parseCreateFactoryCall.js +243 -0
  133. package/build/esm/loadPrecomputedCodeHighlighter/parseFunctionParameters.d.ts +15 -0
  134. package/build/esm/loadPrecomputedCodeHighlighter/parseFunctionParameters.d.ts.map +1 -0
  135. package/build/esm/loadPrecomputedCodeHighlighter/parseFunctionParameters.js +168 -0
  136. package/build/esm/loadPrecomputedCodeHighlighter/replacePrecomputeValue.d.ts +27 -0
  137. package/build/esm/loadPrecomputedCodeHighlighter/replacePrecomputeValue.d.ts.map +1 -0
  138. package/build/esm/loadPrecomputedCodeHighlighter/replacePrecomputeValue.js +37 -0
  139. package/build/esm/loadServerCodeMeta/index.d.ts +1 -0
  140. package/build/esm/loadServerCodeMeta/index.d.ts.map +1 -0
  141. package/build/esm/loadServerCodeMeta/index.js +1 -0
  142. package/build/esm/loadServerCodeMeta/serverLoadCodeMeta.d.ts +24 -0
  143. package/build/esm/loadServerCodeMeta/serverLoadCodeMeta.d.ts.map +1 -0
  144. package/build/esm/loadServerCodeMeta/serverLoadCodeMeta.js +77 -0
  145. package/build/esm/loadServerSource/index.d.ts +1 -0
  146. package/build/esm/loadServerSource/index.d.ts.map +1 -0
  147. package/build/esm/loadServerSource/index.js +1 -0
  148. package/build/esm/loadServerSource/serverLoadSource.d.ts +25 -0
  149. package/build/esm/loadServerSource/serverLoadSource.d.ts.map +1 -0
  150. package/build/esm/loadServerSource/serverLoadSource.js +100 -0
  151. package/build/esm/loaderUtils/getFileNameFromUrl.d.ts +11 -0
  152. package/build/esm/loaderUtils/getFileNameFromUrl.d.ts.map +1 -0
  153. package/build/esm/loaderUtils/getFileNameFromUrl.js +32 -0
  154. package/build/esm/loaderUtils/index.d.ts +5 -0
  155. package/build/esm/loaderUtils/index.d.ts.map +1 -0
  156. package/build/esm/loaderUtils/index.js +5 -0
  157. package/build/esm/loaderUtils/processImports.d.ts +19 -0
  158. package/build/esm/loaderUtils/processImports.d.ts.map +1 -0
  159. package/build/esm/loaderUtils/processImports.js +82 -0
  160. package/build/esm/loaderUtils/resolveImports.d.ts +4 -0
  161. package/build/esm/loaderUtils/resolveImports.d.ts.map +1 -0
  162. package/build/esm/loaderUtils/resolveImports.js +71 -0
  163. package/build/esm/loaderUtils/resolveModulePath.d.ts +74 -0
  164. package/build/esm/loaderUtils/resolveModulePath.d.ts.map +1 -0
  165. package/build/esm/loaderUtils/resolveModulePath.js +827 -0
  166. package/build/esm/loaderUtils/resolveModulePathWithFs.d.ts +44 -0
  167. package/build/esm/loaderUtils/resolveModulePathWithFs.d.ts.map +1 -0
  168. package/build/esm/loaderUtils/resolveModulePathWithFs.js +159 -0
  169. package/build/esm/loaderUtils/rewriteImports.d.ts +9 -0
  170. package/build/esm/loaderUtils/rewriteImports.d.ts.map +1 -0
  171. package/build/esm/loaderUtils/rewriteImports.js +57 -0
  172. package/build/esm/parseSource/grammars.d.ts +2 -0
  173. package/build/esm/parseSource/grammars.d.ts.map +1 -0
  174. package/build/esm/parseSource/grammars.js +27 -0
  175. package/build/esm/parseSource/index.d.ts +1 -0
  176. package/build/esm/parseSource/index.d.ts.map +1 -0
  177. package/build/esm/parseSource/index.js +1 -0
  178. package/build/esm/parseSource/parseSource.d.ts +3 -0
  179. package/build/esm/parseSource/parseSource.d.ts.map +1 -0
  180. package/build/esm/parseSource/parseSource.js +37 -0
  181. package/build/esm/transformRelativeMarkdownPaths/index.d.ts +2 -0
  182. package/build/esm/transformRelativeMarkdownPaths/index.d.ts.map +1 -0
  183. package/build/esm/transformRelativeMarkdownPaths/index.js +4 -0
  184. package/build/esm/transformRelativeMarkdownPaths/transformRelativeMarkdownPaths.d.ts +12 -0
  185. package/build/esm/transformRelativeMarkdownPaths/transformRelativeMarkdownPaths.d.ts.map +1 -0
  186. package/build/esm/transformRelativeMarkdownPaths/transformRelativeMarkdownPaths.js +30 -0
  187. package/build/esm/transformTsToJs/index.d.ts +1 -0
  188. package/build/esm/transformTsToJs/index.d.ts.map +1 -0
  189. package/build/esm/transformTsToJs/index.js +1 -0
  190. package/build/esm/transformTsToJs/removeTypes.d.ts +13 -0
  191. package/build/esm/transformTsToJs/removeTypes.d.ts.map +1 -0
  192. package/build/esm/transformTsToJs/removeTypes.js +134 -0
  193. package/build/esm/transformTsToJs/transformTsToJs.d.ts +3 -0
  194. package/build/esm/transformTsToJs/transformTsToJs.d.ts.map +1 -0
  195. package/build/esm/transformTsToJs/transformTsToJs.js +34 -0
  196. package/build/esm/useCode/index.d.ts +1 -0
  197. package/build/esm/useCode/index.d.ts.map +1 -0
  198. package/build/esm/useCode/index.js +1 -0
  199. package/build/esm/useCode/useCode.d.ts +37 -0
  200. package/build/esm/useCode/useCode.d.ts.map +1 -0
  201. package/build/esm/useCode/useCode.js +393 -0
  202. package/{esm → build/esm}/useDemo/index.d.ts +12 -24
  203. package/build/esm/useDemo/index.d.ts.map +1 -0
  204. package/build/esm/useDemo/index.js +17 -0
  205. package/build/esm/useOnHydrate/index.d.ts +1 -0
  206. package/build/esm/useOnHydrate/index.d.ts.map +1 -0
  207. package/build/esm/useOnHydrate/index.js +1 -0
  208. package/build/esm/useOnHydrate/useOnHydrate.d.ts +1 -0
  209. package/build/esm/useOnHydrate/useOnHydrate.d.ts.map +1 -0
  210. package/build/esm/useOnHydrate/useOnHydrate.js +18 -0
  211. package/build/esm/useOnIdle/index.d.ts +1 -0
  212. package/build/esm/useOnIdle/index.d.ts.map +1 -0
  213. package/build/esm/useOnIdle/index.js +1 -0
  214. package/build/esm/useOnIdle/useOnIdle.d.ts +1 -0
  215. package/build/esm/useOnIdle/useOnIdle.d.ts.map +1 -0
  216. package/build/esm/useOnIdle/useOnIdle.js +39 -0
  217. package/build/hast/hast.d.ts +11 -0
  218. package/build/hast/hast.js +75 -0
  219. package/build/hast/index.d.ts +1 -0
  220. package/build/hast/index.js +16 -0
  221. package/build/loadPrecomputedCodeHighlighter/index.d.ts +2 -0
  222. package/build/loadPrecomputedCodeHighlighter/index.js +9 -0
  223. package/build/loadPrecomputedCodeHighlighter/loadPrecomputedCodeHighlighter.d.ts +57 -0
  224. package/build/loadPrecomputedCodeHighlighter/loadPrecomputedCodeHighlighter.js +201 -0
  225. package/build/loadPrecomputedCodeHighlighter/parseCreateFactoryCall.d.ts +20 -0
  226. package/build/loadPrecomputedCodeHighlighter/parseCreateFactoryCall.js +248 -0
  227. package/build/loadPrecomputedCodeHighlighter/parseFunctionParameters.d.ts +15 -0
  228. package/build/loadPrecomputedCodeHighlighter/parseFunctionParameters.js +174 -0
  229. package/build/loadPrecomputedCodeHighlighter/replacePrecomputeValue.d.ts +27 -0
  230. package/build/loadPrecomputedCodeHighlighter/replacePrecomputeValue.js +43 -0
  231. package/build/loadServerCodeMeta/index.d.ts +1 -0
  232. package/build/loadServerCodeMeta/index.js +16 -0
  233. package/build/loadServerCodeMeta/serverLoadCodeMeta.d.ts +24 -0
  234. package/build/loadServerCodeMeta/serverLoadCodeMeta.js +85 -0
  235. package/build/loadServerSource/index.d.ts +1 -0
  236. package/build/loadServerSource/index.js +16 -0
  237. package/build/loadServerSource/serverLoadSource.d.ts +25 -0
  238. package/build/loadServerSource/serverLoadSource.js +108 -0
  239. package/build/loaderUtils/getFileNameFromUrl.d.ts +11 -0
  240. package/build/loaderUtils/getFileNameFromUrl.js +38 -0
  241. package/build/loaderUtils/index.d.ts +5 -0
  242. package/build/loaderUtils/index.js +60 -0
  243. package/build/loaderUtils/processImports.d.ts +19 -0
  244. package/build/loaderUtils/processImports.js +89 -0
  245. package/build/loaderUtils/resolveImports.d.ts +4 -0
  246. package/build/loaderUtils/resolveImports.js +78 -0
  247. package/build/loaderUtils/resolveModulePath.d.ts +74 -0
  248. package/build/loaderUtils/resolveModulePath.js +835 -0
  249. package/build/loaderUtils/resolveModulePathWithFs.d.ts +44 -0
  250. package/build/loaderUtils/resolveModulePathWithFs.js +163 -0
  251. package/build/loaderUtils/rewriteImports.d.ts +9 -0
  252. package/build/loaderUtils/rewriteImports.js +62 -0
  253. package/build/package.json +101 -0
  254. package/build/parseSource/grammars.d.ts +2 -0
  255. package/build/parseSource/grammars.js +34 -0
  256. package/build/parseSource/index.d.ts +1 -0
  257. package/build/parseSource/index.js +16 -0
  258. package/build/parseSource/parseSource.d.ts +3 -0
  259. package/build/parseSource/parseSource.js +44 -0
  260. package/build/transformRelativeMarkdownPaths/index.d.ts +2 -0
  261. package/build/transformRelativeMarkdownPaths/index.js +9 -0
  262. package/build/transformRelativeMarkdownPaths/transformRelativeMarkdownPaths.d.ts +12 -0
  263. package/build/transformRelativeMarkdownPaths/transformRelativeMarkdownPaths.js +36 -0
  264. package/build/transformTsToJs/index.d.ts +1 -0
  265. package/build/transformTsToJs/index.js +16 -0
  266. package/build/transformTsToJs/removeTypes.d.ts +13 -0
  267. package/build/transformTsToJs/removeTypes.js +141 -0
  268. package/build/transformTsToJs/transformTsToJs.d.ts +3 -0
  269. package/build/transformTsToJs/transformTsToJs.js +41 -0
  270. package/build/useCode/index.d.ts +1 -0
  271. package/build/useCode/index.js +16 -0
  272. package/build/useCode/useCode.d.ts +37 -0
  273. package/build/useCode/useCode.js +401 -0
  274. package/{useDemo → build/useDemo}/index.d.ts +12 -24
  275. package/build/useDemo/index.js +25 -0
  276. package/build/useOnHydrate/index.d.ts +1 -0
  277. package/build/useOnHydrate/index.js +16 -0
  278. package/build/useOnHydrate/useOnHydrate.d.ts +1 -0
  279. package/build/useOnHydrate/useOnHydrate.js +26 -0
  280. package/build/useOnIdle/index.d.ts +1 -0
  281. package/build/useOnIdle/index.js +16 -0
  282. package/build/useOnIdle/useOnIdle.d.ts +1 -0
  283. package/build/useOnIdle/useOnIdle.js +47 -0
  284. package/package.json +86 -14
  285. package/esm/useDemo/index.d.ts.map +0 -1
  286. package/esm/useDemo/index.js +0 -104
  287. package/useDemo/index.js +0 -112
  288. /package/{LICENSE → build/LICENSE} +0 -0
  289. /package/{esm → build/esm}/package.json +0 -0
  290. /package/{esm → build/esm}/useCopier/index.d.ts +0 -0
  291. /package/{esm → build/esm}/useCopier/index.d.ts.map +0 -0
  292. /package/{esm → build/esm}/useCopier/index.js +0 -0
  293. /package/{useCopier → build/useCopier}/index.d.ts +0 -0
  294. /package/{useCopier → build/useCopier}/index.js +0 -0
@@ -0,0 +1,399 @@
1
+ 'use client';
2
+
3
+ import _typeof from "@babel/runtime/helpers/esm/typeof";
4
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
5
+ import _createForOfIteratorHelper from "@babel/runtime/helpers/esm/createForOfIteratorHelper";
6
+ import _regeneratorRuntime from "@babel/runtime/helpers/esm/regeneratorRuntime";
7
+ import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
8
+ import * as React from 'react';
9
+ import { useCodeContext } from "../CodeProvider/CodeContext.js";
10
+ import { CodeHighlighterContext } from "./CodeHighlighterContext.js";
11
+ import { maybeInitialData } from "./maybeInitialData.js";
12
+ import { loadFallbackCode } from "./loadFallbackCode.js";
13
+ import { hasAllVariants } from "./hasAllVariants.js";
14
+ import { loadVariant } from "./loadVariant.js";
15
+ import { CodeHighlighterFallbackContext } from "./CodeHighlighterFallbackContext.js";
16
+ import { useControlledCode } from "../CodeControllerContext/index.js";
17
+ import { codeToFallbackProps } from "./codeToFallbackProps.js";
18
+ import { parseCode } from "./parseCode.js";
19
+ import { applyTransforms, getAvailableTransforms } from "./transformCode.js";
20
+ import { parseControlledCode } from "./parseControlledCode.js";
21
+ import { jsx as _jsx } from "react/jsx-runtime";
22
+ var DEBUG = false; // Set to true for debugging purposes
23
+
24
+ function useInitialData(_ref) {
25
+ var variants = _ref.variants,
26
+ variantName = _ref.variantName,
27
+ code = _ref.code,
28
+ setCode = _ref.setCode,
29
+ fileName = _ref.fileName,
30
+ url = _ref.url,
31
+ highlightAt = _ref.highlightAt,
32
+ fallbackUsesExtraFiles = _ref.fallbackUsesExtraFiles,
33
+ fallbackUsesAllVariants = _ref.fallbackUsesAllVariants,
34
+ isControlled = _ref.isControlled;
35
+ var _useCodeContext = useCodeContext(),
36
+ sourceParser = _useCodeContext.sourceParser,
37
+ loadCodeMeta = _useCodeContext.loadCodeMeta,
38
+ loadVariantMeta = _useCodeContext.loadVariantMeta,
39
+ loadSource = _useCodeContext.loadSource;
40
+ var _React$useMemo = React.useMemo(function () {
41
+ return maybeInitialData(variants, variantName, code, fileName, highlightAt === 'init', fallbackUsesExtraFiles, fallbackUsesAllVariants);
42
+ }, [variants, variantName, code, fileName, highlightAt, fallbackUsesExtraFiles, fallbackUsesAllVariants]),
43
+ initialData = _React$useMemo.initialData,
44
+ reason = _React$useMemo.reason;
45
+
46
+ // TODO: fallbackInitialRenderOnly option? this would mean we can't fetch fallback data on the client side
47
+ // Load initial data if not provided
48
+ React.useEffect(function () {
49
+ if (initialData || isControlled) {
50
+ return;
51
+ }
52
+
53
+ // TODO: abort controller
54
+
55
+ _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
56
+ var loaded;
57
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
58
+ while (1) switch (_context.prev = _context.next) {
59
+ case 0:
60
+ if (DEBUG) {
61
+ // eslint-disable-next-line no-console
62
+ console.log('Loading initial data for CodeHighlighterClient: ', reason);
63
+ }
64
+ _context.next = 3;
65
+ return loadFallbackCode(url, variantName, code, highlightAt === 'init', fallbackUsesExtraFiles, fallbackUsesAllVariants, sourceParser, loadSource, loadVariantMeta, loadCodeMeta, fileName, variants)["catch"](function (error) {
66
+ return {
67
+ error: error
68
+ };
69
+ });
70
+ case 3:
71
+ loaded = _context.sent;
72
+ if ('error' in loaded) {
73
+ // TODO: handle error
74
+ } else {
75
+ setCode(loaded.code);
76
+ }
77
+ case 5:
78
+ case "end":
79
+ return _context.stop();
80
+ }
81
+ }, _callee);
82
+ }))();
83
+ }, [initialData, reason, isControlled, variantName, code, setCode, highlightAt, url, sourceParser, loadSource, loadVariantMeta, loadCodeMeta, fallbackUsesExtraFiles, fallbackUsesAllVariants, fileName, variants]);
84
+ }
85
+ function useAllVariants(_ref3) {
86
+ var readyForContent = _ref3.readyForContent,
87
+ variants = _ref3.variants,
88
+ isControlled = _ref3.isControlled,
89
+ url = _ref3.url,
90
+ code = _ref3.code,
91
+ setCode = _ref3.setCode;
92
+ var _useCodeContext2 = useCodeContext(),
93
+ loadCodeMeta = _useCodeContext2.loadCodeMeta,
94
+ loadVariantMeta = _useCodeContext2.loadVariantMeta,
95
+ loadSource = _useCodeContext2.loadSource;
96
+ React.useEffect(function () {
97
+ if (readyForContent || isControlled) {
98
+ return;
99
+ }
100
+
101
+ // TODO: abort controller
102
+
103
+ _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
104
+ var loadedCode, result, resultCode, errors, _iterator, _step, item;
105
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
106
+ while (1) switch (_context2.prev = _context2.next) {
107
+ case 0:
108
+ loadedCode = code;
109
+ if (loadedCode) {
110
+ _context2.next = 7;
111
+ break;
112
+ }
113
+ if (loadCodeMeta) {
114
+ _context2.next = 4;
115
+ break;
116
+ }
117
+ throw new Error('"loadCodeMeta" function is required when no code is provided');
118
+ case 4:
119
+ _context2.next = 6;
120
+ return loadCodeMeta(url);
121
+ case 6:
122
+ loadedCode = _context2.sent;
123
+ case 7:
124
+ _context2.next = 9;
125
+ return Promise.all(variants.map(function (name) {
126
+ return loadVariant(url, name, loadedCode[name], undefined,
127
+ // sourceParser - skip parsing
128
+ loadSource, loadVariantMeta, undefined,
129
+ // sourceTransformers - skip transforming
130
+ {
131
+ disableParsing: true,
132
+ disableTransforms: true
133
+ }).then(function (variant) {
134
+ return {
135
+ name: name,
136
+ variant: variant
137
+ };
138
+ })["catch"](function (error) {
139
+ return {
140
+ error: error
141
+ };
142
+ });
143
+ }));
144
+ case 9:
145
+ result = _context2.sent;
146
+ resultCode = {};
147
+ errors = [];
148
+ _iterator = _createForOfIteratorHelper(result);
149
+ try {
150
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
151
+ item = _step.value;
152
+ if ('error' in item) {
153
+ errors.push(item.error);
154
+ } else {
155
+ resultCode[item.name] = item.variant.code;
156
+ }
157
+ }
158
+ } catch (err) {
159
+ _iterator.e(err);
160
+ } finally {
161
+ _iterator.f();
162
+ }
163
+ if (errors.length > 0) {
164
+ // TODO: handle error
165
+ } else {
166
+ setCode(resultCode);
167
+ }
168
+ case 15:
169
+ case "end":
170
+ return _context2.stop();
171
+ }
172
+ }, _callee2);
173
+ }))();
174
+ }, [readyForContent, isControlled, variants, url, code, setCode, loadSource, loadVariantMeta, loadCodeMeta]);
175
+ return {
176
+ readyForContent: readyForContent
177
+ };
178
+ }
179
+ function useCodeParsing(_ref5) {
180
+ var code = _ref5.code,
181
+ readyForContent = _ref5.readyForContent;
182
+ var _useCodeContext3 = useCodeContext(),
183
+ parseSource = _useCodeContext3.parseSource;
184
+
185
+ // Parse the internal code state when ready
186
+ var parsedCode = React.useMemo(function () {
187
+ if (!code || !readyForContent || !parseSource) {
188
+ return undefined;
189
+ }
190
+ return parseCode(code, parseSource);
191
+ }, [code, readyForContent, parseSource]);
192
+ return {
193
+ parsedCode: parsedCode
194
+ };
195
+ }
196
+ function useCodeTransforms(_ref6) {
197
+ var parsedCode = _ref6.parsedCode,
198
+ variantName = _ref6.variantName;
199
+ var _useCodeContext4 = useCodeContext(),
200
+ sourceParser = _useCodeContext4.sourceParser;
201
+ var _React$useState = React.useState(undefined),
202
+ _React$useState2 = _slicedToArray(_React$useState, 2),
203
+ transformedCode = _React$useState2[0],
204
+ setTransformedCode = _React$useState2[1];
205
+
206
+ // Get available transforms from the current variant (separate memo for efficiency)
207
+ var availableTransforms = React.useMemo(function () {
208
+ return getAvailableTransforms(parsedCode, variantName);
209
+ }, [parsedCode, variantName]);
210
+
211
+ // Effect to compute transformations for all variants
212
+ React.useEffect(function () {
213
+ if (!parsedCode || !sourceParser) {
214
+ setTransformedCode(parsedCode);
215
+ return;
216
+ }
217
+
218
+ // Process transformations for all variants
219
+ _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
220
+ var parseSource, enhanced;
221
+ return _regeneratorRuntime().wrap(function _callee3$(_context3) {
222
+ while (1) switch (_context3.prev = _context3.next) {
223
+ case 0:
224
+ _context3.prev = 0;
225
+ _context3.next = 3;
226
+ return sourceParser;
227
+ case 3:
228
+ parseSource = _context3.sent;
229
+ _context3.next = 6;
230
+ return applyTransforms(parsedCode, parseSource);
231
+ case 6:
232
+ enhanced = _context3.sent;
233
+ setTransformedCode(enhanced);
234
+ _context3.next = 14;
235
+ break;
236
+ case 10:
237
+ _context3.prev = 10;
238
+ _context3.t0 = _context3["catch"](0);
239
+ console.error('Failed to process transforms:', _context3.t0);
240
+ setTransformedCode(parsedCode);
241
+ case 14:
242
+ case "end":
243
+ return _context3.stop();
244
+ }
245
+ }, _callee3, null, [[0, 10]]);
246
+ }))();
247
+ }, [parsedCode, sourceParser]);
248
+ return {
249
+ transformedCode: transformedCode,
250
+ availableTransforms: availableTransforms
251
+ };
252
+ }
253
+ function useControlledCodeParsing(_ref8) {
254
+ var controlledCode = _ref8.controlledCode;
255
+ var _useCodeContext5 = useCodeContext(),
256
+ parseSource = _useCodeContext5.parseSource;
257
+
258
+ // Parse the controlled code separately (no need to check readyForContent)
259
+ var parsedControlledCode = React.useMemo(function () {
260
+ if (!controlledCode || !parseSource) {
261
+ return undefined;
262
+ }
263
+ return parseControlledCode(controlledCode, parseSource);
264
+ }, [controlledCode, parseSource]);
265
+ return {
266
+ parsedControlledCode: parsedControlledCode
267
+ };
268
+ }
269
+ export function CodeHighlighterClient(props) {
270
+ var _activeCode$variantNa, _activeCode$variantNa2;
271
+ var _useControlledCode = useControlledCode(),
272
+ controlledCode = _useControlledCode.controlledCode,
273
+ controlledSelection = _useControlledCode.controlledSelection,
274
+ controlledSetCode = _useControlledCode.controlledSetCode,
275
+ controlledSetSelection = _useControlledCode.controlledSetSelection,
276
+ controlledComponents = _useControlledCode.controlledComponents;
277
+ var isControlled = Boolean(props.code || controlledCode);
278
+
279
+ // TODO: props.code is for controlled components, props.precompute is for precomputed code
280
+ // props.code should only be highlighted, but no additional fetching should be done
281
+ // this is the case with live demos where the code can be edited by the user
282
+ // then maybe props.code shouldn't allow highlighted code, only strings?
283
+ // this is a code highlighter afterall, why would they want to control the highlighting aspect?
284
+
285
+ // TODO: should we empty this state if controlled?
286
+ var _React$useState3 = React.useState(_typeof(props.precompute) === 'object' ? props.precompute : undefined),
287
+ _React$useState4 = _slicedToArray(_React$useState3, 2),
288
+ code = _React$useState4[0],
289
+ setCode = _React$useState4[1];
290
+
291
+ // TODO: if using props.variant, then the variant is controlled and we can't use our own state
292
+ // does props.variant make any sense instead of controlledSelection?.variant?
293
+ var _React$useState5 = React.useState({
294
+ variant: props.initialVariant || props.defaultVariant || 'Default'
295
+ }),
296
+ _React$useState6 = _slicedToArray(_React$useState5, 2),
297
+ selection = _React$useState6[0],
298
+ setSelection = _React$useState6[1];
299
+ var variantName = (controlledSelection == null ? void 0 : controlledSelection.variant) || props.variant || selection.variant;
300
+ var activeCode = controlledCode || props.code || code;
301
+ var initialFilename = _typeof(activeCode == null ? void 0 : activeCode[variantName]) === 'object' && (activeCode != null && (_activeCode$variantNa = activeCode[variantName]) != null && _activeCode$variantNa.filesOrder ? activeCode[variantName].filesOrder[0] : activeCode == null || (_activeCode$variantNa2 = activeCode[variantName]) == null ? void 0 : _activeCode$variantNa2.fileName);
302
+ var fileName = (controlledSelection == null ? void 0 : controlledSelection.fileName) || props.fileName || initialFilename || 'index.js';
303
+ var variants = props.variants || Object.keys(props.components || activeCode || {});
304
+ var url = props.url,
305
+ highlightAt = props.highlightAt,
306
+ fallbackUsesExtraFiles = props.fallbackUsesExtraFiles,
307
+ fallbackUsesAllVariants = props.fallbackUsesAllVariants;
308
+ useInitialData({
309
+ variants: variants,
310
+ variantName: variantName,
311
+ code: code,
312
+ setCode: setCode,
313
+ fileName: fileName,
314
+ url: url,
315
+ highlightAt: highlightAt,
316
+ fallbackUsesExtraFiles: fallbackUsesExtraFiles,
317
+ fallbackUsesAllVariants: fallbackUsesAllVariants,
318
+ isControlled: isControlled
319
+ });
320
+ var readyForContent = React.useMemo(function () {
321
+ if (!code) {
322
+ return false;
323
+ }
324
+ return hasAllVariants(variants, code);
325
+ }, [code, variants]);
326
+
327
+ // Separate check for activeCode to determine when to show fallback
328
+ var activeCodeReady = React.useMemo(function () {
329
+ if (!activeCode) {
330
+ return false;
331
+ }
332
+
333
+ // Controlled code is always ready since it comes from editing already-ready code
334
+ if (controlledCode) {
335
+ return true;
336
+ }
337
+
338
+ // For regular code, use the existing hasAllVariants function
339
+ var regularCode = props.code || code;
340
+ return regularCode ? hasAllVariants(variants, regularCode) : false;
341
+ }, [activeCode, controlledCode, variants, props.code, code]);
342
+ useAllVariants({
343
+ readyForContent: readyForContent,
344
+ variants: variants,
345
+ isControlled: isControlled,
346
+ url: url,
347
+ code: code,
348
+ setCode: setCode
349
+ });
350
+ var _useCodeParsing = useCodeParsing({
351
+ code: props.code || code,
352
+ readyForContent: readyForContent || Boolean(props.code)
353
+ }),
354
+ parsedCode = _useCodeParsing.parsedCode;
355
+ var _useCodeTransforms = useCodeTransforms({
356
+ parsedCode: parsedCode,
357
+ variantName: variantName
358
+ }),
359
+ transformedCode = _useCodeTransforms.transformedCode,
360
+ availableTransforms = _useCodeTransforms.availableTransforms;
361
+ var _useControlledCodePar = useControlledCodeParsing({
362
+ controlledCode: controlledCode
363
+ }),
364
+ parsedControlledCode = _useControlledCodePar.parsedControlledCode;
365
+
366
+ // Determine the final overlaid code (controlled takes precedence)
367
+ var overlaidCode = parsedControlledCode || transformedCode;
368
+
369
+ // For fallback context, use the processed code or fall back to non-controlled code
370
+ var codeForFallback = overlaidCode || (controlledCode ? undefined : props.code || code);
371
+ var fallbackContext = React.useMemo(function () {
372
+ return codeToFallbackProps(variantName, codeForFallback, fileName, props.fallbackUsesExtraFiles, props.fallbackUsesAllVariants);
373
+ }, [variantName, codeForFallback, fileName, props.fallbackUsesExtraFiles, props.fallbackUsesAllVariants]);
374
+ var context = React.useMemo(function () {
375
+ return {
376
+ code: overlaidCode || transformedCode,
377
+ // Use processed/transformed code
378
+ setCode: controlledSetCode,
379
+ selection: controlledSelection || selection,
380
+ setSelection: controlledSetSelection || setSelection,
381
+ components: controlledComponents || props.components,
382
+ availableTransforms: availableTransforms
383
+ };
384
+ }, [overlaidCode, transformedCode, controlledSetCode, selection, controlledSelection, controlledSetSelection, controlledComponents, props.components, availableTransforms]);
385
+ if (!props.variants && !props.components && !activeCode) {
386
+ throw new Error('CodeHighlighterClient requires either `variants`, `components`, or `code` to be provided.');
387
+ }
388
+ var fallback = props.fallback;
389
+ if (fallback && !props.skipFallback && !activeCodeReady) {
390
+ return /*#__PURE__*/_jsx(CodeHighlighterFallbackContext.Provider, {
391
+ value: fallbackContext,
392
+ children: fallback
393
+ });
394
+ }
395
+ return /*#__PURE__*/_jsx(CodeHighlighterContext.Provider, {
396
+ value: context,
397
+ children: props.children
398
+ });
399
+ }
@@ -0,0 +1,14 @@
1
+ import * as React from 'react';
2
+ import { Code, ControlledCode } from "./types.js";
3
+ import { Selection } from "../CodeControllerContext/index.js";
4
+ export interface CodeHighlighterContextType {
5
+ code?: Code;
6
+ setCode?: React.Dispatch<React.SetStateAction<ControlledCode | undefined>>;
7
+ selection?: Selection;
8
+ setSelection?: React.Dispatch<React.SetStateAction<Selection>>;
9
+ components?: Record<string, React.ReactNode>;
10
+ availableTransforms?: string[];
11
+ }
12
+ export declare const CodeHighlighterContext: React.Context<CodeHighlighterContextType | undefined>;
13
+ export declare function useCodeHighlighterContext(): CodeHighlighterContextType;
14
+ export declare function useCodeHighlighterContextOptional(): CodeHighlighterContextType | undefined;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CodeHighlighterContext.d.ts","sourceRoot":"","sources":["../../../src/CodeHighlighter/CodeHighlighterContext.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD,MAAM,WAAW,0BAA0B;IACzC,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,OAAO,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,GAAG,SAAS,CAAC,CAAC,CAAC;IAC3E,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,YAAY,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC;IAC/D,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAC7C,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;CAChC;AAED,eAAO,MAAM,sBAAsB,uDAElC,CAAC;AAEF,wBAAgB,yBAAyB,+BAQxC;AAED,wBAAgB,iCAAiC,2CAEhD"}
@@ -0,0 +1,14 @@
1
+ 'use client';
2
+
3
+ import * as React from 'react';
4
+ export var CodeHighlighterContext = /*#__PURE__*/React.createContext(undefined);
5
+ export function useCodeHighlighterContext() {
6
+ var context = React.useContext(CodeHighlighterContext);
7
+ if (context === undefined) {
8
+ throw new Error('CodeHighlighterContext is missing. `useCodeHighlighterContext` must be used within a `CodeHighlighter` component.');
9
+ }
10
+ return context;
11
+ }
12
+ export function useCodeHighlighterContextOptional() {
13
+ return React.useContext(CodeHighlighterContext);
14
+ }
@@ -0,0 +1,7 @@
1
+ import * as React from 'react';
2
+ import { ContentLoadingVariant } from "./types.js";
3
+ export interface CodeHighlighterFallbackContext extends ContentLoadingVariant {
4
+ extraVariants?: Record<string, ContentLoadingVariant>;
5
+ }
6
+ export declare const CodeHighlighterFallbackContext: React.Context<CodeHighlighterFallbackContext | undefined>;
7
+ export declare function useCodeHighlighterFallbackContext(): CodeHighlighterFallbackContext;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CodeHighlighterFallbackContext.d.ts","sourceRoot":"","sources":["../../../src/CodeHighlighter/CodeHighlighterFallbackContext.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAEhD,MAAM,WAAW,8BAA+B,SAAQ,qBAAqB;IAC3E,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;CACvD;AAED,eAAO,MAAM,8BAA8B,2DAE/B,CAAC;AAEb,wBAAgB,iCAAiC,mCAQhD"}
@@ -0,0 +1,11 @@
1
+ 'use client';
2
+
3
+ import * as React from 'react';
4
+ export var CodeHighlighterFallbackContext = /*#__PURE__*/React.createContext(undefined);
5
+ export function useCodeHighlighterFallbackContext() {
6
+ var context = React.useContext(CodeHighlighterFallbackContext);
7
+ if (context === undefined) {
8
+ throw new Error('CodeHighlighterFallbackContext is missing. `useCodeHighlighterFallbackContext` must be used within a `CodeHighlighter` component.');
9
+ }
10
+ return context;
11
+ }
@@ -0,0 +1,19 @@
1
+ import type { VariantSource, Transforms } from "./types.js";
2
+ /**
3
+ * Applies a specific transform to a variant source and returns the transformed source
4
+ * @param source - The original variant source (string, HastNodes, or hastJson object)
5
+ * @param transforms - Object containing all available transforms
6
+ * @param transformKey - The key of the specific transform to apply
7
+ * @returns The transformed variant source in the same format as the input
8
+ * @throws Error if the transform key doesn't exist or patching fails
9
+ */
10
+ export declare function applyTransform(source: VariantSource, transforms: Transforms, transformKey: string): VariantSource;
11
+ /**
12
+ * Applies multiple transforms to a variant source in sequence
13
+ * @param source - The original variant source
14
+ * @param transforms - Object containing all available transforms
15
+ * @param transformKeys - Array of transform keys to apply in order
16
+ * @returns The transformed variant source in the same format as the input
17
+ * @throws Error if any transform key doesn't exist or patching fails
18
+ */
19
+ export declare function applyTransforms(source: VariantSource, transforms: Transforms, transformKeys: string[]): VariantSource;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"applyTransform.d.ts","sourceRoot":"","sources":["../../../src/CodeHighlighter/applyTransform.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAEzD;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,aAAa,EACrB,UAAU,EAAE,UAAU,EACtB,YAAY,EAAE,MAAM,GACnB,aAAa,CA0Cf;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,aAAa,EACrB,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,MAAM,EAAE,GACtB,aAAa,CAQf"}
@@ -0,0 +1,75 @@
1
+ import _createForOfIteratorHelper from "@babel/runtime/helpers/esm/createForOfIteratorHelper";
2
+ import { patch, clone } from 'jsondiffpatch';
3
+ /**
4
+ * Applies a specific transform to a variant source and returns the transformed source
5
+ * @param source - The original variant source (string, HastNodes, or hastJson object)
6
+ * @param transforms - Object containing all available transforms
7
+ * @param transformKey - The key of the specific transform to apply
8
+ * @returns The transformed variant source in the same format as the input
9
+ * @throws Error if the transform key doesn't exist or patching fails
10
+ */
11
+ export function applyTransform(source, transforms, transformKey) {
12
+ var transform = transforms[transformKey];
13
+ if (!transform) {
14
+ throw new Error("Transform \"".concat(transformKey, "\" not found in transforms"));
15
+ }
16
+
17
+ // Determine the format of the source and apply the appropriate transform strategy
18
+ if (typeof source === 'string') {
19
+ // For string sources, deltas are typically line-array based (from transformSource)
20
+ var sourceLines = source.split('\n');
21
+ var patched = patch(sourceLines, transform.delta);
22
+ if (!Array.isArray(patched)) {
23
+ throw new Error("Patch for transform \"".concat(transformKey, "\" did not return an array"));
24
+ }
25
+ return patched.join('\n');
26
+ }
27
+
28
+ // For Hast node sources, deltas are typically node-based (from transformParsedSource)
29
+ var sourceNodes;
30
+ var isHastJson = 'hastJson' in source;
31
+ if (isHastJson) {
32
+ sourceNodes = JSON.parse(source.hastJson);
33
+ } else {
34
+ sourceNodes = source;
35
+ }
36
+
37
+ // Apply the node-based delta
38
+ var patchedNodes = patch(clone(sourceNodes), transform.delta);
39
+ if (!patchedNodes) {
40
+ throw new Error("Patch for transform \"".concat(transformKey, "\" returned null/undefined"));
41
+ }
42
+
43
+ // Return in the same format as the input
44
+ if (isHastJson) {
45
+ return {
46
+ hastJson: JSON.stringify(patchedNodes)
47
+ };
48
+ }
49
+ return patchedNodes;
50
+ }
51
+
52
+ /**
53
+ * Applies multiple transforms to a variant source in sequence
54
+ * @param source - The original variant source
55
+ * @param transforms - Object containing all available transforms
56
+ * @param transformKeys - Array of transform keys to apply in order
57
+ * @returns The transformed variant source in the same format as the input
58
+ * @throws Error if any transform key doesn't exist or patching fails
59
+ */
60
+ export function applyTransforms(source, transforms, transformKeys) {
61
+ var currentSource = source;
62
+ var _iterator = _createForOfIteratorHelper(transformKeys),
63
+ _step;
64
+ try {
65
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
66
+ var transformKey = _step.value;
67
+ currentSource = applyTransform(currentSource, transforms, transformKey);
68
+ }
69
+ } catch (err) {
70
+ _iterator.e(err);
71
+ } finally {
72
+ _iterator.f();
73
+ }
74
+ return currentSource;
75
+ }
@@ -0,0 +1,2 @@
1
+ import { Code, ContentLoadingProps } from "./types.js";
2
+ export declare function codeToFallbackProps(variant: string, code?: Code, fileName?: string, needsAllFiles?: boolean, needsAllVariants?: boolean): ContentLoadingProps;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codeToFallbackProps.d.ts","sourceRoot":"","sources":["../../../src/CodeHighlighter/codeToFallbackProps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,mBAAmB,EAAsC,MAAM,SAAS,CAAC;AAexF,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,IAAI,EACX,QAAQ,CAAC,EAAE,MAAM,EACjB,aAAa,UAAQ,EACrB,gBAAgB,UAAQ,GACvB,mBAAmB,CAyDrB"}
@@ -0,0 +1,70 @@
1
+ import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
2
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
3
+ import _typeof from "@babel/runtime/helpers/esm/typeof";
4
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
5
+ import { stringOrHastToJsx } from "../hast/hast.js";
6
+ function toExtraSource(variantCode, fileName) {
7
+ return Object.entries(variantCode.extraFiles || {}).reduce(function (acc, _ref) {
8
+ var _ref2 = _slicedToArray(_ref, 2),
9
+ name = _ref2[0],
10
+ file = _ref2[1];
11
+ if (name !== fileName && _typeof(file) === 'object' && file != null && file.source) {
12
+ acc[name] = stringOrHastToJsx(file.source);
13
+ }
14
+ return acc;
15
+ }, _defineProperty({}, variantCode.fileName, variantCode.source && stringOrHastToJsx(variantCode.source)));
16
+ }
17
+ export function codeToFallbackProps(variant, code, fileName) {
18
+ var needsAllFiles = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
19
+ var needsAllVariants = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;
20
+ var variantCode = code == null ? void 0 : code[variant];
21
+ if (!variantCode || typeof variantCode === 'string') {
22
+ return {};
23
+ }
24
+ var fileNames = [variantCode.fileName].concat(_toConsumableArray(Object.keys(variantCode.extraFiles || {})));
25
+ var source;
26
+ if (fileName) {
27
+ var _variantCode$extraFil;
28
+ var fileData = (_variantCode$extraFil = variantCode.extraFiles) == null ? void 0 : _variantCode$extraFil[fileName];
29
+ if (fileData && _typeof(fileData) === 'object' && 'source' in fileData && fileData.source) {
30
+ source = stringOrHastToJsx(fileData.source);
31
+ }
32
+ } else if (variantCode.source) {
33
+ source = stringOrHastToJsx(variantCode.source);
34
+ }
35
+ if (needsAllVariants || needsAllFiles) {
36
+ var extraSource = toExtraSource(variantCode, fileName);
37
+ if (needsAllVariants) {
38
+ var extraVariants = Object.entries(code || {}).reduce(function (acc, _ref3) {
39
+ var _ref4 = _slicedToArray(_ref3, 2),
40
+ name = _ref4[0],
41
+ vCode = _ref4[1];
42
+ if (name !== variant && vCode && typeof vCode !== 'string') {
43
+ var extraVariantExtraSource = toExtraSource(vCode, vCode.fileName);
44
+ acc[name] = {
45
+ fileNames: [vCode.fileName].concat(_toConsumableArray(Object.keys(vCode.extraFiles || {}))),
46
+ // TODO: use filesOrder if provided
47
+ source: vCode.source && stringOrHastToJsx(vCode.source),
48
+ extraSource: extraVariantExtraSource
49
+ };
50
+ }
51
+ return acc;
52
+ }, {});
53
+ return {
54
+ fileNames: fileNames,
55
+ source: source,
56
+ extraSource: extraSource,
57
+ extraVariants: extraVariants
58
+ };
59
+ }
60
+ return {
61
+ fileNames: fileNames,
62
+ source: source,
63
+ extraSource: extraSource
64
+ };
65
+ }
66
+ return {
67
+ fileNames: fileNames,
68
+ source: source
69
+ };
70
+ }
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/CodeHighlighter/errors.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ // TODO: all known errors should be defined here
@@ -0,0 +1,2 @@
1
+ import { Code } from "./types.js";
2
+ export declare function hasAllVariants(variants: string[], code: Code, needsHighlight?: boolean): boolean;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hasAllVariants.d.ts","sourceRoot":"","sources":["../../../src/CodeHighlighter/hasAllVariants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAiB,MAAM,SAAS,CAAC;AAgB9C,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,OAAO,WA6BtF"}