react-native-nitro-markdown 0.4.3 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. package/README.md +351 -22
  2. package/android/src/main/java/com/margelo/nitro/com/nitromarkdown/HybridMarkdownSession.kt +27 -8
  3. package/cpp/bindings/HybridMarkdownParser.cpp +216 -66
  4. package/cpp/bindings/HybridMarkdownParser.hpp +2 -0
  5. package/ios/HybridMarkdownSession.swift +33 -7
  6. package/lib/commonjs/headless.js +41 -5
  7. package/lib/commonjs/headless.js.map +1 -1
  8. package/lib/commonjs/index.js.map +1 -1
  9. package/lib/commonjs/markdown-stream.js +107 -13
  10. package/lib/commonjs/markdown-stream.js.map +1 -1
  11. package/lib/commonjs/markdown.js +180 -25
  12. package/lib/commonjs/markdown.js.map +1 -1
  13. package/lib/commonjs/renderers/code.js +1 -0
  14. package/lib/commonjs/renderers/code.js.map +1 -1
  15. package/lib/commonjs/renderers/table.js +116 -24
  16. package/lib/commonjs/renderers/table.js.map +1 -1
  17. package/lib/commonjs/utils/incremental-ast.js +153 -0
  18. package/lib/commonjs/utils/incremental-ast.js.map +1 -0
  19. package/lib/module/headless.js +37 -4
  20. package/lib/module/headless.js.map +1 -1
  21. package/lib/module/index.js.map +1 -1
  22. package/lib/module/markdown-stream.js +108 -14
  23. package/lib/module/markdown-stream.js.map +1 -1
  24. package/lib/module/markdown.js +182 -27
  25. package/lib/module/markdown.js.map +1 -1
  26. package/lib/module/renderers/code.js +1 -0
  27. package/lib/module/renderers/code.js.map +1 -1
  28. package/lib/module/renderers/table.js +116 -24
  29. package/lib/module/renderers/table.js.map +1 -1
  30. package/lib/module/utils/incremental-ast.js +147 -0
  31. package/lib/module/utils/incremental-ast.js.map +1 -0
  32. package/lib/typescript/commonjs/Markdown.nitro.d.ts +2 -0
  33. package/lib/typescript/commonjs/Markdown.nitro.d.ts.map +1 -1
  34. package/lib/typescript/commonjs/headless.d.ts +13 -0
  35. package/lib/typescript/commonjs/headless.d.ts.map +1 -1
  36. package/lib/typescript/commonjs/index.d.ts +2 -0
  37. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  38. package/lib/typescript/commonjs/markdown-stream.d.ts +6 -1
  39. package/lib/typescript/commonjs/markdown-stream.d.ts.map +1 -1
  40. package/lib/typescript/commonjs/markdown.d.ts +53 -1
  41. package/lib/typescript/commonjs/markdown.d.ts.map +1 -1
  42. package/lib/typescript/commonjs/renderers/code.d.ts.map +1 -1
  43. package/lib/typescript/commonjs/renderers/table.d.ts +1 -1
  44. package/lib/typescript/commonjs/renderers/table.d.ts.map +1 -1
  45. package/lib/typescript/commonjs/specs/MarkdownSession.nitro.d.ts +5 -2
  46. package/lib/typescript/commonjs/specs/MarkdownSession.nitro.d.ts.map +1 -1
  47. package/lib/typescript/commonjs/utils/incremental-ast.d.ts +12 -0
  48. package/lib/typescript/commonjs/utils/incremental-ast.d.ts.map +1 -0
  49. package/lib/typescript/module/Markdown.nitro.d.ts +2 -0
  50. package/lib/typescript/module/Markdown.nitro.d.ts.map +1 -1
  51. package/lib/typescript/module/headless.d.ts +13 -0
  52. package/lib/typescript/module/headless.d.ts.map +1 -1
  53. package/lib/typescript/module/index.d.ts +2 -0
  54. package/lib/typescript/module/index.d.ts.map +1 -1
  55. package/lib/typescript/module/markdown-stream.d.ts +6 -1
  56. package/lib/typescript/module/markdown-stream.d.ts.map +1 -1
  57. package/lib/typescript/module/markdown.d.ts +53 -1
  58. package/lib/typescript/module/markdown.d.ts.map +1 -1
  59. package/lib/typescript/module/renderers/code.d.ts.map +1 -1
  60. package/lib/typescript/module/renderers/table.d.ts +1 -1
  61. package/lib/typescript/module/renderers/table.d.ts.map +1 -1
  62. package/lib/typescript/module/specs/MarkdownSession.nitro.d.ts +5 -2
  63. package/lib/typescript/module/specs/MarkdownSession.nitro.d.ts.map +1 -1
  64. package/lib/typescript/module/utils/incremental-ast.d.ts +12 -0
  65. package/lib/typescript/module/utils/incremental-ast.d.ts.map +1 -0
  66. package/nitrogen/generated/android/NitroMarkdownOnLoad.cpp +2 -0
  67. package/nitrogen/generated/android/c++/JFunc_void_double_double.hpp +75 -0
  68. package/nitrogen/generated/android/c++/JHybridMarkdownSessionSpec.cpp +18 -6
  69. package/nitrogen/generated/android/c++/JHybridMarkdownSessionSpec.hpp +4 -2
  70. package/nitrogen/generated/android/kotlin/com/margelo/nitro/com/nitromarkdown/Func_void_double_double.kt +80 -0
  71. package/nitrogen/generated/android/kotlin/com/margelo/nitro/com/nitromarkdown/HybridMarkdownSessionSpec.kt +11 -3
  72. package/nitrogen/generated/ios/NitroMarkdown-Swift-Cxx-Bridge.cpp +8 -0
  73. package/nitrogen/generated/ios/NitroMarkdown-Swift-Cxx-Bridge.hpp +31 -0
  74. package/nitrogen/generated/ios/c++/HybridMarkdownSessionSpecSwift.hpp +20 -2
  75. package/nitrogen/generated/ios/swift/Func_void_double_double.swift +46 -0
  76. package/nitrogen/generated/ios/swift/HybridMarkdownSessionSpec.swift +4 -2
  77. package/nitrogen/generated/ios/swift/HybridMarkdownSessionSpec_cxx.swift +34 -9
  78. package/nitrogen/generated/shared/c++/HybridMarkdownParserSpec.cpp +2 -0
  79. package/nitrogen/generated/shared/c++/HybridMarkdownParserSpec.hpp +2 -0
  80. package/nitrogen/generated/shared/c++/HybridMarkdownSessionSpec.cpp +2 -0
  81. package/nitrogen/generated/shared/c++/HybridMarkdownSessionSpec.hpp +4 -2
  82. package/package.json +4 -3
  83. package/src/Markdown.nitro.ts +2 -0
  84. package/src/headless.ts +42 -4
  85. package/src/index.ts +7 -0
  86. package/src/markdown-stream.tsx +163 -15
  87. package/src/markdown.tsx +339 -24
  88. package/src/renderers/code.tsx +5 -1
  89. package/src/renderers/table.tsx +212 -66
  90. package/src/specs/MarkdownSession.nitro.ts +6 -2
  91. package/src/utils/incremental-ast.ts +224 -0
