timvir 0.2.16 → 0.2.17

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.
@@ -1,7 +1,7 @@
1
1
  .r1ev38xg{margin:1em 0;}
2
2
  .c8hz158{display:grid;grid-gap:8px;grid-template-columns:1fr 100px;margin-bottom:8px;}
3
- .t1663phv{display:flex;align-items:center;padding:0 0 0 10px;height:36px;position:relative;}.t1663phv::after{display:block;position:absolute;content:"";inset:0;pointer-events:none;border:1px solid var(--timvir-secondary-text-color);border-radius:2px;}.t1663phv:hover::after{border-color:var(--timvir-accent-color);}.t1663phv:focus-within::after{border-color:var(--timvir-accent-color);}
3
+ .t1663phv{display:flex;align-items:center;padding:0 0 0 10px;height:36px;position:relative;background:var(--timvir-secondary-background-color);}.t1663phv::after{display:block;position:absolute;content:"";inset:0;pointer-events:none;border:1px solid var(--timvir-border-color);border-radius:2px;}.t1663phv:hover::after{border-color:var(--timvir-text-color);}.t1663phv:focus-within::after{border-color:var(--timvir-text-color);}
4
4
  .s1k50njo{display:inline-block;color:var(--timvir-secondary-text-color);margin-right:6px;}
5
- .i1dajnne{border:none;outline:none;font:inherit;background:transparent;align-self:stretch;padding:0;height:34px;width:100%;color:inherit;}
6
- .b128wsn{border:none;outline:none;height:36px;background:var(--timvir-accent-color);font:inherit;border-radius:2px;cursor:pointer;transition:background 0.2s;}.b128wsn:hover{background:var(--c-p-3);}.b128wsn:active{background:var(--c-p-4);}
5
+ .i1dajnne{border:none;outline:none;font:inherit;background:transparent;align-self:stretch;padding:0;width:100%;color:inherit;}
6
+ .b128wsn{border:none;outline:none;height:36px;border:1px solid var(--timvir-border-color);border-radius:2px;background:var(--timvir-secondary-background-color);color:var(--timvir-text-color);font:inherit;}.b128wsn:hover{border-color:var(--timvir-text-color);background:var(--timvir-sidebar-highlight-color);}.b128wsn:active{border-color:var(--timvir-text-color);background:var(--timvir-sidebar-highlight-color);}
7
7
 
