react-native-nitro-markdown 0.4.2 → 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.
- package/README.md +605 -318
- package/android/src/main/java/com/margelo/nitro/com/nitromarkdown/HybridMarkdownSession.kt +27 -8
- package/cpp/bindings/HybridMarkdownParser.cpp +216 -66
- package/cpp/bindings/HybridMarkdownParser.hpp +2 -0
- package/ios/HybridMarkdownSession.swift +33 -7
- package/lib/commonjs/MarkdownContext.js +2 -1
- package/lib/commonjs/MarkdownContext.js.map +1 -1
- package/lib/commonjs/headless.js +41 -5
- package/lib/commonjs/headless.js.map +1 -1
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/markdown-stream.js +109 -13
- package/lib/commonjs/markdown-stream.js.map +1 -1
- package/lib/commonjs/markdown.js +215 -44
- package/lib/commonjs/markdown.js.map +1 -1
- package/lib/commonjs/renderers/code.js +4 -3
- package/lib/commonjs/renderers/code.js.map +1 -1
- package/lib/commonjs/renderers/heading.js +1 -1
- package/lib/commonjs/renderers/heading.js.map +1 -1
- package/lib/commonjs/renderers/image.js +7 -5
- package/lib/commonjs/renderers/image.js.map +1 -1
- package/lib/commonjs/renderers/link.js +15 -3
- package/lib/commonjs/renderers/link.js.map +1 -1
- package/lib/commonjs/renderers/list.js +2 -2
- package/lib/commonjs/renderers/list.js.map +1 -1
- package/lib/commonjs/renderers/table.js +126 -21
- package/lib/commonjs/renderers/table.js.map +1 -1
- package/lib/commonjs/use-markdown-stream.js +16 -14
- package/lib/commonjs/use-markdown-stream.js.map +1 -1
- package/lib/commonjs/utils/incremental-ast.js +153 -0
- package/lib/commonjs/utils/incremental-ast.js.map +1 -0
- package/lib/commonjs/utils/link-security.js +21 -0
- package/lib/commonjs/utils/link-security.js.map +1 -0
- package/lib/commonjs/utils/stream-timeline.js +62 -0
- package/lib/commonjs/utils/stream-timeline.js.map +1 -0
- package/lib/module/MarkdownContext.js +2 -1
- package/lib/module/MarkdownContext.js.map +1 -1
- package/lib/module/headless.js +37 -4
- package/lib/module/headless.js.map +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/markdown-stream.js +110 -14
- package/lib/module/markdown-stream.js.map +1 -1
- package/lib/module/markdown.js +217 -46
- package/lib/module/markdown.js.map +1 -1
- package/lib/module/renderers/blockquote.js.map +1 -1
- package/lib/module/renderers/code.js +4 -3
- package/lib/module/renderers/code.js.map +1 -1
- package/lib/module/renderers/heading.js +1 -1
- package/lib/module/renderers/heading.js.map +1 -1
- package/lib/module/renderers/image.js +7 -5
- package/lib/module/renderers/image.js.map +1 -1
- package/lib/module/renderers/link.js +15 -3
- package/lib/module/renderers/link.js.map +1 -1
- package/lib/module/renderers/list.js +2 -2
- package/lib/module/renderers/list.js.map +1 -1
- package/lib/module/renderers/paragraph.js.map +1 -1
- package/lib/module/renderers/table.js +127 -22
- package/lib/module/renderers/table.js.map +1 -1
- package/lib/module/use-markdown-stream.js +16 -14
- package/lib/module/use-markdown-stream.js.map +1 -1
- package/lib/module/utils/incremental-ast.js +147 -0
- package/lib/module/utils/incremental-ast.js.map +1 -0
- package/lib/module/utils/link-security.js +15 -0
- package/lib/module/utils/link-security.js.map +1 -0
- package/lib/module/utils/stream-timeline.js +56 -0
- package/lib/module/utils/stream-timeline.js.map +1 -0
- package/lib/typescript/commonjs/Markdown.nitro.d.ts +5 -3
- package/lib/typescript/commonjs/Markdown.nitro.d.ts.map +1 -1
- package/lib/typescript/commonjs/MarkdownContext.d.ts +26 -25
- package/lib/typescript/commonjs/MarkdownContext.d.ts.map +1 -1
- package/lib/typescript/commonjs/headless.d.ts +15 -2
- package/lib/typescript/commonjs/headless.d.ts.map +1 -1
- package/lib/typescript/commonjs/index.d.ts +3 -1
- package/lib/typescript/commonjs/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/markdown-stream.d.ts +7 -2
- package/lib/typescript/commonjs/markdown-stream.d.ts.map +1 -1
- package/lib/typescript/commonjs/markdown.d.ts +62 -5
- package/lib/typescript/commonjs/markdown.d.ts.map +1 -1
- package/lib/typescript/commonjs/renderers/blockquote.d.ts +3 -3
- package/lib/typescript/commonjs/renderers/blockquote.d.ts.map +1 -1
- package/lib/typescript/commonjs/renderers/code.d.ts +5 -5
- package/lib/typescript/commonjs/renderers/code.d.ts.map +1 -1
- package/lib/typescript/commonjs/renderers/heading.d.ts +3 -3
- package/lib/typescript/commonjs/renderers/heading.d.ts.map +1 -1
- package/lib/typescript/commonjs/renderers/horizontal-rule.d.ts +2 -2
- package/lib/typescript/commonjs/renderers/horizontal-rule.d.ts.map +1 -1
- package/lib/typescript/commonjs/renderers/image.d.ts +2 -2
- package/lib/typescript/commonjs/renderers/image.d.ts.map +1 -1
- package/lib/typescript/commonjs/renderers/link.d.ts +3 -3
- package/lib/typescript/commonjs/renderers/link.d.ts.map +1 -1
- package/lib/typescript/commonjs/renderers/list.d.ts +7 -7
- package/lib/typescript/commonjs/renderers/list.d.ts.map +1 -1
- package/lib/typescript/commonjs/renderers/math.d.ts +4 -4
- package/lib/typescript/commonjs/renderers/math.d.ts.map +1 -1
- package/lib/typescript/commonjs/renderers/paragraph.d.ts +3 -3
- package/lib/typescript/commonjs/renderers/paragraph.d.ts.map +1 -1
- package/lib/typescript/commonjs/renderers/table.d.ts +3 -3
- package/lib/typescript/commonjs/renderers/table.d.ts.map +1 -1
- package/lib/typescript/commonjs/specs/MarkdownSession.nitro.d.ts +5 -2
- package/lib/typescript/commonjs/specs/MarkdownSession.nitro.d.ts.map +1 -1
- package/lib/typescript/commonjs/theme.d.ts +2 -2
- package/lib/typescript/commonjs/theme.d.ts.map +1 -1
- package/lib/typescript/commonjs/use-markdown-stream.d.ts.map +1 -1
- package/lib/typescript/commonjs/utils/incremental-ast.d.ts +12 -0
- package/lib/typescript/commonjs/utils/incremental-ast.d.ts.map +1 -0
- package/lib/typescript/commonjs/utils/link-security.d.ts +3 -0
- package/lib/typescript/commonjs/utils/link-security.d.ts.map +1 -0
- package/lib/typescript/commonjs/utils/stream-timeline.d.ts +11 -0
- package/lib/typescript/commonjs/utils/stream-timeline.d.ts.map +1 -0
- package/lib/typescript/module/Markdown.nitro.d.ts +5 -3
- package/lib/typescript/module/Markdown.nitro.d.ts.map +1 -1
- package/lib/typescript/module/MarkdownContext.d.ts +26 -25
- package/lib/typescript/module/MarkdownContext.d.ts.map +1 -1
- package/lib/typescript/module/headless.d.ts +15 -2
- package/lib/typescript/module/headless.d.ts.map +1 -1
- package/lib/typescript/module/index.d.ts +3 -1
- package/lib/typescript/module/index.d.ts.map +1 -1
- package/lib/typescript/module/markdown-stream.d.ts +7 -2
- package/lib/typescript/module/markdown-stream.d.ts.map +1 -1
- package/lib/typescript/module/markdown.d.ts +62 -5
- package/lib/typescript/module/markdown.d.ts.map +1 -1
- package/lib/typescript/module/renderers/blockquote.d.ts +3 -3
- package/lib/typescript/module/renderers/blockquote.d.ts.map +1 -1
- package/lib/typescript/module/renderers/code.d.ts +5 -5
- package/lib/typescript/module/renderers/code.d.ts.map +1 -1
- package/lib/typescript/module/renderers/heading.d.ts +3 -3
- package/lib/typescript/module/renderers/heading.d.ts.map +1 -1
- package/lib/typescript/module/renderers/horizontal-rule.d.ts +2 -2
- package/lib/typescript/module/renderers/horizontal-rule.d.ts.map +1 -1
- package/lib/typescript/module/renderers/image.d.ts +2 -2
- package/lib/typescript/module/renderers/image.d.ts.map +1 -1
- package/lib/typescript/module/renderers/link.d.ts +3 -3
- package/lib/typescript/module/renderers/link.d.ts.map +1 -1
- package/lib/typescript/module/renderers/list.d.ts +7 -7
- package/lib/typescript/module/renderers/list.d.ts.map +1 -1
- package/lib/typescript/module/renderers/math.d.ts +4 -4
- package/lib/typescript/module/renderers/math.d.ts.map +1 -1
- package/lib/typescript/module/renderers/paragraph.d.ts +3 -3
- package/lib/typescript/module/renderers/paragraph.d.ts.map +1 -1
- package/lib/typescript/module/renderers/table.d.ts +3 -3
- package/lib/typescript/module/renderers/table.d.ts.map +1 -1
- package/lib/typescript/module/specs/MarkdownSession.nitro.d.ts +5 -2
- package/lib/typescript/module/specs/MarkdownSession.nitro.d.ts.map +1 -1
- package/lib/typescript/module/theme.d.ts +2 -2
- package/lib/typescript/module/theme.d.ts.map +1 -1
- package/lib/typescript/module/use-markdown-stream.d.ts.map +1 -1
- package/lib/typescript/module/utils/incremental-ast.d.ts +12 -0
- package/lib/typescript/module/utils/incremental-ast.d.ts.map +1 -0
- package/lib/typescript/module/utils/link-security.d.ts +3 -0
- package/lib/typescript/module/utils/link-security.d.ts.map +1 -0
- package/lib/typescript/module/utils/stream-timeline.d.ts +11 -0
- package/lib/typescript/module/utils/stream-timeline.d.ts.map +1 -0
- package/nitrogen/generated/android/NitroMarkdownOnLoad.cpp +2 -0
- package/nitrogen/generated/android/c++/JFunc_void_double_double.hpp +75 -0
- package/nitrogen/generated/android/c++/JHybridMarkdownSessionSpec.cpp +18 -6
- package/nitrogen/generated/android/c++/JHybridMarkdownSessionSpec.hpp +4 -2
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/com/nitromarkdown/Func_void_double_double.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/com/nitromarkdown/HybridMarkdownSessionSpec.kt +11 -3
- package/nitrogen/generated/ios/NitroMarkdown-Swift-Cxx-Bridge.cpp +8 -0
- package/nitrogen/generated/ios/NitroMarkdown-Swift-Cxx-Bridge.hpp +31 -0
- package/nitrogen/generated/ios/c++/HybridMarkdownSessionSpecSwift.hpp +20 -2
- package/nitrogen/generated/ios/swift/Func_void.swift +0 -1
- package/nitrogen/generated/ios/swift/Func_void_double_double.swift +46 -0
- package/nitrogen/generated/ios/swift/HybridMarkdownSessionSpec.swift +4 -3
- package/nitrogen/generated/ios/swift/HybridMarkdownSessionSpec_cxx.swift +34 -10
- package/nitrogen/generated/shared/c++/HybridMarkdownParserSpec.cpp +2 -0
- package/nitrogen/generated/shared/c++/HybridMarkdownParserSpec.hpp +2 -0
- package/nitrogen/generated/shared/c++/HybridMarkdownSessionSpec.cpp +2 -0
- package/nitrogen/generated/shared/c++/HybridMarkdownSessionSpec.hpp +4 -2
- package/package.json +7 -5
- package/src/Markdown.nitro.ts +7 -3
- package/src/MarkdownContext.ts +31 -25
- package/src/headless.ts +44 -6
- package/src/index.ts +8 -0
- package/src/markdown-stream.tsx +159 -15
- package/src/markdown.tsx +406 -50
- package/src/renderers/blockquote.tsx +4 -4
- package/src/renderers/code.tsx +16 -10
- package/src/renderers/heading.tsx +4 -4
- package/src/renderers/horizontal-rule.tsx +3 -3
- package/src/renderers/image.tsx +11 -9
- package/src/renderers/link.tsx +25 -7
- package/src/renderers/list.tsx +9 -12
- package/src/renderers/math.tsx +4 -4
- package/src/renderers/paragraph.tsx +3 -3
- package/src/renderers/table.tsx +270 -98
- package/src/specs/MarkdownSession.nitro.ts +6 -2
- package/src/theme.ts +3 -3
- package/src/use-markdown-stream.ts +22 -16
- package/src/utils/incremental-ast.ts +224 -0
- package/src/utils/link-security.ts +22 -0
- package/src/utils/stream-timeline.ts +72 -0
package/lib/module/markdown.js
CHANGED
|
@@ -1,62 +1,214 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
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";
|
|
6
5
|
import { parseMarkdown, parseMarkdownWithOptions, getFlattenedText, getTextContent } from "./headless.js";
|
|
7
6
|
import { MarkdownContext, useMarkdownContext } from "./MarkdownContext.js";
|
|
8
|
-
import { Heading } from "./renderers/heading.js";
|
|
9
|
-
import { Paragraph } from "./renderers/paragraph.js";
|
|
10
|
-
import { Link } from "./renderers/link.js";
|
|
11
7
|
import { Blockquote } from "./renderers/blockquote.js";
|
|
12
|
-
import { HorizontalRule } from "./renderers/horizontal-rule.js";
|
|
13
8
|
import { CodeBlock, InlineCode } from "./renderers/code.js";
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
9
|
+
import { Heading } from "./renderers/heading.js";
|
|
10
|
+
import { HorizontalRule } from "./renderers/horizontal-rule.js";
|
|
16
11
|
import { Image } from "./renderers/image.js";
|
|
12
|
+
import { Link } from "./renderers/link.js";
|
|
13
|
+
import { List, ListItem, TaskListItem } from "./renderers/list.js";
|
|
17
14
|
import { MathInline, MathBlock } from "./renderers/math.js";
|
|
15
|
+
import { Paragraph } from "./renderers/paragraph.js";
|
|
16
|
+
import { TableRenderer } from "./renderers/table.js";
|
|
17
|
+
import { defaultMarkdownTheme, minimalMarkdownTheme, mergeThemes } from "./theme.js";
|
|
18
18
|
import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
|
|
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
|
+
};
|
|
19
123
|
export const Markdown = ({
|
|
20
124
|
children,
|
|
21
125
|
options,
|
|
126
|
+
plugins,
|
|
127
|
+
sourceAst,
|
|
128
|
+
astTransform,
|
|
22
129
|
renderers = {},
|
|
23
130
|
theme: userTheme,
|
|
24
131
|
styles: nodeStyles,
|
|
25
132
|
stylingStrategy = "opinionated",
|
|
26
133
|
style,
|
|
27
134
|
onParsingInProgress,
|
|
28
|
-
onParseComplete
|
|
135
|
+
onParseComplete,
|
|
136
|
+
onLinkPress,
|
|
137
|
+
virtualize = false,
|
|
138
|
+
virtualizationMinBlocks = 40,
|
|
139
|
+
virtualization
|
|
29
140
|
}) => {
|
|
30
|
-
const
|
|
141
|
+
const parserOptionGfm = options?.gfm;
|
|
142
|
+
const parserOptionMath = options?.math;
|
|
143
|
+
const parseResult = useMemo(() => {
|
|
31
144
|
try {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
})
|
|
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
|
+
}
|
|
47
163
|
}
|
|
48
|
-
return
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
164
|
+
return {
|
|
165
|
+
ast
|
|
166
|
+
};
|
|
167
|
+
} catch {
|
|
168
|
+
return {
|
|
169
|
+
ast: null
|
|
170
|
+
};
|
|
52
171
|
}
|
|
53
|
-
}, [children,
|
|
172
|
+
}, [children, parserOptionGfm, parserOptionMath, plugins, sourceAst, astTransform]);
|
|
173
|
+
useEffect(() => {
|
|
174
|
+
onParsingInProgress?.();
|
|
175
|
+
}, [children, parserOptionGfm, parserOptionMath, plugins, onParsingInProgress]);
|
|
176
|
+
useEffect(() => {
|
|
177
|
+
if (!parseResult.ast || !onParseComplete) return;
|
|
178
|
+
onParseComplete({
|
|
179
|
+
raw: children,
|
|
180
|
+
ast: parseResult.ast,
|
|
181
|
+
text: getFlattenedText(parseResult.ast)
|
|
182
|
+
});
|
|
183
|
+
}, [children, onParseComplete, parseResult.ast]);
|
|
54
184
|
const theme = useMemo(() => {
|
|
55
185
|
const base = stylingStrategy === "minimal" ? minimalMarkdownTheme : defaultMarkdownTheme;
|
|
56
186
|
return mergeThemes(base, userTheme);
|
|
57
187
|
}, [userTheme, stylingStrategy]);
|
|
58
|
-
const baseStyles =
|
|
59
|
-
|
|
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
|
+
}), []);
|
|
211
|
+
if (!parseResult.ast) {
|
|
60
212
|
return /*#__PURE__*/_jsx(View, {
|
|
61
213
|
style: [baseStyles.container, style],
|
|
62
214
|
children: /*#__PURE__*/_jsx(Text, {
|
|
@@ -66,16 +218,22 @@ export const Markdown = ({
|
|
|
66
218
|
});
|
|
67
219
|
}
|
|
68
220
|
return /*#__PURE__*/_jsx(MarkdownContext.Provider, {
|
|
69
|
-
value:
|
|
70
|
-
renderers,
|
|
71
|
-
theme,
|
|
72
|
-
styles: nodeStyles,
|
|
73
|
-
stylingStrategy
|
|
74
|
-
},
|
|
221
|
+
value: contextValue,
|
|
75
222
|
children: /*#__PURE__*/_jsx(View, {
|
|
76
223
|
style: [baseStyles.container, style],
|
|
77
|
-
children: /*#__PURE__*/_jsx(
|
|
78
|
-
|
|
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, {
|
|
236
|
+
node: parseResult.ast,
|
|
79
237
|
depth: 0,
|
|
80
238
|
inListItem: false
|
|
81
239
|
})
|
|
@@ -85,7 +243,7 @@ export const Markdown = ({
|
|
|
85
243
|
const isInline = type => {
|
|
86
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";
|
|
87
245
|
};
|
|
88
|
-
const
|
|
246
|
+
const NodeRendererComponent = ({
|
|
89
247
|
node,
|
|
90
248
|
depth,
|
|
91
249
|
inListItem,
|
|
@@ -96,7 +254,7 @@ const NodeRenderer = ({
|
|
|
96
254
|
theme,
|
|
97
255
|
styles: nodeStyles
|
|
98
256
|
} = useMarkdownContext();
|
|
99
|
-
const baseStyles =
|
|
257
|
+
const baseStyles = getBaseStyles(theme);
|
|
100
258
|
const renderChildren = (children, childInListItem = false, childParentIsText = false) => {
|
|
101
259
|
if (!children || children.length === 0) return null;
|
|
102
260
|
const elements = [];
|
|
@@ -191,9 +349,9 @@ const NodeRenderer = ({
|
|
|
191
349
|
})
|
|
192
350
|
};
|
|
193
351
|
const result = customRenderer(enhancedProps);
|
|
194
|
-
if (result !== undefined)
|
|
195
|
-
|
|
196
|
-
}
|
|
352
|
+
if (result !== undefined) {
|
|
353
|
+
return result;
|
|
354
|
+
}
|
|
197
355
|
}
|
|
198
356
|
const nodeStyleOverride = nodeStyles?.[node.type];
|
|
199
357
|
switch (node.type) {
|
|
@@ -349,10 +507,23 @@ const NodeRenderer = ({
|
|
|
349
507
|
return null;
|
|
350
508
|
}
|
|
351
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
|
+
});
|
|
513
|
+
const getBaseStyles = theme => {
|
|
514
|
+
const cached = baseStylesCache.get(theme);
|
|
515
|
+
if (cached) return cached;
|
|
516
|
+
const created = createBaseStyles(theme);
|
|
517
|
+
baseStylesCache.set(theme, created);
|
|
518
|
+
return created;
|
|
519
|
+
};
|
|
352
520
|
const createBaseStyles = theme => StyleSheet.create({
|
|
353
521
|
container: {
|
|
354
522
|
flex: 1
|
|
355
523
|
},
|
|
524
|
+
virtualizedList: {
|
|
525
|
+
flex: 1
|
|
526
|
+
},
|
|
356
527
|
document: {
|
|
357
528
|
flex: 1
|
|
358
529
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["defaultMarkdownTheme","minimalMarkdownTheme","mergeThemes","useMemo","Fragment","StyleSheet","View","Text","Platform","parseMarkdown","parseMarkdownWithOptions","getFlattenedText","getTextContent","MarkdownContext","useMarkdownContext","Heading","Paragraph","Link","Blockquote","HorizontalRule","CodeBlock","InlineCode","List","ListItem","TaskListItem","TableRenderer","Image","MathInline","MathBlock","jsx","_jsx","_Fragment","Markdown","children","options","renderers","theme","userTheme","styles","nodeStyles","stylingStrategy","style","onParsingInProgress","onParseComplete","ast","result","raw","text","error","console","base","baseStyles","createBaseStyles","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","undefined","nodeStyleOverride","document","bold","italic","strikethrough","mathContent","replace","trim","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":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useMemo","View","StyleSheet","useMarkdownContext","jsx","_jsx","Blockquote","children","style","theme","styles","create","blockquote","borderLeftWidth","borderLeftColor","colors","paddingLeft","spacing","l","marginVertical","m","backgroundColor","surfaceLight","paddingVertical","paddingRight","borderRadius","s"],"sourceRoot":"../../../src","sources":["renderers/blockquote.tsx"],"mappings":";;AAAA,
|
|
1
|
+
{"version":3,"names":["useMemo","View","StyleSheet","useMarkdownContext","jsx","_jsx","Blockquote","children","style","theme","styles","create","blockquote","borderLeftWidth","borderLeftColor","colors","paddingLeft","spacing","l","marginVertical","m","backgroundColor","surfaceLight","paddingVertical","paddingRight","borderRadius","s"],"sourceRoot":"../../../src","sources":["renderers/blockquote.tsx"],"mappings":";;AAAA,SAASA,OAAO,QAAiC,OAAO;AACxD,SAASC,IAAI,EAAEC,UAAU,QAAwB,cAAc;AAC/D,SAASC,kBAAkB,QAAQ,uBAAoB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAOxD,OAAO,MAAMC,UAA+B,GAAGA,CAAC;EAAEC,QAAQ;EAAEC;AAAM,CAAC,KAAK;EACtE,MAAM;IAAEC;EAAM,CAAC,GAAGN,kBAAkB,CAAC,CAAC;EACtC,MAAMO,MAAM,GAAGV,OAAO,CACpB,MACEE,UAAU,CAACS,MAAM,CAAC;IAChBC,UAAU,EAAE;MACVC,eAAe,EAAE,CAAC;MAClBC,eAAe,EAAEL,KAAK,CAACM,MAAM,CAACH,UAAU;MACxCI,WAAW,EAAEP,KAAK,CAACQ,OAAO,CAACC,CAAC;MAC5BC,cAAc,EAAEV,KAAK,CAACQ,OAAO,CAACG,CAAC;MAC/BC,eAAe,EAAEZ,KAAK,CAACM,MAAM,CAACO,YAAY;MAC1CC,eAAe,EAAEd,KAAK,CAACQ,OAAO,CAACG,CAAC;MAChCI,YAAY,EAAEf,KAAK,CAACQ,OAAO,CAACG,CAAC;MAC7BK,YAAY,EAAEhB,KAAK,CAACgB,YAAY,CAACC;IACnC;EACF,CAAC,CAAC,EACJ,CAACjB,KAAK,CACR,CAAC;EAED,oBAAOJ,IAAA,CAACJ,IAAI;IAACO,KAAK,EAAE,CAACE,MAAM,CAACE,UAAU,EAAEJ,KAAK,CAAE;IAAAD,QAAA,EAAEA;EAAQ,CAAO,CAAC;AACnE,CAAC","ignoreList":[]}
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
import { useMemo } from "react";
|
|
4
4
|
import { View, Text, StyleSheet, ScrollView, Platform } from "react-native";
|
|
5
|
-
import { useMarkdownContext } from "../MarkdownContext.js";
|
|
6
5
|
import { getTextContent } from "../headless.js";
|
|
6
|
+
import { useMarkdownContext } from "../MarkdownContext.js";
|
|
7
7
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
8
8
|
export const CodeBlock = ({
|
|
9
9
|
language,
|
|
@@ -52,12 +52,13 @@ export const CodeBlock = ({
|
|
|
52
52
|
const showLanguage = theme.showCodeLanguage && language;
|
|
53
53
|
return /*#__PURE__*/_jsxs(View, {
|
|
54
54
|
style: [styles.codeBlock, style],
|
|
55
|
-
children: [showLanguage
|
|
55
|
+
children: [showLanguage ? /*#__PURE__*/_jsx(Text, {
|
|
56
56
|
style: styles.codeLanguage,
|
|
57
57
|
children: language
|
|
58
|
-
}), /*#__PURE__*/_jsx(ScrollView, {
|
|
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","
|
|
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":"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","ignoreList":[]}
|
|
@@ -57,7 +57,7 @@ export const Heading = ({
|
|
|
57
57
|
lineHeight: theme.fontSizes.h6 * 1.3,
|
|
58
58
|
color: theme.colors.textMuted
|
|
59
59
|
}
|
|
60
|
-
}), [theme]);
|
|
60
|
+
}), [headingWeight, theme]);
|
|
61
61
|
const headingStyles = [styles.heading, level === 1 && styles.h1, level === 2 && styles.h2, level === 3 && styles.h3, level === 4 && styles.h4, level === 5 && styles.h5, level === 6 && styles.h6];
|
|
62
62
|
return /*#__PURE__*/_jsx(Text, {
|
|
63
63
|
style: [...headingStyles, style],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useMemo","Text","StyleSheet","Platform","useMarkdownContext","jsx","_jsx","ANDROID_SYSTEM_FONTS","Set","Heading","level","children","style","theme","headingWeight","OS","fontFamilies","heading","has","styles","create","color","colors","fontWeight","marginTop","spacing","xl","marginBottom","m","fontFamily","letterSpacing","includeFontPadding","h1","fontSize","fontSizes","lineHeight","borderBottomWidth","borderBottomColor","border","paddingBottom","s","h2","h3","h4","h5","h6","textMuted","headingStyles"],"sourceRoot":"../../../src","sources":["renderers/heading.tsx"],"mappings":";;AAAA,
|
|
1
|
+
{"version":3,"names":["useMemo","Text","StyleSheet","Platform","useMarkdownContext","jsx","_jsx","ANDROID_SYSTEM_FONTS","Set","Heading","level","children","style","theme","headingWeight","OS","fontFamilies","heading","has","styles","create","color","colors","fontWeight","marginTop","spacing","xl","marginBottom","m","fontFamily","letterSpacing","includeFontPadding","h1","fontSize","fontSizes","lineHeight","borderBottomWidth","borderBottomColor","border","paddingBottom","s","h2","h3","h4","h5","h6","textMuted","headingStyles"],"sourceRoot":"../../../src","sources":["renderers/heading.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -162,27 +162,29 @@ export const Image = ({
|
|
|
162
162
|
}
|
|
163
163
|
return /*#__PURE__*/_jsxs(View, {
|
|
164
164
|
style: [styles.imageContainer, style],
|
|
165
|
-
children: [loading && !aspectRatio
|
|
165
|
+
children: [loading && !aspectRatio ? /*#__PURE__*/_jsx(View, {
|
|
166
166
|
style: styles.imageLoading,
|
|
167
167
|
children: /*#__PURE__*/_jsx(Text, {
|
|
168
168
|
style: styles.imageLoadingText,
|
|
169
169
|
children: "Loading image..."
|
|
170
170
|
})
|
|
171
|
-
}), /*#__PURE__*/_jsx(RNImage, {
|
|
171
|
+
}) : null, /*#__PURE__*/_jsx(RNImage, {
|
|
172
172
|
source: {
|
|
173
173
|
uri: url
|
|
174
174
|
},
|
|
175
175
|
style: [styles.image, loading && !aspectRatio && styles.imageHidden],
|
|
176
176
|
resizeMode: "contain",
|
|
177
|
-
onLoad: () =>
|
|
177
|
+
onLoad: () => {
|
|
178
|
+
setLoading(false);
|
|
179
|
+
},
|
|
178
180
|
onError: () => {
|
|
179
181
|
setLoading(false);
|
|
180
182
|
setError(true);
|
|
181
183
|
}
|
|
182
|
-
}), title && !loading
|
|
184
|
+
}), title && !loading ? /*#__PURE__*/_jsx(Text, {
|
|
183
185
|
style: styles.imageCaption,
|
|
184
186
|
children: title
|
|
185
|
-
})]
|
|
187
|
+
}) : null]
|
|
186
188
|
});
|
|
187
189
|
};
|
|
188
190
|
//# sourceMappingURL=image.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useState","useLayoutEffect","useMemo","View","Text","Image","RNImage","StyleSheet","Platform","parseMarkdownWithOptions","useMarkdownContext","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","renderInlineContent","node","Renderer","type","children","map","child","idx","depth","inListItem","url","title","alt","style","loading","setLoading","error","setError","aspectRatio","setAspectRatio","undefined","theme","styles","create","imageContainer","marginVertical","spacing","m","alignItems","image","width","minHeight","borderRadius","backgroundColor","colors","surface","imageHidden","opacity","position","imageLoading","height","justifyContent","imageLoadingText","color","textMuted","fontSize","fontSizes","s","fontFamily","fontFamilies","regular","OS","includeFontPadding","imageError","padding","l","imageErrorText","imageCaption","xs","marginTop","fontStyle","textAlign","picsumMatch","match","w","parseInt","h","isNaN","getSize","altContent","includes","ast","math","gfm","paragraph","inlineContent","flexDirection","flexWrap","source","uri","resizeMode","onLoad","onError"],"sourceRoot":"../../../src","sources":["renderers/image.tsx"],"mappings":";;AAAA,SACEA,QAAQ,
|
|
1
|
+
{"version":3,"names":["useState","useLayoutEffect","useMemo","View","Text","Image","RNImage","StyleSheet","Platform","parseMarkdownWithOptions","useMarkdownContext","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","renderInlineContent","node","Renderer","type","children","map","child","idx","depth","inListItem","url","title","alt","style","loading","setLoading","error","setError","aspectRatio","setAspectRatio","undefined","theme","styles","create","imageContainer","marginVertical","spacing","m","alignItems","image","width","minHeight","borderRadius","backgroundColor","colors","surface","imageHidden","opacity","position","imageLoading","height","justifyContent","imageLoadingText","color","textMuted","fontSize","fontSizes","s","fontFamily","fontFamilies","regular","OS","includeFontPadding","imageError","padding","l","imageErrorText","imageCaption","xs","marginTop","fontStyle","textAlign","picsumMatch","match","w","parseInt","h","isNaN","getSize","altContent","includes","ast","math","gfm","paragraph","inlineContent","flexDirection","flexWrap","source","uri","resizeMode","onLoad","onError"],"sourceRoot":"../../../src","sources":["renderers/image.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
import { useMemo } from "react";
|
|
4
4
|
import { Text, StyleSheet, Linking, Platform } from "react-native";
|
|
5
5
|
import { useMarkdownContext } from "../MarkdownContext.js";
|
|
6
|
+
import { getAllowedExternalHref, normalizeLinkHref } from "../utils/link-security.js";
|
|
6
7
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
7
8
|
export const Link = ({
|
|
8
9
|
href,
|
|
@@ -10,7 +11,8 @@ export const Link = ({
|
|
|
10
11
|
style
|
|
11
12
|
}) => {
|
|
12
13
|
const {
|
|
13
|
-
theme
|
|
14
|
+
theme,
|
|
15
|
+
onLinkPress
|
|
14
16
|
} = useMarkdownContext();
|
|
15
17
|
const styles = useMemo(() => StyleSheet.create({
|
|
16
18
|
link: {
|
|
@@ -23,8 +25,18 @@ export const Link = ({
|
|
|
23
25
|
})
|
|
24
26
|
}
|
|
25
27
|
}), [theme]);
|
|
26
|
-
const handlePress = () => {
|
|
27
|
-
|
|
28
|
+
const handlePress = async () => {
|
|
29
|
+
const normalizedHref = normalizeLinkHref(href);
|
|
30
|
+
if (!normalizedHref) return;
|
|
31
|
+
try {
|
|
32
|
+
const shouldOpen = (await onLinkPress?.(normalizedHref)) !== false;
|
|
33
|
+
if (!shouldOpen) return;
|
|
34
|
+
const allowedExternalHref = getAllowedExternalHref(normalizedHref);
|
|
35
|
+
if (!allowedExternalHref) return;
|
|
36
|
+
const canOpen = await Linking.canOpenURL(allowedExternalHref);
|
|
37
|
+
if (!canOpen) return;
|
|
38
|
+
await Linking.openURL(allowedExternalHref);
|
|
39
|
+
} catch {}
|
|
28
40
|
};
|
|
29
41
|
return /*#__PURE__*/_jsx(Text, {
|
|
30
42
|
style: [styles.link, style],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useMemo","Text","StyleSheet","Linking","Platform","useMarkdownContext","jsx","_jsx","Link","href","children","style","theme","styles","create","link","color","colors","textDecorationLine","textDecorationColor","fontFamily","fontFamilies","regular","OS","includeFontPadding","handlePress","openURL","onPress"],"sourceRoot":"../../../src","sources":["renderers/link.tsx"],"mappings":";;AAAA,
|
|
1
|
+
{"version":3,"names":["useMemo","Text","StyleSheet","Linking","Platform","useMarkdownContext","getAllowedExternalHref","normalizeLinkHref","jsx","_jsx","Link","href","children","style","theme","onLinkPress","styles","create","link","color","colors","textDecorationLine","textDecorationColor","fontFamily","fontFamilies","regular","OS","includeFontPadding","handlePress","normalizedHref","shouldOpen","allowedExternalHref","canOpen","canOpenURL","openURL","onPress"],"sourceRoot":"../../../src","sources":["renderers/link.tsx"],"mappings":";;AAAA,SAASA,OAAO,QAAiC,OAAO;AACxD,SACEC,IAAI,EACJC,UAAU,EACVC,OAAO,EACPC,QAAQ,QAEH,cAAc;AACrB,SAASC,kBAAkB,QAAQ,uBAAoB;AACvD,SACEC,sBAAsB,EACtBC,iBAAiB,QACZ,2BAAwB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAQhC,OAAO,MAAMC,IAAmB,GAAGA,CAAC;EAAEC,IAAI;EAAEC,QAAQ;EAAEC;AAAM,CAAC,KAAK;EAChE,MAAM;IAAEC,KAAK;IAAEC;EAAY,CAAC,GAAGV,kBAAkB,CAAC,CAAC;EACnD,MAAMW,MAAM,GAAGhB,OAAO,CACpB,MACEE,UAAU,CAACe,MAAM,CAAC;IAChBC,IAAI,EAAE;MACJC,KAAK,EAAEL,KAAK,CAACM,MAAM,CAACF,IAAI;MACxBG,kBAAkB,EAAE,WAAW;MAC/BC,mBAAmB,EAAER,KAAK,CAACM,MAAM,CAACF,IAAI;MACtCK,UAAU,EAAET,KAAK,CAACU,YAAY,CAACC,OAAO;MACtC,IAAIrB,QAAQ,CAACsB,EAAE,KAAK,SAAS,IAAI;QAAEC,kBAAkB,EAAE;MAAM,CAAC;IAChE;EACF,CAAC,CAAC,EACJ,CAACb,KAAK,CACR,CAAC;EAED,MAAMc,WAAW,GAAG,MAAAA,CAAA,KAAY;IAC9B,MAAMC,cAAc,GAAGtB,iBAAiB,CAACI,IAAI,CAAC;IAC9C,IAAI,CAACkB,cAAc,EAAE;IAErB,IAAI;MACF,MAAMC,UAAU,GAAG,CAAC,MAAMf,WAAW,GAAGc,cAAc,CAAC,MAAM,KAAK;MAClE,IAAI,CAACC,UAAU,EAAE;MAEjB,MAAMC,mBAAmB,GAAGzB,sBAAsB,CAACuB,cAAc,CAAC;MAClE,IAAI,CAACE,mBAAmB,EAAE;MAE1B,MAAMC,OAAO,GAAG,MAAM7B,OAAO,CAAC8B,UAAU,CAACF,mBAAmB,CAAC;MAC7D,IAAI,CAACC,OAAO,EAAE;MAEd,MAAM7B,OAAO,CAAC+B,OAAO,CAACH,mBAAmB,CAAC;IAC5C,CAAC,CAAC,MAAM,CAAC;EACX,CAAC;EAED,oBACEtB,IAAA,CAACR,IAAI;IAACY,KAAK,EAAE,CAACG,MAAM,CAACE,IAAI,EAAEL,KAAK,CAAE;IAACsB,OAAO,EAAEP,WAAY;IAAAhB,QAAA,EACrDA;EAAQ,CACL,CAAC;AAEX,CAAC","ignoreList":[]}
|