@opencode-ai/ui 0.0.0-dev-202606260600 → 0.0.0-dev-202606260805

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opencode-ai/ui",
3
- "version": "0.0.0-dev-202606260600",
3
+ "version": "0.0.0-dev-202606260805",
4
4
  "type": "module",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -35,12 +35,12 @@
35
35
  cursor: default;
36
36
  user-select: none;
37
37
 
38
- background-color: var(--background-stronger);
39
- border: 1px solid var(--border-weak-base);
38
+ background-color: var(--v2-background-bg-base);
39
+ border: 0.5px solid var(--v2-border-border-base);
40
40
  border-radius: 0;
41
41
  box-shadow: none;
42
42
  overflow: clip;
43
- color: var(--text-strong);
43
+ color: var(--v2-text-text-base);
44
44
  transition: background-color 0.15s ease;
45
45
 
46
46
  /* text-12-regular */
@@ -52,10 +52,10 @@
52
52
  letter-spacing: var(--letter-spacing-normal);
53
53
 
54
54
  &:hover:not([data-disabled]) {
55
- background-color: var(--surface-base-hover);
55
+ background-color: var(--v2-overlay-simple-overlay-hover);
56
56
  }
57
57
  &:active:not([data-disabled]) {
58
- background-color: var(--surface-base-active);
58
+ background-color: var(--v2-overlay-simple-overlay-pressed);
59
59
  }
60
60
  &:focus-visible {
61
61
  outline: none;
@@ -82,9 +82,9 @@
82
82
 
83
83
  &[data-expanded] {
84
84
  [data-slot="accordion-content"] {
85
- border: 1px solid var(--border-weak-base);
85
+ border: 0.5px solid var(--v2-border-border-base);
86
86
  border-top: 0;
87
- background-color: var(--background-stronger);
87
+ background-color: var(--v2-background-bg-layer-01);
88
88
  }
89
89
  }
90
90
 
@@ -104,6 +104,30 @@
104
104
  }
105
105
  }
106
106
 
107
+ body:not([data-new-layout]) [data-component="accordion"] {
108
+ [data-slot="accordion-item"] [data-slot="accordion-header"] [data-slot="accordion-trigger"] {
109
+ background-color: var(--background-stronger);
110
+ border-width: 1px;
111
+ border-color: var(--border-weak-base);
112
+ color: var(--text-strong);
113
+
114
+ &:hover:not([data-disabled]) {
115
+ background-color: var(--surface-base-hover);
116
+ }
117
+
118
+ &:active:not([data-disabled]) {
119
+ background-color: var(--surface-base-active);
120
+ }
121
+ }
122
+
123
+ [data-slot="accordion-item"][data-expanded] [data-slot="accordion-content"] {
124
+ border-width: 1px;
125
+ border-color: var(--border-weak-base);
126
+ border-top: 0;
127
+ background-color: var(--background-stronger);
128
+ }
129
+ }
130
+
107
131
  @keyframes slideDown {
108
132
  from {
109
133
  height: 0;
@@ -19,14 +19,14 @@
19
19
  font-weight: var(--font-weight-regular);
20
20
  line-height: var(--line-height-large);
21
21
  letter-spacing: var(--letter-spacing-normal);
22
- color: var(--text-strong);
22
+ color: var(--v2-text-text-base);
23
23
 
24
24
  --card-gap: 8px;
25
25
  --card-icon: 16px;
26
26
  --card-indent: 0px;
27
27
  --card-line-pad: 8px;
28
28
 
29
- --card-accent: var(--icon-active);
29
+ --card-accent: var(--v2-icon-icon-base);
30
30
 
31
31
  &:has([data-slot="card-title"]) {
32
32
  gap: 8px;
@@ -48,7 +48,7 @@
48
48
  }
49
49
 
50
50
  :where([data-card="title"], [data-slot="card-title"]) {
51
- color: var(--text-strong);
51
+ color: var(--v2-text-text-base);
52
52
  font-weight: var(--font-weight-medium);
53
53
  }
54
54
 
@@ -72,7 +72,7 @@
72
72
  }
73
73
 
74
74
  :where([data-slot="card-title-icon"][data-placeholder]) [data-component="icon"] {
75
- color: var(--text-weak);
75
+ color: var(--v2-text-text-faint);
76
76
  }
77
77
 
78
78
  :where([data-slot="card-title-icon"])
@@ -82,7 +82,7 @@
82
82
  }
