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.
Files changed (52) hide show
  1. package/README.md +6 -6
  2. package/dist/commonjs/lib/Markdown.js +3 -2
  3. package/dist/commonjs/lib/Markdown.js.map +1 -1
  4. package/dist/commonjs/lib/Parser.js +1 -3
  5. package/dist/commonjs/lib/Parser.js.map +1 -1
  6. package/dist/commonjs/theme/colors.js.map +1 -1
  7. package/dist/commonjs/theme/spacing.js +15 -0
  8. package/dist/commonjs/theme/spacing.js.map +1 -0
  9. package/dist/commonjs/theme/styles.js +37 -28
  10. package/dist/commonjs/theme/styles.js.map +1 -1
  11. package/dist/commonjs/utils/handlers.js +2 -4
  12. package/dist/commonjs/utils/handlers.js.map +1 -1
  13. package/dist/module/lib/Markdown.js +3 -2
  14. package/dist/module/lib/Markdown.js.map +1 -1
  15. package/dist/module/lib/Parser.js +1 -3
  16. package/dist/module/lib/Parser.js.map +1 -1
  17. package/dist/module/theme/colors.js.map +1 -1
  18. package/dist/module/theme/spacing.js +8 -0
  19. package/dist/module/theme/spacing.js.map +1 -0
  20. package/dist/module/theme/styles.js +34 -28
  21. package/dist/module/theme/styles.js.map +1 -1
  22. package/dist/module/utils/handlers.js +2 -4
  23. package/dist/module/utils/handlers.js.map +1 -1
  24. package/dist/typescript/lib/Markdown.d.ts +1 -1
  25. package/dist/typescript/lib/Markdown.d.ts.map +1 -1
  26. package/dist/typescript/lib/Parser.d.ts.map +1 -1
  27. package/dist/typescript/lib/types.d.ts +2 -1
  28. package/dist/typescript/lib/types.d.ts.map +1 -1
  29. package/dist/typescript/theme/colors.d.ts +3 -2
  30. package/dist/typescript/theme/colors.d.ts.map +1 -1
  31. package/dist/typescript/theme/spacing.d.ts +4 -0
  32. package/dist/typescript/theme/spacing.d.ts.map +1 -0
  33. package/dist/typescript/theme/styles.d.ts +2 -2
  34. package/dist/typescript/theme/styles.d.ts.map +1 -1
  35. package/dist/typescript/theme/types.d.ts +5 -3
  36. package/dist/typescript/theme/types.d.ts.map +1 -1
  37. package/package.json +6 -5
  38. package/src/lib/Markdown.tsx +4 -3
  39. package/src/lib/Parser.tsx +1 -3
  40. package/src/lib/types.ts +2 -1
  41. package/src/theme/colors.ts +3 -2
  42. package/src/theme/spacing.ts +10 -0
  43. package/src/theme/styles.ts +33 -29
  44. package/src/theme/types.ts +5 -4
  45. package/src/utils/handlers.ts +5 -5
  46. package/dist/commonjs/theme/theme.js +0 -19
  47. package/dist/commonjs/theme/theme.js.map +0 -1
  48. package/dist/module/theme/theme.js +0 -7
  49. package/dist/module/theme/theme.js.map +0 -1
  50. package/dist/typescript/theme/theme.d.ts +0 -4
  51. package/dist/typescript/theme/theme.d.ts.map +0 -1
  52. 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 | 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 |
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 systemTheme = (0, _reactNative.useColorScheme)();
33
- const styles = (0, _react.useMemo)(() => (0, _styles.default)(userStyles, systemTheme), [userStyles, systemTheme]);
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","systemTheme","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,QAII;EAAA,IAJH;IAChBC,KADgB;IAEhBC,aAFgB;IAGhBC,MAAM,EAAEC;EAHQ,CAIG;EACnB,MAAMC,WAAW,GAAG,IAAAC,2BAAA,GAApB;EACA,MAAMH,MAAM,GAAG,IAAAI,cAAA,EACb,MAAM,IAAAC,eAAA,EAAUJ,UAAV,EAAsBC,WAAtB,CADO,EAEb,CAACD,UAAD,EAAaC,WAAb,CAFa,CAAf;EAKA,MAAMI,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,CAAab,KAAb,EAAoB;MACjCc,MAAM,EAAE,KADyB;MAEjCC,GAAG,EAAE;IAF4B,CAApB,CAAf;;IAKA,OAAON,MAAM,CAACO,KAAP,CAAaL,MAAb,CAAP;EACD,CAVkB,EAUhB,CAACX,KAAD,EAAQE,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,GAMMvB,aANN;IAOE,IAAI,EAAEO,UAPR;IAQE,UAAU,EAAES;EARd,GADF;AAYD,CA5CD;;4BA8Ce,IAAAQ,WAAA,EAAK1B,QAAL,C"}
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] ?? this.styles.text;
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":"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"}
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":";;;;;;AAEA,MAAMA,MAA2D,GAAG;EAClEC,KAAK,EAAE;IACLC,UAAU,EAAE,SADP;IAELC,IAAI,EAAE,SAFD;IAGLC,IAAI,EAAE,SAHD;IAILC,IAAI,EAAE,SAJD;IAKLC,MAAM,EAAE;EALH,CAD2D;EAQlEC,IAAI,EAAE;IACJL,UAAU,EAAE,SADR;IAEJC,IAAI,EAAE,SAFF;IAGJC,IAAI,EAAE,SAHF;IAIJC,IAAI,EAAE,SAJF;IAKJC,MAAM,EAAE;EALJ;AAR4D,CAApE;eAiBeN,M"}
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 _theme = require("./theme");
10
+ var _spacing = _interopRequireDefault(require("./spacing"));
11
11
 
