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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (294) hide show
  1. package/README.md +3 -1
  2. package/build/CodeControllerContext/CodeControllerContext.d.ts +22 -0
  3. package/build/CodeControllerContext/CodeControllerContext.js +21 -0
  4. package/build/CodeControllerContext/index.d.ts +1 -0
  5. package/build/CodeControllerContext/index.js +16 -0
  6. package/build/CodeHighlighter/CodeHighlighter.d.ts +2 -0
  7. package/build/CodeHighlighter/CodeHighlighter.js +329 -0
  8. package/build/CodeHighlighter/CodeHighlighterClient.d.ts +2 -0
  9. package/build/CodeHighlighter/CodeHighlighterClient.js +406 -0
  10. package/build/CodeHighlighter/CodeHighlighterContext.d.ts +14 -0
  11. package/build/CodeHighlighter/CodeHighlighterContext.js +22 -0
  12. package/build/CodeHighlighter/CodeHighlighterFallbackContext.d.ts +7 -0
  13. package/build/CodeHighlighter/CodeHighlighterFallbackContext.js +18 -0
  14. package/build/CodeHighlighter/applyTransform.d.ts +19 -0
  15. package/build/CodeHighlighter/applyTransform.js +83 -0
  16. package/build/CodeHighlighter/codeToFallbackProps.d.ts +2 -0
  17. package/build/CodeHighlighter/codeToFallbackProps.js +77 -0
  18. package/build/CodeHighlighter/errors.d.ts +0 -0
  19. package/build/CodeHighlighter/errors.js +2 -0
  20. package/build/CodeHighlighter/hasAllVariants.d.ts +2 -0
  21. package/build/CodeHighlighter/hasAllVariants.js +37 -0
  22. package/build/CodeHighlighter/index.d.ts +4 -0
  23. package/build/CodeHighlighter/index.js +49 -0
  24. package/build/CodeHighlighter/loadFallbackCode.d.ts +9 -0
  25. package/build/CodeHighlighter/loadFallbackCode.js +474 -0
  26. package/build/CodeHighlighter/loadVariant.d.ts +11 -0
  27. package/build/CodeHighlighter/loadVariant.js +715 -0
  28. package/build/CodeHighlighter/maybeInitialData.d.ts +10 -0
  29. package/build/CodeHighlighter/maybeInitialData.js +101 -0
  30. package/build/CodeHighlighter/parseCode.d.ts +6 -0
  31. package/build/CodeHighlighter/parseCode.js +129 -0
  32. package/build/CodeHighlighter/parseControlledCode.d.ts +6 -0
  33. package/build/CodeHighlighter/parseControlledCode.js +83 -0
  34. package/build/CodeHighlighter/transformCode.d.ts +20 -0
  35. package/build/CodeHighlighter/transformCode.js +231 -0
  36. package/build/CodeHighlighter/transformParsedSource.d.ts +3 -0
  37. package/build/CodeHighlighter/transformParsedSource.js +73 -0
  38. package/build/CodeHighlighter/transformSource.d.ts +2 -0
  39. package/build/CodeHighlighter/transformSource.js +114 -0
  40. package/build/CodeHighlighter/types.d.ts +138 -0
  41. package/build/CodeHighlighter/types.js +5 -0
  42. package/build/CodeProvider/CodeContext.d.ts +12 -0
  43. package/build/CodeProvider/CodeContext.js +14 -0
  44. package/build/CodeProvider/CodeProvider.d.ts +13 -0
  45. package/build/CodeProvider/CodeProvider.js +57 -0
  46. package/build/CodeProvider/index.d.ts +2 -0
  47. package/build/CodeProvider/index.js +27 -0
  48. package/build/README.md +19 -0
  49. package/build/esm/CodeControllerContext/CodeControllerContext.d.ts +22 -0
  50. package/build/esm/CodeControllerContext/CodeControllerContext.d.ts.map +1 -0
  51. package/build/esm/CodeControllerContext/CodeControllerContext.js +14 -0
  52. package/build/esm/CodeControllerContext/index.d.ts +1 -0
  53. package/build/esm/CodeControllerContext/index.d.ts.map +1 -0
  54. package/build/esm/CodeControllerContext/index.js +1 -0
  55. package/build/esm/CodeHighlighter/CodeHighlighter.d.ts +2 -0
  56. package/build/esm/CodeHighlighter/CodeHighlighter.d.ts.map +1 -0
  57. package/build/esm/CodeHighlighter/CodeHighlighter.js +321 -0
  58. package/build/esm/CodeHighlighter/CodeHighlighterClient.d.ts +2 -0
  59. package/build/esm/CodeHighlighter/CodeHighlighterClient.d.ts.map +1 -0
  60. package/build/esm/CodeHighlighter/CodeHighlighterClient.js +399 -0
  61. package/build/esm/CodeHighlighter/CodeHighlighterContext.d.ts +14 -0
  62. package/build/esm/CodeHighlighter/CodeHighlighterContext.d.ts.map +1 -0
  63. package/build/esm/CodeHighlighter/CodeHighlighterContext.js +14 -0
  64. package/build/esm/CodeHighlighter/CodeHighlighterFallbackContext.d.ts +7 -0
  65. package/build/esm/CodeHighlighter/CodeHighlighterFallbackContext.d.ts.map +1 -0
  66. package/build/esm/CodeHighlighter/CodeHighlighterFallbackContext.js +11 -0
  67. package/build/esm/CodeHighlighter/applyTransform.d.ts +19 -0
  68. package/build/esm/CodeHighlighter/applyTransform.d.ts.map +1 -0
  69. package/build/esm/CodeHighlighter/applyTransform.js +75 -0
  70. package/build/esm/CodeHighlighter/codeToFallbackProps.d.ts +2 -0
  71. package/build/esm/CodeHighlighter/codeToFallbackProps.d.ts.map +1 -0
  72. package/build/esm/CodeHighlighter/codeToFallbackProps.js +70 -0
  73. package/build/esm/CodeHighlighter/errors.d.ts +0 -0
  74. package/build/esm/CodeHighlighter/errors.d.ts.map +1 -0
  75. package/build/esm/CodeHighlighter/errors.js +1 -0
  76. package/build/esm/CodeHighlighter/hasAllVariants.d.ts +2 -0
  77. package/build/esm/CodeHighlighter/hasAllVariants.d.ts.map +1 -0
  78. package/build/esm/CodeHighlighter/hasAllVariants.js +31 -0
  79. package/build/esm/CodeHighlighter/index.d.ts +4 -0
  80. package/build/esm/CodeHighlighter/index.d.ts.map +1 -0
  81. package/build/esm/CodeHighlighter/index.js +4 -0
  82. package/build/esm/CodeHighlighter/loadFallbackCode.d.ts +9 -0
  83. package/build/esm/CodeHighlighter/loadFallbackCode.d.ts.map +1 -0
  84. package/build/esm/CodeHighlighter/loadFallbackCode.js +468 -0
  85. package/build/esm/CodeHighlighter/loadVariant.d.ts +11 -0
  86. package/build/esm/CodeHighlighter/loadVariant.d.ts.map +1 -0
  87. package/build/esm/CodeHighlighter/loadVariant.js +708 -0
  88. package/build/esm/CodeHighlighter/maybeInitialData.d.ts +10 -0
  89. package/build/esm/CodeHighlighter/maybeInitialData.d.ts.map +1 -0
  90. package/build/esm/CodeHighlighter/maybeInitialData.js +94 -0
  91. package/build/esm/CodeHighlighter/parseCode.d.ts +6 -0
  92. package/build/esm/CodeHighlighter/parseCode.d.ts.map +1 -0
  93. package/build/esm/CodeHighlighter/parseCode.js +122 -0
  94. package/build/esm/CodeHighlighter/parseControlledCode.d.ts +6 -0
  95. package/build/esm/CodeHighlighter/parseControlledCode.d.ts.map +1 -0
  96. package/build/esm/CodeHighlighter/parseControlledCode.js +76 -0
  97. package/build/esm/CodeHighlighter/transformCode.d.ts +20 -0
  98. package/build/esm/CodeHighlighter/transformCode.d.ts.map +1 -0
  99. package/build/esm/CodeHighlighter/transformCode.js +223 -0
  100. package/build/esm/CodeHighlighter/transformParsedSource.d.ts +3 -0
  101. package/build/esm/CodeHighlighter/transformParsedSource.d.ts.map +1 -0
  102. package/build/esm/CodeHighlighter/transformParsedSource.js +66 -0
  103. package/build/esm/CodeHighlighter/transformSource.d.ts +2 -0
  104. package/build/esm/CodeHighlighter/transformSource.d.ts.map +1 -0
  105. package/build/esm/CodeHighlighter/transformSource.js +107 -0
  106. package/build/esm/CodeHighlighter/types.d.ts +138 -0
  107. package/build/esm/CodeHighlighter/types.d.ts.map +1 -0
  108. package/build/esm/CodeHighlighter/types.js +1 -0
  109. package/build/esm/CodeProvider/CodeContext.d.ts +12 -0
  110. package/build/esm/CodeProvider/CodeContext.d.ts.map +1 -0
  111. package/build/esm/CodeProvider/CodeContext.js +8 -0
  112. package/build/esm/CodeProvider/CodeProvider.d.ts +13 -0
  113. package/build/esm/CodeProvider/CodeProvider.d.ts.map +1 -0
  114. package/build/esm/CodeProvider/CodeProvider.js +50 -0
  115. package/build/esm/CodeProvider/index.d.ts +2 -0
  116. package/build/esm/CodeProvider/index.d.ts.map +1 -0
  117. package/build/esm/CodeProvider/index.js +2 -0
  118. package/build/esm/hast/hast.d.ts +11 -0
  119. package/build/esm/hast/hast.d.ts.map +1 -0
  120. package/build/esm/hast/hast.js +66 -0
  121. package/build/esm/hast/index.d.ts +1 -0
  122. package/build/esm/hast/index.d.ts.map +1 -0
  123. package/build/esm/hast/index.js +1 -0
  124. package/build/esm/loadPrecomputedCodeHighlighter/index.d.ts +2 -0
  125. package/build/esm/loadPrecomputedCodeHighlighter/index.d.ts.map +1 -0
  126. package/build/esm/loadPrecomputedCodeHighlighter/index.js +4 -0
  127. package/build/esm/loadPrecomputedCodeHighlighter/loadPrecomputedCodeHighlighter.d.ts +57 -0
  128. package/build/esm/loadPrecomputedCodeHighlighter/loadPrecomputedCodeHighlighter.d.ts.map +1 -0
  129. package/build/esm/loadPrecomputedCodeHighlighter/loadPrecomputedCodeHighlighter.js +194 -0
  130. package/build/esm/loadPrecomputedCodeHighlighter/parseCreateFactoryCall.d.ts +20 -0
  131. package/build/esm/loadPrecomputedCodeHighlighter/parseCreateFactoryCall.d.ts.map +1 -0
  132. package/build/esm/loadPrecomputedCodeHighlighter/parseCreateFactoryCall.js +243 -0
  133. package/build/esm/loadPrecomputedCodeHighlighter/parseFunctionParameters.d.ts +15 -0
  134. package/build/esm/loadPrecomputedCodeHighlighter/parseFunctionParameters.d.ts.map +1 -0
  135. package/build/esm/loadPrecomputedCodeHighlighter/parseFunctionParameters.js +168 -0
  136. package/build/esm/loadPrecomputedCodeHighlighter/replacePrecomputeValue.d.ts +27 -0
  137. package/build/esm/loadPrecomputedCodeHighlighter/replacePrecomputeValue.d.ts.map +1 -0
  138. package/build/esm/loadPrecomputedCodeHighlighter/replacePrecomputeValue.js +37 -0
  139. package/build/esm/loadServerCodeMeta/index.d.ts +1 -0
  140. package/build/esm/loadServerCodeMeta/index.d.ts.map +1 -0
  141. package/build/esm/loadServerCodeMeta/index.js +1 -0
  142. package/build/esm/loadServerCodeMeta/serverLoadCodeMeta.d.ts +24 -0
  143. package/build/esm/loadServerCodeMeta/serverLoadCodeMeta.d.ts.map +1 -0
  144. package/build/esm/loadServerCodeMeta/serverLoadCodeMeta.js +77 -0
  145. package/build/esm/loadServerSource/index.d.ts +1 -0
  146. package/build/esm/loadServerSource/index.d.ts.map +1 -0
  147. package/build/esm/loadServerSource/index.js +1 -0
  148. package/build/esm/loadServerSource/serverLoadSource.d.ts +25 -0
  149. package/build/esm/loadServerSource/serverLoadSource.d.ts.map +1 -0
  150. package/build/esm/loadServerSource/serverLoadSource.js +100 -0
  151. package/build/esm/loaderUtils/getFileNameFromUrl.d.ts +11 -0
  152. package/build/esm/loaderUtils/getFileNameFromUrl.d.ts.map +1 -0
  153. package/build/esm/loaderUtils/getFileNameFromUrl.js +32 -0
  154. package/build/esm/loaderUtils/index.d.ts +5 -0
  155. package/build/esm/loaderUtils/index.d.ts.map +1 -0
  156. package/build/esm/loaderUtils/index.js +5 -0
  157. package/build/esm/loaderUtils/processImports.d.ts +19 -0
  158. package/build/esm/loaderUtils/processImports.d.ts.map +1 -0
  159. package/build/esm/loaderUtils/processImports.js +82 -0
  160. package/build/esm/loaderUtils/resolveImports.d.ts +4 -0
  161. package/build/esm/loaderUtils/resolveImports.d.ts.map +1 -0
  162. package/build/esm/loaderUtils/resolveImports.js +71 -0
  163. package/build/esm/loaderUtils/resolveModulePath.d.ts +74 -0
  164. package/build/esm/loaderUtils/resolveModulePath.d.ts.map +1 -0
  165. package/build/esm/loaderUtils/resolveModulePath.js +827 -0
  166. package/build/esm/loaderUtils/resolveModulePathWithFs.d.ts +44 -0
  167. package/build/esm/loaderUtils/resolveModulePathWithFs.d.ts.map +1 -0
  168. package/build/esm/loaderUtils/resolveModulePathWithFs.js +159 -0
  169. package/build/esm/loaderUtils/rewriteImports.d.ts +9 -0
  170. package/build/esm/loaderUtils/rewriteImports.d.ts.map +1 -0
  171. package/build/esm/loaderUtils/rewriteImports.js +57 -0
  172. package/build/esm/parseSource/grammars.d.ts +2 -0
  173. package/build/esm/parseSource/grammars.d.ts.map +1 -0
  174. package/build/esm/parseSource/grammars.js +27 -0
  175. package/build/esm/parseSource/index.d.ts +1 -0
  176. package/build/esm/parseSource/index.d.ts.map +1 -0
  177. package/build/esm/parseSource/index.js +1 -0
  178. package/build/esm/parseSource/parseSource.d.ts +3 -0
  179. package/build/esm/parseSource/parseSource.d.ts.map +1 -0
  180. package/build/esm/parseSource/parseSource.js +37 -0
  181. package/build/esm/transformRelativeMarkdownPaths/index.d.ts +2 -0
  182. package/build/esm/transformRelativeMarkdownPaths/index.d.ts.map +1 -0
  183. package/build/esm/transformRelativeMarkdownPaths/index.js +4 -0
  184. package/build/esm/transformRelativeMarkdownPaths/transformRelativeMarkdownPaths.d.ts +12 -0
  185. package/build/esm/transformRelativeMarkdownPaths/transformRelativeMarkdownPaths.d.ts.map +1 -0
  186. package/build/esm/transformRelativeMarkdownPaths/transformRelativeMarkdownPaths.js +30 -0
  187. package/build/esm/transformTsToJs/index.d.ts +1 -0
  188. package/build/esm/transformTsToJs/index.d.ts.map +1 -0
  189. package/build/esm/transformTsToJs/index.js +1 -0
  190. package/build/esm/transformTsToJs/removeTypes.d.ts +13 -0
  191. package/build/esm/transformTsToJs/removeTypes.d.ts.map +1 -0
  192. package/build/esm/transformTsToJs/removeTypes.js +134 -0
  193. package/build/esm/transformTsToJs/transformTsToJs.d.ts +3 -0
  194. package/build/esm/transformTsToJs/transformTsToJs.d.ts.map +1 -0
  195. package/build/esm/transformTsToJs/transformTsToJs.js +34 -0
  196. package/build/esm/useCode/index.d.ts +1 -0
  197. package/build/esm/useCode/index.d.ts.map +1 -0
  198. package/build/esm/useCode/index.js +1 -0
  199. package/build/esm/useCode/useCode.d.ts +37 -0
  200. package/build/esm/useCode/useCode.d.ts.map +1 -0
  201. package/build/esm/useCode/useCode.js +393 -0
  202. package/{esm → build/esm}/useDemo/index.d.ts +12 -24
  203. package/build/esm/useDemo/index.d.ts.map +1 -0
  204. package/build/esm/useDemo/index.js +17 -0
  205. package/build/esm/useOnHydrate/index.d.ts +1 -0
  206. package/build/esm/useOnHydrate/index.d.ts.map +1 -0
  207. package/build/esm/useOnHydrate/index.js +1 -0
  208. package/build/esm/useOnHydrate/useOnHydrate.d.ts +1 -0
  209. package/build/esm/useOnHydrate/useOnHydrate.d.ts.map +1 -0
  210. package/build/esm/useOnHydrate/useOnHydrate.js +18 -0
  211. package/build/esm/useOnIdle/index.d.ts +1 -0
  212. package/build/esm/useOnIdle/index.d.ts.map +1 -0
  213. package/build/esm/useOnIdle/index.js +1 -0
  214. package/build/esm/useOnIdle/useOnIdle.d.ts +1 -0
  215. package/build/esm/useOnIdle/useOnIdle.d.ts.map +1 -0
  216. package/build/esm/useOnIdle/useOnIdle.js +39 -0
  217. package/build/hast/hast.d.ts +11 -0
  218. package/build/hast/hast.js +75 -0
  219. package/build/hast/index.d.ts +1 -0
  220. package/build/hast/index.js +16 -0
  221. package/build/loadPrecomputedCodeHighlighter/index.d.ts +2 -0
  222. package/build/loadPrecomputedCodeHighlighter/index.js +9 -0
  223. package/build/loadPrecomputedCodeHighlighter/loadPrecomputedCodeHighlighter.d.ts +57 -0
  224. package/build/loadPrecomputedCodeHighlighter/loadPrecomputedCodeHighlighter.js +201 -0
  225. package/build/loadPrecomputedCodeHighlighter/parseCreateFactoryCall.d.ts +20 -0
  226. package/build/loadPrecomputedCodeHighlighter/parseCreateFactoryCall.js +248 -0
  227. package/build/loadPrecomputedCodeHighlighter/parseFunctionParameters.d.ts +15 -0
  228. package/build/loadPrecomputedCodeHighlighter/parseFunctionParameters.js +174 -0
  229. package/build/loadPrecomputedCodeHighlighter/replacePrecomputeValue.d.ts +27 -0
  230. package/build/loadPrecomputedCodeHighlighter/replacePrecomputeValue.js +43 -0
  231. package/build/loadServerCodeMeta/index.d.ts +1 -0
  232. package/build/loadServerCodeMeta/index.js +16 -0
  233. package/build/loadServerCodeMeta/serverLoadCodeMeta.d.ts +24 -0
  234. package/build/loadServerCodeMeta/serverLoadCodeMeta.js +85 -0
  235. package/build/loadServerSource/index.d.ts +1 -0
  236. package/build/loadServerSource/index.js +16 -0
  237. package/build/loadServerSource/serverLoadSource.d.ts +25 -0
  238. package/build/loadServerSource/serverLoadSource.js +108 -0
  239. package/build/loaderUtils/getFileNameFromUrl.d.ts +11 -0
  240. package/build/loaderUtils/getFileNameFromUrl.js +38 -0
  241. package/build/loaderUtils/index.d.ts +5 -0
  242. package/build/loaderUtils/index.js +60 -0
  243. package/build/loaderUtils/processImports.d.ts +19 -0
  244. package/build/loaderUtils/processImports.js +89 -0
  245. package/build/loaderUtils/resolveImports.d.ts +4 -0
  246. package/build/loaderUtils/resolveImports.js +78 -0
  247. package/build/loaderUtils/resolveModulePath.d.ts +74 -0
  248. package/build/loaderUtils/resolveModulePath.js +835 -0
  249. package/build/loaderUtils/resolveModulePathWithFs.d.ts +44 -0
  250. package/build/loaderUtils/resolveModulePathWithFs.js +163 -0
  251. package/build/loaderUtils/rewriteImports.d.ts +9 -0
  252. package/build/loaderUtils/rewriteImports.js +62 -0
  253. package/build/package.json +101 -0
  254. package/build/parseSource/grammars.d.ts +2 -0
  255. package/build/parseSource/grammars.js +34 -0
  256. package/build/parseSource/index.d.ts +1 -0
  257. package/build/parseSource/index.js +16 -0
  258. package/build/parseSource/parseSource.d.ts +3 -0
  259. package/build/parseSource/parseSource.js +44 -0
  260. package/build/transformRelativeMarkdownPaths/index.d.ts +2 -0
  261. package/build/transformRelativeMarkdownPaths/index.js +9 -0
  262. package/build/transformRelativeMarkdownPaths/transformRelativeMarkdownPaths.d.ts +12 -0
  263. package/build/transformRelativeMarkdownPaths/transformRelativeMarkdownPaths.js +36 -0
  264. package/build/transformTsToJs/index.d.ts +1 -0
  265. package/build/transformTsToJs/index.js +16 -0
  266. package/build/transformTsToJs/removeTypes.d.ts +13 -0
  267. package/build/transformTsToJs/removeTypes.js +141 -0
  268. package/build/transformTsToJs/transformTsToJs.d.ts +3 -0
  269. package/build/transformTsToJs/transformTsToJs.js +41 -0
  270. package/build/useCode/index.d.ts +1 -0
  271. package/build/useCode/index.js +16 -0
  272. package/build/useCode/useCode.d.ts +37 -0
  273. package/build/useCode/useCode.js +401 -0
  274. package/{useDemo → build/useDemo}/index.d.ts +12 -24
  275. package/build/useDemo/index.js +25 -0
  276. package/build/useOnHydrate/index.d.ts +1 -0
  277. package/build/useOnHydrate/index.js +16 -0
  278. package/build/useOnHydrate/useOnHydrate.d.ts +1 -0
  279. package/build/useOnHydrate/useOnHydrate.js +26 -0
  280. package/build/useOnIdle/index.d.ts +1 -0
  281. package/build/useOnIdle/index.js +16 -0
  282. package/build/useOnIdle/useOnIdle.d.ts +1 -0
  283. package/build/useOnIdle/useOnIdle.js +47 -0
  284. package/package.json +86 -14
  285. package/esm/useDemo/index.d.ts.map +0 -1
  286. package/esm/useDemo/index.js +0 -104
  287. package/useDemo/index.js +0 -112
  288. /package/{LICENSE → build/LICENSE} +0 -0
  289. /package/{esm → build/esm}/package.json +0 -0
  290. /package/{esm → build/esm}/useCopier/index.d.ts +0 -0
  291. /package/{esm → build/esm}/useCopier/index.d.ts.map +0 -0
  292. /package/{esm → build/esm}/useCopier/index.js +0 -0
  293. /package/{useCopier → build/useCopier}/index.d.ts +0 -0
  294. /package/{useCopier → build/useCopier}/index.js +0 -0
