@vertebr/react 0.9.0 → 0.11.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.
Files changed (89) hide show
  1. package/dist/components/admin/AddonEditor.d.ts +3 -2
  2. package/dist/components/admin/AddonEditor.d.ts.map +1 -1
  3. package/dist/components/admin/AddonEditor.js +14 -10
  4. package/dist/components/admin/AdminContent.d.ts +4 -1
  5. package/dist/components/admin/AdminContent.d.ts.map +1 -1
  6. package/dist/components/admin/AdminContent.js +74 -12
  7. package/dist/components/admin/AdminSaveBar.d.ts.map +1 -1
  8. package/dist/components/admin/AdminSaveBar.js +6 -1
  9. package/dist/components/admin/AdminSyncPage.d.ts.map +1 -1
  10. package/dist/components/admin/AdminSyncPage.js +50 -6
  11. package/dist/components/admin/AdminTopBar.d.ts +6 -2
  12. package/dist/components/admin/AdminTopBar.d.ts.map +1 -1
  13. package/dist/components/admin/AdminTopBar.js +27 -4
  14. package/dist/components/admin/AuditBoard.d.ts +7 -0
  15. package/dist/components/admin/AuditBoard.d.ts.map +1 -0
  16. package/dist/components/admin/AuditBoard.js +43 -0
  17. package/dist/components/admin/HealthModal.d.ts +9 -0
  18. package/dist/components/admin/HealthModal.d.ts.map +1 -0
  19. package/dist/components/admin/HealthModal.js +59 -0
  20. package/dist/components/admin/PagePreviewPane.d.ts +3 -1
  21. package/dist/components/admin/PagePreviewPane.d.ts.map +1 -1
  22. package/dist/components/admin/PagePreviewPane.js +41 -9
  23. package/dist/components/admin/SyncPreviewFrame.d.ts +22 -0
  24. package/dist/components/admin/SyncPreviewFrame.d.ts.map +1 -0
  25. package/dist/components/admin/SyncPreviewFrame.js +135 -0
  26. package/dist/components/admin/VertebrAdmin.d.ts.map +1 -1
  27. package/dist/components/admin/VertebrAdmin.js +88 -22
  28. package/dist/components/admin/adminSearch.d.ts.map +1 -1
  29. package/dist/components/admin/adminSearch.js +9 -0
  30. package/dist/components/admin/breadcrumbs.d.ts.map +1 -1
  31. package/dist/components/admin/breadcrumbs.js +2 -0
  32. package/dist/components/admin/routes.d.ts.map +1 -1
  33. package/dist/components/admin/routes.js +13 -1
  34. package/dist/components/admin/types.d.ts +2 -0
  35. package/dist/components/admin/types.d.ts.map +1 -1
  36. package/dist/components/config/DatetimeInput.d.ts +15 -0
  37. package/dist/components/config/DatetimeInput.d.ts.map +1 -0
  38. package/dist/components/config/DatetimeInput.js +287 -0
  39. package/dist/components/config/EnumInput.d.ts.map +1 -1
  40. package/dist/components/config/EnumInput.js +4 -4
  41. package/dist/components/config/EnumListInput.d.ts.map +1 -1
  42. package/dist/components/config/EnumListInput.js +13 -3
  43. package/dist/components/config/ReferenceInput.d.ts +11 -0
  44. package/dist/components/config/ReferenceInput.d.ts.map +1 -0
  45. package/dist/components/config/ReferenceInput.js +99 -0
  46. package/dist/components/config/RevisionHistory.d.ts +12 -0
  47. package/dist/components/config/RevisionHistory.d.ts.map +1 -0
  48. package/dist/components/config/RevisionHistory.js +139 -0
  49. package/dist/components/config/form/ConfigField.d.ts +3 -2
  50. package/dist/components/config/form/ConfigField.d.ts.map +1 -1
  51. package/dist/components/config/form/ConfigField.js +4 -2
  52. package/dist/components/config/form/ConfigForm.d.ts +1 -1
  53. package/dist/components/config/form/ConfigForm.d.ts.map +1 -1
  54. package/dist/components/config/form/ConfigForm.js +66 -14
  55. package/dist/components/config/form/RecordConfigForm.d.ts +3 -2
  56. package/dist/components/config/form/RecordConfigForm.d.ts.map +1 -1
  57. package/dist/components/config/form/RecordConfigForm.js +2 -1
  58. package/dist/components/config/form/SettingsConfigForm.d.ts +3 -2
  59. package/dist/components/config/form/SettingsConfigForm.d.ts.map +1 -1
  60. package/dist/components/config/form/SettingsConfigForm.js +2 -2
  61. package/dist/components/config/form/types.d.ts +14 -1
  62. package/dist/components/config/form/types.d.ts.map +1 -1
  63. package/dist/components/resources/ResourceTable.d.ts +7 -1
  64. package/dist/components/resources/ResourceTable.d.ts.map +1 -1
  65. package/dist/components/resources/ResourceTable.js +56 -6
  66. package/dist/components/theme/ThemeToggle.d.ts +3 -1
  67. package/dist/components/theme/ThemeToggle.d.ts.map +1 -1
  68. package/dist/components/theme/ThemeToggle.js +2 -2
  69. package/dist/components/ui/icons.d.ts +1 -0
  70. package/dist/components/ui/icons.d.ts.map +1 -1
  71. package/dist/components/ui/icons.js +6 -1
  72. package/dist/hooks/useSaveBar.d.ts +6 -0
  73. package/dist/hooks/useSaveBar.d.ts.map +1 -1
  74. package/dist/index.d.ts +2 -1
  75. package/dist/index.d.ts.map +1 -1
  76. package/dist/index.js +1 -0
  77. package/dist/lib/capabilities.d.ts +4 -0
  78. package/dist/lib/capabilities.d.ts.map +1 -0
  79. package/dist/lib/capabilities.js +9 -0
  80. package/dist/styles/audit.css +34 -0
  81. package/dist/styles/form.css +587 -9
  82. package/dist/styles/index.css +1 -0
  83. package/dist/styles/modal.css +111 -0
  84. package/dist/styles/page-preview.css +84 -0
  85. package/dist/styles/select.css +23 -0
  86. package/dist/styles/shell.css +234 -18
  87. package/dist/styles/sync.css +388 -4
  88. package/dist/themes/light.css +27 -0
  89. package/package.json +3 -1