@@ -1,8 +1,36 @@
1
1
  "use strict";
2
2
 
3
- import { useState, useEffect, useRef, startTransition } from "react";
3
+ import { useState, useEffect, useRef, useCallback, startTransition } from "react";
4
4
  import { Markdown } from "./markdown.js";
5
+ import { getNextStreamAst, parseMarkdownAst } from "./utils/incremental-ast.js";
5
6
  import { jsx as _jsx } from "react/jsx-runtime";
7
+ const normalizeOffset = value => {
8
+ if (!Number.isFinite(value)) return null;
9
+ if (value <= 0) return 0;
10
+ return Math.floor(value);
11
+ };
12
+ const resolveStreamText = ({
13
+ forceFullSync,
14
+ pendingFrom,
15
+ pendingTo,
16
+ previousText,
17
+ session
18
+ }) => {
19
+ if (forceFullSync || pendingFrom === null || pendingTo === null) {
20
+ return session.getAllText();
21
+ }
22
+ if (pendingTo < pendingFrom) {
23
+ return session.getAllText();
24
+ }
25
+ if (pendingFrom === previousText.length) {
26
+ const appendedChunk = session.getTextRange(pendingFrom, pendingTo);
27
+ return `${previousText}${appendedChunk}`;
28
+ }
29
+ if (pendingFrom === 0) {
30
+ return session.getTextRange(0, pendingTo);
31
+ }
32
+ return session.getAllText();
33
+ };
6
34
  /**
7
35
  * A component that renders streaming Markdown from a MarkdownSession.
8
36
  * It efficiently subscribes to session updates to minimize parent re-renders.
@@ -12,18 +40,47 @@ export const MarkdownStream = ({
12
40
  updateIntervalMs = 50,
13
41
  updateStrategy = "interval",
14
42
  useTransitionUpdates = false,
43
+ incrementalParsing = true,
44
+ options,
45
+ plugins,
15
46
  ...props
16
47
  }) => {
17
- const [text, setText] = useState(() => session.getAllText());
48
+ const parseText = useCallback(text => parseMarkdownAst(text, options), [options]);
49
+ const createEmptyAst = () => ({
50
+ type: "document",
51
+ children: []
52
+ });
53
+ const initialText = session.getAllText();
54
+ const hasBeforeParsePlugins = plugins?.some(plugin => typeof plugin.beforeParse === "function") ?? false;
55
+ const [renderState, setRenderState] = useState(() => ({
56
+ text: initialText,
57
+ ast: hasBeforeParsePlugins ? createEmptyAst() : parseText(initialText)
58
+ }));
59
+ const renderStateRef = useRef(renderState);
18
60
  const pendingUpdateRef = useRef(false);
61
+ const pendingFromRef = useRef(null);
62
+ const pendingToRef = useRef(null);
63
+ const forceFullSyncRef = useRef(false);
19
64
  const updateTimerRef = useRef(null);
20
65
  const rafRef = useRef(null);
21
- const lastEmittedRef = useRef(text);
66
+ const allowIncremental = incrementalParsing && !hasBeforeParsePlugins;
67
+ useEffect(() => {
68
+ renderStateRef.current = renderState;
69
+ }, [renderState]);
22
70
  useEffect(() => {
23
- // Ensure initial state is synced
24
71
  const initialText = session.getAllText();
25
- setText(initialText);
26
- lastEmittedRef.current = initialText;
72
+ const initialState = {
73
+ text: initialText,
74
+ ast: hasBeforeParsePlugins ? createEmptyAst() : parseText(initialText)
75
+ };
76
+ pendingUpdateRef.current = false;
77
+ pendingFromRef.current = null;
78
+ pendingToRef.current = null;
79
+ forceFullSyncRef.current = false;
80
+ renderStateRef.current = initialState;
81
+ setRenderState(initialState);
82
+ }, [hasBeforeParsePlugins, parseText, session]);
83
+ useEffect(() => {
27
84
  const flushUpdate = () => {
28
85
  updateTimerRef.current = null;
29
86
  if (rafRef.current !== null) {
@@ -32,15 +89,39 @@ export const MarkdownStream = ({
32
89
  }
33
90
  if (!pendingUpdateRef.current) return;
34
91
  pendingUpdateRef.current = false;
35
- const latest = session.getAllText();
36
- if (latest === lastEmittedRef.current) return;
37
- lastEmittedRef.current = latest;
92
+ const previousState = renderStateRef.current;
93
+ const pendingFrom = pendingFromRef.current;
94
+ const pendingTo = pendingToRef.current;
95
+ const forceFullSync = forceFullSyncRef.current;
96
+ pendingFromRef.current = null;
97
+ pendingToRef.current = null;
98
+ forceFullSyncRef.current = false;
99
+ const latest = resolveStreamText({
100
+ forceFullSync,
101
+ pendingFrom,
102
+ pendingTo,
103
+ previousText: previousState.text,
104
+ session
105
+ });
106
+ if (latest === previousState.text) return;
107
+ const nextAst = hasBeforeParsePlugins ? previousState.ast : getNextStreamAst({
108
+ allowIncremental,
109
+ nextText: latest,
110
+ options,
111
+ previousAst: previousState.ast,
112
+ previousText: previousState.text
113
+ });
114
+ const nextState = {
115
+ text: latest,
116
+ ast: nextAst
117
+ };
118
+ renderStateRef.current = nextState;
38
119
  if (useTransitionUpdates) {
39
120
  startTransition(() => {
40
- setText(latest);
121
+ setRenderState(nextState);
41
122
  });
42
123
  } else {
43
- setText(latest);
124
+ setRenderState(nextState);
44
125
  }
45
126
  };
46
127
  const scheduleFlush = () => {
@@ -54,7 +135,17 @@ export const MarkdownStream = ({
54
135
  updateTimerRef.current = setTimeout(flushUpdate, updateIntervalMs);
55
136
  }
56
137
  };
57
- const unsubscribe = session.addListener(() => {
138
+ const unsubscribe = session.addListener((from, to) => {
139
+ const nextFrom = normalizeOffset(from);
140
+ const nextTo = normalizeOffset(to);
141
+ if (nextFrom === null || nextTo === null || nextTo < nextFrom) {
142
+ forceFullSyncRef.current = true;
143
+ } else {
144
+ const currentFrom = pendingFromRef.current;
145
+ const currentTo = pendingToRef.current;
146
+ pendingFromRef.current = currentFrom === null ? nextFrom : Math.min(currentFrom, nextFrom);
147
+ pendingToRef.current = currentTo === null ? nextTo : Math.max(currentTo, nextTo);
148
+ }
58
149
  pendingUpdateRef.current = true;
59
150
  scheduleFlush();
60
151
  });
@@ -69,10 +160,13 @@ export const MarkdownStream = ({
69
160
  rafRef.current = null;
70
161
  }
71
162
  };
72
- }, [session, updateIntervalMs, updateStrategy, useTransitionUpdates]);
163
+ }, [allowIncremental, hasBeforeParsePlugins, options, session, updateIntervalMs, updateStrategy, useTransitionUpdates]);
73
164
  return /*#__PURE__*/_jsx(Markdown, {
74
165
  ...props,
75
- children: text
166
+ options: options,
167
+ plugins: plugins,
168
+ sourceAst: hasBeforeParsePlugins ? undefined : renderState.ast,
169
+ children: renderState.text
76
170
  });