83
83
 
84
84
  :where([data-card="description"], [data-slot="card-description"]) {
85
- color: var(--text-base);
85
+ color: var(--v2-text-text-muted);
86
86
  white-space: pre-wrap;
87
87
  overflow-wrap: anywhere;
88
88
  word-break: break-word;
@@ -92,3 +92,24 @@
92
92
  padding-left: var(--card-indent);
93
93
  }
94
94
  }
95
+
96
+ body:not([data-new-layout]) [data-component="card"] {
97
+ color: var(--text-strong);
98
+ --card-accent: var(--icon-active);
99
+
100
+ :where([data-card="title"], [data-slot="card-title"]) {
101
+ color: var(--text-strong);
102
+ }
103
+
104
+ :where([data-slot="card-title-icon"][data-placeholder]) [data-component="icon"] {
105
+ color: var(--text-weak);
106
+ }
107
+
108
+ :where([data-card="description"], [data-slot="card-description"]) {
109
+ color: var(--text-base);
110
+ }
111
+
112
+ &[data-variant="error"] {
113
+ --card-accent: var(--icon-critical-base) !important;
114
+ }
115
+ }
@@ -40,7 +40,7 @@ export function Card(props: CardProps) {
40
40
  const variant = () => split.variant ?? "normal"
41
41
  const accent = () => {
42
42
  const v = variant()
43
- if (v === "error") return "var(--icon-critical-base)"
43
+ if (v === "error") return "var(--v2-state-fg-danger)"
44
44
  if (v === "warning") return "var(--icon-warning-active)"
45
45
  if (v === "success") return "var(--icon-success-active)"
46
46
  if (v === "info") return "var(--icon-info-active)"
@@ -249,6 +249,7 @@
249
249
  --color-v2-text-text-contrast: var(--v2-text-text-contrast);
250
250
  --color-v2-text-text-accent: var(--v2-text-text-accent);
251
251
  --color-v2-text-text-accent-hover: var(--v2-text-text-accent-hover);
252
+ --color-v2-text-text-code-accent: var(--v2-text-text-code-accent);
252
253
  --color-v2-icon-icon-base: var(--v2-icon-icon-base);
253
254
  --color-v2-icon-icon-muted: var(--v2-icon-icon-muted);
254
255
  --color-v2-icon-icon-inverse: var(--v2-icon-icon-inverse);
@@ -282,4 +283,4 @@
282
283
  --color-v2-state-bg-info: var(--v2-state-bg-info);
283
284
  --color-v2-state-fg-info: var(--v2-state-fg-info);
284
285
  --color-v2-state-border-info: var(--v2-state-border-info);
285
- }
286
+ }
@@ -20,6 +20,8 @@
20
20
  "text-base": "#6F6F6F",
21
21
  "text-weak": "#8F8F8F",
22
22
  "text-weaker": "#C7C7C7",
23
+ "text-diff-add-base": "var(--v2-state-fg-success)",
24
+ "text-diff-delete-base": "var(--v2-state-fg-danger)",
23
25
  "border-weak-base": "#DBDBDB",
24
26
  "border-weaker-base": "#E8E8E8",
25
27
  "icon-base": "#8F8F8F",
@@ -31,14 +33,14 @@
31
33
  "surface-interactive-weak": "#F5FAFF",
32
34
  "icon-success-base": "#0ABE00",
33
35
  "surface-success-base": "#E6FFE5",
