react-native-marked 1.3.1 → 1.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/dist/commonjs/components/MDImage.js +5 -2
  2. package/dist/commonjs/components/MDImage.js.map +1 -1
  3. package/dist/commonjs/index.js.map +1 -1
  4. package/dist/commonjs/lib/Markdown.js.map +1 -1
  5. package/dist/commonjs/lib/Parser.js +2 -2
  6. package/dist/commonjs/lib/Parser.js.map +1 -1
  7. package/dist/commonjs/lib/Renderer.js +5 -4
  8. package/dist/commonjs/lib/Renderer.js.map +1 -1
  9. package/dist/commonjs/lib/types.js.map +1 -1
  10. package/dist/commonjs/theme/colors.js.map +1 -1
  11. package/dist/commonjs/theme/styles.js +3 -0
  12. package/dist/commonjs/theme/styles.js.map +1 -1
  13. package/dist/commonjs/theme/theme.js.map +1 -1
  14. package/dist/commonjs/theme/types.js.map +1 -1
  15. package/dist/commonjs/utils/handlers.js.map +1 -1
  16. package/dist/commonjs/utils/string.js.map +1 -1
  17. package/dist/module/components/MDImage.js +5 -2
  18. package/dist/module/components/MDImage.js.map +1 -1
  19. package/dist/module/index.js.map +1 -1
  20. package/dist/module/lib/Markdown.js.map +1 -1
  21. package/dist/module/lib/Parser.js +2 -2
  22. package/dist/module/lib/Parser.js.map +1 -1
  23. package/dist/module/lib/Renderer.js +5 -4
  24. package/dist/module/lib/Renderer.js.map +1 -1
  25. package/dist/module/lib/types.js.map +1 -1
  26. package/dist/module/theme/colors.js.map +1 -1
  27. package/dist/module/theme/styles.js +3 -0
  28. package/dist/module/theme/styles.js.map +1 -1
  29. package/dist/module/theme/theme.js.map +1 -1
  30. package/dist/module/theme/types.js.map +1 -1
  31. package/dist/module/utils/handlers.js.map +1 -1
  32. package/dist/module/utils/string.js.map +1 -1
  33. package/dist/typescript/components/MDImage.d.ts +4 -1
  34. package/dist/typescript/components/MDImage.d.ts.map +1 -0
  35. package/dist/typescript/index.d.ts +1 -0
  36. package/dist/typescript/index.d.ts.map +1 -0
  37. package/dist/typescript/lib/Markdown.d.ts +1 -0
  38. package/dist/typescript/lib/Markdown.d.ts.map +1 -0
  39. package/dist/typescript/lib/Parser.d.ts +4 -2
  40. package/dist/typescript/lib/Parser.d.ts.map +1 -0
  41. package/dist/typescript/lib/Renderer.d.ts +10 -9
  42. package/dist/typescript/lib/Renderer.d.ts.map +1 -0
  43. package/dist/typescript/lib/types.d.ts +2 -4
  44. package/dist/typescript/lib/types.d.ts.map +1 -0
  45. package/dist/typescript/theme/colors.d.ts +1 -0
  46. package/dist/typescript/theme/colors.d.ts.map +1 -0
  47. package/dist/typescript/theme/styles.d.ts +1 -0
  48. package/dist/typescript/theme/styles.d.ts.map +1 -0
  49. package/dist/typescript/theme/theme.d.ts +1 -0
  50. package/dist/typescript/theme/theme.d.ts.map +1 -0
  51. package/dist/typescript/theme/types.d.ts +3 -1
  52. package/dist/typescript/theme/types.d.ts.map +1 -0
  53. package/dist/typescript/utils/handlers.d.ts +1 -0
  54. package/dist/typescript/utils/handlers.d.ts.map +1 -0
  55. package/dist/typescript/utils/string.d.ts +1 -0
  56. package/dist/typescript/utils/string.d.ts.map +1 -0
  57. package/package.json +16 -13
  58. package/src/components/MDImage.tsx +5 -2
  59. package/src/lib/Parser.tsx +12 -6
  60. package/src/lib/Renderer.tsx +28 -14
  61. package/src/lib/types.ts +1 -10
  62. package/src/theme/styles.ts +3 -0
  63. package/src/theme/types.ts +2 -1
