@hyperbook/markdown 0.9.0 → 0.9.2

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.
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../src/index.css"],
4
4
  "sourcesContent": [".hyperbook-markdown {\n background: var(--color-background);\n color: var(--color-text);\n font-family: hyperbook-body, sans-serif;\n}\n\n.hyperbook-markdown a {\n color: var(--color-brand);\n}\n\n/**\n * IE 8\u201311 and Prince don\u2019t recognize the `wbr` element,\n * but a pseudo-element can achieve the same effect with IE 9+ and Prince.\n */\n.hyperbook-markdown wbr:before {\n /* Unicode zero width space */\n content: \"\\200B\";\n white-space: normal;\n}\n\n.hyperbook-markdown .copy {\n color: var(--color-text);\n}\n\n.hyperbook-markdown .hljs {\n background: var(--color-nav) !important;\n border-color: var(--color-spacer);\n}\n\n.hyperbook-markdown p > code {\n background: var(--color-nav) !important;\n border-color: var(--color-spacer);\n}\n\n.hyperbook-markdown img {\n max-width: 100%;\n}\n\n.hyperbook-markdown figure.lightbox {\n position: fixed;\n display: flex;\n justify-content: center;\n flex-direction: column;\n align-items: center;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n padding: 1em;\n z-index: 10000;\n margin: 0px;\n background: rgba(0, 0, 0, 0.5);\n}\n\n.hyperbook-markdown figure.lightbox img {\n min-width: 100%;\n min-height: 100%;\n cursor: zoom-out;\n object-fit: contain;\n}\n\n.hyperbook-markdown table {\n border-color: var(--color-spacer);\n}\n\n.hyperbook-markdown table tr {\n background-color: var(--color-nav);\n border-color: var(--color-spacer);\n}\n\n.hyperbook-markdown h2 {\n border-bottom-color: var(--color-spacer);\n}\n\n.hyperbook-markdown ul.bookmarks li {\n border-color: var(--color-spacer);\n}\n\n.hyperbook-markdown ul.bookmarks li:hover {\n background: var(--color-nav);\n}\n\n.hyperbook-markdown ul.bookmarks li:last-of-type {\n border-color: var(--color-spacer);\n}\n\n@media screen and (max-width: 600px) {\n .hyperbook-markdown table td {\n border-bottom-color: var(--color-spacer);\n }\n}\n\n.hyperbook-markdown figure {\n text-align: center;\n margin-top: 10px;\n margin-bottom: 10px;\n}\n\n.hyperbook-markdown figure img {\n cursor: zoom-in;\n}\n\n.hyperbook-markdown figcaption {\n font-style: italic;\n font-size: 14px;\n max-width: 400px;\n margin: 0 auto;\n}\n\n.hyperbook-markdown a.heading {\n position: relative;\n text-decoration: none;\n padding-left: 16px;\n margin-left: -16px;\n}\n\n.hyperbook-markdown a.heading:hover::before {\n position: absolute;\n content: \"\uD83D\uDCCE\";\n font-size: 12px;\n top: 50%;\n transform: translateY(-50%);\n left: 0px;\n}\n\n.hyperbook-markdown code {\n font-family: hyperbook-code, monospace;\n font-size: 85%;\n padding: 0.2em 0.4em;\n border-radius: 6px;\n}\n\n.hyperbook-markdown .inline {\n display: inline-flex;\n align-items: center;\n color: var(--color-text);\n border-width: 1px;\n border-style: solid;\n background: var(--color-nav) !important;\n border-color: var(--color-spacer);\n font-family: hyperbook-code, monospace;\n padding: 0em 0.4em 0em 0em;\n border-radius: 6px;\n}\n\n.hyperbook-markdown ul,\n.hyperbook-markdown ol {\n margin-top: 0;\n margin-bottom: 0;\n padding-left: 2em;\n}\n\n.hyperbook-markdown ol ol,\n.hyperbook-markdown ul ol {\n list-style-type: lower-roman;\n}\n\n.hyperbook-markdown ul ul ol,\n.hyperbook-markdown ul ol ol,\n.hyperbook-markdown ol ul ol,\n.hyperbook-markdown ol ol ol {\n list-style-type: lower-alpha;\n}\n\n.hyperbook-markdown ul ul,\n.hyperbook-markdown ul ol,\n.hyperbook-markdown ol ol,\n.hyperbook-markdown ol ul {\n margin-top: 0;\n margin-bottom: 0;\n}\n\n.hyperbook-markdown li + li {\n margin-top: 0.25em;\n}\n\n.hyperbook-markdown li > p {\n margin-top: 16px;\n}\n\n.hyperbook-markdown p,\n.hyperbook-markdown blockquote,\n.hyperbook-markdown ol,\n.hyperbook-markdown ul,\n.hyperbook-markdown table,\n.hyperbook-markdown pre,\n.hyperbook-markdown details {\n margin-top: 0;\n margin-bottom: 10px;\n}\n\n.hyperbook-markdown blockquote {\n width: 90%;\n margin: 20px auto;\n font-style: italic;\n padding: 1.2em 30px 1.2em 75px;\n border-left: 8px solid var(--color-brand);\n line-height: 1.5;\n position: relative;\n background: var(--color-nav);\n}\n\n.hyperbook-markdown blockquote::before {\n content: \"\\201C\";\n color: var(--color-brand);\n font-size: 4em;\n position: absolute;\n left: 10px;\n top: -10px;\n}\n\n.hyperbook-markdown blockquote::after {\n content: \"\";\n}\n\n.hyperbook-markdown table {\n border-width: 1px;\n border-style: solid;\n border-collapse: collapse;\n width: 100%;\n table-layout: fixed;\n}\n\n.hyperbook-markdown table caption {\n font-size: 1.5em;\n margin: 0.5em 0 0.75em;\n}\n\n.hyperbook-markdown table tr {\n border-width: 1px;\n border-style: solid;\n padding: 0.35em;\n}\n\n.hyperbook-markdown table th,\n.hyperbook-markdown table td {\n padding: 0.625em;\n}\n\n.hyperbook-markdown table th {\n font-size: 0.85em;\n letter-spacing: 0.1em;\n text-transform: uppercase;\n}\n\n@media screen and (max-width: 600px) {\n .hyperbook-markdown table {\n border: 0;\n }\n\n .hyperbook-markdown table caption {\n font-size: 1.3em;\n }\n\n .hyperbook-markdown table thead {\n border: none;\n clip: rect(0 0 0 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n width: 1px;\n }\n\n .hyperbook-markdown table tr {\n border-bottom-width: 3px;\n display: block;\n margin-bottom: 0.625em;\n }\n\n .hyperbook-markdown table td {\n border-bottom-width: 1px;\n border-bottom-style: solid;\n display: block;\n font-size: 0.8em;\n text-align: right;\n }\n\n .hyperbook-markdown table td::before {\n /*\n * aria-label has no advantage, it won't be read inside a table\n content: attr(aria-label);\n */\n content: attr(data-label);\n float: left;\n font-weight: bold;\n text-transform: uppercase;\n margin-right: 8px;\n }\n\n .hyperbook-markdown table td:last-child {\n border-bottom: 0;\n }\n}\n\n.hyperbook-markdown h1,\n.hyperbook-markdown h2,\n.hyperbook-markdown h3,\n.hyperbook-markdown h4,\n.hyperbook-markdown h5,\n.hyperbook-markdown h6 {\n font-family: hyperbook-heading, sans-serif;\n margin-top: 24px;\n margin-bottom: 16px;\n font-weight: 600;\n line-height: 1.25;\n}\n\n.hyperbook-markdown h1 {\n font-size: 1.75em;\n font-weight: 700;\n}\n\n.hyperbook-markdown h2 {\n font-weight: 600;\n padding-bottom: 0.3em;\n font-size: 1.5em;\n border-bottom-width: 1px;\n border-bottom-style: solid;\n}\n\n.hyperbook-markdown h3 {\n font-weight: 600;\n font-size: 1.25em;\n}\n\n.hyperbook-markdown h4 {\n font-weight: 600;\n font-size: 1em;\n}\n\n.hyperbook-markdown h5 {\n font-weight: 600;\n font-size: 0.875em;\n}\n\n.hyperbook-markdown h6 {\n font-weight: 600;\n font-size: 0.85em;\n}\n\n.hyperbook-markdown p {\n margin-top: 0;\n margin-bottom: 10px;\n}\n\n.hyperbook-markdown h1,\n.hyperbook-markdown h2,\n.hyperbook-markdown h3,\n.hyperbook-markdown h4,\n.hyperbook-markdown h5,\n.hyperbook-markdown h6 {\n display: flex;\n align-items: center;\n}\n\n.hyperbook-markdown .bookmark {\n margin-left: 10px;\n background: none;\n border: none;\n opacity: 0.5;\n font-size: 16px;\n}\n\n.hyperbook-markdown .bookmark:hover {\n opacity: 1;\n}\n\n.hyperbook-markdown .bookmark.active {\n opacity: 1;\n}\n\n.hyperbook-markdown ul.bookmarks {\n padding-left: 0;\n}\n\n.hyperbook-markdown ul.bookmarks li {\n list-style-type: none;\n}\n\n.hyperbook-markdown pre {\n position: relative;\n}\n\n.hyperbook-markdown pre code.hljs {\n display: block;\n overflow-x: auto;\n padding: 1em;\n}\n\n.hyperbook-markdown pre code {\n display: inline-flex;\n align-items: center;\n color: var(--color-text);\n border-width: 1px;\n border-style: solid;\n}\n\n.hyperbook-markdown button.copy {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n margin-left: 4px;\n background: var(--color-nav);\n border: none;\n padding: 0;\n border-radius: 4px;\n opacity: 0.9;\n}\n\n.hyperbook-markdown button.copy:hover {\n opacity: 1;\n}\n\n.hyperbook-markdown pre > button.copy {\n position: absolute;\n right: 10px;\n top: 10px;\n}\n\n.hyperbook-markdown .toc-toggle > .bar1,\n.hyperbook-markdown .toc-toggle > .bar2,\n.hyperbook-markdown .toc-toggle > .bar3,\n.hyperbook-markdown .toc-toggle > .bar4 {\n background-color: var(--color-text);\n}\n\n.hyperbook-markdown .toc-toggle {\n background: var(--color-background);\n border-color: var(--color-nav-border);\n}\n\n#toc-sidebar {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: calc(var(--app-height) - 80px);\n border-left-width: 1px;\n border-left-style: solid;\n overflow-y: auto;\n}\n\n#toc-sidebar > nav {\n padding: 20px;\n flex: 1;\n}\n\n#toc-sidebar > nav li a {\n display: block;\n}\n\n#toc-sidebar > nav li a:hover {\n text-decoration: underline;\n}\n\n.hyperbook-markdown .toc-toggle {\n position: fixed;\n padding: 4px;\n top: 90px;\n right: 20px;\n border-radius: 50%;\n height: 40px;\n width: 40px;\n border-style: solid;\n border-width: 1px;\n opacity: 0.7;\n z-index: 1000;\n}\n\n.hyperbook-markdown .toc-toggle:hover {\n opacity: 1;\n}\n\n.hyperbook-markdown .toc-toggle > .bar1,\n.hyperbook-markdown .toc-toggle > .bar3 {\n width: 20px;\n height: 2px;\n margin: 2px 3px;\n transition: 0.4s;\n}\n\n.hyperbook-markdown .toc-toggle > .bar2,\n.hyperbook-markdown .toc-toggle > .bar4 {\n width: 25px;\n height: 2px;\n margin: 2px 3px;\n transition: 0.4s;\n}\n\n/*!\n Theme: GitHub\n Description: Light theme as seen on github.com\n Author: github.com\n Maintainer: @Hirse\n Updated: 2021-05-15\n\n Outdated base version: https://github.com/primer/github-syntax-light\n Current colors taken from GitHub's CSS\n*/\n\n.hljs {\n color: #24292e;\n background: #ffffff;\n}\n\n.hljs-doctag,\n.hljs-keyword,\n.hljs-meta .hljs-keyword,\n.hljs-template-tag,\n.hljs-template-variable,\n.hljs-type,\n.hljs-variable.language_ {\n /* prettylights-syntax-keyword */\n color: #d73a49;\n}\n\n.hljs-title,\n.hljs-title.class_,\n.hljs-title.class_.inherited__,\n.hljs-title.function_ {\n /* prettylights-syntax-entity */\n color: #6f42c1;\n}\n\n.hljs-attr,\n.hljs-attribute,\n.hljs-literal,\n.hljs-meta,\n.hljs-number,\n.hljs-operator,\n.hljs-variable,\n.hljs-selector-attr,\n.hljs-selector-class,\n.hljs-selector-id {\n /* prettylights-syntax-constant */\n color: #005cc5;\n}\n\n.hljs-regexp,\n.hljs-string,\n.hljs-meta .hljs-string {\n /* prettylights-syntax-string */\n color: #032f62;\n}\n\n.hljs-built_in,\n.hljs-symbol {\n /* prettylights-syntax-variable */\n color: #e36209;\n}\n\n.hljs-comment,\n.hljs-code,\n.hljs-formula {\n /* prettylights-syntax-comment */\n color: #6a737d;\n}\n\n.hljs-name,\n.hljs-quote,\n.hljs-selector-tag,\n.hljs-selector-pseudo {\n /* prettylights-syntax-entity-tag */\n color: #22863a;\n}\n\n.hljs-subst {\n /* prettylights-syntax-storage-modifier-import */\n color: #24292e;\n}\n\n.hljs-section {\n /* prettylights-syntax-markup-heading */\n color: #005cc5;\n font-weight: bold;\n}\n\n.hljs-bullet {\n /* prettylights-syntax-markup-list */\n color: #735c0f;\n}\n\n.hljs-emphasis {\n /* prettylights-syntax-markup-italic */\n color: #24292e;\n font-style: italic;\n}\n\n.hljs-strong {\n /* prettylights-syntax-markup-bold */\n color: #24292e;\n font-weight: bold;\n}\n\n.hljs-addition {\n /* prettylights-syntax-markup-inserted */\n color: #22863a;\n background-color: #f0fff4;\n}\n\n.hljs-deletion {\n /* prettylights-syntax-markup-deleted */\n color: #b31d28;\n background-color: #ffeef0;\n}\n\n.hljs-char.escape_,\n.hljs-link,\n.hljs-params,\n.hljs-property,\n.hljs-punctuation,\n.hljs-tag {\n /* purposely ignored */\n}\n\n/*!\n Theme: GitHub Dark\n Description: Dark theme as seen on github.com\n Author: github.com\n Maintainer: @Hirse\n Updated: 2021-05-15\n\n Outdated base version: https://github.com/primer/github-syntax-dark\n Current colors taken from GitHub's CSS\n*/\n\n@media (prefers-color-scheme: dark) {\n .hljs {\n color: #c9d1d9;\n background: #0d1117;\n }\n\n .hljs-doctag,\n .hljs-keyword,\n .hljs-meta .hljs-keyword,\n .hljs-template-tag,\n .hljs-template-variable,\n .hljs-type,\n .hljs-variable.language_ {\n /* prettylights-syntax-keyword */\n color: #ff7b72;\n }\n\n .hljs-title,\n .hljs-title.class_,\n .hljs-title.class_.inherited__,\n .hljs-title.function_ {\n /* prettylights-syntax-entity */\n color: #d2a8ff;\n }\n\n .hljs-attr,\n .hljs-attribute,\n .hljs-literal,\n .hljs-meta,\n .hljs-number,\n .hljs-operator,\n .hljs-variable,\n .hljs-selector-attr,\n .hljs-selector-class,\n .hljs-selector-id {\n /* prettylights-syntax-constant */\n color: #79c0ff;\n }\n\n .hljs-regexp,\n .hljs-string,\n .hljs-meta .hljs-string {\n /* prettylights-syntax-string */\n color: #a5d6ff;\n }\n\n .hljs-built_in,\n .hljs-symbol {\n /* prettylights-syntax-variable */\n color: #ffa657;\n }\n\n .hljs-comment,\n .hljs-code,\n .hljs-formula {\n /* prettylights-syntax-comment */\n color: #8b949e;\n }\n\n .hljs-name,\n .hljs-quote,\n .hljs-selector-tag,\n .hljs-selector-pseudo {\n /* prettylights-syntax-entity-tag */\n color: #7ee787;\n }\n\n .hljs-subst {\n /* prettylights-syntax-storage-modifier-import */\n color: #c9d1d9;\n }\n\n .hljs-section {\n /* prettylights-syntax-markup-heading */\n color: #1f6feb;\n font-weight: bold;\n }\n\n .hljs-bullet {\n /* prettylights-syntax-markup-list */\n color: #f2cc60;\n }\n\n .hljs-emphasis {\n /* prettylights-syntax-markup-italic */\n color: #c9d1d9;\n font-style: italic;\n }\n\n .hljs-strong {\n /* prettylights-syntax-markup-bold */\n color: #c9d1d9;\n font-weight: bold;\n }\n\n .hljs-addition {\n /* prettylights-syntax-markup-inserted */\n color: #aff5b4;\n background-color: #033a16;\n }\n\n .hljs-deletion {\n /* prettylights-syntax-markup-deleted */\n color: #ffdcd7;\n background-color: #67060c;\n }\n\n .hljs-char.escape_,\n .hljs-link,\n .hljs-params,\n .hljs-property,\n .hljs-punctuation,\n .hljs-tag {\n /* purposely ignored */\n }\n}\n"],
