@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 @@
1
+ {"version":3,"names":["unified","remarkParse","remarkGfm","processor","use","parseMarkdown","markdown","parse","parseMarkdownAsync"],"sources":["../../src/parser.ts"],"sourcesContent":[null],"mappings":"AAIA,SAASA,OAAA,QAAe;AACxB,OAAOC,WAAA,MAAiB;AACxB,OAAOC,SAAA,MAAe;AAItB,IAAAC,SAAM,GAAAH,OAAY,GAAQI,GAAE,CAAAH,WAAI,EAAWG,GAAE,CAAAF,SAAI;AAK1C,SAASG,cAAcC,QAAA,EAAwB;EACpD,OAAOH,SAAA,CAAUI,KAAA,CAAMD,QAAQ;AACjC;AAKA,eAAsBE,mBAAmBF,QAAA,EAAiC;EACxE,OAAOH,SAAA,CAAUI,KAAA,CAAMD,QAAQ;AACjC","ignoreList":[]}
@@ -0,0 +1,110 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import { parseMarkdown, parseMarkdownAsync } from "./parser.mjs";
3
+ describe("parseMarkdown", () => {
4
+ it("parses a heading", () => {
5
+ const ast = parseMarkdown("# Hello");
6
+ expect(ast.type).toBe("root");
7
+ expect(ast.children).toHaveLength(1);
8
+ expect(ast.children[0].type).toBe("heading");
9
+ const heading = ast.children[0];
10
+ expect(heading.depth).toBe(1);
11
+ expect(heading.children[0].value).toBe("Hello");
12
+ });
13
+ it("parses a paragraph", () => {
14
+ const ast = parseMarkdown("Just some text.");
15
+ expect(ast.children[0].type).toBe("paragraph");
16
+ });
17
+ it("parses inline formatting", () => {
18
+ const ast = parseMarkdown("**bold** and *italic*");
19
+ const paragraph = ast.children[0];
20
+ expect(paragraph.children[0].type).toBe("strong");
21
+ expect(paragraph.children[2].type).toBe("emphasis");
22
+ });
23
+ it("parses an unordered list", () => {
24
+ const ast = parseMarkdown("- item 1\n- item 2\n- item 3");
25
+ expect(ast.children[0].type).toBe("list");
26
+ const list = ast.children[0];
27
+ expect(list.ordered).toBe(false);
28
+ expect(list.children).toHaveLength(3);
29
+ });
30
+ it("parses an ordered list", () => {
31
+ const ast = parseMarkdown("1. first\n2. second");
32
+ const list = ast.children[0];
33
+ expect(list.type).toBe("list");
34
+ expect(list.ordered).toBe(true);
35
+ expect(list.children).toHaveLength(2);
36
+ });
37
+ it("parses a code block", () => {
38
+ const ast = parseMarkdown("```js\nconsole.log('hi');\n```");
39
+ const code = ast.children[0];
40
+ expect(code.type).toBe("code");
41
+ expect(code.lang).toBe("js");
42
+ expect(code.value).toBe("console.log('hi');");
43
+ });
44
+ it("parses inline code", () => {
45
+ const ast = parseMarkdown("Use `const x = 1` here.");
46
+ const paragraph = ast.children[0];
47
+ const inlineCode = paragraph.children.find(c => c.type === "inlineCode");
48
+ expect(inlineCode).toBeDefined();
49
+ expect(inlineCode.value).toBe("const x = 1");
50
+ });
51
+ it("parses a blockquote", () => {
52
+ const ast = parseMarkdown("> A quote");
53
+ expect(ast.children[0].type).toBe("blockquote");
54
+ });
55
+ it("parses a link", () => {
56
+ const ast = parseMarkdown("[example](https://example.com)");
57
+ const paragraph = ast.children[0];
58
+ const link = paragraph.children[0];
59
+ expect(link.type).toBe("link");
60
+ expect(link.url).toBe("https://example.com");
61
+ expect(link.children[0].value).toBe("example");
62
+ });
63
+ it("parses an image", () => {
64
+ const ast = parseMarkdown("![alt text](image.png)");
65
+ const paragraph = ast.children[0];
66
+ const image = paragraph.children[0];
67
+ expect(image.type).toBe("image");
68
+ expect(image.url).toBe("image.png");
69
+ expect(image.alt).toBe("alt text");
70
+ });
71
+ it("parses a horizontal rule", () => {
72
+ const ast = parseMarkdown("---");
73
+ expect(ast.children[0].type).toBe("thematicBreak");
74
+ });
75
+ it("parses GFM tables", () => {
76
+ const md = "| A | B |\n| --- | --- |\n| 1 | 2 |";
77
+ const ast = parseMarkdown(md);
78
+ expect(ast.children[0].type).toBe("table");
79
+ });
80
+ it("parses GFM strikethrough", () => {
81
+ const ast = parseMarkdown("~~deleted~~");
82
+ const paragraph = ast.children[0];
83
+ expect(paragraph.children[0].type).toBe("delete");
84
+ });
85
+ it("parses GFM task lists", () => {
86
+ const ast = parseMarkdown("- [x] done\n- [ ] todo");
87
+ const list = ast.children[0];
88
+ expect(list.children[0].checked).toBe(true);
89
+ expect(list.children[1].checked).toBe(false);
90
+ });
91
+ it("handles empty input", () => {
92
+ const ast = parseMarkdown("");
93
+ expect(ast.type).toBe("root");
94
+ expect(ast.children).toHaveLength(0);
95
+ });
96
+ it("handles complex multi-element markdown", () => {
97
+ const md = "# Title\n\nParagraph.\n\n- item\n\n```\ncode\n```";
98
+ const ast = parseMarkdown(md);
99
+ expect(ast.children.length).toBeGreaterThanOrEqual(4);
100
+ });
101
+ });
102
+ describe("parseMarkdownAsync", () => {
103
+ it("returns the same AST as sync version", async () => {
104
+ const md = "# Hello\n\nWorld";
105
+ const syncAst = parseMarkdown(md);
106
+ const asyncAst = await parseMarkdownAsync(md);
107
+ expect(asyncAst).toEqual(syncAst);
108
+ });
109
+ });
110
+ //# sourceMappingURL=parser.spec.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["describe","expect","it","parseMarkdown","parseMarkdownAsync","ast","type","toBe","children","toHaveLength","heading","depth","value","paragraph","list","ordered","code","lang","inlineCode","find","c","toBeDefined","link","url","image","alt","md","checked","length","toBeGreaterThanOrEqual","syncAst","asyncAst","toEqual"],"sources":["../../src/parser.spec.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,QAAA,EAAUC,MAAA,EAAQC,EAAA,QAAU;AACrC,SAASC,aAAA,EAAeC,kBAAA,QAA0B;AAElDJ,QAAA,CAAS,iBAAiB,MAAM;EAC9BE,EAAA,CAAG,oBAAoB,MAAM;IAC3B,MAAMG,GAAA,GAAMF,aAAA,CAAc,SAAS;IACnCF,MAAA,CAAOI,GAAA,CAAIC,IAAI,EAAEC,IAAA,CAAK,MAAM;IAC5BN,MAAA,CAAOI,GAAA,CAAIG,QAAQ,EAAEC,YAAA,CAAa,CAAC;IACnCR,MAAA,CAAOI,GAAA,CAAIG,QAAA,CAAS,CAAC,EAAEF,IAAI,EAAEC,IAAA,CAAK,SAAS;IAC3C,MAAMG,OAAA,GAAUL,GAAA,CAAIG,QAAA,CAAS,CAAC;IAC9BP,MAAA,CAAOS,OAAA,CAAQC,KAAK,EAAEJ,IAAA,CAAK,CAAC;IAC5BN,MAAA,CAAOS,OAAA,CAAQF,QAAA,CAAS,CAAC,EAAEI,KAAK,EAAEL,IAAA,CAAK,OAAO;EAChD,CAAC;EAEDL,EAAA,CAAG,sBAAsB,MAAM;IAC7B,MAAMG,GAAA,GAAMF,aAAA,CAAc,iBAAiB;IAC3CF,MAAA,CAAOI,GAAA,CAAIG,QAAA,CAAS,CAAC,EAAEF,IAAI,EAAEC,IAAA,CAAK,WAAW;EAC/C,CAAC;EAEDL,EAAA,CAAG,4BAA4B,MAAM;IACnC,MAAMG,GAAA,GAAMF,aAAA,CAAc,uBAAuB;IACjD,MAAMU,SAAA,GAAYR,GAAA,CAAIG,QAAA,CAAS,CAAC;IAChCP,MAAA,CAAOY,SAAA,CAAUL,QAAA,CAAS,CAAC,EAAEF,IAAI,EAAEC,IAAA,CAAK,QAAQ;IAChDN,MAAA,CAAOY,SAAA,CAAUL,QAAA,CAAS,CAAC,EAAEF,IAAI,EAAEC,IAAA,CAAK,UAAU;EACpD,CAAC;EAEDL,EAAA,CAAG,4BAA4B,MAAM;IACnC,MAAMG,GAAA,GAAMF,aAAA,CAAc,8BAA8B;IACxDF,MAAA,CAAOI,GAAA,CAAIG,QAAA,CAAS,CAAC,EAAEF,IAAI,EAAEC,IAAA,CAAK,MAAM;IACxC,MAAMO,IAAA,GAAOT,GAAA,CAAIG,QAAA,CAAS,CAAC;IAC3BP,MAAA,CAAOa,IAAA,CAAKC,OAAO,EAAER,IAAA,CAAK,KAAK;IAC/BN,MAAA,CAAOa,IAAA,CAAKN,QAAQ,EAAEC,YAAA,CAAa,CAAC;EACtC,CAAC;EAEDP,EAAA,CAAG,0BAA0B,MAAM;IACjC,MAAMG,GAAA,GAAMF,aAAA,CAAc,qBAAqB;IAC/C,MAAMW,IAAA,GAAOT,GAAA,CAAIG,QAAA,CAAS,CAAC;IAC3BP,MAAA,CAAOa,IAAA,CAAKR,IAAI,EAAEC,IAAA,CAAK,MAAM;IAC7BN,MAAA,CAAOa,IAAA,CAAKC,OAAO,EAAER,IAAA,CAAK,IAAI;IAC9BN,MAAA,CAAOa,IAAA,CAAKN,QAAQ,EAAEC,YAAA,CAAa,CAAC;EACtC,CAAC;EAEDP,EAAA,CAAG,uBAAuB,MAAM;IAC9B,MAAMG,GAAA,GAAMF,aAAA,CAAc,gCAAgC;IAC1D,MAAMa,IAAA,GAAOX,GAAA,CAAIG,QAAA,CAAS,CAAC;IAC3BP,MAAA,CAAOe,IAAA,CAAKV,IAAI,EAAEC,IAAA,CAAK,MAAM;IAC7BN,MAAA,CAAOe,IAAA,CAAKC,IAAI,EAAEV,IAAA,CAAK,IAAI;IAC3BN,MAAA,CAAOe,IAAA,CAAKJ,KAAK,EAAEL,IAAA,CAAK,oBAAoB;EAC9C,CAAC;EAEDL,EAAA,CAAG,sBAAsB,MAAM;IAC7B,MAAMG,GAAA,GAAMF,aAAA,CAAc,yBAAyB;IACnD,MAAMU,SAAA,GAAYR,GAAA,CAAIG,QAAA,CAAS,CAAC;IAChC,MAAMU,UAAA,GAAaL,SAAA,CAAUL,QAAA,CAASW,IAAA,CAAMC,CAAA,IAAWA,CAAA,CAAEd,IAAA,KAAS,YAAY;IAC9EL,MAAA,CAAOiB,UAAU,EAAEG,WAAA,CAAY;IAC/BpB,MAAA,CAAOiB,UAAA,CAAWN,KAAK,EAAEL,IAAA,CAAK,aAAa;EAC7C,CAAC;EAEDL,EAAA,CAAG,uBAAuB,MAAM;IAC9B,MAAMG,GAAA,GAAMF,aAAA,CAAc,WAAW;IACrCF,MAAA,CAAOI,GAAA,CAAIG,QAAA,CAAS,CAAC,EAAEF,IAAI,EAAEC,IAAA,CAAK,YAAY;EAChD,CAAC;EAEDL,EAAA,CAAG,iBAAiB,MAAM;IACxB,MAAMG,GAAA,GAAMF,aAAA,CAAc,gCAAgC;IAC1D,MAAMU,SAAA,GAAYR,GAAA,CAAIG,QAAA,CAAS,CAAC;IAChC,MAAMc,IAAA,GAAOT,SAAA,CAAUL,QAAA,CAAS,CAAC;IACjCP,MAAA,CAAOqB,IAAA,CAAKhB,IAAI,EAAEC,IAAA,CAAK,MAAM;IAC7BN,MAAA,CAAOqB,IAAA,CAAKC,GAAG,EAAEhB,IAAA,CAAK,qBAAqB;IAC3CN,MAAA,CAAOqB,IAAA,CAAKd,QAAA,CAAS,CAAC,EAAEI,KAAK,EAAEL,IAAA,CAAK,SAAS;EAC/C,CAAC;EAEDL,EAAA,CAAG,mBAAmB,MAAM;IAC1B,MAAMG,GAAA,GAAMF,aAAA,CAAc,wBAAwB;IAClD,MAAMU,SAAA,GAAYR,GAAA,CAAIG,QAAA,CAAS,CAAC;IAChC,MAAMgB,KAAA,GAAQX,SAAA,CAAUL,QAAA,CAAS,CAAC;IAClCP,MAAA,CAAOuB,KAAA,CAAMlB,IAAI,EAAEC,IAAA,CAAK,OAAO;IAC/BN,MAAA,CAAOuB,KAAA,CAAMD,GAAG,EAAEhB,IAAA,CAAK,WAAW;IAClCN,MAAA,CAAOuB,KAAA,CAAMC,GAAG,EAAElB,IAAA,CAAK,UAAU;EACnC,CAAC;EAEDL,EAAA,CAAG,4BAA4B,MAAM;IACnC,MAAMG,GAAA,GAAMF,aAAA,CAAc,KAAK;IAC/BF,MAAA,CAAOI,GAAA,CAAIG,QAAA,CAAS,CAAC,EAAEF,IAAI,EAAEC,IAAA,CAAK,eAAe;EACnD,CAAC;EAEDL,EAAA,CAAG,qBAAqB,MAAM;IAC5B,MAAMwB,EAAA,GAAK;IACX,MAAMrB,GAAA,GAAMF,aAAA,CAAcuB,EAAE;IAC5BzB,MAAA,CAAOI,GAAA,CAAIG,QAAA,CAAS,CAAC,EAAEF,IAAI,EAAEC,IAAA,CAAK,OAAO;EAC3C,CAAC;EAEDL,EAAA,CAAG,4BAA4B,MAAM;IACnC,MAAMG,GAAA,GAAMF,aAAA,CAAc,aAAa;IACvC,MAAMU,SAAA,GAAYR,GAAA,CAAIG,QAAA,CAAS,CAAC;IAChCP,MAAA,CAAOY,SAAA,CAAUL,QAAA,CAAS,CAAC,EAAEF,IAAI,EAAEC,IAAA,CAAK,QAAQ;EAClD,CAAC;EAEDL,EAAA,CAAG,yBAAyB,MAAM;IAChC,MAAMG,GAAA,GAAMF,aAAA,CAAc,wBAAwB;IAClD,MAAMW,IAAA,GAAOT,GAAA,CAAIG,QAAA,CAAS,CAAC;IAC3BP,MAAA,CAAOa,IAAA,CAAKN,QAAA,CAAS,CAAC,EAAEmB,OAAO,EAAEpB,IAAA,CAAK,IAAI;IAC1CN,MAAA,CAAOa,IAAA,CAAKN,QAAA,CAAS,CAAC,EAAEmB,OAAO,EAAEpB,IAAA,CAAK,KAAK;EAC7C,CAAC;EAEDL,EAAA,CAAG,uBAAuB,MAAM;IAC9B,MAAMG,GAAA,GAAMF,aAAA,CAAc,EAAE;IAC5BF,MAAA,CAAOI,GAAA,CAAIC,IAAI,EAAEC,IAAA,CAAK,MAAM;IAC5BN,MAAA,CAAOI,GAAA,CAAIG,QAAQ,EAAEC,YAAA,CAAa,CAAC;EACrC,CAAC;EAEDP,EAAA,CAAG,0CAA0C,MAAM;IACjD,MAAMwB,EAAA,GAAK;IACX,MAAMrB,GAAA,GAAMF,aAAA,CAAcuB,EAAE;IAC5BzB,MAAA,CAAOI,GAAA,CAAIG,QAAA,CAASoB,MAAM,EAAEC,sBAAA,CAAuB,CAAC;EACtD,CAAC;AACH,CAAC;AAED7B,QAAA,CAAS,sBAAsB,MAAM;EACnCE,EAAA,CAAG,wCAAwC,YAAY;IACrD,MAAMwB,EAAA,GAAK;IACX,MAAMI,OAAA,GAAU3B,aAAA,CAAcuB,EAAE;IAChC,MAAMK,QAAA,GAAW,MAAM3B,kBAAA,CAAmBsB,EAAE;IAC5CzB,MAAA,CAAO8B,QAAQ,EAAEC,OAAA,CAAQF,OAAO;EAClC,CAAC;AACH,CAAC","ignoreList":[]}
@@ -0,0 +1,112 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import { parseMarkdown, parseMarkdownAsync } from "./parser.native.js";
3
+ describe("parseMarkdown", function () {
4
+ it("parses a heading", function () {
5
+ var ast = parseMarkdown("# Hello");
6
+ expect(ast.type).toBe("root");
7
+ expect(ast.children).toHaveLength(1);
8
+ expect(ast.children[0].type).toBe("heading");
9
+ var heading = ast.children[0];
10
+ expect(heading.depth).toBe(1);
11
+ expect(heading.children[0].value).toBe("Hello");
12
+ });
13
+ it("parses a paragraph", function () {
14
+ var ast = parseMarkdown("Just some text.");
15
+ expect(ast.children[0].type).toBe("paragraph");
16
+ });
17
+ it("parses inline formatting", function () {
18
+ var ast = parseMarkdown("**bold** and *italic*");
19
+ var paragraph = ast.children[0];
20
+ expect(paragraph.children[0].type).toBe("strong");
21
+ expect(paragraph.children[2].type).toBe("emphasis");
22
+ });
23
+ it("parses an unordered list", function () {
24
+ var ast = parseMarkdown("- item 1\n- item 2\n- item 3");
25
+ expect(ast.children[0].type).toBe("list");
26
+ var list = ast.children[0];
27
+ expect(list.ordered).toBe(false);
28
+ expect(list.children).toHaveLength(3);
29
+ });
30
+ it("parses an ordered list", function () {
31
+ var ast = parseMarkdown("1. first\n2. second");
32
+ var list = ast.children[0];
33
+ expect(list.type).toBe("list");
34
+ expect(list.ordered).toBe(true);
35
+ expect(list.children).toHaveLength(2);
36
+ });
37
+ it("parses a code block", function () {
38
+ var ast = parseMarkdown("```js\nconsole.log('hi');\n```");
39
+ var code = ast.children[0];
40
+ expect(code.type).toBe("code");
41
+ expect(code.lang).toBe("js");
42
+ expect(code.value).toBe("console.log('hi');");
43
+ });
44
+ it("parses inline code", function () {
45
+ var ast = parseMarkdown("Use `const x = 1` here.");
46
+ var paragraph = ast.children[0];
47
+ var inlineCode = paragraph.children.find(function (c) {
48
+ return c.type === "inlineCode";
49
+ });
50
+ expect(inlineCode).toBeDefined();
51
+ expect(inlineCode.value).toBe("const x = 1");
52
+ });
53
+ it("parses a blockquote", function () {
54
+ var ast = parseMarkdown("> A quote");
55
+ expect(ast.children[0].type).toBe("blockquote");
56
+ });
57
+ it("parses a link", function () {
58
+ var ast = parseMarkdown("[example](https://example.com)");
59
+ var paragraph = ast.children[0];
60
+ var link = paragraph.children[0];
61
+ expect(link.type).toBe("link");
62
+ expect(link.url).toBe("https://example.com");
63
+ expect(link.children[0].value).toBe("example");
64
+ });
65
+ it("parses an image", function () {
66
+ var ast = parseMarkdown("![alt text](image.png)");
67
+ var paragraph = ast.children[0];
68
+ var image = paragraph.children[0];
69
+ expect(image.type).toBe("image");
70
+ expect(image.url).toBe("image.png");
71
+ expect(image.alt).toBe("alt text");
72
+ });
73
+ it("parses a horizontal rule", function () {
74
+ var ast = parseMarkdown("---");
75
+ expect(ast.children[0].type).toBe("thematicBreak");
76
+ });
77
+ it("parses GFM tables", function () {
78
+ var md = "| A | B |\n| --- | --- |\n| 1 | 2 |";
79
+ var ast = parseMarkdown(md);
80
+ expect(ast.children[0].type).toBe("table");
81
+ });
82
+ it("parses GFM strikethrough", function () {
83
+ var ast = parseMarkdown("~~deleted~~");
84
+ var paragraph = ast.children[0];
85
+ expect(paragraph.children[0].type).toBe("delete");
86
+ });
87
+ it("parses GFM task lists", function () {
88
+ var ast = parseMarkdown("- [x] done\n- [ ] todo");
89
+ var list = ast.children[0];
90
+ expect(list.children[0].checked).toBe(true);
91
+ expect(list.children[1].checked).toBe(false);
92
+ });
93
+ it("handles empty input", function () {
94
+ var ast = parseMarkdown("");
95
+ expect(ast.type).toBe("root");
96
+ expect(ast.children).toHaveLength(0);
97
+ });
98
+ it("handles complex multi-element markdown", function () {
99
+ var md = "# Title\n\nParagraph.\n\n- item\n\n```\ncode\n```";
100
+ var ast = parseMarkdown(md);
101
+ expect(ast.children.length).toBeGreaterThanOrEqual(4);
102
+ });
103
+ });
104
+ describe("parseMarkdownAsync", function () {
105
+ it("returns the same AST as sync version", async function () {
106
+ var md = "# Hello\n\nWorld";
107
+ var syncAst = parseMarkdown(md);
108
+ var asyncAst = await parseMarkdownAsync(md);
109
+ expect(asyncAst).toEqual(syncAst);
110
+ });
111
+ });
112
+ //# sourceMappingURL=parser.spec.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["describe","expect","it","parseMarkdown","parseMarkdownAsync","ast","type","toBe","children","toHaveLength","heading","depth","value","paragraph","list","ordered","code","lang","inlineCode","find","c","toBeDefined","link","url","image","alt","md","checked","length","toBeGreaterThanOrEqual","syncAst","asyncAst","toEqual"],"sources":["../../src/parser.spec.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,300 @@
1
+ import { Text, View, isWeb } from "tamagui";
2
+ import { Heading, Paragraph, Strong, Emphasis, Strikethrough, InlineCode, CodeBlock, Link, MarkdownImage, MarkdownList, MarkdownListItem, Blockquote, HorizontalRule, MarkdownTable, MarkdownTableRow, MarkdownTableCell, Break } from "./components/index.mjs";
3
+ import { jsx } from "react/jsx-runtime";
4
+ function renderNode(node, key, options = {}) {
5
+ const {
6
+ components = {},
7
+ codeTheme = "github-dark",
8
+ listContext
9
+ } = options;
10
+ switch (node.type) {
11
+ case "root":
12
+ return renderChildren(node, options);
13
+ case "heading":
14
+ {
15
+ const heading = node;
16
+ const CustomHeading = components[`h${heading.depth}`];
17
+ if (CustomHeading) {
18
+ return /* @__PURE__ */jsx(CustomHeading, {
19
+ level: heading.depth,
20
+ children: renderChildren(heading, options)
21
+ }, key);
22
+ }
23
+ return /* @__PURE__ */jsx(Heading, {
24
+ level: heading.depth,
25
+ children: renderChildren(heading, options)
26
+ }, key);
27
+ }
28
+ case "paragraph":
29
+ {
30
+ const para = node;
31
+ const CustomP = components.p;
32
+ if (CustomP) {
33
+ return /* @__PURE__ */jsx(CustomP, {
34
+ children: renderChildren(para, options)
35
+ }, key);
36
+ }
37
+ return /* @__PURE__ */jsx(Paragraph, {
38
+ children: renderChildren(para, options)
39
+ }, key);
40
+ }
41
+ case "text":
42
+ {
43
+ const textNode = node;
44
+ return textNode.value;
45
+ }
46
+ case "strong":
47
+ {
48
+ const strongNode = node;
49
+ const CustomStrong = components.strong;
50
+ if (CustomStrong) {
51
+ return /* @__PURE__ */jsx(CustomStrong, {
52
+ children: renderChildren(strongNode, options)
53
+ }, key);
54
+ }
55
+ return /* @__PURE__ */jsx(Strong, {
56
+ children: renderChildren(strongNode, options)
57
+ }, key);
58
+ }
59
+ case "emphasis":
60
+ {
61
+ const emNode = node;
62
+ const CustomEm = components.em;
63
+ if (CustomEm) {
64
+ return /* @__PURE__ */jsx(CustomEm, {
65
+ children: renderChildren(emNode, options)
66
+ }, key);
67
+ }
68
+ return /* @__PURE__ */jsx(Emphasis, {
69
+ children: renderChildren(emNode, options)
70
+ }, key);
71
+ }
72
+ case "delete":
73
+ {
74
+ const delNode = node;
75
+ const CustomDel = components.del;
76
+ if (CustomDel) {
77
+ return /* @__PURE__ */jsx(CustomDel, {
78
+ children: renderChildren(delNode, options)
79
+ }, key);
80
+ }
81
+ return /* @__PURE__ */jsx(Strikethrough, {
82
+ children: renderChildren(delNode, options)
83
+ }, key);
84
+ }
85
+ case "inlineCode":
86
+ {
87
+ const inlineCodeNode = node;
88
+ const CustomInlineCode = components.inlineCode;
89
+ if (CustomInlineCode) {
90
+ return /* @__PURE__ */jsx(CustomInlineCode, {
91
+ children: inlineCodeNode.value
92
+ }, key);
93
+ }
94
+ return /* @__PURE__ */jsx(InlineCode, {
95
+ children: inlineCodeNode.value
96
+ }, key);
97
+ }
98
+ case "code":
99
+ {
100
+ const codeNode = node;
101
+ const CustomCode = components.code;
102
+ if (CustomCode) {
103
+ return /* @__PURE__ */jsx(CustomCode, {
104
+ lang: codeNode.lang,
105
+ meta: codeNode.meta,
106
+ children: codeNode.value
107
+ }, key);
108
+ }
109
+ return /* @__PURE__ */jsx(CodeBlock, {
110
+ lang: codeNode.lang,
111
+ theme: codeTheme,
112
+ children: codeNode.value
113
+ }, key);
114
+ }
115
+ case "link":
116
+ {
117
+ const linkNode = node;
118
+ const CustomLink = components.a;
119
+ if (CustomLink) {
120
+ return /* @__PURE__ */jsx(CustomLink, {
121
+ href: linkNode.url,
122
+ title: linkNode.title,
123
+ children: renderChildren(linkNode, options)
124
+ }, key);
125
+ }
126
+ return /* @__PURE__ */jsx(Link, {
127
+ href: linkNode.url,
128
+ title: linkNode.title,
129
+ children: renderChildren(linkNode, options)
130
+ }, key);
131
+ }
132
+ case "image":
133
+ {
134
+ const imgNode = node;
135
+ const CustomImg = components.img;
136
+ if (CustomImg) {
137
+ return /* @__PURE__ */jsx(CustomImg, {
138
+ src: imgNode.url,
139
+ alt: imgNode.alt,
140
+ title: imgNode.title
141
+ }, key);
142
+ }
143
+ return /* @__PURE__ */jsx(MarkdownImage, {
144
+ src: imgNode.url,
145
+ alt: imgNode.alt,
146
+ title: imgNode.title
147
+ }, key);
148
+ }
149
+ case "list":
150
+ {
151
+ const listNode = node;
152
+ const CustomList = listNode.ordered ? components.ol : components.ul;
153
+ const listChildren = listNode.children.map((child, i) => renderNode(child, i, {
154
+ ...options,
155
+ listContext: {
156
+ ordered: listNode.ordered ?? false,
157
+ index: i
158
+ }
159
+ }));
160
+ if (CustomList) {
161
+ return /* @__PURE__ */jsx(CustomList, {
162
+ ordered: listNode.ordered ?? false,
163
+ start: listNode.start,
164
+ children: listChildren
165
+ }, key);
166
+ }
167
+ return /* @__PURE__ */jsx(MarkdownList, {
168
+ ordered: listNode.ordered ?? false,
169
+ start: listNode.start,
170
+ children: listChildren
171
+ }, key);
172
+ }
173
+ case "listItem":
174
+ {
175
+ const liNode = node;
176
+ const CustomLi = components.li;
177
+ if (CustomLi) {
178
+ return /* @__PURE__ */jsx(CustomLi, {
179
+ checked: liNode.checked,
180
+ children: renderChildren(liNode, options)
181
+ }, key);
182
+ }
183
+ return /* @__PURE__ */jsx(MarkdownListItem, {
184
+ checked: liNode.checked,
185
+ index: listContext?.index,
186
+ ordered: listContext?.ordered,
187
+ children: renderChildren(liNode, options)
188
+ }, key);
189
+ }
190
+ case "blockquote":
191
+ {
192
+ const bqNode = node;
193
+ const CustomBq = components.blockquote;
194
+ if (CustomBq) {
195
+ return /* @__PURE__ */jsx(CustomBq, {
196
+ children: renderChildren(bqNode, options)
197
+ }, key);
198
+ }
199
+ return /* @__PURE__ */jsx(Blockquote, {
200
+ children: renderChildren(bqNode, options)
201
+ }, key);
202
+ }
203
+ case "thematicBreak":
204
+ {
205
+ const CustomHr = components.hr;
206
+ if (CustomHr) {
207
+ return /* @__PURE__ */jsx(CustomHr, {}, key);
208
+ }
209
+ return /* @__PURE__ */jsx(HorizontalRule, {}, key);
210
+ }
211
+ case "table":
212
+ {
213
+ const tableNode = node;
214
+ const CustomTable = components.table;
215
+ const tableChildren = tableNode.children.map((row, i) => renderTableRow(row, i, i === 0, tableNode.align, options));
216
+ if (CustomTable) {
217
+ return /* @__PURE__ */jsx(CustomTable, {
218
+ children: tableChildren
219
+ }, key);
220
+ }
221
+ return /* @__PURE__ */jsx(MarkdownTable, {
222
+ children: tableChildren
223
+ }, key);
224
+ }
225
+ case "html":
226
+ {
227
+ const htmlNode = node;
228
+ if (isWeb) {
229
+ return /* @__PURE__ */jsx("div", {
230
+ dangerouslySetInnerHTML: {
231
+ __html: htmlNode.value
232
+ }
233
+ }, key);
234
+ }
235
+ return null;
236
+ }
237
+ case "break":
238
+ {
239
+ const CustomBr = components.br;
240
+ if (CustomBr) {
241
+ return /* @__PURE__ */jsx(CustomBr, {}, key);
242
+ }
243
+ return /* @__PURE__ */jsx(Break, {}, key);
244
+ }
245
+ default:
246
+ if ("children" in node && Array.isArray(node.children)) {
247
+ return /* @__PURE__ */jsx(View, {
248
+ children: node.children.map((child, i) => renderNode(child, i, options))
249
+ }, key);
250
+ }
251
+ if ("value" in node && typeof node.value === "string") {
252
+ return /* @__PURE__ */jsx(Text, {
253
+ children: node.value
254
+ }, key);
255
+ }
256
+ return null;
257
+ }
258
+ }
259
+ function renderTableRow(row, key, isHeader, align, options) {
260
+ const CustomTr = options.components?.tr;
261
+ const cells = row.children.map((cell, i) => renderTableCell(cell, i, isHeader, align?.[i] || null, options));
262
+ if (CustomTr) {
263
+ return /* @__PURE__ */jsx(CustomTr, {
264
+ isHeader,
265
+ children: cells
266
+ }, key);
267
+ }
268
+ return /* @__PURE__ */jsx(MarkdownTableRow, {
269
+ isHeader,
270
+ children: cells
271
+ }, key);
272
+ }
273
+ function renderTableCell(cell, key, isHeader, align, options) {
274
+ const CustomTd = isHeader ? options.components?.th : options.components?.td;
275
+ const children = renderChildren(cell, options);
276
+ if (CustomTd) {
277
+ return /* @__PURE__ */jsx(CustomTd, {
278
+ isHeader,
279
+ align,
280
+ children
281
+ }, key);
282
+ }
283
+ return /* @__PURE__ */jsx(MarkdownTableCell, {
284
+ isHeader,
285
+ align,
286
+ children
287
+ }, key);
288
+ }
289
+ function renderChildren(node, options) {
290
+ if (!node.children) return [];
291
+ return node.children.map((child, i) => renderNode(child, i, options));
292
+ }
293
+ function renderMarkdown(root, options = {}) {
294
+ return /* @__PURE__ */jsx(View, {
295
+ gap: "$1",
296
+ children: root.children.map((child, i) => renderNode(child, i, options))
297
+ });
298
+ }
299
+ export { renderMarkdown, renderNode };
300
+ //# sourceMappingURL=renderer.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Text","View","isWeb","Heading","Paragraph","Strong","Emphasis","Strikethrough","InlineCode","CodeBlock","Link","MarkdownImage","MarkdownList","MarkdownListItem","Blockquote","HorizontalRule","MarkdownTable","MarkdownTableRow","MarkdownTableCell","Break","jsx","renderNode","node","key","options","components","codeTheme","listContext","type","renderChildren","heading","CustomHeading","depth","level","children","para","CustomP","p","textNode","value","strongNode","CustomStrong","strong","emNode","CustomEm","em","delNode","CustomDel","del","inlineCodeNode","CustomInlineCode","inlineCode","codeNode","CustomCode","code","lang","meta","theme","linkNode","CustomLink","a","href","url","title","imgNode","CustomImg","img","src","alt","listNode","CustomList","ordered","ol","ul","listChildren","map","child","i","index","start","liNode","CustomLi","li","checked","bqNode","CustomBq","blockquote","CustomHr","hr","tableNode","CustomTable","table","tableChildren","row","renderTableRow","align","htmlNode","dangerouslySetInnerHTML","__html","CustomBr","br","Array","isArray","isHeader","CustomTr","tr","cells","cell","renderTableCell","CustomTd","th","td","renderMarkdown","root","gap"],"sources":["../../src/renderer.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}