@corbits/react-ui 0.1.0 → 0.3.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 (170) hide show
  1. package/LICENSE +174 -499
  2. package/README.md +228 -85
  3. package/dist/blocks/login/auth-layout.d.ts +1 -1
  4. package/dist/blocks/login/auth-layout.js +3 -33
  5. package/dist/blocks/login/login-form.js +6 -119
  6. package/dist/hooks/use-command-palette-navigation.js +18 -17
  7. package/dist/hooks/use-controllable-state.d.ts +2 -2
  8. package/dist/hooks/use-controllable-state.js +23 -15
  9. package/dist/hooks/use-delayed-autofocus.js +10 -11
  10. package/dist/hooks/use-dismissable-popover.d.ts +2 -2
  11. package/dist/hooks/use-dismissable-popover.js +21 -29
  12. package/dist/hooks/use-list-selection.js +54 -85
  13. package/dist/hooks/use-prefers-reduced-motion.js +8 -4
  14. package/dist/hooks/use-scroll-current-into-view.js +5 -7
  15. package/dist/index.d.ts +0 -11
  16. package/dist/index.js +10 -19
  17. package/dist/lib/artifact.js +16 -35
  18. package/dist/lib/chart-geometry.js +33 -20
  19. package/dist/lib/chart-palette.js +17 -31
  20. package/dist/lib/chat-message.js +32 -13
  21. package/dist/lib/chat-parts.js +2 -1
  22. package/dist/lib/csv.js +42 -26
  23. package/dist/lib/metrics.js +30 -48
  24. package/dist/lib/now-item.js +26 -25
  25. package/dist/lib/relative-time.js +14 -29
  26. package/dist/lib/theme.js +32 -30
  27. package/dist/lib/url.js +9 -8
  28. package/dist/lib/workflow-display-flow.js +37 -33
  29. package/dist/lib/workflow-registry.d.ts +0 -41
  30. package/dist/lib/workflow-registry.js +13 -23
  31. package/dist/lib/workflow-run-error.js +16 -20
  32. package/dist/lib/workflow-run-progress.js +94 -52
  33. package/dist/lib/workflow-run.js +17 -13
  34. package/dist/styles.css +257 -19
  35. package/dist/test/render-hook.js +11 -12
  36. package/dist/theme.css +92 -14
  37. package/dist/ui/agent-turn.d.ts +1 -1
  38. package/dist/ui/agent-turn.js +4 -37
  39. package/dist/ui/animated-number.js +15 -28
  40. package/dist/ui/approval-card.js +5 -90
  41. package/dist/ui/artifact-body.js +47 -125
  42. package/dist/ui/artifact-notice.d.ts +1 -1
  43. package/dist/ui/artifact-notice.js +9 -16
  44. package/dist/ui/avatar.d.ts +21 -4
  45. package/dist/ui/avatar.js +40 -49
  46. package/dist/ui/badge.js +4 -12
  47. package/dist/ui/bar-chart.d.ts +1 -1
  48. package/dist/ui/bar-chart.js +22 -74
  49. package/dist/ui/block-card.js +7 -45
  50. package/dist/ui/boot-screen.d.ts +1 -1
  51. package/dist/ui/boot-screen.js +4 -33
  52. package/dist/ui/bulk-action-bar.d.ts +1 -1
  53. package/dist/ui/bulk-action-bar.js +14 -33
  54. package/dist/ui/button.js +10 -24
  55. package/dist/ui/card.js +5 -25
  56. package/dist/ui/category-bars.js +14 -59
  57. package/dist/ui/chart-frame.d.ts +2 -2
  58. package/dist/ui/chart-frame.js +6 -85
  59. package/dist/ui/chat-composer.js +4 -16
  60. package/dist/ui/chat-dock-timing.js +7 -3
  61. package/dist/ui/chat-input.js +20 -100
  62. package/dist/ui/chat-panel.d.ts +1 -1
  63. package/dist/ui/chat-panel.js +7 -41
  64. package/dist/ui/chat-thread.js +13 -31
  65. package/dist/ui/checkbox.js +10 -52
  66. package/dist/ui/command-palette.js +85 -246
  67. package/dist/ui/compare-body.d.ts +1 -1
  68. package/dist/ui/compare-body.js +28 -98
  69. package/dist/ui/confirm-button.js +8 -15
  70. package/dist/ui/corbits-mark.js +7 -16
  71. package/dist/ui/csv-table.d.ts +1 -1
  72. package/dist/ui/csv-table.js +8 -50
  73. package/dist/ui/dialog.d.ts +1 -1
  74. package/dist/ui/dialog.js +32 -62
  75. package/dist/ui/dictation-status-line.js +7 -25
  76. package/dist/ui/dither-canvas.d.ts +1 -1
  77. package/dist/ui/dither-canvas.js +31 -56
  78. package/dist/ui/embed-body.d.ts +1 -1
  79. package/dist/ui/embed-body.js +7 -56
  80. package/dist/ui/empty-state.d.ts +1 -1
  81. package/dist/ui/empty-state.js +3 -26
  82. package/dist/ui/file-input.js +17 -37
  83. package/dist/ui/filter-bar.d.ts +1 -1
  84. package/dist/ui/filter-bar.js +11 -71
  85. package/dist/ui/filter-chip.d.ts +1 -1
  86. package/dist/ui/filter-chip.js +7 -15
  87. package/dist/ui/gate-block.d.ts +2 -1
  88. package/dist/ui/gate-block.js +4 -29
  89. package/dist/ui/horizontal-stepper.d.ts +1 -1
  90. package/dist/ui/horizontal-stepper.js +18 -45
  91. package/dist/ui/input.js +1 -6
  92. package/dist/ui/inspector-shell.d.ts +5 -5
  93. package/dist/ui/inspector-shell.js +14 -81
  94. package/dist/ui/intake-form.d.ts +1 -1
  95. package/dist/ui/intake-form.js +21 -97
  96. package/dist/ui/kind-card-grid.js +9 -31
  97. package/dist/ui/library-page-header.js +4 -32
  98. package/dist/ui/list-detail.js +5 -35
  99. package/dist/ui/live-run-banner.d.ts +1 -1
  100. package/dist/ui/live-run-banner.js +5 -15
  101. package/dist/ui/live-status-line.js +6 -24
  102. package/dist/ui/menu.js +7 -24
  103. package/dist/ui/message-bubble.d.ts +3 -3
  104. package/dist/ui/message-bubble.js +5 -44
  105. package/dist/ui/mic-button.d.ts +1 -1
  106. package/dist/ui/mic-button.js +15 -21
  107. package/dist/ui/mic-permission-dialog.js +5 -41
  108. package/dist/ui/notifications-bell.js +9 -43
  109. package/dist/ui/now-cards.d.ts +2 -2
  110. package/dist/ui/now-cards.js +16 -94
  111. package/dist/ui/page-panel.js +11 -11
  112. package/dist/ui/page-shell.js +4 -11
  113. package/dist/ui/parts-renderer.js +51 -149
  114. package/dist/ui/profile-card.js +7 -111
  115. package/dist/ui/progress-checklist.js +11 -49
  116. package/dist/ui/provider-mark.d.ts +2 -2
  117. package/dist/ui/provider-mark.js +9 -16
  118. package/dist/ui/quick-reply-chips.js +6 -14
  119. package/dist/ui/quote-card.js +12 -32
  120. package/dist/ui/reasoning-block.d.ts +1 -1
  121. package/dist/ui/reasoning-block.js +14 -33
  122. package/dist/ui/research-body.js +32 -213
  123. package/dist/ui/rich-empty-state.js +6 -48
  124. package/dist/ui/run-now-button.js +14 -15
  125. package/dist/ui/section.d.ts +1 -1
  126. package/dist/ui/section.js +4 -40
  127. package/dist/ui/select.js +1 -15
  128. package/dist/ui/selection-checkbox.d.ts +1 -1
  129. package/dist/ui/selection-checkbox.js +11 -29
  130. package/dist/ui/settings-panel.js +7 -50
  131. package/dist/ui/shimmer-text.js +3 -6
  132. package/dist/ui/sidebar-item-row.d.ts +1 -1
  133. package/dist/ui/sidebar-item-row.js +9 -39
  134. package/dist/ui/sidebar-panel.js +15 -40
  135. package/dist/ui/sidebar.js +15 -76
  136. package/dist/ui/skeleton.js +3 -7
  137. package/dist/ui/sortable-table.js +29 -72
  138. package/dist/ui/sparkline.js +14 -38
  139. package/dist/ui/stat-grid.js +17 -52
  140. package/dist/ui/status-dot.d.ts +1 -1
  141. package/dist/ui/status-dot.js +8 -20
  142. package/dist/ui/step-list.d.ts +1 -0
  143. package/dist/ui/step-list.js +11 -50
  144. package/dist/ui/switch.js +4 -16
  145. package/dist/ui/table.js +7 -32
  146. package/dist/ui/tabs.js +39 -54
  147. package/dist/ui/textarea.js +10 -19
  148. package/dist/ui/theme-provider.js +54 -78
  149. package/dist/ui/theme-toggle.js +13 -16
  150. package/dist/ui/thinking-indicator.js +3 -15
  151. package/dist/ui/thinking-label.js +16 -35
  152. package/dist/ui/thinking-mark.d.ts +1 -1
  153. package/dist/ui/thinking-mark.js +4 -145
  154. package/dist/ui/time-series-chart.js +43 -174
  155. package/dist/ui/toast.js +12 -20
  156. package/dist/ui/token-mosaic.js +5 -43
  157. package/dist/ui/tool-block.js +18 -70
  158. package/dist/ui/tool-narrative.d.ts +1 -1
  159. package/dist/ui/tool-narrative.js +10 -57
  160. package/dist/ui/tool-picker.js +57 -145
  161. package/dist/ui/tooltip.d.ts +1 -1
  162. package/dist/ui/tooltip.js +4 -33
  163. package/dist/ui/top-bar.js +14 -72
  164. package/dist/ui/trace-waterfall.d.ts +1 -1
  165. package/dist/ui/trace-waterfall.js +21 -93
  166. package/dist/ui/typing-indicator.d.ts +1 -1
  167. package/dist/ui/typing-indicator.js +4 -18
  168. package/dist/ui/view-toggle.js +10 -29
  169. package/dist/ui/voice-waveform.js +3 -11
  170. package/package.json +96 -535
