@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/styles.css CHANGED
@@ -39,7 +39,7 @@
39
39
  /*
40
40
  * ============================================================
41
41
  * ADS 1.0 — Design Tokens
42
- * Palette: warm greys + product green
42
+ * Palette: warm greys + product teal
43
43
  * Typeface: Aribau Grotesk
44
44
  * ============================================================
45
45
  */
@@ -59,13 +59,13 @@
59
59
 
60
60
  /* ---- Type scale ---- seven canonical steps: XS · S · M · L · XL · 2XL · 3XL.
61
61
  Roles follow the agent workflow. Root stays 16px so spacing is unaffected. */
62
- --text-xs: 0.625rem; /* 10px · compact chips and micro metadata */
62
+ --text-xs: 0.625rem; /* 10px · noninteractive micro metadata */
63
63
  --text-xs--line-height: 0.875rem; /* 14px */
64
- --text-s: 0.75rem; /* 12px · table headers and uppercase kickers */
64
+ --text-s: 0.75rem; /* 12px · compact controls, table headers and kickers */
65
65
  --text-s--line-height: 1rem; /* 16px */
66
- --text-m: 0.875rem; /* 14px · default body, table cells, record names */
66
+ --text-m: 0.875rem; /* 14px · body, table cells, form labels and controls */
67
67
  --text-m--line-height: 1.25rem; /* 20px */
68
- --text-l: 1rem; /* 16px · tabs, form labels, and section titles */
68
+ --text-l: 1rem; /* 16px · tabs and section titles */
69
69
  --text-l--line-height: 1.375rem; /* 22px */
70
70
  --text-xl: 1.125rem; /* 18px · metric values and subtitles */
71
71
  --text-xl--line-height: 1.5rem; /* 24px */
@@ -93,35 +93,35 @@
93
93
 
94
94
  /* ---- Foundation palette ----
95
95
  Canonical primitive names:
96
- G1…G12 = Green · WG1…WG12 = Warm Grey.
96
+ T1…T12 = Teal · WG1…WG12 = Warm Grey.
97
97
  Each ramp progresses from light backgrounds and interactive fills through
98
98
  supporting tones to solid colors and accessible text. Neutral UI borders
99
99
  are intentionally restricted to WG3–WG5. ---- */
100
- --color-g1: #f7f9f7;
101
- --color-g2: #eef5f0;
102
- --color-g3: #e2efe5;
103
- --color-g4: #cce4d2;
104
- --color-g5: #b4d8be;
105
- --color-g6: #9bcbaa;
106
- --color-g7: #7db78f;
107
- --color-g8: #5c9c73;
108
- --color-g9: #398457;
109
- --color-g10: #2b7348;
110
- --color-g11: #1f623b;
111
- --color-g12: #183c28;
112
-
113
- --color-wg1: #f5f5f3;
114
- --color-wg2: #f1f1ef;
115
- --color-wg3: #ececea;
116
- --color-wg4: #e5e5e2;
117
- --color-wg5: #dcdcd8;
118
- --color-wg6: #d1d1cc;
119
- --color-wg7: #c2c2bc;
120
- --color-wg8: #a6a69f;
121
- --color-wg9: #777771;
122
- --color-wg10: #686863;
123
- --color-wg11: #4b4b47;
124
- --color-wg12: #20201e;
100
+ --color-t1: #f6f9f9;
101
+ --color-t2: #edf5f4;
102
+ --color-t3: #dfefec;
103
+ --color-t4: #c7e4df;
104
+ --color-t5: #add8d1;
105
+ --color-t6: #91cbc2;
106
+ --color-t7: #6fb7ad;
107
+ --color-t8: #4c9b92;
108
+ --color-t9: #1c8379;
109
+ --color-t10: #017369;
110
+ --color-t11: #016159;
111
+ --color-t12: #0f3c37;
112
+
113
+ --color-wg1: #f9f7f0;
114
+ --color-wg2: #f3f1e9;
115
+ --color-wg3: #efece3;
116
+ --color-wg4: #e8e5db;
117
+ --color-wg5: #dfdcd0;
118
+ --color-wg6: #d4d1c4;
119
+ --color-wg7: #c6c2b3;
120
+ --color-wg8: #aaa698;
121
+ --color-wg9: #79766a;
122
+ --color-wg10: #6b685e;
123
+ --color-wg11: #4d4b44;
124
+ --color-wg12: #21201d;
125
125
 
