@readme/markdown 6.42.0 → 6.43.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/README.md CHANGED
@@ -46,6 +46,7 @@ Each processor method takes an options object which you can use to adjust the ou
46
46
  - **`copyButtons`** — Automatically insert a button to copy a block of text to the clipboard. Currently used on `<code>` elements.
47
47
  - **`correctnewlines`** — Render new line delimeters as `<br>` tags.
48
48
  - **`markdownOptions`** — Remark [parser options](https://github.com/remarkjs/remark/tree/main/packages/remark-stringify#processorusestringify-options).
49
+ - **`safeMode`** — Render html blocks as `<pre>` elements. We normally allow all manner of html attributes that could potentially execute JavaScript.
49
50
 
50
51
  ## Flavored Syntax
51
52
 
@@ -3,7 +3,7 @@
3
3
  const React = require('react');
4
4
  const PropTypes = require('prop-types');
5
5
 
6
- const MATCH_SCRIPT_TAGS = /<script\b[^>]*>([\s\S]*?)<\/script>\n?/gim;
6
+ const MATCH_SCRIPT_TAGS = /<script\b[^>]*>([\s\S]*?)<\/script *>\n?/gim;
7
7
 
8
8
  const extractScripts = (html = '') => {
9
9
  const scripts = [];
@@ -27,21 +27,40 @@ class HTMLBlock extends React.Component {
27
27
  }
28
28
 
29
29
  render() {
30
+ const { html, safeMode } = this.props;
31
+
32
+ if (safeMode) {
33
+ return (
34
+ <pre className="html-unsafe">
35
+ <code>{html}</code>
36
+ </pre>
37
+ );
38
+ }
39
+
30
40
  return <div className="rdmd-html" dangerouslySetInnerHTML={{ __html: this.html }} />;
31
41
  }
32
42
  }
33
43
 
34
44
  HTMLBlock.defaultProps = {
35
45
  runScripts: false,
46
+ safeMode: false,
36
47
  };
37
48
 
38
49
  HTMLBlock.propTypes = {
39
50
  html: PropTypes.string,
40
51
  runScripts: PropTypes.any,
52
+ safeMode: PropTypes.bool,
41
53
  };
42
54
 
43
- module.exports = sanitize => {
55
+ const CreateHtmlBlock =
56
+ ({ safeMode }) =>
57
+ // eslint-disable-next-line react/display-name
58
+ props =>
59
+ <HTMLBlock {...props} safeMode={safeMode} />;
60
+
61
+ module.exports = (sanitize, opts) => {
44
62
  sanitize.tagNames.push('html-block');
45
63
  sanitize.attributes['html-block'] = ['html', 'runScripts'];
46
- return HTMLBlock;
64
+
65
+ return CreateHtmlBlock(opts);
47
66
  };
@@ -0,0 +1,5 @@
1
+ .markdown-body {
2
+ pre.html-unsafe {
3
+ background-color: #fdd;
4
+ }
5
+ }
@@ -1,13 +1,11 @@
1
- export { default as GlossaryItem } from './GlossaryItem';
2
- export { default as Code } from './Code';
3
- export { default as Table } from './Table';
4
1
  export { default as Anchor } from './Anchor';
5
- export { default as Heading } from './Heading';
6
2
  export { default as Callout } from './Callout';
3
+ export { default as Code } from './Code';
7
4
  export { default as CodeTabs } from './CodeTabs';
8
- export { default as Image } from './Image';
9
5
  export { default as Embed } from './Embed';
10
-
6
+ export { default as GlossaryItem } from './GlossaryItem';
11
7
  export { default as HTMLBlock } from './HTMLBlock';
12
-
8
+ export { default as Heading } from './Heading';
9
+ export { default as Image } from './Image';
10
+ export { default as Table } from './Table';
13
11
  export { default as TableOfContents } from './TableOfContents';
package/dist/main.css CHANGED
@@ -387,5 +387,5 @@ span.CodeMirror-selectedtext { background: none; }
387
387
  z-index: 1;
388
388
  }
389
389
 
390
- .markdown-body img[align=right],.markdown-body img[alt~=align-right]{float:right;margin-left:.75rem}.markdown-body img[align=left],.markdown-body img[alt~=align-left]{float:left;margin-right:.75rem}.markdown-body img[width="80%"],.markdown-body img[align=center],.markdown-body img[alt~=align-center],.markdown-body>img,.markdown-body figure>img{display:block}.markdown-body img{box-sizing:content-box;display:inline-block;vertical-align:middle;max-width:100%;margin-left:auto;margin-right:auto;border-style:none;outline:none !important}.markdown-body img[width=smart]{width:auto;max-width:100%;max-height:450px}.markdown-body img.border{border:1px solid rgba(0,0,0,0.2)}.markdown-body figure{margin:15px auto}.markdown-body figure figcaption{margin-top:8px;font-size:.93em;font-style:italic;text-align:center}.markdown-body figure .img{display:inline-block}.markdown-body figure .img,.markdown-body figure .img>img:only-of-type{display:block}.markdown-body .lightbox{position:fixed;z-index:9999999;top:0;left:0;display:flex;flex-flow:nowrap column;justify-content:flex-start;align-items:center;width:100vw;height:100vh;overflow:hidden;overflow-y:scroll;background:rgba(255,255,255,0.966);user-select:none;margin-top:0;margin-bottom:0}.markdown-body .lightbox:not([open]){pointer-events:none}.markdown-body .lightbox:after{position:fixed;top:1em;right:1em;content:'\f00d';display:inline-block;font:normal normal normal 2em/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transform:translate(0, 0);display:inline-block;cursor:pointer;opacity:1;transform:scale(1.5);transition:.3s .3s ease-in}.markdown-body .lightbox:not([open]):after{transform:scale(0);opacity:0}.markdown-body .lightbox-inner{position:relative;display:inline-flex;justify-content:center;align-items:center;min-height:calc(100vh + 8px);margin:auto;margin:8px auto auto;padding:5em 0;box-sizing:content-box}.markdown-body .lightbox{transition:.3s ease-out;transition-property:opacity, z-index, transform}.markdown-body .lightbox img{transform:scale(1);transition:.25s .05s ease-in}.markdown-body .lightbox:not([open]){opacity:0 !important;pointer-events:none}.markdown-body .lightbox:not([open]) img{transform:scale(0);opacity:0;transition-delay:0s}.markdown-body .lightbox img{width:auto !important;height:auto !important;min-width:unset !important;max-width:97.5vw !important;max-height:97.5vh !important}.markdown-body .lightbox img.border,.markdown-body .lightbox img:not([src$=".png"]):not([src$=".svg"]):not([src$=".jp2"]):not([src$=".tiff"]){box-shadow:0 0.5em 3em -1em rgba(0,0,0,0.2)}.markdown-body table{display:table;border-collapse:collapse;border-spacing:0;width:100%;color:var(--table-text)}.markdown-body table thead{color:var(--table-head-text, inherit)}.markdown-body table thead tr{background:var(--table-head, #f6f8fa)}.markdown-body table tr{background-color:var(--table-row, #fff)}.markdown-body table tr+tr{border-top:1px solid var(--table-edges, #dfe2e5)}.markdown-body table th,.markdown-body table thead td{font-weight:600}.markdown-body table th:empty,.markdown-body table thead td:empty{padding:0;border:none}.markdown-body table td,.markdown-body table th{padding:0;color:inherit;vertical-align:middle;border:1px solid var(--table-edges, #dfe2e5);padding:6px 13px}.markdown-body table td>:first-child,.markdown-body table td>:only-child,.markdown-body table th>:first-child,.markdown-body table th>:only-child{margin-top:0 !important}.markdown-body table td>:last-child,.markdown-body table td>:only-child,.markdown-body table th>:last-child,.markdown-body table th>:only-child{margin-bottom:0 !important}.markdown-body table:not(.plain) tr:nth-child(2n){background-color:var(--table-stripe, #fbfcfd)}.markdown-body .rdmd-table{display:block;position:relative}.markdown-body .rdmd-table-inner{box-sizing:content-box;min-width:100%;overflow:auto;width:100%}.markdown-body .rdmd-table table{border:1px solid var(--table-edges, #dfe2e5)}.markdown-body .rdmd-table table:only-child{margin:0 !important}.markdown-body .rdmd-table table:only-child thead th{background:inherit}.markdown-body .rdmd-table table:only-child td:last-child,.markdown-body .rdmd-table table:only-child th:last-child{border-right:none}.markdown-body .rdmd-table table:only-child thead tr,.markdown-body .rdmd-table table:only-child thead th:last-child{box-shadow:3px 0 0 var(--table-head)}.toc-list .glossary-tooltip{pointer-events:none}.markdown-body code,.markdown-body kbd,.markdown-body pre{font-family:SFMono-Regular, Consolas, Liberation Mono, Menlo, Courier, monospace;font-family:var(--md-code-font, SFMono-Regular, Consolas, Liberation Mono, Menlo, Courier, monospace);font-size:1em}.markdown-body code,.markdown-body pre{font-size:12px}.markdown-body pre{margin-bottom:0;margin-top:0}.markdown-body code{background-color:#F6F8FA;background-color:var(--md-code-background, #F6F8FA);border-radius:3px;color:var(--md-code-text);font-size:85%;margin:0;padding:.2em .4em}.markdown-body code>div[class*="cm-"]{display:inherit}.markdown-body pre{word-wrap:normal}.markdown-body pre>code{background:0 0;border:0;font-size:100%;margin:0;padding:0;white-space:pre;word-break:normal}.markdown-body pre{background-color:#F6F8FA;background-color:var(--md-code-background, #F6F8FA);color:inherit;color:var(--md-code-text, inherit);border-radius:3px;border-radius:var(--markdown-radius, 3px);border-radius:var(--md-code-radius, var(--markdown-radius, 3px));font-size:85%;line-height:1.45;overflow:auto;padding:1em}.markdown-body pre code.theme-dark{background-color:#242E34;background-color:var(--md-code-background, #242E34)}.markdown-body pre code{background-color:transparent;border:0;display:inline;line-height:inherit;margin:0;max-width:auto;overflow:visible;padding:0;word-wrap:normal}.markdown-body kbd{background-color:#F6F8FA;background-color:var(--d-code-background, #F6F8FA);border:1px solid #d1d5da;border-bottom-color:#c6cbd1;border-radius:3px;box-shadow:inset 0 -1px 0 #c6cbd1;color:#444d56;display:inline-block;font-size:11px;line-height:10px;padding:3px 5px;vertical-align:middle}.markdown-body button.rdmd-code-copy{DISPLAY:none !important}.markdown-body button.rdmd-code-copy{-webkit-appearance:unset;margin:.5em .6em 0 0;padding:.25em .7em;cursor:copy;font:inherit;color:inherit;color:var(--md-code-text, inherit);border:none;border-radius:3px;outline:none !important;background:inherit;background:var(--md-code-background, inherit);box-shadow:inset 0 0 0 1px rgba(170,170,170,0.66),-1px 2px 6px -3px rgba(0,0,0,0.1);transition:.15s ease-out}.markdown-body button.rdmd-code-copy:not(:hover):before,.markdown-body button.rdmd-code-copy:not(:hover):after{opacity:.66}.markdown-body button.rdmd-code-copy:hover:not(:active){box-shadow:inset 0 0 0 1px rgba(139,139,139,0.75),-1px 2px 6px -3px rgba(0,0,0,0.2)}.markdown-body button.rdmd-code-copy:active{box-shadow:inset 0 0 0 1px rgba(139,139,139,0.5),inset 1px 4px 6px -2px rgba(0,0,0,0.175)}.markdown-body button.rdmd-code-copy:active:before,.markdown-body button.rdmd-code-copy:active:after{opacity:.75}.markdown-body button.rdmd-code-copy:before,.markdown-body button.rdmd-code-copy:after{display:inline-block;font:normal normal normal 1em/1 "Font Awesome 5 Free", "FontAwesome";text-rendering:auto;-webkit-font-smoothing:antialiased;line-height:2;font-family:'ReadMe-Icons';font-variant-ligatures:discretionary-ligatures;font-feature-settings:"liga"}.markdown-body button.rdmd-code-copy:before{content:"\e6c9";font-weight:800;transition:.3s .15s ease}.markdown-body button.rdmd-code-copy:after{content:"\e942" !important;font-weight:900 !important;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%) scale(0.33);opacity:0 !important;transition:.3s 0s ease}.markdown-body button.rdmd-code-copy_copied{pointer-events:none}.markdown-body button.rdmd-code-copy_copied,.markdown-body button.rdmd-code-copy_copied *{color:green !important;color:var(--md-code-text, green) !important;opacity:1}.markdown-body button.rdmd-code-copy_copied:before{transition:.3s 0s ease;transform:scale(0.33);opacity:0 !important}.markdown-body button.rdmd-code-copy_copied:after{transition:.3s .15s ease;transform:translate(-50%, -50%) scale(1);opacity:1 !important}.markdown-body pre{position:relative}.markdown-body pre>code{background:inherit}.markdown-body pre>code.theme-dark{color:white}.markdown-body pre button.rdmd-code-copy{display:inline-block !important;position:absolute;right:0;top:0}.markdown-body pre{overflow:hidden;padding:0}.markdown-body pre>code{display:block !important;overflow:auto;padding:1em;max-height:90vh}.markdown-body pre:hover button.rdmd-code-copy:not(:hover){transition-delay:.4s}.markdown-body pre:not(:hover) button.rdmd-code-copy:not(.rdmd-code-copy_copied){opacity:0 !important}.CodeTabs{color:#333;color:var(--md-code-text, #333);border-radius:var(--md-code-radius, var(--markdown-radius, 3px)) !important;overflow:hidden}.CodeTabs.theme-dark{color:white;color:var(--md-code-text, white)}.CodeTabs.theme-dark .CodeTabs-toolbar{background:#373737;background:var(--md-code-tabs, #373737)}.CodeTabs-toolbar{background:#ebedef;background:var(--md-code-tabs, #ebedef);display:flex;flex-flow:row nowrap;overflow:hidden;overflow-x:auto;-ms-overflow-style:none;-webkit-overflow-scrolling:touch}.CodeTabs-toolbar::-webkit-scrollbar{display:none}.CodeTabs-toolbar button{white-space:nowrap;transition:.123s ease;-webkit-appearance:none;appearance:none;display:inline-block;line-height:2;padding:.5em 1em;border:none;background:transparent;outline:none;color:inherit;font:inherit;font-size:.75em;cursor:pointer}.CodeTabs.CodeTabs_initial .CodeTabs-toolbar button:first-child,.CodeTabs-toolbar button.CodeTabs_active{background:#F6F8FA;background:var(--md-code-background, #F6F8FA);color:black;color:var(--md-code-text, black);pointer-events:none}.CodeTabs.theme-dark.CodeTabs_initial .CodeTabs-toolbar button:first-child,.CodeTabs.theme-dark .CodeTabs-toolbar button.CodeTabs_active{background:#242E34;background:var(--md-code-background, #242E34);color:white;color:var(--md-code-text, white)}.CodeTabs-toolbar button:not(.CodeTabs_active):hover{background:rgba(0,0,0,0.075)}.CodeTabs pre{border-radius:0 0 var(--md-code-radius, var(--markdown-radius, 3px)) var(--md-code-radius, var(--markdown-radius, 3px)) !important;background:#F6F8FA;background:var(--md-code-background, #F6F8FA);margin-bottom:0}.CodeTabs pre:not(.CodeTabs_active){display:none}.CodeTabs.theme-dark pre{background:#242E34;background:var(--md-code-background, #242E34)}.CodeTabs.CodeTabs_initial pre:first-child{display:block}.callout{--emoji: 1em;--icon-font: FontAwesome;border-top-right-radius:var(--markdown-radius);border-bottom-right-radius:var(--markdown-radius)}.callout.callout{--background: #f8f8f9;--border: #8b939c}.callout.callout{background:var(--background);border-color:var(--border);color:var(--text);padding:1.33rem}.callout.callout_info{--background: #e3edf2;--title: #46b8da;--border: #5bc0de}.callout.callout_warn,.callout.callout_warning{--background: #fcf8f2;--title: #eea236;--border: #f0ad4e}.callout.callout_ok,.callout.callout_okay,.callout.callout_success{--background: #f3f8f3;--title: #489e49;--border: #50af51}.callout.callout_err,.callout.callout_error{--background: #fdf7f7;--title: #d43f3a;--border: #d9534f}.callout.callout>*{margin-left:1.33rem;position:relative}.callout.callout ul,.callout.callout ol{padding-left:1.3em}.callout.callout a{color:inherit}.callout.callout hr{border-color:var(--border, var(--markdown-edge, #eee))}.callout.callout blockquote{color:var(--text);border-color:var(--border);border-width:3px;padding:0 0 0 .8em}.callout.callout .callout-heading{color:var(--title, --text);margin-bottom:calc(1.33rem * .5)}.callout.callout .callout-heading:only-child{margin-bottom:0}.callout.callout .callout-heading.empty{float:left;margin-top:calc(1.33rem * .5)}.callout.callout .callout-heading.empty .callout-icon{line-height:0}.callout.callout .callout-heading>*{color:inherit;margin:0}.callout.callout .callout-heading:before{position:absolute;right:100%;width:2.4em;text-align:center;font:normal normal normal 1em/1 FontAwesome}.callout.callout .callout-icon{float:left;margin-left:calc(-1.33rem - .5em);margin-right:-.25rem}.callout-icon{font-size:var(--emoji, 0);color:var(--icon-color, inherit) !important}.callout-icon:before{content:var(--icon);font-family:var(--icon-font);font-size:var(--icon-size, 1rem);font-weight:var(--icon-weight, 400);position:absolute;top:50%;transform:translate(-50%, -50%);display:inline-block;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.rdmdCallouts--useIconFont .callout{--emoji: unset}.rdmdCallouts--useIconFont .callout_okay{--icon: "\f164"}.rdmdCallouts--useIconFont .callout_info{--icon: "\f05a"}.rdmdCallouts--useIconFont .callout_warn{--icon: "\f071"}.rdmdCallouts--useIconFont .callout_error{--icon: "\f06a"}.rdmdCallouts--useIconFont .callout_default{--emoji: 1rem}.heading.heading{display:flex;justify-content:flex-start;align-items:center;position:relative}.heading.heading .heading-text{flex:1 100%}.heading.heading .heading-anchor-deprecated{position:absolute;top:0}.heading.heading .heading-anchor{top:-1rem !important}.heading.heading .heading-anchor,.heading.heading .heading-anchor-icon{position:absolute !important;display:inline !important;order:-1;right:100%;top:unset !important;margin-right:-.8rem;padding:.8rem .2rem .8rem 0 !important;font-size:.8rem !important;text-decoration:none;color:inherit;transform:translateX(-100%);transition:.2s ease}.heading.heading .heading-anchor:hover,.heading.heading .heading-anchor-icon:hover{opacity:1}.heading.heading:not(:hover) .heading-anchor-icon{opacity:0}.markdown-body .embed{padding:15px;color:var(--md-code-text, inherit);border-radius:var(--md-code-radius, var(--markdown-radius, 3px));border-radius:3px;background:transparent;box-shadow:inset 0 0 0 1px rgba(0,0,0,0.15);transition:.3s ease}.markdown-body .embed:hover{background:var(--md-code-background, #f6f8fa);box-shadow:inset 0 0 0 1px rgba(0,0,0,0.1)}.markdown-body>.embed_hasImg:nth-of-type(odd){margin-right:30px;padding-right:0}.markdown-body>.embed_hasImg:nth-of-type(odd) .embed-link{flex-direction:row-reverse}.markdown-body>.embed_hasImg:nth-of-type(odd) .embed-img{margin-left:.88em;margin-right:-30px;box-shadow:-0.3em 0.3em 0.9em -0.3em rgba(0,0,0,0.15)}.markdown-body>.embed_hasImg:nth-of-type(even){margin-left:30px;padding-left:0}.markdown-body>.embed_hasImg:nth-of-type(even) .embed-img{margin-left:-30px}.markdown-body .embed:empty{display:none}.markdown-body .embed-media{display:flex;justify-content:center}.markdown-body .embed-media>:only-child{flex:1;margin:-15px;border-radius:0 !important}.markdown-body .embed-link{display:flex;align-items:center;color:var(--markdown-text, #333);text-decoration:none !important}.markdown-body .embed-body{flex:1;line-height:1.3}.markdown-body .embed-body,.markdown-body .embed-body .embed-title{font-size:1.15em;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.markdown-body .embed-body .embed-provider{display:block;text-decoration-color:transparent !important;opacity:.88}.markdown-body .embed-body-url{opacity:.75}.markdown-body .embed-provider{font-size:0.8em;line-height:1.6;transition:.2 ease}.markdown-body .embed-provider code:only-child{display:block;width:100%;font-size:1.15em;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;background:transparent;margin:0;padding:0;font-size:inherit !important}.markdown-body .embed-provider code{opacity:0.8}.markdown-body .embed-img{width:5em;max-width:5em;margin:0 .88em 0 0;padding:4px;background:white;border:1px solid rgba(0,0,0,0.15);border-radius:3px;transition:inherit;box-shadow:0.3em 0.3em 0.9em -0.3em rgba(0,0,0,0.15)}.markdown-body .embed:not(:hover) .embed-img{box-shadow:0 0.25em 1em -0.5em rgba(0,0,0,0.133)}.markdown-body .embed:hover .embed-img{border:1px solid rgba(0,0,0,0.2)}.markdown-body .embed-favicon{width:12px !important;height:12px !important;margin-top:4px;margin-right:6px;margin-bottom:12px}:root{--markdown-text: inherit;--markdown-title: inherit;--markdown-title-font: inherit;--markdown-font: inherit;--markdown-font-size: inherit;--markdown-line-height: 1.5}.field-description,.markdown-body{font-size:var(--markdown-font-size, 14px)}.field-description,.markdown-body{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;position:relative;font-family:var(--markdown-font);line-height:var(--markdown-line-height);color:var(--markdown-text);word-wrap:break-word}.field-description:before,.field-description:after,.markdown-body:before,.markdown-body:after{content:"";display:table}.field-description:after,.markdown-body:after{clear:both}.field-description ul,.markdown-body ul{list-style:initial}.field-description .anchor,.markdown-body .anchor{float:left;line-height:1;margin-left:-20px;padding-right:4px}.field-description .anchor:focus,.markdown-body .anchor:focus{outline:0}.field-description h1:hover .anchor,.field-description h2:hover .anchor,.field-description h3:hover .anchor,.field-description h4:hover .anchor,.field-description h5:hover .anchor,.field-description h6:hover .anchor,.markdown-body h1:hover .anchor,.markdown-body h2:hover .anchor,.markdown-body h3:hover .anchor,.markdown-body h4:hover .anchor,.markdown-body h5:hover .anchor,.markdown-body h6:hover .anchor{text-decoration:none}.field-description details,.markdown-body details{display:block}.field-description summary,.markdown-body summary{display:list-item}.field-description a,.markdown-body a{transition:.15s ease}.field-description a:hover,.markdown-body a:hover{text-decoration:underline}.field-description a:active,.field-description a:hover,.markdown-body a:active,.markdown-body a:hover{outline-width:0}.field-description a:not([href]),.markdown-body a:not([href]){color:inherit;text-decoration:none}.field-description strong,.markdown-body strong{font-weight:inherit;font-weight:bolder}.field-description h1,.markdown-body h1{font-size:2em;margin:.67em 0}.field-description hr,.markdown-body hr{box-sizing:content-box;height:0;overflow:hidden;margin:15px 0;border-width:0 0 1px;border-bottom:1px solid var(--markdown-edge, #dfe2e5);background:transparent}.field-description hr:before,.field-description hr:after,.markdown-body hr:before,.markdown-body hr:after{content:"";display:table}.field-description hr:after,.markdown-body hr:after{clear:both}.field-description input,.markdown-body input{font:inherit;margin:0}.field-description input,.markdown-body input{overflow:visible}.field-description [type=checkbox],.markdown-body [type=checkbox]{box-sizing:border-box;padding:0}.field-description *,.markdown-body *{box-sizing:border-box}.field-description input,.markdown-body input{font-family:inherit;font-size:inherit;line-height:inherit}.field-description strong,.markdown-body strong{font-weight:600}.field-description details summary,.markdown-body details summary{cursor:pointer}.field-description h1,.field-description h2,.field-description h3,.field-description h4,.field-description h5,.field-description h6,.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{line-height:1.25;color:var(--markdown-title);font-family:var(--markdown-title-font);font-size:var(--markdown-title-size);font-weight:var(--markdown-title-weight, 600);margin-top:var(--markdown-title-marginTop, 1em);margin-bottom:var(--markdown-title-marginBottom, 1rem)}.field-description h1,.markdown-body h1{font-size:1.75em;font-size:var(--markdown-title-size, 1.75em)}.field-description h2,.markdown-body h2{font-size:1.5em;font-size:var(--markdown-title-size, 1.5em)}.field-description h1,.markdown-body h1{font-weight:700;font-weight:var(--markdown-title-weight, 700)}.field-description h2,.markdown-body h2{font-weight:600;font-weight:var(--markdown-title-weight, 600)}.field-description h3,.field-description h4,.markdown-body h3,.markdown-body h4{font-weight:600;font-weight:var(--markdown-title-weight, 600)}.field-description h3,.markdown-body h3{font-size:1.25em;font-size:var(--markdown-title-size, 1.25em)}.field-description h4,.markdown-body h4{font-size:1em;font-size:var(--markdown-title-size, 1em)}.field-description h5,.field-description h6,.markdown-body h5,.markdown-body h6{font-weight:600;font-weight:var(--markdown-title-weight, 600)}.field-description h5,.markdown-body h5{font-size:.875em;font-size:var(--markdown-title-size, 0.875em)}.field-description h6,.markdown-body h6{font-size:.85em;font-size:var(--markdown-title-size, 0.85em);color:var(--markdown-title, #6a737d)}.field-description p,.field-description .p,.markdown-body p,.markdown-body .p{margin-bottom:10px;margin-top:0}.field-description blockquote,.markdown-body blockquote{margin:0}.field-description ol,.field-description ul,.markdown-body ol,.markdown-body ul{margin-bottom:0;margin-top:0;padding-left:0}.field-description ol ol,.field-description ul ol,.markdown-body ol ol,.markdown-body ul ol{list-style-type:lower-roman}.field-description ol ol ol,.field-description ol ul ol,.field-description ul ol ol,.field-description ul ul ol,.markdown-body ol ol ol,.markdown-body ol ul ol,.markdown-body ul ol ol,.markdown-body ul ul ol{list-style-type:lower-alpha}.field-description dd,.markdown-body dd{margin-left:0}.field-description input::-webkit-inner-spin-button,.field-description input::-webkit-outer-spin-button,.markdown-body input::-webkit-inner-spin-button,.markdown-body input::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none;margin:0}.field-description>:first-child,.markdown-body>:first-child{margin-top:0 !important}.field-description>:last-child,.markdown-body>:last-child{margin-bottom:0 !important}.field-description blockquote,.field-description dl,.field-description ol,.field-description p,.field-description pre,.field-description table,.field-description ul,.markdown-body blockquote,.markdown-body dl,.markdown-body ol,.markdown-body p,.markdown-body pre,.markdown-body table,.markdown-body ul{margin-top:0;margin-bottom:15px}.field-description blockquote,.markdown-body blockquote{display:block;border-left:.25em solid #dfe2e5;color:#6a737d;padding:0 1em}.field-description blockquote>:first-child,.markdown-body blockquote>:first-child{margin-top:0}.field-description blockquote>:last-child,.markdown-body blockquote>:last-child{margin-bottom:0}.field-description ol,.field-description ul,.markdown-body ol,.markdown-body ul{padding-left:2em}.field-description ol ol,.field-description ol ul,.field-description ul ol,.field-description ul ul,.markdown-body ol ol,.markdown-body ol ul,.markdown-body ul ol,.markdown-body ul ul{margin-bottom:0;margin-top:0}.field-description li,.markdown-body li{word-wrap:break-all}.field-description li>p,.markdown-body li>p{margin-top:1em}.field-description li+li,.markdown-body li+li{margin-top:.25em}.field-description dl,.markdown-body dl{padding:0}.field-description dl dt,.markdown-body dl dt{font-size:1em;font-style:italic;font-weight:600;margin-top:1em;padding:0}.field-description dl dd,.markdown-body dl dd{margin-bottom:1em;padding:0 1em}.field-description :checked+.radio-label,.markdown-body :checked+.radio-label{border-color:var(--project-color-primary);position:relative;z-index:1}.field-description .task-list-item,.markdown-body .task-list-item{list-style-type:none}.field-description .task-list-item+.task-list-item,.markdown-body .task-list-item+.task-list-item{margin-top:3px}.field-description .task-list-item input,.markdown-body .task-list-item input{margin:0 .2em .25em -1.6em;vertical-align:middle}.field-description p.blank-line,.markdown-body p.blank-line{height:1.5em}.field-description h5,.field-description h6,.markdown-body h5,.markdown-body h6{font-size:.9em}.field-description blockquote h1:last-child,.field-description blockquote h2:last-child,.markdown-body blockquote h1:last-child,.markdown-body blockquote h2:last-child{border-bottom:0}.field-description>*,.markdown-body>*{margin-top:15px;margin-bottom:15px !important}.field-description .task-list-item input,.markdown-body .task-list-item input{margin:0 .5em .25em -1.25em}.field-description a[href],.field-description a:not([href=""]),.markdown-body a[href],.markdown-body a:not([href=""]){text-decoration:underline}
390
+ .markdown-body img[align=right],.markdown-body img[alt~=align-right]{float:right;margin-left:.75rem}.markdown-body img[align=left],.markdown-body img[alt~=align-left]{float:left;margin-right:.75rem}.markdown-body img[width="80%"],.markdown-body img[align=center],.markdown-body img[alt~=align-center],.markdown-body>img,.markdown-body figure>img{display:block}.markdown-body img{box-sizing:content-box;display:inline-block;vertical-align:middle;max-width:100%;margin-left:auto;margin-right:auto;border-style:none;outline:none !important}.markdown-body img[width=smart]{width:auto;max-width:100%;max-height:450px}.markdown-body img.border{border:1px solid rgba(0,0,0,0.2)}.markdown-body figure{margin:15px auto}.markdown-body figure figcaption{margin-top:8px;font-size:.93em;font-style:italic;text-align:center}.markdown-body figure .img{display:inline-block}.markdown-body figure .img,.markdown-body figure .img>img:only-of-type{display:block}.markdown-body .lightbox{position:fixed;z-index:9999999;top:0;left:0;display:flex;flex-flow:nowrap column;justify-content:flex-start;align-items:center;width:100vw;height:100vh;overflow:hidden;overflow-y:scroll;background:rgba(255,255,255,0.966);user-select:none;margin-top:0;margin-bottom:0}.markdown-body .lightbox:not([open]){pointer-events:none}.markdown-body .lightbox:after{position:fixed;top:1em;right:1em;content:'\f00d';display:inline-block;font:normal normal normal 2em/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transform:translate(0, 0);display:inline-block;cursor:pointer;opacity:1;transform:scale(1.5);transition:.3s .3s ease-in}.markdown-body .lightbox:not([open]):after{transform:scale(0);opacity:0}.markdown-body .lightbox-inner{position:relative;display:inline-flex;justify-content:center;align-items:center;min-height:calc(100vh + 8px);margin:auto;margin:8px auto auto;padding:5em 0;box-sizing:content-box}.markdown-body .lightbox{transition:.3s ease-out;transition-property:opacity, z-index, transform}.markdown-body .lightbox img{transform:scale(1);transition:.25s .05s ease-in}.markdown-body .lightbox:not([open]){opacity:0 !important;pointer-events:none}.markdown-body .lightbox:not([open]) img{transform:scale(0);opacity:0;transition-delay:0s}.markdown-body .lightbox img{width:auto !important;height:auto !important;min-width:unset !important;max-width:97.5vw !important;max-height:97.5vh !important}.markdown-body .lightbox img.border,.markdown-body .lightbox img:not([src$=".png"]):not([src$=".svg"]):not([src$=".jp2"]):not([src$=".tiff"]){box-shadow:0 0.5em 3em -1em rgba(0,0,0,0.2)}.markdown-body table{display:table;border-collapse:collapse;border-spacing:0;width:100%;color:var(--table-text)}.markdown-body table thead{color:var(--table-head-text, inherit)}.markdown-body table thead tr{background:var(--table-head, #f6f8fa)}.markdown-body table tr{background-color:var(--table-row, #fff)}.markdown-body table tr+tr{border-top:1px solid var(--table-edges, #dfe2e5)}.markdown-body table th,.markdown-body table thead td{font-weight:600}.markdown-body table th:empty,.markdown-body table thead td:empty{padding:0;border:none}.markdown-body table td,.markdown-body table th{padding:0;color:inherit;vertical-align:middle;border:1px solid var(--table-edges, #dfe2e5);padding:6px 13px}.markdown-body table td>:first-child,.markdown-body table td>:only-child,.markdown-body table th>:first-child,.markdown-body table th>:only-child{margin-top:0 !important}.markdown-body table td>:last-child,.markdown-body table td>:only-child,.markdown-body table th>:last-child,.markdown-body table th>:only-child{margin-bottom:0 !important}.markdown-body table:not(.plain) tr:nth-child(2n){background-color:var(--table-stripe, #fbfcfd)}.markdown-body .rdmd-table{display:block;position:relative}.markdown-body .rdmd-table-inner{box-sizing:content-box;min-width:100%;overflow:auto;width:100%}.markdown-body .rdmd-table table{border:1px solid var(--table-edges, #dfe2e5)}.markdown-body .rdmd-table table:only-child{margin:0 !important}.markdown-body .rdmd-table table:only-child thead th{background:inherit}.markdown-body .rdmd-table table:only-child td:last-child,.markdown-body .rdmd-table table:only-child th:last-child{border-right:none}.markdown-body .rdmd-table table:only-child thead tr,.markdown-body .rdmd-table table:only-child thead th:last-child{box-shadow:3px 0 0 var(--table-head)}.toc-list .glossary-tooltip{pointer-events:none}.markdown-body code,.markdown-body kbd,.markdown-body pre{font-family:SFMono-Regular, Consolas, Liberation Mono, Menlo, Courier, monospace;font-family:var(--md-code-font, SFMono-Regular, Consolas, Liberation Mono, Menlo, Courier, monospace);font-size:1em}.markdown-body code,.markdown-body pre{font-size:12px}.markdown-body pre{margin-bottom:0;margin-top:0}.markdown-body code{background-color:#F6F8FA;background-color:var(--md-code-background, #F6F8FA);border-radius:3px;color:var(--md-code-text);font-size:85%;margin:0;padding:.2em .4em}.markdown-body code>div[class*="cm-"]{display:inherit}.markdown-body pre{word-wrap:normal}.markdown-body pre>code{background:0 0;border:0;font-size:100%;margin:0;padding:0;white-space:pre;word-break:normal}.markdown-body pre{background-color:#F6F8FA;background-color:var(--md-code-background, #F6F8FA);color:inherit;color:var(--md-code-text, inherit);border-radius:3px;border-radius:var(--markdown-radius, 3px);border-radius:var(--md-code-radius, var(--markdown-radius, 3px));font-size:85%;line-height:1.45;overflow:auto;padding:1em}.markdown-body pre code.theme-dark{background-color:#242E34;background-color:var(--md-code-background, #242E34)}.markdown-body pre code{background-color:transparent;border:0;display:inline;line-height:inherit;margin:0;max-width:auto;overflow:visible;padding:0;word-wrap:normal}.markdown-body kbd{background-color:#F6F8FA;background-color:var(--d-code-background, #F6F8FA);border:1px solid #d1d5da;border-bottom-color:#c6cbd1;border-radius:3px;box-shadow:inset 0 -1px 0 #c6cbd1;color:#444d56;display:inline-block;font-size:11px;line-height:10px;padding:3px 5px;vertical-align:middle}.markdown-body button.rdmd-code-copy{DISPLAY:none !important}.markdown-body button.rdmd-code-copy{-webkit-appearance:unset;margin:.5em .6em 0 0;padding:.25em .7em;cursor:copy;font:inherit;color:inherit;color:var(--md-code-text, inherit);border:none;border-radius:3px;outline:none !important;background:inherit;background:var(--md-code-background, inherit);box-shadow:inset 0 0 0 1px rgba(170,170,170,0.66),-1px 2px 6px -3px rgba(0,0,0,0.1);transition:.15s ease-out}.markdown-body button.rdmd-code-copy:not(:hover):before,.markdown-body button.rdmd-code-copy:not(:hover):after{opacity:.66}.markdown-body button.rdmd-code-copy:hover:not(:active){box-shadow:inset 0 0 0 1px rgba(139,139,139,0.75),-1px 2px 6px -3px rgba(0,0,0,0.2)}.markdown-body button.rdmd-code-copy:active{box-shadow:inset 0 0 0 1px rgba(139,139,139,0.5),inset 1px 4px 6px -2px rgba(0,0,0,0.175)}.markdown-body button.rdmd-code-copy:active:before,.markdown-body button.rdmd-code-copy:active:after{opacity:.75}.markdown-body button.rdmd-code-copy:before,.markdown-body button.rdmd-code-copy:after{display:inline-block;font:normal normal normal 1em/1 "Font Awesome 5 Free", "FontAwesome";text-rendering:auto;-webkit-font-smoothing:antialiased;line-height:2;font-family:'ReadMe-Icons';font-variant-ligatures:discretionary-ligatures;font-feature-settings:"liga"}.markdown-body button.rdmd-code-copy:before{content:"\e6c9";font-weight:800;transition:.3s .15s ease}.markdown-body button.rdmd-code-copy:after{content:"\e942" !important;font-weight:900 !important;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%) scale(0.33);opacity:0 !important;transition:.3s 0s ease}.markdown-body button.rdmd-code-copy_copied{pointer-events:none}.markdown-body button.rdmd-code-copy_copied,.markdown-body button.rdmd-code-copy_copied *{color:green !important;color:var(--md-code-text, green) !important;opacity:1}.markdown-body button.rdmd-code-copy_copied:before{transition:.3s 0s ease;transform:scale(0.33);opacity:0 !important}.markdown-body button.rdmd-code-copy_copied:after{transition:.3s .15s ease;transform:translate(-50%, -50%) scale(1);opacity:1 !important}.markdown-body pre{position:relative}.markdown-body pre>code{background:inherit}.markdown-body pre>code.theme-dark{color:white}.markdown-body pre button.rdmd-code-copy{display:inline-block !important;position:absolute;right:0;top:0}.markdown-body pre{overflow:hidden;padding:0}.markdown-body pre>code{display:block !important;overflow:auto;padding:1em;max-height:90vh}.markdown-body pre:hover button.rdmd-code-copy:not(:hover){transition-delay:.4s}.markdown-body pre:not(:hover) button.rdmd-code-copy:not(.rdmd-code-copy_copied){opacity:0 !important}.CodeTabs{color:#333;color:var(--md-code-text, #333);border-radius:var(--md-code-radius, var(--markdown-radius, 3px)) !important;overflow:hidden}.CodeTabs.theme-dark{color:white;color:var(--md-code-text, white)}.CodeTabs.theme-dark .CodeTabs-toolbar{background:#373737;background:var(--md-code-tabs, #373737)}.CodeTabs-toolbar{background:#ebedef;background:var(--md-code-tabs, #ebedef);display:flex;flex-flow:row nowrap;overflow:hidden;overflow-x:auto;-ms-overflow-style:none;-webkit-overflow-scrolling:touch}.CodeTabs-toolbar::-webkit-scrollbar{display:none}.CodeTabs-toolbar button{white-space:nowrap;transition:.123s ease;-webkit-appearance:none;appearance:none;display:inline-block;line-height:2;padding:.5em 1em;border:none;background:transparent;outline:none;color:inherit;font:inherit;font-size:.75em;cursor:pointer}.CodeTabs.CodeTabs_initial .CodeTabs-toolbar button:first-child,.CodeTabs-toolbar button.CodeTabs_active{background:#F6F8FA;background:var(--md-code-background, #F6F8FA);color:black;color:var(--md-code-text, black);pointer-events:none}.CodeTabs.theme-dark.CodeTabs_initial .CodeTabs-toolbar button:first-child,.CodeTabs.theme-dark .CodeTabs-toolbar button.CodeTabs_active{background:#242E34;background:var(--md-code-background, #242E34);color:white;color:var(--md-code-text, white)}.CodeTabs-toolbar button:not(.CodeTabs_active):hover{background:rgba(0,0,0,0.075)}.CodeTabs pre{border-radius:0 0 var(--md-code-radius, var(--markdown-radius, 3px)) var(--md-code-radius, var(--markdown-radius, 3px)) !important;background:#F6F8FA;background:var(--md-code-background, #F6F8FA);margin-bottom:0}.CodeTabs pre:not(.CodeTabs_active){display:none}.CodeTabs.theme-dark pre{background:#242E34;background:var(--md-code-background, #242E34)}.CodeTabs.CodeTabs_initial pre:first-child{display:block}.callout{--emoji: 1em;--icon-font: FontAwesome;border-top-right-radius:var(--markdown-radius);border-bottom-right-radius:var(--markdown-radius)}.callout.callout{--background: #f8f8f9;--border: #8b939c}.callout.callout{background:var(--background);border-color:var(--border);color:var(--text);padding:1.33rem}.callout.callout_info{--background: #e3edf2;--title: #46b8da;--border: #5bc0de}.callout.callout_warn,.callout.callout_warning{--background: #fcf8f2;--title: #eea236;--border: #f0ad4e}.callout.callout_ok,.callout.callout_okay,.callout.callout_success{--background: #f3f8f3;--title: #489e49;--border: #50af51}.callout.callout_err,.callout.callout_error{--background: #fdf7f7;--title: #d43f3a;--border: #d9534f}.callout.callout>*{margin-left:1.33rem;position:relative}.callout.callout ul,.callout.callout ol{padding-left:1.3em}.callout.callout a{color:inherit}.callout.callout hr{border-color:var(--border, var(--markdown-edge, #eee))}.callout.callout blockquote{color:var(--text);border-color:var(--border);border-width:3px;padding:0 0 0 .8em}.callout.callout .callout-heading{color:var(--title, --text);margin-bottom:calc(1.33rem * .5)}.callout.callout .callout-heading:only-child{margin-bottom:0}.callout.callout .callout-heading.empty{float:left;margin-top:calc(1.33rem * .5)}.callout.callout .callout-heading.empty .callout-icon{line-height:0}.callout.callout .callout-heading>*{color:inherit;margin:0}.callout.callout .callout-heading:before{position:absolute;right:100%;width:2.4em;text-align:center;font:normal normal normal 1em/1 FontAwesome}.callout.callout .callout-icon{float:left;margin-left:calc(-1.33rem - .5em);margin-right:-.25rem}.callout-icon{font-size:var(--emoji, 0);color:var(--icon-color, inherit) !important}.callout-icon:before{content:var(--icon);font-family:var(--icon-font);font-size:var(--icon-size, 1rem);font-weight:var(--icon-weight, 400);position:absolute;top:50%;transform:translate(-50%, -50%);display:inline-block;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.rdmdCallouts--useIconFont .callout{--emoji: unset}.rdmdCallouts--useIconFont .callout_okay{--icon: "\f164"}.rdmdCallouts--useIconFont .callout_info{--icon: "\f05a"}.rdmdCallouts--useIconFont .callout_warn{--icon: "\f071"}.rdmdCallouts--useIconFont .callout_error{--icon: "\f06a"}.rdmdCallouts--useIconFont .callout_default{--emoji: 1rem}.heading.heading{display:flex;justify-content:flex-start;align-items:center;position:relative}.heading.heading .heading-text{flex:1 100%}.heading.heading .heading-anchor-deprecated{position:absolute;top:0}.heading.heading .heading-anchor{top:-1rem !important}.heading.heading .heading-anchor,.heading.heading .heading-anchor-icon{position:absolute !important;display:inline !important;order:-1;right:100%;top:unset !important;margin-right:-.8rem;padding:.8rem .2rem .8rem 0 !important;font-size:.8rem !important;text-decoration:none;color:inherit;transform:translateX(-100%);transition:.2s ease}.heading.heading .heading-anchor:hover,.heading.heading .heading-anchor-icon:hover{opacity:1}.heading.heading:not(:hover) .heading-anchor-icon{opacity:0}.markdown-body pre.html-unsafe{background-color:#fdd}.markdown-body .embed{padding:15px;color:var(--md-code-text, inherit);border-radius:var(--md-code-radius, var(--markdown-radius, 3px));border-radius:3px;background:transparent;box-shadow:inset 0 0 0 1px rgba(0,0,0,0.15);transition:.3s ease}.markdown-body .embed:hover{background:var(--md-code-background, #f6f8fa);box-shadow:inset 0 0 0 1px rgba(0,0,0,0.1)}.markdown-body>.embed_hasImg:nth-of-type(odd){margin-right:30px;padding-right:0}.markdown-body>.embed_hasImg:nth-of-type(odd) .embed-link{flex-direction:row-reverse}.markdown-body>.embed_hasImg:nth-of-type(odd) .embed-img{margin-left:.88em;margin-right:-30px;box-shadow:-0.3em 0.3em 0.9em -0.3em rgba(0,0,0,0.15)}.markdown-body>.embed_hasImg:nth-of-type(even){margin-left:30px;padding-left:0}.markdown-body>.embed_hasImg:nth-of-type(even) .embed-img{margin-left:-30px}.markdown-body .embed:empty{display:none}.markdown-body .embed-media{display:flex;justify-content:center}.markdown-body .embed-media>:only-child{flex:1;margin:-15px;border-radius:0 !important}.markdown-body .embed-link{display:flex;align-items:center;color:var(--markdown-text, #333);text-decoration:none !important}.markdown-body .embed-body{flex:1;line-height:1.3}.markdown-body .embed-body,.markdown-body .embed-body .embed-title{font-size:1.15em;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.markdown-body .embed-body .embed-provider{display:block;text-decoration-color:transparent !important;opacity:.88}.markdown-body .embed-body-url{opacity:.75}.markdown-body .embed-provider{font-size:0.8em;line-height:1.6;transition:.2 ease}.markdown-body .embed-provider code:only-child{display:block;width:100%;font-size:1.15em;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;background:transparent;margin:0;padding:0;font-size:inherit !important}.markdown-body .embed-provider code{opacity:0.8}.markdown-body .embed-img{width:5em;max-width:5em;margin:0 .88em 0 0;padding:4px;background:white;border:1px solid rgba(0,0,0,0.15);border-radius:3px;transition:inherit;box-shadow:0.3em 0.3em 0.9em -0.3em rgba(0,0,0,0.15)}.markdown-body .embed:not(:hover) .embed-img{box-shadow:0 0.25em 1em -0.5em rgba(0,0,0,0.133)}.markdown-body .embed:hover .embed-img{border:1px solid rgba(0,0,0,0.2)}.markdown-body .embed-favicon{width:12px !important;height:12px !important;margin-top:4px;margin-right:6px;margin-bottom:12px}:root{--markdown-text: inherit;--markdown-title: inherit;--markdown-title-font: inherit;--markdown-font: inherit;--markdown-font-size: inherit;--markdown-line-height: 1.5}.field-description,.markdown-body{font-size:var(--markdown-font-size, 14px)}.field-description,.markdown-body{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;position:relative;font-family:var(--markdown-font);line-height:var(--markdown-line-height);color:var(--markdown-text);word-wrap:break-word}.field-description:before,.field-description:after,.markdown-body:before,.markdown-body:after{content:"";display:table}.field-description:after,.markdown-body:after{clear:both}.field-description ul,.markdown-body ul{list-style:initial}.field-description .anchor,.markdown-body .anchor{float:left;line-height:1;margin-left:-20px;padding-right:4px}.field-description .anchor:focus,.markdown-body .anchor:focus{outline:0}.field-description h1:hover .anchor,.field-description h2:hover .anchor,.field-description h3:hover .anchor,.field-description h4:hover .anchor,.field-description h5:hover .anchor,.field-description h6:hover .anchor,.markdown-body h1:hover .anchor,.markdown-body h2:hover .anchor,.markdown-body h3:hover .anchor,.markdown-body h4:hover .anchor,.markdown-body h5:hover .anchor,.markdown-body h6:hover .anchor{text-decoration:none}.field-description details,.markdown-body details{display:block}.field-description summary,.markdown-body summary{display:list-item}.field-description a,.markdown-body a{transition:.15s ease}.field-description a:hover,.markdown-body a:hover{text-decoration:underline}.field-description a:active,.field-description a:hover,.markdown-body a:active,.markdown-body a:hover{outline-width:0}.field-description a:not([href]),.markdown-body a:not([href]){color:inherit;text-decoration:none}.field-description strong,.markdown-body strong{font-weight:inherit;font-weight:bolder}.field-description h1,.markdown-body h1{font-size:2em;margin:.67em 0}.field-description hr,.markdown-body hr{box-sizing:content-box;height:0;overflow:hidden;margin:15px 0;border-width:0 0 1px;border-bottom:1px solid var(--markdown-edge, #dfe2e5);background:transparent}.field-description hr:before,.field-description hr:after,.markdown-body hr:before,.markdown-body hr:after{content:"";display:table}.field-description hr:after,.markdown-body hr:after{clear:both}.field-description input,.markdown-body input{font:inherit;margin:0}.field-description input,.markdown-body input{overflow:visible}.field-description [type=checkbox],.markdown-body [type=checkbox]{box-sizing:border-box;padding:0}.field-description *,.markdown-body *{box-sizing:border-box}.field-description input,.markdown-body input{font-family:inherit;font-size:inherit;line-height:inherit}.field-description strong,.markdown-body strong{font-weight:600}.field-description details summary,.markdown-body details summary{cursor:pointer}.field-description h1,.field-description h2,.field-description h3,.field-description h4,.field-description h5,.field-description h6,.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{line-height:1.25;color:var(--markdown-title);font-family:var(--markdown-title-font);font-size:var(--markdown-title-size);font-weight:var(--markdown-title-weight, 600);margin-top:var(--markdown-title-marginTop, 1em);margin-bottom:var(--markdown-title-marginBottom, 1rem)}.field-description h1,.markdown-body h1{font-size:1.75em;font-size:var(--markdown-title-size, 1.75em)}.field-description h2,.markdown-body h2{font-size:1.5em;font-size:var(--markdown-title-size, 1.5em)}.field-description h1,.markdown-body h1{font-weight:700;font-weight:var(--markdown-title-weight, 700)}.field-description h2,.markdown-body h2{font-weight:600;font-weight:var(--markdown-title-weight, 600)}.field-description h3,.field-description h4,.markdown-body h3,.markdown-body h4{font-weight:600;font-weight:var(--markdown-title-weight, 600)}.field-description h3,.markdown-body h3{font-size:1.25em;font-size:var(--markdown-title-size, 1.25em)}.field-description h4,.markdown-body h4{font-size:1em;font-size:var(--markdown-title-size, 1em)}.field-description h5,.field-description h6,.markdown-body h5,.markdown-body h6{font-weight:600;font-weight:var(--markdown-title-weight, 600)}.field-description h5,.markdown-body h5{font-size:.875em;font-size:var(--markdown-title-size, 0.875em)}.field-description h6,.markdown-body h6{font-size:.85em;font-size:var(--markdown-title-size, 0.85em);color:var(--markdown-title, #6a737d)}.field-description p,.field-description .p,.markdown-body p,.markdown-body .p{margin-bottom:10px;margin-top:0}.field-description blockquote,.markdown-body blockquote{margin:0}.field-description ol,.field-description ul,.markdown-body ol,.markdown-body ul{margin-bottom:0;margin-top:0;padding-left:0}.field-description ol ol,.field-description ul ol,.markdown-body ol ol,.markdown-body ul ol{list-style-type:lower-roman}.field-description ol ol ol,.field-description ol ul ol,.field-description ul ol ol,.field-description ul ul ol,.markdown-body ol ol ol,.markdown-body ol ul ol,.markdown-body ul ol ol,.markdown-body ul ul ol{list-style-type:lower-alpha}.field-description dd,.markdown-body dd{margin-left:0}.field-description input::-webkit-inner-spin-button,.field-description input::-webkit-outer-spin-button,.markdown-body input::-webkit-inner-spin-button,.markdown-body input::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none;margin:0}.field-description>:first-child,.markdown-body>:first-child{margin-top:0 !important}.field-description>:last-child,.markdown-body>:last-child{margin-bottom:0 !important}.field-description blockquote,.field-description dl,.field-description ol,.field-description p,.field-description pre,.field-description table,.field-description ul,.markdown-body blockquote,.markdown-body dl,.markdown-body ol,.markdown-body p,.markdown-body pre,.markdown-body table,.markdown-body ul{margin-top:0;margin-bottom:15px}.field-description blockquote,.markdown-body blockquote{display:block;border-left:.25em solid #dfe2e5;color:#6a737d;padding:0 1em}.field-description blockquote>:first-child,.markdown-body blockquote>:first-child{margin-top:0}.field-description blockquote>:last-child,.markdown-body blockquote>:last-child{margin-bottom:0}.field-description ol,.field-description ul,.markdown-body ol,.markdown-body ul{padding-left:2em}.field-description ol ol,.field-description ol ul,.field-description ul ol,.field-description ul ul,.markdown-body ol ol,.markdown-body ol ul,.markdown-body ul ol,.markdown-body ul ul{margin-bottom:0;margin-top:0}.field-description li,.markdown-body li{word-wrap:break-all}.field-description li>p,.markdown-body li>p{margin-top:1em}.field-description li+li,.markdown-body li+li{margin-top:.25em}.field-description dl,.markdown-body dl{padding:0}.field-description dl dt,.markdown-body dl dt{font-size:1em;font-style:italic;font-weight:600;margin-top:1em;padding:0}.field-description dl dd,.markdown-body dl dd{margin-bottom:1em;padding:0 1em}.field-description :checked+.radio-label,.markdown-body :checked+.radio-label{border-color:var(--project-color-primary);position:relative;z-index:1}.field-description .task-list-item,.markdown-body .task-list-item{list-style-type:none}.field-description .task-list-item+.task-list-item,.markdown-body .task-list-item+.task-list-item{margin-top:3px}.field-description .task-list-item input,.markdown-body .task-list-item input{margin:0 .2em .25em -1.6em;vertical-align:middle}.field-description p.blank-line,.markdown-body p.blank-line{height:1.5em}.field-description h5,.field-description h6,.markdown-body h5,.markdown-body h6{font-size:.9em}.field-description blockquote h1:last-child,.field-description blockquote h2:last-child,.markdown-body blockquote h1:last-child,.markdown-body blockquote h2:last-child{border-bottom:0}.field-description>*,.markdown-body>*{margin-top:15px;margin-bottom:15px !important}.field-description .task-list-item input,.markdown-body .task-list-item input{margin:0 .5em .25em -1.25em}.field-description a[href],.field-description a:not([href=""]),.markdown-body a[href],.markdown-body a:not([href=""]){text-decoration:underline}
391
391
 
package/dist/main.js CHANGED
@@ -9686,9 +9686,11 @@ module.exports.GlossaryContext = GlossaryContext;
9686
9686
 
9687
9687
  /***/ }),
9688
9688
 
9689
- /***/ 8039:
9689
+ /***/ 822:
9690
9690
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
9691
9691
 
9692
+ var _extends = __webpack_require__(7154);
9693
+
9692
9694
  var _slicedToArray = __webpack_require__(3038);
9693
9695
 
9694
9696
  var _classCallCheck = __webpack_require__(4575);
@@ -9711,7 +9713,7 @@ var React = __webpack_require__(4466);
9711
9713
 
9712
9714
  var PropTypes = __webpack_require__(5697);
9713
9715
 
9714
- var MATCH_SCRIPT_TAGS = /<script\b[^>]*>([\s\S]*?)<\/script>\n?/gim;
9716
+ var MATCH_SCRIPT_TAGS = /<script\b[^>]*>([\s\S]*?)<\/script *>\n?/gim;
9715
9717
 
9716
9718
  var extractScripts = function extractScripts() {
9717
9719
  var html = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
@@ -9762,6 +9764,16 @@ var HTMLBlock = /*#__PURE__*/function (_React$Component) {
9762
9764
  }, {
9763
9765
  key: "render",
9764
9766
  value: function render() {
9767
+ var _this$props = this.props,
9768
+ html = _this$props.html,
9769
+ safeMode = _this$props.safeMode;
9770
+
9771
+ if (safeMode) {
9772
+ return /*#__PURE__*/React.createElement("pre", {
9773
+ className: "html-unsafe"
9774
+ }, /*#__PURE__*/React.createElement("code", null, html));
9775
+ }
9776
+
9765
9777
  return /*#__PURE__*/React.createElement("div", {
9766
9778
  className: "rdmd-html",
9767
9779
  dangerouslySetInnerHTML: {
@@ -9775,17 +9787,30 @@ var HTMLBlock = /*#__PURE__*/function (_React$Component) {
9775
9787
  }(React.Component);
9776
9788
 
9777
9789
  HTMLBlock.defaultProps = {
9778
- runScripts: false
9790
+ runScripts: false,
9791
+ safeMode: false
9779
9792
  };
9780
9793
  HTMLBlock.propTypes = {
9781
9794
  html: PropTypes.string,
9782
- runScripts: PropTypes.any
9795
+ runScripts: PropTypes.any,
9796
+ safeMode: PropTypes.bool
9797
+ };
9798
+
9799
+ var CreateHtmlBlock = function CreateHtmlBlock(_ref) {
9800
+ var safeMode = _ref.safeMode;
9801
+ return (// eslint-disable-next-line react/display-name
9802
+ function (props) {
9803
+ return /*#__PURE__*/React.createElement(HTMLBlock, _extends({}, props, {
9804
+ safeMode: safeMode
9805
+ }));
9806
+ }
9807
+ );
9783
9808
  };
9784
9809
 
9785
- module.exports = function (sanitize) {
9810
+ module.exports = function (sanitize, opts) {
9786
9811
  sanitize.tagNames.push('html-block');
9787
9812
  sanitize.attributes['html-block'] = ['html', 'runScripts'];
9788
- return HTMLBlock;
9813
+ return CreateHtmlBlock(opts);
9789
9814
  };
9790
9815
 
9791
9816
  /***/ }),
@@ -10155,38 +10180,38 @@ module.exports = TableOfContents;
10155
10180
  "use strict";
10156
10181
  __webpack_require__.r(__webpack_exports__);
10157
10182
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
10158
- /* harmony export */ "Anchor": () => (/* reexport default from dynamic */ _Anchor__WEBPACK_IMPORTED_MODULE_3___default.a),
10159
- /* harmony export */ "Callout": () => (/* reexport default from dynamic */ _Callout__WEBPACK_IMPORTED_MODULE_5___default.a),
10160
- /* harmony export */ "Code": () => (/* reexport default from dynamic */ _Code__WEBPACK_IMPORTED_MODULE_1___default.a),
10161
- /* harmony export */ "CodeTabs": () => (/* reexport default from dynamic */ _CodeTabs__WEBPACK_IMPORTED_MODULE_6___default.a),
10162
- /* harmony export */ "Embed": () => (/* reexport default from dynamic */ _Embed__WEBPACK_IMPORTED_MODULE_8___default.a),
10163
- /* harmony export */ "GlossaryItem": () => (/* reexport default from dynamic */ _GlossaryItem__WEBPACK_IMPORTED_MODULE_0___default.a),
10164
- /* harmony export */ "HTMLBlock": () => (/* reexport default from dynamic */ _HTMLBlock__WEBPACK_IMPORTED_MODULE_9___default.a),
10165
- /* harmony export */ "Heading": () => (/* reexport default from dynamic */ _Heading__WEBPACK_IMPORTED_MODULE_4___default.a),
10166
- /* harmony export */ "Image": () => (/* reexport default from dynamic */ _Image__WEBPACK_IMPORTED_MODULE_7___default.a),
10167
- /* harmony export */ "Table": () => (/* reexport default from dynamic */ _Table__WEBPACK_IMPORTED_MODULE_2___default.a),
10183
+ /* harmony export */ "Anchor": () => (/* reexport default from dynamic */ _Anchor__WEBPACK_IMPORTED_MODULE_0___default.a),
10184
+ /* harmony export */ "Callout": () => (/* reexport default from dynamic */ _Callout__WEBPACK_IMPORTED_MODULE_1___default.a),
10185
+ /* harmony export */ "Code": () => (/* reexport default from dynamic */ _Code__WEBPACK_IMPORTED_MODULE_2___default.a),
10186
+ /* harmony export */ "CodeTabs": () => (/* reexport default from dynamic */ _CodeTabs__WEBPACK_IMPORTED_MODULE_3___default.a),
10187
+ /* harmony export */ "Embed": () => (/* reexport default from dynamic */ _Embed__WEBPACK_IMPORTED_MODULE_4___default.a),
10188
+ /* harmony export */ "GlossaryItem": () => (/* reexport default from dynamic */ _GlossaryItem__WEBPACK_IMPORTED_MODULE_5___default.a),
10189
+ /* harmony export */ "HTMLBlock": () => (/* reexport default from dynamic */ _HTMLBlock__WEBPACK_IMPORTED_MODULE_6___default.a),
10190
+ /* harmony export */ "Heading": () => (/* reexport default from dynamic */ _Heading__WEBPACK_IMPORTED_MODULE_7___default.a),
10191
+ /* harmony export */ "Image": () => (/* reexport default from dynamic */ _Image__WEBPACK_IMPORTED_MODULE_8___default.a),
10192
+ /* harmony export */ "Table": () => (/* reexport default from dynamic */ _Table__WEBPACK_IMPORTED_MODULE_9___default.a),
10168
10193
  /* harmony export */ "TableOfContents": () => (/* reexport default from dynamic */ _TableOfContents__WEBPACK_IMPORTED_MODULE_10___default.a)
10169
10194
  /* harmony export */ });
10170
- /* harmony import */ var _GlossaryItem__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6566);
10171
- /* harmony import */ var _GlossaryItem__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_GlossaryItem__WEBPACK_IMPORTED_MODULE_0__);
10172
- /* harmony import */ var _Code__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8297);
10173
- /* harmony import */ var _Code__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_Code__WEBPACK_IMPORTED_MODULE_1__);
10174
- /* harmony import */ var _Table__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(484);
10175
- /* harmony import */ var _Table__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_Table__WEBPACK_IMPORTED_MODULE_2__);
10176
- /* harmony import */ var _Anchor__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(8447);
10177
- /* harmony import */ var _Anchor__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_Anchor__WEBPACK_IMPORTED_MODULE_3__);
10178
- /* harmony import */ var _Heading__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(1984);
10179
- /* harmony import */ var _Heading__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_Heading__WEBPACK_IMPORTED_MODULE_4__);
10180
- /* harmony import */ var _Callout__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(2015);
10181
- /* harmony import */ var _Callout__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_Callout__WEBPACK_IMPORTED_MODULE_5__);
10182
- /* harmony import */ var _CodeTabs__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(6553);
10183
- /* harmony import */ var _CodeTabs__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_CodeTabs__WEBPACK_IMPORTED_MODULE_6__);
10184
- /* harmony import */ var _Image__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(9167);
10185
- /* harmony import */ var _Image__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_Image__WEBPACK_IMPORTED_MODULE_7__);
10186
- /* harmony import */ var _Embed__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(1053);
10187
- /* harmony import */ var _Embed__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_Embed__WEBPACK_IMPORTED_MODULE_8__);
10188
- /* harmony import */ var _HTMLBlock__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(8039);
10189
- /* harmony import */ var _HTMLBlock__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_HTMLBlock__WEBPACK_IMPORTED_MODULE_9__);
10195
+ /* harmony import */ var _Anchor__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8447);
10196
+ /* harmony import */ var _Anchor__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_Anchor__WEBPACK_IMPORTED_MODULE_0__);
10197
+ /* harmony import */ var _Callout__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2015);
10198
+ /* harmony import */ var _Callout__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_Callout__WEBPACK_IMPORTED_MODULE_1__);
10199
+ /* harmony import */ var _Code__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8297);
10200
+ /* harmony import */ var _Code__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_Code__WEBPACK_IMPORTED_MODULE_2__);
10201
+ /* harmony import */ var _CodeTabs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(6553);
10202
+ /* harmony import */ var _CodeTabs__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_CodeTabs__WEBPACK_IMPORTED_MODULE_3__);
10203
+ /* harmony import */ var _Embed__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(1053);
10204
+ /* harmony import */ var _Embed__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_Embed__WEBPACK_IMPORTED_MODULE_4__);
10205
+ /* harmony import */ var _GlossaryItem__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(6566);
10206
+ /* harmony import */ var _GlossaryItem__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_GlossaryItem__WEBPACK_IMPORTED_MODULE_5__);
10207
+ /* harmony import */ var _HTMLBlock__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(822);
10208
+ /* harmony import */ var _HTMLBlock__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_HTMLBlock__WEBPACK_IMPORTED_MODULE_6__);
10209
+ /* harmony import */ var _Heading__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(1984);
10210
+ /* harmony import */ var _Heading__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_Heading__WEBPACK_IMPORTED_MODULE_7__);
10211
+ /* harmony import */ var _Image__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(9167);
10212
+ /* harmony import */ var _Image__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_Image__WEBPACK_IMPORTED_MODULE_8__);
10213
+ /* harmony import */ var _Table__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(484);
10214
+ /* harmony import */ var _Table__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_Table__WEBPACK_IMPORTED_MODULE_9__);
10190
10215
  /* harmony import */ var _TableOfContents__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(4479);
