@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
@@ -0,0 +1,240 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
+ import _typeof from "@babel/runtime/helpers/esm/typeof";
3
+ import { stringOrHastToJsx } from "../pipeline/hastUtils/index.js";
4
+ import { applyTransform } from "../CodeHighlighter/applyTransform.js";
5
+ /**
6
+ * Pure function to get available transforms from effective code data.
7
+ * Only includes transforms that have actual deltas (file changes), not just filename changes.
8
+ *
9
+ * @param effectiveCode - The effective code object containing all variants
10
+ * @param selectedVariantKey - The currently selected variant key
11
+ * @returns Array of available transform keys that have deltas
12
+ */
13
+ export function getAvailableTransforms(effectiveCode, selectedVariantKey) {
14
+ var transforms = new Set();
15
+ if (effectiveCode && selectedVariantKey) {
16
+ var variantCode = effectiveCode[selectedVariantKey];
17
+ if (variantCode && _typeof(variantCode) === 'object') {
18
+ // Check main variant transforms
19
+ if ('transforms' in variantCode && variantCode.transforms) {
20
+ Object.keys(variantCode.transforms).forEach(function (transformKey) {
21
+ var transformData = variantCode.transforms[transformKey];
22
+ // Only include transforms that have actual deltas (file changes)
23
+ // Check if delta exists and is not empty
24
+ if (transformData && _typeof(transformData) === 'object' && 'delta' in transformData) {
25
+ var delta = transformData.delta;
26
+ // Check if delta has meaningful content (not just an empty object)
27
+ var hasContent = delta && _typeof(delta) === 'object' && Object.keys(delta).length > 0;
28
+ if (hasContent) {
29
+ transforms.add(transformKey);
30
+ }
31
+ }
32
+ });
33
+ }
34
+
35
+ // Check extraFiles for transforms with deltas
36
+ if ('extraFiles' in variantCode && variantCode.extraFiles) {
37
+ Object.values(variantCode.extraFiles).forEach(function (fileData) {
38
+ if (fileData && _typeof(fileData) === 'object' && 'transforms' in fileData && fileData.transforms) {
39
+ Object.keys(fileData.transforms).forEach(function (transformKey) {
40
+ var transformData = fileData.transforms[transformKey];
41
+ // Only include transforms that have actual deltas (file changes)
42
+ // Check if delta exists and is not empty
43
+ if (transformData && _typeof(transformData) === 'object' && 'delta' in transformData) {
44
+ var delta = transformData.delta;
45
+ // Check if delta has meaningful content (not just an empty object)
46
+ var hasContent = delta && _typeof(delta) === 'object' && Object.keys(delta).length > 0;
47
+ if (hasContent) {
48
+ transforms.add(transformKey);
49
+ }
50
+ }
51
+ });
52
+ }
53
+ });
54
+ }
55
+ }
56
+ }
57
+ return Array.from(transforms);
58
+ }
59
+
60
+ /**
61
+ * Pure helper function to apply transform to a source file.
62
+ *
63
+ * @param source - The source code to transform
64
+ * @param fileName - The filename for the source
65
+ * @param transforms - Available transforms for this source
66
+ * @param selectedTransform - The transform to apply
67
+ * @returns Object with transformed source and name
68
+ */
69
+ export function applyTransformToSource(source, fileName, transforms, selectedTransform) {
70
+ if (!(transforms != null && transforms[selectedTransform])) {
71
+ return {
72
+ transformedSource: source,
73
+ transformedName: fileName
74
+ };
75
+ }
76
+ try {
77
+ // Get transform data
78
+ var transformData = transforms[selectedTransform];
79
+ if (!transformData || _typeof(transformData) !== 'object' || !('delta' in transformData)) {
80
+ return {
81
+ transformedSource: source,
82
+ transformedName: fileName
83
+ };
84
+ }
85
+
86
+ // Check if delta has meaningful content
87
+ var delta = transformData.delta;
88
+ var hasContent = delta && _typeof(delta) === 'object' && Object.keys(delta).length > 0;
89
+ if (!hasContent) {
90
+ return {
91
+ transformedSource: source,
92
+ transformedName: fileName
93
+ };
94
+ }
95
+
96
+ // Apply transform
97
+ var result = applyTransform(source, transforms, selectedTransform);
98
+ var transformedName = transformData.fileName || fileName;
99
+ return {
100
+ transformedSource: result,
101
+ transformedName: transformedName
102
+ };
103
+ } catch (error) {
104
+ console.error("Transform failed for ".concat(fileName, ":"), error);
105
+ return {
106
+ transformedSource: source,
107
+ transformedName: fileName
108
+ };
109
+ }
110
+ }
111
+
112
+ /**
113
+ * Pure function to create transformed files from a variant and selected transform.
114
+ *
115
+ * @param selectedVariant - The currently selected variant
116
+ * @param selectedTransform - The transform to apply
117
+ * @returns Object with transformed files and filename mapping, or undefined if no transform
118
+ */
119
+ export function createTransformedFiles(selectedVariant, selectedTransform, shouldHighlight) {
120
+ var _variantTransforms$se;
121
+ // Only create transformed files when there's actually a transform selected
122
+ if (!selectedVariant || !selectedTransform) {
123
+ return undefined;
124
+ }
125
+ var files = [];
126
+ var filenameMap = {};
127
+
128
+ // First, check if any file has a meaningful transform delta for the selected transform
129
+ var variantTransforms = 'transforms' in selectedVariant ? selectedVariant.transforms : undefined;
130
+ var hasAnyMeaningfulTransform = false;
131
+
132
+ // Check main file for meaningful transform
133
+ if (selectedVariant.fileName && variantTransforms != null && (_variantTransforms$se = variantTransforms[selectedTransform]) != null && _variantTransforms$se.delta) {
134
+ var delta = variantTransforms[selectedTransform].delta;
135
+ if (delta && Object.keys(delta).length > 0) {
136
+ hasAnyMeaningfulTransform = true;
137
+ }
138
+ }
139
+
140
+ // Check extraFiles for meaningful transforms
141
+ if (!hasAnyMeaningfulTransform && selectedVariant.extraFiles) {
142
+ Object.values(selectedVariant.extraFiles).forEach(function (fileData) {
143
+ if (fileData && _typeof(fileData) === 'object' && 'transforms' in fileData) {
144
+ var _fileData$transforms;
145
+ var transformData = (_fileData$transforms = fileData.transforms) == null ? void 0 : _fileData$transforms[selectedTransform];
146
+ if (transformData != null && transformData.delta && Object.keys(transformData.delta).length > 0) {
147
+ hasAnyMeaningfulTransform = true;
148
+ }
149
+ }
150
+ });
151
+ }
152
+
153
+ // If no file has a meaningful transform, return empty result
154
+ if (!hasAnyMeaningfulTransform) {
155
+ return {
156
+ files: [],
157
+ filenameMap: {}
158
+ };
159
+ }
160
+
161
+ // Process main file if we have a fileName
162
+ if (selectedVariant.fileName) {
163
+ var _applyTransformToSour = applyTransformToSource(selectedVariant.source, selectedVariant.fileName, variantTransforms, selectedTransform),
164
+ mainSource = _applyTransformToSour.transformedSource,
165
+ mainName = _applyTransformToSour.transformedName;
166
+ var fileName = selectedVariant.fileName;
167
+ filenameMap[fileName] = mainName;
168
+ files.push({
169
+ name: mainName,
170
+ originalName: fileName,
171
+ source: mainSource,
172
+ component: stringOrHastToJsx(mainSource, shouldHighlight)
173
+ });
174
+ }
175
+
176
+ // Process extra files
177
+ if (selectedVariant.extraFiles) {
178
+ Object.entries(selectedVariant.extraFiles).forEach(function (_ref) {
179
+ var _transforms;
180
+ var _ref2 = _slicedToArray(_ref, 2),
181
+ extraFileName = _ref2[0],
182
+ fileData = _ref2[1];
183
+ var source;
184
+ var transforms;
185
+
186
+ // Handle different extraFile structures
187
+ if (typeof fileData === 'string') {
188
+ source = fileData;
189
+ transforms = undefined; // Don't inherit variant transforms for simple string files
190
+ } else if (fileData && _typeof(fileData) === 'object' && 'source' in fileData) {
191
+ source = fileData.source;
192
+ transforms = fileData.transforms; // Only use explicit transforms for this file
193
+ } else {
194
+ return; // Skip invalid entries
195
+ }
196
+
197
+ // Apply transforms if available, otherwise use original source
198
+ var transformedSource = source;
199
+ var transformedName = extraFileName;
200
+ if ((_transforms = transforms) != null && _transforms[selectedTransform]) {
201
+ try {
202
+ var transformData = transforms[selectedTransform];
203
+ if (transformData && _typeof(transformData) === 'object' && 'delta' in transformData) {
204
+ // Only apply transform if there's a meaningful delta
205
+ var hasTransformDelta = transformData.delta && Object.keys(transformData.delta).length > 0;
206
+ if (hasTransformDelta) {
207
+ transformedSource = applyTransform(source, transforms, selectedTransform);
208
+ transformedName = transformData.fileName || extraFileName;
209
+ }
210
+ }
211
+ } catch (error) {
212
+ console.error("Transform failed for ".concat(extraFileName, ":"), error);
213
+ // Continue with original source if transform fails
214
+ }
215
+ }
216
+
217
+ // Only update filenameMap and add to files if this doesn't conflict with existing files
218
+ // If a file already exists with the target name, skip this transformation to preserve original files
219
+ var existingFile = files.find(function (f) {
220
+ return f.name === transformedName;
221
+ });
222
+ if (!existingFile) {
223
+ filenameMap[extraFileName] = transformedName;
224
+ files.push({
225
+ name: transformedName,
226
+ originalName: extraFileName,
227
+ source: transformedSource,
228
+ component: stringOrHastToJsx(transformedSource, shouldHighlight)
229
+ });
230
+ } else {
231
+ // If there's a conflict, skip this file with a warning
232
+ console.warn("Transform conflict: ".concat(extraFileName, " would transform to ").concat(transformedName, " but that name is already taken. Skipping this file."));
233
+ }
234
+ });
235
+ }
236
+ return {
237
+ files: files,
238
+ filenameMap: filenameMap
239
+ };
240
+ }
@@ -0,0 +1,17 @@
1
+ import * as React from 'react';
2
+ import { UseCopierOpts } from "../useCopier/index.js";
3
+ interface UseCopyFunctionalityProps {
4
+ selectedFile: any;
5
+ copyOpts?: UseCopierOpts;
6
+ }
7
+ export interface UseCopyFunctionalityResult {
8
+ copy: (event: React.MouseEvent<HTMLButtonElement>) => Promise<void>;
9
+ }
10
+ /**
11
+ * Hook for managing copy-to-clipboard functionality
12
+ */
13
+ export declare function useCopyFunctionality({
14
+ selectedFile,
15
+ copyOpts
16
+ }: UseCopyFunctionalityProps): UseCopyFunctionalityResult;
17
+ export {};
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useCopyFunctionality.d.ts","sourceRoot":"","sources":["../../src/useCode/useCopyFunctionality.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAa,aAAa,EAAE,MAAM,cAAc,CAAC;AAExD,UAAU,yBAAyB;IACjC,YAAY,EAAE,GAAG,CAAC;IAClB,QAAQ,CAAC,EAAE,aAAa,CAAC;CAC1B;AAED,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACrE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,EACnC,YAAY,EACZ,QAAQ,GACT,EAAE,yBAAyB,GAAG,0BAA0B,CAsBxD"}
@@ -0,0 +1,28 @@
1
+ import _typeof from "@babel/runtime/helpers/esm/typeof";
2
+ import * as React from 'react';
3
+ import { stringOrHastToString } from "../pipeline/hastUtils/index.js";
4
+ import { useCopier } from "../useCopier/index.js";
5
+ /**
6
+ * Hook for managing copy-to-clipboard functionality
7
+ */
8
+ export function useCopyFunctionality(_ref) {
9
+ var selectedFile = _ref.selectedFile,
10
+ copyOpts = _ref.copyOpts;
11
+ var sourceFileToText = React.useCallback(function () {
12
+ if (!selectedFile) {
13
+ return undefined;
14
+ }
15
+ if (typeof selectedFile === 'string') {
16
+ return selectedFile;
17
+ }
18
+ if (selectedFile && _typeof(selectedFile) === 'object' && 'hastJson' in selectedFile) {
19
+ return selectedFile.hastJson;
20
+ }
21
+ return stringOrHastToString(selectedFile);
22
+ }, [selectedFile]);
23
+ var _useCopier = useCopier(sourceFileToText, copyOpts),
24
+ copy = _useCopier.copy;
25
+ return {
26
+ copy: copy
27
+ };
28
+ }
@@ -0,0 +1,49 @@
1
+ import * as React from 'react';
2
+ import type { VariantSource } from "../CodeHighlighter/types.js";
3
+ type Source = VariantSource;
4
+ interface TransformedFile {
5
+ name: string;
6
+ originalName: string;
7
+ source: Source;
8
+ component: React.ReactNode;
9
+ }
10
+ interface TransformedFiles {
11
+ files: TransformedFile[];
12
+ filenameMap: {
13
+ [originalName: string]: string;
14
+ };
15
+ }
16
+ interface UseFileNavigationProps {
17
+ selectedVariant: any;
18
+ transformedFiles: TransformedFiles | undefined;
19
+ mainSlug?: string;
20
+ selectedVariantKey?: string;
21
+ variantKeys?: string[];
22
+ shouldHighlight: boolean;
23
+ initialVariant?: string;
24
+ }
25
+ export interface UseFileNavigationResult {
26
+ selectedFileName: string | undefined;
27
+ selectedFile: any;
28
+ selectedFileComponent: React.ReactNode;
29
+ selectedFileLines: number;
30
+ files: Array<{
31
+ name: string;
32
+ slug?: string;
33
+ component: React.ReactNode;
34
+ }>;
35
+ selectFileName: (fileName: string) => void;
36
+ }
37
+ /**
38
+ * Hook for managing file selection and navigation within a code variant
39
+ */
40
+ export declare function useFileNavigation({
41
+ selectedVariant,
42
+ transformedFiles,
43
+ mainSlug,
44
+ selectedVariantKey,
45
+ variantKeys,
46
+ initialVariant,
47
+ shouldHighlight
48
+ }: UseFileNavigationProps): UseFileNavigationResult;
49
+ export {};
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useFileNavigation.d.ts","sourceRoot":"","sources":["../../src/useCode/useFileNavigation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAG9D,KAAK,MAAM,GAAG,aAAa,CAAC;AA0D5B,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,gBAAgB;IACxB,KAAK,EAAE,eAAe,EAAE,CAAC;IACzB,WAAW,EAAE;QAAE,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;CACjD;AAED,UAAU,sBAAsB;IAC9B,eAAe,EAAE,GAAG,CAAC;IACrB,gBAAgB,EAAE,gBAAgB,GAAG,SAAS,CAAC;IAC/C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,eAAe,EAAE,OAAO,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,uBAAuB;IACtC,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,YAAY,EAAE,GAAG,CAAC;IAClB,qBAAqB,EAAE,KAAK,CAAC,SAAS,CAAC;IACvC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAA;KAAE,CAAC,CAAC;IAC1E,cAAc,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;CAC5C;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,eAAe,EACf,gBAAgB,EAChB,QAAa,EACb,kBAAuB,EACvB,WAAgB,EAChB,cAAc,EACd,eAAe,GAChB,EAAE,sBAAsB,GAAG,uBAAuB,CAgalD"}