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

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 (479) hide show
  1. package/{build/CodeControllerContext → CodeControllerContext}/CodeControllerContext.d.ts +1 -1
  2. package/CodeControllerContext/CodeControllerContext.d.ts.map +1 -0
  3. package/CodeControllerContext/index.d.ts.map +1 -0
  4. package/CodeExternalsContext/CodeExternalsContext.d.ts +8 -0
  5. package/CodeExternalsContext/CodeExternalsContext.d.ts.map +1 -0
  6. package/CodeExternalsContext/CodeExternalsContext.js +7 -0
  7. package/CodeExternalsContext/index.d.ts +1 -0
  8. package/CodeExternalsContext/index.d.ts.map +1 -0
  9. package/CodeExternalsContext/index.js +1 -0
  10. package/CodeHighlighter/CodeHighlighter.d.ts +2 -0
  11. package/CodeHighlighter/CodeHighlighter.d.ts.map +1 -0
  12. package/CodeHighlighter/CodeHighlighter.js +470 -0
  13. package/CodeHighlighter/CodeHighlighterClient.d.ts.map +1 -0
  14. package/CodeHighlighter/CodeHighlighterClient.js +837 -0
  15. package/{build/CodeHighlighter → CodeHighlighter}/CodeHighlighterContext.d.ts +2 -0
  16. package/CodeHighlighter/CodeHighlighterContext.d.ts.map +1 -0
  17. package/CodeHighlighter/CodeHighlighterFallbackContext.d.ts.map +1 -0
  18. package/{build/esm/CodeHighlighter → CodeHighlighter}/CodeHighlighterFallbackContext.js +3 -1
  19. package/CodeHighlighter/applyTransform.d.ts.map +1 -0
  20. package/{build/CodeHighlighter → CodeHighlighter}/codeToFallbackProps.d.ts +2 -2
  21. package/CodeHighlighter/codeToFallbackProps.d.ts.map +1 -0
  22. package/{build/esm/CodeHighlighter → CodeHighlighter}/codeToFallbackProps.js +8 -5
  23. package/{build/esm/CodeHighlighter → CodeHighlighter}/errors.d.ts.map +1 -1
  24. package/CodeHighlighter/hasAllVariants.d.ts.map +1 -0
  25. package/CodeHighlighter/index.d.ts.map +1 -0
  26. package/{build/esm/CodeHighlighter → CodeHighlighter}/loadFallbackCode.d.ts +3 -2
  27. package/CodeHighlighter/loadFallbackCode.d.ts.map +1 -0
  28. package/{build/esm/CodeHighlighter → CodeHighlighter}/loadFallbackCode.js +325 -161
  29. package/CodeHighlighter/loadVariant.d.ts +12 -0
  30. package/CodeHighlighter/loadVariant.d.ts.map +1 -0
  31. package/CodeHighlighter/loadVariant.js +1083 -0
  32. package/{build/CodeHighlighter → CodeHighlighter}/maybeInitialData.d.ts +1 -1
  33. package/CodeHighlighter/maybeInitialData.d.ts.map +1 -0
  34. package/CodeHighlighter/parseCode.d.ts.map +1 -0
  35. package/{build/esm/CodeHighlighter → CodeHighlighter}/parseCode.js +14 -2
  36. package/CodeHighlighter/parseControlledCode.d.ts.map +1 -0
  37. package/{build/esm/CodeHighlighter → CodeHighlighter}/parseControlledCode.js +12 -1
  38. package/{build/esm/CodeHighlighter → CodeHighlighter}/transformCode.d.ts +1 -0
  39. package/CodeHighlighter/transformCode.d.ts.map +1 -0
  40. package/{build/esm/CodeHighlighter → CodeHighlighter}/transformCode.js +43 -3
  41. package/CodeHighlighter/transformParsedSource.d.ts.map +1 -0
  42. package/CodeHighlighter/transformSource.d.ts.map +1 -0
  43. package/{build/esm/CodeHighlighter → CodeHighlighter}/types.d.ts +39 -17
  44. package/CodeHighlighter/types.d.ts.map +1 -0
  45. package/CodeProvider/CodeContext.d.ts.map +1 -0
  46. package/CodeProvider/CodeProvider.d.ts.map +1 -0
  47. package/{build/esm/CodeProvider → CodeProvider}/CodeProvider.js +21 -6
  48. package/CodeProvider/index.d.ts +1 -0
  49. package/CodeProvider/index.d.ts.map +1 -0
  50. package/CodeProvider/index.js +1 -0
  51. package/abstractCreateDemo/abstractCreateDemo.d.ts +35 -0
  52. package/abstractCreateDemo/abstractCreateDemo.d.ts.map +1 -0
  53. package/abstractCreateDemo/abstractCreateDemo.js +91 -0
  54. package/abstractCreateDemo/index.d.ts +1 -0
  55. package/abstractCreateDemo/index.d.ts.map +1 -0
  56. package/abstractCreateDemo/index.js +1 -0
  57. package/createDemoData/createDemoData.d.ts +44 -0
  58. package/createDemoData/createDemoData.d.ts.map +1 -0
  59. package/createDemoData/createDemoData.js +75 -0
  60. package/createDemoData/index.d.ts +1 -0
  61. package/createDemoData/index.d.ts.map +1 -0
  62. package/createDemoData/index.js +1 -0
  63. package/createDemoData/types.d.ts +28 -0
  64. package/createDemoData/types.d.ts.map +1 -0
  65. package/createDemoData/types.js +1 -0
  66. package/package.json +20 -73
  67. package/pipeline/hastUtils/hastUtils.d.ts.map +1 -0
  68. package/{build/esm/hast/hast.js → pipeline/hastUtils/hastUtils.js} +2 -1
  69. package/pipeline/hastUtils/index.d.ts +1 -0
  70. package/pipeline/hastUtils/index.d.ts.map +1 -0
  71. package/pipeline/hastUtils/index.js +1 -0
  72. package/pipeline/loadPrecomputedCodeHighlighter/emitExternalsProvider.d.ts +54 -0
  73. package/pipeline/loadPrecomputedCodeHighlighter/emitExternalsProvider.d.ts.map +1 -0
  74. package/pipeline/loadPrecomputedCodeHighlighter/emitExternalsProvider.js +465 -0
  75. package/pipeline/loadPrecomputedCodeHighlighter/generateExternalsProvider.d.ts +15 -0
  76. package/pipeline/loadPrecomputedCodeHighlighter/generateExternalsProvider.d.ts.map +1 -0
  77. package/pipeline/loadPrecomputedCodeHighlighter/generateExternalsProvider.js +253 -0
  78. package/pipeline/loadPrecomputedCodeHighlighter/index.d.ts.map +1 -0
  79. package/pipeline/loadPrecomputedCodeHighlighter/loadPrecomputedCodeHighlighter.d.ts +20 -0
  80. package/pipeline/loadPrecomputedCodeHighlighter/loadPrecomputedCodeHighlighter.d.ts.map +1 -0
  81. package/{build/esm → pipeline}/loadPrecomputedCodeHighlighter/loadPrecomputedCodeHighlighter.js +105 -75
  82. package/{build/esm → pipeline}/loadPrecomputedCodeHighlighter/parseCreateFactoryCall.d.ts +12 -1
  83. package/pipeline/loadPrecomputedCodeHighlighter/parseCreateFactoryCall.d.ts.map +1 -0
  84. package/pipeline/loadPrecomputedCodeHighlighter/parseCreateFactoryCall.js +433 -0
  85. package/{build/esm → pipeline}/loadPrecomputedCodeHighlighter/parseFunctionParameters.d.ts +5 -1
  86. package/pipeline/loadPrecomputedCodeHighlighter/parseFunctionParameters.d.ts.map +1 -0
  87. package/{build/esm → pipeline}/loadPrecomputedCodeHighlighter/parseFunctionParameters.js +1 -1
  88. package/pipeline/loadPrecomputedCodeHighlighter/replacePrecomputeValue.d.ts +25 -0
  89. package/pipeline/loadPrecomputedCodeHighlighter/replacePrecomputeValue.d.ts.map +1 -0
  90. package/pipeline/loadPrecomputedCodeHighlighter/replacePrecomputeValue.js +73 -0
  91. package/pipeline/loadServerCodeMeta/index.d.ts +1 -0
  92. package/pipeline/loadServerCodeMeta/index.d.ts.map +1 -0
  93. package/pipeline/loadServerCodeMeta/index.js +1 -0
  94. package/{build/esm/loadServerCodeMeta/serverLoadCodeMeta.d.ts → pipeline/loadServerCodeMeta/loadServerCodeMeta.d.ts} +4 -4
  95. package/pipeline/loadServerCodeMeta/loadServerCodeMeta.d.ts.map +1 -0
  96. package/{build/esm/loadServerCodeMeta/serverLoadCodeMeta.js → pipeline/loadServerCodeMeta/loadServerCodeMeta.js} +18 -3
  97. package/pipeline/loadServerSource/index.d.ts +1 -0
  98. package/pipeline/loadServerSource/index.d.ts.map +1 -0
  99. package/pipeline/loadServerSource/index.js +1 -0
  100. package/{build/loadServerSource/serverLoadSource.d.ts → pipeline/loadServerSource/loadServerSource.d.ts} +5 -5
  101. package/pipeline/loadServerSource/loadServerSource.d.ts.map +1 -0
  102. package/pipeline/loadServerSource/loadServerSource.js +135 -0
  103. package/pipeline/loaderUtils/externalsToPackages.d.ts +1 -0
  104. package/pipeline/loaderUtils/externalsToPackages.d.ts.map +1 -0
  105. package/pipeline/loaderUtils/externalsToPackages.js +46 -0
  106. package/pipeline/loaderUtils/extractNameAndSlugFromUrl.d.ts +34 -0
  107. package/pipeline/loaderUtils/extractNameAndSlugFromUrl.d.ts.map +1 -0
  108. package/pipeline/loaderUtils/extractNameAndSlugFromUrl.js +161 -0
  109. package/pipeline/loaderUtils/getFileNameFromUrl.d.ts.map +1 -0
  110. package/pipeline/loaderUtils/index.d.ts +7 -0
  111. package/pipeline/loaderUtils/index.d.ts.map +1 -0
  112. package/pipeline/loaderUtils/index.js +7 -0
  113. package/pipeline/loaderUtils/mergeExternals.d.ts +32 -0
  114. package/pipeline/loaderUtils/mergeExternals.d.ts.map +1 -0
  115. package/pipeline/loaderUtils/mergeExternals.js +72 -0
  116. package/pipeline/loaderUtils/parseImports.d.ts +20 -0
  117. package/pipeline/loaderUtils/parseImports.d.ts.map +1 -0
  118. package/pipeline/loaderUtils/parseImports.js +307 -0
  119. package/{build/esm/loaderUtils/processImports.d.ts → pipeline/loaderUtils/processRelativeImports.d.ts} +2 -2
  120. package/pipeline/loaderUtils/processRelativeImports.d.ts.map +1 -0
  121. package/pipeline/loaderUtils/processRelativeImports.js +329 -0
  122. package/{build/esm → pipeline}/loaderUtils/resolveModulePath.d.ts +19 -6
  123. package/pipeline/loaderUtils/resolveModulePath.d.ts.map +1 -0
  124. package/pipeline/loaderUtils/resolveModulePath.js +1449 -0
  125. package/{build/esm → pipeline}/loaderUtils/resolveModulePathWithFs.d.ts +6 -3
  126. package/pipeline/loaderUtils/resolveModulePathWithFs.d.ts.map +1 -0
  127. package/{build/esm → pipeline}/loaderUtils/resolveModulePathWithFs.js +8 -4
  128. package/pipeline/loaderUtils/rewriteImports.d.ts +9 -0
  129. package/pipeline/loaderUtils/rewriteImports.d.ts.map +1 -0
  130. package/pipeline/loaderUtils/rewriteImports.js +35 -0
  131. package/pipeline/parseSource/grammars.d.ts.map +1 -0
  132. package/pipeline/parseSource/index.d.ts.map +1 -0
  133. package/pipeline/parseSource/parseSource.d.ts +3 -0
  134. package/pipeline/parseSource/parseSource.d.ts.map +1 -0
  135. package/{build/esm → pipeline}/parseSource/parseSource.js +15 -5
  136. package/pipeline/transformHtmlCode/index.d.ts +2 -0
  137. package/pipeline/transformHtmlCode/index.d.ts.map +1 -0
  138. package/pipeline/transformHtmlCode/index.js +4 -0
  139. package/pipeline/transformHtmlCode/transformHtmlCode.d.ts +13 -0
  140. package/pipeline/transformHtmlCode/transformHtmlCode.d.ts.map +1 -0
  141. package/pipeline/transformHtmlCode/transformHtmlCode.js +303 -0
  142. package/pipeline/transformMarkdownCode/index.d.ts +2 -0
  143. package/pipeline/transformMarkdownCode/index.d.ts.map +1 -0
  144. package/pipeline/transformMarkdownCode/index.js +4 -0
  145. package/pipeline/transformMarkdownCode/transformMarkdownCode.d.ts +2 -0
  146. package/pipeline/transformMarkdownCode/transformMarkdownCode.d.ts.map +1 -0
  147. package/pipeline/transformMarkdownCode/transformMarkdownCode.js +514 -0
  148. package/pipeline/transformTypescriptToJavascript/index.d.ts +1 -0
  149. package/pipeline/transformTypescriptToJavascript/index.d.ts.map +1 -0
  150. package/pipeline/transformTypescriptToJavascript/index.js +1 -0
  151. package/pipeline/transformTypescriptToJavascript/removeTypes.d.ts.map +1 -0
  152. package/pipeline/transformTypescriptToJavascript/transformTypescriptToJavascript.d.ts +3 -0
  153. package/pipeline/transformTypescriptToJavascript/transformTypescriptToJavascript.d.ts.map +1 -0
  154. package/{build/esm/transformTsToJs/transformTsToJs.js → pipeline/transformTypescriptToJavascript/transformTypescriptToJavascript.js} +4 -4
  155. package/useCode/index.d.ts.map +1 -0
  156. package/{build/useCode → useCode}/useCode.d.ts +13 -11
  157. package/useCode/useCode.d.ts.map +1 -0
  158. package/useCode/useCode.js +122 -0
  159. package/useCode/useCodeUtils.d.ts +45 -0
  160. package/useCode/useCodeUtils.d.ts.map +1 -0
  161. package/useCode/useCodeUtils.js +240 -0
  162. package/useCode/useCopyFunctionality.d.ts +17 -0
  163. package/useCode/useCopyFunctionality.d.ts.map +1 -0
  164. package/useCode/useCopyFunctionality.js +28 -0
  165. package/useCode/useFileNavigation.d.ts +48 -0
  166. package/useCode/useFileNavigation.d.ts.map +1 -0
  167. package/useCode/useFileNavigation.js +370 -0
  168. package/useCode/useSourceEditing.d.ts +19 -0
  169. package/useCode/useSourceEditing.d.ts.map +1 -0
  170. package/useCode/useSourceEditing.js +32 -0
  171. package/useCode/useTransformManagement.d.ts +28 -0
  172. package/useCode/useTransformManagement.d.ts.map +1 -0
  173. package/useCode/useTransformManagement.js +82 -0
  174. package/useCode/useUIState.d.ts +16 -0
  175. package/useCode/useUIState.d.ts.map +1 -0
  176. package/useCode/useUIState.js +21 -0
  177. package/useCode/useVariantSelection.d.ts +21 -0
  178. package/useCode/useVariantSelection.d.ts.map +1 -0
  179. package/useCode/useVariantSelection.js +84 -0
  180. package/{build/esm/useCopier → useCopier}/index.d.ts +1 -1
  181. package/useCopier/index.d.ts.map +1 -0
  182. package/{build/esm/useCopier → useCopier}/index.js +5 -5
  183. package/useDemo/createCodeSandbox.d.ts +18 -0
  184. package/useDemo/createCodeSandbox.d.ts.map +1 -0
  185. package/useDemo/createCodeSandbox.js +48 -0
  186. package/useDemo/createStackBlitz.d.ts +22 -0
  187. package/useDemo/createStackBlitz.d.ts.map +1 -0
  188. package/useDemo/createStackBlitz.js +38 -0
  189. package/useDemo/examineVariant.d.ts +25 -0
  190. package/useDemo/examineVariant.d.ts.map +1 -0
  191. package/useDemo/examineVariant.js +134 -0
  192. package/useDemo/exportVariant.d.ts +110 -0
  193. package/useDemo/exportVariant.d.ts.map +1 -0
  194. package/useDemo/exportVariant.js +320 -0
  195. package/useDemo/exportVariantAsCra.d.ts +15 -0
  196. package/useDemo/exportVariantAsCra.d.ts.map +1 -0
  197. package/useDemo/exportVariantAsCra.js +56 -0
  198. package/useDemo/flattenVariant.d.ts +17 -0
  199. package/useDemo/flattenVariant.d.ts.map +1 -0
  200. package/useDemo/flattenVariant.js +206 -0
  201. package/useDemo/index.d.ts +6 -0
  202. package/useDemo/index.d.ts.map +1 -0
  203. package/useDemo/index.js +6 -0
  204. package/useDemo/useDemo.d.ts +78 -0
  205. package/useDemo/useDemo.d.ts.map +1 -0
  206. package/useDemo/useDemo.js +174 -0
  207. package/useLocalStorageState/index.d.ts +2 -0
  208. package/useLocalStorageState/index.d.ts.map +1 -0
  209. package/useLocalStorageState/index.js +2 -0
  210. package/useLocalStorageState/useLocalStorageState.d.ts +14 -0
  211. package/useLocalStorageState/useLocalStorageState.d.ts.map +1 -0
  212. package/useLocalStorageState/useLocalStorageState.js +128 -0
  213. package/useOnHydrate/index.d.ts.map +1 -0
  214. package/useOnHydrate/useOnHydrate.d.ts.map +1 -0
  215. package/useOnIdle/index.d.ts.map +1 -0
  216. package/useOnIdle/useOnIdle.d.ts.map +1 -0
  217. package/useUrlHashState/index.d.ts +1 -0
  218. package/useUrlHashState/index.d.ts.map +1 -0
  219. package/useUrlHashState/index.js +1 -0
  220. package/useUrlHashState/useUrlHashState.d.ts +50 -0
  221. package/useUrlHashState/useUrlHashState.d.ts.map +1 -0
  222. package/useUrlHashState/useUrlHashState.js +113 -0
  223. package/build/CodeControllerContext/CodeControllerContext.js +0 -21
  224. package/build/CodeControllerContext/index.js +0 -16
  225. package/build/CodeHighlighter/CodeHighlighter.d.ts +0 -2
  226. package/build/CodeHighlighter/CodeHighlighter.js +0 -329
  227. package/build/CodeHighlighter/CodeHighlighterClient.js +0 -406
  228. package/build/CodeHighlighter/CodeHighlighterContext.js +0 -22
  229. package/build/CodeHighlighter/CodeHighlighterFallbackContext.js +0 -18
  230. package/build/CodeHighlighter/applyTransform.js +0 -83
  231. package/build/CodeHighlighter/codeToFallbackProps.js +0 -77
  232. package/build/CodeHighlighter/errors.js +0 -2
  233. package/build/CodeHighlighter/hasAllVariants.js +0 -37
  234. package/build/CodeHighlighter/index.js +0 -49
  235. package/build/CodeHighlighter/loadFallbackCode.d.ts +0 -9
  236. package/build/CodeHighlighter/loadFallbackCode.js +0 -474
  237. package/build/CodeHighlighter/loadVariant.d.ts +0 -11
  238. package/build/CodeHighlighter/loadVariant.js +0 -715
  239. package/build/CodeHighlighter/maybeInitialData.js +0 -101
  240. package/build/CodeHighlighter/parseCode.js +0 -129
  241. package/build/CodeHighlighter/parseControlledCode.js +0 -83
  242. package/build/CodeHighlighter/transformCode.d.ts +0 -20
  243. package/build/CodeHighlighter/transformCode.js +0 -231
  244. package/build/CodeHighlighter/transformParsedSource.js +0 -73
  245. package/build/CodeHighlighter/transformSource.js +0 -114
  246. package/build/CodeHighlighter/types.d.ts +0 -138
  247. package/build/CodeHighlighter/types.js +0 -5
  248. package/build/CodeProvider/CodeContext.js +0 -14
  249. package/build/CodeProvider/CodeProvider.js +0 -57
  250. package/build/CodeProvider/index.d.ts +0 -2
  251. package/build/CodeProvider/index.js +0 -27
  252. package/build/README.md +0 -19
  253. package/build/esm/CodeControllerContext/CodeControllerContext.d.ts +0 -22
  254. package/build/esm/CodeControllerContext/CodeControllerContext.d.ts.map +0 -1
  255. package/build/esm/CodeControllerContext/index.d.ts +0 -1
  256. package/build/esm/CodeControllerContext/index.d.ts.map +0 -1
  257. package/build/esm/CodeHighlighter/CodeHighlighter.d.ts +0 -2
  258. package/build/esm/CodeHighlighter/CodeHighlighter.d.ts.map +0 -1
  259. package/build/esm/CodeHighlighter/CodeHighlighter.js +0 -321
  260. package/build/esm/CodeHighlighter/CodeHighlighterClient.d.ts +0 -2
  261. package/build/esm/CodeHighlighter/CodeHighlighterClient.d.ts.map +0 -1
  262. package/build/esm/CodeHighlighter/CodeHighlighterClient.js +0 -399
  263. package/build/esm/CodeHighlighter/CodeHighlighterContext.d.ts +0 -14
  264. package/build/esm/CodeHighlighter/CodeHighlighterContext.d.ts.map +0 -1
  265. package/build/esm/CodeHighlighter/CodeHighlighterFallbackContext.d.ts +0 -7
  266. package/build/esm/CodeHighlighter/CodeHighlighterFallbackContext.d.ts.map +0 -1
  267. package/build/esm/CodeHighlighter/applyTransform.d.ts +0 -19
  268. package/build/esm/CodeHighlighter/applyTransform.d.ts.map +0 -1
  269. package/build/esm/CodeHighlighter/codeToFallbackProps.d.ts +0 -2
  270. package/build/esm/CodeHighlighter/codeToFallbackProps.d.ts.map +0 -1
  271. package/build/esm/CodeHighlighter/errors.d.ts +0 -0
  272. package/build/esm/CodeHighlighter/hasAllVariants.d.ts +0 -2
  273. package/build/esm/CodeHighlighter/hasAllVariants.d.ts.map +0 -1
  274. package/build/esm/CodeHighlighter/index.d.ts +0 -4
  275. package/build/esm/CodeHighlighter/index.d.ts.map +0 -1
  276. package/build/esm/CodeHighlighter/loadFallbackCode.d.ts.map +0 -1
  277. package/build/esm/CodeHighlighter/loadVariant.d.ts +0 -11
  278. package/build/esm/CodeHighlighter/loadVariant.d.ts.map +0 -1
  279. package/build/esm/CodeHighlighter/loadVariant.js +0 -708
  280. package/build/esm/CodeHighlighter/maybeInitialData.d.ts +0 -10
  281. package/build/esm/CodeHighlighter/maybeInitialData.d.ts.map +0 -1
  282. package/build/esm/CodeHighlighter/parseCode.d.ts +0 -6
  283. package/build/esm/CodeHighlighter/parseCode.d.ts.map +0 -1
  284. package/build/esm/CodeHighlighter/parseControlledCode.d.ts +0 -6
  285. package/build/esm/CodeHighlighter/parseControlledCode.d.ts.map +0 -1
  286. package/build/esm/CodeHighlighter/transformCode.d.ts.map +0 -1
  287. package/build/esm/CodeHighlighter/transformParsedSource.d.ts +0 -3
  288. package/build/esm/CodeHighlighter/transformParsedSource.d.ts.map +0 -1
  289. package/build/esm/CodeHighlighter/transformSource.d.ts +0 -2
  290. package/build/esm/CodeHighlighter/transformSource.d.ts.map +0 -1
  291. package/build/esm/CodeHighlighter/types.d.ts.map +0 -1
  292. package/build/esm/CodeProvider/CodeContext.d.ts +0 -12
  293. package/build/esm/CodeProvider/CodeContext.d.ts.map +0 -1
  294. package/build/esm/CodeProvider/CodeProvider.d.ts +0 -13
  295. package/build/esm/CodeProvider/CodeProvider.d.ts.map +0 -1
  296. package/build/esm/CodeProvider/index.d.ts +0 -2
  297. package/build/esm/CodeProvider/index.d.ts.map +0 -1
  298. package/build/esm/CodeProvider/index.js +0 -2
  299. package/build/esm/hast/hast.d.ts.map +0 -1
  300. package/build/esm/hast/index.d.ts +0 -1
  301. package/build/esm/hast/index.d.ts.map +0 -1
  302. package/build/esm/hast/index.js +0 -1
  303. package/build/esm/loadPrecomputedCodeHighlighter/index.d.ts.map +0 -1
  304. package/build/esm/loadPrecomputedCodeHighlighter/loadPrecomputedCodeHighlighter.d.ts +0 -57
  305. package/build/esm/loadPrecomputedCodeHighlighter/loadPrecomputedCodeHighlighter.d.ts.map +0 -1
  306. package/build/esm/loadPrecomputedCodeHighlighter/parseCreateFactoryCall.d.ts.map +0 -1
  307. package/build/esm/loadPrecomputedCodeHighlighter/parseCreateFactoryCall.js +0 -243
  308. package/build/esm/loadPrecomputedCodeHighlighter/parseFunctionParameters.d.ts.map +0 -1
  309. package/build/esm/loadPrecomputedCodeHighlighter/replacePrecomputeValue.d.ts +0 -27
  310. package/build/esm/loadPrecomputedCodeHighlighter/replacePrecomputeValue.d.ts.map +0 -1
  311. package/build/esm/loadPrecomputedCodeHighlighter/replacePrecomputeValue.js +0 -37
  312. package/build/esm/loadServerCodeMeta/index.d.ts +0 -1
  313. package/build/esm/loadServerCodeMeta/index.d.ts.map +0 -1
  314. package/build/esm/loadServerCodeMeta/index.js +0 -1
  315. package/build/esm/loadServerCodeMeta/serverLoadCodeMeta.d.ts.map +0 -1
  316. package/build/esm/loadServerSource/index.d.ts +0 -1
  317. package/build/esm/loadServerSource/index.d.ts.map +0 -1
  318. package/build/esm/loadServerSource/index.js +0 -1
  319. package/build/esm/loadServerSource/serverLoadSource.d.ts +0 -25
  320. package/build/esm/loadServerSource/serverLoadSource.d.ts.map +0 -1
  321. package/build/esm/loadServerSource/serverLoadSource.js +0 -100
  322. package/build/esm/loaderUtils/getFileNameFromUrl.d.ts.map +0 -1
  323. package/build/esm/loaderUtils/index.d.ts +0 -5
  324. package/build/esm/loaderUtils/index.d.ts.map +0 -1
  325. package/build/esm/loaderUtils/index.js +0 -5
  326. package/build/esm/loaderUtils/processImports.d.ts.map +0 -1
  327. package/build/esm/loaderUtils/processImports.js +0 -82
  328. package/build/esm/loaderUtils/resolveImports.d.ts +0 -4
  329. package/build/esm/loaderUtils/resolveImports.d.ts.map +0 -1
  330. package/build/esm/loaderUtils/resolveImports.js +0 -71
  331. package/build/esm/loaderUtils/resolveModulePath.d.ts.map +0 -1
  332. package/build/esm/loaderUtils/resolveModulePath.js +0 -827
  333. package/build/esm/loaderUtils/resolveModulePathWithFs.d.ts.map +0 -1
  334. package/build/esm/loaderUtils/rewriteImports.d.ts +0 -9
  335. package/build/esm/loaderUtils/rewriteImports.d.ts.map +0 -1
  336. package/build/esm/loaderUtils/rewriteImports.js +0 -57
  337. package/build/esm/package.json +0 -1
  338. package/build/esm/parseSource/grammars.d.ts.map +0 -1
  339. package/build/esm/parseSource/index.d.ts.map +0 -1
  340. package/build/esm/parseSource/parseSource.d.ts +0 -3
  341. package/build/esm/parseSource/parseSource.d.ts.map +0 -1
  342. package/build/esm/transformRelativeMarkdownPaths/index.d.ts +0 -2
  343. package/build/esm/transformRelativeMarkdownPaths/index.d.ts.map +0 -1
  344. package/build/esm/transformRelativeMarkdownPaths/index.js +0 -4
  345. package/build/esm/transformRelativeMarkdownPaths/transformRelativeMarkdownPaths.d.ts +0 -12
  346. package/build/esm/transformRelativeMarkdownPaths/transformRelativeMarkdownPaths.d.ts.map +0 -1
  347. package/build/esm/transformRelativeMarkdownPaths/transformRelativeMarkdownPaths.js +0 -30
  348. package/build/esm/transformTsToJs/index.d.ts +0 -1
  349. package/build/esm/transformTsToJs/index.d.ts.map +0 -1
  350. package/build/esm/transformTsToJs/index.js +0 -1
  351. package/build/esm/transformTsToJs/removeTypes.d.ts.map +0 -1
  352. package/build/esm/transformTsToJs/transformTsToJs.d.ts +0 -3
  353. package/build/esm/transformTsToJs/transformTsToJs.d.ts.map +0 -1
  354. package/build/esm/useCode/index.d.ts.map +0 -1
  355. package/build/esm/useCode/useCode.d.ts +0 -37
  356. package/build/esm/useCode/useCode.d.ts.map +0 -1
  357. package/build/esm/useCode/useCode.js +0 -393
  358. package/build/esm/useCopier/index.d.ts.map +0 -1
  359. package/build/esm/useDemo/index.d.ts +0 -39
  360. package/build/esm/useDemo/index.d.ts.map +0 -1
  361. package/build/esm/useDemo/index.js +0 -17
  362. package/build/esm/useOnHydrate/index.d.ts.map +0 -1
  363. package/build/esm/useOnHydrate/useOnHydrate.d.ts.map +0 -1
  364. package/build/esm/useOnIdle/index.d.ts.map +0 -1
  365. package/build/esm/useOnIdle/useOnIdle.d.ts.map +0 -1
  366. package/build/hast/hast.d.ts +0 -11
  367. package/build/hast/hast.js +0 -75
  368. package/build/hast/index.d.ts +0 -1
  369. package/build/hast/index.js +0 -16
  370. package/build/loadPrecomputedCodeHighlighter/index.d.ts +0 -2
  371. package/build/loadPrecomputedCodeHighlighter/index.js +0 -9
  372. package/build/loadPrecomputedCodeHighlighter/loadPrecomputedCodeHighlighter.d.ts +0 -57
  373. package/build/loadPrecomputedCodeHighlighter/loadPrecomputedCodeHighlighter.js +0 -201
  374. package/build/loadPrecomputedCodeHighlighter/parseCreateFactoryCall.d.ts +0 -20
  375. package/build/loadPrecomputedCodeHighlighter/parseCreateFactoryCall.js +0 -248
  376. package/build/loadPrecomputedCodeHighlighter/parseFunctionParameters.d.ts +0 -15
  377. package/build/loadPrecomputedCodeHighlighter/parseFunctionParameters.js +0 -174
  378. package/build/loadPrecomputedCodeHighlighter/replacePrecomputeValue.d.ts +0 -27
  379. package/build/loadPrecomputedCodeHighlighter/replacePrecomputeValue.js +0 -43
  380. package/build/loadServerCodeMeta/index.d.ts +0 -1
  381. package/build/loadServerCodeMeta/index.js +0 -16
  382. package/build/loadServerCodeMeta/serverLoadCodeMeta.d.ts +0 -24
  383. package/build/loadServerCodeMeta/serverLoadCodeMeta.js +0 -85
  384. package/build/loadServerSource/index.d.ts +0 -1
  385. package/build/loadServerSource/index.js +0 -16
  386. package/build/loadServerSource/serverLoadSource.js +0 -108
  387. package/build/loaderUtils/getFileNameFromUrl.d.ts +0 -11
  388. package/build/loaderUtils/getFileNameFromUrl.js +0 -38
  389. package/build/loaderUtils/index.d.ts +0 -5
  390. package/build/loaderUtils/index.js +0 -60
  391. package/build/loaderUtils/processImports.d.ts +0 -19
  392. package/build/loaderUtils/processImports.js +0 -89
  393. package/build/loaderUtils/resolveImports.d.ts +0 -4
  394. package/build/loaderUtils/resolveImports.js +0 -78
  395. package/build/loaderUtils/resolveModulePath.d.ts +0 -74
  396. package/build/loaderUtils/resolveModulePath.js +0 -835
  397. package/build/loaderUtils/resolveModulePathWithFs.d.ts +0 -44
  398. package/build/loaderUtils/resolveModulePathWithFs.js +0 -163
  399. package/build/loaderUtils/rewriteImports.d.ts +0 -9
  400. package/build/loaderUtils/rewriteImports.js +0 -62
  401. package/build/package.json +0 -101
  402. package/build/parseSource/grammars.d.ts +0 -2
  403. package/build/parseSource/grammars.js +0 -34
  404. package/build/parseSource/index.d.ts +0 -1
  405. package/build/parseSource/index.js +0 -16
  406. package/build/parseSource/parseSource.d.ts +0 -3
  407. package/build/parseSource/parseSource.js +0 -44
  408. package/build/transformRelativeMarkdownPaths/index.d.ts +0 -2
  409. package/build/transformRelativeMarkdownPaths/index.js +0 -9
  410. package/build/transformRelativeMarkdownPaths/transformRelativeMarkdownPaths.d.ts +0 -12
  411. package/build/transformRelativeMarkdownPaths/transformRelativeMarkdownPaths.js +0 -36
  412. package/build/transformTsToJs/index.d.ts +0 -1
  413. package/build/transformTsToJs/index.js +0 -16
  414. package/build/transformTsToJs/removeTypes.d.ts +0 -13
  415. package/build/transformTsToJs/removeTypes.js +0 -141
  416. package/build/transformTsToJs/transformTsToJs.d.ts +0 -3
  417. package/build/transformTsToJs/transformTsToJs.js +0 -41
  418. package/build/useCode/index.d.ts +0 -1
  419. package/build/useCode/index.js +0 -16
  420. package/build/useCode/useCode.js +0 -401
  421. package/build/useCopier/index.d.ts +0 -15
  422. package/build/useCopier/index.js +0 -70
  423. package/build/useDemo/index.d.ts +0 -39
  424. package/build/useDemo/index.js +0 -25
  425. package/build/useOnHydrate/index.d.ts +0 -1
  426. package/build/useOnHydrate/index.js +0 -16
  427. package/build/useOnHydrate/useOnHydrate.d.ts +0 -1
  428. package/build/useOnHydrate/useOnHydrate.js +0 -26
  429. package/build/useOnIdle/index.d.ts +0 -1
  430. package/build/useOnIdle/index.js +0 -16
  431. package/build/useOnIdle/useOnIdle.d.ts +0 -1
  432. package/build/useOnIdle/useOnIdle.js +0 -47
  433. /package/{build/esm/CodeControllerContext → CodeControllerContext}/CodeControllerContext.js +0 -0
  434. /package/{build/CodeControllerContext → CodeControllerContext}/index.d.ts +0 -0
  435. /package/{build/esm/CodeControllerContext → CodeControllerContext}/index.js +0 -0
  436. /package/{build/CodeHighlighter → CodeHighlighter}/CodeHighlighterClient.d.ts +0 -0
  437. /package/{build/esm/CodeHighlighter → CodeHighlighter}/CodeHighlighterContext.js +0 -0
  438. /package/{build/CodeHighlighter → CodeHighlighter}/CodeHighlighterFallbackContext.d.ts +0 -0
  439. /package/{build/CodeHighlighter → CodeHighlighter}/applyTransform.d.ts +0 -0
  440. /package/{build/esm/CodeHighlighter → CodeHighlighter}/applyTransform.js +0 -0
  441. /package/{build/CodeHighlighter → CodeHighlighter}/errors.d.ts +0 -0
  442. /package/{build/esm/CodeHighlighter → CodeHighlighter}/errors.js +0 -0
  443. /package/{build/CodeHighlighter → CodeHighlighter}/hasAllVariants.d.ts +0 -0
  444. /package/{build/esm/CodeHighlighter → CodeHighlighter}/hasAllVariants.js +0 -0
  445. /package/{build/CodeHighlighter → CodeHighlighter}/index.d.ts +0 -0
  446. /package/{build/esm/CodeHighlighter → CodeHighlighter}/index.js +0 -0
  447. /package/{build/esm/CodeHighlighter → CodeHighlighter}/maybeInitialData.js +0 -0
  448. /package/{build/CodeHighlighter → CodeHighlighter}/parseCode.d.ts +0 -0
  449. /package/{build/CodeHighlighter → CodeHighlighter}/parseControlledCode.d.ts +0 -0
  450. /package/{build/CodeHighlighter → CodeHighlighter}/transformParsedSource.d.ts +0 -0
  451. /package/{build/esm/CodeHighlighter → CodeHighlighter}/transformParsedSource.js +0 -0
  452. /package/{build/CodeHighlighter → CodeHighlighter}/transformSource.d.ts +0 -0
  453. /package/{build/esm/CodeHighlighter → CodeHighlighter}/transformSource.js +0 -0
  454. /package/{build/esm/CodeHighlighter → CodeHighlighter}/types.js +0 -0
  455. /package/{build/CodeProvider → CodeProvider}/CodeContext.d.ts +0 -0
  456. /package/{build/esm/CodeProvider → CodeProvider}/CodeContext.js +0 -0
  457. /package/{build/CodeProvider → CodeProvider}/CodeProvider.d.ts +0 -0
  458. /package/{build/LICENSE → LICENSE} +0 -0
  459. /package/{build/esm/hast/hast.d.ts → pipeline/hastUtils/hastUtils.d.ts} +0 -0
  460. /package/{build/esm → pipeline}/loadPrecomputedCodeHighlighter/index.d.ts +0 -0
  461. /package/{build/esm → pipeline}/loadPrecomputedCodeHighlighter/index.js +0 -0
  462. /package/{build/esm → pipeline}/loaderUtils/getFileNameFromUrl.d.ts +0 -0
  463. /package/{build/esm → pipeline}/loaderUtils/getFileNameFromUrl.js +0 -0
  464. /package/{build/esm → pipeline}/parseSource/grammars.d.ts +0 -0
  465. /package/{build/esm → pipeline}/parseSource/grammars.js +0 -0
  466. /package/{build/esm → pipeline}/parseSource/index.d.ts +0 -0
  467. /package/{build/esm → pipeline}/parseSource/index.js +0 -0
  468. /package/{build/esm/transformTsToJs → pipeline/transformTypescriptToJavascript}/removeTypes.d.ts +0 -0
  469. /package/{build/esm/transformTsToJs → pipeline/transformTypescriptToJavascript}/removeTypes.js +0 -0
  470. /package/{build/esm/useCode → useCode}/index.d.ts +0 -0
  471. /package/{build/esm/useCode → useCode}/index.js +0 -0
  472. /package/{build/esm/useOnHydrate → useOnHydrate}/index.d.ts +0 -0
  473. /package/{build/esm/useOnHydrate → useOnHydrate}/index.js +0 -0
  474. /package/{build/esm/useOnHydrate → useOnHydrate}/useOnHydrate.d.ts +0 -0
  475. /package/{build/esm/useOnHydrate → useOnHydrate}/useOnHydrate.js +0 -0
  476. /package/{build/esm/useOnIdle → useOnIdle}/index.d.ts +0 -0
  477. /package/{build/esm/useOnIdle → useOnIdle}/index.js +0 -0
  478. /package/{build/esm/useOnIdle → useOnIdle}/useOnIdle.d.ts +0 -0
  479. /package/{build/esm/useOnIdle → useOnIdle}/useOnIdle.js +0 -0
