@brijbyte/agentic-ui 0.0.1 → 0.0.2

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 (135) hide show
  1. package/README.md +183 -111
  2. package/dist/accordion/accordion.css +6 -10
  3. package/dist/accordion/accordion.module.js.map +1 -1
  4. package/dist/alert-dialog/alert-dialog.css +84 -0
  5. package/dist/alert-dialog/alert-dialog.d.ts +44 -0
  6. package/dist/alert-dialog/alert-dialog.d.ts.map +1 -0
  7. package/dist/alert-dialog/alert-dialog.js +46 -0
  8. package/dist/alert-dialog/alert-dialog.js.map +1 -0
  9. package/dist/alert-dialog/alert-dialog.module.css.d.ts +2 -0
  10. package/dist/alert-dialog/alert-dialog.module.js +14 -0
  11. package/dist/alert-dialog/alert-dialog.module.js.map +1 -0
  12. package/dist/alert-dialog/index.d.ts +3 -0
  13. package/dist/alert-dialog/index.js +4 -0
  14. package/dist/alert-dialog/parts.d.ts +28 -0
  15. package/dist/alert-dialog/parts.d.ts.map +1 -0
  16. package/dist/alert-dialog/parts.js +62 -0
  17. package/dist/alert-dialog/parts.js.map +1 -0
  18. package/dist/badge/badge.css +3 -7
  19. package/dist/badge/badge.module.js.map +1 -1
  20. package/dist/button/button.css +14 -14
  21. package/dist/button/button.module.js.map +1 -1
  22. package/dist/card/card.css +5 -9
  23. package/dist/card/card.module.js.map +1 -1
  24. package/dist/checkbox/checkbox.css +3 -7
  25. package/dist/checkbox/checkbox.module.js.map +1 -1
  26. package/dist/collapsible/collapsible.css +7 -11
  27. package/dist/collapsible/collapsible.module.js.map +1 -1
  28. package/dist/context-menu/context-menu.css +151 -0
  29. package/dist/context-menu/context-menu.d.ts +36 -0
  30. package/dist/context-menu/context-menu.d.ts.map +1 -0
  31. package/dist/context-menu/context-menu.js +54 -0
  32. package/dist/context-menu/context-menu.js.map +1 -0
  33. package/dist/context-menu/context-menu.module.css.d.ts +2 -0
  34. package/dist/context-menu/context-menu.module.js +18 -0
  35. package/dist/context-menu/context-menu.module.js.map +1 -0
  36. package/dist/context-menu/index.d.ts +3 -0
  37. package/dist/context-menu/index.js +4 -0
  38. package/dist/context-menu/parts.d.ts +38 -0
  39. package/dist/context-menu/parts.d.ts.map +1 -0
  40. package/dist/context-menu/parts.js +91 -0
  41. package/dist/context-menu/parts.js.map +1 -0
  42. package/dist/dialog/dialog.css +27 -22
  43. package/dist/dialog/dialog.d.ts +8 -0
  44. package/dist/dialog/dialog.d.ts.map +1 -1
  45. package/dist/dialog/dialog.js +7 -4
  46. package/dist/dialog/dialog.js.map +1 -1
  47. package/dist/dialog/dialog.module.js +2 -0
  48. package/dist/dialog/dialog.module.js.map +1 -1
  49. package/dist/drawer/drawer.css +9 -13
  50. package/dist/drawer/drawer.module.js.map +1 -1
  51. package/dist/index.css +1630 -1353
  52. package/dist/index.d.ts +24 -18
  53. package/dist/index.js +10 -1
  54. package/dist/input/input.css +5 -9
  55. package/dist/input/input.module.js.map +1 -1
  56. package/dist/layer-order.css +22 -0
  57. package/dist/menu/menu.css +13 -17
  58. package/dist/menu/menu.module.js.map +1 -1
  59. package/dist/number-field/number-field.css +12 -16
  60. package/dist/number-field/number-field.module.js.map +1 -1
  61. package/dist/progress/progress.css +1 -5
  62. package/dist/progress/progress.module.js.map +1 -1
  63. package/dist/reset.css +6 -6
  64. package/dist/select/select.css +14 -16
  65. package/dist/select/select.d.ts +5 -2
  66. package/dist/select/select.d.ts.map +1 -1
  67. package/dist/select/select.js +11 -2
  68. package/dist/select/select.js.map +1 -1
  69. package/dist/select/select.module.js.map +1 -1
  70. package/dist/separator/separator.css +1 -5
  71. package/dist/separator/separator.module.js.map +1 -1
  72. package/dist/slider/index.d.ts +3 -0
  73. package/dist/slider/index.js +4 -0
  74. package/dist/slider/parts.d.ts +38 -0
  75. package/dist/slider/parts.d.ts.map +1 -0
  76. package/dist/slider/parts.js +69 -0
  77. package/dist/slider/parts.js.map +1 -0
  78. package/dist/slider/slider.css +97 -0
  79. package/dist/slider/slider.d.ts +38 -0
  80. package/dist/slider/slider.d.ts.map +1 -0
  81. package/dist/slider/slider.js +41 -0
  82. package/dist/slider/slider.js.map +1 -0
  83. package/dist/slider/slider.module.css.d.ts +2 -0
  84. package/dist/slider/slider.module.js +15 -0
  85. package/dist/slider/slider.module.js.map +1 -0
  86. package/dist/styles/reset.css +6 -6
  87. package/dist/styles/tokens.css +73 -71
  88. package/dist/switch/switch.css +2 -6
  89. package/dist/switch/switch.module.js.map +1 -1
  90. package/dist/tabs/tabs.css +5 -9
  91. package/dist/tabs/tabs.module.js.map +1 -1
  92. package/dist/tailwind-theme.css +23 -23
  93. package/dist/toast/toast.css +11 -15
  94. package/dist/toast/toast.module.js.map +1 -1
  95. package/dist/tokens.css +79 -75
  96. package/dist/tooltip/tooltip.css +7 -11
  97. package/dist/tooltip/tooltip.module.js.map +1 -1
  98. package/package.json +17 -1
  99. package/src/accordion/accordion.module.css +6 -20
  100. package/src/alert-dialog/alert-dialog.module.css +91 -0
  101. package/src/alert-dialog/alert-dialog.tsx +69 -0
  102. package/src/alert-dialog/index.ts +7 -0
  103. package/src/alert-dialog/parts.tsx +73 -0
  104. package/src/badge/badge.module.css +3 -13
  105. package/src/button/button.module.css +15 -51
  106. package/src/card/card.module.css +5 -16
  107. package/src/checkbox/checkbox.module.css +3 -14
  108. package/src/collapsible/collapsible.module.css +7 -20
  109. package/src/context-menu/context-menu.module.css +168 -0
  110. package/src/context-menu/context-menu.tsx +75 -0
  111. package/src/context-menu/index.ts +21 -0
  112. package/src/context-menu/parts.tsx +99 -0
  113. package/src/dialog/dialog.module.css +26 -33
  114. package/src/dialog/dialog.tsx +14 -1
  115. package/src/drawer/drawer.module.css +9 -58
  116. package/src/index.ts +48 -0
  117. package/src/input/input.module.css +5 -21
  118. package/src/menu/menu.module.css +13 -43
  119. package/src/number-field/number-field.module.css +12 -28
  120. package/src/progress/progress.module.css +1 -10
  121. package/src/select/select.module.css +14 -35
  122. package/src/select/select.tsx +14 -5
  123. package/src/separator/separator.module.css +1 -5
  124. package/src/slider/index.ts +14 -0
  125. package/src/slider/parts.tsx +90 -0
  126. package/src/slider/slider.module.css +110 -0
  127. package/src/slider/slider.tsx +68 -0
  128. package/src/styles/layer-order.css +22 -0
  129. package/src/styles/reset.css +6 -6
  130. package/src/styles/tailwind-theme.css +23 -23
  131. package/src/styles/tokens.css +79 -75
  132. package/src/switch/switch.module.css +2 -12
  133. package/src/tabs/tabs.module.css +5 -18
  134. package/src/toast/toast.module.css +11 -51
  135. package/src/tooltip/tooltip.module.css +7 -18
