@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.
Files changed (63) hide show
  1. package/DESIGN.md +89 -89
  2. package/components/ai-elements/agent-trace.js +14 -14
  3. package/components/ai-elements/chain-of-thought.js +3 -3
  4. package/components/ai-elements/chart.js +3 -3
  5. package/components/ai-elements/inline-citation.js +2 -2
  6. package/components/ai-elements/message.js +1 -1
  7. package/components/ai-elements/research-activity.js +4 -4
  8. package/components/answer-sources.js +3 -3
  9. package/components/answer.js +3 -3
  10. package/components/assistant-ui/action-bar.js +2 -2
  11. package/components/assistant-ui/attachment.js +5 -5
  12. package/components/assistant-ui/badge.js +1 -1
  13. package/components/assistant-ui/branch-picker.js +1 -1
  14. package/components/assistant-ui/composer-add-context.js +7 -7
  15. package/components/assistant-ui/composer-deep-research.js +3 -3
  16. package/components/assistant-ui/composer-harness.js +1 -1
  17. package/components/assistant-ui/composer-trigger-popover.js +8 -8
  18. package/components/assistant-ui/composer.js +45 -45
  19. package/components/assistant-ui/file.js +9 -9
  20. package/components/assistant-ui/image.js +1 -1
  21. package/components/assistant-ui/markdown-text.js +1 -1
  22. package/components/assistant-ui/message-timing.js +1 -1
  23. package/components/assistant-ui/reasoning.js +10 -10
  24. package/components/assistant-ui/thread.js +1 -1
  25. package/components/assistant-ui/tool-fallback.js +2 -2
  26. package/components/assistant-ui/tool-group.js +3 -3
  27. package/components/autocomplete.js +28 -27
  28. package/components/avatar.js +23 -23
  29. package/components/brand-loader.d.ts +1 -1
  30. package/components/brand-loader.js +9 -9
  31. package/components/chart.js +5 -5
  32. package/components/checkbox.js +16 -16
  33. package/components/chip.js +33 -33
  34. package/components/collapsible.js +14 -12
  35. package/components/command-palette.js +37 -37
  36. package/components/connector-card.js +1 -1
  37. package/components/date-range-picker.js +3 -3
  38. package/components/dropdown.js +1 -1
  39. package/components/field.js +1 -1
  40. package/components/file-dropzone.js +2 -2
  41. package/components/infinite-canvas.js +1 -1
  42. package/components/input-field.js +2 -2
  43. package/components/input.js +9 -9
  44. package/components/modal.js +6 -6
  45. package/components/pagination.js +23 -23
  46. package/components/radio.js +1 -1
  47. package/components/segmented.js +23 -23
  48. package/components/select.d.ts +1 -1
  49. package/components/select.js +1 -1
  50. package/components/selection-action-bar.js +13 -13
  51. package/components/sidebar.js +5 -5
  52. package/components/stepper.d.ts +1 -1
  53. package/components/stepper.js +4 -4
  54. package/components/switch.js +7 -7
  55. package/components/tooltip.js +1 -1
  56. package/components/tree.js +20 -20
  57. package/components/ui/button.js +21 -21
  58. package/components/ui/tooltip.js +3 -3
  59. package/llms.txt +12 -12
  60. package/manifest.json +19 -19
  61. package/package.json +1 -1
  62. package/styles.css +103 -95
  63. package/theme.css +97 -89
package/theme.css CHANGED
@@ -8,7 +8,7 @@
8
8
  /*
9
9
  * ============================================================
10
10
  * ADS 1.0 — Design Tokens
11
- * Palette: warm greys + product green
11
+ * Palette: warm greys + product teal
12
12
  * Typeface: Aribau Grotesk
13
13
  * ============================================================
14
14
  */
@@ -28,13 +28,13 @@
28
28
 
29
29
  /* ---- Type scale ---- seven canonical steps: XS · S · M · L · XL · 2XL · 3XL.
30
30
  Roles follow the agent workflow. Root stays 16px so spacing is unaffected. */
31
- --text-xs: 0.625rem; /* 10px · compact chips and micro metadata */
31
+ --text-xs: 0.625rem; /* 10px · noninteractive micro metadata */
32
32
  --text-xs--line-height: 0.875rem; /* 14px */
