@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.
- package/LICENSE +201 -0
- package/dist/cjs/Aside/index.cjs +112 -0
- package/dist/cjs/Aside/index.native.js +119 -0
- package/dist/cjs/Aside/index.native.js.map +1 -0
- package/dist/cjs/ExternalIcon/ExternalIcon.spec.cjs +37 -0
- package/dist/cjs/ExternalIcon/ExternalIcon.spec.native.js +40 -0
- package/dist/cjs/ExternalIcon/ExternalIcon.spec.native.js.map +1 -0
- package/dist/cjs/ExternalIcon/index.cjs +46 -0
- package/dist/cjs/ExternalIcon/index.native.js +51 -0
- package/dist/cjs/ExternalIcon/index.native.js.map +1 -0
- package/dist/cjs/Hr/hr.spec.cjs +21 -0
- package/dist/cjs/Hr/hr.spec.native.js +24 -0
- package/dist/cjs/Hr/hr.spec.native.js.map +1 -0
- package/dist/cjs/Hr/index.cjs +41 -0
- package/dist/cjs/Hr/index.native.js +46 -0
- package/dist/cjs/Hr/index.native.js.map +1 -0
- package/dist/cjs/Li/index.cjs +38 -0
- package/dist/cjs/Li/index.native.js +41 -0
- package/dist/cjs/Li/index.native.js.map +1 -0
- package/dist/cjs/Li/li.spec.cjs +45 -0
- package/dist/cjs/Li/li.spec.native.js +50 -0
- package/dist/cjs/Li/li.spec.native.js.map +1 -0
- package/dist/cjs/Markdown.cjs +66 -0
- package/dist/cjs/Markdown.native.js +71 -0
- package/dist/cjs/Markdown.native.js.map +1 -0
- package/dist/cjs/Markdown.stories.cjs +153 -0
- package/dist/cjs/Markdown.stories.native.js +162 -0
- package/dist/cjs/Markdown.stories.native.js.map +1 -0
- package/dist/cjs/Mdx/index.cjs +58 -0
- package/dist/cjs/Mdx/index.native.js +62 -0
- package/dist/cjs/Mdx/index.native.js.map +1 -0
- package/dist/cjs/Mdx/mdx.spec.cjs +139 -0
- package/dist/cjs/Mdx/mdx.spec.native.js +158 -0
- package/dist/cjs/Mdx/mdx.spec.native.js.map +1 -0
- package/dist/cjs/MdxCodeBlock/index.cjs +185 -0
- package/dist/cjs/MdxCodeBlock/index.native.js +205 -0
- package/dist/cjs/MdxCodeBlock/index.native.js.map +1 -0
- package/dist/cjs/MdxCodeBlock/mdxCodeBlock.spec.cjs +90 -0
- package/dist/cjs/MdxCodeBlock/mdxCodeBlock.spec.native.js +122 -0
- package/dist/cjs/MdxCodeBlock/mdxCodeBlock.spec.native.js.map +1 -0
- package/dist/cjs/MdxCodeBlock/mdxCodeBlockContext.cjs +29 -0
- package/dist/cjs/MdxCodeBlock/mdxCodeBlockContext.native.js +32 -0
- package/dist/cjs/MdxCodeBlock/mdxCodeBlockContext.native.js.map +1 -0
- package/dist/cjs/Notice/index.cjs +94 -0
- package/dist/cjs/Notice/index.native.js +98 -0
- package/dist/cjs/Notice/index.native.js.map +1 -0
- package/dist/cjs/SimpleTable/index.cjs +132 -0
- package/dist/cjs/SimpleTable/index.native.js +162 -0
- package/dist/cjs/SimpleTable/index.native.js.map +1 -0
- package/dist/cjs/Table/index.cjs +121 -0
- package/dist/cjs/Table/index.native.js +130 -0
- package/dist/cjs/Table/index.native.js.map +1 -0
- package/dist/cjs/Tabs/index.cjs +93 -0
- package/dist/cjs/Tabs/index.native.js +103 -0
- package/dist/cjs/Tabs/index.native.js.map +1 -0
- package/dist/cjs/Ul/index.cjs +35 -0
- package/dist/cjs/Ul/index.native.js +38 -0
- package/dist/cjs/Ul/index.native.js.map +1 -0
- package/dist/cjs/Ul/ul.spec.cjs +150 -0
- package/dist/cjs/Ul/ul.spec.native.js +153 -0
- package/dist/cjs/Ul/ul.spec.native.js.map +1 -0
- package/dist/cjs/Video/index.cjs +84 -0
- package/dist/cjs/Video/index.native.js +89 -0
- package/dist/cjs/Video/index.native.js.map +1 -0
- package/dist/cjs/components/Blockquote.cjs +47 -0
- package/dist/cjs/components/Blockquote.native.js +51 -0
- package/dist/cjs/components/Blockquote.native.js.map +1 -0
- package/dist/cjs/components/Break.cjs +34 -0
- package/dist/cjs/components/Break.native.js +37 -0
- package/dist/cjs/components/Break.native.js.map +1 -0
- package/dist/cjs/components/CodeBlock.cjs +109 -0
- package/dist/cjs/components/CodeBlock.native.js +119 -0
- package/dist/cjs/components/CodeBlock.native.js.map +1 -0
- package/dist/cjs/components/Heading.cjs +48 -0
- package/dist/cjs/components/Heading.native.js +52 -0
- package/dist/cjs/components/Heading.native.js.map +1 -0
- package/dist/cjs/components/HorizontalRule.cjs +34 -0
- package/dist/cjs/components/HorizontalRule.native.js +37 -0
- package/dist/cjs/components/HorizontalRule.native.js.map +1 -0
- package/dist/cjs/components/Image.cjs +53 -0
- package/dist/cjs/components/Image.native.js +57 -0
- package/dist/cjs/components/Image.native.js.map +1 -0
- package/dist/cjs/components/InlineCode.cjs +48 -0
- package/dist/cjs/components/InlineCode.native.js +52 -0
- package/dist/cjs/components/InlineCode.native.js.map +1 -0
- package/dist/cjs/components/InlineStyles.cjs +55 -0
- package/dist/cjs/components/InlineStyles.native.js +61 -0
- package/dist/cjs/components/InlineStyles.native.js.map +1 -0
- package/dist/cjs/components/Link.cjs +54 -0
- package/dist/cjs/components/Link.native.js +58 -0
- package/dist/cjs/components/Link.native.js.map +1 -0
- package/dist/cjs/components/List.cjs +74 -0
- package/dist/cjs/components/List.native.js +79 -0
- package/dist/cjs/components/List.native.js.map +1 -0
- package/dist/cjs/components/Paragraph.cjs +38 -0
- package/dist/cjs/components/Paragraph.native.js +42 -0
- package/dist/cjs/components/Paragraph.native.js.map +1 -0
- package/dist/cjs/components/Table.cjs +86 -0
- package/dist/cjs/components/Table.native.js +92 -0
- package/dist/cjs/components/Table.native.js.map +1 -0
- package/dist/cjs/components/index.cjs +55 -0
- package/dist/cjs/components/index.native.js +58 -0
- package/dist/cjs/components/index.native.js.map +1 -0
- package/dist/cjs/hooks/index.cjs +22 -0
- package/dist/cjs/hooks/index.native.js +25 -0
- package/dist/cjs/hooks/index.native.js.map +1 -0
- package/dist/cjs/hooks/useCompileAndEvaluateMdx.cjs +42 -0
- package/dist/cjs/hooks/useCompileAndEvaluateMdx.native.js +45 -0
- package/dist/cjs/hooks/useCompileAndEvaluateMdx.native.js.map +1 -0
- package/dist/cjs/hooks/useCompileAndEvaluateMdx.spec.cjs +34 -0
- package/dist/cjs/hooks/useCompileAndEvaluateMdx.spec.native.js +49 -0
- package/dist/cjs/hooks/useCompileAndEvaluateMdx.spec.native.js.map +1 -0
- package/dist/cjs/hooks/useCompileMdx.cjs +80 -0
- package/dist/cjs/hooks/useCompileMdx.native.js +83 -0
- package/dist/cjs/hooks/useCompileMdx.native.js.map +1 -0
- package/dist/cjs/hooks/useEvaluateMdx.cjs +58 -0
- package/dist/cjs/hooks/useEvaluateMdx.native.js +63 -0
- package/dist/cjs/hooks/useEvaluateMdx.native.js.map +1 -0
- package/dist/cjs/icons/index.cjs +205 -0
- package/dist/cjs/icons/index.native.js +226 -0
- package/dist/cjs/icons/index.native.js.map +1 -0
- package/dist/cjs/index.cjs +51 -0
- package/dist/cjs/index.native.js +54 -0
- package/dist/cjs/index.native.js.map +1 -0
- package/dist/cjs/mdx.spec.cjs +400 -0
- package/dist/cjs/mdx.spec.native.js +465 -0
- package/dist/cjs/mdx.spec.native.js.map +1 -0
- package/dist/cjs/mdxComponents.cjs +317 -0
- package/dist/cjs/mdxComponents.native.js +376 -0
- package/dist/cjs/mdxComponents.native.js.map +1 -0
- package/dist/cjs/parser.cjs +49 -0
- package/dist/cjs/parser.native.js +52 -0
- package/dist/cjs/parser.native.js.map +1 -0
- package/dist/cjs/parser.spec.cjs +109 -0
- package/dist/cjs/parser.spec.native.js +114 -0
- package/dist/cjs/parser.spec.native.js.map +1 -0
- package/dist/cjs/renderer.cjs +326 -0
- package/dist/cjs/renderer.native.js +348 -0
- package/dist/cjs/renderer.native.js.map +1 -0
- package/dist/cjs/shared/colorRamps.cjs +74 -0
- package/dist/cjs/shared/colorRamps.native.js +77 -0
- package/dist/cjs/shared/colorRamps.native.js.map +1 -0
- package/dist/cjs/shared/index.cjs +20 -0
- package/dist/cjs/shared/index.native.js +23 -0
- package/dist/cjs/shared/index.native.js.map +1 -0
- package/dist/cjs/shiki/highlighter.cjs +89 -0
- package/dist/cjs/shiki/highlighter.native.js +94 -0
- package/dist/cjs/shiki/highlighter.native.js.map +1 -0
- package/dist/cjs/shiki/index.cjs +33 -0
- package/dist/cjs/shiki/index.native.js +36 -0
- package/dist/cjs/shiki/index.native.js.map +1 -0
- package/dist/cjs/types.cjs +18 -0
- package/dist/cjs/types.native.js +21 -0
- package/dist/cjs/types.native.js.map +1 -0
- package/dist/cjs/util/rehypeMetaAttributes.cjs +45 -0
- package/dist/cjs/util/rehypeMetaAttributes.native.js +49 -0
- package/dist/cjs/util/rehypeMetaAttributes.native.js.map +1 -0
- package/dist/cjs/util/util.spec.cjs +81 -0
- package/dist/cjs/util/util.spec.native.js +84 -0
- package/dist/cjs/util/util.spec.native.js.map +1 -0
- package/dist/esm/Aside/index.mjs +86 -0
- package/dist/esm/Aside/index.mjs.map +1 -0
- package/dist/esm/Aside/index.native.js +90 -0
- package/dist/esm/Aside/index.native.js.map +1 -0
- package/dist/esm/ExternalIcon/ExternalIcon.spec.mjs +38 -0
- package/dist/esm/ExternalIcon/ExternalIcon.spec.mjs.map +1 -0
- package/dist/esm/ExternalIcon/ExternalIcon.spec.native.js +38 -0
- package/dist/esm/ExternalIcon/ExternalIcon.spec.native.js.map +1 -0
- package/dist/esm/ExternalIcon/index.mjs +21 -0
- package/dist/esm/ExternalIcon/index.mjs.map +1 -0
- package/dist/esm/ExternalIcon/index.native.js +23 -0
- package/dist/esm/ExternalIcon/index.native.js.map +1 -0
- package/dist/esm/Hr/hr.spec.mjs +22 -0
- package/dist/esm/Hr/hr.spec.mjs.map +1 -0
- package/dist/esm/Hr/hr.spec.native.js +22 -0
- package/dist/esm/Hr/hr.spec.native.js.map +1 -0
- package/dist/esm/Hr/index.mjs +16 -0
- package/dist/esm/Hr/index.mjs.map +1 -0
- package/dist/esm/Hr/index.native.js +18 -0
- package/dist/esm/Hr/index.native.js.map +1 -0
- package/dist/esm/Li/index.mjs +13 -0
- package/dist/esm/Li/index.mjs.map +1 -0
- package/dist/esm/Li/index.native.js +13 -0
- package/dist/esm/Li/index.native.js.map +1 -0
- package/dist/esm/Li/li.spec.mjs +46 -0
- package/dist/esm/Li/li.spec.mjs.map +1 -0
- package/dist/esm/Li/li.spec.native.js +48 -0
- package/dist/esm/Li/li.spec.native.js.map +1 -0
- package/dist/esm/Markdown.mjs +41 -0
- package/dist/esm/Markdown.mjs.map +1 -0
- package/dist/esm/Markdown.native.js +43 -0
- package/dist/esm/Markdown.native.js.map +1 -0
- package/dist/esm/Markdown.stories.mjs +125 -0
- package/dist/esm/Markdown.stories.mjs.map +1 -0
- package/dist/esm/Markdown.stories.native.js +131 -0
- package/dist/esm/Markdown.stories.native.js.map +1 -0
- package/dist/esm/Mdx/index.mjs +33 -0
- package/dist/esm/Mdx/index.mjs.map +1 -0
- package/dist/esm/Mdx/index.native.js +34 -0
- package/dist/esm/Mdx/index.native.js.map +1 -0
- package/dist/esm/Mdx/mdx.spec.mjs +140 -0
- package/dist/esm/Mdx/mdx.spec.mjs.map +1 -0
- package/dist/esm/Mdx/mdx.spec.native.js +156 -0
- package/dist/esm/Mdx/mdx.spec.native.js.map +1 -0
- package/dist/esm/MdxCodeBlock/index.mjs +149 -0
- package/dist/esm/MdxCodeBlock/index.mjs.map +1 -0
- package/dist/esm/MdxCodeBlock/index.native.js +166 -0
- package/dist/esm/MdxCodeBlock/index.native.js.map +1 -0
- package/dist/esm/MdxCodeBlock/mdxCodeBlock.spec.mjs +91 -0
- package/dist/esm/MdxCodeBlock/mdxCodeBlock.spec.mjs.map +1 -0
- package/dist/esm/MdxCodeBlock/mdxCodeBlock.spec.native.js +96 -0
- package/dist/esm/MdxCodeBlock/mdxCodeBlock.spec.native.js.map +1 -0
- package/dist/esm/MdxCodeBlock/mdxCodeBlockContext.mjs +4 -0
- package/dist/esm/MdxCodeBlock/mdxCodeBlockContext.mjs.map +1 -0
- package/dist/esm/MdxCodeBlock/mdxCodeBlockContext.native.js +4 -0
- package/dist/esm/MdxCodeBlock/mdxCodeBlockContext.native.js.map +1 -0
- package/dist/esm/Notice/index.mjs +68 -0
- package/dist/esm/Notice/index.mjs.map +1 -0
- package/dist/esm/Notice/index.native.js +69 -0
- package/dist/esm/Notice/index.native.js.map +1 -0
- package/dist/esm/SimpleTable/index.mjs +107 -0
- package/dist/esm/SimpleTable/index.mjs.map +1 -0
- package/dist/esm/SimpleTable/index.native.js +134 -0
- package/dist/esm/SimpleTable/index.native.js.map +1 -0
- package/dist/esm/Table/index.mjs +91 -0
- package/dist/esm/Table/index.mjs.map +1 -0
- package/dist/esm/Table/index.native.js +97 -0
- package/dist/esm/Table/index.native.js.map +1 -0
- package/dist/esm/Tabs/index.mjs +67 -0
- package/dist/esm/Tabs/index.mjs.map +1 -0
- package/dist/esm/Tabs/index.native.js +74 -0
- package/dist/esm/Tabs/index.native.js.map +1 -0
- package/dist/esm/Ul/index.mjs +10 -0
- package/dist/esm/Ul/index.mjs.map +1 -0
- package/dist/esm/Ul/index.native.js +10 -0
- package/dist/esm/Ul/index.native.js.map +1 -0
- package/dist/esm/Ul/ul.spec.mjs +151 -0
- package/dist/esm/Ul/ul.spec.mjs.map +1 -0
- package/dist/esm/Ul/ul.spec.native.js +151 -0
- package/dist/esm/Ul/ul.spec.native.js.map +1 -0
- package/dist/esm/Video/index.mjs +59 -0
- package/dist/esm/Video/index.mjs.map +1 -0
- package/dist/esm/Video/index.native.js +61 -0
- package/dist/esm/Video/index.native.js.map +1 -0
- package/dist/esm/components/Blockquote.mjs +22 -0
- package/dist/esm/components/Blockquote.mjs.map +1 -0
- package/dist/esm/components/Blockquote.native.js +23 -0
- package/dist/esm/components/Blockquote.native.js.map +1 -0
- package/dist/esm/components/Break.mjs +9 -0
- package/dist/esm/components/Break.mjs.map +1 -0
- package/dist/esm/components/Break.native.js +9 -0
- package/dist/esm/components/Break.native.js.map +1 -0
- package/dist/esm/components/CodeBlock.mjs +84 -0
- package/dist/esm/components/CodeBlock.mjs.map +1 -0
- package/dist/esm/components/CodeBlock.native.js +91 -0
- package/dist/esm/components/CodeBlock.native.js.map +1 -0
- package/dist/esm/components/Heading.mjs +23 -0
- package/dist/esm/components/Heading.mjs.map +1 -0
- package/dist/esm/components/Heading.native.js +24 -0
- package/dist/esm/components/Heading.native.js.map +1 -0
- package/dist/esm/components/HorizontalRule.mjs +9 -0
- package/dist/esm/components/HorizontalRule.mjs.map +1 -0
- package/dist/esm/components/HorizontalRule.native.js +9 -0
- package/dist/esm/components/HorizontalRule.native.js.map +1 -0
- package/dist/esm/components/Image.mjs +28 -0
- package/dist/esm/components/Image.mjs.map +1 -0
- package/dist/esm/components/Image.native.js +29 -0
- package/dist/esm/components/Image.native.js.map +1 -0
- package/dist/esm/components/InlineCode.mjs +23 -0
- package/dist/esm/components/InlineCode.mjs.map +1 -0
- package/dist/esm/components/InlineCode.native.js +24 -0
- package/dist/esm/components/InlineCode.native.js.map +1 -0
- package/dist/esm/components/InlineStyles.mjs +28 -0
- package/dist/esm/components/InlineStyles.mjs.map +1 -0
- package/dist/esm/components/InlineStyles.native.js +31 -0
- package/dist/esm/components/InlineStyles.native.js.map +1 -0
- package/dist/esm/components/Link.mjs +29 -0
- package/dist/esm/components/Link.mjs.map +1 -0
- package/dist/esm/components/Link.native.js +30 -0
- package/dist/esm/components/Link.native.js.map +1 -0
- package/dist/esm/components/List.mjs +48 -0
- package/dist/esm/components/List.mjs.map +1 -0
- package/dist/esm/components/List.native.js +50 -0
- package/dist/esm/components/List.native.js.map +1 -0
- package/dist/esm/components/Paragraph.mjs +13 -0
- package/dist/esm/components/Paragraph.mjs.map +1 -0
- package/dist/esm/components/Paragraph.native.js +14 -0
- package/dist/esm/components/Paragraph.native.js.map +1 -0
- package/dist/esm/components/Table.mjs +59 -0
- package/dist/esm/components/Table.mjs.map +1 -0
- package/dist/esm/components/Table.native.js +62 -0
- package/dist/esm/components/Table.native.js.map +1 -0
- package/dist/esm/components/index.mjs +14 -0
- package/dist/esm/components/index.mjs.map +1 -0
- package/dist/esm/components/index.native.js +14 -0
- package/dist/esm/components/index.native.js.map +1 -0
- package/dist/esm/hooks/index.mjs +4 -0
- package/dist/esm/hooks/index.mjs.map +1 -0
- package/dist/esm/hooks/index.native.js +4 -0
- package/dist/esm/hooks/index.native.js.map +1 -0
- package/dist/esm/hooks/useCompileAndEvaluateMdx.mjs +17 -0
- package/dist/esm/hooks/useCompileAndEvaluateMdx.mjs.map +1 -0
- package/dist/esm/hooks/useCompileAndEvaluateMdx.native.js +17 -0
- package/dist/esm/hooks/useCompileAndEvaluateMdx.native.js.map +1 -0
- package/dist/esm/hooks/useCompileAndEvaluateMdx.spec.mjs +35 -0
- package/dist/esm/hooks/useCompileAndEvaluateMdx.spec.mjs.map +1 -0
- package/dist/esm/hooks/useCompileAndEvaluateMdx.spec.native.js +47 -0
- package/dist/esm/hooks/useCompileAndEvaluateMdx.spec.native.js.map +1 -0
- package/dist/esm/hooks/useCompileMdx.mjs +44 -0
- package/dist/esm/hooks/useCompileMdx.mjs.map +1 -0
- package/dist/esm/hooks/useCompileMdx.native.js +44 -0
- package/dist/esm/hooks/useCompileMdx.native.js.map +1 -0
- package/dist/esm/hooks/useEvaluateMdx.mjs +22 -0
- package/dist/esm/hooks/useEvaluateMdx.mjs.map +1 -0
- package/dist/esm/hooks/useEvaluateMdx.native.js +24 -0
- package/dist/esm/hooks/useEvaluateMdx.native.js.map +1 -0
- package/dist/esm/icons/index.mjs +175 -0
- package/dist/esm/icons/index.mjs.map +1 -0
- package/dist/esm/icons/index.native.js +193 -0
- package/dist/esm/icons/index.native.js.map +1 -0
- package/dist/esm/index.mjs +21 -0
- package/dist/esm/index.mjs.map +1 -0
- package/dist/esm/index.native.js +21 -0
- package/dist/esm/index.native.js.map +1 -0
- package/dist/esm/mdx.spec.mjs +377 -0
- package/dist/esm/mdx.spec.mjs.map +1 -0
- package/dist/esm/mdx.spec.native.js +439 -0
- package/dist/esm/mdx.spec.native.js.map +1 -0
- package/dist/esm/mdxComponents.mjs +291 -0
- package/dist/esm/mdxComponents.mjs.map +1 -0
- package/dist/esm/mdxComponents.native.js +347 -0
- package/dist/esm/mdxComponents.native.js.map +1 -0
- package/dist/esm/parser.mjs +12 -0
- package/dist/esm/parser.mjs.map +1 -0
- package/dist/esm/parser.native.js +12 -0
- package/dist/esm/parser.native.js.map +1 -0
- package/dist/esm/parser.spec.mjs +110 -0
- package/dist/esm/parser.spec.mjs.map +1 -0
- package/dist/esm/parser.spec.native.js +112 -0
- package/dist/esm/parser.spec.native.js.map +1 -0
- package/dist/esm/renderer.mjs +300 -0
- package/dist/esm/renderer.mjs.map +1 -0
- package/dist/esm/renderer.native.js +319 -0
- package/dist/esm/renderer.native.js.map +1 -0
- package/dist/esm/shared/colorRamps.mjs +45 -0
- package/dist/esm/shared/colorRamps.mjs.map +1 -0
- package/dist/esm/shared/colorRamps.native.js +45 -0
- package/dist/esm/shared/colorRamps.native.js.map +1 -0
- package/dist/esm/shared/index.mjs +2 -0
- package/dist/esm/shared/index.mjs.map +1 -0
- package/dist/esm/shared/index.native.js +2 -0
- package/dist/esm/shared/index.native.js.map +1 -0
- package/dist/esm/shiki/highlighter.mjs +59 -0
- package/dist/esm/shiki/highlighter.mjs.map +1 -0
- package/dist/esm/shiki/highlighter.native.js +61 -0
- package/dist/esm/shiki/highlighter.native.js.map +1 -0
- package/dist/esm/shiki/index.mjs +3 -0
- package/dist/esm/shiki/index.mjs.map +1 -0
- package/dist/esm/shiki/index.native.js +3 -0
- package/dist/esm/shiki/index.native.js.map +1 -0
- package/dist/esm/types.mjs +2 -0
- package/dist/esm/types.mjs.map +1 -0
- package/dist/esm/types.native.js +2 -0
- package/dist/esm/types.native.js.map +1 -0
- package/dist/esm/util/rehypeMetaAttributes.mjs +20 -0
- package/dist/esm/util/rehypeMetaAttributes.mjs.map +1 -0
- package/dist/esm/util/rehypeMetaAttributes.native.js +21 -0
- package/dist/esm/util/rehypeMetaAttributes.native.js.map +1 -0
- package/dist/esm/util/util.spec.mjs +82 -0
- package/dist/esm/util/util.spec.mjs.map +1 -0
- package/dist/esm/util/util.spec.native.js +82 -0
- package/dist/esm/util/util.spec.native.js.map +1 -0
- package/dist/jsx/Aside/index.mjs +86 -0
- package/dist/jsx/Aside/index.mjs.map +1 -0
- package/dist/jsx/Aside/index.native.js +119 -0
- package/dist/jsx/Aside/index.native.js.map +1 -0
- package/dist/jsx/ExternalIcon/ExternalIcon.spec.mjs +38 -0
- package/dist/jsx/ExternalIcon/ExternalIcon.spec.mjs.map +1 -0
- package/dist/jsx/ExternalIcon/ExternalIcon.spec.native.js +40 -0
- package/dist/jsx/ExternalIcon/ExternalIcon.spec.native.js.map +1 -0
- package/dist/jsx/ExternalIcon/index.mjs +21 -0
- package/dist/jsx/ExternalIcon/index.mjs.map +1 -0
- package/dist/jsx/ExternalIcon/index.native.js +51 -0
- package/dist/jsx/ExternalIcon/index.native.js.map +1 -0
- package/dist/jsx/Hr/hr.spec.mjs +22 -0
- package/dist/jsx/Hr/hr.spec.mjs.map +1 -0
- package/dist/jsx/Hr/hr.spec.native.js +24 -0
- package/dist/jsx/Hr/hr.spec.native.js.map +1 -0
- package/dist/jsx/Hr/index.mjs +16 -0
- package/dist/jsx/Hr/index.mjs.map +1 -0
- package/dist/jsx/Hr/index.native.js +46 -0
- package/dist/jsx/Hr/index.native.js.map +1 -0
- package/dist/jsx/Li/index.mjs +13 -0
- package/dist/jsx/Li/index.mjs.map +1 -0
- package/dist/jsx/Li/index.native.js +41 -0
- package/dist/jsx/Li/index.native.js.map +1 -0
- package/dist/jsx/Li/li.spec.mjs +46 -0
- package/dist/jsx/Li/li.spec.mjs.map +1 -0
- package/dist/jsx/Li/li.spec.native.js +50 -0
- package/dist/jsx/Li/li.spec.native.js.map +1 -0
- package/dist/jsx/Markdown.mjs +41 -0
- package/dist/jsx/Markdown.mjs.map +1 -0
- package/dist/jsx/Markdown.native.js +71 -0
- package/dist/jsx/Markdown.native.js.map +1 -0
- package/dist/jsx/Markdown.stories.mjs +125 -0
- package/dist/jsx/Markdown.stories.mjs.map +1 -0
- package/dist/jsx/Markdown.stories.native.js +162 -0
- package/dist/jsx/Markdown.stories.native.js.map +1 -0
- package/dist/jsx/Mdx/index.mjs +33 -0
- package/dist/jsx/Mdx/index.mjs.map +1 -0
- package/dist/jsx/Mdx/index.native.js +62 -0
- package/dist/jsx/Mdx/index.native.js.map +1 -0
- package/dist/jsx/Mdx/mdx.spec.mjs +140 -0
- package/dist/jsx/Mdx/mdx.spec.mjs.map +1 -0
- package/dist/jsx/Mdx/mdx.spec.native.js +158 -0
- package/dist/jsx/Mdx/mdx.spec.native.js.map +1 -0
- package/dist/jsx/MdxCodeBlock/index.mjs +149 -0
- package/dist/jsx/MdxCodeBlock/index.mjs.map +1 -0
- package/dist/jsx/MdxCodeBlock/index.native.js +205 -0
- package/dist/jsx/MdxCodeBlock/index.native.js.map +1 -0
- package/dist/jsx/MdxCodeBlock/mdxCodeBlock.spec.mjs +91 -0
- package/dist/jsx/MdxCodeBlock/mdxCodeBlock.spec.mjs.map +1 -0
- package/dist/jsx/MdxCodeBlock/mdxCodeBlock.spec.native.js +122 -0
- package/dist/jsx/MdxCodeBlock/mdxCodeBlock.spec.native.js.map +1 -0
- package/dist/jsx/MdxCodeBlock/mdxCodeBlockContext.mjs +4 -0
- package/dist/jsx/MdxCodeBlock/mdxCodeBlockContext.mjs.map +1 -0
- package/dist/jsx/MdxCodeBlock/mdxCodeBlockContext.native.js +32 -0
- package/dist/jsx/MdxCodeBlock/mdxCodeBlockContext.native.js.map +1 -0
- package/dist/jsx/Notice/index.mjs +68 -0
- package/dist/jsx/Notice/index.mjs.map +1 -0
- package/dist/jsx/Notice/index.native.js +98 -0
- package/dist/jsx/Notice/index.native.js.map +1 -0
- package/dist/jsx/SimpleTable/index.mjs +107 -0
- package/dist/jsx/SimpleTable/index.mjs.map +1 -0
- package/dist/jsx/SimpleTable/index.native.js +162 -0
- package/dist/jsx/SimpleTable/index.native.js.map +1 -0
- package/dist/jsx/Table/index.mjs +91 -0
- package/dist/jsx/Table/index.mjs.map +1 -0
- package/dist/jsx/Table/index.native.js +130 -0
- package/dist/jsx/Table/index.native.js.map +1 -0
- package/dist/jsx/Tabs/index.mjs +67 -0
- package/dist/jsx/Tabs/index.mjs.map +1 -0
- package/dist/jsx/Tabs/index.native.js +103 -0
- package/dist/jsx/Tabs/index.native.js.map +1 -0
- package/dist/jsx/Ul/index.mjs +10 -0
- package/dist/jsx/Ul/index.mjs.map +1 -0
- package/dist/jsx/Ul/index.native.js +38 -0
- package/dist/jsx/Ul/index.native.js.map +1 -0
- package/dist/jsx/Ul/ul.spec.mjs +151 -0
- package/dist/jsx/Ul/ul.spec.mjs.map +1 -0
- package/dist/jsx/Ul/ul.spec.native.js +153 -0
- package/dist/jsx/Ul/ul.spec.native.js.map +1 -0
- package/dist/jsx/Video/index.mjs +59 -0
- package/dist/jsx/Video/index.mjs.map +1 -0
- package/dist/jsx/Video/index.native.js +89 -0
- package/dist/jsx/Video/index.native.js.map +1 -0
- package/dist/jsx/components/Blockquote.mjs +22 -0
- package/dist/jsx/components/Blockquote.mjs.map +1 -0
- package/dist/jsx/components/Blockquote.native.js +51 -0
- package/dist/jsx/components/Blockquote.native.js.map +1 -0
- package/dist/jsx/components/Break.mjs +9 -0
- package/dist/jsx/components/Break.mjs.map +1 -0
- package/dist/jsx/components/Break.native.js +37 -0
- package/dist/jsx/components/Break.native.js.map +1 -0
- package/dist/jsx/components/CodeBlock.mjs +84 -0
- package/dist/jsx/components/CodeBlock.mjs.map +1 -0
- package/dist/jsx/components/CodeBlock.native.js +119 -0
- package/dist/jsx/components/CodeBlock.native.js.map +1 -0
- package/dist/jsx/components/Heading.mjs +23 -0
- package/dist/jsx/components/Heading.mjs.map +1 -0
- package/dist/jsx/components/Heading.native.js +52 -0
- package/dist/jsx/components/Heading.native.js.map +1 -0
- package/dist/jsx/components/HorizontalRule.mjs +9 -0
- package/dist/jsx/components/HorizontalRule.mjs.map +1 -0
- package/dist/jsx/components/HorizontalRule.native.js +37 -0
- package/dist/jsx/components/HorizontalRule.native.js.map +1 -0
- package/dist/jsx/components/Image.mjs +28 -0
- package/dist/jsx/components/Image.mjs.map +1 -0
- package/dist/jsx/components/Image.native.js +57 -0
- package/dist/jsx/components/Image.native.js.map +1 -0
- package/dist/jsx/components/InlineCode.mjs +23 -0
- package/dist/jsx/components/InlineCode.mjs.map +1 -0
- package/dist/jsx/components/InlineCode.native.js +52 -0
- package/dist/jsx/components/InlineCode.native.js.map +1 -0
- package/dist/jsx/components/InlineStyles.mjs +28 -0
- package/dist/jsx/components/InlineStyles.mjs.map +1 -0
- package/dist/jsx/components/InlineStyles.native.js +61 -0
- package/dist/jsx/components/InlineStyles.native.js.map +1 -0
- package/dist/jsx/components/Link.mjs +29 -0
- package/dist/jsx/components/Link.mjs.map +1 -0
- package/dist/jsx/components/Link.native.js +58 -0
- package/dist/jsx/components/Link.native.js.map +1 -0
- package/dist/jsx/components/List.mjs +48 -0
- package/dist/jsx/components/List.mjs.map +1 -0
- package/dist/jsx/components/List.native.js +79 -0
- package/dist/jsx/components/List.native.js.map +1 -0
- package/dist/jsx/components/Paragraph.mjs +13 -0
- package/dist/jsx/components/Paragraph.mjs.map +1 -0
- package/dist/jsx/components/Paragraph.native.js +42 -0
- package/dist/jsx/components/Paragraph.native.js.map +1 -0
- package/dist/jsx/components/Table.mjs +59 -0
- package/dist/jsx/components/Table.mjs.map +1 -0
- package/dist/jsx/components/Table.native.js +92 -0
- package/dist/jsx/components/Table.native.js.map +1 -0
- package/dist/jsx/components/index.mjs +14 -0
- package/dist/jsx/components/index.mjs.map +1 -0
- package/dist/jsx/components/index.native.js +58 -0
- package/dist/jsx/components/index.native.js.map +1 -0
- package/dist/jsx/hooks/index.mjs +4 -0
- package/dist/jsx/hooks/index.mjs.map +1 -0
- package/dist/jsx/hooks/index.native.js +25 -0
- package/dist/jsx/hooks/index.native.js.map +1 -0
- package/dist/jsx/hooks/useCompileAndEvaluateMdx.mjs +17 -0
- package/dist/jsx/hooks/useCompileAndEvaluateMdx.mjs.map +1 -0
- package/dist/jsx/hooks/useCompileAndEvaluateMdx.native.js +45 -0
- package/dist/jsx/hooks/useCompileAndEvaluateMdx.native.js.map +1 -0
- package/dist/jsx/hooks/useCompileAndEvaluateMdx.spec.mjs +35 -0
- package/dist/jsx/hooks/useCompileAndEvaluateMdx.spec.mjs.map +1 -0
- package/dist/jsx/hooks/useCompileAndEvaluateMdx.spec.native.js +49 -0
- package/dist/jsx/hooks/useCompileAndEvaluateMdx.spec.native.js.map +1 -0
- package/dist/jsx/hooks/useCompileMdx.mjs +44 -0
- package/dist/jsx/hooks/useCompileMdx.mjs.map +1 -0
- package/dist/jsx/hooks/useCompileMdx.native.js +83 -0
- package/dist/jsx/hooks/useCompileMdx.native.js.map +1 -0
- package/dist/jsx/hooks/useEvaluateMdx.mjs +22 -0
- package/dist/jsx/hooks/useEvaluateMdx.mjs.map +1 -0
- package/dist/jsx/hooks/useEvaluateMdx.native.js +63 -0
- package/dist/jsx/hooks/useEvaluateMdx.native.js.map +1 -0
- package/dist/jsx/icons/index.mjs +175 -0
- package/dist/jsx/icons/index.mjs.map +1 -0
- package/dist/jsx/icons/index.native.js +226 -0
- package/dist/jsx/icons/index.native.js.map +1 -0
- package/dist/jsx/index.js +21 -0
- package/dist/jsx/index.js.map +1 -0
- package/dist/jsx/index.mjs +21 -0
- package/dist/jsx/index.mjs.map +1 -0
- package/dist/jsx/index.native.js +54 -0
- package/dist/jsx/index.native.js.map +1 -0
- package/dist/jsx/mdx.spec.mjs +377 -0
- package/dist/jsx/mdx.spec.mjs.map +1 -0
- package/dist/jsx/mdx.spec.native.js +465 -0
- package/dist/jsx/mdx.spec.native.js.map +1 -0
- package/dist/jsx/mdxComponents.mjs +291 -0
- package/dist/jsx/mdxComponents.mjs.map +1 -0
- package/dist/jsx/mdxComponents.native.js +376 -0
- package/dist/jsx/mdxComponents.native.js.map +1 -0
- package/dist/jsx/parser.mjs +12 -0
- package/dist/jsx/parser.mjs.map +1 -0
- package/dist/jsx/parser.native.js +52 -0
- package/dist/jsx/parser.native.js.map +1 -0
- package/dist/jsx/parser.spec.mjs +110 -0
- package/dist/jsx/parser.spec.mjs.map +1 -0
- package/dist/jsx/parser.spec.native.js +114 -0
- package/dist/jsx/parser.spec.native.js.map +1 -0
- package/dist/jsx/renderer.mjs +300 -0
- package/dist/jsx/renderer.mjs.map +1 -0
- package/dist/jsx/renderer.native.js +348 -0
- package/dist/jsx/renderer.native.js.map +1 -0
- package/dist/jsx/shared/colorRamps.mjs +45 -0
- package/dist/jsx/shared/colorRamps.mjs.map +1 -0
- package/dist/jsx/shared/colorRamps.native.js +77 -0
- package/dist/jsx/shared/colorRamps.native.js.map +1 -0
- package/dist/jsx/shared/index.mjs +2 -0
- package/dist/jsx/shared/index.mjs.map +1 -0
- package/dist/jsx/shared/index.native.js +23 -0
- package/dist/jsx/shared/index.native.js.map +1 -0
- package/dist/jsx/shiki/highlighter.mjs +59 -0
- package/dist/jsx/shiki/highlighter.mjs.map +1 -0
- package/dist/jsx/shiki/highlighter.native.js +94 -0
- package/dist/jsx/shiki/highlighter.native.js.map +1 -0
- package/dist/jsx/shiki/index.mjs +3 -0
- package/dist/jsx/shiki/index.mjs.map +1 -0
- package/dist/jsx/shiki/index.native.js +36 -0
- package/dist/jsx/shiki/index.native.js.map +1 -0
- package/dist/jsx/types.mjs +2 -0
- package/dist/jsx/types.mjs.map +1 -0
- package/dist/jsx/types.native.js +21 -0
- package/dist/jsx/types.native.js.map +1 -0
- package/dist/jsx/util/rehypeMetaAttributes.mjs +20 -0
- package/dist/jsx/util/rehypeMetaAttributes.mjs.map +1 -0
- package/dist/jsx/util/rehypeMetaAttributes.native.js +49 -0
- package/dist/jsx/util/rehypeMetaAttributes.native.js.map +1 -0
- package/dist/jsx/util/util.spec.mjs +82 -0
- package/dist/jsx/util/util.spec.mjs.map +1 -0
- package/dist/jsx/util/util.spec.native.js +84 -0
- package/dist/jsx/util/util.spec.native.js.map +1 -0
- package/package.json +94 -0
- package/src/Aside/index.tsx +89 -0
- package/src/ExternalIcon/ExternalIcon.spec.tsx +33 -0
- package/src/ExternalIcon/index.tsx +15 -0
- package/src/Hr/hr.spec.tsx +18 -0
- package/src/Hr/index.tsx +7 -0
- package/src/Li/index.tsx +14 -0
- package/src/Li/li.spec.tsx +33 -0
- package/src/Markdown.stories.tsx +127 -0
- package/src/Markdown.tsx +62 -0
- package/src/Mdx/index.tsx +32 -0
- package/src/Mdx/mdx.spec.tsx +118 -0
- package/src/MdxCodeBlock/index.tsx +168 -0
- package/src/MdxCodeBlock/mdxCodeBlock.spec.tsx +66 -0
- package/src/MdxCodeBlock/mdxCodeBlockContext.ts +15 -0
- package/src/Notice/index.tsx +76 -0
- package/src/SimpleTable/index.tsx +125 -0
- package/src/Table/index.tsx +80 -0
- package/src/Tabs/index.tsx +76 -0
- package/src/Ul/index.ts +11 -0
- package/src/Ul/ul.spec.tsx +131 -0
- package/src/Video/index.tsx +62 -0
- package/src/components/Blockquote.tsx +20 -0
- package/src/components/Break.tsx +6 -0
- package/src/components/CodeBlock.tsx +94 -0
- package/src/components/Heading.tsx +20 -0
- package/src/components/HorizontalRule.tsx +6 -0
- package/src/components/Image.tsx +20 -0
- package/src/components/InlineCode.tsx +21 -0
- package/src/components/InlineStyles.tsx +14 -0
- package/src/components/Link.tsx +26 -0
- package/src/components/List.tsx +41 -0
- package/src/components/Paragraph.tsx +10 -0
- package/src/components/Table.tsx +56 -0
- package/src/components/index.ts +12 -0
- package/src/hooks/index.ts +3 -0
- package/src/hooks/useCompileAndEvaluateMdx.spec.tsx +31 -0
- package/src/hooks/useCompileAndEvaluateMdx.ts +22 -0
- package/src/hooks/useCompileMdx.ts +55 -0
- package/src/hooks/useEvaluateMdx.ts +27 -0
- package/src/icons/index.tsx +116 -0
- package/src/index.ts +33 -0
- package/src/mdx.spec.tsx +347 -0
- package/src/mdxComponents.tsx +225 -0
- package/src/parser.spec.ts +126 -0
- package/src/parser.ts +27 -0
- package/src/renderer.tsx +391 -0
- package/src/shared/colorRamps.ts +52 -0
- package/src/shared/index.ts +1 -0
- package/src/shiki/highlighter.ts +148 -0
- package/src/shiki/index.ts +11 -0
- package/src/types.ts +225 -0
- package/src/util/rehypeMetaAttributes.ts +21 -0
- package/src/util/util.spec.tsx +90 -0
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import { YStack } from "tamagui";
|
|
2
|
+
import { Markdown } from "./Markdown.mjs";
|
|
3
|
+
import { jsx } from "react/jsx-runtime";
|
|
4
|
+
const meta = {
|
|
5
|
+
title: "Markdown/Markdown",
|
|
6
|
+
component: Markdown,
|
|
7
|
+
parameters: {
|
|
8
|
+
status: {
|
|
9
|
+
type: "beta"
|
|
10
|
+
},
|
|
11
|
+
docs: {
|
|
12
|
+
description: {
|
|
13
|
+
component: "Cross-platform markdown renderer with Shiki syntax highlighting. Supports GFM (tables, strikethrough, task lists)."
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
var Markdown_stories_default = meta;
|
|
19
|
+
const sampleMarkdown = `# Hello World
|
|
20
|
+
|
|
21
|
+
This is **bold**, _italic_, and ~~strikethrough~~ text.
|
|
22
|
+
|
|
23
|
+
## Features
|
|
24
|
+
|
|
25
|
+
- Markdown parsing with remark
|
|
26
|
+
- GFM support (tables, task lists)
|
|
27
|
+
- Shiki syntax highlighting
|
|
28
|
+
- Cross-platform (web + native)
|
|
29
|
+
|
|
30
|
+
### Task Lists
|
|
31
|
+
|
|
32
|
+
- [x] Completed task
|
|
33
|
+
- [ ] Incomplete task
|
|
34
|
+
- [ ] Another task
|
|
35
|
+
|
|
36
|
+
## Code Blocks
|
|
37
|
+
|
|
38
|
+
Inline \`code\` looks like this.
|
|
39
|
+
|
|
40
|
+
\`\`\`typescript
|
|
41
|
+
interface User {
|
|
42
|
+
id: string;
|
|
43
|
+
name: string;
|
|
44
|
+
email: string;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
function greet(user: User): string {
|
|
48
|
+
return \`Hello, \${user.name}!\`;
|
|
49
|
+
}
|
|
50
|
+
\`\`\`
|
|
51
|
+
|
|
52
|
+
\`\`\`python
|
|
53
|
+
def fibonacci(n: int) -> int:
|
|
54
|
+
if n <= 1:
|
|
55
|
+
return n
|
|
56
|
+
return fibonacci(n - 1) + fibonacci(n - 2)
|
|
57
|
+
|
|
58
|
+
print(fibonacci(10))
|
|
59
|
+
\`\`\`
|
|
60
|
+
|
|
61
|
+
## Blockquotes
|
|
62
|
+
|
|
63
|
+
> This is a blockquote.
|
|
64
|
+
> It can span multiple lines.
|
|
65
|
+
|
|
66
|
+
## Tables
|
|
67
|
+
|
|
68
|
+
| Feature | Web | Native |
|
|
69
|
+
|---------|-----|--------|
|
|
70
|
+
| Markdown | Yes | Yes |
|
|
71
|
+
| Syntax Highlighting | Yes | Yes |
|
|
72
|
+
| Tables | Yes | Yes |
|
|
73
|
+
| HTML | Yes | No |
|
|
74
|
+
|
|
75
|
+
## Links and Images
|
|
76
|
+
|
|
77
|
+
[Visit GitHub](https://github.com)
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
That's a horizontal rule above.
|
|
82
|
+
`;
|
|
83
|
+
const Main = {
|
|
84
|
+
name: "Main",
|
|
85
|
+
render: () => /* @__PURE__ */jsx(YStack, {
|
|
86
|
+
maxWidth: 700,
|
|
87
|
+
padding: "$4",
|
|
88
|
+
children: /* @__PURE__ */jsx(Markdown, {
|
|
89
|
+
children: sampleMarkdown
|
|
90
|
+
})
|
|
91
|
+
})
|
|
92
|
+
};
|
|
93
|
+
const CodeBlock = {
|
|
94
|
+
render: () => /* @__PURE__ */jsx(YStack, {
|
|
95
|
+
maxWidth: 700,
|
|
96
|
+
padding: "$4",
|
|
97
|
+
children: /* @__PURE__ */jsx(Markdown, {
|
|
98
|
+
children: `\`\`\`javascript
|
|
99
|
+
const express = require('express');
|
|
100
|
+
const app = express();
|
|
101
|
+
|
|
102
|
+
app.get('/', (req, res) => {
|
|
103
|
+
res.json({ message: 'Hello World!' });
|
|
104
|
+
});
|
|
105
|
+
|
|
106
|
+
app.listen(3000, () => {
|
|
107
|
+
console.log('Server running on port 3000');
|
|
108
|
+
});
|
|
109
|
+
\`\`\``
|
|
110
|
+
})
|
|
111
|
+
})
|
|
112
|
+
};
|
|
113
|
+
const Simple = {
|
|
114
|
+
render: () => /* @__PURE__ */jsx(YStack, {
|
|
115
|
+
maxWidth: 700,
|
|
116
|
+
padding: "$4",
|
|
117
|
+
children: /* @__PURE__ */jsx(Markdown, {
|
|
118
|
+
children: `# Simple Example
|
|
119
|
+
|
|
120
|
+
Just some **bold** and _italic_ text with a [link](https://example.com).`
|
|
121
|
+
})
|
|
122
|
+
})
|
|
123
|
+
};
|
|
124
|
+
export { CodeBlock, Main, Simple, Markdown_stories_default as default };
|
|
125
|
+
//# sourceMappingURL=Markdown.stories.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["YStack","Markdown","jsx","meta","title","component","parameters","status","type","docs","description","Markdown_stories_default","sampleMarkdown","Main","name","render","maxWidth","padding","children","CodeBlock","Simple"],"sources":["../../src/Markdown.stories.tsx"],"sourcesContent":[null],"mappings":"AACA,SAASA,MAAA,QAAc;AACvB,SAASC,QAAA,QAAgB;AAwFnB,SAAAC,GAAA;AAtFN,MAAMC,IAAA,GAA8B;EAClCC,KAAA,EAAO;EACPC,SAAA,EAAWJ,QAAA;EACXK,UAAA,EAAY;IACVC,MAAA,EAAQ;MAAEC,IAAA,EAAM;IAAO;IACvBC,IAAA,EAAM;MACJC,WAAA,EAAa;QACXL,SAAA,EACE;MACJ;IACF;EACF;AACF;AAEA,IAAOM,wBAAA,GAAQR,IAAA;AAGf,MAAMS,cAAA,GAAiB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAiEhB,MAAMC,IAAA,GAAc;EACzBC,IAAA,EAAM;EACNC,MAAA,EAAQA,CAAA,KACN,eAAAb,GAAA,CAACF,MAAA;IAAOgB,QAAA,EAAU;IAAKC,OAAA,EAAQ;IAC7BC,QAAA,iBAAAhB,GAAA,CAACD,QAAA;MAAUiB,QAAA,EAAAN;IAAA,CAAe;EAAA,CAC5B;AAEJ;AAEO,MAAMO,SAAA,GAAmB;EAC9BJ,MAAA,EAAQA,CAAA,KACN,eAAAb,GAAA,CAACF,MAAA;IAAOgB,QAAA,EAAU;IAAKC,OAAA,EAAQ;IAC7BC,QAAA,iBAAAhB,GAAA,CAACD,QAAA;MACEiB,QAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;IAAA,CAYH;EAAA,CACF;AAEJ;AAEO,MAAME,MAAA,GAAgB;EAC3BL,MAAA,EAAQA,CAAA,KACN,eAAAb,GAAA,CAACF,MAAA;IAAOgB,QAAA,EAAU;IAAKC,OAAA,EAAQ;IAC7BC,QAAA,iBAAAhB,GAAA,CAACD,QAAA;MACEiB,QAAA;AAAA;AAAA;IAAA,CAGH;EAAA,CACF;AAEJ","ignoreList":[]}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { YStack } from "tamagui";
|
|
3
|
+
import { Markdown } from "./Markdown.native.js";
|
|
4
|
+
var meta = {
|
|
5
|
+
title: "Markdown/Markdown",
|
|
6
|
+
component: Markdown,
|
|
7
|
+
parameters: {
|
|
8
|
+
status: {
|
|
9
|
+
type: "beta"
|
|
10
|
+
},
|
|
11
|
+
docs: {
|
|
12
|
+
description: {
|
|
13
|
+
component: "Cross-platform markdown renderer with Shiki syntax highlighting. Supports GFM (tables, strikethrough, task lists)."
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
var Markdown_stories_default = meta;
|
|
19
|
+
var sampleMarkdown = `# Hello World
|
|
20
|
+
|
|
21
|
+
This is **bold**, _italic_, and ~~strikethrough~~ text.
|
|
22
|
+
|
|
23
|
+
## Features
|
|
24
|
+
|
|
25
|
+
- Markdown parsing with remark
|
|
26
|
+
- GFM support (tables, task lists)
|
|
27
|
+
- Shiki syntax highlighting
|
|
28
|
+
- Cross-platform (web + native)
|
|
29
|
+
|
|
30
|
+
### Task Lists
|
|
31
|
+
|
|
32
|
+
- [x] Completed task
|
|
33
|
+
- [ ] Incomplete task
|
|
34
|
+
- [ ] Another task
|
|
35
|
+
|
|
36
|
+
## Code Blocks
|
|
37
|
+
|
|
38
|
+
Inline \`code\` looks like this.
|
|
39
|
+
|
|
40
|
+
\`\`\`typescript
|
|
41
|
+
interface User {
|
|
42
|
+
id: string;
|
|
43
|
+
name: string;
|
|
44
|
+
email: string;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
function greet(user: User): string {
|
|
48
|
+
return \`Hello, \${user.name}!\`;
|
|
49
|
+
}
|
|
50
|
+
\`\`\`
|
|
51
|
+
|
|
52
|
+
\`\`\`python
|
|
53
|
+
def fibonacci(n: int) -> int:
|
|
54
|
+
if n <= 1:
|
|
55
|
+
return n
|
|
56
|
+
return fibonacci(n - 1) + fibonacci(n - 2)
|
|
57
|
+
|
|
58
|
+
print(fibonacci(10))
|
|
59
|
+
\`\`\`
|
|
60
|
+
|
|
61
|
+
## Blockquotes
|
|
62
|
+
|
|
63
|
+
> This is a blockquote.
|
|
64
|
+
> It can span multiple lines.
|
|
65
|
+
|
|
66
|
+
## Tables
|
|
67
|
+
|
|
68
|
+
| Feature | Web | Native |
|
|
69
|
+
|---------|-----|--------|
|
|
70
|
+
| Markdown | Yes | Yes |
|
|
71
|
+
| Syntax Highlighting | Yes | Yes |
|
|
72
|
+
| Tables | Yes | Yes |
|
|
73
|
+
| HTML | Yes | No |
|
|
74
|
+
|
|
75
|
+
## Links and Images
|
|
76
|
+
|
|
77
|
+
[Visit GitHub](https://github.com)
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
That's a horizontal rule above.
|
|
82
|
+
`;
|
|
83
|
+
var Main = {
|
|
84
|
+
name: "Main",
|
|
85
|
+
render: function render() {
|
|
86
|
+
return /* @__PURE__ */_jsx(YStack, {
|
|
87
|
+
maxWidth: 700,
|
|
88
|
+
padding: "$4",
|
|
89
|
+
children: /* @__PURE__ */_jsx(Markdown, {
|
|
90
|
+
children: sampleMarkdown
|
|
91
|
+
})
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
};
|
|
95
|
+
var CodeBlock = {
|
|
96
|
+
render: function render2() {
|
|
97
|
+
return /* @__PURE__ */_jsx(YStack, {
|
|
98
|
+
maxWidth: 700,
|
|
99
|
+
padding: "$4",
|
|
100
|
+
children: /* @__PURE__ */_jsx(Markdown, {
|
|
101
|
+
children: `\`\`\`javascript
|
|
102
|
+
const express = require('express');
|
|
103
|
+
const app = express();
|
|
104
|
+
|
|
105
|
+
app.get('/', (req, res) => {
|
|
106
|
+
res.json({ message: 'Hello World!' });
|
|
107
|
+
});
|
|
108
|
+
|
|
109
|
+
app.listen(3000, () => {
|
|
110
|
+
console.log('Server running on port 3000');
|
|
111
|
+
});
|
|
112
|
+
\`\`\``
|
|
113
|
+
})
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
};
|
|
117
|
+
var Simple = {
|
|
118
|
+
render: function render3() {
|
|
119
|
+
return /* @__PURE__ */_jsx(YStack, {
|
|
120
|
+
maxWidth: 700,
|
|
121
|
+
padding: "$4",
|
|
122
|
+
children: /* @__PURE__ */_jsx(Markdown, {
|
|
123
|
+
children: `# Simple Example
|
|
124
|
+
|
|
125
|
+
Just some **bold** and _italic_ text with a [link](https://example.com).`
|
|
126
|
+
})
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
};
|
|
130
|
+
export { CodeBlock, Main, Simple, Markdown_stories_default as default };
|
|
131
|
+
//# sourceMappingURL=Markdown.stories.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["jsx","_jsx","YStack","Markdown","meta","title","component","parameters","status","type","docs","description","Markdown_stories_default","sampleMarkdown","Main","name","render","maxWidth","padding","children","CodeBlock","render2"],"sources":["../../src/Markdown.stories.tsx"],"sourcesContent":[null],"mappings":"AACA,SAASA,GAAA,IAAAC,IAAA,QAAc;AACvB,SAASC,MAAA,iBAAgB;AAwFnB,SAAAC,QAAA;AAtFN,IAAAC,IAAM;EACJC,KAAA,EAAO;EACPC,SAAA,EAAWH,QAAA;EACXI,UAAA,EAAY;IACVC,MAAA,EAAQ;MACRC,IAAM;IAAA;IACSC,IACX;MAEFC,WAAA;QACFL,SAAA;MACF;IACF;EAEA;AAGA;AAAuB,IAAAM,wBAAA,GAAAR,IAAA;AAAA,IAAAS,cAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAiEhB;AAAoB;AACnB,IACNC,IAAA,GAAQ;EAKVC,IAAA;EAEOC,MAAM,WAAmBA,OAAA;IAC9B,OAAQ,eACNf,IAAA,CAAAC,MAAC;MAEIe,QAAA;MAAAC,OAAA;MAAAC,QAAA,iBAAAlB,IAAA,CAAAE,QAAA;QAAAgB,QAAA,EAAAN;MAAA;IAAA;EAAA;AAAA;AAAA,IAAAO,SAAA;EAAAJ,MAAA,WAAAK,QAAA;IAAA,OAYH,eACFpB,IAAA,CAAAC,MAAA;MAEJe,QAAA;MAEaC,OAAA,EAAgB;MAC3BC,QAAQ,EACN,eAAAlB,IAAC,CAAAE,QAAA,EAAO;QAEHgB,QAAA;AAAA;AAMT","ignoreList":[]}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { useMDXComponents } from "@mdx-js/react";
|
|
2
|
+
import { useCompileAndEvaluateMdx } from "../hooks/index.mjs";
|
|
3
|
+
import { mdxComponents } from "../mdxComponents.mjs";
|
|
4
|
+
import { Fragment, jsx } from "react/jsx-runtime";
|
|
5
|
+
const logger = console;
|
|
6
|
+
function MDX({
|
|
7
|
+
children,
|
|
8
|
+
debug,
|
|
9
|
+
...props
|
|
10
|
+
}) {
|
|
11
|
+
const components = useMDXComponents();
|
|
12
|
+
const {
|
|
13
|
+
Component,
|
|
14
|
+
code,
|
|
15
|
+
frontmatter
|
|
16
|
+
} = useCompileAndEvaluateMdx(children);
|
|
17
|
+
if (!Component) return /* @__PURE__ */jsx(Fragment, {});
|
|
18
|
+
if (debug) {
|
|
19
|
+
logger.debug("MDX", {
|
|
20
|
+
frontmatter
|
|
21
|
+
});
|
|
22
|
+
logger.debug(code);
|
|
23
|
+
}
|
|
24
|
+
return /* @__PURE__ */jsx(Component, {
|
|
25
|
+
components: {
|
|
26
|
+
...mdxComponents,
|
|
27
|
+
...components,
|
|
28
|
+
...props.components
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
export { MDX };
|
|
33
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useMDXComponents","useCompileAndEvaluateMdx","mdxComponents","Fragment","jsx","logger","console","MDX","children","debug","props","components","Component","code","frontmatter"],"sources":["../../../src/Mdx/index.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,gBAAA,QAAwB;AAGjC,SAASC,wBAAA,QAAgC;AACzC,SAASC,aAAA,QAAqB;AAaL,SAAAC,QAAA,EAAAC,GAAA;AALzB,MAAMC,MAAA,GAASC,OAAA;AAER,SAASC,IAAI;EAAEC,QAAA;EAAUC,KAAA;EAAO,GAAGC;AAAM,GAAa;EAC3D,MAAMC,UAAA,GAAaX,gBAAA,CAAiB;EACpC,MAAM;IAAEY,SAAA;IAAWC,IAAA;IAAMC;EAAY,IAAIb,wBAAA,CAAyBO,QAAQ;EAC1E,IAAI,CAACI,SAAA,EAAW,OAAO,eAAAR,GAAA,CAAAD,QAAA,IAAI;EAC3B,IAAIM,KAAA,EAAO;IACTJ,MAAA,CAAOI,KAAA,CAAM,OAAO;MAAEK;IAAY,CAAC;IACnCT,MAAA,CAAOI,KAAA,CAAMI,IAAI;EACnB;EACA,OACE,eAAAT,GAAA,CAACQ,SAAA;IACCD,UAAA,EAAY;MACV,GAAGT,aAAA;MACH,GAAGS,UAAA;MACH,GAAGD,KAAA,CAAMC;IACX;EAAA,CACF;AAEJ","ignoreList":[]}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { useMDXComponents } from "@mdx-js/react";
|
|
3
|
+
import { useCompileAndEvaluateMdx } from "../hooks/index.native.js";
|
|
4
|
+
import { mdxComponents } from "../mdxComponents.native.js";
|
|
5
|
+
var logger = console;
|
|
6
|
+
function MDX(param) {
|
|
7
|
+
var {
|
|
8
|
+
children,
|
|
9
|
+
debug,
|
|
10
|
+
...props
|
|
11
|
+
} = param;
|
|
12
|
+
var components = useMDXComponents();
|
|
13
|
+
var {
|
|
14
|
+
Component,
|
|
15
|
+
code,
|
|
16
|
+
frontmatter
|
|
17
|
+
} = useCompileAndEvaluateMdx(children);
|
|
18
|
+
if (!Component) return /* @__PURE__ */_jsx(_Fragment, {});
|
|
19
|
+
if (debug) {
|
|
20
|
+
logger.debug("MDX", {
|
|
21
|
+
frontmatter
|
|
22
|
+
});
|
|
23
|
+
logger.debug(code);
|
|
24
|
+
}
|
|
25
|
+
return /* @__PURE__ */_jsx(Component, {
|
|
26
|
+
components: {
|
|
27
|
+
...mdxComponents,
|
|
28
|
+
...components,
|
|
29
|
+
...props.components
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
export { MDX };
|
|
34
|
+
//# sourceMappingURL=index.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["jsx","_jsx","Fragment","_Fragment","useMDXComponents","useCompileAndEvaluateMdx","mdxComponents","logger","console","MDX","param","children","debug","props","components","Component","code","frontmatter"],"sources":["../../../src/Mdx/index.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,GAAA,IAAAC,IAAA,EAAAC,QAAA,IAAwBC,SAAA;AAGjC,SAASC,gBAAA,uBAAgC;AACzC,SAASC,wBAAqB;AAaL,SAAAC,aAAA;AALzB,IAAAC,MAAM,GAAAC,OAAS;AAER,SAASC,IAAIC,KAAE;EACpB;IAAMC,QAAA;IAAAC,KAAa;IAAA,GAAAC;EAAA,IAAiBH,KAAA;EACpC,IAAAI,UAAQ,GAAAV,gBAAiB;EACzB,IAAI;IAACW,SAAW;IAAAC,IAAA;IAAOC;EAAA,IAAAZ,wBAAI,CAAAM,QAAA;EAC3B,IAAI,CAAAI,SAAO,wBAAAd,IAAA,CAAAE,SAAA;EACT,IAAAS,KAAO;IACPL,MAAA,CAAOK,KAAA,CAAM,KAAI;MACnBK;IACA;IACGV,MAAA,CAAAK,KAAA,CAAAI,IAAA;EAAA;EAAA,OACC,eAAYf,IAAA,CAAAc,SAAA;IAAAD,UACP;MAAA,GACHR,aAAG;MAAA,GACHQ,UAAS;MACX,GAAAD,KAAA,CAAAC;IAAA;EACF;AAEJ","ignoreList":[]}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
import { screen } from "@testing-library/react";
|
|
2
|
+
import { renderWithProviders } from "@multiplatform.one/test-utils";
|
|
3
|
+
import { YStack } from "tamagui";
|
|
4
|
+
import { afterEach, describe, expect, it, vi } from "vitest";
|
|
5
|
+
import { useCompileAndEvaluateMdx } from "../hooks/index.mjs";
|
|
6
|
+
import { MDX } from "./index.mjs";
|
|
7
|
+
import { Fragment, jsx } from "react/jsx-runtime";
|
|
8
|
+
const DummyComponent = ({
|
|
9
|
+
components
|
|
10
|
+
}) => {
|
|
11
|
+
return /* @__PURE__ */jsx(YStack, {
|
|
12
|
+
"data-testid": "dummy",
|
|
13
|
+
children: JSON.stringify(components)
|
|
14
|
+
});
|
|
15
|
+
};
|
|
16
|
+
vi.mock("../hooks", () => ({
|
|
17
|
+
useCompileAndEvaluateMdx: vi.fn()
|
|
18
|
+
}));
|
|
19
|
+
vi.mock("@mdx-js/react", () => ({
|
|
20
|
+
useMDXComponents: () => ({
|
|
21
|
+
hookKey: "hookValue"
|
|
22
|
+
})
|
|
23
|
+
}));
|
|
24
|
+
vi.mock("../mdxComponents", () => ({
|
|
25
|
+
mdxComponents: {
|
|
26
|
+
mdxKey: "mdxValue"
|
|
27
|
+
}
|
|
28
|
+
}));
|
|
29
|
+
describe("MDX component", () => {
|
|
30
|
+
afterEach(() => {
|
|
31
|
+
vi.clearAllMocks();
|
|
32
|
+
});
|
|
33
|
+
it("renders an empty fragment if no component is returned from the hook", () => {
|
|
34
|
+
useCompileAndEvaluateMdx.mockReturnValue({
|
|
35
|
+
Component: null,
|
|
36
|
+
code: "some code",
|
|
37
|
+
frontmatter: {
|
|
38
|
+
test: "frontmatter"
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
renderWithProviders(/* @__PURE__ */jsx(Fragment, {
|
|
42
|
+
children: /* @__PURE__ */jsx(MDX, {
|
|
43
|
+
children: "hello"
|
|
44
|
+
})
|
|
45
|
+
}));
|
|
46
|
+
const mdxContent = screen.queryByText("hello");
|
|
47
|
+
expect(mdxContent).toBeNull();
|
|
48
|
+
});
|
|
49
|
+
it("renders the evaluated MDX component and passes the merged components prop", () => {
|
|
50
|
+
const TestDummyComponent = ({
|
|
51
|
+
components
|
|
52
|
+
}) => {
|
|
53
|
+
const componentKeys2 = Object.keys(components || {});
|
|
54
|
+
return /* @__PURE__ */jsx(YStack, {
|
|
55
|
+
"data-testid": "dummy",
|
|
56
|
+
children: componentKeys2.join(",")
|
|
57
|
+
});
|
|
58
|
+
};
|
|
59
|
+
useCompileAndEvaluateMdx.mockReturnValue({
|
|
60
|
+
Component: TestDummyComponent,
|
|
61
|
+
code: "compiledCode",
|
|
62
|
+
frontmatter: {
|
|
63
|
+
test: true
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
const additionalComponents = {
|
|
67
|
+
p: ({
|
|
68
|
+
children
|
|
69
|
+
}) => /* @__PURE__ */jsx("div", {
|
|
70
|
+
"data-testid": "custom-p",
|
|
71
|
+
children
|
|
72
|
+
})
|
|
73
|
+
};
|
|
74
|
+
renderWithProviders(/* @__PURE__ */jsx(Fragment, {
|
|
75
|
+
children: /* @__PURE__ */jsx(MDX, {
|
|
76
|
+
children: "hello",
|
|
77
|
+
components: additionalComponents
|
|
78
|
+
})
|
|
79
|
+
}));
|
|
80
|
+
const dummyDiv = screen.getByTestId("dummy");
|
|
81
|
+
const componentKeys = dummyDiv.textContent?.split(",") || [];
|
|
82
|
+
expect(componentKeys).toContain("mdxKey");
|
|
83
|
+
expect(componentKeys).toContain("hookKey");
|
|
84
|
+
expect(componentKeys).toContain("p");
|
|
85
|
+
});
|
|
86
|
+
it("calls debug logging when the debug prop is provided", () => {
|
|
87
|
+
const debugSpy = vi.spyOn(console, "debug").mockImplementation(() => {});
|
|
88
|
+
useCompileAndEvaluateMdx.mockReturnValue({
|
|
89
|
+
Component: DummyComponent,
|
|
90
|
+
code: "compiledCode",
|
|
91
|
+
frontmatter: {
|
|
92
|
+
test: "frontmatter"
|
|
93
|
+
}
|
|
94
|
+
});
|
|
95
|
+
renderWithProviders(/* @__PURE__ */jsx(Fragment, {
|
|
96
|
+
children: /* @__PURE__ */jsx(MDX, {
|
|
97
|
+
children: "hello",
|
|
98
|
+
debug: true
|
|
99
|
+
})
|
|
100
|
+
}));
|
|
101
|
+
expect(debugSpy).toHaveBeenCalledWith("MDX", {
|
|
102
|
+
frontmatter: {
|
|
103
|
+
test: "frontmatter"
|
|
104
|
+
}
|
|
105
|
+
});
|
|
106
|
+
expect(debugSpy).toHaveBeenCalledWith("compiledCode");
|
|
107
|
+
debugSpy.mockRestore();
|
|
108
|
+
});
|
|
109
|
+
it("does not call debug logging when the debug prop is false", () => {
|
|
110
|
+
const debugSpy = vi.spyOn(console, "debug").mockImplementation(() => {});
|
|
111
|
+
useCompileAndEvaluateMdx.mockReturnValue({
|
|
112
|
+
Component: DummyComponent,
|
|
113
|
+
code: "compiledCode",
|
|
114
|
+
frontmatter: {
|
|
115
|
+
test: "frontmatter"
|
|
116
|
+
}
|
|
117
|
+
});
|
|
118
|
+
renderWithProviders(/* @__PURE__ */jsx(Fragment, {
|
|
119
|
+
children: /* @__PURE__ */jsx(MDX, {
|
|
120
|
+
children: "hello",
|
|
121
|
+
debug: false
|
|
122
|
+
})
|
|
123
|
+
}));
|
|
124
|
+
expect(debugSpy).not.toHaveBeenCalled();
|
|
125
|
+
debugSpy.mockRestore();
|
|
126
|
+
});
|
|
127
|
+
it("does not throw an error when an empty children string is provided", () => {
|
|
128
|
+
useCompileAndEvaluateMdx.mockReturnValue({
|
|
129
|
+
Component: DummyComponent,
|
|
130
|
+
code: "",
|
|
131
|
+
frontmatter: {}
|
|
132
|
+
});
|
|
133
|
+
expect(() => renderWithProviders(/* @__PURE__ */jsx(Fragment, {
|
|
134
|
+
children: /* @__PURE__ */jsx(MDX, {
|
|
135
|
+
children: "hello"
|
|
136
|
+
})
|
|
137
|
+
}))).not.toThrow();
|
|
138
|
+
});
|
|
139
|
+
});
|
|
140
|
+
//# sourceMappingURL=mdx.spec.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["screen","renderWithProviders","YStack","afterEach","describe","expect","it","vi","useCompileAndEvaluateMdx","MDX","Fragment","jsx","DummyComponent","components","children","JSON","stringify","mock","fn","useMDXComponents","hookKey","mdxComponents","mdxKey","clearAllMocks","mockReturnValue","Component","code","frontmatter","test","mdxContent","queryByText","toBeNull","TestDummyComponent","componentKeys2","Object","keys","join","additionalComponents","p","dummyDiv","getByTestId","componentKeys","textContent","split","toContain","debugSpy","spyOn","console","mockImplementation","debug","toHaveBeenCalledWith","mockRestore","not","toHaveBeenCalled","toThrow"],"sources":["../../../src/Mdx/mdx.spec.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { screen } from "@testing-library/react";
|
|
3
|
+
import { renderWithProviders } from "@multiplatform.one/test-utils";
|
|
4
|
+
import { YStack } from "tamagui";
|
|
5
|
+
import { afterEach, describe, expect, it, vi } from "vitest";
|
|
6
|
+
import { useCompileAndEvaluateMdx } from "../hooks/index.native.js";
|
|
7
|
+
import { MDX } from "./index.native.js";
|
|
8
|
+
var DummyComponent = function DummyComponent2(param) {
|
|
9
|
+
var {
|
|
10
|
+
components
|
|
11
|
+
} = param;
|
|
12
|
+
return /* @__PURE__ */_jsx(YStack, {
|
|
13
|
+
"data-testid": "dummy",
|
|
14
|
+
children: JSON.stringify(components)
|
|
15
|
+
});
|
|
16
|
+
};
|
|
17
|
+
vi.mock("../hooks", function () {
|
|
18
|
+
return {
|
|
19
|
+
useCompileAndEvaluateMdx: vi.fn()
|
|
20
|
+
};
|
|
21
|
+
});
|
|
22
|
+
vi.mock("@mdx-js/react", function () {
|
|
23
|
+
return {
|
|
24
|
+
useMDXComponents: function useMDXComponents() {
|
|
25
|
+
return {
|
|
26
|
+
hookKey: "hookValue"
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
});
|
|
31
|
+
vi.mock("../mdxComponents", function () {
|
|
32
|
+
return {
|
|
33
|
+
mdxComponents: {
|
|
34
|
+
mdxKey: "mdxValue"
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
});
|
|
38
|
+
describe("MDX component", function () {
|
|
39
|
+
afterEach(function () {
|
|
40
|
+
vi.clearAllMocks();
|
|
41
|
+
});
|
|
42
|
+
it("renders an empty fragment if no component is returned from the hook", function () {
|
|
43
|
+
useCompileAndEvaluateMdx.mockReturnValue({
|
|
44
|
+
Component: null,
|
|
45
|
+
code: "some code",
|
|
46
|
+
frontmatter: {
|
|
47
|
+
test: "frontmatter"
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
renderWithProviders(/* @__PURE__ */_jsx(_Fragment, {
|
|
51
|
+
children: /* @__PURE__ */_jsx(MDX, {
|
|
52
|
+
children: "hello"
|
|
53
|
+
})
|
|
54
|
+
}));
|
|
55
|
+
var mdxContent = screen.queryByText("hello");
|
|
56
|
+
expect(mdxContent).toBeNull();
|
|
57
|
+
});
|
|
58
|
+
it("renders the evaluated MDX component and passes the merged components prop", function () {
|
|
59
|
+
var _dummyDiv_textContent;
|
|
60
|
+
var TestDummyComponent = function TestDummyComponent2(param) {
|
|
61
|
+
var {
|
|
62
|
+
components
|
|
63
|
+
} = param;
|
|
64
|
+
var componentKeys2 = Object.keys(components || {});
|
|
65
|
+
return /* @__PURE__ */_jsx(YStack, {
|
|
66
|
+
"data-testid": "dummy",
|
|
67
|
+
children: componentKeys2.join(",")
|
|
68
|
+
});
|
|
69
|
+
};
|
|
70
|
+
useCompileAndEvaluateMdx.mockReturnValue({
|
|
71
|
+
Component: TestDummyComponent,
|
|
72
|
+
code: "compiledCode",
|
|
73
|
+
frontmatter: {
|
|
74
|
+
test: true
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
var additionalComponents = {
|
|
78
|
+
p: function p(param) {
|
|
79
|
+
var {
|
|
80
|
+
children
|
|
81
|
+
} = param;
|
|
82
|
+
return /* @__PURE__ */_jsx("div", {
|
|
83
|
+
"data-testid": "custom-p",
|
|
84
|
+
children
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
};
|
|
88
|
+
renderWithProviders(/* @__PURE__ */_jsx(_Fragment, {
|
|
89
|
+
children: /* @__PURE__ */_jsx(MDX, {
|
|
90
|
+
children: "hello",
|
|
91
|
+
components: additionalComponents
|
|
92
|
+
})
|
|
93
|
+
}));
|
|
94
|
+
var dummyDiv = screen.getByTestId("dummy");
|
|
95
|
+
var componentKeys = ((_dummyDiv_textContent = dummyDiv.textContent) === null || _dummyDiv_textContent === void 0 ? void 0 : _dummyDiv_textContent.split(",")) || [];
|
|
96
|
+
expect(componentKeys).toContain("mdxKey");
|
|
97
|
+
expect(componentKeys).toContain("hookKey");
|
|
98
|
+
expect(componentKeys).toContain("p");
|
|
99
|
+
});
|
|
100
|
+
it("calls debug logging when the debug prop is provided", function () {
|
|
101
|
+
var debugSpy = vi.spyOn(console, "debug").mockImplementation(function () {});
|
|
102
|
+
useCompileAndEvaluateMdx.mockReturnValue({
|
|
103
|
+
Component: DummyComponent,
|
|
104
|
+
code: "compiledCode",
|
|
105
|
+
frontmatter: {
|
|
106
|
+
test: "frontmatter"
|
|
107
|
+
}
|
|
108
|
+
});
|
|
109
|
+
renderWithProviders(/* @__PURE__ */_jsx(_Fragment, {
|
|
110
|
+
children: /* @__PURE__ */_jsx(MDX, {
|
|
111
|
+
children: "hello",
|
|
112
|
+
debug: true
|
|
113
|
+
})
|
|
114
|
+
}));
|
|
115
|
+
expect(debugSpy).toHaveBeenCalledWith("MDX", {
|
|
116
|
+
frontmatter: {
|
|
117
|
+
test: "frontmatter"
|
|
118
|
+
}
|
|
119
|
+
});
|
|
120
|
+
expect(debugSpy).toHaveBeenCalledWith("compiledCode");
|
|
121
|
+
debugSpy.mockRestore();
|
|
122
|
+
});
|
|
123
|
+
it("does not call debug logging when the debug prop is false", function () {
|
|
124
|
+
var debugSpy = vi.spyOn(console, "debug").mockImplementation(function () {});
|
|
125
|
+
useCompileAndEvaluateMdx.mockReturnValue({
|
|
126
|
+
Component: DummyComponent,
|
|
127
|
+
code: "compiledCode",
|
|
128
|
+
frontmatter: {
|
|
129
|
+
test: "frontmatter"
|
|
130
|
+
}
|
|
131
|
+
});
|
|
132
|
+
renderWithProviders(/* @__PURE__ */_jsx(_Fragment, {
|
|
133
|
+
children: /* @__PURE__ */_jsx(MDX, {
|
|
134
|
+
children: "hello",
|
|
135
|
+
debug: false
|
|
136
|
+
})
|
|
137
|
+
}));
|
|
138
|
+
expect(debugSpy).not.toHaveBeenCalled();
|
|
139
|
+
debugSpy.mockRestore();
|
|
140
|
+
});
|
|
141
|
+
it("does not throw an error when an empty children string is provided", function () {
|
|
142
|
+
useCompileAndEvaluateMdx.mockReturnValue({
|
|
143
|
+
Component: DummyComponent,
|
|
144
|
+
code: "",
|
|
145
|
+
frontmatter: {}
|
|
146
|
+
});
|
|
147
|
+
expect(function () {
|
|
148
|
+
return renderWithProviders(/* @__PURE__ */_jsx(_Fragment, {
|
|
149
|
+
children: /* @__PURE__ */_jsx(MDX, {
|
|
150
|
+
children: "hello"
|
|
151
|
+
})
|
|
152
|
+
}));
|
|
153
|
+
}).not.toThrow();
|
|
154
|
+
});
|
|
155
|
+
});
|
|
156
|
+
//# sourceMappingURL=mdx.spec.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["jsx","_jsx","Fragment","_Fragment","screen","renderWithProviders","YStack","afterEach","describe","expect","it","vi","useCompileAndEvaluateMdx","MDX","DummyComponent","DummyComponent2","param","components","children","JSON","stringify","mock","fn","useMDXComponents","hookKey","mdxComponents","mdxKey","clearAllMocks","mockReturnValue","Component","code","frontmatter","test","mdxContent","queryByText","toBeNull","_dummyDiv_textContent","TestDummyComponent","TestDummyComponent2","componentKeys2","Object","keys","join","additionalComponents","p","dummyDiv","getByTestId","componentKeys","textContent","split","toContain","debugSpy","spyOn","console","mockImplementation"],"sources":["../../../src/Mdx/mdx.spec.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|