@@ -0,0 +1,22 @@
1
+ /*
2
+ * @brijbyte/agentic-ui — CSS layer order declaration
3
+ *
4
+ * Import this ONCE, before any other stylesheet in your app entry.
5
+ * It establishes the cascade order so component styles always beat
6
+ * Tailwind preflight resets, and Tailwind utilities always beat components.
7
+ *
8
+ * If you use the full bundle (@brijbyte/agentic-ui/styles) or tokens.css,
9
+ * this is already included — you don't need to import it separately.
10
+ *
11
+ * Manual setup (without Tailwind):
12
+ * @import "@brijbyte/agentic-ui/layer-order";
13
+ * @import "@brijbyte/agentic-ui/tokens";
14
+ * @import "@brijbyte/agentic-ui/reset";
15
+ *
16
+ * With Tailwind v4:
17
+ * @import "tailwindcss";
18
+ * @import "@brijbyte/agentic-ui/layer-order"; ← before tokens
19
+ * @import "@brijbyte/agentic-ui/tokens";
20
+ */
21
+
22
+ @layer theme, base, components, utilities;
@@ -21,8 +21,8 @@
21
21
  font-family: var(--font-mono);
22
22
  font-size: var(--font-size-md);
23
23
  line-height: var(--line-height-normal);