10191
10216
  /* harmony import */ var _TableOfContents__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(_TableOfContents__WEBPACK_IMPORTED_MODULE_10__);
10192
10217
 
@@ -27879,6 +27904,7 @@ var options = {
27879
27904
  setext: true
27880
27905
  },
27881
27906
  normalize: true,
27907
+ safeMode: false,
27882
27908
  settings: {
27883
27909
  position: false
27884
27910
  },
@@ -28827,18 +28853,9 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
28827
28853
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
28828
28854
 
28829
28855
  /* eslint-disable consistent-return */
28830
- var unified = __webpack_require__(8835);
28831
-
28832
- var rehypeParse = __webpack_require__(3322);
28833
-
28834
- var rehypeSanitize = __webpack_require__(1667);
28835
-
28836
- var rehypeStringify = __webpack_require__(7532);
28837
-
28838
- var globalSanitizeSchema = __webpack_require__(8229);
28839
-
28840
28856
  var RGXP = /^\[block:(.*)\]([^]+?)\[\/block\]/;
28841
28857
  var compatibilityMode;
28858
+ var safeMode;
28842
28859
 
28843
28860
  var WrapPinnedBlocks = function WrapPinnedBlocks(node, json) {
28844
28861
  if (!json.sidebar) return node;
@@ -28867,13 +28884,6 @@ var imgSizeByWidth = new Proxy(new Map(Array.from(imgSizeValues).reverse()), {
28867
28884
  return match ? match[1] : width in sizes ? sizes[width] : width;
28868
28885
  }
28869
28886
  });
