safe-mdx 1.3.2 → 1.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. package/README.md +14 -14
  2. package/dist/assets/HtmlToJsxConverter-Ds0bTjpw.js +24 -0
  3. package/dist/assets/_commonjsHelpers-CqkleIqs.js +1 -0
  4. package/dist/assets/index-B5fPOjPt.css +1 -0
  5. package/dist/assets/index-B7ATSoRE.js +9 -0
  6. package/dist/assets/index-BwZ2FTRd.js +146 -0
  7. package/dist/assets/index-R1UqLMGJ.js +1 -0
  8. package/dist/assets/index-c0qeY2gs.js +9 -0
  9. package/dist/assets/jsx-runtime-BhZZLbvw.js +9 -0
  10. package/dist/assets/jsx-runtime-NArryeSM.js +1 -0
  11. package/dist/assets/react-Ca6JzGpx.js +1 -0
  12. package/dist/assets/react-dom-BYRHYqYl.js +1 -0
  13. package/dist/html/attributes.d.ts +19 -0
  14. package/dist/html/attributes.d.ts.map +1 -0
  15. package/dist/html/attributes.js +289 -0
  16. package/dist/html/attributes.js.map +1 -0
  17. package/dist/html/convert-attributes.d.ts +6 -0
  18. package/dist/html/convert-attributes.d.ts.map +1 -0
  19. package/dist/html/convert-attributes.js +43 -0
  20. package/dist/html/convert-attributes.js.map +1 -0
  21. package/dist/html/domparser-browser.d.ts +4 -0
  22. package/dist/html/domparser-browser.d.ts.map +1 -0
  23. package/dist/html/domparser-browser.js +7 -0
  24. package/dist/html/domparser-browser.js.map +1 -0
  25. package/dist/html/domparser.d.ts +2 -0
  26. package/dist/html/domparser.d.ts.map +1 -0
  27. package/dist/html/domparser.js +5 -0
  28. package/dist/html/domparser.js.map +1 -0
  29. package/dist/html/html-to-mdx-ast.d.ts +23 -0
  30. package/dist/html/html-to-mdx-ast.d.ts.map +1 -0
  31. package/dist/html/html-to-mdx-ast.js +227 -0
  32. package/dist/html/html-to-mdx-ast.js.map +1 -0
  33. package/dist/html/html-to-mdx-ast.test.d.ts +2 -0
  34. package/dist/html/html-to-mdx-ast.test.d.ts.map +1 -0
  35. package/dist/html/html-to-mdx-ast.test.js +324 -0
  36. package/dist/html/html-to-mdx-ast.test.js.map +1 -0
  37. package/dist/html/remark-mdx-jsx-normalize.d.ts +10 -0
  38. package/dist/html/remark-mdx-jsx-normalize.d.ts.map +1 -0
  39. package/dist/html/remark-mdx-jsx-normalize.js +117 -0
  40. package/dist/html/remark-mdx-jsx-normalize.js.map +1 -0
  41. package/dist/html/valid-html-elements.d.ts +10 -0
  42. package/dist/html/valid-html-elements.d.ts.map +1 -0
  43. package/dist/html/valid-html-elements.js +50 -0
  44. package/dist/html/valid-html-elements.js.map +1 -0
  45. package/dist/index.html +19 -0
  46. package/dist/parse.d.ts +2 -0
  47. package/dist/parse.d.ts.map +1 -1
  48. package/dist/parse.js +2 -0
  49. package/dist/parse.js.map +1 -1
  50. package/dist/safe-mdx.d.ts +1 -1
  51. package/dist/safe-mdx.d.ts.map +1 -1
  52. package/dist/safe-mdx.js +23 -71
  53. package/dist/safe-mdx.js.map +1 -1
  54. package/dist/safe-mdx.test.js +161 -8
  55. package/dist/safe-mdx.test.js.map +1 -1
  56. package/package.json +27 -6
  57. package/src/html/README +17 -0
  58. package/src/html/attributes.ts +297 -0
  59. package/src/html/convert-attributes.ts +59 -0
  60. package/src/html/domparser-browser.ts +6 -0
  61. package/src/html/domparser.ts +5 -0
  62. package/src/html/html-to-mdx-ast.test.ts +365 -0
  63. package/src/html/html-to-mdx-ast.ts +304 -0
  64. package/src/html/remark-mdx-jsx-normalize.ts +128 -0
  65. package/src/html/valid-html-elements.ts +65 -0
  66. package/src/parse.ts +3 -0
  67. package/src/safe-mdx.test.tsx +178 -12
  68. package/src/safe-mdx.tsx +23 -79
  69. package/dist/HtmlToJsxConverter.d.ts +0 -10
  70. package/dist/HtmlToJsxConverter.d.ts.map +0 -1
  71. package/dist/HtmlToJsxConverter.js +0 -22
  72. package/dist/HtmlToJsxConverter.js.map +0 -1
  73. package/dist/plugins.d.ts +0 -12
  74. package/dist/plugins.d.ts.map +0 -1
  75. package/dist/plugins.js +0 -68
  76. package/dist/plugins.js.map +0 -1
  77. package/src/HtmlToJsxConverter.tsx +0 -37
