react-native-marked 1.4.3 → 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 (41) hide show
  1. package/README.md +6 -5
  2. package/dist/commonjs/lib/Markdown.js +3 -2
  3. package/dist/commonjs/lib/Markdown.js.map +1 -1
  4. package/dist/commonjs/theme/colors.js.map +1 -1
  5. package/dist/commonjs/theme/spacing.js +15 -0
  6. package/dist/commonjs/theme/spacing.js.map +1 -0
  7. package/dist/commonjs/theme/styles.js +37 -28
  8. package/dist/commonjs/theme/styles.js.map +1 -1
  9. package/dist/module/lib/Markdown.js +3 -2
  10. package/dist/module/lib/Markdown.js.map +1 -1
  11. package/dist/module/theme/colors.js.map +1 -1
  12. package/dist/module/theme/spacing.js +8 -0
  13. package/dist/module/theme/spacing.js.map +1 -0
  14. package/dist/module/theme/styles.js +34 -28
  15. package/dist/module/theme/styles.js.map +1 -1
  16. package/dist/typescript/lib/Markdown.d.ts +1 -1
  17. package/dist/typescript/lib/Markdown.d.ts.map +1 -1
  18. package/dist/typescript/lib/types.d.ts +2 -1
  19. package/dist/typescript/lib/types.d.ts.map +1 -1
  20. package/dist/typescript/theme/colors.d.ts +3 -2
  21. package/dist/typescript/theme/colors.d.ts.map +1 -1
  22. package/dist/typescript/theme/spacing.d.ts +4 -0
  23. package/dist/typescript/theme/spacing.d.ts.map +1 -0
  24. package/dist/typescript/theme/styles.d.ts +2 -2
  25. package/dist/typescript/theme/styles.d.ts.map +1 -1
  26. package/dist/typescript/theme/types.d.ts +5 -3
  27. package/dist/typescript/theme/types.d.ts.map +1 -1
  28. package/package.json +3 -3
  29. package/src/lib/Markdown.tsx +4 -3
  30. package/src/lib/types.ts +2 -1
  31. package/src/theme/colors.ts +3 -2
  32. package/src/theme/spacing.ts +10 -0
  33. package/src/theme/styles.ts +33 -29
  34. package/src/theme/types.ts +5 -4
  35. package/dist/commonjs/theme/theme.js +0 -19
  36. package/dist/commonjs/theme/theme.js.map +0 -1
  37. package/dist/module/theme/theme.js +0 -7
  38. package/dist/module/theme/theme.js.map +0 -1
  39. package/dist/typescript/theme/theme.d.ts +0 -4
  40. package/dist/typescript/theme/theme.d.ts.map +0 -1
  41. 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
 
@@ -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"}
@@ -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":"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"}
@@ -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"}
@@ -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,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,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.3",
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",
@@ -53,7 +53,7 @@
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.1.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,7 +62,7 @@
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",
@@ -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(() => {
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,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
- };