28870
- var processor = unified().use(rehypeParse, {
28871
- fragment: true
28872
- }).use(rehypeSanitize, globalSanitizeSchema).use(rehypeStringify);
28873
-
28874
- var sanitize = function sanitize(html) {
28875
- return processor.processSync(html).toString();
28876
- };
28877
28887
 
28878
28888
  function tokenize(eat, value) {
28879
28889
  var _this = this;
@@ -29121,8 +29131,9 @@ function tokenize(eat, value) {
29121
29131
  data: {
29122
29132
  hName: 'html-block',
29123
29133
  hProperties: {
29124
- html: sanitize(json.html),
29125
- runScripts: compatibilityMode
29134
+ html: json.html,
29135
+ runScripts: compatibilityMode,
29136
+ safeMode: safeMode
29126
29137
  }
29127
29138
  }
29128
29139
  }, json));
@@ -29147,6 +29158,7 @@ function parser() {
29147
29158
  var tokenizers = Parser.prototype.blockTokenizers;
29148
29159
  var methods = Parser.prototype.blockMethods;
29149
29160
  if (this.data('compatibilityMode')) compatibilityMode = true;
29161
+ if (this.data('safeMode')) safeMode = true;
29150
29162
  tokenizers.magicBlocks = tokenize;
29151
29163
  methods.splice(methods.indexOf('newline'), 0, 'magicBlocks');
29152
29164
  }
