@youtyan/code-viewer 0.6.10 → 0.8.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
@@ -4694,6 +4694,61 @@ body.gdp-file-detail-page #empty {
4694
4694
  .gdp-dialog-danger:hover {
4695
4695
  background: var(--diff-del-bg);
4696
4696
  }
4697
+ .db-connection-form {
4698
+ display: grid;
4699
+ grid-template-columns: repeat(2, minmax(0, 1fr));
4700
+ gap: 10px 12px;
4701
+ margin-top: 6px;
4702
+ }
4703
+ .db-connection-field[hidden] {
4704
+ display: none !important;
4705
+ }
4706
+ .db-connection-form .db-connection-field {
4707
+ display: flex;
4708
+ min-width: 0;
4709
+ flex-direction: column;
4710
+ color: var(--fg-muted);
4711
+ font-size: 12px;
4712
+ }
4713
+ .db-connection-form .gdp-dialog-input {
4714
+ margin-top: 4px;
4715
+ }
4716
+ .db-connection-form input[type="checkbox"] {
4717
+ width: 18px;
4718
+ height: 18px;
4719
+ margin-top: 8px;
4720
+ padding: 0;
4721
+ }
4722
+ .db-connection-required {
4723
+ color: var(--danger);
4724
+ font-weight: 700;
4725
+ }
4726
+ .db-connection-test-row {
4727
+ display: flex;
4728
+ grid-column: 1 / -1;
4729
+ align-items: center;
4730
+ gap: 10px;
4731
+ min-height: 32px;
4732
+ margin-top: 2px;
4733
+ }
4734
+ .db-connection-test-button {
4735
+ min-width: 120px;
4736
+ }
4737
+ .db-connection-test-status {
4738
+ min-width: 0;
4739
+ color: var(--fg-muted);
4740
+ font-size: 12px;
4741
+ line-height: 18px;
4742
+ }
4743
+ .db-connection-test-status[data-state="success"] {
4744
+ color: var(--success);
4745
+ }
4746
+ .db-connection-test-status[data-state="error"] {
4747
+ color: var(--danger);
4748
+ }
4749
+ .gdp-dialog:has(.db-connection-form) {
4750
+ width: min(640px, calc(100vw - 64px));
4751
+ }
4697
4752
  .gdp-repo-empty {
4698
4753
  padding: 32px;
4699
4754
  color: var(--fg-muted);
@@ -8244,6 +8299,16 @@ body[data-sidebar-font-size="xlarge"] .db-container {
8244
8299
  background: var(--bg);
8245
8300
  font-weight: 500;
8246
8301
  }
8302
+ .db-connection-action {
8303
+ flex: 0 0 30px;
8304
+ width: 30px;
8305
+ min-width: 30px;
8306
+ border: 1px solid var(--border);
8307
+ background: var(--bg);
8308
+ }
8309
+ .db-connection-action[hidden] {
8310
+ display: none !important;
8311
+ }
8247
8312
  .db-refresh-btn[disabled] {
8248
8313
  cursor: default;
8249
8314
  opacity: 0.7;
@@ -12270,6 +12335,185 @@ body.db-resizing {
12270
12335
  border: 1px solid var(--border);
12271
12336
  background: var(--bg);
12272
12337
  }
12338
+ /* ---------- DynamoDB explorer ---------- */
12339
+ .dynamodb-explorer {
12340
+ flex: 1;
12341
+ display: flex;
12342
+ flex-direction: row;
12343
+ overflow: hidden;
12344
+ background: var(--bg);
12345
+ font-size: var(--db-font-base);
12346
+ }
12347
+ .dynamodb-explorer[hidden] {
12348
+ display: none;
12349
+ }
12350
+ /* dynamodb-table-list-pane は es-index-list-pane と同じく db-sidebar の
12351
+ explorerSidebarHost 内にスロットとして mount される。 */
12352
+ .dynamodb-table-list-pane {
12353
+ flex: 1 1 auto;
12354
+ min-height: 120px;
12355
+ display: flex;
12356
+ flex-direction: column;
12357
+ overflow: hidden;
12358
+ }
12359
+ .dynamodb-table-list {
12360
+ flex: 1;
12361
+ overflow-y: auto;
12362
+ padding: 4px 0;
12363
+ }
12364
+ .dynamodb-table-item {
12365
+ padding: 6px 12px;
12366
+ cursor: pointer;
12367
+ border-left: 2px solid transparent;
12368
+ user-select: none;
12369
+ font-family: var(--mono, monospace);
12370
+ font-size: var(--db-font-mono);
12371
+ overflow: hidden;
12372
+ text-overflow: ellipsis;
12373
+ white-space: nowrap;
12374
+ }
12375
+ .dynamodb-table-item:hover {
12376
+ background: var(--bg-hover, var(--bg));
12377
+ }
12378
+ .dynamodb-table-item.active {
12379
+ background: var(--bg-active, var(--bg-soft));
12380
+ border-left-color: var(--accent);
12381
+ }
12382
+ .dynamodb-item-list-pane {
12383
+ width: 380px;
12384
+ border-right: 1px solid var(--border);
12385
+ display: flex;
12386
+ flex-direction: column;
12387
+ overflow: hidden;
12388
+ background: var(--bg);
12389
+ }
12390
+ .dynamodb-query-form {
12391
+ display: flex;
12392
+ flex-direction: column;
12393
+ gap: 6px;
12394
+ padding: 8px 12px;
12395
+ border-bottom: 1px solid var(--border);
12396
+ background: var(--bg-soft);
12397
+ flex-shrink: 0;
12398
+ }
12399
+ .dynamodb-key-condition-input,
12400
+ .dynamodb-filter-input {
12401
+ padding: 4px 8px;
12402
+ border: 1px solid var(--border);
12403
+ border-radius: 4px;
12404
+ background: var(--bg);
12405
+ color: var(--fg);
12406
+ font-family: var(--mono, monospace);
12407
+ font-size: var(--db-font-mono);
12408
+ }
12409
+ .dynamodb-attribute-values-input {
12410
+ padding: 4px 8px;
12411
+ border: 1px solid var(--border);
12412
+ border-radius: 4px;
12413
+ background: var(--bg);
12414
+ color: var(--fg);
12415
+ font-family: var(--mono, monospace);
12416
+ font-size: var(--db-font-mono);
12417
+ resize: vertical;
12418
+ }
12419
+ .dynamodb-run-btn {
12420
+ align-self: flex-start;
12421
+ }
12422
+ .dynamodb-query-error {
12423
+ padding: 4px 12px;
12424
+ color: var(--danger);
12425
+ font-size: var(--db-font-sm);
12426
+ }
12427
+ .dynamodb-item-status {
12428
+ padding: 4px 12px;
12429
+ color: var(--fg-muted);
12430
+ font-size: var(--db-font-sm);
12431
+ }
12432
+ .dynamodb-item-list {
12433
+ flex: 1;
12434
+ overflow-y: auto;
12435
+ padding: 4px 0;
12436
+ }
12437
+ .dynamodb-item-row {
12438
+ display: flex;
12439
+ padding: 4px 12px;
12440
+ cursor: pointer;
12441
+ border-left: 2px solid transparent;
12442
+ user-select: none;
12443
+ border-bottom: 1px solid var(--border);
12444
+ }
12445
+ .dynamodb-item-row:hover {
12446
+ background: var(--bg-hover, var(--bg-soft));
12447
+ }
12448
+ .dynamodb-item-row.active {
12449
+ background: var(--bg-active, var(--bg-soft));
12450
+ border-left-color: var(--accent);
12451
+ }
12452
+ .dynamodb-item-preview {
12453
+ font-family: var(--mono, monospace);
12454
+ font-size: var(--db-font-mono);
12455
+ overflow: hidden;
12456
+ text-overflow: ellipsis;
12457
+ white-space: nowrap;
12458
+ }
12459
+ .dynamodb-item-more-btn {
12460
+ padding: 6px;
12461
+ border: none;
12462
+ border-top: 1px solid var(--border);
12463
+ background: var(--bg-soft);
12464
+ cursor: pointer;
12465
+ font-size: var(--db-font-sm);
12466
+ color: var(--fg);
12467
+ }
12468
+ .dynamodb-item-more-btn:hover {
12469
+ background: var(--bg-hover, var(--bg));
12470
+ }
12471
+ .dynamodb-item-more-btn:disabled {
12472
+ cursor: default;
12473
+ color: var(--fg-muted);
12474
+ }
12475
+ .dynamodb-detail-pane {
12476
+ flex: 1;
12477
+ overflow: auto;
12478
+ padding: 12px;
12479
+ color: var(--fg);
12480
+ background: var(--bg);
12481
+ }
12482
+ .dynamodb-table-info-header,
12483
+ .dynamodb-item-detail-header {
12484
+ display: flex;
12485
+ align-items: center;
12486
+ gap: 8px;
12487
+ font-family: var(--mono, monospace);
12488
+ font-size: var(--db-font-mono);
12489
+ font-weight: 600;
12490
+ padding-bottom: 8px;
12491
+ border-bottom: 1px solid var(--border);
12492
+ margin-bottom: 8px;
12493
+ }
12494
+ .dynamodb-table-info-meta,
12495
+ .dynamodb-table-info-keys {
12496
+ font-family: var(--mono, monospace);
12497
+ font-size: var(--db-font-sm);
12498
+ color: var(--fg-muted);
12499
+ margin-bottom: 8px;
12500
+ }
12501
+ .dynamodb-copy-status {
12502
+ min-width: 9em;
12503
+ color: var(--fg-muted);
12504
+ font-size: var(--db-font-sm);
12505
+ font-weight: 400;
12506
+ }
12507
+ .dynamodb-table-info-empty {
12508
+ margin-top: 24px;
12509
+ }
12510
+ .dynamodb-item-source {
12511
+ font-family: var(--mono, monospace);
12512
+ font-size: var(--db-font-mono);
12513
+ white-space: pre-wrap;
12514
+ word-break: break-all;
12515
+ margin: 0;
12516
+ }
12273
12517
  /* ---------- Database multi-tab manager ---------- */
12274
12518
  .db-root {
12275
12519
  display: flex;