33
- --text-s: 0.75rem; /* 12px · table headers and uppercase kickers */
33
+ --text-s: 0.75rem; /* 12px · compact controls, table headers and kickers */
34
34
  --text-s--line-height: 1rem; /* 16px */
35
- --text-m: 0.875rem; /* 14px · default body, table cells, record names */
35
+ --text-m: 0.875rem; /* 14px · body, table cells, form labels and controls */
36
36
  --text-m--line-height: 1.25rem; /* 20px */
37
- --text-l: 1rem; /* 16px · tabs, form labels, and section titles */
37
+ --text-l: 1rem; /* 16px · tabs and section titles */
38
38
  --text-l--line-height: 1.375rem; /* 22px */
39
39
  --text-xl: 1.125rem; /* 18px · metric values and subtitles */
40
40
  --text-xl--line-height: 1.5rem; /* 24px */
@@ -62,35 +62,35 @@
62
62
 
63
63
  /* ---- Foundation palette ----
64
64
  Canonical primitive names:
65
- G1…G12 = Green · WG1…WG12 = Warm Grey.
65
+ T1…T12 = Teal · WG1…WG12 = Warm Grey.
66
66
  Each ramp progresses from light backgrounds and interactive fills through
67
67
  supporting tones to solid colors and accessible text. Neutral UI borders
68
68
  are intentionally restricted to WG3–WG5. ---- */
69
- --color-g1: #f7f9f7;
70
- --color-g2: #eef5f0;
71
- --color-g3: #e2efe5;
72
- --color-g4: #cce4d2;
73
- --color-g5: #b4d8be;
74
- --color-g6: #9bcbaa;
75
- --color-g7: #7db78f;
76
- --color-g8: #5c9c73;
77
- --color-g9: #398457;
78
- --color-g10: #2b7348;
79
- --color-g11: #1f623b;
80
- --color-g12: #183c28;
81
-
82
- --color-wg1: #f5f5f3;
83
- --color-wg2: #f1f1ef;
84
- --color-wg3: #ececea;
85
- --color-wg4: #e5e5e2;
86
- --color-wg5: #dcdcd8;
87
- --color-wg6: #d1d1cc;
88
- --color-wg7: #c2c2bc;
89
- --color-wg8: #a6a69f;
90
- --color-wg9: #777771;
91
- --color-wg10: #686863;
92
- --color-wg11: #4b4b47;
93
- --color-wg12: #20201e;
69
+ --color-t1: #f6f9f9;
70
+ --color-t2: #edf5f4;
71
+ --color-t3: #dfefec;
72
+ --color-t4: #c7e4df;
73
+ --color-t5: #add8d1;
74
+ --color-t6: #91cbc2;
75
+ --color-t7: #6fb7ad;
76
+ --color-t8: #4c9b92;
77
+ --color-t9: #1c8379;
78
+ --color-t10: #017369;
79
+ --color-t11: #016159;
80
+ --color-t12: #0f3c37;
81
+
82
+ --color-wg1: #f9f7f0;
83
+ --color-wg2: #f3f1e9;
84
+ --color-wg3: #efece3;
85
+ --color-wg4: #e8e5db;
86
+ --color-wg5: #dfdcd0;
87
+ --color-wg6: #d4d1c4;
88
+ --color-wg7: #c6c2b3;
89
+ --color-wg8: #aaa698;
90
+ --color-wg9: #79766a;
91
+ --color-wg10: #6b685e;
92
+ --color-wg11: #4d4b44;
93
+ --color-wg12: #21201d;
94
94
 
95
95
  /* Deprecated Neutral Grey names resolve to the canonical Warm Grey ramp.
96
96
  Keep these aliases so existing consumer utilities continue to render. */
@@ -107,21 +107,36 @@
107
107
  --color-ng11: var(--color-wg11);
108
108
  --color-ng12: var(--color-wg12);
109
109
 
110
+ /* Deprecated Green names resolve step-for-step to the canonical Teal ramp.
111
+ Keep these aliases so existing consumer utilities (`bg-g9`) still render. */
112
+ --color-g1: var(--color-t1);
113
+ --color-g2: var(--color-t2);
114
+ --color-g3: var(--color-t3);
115
+ --color-g4: var(--color-t4);
116
+ --color-g5: var(--color-t5);
117
+ --color-g6: var(--color-t6);
118
+ --color-g7: var(--color-t7);
119
+ --color-g8: var(--color-t8);
120
+ --color-g9: var(--color-t9);
121
+ --color-g10: var(--color-t10);
122
+ --color-g11: var(--color-t11);
123
+ --color-g12: var(--color-t12);
124
+
110
125
  --color-white: #ffffff;
