@adea-ai/ui 0.27.0 → 0.29.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.
@@ -122,9 +122,10 @@
122
122
  }
123
123
 
124
124
  .dev-workspace__body {
125
- display: grid;
125
+ position: relative;
126
+ display: flex;
126
127
  min-height: 0;
127
- grid-template-columns: minmax(13rem, 17rem) minmax(20rem, 1fr) minmax(13rem, 18rem);
128
+ min-width: 0;
128
129
  }
129
130
 
130
131
  .dev-sidebar,
@@ -136,6 +137,8 @@
136
137
 
137
138
  .dev-sidebar {
138
139
  display: flex;
140
+ flex: none;
141
+ width: clamp(13rem, 16vw, 17rem);
139
142
  flex-direction: column;
140
143
  padding: 0.65rem;
141
144
  border-inline-end: 1px solid var(--dev-border);
@@ -241,6 +244,7 @@
241
244
  }
242
245
 
243
246
  .dev-center {
247
+ flex: 1 1 auto;
244
248
  min-width: 0;
245
249
  min-height: 0;
246
250
  overflow: hidden;
@@ -324,6 +328,7 @@
324
328
  }
325
329
 
326
330
  .dev-pane {
331
+ position: relative;
327
332
  display: grid;
328
333
  min-width: 0;
329
334
  min-height: 0;
@@ -453,11 +458,137 @@
453
458
 
454
459
  .dev-utility {
455
460
  display: grid;
461
+ flex: none;
462
+ width: var(--dev-utility-size, 18rem);
456
463
  min-height: 0;
464
+ }
465
+
466
+ .dev-utility--size-240 {
467
+ --dev-utility-size: 15rem;
468
+ }
469
+
470
+ .dev-utility--size-336 {
471
+ --dev-utility-size: 21rem;
472
+ }
473
+
474
+ .dev-utility--size-384 {
475
+ --dev-utility-size: 24rem;
476
+ }
477
+
478
+ .dev-utility--right {
457
479
  grid-template-columns: 2.75rem minmax(0, 1fr);
458
480
  border-inline-start: 1px solid var(--dev-border);
459
481
  }
460
482
 
483
+ .dev-utility--left {
484
+ grid-template-columns: minmax(0, 1fr) 2.75rem;
485
+ border-inline-end: 1px solid var(--dev-border);
486
+ }
487
+
488
+ .dev-utility--left .dev-utility-tabs {
489
+ order: 2;
490
+ border-inline-end: 0;
491
+ border-inline-start: 1px solid var(--dev-border);
492
+ }
493
+
494
+ .dev-utility-splitter {
495
+ flex: none;
496
+ width: 0.45rem;
497
+ padding: 0;
498
+ border: 0;
499
+ border-inline: 1px solid var(--dev-border);
500
+ background: color-mix(in srgb, var(--foreground) 3%, transparent);
501
+ cursor: col-resize;
502
+ }
503
+
504
+ .dev-utility-splitter:hover,
505
+ .dev-utility-splitter:focus-visible {
506
+ background: color-mix(in srgb, var(--primary) 35%, transparent);
507
+ }
508
+
509
+ .dev-utility-splitter:focus-visible {
510
+ outline: 2px solid var(--ring);
511
+ outline-offset: -2px;
512
+ }
513
+
514
+ .dev-row-badges {
515
+ display: inline-flex;
516
+ flex: none;
517
+ gap: 0.2rem;
518
+ align-items: center;
519
+ margin-inline-start: auto;
520
+ }
521
+
522
+ .dev-row-badge {
523
+ padding: 0 0.3rem;
524
+ border: 1px solid var(--dev-border);
525
+ border-radius: 999px;
526
+ color: var(--dev-muted);
527
+ font-size: 0.56rem;
528
+ line-height: 1.4;
529
+ white-space: nowrap;
530
+ }
531
+
532
+ .dev-row-badge--success {
533
+ color: var(--success);
534
+ border-color: color-mix(in srgb, var(--success) 40%, transparent);
535
+ }
536
+
537
+ .dev-row-badge--failure {
538
+ color: var(--destructive);
539
+ border-color: color-mix(in srgb, var(--destructive) 40%, transparent);
540
+ }
541
+
542
+ .dev-row-badge--progress {
543
+ color: var(--primary);
544
+ border-color: color-mix(in srgb, var(--primary) 40%, transparent);
545
+ }
546
+
547
+ .dev-tree-row__title {
548
+ overflow: hidden;
549
+ text-overflow: ellipsis;
550
+ white-space: nowrap;
551
+ }
552
+
553
+ .dev-pane header {
554
+ cursor: grab;
555
+ }
556
+
557
+ .dev-pane-grip {
558
+ color: var(--dev-muted);
559
+ }
560
+
561
+ .dev-pane-drop-hint {
562
+ position: absolute;
563
+ inset: 0;
564
+ pointer-events: none;
565
+ opacity: 0;
566
+ }
567
+
568
+ .dev-pane-drop-hint.dev-pane--drop-row-before,
569
+ .dev-pane-drop-hint.dev-pane--drop-row-after,
570
+ .dev-pane-drop-hint.dev-pane--drop-column-before,
571
+ .dev-pane-drop-hint.dev-pane--drop-column-after {
572
+ opacity: 1;
573
+ background: color-mix(in srgb, var(--ring) 8%, transparent);
574
+ }
575
+
576
+ .dev-pane-drop-hint.dev-pane--drop-row-before {
577
+ box-shadow: inset 0.2rem 0 0 var(--ring);
578
+ }
579
+
580
+ .dev-pane-drop-hint.dev-pane--drop-row-after {
581
+ box-shadow: inset -0.2rem 0 0 var(--ring);
582
+ }
583
+
584
+ .dev-pane-drop-hint.dev-pane--drop-column-before {
585
+ box-shadow: inset 0 0.2rem 0 var(--ring);
586
+ }
587
+
588
+ .dev-pane-drop-hint.dev-pane--drop-column-after {
589
+ box-shadow: inset 0 -0.2rem 0 var(--ring);
590
+ }
591
+
461
592
  .dev-utility-tabs {
462
593
  display: flex;
463
594
  flex-direction: column;
@@ -512,65 +643,109 @@
512
643
 
513
644
  .workspace-frame:has(.dev-workspace--focus) > .global-rail,
514
645
  .dev-workspace--focus .dev-sidebar,
515
- .dev-workspace--focus .dev-utility {
646
+ .dev-workspace--focus .dev-utility,
647
+ .dev-workspace--focus .dev-utility-splitter {
516
648
  display: none;
517
649
  }
518
650
 
519
- .dev-workspace--focus .dev-workspace__body {
520
- grid-template-columns: minmax(0, 1fr);
651
+ .dev-workspace--left-full .dev-sidebar,
652
+ .dev-workspace--left-full .dev-center,
653
+ .dev-workspace--left-full .dev-utility--right,
654
+ .dev-workspace--left-full .dev-utility-splitter {
655
+ display: none;
521
656
  }
522
657
 
523
- .dev-workspace--utility-full .dev-sidebar,
524
- .dev-workspace--utility-full .dev-center {
525
- display: none;
658
+ .dev-workspace--left-full .dev-utility--left {
659
+ flex: 1 1 auto;
660
+ width: auto;
661
+ border-inline-end: 0;
526
662
  }
527
663
 
528
- .dev-workspace--utility-full .dev-workspace__body {
529
- grid-template-columns: minmax(0, 1fr);
664
+ .dev-workspace--right-full .dev-sidebar,
665
+ .dev-workspace--right-full .dev-center,
666
+ .dev-workspace--right-full .dev-utility--left,
667
+ .dev-workspace--right-full .dev-utility-splitter {
668
+ display: none;
530
669
  }
531
670
 
532
- .dev-workspace--utility-full .dev-utility {
671
+ .dev-workspace--right-full .dev-utility--right {
672
+ flex: 1 1 auto;
673
+ width: auto;
533
674
  border-inline-start: 0;
534
675
  }
535
676
 
536
- .dev-sidebar-toggle,
537
- .dev-utility-toggle {
677
+ .dev-sidebar-toggle {
538
678
  display: none;
539
679
  }
540
680
 
541
681
  @media (max-width: 70rem) {
542
- .dev-workspace__body {
543
- grid-template-columns: minmax(12rem, 15rem) minmax(0, 1fr);
682
+ .dev-sidebar {
683
+ width: clamp(12rem, 30vw, 15rem);
544
684
  }
545
685
 
546
686
  .dev-utility {
547
687
  position: absolute;
548
688
  z-index: 4;
549
- inset-block: 3rem 0;
550
- inset-inline-end: 0;
689
+ inset-block: 0;
551
690
  width: min(19rem, 78vw);
691
+ visibility: hidden;
692
+ transition:
693
+ transform 160ms ease,
694
+ visibility 0s linear 160ms;
695
+ }
696
+
697
+ .dev-utility--right {
698
+ inset-inline-end: 0;
699
+ transform: translateX(105%);
552
700
  box-shadow: -0.5rem 0 2rem color-mix(in srgb, var(--scrim) 12%, transparent);
553
701
  }
702
+
703
+ .dev-utility--left {
704
+ inset-inline-start: 0;
705
+ transform: translateX(-105%);
706
+ box-shadow: 0.5rem 0 2rem color-mix(in srgb, var(--scrim) 12%, transparent);
707
+ }
708
+
709
+ .dev-utility--open {
710
+ visibility: visible;
711
+ transform: translateX(0);
712
+ transition-delay: 0s;
713
+ }
714
+
715
+ .dev-utility-splitter {
716
+ display: none;
717
+ }
554
718
  }
555
719
 
556
720
  @media (max-width: 48rem) {
557
- .dev-sidebar-toggle,
558
- .dev-utility-toggle {
721
+ .dev-sidebar-toggle {
559
722
  display: inline-grid;
560
723
  }
561
724
 
562
- .dev-toolbar__actions .dev-button {
725
+ .dev-toolbar__actions .dev-button--secondary {
563
726
  display: none;
564
727
  }
565
728
 
566
- .dev-workspace__body {
567
- grid-template-columns: minmax(0, 1fr);
729
+ .dev-toolbar__actions .dev-button--toggle {
730
+ display: inline-grid;
731
+ width: 2rem;
732
+ padding: 0;
733
+ place-items: center;
734
+ }
735
+
736
+ .dev-toolbar__actions .dev-button--toggle span {
737
+ position: absolute;
738
+ width: 1px;
739
+ height: 1px;
740
+ overflow: hidden;
741
+ clip: rect(0, 0, 0, 0);
742
+ white-space: nowrap;
568
743
  }
569
744
 
570
745
  .dev-sidebar {
571
746
  position: absolute;
572
747
  z-index: 5;
573
- inset-block: 3rem 0;
748
+ inset-block: 0;
574
749
  inset-inline-start: 0;
575
750
  width: min(17rem, 84vw);
576
751
  visibility: hidden;
@@ -597,21 +772,6 @@
597
772
  border-block: 1px solid var(--dev-border);
598
773
  border-inline: 0;
599
774
  }
600
-
601
- .dev-utility {
602
- display: grid;
603
- visibility: hidden;
604
- transform: translateX(105%);
605
- transition:
606
- transform 160ms ease,
607
- visibility 0s linear 160ms;
608
- }
609
-
610
- .dev-utility--open {
611
- visibility: visible;
612
- transform: translateX(0);
613
- transition-delay: 0s;
614
- }
615
775
  }
616
776
 
617
777
  @media (pointer: coarse) {
@@ -72,6 +72,62 @@
72
72
  --z-dialog: 120;
73
73
  --z-menu: 140;
74
74
  --z-tooltip: 160;
75
+ /* Surface glass. The appearance provider resolves the effective surface
76
+ (opaque/frosted/translucent) and reduced-transparency policy; these
77
+ declarations are the opaque defaults plus the frost amounts the resolved
78
+ values modulate. */
79
+ --surface-alpha: 1;
80
+ --surface-frost: 0.92;
81
+ --surface-translucent: 0.8;
82
+ /* Terminal roles for the default light variant (xterm ANSI, cursor,
83
+ selection). Non-default variants apply their manifest values inline; the
84
+ terminal consumes the custom properties so a theme switch updates a live
85
+ session without remounting. */
86
+ --terminal-background: #ffffff;
87
+ --terminal-foreground: #1b1f24;
88
+ --terminal-cursor: #24292f;
89
+ --terminal-selection: #b6c7ff;
90
+ --terminal-ansi-black: #1b1f24;
91
+ --terminal-ansi-red: #b91c1c;
92
+ --terminal-ansi-green: #116a2e;
93
+ --terminal-ansi-yellow: #8a5a1b;
94
+ --terminal-ansi-blue: #0b57d0;
95
+ --terminal-ansi-magenta: #a0186f;
96
+ --terminal-ansi-cyan: #0e7490;
97
+ --terminal-ansi-white: #57606a;
98
+ --terminal-ansi-bright-black: #57606a;
99
+ --terminal-ansi-bright-red: #c94d4d;
100
+ --terminal-ansi-bright-green: #1f9d4f;
101
+ --terminal-ansi-bright-yellow: #a9752c;
102
+ --terminal-ansi-bright-blue: #3b82f6;
103
+ --terminal-ansi-bright-magenta: #c04a92;
104
+ --terminal-ansi-bright-cyan: #0891b2;
105
+ --terminal-ansi-bright-white: #24292f;
106
+ /* Editor roles (CodeMirror syntax/diff/search) for the default light
107
+ variant. */
108
+ --editor-keyword: #0b57d0;
109
+ --editor-string: #116a2e;
110
+ --editor-number: #8a5a1b;
111
+ --editor-comment: #57606a;
112
+ --editor-function: #a0186f;
113
+ --editor-variable: #1b1f24;
114
+ --editor-type: #0e7490;
115
+ --editor-tag: #b91c1c;
116
+ --editor-attribute: #8a5a1b;
117
+ --editor-operator: #1b1f24;
118
+ --editor-heading: #1b1f24;
119
+ --editor-link: #0b57d0;
120
+ --editor-diff-add: #116a2e;
121
+ --editor-diff-delete: #b91c1c;
122
+ --editor-diff-hunk: #57606a;
123
+ --editor-search-match: #8a5a1b;
124
+ /* Chart series roles. */
125
+ --chart-1: #0b57d0;
126
+ --chart-2: #116a2e;
127
+ --chart-3: #8a5a1b;
128
+ --chart-4: #a0186f;
129
+ --chart-5: #0e7490;
130
+ --chart-6: #57606a;
75
131
  }
76
132
 
77
133
  .dark {
@@ -94,6 +150,72 @@
94
150
  --border: oklch(1 0 0 / 10%);
95
151
  --input: oklch(1 0 0 / 15%);
96
152
  --ring: oklch(0.556 0 0);
153
+ /* Terminal/editor/chart roles for the default dark variant. */
154
+ --terminal-background: #0d1117;
155
+ --terminal-foreground: #e6edf3;
156
+ --terminal-cursor: #e6edf3;
157
+ --terminal-selection: #264f78;
158
+ --terminal-ansi-black: #2f3742;
159
+ --terminal-ansi-red: #ff8183;
160
+ --terminal-ansi-green: #56d364;
161
+ --terminal-ansi-yellow: #e3b341;
162
+ --terminal-ansi-blue: #6ca4f8;
163
+ --terminal-ansi-magenta: #db61a2;
164
+ --terminal-ansi-cyan: #39c5cf;
165
+ --terminal-ansi-white: #d5dde5;
166
+ --terminal-ansi-bright-black: #57606a;
167
+ --terminal-ansi-bright-red: #ff9494;
168
+ --terminal-ansi-bright-green: #79dd8a;
169
+ --terminal-ansi-bright-yellow: #f0c264;
170
+ --terminal-ansi-bright-blue: #8db9ff;
171
+ --terminal-ansi-bright-magenta: #e87cb4;
172
+ --terminal-ansi-bright-cyan: #66d3dc;
173
+ --terminal-ansi-bright-white: #eef2f6;
174
+ --editor-keyword: #6ca4f8;
175
+ --editor-string: #56d364;
176
+ --editor-number: #e3b341;
177
+ --editor-comment: #8b949e;
178
+ --editor-function: #db61a2;
179
+ --editor-variable: #e6edf3;
180
+ --editor-type: #39c5cf;
181
+ --editor-tag: #ff8183;
182
+ --editor-attribute: #e3b341;
183
+ --editor-operator: #e6edf3;
184
+ --editor-heading: #e6edf3;
185
+ --editor-link: #6ca4f8;
186
+ --editor-diff-add: #56d364;
187
+ --editor-diff-delete: #ff8183;
188
+ --editor-diff-hunk: #8b949e;
189
+ --editor-search-match: #e3b341;
190
+ --chart-1: #6ca4f8;
191
+ --chart-2: #56d364;
192
+ --chart-3: #e3b341;
193
+ --chart-4: #db61a2;
194
+ --chart-5: #39c5cf;
195
+ --chart-6: #8b949e;
196
+ }
197
+
198
+ /* Surface glass amounts. The provider resolves the effective surface and the
199
+ reduced-transparency policy; this media query is the OS-level backstop so a
200
+ frost amount can never outlive a system Reduce Transparency setting. */
201
+ @media (prefers-reduced-transparency: reduce) {
202
+ :root {
203
+ --surface-alpha: 1;
204
+ }
205
+ }
206
+
207
+ /* Appearance picker swatches (see components/theme-swatch.tsx). The dot
208
+ color itself is runtime token data applied by the component. */
209
+ .theme-swatch {
210
+ display: inline-flex;
211
+ gap: 0.25rem;
212
+ }
213
+ .theme-swatch__dot {
214
+ display: inline-block;
215
+ width: 0.875rem;
216
+ height: 0.875rem;
217
+ border-radius: calc(infinity * 1px);
218
+ border: 1px solid var(--border);
97
219
  }
98
220
 
99
221
  @layer base {