timvir 0.1.42

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.
Files changed (142) hide show
  1. package/blocks/Arbitrary/Arbitrary.d.ts +11 -0
  2. package/blocks/Arbitrary/context.d.ts +7 -0
  3. package/blocks/Arbitrary/docs/index.mdx +36 -0
  4. package/blocks/Arbitrary/index.d.ts +2 -0
  5. package/blocks/Arbitrary/index.js +117 -0
  6. package/blocks/Arbitrary/samples/basic.d.ts +5 -0
  7. package/blocks/Arbitrary/styles.css +6 -0
  8. package/blocks/Code/Code.d.ts +35 -0
  9. package/blocks/Code/docs/api.mdx +76 -0
  10. package/blocks/Code/docs/index.mdx +39 -0
  11. package/blocks/Code/index.d.ts +1 -0
  12. package/blocks/Code/index.js +154 -0
  13. package/blocks/Code/samples/basic.d.ts +5 -0
  14. package/blocks/Code/samples/toggle.d.ts +2 -0
  15. package/blocks/Code/styles.css +14 -0
  16. package/blocks/Code/theme.d.ts +2 -0
  17. package/blocks/ColorBar/ColorBar.d.ts +18 -0
  18. package/blocks/ColorBar/docs/api.mdx +76 -0
  19. package/blocks/ColorBar/docs/index.mdx +128 -0
  20. package/blocks/ColorBar/index.d.ts +1 -0
  21. package/blocks/ColorBar/index.js +90 -0
  22. package/blocks/ColorBar/samples/basic.d.ts +2 -0
  23. package/blocks/ColorBar/styles.css +5 -0
  24. package/blocks/ColorBook/ColorBook.d.ts +16 -0
  25. package/blocks/ColorBook/docs/api.mdx +76 -0
  26. package/blocks/ColorBook/docs/index.mdx +12 -0
  27. package/blocks/ColorBook/index.d.ts +1 -0
  28. package/blocks/ColorBook/index.js +77 -0
  29. package/blocks/ColorBook/samples/basic.d.ts +2 -0
  30. package/blocks/ColorBook/styles.css +6 -0
  31. package/blocks/Cover/Cover.d.ts +20 -0
  32. package/blocks/Cover/docs/api.mdx +76 -0
  33. package/blocks/Cover/docs/index.mdx +20 -0
  34. package/blocks/Cover/index.d.ts +1 -0
  35. package/blocks/Cover/index.js +64 -0
  36. package/blocks/Cover/samples/basic.d.ts +2 -0
  37. package/blocks/Exhibit/Exhibit.d.ts +19 -0
  38. package/blocks/Exhibit/docs/api.mdx +76 -0
  39. package/blocks/Exhibit/docs/index.mdx +56 -0
  40. package/blocks/Exhibit/index.d.ts +1 -0
  41. package/blocks/Exhibit/index.js +83 -0
  42. package/blocks/Exhibit/samples/basic.d.ts +2 -0
  43. package/blocks/Exhibit/styles.css +3 -0
  44. package/blocks/Font/Font.d.ts +15 -0
  45. package/blocks/Font/docs/api.mdx +76 -0
  46. package/blocks/Font/docs/index.mdx +23 -0
  47. package/blocks/Font/index.d.ts +1 -0
  48. package/blocks/Font/index.js +131 -0
  49. package/blocks/Font/samples/basic.d.ts +5 -0
  50. package/blocks/Font/samples/system.d.ts +2 -0
  51. package/blocks/Font/styles.css +9 -0
  52. package/blocks/Grid/Grid.d.ts +9 -0
  53. package/blocks/Grid/docs/api.mdx +76 -0
  54. package/blocks/Grid/docs/index.mdx +82 -0
  55. package/blocks/Grid/index.d.ts +1 -0
  56. package/blocks/Grid/index.js +53 -0
  57. package/blocks/Grid/samples/basic.d.ts +2 -0
  58. package/blocks/Grid/styles.css +1 -0
  59. package/blocks/Icon/Icon.d.ts +11 -0
  60. package/blocks/Icon/docs/api.mdx +76 -0
  61. package/blocks/Icon/docs/index.mdx +218 -0
  62. package/blocks/Icon/index.d.ts +1 -0
  63. package/blocks/Icon/index.js +155 -0
  64. package/blocks/Icon/internal/Canvas.d.ts +9 -0
  65. package/blocks/Icon/internal/index.d.ts +1 -0
  66. package/blocks/Icon/samples/basic.d.ts +2 -0
  67. package/blocks/Icon/styles.css +5 -0
  68. package/blocks/Icon/types.d.ts +10 -0
  69. package/blocks/Message/Message.d.ts +10 -0
  70. package/blocks/Message/docs/api.mdx +76 -0
  71. package/blocks/Message/docs/index.mdx +63 -0
  72. package/blocks/Message/index.d.ts +1 -0
  73. package/blocks/Message/index.js +72 -0
  74. package/blocks/Message/samples/basic.d.ts +5 -0
  75. package/blocks/Message/styles.css +6 -0
  76. package/blocks/Swatch/Swatch.d.ts +33 -0
  77. package/blocks/Swatch/docs/api.mdx +76 -0
  78. package/blocks/Swatch/docs/index.mdx +39 -0
  79. package/blocks/Swatch/index.d.ts +1 -0
  80. package/blocks/Swatch/index.js +84 -0
  81. package/blocks/Swatch/samples/basic.d.ts +2 -0
  82. package/blocks/Swatch/styles.css +4 -0
  83. package/blocks/Viewport/Viewport.d.ts +17 -0
  84. package/blocks/Viewport/docs/api.mdx +76 -0
  85. package/blocks/Viewport/docs/index.mdx +34 -0
  86. package/blocks/Viewport/index.d.ts +1 -0
  87. package/blocks/Viewport/index.js +322 -0
  88. package/blocks/Viewport/internal/Caption.d.ts +8 -0
  89. package/blocks/Viewport/internal/Handle.d.ts +10 -0
  90. package/blocks/Viewport/internal/Ruler.d.ts +7 -0
  91. package/blocks/Viewport/internal/index.d.ts +3 -0
  92. package/blocks/Viewport/samples/basic.d.ts +2 -0
  93. package/blocks/Viewport/styles.css +14 -0
  94. package/blocks/WebLink/WebLink.d.ts +10 -0
  95. package/blocks/WebLink/docs/api.mdx +76 -0
  96. package/blocks/WebLink/docs/index.mdx +13 -0
  97. package/blocks/WebLink/index.d.ts +1 -0
  98. package/blocks/WebLink/index.js +97 -0
  99. package/blocks/WebLink/samples/basic.d.ts +5 -0
  100. package/blocks/WebLink/styles.css +8 -0
  101. package/blocks/index.d.ts +13 -0
  102. package/blocks/index.js +13 -0
  103. package/blocks/styles.css +81 -0
  104. package/bus/index.d.ts +12 -0
  105. package/bus/index.js +22 -0
  106. package/bus/messages.d.ts +15 -0
  107. package/context/index.d.ts +20 -0
  108. package/context/index.js +15 -0
  109. package/core/components/Footer/Footer.d.ts +16 -0
  110. package/core/components/Footer/docs/api.mdx +76 -0
  111. package/core/components/Footer/docs/index.mdx +27 -0
  112. package/core/components/Footer/index.d.ts +1 -0
  113. package/core/components/Footer/samples/basic.d.ts +5 -0
  114. package/core/components/NavigationFooter/NavigationFooter.d.ts +19 -0
  115. package/core/components/NavigationFooter/docs/api.mdx +76 -0
  116. package/core/components/NavigationFooter/docs/index.mdx +10 -0
  117. package/core/components/NavigationFooter/index.d.ts +1 -0
  118. package/core/components/NavigationFooter/samples/basic.d.ts +5 -0
  119. package/core/components/Page/Page.d.ts +60 -0
  120. package/core/components/Page/components.d.ts +46 -0
  121. package/core/components/Page/docs/api.mdx +76 -0
  122. package/core/components/Page/docs/index.mdx +37 -0
  123. package/core/components/Page/index.d.ts +2 -0
  124. package/core/components/Page/internal/Section.d.ts +7 -0
  125. package/core/components/Page/internal/Sidebar.d.ts +15 -0
  126. package/core/components/Page/internal/index.d.ts +2 -0
  127. package/core/components/Page/samples/basic.d.ts +2 -0
  128. package/core/components/Page/samples/layout.d.ts +2 -0
  129. package/core/components/Page/types.d.ts +5 -0
  130. package/core/index.d.ts +22 -0
  131. package/core/index.js +708 -0
  132. package/core/layout.d.ts +4 -0
  133. package/core/styles.css +47 -0
  134. package/core/theme/colors.d.ts +36 -0
  135. package/core/theme/index.d.ts +1 -0
  136. package/hooks/index.d.ts +1 -0
  137. package/hooks/index.js +72 -0
  138. package/hooks/useResizeObserver/index.d.ts +56 -0
  139. package/package.json +27 -0
  140. package/std/base58/index.d.ts +2 -0
  141. package/std/base58/index.js +71 -0
  142. package/styles.css +128 -0
