timvir 0.2.18 → 0.2.19

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;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);}
3
+ .t1663phv{display:flex;align-items:center;padding:0 0 0 10px;min-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
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);}
6
+ .b128wsn{border:none;outline:none;min-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
 
@@ -12,5 +12,5 @@
12
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.8125rem;line-height:1.1875;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:0.3em;}
16
16
 
@@ -40,9 +40,3 @@ Use the `bleed` prop to control how much the checkered background extends beyond
40
40
  style={{ height: 40, padding: "0 16px", background: "teal", color: "white", display: "flex", alignItems: "center" }}
41
41
  />
42
42
  </Exhibit>
43
-
44
- <Exhibit bleed={24} caption="Bleed 24">
45
- <div
46
- style={{ height: 40, padding: "0 16px", background: "teal", color: "white", display: "flex", alignItems: "center" }}
47
- />
48
- </Exhibit>
@@ -1,4 +1,4 @@
1
1
  .r1nql2f9{--timvir-b-Exhibit-bleed:calc(var(--timvir-margin,0px) * 0.6666);--timvir-b-Exhibit-borderColor:var(--timvir-border-color);--timvir-b-Exhibit-background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAIAAAACUFjqAAAAHElEQVR4AWP4/u07Mvr75y8yGlBpND6a6oGUBgAxMSSkDKa/pQAAAABJRU5ErkJggg==);}: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);border-radius:5px;}
3
- .cf43jjx{font-size:0.8125rem;line-height:1.1875;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:0.3em;}
4
4
 
@@ -1,4 +1,4 @@
1
- .fgdj0yb{font-size:0.75rem;color:var(--timvir-secondary-text-color);white-space:nowrap;display:flex;justify-content:space-between;align-items:center;}
1
+ .fgdj0yb{font-size:0.8125rem;line-height:1.1875;color:var(--timvir-secondary-text-color);white-space:nowrap;display:flex;justify-content:space-between;align-items:center;}
2
2
  .d1rc4zjh{cursor:pointer;}.d1rc4zjh:hover{color:var(--c-p-4);opacity:1;}.d1rc4zjh > svg{display:block;}
3
3
  .d1enfo6{overflow:hidden;transition:height 0.2s,opacity 0.2s 0.1s;}
4
4
  .d1watfn6{margin-top:12px;}
@@ -7,7 +7,7 @@
7
7
 
8
8
  .ssl4j8q{width:100%;display:block;height:16px;margin:8px 0;}
9
9
 
10
- .r1ouu0bc{contain:layout;}
10
+ .r1ouu0bc{contain:layout;margin-bottom:0;}
11
11
  .d1uj09ka{position:relative;}
12
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;}
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;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);}
3
+ .t1663phv{display:flex;align-items:center;padding:0 0 0 10px;min-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
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);}
6
+ .b128wsn{border:none;outline:none;min-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
 
@@ -19,7 +19,7 @@
19
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.8125rem;line-height:1.1875;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:0.3em;}
23
23
 
24
24
 
25
25
  .r1f19pie{position:relative;}
@@ -37,7 +37,7 @@
37
37
 
38
38
  .r1nql2f9{--timvir-b-Exhibit-bleed:calc(var(--timvir-margin,0px) * 0.6666);--timvir-b-Exhibit-borderColor:var(--timvir-border-color);--timvir-b-Exhibit-background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAIAAAACUFjqAAAAHElEQVR4AWP4/u07Mvr75y8yGlBpND6a6oGUBgAxMSSkDKa/pQAAAABJRU5ErkJggg==);}: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);border-radius:5px;}
40
- .cf43jjx{font-size:0.8125rem;line-height:1.1875;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:0.3em;}
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;}
@@ -70,7 +70,7 @@
70
70
  .dobecwk{display:flex;justify-content:space-between;align-items:center;line-height:1;}
71
71
  .dho7t08{padding-top:6px;opacity:0.5;font-size:0.8em;line-height:1;}
72
72
 
73
- .fgdj0yb{font-size:0.75rem;color:var(--timvir-secondary-text-color);white-space:nowrap;display:flex;justify-content:space-between;align-items:center;}
73
+ .fgdj0yb{font-size:0.8125rem;line-height:1.1875;color:var(--timvir-secondary-text-color);white-space:nowrap;display:flex;justify-content:space-between;align-items:center;}
74
74
  .d1rc4zjh{cursor:pointer;}.d1rc4zjh:hover{color:var(--c-p-4);opacity:1;}.d1rc4zjh > svg{display:block;}
75
75
  .d1enfo6{overflow:hidden;transition:height 0.2s,opacity 0.2s 0.1s;}
76
76
  .d1watfn6{margin-top:12px;}
@@ -79,7 +79,7 @@
79
79
 
80
80
  .ssl4j8q{width:100%;display:block;height:16px;margin:8px 0;}
81
81
 
82
- .r1ouu0bc{contain:layout;}
82
+ .r1ouu0bc{contain:layout;margin-bottom:0;}
83
83
  .d1uj09ka{position:relative;}