package/dist/styles.css CHANGED
@@ -5,6 +5,9 @@
5
5
  :root, :host {
6
6
  --font-sans: "Red Hat Display", "Open Sans", Roboto, Arial, sans-serif;
7
7
  --font-mono: "Space Mono", "Fira Code", Monaco, Consolas, monospace;
8
+ --color-blue-500: oklch(62.3% 0.214 259.815);
9
+ --color-gray-100: oklch(96.7% 0.003 264.542);
10
+ --color-gray-900: oklch(21% 0.034 264.665);
8
11
  --color-black: #000;
9
12
  --color-white: #fff;
10
13
  --spacing: 0.25rem;
@@ -26,8 +29,11 @@
26
29
  --text-lg--line-height: calc(1.75 / 1.125);
27
30
  --text-xl: 1.25rem;
28
31
  --text-xl--line-height: calc(1.75 / 1.25);
32
+ --text-2xl: 1.5rem;
33
+ --text-2xl--line-height: calc(2 / 1.5);
29
34
  --text-3xl: 1.875rem;
30
35
  --text-3xl--line-height: calc(2.25 / 1.875);
36
+ --font-weight-normal: 400;
31
37
  --font-weight-medium: 500;
32
38
  --font-weight-semibold: 600;
33
39
  --font-weight-bold: 700;
@@ -48,10 +54,6 @@
48
54
  --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
49
55
  --default-font-family: "Red Hat Display", "Open Sans", Roboto, Arial, sans-serif;
50
56
  --default-mono-font-family: "Space Mono", "Fira Code", Monaco, Consolas, monospace;
51
- --text-icon-nav: var(--icon-size-nav);
52
- --text-icon-topbar: var(--icon-size-topbar);
53
- --text-icon-button: var(--icon-size-button);
54
- --text-icon-checkbox: var(--icon-size-checkbox);
55
57
  }