@@ -0,0 +1,117 @@
1
+ import { visitParents } from 'unist-util-visit-parents';
2
+ // Type definitions for MDX and MDAST content types
3
+ // type FlowContent = Blockquote | Code | Heading | Html | List | ThematicBreak | Content
4
+ // type PhrasingContent = Break | Emphasis | Html | Image | ImageReference | InlineCode | Link | LinkReference | Strong | Text
5
+ // type MdxJsxFlowContent = MdxJsxFlowElement | FlowContent
6
+ // type MdxJsxPhrasingContent = MdxJsxTextElement | PhrasingContent
7
+ /** Parents that require phrasing/inline children */
8
+ const PHRASE_CONTAINERS = new Set([
9
+ 'paragraph',
10
+ 'heading',
11
+ 'emphasis',
12
+ 'strong',
13
+ 'delete',
14
+ 'link',
15
+ 'linkReference',
16
+ 'tableCell',
17
+ 'mdxJsxTextElement', // MDX JSX text elements should contain phrasing
18
+ ]);
19
+ /** Parents that accept/expect flow (block) content */
20
+ const FLOW_CONTAINERS = new Set([
21
+ 'root',
22
+ 'listItem',
23
+ 'blockquote',
24
+ 'footnoteDefinition',
25
+ 'mdxJsxFlowElement', // MDX JSX flow elements should contain flow
26
+ ]);
27
+ /** Check if a node represents phrasing content */
28
+ function isPhrasing(node) {
29
+ const phrasingTypes = new Set([
30
+ 'text',
31
+ 'emphasis',
32
+ 'strong',
33
+ 'delete',
34
+ 'html',
35
+ 'image',
36
+ 'imageReference',
37
+ 'inlineCode',
38
+ 'link',
39
+ 'linkReference',
40
+ 'break',
41
+ 'mdxJsxTextElement',
42
+ ]);
43
+ return phrasingTypes.has(node.type);
44
+ }
45
+ /** Tags that are typically block-level elements */
46
+ const blockLevelTags = new Set([
47
+ 'div',
48
+ 'p',
49
+ 'blockquote',
50
+ 'h1', 'h2', 'h3', 'h4', 'h5', 'h6',
51
+ 'ul', 'ol', 'li',
52
+ 'pre',
53
+ 'hr',
54
+ 'table', 'thead', 'tbody', 'tfoot', 'tr', 'th', 'td',
55
+ 'section', 'article', 'aside', 'nav', 'header', 'footer', 'main',
56
+ 'figure', 'figcaption',
57
+ // Notion-specific block elements
58
+ 'callout',
59
+ 'columns', 'column',
60
+ 'page',
61
+ 'database',
62
+ 'data-source',
63
+ 'audio', 'video', 'file', 'pdf', 'embed',
64
+ 'synced_block', 'synced_block_reference',
65
+ 'meeting-notes', 'summary', 'notes', 'transcript',
66
+ 'table_of_contents',
67
+ 'unknown',
68
+ 'image', // Images can be block-level in Notion
69
+ ]);
70
+ /**
71
+ * remark plugin: make mdxJsx* element kinds match their context.
72
+ * - Inside phrasing parents → mdxJsxTextElement
73
+ * - Inside flow parents → mdxJsxFlowElement
74
+ * - Elements with block-level tag names → mdxJsxFlowElement
75
+ * - Elements containing non-phrasing children → mdxJsxFlowElement
76
+ */
77
+ export default function remarkMdxJsxNormalize() {
78
+ return function transform(tree) {
79
+ visitParents(tree, isMdxJsx, (node, ancestors) => {
80
+ const element = node;
81
+ const parent = ancestors[ancestors.length - 1];
82
+ if (!parent)
83
+ return;
84
+ const parentType = parent.type;
85
+ const parentExpectsPhrasing = PHRASE_CONTAINERS.has(parentType);
86
+ const parentExpectsFlow = FLOW_CONTAINERS.has(parentType);
87
+ // Check element properties
88
+ const hasBlockTag = element.name ? blockLevelTags.has(element.name.toLowerCase()) : false;
89
+ const children = (element.children || []);
90
+ const containsNonPhrasing = children.some((c) => !isPhrasing(c));
91
+ // Determine desired type
92
+ let desired = element.type;
93
+ // Priority rules:
94
+ // 1. If it has a block-level tag name, it should be flow
95
+ // 2. If it contains non-phrasing children, it should be flow
96
+ // 3. Otherwise, match parent context
97
+ if (hasBlockTag || containsNonPhrasing) {
98
+ desired = 'mdxJsxFlowElement';
99
+ }
100
+ else if (parentExpectsPhrasing) {
101
+ desired = 'mdxJsxTextElement';
102
+ }
103
+ else if (parentExpectsFlow) {
104
+ desired = 'mdxJsxFlowElement';
105
+ }
106
+ // Apply the change if needed
107
+ if (element.type !== desired) {
108
+ element.type = desired;
109
+ }
110
+ });
111
+ };
112
+ }
113
+ /** Check if a node is an MDX JSX element */
114
+ function isMdxJsx(node) {
115
+ return node.type === 'mdxJsxTextElement' || node.type === 'mdxJsxFlowElement';
116
+ }
117
+ //# sourceMappingURL=remark-mdx-jsx-normalize.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remark-mdx-jsx-normalize.js","sourceRoot":"","sources":["../../src/html/remark-mdx-jsx-normalize.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ export declare const validHtmlElements: Set<string>;
2
+ export declare const nativeTags: readonly string[];
3
+ /**
4
+ * Convert HTML tag name to JSX component name
5
+ * Returns empty string if the tag is not a valid HTML element
6
+ */
7
+ export declare function htmlTagNameConverter({ tagName }: {
8
+ tagName: string;
9
+ }): string;
10
+ //# sourceMappingURL=valid-html-elements.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"valid-html-elements.d.ts","sourceRoot":"","sources":["../../src/html/valid-html-elements.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,iBAAiB,aA2C5B,CAAA;AAGF,eAAO,MAAM,UAAU,mBAAqD,CAAA;AAE5E;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,OAAO,EAAE,EAAE;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAU7E"}
@@ -0,0 +1,50 @@
1
+ // List of valid HTML elements that should be preserved
2
+ // All other elements will be filtered out (return empty string)
3
+ export const validHtmlElements = new Set([
4
+ // Document metadata
5
+ 'base', 'head', 'link', 'meta', 'style', 'title',
6
+ // Content sectioning
7
+ 'address', 'article', 'aside', 'footer', 'header', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6',
8
+ 'main', 'nav', 'section',
9
+ // Text content
10
+ 'blockquote', 'dd', 'div', 'dl', 'dt', 'figcaption', 'figure', 'hr', 'li', 'ol', 'p', 'pre', 'ul',
11
+ // Inline text semantics
12
+ 'a', 'abbr', 'b', 'bdi', 'bdo', 'br', 'cite', 'code', 'data', 'dfn', 'em', 'i', 'kbd',
13
+ 'mark', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'small', 'span', 'strong', 'sub', 'sup',
14
+ 'time', 'u', 'var', 'wbr',
15
+ // Image and multimedia
16
+ 'area', 'audio', 'img', 'map', 'track', 'video',
17
+ // Embedded content
18
+ 'embed', 'iframe', 'object', 'param', 'picture', 'portal', 'source',
19
+ // SVG and MathML
20
+ 'svg', 'math', 'path',
21
+ // Scripting
22
+ 'canvas', 'noscript', 'script',
23
+ // Demarcating edits
24
+ 'del', 'ins',
25
+ // Table content
26
+ 'caption', 'col', 'colgroup', 'table', 'tbody', 'td', 'tfoot', 'th', 'thead', 'tr',
27
+ // Forms
28
+ 'button', 'datalist', 'fieldset', 'form', 'input', 'label', 'legend', 'meter', 'optgroup',
29
+ 'option', 'output', 'progress', 'select', 'textarea',
30
+ // Interactive elements
31
+ 'details', 'dialog', 'menu', 'summary',
32
+ // Web Components
33
+ 'slot', 'template',
34
+ ]);
35
+ // Export as an array for backward compatibility with nativeTags
36
+ export const nativeTags = Array.from(validHtmlElements);
37
+ /**
38
+ * Convert HTML tag name to JSX component name
39
+ * Returns empty string if the tag is not a valid HTML element
40
+ */
41
+ export function htmlTagNameConverter({ tagName }) {
42
+ const lowerTag = tagName.toLowerCase();
43
+ // Check if it's a valid HTML element
44
+ if (validHtmlElements.has(lowerTag)) {
45
+ return lowerTag;
46
+ }
47
+ // Return empty string for non-HTML elements
48
+ return '';
49
+ }
50
+ //# sourceMappingURL=valid-html-elements.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"valid-html-elements.js","sourceRoot":"","sources":["../../src/html/valid-html-elements.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,gEAAgE;AAChE,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC;IACrC,oBAAoB;IACpB,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO;IAEhD,qBAAqB;IACrB,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;IACrF,MAAM,EAAE,KAAK,EAAE,SAAS;IAExB,eAAe;IACf,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI;IAEjG,wBAAwB;IACxB,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK;IACrF,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK;IACrF,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK;IAEzB,uBAAuB;IACvB,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO;IAE/C,mBAAmB;IACnB,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ;IAEnE,iBAAiB;IACjB,KAAK,EAAE,MAAM,EAAE,MAAM;IAErB,YAAY;IACZ,QAAQ,EAAE,UAAU,EAAE,QAAQ;IAE9B,oBAAoB;IACpB,KAAK,EAAE,KAAK;IAEZ,gBAAgB;IAChB,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI;IAElF,QAAQ;IACR,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU;IACzF,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU;IAEpD,uBAAuB;IACvB,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS;IAEtC,iBAAiB;IACjB,MAAM,EAAE,UAAU;CACrB,CAAC,CAAA;AAEF,gEAAgE;AAChE,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAsB,CAAA;AAE5E;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,EAAE,OAAO,EAAuB;IACjE,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,EAAE,CAAA;IAEtC,qCAAqC;IACrC,IAAI,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;QACjC,OAAO,QAAQ,CAAA;KAClB;IAED,4CAA4C;IAC5C,OAAO,EAAE,CAAA;AACb,CAAC"}
@@ -0,0 +1,19 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
+ <title>Safe MDX Demo with Vite + React + Tailwind v4</title>
7
+
8
+ <script type="module" crossorigin src="/assets/index-BwZ2FTRd.js"></script>
9
+ <link rel="modulepreload" crossorigin href="/assets/_commonjsHelpers-CqkleIqs.js">
10
+ <link rel="modulepreload" crossorigin href="/assets/jsx-runtime-BhZZLbvw.js">
11
+ <link rel="modulepreload" crossorigin href="/assets/index-c0qeY2gs.js">
12
+ <link rel="modulepreload" crossorigin href="/assets/index-B7ATSoRE.js">
13
+ <link rel="modulepreload" crossorigin href="/assets/index-R1UqLMGJ.js">
14
+ <link rel="stylesheet" crossorigin href="/assets/index-B5fPOjPt.css">
15
+ </head>
16
+ <body>
17
+ <div id="root"></div>
18
+ </body>
19
+ </html>
package/dist/parse.d.ts CHANGED
@@ -1,4 +1,6 @@
1
1
  import { Root } from 'mdast';
