react-native-marked 7.1.0 → 8.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/README.md +72 -0
  2. package/dist/commonjs/hooks/useMarkdownWithComponents.js +74 -0
  3. package/dist/commonjs/hooks/useMarkdownWithComponents.js.map +1 -0
  4. package/dist/commonjs/index.js +14 -0
  5. package/dist/commonjs/index.js.map +1 -1
  6. package/dist/commonjs/lib/Parser.js +5 -5
  7. package/dist/commonjs/lib/Parser.js.map +1 -1
  8. package/dist/commonjs/lib/ReactComponentRegistry.js +30 -0
  9. package/dist/commonjs/lib/ReactComponentRegistry.js.map +1 -0
  10. package/dist/commonjs/lib/ReactComponentTokenizer.js +106 -0
  11. package/dist/commonjs/lib/ReactComponentTokenizer.js.map +1 -0
  12. package/dist/commonjs/lib/Renderer.js +6 -5
  13. package/dist/commonjs/lib/Renderer.js.map +1 -1
  14. package/dist/commonjs/utils/svg.js +2 -2
  15. package/dist/commonjs/utils/svg.js.map +1 -1
  16. package/dist/module/hooks/useMarkdownWithComponents.js +66 -0
  17. package/dist/module/hooks/useMarkdownWithComponents.js.map +1 -0
  18. package/dist/module/index.js +3 -1
  19. package/dist/module/index.js.map +1 -1
  20. package/dist/module/lib/Parser.js +5 -5
  21. package/dist/module/lib/Parser.js.map +1 -1
  22. package/dist/module/lib/ReactComponentRegistry.js +23 -0
  23. package/dist/module/lib/ReactComponentRegistry.js.map +1 -0
  24. package/dist/module/lib/ReactComponentTokenizer.js +100 -0
  25. package/dist/module/lib/ReactComponentTokenizer.js.map +1 -0
  26. package/dist/module/lib/Renderer.js +6 -5
  27. package/dist/module/lib/Renderer.js.map +1 -1
  28. package/dist/module/utils/svg.js +2 -2
  29. package/dist/module/utils/svg.js.map +1 -1
  30. package/dist/typescript/hooks/useMarkdownWithComponents.d.ts +7 -0
  31. package/dist/typescript/hooks/useMarkdownWithComponents.d.ts.map +1 -0
  32. package/dist/typescript/index.d.ts +5 -2
  33. package/dist/typescript/index.d.ts.map +1 -1
  34. package/dist/typescript/lib/Parser.d.ts.map +1 -1
  35. package/dist/typescript/lib/ReactComponentRegistry.d.ts +22 -0
  36. package/dist/typescript/lib/ReactComponentRegistry.d.ts.map +1 -0
  37. package/dist/typescript/lib/ReactComponentTokenizer.d.ts +15 -0
  38. package/dist/typescript/lib/ReactComponentTokenizer.d.ts.map +1 -0
  39. package/dist/typescript/lib/Renderer.d.ts +3 -3
  40. package/dist/typescript/lib/Renderer.d.ts.map +1 -1
  41. package/dist/typescript/lib/types.d.ts +3 -3
  42. package/dist/typescript/lib/types.d.ts.map +1 -1
  43. package/package.json +18 -18
  44. package/src/hooks/useMarkdownWithComponents.tsx +89 -0
  45. package/src/index.ts +13 -1
  46. package/src/lib/Parser.tsx +6 -4
  47. package/src/lib/ReactComponentRegistry.tsx +52 -0
  48. package/src/lib/ReactComponentTokenizer.ts +149 -0
  49. package/src/lib/Renderer.tsx +11 -3
  50. package/src/lib/types.ts +8 -1
  51. package/src/utils/svg.ts +2 -2