5
- "mappings": ";AAAA;AACE;AACA;AACA;AAAA;AAGF;AACE;AAAA;AAOF;AAEE;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AACE;AAAA;AAAA;AAIJ;AACE;AACA;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AAAA;AAEE;AACA;AACA;AAAA;AAGF;AAAA;AAEE;AAAA;AAGF;AAAA;AAAA;AAAA;AAIE;AAAA;AAGF;AAAA;AAAA;AAAA;AAIE;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AAAA;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOE;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AACA;AACA;AAAA;AAGF;AAAA;AAEE;AAAA;AAGF;AACE;AACA;AACA;AAAA;AAGF;AACE;AACE;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AAAA;AAGF;AAKE;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AAAA;AAAA;AAIJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAME;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAME;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AACA;AACA;AAAA;AAGF;AAAA;AAAA;AAAA;AAIE;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AAAA;AAEE;AACA;AACA;AACA;AAAA;AAGF;AAAA;AAEE;AACA;AACA;AACA;AAAA;AAcF;AACE;AACA;AAAA;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQE;AAAA;AAGF;AAAA;AAAA;AAAA;AAKE;AAAA;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAWE;AAAA;AAGF;AAAA;AAAA;AAIE;AAAA;AAGF;AAAA;AAGE;AAAA;AAGF;AAAA;AAAA;AAIE;AAAA;AAGF;AAAA;AAAA;AAAA;AAKE;AAAA;AAGF;AAEE;AAAA;AAGF;AAEE;AACA;AAAA;AAGF;AAEE;AAAA;AAGF;AAEE;AACA;AAAA;AAGF;AAEE;AACA;AAAA;AAGF;AAEE;AACA;AAAA;AAGF;AAEE;AACA;AAAA;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAoBA;AACE;AACE;AACA;AAAA;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQE;AAAA;AAGF;AAAA;AAAA;AAAA;AAKE;AAAA;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAWE;AAAA;AAGF;AAAA;AAAA;AAIE;AAAA;AAGF;AAAA;AAGE;AAAA;AAGF;AAAA;AAAA;AAIE;AAAA;AAGF;AAAA;AAAA;AAAA;AAKE;AAAA;AAGF;AAEE;AAAA;AAGF;AAEE;AACA;AAAA;AAGF;AAEE;AAAA;AAGF;AAEE;AACA;AAAA;AAGF;AAEE;AACA;AAAA;AAGF;AAEE;AACA;AAAA;AAGF;AAEE;AACA;AAAA;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;",
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
package/dist/index.js CHANGED
@@ -1,23 +1,3 @@
1
- var __defProp = Object.defineProperty;
2
- var __defProps = Object.defineProperties;
3
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
- var __spreadValues = (a, b) => {
9
- for (var prop in b ||= {})
10
- if (__hasOwnProp.call(b, prop))
11
- __defNormalProp(a, prop, b[prop]);
12
- if (__getOwnPropSymbols)
13
- for (var prop of __getOwnPropSymbols(b)) {
14
- if (__propIsEnum.call(b, prop))
15
- __defNormalProp(a, prop, b[prop]);
16
- }
17
- return a;
18
- };
19
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
-
21
1
  // src/Markdown.tsx