@@ -428,6 +428,372 @@
428
428
  background 140ms ease;
429
429
  }
430
430
 
431
+ .vertebr-datetime {
432
+ display: flex;
433
+ flex-direction: column;
434
+ gap: 0.45rem;
435
+ width: 100%;
436
+ }
437
+
438
+ .vertebr-datetime-shell {
439
+ display: flex;
440
+ align-items: stretch;
441
+ width: 100%;
442
+ min-height: 3.15rem;
443
+ border: 1px solid var(--vb-border);
444
+ border-radius: var(--vb-radius-sm);
445
+ background: var(--vb-bg);
446
+ overflow: hidden;
447
+ transition:
448
+ border-color 140ms ease,
449
+ box-shadow 140ms ease;
450
+ }
451
+
452
+ .vertebr-datetime-shell:focus-within,
453
+ .vertebr-datetime-shell:has([data-state="open"]) {
454
+ border-color: color-mix(in srgb, var(--vb-accent) 55%, var(--vb-border));
455
+ box-shadow: 0 0 0 3px color-mix(in srgb, var(--vb-accent) 18%, transparent);
456
+ }
457
+
458
+ .vertebr-datetime-cell {
459
+ appearance: none;
460
+ flex: 1 1 auto;
461
+ min-width: 0;
462
+ display: flex;
463
+ align-items: stretch;
464
+ gap: 0;
465
+ margin: 0;
466
+ padding: 0;
467
+ border: 0;
468
+ background: transparent;
469
+ color: inherit;
470
+ font: inherit;
471
+ text-align: left;
472
+ cursor: pointer;
473
+ user-select: none;
474
+ }
475
+
476
+ .vertebr-datetime-cell:disabled {
477
+ cursor: default;
478
+ opacity: 0.7;
479
+ }
480
+
481
+ .vertebr-datetime-cell:hover:not(:disabled) .vertebr-datetime-cell-inner {
482
+ background: color-mix(in srgb, var(--vb-surface-tint) 70%, transparent);
483
+ }
484
+
485
+ .vertebr-datetime-cell-inner {
486
+ display: flex;
487
+ align-items: center;
488
+ gap: 0.55rem;
489
+ flex: 1 1 0;
490
+ min-width: 0;
491
+ padding: 0.45rem 0.7rem;
492
+ }
493
+
494
+ .vertebr-datetime-icon {
495
+ flex: none;
496
+ color: var(--vb-text-muted);
497
+ }
498
+
499
+ .vertebr-datetime-cell-copy {
500
+ display: flex;
501
+ flex-direction: column;
502
+ gap: 0.08rem;
503
+ min-width: 0;
504
+ flex: 1 1 auto;
505
+ }
506
+
507
+ .vertebr-datetime-cell-label {
508
+ font-size: 0.68rem;
509
+ font-weight: 600;
510
+ letter-spacing: 0.06em;
511
+ text-transform: uppercase;
512
+ color: var(--vb-text-subtle);
513
+ line-height: 1;
514
+ }
515
+
516
+ .vertebr-datetime-value {
517
+ min-width: 0;
518
+ overflow: hidden;
519
+ text-overflow: ellipsis;
520
+ white-space: nowrap;
521
+ color: var(--vb-text);
522
+ font-size: 0.9rem;
523
+ font-variant-numeric: tabular-nums;
524
+ line-height: 1.35rem;
525
+ }
526
+
527
+ .vertebr-datetime-value[data-empty="true"] {
528
+ color: var(--vb-text-subtle);
529
+ }
530
+
531
+ .vertebr-datetime-divider {
532
+ flex: none;
533
+ width: 1px;
534
+ align-self: stretch;
535
+ margin: 0.55rem 0;
536
+ background: var(--vb-border);
537
+ }
538
+
539
+ .vertebr-datetime-clear {
540
+ appearance: none;
541
+ flex: none;
542
+ align-self: stretch;
543
+ margin: 0;
544
+ padding: 0 0.85rem;
545
+ border: 0;
546
+ border-left: 1px solid var(--vb-border);
547
+ background: color-mix(in srgb, var(--vb-surface-tint) 55%, transparent);
548
+ color: var(--vb-text-muted);
549
+ font: inherit;
550
+ font-size: 0.78rem;
551
+ font-weight: 500;
552
+ cursor: pointer;
553
+ }
554
+
555
+ .vertebr-datetime-clear:hover {
556
+ color: var(--vb-text);
557
+ background: var(--vb-surface-tint);
558
+ }
559
+
560
+ .vertebr-datetime-summary {
561
+ margin: 0;
562
+ font-size: 0.8rem;
563
+ color: var(--vb-text-muted);
564
+ font-variant-numeric: tabular-nums;
565
+ }
566
+
567
+ .vertebr-datetime-summary-empty {
568
+ color: var(--vb-text-subtle);
569
+ }
570
+
571
+ .vertebr-datetime-popover {
572
+ z-index: 70;
573
+ box-sizing: border-box;
574
+ width: min(20.5rem, calc(100vw - 1.5rem));
575
+ padding: 0.75rem;
576
+ border: 1px solid var(--vb-border-strong);
577
+ border-radius: var(--vb-radius);
578
+ background: var(--vb-bg-elevated);
579
+ color: var(--vb-text);
580
+ font-family: var(--vb-font);
581
+ box-shadow: var(--vb-shadow);
582
+ animation: vertebr-pop 120ms ease-out;
583
+ }
584
+
585
+ .vertebr-day-picker {
586
+ position: relative;
587
+ width: 100%;
588
+ }
589
+
590
+ .vertebr-day-picker-months,
591
+ .vertebr-day-picker-month {
592
+ position: relative;
593
+ width: 100%;
594
+ }
595
+
596
+ .vertebr-day-picker-caption {
597
+ display: flex;
598
+ align-items: center;
599
+ justify-content: center;
600
+ min-height: 2.25rem;
601
+ margin: 0 2.1rem 0.45rem;
602
+ }
603
+
604
+ .vertebr-day-picker-caption-label {
605
+ font-size: 0.9rem;
606
+ font-weight: 600;
607
+ }
608
+
609
+ .vertebr-day-picker-nav {
610
+ position: absolute;
611
+ inset: 0 0 auto;
612
+ height: 2.25rem;
613
+ pointer-events: none;
614
+ }
615
+
616
+ .vertebr-day-picker-nav-btn {
617
+ appearance: none;
618
+ position: absolute;
619
+ top: 0;
620
+ pointer-events: auto;
621
+ display: inline-flex;
622
+ align-items: center;
623
+ justify-content: center;
624
+ width: 1.85rem;
625
+ height: 1.85rem;
626
+ margin: 0;
627
+ padding: 0;
628
+ border: 1px solid var(--vb-border);
629
+ border-radius: var(--vb-radius-sm);
630
+ background: var(--vb-bg);
631
+ color: var(--vb-text-muted);
632
+ cursor: pointer;
633
+ }
634
+
635
+ .vertebr-day-picker-nav-btn:first-of-type {
636
+ left: 0;
637
+ }
638
+
639
+ .vertebr-day-picker-nav-btn:last-of-type {
640
+ right: 0;
641
+ }
642
+
643
+ .vertebr-day-picker-nav-btn:hover {
644
+ color: var(--vb-text);
645
+ background: var(--vb-bg-muted);
646
+ }
647
+
648
+ .vertebr-day-picker-grid {
649
+ width: 100%;
650
+ border-collapse: collapse;
651
+ table-layout: fixed;
652
+ }
653
+
654
+ .vertebr-day-picker-weekday {
655
+ padding: 0.35rem 0;
656
+ font-size: 0.68rem;
657
+ font-weight: 600;
658
+ letter-spacing: 0.04em;
659
+ text-transform: uppercase;
660
+ text-align: center;
661
+ color: var(--vb-text-subtle);
662
+ }
663
+
664
+ .vertebr-day-picker-day {
665
+ width: 14.28%;
666
+ height: 2.35rem;
667
+ padding: 0;
668
+ text-align: center;
669
+ vertical-align: middle;
670
+ }
671
+
672
+ .vertebr-day-picker-day-btn {
673
+ appearance: none;
674
+ display: inline-flex;
675
+ align-items: center;
676
+ justify-content: center;
677
+ width: 2.15rem;
678
+ height: 2.15rem;
679
+ margin: 0;
680
+ padding: 0;
681
+ border: 0;
682
+ border-radius: 999px;
683
+ background: transparent;
684
+ color: var(--vb-text);
685
+ font: inherit;
686
+ font-size: 0.85rem;
687
+ font-variant-numeric: tabular-nums;
688
+ cursor: pointer;
689
+ }
690
+
691
+ .vertebr-day-picker-day-btn:hover {
692
+ background: var(--vb-bg-hover);
693
+ }
694
+
695
+ .vertebr-day-picker-today .vertebr-day-picker-day-btn {
696
+ box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--vb-accent) 45%, transparent);
697
+ }
698
+
699
+ .vertebr-day-picker-selected .vertebr-day-picker-day-btn,
700
+ .vertebr-day-picker-selected .vertebr-day-picker-day-btn:hover {
701
+ background: var(--vb-accent);
702
+ color: var(--vb-accent-contrast);
703
+ box-shadow: none;
704
+ }
705
+
706
+ .vertebr-day-picker-outside .vertebr-day-picker-day-btn {
707
+ color: var(--vb-text-subtle);
708
+ opacity: 0.55;
709
+ }
710
+
711
+ .vertebr-day-picker-disabled .vertebr-day-picker-day-btn,
712
+ .vertebr-day-picker-hidden .vertebr-day-picker-day-btn {
713
+ opacity: 0.35;
714
+ pointer-events: none;
715
+ }
716
+
717
+ .vertebr-datetime-time-row {
718
+ display: flex;
719
+ align-items: end;
720
+ gap: 0.45rem;
721
+ margin-top: 0.75rem;
722
+ padding-top: 0.75rem;
723
+ border-top: 1px solid var(--vb-border);
724
+ }
725
+
726
+ .vertebr-datetime-time-field {
727
+ display: flex;
728
+ flex-direction: column;
729
+ gap: 0.3rem;
730
+ flex: 1 1 0;
731
+ min-width: 0;
732
+ font-size: 0.68rem;
733
+ font-weight: 600;
734
+ letter-spacing: 0.06em;
735
+ text-transform: uppercase;
736
+ color: var(--vb-text-subtle);
737
+ }
738
+
739
+ .vertebr-datetime-time-field-meridiem {
740
+ flex: 0 0 4.5rem;
741
+ }
742
+
743
+ .vertebr-datetime-timezone {
744
+ margin-top: 0.55rem;
745
+ }
746
+
747
+ .vertebr-datetime-time-select {
748
+ appearance: none;
749
+ box-sizing: border-box;
750
+ width: 100%;
751
+ min-height: 2.35rem;
752
+ padding: 0.45rem 0.65rem;
753
+ border: 1px solid var(--vb-border);
754
+ border-radius: var(--vb-radius-sm);
755
+ background: var(--vb-bg);
756
+ color: var(--vb-text);
757
+ font: inherit;
758
+ font-size: 0.9rem;
759
+ font-variant-numeric: tabular-nums;
760
+ text-transform: none;
761
+ letter-spacing: normal;
762
+ font-weight: 500;
763
+ cursor: pointer;
764
+ }
765
+
766
+ .vertebr-datetime-time-select:focus-visible {
767
+ outline: none;
768
+ border-color: var(--vb-accent-dim);
769
+ box-shadow: 0 0 0 3px var(--vb-accent-soft);
770
+ }
771
+
772
+ .vertebr-datetime-time-sep {
773
+ flex: none;
774
+ padding-bottom: 0.55rem;
775
+ color: var(--vb-text-muted);
776
+ font-size: 1.1rem;
777
+ font-weight: 600;
778
+ }
779
+
780
+ @media (max-width: 520px) {
781
+ .vertebr-datetime-shell {
782
+ flex-wrap: wrap;
783
+ }
784
+
785
+ .vertebr-datetime-cell {
786
+ flex: 1 1 auto;
787
+ }
788
+
789
+ .vertebr-datetime-clear {
790
+ flex: 1 1 100%;
791
+ min-height: 2.2rem;
792
+ border-left: 0;
793
+ border-top: 1px solid var(--vb-border);
794
+ }
795
+ }
796
+
431
797
  .vertebr-field textarea {
432
798
  resize: vertical;
433
799
  min-height: 4.5rem;
@@ -784,15 +1150,22 @@
784
1150
  }
