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