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