react-native-nitro-markdown 0.5.3 → 0.5.5

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 (125) hide show
  1. package/README.md +89 -10
  2. package/android/CMakeLists.txt +1 -1
  3. package/android/src/main/java/com/margelo/nitro/com/nitromarkdown/HybridMarkdownSession.kt +9 -3
  4. package/cpp/CMakeLists.txt +2 -1
  5. package/cpp/bindings/HybridMarkdownParser.cpp +4 -2
  6. package/cpp/core/MD4CParser.cpp +69 -2
  7. package/cpp/core/MD4CParser.hpp +17 -0
  8. package/cpp/core/MarkdownTypes.hpp +1 -1
  9. package/lib/commonjs/headless.js +2 -2
  10. package/lib/commonjs/markdown.js +56 -44
  11. package/lib/commonjs/markdown.js.map +1 -1
  12. package/lib/commonjs/renderers/blockquote.js +15 -13
  13. package/lib/commonjs/renderers/blockquote.js.map +1 -1
  14. package/lib/commonjs/renderers/code.js +57 -53
  15. package/lib/commonjs/renderers/code.js.map +1 -1
  16. package/lib/commonjs/renderers/heading.js +48 -46
  17. package/lib/commonjs/renderers/heading.js.map +1 -1
  18. package/lib/commonjs/renderers/horizontal-rule.js +10 -8
  19. package/lib/commonjs/renderers/horizontal-rule.js.map +1 -1
  20. package/lib/commonjs/renderers/image.js +12 -3
  21. package/lib/commonjs/renderers/image.js.map +1 -1
  22. package/lib/commonjs/renderers/list.js +75 -70
  23. package/lib/commonjs/renderers/list.js.map +1 -1
  24. package/lib/commonjs/renderers/math.js +4 -3
  25. package/lib/commonjs/renderers/math.js.map +1 -1
  26. package/lib/commonjs/renderers/paragraph.js +15 -13
  27. package/lib/commonjs/renderers/paragraph.js.map +1 -1
  28. package/lib/commonjs/renderers/style-cache.js +14 -0
  29. package/lib/commonjs/renderers/style-cache.js.map +1 -0
  30. package/lib/commonjs/renderers/table/index.js +7 -4
  31. package/lib/commonjs/renderers/table/index.js.map +1 -1
  32. package/lib/module/headless.js +2 -2
  33. package/lib/module/markdown.js +56 -44
  34. package/lib/module/markdown.js.map +1 -1
  35. package/lib/module/renderers/blockquote.js +15 -13
  36. package/lib/module/renderers/blockquote.js.map +1 -1
  37. package/lib/module/renderers/code.js +57 -53
  38. package/lib/module/renderers/code.js.map +1 -1
  39. package/lib/module/renderers/heading.js +48 -46
  40. package/lib/module/renderers/heading.js.map +1 -1
  41. package/lib/module/renderers/horizontal-rule.js +10 -8
  42. package/lib/module/renderers/horizontal-rule.js.map +1 -1
  43. package/lib/module/renderers/image.js +13 -4
  44. package/lib/module/renderers/image.js.map +1 -1
  45. package/lib/module/renderers/list.js +75 -70
  46. package/lib/module/renderers/list.js.map +1 -1
  47. package/lib/module/renderers/math.js +4 -3
  48. package/lib/module/renderers/math.js.map +1 -1
  49. package/lib/module/renderers/paragraph.js +15 -13
  50. package/lib/module/renderers/paragraph.js.map +1 -1
  51. package/lib/module/renderers/style-cache.js +10 -0
  52. package/lib/module/renderers/style-cache.js.map +1 -0
  53. package/lib/module/renderers/table/index.js +7 -4
  54. package/lib/module/renderers/table/index.js.map +1 -1
  55. package/lib/typescript/commonjs/Markdown.nitro.d.ts +1 -0
  56. package/lib/typescript/commonjs/Markdown.nitro.d.ts.map +1 -1
  57. package/lib/typescript/commonjs/headless.d.ts +2 -2
  58. package/lib/typescript/commonjs/markdown.d.ts +7 -1
  59. package/lib/typescript/commonjs/markdown.d.ts.map +1 -1
  60. package/lib/typescript/commonjs/renderers/blockquote.d.ts +1 -1
  61. package/lib/typescript/commonjs/renderers/blockquote.d.ts.map +1 -1
  62. package/lib/typescript/commonjs/renderers/code.d.ts.map +1 -1
  63. package/lib/typescript/commonjs/renderers/heading.d.ts +1 -1
  64. package/lib/typescript/commonjs/renderers/heading.d.ts.map +1 -1
  65. package/lib/typescript/commonjs/renderers/horizontal-rule.d.ts +1 -1
  66. package/lib/typescript/commonjs/renderers/horizontal-rule.d.ts.map +1 -1
  67. package/lib/typescript/commonjs/renderers/image.d.ts.map +1 -1
  68. package/lib/typescript/commonjs/renderers/list.d.ts +1 -1
  69. package/lib/typescript/commonjs/renderers/list.d.ts.map +1 -1
  70. package/lib/typescript/commonjs/renderers/math.d.ts +1 -1
  71. package/lib/typescript/commonjs/renderers/math.d.ts.map +1 -1
  72. package/lib/typescript/commonjs/renderers/paragraph.d.ts +1 -1
  73. package/lib/typescript/commonjs/renderers/paragraph.d.ts.map +1 -1
  74. package/lib/typescript/commonjs/renderers/style-cache.d.ts +3 -0
  75. package/lib/typescript/commonjs/renderers/style-cache.d.ts.map +1 -0
  76. package/lib/typescript/commonjs/renderers/table/index.d.ts.map +1 -1
  77. package/lib/typescript/commonjs/theme.d.ts +2 -2
  78. package/lib/typescript/commonjs/theme.d.ts.map +1 -1
  79. package/lib/typescript/module/Markdown.nitro.d.ts +1 -0
  80. package/lib/typescript/module/Markdown.nitro.d.ts.map +1 -1
  81. package/lib/typescript/module/headless.d.ts +2 -2
  82. package/lib/typescript/module/markdown.d.ts +7 -1
  83. package/lib/typescript/module/markdown.d.ts.map +1 -1
  84. package/lib/typescript/module/renderers/blockquote.d.ts +1 -1
  85. package/lib/typescript/module/renderers/blockquote.d.ts.map +1 -1
  86. package/lib/typescript/module/renderers/code.d.ts.map +1 -1
  87. package/lib/typescript/module/renderers/heading.d.ts +1 -1
  88. package/lib/typescript/module/renderers/heading.d.ts.map +1 -1
  89. package/lib/typescript/module/renderers/horizontal-rule.d.ts +1 -1
  90. package/lib/typescript/module/renderers/horizontal-rule.d.ts.map +1 -1
  91. package/lib/typescript/module/renderers/image.d.ts.map +1 -1
  92. package/lib/typescript/module/renderers/list.d.ts +1 -1
  93. package/lib/typescript/module/renderers/list.d.ts.map +1 -1
  94. package/lib/typescript/module/renderers/math.d.ts +1 -1
  95. package/lib/typescript/module/renderers/math.d.ts.map +1 -1
  96. package/lib/typescript/module/renderers/paragraph.d.ts +1 -1
  97. package/lib/typescript/module/renderers/paragraph.d.ts.map +1 -1
  98. package/lib/typescript/module/renderers/style-cache.d.ts +3 -0
  99. package/lib/typescript/module/renderers/style-cache.d.ts.map +1 -0
  100. package/lib/typescript/module/renderers/table/index.d.ts.map +1 -1
  101. package/lib/typescript/module/theme.d.ts +2 -2
  102. package/lib/typescript/module/theme.d.ts.map +1 -1
  103. package/nitro.json +12 -3
  104. package/nitrogen/generated/android/NitroMarkdownOnLoad.cpp +2 -2
  105. package/nitrogen/generated/android/c++/JFunc_void.hpp +2 -2
  106. package/nitrogen/generated/android/c++/JFunc_void_double_double.hpp +2 -2
  107. package/nitrogen/generated/android/c++/JHybridMarkdownSessionSpec.hpp +2 -2
  108. package/nitrogen/generated/ios/NitroMarkdown+autolinking.rb +2 -0
  109. package/nitrogen/generated/shared/c++/ParserOptions.hpp +6 -2
  110. package/package.json +6 -5
  111. package/react-native-nitro-markdown.podspec +3 -0
  112. package/src/Markdown.nitro.ts +1 -0
  113. package/src/headless.ts +2 -2
  114. package/src/markdown.tsx +102 -58
  115. package/src/renderers/blockquote.tsx +22 -17
  116. package/src/renderers/code.tsx +75 -63
  117. package/src/renderers/heading.tsx +60 -54
  118. package/src/renderers/horizontal-rule.tsx +17 -12
  119. package/src/renderers/image.tsx +15 -4
  120. package/src/renderers/list.tsx +93 -76
  121. package/src/renderers/math.tsx +8 -3
  122. package/src/renderers/paragraph.tsx +22 -17
  123. package/src/renderers/style-cache.ts +14 -0
  124. package/src/renderers/table/index.tsx +15 -10
  125. package/src/theme.ts +2 -2
