react-native-nitro-markdown 0.2.1 → 0.3.1
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 +237 -103
- package/cpp/bindings/HybridMarkdownParser.cpp +2 -0
- package/cpp/core/MD4CParser.cpp +73 -39
- package/cpp/core/MarkdownTypes.hpp +6 -1
- package/cpp/md4c/md4c.c +79 -56
- package/cpp/md4c/md4c.h +7 -4
- package/lib/commonjs/MarkdownContext.js +3 -7
- package/lib/commonjs/MarkdownContext.js.map +1 -1
- package/lib/commonjs/default-markdown-renderer.js +4 -7
- package/lib/commonjs/default-markdown-renderer.js.map +1 -1
- package/lib/commonjs/headless.js +49 -1
- package/lib/commonjs/headless.js.map +1 -1
- package/lib/commonjs/index.js +35 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/markdown.js +100 -41
- package/lib/commonjs/markdown.js.map +1 -1
- package/lib/commonjs/renderers/blockquote.js +1 -1
- package/lib/commonjs/renderers/blockquote.js.map +1 -1
- package/lib/commonjs/renderers/code.js +15 -8
- package/lib/commonjs/renderers/code.js.map +1 -1
- package/lib/commonjs/renderers/heading.js +2 -1
- package/lib/commonjs/renderers/heading.js.map +1 -1
- package/lib/commonjs/renderers/horizontal-rule.js +4 -2
- package/lib/commonjs/renderers/horizontal-rule.js.map +1 -1
- package/lib/commonjs/renderers/image.js +39 -14
- package/lib/commonjs/renderers/image.js.map +1 -1
- package/lib/commonjs/renderers/link.js +1 -3
- package/lib/commonjs/renderers/link.js.map +1 -1
- package/lib/commonjs/renderers/list.js +12 -10
- package/lib/commonjs/renderers/list.js.map +1 -1
- package/lib/commonjs/renderers/math.js +33 -47
- package/lib/commonjs/renderers/math.js.map +1 -1
- package/lib/commonjs/renderers/paragraph.js +0 -6
- package/lib/commonjs/renderers/paragraph.js.map +1 -1
- package/lib/commonjs/renderers/table.js +127 -120
- package/lib/commonjs/renderers/table.js.map +1 -1
- package/lib/commonjs/theme.js +146 -13
- package/lib/commonjs/theme.js.map +1 -1
- package/lib/module/MarkdownContext.js +3 -8
- package/lib/module/MarkdownContext.js.map +1 -1
- package/lib/module/default-markdown-renderer.js +1 -4
- package/lib/module/default-markdown-renderer.js.map +1 -1
- package/lib/module/headless.js +46 -0
- package/lib/module/headless.js.map +1 -1
- package/lib/module/index.js +2 -20
- package/lib/module/index.js.map +1 -1
- package/lib/module/markdown.js +101 -42
- package/lib/module/markdown.js.map +1 -1
- package/lib/module/renderers/blockquote.js +1 -1
- package/lib/module/renderers/blockquote.js.map +1 -1
- package/lib/module/renderers/code.js +15 -8
- package/lib/module/renderers/code.js.map +1 -1
- package/lib/module/renderers/heading.js +2 -1
- package/lib/module/renderers/heading.js.map +1 -1
- package/lib/module/renderers/horizontal-rule.js +4 -2
- package/lib/module/renderers/horizontal-rule.js.map +1 -1
- package/lib/module/renderers/image.js +40 -15
- package/lib/module/renderers/image.js.map +1 -1
- package/lib/module/renderers/link.js +1 -3
- package/lib/module/renderers/link.js.map +1 -1
- package/lib/module/renderers/list.js +12 -10
- package/lib/module/renderers/list.js.map +1 -1
- package/lib/module/renderers/math.js +34 -48
- package/lib/module/renderers/math.js.map +1 -1
- package/lib/module/renderers/paragraph.js +0 -6
- package/lib/module/renderers/paragraph.js.map +1 -1
- package/lib/module/renderers/table.js +128 -121
- package/lib/module/renderers/table.js.map +1 -1
- package/lib/module/theme.js +144 -12
- package/lib/module/theme.js.map +1 -1
- package/lib/typescript/commonjs/MarkdownContext.d.ts +45 -6
- package/lib/typescript/commonjs/MarkdownContext.d.ts.map +1 -1
- package/lib/typescript/commonjs/default-markdown-renderer.d.ts +1 -1
- package/lib/typescript/commonjs/default-markdown-renderer.d.ts.map +1 -1
- package/lib/typescript/commonjs/headless.d.ts +12 -1
- package/lib/typescript/commonjs/headless.d.ts.map +1 -1
- package/lib/typescript/commonjs/index.d.ts +4 -16
- package/lib/typescript/commonjs/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/markdown.d.ts +33 -2
- package/lib/typescript/commonjs/markdown.d.ts.map +1 -1
- package/lib/typescript/commonjs/renderers/code.d.ts +6 -2
- package/lib/typescript/commonjs/renderers/code.d.ts.map +1 -1
- package/lib/typescript/commonjs/renderers/heading.d.ts.map +1 -1
- package/lib/typescript/commonjs/renderers/horizontal-rule.d.ts +6 -1
- package/lib/typescript/commonjs/renderers/horizontal-rule.d.ts.map +1 -1
- package/lib/typescript/commonjs/renderers/image.d.ts +2 -0
- package/lib/typescript/commonjs/renderers/image.d.ts.map +1 -1
- package/lib/typescript/commonjs/renderers/link.d.ts.map +1 -1
- package/lib/typescript/commonjs/renderers/list.d.ts +4 -0
- package/lib/typescript/commonjs/renderers/list.d.ts.map +1 -1
- package/lib/typescript/commonjs/renderers/math.d.ts +3 -4
- package/lib/typescript/commonjs/renderers/math.d.ts.map +1 -1
- package/lib/typescript/commonjs/renderers/paragraph.d.ts +0 -5
- package/lib/typescript/commonjs/renderers/paragraph.d.ts.map +1 -1
- package/lib/typescript/commonjs/renderers/table.d.ts +2 -0
- package/lib/typescript/commonjs/renderers/table.d.ts.map +1 -1
- package/lib/typescript/commonjs/specs/MarkdownSession.nitro.d.ts.map +1 -1
- package/lib/typescript/commonjs/theme.d.ts +41 -28
- package/lib/typescript/commonjs/theme.d.ts.map +1 -1
- package/lib/typescript/module/MarkdownContext.d.ts +45 -6
- package/lib/typescript/module/MarkdownContext.d.ts.map +1 -1
- package/lib/typescript/module/default-markdown-renderer.d.ts +1 -1
- package/lib/typescript/module/default-markdown-renderer.d.ts.map +1 -1
- package/lib/typescript/module/headless.d.ts +12 -1
- package/lib/typescript/module/headless.d.ts.map +1 -1
- package/lib/typescript/module/index.d.ts +4 -16
- package/lib/typescript/module/index.d.ts.map +1 -1
- package/lib/typescript/module/markdown.d.ts +33 -2
- package/lib/typescript/module/markdown.d.ts.map +1 -1
- package/lib/typescript/module/renderers/code.d.ts +6 -2
- package/lib/typescript/module/renderers/code.d.ts.map +1 -1
- package/lib/typescript/module/renderers/heading.d.ts.map +1 -1
- package/lib/typescript/module/renderers/horizontal-rule.d.ts +6 -1
- package/lib/typescript/module/renderers/horizontal-rule.d.ts.map +1 -1
- package/lib/typescript/module/renderers/image.d.ts +2 -0
- package/lib/typescript/module/renderers/image.d.ts.map +1 -1
- package/lib/typescript/module/renderers/link.d.ts.map +1 -1
- package/lib/typescript/module/renderers/list.d.ts +4 -0
- package/lib/typescript/module/renderers/list.d.ts.map +1 -1
- package/lib/typescript/module/renderers/math.d.ts +3 -4
- package/lib/typescript/module/renderers/math.d.ts.map +1 -1
- package/lib/typescript/module/renderers/paragraph.d.ts +0 -5
- package/lib/typescript/module/renderers/paragraph.d.ts.map +1 -1
- package/lib/typescript/module/renderers/table.d.ts +2 -0
- package/lib/typescript/module/renderers/table.d.ts.map +1 -1
- package/lib/typescript/module/specs/MarkdownSession.nitro.d.ts.map +1 -1
- package/lib/typescript/module/theme.d.ts +41 -28
- package/lib/typescript/module/theme.d.ts.map +1 -1
- package/nitrogen/generated/ios/NitroMarkdownAutolinking.swift +8 -7
- package/nitrogen/generated/ios/swift/HybridMarkdownSessionSpec.swift +2 -2
- package/package.json +1 -1
- package/src/MarkdownContext.ts +66 -9
- package/src/default-markdown-renderer.tsx +1 -6
- package/src/headless.ts +67 -2
- package/src/index.ts +24 -19
- package/src/markdown.tsx +158 -52
- package/src/renderers/blockquote.tsx +1 -2
- package/src/renderers/code.tsx +36 -12
- package/src/renderers/heading.tsx +1 -1
- package/src/renderers/horizontal-rule.tsx +7 -4
- package/src/renderers/image.tsx +59 -15
- package/src/renderers/link.tsx +1 -6
- package/src/renderers/list.tsx +15 -15
- package/src/renderers/math.tsx +28 -45
- package/src/renderers/paragraph.tsx +1 -8
- package/src/renderers/table.tsx +185 -160
- package/src/specs/MarkdownSession.nitro.ts +4 -6
- package/src/theme.ts +203 -12
|
@@ -3,26 +3,29 @@
|
|
|
3
3
|
import { useMemo } from "react";
|
|
4
4
|
import { View, Text, StyleSheet, ScrollView, Platform } from "react-native";
|
|
5
5
|
import { useMarkdownContext } from "../MarkdownContext.js";
|
|
6
|
+
import { getTextContent } from "../headless.js";
|
|
6
7
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
7
8
|
export const CodeBlock = ({
|
|
8
9
|
language,
|
|
9
10
|
content,
|
|
11
|
+
node,
|
|
10
12
|
style
|
|
11
13
|
}) => {
|
|
12
14
|
const {
|
|
13
15
|
theme
|
|
14
16
|
} = useMarkdownContext();
|
|
17
|
+
const displayContent = content ?? (node ? getTextContent(node) : "");
|
|
15
18
|
const styles = useMemo(() => StyleSheet.create({
|
|
16
19
|
codeBlock: {
|
|
17
20
|
backgroundColor: theme.colors.codeBackground,
|
|
18
|
-
borderRadius:
|
|
21
|
+
borderRadius: theme.borderRadius.m,
|
|
19
22
|
padding: theme.spacing.l,
|
|
20
23
|
marginVertical: theme.spacing.m,
|
|
21
24
|
borderWidth: 1,
|
|
22
25
|
borderColor: theme.colors.border
|
|
23
26
|
},
|
|
24
27
|
codeLanguage: {
|
|
25
|
-
color: theme.colors.
|
|
28
|
+
color: theme.colors.codeLanguage,
|
|
26
29
|
fontSize: theme.fontSizes.xs,
|
|
27
30
|
fontWeight: "600",
|
|
28
31
|
marginBottom: theme.spacing.s,
|
|
@@ -30,7 +33,7 @@ export const CodeBlock = ({
|
|
|
30
33
|
letterSpacing: 0.5
|
|
31
34
|
},
|
|
32
35
|
codeBlockText: {
|
|
33
|
-
fontFamily: Platform.select({
|
|
36
|
+
fontFamily: theme.fontFamilies.mono ?? Platform.select({
|
|
34
37
|
ios: "Courier",
|
|
35
38
|
android: "monospace"
|
|
36
39
|
}),
|
|
@@ -39,9 +42,10 @@ export const CodeBlock = ({
|
|
|
39
42
|
lineHeight: theme.fontSizes.s * 1.5
|
|
40
43
|
}
|
|
41
44
|
}), [theme]);
|
|
45
|
+
const showLanguage = theme.showCodeLanguage && language;
|
|
42
46
|
return /*#__PURE__*/_jsxs(View, {
|
|
43
47
|
style: [styles.codeBlock, style],
|
|
44
|
-
children: [
|
|
48
|
+
children: [showLanguage && /*#__PURE__*/_jsx(Text, {
|
|
45
49
|
style: styles.codeLanguage,
|
|
46
50
|
children: language
|
|
47
51
|
}), /*#__PURE__*/_jsx(ScrollView, {
|
|
@@ -49,21 +53,24 @@ export const CodeBlock = ({
|
|
|
49
53
|
showsHorizontalScrollIndicator: false,
|
|
50
54
|
children: /*#__PURE__*/_jsx(Text, {
|
|
51
55
|
style: styles.codeBlockText,
|
|
52
|
-
children:
|
|
56
|
+
children: displayContent
|
|
53
57
|
})
|
|
54
58
|
})]
|
|
55
59
|
});
|
|
56
60
|
};
|
|
57
61
|
export const InlineCode = ({
|
|
62
|
+
content,
|
|
63
|
+
node,
|
|
58
64
|
children,
|
|
59
65
|
style
|
|
60
66
|
}) => {
|
|
61
67
|
const {
|
|
62
68
|
theme
|
|
63
69
|
} = useMarkdownContext();
|
|
70
|
+
const displayContent = content ?? children ?? (node ? getTextContent(node) : "");
|
|
64
71
|
const styles = useMemo(() => StyleSheet.create({
|
|
65
72
|
codeInline: {
|
|
66
|
-
fontFamily: Platform.select({
|
|
73
|
+
fontFamily: theme.fontFamilies.mono ?? Platform.select({
|
|
67
74
|
ios: "Courier",
|
|
68
75
|
android: "monospace"
|
|
69
76
|
}),
|
|
@@ -72,7 +79,7 @@ export const InlineCode = ({
|
|
|
72
79
|
backgroundColor: theme.colors.codeBackground,
|
|
73
80
|
paddingHorizontal: theme.spacing.xs,
|
|
74
81
|
paddingVertical: 2,
|
|
75
|
-
borderRadius:
|
|
82
|
+
borderRadius: theme.borderRadius.s,
|
|
76
83
|
...(Platform.OS === "android" && {
|
|
77
84
|
includeFontPadding: false
|
|
78
85
|
})
|
|
@@ -80,7 +87,7 @@ export const InlineCode = ({
|
|
|
80
87
|
}), [theme]);
|
|
81
88
|
return /*#__PURE__*/_jsx(Text, {
|
|
82
89
|
style: [styles.codeInline, style],
|
|
83
|
-
children:
|
|
90
|
+
children: displayContent
|
|
84
91
|
});
|
|
85
92
|
};
|
|
86
93
|
//# sourceMappingURL=code.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useMemo","View","Text","StyleSheet","ScrollView","Platform","useMarkdownContext","jsx","_jsx","jsxs","_jsxs","CodeBlock","language","content","style","theme","styles","create","codeBlock","backgroundColor","colors","codeBackground","borderRadius","padding","spacing","l","marginVertical","
|
|
1
|
+
{"version":3,"names":["useMemo","View","Text","StyleSheet","ScrollView","Platform","useMarkdownContext","getTextContent","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","codeBlockText","fontFamily","fontFamilies","mono","select","ios","android","text","lineHeight","showLanguage","showCodeLanguage","children","horizontal","showsHorizontalScrollIndicator","InlineCode","codeInline","code","paddingHorizontal","paddingVertical","OS","includeFontPadding"],"sourceRoot":"../../../src","sources":["renderers/code.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -17,7 +17,8 @@ export const Heading = ({
|
|
|
17
17
|
color: theme.colors.heading,
|
|
18
18
|
fontWeight: "700",
|
|
19
19
|
marginTop: theme.spacing.xl,
|
|
20
|
-
marginBottom: theme.spacing.m
|
|
20
|
+
marginBottom: theme.spacing.m,
|
|
21
|
+
fontFamily: theme.fontFamilies.heading
|
|
21
22
|
},
|
|
22
23
|
h1: {
|
|
23
24
|
fontSize: theme.fontSizes.h1,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useMemo","Text","StyleSheet","useMarkdownContext","jsx","_jsx","Heading","level","children","style","theme","styles","create","heading","color","colors","fontWeight","marginTop","spacing","xl","marginBottom","m","h1","fontSize","fontSizes","lineHeight","borderBottomWidth","borderBottomColor","border","paddingBottom","s","h2","h3","h4","h5","h6","textMuted","headingStyles"],"sourceRoot":"../../../src","sources":["renderers/heading.tsx"],"mappings":";;AAAA,SAAoBA,OAAO,QAAiB,OAAO;AACnD,SAASC,IAAI,EAAEC,UAAU,QAAwB,cAAc;AAC/D,SAASC,kBAAkB,QAAQ,uBAAoB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAQxD,OAAO,MAAMC,OAAyB,GAAGA,CAAC;EAAEC,KAAK;EAAEC,QAAQ;EAAEC;AAAM,CAAC,KAAK;EACvE,MAAM;IAAEC;EAAM,CAAC,GAAGP,kBAAkB,CAAC,CAAC;EACtC,MAAMQ,MAAM,GAAGX,OAAO,CACpB,MACEE,UAAU,CAACU,MAAM,CAAC;IAChBC,OAAO,EAAE;MACPC,KAAK,EAAEJ,KAAK,CAACK,MAAM,CAACF,OAAO;MAC3BG,UAAU,EAAE,KAAK;MACjBC,SAAS,EAAEP,KAAK,CAACQ,OAAO,CAACC,EAAE;MAC3BC,YAAY,EAAEV,KAAK,CAACQ,OAAO,CAACG;
|
|
1
|
+
{"version":3,"names":["useMemo","Text","StyleSheet","useMarkdownContext","jsx","_jsx","Heading","level","children","style","theme","styles","create","heading","color","colors","fontWeight","marginTop","spacing","xl","marginBottom","m","fontFamily","fontFamilies","h1","fontSize","fontSizes","lineHeight","borderBottomWidth","borderBottomColor","border","paddingBottom","s","h2","h3","h4","h5","h6","textMuted","headingStyles"],"sourceRoot":"../../../src","sources":["renderers/heading.tsx"],"mappings":";;AAAA,SAAoBA,OAAO,QAAiB,OAAO;AACnD,SAASC,IAAI,EAAEC,UAAU,QAAwB,cAAc;AAC/D,SAASC,kBAAkB,QAAQ,uBAAoB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAQxD,OAAO,MAAMC,OAAyB,GAAGA,CAAC;EAAEC,KAAK;EAAEC,QAAQ;EAAEC;AAAM,CAAC,KAAK;EACvE,MAAM;IAAEC;EAAM,CAAC,GAAGP,kBAAkB,CAAC,CAAC;EACtC,MAAMQ,MAAM,GAAGX,OAAO,CACpB,MACEE,UAAU,CAACU,MAAM,CAAC;IAChBC,OAAO,EAAE;MACPC,KAAK,EAAEJ,KAAK,CAACK,MAAM,CAACF,OAAO;MAC3BG,UAAU,EAAE,KAAK;MACjBC,SAAS,EAAEP,KAAK,CAACQ,OAAO,CAACC,EAAE;MAC3BC,YAAY,EAAEV,KAAK,CAACQ,OAAO,CAACG,CAAC;MAC7BC,UAAU,EAAEZ,KAAK,CAACa,YAAY,CAACV;IACjC,CAAC;IACDW,EAAE,EAAE;MACFC,QAAQ,EAAEf,KAAK,CAACgB,SAAS,CAACF,EAAE;MAC5BG,UAAU,EAAEjB,KAAK,CAACgB,SAAS,CAACF,EAAE,GAAG,GAAG;MACpCI,iBAAiB,EAAE,CAAC;MACpBC,iBAAiB,EAAEnB,KAAK,CAACK,MAAM,CAACe,MAAM;MACtCC,aAAa,EAAErB,KAAK,CAACQ,OAAO,CAACc;IAC/B,CAAC;IACDC,EAAE,EAAE;MACFR,QAAQ,EAAEf,KAAK,CAACgB,SAAS,CAACO,EAAE;MAC5BN,UAAU,EAAEjB,KAAK,CAACgB,SAAS,CAACO,EAAE,GAAG;IACnC,CAAC;IACDC,EAAE,EAAE;MACFT,QAAQ,EAAEf,KAAK,CAACgB,SAAS,CAACQ,EAAE;MAC5BP,UAAU,EAAEjB,KAAK,CAACgB,SAAS,CAACQ,EAAE,GAAG;IACnC,CAAC;IACDC,EAAE,EAAE;MACFV,QAAQ,EAAEf,KAAK,CAACgB,SAAS,CAACS,EAAE;MAC5BR,UAAU,EAAEjB,KAAK,CAACgB,SAAS,CAACS,EAAE,GAAG;IACnC,CAAC;IACDC,EAAE,EAAE;MACFX,QAAQ,EAAEf,KAAK,CAACgB,SAAS,CAACU,EAAE;MAC5BT,UAAU,EAAEjB,KAAK,CAACgB,SAAS,CAACU,EAAE,GAAG;IACnC,CAAC;IACDC,EAAE,EAAE;MACFZ,QAAQ,EAAEf,KAAK,CAACgB,SAAS,CAACW,EAAE;MAC5BV,UAAU,EAAEjB,KAAK,CAACgB,SAAS,CAACW,EAAE,GAAG,GAAG;MACpCvB,KAAK,EAAEJ,KAAK,CAACK,MAAM,CAACuB;IACtB;EACF,CAAC,CAAC,EACJ,CAAC5B,KAAK,CACR,CAAC;EAED,MAAM6B,aAAa,GAAG,CACpB5B,MAAM,CAACE,OAAO,EACdN,KAAK,KAAK,CAAC,IAAII,MAAM,CAACa,EAAE,EACxBjB,KAAK,KAAK,CAAC,IAAII,MAAM,CAACsB,EAAE,EACxB1B,KAAK,KAAK,CAAC,IAAII,MAAM,CAACuB,EAAE,EACxB3B,KAAK,KAAK,CAAC,IAAII,MAAM,CAACwB,EAAE,EACxB5B,KAAK,KAAK,CAAC,IAAII,MAAM,CAACyB,EAAE,EACxB7B,KAAK,KAAK,CAAC,IAAII,MAAM,CAAC0B,EAAE,CACzB;EAED,oBAAOhC,IAAA,CAACJ,IAAI;IAACQ,KAAK,EAAE,CAAC,GAAG8B,aAAa,EAAE9B,KAAK,CAAE;IAAAD,QAAA,EAAEA;EAAQ,CAAO,CAAC;AAClE,CAAC","ignoreList":[]}
|
|
@@ -4,7 +4,9 @@ import { useMemo } from "react";
|
|
|
4
4
|
import { View, StyleSheet } from "react-native";
|
|
5
5
|
import { useMarkdownContext } from "../MarkdownContext.js";
|
|
6
6
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
7
|
-
export const HorizontalRule = (
|
|
7
|
+
export const HorizontalRule = ({
|
|
8
|
+
style
|
|
9
|
+
}) => {
|
|
8
10
|
const {
|
|
9
11
|
theme
|
|
10
12
|
} = useMarkdownContext();
|
|
@@ -16,7 +18,7 @@ export const HorizontalRule = () => {
|
|
|
16
18
|
}
|
|
17
19
|
}), [theme]);
|
|
18
20
|
return /*#__PURE__*/_jsx(View, {
|
|
19
|
-
style: styles.horizontalRule
|
|
21
|
+
style: [styles.horizontalRule, style]
|
|
20
22
|
});
|
|
21
23
|
};
|
|
22
24
|
//# sourceMappingURL=horizontal-rule.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useMemo","View","StyleSheet","useMarkdownContext","jsx","_jsx","HorizontalRule","theme","styles","create","horizontalRule","height","backgroundColor","colors","border","marginVertical","spacing","xl"
|
|
1
|
+
{"version":3,"names":["useMemo","View","StyleSheet","useMarkdownContext","jsx","_jsx","HorizontalRule","style","theme","styles","create","horizontalRule","height","backgroundColor","colors","border","marginVertical","spacing","xl"],"sourceRoot":"../../../src","sources":["renderers/horizontal-rule.tsx"],"mappings":";;AAAA,SAASA,OAAO,QAAiB,OAAO;AACxC,SAASC,IAAI,EAAEC,UAAU,QAAwB,cAAc;AAC/D,SAASC,kBAAkB,QAAQ,uBAAoB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAMxD,OAAO,MAAMC,cAAuC,GAAGA,CAAC;EAAEC;AAAM,CAAC,KAAK;EACpE,MAAM;IAAEC;EAAM,CAAC,GAAGL,kBAAkB,CAAC,CAAC;EACtC,MAAMM,MAAM,GAAGT,OAAO,CACpB,MACEE,UAAU,CAACQ,MAAM,CAAC;IAChBC,cAAc,EAAE;MACdC,MAAM,EAAE,CAAC;MACTC,eAAe,EAAEL,KAAK,CAACM,MAAM,CAACC,MAAM;MACpCC,cAAc,EAAER,KAAK,CAACS,OAAO,CAACC;IAChC;EACF,CAAC,CAAC,EACJ,CAACV,KAAK,CACR,CAAC;EACD,oBAAOH,IAAA,CAACJ,IAAI;IAACM,KAAK,EAAE,CAACE,MAAM,CAACE,cAAc,EAAEJ,KAAK;EAAE,CAAE,CAAC;AACxD,CAAC","ignoreList":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import { useState, useMemo } from "react";
|
|
3
|
+
import { useState, useLayoutEffect, useMemo } from "react";
|
|
4
4
|
import { View, Text, Image as RNImage, StyleSheet } from "react-native";
|
|
5
5
|
import { parseMarkdownWithOptions } from "../headless.js";
|
|
6
6
|
import { useMarkdownContext } from "../MarkdownContext.js";
|
|
@@ -21,10 +21,12 @@ export const Image = ({
|
|
|
21
21
|
url,
|
|
22
22
|
title,
|
|
23
23
|
alt,
|
|
24
|
-
Renderer
|
|
24
|
+
Renderer,
|
|
25
|
+
style
|
|
25
26
|
}) => {
|
|
26
27
|
const [loading, setLoading] = useState(true);
|
|
27
28
|
const [error, setError] = useState(false);
|
|
29
|
+
const [aspectRatio, setAspectRatio] = useState(undefined);
|
|
28
30
|
const {
|
|
29
31
|
theme
|
|
30
32
|
} = useMarkdownContext();
|
|
@@ -35,8 +37,10 @@ export const Image = ({
|
|
|
35
37
|
},
|
|
36
38
|
image: {
|
|
37
39
|
width: "100%",
|
|
38
|
-
|
|
39
|
-
|
|
40
|
+
// If we have an aspect ratio, use it. Otherwise, use minHeight as fallback.
|
|
41
|
+
aspectRatio: aspectRatio,
|
|
42
|
+
minHeight: aspectRatio ? undefined : 200,
|
|
43
|
+
borderRadius: theme.borderRadius.m,
|
|
40
44
|
backgroundColor: theme.colors.surface
|
|
41
45
|
},
|
|
42
46
|
imageHidden: {
|
|
@@ -45,36 +49,57 @@ export const Image = ({
|
|
|
45
49
|
},
|
|
46
50
|
imageLoading: {
|
|
47
51
|
width: "100%",
|
|
48
|
-
|
|
49
|
-
|
|
52
|
+
// Match the image size if possible
|
|
53
|
+
aspectRatio: aspectRatio,
|
|
54
|
+
height: aspectRatio ? undefined : 200,
|
|
55
|
+
borderRadius: theme.borderRadius.m,
|
|
50
56
|
backgroundColor: theme.colors.surface,
|
|
51
57
|
justifyContent: "center",
|
|
52
58
|
alignItems: "center"
|
|
53
59
|
},
|
|
54
60
|
imageLoadingText: {
|
|
55
61
|
color: theme.colors.textMuted,
|
|
56
|
-
fontSize: theme.fontSizes.s
|
|
62
|
+
fontSize: theme.fontSizes.s,
|
|
63
|
+
fontFamily: theme.fontFamilies.regular
|
|
57
64
|
},
|
|
58
65
|
imageError: {
|
|
59
66
|
width: "100%",
|
|
60
67
|
padding: theme.spacing.l,
|
|
61
|
-
borderRadius:
|
|
68
|
+
borderRadius: theme.borderRadius.m,
|
|
62
69
|
backgroundColor: theme.colors.surface,
|
|
63
70
|
alignItems: "center",
|
|
64
71
|
marginVertical: theme.spacing.m
|
|
65
72
|
},
|
|
66
73
|
imageErrorText: {
|
|
67
74
|
color: theme.colors.textMuted,
|
|
68
|
-
fontSize: theme.fontSizes.s
|
|
75
|
+
fontSize: theme.fontSizes.s,
|
|
76
|
+
fontFamily: theme.fontFamilies.regular
|
|
69
77
|
},
|
|
70
78
|
imageCaption: {
|
|
71
79
|
color: theme.colors.textMuted,
|
|
72
80
|
fontSize: theme.fontSizes.xs,
|
|
73
81
|
marginTop: theme.spacing.s,
|
|
74
82
|
fontStyle: "italic",
|
|
75
|
-
textAlign: "center"
|
|
83
|
+
textAlign: "center",
|
|
84
|
+
fontFamily: theme.fontFamilies.regular
|
|
76
85
|
}
|
|
77
|
-
}), [theme]);
|
|
86
|
+
}), [theme, aspectRatio]);
|
|
87
|
+
useLayoutEffect(() => {
|
|
88
|
+
// Fast path for consistent aspect ratios if checking picsum
|
|
89
|
+
const picsumMatch = url.match(/picsum\.photos\/.*\/(\d+)\/(\d+)/);
|
|
90
|
+
if (picsumMatch) {
|
|
91
|
+
const w = parseInt(picsumMatch[1], 10);
|
|
92
|
+
const h = parseInt(picsumMatch[2], 10);
|
|
93
|
+
if (!isNaN(w) && !isNaN(h) && h !== 0) {
|
|
94
|
+
setAspectRatio(w / h);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
RNImage.getSize(url, (width, height) => {
|
|
98
|
+
if (width > 0 && height > 0) {
|
|
99
|
+
setAspectRatio(width / height);
|
|
100
|
+
}
|
|
101
|
+
}, () => {});
|
|
102
|
+
}, [url]);
|
|
78
103
|
const altContent = useMemo(() => {
|
|
79
104
|
if (!alt || !Renderer) return null;
|
|
80
105
|
if (alt.includes("$") || alt.includes("*") || alt.includes("_") || alt.includes("`") || alt.includes("[")) {
|
|
@@ -108,7 +133,7 @@ export const Image = ({
|
|
|
108
133
|
}, [alt, Renderer, styles.imageErrorText]);
|
|
109
134
|
if (error) {
|
|
110
135
|
return /*#__PURE__*/_jsx(View, {
|
|
111
|
-
style: styles.imageError,
|
|
136
|
+
style: [styles.imageError, style],
|
|
112
137
|
children: /*#__PURE__*/_jsxs(View, {
|
|
113
138
|
style: {
|
|
114
139
|
flexDirection: "row",
|
|
@@ -127,8 +152,8 @@ export const Image = ({
|
|
|
127
152
|
});
|
|
128
153
|
}
|
|
129
154
|
return /*#__PURE__*/_jsxs(View, {
|
|
130
|
-
style: styles.imageContainer,
|
|
131
|
-
children: [loading && /*#__PURE__*/_jsx(View, {
|
|
155
|
+
style: [styles.imageContainer, style],
|
|
156
|
+
children: [loading && !aspectRatio && /*#__PURE__*/_jsx(View, {
|
|
132
157
|
style: styles.imageLoading,
|
|
133
158
|
children: /*#__PURE__*/_jsx(Text, {
|
|
134
159
|
style: styles.imageLoadingText,
|
|
@@ -138,7 +163,7 @@ export const Image = ({
|
|
|
138
163
|
source: {
|
|
139
164
|
uri: url
|
|
140
165
|
},
|
|
141
|
-
style: [styles.image, loading && styles.imageHidden],
|
|
166
|
+
style: [styles.image, loading && !aspectRatio && styles.imageHidden],
|
|
142
167
|
resizeMode: "contain",
|
|
143
168
|
onLoad: () => setLoading(false),
|
|
144
169
|
onError: () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useState","useMemo","View","Text","Image","RNImage","StyleSheet","parseMarkdownWithOptions","useMarkdownContext","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","renderInlineContent","node","Renderer","type","children","map","child","idx","depth","inListItem","url","title","alt","loading","setLoading","error","setError","theme","styles","create","imageContainer","marginVertical","spacing","m","alignItems","image","width","
|
|
1
|
+
{"version":3,"names":["useState","useLayoutEffect","useMemo","View","Text","Image","RNImage","StyleSheet","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","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":[]}
|
|
@@ -19,9 +19,7 @@ export const Link = ({
|
|
|
19
19
|
}
|
|
20
20
|
}), [theme]);
|
|
21
21
|
const handlePress = () => {
|
|
22
|
-
if (href)
|
|
23
|
-
Linking.openURL(href).catch(err => console.error("Failed to open URL:", err));
|
|
24
|
-
}
|
|
22
|
+
if (href) Linking.openURL(href);
|
|
25
23
|
};
|
|
26
24
|
return /*#__PURE__*/_jsx(Text, {
|
|
27
25
|
style: [styles.link, style],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useMemo","Text","StyleSheet","Linking","useMarkdownContext","jsx","_jsx","Link","href","children","style","theme","styles","create","link","color","colors","textDecorationLine","handlePress","openURL","
|
|
1
|
+
{"version":3,"names":["useMemo","Text","StyleSheet","Linking","useMarkdownContext","jsx","_jsx","Link","href","children","style","theme","styles","create","link","color","colors","textDecorationLine","handlePress","openURL","onPress"],"sourceRoot":"../../../src","sources":["renderers/link.tsx"],"mappings":";;AAAA,SAAoBA,OAAO,QAAiB,OAAO;AACnD,SAASC,IAAI,EAAEC,UAAU,EAAEC,OAAO,QAAwB,cAAc;AACxE,SAASC,kBAAkB,QAAQ,uBAAoB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAQxD,OAAO,MAAMC,IAAmB,GAAGA,CAAC;EAAEC,IAAI;EAAEC,QAAQ;EAAEC;AAAM,CAAC,KAAK;EAChE,MAAM;IAAEC;EAAM,CAAC,GAAGP,kBAAkB,CAAC,CAAC;EACtC,MAAMQ,MAAM,GAAGZ,OAAO,CACpB,MACEE,UAAU,CAACW,MAAM,CAAC;IAChBC,IAAI,EAAE;MACJC,KAAK,EAAEJ,KAAK,CAACK,MAAM,CAACF,IAAI;MACxBG,kBAAkB,EAAE;IACtB;EACF,CAAC,CAAC,EACJ,CAACN,KAAK,CACR,CAAC;EAED,MAAMO,WAAW,GAAGA,CAAA,KAAM;IACxB,IAAIV,IAAI,EAAEL,OAAO,CAACgB,OAAO,CAACX,IAAI,CAAC;EACjC,CAAC;EAED,oBACEF,IAAA,CAACL,IAAI;IAACS,KAAK,EAAE,CAACE,MAAM,CAACE,IAAI,EAAEJ,KAAK,CAAE;IAACU,OAAO,EAAEF,WAAY;IAAAT,QAAA,EACrDA;EAAQ,CACL,CAAC;AAEX,CAAC","ignoreList":[]}
|
|
@@ -5,10 +5,9 @@ import { View, Text, StyleSheet } from "react-native";
|
|
|
5
5
|
import { useMarkdownContext } from "../MarkdownContext.js";
|
|
6
6
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
7
7
|
export const List = ({
|
|
8
|
-
ordered,
|
|
9
|
-
start = 1,
|
|
10
8
|
depth,
|
|
11
|
-
children
|
|
9
|
+
children,
|
|
10
|
+
style
|
|
12
11
|
}) => {
|
|
13
12
|
const {
|
|
14
13
|
theme
|
|
@@ -18,12 +17,12 @@ export const List = ({
|
|
|
18
17
|
marginBottom: theme.spacing.m
|
|
19
18
|
},
|
|
20
19
|
listNested: {
|
|
21
|
-
marginLeft: theme.spacing.
|
|
20
|
+
marginLeft: theme.spacing.s,
|
|
22
21
|
marginBottom: 0
|
|
23
22
|
}
|
|
24
23
|
}), [theme]);
|
|
25
24
|
return /*#__PURE__*/_jsx(View, {
|
|
26
|
-
style: [styles.list, depth > 0 && styles.listNested],
|
|
25
|
+
style: [styles.list, depth > 0 && styles.listNested, style],
|
|
27
26
|
children: children
|
|
28
27
|
});
|
|
29
28
|
};
|
|
@@ -31,7 +30,8 @@ export const ListItem = ({
|
|
|
31
30
|
children,
|
|
32
31
|
index,
|
|
33
32
|
ordered,
|
|
34
|
-
start
|
|
33
|
+
start,
|
|
34
|
+
style
|
|
35
35
|
}) => {
|
|
36
36
|
const {
|
|
37
37
|
theme
|
|
@@ -48,7 +48,8 @@ export const ListItem = ({
|
|
|
48
48
|
lineHeight: theme.fontSizes.m * 1.6,
|
|
49
49
|
marginRight: theme.spacing.s,
|
|
50
50
|
minWidth: 20,
|
|
51
|
-
textAlign: "center"
|
|
51
|
+
textAlign: "center",
|
|
52
|
+
fontFamily: theme.fontFamilies.regular
|
|
52
53
|
},
|
|
53
54
|
listItemContent: {
|
|
54
55
|
flex: 1,
|
|
@@ -58,7 +59,7 @@ export const ListItem = ({
|
|
|
58
59
|
}), [theme]);
|
|
59
60
|
const bullet = ordered ? `${start + index}.` : "•";
|
|
60
61
|
return /*#__PURE__*/_jsxs(View, {
|
|
61
|
-
style: styles.listItem,
|
|
62
|
+
style: [styles.listItem, style],
|
|
62
63
|
children: [/*#__PURE__*/_jsx(Text, {
|
|
63
64
|
style: styles.listBullet,
|
|
64
65
|
children: bullet
|
|
@@ -70,7 +71,8 @@ export const ListItem = ({
|
|
|
70
71
|
};
|
|
71
72
|
export const TaskListItem = ({
|
|
72
73
|
children,
|
|
73
|
-
checked
|
|
74
|
+
checked,
|
|
75
|
+
style
|
|
74
76
|
}) => {
|
|
75
77
|
const {
|
|
76
78
|
theme
|
|
@@ -94,7 +96,7 @@ export const TaskListItem = ({
|
|
|
94
96
|
}
|
|
95
97
|
}), [theme]);
|
|
96
98
|
return /*#__PURE__*/_jsxs(View, {
|
|
97
|
-
style: styles.taskListItem,
|
|
99
|
+
style: [styles.taskListItem, style],
|
|
98
100
|
children: [/*#__PURE__*/_jsx(Text, {
|
|
99
101
|
style: styles.taskCheckbox,
|
|
100
102
|
children: checked ? "☑" : "☐"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useMemo","View","Text","StyleSheet","useMarkdownContext","jsx","_jsx","jsxs","_jsxs","List","
|
|
1
|
+
{"version":3,"names":["useMemo","View","Text","StyleSheet","useMarkdownContext","jsx","_jsx","jsxs","_jsxs","List","depth","children","style","theme","styles","create","list","marginBottom","spacing","m","listNested","marginLeft","s","ListItem","index","ordered","start","listItem","flexDirection","alignItems","listBullet","color","colors","accent","fontSize","fontSizes","lineHeight","marginRight","minWidth","textAlign","fontFamily","fontFamilies","regular","listItemContent","flex","flexShrink","bullet","TaskListItem","checked","taskListItem","taskCheckbox","l","taskContent"],"sourceRoot":"../../../src","sources":["renderers/list.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { useMemo } from "react";
|
|
4
|
-
import { View, Text, StyleSheet } from "react-native";
|
|
4
|
+
import { View, Text, StyleSheet, Platform } from "react-native";
|
|
5
5
|
import { useMarkdownContext } from "../MarkdownContext.js";
|
|
6
6
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
7
7
|
let MathJaxComponent = null;
|
|
@@ -12,38 +12,24 @@ try {
|
|
|
12
12
|
} catch {
|
|
13
13
|
// ignored
|
|
14
14
|
}
|
|
15
|
-
/**
|
|
16
|
-
* Inline math renderer.
|
|
17
|
-
* Uses react-native-mathjax-svg if installed, otherwise shows raw LaTeX.
|
|
18
|
-
* Note: Renders as a View since SVG can't be nested in Text.
|
|
19
|
-
*/
|
|
20
|
-
|
|
21
15
|
const createMathStyles = theme => StyleSheet.create({
|
|
22
16
|
mathInlineContainer: {
|
|
23
|
-
flexDirection: "row",
|
|
24
|
-
alignItems: "baseline",
|
|
25
|
-
alignSelf: "baseline",
|
|
26
|
-
justifyContent: "flex-start",
|
|
27
|
-
flexShrink: 1,
|
|
28
17
|
marginHorizontal: 2,
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
paddingVertical: 0
|
|
32
|
-
},
|
|
33
|
-
mathJaxInline: {
|
|
34
|
-
marginTop: 0,
|
|
35
|
-
marginBottom: 0
|
|
18
|
+
// Ensure the inline view has layout alignment
|
|
19
|
+
justifyContent: "center"
|
|
36
20
|
},
|
|
37
21
|
mathInlineFallbackContainer: {
|
|
38
22
|
backgroundColor: theme.colors.codeBackground,
|
|
39
|
-
paddingHorizontal:
|
|
23
|
+
paddingHorizontal: theme.spacing.xs,
|
|
40
24
|
paddingVertical: 2,
|
|
41
|
-
borderRadius:
|
|
42
|
-
alignSelf: "baseline",
|
|
25
|
+
borderRadius: theme.borderRadius.s,
|
|
43
26
|
marginHorizontal: 2
|
|
44
27
|
},
|
|
45
28
|
mathInlineFallback: {
|
|
46
|
-
fontFamily:
|
|
29
|
+
fontFamily: theme.fontFamilies.mono ?? Platform.select({
|
|
30
|
+
ios: "Courier",
|
|
31
|
+
android: "monospace"
|
|
32
|
+
}),
|
|
47
33
|
fontSize: theme.fontSizes.s,
|
|
48
34
|
color: theme.colors.code
|
|
49
35
|
},
|
|
@@ -52,38 +38,36 @@ const createMathStyles = theme => StyleSheet.create({
|
|
|
52
38
|
paddingVertical: theme.spacing.l,
|
|
53
39
|
paddingHorizontal: theme.spacing.l,
|
|
54
40
|
backgroundColor: theme.colors.surface,
|
|
55
|
-
borderRadius:
|
|
41
|
+
borderRadius: theme.borderRadius.l,
|
|
56
42
|
alignItems: "center",
|
|
57
43
|
borderWidth: 1,
|
|
58
44
|
borderColor: theme.colors.border,
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
width: 0,
|
|
62
|
-
height: 1
|
|
63
|
-
},
|
|
64
|
-
shadowOpacity: 0.05,
|
|
65
|
-
shadowRadius: 2,
|
|
66
|
-
elevation: 1
|
|
45
|
+
// Ensure we don't collapse if MathJax fails to report size immediately
|
|
46
|
+
minHeight: 48
|
|
67
47
|
},
|
|
68
48
|
mathBlockFallbackContainer: {
|
|
69
49
|
marginVertical: theme.spacing.m,
|
|
70
50
|
paddingVertical: theme.spacing.m,
|
|
71
51
|
paddingHorizontal: theme.spacing.l,
|
|
72
52
|
backgroundColor: theme.colors.codeBackground,
|
|
73
|
-
borderRadius:
|
|
53
|
+
borderRadius: theme.borderRadius.m,
|
|
74
54
|
alignItems: "center",
|
|
75
55
|
borderWidth: 1,
|
|
76
56
|
borderColor: theme.colors.border
|
|
77
57
|
},
|
|
78
58
|
mathBlockFallback: {
|
|
79
|
-
fontFamily:
|
|
59
|
+
fontFamily: theme.fontFamilies.mono ?? Platform.select({
|
|
60
|
+
ios: "Courier",
|
|
61
|
+
android: "monospace"
|
|
62
|
+
}),
|
|
80
63
|
fontSize: theme.fontSizes.m,
|
|
81
64
|
color: theme.colors.code,
|
|
82
65
|
textAlign: "center"
|
|
83
66
|
}
|
|
84
67
|
});
|
|
85
68
|
export const MathInline = ({
|
|
86
|
-
content
|
|
69
|
+
content,
|
|
70
|
+
style
|
|
87
71
|
}) => {
|
|
88
72
|
const {
|
|
89
73
|
theme
|
|
@@ -91,32 +75,31 @@ export const MathInline = ({
|
|
|
91
75
|
const styles = useMemo(() => createMathStyles(theme), [theme]);
|
|
92
76
|
if (!content) return null;
|
|
93
77
|
if (MathJaxComponent) {
|
|
94
|
-
const fontSize = theme.fontSizes.
|
|
78
|
+
const fontSize = theme.fontSizes.s;
|
|
95
79
|
return /*#__PURE__*/_jsx(View, {
|
|
96
|
-
style: styles.mathInlineContainer,
|
|
80
|
+
style: [styles.mathInlineContainer, style],
|
|
97
81
|
children: /*#__PURE__*/_jsx(MathJaxComponent, {
|
|
98
82
|
fontSize: fontSize,
|
|
99
83
|
color: theme.colors.text,
|
|
100
|
-
fontCache:
|
|
101
|
-
style:
|
|
84
|
+
fontCache: false,
|
|
85
|
+
style: {
|
|
86
|
+
backgroundColor: "transparent"
|
|
87
|
+
},
|
|
102
88
|
children: content
|
|
103
89
|
})
|
|
104
90
|
});
|
|
105
91
|
}
|
|
106
92
|
return /*#__PURE__*/_jsx(View, {
|
|
107
|
-
style: styles.mathInlineFallbackContainer,
|
|
93
|
+
style: [styles.mathInlineFallbackContainer, style],
|
|
108
94
|
children: /*#__PURE__*/_jsx(Text, {
|
|
109
95
|
style: styles.mathInlineFallback,
|
|
110
96
|
children: content
|
|
111
97
|
})
|
|
112
98
|
});
|
|
113
99
|
};
|
|
114
|
-
/**
|
|
115
|
-
* Block math renderer.
|
|
116
|
-
* Uses react-native-mathjax-svg if installed, otherwise shows raw LaTeX.
|
|
117
|
-
*/
|
|
118
100
|
export const MathBlock = ({
|
|
119
|
-
content
|
|
101
|
+
content,
|
|
102
|
+
style
|
|
120
103
|
}) => {
|
|
121
104
|
const {
|
|
122
105
|
theme
|
|
@@ -125,17 +108,20 @@ export const MathBlock = ({
|
|
|
125
108
|
if (!content) return null;
|
|
126
109
|
if (MathJaxComponent) {
|
|
127
110
|
return /*#__PURE__*/_jsx(View, {
|
|
128
|
-
style: styles.mathBlockContainer,
|
|
111
|
+
style: [styles.mathBlockContainer, style],
|
|
129
112
|
children: /*#__PURE__*/_jsx(MathJaxComponent, {
|
|
130
113
|
fontSize: theme.fontSizes.l,
|
|
131
114
|
color: theme.colors.text,
|
|
132
|
-
fontCache:
|
|
115
|
+
fontCache: false,
|
|
116
|
+
style: {
|
|
117
|
+
backgroundColor: "transparent"
|
|
118
|
+
},
|
|
133
119
|
children: `\\displaystyle ${content}`
|
|
134
120
|
})
|
|
135
121
|
});
|
|
136
122
|
}
|
|
137
123
|
return /*#__PURE__*/_jsx(View, {
|
|
138
|
-
style: styles.mathBlockFallbackContainer,
|
|
124
|
+
style: [styles.mathBlockFallbackContainer, style],
|
|
139
125
|
children: /*#__PURE__*/_jsx(Text, {
|
|
140
126
|
style: styles.mathBlockFallback,
|
|
141
127
|
children: content
|