@@ -64,7 +64,7 @@ function Code(props, ref) {
64
64
  React.useEffect(() => {
65
65
  (async () => {
66
66
  const html = await codeToHtml(children.trim(), {
67
- lang: language ?? "markup",
67
+ lang: language ?? "text",
68
68
  themes: {
69
69
  light: "github-light",
70
70
  dark: "github-dark"
@@ -7,10 +7,10 @@
7
7
  .d17pltln{padding:16px 24px 16px 0;}
8
8
 
9
9
  .r9v2r0l{margin:1.5rem 0 3rem;}:root[data-timvir-theme="dark"] .r9v2r0l .shiki,:root[data-timvir-theme="dark"] .r9v2r0l .shiki span{color:var(--shiki-dark) !important;font-style:var(--shiki-dark-font-style) !important;font-weight:var(--shiki-dark-font-weight) !important;text-decoration:var(--shiki-dark-text-decoration) !important;}
10
- .cs7tint{overflow-x:auto;contain:content;font-size:0.9em;border-radius:5px;--timvir-b-Code-bleed:var(--timvir-page-margin,24px);--timvir-b-Code-inlinePadding:max(var(--timvir-b-Code-bleed),24px);padding:0;margin:0 calc(-1 * var(--timvir-b-Code-bleed));box-shadow:inset 0 0 0 1px rgb(16 22 26 / 20%),0 1px 4px rgb(16 22 26 / 10%);transition:box-shadow 0.3s;}.cs7tint:hover{box-shadow:inset 0 0 0 1px rgb(16 22 26 / 30%),0 1px 4px rgb(16 22 26 / 10%),0 8px 24px rgb(16 22 26 / 10%);}:root[data-timvir-theme="dark"] .cs7tint{box-shadow:inset 0 0 0 1px rgb(216 222 226 / 10%),0 1px 4px rgb(216 222 226 / 5%), 0 2px 8px rgb(216 222 226 / 2%);}:root[data-timvir-theme="dark"] .cs7tint:hover{box-shadow:inset 0 0 0 1px rgb(216 222 226 / 10%),0 1px 3px rgb(216 222 226 / 7%), 0 2px 16px rgb(216 222 226 / 5%);}.cs7tint pre{margin:0;padding:16px 0;background-color:transparent !important;}.cs7tint pre code{display:block;}.cs7tint pre code .line{display:inline-block;position:relative;width:100%;}.cs7tint pre .line{padding-inline:var(--timvir-b-Code-inlinePadding);margin-inline:1px;}
10
+ .cs7tint{overflow-x:auto;contain:content;font-size:0.8em;border-radius:5px;--timvir-b-Code-bleed:calc(var(--timvir-page-margin,24px) * 0.6666);--timvir-b-Code-inlinePadding:max(var(--timvir-b-Code-bleed),8px);padding:0;margin:0 calc(-1 * var(--timvir-b-Code-bleed));border:1px solid var(--timvir-border-color);}.cs7tint pre{margin:0;padding:16px 0;background-color:var(--timvir-secondary-background-color) !important;}.cs7tint pre code{display:block;}.cs7tint pre code .line{display:inline-block;position:relative;width:100%;}.cs7tint pre .line{padding-inline:var(--timvir-b-Code-inlinePadding);}
11
11
  .fjvaz2s{display:grid;border-radius:0;box-shadow:none;margin-inline:0;grid-auto-rows:min-content;grid-template-columns:[le] 0 [lc] 1fr [rc] 0 [re];grid-column-gap:16px;}.fjvaz2s:hover{box-shadow:none;}@media (min-width:60rem){.fjvaz2s{grid-template-columns:[le] 1fr [lc] minmax(0,48rem) [rc] 1fr [re];grid-column-gap:24px;}}.fjvaz2s > *{grid-column:lc / re;}
12
- .lchll0h{padding-inline:var(--timvir-b-Code-inlinePadding);margin-inline:1px;}
12
+ .lchll0h{padding-inline:var(--timvir-b-Code-inlinePadding);}
13
13
  .h1xcko1i{background-color:#ffe10044;}:root[data-timvir-theme="dark"] .h1xcko1i{background-color:rgba(174,124,20,0.15);}
14
14
  .ll2b9hx{display:inline-block;width:var(--timvir-b-Code-bleed);color:var(--timvir-secondary-text-color);text-align:right;padding-inline:4px;}
15
- .c5vr6r2{font-size:0.75rem;color:var(--timvir-secondary-text-color);margin-top:2px;}
15
+ .c5vr6r2{font-size:0.8125rem;line-height:1.1875;color:var(--timvir-secondary-text-color);margin-top:2px;}
16
16
 
@@ -1,4 +1,4 @@
1
- .r1nql2f9{margin:0 0 1.5rem;--timvir-b-Exhibit-bleed:0px;--timvir-b-Exhibit-borderColor:#EFEFEF;--timvir-b-Exhibit-background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAAAAACoWZBhAAAAF0lEQVQI12P4BAI/QICBFCaYBPNJYQIAkUZftTbC4sIAAAAASUVORK5CYII=);}:root[data-timvir-theme="dark"] .r1nql2f9{--timvir-b-Exhibit-borderColor:#101010;--timvir-b-Exhibit-background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAAAAACoWZBhAAAAFklEQVQI12NQBQF2EGAghQkmwXxSmADZJQiZ2ZZ46gAAAABJRU5ErkJggg==);}
1
+ .r1nql2f9{margin:0 0 1.5rem;--timvir-b-Exhibit-bleed:0px;--timvir-b-Exhibit-borderColor:var(--timvir-border-color);--timvir-b-Exhibit-background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAAAAACoWZBhAAAAF0lEQVQI12P4BAI/QICBFCaYBPNJYQIAkUZftTbC4sIAAAAASUVORK5CYII=);}:root[data-timvir-theme="dark"] .r1nql2f9{--timvir-b-Exhibit-background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAAAAACoWZBhAAAAFklEQVQI12NQBQF2EGAghQkmwXxSmADZJQiZ2ZZ46gAAAABJRU5ErkJggg==);}
2
2
  .c4ji594{display:flow-root;background:var(--timvir-b-Exhibit-background);margin:0 calc(-1 * var(--timvir-b-Exhibit-bleed));padding:var(--timvir-b-Exhibit-bleed);}
3
- .cf43jjx{font-size:0.75rem;color:var(--timvir-secondary-text-color);margin-top:2px;}
3
+ .cf43jjx{font-size:0.8125rem;line-height:1.1875;color:var(--timvir-secondary-text-color);margin-top:2px;}
4
4
 
@@ -1,4 +1,4 @@
1
- .r1ssql2z{position:relative;background:var(--c-p-0);color:black;border-radius:3px;padding:16px 24px 16px 24px;box-shadow:inset 0 0 0 1px rgba(16,22,26,0.2);display:flex;align-items:flex-start;line-height:1.5;}
1
+ .r1ssql2z{position:relative;background:var(--c-p-0);color:black;border-radius:3px;padding:16px 24px 16px 24px;box-shadow:inset 0 0 0 1px rgba(16,22,26,0.2);display:flex;align-items:flex-start;font-size:0.875rem;line-height:1.5;}
2
2
  .dhvu07f > *:first-child{margin-top:0;}.dhvu07f > *:last-child{margin-bottom:0;}.dhvu07f > h3:before{display:none;}
3
3
  .i1dz18jz{position:relative;top:3px;margin:-2px 12px 0 -4px;}.i1dz18jz > svg{display:block;}
4
4
  .i41wipx{background:#f0f2fc;color:black;}.i41wipx .i1dz18jz{color:#2a47d5;}
@@ -124,21 +124,21 @@ function Ruler(props) {
124
124
  y: -height / 2,
125
125
  width: containerWidth,
126
126
  height: height,
127
- fill: "rgba(0, 0, 0, .1)"
127
+ fill: "var(--timvir-secondary-background-color)"
128
128
  }), /*#__PURE__*/React.createElement("line", {
129
129
  x1: -viewportWidth / 2,
130
130
  x2: -viewportWidth / 2,
131
131
  y1: -height / 2,
132
132
  y2: height / 2,
133
133
  strokeWidth: 2,
134
- stroke: "var(--c-p-4)"
134
+ stroke: "var(--timvir-text-color)"
135
135
  }), /*#__PURE__*/React.createElement("line", {
136
136
  x1: viewportWidth / 2,
137
137
  x2: viewportWidth / 2,
138
138
  y1: -height / 2,
139
139
  y2: height / 2,
140
140
  strokeWidth: 2,
141
- stroke: "var(--c-p-4)"
141
+ stroke: "var(--timvir-text-color)"
142
142
  }));
143
143
  }
144
144
 
@@ -214,19 +214,36 @@ function Viewport(props, ref) {
214
214
  });
215
215
 
216
216
  /*
217
- * The <html> element of the iframe document is the one which we observe and
218
- * measure. We do not use <body> because that may have margins around which would
219
- * throw off our height observations.
220
- *
221
- * We hope that nobody intentionally adds margins around the <html> element. By default
222
- * it doesn't have.
217
+ * Note this useEffect runs on each render. This is fine beause it doesn't do any
218
+ * expensive computation, and the Viewport component only re-renders when the iframe
219
+ * itself is changes height or the user resizes the width of the Viewport.
223
220
  */
224
- const html = iframeRef.current?.contentDocument?.querySelector("html");
225
221
  React.useEffect(() => {
226
- if (html) {
227
- iframeRO.observe(html);
222
+ const document = iframeRef.current?.contentDocument;
223
+ if (document) {
224
+ injectStyle(document);
225
+
226
+ /*
227
+ * The <body> element of the iframe document is the one which we observe and
228
+ * measure. It should not have any margins (we remove them by injecting a simple
229
+ * style reset into the iframe document).
230
+ */
231
+ iframeRO.observe(document.body);
228
232
  }
229
233
  });
234
+
235
+ /*
236
+ * Inject a simple style reset into the document.
237
+ */
238
+ function injectStyle(document) {
239
+ if (document.querySelector("style#timvir-viewport-style")) {
240
+ return;
241
+ }
242
+ const style = document.createElement("style");
243
+ style.id = "timvir-viewport-style";
244
+ style.innerHTML = "body { margin: 0 }";
245
+ document.head.appendChild(style);
246
+ }
230
247
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
231
248
  ref: containerRef
232
249
  }), /*#__PURE__*/React.createElement(Root, {
@@ -255,17 +272,13 @@ function Viewport(props, ref) {
255
272
  ref: iframeRef,
256
273
  frameBorder: "0",
257
274
  src: src,
258
- onLoad: () => {
259
- /*
260
- * Once the iframe has loaded, initialize the height/maxHeight.
261
- * The <html> element may not exist though (eg. the page failed
262
- * to load, or it's not a HTML page).
263
- */
264
- const html = iframeRef.current?.contentDocument?.querySelector("html");
265
- if (html) {
275
+ onLoad: ev => {
276
+ const document = ev.currentTarget.contentDocument;
277
+ if (document) {
278
+ injectStyle(document);
266
279
  const {
267
280
  height
268
- } = html.getBoundingClientRect();
281
+ } = document.body.getBoundingClientRect();
269
282
  setHeight(height);
270
283
  setMaxHeight(height);
271
284
  }
@@ -9,7 +9,7 @@
9
9
 
10
10
  .r1ouu0bc{contain:layout;}
11
11
  .d1uj09ka{position:relative;}
12
- .d2uawyc{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);}
12
+ .d2uawyc{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-variant-numeric:tabular-nums;}
13
13
  .d8ms9m9{display:flex;align-items:stretch;justify-content:center;}
14
14
  .d17q9rbm{border-radius:3px;display:grid;grid-template-columns:56px auto 56px;grid-template-rows:0 auto 0;grid-column-gap:8px;}
15
15
  .daubpa6{grid-column:2 / span 1;grid-row:2 / span 1;position:relative;flex:1;height:100px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAAAAACoWZBhAAAAF0lEQVQI12P4BAI/QICBFCaYBPNJYQIAkUZftTbC4sIAAAAASUVORK5CYII=);transition:height 0.16s;overflow:hidden;}
package/blocks/styles.css CHANGED
@@ -1,9 +1,9 @@
1
1
  .r1ev38xg{margin:1em 0;}
2
2
  .c8hz158{display:grid;grid-gap:8px;grid-template-columns:1fr 100px;margin-bottom:8px;}
3
- .t1663phv{display:flex;align-items:center;padding:0 0 0 10px;height:36px;position:relative;}.t1663phv::after{display:block;position:absolute;content:"";inset:0;pointer-events:none;border:1px solid var(--timvir-secondary-text-color);border-radius:2px;}.t1663phv:hover::after{border-color:var(--timvir-accent-color);}.t1663phv:focus-within::after{border-color:var(--timvir-accent-color);}
3
+ .t1663phv{display:flex;align-items:center;padding:0 0 0 10px;height:36px;position:relative;background:var(--timvir-secondary-background-color);}.t1663phv::after{display:block;position:absolute;content:"";inset:0;pointer-events:none;border:1px solid var(--timvir-border-color);border-radius:2px;}.t1663phv:hover::after{border-color:var(--timvir-text-color);}.t1663phv:focus-within::after{border-color:var(--timvir-text-color);}
4
4
  .s1k50njo{display:inline-block;color:var(--timvir-secondary-text-color);margin-right:6px;}
5
- .i1dajnne{border:none;outline:none;font:inherit;background:transparent;align-self:stretch;padding:0;height:34px;width:100%;color:inherit;}
6
- .b128wsn{border:none;outline:none;height:36px;background:var(--timvir-accent-color);font:inherit;border-radius:2px;cursor:pointer;transition:background 0.2s;}.b128wsn:hover{background:var(--c-p-3);}.b128wsn:active{background:var(--c-p-4);}
5
+ .i1dajnne{border:none;outline:none;font:inherit;background:transparent;align-self:stretch;padding:0;width:100%;color:inherit;}
6
+ .b128wsn{border:none;outline:none;height:36px;border:1px solid var(--timvir-border-color);border-radius:2px;background:var(--timvir-secondary-background-color);color:var(--timvir-text-color);font:inherit;}.b128wsn:hover{border-color:var(--timvir-text-color);background:var(--timvir-sidebar-highlight-color);}.b128wsn:active{border-color:var(--timvir-text-color);background:var(--timvir-sidebar-highlight-color);}
7
7
 
8
8
  .tac6gx6{color:#393a34;background-color:#f6f8fa;}.tac6gx6 :is(.comment,.prolog,.doctype,.cdata){color:#999988;font-style:italic;}.tac6gx6 :is(.namespace){opacity:0.7;}.tac6gx6 :is(.string,.attr-value){color:#e3116c;}.tac6gx6 :is(.punctuation,.operator){color:#6cb6ff;}.tac6gx6 :is(.function,.delete,.tag){color:#d73a49;}.tac6gx6 :is(.tag,.selector,.keyword){color:#00009f;}.tac6gx6 :is(.function-variable){color:#6f42c1;}.tac6gx6 :is(.atrule,.keyword,.attr-name,.selector){color:#00a4db;}.tac6gx6 :is(.entity,.url,.symbol,.number,.boolean,.variable,.constant,.property,.regex,.inserted){color:#36acaa;}:root[data-timvir-theme="dark"] .tac6gx6{color:#adbac7;background-color:#2d333b;}:root[data-timvir-theme="dark"] .tac6gx6 :is(.comment,.prolog,.doctype,.cdata){color:#999988;font-style:italic;}:root[data-timvir-theme="dark"] .tac6gx6 :is(.namespace){opacity:0.7;}:root[data-timvir-theme="dark"] .tac6gx6 :is(.string,.attr-value){color:#96d0ff;}:root[data-timvir-theme="dark"] .tac6gx6 :is(.punctuation,.operator){color:#6cb6ff;}:root[data-timvir-theme="dark"] .tac6gx6 :is(.function,.delete,.tag){color:#d73a49;}:root[data-timvir-theme="dark"] .tac6gx6 :is(.tag,.selector,.keyword){color:#8ddb8c;}:root[data-timvir-theme="dark"] .tac6gx6 :is(.function-variable){color:#6f42c1;}:root[data-timvir-theme="dark"] .tac6gx6 :is(.atrule,.keyword,.attr-name,.selector){color:#f47067;}:root[data-timvir-theme="dark"] .tac6gx6 :is(.entity,.url,.symbol,.number,.boolean,.variable,.constant,.property,.regex,.inserted){color:#dcbdfb;}
9
9
 
@@ -14,12 +14,12 @@
14
14
  .d17pltln{padding:16px 24px 16px 0;}
15
15
 
16
16
  .r9v2r0l{margin:1.5rem 0 3rem;}:root[data-timvir-theme="dark"] .r9v2r0l .shiki,:root[data-timvir-theme="dark"] .r9v2r0l .shiki span{color:var(--shiki-dark) !important;font-style:var(--shiki-dark-font-style) !important;font-weight:var(--shiki-dark-font-weight) !important;text-decoration:var(--shiki-dark-text-decoration) !important;}
17
- .cs7tint{overflow-x:auto;contain:content;font-size:0.9em;border-radius:5px;--timvir-b-Code-bleed:var(--timvir-page-margin,24px);--timvir-b-Code-inlinePadding:max(var(--timvir-b-Code-bleed),24px);padding:0;margin:0 calc(-1 * var(--timvir-b-Code-bleed));box-shadow:inset 0 0 0 1px rgb(16 22 26 / 20%),0 1px 4px rgb(16 22 26 / 10%);transition:box-shadow 0.3s;}.cs7tint:hover{box-shadow:inset 0 0 0 1px rgb(16 22 26 / 30%),0 1px 4px rgb(16 22 26 / 10%),0 8px 24px rgb(16 22 26 / 10%);}:root[data-timvir-theme="dark"] .cs7tint{box-shadow:inset 0 0 0 1px rgb(216 222 226 / 10%),0 1px 4px rgb(216 222 226 / 5%), 0 2px 8px rgb(216 222 226 / 2%);}:root[data-timvir-theme="dark"] .cs7tint:hover{box-shadow:inset 0 0 0 1px rgb(216 222 226 / 10%),0 1px 3px rgb(216 222 226 / 7%), 0 2px 16px rgb(216 222 226 / 5%);}.cs7tint pre{margin:0;padding:16px 0;background-color:transparent !important;}.cs7tint pre code{display:block;}.cs7tint pre code .line{display:inline-block;position:relative;width:100%;}.cs7tint pre .line{padding-inline:var(--timvir-b-Code-inlinePadding);margin-inline:1px;}
17
+ .cs7tint{overflow-x:auto;contain:content;font-size:0.8em;border-radius:5px;--timvir-b-Code-bleed:calc(var(--timvir-page-margin,24px) * 0.6666);--timvir-b-Code-inlinePadding:max(var(--timvir-b-Code-bleed),8px);padding:0;margin:0 calc(-1 * var(--timvir-b-Code-bleed));border:1px solid var(--timvir-border-color);}.cs7tint pre{margin:0;padding:16px 0;background-color:var(--timvir-secondary-background-color) !important;}.cs7tint pre code{display:block;}.cs7tint pre code .line{display:inline-block;position:relative;width:100%;}.cs7tint pre .line{padding-inline:var(--timvir-b-Code-inlinePadding);}
18
18
  .fjvaz2s{display:grid;border-radius:0;box-shadow:none;margin-inline:0;grid-auto-rows:min-content;grid-template-columns:[le] 0 [lc] 1fr [rc] 0 [re];grid-column-gap:16px;}.fjvaz2s:hover{box-shadow:none;}@media (min-width:60rem){.fjvaz2s{grid-template-columns:[le] 1fr [lc] minmax(0,48rem) [rc] 1fr [re];grid-column-gap:24px;}}.fjvaz2s > *{grid-column:lc / re;}
19
- .lchll0h{padding-inline:var(--timvir-b-Code-inlinePadding);margin-inline:1px;}
19
+ .lchll0h{padding-inline:var(--timvir-b-Code-inlinePadding);}
20
20
  .h1xcko1i{background-color:#ffe10044;}:root[data-timvir-theme="dark"] .h1xcko1i{background-color:rgba(174,124,20,0.15);}
21
21
  .ll2b9hx{display:inline-block;width:var(--timvir-b-Code-bleed);color:var(--timvir-secondary-text-color);text-align:right;padding-inline:4px;}
22
- .c5vr6r2{font-size:0.75rem;color:var(--timvir-secondary-text-color);margin-top:2px;}
22
+ .c5vr6r2{font-size:0.8125rem;line-height:1.1875;color:var(--timvir-secondary-text-color);margin-top:2px;}
23
23
 
24
24
 
25
25
  .r1f19pie{position:relative;}
@@ -35,9 +35,9 @@
35
35
  .a1y0tcvx:hover::before,.a1y0tcvx::before{box-shadow:0 0 0 2px var(--c-p-5);opacity:1;}
36
36
 
37
37
 
38
- .r1nql2f9{margin:0 0 1.5rem;--timvir-b-Exhibit-bleed:0px;--timvir-b-Exhibit-borderColor:#EFEFEF;--timvir-b-Exhibit-background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAAAAACoWZBhAAAAF0lEQVQI12P4BAI/QICBFCaYBPNJYQIAkUZftTbC4sIAAAAASUVORK5CYII=);}:root[data-timvir-theme="dark"] .r1nql2f9{--timvir-b-Exhibit-borderColor:#101010;--timvir-b-Exhibit-background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAAAAACoWZBhAAAAFklEQVQI12NQBQF2EGAghQkmwXxSmADZJQiZ2ZZ46gAAAABJRU5ErkJggg==);}
38
+ .r1nql2f9{margin:0 0 1.5rem;--timvir-b-Exhibit-bleed:0px;--timvir-b-Exhibit-borderColor:var(--timvir-border-color);--timvir-b-Exhibit-background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAAAAACoWZBhAAAAF0lEQVQI12P4BAI/QICBFCaYBPNJYQIAkUZftTbC4sIAAAAASUVORK5CYII=);}:root[data-timvir-theme="dark"] .r1nql2f9{--timvir-b-Exhibit-background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAAAAACoWZBhAAAAFklEQVQI12NQBQF2EGAghQkmwXxSmADZJQiZ2ZZ46gAAAABJRU5ErkJggg==);}
39
39
  .c4ji594{display:flow-root;background:var(--timvir-b-Exhibit-background);margin:0 calc(-1 * var(--timvir-b-Exhibit-bleed));padding:var(--timvir-b-Exhibit-bleed);}
40
- .cf43jjx{font-size:0.75rem;color:var(--timvir-secondary-text-color);margin-top:2px;}
40
+ .cf43jjx{font-size:0.8125rem;line-height:1.1875;color:var(--timvir-secondary-text-color);margin-top:2px;}
41
41
 
42
42
  .mby32tn{display:flex;align-items:baseline;font-size:0.9rem;font-weight:bold;transition:all 0.2s;}
43
43
  .rc7ivp5{padding:16px 0;}
@@ -58,7 +58,7 @@
58
58
  .n1xsexuc{margin-top:6px;white-space:nowrap;font-size:0.75rem;opacity:0;transition:all 0.16s;z-index:-1;color:var(--timvir-secondary-text-color);text-align:center;user-select:none;pointer-events:none;position:absolute;left:50%;bottom:-20px;transform:translateX(-50%);}
59
59
  .r1k0w618{position:relative;z-index:1;}.r1k0w618 svg{display:block;}.r1k0w618:hover .n1xsexuc{opacity:1;bottom:-26px;color:var(--timvir-text-color);}.r1k0w618:active .n1xsexuc{bottom:-24px;}
60
60
 
61
- .r1ssql2z{position:relative;background:var(--c-p-0);color:black;border-radius:3px;padding:16px 24px 16px 24px;box-shadow:inset 0 0 0 1px rgba(16,22,26,0.2);display:flex;align-items:flex-start;line-height:1.5;}
61
+ .r1ssql2z{position:relative;background:var(--c-p-0);color:black;border-radius:3px;padding:16px 24px 16px 24px;box-shadow:inset 0 0 0 1px rgba(16,22,26,0.2);display:flex;align-items:flex-start;font-size:0.875rem;line-height:1.5;}
62
62
  .dhvu07f > *:first-child{margin-top:0;}.dhvu07f > *:last-child{margin-bottom:0;}.dhvu07f > h3:before{display:none;}
63
63
  .i1dz18jz{position:relative;top:3px;margin:-2px 12px 0 -4px;}.i1dz18jz > svg{display:block;}
64
64
  .i41wipx{background:#f0f2fc;color:black;}.i41wipx .i1dz18jz{color:#2a47d5;}
@@ -81,7 +81,7 @@
81
81
 
82
82
  .r1ouu0bc{contain:layout;}
83
83
  .d1uj09ka{position:relative;}
84
- .d2uawyc{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);}
84
+ .d2uawyc{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-variant-numeric:tabular-nums;}
85
85
  .d8ms9m9{display:flex;align-items:stretch;justify-content:center;}
86
86
  .d17q9rbm{border-radius:3px;display:grid;grid-template-columns:56px auto 56px;grid-template-rows:0 auto 0;grid-column-gap:8px;}
87
87
  .daubpa6{grid-column:2 / span 1;grid-row:2 / span 1;position:relative;flex:1;height:100px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAAAAACoWZBhAAAAF0lEQVQI12P4BAI/QICBFCaYBPNJYQIAkUZftTbC4sIAAAAASUVORK5CYII=);transition:height 0.16s;overflow:hidden;}
@@ -0,0 +1,9 @@
1
+ import * as React from "react";
2
+ import { Node } from "../types";
3
+ interface Props extends Node {
4
+ depth: number;
5
+ active: boolean;
6
+ setActive: (f: (active: boolean) => boolean) => void;
7
+ }
8
+ declare function SidebarItem(props: Props): React.JSX.Element;
9
+ export default SidebarItem;
package/core/index.js CHANGED
@@ -7,6 +7,7 @@ import { useImmer } from 'use-immer';
7
7
  import { MDXProvider } from '@mdx-js/react';
8
8
  import { useHotkeys } from 'react-hotkeys-hook';
9
9
  import { makeBus } from 'timvir/bus';
10
+ import * as Icons from 'react-feather';
10
11
  import { castDraft } from 'immer';
11
12
  import * as ReactDOM from 'react-dom';
12
13
  import { defaultSearch } from 'timvir/search';
@@ -57,34 +58,34 @@ function Footer(props, ref) {
57
58
  } = props;
58
59
  return /*#__PURE__*/React.createElement(Root$2, {
59
60
  ref: ref,
60
- className: cx_default(className, classes$5.root),
61
+ className: cx_default(className, classes$6.root),
61
62
  ...rest
62
63
  }, links && /*#__PURE__*/React.createElement("div", {
63
64
  className: grid
64
65
  }, /*#__PURE__*/React.createElement("div", {
65
- className: classes$5.linkGroups
66
+ className: classes$6.linkGroups
66
67
  }, links.map(({
67
68
  group,
68
69
  items
69
70
  }, i) => /*#__PURE__*/React.createElement("div", {
70
71
  key: i
71
72
  }, /*#__PURE__*/React.createElement("div", {
72
- className: classes$5.linkGroupTitle
73
+ className: classes$6.linkGroupTitle
73
74
  }, group), /*#__PURE__*/React.createElement("div", null, items.map(({
74
75
  label,
75
76
  href
76
77
  }, j) => /*#__PURE__*/React.createElement("a", {
77
78
  key: j,
78
79
  href: href,
79
- className: classes$5.link
80
+ className: classes$6.link
80
81
  }, label))))))), /*#__PURE__*/React.createElement("div", {
81
- className: cx_default(grid, classes$5.meta)
82
+ className: cx_default(grid, classes$6.meta)
82
83
  }, /*#__PURE__*/React.createElement("div", null, "Built with ", /*#__PURE__*/React.createElement("a", {
83
84
  href: "https://timvir.vercel.app"
84
85
  }, "Timvir"))));
85
86
  }
86
87
  var Footer$1 = /*#__PURE__*/React.forwardRef(Footer);
87
- const classes$5 = {
88
+ const classes$6 = {
88
89
  root: "rwhrdvg",
89
90
  linkGroups: "l1u1x7q7",
90
91
  linkGroupTitle: "l1x5jo3a",
@@ -100,10 +101,10 @@ function Action(props) {
100
101
  ...rest
101
102
  } = props;
102
103
  return /*#__PURE__*/React.createElement("div", {
103
- className: classes$4.root,
104
+ className: classes$5.root,
104
105
  ...rest
105
106
  }, /*#__PURE__*/React.createElement("div", {
106
- className: classes$4.icon
107
+ className: classes$5.icon
107
108
  }, /*#__PURE__*/React.createElement("svg", {
108
109
  viewBox: "0 0 24 24",
109
110
  fill: "none",
@@ -119,10 +120,10 @@ function Action(props) {
119
120
  }), /*#__PURE__*/React.createElement("polyline", {
120
121
  points: "12 5 19 12 12 19"
121
122
  }))), /*#__PURE__*/React.createElement("div", {
122
- className: classes$4.label
123
+ className: classes$5.label
123
124
  }, label));
124
125
  }
125
- const classes$4 = {
126
+ const classes$5 = {
126
127
  root: "ru1mblv",
127
128
  icon: "i1wyx06o",
128
129
  label: "legxg01"
@@ -175,13 +176,13 @@ function Dialog(props) {
175
176
  })();
176
177
  }, [mutate, state.query]);
177
178
  return /*#__PURE__*/React.createElement("div", {
178
- className: classes$3.root,
179
+ className: classes$4.root,
179
180
  style: state.style,
180
181
  ...rest
181
182
  }, /*#__PURE__*/React.createElement("div", {
182
- className: classes$3.context
183
+ className: classes$4.context
183
184
  }, "Context"), /*#__PURE__*/React.createElement("div", {
184
- className: classes$3.prompt
185
+ className: classes$4.prompt
185
186
  }, /*#__PURE__*/React.createElement("input", {
186
187
  autoFocus: true,
187
188
  placeholder: "Type a command or search\u2026",
@@ -193,9 +194,9 @@ function Dialog(props) {
193
194
  });
194
195
  }
195
196
  })), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("div", {
196
- className: classes$3.subheader
197
+ className: classes$4.subheader
197
198
  }, "Pages"), /*#__PURE__*/React.createElement("div", {
198
- className: classes$3.commands
199
+ className: classes$4.commands
199
200
  }, state.commands.map(({
200
201
  node
201
202
  }, index) => /*#__PURE__*/React.createElement(Action, {
@@ -207,7 +208,7 @@ function Dialog(props) {
207
208
  }
208
209
  })))));
209
210
  }
210
- const classes$3 = {
211
+ const classes$4 = {
211
212
  root: "r1fo6voy",
212
213
  context: "c185xiij",
213
214
  prompt: "p1ky3ya3",
@@ -237,7 +238,7 @@ function Commands(props) {
237
238
  const containerElement = document.createElement("div");
238
239
  document.body.appendChild(containerElement);
239
240
  const reactPortal = /*#__PURE__*/ReactDOM.createPortal( /*#__PURE__*/React.createElement("div", {
240
- className: classes$2.root,
241
+ className: classes$3.root,
241
242
  onClick: ev => {
242
243
  if (ev.target === ev.currentTarget) {
243
244
  close();
@@ -253,7 +254,7 @@ function Commands(props) {
253
254
  });
254
255
  } else {
255
256
  const reactPortal = /*#__PURE__*/ReactDOM.createPortal( /*#__PURE__*/React.createElement("div", {
256
- className: classes$2.root,
257
+ className: classes$3.root,
257
258
  onClick: ev => {
258
259
  if (ev.target === ev.currentTarget) {
259
260
  close();
@@ -272,7 +273,7 @@ function Commands(props) {
272
273
  draft.open = false;
273
274
  if (draft.dialog) {
274
275
  const reactPortal = /*#__PURE__*/ReactDOM.createPortal( /*#__PURE__*/React.createElement("div", {
275
- className: classes$2.root
276
+ className: classes$3.root
276
277
  }, /*#__PURE__*/React.createElement(Dialog, {
277
278
  onDispose: () => {
278
279
  mutate(draft => {
@@ -316,7 +317,7 @@ function Commands(props) {
316
317
  }, [state.open]);
317
318
  return ((_state$dialog = state.dialog) === null || _state$dialog === void 0 ? void 0 : _state$dialog.reactPortal) ?? null;
318
319
  }
319
- const classes$2 = {
320
+ const classes$3 = {
320
321
  root: "rfei6z8"
321
322
  };
322
323
 
@@ -507,100 +508,102 @@ function Heading(Component) {
507
508
  }, /*#__PURE__*/React.createElement("a", {
508
509
  className: "a12hs2f7",
509
510
  href: id && `#${id}`
510
- }, "#"), props.children);
511
+ }, props.children, /*#__PURE__*/React.createElement(Icons.Link, {
512
+ className: "c31avqb"
513
+ })));
511
514
  };
512
515
  }
513
516
  const h1 = /*#__PURE__*/styled_default('h1')({
514
517
  name: "h1",
515
- class: "h31avqb",
518
+ class: "h6ceq1b",
516
519
  propsAsIs: false
517
520
  });
518
521
  const h2 = Heading( /*#__PURE__*/styled_default('h2')({
519
522
  name: "h2",
520
- class: "h6ceq1b",
523
+ class: "hj6166y",
521
524
  propsAsIs: false
522
525
  }));
523
526
  const h3 = Heading( /*#__PURE__*/styled_default('h3')({
524
527
  name: "h3",
525
- class: "hj6166y",
528
+ class: "h1f8mqks",
526
529
  propsAsIs: false
527
530
  }));
528
531
  const h4 = Heading( /*#__PURE__*/styled_default('h4')({
529
532
  name: "h4",
530
- class: "h1f8mqks",
533
+ class: "h1hmga4",
531
534
  propsAsIs: false
532
535
  }));
533
536
  const blockquote = /*#__PURE__*/styled_default('blockquote')({
534
537
  name: "blockquote",
535
- class: "b1hmga4",
538
+ class: "blrd6ep",
536
539
  propsAsIs: false
537
540
  });
538
541
  const hr = /*#__PURE__*/styled_default('hr')({
539
542
  name: "hr",
540
- class: "hlrd6ep",
543
+ class: "h172su6f",
541
544
  propsAsIs: false
542
545
  });
543
546
  const table = /*#__PURE__*/styled_default('table')({
544
547
  name: "table",
545
- class: "t172su6f",
548
+ class: "t1a7p0gg",
546
549
  propsAsIs: false
547
550
  });
548
551
  const thead = /*#__PURE__*/styled_default('thead')({
549
552
  name: "thead",
550
- class: "t1a7p0gg",
553
+ class: "t1fah8q4",
551
554
  propsAsIs: false
552
555
  });
553
556
  const tbody = /*#__PURE__*/styled_default('tbody')({
554
557
  name: "tbody",
555
- class: "t1fah8q4",
558
+ class: "twrwqj6",
556
559
  propsAsIs: false
557
560
  });
558
561
  const tr = /*#__PURE__*/styled_default('tr')({
559
562
  name: "tr",
560
- class: "twrwqj6",
563
+ class: "t1fhygp",
561
564
  propsAsIs: false
562
565
  });
563
566
  const _exp = () => props => props.align || "center";
564
567
  const th = /*#__PURE__*/styled_default('th')({
565
568
  name: "th",
566
- class: "t1fhygp",
569
+ class: "t176v8uh",
567
570
  propsAsIs: false,
568
571
  vars: {
569
- "t1fhygp-0": [_exp()]
572
+ "t176v8uh-0": [_exp()]
570
573
  }
571
574
  });
572
575
  const _exp2 = () => props => props.align || "left";
573
576
  const td = /*#__PURE__*/styled_default('td')({
574
577
  name: "td",
575
- class: "t176v8uh",
578
+ class: "tvhsmuz",
576
579
  propsAsIs: false,
577
580
  vars: {
578
- "t176v8uh-0": [_exp2()]
581
+ "tvhsmuz-0": [_exp2()]
579
582
  }
580
583
  });
581
584
  const code = /*#__PURE__*/styled_default('code')({
582
585
  name: "code",
583
- class: "cvhsmuz",
586
+ class: "c197eb99",
584
587
  propsAsIs: false
585
588
  });
586
589
  const a = /*#__PURE__*/styled_default('a')({
587
590
  name: "a",
588
- class: "a197eb99",
591
+ class: "a1d7vdmn",
589
592
  propsAsIs: false
590
593
  });
591
594
  const p = /*#__PURE__*/styled_default('p')({
592
595
  name: "p",
593
- class: "p1d7vdmn",
596
+ class: "pgfnift",
594
597
  propsAsIs: false
595
598
  });
596
599
  const ul = /*#__PURE__*/styled_default('ul')({
597
600
  name: "ul",
598
- class: "ugfnift",
601
+ class: "u3pt2dg",
599
602
  propsAsIs: false
600
603
  });
601
604
  const ol = /*#__PURE__*/styled_default('ol')({
602
605
  name: "ol",
603
- class: "o3pt2dg",
606
+ class: "ojr9iky",
604
607
  propsAsIs: false
605
608
  });
606
609
 
@@ -625,17 +628,61 @@ var mdxComponentsBase = /*#__PURE__*/Object.freeze({
625
628
  ul: ul
626
629
  });
627
630
 
628
- function Section(props) {
631
+ function SidebarItem(props) {
629
632
  const {
630
633
  depth,
631
634
  label,
632
635
  path,
633
- children = []
636
+ children = [],
637
+ active,
638
+ setActive
634
639
  } = props;
635
640
  const {
636
641
  location,
637
642
  Link
638
643
  } = useContext();
644
+ const icon = children.length === 0 ? null : /*#__PURE__*/React.createElement(Icons.ChevronRight, {
645
+ className: classes$2.icon,
646
+ style: {
647
+ transform: active ? "rotate(90deg)" : "rotate(0deg)"
648
+ },
649
+ size: 16
650
+ });
651
+ return /*#__PURE__*/React.createElement("div", {
652
+ className: classes$2.root,
653
+ "data-active": location.asPath === path
654
+ }, path ? /*#__PURE__*/React.createElement(Link, {
655
+ href: path,
656
+ style: {
657
+ marginLeft: depth * 16
658
+ }
659
+ }, /*#__PURE__*/React.createElement("span", {
660
+ className: classes$2.label
661
+ }, label), icon) : /*#__PURE__*/React.createElement("a", {
662
+ style: {
663
+ marginLeft: depth * 16
664
+ },
665
+ href: "#",
666
+ onClick: () => setActive(x => !x)
667
+ }, /*#__PURE__*/React.createElement("span", {
668
+ className: classes$2.label
669
+ }, label), icon));
670
+ }
671
+ const classes$2 = {
672
+ root: "r28qe6v",
673
+ label: "l1ia823q",
674
+ icon: "i13ixk6c"
675
+ };
676
+
677
+ function Section(props) {
678
+ const {
679
+ depth,
680
+ path,
681
+ children = []
682
+ } = props;
683
+ const {
684
+ location
685
+ } = useContext();
639
686
  const [active, setActive] = React.useState(() => {
640
687
  if (path) {
641
688
  return location.asPath.startsWith(path);
@@ -654,29 +701,18 @@ function Section(props) {
654
701
  }, [path, location.asPath]);
655
702
  return /*#__PURE__*/React.createElement("section", {
656
703
  className: classes$1.root
657
- }, /*#__PURE__*/React.createElement("div", {
658
- className: classes$1.node,
659
- "data-active": location.asPath === path
660
- }, path ? /*#__PURE__*/React.createElement(Link, {
661
- href: path,
662
- style: {
663
- marginLeft: depth * 20
664
- }
665
- }, label) : /*#__PURE__*/React.createElement("a", {
666
- style: {
667
- marginLeft: depth * 20
668
- },
669
- href: "#",
670
- onClick: () => setActive(x => !x)
671
- }, label)), active && children.map((c, i) => /*#__PURE__*/React.createElement(Section, {
704
+ }, /*#__PURE__*/React.createElement(SidebarItem, {
705
+ ...props,
706
+ active: active,
707
+ setActive: setActive
708
+ }), active && children.length > 0 && /*#__PURE__*/React.createElement("div", null, children.map((c, i) => /*#__PURE__*/React.createElement(Section, {
672
709
  key: i,
673
710
  depth: depth + 1,
674
711
  ...c
675
- })));
712
+ }))));
676
713
  }
677
714
  const classes$1 = {
678
- root: "ruyt2hq",
679
- node: "njdy1am"
715
+ root: "ruyt2hq"
680
716
  };
681
717
 
682
718
  function Sidebar(props) {
@@ -706,7 +742,9 @@ function Sidebar(props) {
706
742
  })), /*#__PURE__*/React.createElement("div", {
707
743
  className: classes.sections,
708
744
  onScroll: onScroll
709
- }, /*#__PURE__*/React.createElement("nav", null, toc.map((c, i) => /*#__PURE__*/React.createElement(Section, {
745
+ }, /*#__PURE__*/React.createElement("nav", {
746
+ className: classes.nav
747
+ }, toc.map((c, i) => /*#__PURE__*/React.createElement(Section, {
710
748
  key: i,
711
749
  depth: 0,
712
750
  ...c
@@ -714,17 +752,19 @@ function Sidebar(props) {
714
752
  }
715
753
  const classes = {
716
754
  root: "r119ou0k",
717
- sections: "s1f74255"
755
+ sections: "s1f74255",
756
+ nav: "n5l3c45"
718
757
  };
719
- const Search = ({
720
- open,
721
- label
722
- }) => {
758
+ function Search(props) {
759
+ const {
760
+ open,
761
+ label
762
+ } = props;
723
763
  return /*#__PURE__*/React.createElement("div", {
724
- className: "d5l3c45"
764
+ className: "d15ju3pv"
725
765
  }, /*#__PURE__*/React.createElement("div", {
726
766
  role: "button",
727
- className: "d15ju3pv",
767
+ className: "d2bwnbz",
728
768
  onClick: open
729
769
  }, /*#__PURE__*/React.createElement("svg", {
730
770
  x: "0px",
@@ -735,8 +775,8 @@ const Search = ({
735
775
  }, /*#__PURE__*/React.createElement("path", {
736
776
  d: "M11.707 10.293l-2.54-2.54a5.015 5.015 0 10-1.414 1.414l2.54 2.54a1 1 0 001.414-1.414zM2 5a3 3 0 113 3 3 3 0 01-3-3z",
737
777
  fill: "currentColor"
738
- })), label || "Quick Find"));
739
- };
778
+ })), label || "Search docs"));
779
+ }
740
780
 
741
781
  /**
742
782
  * The underlying DOM element which is rendered by this component.
package/core/styles.css CHANGED
@@ -9,7 +9,7 @@
9
9
  .l29wcr8{display:block;color:white;text-decoration:none;}.l29wcr8:hover{color:var(--c-p-4);}
10
10
  .m1ojti9g{color:var(--timvir-secondary-text-color);}.m1ojti9g a{color:currentColor;text-decoration:none;background-image:linear-gradient(transparent,transparent 5px,#383838 5px,#383838);background-position:bottom;background-size:100% 6px;background-repeat:repeat-x;}.m1ojti9g a:hover{background-image:linear-gradient(transparent,transparent 3px,#2bbc8a 3px,#2bbc8a);}
11
11
 
12
- .t1amubg3{font-family:system-ui,sans-serif;font-feature-settings:"liga","kern";text-rendering:optimizelegibility;font-size:16px;line-height:1.725;background-color:var(--timvir-background-color);color:var(--timvir-text-color);--c-p-0:#f0fcf6;--c-p-1:#d1f6e4;--c-p-2:#a0dbc1;--c-p-3:#61c19f;--c-p-4:#38a585;--c-p-5:#1b896b;}:root{box-sizing:border-box;}*,*:before,*:after{box-sizing:inherit;}:root{--timvir-background-color:#ffffff;--timvir-text-color:#000000d9;--timvir-secondary-text-color:#00000066;--timvir-sidebar-background-color:#f0fcf6;--timvir-sidebar-text-color:#000000d9;--timvir-sidebar-highlight-color:rgb(216,226,221);--timvir-accent-color:#38a585;}:root[data-timvir-theme="dark"]{--timvir-background-color:#1f2023;--timvir-text-color:rgba(255 255 255 / 0.86);--timvir-secondary-text-color:rgba(255 255 255 / 0.56);--timvir-sidebar-background-color:#1b1c1e;--timvir-sidebar-text-color:rgba(255 255 255 / 0.86);--timvir-sidebar-highlight-color:rgb(55,57,61);--timvir-accent-color:#38a585;}
12
+ .t1amubg3{font-family:system-ui,sans-serif;font-feature-settings:"liga","kern";text-rendering:optimizelegibility;font-size:0.9375rem;line-height:1.7333;background-color:var(--timvir-background-color);color:var(--timvir-text-color);--c-p-0:#f0fcf6;--c-p-1:#d1f6e4;--c-p-2:#a0dbc1;--c-p-3:#61c19f;--c-p-4:#38a585;--c-p-5:#1b896b;}:root{box-sizing:border-box;scroll-padding-top:20px;}*,*:before,*:after{box-sizing:inherit;}:root{--timvir-background-color:#ffffff;--timvir-text-color:#000000c9;--timvir-secondary-text-color:#00000066;--timvir-secondary-background-color:#f9f8f9;--timvir-border-color:#e9e8ea;--timvir-sidebar-highlight-color:rgb(237,237,237);--timvir-accent-color:#38a585;}:root[data-timvir-theme="dark"]{--timvir-background-color:#1f2023;--timvir-text-color:rgba(255 255 255 / 0.86);--timvir-secondary-text-color:rgba(255 255 255 / 0.56);--timvir-secondary-background-color:#161618;--timvir-border-color:#27292f;--timvir-sidebar-highlight-color:rgb(41,43,47);--timvir-accent-color:#38a585;}
13
13
 
14
14
  .ru1mblv{background-color:transparent;color:rgb(214,214,214);white-space:nowrap;display:flex;flex:0 0 100%;align-items:center;transition:color 0.1s;height:46px;display:flex;flex-shrink:initial;flex-basis:initial;flex-direction:row;flex-grow:1;overflow:hidden;align-items:center;padding-inline:14px;border-left:none;cursor:default;}.ru1mblv:hover{background-color:rgb(55,55,60);}
15
15
  .i1wyx06o{margin-right:12px;width:16px;}.i1wyx06o > svg{display:block;width:16px;height:16px;}
@@ -30,38 +30,43 @@
30
30
  .lifnzb8{font-size:1.2rem;color:inherit;text-decoration:none;}.lifnzb8:hover{color:var(--c-p-3);}
31
31
  .dymvrdu{opacity:0.5;}
32
32
 
33
- .a12hs2f7{position:absolute;top:0em;left:-0.8em;color:var(--timvir-accent-color);font-weight:bold;font-size:1em;text-decoration:none;}@media (min-width:48rem){.a12hs2f7{top:-0.1em;left:-0.9em;font-size:1.1em;}}
34
- .h31avqb{display:block;margin-top:3rem;margin-bottom:1rem;color:var(--timvir-accent-color);letter-spacing:0.01em;font-style:normal;font-size:36px;font-weight:600;text-indent:-0.05em;}
35
- .h6ceq1b{position:relative;display:block;margin-top:2rem;margin-bottom:0.5rem;text-transform:none;letter-spacing:normal;font-size:24px;font-weight:500;}
36
- .hj6166y{position:relative;display:block;margin-top:2rem;margin-bottom:0.5rem;text-transform:none;letter-spacing:normal;font-size:18px;font-weight:500;}
37
- .h1f8mqks{position:relative;display:block;margin-top:2rem;margin-bottom:0.5rem;text-transform:none;letter-spacing:normal;font-weight:normal;font-size:0.9rem;}
38
- .b1hmga4{margin-left:0;font-size:1.1rem;}.b1hmga4 > *:first-child{margin-top:0;}.b1hmga4 > *:last-child{margin-bottom:0;}
39
- .hlrd6ep{display:block;border:none;height:1px;width:100%;background:currentColor;opacity:0.25;}
40
- .t172su6f{border-spacing:0;border-collapse:collapse;width:100%;overflow:auto;}
33
+ .a12hs2f7{color:inherit;text-decoration:none;}.a12hs2f7:hover svg{opacity:1;transform:none;visibility:visible;--visibility-delay:0s;}
34
+ .c31avqb{margin-left:6px;color:var(--timvir-secondary-text-color);height:0.9rem;width:0.9rem;vertical-align:middle;transition:opacity 0.2s,transform 0.2s,visibility 0s var(--visibility-delay,0.2s);opacity:0;visibility:hidden;transform:translateX(-50%);}
35
+ .h6ceq1b{margin-top:3rem;margin-bottom:1rem;font-size:2rem;line-height:1.125;font-weight:590;text-indent:-0.05em;}
36
+ .hj6166y{position:relative;margin-top:4.5rem;margin-bottom:0.5rem;font-size:1.5rem;line-height:1.1666;font-weight:590;}
37
+ .h1f8mqks{position:relative;margin-top:3rem;margin-bottom:0.5rem;font-size:1.0625rem;line-height:1.4705882353;font-weight:590;}
38
+ .h1hmga4{position:relative;margin-top:2rem;margin-bottom:0.5rem;font-size:0.9375rem;line-height:1.4375;font-weight:590;}
39
+ .blrd6ep{margin-left:0;font-size:1.1rem;}.blrd6ep > *:first-child{margin-top:0;}.blrd6ep > *:last-child{margin-bottom:0;}
40
+ .h172su6f{display:block;border:none;height:1px;width:100%;background:currentColor;opacity:0.25;}
41
+ .t1a7p0gg{border-spacing:0;border-collapse:collapse;width:100%;overflow:auto;}
41
42
 
42
43
 
43
- .twrwqj6{background-color:#fff;border-top:1px solid var(--c-p-2);}.twrwqj6:nth-child(2n){background-color:var(--c-p-0);}
44
- .t1fhygp{text-align:var(--t1fhygp-0);padding:6px 13px;border:1px solid var(--c-p-2);}
44
+ .t1fhygp{background-color:#fff;border-top:1px solid var(--c-p-2);}.t1fhygp:nth-child(2n){background-color:var(--c-p-0);}
45
45
  .t176v8uh{text-align:var(--t176v8uh-0);padding:6px 13px;border:1px solid var(--c-p-2);}
46
- .cvhsmuz{border-radius:3px;padding:2px 5px;font-size:0.9em;background:#f6f8fa;box-shadow:inset 0 0 0 1px rgba(16,22,26,0.2),inset 0 1px 4px rgba(16,22,26,0.1);}:root[data-timvir-theme="dark"] .cvhsmuz{background:#2b2a33;box-shadow:inset 0 0 0 1px rgba(255,255,255,0.2),inset 0 1px 4px rgba(255,255,255,0.1);}
47
- .a197eb99{color:currentColor;text-decoration:none;background-image:linear-gradient(transparent,transparent 5px,#383838 5px,#383838);background-position:bottom;background-size:100% 6px;background-repeat:repeat-x;}.a197eb99:hover{background-image:linear-gradient(transparent,transparent 3px,#2bbc8a 3px,#2bbc8a);}.a197eb99:hover .cvhsmuz{box-shadow:inset 0 0 0 1px rgba(16,22,26,0.5),inset 0 1px 4px rgba(16,22,26,0.2);}.a197eb99:active .cvhsmuz{box-shadow:inset 0 0 0 1px rgba(16,22,26,0.7),inset 0 1px 4px rgba(16,22,26,0.4);background:var(--c-p-2);}
48
- .p1d7vdmn{margin:0 0 1rem;}
49
- .ugfnift{margin:0 0 1rem;}
50
- .o3pt2dg{margin:0 0 1rem;}
46
+ .tvhsmuz{text-align:var(--tvhsmuz-0);padding:6px 13px;border:1px solid var(--c-p-2);}
47
+ .c197eb99{border-radius:5px;padding:4px 6px 3px;font-size:0.8em;background:var(--timvir-secondary-background-color);border:1px solid var(--timvir-border-color);}
48
+ .a1d7vdmn{color:currentColor;text-decoration:none;background-image:linear-gradient(transparent,transparent 5px,#383838 5px,#383838);background-position:bottom;background-size:100% 6px;background-repeat:repeat-x;}.a1d7vdmn:hover{background-image:linear-gradient(transparent,transparent 3px,#2bbc8a 3px,#2bbc8a);}.a1d7vdmn:hover .c197eb99{box-shadow:inset 0 0 0 1px rgba(16,22,26,0.5),inset 0 1px 4px rgba(16,22,26,0.2);}.a1d7vdmn:active .c197eb99{box-shadow:inset 0 0 0 1px rgba(16,22,26,0.7),inset 0 1px 4px rgba(16,22,26,0.4);background:var(--c-p-2);}
49
+ .pgfnift{margin:0 0 1rem;}
50
+ .u3pt2dg{margin:0 0 1rem;}
51
+ .ojr9iky{margin:0 0 1rem;}
52
+
53
+ .r28qe6v{display:flex;align-items:center;margin:1px 0;}.r28qe6v > a{min-width:0;transition:background 0.16s;border-radius:4px;display:flex;align-items:center;color:var(--timvir-text-color);font-size:0.8125rem;line-height:2.2;font-weight:500;background:none;text-decoration:none;width:100%;padding:0 8px;opacity:0.7;}.r28qe6v:hover a{background-color:var(--timvir-sidebar-highlight-color);opacity:1;}.r28qe6v[data-active="true"] a{background-color:var(--timvir-sidebar-highlight-color);opacity:1;}
54
+ .l1ia823q{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-right:auto;}
55
+ .i13ixk6c{margin-left:4px;transition:transform 0.12s cubic-bezier(0.455,0.03,0.515,0.955);transform-origin:center center;}
51
56
 
52
57
 
53
- .njdy1am{display:flex;align-items:center;margin:1px 0;padding:0 16px;}.njdy1am > a{transition:background 0.16s;border-radius:4px;display:inline-flex;align-items:center;color:var(--timvir-sidebar-text-color);font-size:14px;line-height:1.725;background:none;text-decoration:none;width:100%;padding:0 6px;height:27px;}.njdy1am:hover a{background-color:var(--timvir-sidebar-highlight-color);}.njdy1am[data-active="true"] a{background-color:var(--timvir-sidebar-highlight-color);}
54
58
 
55
59
  .d17eoe18{display:none;height:0;}@media (min-width:60rem){.d17eoe18{display:flex;flex-direction:column;height:100%;}}
56
- .d1mgn6rc{padding:24px 3px 24px;flex-shrink:0;transition:all 0.16s;}
60
+ .d1mgn6rc{padding:24px 0 0;flex-shrink:0;transition:all 0.16s;}
57
61
  .d7bx8iu{box-shadow:0 1px 0 rgba(16,22,26,0.15);}
58
62
  .r119ou0k{position:fixed;top:0;left:0;bottom:0;width:0;}@media (min-width:60rem){.r119ou0k{width:300px;}}
59
- .s1f74255{padding:24px 3px 30px;overflow-y:auto;flex-grow:1;overscroll-behavior:contain;}
60
- .d5l3c45{font-family:system-ui;}
61
- .d15ju3pv{color:var(--timvir-text-color);font-size:14px;font-weight:500;line-height:1.725;cursor:pointer;padding:2px 24px;border-radius:3px;display:flex;align-items:center;}.d15ju3pv:hover{background:var(--timvir-sidebar-highlight-color);}.d15ju3pv > svg{display:block;margin-right:4px;}
63
+ .s1f74255{padding:16px 0 30px;overflow-y:auto;flex-grow:1;overscroll-behavior:contain;}
64
+ .n5l3c45{padding-inline:16px;}
65
+ .d15ju3pv{font-family:system-ui;padding:0 16px;}
66
+ .d2bwnbz{color:var(--timvir-text-color);font-size:0.8125rem;line-height:2.2;font-weight:400;cursor:pointer;height:36px;border-radius:8px;padding:0 12px;border:1px solid var(--timvir-border-color);background:var(--timvir-secondary-background-color);display:flex;align-items:center;}.d2bwnbz:hover{background:var(--timvir-sidebar-highlight-color);}.d2bwnbz > svg{display:block;margin-right:8px;}
62
67
 
63
68
  .rfhjyp1{min-height:100vh;display:grid;grid-template-columns:[l] 0 [m] 1fr [r];}@media (min-width:60rem){.rfhjyp1{grid-template-columns:[l] 300px [m] 1fr [r];}}
64
- .d1pp8z35{background-color:var(--timvir-sidebar-background-color);grid-column:l / m;}
69
+ .d1pp8z35{grid-column:l / m;border-right:1px solid var(--timvir-border-color);}
65
70
  .dxk1fgw{display:flex;flex-direction:column;grid-column:m / r;}
66
71
  .d2srpki{margin-top:auto;}
67
72
  .d1hkiw6l{margin-top:auto;padding-top:80px;}
@@ -31,6 +31,6 @@ export declare const primary: {
31
31
  readonly main: "#38a585";
32
32
  };
33
33
  export declare const text: {
34
- readonly main: "#000000d9";
34
+ readonly main: "#000000c9";
35
35
  readonly light: "#00000066";
36
36
  };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "type": "module",
3
3
  "name": "timvir",
4
- "version": "0.2.16",
4
+ "version": "0.2.17",
5
5
  "license": "MIT",
6
6
  "sideEffects": false,
7
7
  "exports": {
package/styles.css CHANGED
@@ -1,9 +1,9 @@
1
1
  .r1ev38xg{margin:1em 0;}
2
2
  .c8hz158{display:grid;grid-gap:8px;grid-template-columns:1fr 100px;margin-bottom:8px;}
3
- .t1663phv{display:flex;align-items:center;padding:0 0 0 10px;height:36px;position:relative;}.t1663phv::after{display:block;position:absolute;content:"";inset:0;pointer-events:none;border:1px solid var(--timvir-secondary-text-color);border-radius:2px;}.t1663phv:hover::after{border-color:var(--timvir-accent-color);}.t1663phv:focus-within::after{border-color:var(--timvir-accent-color);}
3
+ .t1663phv{display:flex;align-items:center;padding:0 0 0 10px;height:36px;position:relative;background:var(--timvir-secondary-background-color);}.t1663phv::after{display:block;position:absolute;content:"";inset:0;pointer-events:none;border:1px solid var(--timvir-border-color);border-radius:2px;}.t1663phv:hover::after{border-color:var(--timvir-text-color);}.t1663phv:focus-within::after{border-color:var(--timvir-text-color);}
4
4
  .s1k50njo{display:inline-block;color:var(--timvir-secondary-text-color);margin-right:6px;}
5
- .i1dajnne{border:none;outline:none;font:inherit;background:transparent;align-self:stretch;padding:0;height:34px;width:100%;color:inherit;}
6
- .b128wsn{border:none;outline:none;height:36px;background:var(--timvir-accent-color);font:inherit;border-radius:2px;cursor:pointer;transition:background 0.2s;}.b128wsn:hover{background:var(--c-p-3);}.b128wsn:active{background:var(--c-p-4);}
5
+ .i1dajnne{border:none;outline:none;font:inherit;background:transparent;align-self:stretch;padding:0;width:100%;color:inherit;}
6
+ .b128wsn{border:none;outline:none;height:36px;border:1px solid var(--timvir-border-color);border-radius:2px;background:var(--timvir-secondary-background-color);color:var(--timvir-text-color);font:inherit;}.b128wsn:hover{border-color:var(--timvir-text-color);background:var(--timvir-sidebar-highlight-color);}.b128wsn:active{border-color:var(--timvir-text-color);background:var(--timvir-sidebar-highlight-color);}
7
7
 
8
8
  .tac6gx6{color:#393a34;background-color:#f6f8fa;}.tac6gx6 :is(.comment,.prolog,.doctype,.cdata){color:#999988;font-style:italic;}.tac6gx6 :is(.namespace){opacity:0.7;}.tac6gx6 :is(.string,.attr-value){color:#e3116c;}.tac6gx6 :is(.punctuation,.operator){color:#6cb6ff;}.tac6gx6 :is(.function,.delete,.tag){color:#d73a49;}.tac6gx6 :is(.tag,.selector,.keyword){color:#00009f;}.tac6gx6 :is(.function-variable){color:#6f42c1;}.tac6gx6 :is(.atrule,.keyword,.attr-name,.selector){color:#00a4db;}.tac6gx6 :is(.entity,.url,.symbol,.number,.boolean,.variable,.constant,.property,.regex,.inserted){color:#36acaa;}:root[data-timvir-theme="dark"] .tac6gx6{color:#adbac7;background-color:#2d333b;}:root[data-timvir-theme="dark"] .tac6gx6 :is(.comment,.prolog,.doctype,.cdata){color:#999988;font-style:italic;}:root[data-timvir-theme="dark"] .tac6gx6 :is(.namespace){opacity:0.7;}:root[data-timvir-theme="dark"] .tac6gx6 :is(.string,.attr-value){color:#96d0ff;}:root[data-timvir-theme="dark"] .tac6gx6 :is(.punctuation,.operator){color:#6cb6ff;}:root[data-timvir-theme="dark"] .tac6gx6 :is(.function,.delete,.tag){color:#d73a49;}:root[data-timvir-theme="dark"] .tac6gx6 :is(.tag,.selector,.keyword){color:#8ddb8c;}:root[data-timvir-theme="dark"] .tac6gx6 :is(.function-variable){color:#6f42c1;}:root[data-timvir-theme="dark"] .tac6gx6 :is(.atrule,.keyword,.attr-name,.selector){color:#f47067;}:root[data-timvir-theme="dark"] .tac6gx6 :is(.entity,.url,.symbol,.number,.boolean,.variable,.constant,.property,.regex,.inserted){color:#dcbdfb;}
9
9
 
@@ -14,12 +14,12 @@
14
14
  .d17pltln{padding:16px 24px 16px 0;}
15
15
 
16
16
  .r9v2r0l{margin:1.5rem 0 3rem;}:root[data-timvir-theme="dark"] .r9v2r0l .shiki,:root[data-timvir-theme="dark"] .r9v2r0l .shiki span{color:var(--shiki-dark) !important;font-style:var(--shiki-dark-font-style) !important;font-weight:var(--shiki-dark-font-weight) !important;text-decoration:var(--shiki-dark-text-decoration) !important;}
17
- .cs7tint{overflow-x:auto;contain:content;font-size:0.9em;border-radius:5px;--timvir-b-Code-bleed:var(--timvir-page-margin,24px);--timvir-b-Code-inlinePadding:max(var(--timvir-b-Code-bleed),24px);padding:0;margin:0 calc(-1 * var(--timvir-b-Code-bleed));box-shadow:inset 0 0 0 1px rgb(16 22 26 / 20%),0 1px 4px rgb(16 22 26 / 10%);transition:box-shadow 0.3s;}.cs7tint:hover{box-shadow:inset 0 0 0 1px rgb(16 22 26 / 30%),0 1px 4px rgb(16 22 26 / 10%),0 8px 24px rgb(16 22 26 / 10%);}:root[data-timvir-theme="dark"] .cs7tint{box-shadow:inset 0 0 0 1px rgb(216 222 226 / 10%),0 1px 4px rgb(216 222 226 / 5%), 0 2px 8px rgb(216 222 226 / 2%);}:root[data-timvir-theme="dark"] .cs7tint:hover{box-shadow:inset 0 0 0 1px rgb(216 222 226 / 10%),0 1px 3px rgb(216 222 226 / 7%), 0 2px 16px rgb(216 222 226 / 5%);}.cs7tint pre{margin:0;padding:16px 0;background-color:transparent !important;}.cs7tint pre code{display:block;}.cs7tint pre code .line{display:inline-block;position:relative;width:100%;}.cs7tint pre .line{padding-inline:var(--timvir-b-Code-inlinePadding);margin-inline:1px;}
17
+ .cs7tint{overflow-x:auto;contain:content;font-size:0.8em;border-radius:5px;--timvir-b-Code-bleed:calc(var(--timvir-page-margin,24px) * 0.6666);--timvir-b-Code-inlinePadding:max(var(--timvir-b-Code-bleed),8px);padding:0;margin:0 calc(-1 * var(--timvir-b-Code-bleed));border:1px solid var(--timvir-border-color);}.cs7tint pre{margin:0;padding:16px 0;background-color:var(--timvir-secondary-background-color) !important;}.cs7tint pre code{display:block;}.cs7tint pre code .line{display:inline-block;position:relative;width:100%;}.cs7tint pre .line{padding-inline:var(--timvir-b-Code-inlinePadding);}
18
18
  .fjvaz2s{display:grid;border-radius:0;box-shadow:none;margin-inline:0;grid-auto-rows:min-content;grid-template-columns:[le] 0 [lc] 1fr [rc] 0 [re];grid-column-gap:16px;}.fjvaz2s:hover{box-shadow:none;}@media (min-width:60rem){.fjvaz2s{grid-template-columns:[le] 1fr [lc] minmax(0,48rem) [rc] 1fr [re];grid-column-gap:24px;}}.fjvaz2s > *{grid-column:lc / re;}
19
- .lchll0h{padding-inline:var(--timvir-b-Code-inlinePadding);margin-inline:1px;}
19
+ .lchll0h{padding-inline:var(--timvir-b-Code-inlinePadding);}
20
20
  .h1xcko1i{background-color:#ffe10044;}:root[data-timvir-theme="dark"] .h1xcko1i{background-color:rgba(174,124,20,0.15);}
21
21
  .ll2b9hx{display:inline-block;width:var(--timvir-b-Code-bleed);color:var(--timvir-secondary-text-color);text-align:right;padding-inline:4px;}
22
- .c5vr6r2{font-size:0.75rem;color:var(--timvir-secondary-text-color);margin-top:2px;}
22
+ .c5vr6r2{font-size:0.8125rem;line-height:1.1875;color:var(--timvir-secondary-text-color);margin-top:2px;}
23
23
 
24
24
 
25
25
  .r1f19pie{position:relative;}
@@ -35,9 +35,9 @@
35
35
  .a1y0tcvx:hover::before,.a1y0tcvx::before{box-shadow:0 0 0 2px var(--c-p-5);opacity:1;}
36
36
 
37
37
 
38
- .r1nql2f9{margin:0 0 1.5rem;--timvir-b-Exhibit-bleed:0px;--timvir-b-Exhibit-borderColor:#EFEFEF;--timvir-b-Exhibit-background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAAAAACoWZBhAAAAF0lEQVQI12P4BAI/QICBFCaYBPNJYQIAkUZftTbC4sIAAAAASUVORK5CYII=);}:root[data-timvir-theme="dark"] .r1nql2f9{--timvir-b-Exhibit-borderColor:#101010;--timvir-b-Exhibit-background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAAAAACoWZBhAAAAFklEQVQI12NQBQF2EGAghQkmwXxSmADZJQiZ2ZZ46gAAAABJRU5ErkJggg==);}
38
+ .r1nql2f9{margin:0 0 1.5rem;--timvir-b-Exhibit-bleed:0px;--timvir-b-Exhibit-borderColor:var(--timvir-border-color);--timvir-b-Exhibit-background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAAAAACoWZBhAAAAF0lEQVQI12P4BAI/QICBFCaYBPNJYQIAkUZftTbC4sIAAAAASUVORK5CYII=);}:root[data-timvir-theme="dark"] .r1nql2f9{--timvir-b-Exhibit-background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAAAAACoWZBhAAAAFklEQVQI12NQBQF2EGAghQkmwXxSmADZJQiZ2ZZ46gAAAABJRU5ErkJggg==);}
39
39
  .c4ji594{display:flow-root;background:var(--timvir-b-Exhibit-background);margin:0 calc(-1 * var(--timvir-b-Exhibit-bleed));padding:var(--timvir-b-Exhibit-bleed);}
40
- .cf43jjx{font-size:0.75rem;color:var(--timvir-secondary-text-color);margin-top:2px;}
40
+ .cf43jjx{font-size:0.8125rem;line-height:1.1875;color:var(--timvir-secondary-text-color);margin-top:2px;}
41
41
 
42
42
  .mby32tn{display:flex;align-items:baseline;font-size:0.9rem;font-weight:bold;transition:all 0.2s;}
43
43
  .rc7ivp5{padding:16px 0;}
@@ -58,7 +58,7 @@
58
58
  .n1xsexuc{margin-top:6px;white-space:nowrap;font-size:0.75rem;opacity:0;transition:all 0.16s;z-index:-1;color:var(--timvir-secondary-text-color);text-align:center;user-select:none;pointer-events:none;position:absolute;left:50%;bottom:-20px;transform:translateX(-50%);}
59
59
  .r1k0w618{position:relative;z-index:1;}.r1k0w618 svg{display:block;}.r1k0w618:hover .n1xsexuc{opacity:1;bottom:-26px;color:var(--timvir-text-color);}.r1k0w618:active .n1xsexuc{bottom:-24px;}
60
60
 
61
- .r1ssql2z{position:relative;background:var(--c-p-0);color:black;border-radius:3px;padding:16px 24px 16px 24px;box-shadow:inset 0 0 0 1px rgba(16,22,26,0.2);display:flex;align-items:flex-start;line-height:1.5;}
61
+ .r1ssql2z{position:relative;background:var(--c-p-0);color:black;border-radius:3px;padding:16px 24px 16px 24px;box-shadow:inset 0 0 0 1px rgba(16,22,26,0.2);display:flex;align-items:flex-start;font-size:0.875rem;line-height:1.5;}
62
62
  .dhvu07f > *:first-child{margin-top:0;}.dhvu07f > *:last-child{margin-bottom:0;}.dhvu07f > h3:before{display:none;}
63
63
  .i1dz18jz{position:relative;top:3px;margin:-2px 12px 0 -4px;}.i1dz18jz > svg{display:block;}
64
64
  .i41wipx{background:#f0f2fc;color:black;}.i41wipx .i1dz18jz{color:#2a47d5;}
@@ -81,7 +81,7 @@
81
81
 
82
82
  .r1ouu0bc{contain:layout;}
83
83
  .d1uj09ka{position:relative;}
84
- .d2uawyc{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);}
84
+ .d2uawyc{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-variant-numeric:tabular-nums;}
85
85
  .d8ms9m9{display:flex;align-items:stretch;justify-content:center;}
86
86
  .d17q9rbm{border-radius:3px;display:grid;grid-template-columns:56px auto 56px;grid-template-rows:0 auto 0;grid-column-gap:8px;}
87
87
  .daubpa6{grid-column:2 / span 1;grid-row:2 / span 1;position:relative;flex:1;height:100px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAAAAACoWZBhAAAAF0lEQVQI12P4BAI/QICBFCaYBPNJYQIAkUZftTbC4sIAAAAASUVORK5CYII=);transition:height 0.16s;overflow:hidden;}
@@ -110,7 +110,7 @@
110
110
  .l29wcr8{display:block;color:white;text-decoration:none;}.l29wcr8:hover{color:var(--c-p-4);}
111
111
  .m1ojti9g{color:var(--timvir-secondary-text-color);}.m1ojti9g a{color:currentColor;text-decoration:none;background-image:linear-gradient(transparent,transparent 5px,#383838 5px,#383838);background-position:bottom;background-size:100% 6px;background-repeat:repeat-x;}.m1ojti9g a:hover{background-image:linear-gradient(transparent,transparent 3px,#2bbc8a 3px,#2bbc8a);}
112
112
 
113
- .t1amubg3{font-family:system-ui,sans-serif;font-feature-settings:"liga","kern";text-rendering:optimizelegibility;font-size:16px;line-height:1.725;background-color:var(--timvir-background-color);color:var(--timvir-text-color);--c-p-0:#f0fcf6;--c-p-1:#d1f6e4;--c-p-2:#a0dbc1;--c-p-3:#61c19f;--c-p-4:#38a585;--c-p-5:#1b896b;}:root{box-sizing:border-box;}*,*:before,*:after{box-sizing:inherit;}:root{--timvir-background-color:#ffffff;--timvir-text-color:#000000d9;--timvir-secondary-text-color:#00000066;--timvir-sidebar-background-color:#f0fcf6;--timvir-sidebar-text-color:#000000d9;--timvir-sidebar-highlight-color:rgb(216,226,221);--timvir-accent-color:#38a585;}:root[data-timvir-theme="dark"]{--timvir-background-color:#1f2023;--timvir-text-color:rgba(255 255 255 / 0.86);--timvir-secondary-text-color:rgba(255 255 255 / 0.56);--timvir-sidebar-background-color:#1b1c1e;--timvir-sidebar-text-color:rgba(255 255 255 / 0.86);--timvir-sidebar-highlight-color:rgb(55,57,61);--timvir-accent-color:#38a585;}
113
+ .t1amubg3{font-family:system-ui,sans-serif;font-feature-settings:"liga","kern";text-rendering:optimizelegibility;font-size:0.9375rem;line-height:1.7333;background-color:var(--timvir-background-color);color:var(--timvir-text-color);--c-p-0:#f0fcf6;--c-p-1:#d1f6e4;--c-p-2:#a0dbc1;--c-p-3:#61c19f;--c-p-4:#38a585;--c-p-5:#1b896b;}:root{box-sizing:border-box;scroll-padding-top:20px;}*,*:before,*:after{box-sizing:inherit;}:root{--timvir-background-color:#ffffff;--timvir-text-color:#000000c9;--timvir-secondary-text-color:#00000066;--timvir-secondary-background-color:#f9f8f9;--timvir-border-color:#e9e8ea;--timvir-sidebar-highlight-color:rgb(237,237,237);--timvir-accent-color:#38a585;}:root[data-timvir-theme="dark"]{--timvir-background-color:#1f2023;--timvir-text-color:rgba(255 255 255 / 0.86);--timvir-secondary-text-color:rgba(255 255 255 / 0.56);--timvir-secondary-background-color:#161618;--timvir-border-color:#27292f;--timvir-sidebar-highlight-color:rgb(41,43,47);--timvir-accent-color:#38a585;}
114
114
 
115
115
  .ru1mblv{background-color:transparent;color:rgb(214,214,214);white-space:nowrap;display:flex;flex:0 0 100%;align-items:center;transition:color 0.1s;height:46px;display:flex;flex-shrink:initial;flex-basis:initial;flex-direction:row;flex-grow:1;overflow:hidden;align-items:center;padding-inline:14px;border-left:none;cursor:default;}.ru1mblv:hover{background-color:rgb(55,55,60);}
116
116
  .i1wyx06o{margin-right:12px;width:16px;}.i1wyx06o > svg{display:block;width:16px;height:16px;}
@@ -131,38 +131,43 @@
131
131
  .lifnzb8{font-size:1.2rem;color:inherit;text-decoration:none;}.lifnzb8:hover{color:var(--c-p-3);}
132
132
  .dymvrdu{opacity:0.5;}
133
133
 
134
- .a12hs2f7{position:absolute;top:0em;left:-0.8em;color:var(--timvir-accent-color);font-weight:bold;font-size:1em;text-decoration:none;}@media (min-width:48rem){.a12hs2f7{top:-0.1em;left:-0.9em;font-size:1.1em;}}
135
- .h31avqb{display:block;margin-top:3rem;margin-bottom:1rem;color:var(--timvir-accent-color);letter-spacing:0.01em;font-style:normal;font-size:36px;font-weight:600;text-indent:-0.05em;}
136
- .h6ceq1b{position:relative;display:block;margin-top:2rem;margin-bottom:0.5rem;text-transform:none;letter-spacing:normal;font-size:24px;font-weight:500;}
137
- .hj6166y{position:relative;display:block;margin-top:2rem;margin-bottom:0.5rem;text-transform:none;letter-spacing:normal;font-size:18px;font-weight:500;}
138
- .h1f8mqks{position:relative;display:block;margin-top:2rem;margin-bottom:0.5rem;text-transform:none;letter-spacing:normal;font-weight:normal;font-size:0.9rem;}
139
- .b1hmga4{margin-left:0;font-size:1.1rem;}.b1hmga4 > *:first-child{margin-top:0;}.b1hmga4 > *:last-child{margin-bottom:0;}
140
- .hlrd6ep{display:block;border:none;height:1px;width:100%;background:currentColor;opacity:0.25;}
141
- .t172su6f{border-spacing:0;border-collapse:collapse;width:100%;overflow:auto;}
134
+ .a12hs2f7{color:inherit;text-decoration:none;}.a12hs2f7:hover svg{opacity:1;transform:none;visibility:visible;--visibility-delay:0s;}
135
+ .c31avqb{margin-left:6px;color:var(--timvir-secondary-text-color);height:0.9rem;width:0.9rem;vertical-align:middle;transition:opacity 0.2s,transform 0.2s,visibility 0s var(--visibility-delay,0.2s);opacity:0;visibility:hidden;transform:translateX(-50%);}
136
+ .h6ceq1b{margin-top:3rem;margin-bottom:1rem;font-size:2rem;line-height:1.125;font-weight:590;text-indent:-0.05em;}
137
+ .hj6166y{position:relative;margin-top:4.5rem;margin-bottom:0.5rem;font-size:1.5rem;line-height:1.1666;font-weight:590;}
138
+ .h1f8mqks{position:relative;margin-top:3rem;margin-bottom:0.5rem;font-size:1.0625rem;line-height:1.4705882353;font-weight:590;}
139
+ .h1hmga4{position:relative;margin-top:2rem;margin-bottom:0.5rem;font-size:0.9375rem;line-height:1.4375;font-weight:590;}
140
+ .blrd6ep{margin-left:0;font-size:1.1rem;}.blrd6ep > *:first-child{margin-top:0;}.blrd6ep > *:last-child{margin-bottom:0;}
141
+ .h172su6f{display:block;border:none;height:1px;width:100%;background:currentColor;opacity:0.25;}
142
+ .t1a7p0gg{border-spacing:0;border-collapse:collapse;width:100%;overflow:auto;}
142
143
 
143
144
 
144
- .twrwqj6{background-color:#fff;border-top:1px solid var(--c-p-2);}.twrwqj6:nth-child(2n){background-color:var(--c-p-0);}
145
- .t1fhygp{text-align:var(--t1fhygp-0);padding:6px 13px;border:1px solid var(--c-p-2);}
145
+ .t1fhygp{background-color:#fff;border-top:1px solid var(--c-p-2);}.t1fhygp:nth-child(2n){background-color:var(--c-p-0);}
146
146
  .t176v8uh{text-align:var(--t176v8uh-0);padding:6px 13px;border:1px solid var(--c-p-2);}
147
- .cvhsmuz{border-radius:3px;padding:2px 5px;font-size:0.9em;background:#f6f8fa;box-shadow:inset 0 0 0 1px rgba(16,22,26,0.2),inset 0 1px 4px rgba(16,22,26,0.1);}:root[data-timvir-theme="dark"] .cvhsmuz{background:#2b2a33;box-shadow:inset 0 0 0 1px rgba(255,255,255,0.2),inset 0 1px 4px rgba(255,255,255,0.1);}
148
- .a197eb99{color:currentColor;text-decoration:none;background-image:linear-gradient(transparent,transparent 5px,#383838 5px,#383838);background-position:bottom;background-size:100% 6px;background-repeat:repeat-x;}.a197eb99:hover{background-image:linear-gradient(transparent,transparent 3px,#2bbc8a 3px,#2bbc8a);}.a197eb99:hover .cvhsmuz{box-shadow:inset 0 0 0 1px rgba(16,22,26,0.5),inset 0 1px 4px rgba(16,22,26,0.2);}.a197eb99:active .cvhsmuz{box-shadow:inset 0 0 0 1px rgba(16,22,26,0.7),inset 0 1px 4px rgba(16,22,26,0.4);background:var(--c-p-2);}
149
- .p1d7vdmn{margin:0 0 1rem;}
150
- .ugfnift{margin:0 0 1rem;}
151
- .o3pt2dg{margin:0 0 1rem;}
147
+ .tvhsmuz{text-align:var(--tvhsmuz-0);padding:6px 13px;border:1px solid var(--c-p-2);}
148
+ .c197eb99{border-radius:5px;padding:4px 6px 3px;font-size:0.8em;background:var(--timvir-secondary-background-color);border:1px solid var(--timvir-border-color);}
149
+ .a1d7vdmn{color:currentColor;text-decoration:none;background-image:linear-gradient(transparent,transparent 5px,#383838 5px,#383838);background-position:bottom;background-size:100% 6px;background-repeat:repeat-x;}.a1d7vdmn:hover{background-image:linear-gradient(transparent,transparent 3px,#2bbc8a 3px,#2bbc8a);}.a1d7vdmn:hover .c197eb99{box-shadow:inset 0 0 0 1px rgba(16,22,26,0.5),inset 0 1px 4px rgba(16,22,26,0.2);}.a1d7vdmn:active .c197eb99{box-shadow:inset 0 0 0 1px rgba(16,22,26,0.7),inset 0 1px 4px rgba(16,22,26,0.4);background:var(--c-p-2);}
150
+ .pgfnift{margin:0 0 1rem;}
151
+ .u3pt2dg{margin:0 0 1rem;}
152
+ .ojr9iky{margin:0 0 1rem;}
153
+
154
+ .r28qe6v{display:flex;align-items:center;margin:1px 0;}.r28qe6v > a{min-width:0;transition:background 0.16s;border-radius:4px;display:flex;align-items:center;color:var(--timvir-text-color);font-size:0.8125rem;line-height:2.2;font-weight:500;background:none;text-decoration:none;width:100%;padding:0 8px;opacity:0.7;}.r28qe6v:hover a{background-color:var(--timvir-sidebar-highlight-color);opacity:1;}.r28qe6v[data-active="true"] a{background-color:var(--timvir-sidebar-highlight-color);opacity:1;}
155
+ .l1ia823q{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-right:auto;}
156
+ .i13ixk6c{margin-left:4px;transition:transform 0.12s cubic-bezier(0.455,0.03,0.515,0.955);transform-origin:center center;}
152
157
 
153
158
 
154
- .njdy1am{display:flex;align-items:center;margin:1px 0;padding:0 16px;}.njdy1am > a{transition:background 0.16s;border-radius:4px;display:inline-flex;align-items:center;color:var(--timvir-sidebar-text-color);font-size:14px;line-height:1.725;background:none;text-decoration:none;width:100%;padding:0 6px;height:27px;}.njdy1am:hover a{background-color:var(--timvir-sidebar-highlight-color);}.njdy1am[data-active="true"] a{background-color:var(--timvir-sidebar-highlight-color);}
155
159
 
156
160
  .d17eoe18{display:none;height:0;}@media (min-width:60rem){.d17eoe18{display:flex;flex-direction:column;height:100%;}}
157
- .d1mgn6rc{padding:24px 3px 24px;flex-shrink:0;transition:all 0.16s;}
161
+ .d1mgn6rc{padding:24px 0 0;flex-shrink:0;transition:all 0.16s;}
158
162
  .d7bx8iu{box-shadow:0 1px 0 rgba(16,22,26,0.15);}
159
163
  .r119ou0k{position:fixed;top:0;left:0;bottom:0;width:0;}@media (min-width:60rem){.r119ou0k{width:300px;}}
160
- .s1f74255{padding:24px 3px 30px;overflow-y:auto;flex-grow:1;overscroll-behavior:contain;}
161
- .d5l3c45{font-family:system-ui;}
162
- .d15ju3pv{color:var(--timvir-text-color);font-size:14px;font-weight:500;line-height:1.725;cursor:pointer;padding:2px 24px;border-radius:3px;display:flex;align-items:center;}.d15ju3pv:hover{background:var(--timvir-sidebar-highlight-color);}.d15ju3pv > svg{display:block;margin-right:4px;}
164
+ .s1f74255{padding:16px 0 30px;overflow-y:auto;flex-grow:1;overscroll-behavior:contain;}
165
+ .n5l3c45{padding-inline:16px;}
166
+ .d15ju3pv{font-family:system-ui;padding:0 16px;}
167
+ .d2bwnbz{color:var(--timvir-text-color);font-size:0.8125rem;line-height:2.2;font-weight:400;cursor:pointer;height:36px;border-radius:8px;padding:0 12px;border:1px solid var(--timvir-border-color);background:var(--timvir-secondary-background-color);display:flex;align-items:center;}.d2bwnbz:hover{background:var(--timvir-sidebar-highlight-color);}.d2bwnbz > svg{display:block;margin-right:8px;}
163
168
 
164
169
  .rfhjyp1{min-height:100vh;display:grid;grid-template-columns:[l] 0 [m] 1fr [r];}@media (min-width:60rem){.rfhjyp1{grid-template-columns:[l] 300px [m] 1fr [r];}}
165
- .d1pp8z35{background-color:var(--timvir-sidebar-background-color);grid-column:l / m;}
170
+ .d1pp8z35{grid-column:l / m;border-right:1px solid var(--timvir-border-color);}
166
171
  .dxk1fgw{display:flex;flex-direction:column;grid-column:m / r;}
167
172
  .d2srpki{margin-top:auto;}
168
173
  .d1hkiw6l{margin-top:auto;padding-top:80px;}