@vertebr/react 0.10.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 (39) hide show
  1. package/dist/components/admin/AddonEditor.d.ts.map +1 -1
  2. package/dist/components/admin/AddonEditor.js +10 -8
  3. package/dist/components/admin/AdminContent.d.ts.map +1 -1
  4. package/dist/components/admin/AdminContent.js +55 -7
  5. package/dist/components/admin/AdminSaveBar.d.ts.map +1 -1
  6. package/dist/components/admin/AdminSaveBar.js +6 -1
  7. package/dist/components/admin/AdminSyncPage.d.ts.map +1 -1
  8. package/dist/components/admin/AdminSyncPage.js +50 -6
  9. package/dist/components/admin/PagePreviewPane.d.ts +3 -1
  10. package/dist/components/admin/PagePreviewPane.d.ts.map +1 -1
  11. package/dist/components/admin/PagePreviewPane.js +41 -9
  12. package/dist/components/admin/SyncPreviewFrame.d.ts +22 -0
  13. package/dist/components/admin/SyncPreviewFrame.d.ts.map +1 -0
  14. package/dist/components/admin/SyncPreviewFrame.js +135 -0
  15. package/dist/components/config/DatetimeInput.d.ts +15 -0
  16. package/dist/components/config/DatetimeInput.d.ts.map +1 -0
  17. package/dist/components/config/DatetimeInput.js +287 -0
  18. package/dist/components/config/EnumInput.d.ts.map +1 -1
  19. package/dist/components/config/EnumInput.js +4 -4
  20. package/dist/components/config/EnumListInput.d.ts.map +1 -1
  21. package/dist/components/config/EnumListInput.js +13 -3
  22. package/dist/components/config/RevisionHistory.d.ts +4 -0
  23. package/dist/components/config/RevisionHistory.d.ts.map +1 -1
  24. package/dist/components/config/RevisionHistory.js +63 -8
  25. package/dist/components/config/form/ConfigField.d.ts.map +1 -1
  26. package/dist/components/config/form/ConfigField.js +2 -1
  27. package/dist/components/config/form/ConfigForm.d.ts +1 -1
  28. package/dist/components/config/form/ConfigForm.d.ts.map +1 -1
  29. package/dist/components/config/form/ConfigForm.js +54 -9
  30. package/dist/components/config/form/types.d.ts +9 -0
  31. package/dist/components/config/form/types.d.ts.map +1 -1
  32. package/dist/hooks/useSaveBar.d.ts +6 -0
  33. package/dist/hooks/useSaveBar.d.ts.map +1 -1
  34. package/dist/styles/form.css +452 -17
  35. package/dist/styles/page-preview.css +84 -0
  36. package/dist/styles/select.css +23 -0
  37. package/dist/styles/sync.css +388 -4
  38. package/dist/themes/light.css +27 -0
  39. package/package.json +3 -1
@@ -15,6 +15,71 @@
15
15
  min-height: 0;
16
16
  }
17
17
 