56
58
  }
57
59
  @layer base {
@@ -256,6 +258,9 @@
256
258
  .top-1\/2 {
257
259
  top: calc(1 / 2 * 100%);
258
260
  }
261
+ .top-4 {
262
+ top: calc(var(--spacing) * 4);
263
+ }
259
264
  .top-6 {
260
265
  top: calc(var(--spacing) * 6);
261
266
  }
@@ -277,15 +282,24 @@
277
282
  .right-2 {
278
283
  right: calc(var(--spacing) * 2);
279
284
  }
285
+ .right-4 {
286
+ right: calc(var(--spacing) * 4);
287
+ }
280
288
  .right-\[0\.85rem\] {
281
289
  right: 0.85rem;
282
290
  }
291
+ .right-auto {
292
+ right: auto;
293
+ }
283
294
  .-bottom-0\.5 {
284
295
  bottom: calc(var(--spacing) * -0.5);
285
296
  }
286
297
  .bottom-6 {
287
298
  bottom: calc(var(--spacing) * 6);
288
299
  }
300
+ .-left-0\.5 {
301
+ left: calc(var(--spacing) * -0.5);
302
+ }
289
303
  .left-0 {
290
304
  left: 0px;
291
305
  }
@@ -301,6 +315,12 @@
301
315
  .z-50 {
302
316
  z-index: 50;
303
317
  }
318
+ .z-90 {
319
+ z-index: 90;
320
+ }
321
+ .z-100 {
322
+ z-index: 100;
323
+ }
304
324
  .col-start-1 {
305
325
  grid-column-start: 1;
306
326
  }
@@ -492,6 +512,10 @@
492
512
  width: calc(var(--spacing) * 12);
493
513
  height: calc(var(--spacing) * 12);
494
514
  }