@@ -0,0 +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;
@@ -0,0 +1,47 @@
1
+
2
+ .g1et32pl{display:grid;--timvir-page-margin:16px;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;}
3
+ .en6sn9p{grid-column:lex / rex;}
4
+ .f3c539b{grid-column:le / re;}
5
+ .rwhrdvg{padding:50px 0 30px;background:#20232a;color:white;display:grid;gap:50px;}
6
+ .l1u1x7q7{display:grid;grid-template-columns:repeat(auto-fill,minmax(234px,1fr));grid-gap:32px;}
7
+ .l1x5jo3a{text-transform:uppercase;color:var(--timvir-secondary-text-color);font-weight:700;letter-spacing:0.08em;margin-bottom:12px;}
8
+ .l29wcr8{display:block;color:white;text-decoration:none;}.l29wcr8:hover{color:var(--c-p-4);}
9
+ .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);}
10
+ .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];}}
11
+ .d1pp8z35{background-color:var(--timvir-sidebar-background-color);grid-column:l / m;}
12
+ .dxk1fgw{display:flex;flex-direction:column;grid-column:m / r;}
13
+ .d2srpki{margin-top:auto;}
14
+ .d1hkiw6l{margin-top:auto;padding-top:80px;}
15
+ .a12hs2f7{position:absolute;top:0em;left:-0.8em;color:var(--timvir-accent-color);font-weight:bold;font-size:1em;text-decoration:none;}@media (min-width:48rem){.a12hs2f7{top:-0.1em;left:-0.9em;font-size:1.1em;}}
16
+ .h31avqb{display:block;margin-top:3rem;margin-bottom:1rem;color:var(--timvir-accent-color);letter-spacing:0.01em;font-style:normal;font-size:36px;font-weight:600;text-indent:-0.05em;}
17
+ .h6ceq1b{position:relative;display:block;margin-top:2rem;margin-bottom:0.5rem;text-transform:none;letter-spacing:normal;font-size:24px;font-weight:500;}
18
+ .hj6166y{position:relative;display:block;margin-top:2rem;margin-bottom:0.5rem;text-transform:none;letter-spacing:normal;font-size:18px;font-weight:500;}
19
+ .h1f8mqks{position:relative;display:block;margin-top:2rem;margin-bottom:0.5rem;text-transform:none;letter-spacing:normal;font-weight:normal;font-size:0.9rem;}
20
+ .b1hmga4{margin-left:0;font-size:1.1rem;}.b1hmga4 > *:first-child{margin-top:0;}.b1hmga4 > *:last-child{margin-bottom:0;}
21
+ .hlrd6ep{display:block;border:none;height:1px;width:100%;background:currentColor;opacity:0.25;}
22
+ .t172su6f{border-spacing:0;border-collapse:collapse;width:100%;overflow:auto;}
23
+
24
+
25
+ .twrwqj6{background-color:#fff;border-top:1px solid var(--c-p-2);}.twrwqj6:nth-child(2n){background-color:var(--c-p-0);}
26
+ .t1fhygp{text-align:var(--t1fhygp-0);padding:6px 13px;border:1px solid var(--c-p-2);}
27
+ .t176v8uh{text-align:var(--t176v8uh-0);padding:6px 13px;border:1px solid var(--c-p-2);}
28
+ .cvhsmuz{border-radius:3px;padding:2px 5px;font-size:0.9em;background:#f6f8fa;box-shadow:inset 0 0 0 1px rgba(16,22,26,0.2),inset 0 1px 4px rgba(16,22,26,0.1);}:root[data-timvir-theme="dark"] .cvhsmuz{background:#2b2a33;box-shadow:inset 0 0 0 1px rgba(255,255,255,0.2),inset 0 1px 4px rgba(255,255,255,0.1);}
29
+ .a197eb99{color:currentColor;text-decoration:none;background-image:linear-gradient(transparent,transparent 5px,#383838 5px,#383838);background-position:bottom;background-size:100% 6px;background-repeat:repeat-x;}.a197eb99:hover{background-image:linear-gradient(transparent,transparent 3px,#2bbc8a 3px,#2bbc8a);}.a197eb99:hover .cvhsmuz{box-shadow:inset 0 0 0 1px rgba(16,22,26,0.5),inset 0 1px 4px rgba(16,22,26,0.2);}.a197eb99:active .cvhsmuz{box-shadow:inset 0 0 0 1px rgba(16,22,26,0.7),inset 0 1px 4px rgba(16,22,26,0.4);background:var(--c-p-2);}
30
+ .p1d7vdmn{margin:0 0 1rem;}
31
+ .ugfnift{margin:0 0 1rem;}
32
+ .o3pt2dg{margin:0 0 1rem;}
33
+ .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;}
34
+ .d19gj27w{display:flex;align-items:flex-start;justify-content:space-between;}
35
+ .d15ohs1l{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;text-align:left;}
36
+ .dczrd9z{display:flex;flex-direction:column;align-items:flex-end;justify-content:flex-start;text-align:right;}
37
+ .aifnzb8{font-size:1.2rem;color:inherit;text-decoration:none;}.aifnzb8:hover{color:var(--c-p-3);}
38
+ .dymvrdu{opacity:0.5;}
39
+
40
+ .njdy1am{display:flex;align-items:center;margin:1px 0;padding:0 16px;}.njdy1am > a{transition:background 0.16s;border-radius:4px;display:inline-flex;align-items:center;color:var(--timvir-sidebar-text-color);font-size:14px;line-height:1.725;background:none;text-decoration:none;width:100%;padding:0 6px;height:27px;}.njdy1am:hover a{background-color:var(--timvir-sidebar-highlight-color);}.njdy1am[data-active="true"] a{background-color:var(--timvir-sidebar-highlight-color);}
41
+ .d17eoe18{display:none;height:0;}@media (min-width:60rem){.d17eoe18{display:flex;flex-direction:column;height:100%;}}
42
+ .d1mgn6rc{padding:24px 3px 24px;flex-shrink:0;transition:all 0.16s;}
43
+ .d7bx8iu{box-shadow:0 1px 0 rgba(16,22,26,0.15);}
44
+ .r119ou0k{position:fixed;top:0;left:0;bottom:0;width:0;}@media (min-width:60rem){.r119ou0k{width:300px;}}
45
+ .s1f74255{padding:24px 3px 30px;overflow-y:auto;flex-grow:1;overscroll-behavior:contain;}
46
+ .d5l3c45{font-family:system-ui;}
47
+ .d15ju3pv{color:var(--timvir-text-color);font-size:14px;font-weight:500;line-height:1.725;cursor:pointer;padding:2px 24px;border-radius:3px;display:flex;align-items:center;}.d15ju3pv:hover{background:var(--timvir-sidebar-highlight-color);}.d15ju3pv > svg{display:block;margin-right:4px;}
@@ -0,0 +1,36 @@
1
+ export declare const category: {
2
+ readonly something: {
3
+ readonly main: "#ff00ff";
4
+ };
5
+ };
6
+ export declare const gray: {
7
+ readonly "50": "#f8f8f8";
8
+ readonly "100": "#e3e3e3";
9
+ readonly "200": "#c7c7c7";
10
+ readonly "300": "#ababab";
11
+ readonly "400": "#919191";
12
+ readonly "500": "#777777";
13
+ readonly "600": "#5e5e5e";
14
+ readonly "700": "#464646";
15
+ readonly "800": "#303030";
16
+ readonly "900": "#1b1b1b";
17
+ };
18
+ export declare const green: {
19
+ readonly "50": "#f0fcf6";
20
+ readonly "100": "#d1f6e4";
21
+ readonly "200": "#a0dbc1";
22
+ readonly "300": "#61c19f";
23
+ readonly "400": "#38a585";
24
+ readonly "500": "#1b896b";
25
+ readonly "600": "#0d6d54";
26
+ readonly "700": "#00533e";
27
+ readonly "800": "#003a2c";
28
+ readonly "900": "#00231b";
29
+ };
30
+ export declare const primary: {
31
+ readonly main: "#38a585";
32
+ };
33
+ export declare const text: {
34
+ readonly main: "#000000d9";
35
+ readonly light: "#00000066";
36
+ };
@@ -0,0 +1 @@
1
+ export declare const theme: import("@linaria/core").LinariaClassName;
@@ -0,0 +1 @@
1
+ export * from "./useResizeObserver";
package/hooks/index.js ADDED
@@ -0,0 +1,72 @@
1
+ import * as React from 'react';
2
+
3
+ /**
4
+ * Allocate a new 'ResizeObserver'. The callback is passed to the 'ResizeObserver' constructor.
5
+ * You don't need to memoize the callback, you can use an inline function.
6
+ *
7
+ * You are responsible yourself for observing / unobserving targets.
8
+ *
9
+ * > const ro = useResizeObserver(entries => { console.log(entries); });
10
+ * > React.useEffect(() => { ro.observe(document.body) }, [])
11
+ */
12
+
13
+ function useResizeObserver(callback) {
14
+ const [ref] = React.useState(() => ({
15
+ ro: mkResizeObserver((...args) => ref.callback(...args)),
16
+ callback
17
+ }));
18
+ ref.callback = callback;
19
+ return ref.ro;
20
+ }
21
+ /**
22
+ * A convenience wrapper around 'useResizeObserver' which returns a React Ref that you can
23
+ * attach to elements. It is still your responsibility to do something sensible in the
24
+ * callback.
25
+ *
26
+ * > const ref = useResizeObserverRef(entries => { console.log(entries); });
27
+ * > <div ref={ref} />
28
+ */
29
+
30
+ function useResizeObserverRef(callback) {
31
+ const ro = useResizeObserver(callback);
32
+ return React.useCallback(el => el ? ro.observe(el) : ro.disconnect(), [ro]);
33
+ }
34
+ /**
35
+ * This hook returns a ref (that you can attach to elements) and a a list of all resize observer
36
+ * entries that were delivered during the most recent tick.
37
+ *
38
+ * > const [ref, entries] = useResizeObserverEntries()
39
+ * > <div ref={ref}>{entries.length}</div>
40
+ */
41
+
42
+ function useResizeObserverEntries() {
43
+ const [entries, setEntries] = React.useState([]);
44
+ return [useResizeObserverRef(setEntries), entries];
45
+ }
46
+ /**
47
+ * A wrapper around 'useResizeObserverEntries' which only provides the last ResizeObserverEntry.
48
+ * Useful when observing a single element.
49
+ *
50
+ * > const [ref, entry] = useResizeObserverEntry()
51
+ * > <div ref={ref}>{entry?.contentRect.width}</div>
52
+ */
53
+
54
+ function useResizeObserverEntry() {
55
+ const [ref, entries] = useResizeObserverEntries();
56
+ return [ref, last(entries)];
57
+ }
58
+
59
+ const last = a => a[a.length - 1];
60
+
61
+ const nopResizeObserver = {
62
+ observe() {},
63
+
64
+ unobserve() {},
65
+
66
+ disconnect() {}
67
+
68
+ };
69
+
70
+ const mkResizeObserver = callback => typeof ResizeObserver === "undefined" ? nopResizeObserver : new ResizeObserver(callback);
71
+
72
+ export { useResizeObserver, useResizeObserverEntries, useResizeObserverEntry, useResizeObserverRef };
@@ -0,0 +1,56 @@
1
+ /**
2
+ * Allocate a new 'ResizeObserver'. The callback is passed to the 'ResizeObserver' constructor.
3
+ * You don't need to memoize the callback, you can use an inline function.
4
+ *
5
+ * You are responsible yourself for observing / unobserving targets.
6
+ *
7
+ * > const ro = useResizeObserver(entries => { console.log(entries); });
8
+ * > React.useEffect(() => { ro.observe(document.body) }, [])
9
+ */
10
+ export declare function useResizeObserver(callback: ResizeObserverCallback): ResizeObserver;
11
+ /**
12
+ * A convenience wrapper around 'useResizeObserver' which returns a React Ref that you can
13
+ * attach to elements. It is still your responsibility to do something sensible in the
14
+ * callback.
15
+ *
16
+ * > const ref = useResizeObserverRef(entries => { console.log(entries); });
17
+ * > <div ref={ref} />
18
+ */
19
+ export declare function useResizeObserverRef<T extends Element>(callback: ResizeObserverCallback): (el: null | T) => void;
20
+ /**
21
+ * This hook returns a ref (that you can attach to elements) and a a list of all resize observer
22
+ * entries that were delivered during the most recent tick.
23
+ *
24
+ * > const [ref, entries] = useResizeObserverEntries()
25
+ * > <div ref={ref}>{entries.length}</div>
26
+ */
27
+ export declare function useResizeObserverEntries<T extends Element>(): readonly [(el: T | null) => void, readonly ResizeObserverEntry[]];
28
+ /**
29
+ * A wrapper around 'useResizeObserverEntries' which only provides the last ResizeObserverEntry.
30
+ * Useful when observing a single element.
31
+ *
32
+ * > const [ref, entry] = useResizeObserverEntry()
33
+ * > <div ref={ref}>{entry?.contentRect.width}</div>
34
+ */
35
+ export declare function useResizeObserverEntry<T extends Element>(): readonly [(el: T | null) => void, ResizeObserverEntry | undefined];
36
+ interface ResizeObserver {
37
+ observe(target: Element): void;
38
+ unobserve(target: Element): void;
39
+ disconnect(): void;
40
+ }
41
+ interface ResizeObserverSize {
42
+ inlineSize: number;
43
+ blockSize: number;
44
+ }
45
+ interface ResizeObserverEntry {
46
+ readonly target: Element;
47
+ readonly contentRect: DOMRectReadOnly;
48
+ readonly borderBoxSize: ResizeObserverSize;
49
+ readonly contentBoxSize: ResizeObserverSize;
50
+ }
51
+ declare type ResizeObserverCallback = (entries: ReadonlyArray<ResizeObserverEntry>, observer: ResizeObserver) => void;
52
+ declare const ResizeObserver: {
53
+ prototype: ResizeObserver;
54
+ new (callback: ResizeObserverCallback): ResizeObserver;
55
+ };
56
+ export {};
package/package.json ADDED
@@ -0,0 +1,27 @@
1
+ {
2
+ "type": "module",
3
+ "name": "timvir",
4
+ "version": "0.1.42",
5
+ "license": "MIT",
6
+ "sideEffects": false,
7
+ "exports": {
8
+ "./style.css": "./style.css",
9
+ "./blocks/*": "./blocks/*",
10
+ "./bus": "./bus/index.js",
11
+ "./context": "./context/index.js",
12
+ "./core": "./core/index.js",
13
+ "./hooks": "./hooks/index.js",
14
+ "./std/base58": "./std/base58/index.js"
15
+ },
16
+ "dependencies": {
17
+ "wonka": "^4"
18
+ },
19
+ "peerDependencies": {
20
+ "@mdx-js/react": "*",
21
+ "prism-react-renderer": "*",
22
+ "react-feather": "*",
23
+ "react-hotkeys-hook": "*",
24
+ "react": "*",
25
+ "use-immer": "*"
26
+ }
27
+ }
@@ -0,0 +1,2 @@
1
+ export declare function encode(input: Uint8Array): string;
2
+ export declare function decode(output: string): string;
@@ -0,0 +1,71 @@
1
+ const bytesToHex = (() => {
2
+ const s = Array.from({
3
+ length: 256
4
+ }).map((_, i) => i.toString(16).padStart(2, "0"));
5
+ return uint8a => [...uint8a].map(o => s[o]).join("");
6
+ })();
7
+
8
+ const alphabet = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";
9
+ function encode(input) {
10
+ if (input.length === 0) {
11
+ return "";
12
+ } // Uint8Array -> BigInt (Big Endian)
13
+
14
+
15
+ let x = BigInt("0x" + bytesToHex(input));
16
+ const output = [];
17
+
18
+ while (x > 0n) {
19
+ const mod = x % 58n;
20
+ x = x / 58n;
21
+ output.push(alphabet[Number(mod)]);
22
+ }
23
+
24
+ for (let i = 0; input[i] === 0; i++) {
25
+ output.push(alphabet[0]);
26
+ }
27
+
28
+ return output.reverse().join("");
29
+ }
30
+ function decode(output) {
31
+ if (output.length === 0) {
32
+ return "";
33
+ }
34
+
35
+ const bytes = [0];
36
+ const letters = alphabet;
37
+
38
+ for (const char of output) {
39
+ const value = letters.indexOf(char);
40
+
41
+ if (value === undefined) {
42
+ throw new Error(`base58.decode received invalid input. Character '${char}' is not in the base58 alphabet.`);
43
+ }
44
+
45
+ for (let j = 0; j < bytes.length; j++) {
46
+ bytes[j] *= 58;
47
+ }
48
+
49
+ bytes[0] += value;
50
+ let carry = 0;
51
+
52
+ for (let j = 0; j < bytes.length; j++) {
53
+ bytes[j] += carry;
54
+ carry = bytes[j] >> 8;
55
+ bytes[j] &= 0xff;
56
+ }
57
+
58
+ while (carry > 0) {
59
+ bytes.push(carry & 0xff);
60
+ carry >>= 8;
61
+ }
62
+ }
63
+
64
+ for (let i = 0; i < output.length && output[i] === "1"; i++) {
65
+ bytes.push(0);
66
+ }
67
+
68
+ return new TextDecoder().decode(new Uint8Array(bytes.reverse()));
69
+ }
70
+
71
+ export { decode, encode };
package/styles.css ADDED
@@ -0,0 +1,128 @@
1
+ .r1ev38xg{margin:1em 0;}
2
+ .c8hz158{display:grid;grid-gap:8px;grid-template-columns:1fr 100px;margin-bottom:8px;}
3
+ .t1663phv{display:flex;align-items:center;padding:0 0 0 10px;height:36px;position:relative;}.t1663phv::after{display:block;position:absolute;content:"";inset:0;pointer-events:none;border:1px solid var(--timvir-secondary-text-color);border-radius:2px;}.t1663phv:hover::after{border-color:var(--timvir-accent-color);}.t1663phv:focus-within::after{border-color:var(--timvir-accent-color);}
4
+ .s1k50njo{display:inline-block;color:var(--timvir-secondary-text-color);margin-right:6px;}
5
+ .i1dajnne{border:none;outline:none;font:inherit;background:transparent;align-self:stretch;padding:0;height:34px;width:100%;color:inherit;}
6
+ .b128wsn{border:none;outline:none;height:36px;background:var(--timvir-accent-color);font:inherit;border-radius:2px;cursor:pointer;transition:background 0.2s;}.b128wsn:hover{background:var(--c-p-3);}.b128wsn:active{background:var(--c-p-4);}
7
+ .d1513p2s{display:grid;grid-template-columns:1fr;padding-block:16px;}
8
+ .b157mkz{--size:48px;z-index:1;position:absolute;top:0;right:0;width:var(--size);height:var(--size);display:flex;align-items:flex-start;justify-content:flex-end;outline:none;border:none;padding:6px;background:transparent;transition:all 0.2s;cursor:pointer;pointer-events:none;opacity:0;}.b157mkz:hover{color:white;}.b157mkz:hover svg:first-child{transform:translate(0,0);}.b157mkz:active svg:first-child{transform:translate(2px,-2px);}
9
+ .b10oxtfo{pointer-events:all;opacity:1;}
10
+ .s1hdfi6o{position:absolute;z-index:-1;top:0;right:0;transition:all 0.2s;transform:translate(48px,-48px);}.s1hdfi6o path{fill:var(--c-p-4);}
11
+ .d17pltln{padding:16px 24px 16px 0;}
12
+
13
+ .r9v2r0l{margin:1.5rem 0 3rem;}
14
+ .cs7tint{overflow-x:auto;contain:content;font-size:0.9em;border-radius:5px;--timvir-b-Code-bleed:var(--timvir-page-margin,24px);--timvir-b-Code-inlinePadding:max(var(--timvir-b-Code-bleed),24px);padding:0;margin:0 calc(-1 * var(--timvir-b-Code-bleed));box-shadow:inset 0 0 0 1px rgb(16 22 26 / 20%),0 1px 4px rgb(16 22 26 / 10%);transition:box-shadow 0.3s;}.cs7tint:hover{box-shadow:inset 0 0 0 1px rgb(16 22 26 / 30%),0 1px 4px rgb(16 22 26 / 10%),0 8px 24px rgb(16 22 26 / 10%);}:root[data-timvir-theme="dark"] .cs7tint{box-shadow:inset 0 0 0 1px rgb(216 222 226 / 10%),0 1px 4px rgb(216 222 226 / 5%), 0 2px 8px rgb(216 222 226 / 2%);}:root[data-timvir-theme="dark"] .cs7tint:hover{box-shadow:inset 0 0 0 1px rgb(216 222 226 / 10%),0 1px 3px rgb(216 222 226 / 7%), 0 2px 16px rgb(216 222 226 / 5%);}
15
+ .fjvaz2s{display:grid;border-radius:0;box-shadow:none;margin-inline:0;grid-auto-rows:min-content;grid-template-columns:[le] 0 [lc] 1fr [rc] 0 [re];grid-column-gap:16px;}.fjvaz2s:hover{box-shadow:none;}@media (min-width:60rem){.fjvaz2s{grid-template-columns:[le] 1fr [lc] minmax(0,48rem) [rc] 1fr [re];grid-column-gap:24px;}}.fjvaz2s > *{grid-column:lc / re;}
16
+ .lchll0h{padding-inline:var(--timvir-b-Code-inlinePadding);margin-inline:1px;}
17
+ .h1xcko1i{background-color:#ffe10044;}:root[data-timvir-theme="dark"] .h1xcko1i{background-color:rgba(174,124,20,0.15);}
18
+ .ll2b9hx{display:inline-block;width:var(--timvir-b-Code-bleed);color:var(--timvir-secondary-text-color);text-align:right;padding-inline:4px;}
19
+ .c5vr6r2{font-size:0.75rem;color:var(--timvir-secondary-text-color);margin-top:2px;}
20
+ .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;}
21
+
22
+ .r1f19pie{position:relative;}
23
+ .b15hqsfj{display:grid;grid-auto-flow:row;grid-template-columns:repeat(auto-fit,minmax(0,1fr));transition:all 0.16s;}.b15hqsfj::before{position:absolute;top:0;right:0;bottom:0;left:0;display:block;z-index:2;border-radius:2px;box-shadow:inset 0 0 0 1px rgba(16,22,26,0.15);content:"";pointer-events:none;user-select:none;transition:all 0.16s;}.b15hqsfj:hover::before{opacity:0;}
24
+ .v1uw85xw{height:40px;flex-grow:1;display:grid;place-items:stretch;}.v1uw85xw > div{transition:all 0.16s;cursor:pointer;}.v1uw85xw:first-child > div{border-radius:2px 0 0 2px;}.v1uw85xw:last-child > div{border-radius:0 2px 2px 0;}.v1uw85xw:hover{z-index:3;}.v1uw85xw:hover > div{border-radius:2px;margin:-3px 1px;box-shadow:inset 0 0 0 1px rgba(16,22,26,0.2),0 2px 4px rgba(16,22,26,0.1), 0 8px 24px rgba(16,22,26,0.2);}
25
+ .o1823law{position:absolute;top:50%;right:0px;left:0px;transform:translateY(-50%);pointer-events:none;opacity:0;z-index:4;transition:opacity 0.16s;}.s4sqb81 .o1823law{pointer-events:all;opacity:1;}
26
+ .rmv2wrl{display:grid;grid-gap:16px;grid-auto-columns:1fr;align-items:start;width:100%;}
27
+ .d1l94wnr{flex-grow:1;}.d1l94wnr:first-child{border-radius:3px 3px 0 0;}.d1l94wnr:last-child{border-radius:0 0 3px 3px;}
28
+ .d1uopbb{text-align:center;font-size:0.75rem;color:var(--timvir-secondary-text-color);margin-top:0.8em;line-height:1;}
29
+ .d1vwzhoa{color:var(--timvir-text-color);}
30
+ .c1xqhu04{position:relative;cursor:pointer;display:flex;flex-direction:column;height:200px;}.c1xqhu04::before{position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:4px;box-shadow:0 0 0 0 rgba(19,124,189,0);content:"";transition:all 0.16s cubic-bezier(0.4,1,0.75,0.9);}.c1xqhu04:hover::before{box-shadow:0 0 0 2px #00000040;opacity:1;}
31
+ .a1y0tcvx:hover::before,.a1y0tcvx::before{box-shadow:0 0 0 2px var(--c-p-5);opacity:1;}
32
+ .r1nql2f9{margin:0 0 1.5rem;--timvir-b-Exhibit-bleed:0px;--timvir-b-Exhibit-borderColor:#EFEFEF;--timvir-b-Exhibit-background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAAAAACoWZBhAAAAF0lEQVQI12P4BAI/QICBFCaYBPNJYQIAkUZftTbC4sIAAAAASUVORK5CYII=);}:root[data-timvir-theme="dark"] .r1nql2f9{--timvir-b-Exhibit-borderColor:#101010;--timvir-b-Exhibit-background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAAAAACoWZBhAAAAFklEQVQI12NQBQF2EGAghQkmwXxSmADZJQiZ2ZZ46gAAAABJRU5ErkJggg==);}
33
+ .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);}
34
+ .cf43jjx{font-size:0.75rem;color:var(--timvir-secondary-text-color);margin-top:2px;}
35
+ .mby32tn{display:flex;align-items:baseline;font-size:0.9rem;font-weight:bold;transition:all 0.2s;}
36
+ .rc7ivp5{padding:16px 0;}
37
+ .fe58upx{margin:0 auto 0 0;}
38
+ .d10949ho{cursor:pointer;}.d10949ho:hover{color:var(--c-p-4);opacity:1;}.d10949ho > svg{position:relative;top:2px;}
39
+ .d1o2du3z{display:flex;flex-direction:column;}
40
+ .d1o9zhgl{overflow:hidden;transition:height 0.2s,opacity 0.2s 0.1s;}
41
+ .ddlplux{padding:0 0 16px;display:flex;flex-direction:column;}
42
+ .dw285p4{overflow:hidden;transition:height 0.2s,opacity 0.2s 0.1s;}
43
+ .dx3nfmc{outline:none;user-select:text;white-space:pre-wrap;overflow-wrap:break-word;}
44
+ .r1c1ozpm{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px;}
45
+ .n1xsexuc{margin-top:6px;white-space:nowrap;font-size:0.75rem;opacity:0;transition:all 0.16s;z-index:-1;color:var(--timvir-secondary-text-color);text-align:center;user-select:none;pointer-events:none;position:absolute;left:50%;bottom:-20px;transform:translateX(-50%);}
46
+ .r1k0w618{position:relative;z-index:1;}.r1k0w618 svg{display:block;}.r1k0w618:hover .n1xsexuc{opacity:1;bottom:-26px;color:var(--timvir-text-color);}.r1k0w618:active .n1xsexuc{bottom:-24px;}
47
+ .b1a0xzv7{background:white;place-self:stretch;border-radius:2px;transition:all 0.2s;box-shadow:0 0 0 0 rgba(0,0,0,0.1);}
48
+ .g10obtzp{opacity:0;transition:all 0.2s;pointer-events:none;}
49
+ .r1bcczis{display:grid;place-items:center;cursor:pointer;}.r1bcczis > *{grid-column:1;grid-row:1;}.r1bcczis:hover .b1a0xzv7{box-shadow:inset 0 0 0 1px rgba(16,22,26,0.2),0 2px 4px rgba(16,22,26,0.1), 0 8px 24px rgba(16,22,26,0.2);}.r1bcczis:active .b1a0xzv7{margin:1px;box-shadow:inset 0 0 0 1px rgba(16,22,26,0.2),0 1px 1px rgba(16,22,26,0.2);}.r1bcczis:hover .g10obtzp{opacity:1;}
50
+ .r1ssql2z{position:relative;background:var(--c-p-0);color:black;border-radius:3px;padding:16px 24px 16px 24px;box-shadow:inset 0 0 0 1px rgba(16,22,26,0.2);display:flex;align-items:flex-start;line-height:1.5;}
51
+ .dhvu07f > *:first-child{margin-top:0;}.dhvu07f > *:last-child{margin-bottom:0;}.dhvu07f > h3:before{display:none;}
52
+ .i1dz18jz{position:relative;top:3px;margin:-2px 12px 0 -4px;}.i1dz18jz > svg{display:block;}
53
+ .i41wipx{background:#f0f2fc;color:black;}.i41wipx .i1dz18jz{color:#2a47d5;}
54
+ .wi7iy6{background:#fcf9f0;color:black;}.wi7iy6 .i1dz18jz{color:#a68521;}
55
+ .a1d5oxsn{background:#fcf0f0;color:black;}.a1d5oxsn .i1dz18jz{color:#da4444;}
56
+ .r19bcggb{position:relative;}.r19bcggb > div{border-radius:2px;}.r19bcggb:hover > div{top:-4px;right:-4px;bottom:-4px;left:-4px;box-shadow:inset 0 0 0 1px rgba(16,22,26,0.2),0 2px 4px rgba(16,22,26,0.1), 0 8px 24px rgba(16,22,26,0.2);padding:0px 16px;z-index:2;}.r19bcggb:active > div{top:-2px;right:-2px;bottom:-2px;left:-2px;box-shadow:inset 0 0 0 1px rgba(16,22,26,0.2),0 1px 1px rgba(16,22,26,0.2);padding:0px 14px;z-index:2;}
57
+ .dhgsgky{display:flex;flex-direction:column;justify-content:center;position:absolute;top:0;right:0;bottom:0;left:0;transition:all 0.16s;padding:0px 12px;cursor:pointer;}
58
+ .dobecwk{display:flex;justify-content:space-between;align-items:center;line-height:1;}
59
+ .dho7t08{padding-top:6px;opacity:0.5;font-size:0.8em;line-height:1;}
60
+ .r1ouu0bc{contain:layout;}
61
+ .d1uj09ka{position:relative;}
62
+ .d2uawyc{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);}
63
+ .d8ms9m9{display:flex;align-items:stretch;justify-content:center;}
64
+ .d17q9rbm{border-radius:3px;display:grid;grid-template-columns:56px auto 56px;grid-template-rows:0 auto 0;grid-column-gap:8px;}
65
+ .daubpa6{grid-column:2 / span 1;grid-row:2 / span 1;position:relative;flex:1;height:100px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAAAAACoWZBhAAAAF0lEQVQI12P4BAI/QICBFCaYBPNJYQIAkUZftTbC4sIAAAAASUVORK5CYII=);transition:height 0.16s;overflow:hidden;}
66
+ .d1d22s19{animation-duration:2s;animation-fill-mode:forwards;animation-iteration-count:infinite;animation-name:shimmer-d1d22s19;animation-timing-function:linear;background-size:150vw 100px;background-image:linear-gradient(to right,#fafafa 0%,#f4f4f4 25%,#fafafa 40%);box-shadow:inset 0 0 0 1px rgba(16,22,26,0.2);border-radius:1px;}@keyframes shimmer-d1d22s19{0%{background-position:-60vw 0;}40%{background-position:85vw 0;}100%{background-position:85vw 0;}}
67
+ .i11uos8q{display:block;position:absolute;top:0;left:0;width:100%;height:100%;transition:opacity 0.2s;}
68
+ .fgdj0yb{font-size:0.75rem;color:var(--timvir-secondary-text-color);white-space:nowrap;display:flex;justify-content:space-between;align-items:center;}
69
+ .d1rc4zjh{cursor:pointer;}.d1rc4zjh:hover{color:var(--c-p-4);opacity:1;}.d1rc4zjh > svg{display:block;}
70
+ .d1enfo6{overflow:hidden;transition:height 0.2s,opacity 0.2s 0.1s;}
71
+ .d1watfn6{margin-top:12px;}
72
+ .d1mmz2b6{grid-row:1 / span 3;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0.5;color:var(--timvir-text-color);border-radius:2px;transition:all 0.2s cubic-bezier(0.4,1,0.75,0.9);}.d1mmz2b6:hover{opacity:1;box-shadow:0 0 0 1px rgba(16,22,26,0.1),0 2px 4px rgba(16,22,26,0.2),0 8px 24px rgba(16,22,26,0.2);}.d1mmz2b6:active{box-shadow:0 0 0 1px rgba(16,22,26,0.1),0 0 0 rgba(16,22,26,0),0 1px 1px rgba(16,22,26,0.2);}
73
+ .ssl4j8q{width:100%;display:block;height:16px;margin:8px 0;}
74
+ .r1szx90n{transition:all 0.16s;box-shadow:inset 0 0 0 1px rgba(16,22,26,0.2);border-radius:3px;display:flex;cursor:pointer;text-decoration:none;}.r1szx90n:hover{background:rgba(55,53,47,0.08);box-shadow:inset 0 0 0 1px rgba(16,22,26,0.2),0 2px 4px rgba(16,22,26,0.1), 0 8px 24px rgba(16,22,26,0.2);}.r1szx90n:active{background:rgba(55,53,47,0.08);box-shadow:inset 0 0 0 1px rgba(16,22,26,0.2),0 1px 1px rgba(16,22,26,0.2);}:root[data-timvir-theme="dark"] .r1szx90n{box-shadow:inset 0 0 0 1px rgba(255,255,255,0.2);}:root[data-timvir-theme="dark"] .r1szx90n:hover{background:rgba(255,255,255,0.08);}:root[data-timvir-theme="dark"] .r1szx90n:active{background:rgba(255,255,255,0.08);}
75
+ .tywhumj{flex:4 1 180px;padding:12px 14px 14px;min-width:0;}
76
+ .t1sni99u{color:var(--timvir-text-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-height:24px;margin-bottom:6px;}
77
+ .d7eo497{font-size:0.75rem;line-height:1.1rem;color:var(--timvir-secondary-text-color);height:2.2rem;overflow:hidden;}
78
+ .u1rlrpoc{margin-top:12px;display:flex;font-size:0.75rem;line-height:1rem;color:var(--timvir-text-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
79
+ .f1cqi3na{width:1rem;height:1rem;min-width:1rem;margin-right:6px;}
80
+ .igksd61{flex:1 1 180px;position:relative;min-width:180px;}
81
+ .i1gibb8w{display:block;object-fit:cover;border-radius:0 3px 3px 0;width:calc(100% - 2px);height:calc(100% - 2px);position:absolute;top:1px;left:1px;}
82
+
83
+ .g1et32pl{display:grid;--timvir-page-margin:16px;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;}
84
+ .en6sn9p{grid-column:lex / rex;}
85
+ .f3c539b{grid-column:le / re;}
86
+ .rwhrdvg{padding:50px 0 30px;background:#20232a;color:white;display:grid;gap:50px;}
87
+ .l1u1x7q7{display:grid;grid-template-columns:repeat(auto-fill,minmax(234px,1fr));grid-gap:32px;}
88
+ .l1x5jo3a{text-transform:uppercase;color:var(--timvir-secondary-text-color);font-weight:700;letter-spacing:0.08em;margin-bottom:12px;}
89
+ .l29wcr8{display:block;color:white;text-decoration:none;}.l29wcr8:hover{color:var(--c-p-4);}
90
+ .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);}
91
+ .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];}}
92
+ .d1pp8z35{background-color:var(--timvir-sidebar-background-color);grid-column:l / m;}
93
+ .dxk1fgw{display:flex;flex-direction:column;grid-column:m / r;}
94
+ .d2srpki{margin-top:auto;}
95
+ .d1hkiw6l{margin-top:auto;padding-top:80px;}
96
+ .a12hs2f7{position:absolute;top:0em;left:-0.8em;color:var(--timvir-accent-color);font-weight:bold;font-size:1em;text-decoration:none;}@media (min-width:48rem){.a12hs2f7{top:-0.1em;left:-0.9em;font-size:1.1em;}}
97
+ .h31avqb{display:block;margin-top:3rem;margin-bottom:1rem;color:var(--timvir-accent-color);letter-spacing:0.01em;font-style:normal;font-size:36px;font-weight:600;text-indent:-0.05em;}
98
+ .h6ceq1b{position:relative;display:block;margin-top:2rem;margin-bottom:0.5rem;text-transform:none;letter-spacing:normal;font-size:24px;font-weight:500;}
99
+ .hj6166y{position:relative;display:block;margin-top:2rem;margin-bottom:0.5rem;text-transform:none;letter-spacing:normal;font-size:18px;font-weight:500;}
100
+ .h1f8mqks{position:relative;display:block;margin-top:2rem;margin-bottom:0.5rem;text-transform:none;letter-spacing:normal;font-weight:normal;font-size:0.9rem;}
101
+ .b1hmga4{margin-left:0;font-size:1.1rem;}.b1hmga4 > *:first-child{margin-top:0;}.b1hmga4 > *:last-child{margin-bottom:0;}
102
+ .hlrd6ep{display:block;border:none;height:1px;width:100%;background:currentColor;opacity:0.25;}
103
+ .t172su6f{border-spacing:0;border-collapse:collapse;width:100%;overflow:auto;}
104
+
105
+
106
+ .twrwqj6{background-color:#fff;border-top:1px solid var(--c-p-2);}.twrwqj6:nth-child(2n){background-color:var(--c-p-0);}
107
+ .t1fhygp{text-align:var(--t1fhygp-0);padding:6px 13px;border:1px solid var(--c-p-2);}
108
+ .t176v8uh{text-align:var(--t176v8uh-0);padding:6px 13px;border:1px solid var(--c-p-2);}
109
+ .cvhsmuz{border-radius:3px;padding:2px 5px;font-size:0.9em;background:#f6f8fa;box-shadow:inset 0 0 0 1px rgba(16,22,26,0.2),inset 0 1px 4px rgba(16,22,26,0.1);}:root[data-timvir-theme="dark"] .cvhsmuz{background:#2b2a33;box-shadow:inset 0 0 0 1px rgba(255,255,255,0.2),inset 0 1px 4px rgba(255,255,255,0.1);}
110
+ .a197eb99{color:currentColor;text-decoration:none;background-image:linear-gradient(transparent,transparent 5px,#383838 5px,#383838);background-position:bottom;background-size:100% 6px;background-repeat:repeat-x;}.a197eb99:hover{background-image:linear-gradient(transparent,transparent 3px,#2bbc8a 3px,#2bbc8a);}.a197eb99:hover .cvhsmuz{box-shadow:inset 0 0 0 1px rgba(16,22,26,0.5),inset 0 1px 4px rgba(16,22,26,0.2);}.a197eb99:active .cvhsmuz{box-shadow:inset 0 0 0 1px rgba(16,22,26,0.7),inset 0 1px 4px rgba(16,22,26,0.4);background:var(--c-p-2);}
111
+ .p1d7vdmn{margin:0 0 1rem;}
112
+ .ugfnift{margin:0 0 1rem;}
113
+ .o3pt2dg{margin:0 0 1rem;}
114
+ .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;}
115
+ .d19gj27w{display:flex;align-items:flex-start;justify-content:space-between;}
116
+ .d15ohs1l{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;text-align:left;}
117
+ .dczrd9z{display:flex;flex-direction:column;align-items:flex-end;justify-content:flex-start;text-align:right;}
118
+ .aifnzb8{font-size:1.2rem;color:inherit;text-decoration:none;}.aifnzb8:hover{color:var(--c-p-3);}
119
+ .dymvrdu{opacity:0.5;}
120
+
121
+ .njdy1am{display:flex;align-items:center;margin:1px 0;padding:0 16px;}.njdy1am > a{transition:background 0.16s;border-radius:4px;display:inline-flex;align-items:center;color:var(--timvir-sidebar-text-color);font-size:14px;line-height:1.725;background:none;text-decoration:none;width:100%;padding:0 6px;height:27px;}.njdy1am:hover a{background-color:var(--timvir-sidebar-highlight-color);}.njdy1am[data-active="true"] a{background-color:var(--timvir-sidebar-highlight-color);}
122
+ .d17eoe18{display:none;height:0;}@media (min-width:60rem){.d17eoe18{display:flex;flex-direction:column;height:100%;}}
123
+ .d1mgn6rc{padding:24px 3px 24px;flex-shrink:0;transition:all 0.16s;}
124
+ .d7bx8iu{box-shadow:0 1px 0 rgba(16,22,26,0.15);}
125
+ .r119ou0k{position:fixed;top:0;left:0;bottom:0;width:0;}@media (min-width:60rem){.r119ou0k{width:300px;}}
126
+ .s1f74255{padding:24px 3px 30px;overflow-y:auto;flex-grow:1;overscroll-behavior:contain;}
127
+ .d5l3c45{font-family:system-ui;}
128
+ .d15ju3pv{color:var(--timvir-text-color);font-size:14px;font-weight:500;line-height:1.725;cursor:pointer;padding:2px 24px;border-radius:3px;display:flex;align-items:center;}.d15ju3pv:hover{background:var(--timvir-sidebar-highlight-color);}.d15ju3pv > svg{display:block;margin-right:4px;}