18
+ .vertebr-page-related-addons {
19
+ display: flex;
20
+ flex-wrap: wrap;
21
+ align-items: center;
22
+ gap: 0.45rem 0.75rem;
23
+ padding: 0.55rem 1.15rem;
24
+ border-bottom: 1px solid var(--vb-border-subdued);
25
+ background: var(--vb-surface-tint);
26
+ }
27
+
28
+ .vertebr-page-related-addons-label {
29
+ font-family: var(--vb-mono);
30
+ font-size: 0.66rem;
31
+ letter-spacing: 0.1em;
32
+ text-transform: uppercase;
33
+ color: var(--vb-text-subtle);
34
+ }
35
+
36
+ .vertebr-page-related-addons-list {
37
+ display: flex;
38
+ flex-wrap: wrap;
39
+ gap: 0.35rem;
40
+ }
41
+
42
+ .vertebr-page-related-addon {
43
+ appearance: none;
44
+ display: inline-flex;
45
+ align-items: center;
46
+ gap: 0.35rem;
47
+ margin: 0;
48
+ padding: 0.25rem 0.55rem;
49
+ border: 1px solid var(--vb-border);
50
+ border-radius: 999px;
51
+ background: var(--vb-bg-elevated);
52
+ color: var(--vb-text-muted);
53
+ font: inherit;
54
+ font-size: 0.75rem;
55
+ font-weight: var(--vb-font-weight-medium);
56
+ cursor: pointer;
57
+ }
58
+
59
+ .vertebr-page-related-addon:hover {
60
+ border-color: var(--vb-border-strong);
61
+ color: var(--vb-text);
62
+ }
63
+
64
+ .vertebr-page-related-addon em {
65
+ font-style: normal;
66
+ font-family: var(--vb-mono);
67
+ font-size: 0.62rem;
68
+ letter-spacing: 0.06em;
69
+ text-transform: uppercase;
70
+ color: var(--vb-text-subtle);
71
+ }
72
+
73
+ .vertebr-page-related-addon[data-enabled="true"] {
74
+ border-color: color-mix(in srgb, var(--vb-accent) 40%, var(--vb-border));
75
+ background: var(--vb-accent-soft);
76
+ color: var(--vb-accent-dim);
77
+ }
78
+
79
+ .vertebr-page-related-addon[data-enabled="true"] em {
80
+ color: var(--vb-accent);
81
+ }
82
+
18
83
  .vertebr-page-editor {
19
84
  flex: 1 1 0%;
20
85
  min-width: 0;
@@ -94,6 +159,25 @@
94
159
  background: var(--vb-bg);
95
160
  }
96
161
 
162
+ .vertebr-page-preview-back {
163
+ appearance: none;
164
+ margin: 0;
165
+ border: 1px solid var(--vb-border);
166
+ border-radius: 999px;
167
+ padding: 0.28rem 0.75rem;
168
+ font: inherit;
169
+ font-size: 0.74rem;
170
+ font-weight: 520;
171
+ color: var(--vb-text);
172
+ background: var(--vb-bg-elevated);
173
+ cursor: pointer;
174
+ }
175
+
176
+ .vertebr-page-preview-back:hover {
177
+ border-color: var(--vb-border-strong);
178
+ background: var(--vb-bg-muted);
179
+ }
180
+
97
181
  .vertebr-page-preview-viewports button {
98
182
  appearance: none;
99
183
  margin: 0;
@@ -1,7 +1,10 @@
1
1
  /* ── Select ──────────────────────────────────────────── */
2
2
 
3
3
  .vertebr-select-trigger {
4
+ box-sizing: border-box;
4
5
  width: 100%;
6
+ max-width: 100%;
7
+ min-width: 0;
5
8
  display: flex;
6
9
  align-items: center;
7
10
  justify-content: space-between;
@@ -17,6 +20,7 @@
17
20
  font-weight: 500;
18
21
  line-height: 1.2;
19
22
  cursor: pointer;
23
+ overflow: hidden;
20
24
  transition:
21
25
  border-color 140ms ease,
22
26
  background 140ms ease,
@@ -50,8 +54,17 @@
50
54
  display: flex;
51
55
  align-items: center;
52
56
  gap: 0.5rem;
57
+ flex: 1 1 auto;
53
58
  min-width: 0;
54
59
  overflow: hidden;
60
+ }
61
+
62
+ /* Radix Select.Value / label text — ellipsis needs a non-flex box. */
63
+ .vertebr-select-value > span:not(.vertebr-select-dot),
64
+ .vertebr-select-label {
65
+ min-width: 0;
66
+ flex: 1 1 auto;
67
+ overflow: hidden;
55
68
  text-overflow: ellipsis;
56
69
  white-space: nowrap;
57
70
  }
@@ -78,6 +91,7 @@
78
91
 
79
92
  .vertebr-select-icon {
80
93
  display: flex;
94
+ flex: none;
81
95
  color: var(--vb-text-muted);
82
96
  transition: transform 140ms ease;
83
97
  }
@@ -127,6 +141,15 @@
127
141
  cursor: pointer;
128
142
  user-select: none;
129
143
  outline: none;
144
+ min-width: 0;
145
+ }
146
+
147
+ .vertebr-select-item > span:first-of-type {
148
+ min-width: 0;
149
+ flex: 1 1 auto;
150
+ overflow: hidden;
151
+ text-overflow: ellipsis;
152
+ white-space: nowrap;
130
153
  }