34
- "syntax-comment": "#7a7a7a",
35
- "syntax-keyword": "#a753ae",
36
- "syntax-string": "#00ceb9",
37
- "syntax-primitive": "#034cff",
38
- "syntax-property": "#a753ae",
39
- "syntax-type": "#8a6f00",
36
+ "syntax-comment": "var(--v2-text-text-muted)",
37
+ "syntax-keyword": "var(--v2-pink-800)",
38
+ "syntax-string": "var(--v2-green-800)",
39
+ "syntax-primitive": "var(--v2-pink-800)",
40
+ "syntax-property": "var(--v2-orange-800)",
41
+ "syntax-type": "var(--v2-purple-800)",
40
42
  "syntax-constant": "#007b80",
41
- "syntax-critical": "#ff8c00",
43
+ "syntax-critical": "var(--v2-red-800)",
42
44
  "syntax-diff-delete": "#ff8c00",
43
45
  "syntax-diff-unknown": "#a753ae",
44
46
  "surface-critical-base": "#FFF2F0"
@@ -170,6 +172,7 @@
170
172
  "v2-text-text-contrast": "var(--v2-grey-50)",
171
173
  "v2-text-text-accent": "var(--v2-blue-600)",
172
174
  "v2-text-text-accent-hover": "var(--v2-blue-700)",
175
+ "v2-text-text-code-accent": "var(--v2-blue-900)",
173
176
  "v2-icon-icon-base": "var(--v2-grey-800)",
174
177
  "v2-icon-icon-muted": "var(--v2-grey-600)",
175
178
  "v2-icon-icon-inverse": "var(--v2-grey-50)",
@@ -252,6 +255,8 @@
252
255
  "text-base": "#A0A0A0",
253
256
  "text-weak": "#707070",
254
257
  "text-weaker": "#505050",
258
+ "text-diff-add-base": "var(--v2-state-fg-success)",
259
+ "text-diff-delete-base": "var(--v2-state-fg-danger)",
255
260
  "border-weak-base": "#282828",
256
261
  "border-weaker-base": "#232323",
257
262
  "icon-base": "#7E7E7E",
@@ -262,14 +267,14 @@
262
267
  "surface-base-hover": "#FFFFFF0D",
263
268
  "surface-interactive-weak": "#0D172B",
264
269
  "surface-success-base": "#022B00",
265
- "syntax-comment": "#8f8f8f",
266
- "syntax-keyword": "#edb2f1",
267
- "syntax-string": "#00ceb9",
268
- "syntax-primitive": "#8cb0ff",
269
- "syntax-property": "#fab283",
270
- "syntax-type": "#fcd53a",
270
+ "syntax-comment": "var(--v2-text-text-muted)",
271
+ "syntax-keyword": "var(--v2-pink-400)",
272
+ "syntax-string": "var(--v2-green-400)",
273
+ "syntax-primitive": "var(--v2-pink-400)",
274
+ "syntax-property": "var(--v2-orange-400)",
275
+ "syntax-type": "var(--v2-purple-400)",
271
276
  "syntax-constant": "#93e9f6",
272
- "syntax-critical": "#fab283",
277
+ "syntax-critical": "var(--v2-red-400)",
273
278
  "syntax-diff-delete": "#fab283",
274
279
  "syntax-diff-unknown": "#edb2f1",
275
280
  "surface-critical-base": "#1F0603"
@@ -401,6 +406,7 @@
401
406
  "v2-text-text-contrast": "var(--v2-grey-50)",
402
407
  "v2-text-text-accent": "var(--v2-blue-400)",
403
408
  "v2-text-text-accent-hover": "var(--v2-blue-300)",
409
+ "v2-text-text-code-accent": "var(--v2-blue-400)",
404
410
  "v2-icon-icon-base": "var(--v2-grey-400)",
405
411
  "v2-icon-icon-muted": "var(--v2-grey-600)",
406
412
  "v2-icon-icon-inverse": "var(--v2-grey-1100)",
