@grifhinz/logics-manager 2.5.1 → 2.6.0

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.
@@ -19,34 +19,49 @@
19
19
  <div class="viewer-topbar__identity">
20
20
  <div class="viewer-topbar__title">Logics Viewer</div>
21
21
  <span class="viewer-topbar__repo" id="viewer-repo-pill" title="">repository</span>
22
+ <span class="viewer-topbar__repo-actions" id="viewer-repo-actions" aria-label="Repository shortcuts">
23
+ <a class="viewer-topbar__repo-action" id="viewer-repo-github" href="#" target="_blank" rel="noreferrer" title="Open GitHub repository" aria-label="Open GitHub repository" hidden>
24
+ <svg viewBox="0 0 24 24" aria-hidden="true" focusable="false"><path d="M9 19c-4.2 1.2-4.2-2-6-2.4m12 4.4v-3.5c0-1 .1-1.4-.5-2 2-.2 4.1-1 4.1-4.6 0-1-.4-1.9-1-2.6.1-.3.4-1.3-.1-2.6 0 0-.8-.3-2.7 1a9.3 9.3 0 0 0-4.9 0c-1.8-1.3-2.7-1-2.7-1-.5 1.3-.2 2.3-.1 2.6a3.8 3.8 0 0 0-1 2.6c0 3.6 2.1 4.4 4.1 4.6-.5.5-.7 1-.7 1.9V21" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" /></svg>
25
+ </a>
26
+ <button class="viewer-topbar__repo-action" id="viewer-repo-folder" type="button" title="Open repository folder" aria-label="Open repository folder" hidden>
27
+ <svg viewBox="0 0 24 24" aria-hidden="true" focusable="false"><path d="M3.5 6.5h6l2 2H20.5v9a2 2 0 0 1-2 2h-13a2 2 0 0 1-2-2z" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linejoin="round" /><path d="M3.5 8.5h17" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" /></svg>
28
+ </button>
29
+ </span>
22
30
  </div>
23
31
  <div class="viewer-topbar__meta" id="viewer-meta">Read-only local viewer</div>
24
32
  </div>
25
33
  <div class="viewer-topbar__actions">
26
34
  <div class="viewer-refresh-menu">
27
- <button class="btn" id="viewer-refresh-menu-button" type="button" title="Refresh options" aria-haspopup="menu" aria-expanded="false" aria-controls="viewer-refresh-menu">Refresh</button>
28
- <div class="viewer-refresh-menu__panel" id="viewer-refresh-menu" role="menu" aria-label="Refresh options" hidden>
29
- <label class="viewer-auto-refresh" title="Toggle automatic refresh">
30
- <input id="viewer-auto-refresh" type="checkbox" checked />
31
- <span>Auto</span>
32
- </label>
33
- <label class="viewer-refresh-menu__interval">
34
- <span>Interval</span>
35
- <select id="viewer-refresh-interval" aria-label="Automatic refresh interval">
36
- <option value="5">5 sec</option>
37
- <option value="10">10 sec</option>
38
- <option value="15" selected>15 sec</option>
39
- <option value="30">30 sec</option>
40
- <option value="60">60 sec</option>
41
- </select>
42
- </label>
43
- <button class="btn" data-action="refresh" type="button" title="Refresh viewer data now">Now</button>
35
+ <button class="btn" id="viewer-refresh-menu-button" type="button" title="Viewer settings" aria-haspopup="menu" aria-expanded="false" aria-controls="viewer-refresh-menu">Settings</button>
36
+ <div class="viewer-refresh-menu__panel" id="viewer-refresh-menu" role="menu" aria-label="Viewer settings" hidden>
37
+ <section class="viewer-settings-menu__section" aria-label="Refresh settings">
38
+ <div class="viewer-settings-menu__heading">Refresh</div>
39
+ <label class="viewer-auto-refresh" title="Toggle automatic refresh">
40
+ <input id="viewer-auto-refresh" type="checkbox" checked />
41
+ <span>Auto</span>
42
+ </label>
43
+ <label class="viewer-refresh-menu__interval">
44
+ <span>Interval</span>
45
+ <select id="viewer-refresh-interval" aria-label="Automatic refresh interval">
46
+ <option value="5">5 sec</option>
47
+ <option value="10">10 sec</option>
48
+ <option value="15" selected>15 sec</option>
49
+ <option value="30">30 sec</option>
50
+ <option value="60">60 sec</option>
51
+ </select>
52
+ </label>
53
+ <button class="btn" data-action="refresh" type="button" title="Refresh viewer data now">Refresh now</button>
54
+ </section>
55
+ <section class="viewer-settings-menu__section" aria-label="Viewer utilities">
56
+ <div class="viewer-settings-menu__heading">Utilities</div>
57
+ <button class="btn" id="viewer-insights" type="button" title="Show corpus insights">Insights</button>
58
+ <button class="btn" id="viewer-health" type="button" title="Show lint and audit health">Health</button>
59
+ </section>
44
60
  </div>