131
154
 
132
155
  .vertebr-select-item[data-highlighted] {
@@ -242,10 +242,9 @@
242
242
 
243
243
  .vertebr-sync-target-row {
244
244
  position: relative;
245
- appearance: none;
246
245
  width: 100%;
247
246
  display: grid;
248
- grid-template-columns: auto minmax(0, 1fr) minmax(0, 1.1fr);
247
+ grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
249
248
  align-items: center;
250
249
  gap: var(--vb-space-400);
251
250
  padding: var(--vb-space-400);
@@ -256,7 +255,6 @@
256
255
  var(--vb-bg-elevated);
257
256
  color: inherit;
258
257
  text-align: left;
259
- cursor: pointer;
260
258
  min-width: 0;
261
259
  overflow: hidden;
262
260
  transition:
@@ -284,6 +282,23 @@
284
282
  background: var(--vb-accent);
285
283
  }
286
284
 
285
+ .vertebr-sync-target-toggle {
286
+ appearance: none;
287
+ display: grid;
288
+ grid-template-columns: auto minmax(0, 1fr);
289
+ align-items: start;
290
+ gap: var(--vb-space-400);
291
+ margin: 0;
292
+ padding: 0;
293
+ border: 0;
294
+ background: transparent;
295
+ color: inherit;
296
+ font: inherit;
297
+ text-align: left;
298
+ cursor: pointer;
299
+ min-width: 0;
300
+ }
301
+
287
302
  .vertebr-sync-target-list li {
288
303
  list-style: none;
289
304
  }
@@ -294,6 +309,7 @@
294
309
  justify-content: center;
295
310
  width: 1.15rem;
296
311
  height: 1.15rem;
312
+ margin-top: 0.15rem;
297
313
  border-radius: var(--vb-radius-xs);
298
314
  border: 1px solid var(--vb-border-strong);
299
315
  background: var(--vb-bg-elevated);
@@ -358,6 +374,370 @@
358
374
  white-space: nowrap;
359
375
  }
360
376
 
