Fixed code annotations and updated dependencies

This commit is contained in:
squidfunk 2021-11-21 20:03:26 +01:00
parent fa9f906c2b
commit db1c069e52
29 changed files with 395 additions and 17147 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,366 +0,0 @@
[data-md-color-accent=red] {
--md-accent-fg-color: hsla(348, 100%, 55%, 1);
--md-accent-fg-color--transparent: hsla(348, 100%, 55%, 0.1);
--md-accent-bg-color: hsla(0, 0%, 100%, 1);
--md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7);
}
[data-md-color-accent=pink] {
--md-accent-fg-color: hsla(339, 100%, 48%, 1);
--md-accent-fg-color--transparent: hsla(339, 100%, 48%, 0.1);
--md-accent-bg-color: hsla(0, 0%, 100%, 1);
--md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7);
}
[data-md-color-accent=purple] {
--md-accent-fg-color: hsla(291, 96%, 62%, 1);
--md-accent-fg-color--transparent: hsla(291, 96%, 62%, 0.1);
--md-accent-bg-color: hsla(0, 0%, 100%, 1);
--md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7);
}
[data-md-color-accent=deep-purple] {
--md-accent-fg-color: hsla(256, 100%, 65%, 1);
--md-accent-fg-color--transparent: hsla(256, 100%, 65%, 0.1);
--md-accent-bg-color: hsla(0, 0%, 100%, 1);
--md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7);
}
[data-md-color-accent=indigo] {
--md-accent-fg-color: hsla(231, 99%, 66%, 1);
--md-accent-fg-color--transparent: hsla(231, 99%, 66%, 0.1);
--md-accent-bg-color: hsla(0, 0%, 100%, 1);
--md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7);
}
[data-md-color-accent=blue] {
--md-accent-fg-color: hsla(218, 100%, 63%, 1);
--md-accent-fg-color--transparent: hsla(218, 100%, 63%, 0.1);
--md-accent-bg-color: hsla(0, 0%, 100%, 1);
--md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7);
}
[data-md-color-accent=light-blue] {
--md-accent-fg-color: hsla(203, 100%, 46%, 1);
--md-accent-fg-color--transparent: hsla(203, 100%, 46%, 0.1);
--md-accent-bg-color: hsla(0, 0%, 100%, 1);
--md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7);
}
[data-md-color-accent=cyan] {
--md-accent-fg-color: hsla(188, 100%, 42%, 1);
--md-accent-fg-color--transparent: hsla(188, 100%, 42%, 0.1);
--md-accent-bg-color: hsla(0, 0%, 100%, 1);
--md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7);
}
[data-md-color-accent=teal] {
--md-accent-fg-color: hsla(172, 100%, 37%, 1);
--md-accent-fg-color--transparent: hsla(172, 100%, 37%, 0.1);
--md-accent-bg-color: hsla(0, 0%, 100%, 1);
--md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7);
}
[data-md-color-accent=green] {
--md-accent-fg-color: hsla(145, 100%, 39%, 1);
--md-accent-fg-color--transparent: hsla(145, 100%, 39%, 0.1);
--md-accent-bg-color: hsla(0, 0%, 100%, 1);
--md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7);
}
[data-md-color-accent=light-green] {
--md-accent-fg-color: hsla(97, 81%, 48%, 1);
--md-accent-fg-color--transparent: hsla(97, 81%, 48%, 0.1);
--md-accent-bg-color: hsla(0, 0%, 100%, 1);
--md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7);
}
[data-md-color-accent=lime] {
--md-accent-fg-color: hsla(75, 100%, 46%, 1);
--md-accent-fg-color--transparent: hsla(75, 100%, 46%, 0.1);
--md-accent-bg-color: hsla(0, 0%, 0%, 0.87);
--md-accent-bg-color--light: hsla(0, 0%, 0%, 0.54);
}
[data-md-color-accent=yellow] {
--md-accent-fg-color: hsla(50, 100%, 50%, 1);
--md-accent-fg-color--transparent: hsla(50, 100%, 50%, 0.1);
--md-accent-bg-color: hsla(0, 0%, 0%, 0.87);
--md-accent-bg-color--light: hsla(0, 0%, 0%, 0.54);
}
[data-md-color-accent=amber] {
--md-accent-fg-color: hsla(40, 100%, 50%, 1);
--md-accent-fg-color--transparent: hsla(40, 100%, 50%, 0.1);
--md-accent-bg-color: hsla(0, 0%, 0%, 0.87);
--md-accent-bg-color--light: hsla(0, 0%, 0%, 0.54);
}
[data-md-color-accent=orange] {
--md-accent-fg-color: hsla(34, 100%, 50%, 1);
--md-accent-fg-color--transparent: hsla(34, 100%, 50%, 0.1);
--md-accent-bg-color: hsla(0, 0%, 0%, 0.87);
--md-accent-bg-color--light: hsla(0, 0%, 0%, 0.54);
}
[data-md-color-accent=deep-orange] {
--md-accent-fg-color: hsla(14, 100%, 63%, 1);
--md-accent-fg-color--transparent: hsla(14, 100%, 63%, 0.1);
--md-accent-bg-color: hsla(0, 0%, 100%, 1);
--md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7);
}
[data-md-color-primary=red] {
--md-primary-fg-color: hsl(1, 83%, 63%);
--md-primary-fg-color--light: hsl(0, 69%, 67%);
--md-primary-fg-color--dark: hsl(1, 77%, 55%);
--md-primary-bg-color: hsla(0, 0%, 100%, 1);
--md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7);
}
[data-md-color-primary=pink] {
--md-primary-fg-color: hsl(340, 82%, 52%);
--md-primary-fg-color--light: hsl(340, 82%, 59%);
--md-primary-fg-color--dark: hsl(336, 78%, 43%);
--md-primary-bg-color: hsla(0, 0%, 100%, 1);
--md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7);
}
[data-md-color-primary=purple] {
--md-primary-fg-color: hsl(291, 47%, 51%);
--md-primary-fg-color--light: hsl(291, 47%, 60%);
--md-primary-fg-color--dark: hsl(287, 65%, 40%);
--md-primary-bg-color: hsla(0, 0%, 100%, 1);
--md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7);
}
[data-md-color-primary=deep-purple] {
--md-primary-fg-color: hsl(262, 47%, 55%);
--md-primary-fg-color--light: hsl(262, 47%, 63%);
--md-primary-fg-color--dark: hsl(262, 52%, 47%);
--md-primary-bg-color: hsla(0, 0%, 100%, 1);
--md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7);
}
[data-md-color-primary=indigo] {
--md-primary-fg-color: hsl(231, 48%, 48%);
--md-primary-fg-color--light: hsl(231, 44%, 56%);
--md-primary-fg-color--dark: hsl(232, 54%, 41%);
--md-primary-bg-color: hsla(0, 0%, 100%, 1);
--md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7);
}
[data-md-color-primary=blue] {
--md-primary-fg-color: hsl(207, 90%, 54%);
--md-primary-fg-color--light: hsl(207, 90%, 61%);
--md-primary-fg-color--dark: hsl(210, 79%, 46%);
--md-primary-bg-color: hsla(0, 0%, 100%, 1);
--md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7);
}
[data-md-color-primary=light-blue] {
--md-primary-fg-color: hsl(199, 98%, 48%);
--md-primary-fg-color--light: hsl(199, 92%, 56%);
--md-primary-fg-color--dark: hsl(201, 98%, 41%);
--md-primary-bg-color: hsla(0, 0%, 100%, 1);
--md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7);
}
[data-md-color-primary=cyan] {
--md-primary-fg-color: hsl(187, 100%, 42%);
--md-primary-fg-color--light: hsl(187, 71%, 50%);
--md-primary-fg-color--dark: hsl(186, 100%, 33%);
--md-primary-bg-color: hsla(0, 0%, 100%, 1);
--md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7);
}
[data-md-color-primary=teal] {
--md-primary-fg-color: hsl(174, 100%, 29%);
--md-primary-fg-color--light: hsl(174, 63%, 40%);
--md-primary-fg-color--dark: hsl(173, 100%, 24%);
--md-primary-bg-color: hsla(0, 0%, 100%, 1);
--md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7);
}
[data-md-color-primary=green] {
--md-primary-fg-color: hsl(122, 39%, 49%);
--md-primary-fg-color--light: hsl(123, 38%, 57%);
--md-primary-fg-color--dark: hsl(123, 43%, 39%);
--md-primary-bg-color: hsla(0, 0%, 100%, 1);
--md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7);
}
[data-md-color-primary=light-green] {
--md-primary-fg-color: hsl(88, 50%, 53%);
--md-primary-fg-color--light: hsl(88, 50%, 60%);
--md-primary-fg-color--dark: hsl(92, 48%, 42%);
--md-primary-bg-color: hsla(0, 0%, 100%, 1);
--md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7);
}
[data-md-color-primary=lime] {
--md-primary-fg-color: hsl(66, 70%, 54%);
--md-primary-fg-color--light: hsl(66, 70%, 61%);
--md-primary-fg-color--dark: hsl(62, 61%, 44%);
--md-primary-bg-color: hsla(0, 0%, 0%, 0.87);
--md-primary-bg-color--light: hsla(0, 0%, 0%, 0.54);
}
[data-md-color-primary=yellow] {
--md-primary-fg-color: hsl(54, 100%, 62%);
--md-primary-fg-color--light: hsl(54, 100%, 67%);
--md-primary-fg-color--dark: hsl(43, 96%, 58%);
--md-primary-bg-color: hsla(0, 0%, 0%, 0.87);
--md-primary-bg-color--light: hsla(0, 0%, 0%, 0.54);
}
[data-md-color-primary=amber] {
--md-primary-fg-color: hsl(45, 100%, 51%);
--md-primary-fg-color--light: hsl(45, 100%, 58%);
--md-primary-fg-color--dark: hsl(38, 100%, 50%);
--md-primary-bg-color: hsla(0, 0%, 0%, 0.87);
--md-primary-bg-color--light: hsla(0, 0%, 0%, 0.54);
}
[data-md-color-primary=orange] {
--md-primary-fg-color: hsl(36, 100%, 57%);
--md-primary-fg-color--light: hsl(36, 100%, 57%);
--md-primary-fg-color--dark: hsl(33, 100%, 49%);
--md-primary-bg-color: hsla(0, 0%, 0%, 0.87);
--md-primary-bg-color--light: hsla(0, 0%, 0%, 0.54);
}
[data-md-color-primary=deep-orange] {
--md-primary-fg-color: hsl(14, 100%, 63%);
--md-primary-fg-color--light: hsl(14, 100%, 70%);
--md-primary-fg-color--dark: hsl(14, 91%, 54%);
--md-primary-bg-color: hsla(0, 0%, 100%, 1);
--md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7);
}
[data-md-color-primary=brown] {
--md-primary-fg-color: hsl(16, 25%, 38%);
--md-primary-fg-color--light: hsl(16, 18%, 47%);
--md-primary-fg-color--dark: hsl(14, 26%, 29%);
--md-primary-bg-color: hsla(0, 0%, 100%, 1);
--md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7);
}
[data-md-color-primary=grey] {
--md-primary-fg-color: hsl(0, 0%, 46%);
--md-primary-fg-color--light: hsl(0, 0%, 62%);
--md-primary-fg-color--dark: hsl(0, 0%, 38%);
--md-primary-bg-color: hsla(0, 0%, 100%, 1);
--md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7);
}
[data-md-color-primary=blue-grey] {
--md-primary-fg-color: hsl(199, 18%, 40%);
--md-primary-fg-color--light: hsl(200, 18%, 46%);
--md-primary-fg-color--dark: hsl(199, 18%, 33%);
--md-primary-bg-color: hsla(0, 0%, 100%, 1);
--md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7);
}
[data-md-color-primary=white] {
--md-primary-fg-color: hsla(0, 0%, 100%, 1);
--md-primary-fg-color--light: hsla(0, 0%, 100%, 0.7);
--md-primary-fg-color--dark: hsla(0, 0%, 0%, 0.07);
--md-primary-bg-color: hsla(0, 0%, 0%, 0.87);
--md-primary-bg-color--light: hsla(0, 0%, 0%, 0.54);
--md-typeset-a-color: hsla(231, 48%, 48%, 1);
}
@media screen and (min-width: 60em) {
[data-md-color-primary=white] .md-search__form {
background-color: rgba(0, 0, 0, 0.07);
}
[data-md-color-primary=white] .md-search__form:hover {
background-color: rgba(0, 0, 0, 0.32);
}
[data-md-color-primary=white] .md-search__input + .md-search__icon {
color: rgba(0, 0, 0, 0.87);
}
}
@media screen and (min-width: 76.25em) {
[data-md-color-primary=white] .md-tabs {
border-bottom: 0.05rem solid rgba(0, 0, 0, 0.07);
}
}
[data-md-color-primary=black] {
--md-primary-fg-color: hsla(0, 0%, 0%, 1);
--md-primary-fg-color--light: hsla(0, 0%, 0%, 0.54);
--md-primary-fg-color--dark: hsla(0, 0%, 0%, 1);
--md-primary-bg-color: hsla(0, 0%, 100%, 1);
--md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7);
--md-typeset-a-color: hsla(231, 48%, 48%, 1);
}
[data-md-color-primary=black] .md-header {
background-color: black;
}
@media screen and (max-width: 59.9375em) {
[data-md-color-primary=black] .md-nav__source {
background-color: rgba(0, 0, 0, 0.87);
}
}
@media screen and (min-width: 60em) {
[data-md-color-primary=black] .md-search__form {
background-color: rgba(255, 255, 255, 0.12);
}
[data-md-color-primary=black] .md-search__form:hover {
background-color: rgba(255, 255, 255, 0.3);
}
}
@media screen and (max-width: 76.1875em) {
html [data-md-color-primary=black] .md-nav--primary .md-nav__title[for=__drawer] {
background-color: black;
}
}
@media screen and (min-width: 76.25em) {
[data-md-color-primary=black] .md-tabs {
background-color: black;
}
}
@media screen {
[data-md-color-scheme=slate] {
--md-hue: 232;
--md-default-fg-color: hsla(var(--md-hue), 75%, 95%, 1);
--md-default-fg-color--light: hsla(var(--md-hue), 75%, 90%, 0.62);
--md-default-fg-color--lighter: hsla(var(--md-hue), 75%, 90%, 0.32);
--md-default-fg-color--lightest: hsla(var(--md-hue), 75%, 90%, 0.12);
--md-default-bg-color: hsla(var(--md-hue), 15%, 21%, 1);
--md-default-bg-color--light: hsla(var(--md-hue), 15%, 21%, 0.54);
--md-default-bg-color--lighter: hsla(var(--md-hue), 15%, 21%, 0.26);
--md-default-bg-color--lightest: hsla(var(--md-hue), 15%, 21%, 0.07);
--md-code-fg-color: hsla(var(--md-hue), 18%, 86%, 1);
--md-code-bg-color: hsla(var(--md-hue), 15%, 15%, 1);
--md-code-hl-color: hsla(218, 100%, 63%, 0.15);
--md-code-hl-number-color: hsla(6, 74%, 63%, 1);
--md-code-hl-special-color: hsla(340, 83%, 66%, 1);
--md-code-hl-function-color: hsla(291, 57%, 65%, 1);
--md-code-hl-constant-color: hsla(250, 62%, 70%, 1);
--md-code-hl-keyword-color: hsla(219, 66%, 64%, 1);
--md-code-hl-string-color: hsla(150, 58%, 44%, 1);
--md-code-hl-name-color: var(--md-code-fg-color);
--md-code-hl-operator-color: var(--md-default-fg-color--light);
--md-code-hl-punctuation-color: var(--md-default-fg-color--light);
--md-code-hl-comment-color: var(--md-default-fg-color--light);
--md-code-hl-generic-color: var(--md-default-fg-color--light);
--md-code-hl-variable-color: var(--md-default-fg-color--light);
--md-typeset-color: var(--md-default-fg-color);
--md-typeset-a-color: var(--md-primary-fg-color);
--md-typeset-mark-color: hsla(218, 100%, 63%, 0.3);
--md-typeset-kbd-color: hsla(var(--md-hue), 15%, 94%, 0.12);
--md-typeset-kbd-accent-color: hsla(var(--md-hue), 15%, 94%, 0.2);
--md-typeset-kbd-border-color: hsla(var(--md-hue), 15%, 14%, 1);
--md-typeset-table-color: hsla(var(--md-hue), 75%, 95%, 0.12);
--md-admonition-bg-color: hsla(var(--md-hue), 0%, 100%, 0.025);
--md-footer-bg-color: hsla(var(--md-hue), 15%, 12%, 0.87);
--md-footer-bg-color--dark: hsla(var(--md-hue), 15%, 10%, 1);
}
[data-md-color-scheme=slate][data-md-color-primary=black], [data-md-color-scheme=slate][data-md-color-primary=white] {
--md-typeset-a-color: hsla(231, 44%, 56%, 1);
}
}
/*# sourceMappingURL=palette.css.map */

