timvir 0.2.15 → 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,12 +64,12 @@ function Code(props, ref) {
64
64
  React.useEffect(() => {
65
65
  (async () => {
66
66
  const html = await codeToHtml(children.trim(), {
67
- lang: language !== null && language !== void 0 ? language : "markup",
67
+ lang: language ?? "text",
68
68
  themes: {
69
69
  light: "github-light",
70
70
  dark: "github-dark"
71
71
  },
72
- decorations: (highlightedLines !== null && highlightedLines !== void 0 ? highlightedLines : []).map(line => ({
72
+ decorations: (highlightedLines ?? []).map(line => ({
73
73
  start: {
74
74
  line: line - 1,
75
75
  character: 0
@@ -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
 
@@ -36,7 +36,6 @@ var cx_default = cx;
36
36
  */
37
37
  const Root = "div";
38
38
  function ColorBar(props, ref) {
39
- var _selected$value;
40
39
  const block = useBlock(props);
41
40
  const {
42
41
  values,
@@ -69,7 +68,7 @@ function ColorBar(props, ref) {
69
68
  ...(typeof selected === "string" ? {
70
69
  value: selected
71
70
  } : {
72
- value: (_selected$value = selected === null || selected === void 0 ? void 0 : selected.value) !== null && _selected$value !== void 0 ? _selected$value : ""
71
+ value: selected?.value ?? ""
73
72
  }),
74
73
  onMouseLeave: () => {
75
74
  setSelected(undefined);
@@ -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
 
@@ -127,7 +127,7 @@ function Icon(props, ref) {
127
127
  ...rest
128
128
  } = props;
129
129
  const [roRef, roe] = useResizeObserverEntry();
130
- const width = roe === null || roe === void 0 ? void 0 : roe.contentRect.width;
130
+ const width = roe?.contentRect.width;
131
131
  return /*#__PURE__*/React.createElement(Root, {
132
132
  ref: ref,
133
133
  className: cx_default(className, "r1k0w618"),
@@ -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;}
@@ -61,11 +61,11 @@ function Swatch(props, ref) {
61
61
  onClick: ev => {
62
62
  navigator.clipboard.writeText(value);
63
63
  setLabel("Copied to clipboard");
64
- onClick === null || onClick === void 0 ? void 0 : onClick(ev);
64
+ onClick?.(ev);
65
65
  },
66
66
  onMouseLeave: ev => {
67
67
  setLabel(name);
68
- onMouseLeave === null || onMouseLeave === void 0 ? void 0 : onMouseLeave(ev);
68
+ onMouseLeave?.(ev);
69
69
  }
70
70
  }, /*#__PURE__*/React.createElement("div", {
71
71
  className: "dhgsgky",
@@ -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
 
@@ -147,7 +147,6 @@ function Ruler(props) {
147
147
  */
148
148
  const Root = "div";
149
149
  function Viewport(props, ref) {
150
- var _iframeRef$current, _iframeRef$current$co;
151
150
  const block = useBlock(props);
152
151
  const {
153
152
  src,
@@ -186,13 +185,10 @@ function Viewport(props, ref) {
186
185
  if (lock.current && svgROE) {
187
186
  ev.preventDefault();
188
187
  const max = svgROE.contentRect.width - 2 * (56 + 8 + 8);
189
- setWidth(width => {
190
- var _left$right$lock$curr;
191
- return Math.min(max, Math.max(320, (width !== null && width !== void 0 ? width : 0) + 2 * ev.movementX * ((_left$right$lock$curr = {
192
- left: -1,
193
- right: 1
194
- }[lock.current]) !== null && _left$right$lock$curr !== void 0 ? _left$right$lock$curr : 1)));
195
- });
188
+ setWidth(width => Math.min(max, Math.max(320, (width ?? 0) + 2 * ev.movementX * ({
189
+ left: -1,
190
+ right: 1
191
+ }[lock.current] ?? 1))));
196
192
  }
197
193
  };
198
194
  const onMouseUp = () => {
@@ -214,23 +210,40 @@ function Viewport(props, ref) {
214
210
  const iframeRO = useResizeObserver(entries => {
215
211
  const height = entries[entries.length - 1].contentRect.height;
216
212
  setHeight(height);
217
- setMaxHeight(Math.max(height, maxHeight !== null && maxHeight !== void 0 ? maxHeight : 0));
213
+ setMaxHeight(Math.max(height, maxHeight ?? 0));
218
214
  });
219
215
 
220
216
  /*
221
- * The <html> element of the iframe document is the one which we observe and
222
- * measure. We do not use <body> because that may have margins around which would
223
- * throw off our height observations.
224
- *
225
- * We hope that nobody intentionally adds margins around the <html> element. By default
226
- * 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.
227
220
  */
228
- const html = (_iframeRef$current = iframeRef.current) === null || _iframeRef$current === void 0 ? void 0 : (_iframeRef$current$co = _iframeRef$current.contentDocument) === null || _iframeRef$current$co === void 0 ? void 0 : _iframeRef$current$co.querySelector("html");
229
221
  React.useEffect(() => {
230
- if (html) {
231
- 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);
232
232
  }
233
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
+ }
234
247
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
235
248
  ref: containerRef
236
249
  }), /*#__PURE__*/React.createElement(Root, {
@@ -241,7 +254,7 @@ function Viewport(props, ref) {
241
254
  ref: svgRef,
242
255
  className: "d1uj09ka"
243
256
  }, /*#__PURE__*/React.createElement(Ruler, {
244
- containerWidth: svgROE === null || svgROE === void 0 ? void 0 : svgROE.contentRect.width,
257
+ containerWidth: svgROE?.contentRect.width,
245
258
  viewportWidth: width
246
259
  }), /*#__PURE__*/React.createElement("div", {
247
260
  className: "d2uawyc"
@@ -259,18 +272,13 @@ function Viewport(props, ref) {
259
272
  ref: iframeRef,
260
273
  frameBorder: "0",
261
274
  src: src,
262
- onLoad: () => {
263
- var _iframeRef$current2, _iframeRef$current2$c;
264
- /*
265
- * Once the iframe has loaded, initialize the height/maxHeight.
266
- * The <html> element may not exist though (eg. the page failed
267
- * to load, or it's not a HTML page).
268
- */
269
- const html = (_iframeRef$current2 = iframeRef.current) === null || _iframeRef$current2 === void 0 ? void 0 : (_iframeRef$current2$c = _iframeRef$current2.contentDocument) === null || _iframeRef$current2$c === void 0 ? void 0 : _iframeRef$current2$c.querySelector("html");
270
- if (html) {
275
+ onLoad: ev => {
276
+ const document = ev.currentTarget.contentDocument;
277
+ if (document) {
278
+ injectStyle(document);
271
279
  const {
272
280
  height
273
- } = html.getBoundingClientRect();
281
+ } = document.body.getBoundingClientRect();
274
282
  setHeight(height);
275
283
  setMaxHeight(height);
276
284
  }
@@ -291,14 +299,14 @@ function Viewport(props, ref) {
291
299
  edge: "right",
292
300
  iframeRef: iframeRef
293
301
  })))), /*#__PURE__*/React.createElement(Ruler, {
294
- containerWidth: svgROE === null || svgROE === void 0 ? void 0 : svgROE.contentRect.width,
302
+ containerWidth: svgROE?.contentRect.width,
295
303
  viewportWidth: width
296
304
  })), /*#__PURE__*/React.createElement(Caption$1, {
297
305
  src: src,
298
306
  code: code
299
307
  }), /*#__PURE__*/React.createElement("div", {
300
308
  style: {
301
- height: (maxHeight !== null && maxHeight !== void 0 ? maxHeight : 0) - (height !== null && height !== void 0 ? height : 0),
309
+ height: (maxHeight ?? 0) - (height ?? 0),
302
310
  transition: "height 0.16s"
303
311
  }
304
312
  }));
@@ -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;}
@@ -35,7 +35,6 @@ var cx_default = cx;
35
35
  */
36
36
  const Root = "a";
37
37
  function WebLink(props, ref) {
38
- var _useContext$blocks$We, _useContext$blocks, _metadata$open_graph, _metadata$open_graph$, _metadata$open_graph$2, _ref, _metadata$open_graph$3, _metadata$open_graph2, _metadata$open_graph$4, _metadata$open_graph3;
39
38
  const {
40
39
  url,
41
40
  className,
@@ -44,11 +43,11 @@ function WebLink(props, ref) {
44
43
  const [metadata, setMetadata] = React.useState(undefined);
45
44
  const {
46
45
  unfurl = defaultUnfurl
47
- } = (_useContext$blocks$We = (_useContext$blocks = useContext().blocks) === null || _useContext$blocks === void 0 ? void 0 : _useContext$blocks.WebLink) !== null && _useContext$blocks$We !== void 0 ? _useContext$blocks$We : {};
46
+ } = useContext().blocks?.WebLink ?? {};
48
47
  React.useEffect(() => {
49
48
  unfurl(url).then(setMetadata);
50
49
  }, [url, setMetadata]);
51
- const image = metadata === null || metadata === void 0 ? void 0 : (_metadata$open_graph = metadata.open_graph) === null || _metadata$open_graph === void 0 ? void 0 : (_metadata$open_graph$ = _metadata$open_graph.images) === null || _metadata$open_graph$ === void 0 ? void 0 : (_metadata$open_graph$2 = _metadata$open_graph$[0]) === null || _metadata$open_graph$2 === void 0 ? void 0 : _metadata$open_graph$2.url;
50
+ const image = metadata?.open_graph?.images?.[0]?.url;
52
51
  return /*#__PURE__*/React.createElement(Root, {
53
52
  ref: ref,
54
53
  href: url,
@@ -60,16 +59,16 @@ function WebLink(props, ref) {
60
59
  className: classes.text
61
60
  }, /*#__PURE__*/React.createElement("div", {
62
61
  className: classes.title
63
- }, (_ref = (_metadata$open_graph$3 = metadata === null || metadata === void 0 ? void 0 : (_metadata$open_graph2 = metadata.open_graph) === null || _metadata$open_graph2 === void 0 ? void 0 : _metadata$open_graph2.title) !== null && _metadata$open_graph$3 !== void 0 ? _metadata$open_graph$3 : metadata === null || metadata === void 0 ? void 0 : metadata.title) !== null && _ref !== void 0 ? _ref : /*#__PURE__*/React.createElement(React.Fragment, null, "\xA0")), /*#__PURE__*/React.createElement("div", {
62
+ }, metadata?.open_graph?.title ?? metadata?.title ?? /*#__PURE__*/React.createElement(React.Fragment, null, "\xA0")), /*#__PURE__*/React.createElement("div", {
64
63
  className: classes.description
65
- }, (_metadata$open_graph$4 = metadata === null || metadata === void 0 ? void 0 : (_metadata$open_graph3 = metadata.open_graph) === null || _metadata$open_graph3 === void 0 ? void 0 : _metadata$open_graph3.description) !== null && _metadata$open_graph$4 !== void 0 ? _metadata$open_graph$4 : metadata === null || metadata === void 0 ? void 0 : metadata.description), /*#__PURE__*/React.createElement("div", {
64
+ }, metadata?.open_graph?.description ?? metadata?.description), /*#__PURE__*/React.createElement("div", {
66
65
  className: classes.url
67
66
  }, /*#__PURE__*/React.createElement("img", {
68
67
  style: {
69
- opacity: metadata !== null && metadata !== void 0 && metadata.favicon ? 1 : 0
68
+ opacity: metadata?.favicon ? 1 : 0
70
69
  },
71
70
  className: classes.favicon,
72
- src: metadata === null || metadata === void 0 ? void 0 : metadata.favicon
71
+ src: metadata?.favicon
73
72
  }), /*#__PURE__*/React.createElement("div", null, metadata ? url : null))), image && /*#__PURE__*/React.createElement("div", {
74
73
  className: classes.imageContainer
75
74
  }, /*#__PURE__*/React.createElement("img", {
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"
@@ -159,7 +160,7 @@ function Dialog(props) {
159
160
  transform: "scale(0.95)"
160
161
  };
161
162
  setTimeout(() => {
162
- onDispose === null || onDispose === void 0 ? void 0 : onDispose();
163
+ onDispose === null || onDispose === void 0 || onDispose();
163
164
  }, 200);
164
165
  }
165
166
  });
@@ -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,21 +194,21 @@ 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, {
202
203
  key: index,
203
204
  label: node.label,
204
205
  onClick: () => {
205
- onClose === null || onClose === void 0 ? void 0 : onClose();
206
+ onClose === null || onClose === void 0 || onClose();
206
207
  window.location.href = node.path;
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",
@@ -216,7 +217,7 @@ const classes$3 = {
216
217
  };
217
218
 
218
219
  function Commands(props) {
219
- var _state$dialog$reactPo, _state$dialog;
220
+ var _state$dialog;
220
221
  const [state, mutate] = useImmer({
221
222
  /**
222
223
  * Whether the command palette should be open or not. The command palette is
@@ -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 => {
@@ -314,9 +315,9 @@ function Commands(props) {
314
315
  };
315
316
  }
316
317
  }, [state.open]);
317
- return (_state$dialog$reactPo = (_state$dialog = state.dialog) === null || _state$dialog === void 0 ? void 0 : _state$dialog.reactPortal) !== null && _state$dialog$reactPo !== void 0 ? _state$dialog$reactPo : null;
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.15",
4
+ "version": "0.2.17",
5
5
  "license": "MIT",
6
6
  "sideEffects": false,
7
7
  "exports": {
@@ -16,7 +16,7 @@
16
16
  },
17
17
  "dependencies": {
18
18
  "bytestring": "^1",
19
- "downshift": "^7",
19
+ "downshift": "^7 || ^8 || ^9",
20
20
  "fuzzaldrin-plus": "^0.6.0",
21
21
  "immer": "^9 || ^10",
22
22
  "shiki": "^1",
package/search/index.js CHANGED
@@ -97,14 +97,12 @@ const Highlight = ({
97
97
  }
98
98
  });
99
99
  };
100
- var Highlight$1 = Highlight;
101
100
 
102
101
  /**
103
102
  * The underlying DOM element which is rendered by this component.
104
103
  */
105
104
  const Root = "div";
106
105
  function Dialog(props, ref) {
107
- var _result$edges;
108
106
  const {
109
107
  onClose,
110
108
  q,
@@ -122,7 +120,7 @@ function Dialog(props, ref) {
122
120
  setResult(result);
123
121
  });
124
122
  }, [value, q, setResult]);
125
- const items = (_result$edges = result === null || result === void 0 ? void 0 : result.edges) !== null && _result$edges !== void 0 ? _result$edges : [];
123
+ const items = (result === null || result === void 0 ? void 0 : result.edges) ?? [];
126
124
  const {
127
125
  getMenuProps,
128
126
  getInputProps,
@@ -135,7 +133,7 @@ function Dialog(props, ref) {
135
133
  onInputValueChange: ({
136
134
  inputValue
137
135
  }) => {
138
- setValue(inputValue !== null && inputValue !== void 0 ? inputValue : "");
136
+ setValue(inputValue ?? "");
139
137
  },
140
138
  onSelectedItemChange: ({
141
139
  selectedItem
@@ -201,7 +199,7 @@ function Dialog(props, ref) {
201
199
  }), /*#__PURE__*/React.createElement("path", {
202
200
  d: "M9.5 0.5L9.5 5.5 14.5 5.5"
203
201
  }))),
204
- label: /*#__PURE__*/React.createElement(Highlight$1, {
202
+ label: /*#__PURE__*/React.createElement(Highlight, {
205
203
  string: item.node.path,
206
204
  query: value
207
205
  }),
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;}