377
+ .vertebr-sync-diff-btn {
378
+ appearance: none;
379
+ margin: 0.1rem 0 0;
380
+ padding: 0;
381
+ border: 0;
382
+ background: transparent;
383
+ color: var(--vb-accent);
384
+ font: inherit;
385
+ font-size: var(--vb-font-size-75);
386
+ font-weight: var(--vb-font-weight-medium);
387
+ text-decoration: underline;
388
+ text-underline-offset: 0.12em;
389
+ cursor: pointer;
390
+ }
391
+
392
+ .vertebr-sync-diff-btn:hover {
393
+ color: var(--vb-accent-dim);
394
+ }
395
+
396
+ .vertebr-sync-diff-modal {
397
+ width: min(52rem, calc(100vw - 2rem));
398
+ height: min(40rem, calc(100vh - 2rem));
399
+ max-height: min(40rem, calc(100vh - 2rem));
400
+ display: flex;
401
+ flex-direction: column;
402
+ overflow: hidden;
403
+ }
404
+
405
+ .vertebr-sync-diff-modal[data-has-visual="true"] {
406
+ width: min(72rem, calc(100vw - 1.5rem));
407
+ height: min(52rem, calc(100vh - 1.5rem));
408
+ max-height: min(52rem, calc(100vh - 1.5rem));
409
+ }
410
+
411
+ .vertebr-sync-diff-modal > .vertebr-modal-head,
412
+ .vertebr-sync-diff-modal > .vertebr-sync-diff-tabs {
413
+ flex: none;
414
+ }
415
+
416
+ .vertebr-sync-diff-head {
417
+ padding: 0.95rem 1.15rem;
418
+ align-items: center;
419
+ }
420
+
421
+ .vertebr-sync-diff-head .vertebr-modal-heading h2 {
422
+ margin: 0;
423
+ font-size: 1.1rem;
424
+ letter-spacing: -0.02em;
425
+ }
426
+
427
+ .vertebr-sync-diff-modal .vertebr-modal-body {
428
+ flex: 1 1 auto;
429
+ min-height: 0;
430
+ overflow: hidden;
431
+ display: flex;
432
+ flex-direction: column;
433
+ gap: var(--vb-space-300);
434
+ }
435
+
436
+ .vertebr-sync-diff-subtitle {
437
+ display: flex;
438
+ flex-wrap: wrap;
439
+ align-items: center;
440
+ gap: 0.35rem 0.55rem;
441
+ margin: 0.3rem 0 0;
442
+ font-size: var(--vb-font-size-100);
443
+ color: var(--vb-text-muted);
444
+ }
445
+
446
+ .vertebr-sync-diff-meta {
447
+ display: inline-flex;
448
+ align-items: center;
449
+ padding: 0.12rem 0.45rem;
450
+ border-radius: 999px;
451
+ background: var(--vb-bg-muted);
452
+ color: var(--vb-text-subtle);
453
+ font-size: var(--vb-font-size-75);
454
+ font-weight: var(--vb-font-weight-medium);
455
+ }
456
+
457
+ .vertebr-sync-diff-tabs {
458
+ display: flex;
459
+ gap: 0.15rem;
460
+ padding: 0.35rem 1.15rem 0;
461
+ border-bottom: 1px solid var(--vb-border-subdued);
462
+ }
463
+
464
+ .vertebr-sync-diff-tabs button {
465
+ appearance: none;
466
+ margin: 0;
467
+ padding: 0.5rem 0.75rem;
468
+ border: 0;
469
+ border-bottom: 2px solid transparent;
470
+ background: transparent;
471
+ color: var(--vb-text-muted);
472
+ font: inherit;
473
+ font-size: var(--vb-font-size-100);
474
+ font-weight: var(--vb-font-weight-medium);
475
+ cursor: pointer;
476
+ transition:
477
+ color var(--vb-duration-fast, 120ms) var(--vb-ease, ease),
478
+ border-color var(--vb-duration-fast, 120ms) var(--vb-ease, ease);
479
+ }
480
+
481
+ .vertebr-sync-diff-tabs button[data-active="true"] {
482
+ color: var(--vb-text);
483
+ border-bottom-color: var(--vb-accent);
484
+ }
485
+
486
+ .vertebr-sync-diff-panels {
487
+ position: relative;
488
+ flex: 1 1 auto;
489
+ min-height: 0;
490
+ }
491
+
492
+ .vertebr-sync-diff-panel {
493
+ position: absolute;
494
+ inset: 0;
495
+ overflow: auto;
496
+ opacity: 0;
497
+ visibility: hidden;
498
+ pointer-events: none;
499
+ transform: translateY(6px);
500
+ transition:
501
+ opacity var(--vb-duration-normal, 180ms) var(--vb-ease, ease),
502
+ transform var(--vb-duration-normal, 180ms) var(--vb-ease, ease),
503
+ visibility 0s linear var(--vb-duration-normal, 180ms);
504
+ }
505
+
506
+ .vertebr-sync-diff-panel[data-active="true"] {
507
+ opacity: 1;
508
+ visibility: visible;
509
+ pointer-events: auto;
510
+ transform: translateY(0);
511
+ transition:
512
+ opacity var(--vb-duration-normal, 180ms) var(--vb-ease, ease),
513
+ transform var(--vb-duration-normal, 180ms) var(--vb-ease, ease),
514
+ visibility 0s linear 0s;
515
+ }
516
+
517
+ .vertebr-sync-diff-visual {
518
+ display: grid;
519
+ grid-template-columns: repeat(2, minmax(0, 1fr));
520
+ gap: var(--vb-space-400);
521
+ min-height: 100%;
522
+ }
523
+
524
+ .vertebr-sync-preview-frame {
525
+ display: flex;
526
+ flex-direction: column;
527
+ min-width: 0;
528
+ min-height: 0;
529
+ border: 1px solid var(--vb-border);
530
+ border-radius: var(--vb-radius-md);
531
+ background: var(--vb-surface-tint);
532
+ overflow: hidden;
533
+ }
534
+
535
+ .vertebr-sync-preview-frame-meta {
536
+ display: flex;
537
+ flex-wrap: wrap;
538
+ align-items: baseline;
539
+ gap: 0.35rem 0.75rem;
540
+ padding: 0.55rem 0.75rem;
541
+ border-bottom: 1px solid var(--vb-border-subdued);
542
+ background: var(--vb-bg-elevated);
543
+ }
544
+
545
+ .vertebr-sync-preview-frame-meta strong {
546
+ font-size: var(--vb-font-size-100);
547
+ font-weight: var(--vb-font-weight-semibold);
548
+ color: var(--vb-text);
549
+ }
550
+
551
+ .vertebr-sync-preview-frame-meta span {
552
+ font-family: var(--vb-mono);
553
+ font-size: 0.68rem;
554
+ color: var(--vb-text-subtle);
555
+ }
556
+
557
+ .vertebr-sync-preview-frame-meta span[data-status="ok"] {
558
+ color: var(--vb-ok, var(--vb-accent));
559
+ }
560
+
561
+ .vertebr-sync-preview-frame-meta span[data-status="error"] {
562
+ color: var(--vb-danger);
563
+ }
564
+
565
+ .vertebr-sync-preview-addons {
566
+ display: flex;
567
+ flex-wrap: wrap;
568
+ gap: 0.35rem;
569
+ padding: 0.45rem 0.75rem;
570
+ border-bottom: 1px solid var(--vb-border-subdued);
571
+ background: color-mix(in srgb, var(--vb-surface-tint) 70%, var(--vb-bg-elevated));
572
+ }
573
+
574
+ .vertebr-sync-preview-addons-empty {
575
+ font-size: var(--vb-font-size-75);
576
+ color: var(--vb-text-subtle);
577
+ }
578
+
579
+ .vertebr-sync-preview-addon {
580
+ display: inline-flex;
581
+ align-items: center;
582
+ gap: 0.35rem;
583
+ padding: 0.2rem 0.5rem;
584
+ border-radius: 999px;
585
+ border: 1px solid var(--vb-border);
586
+ background: var(--vb-bg-elevated);
587
+ color: var(--vb-text-muted);
588
+ font-size: 0.72rem;
589
+ font-weight: var(--vb-font-weight-medium);
590
+ }
591
+
592
+ .vertebr-sync-preview-addon em {
593
+ font-style: normal;
594
+ font-family: var(--vb-mono);
595
+ font-size: 0.62rem;
596
+ letter-spacing: 0.06em;
597
+ text-transform: uppercase;
598
+ color: var(--vb-text-subtle);
599
+ }
600
+
601
+ .vertebr-sync-preview-addon[data-enabled="true"] {
602
+ border-color: color-mix(in srgb, var(--vb-accent) 40%, var(--vb-border));
603
+ background: var(--vb-accent-soft);
604
+ color: var(--vb-accent-dim);
605
+ }
606
+
607
+ .vertebr-sync-preview-addon[data-enabled="true"] em {
608
+ color: var(--vb-accent);
609
+ }
610
+
611
+ .vertebr-sync-preview-frame-stage {
612
+ flex: 1 1 auto;
613
+ min-height: 22rem;
614
+ display: flex;
615
+ align-items: flex-start;
616
+ justify-content: center;
617
+ padding: 0.75rem;
618
+ overflow: hidden;
619
+ }
620
+
621
+ .vertebr-sync-preview-frame-shell {
622
+ position: relative;
623
+ flex: none;
624
+ overflow: hidden;
625
+ border-radius: var(--vb-radius-sm);
626
+ border: 1px solid var(--vb-border);
627
+ background: var(--vb-bg);
628
+ box-shadow: var(--vb-shadow-sm);
629
+ }
630
+
631
+ .vertebr-sync-preview-frame-scaler {
632
+ position: relative;
633
+ }
634
+
635
+ .vertebr-sync-preview-frame-scaler iframe {
636
+ display: block;
637
+ border: 0;
638
+ background: var(--vb-bg);
639
+ }
640
+
641
+ .vertebr-sync-preview-frame-empty {
642
+ display: flex;
643
+ align-items: center;
644
+ justify-content: center;
645
+ width: 100%;
646
+ height: 100%;
647
+ padding: 1rem;
648
+ text-align: center;
649
+ color: var(--vb-text-muted);
650
+ font-size: var(--vb-font-size-100);
651
+ }
652
+
653
+ @media (max-width: 900px) {
654
+ .vertebr-sync-diff-visual {
655
+ grid-template-columns: 1fr;
656
+ }
657
+ }
658
+
659
+ .vertebr-sync-diff-warnings {
660
+ margin: 0 0 var(--vb-space-400);
661
+ padding: var(--vb-space-300) var(--vb-space-400);
662
+ list-style: none;
663
+ border: 1px solid color-mix(in srgb, var(--vb-accent) 35%, var(--vb-border));
664
+ border-radius: var(--vb-radius-sm);
665
+ background: var(--vb-accent-soft);
666
+ color: var(--vb-accent-dim);
667
+ font-size: var(--vb-font-size-100);
668
+ }
669
+
670
+ .vertebr-sync-diff-empty {
671
+ margin: 0;
672
+ color: var(--vb-text-muted);
673
+ font-size: var(--vb-font-size-100);
674
+ }
675
+
676
+ .vertebr-sync-diff-table-wrap {
677
+ overflow: visible;
678
+ border: 1px solid var(--vb-border);
679
+ border-radius: var(--vb-radius-sm);
680
+ }
681
+
682
+ .vertebr-sync-diff-table {
683
+ width: 100%;
684
+ border-collapse: collapse;
685
+ table-layout: fixed;
686
+ font-size: var(--vb-font-size-100);
687
+ }
688
+
689
+ .vertebr-sync-diff-table th,
690
+ .vertebr-sync-diff-table td {
691
+ padding: 0.65rem 0.75rem;
692
+ border-bottom: 1px solid var(--vb-border-subdued);
693
+ vertical-align: top;
694
+ text-align: left;
695
+ }
696
+
697
+ .vertebr-sync-diff-table thead th {
698
+ position: sticky;
699
+ top: 0;
700
+ background: var(--vb-bg-muted);
701
+ color: var(--vb-text-subtle);
702
+ font-size: var(--vb-font-size-75);
703
+ font-weight: var(--vb-font-weight-semibold);
704
+ letter-spacing: 0.04em;
705
+ text-transform: uppercase;
706
+ z-index: 1;
707
+ }
708
+
709
+ .vertebr-sync-diff-table tbody th {
710
+ width: 22%;
711
+ font-weight: var(--vb-font-weight-medium);
712
+ color: var(--vb-text);
713
+ background: color-mix(in srgb, var(--vb-surface-tint) 55%, transparent);
714
+ }
715
+
716
+ .vertebr-sync-diff-table tbody th code {
717
+ font-family: var(--vb-mono);
718
+ font-size: 0.78rem;
719
+ word-break: break-word;
720
+ }
721
+
722
+ .vertebr-sync-diff-table td {
723
+ width: 39%;
724
+ }
725
+
726
+ .vertebr-sync-diff-table pre {
727
+ margin: 0;
728
+ white-space: pre-wrap;
729
+ word-break: break-word;
730
+ font-family: var(--vb-mono);
731
+ font-size: 0.78rem;
732
+ line-height: 1.45;
733
+ color: var(--vb-text);
734
+ }
735
+
736
+ .vertebr-sync-diff-table tbody tr:last-child th,
737
+ .vertebr-sync-diff-table tbody tr:last-child td {
738
+ border-bottom: 0;
739
+ }
740
+
361
741
  .vertebr-sync-excluded-list {
362
742
  list-style: none;
363
743
  margin: 0;
@@ -498,7 +878,7 @@
498
878
  }