24
- color: var(--color-text-primary);
25
- background-color: var(--color-bg-base);
24
+ color: var(--color-primary);
25
+ background-color: var(--color-canvas);
26
26
  }
27
27
 
28
28
  img,
@@ -66,13 +66,13 @@
66
66
  font-weight: var(--font-weight-semibold);
67
67
  line-height: var(--line-height-tight);
68
68
  letter-spacing: var(--letter-spacing-tight);
69
- color: var(--color-text-primary);
69
+ color: var(--color-primary);
70
70
  }
71
71
 
72
72
  /* Scrollbar styling */
73
73
  * {
74
74
  scrollbar-width: thin;
75
- scrollbar-color: var(--color-scrollbar-thumb) var(--color-scrollbar-track);
75
+ scrollbar-color: var(--color-thumb) var(--color-track);
76
76
  }
77
77
 
78
78
  *::-webkit-scrollbar {
@@ -81,11 +81,11 @@
81
81
  }
82
82
 
83
83
  *::-webkit-scrollbar-thumb {
84
- background: var(--color-scrollbar-thumb);
84
+ background: var(--color-thumb);
85
85
  border-radius: var(--radius-full);
86
86
  }
87
87
 
88
88
  *::-webkit-scrollbar-track {
89
- background: var(--color-scrollbar-track);
89
+ background: var(--color-track);
90
90
  }
91
91
  }
@@ -14,9 +14,9 @@
14
14
  * overrides work automatically without any Tailwind configuration.
15
15
  *
16
16
  * Generated utility examples:
17
- * bg-bg-base → background-color: var(--color-bg-base)
18
- * text-text-primary → color: var(--color-text-primary)
19
- * border-border-base→ border-color: var(--color-border-base)
17
+ * bg-canvas → background-color: var(--color-canvas)
18
+ * text-primary → color: var(--color-primary)
19
+ * border-line → border-color: var(--color-line)
20
20
  * font-mono → font-family: var(--font-mono)
21
21
  * rounded-md → border-radius: var(--radius-md)
22
22
  * shadow-sm → box-shadow: var(--shadow-sm)
@@ -24,34 +24,34 @@
24
24
 