77
171
  };
78
172
  //# sourceMappingURL=markdown-stream.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useState","useEffect","useRef","startTransition","Markdown","jsx","_jsx","MarkdownStream","session","updateIntervalMs","updateStrategy","useTransitionUpdates","props","text","setText","getAllText","pendingUpdateRef","updateTimerRef","rafRef","lastEmittedRef","initialText","current","flushUpdate","cancelAnimationFrame","latest","scheduleFlush","requestAnimationFrame","setTimeout","unsubscribe","addListener","clearTimeout","children"],"sourceRoot":"../../src","sources":["markdown-stream.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useState","useEffect","useRef","useCallback","startTransition","Markdown","getNextStreamAst","parseMarkdownAst","jsx","_jsx","normalizeOffset","value","Number","isFinite","Math","floor","resolveStreamText","forceFullSync","pendingFrom","pendingTo","previousText","session","getAllText","length","appendedChunk","getTextRange","MarkdownStream","updateIntervalMs","updateStrategy","useTransitionUpdates","incrementalParsing","options","plugins","props","parseText","text","createEmptyAst","type","children","initialText","hasBeforeParsePlugins","some","plugin","beforeParse","renderState","setRenderState","ast","renderStateRef","pendingUpdateRef","pendingFromRef","pendingToRef","forceFullSyncRef","updateTimerRef","rafRef","allowIncremental","current","initialState","flushUpdate","cancelAnimationFrame","previousState","latest","nextAst","nextText","previousAst","nextState","scheduleFlush","requestAnimationFrame","setTimeout","unsubscribe","addListener","from","to","nextFrom","nextTo","currentFrom","currentTo","min","max","clearTimeout","sourceAst","undefined"],"sourceRoot":"../../src","sources":["markdown-stream.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
 