499
879
 
500
880
  .vertebr-sync-target-row {
501
- grid-template-columns: auto 1fr;
881
+ grid-template-columns: 1fr;
502
882
  grid-template-rows: auto auto;
503
883
  }
504
884
 
@@ -517,6 +897,10 @@
517
897
  overflow: visible;
518
898
  text-overflow: unset;
519
899
  }
900
+
901
+ .vertebr-sync-diff-btn {
902
+ align-self: flex-start;
903
+ }
520
904
  }
521
905
 
522
906
  @media (max-width: 640px) {
@@ -53,6 +53,33 @@
53
53
  --vb-shadow: var(--vb-shadow-sm);
54
54
  }
55
55
 
56
+ /* Addon chips — dark pastel text is invisible on light surfaces */
57
+ [data-vb-theme="light"] .vertebr-addon-category[data-category="product"] {
58
+ color: #1d4ed8;
59
+ background: color-mix(in srgb, #3b82f6 14%, #fff);
60
+ }
61
+
62
+ [data-vb-theme="light"] .vertebr-addon-category[data-category="engagement"] {
63
+ color: #6d28d9;
64
+ background: color-mix(in srgb, #8b5cf6 14%, #fff);
65
+ }
66
+
67
+ [data-vb-theme="light"] .vertebr-addon-category[data-category="sales"] {
68
+ color: #047857;
69
+ background: color-mix(in srgb, #10b981 14%, #fff);
70
+ }
71
+
72
+ [data-vb-theme="light"] .vertebr-addon-status[data-enabled="true"] {
73
+ color: #047857;
74
+ border-color: color-mix(in srgb, #10b981 40%, var(--vb-border));
75
+ background: color-mix(in srgb, #10b981 10%, #fff);
76
+ }
77
+
78
+ [data-vb-theme="light"] .vertebr-addon-status[data-enabled="true"] .vertebr-addon-status-dot {
79
+ background: #059669;
80
+ box-shadow: 0 0 0 3px color-mix(in srgb, #10b981 16%, transparent);
81
+ }
82
+
56
83
  @media (prefers-color-scheme: light) {
57
84
  :root:not([data-vb-theme]) {
58
85
  color-scheme: light;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vertebr/react",
3
- "version": "0.10.0",
3
+ "version": "0.11.0",
4
4
  "description": "Vertebr admin dashboard UI",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -38,6 +38,7 @@
38
38
  "dependencies": {
39
39
  "@hookform/resolvers": "^5.2.1",
40
40
  "@radix-ui/react-label": "^2.1.7",
41
+ "@radix-ui/react-popover": "^1.1.23",
41
42
  "@radix-ui/react-select": "^2.3.7",
42
43
  "@radix-ui/react-separator": "^1.1.7",
43
44
  "@radix-ui/react-switch": "^1.2.5",
@@ -50,6 +51,7 @@
50
51
  "@tiptap/react": "^3.29.2",
51
52
  "@tiptap/starter-kit": "^3.29.2",
52
53
  "@vertebr/client": "*",
54
+ "react-day-picker": "^9.14.0",
53
55
  "react-hook-form": "^7.62.0",
54
56
  "zod": "^3.25.76"
55
57
  },