@@ -18,6 +18,7 @@ const light: Record<string, V2ColorValue> = {
18
18
  "v2-text-text-contrast": ref("v2-grey-100"),
19
19
  "v2-text-text-accent": ref("v2-blue-600"),
20
20
  "v2-text-text-accent-hover": ref("v2-blue-700"),
21
+ "v2-text-text-code-accent": ref("v2-blue-900"),
21
22
  "v2-border-border-muted": ref("v2-alpha-dark-8"),
22
23
  "v2-border-border-base": ref("v2-alpha-dark-10"),
23
24
  "v2-border-border-strong": ref("v2-alpha-dark-20"),
@@ -81,6 +82,7 @@ const dark: Record<string, V2ColorValue> = {
81
82
  "v2-text-text-contrast": ref("v2-grey-100"),
82
83
  "v2-text-text-accent": ref("v2-blue-400"),
83
84
  "v2-text-text-accent-hover": ref("v2-blue-300"),
85
+ "v2-text-text-code-accent": ref("v2-blue-400"),
84
86
  "v2-border-border-muted": ref("v2-alpha-light-8"),
85
87
  "v2-border-border-base": ref("v2-alpha-light-10"),
86
88
  "v2-border-border-strong": ref("v2-alpha-light-20"),
@@ -1,4 +1,16 @@
1
1
  @layer theme {
2
+ html[data-theme="oc-2"] body:not([data-new-layout]) {
3
+ --text-diff-add-base: light-dark(#167517, #c4ffc0);
4
+ --text-diff-delete-base: light-dark(#fa3012, #ec2f14);
5
+ --syntax-comment: light-dark(#7a7a7a, #8f8f8f);
6
+ --syntax-keyword: light-dark(#a753ae, #edb2f1);
7
+ --syntax-string: #00ceb9;
8
+ --syntax-primitive: light-dark(#034cff, #8cb0ff);
9
+ --syntax-property: light-dark(#a753ae, #fab283);
10
+ --syntax-type: light-dark(#8a6f00, #fcd53a);
11
+ --syntax-critical: light-dark(#ff8c00, #fab283);
12
+ }
13
+
2
14
  :root {
3
15
  color-scheme: light;
4
16
 
@@ -22,6 +34,7 @@
22
34
  --v2-text-text-contrast: var(--v2-grey-50);
23
35
  --v2-text-text-accent: var(--v2-blue-600);
24
36
  --v2-text-text-accent-hover: var(--v2-blue-700);
37
+ --v2-text-text-code-accent: var(--v2-blue-900);
25
38
 
26
39
  /* ── Icon ── */
27
40
  --v2-icon-icon-base: var(--v2-grey-800);
@@ -141,6 +154,7 @@
141
154
  --v2-text-text-contrast: var(--v2-grey-100);
142
155
  --v2-text-text-accent: var(--v2-blue-400);
143
156
  --v2-text-text-accent-hover: var(--v2-blue-300);
157
+ --v2-text-text-code-accent: var(--v2-blue-400);
144
158
 
145
159
  --v2-icon-icon-base: var(--v2-grey-400);
146
160
  --v2-icon-icon-muted: var(--v2-grey-600);
@@ -243,6 +257,7 @@
243
257
  --v2-text-text-contrast: var(--v2-grey-50);
244
258
  --v2-text-text-accent: var(--v2-blue-600);
245
259
  --v2-text-text-accent-hover: var(--v2-blue-700);
260
+ --v2-text-text-code-accent: var(--v2-blue-900);
246
261
 
247
262
  --v2-icon-icon-base: var(--v2-grey-800);
248
263
  --v2-icon-icon-muted: var(--v2-grey-600);
@@ -352,6 +367,7 @@
352
367
  --v2-text-text-contrast: var(--v2-grey-50);
353
368
  --v2-text-text-accent: var(--v2-blue-400);
354
369
  --v2-text-text-accent-hover: var(--v2-blue-300);
370
+ --v2-text-text-code-accent: var(--v2-blue-400);
355
371
 
356
372
  --v2-icon-icon-base: var(--v2-grey-400);
357
373
  --v2-icon-icon-muted: var(--v2-grey-600);