markdown-to-jsx 7.4.7 → 7.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +26 -2
- package/dist/index.cjs +1 -1
- package/dist/index.cjs.d.ts +6 -4
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +81 -73
- package/dist/index.modern.js +1 -1
- package/dist/index.modern.js.map +1 -1
- package/dist/index.module.js +1 -1
- package/dist/index.module.js.map +1 -1
- package/dist/index.umd.js +1 -1
- package/dist/index.umd.js.map +1 -1
- package/package.json +3 -3
package/dist/index.d.ts
CHANGED
|
@@ -10,47 +10,48 @@ import * as React from 'react';
|
|
|
10
10
|
* Analogous to `node.type`. Please note that the values here may change at any time,
|
|
11
11
|
* so do not hard code against the value directly.
|
|
12
12
|
*/
|
|
13
|
-
export declare const
|
|
14
|
-
blockQuote
|
|
15
|
-
breakLine
|
|
16
|
-
breakThematic
|
|
17
|
-
codeBlock
|
|
18
|
-
codeFenced
|
|
19
|
-
codeInline
|
|
20
|
-
footnote
|
|
21
|
-
footnoteReference
|
|
22
|
-
gfmTask
|
|
23
|
-
heading
|
|
24
|
-
headingSetext
|
|
13
|
+
export declare const RuleType: {
|
|
14
|
+
readonly blockQuote: "0";
|
|
15
|
+
readonly breakLine: "1";
|
|
16
|
+
readonly breakThematic: "2";
|
|
17
|
+
readonly codeBlock: "3";
|
|
18
|
+
readonly codeFenced: "4";
|
|
19
|
+
readonly codeInline: "5";
|
|
20
|
+
readonly footnote: "6";
|
|
21
|
+
readonly footnoteReference: "7";
|
|
22
|
+
readonly gfmTask: "8";
|
|
23
|
+
readonly heading: "9";
|
|
24
|
+
readonly headingSetext: "10";
|
|
25
25
|
/** only available if not `disableHTMLParsing` */
|
|
26
|
-
htmlBlock
|
|
27
|
-
htmlComment
|
|
26
|
+
readonly htmlBlock: "11";
|
|
27
|
+
readonly htmlComment: "12";
|
|
28
28
|
/** only available if not `disableHTMLParsing` */
|
|
29
|
-
htmlSelfClosing
|
|
30
|
-
image
|
|
31
|
-
link
|
|
29
|
+
readonly htmlSelfClosing: "13";
|
|
30
|
+
readonly image: "14";
|
|
31
|
+
readonly link: "15";
|
|
32
32
|
/** emits a `link` 'node', does not render directly */
|
|
33
|
-
linkAngleBraceStyleDetector
|
|
33
|
+
readonly linkAngleBraceStyleDetector: "16";
|
|
34
34
|
/** emits a `link` 'node', does not render directly */
|
|
35
|
-
linkBareUrlDetector
|
|
35
|
+
readonly linkBareUrlDetector: "17";
|
|
36
36
|
/** emits a `link` 'node', does not render directly */
|
|
37
|
-
linkMailtoDetector
|
|
38
|
-
newlineCoalescer
|
|
39
|
-
orderedList
|
|
40
|
-
paragraph
|
|
41
|
-
ref
|
|
42
|
-
refImage
|
|
43
|
-
refLink
|
|
44
|
-
table
|
|
45
|
-
tableSeparator
|
|
46
|
-
text
|
|
47
|
-
textBolded
|
|
48
|
-
textEmphasized
|
|
49
|
-
textEscaped
|
|
50
|
-
textMarked
|
|
51
|
-
textStrikethroughed
|
|
52
|
-
unorderedList
|
|
53
|
-
}
|
|
37
|
+
readonly linkMailtoDetector: "18";
|
|
38
|
+
readonly newlineCoalescer: "19";
|
|
39
|
+
readonly orderedList: "20";
|
|
40
|
+
readonly paragraph: "21";
|
|
41
|
+
readonly ref: "22";
|
|
42
|
+
readonly refImage: "23";
|
|
43
|
+
readonly refLink: "24";
|
|
44
|
+
readonly table: "25";
|
|
45
|
+
readonly tableSeparator: "26";
|
|
46
|
+
readonly text: "27";
|
|
47
|
+
readonly textBolded: "28";
|
|
48
|
+
readonly textEmphasized: "29";
|
|
49
|
+
readonly textEscaped: "30";
|
|
50
|
+
readonly textMarked: "31";
|
|
51
|
+
readonly textStrikethroughed: "32";
|
|
52
|
+
readonly unorderedList: "33";
|
|
53
|
+
};
|
|
54
|
+
export type RuleType = (typeof RuleType)[keyof typeof RuleType];
|
|
54
55
|
declare const enum Priority {
|
|
55
56
|
/**
|
|
56
57
|
* anything that must scan the tree before everything else
|
|
@@ -74,6 +75,7 @@ declare const enum Priority {
|
|
|
74
75
|
MIN = 4
|
|
75
76
|
}
|
|
76
77
|
export declare function slugify(str: string): string;
|
|
78
|
+
export declare function sanitizer(url: string): string;
|
|
77
79
|
export declare function compiler(markdown?: string, options?: MarkdownToJSX.Options): JSX.Element;
|
|
78
80
|
/**
|
|
79
81
|
* A simple HOC for easy React use. Feed the markdown content as a direct child
|
|
@@ -104,111 +106,113 @@ export declare namespace MarkdownToJSX {
|
|
|
104
106
|
key?: React.Key;
|
|
105
107
|
/** true if in a list */
|
|
106
108
|
list?: boolean;
|
|
109
|
+
/** used for lookbacks */
|
|
110
|
+
prevCapture?: string;
|
|
107
111
|
/** true if parsing in inline context w/o links */
|
|
108
112
|
simple?: boolean;
|
|
109
113
|
};
|
|
110
114
|
export interface BlockQuoteNode {
|
|
111
115
|
children: MarkdownToJSX.ParserResult[];
|
|
112
|
-
type: RuleType.blockQuote;
|
|
116
|
+
type: typeof RuleType.blockQuote;
|
|
113
117
|
}
|
|
114
118
|
export interface BreakLineNode {
|
|
115
|
-
type: RuleType.breakLine;
|
|
119
|
+
type: typeof RuleType.breakLine;
|
|
116
120
|
}
|
|
117
121
|
export interface BreakThematicNode {
|
|
118
|
-
type: RuleType.breakThematic;
|
|
122
|
+
type: typeof RuleType.breakThematic;
|
|
119
123
|
}
|
|
120
124
|
export interface CodeBlockNode {
|
|
121
|
-
type: RuleType.codeBlock;
|
|
125
|
+
type: typeof RuleType.codeBlock;
|
|
122
126
|
attrs?: JSX.IntrinsicAttributes;
|
|
123
127
|
lang?: string;
|
|
124
128
|
text: string;
|
|
125
129
|
}
|
|
126
130
|
export interface CodeFencedNode {
|
|
127
|
-
type: RuleType.codeFenced;
|
|
131
|
+
type: typeof RuleType.codeFenced;
|
|
128
132
|
}
|
|
129
133
|
export interface CodeInlineNode {
|
|
130
|
-
type: RuleType.codeInline;
|
|
134
|
+
type: typeof RuleType.codeInline;
|
|
131
135
|
text: string;
|
|
132
136
|
}
|
|
133
137
|
export interface FootnoteNode {
|
|
134
|
-
type: RuleType.footnote;
|
|
138
|
+
type: typeof RuleType.footnote;
|
|
135
139
|
}
|
|
136
140
|
export interface FootnoteReferenceNode {
|
|
137
|
-
type: RuleType.footnoteReference;
|
|
141
|
+
type: typeof RuleType.footnoteReference;
|
|
138
142
|
target: string;
|
|
139
143
|
text: string;
|
|
140
144
|
}
|
|
141
145
|
export interface GFMTaskNode {
|
|
142
|
-
type: RuleType.gfmTask;
|
|
146
|
+
type: typeof RuleType.gfmTask;
|
|
143
147
|
completed: boolean;
|
|
144
148
|
}
|
|
145
149
|
export interface HeadingNode {
|
|
146
|
-
type: RuleType.heading;
|
|
150
|
+
type: typeof RuleType.heading;
|
|
147
151
|
children: MarkdownToJSX.ParserResult[];
|
|
148
152
|
id: string;
|
|
149
153
|
level: 1 | 2 | 3 | 4 | 5 | 6;
|
|
150
154
|
}
|
|
151
155
|
export interface HeadingSetextNode {
|
|
152
|
-
type: RuleType.headingSetext;
|
|
156
|
+
type: typeof RuleType.headingSetext;
|
|
153
157
|
}
|
|
154
158
|
export interface HTMLCommentNode {
|
|
155
|
-
type: RuleType.htmlComment;
|
|
159
|
+
type: typeof RuleType.htmlComment;
|
|
156
160
|
}
|
|
157
161
|
export interface ImageNode {
|
|
158
|
-
type: RuleType.image;
|
|
162
|
+
type: typeof RuleType.image;
|
|
159
163
|
alt?: string;
|
|
160
164
|
target: string;
|
|
161
165
|
title?: string;
|
|
162
166
|
}
|
|
163
167
|
export interface LinkNode {
|
|
164
|
-
type: RuleType.link;
|
|
168
|
+
type: typeof RuleType.link;
|
|
165
169
|
children: MarkdownToJSX.ParserResult[];
|
|
166
170
|
target: string;
|
|
167
171
|
title?: string;
|
|
168
172
|
}
|
|
169
173
|
export interface LinkAngleBraceNode {
|
|
170
|
-
type: RuleType.linkAngleBraceStyleDetector;
|
|
174
|
+
type: typeof RuleType.linkAngleBraceStyleDetector;
|
|
171
175
|
}
|
|
172
176
|
export interface LinkBareURLNode {
|
|
173
|
-
type: RuleType.linkBareUrlDetector;
|
|
177
|
+
type: typeof RuleType.linkBareUrlDetector;
|
|
174
178
|
}
|
|
175
179
|
export interface LinkMailtoNode {
|
|
176
|
-
type: RuleType.linkMailtoDetector;
|
|
180
|
+
type: typeof RuleType.linkMailtoDetector;
|
|
177
181
|
}
|
|
178
182
|
export interface OrderedListNode {
|
|
179
|
-
type: RuleType.orderedList;
|
|
183
|
+
type: typeof RuleType.orderedList;
|
|
180
184
|
items: MarkdownToJSX.ParserResult[][];
|
|
181
185
|
ordered: true;
|
|
182
186
|
start?: number;
|
|
183
187
|
}
|
|
184
188
|
export interface UnorderedListNode {
|
|
185
|
-
type: RuleType.unorderedList;
|
|
189
|
+
type: typeof RuleType.unorderedList;
|
|
186
190
|
items: MarkdownToJSX.ParserResult[][];
|
|
187
191
|
ordered: false;
|
|
188
192
|
}
|
|
189
193
|
export interface NewlineNode {
|
|
190
|
-
type: RuleType.newlineCoalescer;
|
|
194
|
+
type: typeof RuleType.newlineCoalescer;
|
|
191
195
|
}
|
|
192
196
|
export interface ParagraphNode {
|
|
193
|
-
type: RuleType.paragraph;
|
|
197
|
+
type: typeof RuleType.paragraph;
|
|
194
198
|
children: MarkdownToJSX.ParserResult[];
|
|
195
199
|
}
|
|
196
200
|
export interface ReferenceNode {
|
|
197
|
-
type: RuleType.ref;
|
|
201
|
+
type: typeof RuleType.ref;
|
|
198
202
|
}
|
|
199
203
|
export interface ReferenceImageNode {
|
|
200
|
-
type: RuleType.refImage;
|
|
204
|
+
type: typeof RuleType.refImage;
|
|
201
205
|
alt?: string;
|
|
202
206
|
ref: string;
|
|
203
207
|
}
|
|
204
208
|
export interface ReferenceLinkNode {
|
|
205
|
-
type: RuleType.refLink;
|
|
209
|
+
type: typeof RuleType.refLink;
|
|
206
210
|
children: MarkdownToJSX.ParserResult[];
|
|
207
211
|
fallbackChildren: MarkdownToJSX.ParserResult[];
|
|
208
212
|
ref: string;
|
|
209
213
|
}
|
|
210
214
|
export interface TableNode {
|
|
211
|
-
type: RuleType.table;
|
|
215
|
+
type: typeof RuleType.table;
|
|
212
216
|
/**
|
|
213
217
|
* alignment for each table column
|
|
214
218
|
*/
|
|
@@ -217,33 +221,33 @@ export declare namespace MarkdownToJSX {
|
|
|
217
221
|
header: MarkdownToJSX.ParserResult[][];
|
|
218
222
|
}
|
|
219
223
|
export interface TableSeparatorNode {
|
|
220
|
-
type: RuleType.tableSeparator;
|
|
224
|
+
type: typeof RuleType.tableSeparator;
|
|
221
225
|
}
|
|
222
226
|
export interface TextNode {
|
|
223
|
-
type: RuleType.text;
|
|
227
|
+
type: typeof RuleType.text;
|
|
224
228
|
text: string;
|
|
225
229
|
}
|
|
226
230
|
export interface BoldTextNode {
|
|
227
|
-
type: RuleType.textBolded;
|
|
231
|
+
type: typeof RuleType.textBolded;
|
|
228
232
|
children: MarkdownToJSX.ParserResult[];
|
|
229
233
|
}
|
|
230
234
|
export interface ItalicTextNode {
|
|
231
|
-
type: RuleType.textEmphasized;
|
|
235
|
+
type: typeof RuleType.textEmphasized;
|
|
232
236
|
children: MarkdownToJSX.ParserResult[];
|
|
233
237
|
}
|
|
234
238
|
export interface EscapedTextNode {
|
|
235
|
-
type: RuleType.textEscaped;
|
|
239
|
+
type: typeof RuleType.textEscaped;
|
|
236
240
|
}
|
|
237
241
|
export interface MarkedTextNode {
|
|
238
|
-
type: RuleType.textMarked;
|
|
242
|
+
type: typeof RuleType.textMarked;
|
|
239
243
|
children: MarkdownToJSX.ParserResult[];
|
|
240
244
|
}
|
|
241
245
|
export interface StrikethroughTextNode {
|
|
242
|
-
type: RuleType.textStrikethroughed;
|
|
246
|
+
type: typeof RuleType.textStrikethroughed;
|
|
243
247
|
children: MarkdownToJSX.ParserResult[];
|
|
244
248
|
}
|
|
245
249
|
export interface HTMLNode {
|
|
246
|
-
type: RuleType.htmlBlock;
|
|
250
|
+
type: typeof RuleType.htmlBlock;
|
|
247
251
|
attrs: JSX.IntrinsicAttributes;
|
|
248
252
|
children?: ReturnType<MarkdownToJSX.NestedParser> | undefined;
|
|
249
253
|
noInnerParse: Boolean;
|
|
@@ -251,7 +255,7 @@ export declare namespace MarkdownToJSX {
|
|
|
251
255
|
text?: string | undefined;
|
|
252
256
|
}
|
|
253
257
|
export interface HTMLSelfClosingNode {
|
|
254
|
-
type: RuleType.htmlSelfClosing;
|
|
258
|
+
type: typeof RuleType.htmlSelfClosing;
|
|
255
259
|
attrs: JSX.IntrinsicAttributes;
|
|
256
260
|
tag: string;
|
|
257
261
|
}
|
|
@@ -270,8 +274,8 @@ export declare namespace MarkdownToJSX {
|
|
|
270
274
|
render: RuleOutput, state?: MarkdownToJSX.State) => React.ReactChild;
|
|
271
275
|
};
|
|
272
276
|
export type Rules = {
|
|
273
|
-
[K in ParserResult['type']]: K extends RuleType.table ? Rule<Extract<ParserResult, {
|
|
274
|
-
type: K | RuleType.paragraph;
|
|
277
|
+
[K in ParserResult['type']]: K extends typeof RuleType.table ? Rule<Extract<ParserResult, {
|
|
278
|
+
type: K | typeof RuleType.paragraph;
|
|
275
279
|
}>> : Rule<Extract<ParserResult, {
|
|
276
280
|
type: K;
|
|
277
281
|
}>>;
|
|
@@ -374,11 +378,15 @@ export declare namespace MarkdownToJSX {
|
|
|
374
378
|
renderChildren: RuleOutput,
|
|
375
379
|
/** contains `key` which should be supplied to the topmost JSX element */
|
|
376
380
|
state: State) => React.ReactChild;
|
|
381
|
+
/**
|
|
382
|
+
* Override the built-in sanitizer function for URLs, etc if desired. The built-in version is available as a library export called `sanitizer`.
|
|
383
|
+
*/
|
|
384
|
+
sanitizer: (value: string, tag: HTMLTags, attribute: string) => string | null;
|
|
377
385
|
/**
|
|
378
386
|
* Override normalization of non-URI-safe characters for use in generating
|
|
379
387
|
* HTML IDs for anchor linking purposes.
|
|
380
388
|
*/
|
|
381
|
-
slugify: (
|
|
389
|
+
slugify: (input: string, defaultFn: (input: string) => string) => string;
|
|
382
390
|
/**
|
|
383
391
|
* Declare the type of the wrapper to be used when there are multiple
|
|
384
392
|
* children to render. Set to `null` to get an array of children back
|
package/dist/index.modern.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import*as e from"react";function n(){return n=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},n.apply(this,arguments)}const t=["children","options"];var r,i;!function(e){e.blockQuote="0",e.breakLine="1",e.breakThematic="2",e.codeBlock="3",e.codeFenced="4",e.codeInline="5",e.footnote="6",e.footnoteReference="7",e.gfmTask="8",e.heading="9",e.headingSetext="10",e.htmlBlock="11",e.htmlComment="12",e.htmlSelfClosing="13",e.image="14",e.link="15",e.linkAngleBraceStyleDetector="16",e.linkBareUrlDetector="17",e.linkMailtoDetector="18",e.newlineCoalescer="19",e.orderedList="20",e.paragraph="21",e.ref="22",e.refImage="23",e.refLink="24",e.table="25",e.tableSeparator="26",e.text="27",e.textBolded="28",e.textEmphasized="29",e.textEscaped="30",e.textMarked="31",e.textStrikethroughed="32",e.unorderedList="33"}(r||(r={})),function(e){e[e.MAX=0]="MAX",e[e.HIGH=1]="HIGH",e[e.MED=2]="MED",e[e.LOW=3]="LOW",e[e.MIN=4]="MIN"}(i||(i={}));const l=["allowFullScreen","allowTransparency","autoComplete","autoFocus","autoPlay","cellPadding","cellSpacing","charSet","className","classId","colSpan","contentEditable","contextMenu","crossOrigin","encType","formAction","formEncType","formMethod","formNoValidate","formTarget","frameBorder","hrefLang","inputMode","keyParams","keyType","marginHeight","marginWidth","maxLength","mediaGroup","minLength","noValidate","radioGroup","readOnly","rowSpan","spellCheck","srcDoc","srcLang","srcSet","tabIndex","useMap"].reduce((e,n)=>(e[n.toLowerCase()]=n,e),{for:"htmlFor"}),o={amp:"&",apos:"'",gt:">",lt:"<",nbsp:" ",quot:"“"},c=["style","script"],a=/([-A-Z0-9_:]+)(?:\s*=\s*(?:(?:"((?:\\.|[^"])*)")|(?:'((?:\\.|[^'])*)')|(?:\{((?:\\.|{[^}]*?}|[^}])*)\})))?/gi,s=/mailto:/i,d=/\n{2,}$/,u=/^(\s*>[\s\S]*?)(?=\n{2,})/,p=/^ *> ?/gm,f=/^ {2,}\n/,h=/^(?:( *[-*_])){3,} *(?:\n *)+\n/,m=/^\s*(`{3,}|~{3,}) *(\S+)?([^\n]*?)?\n([\s\S]+?)\s*\1 *(?:\n *)*\n?/,g=/^(?: {4}[^\n]+\n*)+(?:\n *)+\n?/,y=/^(`+)\s*([\s\S]*?[^`])\s*\1(?!`)/,k=/^(?:\n *)*\n/,x=/\r\n?/g,v=/^\[\^([^\]]+)](:(.*)((\n+ {4,}.*)|(\n(?!\[\^).+))*)/,b=/^\[\^([^\]]+)]/,$=/\f/g,E=/^---[ \t]*\n(.|\n)*\n---[ \t]*\n/,w=/^\s*?\[(x|\s)\]/,S=/^ *(#{1,6}) *([^\n]+?)(?: +#*)?(?:\n *)*(?:\n|$)/,C=/^ *(#{1,6}) +([^\n]+?)(?: +#*)?(?:\n *)*(?:\n|$)/,A=/^([^\n]+)\n *(=|-){3,} *(?:\n *)+\n/,O=/^ *(?!<[a-z][^ >/]* ?\/>)<([a-z][^ >/]*) ?((?:[^>]*[^/])?)>\n?(\s*(?:<\1[^>]*?>[\s\S]*?<\/\1>|(?!<\1\b)[\s\S])*?)<\/\1>(?!<\/\1>)\n*/i,T=/&([a-z0-9]+|#[0-9]{1,6}|#x[0-9a-fA-F]{1,6});/gi,L=/^<!--[\s\S]*?(?:-->)/,R=/^(data|aria|x)-[a-z_][a-z\d_.-]*$/,z=/^ *<([a-z][a-z0-9:]*)(?:\s+((?:<.*?>|[^>])*))?\/?>(?!<\/\1>)(\s*\n)?/i,M=/^\{.*\}$/,I=/^(https?:\/\/[^\s<]+[^<.,:;"')\]\s])/,U=/^<([^ >]+@[^ >]+)>/,j=/^<([^ >]+:\/[^ >]+)>/,B=/-([a-z])?/gi,N=/^(.*\|.*)\n(?: *(\|? *[-:]+ *\|[-| :]*)\n((?:.*\|.*\n)*))?\n?/,H=/^\[([^\]]*)\]:\s+<?([^\s>]+)>?\s*("([^"]*)")?/,D=/^!\[([^\]]*)\] ?\[([^\]]*)\]/,P=/^\[([^\]]*)\] ?\[([^\]]*)\]/,_=/(\[|\])/g,F=/(\n|^[-*]\s|^#|^ {2,}|^-{2,}|^>\s)/,W=/\t/g,G=/(^ *\||\| *$)/g,Z=/^ *:-+: *$/,q=/^ *:-+ *$/,V=/^ *-+: *$/,X="((?:\\[.*?\\][([].*?[)\\]]|<.*?>(?:.*?<.*?>)?|`.*?`|~~.*?~~|==.*?==|.|\\n)*?)",Q=new RegExp(`^([*_])\\1${X}\\1\\1(?!\\1)`),J=new RegExp(`^([*_])${X}\\1(?!\\1|\\w)`),K=new RegExp(`^==${X}==`),Y=new RegExp(`^~~${X}~~`),ee=/^\\([^0-9A-Za-z\s])/,ne=/^[\s\S]+?(?=[^0-9A-Z\s\u00c0-\uffff&#;.()'"]|\d+\.|\n\n| {2,}\n|\w+:\S|$)/i,te=/^\n+/,re=/^([ \t]*)/,ie=/\\([^\\])/g,le=/ *\n+$/,oe=/(?:^|\n)( *)$/,ce="(?:\\d+\\.)",ae="(?:[*+-])";function se(e){return"( *)("+(1===e?ce:ae)+") +"}const de=se(1),ue=se(2);function pe(e){return new RegExp("^"+(1===e?de:ue))}const fe=pe(1),he=pe(2);function me(e){return new RegExp("^"+(1===e?de:ue)+"[^\\n]*(?:\\n(?!\\1"+(1===e?ce:ae)+" )[^\\n]*)*(\\n|$)","gm")}const ge=me(1),ye=me(2);function ke(e){const n=1===e?ce:ae;return new RegExp("^( *)("+n+") [\\s\\S]+?(?:\\n{2,}(?! )(?!\\1"+n+" (?!"+n+" ))\\n*|\\s*\\n*$)")}const xe=ke(1),ve=ke(2);function be(e,n){const t=1===n,r=t?xe:ve,i=t?ge:ye,l=t?fe:he;return{match(e,n,t){const i=oe.exec(t);return i&&(n.list||!n.inline&&!n.simple)?r.exec(e=i[1]+e):null},order:1,parse(e,n,r){const o=t?+e[2]:void 0,c=e[0].replace(d,"\n").match(i);let a=!1;return{items:c.map(function(e,t){const i=l.exec(e)[0].length,o=new RegExp("^ {1,"+i+"}","gm"),s=e.replace(o,"").replace(l,""),d=t===c.length-1,u=-1!==s.indexOf("\n\n")||d&&a;a=u;const p=r.inline,f=r.list;let h;r.list=!0,u?(r.inline=!1,h=s.replace(le,"\n\n")):(r.inline=!0,h=s.replace(le,""));const m=n(h,r);return r.inline=p,r.list=f,m}),ordered:t,start:o}},render:(n,t,r)=>e(n.ordered?"ol":"ul",{key:r.key,start:"20"===n.type?n.start:void 0},n.items.map(function(n,i){return e("li",{key:i},t(n,r))}))}}const $e=new RegExp("^\\[((?:\\[[^\\]]*\\]|[^\\[\\]]|\\](?=[^\\[]*\\]))*)\\]\\(\\s*<?((?:\\([^)]*\\)|[^\\s\\\\]|\\\\.)*?)>?(?:\\s+['\"]([\\s\\S]*?)['\"])?\\s*\\)"),Ee=/^!\[(.*?)\]\( *((?:\([^)]*\)|[^() ])*) *"?([^)"]*)?"?\)/,we=[u,m,g,S,A,C,L,N,ge,xe,ye,ve],Se=[...we,/^[^\n]+(?: \n|\n{2,})/,O,z];function Ce(e){return e.replace(/[ÀÁÂÃÄÅàáâãä忯]/g,"a").replace(/[çÇ]/g,"c").replace(/[ðÐ]/g,"d").replace(/[ÈÉÊËéèêë]/g,"e").replace(/[ÏïÎîÍíÌì]/g,"i").replace(/[Ññ]/g,"n").replace(/[øØœŒÕõÔôÓóÒò]/g,"o").replace(/[ÜüÛûÚúÙù]/g,"u").replace(/[ŸÿÝý]/g,"y").replace(/[^a-z0-9- ]/gi,"").replace(/ /gi,"-").toLowerCase()}function Ae(e){return V.test(e)?"right":Z.test(e)?"center":q.test(e)?"left":null}function Oe(e,n,t,r){const i=t.inTable;t.inTable=!0;let l=e.trim().split(/( *(?:`[^`]*`|<.*?>.*?<\/.*?>(?!<\/.*?>)|\\\||\|) *)/).reduce((e,i)=>("|"===i.trim()?e.push(r?{type:"26"}:{type:"27",text:i}):""!==i&&e.push.apply(e,n(i,t)),e),[]);t.inTable=i;let o=[[]];return l.forEach(function(e,n){"26"===e.type?0!==n&&n!==l.length-1&&o.push([]):("27"!==e.type||null!=l[n+1]&&"26"!==l[n+1].type||(e.text=e.text.trimEnd()),o[o.length-1].push(e))}),o}function Te(e,n,t){t.inline=!0;const r=e[2]?e[2].replace(G,"").split("|").map(Ae):[],i=e[3]?function(e,n,t){return e.trim().split("\n").map(function(e){return Oe(e,n,t,!0)})}(e[3],n,t):[],l=Oe(e[1],n,t,!!i.length);return t.inline=!1,i.length?{align:r,cells:i,header:l,type:"25"}:{children:l,type:"21"}}function Le(e,n){return null==e.align[n]?{}:{textAlign:e.align[n]}}function Re(e){return function(n,t){return t.inline?e.exec(n):null}}function ze(e){return function(n,t){return t.inline||t.simple?e.exec(n):null}}function Me(e){return function(n,t){return t.inline||t.simple?null:e.exec(n)}}function Ie(e){return function(n){return e.exec(n)}}function Ue(e,n,t){if(n.inline||n.simple)return null;if(t&&!t.endsWith("\n"))return null;let r="";e.split("\n").every(e=>!we.some(n=>n.test(e))&&(r+=e+"\n",e.trim()));const i=r.trimEnd();return""==i?null:[r,i]}function je(e){try{if(decodeURIComponent(e).replace(/[^A-Za-z0-9/:]/g,"").match(/^\s*(javascript|vbscript|data(?!:image)):/i))return}catch(e){return null}return e}function Be(e){return e.replace(ie,"$1")}function Ne(e,n,t){const r=t.inline||!1,i=t.simple||!1;t.inline=!0,t.simple=!0;const l=e(n,t);return t.inline=r,t.simple=i,l}function He(e,n,t){const r=t.inline||!1,i=t.simple||!1;t.inline=!1,t.simple=!0;const l=e(n,t);return t.inline=r,t.simple=i,l}function De(e,n,t){const r=t.inline||!1;t.inline=!1;const i=e(n,t);return t.inline=r,i}const Pe=(e,n,t)=>({children:Ne(n,e[1],t)});function _e(){return{}}function Fe(){return null}function We(...e){return e.filter(Boolean).join(" ")}function Ge(e,n,t){let r=e;const i=n.split(".");for(;i.length&&(r=r[i[0]],void 0!==r);)i.shift();return r||t}function Ze(t="",r={}){r.overrides=r.overrides||{},r.slugify=r.slugify||Ce,r.namedCodesToUnicode=r.namedCodesToUnicode?n({},o,r.namedCodesToUnicode):o;const i=r.createElement||e.createElement;function d(e,t,...l){const o=Ge(r.overrides,`${e}.props`,{});return i(function(e,n){const t=Ge(n,e);return t?"function"==typeof t||"object"==typeof t&&"render"in t?t:Ge(n,`${e}.component`,e):e}(e,r.overrides),n({},t,o,{className:We(null==t?void 0:t.className,o.className)||void 0}),...l)}function G(n){n=n.replace(E,"");let t=!1;r.forceInline?t=!0:r.forceBlock||(t=!1===F.test(n));const i=le(ie(t?n:`${n.trimEnd().replace(te,"")}\n\n`,{inline:t}));for(;"string"==typeof i[i.length-1]&&!i[i.length-1].trim();)i.pop();if(null===r.wrapper)return i;const l=r.wrapper||(t?"span":"div");let o;if(i.length>1||r.forceWrapper)o=i;else{if(1===i.length)return o=i[0],"string"==typeof o?d("span",{key:"outer"},o):o;o=null}return e.createElement(l,{key:"outer"},o)}function Z(n){const t=n.match(a);return t?t.reduce(function(n,t,r){const i=t.indexOf("=");if(-1!==i){const o=function(e){return-1!==e.indexOf("-")&&null===e.match(R)&&(e=e.replace(B,function(e,n){return n.toUpperCase()})),e}(t.slice(0,i)).trim(),c=function(e){const n=e[0];return('"'===n||"'"===n)&&e.length>=2&&e[e.length-1]===n?e.slice(1,-1):e}(t.slice(i+1).trim()),a=l[o]||o,s=n[a]=function(e,n){return"style"===e?n.split(/;\s?/).reduce(function(e,n){const t=n.slice(0,n.indexOf(":"));return e[t.trim().replace(/(-[a-z])/g,e=>e[1].toUpperCase())]=n.slice(t.length+1).trim(),e},{}):"href"===e||"src"===e?je(n):(n.match(M)&&(n=n.slice(1,n.length-1)),"true"===n||"false"!==n&&n)}(o,c);"string"==typeof s&&(O.test(s)||z.test(s))&&(n[a]=e.cloneElement(G(s.trim()),{key:r}))}else"style"!==t&&(n[l[t]||t]=!0);return n},{}):null}const q=[],V={},X={0:{match:Me(u),order:1,parse:(e,n,t)=>({children:n(e[0].replace(p,""),t)}),render:(e,n,t)=>d("blockquote",{key:t.key},n(e.children,t))},1:{match:Ie(f),order:1,parse:_e,render:(e,n,t)=>d("br",{key:t.key})},2:{match:Me(h),order:1,parse:_e,render:(e,n,t)=>d("hr",{key:t.key})},3:{match:Me(g),order:0,parse:e=>({lang:void 0,text:e[0].replace(/^ {4}/gm,"").replace(/\n+$/,"")}),render:(e,t,r)=>d("pre",{key:r.key},d("code",n({},e.attrs,{className:e.lang?`lang-${e.lang}`:""}),e.text))},4:{match:Me(m),order:0,parse:e=>({attrs:Z(e[3]||""),lang:e[2]||void 0,text:e[4],type:"3"})},5:{match:ze(y),order:3,parse:e=>({text:e[2]}),render:(e,n,t)=>d("code",{key:t.key},e.text)},6:{match:Me(v),order:0,parse:e=>(q.push({footnote:e[2],identifier:e[1]}),{}),render:Fe},7:{match:Re(b),order:1,parse:e=>({target:`#${r.slugify(e[1])}`,text:e[1]}),render:(e,n,t)=>d("a",{key:t.key,href:je(e.target)},d("sup",{key:t.key},e.text))},8:{match:Re(w),order:1,parse:e=>({completed:"x"===e[1].toLowerCase()}),render:(e,n,t)=>d("input",{checked:e.completed,key:t.key,readOnly:!0,type:"checkbox"})},9:{match:Me(r.enforceAtxHeadings?C:S),order:1,parse:(e,n,t)=>({children:Ne(n,e[2],t),id:r.slugify(e[2]),level:e[1].length}),render:(e,n,t)=>d(`h${e.level}`,{id:e.id,key:t.key},n(e.children,t))},10:{match:Me(A),order:0,parse:(e,n,t)=>({children:Ne(n,e[1],t),level:"="===e[2]?1:2,type:"9"})},11:{match:Ie(O),order:1,parse(e,n,t){const[,r]=e[3].match(re),i=new RegExp(`^${r}`,"gm"),l=e[3].replace(i,""),o=(a=l,Se.some(e=>e.test(a))?De:Ne);var a;const s=e[1].toLowerCase(),d=-1!==c.indexOf(s),u={attrs:Z(e[2]),noInnerParse:d,tag:(d?s:e[1]).trim()};return t.inAnchor=t.inAnchor||"a"===s,d?u.text=e[3]:u.children=o(n,l,t),t.inAnchor=!1,u},render:(e,t,r)=>d(e.tag,n({key:r.key},e.attrs),e.text||t(e.children,r))},13:{match:Ie(z),order:1,parse:e=>({attrs:Z(e[2]||""),tag:e[1].trim()}),render:(e,t,r)=>d(e.tag,n({},e.attrs,{key:r.key}))},12:{match:Ie(L),order:1,parse:()=>({}),render:Fe},14:{match:ze(Ee),order:1,parse:e=>({alt:e[1],target:Be(e[2]),title:e[3]}),render:(e,n,t)=>d("img",{key:t.key,alt:e.alt||void 0,title:e.title||void 0,src:je(e.target)})},15:{match:Re($e),order:3,parse:(e,n,t)=>({children:He(n,e[1],t),target:Be(e[2]),title:e[3]}),render:(e,n,t)=>d("a",{key:t.key,href:je(e.target),title:e.title},n(e.children,t))},16:{match:Re(j),order:0,parse:e=>({children:[{text:e[1],type:"27"}],target:e[1],type:"15"})},17:{match:(e,n)=>n.inAnchor?null:Re(I)(e,n),order:0,parse:e=>({children:[{text:e[1],type:"27"}],target:e[1],title:void 0,type:"15"})},18:{match:Re(U),order:0,parse(e){let n=e[1],t=e[1];return s.test(t)||(t="mailto:"+t),{children:[{text:n.replace("mailto:",""),type:"27"}],target:t,type:"15"}}},20:be(d,1),33:be(d,2),19:{match:Me(k),order:3,parse:_e,render:()=>"\n"},21:{match:Ue,order:3,parse:Pe,render:(e,n,t)=>d("p",{key:t.key},n(e.children,t))},22:{match:Re(H),order:0,parse:e=>(V[e[1]]={target:e[2],title:e[4]},{}),render:Fe},23:{match:ze(D),order:0,parse:e=>({alt:e[1]||void 0,ref:e[2]}),render:(e,n,t)=>V[e.ref]?d("img",{key:t.key,alt:e.alt,src:je(V[e.ref].target),title:V[e.ref].title}):null},24:{match:Re(P),order:0,parse:(e,n,t)=>({children:n(e[1],t),fallbackChildren:n(e[0].replace(_,"\\$1"),t),ref:e[2]}),render:(e,n,t)=>V[e.ref]?d("a",{key:t.key,href:je(V[e.ref].target),title:V[e.ref].title},n(e.children,t)):d("span",{key:t.key},n(e.fallbackChildren,t))},25:{match:Me(N),order:1,parse:Te,render(e,n,t){const r=e;return d("table",{key:t.key},d("thead",null,d("tr",null,r.header.map(function(e,i){return d("th",{key:i,style:Le(r,i)},n(e,t))}))),d("tbody",null,r.cells.map(function(e,i){return d("tr",{key:i},e.map(function(e,i){return d("td",{key:i,style:Le(r,i)},n(e,t))}))})))}},27:{match:Ie(ne),order:4,parse:e=>({text:e[0].replace(T,(e,n)=>r.namedCodesToUnicode[n]?r.namedCodesToUnicode[n]:e)}),render:e=>e.text},28:{match:ze(Q),order:2,parse:(e,n,t)=>({children:n(e[2],t)}),render:(e,n,t)=>d("strong",{key:t.key},n(e.children,t))},29:{match:ze(J),order:3,parse:(e,n,t)=>({children:n(e[2],t)}),render:(e,n,t)=>d("em",{key:t.key},n(e.children,t))},30:{match:ze(ee),order:1,parse:e=>({text:e[1],type:"27"})},31:{match:ze(K),order:3,parse:Pe,render:(e,n,t)=>d("mark",{key:t.key},n(e.children,t))},32:{match:ze(Y),order:3,parse:Pe,render:(e,n,t)=>d("del",{key:t.key},n(e.children,t))}};!0===r.disableParsingRawHTML&&(delete X[11],delete X[13]);const ie=function(e){let n=Object.keys(e);function t(r,i){let l=[],o="";for(;r;){let c=0;for(;c<n.length;){const a=n[c],s=e[a],d=s.match(r,i,o);if(d){const e=d[0];r=r.substring(e.length);const n=s.parse(d,t,i);null==n.type&&(n.type=a),l.push(n),o=e;break}c++}}return l}return n.sort(function(n,t){let r=e[n].order,i=e[t].order;return r!==i?r-i:n<t?-1:1}),function(e,n){return t(function(e){return e.replace(x,"\n").replace($,"").replace(W," ")}(e),n)}}(X),le=(oe=function(e,n){return function(t,r,i){const l=e[t.type].render;return n?n(()=>l(t,r,i),t,r,i):l(t,r,i)}}(X,r.renderRule),function e(n,t={}){if(Array.isArray(n)){const r=t.key,i=[];let l=!1;for(let r=0;r<n.length;r++){t.key=r;const o=e(n[r],t),c="string"==typeof o;c&&l?i[i.length-1]+=o:null!==o&&i.push(o),l=c}return t.key=r,i}return oe(n,e,t)});var oe;const ce=G(t);return q.length?d("div",null,ce,d("footer",{key:"footer"},q.map(function(e){return d("div",{id:r.slugify(e.identifier),key:e.identifier},e.identifier,le(ie(e.footnote,{inline:!0})))}))):ce}export default n=>{let{children:r="",options:i}=n,l=function(e,n){if(null==e)return{};var t,r,i={},l=Object.keys(e);for(r=0;r<l.length;r++)n.indexOf(t=l[r])>=0||(i[t]=e[t]);return i}(n,t);return e.cloneElement(Ze(r,i),l)};export{r as RuleType,Ze as compiler,Ce as slugify};
|
|
1
|
+
import*as e from"react";function t(){return t=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},t.apply(this,arguments)}const n=["children","options"],r={blockQuote:"0",breakLine:"1",breakThematic:"2",codeBlock:"3",codeFenced:"4",codeInline:"5",footnote:"6",footnoteReference:"7",gfmTask:"8",heading:"9",headingSetext:"10",htmlBlock:"11",htmlComment:"12",htmlSelfClosing:"13",image:"14",link:"15",linkAngleBraceStyleDetector:"16",linkBareUrlDetector:"17",linkMailtoDetector:"18",newlineCoalescer:"19",orderedList:"20",paragraph:"21",ref:"22",refImage:"23",refLink:"24",table:"25",tableSeparator:"26",text:"27",textBolded:"28",textEmphasized:"29",textEscaped:"30",textMarked:"31",textStrikethroughed:"32",unorderedList:"33"};var i;!function(e){e[e.MAX=0]="MAX",e[e.HIGH=1]="HIGH",e[e.MED=2]="MED",e[e.LOW=3]="LOW",e[e.MIN=4]="MIN"}(i||(i={}));const l=["allowFullScreen","allowTransparency","autoComplete","autoFocus","autoPlay","cellPadding","cellSpacing","charSet","className","classId","colSpan","contentEditable","contextMenu","crossOrigin","encType","formAction","formEncType","formMethod","formNoValidate","formTarget","frameBorder","hrefLang","inputMode","keyParams","keyType","marginHeight","marginWidth","maxLength","mediaGroup","minLength","noValidate","radioGroup","readOnly","rowSpan","spellCheck","srcDoc","srcLang","srcSet","tabIndex","useMap"].reduce((e,t)=>(e[t.toLowerCase()]=t,e),{for:"htmlFor"}),a={amp:"&",apos:"'",gt:">",lt:"<",nbsp:" ",quot:"“"},o=["style","script"],c=/([-A-Z0-9_:]+)(?:\s*=\s*(?:(?:"((?:\\.|[^"])*)")|(?:'((?:\\.|[^'])*)')|(?:\{((?:\\.|{[^}]*?}|[^}])*)\})))?/gi,s=/mailto:/i,d=/\n{2,}$/,p=/^(\s*>[\s\S]*?)(?=\n{2,})/,u=/^ *> ?/gm,f=/^ {2,}\n/,h=/^(?:( *[-*_])){3,} *(?:\n *)+\n/,m=/^\s*(`{3,}|~{3,}) *(\S+)?([^\n]*?)?\n([\s\S]+?)\s*\1 *(?:\n *)*\n?/,g=/^(?: {4}[^\n]+\n*)+(?:\n *)+\n?/,y=/^(`+)\s*([\s\S]*?[^`])\s*\1(?!`)/,k=/^(?:\n *)*\n/,x=/\r\n?/g,b=/^\[\^([^\]]+)](:(.*)((\n+ {4,}.*)|(\n(?!\[\^).+))*)/,v=/^\[\^([^\]]+)]/,S=/\f/g,E=/^---[ \t]*\n(.|\n)*\n---[ \t]*\n/,C=/^\s*?\[(x|\s)\]/,$=/^ *(#{1,6}) *([^\n]+?)(?: +#*)?(?:\n *)*(?:\n|$)/,w=/^ *(#{1,6}) +([^\n]+?)(?: +#*)?(?:\n *)*(?:\n|$)/,z=/^([^\n]+)\n *(=|-){3,} *(?:\n *)+\n/,L=/^ *(?!<[a-z][^ >/]* ?\/>)<([a-z][^ >/]*) ?((?:[^>]*[^/])?)>\n?(\s*(?:<\1[^>]*?>[\s\S]*?<\/\1>|(?!<\1\b)[\s\S])*?)<\/\1>(?!<\/\1>)\n*/i,A=/&([a-z0-9]+|#[0-9]{1,6}|#x[0-9a-fA-F]{1,6});/gi,T=/^<!--[\s\S]*?(?:-->)/,O=/^(data|aria|x)-[a-z_][a-z\d_.-]*$/,B=/^ *<([a-z][a-z0-9:]*)(?:\s+((?:<.*?>|[^>])*))?\/?>(?!<\/\1>)(\s*\n)?/i,M=/^\{.*\}$/,R=/^(https?:\/\/[^\s<]+[^<.,:;"')\]\s])/,I=/^<([^ >]+@[^ >]+)>/,U=/^<([^ >]+:\/[^ >]+)>/,D=/-([a-z])?/gi,j=/^(.*\|.*)\n(?: *(\|? *[-:]+ *\|[-| :]*)\n((?:.*\|.*\n)*))?\n?/,N=/^\[([^\]]*)\]:\s+<?([^\s>]+)>?\s*("([^"]*)")?/,H=/^!\[([^\]]*)\] ?\[([^\]]*)\]/,F=/^\[([^\]]*)\] ?\[([^\]]*)\]/,P=/(\[|\])/g,_=/(\n|^[-*]\s|^#|^ {2,}|^-{2,}|^>\s)/,W=/\t/g,G=/(^ *\||\| *$)/g,Z=/^ *:-+: *$/,q=/^ *:-+ *$/,Q=/^ *-+: *$/,V="((?:\\[.*?\\][([].*?[)\\]]|<.*?>(?:.*?<.*?>)?|`.*?`|~~.*?~~|==.*?==|.|\\n)*?)",X=new RegExp(`^([*_])\\1${V}\\1\\1(?!\\1)`),J=new RegExp(`^([*_])${V}\\1(?!\\1|\\w)`),K=new RegExp(`^==${V}==`),Y=new RegExp(`^~~${V}~~`),ee=/^\\([^0-9A-Za-z\s])/,te=/^[\s\S]+?(?=[^0-9A-Z\s\u00c0-\uffff&#;.()'"]|\d+\.|\n\n| {2,}\n|\w+:\S|$)/i,ne=/^\n+/,re=/^([ \t]*)/,ie=/\\([^\\])/g,le=/ *\n+$/,ae=/(?:^|\n)( *)$/,oe="(?:\\d+\\.)",ce="(?:[*+-])";function se(e){return"( *)("+(1===e?oe:ce)+") +"}const de=se(1),pe=se(2);function ue(e){return new RegExp("^"+(1===e?de:pe))}const fe=ue(1),he=ue(2);function me(e){return new RegExp("^"+(1===e?de:pe)+"[^\\n]*(?:\\n(?!\\1"+(1===e?oe:ce)+" )[^\\n]*)*(\\n|$)","gm")}const ge=me(1),ye=me(2);function ke(e){const t=1===e?oe:ce;return new RegExp("^( *)("+t+") [\\s\\S]+?(?:\\n{2,}(?! )(?!\\1"+t+" (?!"+t+" ))\\n*|\\s*\\n*$)")}const xe=ke(1),be=ke(2);function ve(e,t){const n=1===t,i=n?xe:be,l=n?ge:ye,a=n?fe:he;return{match(e,t){const n=ae.exec(t.prevCapture);return n&&(t.list||!t.inline&&!t.simple)?i.exec(e=n[1]+e):null},order:1,parse(e,t,r){const i=n?+e[2]:void 0,o=e[0].replace(d,"\n").match(l);let c=!1;return{items:o.map(function(e,n){const i=a.exec(e)[0].length,l=new RegExp("^ {1,"+i+"}","gm"),s=e.replace(l,"").replace(a,""),d=n===o.length-1,p=-1!==s.indexOf("\n\n")||d&&c;c=p;const u=r.inline,f=r.list;let h;r.list=!0,p?(r.inline=!1,h=s.replace(le,"\n\n")):(r.inline=!0,h=s.replace(le,""));const m=t(h,r);return r.inline=u,r.list=f,m}),ordered:n,start:i}},render:(t,n,i)=>e(t.ordered?"ol":"ul",{key:i.key,start:t.type===r.orderedList?t.start:void 0},t.items.map(function(t,r){return e("li",{key:r},n(t,i))}))}}const Se=new RegExp("^\\[((?:\\[[^\\]]*\\]|[^\\[\\]]|\\](?=[^\\[]*\\]))*)\\]\\(\\s*<?((?:\\([^)]*\\)|[^\\s\\\\]|\\\\.)*?)>?(?:\\s+['\"]([\\s\\S]*?)['\"])?\\s*\\)"),Ee=/^!\[(.*?)\]\( *((?:\([^)]*\)|[^() ])*) *"?([^)"]*)?"?\)/,Ce=[p,m,g,$,z,w,T,j,ge,xe,ye,be],$e=[...Ce,/^[^\n]+(?: \n|\n{2,})/,L,B];function we(e){return e.replace(/[ÀÁÂÃÄÅàáâãä忯]/g,"a").replace(/[çÇ]/g,"c").replace(/[ðÐ]/g,"d").replace(/[ÈÉÊËéèêë]/g,"e").replace(/[ÏïÎîÍíÌì]/g,"i").replace(/[Ññ]/g,"n").replace(/[øØœŒÕõÔôÓóÒò]/g,"o").replace(/[ÜüÛûÚúÙù]/g,"u").replace(/[ŸÿÝý]/g,"y").replace(/[^a-z0-9- ]/gi,"").replace(/ /gi,"-").toLowerCase()}function ze(e){return Q.test(e)?"right":Z.test(e)?"center":q.test(e)?"left":null}function Le(e,t,n,i){const l=n.inTable;n.inTable=!0;let a=e.trim().split(/( *(?:`[^`]*`|<.*?>.*?<\/.*?>(?!<\/.*?>)|\\\||\|) *)/).reduce((e,l)=>("|"===l.trim()?e.push(i?{type:r.tableSeparator}:{type:r.text,text:l}):""!==l&&e.push.apply(e,t(l,n)),e),[]);n.inTable=l;let o=[[]];return a.forEach(function(e,t){e.type===r.tableSeparator?0!==t&&t!==a.length-1&&o.push([]):(e.type!==r.text||null!=a[t+1]&&a[t+1].type!==r.tableSeparator||(e.text=e.text.trimEnd()),o[o.length-1].push(e))}),o}function Ae(e,t,n){n.inline=!0;const i=e[2]?e[2].replace(G,"").split("|").map(ze):[],l=e[3]?function(e,t,n){return e.trim().split("\n").map(function(e){return Le(e,t,n,!0)})}(e[3],t,n):[],a=Le(e[1],t,n,!!l.length);return n.inline=!1,l.length?{align:i,cells:l,header:a,type:r.table}:{children:a,type:r.paragraph}}function Te(e,t){return null==e.align[t]?{}:{textAlign:e.align[t]}}function Oe(e){return function(t,n){return n.inline?e.exec(t):null}}function Be(e){return function(t,n){return n.inline||n.simple?e.exec(t):null}}function Me(e){return function(t,n){return n.inline||n.simple?null:e.exec(t)}}function Re(e){return function(t){return e.exec(t)}}function Ie(e,t,n){if(t.inline||t.simple)return null;if(n&&!n.endsWith("\n"))return null;let r="";e.split("\n").every(e=>!Ce.some(t=>t.test(e))&&(r+=e+"\n",e.trim()));const i=r.trimEnd();return""==i?null:[r,i]}function Ue(e){try{if(decodeURIComponent(e).replace(/[^A-Za-z0-9/:]/g,"").match(/^\s*(javascript|vbscript|data(?!:image)):/i))return null}catch(e){return null}return e}function De(e){return e.replace(ie,"$1")}function je(e,t,n){const r=n.inline||!1,i=n.simple||!1;n.inline=!0,n.simple=!0;const l=e(t,n);return n.inline=r,n.simple=i,l}function Ne(e,t,n){const r=n.inline||!1,i=n.simple||!1;n.inline=!1,n.simple=!0;const l=e(t,n);return n.inline=r,n.simple=i,l}function He(e,t,n){const r=n.inline||!1;n.inline=!1;const i=e(t,n);return n.inline=r,i}const Fe=(e,t,n)=>({children:je(t,e[1],n)});function Pe(){return{}}function _e(){return null}function We(...e){return e.filter(Boolean).join(" ")}function Ge(e,t,n){let r=e;const i=t.split(".");for(;i.length&&(r=r[i[0]],void 0!==r);)i.shift();return r||n}function Ze(n="",i={}){function d(e,n,...r){const l=Ge(i.overrides,`${e}.props`,{});return i.createElement(function(e,t){const n=Ge(t,e);return n?"function"==typeof n||"object"==typeof n&&"render"in n?n:Ge(t,`${e}.component`,e):e}(e,i.overrides),t({},n,l,{className:We(null==n?void 0:n.className,l.className)||void 0}),...r)}function G(t){t=t.replace(E,"");let n=!1;i.forceInline?n=!0:i.forceBlock||(n=!1===_.test(t));const r=le(ie(n?t:`${t.trimEnd().replace(ne,"")}\n\n`,{inline:n}));for(;"string"==typeof r[r.length-1]&&!r[r.length-1].trim();)r.pop();if(null===i.wrapper)return r;const l=i.wrapper||(n?"span":"div");let a;if(r.length>1||i.forceWrapper)a=r;else{if(1===r.length)return a=r[0],"string"==typeof a?d("span",{key:"outer"},a):a;a=null}return e.createElement(l,{key:"outer"},a)}function Z(t,n){const r=n.match(c);return r?r.reduce(function(n,r,a){const o=r.indexOf("=");if(-1!==o){const c=function(e){return-1!==e.indexOf("-")&&null===e.match(O)&&(e=e.replace(D,function(e,t){return t.toUpperCase()})),e}(r.slice(0,o)).trim(),s=function(e){const t=e[0];return('"'===t||"'"===t)&&e.length>=2&&e[e.length-1]===t?e.slice(1,-1):e}(r.slice(o+1).trim()),d=l[c]||c,p=n[d]=function(e,t,n,r){return"style"===t?n.split(/;\s?/).reduce(function(e,t){const n=t.slice(0,t.indexOf(":"));return e[n.trim().replace(/(-[a-z])/g,e=>e[1].toUpperCase())]=t.slice(n.length+1).trim(),e},{}):"href"===t||"src"===t?r(n,e,t):(n.match(M)&&(n=n.slice(1,n.length-1)),"true"===n||"false"!==n&&n)}(t,c,s,i.sanitizer);"string"==typeof p&&(L.test(p)||B.test(p))&&(n[d]=e.cloneElement(G(p.trim()),{key:a}))}else"style"!==r&&(n[l[r]||r]=!0);return n},{}):null}i.overrides=i.overrides||{},i.sanitizer=i.sanitizer||Ue,i.slugify=i.slugify||we,i.namedCodesToUnicode=i.namedCodesToUnicode?t({},a,i.namedCodesToUnicode):a,i.createElement=i.createElement||e.createElement;const q=[],Q={},V={[r.blockQuote]:{match:Me(p),order:1,parse:(e,t,n)=>({children:t(e[0].replace(u,""),n)}),render:(e,t,n)=>d("blockquote",{key:n.key},t(e.children,n))},[r.breakLine]:{match:Re(f),order:1,parse:Pe,render:(e,t,n)=>d("br",{key:n.key})},[r.breakThematic]:{match:Me(h),order:1,parse:Pe,render:(e,t,n)=>d("hr",{key:n.key})},[r.codeBlock]:{match:Me(g),order:0,parse:e=>({lang:void 0,text:e[0].replace(/^ {4}/gm,"").replace(/\n+$/,"")}),render:(e,n,r)=>d("pre",{key:r.key},d("code",t({},e.attrs,{className:e.lang?`lang-${e.lang}`:""}),e.text))},[r.codeFenced]:{match:Me(m),order:0,parse:e=>({attrs:Z("code",e[3]||""),lang:e[2]||void 0,text:e[4],type:r.codeBlock})},[r.codeInline]:{match:Be(y),order:3,parse:e=>({text:e[2]}),render:(e,t,n)=>d("code",{key:n.key},e.text)},[r.footnote]:{match:Me(b),order:0,parse:e=>(q.push({footnote:e[2],identifier:e[1]}),{}),render:_e},[r.footnoteReference]:{match:Oe(v),order:1,parse:e=>({target:`#${i.slugify(e[1],we)}`,text:e[1]}),render:(e,t,n)=>d("a",{key:n.key,href:i.sanitizer(e.target,"a","href")},d("sup",{key:n.key},e.text))},[r.gfmTask]:{match:Oe(C),order:1,parse:e=>({completed:"x"===e[1].toLowerCase()}),render:(e,t,n)=>d("input",{checked:e.completed,key:n.key,readOnly:!0,type:"checkbox"})},[r.heading]:{match:Me(i.enforceAtxHeadings?w:$),order:1,parse:(e,t,n)=>({children:je(t,e[2],n),id:i.slugify(e[2],we),level:e[1].length}),render:(e,t,n)=>d(`h${e.level}`,{id:e.id,key:n.key},t(e.children,n))},[r.headingSetext]:{match:Me(z),order:0,parse:(e,t,n)=>({children:je(t,e[1],n),level:"="===e[2]?1:2,type:r.heading})},[r.htmlBlock]:{match:Re(L),order:1,parse(e,t,n){const[,r]=e[3].match(re),i=new RegExp(`^${r}`,"gm"),l=e[3].replace(i,""),a=(c=l,$e.some(e=>e.test(c))?He:je);var c;const s=e[1].toLowerCase(),d=-1!==o.indexOf(s),p=(d?s:e[1]).trim(),u={attrs:Z(p,e[2]),noInnerParse:d,tag:p};return n.inAnchor=n.inAnchor||"a"===s,d?u.text=e[3]:u.children=a(t,l,n),n.inAnchor=!1,u},render:(e,n,r)=>d(e.tag,t({key:r.key},e.attrs),e.text||(e.children?n(e.children,r):""))},[r.htmlSelfClosing]:{match:Re(B),order:1,parse(e){const t=e[1].trim();return{attrs:Z(t,e[2]||""),tag:t}},render:(e,n,r)=>d(e.tag,t({},e.attrs,{key:r.key}))},[r.htmlComment]:{match:Re(T),order:1,parse:()=>({}),render:_e},[r.image]:{match:Be(Ee),order:1,parse:e=>({alt:e[1],target:De(e[2]),title:e[3]}),render:(e,t,n)=>d("img",{key:n.key,alt:e.alt||void 0,title:e.title||void 0,src:i.sanitizer(e.target,"img","src")})},[r.link]:{match:Oe(Se),order:3,parse:(e,t,n)=>({children:Ne(t,e[1],n),target:De(e[2]),title:e[3]}),render:(e,t,n)=>d("a",{key:n.key,href:i.sanitizer(e.target,"a","href"),title:e.title},t(e.children,n))},[r.linkAngleBraceStyleDetector]:{match:Oe(U),order:0,parse:e=>({children:[{text:e[1],type:r.text}],target:e[1],type:r.link})},[r.linkBareUrlDetector]:{match:(e,t)=>t.inAnchor?null:Oe(R)(e,t),order:0,parse:e=>({children:[{text:e[1],type:r.text}],target:e[1],title:void 0,type:r.link})},[r.linkMailtoDetector]:{match:Oe(I),order:0,parse(e){let t=e[1],n=e[1];return s.test(n)||(n="mailto:"+n),{children:[{text:t.replace("mailto:",""),type:r.text}],target:n,type:r.link}}},[r.orderedList]:ve(d,1),[r.unorderedList]:ve(d,2),[r.newlineCoalescer]:{match:Me(k),order:3,parse:Pe,render:()=>"\n"},[r.paragraph]:{match:Ie,order:3,parse:Fe,render:(e,t,n)=>d("p",{key:n.key},t(e.children,n))},[r.ref]:{match:Oe(N),order:0,parse:e=>(Q[e[1]]={target:e[2],title:e[4]},{}),render:_e},[r.refImage]:{match:Be(H),order:0,parse:e=>({alt:e[1]||void 0,ref:e[2]}),render:(e,t,n)=>Q[e.ref]?d("img",{key:n.key,alt:e.alt,src:i.sanitizer(Q[e.ref].target,"img","src"),title:Q[e.ref].title}):null},[r.refLink]:{match:Oe(F),order:0,parse:(e,t,n)=>({children:t(e[1],n),fallbackChildren:t(e[0].replace(P,"\\$1"),n),ref:e[2]}),render:(e,t,n)=>Q[e.ref]?d("a",{key:n.key,href:i.sanitizer(Q[e.ref].target,"a","href"),title:Q[e.ref].title},t(e.children,n)):d("span",{key:n.key},t(e.fallbackChildren,n))},[r.table]:{match:Me(j),order:1,parse:Ae,render(e,t,n){const r=e;return d("table",{key:n.key},d("thead",null,d("tr",null,r.header.map(function(e,i){return d("th",{key:i,style:Te(r,i)},t(e,n))}))),d("tbody",null,r.cells.map(function(e,i){return d("tr",{key:i},e.map(function(e,i){return d("td",{key:i,style:Te(r,i)},t(e,n))}))})))}},[r.text]:{match:Re(te),order:4,parse:e=>({text:e[0].replace(A,(e,t)=>i.namedCodesToUnicode[t]?i.namedCodesToUnicode[t]:e)}),render:e=>e.text},[r.textBolded]:{match:Be(X),order:2,parse:(e,t,n)=>({children:t(e[2],n)}),render:(e,t,n)=>d("strong",{key:n.key},t(e.children,n))},[r.textEmphasized]:{match:Be(J),order:3,parse:(e,t,n)=>({children:t(e[2],n)}),render:(e,t,n)=>d("em",{key:n.key},t(e.children,n))},[r.textEscaped]:{match:Be(ee),order:1,parse:e=>({text:e[1],type:r.text})},[r.textMarked]:{match:Be(K),order:3,parse:Fe,render:(e,t,n)=>d("mark",{key:n.key},t(e.children,n))},[r.textStrikethroughed]:{match:Be(Y),order:3,parse:Fe,render:(e,t,n)=>d("del",{key:n.key},t(e.children,n))}};!0===i.disableParsingRawHTML&&(delete V[r.htmlBlock],delete V[r.htmlSelfClosing]);const ie=function(e){let t=Object.keys(e);function n(r,i){let l=[];for(i.prevCapture=i.prevCapture||"";r;){let a=0;for(;a<t.length;){const o=t[a],c=e[o],s=c.match(r,i);if(s){const e=s[0];i.prevCapture+=e,r=r.substring(e.length);const t=c.parse(s,n,i);null==t.type&&(t.type=o),l.push(t);break}a++}}return i.prevCapture="",l}return t.sort(function(t,n){let r=e[t].order,i=e[n].order;return r!==i?r-i:t<n?-1:1}),function(e,t){return n(function(e){return e.replace(x,"\n").replace(S,"").replace(W," ")}(e),t)}}(V),le=(ae=function(e,t){return function(n,r,i){const l=e[n.type].render;return t?t(()=>l(n,r,i),n,r,i):l(n,r,i)}}(V,i.renderRule),function e(t,n={}){if(Array.isArray(t)){const r=n.key,i=[];let l=!1;for(let r=0;r<t.length;r++){n.key=r;const a=e(t[r],n),o="string"==typeof a;o&&l?i[i.length-1]+=a:null!==a&&i.push(a),l=o}return n.key=r,i}return ae(t,e,n)});var ae;const oe=G(n);return q.length?d("div",null,oe,d("footer",{key:"footer"},q.map(function(e){return d("div",{id:i.slugify(e.identifier,we),key:e.identifier},e.identifier,le(ie(e.footnote,{inline:!0})))}))):oe}export default t=>{let{children:r="",options:i}=t,l=function(e,t){if(null==e)return{};var n,r,i={},l=Object.keys(e);for(r=0;r<l.length;r++)t.indexOf(n=l[r])>=0||(i[n]=e[n]);return i}(t,n);return e.cloneElement(Ze(r,i),l)};export{r as RuleType,Ze as compiler,Ue as sanitizer,we as slugify};
|
|
2
2
|
//# sourceMappingURL=index.modern.js.map
|