@multiplatform.one/markdown 6.1.0 → 6.4.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 (672) hide show
  1. package/README.md +61 -0
  2. package/dist/cjs/Aside/index.cjs +37 -32
  3. package/dist/cjs/Aside/index.native.js +41 -34
  4. package/dist/cjs/Aside/index.native.js.map +1 -1
  5. package/dist/cjs/ExternalIcon/index.cjs +2 -0
  6. package/dist/cjs/ExternalIcon/index.native.js +2 -0
  7. package/dist/cjs/ExternalIcon/index.native.js.map +1 -1
  8. package/dist/cjs/Hr/index.cjs +3 -11
  9. package/dist/cjs/Hr/index.native.js +3 -11
  10. package/dist/cjs/Hr/index.native.js.map +1 -1
  11. package/dist/cjs/{SimpleTable → MarkdownSimpleTable}/index.cjs +27 -9
  12. package/dist/{jsx/SimpleTable → cjs/MarkdownSimpleTable}/index.native.js +32 -11
  13. package/dist/cjs/MarkdownSimpleTable/index.native.js.map +1 -0
  14. package/dist/cjs/Mdx/index.cjs +15 -7
  15. package/dist/cjs/Mdx/index.native.js +15 -7
  16. package/dist/cjs/Mdx/index.native.js.map +1 -1
  17. package/dist/cjs/MdxCodeBlock/index.cjs +28 -20
  18. package/dist/cjs/MdxCodeBlock/index.native.js +33 -22
  19. package/dist/cjs/MdxCodeBlock/index.native.js.map +1 -1
  20. package/dist/cjs/Notice/index.cjs +13 -56
  21. package/dist/cjs/Notice/index.native.js +13 -56
  22. package/dist/cjs/Notice/index.native.js.map +1 -1
  23. package/dist/cjs/Table/index.cjs +13 -0
  24. package/dist/cjs/Table/index.native.js +15 -0
  25. package/dist/cjs/Table/index.native.js.map +1 -1
  26. package/dist/cjs/Tabs/index.cjs +15 -47
  27. package/dist/cjs/Tabs/index.native.js +20 -52
  28. package/dist/cjs/Tabs/index.native.js.map +1 -1
  29. package/dist/cjs/Ul/index.cjs +2 -2
  30. package/dist/cjs/Ul/index.native.js +2 -2
  31. package/dist/cjs/Ul/index.native.js.map +1 -1
  32. package/dist/cjs/Video/index.cjs +4 -2
  33. package/dist/cjs/Video/index.native.js +4 -2
  34. package/dist/cjs/Video/index.native.js.map +1 -1
  35. package/dist/cjs/components/Blockquote.cjs +16 -3
  36. package/dist/cjs/components/Blockquote.native.js +25 -3
  37. package/dist/cjs/components/Blockquote.native.js.map +1 -1
  38. package/dist/cjs/components/Break.cjs +1 -0
  39. package/dist/cjs/components/Break.native.js +1 -0
  40. package/dist/cjs/components/Break.native.js.map +1 -1
  41. package/dist/cjs/components/CodeBlock.cjs +20 -60
  42. package/dist/cjs/components/CodeBlock.native.js +22 -64
  43. package/dist/cjs/components/CodeBlock.native.js.map +1 -1
  44. package/dist/cjs/components/Heading.cjs +23 -0
  45. package/dist/cjs/components/Heading.native.js +24 -0
  46. package/dist/cjs/components/Heading.native.js.map +1 -1
  47. package/dist/cjs/components/Image.cjs +3 -5
  48. package/dist/cjs/components/Image.native.js +6 -5
  49. package/dist/cjs/components/Image.native.js.map +1 -1
  50. package/dist/cjs/components/InlineCode.cjs +3 -6
  51. package/dist/cjs/components/InlineCode.native.js +3 -6
  52. package/dist/cjs/components/InlineCode.native.js.map +1 -1
  53. package/dist/cjs/components/InlineStyles.cjs +3 -0
  54. package/dist/cjs/components/InlineStyles.native.js +3 -0
  55. package/dist/cjs/components/InlineStyles.native.js.map +1 -1
  56. package/dist/cjs/components/Link.cjs +22 -5
  57. package/dist/cjs/components/Link.native.js +23 -5
  58. package/dist/cjs/components/Link.native.js.map +1 -1
  59. package/dist/cjs/components/List.cjs +87 -9
  60. package/dist/cjs/components/List.native.js +91 -9
  61. package/dist/cjs/components/List.native.js.map +1 -1
  62. package/dist/cjs/components/Paragraph.cjs +6 -1
  63. package/dist/cjs/components/Paragraph.native.js +6 -1
  64. package/dist/cjs/components/Paragraph.native.js.map +1 -1
  65. package/dist/cjs/components/Table.cjs +57 -24
  66. package/dist/cjs/components/Table.native.js +67 -25
  67. package/dist/cjs/components/Table.native.js.map +1 -1
  68. package/dist/cjs/hooks/useCompileMdx.cjs +61 -28
  69. package/dist/cjs/hooks/useCompileMdx.native.js +80 -28
  70. package/dist/cjs/hooks/useCompileMdx.native.js.map +1 -1
  71. package/dist/cjs/hooks/useEvaluateMdx.cjs +7 -1
  72. package/dist/cjs/hooks/useEvaluateMdx.native.js +9 -3
  73. package/dist/cjs/hooks/useEvaluateMdx.native.js.map +1 -1
  74. package/dist/cjs/icons/index.cjs +31 -101
  75. package/dist/cjs/icons/index.native.js +36 -116
  76. package/dist/cjs/icons/index.native.js.map +1 -1
  77. package/dist/cjs/index.cjs +6 -4
  78. package/dist/cjs/index.native.js +6 -4
  79. package/dist/cjs/index.native.js.map +1 -1
  80. package/dist/cjs/mdxComponents.cjs +13 -6
  81. package/dist/cjs/mdxComponents.native.js +16 -6
  82. package/dist/cjs/mdxComponents.native.js.map +1 -1
  83. package/dist/cjs/mermaid/MermaidBlock.cjs +110 -0
  84. package/dist/cjs/mermaid/MermaidBlock.native.js +41 -0
  85. package/dist/cjs/mermaid/MermaidBlock.native.js.map +1 -0
  86. package/dist/cjs/mermaid/index.cjs +31 -0
  87. package/dist/cjs/mermaid/index.native.js +34 -0
  88. package/dist/cjs/mermaid/index.native.js.map +1 -0
  89. package/dist/cjs/mermaid/mountDiagramSvg.cjs +54 -0
  90. package/dist/cjs/mermaid/mountDiagramSvg.native.js +98 -0
  91. package/dist/cjs/mermaid/mountDiagramSvg.native.js.map +1 -0
  92. package/dist/cjs/mermaid/renderMermaidDiagram.cjs +92 -0
  93. package/dist/cjs/mermaid/renderMermaidDiagram.native.js +110 -0
  94. package/dist/cjs/mermaid/renderMermaidDiagram.native.js.map +1 -0
  95. package/dist/cjs/renderer.cjs +9 -1
  96. package/dist/cjs/renderer.native.js +10 -2
  97. package/dist/cjs/renderer.native.js.map +1 -1
  98. package/dist/cjs/shared/colorRamps.cjs +1 -11
  99. package/dist/cjs/shared/colorRamps.native.js +1 -11
  100. package/dist/cjs/shared/colorRamps.native.js.map +1 -1
  101. package/dist/cjs/shared/cutoffGradient.cjs +54 -0
  102. package/dist/cjs/shared/cutoffGradient.native.js +63 -0
  103. package/dist/cjs/shared/cutoffGradient.native.js.map +1 -0
  104. package/dist/cjs/shiki/index.cjs +1 -16
  105. package/dist/cjs/shiki/index.native.js +0 -15
  106. package/dist/cjs/shiki/index.native.js.map +1 -1
  107. package/dist/esm/Aside/index.mjs +39 -34
  108. package/dist/esm/Aside/index.mjs.map +1 -1
  109. package/dist/esm/Aside/index.native.js +43 -36
  110. package/dist/esm/Aside/index.native.js.map +1 -1
  111. package/dist/esm/ExternalIcon/index.mjs +2 -0
  112. package/dist/esm/ExternalIcon/index.mjs.map +1 -1
  113. package/dist/esm/ExternalIcon/index.native.js +2 -0
  114. package/dist/esm/ExternalIcon/index.native.js.map +1 -1
  115. package/dist/esm/Hr/index.mjs +4 -12
  116. package/dist/esm/Hr/index.mjs.map +1 -1
  117. package/dist/esm/Hr/index.native.js +4 -12
  118. package/dist/esm/Hr/index.native.js.map +1 -1
  119. package/dist/esm/{SimpleTable → MarkdownSimpleTable}/index.mjs +24 -6
  120. package/dist/esm/MarkdownSimpleTable/index.mjs.map +1 -0
  121. package/dist/esm/{SimpleTable → MarkdownSimpleTable}/index.native.js +29 -8
  122. package/dist/esm/MarkdownSimpleTable/index.native.js.map +1 -0
  123. package/dist/esm/Mdx/index.mjs +15 -7
  124. package/dist/esm/Mdx/index.mjs.map +1 -1
  125. package/dist/esm/Mdx/index.native.js +15 -7
  126. package/dist/esm/Mdx/index.native.js.map +1 -1
  127. package/dist/esm/MdxCodeBlock/index.mjs +30 -22
  128. package/dist/esm/MdxCodeBlock/index.mjs.map +1 -1
  129. package/dist/esm/MdxCodeBlock/index.native.js +35 -24
  130. package/dist/esm/MdxCodeBlock/index.native.js.map +1 -1
  131. package/dist/esm/Notice/index.mjs +15 -57
  132. package/dist/esm/Notice/index.mjs.map +1 -1
  133. package/dist/esm/Notice/index.native.js +15 -57
  134. package/dist/esm/Notice/index.native.js.map +1 -1
  135. package/dist/esm/Table/index.mjs +13 -0
  136. package/dist/esm/Table/index.mjs.map +1 -1
  137. package/dist/esm/Table/index.native.js +15 -0
  138. package/dist/esm/Table/index.native.js.map +1 -1
  139. package/dist/esm/Tabs/index.mjs +17 -49
  140. package/dist/esm/Tabs/index.mjs.map +1 -1
  141. package/dist/esm/Tabs/index.native.js +22 -54
  142. package/dist/esm/Tabs/index.native.js.map +1 -1
  143. package/dist/esm/Ul/index.mjs +2 -2
  144. package/dist/esm/Ul/index.mjs.map +1 -1
  145. package/dist/esm/Ul/index.native.js +2 -2
  146. package/dist/esm/Ul/index.native.js.map +1 -1
  147. package/dist/esm/Video/index.mjs +4 -2
  148. package/dist/esm/Video/index.mjs.map +1 -1
  149. package/dist/esm/Video/index.native.js +4 -2
  150. package/dist/esm/Video/index.native.js.map +1 -1
  151. package/dist/esm/components/Blockquote.mjs +17 -4
  152. package/dist/esm/components/Blockquote.mjs.map +1 -1
  153. package/dist/esm/components/Blockquote.native.js +26 -4
  154. package/dist/esm/components/Blockquote.native.js.map +1 -1
  155. package/dist/esm/components/Break.mjs +2 -1
  156. package/dist/esm/components/Break.mjs.map +1 -1
  157. package/dist/esm/components/Break.native.js +2 -1
  158. package/dist/esm/components/Break.native.js.map +1 -1
  159. package/dist/esm/components/CodeBlock.mjs +21 -61
  160. package/dist/esm/components/CodeBlock.mjs.map +1 -1
  161. package/dist/esm/components/CodeBlock.native.js +23 -65
  162. package/dist/esm/components/CodeBlock.native.js.map +1 -1
  163. package/dist/esm/components/Heading.mjs +24 -1
  164. package/dist/esm/components/Heading.mjs.map +1 -1
  165. package/dist/esm/components/Heading.native.js +25 -1
  166. package/dist/esm/components/Heading.native.js.map +1 -1
  167. package/dist/esm/components/Image.mjs +3 -5
  168. package/dist/esm/components/Image.mjs.map +1 -1
  169. package/dist/esm/components/Image.native.js +6 -5
  170. package/dist/esm/components/Image.native.js.map +1 -1
  171. package/dist/esm/components/InlineCode.mjs +3 -6
  172. package/dist/esm/components/InlineCode.mjs.map +1 -1
  173. package/dist/esm/components/InlineCode.native.js +3 -6
  174. package/dist/esm/components/InlineCode.native.js.map +1 -1
  175. package/dist/esm/components/InlineStyles.mjs +3 -0
  176. package/dist/esm/components/InlineStyles.mjs.map +1 -1
  177. package/dist/esm/components/InlineStyles.native.js +3 -0
  178. package/dist/esm/components/InlineStyles.native.js.map +1 -1
  179. package/dist/esm/components/Link.mjs +23 -6
  180. package/dist/esm/components/Link.mjs.map +1 -1
  181. package/dist/esm/components/Link.native.js +24 -6
  182. package/dist/esm/components/Link.native.js.map +1 -1
  183. package/dist/esm/components/List.mjs +88 -10
  184. package/dist/esm/components/List.mjs.map +1 -1
  185. package/dist/esm/components/List.native.js +92 -10
  186. package/dist/esm/components/List.native.js.map +1 -1
  187. package/dist/esm/components/Paragraph.mjs +6 -1
  188. package/dist/esm/components/Paragraph.mjs.map +1 -1
  189. package/dist/esm/components/Paragraph.native.js +6 -1
  190. package/dist/esm/components/Paragraph.native.js.map +1 -1
  191. package/dist/esm/components/Table.mjs +59 -26
  192. package/dist/esm/components/Table.mjs.map +1 -1
  193. package/dist/esm/components/Table.native.js +69 -27
  194. package/dist/esm/components/Table.native.js.map +1 -1
  195. package/dist/esm/hooks/useCompileMdx.mjs +61 -29
  196. package/dist/esm/hooks/useCompileMdx.mjs.map +1 -1
  197. package/dist/esm/hooks/useCompileMdx.native.js +80 -29
  198. package/dist/esm/hooks/useCompileMdx.native.js.map +1 -1
  199. package/dist/esm/hooks/useEvaluateMdx.mjs +7 -1
  200. package/dist/esm/hooks/useEvaluateMdx.mjs.map +1 -1
  201. package/dist/esm/hooks/useEvaluateMdx.native.js +9 -3
  202. package/dist/esm/hooks/useEvaluateMdx.native.js.map +1 -1
  203. package/dist/esm/icons/index.mjs +32 -100
  204. package/dist/esm/icons/index.mjs.map +1 -1
  205. package/dist/esm/icons/index.native.js +37 -115
  206. package/dist/esm/icons/index.native.js.map +1 -1
  207. package/dist/esm/index.mjs +5 -3
  208. package/dist/esm/index.mjs.map +1 -1
  209. package/dist/esm/index.native.js +5 -3
  210. package/dist/esm/index.native.js.map +1 -1
  211. package/dist/esm/mdxComponents.mjs +14 -7
  212. package/dist/esm/mdxComponents.mjs.map +1 -1
  213. package/dist/esm/mdxComponents.native.js +17 -7
  214. package/dist/esm/mdxComponents.native.js.map +1 -1
  215. package/dist/esm/mermaid/MermaidBlock.mjs +85 -0
  216. package/dist/esm/mermaid/MermaidBlock.mjs.map +1 -0
  217. package/dist/esm/mermaid/MermaidBlock.native.js +13 -0
  218. package/dist/esm/mermaid/MermaidBlock.native.js.map +1 -0
  219. package/dist/esm/mermaid/index.mjs +4 -0
  220. package/dist/esm/mermaid/index.mjs.map +1 -0
  221. package/dist/esm/mermaid/index.native.js +4 -0
  222. package/dist/esm/mermaid/index.native.js.map +1 -0
  223. package/dist/esm/mermaid/mountDiagramSvg.mjs +29 -0
  224. package/dist/esm/mermaid/mountDiagramSvg.mjs.map +1 -0
  225. package/dist/esm/mermaid/mountDiagramSvg.native.js +70 -0
  226. package/dist/esm/mermaid/mountDiagramSvg.native.js.map +1 -0
  227. package/dist/esm/mermaid/renderMermaidDiagram.mjs +55 -0
  228. package/dist/esm/mermaid/renderMermaidDiagram.mjs.map +1 -0
  229. package/dist/esm/mermaid/renderMermaidDiagram.native.js +70 -0
  230. package/dist/esm/mermaid/renderMermaidDiagram.native.js.map +1 -0
  231. package/dist/esm/renderer.mjs +9 -1
  232. package/dist/esm/renderer.mjs.map +1 -1
  233. package/dist/esm/renderer.native.js +10 -2
  234. package/dist/esm/renderer.native.js.map +1 -1
  235. package/dist/esm/shared/colorRamps.mjs +1 -10
  236. package/dist/esm/shared/colorRamps.mjs.map +1 -1
  237. package/dist/esm/shared/colorRamps.native.js +1 -10
  238. package/dist/esm/shared/colorRamps.native.js.map +1 -1
  239. package/dist/esm/shared/cutoffGradient.mjs +28 -0
  240. package/dist/esm/shared/cutoffGradient.mjs.map +1 -0
  241. package/dist/esm/shared/cutoffGradient.native.js +34 -0
  242. package/dist/esm/shared/cutoffGradient.native.js.map +1 -0
  243. package/dist/esm/shiki/index.mjs +1 -2
  244. package/dist/esm/shiki/index.mjs.map +1 -1
  245. package/dist/esm/shiki/index.native.js +1 -2
  246. package/dist/esm/shiki/index.native.js.map +1 -1
  247. package/dist/jsx/Aside/index.mjs +39 -34
  248. package/dist/jsx/Aside/index.mjs.map +1 -1
  249. package/dist/jsx/Aside/index.native.js +41 -34
  250. package/dist/jsx/Aside/index.native.js.map +1 -1
  251. package/dist/jsx/ExternalIcon/index.mjs +2 -0
  252. package/dist/jsx/ExternalIcon/index.mjs.map +1 -1
  253. package/dist/jsx/ExternalIcon/index.native.js +2 -0
  254. package/dist/jsx/ExternalIcon/index.native.js.map +1 -1
  255. package/dist/jsx/Hr/index.mjs +4 -12
  256. package/dist/jsx/Hr/index.mjs.map +1 -1
  257. package/dist/jsx/Hr/index.native.js +3 -11
  258. package/dist/jsx/Hr/index.native.js.map +1 -1
  259. package/dist/jsx/{SimpleTable → MarkdownSimpleTable}/index.mjs +24 -6
  260. package/dist/jsx/MarkdownSimpleTable/index.mjs.map +1 -0
  261. package/dist/{cjs/SimpleTable → jsx/MarkdownSimpleTable}/index.native.js +32 -11
  262. package/dist/jsx/MarkdownSimpleTable/index.native.js.map +1 -0
  263. package/dist/jsx/Mdx/index.mjs +15 -7
  264. package/dist/jsx/Mdx/index.mjs.map +1 -1
  265. package/dist/jsx/Mdx/index.native.js +15 -7
  266. package/dist/jsx/Mdx/index.native.js.map +1 -1
  267. package/dist/jsx/MdxCodeBlock/index.mjs +30 -22
  268. package/dist/jsx/MdxCodeBlock/index.mjs.map +1 -1
  269. package/dist/jsx/MdxCodeBlock/index.native.js +33 -22
  270. package/dist/jsx/MdxCodeBlock/index.native.js.map +1 -1
  271. package/dist/jsx/Notice/index.mjs +15 -57
  272. package/dist/jsx/Notice/index.mjs.map +1 -1
  273. package/dist/jsx/Notice/index.native.js +13 -56
  274. package/dist/jsx/Notice/index.native.js.map +1 -1
  275. package/dist/jsx/Table/index.mjs +13 -0
  276. package/dist/jsx/Table/index.mjs.map +1 -1
  277. package/dist/jsx/Table/index.native.js +15 -0
  278. package/dist/jsx/Table/index.native.js.map +1 -1
  279. package/dist/jsx/Tabs/index.mjs +17 -49
  280. package/dist/jsx/Tabs/index.mjs.map +1 -1
  281. package/dist/jsx/Tabs/index.native.js +20 -52
  282. package/dist/jsx/Tabs/index.native.js.map +1 -1
  283. package/dist/jsx/Ul/index.mjs +2 -2
  284. package/dist/jsx/Ul/index.mjs.map +1 -1
  285. package/dist/jsx/Ul/index.native.js +2 -2
  286. package/dist/jsx/Ul/index.native.js.map +1 -1
  287. package/dist/jsx/Video/index.mjs +4 -2
  288. package/dist/jsx/Video/index.mjs.map +1 -1
  289. package/dist/jsx/Video/index.native.js +4 -2
  290. package/dist/jsx/Video/index.native.js.map +1 -1
  291. package/dist/jsx/components/Blockquote.mjs +17 -4
  292. package/dist/jsx/components/Blockquote.mjs.map +1 -1
  293. package/dist/jsx/components/Blockquote.native.js +25 -3
  294. package/dist/jsx/components/Blockquote.native.js.map +1 -1
  295. package/dist/jsx/components/Break.mjs +2 -1
  296. package/dist/jsx/components/Break.mjs.map +1 -1
  297. package/dist/jsx/components/Break.native.js +1 -0
  298. package/dist/jsx/components/Break.native.js.map +1 -1
  299. package/dist/jsx/components/CodeBlock.mjs +21 -61
  300. package/dist/jsx/components/CodeBlock.mjs.map +1 -1
  301. package/dist/jsx/components/CodeBlock.native.js +22 -64
  302. package/dist/jsx/components/CodeBlock.native.js.map +1 -1
  303. package/dist/jsx/components/Heading.mjs +24 -1
  304. package/dist/jsx/components/Heading.mjs.map +1 -1
  305. package/dist/jsx/components/Heading.native.js +24 -0
  306. package/dist/jsx/components/Heading.native.js.map +1 -1
  307. package/dist/jsx/components/Image.mjs +3 -5
  308. package/dist/jsx/components/Image.mjs.map +1 -1
  309. package/dist/jsx/components/Image.native.js +6 -5
  310. package/dist/jsx/components/Image.native.js.map +1 -1
  311. package/dist/jsx/components/InlineCode.mjs +3 -6
  312. package/dist/jsx/components/InlineCode.mjs.map +1 -1
  313. package/dist/jsx/components/InlineCode.native.js +3 -6
  314. package/dist/jsx/components/InlineCode.native.js.map +1 -1
  315. package/dist/jsx/components/InlineStyles.mjs +3 -0
  316. package/dist/jsx/components/InlineStyles.mjs.map +1 -1
  317. package/dist/jsx/components/InlineStyles.native.js +3 -0
  318. package/dist/jsx/components/InlineStyles.native.js.map +1 -1
  319. package/dist/jsx/components/Link.mjs +23 -6
  320. package/dist/jsx/components/Link.mjs.map +1 -1
  321. package/dist/jsx/components/Link.native.js +23 -5
  322. package/dist/jsx/components/Link.native.js.map +1 -1
  323. package/dist/jsx/components/List.mjs +88 -10
  324. package/dist/jsx/components/List.mjs.map +1 -1
  325. package/dist/jsx/components/List.native.js +91 -9
  326. package/dist/jsx/components/List.native.js.map +1 -1
  327. package/dist/jsx/components/Paragraph.mjs +6 -1
  328. package/dist/jsx/components/Paragraph.mjs.map +1 -1
  329. package/dist/jsx/components/Paragraph.native.js +6 -1
  330. package/dist/jsx/components/Paragraph.native.js.map +1 -1
  331. package/dist/jsx/components/Table.mjs +59 -26
  332. package/dist/jsx/components/Table.mjs.map +1 -1
  333. package/dist/jsx/components/Table.native.js +67 -25
  334. package/dist/jsx/components/Table.native.js.map +1 -1
  335. package/dist/jsx/hooks/useCompileMdx.mjs +61 -29
  336. package/dist/jsx/hooks/useCompileMdx.mjs.map +1 -1
  337. package/dist/jsx/hooks/useCompileMdx.native.js +80 -28
  338. package/dist/jsx/hooks/useCompileMdx.native.js.map +1 -1
  339. package/dist/jsx/hooks/useEvaluateMdx.mjs +7 -1
  340. package/dist/jsx/hooks/useEvaluateMdx.mjs.map +1 -1
  341. package/dist/jsx/hooks/useEvaluateMdx.native.js +9 -3
  342. package/dist/jsx/hooks/useEvaluateMdx.native.js.map +1 -1
  343. package/dist/jsx/icons/index.mjs +32 -100
  344. package/dist/jsx/icons/index.mjs.map +1 -1
  345. package/dist/jsx/icons/index.native.js +36 -116
  346. package/dist/jsx/icons/index.native.js.map +1 -1
  347. package/dist/jsx/index.js +5 -3
  348. package/dist/jsx/index.js.map +1 -1
  349. package/dist/jsx/index.mjs +5 -3
  350. package/dist/jsx/index.mjs.map +1 -1
  351. package/dist/jsx/index.native.js +6 -4
  352. package/dist/jsx/index.native.js.map +1 -1
  353. package/dist/jsx/mdxComponents.mjs +14 -7
  354. package/dist/jsx/mdxComponents.mjs.map +1 -1
  355. package/dist/jsx/mdxComponents.native.js +16 -6
  356. package/dist/jsx/mdxComponents.native.js.map +1 -1
  357. package/dist/jsx/mermaid/MermaidBlock.mjs +85 -0
  358. package/dist/jsx/mermaid/MermaidBlock.mjs.map +1 -0
  359. package/dist/jsx/mermaid/MermaidBlock.native.js +41 -0
  360. package/dist/jsx/mermaid/MermaidBlock.native.js.map +1 -0
  361. package/dist/jsx/mermaid/index.mjs +4 -0
  362. package/dist/jsx/mermaid/index.mjs.map +1 -0
  363. package/dist/jsx/mermaid/index.native.js +34 -0
  364. package/dist/jsx/mermaid/index.native.js.map +1 -0
  365. package/dist/jsx/mermaid/mountDiagramSvg.mjs +29 -0
  366. package/dist/jsx/mermaid/mountDiagramSvg.mjs.map +1 -0
  367. package/dist/jsx/mermaid/mountDiagramSvg.native.js +98 -0
  368. package/dist/jsx/mermaid/mountDiagramSvg.native.js.map +1 -0
  369. package/dist/jsx/mermaid/renderMermaidDiagram.mjs +55 -0
  370. package/dist/jsx/mermaid/renderMermaidDiagram.mjs.map +1 -0
  371. package/dist/jsx/mermaid/renderMermaidDiagram.native.js +110 -0
  372. package/dist/jsx/mermaid/renderMermaidDiagram.native.js.map +1 -0
  373. package/dist/jsx/renderer.mjs +9 -1
  374. package/dist/jsx/renderer.mjs.map +1 -1
  375. package/dist/jsx/renderer.native.js +10 -2
  376. package/dist/jsx/renderer.native.js.map +1 -1
  377. package/dist/jsx/shared/colorRamps.mjs +1 -10
  378. package/dist/jsx/shared/colorRamps.mjs.map +1 -1
  379. package/dist/jsx/shared/colorRamps.native.js +1 -11
  380. package/dist/jsx/shared/colorRamps.native.js.map +1 -1
  381. package/dist/jsx/shared/cutoffGradient.mjs +28 -0
  382. package/dist/jsx/shared/cutoffGradient.mjs.map +1 -0
  383. package/dist/jsx/shared/cutoffGradient.native.js +63 -0
  384. package/dist/jsx/shared/cutoffGradient.native.js.map +1 -0
  385. package/dist/jsx/shiki/index.mjs +1 -2
  386. package/dist/jsx/shiki/index.mjs.map +1 -1
  387. package/dist/jsx/shiki/index.native.js +0 -15
  388. package/dist/jsx/shiki/index.native.js.map +1 -1
  389. package/package.json +25 -14
  390. package/src/Aside/index.tsx +42 -35
  391. package/src/ExternalIcon/index.tsx +8 -1
  392. package/src/Hr/index.tsx +3 -6
  393. package/src/{SimpleTable → MarkdownSimpleTable}/index.tsx +30 -12
  394. package/src/MarkdownSimpleTable/markdownSimpleTable.spec.tsx +92 -0
  395. package/src/Mdx/index.tsx +12 -7
  396. package/src/MdxCodeBlock/index.tsx +33 -20
  397. package/src/Notice/index.tsx +12 -54
  398. package/src/Table/index.tsx +22 -6
  399. package/src/Tabs/index.tsx +26 -52
  400. package/src/Ul/index.ts +2 -2
  401. package/src/Video/index.tsx +15 -12
  402. package/src/components/Blockquote.tsx +29 -4
  403. package/src/components/Break.tsx +3 -1
  404. package/src/components/CodeBlock.tsx +49 -79
  405. package/src/components/Heading.tsx +15 -2
  406. package/src/components/Image.tsx +6 -3
  407. package/src/components/InlineCode.tsx +14 -7
  408. package/src/components/InlineStyles.tsx +15 -3
  409. package/src/components/Link.tsx +29 -6
  410. package/src/components/List.tsx +111 -11
  411. package/src/components/Paragraph.tsx +6 -1
  412. package/src/components/Table.tsx +56 -35
  413. package/src/components/markdownPrimitives.spec.tsx +121 -0
  414. package/src/docBlocks.spec.tsx +85 -0
  415. package/src/hooks/useCompileMdx.ts +75 -35
  416. package/src/hooks/useEvaluateMdx.ts +7 -1
  417. package/src/icons/index.tsx +36 -58
  418. package/src/index.ts +15 -3
  419. package/src/markdownComponent.spec.tsx +58 -0
  420. package/src/mdx.spec.tsx +4 -0
  421. package/src/mdxComponents.spec.tsx +185 -0
  422. package/src/mdxComponents.tsx +14 -5
  423. package/src/mermaid/MermaidBlock.native.tsx +15 -0
  424. package/src/mermaid/MermaidBlock.tsx +88 -0
  425. package/src/mermaid/index.ts +23 -0
  426. package/src/mermaid/mountDiagramSvg.ts +49 -0
  427. package/src/mermaid/renderMermaidDiagram.spec.ts +89 -0
  428. package/src/mermaid/renderMermaidDiagram.ts +78 -0
  429. package/src/renderer.spec.tsx +276 -0
  430. package/src/renderer.tsx +13 -1
  431. package/src/shared/colorRamps.ts +0 -10
  432. package/src/shared/cutoffGradient.ts +40 -0
  433. package/src/shiki/index.ts +7 -11
  434. package/src/stories/Blocks.stories.tsx +232 -0
  435. package/src/stories/Callouts.stories.tsx +147 -0
  436. package/src/stories/Code.stories.tsx +116 -0
  437. package/src/stories/Inline.stories.tsx +162 -0
  438. package/src/stories/Mdx.stories.tsx +107 -0
  439. package/src/stories/Media.stories.tsx +148 -0
  440. package/src/stories/Tables.stories.tsx +173 -0
  441. package/types/Aside/index.d.ts +11 -0
  442. package/types/Aside/index.d.ts.map +1 -0
  443. package/types/ExternalIcon/index.d.ts +2 -0
  444. package/types/ExternalIcon/index.d.ts.map +1 -0
  445. package/types/Hr/index.d.ts +2 -0
  446. package/types/Hr/index.d.ts.map +1 -0
  447. package/types/Li/index.d.ts +6 -0
  448. package/types/Li/index.d.ts.map +1 -0
  449. package/types/Markdown.d.ts +22 -0
  450. package/types/Markdown.d.ts.map +1 -0
  451. package/types/MarkdownSimpleTable/index.d.ts +16 -0
  452. package/types/MarkdownSimpleTable/index.d.ts.map +1 -0
  453. package/types/Mdx/index.d.ts +9 -0
  454. package/types/Mdx/index.d.ts.map +1 -0
  455. package/types/MdxCodeBlock/index.d.ts +7 -0
  456. package/types/MdxCodeBlock/index.d.ts.map +1 -0
  457. package/types/MdxCodeBlock/mdxCodeBlockContext.d.ts +13 -0
  458. package/types/MdxCodeBlock/mdxCodeBlockContext.d.ts.map +1 -0
  459. package/types/Notice/index.d.ts +12 -0
  460. package/types/Notice/index.d.ts.map +1 -0
  461. package/types/Table/index.d.ts +20 -0
  462. package/types/Table/index.d.ts.map +1 -0
  463. package/types/Tabs/index.d.ts +21 -0
  464. package/types/Tabs/index.d.ts.map +1 -0
  465. package/types/Ul/index.d.ts +6 -0
  466. package/types/Ul/index.d.ts.map +1 -0
  467. package/types/Video/index.d.ts +12 -0
  468. package/types/Video/index.d.ts.map +1 -0
  469. package/types/components/Blockquote.d.ts +3 -0
  470. package/types/components/Blockquote.d.ts.map +1 -0
  471. package/types/components/Break.d.ts +3 -0
  472. package/types/components/Break.d.ts.map +1 -0
  473. package/types/components/CodeBlock.d.ts +17 -0
  474. package/types/components/CodeBlock.d.ts.map +1 -0
  475. package/types/components/Heading.d.ts +3 -0
  476. package/types/components/Heading.d.ts.map +1 -0
  477. package/types/components/HorizontalRule.d.ts +3 -0
  478. package/types/components/HorizontalRule.d.ts.map +1 -0
  479. package/types/components/Image.d.ts +3 -0
  480. package/types/components/Image.d.ts.map +1 -0
  481. package/types/components/InlineCode.d.ts +12 -0
  482. package/types/components/InlineCode.d.ts.map +1 -0
  483. package/types/components/InlineStyles.d.ts +5 -0
  484. package/types/components/InlineStyles.d.ts.map +1 -0
  485. package/types/components/Link.d.ts +3 -0
  486. package/types/components/Link.d.ts.map +1 -0
  487. package/types/components/List.d.ts +10 -0
  488. package/types/components/List.d.ts.map +1 -0
  489. package/types/components/Paragraph.d.ts +3 -0
  490. package/types/components/Paragraph.d.ts.map +1 -0
  491. package/types/components/Table.d.ts +13 -0
  492. package/types/components/Table.d.ts.map +1 -0
  493. package/types/components/index.d.ts +13 -0
  494. package/types/components/index.d.ts.map +1 -0
  495. package/types/hooks/index.d.ts +4 -0
  496. package/types/hooks/index.d.ts.map +1 -0
  497. package/types/hooks/useCompileAndEvaluateMdx.d.ts +9 -0
  498. package/types/hooks/useCompileAndEvaluateMdx.d.ts.map +1 -0
  499. package/types/hooks/useCompileMdx.d.ts +13 -0
  500. package/types/hooks/useCompileMdx.d.ts.map +1 -0
  501. package/types/hooks/useEvaluateMdx.d.ts +5 -0
  502. package/types/hooks/useEvaluateMdx.d.ts.map +1 -0
  503. package/types/icons/index.d.ts +12 -0
  504. package/types/icons/index.d.ts.map +1 -0
  505. package/types/index.d.ts +29 -0
  506. package/types/index.d.ts.map +1 -0
  507. package/types/mdxComponents.d.ts +8 -0
  508. package/types/mdxComponents.d.ts.map +1 -0
  509. package/types/mermaid/MermaidBlock.d.ts +15 -0
  510. package/types/mermaid/MermaidBlock.d.ts.map +1 -0
  511. package/types/mermaid/MermaidBlock.native.d.ts +10 -0
  512. package/types/mermaid/MermaidBlock.native.d.ts.map +1 -0
  513. package/types/mermaid/index.d.ts +18 -0
  514. package/types/mermaid/index.d.ts.map +1 -0
  515. package/types/mermaid/mountDiagramSvg.d.ts +11 -0
  516. package/types/mermaid/mountDiagramSvg.d.ts.map +1 -0
  517. package/types/mermaid/renderMermaidDiagram.d.ts +33 -0
  518. package/types/mermaid/renderMermaidDiagram.d.ts.map +1 -0
  519. package/types/parser.d.ts +11 -0
  520. package/types/parser.d.ts.map +1 -0
  521. package/types/renderer.d.ts +32 -0
  522. package/types/renderer.d.ts.map +1 -0
  523. package/types/shared/colorRamps.d.ts +39 -0
  524. package/types/shared/colorRamps.d.ts.map +1 -0
  525. package/types/shared/cutoffGradient.d.ts +12 -0
  526. package/types/shared/cutoffGradient.d.ts.map +1 -0
  527. package/types/shared/index.d.ts +2 -0
  528. package/types/shared/index.d.ts.map +1 -0
  529. package/types/shiki/index.d.ts +8 -0
  530. package/types/shiki/index.d.ts.map +1 -0
  531. package/types/types.d.ts +160 -0
  532. package/types/types.d.ts.map +1 -0
  533. package/types/util/rehypeMetaAttributes.d.ts +2 -0
  534. package/types/util/rehypeMetaAttributes.d.ts.map +1 -0
  535. package/dist/cjs/ExternalIcon/ExternalIcon.spec.cjs +0 -37
  536. package/dist/cjs/ExternalIcon/ExternalIcon.spec.native.js +0 -40
  537. package/dist/cjs/ExternalIcon/ExternalIcon.spec.native.js.map +0 -1
  538. package/dist/cjs/Hr/hr.spec.cjs +0 -21
  539. package/dist/cjs/Hr/hr.spec.native.js +0 -24
  540. package/dist/cjs/Hr/hr.spec.native.js.map +0 -1
  541. package/dist/cjs/Li/li.spec.cjs +0 -45
  542. package/dist/cjs/Li/li.spec.native.js +0 -50
  543. package/dist/cjs/Li/li.spec.native.js.map +0 -1
  544. package/dist/cjs/Markdown.stories.cjs +0 -153
  545. package/dist/cjs/Markdown.stories.native.js +0 -162
  546. package/dist/cjs/Markdown.stories.native.js.map +0 -1
  547. package/dist/cjs/Mdx/mdx.spec.cjs +0 -139
  548. package/dist/cjs/Mdx/mdx.spec.native.js +0 -158
  549. package/dist/cjs/Mdx/mdx.spec.native.js.map +0 -1
  550. package/dist/cjs/MdxCodeBlock/mdxCodeBlock.spec.cjs +0 -90
  551. package/dist/cjs/MdxCodeBlock/mdxCodeBlock.spec.native.js +0 -122
  552. package/dist/cjs/MdxCodeBlock/mdxCodeBlock.spec.native.js.map +0 -1
  553. package/dist/cjs/SimpleTable/index.native.js.map +0 -1
  554. package/dist/cjs/Ul/ul.spec.cjs +0 -150
  555. package/dist/cjs/Ul/ul.spec.native.js +0 -153
  556. package/dist/cjs/Ul/ul.spec.native.js.map +0 -1
  557. package/dist/cjs/hooks/useCompileAndEvaluateMdx.spec.cjs +0 -34
  558. package/dist/cjs/hooks/useCompileAndEvaluateMdx.spec.native.js +0 -49
  559. package/dist/cjs/hooks/useCompileAndEvaluateMdx.spec.native.js.map +0 -1
  560. package/dist/cjs/mdx.spec.cjs +0 -400
  561. package/dist/cjs/mdx.spec.native.js +0 -465
  562. package/dist/cjs/mdx.spec.native.js.map +0 -1
  563. package/dist/cjs/parser.spec.cjs +0 -109
  564. package/dist/cjs/parser.spec.native.js +0 -114
  565. package/dist/cjs/parser.spec.native.js.map +0 -1
  566. package/dist/cjs/shiki/highlighter.cjs +0 -89
  567. package/dist/cjs/shiki/highlighter.native.js +0 -94
  568. package/dist/cjs/shiki/highlighter.native.js.map +0 -1
  569. package/dist/cjs/util/util.spec.cjs +0 -81
  570. package/dist/cjs/util/util.spec.native.js +0 -84
  571. package/dist/cjs/util/util.spec.native.js.map +0 -1
  572. package/dist/esm/ExternalIcon/ExternalIcon.spec.mjs +0 -38
  573. package/dist/esm/ExternalIcon/ExternalIcon.spec.mjs.map +0 -1
  574. package/dist/esm/ExternalIcon/ExternalIcon.spec.native.js +0 -38
  575. package/dist/esm/ExternalIcon/ExternalIcon.spec.native.js.map +0 -1
  576. package/dist/esm/Hr/hr.spec.mjs +0 -22
  577. package/dist/esm/Hr/hr.spec.mjs.map +0 -1
  578. package/dist/esm/Hr/hr.spec.native.js +0 -22
  579. package/dist/esm/Hr/hr.spec.native.js.map +0 -1
  580. package/dist/esm/Li/li.spec.mjs +0 -46
  581. package/dist/esm/Li/li.spec.mjs.map +0 -1
  582. package/dist/esm/Li/li.spec.native.js +0 -48
  583. package/dist/esm/Li/li.spec.native.js.map +0 -1
  584. package/dist/esm/Markdown.stories.mjs +0 -125
  585. package/dist/esm/Markdown.stories.mjs.map +0 -1
  586. package/dist/esm/Markdown.stories.native.js +0 -131
  587. package/dist/esm/Markdown.stories.native.js.map +0 -1
  588. package/dist/esm/Mdx/mdx.spec.mjs +0 -140
  589. package/dist/esm/Mdx/mdx.spec.mjs.map +0 -1
  590. package/dist/esm/Mdx/mdx.spec.native.js +0 -156
  591. package/dist/esm/Mdx/mdx.spec.native.js.map +0 -1
  592. package/dist/esm/MdxCodeBlock/mdxCodeBlock.spec.mjs +0 -91
  593. package/dist/esm/MdxCodeBlock/mdxCodeBlock.spec.mjs.map +0 -1
  594. package/dist/esm/MdxCodeBlock/mdxCodeBlock.spec.native.js +0 -96
  595. package/dist/esm/MdxCodeBlock/mdxCodeBlock.spec.native.js.map +0 -1
  596. package/dist/esm/SimpleTable/index.mjs.map +0 -1
  597. package/dist/esm/SimpleTable/index.native.js.map +0 -1
  598. package/dist/esm/Ul/ul.spec.mjs +0 -151
  599. package/dist/esm/Ul/ul.spec.mjs.map +0 -1
  600. package/dist/esm/Ul/ul.spec.native.js +0 -151
  601. package/dist/esm/Ul/ul.spec.native.js.map +0 -1
  602. package/dist/esm/hooks/useCompileAndEvaluateMdx.spec.mjs +0 -35
  603. package/dist/esm/hooks/useCompileAndEvaluateMdx.spec.mjs.map +0 -1
  604. package/dist/esm/hooks/useCompileAndEvaluateMdx.spec.native.js +0 -47
  605. package/dist/esm/hooks/useCompileAndEvaluateMdx.spec.native.js.map +0 -1
  606. package/dist/esm/mdx.spec.mjs +0 -377
  607. package/dist/esm/mdx.spec.mjs.map +0 -1
  608. package/dist/esm/mdx.spec.native.js +0 -439
  609. package/dist/esm/mdx.spec.native.js.map +0 -1
  610. package/dist/esm/parser.spec.mjs +0 -110
  611. package/dist/esm/parser.spec.mjs.map +0 -1
  612. package/dist/esm/parser.spec.native.js +0 -112
  613. package/dist/esm/parser.spec.native.js.map +0 -1
  614. package/dist/esm/shiki/highlighter.mjs +0 -59
  615. package/dist/esm/shiki/highlighter.mjs.map +0 -1
  616. package/dist/esm/shiki/highlighter.native.js +0 -61
  617. package/dist/esm/shiki/highlighter.native.js.map +0 -1
  618. package/dist/esm/util/util.spec.mjs +0 -82
  619. package/dist/esm/util/util.spec.mjs.map +0 -1
  620. package/dist/esm/util/util.spec.native.js +0 -82
  621. package/dist/esm/util/util.spec.native.js.map +0 -1
  622. package/dist/jsx/ExternalIcon/ExternalIcon.spec.mjs +0 -38
  623. package/dist/jsx/ExternalIcon/ExternalIcon.spec.mjs.map +0 -1
  624. package/dist/jsx/ExternalIcon/ExternalIcon.spec.native.js +0 -40
  625. package/dist/jsx/ExternalIcon/ExternalIcon.spec.native.js.map +0 -1
  626. package/dist/jsx/Hr/hr.spec.mjs +0 -22
  627. package/dist/jsx/Hr/hr.spec.mjs.map +0 -1
  628. package/dist/jsx/Hr/hr.spec.native.js +0 -24
  629. package/dist/jsx/Hr/hr.spec.native.js.map +0 -1
  630. package/dist/jsx/Li/li.spec.mjs +0 -46
  631. package/dist/jsx/Li/li.spec.mjs.map +0 -1
  632. package/dist/jsx/Li/li.spec.native.js +0 -50
  633. package/dist/jsx/Li/li.spec.native.js.map +0 -1
  634. package/dist/jsx/Markdown.stories.mjs +0 -125
  635. package/dist/jsx/Markdown.stories.mjs.map +0 -1
  636. package/dist/jsx/Markdown.stories.native.js +0 -162
  637. package/dist/jsx/Markdown.stories.native.js.map +0 -1
  638. package/dist/jsx/Mdx/mdx.spec.mjs +0 -140
  639. package/dist/jsx/Mdx/mdx.spec.mjs.map +0 -1
  640. package/dist/jsx/Mdx/mdx.spec.native.js +0 -158
  641. package/dist/jsx/Mdx/mdx.spec.native.js.map +0 -1
  642. package/dist/jsx/MdxCodeBlock/mdxCodeBlock.spec.mjs +0 -91
  643. package/dist/jsx/MdxCodeBlock/mdxCodeBlock.spec.mjs.map +0 -1
  644. package/dist/jsx/MdxCodeBlock/mdxCodeBlock.spec.native.js +0 -122
  645. package/dist/jsx/MdxCodeBlock/mdxCodeBlock.spec.native.js.map +0 -1
  646. package/dist/jsx/SimpleTable/index.mjs.map +0 -1
  647. package/dist/jsx/SimpleTable/index.native.js.map +0 -1
  648. package/dist/jsx/Ul/ul.spec.mjs +0 -151
  649. package/dist/jsx/Ul/ul.spec.mjs.map +0 -1
  650. package/dist/jsx/Ul/ul.spec.native.js +0 -153
  651. package/dist/jsx/Ul/ul.spec.native.js.map +0 -1
  652. package/dist/jsx/hooks/useCompileAndEvaluateMdx.spec.mjs +0 -35
  653. package/dist/jsx/hooks/useCompileAndEvaluateMdx.spec.mjs.map +0 -1
  654. package/dist/jsx/hooks/useCompileAndEvaluateMdx.spec.native.js +0 -49
  655. package/dist/jsx/hooks/useCompileAndEvaluateMdx.spec.native.js.map +0 -1
  656. package/dist/jsx/mdx.spec.mjs +0 -377
  657. package/dist/jsx/mdx.spec.mjs.map +0 -1
  658. package/dist/jsx/mdx.spec.native.js +0 -465
  659. package/dist/jsx/mdx.spec.native.js.map +0 -1
  660. package/dist/jsx/parser.spec.mjs +0 -110
  661. package/dist/jsx/parser.spec.mjs.map +0 -1
  662. package/dist/jsx/parser.spec.native.js +0 -114
  663. package/dist/jsx/parser.spec.native.js.map +0 -1
  664. package/dist/jsx/shiki/highlighter.mjs +0 -59
  665. package/dist/jsx/shiki/highlighter.mjs.map +0 -1
  666. package/dist/jsx/shiki/highlighter.native.js +0 -94
  667. package/dist/jsx/shiki/highlighter.native.js.map +0 -1
  668. package/dist/jsx/util/util.spec.mjs +0 -82
  669. package/dist/jsx/util/util.spec.mjs.map +0 -1
  670. package/dist/jsx/util/util.spec.native.js +0 -84
  671. package/dist/jsx/util/util.spec.native.js.map +0 -1
  672. package/src/shiki/highlighter.ts +0 -148
