@youtyan/code-viewer 0.11.2 → 0.12.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.
- package/README.md +14 -1
- package/dist/code-viewer.js +1640 -750
- package/package.json +1 -1
- package/web/app.js +1399 -539
- package/web/style.css +172 -8
package/web/style.css
CHANGED
|
@@ -1381,12 +1381,35 @@ body.gdp-diff-page #repo-target-wrap {
|
|
|
1381
1381
|
background: var(--fg-subtle);
|
|
1382
1382
|
transition: background 0.2s ease, box-shadow 0.2s ease;
|
|
1383
1383
|
}
|
|
1384
|
-
#status.live::before {
|
|
1384
|
+
#status.live::before {
|
|
1385
|
+
background: #2ea043;
|
|
1386
|
+
box-shadow: 0 0 0 3px rgba(46,160,67,0.20);
|
|
1387
|
+
animation: status-live-pulse 1.6s ease-out infinite;
|
|
1388
|
+
}
|
|
1385
1389
|
#status.refreshing::before { background: #d29922; box-shadow: 0 0 0 3px rgba(210,153,34,0.25); }
|
|
1386
1390
|
#status.error::before { background: var(--danger); box-shadow: 0 0 0 3px rgba(207,34,46,0.20); }
|
|
1387
1391
|
#status.live { color: var(--success); }
|
|
1388
1392
|
#status.refreshing { color: var(--attn); }
|
|
1389
1393
|
#status.error { color: var(--danger); }
|
|
1394
|
+
@keyframes status-live-pulse {
|
|
1395
|
+
0% {
|
|
1396
|
+
box-shadow: 0 0 0 0 rgba(46, 160, 67, 0.42);
|
|
1397
|
+
transform: scale(0.92);
|
|
1398
|
+
}
|
|
1399
|
+
55% {
|
|
1400
|
+
box-shadow: 0 0 0 6px rgba(46, 160, 67, 0);
|
|
1401
|
+
transform: scale(1.08);
|
|
1402
|
+
}
|
|
1403
|
+
100% {
|
|
1404
|
+
box-shadow: 0 0 0 0 rgba(46, 160, 67, 0);
|
|
1405
|
+
transform: scale(0.92);
|
|
1406
|
+
}
|
|
1407
|
+
}
|
|
1408
|
+
@media (prefers-reduced-motion: reduce) {
|
|
1409
|
+
#status.live::before {
|
|
1410
|
+
animation: none;
|
|
1411
|
+
}
|
|
1412
|
+
}
|
|
1390
1413
|
|
|
1391
1414
|
/* ===== Top-edge loading bar (indeterminate) ===== */
|
|
1392
1415
|
#load-bar {
|
|
@@ -2283,7 +2306,7 @@ body.gdp-history-resizing * {
|
|
|
2283
2306
|
|
|
2284
2307
|
/* Help ページの設定セクションに置くフォーム。読みやすい行長で止める。 */
|
|
2285
2308
|
.scope-settings {
|
|
2286
|
-
max-width:
|
|
2309
|
+
max-width: 760px;
|
|
2287
2310
|
}
|
|
2288
2311
|
.scope-settings label {
|
|
2289
2312
|
display: block;
|
|
@@ -2356,6 +2379,118 @@ body.gdp-history-resizing * {
|
|
|
2356
2379
|
padding: 8px;
|
|
2357
2380
|
font: 13px/19px ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
|
|
2358
2381
|
}
|
|
2382
|
+
.agent-screen-rules-section {
|
|
2383
|
+
padding-top: 12px;
|
|
2384
|
+
border-top: 1px solid var(--border);
|
|
2385
|
+
}
|
|
2386
|
+
.agent-screen-rules-guide {
|
|
2387
|
+
margin: 8px 0 10px;
|
|
2388
|
+
padding: 8px 10px;
|
|
2389
|
+
border: 1px solid var(--border);
|
|
2390
|
+
border-radius: 6px;
|
|
2391
|
+
background: color-mix(in srgb, var(--bg-soft) 76%, transparent);
|
|
2392
|
+
}
|
|
2393
|
+
.agent-screen-rules-guide summary {
|
|
2394
|
+
color: var(--fg);
|
|
2395
|
+
font-size: 12px;
|
|
2396
|
+
font-weight: 600;
|
|
2397
|
+
cursor: pointer;
|
|
2398
|
+
}
|
|
2399
|
+
.agent-screen-rules-guide .scope-settings-help {
|
|
2400
|
+
margin-top: 6px;
|
|
2401
|
+
}
|
|
2402
|
+
.agent-screen-rules-guide-example {
|
|
2403
|
+
margin: 8px 0 0;
|
|
2404
|
+
padding: 8px;
|
|
2405
|
+
overflow: auto;
|
|
2406
|
+
border: 1px solid var(--border);
|
|
2407
|
+
border-radius: 5px;
|
|
2408
|
+
background: var(--bg);
|
|
2409
|
+
color: var(--fg);
|
|
2410
|
+
font: 12px/18px ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
|
|
2411
|
+
tab-size: 2;
|
|
2412
|
+
}
|
|
2413
|
+
.agent-screen-rules-editor {
|
|
2414
|
+
position: relative;
|
|
2415
|
+
min-height: 420px;
|
|
2416
|
+
overflow: hidden;
|
|
2417
|
+
border: 1px solid var(--border);
|
|
2418
|
+
border-radius: 6px;
|
|
2419
|
+
background: var(--bg-soft);
|
|
2420
|
+
}
|
|
2421
|
+
.agent-screen-rules-editor:focus-within {
|
|
2422
|
+
border-color: var(--accent);
|
|
2423
|
+
box-shadow: 0 0 0 3px var(--accent-muted);
|
|
2424
|
+
}
|
|
2425
|
+
.agent-screen-rules-highlight {
|
|
2426
|
+
position: absolute;
|
|
2427
|
+
inset: 0;
|
|
2428
|
+
margin: 0;
|
|
2429
|
+
padding: 8px;
|
|
2430
|
+
overflow-x: hidden;
|
|
2431
|
+
overflow-y: scroll;
|
|
2432
|
+
scrollbar-gutter: stable;
|
|
2433
|
+
pointer-events: none;
|
|
2434
|
+
background: var(--bg-soft);
|
|
2435
|
+
color: var(--fg);
|
|
2436
|
+
font: 13px/19px ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
|
|
2437
|
+
white-space: pre-wrap;
|
|
2438
|
+
overflow-wrap: break-word;
|
|
2439
|
+
tab-size: 2;
|
|
2440
|
+
}
|
|
2441
|
+
.agent-screen-rules-highlight code {
|
|
2442
|
+
font: inherit;
|
|
2443
|
+
}
|
|
2444
|
+
.agent-screen-rules-highlight code::after {
|
|
2445
|
+
content: "\200b";
|
|
2446
|
+
display: inline-block;
|
|
2447
|
+
height: 19px;
|
|
2448
|
+
}
|
|
2449
|
+
.agent-screen-rules-highlight span[style] {
|
|
2450
|
+
color: var(--shiki-light);
|
|
2451
|
+
}
|
|
2452
|
+
@media (prefers-color-scheme: dark) {
|
|
2453
|
+
.agent-screen-rules-highlight span[style] {
|
|
2454
|
+
color: var(--shiki-dark);
|
|
2455
|
+
}
|
|
2456
|
+
}
|
|
2457
|
+
html[data-theme="light"] .agent-screen-rules-highlight span[style] {
|
|
2458
|
+
color: var(--shiki-light);
|
|
2459
|
+
}
|
|
2460
|
+
html[data-theme="dark"] .agent-screen-rules-highlight span[style] {
|
|
2461
|
+
color: var(--shiki-dark);
|
|
2462
|
+
}
|
|
2463
|
+
#agent-screen-rules {
|
|
2464
|
+
position: relative;
|
|
2465
|
+
z-index: 1;
|
|
2466
|
+
display: block;
|
|
2467
|
+
box-sizing: border-box;
|
|
2468
|
+
width: 100%;
|
|
2469
|
+
min-height: 420px;
|
|
2470
|
+
margin: 0;
|
|
2471
|
+
padding: 8px;
|
|
2472
|
+
overflow-y: scroll;
|
|
2473
|
+
scrollbar-gutter: stable;
|
|
2474
|
+
resize: vertical;
|
|
2475
|
+
border: 0;
|
|
2476
|
+
border-radius: 0;
|
|
2477
|
+
outline: 0;
|
|
2478
|
+
background: transparent;
|
|
2479
|
+
color: transparent;
|
|
2480
|
+
caret-color: var(--fg);
|
|
2481
|
+
font: 13px/19px ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
|
|
2482
|
+
white-space: pre-wrap;
|
|
2483
|
+
overflow-wrap: break-word;
|
|
2484
|
+
tab-size: 2;
|
|
2485
|
+
}
|
|
2486
|
+
#agent-screen-rules::selection {
|
|
2487
|
+
background: var(--accent);
|
|
2488
|
+
color: var(--fg-onemphasis);
|
|
2489
|
+
}
|
|
2490
|
+
#agent-screen-rules:disabled {
|
|
2491
|
+
cursor: wait;
|
|
2492
|
+
opacity: 0.65;
|
|
2493
|
+
}
|
|
2359
2494
|
#scope-omit-source {
|
|
2360
2495
|
margin: 8px 0 0;
|
|
2361
2496
|
color: var(--fg-subtle);
|
|
@@ -2400,17 +2535,16 @@ body.gdp-history-resizing * {
|
|
|
2400
2535
|
margin: 0;
|
|
2401
2536
|
}
|
|
2402
2537
|
.scope-settings-footer {
|
|
2403
|
-
display: flex;
|
|
2404
|
-
align-items: center;
|
|
2405
|
-
justify-content: space-between;
|
|
2406
|
-
gap: 12px;
|
|
2407
2538
|
margin-top: 12px;
|
|
2408
2539
|
padding-top: 10px;
|
|
2409
2540
|
border-top: 1px solid var(--border);
|
|
2410
2541
|
}
|
|
2411
2542
|
.scope-settings-footer .scope-settings-help {
|
|
2412
|
-
margin: 0;
|
|
2413
|
-
|
|
2543
|
+
margin: 4px 0 0;
|
|
2544
|
+
}
|
|
2545
|
+
#scope-settings-save-status {
|
|
2546
|
+
min-height: 15px;
|
|
2547
|
+
color: var(--fg-muted);
|
|
2414
2548
|
}
|
|
2415
2549
|
.scope-settings-actions button {
|
|
2416
2550
|
border: 1px solid var(--border);
|
|
@@ -2424,6 +2558,22 @@ body.gdp-history-resizing * {
|
|
|
2424
2558
|
border-color: var(--border-strong);
|
|
2425
2559
|
background: var(--bg-mute);
|
|
2426
2560
|
}
|
|
2561
|
+
.scope-settings-actions button:disabled {
|
|
2562
|
+
cursor: not-allowed;
|
|
2563
|
+
opacity: 0.55;
|
|
2564
|
+
}
|
|
2565
|
+
.scope-settings-actions .scope-settings-primary-action {
|
|
2566
|
+
inline-size: 12em;
|
|
2567
|
+
border-color: var(--accent);
|
|
2568
|
+
background: var(--accent);
|
|
2569
|
+
color: var(--accent-fg, #fff);
|
|
2570
|
+
font-weight: 600;
|
|
2571
|
+
white-space: nowrap;
|
|
2572
|
+
}
|
|
2573
|
+
.scope-settings-actions .scope-settings-primary-action:hover:not(:disabled) {
|
|
2574
|
+
border-color: var(--accent);
|
|
2575
|
+
background: color-mix(in srgb, var(--accent) 88%, var(--fg));
|
|
2576
|
+
}
|
|
2427
2577
|
|
|
2428
2578
|
#quick-help-popover {
|
|
2429
2579
|
position: fixed;
|
|
@@ -15683,6 +15833,20 @@ html[data-theme="dark"] .tools-code span[style] {
|
|
|
15683
15833
|
color: var(--fg-muted, #57606a);
|
|
15684
15834
|
}
|
|
15685
15835
|
|
|
15836
|
+
.terminal-observation-errors {
|
|
15837
|
+
max-height: 12rem;
|
|
15838
|
+
margin: 0;
|
|
15839
|
+
padding: 8px 10px;
|
|
15840
|
+
overflow: auto;
|
|
15841
|
+
border: 1px solid color-mix(in srgb, var(--danger) 40%, var(--border));
|
|
15842
|
+
border-radius: 6px;
|
|
15843
|
+
color: var(--danger);
|
|
15844
|
+
background: color-mix(in srgb, var(--danger) 8%, var(--bg));
|
|
15845
|
+
font: 11px/1.45 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
|
|
15846
|
+
white-space: pre-wrap;
|
|
15847
|
+
overflow-wrap: anywhere;
|
|
15848
|
+
}
|
|
15849
|
+
|
|
15686
15850
|
/* ==========================================================================
|
|
15687
15851
|
Datastore page — premium glass theme
|
|
15688
15852
|
データストアページ (.db-root) 全体にスコープした装飾レイヤ。
|