@@ -31334,136 +31346,56 @@ function ok() {
31334
31346
  }
31335
31347
 
31336
31348
 
31337
- /***/ }),
31338
-
31339
- /***/ 3216:
31340
- /***/ ((module) => {
31341
-
31342
- "use strict";
31343
-
31344
-
31345
- module.exports = convert
31346
-
31347
- function convert(test) {
31348
- if (typeof test === 'string') {
31349
- return tagNameFactory(test)
31350
- }
31351
-
31352
- if (test === null || test === undefined) {
31353
- return element
31354
- }
31355
-
31356
- if (typeof test === 'object') {
31357
- return any(test)
31358
- }
31359
-
31360
- if (typeof test === 'function') {
31361
- return callFactory(test)
31362
- }
31363
-
31364
- throw new Error('Expected function, string, or array as test')
31365
- }
31366
-
31367
- function convertAll(tests) {
31368
- var length = tests.length
31369
- var index = -1
31370
- var results = []
31371
-
31372
- while (++index < length) {
31373
- results[index] = convert(tests[index])
31374
- }
31375
-
31376
- return results
31377
- }
31378
-
31379
- function any(tests) {
31380
- var checks = convertAll(tests)
31381
- var length = checks.length
31382
-
31383
- return matches
31384
-
31385
- function matches() {
31386
- var index = -1
31387
-
31388
- while (++index < length) {
31389
- if (checks[index].apply(this, arguments)) {
31390
- return true
31391
- }
31392
- }
31393
-
31394
- return false
31395
- }
31396
- }
31397
-
31398
- // Utility to convert a string a tag name check.
31399
- function tagNameFactory(test) {
31400
- return tagName
31401
-
31402
- function tagName(node) {
31403
- return element(node) && node.tagName === test
31404
- }
31405
- }
31406
-
31407
- // Utility to convert a function check.
31408
- function callFactory(test) {
31409
- return call
31410
-
31411
- function call(node) {
31412
- return element(node) && Boolean(test.apply(this, arguments))
31413
- }
31414
- }
31415
-
31416
- // Utility to return true if this is an element.
31417
- function element(node) {
31418
- return (
31419
- node &&
31420
- typeof node === 'object' &&
31421
- node.type === 'element' &&
31422
- typeof node.tagName === 'string'
31423
- )
31424
- }
31425
-
31426
-
31427
31349
  /***/ }),
