markdown-to-jsx 7.3.1 → 7.4.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/dist/index.d.ts CHANGED
@@ -1,9 +1,88 @@
1
1
  /**
2
- * markdown-to-jsx is a fork of [simple-markdown v0.2.2](https://github.com/Khan/simple-markdown)
3
- * from Khan Academy. Thank you Khan devs for making such an awesome and extensible
4
- * parsing infra... without it, half of the optimizations here wouldn't be feasible. 🙏🏼
2
+ * markdown-to-jsx is a fork of
3
+ * [simple-markdown v0.2.2](https://github.com/Khan/simple-markdown)
4
+ * from Khan Academy. Thank you Khan devs for making such an awesome
5
+ * and extensible parsing infra... without it, half of the
6
+ * optimizations here wouldn't be feasible. 🙏🏼
5
7
  */
6
8
  import * as React from 'react';
9
+ /**
10
+ * Analogous to `node.type`. Please note that the values here may change at any time,
11
+ * so do not hard code against the value directly.
12
+ */
13
+ export declare const enum RuleType {
14
+ blockQuote = "0",
15
+ breakLine = "1",
16
+ breakThematic = "2",
17
+ codeBlock = "3",
18
+ codeFenced = "4",
19
+ codeInline = "5",
20
+ footnote = "6",
21
+ footnoteReference = "7",
22
+ gfmTask = "8",
23
+ heading = "9",
24
+ headingSetext = "10",
25
+ /** only available if not `disableHTMLParsing` */
26
+ htmlBlock = "11",
27
+ htmlComment = "12",
28
+ /** only available if not `disableHTMLParsing` */
29
+ htmlSelfClosing = "13",
30
+ image = "14",
31
+ link = "15",
32
+ /** emits a `link` 'node', does not render directly */
33
+ linkAngleBraceStyleDetector = "16",
34
+ /** emits a `link` 'node', does not render directly */
35
+ linkBareUrlDetector = "17",
36
+ /** emits a `link` 'node', does not render directly */
37
+ linkMailtoDetector = "18",
38
+ newlineCoalescer = "19",
39
+ orderedList = "20",
40
+ paragraph = "21",
41
+ ref = "22",
42
+ refImage = "23",
43
+ refLink = "24",
44
+ table = "25",
45
+ tableSeparator = "26",
46
+ text = "27",
47
+ textBolded = "28",
48
+ textEmphasized = "29",
49
+ textEscaped = "30",
50
+ textMarked = "31",
51
+ textStrikethroughed = "32",
52
+ unorderedList = "33"
53
+ }
54
+ declare const enum Priority {
55
+ /**
56
+ * anything that must scan the tree before everything else
57
+ */
58
+ MAX = 0,
59
+ /**
60
+ * scans for block-level constructs
61
+ */
62
+ HIGH = 1,
63
+ /**
64
+ * inline w/ more priority than other inline
65
+ */
66
+ MED = 2,
67
+ /**
68
+ * inline elements
69
+ */
70
+ LOW = 3,
71
+ /**
72
+ * bare text and stuff that is considered leftovers
73
+ */
74
+ MIN = 4
75
+ }
76
+ export declare function compiler(markdown: string, options?: MarkdownToJSX.Options): JSX.Element;
77
+ /**
78
+ * A simple HOC for easy React use. Feed the markdown content as a direct child
79
+ * and the rest is taken care of automatically.
80
+ */
81
+ declare const Markdown: React.FC<{
82
+ [key: string]: any;
83
+ children: string;
84
+ options?: MarkdownToJSX.Options;
85
+ }>;
7
86
  export declare namespace MarkdownToJSX {
8
87
  /**
9
88
  * RequireAtLeastOne<{ ... }> <- only requires at least one key
@@ -14,28 +93,185 @@ export declare namespace MarkdownToJSX {
14
93
  export type CreateElement = typeof React.createElement;
15
94
  export type HTMLTags = keyof JSX.IntrinsicElements;
16
95
  export type State = {
17
- _inAnchor?: boolean;
18
- _inline?: boolean;
19
- _inTable?: boolean;
20
- _key?: React.Key;
21
- _list?: boolean;
22
- _simple?: boolean;
96
+ /** true if the current content is inside anchor link grammar */
97
+ inAnchor?: boolean;
98
+ /** true if parsing in an inline context (subset of rules around formatting and links) */
99
+ inline?: boolean;
100
+ /** true if in a table */
101
+ inTable?: boolean;
102
+ /** use this for the `key` prop */
103
+ key?: React.Key;
104
+ /** true if in a list */
105
+ list?: boolean;
106
+ /** true if parsing in inline context w/o links */
107
+ simple?: boolean;
23
108
  };
