@homebridge-plugins/homebridge-august 3.0.4-beta.5 → 3.0.5

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 (41) hide show
  1. package/.github/scripts/npm-version-script-esm-auto.js +207 -0
  2. package/.github/workflows/beta-release.yml +1 -1
  3. package/.github/workflows/release.yml +14 -7
  4. package/CHANGELOG.md +114 -0
  5. package/README.md +0 -25
  6. package/config.schema.json +1 -1
  7. package/dist/devices/device.d.ts +3 -1
  8. package/dist/devices/device.d.ts.map +1 -1
  9. package/dist/devices/device.js +35 -6
  10. package/dist/devices/device.js.map +1 -1
  11. package/dist/devices/device.test.js +212 -0
  12. package/dist/devices/device.test.js.map +1 -1
  13. package/dist/devices/lock.d.ts.map +1 -1
  14. package/dist/devices/lock.js +9 -2
  15. package/dist/devices/lock.js.map +1 -1
  16. package/dist/devices/lock.test.js +38 -40
  17. package/dist/devices/lock.test.js.map +1 -1
  18. package/dist/platform.d.ts.map +1 -1
  19. package/dist/platform.js +3 -4
  20. package/dist/platform.js.map +1 -1
  21. package/dist/platform.test.js +0 -122
  22. package/dist/platform.test.js.map +1 -1
  23. package/docs/assets/dmt/dmt-component-data.js +1 -0
  24. package/docs/assets/dmt/dmt-components.css +20 -0
  25. package/docs/assets/dmt/dmt-components.js +67 -0
  26. package/docs/assets/dmt/dmt-search.cmp +0 -0
  27. package/docs/assets/dmt/dmt-theme.css +1 -0
  28. package/docs/assets/highlight.css +0 -35
  29. package/docs/assets/main.js +5 -5
  30. package/docs/assets/style.css +229 -251
  31. package/docs/functions/default.html +2 -0
  32. package/docs/index.html +13 -18
  33. package/docs/modules.html +2 -1
  34. package/eslint.config.js +1 -0
  35. package/package.json +21 -19
  36. package/typedoc.json +4 -0
  37. package/.github/npm-version-script-esm.js +0 -97
  38. package/docs/assets/navigation.js +0 -1
  39. package/docs/assets/search.js +0 -1
  40. package/docs/hierarchy.html +0 -1
  41. package/docs/variables/default.html +0 -1