25
25
  @theme inline {
26
26
  /* ── Backgrounds ────────────────────────────────────────────── */
27
- --color-bg-base: var(--color-bg-base);
28
- --color-bg-elevated: var(--color-bg-elevated);
29
- --color-bg-sunken: var(--color-bg-sunken);
30
- --color-bg-overlay: var(--color-bg-overlay);
31
- --color-bg-sidebar: var(--color-bg-sidebar);
27
+ --color-canvas: var(--color-canvas);
28
+ --color-elevated: var(--color-elevated);
29
+ --color-sunken: var(--color-sunken);
30
+ --color-overlay: var(--color-overlay);
31
+ --color-sidebar: var(--color-sidebar);
32
32
 
33
33
  /* ── Surfaces ───────────────────────────────────────────────── */
34
34
  --color-surface-1: var(--color-surface-1);
35
35
  --color-surface-2: var(--color-surface-2);
36
36
  --color-surface-3: var(--color-surface-3);
37
- --color-surface-hover: var(--color-surface-hover);
38
- --color-surface-active: var(--color-surface-active);
39
- --color-surface-selected: var(--color-surface-selected);
37
+ --color-hover: var(--color-hover);
38
+ --color-active: var(--color-active);
39
+ --color-selected: var(--color-selected);
40
40
 
41
41
  /* ── Text ───────────────────────────────────────────────────── */
42
- --color-text-primary: var(--color-text-primary);
43
- --color-text-secondary: var(--color-text-secondary);
44
- --color-text-tertiary: var(--color-text-tertiary);
45
- --color-text-disabled: var(--color-text-disabled);
46
- --color-text-inverse: var(--color-text-inverse);
47
- --color-text-on-accent: var(--color-text-on-accent);
48
- --color-text-code: var(--color-text-code);
42
+ --color-primary: var(--color-primary);
43
+ --color-secondary: var(--color-secondary);
44
+ --color-tertiary: var(--color-tertiary);
45
+ --color-disabled: var(--color-disabled);
46
+ --color-inverse: var(--color-inverse);
47
+ --color-on-accent: var(--color-on-accent);
48
+ --color-code: var(--color-code);
49
49
 
50
50
  /* ── Borders ────────────────────────────────────────────────── */
51
- --color-border-base: var(--color-border-base);
52
- --color-border-strong: var(--color-border-strong);
53
- --color-border-subtle: var(--color-border-subtle);
54
- --color-border-focus: var(--color-border-focus);
51
+ --color-line: var(--color-line);
52
+ --color-line-strong: var(--color-line-strong);
53
+ --color-line-subtle: var(--color-line-subtle);
54
+ --color-line-focus: var(--color-line-focus);
55
55
 
56
56
  /* ── Accent (macOS blue) ────────────────────────────────────── */
57
57
  --color-accent: var(--color-accent);
@@ -85,7 +85,7 @@
85
85
  --color-info-solid: var(--color-info-solid);
86
86
 
87
87
  /* ── Code syntax ────────────────────────────────────────────── */
88
- --color-code-bg: var(--color-code-bg);
88
+ --color-code-canvas: var(--color-code-canvas);
89
89
  --color-code-border: var(--color-code-border);
90
90
  --color-code-keyword: var(--color-code-keyword);
91
91
  --color-code-string: var(--color-code-string);
@@ -1,10 +1,14 @@
1
1
  /**
2
2
  * @brijbyte/agentic-ui — Design Tokens
3
3
  *
4
- * macOS/iOS-inspired developer-focused design system.
4
+ * developer-focused design system, loosely inspired by native desktop and mobile UI.
5
5
  * Monospace-first, semantic color tokens, supports light & dark modes.
6
6
  */
7
- @layer base {
7
+
8
+ /* Establish layer order — must come before any @layer usage */
9
+ @layer theme, base, components, utilities;
10
+
11
+ @layer theme {
8
12
  :root {
9
13
  /* ─── Typography ──────────────────────────────────────────────── */
10
14
  /*
@@ -125,35 +129,35 @@
125
129
  [data-theme="light"] {
126
130
  color-scheme: light;
127
131
 
128
- /* Background layers (macOS vibrancy-inspired) */
129
- --color-bg-base: #f5f5f5;
130
- --color-bg-elevated: #ffffff;
131
- --color-bg-sunken: #ebebeb;
132
- --color-bg-overlay: rgba(255, 255, 255, 0.92);
133
- --color-bg-sidebar: rgba(246, 246, 246, 0.95);
132
+ /* Background layers (inspired by system vibrancy) */
133
+ --color-canvas: #f0eff0;
134
+ --color-elevated: #fafafa;
135
+ --color-sunken: #e8e7e8;
136
+ --color-overlay: rgba(250, 250, 250, 0.92);
137
+ --color-sidebar: rgba(244, 243, 244, 0.96);
134
138
 
135
139
  /* Surface (card/panel backgrounds) */
136
- --color-surface-1: #ffffff;
137
- --color-surface-2: #f9f9f9;
138
- --color-surface-3: #f4f4f4;
139
- --color-surface-hover: rgba(0, 0, 0, 0.04);
140
- --color-surface-active: rgba(0, 0, 0, 0.07);
141
- --color-surface-selected: rgba(0, 120, 212, 0.1);
140
+ --color-surface-1: #fafafa;
141
+ --color-surface-2: #f4f3f4;
142
+ --color-surface-3: #eeeded;
143
+ --color-hover: rgba(0, 0, 0, 0.04);
144
+ --color-active: rgba(0, 0, 0, 0.07);
145
+ --color-selected: rgba(0, 120, 212, 0.1);
142
146
 
143
147
  /* Text */
144
- --color-text-primary: rgba(0, 0, 0, 0.88);
145
- --color-text-secondary: rgba(0, 0, 0, 0.55);
146
- --color-text-tertiary: rgba(0, 0, 0, 0.36);
147
- --color-text-disabled: rgba(0, 0, 0, 0.24);
148
- --color-text-inverse: rgba(255, 255, 255, 0.95);
149
- --color-text-on-accent: #ffffff;
150
- --color-text-code: #0f766e;
148
+ --color-primary: rgba(0, 0, 0, 0.88);
149
+ --color-secondary: rgba(0, 0, 0, 0.55);
150
+ --color-tertiary: rgba(0, 0, 0, 0.36);
151
+ --color-disabled: rgba(0, 0, 0, 0.24);
152
+ --color-inverse: rgba(255, 255, 255, 0.95);
153
+ --color-on-accent: #ffffff;
154
+ --color-code: #0f766e;
151
155
 
152
156
  /* Borders */
153
- --color-border-base: rgba(0, 0, 0, 0.12);
154
- --color-border-strong: rgba(0, 0, 0, 0.22);
155
- --color-border-subtle: rgba(0, 0, 0, 0.06);
156
- --color-border-focus: var(--color-focus-ring);
157
+ --color-line: rgba(0, 0, 0, 0.12);
158
+ --color-line-strong: rgba(0, 0, 0, 0.22);
159
+ --color-line-subtle: rgba(0, 0, 0, 0.06);
160
+ --color-line-focus: var(--color-focus-ring);
157
161
 
158
162
  /* Accent — macOS blue
159
163
  * Semantic names instead of opaque Radix-style numbers:
@@ -181,7 +185,7 @@
181
185
  --shadow-popover: 0 8px 24px -4px rgb(0 0 0 / 0.16), 0 2px 6px -2px rgb(0 0 0 / 0.1);
182
186
  --shadow-sheet: 0 -4px 16px 0 rgb(0 0 0 / 0.12);
183
187
  --shadow-inset: inset 0 1px 2px 0 rgb(0 0 0 / 0.08);
184
- --shadow-focus: 0 0 0 2px var(--color-bg-base), 0 0 0 4px var(--color-focus-ring);
188
+ --shadow-focus: 0 0 0 2px var(--color-canvas), 0 0 0 4px var(--color-focus-ring);
185
189
 
186
190
  /* Status — Success */
187
191
  --color-success-bg: #f0fdf4;
@@ -208,7 +212,7 @@
208
212
  --color-info-solid: #2563eb;
209
213
 
210
214
  /* Code / terminal palette */
211
- --color-code-bg: #f6f8fa;
215
+ --color-code-canvas: #f6f8fa;
212
216
  --color-code-border: #d0d7de;
213
217
  --color-code-comment: #6e7781;
214
218
  --color-code-keyword: #cf222e;
@@ -217,8 +221,8 @@
217
221
  --color-code-function: #8250df;
218
222
 
219
223
  /* Scrollbar */
220
- --color-scrollbar-thumb: rgba(0, 0, 0, 0.2);
221
- --color-scrollbar-track: transparent;
224
+ --color-thumb: rgba(0, 0, 0, 0.2);
225
+ --color-track: transparent;
222
226
  }
223
227
 
224
228
  /* ═══════════════════════════════════════════════════════════════════
@@ -232,33 +236,33 @@
232
236
  color-scheme: dark;
233
237
 
234
238
  /* Background */
235
- --color-bg-base: #1c1c1e;
236
- --color-bg-elevated: #2c2c2e;
237
- --color-bg-sunken: #141416;
238
- --color-bg-overlay: rgba(30, 30, 32, 0.92);
239
- --color-bg-sidebar: rgba(28, 28, 30, 0.95);
239
+ --color-canvas: #1c1c1e;
240
+ --color-elevated: #2c2c2e;
241
+ --color-sunken: #141416;
242
+ --color-overlay: rgba(30, 30, 32, 0.92);
243
+ --color-sidebar: rgba(28, 28, 30, 0.95);
240
244
 
241
245
  /* Surface */
242
246
  --color-surface-1: #2c2c2e;
243
247
  --color-surface-2: #3a3a3c;
244
248
  --color-surface-3: #48484a;
245
- --color-surface-hover: rgba(255, 255, 255, 0.06);
246
- --color-surface-active: rgba(255, 255, 255, 0.1);
247
- --color-surface-selected: rgba(10, 132, 255, 0.16);
249
+ --color-hover: rgba(255, 255, 255, 0.06);
250
+ --color-active: rgba(255, 255, 255, 0.1);
251
+ --color-selected: rgba(10, 132, 255, 0.16);
248
252
 
249
253
  /* Text */
250
- --color-text-primary: rgba(255, 255, 255, 0.92);
251
- --color-text-secondary: rgba(255, 255, 255, 0.55);
252
- --color-text-tertiary: rgba(255, 255, 255, 0.36);
253
- --color-text-disabled: rgba(255, 255, 255, 0.24);
254
- --color-text-inverse: rgba(0, 0, 0, 0.88);
255
- --color-text-on-accent: #ffffff;
256
- --color-text-code: #2dd4bf;
254
+ --color-primary: rgba(255, 255, 255, 0.92);
255
+ --color-secondary: rgba(255, 255, 255, 0.55);
256
+ --color-tertiary: rgba(255, 255, 255, 0.36);
257
+ --color-disabled: rgba(255, 255, 255, 0.24);
258
+ --color-inverse: rgba(0, 0, 0, 0.88);
259
+ --color-on-accent: #ffffff;
260
+ --color-code: #2dd4bf;
257
261
 
258
262
  /* Borders */
259
- --color-border-base: rgba(255, 255, 255, 0.12);
260
- --color-border-strong: rgba(255, 255, 255, 0.22);
261
- --color-border-subtle: rgba(255, 255, 255, 0.06);
263
+ --color-line: rgba(255, 255, 255, 0.12);
264
+ --color-line-strong: rgba(255, 255, 255, 0.22);
265
+ --color-line-subtle: rgba(255, 255, 255, 0.06);
262
266
 
263
267
  /* Accent — macOS blue dark */
264
268
  --color-accent: #0a84ff;
@@ -279,7 +283,7 @@
279
283
  --shadow-popover: 0 8px 24px -4px rgb(0 0 0 / 0.5), 0 2px 6px -2px rgb(0 0 0 / 0.4);
280
284
  --shadow-sheet: 0 -4px 16px 0 rgb(0 0 0 / 0.4);
281
285
  --shadow-inset: inset 0 1px 2px 0 rgb(0 0 0 / 0.3);
282
- --shadow-focus: 0 0 0 2px var(--color-bg-base), 0 0 0 4px var(--color-focus-ring);
286
+ --shadow-focus: 0 0 0 2px var(--color-canvas), 0 0 0 4px var(--color-focus-ring);
283
287
 
284
288
  /* Status — Success */
285
289
  --color-success-bg: rgba(22, 163, 74, 0.12);
@@ -306,7 +310,7 @@
306
310
  --color-info-solid: #3b82f6;
307
311
 
308
312
  /* Code / terminal palette */
309
- --color-code-bg: #161b22;
313
+ --color-code-canvas: #161b22;
310
314
  --color-code-border: rgba(255, 255, 255, 0.1);
311
315
  --color-code-comment: #8b949e;
312
316
  --color-code-keyword: #ff7b72;
@@ -315,38 +319,38 @@
315
319
  --color-code-function: #d2a8ff;
316
320
 
317
321
  /* Scrollbar */
318
- --color-scrollbar-thumb: rgba(255, 255, 255, 0.2);
319
- --color-scrollbar-track: transparent;
322
+ --color-thumb: rgba(255, 255, 255, 0.2);
323
+ --color-track: transparent;
320
324
  }
321
325
  }
322
326
 
323
327
  [data-theme="dark"] {
324
328
  color-scheme: dark;
325
329
 
326
- --color-bg-base: #1c1c1e;
327
- --color-bg-elevated: #2c2c2e;
328
- --color-bg-sunken: #141416;
329
- --color-bg-overlay: rgba(30, 30, 32, 0.92);
330
- --color-bg-sidebar: rgba(28, 28, 30, 0.95);
330
+ --color-canvas: #1c1c1e;
331
+ --color-elevated: #2c2c2e;
332
+ --color-sunken: #141416;
333
+ --color-overlay: rgba(30, 30, 32, 0.92);
334
+ --color-sidebar: rgba(28, 28, 30, 0.95);
331
335
 
332
336
  --color-surface-1: #2c2c2e;
333
337
  --color-surface-2: #3a3a3c;
334
338
  --color-surface-3: #48484a;
335
- --color-surface-hover: rgba(255, 255, 255, 0.06);
336
- --color-surface-active: rgba(255, 255, 255, 0.1);
337
- --color-surface-selected: rgba(10, 132, 255, 0.16);
338
-
339
- --color-text-primary: rgba(255, 255, 255, 0.92);
340
- --color-text-secondary: rgba(255, 255, 255, 0.55);
341
- --color-text-tertiary: rgba(255, 255, 255, 0.36);
342
- --color-text-disabled: rgba(255, 255, 255, 0.24);
343
- --color-text-inverse: rgba(0, 0, 0, 0.88);
344
- --color-text-on-accent: #ffffff;
345
- --color-text-code: #2dd4bf;
346
-
347
- --color-border-base: rgba(255, 255, 255, 0.12);
348
- --color-border-strong: rgba(255, 255, 255, 0.22);
349
- --color-border-subtle: rgba(255, 255, 255, 0.06);
339
+ --color-hover: rgba(255, 255, 255, 0.06);
340
+ --color-active: rgba(255, 255, 255, 0.1);
341
+ --color-selected: rgba(10, 132, 255, 0.16);
342
+
343
+ --color-primary: rgba(255, 255, 255, 0.92);
344
+ --color-secondary: rgba(255, 255, 255, 0.55);
345
+ --color-tertiary: rgba(255, 255, 255, 0.36);
346
+ --color-disabled: rgba(255, 255, 255, 0.24);
347
+ --color-inverse: rgba(0, 0, 0, 0.88);
348
+ --color-on-accent: #ffffff;
349
+ --color-code: #2dd4bf;
350
+
351
+ --color-line: rgba(255, 255, 255, 0.12);
352
+ --color-line-strong: rgba(255, 255, 255, 0.22);
353
+ --color-line-subtle: rgba(255, 255, 255, 0.06);
350
354
 
351
355
  --color-accent: #0a84ff;
352
356
  --color-accent-hover: #0071e3;
@@ -364,7 +368,7 @@
364
368
  --shadow-popover: 0 8px 24px -4px rgb(0 0 0 / 0.5), 0 2px 6px -2px rgb(0 0 0 / 0.4);
365
369
  --shadow-sheet: 0 -4px 16px 0 rgb(0 0 0 / 0.4);
366
370
  --shadow-inset: inset 0 1px 2px 0 rgb(0 0 0 / 0.3);
367
- --shadow-focus: 0 0 0 2px var(--color-bg-base), 0 0 0 4px var(--color-focus-ring);
371
+ --shadow-focus: 0 0 0 2px var(--color-canvas), 0 0 0 4px var(--color-focus-ring);
368
372
 
369
373
  --color-success-bg: rgba(22, 163, 74, 0.12);
370
374
  --color-success-border: rgba(22, 163, 74, 0.3);
@@ -386,7 +390,7 @@
386
390
  --color-info-text: #60a5fa;
387
391
  --color-info-solid: #3b82f6;
388
392
 
389
- --color-code-bg: #161b22;
393
+ --color-code-canvas: #161b22;
390
394
  --color-code-border: rgba(255, 255, 255, 0.1);
391
395
  --color-code-comment: #8b949e;
392
396
  --color-code-keyword: #ff7b72;
@@ -394,7 +398,7 @@
394
398
  --color-code-number: #79c0ff;
395
399
  --color-code-function: #d2a8ff;
396
400
 
397
- --color-scrollbar-thumb: rgba(255, 255, 255, 0.2);
398
- --color-scrollbar-track: transparent;
401
+ --color-thumb: rgba(255, 255, 255, 0.2);
402
+ --color-track: transparent;
399
403
  }
400
404
  }
