react-native-nitro-markdown 0.5.3 → 0.5.4
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 +77 -10
- package/android/CMakeLists.txt +1 -1
- package/android/src/main/java/com/margelo/nitro/com/nitromarkdown/HybridMarkdownSession.kt +9 -3
- package/cpp/bindings/HybridMarkdownParser.cpp +4 -2
- package/cpp/core/MD4CParser.cpp +20 -2
- package/cpp/core/MarkdownTypes.hpp +1 -1
- package/lib/commonjs/headless.js +2 -2
- package/lib/commonjs/markdown.js +16 -12
- package/lib/commonjs/markdown.js.map +1 -1
- package/lib/commonjs/renderers/blockquote.js +15 -13
- package/lib/commonjs/renderers/blockquote.js.map +1 -1
- package/lib/commonjs/renderers/code.js +57 -53
- package/lib/commonjs/renderers/code.js.map +1 -1
- package/lib/commonjs/renderers/heading.js +48 -46
- package/lib/commonjs/renderers/heading.js.map +1 -1
- package/lib/commonjs/renderers/horizontal-rule.js +10 -8
- package/lib/commonjs/renderers/horizontal-rule.js.map +1 -1
- package/lib/commonjs/renderers/image.js +12 -3
- package/lib/commonjs/renderers/image.js.map +1 -1
- package/lib/commonjs/renderers/list.js +75 -70
- package/lib/commonjs/renderers/list.js.map +1 -1
- package/lib/commonjs/renderers/math.js +4 -3
- package/lib/commonjs/renderers/math.js.map +1 -1
- package/lib/commonjs/renderers/paragraph.js +15 -13
- package/lib/commonjs/renderers/paragraph.js.map +1 -1
- package/lib/commonjs/renderers/style-cache.js +14 -0
- package/lib/commonjs/renderers/style-cache.js.map +1 -0
- package/lib/commonjs/renderers/table/index.js +7 -4
- package/lib/commonjs/renderers/table/index.js.map +1 -1
- package/lib/module/headless.js +2 -2
- package/lib/module/markdown.js +16 -12
- package/lib/module/markdown.js.map +1 -1
- package/lib/module/renderers/blockquote.js +15 -13
- package/lib/module/renderers/blockquote.js.map +1 -1
- package/lib/module/renderers/code.js +57 -53
- package/lib/module/renderers/code.js.map +1 -1
- package/lib/module/renderers/heading.js +48 -46
- package/lib/module/renderers/heading.js.map +1 -1
- package/lib/module/renderers/horizontal-rule.js +10 -8
- package/lib/module/renderers/horizontal-rule.js.map +1 -1
- package/lib/module/renderers/image.js +13 -4
- package/lib/module/renderers/image.js.map +1 -1
- package/lib/module/renderers/list.js +75 -70
- package/lib/module/renderers/list.js.map +1 -1
- package/lib/module/renderers/math.js +4 -3
- package/lib/module/renderers/math.js.map +1 -1
- package/lib/module/renderers/paragraph.js +15 -13
- package/lib/module/renderers/paragraph.js.map +1 -1
- package/lib/module/renderers/style-cache.js +10 -0
- package/lib/module/renderers/style-cache.js.map +1 -0
- package/lib/module/renderers/table/index.js +7 -4
- package/lib/module/renderers/table/index.js.map +1 -1
- package/lib/typescript/commonjs/Markdown.nitro.d.ts +1 -0
- package/lib/typescript/commonjs/Markdown.nitro.d.ts.map +1 -1
- package/lib/typescript/commonjs/headless.d.ts +2 -2
- package/lib/typescript/commonjs/markdown.d.ts +1 -1
- package/lib/typescript/commonjs/markdown.d.ts.map +1 -1
- package/lib/typescript/commonjs/renderers/blockquote.d.ts +1 -1
- package/lib/typescript/commonjs/renderers/blockquote.d.ts.map +1 -1
- package/lib/typescript/commonjs/renderers/code.d.ts.map +1 -1
- package/lib/typescript/commonjs/renderers/heading.d.ts +1 -1
- package/lib/typescript/commonjs/renderers/heading.d.ts.map +1 -1
- package/lib/typescript/commonjs/renderers/horizontal-rule.d.ts +1 -1
- package/lib/typescript/commonjs/renderers/horizontal-rule.d.ts.map +1 -1
- package/lib/typescript/commonjs/renderers/image.d.ts.map +1 -1
- package/lib/typescript/commonjs/renderers/list.d.ts +1 -1
- package/lib/typescript/commonjs/renderers/list.d.ts.map +1 -1
- package/lib/typescript/commonjs/renderers/math.d.ts +1 -1
- package/lib/typescript/commonjs/renderers/math.d.ts.map +1 -1
- package/lib/typescript/commonjs/renderers/paragraph.d.ts +1 -1
- package/lib/typescript/commonjs/renderers/paragraph.d.ts.map +1 -1
- package/lib/typescript/commonjs/renderers/style-cache.d.ts +3 -0
- package/lib/typescript/commonjs/renderers/style-cache.d.ts.map +1 -0
- package/lib/typescript/commonjs/renderers/table/index.d.ts.map +1 -1
- package/lib/typescript/module/Markdown.nitro.d.ts +1 -0
- package/lib/typescript/module/Markdown.nitro.d.ts.map +1 -1
- package/lib/typescript/module/headless.d.ts +2 -2
- package/lib/typescript/module/markdown.d.ts +1 -1
- package/lib/typescript/module/markdown.d.ts.map +1 -1
- package/lib/typescript/module/renderers/blockquote.d.ts +1 -1
- package/lib/typescript/module/renderers/blockquote.d.ts.map +1 -1
- package/lib/typescript/module/renderers/code.d.ts.map +1 -1
- package/lib/typescript/module/renderers/heading.d.ts +1 -1
- package/lib/typescript/module/renderers/heading.d.ts.map +1 -1
- package/lib/typescript/module/renderers/horizontal-rule.d.ts +1 -1
- package/lib/typescript/module/renderers/horizontal-rule.d.ts.map +1 -1
- package/lib/typescript/module/renderers/image.d.ts.map +1 -1
- package/lib/typescript/module/renderers/list.d.ts +1 -1
- package/lib/typescript/module/renderers/list.d.ts.map +1 -1
- package/lib/typescript/module/renderers/math.d.ts +1 -1
- package/lib/typescript/module/renderers/math.d.ts.map +1 -1
- package/lib/typescript/module/renderers/paragraph.d.ts +1 -1
- package/lib/typescript/module/renderers/paragraph.d.ts.map +1 -1
- package/lib/typescript/module/renderers/style-cache.d.ts +3 -0
- package/lib/typescript/module/renderers/style-cache.d.ts.map +1 -0
- package/lib/typescript/module/renderers/table/index.d.ts.map +1 -1
- package/nitro.json +12 -3
- package/nitrogen/generated/android/NitroMarkdownOnLoad.cpp +2 -2
- package/nitrogen/generated/android/c++/JFunc_void.hpp +2 -2
- package/nitrogen/generated/android/c++/JFunc_void_double_double.hpp +2 -2
- package/nitrogen/generated/android/c++/JHybridMarkdownSessionSpec.hpp +2 -2
- package/nitrogen/generated/ios/NitroMarkdown+autolinking.rb +2 -0
- package/nitrogen/generated/shared/c++/ParserOptions.hpp +6 -2
- package/package.json +5 -5
- package/react-native-nitro-markdown.podspec +3 -0
- package/src/Markdown.nitro.ts +1 -0
- package/src/headless.ts +2 -2
- package/src/markdown.tsx +30 -12
- package/src/renderers/blockquote.tsx +22 -17
- package/src/renderers/code.tsx +75 -63
- package/src/renderers/heading.tsx +60 -54
- package/src/renderers/horizontal-rule.tsx +17 -12
- package/src/renderers/image.tsx +15 -4
- package/src/renderers/list.tsx +93 -76
- package/src/renderers/math.tsx +8 -3
- package/src/renderers/paragraph.tsx +22 -17
- package/src/renderers/style-cache.ts +14 -0
- package/src/renderers/table/index.tsx +15 -10
|
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.InlineCode = exports.CodeBlock = void 0;
|
|
7
7
|
var _react = require("react");
|
|
8
8
|
var _reactNative = require("react-native");
|
|
9
|
+
var _styleCache = require("./style-cache.js");
|
|
9
10
|
var _headless = require("../headless.js");
|
|
10
11
|
var _MarkdownContext = require("../MarkdownContext.js");
|
|
11
12
|
var _codeHighlight = require("../utils/code-highlight.js");
|
|
@@ -22,40 +23,8 @@ const CodeBlock = ({
|
|
|
22
23
|
} = ctx;
|
|
23
24
|
const highlighter = ctx.highlightCode === true ? _codeHighlight.defaultHighlighter : typeof ctx.highlightCode === "function" ? ctx.highlightCode : null;
|
|
24
25
|
const displayContent = content ?? (node ? (0, _headless.getTextContent)(node) : "");
|
|
25
|
-
const
|
|
26
|
-
|
|
27
|
-
backgroundColor: theme.colors.codeBackground,
|
|
28
|
-
borderRadius: theme.borderRadius.m,
|
|
29
|
-
padding: theme.spacing.l,
|
|
30
|
-
marginVertical: theme.spacing.m,
|
|
31
|
-
borderWidth: 1,
|
|
32
|
-
borderColor: theme.colors.border
|
|
33
|
-
},
|
|
34
|
-
codeLanguage: {
|
|
35
|
-
color: theme.colors.codeLanguage,
|
|
36
|
-
fontSize: theme.fontSizes.xs,
|
|
37
|
-
fontWeight: "600",
|
|
38
|
-
marginBottom: theme.spacing.s,
|
|
39
|
-
textTransform: "uppercase",
|
|
40
|
-
letterSpacing: 0.5,
|
|
41
|
-
fontFamily: theme.fontFamilies.mono,
|
|
42
|
-
...(_reactNative.Platform.OS === "android" && {
|
|
43
|
-
includeFontPadding: false
|
|
44
|
-
})
|
|
45
|
-
},
|
|
46
|
-
codeBlockText: {
|
|
47
|
-
fontFamily: theme.fontFamilies.mono ?? _reactNative.Platform.select({
|
|
48
|
-
ios: "Courier",
|
|
49
|
-
android: "monospace"
|
|
50
|
-
}),
|
|
51
|
-
fontSize: theme.fontSizes.s,
|
|
52
|
-
color: theme.colors.text,
|
|
53
|
-
lineHeight: theme.fontSizes.s * 1.5,
|
|
54
|
-
...(_reactNative.Platform.OS === "android" && {
|
|
55
|
-
includeFontPadding: false
|
|
56
|
-
})
|
|
57
|
-
}
|
|
58
|
-
}), [theme]);
|
|
26
|
+
const highlightedTokens = (0, _react.useMemo)(() => highlighter && language ? highlighter(language, displayContent) : null, [displayContent, highlighter, language]);
|
|
27
|
+
const styles = (0, _styleCache.getCachedStyles)(codeBlockStylesCache, theme, createCodeStyles);
|
|
59
28
|
const showLanguage = theme.showCodeLanguage && language;
|
|
60
29
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
61
30
|
style: [styles.codeBlock, style],
|
|
@@ -66,10 +35,10 @@ const CodeBlock = ({
|
|
|
66
35
|
horizontal: true,
|
|
67
36
|
showsHorizontalScrollIndicator: false,
|
|
68
37
|
bounces: false,
|
|
69
|
-
children:
|
|
38
|
+
children: highlightedTokens ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
70
39
|
style: styles.codeBlockText,
|
|
71
40
|
selectable: true,
|
|
72
|
-
children:
|
|
41
|
+
children: highlightedTokens.map((token, i) => {
|
|
73
42
|
const tokenColor = ctx.theme.colors.codeTokenColors?.[token.type];
|
|
74
43
|
return tokenColor ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
75
44
|
style: {
|
|
@@ -99,27 +68,62 @@ const InlineCode = ({
|
|
|
99
68
|
theme
|
|
100
69
|
} = (0, _MarkdownContext.useMarkdownContext)();
|
|
101
70
|
const displayContent = content ?? children ?? (node ? (0, _headless.getTextContent)(node) : "");
|
|
102
|
-
const styles = (0,
|
|
103
|
-
codeInline: {
|
|
104
|
-
fontFamily: theme.fontFamilies.mono ?? _reactNative.Platform.select({
|
|
105
|
-
ios: "Courier",
|
|
106
|
-
android: "monospace"
|
|
107
|
-
}),
|
|
108
|
-
fontSize: theme.fontSizes.s,
|
|
109
|
-
color: theme.colors.code,
|
|
110
|
-
backgroundColor: theme.colors.codeBackground,
|
|
111
|
-
paddingHorizontal: theme.spacing.xs,
|
|
112
|
-
paddingVertical: 2,
|
|
113
|
-
borderRadius: theme.borderRadius.s,
|
|
114
|
-
...(_reactNative.Platform.OS === "android" && {
|
|
115
|
-
includeFontPadding: false
|
|
116
|
-
})
|
|
117
|
-
}
|
|
118
|
-
}), [theme]);
|
|
71
|
+
const styles = (0, _styleCache.getCachedStyles)(inlineCodeStylesCache, theme, createInlineStyles);
|
|
119
72
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
120
73
|
style: [styles.codeInline, style],
|
|
121
74
|
children: displayContent
|
|
122
75
|
});
|
|
123
76
|
};
|
|
124
77
|
exports.InlineCode = InlineCode;
|
|
78
|
+
const codeBlockStylesCache = new WeakMap();
|
|
79
|
+
const inlineCodeStylesCache = new WeakMap();
|
|
80
|
+
const getMonoFontFamily = theme => theme.fontFamilies.mono ?? _reactNative.Platform.select({
|
|
81
|
+
ios: "Courier",
|
|
82
|
+
android: "monospace"
|
|
83
|
+
});
|
|
84
|
+
const createCodeStyles = theme => _reactNative.StyleSheet.create({
|
|
85
|
+
codeBlock: {
|
|
86
|
+
backgroundColor: theme.colors.codeBackground,
|
|
87
|
+
borderRadius: theme.borderRadius.m,
|
|
88
|
+
padding: theme.spacing.l,
|
|
89
|
+
marginVertical: theme.spacing.m,
|
|
90
|
+
borderWidth: 1,
|
|
91
|
+
borderColor: theme.colors.border
|
|
92
|
+
},
|
|
93
|
+
codeLanguage: {
|
|
94
|
+
color: theme.colors.codeLanguage,
|
|
95
|
+
fontSize: theme.fontSizes.xs,
|
|
96
|
+
fontWeight: "600",
|
|
97
|
+
marginBottom: theme.spacing.s,
|
|
98
|
+
textTransform: "uppercase",
|
|
99
|
+
letterSpacing: 0.5,
|
|
100
|
+
fontFamily: theme.fontFamilies.mono,
|
|
101
|
+
...(_reactNative.Platform.OS === "android" && {
|
|
102
|
+
includeFontPadding: false
|
|
103
|
+
})
|
|
104
|
+
},
|
|
105
|
+
codeBlockText: {
|
|
106
|
+
fontFamily: getMonoFontFamily(theme),
|
|
107
|
+
fontSize: theme.fontSizes.s,
|
|
108
|
+
color: theme.colors.text,
|
|
109
|
+
lineHeight: theme.fontSizes.s * 1.5,
|
|
110
|
+
...(_reactNative.Platform.OS === "android" && {
|
|
111
|
+
includeFontPadding: false
|
|
112
|
+
})
|
|
113
|
+
}
|
|
114
|
+
});
|
|
115
|
+
const createInlineStyles = theme => _reactNative.StyleSheet.create({
|
|
116
|
+
codeInline: {
|
|
117
|
+
fontFamily: getMonoFontFamily(theme),
|
|
118
|
+
fontSize: theme.fontSizes.s,
|
|
119
|
+
color: theme.colors.code,
|
|
120
|
+
backgroundColor: theme.colors.codeBackground,
|
|
121
|
+
paddingHorizontal: theme.spacing.xs,
|
|
122
|
+
paddingVertical: 2,
|
|
123
|
+
borderRadius: theme.borderRadius.s,
|
|
124
|
+
...(_reactNative.Platform.OS === "android" && {
|
|
125
|
+
includeFontPadding: false
|
|
126
|
+
})
|
|
127
|
+
}
|
|
128
|
+
});
|
|
125
129
|
//# sourceMappingURL=code.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_reactNative","_headless","_MarkdownContext","_codeHighlight","_jsxRuntime","CodeBlock","language","content","node","style","ctx","useMarkdownContext","theme","highlighter","highlightCode","defaultHighlighter","displayContent","getTextContent","
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNative","_styleCache","_headless","_MarkdownContext","_codeHighlight","_jsxRuntime","CodeBlock","language","content","node","style","ctx","useMarkdownContext","theme","highlighter","highlightCode","defaultHighlighter","displayContent","getTextContent","highlightedTokens","useMemo","styles","getCachedStyles","codeBlockStylesCache","createCodeStyles","showLanguage","showCodeLanguage","jsxs","View","codeBlock","children","jsx","Text","codeLanguage","ScrollView","horizontal","showsHorizontalScrollIndicator","bounces","codeBlockText","selectable","map","token","i","tokenColor","colors","codeTokenColors","type","color","text","exports","InlineCode","inlineCodeStylesCache","createInlineStyles","codeInline","WeakMap","getMonoFontFamily","fontFamilies","mono","Platform","select","ios","android","StyleSheet","create","backgroundColor","codeBackground","borderRadius","m","padding","spacing","l","marginVertical","borderWidth","borderColor","border","fontSize","fontSizes","xs","fontWeight","marginBottom","s","textTransform","letterSpacing","fontFamily","OS","includeFontPadding","lineHeight","code","paddingHorizontal","paddingVertical"],"sourceRoot":"../../../src","sources":["renderers/code.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -4,8 +4,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.Heading = void 0;
|
|
7
|
-
var _react = require("react");
|
|
8
7
|
var _reactNative = require("react-native");
|
|
8
|
+
var _styleCache = require("./style-cache.js");
|
|
9
9
|
var _MarkdownContext = require("../MarkdownContext.js");
|
|
10
10
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
11
11
|
const ANDROID_SYSTEM_FONTS = new Set(["sans-serif", "sans-serif-medium", "sans-serif-light", "sans-serif-condensed", "sans-serif-thin", "serif", "monospace"]);
|
|
@@ -17,51 +17,7 @@ const Heading = ({
|
|
|
17
17
|
const {
|
|
18
18
|
theme
|
|
19
19
|
} = (0, _MarkdownContext.useMarkdownContext)();
|
|
20
|
-
const
|
|
21
|
-
const styles = (0, _react.useMemo)(() => _reactNative.StyleSheet.create({
|
|
22
|
-
heading: {
|
|
23
|
-
color: theme.colors.heading,
|
|
24
|
-
fontWeight: headingWeight,
|
|
25
|
-
marginTop: theme.spacing.xl,
|
|
26
|
-
marginBottom: theme.spacing.m,
|
|
27
|
-
fontFamily: theme.fontFamilies.heading,
|
|
28
|
-
letterSpacing: -0.2,
|
|
29
|
-
...(_reactNative.Platform.OS === "android" && {
|
|
30
|
-
includeFontPadding: false
|
|
31
|
-
})
|
|
32
|
-
},
|
|
33
|
-
h1: {
|
|
34
|
-
fontSize: theme.fontSizes.h1,
|
|
35
|
-
lineHeight: theme.fontSizes.h1 * 1.3,
|
|
36
|
-
borderBottomWidth: 1,
|
|
37
|
-
borderBottomColor: theme.colors.border,
|
|
38
|
-
paddingBottom: theme.spacing.s,
|
|
39
|
-
letterSpacing: -0.6
|
|
40
|
-
},
|
|
41
|
-
h2: {
|
|
42
|
-
fontSize: theme.fontSizes.h2,
|
|
43
|
-
lineHeight: theme.fontSizes.h2 * 1.3,
|
|
44
|
-
letterSpacing: -0.4
|
|
45
|
-
},
|
|
46
|
-
h3: {
|
|
47
|
-
fontSize: theme.fontSizes.h3,
|
|
48
|
-
lineHeight: theme.fontSizes.h3 * 1.3,
|
|
49
|
-
letterSpacing: -0.2
|
|
50
|
-
},
|
|
51
|
-
h4: {
|
|
52
|
-
fontSize: theme.fontSizes.h4,
|
|
53
|
-
lineHeight: theme.fontSizes.h4 * 1.3
|
|
54
|
-
},
|
|
55
|
-
h5: {
|
|
56
|
-
fontSize: theme.fontSizes.h5,
|
|
57
|
-
lineHeight: theme.fontSizes.h5 * 1.3
|
|
58
|
-
},
|
|
59
|
-
h6: {
|
|
60
|
-
fontSize: theme.fontSizes.h6,
|
|
61
|
-
lineHeight: theme.fontSizes.h6 * 1.3,
|
|
62
|
-
color: theme.colors.textMuted
|
|
63
|
-
}
|
|
64
|
-
}), [headingWeight, theme]);
|
|
20
|
+
const styles = (0, _styleCache.getCachedStyles)(stylesCache, theme, createStyles);
|
|
65
21
|
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];
|
|
66
22
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
67
23
|
style: [...headingStyles, style],
|
|
@@ -69,4 +25,50 @@ const Heading = ({
|
|
|
69
25
|
});
|
|
70
26
|
};
|
|
71
27
|
exports.Heading = Heading;
|
|
28
|
+
const stylesCache = new WeakMap();
|
|
29
|
+
const getHeadingWeight = theme => theme.headingWeight ?? (_reactNative.Platform.OS === "android" && theme.fontFamilies.heading && !ANDROID_SYSTEM_FONTS.has(theme.fontFamilies.heading) ? "normal" : "700");
|
|
30
|
+
const createStyles = theme => _reactNative.StyleSheet.create({
|
|
31
|
+
heading: {
|
|
32
|
+
color: theme.colors.heading,
|
|
33
|
+
fontWeight: getHeadingWeight(theme),
|
|
34
|
+
marginTop: theme.spacing.xl,
|
|
35
|
+
marginBottom: theme.spacing.m,
|
|
36
|
+
fontFamily: theme.fontFamilies.heading,
|
|
37
|
+
letterSpacing: -0.2,
|
|
38
|
+
...(_reactNative.Platform.OS === "android" && {
|
|
39
|
+
includeFontPadding: false
|
|
40
|
+
})
|
|
41
|
+
},
|
|
42
|
+
h1: {
|
|
43
|
+
fontSize: theme.fontSizes.h1,
|
|
44
|
+
lineHeight: theme.fontSizes.h1 * 1.3,
|
|
45
|
+
borderBottomWidth: 1,
|
|
46
|
+
borderBottomColor: theme.colors.border,
|
|
47
|
+
paddingBottom: theme.spacing.s,
|
|
48
|
+
letterSpacing: -0.6
|
|
49
|
+
},
|
|
50
|
+
h2: {
|
|
51
|
+
fontSize: theme.fontSizes.h2,
|
|
52
|
+
lineHeight: theme.fontSizes.h2 * 1.3,
|
|
53
|
+
letterSpacing: -0.4
|
|
54
|
+
},
|
|
55
|
+
h3: {
|
|
56
|
+
fontSize: theme.fontSizes.h3,
|
|
57
|
+
lineHeight: theme.fontSizes.h3 * 1.3,
|
|
58
|
+
letterSpacing: -0.2
|
|
59
|
+
},
|
|
60
|
+
h4: {
|
|
61
|
+
fontSize: theme.fontSizes.h4,
|
|
62
|
+
lineHeight: theme.fontSizes.h4 * 1.3
|
|
63
|
+
},
|
|
64
|
+
h5: {
|
|
65
|
+
fontSize: theme.fontSizes.h5,
|
|
66
|
+
lineHeight: theme.fontSizes.h5 * 1.3
|
|
67
|
+
},
|
|
68
|
+
h6: {
|
|
69
|
+
fontSize: theme.fontSizes.h6,
|
|
70
|
+
lineHeight: theme.fontSizes.h6 * 1.3,
|
|
71
|
+
color: theme.colors.textMuted
|
|
72
|
+
}
|
|
73
|
+
});
|
|
72
74
|
//# sourceMappingURL=heading.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_styleCache","_MarkdownContext","_jsxRuntime","ANDROID_SYSTEM_FONTS","Set","Heading","level","children","style","theme","useMarkdownContext","styles","getCachedStyles","stylesCache","createStyles","headingStyles","heading","h1","h2","h3","h4","h5","h6","jsx","Text","exports","WeakMap","getHeadingWeight","headingWeight","Platform","OS","fontFamilies","has","StyleSheet","create","color","colors","fontWeight","marginTop","spacing","xl","marginBottom","m","fontFamily","letterSpacing","includeFontPadding","fontSize","fontSizes","lineHeight","borderBottomWidth","borderBottomColor","border","paddingBottom","s","textMuted"],"sourceRoot":"../../../src","sources":["renderers/heading.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -4,8 +4,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.HorizontalRule = void 0;
|
|
7
|
-
var _react = require("react");
|
|
8
7
|
var _reactNative = require("react-native");
|
|
8
|
+
var _styleCache = require("./style-cache.js");
|
|
9
9
|
var _MarkdownContext = require("../MarkdownContext.js");
|
|
10
10
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
11
11
|
const HorizontalRule = ({
|
|
@@ -14,16 +14,18 @@ const HorizontalRule = ({
|
|
|
14
14
|
const {
|
|
15
15
|
theme
|
|
16
16
|
} = (0, _MarkdownContext.useMarkdownContext)();
|
|
17
|
-
const styles = (0,
|
|
18
|
-
horizontalRule: {
|
|
19
|
-
height: 1,
|
|
20
|
-
backgroundColor: theme.colors.border,
|
|
21
|
-
marginVertical: theme.spacing.xl
|
|
22
|
-
}
|
|
23
|
-
}), [theme]);
|
|
17
|
+
const styles = (0, _styleCache.getCachedStyles)(stylesCache, theme, createStyles);
|
|
24
18
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
25
19
|
style: [styles.horizontalRule, style]
|
|
26
20
|
});
|
|
27
21
|
};
|
|
28
22
|
exports.HorizontalRule = HorizontalRule;
|
|
23
|
+
const stylesCache = new WeakMap();
|
|
24
|
+
const createStyles = theme => _reactNative.StyleSheet.create({
|
|
25
|
+
horizontalRule: {
|
|
26
|
+
height: 1,
|
|
27
|
+
backgroundColor: theme.colors.border,
|
|
28
|
+
marginVertical: theme.spacing.xl
|
|
29
|
+
}
|
|
30
|
+
});
|
|
29
31
|
//# sourceMappingURL=horizontal-rule.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_styleCache","_MarkdownContext","_jsxRuntime","HorizontalRule","style","theme","useMarkdownContext","styles","getCachedStyles","stylesCache","createStyles","jsx","View","horizontalRule","exports","WeakMap","StyleSheet","create","height","backgroundColor","colors","border","marginVertical","spacing","xl"],"sourceRoot":"../../../src","sources":["renderers/horizontal-rule.tsx"],"mappings":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,gBAAA,GAAAF,OAAA;AAAwD,IAAAG,WAAA,GAAAH,OAAA;AAOjD,MAAMI,cAAuC,GAAGA,CAAC;EAAEC;AAAM,CAAC,KAAK;EACpE,MAAM;IAAEC;EAAM,CAAC,GAAG,IAAAC,mCAAkB,EAAC,CAAC;EACtC,MAAMC,MAAM,GAAG,IAAAC,2BAAe,EAACC,WAAW,EAAEJ,KAAK,EAAEK,YAAY,CAAC;EAChE,oBAAO,IAAAR,WAAA,CAAAS,GAAA,EAACb,YAAA,CAAAc,IAAI;IAACR,KAAK,EAAE,CAACG,MAAM,CAACM,cAAc,EAAET,KAAK;EAAE,CAAE,CAAC;AACxD,CAAC;AAACU,OAAA,CAAAX,cAAA,GAAAA,cAAA;AAIF,MAAMM,WAAW,GAAG,IAAIM,OAAO,CAAsC,CAAC;AAEtE,MAAML,YAAY,GAAIL,KAAoB,IACxCW,uBAAU,CAACC,MAAM,CAAC;EAChBJ,cAAc,EAAE;IACdK,MAAM,EAAE,CAAC;IACTC,eAAe,EAAEd,KAAK,CAACe,MAAM,CAACC,MAAM;IACpCC,cAAc,EAAEjB,KAAK,CAACkB,OAAO,CAACC;EAChC;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -97,18 +97,24 @@ const Image = ({
|
|
|
97
97
|
})
|
|
98
98
|
}
|
|
99
99
|
}), [theme, aspectRatio]);
|
|
100
|
-
(0, _react.
|
|
101
|
-
|
|
100
|
+
(0, _react.useEffect)(() => {
|
|
101
|
+
let isMounted = true;
|
|
102
|
+
setLoading(true);
|
|
103
|
+
setError(false);
|
|
104
|
+
setAspectRatio(undefined);
|
|
102
105
|
const picsumMatch = url.match(/picsum\.photos\/.*\/(\d+)\/(\d+)/);
|
|
103
106
|
if (picsumMatch) {
|
|
104
107
|
const w = parseInt(picsumMatch[1], 10);
|
|
105
108
|
const h = parseInt(picsumMatch[2], 10);
|
|
106
109
|
if (!isNaN(w) && !isNaN(h) && h !== 0) {
|
|
107
110
|
setAspectRatio(w / h);
|
|
111
|
+
return () => {
|
|
112
|
+
isMounted = false;
|
|
113
|
+
};
|
|
108
114
|
}
|
|
109
115
|
}
|
|
110
116
|
_reactNative.Image.getSize(url, (width, height) => {
|
|
111
|
-
if (width > 0 && height > 0) {
|
|
117
|
+
if (isMounted && width > 0 && height > 0) {
|
|
112
118
|
setAspectRatio(width / height);
|
|
113
119
|
}
|
|
114
120
|
}, error => {
|
|
@@ -117,6 +123,9 @@ const Image = ({
|
|
|
117
123
|
console.warn("[NitroMarkdown] Failed to get image dimensions:", error);
|
|
118
124
|
}
|
|
119
125
|
});
|
|
126
|
+
return () => {
|
|
127
|
+
isMounted = false;
|
|
128
|
+
};
|
|
120
129
|
}, [url]);
|
|
121
130
|
const altContent = (0, _react.useMemo)(() => {
|
|
122
131
|
if (!alt || !Renderer) return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_reactNative","_headless","_MarkdownContext","_jsxRuntime","renderInlineContent","node","Renderer","type","children","jsx","Fragment","map","child","idx","depth","inListItem","Image","url","title","alt","style","loading","setLoading","useState","error","setError","aspectRatio","setAspectRatio","undefined","theme","useMarkdownContext","styles","useMemo","StyleSheet","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","Platform","OS","includeFontPadding","imageError","padding","l","imageErrorText","imageCaption","xs","marginTop","fontStyle","textAlign","
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNative","_headless","_MarkdownContext","_jsxRuntime","renderInlineContent","node","Renderer","type","children","jsx","Fragment","map","child","idx","depth","inListItem","Image","url","title","alt","style","loading","setLoading","useState","error","setError","aspectRatio","setAspectRatio","undefined","theme","useMarkdownContext","styles","useMemo","StyleSheet","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","Platform","OS","includeFontPadding","imageError","padding","l","imageErrorText","imageCaption","xs","marginTop","fontStyle","textAlign","useEffect","isMounted","picsumMatch","match","w","parseInt","h","isNaN","RNImage","getSize","__DEV__","console","warn","altContent","includes","ast","parseMarkdownWithOptions","math","gfm","paragraph","inlineContent","Text","View","jsxs","flexDirection","flexWrap","source","uri","resizeMode","onLoad","onError","exports"],"sourceRoot":"../../../src","sources":["renderers/image.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -4,12 +4,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.TaskListItem = exports.ListItem = exports.List = void 0;
|
|
7
|
-
var _react = require("react");
|
|
8
7
|
var _reactNative = require("react-native");
|
|
8
|
+
var _styleCache = require("./style-cache.js");
|
|
9
9
|
var _MarkdownContext = require("../MarkdownContext.js");
|
|
10
10
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
11
|
-
//
|
|
12
|
-
// handled at the ListItem level — the List container is style-only.
|
|
11
|
+
// ordered/start stay on List for renderer API parity; markers render in ListItem.
|
|
13
12
|
const List = ({
|
|
14
13
|
depth,
|
|
15
14
|
children,
|
|
@@ -18,15 +17,7 @@ const List = ({
|
|
|
18
17
|
const {
|
|
19
18
|
theme
|
|
20
19
|
} = (0, _MarkdownContext.useMarkdownContext)();
|
|
21
|
-
const styles = (0,
|
|
22
|
-
list: {
|
|
23
|
-
marginBottom: theme.spacing.m
|
|
24
|
-
},
|
|
25
|
-
listNested: {
|
|
26
|
-
marginLeft: theme.spacing.s,
|
|
27
|
-
marginBottom: 0
|
|
28
|
-
}
|
|
29
|
-
}), [theme]);
|
|
20
|
+
const styles = (0, _styleCache.getCachedStyles)(listStylesCache, theme, createListStyles);
|
|
30
21
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
31
22
|
style: [styles.list, depth > 0 && styles.listNested, style],
|
|
32
23
|
children: children
|
|
@@ -43,29 +34,7 @@ const ListItem = ({
|
|
|
43
34
|
const {
|
|
44
35
|
theme
|
|
45
36
|
} = (0, _MarkdownContext.useMarkdownContext)();
|
|
46
|
-
const styles = (0,
|
|
47
|
-
listItem: {
|
|
48
|
-
flexDirection: "row",
|
|
49
|
-
marginBottom: theme.spacing.s,
|
|
50
|
-
alignItems: "flex-start"
|
|
51
|
-
},
|
|
52
|
-
listBullet: {
|
|
53
|
-
color: theme.colors.accent,
|
|
54
|
-
fontSize: theme.fontSizes.m,
|
|
55
|
-
lineHeight: theme.fontSizes.m * 1.6,
|
|
56
|
-
marginRight: theme.spacing.s,
|
|
57
|
-
minWidth: 22,
|
|
58
|
-
textAlign: "center",
|
|
59
|
-
fontFamily: theme.fontFamilies.regular,
|
|
60
|
-
...(_reactNative.Platform.OS === "android" && {
|
|
61
|
-
includeFontPadding: false
|
|
62
|
-
})
|
|
63
|
-
},
|
|
64
|
-
listItemContent: {
|
|
65
|
-
flex: 1,
|
|
66
|
-
minWidth: 0
|
|
67
|
-
}
|
|
68
|
-
}), [theme]);
|
|
37
|
+
const styles = (0, _styleCache.getCachedStyles)(listItemStylesCache, theme, createListItemStyles);
|
|
69
38
|
const bullet = ordered ? `${start + index}.` : "•";
|
|
70
39
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
71
40
|
style: [styles.listItem, style],
|
|
@@ -87,41 +56,7 @@ const TaskListItem = ({
|
|
|
87
56
|
const {
|
|
88
57
|
theme
|
|
89
58
|
} = (0, _MarkdownContext.useMarkdownContext)();
|
|
90
|
-
const styles = (0,
|
|
91
|
-
taskListItem: {
|
|
92
|
-
flexDirection: "row",
|
|
93
|
-
alignItems: "flex-start",
|
|
94
|
-
marginBottom: theme.spacing.s
|
|
95
|
-
},
|
|
96
|
-
taskCheckbox: {
|
|
97
|
-
width: 18,
|
|
98
|
-
height: 18,
|
|
99
|
-
borderRadius: 4,
|
|
100
|
-
borderWidth: 2,
|
|
101
|
-
borderColor: theme.colors.accent,
|
|
102
|
-
alignItems: "center",
|
|
103
|
-
justifyContent: "center",
|
|
104
|
-
marginRight: theme.spacing.s,
|
|
105
|
-
marginTop: 2
|
|
106
|
-
},
|
|
107
|
-
taskCheckboxChecked: {
|
|
108
|
-
backgroundColor: theme.colors.accent
|
|
109
|
-
},
|
|
110
|
-
taskCheckboxText: {
|
|
111
|
-
color: theme.colors.surface,
|
|
112
|
-
fontSize: 12,
|
|
113
|
-
lineHeight: 12,
|
|
114
|
-
fontWeight: "700",
|
|
115
|
-
fontFamily: theme.fontFamilies.regular,
|
|
116
|
-
...(_reactNative.Platform.OS === "android" && {
|
|
117
|
-
includeFontPadding: false
|
|
118
|
-
})
|
|
119
|
-
},
|
|
120
|
-
taskContent: {
|
|
121
|
-
flex: 1,
|
|
122
|
-
minWidth: 0
|
|
123
|
-
}
|
|
124
|
-
}), [theme]);
|
|
59
|
+
const styles = (0, _styleCache.getCachedStyles)(taskListItemStylesCache, theme, createTaskListItemStyles);
|
|
125
60
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
126
61
|
style: [styles.taskListItem, style],
|
|
127
62
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
@@ -137,4 +72,74 @@ const TaskListItem = ({
|
|
|
137
72
|
});
|
|
138
73
|
};
|
|
139
74
|
exports.TaskListItem = TaskListItem;
|
|
75
|
+
const listStylesCache = new WeakMap();
|
|
76
|
+
const listItemStylesCache = new WeakMap();
|
|
77
|
+
const taskListItemStylesCache = new WeakMap();
|
|
78
|
+
const createListStyles = theme => _reactNative.StyleSheet.create({
|
|
79
|
+
list: {
|
|
80
|
+
marginBottom: theme.spacing.m
|
|
81
|
+
},
|
|
82
|
+
listNested: {
|
|
83
|
+
marginLeft: theme.spacing.s,
|
|
84
|
+
marginBottom: 0
|
|
85
|
+
}
|
|
86
|
+
});
|
|
87
|
+
const createListItemStyles = theme => _reactNative.StyleSheet.create({
|
|
88
|
+
listItem: {
|
|
89
|
+
flexDirection: "row",
|
|
90
|
+
marginBottom: theme.spacing.s,
|
|
91
|
+
alignItems: "flex-start"
|
|
92
|
+
},
|
|
93
|
+
listBullet: {
|
|
94
|
+
color: theme.colors.accent,
|
|
95
|
+
fontSize: theme.fontSizes.m,
|
|
96
|
+
lineHeight: theme.fontSizes.m * 1.6,
|
|
97
|
+
marginRight: theme.spacing.s,
|
|
98
|
+
minWidth: 22,
|
|
99
|
+
textAlign: "center",
|
|
100
|
+
fontFamily: theme.fontFamilies.regular,
|
|
101
|
+
...(_reactNative.Platform.OS === "android" && {
|
|
102
|
+
includeFontPadding: false
|
|
103
|
+
})
|
|
104
|
+
},
|
|
105
|
+
listItemContent: {
|
|
106
|
+
flex: 1,
|
|
107
|
+
minWidth: 0
|
|
108
|
+
}
|
|
109
|
+
});
|
|
110
|
+
const createTaskListItemStyles = theme => _reactNative.StyleSheet.create({
|
|
111
|
+
taskListItem: {
|
|
112
|
+
flexDirection: "row",
|
|
113
|
+
alignItems: "flex-start",
|
|
114
|
+
marginBottom: theme.spacing.s
|
|
115
|
+
},
|
|
116
|
+
taskCheckbox: {
|
|
117
|
+
width: 18,
|
|
118
|
+
height: 18,
|
|
119
|
+
borderRadius: 4,
|
|
120
|
+
borderWidth: 2,
|
|
121
|
+
borderColor: theme.colors.accent,
|
|
122
|
+
alignItems: "center",
|
|
123
|
+
justifyContent: "center",
|
|
124
|
+
marginRight: theme.spacing.s,
|
|
125
|
+
marginTop: 2
|
|
126
|
+
},
|
|
127
|
+
taskCheckboxChecked: {
|
|
128
|
+
backgroundColor: theme.colors.accent
|
|
129
|
+
},
|
|
130
|
+
taskCheckboxText: {
|
|
131
|
+
color: theme.colors.surface,
|
|
132
|
+
fontSize: 12,
|
|
133
|
+
lineHeight: 12,
|
|
134
|
+
fontWeight: "700",
|
|
135
|
+
fontFamily: theme.fontFamilies.regular,
|
|
136
|
+
...(_reactNative.Platform.OS === "android" && {
|
|
137
|
+
includeFontPadding: false
|
|
138
|
+
})
|
|
139
|
+
},
|
|
140
|
+
taskContent: {
|
|
141
|
+
flex: 1,
|
|
142
|
+
minWidth: 0
|
|
143
|
+
}
|
|
144
|
+
});
|
|
140
145
|
//# sourceMappingURL=list.js.map
|