111
126
 
112
127
  /* Compatibility aliases preserve the existing ADS utility/API surface. */
113
- --color-green-50: var(--color-g1);
114
- --color-green-100: var(--color-g2);
115
- --color-green-200: var(--color-g3);
116
- --color-green-300: var(--color-g4);
117
- --color-green-400: var(--color-g5);
118
- --color-green-500: var(--color-g6);
119
- --color-green-600: var(--color-g7);
120
- --color-green-700: var(--color-g8);
121
- --color-green-800: var(--color-g9);
122
- --color-green-850: var(--color-g10);
123
- --color-green-900: var(--color-g11);
124
- --color-green-950: var(--color-g12);
128
+ --color-green-50: var(--color-t1);
129
+ --color-green-100: var(--color-t2);
130
+ --color-green-200: var(--color-t3);
131
+ --color-green-300: var(--color-t4);
132
+ --color-green-400: var(--color-t5);
133
+ --color-green-500: var(--color-t6);
134
+ --color-green-600: var(--color-t7);
135
+ --color-green-700: var(--color-t8);
136
+ --color-green-800: var(--color-t9);
137
+ --color-green-850: var(--color-t10);
138
+ --color-green-900: var(--color-t11);
139
+ --color-green-950: var(--color-t12);
125
140
 
126
141
  --color-grey-50: var(--color-wg1);
127
142
  --color-grey-100: var(--color-wg2);
@@ -150,16 +165,15 @@
150
165
  --color-ink-950: var(--color-wg12);
151
166
 
152
167
  /* ---- Semantic accent ramps ---- */
153
- /* Success uses the lichen lime family and stays status-only. The original
154
- soft/base/deep anchors map to 50/500/600; 100 and 400 bridge the soft fill
155
- and base, while 700 deepens the family enough for AA text on White. */
156
- --color-success-50: #e4efcf;
157
- --color-success-100: #d4e5b5;
158
- --color-success-300: #c4dc9b;
159
- --color-success-400: #b4d281;
160
- --color-success-500: #a3c765;
161
- --color-success-600: #6e8f30;
162
- --color-success-700: #516923;
168
+ /* Grass green keeps positive states distinct from primary-action teal.
169
+ Soft fills use 50/100; 700 carries accessible status text and solid fills. */
170
+ --color-success-50: #f2fbef;
171
+ --color-success-100: #e1f3d8;
172
+ --color-success-300: #b2dda0;
173
+ --color-success-400: #8acb70;
174
+ --color-success-500: #4d9f38;
175
+ --color-success-600: #3b852b;
176
+ --color-success-700: #2d6b22;
163
177
 
164
178
  --color-warning-50: #fffaeb;
165
179
  --color-warning-100: #fef0c7;
@@ -195,8 +209,8 @@
195
209
  --color-amber-base: #f3a72e;
196
210
  --color-amber-deep: #b57414;
197
211
 
198
- /* Demo logo indigo — source for artifact canvas wash. */
199
- --color-brand-mark: #2e1065;
212
+ /* Brand mark and artifact canvas wash share the product teal. */
213
+ --color-brand-mark: var(--brand);
200
214
 
201
215
  /* ---- Radii ---- four canonical steps: XS · S · M · L.
202
216
  M (6px) is the default corner radius. */
@@ -349,7 +363,7 @@
349
363
  --color-card-foreground: var(--card-foreground);
350
364
  --color-specimen-stroke: var(--specimen-stroke);
351
365
 
352
- /* Primary CTA role — restrained Studio green, used sparingly. */
366
+ /* Primary CTA role — restrained Studio teal, used sparingly. */
353
367
  --color-action-primary: var(--action-primary);
354
368
  --color-action-primary-foreground: var(--action-primary-foreground);
355
369
  --color-action-primary-hover: var(--action-primary-hover);
@@ -357,7 +371,7 @@
357
371
  --color-action-primary-soft: var(--action-primary-soft);