@@ -1,33 +1,14 @@
1
1
  @layer typedoc {
2
- :root {
3
- --dim-toolbar-contents-height: 2.5rem;
4
- --dim-toolbar-border-bottom-width: 1px;
5
- --dim-header-height: calc(
6
- var(--dim-toolbar-border-bottom-width) +
7
- var(--dim-toolbar-contents-height)
8
- );
9
-
10
- /* 0rem For mobile; unit is required for calculation in `calc` */
11
- --dim-container-main-margin-y: 0rem;
12
-
13
- --dim-footer-height: 3.5rem;
14
-
15
- --modal-animation-duration: 0.2s;
16
- }
17
-
18
2
  :root {
19
3
  /* Light */
20
4
  --light-color-background: #f2f4f8;
21
5
  --light-color-background-secondary: #eff0f1;
22
- /* Not to be confused with [:active](https://developer.mozilla.org/en-US/docs/Web/CSS/:active) */
23
- --light-color-background-active: #d6d8da;
24
- --light-color-background-warning: #e6e600;
25
6
  --light-color-warning-text: #222;
7
+ --light-color-background-warning: #e6e600;
26
8
  --light-color-accent: #c5c7c9;
27
- --light-color-active-menu-item: var(--light-color-background-active);
9
+ --light-color-active-menu-item: var(--light-color-accent);
28
10
  --light-color-text: #222;
29
- --light-color-contrast-text: #000;
30
- --light-color-text-aside: #5e5e5e;
11
+ --light-color-text-aside: #6e6e6e;
31
12
 
32
13
  --light-color-icon-background: var(--light-color-background);
33
14
  --light-color-icon-text: var(--light-color-text);
@@ -75,20 +56,15 @@
75
56
 
76
57
  --light-external-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' width='10' height='10'><path fill-opacity='0' stroke='%23000' stroke-width='10' d='m43,35H5v60h60V57M45,5v10l10,10-30,30 20,20 30-30 10,10h10V5z'/></svg>");
77
58
  --light-color-scheme: light;
78
- }
79
59
 
80
- :root {
81
60
  /* Dark */
82
61
  --dark-color-background: #2b2e33;
83
62
  --dark-color-background-secondary: #1e2024;
84
- /* Not to be confused with [:active](https://developer.mozilla.org/en-US/docs/Web/CSS/:active) */
85
- --dark-color-background-active: #5d5d6a;
86
63
  --dark-color-background-warning: #bebe00;
87
64
  --dark-color-warning-text: #222;
88
65
  --dark-color-accent: #9096a2;
89
- --dark-color-active-menu-item: var(--dark-color-background-active);
66
+ --dark-color-active-menu-item: #5d5d6a;
90
67
  --dark-color-text: #f5f5f5;
91
- --dark-color-contrast-text: #ffffff;
92
68
  --dark-color-text-aside: #dddddd;
93
69
 
94
70
  --dark-color-icon-background: var(--dark-color-background-secondary);
@@ -143,13 +119,11 @@
143
119
  --color-background-secondary: var(
144
120
  --light-color-background-secondary
145
121
  );
146
- --color-background-active: var(--light-color-background-active);
147
122
  --color-background-warning: var(--light-color-background-warning);
148
123
  --color-warning-text: var(--light-color-warning-text);
149
124
  --color-accent: var(--light-color-accent);
150
125
  --color-active-menu-item: var(--light-color-active-menu-item);
151
126
  --color-text: var(--light-color-text);
152
- --color-contrast-text: var(--light-color-contrast-text);
153
127
  --color-text-aside: var(--light-color-text-aside);
154
128
 
155
129
  --color-icon-background: var(--light-color-icon-background);
@@ -205,13 +179,11 @@
205
179
  --color-background-secondary: var(
206
180
  --dark-color-background-secondary
207
181
  );
208
- --color-background-active: var(--dark-color-background-active);
209
182
  --color-background-warning: var(--dark-color-background-warning);
210
183
  --color-warning-text: var(--dark-color-warning-text);
211
184
  --color-accent: var(--dark-color-accent);
212
185
  --color-active-menu-item: var(--dark-color-active-menu-item);
213
186
  --color-text: var(--dark-color-text);
214
- --color-contrast-text: var(--dark-color-contrast-text);
215
187
  --color-text-aside: var(--dark-color-text-aside);
216
188
 
217
189
  --color-icon-background: var(--dark-color-icon-background);
@@ -261,17 +233,23 @@
261
233
  }
262
234
  }
263
235
 
236
+ html {
237
+ color-scheme: var(--color-scheme);
238
+ }
239
+
240
+ body {
241
+ margin: 0;
242
+ }
243
+
264
244
  :root[data-theme="light"] {
265
245
  --color-background: var(--light-color-background);
266
246
  --color-background-secondary: var(--light-color-background-secondary);
267
- --color-background-active: var(--light-color-background-active);
268
247
  --color-background-warning: var(--light-color-background-warning);
269
248
  --color-warning-text: var(--light-color-warning-text);
270
249
  --color-icon-background: var(--light-color-icon-background);
271
250
  --color-accent: var(--light-color-accent);
272
251
  --color-active-menu-item: var(--light-color-active-menu-item);
273
252
  --color-text: var(--light-color-text);
274
- --color-contrast-text: var(--light-color-contrast-text);
275
253
  --color-text-aside: var(--light-color-text-aside);
276
254
  --color-icon-text: var(--light-color-icon-text);
277
255
 
@@ -321,14 +299,12 @@
321
299
  :root[data-theme="dark"] {
322
300
  --color-background: var(--dark-color-background);
323
301
  --color-background-secondary: var(--dark-color-background-secondary);
324
- --color-background-active: var(--dark-color-background-active);
325
302
  --color-background-warning: var(--dark-color-background-warning);
326
303
  --color-warning-text: var(--dark-color-warning-text);
327
304
  --color-icon-background: var(--dark-color-icon-background);
328
305
  --color-accent: var(--dark-color-accent);
329
306
  --color-active-menu-item: var(--dark-color-active-menu-item);
330
307
  --color-text: var(--dark-color-text);
331
- --color-contrast-text: var(--dark-color-contrast-text);
332
308
  --color-text-aside: var(--dark-color-text-aside);
333
309
  --color-icon-text: var(--dark-color-icon-text);
334
310
 
@@ -375,13 +351,6 @@
375
351
  --color-scheme: var(--dark-color-scheme);
376
352
  }
377
353
 
378
- html {
379
- color-scheme: var(--color-scheme);
380
- @media (prefers-reduced-motion: no-preference) {
381
- scroll-behavior: smooth;
382
- }
383
- }
384
-
385
354
  *:focus-visible,
386
355
  .tsd-accordion-summary:focus-visible svg {
387
356
  outline: 2px solid var(--color-focus-outline);
@@ -452,19 +421,16 @@
452
421
  border-top: 1px solid var(--color-accent);
453
422
  padding-top: 1rem;
454
423
  padding-bottom: 1rem;
455
- max-height: var(--dim-footer-height);
424
+ max-height: 3.5rem;
456
425
  }
457
426
  footer > p {
458
427
  margin: 0 1em;
459
428
  }
460
429
 
461
430
  .container-main {
462
- margin: var(--dim-container-main-margin-y) auto;
431
+ margin: 0 auto;
463
432
  /* toolbar, footer, margin */
464
- min-height: calc(
465
- 100svh - var(--dim-header-height) - var(--dim-footer-height) -
466
- 2 * var(--dim-container-main-margin-y)
467
- );
433
+ min-height: calc(100vh - 41px - 56px - 4rem);
468
434
  }
469
435
 
470
436
  @keyframes fade-in {
@@ -484,6 +450,29 @@
484
450
  opacity: 0;
485
451
  }
486
452
  }