3
- import { useEffect, useMemo, Fragment } from "react";
4
- import { StyleSheet, View, Text, Platform } from "react-native";
3
+ import { memo, useCallback, useEffect, useMemo, Fragment } from "react";
4
+ import { StyleSheet, View, Text, FlatList, Platform } from "react-native";
5
5
  import { parseMarkdown, parseMarkdownWithOptions, getFlattenedText, getTextContent } from "./headless.js";
6
6
  import { MarkdownContext, useMarkdownContext } from "./MarkdownContext.js";
7
7
  import { Blockquote } from "./renderers/blockquote.js";
@@ -17,9 +17,115 @@ import { TableRenderer } from "./renderers/table.js";
17
17
  import { defaultMarkdownTheme, minimalMarkdownTheme, mergeThemes } from "./theme.js";
18
18
  import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
19
19
  const baseStylesCache = new WeakMap();
20
+ const parseAstCache = new Map();
21
+ const MAX_PARSE_CACHE_ENTRIES = 32;
22
+ const MAX_CACHEABLE_TEXT_LENGTH = 24_000;
23
+ const isMarkdownNode = value => {
24
+ if (typeof value !== "object" || value === null) return false;
25
+ return typeof Reflect.get(value, "type") === "string";
26
+ };
27
+ const warnInDev = (message, error) => {
28
+ if (typeof __DEV__ === "undefined" || !__DEV__) return;
29
+ const runtimeConsole = Reflect.get(globalThis, "console");
30
+ if (typeof runtimeConsole === "object" && runtimeConsole !== null && "warn" in runtimeConsole && typeof runtimeConsole.warn === "function") {
31
+ runtimeConsole.warn(message, error);
32
+ }
33
+ };
34
+ const cloneMarkdownNode = node => {
35
+ return {
36
+ ...node,
37
+ children: node.children?.map(cloneMarkdownNode)
38
+ };
39
+ };
40
+ const getParserOptionsKey = options => {
41
+ if (!options) return "gfm:default|math:default";
42
+ const gfm = options.gfm === undefined ? "default" : options.gfm ? "1" : "0";
43
+ const math = options.math === undefined ? "default" : options.math ? "1" : "0";
44
+ return `gfm:${gfm}|math:${math}`;
45
+ };
46
+ const normalizeParserOptions = options => {
47
+ if (!options) return undefined;
48
+ const gfm = options.gfm;
49
+ const math = options.math;
50
+ if (gfm === undefined && math === undefined) {
51
+ return undefined;
52
+ }
53
+ return {
54
+ gfm,
55
+ math
56
+ };
57
+ };
58
+ const parseWithNativeParser = (text, options) => {
59
+ if (options) {
60
+ return parseMarkdownWithOptions(text, options);
61
+ }
62
+ return parseMarkdown(text);
63
+ };
64
+ const getCachedParsedAst = (text, options) => {
65
+ if (text.length > MAX_CACHEABLE_TEXT_LENGTH) {
66
+ return parseWithNativeParser(text, options);
67
+ }
68
+ const cacheKey = `${getParserOptionsKey(options)}|${text}`;
69
+ const cachedNode = parseAstCache.get(cacheKey);
70
+ if (cachedNode) {
71
+ parseAstCache.delete(cacheKey);
72
+ parseAstCache.set(cacheKey, cachedNode);
73
+ return cloneMarkdownNode(cachedNode);
74
+ }
75
+ const parsedNode = parseWithNativeParser(text, options);
76
+ parseAstCache.set(cacheKey, parsedNode);
77
+ if (parseAstCache.size > MAX_PARSE_CACHE_ENTRIES) {
78
+ const oldestCacheKey = parseAstCache.keys().next().value;
79
+ if (typeof oldestCacheKey === "string") {
80
+ parseAstCache.delete(oldestCacheKey);
81
+ }
82
+ }
83
+ return cloneMarkdownNode(parsedNode);
84
+ };
85
+ const applyBeforeParsePlugins = (markdown, plugins) => {
86
+ if (!plugins || plugins.length === 0) {
87
+ return markdown;
88
+ }
89
+ let nextMarkdown = markdown;
90
+ for (const plugin of plugins) {
91
+ if (!plugin.beforeParse) continue;
92
+ try {
93
+ const transformed = plugin.beforeParse(nextMarkdown);
94
+ if (typeof transformed === "string") {
95
+ nextMarkdown = transformed;
96
+ }
97
+ } catch (error) {
98
+ const pluginLabel = plugin.name ? ` (${plugin.name})` : "";
99
+ warnInDev(`[react-native-nitro-markdown] plugin beforeParse${pluginLabel} threw; using previous markdown.`, error);
100
+ }
101
+ }
102
+ return nextMarkdown;
103
+ };
104
+ const applyAfterParsePlugins = (ast, plugins) => {
105
+ if (!plugins || plugins.length === 0) {
106
+ return ast;
107
+ }
108
+ let nextAst = ast;
109
+ for (const plugin of plugins) {
110
+ if (!plugin.afterParse) continue;
111
+ try {
112
+ const transformed = plugin.afterParse(nextAst);
113
+ if (isMarkdownNode(transformed)) {
114
+ nextAst = transformed;
115
+ }
116
+ } catch (error) {
117
+ const pluginLabel = plugin.name ? ` (${plugin.name})` : "";
118
+ warnInDev(`[react-native-nitro-markdown] plugin afterParse${pluginLabel} threw; using previous AST.`, error);
119
+ }
120
+ }
121
+ return nextAst;
122
+ };
20
123
  export const Markdown = ({
21
124
  children,
22
125
  options,
126
+ plugins,
127
+ sourceAst,
128
+ astTransform,
23
129
  renderers = {},
24
130
  theme: userTheme,
25
131
  styles: nodeStyles,
@@ -27,43 +133,81 @@ export const Markdown = ({
27
133
  style,
28
134
  onParsingInProgress,
29
135
  onParseComplete,
30
- onLinkPress
136
+ onLinkPress,
137
+ virtualize = false,
138
+ virtualizationMinBlocks = 40,
139
+ virtualization
31
140
  }) => {
141
+ const parserOptionGfm = options?.gfm;
142
+ const parserOptionMath = options?.math;
32
143
  const parseResult = useMemo(() => {
33
144
  try {
34
- let ast;
35
- if (options) {
36
- ast = parseMarkdownWithOptions(children, options);
37
- } else {
38
- ast = parseMarkdown(children);
145
+ const markdownToParse = applyBeforeParsePlugins(children, plugins);
146
+ const parserOptions = normalizeParserOptions({
147
+ gfm: parserOptionGfm,
148
+ math: parserOptionMath
149
+ });
150
+ let parsedAst = sourceAst ? cloneMarkdownNode(sourceAst) : getCachedParsedAst(markdownToParse, parserOptions);
151
+ parsedAst = applyAfterParsePlugins(parsedAst, plugins);
152
+ let ast = parsedAst;
153
+ if (astTransform) {
154
+ try {
155
+ const nextAst = astTransform(parsedAst);
156
+ if (isMarkdownNode(nextAst)) {
157
+ ast = nextAst;
158
+ }
159
+ } catch (error) {
160
+ warnInDev("[react-native-nitro-markdown] astTransform threw; falling back to parsed AST.", error);
161
+ ast = parsedAst;
162
+ }
39
163
  }
40
164
  return {
41
- ast,
42
- text: getFlattenedText(ast)
165
+ ast
43
166
  };
44
167
  } catch {
45
168
  return {
46
- ast: null,
47
- text: ""
169
+ ast: null
48
170
  };
49
171
  }
50
- }, [children, options]);
172
+ }, [children, parserOptionGfm, parserOptionMath, plugins, sourceAst, astTransform]);
51
173
  useEffect(() => {
52
174
  onParsingInProgress?.();
53
- }, [children, options, onParsingInProgress]);
175
+ }, [children, parserOptionGfm, parserOptionMath, plugins, onParsingInProgress]);
54
176
  useEffect(() => {
55
- if (!parseResult.ast) return;
56
- onParseComplete?.({
177
+ if (!parseResult.ast || !onParseComplete) return;
178
+ onParseComplete({
57
179
  raw: children,
58
180
  ast: parseResult.ast,
59
- text: parseResult.text
181
+ text: getFlattenedText(parseResult.ast)
60
182
  });
61
- }, [children, onParseComplete, parseResult.ast, parseResult.text]);
183
+ }, [children, onParseComplete, parseResult.ast]);
62
184
  const theme = useMemo(() => {
63
185
  const base = stylingStrategy === "minimal" ? minimalMarkdownTheme : defaultMarkdownTheme;
64
186
  return mergeThemes(base, userTheme);
65
187
  }, [userTheme, stylingStrategy]);