515
+ .size-14 {
516
+ width: calc(var(--spacing) * 14);
517
+ height: calc(var(--spacing) * 14);
518
+ }
495
519
  .size-\[1\.8rem\] {
496
520
  width: 1.8rem;
497
521
  height: 1.8rem;
@@ -524,6 +548,12 @@
524
548
  .h-6 {
525
549
  height: calc(var(--spacing) * 6);
526
550
  }
551
+ .h-6\.5 {
552
+ height: calc(var(--spacing) * 6.5);
553
+ }
554
+ .h-7 {
555
+ height: calc(var(--spacing) * 7);
556
+ }
527
557
  .h-8 {
528
558
  height: calc(var(--spacing) * 8);
529
559
  }
@@ -539,6 +569,9 @@
539
569
  .h-12 {
540
570
  height: calc(var(--spacing) * 12);
541
571
  }
572
+ .h-28 {
573
+ height: calc(var(--spacing) * 28);
574
+ }
542
575
  .h-40 {
543
576
  height: calc(var(--spacing) * 40);
544
577
  }
@@ -551,6 +584,9 @@
551
584
  .h-96 {
552
585
  height: calc(var(--spacing) * 96);
553
586
  }
587
+ .h-\[18px\] {
588
+ height: 18px;
589
+ }
554
590
  .h-\[520px\] {
555
591
  height: 520px;
556
592
  }
@@ -563,6 +599,9 @@
563
599
  .h-px {
564
600
  height: 1px;
565
601
  }
602
+ .max-h-40 {
603
+ max-height: calc(var(--spacing) * 40);
604
+ }
566
605
  .max-h-48 {
567
606
  max-height: calc(var(--spacing) * 48);
568
607
  }
@@ -572,6 +611,9 @@
572
611
  .max-h-64 {
573
612
  max-height: calc(var(--spacing) * 64);
574
613
  }
614
+ .max-h-80 {
615
+ max-height: calc(var(--spacing) * 80);
616
+ }
575
617
  .max-h-96 {
576
618
  max-height: calc(var(--spacing) * 96);
577
619
  }
@@ -581,6 +623,9 @@
581
623
  .max-h-\[75vh\] {
582
624
  max-height: 75vh;
583
625
  }
626
+ .max-h-\[80vh\] {
627
+ max-height: 80vh;
628
+ }
584
629
  .max-h-\[480px\] {
585
630
  max-height: 480px;
586
631
  }
@@ -602,6 +647,9 @@
602
647
  .min-h-16 {
603
648
  min-height: calc(var(--spacing) * 16);
604
649
  }
650
+ .min-h-dvh {
651
+ min-height: 100dvh;
652
+ }
605
653
  .min-h-full {
606
654
  min-height: 100%;
607
655
  }
@@ -617,6 +665,9 @@
617
665
  .w-1\/3 {
618
666
  width: calc(1 / 3 * 100%);
619
667
  }
668
+ .w-3\/4 {
669
+ width: calc(3 / 4 * 100%);
670
+ }
620
671
  .w-4 {
621
672
  width: calc(var(--spacing) * 4);
622
673
  }
@@ -626,6 +677,9 @@
626
677
  .w-6 {
627
678
  width: calc(var(--spacing) * 6);
628
679
  }
680
+ .w-7 {
681
+ width: calc(var(--spacing) * 7);
682
+ }
629
683
  .w-8 {
630
684
  width: calc(var(--spacing) * 8);
631
685
  }
@@ -662,6 +716,9 @@
662
716
  .w-96 {
663
717
  width: calc(var(--spacing) * 96);
664
718
  }
719
+ .w-\[18px\] {
720
+ width: 18px;
721
+ }
665
722
  .w-\[30px\] {
666
723
  width: 30px;
667
724
  }
@@ -683,9 +740,15 @@
683
740
  .max-w-40 {
684
741
  max-width: calc(var(--spacing) * 40);
685
742
  }
743
+ .max-w-44 {
744
+ max-width: calc(var(--spacing) * 44);
745
+ }
686
746
  .max-w-64 {
687
747
  max-width: calc(var(--spacing) * 64);
688
748
  }
749
+ .max-w-\[26rem\] {
750
+ max-width: 26rem;
751
+ }
689
752
  .max-w-\[32ch\] {
690
753
  max-width: 32ch;
691
754
  }
@@ -728,6 +791,9 @@
728
791
  .min-w-32 {
729
792
  min-width: calc(var(--spacing) * 32);
730
793
  }
794
+ .min-w-64 {
795
+ min-width: calc(var(--spacing) * 64);
796
+ }
731
797
  .min-w-\[3\.5rem\] {
732
798
  min-width: 3.5rem;
733
799
  }
@@ -819,6 +885,12 @@
819
885
  .\[animation\:corbits-boot-sweep_1\.4s_ease-in-out_infinite\] {
820
886
  animation: corbits-boot-sweep 1.4s ease-in-out infinite;
821
887
  }
888
+ .\[animation\:corbits-fade-in_150ms_ease-out\] {
889
+ animation: corbits-fade-in 150ms ease-out;
890
+ }
891
+ .\[animation\:corbits-fade-in_200ms_ease-out\] {
892
+ animation: corbits-fade-in 200ms ease-out;
893
+ }
822
894
  .\[animation\:corbits-rail-block-in_200ms_var\(--ease-out\)_both\] {
823
895
  animation: corbits-rail-block-in 200ms var(--ease-out) both;
824
896
  }
@@ -864,6 +936,9 @@
864
936
  .resize-none {
865
937
  resize: none;
866
938
  }
939
+ .resize-y {
940
+ resize: vertical;
941
+ }
867
942
  .\[scrollbar-width\:thin\] {
868
943
  scrollbar-width: thin;
869
944
  }
@@ -894,6 +969,9 @@
894
969
  .grid-cols-\[minmax\(7rem\,11rem\)_1fr_minmax\(4\.5rem\,6rem\)\] {
895
970
  grid-template-columns: minmax(7rem,11rem) 1fr minmax(4.5rem,6rem);
896
971
  }
972
+ .grid-cols-\[repeat\(auto-fill\,minmax\(11rem\,1fr\)\)\] {
973
+ grid-template-columns: repeat(auto-fill,minmax(11rem,1fr));
974
+ }
897
975
  .grid-rows-\[0fr\] {
898
976
  grid-template-rows: 0fr;
899
977
  }
@@ -930,6 +1008,9 @@
930
1008
  .justify-end {
931
1009
  justify-content: flex-end;
932
1010
  }
1011
+ .justify-start {
1012
+ justify-content: flex-start;
1013
+ }
933
1014
  .gap-0 {
934
1015
  gap: 0px;
935
1016
  }
@@ -992,6 +1073,16 @@
992
1073
  .gap-y-1 {
993
1074
  row-gap: var(--spacing);
994
1075
  }
1076
+ :where(.divide-y > :not(:last-child)) {
1077
+ --tw-divide-y-reverse: 0;
1078
+ border-bottom-style: var(--tw-border-style);
1079
+ border-top-style: var(--tw-border-style);
1080
+ border-top-width: calc(1px * var(--tw-divide-y-reverse));
1081
+ border-bottom-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
1082
+ }
1083
+ :where(.divide-border > :not(:last-child)) {
1084
+ border-color: var(--border);
1085
+ }
995
1086
  .self-start {
996
1087
  align-self: flex-start;
997
1088
  }
@@ -1030,9 +1121,15 @@
1030
1121
  .rounded-\[3px\] {
1031
1122
  border-radius: 3px;
1032
1123
  }
1124
+ .rounded-\[10px\] {
1125
+ border-radius: 10px;
1126
+ }
1033
1127
  .rounded-\[12px\] {
1034
1128
  border-radius: 12px;
1035
1129
  }
1130
+ .rounded-\[var\(--avatar-radius\,var\(--radius\)\)\] {
1131
+ border-radius: var(--avatar-radius,var(--radius));
1132
+ }
1036
1133
  .rounded-\[var\(--sidebar-row-radius\)\] {
1037
1134
  border-radius: var(--sidebar-row-radius);
1038
1135
  }
@@ -1178,6 +1275,15 @@
1178
1275
  background-color: color-mix(in oklab, var(--color-black) 50%, transparent);
1179
1276
  }
