timvir 0.2.35 → 0.2.37

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.
package/core/index.js CHANGED
@@ -3,13 +3,11 @@ import { pipe, filter, subscribe } from 'wonka';
3
3
  import { useContext, Provider } from 'timvir/context';
4
4
  export { useContext } from 'timvir/context';
5
5
  import * as React from 'react';
6
- import { useImmer } from 'use-immer';
7
6
  import { MDXProvider } from '@mdx-js/react';
8
7
  import { useHotkeys } from 'react-hotkeys-hook';
9
8
  import { makeBus } from 'timvir/bus';
10
9
  import * as mdxComponentsBase from 'timvir/builtins';
11
10
  import * as Icons from 'react-feather';
12
- import { castDraft } from 'immer';
13
11
  import * as ReactDOM from 'react-dom';
14
12
  import { defaultSearch } from 'timvir/search';
15
13
 
@@ -145,7 +143,7 @@ function Dialog(props) {
145
143
  onDispose,
146
144
  ...rest
147
145
  } = props;
148
- const [state, mutate] = useImmer({
146
+ const [state, setState] = React.useState({
149
147
  style: {
150
148
  opacity: 0,
151
149
  transform: "scale(0.98)"
@@ -154,33 +152,38 @@ function Dialog(props) {
154
152
  commands: []
155
153
  });
156
154
  React.useEffect(() => {
157
- mutate(draft => {
158
- if (open) {
159
- draft.style = {
155
+ if (open) {
156
+ setState(state => ({
157
+ ...state,
158
+ style: {
160
159
  opacity: 1,
161
160
  transform: "none"
162
- };
163
- } else {
164
- draft.style = {
161
+ }
162
+ }));
163
+ } else {
164
+ setState(state => ({
165
+ ...state,
166
+ style: {
165
167
  opacity: 0,
166
168
  transform: "scale(0.95)"
167
- };
168
- setTimeout(() => {
169
- onDispose?.();
170
- }, 200);
171
- }
172
- });
173
- }, [mutate, open]);
169
+ }
170
+ }));
171
+ setTimeout(() => {
172
+ onDispose?.();
173
+ }, 200);
174
+ }
175
+ }, [open]);
174
176
  React.useEffect(() => {
175
177
  (async () => {
176
178
  const {
177
179
  edges
178
180
  } = await defaultSearch(toc).q(state.query);
179
- mutate(draft => {
180
- draft.commands = edges;
181
- });
181
+ setState(state => ({
182
+ ...state,
183
+ commands: edges
184
+ }));
182
185
  })();
183
- }, [mutate, state.query]);
186
+ }, [state.query]);
184
187
  return /*#__PURE__*/React.createElement("div", {
185
188
  className: classes$5.root,
186
189
  style: state.style,
@@ -195,9 +198,10 @@ function Dialog(props) {
195
198
  value: state.query,
196
199
  onChange: ev => {
197
200
  const query = ev.currentTarget.value;
198
- mutate(draft => {
199
- draft.query = query;
200
- });
201
+ setState(state => ({
202
+ ...state,
203
+ query
204
+ }));
201
205
  }
202
206
  })), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("div", {
203
207
  className: classes$5.subheader
@@ -223,7 +227,7 @@ const classes$5 = {
223
227
  };
224
228
 
225
229
  function Commands(props) {
226
- const [state, mutate] = useImmer({
230
+ const [state, setState] = React.useState({
227
231
  /**
228
232
  * Whether the command palette should be open or not. The command palette is
229
233
  * opened by cmd+k, and closed by escape or clicking outside of the dialog.
@@ -237,60 +241,75 @@ function Commands(props) {
237
241
  dialog: null
238
242
  });
239
243
  function open() {
240
- mutate(draft => {
241
- draft.open = true;
242
- if (!draft.dialog) {
243
- const containerElement = document.createElement("div");
244
- document.body.appendChild(containerElement);
245
- const reactPortal = /*#__PURE__*/ReactDOM.createPortal(/*#__PURE__*/React.createElement("div", {
246
- className: classes$4.root,
247
- onClick: ev => {
248
- if (ev.target === ev.currentTarget) {
249
- close();
250
- }
251
- }
252
- }, /*#__PURE__*/React.createElement(Dialog, {
253
- open: true,
254
- onClose: close
255
- })), containerElement);
256
- draft.dialog = castDraft({
257
- containerElement,
258
- reactPortal
259
- });
260
- } else {
261
- const reactPortal = /*#__PURE__*/ReactDOM.createPortal(/*#__PURE__*/React.createElement("div", {
262
- className: classes$4.root,
263
- onClick: ev => {
264
- if (ev.target === ev.currentTarget) {
265
- close();
244
+ setState({
245
+ open: true,
246
+ dialog: (() => {
247
+ if (!state.dialog) {
248
+ const containerElement = document.createElement("div");
249
+ document.body.appendChild(containerElement);
250
+ const reactPortal = /*#__PURE__*/ReactDOM.createPortal(/*#__PURE__*/React.createElement("div", {
251
+ className: classes$4.root,
252
+ onClick: ev => {
253
+ if (ev.target === ev.currentTarget) {
254
+ close();
255
+ }
266
256
  }
267
- }
268
- }, /*#__PURE__*/React.createElement(Dialog, {
269
- open: true,
270
- onClose: close
271
- })), draft.dialog.containerElement);
272
- draft.dialog.reactPortal = reactPortal;
273
- }
257
+ }, /*#__PURE__*/React.createElement(Dialog, {
258
+ open: true,
259
+ onClose: close
260
+ })), containerElement);
261
+ return {
262
+ containerElement,
263
+ reactPortal
264
+ };
265
+ } else {
266
+ return {
267
+ containerElement: state.dialog.containerElement,
268
+ reactPortal: /*#__PURE__*/ReactDOM.createPortal(/*#__PURE__*/React.createElement("div", {
269
+ className: classes$4.root,
270
+ onClick: ev => {
271
+ if (ev.target === ev.currentTarget) {
272
+ close();
273
+ }
274
+ }
275
+ }, /*#__PURE__*/React.createElement(Dialog, {
276
+ open: true,
277
+ onClose: close
278
+ })), state.dialog.containerElement)
279
+ };
280
+ }
281
+ })()
274
282
  });
275
283
  }
276
284
  function close() {
277
- mutate(draft => {
278
- draft.open = false;
279
- if (draft.dialog) {
280
- const reactPortal = /*#__PURE__*/ReactDOM.createPortal(/*#__PURE__*/React.createElement("div", {
281
- className: classes$4.root
282
- }, /*#__PURE__*/React.createElement(Dialog, {
283
- onDispose: () => {
284
- mutate(draft => {
285
- if (!draft.open && draft.dialog) {
286
- document.body.removeChild(draft.dialog.containerElement);
287
- draft.dialog = null;
285
+ setState({
286
+ open: false,
287
+ dialog: (() => {
288
+ if (state.dialog) {
289
+ return {
290
+ containerElement: state.dialog.containerElement,
291
+ reactPortal: /*#__PURE__*/ReactDOM.createPortal(/*#__PURE__*/React.createElement("div", {
292
+ className: classes$4.root
293
+ }, /*#__PURE__*/React.createElement(Dialog, {
294
+ onDispose: () => {
295
+ setState({
296
+ open: state.open,
297
+ dialog: (() => {
298
+ if (!state.open && state.dialog) {
299
+ document.body.removeChild(state.dialog.containerElement);
300
+ return null;
301
+ } else {
302
+ return state.dialog;
303
+ }
304
+ })()
305
+ });
288
306
  }
289
- });
290
- }
291
- })), draft.dialog.containerElement);
292
- draft.dialog.reactPortal = reactPortal;
293
- }
307
+ })), state.dialog.containerElement)
308
+ };
309
+ } else {
310
+ return state.dialog;
311
+ }
312
+ })()
294
313
  });
295
314
  }
296
315
  useHotkeys("meta+k", ev => {
@@ -578,7 +597,7 @@ function Page(props, ref) {
578
597
  children,
579
598
  ...rest
580
599
  } = props;
581
- const [state, mutate] = useImmer({
600
+ const [state, setState] = React.useState({
582
601
  search: {
583
602
  open: false
584
603
  }
@@ -593,15 +612,19 @@ function Page(props, ref) {
593
612
  }), [bus, location, Link, blocks, toc]);
594
613
  useHotkeys("meta+p", ev => {
595
614
  ev.preventDefault();
596
- mutate(draft => {
597
- draft.search.open = !draft.search.open;
615
+ setState({
616
+ search: {
617
+ open: !state.search.open
618
+ }
598
619
  });
599
620
  }, {
600
621
  enableOnFormTags: true
601
622
  });
602
623
  useHotkeys("escape", () => {
603
- mutate(draft => {
604
- draft.search.open = false;
624
+ setState({
625
+ search: {
626
+ open: false
627
+ }
605
628
  });
606
629
  }, {
607
630
  enableOnFormTags: true
@@ -617,8 +640,10 @@ function Page(props, ref) {
617
640
  toc: toc,
618
641
  search: search && {
619
642
  open: () => {
620
- mutate(draft => {
621
- draft.search.open = true;
643
+ setState({
644
+ search: {
645
+ open: true
646
+ }
622
647
  });
623
648
  },
624
649
  ...search
@@ -675,8 +700,10 @@ function Page(props, ref) {
675
700
  })(), Footer && /*#__PURE__*/React.createElement(Footer, null))), search && /*#__PURE__*/React.createElement(search.Component, {
676
701
  ...state.search,
677
702
  onClose: () => {
678
- mutate(draft => {
679
- draft.search.open = false;
703
+ setState({
704
+ search: {
705
+ open: false
706
+ }
680
707
  });
681
708
  }
682
709
  })), /*#__PURE__*/React.createElement(Commands, null));
@@ -697,29 +724,29 @@ function useBlock(props) {
697
724
  bus
698
725
  } = useContext();
699
726
  const mailbox = useMailbox(props.id);
700
- const [state, mutate] = useImmer({
727
+ const [state, setState] = React.useState({
701
728
  overrides: undefined
702
729
  });
703
730
  React.useEffect(() => pipe(mailbox, subscribe(msg => {
704
731
  if (msg.interface === "dev.timvir.Props") {
705
732
  if (msg.member === "set") {
706
- mutate(draft => {
707
- draft.overrides = msg.body;
733
+ setState({
734
+ overrides: msg.body
708
735
  });
709
736
  } else if (msg.member === "merge") {
710
- mutate(draft => {
711
- draft.overrides = {
712
- ...draft.overrides,
737
+ setState({
738
+ overrides: {
739
+ ...state.overrides,
713
740
  ...msg.body
714
- };
741
+ }
715
742
  });
716
743
  } else if (msg.member === "reset") {
717
- mutate(draft => {
718
- draft.overrides = undefined;
744
+ setState({
745
+ overrides: undefined
719
746
  });
720
747
  }
721
748
  }
722
- })).unsubscribe, [mailbox, mutate]);
749
+ })).unsubscribe, [mailbox]);
723
750
  return {
724
751
  bus,
725
752
  mailbox,
@@ -729,8 +756,8 @@ function useBlock(props) {
729
756
  },
730
757
  hasOverrides: !!state.overrides,
731
758
  reset: () => {
732
- mutate(draft => {
733
- draft.overrides = undefined;
759
+ setState({
760
+ overrides: undefined
734
761
  });
735
762
  }
736
763
  };
package/core/layout.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export declare const noLayout: import("@linaria/core").LinariaClassName;
2
- export declare const grid: import("@linaria/core").LinariaClassName;
3
- export declare const extendedWidth: import("@linaria/core").LinariaClassName;
4
- export declare const fullWidth: import("@linaria/core").LinariaClassName;
1
+ export declare const noLayout: string;
2
+ export declare const grid: string;
3
+ export declare const extendedWidth: string;
4
+ export declare const fullWidth: string;
package/core/styles.css CHANGED
@@ -1,62 +1,90 @@
1
1
 
2
- .g1et32pl{display:grid;--timvir-page-margin:16px;--timvir-margin:var(--timvir-page-margin);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){.g1et32pl{--timvir-page-margin:24px;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){.g1et32pl{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];}}.g1et32pl > *:not(.nc2e9vn){grid-column:lc / rc;min-width:0;}.g1et32pl > *{margin:0 0 2rem;}.g1et32pl > p + ul{margin-top:-1.25rem;}
3
- .en6sn9p{grid-column:lex / rex;}
4
- .f3c539b{grid-column:le / re;}
2
+ .g1et32pl{display:-ms-grid;display:grid;--timvir-page-margin:16px;--timvir-margin:var(--timvir-page-margin);-ms-grid-auto-rows:min-content;grid-auto-rows:min-content;-ms-grid-columns:[le] var(--timvir-page-margin) [lex lc] 1fr [rc rex] var(--timvir-page-margin) [re];grid-template-columns:[le] var(--timvir-page-margin) [lex lc] 1fr [rc rex] var(--timvir-page-margin) [re];}@media (min-width: 48rem){.g1et32pl{--timvir-page-margin:24px;-ms-grid-columns:[le] var(--timvir-page-margin) [lex] 1fr [lc] minmax(0, 48rem) [rc] 1fr [rex] var(
3
+ --timvir-page-margin
4
+ ) [re];grid-template-columns:[le] var(--timvir-page-margin) [lex] 1fr [lc] minmax(0, 48rem) [rc] 1fr [rex] var(
5
+ --timvir-page-margin
6
+ ) [re];}}@media (min-width: 72rem){.g1et32pl{-ms-grid-columns:[le] 1fr var(--timvir-page-margin) [lex] minmax(0, 12rem) [lc] 48rem [rc] minmax(0, 12rem) [rex] var(
7
+ --timvir-page-margin
8
+ ) 1fr [re];grid-template-columns:[le] 1fr var(--timvir-page-margin) [lex] minmax(0, 12rem) [lc] 48rem [rc] minmax(0, 12rem) [rex] var(
9
+ --timvir-page-margin
10
+ ) 1fr [re];}}.g1et32pl>*:not(.nc2e9vn){grid-column:lc/rc;min-width:0;}.g1et32pl>*{margin:0 0 2rem;}.g1et32pl>p+ul{margin-top:-1.25rem;}
11
+ .en6sn9p{grid-column:lex/rex;}
12
+ .f3c539b{grid-column:le/re;}
5
13
 
6
- .rwhrdvg{padding:50px 0 30px;display:grid;gap:50px;border-top:1px solid var(--timvir-border-color);}
7
- .l1u1x7q7{display:grid;grid-template-columns:repeat(auto-fill,minmax(234px,1fr));grid-gap:32px;}
14
+ .rwhrdvg{padding:50px 0 30px;display:-ms-grid;display:grid;gap:50px;border-top:1px solid var(--timvir-border-color);}
15
+ .l1u1x7q7{display:-ms-grid;display:grid;-ms-grid-columns:repeat(auto-fill, minmax(234px, 1fr));grid-template-columns:repeat(auto-fill, minmax(234px, 1fr));-ms-grid-gap:32px;grid-gap:32px;}
8
16
  .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);}
17
+ .l29wcr8{display:block;color:inherit;-webkit-text-decoration:none;text-decoration:none;}.l29wcr8:hover{color:var(--c-p-4);}
18
+ .m1ojti9g{color:var(--timvir-secondary-text-color);}.m1ojti9g a{color:inherit;-webkit-text-decoration:none;text-decoration:none;background-image:linear-gradient(transparent, transparent 5px, #383838 5px, #383838);-webkit-background-position:bottom;background-position:bottom;-webkit-background-size:100% 6px;background-size:100% 6px;background-repeat:repeat-x;}.m1ojti9g a:hover{background-image:linear-gradient(transparent, transparent 3px, #2bbc8a 3px, #2bbc8a);}
11
19
 
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;}
20
+ .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-snap-padding-top:20px;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
21
 
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
- .i1wyx06o{margin-right:12px;width:16px;}.i1wyx06o > svg{display:block;width:16px;height:16px;}
16
- .legxg01{font-size:0.8125rem;color:rgb(247,248,248);}
22
+ .ru1mblv{background-color:transparent;color:rgb(214, 214, 214);white-space:nowrap;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-transition:color 0.1s;transition:color 0.1s;height:46px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-shrink:initial;-ms-flex-negative:initial;flex-shrink:initial;-webkit-flex-basis:initial;-ms-flex-preferred-size:initial;flex-basis:initial;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;overflow:hidden;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding-inline:14px;border-left:none;cursor:default;}.ru1mblv:hover{background-color:rgb(55, 55, 60);}
23
+ .i1wyx06o{margin-right:12px;width:16px;}.i1wyx06o>svg{display:block;width:16px;height:16px;}
24
+ .legxg01{font-size:0.8125rem;color:rgb(247, 248, 248);}
17
25
 
18
- .r1fo6voy{position:relative;display:flex;flex-direction:column;flex-shrink:1;flex-grow:1;min-width:min-content;will-change:transform;transform-origin:center center;background:linear-gradient(136.61deg,rgb(39,40,43) 13.72%,rgb(45,46,49) 74.3%);border-radius:8px;box-shadow:rgb(0 0 0 / 50%) 0px 16px 70px;max-width:640px;color:rgb(214,214,214);overflow:hidden;transition:opacity 0.2s,transform 0.2s;}
19
- .c185xiij{margin:16px 16px 0px;height:25px;line-height:25px;padding:0px 8px;font-size:0.8em;flex-shrink:0;align-self:flex-start;color:rgb(138,143,152);background:rgb(49,50,54);border-radius:4px;max-width:calc(100vw - 60px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
20
- .p1ky3ya3{border-bottom:1px solid rgb(49,50,54);display:grid;grid-template-columns:1fr;align-items:center;position:relative;flex-shrink:0;height:62px;}.p1ky3ya3 > input{padding:20px;grid-area:1 / 1 / auto / auto;margin:0px;border:none;appearance:none;font-size:inherit;height:62px;background:transparent;color:rgb(214,214,214);caret-color:rgb(110,94,210);outline:none;width:100%;}
21
- .snq1o7g{background:rgba(247,247,248,0.03);height:24px;padding-inline:14px;font-size:0.75rem;color:rgb(129,128,142);}
26
+ .r1fo6voy{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-flex-shrink:1;-ms-flex-negative:1;flex-shrink:1;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;min-width:-webkit-min-content;min-width:-moz-min-content;min-width:min-content;will-change:transform;transform-origin:center center;background:linear-gradient(136.61deg, rgb(39, 40, 43) 13.72%, rgb(45, 46, 49) 74.3%);border-radius:8px;box-shadow:rgb(0 0 0 / 50%) 0px 16px 70px;max-width:640px;color:rgb(214, 214, 214);overflow:hidden;-webkit-transition:opacity 0.2s,-webkit-transform 0.2s;transition:opacity 0.2s,transform 0.2s;}
27
+ .c185xiij{margin:16px 16px 0px;height:25px;line-height:25px;padding:0px 8px;font-size:0.8em;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;-webkit-align-self:flex-start;-ms-flex-item-align:start;align-self:flex-start;color:rgb(138, 143, 152);background:rgb(49, 50, 54);border-radius:4px;max-width:calc(100vw - 60px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
28
+ .p1ky3ya3{border-bottom:1px solid rgb(49, 50, 54);display:-ms-grid;display:grid;-ms-grid-columns:1fr;grid-template-columns:1fr;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:relative;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;height:62px;}.p1ky3ya3>input{padding:20px;grid-area:1/1/auto/auto;margin:0px;border:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;appearance:none;font-size:inherit;height:62px;background:transparent;color:rgb(214, 214, 214);caret-color:rgb(110, 94, 210);outline:none;width:100%;}
29
+ .snq1o7g{background:rgba(247, 247, 248, 0.03);height:24px;padding-inline:14px;font-size:0.75rem;color:rgb(129, 128, 142);}
22
30
  .cchvluj{height:300px;overflow:auto;}
23
31
 
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;}
32
+ .rfei6z8{position:fixed;inset:0px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;z-index:900;-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;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
33
 
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);}
34
+ .de625n1{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse;gap:1rem;font-size:0.875rem;line-height:1.5;}@media (min-width: 48rem){.de625n1{-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;}}
35
+ .l19gj27w{width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;gap:4px;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;-webkit-box-pack:end;-ms-flex-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end;text-align:left;border-radius:8px;border:1px solid var(--timvir-border-color);padding:16px;color:inherit;-webkit-text-decoration:none;text-decoration:none;min-width:0;}.l19gj27w:hover{background-color:var(--timvir-secondary-background-color);}
36
+ .l15ohs1l{width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:4px;-webkit-align-items:flex-end;-webkit-box-align:flex-end;-ms-flex-align:flex-end;align-items:flex-end;-webkit-box-pack:start;-ms-flex-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start;text-align:right;border-radius:8px;border:1px solid var(--timvir-border-color);padding:16px;color:inherit;-webkit-text-decoration:none;text-decoration:none;min-width:0;}.l15ohs1l:hover{background-color:var(--timvir-secondary-background-color);}
29
37
  .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;}
38
+ .difnzb8{color:var(--timvir-secondary-text-color);display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-inline:-0.2em;}.difnzb8 svg{height:1.2em;width:1.2em;}
39
+ .rymvrdu{padding:50px 0 80px;display:-ms-grid;display:grid;-ms-grid-auto-rows:min-content;grid-auto-rows:min-content;-ms-grid-columns:[le] var(--timvir-page-margin) [lex lc] 1fr [rc rex] var(--timvir-page-margin) [re];grid-template-columns:[le] var(--timvir-page-margin) [lex lc] 1fr [rc rex] var(--timvir-page-margin) [re];}@media (min-width: 48rem){.rymvrdu{-ms-grid-columns:[le] var(--timvir-page-margin) [lex] 1fr [lc] minmax(0, 48rem) [rc] 1fr [rex] var(--timvir-page-margin) [re];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{-ms-grid-columns:[le] 1fr var(--timvir-page-margin) [lex] minmax(0, 12rem) [lc] 48rem [rc] minmax(0, 12rem) [rex] var(
40
+ --timvir-page-margin
41
+ ) 1fr [re];grid-template-columns:[le] 1fr var(--timvir-page-margin) [lex] minmax(0, 12rem) [lc] 48rem [rc] minmax(0, 12rem) [rex] var(
42
+ --timvir-page-margin
43
+ ) 1fr [re];}}.rymvrdu>*{grid-column:lc/rc;}
32
44
 
33
- .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;}
45
+ .r28qe6v{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;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;-webkit-transition:background 0.16s;transition:background 0.16s;border-radius:4px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:var(--timvir-text-color);font-weight:500;background:none;-webkit-text-decoration: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;}
34
46
  .i1ia823q{display:block;width:1.3em;height:1.3em;margin-right:8px;min-width:1.3em;}
35
47
  .l13ixk6c{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-right:auto;}
36
- .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;flex:0 0 1rem;}
48
+ .i7wcd3g{margin-left:4px;-webkit-transition:-webkit-transform 0.12s cubic-bezier(0.455, 0.03, 0.515, 0.955);transition:transform 0.12s cubic-bezier(0.455, 0.03, 0.515, 0.955);transform-origin:center center;width:1rem;height:1rem;-webkit-flex:0 0 1rem;-ms-flex:0 0 1rem;flex:0 0 1rem;}
37
49
 
38
50
 
39
51
 
40
- .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;}}
41
- .d1mgn6rc{font-size:0.875rem;line-height:1.3125;display:flex;gap:16px;}
52
+ .h17eoe18{padding:0 var(--timvir-page-margin);height:3rem;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}@media (min-width: 48rem){.h17eoe18{padding-top:24px;display:block;height:auto;}}
53
+ .d1mgn6rc{font-size:0.875rem;line-height:1.3125;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;gap:16px;}
42
54
  .d7bx8iu{font-weight:590;}
43
55
  .d119ou0k{background-color:var(--timvir-border-color);width:1px;height:1.25rem;}
44
- .d1f74255{flex-shrink:0;transition:all 0.16s;margin-top:16px;display:none;}@media (min-width:48rem){.d1f74255{display:block;}}
45
- .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;}}
56
+ .d1f74255{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;-webkit-transition:all 0.16s;transition:all 0.16s;margin-top:16px;display:none;}@media (min-width: 48rem){.d1f74255{display:block;}}
57
+ .l5l3c45{border-bottom:1px solid var(--timvir-border-color);padding:0 var(--timvir-page-margin);height:3rem;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;cursor:pointer;}@media (min-width: 48rem){.l5l3c45{display:none;}}
46
58
  .c15ju3pv{display:block;width:1.3em;height:1.3em;margin-right:8px;min-width:1.3em;}
47
59
  .s2bwnbz{margin-left:auto;}
48
60
  .iu06l76{display:none;}
49
61
  .s56darb{overflow-y:scroll;position:fixed;top:0px;width:100%;}
50
- .rwbgl5x{display:flex;flex-direction:column;}@media (min-width:48rem){.rwbgl5x{height:100%;}}
51
- .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;}}
52
- .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% );}
53
- .n1ibjf0n{padding-inline:calc(var(--timvir-page-margin) - 8px);}@media (min-width:48rem){.n1ibjf0n{padding-inline:var(--timvir-page-margin);}}
62
+ .rwbgl5x{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}@media (min-width: 48rem){.rwbgl5x{height:100%;}}
63
+ .c15aig6x{display:none;background-color:var(--timvir-background-color);}#menu:checked~.c15aig6x{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;position:fixed;top:6rem;left:0;right:0;bottom:0;}@media (min-width: 48rem){.c15aig6x{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;height:100%;position:static;overflow:hidden;}}
64
+ .svou0q5{padding:24px 0;overflow-y:auto;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;overscroll-behavior:auto;scroll-snap-padding-block:24px;scroll-padding-block:24px;-webkit-mask-image:linear-gradient(
65
+ to bottom,
66
+ transparent 0%,
67
+ rgba(0, 0, 0, 0.2) 12px,
68
+ #000 24px,
69
+ #000 calc(100% - 24px),
70
+ rgba(0, 0, 0, 0.2) calc(100% - 12px),
71
+ transparent 100%
72
+ );mask-image:linear-gradient(
73
+ to bottom,
74
+ transparent 0%,
75
+ rgba(0, 0, 0, 0.2) 12px,
76
+ #000 24px,
77
+ #000 calc(100% - 24px),
78
+ rgba(0, 0, 0, 0.2) calc(100% - 12px),
79
+ transparent 100%
80
+ );}
81
+ .n1ibjf0n{padding-inline:calc(var(--timvir-page-margin) - 8px);}@media (min-width: 48rem){.n1ibjf0n{padding-inline:var(--timvir-page-margin);}}
54
82
  .da95449{font-family:system-ui;}
55
- .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;}
83
+ .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:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}.d1au8wkb:hover{background:var(--timvir-sidebar-highlight-color);}.d1au8wkb>svg{display:block;margin-right:8px;width:0.75rem;height:0.75rem;}
56
84
 
57
- .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];}}
58
- .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);}}
59
- .dxk1fgw{display:flex;flex-direction:column;grid-area:content;}
85
+ .rfhjyp1{min-height:100vh;--timvir-page-margin:16px;display:-ms-grid;display:grid;grid-template-areas:"navigation" "content";}@media (min-width: 48rem){.rfhjyp1{--timvir-page-margin:24px;grid-template-areas:"navigation content";-ms-grid-columns:[l] 300px [m] 1fr [r];grid-template-columns:[l] 300px [m] 1fr [r];}}
86
+ .s1pp8z35{grid-area:navigation;z-index:80;background-color:var(--timvir-background-color);position:-webkit-sticky;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);}}
87
+ .dxk1fgw{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;grid-area:content;}
60
88
  .d2srpki{margin-top:auto;}
61
89
  .d1hkiw6l{margin-top:auto;padding-top:80px;}
62
90
 
@@ -1 +1 @@
1
- export declare const theme: import("@linaria/core").LinariaClassName;
1
+ export declare const theme: string;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "type": "module",
3
3
  "name": "timvir",
4
- "version": "0.2.35",
4
+ "version": "0.2.37",
5
5
  "license": "MIT",
6
6
  "sideEffects": false,
7
7
  "exports": {
@@ -18,18 +18,15 @@
18
18
  "dependencies": {
19
19
  "bytestring": "^1",
20
20
  "downshift": "^7 || ^8 || ^9",
21
- "fuzzaldrin-plus": "^0.6.0",
22
- "immer": "^9 || ^10",
23
21
  "shiki": "^1 || ^2 || ^3",
24
22
  "react-feather": "^2",
25
- "use-immer": "^0.8.0 || ^0.8.1 || ^0.9.0 || ^0.10.0 || ^0.11.0",
26
23
  "wonka": "^6"
27
24
  },
28
25
  "peerDependencies": {
29
26
  "@mdx-js/react": "^2 || ^3",
30
27
  "react": "^17 || ^18 || ^19",
31
28
  "react-dom": "^17 || ^18 || ^19",
32
- "react-hotkeys-hook": "^4"
29
+ "react-hotkeys-hook": "^4 || ^5"
33
30
  },
34
31
  "repository": {
35
32
  "type": "git",
@@ -1,2 +1 @@
1
1
  export { default as Dialog } from "./Dialog";
2
- export { default as Highlight } from "./Highlight";
package/search/index.js CHANGED
@@ -1,4 +1,3 @@
1
- import fuzzaldrin from 'fuzzaldrin-plus';
2
1
  import * as React from 'react';
3
2
  import { useContext } from 'timvir/core';
4
3
  import { useCombobox } from 'downshift';
@@ -88,18 +87,6 @@ function SearchBoxListItem(props, ref) {
88
87
  }
89
88
  var SearchBoxListItem$1 = /*#__PURE__*/React.forwardRef(SearchBoxListItem);
90
89
 
91
- const Highlight = ({
92
- string,
93
- query
94
- }) => {
95
- const match = fuzzaldrin.wrap(string, query);
96
- return /*#__PURE__*/React.createElement("span", {
97
- dangerouslySetInnerHTML: {
98
- __html: match.length === 0 ? string : match
99
- }
100
- });
101
- };
102
-
103
90
  /**
104
91
  * The underlying DOM element which is rendered by this component.
105
92
  */
@@ -199,10 +186,7 @@ function Dialog(props, ref) {
199
186
  }), /*#__PURE__*/React.createElement("path", {
200
187
  d: "M9.5 0.5L9.5 5.5 14.5 5.5"
201
188
  }))),
202
- label: /*#__PURE__*/React.createElement(Highlight, {
203
- string: item.node.path,
204
- query: value
205
- }),
189
+ label: item.node.path,
206
190
  context: item.node.context,
207
191
  style: {
208
192
  // background: highlightedIndex === index ? "rgba(0, 0, 0, 0.05)" : undefined,
@@ -229,12 +213,12 @@ var Search$1 = /*#__PURE__*/React.forwardRef(Search);
229
213
  function defaultSearch(toc) {
230
214
  return {
231
215
  q: async query => {
232
- const preparedQuery = fuzzaldrin.prepareQuery(query);
233
216
  const items = toc.flatMap(n => flatten(n)).map(n => ({
234
217
  ...n,
235
- score: fuzzaldrin.score(n.path, query, {
236
- preparedQuery
237
- })
218
+ score: (() => {
219
+ const matchLength = n.path.toLowerCase().split(query.toLowerCase()).length - 1;
220
+ return matchLength / n.path.length;
221
+ })()
238
222
  })).filter(n => query ? n.score > 0 : true).sort((a, b) => b.score - a.score);
239
223
  return {
240
224
  totalCount: items.length,
package/search/styles.css CHANGED
@@ -1,16 +1,16 @@
1
- .r710k81{display:flex;align-items:center;border:none;padding:0px 16px;width:100%;background:transparent;font-size:18px;line-height:inherit;height:52px;flex-grow:0;flex-shrink:0;z-index:1;box-shadow:rgba(55,53,47,0.09) 0px 1px 0px;}:root[data-timvir-theme="dark"] .r710k81{box-shadow:rgba(255,255,255,0.09) 0px 1px 0px;}
2
- .s1sjvm51{width:18px;height:18px;display:block;fill:var(--timvir-secondary-text-color);flex-shrink:0;backface-visibility:hidden;margin-right:10px;flex-grow:0;}
1
+ .r710k81{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border:none;padding:0px 16px;width:100%;background:transparent;font-size:18px;line-height:inherit;height:52px;-webkit-box-flex:0;-webkit-flex-grow:0;-ms-flex-positive:0;flex-grow:0;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;z-index:1;box-shadow:rgba(55, 53, 47, 0.09) 0px 1px 0px;}:root[data-timvir-theme="dark"] {box-shadow:rgba(255, 255, 255, 0.09) 0px 1px 0px;}
2
+ .s1sjvm51{width:18px;height:18px;display:block;fill:var(--timvir-secondary-text-color);-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;-webkit-backface-visibility:hidden;backface-visibility:hidden;margin-right:10px;-webkit-box-flex:0;-webkit-flex-grow:0;-ms-flex-positive:0;flex-grow:0;}
3
3
  .i1f3edco{font-family:inherit;font-size:inherit;line-height:inherit;border:none;background:none;width:100%;display:block;resize:none;padding:0px;min-width:0px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--timvir-text-color);}.i1f3edco:focus{outline:0;}
4
4
 
5
- .c8yc6y{display:flex;padding:8px 0;font-size:14px;color:var(--timvir-text-color);cursor:pointer;box-shadow:rgba(55,53,47,0.09) 0px 1px 0px;text-decoration:none;}.c8yc6y:hover{background:rgba(0,0,0,0.05);}:root[data-timvir-theme="dark"] .c8yc6y{box-shadow:rgba(255,255,255,0.09) 0px 1px 0px;}:root[data-timvir-theme="dark"] .c8yc6y:hover{background:rgba(255,255,255,0.05);}
6
- .dqzmx2q{display:flex;align-items:center;justify-content:center;margin-left:14px;width:18px;height:24px;}
5
+ .c8yc6y{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding:8px 0;font-size:14px;color:var(--timvir-text-color);cursor:pointer;box-shadow:rgba(55, 53, 47, 0.09) 0px 1px 0px;-webkit-text-decoration:none;text-decoration:none;}.c8yc6y:hover{background:rgba(0, 0, 0, 0.05);}:root[data-timvir-theme="dark"] {box-shadow:rgba(255, 255, 255, 0.09) 0px 1px 0px;}:root[data-timvir-theme="dark"] {background:rgba(255, 255, 255, 0.05);}
6
+ .dqzmx2q{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;margin-left:14px;width:18px;height:24px;}
7
7
  .dp5wq1v{margin-left:14px;}
8
8
  .du5k8uq{font-size:12px;color:var(--timvir-secondary-text-color);}
9
9
 
10
10
  .r5ea8qd{position:fixed;top:0px;left:0px;right:0px;bottom:0px;z-index:999;pointer-events:none;overflow:hidden;font-family:system-ui,sans-serif;font-feature-settings:"liga","kern";text-rendering:optimizelegibility;font-size:14px;line-height:1.725;color:var(--timvir-text-color);}
11
11
  .dp0smwa{pointer-events:auto;position:relative;z-index:0;}
12
- .d1a28btb{width:100vw;height:100vh;position:fixed;top:0px;left:0px;display:flex;align-items:flex-start;justify-content:center;pointer-events:auto;}
13
- .d1c5pom9{position:absolute;top:0px;left:0px;bottom:0px;right:0px;background:rgba(15,15,15,0.6);}
14
- .djje8s3{position:relative;z-index:1;box-shadow:rgba(15,15,15,0.05) 0px 0px 0px 1px,rgba(15,15,15,0.1) 0px 5px 10px, rgba(15,15,15,0.2) 0px 15px 40px;border-radius:3px;background:white;top:90px;overflow:hidden;width:75%;max-width:600px;min-height:50px;max-height:80vh;}:root[data-timvir-theme="dark"] .djje8s3{background:black;}
12
+ .d1a28btb{width:100vw;height:100vh;position:fixed;top:0px;left:0px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;pointer-events:auto;}
13
+ .d1c5pom9{position:absolute;top:0px;left:0px;bottom:0px;right:0px;background:rgba(15, 15, 15, 0.6);}
14
+ .djje8s3{position:relative;z-index:1;box-shadow:rgba(15, 15, 15, 0.05) 0px 0px 0px 1px,rgba(15, 15, 15, 0.1) 0px 5px 10px,rgba(15, 15, 15, 0.2) 0px 15px 40px;border-radius:3px;background:white;top:90px;overflow:hidden;width:75%;max-width:600px;min-height:50px;max-height:80vh;}:root[data-timvir-theme="dark"] {background:black;}
15
15
  .m1mgb53c{width:100%;height:100%;overflow:hidden auto;}
16
16