45
61
  </div>
46
62
  <button class="btn" id="viewer-git" type="button" title="Show Git status">Git</button>
63
+ <button class="btn" id="viewer-ci" type="button" title="Show GitHub Actions CI status" hidden>CI</button>
47
64
  <button class="btn" id="viewer-cdx" type="button" title="Show CDX status">CDX</button>
48
- <button class="btn" id="viewer-insights" type="button" title="Show corpus insights">Insights</button>
49
- <button class="btn" id="viewer-health" type="button" title="Show lint and audit health">Health</button>
50
65
  </div>
51
66
  </header>
52
67
 
@@ -172,6 +187,11 @@
172
187
  <code id="viewer-update-command"></code>
173
188
  </div>
174
189
 
190
+ <div class="viewer-connection" id="viewer-connection" role="status" hidden>
191
+ <span id="viewer-connection-copy"></span>
192
+ <span class="viewer-connection__detail" id="viewer-connection-detail"></span>
193
+ </div>
194
+
175
195
  <div class="layout" id="layout">
176
196
  <main class="layout__main" id="layout-main">
177
197
  <div class="board" id="board"></div>
@@ -37,6 +37,42 @@
37
37
  line-height: 1.3;
38
38
  }
39
39
 
40
+ .viewer-topbar__repo-actions {
41
+ display: inline-flex;
42
+ align-items: center;
43
+ gap: 4px;
44
+ flex: 0 0 auto;
45
+ }
46
+
47
+ .viewer-topbar__repo-action {
48
+ width: 24px;
49
+ height: 24px;
50
+ display: inline-grid;
51
+ place-items: center;
52
+ border: 1px solid var(--vscode-panel-border, #333333);
53
+ border-radius: 999px;
54
+ background: var(--vscode-button-secondaryBackground, transparent);
55
+ color: var(--vscode-button-secondaryForeground, var(--vscode-foreground, #d4d4d4));
56
+ padding: 0;
57
+ cursor: pointer;
58
+ text-decoration: none;
59
+ }
60
+
61
+ .viewer-topbar__repo-action[hidden] {
62
+ display: none !important;
63
+ }
64
+
65
+ .viewer-topbar__repo-action:hover {
66
+ border-color: color-mix(in srgb, var(--vscode-textLink-foreground, #4ea1ff) 45%, var(--vscode-panel-border, #333333));
67
+ color: var(--vscode-textLink-foreground, #4ea1ff);
68
+ }
69
+
70
+ .viewer-topbar__repo-action svg {
71
+ width: 15px;
72
+ height: 15px;
73
+ display: block;
74
+ }
75
+
40
76
  .viewer-topbar__meta {
41
77
  margin-top: 2px;
42
78
  font-size: 12px;
@@ -87,6 +123,62 @@
87
123
  color: #f59e0b;
88
124
  }
89
125
 
126
+ .viewer-ci-badge {
127
+ display: inline-grid;
128
+ min-width: 18px;
129
+ height: 16px;
130
+ place-items: center;
131
+ border: 1px solid color-mix(in srgb, currentColor 24%, transparent);
132
+ border-radius: 999px;
133
+ padding: 0 5px;
134
+ font-size: 10px;
135
+ font-weight: 700;
136
+ line-height: 1;
137
+ }
138
+
139
+ .viewer-ci-badge--passing,
140
+ .viewer-ci__badge--passing {
141
+ background: rgba(34, 197, 94, 0.14);
142
+ color: #22c55e;
143
+ }
144
+
145
+ .viewer-ci-badge--failing,
146
+ .viewer-ci__badge--failing {
147
+ background: rgba(239, 68, 68, 0.16);
148
+ color: #ef4444;
149
+ }
150
+
151
+ .viewer-ci-badge--running,
152
+ .viewer-ci__badge--running {
153
+ background: rgba(245, 158, 11, 0.16);
154
+ color: #f59e0b;
155
+ }
156
+
157
+ .viewer-ci-badge--cancelled,
158
+ .viewer-ci-badge--unavailable,
159
+ .viewer-ci-badge--unknown,
160
+ .viewer-ci__badge--cancelled,
161
+ .viewer-ci__badge--unavailable,
162
+ .viewer-ci__badge--unknown {
163
+ background: color-mix(in srgb, var(--vscode-descriptionForeground, #aaaaaa) 14%, transparent);
164
+ color: var(--vscode-descriptionForeground, #aaaaaa);
165
+ }
166
+
167
+ .viewer-cdx-button-badge {
168
+ display: inline-grid;
169
+ min-width: 16px;
170
+ height: 16px;
171
+ place-items: center;
172
+ border: 1px solid color-mix(in srgb, currentColor 24%, transparent);
173
+ border-radius: 999px;
174
+ padding: 0 4px;
175
+ background: rgba(34, 197, 94, 0.14);
176
+ color: #22c55e;
177
+ font-size: 10px;
178
+ font-weight: 700;
179
+ line-height: 1;
180
+ }
181
+
90
182
  .viewer-refresh-menu {
91
183
  position: relative;
92
184
  display: inline-flex;
@@ -99,8 +191,8 @@
99
191
  right: 0;
100
192
  z-index: 60;
101
193
  display: grid;
102
- gap: 10px;
103
- min-width: 180px;
194
+ gap: 12px;
195
+ min-width: 220px;
104
196
  padding: 10px;
105
197
  border: 1px solid var(--vscode-panel-border, #333333);
106
198
  border-radius: 6px;
@@ -113,6 +205,29 @@
113
205
  display: none !important;
114
206
  }
115
207
 
208
+ .viewer-settings-menu__section {
209
+ display: grid;
210
+ gap: 8px;
211
+ min-width: 0;
212
+ }
213
+
214
+ .viewer-settings-menu__section + .viewer-settings-menu__section {
215
+ padding-top: 10px;
216
+ border-top: 1px solid var(--vscode-panel-border, #333333);
217
+ }
218
+
219
+ .viewer-settings-menu__heading {
220
+ color: var(--vscode-descriptionForeground, #9da5b4);
221
+ font-size: 11px;
222
+ font-weight: 700;
223
+ text-transform: uppercase;
224
+ }
225
+
226
+ .viewer-settings-menu__section > .btn {
227
+ justify-content: center;
228
+ width: 100%;
229
+ }
230
+
116
231
  .viewer-auto-refresh {
117
232
  display: inline-flex;
118
233
  align-items: center;
@@ -153,19 +268,30 @@
153
268
  text-transform: none;
154
269
  }
155
270
 
156
- .viewer-update {
271
+ .viewer-update,
272
+ .viewer-connection {
157
273
  flex: 0 0 auto;
158
274
  display: flex;
159
275
  align-items: center;
160
276
  gap: 10px;
161
277
  padding: 8px 12px;
162
- border-bottom: 1px solid rgba(245, 158, 11, 0.4);
163
- background: rgba(245, 158, 11, 0.12);
164
278
  color: var(--vscode-foreground, #d4d4d4);
165
279
  font-size: 12px;
166
280
  }
167
281
 
168
- .viewer-update[hidden] {
282
+ .viewer-update {
283
+ border-bottom: 1px solid rgba(245, 158, 11, 0.4);
284
+ background: rgba(245, 158, 11, 0.12);
285
+ }
286
+
287
+ .viewer-connection {
288
+ justify-content: space-between;
289
+ border-bottom: 1px solid rgba(248, 113, 113, 0.45);
290
+ background: rgba(127, 29, 29, 0.24);
291
+ }
292
+
293
+ .viewer-update[hidden],
294
+ .viewer-connection[hidden] {
169
295
  display: none !important;
170
296
  }
171
297
 
@@ -176,6 +302,10 @@
176
302
  color: var(--vscode-textPreformat-foreground, #d7ba7d);
177
303
  }
178
304
 
305
+ .viewer-connection__detail {
306
+ color: var(--vscode-descriptionForeground, #9da5b4);
307
+ }
308
+
179
309
  .viewer-filter-panel {
180
310
  display: grid;
181
311
  grid-template-columns: minmax(220px, 0.9fr) minmax(360px, 1.6fr) minmax(180px, 0.7fr);
@@ -401,6 +531,7 @@
401
531
 
402
532
  .viewer-git__summary,
403
533
  .viewer-cdx__summary,
534
+ .viewer-ci__summary,
404
535
  .viewer-insights__summary,
405
536
  .viewer-health__summary {
406
537
  display: grid;
@@ -415,6 +546,114 @@
415
546
  align-items: start;
416
547
  }
417
548
 
549
+ .viewer-ci {
550
+ display: grid;
551
+ gap: 12px;
552
+ }
553
+
554
+ .viewer-ci__workspace {
555
+ display: grid;
556
+ grid-template-columns: minmax(280px, 1fr) minmax(240px, 0.85fr);
557
+ gap: 12px;
558
+ align-items: start;
559
+ }
560
+
561
+ .viewer-ci__section {
562
+ min-width: 0;
563
+ border: 1px solid var(--vscode-panel-border, #333333);
564
+ border-radius: 6px;
565
+ background: var(--vscode-editorWidget-background, #202020);
566
+ padding: 12px;
567
+ }
568
+
569
+ .viewer-ci__heading {
570
+ display: flex;
571
+ align-items: center;
572
+ justify-content: space-between;
573
+ gap: 10px;
574
+ margin-bottom: 10px;
575
+ }
576
+
577
+ .viewer-ci__heading h2 {
578
+ margin: 0;
579
+ font-size: 13px;
580
+ }
581
+
582
+ .viewer-ci__heading span {
583
+ color: var(--vscode-descriptionForeground, #aaaaaa);
584
+ font-size: 12px;
585
+ }
586
+
587
+ .viewer-ci__badge {
588
+ display: inline-flex;
589
+ align-items: center;
590
+ justify-content: center;
591
+ min-height: 20px;
592
+ border: 1px solid color-mix(in srgb, currentColor 28%, transparent);
593
+ border-radius: 999px;
594
+ padding: 2px 8px;
595
+ font-size: 11px;
596
+ font-weight: 700;
597
+ }
598
+
599
+ .viewer-ci__list,
600
+ .viewer-ci__jobs {
601
+ display: grid;
602
+ gap: 6px;
603
+ margin: 0;
604
+ padding: 0;
605
+ list-style: none;
606
+ }
607
+
608
+ .viewer-ci__row,
609
+ .viewer-ci__job,
610
+ .viewer-ci__empty {
611
+ min-width: 0;
612
+ border: 1px solid color-mix(in srgb, var(--vscode-panel-border, #333333) 74%, transparent);
613
+ border-radius: 6px;
614
+ padding: 8px 9px;
615
+ background: var(--vscode-sideBar-background, #252526);
616
+ font-size: 12px;
617
+ }
618
+
619
+ .viewer-ci__row,
620
+ .viewer-ci__job,
621
+ .viewer-ci__job a {
622
+ display: flex;
623
+ justify-content: space-between;
624
+ gap: 12px;
625
+ }
626
+
627
+ .viewer-ci__job a {
628
+ width: 100%;
629
+ color: inherit;
630
+ text-decoration: none;
631
+ }
632
+
633
+ .viewer-ci__row span,
634
+ .viewer-ci__job span {
635
+ color: var(--vscode-descriptionForeground, #aaaaaa);
636
+ }
637
+
638
+ .viewer-ci__row strong,
639
+ .viewer-ci__job strong {
640
+ min-width: 0;
641
+ text-align: right;
642
+ overflow-wrap: anywhere;
643
+ }
644
+
645
+ .viewer-ci__link {
646
+ display: inline-flex;
647
+ margin-top: 10px;
648
+ color: var(--vscode-textLink-foreground, #4ea1ff);
649
+ font-size: 12px;
650
+ }
651
+
652
+ .viewer-ci__state,
653
+ .viewer-ci__empty {
654
+ color: var(--vscode-descriptionForeground, #9da5b4);
655
+ }
656
+
418
657
  .viewer-cdx__stack {
419
658
  display: grid;
420
659
  gap: 12px;
@@ -785,6 +1024,33 @@
785
1024
  background: var(--vscode-editorWidget-background, #202020);
786
1025
  }
787
1026
 
1027
+ .viewer-git__commit-row[hidden] {
1028
+ display: none !important;
1029
+ }
1030
+
1031
+ .viewer-git__commit-row--reveal {
1032
+ padding: 0;
1033
+ border: 0;
1034
+ background: transparent;
1035
+ }
1036
+
1037
+ .viewer-git__reveal {
1038
+ width: 100%;
1039
+ min-height: 32px;
1040
+ border: 1px solid var(--vscode-panel-border, #333333);
1041
+ border-radius: 6px;
1042
+ background: var(--vscode-button-secondaryBackground, transparent);
1043
+ color: var(--vscode-button-secondaryForeground, var(--vscode-foreground, #d4d4d4));
1044
+ font: inherit;
1045
+ font-size: 12px;
1046
+ cursor: pointer;
1047
+ }
1048
+
1049
+ .viewer-git__reveal:hover {
1050
+ border-color: color-mix(in srgb, var(--vscode-textLink-foreground, #4ea1ff) 45%, var(--vscode-panel-border, #333333));
1051
+ color: var(--vscode-textLink-foreground, #4ea1ff);
1052
+ }
1053
+
788
1054
  .viewer-git__commit-main,
789
1055
  .viewer-git__commit-meta {
790
1056
  display: flex;
@@ -829,6 +1095,23 @@
829
1095
  overflow-wrap: anywhere;
830
1096
  }
831
1097
 
1098
+ .viewer-git__file-changes {
1099
+ display: inline-flex;
1100
+ align-items: center;
1101
+ gap: 5px;
1102
+ flex: 0 0 auto;
1103
+ font-family: var(--vscode-editor-font-family, ui-monospace, SFMono-Regular, Menlo, monospace);
1104
+ font-size: 11px;
1105
+ }
1106
+
1107
+ .viewer-git__file-additions {
1108
+ color: #7ee787;
1109
+ }
1110
+
1111
+ .viewer-git__file-deletions {
1112
+ color: #ffaaa5;
1113
+ }
1114
+
832
1115
  .viewer-git__file-kind {
833
1116
  flex: 0 0 auto;
834
1117
  padding: 2px 6px;
@@ -871,6 +1154,35 @@
871
1154
  white-space: pre;
872
1155
  }
873
1156
 
1157
+ .viewer-git__diff-line {
1158
+ display: block;
1159
+ min-height: 1.35em;
1160
+ padding: 0 8px;
1161
+ border-left: 3px solid transparent;
1162
+ }
1163
+
1164
+ .viewer-git__diff-line--add {
1165
+ border-left-color: #2ea043;
1166
+ background: rgba(46, 160, 67, 0.16);
1167
+ color: #7ee787;
1168
+ }
1169
+
1170
+ .viewer-git__diff-line--delete {
1171
+ border-left-color: #f85149;
1172
+ background: rgba(248, 81, 73, 0.16);
1173
+ color: #ffaaa5;
1174
+ }
1175
+
1176
+ .viewer-git__diff-line--hunk {
1177
+ border-left-color: var(--vscode-textLink-foreground, #4ea1ff);
1178
+ background: color-mix(in srgb, var(--vscode-textLink-foreground, #4ea1ff) 14%, transparent);
1179
+ color: var(--vscode-textLink-foreground, #4ea1ff);
1180
+ }
1181
+
1182
+ .viewer-git__diff-line--meta {
1183
+ color: var(--vscode-descriptionForeground, #aaaaaa);
1184
+ }
1185
+
874
1186
  .viewer-git__commit,
875
1187
  .viewer-git__state {
876
1188
  margin: 0;
@@ -894,6 +1206,10 @@
894
1206
  .viewer-git__workspace {
895
1207
  grid-template-columns: 1fr;
896
1208
  }
1209
+
1210
+ .viewer-ci__workspace {
1211
+ grid-template-columns: 1fr;
1212
+ }
897
1213
  }
898
1214
 
899
1215
  .viewer-document__content a {
@@ -955,11 +1271,34 @@
955
1271
  gap: 16px;
956
1272
  }
957
1273
 
1274
+ .viewer-insights__hero {
1275
+ display: grid;
1276
+ grid-template-columns: minmax(220px, 0.9fr) minmax(320px, 1.1fr);
1277
+ gap: 12px;
1278
+ align-items: stretch;
1279
+ padding: 12px;
1280
+ border: 1px solid var(--vscode-panel-border, #333333);
1281
+ border-radius: 6px;
1282
+ background: color-mix(in srgb, var(--vscode-editorWidget-background, #202020) 86%, var(--vscode-textLink-foreground, #4ea1ff) 14%);
1283
+ }
1284
+
1285
+ .viewer-insights__hero h2,
1286
+ .viewer-insights__section h2 {
1287
+ margin: 0;
1288
+ font-size: 14px;
1289
+ }
1290
+
1291
+ .viewer-insights__hero p {
1292
+ margin: 6px 0 0;
1293
+ color: var(--vscode-descriptionForeground, #9da5b4);
1294
+ line-height: 1.45;
1295
+ }
1296
+
958
1297
  .viewer-insights__summary,
959
1298
  .viewer-insights__grid {
960
1299
  display: grid;
961
- grid-template-columns: repeat(4, minmax(0, 1fr));
962
- gap: 10px;
1300
+ grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
1301
+ gap: 8px;
963
1302
  }
964
1303
 
965
1304
  .viewer-insights__card {
@@ -969,6 +1308,14 @@
969
1308
  background: var(--vscode-sideBar-background, #252526);
970
1309
  }
971
1310
 
1311
+ .viewer-insights__card--warning {
1312
+ border-color: color-mix(in srgb, var(--vscode-notificationsWarningIcon-foreground, #d7ba7d) 48%, var(--vscode-panel-border, #333333));
1313
+ }
1314
+
1315
+ .viewer-insights__card--ok {
1316
+ border-color: color-mix(in srgb, var(--vscode-testing-iconPassed, #73c991) 44%, var(--vscode-panel-border, #333333));
1317
+ }
1318
+
972
1319
  .viewer-insights__label {
973
1320
  color: var(--vscode-descriptionForeground, #9da5b4);
974
1321
  font-size: 11px;
@@ -987,6 +1334,25 @@
987
1334
  gap: 8px;
988
1335
  }
989
1336
 
1337
+ .viewer-insights__workspace {
1338
+ display: grid;
1339
+ grid-template-columns: repeat(2, minmax(0, 1fr));
1340
+ gap: 12px;
1341
+ align-items: start;
1342
+ }
1343
+
1344
+ .viewer-insights__section {
1345
+ min-width: 0;
1346
+ padding: 12px;
1347
+ border: 1px solid var(--vscode-panel-border, #333333);
1348
+ border-radius: 6px;
1349
+ background: color-mix(in srgb, var(--vscode-editorWidget-background, #202020) 88%, transparent);
1350
+ }
1351
+
1352
+ .viewer-insights__section--wide {
1353
+ grid-column: 1 / -1;
1354
+ }
1355
+
990
1356
  .viewer-insights__list {
991
1357
  display: grid;
992
1358
  gap: 6px;
@@ -1005,6 +1371,83 @@
1005
1371
  background: var(--vscode-editorWidget-background, #202020);
1006
1372
  }
1007
1373
 
1374
+ .viewer-insights__bars,
1375
+ .viewer-insights__signals {
1376
+ display: grid;
1377
+ gap: 8px;
1378
+ margin: 0;
1379
+ padding: 0;
1380
+ list-style: none;
1381
+ }
1382
+
1383
+ .viewer-insights__bar-row {
1384
+ display: grid;
1385
+ gap: 5px;
1386
+ min-width: 0;
1387
+ font-size: 12px;
1388
+ }
1389
+
1390
+ .viewer-insights__bar-meta,
1391
+ .viewer-insights__signal {
1392
+ display: flex;
1393
+ justify-content: space-between;
1394
+ gap: 12px;
1395
+ min-width: 0;
1396
+ }
1397
+
1398
+ .viewer-insights__bar-meta span,
1399
+ .viewer-insights__signal span {
1400
+ min-width: 0;
1401
+ }
1402
+
1403
+ .viewer-insights__signal span {
1404
+ flex: 0 0 min(42%, 160px);
1405
+ overflow-wrap: normal;
1406
+ }
1407
+
1408
+ .viewer-insights__signal strong {
1409
+ flex: 1 1 auto;
1410
+ min-width: 0;
1411
+ text-align: right;
1412
+ overflow-wrap: anywhere;
1413
+ }
1414
+
1415
+ .viewer-insights__bar-track {
1416
+ height: 7px;
1417
+ overflow: hidden;
1418
+ border: 1px solid var(--vscode-panel-border, #333333);
1419
+ border-radius: 999px;
1420
+ background: var(--vscode-sideBar-background, #252526);
1421
+ }
1422
+
1423
+ .viewer-insights__bar-track span {
1424
+ display: block;
1425
+ height: 100%;
1426
+ border-radius: inherit;
1427
+ background: var(--vscode-textLink-foreground, #4ea1ff);
1428
+ }
1429
+
1430
+ .viewer-insights__signal {
1431
+ padding: 7px 9px;
1432
+ border: 1px solid var(--vscode-panel-border, #333333);
1433
+ border-radius: 6px;
1434
+ background: var(--vscode-editorWidget-background, #202020);
1435
+ font-size: 12px;
1436
+ }
1437
+
1438
+ .viewer-insights__signal--warning {
1439
+ border-color: color-mix(in srgb, var(--vscode-notificationsWarningIcon-foreground, #d7ba7d) 44%, var(--vscode-panel-border, #333333));
1440
+ }
1441
+
1442
+ .viewer-insights__signal--ok strong {
1443
+ color: var(--vscode-testing-iconPassed, #73c991);
1444
+ }
1445
+
1446
+ .viewer-insights__signal--muted strong,
1447
+ .viewer-insights__signal--empty {
1448
+ color: var(--vscode-descriptionForeground, #9da5b4);
1449
+ }
1450
+
1008
1451
  .viewer-health__summary {
1009
1452
  display: grid;
1010
1453
  grid-template-columns: repeat(3, minmax(0, 1fr));
@@ -1104,15 +1547,35 @@
1104
1547
  justify-content: center;
1105
1548
  }
1106
1549
 
1550
+ .viewer-refresh-menu__panel {
1551
+ left: 0;
1552
+ right: auto;
1553
+ min-width: min(260px, 100%);
1554
+ }
1555
+
1107
1556
  .viewer-document {
1108
1557
  inset: 10px;
1109
1558
  }
1110
1559
 
1560
+ .viewer-insights__hero,
1561
+ .viewer-insights__workspace,
1111
1562
  .viewer-insights__summary,
1112
1563
  .viewer-insights__grid {
1113
1564
  grid-template-columns: 1fr;
1114
1565
  }
1115
1566
 
1567
+ .viewer-insights__signal {
1568
+ align-items: flex-start;
1569
+ flex-direction: column;
1570
+ }
1571
+
1572
+ .viewer-insights__signal span,
1573
+ .viewer-insights__signal strong {
1574
+ flex: none;
1575
+ width: 100%;
1576
+ text-align: left;
1577
+ }
1578
+
1116
1579
  .viewer-health__summary {
1117
1580
  grid-template-columns: 1fr;
1118
1581
  }