1180
1277
  }
1278
+ .bg-black\/60 {
1279
+ background-color: color-mix(in srgb, #000 60%, transparent);
1280
+ @supports (color: color-mix(in lab, red, red)) {
1281
+ background-color: color-mix(in oklab, var(--color-black) 60%, transparent);
1282
+ }
1283
+ }
1284
+ .bg-blue-500 {
1285
+ background-color: var(--color-blue-500);
1286
+ }
1181
1287
  .bg-border {
1182
1288
  background-color: var(--border);
1183
1289
  }
@@ -1229,6 +1335,9 @@
1229
1335
  background-color: color-mix(in oklab, var(--muted) 40%, transparent);
1230
1336
  }
1231
1337
  }
1338
+ .bg-ok {
1339
+ background-color: var(--ok);
1340
+ }
1232
1341
  .bg-popover {
1233
1342
  background-color: var(--popover);
1234
1343
  }
@@ -1274,6 +1383,9 @@
1274
1383
  .bg-transparent {
1275
1384
  background-color: transparent;
1276
1385
  }
1386
+ .bg-white {
1387
+ background-color: var(--color-white);
1388
+ }
1277
1389
  .\[background-image\:linear-gradient\(90deg\,var\(--muted-foreground\)_40\%\,var\(--foreground\)_50\%\,var\(--muted-foreground\)_60\%\)\] {
1278
1390
  background-image: linear-gradient(90deg,var(--muted-foreground) 40%,var(--foreground) 50%,var(--muted-foreground) 60%);
1279
1391
  }
@@ -1307,6 +1419,9 @@
1307
1419
  .fill-thinking-base {
1308
1420
  fill: var(--thinking-base);
1309
1421
  }
1422
+ .object-cover {
1423
+ object-fit: cover;
1424
+ }
1310
1425
  .p-0 {
1311
1426
  padding: 0px;
1312
1427
  }
@@ -1391,6 +1506,9 @@
1391
1506
  .py-3 {
1392
1507
  padding-block: calc(var(--spacing) * 3);
1393
1508
  }
1509
+ .py-4 {
1510
+ padding-block: calc(var(--spacing) * 4);
1511
+ }
1394
1512
  .py-5 {
1395
1513
  padding-block: calc(var(--spacing) * 5);
1396
1514
  }
@@ -1436,6 +1554,9 @@
1436
1554
  .pr-8 {
1437
1555
  padding-right: calc(var(--spacing) * 8);
1438
1556
  }