66
188
  const baseStyles = getBaseStyles(theme);
189
+ const contextValue = useMemo(() => ({
190
+ renderers,
191
+ theme,
192
+ styles: nodeStyles,
193
+ stylingStrategy,
194
+ onLinkPress
195
+ }), [renderers, theme, nodeStyles, stylingStrategy, onLinkPress]);
196
+ const topLevelBlocks = parseResult.ast?.type === "document" ? parseResult.ast.children ?? [] : parseResult.ast ? [parseResult.ast] : [];
197
+ const shouldVirtualizeBySetting = virtualize === true || virtualize === "auto" && topLevelBlocks.length >= virtualizationMinBlocks;
198
+ const shouldVirtualize = parseResult.ast !== null && shouldVirtualizeBySetting;
199
+ const keyExtractor = useCallback((node, index) => {
200
+ const beg = typeof node.beg === "number" ? node.beg : index;
201
+ const end = typeof node.end === "number" ? node.end : index;
202
+ return `${node.type}:${beg}:${end}:${index}`;
203
+ }, []);
204
+ const renderVirtualizedItem = useCallback(({
205
+ item
206
+ }) => /*#__PURE__*/_jsx(NodeRenderer, {
207
+ node: item,
208
+ depth: 0,
209
+ inListItem: false
210
+ }), []);
67
211
  if (!parseResult.ast) {
68
212
  return /*#__PURE__*/_jsx(View, {
69
213
  style: [baseStyles.container, style],
@@ -74,16 +218,21 @@ export const Markdown = ({
74
218
  });
75
219
  }
76
220
  return /*#__PURE__*/_jsx(MarkdownContext.Provider, {
77
- value: {
78
- renderers,
79
- theme,
80
- styles: nodeStyles,
81
- stylingStrategy,
82
- onLinkPress
83
- },
221
+ value: contextValue,
84
222
  children: /*#__PURE__*/_jsx(View, {
85
223
  style: [baseStyles.container, style],
86
- children: /*#__PURE__*/_jsx(NodeRenderer, {
224
+ children: shouldVirtualize ? /*#__PURE__*/_jsx(FlatList, {
225
+ data: topLevelBlocks,
226
+ renderItem: renderVirtualizedItem,
227
+ keyExtractor: keyExtractor,
228
+ style: baseStyles.virtualizedList,
229
+ initialNumToRender: virtualization?.initialNumToRender ?? 12,
230
+ maxToRenderPerBatch: virtualization?.maxToRenderPerBatch ?? 12,
231
+ windowSize: virtualization?.windowSize ?? 10,
232
+ updateCellsBatchingPeriod: virtualization?.updateCellsBatchingPeriod ?? 16,
233
+ removeClippedSubviews: virtualization?.removeClippedSubviews ?? true,
234
+ showsVerticalScrollIndicator: false
235
+ }) : /*#__PURE__*/_jsx(NodeRenderer, {
87
236
  node: parseResult.ast,
88
237
  depth: 0,
89
238
  inListItem: false
@@ -94,7 +243,7 @@ export const Markdown = ({
94
243
  const isInline = type => {
95
244
  return type === "text" || type === "bold" || type === "italic" || type === "strikethrough" || type === "link" || type === "code_inline" || type === "soft_break" || type === "line_break" || type === "html_inline" || type === "math_inline";
96
245
  };
97
- const NodeRenderer = ({
246
+ const NodeRendererComponent = ({
98
247
  node,
99
248
  depth,
100
249
  inListItem,
@@ -358,6 +507,9 @@ const NodeRenderer = ({
358
507
  return null;
359
508
  }
360
509
  };
510
+ const NodeRenderer = /*#__PURE__*/memo(NodeRendererComponent, (previousProps, nextProps) => {
511
+ return previousProps.node === nextProps.node && previousProps.depth === nextProps.depth && previousProps.inListItem === nextProps.inListItem && previousProps.parentIsText === nextProps.parentIsText;
512
+ });
361
513
  const getBaseStyles = theme => {
362
514
  const cached = baseStylesCache.get(theme);
363
515
  if (cached) return cached;
@@ -369,6 +521,9 @@ const createBaseStyles = theme => StyleSheet.create({
369
521
  container: {
370
522
  flex: 1
371
523
  },
524
+ virtualizedList: {
525
+ flex: 1
526
+ },
372
527
  document: {
373
528
  flex: 1
374
529
  },
@@ -1 +1 @@
1
- {"version":3,"names":["useEffect","useMemo","Fragment","StyleSheet","View","Text","Platform","parseMarkdown","parseMarkdownWithOptions","getFlattenedText","getTextContent","MarkdownContext","useMarkdownContext","Blockquote","CodeBlock","InlineCode","Heading","HorizontalRule","Image","Link","List","ListItem","TaskListItem","MathInline","MathBlock","Paragraph","TableRenderer","defaultMarkdownTheme","minimalMarkdownTheme","mergeThemes","jsx","_jsx","_Fragment","baseStylesCache","WeakMap","Markdown","children","options","renderers","theme","userTheme","styles","nodeStyles","stylingStrategy","style","onParsingInProgress","onParseComplete","onLinkPress","parseResult","ast","text","raw","base","baseStyles","getBaseStyles","container","errorText","Provider","value","NodeRenderer","node","depth","inListItem","isInline","type","parentIsText","renderChildren","childInListItem","childParentIsText","length","elements","currentInlineGroup","flushInlineGroup","hasMath","some","child","push","flexDirection","alignItems","flexWrap","flexShrink","map","n","idx","Wrapper","wrapperProps","forEach","index","customRenderer","childrenRendered","baseProps","Renderer","enhancedProps","level","href","title","url","alt","content","language","ordered","start","checked","result","undefined","nodeStyleOverride","document","bold","italic","strikethrough","mathContent","replace","trim","cached","get","created","createBaseStyles","set","create","flex","color","fontSize","fontFamily","fontFamilies","mono","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":["memo","useCallback","useEffect","useMemo","Fragment","StyleSheet","View","Text","FlatList","Platform","parseMarkdown","parseMarkdownWithOptions","getFlattenedText","getTextContent","MarkdownContext","useMarkdownContext","Blockquote","CodeBlock","InlineCode","Heading","HorizontalRule","Image","Link","List","ListItem","TaskListItem","MathInline","MathBlock","Paragraph","TableRenderer","defaultMarkdownTheme","minimalMarkdownTheme","mergeThemes","jsx","_jsx","_Fragment","baseStylesCache","WeakMap","parseAstCache","Map","MAX_PARSE_CACHE_ENTRIES","MAX_CACHEABLE_TEXT_LENGTH","isMarkdownNode","value","Reflect","get","warnInDev","message","error","__DEV__","runtimeConsole","globalThis","warn","cloneMarkdownNode","node","children","map","getParserOptionsKey","options","gfm","undefined","math","normalizeParserOptions","parseWithNativeParser","text","getCachedParsedAst","length","cacheKey","cachedNode","delete","set","parsedNode","size","oldestCacheKey","keys","next","applyBeforeParsePlugins","markdown","plugins","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","parserOptionGfm","parserOptionMath","parseResult","markdownToParse","parserOptions","parsedAst","raw","base","baseStyles","getBaseStyles","contextValue","topLevelBlocks","type","shouldVirtualizeBySetting","shouldVirtualize","keyExtractor","index","beg","end","renderVirtualizedItem","item","NodeRenderer","depth","inListItem","container","errorText","Provider","data","renderItem","virtualizedList","initialNumToRender","maxToRenderPerBatch","windowSize","updateCellsBatchingPeriod","removeClippedSubviews","showsVerticalScrollIndicator","isInline","NodeRendererComponent","parentIsText","renderChildren","childInListItem","childParentIsText","elements","currentInlineGroup","flushInlineGroup","hasMath","some","child","push","flexDirection","alignItems","flexWrap","flexShrink","n","idx","Wrapper","wrapperProps","forEach","customRenderer","childrenRendered","baseProps","Renderer","enhancedProps","level","href","title","url","alt","content","language","ordered","start","checked","result","nodeStyleOverride","document","bold","italic","strikethrough","mathContent","replace","trim","previousProps","nextProps","cached","created","createBaseStyles","create","flex","color","fontSize","fontFamily","fontFamilies","mono","OS","includeFontPadding","colors","fontSizes","m","lineHeight","regular","fontWeight","fontStyle","textDecorationLine"],"sourceRoot":"../../src","sources":["markdown.tsx"],"mappings":"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","ignoreList":[]}
@@ -58,6 +58,7 @@ export const CodeBlock = ({
58
58
  }) : null, /*#__PURE__*/_jsx(ScrollView, {
59
59
  horizontal: true,
60
60
  showsHorizontalScrollIndicator: false,
61
+ bounces: false,
61
62
  children: /*#__PURE__*/_jsx(Text, {
62
63
  style: styles.codeBlockText,
63
64
  children: displayContent
@@ -1 +1 @@
1
- {"version":3,"names":["useMemo","View","Text","StyleSheet","ScrollView","Platform","getTextContent","useMarkdownContext","jsx","_jsx","jsxs","_jsxs","CodeBlock","language","content","node","style","theme","displayContent","styles","create","codeBlock","backgroundColor","colors","codeBackground","borderRadius","m","padding","spacing","l","marginVertical","borderWidth","borderColor","border","codeLanguage","color","fontSize","fontSizes","xs","fontWeight","marginBottom","s","textTransform","letterSpacing","fontFamily","fontFamilies","mono","OS","includeFontPadding","codeBlockText","select","ios","android","text","lineHeight","showLanguage","showCodeLanguage","children","horizontal","showsHorizontalScrollIndicator","InlineCode","codeInline","code","paddingHorizontal","paddingVertical"],"sourceRoot":"../../../src","sources":["renderers/code.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useMemo","View","Text","StyleSheet","ScrollView","Platform","getTextContent","useMarkdownContext","jsx","_jsx","jsxs","_jsxs","CodeBlock","language","content","node","style","theme","displayContent","styles","create","codeBlock","backgroundColor","colors","codeBackground","borderRadius","m","padding","spacing","l","marginVertical","borderWidth","borderColor","border","codeLanguage","color","fontSize","fontSizes","xs","fontWeight","marginBottom","s","textTransform","letterSpacing","fontFamily","fontFamilies","mono","OS","includeFontPadding","codeBlockText","select","ios","android","text","lineHeight","showLanguage","showCodeLanguage","children","horizontal","showsHorizontalScrollIndicator","bounces","InlineCode","codeInline","code","paddingHorizontal","paddingVertical"],"sourceRoot":"../../../src","sources":["renderers/code.tsx"],"mappings":";;AAAA,SAASA,OAAO,QAAiC,OAAO;AACxD,SACEC,IAAI,EACJC,IAAI,EACJC,UAAU,EACVC,UAAU,EACVC,QAAQ,QAGH,cAAc;AACrB,SAASC,cAAc,QAAQ,gBAAa;AAC5C,SAASC,kBAAkB,QAAQ,uBAAoB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAUxD,OAAO,MAAMC,SAA6B,GAAGA,CAAC;EAC5CC,QAAQ;EACRC,OAAO;EACPC,IAAI;EACJC;AACF,CAAC,KAAK;EACJ,MAAM;IAAEC;EAAM,CAAC,GAAGV,kBAAkB,CAAC,CAAC;EAEtC,MAAMW,cAAc,GAAGJ,OAAO,KAAKC,IAAI,GAAGT,cAAc,CAACS,IAAI,CAAC,GAAG,EAAE,CAAC;EAEpE,MAAMI,MAAM,GAAGnB,OAAO,CACpB,MACEG,UAAU,CAACiB,MAAM,CAAC;IAChBC,SAAS,EAAE;MACTC,eAAe,EAAEL,KAAK,CAACM,MAAM,CAACC,cAAc;MAC5CC,YAAY,EAAER,KAAK,CAACQ,YAAY,CAACC,CAAC;MAClCC,OAAO,EAAEV,KAAK,CAACW,OAAO,CAACC,CAAC;MACxBC,cAAc,EAAEb,KAAK,CAACW,OAAO,CAACF,CAAC;MAC/BK,WAAW,EAAE,CAAC;MACdC,WAAW,EAAEf,KAAK,CAACM,MAAM,CAACU;IAC5B,CAAC;IACDC,YAAY,EAAE;MACZC,KAAK,EAAElB,KAAK,CAACM,MAAM,CAACW,YAAY;MAChCE,QAAQ,EAAEnB,KAAK,CAACoB,SAAS,CAACC,EAAE;MAC5BC,UAAU,EAAE,KAAK;MACjBC,YAAY,EAAEvB,KAAK,CAACW,OAAO,CAACa,CAAC;MAC7BC,aAAa,EAAE,WAAW;MAC1BC,aAAa,EAAE,GAAG;MAClBC,UAAU,EAAE3B,KAAK,CAAC4B,YAAY,CAACC,IAAI;MACnC,IAAIzC,QAAQ,CAAC0C,EAAE,KAAK,SAAS,IAAI;QAAEC,kBAAkB,EAAE;MAAM,CAAC;IAChE,CAAC;IACDC,aAAa,EAAE;MACbL,UAAU,EACR3B,KAAK,CAAC4B,YAAY,CAACC,IAAI,IACvBzC,QAAQ,CAAC6C,MAAM,CAAC;QAAEC,GAAG,EAAE,SAAS;QAAEC,OAAO,EAAE;MAAY,CAAC,CAAC;MAC3DhB,QAAQ,EAAEnB,KAAK,CAACoB,SAAS,CAACI,CAAC;MAC3BN,KAAK,EAAElB,KAAK,CAACM,MAAM,CAAC8B,IAAI;MACxBC,UAAU,EAAErC,KAAK,CAACoB,SAAS,CAACI,CAAC,GAAG,GAAG;MACnC,IAAIpC,QAAQ,CAAC0C,EAAE,KAAK,SAAS,IAAI;QAAEC,kBAAkB,EAAE;MAAM,CAAC;IAChE;EACF,CAAC,CAAC,EACJ,CAAC/B,KAAK,CACR,CAAC;EAED,MAAMsC,YAAY,GAAGtC,KAAK,CAACuC,gBAAgB,IAAI3C,QAAQ;EAEvD,oBACEF,KAAA,CAACV,IAAI;IAACe,KAAK,EAAE,CAACG,MAAM,CAACE,SAAS,EAAEL,KAAK,CAAE;IAAAyC,QAAA,GACpCF,YAAY,gBACX9C,IAAA,CAACP,IAAI;MAACc,KAAK,EAAEG,MAAM,CAACe,YAAa;MAAAuB,QAAA,EAAE5C;IAAQ,CAAO,CAAC,GACjD,IAAI,eACRJ,IAAA,CAACL,UAAU;MACTsD,UAAU;MACVC,8BAA8B,EAAE,KAAM;MACtCC,OAAO,EAAE,KAAM;MAAAH,QAAA,eAEfhD,IAAA,CAACP,IAAI;QAACc,KAAK,EAAEG,MAAM,CAAC8B,aAAc;QAAAQ,QAAA,EAAEvC;MAAc,CAAO;IAAC,CAChD,CAAC;EAAA,CACT,CAAC;AAEX,CAAC;AASD,OAAO,MAAM2C,UAA+B,GAAGA,CAAC;EAC9C/C,OAAO;EACPC,IAAI;EACJ0C,QAAQ;EACRzC;AACF,CAAC,KAAK;EACJ,MAAM;IAAEC;EAAM,CAAC,GAAGV,kBAAkB,CAAC,CAAC;EAEtC,MAAMW,cAAc,GAClBJ,OAAO,IAAI2C,QAAQ,KAAK1C,IAAI,GAAGT,cAAc,CAACS,IAAI,CAAC,GAAG,EAAE,CAAC;EAE3D,MAAMI,MAAM,GAAGnB,OAAO,CACpB,MACEG,UAAU,CAACiB,MAAM,CAAC;IAChB0C,UAAU,EAAE;MACVlB,UAAU,EACR3B,KAAK,CAAC4B,YAAY,CAACC,IAAI,IACvBzC,QAAQ,CAAC6C,MAAM,CAAC;QAAEC,GAAG,EAAE,SAAS;QAAEC,OAAO,EAAE;MAAY,CAAC,CAAC;MAC3DhB,QAAQ,EAAEnB,KAAK,CAACoB,SAAS,CAACI,CAAC;MAC3BN,KAAK,EAAElB,KAAK,CAACM,MAAM,CAACwC,IAAI;MACxBzC,eAAe,EAAEL,KAAK,CAACM,MAAM,CAACC,cAAc;MAC5CwC,iBAAiB,EAAE/C,KAAK,CAACW,OAAO,CAACU,EAAE;MACnC2B,eAAe,EAAE,CAAC;MAClBxC,YAAY,EAAER,KAAK,CAACQ,YAAY,CAACgB,CAAC;MAClC,IAAIpC,QAAQ,CAAC0C,EAAE,KAAK,SAAS,IAAI;QAAEC,kBAAkB,EAAE;MAAM,CAAC;IAChE;EACF,CAAC,CAAC,EACJ,CAAC/B,KAAK,CACR,CAAC;EACD,oBAAOR,IAAA,CAACP,IAAI;IAACc,KAAK,EAAE,CAACG,MAAM,CAAC2C,UAAU,EAAE9C,KAAK,CAAE;IAAAyC,QAAA,EAAEvC;EAAc,CAAO,CAAC;AACzE,CAAC","ignoreList":[]}