@@ -0,0 +1 @@
1
+ export * from "./useCode.js";
@@ -0,0 +1,37 @@
1
+ import * as React from 'react';
2
+ import { UseCopierOpts } from "../useCopier/index.js";
3
+ import { ContentProps } from "../CodeHighlighter/types.js";
4
+ type UseCodeOpts = {
5
+ defaultOpen?: boolean;
6
+ copy?: UseCopierOpts;
7
+ githubUrlPrefix?: string;
8
+ codeSandboxUrlPrefix?: string;
9
+ stackBlitzPrefix?: string;
10
+ initialVariant?: string;
11
+ initialTransform?: string;
12
+ };
13
+ export interface UseCodeResult {
14
+ component: React.ReactNode;
15
+ ref: React.RefObject<HTMLDivElement | null>;
16
+ variants: string[];
17
+ selectedVariant: string;
18
+ selectVariant: React.Dispatch<React.SetStateAction<string>>;
19
+ files: Array<{
20
+ name: string;
21
+ component: React.ReactNode;
22
+ }>;
23
+ selectedFile: React.ReactNode;
24
+ selectedFileName: string;
25
+ selectFileName: React.Dispatch<React.SetStateAction<string>>;
26
+ expanded: boolean;
27
+ expand: () => void;
28
+ setExpanded: React.Dispatch<React.SetStateAction<boolean>>;
29
+ resetFocus: () => void;
30
+ copy: (event: React.MouseEvent<HTMLButtonElement>) => Promise<void>;
31
+ copyDisabled: boolean;
32
+ availableTransforms: string[];
33
+ selectedTransform: string | null | undefined;
34
+ selectTransform: (transformName: string | null) => void;
35
+ }
36
+ export declare function useCode(contentProps: ContentProps, opts?: UseCodeOpts): UseCodeResult;
37
+ export {};
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useCode.d.ts","sourceRoot":"","sources":["../../../src/useCode/useCode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B,OAAO,EAAa,aAAa,EAAE,MAAM,cAAc,CAAC;AAExD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAKxD,KAAK,WAAW,GAAG;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IAC5C,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;IAC5D,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAA;KAAE,CAAC,CAAC;IAC3D,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7D,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3D,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpE,YAAY,EAAE,OAAO,CAAC;IACtB,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,iBAAiB,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAC7C,eAAe,EAAE,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;CACzD;AAMD,wBAAgB,OAAO,CAAC,YAAY,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,aAAa,CA0XrF"}
@@ -0,0 +1,393 @@
1
+ import _typeof from "@babel/runtime/helpers/esm/typeof";
2
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
3
+ 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
+ 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
+ }
17
+ export function useCode(contentProps, opts) {
18
+ var _ref = opts || {},
19
+ copyOpts = _ref.copy,
20
+ _ref$defaultOpen = _ref.defaultOpen,
21
+ defaultOpen = _ref$defaultOpen === void 0 ? false : _ref$defaultOpen,
22
+ initialVariant = _ref.initialVariant,
23
+ initialTransform = _ref.initialTransform;
24
+
25
+ // Safely try to get context values - will be undefined if not in context
26
+ 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
+
40
+ // Get the effective code - context overrides contentProps if available
41
+ var effectiveCode = React.useMemo(function () {
42
+ return (context == null ? void 0 : context.code) || contentProps.code || {};
43
+ }, [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
+ }
112
+ 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
+ };
135
+ }
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
+ }
282
+
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]);
298
+
299
+ // Convert files for the return interface
300
+ var files = React.useMemo(function () {
301
+ if (!selectedVariant) {
302
+ return [];
303
+ }
304
+
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
+ }
314
+
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;
358
+
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]);
367
+
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]);
373
+ 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
392
+ };
393
+ }
@@ -1,44 +1,29 @@
1
1
  import * as React from 'react';