1557
+ .pb-2 {
1558
+ padding-bottom: calc(var(--spacing) * 2);
1559
+ }
1439
1560
  .pb-3 {
1440
1561
  padding-bottom: calc(var(--spacing) * 3);
1441
1562
  }
@@ -1478,6 +1599,10 @@
1478
1599
  .font-sans {
1479
1600
  font-family: "Red Hat Display", "Open Sans", Roboto, Arial, sans-serif;
1480
1601
  }
1602
+ .text-2xl {
1603
+ font-size: var(--text-2xl);
1604
+ line-height: var(--tw-leading, var(--text-2xl--line-height));
1605
+ }
1481
1606
  .text-3xl {
1482
1607
  font-size: var(--text-3xl);
1483
1608
  line-height: var(--tw-leading, var(--text-3xl--line-height));
@@ -1511,6 +1636,12 @@
1511
1636
  .text-\[0\.8125rem\] {
1512
1637
  font-size: 0.8125rem;
1513
1638
  }
1639
+ .text-\[2\.75rem\] {
1640
+ font-size: 2.75rem;
1641
+ }
1642
+ .text-\[6px\] {
1643
+ font-size: 6px;
1644
+ }
1514
1645
  .text-\[7px\] {
1515
1646
  font-size: 7px;
1516
1647
  }
@@ -1601,6 +1732,10 @@
1601
1732
  --tw-font-weight: var(--font-weight-medium);
1602
1733
  font-weight: var(--font-weight-medium);
1603
1734
  }
1735
+ .font-normal {
1736
+ --tw-font-weight: var(--font-weight-normal);
1737
+ font-weight: var(--font-weight-normal);
1738
+ }
1604
1739
  .font-semibold {
1605
1740
  --tw-font-weight: var(--font-weight-semibold);
1606
1741
  font-weight: var(--font-weight-semibold);
@@ -1664,12 +1799,15 @@
1664
1799
  .whitespace-pre-wrap {
1665
1800
  white-space: pre-wrap;
1666
1801
  }
1667
- .text-accent {
1668
- color: var(--accent);
1802
+ .\!text-white {
1803
+ color: var(--color-white) !important;
1669
1804
  }
1670
1805
  .text-accent-foreground {
1671
1806
  color: var(--accent-foreground);
1672
1807
  }
1808
+ .text-black {
1809
+ color: var(--color-black);
1810
+ }
1673
1811
  .text-card-foreground {
1674
1812
  color: var(--card-foreground);
1675
1813
  }
@@ -1682,6 +1820,9 @@
1682
1820
  .text-foreground {
1683
1821
  color: var(--foreground);
1684
1822
  }
1823
+ .text-gray-900 {
1824
+ color: var(--color-gray-900);
1825
+ }
1685
1826
  .text-muted-foreground {
1686
1827
  color: var(--muted-foreground);
1687
1828
  }
@@ -1691,24 +1832,15 @@
1691
1832
  .text-popover-foreground {
1692
1833
  color: var(--popover-foreground);
1693
1834
  }
1694
- .text-primary {
1695
- color: var(--primary);
1696
- }
1697
1835
  .text-primary-emphasis {
1698
1836
  color: var(--primary-emphasis);
1699
1837
  }
1700
1838
  .text-primary-foreground {
1701
1839
  color: var(--primary-foreground);
1702
1840
  }
1703
- .text-secondary {
1704
- color: var(--secondary);
1705
- }
1706
1841
  .text-secondary-foreground {
1707
1842
  color: var(--secondary-foreground);
1708
1843
  }
1709
- .text-success {
1710
- color: var(--success);
1711
- }
1712
1844
  .text-success-foreground {
1713
1845
  color: var(--success-foreground);
1714
1846
  }
@@ -1724,6 +1856,9 @@
1724
1856
  .capitalize {
1725
1857
  text-transform: capitalize;
1726
1858
  }
1859
+ .lowercase {
1860
+ text-transform: lowercase;
1861
+ }
1727
1862
  .uppercase {
1728
1863
  text-transform: uppercase;
1729
1864
  }
@@ -1750,6 +1885,10 @@
1750
1885
  .underline-offset-4 {
1751
1886
  text-underline-offset: 4px;
1752
1887
  }
1888
+ .antialiased {
1889
+ -webkit-font-smoothing: antialiased;
1890
+ -moz-osx-font-smoothing: grayscale;
1891
+ }
1753
1892
  .accent-\[var\(--primary\)\] {
1754
1893
  accent-color: var(--primary);
1755
1894
  }
@@ -1802,9 +1941,16 @@
1802
1941
  --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
1803
1942
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
1804
1943
  }
1944
+ .ring-2 {
1945
+ --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
1946
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
1947
+ }
1805
1948
  .ring-background {
1806
1949
  --tw-ring-color: var(--background);
1807
1950
  }
1951
+ .ring-primary {
1952
+ --tw-ring-color: var(--primary);
1953
+ }
1808
1954
  .outline {
1809
1955
  outline-style: var(--tw-outline-style);
1810
1956
  outline-width: 1px;
@@ -1855,6 +2001,11 @@
1855
2001
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
1856
2002
  transition-duration: var(--tw-duration, var(--default-transition-duration));
1857
2003
  }
2004
+ .transition-all {
2005
+ transition-property: all;
2006
+ transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
2007
+ transition-duration: var(--tw-duration, var(--default-transition-duration));
2008
+ }
1858
2009
  .transition-colors {
1859
2010
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
1860
2011
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
@@ -2046,6 +2197,17 @@
2046
2197
  opacity: 100%;
2047
2198
  }
2048
2199
  }