package/README.md CHANGED
@@ -112,6 +112,7 @@ const CustomComponent = () => {
112
112
  - [x] List (ordered, unordered)
113
113
  - [x] Horizontal Rule
114
114
  - [x] Table
115
+ - [x] React Components (via `useMarkdownWithComponents`)
115
116
  - [ ] HTML
116
117
 
117
118
  Ref: [CommonMark](https://commonmark.org/help/)
@@ -119,6 +120,77 @@ Ref: [CommonMark](https://commonmark.org/help/)
119
120
  > HTML will be treated as plain text. Please refer [issue#290](https://github.com/gmsgowtham/react-native-marked/issues/290) for a potential solution
120
121
 
121
122
  ## Advanced
123
+
124
+ ### Embedding React Components in Markdown
125
+
126
+ You can embed React components directly in your markdown using JSX-style syntax. This is useful for adding interactive elements like buttons, custom info boxes, or any other React component.
127
+
128
+ ```tsx
129
+ import React, { Fragment } from "react";
130
+ import { Pressable, ScrollView, Text, View } from "react-native";
131
+ import {
132
+ ReactComponentRegistryProvider,
133
+ useMarkdownWithComponents,
134
+ type ReactComponentRegistry,
135
+ } from "react-native-marked";
136
+
137
+ // Define your components
138
+ const components: ReactComponentRegistry = {
139
+ Button: ({ props }) => (
140
+ <Pressable onPress={() => console.log("Pressed!")}>
141
+ <Text>{String(props.label ?? "Click me")}</Text>
142
+ </Pressable>
143
+ ),
144
+ InfoBox: ({ props, children }) => (
145
+ <View style={{ backgroundColor: "#E3F2FD", padding: 16 }}>
146
+ {props.title && <Text style={{ fontWeight: "bold" }}>{String(props.title)}</Text>}
147
+ <Text>{children}</Text>
148
+ </View>
149
+ ),
150
+ };
151
+
152
+ const markdown = `
153
+ # Hello World
154
+
155
+ Click the button below:
156
+
157
+ <Button label="Get Started" />
158
+
159
+ <InfoBox title="Note">
160
+ This is an info box with **markdown** content.
161
+ </InfoBox>
162
+ `;
163
+
164
+ function MarkdownContent() {
165
+ const elements = useMarkdownWithComponents(markdown);
166
+ return (
167
+ <ScrollView>
168
+ {elements.map((element, index) => (
169
+ <Fragment key={index}>{element}</Fragment>
170
+ ))}
171
+ </ScrollView>
172
+ );
173
+ }
174
+
175
+ export default function App() {
176
+ return (
177
+ <ReactComponentRegistryProvider components={components}>
178
+ <MarkdownContent />
179
+ </ReactComponentRegistryProvider>
180
+ );
181
+ }
182
+ ```
183
+
184
+ #### Component Syntax
185
+
186
+ - **Self-closing:** `<ComponentName prop="value" />`
187
+ - **With children:** `<ComponentName>content</ComponentName>`
188
+ - **Props:** Supports string (`"value"`), number (`{42}`), and boolean (`{true}`) props
189
+
190
+ #### Component Registry
191
+
192
+ Components must be registered via `ReactComponentRegistryProvider`. Unregistered components are automatically removed from the output.
193
+
122
194
  ### Using custom components
123
195
 
124
196
  > Custom components can be used to override elements, i.e. Code Highlighting, Fast Image integration
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ exports.useMarkdownWithComponents = useMarkdownWithComponents;
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var _ReactComponentRegistry = require("../lib/ReactComponentRegistry");
10
+ var _ReactComponentTokenizer = require("../lib/ReactComponentTokenizer");
11
+ var _Renderer = _interopRequireDefault(require("../lib/Renderer"));
12
+ var _useMarkdown = _interopRequireDefault(require("./useMarkdown"));
13
+ var _jsxRuntime = require("react/jsx-runtime");
14
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
15
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
16
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
17
+ function useMarkdownWithComponents(value, options) {
18
+ const registry = (0, _ReactComponentRegistry.useReactComponentRegistry)();
19
+ const {
20
+ tokenizer,
21
+ componentMap
22
+ } = (0, _react.useMemo)(() => {
23
+ const map = new Map();
24
+ const customTokenizer = new _ReactComponentTokenizer.ReactComponentTokenizer();
25
+ const originalHtml = customTokenizer.html.bind(customTokenizer);
26
+ let componentCounter = 0;
27
+ customTokenizer.html = src => {
28
+ const token = originalHtml(src);
29
+ if (token && (0, _ReactComponentTokenizer.isReactComponentToken)(token)) {
30
+ const id = `${token.componentName}-${componentCounter++}`;
31
+ map.set(token.raw, {
32
+ token,
33
+ id
34
+ });
35
+ }
36
+ return token;
37
+ };
38
+ return {
39
+ tokenizer: customTokenizer,
40
+ componentMap: map
41
+ };
42
+ }, []);
43
+ const baseRenderer = (0, _react.useMemo)(() => options?.renderer ?? new _Renderer.default(), [options?.renderer]);
44
+ const renderer = (0, _react.useMemo)(() => {
45
+ const wrappedRenderer = Object.create(baseRenderer);
46
+ wrappedRenderer.html = (text, styles) => {
47
+ if (typeof text === "string") {
48
+ const data = componentMap.get(text);
49
+ if (data) {
50
+ if (registry?.hasComponent(data.token.componentName)) {
51
+ const Component = registry.getComponent(data.token.componentName);
52
+ if (Component) {
53
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(Component, {
54
+ props: data.token.componentProps,
55
+ children: data.token.componentChildren || undefined
56
+ }, data.id);
57
+ }
58
+ }
59
+ return null;
60
+ }
61
+ }
62
+ return baseRenderer.html(text, styles);
63
+ };
64
+ return wrappedRenderer;
65
+ }, [baseRenderer, componentMap, registry]);
66
+ const elements = (0, _useMarkdown.default)(value, {
67
+ ...options,
68
+ tokenizer,
69
+ renderer
70
+ });
71
+ return elements;
72
+ }
73
+ var _default = exports.default = useMarkdownWithComponents;
74
+ //# sourceMappingURL=useMarkdownWithComponents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_ReactComponentRegistry","_ReactComponentTokenizer","_Renderer","_interopRequireDefault","_useMarkdown","_jsxRuntime","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","useMarkdownWithComponents","value","options","registry","useReactComponentRegistry","tokenizer","componentMap","useMemo","map","Map","customTokenizer","ReactComponentTokenizer","originalHtml","html","bind","componentCounter","src","token","isReactComponentToken","id","componentName","raw","baseRenderer","renderer","Renderer","wrappedRenderer","create","text","styles","data","hasComponent","Component","getComponent","jsx","props","componentProps","children","componentChildren","undefined","elements","useMarkdown","_default","exports"],"sourceRoot":"../../../src","sources":["hooks/useMarkdownWithComponents.tsx"],"mappings":"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","ignoreList":[]}
@@ -16,6 +16,12 @@ Object.defineProperty(exports, "MarkedTokenizer", {
16
16
  return _marked.Tokenizer;
17
17
  }
18
18
  });
19
+ Object.defineProperty(exports, "ReactComponentRegistryProvider", {
20
+ enumerable: true,
21
+ get: function () {
22
+ return _ReactComponentRegistry.ReactComponentRegistryProvider;
23
+ }
24
+ });
19
25
  Object.defineProperty(exports, "Renderer", {
20
26
  enumerable: true,
21
27
  get: function () {
@@ -29,9 +35,17 @@ Object.defineProperty(exports, "useMarkdown", {
29
35
  return _useMarkdown.default;
30
36
  }
31
37
  });
38
+ Object.defineProperty(exports, "useMarkdownWithComponents", {
39
+ enumerable: true,
40
+ get: function () {
41
+ return _useMarkdownWithComponents.default;
42
+ }
43
+ });
32
44
  var _marked = require("marked");
33
45
  var _useMarkdown = _interopRequireDefault(require("./hooks/useMarkdown"));
46
+ var _useMarkdownWithComponents = _interopRequireDefault(require("./hooks/useMarkdownWithComponents"));
34
47
  var _Markdown = _interopRequireDefault(require("./lib/Markdown"));
48
+ var _ReactComponentRegistry = require("./lib/ReactComponentRegistry");
35
49
  var _Renderer = _interopRequireDefault(require("./lib/Renderer"));
36
50
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
37
51
  const MarkedLexer = exports.MarkedLexer = _marked.marked.lexer;
@@ -1 +1 @@
1
- {"version":3,"names":["_marked","require","_useMarkdown","_interopRequireDefault","_Markdown","_Renderer","e","__esModule","default","MarkedLexer","exports","marked","lexer","_default","Markdown"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,IAAAA,OAAA,GAAAC,OAAA;AAKA,IAAAC,YAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,SAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,SAAA,GAAAF,sBAAA,CAAAF,OAAA;AAAsC,SAAAE,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAQtC,MAAMG,WAAW,GAAAC,OAAA,CAAAD,WAAA,GAAGE,cAAM,CAACC,KAAK;AAAC,IAAAC,QAAA,GAAAH,OAAA,CAAAF,OAAA,GAclBM,iBAAQ","ignoreList":[]}
1
+ {"version":3,"names":["_marked","require","_useMarkdown","_interopRequireDefault","_useMarkdownWithComponents","_Markdown","_ReactComponentRegistry","_Renderer","e","__esModule","default","MarkedLexer","exports","marked","lexer","_default","Markdown"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,IAAAA,OAAA,GAAAC,OAAA;AAKA,IAAAC,YAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,0BAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,SAAA,GAAAF,sBAAA,CAAAF,OAAA;AAEA,IAAAK,uBAAA,GAAAL,OAAA;AACA,IAAAM,SAAA,GAAAJ,sBAAA,CAAAF,OAAA;AAAsC,SAAAE,uBAAAK,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAQtC,MAAMG,WAAW,GAAAC,OAAA,CAAAD,WAAA,GAAGE,cAAM,CAACC,KAAK;AAAC,IAAAC,QAAA,GAAAH,OAAA,CAAAF,OAAA,GAuBlBM,iBAAQ","ignoreList":[]}
@@ -64,7 +64,7 @@ class Parser {
64
64
  }
65
65
  case "list":
66
66
  {
67
- let startIndex = Number.parseInt(token.start.toString());
67
+ let startIndex = Number.parseInt(token.start.toString(), 10);
68
68
  if (Number.isNaN(startIndex)) {
69
69
  startIndex = 1;
70
70
  }
@@ -110,14 +110,14 @@ class Parser {
110
110
  };
111
111
  const href = (0, _url.getValidURL)(this.baseUrl, token.href);
112
112
  if (this.hasDuplicateTextChildToken(token)) {
113
- return this.renderer.link(token.text, href, linkStyle);
113
+ return this.renderer.link(token.text, href, linkStyle, token.title);
114
114
  }
115
115
  const children = this._parse(token.tokens, linkStyle);
116
- return this.renderer.link(children, href, linkStyle);
116
+ return this.renderer.link(children, href, linkStyle, token.title);
117
117
  }
118
118
  case "image":
119
119
  {
120
- return this.renderer.image(token.href, token.text || token.title, this.styles.image);
120
+ return this.renderer.image(token.href, token.text, this.styles.image, token.title);
121
121
  }
122
122
  case "strong":
123
123
  {
@@ -217,7 +217,7 @@ class Parser {
217
217
  } else if (t.type === "link" && t.tokens && t.tokens[0]) {
218
218
  const imageToken = t.tokens[0];
219
219
  const href = (0, _url.getValidURL)(this.baseUrl, t.href);
220
- siblingNodes.push(this.renderer.linkImage(href, imageToken.href, imageToken.text ?? imageToken.title ?? "", this.styles.image));
220
+ siblingNodes.push(this.renderer.linkImage(href, imageToken.href, imageToken.text ?? imageToken.title ?? "", this.styles.image, imageToken.title));
221
221
  }
222
222
  tokenRenderQueue = [];
223
223
  continue;
@@ -1 +1 @@
1
- {"version":3,"names":["_htmlEntities","require","_table","_url","Parser","constructor","options","styles","baseUrl","renderer","headingStylesMap","h1","h2","h3","h4","h5","h6","parse","tokens","_parse","elements","map","token","_parseToken","filter","element","type","children","getNormalizedSiblingNodesForBlockAndInlineTokens","text","paragraph","blockquote","depth","hasDuplicateTextChildToken","heading","code","lang","em","hr","startIndex","Number","parseInt","start","toString","isNaN","li","items","item","flatMap","cItem","childTokens","listChildren","listItem","list","ordered","escape","trim","length","linkStyle","link","color","fontStyle","href","getValidURL","image","title","boldStyle","strong","italicStyle","codespan","decode","br","strikethroughStyle","strikethrough","del","raw","console","warn","html","header","row","i","getTableColAlignmentStyle","align","rows","cols","col","table","tableRow","tableCell","textStyle","tokenRenderQueue","siblingNodes","t","parsed","push","imageToken","linkImage","_default","exports","default"],"sourceRoot":"../../../src","sources":["lib/Parser.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_htmlEntities","require","_table","_url","Parser","constructor","options","styles","baseUrl","renderer","headingStylesMap","h1","h2","h3","h4","h5","h6","parse","tokens","_parse","elements","map","token","_parseToken","filter","element","type","children","getNormalizedSiblingNodesForBlockAndInlineTokens","text","paragraph","blockquote","depth","hasDuplicateTextChildToken","heading","code","lang","em","hr","startIndex","Number","parseInt","start","toString","isNaN","li","items","item","flatMap","cItem","childTokens","listChildren","listItem","list","ordered","escape","trim","length","linkStyle","link","color","fontStyle","href","getValidURL","title","image","boldStyle","strong","italicStyle","codespan","decode","br","strikethroughStyle","strikethrough","del","raw","console","warn","html","header","row","i","getTableColAlignmentStyle","align","rows","cols","col","table","tableRow","tableCell","textStyle","tokenRenderQueue","siblingNodes","t","parsed","push","imageToken","linkImage","_default","exports","default"],"sourceRoot":"../../../src","sources":["lib/Parser.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ReactComponentRegistryProvider = ReactComponentRegistryProvider;
7
+ exports.useReactComponentRegistry = useReactComponentRegistry;
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var _jsxRuntime = require("react/jsx-runtime");
10
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
11
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
12
+ const ReactComponentRegistryContext = /*#__PURE__*/(0, _react.createContext)(null);
13
+ function ReactComponentRegistryProvider({
14
+ components,
15
+ children
16
+ }) {
17
+ const contextValue = (0, _react.useMemo)(() => ({
18
+ components,
19
+ getComponent: name => components[name],
20
+ hasComponent: name => name in components
21
+ }), [components]);
22
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(ReactComponentRegistryContext.Provider, {
23
+ value: contextValue,
24
+ children: children
25
+ });
26
+ }
27
+ function useReactComponentRegistry() {
28
+ return (0, _react.useContext)(ReactComponentRegistryContext);
29
+ }
30
+ //# sourceMappingURL=ReactComponentRegistry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ReactComponentRegistryContext","createContext","ReactComponentRegistryProvider","components","children","contextValue","useMemo","getComponent","name","hasComponent","jsx","Provider","value","useReactComponentRegistry","useContext"],"sourceRoot":"../../../src","sources":["lib/ReactComponentRegistry.tsx"],"mappings":";;;;;;;AACA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAAkE,IAAAC,WAAA,GAAAD,OAAA;AAAA,SAAAE,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAJ,wBAAAI,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAoBlE,MAAMW,6BAA6B,gBAClC,IAAAC,oBAAa,EAA4C,IAAI,CAAC;AAOxD,SAASC,8BAA8BA,CAAC;EAC9CC,UAAU;EACVC;AACoC,CAAC,EAAE;EACvC,MAAMC,YAAY,GAAG,IAAAC,cAAO,EAC3B,OAAO;IACNH,UAAU;IACVI,YAAY,EAAGC,IAAY,IAAKL,UAAU,CAACK,IAAI,CAAC;IAChDC,YAAY,EAAGD,IAAY,IAAKA,IAAI,IAAIL;EACzC,CAAC,CAAC,EACF,CAACA,UAAU,CACZ,CAAC;EAED,oBACC,IAAAxB,WAAA,CAAA+B,GAAA,EAACV,6BAA6B,CAACW,QAAQ;IAACC,KAAK,EAAEP,YAAa;IAAAD,QAAA,EAC1DA;EAAQ,CAC8B,CAAC;AAE3C;AAEO,SAASS,yBAAyBA,CAAA,EAA8C;EACtF,OAAO,IAAAC,iBAAU,EAACd,6BAA6B,CAAC;AACjD","ignoreList":[]}
@@ -0,0 +1,106 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = exports.ReactComponentTokenizer = void 0;
7
+ exports.isReactComponentToken = isReactComponentToken;
8
+ var _marked = require("marked");
9
+ const SELF_CLOSING_REGEX = /^<([A-Z][a-zA-Z0-9]*)([^>]*?)\s*\/>/;
10
+ const OPENING_TAG_REGEX = /^<([A-Z][a-zA-Z0-9]*)([^>]*)>/;
11
+ const PROP_REGEX = /(\w+)(?:=(?:"([^"]*)"|'([^']*)'|\{([^}]*)\}))?/g;
12
+ function parseProps(propsString) {
13
+ const props = {};
14
+ if (!propsString) return props;
15
+ let match;
16
+ match = PROP_REGEX.exec(propsString);
17
+ while (match !== null) {
18
+ const [, propName, doubleQuoted, singleQuoted, braced] = match;
19
+ if (propName) {
20
+ if (doubleQuoted !== undefined) {
21
+ props[propName] = doubleQuoted;
22
+ } else if (singleQuoted !== undefined) {
23
+ props[propName] = singleQuoted;
24
+ } else if (braced !== undefined) {
25
+ const trimmed = braced.trim();
26
+ if (trimmed === "true") {
27
+ props[propName] = true;
28
+ } else if (trimmed === "false") {
29
+ props[propName] = false;
30
+ } else if (!Number.isNaN(Number(trimmed))) {
31
+ props[propName] = Number(trimmed);
32
+ } else {
33
+ props[propName] = trimmed;
34
+ }
35
+ } else {
36
+ props[propName] = true;
37
+ }
38
+ }
39
+ match = PROP_REGEX.exec(propsString);
40
+ }
41
+ PROP_REGEX.lastIndex = 0;
42
+ return props;
43
+ }
44
+ function findClosingTag(src, componentName, startIndex) {
45
+ const openingTag = new RegExp(`<${componentName}(?:\\s[^>]*)?>`, "g");
46
+ const closingTag = `</${componentName}>`;
47
+ let depth = 1;
48
+ let currentIndex = startIndex;
49
+ while (depth > 0 && currentIndex < src.length) {
50
+ const closingIndex = src.indexOf(closingTag, currentIndex);
51
+ if (closingIndex === -1) return null;
52
+ openingTag.lastIndex = currentIndex;
53
+ let nestedMatch;
54
+ nestedMatch = openingTag.exec(src);
55
+ while (nestedMatch !== null && nestedMatch.index < closingIndex) {
56
+ depth++;
57
+ nestedMatch = openingTag.exec(src);
58
+ }
59
+ depth--;
60
+ if (depth === 0) {
61
+ return {
62
+ endIndex: closingIndex + closingTag.length,
63
+ children: src.slice(startIndex, closingIndex)
64
+ };
65
+ }
66
+ currentIndex = closingIndex + closingTag.length;
67
+ }
68
+ return null;
69
+ }
70
+ class ReactComponentTokenizer extends _marked.Tokenizer {
71
+ html(src) {
72
+ const selfClosingMatch = SELF_CLOSING_REGEX.exec(src);
73
+ if (selfClosingMatch) {
74
+ const [raw, componentName, propsString] = selfClosingMatch;
75
+ return this.createReactComponentToken(raw, componentName ?? "", propsString ?? "", "");
76
+ }
77
+ const openingMatch = OPENING_TAG_REGEX.exec(src);
78
+ if (openingMatch) {
79
+ const [openingTag, componentName, propsString] = openingMatch;
80
+ const result = findClosingTag(src, componentName ?? "", openingTag?.length ?? 0);
81
+ if (result) {
82
+ const raw = src.slice(0, result.endIndex);
83
+ return this.createReactComponentToken(raw, componentName ?? "", propsString ?? "", result.children);
84
+ }
85
+ }
86
+ return super.html(src);
87
+ }
88
+ createReactComponentToken(raw, componentName, propsString, children) {
89
+ return {
90
+ type: "html",
91
+ raw,
92
+ text: raw,
93
+ block: true,
94
+ pre: false,
95
+ componentName,
96
+ componentProps: parseProps(propsString),
97
+ componentChildren: children.trim()
98
+ };
99
+ }
100
+ }
101
+ exports.ReactComponentTokenizer = ReactComponentTokenizer;
102
+ function isReactComponentToken(token) {
103
+ return "componentName" in token && typeof token.componentName === "string";
104
+ }
105
+ var _default = exports.default = ReactComponentTokenizer;
106
+ //# sourceMappingURL=ReactComponentTokenizer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_marked","require","SELF_CLOSING_REGEX","OPENING_TAG_REGEX","PROP_REGEX","parseProps","propsString","props","match","exec","propName","doubleQuoted","singleQuoted","braced","undefined","trimmed","trim","Number","isNaN","lastIndex","findClosingTag","src","componentName","startIndex","openingTag","RegExp","closingTag","depth","currentIndex","length","closingIndex","indexOf","nestedMatch","index","endIndex","children","slice","ReactComponentTokenizer","Tokenizer","html","selfClosingMatch","raw","createReactComponentToken","openingMatch","result","type","text","block","pre","componentProps","componentChildren","exports","isReactComponentToken","token","_default","default"],"sourceRoot":"../../../src","sources":["lib/ReactComponentTokenizer.ts"],"mappings":"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","ignoreList":[]}
@@ -60,17 +60,18 @@ class Renderer {
60
60
  escape(text, styles) {
61
61
  return this.getTextNode(text, styles);
62
62
  }
63
- link(children, href, styles) {
63
+ link(children, href, styles, title) {
64
64
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
65
65
  selectable: true,
66
66
  accessibilityRole: "link",
67
67
  accessibilityHint: "Opens in a new window",
68
+ accessibilityLabel: title || "Link",
68
69
  onPress: (0, _handlers.onLinkPress)(href),
69
70
  style: styles,
70
71
  children: children
71
72
  }, this.getKey());
72
73
  }
73
- image(uri, alt, style) {
74
+ image(uri, alt, style, title) {
74
75
  const key = this.getKey();
75
76
  if (uri.endsWith(".svg")) {
76
77
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_MDSvg.default, {
@@ -79,7 +80,7 @@ class Renderer {
79
80
  }
80
81
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_MDImage.default, {
81
82
  uri: uri,
82
- alt: alt,
83
+ alt: alt || title,
83
84
  style: style
84
85
  }, key);
85
86
  }
@@ -104,8 +105,8 @@ class Renderer {
104
105
  html(text, styles) {
105
106
  return this.getTextNode(text, styles);
106
107
  }
107
- linkImage(href, imageUrl, alt, style) {
108
- const imageNode = this.image(imageUrl, alt, style);
108
+ linkImage(href, imageUrl, alt, style, title) {
109
+ const imageNode = this.image(imageUrl, alt, style, title);
109
110
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableHighlight, {
110
111
  accessibilityRole: "link",
111
112
  accessibilityHint: "Opens in a new window",
@@ -1 +1 @@
1
- {"version":3,"names":["_githubSlugger","_interopRequireDefault","require","_react","_reactNative","_MDImage","_MDList","_MDSvg","_MDTable","_handlers","_table","_jsxRuntime","e","__esModule","default","Renderer","slugPrefix","constructor","slugger","Slugger","width","Dimensions","get","windowWidth","paragraph","children","styles","getViewNode","blockquote","getBlockquoteNode","heading","text","getTextNode","code","_language","containerStyle","textStyle","jsx","ScrollView","horizontal","contentContainerStyle","View","getKey","hr","listItem","list","ordered","li","listStyle","startIndex","escape","link","href","Text","selectable","accessibilityRole","accessibilityHint","onPress","onLinkPress","style","image","uri","alt","key","endsWith","strong","em","codespan","br","del","html","linkImage","imageUrl","imageNode","TouchableHighlight","table","header","rows","tableStyle","rowStyle","cellStyle","widthArr","getTableWidthArr","length","borderWidth","borderColor","slug","_default","exports"],"sourceRoot":"../../../src","sources":["lib/Renderer.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_githubSlugger","_interopRequireDefault","require","_react","_reactNative","_MDImage","_MDList","_MDSvg","_MDTable","_handlers","_table","_jsxRuntime","e","__esModule","default","Renderer","slugPrefix","constructor","slugger","Slugger","width","Dimensions","get","windowWidth","paragraph","children","styles","getViewNode","blockquote","getBlockquoteNode","heading","text","getTextNode","code","_language","containerStyle","textStyle","jsx","ScrollView","horizontal","contentContainerStyle","View","getKey","hr","listItem","list","ordered","li","listStyle","startIndex","escape","link","href","title","Text","selectable","accessibilityRole","accessibilityHint","accessibilityLabel","onPress","onLinkPress","style","image","uri","alt","key","endsWith","strong","em","codespan","br","del","html","linkImage","imageUrl","imageNode","TouchableHighlight","table","header","rows","tableStyle","rowStyle","cellStyle","widthArr","getTableWidthArr","length","borderWidth","borderColor","slug","_default","exports"],"sourceRoot":"../../../src","sources":["lib/Renderer.tsx"],"mappings":"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","ignoreList":[]}
@@ -9,8 +9,8 @@ const getSvgDimensions = svg => {
9
9
  const parsed = (0, _svgParser.parse)(svg);
10
10
  const rootChild = parsed.children[0];
11
11
  return {
12
- width: Number.parseInt(String(rootChild.properties?.width ?? "0")),
13
- height: Number.parseInt(String(rootChild.properties?.height ?? "0")),
12
+ width: Number.parseInt(String(rootChild.properties?.width ?? "0"), 10),
13
+ height: Number.parseInt(String(rootChild.properties?.height ?? "0"), 10),
14
14
  viewBox: String(rootChild.properties?.viewBox ?? "")
15
15
  };
16
16
  };
@@ -1 +1 @@
1
- {"version":3,"names":["_svgParser","require","getSvgDimensions","svg","parsed","parse","rootChild","children","width","Number","parseInt","String","properties","height","viewBox","exports"],"sourceRoot":"../../../src","sources":["utils/svg.ts"],"mappings":";;;;;;AACA,IAAAA,UAAA,GAAAC,OAAA;AAEO,MAAMC,gBAAgB,GAAIC,GAAW,IAAK;EAChD,MAAMC,MAAM,GAAG,IAAAC,gBAAK,EAACF,GAAG,CAAC;EAEzB,MAAMG,SAAS,GAAGF,MAAM,CAACG,QAAQ,CAAC,CAAC,CAAgB;EAEnD,OAAO;IACNC,KAAK,EAAEC,MAAM,CAACC,QAAQ,CAACC,MAAM,CAACL,SAAS,CAACM,UAAU,EAAEJ,KAAK,IAAI,GAAG,CAAC,CAAC;IAClEK,MAAM,EAAEJ,MAAM,CAACC,QAAQ,CAACC,MAAM,CAACL,SAAS,CAACM,UAAU,EAAEC,MAAM,IAAI,GAAG,CAAC,CAAC;IACpEC,OAAO,EAAEH,MAAM,CAACL,SAAS,CAACM,UAAU,EAAEE,OAAO,IAAI,EAAE;EACpD,CAAC;AACF,CAAC;AAACC,OAAA,CAAAb,gBAAA,GAAAA,gBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_svgParser","require","getSvgDimensions","svg","parsed","parse","rootChild","children","width","Number","parseInt","String","properties","height","viewBox","exports"],"sourceRoot":"../../../src","sources":["utils/svg.ts"],"mappings":";;;;;;AACA,IAAAA,UAAA,GAAAC,OAAA;AAEO,MAAMC,gBAAgB,GAAIC,GAAW,IAAK;EAChD,MAAMC,MAAM,GAAG,IAAAC,gBAAK,EAACF,GAAG,CAAC;EAEzB,MAAMG,SAAS,GAAGF,MAAM,CAACG,QAAQ,CAAC,CAAC,CAAgB;EAEnD,OAAO;IACNC,KAAK,EAAEC,MAAM,CAACC,QAAQ,CAACC,MAAM,CAACL,SAAS,CAACM,UAAU,EAAEJ,KAAK,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC;IACtEK,MAAM,EAAEJ,MAAM,CAACC,QAAQ,CAACC,MAAM,CAACL,SAAS,CAACM,UAAU,EAAEC,MAAM,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC;IACxEC,OAAO,EAAEH,MAAM,CAACL,SAAS,CAACM,UAAU,EAAEE,OAAO,IAAI,EAAE;EACpD,CAAC;AACF,CAAC;AAACC,OAAA,CAAAb,gBAAA,GAAAA,gBAAA","ignoreList":[]}
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+
3
+ import React, { useMemo } from "react";
4
+ import { useReactComponentRegistry } from "../lib/ReactComponentRegistry";
5
+ import { isReactComponentToken, ReactComponentTokenizer } from "../lib/ReactComponentTokenizer";
6
+ import Renderer from "../lib/Renderer";
7
+ import useMarkdown from "./useMarkdown";
8
+ import { jsx as _jsx } from "react/jsx-runtime";
9
+ export function useMarkdownWithComponents(value, options) {
10
+ const registry = useReactComponentRegistry();
11
+ const {
12
+ tokenizer,
13
+ componentMap
14
+ } = useMemo(() => {
15
+ const map = new Map();
16
+ const customTokenizer = new ReactComponentTokenizer();
17
+ const originalHtml = customTokenizer.html.bind(customTokenizer);
18
+ let componentCounter = 0;
19
+ customTokenizer.html = src => {
20
+ const token = originalHtml(src);
21
+ if (token && isReactComponentToken(token)) {
22
+ const id = `${token.componentName}-${componentCounter++}`;
23
+ map.set(token.raw, {
24
+ token,
25
+ id
26
+ });
27
+ }
28
+ return token;
29
+ };
30
+ return {
31
+ tokenizer: customTokenizer,
32
+ componentMap: map
33
+ };
34
+ }, []);
35
+ const baseRenderer = useMemo(() => options?.renderer ?? new Renderer(), [options?.renderer]);
36
+ const renderer = useMemo(() => {
37
+ const wrappedRenderer = Object.create(baseRenderer);
38
+ wrappedRenderer.html = (text, styles) => {
39
+ if (typeof text === "string") {
40
+ const data = componentMap.get(text);
41
+ if (data) {
42
+ if (registry?.hasComponent(data.token.componentName)) {
43
+ const Component = registry.getComponent(data.token.componentName);
44
+ if (Component) {
45
+ return /*#__PURE__*/_jsx(Component, {
46
+ props: data.token.componentProps,
47
+ children: data.token.componentChildren || undefined
48
+ }, data.id);
49
+ }
50
+ }
51
+ return null;
52
+ }
53
+ }
54
+ return baseRenderer.html(text, styles);
55
+ };
56
+ return wrappedRenderer;
57
+ }, [baseRenderer, componentMap, registry]);
58
+ const elements = useMarkdown(value, {
59
+ ...options,
60
+ tokenizer,
61
+ renderer
62
+ });
63
+ return elements;
64
+ }
65
+ export default useMarkdownWithComponents;
66
+ //# sourceMappingURL=useMarkdownWithComponents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useMemo","useReactComponentRegistry","isReactComponentToken","ReactComponentTokenizer","Renderer","useMarkdown","jsx","_jsx","useMarkdownWithComponents","value","options","registry","tokenizer","componentMap","map","Map","customTokenizer","originalHtml","html","bind","componentCounter","src","token","id","componentName","set","raw","baseRenderer","renderer","wrappedRenderer","Object","create","text","styles","data","get","hasComponent","Component","getComponent","props","componentProps","children","componentChildren","undefined","elements"],"sourceRoot":"../../../src","sources":["hooks/useMarkdownWithComponents.tsx"],"mappings":";;AACA,OAAOA,KAAK,IAAIC,OAAO,QAAQ,OAAO;AACtC,SAASC,yBAAyB,QAAQ,+BAA+B;AAEzE,SACCC,qBAAqB,EACrBC,uBAAuB,QACjB,gCAAgC;AACvC,OAAOC,QAAQ,MAAM,iBAAiB;AAGtC,OAAOC,WAAW,MAAM,eAAe;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAUxC,OAAO,SAASC,yBAAyBA,CACxCC,KAAa,EACbC,OAA0C,EAC5B;EACd,MAAMC,QAAQ,GAAGV,yBAAyB,CAAC,CAAC;EAE5C,MAAM;IAAEW,SAAS;IAAEC;EAAa,CAAC,GAAGb,OAAO,CAAC,MAAM;IACjD,MAAMc,GAAG,GAAG,IAAIC,GAAG,CAAwB,CAAC;IAE5C,MAAMC,eAAe,GAAG,IAAIb,uBAAuB,CAAC,CAAC;IACrD,MAAMc,YAAY,GAAGD,eAAe,CAACE,IAAI,CAACC,IAAI,CAACH,eAAe,CAAC;IAE/D,IAAII,gBAAgB,GAAG,CAAC;IAExBJ,eAAe,CAACE,IAAI,GAAIG,GAAW,IAAK;MACvC,MAAMC,KAAK,GAAGL,YAAY,CAACI,GAAG,CAAC;MAC/B,IAAIC,KAAK,IAAIpB,qBAAqB,CAACoB,KAAK,CAAC,EAAE;QAC1C,MAAMC,EAAE,GAAG,GAAGD,KAAK,CAACE,aAAa,IAAIJ,gBAAgB,EAAE,EAAE;QACzDN,GAAG,CAACW,GAAG,CAACH,KAAK,CAACI,GAAG,EAAE;UAAEJ,KAAK;UAAEC;QAAG,CAAC,CAAC;MAClC;MACA,OAAOD,KAAK;IACb,CAAC;IAED,OAAO;MAAEV,SAAS,EAAEI,eAAe;MAAEH,YAAY,EAAEC;IAAI,CAAC;EACzD,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMa,YAAY,GAAG3B,OAAO,CAC3B,MAAMU,OAAO,EAAEkB,QAAQ,IAAI,IAAIxB,QAAQ,CAAC,CAAC,EACzC,CAACM,OAAO,EAAEkB,QAAQ,CACnB,CAAC;EAED,MAAMA,QAAQ,GAAG5B,OAAO,CAAoB,MAAM;IACjD,MAAM6B,eAAe,GAAGC,MAAM,CAACC,MAAM,CAACJ,YAAY,CAAwB;IAE1EE,eAAe,CAACX,IAAI,GAAG,CAACc,IAA0B,EAAEC,MAAM,KAAgB;MACzE,IAAI,OAAOD,IAAI,KAAK,QAAQ,EAAE;QAC7B,MAAME,IAAI,GAAGrB,YAAY,CAACsB,GAAG,CAACH,IAAI,CAAC;QACnC,IAAIE,IAAI,EAAE;UACT,IAAIvB,QAAQ,EAAEyB,YAAY,CAACF,IAAI,CAACZ,KAAK,CAACE,aAAa,CAAC,EAAE;YACrD,MAAMa,SAAS,GAAG1B,QAAQ,CAAC2B,YAAY,CAACJ,IAAI,CAACZ,KAAK,CAACE,aAAa,CAAC;YACjE,IAAIa,SAAS,EAAE;cACd,oBACC9B,IAAA,CAAC8B,SAAS;gBAAeE,KAAK,EAAEL,IAAI,CAACZ,KAAK,CAACkB,cAAe;gBAAAC,QAAA,EACxDP,IAAI,CAACZ,KAAK,CAACoB,iBAAiB,IAAIC;cAAS,GAD3BT,IAAI,CAACX,EAEV,CAAC;YAEd;UACD;UACA,OAAO,IAAI;QACZ;MACD;MAEA,OAAOI,YAAY,CAACT,IAAI,CAACc,IAAI,EAAEC,MAAM,CAAC;IACvC,CAAC;IAED,OAAOJ,eAAe;EACvB,CAAC,EAAE,CAACF,YAAY,EAAEd,YAAY,EAAEF,QAAQ,CAAC,CAAC;EAE1C,MAAMiC,QAAQ,GAAGvC,WAAW,CAACI,KAAK,EAAE;IACnC,GAAGC,OAAO;IACVE,SAAS;IACTgB;EACD,CAAC,CAAC;EAEF,OAAOgB,QAAQ;AAChB;AAEA,eAAepC,yBAAyB","ignoreList":[]}