22
2
  import remarkDirective from "remark-directive";
23
3
  import remarkDirectiveRehype from "remark-directive-rehype";
@@ -142,7 +122,7 @@ function formatUrl(url) {
142
122
  var formatted = doubleSlash.map(
143
123
  (str) => (
144
124
  // Insert a word break opportunity after a colon
145
- str.replace(new RegExp("(?<after>:)", "giu"), "$1<wbr>").replace(new RegExp("(?<before>[/~.,\\-_?#%])", "giu"), "<wbr>$1").replace(new RegExp("(?<beforeAndAfter>[=&])", "giu"), "<wbr>$1<wbr>")
125
+ str.replace(/(?<after>:)/giu, "$1<wbr>").replace(/(?<before>[/~.,\-_?#%])/giu, "<wbr>$1").replace(/(?<beforeAndAfter>[=&])/giu, "<wbr>$1<wbr>")
146
126
  )
147
127
  // Reconnect the strings with word break opportunities after double slashes
148
128
  ).join("//<wbr>");
@@ -157,13 +137,12 @@ var Link = ({
157
137
  const config = useConfig();
158
138
  const [isExternal, setIsExternal] = useState2(false);
159
139
  useEffect(() => {
160
- var _a;
161
140
  if (href) {
162
141
  const tmp = document.createElement("a");
163
142
  tmp.href = href;
164
143
  if (tmp.host !== window.location.host) {
165
144
  setIsExternal(true);
166
- } else if (config.basePath && !((_a = window.location.pathname) == null ? void 0 : _a.startsWith(config.basePath))) {
145
+ } else if (config.basePath && !window.location.pathname?.startsWith(config.basePath)) {
167
146
  setIsExternal(true);
168
147
  } else {
169
148
  setIsExternal(false);
@@ -218,15 +197,14 @@ var makeAnchor = (heading) => {
218
197
  return anchor;
219
198
  };
220
199
  var Headings = (level) => ({ children, id }) => {
221
- var _a;
222
200
  const config = useConfig2();
223
- const bookmarksConfig = (_a = config == null ? void 0 : config.elements) == null ? void 0 : _a.bookmarks;
224
- const heading = (children == null ? void 0 : children[0]) || "";
201
+ const bookmarksConfig = config?.elements?.bookmarks;
202
+ const heading = children?.[0] || "";
225
203
  let anchor = typeof heading === "string" ? makeAnchor(heading) : "";
226
204
  const label = typeof heading === "string" ? heading : anchor;
227
205
  const [bookmark, toggleBookmark] = useBookmark(anchor, label);
228
206
  const container = (children2) => /* @__PURE__ */ jsxs2(Fragment2, { children: [
229
- /* @__PURE__ */ jsx4("a", { className: "heading", id: id != null ? id : anchor, href: `#${id != null ? id : anchor}`, children: /* @__PURE__ */ jsx4("span", { children: children2 }) }),
207
+ /* @__PURE__ */ jsx4("a", { className: "heading", id: id ?? anchor, href: `#${id ?? anchor}`, children: /* @__PURE__ */ jsx4("span", { children: children2 }) }),
230
208
  bookmarksConfig !== false && /* @__PURE__ */ jsx4(
231
209
  "button",
232
210
  {
@@ -325,10 +303,11 @@ var useRemarkSync = (source, {
325
303
  rehypeReactOptions,
326
304
  remarkPlugins = [],
327
305
  rehypePlugins = []
328
- } = {}) => unified().use(remarkParse).use(remarkPlugins).use(remarkToRehype, remarkToRehypeOptions).use(rehypePlugins).use(rehypeReact, __spreadValues({
306
+ } = {}) => unified().use(remarkParse).use(remarkPlugins).use(remarkToRehype, remarkToRehypeOptions).use(rehypePlugins).use(rehypeReact, {
329
307
  createElement,
330
- Fragment: Fragment3
331
- }, rehypeReactOptions)).processSync(source).result;
308
+ Fragment: Fragment3,
309
+ ...rehypeReactOptions
310
+ }).processSync(source).result;
332
311
 
333
312
  // src/useToc.ts
334
313
  import remarkParse2 from "remark-parse";
@@ -339,8 +318,7 @@ import { unified as unified2 } from "unified";
339
318
  import { visit as visit3 } from "unist-util-visit";
340
319
  import { toString } from "mdast-util-to-string";
341
320
  var getAnchor = (heading) => {
342
- var _a;
343
- if ((_a = heading == null ? void 0 : heading.data) == null ? void 0 : _a.id) {
321
+ if (heading?.data?.id) {
344
322
  return heading.data.id;
345
323
  }
346
324
  let anchor = toString(heading, { includeImageAlt: false }).toLowerCase();
@@ -368,7 +346,7 @@ var remarkHeadings = () => {
368
346
 
369
347
  // src/useToc.ts
370
348
  var useToc = (markdown) => {
371
- return unified2().use(remarkCustomHeadingIds).use(remarkParse2).use(remarkStringify).use(remarkHeadings).processSync(markdown).data.headings;
349
+ return unified2().use(remarkParse2).use(remarkCustomHeadingIds).use(remarkHeadings).use(remarkStringify).processSync(markdown).data.headings;
372
350
  };
373
351
 
374
352
  // src/Markdown.tsx
@@ -381,7 +359,8 @@ var Markdown = ({ children, showToc = true }) => {
381
359
  const reactContent = useRemarkSync(children, {
382
360
  rehypeReactOptions: {
383
361
  passNode: true,
384
- components: __spreadProps(__spreadValues({}, directives), {
362
+ components: {
363
+ ...directives,
385
364
  a: Link,
386
365
  code: Code,
387
366
  td: Td,
@@ -395,7 +374,7 @@ var Markdown = ({ children, showToc = true }) => {
395
374
  h5: Headings(5),
396
375
  h6: Headings(6),
397
376
  img: Image
398
- })
377
+ }
399
378
  },
400
379
  remarkPlugins: [
401
380
  remarkRemoveComments,
package/dist/index.js.map CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/Markdown.tsx", "../src/Code.tsx", "../src/Link.tsx", "../src/Table.tsx", "../src/Headings.tsx", "../src/Image.tsx", "../src/remarkRemoveComments.ts", "../src/remarkCustomHeadingIds.ts", "../src/useRemarkSync.ts", "../src/useToc.ts", "../src/remarkHeadings.ts"],
4
- "sourcesContent": ["import remarkDirective from \"remark-directive\";\nimport remarkDirectiveRehype from \"remark-directive-rehype\";\nimport remarkGfm from \"remark-gfm\";\nimport remarkMath from \"remark-math\";\nimport remarkGemoji from \"remark-gemoji\";\nimport remarkUnwrapImages from \"remark-unwrap-images\";\nimport rehypeKatex from \"rehype-katex\";\nimport rehypeHighlight from \"rehype-highlight\";\nimport { useDirectives } from \"@hyperbook/provider\";\nimport { Drawer } from \"@hyperbook/drawer\";\nimport { Code } from \"./Code\";\nimport { Link } from \"./Link\";\nimport { Table, Td, Th, Tr } from \"./Table\";\nimport { Headings } from \"./Headings\";\nimport { Image } from \"./Image\";\n\nimport \"./index.css\";\nimport { remarkRemoveComments } from \"./remarkRemoveComments\";\nimport { remarkCustomHeadingIds } from \"./remarkCustomHeadingIds\";\nimport { useRemarkSync } from \"./useRemarkSync\";\nimport { useToc } from \"./useToc\";\nimport { Fragment, useState } from \"react\";\n\nexport type MarkdownProps = {\n children: string;\n showToc?: boolean;\n};\n\nexport const Markdown = ({ children, showToc = true }: MarkdownProps) => {\n const directives = useDirectives();\n\n const toc = useToc(children);\n const [isTocOpen, setIsTocOpen] = useState(false);\n const reactContent = useRemarkSync(children, {\n rehypeReactOptions: {\n passNode: true,\n components: {\n ...directives,\n a: Link,\n code: Code,\n td: Td,\n th: Th,\n table: Table,\n tr: Tr,\n h1: Headings(1),\n h2: Headings(2),\n h3: Headings(3),\n h4: Headings(4),\n h5: Headings(5),\n h6: Headings(6),\n img: Image,\n },\n },\n remarkPlugins: [\n remarkRemoveComments,\n remarkCustomHeadingIds,\n remarkGfm,\n remarkDirective,\n remarkDirectiveRehype,\n remarkMath,\n remarkGemoji,\n remarkUnwrapImages,\n ],\n rehypePlugins: [\n rehypeKatex,\n [rehypeHighlight, { ignoreMissing: true, plainText: [\"mermaid\"] }],\n ],\n });\n\n return (\n <div className=\"hyperbook-markdown\">\n {showToc && (\n <Fragment>\n <button\n className={isTocOpen ? \"toc-toggle open\" : \"toc-toggle\"}\n onClick={() => setIsTocOpen(!isTocOpen)}\n title=\"Table of Contents\"\n >\n <div className=\"bar1\"></div>\n <div className=\"bar2\"></div>\n <div className=\"bar3\"></div>\n <div className=\"bar4\"></div>\n </button>\n <Drawer\n isOpen={isTocOpen}\n onClose={() => setIsTocOpen(false)}\n position=\"right\"\n >\n <div id=\"toc-sidebar\">\n <nav className=\"toc\">\n <ul>\n {toc.map((h, i) => (\n <li key={i} className={`level-${h.level}`}>\n <a href={`#${h.anchor}`}>{h.label}</a>\n </li>\n ))}\n </ul>\n </nav>\n </div>\n </Drawer>\n </Fragment>\n )}\n {reactContent}\n </div>\n );\n};\n", "import { useDirectives } from \"@hyperbook/provider\";\nimport { ComponentType, Fragment, useRef, useState } from \"react\";\n\nconst MdContentCopy = () => {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n stroke=\"currentColor\"\n fill=\"currentColor\"\n strokeWidth=\"0\"\n height=\"1em\"\n width=\"1em\"\n viewBox=\"0 0 24 24\"\n >\n <path d=\"M0 0h24v24H0z\" fill=\"none\" />\n <path d=\"M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z\" />\n </svg>\n );\n};\n\nconst MdDone = () => {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n stroke=\"currentColor\"\n fill=\"currentColor\"\n strokeWidth=\"0\"\n height=\"1em\"\n width=\"1em\"\n viewBox=\"0 0 24 24\"\n >\n <path d=\"M0 0h24v24H0z\" fill=\"none\" />\n <path d=\"M9 16.2L4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4L9 16.2z\" />\n </svg>\n );\n};\n\nconst copyNoNavigator = (text: string) => {\n const isIos = navigator.userAgent.match(/ipad|iphone/i);\n const textarea = document.createElement(\"textarea\");\n\n // create textarea\n textarea.value = text;\n\n // ios will zoom in on the input if the font-size is < 16px\n textarea.style.fontSize = \"20px\";\n document.body.appendChild(textarea);\n\n // select text\n if (isIos) {\n const range = document.createRange();\n range.selectNodeContents(textarea);\n\n const selection = window.getSelection();\n if (selection) {\n selection.removeAllRanges();\n selection.addRange(range);\n }\n textarea.setSelectionRange(0, 999999);\n } else {\n textarea.select();\n }\n\n // copy selection\n document.execCommand(\"copy\");\n\n // cleanup\n document.body.removeChild(textarea);\n};\n\nexport const Code: ComponentType<JSX.IntrinsicElements[\"code\"]> = ({\n children,\n className,\n}) => {\n const directives = useDirectives();\n if (className === \"language-mermaid\" && directives[\"mermaid\"]) {\n const Mermaid = directives[\"mermaid\"];\n return <Mermaid children={children} />;\n }\n\n const ref = useRef<HTMLElement>(null);\n const [copied, setCopied] = useState(false);\n const copyCode = () => {\n if (ref.current) {\n const text = ref.current.innerText;\n if (navigator.clipboard) {\n navigator.clipboard\n .writeText(text)\n .then(() => {\n setCopied(true);\n setTimeout(() => setCopied(false), 2000);\n })\n .catch(() => {\n copyNoNavigator(text);\n setCopied(true);\n setTimeout(() => setCopied(false), 2000);\n });\n } else {\n copyNoNavigator(text);\n setCopied(true);\n setTimeout(() => setCopied(false), 2000);\n }\n }\n };\n\n return !className ? (\n <span className=\"inline\">\n <code ref={ref} className={className}>\n {children}\n </code>\n <button className=\"copy\" onClick={copyCode} aria-label=\"Copy Code\">\n {copied ? <MdDone /> : <MdContentCopy />}\n </button>\n </span>\n ) : (\n <Fragment>\n <code ref={ref} className={className}>\n {children}\n </code>\n <button className=\"copy\" onClick={copyCode} aria-label=\"Copy Code\">\n {copied ? <MdDone /> : <MdContentCopy />}\n </button>\n </Fragment>\n );\n};\n", "import { useConfig, useLink } from \"@hyperbook/provider\";\nimport { ComponentType, ReactNode, useEffect, useState } from \"react\";\n\n// see: https://css-tricks.com/better-line-breaks-for-long-urls/\nfunction formatUrl(url: ReactNode) {\n if (typeof url !== \"string\") {\n return url;\n }\n // Split the URL into an array to distinguish double slashes from single slashes\n var doubleSlash = url.split(\"//\");\n\n // Format the strings on either side of double slashes separately\n var formatted = doubleSlash\n .map(\n (str) =>\n // Insert a word break opportunity after a colon\n str\n .replace(/(?<after>:)/giu, \"$1<wbr>\")\n // Before a single slash, tilde, period, comma, hyphen, underline, question mark, number sign, or percent symbol\n .replace(/(?<before>[/~.,\\-_?#%])/giu, \"<wbr>$1\")\n // Before and after an equals sign or ampersand\n .replace(/(?<beforeAndAfter>[=&])/giu, \"<wbr>$1<wbr>\")\n // Reconnect the strings with word break opportunities after double slashes\n )\n .join(\"//<wbr>\");\n\n return formatted;\n}\n\nexport const Link: ComponentType<JSX.IntrinsicElements[\"a\"]> = ({\n href,\n title,\n children,\n}) => {\n const L = useLink();\n const config = useConfig();\n const [isExternal, setIsExternal] = useState(false);\n\n useEffect(() => {\n if (href) {\n const tmp = document.createElement(\"a\");\n tmp.href = href;\n if (tmp.host !== window.location.host) {\n setIsExternal(true);\n } else if (\n config.basePath &&\n !window.location.pathname?.startsWith(config.basePath)\n ) {\n setIsExternal(true);\n } else {\n setIsExternal(false);\n }\n }\n }, [href, config]);\n\n if (isExternal) {\n <L href={href} title={title} target=\"_blank\">\n {formatUrl(children)}\n </L>;\n }\n\n return (\n <L href={href} title={title}>\n {formatUrl(children)}\n </L>\n );\n};\n", "import { ComponentType, ReactNode } from \"react\";\n\nlet tableHeaders: ReactNode[] = [];\nlet tdIndex = 0;\n\nexport const Table: ComponentType<JSX.IntrinsicElements[\"table\"]> = ({\n children,\n style,\n}) => {\n tableHeaders = [];\n return <table style={style}>{children}</table>;\n};\n\nexport const Tr: ComponentType<JSX.IntrinsicElements[\"tr\"]> = ({\n children,\n style,\n}) => {\n tdIndex = 0;\n return <tr style={style}>{children}</tr>;\n};\n\nexport const Td: ComponentType<JSX.IntrinsicElements[\"td\"]> = ({\n children,\n style,\n}) => {\n return (\n <td data-label={tableHeaders[tdIndex++]} style={style}>\n {children}\n </td>\n );\n};\n\nexport const Th: ComponentType<JSX.IntrinsicElements[\"th\"]> = ({\n children,\n style,\n}) => {\n tableHeaders.push(children);\n return <th style={style}>{children}</th>;\n};\n", "import { useBookmark, useConfig } from \"@hyperbook/provider\";\nimport { ComponentType } from \"react\";\n\nexport const makeAnchor = (heading: string) => {\n // If we have a heading, make it lower case\n let anchor = heading.toLowerCase();\n\n // Clean anchor (replace special characters whitespaces).\n // Alternatively, use encodeURIComponent() if you don't care about\n // pretty anchor links\n anchor = anchor.replace(/[^a-zA-Z0-9 ]/g, \"\");\n anchor = anchor.replace(/ /g, \"-\");\n\n return anchor;\n};\n\nexport const Headings =\n (level: number): ComponentType<JSX.IntrinsicElements[\"h1\"]> =>\n ({ children, id }) => {\n const config = useConfig();\n const bookmarksConfig = config?.elements?.bookmarks;\n // Access actual (string) value of heading\n const heading = children?.[0] || \"\";\n\n // If we have a heading, make it lower case\n let anchor = typeof heading === \"string\" ? makeAnchor(heading) : \"\";\n\n const label = typeof heading === \"string\" ? heading : anchor;\n\n const [bookmark, toggleBookmark] = useBookmark(anchor, label);\n\n // Utility\n const container = (children: React.ReactNode): JSX.Element => (\n <>\n <a className=\"heading\" id={id ?? anchor} href={`#${id ?? anchor}`}>\n <span>{children}</span>\n </a>\n {bookmarksConfig !== false && (\n <button\n className={bookmark ? \"bookmark active\" : \"bookmark\"}\n onClick={() => toggleBookmark()}\n title=\"Bookmark\"\n >\n \uD83D\uDD16\n </button>\n )}\n </>\n );\n\n switch (level) {\n case 1:\n return <h1>{container(children)}</h1>;\n case 2:\n return <h2>{container(children)}</h2>;\n case 3:\n return <h3>{container(children)}</h3>;\n case 4:\n return <h4>{container(children)}</h4>;\n case 5:\n return <h5>{container(children)}</h5>;\n\n default:\n return <h6>{container(children)}</h6>;\n }\n };\n", "import { useMakeUrl } from \"@hyperbook/provider\";\nimport { ComponentType, useState } from \"react\";\n\nexport const Image: ComponentType<JSX.IntrinsicElements[\"img\"]> = ({\n src,\n title,\n alt,\n}) => {\n const makeUrl = useMakeUrl();\n const [full, setFull] = useState(false);\n src = makeUrl(src, \"public\");\n\n return (\n <figure className={full ? \"lightbox\" : undefined}>\n <img src={src} alt={alt} onClick={() => setFull((f) => !f)} />\n {title && <figcaption>{title}</figcaption>}\n </figure>\n );\n};\n", "//@ts-nocheck\nimport { visit, SKIP } from \"unist-util-visit\";\nimport { Transformer } from \"unified\";\nimport { BuildVisitor } from \"unist-util-visit/complex-types\";\n\nexport const remarkRemoveComments: () => Transformer = () => (tree) => {\n const htmlCommentRegex = /<!--([\\s\\S]*?)-->/g;\n\n const handler: BuildVisitor = (node, index, parent) => {\n const isComment = node.value.match(htmlCommentRegex);\n\n if (isComment) {\n // remove node\n parent.children.splice(index, 1);\n // Do not traverse `node`, continue at the node *now* at `index`. http://unifiedjs.com/learn/recipe/remove-node/\n return [SKIP, index];\n }\n };\n\n visit(tree, \"html\", handler);\n\n visit(tree, \"jsx\", handler);\n};\n", "import { visit } from \"unist-util-visit\";\nimport { Transformer } from \"unified\";\n\nexport const remarkCustomHeadingIds: () => Transformer = () => {\n return function (node) {\n visit(node, \"heading\", (node) => {\n let lastChild = node.children[node.children.length - 1];\n if (lastChild && lastChild.type === \"text\") {\n let string = lastChild.value.replace(/ +$/, \"\");\n let matched = string.match(/ {#([^]+?)}$/);\n\n if (matched) {\n let id = matched[1];\n if (!!id.length) {\n if (!node.data) {\n node.data = {};\n }\n if (!node.data.hProperties) {\n node.data.hProperties = {};\n }\n node.data.id = node.data.hProperties.id = id;\n\n string = string.substring(0, matched.index);\n lastChild.value = string;\n }\n }\n }\n });\n };\n};\n", "import { Fragment, ReactElement, createElement } from \"react\";\nimport { PluggableList, unified } from \"unified\";\nimport remarkParse from \"remark-parse\";\nimport { Options as RemarkRehypeOptions } from \"mdast-util-to-hast\";\nimport remarkToRehype from \"remark-rehype\";\nimport rehypeReact, { Options as RehypeReactOptions } from \"rehype-react\";\n\ntype PartialBy<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;\n\nexport interface UseRemarkSyncOptions {\n remarkToRehypeOptions?: RemarkRehypeOptions;\n rehypeReactOptions?: PartialBy<RehypeReactOptions, \"createElement\">;\n remarkPlugins?: PluggableList;\n rehypePlugins?: PluggableList;\n}\n\nexport const useRemarkSync = (\n source: string,\n {\n remarkToRehypeOptions,\n rehypeReactOptions,\n remarkPlugins = [],\n rehypePlugins = [],\n }: UseRemarkSyncOptions = {}\n): ReactElement =>\n unified()\n .use(remarkParse)\n .use(remarkPlugins)\n .use(remarkToRehype, remarkToRehypeOptions)\n .use(rehypePlugins)\n .use(rehypeReact, {\n createElement,\n Fragment,\n ...rehypeReactOptions,\n } as RehypeReactOptions)\n .processSync(source).result as ReactElement;\n", "import remarkParse from \"remark-parse\";\nimport remarkStringify from \"remark-stringify\";\nimport { unified } from \"unified\";\nimport { remarkCustomHeadingIds } from \"./remarkCustomHeadingIds\";\nimport { Heading, remarkHeadings } from \"./remarkHeadings\";\n\nexport const useToc = (markdown: string): Heading[] => {\n return unified()\n .use(remarkCustomHeadingIds)\n .use(remarkParse)\n .use(remarkStringify)\n .use(remarkHeadings)\n .processSync(markdown).data.headings;\n};\n", "import { Plugin } from \"unified\";\nimport { Root as MdastRoot, Heading as AstHeading } from \"mdast\";\nimport { Root as HastRoot } from \"hast\";\nimport { visit } from \"unist-util-visit\";\nimport { toString } from \"mdast-util-to-string\";\n\nexport interface Heading {\n level: number;\n label: string;\n anchor: string;\n}\n\nconst getAnchor = (heading: AstHeading): string => {\n // If we have a heading, make it lower case\n if (heading?.data?.id) {\n return heading.data.id as string;\n }\n\n let anchor = toString(heading, { includeImageAlt: false }).toLowerCase();\n\n // Clean anchor (replace special characters whitespaces).\n // Alternatively, use encodeURIComponent() if you don't care about\n // pretty anchor links\n anchor = anchor.replace(/[^a-zA-Z0-9 ]/g, \"\");\n anchor = anchor.replace(/ /g, \"-\");\n\n return anchor;\n};\n\nconst headings = (root: MdastRoot) => {\n const headingList: Heading[] = [];\n\n visit(root, \"heading\", (node: AstHeading) => {\n const heading: Heading = {\n level: node.depth,\n label: toString(node, { includeImageAlt: false }),\n anchor: getAnchor(node),\n };\n\n headingList.push(heading);\n });\n\n return headingList;\n};\n\nexport const remarkHeadings: Plugin<[], MdastRoot, HastRoot> = () => {\n return (tree, file) => {\n file.data.headings = headings(tree);\n };\n};\n"],
5
- "mappings": "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",
6
- "names": ["useDirectives", "useState", "jsx", "jsx", "useConfig", "Fragment", "jsx", "jsxs", "children", "useState", "jsx", "jsxs", "visit", "node", "Fragment", "Fragment", "remarkParse", "unified", "visit", "unified", "remarkParse", "Fragment", "useState", "jsx", "jsxs", "useDirectives", "useState", "Fragment"]
4
+ "sourcesContent": ["import remarkDirective from \"remark-directive\";\nimport remarkDirectiveRehype from \"remark-directive-rehype\";\nimport remarkGfm from \"remark-gfm\";\nimport remarkMath from \"remark-math\";\nimport remarkGemoji from \"remark-gemoji\";\nimport remarkUnwrapImages from \"remark-unwrap-images\";\nimport rehypeKatex from \"rehype-katex\";\nimport rehypeHighlight from \"rehype-highlight\";\nimport { useDirectives } from \"@hyperbook/provider\";\nimport { Drawer } from \"@hyperbook/drawer\";\nimport { Code } from \"./Code\";\nimport { Link } from \"./Link\";\nimport { Table, Td, Th, Tr } from \"./Table\";\nimport { Headings } from \"./Headings\";\nimport { Image } from \"./Image\";\n\nimport \"./index.css\";\nimport { remarkRemoveComments } from \"./remarkRemoveComments\";\nimport { remarkCustomHeadingIds } from \"./remarkCustomHeadingIds\";\nimport { useRemarkSync } from \"./useRemarkSync\";\nimport { useToc } from \"./useToc\";\nimport { Fragment, useState } from \"react\";\n\nexport type MarkdownProps = {\n children: string;\n showToc?: boolean;\n};\n\nexport const Markdown = ({ children, showToc = true }: MarkdownProps) => {\n const directives = useDirectives();\n\n const toc = useToc(children);\n const [isTocOpen, setIsTocOpen] = useState(false);\n const reactContent = useRemarkSync(children, {\n rehypeReactOptions: {\n passNode: true,\n components: {\n ...directives,\n a: Link,\n code: Code,\n td: Td,\n th: Th,\n table: Table,\n tr: Tr,\n h1: Headings(1),\n h2: Headings(2),\n h3: Headings(3),\n h4: Headings(4),\n h5: Headings(5),\n h6: Headings(6),\n img: Image,\n },\n },\n remarkPlugins: [\n remarkRemoveComments,\n remarkCustomHeadingIds,\n remarkGfm,\n remarkDirective,\n remarkDirectiveRehype,\n remarkMath,\n remarkGemoji,\n remarkUnwrapImages,\n ],\n rehypePlugins: [\n rehypeKatex,\n [rehypeHighlight, { ignoreMissing: true, plainText: [\"mermaid\"] }],\n ],\n });\n\n return (\n <div className=\"hyperbook-markdown\">\n {showToc && (\n <Fragment>\n <button\n className={isTocOpen ? \"toc-toggle open\" : \"toc-toggle\"}\n onClick={() => setIsTocOpen(!isTocOpen)}\n title=\"Table of Contents\"\n >\n <div className=\"bar1\"></div>\n <div className=\"bar2\"></div>\n <div className=\"bar3\"></div>\n <div className=\"bar4\"></div>\n </button>\n <Drawer\n isOpen={isTocOpen}\n onClose={() => setIsTocOpen(false)}\n position=\"right\"\n >\n <div id=\"toc-sidebar\">\n <nav className=\"toc\">\n <ul>\n {toc.map((h, i) => (\n <li key={i} className={`level-${h.level}`}>\n <a href={`#${h.anchor}`}>{h.label}</a>\n </li>\n ))}\n </ul>\n </nav>\n </div>\n </Drawer>\n </Fragment>\n )}\n {reactContent}\n </div>\n );\n};\n", "import { useDirectives } from \"@hyperbook/provider\";\nimport { ComponentType, Fragment, useRef, useState } from \"react\";\n\nconst MdContentCopy = () => {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n stroke=\"currentColor\"\n fill=\"currentColor\"\n strokeWidth=\"0\"\n height=\"1em\"\n width=\"1em\"\n viewBox=\"0 0 24 24\"\n >\n <path d=\"M0 0h24v24H0z\" fill=\"none\" />\n <path d=\"M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z\" />\n </svg>\n );\n};\n\nconst MdDone = () => {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n stroke=\"currentColor\"\n fill=\"currentColor\"\n strokeWidth=\"0\"\n height=\"1em\"\n width=\"1em\"\n viewBox=\"0 0 24 24\"\n >\n <path d=\"M0 0h24v24H0z\" fill=\"none\" />\n <path d=\"M9 16.2L4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4L9 16.2z\" />\n </svg>\n );\n};\n\nconst copyNoNavigator = (text: string) => {\n const isIos = navigator.userAgent.match(/ipad|iphone/i);\n const textarea = document.createElement(\"textarea\");\n\n // create textarea\n textarea.value = text;\n\n // ios will zoom in on the input if the font-size is < 16px\n textarea.style.fontSize = \"20px\";\n document.body.appendChild(textarea);\n\n // select text\n if (isIos) {\n const range = document.createRange();\n range.selectNodeContents(textarea);\n\n const selection = window.getSelection();\n if (selection) {\n selection.removeAllRanges();\n selection.addRange(range);\n }\n textarea.setSelectionRange(0, 999999);\n } else {\n textarea.select();\n }\n\n // copy selection\n document.execCommand(\"copy\");\n\n // cleanup\n document.body.removeChild(textarea);\n};\n\nexport const Code: ComponentType<JSX.IntrinsicElements[\"code\"]> = ({\n children,\n className,\n}) => {\n const directives = useDirectives();\n if (className === \"language-mermaid\" && directives[\"mermaid\"]) {\n const Mermaid = directives[\"mermaid\"];\n return <Mermaid children={children} />;\n }\n\n const ref = useRef<HTMLElement>(null);\n const [copied, setCopied] = useState(false);\n const copyCode = () => {\n if (ref.current) {\n const text = ref.current.innerText;\n if (navigator.clipboard) {\n navigator.clipboard\n .writeText(text)\n .then(() => {\n setCopied(true);\n setTimeout(() => setCopied(false), 2000);\n })\n .catch(() => {\n copyNoNavigator(text);\n setCopied(true);\n setTimeout(() => setCopied(false), 2000);\n });\n } else {\n copyNoNavigator(text);\n setCopied(true);\n setTimeout(() => setCopied(false), 2000);\n }\n }\n };\n\n return !className ? (\n <span className=\"inline\">\n <code ref={ref} className={className}>\n {children}\n </code>\n <button className=\"copy\" onClick={copyCode} aria-label=\"Copy Code\">\n {copied ? <MdDone /> : <MdContentCopy />}\n </button>\n </span>\n ) : (\n <Fragment>\n <code ref={ref} className={className}>\n {children}\n </code>\n <button className=\"copy\" onClick={copyCode} aria-label=\"Copy Code\">\n {copied ? <MdDone /> : <MdContentCopy />}\n </button>\n </Fragment>\n );\n};\n", "import { useConfig, useLink } from \"@hyperbook/provider\";\nimport { ComponentType, ReactNode, useEffect, useState } from \"react\";\n\n// see: https://css-tricks.com/better-line-breaks-for-long-urls/\nfunction formatUrl(url: ReactNode) {\n if (typeof url !== \"string\") {\n return url;\n }\n // Split the URL into an array to distinguish double slashes from single slashes\n var doubleSlash = url.split(\"//\");\n\n // Format the strings on either side of double slashes separately\n var formatted = doubleSlash\n .map(\n (str) =>\n // Insert a word break opportunity after a colon\n str\n .replace(/(?<after>:)/giu, \"$1<wbr>\")\n // Before a single slash, tilde, period, comma, hyphen, underline, question mark, number sign, or percent symbol\n .replace(/(?<before>[/~.,\\-_?#%])/giu, \"<wbr>$1\")\n // Before and after an equals sign or ampersand\n .replace(/(?<beforeAndAfter>[=&])/giu, \"<wbr>$1<wbr>\")\n // Reconnect the strings with word break opportunities after double slashes\n )\n .join(\"//<wbr>\");\n\n return formatted;\n}\n\nexport const Link: ComponentType<JSX.IntrinsicElements[\"a\"]> = ({\n href,\n title,\n children,\n}) => {\n const L = useLink();\n const config = useConfig();\n const [isExternal, setIsExternal] = useState(false);\n\n useEffect(() => {\n if (href) {\n const tmp = document.createElement(\"a\");\n tmp.href = href;\n if (tmp.host !== window.location.host) {\n setIsExternal(true);\n } else if (\n config.basePath &&\n !window.location.pathname?.startsWith(config.basePath)\n ) {\n setIsExternal(true);\n } else {\n setIsExternal(false);\n }\n }\n }, [href, config]);\n\n if (isExternal) {\n <L href={href} title={title} target=\"_blank\">\n {formatUrl(children)}\n </L>;\n }\n\n return (\n <L href={href} title={title}>\n {formatUrl(children)}\n </L>\n );\n};\n", "import { ComponentType, ReactNode } from \"react\";\n\nlet tableHeaders: ReactNode[] = [];\nlet tdIndex = 0;\n\nexport const Table: ComponentType<JSX.IntrinsicElements[\"table\"]> = ({\n children,\n style,\n}) => {\n tableHeaders = [];\n return <table style={style}>{children}</table>;\n};\n\nexport const Tr: ComponentType<JSX.IntrinsicElements[\"tr\"]> = ({\n children,\n style,\n}) => {\n tdIndex = 0;\n return <tr style={style}>{children}</tr>;\n};\n\nexport const Td: ComponentType<JSX.IntrinsicElements[\"td\"]> = ({\n children,\n style,\n}) => {\n return (\n <td data-label={tableHeaders[tdIndex++]} style={style}>\n {children}\n </td>\n );\n};\n\nexport const Th: ComponentType<JSX.IntrinsicElements[\"th\"]> = ({\n children,\n style,\n}) => {\n tableHeaders.push(children);\n return <th style={style}>{children}</th>;\n};\n", "import { useBookmark, useConfig } from \"@hyperbook/provider\";\nimport { ComponentType } from \"react\";\n\nexport const makeAnchor = (heading: string) => {\n // If we have a heading, make it lower case\n let anchor = heading.toLowerCase();\n\n // Clean anchor (replace special characters whitespaces).\n // Alternatively, use encodeURIComponent() if you don't care about\n // pretty anchor links\n anchor = anchor.replace(/[^a-zA-Z0-9 ]/g, \"\");\n anchor = anchor.replace(/ /g, \"-\");\n\n return anchor;\n};\n\nexport const Headings =\n (level: number): ComponentType<JSX.IntrinsicElements[\"h1\"]> =>\n ({ children, id }) => {\n const config = useConfig();\n const bookmarksConfig = config?.elements?.bookmarks;\n // Access actual (string) value of heading\n const heading = children?.[0] || \"\";\n\n // If we have a heading, make it lower case\n let anchor = typeof heading === \"string\" ? makeAnchor(heading) : \"\";\n\n const label = typeof heading === \"string\" ? heading : anchor;\n\n const [bookmark, toggleBookmark] = useBookmark(anchor, label);\n\n // Utility\n const container = (children: React.ReactNode): JSX.Element => (\n <>\n <a className=\"heading\" id={id ?? anchor} href={`#${id ?? anchor}`}>\n <span>{children}</span>\n </a>\n {bookmarksConfig !== false && (\n <button\n className={bookmark ? \"bookmark active\" : \"bookmark\"}\n onClick={() => toggleBookmark()}\n title=\"Bookmark\"\n >\n \uD83D\uDD16\n </button>\n )}\n </>\n );\n\n switch (level) {\n case 1:\n return <h1>{container(children)}</h1>;\n case 2:\n return <h2>{container(children)}</h2>;\n case 3:\n return <h3>{container(children)}</h3>;\n case 4:\n return <h4>{container(children)}</h4>;\n case 5:\n return <h5>{container(children)}</h5>;\n\n default:\n return <h6>{container(children)}</h6>;\n }\n };\n", "import { useMakeUrl } from \"@hyperbook/provider\";\nimport { ComponentType, useState } from \"react\";\n\nexport const Image: ComponentType<JSX.IntrinsicElements[\"img\"]> = ({\n src,\n title,\n alt,\n}) => {\n const makeUrl = useMakeUrl();\n const [full, setFull] = useState(false);\n src = makeUrl(src, \"public\");\n\n return (\n <figure className={full ? \"lightbox\" : undefined}>\n <img src={src} alt={alt} onClick={() => setFull((f) => !f)} />\n {title && <figcaption>{title}</figcaption>}\n </figure>\n );\n};\n", "//@ts-nocheck\nimport { visit, SKIP } from \"unist-util-visit\";\nimport { Transformer } from \"unified\";\nimport { BuildVisitor } from \"unist-util-visit/complex-types\";\n\nexport const remarkRemoveComments: () => Transformer = () => (tree) => {\n const htmlCommentRegex = /<!--([\\s\\S]*?)-->/g;\n\n const handler: BuildVisitor = (node, index, parent) => {\n const isComment = node.value.match(htmlCommentRegex);\n\n if (isComment) {\n // remove node\n parent.children.splice(index, 1);\n // Do not traverse `node`, continue at the node *now* at `index`. http://unifiedjs.com/learn/recipe/remove-node/\n return [SKIP, index];\n }\n };\n\n visit(tree, \"html\", handler);\n\n visit(tree, \"jsx\", handler);\n};\n", "import { visit } from \"unist-util-visit\";\nimport { Transformer } from \"unified\";\nimport { Heading } from \"mdast\";\n\nexport const remarkCustomHeadingIds: () => Transformer = () => {\n return function (node) {\n visit(node, \"heading\", (node: Heading) => {\n let lastChild = node.children[node.children.length - 1];\n if (lastChild && lastChild.type === \"text\") {\n let string = lastChild.value.replace(/ +$/, \"\");\n let matched = string.match(/ {#([^]+?)}$/);\n\n if (matched) {\n let id = matched[1];\n if (!!id.length) {\n if (!node.data) {\n node.data = {};\n }\n if (!node.data.hProperties) {\n node.data.hProperties = {};\n }\n node.data.id = node.data.hProperties.id = id;\n\n string = string.substring(0, matched.index);\n lastChild.value = string;\n }\n }\n }\n });\n };\n};\n", "import { Fragment, ReactElement, createElement } from \"react\";\nimport { PluggableList, unified } from \"unified\";\nimport remarkParse from \"remark-parse\";\nimport { Options as RemarkRehypeOptions } from \"mdast-util-to-hast\";\nimport remarkToRehype from \"remark-rehype\";\nimport rehypeReact, { Options as RehypeReactOptions } from \"rehype-react\";\n\ntype PartialBy<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;\n\nexport interface UseRemarkSyncOptions {\n remarkToRehypeOptions?: RemarkRehypeOptions;\n rehypeReactOptions?: PartialBy<RehypeReactOptions, \"createElement\">;\n remarkPlugins?: PluggableList;\n rehypePlugins?: PluggableList;\n}\n\nexport const useRemarkSync = (\n source: string,\n {\n remarkToRehypeOptions,\n rehypeReactOptions,\n remarkPlugins = [],\n rehypePlugins = [],\n }: UseRemarkSyncOptions = {}\n): ReactElement =>\n unified()\n .use(remarkParse)\n .use(remarkPlugins)\n .use(remarkToRehype, remarkToRehypeOptions)\n .use(rehypePlugins)\n .use(rehypeReact, {\n createElement,\n Fragment,\n ...rehypeReactOptions,\n } as RehypeReactOptions)\n .processSync(source).result as ReactElement;\n", "import remarkParse from \"remark-parse\";\nimport remarkStringify from \"remark-stringify\";\nimport { unified } from \"unified\";\nimport { remarkCustomHeadingIds } from \"./remarkCustomHeadingIds\";\nimport { Heading, remarkHeadings } from \"./remarkHeadings\";\n\nexport const useToc = (markdown: string): Heading[] => {\n return unified()\n .use(remarkParse)\n .use(remarkCustomHeadingIds)\n .use(remarkHeadings)\n .use(remarkStringify)\n .processSync(markdown).data.headings;\n};\n", "import { Plugin } from \"unified\";\nimport { Root as MdastRoot, Heading as AstHeading } from \"mdast\";\nimport { Root as HastRoot } from \"hast\";\nimport { visit } from \"unist-util-visit\";\nimport { toString } from \"mdast-util-to-string\";\n\nexport interface Heading {\n level: number;\n label: string;\n anchor: string;\n}\n\nconst getAnchor = (heading: AstHeading): string => {\n // If we have a heading, make it lower case\n if (heading?.data?.id) {\n return heading.data.id as string;\n }\n\n let anchor = toString(heading, { includeImageAlt: false }).toLowerCase();\n\n // Clean anchor (replace special characters whitespaces).\n // Alternatively, use encodeURIComponent() if you don't care about\n // pretty anchor links\n anchor = anchor.replace(/[^a-zA-Z0-9 ]/g, \"\");\n anchor = anchor.replace(/ /g, \"-\");\n\n return anchor;\n};\n\nconst headings = (root: MdastRoot) => {\n const headingList: Heading[] = [];\n\n visit(root, \"heading\", (node: AstHeading) => {\n const heading: Heading = {\n level: node.depth,\n label: toString(node, { includeImageAlt: false }),\n anchor: getAnchor(node),\n };\n\n headingList.push(heading);\n });\n\n return headingList;\n};\n\nexport const remarkHeadings: Plugin<[], MdastRoot, HastRoot> = () => {\n return (tree, file) => {\n file.data.headings = headings(tree);\n };\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["useDirectives", "useState", "jsx", "jsx", "useConfig", "Fragment", "jsx", "jsxs", "children", "useState", "jsx", "jsxs", "visit", "node", "Fragment", "remarkParse", "unified", "visit", "unified", "remarkParse", "Fragment", "useState", "jsx", "jsxs", "useDirectives"]
7
7
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hyperbook/markdown",
3
- "version": "0.9.0",
3
+ "version": "0.9.2",
4
4
  "author": "Mike Barkmin",
5
5
  "homepage": "https://github.com/openpatch/hyperbook#readme",
6
6
  "license": "MIT",
@@ -28,40 +28,40 @@
28
28
  "url": "https://github.com/openpatch/hyperbook/issues"
29
29
  },
30
30
  "dependencies": {
31
- "mdast-util-to-hast": "^12.3.0",
32
- "mdast-util-to-string": "^3.2.0",
33
31
  "rehype-highlight": "5.0.2",
34
32
  "rehype-katex": "6.0.3",
35
33
  "rehype-parse": "^8.0.4",
36
34
  "rehype-raw": "^6.1.1",
37
35
  "rehype-react": "^7.2.0",
36
+ "rehype-stringify": "^9.0.3",
38
37
  "remark-directive": "2.0.1",
39
38
  "remark-directive-rehype": "0.4.2",
40
39
  "remark-gemoji": "7.0.1",
40
+ "remark-gfm": "3.0.1",
41
41
  "remark-math": "5.1.1",
42
+ "remark-parse": "^10.0.2",
43
+ "remark-rehype": "^10.1.0",
42
44
  "remark-stringify": "^10.0.3",
43
45
  "remark-unwrap-images": "3.0.1",
44
- "unist-util-visit": "^4.1.1",
45
46
  "unified": "^10.1.2",
46
- "@hyperbook/provider": "0.4.0",
47
- "@hyperbook/drawer": "0.1.0"
47
+ "unist-util-visit": "^5.0.0",
48
+ "@hyperbook/drawer": "0.1.1",
49
+ "@hyperbook/provider": "0.4.0"
48
50
  },
49
51
  "peerDependencies": {
50
52
  "react": "18.x",
51
53
  "react-dom": "18.x"
52
54
  },
53
55
  "devDependencies": {
54
- "@types/hast": "2.3.4",
55
- "@types/mdast": "^3.0.11",
56
+ "@types/hast": "3.0.0",
57
+ "@types/mdast": "^4.0.0",
56
58
  "@types/react": "18.2.12",
57
59
  "@types/react-dom": "18.2.5",
58
60
  "@types/unist": "2.0.6",
61
+ "mdast-util-to-hast": "^13.0.0",
62
+ "mdast-util-to-string": "^4.0.0",
59
63
  "react": "18.2.0",
60
64
  "react-dom": "18.2.0",
61
- "rehype-stringify": "^9.0.3",
62
- "remark-gfm": "3.0.1",
63
- "remark-parse": "^10.0.1",
64
- "remark-rehype": "^10.1.0",
65
65
  "vitest": "^0.30.0"
66
66
  },
67
67
  "scripts": {