2200
+ .focus\:border-border-strong:focus {
2201
+ border-color: var(--border-strong);
2202
+ }
2203
+ .focus\:ring-1:focus {
2204
+ --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
2205
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
2206
+ }
2207
+ .focus\:outline-none:focus {
2208
+ --tw-outline-style: none;
2209
+ outline-style: none;
2210
+ }
2049
2211
  .focus-visible\:text-foreground:focus-visible {
2050
2212
  color: var(--foreground);
2051
2213
  }
@@ -2063,6 +2225,9 @@
2063
2225
  --tw-outline-style: none;
2064
2226
  outline-style: none;
2065
2227
  }
2228
+ .active\:scale-\[0\.97\]:active {
2229
+ scale: 0.97;
2230
+ }
2066
2231
  .active\:brightness-95:active {
2067
2232
  --tw-brightness: brightness(95%);
2068
2233
  filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
@@ -2274,6 +2439,12 @@
2274
2439
  .lg\:grid-cols-3 {
2275
2440
  grid-template-columns: repeat(3, minmax(0, 1fr));
2276
2441
  }
2442
+ .lg\:flex-col {
2443
+ flex-direction: column;
2444
+ }
2445
+ .lg\:overflow-visible {
2446
+ overflow: visible;
2447
+ }
2277
2448
  .lg\:border-r {
2278
2449
  border-right-style: var(--tw-border-style);
2279
2450
  border-right-width: 1px;
@@ -2284,6 +2455,28 @@
2284
2455
  .lg\:pr-6 {
2285
2456
  padding-right: calc(var(--spacing) * 6);
2286
2457
  }
2458
+ .lg\:pb-0 {
2459
+ padding-bottom: 0px;
2460
+ }
2461
+ }
2462
+ .dark\:bg-\[color-mix\(in_srgb\,var\(--foreground\)_14\%\,var\(--muted\)\)\]:is(.dark *) {
2463
+ background-color: var(--foreground);
2464
+ @supports (color: color-mix(in lab, red, red)) {
2465
+ background-color: color-mix(in srgb,var(--foreground) 14%,var(--muted));
2466
+ }
2467
+ }
2468
+ .dark\:bg-black:is(.dark *) {
2469
+ background-color: var(--color-black);
2470
+ }
2471
+ .dark\:text-gray-100:is(.dark *) {
2472
+ color: var(--color-gray-100);
2473
+ }
2474
+ .dark\:shadow-\[inset_0_0_0_1px_color-mix\(in_srgb\,var\(--foreground\)_14\%\,transparent\)\]:is(.dark *) {
2475
+ --tw-shadow: inset 0 0 0 1px var(--tw-shadow-color, var(--foreground));
2476
+ @supports (color: color-mix(in lab, red, red)) {
2477
+ --tw-shadow: inset 0 0 0 1px var(--tw-shadow-color, color-mix(in srgb,var(--foreground) 14%,transparent));
2478
+ }
2479
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
2287
2480
  }
2288
2481
  @media (forced-colors: active) {
2289
2482
  .forced-colors\:animate-none {
@@ -2305,6 +2498,10 @@
2305
2498
  .\[\&_\[aria-label\=Close\]\]\:hidden [aria-label=Close] {
2306
2499
  display: none;
2307
2500
  }
2501
+ .\[\&_svg\]\:size-3 svg {
2502
+ width: calc(var(--spacing) * 3);
2503
+ height: calc(var(--spacing) * 3);
2504
+ }
2308
2505
  .\[\&_svg\]\:size-3\.5 svg {
2309
2506
  width: calc(var(--spacing) * 3.5);
2310
2507
  height: calc(var(--spacing) * 3.5);
@@ -2506,7 +2703,11 @@
2506
2703
  --sidebar-row-radius: var(--radius);
2507
2704
  --sidebar-row-selected-bg: var(--primary);
2508
2705
  @supports (color: color-mix(in lab, red, red)) {
2509
- --sidebar-row-selected-bg: color-mix(in srgb, var(--primary) 10%, transparent);
2706
+ --sidebar-row-selected-bg: color-mix(
2707
+ in srgb,
2708
+ var(--primary) 10%,
2709
+ transparent
2710
+ );
2510
2711
  }
2511
2712
  }
2512
2713
  @keyframes corbits-fade-in {
@@ -2686,6 +2887,36 @@
2686
2887
  outline-offset: 2px;
2687
2888
  }
2688
2889
  }
2890
+ @property --corbits-avatar-angle {
2891
+ syntax: "<angle>";
2892
+ inherits: false;
2893
+ initial-value: 0deg;
2894
+ }
2895
+ @keyframes corbits-avatar-orbit {
2896
+ to {
2897
+ --corbits-avatar-angle: 360deg;
2898
+ }
2899
+ }
2900
+ .corbits-avatar-orbit {
2901
+ position: absolute;
2902
+ inset: -4px;
2903
+ padding: 2px;
2904
+ background: conic-gradient( from var(--corbits-avatar-angle), var(--primary-emphasis) 0deg 90deg, transparent 90deg 360deg ), var(--foreground);
2905
+ @supports (color: color-mix(in lab, red, red)) {
2906
+ background: conic-gradient( from var(--corbits-avatar-angle), var(--primary-emphasis) 0deg 90deg, transparent 90deg 360deg ), color-mix(in srgb, var(--foreground) 12%, transparent);
2907
+ }
2908
+ -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
2909
+ -webkit-mask-composite: xor;
2910
+ mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);
2911
+ animation: corbits-avatar-orbit 1.4s linear infinite;
2912
+ pointer-events: none;
2913
+ }
2914
+ @media (prefers-reduced-motion: reduce) {
2915
+ .corbits-avatar-orbit {
2916
+ animation: none;
2917
+ --corbits-avatar-angle: 120deg;
2918
+ }
2919
+ }
2689
2920
  @keyframes corbits-thinking-sweep {
2690
2921
  0% {
2691
2922
  transform: translateX(8px);
@@ -2709,14 +2940,14 @@
2709
2940
  }
2710
2941
  @keyframes corbits-thinking-wave {
2711
2942
  0% {
2712
- transform: scale(.03);
2943
+ transform: scale(0.03);
2713
2944
  opacity: 0;
2714
2945
  }
2715
2946
  10% {
2716
2947
  opacity: 1;
2717
2948
  }
2718
2949
  75% {
2719
- opacity: .9;
2950
+ opacity: 0.9;
2720
2951
  }
2721
2952
  100% {
2722
2953
  transform: scale(1.35);
@@ -2734,7 +2965,7 @@
2734
2965
  transform: translateY(30px);
2735
2966
  }
2736
2967
  .corbits-thinking-echo {
2737
- transform: scale(.6);
2968
+ transform: scale(0.6);
2738
2969
  }
2739
2970
  }
2740
2971
  @property --tw-translate-x {
@@ -2792,6 +3023,11 @@
2792
3023
  inherits: false;
2793
3024
  initial-value: 0;
2794
3025
  }
3026
+ @property --tw-divide-y-reverse {
3027
+ syntax: "*";
3028
+ inherits: false;
3029
+ initial-value: 0;
3030
+ }
2795
3031
  @property --tw-border-style {
2796
3032
  syntax: "*";
2797
3033
  inherits: false;
@@ -3026,6 +3262,7 @@
3026
3262
  --tw-skew-x: initial;
3027
3263
  --tw-skew-y: initial;
3028
3264
  --tw-space-y-reverse: 0;
3265
+ --tw-divide-y-reverse: 0;
3029
3266
  --tw-border-style: solid;
3030
3267
  --tw-leading: initial;
3031
3268
  --tw-font-weight: initial;
@@ -3075,6 +3312,7 @@
3075
3312
  --tw-duration: initial;
3076
3313
  --tw-ease: initial;
3077
3314
  --tw-content: "";
3315
+ --corbits-avatar-angle: 0deg;
3078
3316
  }
3079
3317
  }
3080
3318
  }
