react-native-marked 1.6.13 → 2.0.0-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +64 -8
- package/dist/commonjs/components/MDImage.js.map +1 -1
- package/dist/commonjs/index.js +8 -0
- package/dist/commonjs/index.js.map +1 -1
- package/dist/commonjs/lib/Markdown.js +5 -1
- package/dist/commonjs/lib/Markdown.js.map +1 -1
- package/dist/commonjs/lib/Parser.js +84 -80
- package/dist/commonjs/lib/Parser.js.map +1 -1
- package/dist/commonjs/lib/Renderer.js +109 -47
- package/dist/commonjs/lib/Renderer.js.map +1 -1
- package/dist/commonjs/lib/__perf__/Markdown.perf-test.js +196 -0
- package/dist/commonjs/lib/__perf__/Markdown.perf-test.js.map +1 -0
- package/dist/commonjs/lib/types.js.map +1 -1
- package/dist/commonjs/theme/colors.js.map +1 -1
- package/dist/commonjs/theme/spacing.js.map +1 -1
- package/dist/commonjs/theme/styles.js.map +1 -1
- package/dist/commonjs/theme/types.js.map +1 -1
- package/dist/commonjs/utils/handlers.js.map +1 -1
- package/dist/commonjs/utils/url.js.map +1 -1
- package/dist/module/components/MDImage.js.map +1 -1
- package/dist/module/index.js +2 -0
- package/dist/module/index.js.map +1 -1
- package/dist/module/lib/Markdown.js +4 -1
- package/dist/module/lib/Markdown.js.map +1 -1
- package/dist/module/lib/Parser.js +84 -77
- package/dist/module/lib/Parser.js.map +1 -1
- package/dist/module/lib/Renderer.js +108 -46
- package/dist/module/lib/Renderer.js.map +1 -1
- package/dist/module/lib/__perf__/Markdown.perf-test.js +188 -0
- package/dist/module/lib/__perf__/Markdown.perf-test.js.map +1 -0
- package/dist/module/lib/types.js.map +1 -1
- package/dist/module/theme/colors.js.map +1 -1
- package/dist/module/theme/spacing.js.map +1 -1
- package/dist/module/theme/styles.js.map +1 -1
- package/dist/module/theme/types.js.map +1 -1
- package/dist/module/utils/handlers.js.map +1 -1
- package/dist/module/utils/url.js.map +1 -1
- package/dist/typescript/{src/components → components}/MDImage.d.ts +1 -1
- package/dist/typescript/components/MDImage.d.ts.map +1 -0
- package/dist/typescript/index.d.ts +7 -0
- package/dist/typescript/index.d.ts.map +1 -0
- package/dist/typescript/{src/lib → lib}/Markdown.d.ts +1 -1
- package/dist/typescript/lib/Markdown.d.ts.map +1 -0
- package/dist/typescript/lib/Parser.d.ts.map +1 -0
- package/dist/typescript/lib/Renderer.d.ts +32 -0
- package/dist/typescript/lib/Renderer.d.ts.map +1 -0
- package/dist/typescript/lib/__perf__/Markdown.perf-test.d.ts +2 -0
- package/dist/typescript/lib/__perf__/Markdown.perf-test.d.ts.map +1 -0
- package/dist/typescript/lib/types.d.ts +34 -0
- package/dist/typescript/lib/types.d.ts.map +1 -0
- package/dist/typescript/theme/colors.d.ts.map +1 -0
- package/dist/typescript/theme/spacing.d.ts.map +1 -0
- package/dist/typescript/{src/theme → theme}/styles.d.ts +1 -1
- package/dist/typescript/theme/styles.d.ts.map +1 -0
- package/dist/typescript/theme/types.d.ts.map +1 -0
- package/dist/typescript/utils/handlers.d.ts.map +1 -0
- package/dist/typescript/utils/url.d.ts.map +1 -0
- package/package.json +20 -20
- package/src/components/MDImage.tsx +1 -1
- package/src/index.ts +8 -0
- package/src/lib/Markdown.tsx +10 -3
- package/src/lib/Parser.tsx +50 -64
- package/src/lib/Renderer.tsx +139 -64
- package/src/lib/__perf__/Markdown.perf-test.tsx +186 -0
- package/src/lib/types.ts +48 -2
- package/src/theme/styles.ts +2 -2
- package/dist/commonjs/utils/string.js +0 -17
- package/dist/commonjs/utils/string.js.map +0 -1
- package/dist/module/utils/string.js +0 -8
- package/dist/module/utils/string.js.map +0 -1
- package/dist/typescript/dangerfile.d.ts +0 -2
- package/dist/typescript/dangerfile.d.ts.map +0 -1
- package/dist/typescript/src/components/MDImage.d.ts.map +0 -1
- package/dist/typescript/src/index.d.ts +0 -3
- package/dist/typescript/src/index.d.ts.map +0 -1
- package/dist/typescript/src/lib/Markdown.d.ts.map +0 -1
- package/dist/typescript/src/lib/Parser.d.ts.map +0 -1
- package/dist/typescript/src/lib/Renderer.d.ts +0 -14
- package/dist/typescript/src/lib/Renderer.d.ts.map +0 -1
- package/dist/typescript/src/lib/types.d.ts +0 -13
- package/dist/typescript/src/lib/types.d.ts.map +0 -1
- package/dist/typescript/src/theme/colors.d.ts.map +0 -1
- package/dist/typescript/src/theme/spacing.d.ts.map +0 -1
- package/dist/typescript/src/theme/styles.d.ts.map +0 -1
- package/dist/typescript/src/theme/types.d.ts.map +0 -1
- package/dist/typescript/src/utils/handlers.d.ts.map +0 -1
- package/dist/typescript/src/utils/string.d.ts +0 -6
- package/dist/typescript/src/utils/string.d.ts.map +0 -1
- package/dist/typescript/src/utils/url.d.ts.map +0 -1
- package/src/utils/string.ts +0 -7
- /package/dist/typescript/{src/lib → lib}/Parser.d.ts +0 -0
- /package/dist/typescript/{src/theme → theme}/colors.d.ts +0 -0
- /package/dist/typescript/{src/theme → theme}/spacing.d.ts +0 -0
- /package/dist/typescript/{src/theme → theme}/types.d.ts +0 -0
- /package/dist/typescript/{src/utils → utils}/handlers.d.ts +0 -0
- /package/dist/typescript/{src/utils → utils}/url.d.ts +0 -0
|
@@ -1,63 +1,11 @@
|
|
|
1
|
-
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
2
|
-
|
|
3
|
-
import Renderer from "./Renderer";
|
|
4
1
|
import { getValidURL } from "./../utils/url";
|
|
5
2
|
|
|
6
3
|
class Parser {
|
|
7
4
|
constructor(options) {
|
|
8
|
-
_defineProperty(this, "renderer", void 0);
|
|
9
|
-
|
|
10
|
-
_defineProperty(this, "styles", void 0);
|
|
11
|
-
|
|
12
|
-
_defineProperty(this, "headingStylesMap", void 0);
|
|
13
|
-
|
|
14
|
-
_defineProperty(this, "baseUrl", void 0);
|
|
15
|
-
|
|
16
|
-
_defineProperty(this, "getNormalizedSiblingNodesForBlockAndInlineTokens", (tokens, textStyle) => {
|
|
17
|
-
let tokenRenderQueue = [];
|
|
18
|
-
const siblingNodes = [];
|
|
19
|
-
tokens.forEach(t => {
|
|
20
|
-
/**
|
|
21
|
-
* To avoid inlining images
|
|
22
|
-
* Currently supports images, link images
|
|
23
|
-
* Note: to be extend for other token types
|
|
24
|
-
*/
|
|
25
|
-
if (t.type === "image" || t.type === "link" && t.tokens && t.tokens[0] && t.tokens[0].type === "image") {
|
|
26
|
-
// Render existing inline tokens in the queue
|
|
27
|
-
const parsed = this._parse(tokenRenderQueue);
|
|
28
|
-
|
|
29
|
-
if (parsed.length > 0) {
|
|
30
|
-
siblingNodes.push(this.renderer.getTextNode(parsed, textStyle));
|
|
31
|
-
} // Render the current block token
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
if (t.type === "image") {
|
|
35
|
-
siblingNodes.push(this._parseToken(t));
|
|
36
|
-
} else if (t.type === "link") {
|
|
37
|
-
const imageToken = t.tokens[0];
|
|
38
|
-
const href = getValidURL(this.baseUrl, t.href);
|
|
39
|
-
siblingNodes.push(this.renderer.getImageLinkNode(href, imageToken.href, imageToken.text || imageToken.title, this.styles.image));
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
tokenRenderQueue = [];
|
|
43
|
-
return;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
tokenRenderQueue = [...tokenRenderQueue, t];
|
|
47
|
-
});
|
|
48
|
-
/* Remaining temp tokens if any */
|
|
49
|
-
|
|
50
|
-
if (tokenRenderQueue.length > 0) {
|
|
51
|
-
siblingNodes.push(this.renderer.getTextNode(this._parse(tokenRenderQueue), {}));
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
return siblingNodes;
|
|
55
|
-
});
|
|
56
|
-
|
|
57
5
|
this.styles = { ...options.styles
|
|
58
6
|
};
|
|
59
7
|
this.baseUrl = options.baseUrl ?? "";
|
|
60
|
-
this.renderer =
|
|
8
|
+
this.renderer = options.renderer;
|
|
61
9
|
this.headingStylesMap = {
|
|
62
10
|
1: this.styles.h1,
|
|
63
11
|
2: this.styles.h2,
|
|
@@ -88,54 +36,59 @@ class Parser {
|
|
|
88
36
|
|
|
89
37
|
case "paragraph":
|
|
90
38
|
{
|
|
91
|
-
const
|
|
92
|
-
return this.renderer.
|
|
39
|
+
const children = this.getNormalizedSiblingNodesForBlockAndInlineTokens(token.tokens, this.styles.text);
|
|
40
|
+
return this.renderer.paragraph(children, this.styles.paragraph);
|
|
93
41
|
}
|
|
94
42
|
|
|
95
43
|
case "blockquote":
|
|
96
44
|
{
|
|
97
|
-
|
|
45
|
+
const children = this.parse(token.tokens);
|
|
46
|
+
return this.renderer.blockquote(children, this.styles.blockquote);
|
|
98
47
|
}
|
|
99
48
|
|
|
100
49
|
case "heading":
|
|
101
50
|
{
|
|
102
51
|
const styles = this.headingStylesMap[token.depth];
|
|
103
|
-
|
|
52
|
+
|
|
53
|
+
const children = this._parse(token.tokens, styles);
|
|
54
|
+
|
|
55
|
+
return this.renderer.heading(children, styles);
|
|
104
56
|
}
|
|
105
57
|
|
|
106
58
|
case "code":
|
|
107
59
|
{
|
|
108
|
-
return this.renderer.
|
|
60
|
+
return this.renderer.code(token.text, token.lang, this.styles.code, this.styles.em);
|
|
109
61
|
}
|
|
110
62
|
|
|
111
63
|
case "hr":
|
|
112
64
|
{
|
|
113
|
-
return this.renderer.
|
|
65
|
+
return this.renderer.hr(this.styles.hr);
|
|
114
66
|
}
|
|
115
67
|
|
|
116
68
|
case "list":
|
|
117
69
|
{
|
|
118
70
|
const li = token.items.map(item => {
|
|
119
|
-
const children = item.tokens.
|
|
71
|
+
const children = item.tokens.flatMap(cItem => {
|
|
120
72
|
if (cItem.type === "text") {
|
|
121
73
|
/* getViewNode since tokens could contain a block like elements (i.e. img) */
|
|
122
74
|
const childTokens = cItem.tokens || [];
|
|
123
|
-
const listChildren = this.getNormalizedSiblingNodesForBlockAndInlineTokens(childTokens, this.styles.li);
|
|
124
|
-
|
|
75
|
+
const listChildren = this.getNormalizedSiblingNodesForBlockAndInlineTokens(childTokens, this.styles.li); // return this.renderer.listItem(listChildren, this.styles.li);
|
|
76
|
+
|
|
77
|
+
return listChildren;
|
|
125
78
|
}
|
|
126
79
|
/* Parse the nested token */
|
|
127
80
|
|
|
128
81
|
|
|
129
82
|
return this._parseToken(cItem);
|
|
130
83
|
});
|
|
131
|
-
return this.renderer.
|
|
84
|
+
return this.renderer.listItem(children, this.styles.li);
|
|
132
85
|
});
|
|
133
|
-
return this.renderer.
|
|
86
|
+
return this.renderer.list(token.ordered, li, this.styles.list, this.styles.li);
|
|
134
87
|
}
|
|
135
88
|
|
|
136
89
|
case "escape":
|
|
137
90
|
{
|
|
138
|
-
return this.renderer.
|
|
91
|
+
return this.renderer.escape(token.text, { ...this.styles.text,
|
|
139
92
|
...styles
|
|
140
93
|
});
|
|
141
94
|
}
|
|
@@ -149,12 +102,15 @@ class Parser {
|
|
|
149
102
|
|
|
150
103
|
};
|
|
151
104
|
const href = getValidURL(this.baseUrl, token.href);
|
|
152
|
-
|
|
105
|
+
|
|
106
|
+
const children = this._parse(token.tokens, linkStyle);
|
|
107
|
+
|
|
108
|
+
return this.renderer.link(children, href, linkStyle);
|
|
153
109
|
}
|
|
154
110
|
|
|
155
111
|
case "image":
|
|
156
112
|
{
|
|
157
|
-
return this.renderer.
|
|
113
|
+
return this.renderer.image(token.href, token.text || token.title, this.styles.image);
|
|
158
114
|
}
|
|
159
115
|
|
|
160
116
|
case "strong":
|
|
@@ -162,7 +118,10 @@ class Parser {
|
|
|
162
118
|
const boldStyle = { ...this.styles.strong,
|
|
163
119
|
...styles
|
|
164
120
|
};
|
|
165
|
-
|
|
121
|
+
|
|
122
|
+
const children = this._parse(token.tokens, boldStyle);
|
|
123
|
+
|
|
124
|
+
return this.renderer.strong(children, boldStyle);
|
|
166
125
|
}
|
|
167
126
|
|
|
168
127
|
case "em":
|
|
@@ -170,19 +129,22 @@ class Parser {
|
|
|
170
129
|
const italicStyle = { ...this.styles.em,
|
|
171
130
|
...styles
|
|
172
131
|
};
|
|
173
|
-
|
|
132
|
+
|
|
133
|
+
const children = this._parse(token.tokens, italicStyle);
|
|
134
|
+
|
|
135
|
+
return this.renderer.em(children, italicStyle);
|
|
174
136
|
}
|
|
175
137
|
|
|
176
138
|
case "codespan":
|
|
177
139
|
{
|
|
178
|
-
return this.renderer.
|
|
140
|
+
return this.renderer.codespan(token.text, { ...this.styles.codespan,
|
|
179
141
|
...styles
|
|
180
142
|
});
|
|
181
143
|
}
|
|
182
144
|
|
|
183
145
|
case "br":
|
|
184
146
|
{
|
|
185
|
-
return this.renderer.
|
|
147
|
+
return this.renderer.br();
|
|
186
148
|
}
|
|
187
149
|
|
|
188
150
|
case "del":
|
|
@@ -190,17 +152,21 @@ class Parser {
|
|
|
190
152
|
const strikethroughStyle = { ...this.styles.strikethrough,
|
|
191
153
|
...styles
|
|
192
154
|
};
|
|
193
|
-
|
|
155
|
+
|
|
156
|
+
const children = this._parse(token.tokens, strikethroughStyle);
|
|
157
|
+
|
|
158
|
+
return this.renderer.del(children, strikethroughStyle);
|
|
194
159
|
}
|
|
195
160
|
|
|
196
161
|
case "text":
|
|
162
|
+
return this.renderer.text(token.raw, { ...this.styles.text,
|
|
163
|
+
...styles
|
|
164
|
+
});
|
|
165
|
+
|
|
197
166
|
case "html":
|
|
198
167
|
{
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
}
|
|
202
|
-
|
|
203
|
-
return this.renderer.getTextNode(token.raw, { ...this.styles.text,
|
|
168
|
+
console.warn("react-native-marked: rendering html from markdown is not supported");
|
|
169
|
+
return this.renderer.html(token.raw, { ...this.styles.text,
|
|
204
170
|
...styles
|
|
205
171
|
});
|
|
206
172
|
}
|
|
@@ -213,6 +179,47 @@ class Parser {
|
|
|
213
179
|
}
|
|
214
180
|
}
|
|
215
181
|
|
|
182
|
+
getNormalizedSiblingNodesForBlockAndInlineTokens(tokens, textStyle) {
|
|
183
|
+
let tokenRenderQueue = [];
|
|
184
|
+
const siblingNodes = [];
|
|
185
|
+
tokens.forEach(t => {
|
|
186
|
+
/**
|
|
187
|
+
* To avoid inlining images
|
|
188
|
+
* Currently supports images, link images
|
|
189
|
+
* Note: to be extend for other token types
|
|
190
|
+
*/
|
|
191
|
+
if (t.type === "image" || t.type === "link" && t.tokens && t.tokens[0] && t.tokens[0].type === "image") {
|
|
192
|
+
// Render existing inline tokens in the queue
|
|
193
|
+
const parsed = this.parse(tokenRenderQueue);
|
|
194
|
+
|
|
195
|
+
if (parsed.length > 0) {
|
|
196
|
+
siblingNodes.push(this.renderer.text(parsed, textStyle));
|
|
197
|
+
} // Render the current block token
|
|
198
|
+
|
|
199
|
+
|
|
200
|
+
if (t.type === "image") {
|
|
201
|
+
siblingNodes.push(this._parseToken(t));
|
|
202
|
+
} else if (t.type === "link") {
|
|
203
|
+
const imageToken = t.tokens[0];
|
|
204
|
+
const href = getValidURL(this.baseUrl, t.href);
|
|
205
|
+
siblingNodes.push(this.renderer.linkImage(href, imageToken.href, imageToken.text || imageToken.title, this.styles.image));
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
tokenRenderQueue = [];
|
|
209
|
+
return;
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
tokenRenderQueue = [...tokenRenderQueue, t];
|
|
213
|
+
});
|
|
214
|
+
/* Remaining temp tokens if any */
|
|
215
|
+
|
|
216
|
+
if (tokenRenderQueue.length > 0) {
|
|
217
|
+
siblingNodes.push(this.renderer.text(this.parse(tokenRenderQueue), {}));
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
return siblingNodes;
|
|
221
|
+
}
|
|
222
|
+
|
|
216
223
|
}
|
|
217
224
|
|
|
218
225
|
export default Parser;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["getValidURL","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","heading","code","lang","em","hr","li","items","item","flatMap","cItem","childTokens","listChildren","listItem","list","ordered","escape","linkStyle","link","href","image","title","boldStyle","strong","italicStyle","codespan","br","strikethroughStyle","strikethrough","del","raw","console","warn","html","textStyle","tokenRenderQueue","siblingNodes","forEach","t","parsed","length","push","imageToken","linkImage"],"sourceRoot":"../../../src","sources":["lib/Parser.tsx"],"mappings":"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"}
|
|
@@ -1,84 +1,146 @@
|
|
|
1
|
-
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
2
|
-
|
|
3
1
|
import React from "react";
|
|
4
2
|
import { ScrollView, View, Text, TouchableHighlight } from "react-native";
|
|
5
3
|
import MarkedList from "@jsamr/react-native-li";
|
|
6
4
|
import Disc from "@jsamr/counter-style/presets/disc";
|
|
7
5
|
import Decimal from "@jsamr/counter-style/presets/decimal";
|
|
6
|
+
import { Slugger } from "marked";
|
|
8
7
|
import MDImage from "./../components/MDImage";
|
|
9
|
-
import { generateRandomString } from "../utils/string";
|
|
10
8
|
import { onLinkPress } from "../utils/handlers";
|
|
11
9
|
|
|
12
10
|
class Renderer {
|
|
11
|
+
slugPrefix = "react-native-marked-ele";
|
|
12
|
+
|
|
13
13
|
constructor() {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
key: generateRandomString(),
|
|
17
|
-
style: styles
|
|
18
|
-
}, children);
|
|
19
|
-
});
|
|
14
|
+
this.slugger = new Slugger();
|
|
15
|
+
}
|
|
20
16
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
accessibilityHint: "Opens in a new window",
|
|
25
|
-
key: generateRandomString(),
|
|
26
|
-
onPress: onLinkPress(href),
|
|
27
|
-
style: styles
|
|
28
|
-
}, children);
|
|
29
|
-
});
|
|
17
|
+
paragraph(children, styles) {
|
|
18
|
+
return this.getViewNode(children, styles);
|
|
19
|
+
}
|
|
30
20
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
return /*#__PURE__*/React.createElement(TouchableHighlight, {
|
|
34
|
-
accessibilityRole: "link",
|
|
35
|
-
accessibilityHint: "Opens in a new window",
|
|
36
|
-
onPress: onLinkPress(href),
|
|
37
|
-
key: generateRandomString()
|
|
38
|
-
}, imageNode);
|
|
39
|
-
});
|
|
21
|
+
blockquote(children, styles) {
|
|
22
|
+
return this.getBlockquoteNode(children, styles);
|
|
40
23
|
}
|
|
41
24
|
|
|
42
|
-
|
|
43
|
-
return
|
|
44
|
-
key: generateRandomString(),
|
|
45
|
-
style: styles
|
|
46
|
-
}, children);
|
|
25
|
+
heading(text, styles) {
|
|
26
|
+
return this.getTextNode(text, styles);
|
|
47
27
|
}
|
|
48
28
|
|
|
49
|
-
|
|
29
|
+
code(text, _language, containerStyle, textStyle) {
|
|
50
30
|
return /*#__PURE__*/React.createElement(ScrollView, {
|
|
51
31
|
horizontal: true,
|
|
52
|
-
key:
|
|
32
|
+
key: this.getKey(),
|
|
53
33
|
contentContainerStyle: containerStyle
|
|
54
34
|
}, /*#__PURE__*/React.createElement(Text, {
|
|
55
35
|
style: textStyle
|
|
56
36
|
}, text));
|
|
57
37
|
}
|
|
58
38
|
|
|
59
|
-
|
|
60
|
-
return
|
|
61
|
-
|
|
39
|
+
hr(styles) {
|
|
40
|
+
return this.getViewNode(null, styles);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
listItem(children, styles) {
|
|
44
|
+
return this.getViewNode(children, styles);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
list(ordered, li, listStyle, textStyle) {
|
|
48
|
+
return /*#__PURE__*/React.createElement(MarkedList, {
|
|
49
|
+
counterRenderer: ordered ? Decimal : Disc,
|
|
50
|
+
markerTextStyle: textStyle,
|
|
51
|
+
markerBoxStyle: listStyle,
|
|
52
|
+
key: this.getKey()
|
|
53
|
+
}, li.map(node => node));
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
escape(text, styles) {
|
|
57
|
+
return this.getTextNode(text, styles);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
link(children, href, styles) {
|
|
61
|
+
return /*#__PURE__*/React.createElement(Text, {
|
|
62
|
+
accessibilityRole: "link",
|
|
63
|
+
accessibilityHint: "Opens in a new window",
|
|
64
|
+
key: this.getKey(),
|
|
65
|
+
onPress: onLinkPress(href),
|
|
62
66
|
style: styles
|
|
63
67
|
}, children);
|
|
64
68
|
}
|
|
65
69
|
|
|
66
|
-
|
|
70
|
+
image(uri, alt, style) {
|
|
67
71
|
return /*#__PURE__*/React.createElement(MDImage, {
|
|
68
|
-
key:
|
|
72
|
+
key: this.getKey(),
|
|
69
73
|
uri: uri,
|
|
70
74
|
alt: alt,
|
|
71
75
|
style: style
|
|
72
76
|
});
|
|
73
77
|
}
|
|
74
78
|
|
|
75
|
-
|
|
76
|
-
return
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
79
|
+
strong(children, styles) {
|
|
80
|
+
return this.getTextNode(children, styles);
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
em(children, styles) {
|
|
84
|
+
return this.getTextNode(children, styles);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
codespan(text, styles) {
|
|
88
|
+
return this.getTextNode(text, styles);
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
br() {
|
|
92
|
+
return this.getTextNode("\n", {});
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
del(children, styles) {
|
|
96
|
+
return this.getTextNode(children, styles);
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
text(text, styles) {
|
|
100
|
+
return this.getTextNode(text, styles);
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
html(text, styles) {
|
|
104
|
+
return this.getTextNode(text, styles);
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
linkImage(href, imageUrl, alt, style) {
|
|
108
|
+
const imageNode = this.image(imageUrl, alt, style);
|
|
109
|
+
return /*#__PURE__*/React.createElement(TouchableHighlight, {
|
|
110
|
+
accessibilityRole: "link",
|
|
111
|
+
accessibilityHint: "Opens in a new window",
|
|
112
|
+
onPress: onLinkPress(href),
|
|
113
|
+
key: this.getKey()
|
|
114
|
+
}, imageNode);
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
getKey() {
|
|
118
|
+
return this.slugger.slug(this.slugPrefix);
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
getTextNode(children, styles) {
|
|
122
|
+
return /*#__PURE__*/React.createElement(Text, {
|
|
123
|
+
key: this.getKey(),
|
|
124
|
+
style: styles
|
|
125
|
+
}, children);
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
getViewNode(children, styles) {
|
|
129
|
+
{
|
|
130
|
+
return /*#__PURE__*/React.createElement(View, {
|
|
131
|
+
key: this.getKey(),
|
|
132
|
+
style: styles
|
|
133
|
+
}, children);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
getBlockquoteNode(children, styles) {
|
|
138
|
+
{
|
|
139
|
+
return /*#__PURE__*/React.createElement(View, {
|
|
140
|
+
key: this.getKey(),
|
|
141
|
+
style: styles
|
|
142
|
+
}, children);
|
|
143
|
+
}
|
|
82
144
|
}
|
|
83
145
|
|
|
84
146
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","ScrollView","View","Text","TouchableHighlight","MarkedList","Disc","Decimal","
|
|
1
|
+
{"version":3,"names":["React","ScrollView","View","Text","TouchableHighlight","MarkedList","Disc","Decimal","Slugger","MDImage","onLinkPress","Renderer","slugPrefix","constructor","slugger","paragraph","children","styles","getViewNode","blockquote","getBlockquoteNode","heading","text","getTextNode","code","_language","containerStyle","textStyle","getKey","hr","listItem","list","ordered","li","listStyle","map","node","escape","link","href","image","uri","alt","style","strong","em","codespan","br","del","html","linkImage","imageUrl","imageNode","slug"],"sourceRoot":"../../../src","sources":["lib/Renderer.tsx"],"mappings":"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"}
|