2
- import { Nodes } from 'hast';
3
2
  import { UseCopierOpts } from "../useCopier/index.js";
4
- type Source = Nodes;
5
- export type Variant = {
6
- component: React.ReactNode;
7
- fileName: string;
8
- source: Source;
9
- extraSource?: {
10
- [key: string]: Source;
11
- };
12
- };
13
- export type Demo = {
14
- name?: string;
15
- slug?: string;
16
- description?: string;
17
- variants: {
18
- [key: string]: Variant;
19
- };
20
- };
3
+ import { ContentProps } from "../CodeHighlighter/types.js";
21
4
  type UseDemoOpts = {
22
5
  defaultOpen?: boolean;
23
6
  copy?: UseCopierOpts;
24
7
  githubUrlPrefix?: string;
25
8
  codeSandboxUrlPrefix?: string;
26
9
  stackBlitzPrefix?: string;
10
+ initialVariant?: string;
11
+ initialTransform?: string;
27
12
  };
28
- export declare function useDemo(demo: Demo, opts?: UseDemoOpts): {
29
- component: React.ReactNode;
13
+ export declare function useDemo(contentProps: ContentProps, opts?: UseDemoOpts): {
30
14
  name: string | undefined;
31
15
  slug: string | undefined;
32
16
  description: string | undefined;
17
+ component: React.ReactNode;
33
18
  ref: React.RefObject<HTMLDivElement | null>;
34
19
  variants: string[];
35
20
  selectedVariant: string;
36
21
  selectVariant: React.Dispatch<React.SetStateAction<string>>;
37
- files: {
22
+ files: Array<{
38
23
  name: string;
39
- component: JSX.Element;
40
- }[];
41
- selectedFile: any;
24
+ component: React.ReactNode;
25
+ }>;
26
+ selectedFile: React.ReactNode;
42
27
  selectedFileName: string;
43
28
  selectFileName: React.Dispatch<React.SetStateAction<string>>;
44
29
  expanded: boolean;
@@ -47,5 +32,8 @@ export declare function useDemo(demo: Demo, opts?: UseDemoOpts): {
47
32
  resetFocus: () => void;
48
33
  copy: (event: React.MouseEvent<HTMLButtonElement>) => Promise<void>;
49
34
  copyDisabled: boolean;
35
+ availableTransforms: string[];
36
+ selectedTransform: string | null | undefined;
37
+ selectTransform: (transformName: string | null) => void;
50
38
  };
51
39
  export {};
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/useDemo/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,KAAK,WAAW,GAAG;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AAGF,wBAAgB,OAAO,CAAC,YAAY,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;EAgBrE"}
@@ -0,0 +1,17 @@
1
+ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
2
+ import * as React from 'react';
3
+ import kebabCase from 'kebab-case';
4
+ import { useCode } from "../useCode/index.js";
5
+ // TODO: take initialVariant and initialTransforms as parameters
6
+ export function useDemo(contentProps, opts) {
7
+ var codeResult = useCode(contentProps, opts);
8
+ var slug = React.useMemo(function () {
9
+ return contentProps.slug || (contentProps.name ? kebabCase(contentProps.name, false) : undefined);
10
+ }, [contentProps.slug, contentProps.name]);
11
+ return _objectSpread(_objectSpread({}, codeResult), {}, {
12
+ // Demo-specific additions
13
+ name: contentProps.name,
14
+ slug: slug,
15
+ description: contentProps.description
16
+ });
17
+ }
@@ -0,0 +1 @@
1
+ export * from "./useOnHydrate.js";
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/useOnHydrate/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC"}
@@ -0,0 +1 @@
1
+ export * from "./useOnHydrate.js";
@@ -0,0 +1 @@
1
+ export declare function useOnHydrate(callback?: () => void): boolean;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useOnHydrate.d.ts","sourceRoot":"","sources":["../../../src/useOnHydrate/useOnHydrate.ts"],"names":[],"mappings":"AAEA,wBAAgB,YAAY,CAAC,QAAQ,CAAC,EAAE,MAAM,IAAI,WAYjD"}
@@ -0,0 +1,18 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
+ import * as React from 'react';
3
+ export function useOnHydrate(callback) {
4
+ var _React$useState = React.useState(false),
5
+ _React$useState2 = _slicedToArray(_React$useState, 2),
6
+ isHydrated = _React$useState2[0],
7
+ setIsHydrated = _React$useState2[1];
8
+ var callbackRef = React.useRef(callback);
9
+ callbackRef.current = callback;
10
+ React.useEffect(function () {
11
+ if (typeof window !== 'undefined') {
12
+ var _callbackRef$current;
13
+ (_callbackRef$current = callbackRef.current) == null || _callbackRef$current.call(callbackRef);
14
+ setIsHydrated(true);
15
+ }
16
+ }, []);
17
+ return isHydrated;
18
+ }
@@ -0,0 +1 @@
1
+ export * from "./useOnIdle.js";
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/useOnIdle/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC"}
@@ -0,0 +1 @@
1
+ export * from "./useOnIdle.js";
@@ -0,0 +1 @@
1
+ export declare function useOnIdle(callback?: () => void, timeout?: number): boolean;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useOnIdle.d.ts","sourceRoot":"","sources":["../../../src/useOnIdle/useOnIdle.ts"],"names":[],"mappings":"AAEA,wBAAgB,SAAS,CAAC,QAAQ,CAAC,EAAE,MAAM,IAAI,EAAE,OAAO,SAAO,WAkC9D"}
@@ -0,0 +1,39 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
+ import * as React from 'react';
3
+ export function useOnIdle(callback) {
4
+ var timeout = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1000;
5
+ var _React$useState = React.useState(false),
6
+ _React$useState2 = _slicedToArray(_React$useState, 2),
7
+ isIdle = _React$useState2[0],
8
+ setIsIdle = _React$useState2[1];
9
+ var callbackRef = React.useRef(callback);
10
+ callbackRef.current = callback;
11
+ React.useEffect(function () {
12
+ if (typeof window === 'undefined') {
13
+ return undefined;
14
+ }
15
+ var handleIdle = function handleIdle() {
16
+ var _callbackRef$current;
17
+ (_callbackRef$current = callbackRef.current) == null || _callbackRef$current.call(callbackRef);
18
+ setIsIdle(true);
19
+ };
20
+ var idleCallbackId;
21
+ var timeoutId;
22
+ if ('requestIdleCallback' in window) {
23
+ idleCallbackId = window.requestIdleCallback(handleIdle, {
24
+ timeout: timeout
25
+ });
26
+ } else {
27
+ timeoutId = setTimeout(handleIdle, timeout);
28
+ }
29
+ return function () {
30
+ if (idleCallbackId && 'cancelIdleCallback' in window) {
31
+ window.cancelIdleCallback(idleCallbackId);
32
+ }
33
+ if (timeoutId) {
34
+ clearTimeout(timeoutId);
35
+ }
36
+ };
37
+ }, [timeout]);
38
+ return isIdle;
39
+ }
@@ -0,0 +1,11 @@
1
+ import type { Nodes as HastNodes } from 'hast';
2
+ export declare function hastToJsx(hast: HastNodes): React.ReactNode;
3
+ export declare function hastOrJsonToJsx(hastOrJson: HastNodes | {
4
+ hastJson: string;
5
+ }): React.ReactNode;
6
+ export declare function stringOrHastToString(source: string | HastNodes | {
7
+ hastJson: string;
8
+ }): string;
9
+ export declare function stringOrHastToJsx(source: string | HastNodes | {
10
+ hastJson: string;
11
+ }, highlighted?: boolean): React.ReactNode;