2
+ import { parseHtmlToMdxAst } from './html/html-to-mdx-ast.js';
3
+ export { parseHtmlToMdxAst };
2
4
  export declare function mdxParse(code: string): Root;
3
5
  /**
4
6
  * https://github.com/mdx-js/mdx/blob/b3351fadcb6f78833a72757b7135dcfb8ab646fe/packages/mdx/lib/plugin/remark-mark-and-unravel.js
@@ -1 +1 @@
1
- {"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../src/parse.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,IAAI,EAAe,MAAM,OAAO,CAAA;AAKzC,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,QAGpC;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,WACT,IAAI,UAqE9B"}
1
+ {"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../src/parse.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,IAAI,EAAe,MAAM,OAAO,CAAA;AAIzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAE7D,OAAO,EAAE,iBAAiB,EAAE,CAAA;AAE5B,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,QAGpC;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,WACT,IAAI,UAqE9B"}
package/dist/parse.js CHANGED
@@ -4,6 +4,8 @@ import { visit } from 'unist-util-visit';
4
4
  import { remark } from 'remark';
5
5
  import remarkGfm from 'remark-gfm';
6
6
  import remarkMdx from 'remark-mdx';
7
+ import { parseHtmlToMdxAst } from './html/html-to-mdx-ast.js';
8
+ export { parseHtmlToMdxAst };
7
9
  export function mdxParse(code) {
8
10
  const file = mdxProcessor.processSync(code);
9
11
  return file.data.ast;
package/dist/parse.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"parse.js","sourceRoot":"","sources":["../src/parse.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAExC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,SAAS,MAAM,YAAY,CAAA;AAClC,OAAO,SAAS,MAAM,YAAY,CAAA;AAElC,MAAM,UAAU,QAAQ,CAAC,IAAY;IACjC,MAAM,IAAI,GAAG,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;IAC3C,OAAO,IAAI,CAAC,IAAI,CAAC,GAAW,CAAA;AAChC,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,oBAAoB;IAChC,OAAO,UAAU,IAAU;QACvB,KAAK,CAAC,IAAI,EAAE,UAAU,IAAI,EAAE,KAAK,EAAE,MAAM;YACrC,IAAI,MAAM,GAAG,CAAC,CAAC,CAAA;YACf,IAAI,GAAG,GAAG,IAAI,CAAA;YACd,IAAI,SAAS,GAAG,KAAK,CAAA;YAErB,IACI,MAAM;gBACN,OAAO,KAAK,KAAK,QAAQ;gBACzB,IAAI,CAAC,IAAI,KAAK,WAAW,EAC3B;gBACE,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;gBAE9B,OAAO,EAAE,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAE;oBAC/B,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAA;oBAE9B,IACI,KAAK,CAAC,IAAI,KAAK,mBAAmB;wBAClC,KAAK,CAAC,IAAI,KAAK,mBAAmB,EACpC;wBACE,SAAS,GAAG,IAAI,CAAA;qBACnB;yBAAM,IACH,KAAK,CAAC,IAAI,KAAK,MAAM;wBACrB,kBAAkB,CAAC,KAAK,CAAC,KAAK,EAAE;4BAC5B,KAAK,EAAE,MAAM;4BACb,IAAI,EAAE,IAAI;yBACb,CAAC,KAAK,EAAE,EACX;wBACE,SAAS;qBACZ;yBAAM;wBACH,GAAG,GAAG,KAAK,CAAA;wBACX,MAAK;qBACR;iBACJ;gBAED,IAAI,GAAG,IAAI,SAAS,EAAE;oBAClB,MAAM,GAAG,CAAC,CAAC,CAAA;oBAEX,MAAM,WAAW,GAAkB,EAAE,CAAA;oBAErC,OAAO,EAAE,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAE;wBAC/B,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAA;wBAE9B,IAAI,KAAK,CAAC,IAAI,KAAK,mBAAmB,EAAE;4BACpC,wEAAwE;4BACxE,KAAK,CAAC,IAAI,GAAG,mBAAmB,CAAA;yBACnC;wBAED,IAAI,KAAK,CAAC,IAAI,KAAK,mBAAmB,EAAE;4BACpC,wEAAwE;4BACxE,KAAK,CAAC,IAAI,GAAG,mBAAmB,CAAA;yBACnC;wBAED,IACI,KAAK,CAAC,IAAI,KAAK,MAAM;4BACrB,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAC1C;4BACE,SAAS;yBACZ;6BAAM;4BACH,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;yBAC1B;qBACJ;oBAED,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,WAAW,CAAC,CAAA;oBAChD,OAAO,KAAK,CAAA;iBACf;aACJ;QACL,CAAC,CAAC,CAAA;IACN,CAAC,CAAA;AACL,CAAC;AAED,MAAM,YAAY,GAAG,MAAM,EAAE;KACxB,GAAG,CAAC,SAAS,CAAC;KACd,GAAG,CAAC,iBAAiB,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACxC,GAAG,CAAC,SAAS,CAAC;KACd,GAAG,CAAC,oBAAoB,CAAC;KACzB,GAAG,CAAC,GAAG,EAAE;IACN,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;QAClB,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAA;IACxB,CAAC,CAAA;AACL,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"parse.js","sourceRoot":"","sources":["../src/parse.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ import type { JSXElement } from 'estree-jsx';
4
4
  import type { Node, Parent, Root, RootContent } from 'mdast';
5
5
  import type { MdxJsxFlowElement, MdxJsxTextElement } from 'mdast-util-mdx-jsx';
6
6
  import { ReactNode } from 'react';
7
+ import { nativeTags } from './html/valid-html-elements.js';
7
8
  export type MyRootContent = RootContent | Root;
8
9
  declare module 'mdast' {
9
10
  interface HProperties {
@@ -64,7 +65,6 @@ export declare class MdastToJsx {
64
65
  mdastTransformer(node: MyRootContent): ReactNode;
65
66
  }
66
67
  export declare function mdastBfs(node: Parent | Node, cb?: (node: Node | Parent) => any): any[];
67
- declare const nativeTags: readonly ["blockquote", "strong", "em", "del", "hr", "a", "b", "br", "button", "div", "form", "h1", "h2", "h3", "h4", "head", "iframe", "img", "input", "label", "li", "link", "ol", "p", "path", "picture", "script", "section", "source", "span", "sub", "sup", "svg", "table", "tbody", "td", "tfoot", "th", "thead", "tr", "ul", "video", "code", "pre", "figure", "canvas", "details", "dl", "dt", "dd", "fieldset", "footer", "header", "legend", "main", "mark", "nav", "progress", "summary", "time"];
68
68
  type ComponentsMap = {
69
69
  [k in (typeof nativeTags)[number]]?: any;
70
70
  } & {
@@ -1 +1 @@
1
- {"version":3,"file":"safe-mdx.d.ts","sourceRoot":"","sources":["../src/safe-mdx.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"safe-mdx.d.ts","sourceRoot":"","sources":["../src/safe-mdx.tsx"],"names":[],"mappings":"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"}
package/dist/safe-mdx.js CHANGED
@@ -1,11 +1,10 @@
1
- import React, { Suspense, cloneElement } from 'react';
1
+ import React, { cloneElement } from 'react';
2
2
  import Evaluate from 'eval-estree-expression';
3
3
  import { Fragment } from 'react';
4
4
  import { DynamicEsmComponent } from './dynamic-esm-component.js';
5
5
  import { extractComponentInfo, parseEsmImports } from './esm-parser.js';
6
- const HtmlToJsxConverter = React.lazy(() => import('./HtmlToJsxConverter.js').then((module) => ({
7
- default: module.HtmlToJsxConverter,
8
- })));
6
+ import { htmlToMdxAst } from './html/html-to-mdx-ast.js';
7
+ import { validHtmlElements, nativeTags } from './html/valid-html-elements.js';
9
8
  export const SafeMdxRenderer = React.memo(function SafeMdxRenderer({ components, markdown = '', mdast = null, renderNode, componentPropsSchema, createElement, allowClientEsmImports = false, addMarkdownLineNumbers = false, }) {
10
9
  const visitor = new MdastToJsx({
11
10
  markdown,
@@ -616,11 +615,26 @@ export class MdastToJsx {
616
615
  if (!text) {
617
616
  return [];
618
617
  }
619
- return this.createElement(Suspense, { fallback: null }, this.createElement(HtmlToJsxConverter, {
620
- htmlText: text,
621
- instance: this,
622
- node,
623
- }));
618
+ // Parse HTML to MDX AST using the new approach
619
+ const mdxAst = htmlToMdxAst({
620
+ html: text,
621
+ convertTagName: ({ tagName }) => {
622
+ const lowerTag = tagName.toLowerCase();
623
+ // Only keep valid HTML elements
624
+ if (validHtmlElements.has(lowerTag)) {
625
+ return lowerTag;
626
+ }
627
+ // Return empty string for non-HTML elements
628
+ return '';
629
+ }
630
+ });
631
+ // Process the MDX AST nodes
632
+ if (Array.isArray(mdxAst)) {
633
+ return mdxAst.map(child => this.mdastTransformer(child));
634
+ }
635
+ else {
636
+ return this.mdastTransformer(mdxAst);
637
+ }
624
638
  }
625
639
  case 'imageReference': {
626
640
  return [];
@@ -671,66 +685,4 @@ function safeJsonParse(str) {
671
685
  return null;
672
686
  }
673
687
  }
674
- const nativeTags = [
675
- 'blockquote',
676
- 'strong',
677
- 'em',
678
- 'del',
679
- 'hr',
680
- 'a',
681
- 'b',
682
- 'br',
683
- 'button',
684
- 'div',
685
- 'form',
686
- 'h1',
687
- 'h2',
688
- 'h3',
689
- 'h4',
690
- 'head',
691
- 'iframe',
692
- 'img',
693
- 'input',
694
- 'label',
695
- 'li',
696
- 'link',
697
- 'ol',
698
- 'p',
699
- 'path',
700
- 'picture',
701
- 'script',
702
- 'section',
703
- 'source',
704
- 'span',
705
- 'sub',
706
- 'sup',
707
- 'svg',
708
- 'table',
709
- 'tbody',
710
- 'td',
711
- 'tfoot',
712
- 'th',
713
- 'thead',
714
- 'tr',
715
- 'ul',
716
- 'video',
717
- 'code',
718
- 'pre',
719
- 'figure',
720
- 'canvas',
721
- 'details',
722
- 'dl',
723
- 'dt',
724
- 'dd',
725
- 'fieldset',
726
- 'footer',
727
- 'header',
728
- 'legend',
729
- 'main',
730
- 'mark',
731
- 'nav',
732
- 'progress',
733
- 'summary',
734
- 'time',
735
- ];
736
688
  //# sourceMappingURL=safe-mdx.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"safe-mdx.js","sourceRoot":"","sources":["../src/safe-mdx.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"safe-mdx.js","sourceRoot":"","sources":["../src/safe-mdx.tsx"],"names":[],"mappings":"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"}