@youtyan/code-viewer 0.6.1 → 0.6.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +24 -4
- package/dist/code-viewer.js +1036 -312
- package/package.json +1 -1
- package/web/app.js +2053 -266
- package/web/index.html +40 -13
- package/web/style.css +787 -41
package/web/style.css
CHANGED
|
@@ -485,8 +485,19 @@ body[data-code-font-size="xlarge"] { --code-font-size: 15px; }
|
|
|
485
485
|
color: var(--attn);
|
|
486
486
|
border-color: var(--attn);
|
|
487
487
|
}
|
|
488
|
+
.ai-context-action {
|
|
489
|
+
width: auto;
|
|
490
|
+
gap: 6px;
|
|
491
|
+
padding: 0 10px;
|
|
492
|
+
}
|
|
493
|
+
.ai-context-label {
|
|
494
|
+
font-size: 11px;
|
|
495
|
+
font-weight: 600;
|
|
496
|
+
white-space: nowrap;
|
|
497
|
+
}
|
|
488
498
|
#auto-update {
|
|
489
499
|
width: auto;
|
|
500
|
+
gap: 6px;
|
|
490
501
|
padding: 0 8px;
|
|
491
502
|
font-size: 11px;
|
|
492
503
|
font-weight: 600;
|
|
@@ -496,12 +507,6 @@ body[data-code-font-size="xlarge"] { --code-font-size: 15px; }
|
|
|
496
507
|
border-color: var(--success);
|
|
497
508
|
color: var(--success);
|
|
498
509
|
}
|
|
499
|
-
#cancel-requests {
|
|
500
|
-
width: auto;
|
|
501
|
-
padding: 0 8px;
|
|
502
|
-
font-size: 11px;
|
|
503
|
-
font-weight: 600;
|
|
504
|
-
}
|
|
505
510
|
#cancel-requests.active {
|
|
506
511
|
color: var(--danger);
|
|
507
512
|
border-color: var(--danger);
|
|
@@ -532,14 +537,7 @@ body[data-code-font-size="xlarge"] { --code-font-size: 15px; }
|
|
|
532
537
|
line-height: 1;
|
|
533
538
|
white-space: nowrap;
|
|
534
539
|
}
|
|
535
|
-
#meta .
|
|
536
|
-
display: inline-flex; gap: 8px;
|
|
537
|
-
font-variant-numeric: tabular-nums;
|
|
538
|
-
font-size: 12px;
|
|
539
|
-
}
|
|
540
|
-
#meta .num .add { color: var(--success); font-weight: 600; }
|
|
541
|
-
#meta .num .del { color: var(--danger); font-weight: 600; }
|
|
542
|
-
#meta .updated-at {
|
|
540
|
+
#meta .chip {
|
|
543
541
|
display: inline-flex;
|
|
544
542
|
align-items: center;
|
|
545
543
|
gap: 4px;
|
|
@@ -547,12 +545,41 @@ body[data-code-font-size="xlarge"] { --code-font-size: 15px; }
|
|
|
547
545
|
background: var(--bg-soft);
|
|
548
546
|
border: 1px solid var(--border);
|
|
549
547
|
border-radius: 999px;
|
|
550
|
-
padding: 3px
|
|
548
|
+
padding: 3px 9px;
|
|
551
549
|
font-size: 11px;
|
|
552
550
|
line-height: 1;
|
|
553
551
|
font-variant-numeric: tabular-nums;
|
|
554
552
|
white-space: nowrap;
|
|
555
553
|
}
|
|
554
|
+
#meta .chip-files { color: var(--fg); font-weight: 600; }
|
|
555
|
+
#meta .chip-add { color: var(--success); font-weight: 600; border-color: color-mix(in srgb, var(--success) 35%, var(--border)); }
|
|
556
|
+
#meta .chip-del { color: var(--danger); font-weight: 600; border-color: color-mix(in srgb, var(--danger) 35%, var(--border)); }
|
|
557
|
+
#meta .chip-added { color: var(--success); border-color: color-mix(in srgb, var(--success) 35%, var(--border)); }
|
|
558
|
+
#meta .chip-deleted { color: var(--danger); border-color: color-mix(in srgb, var(--danger) 35%, var(--border)); }
|
|
559
|
+
#meta .chip-renamed { color: var(--done); border-color: color-mix(in srgb, var(--done) 35%, var(--border)); }
|
|
560
|
+
#meta .chip-heavy { color: var(--attn); border-color: color-mix(in srgb, var(--attn) 35%, var(--border)); }
|
|
561
|
+
#meta .chip-error { color: var(--danger); border-color: color-mix(in srgb, var(--danger) 35%, var(--border)); }
|
|
562
|
+
#meta .chip-binary,
|
|
563
|
+
#meta .chip-media { color: var(--fg-muted); }
|
|
564
|
+
#meta .chip-viewed-empty { color: var(--fg-muted); }
|
|
565
|
+
#meta .chip-viewed-partial { color: var(--attn); border-color: color-mix(in srgb, var(--attn) 35%, var(--border)); }
|
|
566
|
+
#meta .chip-viewed-done { color: var(--done); border-color: color-mix(in srgb, var(--done) 35%, var(--border)); }
|
|
567
|
+
#meta .chip-next-unviewed {
|
|
568
|
+
font: inherit;
|
|
569
|
+
cursor: pointer;
|
|
570
|
+
color: var(--accent-emph);
|
|
571
|
+
border-color: color-mix(in srgb, var(--accent-emph) 35%, var(--border));
|
|
572
|
+
}
|
|
573
|
+
#meta .chip-next-unviewed:hover:not(:disabled) {
|
|
574
|
+
background: var(--bg-soft);
|
|
575
|
+
border-color: var(--border-strong);
|
|
576
|
+
}
|
|
577
|
+
#meta .chip-next-unviewed:disabled {
|
|
578
|
+
cursor: default;
|
|
579
|
+
opacity: 0.45;
|
|
580
|
+
color: var(--fg-muted);
|
|
581
|
+
border-color: var(--border);
|
|
582
|
+
}
|
|
556
583
|
.ref-pickers {
|
|
557
584
|
display: flex;
|
|
558
585
|
align-items: center;
|
|
@@ -641,6 +668,10 @@ body.gdp-diff-page #repo-target-wrap {
|
|
|
641
668
|
}
|
|
642
669
|
.ref-pickers > button {
|
|
643
670
|
width: 24px; height: 26px;
|
|
671
|
+
display: inline-flex;
|
|
672
|
+
align-items: center;
|
|
673
|
+
justify-content: center;
|
|
674
|
+
padding: 0;
|
|
644
675
|
border: 1px solid var(--border);
|
|
645
676
|
background: var(--bg);
|
|
646
677
|
color: var(--fg-muted);
|
|
@@ -649,6 +680,11 @@ body.gdp-diff-page #repo-target-wrap {
|
|
|
649
680
|
font-size: 13px;
|
|
650
681
|
transition: background 0.12s, color 0.12s;
|
|
651
682
|
}
|
|
683
|
+
.ref-pickers > button svg {
|
|
684
|
+
display: block;
|
|
685
|
+
width: 14px;
|
|
686
|
+
height: 14px;
|
|
687
|
+
}
|
|
652
688
|
.ref-pickers > button:hover {
|
|
653
689
|
background: var(--accent);
|
|
654
690
|
color: #fff;
|
|
@@ -982,13 +1018,35 @@ body.gdp-diff-page #repo-target-wrap {
|
|
|
982
1018
|
@keyframes gdp-spin { to { transform: rotate(360deg); } }
|
|
983
1019
|
|
|
984
1020
|
#status {
|
|
985
|
-
|
|
1021
|
+
display: inline-flex;
|
|
1022
|
+
align-items: center;
|
|
1023
|
+
height: 24px;
|
|
1024
|
+
padding: 0 9px 0 8px;
|
|
1025
|
+
border: 1px solid var(--border);
|
|
1026
|
+
border-radius: 999px;
|
|
1027
|
+
background: color-mix(in srgb, var(--bg) 72%, var(--bg-soft));
|
|
1028
|
+
color: var(--fg-muted);
|
|
1029
|
+
font-size: 11px;
|
|
1030
|
+
font-weight: 600;
|
|
1031
|
+
line-height: 1;
|
|
1032
|
+
white-space: nowrap;
|
|
1033
|
+
}
|
|
1034
|
+
#status::before {
|
|
1035
|
+
content: "";
|
|
1036
|
+
flex: 0 0 auto;
|
|
1037
|
+
width: 6px;
|
|
1038
|
+
height: 6px;
|
|
1039
|
+
margin-right: 6px;
|
|
1040
|
+
border-radius: 50%;
|
|
986
1041
|
background: var(--fg-subtle);
|
|
987
1042
|
transition: background 0.2s ease, box-shadow 0.2s ease;
|
|
988
1043
|
}
|
|
989
|
-
#status.live { background: #2ea043; box-shadow: 0 0 0 3px rgba(46,160,67,0.20); }
|
|
990
|
-
#status.refreshing { background: #d29922; box-shadow: 0 0 0 3px rgba(210,153,34,0.25); }
|
|
991
|
-
#status.error { background: var(--danger); box-shadow: 0 0 0 3px rgba(207,34,46,0.20); }
|
|
1044
|
+
#status.live::before { background: #2ea043; box-shadow: 0 0 0 3px rgba(46,160,67,0.20); }
|
|
1045
|
+
#status.refreshing::before { background: #d29922; box-shadow: 0 0 0 3px rgba(210,153,34,0.25); }
|
|
1046
|
+
#status.error::before { background: var(--danger); box-shadow: 0 0 0 3px rgba(207,34,46,0.20); }
|
|
1047
|
+
#status.live { color: var(--success); }
|
|
1048
|
+
#status.refreshing { color: var(--attn); }
|
|
1049
|
+
#status.error { color: var(--danger); }
|
|
992
1050
|
|
|
993
1051
|
/* ===== Top-edge loading bar (indeterminate) ===== */
|
|
994
1052
|
#load-bar {
|
|
@@ -1178,6 +1236,78 @@ body.gdp-history-page #topbar .ref-pickers {
|
|
|
1178
1236
|
flex: 1 1 auto;
|
|
1179
1237
|
min-width: 0;
|
|
1180
1238
|
}
|
|
1239
|
+
.history-refresh {
|
|
1240
|
+
position: relative;
|
|
1241
|
+
display: inline-flex;
|
|
1242
|
+
align-items: center;
|
|
1243
|
+
justify-content: center;
|
|
1244
|
+
flex: 0 0 auto;
|
|
1245
|
+
width: auto;
|
|
1246
|
+
min-width: 28px;
|
|
1247
|
+
height: 28px;
|
|
1248
|
+
padding: 0 7px;
|
|
1249
|
+
gap: 4px;
|
|
1250
|
+
border: 1px solid transparent;
|
|
1251
|
+
border-radius: 4px;
|
|
1252
|
+
background: transparent;
|
|
1253
|
+
color: var(--fg-muted);
|
|
1254
|
+
cursor: pointer;
|
|
1255
|
+
}
|
|
1256
|
+
.history-refresh:hover {
|
|
1257
|
+
background: var(--bg);
|
|
1258
|
+
color: var(--fg);
|
|
1259
|
+
}
|
|
1260
|
+
.history-refresh:focus-visible {
|
|
1261
|
+
outline: 2px solid var(--accent);
|
|
1262
|
+
outline-offset: -1px;
|
|
1263
|
+
}
|
|
1264
|
+
.history-refresh[disabled] {
|
|
1265
|
+
cursor: default;
|
|
1266
|
+
opacity: 0.7;
|
|
1267
|
+
}
|
|
1268
|
+
.history-refresh.spinning svg {
|
|
1269
|
+
animation: gdp-spin 0.7s linear infinite;
|
|
1270
|
+
}
|
|
1271
|
+
.history-refresh.has-update {
|
|
1272
|
+
color: var(--accent);
|
|
1273
|
+
border-color: var(--accent);
|
|
1274
|
+
box-shadow: 0 0 0 1px var(--accent-subtle);
|
|
1275
|
+
}
|
|
1276
|
+
.history-refresh.has-update::after {
|
|
1277
|
+
content: "";
|
|
1278
|
+
position: absolute;
|
|
1279
|
+
top: 1px;
|
|
1280
|
+
right: 1px;
|
|
1281
|
+
width: 7px;
|
|
1282
|
+
height: 7px;
|
|
1283
|
+
border-radius: 50%;
|
|
1284
|
+
background: var(--accent);
|
|
1285
|
+
box-shadow: 0 0 0 2px var(--bg-soft);
|
|
1286
|
+
}
|
|
1287
|
+
.history-refresh svg {
|
|
1288
|
+
width: 16px;
|
|
1289
|
+
height: 16px;
|
|
1290
|
+
flex: 0 0 auto;
|
|
1291
|
+
pointer-events: none;
|
|
1292
|
+
}
|
|
1293
|
+
.history-refresh-label {
|
|
1294
|
+
line-height: 1;
|
|
1295
|
+
white-space: nowrap;
|
|
1296
|
+
font-size: 12px;
|
|
1297
|
+
font-weight: 600;
|
|
1298
|
+
}
|
|
1299
|
+
.history-refresh-result {
|
|
1300
|
+
min-width: 0;
|
|
1301
|
+
max-width: 180px;
|
|
1302
|
+
overflow: hidden;
|
|
1303
|
+
text-overflow: ellipsis;
|
|
1304
|
+
white-space: nowrap;
|
|
1305
|
+
line-height: 1;
|
|
1306
|
+
}
|
|
1307
|
+
.history-refresh-result.pending {
|
|
1308
|
+
color: var(--accent);
|
|
1309
|
+
font-weight: 600;
|
|
1310
|
+
}
|
|
1181
1311
|
.history-filter-wrap {
|
|
1182
1312
|
position: relative;
|
|
1183
1313
|
padding: 7px 12px 9px;
|
|
@@ -1220,10 +1350,49 @@ body.gdp-history-page #topbar .ref-pickers {
|
|
|
1220
1350
|
font: inherit;
|
|
1221
1351
|
font-size: 13px;
|
|
1222
1352
|
line-height: 30px;
|
|
1223
|
-
padding: 0
|
|
1353
|
+
padding: 0 60px 0 34px;
|
|
1224
1354
|
outline: none;
|
|
1225
1355
|
transition: border-color 0.12s ease, background-color 0.12s ease, box-shadow 0.12s ease;
|
|
1226
1356
|
}
|
|
1357
|
+
.history-filter-clear,
|
|
1358
|
+
.sb-filter-clear,
|
|
1359
|
+
.db-table-filter-clear {
|
|
1360
|
+
position: absolute;
|
|
1361
|
+
z-index: 1;
|
|
1362
|
+
right: 19px;
|
|
1363
|
+
top: 23px;
|
|
1364
|
+
transform: translateY(-50%);
|
|
1365
|
+
height: 22px;
|
|
1366
|
+
min-width: 42px;
|
|
1367
|
+
padding: 0 8px;
|
|
1368
|
+
border: 1px solid var(--border);
|
|
1369
|
+
border-radius: 6px;
|
|
1370
|
+
background: var(--bg);
|
|
1371
|
+
color: var(--fg-muted);
|
|
1372
|
+
font: inherit;
|
|
1373
|
+
font-size: 11px;
|
|
1374
|
+
font-weight: 600;
|
|
1375
|
+
line-height: 20px;
|
|
1376
|
+
cursor: pointer;
|
|
1377
|
+
}
|
|
1378
|
+
.history-filter-clear[hidden],
|
|
1379
|
+
.sb-filter-clear[hidden],
|
|
1380
|
+
.db-table-filter-clear[hidden] {
|
|
1381
|
+
display: none;
|
|
1382
|
+
}
|
|
1383
|
+
.history-filter-clear:hover,
|
|
1384
|
+
.sb-filter-clear:hover,
|
|
1385
|
+
.db-table-filter-clear:hover {
|
|
1386
|
+
color: var(--fg);
|
|
1387
|
+
border-color: var(--accent);
|
|
1388
|
+
background: color-mix(in srgb, var(--accent-muted) 42%, var(--bg));
|
|
1389
|
+
}
|
|
1390
|
+
.history-filter-clear:focus-visible,
|
|
1391
|
+
.sb-filter-clear:focus-visible,
|
|
1392
|
+
.db-table-filter-clear:focus-visible {
|
|
1393
|
+
outline: none;
|
|
1394
|
+
box-shadow: 0 0 0 3px var(--accent-muted);
|
|
1395
|
+
}
|
|
1227
1396
|
#history-filter:hover,
|
|
1228
1397
|
.history-filter:hover {
|
|
1229
1398
|
border-color: var(--border);
|
|
@@ -1240,6 +1409,13 @@ body.gdp-history-page #topbar .ref-pickers {
|
|
|
1240
1409
|
color: var(--fg-subtle);
|
|
1241
1410
|
opacity: 1;
|
|
1242
1411
|
}
|
|
1412
|
+
#history-filter::-webkit-search-decoration,
|
|
1413
|
+
#history-filter::-webkit-search-cancel-button,
|
|
1414
|
+
.history-filter::-webkit-search-decoration,
|
|
1415
|
+
.history-filter::-webkit-search-cancel-button {
|
|
1416
|
+
-webkit-appearance: none;
|
|
1417
|
+
appearance: none;
|
|
1418
|
+
}
|
|
1243
1419
|
.history-banner {
|
|
1244
1420
|
margin: 8px 10px 0;
|
|
1245
1421
|
padding: 6px 10px;
|
|
@@ -1285,6 +1461,10 @@ body.gdp-history-page #topbar .ref-pickers {
|
|
|
1285
1461
|
background: var(--bg-mute);
|
|
1286
1462
|
border-left-color: var(--accent);
|
|
1287
1463
|
}
|
|
1464
|
+
.history-item-fresh {
|
|
1465
|
+
background: color-mix(in srgb, var(--accent-subtle) 55%, transparent);
|
|
1466
|
+
border-left-color: var(--accent);
|
|
1467
|
+
}
|
|
1288
1468
|
.history-item-worktree {
|
|
1289
1469
|
background: color-mix(in srgb, var(--bg-soft) 72%, var(--bg-mute));
|
|
1290
1470
|
color: var(--fg-muted);
|
|
@@ -1693,7 +1873,7 @@ body[data-focus-scope="main"] #content {
|
|
|
1693
1873
|
font: inherit;
|
|
1694
1874
|
font-size: 13px;
|
|
1695
1875
|
line-height: 30px;
|
|
1696
|
-
padding: 0
|
|
1876
|
+
padding: 0 60px 0 34px;
|
|
1697
1877
|
outline: none;
|
|
1698
1878
|
transition: border-color 0.12s ease, background-color 0.12s ease, box-shadow 0.12s ease;
|
|
1699
1879
|
}
|
|
@@ -1714,6 +1894,11 @@ body[data-focus-scope="main"] #content {
|
|
|
1714
1894
|
color: var(--fg-subtle);
|
|
1715
1895
|
opacity: 1;
|
|
1716
1896
|
}
|
|
1897
|
+
#sb-filter::-webkit-search-decoration,
|
|
1898
|
+
#sb-filter::-webkit-search-cancel-button {
|
|
1899
|
+
-webkit-appearance: none;
|
|
1900
|
+
appearance: none;
|
|
1901
|
+
}
|
|
1717
1902
|
|
|
1718
1903
|
/* ===== Sidebar resizer (drag right edge to resize) ===== */
|
|
1719
1904
|
#sidebar-resizer {
|
|
@@ -1926,6 +2111,70 @@ body.gdp-history-resizing * {
|
|
|
1926
2111
|
background: var(--bg-mute);
|
|
1927
2112
|
}
|
|
1928
2113
|
|
|
2114
|
+
.quick-help-btn {
|
|
2115
|
+
font-weight: 700;
|
|
2116
|
+
}
|
|
2117
|
+
#quick-help-popover {
|
|
2118
|
+
position: fixed;
|
|
2119
|
+
right: 16px;
|
|
2120
|
+
top: calc(var(--global-header-h) + 8px);
|
|
2121
|
+
width: min(420px, calc(100vw - 32px));
|
|
2122
|
+
max-width: calc(100vw - 32px);
|
|
2123
|
+
max-height: min(70vh, 560px);
|
|
2124
|
+
overflow-y: auto;
|
|
2125
|
+
/* Transient popover: must sit above the annotation panel (45). */
|
|
2126
|
+
z-index: 70;
|
|
2127
|
+
padding: 12px;
|
|
2128
|
+
border: 1px solid var(--border);
|
|
2129
|
+
border-radius: 8px;
|
|
2130
|
+
background: var(--bg);
|
|
2131
|
+
box-shadow: var(--shadow);
|
|
2132
|
+
}
|
|
2133
|
+
#quick-help-popover[hidden] { display: none; }
|
|
2134
|
+
.quick-help-head {
|
|
2135
|
+
display: flex;
|
|
2136
|
+
align-items: center;
|
|
2137
|
+
justify-content: space-between;
|
|
2138
|
+
gap: 12px;
|
|
2139
|
+
margin-bottom: 10px;
|
|
2140
|
+
}
|
|
2141
|
+
#quick-help-close {
|
|
2142
|
+
border: 0;
|
|
2143
|
+
background: transparent;
|
|
2144
|
+
color: var(--fg-muted);
|
|
2145
|
+
cursor: pointer;
|
|
2146
|
+
font-size: 18px;
|
|
2147
|
+
line-height: 20px;
|
|
2148
|
+
}
|
|
2149
|
+
#quick-help-popover .gdp-help-group {
|
|
2150
|
+
margin: 0 0 14px;
|
|
2151
|
+
}
|
|
2152
|
+
#quick-help-popover .gdp-help-group h3 {
|
|
2153
|
+
margin: 0 0 6px;
|
|
2154
|
+
font-size: 13px;
|
|
2155
|
+
}
|
|
2156
|
+
#quick-help-popover .gdp-help-group th {
|
|
2157
|
+
width: auto;
|
|
2158
|
+
white-space: nowrap;
|
|
2159
|
+
}
|
|
2160
|
+
.quick-help-foot {
|
|
2161
|
+
position: sticky;
|
|
2162
|
+
bottom: 0;
|
|
2163
|
+
z-index: 1;
|
|
2164
|
+
margin-top: 4px;
|
|
2165
|
+
padding-top: 10px;
|
|
2166
|
+
border-top: 1px solid var(--border);
|
|
2167
|
+
background: var(--bg);
|
|
2168
|
+
}
|
|
2169
|
+
.quick-help-foot a {
|
|
2170
|
+
color: var(--accent);
|
|
2171
|
+
font-size: 12px;
|
|
2172
|
+
text-decoration: none;
|
|
2173
|
+
}
|
|
2174
|
+
.quick-help-foot a:hover {
|
|
2175
|
+
text-decoration: underline;
|
|
2176
|
+
}
|
|
2177
|
+
|
|
1929
2178
|
body.gdp-help-page #topbar,
|
|
1930
2179
|
body.gdp-help-page #sidebar,
|
|
1931
2180
|
body.gdp-help-page #sidebar-resizer {
|
|
@@ -2224,7 +2473,7 @@ body.gdp-help-page #content {
|
|
|
2224
2473
|
|
|
2225
2474
|
#filelist.tree .tree-file {
|
|
2226
2475
|
display: grid;
|
|
2227
|
-
grid-template-columns: 16px 16px minmax(0, 1fr) auto;
|
|
2476
|
+
grid-template-columns: 16px 16px minmax(0, 1fr) auto auto;
|
|
2228
2477
|
align-items: center;
|
|
2229
2478
|
gap: 8px;
|
|
2230
2479
|
padding: var(--sidebar-row-y) 12px var(--sidebar-row-y) var(--lvl-pad, 12px);
|
|
@@ -2301,7 +2550,7 @@ body.gdp-help-page #content {
|
|
|
2301
2550
|
#filelist { list-style: none; margin: 0; padding: 6px 0 0; }
|
|
2302
2551
|
#filelist li {
|
|
2303
2552
|
display: grid;
|
|
2304
|
-
grid-template-columns: 16px 1fr auto;
|
|
2553
|
+
grid-template-columns: 16px 1fr auto auto;
|
|
2305
2554
|
align-items: center;
|
|
2306
2555
|
gap: 8px;
|
|
2307
2556
|
padding: calc(var(--sidebar-row-y) + 2px) 14px calc(var(--sidebar-row-y) + 2px) 12px;
|
|
@@ -2366,6 +2615,38 @@ body.gdp-help-page #content {
|
|
|
2366
2615
|
[data-theme="dark"] .badge.D { background: rgba(248,81,73,0.20); color: var(--danger); }
|
|
2367
2616
|
[data-theme="dark"] .badge.R { background: rgba(163,113,247,0.20); color: var(--done); }
|
|
2368
2617
|
|
|
2618
|
+
/* Sidebar row marker for files worth a second look before diving in:
|
|
2619
|
+
heavy diffs, binary/media files, or Git commit entries. Same semantics as
|
|
2620
|
+
the diff card header's .size-tag, sized down for dense file list rows. */
|
|
2621
|
+
.kind-tag {
|
|
2622
|
+
width: 14px; height: 14px;
|
|
2623
|
+
display: inline-flex;
|
|
2624
|
+
align-items: center;
|
|
2625
|
+
justify-content: center;
|
|
2626
|
+
border-radius: 3px;
|
|
2627
|
+
font-size: 9px;
|
|
2628
|
+
font-weight: 700;
|
|
2629
|
+
letter-spacing: 0;
|
|
2630
|
+
flex-shrink: 0;
|
|
2631
|
+
}
|
|
2632
|
+
.kind-tag.heavy { background: #fff8c5; color: var(--attn); }
|
|
2633
|
+
.kind-tag.binary { background: #ddf4ff; color: var(--accent-emph); }
|
|
2634
|
+
.kind-tag.submodule,
|
|
2635
|
+
.kind-tag.gitlink {
|
|
2636
|
+
width: auto;
|
|
2637
|
+
min-width: 22px;
|
|
2638
|
+
padding: 0 4px;
|
|
2639
|
+
background: #ddf4ff;
|
|
2640
|
+
color: var(--accent-emph);
|
|
2641
|
+
}
|
|
2642
|
+
[data-theme="dark"] .kind-tag.heavy { background: rgba(210,153,34,0.15); color: var(--attn); }
|
|
2643
|
+
[data-theme="dark"] .kind-tag.binary { background: rgba(56,139,253,0.15); color: var(--accent-emph); }
|
|
2644
|
+
[data-theme="dark"] .kind-tag.submodule,
|
|
2645
|
+
[data-theme="dark"] .kind-tag.gitlink {
|
|
2646
|
+
background: rgba(56,139,253,0.15);
|
|
2647
|
+
color: var(--accent-emph);
|
|
2648
|
+
}
|
|
2649
|
+
|
|
2369
2650
|
/* ===== Main content area ===== */
|
|
2370
2651
|
#content {
|
|
2371
2652
|
margin-left: var(--sidebar-w);
|
|
@@ -2388,8 +2669,83 @@ body:not(.gdp-file-detail-page):not(.gdp-history-page) #diff::after {
|
|
|
2388
2669
|
display: flex; flex-direction: column; align-items: center; justify-content: center;
|
|
2389
2670
|
padding: 80px 16px; color: var(--fg-muted); text-align: center;
|
|
2390
2671
|
}
|
|
2391
|
-
.empty .
|
|
2672
|
+
.empty .empty-icon {
|
|
2673
|
+
display: inline-flex;
|
|
2674
|
+
align-items: center;
|
|
2675
|
+
justify-content: center;
|
|
2676
|
+
width: 44px;
|
|
2677
|
+
height: 44px;
|
|
2678
|
+
margin-bottom: 10px;
|
|
2679
|
+
border: 1px solid var(--border);
|
|
2680
|
+
border-radius: 8px;
|
|
2681
|
+
background: var(--bg-soft);
|
|
2682
|
+
color: var(--fg-muted);
|
|
2683
|
+
}
|
|
2684
|
+
.empty .empty-icon .octicon {
|
|
2685
|
+
width: 22px;
|
|
2686
|
+
height: 22px;
|
|
2687
|
+
}
|
|
2392
2688
|
.empty h2 { color: var(--fg); margin: 0 0 4px; font-size: 18px; font-weight: 600; }
|
|
2689
|
+
.empty.empty-with-actions p {
|
|
2690
|
+
max-width: 440px;
|
|
2691
|
+
margin: 0;
|
|
2692
|
+
line-height: 1.5;
|
|
2693
|
+
}
|
|
2694
|
+
.empty-actions {
|
|
2695
|
+
display: flex;
|
|
2696
|
+
flex-wrap: wrap;
|
|
2697
|
+
justify-content: center;
|
|
2698
|
+
gap: 8px;
|
|
2699
|
+
margin-top: 16px;
|
|
2700
|
+
}
|
|
2701
|
+
.empty-actions[hidden] { display: none; }
|
|
2702
|
+
.empty-action {
|
|
2703
|
+
min-height: 34px;
|
|
2704
|
+
display: inline-flex;
|
|
2705
|
+
align-items: center;
|
|
2706
|
+
justify-content: center;
|
|
2707
|
+
gap: 6px;
|
|
2708
|
+
padding: 0 12px;
|
|
2709
|
+
border: 1px solid var(--border);
|
|
2710
|
+
border-radius: 6px;
|
|
2711
|
+
background: var(--bg);
|
|
2712
|
+
color: var(--fg);
|
|
2713
|
+
font: inherit;
|
|
2714
|
+
font-size: 13px;
|
|
2715
|
+
line-height: 1;
|
|
2716
|
+
text-decoration: none;
|
|
2717
|
+
cursor: pointer;
|
|
2718
|
+
box-shadow: var(--shadow-sm);
|
|
2719
|
+
}
|
|
2720
|
+
.empty-action:hover {
|
|
2721
|
+
border-color: var(--border-strong);
|
|
2722
|
+
background: var(--bg-soft);
|
|
2723
|
+
}
|
|
2724
|
+
.empty-action:focus-visible {
|
|
2725
|
+
outline: 2px solid var(--accent);
|
|
2726
|
+
outline-offset: 2px;
|
|
2727
|
+
}
|
|
2728
|
+
.empty-action-primary {
|
|
2729
|
+
border-color: var(--accent);
|
|
2730
|
+
background: var(--accent);
|
|
2731
|
+
color: var(--fg-onemphasis);
|
|
2732
|
+
}
|
|
2733
|
+
.empty-action-primary:hover {
|
|
2734
|
+
border-color: var(--accent-emph);
|
|
2735
|
+
background: var(--accent-emph);
|
|
2736
|
+
}
|
|
2737
|
+
.empty-action-icon {
|
|
2738
|
+
display: inline-flex;
|
|
2739
|
+
width: 16px;
|
|
2740
|
+
height: 16px;
|
|
2741
|
+
}
|
|
2742
|
+
.empty-action-icon .octicon {
|
|
2743
|
+
width: 16px;
|
|
2744
|
+
height: 16px;
|
|
2745
|
+
}
|
|
2746
|
+
.empty-action.spinning .empty-action-icon {
|
|
2747
|
+
animation: gdp-spin 0.7s linear infinite;
|
|
2748
|
+
}
|
|
2393
2749
|
.empty.hidden { display: none; }
|
|
2394
2750
|
|
|
2395
2751
|
/* ===== diff2html overrides ===== */
|
|
@@ -4024,6 +4380,11 @@ body.gdp-file-detail-page.gdp-repo-blob-page .sb-filter-wrap::after {
|
|
|
4024
4380
|
left: 22px;
|
|
4025
4381
|
top: 27px;
|
|
4026
4382
|
}
|
|
4383
|
+
body.gdp-repo-page .sb-filter-clear,
|
|
4384
|
+
body.gdp-file-detail-page.gdp-repo-blob-page .sb-filter-clear {
|
|
4385
|
+
right: 7px;
|
|
4386
|
+
top: 22px;
|
|
4387
|
+
}
|
|
4027
4388
|
body.gdp-file-detail-page {
|
|
4028
4389
|
--chrome-h: var(--global-header-h);
|
|
4029
4390
|
}
|
|
@@ -4209,6 +4570,32 @@ body.gdp-file-detail-page #empty {
|
|
|
4209
4570
|
font-size: 12px;
|
|
4210
4571
|
white-space: nowrap;
|
|
4211
4572
|
}
|
|
4573
|
+
|
|
4574
|
+
/* commit 型で非 browsable (submodule / 非worktree ref) な行。フォルダ/ファイルと
|
|
4575
|
+
混同されないよう、通常行と別の cursor / アイコン色 / meta chip で区別する。 */
|
|
4576
|
+
.gdp-repo-row-gitlink {
|
|
4577
|
+
cursor: default;
|
|
4578
|
+
}
|
|
4579
|
+
.gdp-repo-row-gitlink:hover {
|
|
4580
|
+
background: var(--bg);
|
|
4581
|
+
}
|
|
4582
|
+
.gdp-repo-row .d2h-icon-wrapper.gdp-repo-row-gitlink-icon {
|
|
4583
|
+
color: var(--attn);
|
|
4584
|
+
background: color-mix(in srgb, var(--attn) 12%, transparent);
|
|
4585
|
+
border-radius: 4px;
|
|
4586
|
+
}
|
|
4587
|
+
.gdp-repo-row .meta.gdp-repo-row-gitlink-badge {
|
|
4588
|
+
display: inline-flex;
|
|
4589
|
+
align-items: center;
|
|
4590
|
+
width: fit-content;
|
|
4591
|
+
color: var(--attn);
|
|
4592
|
+
background: color-mix(in srgb, var(--attn) 10%, transparent);
|
|
4593
|
+
border: 1px solid color-mix(in srgb, var(--attn) 35%, var(--border));
|
|
4594
|
+
border-radius: 999px;
|
|
4595
|
+
padding: 2px 8px;
|
|
4596
|
+
font-size: 11px;
|
|
4597
|
+
line-height: 1.4;
|
|
4598
|
+
}
|
|
4212
4599
|
.gdp-context-menu {
|
|
4213
4600
|
position: fixed;
|
|
4214
4601
|
z-index: 1000;
|
|
@@ -4625,6 +5012,50 @@ body.gdp-file-detail-page #empty {
|
|
|
4625
5012
|
}
|
|
4626
5013
|
#content { margin-left: 0; max-width: none; padding-top: calc(var(--chrome-h) + 240px); }
|
|
4627
5014
|
.controls input[type="search"] { width: 130px; }
|
|
5015
|
+
.app-menu {
|
|
5016
|
+
flex-shrink: 1;
|
|
5017
|
+
min-width: 0;
|
|
5018
|
+
overflow-x: auto;
|
|
5019
|
+
scrollbar-width: thin;
|
|
5020
|
+
}
|
|
5021
|
+
.ai-context-label { display: none; }
|
|
5022
|
+
.ai-context-action { padding: 0; }
|
|
5023
|
+
#status .status-label { display: none; }
|
|
5024
|
+
#status { padding: 0 6px 0 8px; }
|
|
5025
|
+
#status::before { margin-right: 0; }
|
|
5026
|
+
#meta { flex-wrap: wrap; row-gap: 4px; }
|
|
5027
|
+
.d2h-file-header,
|
|
5028
|
+
.d2h-file-header.d2h-sticky-header {
|
|
5029
|
+
height: auto !important;
|
|
5030
|
+
min-height: 82px;
|
|
5031
|
+
flex-wrap: wrap;
|
|
5032
|
+
align-items: center;
|
|
5033
|
+
align-content: center;
|
|
5034
|
+
row-gap: 6px;
|
|
5035
|
+
}
|
|
5036
|
+
.d2h-file-header .d2h-file-name-wrapper {
|
|
5037
|
+
flex: 1 1 calc(100% - 44px);
|
|
5038
|
+
min-width: 160px;
|
|
5039
|
+
order: 1;
|
|
5040
|
+
}
|
|
5041
|
+
.d2h-file-header > .gdp-file-toggle {
|
|
5042
|
+
order: 0;
|
|
5043
|
+
}
|
|
5044
|
+
.d2h-file-header > .d2h-file-collapse {
|
|
5045
|
+
order: 2;
|
|
5046
|
+
margin-left: 0;
|
|
5047
|
+
}
|
|
5048
|
+
.d2h-file-header > .gdp-stat-text {
|
|
5049
|
+
order: 3;
|
|
5050
|
+
margin-left: 0;
|
|
5051
|
+
}
|
|
5052
|
+
.d2h-file-header > .gdp-stat-squares {
|
|
5053
|
+
order: 4;
|
|
5054
|
+
}
|
|
5055
|
+
.d2h-file-header > .gdp-view-file {
|
|
5056
|
+
order: 5;
|
|
5057
|
+
margin-left: auto;
|
|
5058
|
+
}
|
|
4628
5059
|
body.gdp-history-page #history-panel {
|
|
4629
5060
|
position: static;
|
|
4630
5061
|
width: auto;
|
|
@@ -4641,6 +5072,76 @@ body.gdp-file-detail-page #empty {
|
|
|
4641
5072
|
}
|
|
4642
5073
|
}
|
|
4643
5074
|
|
|
5075
|
+
@media (max-width: 640px) {
|
|
5076
|
+
body {
|
|
5077
|
+
--topbar-h: 112px;
|
|
5078
|
+
}
|
|
5079
|
+
#global-header {
|
|
5080
|
+
gap: 8px;
|
|
5081
|
+
padding: 0 10px;
|
|
5082
|
+
}
|
|
5083
|
+
#topbar {
|
|
5084
|
+
align-items: flex-start;
|
|
5085
|
+
padding-top: 8px;
|
|
5086
|
+
padding-bottom: 8px;
|
|
5087
|
+
}
|
|
5088
|
+
.brand {
|
|
5089
|
+
flex: 0 0 auto;
|
|
5090
|
+
max-width: 28px;
|
|
5091
|
+
}
|
|
5092
|
+
.brand .title,
|
|
5093
|
+
#project-branch,
|
|
5094
|
+
.global-actions .global-help-link,
|
|
5095
|
+
.product-label {
|
|
5096
|
+
display: none;
|
|
5097
|
+
}
|
|
5098
|
+
.app-menu {
|
|
5099
|
+
flex: 1 1 0;
|
|
5100
|
+
min-width: 0;
|
|
5101
|
+
gap: 4px;
|
|
5102
|
+
padding-left: 8px;
|
|
5103
|
+
overflow-x: auto;
|
|
5104
|
+
scrollbar-width: none;
|
|
5105
|
+
}
|
|
5106
|
+
.app-menu::-webkit-scrollbar {
|
|
5107
|
+
display: none;
|
|
5108
|
+
}
|
|
5109
|
+
.app-menu-item {
|
|
5110
|
+
height: 28px;
|
|
5111
|
+
padding: 0 7px;
|
|
5112
|
+
font-size: 13px;
|
|
5113
|
+
}
|
|
5114
|
+
.global-actions {
|
|
5115
|
+
flex: 0 0 auto;
|
|
5116
|
+
margin-left: 0;
|
|
5117
|
+
gap: 4px;
|
|
5118
|
+
}
|
|
5119
|
+
#annotations-toggle,
|
|
5120
|
+
#viewer-settings,
|
|
5121
|
+
#doctor-btn,
|
|
5122
|
+
#cancel-requests,
|
|
5123
|
+
#theme {
|
|
5124
|
+
width: 24px;
|
|
5125
|
+
height: 24px;
|
|
5126
|
+
}
|
|
5127
|
+
#auto-update {
|
|
5128
|
+
padding: 0 6px;
|
|
5129
|
+
}
|
|
5130
|
+
}
|
|
5131
|
+
|
|
5132
|
+
@media (max-width: 360px) {
|
|
5133
|
+
.d2h-file-header .d2h-tag {
|
|
5134
|
+
display: none;
|
|
5135
|
+
}
|
|
5136
|
+
.d2h-file-header .d2h-file-name {
|
|
5137
|
+
flex: 1 1 auto;
|
|
5138
|
+
min-width: 72px;
|
|
5139
|
+
}
|
|
5140
|
+
.d2h-file-header .d2h-file-name-wrapper {
|
|
5141
|
+
min-width: 0;
|
|
5142
|
+
}
|
|
5143
|
+
}
|
|
5144
|
+
|
|
4644
5145
|
/* ===== File shell (placeholder + loaded card) ===== */
|
|
4645
5146
|
.gdp-file-shell {
|
|
4646
5147
|
background: var(--bg);
|
|
@@ -5263,10 +5764,29 @@ html[data-theme="dark"] .db-session-log-sql span[style] {
|
|
|
5263
5764
|
font-size: 12px;
|
|
5264
5765
|
cursor: pointer;
|
|
5265
5766
|
font-family: inherit;
|
|
5767
|
+
display: inline-flex;
|
|
5768
|
+
align-items: center;
|
|
5769
|
+
gap: 4px;
|
|
5266
5770
|
}
|
|
5267
5771
|
.db-query-history-action:hover {
|
|
5268
5772
|
background: var(--bg-mute);
|
|
5269
5773
|
}
|
|
5774
|
+
.db-query-history-action[disabled] {
|
|
5775
|
+
cursor: default;
|
|
5776
|
+
opacity: 0.7;
|
|
5777
|
+
}
|
|
5778
|
+
.db-query-history-action svg {
|
|
5779
|
+
width: 14px;
|
|
5780
|
+
height: 14px;
|
|
5781
|
+
flex: 0 0 auto;
|
|
5782
|
+
}
|
|
5783
|
+
.db-query-history-refresh-result {
|
|
5784
|
+
align-self: center;
|
|
5785
|
+
line-height: 1;
|
|
5786
|
+
}
|
|
5787
|
+
.db-query-history-refresh.spinning svg {
|
|
5788
|
+
animation: gdp-spin 0.7s linear infinite;
|
|
5789
|
+
}
|
|
5270
5790
|
.db-query-history-danger {
|
|
5271
5791
|
color: var(--danger, #d32f2f);
|
|
5272
5792
|
}
|
|
@@ -5295,6 +5815,22 @@ html[data-theme="dark"] .db-session-log-sql span[style] {
|
|
|
5295
5815
|
padding: 40px 16px;
|
|
5296
5816
|
font-size: 13px;
|
|
5297
5817
|
}
|
|
5818
|
+
.db-query-history-detail-meta {
|
|
5819
|
+
display: flex;
|
|
5820
|
+
align-items: center;
|
|
5821
|
+
flex-wrap: wrap;
|
|
5822
|
+
gap: 8px;
|
|
5823
|
+
padding: 6px 8px;
|
|
5824
|
+
margin-bottom: 10px;
|
|
5825
|
+
border: 1px solid var(--border);
|
|
5826
|
+
border-radius: 4px;
|
|
5827
|
+
background: var(--bg-soft);
|
|
5828
|
+
color: var(--fg-muted);
|
|
5829
|
+
font-size: 11px;
|
|
5830
|
+
}
|
|
5831
|
+
.db-query-history-detail-meta .db-query-history-by {
|
|
5832
|
+
color: var(--fg);
|
|
5833
|
+
}
|
|
5298
5834
|
.db-query-history-detail-actions {
|
|
5299
5835
|
display: flex;
|
|
5300
5836
|
gap: 8px;
|
|
@@ -5429,10 +5965,15 @@ html[data-theme="dark"] .db-session-log-sql span[style] {
|
|
|
5429
5965
|
border-radius: 6px;
|
|
5430
5966
|
background: var(--bg-soft);
|
|
5431
5967
|
color: var(--fg-muted);
|
|
5432
|
-
|
|
5433
|
-
|
|
5968
|
+
display: inline-flex;
|
|
5969
|
+
align-items: center;
|
|
5970
|
+
justify-content: center;
|
|
5971
|
+
width: 30px;
|
|
5972
|
+
height: 30px;
|
|
5973
|
+
padding: 0;
|
|
5434
5974
|
cursor: pointer;
|
|
5435
5975
|
line-height: 1;
|
|
5976
|
+
flex: 0 0 auto;
|
|
5436
5977
|
}
|
|
5437
5978
|
#annotation-player-toggle:hover,
|
|
5438
5979
|
#annotation-player-prev:hover,
|
|
@@ -5442,6 +5983,11 @@ html[data-theme="dark"] .db-session-log-sql span[style] {
|
|
|
5442
5983
|
background: var(--bg-mute);
|
|
5443
5984
|
color: var(--fg);
|
|
5444
5985
|
}
|
|
5986
|
+
#annotation-player .octicon {
|
|
5987
|
+
display: block;
|
|
5988
|
+
width: 16px;
|
|
5989
|
+
height: 16px;
|
|
5990
|
+
}
|
|
5445
5991
|
#annotation-player-progress {
|
|
5446
5992
|
margin-left: auto;
|
|
5447
5993
|
opacity: .7;
|
|
@@ -5677,8 +6223,6 @@ html[data-theme="dark"] .db-session-log-sql span[style] {
|
|
|
5677
6223
|
color: var(--fg-subtle);
|
|
5678
6224
|
white-space: nowrap;
|
|
5679
6225
|
}
|
|
5680
|
-
#annotation-detail-prev,
|
|
5681
|
-
#annotation-detail-next,
|
|
5682
6226
|
#annotation-detail-close {
|
|
5683
6227
|
border: 1px solid var(--border);
|
|
5684
6228
|
border-radius: 6px;
|
|
@@ -6187,6 +6731,51 @@ body[data-sidebar-font-size="xlarge"] .db-container {
|
|
|
6187
6731
|
padding: 8px;
|
|
6188
6732
|
border-bottom: 1px solid var(--border);
|
|
6189
6733
|
}
|
|
6734
|
+
.db-select-row {
|
|
6735
|
+
display: flex;
|
|
6736
|
+
align-items: center;
|
|
6737
|
+
gap: 6px;
|
|
6738
|
+
min-width: 0;
|
|
6739
|
+
}
|
|
6740
|
+
.db-select-row .db-file-select {
|
|
6741
|
+
flex: 1 1 auto;
|
|
6742
|
+
min-width: 0;
|
|
6743
|
+
}
|
|
6744
|
+
.db-refresh-btn {
|
|
6745
|
+
flex: 0 0 auto;
|
|
6746
|
+
width: auto;
|
|
6747
|
+
min-width: 30px;
|
|
6748
|
+
padding: 0 7px;
|
|
6749
|
+
gap: 4px;
|
|
6750
|
+
border: 1px solid var(--border);
|
|
6751
|
+
background: var(--bg);
|
|
6752
|
+
font-weight: 500;
|
|
6753
|
+
}
|
|
6754
|
+
.db-refresh-btn[disabled] {
|
|
6755
|
+
cursor: default;
|
|
6756
|
+
opacity: 0.7;
|
|
6757
|
+
}
|
|
6758
|
+
.db-refresh-btn.spinning svg {
|
|
6759
|
+
animation: gdp-spin 0.7s linear infinite;
|
|
6760
|
+
}
|
|
6761
|
+
.db-refresh-label {
|
|
6762
|
+
line-height: 1;
|
|
6763
|
+
white-space: nowrap;
|
|
6764
|
+
}
|
|
6765
|
+
.db-refresh-result {
|
|
6766
|
+
flex: 0 0 auto;
|
|
6767
|
+
color: var(--fg-subtle);
|
|
6768
|
+
font-size: var(--db-font-xs);
|
|
6769
|
+
white-space: nowrap;
|
|
6770
|
+
}
|
|
6771
|
+
.db-refresh-result.changed {
|
|
6772
|
+
color: var(--accent);
|
|
6773
|
+
font-weight: 600;
|
|
6774
|
+
}
|
|
6775
|
+
.db-grid-refresh-result {
|
|
6776
|
+
align-self: center;
|
|
6777
|
+
line-height: 1;
|
|
6778
|
+
}
|
|
6190
6779
|
|
|
6191
6780
|
/* explorer (redis/es/s3) の第1階層セレクタ (Databases / Indices / Bucket+View)
|
|
6192
6781
|
を抱える sidebar 内 host。kind が SQL のときは中身が全て hidden になるため
|
|
@@ -6240,11 +6829,12 @@ body[data-sidebar-font-size="xlarge"] .db-container {
|
|
|
6240
6829
|
}
|
|
6241
6830
|
|
|
6242
6831
|
.db-table-filter-wrap {
|
|
6832
|
+
position: relative;
|
|
6243
6833
|
padding: 4px 8px;
|
|
6244
6834
|
}
|
|
6245
6835
|
.db-table-filter {
|
|
6246
6836
|
width: 100%;
|
|
6247
|
-
padding: 4px
|
|
6837
|
+
padding: 4px 34px 4px 24px;
|
|
6248
6838
|
border: 1px solid var(--border);
|
|
6249
6839
|
border-radius: 6px;
|
|
6250
6840
|
background: var(--bg);
|
|
@@ -6260,6 +6850,22 @@ body[data-sidebar-font-size="xlarge"] .db-container {
|
|
|
6260
6850
|
outline-offset: -1px;
|
|
6261
6851
|
border-color: var(--accent);
|
|
6262
6852
|
}
|
|
6853
|
+
.db-table-filter-clear {
|
|
6854
|
+
right: 12px;
|
|
6855
|
+
top: 50%;
|
|
6856
|
+
height: 20px;
|
|
6857
|
+
min-width: 24px;
|
|
6858
|
+
padding: 0 5px;
|
|
6859
|
+
border-radius: 5px;
|
|
6860
|
+
display: inline-flex;
|
|
6861
|
+
align-items: center;
|
|
6862
|
+
justify-content: center;
|
|
6863
|
+
}
|
|
6864
|
+
.db-table-filter-clear svg {
|
|
6865
|
+
width: 12px;
|
|
6866
|
+
height: 12px;
|
|
6867
|
+
display: block;
|
|
6868
|
+
}
|
|
6263
6869
|
.db-table-list {
|
|
6264
6870
|
flex: 1;
|
|
6265
6871
|
overflow-y: auto;
|
|
@@ -6272,6 +6878,9 @@ body[data-sidebar-font-size="xlarge"] .db-container {
|
|
|
6272
6878
|
text-align: center;
|
|
6273
6879
|
font-size: var(--db-font-md);
|
|
6274
6880
|
}
|
|
6881
|
+
.db-table-list-empty-actions {
|
|
6882
|
+
margin-top: 10px;
|
|
6883
|
+
}
|
|
6275
6884
|
|
|
6276
6885
|
.db-table-group-header {
|
|
6277
6886
|
padding: 6px 12px 2px;
|
|
@@ -6467,6 +7076,18 @@ body[data-sidebar-font-size="xlarge"] .db-container {
|
|
|
6467
7076
|
overflow: hidden;
|
|
6468
7077
|
background: var(--bg);
|
|
6469
7078
|
}
|
|
7079
|
+
.db-no-datastores {
|
|
7080
|
+
flex: 1;
|
|
7081
|
+
min-height: 0;
|
|
7082
|
+
}
|
|
7083
|
+
.db-no-datastores[hidden] {
|
|
7084
|
+
display: none !important;
|
|
7085
|
+
}
|
|
7086
|
+
.db-no-datastores-actions {
|
|
7087
|
+
display: flex;
|
|
7088
|
+
justify-content: center;
|
|
7089
|
+
margin-top: 4px;
|
|
7090
|
+
}
|
|
6470
7091
|
|
|
6471
7092
|
/* ---------- Tab bar ---------- */
|
|
6472
7093
|
.db-tab-bar {
|
|
@@ -6998,6 +7619,10 @@ html[data-theme="dark"] .db-query-highlight span[style] {
|
|
|
6998
7619
|
}
|
|
6999
7620
|
|
|
7000
7621
|
.db-schema-header {
|
|
7622
|
+
display: flex;
|
|
7623
|
+
align-items: center;
|
|
7624
|
+
justify-content: space-between;
|
|
7625
|
+
gap: 8px;
|
|
7001
7626
|
font-size: 14px;
|
|
7002
7627
|
font-weight: 600;
|
|
7003
7628
|
color: var(--fg);
|
|
@@ -7008,6 +7633,15 @@ html[data-theme="dark"] .db-query-highlight span[style] {
|
|
|
7008
7633
|
.db-schema-header:first-child {
|
|
7009
7634
|
margin-top: 0;
|
|
7010
7635
|
}
|
|
7636
|
+
.db-schema-header-title {
|
|
7637
|
+
min-width: 0;
|
|
7638
|
+
overflow: hidden;
|
|
7639
|
+
text-overflow: ellipsis;
|
|
7640
|
+
white-space: nowrap;
|
|
7641
|
+
}
|
|
7642
|
+
.db-schema-refresh {
|
|
7643
|
+
flex: 0 0 auto;
|
|
7644
|
+
}
|
|
7011
7645
|
|
|
7012
7646
|
.db-schema-table {
|
|
7013
7647
|
border-collapse: collapse;
|
|
@@ -7078,8 +7712,18 @@ html[data-theme="dark"] .db-schema-table tr.pk-row {
|
|
|
7078
7712
|
}
|
|
7079
7713
|
|
|
7080
7714
|
.db-grid-filter-icon {
|
|
7081
|
-
font-size: var(--db-font-md);
|
|
7082
7715
|
flex-shrink: 0;
|
|
7716
|
+
display: inline-flex;
|
|
7717
|
+
align-items: center;
|
|
7718
|
+
justify-content: center;
|
|
7719
|
+
width: 16px;
|
|
7720
|
+
height: 16px;
|
|
7721
|
+
color: var(--fg-muted);
|
|
7722
|
+
}
|
|
7723
|
+
.db-grid-filter-icon svg {
|
|
7724
|
+
display: block;
|
|
7725
|
+
width: 16px;
|
|
7726
|
+
height: 16px;
|
|
7083
7727
|
}
|
|
7084
7728
|
|
|
7085
7729
|
.db-grid-filter-input {
|
|
@@ -7099,18 +7743,84 @@ html[data-theme="dark"] .db-schema-table tr.pk-row {
|
|
|
7099
7743
|
border-color: var(--accent);
|
|
7100
7744
|
}
|
|
7101
7745
|
|
|
7746
|
+
.db-grid-filter-actions {
|
|
7747
|
+
display: flex;
|
|
7748
|
+
align-items: center;
|
|
7749
|
+
gap: 6px;
|
|
7750
|
+
flex: 0 0 auto;
|
|
7751
|
+
margin-left: auto;
|
|
7752
|
+
}
|
|
7753
|
+
|
|
7102
7754
|
.db-grid-filter-clear {
|
|
7103
|
-
|
|
7104
|
-
|
|
7755
|
+
flex: 0 0 auto;
|
|
7756
|
+
height: 24px;
|
|
7757
|
+
border-color: color-mix(in srgb, var(--danger) 34%, var(--border));
|
|
7758
|
+
background: color-mix(in srgb, var(--danger) 8%, var(--bg));
|
|
7105
7759
|
color: var(--fg-muted);
|
|
7106
|
-
font-size:
|
|
7107
|
-
|
|
7108
|
-
padding: 0 4px;
|
|
7109
|
-
line-height: 1;
|
|
7760
|
+
font-size: var(--db-font-sm);
|
|
7761
|
+
padding: 0 8px;
|
|
7110
7762
|
}
|
|
7111
7763
|
.db-grid-filter-clear:hover {
|
|
7764
|
+
background: color-mix(in srgb, var(--danger) 14%, var(--bg));
|
|
7112
7765
|
color: var(--danger);
|
|
7113
7766
|
}
|
|
7767
|
+
.db-grid-refresh {
|
|
7768
|
+
width: auto;
|
|
7769
|
+
min-width: 30px;
|
|
7770
|
+
height: 24px;
|
|
7771
|
+
padding: 0 8px;
|
|
7772
|
+
border: 1px solid var(--border);
|
|
7773
|
+
border-radius: 4px;
|
|
7774
|
+
background: var(--bg);
|
|
7775
|
+
color: var(--fg-muted);
|
|
7776
|
+
cursor: pointer;
|
|
7777
|
+
display: inline-flex;
|
|
7778
|
+
align-items: center;
|
|
7779
|
+
justify-content: center;
|
|
7780
|
+
gap: 4px;
|
|
7781
|
+
font-size: var(--db-font-base);
|
|
7782
|
+
font-weight: 500;
|
|
7783
|
+
}
|
|
7784
|
+
.db-grid-refresh:hover {
|
|
7785
|
+
color: var(--fg);
|
|
7786
|
+
border-color: var(--accent);
|
|
7787
|
+
background: var(--bg);
|
|
7788
|
+
}
|
|
7789
|
+
.db-grid-refresh.has-filters {
|
|
7790
|
+
border-color: color-mix(in srgb, var(--accent) 56%, var(--border));
|
|
7791
|
+
background: color-mix(in srgb, var(--accent) 10%, var(--bg));
|
|
7792
|
+
color: var(--fg);
|
|
7793
|
+
}
|
|
7794
|
+
.db-grid-refresh.has-filters:hover {
|
|
7795
|
+
background: color-mix(in srgb, var(--accent) 16%, var(--bg));
|
|
7796
|
+
}
|
|
7797
|
+
.db-grid-refresh svg {
|
|
7798
|
+
width: 16px;
|
|
7799
|
+
height: 16px;
|
|
7800
|
+
display: block;
|
|
7801
|
+
flex: 0 0 auto;
|
|
7802
|
+
}
|
|
7803
|
+
.db-grid-refresh-label {
|
|
7804
|
+
line-height: 1;
|
|
7805
|
+
white-space: nowrap;
|
|
7806
|
+
}
|
|
7807
|
+
.db-grid-refresh[disabled] {
|
|
7808
|
+
cursor: default;
|
|
7809
|
+
opacity: 0.7;
|
|
7810
|
+
}
|
|
7811
|
+
.db-grid-refresh.spinning svg {
|
|
7812
|
+
animation: gdp-spin 0.7s linear infinite;
|
|
7813
|
+
}
|
|
7814
|
+
|
|
7815
|
+
@media (max-width: 720px) {
|
|
7816
|
+
.db-grid-refresh {
|
|
7817
|
+
width: 30px;
|
|
7818
|
+
padding: 0;
|
|
7819
|
+
}
|
|
7820
|
+
.db-grid-refresh-label {
|
|
7821
|
+
display: none;
|
|
7822
|
+
}
|
|
7823
|
+
}
|
|
7114
7824
|
|
|
7115
7825
|
/* ---------- Data Grid: Column Filter Row ---------- */
|
|
7116
7826
|
.db-grid-filter-row-wrap {
|
|
@@ -7298,10 +8008,19 @@ html[data-theme="dark"] .db-schema-table tr.pk-row {
|
|
|
7298
8008
|
|
|
7299
8009
|
/* ---------- Foreign-key related data ---------- */
|
|
7300
8010
|
.db-grid-header-fk-icon {
|
|
8011
|
+
display: inline-flex;
|
|
8012
|
+
align-items: center;
|
|
8013
|
+
justify-content: center;
|
|
7301
8014
|
margin-left: 4px;
|
|
7302
|
-
|
|
8015
|
+
width: 12px;
|
|
8016
|
+
height: 12px;
|
|
7303
8017
|
opacity: 0.7;
|
|
7304
8018
|
}
|
|
8019
|
+
.db-grid-header-fk-icon svg {
|
|
8020
|
+
display: block;
|
|
8021
|
+
width: 12px;
|
|
8022
|
+
height: 12px;
|
|
8023
|
+
}
|
|
7305
8024
|
|
|
7306
8025
|
.db-grid-cell-fk {
|
|
7307
8026
|
color: var(--accent, var(--link, #2563eb));
|
|
@@ -7354,7 +8073,17 @@ html[data-theme="dark"] .db-schema-table tr.pk-row {
|
|
|
7354
8073
|
|
|
7355
8074
|
.db-related-title {
|
|
7356
8075
|
flex-shrink: 0;
|
|
7357
|
-
|
|
8076
|
+
display: inline-flex;
|
|
8077
|
+
align-items: center;
|
|
8078
|
+
justify-content: center;
|
|
8079
|
+
width: 16px;
|
|
8080
|
+
height: 16px;
|
|
8081
|
+
color: var(--accent);
|
|
8082
|
+
}
|
|
8083
|
+
.db-related-title svg {
|
|
8084
|
+
display: block;
|
|
8085
|
+
width: 16px;
|
|
8086
|
+
height: 16px;
|
|
7358
8087
|
}
|
|
7359
8088
|
|
|
7360
8089
|
.db-related-close {
|
|
@@ -7464,15 +8193,23 @@ html[data-theme="dark"] .db-schema-table tr.pk-row {
|
|
|
7464
8193
|
}
|
|
7465
8194
|
|
|
7466
8195
|
.db-grid-export-toggle {
|
|
8196
|
+
display: inline-flex;
|
|
8197
|
+
align-items: center;
|
|
8198
|
+
justify-content: center;
|
|
8199
|
+
width: 30px;
|
|
8200
|
+
height: 24px;
|
|
7467
8201
|
border: 1px solid var(--border);
|
|
7468
8202
|
border-radius: 4px;
|
|
7469
8203
|
background: var(--bg);
|
|
7470
8204
|
color: var(--fg-muted);
|
|
7471
|
-
|
|
7472
|
-
line-height: 1;
|
|
7473
|
-
padding: 3px 7px;
|
|
8205
|
+
padding: 0;
|
|
7474
8206
|
cursor: pointer;
|
|
7475
8207
|
}
|
|
8208
|
+
.db-grid-export-toggle svg {
|
|
8209
|
+
display: block;
|
|
8210
|
+
width: 16px;
|
|
8211
|
+
height: 16px;
|
|
8212
|
+
}
|
|
7476
8213
|
.db-grid-export-toggle:hover {
|
|
7477
8214
|
color: var(--fg);
|
|
7478
8215
|
border-color: var(--accent);
|
|
@@ -9210,6 +9947,15 @@ body.db-resizing {
|
|
|
9210
9947
|
font-size: var(--db-font-sm);
|
|
9211
9948
|
line-height: 1.5;
|
|
9212
9949
|
}
|
|
9950
|
+
.db-pane-empty-actions {
|
|
9951
|
+
display: flex;
|
|
9952
|
+
flex-wrap: wrap;
|
|
9953
|
+
justify-content: center;
|
|
9954
|
+
gap: 8px;
|
|
9955
|
+
}
|
|
9956
|
+
.db-pane-empty-actions[hidden] {
|
|
9957
|
+
display: none;
|
|
9958
|
+
}
|
|
9213
9959
|
|
|
9214
9960
|
/* ---------- Elasticsearch explorer ---------- */
|
|
9215
9961
|
.es-explorer {
|