@@ -6,33 +6,32 @@ import { createRoot } from "react-dom/client";
6
6
  * `callback` and stashes its return value, re-render it on demand, and clean
7
7
  * up. No `@testing-library` dependency — `act` plus `react-dom/client` cover
8
8
  * everything a hook test in this package needs.
9
- */ export function renderHook(callback) {
9
+ */
10
+ export function renderHook(callback) {
10
11
  const container = document.createElement("div");
11
12
  document.body.appendChild(container);
12
13
  let root;
13
- const resultBox = {
14
- current: undefined
15
- };
14
+ const resultBox = { current: undefined };
16
15
  function Probe() {
17
16
  resultBox.current = callback();
18
17
  return null;
19
18
  }
20
- act(()=>{
19
+ act(() => {
21
20
  root = createRoot(container);
22
- root.render(/*#__PURE__*/ _jsx(Probe, {}));
21
+ root.render(_jsx(Probe, {}));
23
22
  });
24
23
  return {
25
24
  result: resultBox,
26
- rerender () {
27
- act(()=>{
28
- root.render(/*#__PURE__*/ _jsx(Probe, {}));
25
+ rerender() {
26
+ act(() => {
27
+ root.render(_jsx(Probe, {}));
29
28
  });
30
29
  },
31
- unmount () {
32
- act(()=>{
30
+ unmount() {
31
+ act(() => {
33
32
  root.unmount();
34
33
  });
35
34
  container.remove();
36
- }
35
+ },
37
36
  };
38
37
  }