react-native-marked 1.4.2 → 1.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 +6 -6
- package/dist/commonjs/lib/Markdown.js +3 -2
- package/dist/commonjs/lib/Markdown.js.map +1 -1
- package/dist/commonjs/lib/Parser.js +1 -3
- package/dist/commonjs/lib/Parser.js.map +1 -1
- package/dist/commonjs/theme/colors.js.map +1 -1
- package/dist/commonjs/theme/spacing.js +15 -0
- package/dist/commonjs/theme/spacing.js.map +1 -0
- package/dist/commonjs/theme/styles.js +37 -28
- package/dist/commonjs/theme/styles.js.map +1 -1
- package/dist/commonjs/utils/handlers.js +2 -4
- package/dist/commonjs/utils/handlers.js.map +1 -1
- package/dist/module/lib/Markdown.js +3 -2
- package/dist/module/lib/Markdown.js.map +1 -1
- package/dist/module/lib/Parser.js +1 -3
- package/dist/module/lib/Parser.js.map +1 -1
- package/dist/module/theme/colors.js.map +1 -1
- package/dist/module/theme/spacing.js +8 -0
- package/dist/module/theme/spacing.js.map +1 -0
- package/dist/module/theme/styles.js +34 -28
- package/dist/module/theme/styles.js.map +1 -1
- package/dist/module/utils/handlers.js +2 -4
- package/dist/module/utils/handlers.js.map +1 -1
- package/dist/typescript/lib/Markdown.d.ts +1 -1
- package/dist/typescript/lib/Markdown.d.ts.map +1 -1
- package/dist/typescript/lib/Parser.d.ts.map +1 -1
- package/dist/typescript/lib/types.d.ts +2 -1
- package/dist/typescript/lib/types.d.ts.map +1 -1
- package/dist/typescript/theme/colors.d.ts +3 -2
- package/dist/typescript/theme/colors.d.ts.map +1 -1
- package/dist/typescript/theme/spacing.d.ts +4 -0
- package/dist/typescript/theme/spacing.d.ts.map +1 -0
- package/dist/typescript/theme/styles.d.ts +2 -2
- package/dist/typescript/theme/styles.d.ts.map +1 -1
- package/dist/typescript/theme/types.d.ts +5 -3
- package/dist/typescript/theme/types.d.ts.map +1 -1
- package/package.json +6 -5
- package/src/lib/Markdown.tsx +4 -3
- package/src/lib/Parser.tsx +1 -3
- package/src/lib/types.ts +2 -1
- package/src/theme/colors.ts +3 -2
- package/src/theme/spacing.ts +10 -0
- package/src/theme/styles.ts +33 -29
- package/src/theme/types.ts +5 -4
- package/src/utils/handlers.ts +5 -5
- package/dist/commonjs/theme/theme.js +0 -19
- package/dist/commonjs/theme/theme.js.map +0 -1
- package/dist/module/theme/theme.js +0 -7
- package/dist/module/theme/theme.js.map +0 -1
- package/dist/typescript/theme/theme.d.ts +0 -4
- package/dist/typescript/theme/theme.d.ts.map +0 -1
- package/src/theme/theme.ts +0 -9
package/README.md
CHANGED
|
@@ -40,11 +40,12 @@ https://snack.expo.dev/@gmsgowtham/react-native-marked
|
|
|
40
40
|
|
|
41
41
|
## [Props](https://github.com/gmsgowtham/react-native-marked/blob/4ef070931b7d309a7490c41e45129e12525d12d9/src/lib/types.ts#L18)
|
|
42
42
|
|
|
43
|
-
| Prop | Description
|
|
44
|
-
| ------------- |
|
|
45
|
-
| value | Markdown value
|
|
46
|
-
| flatListProps | Props for customizing the underlying FlatList used
|
|
47
|
-
| styles | Styles for parsed components
|
|
43
|
+
| Prop | Description | Type | Optional? |
|
|
44
|
+
| ------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | --------- |
|
|
45
|
+
| value | Markdown value | string | false |
|
|
46
|
+
| flatListProps | Props for customizing the underlying FlatList used | `Omit<FlatListProps<ReactNode>, 'data' \| 'renderItem' \| 'horizontal'>`<br><br><br>(`'data'`, `'renderItem'`, and `'horizontal'` props are omitted and cannot be overridden.) | true |
|
|
47
|
+
| styles | Styles for parsed components | [MarkedStyles](https://github.com/gmsgowtham/react-native-marked/blob/4ef070931b7d309a7490c41e45129e12525d12d9/src/theme/types.ts#L3) | true |
|
|
48
|
+
| theme | Props for customizing colors and spacing for all components,and it will get overridden with custom component style applied via 'styles' prop | [UserTheme](https://github.com/gmsgowtham/react-native-marked/blob/6eba804c617099ffb574aa97c57a71ea3e0184fb/src/theme/types.ts#L28) | true |
|
|
48
49
|
|
|
49
50
|
## Screenshots
|
|
50
51
|
|
|
@@ -69,4 +70,3 @@ Made with [create-react-native-library](https://github.com/callstack/react-nativ
|
|
|
69
70
|
- [Marked](https://marked.js.org/)
|
|
70
71
|
- [React Native Fit Image](https://github.com/huiseoul/react-native-fit-image)
|
|
71
72
|
- [@jsamr/react-native-li](https://github.com/jsamr/react-native-li)
|
|
72
|
-
- [entities](https://github.com/fb55/entities)
|
|
@@ -27,10 +27,11 @@ const Markdown = _ref => {
|
|
|
27
27
|
let {
|
|
28
28
|
value,
|
|
29
29
|
flatListProps,
|
|
30
|
+
theme,
|
|
30
31
|
styles: userStyles
|
|
31
32
|
} = _ref;
|
|
32
|
-
const
|
|
33
|
-
const styles = (0, _react.useMemo)(() => (0, _styles.default)(userStyles,
|
|
33
|
+
const colorScheme = (0, _reactNative.useColorScheme)();
|
|
34
|
+
const styles = (0, _react.useMemo)(() => (0, _styles.default)(userStyles, colorScheme, theme), [userStyles, colorScheme, theme]);
|
|
34
35
|
const rnElements = (0, _react.useMemo)(() => {
|
|
35
36
|
const parser = new _Parser.default({
|
|
36
37
|
styles
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Markdown","value","flatListProps","styles","userStyles","
|
|
1
|
+
{"version":3,"names":["Markdown","value","flatListProps","theme","styles","userStyles","colorScheme","useColorScheme","useMemo","getStyles","rnElements","parser","Parser","tokens","marked","lexer","mangle","gfm","parse","renderItem","useCallback","item","keyExtractor","_","index","toString","container","memo"],"sourceRoot":"../../src","sources":["Markdown.tsx"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;AAGA,MAAMA,QAAQ,GAAG,QAKI;EAAA,IALH;IAChBC,KADgB;IAEhBC,aAFgB;IAGhBC,KAHgB;IAIhBC,MAAM,EAAEC;EAJQ,CAKG;EACnB,MAAMC,WAAW,GAAG,IAAAC,2BAAA,GAApB;EACA,MAAMH,MAAM,GAAG,IAAAI,cAAA,EACb,MAAM,IAAAC,eAAA,EAAUJ,UAAV,EAAsBC,WAAtB,EAAmCH,KAAnC,CADO,EAEb,CAACE,UAAD,EAAaC,WAAb,EAA0BH,KAA1B,CAFa,CAAf;EAKA,MAAMO,UAAU,GAAG,IAAAF,cAAA,EAAQ,MAAM;IAC/B,MAAMG,MAAM,GAAG,IAAIC,eAAJ,CAAW;MACxBR;IADwB,CAAX,CAAf;;IAGA,MAAMS,MAAM,GAAGC,cAAA,CAAOC,KAAP,CAAad,KAAb,EAAoB;MACjCe,MAAM,EAAE,KADyB;MAEjCC,GAAG,EAAE;IAF4B,CAApB,CAAf;;IAKA,OAAON,MAAM,CAACO,KAAP,CAAaL,MAAb,CAAP;EACD,CAVkB,EAUhB,CAACZ,KAAD,EAAQG,MAAR,CAVgB,CAAnB;EAYA,MAAMe,UAAU,GAAG,IAAAC,kBAAA,EAAY,SAAmC;IAAA,IAAlC;MAAEC;IAAF,CAAkC;IAChE,oBAAO,4DAAGA,IAAH,CAAP;EACD,CAFkB,EAEhB,EAFgB,CAAnB;EAIA,MAAMC,YAAY,GAAG,IAAAF,kBAAA,EACnB,CAACG,CAAD,EAAeC,KAAf,KAAiCA,KAAK,CAACC,QAAN,EADd,EAEnB,EAFmB,CAArB;EAKA,oBACE,6BAAC,qBAAD;IACE,YAAY,EAAEH,YADhB;IAEE,mBAAmB,EAAE,CAFvB;IAGE,kBAAkB,EAAE,CAHtB;IAIE,qBAAqB,MAJvB;IAKE,KAAK,EAAElB,MAAM,CAACsB;EALhB,GAMMxB,aANN;IAOE,IAAI,EAAEQ,UAPR;IAQE,UAAU,EAAES;EARd,GADF;AAYD,CA7CD;;4BA+Ce,IAAAQ,WAAA,EAAK3B,QAAL,C"}
|
|
@@ -93,7 +93,7 @@ class Parser {
|
|
|
93
93
|
|
|
94
94
|
case 'heading':
|
|
95
95
|
{
|
|
96
|
-
const styles = this.headingStylesMap[token.depth]
|
|
96
|
+
const styles = this.headingStylesMap[token.depth];
|
|
97
97
|
return this.renderer.getTextNode(this.parseInline(token.tokens, styles), styles);
|
|
98
98
|
}
|
|
99
99
|
|
|
@@ -136,8 +136,6 @@ class Parser {
|
|
|
136
136
|
|
|
137
137
|
parseInline(tokens, styles) {
|
|
138
138
|
const elements = tokens.map(token => {
|
|
139
|
-
if (!token) return null;
|
|
140
|
-
|
|
141
139
|
switch (token.type) {
|
|
142
140
|
case 'escape':
|
|
143
141
|
{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Parser","constructor","options","tokens","textStyle","tokenRenderQueue","siblingNodes","forEach","t","type","parsed","parseInline","length","push","renderer","getTextNode","imageToken","getImageLinkNode","href","text","title","styles","image","Renderer","headingStylesMap","h1","h2","h3","h4","h5","h6","parse","elements","map","token","paragraphChildren","getNormalizedSiblingNodesForBlockAndInlineTokens","getViewNode","paragraph","getBlockquoteNode","blockquote","depth","getCodeBlockNode","code","em","hr","li","items","item","children","cItem","childTokens","listChildren","getListNode","ordered","list","filter","element","linkStyle","link","getTextLinkNode","getImageNode","boldStyle","strong","italicStyle","codespan","strikethroughStyle","strikethrough","raw","console","warn"],"sourceRoot":"../../src","sources":["Parser.tsx"],"mappings":";;;;;;;AAGA;;;;;;AAIA,MAAMA,MAAN,CAAa;EAIXC,WAAW,CAACC,OAAD,EAAyB;IAAA;;IAAA;;IAAA;;IAAA,
|
|
1
|
+
{"version":3,"names":["Parser","constructor","options","tokens","textStyle","tokenRenderQueue","siblingNodes","forEach","t","type","parsed","parseInline","length","push","renderer","getTextNode","imageToken","getImageLinkNode","href","text","title","styles","image","Renderer","headingStylesMap","h1","h2","h3","h4","h5","h6","parse","elements","map","token","paragraphChildren","getNormalizedSiblingNodesForBlockAndInlineTokens","getViewNode","paragraph","getBlockquoteNode","blockquote","depth","getCodeBlockNode","code","em","hr","li","items","item","children","cItem","childTokens","listChildren","getListNode","ordered","list","filter","element","linkStyle","link","getTextLinkNode","getImageNode","boldStyle","strong","italicStyle","codespan","strikethroughStyle","strikethrough","raw","console","warn"],"sourceRoot":"../../src","sources":["Parser.tsx"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["colors","light","background","code","link","text","border","dark"],"sourceRoot":"../../src","sources":["colors.ts"],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"names":["colors","light","background","code","link","text","border","dark"],"sourceRoot":"../../src","sources":["colors.ts"],"mappings":";;;;;;AAGA,MAAMA,MAAgD,GAAG;EACvDC,KAAK,EAAE;IACLC,UAAU,EAAE,SADP;IAELC,IAAI,EAAE,SAFD;IAGLC,IAAI,EAAE,SAHD;IAILC,IAAI,EAAE,SAJD;IAKLC,MAAM,EAAE;EALH,CADgD;EAQvDC,IAAI,EAAE;IACJL,UAAU,EAAE,SADR;IAEJC,IAAI,EAAE,SAFF;IAGJC,IAAI,EAAE,SAHF;IAIJC,IAAI,EAAE,SAJF;IAKJC,MAAM,EAAE;EALJ;AARiD,CAAzD;eAiBeN,M"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
const padding = {
|
|
8
|
+
xs: 2,
|
|
9
|
+
s: 4,
|
|
10
|
+
m: 8,
|
|
11
|
+
l: 16
|
|
12
|
+
};
|
|
13
|
+
var _default = padding;
|
|
14
|
+
exports.default = _default;
|
|
15
|
+
//# sourceMappingURL=spacing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["padding","xs","s","m","l"],"sourceRoot":"../../src","sources":["spacing.ts"],"mappings":";;;;;;AAEA,MAAMA,OAAwC,GAAG;EAC/CC,EAAE,EAAE,CAD2C;EAE/CC,CAAC,EAAE,CAF4C;EAG/CC,CAAC,EAAE,CAH4C;EAI/CC,CAAC,EAAE;AAJ4C,CAAjD;eAOeJ,O"}
|
|
@@ -7,29 +7,38 @@ exports.default = void 0;
|
|
|
7
7
|
|
|
8
8
|
var _reactNative = require("react-native");
|
|
9
9
|
|
|
10
|
-
var
|
|
10
|
+
var _spacing = _interopRequireDefault(require("./spacing"));
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
var _colors = _interopRequireDefault(require("./colors"));
|
|
13
|
+
|
|
14
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
|
+
|
|
16
|
+
const getFontStyles = mdColors => {
|
|
13
17
|
return _reactNative.StyleSheet.create({
|
|
14
18
|
regular: {
|
|
15
19
|
fontSize: 16,
|
|
16
20
|
lineHeight: 24,
|
|
17
|
-
color:
|
|
21
|
+
color: mdColors.text
|
|
18
22
|
},
|
|
19
23
|
heading: {
|
|
20
24
|
fontWeight: '500',
|
|
21
|
-
color:
|
|
25
|
+
color: mdColors.text
|
|
22
26
|
}
|
|
23
27
|
});
|
|
24
28
|
};
|
|
25
29
|
|
|
26
|
-
const getStyles = (userStyles, colorScheme) => {
|
|
27
|
-
const
|
|
28
|
-
|
|
30
|
+
const getStyles = (userStyles, colorScheme, userTheme) => {
|
|
31
|
+
const mdColors = { ..._colors.default[colorScheme || 'light'],
|
|
32
|
+
...(userTheme === null || userTheme === void 0 ? void 0 : userTheme.colors)
|
|
33
|
+
};
|
|
34
|
+
const mdSpacing = { ..._spacing.default,
|
|
35
|
+
...(userTheme === null || userTheme === void 0 ? void 0 : userTheme.spacing)
|
|
36
|
+
};
|
|
37
|
+
const fontStyle = getFontStyles(mdColors);
|
|
29
38
|
|
|
30
39
|
const defaultStyles = _reactNative.StyleSheet.create({
|
|
31
40
|
container: {
|
|
32
|
-
backgroundColor:
|
|
41
|
+
backgroundColor: mdColors.background
|
|
33
42
|
},
|
|
34
43
|
em: { ...fontStyle.regular,
|
|
35
44
|
fontStyle: 'italic'
|
|
@@ -44,69 +53,69 @@ const getStyles = (userStyles, colorScheme) => {
|
|
|
44
53
|
text: { ...fontStyle.regular
|
|
45
54
|
},
|
|
46
55
|
paragraph: { ...fontStyle.regular,
|
|
47
|
-
paddingVertical:
|
|
56
|
+
paddingVertical: mdSpacing.m
|
|
48
57
|
},
|
|
49
58
|
link: { ...fontStyle.regular,
|
|
50
59
|
fontStyle: 'italic',
|
|
51
|
-
color:
|
|
60
|
+
color: mdColors.link
|
|
52
61
|
},
|
|
53
62
|
blockquote: {
|
|
54
|
-
borderLeftColor:
|
|
55
|
-
paddingLeft:
|
|
56
|
-
borderLeftWidth:
|
|
63
|
+
borderLeftColor: mdColors.border,
|
|
64
|
+
paddingLeft: mdSpacing.l,
|
|
65
|
+
borderLeftWidth: mdSpacing.s,
|
|
57
66
|
opacity: 0.8
|
|
58
67
|
},
|
|
59
68
|
h1: {
|
|
60
69
|
fontSize: 32,
|
|
61
70
|
lineHeight: 40,
|
|
62
71
|
fontWeight: 'bold',
|
|
63
|
-
marginVertical:
|
|
72
|
+
marginVertical: mdSpacing.m,
|
|
64
73
|
letterSpacing: 0,
|
|
65
|
-
paddingBottom:
|
|
66
|
-
borderBottomColor:
|
|
74
|
+
paddingBottom: mdSpacing.s,
|
|
75
|
+
borderBottomColor: mdColors.border,
|
|
67
76
|
borderBottomWidth: 1
|
|
68
77
|
},
|
|
69
78
|
h2: { ...fontStyle.heading,
|
|
70
79
|
fontSize: 28,
|
|
71
80
|
lineHeight: 36,
|
|
72
|
-
marginVertical:
|
|
73
|
-
paddingBottom:
|
|
74
|
-
borderBottomColor:
|
|
81
|
+
marginVertical: mdSpacing.m,
|
|
82
|
+
paddingBottom: mdSpacing.s,
|
|
83
|
+
borderBottomColor: mdColors.border,
|
|
75
84
|
borderBottomWidth: 1
|
|
76
85
|
},
|
|
77
86
|
h3: { ...fontStyle.heading,
|
|
78
87
|
fontSize: 24,
|
|
79
88
|
lineHeight: 32,
|
|
80
|
-
marginVertical:
|
|
89
|
+
marginVertical: mdSpacing.s
|
|
81
90
|
},
|
|
82
91
|
h4: { ...fontStyle.heading,
|
|
83
92
|
fontSize: 22,
|
|
84
93
|
lineHeight: 28,
|
|
85
|
-
marginVertical:
|
|
94
|
+
marginVertical: mdSpacing.s
|
|
86
95
|
},
|
|
87
96
|
h5: { ...fontStyle.regular,
|
|
88
97
|
...fontStyle.heading,
|
|
89
|
-
marginVertical:
|
|
98
|
+
marginVertical: mdSpacing.xs
|
|
90
99
|
},
|
|
91
100
|
h6: { ...fontStyle.heading,
|
|
92
101
|
fontSize: 14,
|
|
93
102
|
lineHeight: 20,
|
|
94
|
-
marginVertical:
|
|
103
|
+
marginVertical: mdSpacing.xs
|
|
95
104
|
},
|
|
96
105
|
codespan: { ...fontStyle.regular,
|
|
97
106
|
fontStyle: 'italic',
|
|
98
|
-
backgroundColor:
|
|
107
|
+
backgroundColor: mdColors.code,
|
|
99
108
|
fontWeight: '300'
|
|
100
109
|
},
|
|
101
110
|
code: {
|
|
102
|
-
padding:
|
|
103
|
-
backgroundColor:
|
|
111
|
+
padding: mdSpacing.l,
|
|
112
|
+
backgroundColor: mdColors.code,
|
|
104
113
|
minWidth: '100%'
|
|
105
114
|
},
|
|
106
115
|
hr: {
|
|
107
116
|
borderBottomWidth: 1,
|
|
108
|
-
borderBottomColor:
|
|
109
|
-
marginVertical:
|
|
117
|
+
borderBottomColor: mdColors.border,
|
|
118
|
+
marginVertical: mdSpacing.s
|
|
110
119
|
},
|
|
111
120
|
li: { ...fontStyle.regular,
|
|
112
121
|
flexShrink: 1
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getFontStyles","
|
|
1
|
+
{"version":3,"names":["getFontStyles","mdColors","StyleSheet","create","regular","fontSize","lineHeight","color","text","heading","fontWeight","getStyles","userStyles","colorScheme","userTheme","colors","mdSpacing","spacing","fontStyle","defaultStyles","container","backgroundColor","background","em","strong","strikethrough","textDecorationLine","textDecorationStyle","paragraph","paddingVertical","m","link","blockquote","borderLeftColor","border","paddingLeft","l","borderLeftWidth","s","opacity","h1","marginVertical","letterSpacing","paddingBottom","borderBottomColor","borderBottomWidth","h2","h3","h4","h5","xs","h6","codespan","code","padding","minWidth","hr","li","flexShrink","image","resizeMode"],"sourceRoot":"../../src","sources":["styles.ts"],"mappings":"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"}
|
|
@@ -8,11 +8,9 @@ exports.onLinkPress = void 0;
|
|
|
8
8
|
var _reactNative = require("react-native");
|
|
9
9
|
|
|
10
10
|
const onLinkPress = url => () => {
|
|
11
|
-
|
|
12
|
-
_reactNative.Linking.openURL(url);
|
|
13
|
-
} catch (e) {
|
|
11
|
+
_reactNative.Linking.openURL(url).then(() => null).catch(e => {
|
|
14
12
|
console.warn("URL can't be opened", e);
|
|
15
|
-
}
|
|
13
|
+
});
|
|
16
14
|
};
|
|
17
15
|
|
|
18
16
|
exports.onLinkPress = onLinkPress;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["onLinkPress","url","Linking","openURL","e","console","warn"],"sourceRoot":"../../src","sources":["handlers.ts"],"mappings":";;;;;;;AAAA;;AAEO,MAAMA,WAAW,GAAIC,GAAD,IAAiB,MAAM;
|
|
1
|
+
{"version":3,"names":["onLinkPress","url","Linking","openURL","then","catch","e","console","warn"],"sourceRoot":"../../src","sources":["handlers.ts"],"mappings":";;;;;;;AAAA;;AAEO,MAAMA,WAAW,GAAIC,GAAD,IAAiB,MAAM;EAChDC,oBAAA,CAAQC,OAAR,CAAgBF,GAAhB,EACGG,IADH,CACQ,MAAM,IADd,EAEGC,KAFH,CAEUC,CAAD,IAAO;IACZC,OAAO,CAACC,IAAR,CAAa,qBAAb,EAAoCF,CAApC;EACD,CAJH;AAKD,CANM"}
|
|
@@ -10,10 +10,11 @@ const Markdown = _ref => {
|
|
|
10
10
|
let {
|
|
11
11
|
value,
|
|
12
12
|
flatListProps,
|
|
13
|
+
theme,
|
|
13
14
|
styles: userStyles
|
|
14
15
|
} = _ref;
|
|
15
|
-
const
|
|
16
|
-
const styles = useMemo(() => getStyles(userStyles,
|
|
16
|
+
const colorScheme = useColorScheme();
|
|
17
|
+
const styles = useMemo(() => getStyles(userStyles, colorScheme, theme), [userStyles, colorScheme, theme]);
|
|
17
18
|
const rnElements = useMemo(() => {
|
|
18
19
|
const parser = new Parser({
|
|
19
20
|
styles
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","memo","useCallback","useMemo","FlatList","useColorScheme","marked","Parser","getStyles","Markdown","value","flatListProps","styles","userStyles","
|
|
1
|
+
{"version":3,"names":["React","memo","useCallback","useMemo","FlatList","useColorScheme","marked","Parser","getStyles","Markdown","value","flatListProps","theme","styles","userStyles","colorScheme","rnElements","parser","tokens","lexer","mangle","gfm","parse","renderItem","item","keyExtractor","_","index","toString","container"],"sourceRoot":"../../src","sources":["Markdown.tsx"],"mappings":";;AAAA,OAAOA,KAAP,IAAgBC,IAAhB,EAAiCC,WAAjC,EAA8CC,OAA9C,QAA6D,OAA7D;AACA,SAASC,QAAT,EAAmBC,cAAnB,QAAyC,cAAzC;AACA,SAASC,MAAT,QAAuB,QAAvB;AACA,OAAOC,MAAP,MAAmB,UAAnB;AACA,OAAOC,SAAP,MAAsB,iBAAtB;;AAGA,MAAMC,QAAQ,GAAG,QAKI;EAAA,IALH;IAChBC,KADgB;IAEhBC,aAFgB;IAGhBC,KAHgB;IAIhBC,MAAM,EAAEC;EAJQ,CAKG;EACnB,MAAMC,WAAW,GAAGV,cAAc,EAAlC;EACA,MAAMQ,MAAM,GAAGV,OAAO,CACpB,MAAMK,SAAS,CAACM,UAAD,EAAaC,WAAb,EAA0BH,KAA1B,CADK,EAEpB,CAACE,UAAD,EAAaC,WAAb,EAA0BH,KAA1B,CAFoB,CAAtB;EAKA,MAAMI,UAAU,GAAGb,OAAO,CAAC,MAAM;IAC/B,MAAMc,MAAM,GAAG,IAAIV,MAAJ,CAAW;MACxBM;IADwB,CAAX,CAAf;IAGA,MAAMK,MAAM,GAAGZ,MAAM,CAACa,KAAP,CAAaT,KAAb,EAAoB;MACjCU,MAAM,EAAE,KADyB;MAEjCC,GAAG,EAAE;IAF4B,CAApB,CAAf;IAKA,OAAOJ,MAAM,CAACK,KAAP,CAAaJ,MAAb,CAAP;EACD,CAVyB,EAUvB,CAACR,KAAD,EAAQG,MAAR,CAVuB,CAA1B;EAYA,MAAMU,UAAU,GAAGrB,WAAW,CAAC,SAAmC;IAAA,IAAlC;MAAEsB;IAAF,CAAkC;IAChE,oBAAO,0CAAGA,IAAH,CAAP;EACD,CAF6B,EAE3B,EAF2B,CAA9B;EAIA,MAAMC,YAAY,GAAGvB,WAAW,CAC9B,CAACwB,CAAD,EAAeC,KAAf,KAAiCA,KAAK,CAACC,QAAN,EADH,EAE9B,EAF8B,CAAhC;EAKA,oBACE,oBAAC,QAAD;IACE,YAAY,EAAEH,YADhB;IAEE,mBAAmB,EAAE,CAFvB;IAGE,kBAAkB,EAAE,CAHtB;IAIE,qBAAqB,MAJvB;IAKE,KAAK,EAAEZ,MAAM,CAACgB;EALhB,GAMMlB,aANN;IAOE,IAAI,EAAEK,UAPR;IAQE,UAAU,EAAEO;EARd,GADF;AAYD,CA7CD;;AA+CA,4BAAetB,IAAI,CAACQ,QAAD,CAAnB"}
|
|
@@ -84,7 +84,7 @@ class Parser {
|
|
|
84
84
|
|
|
85
85
|
case 'heading':
|
|
86
86
|
{
|
|
87
|
-
const styles = this.headingStylesMap[token.depth]
|
|
87
|
+
const styles = this.headingStylesMap[token.depth];
|
|
88
88
|
return this.renderer.getTextNode(this.parseInline(token.tokens, styles), styles);
|
|
89
89
|
}
|
|
90
90
|
|
|
@@ -127,8 +127,6 @@ class Parser {
|
|
|
127
127
|
|
|
128
128
|
parseInline(tokens, styles) {
|
|
129
129
|
const elements = tokens.map(token => {
|
|
130
|
-
if (!token) return null;
|
|
131
|
-
|
|
132
130
|
switch (token.type) {
|
|
133
131
|
case 'escape':
|
|
134
132
|
{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Renderer","Parser","constructor","options","tokens","textStyle","tokenRenderQueue","siblingNodes","forEach","t","type","parsed","parseInline","length","push","renderer","getTextNode","imageToken","getImageLinkNode","href","text","title","styles","image","headingStylesMap","h1","h2","h3","h4","h5","h6","parse","elements","map","token","paragraphChildren","getNormalizedSiblingNodesForBlockAndInlineTokens","getViewNode","paragraph","getBlockquoteNode","blockquote","depth","getCodeBlockNode","code","em","hr","li","items","item","children","cItem","childTokens","listChildren","getListNode","ordered","list","filter","element","linkStyle","link","getTextLinkNode","getImageNode","boldStyle","strong","italicStyle","codespan","strikethroughStyle","strikethrough","raw","console","warn"],"sourceRoot":"../../src","sources":["Parser.tsx"],"mappings":";;AAGA,OAAOA,QAAP,MAAqB,YAArB;;AAIA,MAAMC,MAAN,CAAa;EAIXC,WAAW,CAACC,OAAD,EAAyB;IAAA;;IAAA;;IAAA;;IAAA,
|
|
1
|
+
{"version":3,"names":["Renderer","Parser","constructor","options","tokens","textStyle","tokenRenderQueue","siblingNodes","forEach","t","type","parsed","parseInline","length","push","renderer","getTextNode","imageToken","getImageLinkNode","href","text","title","styles","image","headingStylesMap","h1","h2","h3","h4","h5","h6","parse","elements","map","token","paragraphChildren","getNormalizedSiblingNodesForBlockAndInlineTokens","getViewNode","paragraph","getBlockquoteNode","blockquote","depth","getCodeBlockNode","code","em","hr","li","items","item","children","cItem","childTokens","listChildren","getListNode","ordered","list","filter","element","linkStyle","link","getTextLinkNode","getImageNode","boldStyle","strong","italicStyle","codespan","strikethroughStyle","strikethrough","raw","console","warn"],"sourceRoot":"../../src","sources":["Parser.tsx"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["colors","light","background","code","link","text","border","dark"],"sourceRoot":"../../src","sources":["colors.ts"],"mappings":"
|
|
1
|
+
{"version":3,"names":["colors","light","background","code","link","text","border","dark"],"sourceRoot":"../../src","sources":["colors.ts"],"mappings":"AAGA,MAAMA,MAAgD,GAAG;EACvDC,KAAK,EAAE;IACLC,UAAU,EAAE,SADP;IAELC,IAAI,EAAE,SAFD;IAGLC,IAAI,EAAE,SAHD;IAILC,IAAI,EAAE,SAJD;IAKLC,MAAM,EAAE;EALH,CADgD;EAQvDC,IAAI,EAAE;IACJL,UAAU,EAAE,SADR;IAEJC,IAAI,EAAE,SAFF;IAGJC,IAAI,EAAE,SAHF;IAIJC,IAAI,EAAE,SAJF;IAKJC,MAAM,EAAE;EALJ;AARiD,CAAzD;AAiBA,eAAeN,MAAf"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["padding","xs","s","m","l"],"sourceRoot":"../../src","sources":["spacing.ts"],"mappings":"AAEA,MAAMA,OAAwC,GAAG;EAC/CC,EAAE,EAAE,CAD2C;EAE/CC,CAAC,EAAE,CAF4C;EAG/CC,CAAC,EAAE,CAH4C;EAI/CC,CAAC,EAAE;AAJ4C,CAAjD;AAOA,eAAeJ,OAAf"}
|
|
@@ -1,26 +1,32 @@
|
|
|
1
1
|
import { StyleSheet } from 'react-native';
|
|
2
|
-
import
|
|
2
|
+
import spacing from './spacing';
|
|
3
|
+
import colors from './colors';
|
|
3
4
|
|
|
4
|
-
const getFontStyles =
|
|
5
|
+
const getFontStyles = mdColors => {
|
|
5
6
|
return StyleSheet.create({
|
|
6
7
|
regular: {
|
|
7
8
|
fontSize: 16,
|
|
8
9
|
lineHeight: 24,
|
|
9
|
-
color:
|
|
10
|
+
color: mdColors.text
|
|
10
11
|
},
|
|
11
12
|
heading: {
|
|
12
13
|
fontWeight: '500',
|
|
13
|
-
color:
|
|
14
|
+
color: mdColors.text
|
|
14
15
|
}
|
|
15
16
|
});
|
|
16
17
|
};
|
|
17
18
|
|
|
18
|
-
const getStyles = (userStyles, colorScheme) => {
|
|
19
|
-
const
|
|
20
|
-
|
|
19
|
+
const getStyles = (userStyles, colorScheme, userTheme) => {
|
|
20
|
+
const mdColors = { ...colors[colorScheme || 'light'],
|
|
21
|
+
...(userTheme === null || userTheme === void 0 ? void 0 : userTheme.colors)
|
|
22
|
+
};
|
|
23
|
+
const mdSpacing = { ...spacing,
|
|
24
|
+
...(userTheme === null || userTheme === void 0 ? void 0 : userTheme.spacing)
|
|
25
|
+
};
|
|
26
|
+
const fontStyle = getFontStyles(mdColors);
|
|
21
27
|
const defaultStyles = StyleSheet.create({
|
|
22
28
|
container: {
|
|
23
|
-
backgroundColor:
|
|
29
|
+
backgroundColor: mdColors.background
|
|
24
30
|
},
|
|
25
31
|
em: { ...fontStyle.regular,
|
|
26
32
|
fontStyle: 'italic'
|
|
@@ -35,69 +41,69 @@ const getStyles = (userStyles, colorScheme) => {
|
|
|
35
41
|
text: { ...fontStyle.regular
|
|
36
42
|
},
|
|
37
43
|
paragraph: { ...fontStyle.regular,
|
|
38
|
-
paddingVertical:
|
|
44
|
+
paddingVertical: mdSpacing.m
|
|
39
45
|
},
|
|
40
46
|
link: { ...fontStyle.regular,
|
|
41
47
|
fontStyle: 'italic',
|
|
42
|
-
color:
|
|
48
|
+
color: mdColors.link
|
|
43
49
|
},
|
|
44
50
|
blockquote: {
|
|
45
|
-
borderLeftColor:
|
|
46
|
-
paddingLeft:
|
|
47
|
-
borderLeftWidth:
|
|
51
|
+
borderLeftColor: mdColors.border,
|
|
52
|
+
paddingLeft: mdSpacing.l,
|
|
53
|
+
borderLeftWidth: mdSpacing.s,
|
|
48
54
|
opacity: 0.8
|
|
49
55
|
},
|
|
50
56
|
h1: {
|
|
51
57
|
fontSize: 32,
|
|
52
58
|
lineHeight: 40,
|
|
53
59
|
fontWeight: 'bold',
|
|
54
|
-
marginVertical:
|
|
60
|
+
marginVertical: mdSpacing.m,
|
|
55
61
|
letterSpacing: 0,
|
|
56
|
-
paddingBottom:
|
|
57
|
-
borderBottomColor:
|
|
62
|
+
paddingBottom: mdSpacing.s,
|
|
63
|
+
borderBottomColor: mdColors.border,
|
|
58
64
|
borderBottomWidth: 1
|
|
59
65
|
},
|
|
60
66
|
h2: { ...fontStyle.heading,
|
|
61
67
|
fontSize: 28,
|
|
62
68
|
lineHeight: 36,
|
|
63
|
-
marginVertical:
|
|
64
|
-
paddingBottom:
|
|
65
|
-
borderBottomColor:
|
|
69
|
+
marginVertical: mdSpacing.m,
|
|
70
|
+
paddingBottom: mdSpacing.s,
|
|
71
|
+
borderBottomColor: mdColors.border,
|
|
66
72
|
borderBottomWidth: 1
|
|
67
73
|
},
|
|
68
74
|
h3: { ...fontStyle.heading,
|
|
69
75
|
fontSize: 24,
|
|
70
76
|
lineHeight: 32,
|
|
71
|
-
marginVertical:
|
|
77
|
+
marginVertical: mdSpacing.s
|
|
72
78
|
},
|
|
73
79
|
h4: { ...fontStyle.heading,
|
|
74
80
|
fontSize: 22,
|
|
75
81
|
lineHeight: 28,
|
|
76
|
-
marginVertical:
|
|
82
|
+
marginVertical: mdSpacing.s
|
|
77
83
|
},
|
|
78
84
|
h5: { ...fontStyle.regular,
|
|
79
85
|
...fontStyle.heading,
|
|
80
|
-
marginVertical:
|
|
86
|
+
marginVertical: mdSpacing.xs
|
|
81
87
|
},
|
|
82
88
|
h6: { ...fontStyle.heading,
|
|
83
89
|
fontSize: 14,
|
|
84
90
|
lineHeight: 20,
|
|
85
|
-
marginVertical:
|
|
91
|
+
marginVertical: mdSpacing.xs
|
|
86
92
|
},
|
|
87
93
|
codespan: { ...fontStyle.regular,
|
|
88
94
|
fontStyle: 'italic',
|
|
89
|
-
backgroundColor:
|
|
95
|
+
backgroundColor: mdColors.code,
|
|
90
96
|
fontWeight: '300'
|
|
91
97
|
},
|
|
92
98
|
code: {
|
|
93
|
-
padding:
|
|
94
|
-
backgroundColor:
|
|
99
|
+
padding: mdSpacing.l,
|
|
100
|
+
backgroundColor: mdColors.code,
|
|
95
101
|
minWidth: '100%'
|
|
96
102
|
},
|
|
97
103
|
hr: {
|
|
98
104
|
borderBottomWidth: 1,
|
|
99
|
-
borderBottomColor:
|
|
100
|
-
marginVertical:
|
|
105
|
+
borderBottomColor: mdColors.border,
|
|
106
|
+
marginVertical: mdSpacing.s
|
|
101
107
|
},
|
|
102
108
|
li: { ...fontStyle.regular,
|
|
103
109
|
flexShrink: 1
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["StyleSheet","
|
|
1
|
+
{"version":3,"names":["StyleSheet","spacing","colors","getFontStyles","mdColors","create","regular","fontSize","lineHeight","color","text","heading","fontWeight","getStyles","userStyles","colorScheme","userTheme","mdSpacing","fontStyle","defaultStyles","container","backgroundColor","background","em","strong","strikethrough","textDecorationLine","textDecorationStyle","paragraph","paddingVertical","m","link","blockquote","borderLeftColor","border","paddingLeft","l","borderLeftWidth","s","opacity","h1","marginVertical","letterSpacing","paddingBottom","borderBottomColor","borderBottomWidth","h2","h3","h4","h5","xs","h6","codespan","code","padding","minWidth","hr","li","flexShrink","image","resizeMode"],"sourceRoot":"../../src","sources":["styles.ts"],"mappings":"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"}
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
import { Linking } from 'react-native';
|
|
2
2
|
export const onLinkPress = url => () => {
|
|
3
|
-
|
|
4
|
-
Linking.openURL(url);
|
|
5
|
-
} catch (e) {
|
|
3
|
+
Linking.openURL(url).then(() => null).catch(e => {
|
|
6
4
|
console.warn("URL can't be opened", e);
|
|
7
|
-
}
|
|
5
|
+
});
|
|
8
6
|
};
|
|
9
7
|
//# sourceMappingURL=handlers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Linking","onLinkPress","url","openURL","e","console","warn"],"sourceRoot":"../../src","sources":["handlers.ts"],"mappings":"AAAA,SAASA,OAAT,QAAwB,cAAxB;AAEA,OAAO,MAAMC,WAAW,GAAIC,GAAD,IAAiB,MAAM;
|
|
1
|
+
{"version":3,"names":["Linking","onLinkPress","url","openURL","then","catch","e","console","warn"],"sourceRoot":"../../src","sources":["handlers.ts"],"mappings":"AAAA,SAASA,OAAT,QAAwB,cAAxB;AAEA,OAAO,MAAMC,WAAW,GAAIC,GAAD,IAAiB,MAAM;EAChDF,OAAO,CAACG,OAAR,CAAgBD,GAAhB,EACGE,IADH,CACQ,MAAM,IADd,EAEGC,KAFH,CAEUC,CAAD,IAAO;IACZC,OAAO,CAACC,IAAR,CAAa,qBAAb,EAAoCF,CAApC;EACD,CAJH;AAKD,CANM"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { MarkdownProps } from './types';
|
|
3
|
-
declare const _default: React.MemoExoticComponent<({ value, flatListProps, styles: userStyles, }: MarkdownProps) => JSX.Element>;
|
|
3
|
+
declare const _default: React.MemoExoticComponent<({ value, flatListProps, theme, styles: userStyles, }: MarkdownProps) => JSX.Element>;
|
|
4
4
|
export default _default;
|
|
5
5
|
//# sourceMappingURL=Markdown.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Markdown.d.ts","sourceRoot":"","sources":["../../../src/lib/Markdown.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAgD,MAAM,OAAO,CAAC;AAKrE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;;
|
|
1
|
+
{"version":3,"file":"Markdown.d.ts","sourceRoot":"","sources":["../../../src/lib/Markdown.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAgD,MAAM,OAAO,CAAC;AAKrE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;;AAiD7C,wBAA8B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Parser.d.ts","sourceRoot":"","sources":["../../../src/lib/Parser.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACrE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGrC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C,cAAM,MAAM;IACV,OAAO,CAAC,QAAQ,CAAC;IACjB,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,gBAAgB,CAAwC;gBACpD,OAAO,EAAE,aAAa;IAalC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE;IA0E5B,WAAW,CACT,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,EACtB,MAAM,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,UAAU;
|
|
1
|
+
{"version":3,"file":"Parser.d.ts","sourceRoot":"","sources":["../../../src/lib/Parser.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACrE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGrC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C,cAAM,MAAM;IACV,OAAO,CAAC,QAAQ,CAAC;IACjB,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,gBAAgB,CAAwC;gBACpD,OAAO,EAAE,aAAa;IAalC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE;IA0E5B,WAAW,CACT,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,EACtB,MAAM,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,UAAU;IAqF7C,OAAO,CAAC,gDAAgD,CAsDtD;CACH;AAED,eAAe,MAAM,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { ReactNode } from 'react';
|
|
2
2
|
import type { FlatListProps } from 'react-native';
|
|
3
|
-
import type { MarkedStyles } from './../theme/types';
|
|
3
|
+
import type { MarkedStyles, UserTheme } from './../theme/types';
|
|
4
4
|
export interface ParserOptions {
|
|
5
5
|
styles?: MarkedStyles;
|
|
6
6
|
}
|
|
@@ -8,5 +8,6 @@ export interface MarkdownProps {
|
|
|
8
8
|
value: string;
|
|
9
9
|
flatListProps?: Omit<FlatListProps<ReactNode>, 'data' | 'renderItem' | 'horizontal'>;
|
|
10
10
|
styles?: MarkedStyles;
|
|
11
|
+
theme?: UserTheme;
|
|
11
12
|
}
|
|
12
13
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lib/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lib/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAEhE,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,IAAI,CAClB,aAAa,CAAC,SAAS,CAAC,EACxB,MAAM,GAAG,YAAY,GAAG,YAAY,CACrC,CAAC;IACF,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
declare
|
|
1
|
+
export declare type ColorKeysType = 'background' | 'code' | 'link' | 'text' | 'border';
|
|
2
|
+
export declare type ColorsPropType = Record<ColorKeysType, string>;
|
|
3
|
+
declare const colors: Record<'light' | 'dark', ColorsPropType>;
|
|
3
4
|
export default colors;
|
|
4
5
|
//# sourceMappingURL=colors.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"colors.d.ts","sourceRoot":"","sources":["../../../src/theme/colors.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"colors.d.ts","sourceRoot":"","sources":["../../../src/theme/colors.ts"],"names":[],"mappings":"AAAA,oBAAY,aAAa,GAAG,YAAY,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;AAC/E,oBAAY,cAAc,GAAG,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;AAE3D,QAAA,MAAM,MAAM,EAAE,MAAM,CAAC,OAAO,GAAG,MAAM,EAAE,cAAc,CAepD,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spacing.d.ts","sourceRoot":"","sources":["../../../src/theme/spacing.ts"],"names":[],"mappings":"AAAA,oBAAY,eAAe,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;AAErD,QAAA,MAAM,OAAO,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,CAK5C,CAAC;AAEF,eAAe,OAAO,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ColorSchemeName } from 'react-native';
|
|
2
|
-
import type { MarkedStyles } from './types';
|
|
3
|
-
declare const getStyles: (userStyles?: MarkedStyles, colorScheme?: ColorSchemeName) => MarkedStyles;
|
|
2
|
+
import type { MarkedStyles, UserTheme } from './types';
|
|
3
|
+
declare const getStyles: (userStyles?: MarkedStyles, colorScheme?: ColorSchemeName, userTheme?: UserTheme) => MarkedStyles;
|
|
4
4
|
export default getStyles;
|
|
5
5
|
//# sourceMappingURL=styles.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../src/theme/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAc,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../src/theme/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAc,MAAM,cAAc,CAAC;AAG3D,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAgBvD,QAAA,MAAM,SAAS,gBACA,YAAY,gBACX,eAAe,cACjB,SAAS,KACpB,YA+GF,CAAC;AAEF,eAAe,SAAS,CAAC"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import type { ImageStyle, TextStyle, ViewStyle } from 'react-native';
|
|
2
|
+
import type { ColorKeysType } from './colors';
|
|
3
|
+
import type { SpacingKeysType } from './spacing';
|
|
2
4
|
export interface MarkedStyles {
|
|
3
5
|
container?: ViewStyle;
|
|
4
6
|
em?: TextStyle;
|
|
@@ -21,8 +23,8 @@ export interface MarkedStyles {
|
|
|
21
23
|
li?: TextStyle;
|
|
22
24
|
image?: ImageStyle;
|
|
23
25
|
}
|
|
24
|
-
export
|
|
25
|
-
|
|
26
|
-
|
|
26
|
+
export interface UserTheme {
|
|
27
|
+
colors?: Record<ColorKeysType, string>;
|
|
28
|
+
spacing?: Record<SpacingKeysType, number>;
|
|
27
29
|
}
|
|
28
30
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/theme/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/theme/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACrE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAEjD,MAAM,WAAW,YAAY;IAC3B,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,EAAE,CAAC,EAAE,SAAS,CAAC;IACf,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,EAAE,CAAC,EAAE,SAAS,CAAC;IACf,EAAE,CAAC,EAAE,SAAS,CAAC;IACf,EAAE,CAAC,EAAE,SAAS,CAAC;IACf,EAAE,CAAC,EAAE,SAAS,CAAC;IACf,EAAE,CAAC,EAAE,SAAS,CAAC;IACf,EAAE,CAAC,EAAE,SAAS,CAAC;IACf,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,EAAE,CAAC,EAAE,SAAS,CAAC;IACf,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,EAAE,CAAC,EAAE,SAAS,CAAC;IACf,KAAK,CAAC,EAAE,UAAU,CAAC;CACpB;AAED,MAAM,WAAW,SAAS;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IACvC,OAAO,CAAC,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;CAC3C"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-marked",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.5.0",
|
|
4
4
|
"description": "Markdown renderer for React Native powered by marked.js",
|
|
5
5
|
"main": "dist/commonjs/index",
|
|
6
6
|
"module": "dist/module/index",
|
|
@@ -46,14 +46,14 @@
|
|
|
46
46
|
"registry": "https://registry.npmjs.org/"
|
|
47
47
|
},
|
|
48
48
|
"devDependencies": {
|
|
49
|
-
"@babel/core": "7.19.
|
|
49
|
+
"@babel/core": "7.19.6",
|
|
50
50
|
"@babel/eslint-parser": "7.19.1",
|
|
51
51
|
"@babel/preset-env": "7.19.4",
|
|
52
52
|
"@commitlint/config-conventional": "17.1.0",
|
|
53
53
|
"@evilmartians/lefthook": "1.1.3",
|
|
54
54
|
"@react-native-community/eslint-config": "3.1.0",
|
|
55
55
|
"@release-it/conventional-changelog": "5.1.1",
|
|
56
|
-
"@testing-library/jest-native": "5.
|
|
56
|
+
"@testing-library/jest-native": "5.1.2",
|
|
57
57
|
"@testing-library/react-native": "11.3.0",
|
|
58
58
|
"@types/jest": "29.2.0",
|
|
59
59
|
"@types/marked": "4.0.7",
|
|
@@ -62,13 +62,14 @@
|
|
|
62
62
|
"@typescript-eslint/eslint-plugin": "5.40.1",
|
|
63
63
|
"@typescript-eslint/parser": "5.40.1",
|
|
64
64
|
"commitlint": "17.1.2",
|
|
65
|
-
"eslint": "8.
|
|
65
|
+
"eslint": "8.26.0",
|
|
66
66
|
"eslint-config-prettier": "8.5.0",
|
|
67
67
|
"eslint-plugin-jest": "27.1.3",
|
|
68
68
|
"eslint-plugin-prettier": "4.2.1",
|
|
69
|
-
"eslint-plugin-react-native-a11y": "3.
|
|
69
|
+
"eslint-plugin-react-native-a11y": "3.3.0",
|
|
70
70
|
"jest": "29.2.1",
|
|
71
71
|
"jest-environment-jsdom": "29.2.1",
|
|
72
|
+
"metro-react-native-babel-preset": "0.73.2",
|
|
72
73
|
"pod-install": "0.1.38",
|
|
73
74
|
"prettier": "2.7.1",
|
|
74
75
|
"react": "18.2.0",
|
package/src/lib/Markdown.tsx
CHANGED
|
@@ -8,12 +8,13 @@ import type { MarkdownProps } from './types';
|
|
|
8
8
|
const Markdown = ({
|
|
9
9
|
value,
|
|
10
10
|
flatListProps,
|
|
11
|
+
theme,
|
|
11
12
|
styles: userStyles,
|
|
12
13
|
}: MarkdownProps) => {
|
|
13
|
-
const
|
|
14
|
+
const colorScheme = useColorScheme();
|
|
14
15
|
const styles = useMemo(
|
|
15
|
-
() => getStyles(userStyles,
|
|
16
|
-
[userStyles,
|
|
16
|
+
() => getStyles(userStyles, colorScheme, theme),
|
|
17
|
+
[userStyles, colorScheme, theme]
|
|
17
18
|
);
|
|
18
19
|
|
|
19
20
|
const rnElements = useMemo(() => {
|
package/src/lib/Parser.tsx
CHANGED
|
@@ -47,7 +47,7 @@ class Parser {
|
|
|
47
47
|
);
|
|
48
48
|
}
|
|
49
49
|
case 'heading': {
|
|
50
|
-
const styles = this.headingStylesMap[token.depth]
|
|
50
|
+
const styles = this.headingStylesMap[token.depth];
|
|
51
51
|
return this.renderer.getTextNode(
|
|
52
52
|
this.parseInline(token.tokens, styles),
|
|
53
53
|
styles
|
|
@@ -101,8 +101,6 @@ class Parser {
|
|
|
101
101
|
styles?: ViewStyle | TextStyle | ImageStyle
|
|
102
102
|
) {
|
|
103
103
|
const elements: ReactNode[] = tokens.map((token) => {
|
|
104
|
-
if (!token) return null;
|
|
105
|
-
|
|
106
104
|
switch (token.type) {
|
|
107
105
|
case 'escape': {
|
|
108
106
|
return this.renderer.getTextNode(token.text, {
|
package/src/lib/types.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { ReactNode } from 'react';
|
|
2
2
|
import type { FlatListProps } from 'react-native';
|
|
3
|
-
import type { MarkedStyles } from './../theme/types';
|
|
3
|
+
import type { MarkedStyles, UserTheme } from './../theme/types';
|
|
4
4
|
|
|
5
5
|
export interface ParserOptions {
|
|
6
6
|
styles?: MarkedStyles;
|
|
@@ -13,4 +13,5 @@ export interface MarkdownProps {
|
|
|
13
13
|
'data' | 'renderItem' | 'horizontal'
|
|
14
14
|
>;
|
|
15
15
|
styles?: MarkedStyles;
|
|
16
|
+
theme?: UserTheme;
|
|
16
17
|
}
|
package/src/theme/colors.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
export type ColorKeysType = 'background' | 'code' | 'link' | 'text' | 'border';
|
|
2
|
+
export type ColorsPropType = Record<ColorKeysType, string>;
|
|
2
3
|
|
|
3
|
-
const colors: Record<'light' | 'dark',
|
|
4
|
+
const colors: Record<'light' | 'dark', ColorsPropType> = {
|
|
4
5
|
light: {
|
|
5
6
|
background: '#ffffff',
|
|
6
7
|
code: '#f6f8fa',
|
package/src/theme/styles.ts
CHANGED
|
@@ -1,30 +1,34 @@
|
|
|
1
1
|
import { ColorSchemeName, StyleSheet } from 'react-native';
|
|
2
|
-
import
|
|
3
|
-
import
|
|
2
|
+
import spacing from './spacing';
|
|
3
|
+
import colors, { type ColorsPropType } from './colors';
|
|
4
|
+
import type { MarkedStyles, UserTheme } from './types';
|
|
4
5
|
|
|
5
|
-
const getFontStyles = (
|
|
6
|
+
const getFontStyles = (mdColors: ColorsPropType) => {
|
|
6
7
|
return StyleSheet.create({
|
|
7
8
|
regular: {
|
|
8
9
|
fontSize: 16,
|
|
9
10
|
lineHeight: 24,
|
|
10
|
-
color:
|
|
11
|
+
color: mdColors.text,
|
|
11
12
|
},
|
|
12
13
|
heading: {
|
|
13
14
|
fontWeight: '500',
|
|
14
|
-
color:
|
|
15
|
+
color: mdColors.text,
|
|
15
16
|
},
|
|
16
17
|
});
|
|
17
18
|
};
|
|
18
19
|
|
|
19
20
|
const getStyles = (
|
|
20
21
|
userStyles?: MarkedStyles,
|
|
21
|
-
colorScheme?: ColorSchemeName
|
|
22
|
+
colorScheme?: ColorSchemeName,
|
|
23
|
+
userTheme?: UserTheme
|
|
22
24
|
): MarkedStyles => {
|
|
23
|
-
const
|
|
24
|
-
const
|
|
25
|
+
const mdColors = { ...colors[colorScheme || 'light'], ...userTheme?.colors };
|
|
26
|
+
const mdSpacing = { ...spacing, ...userTheme?.spacing };
|
|
27
|
+
|
|
28
|
+
const fontStyle = getFontStyles(mdColors);
|
|
25
29
|
const defaultStyles = StyleSheet.create<MarkedStyles>({
|
|
26
30
|
container: {
|
|
27
|
-
backgroundColor:
|
|
31
|
+
backgroundColor: mdColors.background,
|
|
28
32
|
},
|
|
29
33
|
em: {
|
|
30
34
|
...fontStyle.regular,
|
|
@@ -44,76 +48,76 @@ const getStyles = (
|
|
|
44
48
|
},
|
|
45
49
|
paragraph: {
|
|
46
50
|
...fontStyle.regular,
|
|
47
|
-
paddingVertical:
|
|
51
|
+
paddingVertical: mdSpacing.m,
|
|
48
52
|
},
|
|
49
53
|
link: {
|
|
50
54
|
...fontStyle.regular,
|
|
51
55
|
fontStyle: 'italic',
|
|
52
|
-
color:
|
|
56
|
+
color: mdColors.link,
|
|
53
57
|
},
|
|
54
58
|
blockquote: {
|
|
55
|
-
borderLeftColor:
|
|
56
|
-
paddingLeft:
|
|
57
|
-
borderLeftWidth:
|
|
59
|
+
borderLeftColor: mdColors.border,
|
|
60
|
+
paddingLeft: mdSpacing.l,
|
|
61
|
+
borderLeftWidth: mdSpacing.s,
|
|
58
62
|
opacity: 0.8,
|
|
59
63
|
},
|
|
60
64
|
h1: {
|
|
61
65
|
fontSize: 32,
|
|
62
66
|
lineHeight: 40,
|
|
63
67
|
fontWeight: 'bold',
|
|
64
|
-
marginVertical:
|
|
68
|
+
marginVertical: mdSpacing.m,
|
|
65
69
|
letterSpacing: 0,
|
|
66
|
-
paddingBottom:
|
|
67
|
-
borderBottomColor:
|
|
70
|
+
paddingBottom: mdSpacing.s,
|
|
71
|
+
borderBottomColor: mdColors.border,
|
|
68
72
|
borderBottomWidth: 1,
|
|
69
73
|
},
|
|
70
74
|
h2: {
|
|
71
75
|
...fontStyle.heading,
|
|
72
76
|
fontSize: 28,
|
|
73
77
|
lineHeight: 36,
|
|
74
|
-
marginVertical:
|
|
75
|
-
paddingBottom:
|
|
76
|
-
borderBottomColor:
|
|
78
|
+
marginVertical: mdSpacing.m,
|
|
79
|
+
paddingBottom: mdSpacing.s,
|
|
80
|
+
borderBottomColor: mdColors.border,
|
|
77
81
|
borderBottomWidth: 1,
|
|
78
82
|
},
|
|
79
83
|
h3: {
|
|
80
84
|
...fontStyle.heading,
|
|
81
85
|
fontSize: 24,
|
|
82
86
|
lineHeight: 32,
|
|
83
|
-
marginVertical:
|
|
87
|
+
marginVertical: mdSpacing.s,
|
|
84
88
|
},
|
|
85
89
|
h4: {
|
|
86
90
|
...fontStyle.heading,
|
|
87
91
|
fontSize: 22,
|
|
88
92
|
lineHeight: 28,
|
|
89
|
-
marginVertical:
|
|
93
|
+
marginVertical: mdSpacing.s,
|
|
90
94
|
},
|
|
91
95
|
h5: {
|
|
92
96
|
...fontStyle.regular,
|
|
93
97
|
...fontStyle.heading,
|
|
94
|
-
marginVertical:
|
|
98
|
+
marginVertical: mdSpacing.xs,
|
|
95
99
|
},
|
|
96
100
|
h6: {
|
|
97
101
|
...fontStyle.heading,
|
|
98
102
|
fontSize: 14,
|
|
99
103
|
lineHeight: 20,
|
|
100
|
-
marginVertical:
|
|
104
|
+
marginVertical: mdSpacing.xs,
|
|
101
105
|
},
|
|
102
106
|
codespan: {
|
|
103
107
|
...fontStyle.regular,
|
|
104
108
|
fontStyle: 'italic',
|
|
105
|
-
backgroundColor:
|
|
109
|
+
backgroundColor: mdColors.code,
|
|
106
110
|
fontWeight: '300',
|
|
107
111
|
},
|
|
108
112
|
code: {
|
|
109
|
-
padding:
|
|
110
|
-
backgroundColor:
|
|
113
|
+
padding: mdSpacing.l,
|
|
114
|
+
backgroundColor: mdColors.code,
|
|
111
115
|
minWidth: '100%',
|
|
112
116
|
},
|
|
113
117
|
hr: {
|
|
114
118
|
borderBottomWidth: 1,
|
|
115
|
-
borderBottomColor:
|
|
116
|
-
marginVertical:
|
|
119
|
+
borderBottomColor: mdColors.border,
|
|
120
|
+
marginVertical: mdSpacing.s,
|
|
117
121
|
},
|
|
118
122
|
li: {
|
|
119
123
|
...fontStyle.regular,
|
package/src/theme/types.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import type { ImageStyle, TextStyle, ViewStyle } from 'react-native';
|
|
2
|
+
import type { ColorKeysType } from './colors';
|
|
3
|
+
import type { SpacingKeysType } from './spacing';
|
|
2
4
|
|
|
3
5
|
export interface MarkedStyles {
|
|
4
6
|
container?: ViewStyle;
|
|
@@ -23,8 +25,7 @@ export interface MarkedStyles {
|
|
|
23
25
|
image?: ImageStyle;
|
|
24
26
|
}
|
|
25
27
|
|
|
26
|
-
export
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
colors: Record<ColorKeys, string>;
|
|
28
|
+
export interface UserTheme {
|
|
29
|
+
colors?: Record<ColorKeysType, string>;
|
|
30
|
+
spacing?: Record<SpacingKeysType, number>;
|
|
30
31
|
}
|
package/src/utils/handlers.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { Linking } from 'react-native';
|
|
2
2
|
|
|
3
3
|
export const onLinkPress = (url: string) => () => {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
Linking.openURL(url)
|
|
5
|
+
.then(() => null)
|
|
6
|
+
.catch((e) => {
|
|
7
|
+
console.warn("URL can't be opened", e);
|
|
8
|
+
});
|
|
9
9
|
};
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.getTheme = void 0;
|
|
7
|
-
|
|
8
|
-
var _colors = _interopRequireDefault(require("./colors"));
|
|
9
|
-
|
|
10
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
|
-
|
|
12
|
-
const getTheme = theme => {
|
|
13
|
-
return {
|
|
14
|
-
colors: _colors.default[theme || 'light']
|
|
15
|
-
};
|
|
16
|
-
};
|
|
17
|
-
|
|
18
|
-
exports.getTheme = getTheme;
|
|
19
|
-
//# sourceMappingURL=theme.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["getTheme","theme","colors"],"sourceRoot":"../../src","sources":["theme.ts"],"mappings":";;;;;;;AACA;;;;AAGO,MAAMA,QAAQ,GAAIC,KAAD,IAAmC;EACzD,OAAO;IACLC,MAAM,EAAEA,eAAA,CAAOD,KAAK,IAAI,OAAhB;EADH,CAAP;AAGD,CAJM"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["colors","getTheme","theme"],"sourceRoot":"../../src","sources":["theme.ts"],"mappings":"AACA,OAAOA,MAAP,MAAmB,UAAnB;AAGA,OAAO,MAAMC,QAAQ,GAAIC,KAAD,IAAmC;EACzD,OAAO;IACLF,MAAM,EAAEA,MAAM,CAACE,KAAK,IAAI,OAAV;EADT,CAAP;AAGD,CAJM"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../../src/theme/theme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAErC,eAAO,MAAM,QAAQ,UAAW,eAAe,KAAG,KAIjD,CAAC"}
|
package/src/theme/theme.ts
DELETED