@@ -1,5 +1,3 @@
1
- @layer theme, base, components, utilities;
2
-
3
1
  @layer components {
4
2
  .root {
5
3
  display: flex;
@@ -8,19 +6,17 @@
8
6
  cursor: pointer;
9
7
  user-select: none;
10
8
  }
11
-
12
9
  .root[data-disabled] {
13
10
  opacity: 0.44;
14
11
  cursor: not-allowed;
15
12
  }
16
-
17
13
  .thumb-track {
18
14
  position: relative;
19
15
  width: 36px;
20
16
  height: 20px;
21
17
  border-radius: var(--radius-full);
22
18
  background-color: var(--color-surface-3);
23
- border: var(--border-width-base) solid var(--color-border-base);
19
+ border: var(--border-width-base) solid var(--color-line);
24
20
  transition:
25
21
  background-color var(--duration-normal) var(--easing-standard),
26
22
  border-color var(--duration-normal) var(--easing-standard),
@@ -28,21 +24,17 @@
28
24
  outline: none;
29
25
  flex-shrink: 0;
30
26
  }
31
-
32
27
  .thumb-track:focus-visible {
33
28
  box-shadow: var(--shadow-focus);
34
29
  }
35
-
36
30
  .thumb-track[data-checked] {
37
31
  background-color: var(--color-accent);
38
32
  border-color: var(--color-accent);
39
33
  }
40
-
41
34
  .thumb-track[data-checked]:hover {
42
35
  background-color: var(--color-accent-hover);
43
36
  border-color: var(--color-accent-hover);
44
37
  }
45
-
46
38
  .thumb {
47
39
  position: absolute;
48
40
  top: 2px;
@@ -54,14 +46,12 @@
54
46
  box-shadow: var(--shadow-xs);
55
47
  transition: transform var(--duration-normal) var(--easing-spring);
56
48
  }
57
-
58
49
  .thumb-track[data-checked] .thumb {
59
50
  transform: translateX(16px);
60
51
  }
61
-
62
52
  .label {
63
53
  font-family: var(--font-mono);
64
54
  font-size: var(--font-size-sm);
65
- color: var(--color-text-primary);
55
+ color: var(--color-primary);
66
56
  }
67
57
  }