453
+ @keyframes fade-in-delayed {
454
+ 0% {
455
+ opacity: 0;
456
+ }
457
+ 33% {
458
+ opacity: 0;
459
+ }
460
+ 100% {
461
+ opacity: 1;
462
+ }
463
+ }
464
+ @keyframes fade-out-delayed {
465
+ 0% {
466
+ opacity: 1;
467
+ visibility: visible;
468
+ }
469
+ 66% {
470
+ opacity: 0;
471
+ }
472
+ 100% {
473
+ opacity: 0;
474
+ }
475
+ }
487
476
  @keyframes pop-in-from-right {
488
477
  from {
489
478
  transform: translate(100%, 0);
@@ -503,12 +492,10 @@
503
492
  }
504
493
  body {
505
494
  background: var(--color-background);
506
- font-family:
507
- -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans",
495
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans",
508
496
  Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
509
497
  font-size: 16px;
510
498
  color: var(--color-text);
511
- margin: 0;
512
499
  }
513
500
 
514
501
  a {
@@ -527,9 +514,6 @@
527
514
  a.tsd-anchor-link {
528
515
  color: var(--color-text);
529
516
  }
530
- :target {
531
- scroll-margin-block: calc(var(--dim-header-height) + 0.5rem);
532
- }
533
517
 
534
518
  code,
535
519
  pre {
@@ -561,8 +545,7 @@
561
545
  box-sizing: border-box;
562
546
  }
563
547
  pre:hover > button,
564
- pre > button.visible,
565
- pre > button:focus-visible {
548
+ pre > button.visible {
566
549
  opacity: 1;
567
550
  }
568
551
 
@@ -572,52 +555,6 @@
572
555
  border-left: 4px solid gray;
573
556
  }
574
557
 
575
- img {
576
- max-width: 100%;
577
- }
578
-
579
- * {
580
- scrollbar-width: thin;
581
- scrollbar-color: var(--color-accent) var(--color-icon-background);
582
- }
583
-
584
- *::-webkit-scrollbar {
585
- width: 0.75rem;
586
- }
587
-
588
- *::-webkit-scrollbar-track {
589
- background: var(--color-icon-background);
590
- }
591
-
592
- *::-webkit-scrollbar-thumb {
593
- background-color: var(--color-accent);
594
- border-radius: 999rem;
595
- border: 0.25rem solid var(--color-icon-background);
596
- }
597
-
598
- dialog {
599
- border: none;
600
- outline: none;
601
- padding: 0;
602
- background-color: var(--color-background);
603
- }
604
- dialog::backdrop {
605
- display: none;
606
- }
607
- #tsd-overlay {
608
- background-color: rgba(0, 0, 0, 0.5);
609
- position: fixed;
610
- z-index: 9999;
611
- top: 0;
612
- left: 0;
613
- right: 0;
614
- bottom: 0;
615
- animation: fade-in var(--modal-animation-duration) forwards;
616
- }
617
- #tsd-overlay.closing {
618
- animation-name: fade-out;
619
- }
620
-
621
558
  .tsd-typography {
622
559
  line-height: 1.333em;
623
560
  }