File diff suppressed because one or more lines are too long

View File

@ -34,10 +34,10 @@
{% endif %} {% endif %}
{% endblock %} {% endblock %}
{% block styles %} {% block styles %}
<link rel="stylesheet" href="{{ 'assets/stylesheets/main.css' | url }}"> <link rel="stylesheet" href="{{ 'assets/stylesheets/main.0c73cc44.min.css' | url }}">
{% if config.theme.palette %} {% if config.theme.palette %}
{% set palette = config.theme.palette %} {% set palette = config.theme.palette %}
<link rel="stylesheet" href="{{ 'assets/stylesheets/palette.css' | url }}"> <link rel="stylesheet" href="{{ 'assets/stylesheets/palette.9204c3b2.min.css' | url }}">
{% if palette.primary %} {% if palette.primary %}
{% import "partials/palette.html" as map %} {% import "partials/palette.html" as map %}
{% set primary = map.primary( {% set primary = map.primary(
@ -184,7 +184,7 @@
"base": base_url, "base": base_url,
"features": features, "features": features,
"translations": {}, "translations": {},
"search": "assets/javascripts/workers/search.js" | url, "search": "assets/javascripts/workers/search.01824240.min.js" | url,
"version": config.extra.version or None "version": config.extra.version or None
} -%} } -%}
{%- set translations = app.translations -%} {%- set translations = app.translations -%}
@ -211,7 +211,7 @@
</script> </script>
{% endblock %} {% endblock %}
{% block scripts %} {% block scripts %}
<script src="{{ 'assets/javascripts/bundle.js' | url }}"></script> <script src="{{ 'assets/javascripts/bundle.84d06bff.min.js' | url }}"></script>
{% for path in config["extra_javascript"] %} {% for path in config["extra_javascript"] %}
<script src="{{ path | url }}"></script> <script src="{{ path | url }}"></script>
{% endfor %} {% endfor %}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@ -1,298 +0,0 @@
@-webkit-keyframes mdx-heart {
0%, 40%, 80%, 100% {
transform: scale(1);
}
20%, 60% {
transform: scale(1.15);
}
}
@keyframes mdx-heart {
0%, 40%, 80%, 100% {
transform: scale(1);
}
20%, 60% {
transform: scale(1.15);
}
}
.md-typeset .twitter {
color: #00acee;
}
.md-typeset .mdx-video {
width: auto;
}
.md-typeset .mdx-video__inner {
position: relative;
width: 100%;
height: 0;
padding-bottom: 56.138%;
}
.md-typeset .mdx-video iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
overflow: hidden;
border: none;
}
.md-typeset .mdx-heart {
-webkit-animation: mdx-heart 1000ms infinite;
animation: mdx-heart 1000ms infinite;
}
.md-typeset .mdx-insiders {
color: #e91e63;
}
.md-typeset .mdx-switch button {
cursor: pointer;
transition: opacity 250ms;
}
.md-typeset .mdx-switch button:focus, .md-typeset .mdx-switch button:hover {
opacity: 0.75;
}
.md-typeset .mdx-switch button > code {
display: block;
color: var(--md-primary-bg-color);
background-color: var(--md-primary-fg-color);
}
.md-typeset .mdx-deprecated {
opacity: 0.5;
transition: opacity 250ms;
}
.md-typeset .mdx-deprecated:focus-within, .md-typeset .mdx-deprecated:hover {
opacity: 1;
}
.md-typeset .mdx-columns ol,
.md-typeset .mdx-columns ul {
columns: 2;
}
@media screen and (max-width: 29.9375em) {
.md-typeset .mdx-columns ol,
.md-typeset .mdx-columns ul {
columns: initial;
}
}
.md-typeset .mdx-columns li {
break-inside: avoid;
}
.md-typeset .mdx-author {
display: flex;
font-size: 0.68rem;
}
.md-typeset .mdx-author img {
height: 2rem;
border-radius: 100%;
}
.md-typeset .mdx-author p:first-child {
flex-shrink: 0;
margin-right: 0.8rem;
}
.md-typeset .mdx-author p > span {
display: block;
}
.md-banner a,
.md-banner a:focus,
.md-banner a:hover {
color: currentColor;
}
.md-banner strong {
white-space: nowrap;
}
.md-banner .twitter {
margin-left: 0.2em;
}
.mdx-container {
padding-top: 1rem;
background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1123 258'><path d='M1124,2c0,0 0,256 0,256l-1125,0l0,-48c0,0 16,5 55,5c116,0 197,-92 325,-92c121,0 114,46 254,46c140,0 214,-167 572,-166Z' style='fill: hsla(0, 0%, 100%, 1)' /></svg>") no-repeat bottom, linear-gradient(to bottom, var(--md-primary-fg-color), #a63fd9 99%, var(--md-default-bg-color) 99%);
}
[data-md-color-scheme=slate] .mdx-container {
background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1123 258'><path d='M1124,2c0,0 0,256 0,256l-1125,0l0,-48c0,0 16,5 55,5c116,0 197,-92 325,-92c121,0 114,46 254,46c140,0 214,-167 572,-166Z' style='fill: hsla(232, 15%, 21%, 1)' /></svg>") no-repeat bottom, linear-gradient(to bottom, var(--md-primary-fg-color), #a63fd9 99%, var(--md-default-bg-color) 99%);
}
.mdx-hero {
margin: 0 0.8rem;
color: var(--md-primary-bg-color);
}
.mdx-hero h1 {
margin-bottom: 1rem;
color: currentColor;
font-weight: 700;
}
@media screen and (max-width: 29.9375em) {
.mdx-hero h1 {
font-size: 1.4rem;
}
}
.mdx-hero__content {
padding-bottom: 6rem;
}
@media screen and (min-width: 60em) {
.mdx-hero {
display: flex;
align-items: stretch;
}
.mdx-hero__content {
max-width: 19rem;
margin-top: 3.5rem;
padding-bottom: 14vw;
}
.mdx-hero__image {
order: 1;
width: 38rem;
transform: translateX(4rem);
}
}
@media screen and (min-width: 76.25em) {
.mdx-hero__image {
transform: translateX(8rem);
}
}
.mdx-hero .md-button {
margin-top: 0.5rem;
margin-right: 0.5rem;
color: var(--md-primary-bg-color);
}
.mdx-hero .md-button:focus, .mdx-hero .md-button:hover {
color: var(--md-accent-bg-color);
background-color: var(--md-accent-fg-color);
border-color: var(--md-accent-fg-color);
}
.mdx-hero .md-button--primary {
color: #894da8;
background-color: var(--md-primary-bg-color);
border-color: var(--md-primary-bg-color);
}
.md-typeset .mdx-iconsearch {
position: relative;
background-color: var(--md-default-bg-color);
border-radius: 0.1rem;
box-shadow: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.1), 0 0.025rem 0.05rem rgba(0, 0, 0, 0.1);
transition: box-shadow 125ms;
}
.md-typeset .mdx-iconsearch:focus-within, .md-typeset .mdx-iconsearch:hover {
box-shadow: 0 0.4rem 1rem rgba(0, 0, 0, 0.15), 0 0.025rem 0.05rem rgba(0, 0, 0, 0.15);
}
.md-typeset .mdx-iconsearch .md-input {
background: var(--md-default-bg-color);
box-shadow: 0 0 0.6rem rgba(0, 0, 0, 0.07);
}
[data-md-color-scheme=slate] .md-typeset .mdx-iconsearch .md-input {
background: var(--md-code-bg-color);
}
.md-typeset .mdx-iconsearch-result {
max-height: 50vh;
overflow-y: auto;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
touch-action: pan-y;
scrollbar-width: thin;
scrollbar-color: var(--md-default-fg-color--lighter) transparent;
}
.md-typeset .mdx-iconsearch-result::-webkit-scrollbar {
width: 0.2rem;
height: 0.2rem;
}
.md-typeset .mdx-iconsearch-result::-webkit-scrollbar-thumb {
background-color: var(--md-default-fg-color--lighter);
}
.md-typeset .mdx-iconsearch-result::-webkit-scrollbar-thumb:hover {
background-color: var(--md-accent-fg-color);
}
.md-typeset .mdx-iconsearch-result__meta {
position: absolute;
top: 0.4rem;
right: 0.6rem;
color: var(--md-default-fg-color--lighter);
font-size: 0.64rem;
}
.md-typeset .mdx-iconsearch-result__list {
margin: 0;
padding: 0;
list-style: none;
}
.md-typeset .mdx-iconsearch-result__item {
margin: 0;
padding: 0.2rem 0.6rem;
border-bottom: 0.05rem solid var(--md-default-fg-color--lightest);
}
.md-typeset .mdx-iconsearch-result__item:last-child {
border-bottom: none;
}
.md-typeset .mdx-iconsearch-result__item > * {
margin-right: 0.6rem;
}
.md-typeset .mdx-iconsearch-result__item img {
width: 0.9rem;
height: 0.9rem;
}
[data-md-color-scheme=slate] .md-typeset .mdx-iconsearch-result__item img[src*=squidfunk] {
filter: invert(1);
/* stylelint-disable-line */
}
.md-typeset .mdx-premium p {
margin: 2em 0;
text-align: center;
}
.md-typeset .mdx-premium img {
height: 3.25rem;
}
.md-typeset .mdx-premium p:last-child {
display: flex;
flex-wrap: wrap;
justify-content: center;
}
.md-typeset .mdx-premium p:last-child > a {
display: block;
flex-shrink: 0;
}
.md-typeset .mdx-sponsorship__list {
margin: 2em 0;
}
.md-typeset .mdx-sponsorship__list::after {
display: block;
clear: both;
content: "";
}
.md-typeset .mdx-sponsorship__item {
display: block;
float: left;
width: 1.6rem;
height: 1.6rem;
margin: 0.2rem;
overflow: hidden;
border-radius: 100%;
transform: scale(1);
transition: color 125ms, transform 125ms;
}
.md-typeset .mdx-sponsorship__item:focus, .md-typeset .mdx-sponsorship__item:hover {
transform: scale(1.1);
}
.md-typeset .mdx-sponsorship__item:focus img, .md-typeset .mdx-sponsorship__item:hover img {
filter: grayscale(0%);
}
.md-typeset .mdx-sponsorship__item--private {
color: var(--md-default-fg-color--lighter);
font-weight: 700;
font-size: 0.6rem;
line-height: 1.6rem;
text-align: center;
background: var(--md-default-fg-color--lightest);
}
.md-typeset .mdx-sponsorship__item img {
display: block;
width: 100%;
height: auto;
filter: grayscale(100%) opacity(75%);
transition: filter 125ms;
}
.md-typeset .mdx-sponsorship-button {
font-weight: 400;
}
.md-typeset .mdx-sponsorship-count,
.md-typeset .mdx-sponsorship-total {
font-weight: 700;
}
/*# sourceMappingURL=main.css.map */