12
- const getFontStyles = theme => {
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: theme.colors.text
21
+ color: mdColors.text
18
22
  },
19
23
  heading: {
20
24
  fontWeight: '500',
21
- color: theme.colors.text
25
+ color: mdColors.text
22
26
  }
23
27
  });
24
28
  };
25
29
 
26
- const getStyles = (userStyles, colorScheme) => {
27
- const theme = (0, _theme.getTheme)(colorScheme || 'light');
28
- const fontStyle = getFontStyles(theme);
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: theme.colors.background
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: 8
56
+ paddingVertical: mdSpacing.m
48
57
  },
49
58
  link: { ...fontStyle.regular,
50
59
  fontStyle: 'italic',
51
- color: theme.colors.link
60
+ color: mdColors.link
52
61
  },
53
62
  blockquote: {
54
- borderLeftColor: theme.colors.border,
55
- paddingLeft: 16,
56
- borderLeftWidth: 5,
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: 8,
72
+ marginVertical: mdSpacing.m,
64
73
  letterSpacing: 0,
65
- paddingBottom: 4,
66
- borderBottomColor: theme.colors.border,
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: 8,
73
- paddingBottom: 4,
74
- borderBottomColor: theme.colors.border,
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: 4
89
+ marginVertical: mdSpacing.s
81
90
  },
82
91
  h4: { ...fontStyle.heading,
83
92
  fontSize: 22,
84
93
  lineHeight: 28,
85
- marginVertical: 4
94
+ marginVertical: mdSpacing.s
86
95
  },
87
96
  h5: { ...fontStyle.regular,
88
97
  ...fontStyle.heading,
89
- marginVertical: 2
98
+ marginVertical: mdSpacing.xs
90
99
  },
91
100
  h6: { ...fontStyle.heading,
92
101
  fontSize: 14,
93
102
  lineHeight: 20,
94
- marginVertical: 2
103
+ marginVertical: mdSpacing.xs
95
104
  },
96
105
  codespan: { ...fontStyle.regular,
97
106
  fontStyle: 'italic',
98
- backgroundColor: theme.colors.code,
107
+ backgroundColor: mdColors.code,
99
108
  fontWeight: '300'
100
109
  },
