@mui/internal-docs-infra 0.1.1-alpha.1 → 0.1.1-alpha.11

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 (288) hide show
  1. package/CodeControllerContext/CodeControllerContext.d.ts +1 -1
  2. package/CodeControllerContext/CodeControllerContext.d.ts.map +1 -1
  3. package/CodeControllerContext/index.d.ts.map +1 -1
  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 +1 -1
  11. package/CodeHighlighter/CodeHighlighter.d.ts.map +1 -1
  12. package/CodeHighlighter/CodeHighlighter.js +235 -86
  13. package/CodeHighlighter/CodeHighlighterClient.d.ts.map +1 -1
  14. package/CodeHighlighter/CodeHighlighterClient.js +500 -62
  15. package/CodeHighlighter/CodeHighlighterContext.d.ts +2 -0
  16. package/CodeHighlighter/CodeHighlighterContext.d.ts.map +1 -1
  17. package/CodeHighlighter/CodeHighlighterFallbackContext.d.ts.map +1 -1
  18. package/CodeHighlighter/CodeHighlighterFallbackContext.js +3 -1
  19. package/CodeHighlighter/applyTransform.d.ts.map +1 -1
  20. package/CodeHighlighter/codeToFallbackProps.d.ts +2 -2
  21. package/CodeHighlighter/codeToFallbackProps.d.ts.map +1 -1
  22. package/CodeHighlighter/codeToFallbackProps.js +8 -5
  23. package/CodeHighlighter/errors.d.ts.map +1 -1
  24. package/CodeHighlighter/hasAllVariants.d.ts.map +1 -1
  25. package/CodeHighlighter/index.d.ts.map +1 -1
  26. package/CodeHighlighter/loadFallbackCode.d.ts +3 -2
  27. package/CodeHighlighter/loadFallbackCode.d.ts.map +1 -1
  28. package/CodeHighlighter/loadFallbackCode.js +325 -161
  29. package/CodeHighlighter/loadVariant.d.ts +3 -2
  30. package/CodeHighlighter/loadVariant.d.ts.map +1 -1
  31. package/CodeHighlighter/loadVariant.js +604 -229
  32. package/CodeHighlighter/maybeInitialData.d.ts +1 -1
  33. package/CodeHighlighter/maybeInitialData.d.ts.map +1 -1
  34. package/CodeHighlighter/parseCode.d.ts.map +1 -1
  35. package/CodeHighlighter/parseCode.js +14 -2
  36. package/CodeHighlighter/parseControlledCode.d.ts.map +1 -1
  37. package/CodeHighlighter/parseControlledCode.js +12 -1
  38. package/CodeHighlighter/transformCode.d.ts +1 -0
  39. package/CodeHighlighter/transformCode.d.ts.map +1 -1
  40. package/CodeHighlighter/transformCode.js +43 -3
  41. package/CodeHighlighter/transformParsedSource.d.ts.map +1 -1
  42. package/CodeHighlighter/transformSource.d.ts.map +1 -1
  43. package/CodeHighlighter/types.d.ts +39 -17
  44. package/CodeHighlighter/types.d.ts.map +1 -1
  45. package/CodeProvider/CodeContext.d.ts.map +1 -1
  46. package/CodeProvider/CodeProvider.d.ts.map +1 -1
  47. package/CodeProvider/CodeProvider.js +21 -6
  48. package/CodeProvider/index.d.ts +1 -2
  49. package/CodeProvider/index.d.ts.map +1 -1
  50. package/CodeProvider/index.js +1 -2
  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 +15 -9
  67. package/pipeline/hastUtils/hastUtils.d.ts.map +1 -0
  68. package/{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/pipeline/loadPrecomputedCodeHighlighter/loadPrecomputedCodeHighlighter.js +228 -0
  82. package/{loadPrecomputedCodeHighlighter → 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/{loadPrecomputedCodeHighlighter → pipeline/loadPrecomputedCodeHighlighter}/parseFunctionParameters.d.ts +5 -1
  86. package/pipeline/loadPrecomputedCodeHighlighter/parseFunctionParameters.d.ts.map +1 -0
  87. package/{loadPrecomputedCodeHighlighter → 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/{loadServerCodeMeta/serverLoadCodeMeta.d.ts → pipeline/loadServerCodeMeta/loadServerCodeMeta.d.ts} +4 -4
  95. package/pipeline/loadServerCodeMeta/loadServerCodeMeta.d.ts.map +1 -0
  96. package/{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/{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/{loaderUtils → pipeline/loaderUtils}/getFileNameFromUrl.d.ts +1 -0
  110. package/pipeline/loaderUtils/getFileNameFromUrl.d.ts.map +1 -0
  111. package/pipeline/loaderUtils/getFileNameFromUrl.js +66 -0
  112. package/pipeline/loaderUtils/index.d.ts +7 -0
  113. package/pipeline/loaderUtils/index.d.ts.map +1 -0
  114. package/pipeline/loaderUtils/index.js +7 -0
  115. package/pipeline/loaderUtils/mergeExternals.d.ts +32 -0
  116. package/pipeline/loaderUtils/mergeExternals.d.ts.map +1 -0
  117. package/pipeline/loaderUtils/mergeExternals.js +72 -0
  118. package/pipeline/loaderUtils/parseImports.d.ts +20 -0
  119. package/pipeline/loaderUtils/parseImports.d.ts.map +1 -0
  120. package/pipeline/loaderUtils/parseImports.js +307 -0
  121. package/{loaderUtils/processImports.d.ts → pipeline/loaderUtils/processRelativeImports.d.ts} +2 -2
  122. package/pipeline/loaderUtils/processRelativeImports.d.ts.map +1 -0
  123. package/pipeline/loaderUtils/processRelativeImports.js +352 -0
  124. package/{loaderUtils → pipeline/loaderUtils}/resolveModulePath.d.ts +19 -6
  125. package/pipeline/loaderUtils/resolveModulePath.d.ts.map +1 -0
  126. package/pipeline/loaderUtils/resolveModulePath.js +1449 -0
  127. package/{loaderUtils → pipeline/loaderUtils}/resolveModulePathWithFs.d.ts +6 -3
  128. package/pipeline/loaderUtils/resolveModulePathWithFs.d.ts.map +1 -0
  129. package/{loaderUtils → pipeline/loaderUtils}/resolveModulePathWithFs.js +8 -4
  130. package/pipeline/loaderUtils/rewriteImports.d.ts +9 -0
  131. package/pipeline/loaderUtils/rewriteImports.d.ts.map +1 -0
  132. package/pipeline/loaderUtils/rewriteImports.js +35 -0
  133. package/pipeline/parseSource/grammars.d.ts.map +1 -0
  134. package/pipeline/parseSource/index.d.ts.map +1 -0
  135. package/pipeline/parseSource/parseSource.d.ts +3 -0
  136. package/pipeline/parseSource/parseSource.d.ts.map +1 -0
  137. package/{parseSource → pipeline/parseSource}/parseSource.js +15 -5
  138. package/pipeline/transformHtmlCode/index.d.ts +2 -0
  139. package/pipeline/transformHtmlCode/index.d.ts.map +1 -0
  140. package/pipeline/transformHtmlCode/index.js +4 -0
  141. package/pipeline/transformHtmlCode/transformHtmlCode.d.ts +13 -0
  142. package/pipeline/transformHtmlCode/transformHtmlCode.d.ts.map +1 -0
  143. package/pipeline/transformHtmlCode/transformHtmlCode.js +303 -0
  144. package/pipeline/transformMarkdownCode/index.d.ts +2 -0
  145. package/pipeline/transformMarkdownCode/index.d.ts.map +1 -0
  146. package/pipeline/transformMarkdownCode/index.js +4 -0
  147. package/pipeline/transformMarkdownCode/transformMarkdownCode.d.ts +2 -0
  148. package/pipeline/transformMarkdownCode/transformMarkdownCode.d.ts.map +1 -0
  149. package/pipeline/transformMarkdownCode/transformMarkdownCode.js +514 -0
  150. package/pipeline/transformTypescriptToJavascript/index.d.ts +1 -0
  151. package/pipeline/transformTypescriptToJavascript/index.d.ts.map +1 -0
  152. package/pipeline/transformTypescriptToJavascript/index.js +1 -0
  153. package/pipeline/transformTypescriptToJavascript/removeTypes.d.ts.map +1 -0
  154. package/pipeline/transformTypescriptToJavascript/transformTypescriptToJavascript.d.ts +3 -0
  155. package/pipeline/transformTypescriptToJavascript/transformTypescriptToJavascript.d.ts.map +1 -0
  156. package/{transformTsToJs/transformTsToJs.js → pipeline/transformTypescriptToJavascript/transformTypescriptToJavascript.js} +4 -4
  157. package/useCode/index.d.ts.map +1 -1
  158. package/useCode/useCode.d.ts +14 -11
  159. package/useCode/useCode.d.ts.map +1 -1
  160. package/useCode/useCode.js +94 -364
  161. package/useCode/useCodeUtils.d.ts +45 -0
  162. package/useCode/useCodeUtils.d.ts.map +1 -0
  163. package/useCode/useCodeUtils.js +240 -0
  164. package/useCode/useCopyFunctionality.d.ts +17 -0
  165. package/useCode/useCopyFunctionality.d.ts.map +1 -0
  166. package/useCode/useCopyFunctionality.js +28 -0
  167. package/useCode/useFileNavigation.d.ts +49 -0
  168. package/useCode/useFileNavigation.d.ts.map +1 -0
  169. package/useCode/useFileNavigation.js +398 -0
  170. package/useCode/useSourceEditing.d.ts +19 -0
  171. package/useCode/useSourceEditing.d.ts.map +1 -0
  172. package/useCode/useSourceEditing.js +32 -0
  173. package/useCode/useTransformManagement.d.ts +28 -0
  174. package/useCode/useTransformManagement.d.ts.map +1 -0
  175. package/useCode/useTransformManagement.js +82 -0
  176. package/useCode/useUIState.d.ts +16 -0
  177. package/useCode/useUIState.d.ts.map +1 -0
  178. package/useCode/useUIState.js +21 -0
  179. package/useCode/useVariantSelection.d.ts +21 -0
  180. package/useCode/useVariantSelection.d.ts.map +1 -0
  181. package/useCode/useVariantSelection.js +84 -0
  182. package/useCopier/index.d.ts +1 -1
  183. package/useCopier/index.d.ts.map +1 -1
  184. package/useCopier/index.js +5 -5
  185. package/useDemo/createCodeSandbox.d.ts +18 -0
  186. package/useDemo/createCodeSandbox.d.ts.map +1 -0
  187. package/useDemo/createCodeSandbox.js +48 -0
  188. package/useDemo/createStackBlitz.d.ts +22 -0
  189. package/useDemo/createStackBlitz.d.ts.map +1 -0
  190. package/useDemo/createStackBlitz.js +38 -0
  191. package/useDemo/examineVariant.d.ts +25 -0
  192. package/useDemo/examineVariant.d.ts.map +1 -0
  193. package/useDemo/examineVariant.js +134 -0
  194. package/useDemo/exportVariant.d.ts +110 -0
  195. package/useDemo/exportVariant.d.ts.map +1 -0
  196. package/useDemo/exportVariant.js +320 -0
  197. package/useDemo/exportVariantAsCra.d.ts +15 -0
  198. package/useDemo/exportVariantAsCra.d.ts.map +1 -0
  199. package/useDemo/exportVariantAsCra.js +56 -0
  200. package/useDemo/flattenVariant.d.ts +17 -0
  201. package/useDemo/flattenVariant.d.ts.map +1 -0
  202. package/useDemo/flattenVariant.js +206 -0
  203. package/useDemo/index.d.ts +6 -39
  204. package/useDemo/index.d.ts.map +1 -1
  205. package/useDemo/index.js +6 -17
  206. package/useDemo/useDemo.d.ts +79 -0
  207. package/useDemo/useDemo.d.ts.map +1 -0
  208. package/useDemo/useDemo.js +174 -0
  209. package/useLocalStorageState/index.d.ts +2 -0
  210. package/useLocalStorageState/index.d.ts.map +1 -0
  211. package/useLocalStorageState/index.js +2 -0
  212. package/useLocalStorageState/useLocalStorageState.d.ts +14 -0
  213. package/useLocalStorageState/useLocalStorageState.d.ts.map +1 -0
  214. package/useLocalStorageState/useLocalStorageState.js +128 -0
  215. package/useOnHydrate/index.d.ts.map +1 -1
  216. package/useOnHydrate/useOnHydrate.d.ts.map +1 -1
  217. package/useOnIdle/index.d.ts.map +1 -1
  218. package/useOnIdle/useOnIdle.d.ts.map +1 -1
  219. package/useUrlHashState/index.d.ts +1 -0
  220. package/useUrlHashState/index.d.ts.map +1 -0
  221. package/useUrlHashState/index.js +1 -0
  222. package/useUrlHashState/useUrlHashState.d.ts +50 -0
  223. package/useUrlHashState/useUrlHashState.d.ts.map +1 -0
  224. package/useUrlHashState/useUrlHashState.js +113 -0
  225. package/hast/hast.d.ts.map +0 -1
  226. package/hast/index.d.ts +0 -1
  227. package/hast/index.d.ts.map +0 -1
  228. package/hast/index.js +0 -1
  229. package/loadPrecomputedCodeHighlighter/index.d.ts.map +0 -1
  230. package/loadPrecomputedCodeHighlighter/loadPrecomputedCodeHighlighter.d.ts +0 -57
  231. package/loadPrecomputedCodeHighlighter/loadPrecomputedCodeHighlighter.d.ts.map +0 -1
  232. package/loadPrecomputedCodeHighlighter/loadPrecomputedCodeHighlighter.js +0 -194
  233. package/loadPrecomputedCodeHighlighter/parseCreateFactoryCall.d.ts.map +0 -1
  234. package/loadPrecomputedCodeHighlighter/parseCreateFactoryCall.js +0 -243
  235. package/loadPrecomputedCodeHighlighter/parseFunctionParameters.d.ts.map +0 -1
  236. package/loadPrecomputedCodeHighlighter/replacePrecomputeValue.d.ts +0 -27
  237. package/loadPrecomputedCodeHighlighter/replacePrecomputeValue.d.ts.map +0 -1
  238. package/loadPrecomputedCodeHighlighter/replacePrecomputeValue.js +0 -37
  239. package/loadServerCodeMeta/index.d.ts +0 -1
  240. package/loadServerCodeMeta/index.d.ts.map +0 -1
  241. package/loadServerCodeMeta/index.js +0 -1
  242. package/loadServerCodeMeta/serverLoadCodeMeta.d.ts.map +0 -1
  243. package/loadServerSource/index.d.ts +0 -1
  244. package/loadServerSource/index.d.ts.map +0 -1
  245. package/loadServerSource/index.js +0 -1
  246. package/loadServerSource/serverLoadSource.d.ts.map +0 -1
  247. package/loadServerSource/serverLoadSource.js +0 -100
  248. package/loaderUtils/getFileNameFromUrl.d.ts.map +0 -1
  249. package/loaderUtils/getFileNameFromUrl.js +0 -32
  250. package/loaderUtils/index.d.ts +0 -5
  251. package/loaderUtils/index.d.ts.map +0 -1
  252. package/loaderUtils/index.js +0 -5
  253. package/loaderUtils/processImports.d.ts.map +0 -1
  254. package/loaderUtils/processImports.js +0 -82
  255. package/loaderUtils/resolveImports.d.ts +0 -4
  256. package/loaderUtils/resolveImports.d.ts.map +0 -1
  257. package/loaderUtils/resolveImports.js +0 -71
  258. package/loaderUtils/resolveModulePath.d.ts.map +0 -1
  259. package/loaderUtils/resolveModulePath.js +0 -862
  260. package/loaderUtils/resolveModulePathWithFs.d.ts.map +0 -1
  261. package/loaderUtils/rewriteImports.d.ts +0 -9
  262. package/loaderUtils/rewriteImports.d.ts.map +0 -1
  263. package/loaderUtils/rewriteImports.js +0 -57
  264. package/parseSource/grammars.d.ts.map +0 -1
  265. package/parseSource/index.d.ts.map +0 -1
  266. package/parseSource/parseSource.d.ts +0 -3
  267. package/parseSource/parseSource.d.ts.map +0 -1
  268. package/transformRelativeMarkdownPaths/index.d.ts +0 -2
  269. package/transformRelativeMarkdownPaths/index.d.ts.map +0 -1
  270. package/transformRelativeMarkdownPaths/index.js +0 -4
  271. package/transformRelativeMarkdownPaths/transformRelativeMarkdownPaths.d.ts +0 -12
  272. package/transformRelativeMarkdownPaths/transformRelativeMarkdownPaths.d.ts.map +0 -1
  273. package/transformRelativeMarkdownPaths/transformRelativeMarkdownPaths.js +0 -30
  274. package/transformTsToJs/index.d.ts +0 -1
  275. package/transformTsToJs/index.d.ts.map +0 -1
  276. package/transformTsToJs/index.js +0 -1
  277. package/transformTsToJs/removeTypes.d.ts.map +0 -1
  278. package/transformTsToJs/transformTsToJs.d.ts +0 -3
  279. package/transformTsToJs/transformTsToJs.d.ts.map +0 -1
  280. /package/{hast/hast.d.ts → pipeline/hastUtils/hastUtils.d.ts} +0 -0
  281. /package/{loadPrecomputedCodeHighlighter → pipeline/loadPrecomputedCodeHighlighter}/index.d.ts +0 -0
  282. /package/{loadPrecomputedCodeHighlighter → pipeline/loadPrecomputedCodeHighlighter}/index.js +0 -0
  283. /package/{parseSource → pipeline/parseSource}/grammars.d.ts +0 -0
  284. /package/{parseSource → pipeline/parseSource}/grammars.js +0 -0
  285. /package/{parseSource → pipeline/parseSource}/index.d.ts +0 -0
  286. /package/{parseSource → pipeline/parseSource}/index.js +0 -0
  287. /package/{transformTsToJs → pipeline/transformTypescriptToJavascript}/removeTypes.d.ts +0 -0
  288. /package/{transformTsToJs → pipeline/transformTypescriptToJavascript}/removeTypes.js +0 -0
@@ -1,19 +1,15 @@
1
- import _typeof from "@babel/runtime/helpers/esm/typeof";
2
- import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
1
+ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
2
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
+ var _excluded = ["name", "slug", "code", "components", "url"];
3
4
  import * as React from 'react';
4
- import { Fragment, jsx, jsxs } from 'react/jsx-runtime';
5
- import { toText } from 'hast-util-to-text';
6
- import { toJsxRuntime } from 'hast-util-to-jsx-runtime';
7
- import { useCopier } from "../useCopier/index.js";
8
5
  import { useCodeHighlighterContextOptional } from "../CodeHighlighter/CodeHighlighterContext.js";
9
- import { applyTransform } from "../CodeHighlighter/applyTransform.js";
10
- function toComponent(source) {
11
- return toJsxRuntime(source, {
12
- Fragment: Fragment,
13
- jsx: jsx,
14
- jsxs: jsxs
15
- });
16
- }
6
+ import { extractNameAndSlugFromUrl } from "../pipeline/loaderUtils/index.js";
7
+ import { useVariantSelection } from "./useVariantSelection.js";
8
+ import { useTransformManagement } from "./useTransformManagement.js";
9
+ import { useFileNavigation } from "./useFileNavigation.js";
10
+ import { useUIState } from "./useUIState.js";
11
+ import { useCopyFunctionality } from "./useCopyFunctionality.js";
12
+ import { useSourceEditing } from "./useSourceEditing.js";
17
13
  export function useCode(contentProps, opts) {
18
14
  var _ref = opts || {},
19
15
  copyOpts = _ref.copy,
@@ -24,370 +20,104 @@ export function useCode(contentProps, opts) {
24
20
 
25
21
  // Safely try to get context values - will be undefined if not in context
26
22
  var context = useCodeHighlighterContextOptional();
27
- var _React$useState = React.useState(defaultOpen),
28
- _React$useState2 = _slicedToArray(_React$useState, 2),
29
- expanded = _React$useState2[0],
30
- setExpanded = _React$useState2[1];
31
- var expand = React.useCallback(function () {
32
- return setExpanded(true);
33
- }, []);
34
- var ref = React.useRef(null);
35
- var resetFocus = React.useCallback(function () {
36
- var _ref$current;
37
- (_ref$current = ref.current) == null || _ref$current.focus();
38
- }, []);
39
23
 
40
24
  // Get the effective code - context overrides contentProps if available
41
25
  var effectiveCode = React.useMemo(function () {
42
26
  return (context == null ? void 0 : context.code) || contentProps.code || {};
43
27
  }, [context == null ? void 0 : context.code, contentProps.code]);
44
-
45
- // Get variant keys from effective code
46
- var variantKeys = React.useMemo(function () {
47
- return Object.keys(effectiveCode).filter(function (key) {
48
- var variant = effectiveCode[key];
49
- return variant && _typeof(variant) === 'object' && 'source' in variant;
50
- });
51
- }, [effectiveCode]);
52
- var _React$useState3 = React.useState(initialVariant || variantKeys[0] || ''),
53
- _React$useState4 = _slicedToArray(_React$useState3, 2),
54
- selectedVariantKey = _React$useState4[0],
55
- setSelectedVariantKey = _React$useState4[1];
56
- var selectedVariant = React.useMemo(function () {
57
- var variant = effectiveCode[selectedVariantKey];
58
- if (variant && _typeof(variant) === 'object' && 'source' in variant) {
59
- return variant;
60
- }
61
- return null;
62
- }, [effectiveCode, selectedVariantKey]);
63
-
64
- // Safety check: if selectedVariant doesn't exist, fall back to first variant
65
- React.useEffect(function () {
66
- if (!selectedVariant && variantKeys.length > 0) {
67
- setSelectedVariantKey(variantKeys[0]);
68
- }
69
- }, [selectedVariant, variantKeys]);
70
-
71
- // Transform state - get available transforms from context or from the effective code data
72
- var availableTransforms = React.useMemo(function () {
73
- // First try to get from context
74
- if (context != null && context.availableTransforms && context.availableTransforms.length > 0) {
75
- return context.availableTransforms;
76
- }
77
-
78
- // Otherwise, get from the effective code data
79
- var transforms = new Set();
80
- if (effectiveCode && selectedVariantKey) {
81
- var variantCode = effectiveCode[selectedVariantKey];
82
- if (variantCode && _typeof(variantCode) === 'object' && 'transforms' in variantCode && variantCode.transforms) {
83
- Object.keys(variantCode.transforms).forEach(function (transformKey) {
84
- transforms.add(transformKey);
85
- });
86
- }
87
- }
88
- return Array.from(transforms);
89
- }, [context == null ? void 0 : context.availableTransforms, effectiveCode, selectedVariantKey]);
90
- var _React$useState5 = React.useState(initialTransform || null),
91
- _React$useState6 = _slicedToArray(_React$useState5, 2),
92
- selectedTransform = _React$useState6[0],
93
- setSelectedTransform = _React$useState6[1];
94
-
95
- // Memoize all transformed files based on selectedTransform
96
- var transformedFiles = React.useMemo(function () {
97
- // Only create transformed files when there's actually a transform selected
98
- if (!selectedVariant || !selectedTransform) {
99
- return undefined;
100
- }
101
- var files = [];
102
- var filenameMap = {};
103
-
104
- // Helper function to apply transform to a source
105
- var applyTransformToSource = function applyTransformToSource(source, fileName, transforms) {
106
- if (!(transforms != null && transforms[selectedTransform])) {
107
- return {
108
- transformedSource: source,
109
- transformedName: fileName
110
- };
111
- }
28
+ var shouldHighlight = !(context != null && context.deferHighlight);
29
+
30
+ // Memoize userProps with auto-generated name and slug if missing
31
+ var userProps = React.useMemo(function () {
32
+ // Extract only the user-defined properties (T) from contentProps
33
+ var contentName = contentProps.name,
34
+ contentSlug = contentProps.slug,
35
+ code = contentProps.code,
36
+ components = contentProps.components,
37
+ contentUrl = contentProps.url,
38
+ userDefinedProps = _objectWithoutProperties(contentProps, _excluded);
39
+ // Get URL from context first, then fall back to contentProps
40
+ var effectiveUrl = (context == null ? void 0 : context.url) || contentUrl;
41
+ var name = contentName;
42
+ var slug = contentSlug;
43
+ // Generate name and slug from URL if they're missing and we have a URL
44
+ if ((!name || !slug) && effectiveUrl) {
112
45
  try {
113
- // Get transform data
114
- var transformData = transforms[selectedTransform];
115
- if (!transformData || _typeof(transformData) !== 'object' || !('delta' in transformData)) {
116
- return {
117
- transformedSource: source,
118
- transformedName: fileName
119
- };
120
- }
121
-
122
- // Apply transform
123
- var result = applyTransform(source, transforms, selectedTransform);
124
- var transformedName = transformData.fileName || fileName;
125
- return {
126
- transformedSource: result,
127
- transformedName: transformedName
128
- };
129
- } catch (error) {
130
- console.error("Transform failed for ".concat(fileName, ":"), error);
131
- return {
132
- transformedSource: source,
133
- transformedName: fileName
134
- };
46
+ var generated = extractNameAndSlugFromUrl(effectiveUrl);
47
+ name = name || generated.name;
48
+ slug = slug || generated.slug;
49
+ } catch (_unused) {
50
+ // If URL parsing fails, keep the original values (which might be undefined)
135
51
  }
136
- };
137
-
138
- // Process main file - get transforms from selectedVariant
139
- var variantTransforms = 'transforms' in selectedVariant ? selectedVariant.transforms : undefined;
140
- var _applyTransformToSour = applyTransformToSource(selectedVariant.source, selectedVariant.fileName, variantTransforms),
141
- mainSource = _applyTransformToSour.transformedSource,
142
- mainName = _applyTransformToSour.transformedName;
143
- filenameMap[selectedVariant.fileName] = mainName;
144
- files.push({
145
- name: mainName,
146
- originalName: selectedVariant.fileName,
147
- source: mainSource,
148
- component: toComponent(mainSource)
149
- });
150
-
151
- // Process extra files
152
- if (selectedVariant.extraFiles) {
153
- Object.entries(selectedVariant.extraFiles).forEach(function (_ref2) {
154
- var _transforms;
155
- var _ref3 = _slicedToArray(_ref2, 2),
156
- fileName = _ref3[0],
157
- fileData = _ref3[1];
158
- var source;
159
- var transforms;
160
-
161
- // Handle different extraFile structures
162
- if (typeof fileData === 'string') {
163
- source = fileData;
164
- transforms = variantTransforms;
165
- } else if (fileData && _typeof(fileData) === 'object' && 'source' in fileData) {
166
- source = fileData.source;
167
- transforms = fileData.transforms || variantTransforms;
168
- } else {
169
- return; // Skip invalid entries
170
- }
171
-
172
- // Apply transforms if available
173
- var transformedSource = source;
174
- var transformedName = fileName;
175
- if ((_transforms = transforms) != null && _transforms[selectedTransform]) {
176
- try {
177
- var transformData = transforms[selectedTransform];
178
- if (transformData && _typeof(transformData) === 'object' && 'delta' in transformData) {
179
- transformedSource = applyTransform(source, transforms, selectedTransform);
180
- transformedName = transformData.fileName || fileName;
181
- }
182
- } catch (error) {
183
- console.error("Transform failed for ".concat(fileName, ":"), error);
184
- }
185
- }
186
- filenameMap[fileName] = transformedName;
187
- files.push({
188
- name: transformedName,
189
- originalName: fileName,
190
- source: transformedSource,
191
- component: toComponent(transformedSource)
192
- });
193
- });
194
- }
195
- return {
196
- files: files,
197
- filenameMap: filenameMap
198
- };
199
- }, [selectedVariant, selectedTransform]);
200
-
201
- // Keep selectedFileName as untransformed filename for internal tracking
202
- var _React$useState7 = React.useState((selectedVariant == null ? void 0 : selectedVariant.fileName) || ''),
203
- _React$useState8 = _slicedToArray(_React$useState7, 2),
204
- selectedFileNameInternal = _React$useState8[0],
205
- setSelectedFileNameInternal = _React$useState8[1];
206
-
207
- // Reset selectedFileName when variant changes
208
- React.useEffect(function () {
209
- if (selectedVariant && selectedFileNameInternal !== selectedVariant.fileName) {
210
- // Only reset if current selectedFileName doesn't exist in the new variant
211
- var hasFile = selectedVariant.fileName === selectedFileNameInternal || selectedVariant.extraFiles && selectedVariant.extraFiles[selectedFileNameInternal];
212
- if (!hasFile) {
213
- setSelectedFileNameInternal(selectedVariant.fileName);
214
- }
215
- }
216
- }, [selectedVariant, selectedFileNameInternal]);
217
-
218
- // Compute the displayed filename (transformed if applicable)
219
- var selectedFileName = React.useMemo(function () {
220
- if (!selectedVariant) {
221
- return '';
222
- }
223
-
224
- // If we have transformed files, return the transformed name
225
- if (transformedFiles) {
226
- var file = transformedFiles.files.find(function (f) {
227
- return f.originalName === selectedFileNameInternal;
228
- });
229
- return file ? file.name : selectedFileNameInternal;
230
- }
231
-
232
- // Otherwise, return the original filename
233
- return selectedFileNameInternal;
234
- }, [selectedVariant, selectedFileNameInternal, transformedFiles]);
235
- var selectedFile = React.useMemo(function () {
236
- if (!selectedVariant) {
237
- return null;
238
- }
239
-
240
- // If we have transformed files, use them
241
- if (transformedFiles) {
242
- var file = transformedFiles.files.find(function (f) {
243
- return f.originalName === selectedFileNameInternal;
244
- });
245
- return file ? file.source : null;
246
- }
247
-
248
- // Otherwise, use the original untransformed files
249
- if (selectedFileNameInternal === selectedVariant.fileName) {
250
- return selectedVariant.source;
251
- }
252
-
253
- // Look in extraFiles
254
- if (selectedVariant.extraFiles && selectedVariant.extraFiles[selectedFileNameInternal]) {
255
- var extraFile = selectedVariant.extraFiles[selectedFileNameInternal];
256
- if (typeof extraFile === 'string') {
257
- return extraFile;
258
- }
259
- if (extraFile && _typeof(extraFile) === 'object' && 'source' in extraFile) {
260
- return extraFile.source;
261
- }
262
- }
263
- return null;
264
- }, [selectedVariant, selectedFileNameInternal, transformedFiles]);
265
- var selectedFileComponent = React.useMemo(function () {
266
- if (!selectedVariant) {
267
- return null;
268
- }
269
-
270
- // If we have transformed files, use them
271
- if (transformedFiles) {
272
- var file = transformedFiles.files.find(function (f) {
273
- return f.originalName === selectedFileNameInternal;
274
- });
275
- return file ? file.component : null;
276
- }
277
-
278
- // Otherwise, create component from original untransformed files
279
- if (selectedFileNameInternal === selectedVariant.fileName) {
280
- return toComponent(selectedVariant.source);
281
52
  }
53
+ return _objectSpread(_objectSpread({}, userDefinedProps), {}, {
54
+ name: name,
55
+ slug: slug
56
+ });
57
+ }, [contentProps, context == null ? void 0 : context.url]);
282
58
 
283
- // Look in extraFiles
284
- if (selectedVariant.extraFiles && selectedVariant.extraFiles[selectedFileNameInternal]) {
285
- var extraFile = selectedVariant.extraFiles[selectedFileNameInternal];
286
- var source;
287
- if (typeof extraFile === 'string') {
288
- source = extraFile;
289
- } else if (extraFile && _typeof(extraFile) === 'object' && 'source' in extraFile) {
290
- source = extraFile.source;
291
- } else {
292
- return null;
293
- }
294
- return toComponent(source);
295
- }
296
- return null;
297
- }, [selectedVariant, selectedFileNameInternal, transformedFiles]);
59
+ // Sub-hook: UI State Management
60
+ var uiState = useUIState({
61
+ defaultOpen: defaultOpen
62
+ });
298
63
 
299
- // Convert files for the return interface
300
- var files = React.useMemo(function () {
301
- if (!selectedVariant) {
302
- return [];
303
- }
64
+ // Sub-hook: Variant Selection
65
+ var variantSelection = useVariantSelection({
66
+ effectiveCode: effectiveCode,
67
+ initialVariant: initialVariant
68
+ });
304
69
 
305
- // If we have transformed files, use them
306
- if (transformedFiles) {
307
- return transformedFiles.files.map(function (f) {
308
- return {
309
- name: f.name,
310
- component: f.component
311
- };
312
- });
313
- }
70
+ // Sub-hook: Transform Management
71
+ var transformManagement = useTransformManagement({
72
+ context: context,
73
+ effectiveCode: effectiveCode,
74
+ selectedVariantKey: variantSelection.selectedVariantKey,
75
+ selectedVariant: variantSelection.selectedVariant,
76
+ initialTransform: initialTransform,
77
+ shouldHighlight: shouldHighlight
78
+ });
314
79
 
315
- // Otherwise, create files from original untransformed data
316
- var result = [{
317
- name: selectedVariant.fileName,
318
- component: toComponent(selectedVariant.source)
319
- }];
320
- if (selectedVariant.extraFiles) {
321
- Object.entries(selectedVariant.extraFiles).forEach(function (_ref4) {
322
- var _ref5 = _slicedToArray(_ref4, 2),
323
- fileName = _ref5[0],
324
- fileData = _ref5[1];
325
- var source;
326
- if (typeof fileData === 'string') {
327
- source = fileData;
328
- } else if (fileData && _typeof(fileData) === 'object' && 'source' in fileData) {
329
- source = fileData.source;
330
- } else {
331
- return; // Skip invalid entries
332
- }
333
- result.push({
334
- name: fileName,
335
- component: toComponent(source)
336
- });
337
- });
338
- }
339
- return result;
340
- }, [selectedVariant, transformedFiles]);
341
- var sourceFileToText = React.useCallback(function () {
342
- if (!selectedFile) {
343
- return undefined;
344
- }
345
- if (typeof selectedFile === 'string') {
346
- return selectedFile;
347
- }
348
- if (selectedFile && _typeof(selectedFile) === 'object' && 'hastJson' in selectedFile) {
349
- return selectedFile.hastJson;
350
- }
351
- return toText(selectedFile, {
352
- whitespace: 'pre'
353
- });
354
- }, [selectedFile]);
355
- var _useCopier = useCopier(sourceFileToText, copyOpts),
356
- copy = _useCopier.copy,
357
- copyDisabled = _useCopier.disabled;
80
+ // Sub-hook: File Navigation
81
+ var fileNavigation = useFileNavigation({
82
+ selectedVariant: variantSelection.selectedVariant,
83
+ transformedFiles: transformManagement.transformedFiles,
84
+ mainSlug: userProps.slug,
85
+ selectedVariantKey: variantSelection.selectedVariantKey,
86
+ variantKeys: variantSelection.variantKeys,
87
+ initialVariant: initialVariant,
88
+ shouldHighlight: shouldHighlight
89
+ });
358
90
 
359
- // Function to switch to a specific transform
360
- var selectTransform = React.useCallback(function (transformName) {
361
- if (!transformName || availableTransforms.includes(transformName)) {
362
- setSelectedTransform(transformName);
363
- } else {
364
- setSelectedTransform(null);
365
- }
366
- }, [availableTransforms]);
91
+ // Sub-hook: Copy Functionality
92
+ var copyFunctionality = useCopyFunctionality({
93
+ selectedFile: fileNavigation.selectedFile,
94
+ copyOpts: copyOpts
95
+ });
367
96
 
368
- // Get the effective components object - context overrides contentProps
369
- // Components are kept separate from variant data to maintain clean separation of concerns
370
- var effectiveComponents = React.useMemo(function () {
371
- return (context == null ? void 0 : context.components) || contentProps.components || {};
372
- }, [context == null ? void 0 : context.components, contentProps.components]);
97
+ // Sub-hook: Source Editing
98
+ var sourceEditing = useSourceEditing({
99
+ context: context,
100
+ selectedVariantKey: variantSelection.selectedVariantKey,
101
+ effectiveCode: effectiveCode,
102
+ selectedVariant: variantSelection.selectedVariant
103
+ });
373
104
  return {
374
- component: effectiveComponents[selectedVariantKey] || null,
375
- ref: ref,
376
- variants: variantKeys,
377
- selectedVariant: selectedVariantKey,
378
- selectVariant: setSelectedVariantKey,
379
- files: files,
380
- selectedFile: selectedFileComponent,
381
- selectedFileName: selectedFileName,
382
- selectFileName: setSelectedFileNameInternal,
383
- expanded: expanded,
384
- expand: expand,
385
- setExpanded: setExpanded,
386
- resetFocus: resetFocus,
387
- copy: copy,
388
- copyDisabled: copyDisabled,
389
- availableTransforms: availableTransforms,
390
- selectedTransform: selectedTransform,
391
- selectTransform: selectTransform
105
+ variants: variantSelection.variantKeys,
106
+ selectedVariant: variantSelection.selectedVariantKey,
107
+ selectVariant: variantSelection.selectVariant,
108
+ files: fileNavigation.files,
109
+ selectedFile: fileNavigation.selectedFileComponent,
110
+ selectedFileLines: fileNavigation.selectedFileLines,
111
+ selectedFileName: fileNavigation.selectedFileName,
112
+ selectFileName: fileNavigation.selectFileName,
113
+ expanded: uiState.expanded,
114
+ expand: uiState.expand,
115
+ setExpanded: uiState.setExpanded,
116
+ copy: copyFunctionality.copy,
117
+ availableTransforms: transformManagement.availableTransforms,
118
+ selectedTransform: transformManagement.selectedTransform,
119
+ selectTransform: transformManagement.selectTransform,
120
+ setSource: sourceEditing.setSource,
121
+ userProps: userProps
392
122
  };
393
123
  }
@@ -0,0 +1,45 @@
1
+ import type { VariantSource, VariantCode, Code } from "../CodeHighlighter/types.js";
2
+ type Source = VariantSource;
3
+ interface TransformedFile {
4
+ name: string;
5
+ originalName: string;
6
+ source: Source;
7
+ component: React.ReactNode;
8
+ }
9
+ interface TransformedFilesResult {
10
+ files: TransformedFile[];
11
+ filenameMap: {
12
+ [originalName: string]: string;
13
+ };
14
+ }
15
+ /**
16
+ * Pure function to get available transforms from effective code data.
17
+ * Only includes transforms that have actual deltas (file changes), not just filename changes.
18
+ *
19
+ * @param effectiveCode - The effective code object containing all variants
20
+ * @param selectedVariantKey - The currently selected variant key
21
+ * @returns Array of available transform keys that have deltas
22
+ */
23
+ export declare function getAvailableTransforms(effectiveCode: Code, selectedVariantKey: string): string[];
24
+ /**
25
+ * Pure helper function to apply transform to a source file.
26
+ *
27
+ * @param source - The source code to transform
28
+ * @param fileName - The filename for the source
29
+ * @param transforms - Available transforms for this source
30
+ * @param selectedTransform - The transform to apply
31
+ * @returns Object with transformed source and name
32
+ */
33
+ export declare function applyTransformToSource(source: any, fileName: string, transforms: any, selectedTransform: string): {
34
+ transformedSource: Source;
35
+ transformedName: string;
36
+ };
37
+ /**
38
+ * Pure function to create transformed files from a variant and selected transform.
39
+ *
40
+ * @param selectedVariant - The currently selected variant
41
+ * @param selectedTransform - The transform to apply
42
+ * @returns Object with transformed files and filename mapping, or undefined if no transform
43
+ */
44
+ export declare function createTransformedFiles(selectedVariant: VariantCode | null, selectedTransform: string | null, shouldHighlight: boolean): TransformedFilesResult | undefined;
45
+ export {};
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useCodeUtils.d.ts","sourceRoot":"","sources":["../../src/useCode/useCodeUtils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAEjF,KAAK,MAAM,GAAG,aAAa,CAAC;AAE5B,UAAU,eAAe;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,UAAU,sBAAsB;IAC9B,KAAK,EAAE,eAAe,EAAE,CAAC;IACzB,WAAW,EAAE;QAAE,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;CACjD;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,aAAa,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,GAAG,MAAM,EAAE,CAqDhG;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,GAAG,EACX,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,GAAG,EACf,iBAAiB,EAAE,MAAM,GACxB;IAAE,iBAAiB,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAA;CAAE,CA4BxD;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CACpC,eAAe,EAAE,WAAW,GAAG,IAAI,EACnC,iBAAiB,EAAE,MAAM,GAAG,IAAI,EAChC,eAAe,EAAE,OAAO,GACvB,sBAAsB,GAAG,SAAS,CAuHpC"}