@@ -0,0 +1,837 @@
1
+ 'use client';
2
+
3
+ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
4
+ import _typeof from "@babel/runtime/helpers/esm/typeof";
5
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
6
+ import _createForOfIteratorHelper from "@babel/runtime/helpers/esm/createForOfIteratorHelper";
7
+ import _regeneratorRuntime from "@babel/runtime/helpers/esm/regeneratorRuntime";
8
+ import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
9
+ import * as React from 'react';
10
+ import { useCodeContext } from "../CodeProvider/CodeContext.js";
11
+ import { CodeHighlighterContext } from "./CodeHighlighterContext.js";
12
+ import { maybeInitialData } from "./maybeInitialData.js";
13
+ import { loadFallbackCode } from "./loadFallbackCode.js";
14
+ import { hasAllVariants } from "./hasAllVariants.js";
15
+ import { loadVariant } from "./loadVariant.js";
16
+ import { CodeHighlighterFallbackContext } from "./CodeHighlighterFallbackContext.js";
17
+ import { useControlledCode } from "../CodeControllerContext/index.js";
18
+ import { codeToFallbackProps } from "./codeToFallbackProps.js";
19
+ import { parseCode } from "./parseCode.js";
20
+ import { applyTransforms, getAvailableTransforms } from "./transformCode.js";
21
+ import { parseControlledCode } from "./parseControlledCode.js";
22
+ import { useOnHydrate } from "../useOnHydrate/index.js";
23
+ import { useOnIdle } from "../useOnIdle/index.js";
24
+ import { jsx as _jsx } from "react/jsx-runtime";
25
+ var DEBUG = false; // Set to true for debugging purposes
26
+
27
+ function useInitialData(_ref) {
28
+ var variants = _ref.variants,
29
+ variantName = _ref.variantName,
30
+ code = _ref.code,
31
+ setCode = _ref.setCode,
32
+ fileName = _ref.fileName,
33
+ url = _ref.url,
34
+ highlightAt = _ref.highlightAt,
35
+ fallbackUsesExtraFiles = _ref.fallbackUsesExtraFiles,
36
+ fallbackUsesAllVariants = _ref.fallbackUsesAllVariants,
37
+ isControlled = _ref.isControlled,
38
+ globalsCode = _ref.globalsCode,
39
+ setProcessedGlobalsCode = _ref.setProcessedGlobalsCode;
40
+ var _useCodeContext = useCodeContext(),
41
+ sourceParser = _useCodeContext.sourceParser,
42
+ loadCodeMeta = _useCodeContext.loadCodeMeta,
43
+ loadVariantMeta = _useCodeContext.loadVariantMeta,
44
+ loadSource = _useCodeContext.loadSource;
45
+ var _React$useMemo = React.useMemo(function () {
46
+ return maybeInitialData(variants, variantName, code, fileName, highlightAt === 'init', fallbackUsesExtraFiles, fallbackUsesAllVariants);
47
+ }, [variants, variantName, code, fileName, highlightAt, fallbackUsesExtraFiles, fallbackUsesAllVariants]),
48
+ initialData = _React$useMemo.initialData,
49
+ reason = _React$useMemo.reason;
50
+
51
+ // TODO: fallbackInitialRenderOnly option? this would mean we can't fetch fallback data on the client side
52
+ // Load initial data if not provided
53
+ React.useEffect(function () {
54
+ if (initialData || isControlled) {
55
+ return;
56
+ }
57
+ if (!url) {
58
+ // TODO: handle error - URL is required for loading fallback data
59
+ return;
60
+ }
61
+
62
+ // TODO: abort controller
63
+
64
+ _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
65
+ var loaded;
66
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
67
+ while (1) switch (_context.prev = _context.next) {
68
+ case 0:
69
+ if (DEBUG) {
70
+ // eslint-disable-next-line no-console
71
+ console.log('Loading initial data for CodeHighlighterClient: ', reason);
72
+ }
73
+ _context.next = 3;
74
+ return loadFallbackCode(url, variantName, code, highlightAt === 'init', fallbackUsesExtraFiles, fallbackUsesAllVariants, sourceParser, loadSource, loadVariantMeta, loadCodeMeta, fileName, variants, globalsCode // Let loadFallbackCode handle processing
75
+ )["catch"](function (error) {
76
+ return {
77
+ error: error
78
+ };
79
+ });
80
+ case 3:
81
+ loaded = _context.sent;
82
+ if ('error' in loaded) {
83
+ // TODO: handle error
84
+ } else {
85
+ setCode(loaded.code);
86
+ // Store processed globalsCode from loadFallbackCode result
87
+ if (loaded.processedGlobalsCode) {
88
+ setProcessedGlobalsCode(loaded.processedGlobalsCode);
89
+ }
90
+ }
91
+ case 5:
92
+ case "end":
93
+ return _context.stop();
94
+ }
95
+ }, _callee);
96
+ }))();
97
+ }, [initialData, reason, isControlled, variantName, code, setCode, highlightAt, url, sourceParser, loadSource, loadVariantMeta, loadCodeMeta, fallbackUsesExtraFiles, fallbackUsesAllVariants, fileName, variants, globalsCode, setProcessedGlobalsCode]);
98
+ }
99
+ function useAllVariants(_ref3) {
100
+ var readyForContent = _ref3.readyForContent,
101
+ variants = _ref3.variants,
102
+ isControlled = _ref3.isControlled,
103
+ url = _ref3.url,
104
+ code = _ref3.code,
105
+ setCode = _ref3.setCode,
106
+ processedGlobalsCode = _ref3.processedGlobalsCode,
107
+ globalsCode = _ref3.globalsCode,
108
+ setProcessedGlobalsCode = _ref3.setProcessedGlobalsCode;
109
+ var _useCodeContext2 = useCodeContext(),
110
+ loadCodeMeta = _useCodeContext2.loadCodeMeta,
111
+ loadVariantMeta = _useCodeContext2.loadVariantMeta,
112
+ loadSource = _useCodeContext2.loadSource;
113
+ React.useEffect(function () {
114
+ if (readyForContent || isControlled) {
115
+ return;
116
+ }
117
+ if (!url) {
118
+ // URL is required for loading variants
119
+ return;
120
+ }
121
+
122
+ // TODO: abort controller
123
+
124
+ _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
125
+ var loadedCode, globalsCodeObjects, result, resultCode, errors, _iterator, _step, item;
126
+ return _regeneratorRuntime().wrap(function _callee3$(_context3) {
127
+ while (1) switch (_context3.prev = _context3.next) {
128
+ case 0:
129
+ loadedCode = code;
130
+ if (loadedCode) {
131
+ _context3.next = 7;
132
+ break;
133
+ }
134
+ if (loadCodeMeta) {
135
+ _context3.next = 4;
136
+ break;
137
+ }
138
+ throw new Error('"loadCodeMeta" function is required when no code is provided');
139
+ case 4:
140
+ _context3.next = 6;
141
+ return loadCodeMeta(url);
142
+ case 6:
143
+ loadedCode = _context3.sent;
144
+ case 7:
145
+ // Use the already-processed globalsCode from state, or process it if not available
146
+ globalsCodeObjects = [];
147
+ if (!processedGlobalsCode) {
148
+ _context3.next = 12;
149
+ break;
150
+ }
151
+ // Use the already-processed globalsCode from state
152
+ globalsCodeObjects = processedGlobalsCode;
153
+ _context3.next = 17;
154
+ break;
155
+ case 12:
156
+ if (!(globalsCode && globalsCode.length > 0)) {
157
+ _context3.next = 17;
158
+ break;
159
+ }
160
+ _context3.next = 15;
161
+ return Promise.all(globalsCode.map(/*#__PURE__*/function () {
162
+ var _ref5 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(item) {
163
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
164
+ while (1) switch (_context2.prev = _context2.next) {
165
+ case 0:
166
+ if (!(typeof item === 'string')) {
167
+ _context2.next = 4;
168
+ break;
169
+ }
170
+ if (loadCodeMeta) {
171
+ _context2.next = 3;
172
+ break;
173
+ }
174
+ throw new Error('"loadCodeMeta" function is required for string URLs in globalsCode');
175
+ case 3:
176
+ return _context2.abrupt("return", loadCodeMeta(item));
177
+ case 4:
178
+ return _context2.abrupt("return", item);
179
+ case 5:
180
+ case "end":
181
+ return _context2.stop();
182
+ }
183
+ }, _callee2);
184
+ }));
185
+ return function (_x) {
186
+ return _ref5.apply(this, arguments);
187
+ };
188
+ }()));
189
+ case 15:
190
+ globalsCodeObjects = _context3.sent;
191
+ // Store processed globalsCode in state for future use
192
+ setProcessedGlobalsCode(globalsCodeObjects);
193
+ case 17:
194
+ _context3.next = 19;
195
+ return Promise.all(variants.map(function (name) {
196
+ // Resolve globalsCode for this specific variant
197
+ var globalsForVariant = globalsCodeObjects.map(function (codeObj) {
198
+ // Only include if this variant exists in the globalsCode
199
+ return codeObj[name];
200
+ }).filter(function (item) {
201
+ return Boolean(item);
202
+ });
203
+ return loadVariant(url, name, loadedCode[name], undefined,
204
+ // sourceParser - skip parsing
205
+ loadSource, loadVariantMeta, undefined,
206
+ // sourceTransformers - skip transforming
207
+ {
208
+ disableParsing: true,
209
+ disableTransforms: true,
210
+ globalsCode: globalsForVariant
211
+ }).then(function (variant) {
212
+ return {
213
+ name: name,
214
+ variant: variant
215
+ };
216
+ })["catch"](function (error) {
217
+ return {
218
+ error: error
219
+ };
220
+ });
221
+ }));
222
+ case 19:
223
+ result = _context3.sent;
224
+ resultCode = {};
225
+ errors = [];
226
+ _iterator = _createForOfIteratorHelper(result);
227
+ try {
228
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
229
+ item = _step.value;
230
+ if ('error' in item) {
231
+ errors.push(item.error);
232
+ } else {
233
+ resultCode[item.name] = item.variant.code;
234
+ }
235
+ }
236
+ } catch (err) {
237
+ _iterator.e(err);
238
+ } finally {
239
+ _iterator.f();
240
+ }
241
+ if (errors.length > 0) {
242
+ // TODO: handle error
243
+ } else {
244
+ setCode(resultCode);
245
+ }
246
+ case 25:
247
+ case "end":
248
+ return _context3.stop();
249
+ }
250
+ }, _callee3);
251
+ }))();
252
+ }, [readyForContent, isControlled, variants, url, code, setCode, loadSource, loadVariantMeta, loadCodeMeta, processedGlobalsCode, globalsCode, setProcessedGlobalsCode]);
253
+ return {
254
+ readyForContent: readyForContent
255
+ };
256
+ }
257
+ function useCodeParsing(_ref6) {
258
+ var code = _ref6.code,
259
+ readyForContent = _ref6.readyForContent,
260
+ highlightAt = _ref6.highlightAt;
261
+ var _useCodeContext3 = useCodeContext(),
262
+ parseSource = _useCodeContext3.parseSource;
263
+
264
+ // Use timing hooks to determine when to highlight
265
+ var isHydrated = useOnHydrate();
266
+ var isIdle = useOnIdle();
267
+
268
+ // Determine if we should highlight based on the highlightAt setting
269
+ var shouldHighlight = React.useMemo(function () {
270
+ if (!readyForContent) {
271
+ return false;
272
+ }
273
+ switch (highlightAt) {
274
+ case 'hydration':
275
+ return isHydrated;
276
+ case 'idle':
277
+ return isIdle;
278
+ case 'init':
279
+ default:
280
+ return true;
281
+ }
282
+ }, [readyForContent, highlightAt, isHydrated, isIdle]);
283
+
284
+ // Parse the internal code state when ready and timing conditions are met
285
+ var parsedCode = React.useMemo(function () {
286
+ if (!code || !shouldHighlight || !parseSource) {
287
+ return undefined;
288
+ }
289
+ return parseCode(code, parseSource);
290
+ }, [code, shouldHighlight, parseSource]);
291
+ var deferHighlight = !shouldHighlight;
292
+ return {
293
+ parsedCode: parsedCode,
294
+ deferHighlight: deferHighlight
295
+ };
296
+ }
297
+ function useCodeTransforms(_ref7) {
298
+ var parsedCode = _ref7.parsedCode,
299
+ variantName = _ref7.variantName;
300
+ var _useCodeContext4 = useCodeContext(),
301
+ sourceParser = _useCodeContext4.sourceParser;
302
+ var _React$useState = React.useState(undefined),
303
+ _React$useState2 = _slicedToArray(_React$useState, 2),
304
+ transformedCode = _React$useState2[0],
305
+ setTransformedCode = _React$useState2[1];
306
+
307
+ // Get available transforms from the current variant (separate memo for efficiency)
308
+ var availableTransforms = React.useMemo(function () {
309
+ return getAvailableTransforms(parsedCode, variantName);
310
+ }, [parsedCode, variantName]);
311
+
312
+ // Effect to compute transformations for all variants
313
+ React.useEffect(function () {
314
+ if (!parsedCode || !sourceParser) {
315
+ setTransformedCode(parsedCode);
316
+ return;
317
+ }
318
+
319
+ // Process transformations for all variants
320
+ _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee4() {
321
+ var parseSource, enhanced;
322
+ return _regeneratorRuntime().wrap(function _callee4$(_context4) {
323
+ while (1) switch (_context4.prev = _context4.next) {
324
+ case 0:
325
+ _context4.prev = 0;
326
+ _context4.next = 3;
327
+ return sourceParser;
328
+ case 3:
329
+ parseSource = _context4.sent;
330
+ _context4.next = 6;
331
+ return applyTransforms(parsedCode, parseSource);
332
+ case 6:
333
+ enhanced = _context4.sent;
334
+ setTransformedCode(enhanced);
335
+ _context4.next = 14;
336
+ break;
337
+ case 10:
338
+ _context4.prev = 10;
339
+ _context4.t0 = _context4["catch"](0);
340
+ console.error('Failed to process transforms:', _context4.t0);
341
+ setTransformedCode(parsedCode);
342
+ case 14:
343
+ case "end":
344
+ return _context4.stop();
345
+ }
346
+ }, _callee4, null, [[0, 10]]);
347
+ }))();
348
+ }, [parsedCode, sourceParser]);
349
+ return {
350
+ transformedCode: transformedCode,
351
+ availableTransforms: availableTransforms
352
+ };
353
+ }
354
+ function useControlledCodeParsing(_ref9) {
355
+ var controlledCode = _ref9.controlledCode;
356
+ var _useCodeContext5 = useCodeContext(),
357
+ parseSource = _useCodeContext5.parseSource;
358
+
359
+ // Parse the controlled code separately (no need to check readyForContent)
360
+ var parsedControlledCode = React.useMemo(function () {
361
+ if (!controlledCode || !parseSource) {
362
+ return undefined;
363
+ }
364
+ return parseControlledCode(controlledCode, parseSource);
365
+ }, [controlledCode, parseSource]);
366
+ return {
367
+ parsedControlledCode: parsedControlledCode
368
+ };
369
+ }
370
+ function useGlobalsCodeMerging(_ref0) {
371
+ var code = _ref0.code,
372
+ globalsCode = _ref0.globalsCode,
373
+ processedGlobalsCode = _ref0.processedGlobalsCode,
374
+ setProcessedGlobalsCode = _ref0.setProcessedGlobalsCode,
375
+ readyForContent = _ref0.readyForContent,
376
+ variants = _ref0.variants;
377
+ var _useCodeContext6 = useCodeContext(),
378
+ loadCodeMeta = _useCodeContext6.loadCodeMeta,
379
+ loadSource = _useCodeContext6.loadSource,
380
+ loadVariantMeta = _useCodeContext6.loadVariantMeta;
381
+
382
+ // Set processedGlobalsCode if we have ready Code objects but haven't stored them yet
383
+ React.useEffect(function () {
384
+ if (!globalsCode || processedGlobalsCode) {
385
+ return; // No globals or already processed
386
+ }
387
+
388
+ // Check if all items are already Code objects (precomputed)
389
+ if (globalsCode.every(function (item) {
390
+ return _typeof(item) === 'object';
391
+ })) {
392
+ var codeObjects = globalsCode;
393
+ // Check if all Code objects have all their own variants
394
+ var allReady = codeObjects.every(function (codeObj) {
395
+ return hasAllVariants(Object.keys(codeObj), codeObj);
396
+ });
397
+ if (allReady) {
398
+ setProcessedGlobalsCode(codeObjects);
399
+ return;
400
+ }
401
+ // If not all ready, fall through to loading logic below
402
+ }
403
+
404
+ // Need to load string URLs or load missing variants
405
+ _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee8() {
406
+ var basicCodeObjects, fullyLoadedCodeObjects;
407
+ return _regeneratorRuntime().wrap(function _callee8$(_context8) {
408
+ while (1) switch (_context8.prev = _context8.next) {
409
+ case 0:
410
+ _context8.prev = 0;
411
+ _context8.next = 3;
412
+ return Promise.all(globalsCode.map(/*#__PURE__*/function () {
413
+ var _ref10 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee5(item) {
414
+ return _regeneratorRuntime().wrap(function _callee5$(_context5) {
415
+ while (1) switch (_context5.prev = _context5.next) {
416
+ case 0:
417
+ if (!(typeof item === 'string')) {
418
+ _context5.next = 8;
419
+ break;
420
+ }
421
+ if (loadCodeMeta) {
422
+ _context5.next = 3;
423
+ break;
424
+ }
425
+ throw new Error('"loadCodeMeta" function is required for string URLs in globalsCode');
426
+ case 3:
427
+ _context5.next = 5;
428
+ return loadCodeMeta(item);
429
+ case 5:
430
+ _context5.t0 = _context5.sent;
431
+ _context5.t1 = item;
432
+ return _context5.abrupt("return", {
433
+ codeObj: _context5.t0,
434
+ originalUrl: _context5.t1
435
+ });
436
+ case 8:
437
+ return _context5.abrupt("return", {
438
+ codeObj: item,
439
+ originalUrl: undefined
440
+ });
441
+ case 9:
442
+ case "end":
443
+ return _context5.stop();
444
+ }
445
+ }, _callee5);
446
+ }));
447
+ return function (_x2) {
448
+ return _ref10.apply(this, arguments);
449
+ };
450
+ }()));
451
+ case 3:
452
+ basicCodeObjects = _context8.sent;
453
+ _context8.next = 6;
454
+ return Promise.all(basicCodeObjects.map(/*#__PURE__*/function () {
455
+ var _ref12 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee7(_ref11) {
456
+ var codeObj, originalUrl, loadedVariants;
457
+ return _regeneratorRuntime().wrap(function _callee7$(_context7) {
458
+ while (1) switch (_context7.prev = _context7.next) {
459
+ case 0:
460
+ codeObj = _ref11.codeObj, originalUrl = _ref11.originalUrl;
461
+ if (!hasAllVariants(variants, codeObj)) {
462
+ _context7.next = 3;
463
+ break;
464
+ }
465
+ return _context7.abrupt("return", codeObj);
466
+ case 3:
467
+ // Need to load missing variants
468
+ loadedVariants = _objectSpread({}, codeObj);
469
+ _context7.next = 6;
470
+ return Promise.all(variants.map(/*#__PURE__*/function () {
471
+ var _ref13 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee6(variantName) {
472
+ var result;
473
+ return _regeneratorRuntime().wrap(function _callee6$(_context6) {
474
+ while (1) switch (_context6.prev = _context6.next) {
475
+ case 0:
476
+ if (!(codeObj[variantName] && _typeof(codeObj[variantName]) === 'object')) {
477
+ _context6.next = 2;
478
+ break;
479
+ }
480
+ return _context6.abrupt("return");
481
+ case 2:
482
+ _context6.prev = 2;
483
+ _context6.next = 5;
484
+ return loadVariant(originalUrl || '',
485
+ // Use the original URL if available
486
+ variantName, codeObj[variantName],
487
+ // May be undefined or string
488
+ undefined,
489
+ // sourceParser - skip parsing for now
490
+ loadSource, loadVariantMeta, undefined,
491
+ // sourceTransformers - skip transforming
492
+ {
493
+ disableParsing: true,
494
+ disableTransforms: true
495
+ });
496
+ case 5:
497
+ result = _context6.sent;
498
+ loadedVariants[variantName] = result.code;
499
+ _context6.next = 12;
500
+ break;
501
+ case 9:
502
+ _context6.prev = 9;
503
+ _context6.t0 = _context6["catch"](2);
504
+ console.warn("Failed to load variant ".concat(variantName, " for globalsCode:"), _context6.t0);
505
+ // Keep the original variant data (may be undefined)
506
+ case 12:
507
+ case "end":
508
+ return _context6.stop();
509
+ }
510
+ }, _callee6, null, [[2, 9]]);
511
+ }));
512
+ return function (_x4) {
513
+ return _ref13.apply(this, arguments);
514
+ };
515
+ }()));
516
+ case 6:
517
+ return _context7.abrupt("return", loadedVariants);
518
+ case 7:
519
+ case "end":
520
+ return _context7.stop();
521
+ }
522
+ }, _callee7);
523
+ }));
524
+ return function (_x3) {
525
+ return _ref12.apply(this, arguments);
526
+ };
527
+ }()));
528
+ case 6:
529
+ fullyLoadedCodeObjects = _context8.sent;
530
+ setProcessedGlobalsCode(fullyLoadedCodeObjects);
531
+ _context8.next = 13;
532
+ break;
533
+ case 10:
534
+ _context8.prev = 10;
535
+ _context8.t0 = _context8["catch"](0);
536
+ console.warn('Failed to load globalsCode:', _context8.t0);
537
+ case 13:
538
+ case "end":
539
+ return _context8.stop();
540
+ }
541
+ }, _callee8, null, [[0, 10]]);
542
+ }))();
543
+ }, [globalsCode, processedGlobalsCode, setProcessedGlobalsCode, loadCodeMeta, loadSource, loadVariantMeta, variants]);
544
+
545
+ // Determine globalsCodeObjects to use (prefer processed, fallback to direct if ready)
546
+ var globalsCodeObjects = React.useMemo(function () {
547
+ if (processedGlobalsCode) {
548
+ return processedGlobalsCode;
549
+ }
550
+ if (globalsCode && globalsCode.every(function (item) {
551
+ return _typeof(item) === 'object';
552
+ })) {
553
+ var codeObjects = globalsCode;
554
+ var allGlobalsReady = codeObjects.every(function (codeObj) {
555
+ return hasAllVariants(Object.keys(codeObj), codeObj);
556
+ });
557
+ if (allGlobalsReady) {
558
+ return codeObjects;
559
+ }
560
+ }
561
+ return undefined;
562
+ }, [processedGlobalsCode, globalsCode]);
563
+
564
+ // Merge globalsCode with code when ready
565
+ return React.useMemo(function () {
566
+ // If no globalsCode or code not ready, return as-is
567
+ if (!globalsCode || !code || !readyForContent) {
568
+ return code;
569
+ }
570
+
571
+ // If globalsCodeObjects isn't ready yet, return unmerged code for now
572
+ if (!globalsCodeObjects) {
573
+ return code;
574
+ }
575
+
576
+ // For precomputed code, do simple synchronous merging of extraFiles
577
+ var mergedCode = _objectSpread({}, code);
578
+ var hasChanges = false;
579
+ variants.forEach(function (variant) {
580
+ var variantData = code[variant];
581
+ if (!variantData || typeof variantData === 'string') {
582
+ return;
583
+ }
584
+
585
+ // Get globalsCode for this variant (only exact matches, no fallback)
586
+ var globalsForVariant = globalsCodeObjects.map(function (codeObj) {
587
+ return codeObj[variant];
588
+ }).filter(function (item) {
589
+ return Boolean(item) && _typeof(item) === 'object';
590
+ });
591
+ if (globalsForVariant.length > 0) {
592
+ // Simple merge for precomputed data - just combine extraFiles
593
+ var mergedExtraFiles = _objectSpread({}, variantData.extraFiles || {});
594
+ globalsForVariant.forEach(function (globalVariant) {
595
+ if (globalVariant.extraFiles) {
596
+ Object.assign(mergedExtraFiles, globalVariant.extraFiles);
597
+ }
598
+ });
599
+
600
+ // Only update if we actually have extra files to merge
601
+ if (Object.keys(mergedExtraFiles).length > Object.keys(variantData.extraFiles || {}).length) {
602
+ mergedCode[variant] = _objectSpread(_objectSpread({}, variantData), {}, {
603
+ extraFiles: mergedExtraFiles
604
+ });
605
+ hasChanges = true;
606
+ }
607
+ }
608
+ });
609
+
610
+ // Return merged code if we made changes, otherwise return original code
611
+ return hasChanges ? mergedCode : code;
612
+ }, [code, globalsCode, globalsCodeObjects, readyForContent, variants]);
613
+ }
614
+ function usePropsCodeGlobalsMerging(_ref14) {
615
+ var code = _ref14.code,
616
+ globalsCode = _ref14.globalsCode,
617
+ processedGlobalsCode = _ref14.processedGlobalsCode,
618
+ variants = _ref14.variants;
619
+ // For props.code, always do synchronous merging if possible
620
+ // We don't want to cache this in state since props.code can change frequently
621
+ return React.useMemo(function () {
622
+ if (!code || !globalsCode || !processedGlobalsCode) {
623
+ return code; // No merge needed or not ready
624
+ }
625
+
626
+ // Use processedGlobalsCode for synchronous merging
627
+ var globalsCodeObjects = processedGlobalsCode;
628
+
629
+ // For props.code (controlled), do simple synchronous merging
630
+ var mergedCode = _objectSpread({}, code);
631
+ var hasChanges = false;
632
+ variants.forEach(function (variant) {
633
+ var variantData = code[variant];
634
+ if (!variantData || typeof variantData === 'string') {
635
+ return;
636
+ }
637
+
638
+ // Get globalsCode for this variant (only exact matches, no fallback)
639
+ var globalsForVariant = globalsCodeObjects.map(function (codeObj) {
640
+ return codeObj[variant];
641
+ }).filter(function (item) {
642
+ return Boolean(item) && _typeof(item) === 'object';
643
+ });
644
+ if (globalsForVariant.length > 0) {
645
+ // Simple merge for controlled data - just combine extraFiles
646
+ var mergedExtraFiles = _objectSpread({}, variantData.extraFiles || {});
647
+ globalsForVariant.forEach(function (globalVariant) {
648
+ if (globalVariant.extraFiles) {
649
+ Object.assign(mergedExtraFiles, globalVariant.extraFiles);
650
+ }
651
+ });
652
+
653
+ // Only update if we actually have extra files to merge
654
+ if (Object.keys(mergedExtraFiles).length > Object.keys(variantData.extraFiles || {}).length) {
655
+ mergedCode[variant] = _objectSpread(_objectSpread({}, variantData), {}, {
656
+ extraFiles: mergedExtraFiles
657
+ });
658
+ hasChanges = true;
659
+ }
660
+ }
661
+ });
662
+
663
+ // Return merged code if we made changes, otherwise return original code
664
+ return hasChanges ? mergedCode : code;
665
+ }, [code, globalsCode, processedGlobalsCode, variants]);
666
+ }
667
+ export function CodeHighlighterClient(props) {
668
+ var _useControlledCode = useControlledCode(),
669
+ controlledCode = _useControlledCode.controlledCode,
670
+ controlledSelection = _useControlledCode.controlledSelection,
671
+ controlledSetCode = _useControlledCode.controlledSetCode,
672
+ controlledSetSelection = _useControlledCode.controlledSetSelection,
673
+ controlledComponents = _useControlledCode.controlledComponents;
674
+ var isControlled = Boolean(props.code || controlledCode);
675
+
676
+ // TODO: props.code is for controlled components, props.precompute is for precomputed code
677
+ // props.code should only be highlighted, but no additional fetching should be done
678
+ // this is the case with live demos where the code can be edited by the user
679
+ // then maybe props.code shouldn't allow highlighted code, only strings?
680
+ // this is a code highlighter afterall, why would they want to control the highlighting aspect?
681
+
682
+ // TODO: should we empty this state if controlled?
683
+ var _React$useState3 = React.useState(_typeof(props.precompute) === 'object' ? props.precompute : undefined),
684
+ _React$useState4 = _slicedToArray(_React$useState3, 2),
685
+ code = _React$useState4[0],
686
+ setCode = _React$useState4[1];
687
+
688
+ // State to store processed globalsCode to avoid duplicate loading
689
+ var _React$useState5 = React.useState(undefined),
690
+ _React$useState6 = _slicedToArray(_React$useState5, 2),
691
+ processedGlobalsCode = _React$useState6[0],
692
+ setProcessedGlobalsCode = _React$useState6[1];
693
+
694
+ // TODO: if using props.variant, then the variant is controlled and we can't use our own state
695
+ // does props.variant make any sense instead of controlledSelection?.variant?
696
+ var _React$useState7 = React.useState({
697
+ variant: props.initialVariant || props.defaultVariant || 'Default'
698
+ }),
699
+ _React$useState8 = _slicedToArray(_React$useState7, 2),
700
+ selection = _React$useState8[0],
701
+ setSelection = _React$useState8[1];
702
+ var variantName = (controlledSelection == null ? void 0 : controlledSelection.variant) || props.variant || selection.variant;
703
+ var activeCode = controlledCode || props.code || code;
704
+ var initialFilename;
705
+ if (_typeof(activeCode == null ? void 0 : activeCode[variantName]) === 'object') {
706
+ var variant = activeCode[variantName];
707
+ initialFilename = variant != null && variant.filesOrder ? variant.filesOrder[0] : variant == null ? void 0 : variant.fileName;
708
+ }
709
+ var fileName = (controlledSelection == null ? void 0 : controlledSelection.fileName) || props.fileName || initialFilename;
710
+ var variants = props.variants || Object.keys(props.components || activeCode || {});
711
+ var url = props.url,
712
+ highlightAt = props.highlightAt,
713
+ fallbackUsesExtraFiles = props.fallbackUsesExtraFiles,
714
+ fallbackUsesAllVariants = props.fallbackUsesAllVariants;
715
+ useInitialData({
716
+ variants: variants,
717
+ variantName: variantName,
718
+ code: code,
719
+ setCode: setCode,
720
+ fileName: fileName,
721
+ url: url,
722
+ highlightAt: highlightAt,
723
+ fallbackUsesExtraFiles: fallbackUsesExtraFiles,
724
+ fallbackUsesAllVariants: fallbackUsesAllVariants,
725
+ isControlled: isControlled,
726
+ globalsCode: props.globalsCode,
727
+ setProcessedGlobalsCode: setProcessedGlobalsCode
728
+ });
729
+ var readyForContent = React.useMemo(function () {
730
+ if (!code) {
731
+ return false;
732
+ }
733
+ return hasAllVariants(variants, code);
734
+ }, [code, variants]);
735
+
736
+ // Separate check for activeCode to determine when to show fallback
737
+ var activeCodeReady = React.useMemo(function () {
738
+ if (!activeCode) {
739
+ return false;
740
+ }
741
+
742
+ // Controlled code is always ready since it comes from editing already-ready code
743
+ if (controlledCode) {
744
+ return true;
745
+ }
746
+
747
+ // For regular code, use the existing hasAllVariants function
748
+ var regularCode = props.code || code;
749
+ return regularCode ? hasAllVariants(variants, regularCode) : false;
750
+ }, [activeCode, controlledCode, variants, props.code, code]);
751
+ useAllVariants({
752
+ readyForContent: readyForContent,
753
+ variants: variants,
754
+ isControlled: isControlled,
755
+ url: url,
756
+ code: code,
757
+ setCode: setCode,
758
+ processedGlobalsCode: processedGlobalsCode,
759
+ globalsCode: props.globalsCode,
760
+ setProcessedGlobalsCode: setProcessedGlobalsCode
761
+ });
762
+
763
+ // Merge globalsCode with internal state code (fetched data) - this should be stable once ready
764
+ var stateCodeWithGlobals = useGlobalsCodeMerging({
765
+ code: code,
766
+ // Only use internal state, not props.code
767
+ globalsCode: props.globalsCode,
768
+ processedGlobalsCode: processedGlobalsCode,
769
+ setProcessedGlobalsCode: setProcessedGlobalsCode,
770
+ readyForContent: readyForContent,
771
+ variants: variants
772
+ });
773
+
774
+ // For props.code (controlled), always re-merge when it changes (don't cache in state)
775
+ var propsCodeWithGlobals = usePropsCodeGlobalsMerging({
776
+ code: props.code,
777
+ globalsCode: props.globalsCode,
778
+ processedGlobalsCode: processedGlobalsCode,
779
+ variants: variants
780
+ });
781
+
782
+ // Use props.code result if available, otherwise use state code result
783
+ var codeWithGlobals = propsCodeWithGlobals || stateCodeWithGlobals;
784
+ var _useCodeParsing = useCodeParsing({
785
+ code: codeWithGlobals,
786
+ readyForContent: readyForContent || Boolean(props.code),
787
+ highlightAt: highlightAt
788
+ }),
789
+ parsedCode = _useCodeParsing.parsedCode,
790
+ deferHighlight = _useCodeParsing.deferHighlight;
791
+ var _useCodeTransforms = useCodeTransforms({
792
+ parsedCode: parsedCode,
793
+ variantName: variantName
794
+ }),
795
+ transformedCode = _useCodeTransforms.transformedCode,
796
+ availableTransforms = _useCodeTransforms.availableTransforms;
797
+ var _useControlledCodePar = useControlledCodeParsing({
798
+ controlledCode: controlledCode
799
+ }),
800
+ parsedControlledCode = _useControlledCodePar.parsedControlledCode;
801
+
802
+ // Determine the final overlaid code (controlled takes precedence)
803
+ var overlaidCode = parsedControlledCode || transformedCode || codeWithGlobals;
804
+
805
+ // For fallback context, use the processed code or fall back to non-controlled code
806
+ var codeForFallback = overlaidCode || (controlledCode ? undefined : props.code || code);
807
+ var fallbackContext = React.useMemo(function () {
808
+ return codeToFallbackProps(variantName, codeForFallback, fileName, props.fallbackUsesExtraFiles, props.fallbackUsesAllVariants);
809
+ }, [variantName, codeForFallback, fileName, props.fallbackUsesExtraFiles, props.fallbackUsesAllVariants]);
810
+ var context = React.useMemo(function () {
811
+ return {
812
+ code: overlaidCode,
813
+ // Use processed/transformed code
814
+ setCode: controlledSetCode,
815
+ selection: controlledSelection || selection,
816
+ setSelection: controlledSetSelection || setSelection,
817
+ components: controlledComponents || props.components,
818
+ availableTransforms: isControlled ? [] : availableTransforms,
819
+ url: props.url,
820
+ deferHighlight: deferHighlight
821
+ };
822
+ }, [overlaidCode, controlledSetCode, selection, controlledSelection, controlledSetSelection, controlledComponents, props.components, isControlled, availableTransforms, props.url, deferHighlight]);
823
+ if (!props.variants && !props.components && !activeCode) {
824
+ throw new Error('CodeHighlighterClient requires either `variants`, `components`, or `code` to be provided.');
825
+ }
826
+ var fallback = props.fallback;
827
+ if (fallback && !props.skipFallback && !activeCodeReady) {
828
+ return /*#__PURE__*/_jsx(CodeHighlighterFallbackContext.Provider, {
829
+ value: fallbackContext,
830
+ children: fallback
831
+ });
832
+ }
833
+ return /*#__PURE__*/_jsx(CodeHighlighterContext.Provider, {
834
+ value: context,
835
+ children: props.children
836
+ });
837
+ }