@@ -1,26 +1,21 @@
1
- @layer theme, base, components, utilities;
2
-
3
1
  @layer components {
4
2
  .root {
5
3
  display: flex;
6
4
  flex-direction: column;
7
5
  gap: 0;
8
6
  }
9
-
10
7
  /* ─── Tab List ──────────────────────────────────────── */
11
8
  .list {
12
9
  display: flex;
13
10
  align-items: center;
14
11
  gap: var(--space-px);
15
- border-bottom: var(--border-width-base) solid var(--color-border-base);
12
+ border-bottom: var(--border-width-base) solid var(--color-line);
16
13
  overflow-x: auto;
17
14
  scrollbar-width: none;
18
15
  }
19
-
20
16
  .list::-webkit-scrollbar {
21
17
  display: none;
22
18
  }
23
-
24
19
  /* ─── Tab trigger ────────────────────────────────────── */
25
20
  .tab {
26
21
  display: inline-flex;
@@ -30,7 +25,7 @@
30
25
  font-family: var(--font-mono);
31
26
  font-size: var(--font-size-sm);
32
27
  font-weight: var(--font-weight-regular);
33
- color: var(--color-text-tertiary);
28
+ color: var(--color-tertiary);
34
29
  border: none;
35
30
  background: none;
36
31
  cursor: pointer;
@@ -44,16 +39,13 @@
44
39
  border-color var(--duration-fast) var(--easing-standard);
45
40
  user-select: none;
46
41
  }
47
-
48
42
  .tab:hover:not([data-disabled]) {
49
- color: var(--color-text-primary);
50
- border-bottom-color: var(--color-border-strong);
43
+ color: var(--color-primary);
44
+ border-bottom-color: var(--color-line-strong);
51
45
  }
52
-
53
46
  .tab:focus-visible {
54
47
  outline: none;
55
48
  }
56
-
57
49
  .tab:focus-visible::after {
58
50
  content: "";
59
51
  position: absolute;
@@ -62,29 +54,24 @@
62
54
  box-shadow: var(--shadow-focus);
63
55
  pointer-events: none;
64
56
  }
65
-
66
57
  .tab[data-active] {
67
- color: var(--color-text-primary);
58
+ color: var(--color-primary);
68
59
  font-weight: var(--font-weight-medium);
69
60
  border-bottom-color: var(--color-accent);
70
61
  }
71
-
72
62
  .tab[data-disabled] {
73
63
  opacity: 0.44;
74
64
  cursor: not-allowed;
75
65
  }
76
-
77
66
  /* ─── Tab panel ─────────────────────────────────────── */
78
67
  .panel {
79
68
  padding-top: var(--space-4);
80
69
  outline: none;
81
70
  transition: opacity 150ms var(--easing-ease-out);
82
71
  }
83
-
84
72
  .panel[data-starting-style] {
85
73
  opacity: 0;
86
74
  }
87
-
88
75
  .panel:focus-visible {
89
76
  box-shadow: var(--shadow-focus);
90
77
  border-radius: var(--radius-sm);