358
372
  --color-field-focus: var(--field-focus);
359
373
 
360
- /* Compatibility action role — neutral ink, never a colored primary hue. */
374
+ /* Shared brand roles for control states, primary accents, and marks. */
361
375
  --color-brand: var(--brand);
362
376
  --color-brand-foreground: var(--brand-foreground);
363
377
  --color-brand-hover: var(--brand-hover);
@@ -378,9 +392,7 @@
378
392
  --color-accent: var(--accent);
379
393
  --color-accent-foreground: var(--accent-foreground);
380
394
 
381
- /* Lichen success-700 clears AA on White and both success soft fills;
382
- success-600 is reserved for non-text marks because its 3.73:1 contrast
383
- on White does not clear body-text AA. */
395
+ /* Grass green 700 clears AA on White and both success soft fills. */
384
396
  --color-success: var(--color-success-700);
385
397
  --color-success-foreground: var(--color-white);
386
398
  /* Amber-500 fill kept (it IS the caution signal); dark ink foreground
@@ -434,8 +446,7 @@
434
446
 
435
447
  /* ---- Theme (light only) ---- */
436
448
  :root {
437
- /* Surfaces and achromatic text/actions point into WG; the primary CTA
438
- points into G. */
449
+ /* Surfaces and neutral text use WG; actions and controls share Teal. */
439
450
  --background: var(--color-wg2); /* step 2 · canvas */
440
451
  --foreground: var(--color-wg12); /* step 12 */
441
452
 
@@ -443,18 +454,18 @@
443
454
  WG9 is the tertiary/de-emphasis step for nonessential metadata. It clears
444
455
  normal-text AA on White; use Secondary when normal text on WG2 must clear
445
456
  AA. */
446
- --text-on-white-primary: var(--color-wg12); /* 16.32:1 · AAA */
447
- --text-on-white-secondary: var(--color-wg11); /* 8.76:1 · AAA */
448
- --text-on-white-tertiary: var(--color-wg9); /* 4.50:1 · AA */
449
- --text-on-warm-grey-primary: var(--color-wg12); /* 14.43:1 on WG2 · AAA */
450
- --text-on-warm-grey-secondary: var(--color-wg11); /* 7.75:1 on WG2 · AAA */
451
- --text-on-warm-grey-tertiary: var(--color-wg9); /* 3.98:1 on WG2 · large text AA */
457
+ --text-on-white-primary: var(--color-wg12); /* 16.29:1 · AAA */
458
+ --text-on-white-secondary: var(--color-wg11); /* 8.73:1 · AAA */
459
+ --text-on-white-tertiary: var(--color-wg9); /* 4.55:1 · AA */
460
+ --text-on-warm-grey-primary: var(--color-wg12); /* 14.41:1 on WG2 · AAA */
461
+ --text-on-warm-grey-secondary: var(--color-wg11); /* 7.72:1 on WG2 · AAA */
462
+ --text-on-warm-grey-tertiary: var(--color-wg9); /* 4.03:1 on WG2 · large text AA */
452
463
 
453
464
  /* Existing context-free utilities remain conservative compatibility aliases
454
465
  across WG2–WG4 and White until their call sites adopt a surface role. */
455
466
  --text-primary: var(--color-wg12); /* 12.93:1 AAA (WG4 min surf) */
456
- --text-secondary: var(--color-wg11); /* 6.94:1 AA (WG4 min surf) */
457
- --text-tertiary: color-mix(in srgb, var(--color-wg10) 80%, var(--color-wg11)); /* 4.86:1 AA (WG4) */
467
+ --text-secondary: var(--color-wg11); /* 6.93:1 AA (WG4 min surf) */
468
+ --text-tertiary: color-mix(in srgb, var(--color-wg10) 80%, var(--color-wg11)); /* 4.83:1 AA (WG4) */
458
469
 
459
470
  --surface: var(--color-wg3); /* step 3 · tinted canvas */
460
471
  --surface-foreground: var(--color-wg12);
@@ -466,25 +477,22 @@
466
477
  --card: var(--color-white); /* pure white base */
467
478
  --card-foreground: var(--color-wg12);
468
479
 
469
- /* Studio green is deliberately isolated to the primary CTA role (roughly
470
- 5–10% of a screen). Selection controls keep using neutral `brand` below,
471
- so tabs, switches, radios, and progress never inherit CTA color. */
472
- --action-primary: var(--color-g9);
480
+ /* One teal action palette shared by CTAs and component interaction states. */
481
+ --action-primary: var(--color-t9);
473
482
  --action-primary-foreground: var(--color-white);
474
- --action-primary-hover: var(--color-g10);
475
- --action-primary-text: var(--color-g11);
476
- --action-primary-soft: var(--color-g3);
483
+ --action-primary-hover: var(--color-t10);
484
+ --action-primary-text: var(--color-t11);
485
+ --action-primary-soft: var(--color-t3);
477
486
 
478
- /* Neutral action role. The `brand` name remains as a compatibility API,
479
- and shared selection/control states intentionally remain achromatic. */
480
- --brand: var(--color-wg12); /* darkest neutral action */
481
- --brand-foreground: var(--color-white);
482
- --brand-hover: var(--color-wg11); /* lighter hover lift */
483
- --brand-text: var(--color-wg12); /* action text / links */
487
+ /* Brand aliases follow the action roles so every consumer stays in sync. */
488
+ --brand: var(--action-primary);
489
+ --brand-foreground: var(--action-primary-foreground);
490
+ --brand-hover: var(--action-primary-hover);
491
+ --brand-text: var(--action-primary-text);
484
492
 
485
493
  /* Interactive row hover/focus uses the WG2 highlight wash. */
486
494
  --table-row-hover: var(--color-wg2);
487
- --table-row-selected: var(--color-wg1);
495
+ --table-row-selected: var(--action-primary-soft);
488
496
 
489
497
  /* Quiet component fill. WG3 is the first interactive-background
490
498
  step, so this remains visible on both white cards and the step-2 canvas. */
@@ -507,7 +515,7 @@
507
515
  --menu-stroke: var(--color-wg4); /* dropdown edge + separator */
508
516
  --toast-stroke: var(--color-wg4); /* toast card edge */
509
517
  --tree-stroke: var(--color-wg4); /* tree connector rail + elbows */
510
- --field-focus: var(--color-g8); /* subtle green focused-control edge */
518
+ --field-focus: var(--color-t8); /* subtle teal focused-control edge */
511
519
 
512
520
  /* Ripple — the appearance wash that radiates from a floating surface's
513
521
  origin corner as it opens (Dropdown/Popover/Select/Modal…). A soft ink
@@ -517,7 +525,7 @@
517
525
 
518
526
  /* Stroke width — every standard UI border is exactly 1px. */
519
527
  --stroke-width: 1px;
520
- --ring: color-mix(in srgb, var(--color-wg12) 50%, transparent); /* WG12 @ 50% */
528
+ --ring: var(--brand); /* visible teal focus */
521
529
  --overlay: color-mix(in srgb, var(--color-wg12) 50%, transparent); /* WG12 @ 50% */
522
530
 
523
531
  /* Functional / domain tokens — named for their render role, pointing into
@@ -530,7 +538,7 @@
530
538
  --chart-context: var(--color-wg6); /* de-emphasised context series */
531
539
  --chart-active-bar-opacity: 0.68; /* hover lightens a bar while preserving its series hue */
532
540
  --canvas-edge: var(--border-secondary);/* infinite-canvas edges / connectors */
533
- --texture-ink: var(--color-wg12); /* brand-texture / pixel-blast marks */
541
+ --texture-ink: var(--brand); /* brand-texture / pixel-blast marks */
534
542
  --table-shell: var(--color-white); /* simplified single-surface table */
535
543
  --table-stroke: var(--color-wg3); /* table outline + row separators */
536
544
  --table-header-foreground: var(--text-tertiary); /* 12px tertiary table heading text */
@@ -549,8 +557,8 @@
549
557
  --sidebar-foreground: var(--foreground);
550
558
  --sidebar-primary: var(--brand);
551
559
  --sidebar-primary-foreground: var(--brand-foreground);
552
- --sidebar-accent: var(--muted);
553
- --sidebar-accent-foreground: var(--foreground);
560
+ --sidebar-accent: var(--action-primary-soft);
561
+ --sidebar-accent-foreground: var(--brand-text);
554
562
  --sidebar-border: var(--border);
555
563
  --sidebar-ring: var(--ring);
556
564
  --popover: var(--elevated);