126
126
  /* Deprecated Neutral Grey names resolve to the canonical Warm Grey ramp.
127
127
  Keep these aliases so existing consumer utilities continue to render. */
@@ -138,21 +138,36 @@
138
138
  --color-ng11: var(--color-wg11);
139
139
  --color-ng12: var(--color-wg12);
140
140
 
141
+ /* Deprecated Green names resolve step-for-step to the canonical Teal ramp.
142
+ Keep these aliases so existing consumer utilities (`bg-g9`) still render. */
143
+ --color-g1: var(--color-t1);
144
+ --color-g2: var(--color-t2);
145
+ --color-g3: var(--color-t3);
146
+ --color-g4: var(--color-t4);
147
+ --color-g5: var(--color-t5);
148
+ --color-g6: var(--color-t6);
149
+ --color-g7: var(--color-t7);
150
+ --color-g8: var(--color-t8);
151
+ --color-g9: var(--color-t9);
152
+ --color-g10: var(--color-t10);
153
+ --color-g11: var(--color-t11);
154
+ --color-g12: var(--color-t12);
155
+
141
156
  --color-white: #ffffff;
142
157
 
143
158
  /* Compatibility aliases preserve the existing ADS utility/API surface. */
144
- --color-green-50: var(--color-g1);
145
- --color-green-100: var(--color-g2);
146
- --color-green-200: var(--color-g3);
147
- --color-green-300: var(--color-g4);
148
- --color-green-400: var(--color-g5);
149
- --color-green-500: var(--color-g6);
150
- --color-green-600: var(--color-g7);
151
- --color-green-700: var(--color-g8);
152
- --color-green-800: var(--color-g9);
153
- --color-green-850: var(--color-g10);
154
- --color-green-900: var(--color-g11);
155
- --color-green-950: var(--color-g12);
159
+ --color-green-50: var(--color-t1);
160
+ --color-green-100: var(--color-t2);
161
+ --color-green-200: var(--color-t3);
162
+ --color-green-300: var(--color-t4);
163
+ --color-green-400: var(--color-t5);
164
+ --color-green-500: var(--color-t6);
165
+ --color-green-600: var(--color-t7);
166
+ --color-green-700: var(--color-t8);
167
+ --color-green-800: var(--color-t9);
168
+ --color-green-850: var(--color-t10);
169
+ --color-green-900: var(--color-t11);
170
+ --color-green-950: var(--color-t12);
156
171
 
157
172
  --color-grey-50: var(--color-wg1);
158
173
  --color-grey-100: var(--color-wg2);
@@ -181,16 +196,15 @@
181
196
  --color-ink-950: var(--color-wg12);
182
197
 
183
198
  /* ---- Semantic accent ramps ---- */
184
- /* Success uses the lichen lime family and stays status-only. The original
185
- soft/base/deep anchors map to 50/500/600; 100 and 400 bridge the soft fill
186
- and base, while 700 deepens the family enough for AA text on White. */
187
- --color-success-50: #e4efcf;
188
- --color-success-100: #d4e5b5;
189
- --color-success-300: #c4dc9b;
190
- --color-success-400: #b4d281;
191
- --color-success-500: #a3c765;
192
- --color-success-600: #6e8f30;
193
- --color-success-700: #516923;
199
+ /* Grass green keeps positive states distinct from primary-action teal.
200
+ Soft fills use 50/100; 700 carries accessible status text and solid fills. */
201
+ --color-success-50: #f2fbef;
202
+ --color-success-100: #e1f3d8;
203
+ --color-success-300: #b2dda0;
204
+ --color-success-400: #8acb70;
205
+ --color-success-500: #4d9f38;
206
+ --color-success-600: #3b852b;
207
+ --color-success-700: #2d6b22;
194
208
 