31428
31350
 
31429
31351
  /***/ 8909:
31430
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
31352
+ /***/ ((module) => {
31431
31353
 
31432
31354
  "use strict";
31433
31355
 
31434
31356
 
31435
- var convert = __webpack_require__(3216)
31436
-
31437
31357
  module.exports = isElement
31438
31358
 
31439
- isElement.convert = convert
31440
-
31441
- // Check if if `node` is an `element` and whether it passes the given test.
31442
- function isElement(node, test, index, parent, context) {
31443
- var hasParent = parent !== null && parent !== undefined
31444
- var hasIndex = index !== null && index !== undefined
31445
- var check = convert(test)
31359
+ // Check if if `node` is an `element` and, if `tagNames` is given, `node`
31360
+ // matches them `tagNames`.
31361
+ function isElement(node, tagNames) {
31362
+ var name
31446
31363
 
31447
31364
  if (
31448
- hasIndex &&
31449
- (typeof index !== 'number' || index < 0 || index === Infinity)
31365
+ !(
31366
+ tagNames === null ||
31367
+ tagNames === undefined ||
31368
+ typeof tagNames === 'string' ||
31369
+ (typeof tagNames === 'object' && tagNames.length !== 0)
31370
+ )
31450
31371
  ) {
31451
- throw new Error('Expected positive finite index for child node')
31372
+ throw new Error(
31373
+ 'Expected `string` or `Array.<string>` for `tagNames`, not `' +
31374
+ tagNames +
31375
+ '`'
31376
+ )
31452
31377
  }
31453
31378
 
31454
- if (hasParent && (!parent.type || !parent.children)) {
31455
- throw new Error('Expected parent node')
31379
+ if (
31380
+ !node ||
31381
+ typeof node !== 'object' ||
31382
+ node.type !== 'element' ||
31383
+ typeof node.tagName !== 'string'
31384
+ ) {
31385
+ return false
31456
31386
  }
31457
31387
 
31458
- if (!node || !node.type || typeof node.type !== 'string') {
31459
- return false
31388
+ if (tagNames === null || tagNames === undefined) {
31389
+ return true
31460
31390
  }
31461
31391
 
31462
- if (hasParent !== hasIndex) {
31463
- throw new Error('Expected both parent and index')
31392
+ name = node.tagName
31393
+
31394
+ if (typeof tagNames === 'string') {
31395
+ return name === tagNames
31464
31396
  }
31465
31397
 
31466
- return check.call(context, node, index, parent)
31398
+ return tagNames.indexOf(name) !== -1
31467
31399
  }
31468
31400
 
31469
31401
 
@@ -38364,104 +38296,6 @@ var svg = __webpack_require__(5789)
38364
38296
  module.exports = merge([xml, xlink, xmlns, aria, svg])
38365
38297
 
38366
38298
 
38367
- /***/ }),
38368
-
38369
- /***/ 3322:
38370
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
38371
-
38372
- "use strict";
38373
-
38374
-
38375
- var fromParse5 = __webpack_require__(7721)
38376
- var Parser5 = __webpack_require__(6425)
38377
- var errors = __webpack_require__(2471)
38378
-
38379
- var base = 'https://html.spec.whatwg.org/multipage/parsing.html#parse-error-'
38380
-
38381
- var fatalities = {2: true, 1: false, 0: null}
38382
-
38383
- module.exports = parse
38384
-
38385
- function parse(options) {
38386
- var settings = Object.assign({}, options, this.data('settings'))
38387
- var position = settings.position
38388
-
38389
- position = typeof position === 'boolean' ? position : true
38390
-
38391
- this.Parser = parser
38392
-
38393
- function parser(doc, file) {
38394
- var fn = settings.fragment ? 'parseFragment' : 'parse'
38395
- var onParseError = settings.emitParseErrors ? onerror : null
38396
- var parse5 = new Parser5({
38397
- sourceCodeLocationInfo: position,
38398
- onParseError: onParseError,
38399
- scriptingEnabled: false
38400
- })
38401
-
38402
- return fromParse5(parse5[fn](doc), {
38403
- space: settings.space,
38404
- file: file,
38405
- verbose: settings.verbose
38406
- })
38407
-
38408
- function onerror(err) {
38409
- var code = err.code
38410
- var name = camelcase(code)
38411
- var setting = settings[name]
38412
- var config = setting === undefined || setting === null ? true : setting
38413
- var level = typeof config === 'number' ? config : config ? 1 : 0
38414
- var start = {
38415
- line: err.startLine,
38416
- column: err.startCol,
38417
- offset: err.startOffset
38418
- }
38419
- var end = {line: err.endLine, column: err.endCol, offset: err.endOffset}
38420
- var info
38421
- var message
38422
-
38423
- if (level) {
38424
- info = errors[name] || /* istanbul ignore next */ {
38425
- reason: '',
38426
- description: ''
38427
- }
38428
-
38429
- message = file.message(format(info.reason), {start: start, end: end})
38430
- message.source = 'parse-error'
38431
- message.ruleId = code
38432
- message.fatal = fatalities[level]
38433
- message.note = format(info.description)
38434
- message.url = info.url === false ? null : base + code
38435
- }
38436
-
38437
- function format(value) {
38438
- return value.replace(/%c(?:-(\d+))?/g, char).replace(/%x/g, encodedChar)
38439
- }
38440
-
38441
- function char($0, $1) {
38442
- var offset = $1 ? -parseInt($1, 10) : 0
38443
- var char = doc.charAt(err.startOffset + offset)
38444
- return char === '`' ? '` ` `' : char
38445
- }
38446
-
38447
- function encodedChar() {
38448
- var char = doc.charCodeAt(err.startOffset).toString(16).toUpperCase()
38449
-
38450
- return '0x' + char
38451
- }
38452
- }
38453
- }
38454
- }
38455
-
38456
- function camelcase(value) {
38457
- return value.replace(/-[a-z]/g, replacer)
38458
- }
38459
-
38460
- function replacer($0) {
38461
- return $0.charAt(1).toUpperCase()
38462
- }
38463
-
38464
-
38465
38299
  /***/ }),
38466
38300
 
38467
38301
  /***/ 6388:
@@ -51797,14 +51631,6 @@ module.exports = JSON.parse('{"classId":"classID","dataType":"datatype","itemId"
51797
51631
 
51798
51632
  /***/ }),
51799
51633
 
51800
- /***/ 2471:
51801
- /***/ ((module) => {
51802
-
51803
- "use strict";
51804
- module.exports = JSON.parse('{"abandonedHeadElementChild":{"reason":"Unexpected metadata element after head","description":"Unexpected element after head. Expected the element before `</head>`","url":false},"abruptClosingOfEmptyComment":{"reason":"Unexpected abruptly closed empty comment","description":"Unexpected `>` or `->`. Expected `-->` to close comments"},"abruptDoctypePublicIdentifier":{"reason":"Unexpected abruptly closed public identifier","description":"Unexpected `>`. Expected a closing `\\"` or `\'` after the public identifier"},"abruptDoctypeSystemIdentifier":{"reason":"Unexpected abruptly closed system identifier","description":"Unexpected `>`. Expected a closing `\\"` or `\'` after the identifier identifier"},"absenceOfDigitsInNumericCharacterReference":{"reason":"Unexpected non-digit at start of numeric character reference","description":"Unexpected `%c`. Expected `[0-9]` for decimal references or `[0-9a-fA-F]` for hexadecimal references"},"cdataInHtmlContent":{"reason":"Unexpected CDATA section in HTML","description":"Unexpected `<![CDATA[` in HTML. Remove it, use a comment, or encode special characters instead"},"characterReferenceOutsideUnicodeRange":{"reason":"Unexpected too big numeric character reference","description":"Unexpectedly high character reference. Expected character references to be at most hexadecimal 10ffff (or decimal 1114111)"},"closingOfElementWithOpenChildElements":{"reason":"Unexpected closing tag with open child elements","description":"Unexpectedly closing tag. Expected other tags to be closed first","url":false},"controlCharacterInInputStream":{"reason":"Unexpected control character","description":"Unexpected control character `%x`. Expected a non-control code point, 0x00, or ASCII whitespace"},"controlCharacterReference":{"reason":"Unexpected control character reference","description":"Unexpectedly control character in reference. Expected a non-control code point, 0x00, or ASCII whitespace"},"disallowedContentInNoscriptInHead":{"reason":"Disallowed content inside `<noscript>` in `<head>`","description":"Unexpected text character `%c`. Only use text in `<noscript>`s in `<body>`","url":false},"duplicateAttribute":{"reason":"Unexpected duplicate attribute","description":"Unexpectedly double attribute. Expected attributes to occur only once"},"endTagWithAttributes":{"reason":"Unexpected attribute on closing tag","description":"Unexpected attribute. Expected `>` instead"},"endTagWithTrailingSolidus":{"reason":"Unexpected slash at end of closing tag","description":"Unexpected `%c-1`. Expected `>` instead"},"endTagWithoutMatchingOpenElement":{"reason":"Unexpected unopened end tag","description":"Unexpected end tag. Expected no end tag or another end tag","url":false},"eofBeforeTagName":{"reason":"Unexpected end of file","description":"Unexpected end of file. Expected tag name instead"},"eofInCdata":{"reason":"Unexpected end of file in CDATA","description":"Unexpected end of file. Expected `]]>` to close the CDATA"},"eofInComment":{"reason":"Unexpected end of file in comment","description":"Unexpected end of file. Expected `-->` to close the comment"},"eofInDoctype":{"reason":"Unexpected end of file in doctype","description":"Unexpected end of file. Expected a valid doctype (such as `<!doctype html>`)"},"eofInElementThatCanContainOnlyText":{"reason":"Unexpected end of file in element that can only contain text","description":"Unexpected end of file. Expected text or a closing tag","url":false},"eofInScriptHtmlCommentLikeText":{"reason":"Unexpected end of file in comment inside script","description":"Unexpected end of file. Expected `-->` to close the comment"},"eofInTag":{"reason":"Unexpected end of file in tag","description":"Unexpected end of file. Expected `>` to close the tag"},"incorrectlyClosedComment":{"reason":"Incorrectly closed comment","description":"Unexpected `%c-1`. Expected `-->` to close the comment"},"incorrectlyOpenedComment":{"reason":"Incorrectly opened comment","description":"Unexpected `%c`. Expected `<!--` to open the comment"},"invalidCharacterSequenceAfterDoctypeName":{"reason":"Invalid sequence after doctype name","description":"Unexpected sequence at `%c`. Expected `public` or `system`"},"invalidFirstCharacterOfTagName":{"reason":"Invalid first character in tag name","description":"Unexpected `%c`. Expected an ASCII letter instead"},"misplacedDoctype":{"reason":"Misplaced doctype","description":"Unexpected doctype. Expected doctype before head","url":false},"misplacedStartTagForHeadElement":{"reason":"Misplaced `<head>` start tag","description":"Unexpected start tag `<head>`. Expected `<head>` directly after doctype","url":false},"missingAttributeValue":{"reason":"Missing attribute value","description":"Unexpected `%c-1`. Expected an attribute value or no `%c-1` instead"},"missingDoctype":{"reason":"Missing doctype before other content","description":"Expected a `<!doctype html>` before anything else","url":false},"missingDoctypeName":{"reason":"Missing doctype name","description":"Unexpected doctype end at `%c`. Expected `html` instead"},"missingDoctypePublicIdentifier":{"reason":"Missing public identifier in doctype","description":"Unexpected `%c`. Expected identifier for `public` instead"},"missingDoctypeSystemIdentifier":{"reason":"Missing system identifier in doctype","description":"Unexpected `%c`. Expected identifier for `system` instead (suggested: `\\"about:legacy-compat\\"`)"},"missingEndTagName":{"reason":"Missing name in end tag","description":"Unexpected `%c`. Expected an ASCII letter instead"},"missingQuoteBeforeDoctypePublicIdentifier":{"reason":"Missing quote before public identifier in doctype","description":"Unexpected `%c`. Expected `\\"` or `\'` instead"},"missingQuoteBeforeDoctypeSystemIdentifier":{"reason":"Missing quote before system identifier in doctype","description":"Unexpected `%c`. Expected `\\"` or `\'` instead"},"missingSemicolonAfterCharacterReference":{"reason":"Missing semicolon after character reference","description":"Unexpected `%c`. Expected `;` instead"},"missingWhitespaceAfterDoctypePublicKeyword":{"reason":"Missing whitespace after public identifier in doctype","description":"Unexpected `%c`. Expected ASCII whitespace instead"},"missingWhitespaceAfterDoctypeSystemKeyword":{"reason":"Missing whitespace after system identifier in doctype","description":"Unexpected `%c`. Expected ASCII whitespace instead"},"missingWhitespaceBeforeDoctypeName":{"reason":"Missing whitespace before doctype name","description":"Unexpected `%c`. Expected ASCII whitespace instead"},"missingWhitespaceBetweenAttributes":{"reason":"Missing whitespace between attributes","description":"Unexpected `%c`. Expected ASCII whitespace instead"},"missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers":{"reason":"Missing whitespace between public and system identifiers in doctype","description":"Unexpected `%c`. Expected ASCII whitespace instead"},"nestedComment":{"reason":"Unexpected nested comment","description":"Unexpected `<!--`. Expected `-->`"},"nestedNoscriptInHead":{"reason":"Unexpected nested `<noscript>` in `<head>`","description":"Unexpected `<noscript>`. Expected a closing tag or a meta element","url":false},"nonConformingDoctype":{"reason":"Unexpected non-conforming doctype declaration","description":"Expected `<!doctype html>` or `<!doctype html system \\"about:legacy-compat\\">`","url":false},"nonVoidHtmlElementStartTagWithTrailingSolidus":{"reason":"Unexpected trailing slash on start tag of non-void element","description":"Unexpected `/`. Expected `>` instead"},"noncharacterCharacterReference":{"reason":"Unexpected noncharacter code point referenced by character reference","description":"Unexpected code point. Do not use noncharacters in HTML"},"noncharacterInInputStream":{"reason":"Unexpected noncharacter character","description":"Unexpected code point `%x`. Do not use noncharacters in HTML"},"nullCharacterReference":{"reason":"Unexpected NULL character referenced by character reference","description":"Unexpected code point. Do not use NULL characters in HTML"},"openElementsLeftAfterEof":{"reason":"Unexpected end of file","description":"Unexpected end of file. Expected closing tag instead","url":false},"surrogateCharacterReference":{"reason":"Unexpected surrogate character referenced by character reference","description":"Unexpected code point. Do not use lone surrogate characters in HTML"},"surrogateInInputStream":{"reason":"Unexpected surrogate character","description":"Unexpected code point `%x`. Do not use lone surrogate characters in HTML"},"unexpectedCharacterAfterDoctypeSystemIdentifier":{"reason":"Invalid character after system identifier in doctype","description":"Unexpected character at `%c`. Expected `>`"},"unexpectedCharacterInAttributeName":{"reason":"Unexpected character in attribute name","description":"Unexpected `%c`. Expected whitespace, `/`, `>`, `=`, or probably an ASCII letter"},"unexpectedCharacterInUnquotedAttributeValue":{"reason":"Unexpected character in unquoted attribute value","description":"Unexpected `%c`. Quote the attribute value to include it"},"unexpectedEqualsSignBeforeAttributeName":{"reason":"Unexpected equals sign before attribute name ","description":"Unexpected `%c`. Add an attribute name before it"},"unexpectedNullCharacter":{"reason":"Unexpected NULL character","description":"Unexpected code point `%x`. Do not use NULL characters in HTML"},"unexpectedQuestionMarkInsteadOfTagName":{"reason":"Unexpected question mark instead of tag name","description":"Unexpected `%c`. Expected an ASCII letter instead"},"unexpectedSolidusInTag":{"reason":"Unexpected slash in tag","description":"Unexpected `%c-1`. Expected it followed by `>` or in a quoted attribute value"},"unknownNamedCharacterReference":{"reason":"Unexpected unknown named character reference","description":"Unexpected character reference. Expected known named character references"}}');
51805
-
51806
- /***/ }),
51807
-
51808
51634
  /***/ 9052:
51809
51635
  /***/ ((module) => {
51810
51636
 
@@ -52205,7 +52031,7 @@ function reactProcessor() {
52205
52031
  Fragment: React.Fragment,
52206
52032
  components: _objectSpread({
52207
52033
  'code-tabs': CodeTabs(sanitize, opts),
52208
- 'html-block': HTMLBlock(sanitize),
52034
+ 'html-block': HTMLBlock(sanitize, opts),
52209
52035
  'rdme-callout': Callout(sanitize),
52210
52036
  'readme-variable': Variable,
52211
52037
  'readme-glossary-item': GlossaryItem,
package/dist/main.node.js CHANGED
@@ -9686,9 +9686,11 @@ module.exports.GlossaryContext = GlossaryContext;
9686
9686
 
9687
9687
  /***/ }),
9688
9688
 
9689
- /***/ 8039:
9689
+ /***/ 822:
9690
9690
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
9691
9691
 
9692
+ var _extends = __webpack_require__(7154);
9693
+
9692
9694
  var _slicedToArray = __webpack_require__(3038);
9693
9695
 
9694
9696
  var _classCallCheck = __webpack_require__(4575);
@@ -9711,7 +9713,7 @@ var React = __webpack_require__(4466);
9711
9713
 
9712
9714
  var PropTypes = __webpack_require__(5697);
9713
9715
 
9714
- var MATCH_SCRIPT_TAGS = /<script\b[^>]*>([\s\S]*?)<\/script>\n?/gim;
9716
+ var MATCH_SCRIPT_TAGS = /<script\b[^>]*>([\s\S]*?)<\/script *>\n?/gim;
9715
9717
 
9716
9718
  var extractScripts = function extractScripts() {
9717
9719
  var html = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
@@ -9762,6 +9764,16 @@ var HTMLBlock = /*#__PURE__*/function (_React$Component) {
9762
9764
  }, {
9763
9765
  key: "render",
9764
9766
  value: function render() {
9767
+ var _this$props = this.props,
9768
+ html = _this$props.html,
9769
+ safeMode = _this$props.safeMode;
9770
+
9771
+ if (safeMode) {
9772
+ return /*#__PURE__*/React.createElement("pre", {
9773
+ className: "html-unsafe"
9774
+ }, /*#__PURE__*/React.createElement("code", null, html));
9775
+ }
9776
+
9765
9777
  return /*#__PURE__*/React.createElement("div", {
9766
9778
  className: "rdmd-html",
9767
9779
  dangerouslySetInnerHTML: {
@@ -9775,17 +9787,30 @@ var HTMLBlock = /*#__PURE__*/function (_React$Component) {
9775
9787
  }(React.Component);
9776
9788
 
9777
9789
  HTMLBlock.defaultProps = {
9778
- runScripts: false
9790
+ runScripts: false,
9791
+ safeMode: false
9779
9792
  };
9780
9793
  HTMLBlock.propTypes = {
9781
9794
  html: PropTypes.string,
9782
- runScripts: PropTypes.any
9795
+ runScripts: PropTypes.any,
9796
+ safeMode: PropTypes.bool
9783
9797
  };
9784
9798
 
9785
- module.exports = function (sanitize) {
9799
+ var CreateHtmlBlock = function CreateHtmlBlock(_ref) {
9800
+ var safeMode = _ref.safeMode;
9801
+ return (// eslint-disable-next-line react/display-name
9802
+ function (props) {
9803
+ return /*#__PURE__*/React.createElement(HTMLBlock, _extends({}, props, {
9804
+ safeMode: safeMode
9805
+ }));
9806
+ }
9807
+ );
9808
+ };
9809
+
9810
+ module.exports = function (sanitize, opts) {
9786
9811
  sanitize.tagNames.push('html-block');
9787
9812
  sanitize.attributes['html-block'] = ['html', 'runScripts'];
9788
- return HTMLBlock;
9813
+ return CreateHtmlBlock(opts);
9789
9814
  };
9790
9815
 
9791
9816
  /***/ }),
@@ -10155,38 +10180,38 @@ module.exports = TableOfContents;
10155
10180
  "use strict";
10156
10181
  __webpack_require__.r(__webpack_exports__);
10157
10182
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
10158
- /* harmony export */ "Anchor": () => (/* reexport default from dynamic */ _Anchor__WEBPACK_IMPORTED_MODULE_3___default.a),
10159
- /* harmony export */ "Callout": () => (/* reexport default from dynamic */ _Callout__WEBPACK_IMPORTED_MODULE_5___default.a),
10160
- /* harmony export */ "Code": () => (/* reexport default from dynamic */ _Code__WEBPACK_IMPORTED_MODULE_1___default.a),
10161
- /* harmony export */ "CodeTabs": () => (/* reexport default from dynamic */ _CodeTabs__WEBPACK_IMPORTED_MODULE_6___default.a),
10162
- /* harmony export */ "Embed": () => (/* reexport default from dynamic */ _Embed__WEBPACK_IMPORTED_MODULE_8___default.a),
10163
- /* harmony export */ "GlossaryItem": () => (/* reexport default from dynamic */ _GlossaryItem__WEBPACK_IMPORTED_MODULE_0___default.a),
10164
- /* harmony export */ "HTMLBlock": () => (/* reexport default from dynamic */ _HTMLBlock__WEBPACK_IMPORTED_MODULE_9___default.a),
10165
- /* harmony export */ "Heading": () => (/* reexport default from dynamic */ _Heading__WEBPACK_IMPORTED_MODULE_4___default.a),
10166
- /* harmony export */ "Image": () => (/* reexport default from dynamic */ _Image__WEBPACK_IMPORTED_MODULE_7___default.a),
10167
- /* harmony export */ "Table": () => (/* reexport default from dynamic */ _Table__WEBPACK_IMPORTED_MODULE_2___default.a),
10183
+ /* harmony export */ "Anchor": () => (/* reexport default from dynamic */ _Anchor__WEBPACK_IMPORTED_MODULE_0___default.a),
10184
+ /* harmony export */ "Callout": () => (/* reexport default from dynamic */ _Callout__WEBPACK_IMPORTED_MODULE_1___default.a),
10185
+ /* harmony export */ "Code": () => (/* reexport default from dynamic */ _Code__WEBPACK_IMPORTED_MODULE_2___default.a),
10186
+ /* harmony export */ "CodeTabs": () => (/* reexport default from dynamic */ _CodeTabs__WEBPACK_IMPORTED_MODULE_3___default.a),
10187
+ /* harmony export */ "Embed": () => (/* reexport default from dynamic */ _Embed__WEBPACK_IMPORTED_MODULE_4___default.a),
10188
+ /* harmony export */ "GlossaryItem": () => (/* reexport default from dynamic */ _GlossaryItem__WEBPACK_IMPORTED_MODULE_5___default.a),
10189
+ /* harmony export */ "HTMLBlock": () => (/* reexport default from dynamic */ _HTMLBlock__WEBPACK_IMPORTED_MODULE_6___default.a),
10190
+ /* harmony export */ "Heading": () => (/* reexport default from dynamic */ _Heading__WEBPACK_IMPORTED_MODULE_7___default.a),
10191
+ /* harmony export */ "Image": () => (/* reexport default from dynamic */ _Image__WEBPACK_IMPORTED_MODULE_8___default.a),
10192
+ /* harmony export */ "Table": () => (/* reexport default from dynamic */ _Table__WEBPACK_IMPORTED_MODULE_9___default.a),
10168
10193
  /* harmony export */ "TableOfContents": () => (/* reexport default from dynamic */ _TableOfContents__WEBPACK_IMPORTED_MODULE_10___default.a)
10169
10194
  /* harmony export */ });
10170
- /* harmony import */ var _GlossaryItem__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6566);
10171
- /* harmony import */ var _GlossaryItem__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_GlossaryItem__WEBPACK_IMPORTED_MODULE_0__);
10172
- /* harmony import */ var _Code__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8297);
10173
- /* harmony import */ var _Code__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_Code__WEBPACK_IMPORTED_MODULE_1__);
10174
- /* harmony import */ var _Table__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(484);
10175
- /* harmony import */ var _Table__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_Table__WEBPACK_IMPORTED_MODULE_2__);
10176
- /* harmony import */ var _Anchor__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(8447);
10177
- /* harmony import */ var _Anchor__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_Anchor__WEBPACK_IMPORTED_MODULE_3__);
10178
- /* harmony import */ var _Heading__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(1984);
10179
- /* harmony import */ var _Heading__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_Heading__WEBPACK_IMPORTED_MODULE_4__);
10180
- /* harmony import */ var _Callout__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(2015);
10181
- /* harmony import */ var _Callout__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_Callout__WEBPACK_IMPORTED_MODULE_5__);
10182
- /* harmony import */ var _CodeTabs__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(6553);
10183
- /* harmony import */ var _CodeTabs__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_CodeTabs__WEBPACK_IMPORTED_MODULE_6__);
10184
- /* harmony import */ var _Image__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(9167);
10185
- /* harmony import */ var _Image__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_Image__WEBPACK_IMPORTED_MODULE_7__);
10186
- /* harmony import */ var _Embed__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(1053);
10187
- /* harmony import */ var _Embed__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_Embed__WEBPACK_IMPORTED_MODULE_8__);
10188
- /* harmony import */ var _HTMLBlock__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(8039);
10189
- /* harmony import */ var _HTMLBlock__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_HTMLBlock__WEBPACK_IMPORTED_MODULE_9__);
10195
+ /* harmony import */ var _Anchor__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8447);
10196
+ /* harmony import */ var _Anchor__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_Anchor__WEBPACK_IMPORTED_MODULE_0__);
10197
+ /* harmony import */ var _Callout__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2015);
10198
+ /* harmony import */ var _Callout__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_Callout__WEBPACK_IMPORTED_MODULE_1__);
10199
+ /* harmony import */ var _Code__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8297);
10200
+ /* harmony import */ var _Code__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_Code__WEBPACK_IMPORTED_MODULE_2__);
10201
+ /* harmony import */ var _CodeTabs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(6553);
10202
+ /* harmony import */ var _CodeTabs__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_CodeTabs__WEBPACK_IMPORTED_MODULE_3__);
10203
+ /* harmony import */ var _Embed__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(1053);
10204
+ /* harmony import */ var _Embed__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_Embed__WEBPACK_IMPORTED_MODULE_4__);
10205
+ /* harmony import */ var _GlossaryItem__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(6566);
10206
+ /* harmony import */ var _GlossaryItem__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_GlossaryItem__WEBPACK_IMPORTED_MODULE_5__);
10207
+ /* harmony import */ var _HTMLBlock__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(822);
10208
+ /* harmony import */ var _HTMLBlock__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_HTMLBlock__WEBPACK_IMPORTED_MODULE_6__);
10209
+ /* harmony import */ var _Heading__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(1984);
10210
+ /* harmony import */ var _Heading__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_Heading__WEBPACK_IMPORTED_MODULE_7__);
10211
+ /* harmony import */ var _Image__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(9167);
10212
+ /* harmony import */ var _Image__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_Image__WEBPACK_IMPORTED_MODULE_8__);
10213
+ /* harmony import */ var _Table__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(484);
10214
+ /* harmony import */ var _Table__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_Table__WEBPACK_IMPORTED_MODULE_9__);
10190
10215
  /* harmony import */ var _TableOfContents__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(4479);
