@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,149 @@
|
|
|
1
|
+
import { Code, ErrorBoundary, HighlightedCode, Pre, useClipboard, useShikiTokens } from "@multiplatform.one/components";
|
|
2
|
+
import { useResolvedKnobs } from "@multiplatform.one/theme";
|
|
3
|
+
import { LinearGradient } from "@tamagui/linear-gradient";
|
|
4
|
+
import rangeParser from "parse-numeric-range";
|
|
5
|
+
import { useContext, useMemo, useState } from "react";
|
|
6
|
+
import { Button, ScrollView, Spacer, TooltipSimple, XStack, YStack } from "tamagui";
|
|
7
|
+
import { CheckCircleIcon, ClipboardIcon } from "../icons/index.mjs";
|
|
8
|
+
import { MDXCodeBlockContext } from "./mdxCodeBlockContext.mjs";
|
|
9
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
10
|
+
const zIndex = {
|
|
11
|
+
localTop: 100
|
|
12
|
+
};
|
|
13
|
+
function extractCodeText(children) {
|
|
14
|
+
if (typeof children === "string") return children;
|
|
15
|
+
if (Array.isArray(children)) return children.map(extractCodeText).join("");
|
|
16
|
+
if (children && typeof children === "object" && "props" in children) {
|
|
17
|
+
return extractCodeText(children.props?.children);
|
|
18
|
+
}
|
|
19
|
+
return String(children ?? "");
|
|
20
|
+
}
|
|
21
|
+
function extractLanguage(className) {
|
|
22
|
+
if (!className) return "text";
|
|
23
|
+
const match = className.match(/language-(\w+)/);
|
|
24
|
+
return match?.[1] || "text";
|
|
25
|
+
}
|
|
26
|
+
function MDXCodeBlock(props) {
|
|
27
|
+
const {
|
|
28
|
+
children,
|
|
29
|
+
className,
|
|
30
|
+
disableCopy,
|
|
31
|
+
id,
|
|
32
|
+
isCollapsible,
|
|
33
|
+
isHighlightingLines,
|
|
34
|
+
showLineNumbers: propShowLineNumbers,
|
|
35
|
+
size,
|
|
36
|
+
line,
|
|
37
|
+
...codeProps
|
|
38
|
+
} = {
|
|
39
|
+
...useContext(MDXCodeBlockContext),
|
|
40
|
+
...props
|
|
41
|
+
};
|
|
42
|
+
const {
|
|
43
|
+
knobProps
|
|
44
|
+
} = useResolvedKnobs();
|
|
45
|
+
const codeText = useMemo(() => extractCodeText(children).replace(/\n$/, ""), [children]);
|
|
46
|
+
const language = useMemo(() => extractLanguage(className), [className]);
|
|
47
|
+
const tokens = useShikiTokens(codeText, language);
|
|
48
|
+
const lines = tokens?.length ?? codeText.split("\n").length;
|
|
49
|
+
const showLineNumbers = propShowLineNumbers ?? lines > 10;
|
|
50
|
+
const [isCollapsed, setIsCollapsed] = useState(isCollapsible);
|
|
51
|
+
const isLong = lines > 22;
|
|
52
|
+
const [isCutoff, setIsCutoff] = useState(isLong && !isCollapsible);
|
|
53
|
+
const {
|
|
54
|
+
hasCopied,
|
|
55
|
+
onCopy
|
|
56
|
+
} = useClipboard(codeText);
|
|
57
|
+
const highlightLines = useMemo(() => {
|
|
58
|
+
if (!isHighlightingLines || !line) return [];
|
|
59
|
+
return rangeParser(line);
|
|
60
|
+
}, [isHighlightingLines, line]);
|
|
61
|
+
return /* @__PURE__ */jsx(YStack, {
|
|
62
|
+
position: "relative",
|
|
63
|
+
marginBottom: "$4",
|
|
64
|
+
children: /* @__PURE__ */jsx(ErrorBoundary, {
|
|
65
|
+
children: /* @__PURE__ */jsxs(YStack, {
|
|
66
|
+
position: "relative",
|
|
67
|
+
...(isCutoff && {
|
|
68
|
+
maxHeight: 400,
|
|
69
|
+
overflow: "hidden",
|
|
70
|
+
borderRadius: knobProps.borderRadius.borderRadius
|
|
71
|
+
}),
|
|
72
|
+
children: [(!isCollapsed || !isCollapsible) && isCutoff && /* @__PURE__ */jsxs(LinearGradient, {
|
|
73
|
+
position: "absolute",
|
|
74
|
+
bottom: 0,
|
|
75
|
+
left: 0,
|
|
76
|
+
right: 0,
|
|
77
|
+
height: 200,
|
|
78
|
+
colors: ["$backgroundTransparent", "$background"],
|
|
79
|
+
zIndex: zIndex.localTop,
|
|
80
|
+
children: [/* @__PURE__ */jsx(Spacer, {
|
|
81
|
+
flex: 1
|
|
82
|
+
}), /* @__PURE__ */jsx(Button, {
|
|
83
|
+
onPress: () => setIsCutoff(!isCutoff),
|
|
84
|
+
alignSelf: "center",
|
|
85
|
+
children: "Show more"
|
|
86
|
+
}), /* @__PURE__ */jsx(Spacer, {
|
|
87
|
+
size: "$4"
|
|
88
|
+
})]
|
|
89
|
+
}), (!isCollapsed || !isCollapsible) && /* @__PURE__ */jsx(Pre, {
|
|
90
|
+
padding: 0,
|
|
91
|
+
marginBottom: 0,
|
|
92
|
+
id,
|
|
93
|
+
"data-line-numbers": showLineNumbers ? "true" : "false",
|
|
94
|
+
children: /* @__PURE__ */jsx(ScrollView, {
|
|
95
|
+
style: {
|
|
96
|
+
width: "100%"
|
|
97
|
+
},
|
|
98
|
+
contentContainerStyle: {
|
|
99
|
+
minWidth: "100%"
|
|
100
|
+
},
|
|
101
|
+
horizontal: true,
|
|
102
|
+
showsHorizontalScrollIndicator: false,
|
|
103
|
+
children: /* @__PURE__ */jsx(Code, {
|
|
104
|
+
backgroundColor: "transparent",
|
|
105
|
+
flex: 1,
|
|
106
|
+
...knobProps.panelPadding,
|
|
107
|
+
size: size ?? "$5",
|
|
108
|
+
...codeProps,
|
|
109
|
+
children: /* @__PURE__ */jsx(HighlightedCode, {
|
|
110
|
+
tokens,
|
|
111
|
+
highlightLines,
|
|
112
|
+
showLineNumbers,
|
|
113
|
+
children: codeText
|
|
114
|
+
})
|
|
115
|
+
})
|
|
116
|
+
})
|
|
117
|
+
}), /* @__PURE__ */jsxs(XStack, {
|
|
118
|
+
position: "absolute",
|
|
119
|
+
top: "$3",
|
|
120
|
+
right: "$3",
|
|
121
|
+
...knobProps.gap,
|
|
122
|
+
children: [(!isCollapsed || !isCollapsible) && !disableCopy && /* @__PURE__ */jsx(TooltipSimple, {
|
|
123
|
+
label: hasCopied ? "Copied" : "Copy to clipboard",
|
|
124
|
+
children: /* @__PURE__ */jsx(Button, {
|
|
125
|
+
"aria-label": "Copy code to clipboard",
|
|
126
|
+
size: "$2",
|
|
127
|
+
icon: hasCopied ? /* @__PURE__ */jsx(CheckCircleIcon, {
|
|
128
|
+
size: 14
|
|
129
|
+
}) : /* @__PURE__ */jsx(ClipboardIcon, {
|
|
130
|
+
size: 14
|
|
131
|
+
}),
|
|
132
|
+
onPress: onCopy,
|
|
133
|
+
$xs: {
|
|
134
|
+
display: "none"
|
|
135
|
+
}
|
|
136
|
+
})
|
|
137
|
+
}), isCollapsible && /* @__PURE__ */jsx(Button, {
|
|
138
|
+
accessibilityLabel: "Show or hide code",
|
|
139
|
+
size: "$2",
|
|
140
|
+
onPress: () => setIsCollapsed(x => !x),
|
|
141
|
+
children: isCollapsed ? "Show code" : "Hide code"
|
|
142
|
+
})]
|
|
143
|
+
})]
|
|
144
|
+
})
|
|
145
|
+
})
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
export { MDXCodeBlock };
|
|
149
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Code","ErrorBoundary","HighlightedCode","Pre","useClipboard","useShikiTokens","useResolvedKnobs","LinearGradient","rangeParser","useContext","useMemo","useState","Button","ScrollView","Spacer","TooltipSimple","XStack","YStack","CheckCircleIcon","ClipboardIcon","MDXCodeBlockContext","jsx","jsxs","zIndex","localTop","extractCodeText","children","Array","isArray","map","join","props","String","extractLanguage","className","match","MDXCodeBlock","disableCopy","id","isCollapsible","isHighlightingLines","showLineNumbers","propShowLineNumbers","size","line","codeProps","knobProps","codeText","replace","language","tokens","lines","length","split","isCollapsed","setIsCollapsed","isLong","isCutoff","setIsCutoff","hasCopied","onCopy","highlightLines","position","marginBottom","maxHeight","overflow","borderRadius","bottom","left","right","height","colors","flex","onPress","alignSelf","padding","style","width","contentContainerStyle","minWidth","horizontal","showsHorizontalScrollIndicator","backgroundColor","panelPadding","top","gap","label","icon","$xs","display","accessibilityLabel","x"],"sources":["../../../src/MdxCodeBlock/index.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var __create = Object.create;
|
|
4
|
+
var __defProp = Object.defineProperty;
|
|
5
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
6
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
7
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
8
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
9
|
+
var __export = (target, all) => {
|
|
10
|
+
for (var name in all) __defProp(target, name, {
|
|
11
|
+
get: all[name],
|
|
12
|
+
enumerable: true
|
|
13
|
+
});
|
|
14
|
+
};
|
|
15
|
+
var __copyProps = (to, from, except, desc) => {
|
|
16
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
17
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
18
|
+
get: () => from[key],
|
|
19
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
return to;
|
|
23
|
+
};
|
|
24
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
25
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
26
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
27
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
28
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
29
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
|
30
|
+
value: mod,
|
|
31
|
+
enumerable: true
|
|
32
|
+
}) : target, mod));
|
|
33
|
+
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
34
|
+
value: true
|
|
35
|
+
}), mod);
|
|
36
|
+
var MdxCodeBlock_exports = {};
|
|
37
|
+
__export(MdxCodeBlock_exports, {
|
|
38
|
+
MDXCodeBlock: () => MDXCodeBlock
|
|
39
|
+
});
|
|
40
|
+
module.exports = __toCommonJS(MdxCodeBlock_exports);
|
|
41
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
42
|
+
var import_components = require("@multiplatform.one/components");
|
|
43
|
+
var import_theme = require("@multiplatform.one/theme");
|
|
44
|
+
var import_linear_gradient = require("@tamagui/linear-gradient");
|
|
45
|
+
var import_parse_numeric_range = __toESM(require("parse-numeric-range"));
|
|
46
|
+
var import_react = require("react");
|
|
47
|
+
var import_tamagui = require("tamagui");
|
|
48
|
+
var import_icons = require("../icons/index.native.js");
|
|
49
|
+
var import_mdxCodeBlockContext = require("./mdxCodeBlockContext.native.js");
|
|
50
|
+
function _type_of(obj) {
|
|
51
|
+
"@swc/helpers - typeof";
|
|
52
|
+
|
|
53
|
+
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
54
|
+
}
|
|
55
|
+
var zIndex = {
|
|
56
|
+
localTop: 100
|
|
57
|
+
};
|
|
58
|
+
function extractCodeText(children) {
|
|
59
|
+
if (typeof children === "string") return children;
|
|
60
|
+
if (Array.isArray(children)) return children.map(extractCodeText).join("");
|
|
61
|
+
if (children && (typeof children === "undefined" ? "undefined" : _type_of(children)) === "object" && "props" in children) {
|
|
62
|
+
var _children_props;
|
|
63
|
+
return extractCodeText((_children_props = children.props) === null || _children_props === void 0 ? void 0 : _children_props.children);
|
|
64
|
+
}
|
|
65
|
+
return String(children !== null && children !== void 0 ? children : "");
|
|
66
|
+
}
|
|
67
|
+
function extractLanguage(className) {
|
|
68
|
+
if (!className) return "text";
|
|
69
|
+
var match = className.match(/language-(\w+)/);
|
|
70
|
+
return (match === null || match === void 0 ? void 0 : match[1]) || "text";
|
|
71
|
+
}
|
|
72
|
+
function MDXCodeBlock(props) {
|
|
73
|
+
var _ref;
|
|
74
|
+
var {
|
|
75
|
+
children,
|
|
76
|
+
className,
|
|
77
|
+
disableCopy,
|
|
78
|
+
id,
|
|
79
|
+
isCollapsible,
|
|
80
|
+
isHighlightingLines,
|
|
81
|
+
showLineNumbers: propShowLineNumbers,
|
|
82
|
+
size,
|
|
83
|
+
line,
|
|
84
|
+
...codeProps
|
|
85
|
+
} = {
|
|
86
|
+
...(0, import_react.useContext)(import_mdxCodeBlockContext.MDXCodeBlockContext),
|
|
87
|
+
...props
|
|
88
|
+
};
|
|
89
|
+
var {
|
|
90
|
+
knobProps
|
|
91
|
+
} = (0, import_theme.useResolvedKnobs)();
|
|
92
|
+
var codeText = (0, import_react.useMemo)(function () {
|
|
93
|
+
return extractCodeText(children).replace(/\n$/, "");
|
|
94
|
+
}, [children]);
|
|
95
|
+
var language = (0, import_react.useMemo)(function () {
|
|
96
|
+
return extractLanguage(className);
|
|
97
|
+
}, [className]);
|
|
98
|
+
var tokens = (0, import_components.useShikiTokens)(codeText, language);
|
|
99
|
+
var lines = (_ref = tokens === null || tokens === void 0 ? void 0 : tokens.length) !== null && _ref !== void 0 ? _ref : codeText.split("\n").length;
|
|
100
|
+
var showLineNumbers = propShowLineNumbers !== null && propShowLineNumbers !== void 0 ? propShowLineNumbers : lines > 10;
|
|
101
|
+
var [isCollapsed, setIsCollapsed] = (0, import_react.useState)(isCollapsible);
|
|
102
|
+
var isLong = lines > 22;
|
|
103
|
+
var [isCutoff, setIsCutoff] = (0, import_react.useState)(isLong && !isCollapsible);
|
|
104
|
+
var {
|
|
105
|
+
hasCopied,
|
|
106
|
+
onCopy
|
|
107
|
+
} = (0, import_components.useClipboard)(codeText);
|
|
108
|
+
var highlightLines = (0, import_react.useMemo)(function () {
|
|
109
|
+
if (!isHighlightingLines || !line) return [];
|
|
110
|
+
return (0, import_parse_numeric_range.default)(line);
|
|
111
|
+
}, [isHighlightingLines, line]);
|
|
112
|
+
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.YStack, {
|
|
113
|
+
position: "relative",
|
|
114
|
+
marginBottom: "$4",
|
|
115
|
+
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.ErrorBoundary, {
|
|
116
|
+
children: /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.YStack, {
|
|
117
|
+
position: "relative",
|
|
118
|
+
...(isCutoff && {
|
|
119
|
+
maxHeight: 400,
|
|
120
|
+
overflow: "hidden",
|
|
121
|
+
borderRadius: knobProps.borderRadius.borderRadius
|
|
122
|
+
}),
|
|
123
|
+
children: [(!isCollapsed || !isCollapsible) && isCutoff && /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_linear_gradient.LinearGradient, {
|
|
124
|
+
position: "absolute",
|
|
125
|
+
bottom: 0,
|
|
126
|
+
left: 0,
|
|
127
|
+
right: 0,
|
|
128
|
+
height: 200,
|
|
129
|
+
colors: ["$backgroundTransparent", "$background"],
|
|
130
|
+
zIndex: zIndex.localTop,
|
|
131
|
+
children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Spacer, {
|
|
132
|
+
flex: 1
|
|
133
|
+
}), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Button, {
|
|
134
|
+
onPress: function onPress() {
|
|
135
|
+
return setIsCutoff(!isCutoff);
|
|
136
|
+
},
|
|
137
|
+
alignSelf: "center",
|
|
138
|
+
children: "Show more"
|
|
139
|
+
}), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Spacer, {
|
|
140
|
+
size: "$4"
|
|
141
|
+
})]
|
|
142
|
+
}), (!isCollapsed || !isCollapsible) && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Pre, {
|
|
143
|
+
padding: 0,
|
|
144
|
+
marginBottom: 0,
|
|
145
|
+
id,
|
|
146
|
+
"data-line-numbers": showLineNumbers ? "true" : "false",
|
|
147
|
+
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.ScrollView, {
|
|
148
|
+
style: {
|
|
149
|
+
width: "100%"
|
|
150
|
+
},
|
|
151
|
+
contentContainerStyle: {
|
|
152
|
+
minWidth: "100%"
|
|
153
|
+
},
|
|
154
|
+
horizontal: true,
|
|
155
|
+
showsHorizontalScrollIndicator: false,
|
|
156
|
+
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Code, {
|
|
157
|
+
backgroundColor: "transparent",
|
|
158
|
+
flex: 1,
|
|
159
|
+
...knobProps.panelPadding,
|
|
160
|
+
size: size !== null && size !== void 0 ? size : "$5",
|
|
161
|
+
...codeProps,
|
|
162
|
+
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.HighlightedCode, {
|
|
163
|
+
tokens,
|
|
164
|
+
highlightLines,
|
|
165
|
+
showLineNumbers,
|
|
166
|
+
children: codeText
|
|
167
|
+
})
|
|
168
|
+
})
|
|
169
|
+
})
|
|
170
|
+
}), /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.XStack, {
|
|
171
|
+
position: "absolute",
|
|
172
|
+
top: "$3",
|
|
173
|
+
right: "$3",
|
|
174
|
+
...knobProps.gap,
|
|
175
|
+
children: [(!isCollapsed || !isCollapsible) && !disableCopy && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.TooltipSimple, {
|
|
176
|
+
label: hasCopied ? "Copied" : "Copy to clipboard",
|
|
177
|
+
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Button, {
|
|
178
|
+
"aria-label": "Copy code to clipboard",
|
|
179
|
+
size: "$2",
|
|
180
|
+
icon: hasCopied ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_icons.CheckCircleIcon, {
|
|
181
|
+
size: 14
|
|
182
|
+
}) : /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_icons.ClipboardIcon, {
|
|
183
|
+
size: 14
|
|
184
|
+
}),
|
|
185
|
+
onPress: onCopy,
|
|
186
|
+
$xs: {
|
|
187
|
+
display: "none"
|
|
188
|
+
}
|
|
189
|
+
})
|
|
190
|
+
}), isCollapsible && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Button, {
|
|
191
|
+
accessibilityLabel: "Show or hide code",
|
|
192
|
+
size: "$2",
|
|
193
|
+
onPress: function onPress() {
|
|
194
|
+
return setIsCollapsed(function (x) {
|
|
195
|
+
return !x;
|
|
196
|
+
});
|
|
197
|
+
},
|
|
198
|
+
children: isCollapsed ? "Show code" : "Hide code"
|
|
199
|
+
})]
|
|
200
|
+
})]
|
|
201
|
+
})
|
|
202
|
+
})
|
|
203
|
+
});
|
|
204
|
+
}
|
|
205
|
+
//# sourceMappingURL=index.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["__create","Object","create","__defProp","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__getProtoOf","getPrototypeOf","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toESM","mod","isNodeMode","__esModule","value","__toCommonJS","MdxCodeBlock_exports","MDXCodeBlock","module","exports","import_jsx_runtime","require","import_components","import_theme","import_linear_gradient","import_parse_numeric_range","import_react","import_tamagui","import_icons","import_mdxCodeBlockContext","_type_of","obj","Symbol","constructor","zIndex","localTop","extractCodeText","children","Array","isArray","map","join","_children_props","props","String","extractLanguage","className","match","_ref","disableCopy","id","isCollapsible","isHighlightingLines","showLineNumbers","propShowLineNumbers","size","line","codeProps","useContext","MDXCodeBlockContext","knobProps","useResolvedKnobs","codeText","useMemo","replace","language","tokens","useShikiTokens","lines","length","split","isCollapsed","setIsCollapsed","useState","isLong","isCutoff","setIsCutoff","hasCopied","onCopy","useClipboard","highlightLines","default","jsx","YStack","position","marginBottom","ErrorBoundary","jsxs","maxHeight","overflow","borderRadius","LinearGradient","bottom","left","right","height","colors","Spacer","flex","Button","onPress","alignSelf","Pre","padding","ScrollView","style","width","contentContainerStyle","minWidth","horizontal","showsHorizontalScrollIndicator","Code"],"sources":["../../../src/MdxCodeBlock/index.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { renderWithProviders } from "@multiplatform.one/test-utils";
|
|
2
|
+
import { describe, expect, it } from "vitest";
|
|
3
|
+
import { MDXCodeBlock } from "./index.mjs";
|
|
4
|
+
import { jsx } from "react/jsx-runtime";
|
|
5
|
+
describe("MDXCodeBlock", () => {
|
|
6
|
+
it("should render code content", () => {
|
|
7
|
+
const codeContent = /* @__PURE__ */jsx("span", {
|
|
8
|
+
className: "token keyword",
|
|
9
|
+
children: "const"
|
|
10
|
+
});
|
|
11
|
+
const {
|
|
12
|
+
container
|
|
13
|
+
} = renderWithProviders(/* @__PURE__ */jsx(MDXCodeBlock, {
|
|
14
|
+
children: codeContent
|
|
15
|
+
}));
|
|
16
|
+
expect(container.textContent).toContain("const");
|
|
17
|
+
});
|
|
18
|
+
it("should handle collapsible code blocks", () => {
|
|
19
|
+
const codeContent = /* @__PURE__ */jsx("span", {
|
|
20
|
+
children: "Test code"
|
|
21
|
+
});
|
|
22
|
+
const {
|
|
23
|
+
getByText,
|
|
24
|
+
queryByText
|
|
25
|
+
} = renderWithProviders(/* @__PURE__ */jsx(MDXCodeBlock, {
|
|
26
|
+
isCollapsible: true,
|
|
27
|
+
children: codeContent
|
|
28
|
+
}));
|
|
29
|
+
const toggleButton = getByText("Show code");
|
|
30
|
+
expect(toggleButton).toBeDefined();
|
|
31
|
+
expect(queryByText("Test code")).toBeNull();
|
|
32
|
+
});
|
|
33
|
+
it("should show line numbers for long code blocks", () => {
|
|
34
|
+
const longCode = Array.from({
|
|
35
|
+
length: 15
|
|
36
|
+
}, (_, i) => /* @__PURE__ */jsx("span", {
|
|
37
|
+
children: `Line ${i + 1}
|
|
38
|
+
`
|
|
39
|
+
}, i));
|
|
40
|
+
const {
|
|
41
|
+
container
|
|
42
|
+
} = renderWithProviders(/* @__PURE__ */jsx(MDXCodeBlock, {
|
|
43
|
+
children: longCode
|
|
44
|
+
}));
|
|
45
|
+
const pre = container.querySelector("pre");
|
|
46
|
+
expect(pre).toBeDefined();
|
|
47
|
+
expect(pre?.getAttribute("data-line-numbers")).toBe("true");
|
|
48
|
+
});
|
|
49
|
+
it("should not show line numbers for short code blocks", () => {
|
|
50
|
+
const shortCode = Array.from({
|
|
51
|
+
length: 5
|
|
52
|
+
}, (_, i) => /* @__PURE__ */jsx("span", {
|
|
53
|
+
children: `Line ${i + 1}
|
|
54
|
+
`
|
|
55
|
+
}, i));
|
|
56
|
+
const {
|
|
57
|
+
container
|
|
58
|
+
} = renderWithProviders(/* @__PURE__ */jsx(MDXCodeBlock, {
|
|
59
|
+
children: shortCode
|
|
60
|
+
}));
|
|
61
|
+
const pre = container.querySelector("pre");
|
|
62
|
+
expect(pre).toBeDefined();
|
|
63
|
+
expect(pre?.getAttribute("data-line-numbers")).toBe("false");
|
|
64
|
+
});
|
|
65
|
+
it("should handle copy functionality when not disabled", () => {
|
|
66
|
+
const codeContent = /* @__PURE__ */jsx("span", {
|
|
67
|
+
children: "Copy this code"
|
|
68
|
+
});
|
|
69
|
+
const {
|
|
70
|
+
container
|
|
71
|
+
} = renderWithProviders(/* @__PURE__ */jsx(MDXCodeBlock, {
|
|
72
|
+
children: codeContent
|
|
73
|
+
}));
|
|
74
|
+
const copyButton = container.querySelector('[aria-label="Copy code to clipboard"]');
|
|
75
|
+
expect(copyButton).toBeDefined();
|
|
76
|
+
});
|
|
77
|
+
it("should not show copy button when disabled", () => {
|
|
78
|
+
const codeContent = /* @__PURE__ */jsx("span", {
|
|
79
|
+
children: "Cannot copy this"
|
|
80
|
+
});
|
|
81
|
+
const {
|
|
82
|
+
container
|
|
83
|
+
} = renderWithProviders(/* @__PURE__ */jsx(MDXCodeBlock, {
|
|
84
|
+
disableCopy: true,
|
|
85
|
+
children: codeContent
|
|
86
|
+
}));
|
|
87
|
+
const copyButton = container.querySelector('[aria-label="Copy code to clipboard"]');
|
|
88
|
+
expect(copyButton).toBeNull();
|
|
89
|
+
});
|
|
90
|
+
});
|
|
91
|
+
//# sourceMappingURL=mdxCodeBlock.spec.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["renderWithProviders","describe","expect","it","MDXCodeBlock","jsx","codeContent","className","children","container","textContent","toContain","getByText","queryByText","isCollapsible","toggleButton","toBeDefined","toBeNull","longCode","Array","from","length","_","i","pre","querySelector","getAttribute","toBe","shortCode","copyButton","disableCopy"],"sources":["../../../src/MdxCodeBlock/mdxCodeBlock.spec.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var __create = Object.create;
|
|
4
|
+
var __defProp = Object.defineProperty;
|
|
5
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
6
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
7
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
8
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
9
|
+
var __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
12
|
+
get: () => from[key],
|
|
13
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
19
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
20
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
21
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
22
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
23
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
|
24
|
+
value: mod,
|
|
25
|
+
enumerable: true
|
|
26
|
+
}) : target, mod));
|
|
27
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
28
|
+
var import_test_utils = require("@multiplatform.one/test-utils");
|
|
29
|
+
var import_react = __toESM(require("react"));
|
|
30
|
+
var import_vitest = require("vitest");
|
|
31
|
+
var import_index = require("./index.native.js");
|
|
32
|
+
(0, import_vitest.describe)("MDXCodeBlock", function () {
|
|
33
|
+
(0, import_vitest.it)("should render code content", function () {
|
|
34
|
+
var codeContent = /* @__PURE__ */(0, import_jsx_runtime.jsx)("span", {
|
|
35
|
+
className: "token keyword",
|
|
36
|
+
children: "const"
|
|
37
|
+
});
|
|
38
|
+
var {
|
|
39
|
+
container
|
|
40
|
+
} = (0, import_test_utils.renderWithProviders)(/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_index.MDXCodeBlock, {
|
|
41
|
+
children: codeContent
|
|
42
|
+
}));
|
|
43
|
+
(0, import_vitest.expect)(container.textContent).toContain("const");
|
|
44
|
+
});
|
|
45
|
+
(0, import_vitest.it)("should handle collapsible code blocks", function () {
|
|
46
|
+
var codeContent = /* @__PURE__ */(0, import_jsx_runtime.jsx)("span", {
|
|
47
|
+
children: "Test code"
|
|
48
|
+
});
|
|
49
|
+
var {
|
|
50
|
+
getByText,
|
|
51
|
+
queryByText
|
|
52
|
+
} = (0, import_test_utils.renderWithProviders)(/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_index.MDXCodeBlock, {
|
|
53
|
+
isCollapsible: true,
|
|
54
|
+
children: codeContent
|
|
55
|
+
}));
|
|
56
|
+
var toggleButton = getByText("Show code");
|
|
57
|
+
(0, import_vitest.expect)(toggleButton).toBeDefined();
|
|
58
|
+
(0, import_vitest.expect)(queryByText("Test code")).toBeNull();
|
|
59
|
+
});
|
|
60
|
+
(0, import_vitest.it)("should show line numbers for long code blocks", function () {
|
|
61
|
+
var longCode = Array.from({
|
|
62
|
+
length: 15
|
|
63
|
+
}, function (_, i) {
|
|
64
|
+
return /* @__PURE__ */(0, import_jsx_runtime.jsx)("span", {
|
|
65
|
+
children: `Line ${i + 1}
|
|
66
|
+
`
|
|
67
|
+
}, i);
|
|
68
|
+
});
|
|
69
|
+
var {
|
|
70
|
+
container
|
|
71
|
+
} = (0, import_test_utils.renderWithProviders)(/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_index.MDXCodeBlock, {
|
|
72
|
+
children: longCode
|
|
73
|
+
}));
|
|
74
|
+
var pre = container.querySelector("pre");
|
|
75
|
+
(0, import_vitest.expect)(pre).toBeDefined();
|
|
76
|
+
(0, import_vitest.expect)(pre === null || pre === void 0 ? void 0 : pre.getAttribute("data-line-numbers")).toBe("true");
|
|
77
|
+
});
|
|
78
|
+
(0, import_vitest.it)("should not show line numbers for short code blocks", function () {
|
|
79
|
+
var shortCode = Array.from({
|
|
80
|
+
length: 5
|
|
81
|
+
}, function (_, i) {
|
|
82
|
+
return /* @__PURE__ */(0, import_jsx_runtime.jsx)("span", {
|
|
83
|
+
children: `Line ${i + 1}
|
|
84
|
+
`
|
|
85
|
+
}, i);
|
|
86
|
+
});
|
|
87
|
+
var {
|
|
88
|
+
container
|
|
89
|
+
} = (0, import_test_utils.renderWithProviders)(/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_index.MDXCodeBlock, {
|
|
90
|
+
children: shortCode
|
|
91
|
+
}));
|
|
92
|
+
var pre = container.querySelector("pre");
|
|
93
|
+
(0, import_vitest.expect)(pre).toBeDefined();
|
|
94
|
+
(0, import_vitest.expect)(pre === null || pre === void 0 ? void 0 : pre.getAttribute("data-line-numbers")).toBe("false");
|
|
95
|
+
});
|
|
96
|
+
(0, import_vitest.it)("should handle copy functionality when not disabled", function () {
|
|
97
|
+
var codeContent = /* @__PURE__ */(0, import_jsx_runtime.jsx)("span", {
|
|
98
|
+
children: "Copy this code"
|
|
99
|
+
});
|
|
100
|
+
var {
|
|
101
|
+
container
|
|
102
|
+
} = (0, import_test_utils.renderWithProviders)(/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_index.MDXCodeBlock, {
|
|
103
|
+
children: codeContent
|
|
104
|
+
}));
|
|
105
|
+
var copyButton = container.querySelector('[aria-label="Copy code to clipboard"]');
|
|
106
|
+
(0, import_vitest.expect)(copyButton).toBeDefined();
|
|
107
|
+
});
|
|
108
|
+
(0, import_vitest.it)("should not show copy button when disabled", function () {
|
|
109
|
+
var codeContent = /* @__PURE__ */(0, import_jsx_runtime.jsx)("span", {
|
|
110
|
+
children: "Cannot copy this"
|
|
111
|
+
});
|
|
112
|
+
var {
|
|
113
|
+
container
|
|
114
|
+
} = (0, import_test_utils.renderWithProviders)(/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_index.MDXCodeBlock, {
|
|
115
|
+
disableCopy: true,
|
|
116
|
+
children: codeContent
|
|
117
|
+
}));
|
|
118
|
+
var copyButton = container.querySelector('[aria-label="Copy code to clipboard"]');
|
|
119
|
+
(0, import_vitest.expect)(copyButton).toBeNull();
|
|
120
|
+
});
|
|
121
|
+
});
|
|
122
|
+
//# sourceMappingURL=mdxCodeBlock.spec.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["__create","Object","create","__defProp","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__getProtoOf","getPrototypeOf","__hasOwnProp","prototype","hasOwnProperty","__copyProps","to","from","except","desc","key","call","get","enumerable","__toESM","mod","isNodeMode","target","__esModule","value","import_jsx_runtime","require","import_test_utils","import_react","import_vitest","import_index","describe","it","codeContent","jsx","className","children","container","renderWithProviders","MDXCodeBlock","expect","textContent","toContain","getByText","queryByText","isCollapsible","toggleButton","toBeDefined","toBeNull"],"sources":["../../../src/MdxCodeBlock/mdxCodeBlock.spec.tsx"],"sourcesContent":[null],"mappings":"AAAA,YAAS;;AAET,IAAAA,QAAS,GAAAC,MAAU,CAAAC,MAAQ;AAC3B,IAAAC,SAAS,GAAAF,MAAA,CAAAG,cAAoB;AAIL,IAAAC,gBAAA,GAAAJ,MAAA,CAAAK,wBAAA;AAFxB,IAAAC,iBAAS,GAAAN,MAAgB,CAAMO,mBAAA;AAC7B,IAAAC,YAAG,GAAAR,MAAA,CAAAS,cAA8B;AAC/B,IAAAC,YAAM,GAAAV,MAAc,CAAAW,SAAA,CAAAC,cAAC;AAErB,IAAAC,WAAQ,GAAAA,CAAAC,EAAA,EAAUC,IAAI,EAAAC,MAAA,EAAAC,IAAA,KAAoB;EAE1C,IAAAF,IAAA,IAAO,OAAUA,IAAA,aAAa,WAAUA,IAAO;IAChD,SAAAG,GAAA,IAAAZ,iBAAA,CAAAS,IAAA,GAEE,KAAAL,YAAA,CAAAS,IAAA,CAAAL,EAAA,EAAAI,GAAA,KAAAA,GAAA,KAAyCF,MAAM,EAChDd,SAAM,CAAAY,EAAA,EAAAI,GAAc;MAAAE,GAAA,EAAAA,CAAA,KAAAL,IAAC,CAAAG,GAAA;MAAAG,UAAK,IAAAJ,IAAA,GAAAb,gBAAS,CAAAW,IAAA,EAAAG,GAAA,MAAAD,IAAA,CAAAI;IAAA;EAEnC;EAAmC,OACjCP,EAAA;AAAyC;AAG3C,IAAAQ,OAAM,GAAAA,CAAAC,GAAA,EAAAC,UAAe,EAAAC,MAAU,MAAAA,MAAW,GAAAF,GAAA,WAAAxB,QAAA,CAAAS,YAAA,CAAAe,GAAA,SAAAV,WAAA;AAC1C;AACA;AACF;AAEA;AACEW,UAAM,KAAAD,GAAA,IAAW,CAAAA,GAAM,CAAAG,UAAO,GAAQxB,SAAO,CAAGuB,MAAM;EAAAE,KAAC,EAAAJ,GAAA;EAAAF,UAAc;AAAA,KAAQI,MAAK,EAAAF,GAElF;AAEA,IAAAK,kBAAY,GAAAC,OAAU,oBAAmB;AACzC,IAAAC,iBAAY,GAAAD,OAAY;AACxB,IAAAE,YAAY,GAAAT,OAAA,CAAAO,OAAa;AAAiC,IAC3DG,aAAA,GAAAH,OAAA;AAED,IAAAI,YAAG,GAAAJ,OAAA;AACD,IAAAG,aAAM,CAAAE,QAAY,EAAM,cAAO,EAAQ,YAAS;EAAkC,IAAKF,aAAO,CAAAG,EAAA;IAE9F,IAAAC,WAAQ,GAAU,eAAI,IAAAR,kBAAoB,CAAAS,GAAA,EAAC;MAE3CC,SAAM,EAAM,eAAU;MACtBC,QAAU,EAAE;IACZ;IACD;MAAAC;IAAA,QAAAV,iBAAA,CAAAW,mBAAA,qBAAAb,kBAAA,CAAAS,GAAA,EAAAJ,YAAA,CAAAS,YAAA;MAEEH,QAAA,EAAAH;IACD;IAEA,IAAAJ,aAAQ,CAAUW,MAAI,EAAAH,SAAA,CAAAI,WAAoB,EAAAC,SAAA,QAAC;EAE3C;EACA,IAAAb,aAAO,CAAAG,EAAU,EAAE,uCAAY;IAChC,IAAAC,WAAA,sBAAAR,kBAAA,CAAAS,GAAA;MAEEE,QAAA;IACD;IAEA;MAAMO,SAAE;MAAAC;IAAc,QAAAjB,iBAAA,CAAAW,mBAAA,qBAAAb,kBAAA,CAAAS,GAAA,EAAAJ,YAAA,CAAAS,YAAA;MACpBM,aAAA;MACFT,QAAA,EAAAH;IAEA;IACA,IAAAa,YAAO,GAAYH,SAAS;IAC7B,IAAAd,aAAA,CAAAW,MAAA,EAAAM,YAAA,EAAAC,WAAA;IACF,IAAAlB,aAAA,CAAAW,MAAA,EAAAI,WAAA,eAAAI,QAAA","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createContext","MDXCodeBlockContext"],"sources":["../../../src/MdxCodeBlock/mdxCodeBlockContext.ts"],"sourcesContent":[null],"mappings":"AAGA,SAASA,aAAA,QAAqB;AAWvB,MAAMC,mBAAA,GAAsBD,aAAA,CAAwC,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all) __defProp(target, name, {
|
|
9
|
+
get: all[name],
|
|
10
|
+
enumerable: true
|
|
11
|
+
});
|
|
12
|
+
};
|
|
13
|
+
var __copyProps = (to, from, except, desc) => {
|
|
14
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
15
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
16
|
+
get: () => from[key],
|
|
17
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
return to;
|
|
21
|
+
};
|
|
22
|
+
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
23
|
+
value: true
|
|
24
|
+
}), mod);
|
|
25
|
+
var mdxCodeBlockContext_exports = {};
|
|
26
|
+
__export(mdxCodeBlockContext_exports, {
|
|
27
|
+
MDXCodeBlockContext: () => MDXCodeBlockContext
|
|
28
|
+
});
|
|
29
|
+
module.exports = __toCommonJS(mdxCodeBlockContext_exports);
|
|
30
|
+
var import_react = require("react");
|
|
31
|
+
var MDXCodeBlockContext = (0, import_react.createContext)({});
|
|
32
|
+
//# sourceMappingURL=mdxCodeBlockContext.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["__defProp","Object","defineProperty"],"sources":["../../../src/MdxCodeBlock/mdxCodeBlockContext.ts"],"sourcesContent":[null],"mappings":"AAGA,YAAS;;AAWF,IAAAA,SAAM,GAAAC,MAAA,CAAAC,cAAsB","ignoreList":[]}
|