24
- export type ParserResult = {
25
- [key: string]: any;
26
- type?: string;
27
- };
28
- export type NestedParser = (input: string, state?: MarkdownToJSX.State) => MarkdownToJSX.ParserResult;
109
+ export interface BlockQuoteNode {
110
+ children: MarkdownToJSX.ParserResult[];
111
+ type: RuleType.blockQuote;
112
+ }
113
+ export interface BreakLineNode {
114
+ type: RuleType.breakLine;
115
+ }
116
+ export interface BreakThematicNode {
117
+ type: RuleType.breakThematic;
118
+ }
119
+ export interface CodeBlockNode {
120
+ type: RuleType.codeBlock;
121
+ attrs?: JSX.IntrinsicAttributes;
122
+ lang?: string;
123
+ text: string;
124
+ }
125
+ export interface CodeFencedNode {
126
+ type: RuleType.codeFenced;
127
+ }
128
+ export interface CodeInlineNode {
129
+ type: RuleType.codeInline;
130
+ text: string;
131
+ }
132
+ export interface FootnoteNode {
133
+ type: RuleType.footnote;
134
+ }
135
+ export interface FootnoteReferenceNode {
136
+ type: RuleType.footnoteReference;
137
+ target: string;
138
+ text: string;
139
+ }
140
+ export interface GFMTaskNode {
141
+ type: RuleType.gfmTask;
142
+ completed: boolean;
143
+ }
144
+ export interface HeadingNode {
145
+ type: RuleType.heading;
146
+ children: MarkdownToJSX.ParserResult[];
147
+ id: string;
148
+ level: 1 | 2 | 3 | 4 | 5 | 6;
149
+ }
150
+ export interface HeadingSetextNode {
151
+ type: RuleType.headingSetext;
152
+ }
153
+ export interface HTMLCommentNode {
154
+ type: RuleType.htmlComment;
155
+ }
156
+ export interface ImageNode {
157
+ type: RuleType.image;
158
+ alt?: string;
159
+ target: string;
160
+ title?: string;
161
+ }
162
+ export interface LinkNode {
163
+ type: RuleType.link;
164
+ children: MarkdownToJSX.ParserResult[];
165
+ target: string;
166
+ title?: string;
167
+ }
168
+ export interface LinkAngleBraceNode {
169
+ type: RuleType.linkAngleBraceStyleDetector;
170
+ }
171
+ export interface LinkBareURLNode {
172
+ type: RuleType.linkBareUrlDetector;
173
+ }
174
+ export interface LinkMailtoNode {
175
+ type: RuleType.linkMailtoDetector;
176
+ }
177
+ export interface OrderedListNode {
178
+ type: RuleType.orderedList;
179
+ items: MarkdownToJSX.ParserResult[][];
180
+ ordered: true;
181
+ start?: number;
182
+ }
183
+ export interface UnorderedListNode {
184
+ type: RuleType.unorderedList;
185
+ items: MarkdownToJSX.ParserResult[][];
186
+ ordered: false;
187
+ }
188
+ export interface NewlineNode {
189
+ type: RuleType.newlineCoalescer;
190
+ }
191
+ export interface ParagraphNode {
192
+ type: RuleType.paragraph;
193
+ children: MarkdownToJSX.ParserResult[];
194
+ }
195
+ export interface ReferenceNode {
196
+ type: RuleType.ref;
197
+ }
198
+ export interface ReferenceImageNode {
199
+ type: RuleType.refImage;
200
+ alt?: string;
201
+ ref: string;
202
+ }
203
+ export interface ReferenceLinkNode {
204
+ type: RuleType.refLink;
205
+ children: MarkdownToJSX.ParserResult[];
206
+ fallbackChildren: MarkdownToJSX.ParserResult[];
207
+ ref: string;
208
+ }
209
+ export interface TableNode {
210
+ type: RuleType.table;
211
+ /**
212
+ * alignment for each table column
213
+ */
214
+ align: ('left' | 'right' | 'center')[];
215
+ cells: MarkdownToJSX.ParserResult[][][];
216
+ header: MarkdownToJSX.ParserResult[][];
217
+ }
218
+ export interface TableSeparatorNode {
219
+ type: RuleType.tableSeparator;
220
+ }
221
+ export interface TextNode {
222
+ type: RuleType.text;
223
+ text: string;
224
+ }
225
+ export interface BoldTextNode {
226
+ type: RuleType.textBolded;
227
+ children: MarkdownToJSX.ParserResult[];
228
+ }
229
+ export interface ItalicTextNode {
230
+ type: RuleType.textEmphasized;
231
+ children: MarkdownToJSX.ParserResult[];
232
+ }
233
+ export interface EscapedTextNode {
234
+ type: RuleType.textEscaped;
235
+ }
236
+ export interface MarkedTextNode {
237
+ type: RuleType.textMarked;
238
+ children: MarkdownToJSX.ParserResult[];
239
+ }
240
+ export interface StrikethroughTextNode {
241
+ type: RuleType.textStrikethroughed;
242
+ children: MarkdownToJSX.ParserResult[];
243
+ }
244
+ export interface HTMLNode {
245
+ type: RuleType.htmlBlock;
246
+ attrs: JSX.IntrinsicAttributes;
247
+ children?: ReturnType<MarkdownToJSX.NestedParser> | undefined;
248
+ noInnerParse: Boolean;
249
+ tag: MarkdownToJSX.HTMLTags;
250
+ text?: string | undefined;
251
+ }
252
+ export interface HTMLSelfClosingNode {
253
+ type: RuleType.htmlSelfClosing;
254
+ attrs: JSX.IntrinsicAttributes;
255
+ tag: string;
256
+ }
257
+ export type ParserResult = BlockQuoteNode | BreakLineNode | BreakThematicNode | CodeBlockNode | CodeFencedNode | CodeInlineNode | FootnoteNode | FootnoteReferenceNode | GFMTaskNode | HeadingNode | HeadingSetextNode | HTMLCommentNode | ImageNode | LinkNode | LinkAngleBraceNode | LinkBareURLNode | LinkMailtoNode | OrderedListNode | UnorderedListNode | NewlineNode | ParagraphNode | ReferenceNode | ReferenceImageNode | ReferenceLinkNode | TableNode | TableSeparatorNode | TextNode | BoldTextNode | ItalicTextNode | EscapedTextNode | MarkedTextNode | StrikethroughTextNode | HTMLNode | HTMLSelfClosingNode;
258
+ export type NestedParser = (input: string, state?: MarkdownToJSX.State) => MarkdownToJSX.ParserResult[];
29
259
  export type Parser<ParserOutput> = (capture: RegExpMatchArray, nestedParse: NestedParser, state?: MarkdownToJSX.State) => ParserOutput;
