@multiplatform.one/markdown 6.0.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 (640) hide show
  1. package/LICENSE +201 -0
  2. package/dist/cjs/Aside/index.cjs +112 -0
  3. package/dist/cjs/Aside/index.native.js +119 -0
  4. package/dist/cjs/Aside/index.native.js.map +1 -0
  5. package/dist/cjs/ExternalIcon/ExternalIcon.spec.cjs +37 -0
  6. package/dist/cjs/ExternalIcon/ExternalIcon.spec.native.js +40 -0
  7. package/dist/cjs/ExternalIcon/ExternalIcon.spec.native.js.map +1 -0
  8. package/dist/cjs/ExternalIcon/index.cjs +46 -0
  9. package/dist/cjs/ExternalIcon/index.native.js +51 -0
  10. package/dist/cjs/ExternalIcon/index.native.js.map +1 -0
  11. package/dist/cjs/Hr/hr.spec.cjs +21 -0
  12. package/dist/cjs/Hr/hr.spec.native.js +24 -0
  13. package/dist/cjs/Hr/hr.spec.native.js.map +1 -0
  14. package/dist/cjs/Hr/index.cjs +41 -0
  15. package/dist/cjs/Hr/index.native.js +46 -0
  16. package/dist/cjs/Hr/index.native.js.map +1 -0
  17. package/dist/cjs/Li/index.cjs +38 -0
  18. package/dist/cjs/Li/index.native.js +41 -0
  19. package/dist/cjs/Li/index.native.js.map +1 -0
  20. package/dist/cjs/Li/li.spec.cjs +45 -0
  21. package/dist/cjs/Li/li.spec.native.js +50 -0
  22. package/dist/cjs/Li/li.spec.native.js.map +1 -0
  23. package/dist/cjs/Markdown.cjs +66 -0
  24. package/dist/cjs/Markdown.native.js +71 -0
  25. package/dist/cjs/Markdown.native.js.map +1 -0
  26. package/dist/cjs/Markdown.stories.cjs +153 -0
  27. package/dist/cjs/Markdown.stories.native.js +162 -0
  28. package/dist/cjs/Markdown.stories.native.js.map +1 -0
  29. package/dist/cjs/Mdx/index.cjs +58 -0
  30. package/dist/cjs/Mdx/index.native.js +62 -0
  31. package/dist/cjs/Mdx/index.native.js.map +1 -0
  32. package/dist/cjs/Mdx/mdx.spec.cjs +139 -0
  33. package/dist/cjs/Mdx/mdx.spec.native.js +158 -0
  34. package/dist/cjs/Mdx/mdx.spec.native.js.map +1 -0
  35. package/dist/cjs/MdxCodeBlock/index.cjs +185 -0
  36. package/dist/cjs/MdxCodeBlock/index.native.js +205 -0
  37. package/dist/cjs/MdxCodeBlock/index.native.js.map +1 -0
  38. package/dist/cjs/MdxCodeBlock/mdxCodeBlock.spec.cjs +90 -0
  39. package/dist/cjs/MdxCodeBlock/mdxCodeBlock.spec.native.js +122 -0
  40. package/dist/cjs/MdxCodeBlock/mdxCodeBlock.spec.native.js.map +1 -0
  41. package/dist/cjs/MdxCodeBlock/mdxCodeBlockContext.cjs +29 -0
  42. package/dist/cjs/MdxCodeBlock/mdxCodeBlockContext.native.js +32 -0
  43. package/dist/cjs/MdxCodeBlock/mdxCodeBlockContext.native.js.map +1 -0
  44. package/dist/cjs/Notice/index.cjs +94 -0
  45. package/dist/cjs/Notice/index.native.js +98 -0
  46. package/dist/cjs/Notice/index.native.js.map +1 -0
  47. package/dist/cjs/SimpleTable/index.cjs +132 -0
  48. package/dist/cjs/SimpleTable/index.native.js +162 -0
  49. package/dist/cjs/SimpleTable/index.native.js.map +1 -0
  50. package/dist/cjs/Table/index.cjs +121 -0
  51. package/dist/cjs/Table/index.native.js +130 -0
  52. package/dist/cjs/Table/index.native.js.map +1 -0
  53. package/dist/cjs/Tabs/index.cjs +93 -0
  54. package/dist/cjs/Tabs/index.native.js +103 -0
  55. package/dist/cjs/Tabs/index.native.js.map +1 -0
  56. package/dist/cjs/Ul/index.cjs +35 -0
  57. package/dist/cjs/Ul/index.native.js +38 -0
  58. package/dist/cjs/Ul/index.native.js.map +1 -0
  59. package/dist/cjs/Ul/ul.spec.cjs +150 -0
  60. package/dist/cjs/Ul/ul.spec.native.js +153 -0
  61. package/dist/cjs/Ul/ul.spec.native.js.map +1 -0
  62. package/dist/cjs/Video/index.cjs +84 -0
  63. package/dist/cjs/Video/index.native.js +89 -0
  64. package/dist/cjs/Video/index.native.js.map +1 -0
  65. package/dist/cjs/components/Blockquote.cjs +47 -0
  66. package/dist/cjs/components/Blockquote.native.js +51 -0
  67. package/dist/cjs/components/Blockquote.native.js.map +1 -0
  68. package/dist/cjs/components/Break.cjs +34 -0
  69. package/dist/cjs/components/Break.native.js +37 -0
  70. package/dist/cjs/components/Break.native.js.map +1 -0
  71. package/dist/cjs/components/CodeBlock.cjs +109 -0
  72. package/dist/cjs/components/CodeBlock.native.js +119 -0
  73. package/dist/cjs/components/CodeBlock.native.js.map +1 -0
  74. package/dist/cjs/components/Heading.cjs +48 -0
  75. package/dist/cjs/components/Heading.native.js +52 -0
  76. package/dist/cjs/components/Heading.native.js.map +1 -0
  77. package/dist/cjs/components/HorizontalRule.cjs +34 -0
  78. package/dist/cjs/components/HorizontalRule.native.js +37 -0
  79. package/dist/cjs/components/HorizontalRule.native.js.map +1 -0
  80. package/dist/cjs/components/Image.cjs +53 -0
  81. package/dist/cjs/components/Image.native.js +57 -0
  82. package/dist/cjs/components/Image.native.js.map +1 -0
  83. package/dist/cjs/components/InlineCode.cjs +48 -0
  84. package/dist/cjs/components/InlineCode.native.js +52 -0
  85. package/dist/cjs/components/InlineCode.native.js.map +1 -0
  86. package/dist/cjs/components/InlineStyles.cjs +55 -0
  87. package/dist/cjs/components/InlineStyles.native.js +61 -0
  88. package/dist/cjs/components/InlineStyles.native.js.map +1 -0
  89. package/dist/cjs/components/Link.cjs +54 -0
  90. package/dist/cjs/components/Link.native.js +58 -0
  91. package/dist/cjs/components/Link.native.js.map +1 -0
  92. package/dist/cjs/components/List.cjs +74 -0
  93. package/dist/cjs/components/List.native.js +79 -0
  94. package/dist/cjs/components/List.native.js.map +1 -0
  95. package/dist/cjs/components/Paragraph.cjs +38 -0
  96. package/dist/cjs/components/Paragraph.native.js +42 -0
  97. package/dist/cjs/components/Paragraph.native.js.map +1 -0
  98. package/dist/cjs/components/Table.cjs +86 -0
  99. package/dist/cjs/components/Table.native.js +92 -0
  100. package/dist/cjs/components/Table.native.js.map +1 -0
  101. package/dist/cjs/components/index.cjs +55 -0
  102. package/dist/cjs/components/index.native.js +58 -0
  103. package/dist/cjs/components/index.native.js.map +1 -0
  104. package/dist/cjs/hooks/index.cjs +22 -0
  105. package/dist/cjs/hooks/index.native.js +25 -0
  106. package/dist/cjs/hooks/index.native.js.map +1 -0
  107. package/dist/cjs/hooks/useCompileAndEvaluateMdx.cjs +42 -0
  108. package/dist/cjs/hooks/useCompileAndEvaluateMdx.native.js +45 -0
  109. package/dist/cjs/hooks/useCompileAndEvaluateMdx.native.js.map +1 -0
  110. package/dist/cjs/hooks/useCompileAndEvaluateMdx.spec.cjs +34 -0
  111. package/dist/cjs/hooks/useCompileAndEvaluateMdx.spec.native.js +49 -0
  112. package/dist/cjs/hooks/useCompileAndEvaluateMdx.spec.native.js.map +1 -0
  113. package/dist/cjs/hooks/useCompileMdx.cjs +80 -0
  114. package/dist/cjs/hooks/useCompileMdx.native.js +83 -0
  115. package/dist/cjs/hooks/useCompileMdx.native.js.map +1 -0
  116. package/dist/cjs/hooks/useEvaluateMdx.cjs +58 -0
  117. package/dist/cjs/hooks/useEvaluateMdx.native.js +63 -0
  118. package/dist/cjs/hooks/useEvaluateMdx.native.js.map +1 -0
  119. package/dist/cjs/icons/index.cjs +205 -0
  120. package/dist/cjs/icons/index.native.js +226 -0
  121. package/dist/cjs/icons/index.native.js.map +1 -0
  122. package/dist/cjs/index.cjs +51 -0
  123. package/dist/cjs/index.native.js +54 -0
  124. package/dist/cjs/index.native.js.map +1 -0
  125. package/dist/cjs/mdx.spec.cjs +400 -0
  126. package/dist/cjs/mdx.spec.native.js +465 -0
  127. package/dist/cjs/mdx.spec.native.js.map +1 -0
  128. package/dist/cjs/mdxComponents.cjs +317 -0
  129. package/dist/cjs/mdxComponents.native.js +376 -0
  130. package/dist/cjs/mdxComponents.native.js.map +1 -0
  131. package/dist/cjs/parser.cjs +49 -0
  132. package/dist/cjs/parser.native.js +52 -0
  133. package/dist/cjs/parser.native.js.map +1 -0
  134. package/dist/cjs/parser.spec.cjs +109 -0
  135. package/dist/cjs/parser.spec.native.js +114 -0
  136. package/dist/cjs/parser.spec.native.js.map +1 -0
  137. package/dist/cjs/renderer.cjs +326 -0
  138. package/dist/cjs/renderer.native.js +348 -0
  139. package/dist/cjs/renderer.native.js.map +1 -0
  140. package/dist/cjs/shared/colorRamps.cjs +74 -0
  141. package/dist/cjs/shared/colorRamps.native.js +77 -0
  142. package/dist/cjs/shared/colorRamps.native.js.map +1 -0
  143. package/dist/cjs/shared/index.cjs +20 -0
  144. package/dist/cjs/shared/index.native.js +23 -0
  145. package/dist/cjs/shared/index.native.js.map +1 -0
  146. package/dist/cjs/shiki/highlighter.cjs +89 -0
  147. package/dist/cjs/shiki/highlighter.native.js +94 -0
  148. package/dist/cjs/shiki/highlighter.native.js.map +1 -0
  149. package/dist/cjs/shiki/index.cjs +33 -0
  150. package/dist/cjs/shiki/index.native.js +36 -0
  151. package/dist/cjs/shiki/index.native.js.map +1 -0
  152. package/dist/cjs/types.cjs +18 -0
  153. package/dist/cjs/types.native.js +21 -0
  154. package/dist/cjs/types.native.js.map +1 -0
  155. package/dist/cjs/util/rehypeMetaAttributes.cjs +45 -0
  156. package/dist/cjs/util/rehypeMetaAttributes.native.js +49 -0
  157. package/dist/cjs/util/rehypeMetaAttributes.native.js.map +1 -0
  158. package/dist/cjs/util/util.spec.cjs +81 -0
  159. package/dist/cjs/util/util.spec.native.js +84 -0
  160. package/dist/cjs/util/util.spec.native.js.map +1 -0
  161. package/dist/esm/Aside/index.mjs +86 -0
  162. package/dist/esm/Aside/index.mjs.map +1 -0
  163. package/dist/esm/Aside/index.native.js +90 -0
  164. package/dist/esm/Aside/index.native.js.map +1 -0
  165. package/dist/esm/ExternalIcon/ExternalIcon.spec.mjs +38 -0
  166. package/dist/esm/ExternalIcon/ExternalIcon.spec.mjs.map +1 -0
  167. package/dist/esm/ExternalIcon/ExternalIcon.spec.native.js +38 -0
  168. package/dist/esm/ExternalIcon/ExternalIcon.spec.native.js.map +1 -0
  169. package/dist/esm/ExternalIcon/index.mjs +21 -0
  170. package/dist/esm/ExternalIcon/index.mjs.map +1 -0
  171. package/dist/esm/ExternalIcon/index.native.js +23 -0
  172. package/dist/esm/ExternalIcon/index.native.js.map +1 -0
  173. package/dist/esm/Hr/hr.spec.mjs +22 -0
  174. package/dist/esm/Hr/hr.spec.mjs.map +1 -0
  175. package/dist/esm/Hr/hr.spec.native.js +22 -0
  176. package/dist/esm/Hr/hr.spec.native.js.map +1 -0
  177. package/dist/esm/Hr/index.mjs +16 -0
  178. package/dist/esm/Hr/index.mjs.map +1 -0
  179. package/dist/esm/Hr/index.native.js +18 -0
  180. package/dist/esm/Hr/index.native.js.map +1 -0
  181. package/dist/esm/Li/index.mjs +13 -0
  182. package/dist/esm/Li/index.mjs.map +1 -0
  183. package/dist/esm/Li/index.native.js +13 -0
  184. package/dist/esm/Li/index.native.js.map +1 -0
  185. package/dist/esm/Li/li.spec.mjs +46 -0
  186. package/dist/esm/Li/li.spec.mjs.map +1 -0
  187. package/dist/esm/Li/li.spec.native.js +48 -0
  188. package/dist/esm/Li/li.spec.native.js.map +1 -0
  189. package/dist/esm/Markdown.mjs +41 -0
  190. package/dist/esm/Markdown.mjs.map +1 -0
  191. package/dist/esm/Markdown.native.js +43 -0
  192. package/dist/esm/Markdown.native.js.map +1 -0
  193. package/dist/esm/Markdown.stories.mjs +125 -0
  194. package/dist/esm/Markdown.stories.mjs.map +1 -0
  195. package/dist/esm/Markdown.stories.native.js +131 -0
  196. package/dist/esm/Markdown.stories.native.js.map +1 -0
  197. package/dist/esm/Mdx/index.mjs +33 -0
  198. package/dist/esm/Mdx/index.mjs.map +1 -0
  199. package/dist/esm/Mdx/index.native.js +34 -0
  200. package/dist/esm/Mdx/index.native.js.map +1 -0
  201. package/dist/esm/Mdx/mdx.spec.mjs +140 -0
  202. package/dist/esm/Mdx/mdx.spec.mjs.map +1 -0
  203. package/dist/esm/Mdx/mdx.spec.native.js +156 -0
  204. package/dist/esm/Mdx/mdx.spec.native.js.map +1 -0
  205. package/dist/esm/MdxCodeBlock/index.mjs +149 -0
  206. package/dist/esm/MdxCodeBlock/index.mjs.map +1 -0
  207. package/dist/esm/MdxCodeBlock/index.native.js +166 -0
  208. package/dist/esm/MdxCodeBlock/index.native.js.map +1 -0
  209. package/dist/esm/MdxCodeBlock/mdxCodeBlock.spec.mjs +91 -0
  210. package/dist/esm/MdxCodeBlock/mdxCodeBlock.spec.mjs.map +1 -0
  211. package/dist/esm/MdxCodeBlock/mdxCodeBlock.spec.native.js +96 -0
  212. package/dist/esm/MdxCodeBlock/mdxCodeBlock.spec.native.js.map +1 -0
  213. package/dist/esm/MdxCodeBlock/mdxCodeBlockContext.mjs +4 -0
  214. package/dist/esm/MdxCodeBlock/mdxCodeBlockContext.mjs.map +1 -0
  215. package/dist/esm/MdxCodeBlock/mdxCodeBlockContext.native.js +4 -0
  216. package/dist/esm/MdxCodeBlock/mdxCodeBlockContext.native.js.map +1 -0
  217. package/dist/esm/Notice/index.mjs +68 -0
  218. package/dist/esm/Notice/index.mjs.map +1 -0
  219. package/dist/esm/Notice/index.native.js +69 -0
  220. package/dist/esm/Notice/index.native.js.map +1 -0
  221. package/dist/esm/SimpleTable/index.mjs +107 -0
  222. package/dist/esm/SimpleTable/index.mjs.map +1 -0
  223. package/dist/esm/SimpleTable/index.native.js +134 -0
  224. package/dist/esm/SimpleTable/index.native.js.map +1 -0
  225. package/dist/esm/Table/index.mjs +91 -0
  226. package/dist/esm/Table/index.mjs.map +1 -0
  227. package/dist/esm/Table/index.native.js +97 -0
  228. package/dist/esm/Table/index.native.js.map +1 -0
  229. package/dist/esm/Tabs/index.mjs +67 -0
  230. package/dist/esm/Tabs/index.mjs.map +1 -0
  231. package/dist/esm/Tabs/index.native.js +74 -0
  232. package/dist/esm/Tabs/index.native.js.map +1 -0
  233. package/dist/esm/Ul/index.mjs +10 -0
  234. package/dist/esm/Ul/index.mjs.map +1 -0
  235. package/dist/esm/Ul/index.native.js +10 -0
  236. package/dist/esm/Ul/index.native.js.map +1 -0
  237. package/dist/esm/Ul/ul.spec.mjs +151 -0
  238. package/dist/esm/Ul/ul.spec.mjs.map +1 -0
  239. package/dist/esm/Ul/ul.spec.native.js +151 -0
  240. package/dist/esm/Ul/ul.spec.native.js.map +1 -0
  241. package/dist/esm/Video/index.mjs +59 -0
  242. package/dist/esm/Video/index.mjs.map +1 -0
  243. package/dist/esm/Video/index.native.js +61 -0
  244. package/dist/esm/Video/index.native.js.map +1 -0
  245. package/dist/esm/components/Blockquote.mjs +22 -0
  246. package/dist/esm/components/Blockquote.mjs.map +1 -0
  247. package/dist/esm/components/Blockquote.native.js +23 -0
  248. package/dist/esm/components/Blockquote.native.js.map +1 -0
  249. package/dist/esm/components/Break.mjs +9 -0
  250. package/dist/esm/components/Break.mjs.map +1 -0
  251. package/dist/esm/components/Break.native.js +9 -0
  252. package/dist/esm/components/Break.native.js.map +1 -0
  253. package/dist/esm/components/CodeBlock.mjs +84 -0
  254. package/dist/esm/components/CodeBlock.mjs.map +1 -0
  255. package/dist/esm/components/CodeBlock.native.js +91 -0
  256. package/dist/esm/components/CodeBlock.native.js.map +1 -0
  257. package/dist/esm/components/Heading.mjs +23 -0
  258. package/dist/esm/components/Heading.mjs.map +1 -0
  259. package/dist/esm/components/Heading.native.js +24 -0
  260. package/dist/esm/components/Heading.native.js.map +1 -0
  261. package/dist/esm/components/HorizontalRule.mjs +9 -0
  262. package/dist/esm/components/HorizontalRule.mjs.map +1 -0
  263. package/dist/esm/components/HorizontalRule.native.js +9 -0
  264. package/dist/esm/components/HorizontalRule.native.js.map +1 -0
  265. package/dist/esm/components/Image.mjs +28 -0
  266. package/dist/esm/components/Image.mjs.map +1 -0
  267. package/dist/esm/components/Image.native.js +29 -0
  268. package/dist/esm/components/Image.native.js.map +1 -0
  269. package/dist/esm/components/InlineCode.mjs +23 -0
  270. package/dist/esm/components/InlineCode.mjs.map +1 -0
  271. package/dist/esm/components/InlineCode.native.js +24 -0
  272. package/dist/esm/components/InlineCode.native.js.map +1 -0
  273. package/dist/esm/components/InlineStyles.mjs +28 -0
  274. package/dist/esm/components/InlineStyles.mjs.map +1 -0
  275. package/dist/esm/components/InlineStyles.native.js +31 -0
  276. package/dist/esm/components/InlineStyles.native.js.map +1 -0
  277. package/dist/esm/components/Link.mjs +29 -0
  278. package/dist/esm/components/Link.mjs.map +1 -0
  279. package/dist/esm/components/Link.native.js +30 -0
  280. package/dist/esm/components/Link.native.js.map +1 -0
  281. package/dist/esm/components/List.mjs +48 -0
  282. package/dist/esm/components/List.mjs.map +1 -0
  283. package/dist/esm/components/List.native.js +50 -0
  284. package/dist/esm/components/List.native.js.map +1 -0
  285. package/dist/esm/components/Paragraph.mjs +13 -0
  286. package/dist/esm/components/Paragraph.mjs.map +1 -0
  287. package/dist/esm/components/Paragraph.native.js +14 -0
  288. package/dist/esm/components/Paragraph.native.js.map +1 -0
  289. package/dist/esm/components/Table.mjs +59 -0
  290. package/dist/esm/components/Table.mjs.map +1 -0
  291. package/dist/esm/components/Table.native.js +62 -0
  292. package/dist/esm/components/Table.native.js.map +1 -0
  293. package/dist/esm/components/index.mjs +14 -0
  294. package/dist/esm/components/index.mjs.map +1 -0
  295. package/dist/esm/components/index.native.js +14 -0
  296. package/dist/esm/components/index.native.js.map +1 -0
  297. package/dist/esm/hooks/index.mjs +4 -0
  298. package/dist/esm/hooks/index.mjs.map +1 -0
  299. package/dist/esm/hooks/index.native.js +4 -0
  300. package/dist/esm/hooks/index.native.js.map +1 -0
  301. package/dist/esm/hooks/useCompileAndEvaluateMdx.mjs +17 -0
  302. package/dist/esm/hooks/useCompileAndEvaluateMdx.mjs.map +1 -0
  303. package/dist/esm/hooks/useCompileAndEvaluateMdx.native.js +17 -0
  304. package/dist/esm/hooks/useCompileAndEvaluateMdx.native.js.map +1 -0
  305. package/dist/esm/hooks/useCompileAndEvaluateMdx.spec.mjs +35 -0
  306. package/dist/esm/hooks/useCompileAndEvaluateMdx.spec.mjs.map +1 -0
  307. package/dist/esm/hooks/useCompileAndEvaluateMdx.spec.native.js +47 -0
  308. package/dist/esm/hooks/useCompileAndEvaluateMdx.spec.native.js.map +1 -0
  309. package/dist/esm/hooks/useCompileMdx.mjs +44 -0
  310. package/dist/esm/hooks/useCompileMdx.mjs.map +1 -0
  311. package/dist/esm/hooks/useCompileMdx.native.js +44 -0
  312. package/dist/esm/hooks/useCompileMdx.native.js.map +1 -0
  313. package/dist/esm/hooks/useEvaluateMdx.mjs +22 -0
  314. package/dist/esm/hooks/useEvaluateMdx.mjs.map +1 -0
  315. package/dist/esm/hooks/useEvaluateMdx.native.js +24 -0
  316. package/dist/esm/hooks/useEvaluateMdx.native.js.map +1 -0
  317. package/dist/esm/icons/index.mjs +175 -0
  318. package/dist/esm/icons/index.mjs.map +1 -0
  319. package/dist/esm/icons/index.native.js +193 -0
  320. package/dist/esm/icons/index.native.js.map +1 -0
  321. package/dist/esm/index.mjs +21 -0
  322. package/dist/esm/index.mjs.map +1 -0
  323. package/dist/esm/index.native.js +21 -0
  324. package/dist/esm/index.native.js.map +1 -0
  325. package/dist/esm/mdx.spec.mjs +377 -0
  326. package/dist/esm/mdx.spec.mjs.map +1 -0
  327. package/dist/esm/mdx.spec.native.js +439 -0
  328. package/dist/esm/mdx.spec.native.js.map +1 -0
  329. package/dist/esm/mdxComponents.mjs +291 -0
  330. package/dist/esm/mdxComponents.mjs.map +1 -0
  331. package/dist/esm/mdxComponents.native.js +347 -0
  332. package/dist/esm/mdxComponents.native.js.map +1 -0
  333. package/dist/esm/parser.mjs +12 -0
  334. package/dist/esm/parser.mjs.map +1 -0
  335. package/dist/esm/parser.native.js +12 -0
  336. package/dist/esm/parser.native.js.map +1 -0
  337. package/dist/esm/parser.spec.mjs +110 -0
  338. package/dist/esm/parser.spec.mjs.map +1 -0
  339. package/dist/esm/parser.spec.native.js +112 -0
  340. package/dist/esm/parser.spec.native.js.map +1 -0
  341. package/dist/esm/renderer.mjs +300 -0
  342. package/dist/esm/renderer.mjs.map +1 -0
  343. package/dist/esm/renderer.native.js +319 -0
  344. package/dist/esm/renderer.native.js.map +1 -0
  345. package/dist/esm/shared/colorRamps.mjs +45 -0
  346. package/dist/esm/shared/colorRamps.mjs.map +1 -0
  347. package/dist/esm/shared/colorRamps.native.js +45 -0
  348. package/dist/esm/shared/colorRamps.native.js.map +1 -0
  349. package/dist/esm/shared/index.mjs +2 -0
  350. package/dist/esm/shared/index.mjs.map +1 -0
  351. package/dist/esm/shared/index.native.js +2 -0
  352. package/dist/esm/shared/index.native.js.map +1 -0
  353. package/dist/esm/shiki/highlighter.mjs +59 -0
  354. package/dist/esm/shiki/highlighter.mjs.map +1 -0
  355. package/dist/esm/shiki/highlighter.native.js +61 -0
  356. package/dist/esm/shiki/highlighter.native.js.map +1 -0
  357. package/dist/esm/shiki/index.mjs +3 -0
  358. package/dist/esm/shiki/index.mjs.map +1 -0
  359. package/dist/esm/shiki/index.native.js +3 -0
  360. package/dist/esm/shiki/index.native.js.map +1 -0
  361. package/dist/esm/types.mjs +2 -0
  362. package/dist/esm/types.mjs.map +1 -0
  363. package/dist/esm/types.native.js +2 -0
  364. package/dist/esm/types.native.js.map +1 -0
  365. package/dist/esm/util/rehypeMetaAttributes.mjs +20 -0
  366. package/dist/esm/util/rehypeMetaAttributes.mjs.map +1 -0
  367. package/dist/esm/util/rehypeMetaAttributes.native.js +21 -0
  368. package/dist/esm/util/rehypeMetaAttributes.native.js.map +1 -0
  369. package/dist/esm/util/util.spec.mjs +82 -0
  370. package/dist/esm/util/util.spec.mjs.map +1 -0
  371. package/dist/esm/util/util.spec.native.js +82 -0
  372. package/dist/esm/util/util.spec.native.js.map +1 -0
  373. package/dist/jsx/Aside/index.mjs +86 -0
  374. package/dist/jsx/Aside/index.mjs.map +1 -0
  375. package/dist/jsx/Aside/index.native.js +119 -0
  376. package/dist/jsx/Aside/index.native.js.map +1 -0
  377. package/dist/jsx/ExternalIcon/ExternalIcon.spec.mjs +38 -0
  378. package/dist/jsx/ExternalIcon/ExternalIcon.spec.mjs.map +1 -0
  379. package/dist/jsx/ExternalIcon/ExternalIcon.spec.native.js +40 -0
  380. package/dist/jsx/ExternalIcon/ExternalIcon.spec.native.js.map +1 -0
  381. package/dist/jsx/ExternalIcon/index.mjs +21 -0
  382. package/dist/jsx/ExternalIcon/index.mjs.map +1 -0
  383. package/dist/jsx/ExternalIcon/index.native.js +51 -0
  384. package/dist/jsx/ExternalIcon/index.native.js.map +1 -0
  385. package/dist/jsx/Hr/hr.spec.mjs +22 -0
  386. package/dist/jsx/Hr/hr.spec.mjs.map +1 -0
  387. package/dist/jsx/Hr/hr.spec.native.js +24 -0
  388. package/dist/jsx/Hr/hr.spec.native.js.map +1 -0
  389. package/dist/jsx/Hr/index.mjs +16 -0
  390. package/dist/jsx/Hr/index.mjs.map +1 -0
  391. package/dist/jsx/Hr/index.native.js +46 -0
  392. package/dist/jsx/Hr/index.native.js.map +1 -0
  393. package/dist/jsx/Li/index.mjs +13 -0
  394. package/dist/jsx/Li/index.mjs.map +1 -0
  395. package/dist/jsx/Li/index.native.js +41 -0
  396. package/dist/jsx/Li/index.native.js.map +1 -0
  397. package/dist/jsx/Li/li.spec.mjs +46 -0
  398. package/dist/jsx/Li/li.spec.mjs.map +1 -0
  399. package/dist/jsx/Li/li.spec.native.js +50 -0
  400. package/dist/jsx/Li/li.spec.native.js.map +1 -0
  401. package/dist/jsx/Markdown.mjs +41 -0
  402. package/dist/jsx/Markdown.mjs.map +1 -0
  403. package/dist/jsx/Markdown.native.js +71 -0
  404. package/dist/jsx/Markdown.native.js.map +1 -0
  405. package/dist/jsx/Markdown.stories.mjs +125 -0
  406. package/dist/jsx/Markdown.stories.mjs.map +1 -0
  407. package/dist/jsx/Markdown.stories.native.js +162 -0
  408. package/dist/jsx/Markdown.stories.native.js.map +1 -0
  409. package/dist/jsx/Mdx/index.mjs +33 -0
  410. package/dist/jsx/Mdx/index.mjs.map +1 -0
  411. package/dist/jsx/Mdx/index.native.js +62 -0
  412. package/dist/jsx/Mdx/index.native.js.map +1 -0
  413. package/dist/jsx/Mdx/mdx.spec.mjs +140 -0
  414. package/dist/jsx/Mdx/mdx.spec.mjs.map +1 -0
  415. package/dist/jsx/Mdx/mdx.spec.native.js +158 -0
  416. package/dist/jsx/Mdx/mdx.spec.native.js.map +1 -0
  417. package/dist/jsx/MdxCodeBlock/index.mjs +149 -0
  418. package/dist/jsx/MdxCodeBlock/index.mjs.map +1 -0
  419. package/dist/jsx/MdxCodeBlock/index.native.js +205 -0
  420. package/dist/jsx/MdxCodeBlock/index.native.js.map +1 -0
  421. package/dist/jsx/MdxCodeBlock/mdxCodeBlock.spec.mjs +91 -0
  422. package/dist/jsx/MdxCodeBlock/mdxCodeBlock.spec.mjs.map +1 -0
  423. package/dist/jsx/MdxCodeBlock/mdxCodeBlock.spec.native.js +122 -0
  424. package/dist/jsx/MdxCodeBlock/mdxCodeBlock.spec.native.js.map +1 -0
  425. package/dist/jsx/MdxCodeBlock/mdxCodeBlockContext.mjs +4 -0
  426. package/dist/jsx/MdxCodeBlock/mdxCodeBlockContext.mjs.map +1 -0
  427. package/dist/jsx/MdxCodeBlock/mdxCodeBlockContext.native.js +32 -0
  428. package/dist/jsx/MdxCodeBlock/mdxCodeBlockContext.native.js.map +1 -0
  429. package/dist/jsx/Notice/index.mjs +68 -0
  430. package/dist/jsx/Notice/index.mjs.map +1 -0
  431. package/dist/jsx/Notice/index.native.js +98 -0
  432. package/dist/jsx/Notice/index.native.js.map +1 -0
  433. package/dist/jsx/SimpleTable/index.mjs +107 -0
  434. package/dist/jsx/SimpleTable/index.mjs.map +1 -0
  435. package/dist/jsx/SimpleTable/index.native.js +162 -0
  436. package/dist/jsx/SimpleTable/index.native.js.map +1 -0
  437. package/dist/jsx/Table/index.mjs +91 -0
  438. package/dist/jsx/Table/index.mjs.map +1 -0
  439. package/dist/jsx/Table/index.native.js +130 -0
  440. package/dist/jsx/Table/index.native.js.map +1 -0
  441. package/dist/jsx/Tabs/index.mjs +67 -0
  442. package/dist/jsx/Tabs/index.mjs.map +1 -0
  443. package/dist/jsx/Tabs/index.native.js +103 -0
  444. package/dist/jsx/Tabs/index.native.js.map +1 -0
  445. package/dist/jsx/Ul/index.mjs +10 -0
  446. package/dist/jsx/Ul/index.mjs.map +1 -0
  447. package/dist/jsx/Ul/index.native.js +38 -0
  448. package/dist/jsx/Ul/index.native.js.map +1 -0
  449. package/dist/jsx/Ul/ul.spec.mjs +151 -0
  450. package/dist/jsx/Ul/ul.spec.mjs.map +1 -0
  451. package/dist/jsx/Ul/ul.spec.native.js +153 -0
  452. package/dist/jsx/Ul/ul.spec.native.js.map +1 -0
  453. package/dist/jsx/Video/index.mjs +59 -0
  454. package/dist/jsx/Video/index.mjs.map +1 -0
  455. package/dist/jsx/Video/index.native.js +89 -0
  456. package/dist/jsx/Video/index.native.js.map +1 -0
  457. package/dist/jsx/components/Blockquote.mjs +22 -0
  458. package/dist/jsx/components/Blockquote.mjs.map +1 -0
  459. package/dist/jsx/components/Blockquote.native.js +51 -0
  460. package/dist/jsx/components/Blockquote.native.js.map +1 -0
  461. package/dist/jsx/components/Break.mjs +9 -0
  462. package/dist/jsx/components/Break.mjs.map +1 -0
  463. package/dist/jsx/components/Break.native.js +37 -0
  464. package/dist/jsx/components/Break.native.js.map +1 -0
  465. package/dist/jsx/components/CodeBlock.mjs +84 -0
  466. package/dist/jsx/components/CodeBlock.mjs.map +1 -0
  467. package/dist/jsx/components/CodeBlock.native.js +119 -0
  468. package/dist/jsx/components/CodeBlock.native.js.map +1 -0
  469. package/dist/jsx/components/Heading.mjs +23 -0
  470. package/dist/jsx/components/Heading.mjs.map +1 -0
  471. package/dist/jsx/components/Heading.native.js +52 -0
  472. package/dist/jsx/components/Heading.native.js.map +1 -0
  473. package/dist/jsx/components/HorizontalRule.mjs +9 -0
  474. package/dist/jsx/components/HorizontalRule.mjs.map +1 -0
  475. package/dist/jsx/components/HorizontalRule.native.js +37 -0
  476. package/dist/jsx/components/HorizontalRule.native.js.map +1 -0
  477. package/dist/jsx/components/Image.mjs +28 -0
  478. package/dist/jsx/components/Image.mjs.map +1 -0
  479. package/dist/jsx/components/Image.native.js +57 -0
  480. package/dist/jsx/components/Image.native.js.map +1 -0
  481. package/dist/jsx/components/InlineCode.mjs +23 -0
  482. package/dist/jsx/components/InlineCode.mjs.map +1 -0
  483. package/dist/jsx/components/InlineCode.native.js +52 -0
  484. package/dist/jsx/components/InlineCode.native.js.map +1 -0
  485. package/dist/jsx/components/InlineStyles.mjs +28 -0
  486. package/dist/jsx/components/InlineStyles.mjs.map +1 -0
  487. package/dist/jsx/components/InlineStyles.native.js +61 -0
  488. package/dist/jsx/components/InlineStyles.native.js.map +1 -0
  489. package/dist/jsx/components/Link.mjs +29 -0
  490. package/dist/jsx/components/Link.mjs.map +1 -0
  491. package/dist/jsx/components/Link.native.js +58 -0
  492. package/dist/jsx/components/Link.native.js.map +1 -0
  493. package/dist/jsx/components/List.mjs +48 -0
  494. package/dist/jsx/components/List.mjs.map +1 -0
  495. package/dist/jsx/components/List.native.js +79 -0
  496. package/dist/jsx/components/List.native.js.map +1 -0
  497. package/dist/jsx/components/Paragraph.mjs +13 -0
  498. package/dist/jsx/components/Paragraph.mjs.map +1 -0
  499. package/dist/jsx/components/Paragraph.native.js +42 -0
  500. package/dist/jsx/components/Paragraph.native.js.map +1 -0
  501. package/dist/jsx/components/Table.mjs +59 -0
  502. package/dist/jsx/components/Table.mjs.map +1 -0
  503. package/dist/jsx/components/Table.native.js +92 -0
  504. package/dist/jsx/components/Table.native.js.map +1 -0
  505. package/dist/jsx/components/index.mjs +14 -0
  506. package/dist/jsx/components/index.mjs.map +1 -0
  507. package/dist/jsx/components/index.native.js +58 -0
  508. package/dist/jsx/components/index.native.js.map +1 -0
  509. package/dist/jsx/hooks/index.mjs +4 -0
  510. package/dist/jsx/hooks/index.mjs.map +1 -0
  511. package/dist/jsx/hooks/index.native.js +25 -0
  512. package/dist/jsx/hooks/index.native.js.map +1 -0
  513. package/dist/jsx/hooks/useCompileAndEvaluateMdx.mjs +17 -0
  514. package/dist/jsx/hooks/useCompileAndEvaluateMdx.mjs.map +1 -0
  515. package/dist/jsx/hooks/useCompileAndEvaluateMdx.native.js +45 -0
  516. package/dist/jsx/hooks/useCompileAndEvaluateMdx.native.js.map +1 -0
  517. package/dist/jsx/hooks/useCompileAndEvaluateMdx.spec.mjs +35 -0
  518. package/dist/jsx/hooks/useCompileAndEvaluateMdx.spec.mjs.map +1 -0
  519. package/dist/jsx/hooks/useCompileAndEvaluateMdx.spec.native.js +49 -0
  520. package/dist/jsx/hooks/useCompileAndEvaluateMdx.spec.native.js.map +1 -0
  521. package/dist/jsx/hooks/useCompileMdx.mjs +44 -0
  522. package/dist/jsx/hooks/useCompileMdx.mjs.map +1 -0
  523. package/dist/jsx/hooks/useCompileMdx.native.js +83 -0
  524. package/dist/jsx/hooks/useCompileMdx.native.js.map +1 -0
  525. package/dist/jsx/hooks/useEvaluateMdx.mjs +22 -0
  526. package/dist/jsx/hooks/useEvaluateMdx.mjs.map +1 -0
  527. package/dist/jsx/hooks/useEvaluateMdx.native.js +63 -0
  528. package/dist/jsx/hooks/useEvaluateMdx.native.js.map +1 -0
  529. package/dist/jsx/icons/index.mjs +175 -0
  530. package/dist/jsx/icons/index.mjs.map +1 -0
  531. package/dist/jsx/icons/index.native.js +226 -0
  532. package/dist/jsx/icons/index.native.js.map +1 -0
  533. package/dist/jsx/index.js +21 -0
  534. package/dist/jsx/index.js.map +1 -0
  535. package/dist/jsx/index.mjs +21 -0
  536. package/dist/jsx/index.mjs.map +1 -0
  537. package/dist/jsx/index.native.js +54 -0
  538. package/dist/jsx/index.native.js.map +1 -0
  539. package/dist/jsx/mdx.spec.mjs +377 -0
  540. package/dist/jsx/mdx.spec.mjs.map +1 -0
  541. package/dist/jsx/mdx.spec.native.js +465 -0
  542. package/dist/jsx/mdx.spec.native.js.map +1 -0
  543. package/dist/jsx/mdxComponents.mjs +291 -0
  544. package/dist/jsx/mdxComponents.mjs.map +1 -0
  545. package/dist/jsx/mdxComponents.native.js +376 -0
  546. package/dist/jsx/mdxComponents.native.js.map +1 -0
  547. package/dist/jsx/parser.mjs +12 -0
  548. package/dist/jsx/parser.mjs.map +1 -0
  549. package/dist/jsx/parser.native.js +52 -0
  550. package/dist/jsx/parser.native.js.map +1 -0
  551. package/dist/jsx/parser.spec.mjs +110 -0
  552. package/dist/jsx/parser.spec.mjs.map +1 -0
  553. package/dist/jsx/parser.spec.native.js +114 -0
  554. package/dist/jsx/parser.spec.native.js.map +1 -0
  555. package/dist/jsx/renderer.mjs +300 -0
  556. package/dist/jsx/renderer.mjs.map +1 -0
  557. package/dist/jsx/renderer.native.js +348 -0
  558. package/dist/jsx/renderer.native.js.map +1 -0
  559. package/dist/jsx/shared/colorRamps.mjs +45 -0
  560. package/dist/jsx/shared/colorRamps.mjs.map +1 -0
  561. package/dist/jsx/shared/colorRamps.native.js +77 -0
  562. package/dist/jsx/shared/colorRamps.native.js.map +1 -0
  563. package/dist/jsx/shared/index.mjs +2 -0
  564. package/dist/jsx/shared/index.mjs.map +1 -0
  565. package/dist/jsx/shared/index.native.js +23 -0
  566. package/dist/jsx/shared/index.native.js.map +1 -0
  567. package/dist/jsx/shiki/highlighter.mjs +59 -0
  568. package/dist/jsx/shiki/highlighter.mjs.map +1 -0
  569. package/dist/jsx/shiki/highlighter.native.js +94 -0
  570. package/dist/jsx/shiki/highlighter.native.js.map +1 -0
  571. package/dist/jsx/shiki/index.mjs +3 -0
  572. package/dist/jsx/shiki/index.mjs.map +1 -0
  573. package/dist/jsx/shiki/index.native.js +36 -0
  574. package/dist/jsx/shiki/index.native.js.map +1 -0
  575. package/dist/jsx/types.mjs +2 -0
  576. package/dist/jsx/types.mjs.map +1 -0
  577. package/dist/jsx/types.native.js +21 -0
  578. package/dist/jsx/types.native.js.map +1 -0
  579. package/dist/jsx/util/rehypeMetaAttributes.mjs +20 -0
  580. package/dist/jsx/util/rehypeMetaAttributes.mjs.map +1 -0
  581. package/dist/jsx/util/rehypeMetaAttributes.native.js +49 -0
  582. package/dist/jsx/util/rehypeMetaAttributes.native.js.map +1 -0
  583. package/dist/jsx/util/util.spec.mjs +82 -0
  584. package/dist/jsx/util/util.spec.mjs.map +1 -0
  585. package/dist/jsx/util/util.spec.native.js +84 -0
  586. package/dist/jsx/util/util.spec.native.js.map +1 -0
  587. package/package.json +94 -0
  588. package/src/Aside/index.tsx +89 -0
  589. package/src/ExternalIcon/ExternalIcon.spec.tsx +33 -0
  590. package/src/ExternalIcon/index.tsx +15 -0
  591. package/src/Hr/hr.spec.tsx +18 -0
  592. package/src/Hr/index.tsx +7 -0
  593. package/src/Li/index.tsx +14 -0
  594. package/src/Li/li.spec.tsx +33 -0
  595. package/src/Markdown.stories.tsx +127 -0
  596. package/src/Markdown.tsx +62 -0
  597. package/src/Mdx/index.tsx +32 -0
  598. package/src/Mdx/mdx.spec.tsx +118 -0
  599. package/src/MdxCodeBlock/index.tsx +168 -0
  600. package/src/MdxCodeBlock/mdxCodeBlock.spec.tsx +66 -0
  601. package/src/MdxCodeBlock/mdxCodeBlockContext.ts +15 -0
  602. package/src/Notice/index.tsx +76 -0
  603. package/src/SimpleTable/index.tsx +125 -0
  604. package/src/Table/index.tsx +80 -0
  605. package/src/Tabs/index.tsx +76 -0
  606. package/src/Ul/index.ts +11 -0
  607. package/src/Ul/ul.spec.tsx +131 -0
  608. package/src/Video/index.tsx +62 -0
  609. package/src/components/Blockquote.tsx +20 -0
  610. package/src/components/Break.tsx +6 -0
  611. package/src/components/CodeBlock.tsx +94 -0
  612. package/src/components/Heading.tsx +20 -0
  613. package/src/components/HorizontalRule.tsx +6 -0
  614. package/src/components/Image.tsx +20 -0
  615. package/src/components/InlineCode.tsx +21 -0
  616. package/src/components/InlineStyles.tsx +14 -0
  617. package/src/components/Link.tsx +26 -0
  618. package/src/components/List.tsx +41 -0
  619. package/src/components/Paragraph.tsx +10 -0
  620. package/src/components/Table.tsx +56 -0
  621. package/src/components/index.ts +12 -0
  622. package/src/hooks/index.ts +3 -0
  623. package/src/hooks/useCompileAndEvaluateMdx.spec.tsx +31 -0
  624. package/src/hooks/useCompileAndEvaluateMdx.ts +22 -0
  625. package/src/hooks/useCompileMdx.ts +55 -0
  626. package/src/hooks/useEvaluateMdx.ts +27 -0
  627. package/src/icons/index.tsx +116 -0
  628. package/src/index.ts +33 -0
  629. package/src/mdx.spec.tsx +347 -0
  630. package/src/mdxComponents.tsx +225 -0
  631. package/src/parser.spec.ts +126 -0
  632. package/src/parser.ts +27 -0
  633. package/src/renderer.tsx +391 -0
  634. package/src/shared/colorRamps.ts +52 -0
  635. package/src/shared/index.ts +1 -0
  636. package/src/shiki/highlighter.ts +148 -0
  637. package/src/shiki/index.ts +11 -0
  638. package/src/types.ts +225 -0
  639. package/src/util/rehypeMetaAttributes.ts +21 -0
  640. package/src/util/util.spec.tsx +90 -0