84
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;}
@@ -24,7 +24,7 @@ interface Props extends React.ComponentProps<typeof Root> {
24
24
  * highlighting. If you want to enable syntax highlighting in code blocks, use the
25
25
  * '<Code>' component from 'timvir/blocks'.
26
26
  */
27
- mdxComponents?: React.ComponentPropsWithoutRef<typeof MDXProvider>['components'];
27
+ mdxComponents?: React.ComponentPropsWithoutRef<typeof MDXProvider>["components"];
28
28
  /**
29
29
  * Search Configuration. When provided, then the Search menu will appear in the sidebar.
30
30
  */
@@ -1,6 +1,6 @@
1
1
  import * as React from "react";
2
2
  import { Node } from "../types";
3
- interface Props {
3
+ interface Props extends React.ComponentPropsWithoutRef<"nav"> {
4
4
  toc: readonly Node[];
5
5
  search?: {
6
6
  open: () => void;
package/core/index.js CHANGED
@@ -58,34 +58,38 @@ function Footer(props, ref) {
58
58
  } = props;
59
59
  return /*#__PURE__*/React.createElement(Root$2, {
60
60
  ref: ref,
61
- className: cx_default(className, classes$6.root),
61
+ className: cx_default(className, classes$7.root),
62
62
  ...rest
63
63
  }, links && /*#__PURE__*/React.createElement("div", {
64
64
  className: grid
65
65
  }, /*#__PURE__*/React.createElement("div", {
66
- className: classes$6.linkGroups
66
+ className: classes$7.linkGroups
67
67
  }, links.map(({
68
68
  group,
69
69
  items
70
70
  }, i) => /*#__PURE__*/React.createElement("div", {
71
71
  key: i
72
72
  }, /*#__PURE__*/React.createElement("div", {
73
- className: classes$6.linkGroupTitle
73
+ className: classes$7.linkGroupTitle
74
74
  }, group), /*#__PURE__*/React.createElement("div", null, items.map(({
75
75
  label,
76
76
  href
77
77
  }, j) => /*#__PURE__*/React.createElement("a", {
78
78
  key: j,
79
79
  href: href,
80
- className: classes$6.link
80
+ className: classes$7.link
81
81
  }, label))))))), /*#__PURE__*/React.createElement("div", {
82
- className: cx_default(grid, classes$6.meta)
83
- }, /*#__PURE__*/React.createElement("div", null, "Built with ", /*#__PURE__*/React.createElement("a", {
82
+ className: cx_default(grid, classes$7.meta)
83
+ }, /*#__PURE__*/React.createElement("div", {
84
+ style: {
85
+ marginBottom: 0
86
+ }
87
+ }, "Built with ", /*#__PURE__*/React.createElement("a", {
84
88
  href: "https://timvir.vercel.app"
85
89
  }, "Timvir"))));
86
90
  }
87
91
  var Footer$1 = /*#__PURE__*/React.forwardRef(Footer);
88
- const classes$6 = {
92
+ const classes$7 = {
89
93
  root: "rwhrdvg",
90
94
  linkGroups: "l1u1x7q7",
91
95
  linkGroupTitle: "l1x5jo3a",
@@ -101,10 +105,10 @@ function Action(props) {
101
105
  ...rest
102
106
  } = props;
103
107
  return /*#__PURE__*/React.createElement("div", {
104
- className: classes$5.root,
108
+ className: classes$6.root,
105
109
  ...rest
106
110
  }, /*#__PURE__*/React.createElement("div", {
107
- className: classes$5.icon
111
+ className: classes$6.icon
108
112
  }, /*#__PURE__*/React.createElement("svg", {
109
113
  viewBox: "0 0 24 24",
110
114
  fill: "none",
@@ -120,10 +124,10 @@ function Action(props) {
120
124
  }), /*#__PURE__*/React.createElement("polyline", {
121
125
  points: "12 5 19 12 12 19"
122
126
  }))), /*#__PURE__*/React.createElement("div", {
123
- className: classes$5.label
127
+ className: classes$6.label
124
128
  }, label));
125
129
  }
126
- const classes$5 = {
130
+ const classes$6 = {
127
131
  root: "ru1mblv",
128
132
  icon: "i1wyx06o",
129
133
  label: "legxg01"
@@ -176,13 +180,13 @@ function Dialog(props) {
176
180
  })();
177
181
  }, [mutate, state.query]);
178
182
  return /*#__PURE__*/React.createElement("div", {
179
- className: classes$4.root,
183
+ className: classes$5.root,
180
184
  style: state.style,
181
185
  ...rest
182
186
  }, /*#__PURE__*/React.createElement("div", {
183
- className: classes$4.context
187
+ className: classes$5.context
184
188
  }, "Context"), /*#__PURE__*/React.createElement("div", {
185
- className: classes$4.prompt
189
+ className: classes$5.prompt
186
190
  }, /*#__PURE__*/React.createElement("input", {
187
191
  autoFocus: true,
188
192
  placeholder: "Type a command or search\u2026",
@@ -194,9 +198,9 @@ function Dialog(props) {
194
198
  });
195
199
  }
196
200
  })), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("div", {
197
- className: classes$4.subheader
201
+ className: classes$5.subheader
198
202
  }, "Pages"), /*#__PURE__*/React.createElement("div", {
199
- className: classes$4.commands
203
+ className: classes$5.commands
200
204
  }, state.commands.map(({
201
205
  node
202
206
  }, index) => /*#__PURE__*/React.createElement(Action, {
@@ -208,7 +212,7 @@ function Dialog(props) {
208
212
  }
209
213
  })))));
210
214
  }
211
- const classes$4 = {
215
+ const classes$5 = {
212
216
  root: "r1fo6voy",
213
217
  context: "c185xiij",
214
218
  prompt: "p1ky3ya3",
@@ -238,7 +242,7 @@ function Commands(props) {
238
242
  const containerElement = document.createElement("div");
239
243
  document.body.appendChild(containerElement);
240
244
  const reactPortal = /*#__PURE__*/ReactDOM.createPortal( /*#__PURE__*/React.createElement("div", {
241
- className: classes$3.root,
245
+ className: classes$4.root,
242
246
  onClick: ev => {
243
247
  if (ev.target === ev.currentTarget) {
244
248
  close();
@@ -254,7 +258,7 @@ function Commands(props) {
254
258
  });
255
259
  } else {
256
260
  const reactPortal = /*#__PURE__*/ReactDOM.createPortal( /*#__PURE__*/React.createElement("div", {
257
- className: classes$3.root,
261
+ className: classes$4.root,
258
262
  onClick: ev => {
259
263
  if (ev.target === ev.currentTarget) {
260
264
  close();
@@ -273,7 +277,7 @@ function Commands(props) {
273
277
  draft.open = false;
274
278
  if (draft.dialog) {
275
279
  const reactPortal = /*#__PURE__*/ReactDOM.createPortal( /*#__PURE__*/React.createElement("div", {
276
- className: classes$3.root
280
+ className: classes$4.root
277
281
  }, /*#__PURE__*/React.createElement(Dialog, {
278
282
  onDispose: () => {
279
283
  mutate(draft => {
@@ -317,7 +321,7 @@ function Commands(props) {
317
321
  }, [state.open]);
318
322
  return ((_state$dialog = state.dialog) === null || _state$dialog === void 0 ? void 0 : _state$dialog.reactPortal) ?? null;
319
323
  }
320
- const classes$3 = {
324
+ const classes$4 = {
321
325
  root: "rfei6z8"
322
326
  };
323
327
 
@@ -326,6 +330,9 @@ const classes$3 = {
326
330
  */
327
331
  const Root$1 = "div";
328
332
  function NavigationFooter(props, ref) {
333
+ const {
334
+ Link
335
+ } = useContext();
329
336
  const {
330
337
  prev,
331
338
  next,
@@ -335,37 +342,33 @@ function NavigationFooter(props, ref) {
335
342
  return /*#__PURE__*/React.createElement(Root$1, {
336
343
  ref: ref,
337
344
  ...rest,
338
- className: cx_default(className, "re625n1")
339
- }, /*#__PURE__*/React.createElement("div", {
340
- className: "d19gj27w"
345
+ className: cx_default(className, classes$3.root)
341
346
  }, /*#__PURE__*/React.createElement("div", {
342
- className: "d15ohs1l"
343
- }, prev && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(SecondaryLabel, null, prev.context || "/"), /*#__PURE__*/React.createElement(PrimaryLink, {
344
- href: prev.href
345
- }, prev.label))), /*#__PURE__*/React.createElement("div", {
346
- className: "dczrd9z"
347
- }, next && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(SecondaryLabel, null, next.context || "/"), /*#__PURE__*/React.createElement(PrimaryLink, {
348
- href: next.href
349
- }, next.label)))));
347
+ className: "de625n1"
348
+ }, prev && /*#__PURE__*/React.createElement(Link, {
349
+ href: prev.href,
350
+ className: "l19gj27w"
351
+ }, /*#__PURE__*/React.createElement(Context, null, /*#__PURE__*/React.createElement(Icons.ChevronLeft, null), " Previous"), /*#__PURE__*/React.createElement(Label, null, prev.label)), next && /*#__PURE__*/React.createElement(Link, {
352
+ href: next.href,
353
+ className: "l15ohs1l"
354
+ }, /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Context, null, "Next ", /*#__PURE__*/React.createElement(Icons.ChevronRight, null)), /*#__PURE__*/React.createElement(Label, null, next.label)))));
350
355
  }
351
356
  var NavigationFooter$1 = /*#__PURE__*/React.forwardRef(NavigationFooter);
352
- const PrimaryLink = ({
353
- href,
354
- children
355
- }) => {
356
- const {
357
- Link
358
- } = useContext();
359
- return /*#__PURE__*/React.createElement(Link, {
360
- href: href,
361
- className: "lifnzb8"
362
- }, children);
357
+ function Label(props) {
358
+ return /*#__PURE__*/React.createElement("div", {
359
+ className: "dczrd9z",
360
+ ...props
361
+ });
362
+ }
363
+ function Context(props) {
364
+ return /*#__PURE__*/React.createElement("div", {
365
+ className: "difnzb8",
366
+ ...props
367
+ });
368
+ }
369
+ const classes$3 = {
370
+ root: "rymvrdu"
363
371
  };
364
- const SecondaryLabel = ({
365
- children
366
- }) => /*#__PURE__*/React.createElement("div", {
367
- className: "dymvrdu"
368
- }, children);
369
372
 
370
373
  function memoize(fn) {
371
374
  var cache = Object.create(null);
@@ -721,34 +724,67 @@ const classes$1 = {
721
724
  };
722
725
 
723
726
  function Sidebar(props) {
727
+ const {
728
+ location
729
+ } = useContext();
724
730
  const {
725
731
  toc,
726
- search
732
+ search,
733
+ className,
734
+ ...rest
727
735
  } = props;
728
- const [state, mutate] = useImmer({
729
- shadowVisible: false
730
- });
731
- const onScroll = ev => {
732
- const shadowVisible = ev.currentTarget.scrollTop > 2;
733
- if (state.shadowVisible !== shadowVisible) {
734
- mutate(draft => {
735
- draft.shadowVisible = shadowVisible;
736
- });
736
+ const node = function find(nodes) {
737
+ for (const node of nodes) {
738
+ if (node.path === location.asPath) {
739
+ return node;
740
+ }
741
+ if (node.children) {
742
+ const n = find(node.children);
743
+ if (n) {
744
+ return n;
745
+ }
746
+ }
737
747
  }
738
- };
739
- return /*#__PURE__*/React.createElement("aside", {
740
- className: cx_default(classes.root)
748
+ }(toc);
749
+ return /*#__PURE__*/React.createElement("nav", {
750
+ className: cx_default(className, classes.root),
751
+ ...rest
752
+ }, /*#__PURE__*/React.createElement("header", {
753
+ className: "h17eoe18"
754
+ }, /*#__PURE__*/React.createElement("div", {
755
+ className: "d1mgn6rc"
741
756
  }, /*#__PURE__*/React.createElement("div", {
742
- className: "d17eoe18"
743
- }, search && /*#__PURE__*/React.createElement("div", {
744
- className: cx_default("d1mgn6rc", state.shadowVisible && "d7bx8iu")
757
+ className: "d7bx8iu"
758
+ }, "Timvir"), /*#__PURE__*/React.createElement("div", {
759
+ className: "d119ou0k"
760
+ }), /*#__PURE__*/React.createElement("div", null, "Docs")), search && /*#__PURE__*/React.createElement("div", {
761
+ className: cx_default("d1f74255")
745
762
  }, /*#__PURE__*/React.createElement(Search, {
746
763
  ...search
747
- })), /*#__PURE__*/React.createElement("div", {
748
- className: classes.sections,
749
- onScroll: onScroll
750
- }, /*#__PURE__*/React.createElement("nav", {
751
- className: classes.nav
764
+ }))), /*#__PURE__*/React.createElement("label", {
765
+ htmlFor: "menu",
766
+ className: "l5l3c45"
767
+ }, node !== null && node !== void 0 && node.icon ? /*#__PURE__*/React.cloneElement(node.icon, {
768
+ className: "c15ju3pv"
769
+ }) : null, /*#__PURE__*/React.createElement("span", null, (node === null || node === void 0 ? void 0 : node.label) ?? "Menu"), /*#__PURE__*/React.createElement(Icons.Menu, {
770
+ size: `1rem`,
771
+ className: "s2bwnbz"
772
+ })), /*#__PURE__*/React.createElement("input", {
773
+ type: "checkbox",
774
+ id: "menu",
775
+ className: "iu06l76",
776
+ onChange: ev => {
777
+ document.body.classList.toggle(classes.scrollLock, ev.currentTarget.checked);
778
+ }
779
+ }), /*#__PURE__*/React.createElement("div", {
780
+ className: classes.content
781
+ }, /*#__PURE__*/React.createElement("div", {
782
+ className: classes.sections
783
+ }, /*#__PURE__*/React.createElement("div", {
784
+ className: classes.nav,
785
+ onClick: () => {
786
+ document.body.classList.remove(classes.scrollLock);
787
+ }
752
788
  }, toc.map((c, i) => /*#__PURE__*/React.createElement(Section, {
753
789
  key: i,
754
790
  depth: 0,
@@ -756,9 +792,11 @@ function Sidebar(props) {
756
792
  }))))));
757
793
  }
758
794
  const classes = {
759
- root: "r119ou0k",
760
- sections: "s1f74255",
761
- nav: "n5l3c45"
795
+ scrollLock: "s56darb",
796
+ root: "rwbgl5x",
797
+ content: "c15aig6x",
798
+ sections: "svou0q5",
799
+ nav: "n1ibjf0n"
762
800
  };
763
801
  function Search(props) {
764
802
  const {
@@ -766,10 +804,10 @@ function Search(props) {
766
804
  label
767
805
  } = props;
768
806
  return /*#__PURE__*/React.createElement("div", {
769
- className: "d15ju3pv"
807
+ className: "da95449"
770
808
  }, /*#__PURE__*/React.createElement("div", {
771
809
  role: "button",
772
- className: "d2bwnbz",
810
+ className: "d1au8wkb",
773
811
  onClick: open
774
812
  }, /*#__PURE__*/React.createElement("svg", {
775
813
  x: "0px",
@@ -834,9 +872,8 @@ function Page(props, ref) {
834
872
  ref: ref,
835
873
  ...rest,
836
874
  className: cx_default(className, theme, "rfhjyp1")
837
- }, /*#__PURE__*/React.createElement("div", {
838
- className: "d1pp8z35"
839
875
  }, /*#__PURE__*/React.createElement(Sidebar, {
876
+ className: "s1pp8z35",
840
877
  toc: toc,
841
878
  search: search && {
842
879
  open: () => {
@@ -846,7 +883,7 @@ function Page(props, ref) {
846
883
  },
847
884
  ...search
848
885
  }
849
- })), /*#__PURE__*/React.createElement("div", {
886
+ }), /*#__PURE__*/React.createElement("div", {
850
887
  className: "dxk1fgw"
851
888
  }, /*#__PURE__*/React.createElement("div", {
852
889
  className: grid
package/core/styles.css CHANGED
@@ -3,11 +3,11 @@
3
3
  .en6sn9p{grid-column:lex / rex;}
4
4
  .f3c539b{grid-column:le / re;}
5
5
 
6
- .rwhrdvg{padding:50px 0 30px;background:#20232a;color:white;display:grid;gap:50px;}
6
+ .rwhrdvg{padding:50px 0 30px;display:grid;gap:50px;border-top:1px solid var(--timvir-border-color);}
7
7
  .l1u1x7q7{display:grid;grid-template-columns:repeat(auto-fill,minmax(234px,1fr));grid-gap:32px;}
8
- .l1x5jo3a{text-transform:uppercase;color:var(--timvir-secondary-text-color);font-weight:700;letter-spacing:0.08em;margin-bottom:12px;}
9
- .l29wcr8{display:block;color:white;text-decoration:none;}.l29wcr8:hover{color:var(--c-p-4);}
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);}
8
+ .l1x5jo3a{font-weight:600;margin-bottom:12px;}
9
+ .l29wcr8{display:block;color:inherit;text-decoration:none;}.l29wcr8:hover{color:var(--c-p-4);}
10
+ .m1ojti9g{color:var(--timvir-secondary-text-color);}.m1ojti9g a{color:inherit;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
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
 
@@ -23,12 +23,12 @@
23
23
 
24
24
  .rfei6z8{position:fixed;inset:0px;display:flex;z-index:900;align-items:flex-start;justify-content:center;padding:13vh 16px 16px;font-family:system-ui,sans-serif;font-feature-settings:"liga","kern";text-rendering:optimizelegibility;font-size:16px;line-height:1.725;}
25
25
 
26
- .re625n1{padding:50px 0;background:#282c34;color:white;display:grid;grid-auto-rows:min-content;grid-template-columns:[le] 16px [lex lc] 1fr [rc rex] 16px [re];}@media (min-width:48rem){.re625n1{grid-template-columns:[le] 24px [lex] 1fr [lc] minmax(0,48rem) [rc] 1fr [rex] 24px [re];}}@media (min-width:72rem){.re625n1{grid-template-columns:[le] 1fr 24px [lex] minmax(0,12rem) [lc] 48rem [rc] minmax(0,12rem) [rex] 24px 1fr [re];}}.re625n1 > *{grid-column:lc / rc;}
27
- .d19gj27w{display:flex;align-items:flex-start;justify-content:space-between;}
28
- .d15ohs1l{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;text-align:left;}
29
- .dczrd9z{display:flex;flex-direction:column;align-items:flex-end;justify-content:flex-start;text-align:right;}
30
- .lifnzb8{font-size:1.2rem;color:inherit;text-decoration:none;}.lifnzb8:hover{color:var(--c-p-3);}
31
- .dymvrdu{opacity:0.5;}
26
+ .de625n1{display:flex;flex-direction:column-reverse;gap:1rem;font-size:0.875rem;line-height:1.5;}@media (min-width:48rem){.de625n1{flex-direction:row;}}
27
+ .l19gj27w{width:100%;display:flex;gap:4px;flex-direction:column;align-items:flex-start;justify-content:flex-end;text-align:left;border-radius:8px;border:1px solid var(--timvir-border-color);padding:16px;color:inherit;text-decoration:none;min-width:0;}.l19gj27w:hover{background-color:var(--timvir-secondary-background-color);}
28
+ .l15ohs1l{width:100%;display:flex;flex-direction:column;gap:4px;align-items:flex-end;justify-content:flex-start;text-align:right;border-radius:8px;border:1px solid var(--timvir-border-color);padding:16px;color:inherit;text-decoration:none;min-width:0;}.l15ohs1l:hover{background-color:var(--timvir-secondary-background-color);}
29
+ .dczrd9z{font-weight:500;overflow:hidden;text-overflow:ellipsis;max-width:100%;}
30
+ .difnzb8{color:var(--timvir-secondary-text-color);display:flex;align-items:center;margin-inline:-0.2em;}.difnzb8 svg{height:1.2em;width:1.2em;}
31
+ .rymvrdu{padding:50px 0 80px;display:grid;grid-auto-rows:min-content;grid-template-columns:[le] var(--timvir-page-margin) [lex lc] 1fr [rc rex] var(--timvir-page-margin) [re];}@media (min-width:48rem){.rymvrdu{grid-template-columns: [le] var(--timvir-page-margin) [lex] 1fr [lc] minmax(0,48rem) [rc] 1fr [rex] var(--timvir-page-margin) [re];}}@media (min-width:72rem){.rymvrdu{grid-template-columns: [le] 1fr var(--timvir-page-margin) [lex] minmax(0,12rem) [lc] 48rem [rc] minmax(0,12rem) [rex] var( --timvir-page-margin ) 1fr [re];}}.rymvrdu > *{grid-column:lc / rc;}
32
32
 
33
33
  .a12hs2f7{color:inherit;text-decoration:none;}.a12hs2f7:hover svg{opacity:1;transform:none;visibility:visible;--visibility-delay:0s;}
34
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%);}
@@ -50,25 +50,33 @@
50
50
 
51
51
 
52
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
- .i1ia823q{display:block;width:1.3em;height:1.3em;margin-right:8px;min-width:fit-content;}
53
+ .r28qe6v{display:flex;align-items:center;margin:1px 0;font-size:0.9375rem;line-height:2.2;}@media (min-width:48rem){.r28qe6v{font-size:0.8125rem;}}@media (any-pointer:coarse){.r28qe6v > a{min-height:44px;}}.r28qe6v > a{min-width:0;transition:background 0.16s;border-radius:4px;display:flex;align-items:center;color:var(--timvir-text-color);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
+ .i1ia823q{display:block;width:1.3em;height:1.3em;margin-right:8px;min-width:1.3em;}
55
55
  .l13ixk6c{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-right:auto;}
56
- .i7wcd3g{margin-left:4px;transition:transform 0.12s cubic-bezier(0.455,0.03,0.515,0.955);transform-origin:center center;}
57
-
58
-
59
-
60
- .d17eoe18{display:none;height:0;}@media (min-width:60rem){.d17eoe18{display:flex;flex-direction:column;height:100%;}}
61
- .d1mgn6rc{padding:24px 0 0;flex-shrink:0;transition:all 0.16s;}
62
- .d7bx8iu{box-shadow:0 1px 0 rgba(16,22,26,0.15);}
63
- .r119ou0k{position:fixed;top:0;left:0;bottom:0;width:0;}@media (min-width:60rem){.r119ou0k{width:300px;}}
64
- .s1f74255{padding:16px 0 30px;overflow-y:auto;flex-grow:1;overscroll-behavior:contain;}
65
- .n5l3c45{padding-inline:16px;}
66
- .d15ju3pv{font-family:system-ui;padding:0 16px;}
67
- .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;}
68
-
69
- .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];}}
70
- .d1pp8z35{grid-column:l / m;border-right:1px solid var(--timvir-border-color);}
71
- .dxk1fgw{display:flex;flex-direction:column;grid-column:m / r;}
56
+ .i7wcd3g{margin-left:4px;transition:transform 0.12s cubic-bezier(0.455,0.03,0.515,0.955);transform-origin:center center;width:1rem;height:1rem;}
57
+
58
+
59
+
60
+ .h17eoe18{padding:0 var(--timvir-page-margin);height:3rem;display:flex;align-items:center;}@media (min-width:48rem){.h17eoe18{padding-top:24px;display:block;height:auto;}}
61
+ .d1mgn6rc{font-size:0.875rem;line-height:1.3125;display:flex;gap:16px;}
62
+ .d7bx8iu{font-weight:590;}
63
+ .d119ou0k{background-color:var(--timvir-border-color);width:1px;height:1.25rem;}
64
+ .d1f74255{flex-shrink:0;transition:all 0.16s;margin-top:16px;display:none;}@media (min-width:48rem){.d1f74255{display:block;}}
65
+ .l5l3c45{border-bottom:1px solid var(--timvir-border-color);padding:0 var(--timvir-page-margin);height:3rem;display:flex;align-items:center;cursor:pointer;}@media (min-width:48rem){.l5l3c45{display:none;}}
66
+ .c15ju3pv{display:block;width:1.3em;height:1.3em;margin-right:8px;min-width:1.3em;}
67
+ .s2bwnbz{margin-left:auto;}
68
+ .iu06l76{display:none;}
69
+ .s56darb{overflow-y:scroll;position:fixed;top:0px;width:100%;}
70
+ .rwbgl5x{display:flex;flex-direction:column;}@media (min-width:48rem){.rwbgl5x{height:100%;}}
71
+ .c15aig6x{display:none;background-color:var(--timvir-background-color);}#menu:checked ~ .c15aig6x{display:flex;position:fixed;top:6rem;left:0;right:0;bottom:0;}@media (min-width:48rem){.c15aig6x{display:flex;flex-direction:column;height:100%;position:static;overflow:hidden;}}
72
+ .svou0q5{padding:24px 0;overflow-y:auto;flex-grow:1;overscroll-behavior:auto;scroll-padding-block:24px;mask-image:linear-gradient( to bottom, transparent 0%, rgba(0,0,0,0.2) 12px, #000 24px, #000 calc(100% - 24px), rgba(0,0,0,0.2) calc(100% - 12px), transparent 100% );}
73
+ .n1ibjf0n{padding-inline:calc(var(--timvir-page-margin) - 8px);}@media (min-width:48rem){.n1ibjf0n{padding-inline:var(--timvir-page-margin);}}
74
+ .da95449{font-family:system-ui;}
75
+ .d1au8wkb{color:var(--timvir-text-color);font-size:0.8125rem;line-height:2.2;font-weight:400;cursor:pointer;min-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;}.d1au8wkb:hover{background:var(--timvir-sidebar-highlight-color);}.d1au8wkb > svg{display:block;margin-right:8px;width:0.75rem;height:0.75rem;}
76
+
77
+ .rfhjyp1{min-height:100vh;--timvir-page-margin:16px;display:grid;grid-template-areas:"navigation" "content";}@media (min-width:48rem){.rfhjyp1{--timvir-page-margin:24px;grid-template-areas:"navigation content";grid-template-columns:[l] 300px [m] 1fr [r];}}
78
+ .s1pp8z35{grid-area:navigation;z-index:80;background-color:var(--timvir-background-color);position:sticky;top:0;}@media (min-width:48rem){.s1pp8z35{position:fixed;top:0;bottom:0;left:0;width:300px;border-right:1px solid var(--timvir-border-color);}}
79
+ .dxk1fgw{display:flex;flex-direction:column;grid-area:content;}
72
80
  .d2srpki{margin-top:auto;}
73
81
  .d1hkiw6l{margin-top:auto;padding-top:80px;}
74
82
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "type": "module",
3
3
  "name": "timvir",
4
- "version": "0.2.18",
4
+ "version": "0.2.19",
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;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);}
3
+ .t1663phv{display:flex;align-items:center;padding:0 0 0 10px;min-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
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);}
6
+ .b128wsn{border:none;outline:none;min-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
 
@@ -19,7 +19,7 @@
19
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.8125rem;line-height:1.1875;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:0.3em;}
23
23
 
24
24
 
25
25
  .r1f19pie{position:relative;}
@@ -37,7 +37,7 @@
37
37
 
38
38
  .r1nql2f9{--timvir-b-Exhibit-bleed:calc(var(--timvir-margin,0px) * 0.6666);--timvir-b-Exhibit-borderColor:var(--timvir-border-color);--timvir-b-Exhibit-background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAIAAAACUFjqAAAAHElEQVR4AWP4/u07Mvr75y8yGlBpND6a6oGUBgAxMSSkDKa/pQAAAABJRU5ErkJggg==);}: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);border-radius:5px;}
40
- .cf43jjx{font-size:0.8125rem;line-height:1.1875;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:0.3em;}
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;}
@@ -70,7 +70,7 @@
70
70
  .dobecwk{display:flex;justify-content:space-between;align-items:center;line-height:1;}
71
71
  .dho7t08{padding-top:6px;opacity:0.5;font-size:0.8em;line-height:1;}
72
72
 
73
- .fgdj0yb{font-size:0.75rem;color:var(--timvir-secondary-text-color);white-space:nowrap;display:flex;justify-content:space-between;align-items:center;}
73
+ .fgdj0yb{font-size:0.8125rem;line-height:1.1875;color:var(--timvir-secondary-text-color);white-space:nowrap;display:flex;justify-content:space-between;align-items:center;}
74
74
  .d1rc4zjh{cursor:pointer;}.d1rc4zjh:hover{color:var(--c-p-4);opacity:1;}.d1rc4zjh > svg{display:block;}
75
75
  .d1enfo6{overflow:hidden;transition:height 0.2s,opacity 0.2s 0.1s;}
76
76
  .d1watfn6{margin-top:12px;}
@@ -79,7 +79,7 @@
79
79
 
80
80
  .ssl4j8q{width:100%;display:block;height:16px;margin:8px 0;}
81
81
 
82
- .r1ouu0bc{contain:layout;}
82
+ .r1ouu0bc{contain:layout;margin-bottom:0;}
83
83
  .d1uj09ka{position:relative;}
84
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;}
@@ -104,11 +104,11 @@
104
104
  .en6sn9p{grid-column:lex / rex;}
105
105
  .f3c539b{grid-column:le / re;}
106
106
 
107
- .rwhrdvg{padding:50px 0 30px;background:#20232a;color:white;display:grid;gap:50px;}
107
+ .rwhrdvg{padding:50px 0 30px;display:grid;gap:50px;border-top:1px solid var(--timvir-border-color);}
108
108
  .l1u1x7q7{display:grid;grid-template-columns:repeat(auto-fill,minmax(234px,1fr));grid-gap:32px;}
109
- .l1x5jo3a{text-transform:uppercase;color:var(--timvir-secondary-text-color);font-weight:700;letter-spacing:0.08em;margin-bottom:12px;}
110
- .l29wcr8{display:block;color:white;text-decoration:none;}.l29wcr8:hover{color:var(--c-p-4);}
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);}
109
+ .l1x5jo3a{font-weight:600;margin-bottom:12px;}
110
+ .l29wcr8{display:block;color:inherit;text-decoration:none;}.l29wcr8:hover{color:var(--c-p-4);}
111
+ .m1ojti9g{color:var(--timvir-secondary-text-color);}.m1ojti9g a{color:inherit;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
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
 
@@ -124,12 +124,12 @@
124
124
 
125
125
  .rfei6z8{position:fixed;inset:0px;display:flex;z-index:900;align-items:flex-start;justify-content:center;padding:13vh 16px 16px;font-family:system-ui,sans-serif;font-feature-settings:"liga","kern";text-rendering:optimizelegibility;font-size:16px;line-height:1.725;}
126
126
 
127
- .re625n1{padding:50px 0;background:#282c34;color:white;display:grid;grid-auto-rows:min-content;grid-template-columns:[le] 16px [lex lc] 1fr [rc rex] 16px [re];}@media (min-width:48rem){.re625n1{grid-template-columns:[le] 24px [lex] 1fr [lc] minmax(0,48rem) [rc] 1fr [rex] 24px [re];}}@media (min-width:72rem){.re625n1{grid-template-columns:[le] 1fr 24px [lex] minmax(0,12rem) [lc] 48rem [rc] minmax(0,12rem) [rex] 24px 1fr [re];}}.re625n1 > *{grid-column:lc / rc;}
128
- .d19gj27w{display:flex;align-items:flex-start;justify-content:space-between;}
129
- .d15ohs1l{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;text-align:left;}
130
- .dczrd9z{display:flex;flex-direction:column;align-items:flex-end;justify-content:flex-start;text-align:right;}
131
- .lifnzb8{font-size:1.2rem;color:inherit;text-decoration:none;}.lifnzb8:hover{color:var(--c-p-3);}
132
- .dymvrdu{opacity:0.5;}
127
+ .de625n1{display:flex;flex-direction:column-reverse;gap:1rem;font-size:0.875rem;line-height:1.5;}@media (min-width:48rem){.de625n1{flex-direction:row;}}
128
+ .l19gj27w{width:100%;display:flex;gap:4px;flex-direction:column;align-items:flex-start;justify-content:flex-end;text-align:left;border-radius:8px;border:1px solid var(--timvir-border-color);padding:16px;color:inherit;text-decoration:none;min-width:0;}.l19gj27w:hover{background-color:var(--timvir-secondary-background-color);}
129
+ .l15ohs1l{width:100%;display:flex;flex-direction:column;gap:4px;align-items:flex-end;justify-content:flex-start;text-align:right;border-radius:8px;border:1px solid var(--timvir-border-color);padding:16px;color:inherit;text-decoration:none;min-width:0;}.l15ohs1l:hover{background-color:var(--timvir-secondary-background-color);}
130
+ .dczrd9z{font-weight:500;overflow:hidden;text-overflow:ellipsis;max-width:100%;}
131
+ .difnzb8{color:var(--timvir-secondary-text-color);display:flex;align-items:center;margin-inline:-0.2em;}.difnzb8 svg{height:1.2em;width:1.2em;}
132
+ .rymvrdu{padding:50px 0 80px;display:grid;grid-auto-rows:min-content;grid-template-columns:[le] var(--timvir-page-margin) [lex lc] 1fr [rc rex] var(--timvir-page-margin) [re];}@media (min-width:48rem){.rymvrdu{grid-template-columns: [le] var(--timvir-page-margin) [lex] 1fr [lc] minmax(0,48rem) [rc] 1fr [rex] var(--timvir-page-margin) [re];}}@media (min-width:72rem){.rymvrdu{grid-template-columns: [le] 1fr var(--timvir-page-margin) [lex] minmax(0,12rem) [lc] 48rem [rc] minmax(0,12rem) [rex] var( --timvir-page-margin ) 1fr [re];}}.rymvrdu > *{grid-column:lc / rc;}
133
133
 
134
134
  .a12hs2f7{color:inherit;text-decoration:none;}.a12hs2f7:hover svg{opacity:1;transform:none;visibility:visible;--visibility-delay:0s;}
135
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%);}
@@ -151,25 +151,33 @@
151
151
 
152
152
 
153
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
- .i1ia823q{display:block;width:1.3em;height:1.3em;margin-right:8px;min-width:fit-content;}
154
+ .r28qe6v{display:flex;align-items:center;margin:1px 0;font-size:0.9375rem;line-height:2.2;}@media (min-width:48rem){.r28qe6v{font-size:0.8125rem;}}@media (any-pointer:coarse){.r28qe6v > a{min-height:44px;}}.r28qe6v > a{min-width:0;transition:background 0.16s;border-radius:4px;display:flex;align-items:center;color:var(--timvir-text-color);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
+ .i1ia823q{display:block;width:1.3em;height:1.3em;margin-right:8px;min-width:1.3em;}
156
156
  .l13ixk6c{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-right:auto;}
157
- .i7wcd3g{margin-left:4px;transition:transform 0.12s cubic-bezier(0.455,0.03,0.515,0.955);transform-origin:center center;}
158
-
159
-
160
-
161
- .d17eoe18{display:none;height:0;}@media (min-width:60rem){.d17eoe18{display:flex;flex-direction:column;height:100%;}}
162
- .d1mgn6rc{padding:24px 0 0;flex-shrink:0;transition:all 0.16s;}
163
- .d7bx8iu{box-shadow:0 1px 0 rgba(16,22,26,0.15);}
164
- .r119ou0k{position:fixed;top:0;left:0;bottom:0;width:0;}@media (min-width:60rem){.r119ou0k{width:300px;}}
165
- .s1f74255{padding:16px 0 30px;overflow-y:auto;flex-grow:1;overscroll-behavior:contain;}
166
- .n5l3c45{padding-inline:16px;}
167
- .d15ju3pv{font-family:system-ui;padding:0 16px;}
168
- .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;}
169
-
170
- .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];}}
171
- .d1pp8z35{grid-column:l / m;border-right:1px solid var(--timvir-border-color);}
172
- .dxk1fgw{display:flex;flex-direction:column;grid-column:m / r;}
157
+ .i7wcd3g{margin-left:4px;transition:transform 0.12s cubic-bezier(0.455,0.03,0.515,0.955);transform-origin:center center;width:1rem;height:1rem;}
158
+
159
+
160
+
161
+ .h17eoe18{padding:0 var(--timvir-page-margin);height:3rem;display:flex;align-items:center;}@media (min-width:48rem){.h17eoe18{padding-top:24px;display:block;height:auto;}}
162
+ .d1mgn6rc{font-size:0.875rem;line-height:1.3125;display:flex;gap:16px;}
163
+ .d7bx8iu{font-weight:590;}
164
+ .d119ou0k{background-color:var(--timvir-border-color);width:1px;height:1.25rem;}
165
+ .d1f74255{flex-shrink:0;transition:all 0.16s;margin-top:16px;display:none;}@media (min-width:48rem){.d1f74255{display:block;}}
166
+ .l5l3c45{border-bottom:1px solid var(--timvir-border-color);padding:0 var(--timvir-page-margin);height:3rem;display:flex;align-items:center;cursor:pointer;}@media (min-width:48rem){.l5l3c45{display:none;}}
167
+ .c15ju3pv{display:block;width:1.3em;height:1.3em;margin-right:8px;min-width:1.3em;}
168
+ .s2bwnbz{margin-left:auto;}
169
+ .iu06l76{display:none;}
170
+ .s56darb{overflow-y:scroll;position:fixed;top:0px;width:100%;}
171
+ .rwbgl5x{display:flex;flex-direction:column;}@media (min-width:48rem){.rwbgl5x{height:100%;}}
172
+ .c15aig6x{display:none;background-color:var(--timvir-background-color);}#menu:checked ~ .c15aig6x{display:flex;position:fixed;top:6rem;left:0;right:0;bottom:0;}@media (min-width:48rem){.c15aig6x{display:flex;flex-direction:column;height:100%;position:static;overflow:hidden;}}
173
+ .svou0q5{padding:24px 0;overflow-y:auto;flex-grow:1;overscroll-behavior:auto;scroll-padding-block:24px;mask-image:linear-gradient( to bottom, transparent 0%, rgba(0,0,0,0.2) 12px, #000 24px, #000 calc(100% - 24px), rgba(0,0,0,0.2) calc(100% - 12px), transparent 100% );}
174
+ .n1ibjf0n{padding-inline:calc(var(--timvir-page-margin) - 8px);}@media (min-width:48rem){.n1ibjf0n{padding-inline:var(--timvir-page-margin);}}
175
+ .da95449{font-family:system-ui;}
176
+ .d1au8wkb{color:var(--timvir-text-color);font-size:0.8125rem;line-height:2.2;font-weight:400;cursor:pointer;min-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;}.d1au8wkb:hover{background:var(--timvir-sidebar-highlight-color);}.d1au8wkb > svg{display:block;margin-right:8px;width:0.75rem;height:0.75rem;}
177
+
178
+ .rfhjyp1{min-height:100vh;--timvir-page-margin:16px;display:grid;grid-template-areas:"navigation" "content";}@media (min-width:48rem){.rfhjyp1{--timvir-page-margin:24px;grid-template-areas:"navigation content";grid-template-columns:[l] 300px [m] 1fr [r];}}
179
+ .s1pp8z35{grid-area:navigation;z-index:80;background-color:var(--timvir-background-color);position:sticky;top:0;}@media (min-width:48rem){.s1pp8z35{position:fixed;top:0;bottom:0;left:0;width:300px;border-right:1px solid var(--timvir-border-color);}}
180
+ .dxk1fgw{display:flex;flex-direction:column;grid-area:content;}
173
181
  .d2srpki{margin-top:auto;}
174
182
  .d1hkiw6l{margin-top:auto;padding-top:80px;}
175
183