@actioneer/ads 1.0.3 → 1.0.5
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/DESIGN.md +89 -89
- package/components/ai-elements/agent-trace.js +14 -14
- package/components/ai-elements/chain-of-thought.js +3 -3
- package/components/ai-elements/chart.js +3 -3
- package/components/ai-elements/inline-citation.js +2 -2
- package/components/ai-elements/message.js +1 -1
- package/components/ai-elements/research-activity.js +4 -4
- package/components/answer-sources.js +3 -3
- package/components/answer.js +3 -3
- package/components/assistant-ui/action-bar.js +2 -2
- package/components/assistant-ui/attachment.js +5 -5
- package/components/assistant-ui/badge.js +1 -1
- package/components/assistant-ui/branch-picker.js +1 -1
- package/components/assistant-ui/composer-add-context.js +7 -7
- package/components/assistant-ui/composer-deep-research.js +3 -3
- package/components/assistant-ui/composer-harness.js +1 -1
- package/components/assistant-ui/composer-trigger-popover.js +8 -8
- package/components/assistant-ui/composer.js +45 -45
- package/components/assistant-ui/file.js +9 -9
- package/components/assistant-ui/image.js +1 -1
- package/components/assistant-ui/markdown-text.js +1 -1
- package/components/assistant-ui/message-timing.js +1 -1
- package/components/assistant-ui/reasoning.js +10 -10
- package/components/assistant-ui/thread.js +1 -1
- package/components/assistant-ui/tool-fallback.js +2 -2
- package/components/assistant-ui/tool-group.js +3 -3
- package/components/autocomplete.js +28 -27
- package/components/avatar.js +23 -23
- package/components/brand-loader.d.ts +1 -1
- package/components/brand-loader.js +9 -9
- package/components/chart.js +5 -5
- package/components/checkbox.js +16 -16
- package/components/chip.js +33 -33
- package/components/collapsible.js +14 -12
- package/components/command-palette.js +37 -37
- package/components/connector-card.js +1 -1
- package/components/date-range-picker.js +3 -3
- package/components/dropdown.js +1 -1
- package/components/field.js +1 -1
- package/components/file-dropzone.js +2 -2
- package/components/infinite-canvas.js +1 -1
- package/components/input-field.js +2 -2
- package/components/input.js +9 -9
- package/components/modal.js +6 -6
- package/components/pagination.js +23 -23
- package/components/radio.js +1 -1
- package/components/segmented.js +23 -23
- package/components/select.d.ts +1 -1
- package/components/select.js +1 -1
- package/components/selection-action-bar.js +13 -13
- package/components/sidebar.js +5 -5
- package/components/stepper.d.ts +1 -1
- package/components/stepper.js +4 -4
- package/components/switch.js +7 -7
- package/components/tooltip.js +1 -1
- package/components/tree.js +20 -20
- package/components/ui/button.js +21 -21
- package/components/ui/tooltip.js +3 -3
- package/llms.txt +12 -12
- package/manifest.json +19 -19
- package/package.json +1 -1
- package/styles.css +103 -95
- package/theme.css +97 -89
package/DESIGN.md
CHANGED
|
@@ -2,61 +2,61 @@
|
|
|
2
2
|
name: Actioneer Design System
|
|
3
3
|
description: ADS 1.0 — the React 19 + Tailwind v4 library every Actioneer product builds from
|
|
4
4
|
colors:
|
|
5
|
-
action-primary: "#
|
|
6
|
-
action-primary-hover: "#
|
|
7
|
-
action-primary-text: "#
|
|
8
|
-
action-primary-soft: "#
|
|
5
|
+
action-primary: "#1c8379"
|
|
6
|
+
action-primary-hover: "#017369"
|
|
7
|
+
action-primary-text: "#016159"
|
|
8
|
+
action-primary-soft: "#dfefec"
|
|
9
9
|
action-primary-foreground: "#ffffff"
|
|
10
|
-
field-focus: "#
|
|
11
|
-
brand: "#
|
|
12
|
-
brand-hover: "#
|
|
13
|
-
brand-text: "#
|
|
10
|
+
field-focus: "#4c9b92"
|
|
11
|
+
brand: "#1c8379"
|
|
12
|
+
brand-hover: "#017369"
|
|
13
|
+
brand-text: "#016159"
|
|
14
14
|
brand-foreground: "#ffffff"
|
|
15
|
-
success: "#
|
|
15
|
+
success: "#2d6b22"
|
|
16
16
|
success-foreground: "#ffffff"
|
|
17
17
|
warning: "#f79009"
|
|
18
|
-
warning-foreground: "#
|
|
18
|
+
warning-foreground: "#21201d"
|
|
19
19
|
danger: "#d92d20"
|
|
20
20
|
danger-foreground: "#ffffff"
|
|
21
21
|
info: "#1570ef"
|
|
22
22
|
info-foreground: "#ffffff"
|
|
23
|
-
background: "#
|
|
24
|
-
foreground: "#
|
|
25
|
-
surface: "#
|
|
26
|
-
surface-foreground: "#
|
|
23
|
+
background: "#f3f1e9"
|
|
24
|
+
foreground: "#21201d"
|
|
25
|
+
surface: "#efece3"
|
|
26
|
+
surface-foreground: "#21201d"
|
|
27
27
|
elevated: "#ffffff"
|
|
28
28
|
card: "#ffffff"
|
|
29
|
-
card-foreground: "#
|
|
30
|
-
muted: "#
|
|
31
|
-
muted-foreground: "#
|
|
32
|
-
fill: "#
|
|
33
|
-
fill-foreground: "#
|
|
34
|
-
accent: "#
|
|
35
|
-
accent-foreground: "#
|
|
36
|
-
on-white-primary: "#
|
|
37
|
-
on-white-secondary: "#
|
|
38
|
-
on-white-tertiary: "#
|
|
39
|
-
on-warm-grey-primary: "#
|
|
40
|
-
on-warm-grey-secondary: "#
|
|
41
|
-
on-warm-grey-tertiary: "#
|
|
42
|
-
primary: "#
|
|
43
|
-
secondary: "#
|
|
29
|
+
card-foreground: "#21201d"
|
|
30
|
+
muted: "#e8e5db"
|
|
31
|
+
muted-foreground: "#4d4b44"
|
|
32
|
+
fill: "#efece3"
|
|
33
|
+
fill-foreground: "#21201d"
|
|
34
|
+
accent: "#dfdcd0"
|
|
35
|
+
accent-foreground: "#21201d"
|
|
36
|
+
on-white-primary: "#21201d"
|
|
37
|
+
on-white-secondary: "#4d4b44"
|
|
38
|
+
on-white-tertiary: "#79766a"
|
|
39
|
+
on-warm-grey-primary: "#21201d"
|
|
40
|
+
on-warm-grey-secondary: "#4d4b44"
|
|
41
|
+
on-warm-grey-tertiary: "#79766a"
|
|
42
|
+
primary: "#21201d"
|
|
43
|
+
secondary: "#4d4b44"
|
|
44
44
|
tertiary: "color-mix(in srgb, var(--color-wg10) 80%, var(--color-wg11))"
|
|
45
|
-
border: "#
|
|
46
|
-
border-primary: "#
|
|
47
|
-
border-secondary: "#
|
|
48
|
-
border-tertiary: "#
|
|
49
|
-
border-strong: "#
|
|
50
|
-
input: "#
|
|
51
|
-
menu-stroke: "#
|
|
52
|
-
toast-stroke: "#
|
|
53
|
-
tree-stroke: "#
|
|
54
|
-
specimen-stroke: "#
|
|
45
|
+
border: "#e8e5db"
|
|
46
|
+
border-primary: "#dfdcd0"
|
|
47
|
+
border-secondary: "#e8e5db"
|
|
48
|
+
border-tertiary: "#efece3"
|
|
49
|
+
border-strong: "#dfdcd0"
|
|
50
|
+
input: "#e8e5db"
|
|
51
|
+
menu-stroke: "#e8e5db"
|
|
52
|
+
toast-stroke: "#e8e5db"
|
|
53
|
+
tree-stroke: "#e8e5db"
|
|
54
|
+
specimen-stroke: "#efece3"
|
|
55
55
|
table-shell: "#ffffff"
|
|
56
|
-
table-stroke: "#
|
|
56
|
+
table-stroke: "#efece3"
|
|
57
57
|
table-header-foreground: "color-mix(in srgb, var(--color-wg10) 80%, var(--color-wg11))"
|
|
58
58
|
artifact-canvas: "color-mix(in srgb, var(--color-brand-mark) 7%, var(--color-white))"
|
|
59
|
-
ring: "
|
|
59
|
+
ring: "#1c8379"
|
|
60
60
|
overlay: "color-mix(in srgb, var(--color-wg12) 50%, transparent)"
|
|
61
61
|
typography:
|
|
62
62
|
display:
|
|
@@ -179,9 +179,9 @@ components:
|
|
|
179
179
|
|
|
180
180
|
TASTE.md puts it in one line: On a quiet, neutral ground, colour and motion are spent like money — rarely, deliberately, and only where the eye should go.
|
|
181
181
|
|
|
182
|
-
ADS 1.0.
|
|
182
|
+
ADS 1.0.5 is a library first and a look second. 323 components across 10 families (Primitives / utilities, Foundations, Form controls, Overlays, Data display, Feedback, Navigation, Layout, AI Elements, Chat) ship from one barrel, and every product that consumes them inherits the judgment encoded in 56 semantic tokens and 11 principles rather than re-deciding it per screen.
|
|
183
183
|
|
|
184
|
-
The ground is warm grey and the ink is warm near-black. One hue is spent by default, the Studio
|
|
184
|
+
The ground is warm grey and the ink is warm near-black. One hue is spent by default, the Studio teal CTA family, and four more carry semantic status. Everything else stays neutral. A consumer product may narrow that further, and one already does: Baby Sentinel drops the teal and runs every action on ink.
|
|
185
185
|
|
|
186
186
|
**Key characteristics:**
|
|
187
187
|
- Warm-grey canvas, white sheet, quiet tiles. Every surface belongs to exactly one plane
|
|
@@ -196,41 +196,41 @@ A warm neutral ground with one CTA hue and four semantic signals. Every value be
|
|
|
196
196
|
|
|
197
197
|
### Primary
|
|
198
198
|
|
|
199
|
-
The one place a hue is spent by default: the Studio
|
|
199
|
+
The one place a hue is spent by default: the Studio teal CTA family.
|
|
200
200
|
|
|
201
|
-
**Primary CTA role — restrained Studio
|
|
201
|
+
**Primary CTA role — restrained Studio teal, used sparingly.**
|
|
202
202
|
|
|
203
|
-
- **action-primary** (`--color-action-primary`, #
|
|
204
|
-
- **action-primary-hover** (`--color-action-primary-hover`, #
|
|
205
|
-
- **action-primary-text** (`--color-action-primary-text`, #
|
|
206
|
-
- **action-primary-soft** (`--color-action-primary-soft`, #
|
|
203
|
+
- **action-primary** (`--color-action-primary`, #1c8379) `bg-action-primary`
|
|
204
|
+
- **action-primary-hover** (`--color-action-primary-hover`, #017369) `bg-action-primary-hover`
|
|
205
|
+
- **action-primary-text** (`--color-action-primary-text`, #016159) `text-action-primary-text`
|
|
206
|
+
- **action-primary-soft** (`--color-action-primary-soft`, #dfefec) `bg-action-primary-soft`
|
|
207
207
|
- **action-primary-foreground** (`--color-action-primary-foreground`, #ffffff) `text-action-primary-foreground`
|
|
208
|
-
- **field-focus** (`--color-field-focus`, #
|
|
208
|
+
- **field-focus** (`--color-field-focus`, #4c9b92) `bg-field-focus`
|
|
209
209
|
|
|
210
210
|
### Secondary
|
|
211
211
|
|
|
212
212
|
The neutral-ink action role kept as a compatibility API.
|
|
213
213
|
|
|
214
|
-
**
|
|
214
|
+
**Shared brand roles for control states, primary accents, and marks.**
|
|
215
215
|
|
|
216
|
-
- **brand** (`--color-brand`, #
|
|
217
|
-
- **brand-hover** (`--color-brand-hover`, #
|
|
218
|
-
- **brand-text** (`--color-brand-text`, #
|
|
216
|
+
- **brand** (`--color-brand`, #1c8379) `bg-brand`
|
|
217
|
+
- **brand-hover** (`--color-brand-hover`, #017369) `bg-brand-hover`
|
|
218
|
+
- **brand-text** (`--color-brand-text`, #016159) `text-brand-text`
|
|
219
219
|
- **brand-foreground** (`--color-brand-foreground`, #ffffff) `text-brand-foreground`
|
|
220
220
|
|
|
221
221
|
### Tertiary
|
|
222
222
|
|
|
223
223
|
Semantic status. These four carry meaning and are never identity.
|
|
224
224
|
|
|
225
|
-
**
|
|
225
|
+
**Grass green 700 clears AA on White and both success soft fills.**
|
|
226
226
|
|
|
227
|
-
- **success** (`--color-success`, #
|
|
227
|
+
- **success** (`--color-success`, #2d6b22) `bg-success`
|
|
228
228
|
- **success-foreground** (`--color-success-foreground`, #ffffff) `text-success-foreground`
|
|
229
229
|
|
|
230
230
|
**Amber-500 fill kept (it IS the caution signal); dark ink foreground instead of white = 6.94:1 (white on amber was 2.35:1, failed even 3:1).**
|
|
231
231
|
|
|
232
232
|
- **warning** (`--color-warning`, #f79009) `bg-warning`
|
|
233
|
-
- **warning-foreground** (`--color-warning-foreground`, #
|
|
233
|
+
- **warning-foreground** (`--color-warning-foreground`, #21201d) `text-warning-foreground`
|
|
234
234
|
|
|
235
235
|
**Danger and info: solid semantic fills carrying white foregrounds.**
|
|
236
236
|
|
|
@@ -245,70 +245,70 @@ The warm-grey ground everything else stands on.
|
|
|
245
245
|
|
|
246
246
|
**The shell canvas and its ink: the ground between top-level panels.**
|
|
247
247
|
|
|
248
|
-
- **background** (`--color-background`, #
|
|
249
|
-
- **foreground** (`--color-foreground`, #
|
|
248
|
+
- **background** (`--color-background`, #f3f1e9) `bg-background`
|
|
249
|
+
- **foreground** (`--color-foreground`, #21201d) `text-foreground`
|
|
250
250
|
|
|
251
251
|
**One continuous recess inside a white surface, never a screen-level ground.**
|
|
252
252
|
|
|
253
|
-
- **surface** (`--color-surface`, #
|
|
254
|
-
- **surface-foreground** (`--color-surface-foreground`, #
|
|
253
|
+
- **surface** (`--color-surface`, #efece3) `bg-surface`
|
|
254
|
+
- **surface-foreground** (`--color-surface-foreground`, #21201d) `text-surface-foreground`
|
|
255
255
|
- **elevated** (`--color-elevated`, #ffffff) `bg-elevated`
|
|
256
256
|
|
|
257
257
|
**The white working plane that sits on the canvas, and the specimen hairline.**
|
|
258
258
|
|
|
259
259
|
- **card** (`--color-card`, #ffffff) `bg-card`
|
|
260
|
-
- **card-foreground** (`--color-card-foreground`, #
|
|
260
|
+
- **card-foreground** (`--color-card-foreground`, #21201d) `text-card-foreground`
|
|
261
261
|
|
|
262
262
|
**The hover and row-state wash: interaction, not a default item background.**
|
|
263
263
|
|
|
264
|
-
- **muted** (`--color-muted`, #
|
|
265
|
-
- **muted-foreground** (`--color-muted-foreground`, #
|
|
264
|
+
- **muted** (`--color-muted`, #e8e5db) `bg-muted`
|
|
265
|
+
- **muted-foreground** (`--color-muted-foreground`, #4d4b44) `text-muted-foreground`
|
|
266
266
|
|
|
267
267
|
**Quiet fill — avatars, chips, and disabled controls.**
|
|
268
268
|
|
|
269
|
-
- **fill** (`--color-fill`, #
|
|
270
|
-
- **fill-foreground** (`--color-fill-foreground`, #
|
|
269
|
+
- **fill** (`--color-fill`, #efece3) `bg-fill`
|
|
270
|
+
- **fill-foreground** (`--color-fill-foreground`, #21201d) `text-fill-foreground`
|
|
271
271
|
|
|
272
272
|
**The active and selected wash, one step above hover.**
|
|
273
273
|
|
|
274
|
-
- **accent** (`--color-accent`, #
|
|
275
|
-
- **accent-foreground** (`--color-accent-foreground`, #
|
|
274
|
+
- **accent** (`--color-accent`, #dfdcd0) `bg-accent`
|
|
275
|
+
- **accent-foreground** (`--color-accent-foreground`, #21201d) `text-accent-foreground`
|
|
276
276
|
|
|
277
277
|
**Contextual text hierarchies — three accessible levels per surface.**
|
|
278
278
|
|
|
279
|
-
- **on-white-primary** (`--color-on-white-primary`, #
|
|
280
|
-
- **on-white-secondary** (`--color-on-white-secondary`, #
|
|
281
|
-
- **on-white-tertiary** (`--color-on-white-tertiary`, #
|
|
282
|
-
- **on-warm-grey-primary** (`--color-on-warm-grey-primary`, #
|
|
283
|
-
- **on-warm-grey-secondary** (`--color-on-warm-grey-secondary`, #
|
|
284
|
-
- **on-warm-grey-tertiary** (`--color-on-warm-grey-tertiary`, #
|
|
279
|
+
- **on-white-primary** (`--color-on-white-primary`, #21201d) `bg-on-white-primary`
|
|
280
|
+
- **on-white-secondary** (`--color-on-white-secondary`, #4d4b44) `bg-on-white-secondary`
|
|
281
|
+
- **on-white-tertiary** (`--color-on-white-tertiary`, #79766a) `bg-on-white-tertiary`
|
|
282
|
+
- **on-warm-grey-primary** (`--color-on-warm-grey-primary`, #21201d) `bg-on-warm-grey-primary`
|
|
283
|
+
- **on-warm-grey-secondary** (`--color-on-warm-grey-secondary`, #4d4b44) `bg-on-warm-grey-secondary`
|
|
284
|
+
- **on-warm-grey-tertiary** (`--color-on-warm-grey-tertiary`, #79766a) `bg-on-warm-grey-tertiary`
|
|
285
285
|
|
|
286
286
|
**Context-free compatibility aliases remain conservative.**
|
|
287
287
|
|
|
288
|
-
- **primary** (`--color-primary`, #
|
|
289
|
-
- **secondary** (`--color-secondary`, #
|
|
288
|
+
- **primary** (`--color-primary`, #21201d) `bg-primary`
|
|
289
|
+
- **secondary** (`--color-secondary`, #4d4b44) `bg-secondary`
|
|
290
290
|
- **tertiary** (`--color-tertiary`, color-mix(in srgb, var(--color-wg10) 80%, var(--color-wg11))) `bg-tertiary`
|
|
291
291
|
|
|
292
292
|
**The neutral stroke ladder: every 1px UI border stays within WG3 to WG5.**
|
|
293
293
|
|
|
294
|
-
- **border** (`--color-border`, #
|
|
295
|
-
- **border-primary** (`--color-border-primary`, #
|
|
296
|
-
- **border-secondary** (`--color-border-secondary`, #
|
|
297
|
-
- **border-tertiary** (`--color-border-tertiary`, #
|
|
298
|
-
- **border-strong** (`--color-border-strong`, #
|
|
299
|
-
- **input** (`--color-input`, #
|
|
300
|
-
- **menu-stroke** (`--color-menu-stroke`, #
|
|
301
|
-
- **toast-stroke** (`--color-toast-stroke`, #
|
|
302
|
-
- **tree-stroke** (`--color-tree-stroke`, #
|
|
294
|
+
- **border** (`--color-border`, #e8e5db) `bg-border`
|
|
295
|
+
- **border-primary** (`--color-border-primary`, #dfdcd0) `bg-border-primary`
|
|
296
|
+
- **border-secondary** (`--color-border-secondary`, #e8e5db) `bg-border-secondary`
|
|
297
|
+
- **border-tertiary** (`--color-border-tertiary`, #efece3) `bg-border-tertiary`
|
|
298
|
+
- **border-strong** (`--color-border-strong`, #dfdcd0) `bg-border-strong`
|
|
299
|
+
- **input** (`--color-input`, #e8e5db) `bg-input`
|
|
300
|
+
- **menu-stroke** (`--color-menu-stroke`, #e8e5db) `bg-menu-stroke`
|
|
301
|
+
- **toast-stroke** (`--color-toast-stroke`, #e8e5db) `bg-toast-stroke`
|
|
302
|
+
- **tree-stroke** (`--color-tree-stroke`, #e8e5db) `bg-tree-stroke`
|
|
303
303
|
|
|
304
304
|
**The white working plane that sits on the canvas, and the specimen hairline.**
|
|
305
305
|
|
|
306
|
-
- **specimen-stroke** (`--color-specimen-stroke`, #
|
|
306
|
+
- **specimen-stroke** (`--color-specimen-stroke`, #efece3) `bg-specimen-stroke`
|
|
307
307
|
|
|
308
308
|
**Table surfaces: the white tray, its hairlines, and header ink.**
|
|
309
309
|
|
|
310
310
|
- **table-shell** (`--color-table-shell`, #ffffff) `bg-table-shell`
|
|
311
|
-
- **table-stroke** (`--color-table-stroke`, #
|
|
311
|
+
- **table-stroke** (`--color-table-stroke`, #efece3) `bg-table-stroke`
|
|
312
312
|
- **table-header-foreground** (`--color-table-header-foreground`, color-mix(in srgb, var(--color-wg10) 80%, var(--color-wg11))) `text-table-header-foreground`
|
|
313
313
|
|
|
314
314
|
**The artifact sheet: white warmed by a trace of the brand mark.**
|
|
@@ -317,7 +317,7 @@ The warm-grey ground everything else stands on.
|
|
|
317
317
|
|
|
318
318
|
**Focus ring and scrim, both translucent warm ink.**
|
|
319
319
|
|
|
320
|
-
- **ring** (`--color-ring`,
|
|
320
|
+
- **ring** (`--color-ring`, #1c8379) `ring-ring`
|
|
321
321
|
- **overlay** (`--color-overlay`, color-mix(in srgb, var(--color-wg12) 50%, transparent)) `bg-overlay`
|
|
322
322
|
|
|
323
323
|
### Named rules
|
|
@@ -406,7 +406,7 @@ Hand-rolling a visual control, or importing a UI library at a call site, is neve
|
|
|
406
406
|
### Primary Button
|
|
407
407
|
|
|
408
408
|
- **Export:** `Button`
|
|
409
|
-
- **Character:** variant="solid". The one action a screen wants, in Studio
|
|
409
|
+
- **Character:** variant="solid". The one action a screen wants, in Studio teal.
|
|
410
410
|
- **Background:** {colors.action-primary}
|
|
411
411
|
- **Text:** {colors.action-primary-foreground}
|
|
412
412
|
- **Radius:** {rounded.md}
|
|
@@ -12,7 +12,7 @@ import { Text as ce } from "../typography.js";
|
|
|
12
12
|
import { ChainOfThoughtStep as de, ChainOfThoughtTrigger as ue, ChainOfThoughtContent as he, ChainOfThoughtItem as me, ChainOfThoughtSearchResults as pe, ChainOfThoughtSearchResult as fe, ChainOfThought as ge } from "./chain-of-thought.js";
|
|
13
13
|
import { TraceStateIcon as C } from "./chain-of-thought-icon.js";
|
|
14
14
|
import { ResearchActivity as L } from "./research-activity.js";
|
|
15
|
-
import { Tool as ve, ToolHeader as be, ToolContent as
|
|
15
|
+
import { Tool as ve, ToolHeader as be, ToolContent as Ne, ToolInput as xe, ToolOutput as Ce } from "./tool.js";
|
|
16
16
|
const Te = "Main Agent", we = 60, _ = J(!0);
|
|
17
17
|
function ye({
|
|
18
18
|
title: e,
|
|
@@ -39,7 +39,7 @@ function ye({
|
|
|
39
39
|
),
|
|
40
40
|
/* @__PURE__ */ t("span", { className: "text-base", children: e }),
|
|
41
41
|
/* @__PURE__ */ i("span", { className: "ml-auto flex shrink-0 items-center gap-2", children: [
|
|
42
|
-
a != null && /* @__PURE__ */ t("span", { className: "text-
|
|
42
|
+
a != null && /* @__PURE__ */ t("span", { className: "text-s text-tertiary tabular-nums", children: a }),
|
|
43
43
|
/* @__PURE__ */ t(
|
|
44
44
|
ee,
|
|
45
45
|
{
|
|
@@ -79,7 +79,7 @@ function k(e) {
|
|
|
79
79
|
if (e.elapsed != null) return e.elapsed;
|
|
80
80
|
if (e.seconds != null) return T(e.seconds);
|
|
81
81
|
}
|
|
82
|
-
function
|
|
82
|
+
function x(e) {
|
|
83
83
|
const r = [];
|
|
84
84
|
for (const a of e) r.includes(a.group) || r.push(a.group);
|
|
85
85
|
return r;
|
|
@@ -102,8 +102,8 @@ function Oe(e) {
|
|
|
102
102
|
}
|
|
103
103
|
const F = P(({ call: e }) => /* @__PURE__ */ i(ve, { children: [
|
|
104
104
|
/* @__PURE__ */ t(be, { title: e.name, type: `tool-${e.name}`, state: e.state }),
|
|
105
|
-
/* @__PURE__ */ i(
|
|
106
|
-
e.input !== void 0 && /* @__PURE__ */ t(
|
|
105
|
+
/* @__PURE__ */ i(Ne, { children: [
|
|
106
|
+
e.input !== void 0 && /* @__PURE__ */ t(xe, { input: e.input }),
|
|
107
107
|
/* @__PURE__ */ t(
|
|
108
108
|
Ce,
|
|
109
109
|
{
|
|
@@ -132,7 +132,7 @@ const G = P(
|
|
|
132
132
|
return /* @__PURE__ */ i(de, { status: e.status === "error" ? "error" : "complete", children: [
|
|
133
133
|
/* @__PURE__ */ i(ue, { leftIcon: s, endContent: l, children: [
|
|
134
134
|
/* @__PURE__ */ t("span", { children: e.label }),
|
|
135
|
-
e.agent && e.agent !== r && /* @__PURE__ */ t("span", { className: "ml-2 text-
|
|
135
|
+
e.agent && e.agent !== r && /* @__PURE__ */ t("span", { className: "ml-2 text-s font-normal text-tertiary", children: e.agent })
|
|
136
136
|
] }),
|
|
137
137
|
/* @__PURE__ */ t(he, { rail: !1, children: /* @__PURE__ */ i("div", { className: "-ml-5", style: { "--tree-rail-lead": "18px" }, children: [
|
|
138
138
|
e.detail != null && /* @__PURE__ */ t("div", { className: "ads-tree-rail pb-3", children: /* @__PURE__ */ t(me, { children: e.detail }) }),
|
|
@@ -163,17 +163,17 @@ const $e = ({
|
|
|
163
163
|
...w
|
|
164
164
|
}) => {
|
|
165
165
|
var D, E;
|
|
166
|
-
const n = e.find((o) => o.status === "active") ?? null, p = e.filter((o) => o.status === "complete" || o.status === "error"), y = new Set(l ?? []), g = e.length > 0 && e.every((o) => o.status === "complete" || o.status === "error"), [H, S] = Q(() => new Set(
|
|
166
|
+
const n = e.find((o) => o.status === "active") ?? null, p = e.filter((o) => o.status === "complete" || o.status === "error"), y = new Set(l ?? []), g = e.length > 0 && e.every((o) => o.status === "complete" || o.status === "error"), [H, S] = Q(() => new Set(x(e))), A = j(null);
|
|
167
167
|
R(() => {
|
|
168
168
|
const o = (n == null ? void 0 : n.group) ?? null;
|
|
169
|
-
o == null || o === A.current || (A.current = o, S(new Set(
|
|
169
|
+
o == null || o === A.current || (A.current = o, S(new Set(x(e).filter((u) => u !== o))));
|
|
170
170
|
}, [n == null ? void 0 : n.group, e]);
|
|
171
171
|
const M = j(g);
|
|
172
172
|
R(() => {
|
|
173
|
-
g && !M.current && (S(new Set(
|
|
173
|
+
g && !M.current && (S(new Set(x(e))), A.current = null), M.current = g;
|
|
174
174
|
}, [g, e]);
|
|
175
|
-
const v =
|
|
176
|
-
var f,
|
|
175
|
+
const v = x(p).map((o) => {
|
|
176
|
+
var f, N;
|
|
177
177
|
const u = p.filter((b) => b.group === o), c = u[0];
|
|
178
178
|
return {
|
|
179
179
|
group: o,
|
|
@@ -181,7 +181,7 @@ const $e = ({
|
|
|
181
181
|
C,
|
|
182
182
|
{
|
|
183
183
|
stage: c == null ? void 0 : c.state,
|
|
184
|
-
toolName: (
|
|
184
|
+
toolName: (N = (f = c == null ? void 0 : c.calls) == null ? void 0 : f[0]) == null ? void 0 : N.name,
|
|
185
185
|
status: "complete"
|
|
186
186
|
}
|
|
187
187
|
),
|
|
@@ -211,8 +211,8 @@ const $e = ({
|
|
|
211
211
|
icon: u,
|
|
212
212
|
summary: Ae(c),
|
|
213
213
|
open: !H.has(o),
|
|
214
|
-
onOpenChange: (f) => S((
|
|
215
|
-
const b = new Set(
|
|
214
|
+
onOpenChange: (f) => S((N) => {
|
|
215
|
+
const b = new Set(N);
|
|
216
216
|
return f ? b.delete(o) : b.add(o), b;
|
|
217
217
|
}),
|
|
218
218
|
children: /* @__PURE__ */ t(ge, { children: c.map((f) => /* @__PURE__ */ t(
|
|
@@ -153,7 +153,7 @@ const k = O(!1), S = O("tree"), I = c(
|
|
|
153
153
|
),
|
|
154
154
|
/* @__PURE__ */ e("span", { className: "min-w-0 flex-1", children: o }),
|
|
155
155
|
/* @__PURE__ */ l("span", { className: "ml-auto flex shrink-0 items-center gap-2", children: [
|
|
156
|
-
r != null && /* @__PURE__ */ e("span", { className: "text-
|
|
156
|
+
r != null && /* @__PURE__ */ e("span", { className: "text-s text-tertiary tabular-nums", children: r }),
|
|
157
157
|
t && /* @__PURE__ */ e(
|
|
158
158
|
w,
|
|
159
159
|
{
|
|
@@ -300,7 +300,7 @@ const k = O(!1), S = O("tree"), I = c(
|
|
|
300
300
|
children: a
|
|
301
301
|
}
|
|
302
302
|
),
|
|
303
|
-
r != null && /* @__PURE__ */ e("span", { className: "shrink-0 text-
|
|
303
|
+
r != null && /* @__PURE__ */ e("span", { className: "shrink-0 text-s text-tertiary tabular-nums", children: r }),
|
|
304
304
|
/* @__PURE__ */ e(
|
|
305
305
|
w,
|
|
306
306
|
{
|
|
@@ -380,7 +380,7 @@ const k = O(!1), S = O("tree"), I = c(
|
|
|
380
380
|
)) }, p);
|
|
381
381
|
}) })
|
|
382
382
|
] }) }),
|
|
383
|
-
h && /* @__PURE__ */ l("p", { className: "px-2.5 py-1.5 text-
|
|
383
|
+
h && /* @__PURE__ */ l("p", { className: "px-2.5 py-1.5 text-s text-tertiary tabular-nums", children: [
|
|
384
384
|
a.length,
|
|
385
385
|
" of ",
|
|
386
386
|
r,
|
|
@@ -217,7 +217,7 @@ const ee = g.forwardRef(
|
|
|
217
217
|
children: /* @__PURE__ */ e(O, { "data-slot": "ai-chart-icon", className: "size-4" })
|
|
218
218
|
}
|
|
219
219
|
),
|
|
220
|
-
/* @__PURE__ */ e("span", { className: "min-w-0 truncate text-
|
|
220
|
+
/* @__PURE__ */ e("span", { className: "min-w-0 truncate text-m font-normal text-foreground", children: i }),
|
|
221
221
|
o != null && /* @__PURE__ */ e(
|
|
222
222
|
Q,
|
|
223
223
|
{
|
|
@@ -231,7 +231,7 @@ const ee = g.forwardRef(
|
|
|
231
231
|
"span",
|
|
232
232
|
{
|
|
233
233
|
"data-slot": "ai-chart-meta",
|
|
234
|
-
className: "ml-auto shrink-0 text-
|
|
234
|
+
className: "ml-auto shrink-0 text-s tabular-nums",
|
|
235
235
|
children: m
|
|
236
236
|
}
|
|
237
237
|
),
|
|
@@ -279,7 +279,7 @@ const ee = g.forwardRef(
|
|
|
279
279
|
"button",
|
|
280
280
|
{
|
|
281
281
|
type: "button",
|
|
282
|
-
className: "rounded-sm text-left outline-none transition-colors duration-150 ease-out hover:text-foreground focus-visible:ring-3 focus-visible:ring-ring motion-reduce:transition-none",
|
|
282
|
+
className: "rounded-sm text-left text-s outline-none transition-colors duration-150 ease-out hover:text-foreground focus-visible:ring-3 focus-visible:ring-ring motion-reduce:transition-none",
|
|
283
283
|
"aria-label": `Open source ${s}`,
|
|
284
284
|
onClick: () => h(s),
|
|
285
285
|
children: [
|
|
@@ -223,7 +223,7 @@ const G = ({
|
|
|
223
223
|
"div",
|
|
224
224
|
{
|
|
225
225
|
className: c(
|
|
226
|
-
"flex flex-1 items-center justify-end px-3 py-1 text-
|
|
226
|
+
"flex flex-1 items-center justify-end px-3 py-1 text-s text-tertiary tabular-nums",
|
|
227
227
|
t
|
|
228
228
|
),
|
|
229
229
|
...s,
|
|
@@ -278,7 +278,7 @@ const G = ({
|
|
|
278
278
|
...a
|
|
279
279
|
}) => /* @__PURE__ */ k("div", { className: c("space-y-1", n), ...a, children: [
|
|
280
280
|
e && /* @__PURE__ */ i("p", { className: "truncate font-normal text-base leading-tight text-primary", children: e }),
|
|
281
|
-
t && /* @__PURE__ */ i("p", { className: "truncate break-all text-
|
|
281
|
+
t && /* @__PURE__ */ i("p", { className: "truncate break-all text-s text-tertiary", children: t }),
|
|
282
282
|
s && /* @__PURE__ */ i("p", { className: "line-clamp-3 text-base leading-relaxed text-secondary", children: s }),
|
|
283
283
|
r
|
|
284
284
|
] }), ee = ({
|
|
@@ -53,10 +53,10 @@ function $({
|
|
|
53
53
|
m === 1 ? "source" : "sources"
|
|
54
54
|
] }),
|
|
55
55
|
/* @__PURE__ */ e("span", { "aria-hidden": !0, className: "text-tertiary", children: "·" }),
|
|
56
|
-
/* @__PURE__ */ e("span", { className: "text-
|
|
56
|
+
/* @__PURE__ */ e("span", { className: "text-s text-tertiary tabular-nums", children: t }),
|
|
57
57
|
n != null && /* @__PURE__ */ r(q, { children: [
|
|
58
58
|
/* @__PURE__ */ e("span", { "aria-hidden": !0, className: "text-tertiary", children: "·" }),
|
|
59
|
-
/* @__PURE__ */ r("span", { className: "text-
|
|
59
|
+
/* @__PURE__ */ r("span", { className: "text-s text-tertiary", children: [
|
|
60
60
|
"first insight",
|
|
61
61
|
" ",
|
|
62
62
|
/* @__PURE__ */ e("span", { className: "tabular-nums", children: n })
|
|
@@ -169,7 +169,7 @@ const oe = s.forwardRef(
|
|
|
169
169
|
O
|
|
170
170
|
) }) }) }),
|
|
171
171
|
l && /* @__PURE__ */ r("span", { className: o(
|
|
172
|
-
"shrink-0 text-
|
|
172
|
+
"shrink-0 text-s text-tertiary tabular-nums",
|
|
173
173
|
// Reserve the caret slot (size-4 + gap-2) so trailing metadata
|
|
174
174
|
// keeps the same right edge as sibling rows that show a caret.
|
|
175
175
|
!x && "pe-6"
|
|
@@ -205,7 +205,7 @@ const oe = s.forwardRef(
|
|
|
205
205
|
/* @__PURE__ */ e("span", { "aria-hidden": !0, className: "flex size-4 shrink-0 items-center justify-center", children: v ?? R }),
|
|
206
206
|
/* @__PURE__ */ e(K, { as: "span", className: "text-base", children: "Researching…" }),
|
|
207
207
|
/* @__PURE__ */ r("span", { className: o(
|
|
208
|
-
"ml-auto shrink-0 text-
|
|
208
|
+
"ml-auto shrink-0 text-s text-tertiary tabular-nums",
|
|
209
209
|
!x && "pe-6"
|
|
210
210
|
), children: [
|
|
211
211
|
/* @__PURE__ */ e("span", { className: "sr-only", children: "Elapsed " }),
|
|
@@ -73,7 +73,7 @@ const v = c.forwardRef(
|
|
|
73
73
|
ref: d,
|
|
74
74
|
type: "button",
|
|
75
75
|
className: o(
|
|
76
|
-
"flex w-full items-start gap-3 rounded-lg border border-border bg-fill p-3 text-left",
|
|
76
|
+
"flex w-full items-start gap-3 rounded-lg border border-border bg-fill p-3 text-left text-m",
|
|
77
77
|
"transition-colors hover:bg-muted",
|
|
78
78
|
"outline-none focus-visible:ring-3 focus-visible:ring-ring",
|
|
79
79
|
l
|
|
@@ -86,8 +86,8 @@ const v = c.forwardRef(
|
|
|
86
86
|
/* @__PURE__ */ e("span", { className: "min-w-0 flex-1 truncate font-normal tabular-nums text-foreground", children: a }),
|
|
87
87
|
n && /* @__PURE__ */ e("span", { className: "shrink-0", children: n })
|
|
88
88
|
] }),
|
|
89
|
-
r && /* @__PURE__ */ e("span", { className: "mt-0.5 flex items-center gap-1.5 text-
|
|
90
|
-
s && /* @__PURE__ */ e("span", { className: "mt-1.5 block text-
|
|
89
|
+
r && /* @__PURE__ */ e("span", { className: "mt-0.5 flex items-center gap-1.5 text-s text-secondary", children: r }),
|
|
90
|
+
s && /* @__PURE__ */ e("span", { className: "mt-1.5 block text-s text-secondary", children: s })
|
|
91
91
|
] }),
|
|
92
92
|
/* @__PURE__ */ e(
|
|
93
93
|
u,
|
package/components/answer.js
CHANGED
|
@@ -491,7 +491,7 @@ const N = e.enum([
|
|
|
491
491
|
variants: {
|
|
492
492
|
tone: {
|
|
493
493
|
default: "text-foreground",
|
|
494
|
-
primary: "text-brand",
|
|
494
|
+
primary: "text-brand-text",
|
|
495
495
|
success: "text-success-700",
|
|
496
496
|
warning: "text-warning-700",
|
|
497
497
|
danger: "text-danger-700",
|
|
@@ -503,7 +503,7 @@ const N = e.enum([
|
|
|
503
503
|
variants: {
|
|
504
504
|
tone: {
|
|
505
505
|
default: "text-secondary",
|
|
506
|
-
primary: "text-brand",
|
|
506
|
+
primary: "text-brand-text",
|
|
507
507
|
success: "text-success-700",
|
|
508
508
|
warning: "text-warning-700",
|
|
509
509
|
danger: "text-danger-700",
|
|
@@ -1484,7 +1484,7 @@ const ue = p.forwardRef(({ spec: a, onFollowUp: l, onOptionSelect: c, onSourceSe
|
|
|
1484
1484
|
),
|
|
1485
1485
|
children: [
|
|
1486
1486
|
/* @__PURE__ */ t("span", { className: "block text-sm font-medium text-foreground", children: u.label }),
|
|
1487
|
-
u.description && /* @__PURE__ */ t("span", { className: "mt-0.5 block text-
|
|
1487
|
+
u.description && /* @__PURE__ */ t("span", { className: "mt-0.5 block text-s leading-5 text-secondary", children: u.description })
|
|
1488
1488
|
]
|
|
1489
1489
|
},
|
|
1490
1490
|
u.id
|
|
@@ -62,14 +62,14 @@ const z = ({ open: s, onOpenChange: i }) => {
|
|
|
62
62
|
n.Item,
|
|
63
63
|
{
|
|
64
64
|
onSelect: () => i(!0),
|
|
65
|
-
className: "aui-action-bar-more-item hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground flex cursor-pointer items-center gap-2 rounded-lg px-2.5 py-1.5 text-
|
|
65
|
+
className: "aui-action-bar-more-item hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground flex cursor-pointer items-center gap-2 rounded-lg px-2.5 py-1.5 text-m outline-none select-none",
|
|
66
66
|
children: [
|
|
67
67
|
/* @__PURE__ */ e(N, { className: "size-4" }),
|
|
68
68
|
"Add to Artifact"
|
|
69
69
|
]
|
|
70
70
|
}
|
|
71
71
|
),
|
|
72
|
-
/* @__PURE__ */ e(o.ExportMarkdown, { asChild: !0, children: /* @__PURE__ */ t(n.Item, { className: "aui-action-bar-more-item hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground flex cursor-pointer items-center gap-2 rounded-lg px-2.5 py-1.5 text-
|
|
72
|
+
/* @__PURE__ */ e(o.ExportMarkdown, { asChild: !0, children: /* @__PURE__ */ t(n.Item, { className: "aui-action-bar-more-item hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground flex cursor-pointer items-center gap-2 rounded-lg px-2.5 py-1.5 text-m outline-none select-none", children: [
|
|
73
73
|
/* @__PURE__ */ e(k, { className: "size-4" }),
|
|
74
74
|
"Export as Markdown"
|
|
75
75
|
] }) })
|
|
@@ -188,11 +188,11 @@ const V = (a) => {
|
|
|
188
188
|
className: "flex size-5 shrink-0 items-center justify-center rounded text-muted-foreground outline-none transition-colors hover:bg-foreground/10 hover:text-foreground focus-visible:ring-2 focus-visible:ring-ring [&_svg]:size-3.5",
|
|
189
189
|
children: /* @__PURE__ */ e(T, {})
|
|
190
190
|
}
|
|
191
|
-
) }), ae = ({ isComposer: a }) => /* @__PURE__ */ e(s.Root, { className: "aui-attachment-root", children: /* @__PURE__ */ i("div", { className: "inline-flex max-w-[15rem] items-center gap-1.5 rounded-md bg-muted py-1 pe-1 ps-2 text-
|
|
191
|
+
) }), ae = ({ isComposer: a }) => /* @__PURE__ */ e(s.Root, { className: "aui-attachment-root", children: /* @__PURE__ */ i("div", { className: "inline-flex max-w-[15rem] items-center gap-1.5 rounded-md bg-muted py-1 pe-1 ps-2 text-s text-foreground", children: [
|
|
192
192
|
/* @__PURE__ */ e(L, { className: "size-3.5 shrink-0 text-muted-foreground" }),
|
|
193
193
|
/* @__PURE__ */ e("span", { className: "truncate", children: /* @__PURE__ */ e(s.Name, {}) }),
|
|
194
194
|
a && /* @__PURE__ */ e(x, { label: "Remove context" })
|
|
195
|
-
] }) }), ne = ({ isComposer: a }) => /* @__PURE__ */ e(s.Root, { className: "aui-attachment-root", children: /* @__PURE__ */ i("div", { className: "inline-flex max-w-[15rem] items-center gap-1.5 rounded-md bg-info-50 py-1 pe-1 ps-2 text-
|
|
195
|
+
] }) }), ne = ({ isComposer: a }) => /* @__PURE__ */ e(s.Root, { className: "aui-attachment-root", children: /* @__PURE__ */ i("div", { className: "inline-flex max-w-[15rem] items-center gap-1.5 rounded-md bg-info-50 py-1 pe-1 ps-2 text-s text-info-700", children: [
|
|
196
196
|
/* @__PURE__ */ e(S, { className: "size-3.5 shrink-0" }),
|
|
197
197
|
/* @__PURE__ */ i("span", { className: "truncate", children: [
|
|
198
198
|
"Harness · ",
|
|
@@ -211,8 +211,8 @@ const V = (a) => {
|
|
|
211
211
|
}
|
|
212
212
|
),
|
|
213
213
|
/* @__PURE__ */ i("div", { className: "min-w-0 flex-1", children: [
|
|
214
|
-
/* @__PURE__ */ e("div", { className: "truncate text-
|
|
215
|
-
/* @__PURE__ */ e("div", { className: "truncate text-
|
|
214
|
+
/* @__PURE__ */ e("div", { className: "truncate text-s font-medium leading-tight text-foreground", children: /* @__PURE__ */ e(s.Name, {}) }),
|
|
215
|
+
/* @__PURE__ */ e("div", { className: "truncate text-s leading-tight text-muted-foreground", children: n ? "Upload failed" : r ? "Uploading…" : t })
|
|
216
216
|
] }),
|
|
217
217
|
a && /* @__PURE__ */ e(x, { label: "Remove file" })
|
|
218
218
|
] }) }), ie = () => /* @__PURE__ */ e(s.Remove, { asChild: !0, children: /* @__PURE__ */ e(
|
|
@@ -234,7 +234,7 @@ const V = (a) => {
|
|
|
234
234
|
side: "bottom",
|
|
235
235
|
variant: "ghost",
|
|
236
236
|
size: "icon",
|
|
237
|
-
className: "aui-composer-add-attachment hover:bg-muted-foreground/15 size-7 rounded-full p-1
|
|
237
|
+
className: "aui-composer-add-attachment hover:bg-muted-foreground/15 size-7 rounded-full p-1 font-medium",
|
|
238
238
|
"aria-label": "Add Attachment",
|
|
239
239
|
children: /* @__PURE__ */ e(_, { className: "aui-attachment-add-icon size-4.5 stroke-[1.5px]" })
|
|
240
240
|
}
|
|
@@ -4,7 +4,7 @@ import { Slot as g } from "radix-ui";
|
|
|
4
4
|
import { cva as d } from "class-variance-authority";
|
|
5
5
|
import { cn as i } from "../../lib/cn.js";
|
|
6
6
|
const c = d(
|
|
7
|
-
"inline-flex items-center justify-center gap-1 rounded-md text-
|
|
7
|
+
"inline-flex items-center justify-center gap-1 rounded-md text-s font-medium transition-colors [&_svg]:size-3 [&_svg]:shrink-0",
|
|
8
8
|
{
|
|
9
9
|
variants: {
|
|
10
10
|
variant: {
|
|
@@ -16,7 +16,7 @@ const f = ({
|
|
|
16
16
|
{
|
|
17
17
|
hideWhenSingleBranch: n,
|
|
18
18
|
className: m(
|
|
19
|
-
"aui-branch-picker-root text-muted-foreground -ms-2 me-2 inline-flex items-center text-
|
|
19
|
+
"aui-branch-picker-root text-muted-foreground -ms-2 me-2 inline-flex items-center text-s",
|
|
20
20
|
o
|
|
21
21
|
),
|
|
22
22
|
...c,
|