@@ -0,0 +1,147 @@
1
+ import type { Meta, StoryObj } from "@storybook/react-native-web-vite";
2
+ import { Button, Paragraph, YStack } from "tamagui";
3
+ import { MDXAside, MDXNote } from "../Aside";
4
+ import { Notice } from "../Notice";
5
+
6
+ const meta: Meta = {
7
+ title: "Markdown/Callouts",
8
+ parameters: {
9
+ status: { type: "beta" },
10
+ docs: {
11
+ description: {
12
+ component:
13
+ "MDX callouts: MDXAside (cutoff + Show more), MDXNote, Notice (semantic themes).",
14
+ },
15
+ },
16
+ },
17
+ };
18
+
19
+ export default meta;
20
+ type Story = StoryObj;
21
+
22
+ export const AsideString: Story = {
23
+ render: () => (
24
+ <YStack maxWidth={700} padding="$4">
25
+ <MDXAside>A short string aside renders without the cutoff frame.</MDXAside>
26
+ </YStack>
27
+ ),
28
+ };
29
+
30
+ export const AsideCutoff: Story = {
31
+ render: () => (
32
+ <YStack maxWidth={700} padding="$4">
33
+ <MDXAside>
34
+ <YStack>
35
+ {Array.from({ length: 20 }, (_, i) => (
36
+ <Paragraph key={i}>
37
+ Aside body line {i + 1}: long enough content to exceed the 300px max height so the
38
+ gradient cutoff and Show more button appear.
39
+ </Paragraph>
40
+ ))}
41
+ </YStack>
42
+ </MDXAside>
43
+ </YStack>
44
+ ),
45
+ };
46
+
47
+ export const AsideEdge: Story = {
48
+ render: () => (
49
+ <YStack maxWidth={700} padding="$4">
50
+ <MDXAside>
51
+ <Paragraph>Short element child (still gets cutoff frame per implementation).</Paragraph>
52
+ </MDXAside>
53
+ <MDXAside>{""}</MDXAside>
54
+ </YStack>
55
+ ),
56
+ };
57
+
58
+ export const NoteStory: Story = {
59
+ name: "MDXNote",
60
+ args: { children: "A knob-driven note body." },
61
+ argTypes: { children: { control: "text" } },
62
+ render: (args: any) => (
63
+ <YStack maxWidth={700} padding="$4">
64
+ <MDXNote>{args.children}</MDXNote>
65
+ <MDXNote>
66
+ <Paragraph>
67
+ Nested content note with a long body. Lorem ipsum dolor sit amet, consectetur adipiscing
68
+ elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
69
+ </Paragraph>
70
+ <Button size="$2" alignSelf="flex-start">
71
+ interactive child
72
+ </Button>
73
+ </MDXNote>
74
+ <MDXNote>{""}</MDXNote>
75
+ <YStack width={220}>
76
+ <MDXNote>Narrow width note that must wrap cleanly.</MDXNote>
77
+ </YStack>
78
+ </YStack>
79
+ ),
80
+ };
81
+
82
+ export const NoticeStory: Story = {
83
+ name: "Notice",
84
+ args: { theme: "yellow", title: "Heads up", children: "A knob-driven notice body." },
85
+ argTypes: {
86
+ theme: { control: "select", options: ["yellow", "blue", "green", "red"] },
87
+ title: { control: "text" },
88
+ children: { control: "text" },
89
+ },
90
+ render: (args: any) => (
91
+ <YStack maxWidth={700} padding="$4">
92
+ <Notice theme={args.theme} title={args.title}>
93
+ {args.children}
94
+ </Notice>
95
+ </YStack>
96
+ ),
97
+ };
98
+
99
+ export const NoticeVariants: Story = {
100
+ render: () => (
101
+ <YStack maxWidth={700} padding="$4">
102
+ <Notice theme="yellow" title="Warning">
103
+ Yellow warning notice.
104
+ </Notice>
105
+ <Notice theme="blue" title="Info">
106
+ Blue info notice.
107
+ </Notice>
108
+ <Notice theme="green" title="Success">
109
+ Green success notice.
110
+ </Notice>
111
+ <Notice theme="red" title="Error">
112
+ Red error notice.
113
+ </Notice>
114
+ </YStack>
115
+ ),
116
+ };
117
+
118
+ export const NoticeEdge: Story = {
119
+ render: () => (
120
+ <YStack maxWidth={700} padding="$4">
121
+ <Notice>{""}</Notice>
122
+ <Notice theme="blue">
123
+ A long notice body without a title. Lorem ipsum dolor sit amet, consectetur adipiscing elit,
124
+ sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
125
+ quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
126
+ </Notice>
127
+ <Notice theme="green" disableUnwrap>
128
+ <YStack gap="$2">
129
+ <Paragraph>Interactive children:</Paragraph>
130
+ <Button size="$2" alignSelf="flex-start">
131
+ press me
132
+ </Button>
133
+ </YStack>
134
+ </Notice>
135
+ <YStack style={{ direction: "rtl" } as any}>
136
+ <Notice theme="red" title="خطأ">
137
+ {"إشعار خطأ بالعربية للتحقق من الاتجاه"}
138
+ </Notice>
139
+ </YStack>
140
+ <Notice theme="yellow" title="Outer">
141
+ <Notice theme="blue" title="Nested">
142
+ nested notice
143
+ </Notice>
144
+ </Notice>
145
+ </YStack>
146
+ ),
147
+ };
@@ -0,0 +1,116 @@
1
+ import type { Meta, StoryObj } from "@storybook/react-native-web-vite";
2
+ import { YStack } from "tamagui";
3
+ import { CodeBlock } from "../components/CodeBlock";
4
+ import { MDXCodeBlock } from "../MdxCodeBlock";
5
+
6
+ const meta: Meta = {
7
+ title: "Markdown/Code",
8
+ parameters: {
9
+ status: { type: "beta" },
10
+ docs: {
11
+ description: {
12
+ component: "Markdown CodeBlock (Shiki token renderer) and MDXCodeBlock (Pre/Code + copy).",
13
+ },
14
+ },
15
+ },
16
+ };
17
+
18
+ export default meta;
19
+ type Story = StoryObj;
20
+
21
+ const tsSample = `interface User {
22
+ id: string;
23
+ name: string;
24
+ }
25
+
26
+ function greet(user: User): string {
27
+ return \`Hello, \${user.name}!\`;
28
+ }`;
29
+
30
+ const longLineSample = `const reallyLongLine = someFunction(argumentOne, argumentTwo, argumentThree, argumentFour, argumentFive, argumentSix, argumentSeven, argumentEight, argumentNine);\nshort();`;
31
+
32
+ export const CodeBlockBaseline: Story = {
33
+ args: { lang: "typescript", theme: "auto" },
34
+ argTypes: {
35
+ lang: { control: "text" },
36
+ theme: { control: "select", options: ["auto", "github-dark", "github-light"] },
37
+ },
38
+ render: (args: any) => (
39
+ <YStack maxWidth={700} padding="$4">
40
+ <CodeBlock lang={args.lang} theme={args.theme}>
41
+ {tsSample}
42
+ </CodeBlock>
43
+ </YStack>
44
+ ),
45
+ };
46
+
47
+ export const CodeBlockEdge: Story = {
48
+ render: () => (
49
+ <YStack maxWidth={700} padding="$4">
50
+ <CodeBlock lang="notareallanguage">{"unknown language fallback"}</CodeBlock>
51
+ <CodeBlock lang="typescript">{""}</CodeBlock>
52
+ <CodeBlock lang="javascript">{longLineSample}</CodeBlock>
53
+ </YStack>
54
+ ),
55
+ };
56
+
57
+ const mdxLines = Array.from({ length: 14 }, (_, i) => `const line${i + 1} = ${i + 1};`).join("\n");
58
+ const mdxLong = Array.from({ length: 30 }, (_, i) => `console.log("line ${i + 1}");`).join("\n");
59
+
60
+ export const MdxCodeBlockBaseline: Story = {
61
+ name: "MDXCodeBlock",
62
+ render: () => (
63
+ <YStack maxWidth={700} padding="$4">
64
+ <MDXCodeBlock className="language-tsx">{tsSample}</MDXCodeBlock>
65
+ </YStack>
66
+ ),
67
+ };
68
+
69
+ export const MdxCodeBlockLineNumbers: Story = {
70
+ render: () => (
71
+ <YStack maxWidth={700} padding="$4">
72
+ <MDXCodeBlock className="language-ts">{mdxLines}</MDXCodeBlock>
73
+ </YStack>
74
+ ),
75
+ };
76
+
77
+ export const MdxCodeBlockCutoff: Story = {
78
+ render: () => (
79
+ <YStack maxWidth={700} padding="$4">
80
+ <MDXCodeBlock className="language-js">{mdxLong}</MDXCodeBlock>
81
+ </YStack>
82
+ ),
83
+ };
84
+
85
+ export const MdxCodeBlockCollapsible: Story = {
86
+ render: () => (
87
+ <YStack maxWidth={700} padding="$4">
88
+ <MDXCodeBlock className="language-ts" isCollapsible>
89
+ {tsSample}
90
+ </MDXCodeBlock>
91
+ </YStack>
92
+ ),
93
+ };
94
+
95
+ export const MdxCodeBlockHighlight: Story = {
96
+ render: () => (
97
+ <YStack maxWidth={700} padding="$4">
98
+ <MDXCodeBlock className="language-ts" isHighlightingLines {...({ line: "2-3" } as any)}>
99
+ {tsSample}
100
+ </MDXCodeBlock>
101
+ </YStack>
102
+ ),
103
+ };
104
+
105
+ export const MdxCodeBlockEdge: Story = {
106
+ render: () => (
107
+ <YStack maxWidth={700} padding="$4">
108
+ <MDXCodeBlock className="language-notareallanguage">{"weird lang"}</MDXCodeBlock>
109
+ <MDXCodeBlock>{""}</MDXCodeBlock>
110
+ <MDXCodeBlock className="language-js" disableCopy>
111
+ {"// copy disabled"}
112
+ </MDXCodeBlock>
113
+ <MDXCodeBlock className="language-js">{longLineSample}</MDXCodeBlock>
114
+ </YStack>
115
+ ),
116
+ };
@@ -0,0 +1,162 @@
1
+ import type { Meta, StoryObj } from "@storybook/react-native-web-vite";
2
+ import { Text, YStack } from "tamagui";
3
+ import { Break } from "../components/Break";
4
+ import { InlineCode } from "../components/InlineCode";
5
+ // Inline runs inherit prose type from the mapped Paragraph (T-VALUE), so the
6
+ // stories host them in the markdown Paragraph, not the raw tamagui primitive.
7
+ import { Paragraph } from "../components/Paragraph";
8
+ import { Strong, Emphasis, Strikethrough } from "../components/InlineStyles";
9
+ import { Link } from "../components/Link";
10
+ import { ExternalIcon } from "../ExternalIcon";
11
+
12
+ const meta: Meta = {
13
+ title: "Markdown/Inline",
14
+ parameters: {
15
+ status: { type: "beta" },
16
+ docs: {
17
+ description: {
18
+ component:
19
+ "Markdown inline renderers: Strong, Emphasis, Strikethrough, InlineCode, Link, ExternalIcon, Break.",
20
+ },
21
+ },
22
+ },
23
+ };
24
+
25
+ export default meta;
26
+ type Story = StoryObj;
27
+
28
+ export const InlineBaseline: Story = {
29
+ render: () => (
30
+ <YStack maxWidth={700} padding="$4" gap="$2">
31
+ <Paragraph>
32
+ Plain text with <Strong>bold</Strong>, <Emphasis>italic</Emphasis>, and{" "}
33
+ <Strikethrough>struck</Strikethrough> inline runs.
34
+ </Paragraph>
35
+ <Paragraph>
36
+ Nested:{" "}
37
+ <Strong>
38
+ bold with <Emphasis>italic inside</Emphasis> and{" "}
39
+ <Strikethrough>strike inside</Strikethrough>
40
+ </Strong>
41
+ .
42
+ </Paragraph>
43
+ <Paragraph>
44
+ Mixed scripts: <Strong>मोटा 太字 عريض</Strong> and <Emphasis>तिरछा 斜体 مائل</Emphasis> and{" "}
45
+ <Strikethrough>हटाया 删除 محذوف</Strikethrough>.
46
+ </Paragraph>
47
+ <Paragraph>
48
+ Empty runs render nothing: [<Strong>{""}</Strong>][<Emphasis>{""}</Emphasis>][
49
+ <Strikethrough>{""}</Strikethrough>]
50
+ </Paragraph>
51
+ </YStack>
52
+ ),
53
+ };
54
+
55
+ export const StrikethroughLinked: Story = {
56
+ render: () => (
57
+ <YStack maxWidth={700} padding="$4">
58
+ <Paragraph>
59
+ A struck link:{" "}
60
+ <Strikethrough>
61
+ <Link href="https://example.com">deprecated docs page</Link>
62
+ </Strikethrough>{" "}
63
+ keeps both decorations.
64
+ </Paragraph>
65
+ </YStack>
66
+ ),
67
+ };
68
+
69
+ export const InlineCodeStory: Story = {
70
+ name: "InlineCode",
71
+ args: { children: "const x = useResolvedKnobs()" },
72
+ argTypes: { children: { control: "text" } },
73
+ render: (args: any) => (
74
+ <YStack maxWidth={700} padding="$4" gap="$2">
75
+ <Paragraph>
76
+ Inline <InlineCode>{args.children}</InlineCode> in a sentence.
77
+ </Paragraph>
78
+ <Paragraph>
79
+ Long code wraps:{" "}
80
+ <InlineCode>
81
+ {
82
+ "veryLongIdentifierName.chained.property.access.that.keeps.going.and.going.until.it.must.wrap(argumentOne, argumentTwo)"
83
+ }
84
+ </InlineCode>{" "}
85
+ without a baseline jump.
86
+ </Paragraph>
87
+ <Paragraph>
88
+ Bidi code: <InlineCode>{"const שלום = 'עולם'"}</InlineCode> and empty:{" "}
89
+ <InlineCode>{""}</InlineCode>.
90
+ </Paragraph>
91
+ </YStack>
92
+ ),
93
+ };
94
+
95
+ export const LinkVariants: Story = {
96
+ args: { href: "https://example.com", children: "external link" },
97
+ argTypes: {
98
+ href: { control: "text" },
99
+ children: { control: "text" },
100
+ },
101
+ render: (args: any) => (
102
+ <YStack maxWidth={700} padding="$4" gap="$2">
103
+ <Paragraph>
104
+ Knob-driven: <Link href={args.href}>{args.children}</Link>
105
+ </Paragraph>
106
+ <Paragraph>
107
+ Internal <Link href="/docs/intro">/docs/intro</Link> · hash{" "}
108
+ <Link href="#section">#section</Link> · mailto{" "}
109
+ <Link href="mailto:test@example.com">mail me</Link> · tel{" "}
110
+ <Link href="tel:+15125551234">call</Link>
111
+ </Paragraph>
112
+ <Paragraph>
113
+ Unsafe URL policy: <Link href="javascript:alert(1)">javascript: link</Link>
114
+ </Paragraph>
115
+ <Paragraph>
116
+ Empty label link: [<Link href="https://example.com">{""}</Link>] and long label:{" "}
117
+ <Link href="https://example.com/very/long/path">
118
+ a very long link label that should wrap across multiple lines while staying underlined and
119
+ keeping its pointer affordance the whole way through the wrap
120
+ </Link>
121
+ </Paragraph>
122
+ </YStack>
123
+ ),
124
+ };
125
+
126
+ export const ExternalIconStory: Story = {
127
+ name: "ExternalIcon",
128
+ render: () => (
129
+ <YStack maxWidth={300} padding="$4" gap="$2">
130
+ <Paragraph>
131
+ Bare icon: <ExternalIcon />
132
+ </Paragraph>
133
+ <Paragraph>
134
+ A wrapped external link label that runs long enough to break onto a second line{" "}
135
+ <Text display="inline-flex" y={2}>
136
+ <ExternalIcon />
137
+ </Text>
138
+ </Paragraph>
139
+ </YStack>
140
+ ),
141
+ };
142
+
143
+ export const BreakStory: Story = {
144
+ name: "Break",
145
+ render: () => (
146
+ <YStack maxWidth={700} padding="$4">
147
+ <Paragraph>
148
+ line one
149
+ <Break />
150
+ line two after a single break
151
+ <Break />
152
+ <Break />
153
+ line three after consecutive breaks
154
+ <Break />
155
+ </Paragraph>
156
+ <Paragraph>
157
+ <Break />
158
+ leading break above this line
159
+ </Paragraph>
160
+ </YStack>
161
+ ),
162
+ };
@@ -0,0 +1,107 @@
1
+ import type { Meta, StoryObj } from "@storybook/react-native-web-vite";
2
+ import { Paragraph, YStack } from "tamagui";
3
+ import { MDX } from "../Mdx";
4
+ import { Notice } from "../Notice";
5
+
6
+ const meta: Meta = {
7
+ title: "Markdown/MDX",
8
+ parameters: {
9
+ status: { type: "beta" },
10
+ docs: {
11
+ description: {
12
+ component:
13
+ "Runtime-compiled MDX renderer (compile + evaluate in the browser, mdxComponents mapping).",
14
+ },
15
+ },
16
+ },
17
+ };
18
+
19
+ export default meta;
20
+ type Story = StoryObj;
21
+
22
+ const mdxDoc = `---
23
+ title: Sample
24
+ ---
25
+
26
+ # MDX Heading 1
27
+
28
+ ## Heading 2
29
+
30
+ ### Heading 3 with anchor
31
+
32
+ Paragraph with **bold**, _italic_, \`inline code\`, an [internal link](/docs) and an
33
+ [external link](https://example.com).
34
+
35
+ - list item one
36
+ - list item two
37
+
38
+ 1. ordered one
39
+ 2. ordered two
40
+
41
+ > A blockquote paragraph.
42
+
43
+ ---
44
+
45
+ \`\`\`tsx
46
+ const x: number = 1;
47
+ export default x;
48
+ \`\`\`
49
+ `;
50
+
51
+ export const Baseline: Story = {
52
+ render: () => (
53
+ <YStack maxWidth={700} padding="$4">
54
+ <MDX>{mdxDoc}</MDX>
55
+ </YStack>
56
+ ),
57
+ };
58
+
59
+ export const CustomComponentAndProps: Story = {
60
+ render: () => (
61
+ <YStack maxWidth={700} padding="$4">
62
+ <MDX
63
+ components={{
64
+ Notice: Notice as any,
65
+ }}
66
+ >
67
+ {`export const level = 40 + 2;
68
+
69
+ <Notice theme="blue" title="From MDX">The answer is {level}.</Notice>
70
+
71
+ Nested components:
72
+
73
+ <Notice theme="yellow" title="Outer"><Notice theme="green" title="Inner">nested</Notice></Notice>
74
+ `}
75
+ </MDX>
76
+ </YStack>
77
+ ),
78
+ };
79
+
80
+ export const EmptySource: Story = {
81
+ render: () => (
82
+ <YStack maxWidth={700} padding="$4" borderWidth={1} borderColor="$color5">
83
+ <Paragraph>Frame around an empty MDX source:</Paragraph>
84
+ <MDX>{""}</MDX>
85
+ </YStack>
86
+ ),
87
+ };
88
+
89
+ export const InvalidSource: Story = {
90
+ render: () => (
91
+ <YStack maxWidth={700} padding="$4">
92
+ <Paragraph>Invalid MDX below (unclosed JSX tag) — should fail predictably:</Paragraph>
93
+ <MDX>{"# Broken\n\n<Unclosed\n"}</MDX>
94
+ <Paragraph>Text after the invalid MDX renderer.</Paragraph>
95
+ </YStack>
96
+ ),
97
+ };
98
+
99
+ export const MissingComponentMapping: Story = {
100
+ render: () => (
101
+ <YStack maxWidth={700} padding="$4">
102
+ <Paragraph>MDX referencing an unmapped component:</Paragraph>
103
+ <MDX>{"<NotMapped>hello</NotMapped>\n"}</MDX>
104
+ <Paragraph>Text after the MDX renderer.</Paragraph>
105
+ </YStack>
106
+ ),
107
+ };
@@ -0,0 +1,148 @@
1
+ import type { Meta, StoryObj } from "@storybook/react-native-web-vite";
2
+ import { Paragraph, YStack } from "tamagui";
3
+ import { MarkdownImage } from "../components/Image";
4
+ import { MDXTabs, MDXTab } from "../Tabs";
5
+ import { Video } from "../Video";
6
+
7
+ const meta: Meta = {
8
+ title: "Markdown/Media",
9
+ parameters: {
10
+ status: { type: "beta" },
11
+ docs: {
12
+ description: {
13
+ component: "Markdown media renderers: MarkdownImage, Video, MDXTabs/MDXTab.",
14
+ },
15
+ },
16
+ },
17
+ };
18
+
19
+ export default meta;
20
+ type Story = StoryObj;
21
+
22
+ // 1x1 blue png data uri — no network dependency
23
+ const bluePixel =
24
+ "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNkYPhfDwAChwGA60e6kgAAAABJRU5ErkJggg==";
25
+
26
+ export const ImageStory: Story = {
27
+ name: "MarkdownImage",
28
+ args: { src: bluePixel, alt: "blue pixel" },
29
+ argTypes: {
30
+ src: { control: "text" },
31
+ alt: { control: "text" },
32
+ },
33
+ render: (args: any) => (
34
+ <YStack maxWidth={700} padding="$4">
35
+ <MarkdownImage src={args.src} alt={args.alt} />
36
+ </YStack>
37
+ ),
38
+ };
39
+
40
+ export const ImageEdge: Story = {
41
+ render: () => (
42
+ <YStack maxWidth={700} padding="$4">
43
+ <Paragraph>Broken src:</Paragraph>
44
+ <MarkdownImage src="https://invalid.invalid/broken.png" alt="broken image" />
45
+ <Paragraph>Missing src:</Paragraph>
46
+ <MarkdownImage src="" alt="" title="title only" />
47
+ </YStack>
48
+ ),
49
+ };
50
+
51
+ export const VideoStory: Story = {
52
+ name: "Video",
53
+ args: {
54
+ src: "",
55
+ muted: true,
56
+ autoPlay: false,
57
+ controls: true,
58
+ loop: false,
59
+ },
60
+ argTypes: {
61
+ src: { control: "text" },
62
+ muted: { control: "boolean" },
63
+ autoPlay: { control: "boolean" },
64
+ controls: { control: "boolean" },
65
+ loop: { control: "boolean" },
66
+ },
67
+ render: (args: any) => (
68
+ <YStack maxWidth={700} padding="$4">
69
+ <Video
70
+ src={args.src}
71
+ muted={args.muted}
72
+ autoPlay={args.autoPlay}
73
+ controls={args.controls}
74
+ loop={args.loop}
75
+ >
76
+ A caption for the video figure.
77
+ </Video>
78
+ </YStack>
79
+ ),
80
+ };
81
+
82
+ export const VideoEdge: Story = {
83
+ render: () => (
84
+ <YStack maxWidth={700} padding="$4">
85
+ <Paragraph>Invalid source, no caption:</Paragraph>
86
+ <Video src="https://invalid.invalid/broken.mp4" />
87
+ <Paragraph>Empty source with caption:</Paragraph>
88
+ <Video src="">caption under an empty-source video</Video>
89
+ </YStack>
90
+ ),
91
+ };
92
+
93
+ export const TabsStory: Story = {
94
+ name: "MDXTabs",
95
+ render: () => (
96
+ <YStack maxWidth={700} padding="$4">
97
+ <MDXTabs items={["npm", "pnpm", "yarn"]} defaultValue="pnpm">
98
+ <MDXTab>
99
+ <Paragraph>npm install package</Paragraph>
100
+ </MDXTab>
101
+ <MDXTab>
102
+ <Paragraph>pnpm add package</Paragraph>
103
+ </MDXTab>
104
+ <MDXTab>
105
+ <Paragraph>yarn add package</Paragraph>
106
+ </MDXTab>
107
+ </MDXTabs>
108
+ </YStack>
109
+ ),
110
+ };
111
+
112
+ export const TabsEdge: Story = {
113
+ render: () => (
114
+ <YStack maxWidth={700} padding="$4">
115
+ <Paragraph>Single tab:</Paragraph>
116
+ <MDXTabs items={["only"]}>
117
+ {[
118
+ <MDXTab key="only">
119
+ <Paragraph>single panel</Paragraph>
120
+ </MDXTab>,
121
+ ]}
122
+ </MDXTabs>
123
+ <Paragraph>More tabs than panels (missing matching panel):</Paragraph>
124
+ <MDXTabs items={["one", "two", "three"]}>
125
+ {[
126
+ <MDXTab key="one">
127
+ <Paragraph>panel one only</Paragraph>
128
+ </MDXTab>,
129
+ ]}
130
+ </MDXTabs>
131
+ <Paragraph>Long + duplicate labels:</Paragraph>
132
+ <MDXTabs
133
+ items={["a very long tab label that should overflow the tab list at narrow widths", "dup"]}
134
+ >
135
+ {[
136
+ <MDXTab key="long">
137
+ <Paragraph>long label panel</Paragraph>
138
+ </MDXTab>,
139
+ <MDXTab key="dup">
140
+ <Paragraph>dup panel</Paragraph>
141
+ </MDXTab>,
142
+ ]}
143
+ </MDXTabs>
144
+ <Paragraph>Empty items:</Paragraph>
145
+ <MDXTabs items={[]}>{[]}</MDXTabs>
146
+ </YStack>
147
+ ),
148
+ };