10191
10216
  /* harmony import */ var _TableOfContents__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(_TableOfContents__WEBPACK_IMPORTED_MODULE_10__);
10192
10217
 
@@ -10701,6 +10726,7 @@ var options = {
10701
10726
  setext: true
10702
10727
  },
10703
10728
  normalize: true,
10729
+ safeMode: false,
10704
10730
  settings: {
10705
10731
  position: false
10706
10732
  },
@@ -11649,18 +11675,9 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
11649
11675
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
11650
11676
 
11651
11677
  /* eslint-disable consistent-return */
11652
- var unified = __webpack_require__(8835);
11653
-
11654
- var rehypeParse = __webpack_require__(3322);
11655
-
11656
- var rehypeSanitize = __webpack_require__(1667);
11657
-
11658
- var rehypeStringify = __webpack_require__(7532);
11659
-
11660
- var globalSanitizeSchema = __webpack_require__(8229);
11661
-
11662
11678
  var RGXP = /^\[block:(.*)\]([^]+?)\[\/block\]/;
11663
11679
  var compatibilityMode;
11680
+ var safeMode;
11664
11681
 
11665
11682
  var WrapPinnedBlocks = function WrapPinnedBlocks(node, json) {
11666
11683
  if (!json.sidebar) return node;
@@ -11689,13 +11706,6 @@ var imgSizeByWidth = new Proxy(new Map(Array.from(imgSizeValues).reverse()), {
11689
11706
  return match ? match[1] : width in sizes ? sizes[width] : width;
11690
11707
  }
11691
11708
  });