195
209
  --color-warning-50: #fffaeb;
196
210
  --color-warning-100: #fef0c7;
@@ -226,8 +240,8 @@
226
240
  --color-amber-base: #f3a72e;
227
241
  --color-amber-deep: #b57414;
228
242
 
229
- /* Demo logo indigo — source for artifact canvas wash. */
230
- --color-brand-mark: #2e1065;
243
+ /* Brand mark and artifact canvas wash share the product teal. */
244
+ --color-brand-mark: var(--brand);
231
245
 
232
246
  /* ---- Radii ---- four canonical steps: XS · S · M · L.
233
247
  M (6px) is the default corner radius. */
@@ -380,7 +394,7 @@
380
394
  --color-card-foreground: var(--card-foreground);
381
395
  --color-specimen-stroke: var(--specimen-stroke);
382
396
 
383
- /* Primary CTA role — restrained Studio green, used sparingly. */
397
+ /* Primary CTA role — restrained Studio teal, used sparingly. */
384
398
  --color-action-primary: var(--action-primary);
385
399
  --color-action-primary-foreground: var(--action-primary-foreground);
386
400
  --color-action-primary-hover: var(--action-primary-hover);
@@ -388,7 +402,7 @@
388
402
  --color-action-primary-soft: var(--action-primary-soft);
389
403
  --color-field-focus: var(--field-focus);
390
404
 
391
- /* Compatibility action role — neutral ink, never a colored primary hue. */
405
+ /* Shared brand roles for control states, primary accents, and marks. */
392
406
  --color-brand: var(--brand);
393
407
  --color-brand-foreground: var(--brand-foreground);
394
408
  --color-brand-hover: var(--brand-hover);
@@ -409,9 +423,7 @@
409
423
  --color-accent: var(--accent);
410
424
  --color-accent-foreground: var(--accent-foreground);
411
425
 
412
- /* Lichen success-700 clears AA on White and both success soft fills;
413
- success-600 is reserved for non-text marks because its 3.73:1 contrast
414
- on White does not clear body-text AA. */
426
+ /* Grass green 700 clears AA on White and both success soft fills. */
415
427
  --color-success: var(--color-success-700);
416
428
  --color-success-foreground: var(--color-white);
417
429
  /* Amber-500 fill kept (it IS the caution signal); dark ink foreground
@@ -465,8 +477,7 @@
465
477
 
466
478
  /* ---- Theme (light only) ---- */