@@ -692,7 +629,6 @@
692
629
 
693
630
  .tsd-breadcrumb {
694
631
  margin: 0;
695
- margin-top: 1rem;
696
632
  padding: 0;
697
633
  color: var(--color-text-aside);
698
634
  }
@@ -797,7 +733,7 @@
797
733
  margin-right: 0.5em;
798
734
  border-radius: 0.33em;
799
735
  /* Leaving this at full opacity breaks event listeners on Firefox.
800
- Don't remove unless you know what you're doing. */
736
+ Don't remove unless you know what you're doing. */
801
737
  opacity: 0.99;
802
738
  }
803
739
  .tsd-filter-input input[type="checkbox"]:focus-visible + svg {
@@ -940,8 +876,7 @@
940
876
  }
941
877
 
942
878
  .tsd-navigation.settings {
943
- margin: 0;
944
- margin-bottom: 1rem;
879
+ margin: 1rem 0;
945
880
  }
946
881
  .tsd-navigation > a,
947
882
  .tsd-navigation .tsd-accordion-summary {
@@ -963,7 +898,6 @@
963
898
  .tsd-navigation a.current,
964
899
  .tsd-page-navigation a.current {
965
900
  background: var(--color-active-menu-item);
966
- color: var(--color-contrast-text);
967
901
  }
968
902
  .tsd-navigation a:hover,
969
903
  .tsd-page-navigation a:hover {
@@ -997,14 +931,14 @@
997
931
  margin-left: -1.5rem;
998
932
  }
999
933
 
934
+ .tsd-page-navigation-section {
935
+ margin-left: 10px;
936
+ }
1000
937
  .tsd-page-navigation-section > summary {
1001
938
  padding: 0.25rem;
1002
939
  }
1003
- .tsd-page-navigation-section > summary > svg {
1004
- margin-right: 0.25rem;
1005
- }
1006
940
  .tsd-page-navigation-section > div {
1007
- margin-left: 30px;
941
+ margin-left: 20px;
1008
942
  }
1009
943
  .tsd-page-navigation ul {
1010
944
  padding-left: 1.75rem;
@@ -1030,10 +964,6 @@
1030
964
  .tsd-accordion-summary {
1031
965
  list-style-type: none; /* hide marker on non-safari */
1032
966
  outline: none; /* broken on safari, so just hide it */
1033
- display: flex;
1034
- align-items: center;
1035
- gap: 0.25rem;
1036
- box-sizing: border-box;
1037
967
  }
1038
968
  .tsd-accordion-summary::-webkit-details-marker {
1039
969
  display: none; /* hide marker on safari */
@@ -1056,21 +986,28 @@
1056
986
  padding-top: 0;
1057
987
  padding-bottom: 0;
1058
988
  }
989
+ .tsd-accordion .tsd-accordion-summary > svg {
990
+ margin-left: 0.25rem;
991
+ vertical-align: text-top;
992
+ }
1059
993
  /*
1060
994
  * We need to be careful to target the arrow indicating whether the accordion
1061
995
  * is open, but not any other SVGs included in the details element.
1062
996
  */
1063
- .tsd-accordion:not([open]) > .tsd-accordion-summary > svg:first-child {
997
+ .tsd-accordion:not([open]) > .tsd-accordion-summary > svg:first-child,
998
+ .tsd-accordion:not([open]) > .tsd-accordion-summary > h1 > svg:first-child,
999
+ .tsd-accordion:not([open]) > .tsd-accordion-summary > h2 > svg:first-child,
1000
+ .tsd-accordion:not([open]) > .tsd-accordion-summary > h3 > svg:first-child,
1001
+ .tsd-accordion:not([open]) > .tsd-accordion-summary > h4 > svg:first-child,
1002
+ .tsd-accordion:not([open]) > .tsd-accordion-summary > h5 > svg:first-child {
1064
1003
  transform: rotate(-90deg);
1065
1004
  }
1066
1005
  .tsd-index-content > :not(:first-child) {
1067
1006
  margin-top: 0.75rem;
1068
1007
  }
1069
- .tsd-index-summary {
1008
+ .tsd-index-heading {
1070
1009
  margin-top: 1.5rem;
1071
1010
  margin-bottom: 0.75rem;
1072
- display: flex;
1073
- align-content: center;
1074
1011
  }
1075
1012
 
1076
1013
  .tsd-no-select {
@@ -1125,104 +1062,117 @@
1125
1062
  margin-bottom: 1rem;
1126
1063
  }
1127
1064
 
1128
- #tsd-search[open] {
1129
- animation: fade-in var(--modal-animation-duration) ease-out forwards;
1065
+ #tsd-search {
1066
+ transition: background-color 0.2s;
1130
1067
  }
1131
- #tsd-search[open].closing {
1132
- animation-name: fade-out;
1068
+ #tsd-search .title {
1069
+ position: relative;
1070
+ z-index: 2;
1133
1071
  }
1134
-
1135
- /* Avoid setting `display` on closed dialog */
1136
- #tsd-search[open] {
1137
- display: flex;
1138
- flex-direction: column;
1139
- padding: 1rem;
1140
- width: 32rem;
1141
- max-width: 90vw;
1142
- max-height: calc(100vh - env(keyboard-inset-height, 0px) - 25vh);
1143
- /* Anchor dialog to top */
1144
- margin-top: 10vh;
1145
- border-radius: 6px;
1146
- will-change: max-height;
1147
- }
1148
- #tsd-search-input {
1072
+ #tsd-search .field {
1073
+ position: absolute;
1074
+ left: 0;
1075
+ top: 0;
1076
+ right: 2.5rem;
1077
+ height: 100%;
1078
+ }
1079
+ #tsd-search .field input {
1149
1080
  box-sizing: border-box;