101
110
  code: {
102
- padding: 16,
103
- backgroundColor: theme.colors.code,
111
+ padding: mdSpacing.l,
112
+ backgroundColor: mdColors.code,
104
113
  minWidth: '100%'
105
114
  },
106
115
  hr: {
107
116
  borderBottomWidth: 1,
108
- borderBottomColor: theme.colors.border,
109
- marginVertical: 4
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","theme","StyleSheet","create","regular","fontSize","lineHeight","color","colors","text","heading","fontWeight","getStyles","userStyles","colorScheme","getTheme","fontStyle","defaultStyles","container","backgroundColor","background","em","strong","strikethrough","textDecorationLine","textDecorationStyle","paragraph","paddingVertical","link","blockquote","borderLeftColor","border","paddingLeft","borderLeftWidth","opacity","h1","marginVertical","letterSpacing","paddingBottom","borderBottomColor","borderBottomWidth","h2","h3","h4","h5","h6","codespan","code","padding","minWidth","hr","li","flexShrink","image","resizeMode"],"sourceRoot":"../../src","sources":["styles.ts"],"mappings":"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"}
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":";;;;;;;AAAA;;AACA;;AACA;;;;AAGA,MAAMA,aAAa,GAAIC,QAAD,IAA8B;EAClD,OAAOC,uBAAA,CAAWC,MAAX,CAAkB;IACvBC,OAAO,EAAE;MACPC,QAAQ,EAAE,EADH;MAEPC,UAAU,EAAE,EAFL;MAGPC,KAAK,EAAEN,QAAQ,CAACO;IAHT,CADc;IAMvBC,OAAO,EAAE;MACPC,UAAU,EAAE,KADL;MAEPH,KAAK,EAAEN,QAAQ,CAACO;IAFT;EANc,CAAlB,CAAP;AAWD,CAZD;;AAcA,MAAMG,SAAS,GAAG,CAChBC,UADgB,EAEhBC,WAFgB,EAGhBC,SAHgB,KAIC;EACjB,MAAMb,QAAQ,GAAG,EAAE,GAAGc,eAAA,CAAOF,WAAW,IAAI,OAAtB,CAAL;IAAqC,IAAGC,SAAH,aAAGA,SAAH,uBAAGA,SAAS,CAAEC,MAAd;EAArC,CAAjB;EACA,MAAMC,SAAS,GAAG,EAAE,GAAGC,gBAAL;IAAc,IAAGH,SAAH,aAAGA,SAAH,uBAAGA,SAAS,CAAEG,OAAd;EAAd,CAAlB;EAEA,MAAMC,SAAS,GAAGlB,aAAa,CAACC,QAAD,CAA/B;;EACA,MAAMkB,aAAa,GAAGjB,uBAAA,CAAWC,MAAX,CAAgC;IACpDiB,SAAS,EAAE;MACTC,eAAe,EAAEpB,QAAQ,CAACqB;IADjB,CADyC;IAIpDC,EAAE,EAAE,EACF,GAAGL,SAAS,CAACd,OADX;MAEFc,SAAS,EAAE;IAFT,CAJgD;IAQpDM,MAAM,EAAE,EACN,GAAGN,SAAS,CAACd,OADP;MAENM,UAAU,EAAE;IAFN,CAR4C;IAYpDe,aAAa,EAAE,EACb,GAAGP,SAAS,CAACd,OADA;MAEbsB,kBAAkB,EAAE,cAFP;MAGbC,mBAAmB,EAAE;IAHR,CAZqC;IAiBpDnB,IAAI,EAAE,EACJ,GAAGU,SAAS,CAACd;IADT,CAjB8C;IAoBpDwB,SAAS,EAAE,EACT,GAAGV,SAAS,CAACd,OADJ;MAETyB,eAAe,EAAEb,SAAS,CAACc;IAFlB,CApByC;IAwBpDC,IAAI,EAAE,EACJ,GAAGb,SAAS,CAACd,OADT;MAEJc,SAAS,EAAE,QAFP;MAGJX,KAAK,EAAEN,QAAQ,CAAC8B;IAHZ,CAxB8C;IA6BpDC,UAAU,EAAE;MACVC,eAAe,EAAEhC,QAAQ,CAACiC,MADhB;MAEVC,WAAW,EAAEnB,SAAS,CAACoB,CAFb;MAGVC,eAAe,EAAErB,SAAS,CAACsB,CAHjB;MAIVC,OAAO,EAAE;IAJC,CA7BwC;IAmCpDC,EAAE,EAAE;MACFnC,QAAQ,EAAE,EADR;MAEFC,UAAU,EAAE,EAFV;MAGFI,UAAU,EAAE,MAHV;MAIF+B,cAAc,EAAEzB,SAAS,CAACc,CAJxB;MAKFY,aAAa,EAAE,CALb;MAMFC,aAAa,EAAE3B,SAAS,CAACsB,CANvB;MAOFM,iBAAiB,EAAE3C,QAAQ,CAACiC,MAP1B;MAQFW,iBAAiB,EAAE;IARjB,CAnCgD;IA6CpDC,EAAE,EAAE,EACF,GAAG5B,SAAS,CAACT,OADX;MAEFJ,QAAQ,EAAE,EAFR;MAGFC,UAAU,EAAE,EAHV;MAIFmC,cAAc,EAAEzB,SAAS,CAACc,CAJxB;MAKFa,aAAa,EAAE3B,SAAS,CAACsB,CALvB;MAMFM,iBAAiB,EAAE3C,QAAQ,CAACiC,MAN1B;MAOFW,iBAAiB,EAAE;IAPjB,CA7CgD;IAsDpDE,EAAE,EAAE,EACF,GAAG7B,SAAS,CAACT,OADX;MAEFJ,QAAQ,EAAE,EAFR;MAGFC,UAAU,EAAE,EAHV;MAIFmC,cAAc,EAAEzB,SAAS,CAACsB;IAJxB,CAtDgD;IA4DpDU,EAAE,EAAE,EACF,GAAG9B,SAAS,CAACT,OADX;MAEFJ,QAAQ,EAAE,EAFR;MAGFC,UAAU,EAAE,EAHV;MAIFmC,cAAc,EAAEzB,SAAS,CAACsB;IAJxB,CA5DgD;IAkEpDW,EAAE,EAAE,EACF,GAAG/B,SAAS,CAACd,OADX;MAEF,GAAGc,SAAS,CAACT,OAFX;MAGFgC,cAAc,EAAEzB,SAAS,CAACkC;IAHxB,CAlEgD;IAuEpDC,EAAE,EAAE,EACF,GAAGjC,SAAS,CAACT,OADX;MAEFJ,QAAQ,EAAE,EAFR;MAGFC,UAAU,EAAE,EAHV;MAIFmC,cAAc,EAAEzB,SAAS,CAACkC;IAJxB,CAvEgD;IA6EpDE,QAAQ,EAAE,EACR,GAAGlC,SAAS,CAACd,OADL;MAERc,SAAS,EAAE,QAFH;MAGRG,eAAe,EAAEpB,QAAQ,CAACoD,IAHlB;MAIR3C,UAAU,EAAE;IAJJ,CA7E0C;IAmFpD2C,IAAI,EAAE;MACJC,OAAO,EAAEtC,SAAS,CAACoB,CADf;MAEJf,eAAe,EAAEpB,QAAQ,CAACoD,IAFtB;MAGJE,QAAQ,EAAE;IAHN,CAnF8C;IAwFpDC,EAAE,EAAE;MACFX,iBAAiB,EAAE,CADjB;MAEFD,iBAAiB,EAAE3C,QAAQ,CAACiC,MAF1B;MAGFO,cAAc,EAAEzB,SAAS,CAACsB;IAHxB,CAxFgD;IA6FpDmB,EAAE,EAAE,EACF,GAAGvC,SAAS,CAACd,OADX;MAEFsD,UAAU,EAAE;IAFV,CA7FgD;IAiGpDC,KAAK,EAAE;MACLC,UAAU,EAAE;IADP;EAjG6C,CAAhC,CAAtB;;EAsGA,OAAO,EACL,GAAGzC,aADE;IAEL,GAAGP;EAFE,CAAP;AAID,CAnHD;;eAqHeD,S"}
@@ -8,11 +8,9 @@ exports.onLinkPress = void 0;
8
8
  var _reactNative = require("react-native");
9
9
 
10
10
  const onLinkPress = url => () => {
11
- try {
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;EAChD,IAAI;IACFC,oBAAA,CAAQC,OAAR,CAAgBF,GAAhB;EACD,CAFD,CAEE,OAAOG,CAAP,EAAU;IACVC,OAAO,CAACC,IAAR,CAAa,qBAAb,EAAoCF,CAApC;EACD;AACF,CANM"}
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 systemTheme = useColorScheme();
16
- const styles = useMemo(() => getStyles(userStyles, systemTheme), [userStyles, systemTheme]);
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","systemTheme","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,QAII;EAAA,IAJH;IAChBC,KADgB;IAEhBC,aAFgB;IAGhBC,MAAM,EAAEC;EAHQ,CAIG;EACnB,MAAMC,WAAW,GAAGT,cAAc,EAAlC;EACA,MAAMO,MAAM,GAAGT,OAAO,CACpB,MAAMK,SAAS,CAACK,UAAD,EAAaC,WAAb,CADK,EAEpB,CAACD,UAAD,EAAaC,WAAb,CAFoB,CAAtB;EAKA,MAAMC,UAAU,GAAGZ,OAAO,CAAC,MAAM;IAC/B,MAAMa,MAAM,GAAG,IAAIT,MAAJ,CAAW;MACxBK;IADwB,CAAX,CAAf;IAGA,MAAMK,MAAM,GAAGX,MAAM,CAACY,KAAP,CAAaR,KAAb,EAAoB;MACjCS,MAAM,EAAE,KADyB;MAEjCC,GAAG,EAAE;IAF4B,CAApB,CAAf;IAKA,OAAOJ,MAAM,CAACK,KAAP,CAAaJ,MAAb,CAAP;EACD,CAVyB,EAUvB,CAACP,KAAD,EAAQE,MAAR,CAVuB,CAA1B;EAYA,MAAMU,UAAU,GAAGpB,WAAW,CAAC,SAAmC;IAAA,IAAlC;MAAEqB;IAAF,CAAkC;IAChE,oBAAO,0CAAGA,IAAH,CAAP;EACD,CAF6B,EAE3B,EAF2B,CAA9B;EAIA,MAAMC,YAAY,GAAGtB,WAAW,CAC9B,CAACuB,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,GAMMjB,aANN;IAOE,IAAI,EAAEI,UAPR;IAQE,UAAU,EAAEO;EARd,GADF;AAYD,CA5CD;;AA8CA,4BAAerB,IAAI,CAACQ,QAAD,CAAnB"}
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] ?? this.styles.text;
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":"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"}
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":"AAEA,MAAMA,MAA2D,GAAG;EAClEC,KAAK,EAAE;IACLC,UAAU,EAAE,SADP;IAELC,IAAI,EAAE,SAFD;IAGLC,IAAI,EAAE,SAHD;IAILC,IAAI,EAAE,SAJD;IAKLC,MAAM,EAAE;EALH,CAD2D;EAQlEC,IAAI,EAAE;IACJL,UAAU,EAAE,SADR;IAEJC,IAAI,EAAE,SAFF;IAGJC,IAAI,EAAE,SAHF;IAIJC,IAAI,EAAE,SAJF;IAKJC,MAAM,EAAE;EALJ;AAR4D,CAApE;AAiBA,eAAeN,MAAf"}
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,8 @@
1
+ const padding = {
2
+ xs: 2,
3
+ s: 4,
4
+ m: 8,
5
+ l: 16
6
+ };
7
+ export default padding;
8
+ //# 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;AAOA,eAAeJ,OAAf"}
@@ -1,26 +1,32 @@
1
1
  import { StyleSheet } from 'react-native';
2
- import { getTheme } from './theme';
2
+ import spacing from './spacing';
3
+ import colors from './colors';
3
4
 
4
- const getFontStyles = theme => {
5
+ const getFontStyles = mdColors => {
5
6
  return StyleSheet.create({
6
7
  regular: {
7
8
  fontSize: 16,
8
9
  lineHeight: 24,
9
- color: theme.colors.text
10
+ color: mdColors.text
10
11
  },
11
12
  heading: {
12
13
  fontWeight: '500',
13
- color: theme.colors.text
14
+ color: mdColors.text
14
15
  }
15
16
  });
16
17
  };
17
18
 
18
- const getStyles = (userStyles, colorScheme) => {
19
- const theme = getTheme(colorScheme || 'light');
20
- const fontStyle = getFontStyles(theme);
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: theme.colors.background
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: 8
44
+ paddingVertical: mdSpacing.m
39
45
  },
40
46
  link: { ...fontStyle.regular,
41
47
  fontStyle: 'italic',
42
- color: theme.colors.link
48
+ color: mdColors.link
43
49
  },
44
50
  blockquote: {
45
- borderLeftColor: theme.colors.border,
46
- paddingLeft: 16,
47
- borderLeftWidth: 5,
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: 8,
60
+ marginVertical: mdSpacing.m,
55
61
  letterSpacing: 0,
56
- paddingBottom: 4,
57
- borderBottomColor: theme.colors.border,
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: 8,
64
- paddingBottom: 4,
65
- borderBottomColor: theme.colors.border,
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: 4
77
+ marginVertical: mdSpacing.s
72
78
  },
73
79
  h4: { ...fontStyle.heading,
74
80
  fontSize: 22,
75
81
  lineHeight: 28,
76
- marginVertical: 4
82
+ marginVertical: mdSpacing.s
77
83
  },
78
84
  h5: { ...fontStyle.regular,
79
85
  ...fontStyle.heading,
80
- marginVertical: 2
86
+ marginVertical: mdSpacing.xs
81
87
  },
82
88
  h6: { ...fontStyle.heading,
83
89
  fontSize: 14,
84
90
  lineHeight: 20,
85
- marginVertical: 2
91
+ marginVertical: mdSpacing.xs
86
92
  },
87
93
  codespan: { ...fontStyle.regular,
88
94
  fontStyle: 'italic',
89
- backgroundColor: theme.colors.code,
95
+ backgroundColor: mdColors.code,
90
96
  fontWeight: '300'
91
97
  },
92
98
  code: {
93
- padding: 16,
94
- backgroundColor: theme.colors.code,
99
+ padding: mdSpacing.l,
100
+ backgroundColor: mdColors.code,
95
101
  minWidth: '100%'
96
102
  },
97
103
  hr: {
98
104
  borderBottomWidth: 1,
99
- borderBottomColor: theme.colors.border,
100
- marginVertical: 4
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","getTheme","getFontStyles","theme","create","regular","fontSize","lineHeight","color","colors","text","heading","fontWeight","getStyles","userStyles","colorScheme","fontStyle","defaultStyles","container","backgroundColor","background","em","strong","strikethrough","textDecorationLine","textDecorationStyle","paragraph","paddingVertical","link","blockquote","borderLeftColor","border","paddingLeft","borderLeftWidth","opacity","h1","marginVertical","letterSpacing","paddingBottom","borderBottomColor","borderBottomWidth","h2","h3","h4","h5","h6","codespan","code","padding","minWidth","hr","li","flexShrink","image","resizeMode"],"sourceRoot":"../../src","sources":["styles.ts"],"mappings":"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"}
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
- try {
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;EAChD,IAAI;IACFF,OAAO,CAACG,OAAR,CAAgBD,GAAhB;EACD,CAFD,CAEE,OAAOE,CAAP,EAAU;IACVC,OAAO,CAACC,IAAR,CAAa,qBAAb,EAAoCF,CAApC;EACD;AACF,CANM"}
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;;AAgD7C,wBAA8B"}
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;IAuF7C,OAAO,CAAC,gDAAgD,CAsDtD;CACH;AAED,eAAe,MAAM,CAAC"}
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;AAErD,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;CACvB"}
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
- import type { ColorKeys } from './types';
2
- declare const colors: Record<'light' | 'dark', Record<ColorKeys, string>>;
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,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC,QAAA,MAAM,MAAM,EAAE,MAAM,CAAC,OAAO,GAAG,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAe/D,CAAC;AAEF,eAAe,MAAM,CAAC"}
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,4 @@
1
+ export declare type SpacingKeysType = 'xs' | 's' | 'm' | 'l';
2
+ declare const padding: Record<SpacingKeysType, number>;
3
+ export default padding;
4
+ //# sourceMappingURL=spacing.d.ts.map
@@ -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;AAE3D,OAAO,KAAK,EAAE,YAAY,EAAS,MAAM,SAAS,CAAC;AAgBnD,QAAA,MAAM,SAAS,gBACA,YAAY,gBACX,eAAe,KAC5B,YA6GF,CAAC;AAEF,eAAe,SAAS,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 declare type ColorKeys = 'background' | 'code' | 'link' | 'text' | 'border';
25
- export interface Theme {
26
- colors: Record<ColorKeys, string>;
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;AAErE,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,oBAAY,SAAS,GAAG,YAAY,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;AAE3E,MAAM,WAAW,KAAK;IACpB,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;CACnC"}
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.4.2",
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.3",
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.0.0",
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.25.0",
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.2.1",
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",
@@ -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 systemTheme = useColorScheme();
14
+ const colorScheme = useColorScheme();
14
15
  const styles = useMemo(
15
- () => getStyles(userStyles, systemTheme),
16
- [userStyles, systemTheme]
16
+ () => getStyles(userStyles, colorScheme, theme),
17
+ [userStyles, colorScheme, theme]
17
18
  );
18
19
 
19
20
  const rnElements = useMemo(() => {
@@ -47,7 +47,7 @@ class Parser {
47
47
  );
48
48
  }
49
49
  case 'heading': {
50
- const styles = this.headingStylesMap[token.depth] ?? this.styles.text;
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
  }
@@ -1,6 +1,7 @@
1
- import type { ColorKeys } from './types';
1
+ export type ColorKeysType = 'background' | 'code' | 'link' | 'text' | 'border';
2
+ export type ColorsPropType = Record<ColorKeysType, string>;
2
3
 
3
- const colors: Record<'light' | 'dark', Record<ColorKeys, string>> = {
4
+ const colors: Record<'light' | 'dark', ColorsPropType> = {
4
5
  light: {
5
6
  background: '#ffffff',
6
7
  code: '#f6f8fa',
@@ -0,0 +1,10 @@
1
+ export type SpacingKeysType = 'xs' | 's' | 'm' | 'l';
2
+
3
+ const padding: Record<SpacingKeysType, number> = {
4
+ xs: 2,
5
+ s: 4,
6
+ m: 8,
7
+ l: 16,
8
+ };
9
+
10
+ export default padding;
@@ -1,30 +1,34 @@
1
1
  import { ColorSchemeName, StyleSheet } from 'react-native';
2
- import { getTheme } from './theme';
3
- import type { MarkedStyles, Theme } from './types';
2
+ import spacing from './spacing';
3
+ import colors, { type ColorsPropType } from './colors';
4
+ import type { MarkedStyles, UserTheme } from './types';
4
5
 
5
- const getFontStyles = (theme: Theme) => {
6
+ const getFontStyles = (mdColors: ColorsPropType) => {
6
7
  return StyleSheet.create({
7
8
  regular: {
8
9
  fontSize: 16,
9
10
  lineHeight: 24,
10
- color: theme.colors.text,
11
+ color: mdColors.text,
11
12
  },
12
13
  heading: {
13
14
  fontWeight: '500',
14
- color: theme.colors.text,
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 theme = getTheme(colorScheme || 'light');
24
- const fontStyle = getFontStyles(theme);
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: theme.colors.background,
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: 8,
51
+ paddingVertical: mdSpacing.m,
48
52
  },
49
53
  link: {
50
54
  ...fontStyle.regular,
51
55
  fontStyle: 'italic',
52
- color: theme.colors.link,
56
+ color: mdColors.link,
53
57
  },
54
58
  blockquote: {
55
- borderLeftColor: theme.colors.border,
56
- paddingLeft: 16,
57
- borderLeftWidth: 5,
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: 8,
68
+ marginVertical: mdSpacing.m,
65
69
  letterSpacing: 0,
66
- paddingBottom: 4,
67
- borderBottomColor: theme.colors.border,
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: 8,
75
- paddingBottom: 4,
76
- borderBottomColor: theme.colors.border,
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: 4,
87
+ marginVertical: mdSpacing.s,
84
88
  },
85
89
  h4: {
86
90
  ...fontStyle.heading,
87
91
  fontSize: 22,
88
92
  lineHeight: 28,
89
- marginVertical: 4,
93
+ marginVertical: mdSpacing.s,
90
94
  },
91
95
  h5: {
92
96
  ...fontStyle.regular,
93
97
  ...fontStyle.heading,
94
- marginVertical: 2,
98
+ marginVertical: mdSpacing.xs,
95
99
  },
96
100
  h6: {
97
101
  ...fontStyle.heading,
98
102
  fontSize: 14,
99
103
  lineHeight: 20,
100
- marginVertical: 2,
104
+ marginVertical: mdSpacing.xs,
101
105
  },
102
106
  codespan: {
103
107
  ...fontStyle.regular,
104
108
  fontStyle: 'italic',
105
- backgroundColor: theme.colors.code,
109
+ backgroundColor: mdColors.code,
106
110
  fontWeight: '300',
107
111
  },
108
112
  code: {
109
- padding: 16,
110
- backgroundColor: theme.colors.code,
113
+ padding: mdSpacing.l,
114
+ backgroundColor: mdColors.code,
111
115
  minWidth: '100%',
112
116
  },
113
117
  hr: {
114
118
  borderBottomWidth: 1,
115
- borderBottomColor: theme.colors.border,
116
- marginVertical: 4,
119
+ borderBottomColor: mdColors.border,
120
+ marginVertical: mdSpacing.s,
117
121
  },
118
122
  li: {
119
123
  ...fontStyle.regular,
@@ -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 type ColorKeys = 'background' | 'code' | 'link' | 'text' | 'border';
27
-
28
- export interface Theme {
29
- colors: Record<ColorKeys, string>;
28
+ export interface UserTheme {
29
+ colors?: Record<ColorKeysType, string>;
30
+ spacing?: Record<SpacingKeysType, number>;
30
31
  }
@@ -1,9 +1,9 @@
1
1
  import { Linking } from 'react-native';
2
2
 
3
3
  export const onLinkPress = (url: string) => () => {
4
- try {
5
- Linking.openURL(url);
6
- } catch (e) {
7
- console.warn("URL can't be opened", e);
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,7 +0,0 @@
1
- import colors from './colors';
2
- export const getTheme = theme => {
3
- return {
4
- colors: colors[theme || 'light']
5
- };
6
- };
7
- //# sourceMappingURL=theme.js.map
@@ -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,4 +0,0 @@
1
- import type { ColorSchemeName } from 'react-native';
2
- import type { Theme } from './types';
3
- export declare const getTheme: (theme: ColorSchemeName) => Theme;
4
- //# sourceMappingURL=theme.d.ts.map
@@ -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"}
@@ -1,9 +0,0 @@
1
- import type { ColorSchemeName } from 'react-native';
2
- import colors from './colors';
3
- import type { Theme } from './types';
4
-
5
- export const getTheme = (theme: ColorSchemeName): Theme => {
6
- return {
7
- colors: colors[theme || 'light'],
8
- };
9
- };