467
479
  :root {
468
- /* Surfaces and achromatic text/actions point into WG; the primary CTA
469
- points into G. */
480
+ /* Surfaces and neutral text use WG; actions and controls share Teal. */
470
481
  --background: var(--color-wg2); /* step 2 · canvas */
471
482
  --foreground: var(--color-wg12); /* step 12 */
472
483
 
@@ -474,18 +485,18 @@
474
485
  WG9 is the tertiary/de-emphasis step for nonessential metadata. It clears
475
486
  normal-text AA on White; use Secondary when normal text on WG2 must clear
476
487
  AA. */
477
- --text-on-white-primary: var(--color-wg12); /* 16.32:1 · AAA */
478
- --text-on-white-secondary: var(--color-wg11); /* 8.76:1 · AAA */
479
- --text-on-white-tertiary: var(--color-wg9); /* 4.50:1 · AA */
480
- --text-on-warm-grey-primary: var(--color-wg12); /* 14.43:1 on WG2 · AAA */
481
- --text-on-warm-grey-secondary: var(--color-wg11); /* 7.75:1 on WG2 · AAA */
482
- --text-on-warm-grey-tertiary: var(--color-wg9); /* 3.98:1 on WG2 · large text AA */
488
+ --text-on-white-primary: var(--color-wg12); /* 16.29:1 · AAA */
489
+ --text-on-white-secondary: var(--color-wg11); /* 8.73:1 · AAA */
490
+ --text-on-white-tertiary: var(--color-wg9); /* 4.55:1 · AA */
491
+ --text-on-warm-grey-primary: var(--color-wg12); /* 14.41:1 on WG2 · AAA */
492
+ --text-on-warm-grey-secondary: var(--color-wg11); /* 7.72:1 on WG2 · AAA */
493
+ --text-on-warm-grey-tertiary: var(--color-wg9); /* 4.03:1 on WG2 · large text AA */
483
494
 
484
495
  /* Existing context-free utilities remain conservative compatibility aliases
485
496
  across WG2–WG4 and White until their call sites adopt a surface role. */
486
497
  --text-primary: var(--color-wg12); /* 12.93:1 AAA (WG4 min surf) */
487
- --text-secondary: var(--color-wg11); /* 6.94:1 AA (WG4 min surf) */
488
- --text-tertiary: color-mix(in srgb, var(--color-wg10) 80%, var(--color-wg11)); /* 4.86:1 AA (WG4) */
498
+ --text-secondary: var(--color-wg11); /* 6.93:1 AA (WG4 min surf) */
499
+ --text-tertiary: color-mix(in srgb, var(--color-wg10) 80%, var(--color-wg11)); /* 4.83:1 AA (WG4) */
489
500
 
490
501
  --surface: var(--color-wg3); /* step 3 · tinted canvas */
491
502
  --surface-foreground: var(--color-wg12);
@@ -497,25 +508,22 @@
497
508
  --card: var(--color-white); /* pure white base */
498
509
  --card-foreground: var(--color-wg12);
499
510
 
500
- /* Studio green is deliberately isolated to the primary CTA role (roughly
501
- 5–10% of a screen). Selection controls keep using neutral `brand` below,
502
- so tabs, switches, radios, and progress never inherit CTA color. */
503
- --action-primary: var(--color-g9);
511
+ /* One teal action palette shared by CTAs and component interaction states. */
512
+ --action-primary: var(--color-t9);
504
513
  --action-primary-foreground: var(--color-white);
505
- --action-primary-hover: var(--color-g10);
506
- --action-primary-text: var(--color-g11);
507
- --action-primary-soft: var(--color-g3);
514
+ --action-primary-hover: var(--color-t10);
515
+ --action-primary-text: var(--color-t11);
516
+ --action-primary-soft: var(--color-t3);
508
517
 
509
- /* Neutral action role. The `brand` name remains as a compatibility API,
510
- and shared selection/control states intentionally remain achromatic. */
511
- --brand: var(--color-wg12); /* darkest neutral action */
512
- --brand-foreground: var(--color-white);
513
- --brand-hover: var(--color-wg11); /* lighter hover lift */
514
- --brand-text: var(--color-wg12); /* action text / links */
518
+ /* Brand aliases follow the action roles so every consumer stays in sync. */
519
+ --brand: var(--action-primary);
520
+ --brand-foreground: var(--action-primary-foreground);
521
+ --brand-hover: var(--action-primary-hover);
522
+ --brand-text: var(--action-primary-text);
515
523
 
516
524
  /* Interactive row hover/focus uses the WG2 highlight wash. */
517
525
  --table-row-hover: var(--color-wg2);
518
- --table-row-selected: var(--color-wg1);
526
+ --table-row-selected: var(--action-primary-soft);
519
527
 
520
528
  /* Quiet component fill. WG3 is the first interactive-background
521
529
  step, so this remains visible on both white cards and the step-2 canvas. */
@@ -538,7 +546,7 @@
538
546
  --menu-stroke: var(--color-wg4); /* dropdown edge + separator */
539
547
  --toast-stroke: var(--color-wg4); /* toast card edge */
540
548
  --tree-stroke: var(--color-wg4); /* tree connector rail + elbows */
541
- --field-focus: var(--color-g8); /* subtle green focused-control edge */
549
+ --field-focus: var(--color-t8); /* subtle teal focused-control edge */
542
550
 
543
551
  /* Ripple — the appearance wash that radiates from a floating surface's
544
552
  origin corner as it opens (Dropdown/Popover/Select/Modal…). A soft ink
@@ -548,7 +556,7 @@
548
556
 
549
557
  /* Stroke width — every standard UI border is exactly 1px. */
550
558
  --stroke-width: 1px;
551
- --ring: color-mix(in srgb, var(--color-wg12) 50%, transparent); /* WG12 @ 50% */
559
+ --ring: var(--brand); /* visible teal focus */
552
560
  --overlay: color-mix(in srgb, var(--color-wg12) 50%, transparent); /* WG12 @ 50% */
553
561
 
554
562
  /* Functional / domain tokens — named for their render role, pointing into
@@ -561,7 +569,7 @@
561
569
  --chart-context: var(--color-wg6); /* de-emphasised context series */
562
570
  --chart-active-bar-opacity: 0.68; /* hover lightens a bar while preserving its series hue */
563
571
  --canvas-edge: var(--border-secondary);/* infinite-canvas edges / connectors */
564
- --texture-ink: var(--color-wg12); /* brand-texture / pixel-blast marks */
572
+ --texture-ink: var(--brand); /* brand-texture / pixel-blast marks */
565
573
  --table-shell: var(--color-white); /* simplified single-surface table */
566
574
  --table-stroke: var(--color-wg3); /* table outline + row separators */
567
575
  --table-header-foreground: var(--text-tertiary); /* 12px tertiary table heading text */
@@ -580,8 +588,8 @@
580
588
  --sidebar-foreground: var(--foreground);
581
589
  --sidebar-primary: var(--brand);
582
590
  --sidebar-primary-foreground: var(--brand-foreground);
583
- --sidebar-accent: var(--muted);
584
- --sidebar-accent-foreground: var(--foreground);
591
+ --sidebar-accent: var(--action-primary-soft);
592
+ --sidebar-accent-foreground: var(--brand-text);
585
593
  --sidebar-border: var(--border);
586
594
  --sidebar-ring: var(--ring);
587
595
  --popover: var(--elevated);
@@ -670,12 +678,12 @@
670
678
  }