@@ -0,0 +1,125 @@
1
+ import { YStack } from "tamagui";
2
+ import { Markdown } from "./Markdown.mjs";
3
+ import { jsx } from "react/jsx-runtime";
4
+ const meta = {
5
+ title: "Markdown/Markdown",
6
+ component: Markdown,
7
+ parameters: {
8
+ status: {
9
+ type: "beta"
10
+ },
11
+ docs: {
12
+ description: {
13
+ component: "Cross-platform markdown renderer with Shiki syntax highlighting. Supports GFM (tables, strikethrough, task lists)."
14
+ }
15
+ }
16
+ }
17
+ };
18
+ var Markdown_stories_default = meta;
19
+ const sampleMarkdown = `# Hello World
20
+
21
+ This is **bold**, _italic_, and ~~strikethrough~~ text.
22
+
23
+ ## Features
24
+
25
+ - Markdown parsing with remark
26
+ - GFM support (tables, task lists)
27
+ - Shiki syntax highlighting
28
+ - Cross-platform (web + native)
29
+
30
+ ### Task Lists
31
+
32
+ - [x] Completed task
33
+ - [ ] Incomplete task
34
+ - [ ] Another task
35
+
36
+ ## Code Blocks
37
+
38
+ Inline \`code\` looks like this.
39
+
40
+ \`\`\`typescript
41
+ interface User {
42
+ id: string;
43
+ name: string;
44
+ email: string;
45
+ }
46
+
47
+ function greet(user: User): string {
48
+ return \`Hello, \${user.name}!\`;
49
+ }
50
+ \`\`\`
51
+
52
+ \`\`\`python
53
+ def fibonacci(n: int) -> int:
54
+ if n <= 1:
55
+ return n
56
+ return fibonacci(n - 1) + fibonacci(n - 2)
57
+
58
+ print(fibonacci(10))
59
+ \`\`\`
60
+
61
+ ## Blockquotes
62
+
63
+ > This is a blockquote.
64
+ > It can span multiple lines.
65
+
66
+ ## Tables
67
+
68
+ | Feature | Web | Native |
69
+ |---------|-----|--------|
70
+ | Markdown | Yes | Yes |
71
+ | Syntax Highlighting | Yes | Yes |
72
+ | Tables | Yes | Yes |
73
+ | HTML | Yes | No |
74
+
75
+ ## Links and Images
76
+
77
+ [Visit GitHub](https://github.com)
78
+
79
+ ---
80
+
81
+ That's a horizontal rule above.
82
+ `;
83
+ const Main = {
84
+ name: "Main",
85
+ render: () => /* @__PURE__ */jsx(YStack, {
86
+ maxWidth: 700,
87
+ padding: "$4",
88
+ children: /* @__PURE__ */jsx(Markdown, {
89
+ children: sampleMarkdown
90
+ })
91
+ })
92
+ };
93
+ const CodeBlock = {
94
+ render: () => /* @__PURE__ */jsx(YStack, {
95
+ maxWidth: 700,
96
+ padding: "$4",
97
+ children: /* @__PURE__ */jsx(Markdown, {
98
+ children: `\`\`\`javascript
99
+ const express = require('express');
100
+ const app = express();
101
+
102
+ app.get('/', (req, res) => {
103
+ res.json({ message: 'Hello World!' });
104
+ });
105
+
106
+ app.listen(3000, () => {
107
+ console.log('Server running on port 3000');
108
+ });
109
+ \`\`\``
110
+ })
111
+ })
112
+ };
113
+ const Simple = {
114
+ render: () => /* @__PURE__ */jsx(YStack, {
115
+ maxWidth: 700,
116
+ padding: "$4",
117
+ children: /* @__PURE__ */jsx(Markdown, {
118
+ children: `# Simple Example
119
+
120
+ Just some **bold** and _italic_ text with a [link](https://example.com).`
121
+ })
122
+ })
123
+ };
124
+ export { CodeBlock, Main, Simple, Markdown_stories_default as default };
125
+ //# sourceMappingURL=Markdown.stories.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["YStack","Markdown","jsx","meta","title","component","parameters","status","type","docs","description","Markdown_stories_default","sampleMarkdown","Main","name","render","maxWidth","padding","children","CodeBlock","Simple"],"sources":["../../src/Markdown.stories.tsx"],"sourcesContent":[null],"mappings":"AACA,SAASA,MAAA,QAAc;AACvB,SAASC,QAAA,QAAgB;AAwFnB,SAAAC,GAAA;AAtFN,MAAMC,IAAA,GAA8B;EAClCC,KAAA,EAAO;EACPC,SAAA,EAAWJ,QAAA;EACXK,UAAA,EAAY;IACVC,MAAA,EAAQ;MAAEC,IAAA,EAAM;IAAO;IACvBC,IAAA,EAAM;MACJC,WAAA,EAAa;QACXL,SAAA,EACE;MACJ;IACF;EACF;AACF;AAEA,IAAOM,wBAAA,GAAQR,IAAA;AAGf,MAAMS,cAAA,GAAiB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAiEhB,MAAMC,IAAA,GAAc;EACzBC,IAAA,EAAM;EACNC,MAAA,EAAQA,CAAA,KACN,eAAAb,GAAA,CAACF,MAAA;IAAOgB,QAAA,EAAU;IAAKC,OAAA,EAAQ;IAC7BC,QAAA,iBAAAhB,GAAA,CAACD,QAAA;MAAUiB,QAAA,EAAAN;IAAA,CAAe;EAAA,CAC5B;AAEJ;AAEO,MAAMO,SAAA,GAAmB;EAC9BJ,MAAA,EAAQA,CAAA,KACN,eAAAb,GAAA,CAACF,MAAA;IAAOgB,QAAA,EAAU;IAAKC,OAAA,EAAQ;IAC7BC,QAAA,iBAAAhB,GAAA,CAACD,QAAA;MACEiB,QAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;IAAA,CAYH;EAAA,CACF;AAEJ;AAEO,MAAME,MAAA,GAAgB;EAC3BL,MAAA,EAAQA,CAAA,KACN,eAAAb,GAAA,CAACF,MAAA;IAAOgB,QAAA,EAAU;IAAKC,OAAA,EAAQ;IAC7BC,QAAA,iBAAAhB,GAAA,CAACD,QAAA;MACEiB,QAAA;AAAA;AAAA;IAAA,CAGH;EAAA,CACF;AAEJ","ignoreList":[]}
@@ -0,0 +1,131 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { YStack } from "tamagui";
3
+ import { Markdown } from "./Markdown.native.js";
4
+ var meta = {
5
+ title: "Markdown/Markdown",
6
+ component: Markdown,
7
+ parameters: {
8
+ status: {
9
+ type: "beta"
10
+ },
11
+ docs: {
12
+ description: {
13
+ component: "Cross-platform markdown renderer with Shiki syntax highlighting. Supports GFM (tables, strikethrough, task lists)."
14
+ }
15
+ }
16
+ }
17
+ };
18
+ var Markdown_stories_default = meta;
19
+ var sampleMarkdown = `# Hello World
20
+
21
+ This is **bold**, _italic_, and ~~strikethrough~~ text.
22
+
23
+ ## Features
24
+
25
+ - Markdown parsing with remark
26
+ - GFM support (tables, task lists)
27
+ - Shiki syntax highlighting
28
+ - Cross-platform (web + native)
29
+
30
+ ### Task Lists
31
+
32
+ - [x] Completed task
33
+ - [ ] Incomplete task
34
+ - [ ] Another task
35
+
36
+ ## Code Blocks
37
+
38
+ Inline \`code\` looks like this.
39
+
40
+ \`\`\`typescript
41
+ interface User {
42
+ id: string;
43
+ name: string;
44
+ email: string;
45
+ }
46
+
47
+ function greet(user: User): string {
48
+ return \`Hello, \${user.name}!\`;
49
+ }
50
+ \`\`\`
51
+
52
+ \`\`\`python
53
+ def fibonacci(n: int) -> int:
54
+ if n <= 1:
55
+ return n
56
+ return fibonacci(n - 1) + fibonacci(n - 2)
57
+
58
+ print(fibonacci(10))
59
+ \`\`\`
60
+
61
+ ## Blockquotes
62
+
63
+ > This is a blockquote.
64
+ > It can span multiple lines.
65
+
66
+ ## Tables
67
+
68
+ | Feature | Web | Native |
69
+ |---------|-----|--------|
70
+ | Markdown | Yes | Yes |
71
+ | Syntax Highlighting | Yes | Yes |
72
+ | Tables | Yes | Yes |
73
+ | HTML | Yes | No |
74
+
75
+ ## Links and Images
76
+
77
+ [Visit GitHub](https://github.com)
78
+
79
+ ---
80
+
81
+ That's a horizontal rule above.
82
+ `;
83
+ var Main = {
84
+ name: "Main",
85
+ render: function render() {
86
+ return /* @__PURE__ */_jsx(YStack, {
87
+ maxWidth: 700,
88
+ padding: "$4",
89
+ children: /* @__PURE__ */_jsx(Markdown, {
90
+ children: sampleMarkdown
91
+ })
92
+ });
93
+ }
94
+ };
95
+ var CodeBlock = {
96
+ render: function render2() {
97
+ return /* @__PURE__ */_jsx(YStack, {
98
+ maxWidth: 700,
99
+ padding: "$4",
100
+ children: /* @__PURE__ */_jsx(Markdown, {
101
+ children: `\`\`\`javascript
102
+ const express = require('express');
103
+ const app = express();
104
+
105
+ app.get('/', (req, res) => {
106
+ res.json({ message: 'Hello World!' });
107
+ });
108
+
109
+ app.listen(3000, () => {
110
+ console.log('Server running on port 3000');
111
+ });
112
+ \`\`\``
113
+ })
114
+ });
115
+ }
116
+ };
117
+ var Simple = {
118
+ render: function render3() {
119
+ return /* @__PURE__ */_jsx(YStack, {
120
+ maxWidth: 700,
121
+ padding: "$4",
122
+ children: /* @__PURE__ */_jsx(Markdown, {
123
+ children: `# Simple Example
124
+
125
+ Just some **bold** and _italic_ text with a [link](https://example.com).`
126
+ })
127
+ });
128
+ }
129
+ };
130
+ export { CodeBlock, Main, Simple, Markdown_stories_default as default };
131
+ //# sourceMappingURL=Markdown.stories.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["jsx","_jsx","YStack","Markdown","meta","title","component","parameters","status","type","docs","description","Markdown_stories_default","sampleMarkdown","Main","name","render","maxWidth","padding","children","CodeBlock","render2"],"sources":["../../src/Markdown.stories.tsx"],"sourcesContent":[null],"mappings":"AACA,SAASA,GAAA,IAAAC,IAAA,QAAc;AACvB,SAASC,MAAA,iBAAgB;AAwFnB,SAAAC,QAAA;AAtFN,IAAAC,IAAM;EACJC,KAAA,EAAO;EACPC,SAAA,EAAWH,QAAA;EACXI,UAAA,EAAY;IACVC,MAAA,EAAQ;MACRC,IAAM;IAAA;IACSC,IACX;MAEFC,WAAA;QACFL,SAAA;MACF;IACF;EAEA;AAGA;AAAuB,IAAAM,wBAAA,GAAAR,IAAA;AAAA,IAAAS,cAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAiEhB;AAAoB;AACnB,IACNC,IAAA,GAAQ;EAKVC,IAAA;EAEOC,MAAM,WAAmBA,OAAA;IAC9B,OAAQ,eACNf,IAAA,CAAAC,MAAC;MAEIe,QAAA;MAAAC,OAAA;MAAAC,QAAA,iBAAAlB,IAAA,CAAAE,QAAA;QAAAgB,QAAA,EAAAN;MAAA;IAAA;EAAA;AAAA;AAAA,IAAAO,SAAA;EAAAJ,MAAA,WAAAK,QAAA;IAAA,OAYH,eACFpB,IAAA,CAAAC,MAAA;MAEJe,QAAA;MAEaC,OAAA,EAAgB;MAC3BC,QAAQ,EACN,eAAAlB,IAAC,CAAAE,QAAA,EAAO;QAEHgB,QAAA;AAAA;AAMT","ignoreList":[]}
@@ -0,0 +1,33 @@
1
+ import { useMDXComponents } from "@mdx-js/react";
2
+ import { useCompileAndEvaluateMdx } from "../hooks/index.mjs";
3
+ import { mdxComponents } from "../mdxComponents.mjs";
4
+ import { Fragment, jsx } from "react/jsx-runtime";
5
+ const logger = console;
6
+ function MDX({
7
+ children,
8
+ debug,
9
+ ...props
10
+ }) {
11
+ const components = useMDXComponents();
12
+ const {
13
+ Component,
14
+ code,
15
+ frontmatter
16
+ } = useCompileAndEvaluateMdx(children);
17
+ if (!Component) return /* @__PURE__ */jsx(Fragment, {});
18
+ if (debug) {
19
+ logger.debug("MDX", {
20
+ frontmatter
21
+ });
22
+ logger.debug(code);
23
+ }
24
+ return /* @__PURE__ */jsx(Component, {
25
+ components: {
26
+ ...mdxComponents,
27
+ ...components,
28
+ ...props.components
29
+ }
30
+ });
31
+ }
32
+ export { MDX };
33
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useMDXComponents","useCompileAndEvaluateMdx","mdxComponents","Fragment","jsx","logger","console","MDX","children","debug","props","components","Component","code","frontmatter"],"sources":["../../../src/Mdx/index.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,gBAAA,QAAwB;AAGjC,SAASC,wBAAA,QAAgC;AACzC,SAASC,aAAA,QAAqB;AAaL,SAAAC,QAAA,EAAAC,GAAA;AALzB,MAAMC,MAAA,GAASC,OAAA;AAER,SAASC,IAAI;EAAEC,QAAA;EAAUC,KAAA;EAAO,GAAGC;AAAM,GAAa;EAC3D,MAAMC,UAAA,GAAaX,gBAAA,CAAiB;EACpC,MAAM;IAAEY,SAAA;IAAWC,IAAA;IAAMC;EAAY,IAAIb,wBAAA,CAAyBO,QAAQ;EAC1E,IAAI,CAACI,SAAA,EAAW,OAAO,eAAAR,GAAA,CAAAD,QAAA,IAAI;EAC3B,IAAIM,KAAA,EAAO;IACTJ,MAAA,CAAOI,KAAA,CAAM,OAAO;MAAEK;IAAY,CAAC;IACnCT,MAAA,CAAOI,KAAA,CAAMI,IAAI;EACnB;EACA,OACE,eAAAT,GAAA,CAACQ,SAAA;IACCD,UAAA,EAAY;MACV,GAAGT,aAAA;MACH,GAAGS,UAAA;MACH,GAAGD,KAAA,CAAMC;IACX;EAAA,CACF;AAEJ","ignoreList":[]}
@@ -0,0 +1,34 @@
1
+ import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { useMDXComponents } from "@mdx-js/react";
3
+ import { useCompileAndEvaluateMdx } from "../hooks/index.native.js";
4
+ import { mdxComponents } from "../mdxComponents.native.js";
5
+ var logger = console;
6
+ function MDX(param) {
7
+ var {
8
+ children,
9
+ debug,
10
+ ...props
11
+ } = param;
12
+ var components = useMDXComponents();
13
+ var {
14
+ Component,
15
+ code,
16
+ frontmatter
17
+ } = useCompileAndEvaluateMdx(children);
18
+ if (!Component) return /* @__PURE__ */_jsx(_Fragment, {});
19
+ if (debug) {
20
+ logger.debug("MDX", {
21
+ frontmatter
22
+ });
23
+ logger.debug(code);
24
+ }
25
+ return /* @__PURE__ */_jsx(Component, {
26
+ components: {
27
+ ...mdxComponents,
28
+ ...components,
29
+ ...props.components
30
+ }
31
+ });
32
+ }
33
+ export { MDX };
34
+ //# sourceMappingURL=index.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["jsx","_jsx","Fragment","_Fragment","useMDXComponents","useCompileAndEvaluateMdx","mdxComponents","logger","console","MDX","param","children","debug","props","components","Component","code","frontmatter"],"sources":["../../../src/Mdx/index.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,GAAA,IAAAC,IAAA,EAAAC,QAAA,IAAwBC,SAAA;AAGjC,SAASC,gBAAA,uBAAgC;AACzC,SAASC,wBAAqB;AAaL,SAAAC,aAAA;AALzB,IAAAC,MAAM,GAAAC,OAAS;AAER,SAASC,IAAIC,KAAE;EACpB;IAAMC,QAAA;IAAAC,KAAa;IAAA,GAAAC;EAAA,IAAiBH,KAAA;EACpC,IAAAI,UAAQ,GAAAV,gBAAiB;EACzB,IAAI;IAACW,SAAW;IAAAC,IAAA;IAAOC;EAAA,IAAAZ,wBAAI,CAAAM,QAAA;EAC3B,IAAI,CAAAI,SAAO,wBAAAd,IAAA,CAAAE,SAAA;EACT,IAAAS,KAAO;IACPL,MAAA,CAAOK,KAAA,CAAM,KAAI;MACnBK;IACA;IACGV,MAAA,CAAAK,KAAA,CAAAI,IAAA;EAAA;EAAA,OACC,eAAYf,IAAA,CAAAc,SAAA;IAAAD,UACP;MAAA,GACHR,aAAG;MAAA,GACHQ,UAAS;MACX,GAAAD,KAAA,CAAAC;IAAA;EACF;AAEJ","ignoreList":[]}
@@ -0,0 +1,140 @@
1
+ import { screen } from "@testing-library/react";
2
+ import { renderWithProviders } from "@multiplatform.one/test-utils";
3
+ import { YStack } from "tamagui";
4
+ import { afterEach, describe, expect, it, vi } from "vitest";
5
+ import { useCompileAndEvaluateMdx } from "../hooks/index.mjs";
6
+ import { MDX } from "./index.mjs";
7
+ import { Fragment, jsx } from "react/jsx-runtime";
8
+ const DummyComponent = ({
9
+ components
10
+ }) => {
11
+ return /* @__PURE__ */jsx(YStack, {
12
+ "data-testid": "dummy",
13
+ children: JSON.stringify(components)
14
+ });
15
+ };
16
+ vi.mock("../hooks", () => ({
17
+ useCompileAndEvaluateMdx: vi.fn()
18
+ }));
19
+ vi.mock("@mdx-js/react", () => ({
20
+ useMDXComponents: () => ({
21
+ hookKey: "hookValue"
22
+ })
23
+ }));
24
+ vi.mock("../mdxComponents", () => ({
25
+ mdxComponents: {
26
+ mdxKey: "mdxValue"
27
+ }
28
+ }));
29
+ describe("MDX component", () => {
30
+ afterEach(() => {
31
+ vi.clearAllMocks();
32
+ });
33
+ it("renders an empty fragment if no component is returned from the hook", () => {
34
+ useCompileAndEvaluateMdx.mockReturnValue({
35
+ Component: null,
36
+ code: "some code",
37
+ frontmatter: {
38
+ test: "frontmatter"
39
+ }
40
+ });
41
+ renderWithProviders(/* @__PURE__ */jsx(Fragment, {
42
+ children: /* @__PURE__ */jsx(MDX, {
43
+ children: "hello"
44
+ })
45
+ }));
46
+ const mdxContent = screen.queryByText("hello");
47
+ expect(mdxContent).toBeNull();
48
+ });
49
+ it("renders the evaluated MDX component and passes the merged components prop", () => {
50
+ const TestDummyComponent = ({
51
+ components
52
+ }) => {
53
+ const componentKeys2 = Object.keys(components || {});
54
+ return /* @__PURE__ */jsx(YStack, {
55
+ "data-testid": "dummy",
56
+ children: componentKeys2.join(",")
57
+ });
58
+ };
59
+ useCompileAndEvaluateMdx.mockReturnValue({
60
+ Component: TestDummyComponent,
61
+ code: "compiledCode",
62
+ frontmatter: {
63
+ test: true
64
+ }
65
+ });
66
+ const additionalComponents = {
67
+ p: ({
68
+ children
69
+ }) => /* @__PURE__ */jsx("div", {
70
+ "data-testid": "custom-p",
71
+ children
72
+ })
73
+ };
74
+ renderWithProviders(/* @__PURE__ */jsx(Fragment, {
75
+ children: /* @__PURE__ */jsx(MDX, {
76
+ children: "hello",
77
+ components: additionalComponents
78
+ })
79
+ }));
80
+ const dummyDiv = screen.getByTestId("dummy");
81
+ const componentKeys = dummyDiv.textContent?.split(",") || [];
82
+ expect(componentKeys).toContain("mdxKey");
83
+ expect(componentKeys).toContain("hookKey");
84
+ expect(componentKeys).toContain("p");
85
+ });
86
+ it("calls debug logging when the debug prop is provided", () => {
87
+ const debugSpy = vi.spyOn(console, "debug").mockImplementation(() => {});
88
+ useCompileAndEvaluateMdx.mockReturnValue({
89
+ Component: DummyComponent,
90
+ code: "compiledCode",
91
+ frontmatter: {
92
+ test: "frontmatter"
93
+ }
94
+ });
95
+ renderWithProviders(/* @__PURE__ */jsx(Fragment, {
96
+ children: /* @__PURE__ */jsx(MDX, {
97
+ children: "hello",
98
+ debug: true
99
+ })
100
+ }));
101
+ expect(debugSpy).toHaveBeenCalledWith("MDX", {
102
+ frontmatter: {
103
+ test: "frontmatter"
104
+ }
105
+ });
106
+ expect(debugSpy).toHaveBeenCalledWith("compiledCode");
107
+ debugSpy.mockRestore();
108
+ });
109
+ it("does not call debug logging when the debug prop is false", () => {
110
+ const debugSpy = vi.spyOn(console, "debug").mockImplementation(() => {});
111
+ useCompileAndEvaluateMdx.mockReturnValue({
112
+ Component: DummyComponent,
113
+ code: "compiledCode",
114
+ frontmatter: {
115
+ test: "frontmatter"
116
+ }
117
+ });
118
+ renderWithProviders(/* @__PURE__ */jsx(Fragment, {
119
+ children: /* @__PURE__ */jsx(MDX, {
120
+ children: "hello",
121
+ debug: false
122
+ })
123
+ }));
124
+ expect(debugSpy).not.toHaveBeenCalled();
125
+ debugSpy.mockRestore();
126
+ });
127
+ it("does not throw an error when an empty children string is provided", () => {
128
+ useCompileAndEvaluateMdx.mockReturnValue({
129
+ Component: DummyComponent,
130
+ code: "",
131
+ frontmatter: {}
132
+ });
133
+ expect(() => renderWithProviders(/* @__PURE__ */jsx(Fragment, {
134
+ children: /* @__PURE__ */jsx(MDX, {
135
+ children: "hello"
136
+ })
137
+ }))).not.toThrow();
138
+ });
139
+ });
140
+ //# sourceMappingURL=mdx.spec.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["screen","renderWithProviders","YStack","afterEach","describe","expect","it","vi","useCompileAndEvaluateMdx","MDX","Fragment","jsx","DummyComponent","components","children","JSON","stringify","mock","fn","useMDXComponents","hookKey","mdxComponents","mdxKey","clearAllMocks","mockReturnValue","Component","code","frontmatter","test","mdxContent","queryByText","toBeNull","TestDummyComponent","componentKeys2","Object","keys","join","additionalComponents","p","dummyDiv","getByTestId","componentKeys","textContent","split","toContain","debugSpy","spyOn","console","mockImplementation","debug","toHaveBeenCalledWith","mockRestore","not","toHaveBeenCalled","toThrow"],"sources":["../../../src/Mdx/mdx.spec.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,156 @@
1
+ import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { screen } from "@testing-library/react";
3
+ import { renderWithProviders } from "@multiplatform.one/test-utils";
4
+ import { YStack } from "tamagui";
5
+ import { afterEach, describe, expect, it, vi } from "vitest";
6
+ import { useCompileAndEvaluateMdx } from "../hooks/index.native.js";
7
+ import { MDX } from "./index.native.js";
8
+ var DummyComponent = function DummyComponent2(param) {
9
+ var {
10
+ components
11
+ } = param;
12
+ return /* @__PURE__ */_jsx(YStack, {
13
+ "data-testid": "dummy",
14
+ children: JSON.stringify(components)
15
+ });
16
+ };
17
+ vi.mock("../hooks", function () {
18
+ return {
19
+ useCompileAndEvaluateMdx: vi.fn()
20
+ };
21
+ });
22
+ vi.mock("@mdx-js/react", function () {
23
+ return {
24
+ useMDXComponents: function useMDXComponents() {
25
+ return {
26
+ hookKey: "hookValue"
27
+ };
28
+ }
29
+ };
30
+ });
31
+ vi.mock("../mdxComponents", function () {
32
+ return {
33
+ mdxComponents: {
34
+ mdxKey: "mdxValue"
35
+ }
36
+ };
37
+ });
38
+ describe("MDX component", function () {
39
+ afterEach(function () {
40
+ vi.clearAllMocks();
41
+ });
42
+ it("renders an empty fragment if no component is returned from the hook", function () {
43
+ useCompileAndEvaluateMdx.mockReturnValue({
44
+ Component: null,
45
+ code: "some code",
46
+ frontmatter: {
47
+ test: "frontmatter"
48
+ }
49
+ });
50
+ renderWithProviders(/* @__PURE__ */_jsx(_Fragment, {
51
+ children: /* @__PURE__ */_jsx(MDX, {
52
+ children: "hello"
53
+ })
54
+ }));
55
+ var mdxContent = screen.queryByText("hello");
56
+ expect(mdxContent).toBeNull();
57
+ });
58
+ it("renders the evaluated MDX component and passes the merged components prop", function () {
59
+ var _dummyDiv_textContent;
60
+ var TestDummyComponent = function TestDummyComponent2(param) {
61
+ var {
62
+ components
63
+ } = param;
64
+ var componentKeys2 = Object.keys(components || {});
65
+ return /* @__PURE__ */_jsx(YStack, {
66
+ "data-testid": "dummy",
67
+ children: componentKeys2.join(",")
68
+ });
69
+ };
70
+ useCompileAndEvaluateMdx.mockReturnValue({
71
+ Component: TestDummyComponent,
72
+ code: "compiledCode",
73
+ frontmatter: {
74
+ test: true
75
+ }
76
+ });
77
+ var additionalComponents = {
78
+ p: function p(param) {
79
+ var {
80
+ children
81
+ } = param;
82
+ return /* @__PURE__ */_jsx("div", {
83
+ "data-testid": "custom-p",
84
+ children
85
+ });
86
+ }
87
+ };
88
+ renderWithProviders(/* @__PURE__ */_jsx(_Fragment, {
89
+ children: /* @__PURE__ */_jsx(MDX, {
90
+ children: "hello",
91
+ components: additionalComponents
92
+ })
93
+ }));
94
+ var dummyDiv = screen.getByTestId("dummy");
95
+ var componentKeys = ((_dummyDiv_textContent = dummyDiv.textContent) === null || _dummyDiv_textContent === void 0 ? void 0 : _dummyDiv_textContent.split(",")) || [];
96
+ expect(componentKeys).toContain("mdxKey");
97
+ expect(componentKeys).toContain("hookKey");
98
+ expect(componentKeys).toContain("p");
99
+ });
100
+ it("calls debug logging when the debug prop is provided", function () {
101
+ var debugSpy = vi.spyOn(console, "debug").mockImplementation(function () {});
102
+ useCompileAndEvaluateMdx.mockReturnValue({
103
+ Component: DummyComponent,
104
+ code: "compiledCode",
105
+ frontmatter: {
106
+ test: "frontmatter"
107
+ }
108
+ });
109
+ renderWithProviders(/* @__PURE__ */_jsx(_Fragment, {
110
+ children: /* @__PURE__ */_jsx(MDX, {
111
+ children: "hello",
112
+ debug: true
113
+ })
114
+ }));
115
+ expect(debugSpy).toHaveBeenCalledWith("MDX", {
116
+ frontmatter: {
117
+ test: "frontmatter"
118
+ }
119
+ });
120
+ expect(debugSpy).toHaveBeenCalledWith("compiledCode");
121
+ debugSpy.mockRestore();
122
+ });
123
+ it("does not call debug logging when the debug prop is false", function () {
124
+ var debugSpy = vi.spyOn(console, "debug").mockImplementation(function () {});
125
+ useCompileAndEvaluateMdx.mockReturnValue({
126
+ Component: DummyComponent,
127
+ code: "compiledCode",
128
+ frontmatter: {
129
+ test: "frontmatter"
130
+ }
131
+ });
132
+ renderWithProviders(/* @__PURE__ */_jsx(_Fragment, {
133
+ children: /* @__PURE__ */_jsx(MDX, {
134
+ children: "hello",
135
+ debug: false
136
+ })
137
+ }));
138
+ expect(debugSpy).not.toHaveBeenCalled();
139
+ debugSpy.mockRestore();
140
+ });
141
+ it("does not throw an error when an empty children string is provided", function () {
142
+ useCompileAndEvaluateMdx.mockReturnValue({
143
+ Component: DummyComponent,
144
+ code: "",
145
+ frontmatter: {}
146
+ });
147
+ expect(function () {
148
+ return renderWithProviders(/* @__PURE__ */_jsx(_Fragment, {
149
+ children: /* @__PURE__ */_jsx(MDX, {
150
+ children: "hello"
151
+ })
152
+ }));
153
+ }).not.toThrow();
154
+ });
155
+ });
156
+ //# sourceMappingURL=mdx.spec.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["jsx","_jsx","Fragment","_Fragment","screen","renderWithProviders","YStack","afterEach","describe","expect","it","vi","useCompileAndEvaluateMdx","MDX","DummyComponent","DummyComponent2","param","components","children","JSON","stringify","mock","fn","useMDXComponents","hookKey","mdxComponents","mdxKey","clearAllMocks","mockReturnValue","Component","code","frontmatter","test","mdxContent","queryByText","toBeNull","_dummyDiv_textContent","TestDummyComponent","TestDummyComponent2","componentKeys2","Object","keys","join","additionalComponents","p","dummyDiv","getByTestId","componentKeys","textContent","split","toContain","debugSpy","spyOn","console","mockImplementation"],"sources":["../../../src/Mdx/mdx.spec.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}