@@ -53,6 +53,7 @@ const baseStylesCache = new WeakMap();
53
53
  const parseAstCache = new Map();
54
54
  const MAX_PARSE_CACHE_ENTRIES = 32;
55
55
  const MAX_CACHEABLE_TEXT_LENGTH = 24_000;
56
+ const EMPTY_RENDERERS = {};
56
57
  const isMarkdownNode = value => {
57
58
  if (typeof value !== "object" || value === null) return false;
58
59
  return typeof Reflect.get(value, "type") === "string";
@@ -71,21 +72,24 @@ const cloneMarkdownNode = node => {
71
72
  };
72
73
  };
73
74
  const getParserOptionsKey = options => {
74
- if (!options) return "gfm:default|math:default";
75
+ if (!options) return "gfm:default|math:default|html:default";
75
76
  const gfm = options.gfm === undefined ? "default" : options.gfm ? "1" : "0";
76
77
  const math = options.math === undefined ? "default" : options.math ? "1" : "0";
77
- return `gfm:${gfm}|math:${math}`;
78
+ const html = options.html === undefined ? "default" : options.html ? "1" : "0";
79
+ return `gfm:${gfm}|math:${math}|html:${html}`;
78
80
  };
79
81
  const normalizeParserOptions = options => {
80
82
  if (!options) return undefined;
81
83
  const gfm = options.gfm;
82
84
  const math = options.math;
83
- if (gfm === undefined && math === undefined) {
85
+ const html = options.html;
86
+ if (gfm === undefined && math === undefined && html === undefined) {
84
87
  return undefined;
85
88
  }
86
89
  return {
87
90
  gfm,
88
- math
91
+ math,
92
+ html
89
93
  };
90
94
  };
91
95
  const parseWithNativeParser = (text, options) => {
@@ -99,14 +103,17 @@ const getCachedParsedAst = (text, options) => {
99
103
  return parseWithNativeParser(text, options);
100
104
  }
101
105
  const cacheKey = `${getParserOptionsKey(options)}|${text.length}|${hashString(text)}`;
102
- const cachedNode = parseAstCache.get(cacheKey);
103
- if (cachedNode) {
106
+ const cachedEntry = parseAstCache.get(cacheKey);
107
+ if (cachedEntry?.text === text) {
104
108
  parseAstCache.delete(cacheKey);
105
- parseAstCache.set(cacheKey, cachedNode);
106
- return cloneMarkdownNode(cachedNode);
109
+ parseAstCache.set(cacheKey, cachedEntry);
110
+ return cloneMarkdownNode(cachedEntry.ast);
107
111
  }
108
112
  const parsedNode = parseWithNativeParser(text, options);
109
- parseAstCache.set(cacheKey, parsedNode);
113
+ parseAstCache.set(cacheKey, {
114
+ text,
115
+ ast: parsedNode
116
+ });
110
117
  if (parseAstCache.size > MAX_PARSE_CACHE_ENTRIES) {
111
118
  const oldestCacheKey = parseAstCache.keys().next().value;
112
119
  if (typeof oldestCacheKey === "string") {
@@ -115,13 +122,18 @@ const getCachedParsedAst = (text, options) => {
115
122
  }
116
123
  return cloneMarkdownNode(parsedNode);
117
124
  };
118
- const applyBeforeParsePlugins = (markdown, plugins, onError) => {
125
+ const sortPluginsByPriority = plugins => {
119
126
  if (!plugins || plugins.length === 0) {
127
+ return undefined;
128
+ }
129
+ return [...plugins].sort((a, b) => (b.priority ?? 0) - (a.priority ?? 0));
130
+ };
131
+ const applyBeforeParsePlugins = (markdown, sortedPlugins, onError) => {
132
+ if (!sortedPlugins || sortedPlugins.length === 0) {
120
133
  return markdown;
121
134
  }
122
- const sorted = [...plugins].sort((a, b) => (b.priority ?? 0) - (a.priority ?? 0));
123
135
  let nextMarkdown = markdown;
124
- for (const plugin of sorted) {
136
+ for (const plugin of sortedPlugins) {
125
137
  if (!plugin.beforeParse) continue;
126
138
  try {
127
139
  const transformed = plugin.beforeParse(nextMarkdown);
@@ -136,13 +148,12 @@ const applyBeforeParsePlugins = (markdown, plugins, onError) => {
136
148
  }
137
149
  return nextMarkdown;
138
150
  };
139
- const applyAfterParsePlugins = (ast, plugins, onError) => {
140
- if (!plugins || plugins.length === 0) {
151
+ const applyAfterParsePlugins = (ast, sortedPlugins, onError) => {
152
+ if (!sortedPlugins || sortedPlugins.length === 0) {
141
153
  return ast;
142
154
  }
143
- const sorted = [...plugins].sort((a, b) => (b.priority ?? 0) - (a.priority ?? 0));
144
155
  let nextAst = ast;
145
- for (const plugin of sorted) {
156
+ for (const plugin of sortedPlugins) {
146
157
  if (!plugin.afterParse) continue;
147
158
  try {
148
159
  const transformed = plugin.afterParse(nextAst);
@@ -162,8 +173,9 @@ const Markdown = ({
162
173
  options,
163
174
  plugins,
164
175
  sourceAst,
176
+ parseCache = true,
165
177
  astTransform,
166
- renderers = {},
178
+ renderers = EMPTY_RENDERERS,
167
179
  theme: userTheme,
168
180
  styles: nodeStyles,
169
181
  stylingStrategy = "opinionated",
@@ -180,21 +192,22 @@ const Markdown = ({
180
192
  }) => {
181
193
  const parserOptionGfm = options?.gfm;
182
194
  const parserOptionMath = options?.math;
195
+ const parserOptionHtml = options?.html;
183
196
 
184
197
  /* eslint-disable react-hooks/refs -- Refs updated/read intentionally to avoid re-parsing on callback identity changes */
185
198
  const onErrorRef = (0, _react.useRef)(onError);
186
199
  onErrorRef.current = onError;
187
- const pluginsRef = (0, _react.useRef)(plugins);
188
- pluginsRef.current = plugins;
189
200
  const parseResult = (0, _react.useMemo)(() => {
190
201
  try {
191
- const markdownToParse = applyBeforeParsePlugins(children, pluginsRef.current, onErrorRef.current);
202
+ const sortedPlugins = sortPluginsByPriority(plugins);
203
+ const markdownToParse = sourceAst ? children : applyBeforeParsePlugins(children, sortedPlugins, onErrorRef.current);
192
204
  const parserOptions = normalizeParserOptions({
193
205
  gfm: parserOptionGfm,
194
- math: parserOptionMath
206
+ math: parserOptionMath,
207
+ html: parserOptionHtml
195
208
  });
196
- let parsedAst = sourceAst ? cloneMarkdownNode(sourceAst) : getCachedParsedAst(markdownToParse, parserOptions);
197
- parsedAst = applyAfterParsePlugins(parsedAst, pluginsRef.current, onErrorRef.current);
209
+ let parsedAst = sourceAst ? cloneMarkdownNode(sourceAst) : parseCache ? getCachedParsedAst(markdownToParse, parserOptions) : parseWithNativeParser(markdownToParse, parserOptions);
210
+ parsedAst = applyAfterParsePlugins(parsedAst, sortedPlugins, onErrorRef.current);
198
211
  let ast = parsedAst;
199
212
  if (astTransform) {
200
213
  try {
@@ -216,12 +229,12 @@ const Markdown = ({
216
229
  ast: null
217
230
  };
218
231
  }
219
- }, [children, parserOptionGfm, parserOptionMath, sourceAst, astTransform]);
232
+ }, [children, parserOptionGfm, parserOptionMath, parserOptionHtml, sourceAst, parseCache, astTransform, plugins]);
220
233
  /* eslint-enable react-hooks/refs */
221
234
 
222
235
  (0, _react.useEffect)(() => {
223
236
  onParsingInProgress?.();
224
- }, [children, parserOptionGfm, parserOptionMath, onParsingInProgress]);
237
+ }, [children, parserOptionGfm, parserOptionMath, parserOptionHtml, onParsingInProgress]);
225
238
  (0, _react.useEffect)(() => {
226
239
  if (!parseResult.ast || !onParseComplete) return;
227
240
  onParseComplete({
@@ -405,23 +418,22 @@ const NodeRendererComponent = ({
405
418
  return result;
406
419
  }
407
420
  }
408
- const nodeStyleOverride = nodeStyles?.[node.type];
409
421
  switch (node.type) {
410
422
  case "document":
411
423
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
412
- style: [baseStyles.document, nodeStyleOverride],
424
+ style: [baseStyles.document, nodeStyles?.document],
413
425
  children: renderChildren(node.children, false, false)
414
426
  });
415
427
  case "heading":
416
428
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_heading.Heading, {
417
429
  level: node.level ?? 1,
418
- style: nodeStyleOverride,
430
+ style: nodeStyles?.heading,
419
431
  children: renderChildren(node.children, inListItem, true)
420
432
  });
421
433
  case "paragraph":
422
434
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_paragraph.Paragraph, {
423
435
  inListItem: inListItem,
424
- style: nodeStyleOverride,
436
+ style: nodeStyles?.paragraph,
425
437
  children: renderChildren(node.children, inListItem, false)
426
438
  });
427
439
  case "text":
@@ -431,28 +443,28 @@ const NodeRendererComponent = ({
431
443
  });
432
444
  }
433
445
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
434
- style: [baseStyles.text, nodeStyleOverride],
446
+ style: [baseStyles.text, nodeStyles?.text],
435
447
  children: node.content
436
448
  });
437
449
  case "bold":
438
450
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
439
- style: [baseStyles.bold, nodeStyleOverride],
451
+ style: [baseStyles.bold, nodeStyles?.bold],
440
452
  children: renderChildren(node.children, inListItem, true)
441
453
  });
442
454
  case "italic":
443
455
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
444
- style: [baseStyles.italic, nodeStyleOverride],
456
+ style: [baseStyles.italic, nodeStyles?.italic],
445
457
  children: renderChildren(node.children, inListItem, true)
446
458
  });
447
459
  case "strikethrough":
448
460
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
449
- style: [baseStyles.strikethrough, nodeStyleOverride],
461
+ style: [baseStyles.strikethrough, nodeStyles?.strikethrough],
450
462
  children: renderChildren(node.children, inListItem, true)
451
463
  });
452
464
  case "link":
453
465
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_link.Link, {
454
466
  href: node.href ?? "",
455
- style: nodeStyleOverride,
467
+ style: nodeStyles?.link,
456
468
  children: renderChildren(node.children, inListItem, true)
457
469
  });
458
470
  case "image":
@@ -461,27 +473,27 @@ const NodeRendererComponent = ({
461
473
  title: node.title,
462
474
  alt: node.alt,
463
475
  Renderer: NodeRenderer,
464
- style: nodeStyleOverride
476
+ style: nodeStyles?.image
465
477
  });
466
478
  case "code_inline":
467
479
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_code.InlineCode, {
468
- style: nodeStyleOverride,
480
+ style: nodeStyles?.code_inline,
469
481
  children: node.content
470
482
  });
471
483
  case "code_block":
472
484
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_code.CodeBlock, {
473
485
  language: node.language,
474
486
  content: (0, _headless.getTextContent)(node),
475
- style: nodeStyleOverride
487
+ style: nodeStyles?.code_block
476
488
  });
477
489
  case "blockquote":
478
490
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_blockquote.Blockquote, {
479
- style: nodeStyleOverride,
491
+ style: nodeStyles?.blockquote,
480
492
  children: renderChildren(node.children, inListItem, false)
481
493
  });
482
494
  case "horizontal_rule":
483
495
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_horizontalRule.HorizontalRule, {
484
- style: nodeStyleOverride
496
+ style: nodeStyles?.horizontal_rule
485
497
  });
486
498
  case "line_break":
487
499
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
@@ -498,20 +510,20 @@ const NodeRendererComponent = ({
498
510
  mathContent = mathContent.replace(/^\$+|\$+$/g, "").trim();
499
511
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_math.MathInline, {
500
512
  content: mathContent,
501
- style: nodeStyleOverride
513
+ style: nodeStyles?.math_inline
502
514
  });
503
515
  }
504
516
  case "math_block":
505
517
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_math.MathBlock, {
506
518
  content: (0, _headless.getTextContent)(node),
507
- style: nodeStyleOverride
519
+ style: nodeStyles?.math_block
508
520
  });
509
521
  case "list":
510
522
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_list.List, {
511
523
  ordered: node.ordered ?? false,
512
524
  start: node.start,
513
525
  depth: depth,
514
- style: nodeStyleOverride,
526
+ style: nodeStyles?.list,
515
527
  children: node.children?.map((child, index) => {
516
528
  if (child.type === "task_list_item") {
517
529
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(NodeRenderer, {
@@ -541,14 +553,14 @@ const NodeRendererComponent = ({
541
553
  case "task_list_item":
542
554
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_list.TaskListItem, {
543
555
  checked: node.checked ?? false,
544
- style: nodeStyleOverride,
556
+ style: nodeStyles?.task_list_item,
545
557
  children: renderChildren(node.children, true, false)
546
558
  });
547
559
  case "table":
548
560
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_table.TableRenderer, {
549
561
  node: node,
550
562
  Renderer: NodeRenderer,
551
- style: nodeStyleOverride
563
+ style: nodeStyles?.table
552
564
  });
553
565
  case "table_head":
554
566
  case "table_body":
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_reactNative","_headless","_MarkdownContext","_blockquote","_code","_heading","_horizontalRule","_image","_link","_list","_math","_paragraph","_table","_theme","_jsxRuntime","hashString","str","hash","i","length","char","charCodeAt","ERROR_PHASE","PARSE","BEFORE_PLUGIN","AFTER_PLUGIN","safeOnError","onError","error","phase","pluginName","Error","String","callbackError","__DEV__","console","warn","baseStylesCache","WeakMap","parseAstCache","Map","MAX_PARSE_CACHE_ENTRIES","MAX_CACHEABLE_TEXT_LENGTH","isMarkdownNode","value","Reflect","get","warnInDev","message","runtimeConsole","globalThis","cloneMarkdownNode","node","children","map","getParserOptionsKey","options","gfm","undefined","math","normalizeParserOptions","parseWithNativeParser","text","parseMarkdownWithOptions","parseMarkdown","getCachedParsedAst","cacheKey","cachedNode","delete","set","parsedNode","size","oldestCacheKey","keys","next","applyBeforeParsePlugins","markdown","plugins","sorted","sort","a","b","priority","nextMarkdown","plugin","beforeParse","transformed","pluginLabel","name","applyAfterParsePlugins","ast","nextAst","afterParse","Markdown","sourceAst","astTransform","renderers","theme","userTheme","styles","nodeStyles","stylingStrategy","style","onParsingInProgress","onParseComplete","onLinkPress","virtualize","virtualizationMinBlocks","virtualization","tableOptions","highlightCode","parserOptionGfm","parserOptionMath","onErrorRef","useRef","current","pluginsRef","parseResult","useMemo","markdownToParse","parserOptions","parsedAst","parseError","useEffect","raw","getFlattenedText","base","minimalMarkdownTheme","defaultMarkdownTheme","mergeThemes","baseStyles","getBaseStyles","contextValue","topLevelBlocks","type","shouldVirtualizeBySetting","shouldVirtualize","keyExtractor","useCallback","index","beg","end","renderVirtualizedItem","item","jsx","NodeRenderer","depth","inListItem","View","container","Text","errorText","MarkdownContext","Provider","FlatList","data","renderItem","virtualizedList","initialNumToRender","maxToRenderPerBatch","windowSize","updateCellsBatchingPeriod","removeClippedSubviews","showsVerticalScrollIndicator","exports","isInline","NodeRendererComponent","parentIsText","useMarkdownContext","renderChildren","childInListItem","childParentIsText","elements","currentInlineGroup","flushInlineGroup","hasMath","some","child","push","flexDirection","alignItems","flexWrap","flexShrink","n","idx","Wrapper","Fragment","wrapperProps","forEach","customRenderer","childrenRendered","baseProps","Renderer","enhancedProps","level","href","title","url","alt","content","getTextContent","language","ordered","start","checked","result","nodeStyleOverride","document","Heading","Paragraph","bold","italic","strikethrough","Link","Image","InlineCode","CodeBlock","Blockquote","HorizontalRule","mathContent","replace","trim","MathInline","MathBlock","List","ListItem","TaskListItem","TableRenderer","memo","previousProps","nextProps","cached","created","createBaseStyles","StyleSheet","create","flex","color","fontSize","fontFamily","fontFamilies","mono","Platform","OS","includeFontPadding","colors","fontSizes","m","lineHeight","regular","fontWeight","fontStyle","textDecorationLine"],"sourceRoot":"../../src","sources":["markdown.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_reactNative","_headless","_MarkdownContext","_blockquote","_code","_heading","_horizontalRule","_image","_link","_list","_math","_paragraph","_table","_theme","_jsxRuntime","hashString","str","hash","i","length","char","charCodeAt","ERROR_PHASE","PARSE","BEFORE_PLUGIN","AFTER_PLUGIN","safeOnError","onError","error","phase","pluginName","Error","String","callbackError","__DEV__","console","warn","baseStylesCache","WeakMap","parseAstCache","Map","MAX_PARSE_CACHE_ENTRIES","MAX_CACHEABLE_TEXT_LENGTH","EMPTY_RENDERERS","isMarkdownNode","value","Reflect","get","warnInDev","message","runtimeConsole","globalThis","cloneMarkdownNode","node","children","map","getParserOptionsKey","options","gfm","undefined","math","html","normalizeParserOptions","parseWithNativeParser","text","parseMarkdownWithOptions","parseMarkdown","getCachedParsedAst","cacheKey","cachedEntry","delete","set","ast","parsedNode","size","oldestCacheKey","keys","next","sortPluginsByPriority","plugins","sort","a","b","priority","applyBeforeParsePlugins","markdown","sortedPlugins","nextMarkdown","plugin","beforeParse","transformed","pluginLabel","name","applyAfterParsePlugins","nextAst","afterParse","Markdown","sourceAst","parseCache","astTransform","renderers","theme","userTheme","styles","nodeStyles","stylingStrategy","style","onParsingInProgress","onParseComplete","onLinkPress","virtualize","virtualizationMinBlocks","virtualization","tableOptions","highlightCode","parserOptionGfm","parserOptionMath","parserOptionHtml","onErrorRef","useRef","current","parseResult","useMemo","markdownToParse","parserOptions","parsedAst","parseError","useEffect","raw","getFlattenedText","base","minimalMarkdownTheme","defaultMarkdownTheme","mergeThemes","baseStyles","getBaseStyles","contextValue","topLevelBlocks","type","shouldVirtualizeBySetting","shouldVirtualize","keyExtractor","useCallback","index","beg","end","renderVirtualizedItem","item","jsx","NodeRenderer","depth","inListItem","View","container","Text","errorText","MarkdownContext","Provider","FlatList","data","renderItem","virtualizedList","initialNumToRender","maxToRenderPerBatch","windowSize","updateCellsBatchingPeriod","removeClippedSubviews","showsVerticalScrollIndicator","exports","isInline","NodeRendererComponent","parentIsText","useMarkdownContext","renderChildren","childInListItem","childParentIsText","elements","currentInlineGroup","flushInlineGroup","hasMath","some","child","push","flexDirection","alignItems","flexWrap","flexShrink","n","idx","Wrapper","Fragment","wrapperProps","forEach","customRenderer","childrenRendered","baseProps","Renderer","enhancedProps","level","href","title","url","alt","content","getTextContent","language","ordered","start","checked","result","document","Heading","heading","Paragraph","paragraph","bold","italic","strikethrough","Link","link","Image","image","InlineCode","code_inline","CodeBlock","code_block","Blockquote","blockquote","HorizontalRule","horizontal_rule","mathContent","replace","trim","MathInline","math_inline","MathBlock","math_block","List","list","ListItem","TaskListItem","task_list_item","TableRenderer","table","memo","previousProps","nextProps","cached","created","createBaseStyles","StyleSheet","create","flex","color","fontSize","fontFamily","fontFamilies","mono","Platform","OS","includeFontPadding","colors","fontSizes","m","lineHeight","regular","fontWeight","fontStyle","textDecorationLine"],"sourceRoot":"../../src","sources":["markdown.tsx"],"mappings":"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","ignoreList":[]}
@@ -4,8 +4,8 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.Blockquote = void 0;
7
- var _react = require("react");
8
7
  var _reactNative = require("react-native");
8
+ var _styleCache = require("./style-cache.js");
9
9
  var _MarkdownContext = require("../MarkdownContext.js");
10
10
  var _jsxRuntime = require("react/jsx-runtime");
11
11
  const Blockquote = ({
@@ -15,22 +15,24 @@ const Blockquote = ({
15
15
  const {
16
16
  theme
17
17
  } = (0, _MarkdownContext.useMarkdownContext)();
18
- const styles = (0, _react.useMemo)(() => _reactNative.StyleSheet.create({
19
- blockquote: {
20
- borderLeftWidth: 4,
21
- borderLeftColor: theme.colors.blockquote,
22
- paddingLeft: theme.spacing.l,
23
- marginVertical: theme.spacing.m,
24
- backgroundColor: theme.colors.surfaceLight,
25
- paddingVertical: theme.spacing.m,
26
- paddingRight: theme.spacing.m,
27
- borderRadius: theme.borderRadius.s
28
- }
29
- }), [theme]);
18
+ const styles = (0, _styleCache.getCachedStyles)(stylesCache, theme, createStyles);
30
19
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
31
20
  style: [styles.blockquote, style],
32
21
  children: children
33
22
  });
34
23
  };
35
24
  exports.Blockquote = Blockquote;
25
+ const stylesCache = new WeakMap();
26
+ const createStyles = theme => _reactNative.StyleSheet.create({
27
+ blockquote: {
28
+ borderLeftWidth: 4,
29
+ borderLeftColor: theme.colors.blockquote,
30
+ paddingLeft: theme.spacing.l,
31
+ marginVertical: theme.spacing.m,
32
+ backgroundColor: theme.colors.surfaceLight,
33
+ paddingVertical: theme.spacing.m,
34
+ paddingRight: theme.spacing.m,
35
+ borderRadius: theme.borderRadius.s
36
+ }
37
+ });
36
38
  //# sourceMappingURL=blockquote.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_reactNative","_MarkdownContext","_jsxRuntime","Blockquote","children","style","theme","useMarkdownContext","styles","useMemo","StyleSheet","create","blockquote","borderLeftWidth","borderLeftColor","colors","paddingLeft","spacing","l","marginVertical","m","backgroundColor","surfaceLight","paddingVertical","paddingRight","borderRadius","s","jsx","View","exports"],"sourceRoot":"../../../src","sources":["renderers/blockquote.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,gBAAA,GAAAF,OAAA;AAAwD,IAAAG,WAAA,GAAAH,OAAA;AAOjD,MAAMI,UAA+B,GAAGA,CAAC;EAAEC,QAAQ;EAAEC;AAAM,CAAC,KAAK;EACtE,MAAM;IAAEC;EAAM,CAAC,GAAG,IAAAC,mCAAkB,EAAC,CAAC;EACtC,MAAMC,MAAM,GAAG,IAAAC,cAAO,EACpB,MACEC,uBAAU,CAACC,MAAM,CAAC;IAChBC,UAAU,EAAE;MACVC,eAAe,EAAE,CAAC;MAClBC,eAAe,EAAER,KAAK,CAACS,MAAM,CAACH,UAAU;MACxCI,WAAW,EAAEV,KAAK,CAACW,OAAO,CAACC,CAAC;MAC5BC,cAAc,EAAEb,KAAK,CAACW,OAAO,CAACG,CAAC;MAC/BC,eAAe,EAAEf,KAAK,CAACS,MAAM,CAACO,YAAY;MAC1CC,eAAe,EAAEjB,KAAK,CAACW,OAAO,CAACG,CAAC;MAChCI,YAAY,EAAElB,KAAK,CAACW,OAAO,CAACG,CAAC;MAC7BK,YAAY,EAAEnB,KAAK,CAACmB,YAAY,CAACC;IACnC;EACF,CAAC,CAAC,EACJ,CAACpB,KAAK,CACR,CAAC;EAED,oBAAO,IAAAJ,WAAA,CAAAyB,GAAA,EAAC3B,YAAA,CAAA4B,IAAI;IAACvB,KAAK,EAAE,CAACG,MAAM,CAACI,UAAU,EAAEP,KAAK,CAAE;IAAAD,QAAA,EAAEA;EAAQ,CAAO,CAAC;AACnE,CAAC;AAACyB,OAAA,CAAA1B,UAAA,GAAAA,UAAA","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_styleCache","_MarkdownContext","_jsxRuntime","Blockquote","children","style","theme","useMarkdownContext","styles","getCachedStyles","stylesCache","createStyles","jsx","View","blockquote","exports","WeakMap","StyleSheet","create","borderLeftWidth","borderLeftColor","colors","paddingLeft","spacing","l","marginVertical","m","backgroundColor","surfaceLight","paddingVertical","paddingRight","borderRadius","s"],"sourceRoot":"../../../src","sources":["renderers/blockquote.tsx"],"mappings":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,gBAAA,GAAAF,OAAA;AAAwD,IAAAG,WAAA,GAAAH,OAAA;AAQjD,MAAMI,UAA+B,GAAGA,CAAC;EAAEC,QAAQ;EAAEC;AAAM,CAAC,KAAK;EACtE,MAAM;IAAEC;EAAM,CAAC,GAAG,IAAAC,mCAAkB,EAAC,CAAC;EACtC,MAAMC,MAAM,GAAG,IAAAC,2BAAe,EAACC,WAAW,EAAEJ,KAAK,EAAEK,YAAY,CAAC;EAEhE,oBAAO,IAAAT,WAAA,CAAAU,GAAA,EAACd,YAAA,CAAAe,IAAI;IAACR,KAAK,EAAE,CAACG,MAAM,CAACM,UAAU,EAAET,KAAK,CAAE;IAAAD,QAAA,EAAEA;EAAQ,CAAO,CAAC;AACnE,CAAC;AAACW,OAAA,CAAAZ,UAAA,GAAAA,UAAA;AAIF,MAAMO,WAAW,GAAG,IAAIM,OAAO,CAAkC,CAAC;AAElE,MAAML,YAAY,GAAIL,KAAoB,IACxCW,uBAAU,CAACC,MAAM,CAAC;EAChBJ,UAAU,EAAE;IACVK,eAAe,EAAE,CAAC;IAClBC,eAAe,EAAEd,KAAK,CAACe,MAAM,CAACP,UAAU;IACxCQ,WAAW,EAAEhB,KAAK,CAACiB,OAAO,CAACC,CAAC;IAC5BC,cAAc,EAAEnB,KAAK,CAACiB,OAAO,CAACG,CAAC;IAC/BC,eAAe,EAAErB,KAAK,CAACe,MAAM,CAACO,YAAY;IAC1CC,eAAe,EAAEvB,KAAK,CAACiB,OAAO,CAACG,CAAC;IAChCI,YAAY,EAAExB,KAAK,CAACiB,OAAO,CAACG,CAAC;IAC7BK,YAAY,EAAEzB,KAAK,CAACyB,YAAY,CAACC;EACnC;AACF,CAAC,CAAC","ignoreList":[]}
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.InlineCode = exports.CodeBlock = void 0;
7
7
  var _react = require("react");
8
8
  var _reactNative = require("react-native");
9
+ var _styleCache = require("./style-cache.js");
9
10
  var _headless = require("../headless.js");
10
11
  var _MarkdownContext = require("../MarkdownContext.js");
11
12
  var _codeHighlight = require("../utils/code-highlight.js");
@@ -22,40 +23,8 @@ const CodeBlock = ({
22
23
  } = ctx;
23
24
  const highlighter = ctx.highlightCode === true ? _codeHighlight.defaultHighlighter : typeof ctx.highlightCode === "function" ? ctx.highlightCode : null;
24
25
  const displayContent = content ?? (node ? (0, _headless.getTextContent)(node) : "");
25
- const styles = (0, _react.useMemo)(() => _reactNative.StyleSheet.create({
26
- codeBlock: {
27
- backgroundColor: theme.colors.codeBackground,
28
- borderRadius: theme.borderRadius.m,
29
- padding: theme.spacing.l,
30
- marginVertical: theme.spacing.m,
31
- borderWidth: 1,
32
- borderColor: theme.colors.border
33
- },
34
- codeLanguage: {
35
- color: theme.colors.codeLanguage,
36
- fontSize: theme.fontSizes.xs,
37
- fontWeight: "600",
38
- marginBottom: theme.spacing.s,
39
- textTransform: "uppercase",
40
- letterSpacing: 0.5,
41
- fontFamily: theme.fontFamilies.mono,
42
- ...(_reactNative.Platform.OS === "android" && {
43
- includeFontPadding: false
44
- })
45
- },
46
- codeBlockText: {
47
- fontFamily: theme.fontFamilies.mono ?? _reactNative.Platform.select({
48
- ios: "Courier",
49
- android: "monospace"
50
- }),
51
- fontSize: theme.fontSizes.s,
52
- color: theme.colors.text,
53
- lineHeight: theme.fontSizes.s * 1.5,
54
- ...(_reactNative.Platform.OS === "android" && {
55
- includeFontPadding: false
56
- })
57
- }
58
- }), [theme]);
26
+ const highlightedTokens = (0, _react.useMemo)(() => highlighter && language ? highlighter(language, displayContent) : null, [displayContent, highlighter, language]);
27
+ const styles = (0, _styleCache.getCachedStyles)(codeBlockStylesCache, theme, createCodeStyles);
59
28
  const showLanguage = theme.showCodeLanguage && language;
60
29
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
61
30
  style: [styles.codeBlock, style],
@@ -66,10 +35,10 @@ const CodeBlock = ({
66
35
  horizontal: true,
67
36
  showsHorizontalScrollIndicator: false,
68
37
  bounces: false,
69
- children: highlighter && language ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
38
+ children: highlightedTokens ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
70
39
  style: styles.codeBlockText,
71
40
  selectable: true,
72
- children: highlighter(language, displayContent).map((token, i) => {
41
+ children: highlightedTokens.map((token, i) => {
73
42
  const tokenColor = ctx.theme.colors.codeTokenColors?.[token.type];
74
43
  return tokenColor ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
75
44
  style: {
@@ -99,27 +68,62 @@ const InlineCode = ({
99
68
  theme
100
69
  } = (0, _MarkdownContext.useMarkdownContext)();
101
70
  const displayContent = content ?? children ?? (node ? (0, _headless.getTextContent)(node) : "");
102
- const styles = (0, _react.useMemo)(() => _reactNative.StyleSheet.create({
103
- codeInline: {
104
- fontFamily: theme.fontFamilies.mono ?? _reactNative.Platform.select({
105
- ios: "Courier",
106
- android: "monospace"
107
- }),
108
- fontSize: theme.fontSizes.s,
109
- color: theme.colors.code,
110
- backgroundColor: theme.colors.codeBackground,
111
- paddingHorizontal: theme.spacing.xs,
112
- paddingVertical: 2,
113
- borderRadius: theme.borderRadius.s,
114
- ...(_reactNative.Platform.OS === "android" && {
115
- includeFontPadding: false
116
- })
117
- }
118
- }), [theme]);
71
+ const styles = (0, _styleCache.getCachedStyles)(inlineCodeStylesCache, theme, createInlineStyles);
119
72
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
120
73
  style: [styles.codeInline, style],
121
74
  children: displayContent
122
75
  });
123
76
  };
124
77
  exports.InlineCode = InlineCode;
78
+ const codeBlockStylesCache = new WeakMap();
79
+ const inlineCodeStylesCache = new WeakMap();
80
+ const getMonoFontFamily = theme => theme.fontFamilies.mono ?? _reactNative.Platform.select({
81
+ ios: "Courier",
82
+ android: "monospace"
83
+ });
84
+ const createCodeStyles = theme => _reactNative.StyleSheet.create({
85
+ codeBlock: {
86
+ backgroundColor: theme.colors.codeBackground,
87
+ borderRadius: theme.borderRadius.m,
88
+ padding: theme.spacing.l,
89
+ marginVertical: theme.spacing.m,
90
+ borderWidth: 1,
91
+ borderColor: theme.colors.border
92
+ },
93
+ codeLanguage: {
94
+ color: theme.colors.codeLanguage,
95
+ fontSize: theme.fontSizes.xs,
96
+ fontWeight: "600",
97
+ marginBottom: theme.spacing.s,
98
+ textTransform: "uppercase",
99
+ letterSpacing: 0.5,
100
+ fontFamily: theme.fontFamilies.mono,
101
+ ...(_reactNative.Platform.OS === "android" && {
102
+ includeFontPadding: false
103
+ })
104
+ },
105
+ codeBlockText: {
106
+ fontFamily: getMonoFontFamily(theme),
107
+ fontSize: theme.fontSizes.s,
108
+ color: theme.colors.text,
109
+ lineHeight: theme.fontSizes.s * 1.5,
110
+ ...(_reactNative.Platform.OS === "android" && {
111
+ includeFontPadding: false
112
+ })
113
+ }
114
+ });
115
+ const createInlineStyles = theme => _reactNative.StyleSheet.create({
116
+ codeInline: {
117
+ fontFamily: getMonoFontFamily(theme),
118
+ fontSize: theme.fontSizes.s,
119
+ color: theme.colors.code,
120
+ backgroundColor: theme.colors.codeBackground,
121
+ paddingHorizontal: theme.spacing.xs,
122
+ paddingVertical: 2,
123
+ borderRadius: theme.borderRadius.s,
124
+ ...(_reactNative.Platform.OS === "android" && {
125
+ includeFontPadding: false
126
+ })
127
+ }
128
+ });
125
129
  //# sourceMappingURL=code.js.map