@@ -20,7 +20,8 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
20
20
  const MDImage = _ref => {
21
21
  let {
22
22
  uri,
23
- alt
23
+ alt,
24
+ style
24
25
  } = _ref;
25
26
  (0, _react.useEffect)(() => {
26
27
  _reactNative.Image.prefetch(uri);
@@ -28,10 +29,12 @@ const MDImage = _ref => {
28
29
  return /*#__PURE__*/_react.default.createElement(_reactNativeFitImage.default, {
29
30
  accessibilityRole: "image",
30
31
  accessibilityLabel: alt || 'Image',
32
+ accessibilityHint: undefined,
31
33
  source: {
32
34
  uri
33
35
  },
34
- resizeMode: "cover"
36
+ resizeMode: "cover",
37
+ style: style
35
38
  });
36
39
  };
37
40
 
@@ -1 +1 @@
1
- {"version":3,"names":["MDImage","uri","alt","useEffect","Image","prefetch","memo"],"sources":["MDImage.tsx"],"sourcesContent":["import React, { memo, useEffect } from 'react';\nimport { Image } from 'react-native';\nimport FitImage from 'react-native-fit-image';\n\ninterface MDImageProps {\n uri: string;\n alt?: string;\n}\n\nconst MDImage = ({ uri, alt }: MDImageProps) => {\n useEffect(() => {\n Image.prefetch(uri);\n }, [uri]);\n\n return (\n <FitImage\n accessibilityRole=\"image\"\n accessibilityLabel={alt || 'Image'}\n source={{ uri }}\n resizeMode=\"cover\"\n />\n );\n};\n\nexport default memo(MDImage);\n"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;;;;;;;AAOA,MAAMA,OAAO,GAAG,QAAgC;EAAA,IAA/B;IAAEC,GAAF;IAAOC;EAAP,CAA+B;EAC9C,IAAAC,gBAAA,EAAU,MAAM;IACdC,kBAAA,CAAMC,QAAN,CAAeJ,GAAf;EACD,CAFD,EAEG,CAACA,GAAD,CAFH;EAIA,oBACE,6BAAC,4BAAD;IACE,iBAAiB,EAAC,OADpB;IAEE,kBAAkB,EAAEC,GAAG,IAAI,OAF7B;IAGE,MAAM,EAAE;MAAED;IAAF,CAHV;IAIE,UAAU,EAAC;EAJb,EADF;AAQD,CAbD;;4BAee,IAAAK,WAAA,EAAKN,OAAL,C"}
1
+ {"version":3,"names":["MDImage","uri","alt","style","useEffect","Image","prefetch","undefined","memo"],"sourceRoot":"../../src","sources":["MDImage.tsx"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;;;;;;;AAQA,MAAMA,OAAO,GAAG,QAAuC;EAAA,IAAtC;IAAEC,GAAF;IAAOC,GAAP;IAAYC;EAAZ,CAAsC;EACrD,IAAAC,gBAAA,EAAU,MAAM;IACdC,kBAAA,CAAMC,QAAN,CAAeL,GAAf;EACD,CAFD,EAEG,CAACA,GAAD,CAFH;EAIA,oBACE,6BAAC,4BAAD;IACE,iBAAiB,EAAC,OADpB;IAEE,kBAAkB,EAAEC,GAAG,IAAI,OAF7B;IAGE,iBAAiB,EAAEK,SAHrB;IAIE,MAAM,EAAE;MAAEN;IAAF,CAJV;IAKE,UAAU,EAAC,OALb;IAME,KAAK,EAAEE;EANT,EADF;AAUD,CAfD;;4BAiBe,IAAAK,WAAA,EAAKR,OAAL,C"}
@@ -1 +1 @@
1
- {"version":3,"names":["Markdown"],"sources":["index.ts"],"sourcesContent":["import Markdown from './lib/Markdown';\n\nexport default Markdown;\n"],"mappings":";;;;;;;AAAA;;;;eAEeA,iB"}
1
+ {"version":3,"names":["Markdown"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;;AAAA;;;;eAEeA,iB"}
@@ -1 +1 @@
1
- {"version":3,"names":["Markdown","value","flatListProps","styles","userStyles","systemTheme","useColorScheme","useMemo","getStyles","rnElements","parser","Parser","tokens","marked","lexer","parse","renderItem","useCallback","item","keyExtractor","_","index","toString","container","memo"],"sources":["Markdown.tsx"],"sourcesContent":["import React, { memo, ReactNode, useCallback, useMemo } from 'react';\nimport { FlatList, useColorScheme } from 'react-native';\nimport { marked } from 'marked';\nimport Parser from './Parser';\nimport getStyles from '../theme/styles';\nimport type { MarkdownProps } from './types';\n\nconst Markdown = ({\n value,\n flatListProps,\n styles: userStyles,\n}: MarkdownProps) => {\n const systemTheme = useColorScheme();\n const styles = useMemo(\n () => getStyles(userStyles, systemTheme),\n [userStyles, systemTheme]\n );\n\n const rnElements = useMemo(() => {\n const parser = new Parser({\n styles,\n });\n const tokens = marked.lexer(value);\n\n return parser.parse(tokens);\n }, [value, styles]);\n\n const renderItem = useCallback(({ item }: { item: ReactNode }) => {\n return <>{item}</>;\n }, []);\n\n const keyExtractor = useCallback(\n (_: ReactNode, index: number) => index.toString(),\n []\n );\n\n return (\n <FlatList\n keyExtractor={keyExtractor}\n maxToRenderPerBatch={8}\n initialNumToRender={8}\n removeClippedSubviews\n style={styles.container}\n {...flatListProps}\n data={rnElements}\n renderItem={renderItem}\n />\n );\n};\n\nexport default memo(Markdown);\n"],"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,CAAf;;IAEA,OAAOS,MAAM,CAACK,KAAP,CAAaH,MAAb,CAAP;EACD,CAPkB,EAOhB,CAACX,KAAD,EAAQE,MAAR,CAPgB,CAAnB;EASA,MAAMa,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,EAAEhB,MAAM,CAACoB;EALhB,GAMMrB,aANN;IAOE,IAAI,EAAEO,UAPR;IAQE,UAAU,EAAEO;EARd,GADF;AAYD,CAzCD;;4BA2Ce,IAAAQ,WAAA,EAAKxB,QAAL,C"}
1
+ {"version":3,"names":["Markdown","value","flatListProps","styles","userStyles","systemTheme","useColorScheme","useMemo","getStyles","rnElements","parser","Parser","tokens","marked","lexer","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,CAAf;;IAEA,OAAOS,MAAM,CAACK,KAAP,CAAaH,MAAb,CAAP;EACD,CAPkB,EAOhB,CAACX,KAAD,EAAQE,MAAR,CAPgB,CAAnB;EASA,MAAMa,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,EAAEhB,MAAM,CAACoB;EALhB,GAMMrB,aANN;IAOE,IAAI,EAAEO,UAPR;IAQE,UAAU,EAAEO;EARd,GADF;AAYD,CAzCD;;4BA2Ce,IAAAQ,WAAA,EAAKxB,QAAL,C"}
@@ -43,7 +43,7 @@ class Parser {
43
43
  siblingNodes.push(this.parseInline([t]));
44
44
  } else if (t.type === 'link') {
45
45
  const imageToken = t.tokens[0];
46
- siblingNodes.push(this.renderer.getImageLinkNode(t.href, imageToken.href, imageToken.text || imageToken.title));
46
+ siblingNodes.push(this.renderer.getImageLinkNode(t.href, imageToken.href, imageToken.text || imageToken.title, this.styles.image));
47
47
  }
48
48
 
49
49
  tokenRenderQueue = [];
@@ -161,7 +161,7 @@ class Parser {
161
161
 
162
162
  case 'image':
163
163
  {
164
- return this.renderer.getImageNode(token.href, token.text || token.title);
164
+ return this.renderer.getImageNode(token.href, token.text || token.title, this.styles.image);
165
165
  }
166
166
 
167
167
  case 'strong':
@@ -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","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","trim","decode","console","warn"],"sources":["Parser.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport type { marked } from 'marked';\nimport { decode } from 'entities';\nimport Renderer from './Renderer';\nimport type { MarkedStyles } from '../theme/types';\nimport type { CustomStyleProp, ParserOptions, TextStyleProp } from './types';\n\nclass Parser {\n private renderer;\n private styles: MarkedStyles;\n private headingStylesMap: Record<number, TextStyleProp>;\n constructor(options: ParserOptions) {\n this.styles = { ...options.styles };\n this.renderer = new Renderer();\n this.headingStylesMap = {\n 1: this.styles.h1,\n 2: this.styles.h2,\n 3: this.styles.h3,\n 4: this.styles.h4,\n 5: this.styles.h5,\n 6: this.styles.h6,\n };\n }\n\n parse(tokens: marked.Token[]) {\n const elements: ReactNode[] = tokens.map((token) => {\n switch (token.type) {\n case 'space': {\n return null;\n }\n case 'paragraph': {\n const paragraphChildren =\n this.getNormalizedSiblingNodesForBlockAndInlineTokens(\n token.tokens,\n this.styles.text\n );\n\n return this.renderer.getViewNode(\n paragraphChildren,\n this.styles.paragraph\n );\n }\n case 'blockquote': {\n return this.renderer.getBlockquoteNode(\n this.parse(token.tokens),\n this.styles.blockquote\n );\n }\n case 'heading': {\n const styles = this.headingStylesMap[token.depth] ?? this.styles.text;\n return this.renderer.getTextNode(\n this.parseInline(token.tokens, styles),\n styles\n );\n }\n case 'code': {\n return this.renderer.getCodeBlockNode(\n token.text,\n this.styles.code,\n this.styles.em\n );\n }\n case 'hr': {\n return this.renderer.getViewNode(null, this.styles.hr);\n }\n case 'list': {\n const li = token.items.map((item) => {\n const children = item.tokens.map((cItem) => {\n if (cItem.type === 'text') {\n /* getViewNode since tokens could contain a block like elements (i.e. img) */\n const childTokens = (cItem as marked.Tokens.Text).tokens || [];\n const listChildren =\n this.getNormalizedSiblingNodesForBlockAndInlineTokens(\n childTokens,\n this.styles.li\n );\n return this.renderer.getViewNode(listChildren, this.styles.li);\n }\n\n /* Parse the nested token */\n return this.parse([cItem]);\n });\n return this.renderer.getViewNode(children, this.styles.li);\n });\n return this.renderer.getListNode(\n token.ordered,\n li,\n this.styles.list,\n this.styles.li\n );\n }\n default:\n return this.parseInline([token]);\n }\n });\n return elements.filter((element) => element !== null);\n }\n\n parseInline(tokens: marked.Token[], styles?: CustomStyleProp) {\n const elements: ReactNode[] = tokens.map((token) => {\n if (!token) return null;\n\n switch (token.type) {\n case 'escape': {\n return this.renderer.getTextNode(token.text, {\n ...this.styles.text,\n ...styles,\n });\n }\n case 'link': {\n // Note: Linking Images (https://www.markdownguide.org/basic-syntax/#linking-images) are wrapped\n // in paragraph token, so will be handled via `getNormalizedSiblingNodesForBlockAndInlineTokens`\n const linkStyle = {\n ...styles,\n ...this.styles.link, // To override color property\n };\n return this.renderer.getTextLinkNode(\n this.parseInline(token.tokens, linkStyle),\n token.href,\n linkStyle\n );\n }\n case 'image': {\n return this.renderer.getImageNode(\n token.href,\n token.text || token.title\n );\n }\n case 'strong': {\n const boldStyle = {\n ...this.styles.strong,\n ...styles,\n };\n return this.renderer.getTextNode(\n this.parseInline(token.tokens, boldStyle),\n boldStyle\n );\n }\n case 'em': {\n const italicStyle = {\n ...this.styles.em,\n ...styles,\n };\n return this.renderer.getTextNode(\n this.parseInline(token.tokens, italicStyle),\n italicStyle\n );\n }\n case 'codespan': {\n return this.renderer.getTextNode(token.text, {\n ...this.styles.codespan,\n ...styles,\n });\n }\n case 'br': {\n return this.renderer.getTextNode('\\n', {});\n }\n case 'del': {\n const strikethroughStyle = {\n ...this.styles.strikethrough,\n ...styles,\n };\n return this.renderer.getTextNode(\n this.parseInline(token.tokens, strikethroughStyle),\n strikethroughStyle\n );\n }\n case 'text':\n case 'html': {\n if (token.raw.trim().length < 1) {\n return null;\n }\n\n return this.renderer.getTextNode(decode(token.raw), {\n ...this.styles.text,\n ...styles,\n });\n }\n default: {\n console.warn(`Token with '${token.type}' type was not found.`);\n return null;\n }\n }\n });\n return elements.filter((element) => element !== null);\n }\n\n private getNormalizedSiblingNodesForBlockAndInlineTokens = (\n tokens: marked.Token[],\n textStyle: TextStyleProp\n ): ReactNode[] => {\n let tokenRenderQueue: marked.Token[] = [];\n const siblingNodes: ReactNode[] = [];\n tokens.forEach((t) => {\n /**\n * To avoid inlining images\n * Currently supports images, link images\n * Note: to be extend for other token types\n */\n if (\n t.type === 'image' ||\n (t.type === 'link' &&\n t.tokens &&\n t.tokens[0] &&\n t.tokens[0].type === 'image')\n ) {\n // Render existing inline tokens in the queue\n const parsed = this.parseInline(tokenRenderQueue);\n if (parsed.length > 0) {\n siblingNodes.push(this.renderer.getTextNode(parsed, textStyle));\n }\n\n // Render the current block token\n if (t.type === 'image') {\n siblingNodes.push(this.parseInline([t]));\n } else if (t.type === 'link') {\n const imageToken = t.tokens[0] as marked.Tokens.Image;\n siblingNodes.push(\n this.renderer.getImageLinkNode(\n t.href,\n imageToken.href,\n imageToken.text || imageToken.title\n )\n );\n }\n\n tokenRenderQueue = [];\n return;\n }\n tokenRenderQueue = [...tokenRenderQueue, t];\n });\n\n /* Remaining temp tokens if any */\n if (tokenRenderQueue.length > 0) {\n siblingNodes.push(\n this.renderer.getTextNode(this.parseInline(tokenRenderQueue), {})\n );\n }\n\n return siblingNodes;\n };\n}\n\nexport default Parser;\n"],"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","trim","decode","console","warn"],"sourceRoot":"../../src","sources":["Parser.tsx"],"mappings":"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"}
@@ -44,8 +44,8 @@ class Renderer {
44
44
  }, children);
45
45
  });
46
46
 
47
- _defineProperty(this, "getImageLinkNode", (href, imageUrl, alt) => {
48
- const imageNode = this.getImageNode(imageUrl, alt);
47
+ _defineProperty(this, "getImageLinkNode", (href, imageUrl, alt, style) => {
48
+ const imageNode = this.getImageNode(imageUrl, alt, style);
49
49
  return /*#__PURE__*/_react.default.createElement(_reactNative.TouchableHighlight, {
50
50
  accessibilityRole: "link",
51
51
  accessibilityHint: "Opens in a new window",
@@ -79,11 +79,12 @@ class Renderer {
79
79
  }, children);
80
80
  }
81
81
 
82
- getImageNode(uri, alt) {
82
+ getImageNode(uri, alt, style) {
83
83
  return /*#__PURE__*/_react.default.createElement(_MDImage.default, {
84
84
  key: (0, _string.generateRandomString)(),
85
85
  uri: uri,
86
- alt: alt
86
+ alt: alt,
87
+ style: style
87
88
  });
88
89
  }
89
90
 
@@ -1 +1 @@
1
- {"version":3,"names":["Renderer","children","styles","generateRandomString","href","onLinkPress","imageUrl","alt","imageNode","getImageNode","getViewNode","getCodeBlockNode","text","containerStyle","textStyle","getBlockquoteNode","uri","getListNode","ordered","li","listStyle","Decimal","Disc","map","node"],"sources":["Renderer.tsx"],"sourcesContent":["import React, { ReactNode } from 'react';\nimport { ScrollView, View, Text, TouchableHighlight } from 'react-native';\nimport MarkedList from '@jsamr/react-native-li';\nimport Disc from '@jsamr/counter-style/presets/disc';\nimport Decimal from '@jsamr/counter-style/presets/decimal';\nimport MDImage from './../components/MDImage';\nimport { generateRandomString } from '../utils/string';\nimport type { TextStyleProp, ViewStyleProp } from './types';\nimport { onLinkPress } from '../utils/handlers';\n\nclass Renderer {\n getTextNode = (children: string | ReactNode[], styles: TextStyleProp) => {\n return (\n <Text key={generateRandomString()} style={styles}>\n {children}\n </Text>\n );\n };\n\n getTextLinkNode = (\n children: string | ReactNode[],\n href: string,\n styles: TextStyleProp\n ) => {\n return (\n <Text\n accessibilityRole=\"link\"\n accessibilityHint=\"Opens in a new window\"\n key={generateRandomString()}\n onPress={onLinkPress(href)}\n style={styles}\n >\n {children}\n </Text>\n );\n };\n\n getImageLinkNode = (href: string, imageUrl: string, alt?: string) => {\n const imageNode = this.getImageNode(imageUrl, alt);\n return (\n <TouchableHighlight\n accessibilityRole=\"link\"\n accessibilityHint=\"Opens in a new window\"\n onPress={onLinkPress(href)}\n key={generateRandomString()}\n >\n {imageNode}\n </TouchableHighlight>\n );\n };\n\n getViewNode(children: ReactNode[] | null, styles: ViewStyleProp) {\n return (\n <View key={generateRandomString()} style={styles}>\n {children}\n </View>\n );\n }\n\n getCodeBlockNode(\n text: string,\n containerStyle: ViewStyleProp,\n textStyle: TextStyleProp\n ) {\n return (\n <ScrollView\n key={generateRandomString()}\n contentContainerStyle={containerStyle}\n horizontal\n >\n <Text style={textStyle}>{text}</Text>\n </ScrollView>\n );\n }\n\n getBlockquoteNode(children: ReactNode[], styles: ViewStyleProp) {\n return (\n <View key={generateRandomString()} style={styles}>\n {children}\n </View>\n );\n }\n\n getImageNode(uri: string, alt?: string) {\n return <MDImage key={generateRandomString()} uri={uri} alt={alt} />;\n }\n\n getListNode(\n ordered: boolean,\n li: ReactNode[],\n listStyle: ViewStyleProp,\n textStyle: TextStyleProp\n ) {\n return (\n <MarkedList\n counterRenderer={ordered ? Decimal : Disc}\n markerTextStyle={textStyle}\n markerBoxStyle={listStyle}\n key={generateRandomString()}\n >\n {li.map((node) => node)}\n </MarkedList>\n );\n }\n}\n\nexport default Renderer;\n"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA;;;;;;AAEA,MAAMA,QAAN,CAAe;EAAA;IAAA,qCACC,CAACC,QAAD,EAAiCC,MAAjC,KAA2D;MACvE,oBACE,6BAAC,iBAAD;QAAM,GAAG,EAAE,IAAAC,4BAAA,GAAX;QAAmC,KAAK,EAAED;MAA1C,GACGD,QADH,CADF;IAKD,CAPY;;IAAA,yCASK,CAChBA,QADgB,EAEhBG,IAFgB,EAGhBF,MAHgB,KAIb;MACH,oBACE,6BAAC,iBAAD;QACE,iBAAiB,EAAC,MADpB;QAEE,iBAAiB,EAAC,uBAFpB;QAGE,GAAG,EAAE,IAAAC,4BAAA,GAHP;QAIE,OAAO,EAAE,IAAAE,qBAAA,EAAYD,IAAZ,CAJX;QAKE,KAAK,EAAEF;MALT,GAOGD,QAPH,CADF;IAWD,CAzBY;;IAAA,0CA2BM,CAACG,IAAD,EAAeE,QAAf,EAAiCC,GAAjC,KAAkD;MACnE,MAAMC,SAAS,GAAG,KAAKC,YAAL,CAAkBH,QAAlB,EAA4BC,GAA5B,CAAlB;MACA,oBACE,6BAAC,+BAAD;QACE,iBAAiB,EAAC,MADpB;QAEE,iBAAiB,EAAC,uBAFpB;QAGE,OAAO,EAAE,IAAAF,qBAAA,EAAYD,IAAZ,CAHX;QAIE,GAAG,EAAE,IAAAD,4BAAA;MAJP,GAMGK,SANH,CADF;IAUD,CAvCY;EAAA;;EAyCbE,WAAW,CAACT,QAAD,EAA+BC,MAA/B,EAAsD;IAC/D,oBACE,6BAAC,iBAAD;MAAM,GAAG,EAAE,IAAAC,4BAAA,GAAX;MAAmC,KAAK,EAAED;IAA1C,GACGD,QADH,CADF;EAKD;;EAEDU,gBAAgB,CACdC,IADc,EAEdC,cAFc,EAGdC,SAHc,EAId;IACA,oBACE,6BAAC,uBAAD;MACE,GAAG,EAAE,IAAAX,4BAAA,GADP;MAEE,qBAAqB,EAAEU,cAFzB;MAGE,UAAU;IAHZ,gBAKE,6BAAC,iBAAD;MAAM,KAAK,EAAEC;IAAb,GAAyBF,IAAzB,CALF,CADF;EASD;;EAEDG,iBAAiB,CAACd,QAAD,EAAwBC,MAAxB,EAA+C;IAC9D,oBACE,6BAAC,iBAAD;MAAM,GAAG,EAAE,IAAAC,4BAAA,GAAX;MAAmC,KAAK,EAAED;IAA1C,GACGD,QADH,CADF;EAKD;;EAEDQ,YAAY,CAACO,GAAD,EAAcT,GAAd,EAA4B;IACtC,oBAAO,6BAAC,gBAAD;MAAS,GAAG,EAAE,IAAAJ,4BAAA,GAAd;MAAsC,GAAG,EAAEa,GAA3C;MAAgD,GAAG,EAAET;IAArD,EAAP;EACD;;EAEDU,WAAW,CACTC,OADS,EAETC,EAFS,EAGTC,SAHS,EAITN,SAJS,EAKT;IACA,oBACE,6BAAC,sBAAD;MACE,eAAe,EAAEI,OAAO,GAAGG,gBAAH,GAAaC,aADvC;MAEE,eAAe,EAAER,SAFnB;MAGE,cAAc,EAAEM,SAHlB;MAIE,GAAG,EAAE,IAAAjB,4BAAA;IAJP,GAMGgB,EAAE,CAACI,GAAH,CAAQC,IAAD,IAAUA,IAAjB,CANH,CADF;EAUD;;AA7FY;;eAgGAxB,Q"}
1
+ {"version":3,"names":["Renderer","children","styles","generateRandomString","href","onLinkPress","imageUrl","alt","style","imageNode","getImageNode","getViewNode","getCodeBlockNode","text","containerStyle","textStyle","getBlockquoteNode","uri","getListNode","ordered","li","listStyle","Decimal","Disc","map","node"],"sourceRoot":"../../src","sources":["Renderer.tsx"],"mappings":";;;;;;;AAAA;;AACA;;AASA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;AAEA,MAAMA,QAAN,CAAe;EAAA;IAAA,qCACC,CAACC,QAAD,EAAiCC,MAAjC,KAAwD;MACpE,oBACE,6BAAC,iBAAD;QAAM,GAAG,EAAE,IAAAC,4BAAA,GAAX;QAAmC,KAAK,EAAED;MAA1C,GACGD,QADH,CADF;IAKD,CAPY;;IAAA,yCASK,CAChBA,QADgB,EAEhBG,IAFgB,EAGhBF,MAHgB,KAIb;MACH,oBACE,6BAAC,iBAAD;QACE,iBAAiB,EAAC,MADpB;QAEE,iBAAiB,EAAC,uBAFpB;QAGE,GAAG,EAAE,IAAAC,4BAAA,GAHP;QAIE,OAAO,EAAE,IAAAE,qBAAA,EAAYD,IAAZ,CAJX;QAKE,KAAK,EAAEF;MALT,GAOGD,QAPH,CADF;IAWD,CAzBY;;IAAA,0CA2BM,CACjBG,IADiB,EAEjBE,QAFiB,EAGjBC,GAHiB,EAIjBC,KAJiB,KAKd;MACH,MAAMC,SAAS,GAAG,KAAKC,YAAL,CAAkBJ,QAAlB,EAA4BC,GAA5B,EAAiCC,KAAjC,CAAlB;MACA,oBACE,6BAAC,+BAAD;QACE,iBAAiB,EAAC,MADpB;QAEE,iBAAiB,EAAC,uBAFpB;QAGE,OAAO,EAAE,IAAAH,qBAAA,EAAYD,IAAZ,CAHX;QAIE,GAAG,EAAE,IAAAD,4BAAA;MAJP,GAMGM,SANH,CADF;IAUD,CA5CY;EAAA;;EA8CbE,WAAW,CAACV,QAAD,EAA+BC,MAA/B,EAAmD;IAC5D,oBACE,6BAAC,iBAAD;MAAM,GAAG,EAAE,IAAAC,4BAAA,GAAX;MAAmC,KAAK,EAAED;IAA1C,GACGD,QADH,CADF;EAKD;;EAEDW,gBAAgB,CACdC,IADc,EAEdC,cAFc,EAGdC,SAHc,EAId;IACA,oBACE,6BAAC,uBAAD;MACE,GAAG,EAAE,IAAAZ,4BAAA,GADP;MAEE,qBAAqB,EAAEW,cAFzB;MAGE,UAAU;IAHZ,gBAKE,6BAAC,iBAAD;MAAM,KAAK,EAAEC;IAAb,GAAyBF,IAAzB,CALF,CADF;EASD;;EAEDG,iBAAiB,CAACf,QAAD,EAAwBC,MAAxB,EAA4C;IAC3D,oBACE,6BAAC,iBAAD;MAAM,GAAG,EAAE,IAAAC,4BAAA,GAAX;MAAmC,KAAK,EAAED;IAA1C,GACGD,QADH,CADF;EAKD;;EAEDS,YAAY,CAACO,GAAD,EAAcV,GAAd,EAA4BC,KAA5B,EAAgD;IAC1D,oBACE,6BAAC,gBAAD;MAAS,GAAG,EAAE,IAAAL,4BAAA,GAAd;MAAsC,GAAG,EAAEc,GAA3C;MAAgD,GAAG,EAAEV,GAArD;MAA0D,KAAK,EAAEC;IAAjE,EADF;EAGD;;EAEDU,WAAW,CACTC,OADS,EAETC,EAFS,EAGTC,SAHS,EAITN,SAJS,EAKT;IACA,oBACE,6BAAC,sBAAD;MACE,eAAe,EAAEI,OAAO,GAAGG,gBAAH,GAAaC,aADvC;MAEE,eAAe,EAAER,SAFnB;MAGE,cAAc,EAAEM,SAHlB;MAIE,GAAG,EAAE,IAAAlB,4BAAA;IAJP,GAMGiB,EAAE,CAACI,GAAH,CAAQC,IAAD,IAAUA,IAAjB,CANH,CADF;EAUD;;AApGY;;eAuGAzB,Q"}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type { ReactNode } from 'react';\nimport type {\n ImageStyle,\n TextStyle,\n ViewStyle,\n FlatListProps,\n} from 'react-native';\nimport type { MarkedStyles } from './../theme/types';\n\nexport type TextStyleProp = TextStyle | undefined;\nexport type ViewStyleProp = ViewStyle | undefined;\nexport type CustomStyleProp = ViewStyle | TextStyle | ImageStyle | undefined;\n\nexport interface ParserOptions {\n styles?: MarkedStyles;\n}\n\nexport interface MarkdownProps {\n value: string;\n flatListProps?: Omit<\n FlatListProps<ReactNode>,\n 'data' | 'renderItem' | 'horizontal'\n >;\n styles?: MarkedStyles;\n}\n"],"mappings":""}
1
+ {"version":3,"names":[],"sourceRoot":"../../src","sources":["types.ts"],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"names":["colors","light","background","code","link","text","border","dark"],"sources":["colors.ts"],"sourcesContent":["import type { ColorKeys } from './types';\n\nconst colors: Record<'light' | 'dark', Record<ColorKeys, string>> = {\n light: {\n background: '#ffffff',\n code: '#f6f8fa',\n link: '#58a6ff',\n text: '#333333',\n border: '#d0d7de',\n },\n dark: {\n background: '#000000',\n code: '#161b22',\n link: '#58a6ff',\n text: '#ffffff',\n border: '#30363d',\n },\n};\n\nexport default colors;\n"],"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":";;;;;;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"}
@@ -110,6 +110,9 @@ const getStyles = (userStyles, colorScheme) => {
110
110
  },
111
111
  li: { ...fontStyle.regular,
112
112
  flexShrink: 1
113
+ },
114
+ image: {
115
+ resizeMode: 'cover'
113
116
  }
114
117
  });
115
118
 
@@ -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"],"sources":["styles.ts"],"sourcesContent":["import { ColorSchemeName, StyleSheet } from 'react-native';\nimport { getTheme } from './theme';\nimport type { MarkedStyles, Theme } from './types';\n\nconst getFontStyles = (theme: Theme) => {\n return StyleSheet.create({\n regular: {\n fontSize: 16,\n lineHeight: 24,\n color: theme.colors.text,\n },\n heading: {\n fontWeight: '500',\n color: theme.colors.text,\n },\n });\n};\n\nconst getStyles = (\n userStyles?: MarkedStyles,\n colorScheme?: ColorSchemeName\n): MarkedStyles => {\n const theme = getTheme(colorScheme || 'light');\n const fontStyle = getFontStyles(theme);\n const defaultStyles = StyleSheet.create<MarkedStyles>({\n container: {\n backgroundColor: theme.colors.background,\n },\n em: {\n ...fontStyle.regular,\n fontStyle: 'italic',\n },\n strong: {\n ...fontStyle.regular,\n fontWeight: 'bold',\n },\n strikethrough: {\n ...fontStyle.regular,\n textDecorationLine: 'line-through',\n textDecorationStyle: 'solid',\n },\n text: {\n ...fontStyle.regular,\n },\n paragraph: {\n ...fontStyle.regular,\n paddingVertical: 8,\n },\n link: {\n ...fontStyle.regular,\n fontStyle: 'italic',\n color: theme.colors.link,\n },\n blockquote: {\n borderLeftColor: theme.colors.border,\n paddingLeft: 16,\n borderLeftWidth: 5,\n opacity: 0.8,\n },\n h1: {\n fontSize: 32,\n lineHeight: 40,\n fontWeight: 'bold',\n marginVertical: 8,\n letterSpacing: 0,\n paddingBottom: 4,\n borderBottomColor: theme.colors.border,\n borderBottomWidth: 1,\n },\n h2: {\n ...fontStyle.heading,\n fontSize: 28,\n lineHeight: 36,\n marginVertical: 8,\n paddingBottom: 4,\n borderBottomColor: theme.colors.border,\n borderBottomWidth: 1,\n },\n h3: {\n ...fontStyle.heading,\n fontSize: 24,\n lineHeight: 32,\n marginVertical: 4,\n },\n h4: {\n ...fontStyle.heading,\n fontSize: 22,\n lineHeight: 28,\n marginVertical: 4,\n },\n h5: {\n ...fontStyle.regular,\n ...fontStyle.heading,\n marginVertical: 2,\n },\n h6: {\n ...fontStyle.heading,\n fontSize: 14,\n lineHeight: 20,\n marginVertical: 2,\n },\n codespan: {\n ...fontStyle.regular,\n fontStyle: 'italic',\n backgroundColor: theme.colors.code,\n fontWeight: '300',\n },\n code: {\n padding: 16,\n backgroundColor: theme.colors.code,\n minWidth: '100%',\n },\n hr: {\n borderBottomWidth: 1,\n borderBottomColor: theme.colors.border,\n marginVertical: 4,\n },\n li: {\n ...fontStyle.regular,\n flexShrink: 1,\n },\n });\n\n return {\n ...defaultStyles,\n ...userStyles,\n };\n};\n\nexport default getStyles;\n"],"mappings":"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"}
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 +1 @@
1
- {"version":3,"names":["getTheme","theme","colors"],"sources":["theme.ts"],"sourcesContent":["import type { ColorSchemeName } from 'react-native';\nimport colors from './colors';\nimport type { Theme } from './types';\n\nexport const getTheme = (theme: ColorSchemeName): Theme => {\n return {\n colors: colors[theme || 'light'],\n };\n};\n"],"mappings":";;;;;;;AACA;;;;AAGO,MAAMA,QAAQ,GAAIC,KAAD,IAAmC;EACzD,OAAO;IACLC,MAAM,EAAEA,eAAA,CAAOD,KAAK,IAAI,OAAhB;EADH,CAAP;AAGD,CAJM"}
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 +1 @@
1
- {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type { TextStyle, ViewStyle } from 'react-native';\n\nexport interface MarkedStyles {\n container?: ViewStyle;\n em?: TextStyle;\n strong?: TextStyle;\n strikethrough?: TextStyle;\n text?: TextStyle;\n paragraph?: ViewStyle;\n link?: TextStyle;\n blockquote?: ViewStyle;\n h1?: TextStyle;\n h2?: TextStyle;\n h3?: TextStyle;\n h4?: TextStyle;\n h5?: TextStyle;\n h6?: TextStyle;\n codespan?: TextStyle;\n code?: ViewStyle;\n hr?: ViewStyle;\n list?: ViewStyle;\n li?: TextStyle;\n}\n\nexport type ColorKeys = 'background' | 'code' | 'link' | 'text' | 'border';\n\nexport interface Theme {\n colors: Record<ColorKeys, string>;\n}\n"],"mappings":""}
1
+ {"version":3,"names":[],"sourceRoot":"../../src","sources":["types.ts"],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"names":["onLinkPress","url","Linking","openURL","e","console","warn"],"sources":["handlers.ts"],"sourcesContent":["import { Linking } from 'react-native';\n\nexport const onLinkPress = (url: string) => () => {\n try {\n Linking.openURL(url);\n } catch (e) {\n console.warn(\"URL can't be opened\", e);\n }\n};\n"],"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","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 +1 @@
1
- {"version":3,"names":["generateRandomString","Math","random","toString","substring"],"sources":["string.ts"],"sourcesContent":["/**\n * Generates a random string\n * @returns string\n */\nexport const generateRandomString = () => {\n return Math.random().toString(36).substring(7);\n};\n"],"mappings":";;;;;;;AAAA;AACA;AACA;AACA;AACO,MAAMA,oBAAoB,GAAG,MAAM;EACxC,OAAOC,IAAI,CAACC,MAAL,GAAcC,QAAd,CAAuB,EAAvB,EAA2BC,SAA3B,CAAqC,CAArC,CAAP;AACD,CAFM"}
1
+ {"version":3,"names":["generateRandomString","Math","random","toString","substring"],"sourceRoot":"../../src","sources":["string.ts"],"mappings":";;;;;;;AAAA;AACA;AACA;AACA;AACO,MAAMA,oBAAoB,GAAG,MAAM;EACxC,OAAOC,IAAI,CAACC,MAAL,GAAcC,QAAd,CAAuB,EAAvB,EAA2BC,SAA3B,CAAqC,CAArC,CAAP;AACD,CAFM"}
@@ -5,7 +5,8 @@ import FitImage from 'react-native-fit-image';
5
5
  const MDImage = _ref => {
6
6
  let {
7
7
  uri,
8
- alt
8
+ alt,
9
+ style
9
10
  } = _ref;
10
11
  useEffect(() => {
11
12
  Image.prefetch(uri);
@@ -13,10 +14,12 @@ const MDImage = _ref => {
13
14
  return /*#__PURE__*/React.createElement(FitImage, {
14
15
  accessibilityRole: "image",
15
16
  accessibilityLabel: alt || 'Image',
17
+ accessibilityHint: undefined,
16
18
  source: {
17
19
  uri
18
20
  },
19
- resizeMode: "cover"
21
+ resizeMode: "cover",
22
+ style: style
20
23
  });
21
24
  };
22
25
 
@@ -1 +1 @@
1
- {"version":3,"names":["React","memo","useEffect","Image","FitImage","MDImage","uri","alt","prefetch"],"sources":["MDImage.tsx"],"sourcesContent":["import React, { memo, useEffect } from 'react';\nimport { Image } from 'react-native';\nimport FitImage from 'react-native-fit-image';\n\ninterface MDImageProps {\n uri: string;\n alt?: string;\n}\n\nconst MDImage = ({ uri, alt }: MDImageProps) => {\n useEffect(() => {\n Image.prefetch(uri);\n }, [uri]);\n\n return (\n <FitImage\n accessibilityRole=\"image\"\n accessibilityLabel={alt || 'Image'}\n source={{ uri }}\n resizeMode=\"cover\"\n />\n );\n};\n\nexport default memo(MDImage);\n"],"mappings":"AAAA,OAAOA,KAAP,IAAgBC,IAAhB,EAAsBC,SAAtB,QAAuC,OAAvC;AACA,SAASC,KAAT,QAAsB,cAAtB;AACA,OAAOC,QAAP,MAAqB,wBAArB;;AAOA,MAAMC,OAAO,GAAG,QAAgC;EAAA,IAA/B;IAAEC,GAAF;IAAOC;EAAP,CAA+B;EAC9CL,SAAS,CAAC,MAAM;IACdC,KAAK,CAACK,QAAN,CAAeF,GAAf;EACD,CAFQ,EAEN,CAACA,GAAD,CAFM,CAAT;EAIA,oBACE,oBAAC,QAAD;IACE,iBAAiB,EAAC,OADpB;IAEE,kBAAkB,EAAEC,GAAG,IAAI,OAF7B;IAGE,MAAM,EAAE;MAAED;IAAF,CAHV;IAIE,UAAU,EAAC;EAJb,EADF;AAQD,CAbD;;AAeA,4BAAeL,IAAI,CAACI,OAAD,CAAnB"}
1
+ {"version":3,"names":["React","memo","useEffect","Image","FitImage","MDImage","uri","alt","style","prefetch","undefined"],"sourceRoot":"../../src","sources":["MDImage.tsx"],"mappings":"AAAA,OAAOA,KAAP,IAAgBC,IAAhB,EAAsBC,SAAtB,QAAuC,OAAvC;AACA,SAASC,KAAT,QAAkC,cAAlC;AACA,OAAOC,QAAP,MAAqB,wBAArB;;AAQA,MAAMC,OAAO,GAAG,QAAuC;EAAA,IAAtC;IAAEC,GAAF;IAAOC,GAAP;IAAYC;EAAZ,CAAsC;EACrDN,SAAS,CAAC,MAAM;IACdC,KAAK,CAACM,QAAN,CAAeH,GAAf;EACD,CAFQ,EAEN,CAACA,GAAD,CAFM,CAAT;EAIA,oBACE,oBAAC,QAAD;IACE,iBAAiB,EAAC,OADpB;IAEE,kBAAkB,EAAEC,GAAG,IAAI,OAF7B;IAGE,iBAAiB,EAAEG,SAHrB;IAIE,MAAM,EAAE;MAAEJ;IAAF,CAJV;IAKE,UAAU,EAAC,OALb;IAME,KAAK,EAAEE;EANT,EADF;AAUD,CAfD;;AAiBA,4BAAeP,IAAI,CAACI,OAAD,CAAnB"}
@@ -1 +1 @@
1
- {"version":3,"names":["Markdown"],"sources":["index.ts"],"sourcesContent":["import Markdown from './lib/Markdown';\n\nexport default Markdown;\n"],"mappings":"AAAA,OAAOA,QAAP,MAAqB,gBAArB;AAEA,eAAeA,QAAf"}
1
+ {"version":3,"names":["Markdown"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"AAAA,OAAOA,QAAP,MAAqB,gBAArB;AAEA,eAAeA,QAAf"}
@@ -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","parse","renderItem","item","keyExtractor","_","index","toString","container"],"sources":["Markdown.tsx"],"sourcesContent":["import React, { memo, ReactNode, useCallback, useMemo } from 'react';\nimport { FlatList, useColorScheme } from 'react-native';\nimport { marked } from 'marked';\nimport Parser from './Parser';\nimport getStyles from '../theme/styles';\nimport type { MarkdownProps } from './types';\n\nconst Markdown = ({\n value,\n flatListProps,\n styles: userStyles,\n}: MarkdownProps) => {\n const systemTheme = useColorScheme();\n const styles = useMemo(\n () => getStyles(userStyles, systemTheme),\n [userStyles, systemTheme]\n );\n\n const rnElements = useMemo(() => {\n const parser = new Parser({\n styles,\n });\n const tokens = marked.lexer(value);\n\n return parser.parse(tokens);\n }, [value, styles]);\n\n const renderItem = useCallback(({ item }: { item: ReactNode }) => {\n return <>{item}</>;\n }, []);\n\n const keyExtractor = useCallback(\n (_: ReactNode, index: number) => index.toString(),\n []\n );\n\n return (\n <FlatList\n keyExtractor={keyExtractor}\n maxToRenderPerBatch={8}\n initialNumToRender={8}\n removeClippedSubviews\n style={styles.container}\n {...flatListProps}\n data={rnElements}\n renderItem={renderItem}\n />\n );\n};\n\nexport default memo(Markdown);\n"],"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,CAAf;IAEA,OAAOM,MAAM,CAACG,KAAP,CAAaF,MAAb,CAAP;EACD,CAPyB,EAOvB,CAACP,KAAD,EAAQE,MAAR,CAPuB,CAA1B;EASA,MAAMQ,UAAU,GAAGlB,WAAW,CAAC,SAAmC;IAAA,IAAlC;MAAEmB;IAAF,CAAkC;IAChE,oBAAO,0CAAGA,IAAH,CAAP;EACD,CAF6B,EAE3B,EAF2B,CAA9B;EAIA,MAAMC,YAAY,GAAGpB,WAAW,CAC9B,CAACqB,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,EAAEV,MAAM,CAACc;EALhB,GAMMf,aANN;IAOE,IAAI,EAAEI,UAPR;IAQE,UAAU,EAAEK;EARd,GADF;AAYD,CAzCD;;AA2CA,4BAAenB,IAAI,CAACQ,QAAD,CAAnB"}
1
+ {"version":3,"names":["React","memo","useCallback","useMemo","FlatList","useColorScheme","marked","Parser","getStyles","Markdown","value","flatListProps","styles","userStyles","systemTheme","rnElements","parser","tokens","lexer","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,CAAf;IAEA,OAAOM,MAAM,CAACG,KAAP,CAAaF,MAAb,CAAP;EACD,CAPyB,EAOvB,CAACP,KAAD,EAAQE,MAAR,CAPuB,CAA1B;EASA,MAAMQ,UAAU,GAAGlB,WAAW,CAAC,SAAmC;IAAA,IAAlC;MAAEmB;IAAF,CAAkC;IAChE,oBAAO,0CAAGA,IAAH,CAAP;EACD,CAF6B,EAE3B,EAF2B,CAA9B;EAIA,MAAMC,YAAY,GAAGpB,WAAW,CAC9B,CAACqB,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,EAAEV,MAAM,CAACc;EALhB,GAMMf,aANN;IAOE,IAAI,EAAEI,UAPR;IAQE,UAAU,EAAEK;EARd,GADF;AAYD,CAzCD;;AA2CA,4BAAenB,IAAI,CAACQ,QAAD,CAAnB"}
@@ -33,7 +33,7 @@ class Parser {
33
33
  siblingNodes.push(this.parseInline([t]));
34
34
  } else if (t.type === 'link') {
35
35
  const imageToken = t.tokens[0];
36
- siblingNodes.push(this.renderer.getImageLinkNode(t.href, imageToken.href, imageToken.text || imageToken.title));
36
+ siblingNodes.push(this.renderer.getImageLinkNode(t.href, imageToken.href, imageToken.text || imageToken.title, this.styles.image));
37
37
  }
38
38
 
39
39
  tokenRenderQueue = [];
@@ -151,7 +151,7 @@ class Parser {
151
151
 
152
152
  case 'image':
153
153
  {
154
- return this.renderer.getImageNode(token.href, token.text || token.title);
154
+ return this.renderer.getImageNode(token.href, token.text || token.title, this.styles.image);
155
155
  }
156
156
 
157
157
  case 'strong':
@@ -1 +1 @@
1
- {"version":3,"names":["decode","Renderer","Parser","constructor","options","tokens","textStyle","tokenRenderQueue","siblingNodes","forEach","t","type","parsed","parseInline","length","push","renderer","getTextNode","imageToken","getImageLinkNode","href","text","title","styles","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","trim","console","warn"],"sources":["Parser.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport type { marked } from 'marked';\nimport { decode } from 'entities';\nimport Renderer from './Renderer';\nimport type { MarkedStyles } from '../theme/types';\nimport type { CustomStyleProp, ParserOptions, TextStyleProp } from './types';\n\nclass Parser {\n private renderer;\n private styles: MarkedStyles;\n private headingStylesMap: Record<number, TextStyleProp>;\n constructor(options: ParserOptions) {\n this.styles = { ...options.styles };\n this.renderer = new Renderer();\n this.headingStylesMap = {\n 1: this.styles.h1,\n 2: this.styles.h2,\n 3: this.styles.h3,\n 4: this.styles.h4,\n 5: this.styles.h5,\n 6: this.styles.h6,\n };\n }\n\n parse(tokens: marked.Token[]) {\n const elements: ReactNode[] = tokens.map((token) => {\n switch (token.type) {\n case 'space': {\n return null;\n }\n case 'paragraph': {\n const paragraphChildren =\n this.getNormalizedSiblingNodesForBlockAndInlineTokens(\n token.tokens,\n this.styles.text\n );\n\n return this.renderer.getViewNode(\n paragraphChildren,\n this.styles.paragraph\n );\n }\n case 'blockquote': {\n return this.renderer.getBlockquoteNode(\n this.parse(token.tokens),\n this.styles.blockquote\n );\n }\n case 'heading': {\n const styles = this.headingStylesMap[token.depth] ?? this.styles.text;\n return this.renderer.getTextNode(\n this.parseInline(token.tokens, styles),\n styles\n );\n }\n case 'code': {\n return this.renderer.getCodeBlockNode(\n token.text,\n this.styles.code,\n this.styles.em\n );\n }\n case 'hr': {\n return this.renderer.getViewNode(null, this.styles.hr);\n }\n case 'list': {\n const li = token.items.map((item) => {\n const children = item.tokens.map((cItem) => {\n if (cItem.type === 'text') {\n /* getViewNode since tokens could contain a block like elements (i.e. img) */\n const childTokens = (cItem as marked.Tokens.Text).tokens || [];\n const listChildren =\n this.getNormalizedSiblingNodesForBlockAndInlineTokens(\n childTokens,\n this.styles.li\n );\n return this.renderer.getViewNode(listChildren, this.styles.li);\n }\n\n /* Parse the nested token */\n return this.parse([cItem]);\n });\n return this.renderer.getViewNode(children, this.styles.li);\n });\n return this.renderer.getListNode(\n token.ordered,\n li,\n this.styles.list,\n this.styles.li\n );\n }\n default:\n return this.parseInline([token]);\n }\n });\n return elements.filter((element) => element !== null);\n }\n\n parseInline(tokens: marked.Token[], styles?: CustomStyleProp) {\n const elements: ReactNode[] = tokens.map((token) => {\n if (!token) return null;\n\n switch (token.type) {\n case 'escape': {\n return this.renderer.getTextNode(token.text, {\n ...this.styles.text,\n ...styles,\n });\n }\n case 'link': {\n // Note: Linking Images (https://www.markdownguide.org/basic-syntax/#linking-images) are wrapped\n // in paragraph token, so will be handled via `getNormalizedSiblingNodesForBlockAndInlineTokens`\n const linkStyle = {\n ...styles,\n ...this.styles.link, // To override color property\n };\n return this.renderer.getTextLinkNode(\n this.parseInline(token.tokens, linkStyle),\n token.href,\n linkStyle\n );\n }\n case 'image': {\n return this.renderer.getImageNode(\n token.href,\n token.text || token.title\n );\n }\n case 'strong': {\n const boldStyle = {\n ...this.styles.strong,\n ...styles,\n };\n return this.renderer.getTextNode(\n this.parseInline(token.tokens, boldStyle),\n boldStyle\n );\n }\n case 'em': {\n const italicStyle = {\n ...this.styles.em,\n ...styles,\n };\n return this.renderer.getTextNode(\n this.parseInline(token.tokens, italicStyle),\n italicStyle\n );\n }\n case 'codespan': {\n return this.renderer.getTextNode(token.text, {\n ...this.styles.codespan,\n ...styles,\n });\n }\n case 'br': {\n return this.renderer.getTextNode('\\n', {});\n }\n case 'del': {\n const strikethroughStyle = {\n ...this.styles.strikethrough,\n ...styles,\n };\n return this.renderer.getTextNode(\n this.parseInline(token.tokens, strikethroughStyle),\n strikethroughStyle\n );\n }\n case 'text':\n case 'html': {\n if (token.raw.trim().length < 1) {\n return null;\n }\n\n return this.renderer.getTextNode(decode(token.raw), {\n ...this.styles.text,\n ...styles,\n });\n }\n default: {\n console.warn(`Token with '${token.type}' type was not found.`);\n return null;\n }\n }\n });\n return elements.filter((element) => element !== null);\n }\n\n private getNormalizedSiblingNodesForBlockAndInlineTokens = (\n tokens: marked.Token[],\n textStyle: TextStyleProp\n ): ReactNode[] => {\n let tokenRenderQueue: marked.Token[] = [];\n const siblingNodes: ReactNode[] = [];\n tokens.forEach((t) => {\n /**\n * To avoid inlining images\n * Currently supports images, link images\n * Note: to be extend for other token types\n */\n if (\n t.type === 'image' ||\n (t.type === 'link' &&\n t.tokens &&\n t.tokens[0] &&\n t.tokens[0].type === 'image')\n ) {\n // Render existing inline tokens in the queue\n const parsed = this.parseInline(tokenRenderQueue);\n if (parsed.length > 0) {\n siblingNodes.push(this.renderer.getTextNode(parsed, textStyle));\n }\n\n // Render the current block token\n if (t.type === 'image') {\n siblingNodes.push(this.parseInline([t]));\n } else if (t.type === 'link') {\n const imageToken = t.tokens[0] as marked.Tokens.Image;\n siblingNodes.push(\n this.renderer.getImageLinkNode(\n t.href,\n imageToken.href,\n imageToken.text || imageToken.title\n )\n );\n }\n\n tokenRenderQueue = [];\n return;\n }\n tokenRenderQueue = [...tokenRenderQueue, t];\n });\n\n /* Remaining temp tokens if any */\n if (tokenRenderQueue.length > 0) {\n siblingNodes.push(\n this.renderer.getTextNode(this.parseInline(tokenRenderQueue), {})\n );\n }\n\n return siblingNodes;\n };\n}\n\nexport default Parser;\n"],"mappings":"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"}
1
+ {"version":3,"names":["decode","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","trim","console","warn"],"sourceRoot":"../../src","sources":["Parser.tsx"],"mappings":";;AAGA,SAASA,MAAT,QAAuB,UAAvB;AACA,OAAOC,QAAP,MAAqB,YAArB;;AAIA,MAAMC,MAAN,CAAa;EAIXC,WAAW,CAACC,OAAD,EAAyB;IAAA;;IAAA;;IAAA;;IAAA,0EAoLuB,CACzDC,MADyD,EAEzDC,SAFyD,KAGzC;MAChB,IAAIC,gBAAgC,GAAG,EAAvC;MACA,MAAMC,YAAyB,GAAG,EAAlC;MACAH,MAAM,CAACI,OAAP,CAAgBC,CAAD,IAAO;QACpB;AACN;AACA;AACA;AACA;QACM,IACEA,CAAC,CAACC,IAAF,KAAW,OAAX,IACCD,CAAC,CAACC,IAAF,KAAW,MAAX,IACCD,CAAC,CAACL,MADH,IAECK,CAAC,CAACL,MAAF,CAAS,CAAT,CAFD,IAGCK,CAAC,CAACL,MAAF,CAAS,CAAT,EAAYM,IAAZ,KAAqB,OALzB,EAME;UACA;UACA,MAAMC,MAAM,GAAG,KAAKC,WAAL,CAAiBN,gBAAjB,CAAf;;UACA,IAAIK,MAAM,CAACE,MAAP,GAAgB,CAApB,EAAuB;YACrBN,YAAY,CAACO,IAAb,CAAkB,KAAKC,QAAL,CAAcC,WAAd,CAA0BL,MAA1B,EAAkCN,SAAlC,CAAlB;UACD,CALD,CAOA;;;UACA,IAAII,CAAC,CAACC,IAAF,KAAW,OAAf,EAAwB;YACtBH,YAAY,CAACO,IAAb,CAAkB,KAAKF,WAAL,CAAiB,CAACH,CAAD,CAAjB,CAAlB;UACD,CAFD,MAEO,IAAIA,CAAC,CAACC,IAAF,KAAW,MAAf,EAAuB;YAC5B,MAAMO,UAAU,GAAGR,CAAC,CAACL,MAAF,CAAS,CAAT,CAAnB;YACAG,YAAY,CAACO,IAAb,CACE,KAAKC,QAAL,CAAcG,gBAAd,CACET,CAAC,CAACU,IADJ,EAEEF,UAAU,CAACE,IAFb,EAGEF,UAAU,CAACG,IAAX,IAAmBH,UAAU,CAACI,KAHhC,EAIE,KAAKC,MAAL,CAAYC,KAJd,CADF;UAQD;;UAEDjB,gBAAgB,GAAG,EAAnB;UACA;QACD;;QACDA,gBAAgB,GAAG,CAAC,GAAGA,gBAAJ,EAAsBG,CAAtB,CAAnB;MACD,CAtCD;MAwCA;;MACA,IAAIH,gBAAgB,CAACO,MAAjB,GAA0B,CAA9B,EAAiC;QAC/BN,YAAY,CAACO,IAAb,CACE,KAAKC,QAAL,CAAcC,WAAd,CAA0B,KAAKJ,WAAL,CAAiBN,gBAAjB,CAA1B,EAA8D,EAA9D,CADF;MAGD;;MAED,OAAOC,YAAP;IACD,CA1OmC;;IAClC,KAAKe,MAAL,GAAc,EAAE,GAAGnB,OAAO,CAACmB;IAAb,CAAd;IACA,KAAKP,QAAL,GAAgB,IAAIf,QAAJ,EAAhB;IACA,KAAKwB,gBAAL,GAAwB;MACtB,GAAG,KAAKF,MAAL,CAAYG,EADO;MAEtB,GAAG,KAAKH,MAAL,CAAYI,EAFO;MAGtB,GAAG,KAAKJ,MAAL,CAAYK,EAHO;MAItB,GAAG,KAAKL,MAAL,CAAYM,EAJO;MAKtB,GAAG,KAAKN,MAAL,CAAYO,EALO;MAMtB,GAAG,KAAKP,MAAL,CAAYQ;IANO,CAAxB;EAQD;;EAEDC,KAAK,CAAC3B,MAAD,EAAyB;IAC5B,MAAM4B,QAAqB,GAAG5B,MAAM,CAAC6B,GAAP,CAAYC,KAAD,IAAW;MAClD,QAAQA,KAAK,CAACxB,IAAd;QACE,KAAK,OAAL;UAAc;YACZ,OAAO,IAAP;UACD;;QACD,KAAK,WAAL;UAAkB;YAChB,MAAMyB,iBAAiB,GACrB,KAAKC,gDAAL,CACEF,KAAK,CAAC9B,MADR,EAEE,KAAKkB,MAAL,CAAYF,IAFd,CADF;YAMA,OAAO,KAAKL,QAAL,CAAcsB,WAAd,CACLF,iBADK,EAEL,KAAKb,MAAL,CAAYgB,SAFP,CAAP;UAID;;QACD,KAAK,YAAL;UAAmB;YACjB,OAAO,KAAKvB,QAAL,CAAcwB,iBAAd,CACL,KAAKR,KAAL,CAAWG,KAAK,CAAC9B,MAAjB,CADK,EAEL,KAAKkB,MAAL,CAAYkB,UAFP,CAAP;UAID;;QACD,KAAK,SAAL;UAAgB;YACd,MAAMlB,MAAM,GAAG,KAAKE,gBAAL,CAAsBU,KAAK,CAACO,KAA5B,KAAsC,KAAKnB,MAAL,CAAYF,IAAjE;YACA,OAAO,KAAKL,QAAL,CAAcC,WAAd,CACL,KAAKJ,WAAL,CAAiBsB,KAAK,CAAC9B,MAAvB,EAA+BkB,MAA/B,CADK,EAELA,MAFK,CAAP;UAID;;QACD,KAAK,MAAL;UAAa;YACX,OAAO,KAAKP,QAAL,CAAc2B,gBAAd,CACLR,KAAK,CAACd,IADD,EAEL,KAAKE,MAAL,CAAYqB,IAFP,EAGL,KAAKrB,MAAL,CAAYsB,EAHP,CAAP;UAKD;;QACD,KAAK,IAAL;UAAW;YACT,OAAO,KAAK7B,QAAL,CAAcsB,WAAd,CAA0B,IAA1B,EAAgC,KAAKf,MAAL,CAAYuB,EAA5C,CAAP;UACD;;QACD,KAAK,MAAL;UAAa;YACX,MAAMC,EAAE,GAAGZ,KAAK,CAACa,KAAN,CAAYd,GAAZ,CAAiBe,IAAD,IAAU;cACnC,MAAMC,QAAQ,GAAGD,IAAI,CAAC5C,MAAL,CAAY6B,GAAZ,CAAiBiB,KAAD,IAAW;gBAC1C,IAAIA,KAAK,CAACxC,IAAN,KAAe,MAAnB,EAA2B;kBACzB;kBACA,MAAMyC,WAAW,GAAID,KAAD,CAA8B9C,MAA9B,IAAwC,EAA5D;kBACA,MAAMgD,YAAY,GAChB,KAAKhB,gDAAL,CACEe,WADF,EAEE,KAAK7B,MAAL,CAAYwB,EAFd,CADF;kBAKA,OAAO,KAAK/B,QAAL,CAAcsB,WAAd,CAA0Be,YAA1B,EAAwC,KAAK9B,MAAL,CAAYwB,EAApD,CAAP;gBACD;gBAED;;;gBACA,OAAO,KAAKf,KAAL,CAAW,CAACmB,KAAD,CAAX,CAAP;cACD,CAdgB,CAAjB;cAeA,OAAO,KAAKnC,QAAL,CAAcsB,WAAd,CAA0BY,QAA1B,EAAoC,KAAK3B,MAAL,CAAYwB,EAAhD,CAAP;YACD,CAjBU,CAAX;YAkBA,OAAO,KAAK/B,QAAL,CAAcsC,WAAd,CACLnB,KAAK,CAACoB,OADD,EAELR,EAFK,EAGL,KAAKxB,MAAL,CAAYiC,IAHP,EAIL,KAAKjC,MAAL,CAAYwB,EAJP,CAAP;UAMD;;QACD;UACE,OAAO,KAAKlC,WAAL,CAAiB,CAACsB,KAAD,CAAjB,CAAP;MAlEJ;IAoED,CArE6B,CAA9B;IAsEA,OAAOF,QAAQ,CAACwB,MAAT,CAAiBC,OAAD,IAAaA,OAAO,KAAK,IAAzC,CAAP;EACD;;EAED7C,WAAW,CACTR,MADS,EAETkB,MAFS,EAGT;IACA,MAAMU,QAAqB,GAAG5B,MAAM,CAAC6B,GAAP,CAAYC,KAAD,IAAW;MAClD,IAAI,CAACA,KAAL,EAAY,OAAO,IAAP;;MAEZ,QAAQA,KAAK,CAACxB,IAAd;QACE,KAAK,QAAL;UAAe;YACb,OAAO,KAAKK,QAAL,CAAcC,WAAd,CAA0BkB,KAAK,CAACd,IAAhC,EAAsC,EAC3C,GAAG,KAAKE,MAAL,CAAYF,IAD4B;cAE3C,GAAGE;YAFwC,CAAtC,CAAP;UAID;;QACD,KAAK,MAAL;UAAa;YACX;YACA;YACA,MAAMoC,SAAS,GAAG,EAChB,GAAGpC,MADa;cAEhB,GAAG,KAAKA,MAAL,CAAYqC,IAFC,CAEK;;YAFL,CAAlB;YAIA,OAAO,KAAK5C,QAAL,CAAc6C,eAAd,CACL,KAAKhD,WAAL,CAAiBsB,KAAK,CAAC9B,MAAvB,EAA+BsD,SAA/B,CADK,EAELxB,KAAK,CAACf,IAFD,EAGLuC,SAHK,CAAP;UAKD;;QACD,KAAK,OAAL;UAAc;YACZ,OAAO,KAAK3C,QAAL,CAAc8C,YAAd,CACL3B,KAAK,CAACf,IADD,EAELe,KAAK,CAACd,IAAN,IAAcc,KAAK,CAACb,KAFf,EAGL,KAAKC,MAAL,CAAYC,KAHP,CAAP;UAKD;;QACD,KAAK,QAAL;UAAe;YACb,MAAMuC,SAAS,GAAG,EAChB,GAAG,KAAKxC,MAAL,CAAYyC,MADC;cAEhB,GAAGzC;YAFa,CAAlB;YAIA,OAAO,KAAKP,QAAL,CAAcC,WAAd,CACL,KAAKJ,WAAL,CAAiBsB,KAAK,CAAC9B,MAAvB,EAA+B0D,SAA/B,CADK,EAELA,SAFK,CAAP;UAID;;QACD,KAAK,IAAL;UAAW;YACT,MAAME,WAAW,GAAG,EAClB,GAAG,KAAK1C,MAAL,CAAYsB,EADG;cAElB,GAAGtB;YAFe,CAApB;YAIA,OAAO,KAAKP,QAAL,CAAcC,WAAd,CACL,KAAKJ,WAAL,CAAiBsB,KAAK,CAAC9B,MAAvB,EAA+B4D,WAA/B,CADK,EAELA,WAFK,CAAP;UAID;;QACD,KAAK,UAAL;UAAiB;YACf,OAAO,KAAKjD,QAAL,CAAcC,WAAd,CAA0BkB,KAAK,CAACd,IAAhC,EAAsC,EAC3C,GAAG,KAAKE,MAAL,CAAY2C,QAD4B;cAE3C,GAAG3C;YAFwC,CAAtC,CAAP;UAID;;QACD,KAAK,IAAL;UAAW;YACT,OAAO,KAAKP,QAAL,CAAcC,WAAd,CAA0B,IAA1B,EAAgC,EAAhC,CAAP;UACD;;QACD,KAAK,KAAL;UAAY;YACV,MAAMkD,kBAAkB,GAAG,EACzB,GAAG,KAAK5C,MAAL,CAAY6C,aADU;cAEzB,GAAG7C;YAFsB,CAA3B;YAIA,OAAO,KAAKP,QAAL,CAAcC,WAAd,CACL,KAAKJ,WAAL,CAAiBsB,KAAK,CAAC9B,MAAvB,EAA+B8D,kBAA/B,CADK,EAELA,kBAFK,CAAP;UAID;;QACD,KAAK,MAAL;QACA,KAAK,MAAL;UAAa;YACX,IAAIhC,KAAK,CAACkC,GAAN,CAAUC,IAAV,GAAiBxD,MAAjB,GAA0B,CAA9B,EAAiC;cAC/B,OAAO,IAAP;YACD;;YAED,OAAO,KAAKE,QAAL,CAAcC,WAAd,CAA0BjB,MAAM,CAACmC,KAAK,CAACkC,GAAP,CAAhC,EAA6C,EAClD,GAAG,KAAK9C,MAAL,CAAYF,IADmC;cAElD,GAAGE;YAF+C,CAA7C,CAAP;UAID;;QACD;UAAS;YACPgD,OAAO,CAACC,IAAR,CAAc,eAAcrC,KAAK,CAACxB,IAAK,uBAAvC;YACA,OAAO,IAAP;UACD;MAhFH;IAkFD,CArF6B,CAA9B;IAsFA,OAAOsB,QAAQ,CAACwB,MAAT,CAAiBC,OAAD,IAAaA,OAAO,KAAK,IAAzC,CAAP;EACD;;AAtLU;;AAiPb,eAAexD,MAAf"}
@@ -28,8 +28,8 @@ class Renderer {
28
28
  }, children);
29
29
  });
30
30
 
31
- _defineProperty(this, "getImageLinkNode", (href, imageUrl, alt) => {
32
- const imageNode = this.getImageNode(imageUrl, alt);
31
+ _defineProperty(this, "getImageLinkNode", (href, imageUrl, alt, style) => {
32
+ const imageNode = this.getImageNode(imageUrl, alt, style);
33
33
  return /*#__PURE__*/React.createElement(TouchableHighlight, {
34
34
  accessibilityRole: "link",
35
35
  accessibilityHint: "Opens in a new window",
@@ -63,11 +63,12 @@ class Renderer {
63
63
  }, children);
64
64
  }
65
65
 
66
- getImageNode(uri, alt) {
66
+ getImageNode(uri, alt, style) {
67
67
  return /*#__PURE__*/React.createElement(MDImage, {
68
68
  key: generateRandomString(),
69
69
  uri: uri,
70
- alt: alt
70
+ alt: alt,
71
+ style: style
71
72
  });
72
73
  }
73
74
 
@@ -1 +1 @@
1
- {"version":3,"names":["React","ScrollView","View","Text","TouchableHighlight","MarkedList","Disc","Decimal","MDImage","generateRandomString","onLinkPress","Renderer","children","styles","href","imageUrl","alt","imageNode","getImageNode","getViewNode","getCodeBlockNode","text","containerStyle","textStyle","getBlockquoteNode","uri","getListNode","ordered","li","listStyle","map","node"],"sources":["Renderer.tsx"],"sourcesContent":["import React, { ReactNode } from 'react';\nimport { ScrollView, View, Text, TouchableHighlight } from 'react-native';\nimport MarkedList from '@jsamr/react-native-li';\nimport Disc from '@jsamr/counter-style/presets/disc';\nimport Decimal from '@jsamr/counter-style/presets/decimal';\nimport MDImage from './../components/MDImage';\nimport { generateRandomString } from '../utils/string';\nimport type { TextStyleProp, ViewStyleProp } from './types';\nimport { onLinkPress } from '../utils/handlers';\n\nclass Renderer {\n getTextNode = (children: string | ReactNode[], styles: TextStyleProp) => {\n return (\n <Text key={generateRandomString()} style={styles}>\n {children}\n </Text>\n );\n };\n\n getTextLinkNode = (\n children: string | ReactNode[],\n href: string,\n styles: TextStyleProp\n ) => {\n return (\n <Text\n accessibilityRole=\"link\"\n accessibilityHint=\"Opens in a new window\"\n key={generateRandomString()}\n onPress={onLinkPress(href)}\n style={styles}\n >\n {children}\n </Text>\n );\n };\n\n getImageLinkNode = (href: string, imageUrl: string, alt?: string) => {\n const imageNode = this.getImageNode(imageUrl, alt);\n return (\n <TouchableHighlight\n accessibilityRole=\"link\"\n accessibilityHint=\"Opens in a new window\"\n onPress={onLinkPress(href)}\n key={generateRandomString()}\n >\n {imageNode}\n </TouchableHighlight>\n );\n };\n\n getViewNode(children: ReactNode[] | null, styles: ViewStyleProp) {\n return (\n <View key={generateRandomString()} style={styles}>\n {children}\n </View>\n );\n }\n\n getCodeBlockNode(\n text: string,\n containerStyle: ViewStyleProp,\n textStyle: TextStyleProp\n ) {\n return (\n <ScrollView\n key={generateRandomString()}\n contentContainerStyle={containerStyle}\n horizontal\n >\n <Text style={textStyle}>{text}</Text>\n </ScrollView>\n );\n }\n\n getBlockquoteNode(children: ReactNode[], styles: ViewStyleProp) {\n return (\n <View key={generateRandomString()} style={styles}>\n {children}\n </View>\n );\n }\n\n getImageNode(uri: string, alt?: string) {\n return <MDImage key={generateRandomString()} uri={uri} alt={alt} />;\n }\n\n getListNode(\n ordered: boolean,\n li: ReactNode[],\n listStyle: ViewStyleProp,\n textStyle: TextStyleProp\n ) {\n return (\n <MarkedList\n counterRenderer={ordered ? Decimal : Disc}\n markerTextStyle={textStyle}\n markerBoxStyle={listStyle}\n key={generateRandomString()}\n >\n {li.map((node) => node)}\n </MarkedList>\n );\n }\n}\n\nexport default Renderer;\n"],"mappings":";;AAAA,OAAOA,KAAP,MAAiC,OAAjC;AACA,SAASC,UAAT,EAAqBC,IAArB,EAA2BC,IAA3B,EAAiCC,kBAAjC,QAA2D,cAA3D;AACA,OAAOC,UAAP,MAAuB,wBAAvB;AACA,OAAOC,IAAP,MAAiB,mCAAjB;AACA,OAAOC,OAAP,MAAoB,sCAApB;AACA,OAAOC,OAAP,MAAoB,yBAApB;AACA,SAASC,oBAAT,QAAqC,iBAArC;AAEA,SAASC,WAAT,QAA4B,mBAA5B;;AAEA,MAAMC,QAAN,CAAe;EAAA;IAAA,qCACC,CAACC,QAAD,EAAiCC,MAAjC,KAA2D;MACvE,oBACE,oBAAC,IAAD;QAAM,GAAG,EAAEJ,oBAAoB,EAA/B;QAAmC,KAAK,EAAEI;MAA1C,GACGD,QADH,CADF;IAKD,CAPY;;IAAA,yCASK,CAChBA,QADgB,EAEhBE,IAFgB,EAGhBD,MAHgB,KAIb;MACH,oBACE,oBAAC,IAAD;QACE,iBAAiB,EAAC,MADpB;QAEE,iBAAiB,EAAC,uBAFpB;QAGE,GAAG,EAAEJ,oBAAoB,EAH3B;QAIE,OAAO,EAAEC,WAAW,CAACI,IAAD,CAJtB;QAKE,KAAK,EAAED;MALT,GAOGD,QAPH,CADF;IAWD,CAzBY;;IAAA,0CA2BM,CAACE,IAAD,EAAeC,QAAf,EAAiCC,GAAjC,KAAkD;MACnE,MAAMC,SAAS,GAAG,KAAKC,YAAL,CAAkBH,QAAlB,EAA4BC,GAA5B,CAAlB;MACA,oBACE,oBAAC,kBAAD;QACE,iBAAiB,EAAC,MADpB;QAEE,iBAAiB,EAAC,uBAFpB;QAGE,OAAO,EAAEN,WAAW,CAACI,IAAD,CAHtB;QAIE,GAAG,EAAEL,oBAAoB;MAJ3B,GAMGQ,SANH,CADF;IAUD,CAvCY;EAAA;;EAyCbE,WAAW,CAACP,QAAD,EAA+BC,MAA/B,EAAsD;IAC/D,oBACE,oBAAC,IAAD;MAAM,GAAG,EAAEJ,oBAAoB,EAA/B;MAAmC,KAAK,EAAEI;IAA1C,GACGD,QADH,CADF;EAKD;;EAEDQ,gBAAgB,CACdC,IADc,EAEdC,cAFc,EAGdC,SAHc,EAId;IACA,oBACE,oBAAC,UAAD;MACE,GAAG,EAAEd,oBAAoB,EAD3B;MAEE,qBAAqB,EAAEa,cAFzB;MAGE,UAAU;IAHZ,gBAKE,oBAAC,IAAD;MAAM,KAAK,EAAEC;IAAb,GAAyBF,IAAzB,CALF,CADF;EASD;;EAEDG,iBAAiB,CAACZ,QAAD,EAAwBC,MAAxB,EAA+C;IAC9D,oBACE,oBAAC,IAAD;MAAM,GAAG,EAAEJ,oBAAoB,EAA/B;MAAmC,KAAK,EAAEI;IAA1C,GACGD,QADH,CADF;EAKD;;EAEDM,YAAY,CAACO,GAAD,EAAcT,GAAd,EAA4B;IACtC,oBAAO,oBAAC,OAAD;MAAS,GAAG,EAAEP,oBAAoB,EAAlC;MAAsC,GAAG,EAAEgB,GAA3C;MAAgD,GAAG,EAAET;IAArD,EAAP;EACD;;EAEDU,WAAW,CACTC,OADS,EAETC,EAFS,EAGTC,SAHS,EAITN,SAJS,EAKT;IACA,oBACE,oBAAC,UAAD;MACE,eAAe,EAAEI,OAAO,GAAGpB,OAAH,GAAaD,IADvC;MAEE,eAAe,EAAEiB,SAFnB;MAGE,cAAc,EAAEM,SAHlB;MAIE,GAAG,EAAEpB,oBAAoB;IAJ3B,GAMGmB,EAAE,CAACE,GAAH,CAAQC,IAAD,IAAUA,IAAjB,CANH,CADF;EAUD;;AA7FY;;AAgGf,eAAepB,QAAf"}
1
+ {"version":3,"names":["React","ScrollView","View","Text","TouchableHighlight","MarkedList","Disc","Decimal","MDImage","generateRandomString","onLinkPress","Renderer","children","styles","href","imageUrl","alt","style","imageNode","getImageNode","getViewNode","getCodeBlockNode","text","containerStyle","textStyle","getBlockquoteNode","uri","getListNode","ordered","li","listStyle","map","node"],"sourceRoot":"../../src","sources":["Renderer.tsx"],"mappings":";;AAAA,OAAOA,KAAP,MAAiC,OAAjC;AACA,SACEC,UADF,EAEEC,IAFF,EAGEC,IAHF,EAIEC,kBAJF,QAQO,cARP;AASA,OAAOC,UAAP,MAAuB,wBAAvB;AACA,OAAOC,IAAP,MAAiB,mCAAjB;AACA,OAAOC,OAAP,MAAoB,sCAApB;AACA,OAAOC,OAAP,MAAoB,yBAApB;AACA,SAASC,oBAAT,QAAqC,iBAArC;AACA,SAASC,WAAT,QAA4B,mBAA5B;;AAEA,MAAMC,QAAN,CAAe;EAAA;IAAA,qCACC,CAACC,QAAD,EAAiCC,MAAjC,KAAwD;MACpE,oBACE,oBAAC,IAAD;QAAM,GAAG,EAAEJ,oBAAoB,EAA/B;QAAmC,KAAK,EAAEI;MAA1C,GACGD,QADH,CADF;IAKD,CAPY;;IAAA,yCASK,CAChBA,QADgB,EAEhBE,IAFgB,EAGhBD,MAHgB,KAIb;MACH,oBACE,oBAAC,IAAD;QACE,iBAAiB,EAAC,MADpB;QAEE,iBAAiB,EAAC,uBAFpB;QAGE,GAAG,EAAEJ,oBAAoB,EAH3B;QAIE,OAAO,EAAEC,WAAW,CAACI,IAAD,CAJtB;QAKE,KAAK,EAAED;MALT,GAOGD,QAPH,CADF;IAWD,CAzBY;;IAAA,0CA2BM,CACjBE,IADiB,EAEjBC,QAFiB,EAGjBC,GAHiB,EAIjBC,KAJiB,KAKd;MACH,MAAMC,SAAS,GAAG,KAAKC,YAAL,CAAkBJ,QAAlB,EAA4BC,GAA5B,EAAiCC,KAAjC,CAAlB;MACA,oBACE,oBAAC,kBAAD;QACE,iBAAiB,EAAC,MADpB;QAEE,iBAAiB,EAAC,uBAFpB;QAGE,OAAO,EAAEP,WAAW,CAACI,IAAD,CAHtB;QAIE,GAAG,EAAEL,oBAAoB;MAJ3B,GAMGS,SANH,CADF;IAUD,CA5CY;EAAA;;EA8CbE,WAAW,CAACR,QAAD,EAA+BC,MAA/B,EAAmD;IAC5D,oBACE,oBAAC,IAAD;MAAM,GAAG,EAAEJ,oBAAoB,EAA/B;MAAmC,KAAK,EAAEI;IAA1C,GACGD,QADH,CADF;EAKD;;EAEDS,gBAAgB,CACdC,IADc,EAEdC,cAFc,EAGdC,SAHc,EAId;IACA,oBACE,oBAAC,UAAD;MACE,GAAG,EAAEf,oBAAoB,EAD3B;MAEE,qBAAqB,EAAEc,cAFzB;MAGE,UAAU;IAHZ,gBAKE,oBAAC,IAAD;MAAM,KAAK,EAAEC;IAAb,GAAyBF,IAAzB,CALF,CADF;EASD;;EAEDG,iBAAiB,CAACb,QAAD,EAAwBC,MAAxB,EAA4C;IAC3D,oBACE,oBAAC,IAAD;MAAM,GAAG,EAAEJ,oBAAoB,EAA/B;MAAmC,KAAK,EAAEI;IAA1C,GACGD,QADH,CADF;EAKD;;EAEDO,YAAY,CAACO,GAAD,EAAcV,GAAd,EAA4BC,KAA5B,EAAgD;IAC1D,oBACE,oBAAC,OAAD;MAAS,GAAG,EAAER,oBAAoB,EAAlC;MAAsC,GAAG,EAAEiB,GAA3C;MAAgD,GAAG,EAAEV,GAArD;MAA0D,KAAK,EAAEC;IAAjE,EADF;EAGD;;EAEDU,WAAW,CACTC,OADS,EAETC,EAFS,EAGTC,SAHS,EAITN,SAJS,EAKT;IACA,oBACE,oBAAC,UAAD;MACE,eAAe,EAAEI,OAAO,GAAGrB,OAAH,GAAaD,IADvC;MAEE,eAAe,EAAEkB,SAFnB;MAGE,cAAc,EAAEM,SAHlB;MAIE,GAAG,EAAErB,oBAAoB;IAJ3B,GAMGoB,EAAE,CAACE,GAAH,CAAQC,IAAD,IAAUA,IAAjB,CANH,CADF;EAUD;;AApGY;;AAuGf,eAAerB,QAAf"}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type { ReactNode } from 'react';\nimport type {\n ImageStyle,\n TextStyle,\n ViewStyle,\n FlatListProps,\n} from 'react-native';\nimport type { MarkedStyles } from './../theme/types';\n\nexport type TextStyleProp = TextStyle | undefined;\nexport type ViewStyleProp = ViewStyle | undefined;\nexport type CustomStyleProp = ViewStyle | TextStyle | ImageStyle | undefined;\n\nexport interface ParserOptions {\n styles?: MarkedStyles;\n}\n\nexport interface MarkdownProps {\n value: string;\n flatListProps?: Omit<\n FlatListProps<ReactNode>,\n 'data' | 'renderItem' | 'horizontal'\n >;\n styles?: MarkedStyles;\n}\n"],"mappings":""}
1
+ {"version":3,"names":[],"sourceRoot":"../../src","sources":["types.ts"],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"names":["colors","light","background","code","link","text","border","dark"],"sources":["colors.ts"],"sourcesContent":["import type { ColorKeys } from './types';\n\nconst colors: Record<'light' | 'dark', Record<ColorKeys, string>> = {\n light: {\n background: '#ffffff',\n code: '#f6f8fa',\n link: '#58a6ff',\n text: '#333333',\n border: '#d0d7de',\n },\n dark: {\n background: '#000000',\n code: '#161b22',\n link: '#58a6ff',\n text: '#ffffff',\n border: '#30363d',\n },\n};\n\nexport default colors;\n"],"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":"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"}
@@ -101,6 +101,9 @@ const getStyles = (userStyles, colorScheme) => {
101
101
  },
102
102
  li: { ...fontStyle.regular,
103
103
  flexShrink: 1
104
+ },
105
+ image: {
106
+ resizeMode: 'cover'
104
107
  }
105
108
  });
106
109
  return { ...defaultStyles,
@@ -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"],"sources":["styles.ts"],"sourcesContent":["import { ColorSchemeName, StyleSheet } from 'react-native';\nimport { getTheme } from './theme';\nimport type { MarkedStyles, Theme } from './types';\n\nconst getFontStyles = (theme: Theme) => {\n return StyleSheet.create({\n regular: {\n fontSize: 16,\n lineHeight: 24,\n color: theme.colors.text,\n },\n heading: {\n fontWeight: '500',\n color: theme.colors.text,\n },\n });\n};\n\nconst getStyles = (\n userStyles?: MarkedStyles,\n colorScheme?: ColorSchemeName\n): MarkedStyles => {\n const theme = getTheme(colorScheme || 'light');\n const fontStyle = getFontStyles(theme);\n const defaultStyles = StyleSheet.create<MarkedStyles>({\n container: {\n backgroundColor: theme.colors.background,\n },\n em: {\n ...fontStyle.regular,\n fontStyle: 'italic',\n },\n strong: {\n ...fontStyle.regular,\n fontWeight: 'bold',\n },\n strikethrough: {\n ...fontStyle.regular,\n textDecorationLine: 'line-through',\n textDecorationStyle: 'solid',\n },\n text: {\n ...fontStyle.regular,\n },\n paragraph: {\n ...fontStyle.regular,\n paddingVertical: 8,\n },\n link: {\n ...fontStyle.regular,\n fontStyle: 'italic',\n color: theme.colors.link,\n },\n blockquote: {\n borderLeftColor: theme.colors.border,\n paddingLeft: 16,\n borderLeftWidth: 5,\n opacity: 0.8,\n },\n h1: {\n fontSize: 32,\n lineHeight: 40,\n fontWeight: 'bold',\n marginVertical: 8,\n letterSpacing: 0,\n paddingBottom: 4,\n borderBottomColor: theme.colors.border,\n borderBottomWidth: 1,\n },\n h2: {\n ...fontStyle.heading,\n fontSize: 28,\n lineHeight: 36,\n marginVertical: 8,\n paddingBottom: 4,\n borderBottomColor: theme.colors.border,\n borderBottomWidth: 1,\n },\n h3: {\n ...fontStyle.heading,\n fontSize: 24,\n lineHeight: 32,\n marginVertical: 4,\n },\n h4: {\n ...fontStyle.heading,\n fontSize: 22,\n lineHeight: 28,\n marginVertical: 4,\n },\n h5: {\n ...fontStyle.regular,\n ...fontStyle.heading,\n marginVertical: 2,\n },\n h6: {\n ...fontStyle.heading,\n fontSize: 14,\n lineHeight: 20,\n marginVertical: 2,\n },\n codespan: {\n ...fontStyle.regular,\n fontStyle: 'italic',\n backgroundColor: theme.colors.code,\n fontWeight: '300',\n },\n code: {\n padding: 16,\n backgroundColor: theme.colors.code,\n minWidth: '100%',\n },\n hr: {\n borderBottomWidth: 1,\n borderBottomColor: theme.colors.border,\n marginVertical: 4,\n },\n li: {\n ...fontStyle.regular,\n flexShrink: 1,\n },\n });\n\n return {\n ...defaultStyles,\n ...userStyles,\n };\n};\n\nexport default getStyles;\n"],"mappings":"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"}
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 +1 @@
1
- {"version":3,"names":["colors","getTheme","theme"],"sources":["theme.ts"],"sourcesContent":["import type { ColorSchemeName } from 'react-native';\nimport colors from './colors';\nimport type { Theme } from './types';\n\nexport const getTheme = (theme: ColorSchemeName): Theme => {\n return {\n colors: colors[theme || 'light'],\n };\n};\n"],"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
+ {"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 +1 @@
1
- {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type { TextStyle, ViewStyle } from 'react-native';\n\nexport interface MarkedStyles {\n container?: ViewStyle;\n em?: TextStyle;\n strong?: TextStyle;\n strikethrough?: TextStyle;\n text?: TextStyle;\n paragraph?: ViewStyle;\n link?: TextStyle;\n blockquote?: ViewStyle;\n h1?: TextStyle;\n h2?: TextStyle;\n h3?: TextStyle;\n h4?: TextStyle;\n h5?: TextStyle;\n h6?: TextStyle;\n codespan?: TextStyle;\n code?: ViewStyle;\n hr?: ViewStyle;\n list?: ViewStyle;\n li?: TextStyle;\n}\n\nexport type ColorKeys = 'background' | 'code' | 'link' | 'text' | 'border';\n\nexport interface Theme {\n colors: Record<ColorKeys, string>;\n}\n"],"mappings":""}
1
+ {"version":3,"names":[],"sourceRoot":"../../src","sources":["types.ts"],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"names":["Linking","onLinkPress","url","openURL","e","console","warn"],"sources":["handlers.ts"],"sourcesContent":["import { Linking } from 'react-native';\n\nexport const onLinkPress = (url: string) => () => {\n try {\n Linking.openURL(url);\n } catch (e) {\n console.warn(\"URL can't be opened\", e);\n }\n};\n"],"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","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 +1 @@
1
- {"version":3,"names":["generateRandomString","Math","random","toString","substring"],"sources":["string.ts"],"sourcesContent":["/**\n * Generates a random string\n * @returns string\n */\nexport const generateRandomString = () => {\n return Math.random().toString(36).substring(7);\n};\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA,OAAO,MAAMA,oBAAoB,GAAG,MAAM;EACxC,OAAOC,IAAI,CAACC,MAAL,GAAcC,QAAd,CAAuB,EAAvB,EAA2BC,SAA3B,CAAqC,CAArC,CAAP;AACD,CAFM"}
1
+ {"version":3,"names":["generateRandomString","Math","random","toString","substring"],"sourceRoot":"../../src","sources":["string.ts"],"mappings":"AAAA;AACA;AACA;AACA;AACA,OAAO,MAAMA,oBAAoB,GAAG,MAAM;EACxC,OAAOC,IAAI,CAACC,MAAL,GAAcC,QAAd,CAAuB,EAAvB,EAA2BC,SAA3B,CAAqC,CAArC,CAAP;AACD,CAFM"}
@@ -1,7 +1,10 @@
1
1
  import React from 'react';
2
+ import { ImageStyle } from 'react-native';
2
3
  interface MDImageProps {
3
4
  uri: string;
4
5
  alt?: string;
6
+ style?: ImageStyle;
5
7
  }
6
- declare const _default: React.MemoExoticComponent<({ uri, alt }: MDImageProps) => JSX.Element>;
8
+ declare const _default: React.MemoExoticComponent<({ uri, alt, style }: MDImageProps) => JSX.Element>;
7
9
  export default _default;
10
+ //# sourceMappingURL=MDImage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MDImage.d.ts","sourceRoot":"","sources":["../../../src/components/MDImage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA0B,MAAM,OAAO,CAAC;AAC/C,OAAO,EAAS,UAAU,EAAE,MAAM,cAAc,CAAC;AAGjD,UAAU,YAAY;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,UAAU,CAAC;CACpB;;AAmBD,wBAA6B"}
@@ -1,2 +1,3 @@
1
1
  import Markdown from './lib/Markdown';
2
2
  export default Markdown;
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAEtC,eAAe,QAAQ,CAAC"}
@@ -2,3 +2,4 @@ import React from 'react';
2
2
  import type { MarkdownProps } from './types';
3
3
  declare const _default: React.MemoExoticComponent<({ value, flatListProps, styles: userStyles, }: MarkdownProps) => JSX.Element>;
4
4
  export default _default;
5
+ //# sourceMappingURL=Markdown.d.ts.map
@@ -0,0 +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;;AA6C7C,wBAA8B"}
@@ -1,13 +1,15 @@
1
1
  import type { ReactNode } from 'react';
2
+ import type { TextStyle, ViewStyle, ImageStyle } from 'react-native';
2
3
  import type { marked } from 'marked';
3
- import type { CustomStyleProp, ParserOptions } from './types';
4
+ import type { ParserOptions } from './types';
4
5
  declare class Parser {
5
6
  private renderer;
6
7
  private styles;
7
8
  private headingStylesMap;
8
9
  constructor(options: ParserOptions);
9
10
  parse(tokens: marked.Token[]): ReactNode[];
10
- parseInline(tokens: marked.Token[], styles?: CustomStyleProp): ReactNode[];
11
+ parseInline(tokens: marked.Token[], styles?: ViewStyle | TextStyle | ImageStyle): ReactNode[];
11
12
  private getNormalizedSiblingNodesForBlockAndInlineTokens;
12
13
  }
13
14
  export default Parser;
15
+ //# sourceMappingURL=Parser.d.ts.map
@@ -0,0 +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;AAIrC,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;IA2F7C,OAAO,CAAC,gDAAgD,CAsDtD;CACH;AAED,eAAe,MAAM,CAAC"}
@@ -1,13 +1,14 @@
1
1
  import { ReactNode } from 'react';
2
- import type { TextStyleProp, ViewStyleProp } from './types';
2
+ import { TextStyle, ViewStyle, ImageStyle } from 'react-native';
3
3
  declare class Renderer {
4
- getTextNode: (children: string | ReactNode[], styles: TextStyleProp) => JSX.Element;
5
- getTextLinkNode: (children: string | ReactNode[], href: string, styles: TextStyleProp) => JSX.Element;
6
- getImageLinkNode: (href: string, imageUrl: string, alt?: string) => JSX.Element;
7
- getViewNode(children: ReactNode[] | null, styles: ViewStyleProp): JSX.Element;
8
- getCodeBlockNode(text: string, containerStyle: ViewStyleProp, textStyle: TextStyleProp): JSX.Element;
9
- getBlockquoteNode(children: ReactNode[], styles: ViewStyleProp): JSX.Element;
10
- getImageNode(uri: string, alt?: string): JSX.Element;
11
- getListNode(ordered: boolean, li: ReactNode[], listStyle: ViewStyleProp, textStyle: TextStyleProp): JSX.Element;
4
+ getTextNode: (children: string | ReactNode[], styles?: TextStyle) => JSX.Element;
5
+ getTextLinkNode: (children: string | ReactNode[], href: string, styles?: TextStyle) => JSX.Element;
6
+ getImageLinkNode: (href: string, imageUrl: string, alt?: string, style?: ImageStyle) => JSX.Element;
7
+ getViewNode(children: ReactNode[] | null, styles?: ViewStyle): JSX.Element;
8
+ getCodeBlockNode(text: string, containerStyle?: ViewStyle, textStyle?: TextStyle): JSX.Element;
9
+ getBlockquoteNode(children: ReactNode[], styles?: ViewStyle): JSX.Element;
10
+ getImageNode(uri: string, alt?: string, style?: ImageStyle): JSX.Element;
11
+ getListNode(ordered: boolean, li: ReactNode[], listStyle?: ViewStyle, textStyle?: TextStyle): JSX.Element;
12
12
  }
13
13
  export default Renderer;
14
+ //# sourceMappingURL=Renderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Renderer.d.ts","sourceRoot":"","sources":["../../../src/lib/Renderer.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,EAKL,SAAS,EACT,SAAS,EACT,UAAU,EACX,MAAM,cAAc,CAAC;AAQtB,cAAM,QAAQ;IACZ,WAAW,aAAc,MAAM,GAAG,SAAS,EAAE,WAAW,SAAS,iBAM/D;IAEF,eAAe,aACH,MAAM,GAAG,SAAS,EAAE,QACxB,MAAM,WACH,SAAS,iBAalB;IAEF,gBAAgB,SACR,MAAM,YACF,MAAM,QACV,MAAM,UACJ,UAAU,iBAalB;IAEF,WAAW,CAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,MAAM,CAAC,EAAE,SAAS;IAQ5D,gBAAgB,CACd,IAAI,EAAE,MAAM,EACZ,cAAc,CAAC,EAAE,SAAS,EAC1B,SAAS,CAAC,EAAE,SAAS;IAavB,iBAAiB,CAAC,QAAQ,EAAE,SAAS,EAAE,EAAE,MAAM,CAAC,EAAE,SAAS;IAQ3D,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,UAAU;IAM1D,WAAW,CACT,OAAO,EAAE,OAAO,EAChB,EAAE,EAAE,SAAS,EAAE,EACf,SAAS,CAAC,EAAE,SAAS,EACrB,SAAS,CAAC,EAAE,SAAS;CAaxB;AAED,eAAe,QAAQ,CAAC"}
@@ -1,9 +1,6 @@
1
1
  import type { ReactNode } from 'react';
2
- import type { ImageStyle, TextStyle, ViewStyle, FlatListProps } from 'react-native';
2
+ import type { FlatListProps } from 'react-native';
3
3
  import type { MarkedStyles } from './../theme/types';
4
- export declare type TextStyleProp = TextStyle | undefined;
5
- export declare type ViewStyleProp = ViewStyle | undefined;
6
- export declare type CustomStyleProp = ViewStyle | TextStyle | ImageStyle | undefined;
7
4
  export interface ParserOptions {
8
5
  styles?: MarkedStyles;
9
6
  }
@@ -12,3 +9,4 @@ export interface MarkdownProps {
12
9
  flatListProps?: Omit<FlatListProps<ReactNode>, 'data' | 'renderItem' | 'horizontal'>;
13
10
  styles?: MarkedStyles;
14
11
  }
12
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +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,3 +1,4 @@
1
1
  import type { ColorKeys } from './types';
2
2
  declare const colors: Record<'light' | 'dark', Record<ColorKeys, string>>;
3
3
  export default colors;
4
+ //# sourceMappingURL=colors.d.ts.map
@@ -0,0 +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"}
@@ -2,3 +2,4 @@ import { ColorSchemeName } from 'react-native';
2
2
  import type { MarkedStyles } from './types';
3
3
  declare const getStyles: (userStyles?: MarkedStyles, colorScheme?: ColorSchemeName) => MarkedStyles;
4
4
  export default getStyles;
5
+ //# sourceMappingURL=styles.d.ts.map
@@ -0,0 +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,3 +1,4 @@
1
1
  import type { ColorSchemeName } from 'react-native';
2
2
  import type { Theme } from './types';
3
3
  export declare const getTheme: (theme: ColorSchemeName) => Theme;
4
+ //# sourceMappingURL=theme.d.ts.map
@@ -0,0 +1 @@
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,4 +1,4 @@
1
- import type { TextStyle, ViewStyle } from 'react-native';
1
+ import type { ImageStyle, TextStyle, ViewStyle } from 'react-native';
2
2
  export interface MarkedStyles {
3
3
  container?: ViewStyle;
4
4
  em?: TextStyle;
@@ -19,8 +19,10 @@ export interface MarkedStyles {
19
19
  hr?: ViewStyle;
20
20
  list?: ViewStyle;
21
21
  li?: TextStyle;
22
+ image?: ImageStyle;
22
23
  }
23
24
  export declare type ColorKeys = 'background' | 'code' | 'link' | 'text' | 'border';
24
25
  export interface Theme {
25
26
  colors: Record<ColorKeys, string>;
26
27
  }
28
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +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 +1,2 @@
1
1
  export declare const onLinkPress: (url: string) => () => void;
2
+ //# sourceMappingURL=handlers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../../src/utils/handlers.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW,QAAS,MAAM,eAMtC,CAAC"}
@@ -3,3 +3,4 @@
3
3
  * @returns string
4
4
  */
5
5
  export declare const generateRandomString: () => string;
6
+ //# sourceMappingURL=string.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"string.d.ts","sourceRoot":"","sources":["../../../src/utils/string.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,oBAAoB,cAEhC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-marked",
3
- "version": "1.3.1",
3
+ "version": "1.4.1",
4
4
  "description": "Markdown renderer for React Native powered by marked.js",
5
5
  "main": "dist/commonjs/index",
6
6
  "module": "dist/module/index",
@@ -50,29 +50,30 @@
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
- "@evilmartians/lefthook": "1.1.2",
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
56
  "@testing-library/jest-native": "5.0.0",
57
- "@testing-library/react-native": "11.2.0",
58
- "@types/jest": "29.1.2",
57
+ "@testing-library/react-native": "11.3.0",
58
+ "@types/jest": "29.2.0",
59
59
  "@types/marked": "4.0.7",
60
60
  "@types/react": "18.0.21",
61
- "@types/react-native": "0.70.4",
62
- "@typescript-eslint/eslint-plugin": "5.40.0",
63
- "@typescript-eslint/parser": "5.40.0",
61
+ "@types/react-native": "0.70.6",
62
+ "@typescript-eslint/eslint-plugin": "5.40.1",
63
+ "@typescript-eslint/parser": "5.40.1",
64
64
  "commitlint": "17.1.2",
65
65
  "eslint": "8.25.0",
66
66
  "eslint-config-prettier": "8.5.0",
67
- "eslint-plugin-jest": "27.1.1",
67
+ "eslint-plugin-jest": "27.1.3",
68
68
  "eslint-plugin-prettier": "4.2.1",
69
- "jest": "29.1.2",
70
- "jest-environment-jsdom": "29.1.2",
69
+ "eslint-plugin-react-native-a11y": "3.2.1",
70
+ "jest": "29.2.1",
71
+ "jest-environment-jsdom": "29.2.1",
71
72
  "pod-install": "0.1.38",
72
73
  "prettier": "2.7.1",
73
74
  "react": "18.2.0",
74
75
  "react-native": "0.70.3",
75
- "react-native-builder-bob": "0.18.3",
76
+ "react-native-builder-bob": "0.20.0",
76
77
  "react-test-renderer": "18.2.0",
77
78
  "release-it": "15.5.0",
78
79
  "typescript": "4.8.4"
@@ -145,7 +146,8 @@
145
146
  "extends": [
146
147
  "@react-native-community",
147
148
  "prettier",
148
- "plugin:@typescript-eslint/recommended"
149
+ "plugin:@typescript-eslint/recommended",
150
+ "plugin:react-native-a11y/all"
149
151
  ],
150
152
  "plugins": [
151
153
  "jest"
@@ -170,7 +172,8 @@
170
172
  "eslintIgnore": [
171
173
  "node_modules/",
172
174
  "dist/",
173
- "examples/*/node_modules"
175
+ "examples/*/node_modules",
176
+ "coverage"
174
177
  ],
175
178
  "prettier": {
176
179
  "quoteProps": "consistent",
@@ -1,13 +1,14 @@
1
1
  import React, { memo, useEffect } from 'react';
2
- import { Image } from 'react-native';
2
+ import { Image, ImageStyle } from 'react-native';
3
3
  import FitImage from 'react-native-fit-image';
4
4
 
5
5
  interface MDImageProps {
6
6
  uri: string;
7
7
  alt?: string;
8
+ style?: ImageStyle;
8
9
  }
9
10
 
10
- const MDImage = ({ uri, alt }: MDImageProps) => {
11
+ const MDImage = ({ uri, alt, style }: MDImageProps) => {
11
12
  useEffect(() => {
12
13
  Image.prefetch(uri);
13
14
  }, [uri]);
@@ -16,8 +17,10 @@ const MDImage = ({ uri, alt }: MDImageProps) => {
16
17
  <FitImage
17
18
  accessibilityRole="image"
18
19
  accessibilityLabel={alt || 'Image'}
20
+ accessibilityHint={undefined}
19
21
  source={{ uri }}
20
22
  resizeMode="cover"
23
+ style={style}
21
24
  />
22
25
  );
23
26
  };
@@ -1,14 +1,15 @@
1
1
  import type { ReactNode } from 'react';
2
+ import type { TextStyle, ViewStyle, ImageStyle } from 'react-native';
2
3
  import type { marked } from 'marked';
3
4
  import { decode } from 'entities';
4
5
  import Renderer from './Renderer';
5
6
  import type { MarkedStyles } from '../theme/types';
6
- import type { CustomStyleProp, ParserOptions, TextStyleProp } from './types';
7
+ import type { ParserOptions } from './types';
7
8
 
8
9
  class Parser {
9
10
  private renderer;
10
11
  private styles: MarkedStyles;
11
- private headingStylesMap: Record<number, TextStyleProp>;
12
+ private headingStylesMap: Record<number, TextStyle | undefined>;
12
13
  constructor(options: ParserOptions) {
13
14
  this.styles = { ...options.styles };
14
15
  this.renderer = new Renderer();
@@ -96,7 +97,10 @@ class Parser {
96
97
  return elements.filter((element) => element !== null);
97
98
  }
98
99
 
99
- parseInline(tokens: marked.Token[], styles?: CustomStyleProp) {
100
+ parseInline(
101
+ tokens: marked.Token[],
102
+ styles?: ViewStyle | TextStyle | ImageStyle
103
+ ) {
100
104
  const elements: ReactNode[] = tokens.map((token) => {
101
105
  if (!token) return null;
102
106
 
@@ -123,7 +127,8 @@ class Parser {
123
127
  case 'image': {
124
128
  return this.renderer.getImageNode(
125
129
  token.href,
126
- token.text || token.title
130
+ token.text || token.title,
131
+ this.styles.image
127
132
  );
128
133
  }
129
134
  case 'strong': {
@@ -187,7 +192,7 @@ class Parser {
187
192
 
188
193
  private getNormalizedSiblingNodesForBlockAndInlineTokens = (
189
194
  tokens: marked.Token[],
190
- textStyle: TextStyleProp
195
+ textStyle?: TextStyle
191
196
  ): ReactNode[] => {
192
197
  let tokenRenderQueue: marked.Token[] = [];
193
198
  const siblingNodes: ReactNode[] = [];
@@ -219,7 +224,8 @@ class Parser {
219
224
  this.renderer.getImageLinkNode(
220
225
  t.href,
221
226
  imageToken.href,
222
- imageToken.text || imageToken.title
227
+ imageToken.text || imageToken.title,
228
+ this.styles.image
223
229
  )
224
230
  );
225
231
  }
@@ -1,15 +1,22 @@
1
1
  import React, { ReactNode } from 'react';
2
- import { ScrollView, View, Text, TouchableHighlight } from 'react-native';
2
+ import {
3
+ ScrollView,
4
+ View,
5
+ Text,
6
+ TouchableHighlight,
7
+ TextStyle,
8
+ ViewStyle,
9
+ ImageStyle,
10
+ } from 'react-native';
3
11
  import MarkedList from '@jsamr/react-native-li';
4
12
  import Disc from '@jsamr/counter-style/presets/disc';
5
13
  import Decimal from '@jsamr/counter-style/presets/decimal';
6
14
  import MDImage from './../components/MDImage';
7
15
  import { generateRandomString } from '../utils/string';
8
- import type { TextStyleProp, ViewStyleProp } from './types';
9
16
  import { onLinkPress } from '../utils/handlers';
10
17
 
11
18
  class Renderer {
12
- getTextNode = (children: string | ReactNode[], styles: TextStyleProp) => {
19
+ getTextNode = (children: string | ReactNode[], styles?: TextStyle) => {
13
20
  return (
14
21
  <Text key={generateRandomString()} style={styles}>
15
22
  {children}
@@ -20,7 +27,7 @@ class Renderer {
20
27
  getTextLinkNode = (
21
28
  children: string | ReactNode[],
22
29
  href: string,
23
- styles: TextStyleProp
30
+ styles?: TextStyle
24
31
  ) => {
25
32
  return (
26
33
  <Text
@@ -35,8 +42,13 @@ class Renderer {
35
42
  );
36
43
  };
37
44
 
38
- getImageLinkNode = (href: string, imageUrl: string, alt?: string) => {
39
- const imageNode = this.getImageNode(imageUrl, alt);
45
+ getImageLinkNode = (
46
+ href: string,
47
+ imageUrl: string,
48
+ alt?: string,
49
+ style?: ImageStyle
50
+ ) => {
51
+ const imageNode = this.getImageNode(imageUrl, alt, style);
40
52
  return (
41
53
  <TouchableHighlight
42
54
  accessibilityRole="link"
@@ -49,7 +61,7 @@ class Renderer {
49
61
  );
50
62
  };
51
63
 
52
- getViewNode(children: ReactNode[] | null, styles: ViewStyleProp) {
64
+ getViewNode(children: ReactNode[] | null, styles?: ViewStyle) {
53
65
  return (
54
66
  <View key={generateRandomString()} style={styles}>
55
67
  {children}
@@ -59,8 +71,8 @@ class Renderer {
59
71
 
60
72
  getCodeBlockNode(
61
73
  text: string,
62
- containerStyle: ViewStyleProp,
63
- textStyle: TextStyleProp
74
+ containerStyle?: ViewStyle,
75
+ textStyle?: TextStyle
64
76
  ) {
65
77
  return (
66
78
  <ScrollView
@@ -73,7 +85,7 @@ class Renderer {
73
85
  );
74
86
  }
75
87
 
76
- getBlockquoteNode(children: ReactNode[], styles: ViewStyleProp) {
88
+ getBlockquoteNode(children: ReactNode[], styles?: ViewStyle) {
77
89
  return (
78
90
  <View key={generateRandomString()} style={styles}>
79
91
  {children}
@@ -81,15 +93,17 @@ class Renderer {
81
93
  );
82
94
  }
83
95
 
84
- getImageNode(uri: string, alt?: string) {
85
- return <MDImage key={generateRandomString()} uri={uri} alt={alt} />;
96
+ getImageNode(uri: string, alt?: string, style?: ImageStyle) {
97
+ return (
98
+ <MDImage key={generateRandomString()} uri={uri} alt={alt} style={style} />
99
+ );
86
100
  }
87
101
 
88
102
  getListNode(
89
103
  ordered: boolean,
90
104
  li: ReactNode[],
91
- listStyle: ViewStyleProp,
92
- textStyle: TextStyleProp
105
+ listStyle?: ViewStyle,
106
+ textStyle?: TextStyle
93
107
  ) {
94
108
  return (
95
109
  <MarkedList
package/src/lib/types.ts CHANGED
@@ -1,16 +1,7 @@
1
1
  import type { ReactNode } from 'react';
2
- import type {
3
- ImageStyle,
4
- TextStyle,
5
- ViewStyle,
6
- FlatListProps,
7
- } from 'react-native';
2
+ import type { FlatListProps } from 'react-native';
8
3
  import type { MarkedStyles } from './../theme/types';
9
4
 
10
- export type TextStyleProp = TextStyle | undefined;
11
- export type ViewStyleProp = ViewStyle | undefined;
12
- export type CustomStyleProp = ViewStyle | TextStyle | ImageStyle | undefined;
13
-
14
5
  export interface ParserOptions {
15
6
  styles?: MarkedStyles;
16
7
  }
@@ -119,6 +119,9 @@ const getStyles = (
119
119
  ...fontStyle.regular,
120
120
  flexShrink: 1,
121
121
  },
122
+ image: {
123
+ resizeMode: 'cover',
124
+ },
122
125
  });
123
126
 
124
127
  return {
@@ -1,4 +1,4 @@
1
- import type { TextStyle, ViewStyle } from 'react-native';
1
+ import type { ImageStyle, TextStyle, ViewStyle } from 'react-native';
2
2
 
3
3
  export interface MarkedStyles {
4
4
  container?: ViewStyle;
@@ -20,6 +20,7 @@ export interface MarkedStyles {
20
20
  hr?: ViewStyle;
21
21
  list?: ViewStyle;
22
22
  li?: TextStyle;
23
+ image?: ImageStyle;
23
24
  }
24
25
 
25
26
  export type ColorKeys = 'background' | 'code' | 'link' | 'text' | 'border';