1081
+ position: relative;
1082
+ top: -50px;
1083
+ z-index: 1;
1150
1084
  width: 100%;
1151
- padding: 0 0.625rem; /* 10px */
1085
+ padding: 0 10px;
1086
+ opacity: 0;
1152
1087
  outline: 0;
1153
- border: 2px solid var(--color-accent);
1154
- background-color: transparent;
1088
+ border: 0;
1089
+ background: transparent;
1155
1090
  color: var(--color-text);
1156
- border-radius: 4px;
1157
- height: 2.5rem;
1158
- flex: 0 0 auto;
1159
- font-size: 0.875rem;
1160
- transition: border-color 0.2s, background-color 0.2s;
1161
1091
  }
1162
- #tsd-search-input:focus-visible {
1163
- background-color: var(--color-background-active);
1164
- border-color: transparent;
1165
- color: var(--color-contrast-text);
1092
+ #tsd-search .field label {
1093
+ position: absolute;
1094
+ overflow: hidden;
1095
+ right: -40px;
1166
1096
  }
1167
- #tsd-search-input::placeholder {
1168
- color: inherit;
1169
- opacity: 0.8;
1097
+ #tsd-search .field input,
1098
+ #tsd-search .title,
1099
+ #tsd-toolbar-links a {
1100
+ transition: opacity 0.2s;
1170
1101
  }
1171
- #tsd-search-results {
1102
+ #tsd-search .results {
1103
+ position: absolute;
1104
+ visibility: hidden;
1105
+ top: 40px;
1106
+ width: 100%;
1172
1107
  margin: 0;
1173
1108
  padding: 0;
1174
1109
  list-style: none;
1175
- flex: 1 1 auto;
1176
- display: flex;
1177
- flex-direction: column;
1178
- overflow-y: auto;
1179
- }
1180
- #tsd-search-results:not(:empty) {
1181
- margin-top: 0.5rem;
1110
+ box-shadow: 0 0 4px rgba(0, 0, 0, 0.25);
1182
1111
  }
1183
- #tsd-search-results > li {
1112
+ #tsd-search .results li {
1184
1113
  background-color: var(--color-background);
1185
- line-height: 1.5;
1186
- box-sizing: border-box;
1187
- border-radius: 4px;
1114
+ line-height: initial;
1115
+ padding: 4px;
1188
1116
  }
1189
- #tsd-search-results > li:nth-child(even) {
1117
+ #tsd-search .results li:nth-child(even) {
1190
1118
  background-color: var(--color-background-secondary);
1191
1119
  }