671
679
 
672
680
  /* Ask landing: Hex's hierarchy translated into ADS tokens. The same quiet
673
- texture spans the complete canvas; G2-G8 concentrate focus at the prompt. */
681
+ texture spans the complete canvas; T2-T8 concentrate focus at the prompt. */
674
682
  .ask-empty-state {
675
683
  background-color: var(--color-white);
676
684
  background-image: radial-gradient(
677
685
  circle,
678
- color-mix(in oklab, var(--color-g8) 22%, transparent) 0 0.75px,
686
+ color-mix(in oklab, var(--color-t8) 22%, transparent) 0 0.75px,
679
687
  transparent 0.9px
680
688
  );
681
689
  background-size: 12px 12px;
@@ -684,8 +692,8 @@
684
692
  .ask-empty-hero-pattern {
685
693
  background-image: radial-gradient(
686
694
  ellipse at 50% 52%,
687
- color-mix(in oklab, var(--color-g3) 88%, transparent) 0%,
688
- color-mix(in oklab, var(--color-g2) 48%, transparent) 38%,
695
+ color-mix(in oklab, var(--color-t3) 88%, transparent) 0%,
696
+ color-mix(in oklab, var(--color-t2) 48%, transparent) 38%,
689
697
  transparent 68%
690
698
  );
691
699
  }
@@ -696,8 +704,8 @@
696
704
  }
697
705
 
698
706
  .ask-empty-composer:focus-within [data-slot="aui_composer-shell"] {
699
- border-color: var(--color-g8);
700
- box-shadow: 0 0 0 3px var(--color-g4), var(--shadow-300);
707
+ border-color: var(--color-t8);
708
+ box-shadow: 0 0 0 3px var(--color-t4), var(--shadow-300);
701
709
  }
702
710
 
703
711
  .ask-section-label {