@opengeni/react 0.45.0 → 0.48.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.
- package/README.md +68 -12
- package/dist/{chunk-U3CSCMWA.js → chunk-FK6VG4LL.js} +9 -13
- package/dist/chunk-FK6VG4LL.js.map +1 -0
- package/dist/{chunk-HFO4ERGQ.js → chunk-FWXGSNXT.js} +2 -2
- package/dist/{chunk-SRFUT2ZU.js → chunk-I4MPFDRP.js} +119 -63
- package/dist/chunk-I4MPFDRP.js.map +1 -0
- package/dist/{chunk-EB67J347.js → chunk-KZ73RL76.js} +111 -31
- package/dist/chunk-KZ73RL76.js.map +1 -0
- package/dist/{chunk-LWR4MXSS.js → chunk-LHLYWG5R.js} +10 -1
- package/dist/chunk-LHLYWG5R.js.map +1 -0
- package/dist/{chunk-L3EWO3UK.js → chunk-NJ7M2B6Z.js} +445 -84
- package/dist/chunk-NJ7M2B6Z.js.map +1 -0
- package/dist/{chunk-VCBFUSUZ.js → chunk-O4VXOBGF.js} +3 -3
- package/dist/{chunk-VCBFUSUZ.js.map → chunk-O4VXOBGF.js.map} +1 -1
- package/dist/{chunk-6EDV6YFE.js → chunk-OL6QVXGF.js} +121 -29
- package/dist/chunk-OL6QVXGF.js.map +1 -0
- package/dist/chunk-VZTQ73XT.js +86 -0
- package/dist/chunk-VZTQ73XT.js.map +1 -0
- package/dist/{chunk-EHSYZ4KP.js → chunk-WYA65Y3F.js} +16 -16
- package/dist/chunk-WYA65Y3F.js.map +1 -0
- package/dist/{chunk-FD72GJMK.js → chunk-XCNTXWBB.js} +274 -125
- package/dist/chunk-XCNTXWBB.js.map +1 -0
- package/dist/client.d.ts +1 -1
- package/dist/components/chat-composer.d.ts +7 -2
- package/dist/components/composer-transcription-control.d.ts +2 -0
- package/dist/components/composer.d.ts +14 -0
- package/dist/components/machines/machine-detail.d.ts +3 -1
- package/dist/components/machines-dashboard.d.ts +3 -3
- package/dist/components/message-timeline.d.ts +12 -2
- package/dist/components/sandbox-files.d.ts +2 -2
- package/dist/components/sandbox-terminal.d.ts +29 -0
- package/dist/components/sandbox-workspace.d.ts +5 -1
- package/dist/components/workspace-dock.d.ts +3 -1
- package/dist/composer.d.ts +2 -2
- package/dist/composer.js +6 -6
- package/dist/hooks/internal.d.ts +6 -0
- package/dist/hooks/use-codex-accounts.d.ts +1 -1
- package/dist/hooks/use-environments.d.ts +10 -4
- package/dist/hooks/use-machines.d.ts +7 -0
- package/dist/hooks/use-sandbox-files.d.ts +19 -0
- package/dist/hooks/use-sandbox-git.d.ts +7 -0
- package/dist/hooks/use-transcription.d.ts +2 -2
- package/dist/hooks/use-voice-input.d.ts +13 -4
- package/dist/index.d.ts +6 -5
- package/dist/index.js +904 -538
- package/dist/index.js.map +1 -1
- package/dist/lib/composer-responsive-context.d.ts +9 -0
- package/dist/lib/use-portal-token-style.d.ts +14 -3
- package/dist/machines.js +2 -2
- package/dist/{queue-surface-implementation-J4XJFKRW.js → queue-surface-implementation-U5JFG7HT.js} +19 -18
- package/dist/queue-surface-implementation-U5JFG7HT.js.map +1 -0
- package/dist/realtime/realtime-control.d.ts +9 -0
- package/dist/realtime.js +29 -32
- package/dist/realtime.js.map +1 -1
- package/dist/session-ui.js +5 -5
- package/dist/session.js +4 -4
- package/dist/timeline/activity-rail.d.ts +3 -2
- package/dist/timeline/index.d.ts +2 -2
- package/dist/timeline/parsers.d.ts +3 -3
- package/dist/timeline/registry.d.ts +3 -0
- package/dist/timeline/screenshot-lightbox.d.ts +1 -1
- package/dist/timeline/types.d.ts +4 -0
- package/dist/voice-recording-store.d.ts +8 -2
- package/package.json +20 -4
- package/src/client.ts +3 -0
- package/src/components/chat-composer.tsx +12 -2
- package/src/components/code-editor.tsx +1 -1
- package/src/components/command-palette.tsx +1 -1
- package/src/components/composer-transcription-control.tsx +41 -16
- package/src/components/composer.tsx +52 -26
- package/src/components/copy-button.tsx +2 -2
- package/src/components/desktop-viewer.tsx +2 -2
- package/src/components/file-browser.tsx +39 -17
- package/src/components/human-input-form.tsx +2 -2
- package/src/components/machine-card.tsx +1 -1
- package/src/components/machines/machine-detail.tsx +39 -15
- package/src/components/machines-dashboard.tsx +7 -6
- package/src/components/message-timeline.tsx +44 -11
- package/src/components/model-picker.tsx +2 -2
- package/src/components/model-policy-picker.tsx +16 -15
- package/src/components/queue-surface-implementation.tsx +20 -16
- package/src/components/queue-surface-state.tsx +2 -2
- package/src/components/sandbox-files.tsx +140 -60
- package/src/components/sandbox-terminal.tsx +24 -5
- package/src/components/sandbox-workspace.tsx +180 -142
- package/src/components/session-chrome.tsx +14 -14
- package/src/components/tooltip.tsx +13 -16
- package/src/components/user-message-body.tsx +1 -1
- package/src/components/workbench-changes.tsx +4 -4
- package/src/components/workspace-dock.tsx +13 -5
- package/src/composer.ts +3 -0
- package/src/hooks/internal.ts +132 -38
- package/src/hooks/use-codex-accounts.ts +4 -4
- package/src/hooks/use-environments.ts +24 -5
- package/src/hooks/use-file-attachments.ts +70 -32
- package/src/hooks/use-goal.ts +17 -5
- package/src/hooks/use-machines.ts +47 -1
- package/src/hooks/use-sandbox-files.ts +310 -59
- package/src/hooks/use-sandbox-git.ts +148 -41
- package/src/hooks/use-session-capabilities.ts +35 -24
- package/src/hooks/use-session-events.ts +18 -4
- package/src/hooks/use-transcription.ts +4 -14
- package/src/hooks/use-turn-queue.ts +17 -5
- package/src/hooks/use-voice-input.ts +481 -36
- package/src/hooks/use-windowed-sections.ts +9 -7
- package/src/index.ts +11 -6
- package/src/lib/composer-responsive-context.ts +15 -0
- package/src/lib/use-portal-token-style.ts +60 -15
- package/src/provider.tsx +52 -7
- package/src/realtime/dropdown-menu.tsx +15 -19
- package/src/realtime/realtime-control.tsx +18 -7
- package/src/timeline/activity-rail.tsx +15 -6
- package/src/timeline/index.ts +1 -1
- package/src/timeline/parsers.ts +33 -20
- package/src/timeline/projection.ts +23 -0
- package/src/timeline/registry.ts +7 -0
- package/src/timeline/screenshot-lightbox.tsx +15 -4
- package/src/timeline/shared.tsx +8 -8
- package/src/timeline/tool-renderers.tsx +166 -22
- package/src/timeline/turn-summary.tsx +6 -6
- package/src/timeline/types.ts +4 -0
- package/src/voice-recording-store.ts +15 -0
- package/styles/compiled.css +5065 -0
- package/styles/compiled.d.ts +2 -0
- package/styles/effective-tokens.css +27 -0
- package/styles/index.css +3 -0
- package/styles/responsive.css +196 -0
- package/styles/responsive.d.ts +2 -0
- package/styles/tokens.css +50 -17
- package/dist/chunk-6EDV6YFE.js.map +0 -1
- package/dist/chunk-EB67J347.js.map +0 -1
- package/dist/chunk-EHSYZ4KP.js.map +0 -1
- package/dist/chunk-FD72GJMK.js.map +0 -1
- package/dist/chunk-JB5725BI.js +0 -48
- package/dist/chunk-JB5725BI.js.map +0 -1
- package/dist/chunk-L3EWO3UK.js.map +0 -1
- package/dist/chunk-LWR4MXSS.js.map +0 -1
- package/dist/chunk-SRFUT2ZU.js.map +0 -1
- package/dist/chunk-U3CSCMWA.js.map +0 -1
- package/dist/queue-surface-implementation-J4XJFKRW.js.map +0 -1
- /package/dist/{chunk-HFO4ERGQ.js.map → chunk-FWXGSNXT.js.map} +0 -0
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/* Generated by scripts/build-compiled-css.ts; do not edit directly. */
|
|
2
|
+
.og-root,
|
|
3
|
+
[data-og-density="compact"],
|
|
4
|
+
.og-density-compact,
|
|
5
|
+
[data-og-theme="light"],
|
|
6
|
+
.og-light {
|
|
7
|
+
--_og-duration-fast: var(--og-duration-fast);
|
|
8
|
+
--_og-duration-base: var(--og-duration-base);
|
|
9
|
+
--_og-duration-slow: var(--og-duration-slow);
|
|
10
|
+
--_og-duration-disclose: var(--og-duration-disclose);
|
|
11
|
+
--_og-duration-disclose-settle: var(--og-duration-disclose-settle);
|
|
12
|
+
--_og-duration-stream: var(--og-duration-stream);
|
|
13
|
+
--_og-duration-markdown-crystallize: var(--og-duration-markdown-crystallize);
|
|
14
|
+
--_og-color-accent-soft: var(--og-color-accent-soft);
|
|
15
|
+
--_og-color-diff-add-bg: var(--og-color-diff-add-bg);
|
|
16
|
+
--_og-color-diff-del-bg: var(--og-color-diff-del-bg);
|
|
17
|
+
--_og-shadow-glow: var(--og-shadow-glow);
|
|
18
|
+
--_og-session-chrome-surface: var(--og-session-chrome-surface);
|
|
19
|
+
--_og-session-chrome-surface-open: var(--og-session-chrome-surface-open);
|
|
20
|
+
--_og-session-chrome-border: var(--og-session-chrome-border);
|
|
21
|
+
--_og-session-chrome-border-open: var(--og-session-chrome-border-open);
|
|
22
|
+
--_og-session-chrome-highlight: var(--og-session-chrome-highlight);
|
|
23
|
+
--_og-session-chrome-highlight-ring: var(--og-session-chrome-highlight-ring);
|
|
24
|
+
--_og-session-chrome-radius: var(--og-session-chrome-radius);
|
|
25
|
+
--_og-session-chrome-ease: var(--og-session-chrome-ease);
|
|
26
|
+
--_og-session-chrome-row-hover: var(--og-session-chrome-row-hover);
|
|
27
|
+
}
|
package/styles/index.css
CHANGED
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
-------------------------------------------------------------------------- */
|
|
16
16
|
|
|
17
17
|
@import "./tokens.css";
|
|
18
|
+
@import "./effective-tokens.css";
|
|
18
19
|
|
|
19
20
|
@theme inline {
|
|
20
21
|
--font-og-sans: var(--og-font-sans);
|
|
@@ -145,6 +146,8 @@
|
|
|
145
146
|
--animate-og-blink: og-blink 1s steps(2, start) infinite;
|
|
146
147
|
--animate-og-shimmer: og-shimmer 2.2s linear infinite;
|
|
147
148
|
--animate-og-spin: og-spin 0.9s linear infinite;
|
|
149
|
+
--animate-spin: og-spin 1s linear infinite;
|
|
150
|
+
--animate-pulse: og-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
|
|
148
151
|
--animate-og-waveform: og-waveform 1.15s var(--og-ease-in-out) infinite;
|
|
149
152
|
/* Manual disclose — snappy. Auto settle-collapse is the slow path below. */
|
|
150
153
|
--animate-og-expand: og-expand var(--og-duration-disclose) var(--og-ease-in-out);
|
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
/* Composer responsiveness is viewport-based unless the public Root opts into
|
|
2
|
+
its own inline-size container. The semantic hooks below intentionally keep
|
|
3
|
+
information density separate from pointer target sizing. */
|
|
4
|
+
.og-composer[data-og-responsive-basis="container"] {
|
|
5
|
+
container: og-composer / inline-size;
|
|
6
|
+
--_og-c-input-x: 1rem;
|
|
7
|
+
--_og-c-input-size: var(--og-font-size-composer-wide);
|
|
8
|
+
--_og-c-input-leading: var(--og-line-height-composer-wide);
|
|
9
|
+
--_og-c-gap: 0.375rem;
|
|
10
|
+
--_og-c-footer-x: 0.625rem;
|
|
11
|
+
--_og-c-footer-b: 0.625rem;
|
|
12
|
+
--_og-c-controls-wrap: wrap;
|
|
13
|
+
--_og-c-hint-display: inline;
|
|
14
|
+
--_og-c-model-max: 16rem;
|
|
15
|
+
--_og-c-model-x: 0.625rem;
|
|
16
|
+
--_og-c-native-max: 180px;
|
|
17
|
+
--_og-c-recovered-max: 11rem;
|
|
18
|
+
--_og-c-error-max: 10rem;
|
|
19
|
+
--og-model-policy-label-full-display: inline;
|
|
20
|
+
--og-model-policy-label-short-display: none;
|
|
21
|
+
--og-model-policy-effort-display: inline;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
[data-og-responsive-basis="container"] .og-composer-input {
|
|
25
|
+
padding-inline: var(--_og-c-input-x);
|
|
26
|
+
font-size: var(--_og-c-input-size);
|
|
27
|
+
line-height: var(--_og-c-input-leading);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
[data-og-responsive-basis="container"] .og-composer-footer {
|
|
31
|
+
gap: var(--_og-c-gap);
|
|
32
|
+
padding-inline: var(--_og-c-footer-x);
|
|
33
|
+
padding-bottom: var(--_og-c-footer-b);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
[data-og-responsive-basis="container"] .og-composer-footer[data-og-stack-actions] {
|
|
37
|
+
flex-wrap: wrap;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
[data-og-responsive-basis="container"] .og-composer-controls {
|
|
41
|
+
flex-wrap: var(--_og-c-controls-wrap);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
[data-og-responsive-basis="container"]
|
|
45
|
+
:is(.og-composer-controls, .og-composer-actions) {
|
|
46
|
+
gap: var(--_og-c-gap);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
[data-og-responsive-basis="container"]
|
|
50
|
+
:is(.og-composer-hint, .og-command-description) {
|
|
51
|
+
display: var(--_og-c-hint-display);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
[data-og-responsive-basis="container"] .og-model-policy-trigger {
|
|
55
|
+
height: var(--og-model-picker-trigger-height);
|
|
56
|
+
max-width: var(--_og-c-model-max);
|
|
57
|
+
padding-inline: var(--_og-c-model-x);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
[data-og-responsive-basis="container"] .og-model-policy-label-full {
|
|
61
|
+
display: var(--og-model-policy-label-full-display);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
[data-og-responsive-basis="container"] .og-model-policy-label-short {
|
|
65
|
+
display: var(--og-model-policy-label-short-display);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
[data-og-responsive-basis="container"] .og-model-policy-effort {
|
|
69
|
+
display: var(--og-model-policy-effort-display);
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
[data-og-responsive-basis="container"] .og-model-picker-native {
|
|
73
|
+
max-width: var(--_og-c-native-max);
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
[data-og-responsive-basis="container"] .og-transcription-recovered-label {
|
|
77
|
+
max-width: var(--_og-c-recovered-max);
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
[data-og-responsive-basis="container"] .og-transcription-error-label {
|
|
81
|
+
max-width: var(--_og-c-error-max);
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
[data-og-responsive-basis="container"]
|
|
85
|
+
:is(.og-realtime-primary, .og-realtime-model-trigger) {
|
|
86
|
+
height: 2rem;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
[data-og-responsive-basis="container"] .og-realtime-primary {
|
|
90
|
+
width: 2rem;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
[data-og-responsive-basis="container"] .og-realtime-model-trigger {
|
|
94
|
+
display: inline-flex;
|
|
95
|
+
width: 1.5rem;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
[data-og-responsive-basis="container"]
|
|
99
|
+
.og-realtime-control[data-model-menu="split-desktop"]
|
|
100
|
+
.og-realtime-primary {
|
|
101
|
+
border-top-right-radius: 0;
|
|
102
|
+
border-bottom-right-radius: 0;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
@container og-composer (max-width: 47.999rem) {
|
|
106
|
+
[data-og-responsive-basis="container"] :where(*) {
|
|
107
|
+
--_og-c-input-x: 0.875rem;
|
|
108
|
+
--_og-c-input-size: var(--og-font-size-composer);
|
|
109
|
+
--_og-c-input-leading: var(--og-line-height-composer);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
@container og-composer (max-width: 39.999rem) {
|
|
114
|
+
[data-og-responsive-basis="container"] :where(*) {
|
|
115
|
+
--_og-c-gap: 0.25rem;
|
|
116
|
+
--_og-c-footer-x: 0.5rem;
|
|
117
|
+
--_og-c-footer-b: 0.5rem;
|
|
118
|
+
--_og-c-controls-wrap: nowrap;
|
|
119
|
+
--_og-c-hint-display: none;
|
|
120
|
+
--_og-c-model-max: 7.5rem;
|
|
121
|
+
--_og-c-model-x: 0.5rem;
|
|
122
|
+
--_og-c-native-max: 7.5rem;
|
|
123
|
+
--_og-c-recovered-max: 7rem;
|
|
124
|
+
--_og-c-error-max: 6rem;
|
|
125
|
+
--og-model-policy-label-full-display: none;
|
|
126
|
+
--og-model-policy-label-short-display: inline;
|
|
127
|
+
--og-model-policy-effort-display: none;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
[data-og-responsive-basis="container"] .og-composer-footer {
|
|
131
|
+
flex-wrap: nowrap;
|
|
132
|
+
align-items: center;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
[data-og-responsive-basis="container"] .og-composer-actions {
|
|
136
|
+
flex-wrap: nowrap;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
[data-og-responsive-basis="container"]
|
|
140
|
+
.og-realtime-control[data-model-menu="split-desktop"]
|
|
141
|
+
.og-realtime-primary {
|
|
142
|
+
border-radius: var(--og-radius-md);
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
[data-og-responsive-basis="container"]
|
|
146
|
+
.og-realtime-control[data-model-menu="split-desktop"]
|
|
147
|
+
.og-realtime-model-trigger {
|
|
148
|
+
display: none;
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
@container og-composer (max-width: 24.999rem) {
|
|
153
|
+
.og-composer[data-og-responsive-basis="container"] .og-composer-resume-label-long {
|
|
154
|
+
display: none;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
.og-composer[data-og-responsive-basis="container"] .og-composer-resume-label-short {
|
|
158
|
+
display: inline;
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
@media (pointer: coarse) {
|
|
163
|
+
[data-og-responsive-basis="container"] .og-model-policy-trigger,
|
|
164
|
+
[data-og-responsive-basis="container"] .og-realtime-primary,
|
|
165
|
+
[data-og-responsive-basis="container"] .og-realtime-model-trigger {
|
|
166
|
+
height: 2.75rem;
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
[data-og-responsive-basis="container"] .og-realtime-primary,
|
|
170
|
+
[data-og-responsive-basis="container"] .og-realtime-model-trigger {
|
|
171
|
+
width: 2.75rem;
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
/* Portalled menus retain theme/density tokens from their trigger and, in
|
|
176
|
+
container mode, the live composer width supplied by ResizeObserver. */
|
|
177
|
+
.og-model-policy-menu {
|
|
178
|
+
box-sizing: border-box;
|
|
179
|
+
width: min(
|
|
180
|
+
var(--og-model-picker-menu-width),
|
|
181
|
+
calc(var(--og-portal-source-inline-size, 100vw) - 1rem),
|
|
182
|
+
var(--radix-dropdown-menu-content-available-width, 100vw)
|
|
183
|
+
);
|
|
184
|
+
max-width: calc(100vw - 1rem);
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
.og-realtime-menu {
|
|
188
|
+
box-sizing: border-box;
|
|
189
|
+
width: min(
|
|
190
|
+
var(--og-realtime-menu-width),
|
|
191
|
+
calc(var(--og-portal-source-inline-size, 100vw) - 1rem),
|
|
192
|
+
var(--radix-dropdown-menu-content-available-width, 100vw)
|
|
193
|
+
);
|
|
194
|
+
max-width: calc(100vw - 1rem);
|
|
195
|
+
}
|
|
196
|
+
|
package/styles/tokens.css
CHANGED
|
@@ -50,6 +50,7 @@
|
|
|
50
50
|
--og-model-picker-row-padding-x: 0.625rem;
|
|
51
51
|
--og-model-picker-row-padding-y: 0.5rem;
|
|
52
52
|
--og-model-picker-effort-height: 2rem;
|
|
53
|
+
--og-realtime-menu-width: 18rem;
|
|
53
54
|
|
|
54
55
|
/* Radius ----------------------------------------------------------------- */
|
|
55
56
|
--og-radius-xs: 4px;
|
|
@@ -96,7 +97,9 @@
|
|
|
96
97
|
token. Keep the blue dark enough to preserve WCAG AA contrast. */
|
|
97
98
|
--og-color-accent-deep: oklch(0.54 0.18 255);
|
|
98
99
|
--og-color-accent-fg: oklch(0.985 0.005 260);
|
|
99
|
-
|
|
100
|
+
/* Legacy color-mix fallbacks stay in the base rule; supported values are
|
|
101
|
+
grouped below so processors do not repeat this selector for every token. */
|
|
102
|
+
--og-color-accent-soft: var(--og-color-accent);
|
|
100
103
|
|
|
101
104
|
/* Status — muted so they inform without alarming --------------------------- */
|
|
102
105
|
--og-color-status-queued: oklch(0.62 0.03 260);
|
|
@@ -106,8 +109,8 @@
|
|
|
106
109
|
--og-color-status-failed: oklch(0.7 0.16 22);
|
|
107
110
|
--og-color-status-cancelled: oklch(0.6 0.035 260);
|
|
108
111
|
--og-color-danger: oklch(0.66 0.18 22);
|
|
109
|
-
--og-color-diff-add-bg:
|
|
110
|
-
--og-color-diff-del-bg:
|
|
112
|
+
--og-color-diff-add-bg: var(--og-color-status-idle);
|
|
113
|
+
--og-color-diff-del-bg: var(--og-color-status-failed);
|
|
111
114
|
|
|
112
115
|
/* Elevation ----------------------------------------------------------------
|
|
113
116
|
Dark surfaces barely cast shadows; elevation reads mostly from the
|
|
@@ -120,17 +123,17 @@
|
|
|
120
123
|
brand edge via `focus-within:border-og-accent/60`; the old `0 0 0 1px`
|
|
121
124
|
ring sat flush against that border and read as a doubled hairline, so the
|
|
122
125
|
glow is now purely the diffuse outer halo. */
|
|
123
|
-
--og-shadow-glow: 0 0 24px
|
|
126
|
+
--og-shadow-glow: 0 0 24px var(--og-color-accent);
|
|
124
127
|
|
|
125
128
|
/* Session chrome — override on `.og-session-chrome` (or an ancestor) to rebrand.
|
|
126
129
|
Defaults stay quiet: soft surface, short motion, no gold shout. */
|
|
127
|
-
--og-session-chrome-surface:
|
|
128
|
-
--og-session-chrome-surface-open:
|
|
129
|
-
--og-session-chrome-border:
|
|
130
|
+
--og-session-chrome-surface: var(--og-color-surface-2);
|
|
131
|
+
--og-session-chrome-surface-open: var(--og-color-surface-2);
|
|
132
|
+
--og-session-chrome-border: var(--og-color-border);
|
|
130
133
|
--og-session-chrome-border-open: var(--og-color-border);
|
|
131
134
|
/* Selected chip: solid lift vs open dock surface (not a faint wash). */
|
|
132
135
|
--og-session-chrome-highlight: var(--og-color-surface-3);
|
|
133
|
-
--og-session-chrome-highlight-ring:
|
|
136
|
+
--og-session-chrome-highlight-ring: var(--og-color-fg);
|
|
134
137
|
--og-session-chrome-shadow: 0 6px 22px -14px oklch(0 0 0 / 0.42);
|
|
135
138
|
--og-session-chrome-shadow-open: 0 10px 28px -16px oklch(0 0 0 / 0.5);
|
|
136
139
|
--og-session-chrome-radius: var(--og-radius-lg);
|
|
@@ -145,11 +148,25 @@
|
|
|
145
148
|
--og-session-chrome-duration: 220ms;
|
|
146
149
|
--og-session-chrome-crossfade-duration: 180ms;
|
|
147
150
|
--og-session-chrome-ease: var(--og-ease-out);
|
|
148
|
-
--og-session-chrome-row-hover:
|
|
151
|
+
--og-session-chrome-row-hover: var(--og-color-surface-3);
|
|
149
152
|
|
|
150
153
|
color-scheme: dark;
|
|
151
154
|
}
|
|
152
155
|
|
|
156
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
157
|
+
:root {
|
|
158
|
+
--og-color-accent-soft: color-mix(in oklch, var(--og-color-accent) 16%, transparent);
|
|
159
|
+
--og-color-diff-add-bg: color-mix(in oklch, var(--og-color-status-idle) 14%, transparent);
|
|
160
|
+
--og-color-diff-del-bg: color-mix(in oklch, var(--og-color-status-failed) 14%, transparent);
|
|
161
|
+
--og-shadow-glow: 0 0 24px color-mix(in oklch, var(--og-color-accent) 18%, transparent);
|
|
162
|
+
--og-session-chrome-surface: color-mix(in oklch, var(--og-color-surface-2) 82%, transparent);
|
|
163
|
+
--og-session-chrome-surface-open: color-mix(in oklch, var(--og-color-surface-2) 92%, transparent);
|
|
164
|
+
--og-session-chrome-border: color-mix(in oklch, var(--og-color-border) 85%, transparent);
|
|
165
|
+
--og-session-chrome-highlight-ring: color-mix(in oklch, var(--og-color-fg) 16%, transparent);
|
|
166
|
+
--og-session-chrome-row-hover: color-mix(in oklch, var(--og-color-surface-3) 55%, transparent);
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
|
|
153
170
|
/* One supported dense preset for embedded product panels. It changes only
|
|
154
171
|
typography and model-picker density; colors, radii, and brand tokens remain
|
|
155
172
|
independently customizable. Apply either form to an SDK ancestor. */
|
|
@@ -178,6 +195,7 @@
|
|
|
178
195
|
--og-model-picker-row-padding-x: 0.5rem;
|
|
179
196
|
--og-model-picker-row-padding-y: 0.375rem;
|
|
180
197
|
--og-model-picker-effort-height: 1.75rem;
|
|
198
|
+
--og-realtime-menu-width: 15rem;
|
|
181
199
|
}
|
|
182
200
|
|
|
183
201
|
/* Light theme — explicit opt-in, themable per subtree ----------------------- */
|
|
@@ -197,7 +215,8 @@
|
|
|
197
215
|
--og-color-accent-strong: oklch(0.48 0.19 255);
|
|
198
216
|
--og-color-accent-deep: oklch(0.44 0.19 255);
|
|
199
217
|
--og-color-accent-fg: oklch(0.985 0.005 260);
|
|
200
|
-
|
|
218
|
+
/* Match the dark-token fallback strategy without duplicating support rules. */
|
|
219
|
+
--og-color-accent-soft: var(--og-color-accent);
|
|
201
220
|
|
|
202
221
|
--og-color-status-queued: oklch(0.55 0.03 260);
|
|
203
222
|
/* Status letters are ordinary 11 px text, including over selected rows. */
|
|
@@ -209,23 +228,37 @@
|
|
|
209
228
|
--og-color-status-failed: oklch(0.5 0.19 22);
|
|
210
229
|
--og-color-status-cancelled: oklch(0.55 0.025 260);
|
|
211
230
|
--og-color-danger: oklch(0.55 0.2 22);
|
|
212
|
-
--og-color-diff-add-bg:
|
|
213
|
-
--og-color-diff-del-bg:
|
|
231
|
+
--og-color-diff-add-bg: var(--og-color-status-idle);
|
|
232
|
+
--og-color-diff-del-bg: var(--og-color-status-failed);
|
|
214
233
|
|
|
215
234
|
--og-shadow-sm: 0 1px 2px oklch(0.2 0.02 260 / 0.07);
|
|
216
235
|
--og-shadow-md: 0 2px 8px oklch(0.2 0.02 260 / 0.09), 0 1px 2px oklch(0.2 0.02 260 / 0.06);
|
|
217
236
|
--og-shadow-lg: 0 8px 28px oklch(0.2 0.02 260 / 0.13), 0 2px 8px oklch(0.2 0.02 260 / 0.07);
|
|
218
|
-
--og-shadow-glow: 0 0 20px
|
|
237
|
+
--og-shadow-glow: 0 0 20px var(--og-color-accent);
|
|
219
238
|
|
|
220
|
-
--og-session-chrome-surface:
|
|
239
|
+
--og-session-chrome-surface: var(--og-color-surface-2);
|
|
221
240
|
--og-session-chrome-surface-open: var(--og-color-surface-2);
|
|
222
|
-
--og-session-chrome-border:
|
|
241
|
+
--og-session-chrome-border: var(--og-color-border);
|
|
223
242
|
--og-session-chrome-border-open: var(--og-color-border);
|
|
224
243
|
--og-session-chrome-highlight: var(--og-color-surface-3);
|
|
225
|
-
--og-session-chrome-highlight-ring:
|
|
244
|
+
--og-session-chrome-highlight-ring: var(--og-color-fg);
|
|
226
245
|
--og-session-chrome-shadow: 0 4px 16px -10px oklch(0.2 0.02 260 / 0.14);
|
|
227
246
|
--og-session-chrome-shadow-open: 0 8px 22px -12px oklch(0.2 0.02 260 / 0.18);
|
|
228
|
-
--og-session-chrome-row-hover:
|
|
247
|
+
--og-session-chrome-row-hover: var(--og-color-surface-3);
|
|
229
248
|
|
|
230
249
|
color-scheme: light;
|
|
231
250
|
}
|
|
251
|
+
|
|
252
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
253
|
+
[data-og-theme="light"],
|
|
254
|
+
.og-light {
|
|
255
|
+
--og-color-accent-soft: color-mix(in oklch, var(--og-color-accent) 11%, transparent);
|
|
256
|
+
--og-color-diff-add-bg: color-mix(in oklch, var(--og-color-status-idle) 12%, transparent);
|
|
257
|
+
--og-color-diff-del-bg: color-mix(in oklch, var(--og-color-status-failed) 12%, transparent);
|
|
258
|
+
--og-shadow-glow: 0 0 20px color-mix(in oklch, var(--og-color-accent) 14%, transparent);
|
|
259
|
+
--og-session-chrome-surface: color-mix(in oklch, var(--og-color-surface-2) 88%, transparent);
|
|
260
|
+
--og-session-chrome-border: color-mix(in oklch, var(--og-color-border) 90%, transparent);
|
|
261
|
+
--og-session-chrome-highlight-ring: color-mix(in oklch, var(--og-color-fg) 12%, transparent);
|
|
262
|
+
--og-session-chrome-row-hover: color-mix(in oklch, var(--og-color-surface-3) 70%, transparent);
|
|
263
|
+
}
|
|
264
|
+
}
|