1192
- #tsd-search-results > li:is(:hover, [aria-selected="true"]) {
1193
- background-color: var(--color-background-active);
1194
- color: var(--color-contrast-text);
1120
+ #tsd-search .results li.state {
1121
+ display: none;
1122
+ }
1123
+ #tsd-search .results li.current:not(.no-results),
1124
+ #tsd-search .results li:hover:not(.no-results) {
1125
+ background-color: var(--color-accent);
1195
1126
  }
1196
- /* It's important that this takes full size of parent `li`, to capture a click on `li` */
1197
- #tsd-search-results > li > a {
1127
+ #tsd-search .results a {
1198
1128
  display: flex;
1199
1129
  align-items: center;
1200
- padding: 0.5rem 0.25rem;
1130
+ padding: 0.25rem;
1201
1131
  box-sizing: border-box;
1202
- width: 100%;
1203
1132
  }
1204
- #tsd-search-results > li > a > .text {
1205
- flex: 1 1 auto;
1206
- min-width: 0;
1207
- overflow-wrap: anywhere;
1133
+ #tsd-search .results a:before {
1134
+ top: 10px;
1208
1135
  }
1209
- #tsd-search-results > li > a .parent {
1136
+ #tsd-search .results span.parent {
1210
1137
  color: var(--color-text-aside);
1138
+ font-weight: normal;
1211
1139
  }
1212
- #tsd-search-results > li > a mark {
1213
- color: inherit;
1214
- background-color: inherit;
1215
- font-weight: bold;
1140
+ #tsd-search.has-focus {
1141
+ background-color: var(--color-accent);
1216
1142
  }
1217
- #tsd-search-status {
1218
- flex: 1;
1219
- display: grid;
1220
- place-content: center;
1221
- text-align: center;
1222
- overflow-wrap: anywhere;
1143
+ #tsd-search.has-focus .field input {
1144
+ top: 0;
1145
+ opacity: 1;
1146
+ }
1147
+ #tsd-search.has-focus .title,
1148
+ #tsd-search.has-focus #tsd-toolbar-links a {
1149
+ z-index: 0;
1150
+ opacity: 0;
1151
+ }
1152
+ #tsd-search.has-focus .results {
1153
+ visibility: visible;
1154
+ }
1155
+ #tsd-search.loading .results li.state.loading {
1156
+ display: block;
1223
1157
  }
1224
- #tsd-search-status:not(:empty) {
1225
- min-height: 6rem;
1158
+ #tsd-search.failure .results li.state.failure {
1159
+ display: block;
1160
+ }
1161
+
1162
+ #tsd-toolbar-links {
1163
+ position: absolute;
1164
+ top: 0;
1165
+ right: 2rem;
1166
+ height: 100%;
1167
+ display: flex;
1168
+ align-items: center;
1169
+ justify-content: flex-end;
1170
+ }
1171
+ #tsd-toolbar-links a {
1172
+ margin-left: 1.5rem;
1173
+ }
1174
+ #tsd-toolbar-links a:hover {
1175
+ text-decoration: underline;
1226
1176
  }
1227
1177
 
1228
1178
  .tsd-signature {
@@ -1307,52 +1257,78 @@
1307
1257
  width: 100%;
1308
1258
  color: var(--color-text);
1309
1259
  background: var(--color-background-secondary);
1310
- border-bottom: var(--dim-toolbar-border-bottom-width)
1311
- var(--color-accent) solid;
1260
+ border-bottom: 1px var(--color-accent) solid;
1312
1261
  transition: transform 0.3s ease-in-out;
1313
1262
  }
1314
1263
  .tsd-page-toolbar a {
1315
1264
  color: var(--color-text);
1265
+ text-decoration: none;
1266
+ }
1267
+ .tsd-page-toolbar a.title {
1268
+ font-weight: bold;
1316
1269
  }
