react-native-marked 6.0.4 → 6.0.5
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 +2 -1
- package/dist/commonjs/components/MDImage.js +19 -25
- package/dist/commonjs/components/MDImage.js.map +1 -1
- package/dist/commonjs/components/MDSvg.js +25 -39
- package/dist/commonjs/components/MDSvg.js.map +1 -1
- package/dist/commonjs/hooks/useMarkdown.js +7 -16
- package/dist/commonjs/hooks/useMarkdown.js.map +1 -1
- package/dist/commonjs/index.js +1 -7
- package/dist/commonjs/index.js.map +1 -1
- package/dist/commonjs/lib/Markdown.js +20 -32
- package/dist/commonjs/lib/Markdown.js.map +1 -1
- package/dist/commonjs/lib/Parser.js +38 -86
- package/dist/commonjs/lib/Parser.js.map +1 -1
- package/dist/commonjs/lib/Renderer.js +71 -115
- package/dist/commonjs/lib/Renderer.js.map +1 -1
- package/dist/commonjs/lib/types.js.map +1 -1
- package/dist/commonjs/package.json +1 -0
- package/dist/commonjs/theme/colors.js.map +1 -1
- package/dist/commonjs/theme/spacing.js.map +1 -1
- package/dist/commonjs/theme/styles.js +28 -33
- package/dist/commonjs/theme/styles.js.map +1 -1
- package/dist/commonjs/theme/types.js.map +1 -1
- package/dist/commonjs/utils/handlers.js +0 -3
- package/dist/commonjs/utils/handlers.js.map +1 -1
- package/dist/commonjs/utils/svg.js +3 -8
- package/dist/commonjs/utils/svg.js.map +1 -1
- package/dist/commonjs/utils/table.js +0 -8
- package/dist/commonjs/utils/table.js.map +1 -1
- package/dist/commonjs/utils/url.js +9 -12
- package/dist/commonjs/utils/url.js.map +1 -1
- package/dist/module/components/MDImage.js +19 -18
- package/dist/module/components/MDImage.js.map +1 -1
- package/dist/module/components/MDSvg.js +25 -30
- package/dist/module/components/MDSvg.js.map +1 -1
- package/dist/module/hooks/useMarkdown.js +8 -8
- package/dist/module/hooks/useMarkdown.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 +18 -21
- package/dist/module/lib/Markdown.js.map +1 -1
- package/dist/module/lib/Parser.js +40 -83
- package/dist/module/lib/Parser.js.map +1 -1
- package/dist/module/lib/Renderer.js +72 -100
- package/dist/module/lib/Renderer.js.map +1 -1
- package/dist/module/lib/types.js +2 -0
- package/dist/module/lib/types.js.map +1 -1
- package/dist/module/package.json +1 -0
- package/dist/module/theme/colors.js +2 -0
- package/dist/module/theme/colors.js.map +1 -1
- package/dist/module/theme/spacing.js +2 -0
- package/dist/module/theme/spacing.js.map +1 -1
- package/dist/module/theme/styles.js +29 -28
- package/dist/module/theme/styles.js.map +1 -1
- package/dist/module/theme/types.js +2 -0
- package/dist/module/theme/types.js.map +1 -1
- package/dist/module/utils/handlers.js +2 -0
- package/dist/module/utils/handlers.js.map +1 -1
- package/dist/module/utils/svg.js +5 -5
- package/dist/module/utils/svg.js.map +1 -1
- package/dist/module/utils/table.js +2 -4
- package/dist/module/utils/table.js.map +1 -1
- package/dist/module/utils/url.js +11 -10
- package/dist/module/utils/url.js.map +1 -1
- package/dist/typescript/hooks/useMarkdown.d.ts +2 -2
- package/dist/typescript/hooks/useMarkdown.d.ts.map +1 -1
- package/dist/typescript/lib/Markdown.d.ts.map +1 -1
- package/dist/typescript/lib/Parser.d.ts +1 -1
- package/dist/typescript/lib/Renderer.d.ts.map +1 -1
- package/dist/typescript/lib/types.d.ts +1 -1
- package/dist/typescript/lib/types.d.ts.map +1 -1
- package/package.json +178 -176
- package/src/hooks/useMarkdown.ts +2 -2
- package/src/lib/Parser.tsx +1 -1
- package/src/lib/Renderer.tsx +10 -14
- package/src/lib/types.ts +1 -1
- package/src/utils/svg.ts +2 -2
|
@@ -1,10 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
1
3
|
import { decode } from "html-entities";
|
|
2
4
|
import { getValidURL } from "./../utils/url";
|
|
3
5
|
import { getTableColAlignmentStyle } from "./../utils/table";
|
|
4
|
-
|
|
5
6
|
class Parser {
|
|
6
7
|
constructor(options) {
|
|
7
|
-
this.styles = {
|
|
8
|
+
this.styles = {
|
|
9
|
+
...options.styles
|
|
8
10
|
};
|
|
9
11
|
this.baseUrl = options.baseUrl ?? "";
|
|
10
12
|
this.renderer = options.renderer;
|
|
@@ -17,18 +19,15 @@ class Parser {
|
|
|
17
19
|
6: this.styles.h6
|
|
18
20
|
};
|
|
19
21
|
}
|
|
20
|
-
|
|
21
22
|
parse(tokens) {
|
|
22
23
|
return this._parse(tokens);
|
|
23
24
|
}
|
|
24
|
-
|
|
25
25
|
_parse(tokens, styles) {
|
|
26
26
|
const elements = tokens.map(token => {
|
|
27
27
|
return this._parseToken(token, styles);
|
|
28
28
|
});
|
|
29
29
|
return elements.filter(element => element !== null);
|
|
30
30
|
}
|
|
31
|
-
|
|
32
31
|
_parseToken(token, styles) {
|
|
33
32
|
switch (token.type) {
|
|
34
33
|
case "paragraph":
|
|
@@ -36,200 +35,169 @@ class Parser {
|
|
|
36
35
|
const children = this.getNormalizedSiblingNodesForBlockAndInlineTokens(token.tokens, this.styles.text);
|
|
37
36
|
return this.renderer.paragraph(children, this.styles.paragraph);
|
|
38
37
|
}
|
|
39
|
-
|
|
40
38
|
case "blockquote":
|
|
41
39
|
{
|
|
42
40
|
const children = this.parse(token.tokens);
|
|
43
41
|
return this.renderer.blockquote(children, this.styles.blockquote);
|
|
44
42
|
}
|
|
45
|
-
|
|
46
43
|
case "heading":
|
|
47
44
|
{
|
|
48
45
|
const styles = this.headingStylesMap[token.depth];
|
|
49
|
-
|
|
50
46
|
if (this.hasDuplicateTextChildToken(token)) {
|
|
51
47
|
return this.renderer.heading(token.text, styles, token.depth);
|
|
52
48
|
}
|
|
53
|
-
|
|
54
49
|
const children = this._parse(token.tokens, styles);
|
|
55
|
-
|
|
56
50
|
return this.renderer.heading(children, styles, token.depth);
|
|
57
51
|
}
|
|
58
|
-
|
|
59
52
|
case "code":
|
|
60
53
|
{
|
|
61
54
|
return this.renderer.code(token.text, token.lang, this.styles.code, this.styles.em);
|
|
62
55
|
}
|
|
63
|
-
|
|
64
56
|
case "hr":
|
|
65
57
|
{
|
|
66
58
|
return this.renderer.hr(this.styles.hr);
|
|
67
59
|
}
|
|
68
|
-
|
|
69
60
|
case "list":
|
|
70
61
|
{
|
|
71
|
-
let startIndex = parseInt(token.start.toString());
|
|
72
|
-
|
|
62
|
+
let startIndex = Number.parseInt(token.start.toString());
|
|
73
63
|
if (Number.isNaN(startIndex)) {
|
|
74
64
|
startIndex = 1;
|
|
75
65
|
}
|
|
76
|
-
|
|
77
66
|
const li = token.items.map(item => {
|
|
78
67
|
const children = item.tokens.flatMap(cItem => {
|
|
79
68
|
if (cItem.type === "text") {
|
|
80
69
|
/* getViewNode since tokens could contain a block like elements (i.e. img) */
|
|
81
70
|
const childTokens = cItem.tokens || [];
|
|
82
|
-
const listChildren = this.getNormalizedSiblingNodesForBlockAndInlineTokens(childTokens, this.styles.li);
|
|
83
|
-
|
|
71
|
+
const listChildren = this.getNormalizedSiblingNodesForBlockAndInlineTokens(childTokens, this.styles.li);
|
|
72
|
+
// return this.renderer.listItem(listChildren, this.styles.li);
|
|
84
73
|
return listChildren;
|
|
85
74
|
}
|
|
86
|
-
/* Parse the nested token */
|
|
87
|
-
|
|
88
75
|
|
|
76
|
+
/* Parse the nested token */
|
|
89
77
|
return this._parseToken(cItem);
|
|
90
78
|
});
|
|
91
79
|
return this.renderer.listItem(children, this.styles.li);
|
|
92
80
|
});
|
|
93
81
|
return this.renderer.list(token.ordered, li, this.styles.list, this.styles.li, startIndex);
|
|
94
82
|
}
|
|
95
|
-
|
|
96
83
|
case "escape":
|
|
97
84
|
{
|
|
98
|
-
return this.renderer.escape(token.text, {
|
|
85
|
+
return this.renderer.escape(token.text, {
|
|
86
|
+
...this.styles.text,
|
|
99
87
|
...styles
|
|
100
88
|
});
|
|
101
89
|
}
|
|
102
|
-
|
|
103
90
|
case "link":
|
|
104
91
|
{
|
|
105
|
-
var _this$styles$link, _this$styles$link2;
|
|
106
|
-
|
|
107
92
|
// Don't render anchors without text and children
|
|
108
93
|
if (token.text.trim.length < 1 && token.tokens.length < 1) {
|
|
109
94
|
return null;
|
|
110
|
-
}
|
|
111
|
-
// in paragraph token, so will be handled via `getNormalizedSiblingNodesForBlockAndInlineTokens`
|
|
112
|
-
|
|
95
|
+
}
|
|
113
96
|
|
|
114
|
-
|
|
97
|
+
// Note: Linking Images (https://www.markdownguide.org/basic-syntax/#linking-images) are wrapped
|
|
98
|
+
// in paragraph token, so will be handled via `getNormalizedSiblingNodesForBlockAndInlineTokens`
|
|
99
|
+
const linkStyle = {
|
|
100
|
+
...this.styles.link,
|
|
115
101
|
...styles,
|
|
116
102
|
// To override color and fontStyle properties
|
|
117
|
-
color:
|
|
118
|
-
fontStyle:
|
|
103
|
+
color: this.styles.link?.color,
|
|
104
|
+
fontStyle: this.styles.link?.fontStyle
|
|
119
105
|
};
|
|
120
106
|
const href = getValidURL(this.baseUrl, token.href);
|
|
121
|
-
|
|
122
107
|
if (this.hasDuplicateTextChildToken(token)) {
|
|
123
108
|
return this.renderer.link(token.text, href, linkStyle);
|
|
124
109
|
}
|
|
125
|
-
|
|
126
110
|
const children = this._parse(token.tokens, linkStyle);
|
|
127
|
-
|
|
128
111
|
return this.renderer.link(children, href, linkStyle);
|
|
129
112
|
}
|
|
130
|
-
|
|
131
113
|
case "image":
|
|
132
114
|
{
|
|
133
115
|
return this.renderer.image(token.href, token.text || token.title, this.styles.image);
|
|
134
116
|
}
|
|
135
|
-
|
|
136
117
|
case "strong":
|
|
137
118
|
{
|
|
138
|
-
const boldStyle = {
|
|
119
|
+
const boldStyle = {
|
|
120
|
+
...this.styles.strong,
|
|
139
121
|
...styles
|
|
140
122
|
};
|
|
141
|
-
|
|
142
123
|
if (this.hasDuplicateTextChildToken(token)) {
|
|
143
124
|
return this.renderer.strong(token.text, boldStyle);
|
|
144
125
|
}
|
|
145
|
-
|
|
146
126
|
const children = this._parse(token.tokens, boldStyle);
|
|
147
|
-
|
|
148
127
|
return this.renderer.strong(children, boldStyle);
|
|
149
128
|
}
|
|
150
|
-
|
|
151
129
|
case "em":
|
|
152
130
|
{
|
|
153
|
-
const italicStyle = {
|
|
131
|
+
const italicStyle = {
|
|
132
|
+
...this.styles.em,
|
|
154
133
|
...styles
|
|
155
134
|
};
|
|
156
|
-
|
|
157
135
|
if (this.hasDuplicateTextChildToken(token)) {
|
|
158
136
|
return this.renderer.em(token.text, italicStyle);
|
|
159
137
|
}
|
|
160
|
-
|
|
161
138
|
const children = this._parse(token.tokens, italicStyle);
|
|
162
|
-
|
|
163
139
|
return this.renderer.em(children, italicStyle);
|
|
164
140
|
}
|
|
165
|
-
|
|
166
141
|
case "codespan":
|
|
167
142
|
{
|
|
168
|
-
return this.renderer.codespan(decode(token.text), {
|
|
143
|
+
return this.renderer.codespan(decode(token.text), {
|
|
144
|
+
...this.styles.codespan,
|
|
169
145
|
...styles
|
|
170
146
|
});
|
|
171
147
|
}
|
|
172
|
-
|
|
173
148
|
case "br":
|
|
174
149
|
{
|
|
175
150
|
return this.renderer.br();
|
|
176
151
|
}
|
|
177
|
-
|
|
178
152
|
case "del":
|
|
179
153
|
{
|
|
180
|
-
const strikethroughStyle = {
|
|
154
|
+
const strikethroughStyle = {
|
|
155
|
+
...this.styles.strikethrough,
|
|
181
156
|
...styles
|
|
182
157
|
};
|
|
183
|
-
|
|
184
158
|
if (this.hasDuplicateTextChildToken(token)) {
|
|
185
159
|
return this.renderer.del(token.text, strikethroughStyle);
|
|
186
160
|
}
|
|
187
|
-
|
|
188
161
|
const children = this._parse(token.tokens, strikethroughStyle);
|
|
189
|
-
|
|
190
162
|
return this.renderer.del(children, strikethroughStyle);
|
|
191
163
|
}
|
|
192
|
-
|
|
193
164
|
case "text":
|
|
194
|
-
return this.renderer.text(token.raw, {
|
|
165
|
+
return this.renderer.text(token.raw, {
|
|
166
|
+
...this.styles.text,
|
|
195
167
|
...styles
|
|
196
168
|
});
|
|
197
|
-
|
|
198
169
|
case "html":
|
|
199
170
|
{
|
|
200
171
|
console.warn("react-native-marked: rendering html from markdown is not supported");
|
|
201
|
-
return this.renderer.html(token.raw, {
|
|
172
|
+
return this.renderer.html(token.raw, {
|
|
173
|
+
...this.styles.text,
|
|
202
174
|
...styles
|
|
203
175
|
});
|
|
204
176
|
}
|
|
205
|
-
|
|
206
177
|
case "table":
|
|
207
178
|
{
|
|
208
|
-
const header = token.header.map((row, i) => this._parse(row.tokens, {
|
|
179
|
+
const header = token.header.map((row, i) => this._parse(row.tokens, {
|
|
180
|
+
...getTableColAlignmentStyle(token.align[i])
|
|
209
181
|
}));
|
|
210
|
-
const rows = token.rows.map(cols => cols.map((col, i) => this._parse(col.tokens, {
|
|
182
|
+
const rows = token.rows.map(cols => cols.map((col, i) => this._parse(col.tokens, {
|
|
183
|
+
...getTableColAlignmentStyle(token.align[i])
|
|
211
184
|
})));
|
|
212
185
|
return this.renderer.table(header, rows, this.styles.table, this.styles.tableRow, this.styles.tableCell);
|
|
213
186
|
}
|
|
214
|
-
|
|
215
187
|
case "custom":
|
|
216
188
|
{
|
|
217
189
|
const children = this._parse(token.tokens ?? []);
|
|
218
|
-
|
|
219
190
|
return this.renderer.custom(token.identifier, token.raw, children, token.args);
|
|
220
191
|
}
|
|
221
|
-
|
|
222
192
|
default:
|
|
223
193
|
{
|
|
224
194
|
return null;
|
|
225
195
|
}
|
|
226
196
|
}
|
|
227
197
|
}
|
|
228
|
-
|
|
229
198
|
getNormalizedSiblingNodesForBlockAndInlineTokens(tokens, textStyle) {
|
|
230
199
|
let tokenRenderQueue = [];
|
|
231
200
|
const siblingNodes = [];
|
|
232
|
-
|
|
233
201
|
for (const t of tokens) {
|
|
234
202
|
/**
|
|
235
203
|
* To avoid inlining images
|
|
@@ -239,12 +207,11 @@ class Parser {
|
|
|
239
207
|
if (t.type === "image" || t.type === "link" && t.tokens && t.tokens[0] && t.tokens[0].type === "image") {
|
|
240
208
|
// Render existing inline tokens in the queue
|
|
241
209
|
const parsed = this._parse(tokenRenderQueue);
|
|
242
|
-
|
|
243
210
|
if (parsed.length > 0) {
|
|
244
211
|
siblingNodes.push(this.renderer.text(parsed, textStyle));
|
|
245
|
-
}
|
|
246
|
-
|
|
212
|
+
}
|
|
247
213
|
|
|
214
|
+
// Render the current block token
|
|
248
215
|
if (t.type === "image") {
|
|
249
216
|
siblingNodes.push(this._parseToken(t));
|
|
250
217
|
} else if (t.type === "link") {
|
|
@@ -252,40 +219,30 @@ class Parser {
|
|
|
252
219
|
const href = getValidURL(this.baseUrl, t.href);
|
|
253
220
|
siblingNodes.push(this.renderer.linkImage(href, imageToken.href, imageToken.text || imageToken.title, this.styles.image));
|
|
254
221
|
}
|
|
255
|
-
|
|
256
222
|
tokenRenderQueue = [];
|
|
257
223
|
continue;
|
|
258
224
|
}
|
|
259
|
-
|
|
260
225
|
tokenRenderQueue = [...tokenRenderQueue, t];
|
|
261
226
|
}
|
|
262
|
-
/* Remaining temp tokens if any */
|
|
263
|
-
|
|
264
227
|
|
|
228
|
+
/* Remaining temp tokens if any */
|
|
265
229
|
if (tokenRenderQueue.length > 0) {
|
|
266
230
|
siblingNodes.push(this.renderer.text(this.parse(tokenRenderQueue), {}));
|
|
267
231
|
}
|
|
268
|
-
|
|
269
232
|
return siblingNodes;
|
|
270
|
-
}
|
|
271
|
-
// ref: https://github.com/gmsgowtham/react-native-marked/issues/522
|
|
272
|
-
|
|
233
|
+
}
|
|
273
234
|
|
|
235
|
+
// To avoid duplicate text node nesting when there are no child tokens with text emphasis (i.e., italic)
|
|
236
|
+
// ref: https://github.com/gmsgowtham/react-native-marked/issues/522
|
|
274
237
|
hasDuplicateTextChildToken(token) {
|
|
275
|
-
var _token$tokens$;
|
|
276
|
-
|
|
277
238
|
if (!("tokens" in token)) {
|
|
278
239
|
return false;
|
|
279
240
|
}
|
|
280
|
-
|
|
281
|
-
if (token.tokens && token.tokens.length === 1 && ((_token$tokens$ = token.tokens[0]) === null || _token$tokens$ === void 0 ? void 0 : _token$tokens$.type) === "text") {
|
|
241
|
+
if (token.tokens && token.tokens.length === 1 && token.tokens[0]?.type === "text") {
|
|
282
242
|
return true;
|
|
283
243
|
}
|
|
284
|
-
|
|
285
244
|
return false;
|
|
286
245
|
}
|
|
287
|
-
|
|
288
246
|
}
|
|
289
|
-
|
|
290
247
|
export default Parser;
|
|
291
248
|
//# sourceMappingURL=Parser.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["decode","getValidURL","getTableColAlignmentStyle","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","parseInt","start","toString","
|
|
1
|
+
{"version":3,"names":["decode","getValidURL","getTableColAlignmentStyle","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","image","title","boldStyle","strong","italicStyle","codespan","br","strikethroughStyle","strikethrough","del","raw","console","warn","html","header","row","i","align","rows","cols","col","table","tableRow","tableCell","custom","identifier","args","textStyle","tokenRenderQueue","siblingNodes","t","parsed","push","imageToken","linkImage"],"sourceRoot":"../../../src","sources":["lib/Parser.tsx"],"mappings":"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","ignoreList":[]}
|