11692
- var processor = unified().use(rehypeParse, {
11693
- fragment: true
11694
- }).use(rehypeSanitize, globalSanitizeSchema).use(rehypeStringify);
11695
-
11696
- var sanitize = function sanitize(html) {
11697
- return processor.processSync(html).toString();
11698
- };
11699
11709
 
11700
11710
  function tokenize(eat, value) {
11701
11711
  var _this = this;
@@ -11943,8 +11953,9 @@ function tokenize(eat, value) {
11943
11953
  data: {
11944
11954
  hName: 'html-block',
11945
11955
  hProperties: {
11946
- html: sanitize(json.html),
11947
- runScripts: compatibilityMode
11956
+ html: json.html,
11957
+ runScripts: compatibilityMode,
11958
+ safeMode: safeMode
11948
11959
  }
11949
11960
  }
11950
11961
  }, json));
@@ -11969,6 +11980,7 @@ function parser() {
11969
11980
  var tokenizers = Parser.prototype.blockTokenizers;
11970
11981
  var methods = Parser.prototype.blockMethods;
11971
11982
  if (this.data('compatibilityMode')) compatibilityMode = true;
11983
+ if (this.data('safeMode')) safeMode = true;
11972
11984
  tokenizers.magicBlocks = tokenize;
11973
11985
  methods.splice(methods.indexOf('newline'), 0, 'magicBlocks');
11974
11986
  }
@@ -14156,136 +14168,56 @@ function ok() {
14156
14168
  }
14157
14169
 
14158
14170
 
14159
- /***/ }),
14160
-
14161
- /***/ 3216:
14162
- /***/ ((module) => {
14163
-
14164
- "use strict";
14165
-
14166
-
14167
- module.exports = convert
14168
-
14169
- function convert(test) {
14170
- if (typeof test === 'string') {
14171
- return tagNameFactory(test)
14172
- }
14173
-
14174
- if (test === null || test === undefined) {
14175
- return element
14176
- }
14177
-
14178
- if (typeof test === 'object') {
14179
- return any(test)
14180
- }
14181
-
14182
- if (typeof test === 'function') {
14183
- return callFactory(test)
14184
- }
14185
-
14186
- throw new Error('Expected function, string, or array as test')
14187
- }
14188
-
14189
- function convertAll(tests) {
14190
- var length = tests.length
14191
- var index = -1
14192
- var results = []
14193
-
14194
- while (++index < length) {
14195
- results[index] = convert(tests[index])
14196
- }
14197
-
14198
- return results
14199
- }
14200
-
14201
- function any(tests) {
14202
- var checks = convertAll(tests)
14203
- var length = checks.length
14204
-
14205
- return matches
14206
-
14207
- function matches() {
14208
- var index = -1
14209
-
14210
- while (++index < length) {
14211
- if (checks[index].apply(this, arguments)) {
14212
- return true
14213
- }
14214
- }
14215
-
14216
- return false
14217
- }
14218
- }
14219
-
14220
- // Utility to convert a string a tag name check.
14221
- function tagNameFactory(test) {
14222
- return tagName
14223
-
14224
- function tagName(node) {
14225
- return element(node) && node.tagName === test
14226
- }
14227
- }
14228
-
14229
- // Utility to convert a function check.
14230
- function callFactory(test) {
14231
- return call
14232
-
14233
- function call(node) {
14234
- return element(node) && Boolean(test.apply(this, arguments))
14235
- }
14236
- }
14237
-
14238
- // Utility to return true if this is an element.
14239
- function element(node) {
14240
- return (
14241
- node &&
14242
- typeof node === 'object' &&
14243
- node.type === 'element' &&
14244
- typeof node.tagName === 'string'
14245
- )
14246
- }
14247
-
14248
-
14249
14171
  /***/ }),
14250
14172
 
14251
14173
  /***/ 8909:
14252
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
14174
+ /***/ ((module) => {
14253
14175
 
14254
14176
  "use strict";
14255
14177
 
14256
14178
 
14257
- var convert = __webpack_require__(3216)
14258
-
14259
14179
  module.exports = isElement
14260
14180
 
14261
- isElement.convert = convert
14262
-
14263
- // Check if if `node` is an `element` and whether it passes the given test.
14264
- function isElement(node, test, index, parent, context) {
14265
- var hasParent = parent !== null && parent !== undefined
14266
- var hasIndex = index !== null && index !== undefined
14267
- var check = convert(test)
14181
+ // Check if if `node` is an `element` and, if `tagNames` is given, `node`
14182
+ // matches them `tagNames`.
14183
+ function isElement(node, tagNames) {
14184
+ var name
14268
14185
 
14269
14186
  if (
14270
- hasIndex &&
14271
- (typeof index !== 'number' || index < 0 || index === Infinity)
14187
+ !(
14188
+ tagNames === null ||
14189
+ tagNames === undefined ||
14190
+ typeof tagNames === 'string' ||
14191
+ (typeof tagNames === 'object' && tagNames.length !== 0)
14192
+ )
14272
14193
  ) {
14273
- throw new Error('Expected positive finite index for child node')
14194
+ throw new Error(
14195
+ 'Expected `string` or `Array.<string>` for `tagNames`, not `' +
14196
+ tagNames +
14197
+ '`'
14198
+ )
14274
14199
  }
14275
14200
 
14276
- if (hasParent && (!parent.type || !parent.children)) {
14277
- throw new Error('Expected parent node')
14201
+ if (
14202
+ !node ||
14203
+ typeof node !== 'object' ||
14204
+ node.type !== 'element' ||
14205
+ typeof node.tagName !== 'string'
14206
+ ) {
14207
+ return false
14278
14208
  }
14279
14209
 
14280
- if (!node || !node.type || typeof node.type !== 'string') {
14281
- return false
14210
+ if (tagNames === null || tagNames === undefined) {
14211
+ return true
14282
14212
  }
14283
14213
 
14284
- if (hasParent !== hasIndex) {
14285
- throw new Error('Expected both parent and index')
14214
+ name = node.tagName
14215
+
14216
+ if (typeof tagNames === 'string') {
14217
+ return name === tagNames
14286
14218
  }
14287
14219
 
14288
- return check.call(context, node, index, parent)
14220
+ return tagNames.indexOf(name) !== -1
14289
14221
  }
14290
14222
 
14291
14223
 
@@ -21185,104 +21117,6 @@ var svg = __webpack_require__(5789)
21185
21117
  module.exports = merge([xml, xlink, xmlns, aria, svg])
21186
21118
 
21187
21119
 
21188
- /***/ }),
21189
-
21190
- /***/ 3322:
21191
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
21192
-
21193
- "use strict";
21194
-
21195
-
21196
- var fromParse5 = __webpack_require__(7721)
21197
- var Parser5 = __webpack_require__(6425)
21198
- var errors = __webpack_require__(2471)
21199
-
21200
- var base = 'https://html.spec.whatwg.org/multipage/parsing.html#parse-error-'
21201
-
21202
- var fatalities = {2: true, 1: false, 0: null}
21203
-
21204
- module.exports = parse
21205
-
21206
- function parse(options) {
21207
- var settings = Object.assign({}, options, this.data('settings'))
21208
- var position = settings.position
21209
-
21210
- position = typeof position === 'boolean' ? position : true
21211
-
21212
- this.Parser = parser
21213
-
21214
- function parser(doc, file) {
21215
- var fn = settings.fragment ? 'parseFragment' : 'parse'
21216
- var onParseError = settings.emitParseErrors ? onerror : null
21217
- var parse5 = new Parser5({
21218
- sourceCodeLocationInfo: position,
21219
- onParseError: onParseError,
21220
- scriptingEnabled: false
21221
- })
21222
-
21223
- return fromParse5(parse5[fn](doc), {
21224
- space: settings.space,
21225
- file: file,
21226
- verbose: settings.verbose
21227
- })
21228
-
21229
- function onerror(err) {
21230
- var code = err.code
21231
- var name = camelcase(code)
21232
- var setting = settings[name]
21233
- var config = setting === undefined || setting === null ? true : setting
21234
- var level = typeof config === 'number' ? config : config ? 1 : 0
21235
- var start = {
21236
- line: err.startLine,
21237
- column: err.startCol,
21238
- offset: err.startOffset
21239
- }
21240
- var end = {line: err.endLine, column: err.endCol, offset: err.endOffset}
21241
- var info
21242
- var message
21243
-
21244
- if (level) {
21245
- info = errors[name] || /* istanbul ignore next */ {
21246
- reason: '',
21247
- description: ''
21248
- }
21249
-
21250
- message = file.message(format(info.reason), {start: start, end: end})
21251
- message.source = 'parse-error'
21252
- message.ruleId = code
21253
- message.fatal = fatalities[level]
21254
- message.note = format(info.description)
21255
- message.url = info.url === false ? null : base + code
21256
- }
21257
-
21258
- function format(value) {
21259
- return value.replace(/%c(?:-(\d+))?/g, char).replace(/%x/g, encodedChar)
21260
- }
21261
-
21262
- function char($0, $1) {
21263
- var offset = $1 ? -parseInt($1, 10) : 0
21264
- var char = doc.charAt(err.startOffset + offset)
21265
- return char === '`' ? '` ` `' : char
21266
- }
21267
-
21268
- function encodedChar() {
21269
- var char = doc.charCodeAt(err.startOffset).toString(16).toUpperCase()
21270
-
21271
- return '0x' + char
21272
- }
21273
- }
21274
- }
21275
- }
21276
-
21277
- function camelcase(value) {
21278
- return value.replace(/-[a-z]/g, replacer)
21279
- }
21280
-
21281
- function replacer($0) {
21282
- return $0.charAt(1).toUpperCase()
21283
- }
21284
-
21285
-
21286
21120
  /***/ }),
21287
21121
 
21288
21122
  /***/ 6388:
@@ -34223,14 +34057,6 @@ module.exports = JSON.parse('{"classId":"classID","dataType":"datatype","itemId"
34223
34057
 
34224
34058
  /***/ }),
34225
34059
 
34226
- /***/ 2471:
34227
- /***/ ((module) => {
34228
-
34229
- "use strict";
34230
- module.exports = JSON.parse('{"abandonedHeadElementChild":{"reason":"Unexpected metadata element after head","description":"Unexpected element after head. Expected the element before `</head>`","url":false},"abruptClosingOfEmptyComment":{"reason":"Unexpected abruptly closed empty comment","description":"Unexpected `>` or `->`. Expected `-->` to close comments"},"abruptDoctypePublicIdentifier":{"reason":"Unexpected abruptly closed public identifier","description":"Unexpected `>`. Expected a closing `\\"` or `\'` after the public identifier"},"abruptDoctypeSystemIdentifier":{"reason":"Unexpected abruptly closed system identifier","description":"Unexpected `>`. Expected a closing `\\"` or `\'` after the identifier identifier"},"absenceOfDigitsInNumericCharacterReference":{"reason":"Unexpected non-digit at start of numeric character reference","description":"Unexpected `%c`. Expected `[0-9]` for decimal references or `[0-9a-fA-F]` for hexadecimal references"},"cdataInHtmlContent":{"reason":"Unexpected CDATA section in HTML","description":"Unexpected `<![CDATA[` in HTML. Remove it, use a comment, or encode special characters instead"},"characterReferenceOutsideUnicodeRange":{"reason":"Unexpected too big numeric character reference","description":"Unexpectedly high character reference. Expected character references to be at most hexadecimal 10ffff (or decimal 1114111)"},"closingOfElementWithOpenChildElements":{"reason":"Unexpected closing tag with open child elements","description":"Unexpectedly closing tag. Expected other tags to be closed first","url":false},"controlCharacterInInputStream":{"reason":"Unexpected control character","description":"Unexpected control character `%x`. Expected a non-control code point, 0x00, or ASCII whitespace"},"controlCharacterReference":{"reason":"Unexpected control character reference","description":"Unexpectedly control character in reference. Expected a non-control code point, 0x00, or ASCII whitespace"},"disallowedContentInNoscriptInHead":{"reason":"Disallowed content inside `<noscript>` in `<head>`","description":"Unexpected text character `%c`. Only use text in `<noscript>`s in `<body>`","url":false},"duplicateAttribute":{"reason":"Unexpected duplicate attribute","description":"Unexpectedly double attribute. Expected attributes to occur only once"},"endTagWithAttributes":{"reason":"Unexpected attribute on closing tag","description":"Unexpected attribute. Expected `>` instead"},"endTagWithTrailingSolidus":{"reason":"Unexpected slash at end of closing tag","description":"Unexpected `%c-1`. Expected `>` instead"},"endTagWithoutMatchingOpenElement":{"reason":"Unexpected unopened end tag","description":"Unexpected end tag. Expected no end tag or another end tag","url":false},"eofBeforeTagName":{"reason":"Unexpected end of file","description":"Unexpected end of file. Expected tag name instead"},"eofInCdata":{"reason":"Unexpected end of file in CDATA","description":"Unexpected end of file. Expected `]]>` to close the CDATA"},"eofInComment":{"reason":"Unexpected end of file in comment","description":"Unexpected end of file. Expected `-->` to close the comment"},"eofInDoctype":{"reason":"Unexpected end of file in doctype","description":"Unexpected end of file. Expected a valid doctype (such as `<!doctype html>`)"},"eofInElementThatCanContainOnlyText":{"reason":"Unexpected end of file in element that can only contain text","description":"Unexpected end of file. Expected text or a closing tag","url":false},"eofInScriptHtmlCommentLikeText":{"reason":"Unexpected end of file in comment inside script","description":"Unexpected end of file. Expected `-->` to close the comment"},"eofInTag":{"reason":"Unexpected end of file in tag","description":"Unexpected end of file. Expected `>` to close the tag"},"incorrectlyClosedComment":{"reason":"Incorrectly closed comment","description":"Unexpected `%c-1`. Expected `-->` to close the comment"},"incorrectlyOpenedComment":{"reason":"Incorrectly opened comment","description":"Unexpected `%c`. Expected `<!--` to open the comment"},"invalidCharacterSequenceAfterDoctypeName":{"reason":"Invalid sequence after doctype name","description":"Unexpected sequence at `%c`. Expected `public` or `system`"},"invalidFirstCharacterOfTagName":{"reason":"Invalid first character in tag name","description":"Unexpected `%c`. Expected an ASCII letter instead"},"misplacedDoctype":{"reason":"Misplaced doctype","description":"Unexpected doctype. Expected doctype before head","url":false},"misplacedStartTagForHeadElement":{"reason":"Misplaced `<head>` start tag","description":"Unexpected start tag `<head>`. Expected `<head>` directly after doctype","url":false},"missingAttributeValue":{"reason":"Missing attribute value","description":"Unexpected `%c-1`. Expected an attribute value or no `%c-1` instead"},"missingDoctype":{"reason":"Missing doctype before other content","description":"Expected a `<!doctype html>` before anything else","url":false},"missingDoctypeName":{"reason":"Missing doctype name","description":"Unexpected doctype end at `%c`. Expected `html` instead"},"missingDoctypePublicIdentifier":{"reason":"Missing public identifier in doctype","description":"Unexpected `%c`. Expected identifier for `public` instead"},"missingDoctypeSystemIdentifier":{"reason":"Missing system identifier in doctype","description":"Unexpected `%c`. Expected identifier for `system` instead (suggested: `\\"about:legacy-compat\\"`)"},"missingEndTagName":{"reason":"Missing name in end tag","description":"Unexpected `%c`. Expected an ASCII letter instead"},"missingQuoteBeforeDoctypePublicIdentifier":{"reason":"Missing quote before public identifier in doctype","description":"Unexpected `%c`. Expected `\\"` or `\'` instead"},"missingQuoteBeforeDoctypeSystemIdentifier":{"reason":"Missing quote before system identifier in doctype","description":"Unexpected `%c`. Expected `\\"` or `\'` instead"},"missingSemicolonAfterCharacterReference":{"reason":"Missing semicolon after character reference","description":"Unexpected `%c`. Expected `;` instead"},"missingWhitespaceAfterDoctypePublicKeyword":{"reason":"Missing whitespace after public identifier in doctype","description":"Unexpected `%c`. Expected ASCII whitespace instead"},"missingWhitespaceAfterDoctypeSystemKeyword":{"reason":"Missing whitespace after system identifier in doctype","description":"Unexpected `%c`. Expected ASCII whitespace instead"},"missingWhitespaceBeforeDoctypeName":{"reason":"Missing whitespace before doctype name","description":"Unexpected `%c`. Expected ASCII whitespace instead"},"missingWhitespaceBetweenAttributes":{"reason":"Missing whitespace between attributes","description":"Unexpected `%c`. Expected ASCII whitespace instead"},"missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers":{"reason":"Missing whitespace between public and system identifiers in doctype","description":"Unexpected `%c`. Expected ASCII whitespace instead"},"nestedComment":{"reason":"Unexpected nested comment","description":"Unexpected `<!--`. Expected `-->`"},"nestedNoscriptInHead":{"reason":"Unexpected nested `<noscript>` in `<head>`","description":"Unexpected `<noscript>`. Expected a closing tag or a meta element","url":false},"nonConformingDoctype":{"reason":"Unexpected non-conforming doctype declaration","description":"Expected `<!doctype html>` or `<!doctype html system \\"about:legacy-compat\\">`","url":false},"nonVoidHtmlElementStartTagWithTrailingSolidus":{"reason":"Unexpected trailing slash on start tag of non-void element","description":"Unexpected `/`. Expected `>` instead"},"noncharacterCharacterReference":{"reason":"Unexpected noncharacter code point referenced by character reference","description":"Unexpected code point. Do not use noncharacters in HTML"},"noncharacterInInputStream":{"reason":"Unexpected noncharacter character","description":"Unexpected code point `%x`. Do not use noncharacters in HTML"},"nullCharacterReference":{"reason":"Unexpected NULL character referenced by character reference","description":"Unexpected code point. Do not use NULL characters in HTML"},"openElementsLeftAfterEof":{"reason":"Unexpected end of file","description":"Unexpected end of file. Expected closing tag instead","url":false},"surrogateCharacterReference":{"reason":"Unexpected surrogate character referenced by character reference","description":"Unexpected code point. Do not use lone surrogate characters in HTML"},"surrogateInInputStream":{"reason":"Unexpected surrogate character","description":"Unexpected code point `%x`. Do not use lone surrogate characters in HTML"},"unexpectedCharacterAfterDoctypeSystemIdentifier":{"reason":"Invalid character after system identifier in doctype","description":"Unexpected character at `%c`. Expected `>`"},"unexpectedCharacterInAttributeName":{"reason":"Unexpected character in attribute name","description":"Unexpected `%c`. Expected whitespace, `/`, `>`, `=`, or probably an ASCII letter"},"unexpectedCharacterInUnquotedAttributeValue":{"reason":"Unexpected character in unquoted attribute value","description":"Unexpected `%c`. Quote the attribute value to include it"},"unexpectedEqualsSignBeforeAttributeName":{"reason":"Unexpected equals sign before attribute name ","description":"Unexpected `%c`. Add an attribute name before it"},"unexpectedNullCharacter":{"reason":"Unexpected NULL character","description":"Unexpected code point `%x`. Do not use NULL characters in HTML"},"unexpectedQuestionMarkInsteadOfTagName":{"reason":"Unexpected question mark instead of tag name","description":"Unexpected `%c`. Expected an ASCII letter instead"},"unexpectedSolidusInTag":{"reason":"Unexpected slash in tag","description":"Unexpected `%c-1`. Expected it followed by `>` or in a quoted attribute value"},"unknownNamedCharacterReference":{"reason":"Unexpected unknown named character reference","description":"Unexpected character reference. Expected known named character references"}}');
34231
-
34232
- /***/ }),
34233
-
34234
34060
  /***/ 9052:
34235
34061
  /***/ ((module) => {
34236
34062
 
@@ -34550,7 +34376,7 @@ function reactProcessor() {
34550
34376
  Fragment: React.Fragment,
34551
34377
  components: _objectSpread({
34552
34378
  'code-tabs': CodeTabs(sanitize, opts),
34553
- 'html-block': HTMLBlock(sanitize),
34379
+ 'html-block': HTMLBlock(sanitize, opts),
34554
34380
  'rdme-callout': Callout(sanitize),
34555
34381
  'readme-variable': Variable,
34556
34382
  'readme-glossary-item': GlossaryItem,
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@readme/markdown",
3
3
  "description": "ReadMe's React-based Markdown parser",
4
4
  "author": "Rafe Goldberg <rafe@readme.io>",
5
- "version": "6.42.0",
5
+ "version": "6.43.0",
6
6
  "main": "dist/main.node.js",
7
7
  "browser": "dist/main.js",
8
8
  "files": [
@@ -37,10 +37,8 @@
37
37
  "path-browserify": "^1.0.1",
38
38
  "process": "^0.11.10",
39
39
  "prop-types": "^15.8.1",
40
- "rehype-parse": "^7.0.1",
41
40
  "rehype-raw": "^5.1.0",
42
41
  "rehype-react": "^6.2.1",
43
- "rehype-remark": "^7.0.0",
44
42
  "rehype-sanitize": "^4.0.0",
45
43
  "rehype-stringify": "^6.0.0",
46
44
  "remark-breaks": "^1.0.0",
@@ -89,7 +87,7 @@
89
87
  "identity-obj-proxy": "^3.0.0",
90
88
  "jest": "^28.1.0",
91
89
  "jest-environment-jsdom": "^28.1.0",
92
- "jest-image-snapshot": "^4.5.1",
90
+ "jest-image-snapshot": "^5.1.0",
93
91
  "jest-puppeteer": "^6.1.0",
94
92
  "mini-css-extract-plugin": "^2.6.0",
95
93
  "node-sass": "^7.0.1",
@@ -1,15 +1,9 @@
1
1
  @import '../components/Image/style.scss';
2
-
3
2
  @import '../components/Table/style.scss';
4
-
5
3
  @import '../components/TableOfContents/style.scss';
6
-
7
4
  @import '../components/Code/style.scss';
8
-
9
5
  @import '../components/CodeTabs/style.scss';
10
-
11
6
  @import '../components/Callout/style.scss';
12
-
13
7
  @import '../components/Heading/style.scss';
14
-
8
+ @import '../components/HTMLBlock/style.scss';
15
9
  @import '../components/Embed/style.scss';