30
- export type RuleOutput = (ast: MarkdownToJSX.ParserResult, state: MarkdownToJSX.State) => JSX.Element;
260
+ export type RuleOutput = (ast: MarkdownToJSX.ParserResult | MarkdownToJSX.ParserResult[], state: MarkdownToJSX.State) => JSX.Element;
31
261
  export type Rule<ParserOutput = MarkdownToJSX.ParserResult> = {
32
- _match: (source: string, state: MarkdownToJSX.State, prevCapturedString?: string) => RegExpMatchArray;
33
- _order: Priority;
34
- _parse: MarkdownToJSX.Parser<ParserOutput>;
35
- _react?: (node: ParserOutput, output: RuleOutput, state?: MarkdownToJSX.State) => React.ReactChild;
262
+ match: (source: string, state: MarkdownToJSX.State, prevCapturedString?: string) => RegExpMatchArray;
263
+ order: Priority;
264
+ parse: MarkdownToJSX.Parser<Omit<ParserOutput, 'type'>>;
265
+ render?: (node: ParserOutput,
266
+ /**
267
+ * Continue rendering AST nodes if applicable.
268
+ */
269
+ render: RuleOutput, state?: MarkdownToJSX.State) => React.ReactChild;
36
270
  };
37
271
  export type Rules = {
38
- [key: string]: Rule;
272
+ [K in ParserResult['type']]: Rule<Extract<ParserResult, {
273
+ type: K;
274
+ }>>;
39
275
  };
40
276
  export type Override = RequireAtLeastOne<{
41
277
  component: React.ElementType;
@@ -50,13 +286,20 @@ export declare namespace MarkdownToJSX {
50
286
  /**
51
287
  * Ultimate control over the output of all rendered JSX.
52
288
  */
53
- createElement: (tag: Parameters<CreateElement>[0], props: JSX.IntrinsicAttributes, ...children: React.ReactChild[]) => JSX.Element;
289
+ createElement: (tag: Parameters<CreateElement>[0], props: JSX.IntrinsicAttributes, ...children: React.ReactChild[]) => React.ReactChild;
54
290
  /**
55
291
  * Disable the compiler's best-effort transcription of provided raw HTML
56
292
  * into JSX-equivalent. This is the functionality that prevents the need to
57
293
  * use `dangerouslySetInnerHTML` in React.
58
294
  */
59
295
  disableParsingRawHTML: boolean;
296
+ /**
297
+ * Forces the compiler to have space between hash sign and the header text which
298
+ * is explicitly stated in the most of the markdown specs.
299
+ * https://github.github.com/gfm/#atx-heading
300
+ * `The opening sequence of # characters must be followed by a space or by the end of line.`
301
+ */
302
+ enforceAtxHeadings: boolean;
60
303
  /**
61
304
  * Forces the compiler to always output content with a block-level wrapper
62
305
  * (`<p>` or any block-level syntax your markdown already contains.)
@@ -66,6 +309,11 @@ export declare namespace MarkdownToJSX {
66
309
  * Forces the compiler to always output content with an inline wrapper (`<span>`)
67
310
  */
68
311
  forceInline: boolean;
312
+ /**
313
+ * Forces the compiler to wrap results, even if there is only a single
314
+ * child or no children.
315
+ */
316
+ forceWrapper: boolean;
69
317
  /**
70
318
  * Supply additional HTML entity: unicode replacement mappings.
71
319
  *
@@ -93,62 +341,43 @@ export declare namespace MarkdownToJSX {
93
341
  */
94
342
  overrides: Overrides;
95
343
  /**
96
- * Declare the type of the wrapper to be used when there are multiple
97
- * children to render. Set to `null` to get an array of children back
98
- * without any wrapper, or use `React.Fragment` to get a React element
99
- * that won't show up in the DOM.
100
- */
101
- wrapper: React.ElementType | null;
102
- /**
103
- * Forces the compiler to wrap results, even if there is only a single
104
- * child or no children.
344
+ * Allows for full control over rendering of particular rules.
345
+ * For example, to implement a LaTeX renderer such as `react-katex`:
346
+ *
347
+ * ```
348
+ * renderRule(next, node, output, state) {
349
+ * if (node.type === RuleType.codeBlock && node.lang === 'latex') {
350
+ * return (
351
+ * <TeX as="div" key={state.key}>
352
+ * {String.raw`${node.text}`}
353
+ * </TeX>
354
+ * )
355
+ * }
356
+ *
357
+ * return next();
358
+ * }
359
+ * ```
360
+ *
361
+ * Thar be dragons obviously, but you can do a lot with this
362
+ * (have fun!) To see how things work internally, check the `render`
363
+ * method in source for a particular rule.
105
364
  */
106
- forceWrapper: boolean;
365
+ renderRule: (
366
+ /** Resume normal processing, call this function as a fallback if you are not returning custom JSX. */
367
+ next: () => React.ReactChild, node: ParserResult, renderAST: RuleOutput, state: State) => React.ReactChild;
107
368
  /**
108
369
  * Override normalization of non-URI-safe characters for use in generating
109
370
  * HTML IDs for anchor linking purposes.
110
371
  */
111
372
  slugify: (source: string) => string;
112
373
  /**
113
- * Forces the compiler to have space between hash sign and the header text which
114
- * is explicitly stated in the most of the markdown specs.
115
- * https://github.github.com/gfm/#atx-heading
116
- * `The opening sequence of # characters must be followed by a space or by the end of line.`
374
+ * Declare the type of the wrapper to be used when there are multiple
375
+ * children to render. Set to `null` to get an array of children back
376
+ * without any wrapper, or use `React.Fragment` to get a React element
377
+ * that won't show up in the DOM.
117
378
  */
118
- enforceAtxHeadings: boolean;
379
+ wrapper: React.ElementType | null;
119
380
  }>;
120
381
  export {};
121
382
  }
122
- declare enum Priority {
123
- /**
124
- * anything that must scan the tree before everything else
125
- */
126
- MAX = 0,
127
- /**
128
- * scans for block-level constructs
129
- */
130
- HIGH = 1,
131
- /**
132
- * inline w/ more priority than other inline
133
- */
134
- MED = 2,
135
- /**
136
- * inline elements
137
- */
138
- LOW = 3,
139
- /**
140
- * bare text and stuff that is considered leftovers
141
- */
142
- MIN = 4
143
- }
144
- export declare function compiler(markdown: string, options?: MarkdownToJSX.Options): JSX.Element;
145
- /**
146
- * A simple HOC for easy React use. Feed the markdown content as a direct child
147
- * and the rest is taken care of automatically.
148
- */
149
- declare const Markdown: React.FC<{
150
- [key: string]: any;
151
- children: string;
152
- options?: MarkdownToJSX.Options;
153
- }>;
154
383
  export default Markdown;