File diff suppressed because one or more lines are too long

View File

@ -3,7 +3,7 @@
-#} -#}
{% extends "base.html" %} {% extends "base.html" %}
{% block extrahead %} {% block extrahead %}
<link rel="stylesheet" href="{{ 'overrides/assets/stylesheets/main.css' | url }}"> <link rel="stylesheet" href="{{ 'overrides/assets/stylesheets/main.db932f97.min.css' | url }}">
{% endblock %} {% endblock %}
{% block announce %} {% block announce %}
<a href="https://twitter.com/squidfunk"> <a href="https://twitter.com/squidfunk">
@ -16,5 +16,5 @@
{% endblock %} {% endblock %}
{% block scripts %} {% block scripts %}
{{ super() }} {{ super() }}
<script src="{{ 'overrides/assets/javascripts/bundle.js' | url }}"></script> <script src="{{ 'overrides/assets/javascripts/bundle.a8b5c64f.min.js' | url }}"></script>
{% endblock %} {% endblock %}

419
package-lock.json generated
View File

@ -455,9 +455,9 @@
"dev": true "dev": true
}, },
"@mdi/svg": { "@mdi/svg": {
"version": "6.4.95", "version": "6.5.95",
"resolved": "https://registry.npmjs.org/@mdi/svg/-/svg-6.4.95.tgz", "resolved": "https://registry.npmjs.org/@mdi/svg/-/svg-6.5.95.tgz",
"integrity": "sha512-74m8LgpG0y44STh3QW6mNC0ACMaKsxzRrpu7opDzoco+vTZCVQaHmXMFabQkAcmZe6ctl3d1eTBYwa7+ySEpRw==", "integrity": "sha512-yGhx5TgmYSMkduhwFgi4KvdBSXv50MbaU8AJFzEpJ6KZGM2LQOEKGclt7ff3UwF3s9Z+RnOSfLrwMQ6BTzY5+A==",
"dev": true "dev": true
}, },
"@mrmlnc/readdir-enhanced": { "@mrmlnc/readdir-enhanced": {
@ -748,9 +748,9 @@
"dev": true "dev": true
}, },
"@types/node": { "@types/node": {
"version": "16.11.7", "version": "16.11.9",
"resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.7.tgz", "resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.9.tgz",
"integrity": "sha512-QB5D2sqfSjCmTuWcBWyJ+/44bcjO7VbjSbOE0ucoVbAsSNQc4Lt6QkgkVXkTDwkL4z/beecZNDvVX15D4P8Jbw==", "integrity": "sha512-MKmdASMf3LtPzwLyRrFjtFFZ48cMf8jmX5VRYrDQiJa8Ybu5VAmkqBWqKU8fdCwD8ysw4mQ9nrEHvzg6gunR7A==",
"dev": true "dev": true
}, },
"@types/normalize-package-data": { "@types/normalize-package-data": {
@ -822,13 +822,13 @@
} }
}, },
"@typescript-eslint/eslint-plugin": { "@typescript-eslint/eslint-plugin": {
"version": "5.3.1", "version": "5.4.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.3.1.tgz", "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.4.0.tgz",
"integrity": "sha512-cFImaoIr5Ojj358xI/SDhjog57OK2NqlpxwdcgyxDA3bJlZcJq5CPzUXtpD7CxI2Hm6ATU7w5fQnnkVnmwpHqw==", "integrity": "sha512-9/yPSBlwzsetCsGEn9j24D8vGQgJkOTr4oMLas/w886ZtzKIs1iyoqFrwsX2fqYEeUwsdBpC21gcjRGo57u0eg==",
"dev": true, "dev": true,
"requires": { "requires": {
"@typescript-eslint/experimental-utils": "5.3.1", "@typescript-eslint/experimental-utils": "5.4.0",
"@typescript-eslint/scope-manager": "5.3.1", "@typescript-eslint/scope-manager": "5.4.0",
"debug": "^4.3.2", "debug": "^4.3.2",
"functional-red-black-tree": "^1.0.1", "functional-red-black-tree": "^1.0.1",
"ignore": "^5.1.8", "ignore": "^5.1.8",
@ -858,28 +858,28 @@
} }
}, },
"@typescript-eslint/experimental-utils": { "@typescript-eslint/experimental-utils": {
"version": "5.3.1", "version": "5.4.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.3.1.tgz", "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.4.0.tgz",
"integrity": "sha512-RgFn5asjZ5daUhbK5Sp0peq0SSMytqcrkNfU4pnDma2D8P3ElZ6JbYjY8IMSFfZAJ0f3x3tnO3vXHweYg0g59w==", "integrity": "sha512-Nz2JDIQUdmIGd6p33A+naQmwfkU5KVTLb/5lTk+tLVTDacZKoGQisj8UCxk7onJcrgjIvr8xWqkYI+DbI3TfXg==",
"dev": true, "dev": true,
"requires": { "requires": {
"@types/json-schema": "^7.0.9", "@types/json-schema": "^7.0.9",
"@typescript-eslint/scope-manager": "5.3.1", "@typescript-eslint/scope-manager": "5.4.0",
"@typescript-eslint/types": "5.3.1", "@typescript-eslint/types": "5.4.0",
"@typescript-eslint/typescript-estree": "5.3.1", "@typescript-eslint/typescript-estree": "5.4.0",
"eslint-scope": "^5.1.1", "eslint-scope": "^5.1.1",
"eslint-utils": "^3.0.0" "eslint-utils": "^3.0.0"
} }
}, },
"@typescript-eslint/parser": { "@typescript-eslint/parser": {
"version": "5.3.1", "version": "5.4.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.3.1.tgz", "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.4.0.tgz",
"integrity": "sha512-TD+ONlx5c+Qhk21x9gsJAMRohWAUMavSOmJgv3JGy9dgPhuBd5Wok0lmMClZDyJNLLZK1JRKiATzCKZNUmoyfw==", "integrity": "sha512-JoB41EmxiYpaEsRwpZEYAJ9XQURPFer8hpkIW9GiaspVLX8oqbqNM8P4EP8HOZg96yaALiLEVWllA2E8vwsIKw==",
"dev": true, "dev": true,
"requires": { "requires": {
"@typescript-eslint/scope-manager": "5.3.1", "@typescript-eslint/scope-manager": "5.4.0",
"@typescript-eslint/types": "5.3.1", "@typescript-eslint/types": "5.4.0",
"@typescript-eslint/typescript-estree": "5.3.1", "@typescript-eslint/typescript-estree": "5.4.0",
"debug": "^4.3.2" "debug": "^4.3.2"
}, },
"dependencies": { "dependencies": {
@ -895,29 +895,29 @@
} }
}, },
"@typescript-eslint/scope-manager": { "@typescript-eslint/scope-manager": {
"version": "5.3.1", "version": "5.4.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.3.1.tgz", "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.4.0.tgz",
"integrity": "sha512-XksFVBgAq0Y9H40BDbuPOTUIp7dn4u8oOuhcgGq7EoDP50eqcafkMVGrypyVGvDYHzjhdUCUwuwVUK4JhkMAMg==", "integrity": "sha512-pRxFjYwoi8R+n+sibjgF9iUiAELU9ihPBtHzocyW8v8D8G8KeQvXTsW7+CBYIyTYsmhtNk50QPGLE3vrvhM5KA==",
"dev": true, "dev": true,
"requires": { "requires": {
"@typescript-eslint/types": "5.3.1", "@typescript-eslint/types": "5.4.0",
"@typescript-eslint/visitor-keys": "5.3.1" "@typescript-eslint/visitor-keys": "5.4.0"
} }
}, },
"@typescript-eslint/types": { "@typescript-eslint/types": {
"version": "5.3.1", "version": "5.4.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.3.1.tgz", "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.4.0.tgz",
"integrity": "sha512-bG7HeBLolxKHtdHG54Uac750eXuQQPpdJfCYuw4ZI3bZ7+GgKClMWM8jExBtp7NSP4m8PmLRM8+lhzkYnSmSxQ==", "integrity": "sha512-GjXNpmn+n1LvnttarX+sPD6+S7giO+9LxDIGlRl4wK3a7qMWALOHYuVSZpPTfEIklYjaWuMtfKdeByx0AcaThA==",
"dev": true "dev": true
}, },
"@typescript-eslint/typescript-estree": { "@typescript-eslint/typescript-estree": {
"version": "5.3.1", "version": "5.4.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.3.1.tgz", "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.4.0.tgz",
"integrity": "sha512-PwFbh/PKDVo/Wct6N3w+E4rLZxUDgsoII/GrWM2A62ETOzJd4M6s0Mu7w4CWsZraTbaC5UQI+dLeyOIFF1PquQ==", "integrity": "sha512-nhlNoBdhKuwiLMx6GrybPT3SFILm5Gij2YBdPEPFlYNFAXUJWX6QRgvi/lwVoadaQEFsizohs6aFRMqsXI2ewA==",
"dev": true, "dev": true,
"requires": { "requires": {
"@typescript-eslint/types": "5.3.1", "@typescript-eslint/types": "5.4.0",
"@typescript-eslint/visitor-keys": "5.3.1", "@typescript-eslint/visitor-keys": "5.4.0",
"debug": "^4.3.2", "debug": "^4.3.2",
"globby": "^11.0.4", "globby": "^11.0.4",
"is-glob": "^4.0.3", "is-glob": "^4.0.3",
@ -955,12 +955,12 @@
} }
}, },
"@typescript-eslint/visitor-keys": { "@typescript-eslint/visitor-keys": {
"version": "5.3.1", "version": "5.4.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.3.1.tgz", "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.4.0.tgz",
"integrity": "sha512-3cHUzUuVTuNHx0Gjjt5pEHa87+lzyqOiHXy/Gz+SJOCW1mpw9xQHIIEwnKn+Thph1mgWyZ90nboOcSuZr/jTTQ==", "integrity": "sha512-PVbax7MeE7tdLfW5SA0fs8NGVVr+buMPrcj+CWYWPXsZCH8qZ1THufDzbXm1xrZ2b2PA1iENJ0sRq5fuUtvsJg==",
"dev": true, "dev": true,
"requires": { "requires": {
"@typescript-eslint/types": "5.3.1", "@typescript-eslint/types": "5.4.0",
"eslint-visitor-keys": "^3.0.0" "eslint-visitor-keys": "^3.0.0"
} }
}, },
@ -2179,12 +2179,6 @@
"integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==",
"dev": true "dev": true
}, },
"css-color-names": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-1.0.1.tgz",
"integrity": "sha512-/loXYOch1qU1biStIFsHH8SxTmOseh1IJqFvy8IujXOm1h+QjUdDhkzOrR5HG8K8mlxREj0yfi8ewCHx0eMxzA==",
"dev": true
},
"css-declaration-sorter": { "css-declaration-sorter": {
"version": "6.1.3", "version": "6.1.3",
"resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.1.3.tgz", "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.1.3.tgz",
@ -2269,21 +2263,21 @@
"dev": true "dev": true
}, },
"cssnano": { "cssnano": {
"version": "5.0.10", "version": "5.0.11",
"resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.0.10.tgz", "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.0.11.tgz",
"integrity": "sha512-YfNhVJJ04imffOpbPbXP2zjIoByf0m8E2c/s/HnvSvjXgzXMfgopVjAEGvxYOjkOpWuRQDg/OZFjO7WW94Ri8w==", "integrity": "sha512-5SHM31NAAe29jvy0MJqK40zZ/8dGlnlzcfHKw00bWMVFp8LWqtuyPSFwbaoIoxvt71KWJOfg8HMRGrBR3PExCg==",
"dev": true, "dev": true,
"requires": { "requires": {
"cssnano-preset-default": "^5.1.6", "cssnano-preset-default": "^5.1.7",
"is-resolvable": "^1.1.0", "is-resolvable": "^1.1.0",
"lilconfig": "^2.0.3", "lilconfig": "^2.0.3",
"yaml": "^1.10.2" "yaml": "^1.10.2"
} }
}, },
"cssnano-preset-default": { "cssnano-preset-default": {
"version": "5.1.6", "version": "5.1.7",
"resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.1.6.tgz", "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.1.7.tgz",
"integrity": "sha512-X2nDeNGBXc0486oHjT2vSj+TdeyVsxRvJUxaOH50hOM6vSDLkKd0+59YXpSZRInJ4sNtBOykS4KsPfhdrU/35w==", "integrity": "sha512-bWDjtTY+BOqrqBtsSQIbN0RLGD2Yr2CnecpP0ydHNafh9ZUEre8c8VYTaH9FEbyOt0eIfEUAYYk5zj92ioO8LA==",
"dev": true, "dev": true,
"requires": { "requires": {
"css-declaration-sorter": "^6.0.3", "css-declaration-sorter": "^6.0.3",
@ -2295,11 +2289,11 @@
"postcss-discard-duplicates": "^5.0.1", "postcss-discard-duplicates": "^5.0.1",
"postcss-discard-empty": "^5.0.1", "postcss-discard-empty": "^5.0.1",
"postcss-discard-overridden": "^5.0.1", "postcss-discard-overridden": "^5.0.1",
"postcss-merge-longhand": "^5.0.3", "postcss-merge-longhand": "^5.0.4",
"postcss-merge-rules": "^5.0.2", "postcss-merge-rules": "^5.0.3",
"postcss-minify-font-values": "^5.0.1", "postcss-minify-font-values": "^5.0.1",
"postcss-minify-gradients": "^5.0.3", "postcss-minify-gradients": "^5.0.3",
"postcss-minify-params": "^5.0.1", "postcss-minify-params": "^5.0.2",
"postcss-minify-selectors": "^5.1.0", "postcss-minify-selectors": "^5.1.0",
"postcss-normalize-charset": "^5.0.1", "postcss-normalize-charset": "^5.0.1",
"postcss-normalize-display-values": "^5.0.1", "postcss-normalize-display-values": "^5.0.1",
@ -2308,13 +2302,13 @@
"postcss-normalize-string": "^5.0.1", "postcss-normalize-string": "^5.0.1",
"postcss-normalize-timing-functions": "^5.0.1", "postcss-normalize-timing-functions": "^5.0.1",
"postcss-normalize-unicode": "^5.0.1", "postcss-normalize-unicode": "^5.0.1",
"postcss-normalize-url": "^5.0.2", "postcss-normalize-url": "^5.0.3",
"postcss-normalize-whitespace": "^5.0.1", "postcss-normalize-whitespace": "^5.0.1",
"postcss-ordered-values": "^5.0.2", "postcss-ordered-values": "^5.0.2",
"postcss-reduce-initial": "^5.0.1", "postcss-reduce-initial": "^5.0.1",
"postcss-reduce-transforms": "^5.0.1", "postcss-reduce-transforms": "^5.0.1",
"postcss-svgo": "^5.0.3", "postcss-svgo": "^5.0.3",
"postcss-unique-selectors": "^5.0.1" "postcss-unique-selectors": "^5.0.2"
} }
}, },
"cssnano-utils": { "cssnano-utils": {
@ -2682,146 +2676,146 @@
} }
}, },
"esbuild": { "esbuild": {
"version": "0.13.13", "version": "0.13.15",
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.13.13.tgz", "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.13.15.tgz",
"integrity": "sha512-Z17A/R6D0b4s3MousytQ/5i7mTCbaF+Ua/yPfoe71vdTv4KBvVAvQ/6ytMngM2DwGJosl8WxaD75NOQl2QF26Q==", "integrity": "sha512-raCxt02HBKv8RJxE8vkTSCXGIyKHdEdGfUmiYb8wnabnaEmHzyW7DCHb5tEN0xU8ryqg5xw54mcwnYkC4x3AIw==",
"dev": true, "dev": true,
"requires": { "requires": {
"esbuild-android-arm64": "0.13.13", "esbuild-android-arm64": "0.13.15",
"esbuild-darwin-64": "0.13.13", "esbuild-darwin-64": "0.13.15",
"esbuild-darwin-arm64": "0.13.13", "esbuild-darwin-arm64": "0.13.15",
"esbuild-freebsd-64": "0.13.13", "esbuild-freebsd-64": "0.13.15",
"esbuild-freebsd-arm64": "0.13.13", "esbuild-freebsd-arm64": "0.13.15",
"esbuild-linux-32": "0.13.13", "esbuild-linux-32": "0.13.15",
"esbuild-linux-64": "0.13.13", "esbuild-linux-64": "0.13.15",
"esbuild-linux-arm": "0.13.13", "esbuild-linux-arm": "0.13.15",
"esbuild-linux-arm64": "0.13.13", "esbuild-linux-arm64": "0.13.15",
"esbuild-linux-mips64le": "0.13.13", "esbuild-linux-mips64le": "0.13.15",
"esbuild-linux-ppc64le": "0.13.13", "esbuild-linux-ppc64le": "0.13.15",
"esbuild-netbsd-64": "0.13.13", "esbuild-netbsd-64": "0.13.15",
"esbuild-openbsd-64": "0.13.13", "esbuild-openbsd-64": "0.13.15",
"esbuild-sunos-64": "0.13.13", "esbuild-sunos-64": "0.13.15",
"esbuild-windows-32": "0.13.13", "esbuild-windows-32": "0.13.15",
"esbuild-windows-64": "0.13.13", "esbuild-windows-64": "0.13.15",
"esbuild-windows-arm64": "0.13.13" "esbuild-windows-arm64": "0.13.15"
} }
}, },
"esbuild-android-arm64": { "esbuild-android-arm64": {
"version": "0.13.13", "version": "0.13.15",
"resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.13.13.tgz", "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.13.15.tgz",
"integrity": "sha512-T02aneWWguJrF082jZworjU6vm8f4UQ+IH2K3HREtlqoY9voiJUwHLRL6khRlsNLzVglqgqb7a3HfGx7hAADCQ==", "integrity": "sha512-m602nft/XXeO8YQPUDVoHfjyRVPdPgjyyXOxZ44MK/agewFFkPa8tUo6lAzSWh5Ui5PB4KR9UIFTSBKh/RrCmg==",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"esbuild-darwin-64": { "esbuild-darwin-64": {
"version": "0.13.13", "version": "0.13.15",
"resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.13.13.tgz", "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.13.15.tgz",
"integrity": "sha512-wkaiGAsN/09X9kDlkxFfbbIgR78SNjMOfUhoel3CqKBDsi9uZhw7HBNHNxTzYUK8X8LAKFpbODgcRB3b/I8gHA==", "integrity": "sha512-ihOQRGs2yyp7t5bArCwnvn2Atr6X4axqPpEdCFPVp7iUj4cVSdisgvEKdNR7yH3JDjW6aQDw40iQFoTqejqxvQ==",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"esbuild-darwin-arm64": { "esbuild-darwin-arm64": {
"version": "0.13.13", "version": "0.13.15",
"resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.13.13.tgz", "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.13.15.tgz",
"integrity": "sha512-b02/nNKGSV85Gw9pUCI5B48AYjk0vFggDeom0S6QMP/cEDtjSh1WVfoIFNAaLA0MHWfue8KBwoGVsN7rBshs4g==", "integrity": "sha512-i1FZssTVxUqNlJ6cBTj5YQj4imWy3m49RZRnHhLpefFIh0To05ow9DTrXROTE1urGTQCloFUXTX8QfGJy1P8dQ==",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"esbuild-freebsd-64": { "esbuild-freebsd-64": {
"version": "0.13.13", "version": "0.13.15",
"resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.13.13.tgz", "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.13.15.tgz",
"integrity": "sha512-ALgXYNYDzk9YPVk80A+G4vz2D22Gv4j4y25exDBGgqTcwrVQP8rf/rjwUjHoh9apP76oLbUZTmUmvCMuTI1V9A==", "integrity": "sha512-G3dLBXUI6lC6Z09/x+WtXBXbOYQZ0E8TDBqvn7aMaOCzryJs8LyVXKY4CPnHFXZAbSwkCbqiPuSQ1+HhrNk7EA==",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"esbuild-freebsd-arm64": { "esbuild-freebsd-arm64": {
"version": "0.13.13", "version": "0.13.15",
"resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.13.13.tgz", "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.13.15.tgz",
"integrity": "sha512-uFvkCpsZ1yqWQuonw5T1WZ4j59xP/PCvtu6I4pbLejhNo4nwjW6YalqnBvBSORq5/Ifo9S/wsIlVHzkzEwdtlw==", "integrity": "sha512-KJx0fzEDf1uhNOZQStV4ujg30WlnwqUASaGSFPhznLM/bbheu9HhqZ6mJJZM32lkyfGJikw0jg7v3S0oAvtvQQ==",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"esbuild-linux-32": { "esbuild-linux-32": {
"version": "0.13.13", "version": "0.13.15",
"resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.13.13.tgz", "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.13.15.tgz",
"integrity": "sha512-yxR9BBwEPs9acVEwTrEE2JJNHYVuPQC9YGjRfbNqtyfK/vVBQYuw8JaeRFAvFs3pVJdQD0C2BNP4q9d62SCP4w==", "integrity": "sha512-ZvTBPk0YWCLMCXiFmD5EUtB30zIPvC5Itxz0mdTu/xZBbbHJftQgLWY49wEPSn2T/TxahYCRDWun5smRa0Tu+g==",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"esbuild-linux-64": { "esbuild-linux-64": {
"version": "0.13.13", "version": "0.13.15",
"resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.13.13.tgz", "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.13.15.tgz",
"integrity": "sha512-kzhjlrlJ+6ESRB/n12WTGll94+y+HFeyoWsOrLo/Si0s0f+Vip4b8vlnG0GSiS6JTsWYAtGHReGczFOaETlKIw==", "integrity": "sha512-eCKzkNSLywNeQTRBxJRQ0jxRCl2YWdMB3+PkWFo2BBQYC5mISLIVIjThNtn6HUNqua1pnvgP5xX0nHbZbPj5oA==",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"esbuild-linux-arm": { "esbuild-linux-arm": {
"version": "0.13.13", "version": "0.13.15",
"resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.13.13.tgz", "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.13.15.tgz",
"integrity": "sha512-hXub4pcEds+U1TfvLp1maJ+GHRw7oizvzbGRdUvVDwtITtjq8qpHV5Q5hWNNn6Q+b3b2UxF03JcgnpzCw96nUQ==", "integrity": "sha512-wUHttDi/ol0tD8ZgUMDH8Ef7IbDX+/UsWJOXaAyTdkT7Yy9ZBqPg8bgB/Dn3CZ9SBpNieozrPRHm0BGww7W/jA==",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"esbuild-linux-arm64": { "esbuild-linux-arm64": {
"version": "0.13.13", "version": "0.13.15",
"resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.13.13.tgz", "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.13.15.tgz",
"integrity": "sha512-KMrEfnVbmmJxT3vfTnPv/AiXpBFbbyExH13BsUGy1HZRPFMi5Gev5gk8kJIZCQSRfNR17aqq8sO5Crm2KpZkng==", "integrity": "sha512-bYpuUlN6qYU9slzr/ltyLTR9YTBS7qUDymO8SV7kjeNext61OdmqFAzuVZom+OLW1HPHseBfJ/JfdSlx8oTUoA==",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"esbuild-linux-mips64le": { "esbuild-linux-mips64le": {
"version": "0.13.13", "version": "0.13.15",
"resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.13.13.tgz", "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.13.15.tgz",
"integrity": "sha512-cJT9O1LYljqnnqlHaS0hdG73t7hHzF3zcN0BPsjvBq+5Ad47VJun+/IG4inPhk8ta0aEDK6LdP+F9299xa483w==", "integrity": "sha512-KlVjIG828uFPyJkO/8gKwy9RbXhCEUeFsCGOJBepUlpa7G8/SeZgncUEz/tOOUJTcWMTmFMtdd3GElGyAtbSWg==",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"esbuild-linux-ppc64le": { "esbuild-linux-ppc64le": {
"version": "0.13.13", "version": "0.13.15",
"resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.13.13.tgz", "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.13.15.tgz",
"integrity": "sha512-+rghW8st6/7O6QJqAjVK3eXzKkZqYAw6LgHv7yTMiJ6ASnNvghSeOcIvXFep3W2oaJc35SgSPf21Ugh0o777qQ==", "integrity": "sha512-h6gYF+OsaqEuBjeesTBtUPw0bmiDu7eAeuc2OEH9S6mV9/jPhPdhOWzdeshb0BskRZxPhxPOjqZ+/OqLcxQwEQ==",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"esbuild-netbsd-64": { "esbuild-netbsd-64": {
"version": "0.13.13", "version": "0.13.15",
"resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.13.13.tgz", "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.13.15.tgz",
"integrity": "sha512-A/B7rwmzPdzF8c3mht5TukbnNwY5qMJqes09ou0RSzA5/jm7Jwl/8z853ofujTFOLhkNHUf002EAgokzSgEMpQ==", "integrity": "sha512-3+yE9emwoevLMyvu+iR3rsa+Xwhie7ZEHMGDQ6dkqP/ndFzRHkobHUKTe+NCApSqG5ce2z4rFu+NX/UHnxlh3w==",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"esbuild-openbsd-64": { "esbuild-openbsd-64": {
"version": "0.13.13", "version": "0.13.15",
"resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.13.13.tgz", "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.13.15.tgz",
"integrity": "sha512-szwtuRA4rXKT3BbwoGpsff6G7nGxdKgUbW9LQo6nm0TVCCjDNDC/LXxT994duIW8Tyq04xZzzZSW7x7ttDiw1w==", "integrity": "sha512-wTfvtwYJYAFL1fSs8yHIdf5GEE4NkbtbXtjLWjM3Cw8mmQKqsg8kTiqJ9NJQe5NX/5Qlo7Xd9r1yKMMkHllp5g==",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"esbuild-sunos-64": { "esbuild-sunos-64": {
"version": "0.13.13", "version": "0.13.15",
"resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.13.13.tgz", "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.13.15.tgz",
"integrity": "sha512-ihyds9O48tVOYF48iaHYUK/boU5zRaLOXFS+OOL3ceD39AyHo46HVmsJLc7A2ez0AxNZCxuhu+P9OxfPfycTYQ==", "integrity": "sha512-lbivT9Bx3t1iWWrSnGyBP9ODriEvWDRiweAs69vI+miJoeKwHWOComSRukttbuzjZ8r1q0mQJ8Z7yUsDJ3hKdw==",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"esbuild-windows-32": { "esbuild-windows-32": {
"version": "0.13.13", "version": "0.13.15",
"resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.13.13.tgz", "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.13.15.tgz",
"integrity": "sha512-h2RTYwpG4ldGVJlbmORObmilzL8EECy8BFiF8trWE1ZPHLpECE9//J3Bi+W3eDUuv/TqUbiNpGrq4t/odbayUw==", "integrity": "sha512-fDMEf2g3SsJ599MBr50cY5ve5lP1wyVwTe6aLJsM01KtxyKkB4UT+fc5MXQFn3RLrAIAZOG+tHC+yXObpSn7Nw==",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"esbuild-windows-64": { "esbuild-windows-64": {
"version": "0.13.13", "version": "0.13.15",
"resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.13.13.tgz", "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.13.15.tgz",
"integrity": "sha512-oMrgjP4CjONvDHe7IZXHrMk3wX5Lof/IwFEIbwbhgbXGBaN2dke9PkViTiXC3zGJSGpMvATXVplEhlInJ0drHA==", "integrity": "sha512-9aMsPRGDWCd3bGjUIKG/ZOJPKsiztlxl/Q3C1XDswO6eNX/Jtwu4M+jb6YDH9hRSUflQWX0XKAfWzgy5Wk54JQ==",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"esbuild-windows-arm64": { "esbuild-windows-arm64": {
"version": "0.13.13", "version": "0.13.15",
"resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.13.13.tgz", "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.13.15.tgz",
"integrity": "sha512-6fsDfTuTvltYB5k+QPah/x7LrI2+OLAJLE3bWLDiZI6E8wXMQU+wLqtEO/U/RvJgVY1loPs5eMpUBpVajczh1A==", "integrity": "sha512-zzvyCVVpbwQQATaf3IG8mu1IwGEiDxKkYUdA4FpoCHi1KtPa13jeScYDjlW0Qh+ebWzpKfR2ZwvqAQkSWNcKjA==",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
@ -2849,9 +2843,9 @@
"dev": true "dev": true
}, },
"eslint": { "eslint": {
"version": "8.2.0", "version": "8.3.0",
"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.2.0.tgz", "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.3.0.tgz",
"integrity": "sha512-erw7XmM+CLxTOickrimJ1SiF55jiNlVSp2qqm0NuBWPtHYQCegD5ZMaW0c3i5ytPqL+SSLaCxdvQXFPLJn+ABw==", "integrity": "sha512-aIay56Ph6RxOTC7xyr59Kt3ewX185SaGnAr8eWukoPLeriCrvGjvAubxuvaXOfsxhtwV5g0uBOsyhAom4qJdww==",
"dev": true, "dev": true,
"requires": { "requires": {
"@eslint/eslintrc": "^1.0.4", "@eslint/eslintrc": "^1.0.4",
@ -2863,10 +2857,10 @@
"doctrine": "^3.0.0", "doctrine": "^3.0.0",
"enquirer": "^2.3.5", "enquirer": "^2.3.5",
"escape-string-regexp": "^4.0.0", "escape-string-regexp": "^4.0.0",
"eslint-scope": "^6.0.0", "eslint-scope": "^7.1.0",
"eslint-utils": "^3.0.0", "eslint-utils": "^3.0.0",
"eslint-visitor-keys": "^3.0.0", "eslint-visitor-keys": "^3.1.0",
"espree": "^9.0.0", "espree": "^9.1.0",
"esquery": "^1.4.0", "esquery": "^1.4.0",
"esutils": "^2.0.2", "esutils": "^2.0.2",
"fast-deep-equal": "^3.1.3", "fast-deep-equal": "^3.1.3",
@ -2950,9 +2944,9 @@
"dev": true "dev": true
}, },
"eslint-scope": { "eslint-scope": {
"version": "6.0.0", "version": "7.1.0",
"resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-6.0.0.tgz", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.0.tgz",
"integrity": "sha512-uRDL9MWmQCkaFus8RF5K9/L/2fn+80yoW3jkD53l4shjCh26fCtvJGasxjUqP5OT87SYTxCVA3BwTUzuELx9kA==", "integrity": "sha512-aWwkhnS0qAXqNOgKOK0dJ2nvzEbhEvpy8OlJ9kZ0FeZnA6zpjv1/Vei+puGFFX7zkPCkHHXb7IDX3A+7yPrRWg==",
"dev": true, "dev": true,
"requires": { "requires": {
"esrecurse": "^4.3.0", "esrecurse": "^4.3.0",
@ -3237,14 +3231,22 @@
"dev": true "dev": true
}, },
"espree": { "espree": {
"version": "9.0.0", "version": "9.1.0",
"resolved": "https://registry.npmjs.org/espree/-/espree-9.0.0.tgz", "resolved": "https://registry.npmjs.org/espree/-/espree-9.1.0.tgz",
"integrity": "sha512-r5EQJcYZ2oaGbeR0jR0fFVijGOcwai07/690YRXLINuhmVeRY4UKSAsQPe/0BNuDgwP7Ophoc1PRsr2E3tkbdQ==", "integrity": "sha512-ZgYLvCS1wxOczBYGcQT9DDWgicXwJ4dbocr9uYN+/eresBAUuBu+O4WzB21ufQ/JqQT8gyp7hJ3z8SHii32mTQ==",
"dev": true, "dev": true,
"requires": { "requires": {
"acorn": "^8.5.0", "acorn": "^8.6.0",
"acorn-jsx": "^5.3.1", "acorn-jsx": "^5.3.1",
"eslint-visitor-keys": "^3.0.0" "eslint-visitor-keys": "^3.1.0"
},
"dependencies": {
"acorn": {
"version": "8.6.0",
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.6.0.tgz",
"integrity": "sha512-U1riIR+lBSNi3IbxtaHOIKdH8sLFv3NYfNv8sg7ZsNhcfl4HF2++BfqqrNAxoCLQW1iiylOj76ecnaUxz+z9yw==",
"dev": true
}
} }
}, },
"esprima": { "esprima": {
@ -3559,9 +3561,9 @@
} }
}, },
"flatted": { "flatted": {
"version": "3.2.2", "version": "3.2.4",
"resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.2.tgz", "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.4.tgz",
"integrity": "sha512-JaTY/wtrcSyvXJl4IMFHPKyFur1sE9AUqc0QnhOaJ0CxHtAoIV8pYDzeEfAaNEtGkOfq4gr3LBFmdXW5mOQFnA==", "integrity": "sha512-8/sOawo8tJ4QOBX8YlQBMxL8+RLZfxMQOif9o0KUKTNTjMYElWPE0r/m5VNFxTRd0NSw8qSy8dajrwX4RYI1Hw==",
"dev": true "dev": true
}, },
"focus-visible": { "focus-visible": {
@ -4939,9 +4941,9 @@
"dev": true "dev": true
}, },
"lines-and-columns": { "lines-and-columns": {
"version": "1.1.6", "version": "1.2.4",
"resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
"integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=", "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==",
"dev": true "dev": true
}, },
"load-json-file": { "load-json-file": {
@ -4972,12 +4974,6 @@
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
"dev": true "dev": true
}, },
"lodash.clonedeep": {
"version": "4.5.0",
"resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz",
"integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=",
"dev": true
},
"lodash.memoize": { "lodash.memoize": {
"version": "4.1.2", "version": "4.1.2",
"resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz",
@ -6746,27 +6742,25 @@
"dev": true "dev": true
}, },
"postcss-merge-longhand": { "postcss-merge-longhand": {
"version": "5.0.3", "version": "5.0.4",
"resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.0.3.tgz", "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.0.4.tgz",
"integrity": "sha512-kmB+1TjMTj/bPw6MCDUiqSA5e/x4fvLffiAdthra3a0m2/IjTrWsTmD3FdSskzUjEwkj5ZHBDEbv5dOcqD7CMQ==", "integrity": "sha512-2lZrOVD+d81aoYkZDpWu6+3dTAAGkCKbV5DoRhnIR7KOULVrI/R7bcMjhrH9KTRy6iiHKqmtG+n/MMj1WmqHFw==",
"dev": true, "dev": true,
"requires": { "requires": {
"css-color-names": "^1.0.1",
"postcss-value-parser": "^4.1.0", "postcss-value-parser": "^4.1.0",
"stylehacks": "^5.0.1" "stylehacks": "^5.0.1"
} }
}, },
"postcss-merge-rules": { "postcss-merge-rules": {
"version": "5.0.2", "version": "5.0.3",
"resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.0.2.tgz", "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.0.3.tgz",
"integrity": "sha512-5K+Md7S3GwBewfB4rjDeol6V/RZ8S+v4B66Zk2gChRqLTCC8yjnHQ601omj9TKftS19OPGqZ/XzoqpzNQQLwbg==", "integrity": "sha512-cEKTMEbWazVa5NXd8deLdCnXl+6cYG7m2am+1HzqH0EnTdy8fRysatkaXb2dEnR+fdaDxTvuZ5zoBdv6efF6hg==",
"dev": true, "dev": true,
"requires": { "requires": {
"browserslist": "^4.16.6", "browserslist": "^4.16.6",
"caniuse-api": "^3.0.0", "caniuse-api": "^3.0.0",
"cssnano-utils": "^2.0.1", "cssnano-utils": "^2.0.1",
"postcss-selector-parser": "^6.0.5", "postcss-selector-parser": "^6.0.5"
"vendors": "^1.0.3"
} }
}, },
"postcss-minify-font-values": { "postcss-minify-font-values": {
@ -6790,16 +6784,15 @@
} }
}, },
"postcss-minify-params": { "postcss-minify-params": {
"version": "5.0.1", "version": "5.0.2",
"resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.0.1.tgz", "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.0.2.tgz",
"integrity": "sha512-4RUC4k2A/Q9mGco1Z8ODc7h+A0z7L7X2ypO1B6V8057eVK6mZ6xwz6QN64nHuHLbqbclkX1wyzRnIrdZehTEHw==", "integrity": "sha512-qJAPuBzxO1yhLad7h2Dzk/F7n1vPyfHfCCh5grjGfjhi1ttCnq4ZXGIW77GSrEbh9Hus9Lc/e/+tB4vh3/GpDg==",
"dev": true, "dev": true,
"requires": { "requires": {
"alphanum-sort": "^1.0.2", "alphanum-sort": "^1.0.2",
"browserslist": "^4.16.0", "browserslist": "^4.16.6",
"cssnano-utils": "^2.0.1", "cssnano-utils": "^2.0.1",
"postcss-value-parser": "^4.1.0", "postcss-value-parser": "^4.1.0"
"uniqs": "^2.0.0"
} }
}, },
"postcss-minify-selectors": { "postcss-minify-selectors": {
@ -6877,9 +6870,9 @@
} }
}, },
"postcss-normalize-url": { "postcss-normalize-url": {
"version": "5.0.2", "version": "5.0.3",
"resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.0.2.tgz", "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.0.3.tgz",
"integrity": "sha512-k4jLTPUxREQ5bpajFQZpx8bCF2UrlqOTzP9kEqcEnOfwsRshWs2+oAFIHfDQB8GO2PaUaSE0NlTAYtbluZTlHQ==", "integrity": "sha512-qWiUMbvkRx3kc1Dp5opzUwc7MBWZcSDK2yofCmdvFBCpx+zFPkxBC1FASQ59Pt+flYfj/nTZSkmF56+XG5elSg==",
"dev": true, "dev": true,
"requires": { "requires": {
"is-absolute-url": "^3.0.3", "is-absolute-url": "^3.0.3",
@ -7089,14 +7082,13 @@
"dev": true "dev": true
}, },
"postcss-unique-selectors": { "postcss-unique-selectors": {
"version": "5.0.1", "version": "5.0.2",
"resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.0.1.tgz", "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.0.2.tgz",
"integrity": "sha512-gwi1NhHV4FMmPn+qwBNuot1sG1t2OmacLQ/AX29lzyggnjd+MnVD5uqQmpXO3J17KGL2WAxQruj1qTd3H0gG/w==", "integrity": "sha512-w3zBVlrtZm7loQWRPVC0yjUwwpty7OM6DnEHkxcSQXO1bMS3RJ+JUS5LFMSDZHJcvGsRwhZinCWVqn8Kej4EDA==",
"dev": true, "dev": true,
"requires": { "requires": {
"alphanum-sort": "^1.0.2", "alphanum-sort": "^1.0.2",
"postcss-selector-parser": "^6.0.5", "postcss-selector-parser": "^6.0.5"
"uniqs": "^2.0.0"
} }
}, },
"postcss-value-parser": { "postcss-value-parser": {
@ -8241,9 +8233,9 @@
} }
}, },
"stylelint": { "stylelint": {
"version": "14.0.1", "version": "14.1.0",
"resolved": "https://registry.npmjs.org/stylelint/-/stylelint-14.0.1.tgz", "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-14.1.0.tgz",
"integrity": "sha512-ZcAkmFLVCultmwkQUjxKzxW/o5+CzNmDk6TPJj/d4Y7ipTGGrewIWmNm+InjdSr04PR5/yynsAJeYJY/wisdMg==", "integrity": "sha512-IedkssuNVA11+v++2PIV2OHOU5A3SfRcXVi56vZVSsMhGrgtwmmit69jeM+08/Tun5DTBe7BuH1Zp1mMLmtKLA==",
"dev": true, "dev": true,
"requires": { "requires": {
"balanced-match": "^2.0.0", "balanced-match": "^2.0.0",
@ -8258,7 +8250,7 @@
"globby": "^11.0.4", "globby": "^11.0.4",
"globjoin": "^0.1.4", "globjoin": "^0.1.4",
"html-tags": "^3.1.0", "html-tags": "^3.1.0",
"ignore": "^5.1.8", "ignore": "^5.1.9",
"import-lazy": "^4.0.0", "import-lazy": "^4.0.0",
"imurmurhash": "^0.1.4", "imurmurhash": "^0.1.4",
"is-plain-object": "^5.0.0", "is-plain-object": "^5.0.0",
@ -8281,7 +8273,7 @@
"strip-ansi": "^6.0.1", "strip-ansi": "^6.0.1",
"style-search": "^0.1.0", "style-search": "^0.1.0",
"svg-tags": "^1.0.0", "svg-tags": "^1.0.0",
"table": "^6.7.2", "table": "^6.7.3",
"v8-compile-cache": "^2.3.0", "v8-compile-cache": "^2.3.0",
"write-file-atomic": "^3.0.3" "write-file-atomic": "^3.0.3"
}, },
@ -8327,6 +8319,12 @@
"micromatch": "^4.0.4" "micromatch": "^4.0.4"
} }
}, },
"ignore": {
"version": "5.1.9",
"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.9.tgz",
"integrity": "sha512-2zeMQpbKz5dhZ9IwL0gbxSW5w0NK/MSAMtNuhgIHEPmaU3vPdKPL0UdvUCXs5SS4JAwsBxysK5sFMW8ocFiVjQ==",
"dev": true
},
"import-fresh": { "import-fresh": {
"version": "3.3.0", "version": "3.3.0",
"resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
@ -9075,12 +9073,12 @@
"dev": true "dev": true
}, },
"stylelint-config-recommended-scss": { "stylelint-config-recommended-scss": {
"version": "5.0.1", "version": "5.0.2",
"resolved": "https://registry.npmjs.org/stylelint-config-recommended-scss/-/stylelint-config-recommended-scss-5.0.1.tgz", "resolved": "https://registry.npmjs.org/stylelint-config-recommended-scss/-/stylelint-config-recommended-scss-5.0.2.tgz",
"integrity": "sha512-kVI5lX8jtaw9uNnnxxziw+LhW59m0x/JzGj8zVepeFQJ56eM4HazN4gMyCRQQSLr/8CXlIHGOW34CV5hIMr3FQ==", "integrity": "sha512-b14BSZjcwW0hqbzm9b0S/ScN2+3CO3O4vcMNOw2KGf8lfVSwJ4p5TbNEXKwKl1+0FMtgRXZj6DqVUe/7nGnuBg==",
"dev": true, "dev": true,
"requires": { "requires": {
"postcss-scss": "^4.0.1", "postcss-scss": "^4.0.2",
"stylelint-config-recommended": "^6.0.0", "stylelint-config-recommended": "^6.0.0",
"stylelint-scss": "^4.0.0" "stylelint-scss": "^4.0.0"
}, },
@ -9094,22 +9092,22 @@
} }
}, },
"stylelint-config-standard": { "stylelint-config-standard": {
"version": "23.0.0", "version": "24.0.0",
"resolved": "https://registry.npmjs.org/stylelint-config-standard/-/stylelint-config-standard-23.0.0.tgz", "resolved": "https://registry.npmjs.org/stylelint-config-standard/-/stylelint-config-standard-24.0.0.tgz",
"integrity": "sha512-8PDlk+nWuc1T66nVaODTdVodN0pjuE5TBlopi39Lt9EM36YJsRhqttMyUhnS78oc/59Q6n8iw2GJB4QcoFqtRg==", "integrity": "sha512-+RtU7fbNT+VlNbdXJvnjc3USNPZRiRVp/d2DxOF/vBDDTi0kH5RX2Ny6errdtZJH3boO+bmqIYEllEmok4jiuw==",
"dev": true, "dev": true,
"requires": { "requires": {
"stylelint-config-recommended": "^6.0.0" "stylelint-config-recommended": "^6.0.0"
} }
}, },
"stylelint-config-standard-scss": { "stylelint-config-standard-scss": {
"version": "2.0.1", "version": "3.0.0",
"resolved": "https://registry.npmjs.org/stylelint-config-standard-scss/-/stylelint-config-standard-scss-2.0.1.tgz", "resolved": "https://registry.npmjs.org/stylelint-config-standard-scss/-/stylelint-config-standard-scss-3.0.0.tgz",
"integrity": "sha512-TW5NLquUSS0mg2N31zzaSbYRbV/CMifSVLdpgo6VdGvjysgYqJOcKM/5bmXucTOsdfqomcPXetFZ3adC7nD+cg==", "integrity": "sha512-zt3ZbzIbllN1iCmc94e4pDxqpkzeR6CJo5DDXzltshuXr+82B8ylHyMMARNnUYrZH80B7wgY7UkKTYCFM0UUyw==",
"dev": true, "dev": true,
"requires": { "requires": {
"stylelint-config-recommended-scss": "^5.0.0", "stylelint-config-recommended-scss": "^5.0.2",
"stylelint-config-standard": "^23.0.0" "stylelint-config-standard": "^24.0.0"
} }
}, },
"stylelint-order": { "stylelint-order": {
@ -9265,13 +9263,12 @@
"dev": true "dev": true
}, },
"table": { "table": {
"version": "6.7.2", "version": "6.7.3",
"resolved": "https://registry.npmjs.org/table/-/table-6.7.2.tgz", "resolved": "https://registry.npmjs.org/table/-/table-6.7.3.tgz",
"integrity": "sha512-UFZK67uvyNivLeQbVtkiUs8Uuuxv24aSL4/Vil2PJVtMgU8Lx0CYkP12uCGa3kjyQzOSgV1+z9Wkb82fCGsO0g==", "integrity": "sha512-5DkIxeA7XERBqMwJq0aHZOdMadBx4e6eDoFRuyT5VR82J0Ycg2DwM6GfA/EQAhJ+toRTaS1lIdSQCqgrmhPnlw==",
"dev": true, "dev": true,
"requires": { "requires": {
"ajv": "^8.0.1", "ajv": "^8.0.1",
"lodash.clonedeep": "^4.5.0",
"lodash.truncate": "^4.4.2", "lodash.truncate": "^4.4.2",
"slice-ansi": "^4.0.0", "slice-ansi": "^4.0.0",
"string-width": "^4.2.3", "string-width": "^4.2.3",
@ -9279,9 +9276,9 @@
}, },
"dependencies": { "dependencies": {
"ajv": { "ajv": {
"version": "8.6.3", "version": "8.8.1",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-8.6.3.tgz", "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.8.1.tgz",
"integrity": "sha512-SMJOdDP6LqTkD0Uq8qLi+gMwSt0imXLSV080qFVwJCpH9U6Mb+SUGHAXM0KNbcBPguytWyvFxcHgMLe2D2XSpw==", "integrity": "sha512-6CiMNDrzv0ZR916u2T+iRunnD60uWmNn8SkdB44/6stVORUg0aAkWO7PkOhpCmjmW8f2I/G/xnowD66fxGyQJg==",
"dev": true, "dev": true,
"requires": { "requires": {
"fast-deep-equal": "^3.1.1", "fast-deep-equal": "^3.1.1",
@ -9522,9 +9519,9 @@
} }
}, },
"typescript": { "typescript": {
"version": "4.4.4", "version": "4.5.2",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-4.4.4.tgz", "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.2.tgz",
"integrity": "sha512-DqGhF5IKoBl8WNf8C1gu8q0xZSInh9j1kJJMqT3a94w1JzVaBU4EXOSMrz9yDqMT0xt3selp83fuFMQ0uzv6qA==", "integrity": "sha512-5BlMof9H1yGt0P8/WF+wPNw6GfctgGjXp5hkblpyT+8rkASSmkUKMXrxR0Xg8ThVCi/JnHQiKXeBaEwCeQwMFw==",
"dev": true "dev": true
}, },
"uglify-js": { "uglify-js": {
@ -9573,12 +9570,6 @@
"integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=",
"dev": true "dev": true
}, },
"uniqs": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz",
"integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=",
"dev": true
},
"unique-filename": { "unique-filename": {
"version": "1.1.1", "version": "1.1.1",
"resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz",
@ -9836,12 +9827,6 @@
"builtins": "^1.0.3" "builtins": "^1.0.3"
} }
}, },
"vendors": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.4.tgz",
"integrity": "sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==",
"dev": true
},
"vfile-location": { "vfile-location": {
"version": "2.0.6", "version": "2.0.6",
"resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-2.0.6.tgz", "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-2.0.6.tgz",

View File

@ -48,23 +48,23 @@
}, },
"devDependencies": { "devDependencies": {
"@fortawesome/fontawesome-free": "^5.15.4", "@fortawesome/fontawesome-free": "^5.15.4",
"@mdi/svg": "^6.4.95", "@mdi/svg": "^6.5.95",
"@primer/octicons": "^16.1.1", "@primer/octicons": "^16.1.1",
"@types/clipboard": "^2.0.7", "@types/clipboard": "^2.0.7",
"@types/escape-html": "1.0.1", "@types/escape-html": "1.0.1",
"@types/fuzzaldrin-plus": "^0.6.2", "@types/fuzzaldrin-plus": "^0.6.2",
"@types/html-minifier": "^4.0.1", "@types/html-minifier": "^4.0.1",
"@types/lunr": "^2.3.4", "@types/lunr": "^2.3.4",
"@types/node": "^16.11.7", "@types/node": "^16.11.9",
"@types/resize-observer-browser": "^0.1.6", "@types/resize-observer-browser": "^0.1.6",
"@types/sass": "^1.43.0", "@types/sass": "^1.43.0",
"@typescript-eslint/eslint-plugin": "^5.3.1", "@typescript-eslint/eslint-plugin": "^5.4.0",
"@typescript-eslint/parser": "^5.3.1", "@typescript-eslint/parser": "^5.4.0",
"autoprefixer": "^10.4.0", "autoprefixer": "^10.4.0",
"chokidar": "^3.5.2", "chokidar": "^3.5.2",
"cssnano": "^5.0.10", "cssnano": "^5.0.11",
"esbuild": "^0.13.13", "esbuild": "^0.13.15",
"eslint": "^8.2.0", "eslint": "^8.3.0",
"eslint-plugin-eslint-comments": "^3.2.0", "eslint-plugin-eslint-comments": "^3.2.0",
"eslint-plugin-import": "^2.25.3", "eslint-plugin-import": "^2.25.3",
"eslint-plugin-jsdoc": "^37.0.3", "eslint-plugin-jsdoc": "^37.0.3",
@ -81,15 +81,15 @@
"preact": "^10.5.15", "preact": "^10.5.15",
"rimraf": "^3.0.2", "rimraf": "^3.0.2",
"sass": "^1.43.4", "sass": "^1.43.4",
"stylelint": "^14.0.1", "stylelint": "^14.1.0",
"stylelint-config-rational-order": "^0.1.2", "stylelint-config-rational-order": "^0.1.2",
"stylelint-config-recommended": "^6.0.0", "stylelint-config-recommended": "^6.0.0",
"stylelint-config-standard-scss": "^2.0.1", "stylelint-config-standard-scss": "^3.0.0",
"stylelint-scss": "^4.0.0", "stylelint-scss": "^4.0.0",
"svgo": "2.3.1", "svgo": "2.3.1",
"tiny-glob": "^0.2.9", "tiny-glob": "^0.2.9",
"ts-node": "^10.4.0", "ts-node": "^10.4.0",
"typescript": "^4.4.4" "typescript": "^4.5.2"
}, },
"engines": { "engines": {
"node": ">= 14" "node": ">= 14"

View File

@ -22,8 +22,11 @@
import { import {
Observable, Observable,
animationFrameScheduler,
auditTime,
fromEvent, fromEvent,
map, map,
merge,
startWith startWith
} from "rxjs" } from "rxjs"
@ -69,8 +72,12 @@ export function getElementOffset(el: HTMLElement): ElementOffset {
export function watchElementOffset( export function watchElementOffset(
el: HTMLElement el: HTMLElement
): Observable<ElementOffset> { ): Observable<ElementOffset> {
return fromEvent(window, "resize") return merge(
fromEvent(window, "load"),
fromEvent(window, "resize")
)
.pipe( .pipe(
auditTime(0, animationFrameScheduler),
map(() => getElementOffset(el)), map(() => getElementOffset(el)),
startWith(getElementOffset(el)) startWith(getElementOffset(el))
) )

View File

@ -22,6 +22,8 @@
import { import {
Observable, Observable,
animationFrameScheduler,
auditTime,
fromEvent, fromEvent,
map, map,
merge, merge,
@ -65,6 +67,7 @@ export function watchElementContentOffset(
fromEvent(window, "resize") fromEvent(window, "resize")
) )
.pipe( .pipe(
auditTime(0, animationFrameScheduler),
map(() => getElementContentOffset(el)), map(() => getElementContentOffset(el)),
startWith(getElementContentOffset(el)) startWith(getElementContentOffset(el))
) )

View File

@ -25,31 +25,20 @@ import {
NEVER, NEVER,
Observable, Observable,
Subject, Subject,
combineLatest,
defer,
distinctUntilKeyChanged, distinctUntilKeyChanged,
finalize, finalize,
fromEvent, fromEvent,
map, map,
mapTo,
merge, merge,
mergeMap,
mergeWith, mergeWith,
of, of,
switchMap,
tap,
withLatestFrom,
distinctUntilChanged,
takeWhile,
repeat,
EMPTY,
observeOn,
debounceTime,
mapTo,
throttle,
share, share,
defer, tap,
switchMapTo, withLatestFrom
shareReplay,
combineLatest,
asapScheduler,
animationFrameScheduler
} from "rxjs" } from "rxjs"
import { feature } from "~/_" import { feature } from "~/_"
@ -64,10 +53,7 @@ import {
getElementSize, getElementSize,
getElements, getElements,
getOptionalElement, getOptionalElement,
watchMedia,
watchElementContentOffset, watchElementContentOffset,
watchElementVisibility,
getElementOffset,
watchElementOffset watchElementOffset
} from "~/browser" } from "~/browser"
import { import {
@ -86,7 +72,7 @@ import { Component } from "../../_"
*/ */
export interface CodeBlock { export interface CodeBlock {
scrollable: boolean /* Code block overflows */ scrollable: boolean /* Code block overflows */
annotations?: HTMLElement[] /* Code block annotations */ annotations: HTMLElement[] /* Code block annotations */
} }
/* ---------------------------------------------------------------------------- /* ----------------------------------------------------------------------------
@ -115,9 +101,9 @@ interface MountOptions {
* ------------------------------------------------------------------------- */ * ------------------------------------------------------------------------- */
/** /**
* Global index for Clipboard.js integration * Global sequence number for Clipboard.js integration
*/ */
let index = 0 let sequence = 0
/* ---------------------------------------------------------------------------- /* ----------------------------------------------------------------------------
* Helper functions * Helper functions
@ -136,7 +122,7 @@ function findAnnotationsList(el: HTMLElement): HTMLElement | undefined {
if (sibling.tagName === "OL") if (sibling.tagName === "OL")
return sibling return sibling
/* Paragraph, may be empty, see https://bit.ly/3r4ZJ2O */ /* Skip empty paragraphs, see https://bit.ly/3r4ZJ2O */
else if (sibling.tagName === "P" && !sibling.children.length) else if (sibling.tagName === "P" && !sibling.children.length)
return findAnnotationsList(sibling) return findAnnotationsList(sibling)
} }
@ -164,7 +150,7 @@ export function watchCodeBlock(
el: HTMLElement, { viewport$, print$ }: WatchOptions el: HTMLElement, { viewport$, print$ }: WatchOptions
): Observable<CodeBlock> { ): Observable<CodeBlock> {
/* Watch content tabs as they can reveal code blocks */ /* Trigger re-rendering when code blocks are revealed */
const reveal$ = defer(() => { const reveal$ = defer(() => {
const container = el.closest("[data-tabs]") const container = el.closest("[data-tabs]")
if (container instanceof HTMLElement) { if (container instanceof HTMLElement) {
@ -175,164 +161,110 @@ export function watchCodeBlock(
} }
return NEVER return NEVER
}) })
.pipe(
mapTo(undefined),
share()
)
/* Compute overflow state on resize and content tab change */ /* Check for code annotations */
const scroll$ = viewport$ const annotations: HTMLElement[] = []
const container =
el.closest(".highlighttable") ||
el.closest(".highlight")
if (container instanceof HTMLElement) {
const list = findAnnotationsList(container)
if (typeof list !== "undefined" && (
container.classList.contains("annotate") ||
feature("content.code.annotate")
)) {
list.remove()
/* Replace comments with annotations */
const items = getElements(":scope > li", list)
for (const comment of getElements(".c, .c1, .cm", el)) {
/* Split comment at annotations */
let match: RegExpExecArray | null
let text = comment.firstChild as Text
do {
match = /\((\d+)\)/.exec(text.textContent!)
if (match && match.index) {
const index = text.splitText(match.index)
text = index.splitText(match[0].length)
/* Render and insert code annotation */
const [, j = -1] = match
const content = items[+j - 1]
if (typeof content !== "undefined") {
const annotation = renderAnnotation(+j, content.childNodes)
index.replaceWith(annotation)
annotations.push(annotation)
}
}
} while (match)
}
/* Move elements back on print */ // TODO: fix instant loading memleak
print$.subscribe(active => {
if (active) {
container.insertAdjacentElement("afterend", list)
for (const annotation of annotations) {
const id = parseInt(annotation.getAttribute("data-index")!, 10)
const typeset = getOptionalElement(":scope .md-typeset", annotation)!
items[id - 1].append(...Array.from(typeset.childNodes))
}
} else {
list.remove()
for (const annotation of annotations) {
const id = parseInt(annotation.getAttribute("data-index")!, 10)
const nodes = items[id - 1].childNodes
getElement(":scope .md-typeset", annotation)
.append(...Array.from(nodes))
}
}
})
}
}
const change$ = viewport$
.pipe( .pipe(
distinctUntilKeyChanged("size"), distinctUntilKeyChanged("size"),
mergeWith(reveal$), mergeWith(reveal$),
mapTo(undefined)
)
/* Compute code annotation position */ // TODO: fix instant loading memleak
of(...annotations)
.pipe(
mergeMap(annotation => combineLatest([
of(annotation),
watchElementOffset(annotation),
watchElementContentOffset(el),
change$
]))
)
// TODO: return to mountCodeBlock and render and complete there
.subscribe(([annotation, { x, y }, scroll]) => {
annotation.style.setProperty(
"--md-tooltip-x", `${x - scroll.x}px`
)
annotation.style.setProperty(
"--md-tooltip-y", `${y - scroll.y}px`
)
})
/* Compute overflow state on resize and content tab change */
return change$
.pipe(
map(() => { map(() => {
const visible = getElementSize(el)
const content = getElementContentSize(el)
return content.width > visible.width
}),
distinctUntilChanged()
)
/* Compute content offset of code block */
const offset$ = watchElementContentOffset(el)
// scroll$
// .pipe(
// switchMap(scrollable => scrollable
// ? watchElementContentOffset(el)
// : EMPTY
// ),
// shareReplay(1) // TBD
// )
// TODO: from here, annotations #############################################
/* Compute whether code annotations must be temporarily hidden */
const finish$ = offset$.pipe(debounceTime(125), mapTo(false))
const hidden$ = merge(
finish$,
offset$.pipe(throttle(() => finish$), mapTo(true))
)
/* Hide tooltip while scrolling */
hidden$.subscribe(hidden => {
if (hidden) {
console.log("scrolling...")
// el.setAttribute("data-md-state", "scroll")
} else {
console.log("scrolling done")
el.removeAttribute("data-md-state")
}
})
const annotations$ = defer(() => {
const annotations: HTMLElement[] = []
/* */
const container = el.closest(".highlighttable") || el.closest(".highlight")
if (!(container instanceof HTMLElement))
return NEVER
/* */
if (container instanceof HTMLElement) {
const list = findAnnotationsList(container)
if (typeof list !== "undefined" && (
container.classList.contains("annotate") ||
feature("content.code.annotate")
)) {
/* Replace comments with annotations */
const items = getElements(":scope > li", list)
for (const comment of getElements(".c, .c1, .cm", el)) {
/* Split comment at annotations */ // TODO: refactor when revisiting annotations
let match: RegExpExecArray | null
let text = comment.firstChild as Text
do {
match = /\((\d+)\)/.exec(text.textContent!)
if (match && match.index) {
const bubble = text.splitText(match.index)
text = bubble.splitText(match[0].length) // complete match length
const [, j = -1] = match
const content = items[+j - 1]
if (typeof content !== "undefined") {
const annotation = renderAnnotation(+j, content.childNodes)
bubble.replaceWith(annotation) // bubble is and will stay replaced...
annotations.push(annotation)
}
}
} while (match)
}
}
}
// // offset, compute tooltip position...
// offset$.subscribe(({ x }) => {
// el.style.setProperty("--md-tooltip-x", `${x}px`)
// })
// wrong, we must always recompute the position..
for (const annotation of annotations) {
const size = getElementSize(annotation)
offset$
.pipe(
// observeOn(animationFrameScheduler), // TODO: ?
withLatestFrom(watchElementOffset(annotation)),
map(([scroll, offset]) => {
// if left is clamped, we must add to top!
// TODO: this must also be placed here!
annotation.style.setProperty(
"--md-tooltip-x", `${offset.x - scroll.x}px`
)
annotation.style.setProperty(
"--md-tooltip-y", `${offset.y - scroll.y}px`
)
})
)
.subscribe()
}
return of(annotations)
})
// // /* Move elements back on print */ // TODO: refactor memleak (instant loading)
// // print$.subscribe(active => {
// // if (active) {
// // container.insertAdjacentElement("afterend", list)
// // for (const annotation of annotations) {
// // const id = parseInt(annotation.getAttribute("data-index")!, 10)
// // const typeset = getOptionalElement(":scope .md-typeset", annotation)!
// // items[id - 1].append(...Array.from(typeset.childNodes))
// // }
// // } else {
// // list.remove()
// // for (const annotation of annotations) {
// // const id = parseInt(annotation.getAttribute("data-index")!, 10)
// // const nodes = items[id - 1].childNodes
// // getElement(":scope .md-typeset", annotation)
// // .append(...Array.from(nodes))
// // }
// // }
// // })
// }
// }
/* Check overflow on resize and tab change */
return viewport$
.pipe(
distinctUntilKeyChanged("size"),
mergeWith(reveal$),
switchMapTo(annotations$),
map(annotations => {
const visible = getElementSize(el) const visible = getElementSize(el)
const content = getElementContentSize(el) const content = getElementContentSize(el)
return { return {
scroll: content.width > visible.width, scrollable: content.width > visible.width,
...annotations.length && { annotations } annotations
} }
}), }),
distinctUntilKeyChanged("scroll") distinctUntilKeyChanged("scrollable")
) )
} }
@ -362,46 +294,10 @@ export function mountCodeBlock(
resetFocusable(el) resetFocusable(el)
}) })
// /* Compute annotation position */
// internal$
// .pipe(
// take(1),
// takeWhile(({ annotations }) => !!annotations?.length),
// combineLatestWith(viewport$
// .pipe(
// distinctUntilKeyChanged("size")
// )
// )
// )
// .subscribe(([{ annotations }, { size }]) => {
// if (typeof annotations === "undefined")
// return
// /* Compute annotation positions */
// for (const annotation of annotations) {
// const annotationIndex = getElement(".md-annotation__index", annotation)
// const tooltip = getElement(".md-tooltip", annotation)
// console.log(annotationIndex, tooltip)
// const { x } = getElementOffset(annotationIndex)
// console.log(x)
// }
// // console.log(tooltips, size)
// // for (const tooltip of tooltips) {
// // const { x, width } = tooltip.getBoundingClientRect()
// // if (x + width > size.width)
// // tooltip.classList.add("md-tooltip--end")
// // else
// // tooltip.classList.remove("md-tooltip--end")
// // }
// })
/* Render button for Clipboard.js integration */ /* Render button for Clipboard.js integration */
if (ClipboardJS.isSupported()) { if (ClipboardJS.isSupported()) {
const parent = el.closest("pre")! const parent = el.closest("pre")!
parent.id = `__code_${++index}` parent.id = `__code_${++sequence}`
parent.insertBefore( parent.insertBefore(
renderClipboardButton(parent.id), renderClipboardButton(parent.id),
el el