1317
- .tsd-toolbar-contents {
1270
+ .tsd-page-toolbar a.title:hover {
1271
+ text-decoration: underline;
1272
+ }
1273
+ .tsd-page-toolbar .tsd-toolbar-contents {
1318
1274
  display: flex;
1319
- align-items: center;
1320
- height: var(--dim-toolbar-contents-height);
1275
+ justify-content: space-between;
1276
+ height: 2.5rem;
1321
1277
  margin: 0 auto;
1322
1278
  }
1323
- .tsd-toolbar-contents > .title {
1324
- font-weight: bold;
1325
- margin-right: auto;
1279
+ .tsd-page-toolbar .table-cell {
1280
+ position: relative;
1281
+ white-space: nowrap;
1282
+ line-height: 40px;
1326
1283
  }
1327
- #tsd-toolbar-links {
1328
- display: flex;
1329
- align-items: center;
1330
- gap: 1.5rem;
1331
- margin-right: 1rem;
1284
+ .tsd-page-toolbar .table-cell:first-child {
1285
+ width: 100%;
1286
+ }
1287
+ .tsd-page-toolbar .tsd-toolbar-icon {
1288
+ box-sizing: border-box;
1289
+ line-height: 0;
1290
+ padding: 12px 0;
1332
1291
  }
1333
1292
 
1334
1293
  .tsd-widget {
1335
- box-sizing: border-box;
1336
1294
  display: inline-block;
1295
+ overflow: hidden;
1337
1296
  opacity: 0.8;
1338
- height: 2.5rem;
1339
- width: 2.5rem;
1340
- transition: opacity 0.1s, background-color 0.1s;
1341
- text-align: center;
1297
+ height: 40px;
1298
+ transition:
1299
+ opacity 0.1s,
1300
+ background-color 0.2s;
1301
+ vertical-align: bottom;
1342
1302
  cursor: pointer;
1343
- border: none;
1344
- background-color: transparent;
1345
1303
  }
1346
1304
  .tsd-widget:hover {
1347
1305
  opacity: 0.9;
1348
1306
  }
1349
- .tsd-widget:active {
1307
+ .tsd-widget.active {
1350
1308
  opacity: 1;
1351
1309
  background-color: var(--color-accent);
1352
1310
  }
1353
- #tsd-toolbar-menu-trigger {
1311
+ .tsd-widget.no-caption {
1312
+ width: 40px;
1313
+ }
1314
+ .tsd-widget.no-caption:before {
1315
+ margin: 0;
1316
+ }
1317
+
1318
+ .tsd-widget.options,
1319
+ .tsd-widget.menu {
1354
1320
  display: none;
1355
1321
  }
1322
+ input[type="checkbox"] + .tsd-widget:before {
1323
+ background-position: -120px 0;
1324
+ }
1325
+ input[type="checkbox"]:checked + .tsd-widget:before {
1326
+ background-position: -160px 0;
1327
+ }
1328
+
1329
+ img {
1330
+ max-width: 100%;
1331
+ }
1356
1332
 
1357
1333
  .tsd-member-summary-name {
1358
1334
  display: inline-flex;
@@ -1366,7 +1342,6 @@
1366
1342
  align-items: center;
1367
1343
  margin-left: 0.5rem;
1368
1344
  color: var(--color-text);
1369
- vertical-align: middle;
1370
1345
  }
1371
1346
 
1372
1347
  .tsd-anchor-icon svg {
@@ -1376,8 +1351,7 @@
1376
1351
  }
1377
1352
 
1378
1353
  .tsd-member-summary-name:hover > .tsd-anchor-icon svg,
1379
- .tsd-anchor-link:hover > .tsd-anchor-icon svg,
1380
- .tsd-anchor-icon:focus-visible svg {
1354
+ .tsd-anchor-link:hover > .tsd-anchor-icon svg {
1381
1355
  visibility: visible;
1382
1356
  }
1383
1357
 
@@ -1463,26 +1437,41 @@
1463
1437
  color: var(--color-text);
1464
1438
  }
1465
1439
 
1440
+ * {
1441
+ scrollbar-width: thin;
1442
+ scrollbar-color: var(--color-accent) var(--color-icon-background);
1443
+ }
1444
+
1445
+ *::-webkit-scrollbar {
1446
+ width: 0.75rem;
1447
+ }
1448
+
1449
+ *::-webkit-scrollbar-track {
1450
+ background: var(--color-icon-background);
1451
+ }
1452
+
1453
+ *::-webkit-scrollbar-thumb {
1454
+ background-color: var(--color-accent);
1455
+ border-radius: 999rem;
1456
+ border: 0.25rem solid var(--color-icon-background);
1457
+ }
1458
+
1466
1459
  /* mobile */
1467
1460
  @media (max-width: 769px) {
1468
- #tsd-toolbar-menu-trigger {
1461
+ .tsd-widget.options,
1462
+ .tsd-widget.menu {
1469
1463
  display: inline-block;
1470
- /* temporary fix to vertically align, for compatibility */
1471
- line-height: 2.5;
1472
- }
1473
- #tsd-toolbar-links {
1474
- display: none;
1475
1464
  }
1476
1465
 
1477
1466
  .container-main {
1478
1467
  display: flex;
1479
1468
  }
1480
- .col-content {
1469
+ html .col-content {
1481
1470
  float: none;
1482
1471
  max-width: 100%;
1483
1472
  width: 100%;
1484
1473
  }
1485
- .col-sidebar {
1474
+ html .col-sidebar {
1486
1475
  position: fixed !important;
1487
1476
  overflow-y: auto;
1488
1477
  -webkit-overflow-scrolling: touch;
@@ -1497,10 +1486,10 @@
1497
1486
  background-color: var(--color-background);
1498
1487
  transform: translate(100%, 0);
1499
1488
  }
1500
- .col-sidebar > *:last-child {
1489
+ html .col-sidebar > *:last-child {
1501
1490
  padding-bottom: 20px;
1502
1491
  }
1503
- .overlay {
1492
+ html .overlay {
1504
1493
  content: "";
1505
1494
  display: block;
1506
1495
  position: fixed;
@@ -1547,6 +1536,9 @@
1547
1536
  .has-menu .tsd-navigation {
1548
1537
  max-height: 100%;
1549
1538
  }
1539
+ #tsd-toolbar-links {
1540
+ display: none;
1541
+ }
1550
1542
  .tsd-navigation .tsd-nav-link {
1551
1543
  display: flex;
1552
1544
  }
@@ -1558,11 +1550,7 @@
1558
1550
  display: grid;
1559
1551
  grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
1560
1552
  grid-template-areas: "sidebar content";
1561
- --dim-container-main-margin-y: 2rem;
1562
- }
1563
-
1564
- .tsd-breadcrumb {
1565
- margin-top: 0;
1553
+ margin: 2rem auto;
1566
1554
  }
1567
1555
 
1568
1556
  .col-sidebar {
@@ -1575,15 +1563,11 @@
1575
1563
  }
1576
1564
  @media (min-width: 770px) and (max-width: 1399px) {
1577
1565
  .col-sidebar {
1578
- max-height: calc(
1579
- 100vh - var(--dim-header-height) - var(--dim-footer-height) -
1580
- 2 * var(--dim-container-main-margin-y)
1581
- );
1566
+ max-height: calc(100vh - 2rem - 42px);
1582
1567
  overflow: auto;
1583
1568
  position: sticky;
1584
- top: calc(
1585
- var(--dim-header-height) + var(--dim-container-main-margin-y)
1586
- );
1569
+ top: 42px;
1570
+ padding-top: 1rem;
1587
1571
  }
1588
1572
  .site-menu {
1589
1573
  margin-top: 1rem;
@@ -1593,11 +1577,10 @@
1593
1577
  /* two sidebars */
1594
1578
  @media (min-width: 1200px) {
1595
1579
  .container-main {
1596
- grid-template-columns:
1597
- minmax(0, 1fr) minmax(0, 2.5fr) minmax(
1598
- 0,
1599
- 20rem
1600
- );
1580
+ grid-template-columns: minmax(0, 1fr) minmax(0, 2.5fr) minmax(
1581
+ 0,
1582
+ 20rem
1583
+ );
1601
1584
  grid-template-areas: "sidebar content toc";
1602
1585
  }
1603
1586
 
@@ -1614,20 +1597,15 @@
1614
1597
  }
1615
1598
 
1616
1599
  .site-menu {
1617
- margin-top: 0rem;
1600
+ margin-top: 1rem;
1618
1601
  }
1619
1602
 
1620
1603
  .page-menu,
1621
1604
  .site-menu {
1622
- max-height: calc(
1623
- 100vh - var(--dim-header-height) - var(--dim-footer-height) -
1624
- 2 * var(--dim-container-main-margin-y)
1625
- );
1605
+ max-height: calc(100vh - 2rem - 42px);
1626
1606
  overflow: auto;
1627
1607
  position: sticky;
1628
- top: calc(
1629
- var(--dim-header-height) + var(--dim-container-main-margin-y)
1630
- );
1608
+ top: 42px;
1631
1609
  }
1632
1610
  }
1633
1611
  }