@@ -1,2 +1,2 @@
1
- import*as t from"react";function n(){return n=Object.assign?Object.assign.bind():function(t){for(var n=1;n<arguments.length;n++){var e=arguments[n];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])}return t},n.apply(this,arguments)}const e=["children","options"],r=["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((t,n)=>(t[n.toLowerCase()]=n,t),{for:"htmlFor"}),o={amp:"&",apos:"'",gt:">",lt:"<",nbsp:" ",quot:"“"},c=["style","script"],a=/([-A-Z0-9_:]+)(?:\s*=\s*(?:(?:"((?:\\.|[^"])*)")|(?:'((?:\\.|[^'])*)')|(?:\{((?:\\.|{[^}]*?}|[^}])*)\})))?/gi,_=/mailto:/i,u=/\n{2,}$/,i=/^( *>[^\n]+(\n[^\n]+)*\n*)+\n{2,}/,s=/^ *> ?/gm,l=/^ {2,}\n/,f=/^(?:( *[-*_])){3,} *(?:\n *)+\n/,d=/^\s*(`{3,}|~{3,}) *(\S+)?([^\n]*?)?\n([\s\S]+?)\s*\1 *(?:\n *)*\n?/,p=/^(?: {4}[^\n]+\n*)+(?:\n *)+\n?/,m=/^(`+)\s*([\s\S]*?[^`])\s*\1(?!`)/,g=/^(?:\n *)*\n/,y=/\r\n?/g,h=/^\[\^([^\]]+)](:.*)\n/,k=/^\[\^([^\]]+)]/,x=/\f/g,b=/^\s*?\[(x|\s)\]/,$=/^ *(#{1,6}) *([^\n]+?)(?: +#*)?(?:\n *)*(?:\n|$)/,v=/^ *(#{1,6}) +([^\n]+?)(?: +#*)?(?:\n *)*(?:\n|$)/,S=/^([^\n]+)\n *(=|-){3,} *(?:\n *)+\n/,z=/^ *(?!<[a-z][^ >/]* ?\/>)<([a-z][^ >/]*) ?([^>]*)\/{0}>\n?(\s*(?:<\1[^>]*?>[\s\S]*?<\/\1>|(?!<\1)[\s\S])*?)<\/\1>\n*/i,w=/&([a-z0-9]+|#[0-9]{1,6}|#x[0-9a-fA-F]{1,6});/gi,A=/^<!--[\s\S]*?(?:-->)/,E=/^(data|aria|x)-[a-z_][a-z\d_.-]*$/,L=/^ *<([a-z][a-z0-9:]*)(?:\s+((?:<.*?>|[^>])*))?\/?>(?!<\/\1>)(\s*\n)?/i,M=/^\{.*\}$/,O=/^(https?:\/\/[^\s<]+[^<.,:;"')\]\s])/,I=/^<([^ >]+@[^ >]+)>/,j=/^<([^ >]+:\/[^ >]+)>/,B=/-([a-z])?/gi,R=/^(.*\|?.*)\n *(\|? *[-:]+ *\|[-| :]*)\n((?:.*\|.*\n)*)\n?/,T=/^\[([^\]]*)\]:\s+<?([^\s>]+)>?\s*("([^"]*)")?/,C=/^!\[([^\]]*)\] ?\[([^\]]*)\]/,D=/^\[([^\]]*)\] ?\[([^\]]*)\]/,F=/(\[|\])/g,N=/(\n|^[-*]\s|^#|^ {2,}|^-{2,}|^>\s)/,P=/\t/g,Z=/^ *\| */,G=/(^ *\||\| *$)/g,H=/ *$/,q=/^ *:-+: *$/,U=/^ *:-+ *$/,V=/^ *-+: *$/,W=/^([*_])\1((?:\[.*?\][([].*?[)\]]|<.*?>(?:.*?<.*?>)?|`.*?`|~+.*?~+|.)*?)\1\1(?!\1)/,Q=/^([*_])((?:\[.*?\][([].*?[)\]]|<.*?>(?:.*?<.*?>)?|`.*?`|~+.*?~+|.)*?)\1(?!\1|\w)/,X=/^==((?:\[.*?\]|<.*?>(?:.*?<.*?>)?|`.*?`|.)*?)==/,J=/^~~((?:\[.*?\]|<.*?>(?:.*?<.*?>)?|`.*?`|.)*?)~~/,K=/^\\([^0-9A-Za-z\s])/,Y=/^[\s\S]+?(?=[^0-9A-Z\s\u00c0-\uffff&#;.()'"]|\d+\.|\n\n| {2,}\n|\w+:\S|$)/i,tt=/^\n+/,nt=/^([ \t]*)/,et=/\\([^\\])/g,rt=/ *\n+$/,ot=/(?:^|\n)( *)$/,ct="(?:\\d+\\.)",at="(?:[*+-])";function _t(t){return"( *)("+(1===t?ct:at)+") +"}const ut=_t(1),it=_t(2);function st(t){return new RegExp("^"+(1===t?ut:it))}const lt=st(1),ft=st(2);function dt(t){return new RegExp("^"+(1===t?ut:it)+"[^\\n]*(?:\\n(?!\\1"+(1===t?ct:at)+" )[^\\n]*)*(\\n|$)","gm")}const pt=dt(1),mt=dt(2);function gt(t){const n=1===t?ct:at;return new RegExp("^( *)("+n+") [\\s\\S]+?(?:\\n{2,}(?! )(?!\\1"+n+" (?!"+n+" ))\\n*|\\s*\\n*$)")}const yt=gt(1),ht=gt(2);function kt(t,n){const e=1===n,r=e?yt:ht,o=e?pt:mt,c=e?lt:ft;return{t(t,n,e){const o=ot.exec(e);return o&&(n.o||!n._&&!n.u)?r.exec(t=o[1]+t):null},i:Ht.HIGH,l(t,n,r){const a=e?+t[2]:void 0,_=t[0].replace(u,"\n").match(o);let i=!1;return{p:_.map(function(t,e){const o=c.exec(t)[0].length,a=new RegExp("^ {1,"+o+"}","gm"),u=t.replace(a,"").replace(c,""),s=e===_.length-1,l=-1!==u.indexOf("\n\n")||s&&i;i=l;const f=r._,d=r.o;let p;r.o=!0,l?(r._=!1,p=u.replace(rt,"\n\n")):(r._=!0,p=u.replace(rt,""));const m=n(p,r);return r._=f,r.o=d,m}),m:e,g:a}},h:(n,e,r)=>t(n.m?"ol":"ul",{key:r.k,start:n.g},n.p.map(function(n,o){return t("li",{key:o},e(n,r))}))}}const xt=/^\[([^\]]*)]\( *((?:\([^)]*\)|[^() ])*) *"?([^)"]*)?"?\)/,bt=/^!\[([^\]]*)]\( *((?:\([^)]*\)|[^() ])*) *"?([^)"]*)?"?\)/,$t=[i,d,p,$,S,v,A,R,pt,yt,mt,ht],vt=[...$t,/^[^\n]+(?: \n|\n{2,})/,z,L];function St(t){return t.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 zt(t){return V.test(t)?"right":q.test(t)?"center":U.test(t)?"left":null}function wt(t,n,e){const r=e.$;e.$=!0;const o=n(t.trim(),e);e.$=r;let c=[[]];return o.forEach(function(t,n){"tableSeparator"===t.type?0!==n&&n!==o.length-1&&c.push([]):("text"!==t.type||null!=o[n+1]&&"tableSeparator"!==o[n+1].type||(t.v=t.v.replace(H,"")),c[c.length-1].push(t))}),c}function At(t,n,e){e._=!0;const r=wt(t[1],n,e),o=t[2].replace(G,"").split("|").map(zt),c=function(t,n,e){return t.trim().split("\n").map(function(t){return wt(t,n,e)})}(t[3],n,e);return e._=!1,{S:o,A:c,L:r,type:"table"}}function Et(t,n){return null==t.S[n]?{}:{textAlign:t.S[n]}}function Lt(t){return function(n,e){return e._?t.exec(n):null}}function Mt(t){return function(n,e){return e._||e.u?t.exec(n):null}}function Ot(t){return function(n,e){return e._||e.u?null:t.exec(n)}}function It(t){return function(n){return t.exec(n)}}function jt(t,n,e){if(n._||n.u)return null;if(e&&!e.endsWith("\n"))return null;let r="";t.split("\n").every(t=>!$t.some(n=>n.test(t))&&(r+=t+"\n",t.trim()));const o=r.trimEnd();return""==o?null:[r,o]}function Bt(t){try{if(decodeURIComponent(t).replace(/[^A-Za-z0-9/:]/g,"").match(/^\s*(javascript|vbscript|data(?!:image)):/i))return}catch(t){return null}return t}function Rt(t){return t.replace(et,"$1")}function Tt(t,n,e){const r=e._||!1,o=e.u||!1;e._=!0,e.u=!0;const c=t(n,e);return e._=r,e.u=o,c}function Ct(t,n,e){const r=e._||!1,o=e.u||!1;e._=!1,e.u=!0;const c=t(n,e);return e._=r,e.u=o,c}function Dt(t,n,e){return e._=!1,t(n,e)}const Ft=(t,n,e)=>({v:Tt(n,t[1],e)});function Nt(){return{}}function Pt(){return null}function Zt(...t){return t.filter(Boolean).join(" ")}function Gt(t,n,e){let r=t;const o=n.split(".");for(;o.length&&(r=r[o[0]],void 0!==r);)o.shift();return r||e}var Ht;function qt(e,u={}){u.overrides=u.overrides||{},u.slugify=u.slugify||St,u.namedCodesToUnicode=u.namedCodesToUnicode?n({},o,u.namedCodesToUnicode):o;const G=u.createElement||t.createElement;function H(t,e,...r){const o=Gt(u.overrides,`${t}.props`,{});return G(function(t,n){const e=Gt(n,t);return e?"function"==typeof e||"object"==typeof e&&"render"in e?e:Gt(n,`${t}.component`,t):t}(t,u.overrides),n({},e,o,{className:Zt(null==e?void 0:e.className,o.className)||void 0}),...r)}function q(n){let e=!1;u.forceInline?e=!0:u.forceBlock||(e=!1===N.test(n));const r=ct(ot(e?n:`${n.trimEnd().replace(tt,"")}\n\n`,{_:e}));for(;"string"==typeof r[r.length-1]&&!r[r.length-1].trim();)r.pop();if(null===u.wrapper)return r;const o=u.wrapper||(e?"span":"div");let c;if(r.length>1||u.forceWrapper)c=r;else{if(1===r.length)return c=r[0],"string"==typeof c?H("span",{key:"outer"},c):c;c=null}return t.createElement(o,{key:"outer"},c)}function U(n){const e=n.match(a);return e?e.reduce(function(n,e,o){const c=e.indexOf("=");if(-1!==c){const a=function(t){return-1!==t.indexOf("-")&&null===t.match(E)&&(t=t.replace(B,function(t,n){return n.toUpperCase()})),t}(e.slice(0,c)).trim(),_=function(t){const n=t[0];return('"'===n||"'"===n)&&t.length>=2&&t[t.length-1]===n?t.slice(1,-1):t}(e.slice(c+1).trim()),u=r[a]||a,i=n[u]=function(t,n){return"style"===t?n.split(/;\s?/).reduce(function(t,n){const e=n.slice(0,n.indexOf(":"));return t[e.replace(/(-[a-z])/g,t=>t[1].toUpperCase())]=n.slice(e.length+1).trim(),t},{}):"href"===t?Bt(n):(n.match(M)&&(n=n.slice(1,n.length-1)),"true"===n||"false"!==n&&n)}(a,_);"string"==typeof i&&(z.test(i)||L.test(i))&&(n[u]=t.cloneElement(q(i.trim()),{key:o}))}else"style"!==e&&(n[r[e]||e]=!0);return n},{}):null}const V=[],et={},rt={blockQuote:{t:Ot(i),i:Ht.HIGH,l:(t,n,e)=>({v:n(t[0].replace(s,""),e)}),h:(t,n,e)=>H("blockquote",{key:e.k},n(t.v,e))},breakLine:{t:It(l),i:Ht.HIGH,l:Nt,h:(t,n,e)=>H("br",{key:e.k})},breakThematic:{t:Ot(f),i:Ht.HIGH,l:Nt,h:(t,n,e)=>H("hr",{key:e.k})},codeBlock:{t:Ot(p),i:Ht.MAX,l:t=>({v:t[0].replace(/^ {4}/gm,"").replace(/\n+$/,""),M:void 0}),h:(t,e,r)=>H("pre",{key:r.k},H("code",n({},t.O,{className:t.M?`lang-${t.M}`:""}),t.v))},codeFenced:{t:Ot(d),i:Ht.MAX,l:t=>({O:U(t[3]||""),v:t[4],M:t[2]||void 0,type:"codeBlock"})},codeInline:{t:Mt(m),i:Ht.LOW,l:t=>({v:t[2]}),h:(t,n,e)=>H("code",{key:e.k},t.v)},footnote:{t:Ot(h),i:Ht.MAX,l:t=>(V.push({I:t[2],j:t[1]}),{}),h:Pt},footnoteReference:{t:Lt(k),i:Ht.HIGH,l:t=>({v:t[1],B:`#${u.slugify(t[1])}`}),h:(t,n,e)=>H("a",{key:e.k,href:Bt(t.B)},H("sup",{key:e.k},t.v))},gfmTask:{t:Lt(b),i:Ht.HIGH,l:t=>({R:"x"===t[1].toLowerCase()}),h:(t,n,e)=>H("input",{checked:t.R,key:e.k,readOnly:!0,type:"checkbox"})},heading:{t:Ot(u.enforceAtxHeadings?v:$),i:Ht.HIGH,l:(t,n,e)=>({v:Tt(n,t[2],e),T:u.slugify(t[2]),C:t[1].length}),h:(t,n,e)=>H(`h${t.C}`,{id:t.T,key:e.k},n(t.v,e))},headingSetext:{t:Ot(S),i:Ht.MAX,l:(t,n,e)=>({v:Tt(n,t[1],e),C:"="===t[2]?1:2,type:"heading"})},htmlComment:{t:It(A),i:Ht.HIGH,l:()=>({}),h:Pt},image:{t:Mt(bt),i:Ht.HIGH,l:t=>({D:t[1],B:Rt(t[2]),F:t[3]}),h:(t,n,e)=>H("img",{key:e.k,alt:t.D||void 0,title:t.F||void 0,src:Bt(t.B)})},link:{t:Lt(xt),i:Ht.LOW,l:(t,n,e)=>({v:Ct(n,t[1],e),B:Rt(t[2]),F:t[3]}),h:(t,n,e)=>H("a",{key:e.k,href:Bt(t.B),title:t.F},n(t.v,e))},linkAngleBraceStyleDetector:{t:Lt(j),i:Ht.MAX,l:t=>({v:[{v:t[1],type:"text"}],B:t[1],type:"link"})},linkBareUrlDetector:{t:(t,n)=>n.N?null:Lt(O)(t,n),i:Ht.MAX,l:t=>({v:[{v:t[1],type:"text"}],B:t[1],F:void 0,type:"link"})},linkMailtoDetector:{t:Lt(I),i:Ht.MAX,l(t){let n=t[1],e=t[1];return _.test(e)||(e="mailto:"+e),{v:[{v:n.replace("mailto:",""),type:"text"}],B:e,type:"link"}}},orderedList:kt(H,1),unorderedList:kt(H,2),newlineCoalescer:{t:Ot(g),i:Ht.LOW,l:Nt,h:()=>"\n"},paragraph:{t:jt,i:Ht.LOW,l:Ft,h:(t,n,e)=>H("p",{key:e.k},n(t.v,e))},ref:{t:Lt(T),i:Ht.MAX,l:t=>(et[t[1]]={B:t[2],F:t[4]},{}),h:Pt},refImage:{t:Mt(C),i:Ht.MAX,l:t=>({D:t[1]||void 0,P:t[2]}),h:(t,n,e)=>H("img",{key:e.k,alt:t.D,src:Bt(et[t.P].B),title:et[t.P].F})},refLink:{t:Lt(D),i:Ht.MAX,l:(t,n,e)=>({v:n(t[1],e),Z:n(t[0].replace(F,"\\$1"),e),P:t[2]}),h:(t,n,e)=>et[t.P]?H("a",{key:e.k,href:Bt(et[t.P].B),title:et[t.P].F},n(t.v,e)):H("span",{key:e.k},n(t.Z,e))},table:{t:Ot(R),i:Ht.HIGH,l:At,h:(t,n,e)=>H("table",{key:e.k},H("thead",null,H("tr",null,t.L.map(function(r,o){return H("th",{key:o,style:Et(t,o)},n(r,e))}))),H("tbody",null,t.A.map(function(r,o){return H("tr",{key:o},r.map(function(r,o){return H("td",{key:o,style:Et(t,o)},n(r,e))}))})))},tableSeparator:{t:function(t,n){return n.$?(n._=!0,Z.exec(t)):null},i:Ht.HIGH,l:function(){return{type:"tableSeparator"}},h:()=>" | "},text:{t:It(Y),i:Ht.MIN,l:t=>({v:t[0].replace(w,(t,n)=>u.namedCodesToUnicode[n]?u.namedCodesToUnicode[n]:t)}),h:t=>t.v},textBolded:{t:Mt(W),i:Ht.MED,l:(t,n,e)=>({v:n(t[2],e)}),h:(t,n,e)=>H("strong",{key:e.k},n(t.v,e))},textEmphasized:{t:Mt(Q),i:Ht.LOW,l:(t,n,e)=>({v:n(t[2],e)}),h:(t,n,e)=>H("em",{key:e.k},n(t.v,e))},textEscaped:{t:Mt(K),i:Ht.HIGH,l:t=>({v:t[1],type:"text"})},textMarked:{t:Mt(X),i:Ht.LOW,l:Ft,h:(t,n,e)=>H("mark",{key:e.k},n(t.v,e))},textStrikethroughed:{t:Mt(J),i:Ht.LOW,l:Ft,h:(t,n,e)=>H("del",{key:e.k},n(t.v,e))}};!0!==u.disableParsingRawHTML&&(rt.htmlBlock={t:It(z),i:Ht.HIGH,l(t,n,e){const[,r]=t[3].match(nt),o=new RegExp(`^${r}`,"gm"),a=t[3].replace(o,""),_=(u=a,vt.some(t=>t.test(u))?Dt:Tt);var u;const i=t[1].toLowerCase(),s=-1!==c.indexOf(i);e.N=e.N||"a"===i;const l=s?t[3]:_(n,a,e);return e.N=!1,{O:U(t[2]),v:l,G:s,H:s?i:t[1]}},h:(t,e,r)=>H(t.H,n({key:r.k},t.O),t.G?t.v:e(t.v,r))},rt.htmlSelfClosing={t:It(L),i:Ht.HIGH,l:t=>({O:U(t[2]||""),H:t[1]}),h:(t,e,r)=>H(t.H,n({},t.O,{key:r.k}))});const ot=function(t){let n=Object.keys(t);function e(r,o){let c=[],a="";for(;r;){let _=0;for(;_<n.length;){const u=n[_],i=t[u],s=i.t(r,o,a);if(s){const t=s[0];r=r.substring(t.length);const n=i.l(s,e,o);null==n.type&&(n.type=u),c.push(n),a=t;break}_++}}return c}return n.sort(function(n,e){let r=t[n].i,o=t[e].i;return r!==o?r-o:n<e?-1:1}),function(t,n){return e(function(t){return t.replace(y,"\n").replace(x,"").replace(P," ")}(t),n)}}(rt),ct=(at=function(t){return function(n,e,r){return t[n.type].h(n,e,r)}}(rt),function t(n,e={}){if(Array.isArray(n)){const r=e.k,o=[];let c=!1;for(let r=0;r<n.length;r++){e.k=r;const a=t(n[r],e),_="string"==typeof a;_&&c?o[o.length-1]+=a:null!==a&&o.push(a),c=_}return e.k=r,o}return at(n,t,e)});var at;const _t=q(e);return V.length?H("div",null,_t,H("footer",{key:"footer"},V.map(function(t){return H("div",{id:u.slugify(t.j),key:t.j},t.j,ct(ot(t.I,{_:!0})))}))):_t}!function(t){t[t.MAX=0]="MAX",t[t.HIGH=1]="HIGH",t[t.MED=2]="MED",t[t.LOW=3]="LOW",t[t.MIN=4]="MIN"}(Ht||(Ht={}));export default n=>{let{children:r,options:o}=n,c=function(t,n){if(null==t)return{};var e,r,o={},c=Object.keys(t);for(r=0;r<c.length;r++)n.indexOf(e=c[r])>=0||(o[e]=t[e]);return o}(n,e);return t.cloneElement(qt(r,o),c)};export{qt as compiler};
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=/^( *>[^\n]+(\n[^\n]+)*\n*)+\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/,b=/^\[\^([^\]]+)]/,$=/\f/g,S=/^\s*?\[(x|\s)\]/,w=/^ *(#{1,6}) *([^\n]+?)(?: +#*)?(?:\n *)*(?:\n|$)/,C=/^ *(#{1,6}) +([^\n]+?)(?: +#*)?(?:\n *)*(?:\n|$)/,E=/^([^\n]+)\n *(=|-){3,} *(?:\n *)+\n/,A=/^ *(?!<[a-z][^ >/]* ?\/>)<([a-z][^ >/]*) ?([^>]*)\/{0}>\n?(\s*(?:<\1[^>]*?>[\s\S]*?<\/\1>|(?!<\1)[\s\S])*?)<\/\1>\n*/i,O=/&([a-z0-9]+|#[0-9]{1,6}|#x[0-9a-fA-F]{1,6});/gi,T=/^<!--[\s\S]*?(?:-->)/,L=/^(data|aria|x)-[a-z_][a-z\d_.-]*$/,z=/^ *<([a-z][a-z0-9:]*)(?:\s+((?:<.*?>|[^>])*))?\/?>(?!<\/\1>)(\s*\n)?/i,M=/^\{.*\}$/,I=/^(https?:\/\/[^\s<]+[^<.,:;"')\]\s])/,R=/^<([^ >]+@[^ >]+)>/,U=/^<([^ >]+:\/[^ >]+)>/,j=/-([a-z])?/gi,B=/^(.*\|?.*)\n *(\|? *[-:]+ *\|[-| :]*)\n((?:.*\|.*\n)*)\n?/,N=/^\[([^\]]*)\]:\s+<?([^\s>]+)>?\s*("([^"]*)")?/,H=/^!\[([^\]]*)\] ?\[([^\]]*)\]/,D=/^\[([^\]]*)\] ?\[([^\]]*)\]/,P=/(\[|\])/g,_=/(\n|^[-*]\s|^#|^ {2,}|^-{2,}|^>\s)/,F=/\t/g,W=/^ *\| */,G=/(^ *\||\| *$)/g,Z=/ *$/,q=/^ *:-+: *$/,V=/^ *:-+ *$/,X=/^ *-+: *$/,Q=/^([*_])\1((?:\[.*?\][([].*?[)\]]|<.*?>(?:.*?<.*?>)?|`.*?`|~+.*?~+|.)*?)\1\1(?!\1)/,J=/^([*_])((?:\[.*?\][([].*?[)\]]|<.*?>(?:.*?<.*?>)?|`.*?`|~+.*?~+|.)*?)\1(?!\1|\w)/,K=/^==((?:\[.*?\]|<.*?>(?:.*?<.*?>)?|`.*?`|.)*?)==/,Y=/^~~((?:\[.*?\]|<.*?>(?:.*?<.*?>)?|`.*?`|.)*?)~~/,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=/^\[([^\]]*)]\( *((?:\([^)]*\)|[^() ])*) *"?([^)"]*)?"?\)/,Se=/^!\[([^\]]*)]\( *((?:\([^)]*\)|[^() ])*) *"?([^)"]*)?"?\)/,we=[u,m,g,w,E,C,T,B,ge,xe,ye,ve],Ce=[...we,/^[^\n]+(?: \n|\n{2,})/,A,z];function Ee(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 X.test(e)?"right":q.test(e)?"center":V.test(e)?"left":null}function Oe(e,n,t){const r=t.inTable;t.inTable=!0;const i=n(e.trim(),t);t.inTable=r;let l=[[]];return i.forEach(function(e,n){"26"===e.type?0!==n&&n!==i.length-1&&l.push([]):("27"!==e.type||null!=i[n+1]&&"26"!==i[n+1].type||(e.text=e.text.replace(Z,"")),l[l.length-1].push(e))}),l}function Te(e,n,t){t.inline=!0;const r=Oe(e[1],n,t),i=e[2].replace(G,"").split("|").map(Ae),l=function(e,n,t){return e.trim().split("\n").map(function(e){return Oe(e,n,t)})}(e[3],n,t);return t.inline=!1,{align:i,cells:l,header:r,type:"25"}}function Le(e,n){return null==e.align[n]?{}:{textAlign:e.align[n]}}function ze(e){return function(n,t){return t.inline?e.exec(n):null}}function Me(e){return function(n,t){return t.inline||t.simple?e.exec(n):null}}function Ie(e){return function(n,t){return t.inline||t.simple?null:e.exec(n)}}function Re(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){return t.inline=!1,e(n,t)}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||Ee,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){let t=!1;r.forceInline?t=!0:r.forceBlock||(t=!1===_.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(L)&&(e=e.replace(j,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.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&&(A.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:Ie(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:Re(f),order:1,parse:_e,render:(e,n,t)=>d("br",{key:t.key})},2:{match:Ie(h),order:1,parse:_e,render:(e,n,t)=>d("hr",{key:t.key})},3:{match:Ie(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:Ie(m),order:0,parse:e=>({attrs:Z(e[3]||""),lang:e[2]||void 0,text:e[4],type:"3"})},5:{match:Me(y),order:3,parse:e=>({text:e[2]}),render:(e,n,t)=>d("code",{key:t.key},e.text)},6:{match:Ie(v),order:0,parse:e=>(q.push({footnote:e[2],identifier:e[1]}),{}),render:Fe},7:{match:ze(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:ze(S),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:Ie(r.enforceAtxHeadings?C:w),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:Ie(E),order:0,parse:(e,n,t)=>({children:Ne(n,e[1],t),level:"="===e[2]?1:2,type:"9"})},11:{match:Re(A),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,Ce.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]};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:Re(z),order:1,parse:e=>({attrs:Z(e[2]||""),tag:e[1]}),render:(e,t,r)=>d(e.tag,n({},e.attrs,{key:r.key}))},12:{match:Re(T),order:1,parse:()=>({}),render:Fe},14:{match:Me(Se),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:ze($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:ze(U),order:0,parse:e=>({children:[{text:e[1],type:"27"}],target:e[1],type:"15"})},17:{match:(e,n)=>n.inAnchor?null:ze(I)(e,n),order:0,parse:e=>({children:[{text:e[1],type:"27"}],target:e[1],title:void 0,type:"15"})},18:{match:ze(R),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:Ie(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:ze(N),order:0,parse:e=>(V[e[1]]={target:e[2],title:e[4]},{}),render:Fe},23:{match:Me(H),order:0,parse:e=>({alt:e[1]||void 0,ref:e[2]}),render:(e,n,t)=>d("img",{key:t.key,alt:e.alt,src:je(V[e.ref].target),title:V[e.ref].title})},24:{match:ze(D),order:0,parse:(e,n,t)=>({children:n(e[1],t),fallbackChildren:n(e[0].replace(P,"\\$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:Ie(B),order:1,parse:Te,render:(e,n,t)=>d("table",{key:t.key},d("thead",null,d("tr",null,e.header.map(function(r,i){return d("th",{key:i,style:Le(e,i)},n(r,t))}))),d("tbody",null,e.cells.map(function(r,i){return d("tr",{key:i},r.map(function(r,i){return d("td",{key:i,style:Le(e,i)},n(r,t))}))})))},26:{match:function(e,n){return n.inTable?(n.inline=!0,W.exec(e)):null},order:1,parse:function(){return{type:"26"}},render:()=>" | "},27:{match:Re(ne),order:4,parse:e=>({text:e[0].replace(O,(e,n)=>r.namedCodesToUnicode[n]?r.namedCodesToUnicode[n]:e)}),render:e=>e.text},28:{match:Me(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:Me(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:Me(ee),order:1,parse:e=>({text:e[1],type:"27"})},31:{match:Me(K),order:3,parse:Pe,render:(e,n,t)=>d("mark",{key:t.key},n(e.children,t))},32:{match:Me(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:1}),function(e,n){return t(function(e){return e.replace(x,"\n").replace($,"").replace(F," ")}(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};
2
2
  //# sourceMappingURL=index.modern.js.map