@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/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 { background: #2ea043; box-shadow: 0 0 0 3px rgba(46,160,67,0.20); }
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: 460px;
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
- flex: 1;
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) 全体にスコープした装飾レイヤ。