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/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 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",
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 = "11",
27
- htmlComment = "12",
26
+ readonly htmlBlock: "11";
27
+ readonly htmlComment: "12";
28
28
  /** only available if not `disableHTMLParsing` */
29
- htmlSelfClosing = "13",
30
- image = "14",
31
- link = "15",
29
+ readonly htmlSelfClosing: "13";
30
+ readonly image: "14";
31
+ readonly link: "15";
32
32
  /** emits a `link` 'node', does not render directly */
33
- linkAngleBraceStyleDetector = "16",
33
+ readonly linkAngleBraceStyleDetector: "16";
34
34
  /** emits a `link` 'node', does not render directly */
35
- linkBareUrlDetector = "17",
35
+ readonly linkBareUrlDetector: "17";
36
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
- }
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: (source: string) => string;
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
@@ -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