785
1151
 
786
1152
  .vertebr-switch {
787
- width: 40px;
788
- height: 22px;
1153
+ box-sizing: border-box;
1154
+ width: 2.5rem;
1155
+ height: 1.375rem;
789
1156
  background: var(--vb-bg-muted);
790
1157
  border-radius: 999px;
791
1158
  position: relative;
792
1159
  border: 1px solid var(--vb-border);
793
1160
  cursor: pointer;
794
1161
  flex: none;
795
- transition: background 140ms ease, border-color 140ms ease;
1162
+ display: inline-flex;
1163
+ align-items: center;
1164
+ justify-content: flex-start;
1165
+ padding: 0;
1166
+ transition:
1167
+ background 140ms ease,
1168
+ border-color 140ms ease;
796
1169
  }
797
1170
 
798
1171
  .vertebr-switch[data-state="checked"] {
@@ -802,17 +1175,22 @@
802
1175
 
803
1176
  .vertebr-switch-thumb {
804
1177
  display: block;
805
- width: 16px;
806
- height: 16px;
1178
+ box-sizing: border-box;
1179
+ width: 1rem;
1180
+ height: 1rem;
807
1181
  background: var(--vb-text);
808
1182
  border-radius: 999px;
809
- transform: translateX(2px);
810
- transition: transform 140ms ease, background 140ms ease;
811
- margin-top: 2px;
1183
+ position: absolute;
1184
+ top: 50%;
1185
+ left: 2px;
1186
+ transform: translateY(-50%);
1187
+ transition:
1188
+ left 140ms ease,
1189
+ background 140ms ease;
812
1190
  }
813
1191
 
814
1192
  .vertebr-switch[data-state="checked"] .vertebr-switch-thumb {
815
- transform: translateX(18px);
1193
+ left: calc(100% - 1rem - 2px);
816
1194
  background: var(--vb-accent);
817
1195
  }
818
1196
 
@@ -1002,3 +1380,203 @@
1002
1380
  .vertebr-modal-sm {
1003
1381
  width: min(100%, 520px);
1004
1382
  }
1383
+
1384
+ /* ── Reference typeahead ─────────────────────────────── */
1385
+
1386
+ .vertebr-reference {
1387
+ position: relative;
1388
+ display: flex;
1389
+ align-items: center;
1390
+ gap: 0.4rem;
1391
+ }
1392
+
1393
+ .vertebr-reference-input {
1394
+ flex: 1 1 auto;
1395
+ min-width: 0;
1396
+ }
1397
+
1398
+ .vertebr-reference-clear {
1399
+ flex: 0 0 auto;
1400
+ }
1401
+
1402
+ .vertebr-reference-menu {
1403
+ position: absolute;
1404
+ z-index: 20;
1405
+ top: calc(100% + 4px);
1406
+ left: 0;
1407
+ right: 0;
1408
+ margin: 0;
1409
+ padding: 0.35rem;
1410
+ list-style: none;
1411
+ max-height: 14rem;
1412
+ overflow: auto;
1413
+ border: 1px solid var(--vb-border);
1414
+ border-radius: 8px;
1415
+ background: var(--vb-bg-elevated);
1416
+ box-shadow: 0 8px 24px color-mix(in srgb, var(--vb-text) 12%, transparent);
1417
+ }
1418
+
1419
+ .vertebr-reference-option {
1420
+ appearance: none;
1421
+ display: flex;
1422
+ align-items: center;
1423
+ justify-content: space-between;
1424
+ gap: 0.75rem;
1425
+ width: 100%;
1426
+ margin: 0;
1427
+ border: 0;
1428
+ border-radius: 6px;
1429
+ background: transparent;
1430
+ color: inherit;
1431
+ font: inherit;
1432
+ text-align: left;
1433
+ padding: 0.45rem 0.55rem;
1434
+ cursor: pointer;
1435
+ }
1436
+
1437
+ .vertebr-reference-option:hover,
1438
+ .vertebr-reference-option[aria-selected="true"] {
1439
+ background: var(--vb-surface-tint);
1440
+ }
1441
+
1442
+ .vertebr-reference-option code {
1443
+ font-family: var(--vb-mono);
1444
+ font-size: 0.72rem;
1445
+ color: var(--vb-text-subtle);
1446
+ }
1447
+
1448
+ .vertebr-reference-empty {
1449
+ padding: 0.55rem 0.65rem;
1450
+ color: var(--vb-text-subtle);
1451
+ font-size: 0.85rem;
1452
+ }
1453
+
1454
+ /* ── Revision history ────────────────────────────────── */
1455
+
1456
+ .vertebr-revisions-trigger {
1457
+ appearance: none;
1458
+ display: inline-flex;
1459
+ align-items: center;
1460
+ gap: 0.4rem;
1461
+ height: 2rem;
1462
+ padding: 0 0.7rem;
1463
+ border: 1px solid var(--vb-border);
1464
+ border-radius: var(--vb-radius-sm, 8px);
1465
+ background: var(--vb-bg-elevated);
1466
+ color: var(--vb-text-secondary);
1467
+ font: inherit;
1468
+ font-size: var(--vb-font-size-100, 0.88rem);
1469
+ font-weight: var(--vb-font-weight-medium, 500);
1470
+ cursor: pointer;
1471
+ white-space: nowrap;
1472
+ transition:
1473
+ background 0.15s ease,
1474
+ color 0.15s ease,
1475
+ border-color 0.15s ease;
1476
+ }
1477
+
1478
+ .vertebr-revisions-trigger:hover {
1479
+ background: var(--vb-bg-hover);
1480
+ color: var(--vb-text);
1481
+ border-color: var(--vb-border-strong, var(--vb-border));
1482
+ }
1483
+
1484
+ .vertebr-revisions-trigger-count {
1485
+ display: inline-grid;
1486
+ place-items: center;
1487
+ min-width: 1.25rem;
1488
+ height: 1.25rem;
1489
+ padding: 0 0.3rem;
1490
+ border-radius: 999px;
1491
+ background: var(--vb-bg-muted);
1492
+ color: var(--vb-text-muted);
1493
+ font-family: var(--vb-mono);
1494
+ font-size: 0.68rem;
1495
+ }
1496
+
1497
+ .vertebr-revisions-modal .vertebr-modal-body {
1498
+ gap: 0.75rem;
1499
+ }
1500
+
1501
+ .vertebr-revisions-empty {
1502
+ margin: 0;
1503
+ color: var(--vb-text-subtle);
1504
+ font-size: 0.88rem;
1505
+ }
1506
+
1507
+ .vertebr-revisions-list {
1508
+ list-style: none;
1509
+ margin: 0;
1510
+ padding: 0;
1511
+ display: flex;
1512
+ flex-direction: column;
1513
+ gap: 0.45rem;
1514
+ }
1515
+
1516
+ .vertebr-revisions-item {
1517
+ display: flex;
1518
+ align-items: center;
1519
+ justify-content: space-between;
1520
+ gap: 0.75rem;
1521
+ padding: 0.55rem 0.65rem;
1522
+ border: 1px solid var(--vb-border);
1523
+ border-radius: 8px;
1524
+ background: var(--vb-bg-muted);
1525
+ }
1526
+
1527
+ .vertebr-revisions-meta {
1528
+ display: flex;
1529
+ flex-wrap: wrap;
1530
+ align-items: baseline;
1531
+ gap: 0.35rem 0.55rem;
1532
+ min-width: 0;
1533
+ }
1534
+
1535
+ .vertebr-revisions-meta strong {
1536
+ overflow: hidden;
1537
+ text-overflow: ellipsis;
1538
+ white-space: nowrap;
1539
+ max-width: 16rem;
1540
+ }
1541
+
1542
+ .vertebr-revisions-meta [data-status] {
1543
+ font-family: var(--vb-mono);
1544
+ font-size: 0.68rem;
1545
+ letter-spacing: 0.06em;
1546
+ text-transform: uppercase;
1547
+ color: var(--vb-text-subtle);
1548
+ }
1549
+
1550
+ .vertebr-revisions-meta [data-status="published"] {
1551
+ color: var(--vb-ok, #2f6f4e);
1552
+ }
1553
+
1554
+ .vertebr-revisions-meta [data-status="draft"] {
1555
+ color: var(--vb-warn, #9a6b2f);
1556
+ }
1557
+
1558
+ .vertebr-revisions-meta [data-status="current"] {
1559
+ color: var(--vb-text);
1560
+ background: var(--vb-bg-elevated);
1561
+ border: 1px solid var(--vb-border);
1562
+ border-radius: 999px;
1563
+ padding: 0.05rem 0.4rem;
1564
+ letter-spacing: 0.04em;
1565
+ }
1566
+
1567
+ .vertebr-revisions-item[data-active="true"] {
1568
+ border-color: color-mix(in srgb, var(--vb-text) 22%, var(--vb-border));
1569
+ background: var(--vb-bg-elevated);
1570
+ }
1571
+
1572
+ .vertebr-revisions-when {
1573
+ flex-basis: 100%;
1574
+ font-size: 0.78rem;
1575
+ color: var(--vb-text-subtle);
1576
+ }
1577
+
1578
+ .vertebr-revisions-actions {
1579
+ display: flex;
1580
+ gap: 0.35rem;
1581
+ flex: 0 0 auto;
1582
+ }
@@ -9,6 +9,7 @@
9
9
  @import "./main.css";
10
10
  @import "./panel.css";
11
11
  @import "./metrics.css";
12
+ @import "./audit.css";
12
13
  @import "./table.css";
13
14
  @import "./columns.css";
14
15
  @import "./cells.css";