@actioneer/ads 0.1.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.
Files changed (231) hide show
  1. package/LICENSE +21 -0
  2. package/bin/ads-init.mjs +314 -0
  3. package/components/accordion.d.ts +13 -0
  4. package/components/accordion.js +91 -0
  5. package/components/agents-ui/agent-audio-visualizer-aura.d.ts +11 -0
  6. package/components/agents-ui/agent-audio-visualizer-aura.js +277 -0
  7. package/components/agents-ui/agent-audio-visualizer-wave.d.ts +12 -0
  8. package/components/agents-ui/agent-audio-visualizer-wave.js +203 -0
  9. package/components/agents-ui/react-shader-toy.d.ts +87 -0
  10. package/components/agents-ui/react-shader-toy.js +531 -0
  11. package/components/ai-elements/chain-of-thought.d.ts +30 -0
  12. package/components/ai-elements/chain-of-thought.js +182 -0
  13. package/components/ai-elements/index.d.ts +11 -0
  14. package/components/ai-elements/inline-citation.d.ts +44 -0
  15. package/components/ai-elements/inline-citation.js +314 -0
  16. package/components/ai-elements/message.d.ts +96 -0
  17. package/components/ai-elements/message.js +308 -0
  18. package/components/ai-elements/queue.d.ts +60 -0
  19. package/components/ai-elements/queue.js +193 -0
  20. package/components/ai-elements/reasoning.d.ts +26 -0
  21. package/components/ai-elements/reasoning.js +131 -0
  22. package/components/ai-elements/shimmer.d.ts +25 -0
  23. package/components/ai-elements/shimmer.js +44 -0
  24. package/components/ai-elements/speech-input.d.ts +16 -0
  25. package/components/ai-elements/speech-input.js +151 -0
  26. package/components/ai-elements/task-progress.d.ts +41 -0
  27. package/components/ai-elements/task-progress.js +211 -0
  28. package/components/ai-elements/task.d.ts +35 -0
  29. package/components/ai-elements/task.js +73 -0
  30. package/components/ai-elements/tool.d.ts +53 -0
  31. package/components/ai-elements/tool.js +116 -0
  32. package/components/ai-elements/voice.d.ts +74 -0
  33. package/components/ai-elements/voice.js +875 -0
  34. package/components/alert.d.ts +21 -0
  35. package/components/alert.js +76 -0
  36. package/components/answer.d.ts +984 -0
  37. package/components/answer.js +543 -0
  38. package/components/assistant-ui/action-bar.d.ts +3 -0
  39. package/components/assistant-ui/action-bar.js +57 -0
  40. package/components/assistant-ui/answer-tool-ui.d.ts +5 -0
  41. package/components/assistant-ui/answer-tool-ui.js +42 -0
  42. package/components/assistant-ui/attachment.d.ts +50 -0
  43. package/components/assistant-ui/attachment.js +353 -0
  44. package/components/assistant-ui/badge.d.ts +11 -0
  45. package/components/assistant-ui/badge.js +54 -0
  46. package/components/assistant-ui/branch-picker.d.ts +3 -0
  47. package/components/assistant-ui/branch-picker.js +36 -0
  48. package/components/assistant-ui/chain-of-thought.d.ts +46 -0
  49. package/components/assistant-ui/composer-add-context.d.ts +50 -0
  50. package/components/assistant-ui/composer-add-context.js +209 -0
  51. package/components/assistant-ui/composer-deep-research.d.ts +16 -0
  52. package/components/assistant-ui/composer-deep-research.js +38 -0
  53. package/components/assistant-ui/composer-harness.d.ts +18 -0
  54. package/components/assistant-ui/composer-harness.js +186 -0
  55. package/components/assistant-ui/composer-trigger-popover.d.ts +47 -0
  56. package/components/assistant-ui/composer-trigger-popover.js +147 -0
  57. package/components/assistant-ui/composer.d.ts +8 -0
  58. package/components/assistant-ui/composer.js +276 -0
  59. package/components/assistant-ui/directive-text.d.ts +16 -0
  60. package/components/assistant-ui/directive-text.js +40 -0
  61. package/components/assistant-ui/error.d.ts +6 -0
  62. package/components/assistant-ui/error.js +39 -0
  63. package/components/assistant-ui/file.d.ts +37 -0
  64. package/components/assistant-ui/file.js +159 -0
  65. package/components/assistant-ui/follow-up-suggestions.d.ts +7 -0
  66. package/components/assistant-ui/follow-up-suggestions.js +44 -0
  67. package/components/assistant-ui/image.d.ts +46 -0
  68. package/components/assistant-ui/image.js +351 -0
  69. package/components/assistant-ui/index.d.ts +28 -0
  70. package/components/assistant-ui/markdown-text.d.ts +1 -0
  71. package/components/assistant-ui/markdown-text.js +242 -0
  72. package/components/assistant-ui/message-timing.d.ts +25 -0
  73. package/components/assistant-ui/message-timing.js +56 -0
  74. package/components/assistant-ui/message.d.ts +4 -0
  75. package/components/assistant-ui/message.js +159 -0
  76. package/components/assistant-ui/primitives.d.ts +2 -0
  77. package/components/assistant-ui/quote.d.ts +37 -0
  78. package/components/assistant-ui/quote.js +150 -0
  79. package/components/assistant-ui/reasoning.d.ts +44 -0
  80. package/components/assistant-ui/reasoning.js +261 -0
  81. package/components/assistant-ui/selection-toolbar.d.ts +29 -0
  82. package/components/assistant-ui/selection-toolbar.js +91 -0
  83. package/components/assistant-ui/smart-message-text.d.ts +15 -0
  84. package/components/assistant-ui/smart-message-text.js +29 -0
  85. package/components/assistant-ui/sources.d.ts +17 -0
  86. package/components/assistant-ui/sources.js +121 -0
  87. package/components/assistant-ui/suggestions.d.ts +7 -0
  88. package/components/assistant-ui/suggestions.js +19 -0
  89. package/components/assistant-ui/thread-context.d.ts +37 -0
  90. package/components/assistant-ui/thread-context.js +8 -0
  91. package/components/assistant-ui/thread.d.ts +5 -0
  92. package/components/assistant-ui/thread.js +77 -0
  93. package/components/assistant-ui/tool-fallback.d.ts +36 -0
  94. package/components/assistant-ui/tool-fallback.js +428 -0
  95. package/components/assistant-ui/tool-group.d.ts +33 -0
  96. package/components/assistant-ui/tool-group.js +173 -0
  97. package/components/assistant-ui/tooltip-icon-button.d.ts +7 -0
  98. package/components/assistant-ui/tooltip-icon-button.js +31 -0
  99. package/components/assistant-ui/voice.d.ts +18 -0
  100. package/components/autocomplete.d.ts +18 -0
  101. package/components/autocomplete.js +162 -0
  102. package/components/avatar.d.ts +26 -0
  103. package/components/avatar.js +92 -0
  104. package/components/badge.d.ts +10 -0
  105. package/components/badge.js +83 -0
  106. package/components/brand-loader.d.ts +16 -0
  107. package/components/brand-loader.js +64 -0
  108. package/components/breadcrumbs.d.ts +8 -0
  109. package/components/breadcrumbs.js +58 -0
  110. package/components/button.d.ts +13 -0
  111. package/components/button.js +100 -0
  112. package/components/card.d.ts +19 -0
  113. package/components/card.js +82 -0
  114. package/components/carousel.d.ts +31 -0
  115. package/components/carousel.js +351 -0
  116. package/components/chart.d.ts +165 -0
  117. package/components/chart.js +841 -0
  118. package/components/checkbox.d.ts +13 -0
  119. package/components/checkbox.js +84 -0
  120. package/components/chip.d.ts +13 -0
  121. package/components/chip.js +112 -0
  122. package/components/collapsible.d.ts +5 -0
  123. package/components/collapsible.js +31 -0
  124. package/components/connector-card.d.ts +62 -0
  125. package/components/connector-card.js +154 -0
  126. package/components/divider.d.ts +23 -0
  127. package/components/divider.js +69 -0
  128. package/components/drawer.d.ts +45 -0
  129. package/components/drawer.js +234 -0
  130. package/components/dropdown.d.ts +33 -0
  131. package/components/dropdown.js +198 -0
  132. package/components/empty-state.d.ts +8 -0
  133. package/components/empty-state.js +30 -0
  134. package/components/field.d.ts +20 -0
  135. package/components/field.js +74 -0
  136. package/components/index.d.ts +56 -0
  137. package/components/index.js +444 -0
  138. package/components/input-field.d.ts +22 -0
  139. package/components/input-field.js +91 -0
  140. package/components/input.d.ts +8 -0
  141. package/components/input.js +61 -0
  142. package/components/kbd.d.ts +6 -0
  143. package/components/kbd.js +26 -0
  144. package/components/link.d.ts +14 -0
  145. package/components/link.js +72 -0
  146. package/components/modal.d.ts +18 -0
  147. package/components/modal.js +156 -0
  148. package/components/navbar.d.ts +15 -0
  149. package/components/navbar.js +68 -0
  150. package/components/number-field.d.ts +11 -0
  151. package/components/number-field.js +89 -0
  152. package/components/pagination.d.ts +28 -0
  153. package/components/pagination.js +179 -0
  154. package/components/panel.d.ts +14 -0
  155. package/components/panel.js +71 -0
  156. package/components/pixel-blast-svg.d.ts +22 -0
  157. package/components/pixel-blast-svg.js +154 -0
  158. package/components/popover.d.ts +20 -0
  159. package/components/popover.js +101 -0
  160. package/components/progress-circle.d.ts +11 -0
  161. package/components/progress-circle.js +75 -0
  162. package/components/progress.d.ts +22 -0
  163. package/components/progress.js +66 -0
  164. package/components/radio.d.ts +16 -0
  165. package/components/radio.js +101 -0
  166. package/components/segmented.d.ts +16 -0
  167. package/components/segmented.js +103 -0
  168. package/components/select.d.ts +28 -0
  169. package/components/select.js +180 -0
  170. package/components/selection-action-bar.d.ts +11 -0
  171. package/components/selection-action-bar.js +59 -0
  172. package/components/sidebar.d.ts +118 -0
  173. package/components/sidebar.js +375 -0
  174. package/components/skeleton.d.ts +6 -0
  175. package/components/skeleton.js +26 -0
  176. package/components/slider.d.ts +11 -0
  177. package/components/slider.js +62 -0
  178. package/components/spinner.d.ts +11 -0
  179. package/components/spinner.js +62 -0
  180. package/components/switch.d.ts +7 -0
  181. package/components/switch.js +61 -0
  182. package/components/table.d.ts +59 -0
  183. package/components/table.js +254 -0
  184. package/components/tabs.d.ts +29 -0
  185. package/components/tabs.js +371 -0
  186. package/components/textarea.d.ts +5 -0
  187. package/components/textarea.js +24 -0
  188. package/components/timeline.d.ts +7 -0
  189. package/components/timeline.js +47 -0
  190. package/components/toast.d.ts +74 -0
  191. package/components/toast.js +211 -0
  192. package/components/tooltip.d.ts +11 -0
  193. package/components/tooltip.js +143 -0
  194. package/components/tree.d.ts +42 -0
  195. package/components/tree.js +86 -0
  196. package/components/typography.d.ts +33 -0
  197. package/components/typography.js +65 -0
  198. package/components/ui/avatar.d.ts +11 -0
  199. package/components/ui/avatar.js +56 -0
  200. package/components/ui/button.d.ts +10 -0
  201. package/components/ui/button.js +57 -0
  202. package/components/ui/collapsible.d.ts +5 -0
  203. package/components/ui/collapsible.js +35 -0
  204. package/components/ui/dialog.d.ts +17 -0
  205. package/components/ui/dialog.js +93 -0
  206. package/components/ui/tabs.d.ts +22 -0
  207. package/components/ui/tooltip.d.ts +7 -0
  208. package/components/ui/tooltip.js +56 -0
  209. package/fonts/aribau-grotesk-400.otf +0 -0
  210. package/fonts/aribau-grotesk-700.otf +0 -0
  211. package/fonts.css +21 -0
  212. package/hooks/agents-ui/use-agent-audio-visualizer-aura.d.ts +8 -0
  213. package/hooks/agents-ui/use-agent-audio-visualizer-aura.js +62 -0
  214. package/hooks/agents-ui/use-agent-audio-visualizer-wave.d.ts +7 -0
  215. package/hooks/agents-ui/use-agent-audio-visualizer-wave.js +60 -0
  216. package/hooks/agents-ui/voice-visualizer-types.d.ts +9 -0
  217. package/lib/cn.d.ts +3 -0
  218. package/lib/cn.js +9 -0
  219. package/lib/icons.d.ts +378 -0
  220. package/lib/icons.js +119 -0
  221. package/lib/interactive.d.ts +24 -0
  222. package/lib/interactive.js +36 -0
  223. package/lib/motion.d.ts +58 -0
  224. package/lib/motion.js +70 -0
  225. package/lib/router.d.ts +3 -0
  226. package/lib/utils.d.ts +6 -0
  227. package/llms.txt +537 -0
  228. package/manifest.json +5085 -0
  229. package/package.json +60 -0
  230. package/styles.css +653 -0
  231. package/theme.css +273 -0
package/theme.css ADDED
@@ -0,0 +1,273 @@
1
+ /* @actioneer/ads — generated by scripts/build-lib-styles.mjs. Do not edit. */
2
+ /*
3
+ * ============================================================
4
+ * ADS 1.0 — Design Tokens
5
+ * Brand: BLACK · Typeface: Aribau Grotesk (Regular + Bold)
6
+ * ============================================================
7
+ */
8
+ @theme {
9
+ /* ---- Typography ----
10
+ One typeface only. No monospace font — numeric/code contexts use
11
+ Aribau Grotesk with `tabular-nums` for aligned figures. */
12
+ --font-sans: "Aribau Grotesk", ui-sans-serif, system-ui, -apple-system,
13
+ "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
14
+
15
+ /* ---- Type scale ---- base = 13px (0.8125rem). Root stays 16px so the
16
+ spacing grid is unaffected; only text sizes are anchored to 13px. */
17
+ /* SIX sizes only — a deliberately small ladder (captions → display).
18
+ Don't reintroduce 2xs/3xl/4xl or in-between steps; if a size feels
19
+ missing, the answer is weight/color, not a new size. */
20
+ --text-xs: 0.6875rem; /* 11px — captions, secondary text, table cells, keycaps */
21
+ --text-xs--line-height: 1rem;
22
+ /* text-sm is aliased to text-xs (both 11px). The scale is intentionally
23
+ 11 · 13 · 15 · 21 · 26 with no 12px tier — but keeping the token pointed
24
+ at 11px stops any stray `text-sm` from falling back to Tailwind's
25
+ default 14px, which would land off the scale entirely. */
26
+ --text-sm: 0.6875rem;
27
+ --text-sm--line-height: 1rem;
28
+ --text-base: 0.8125rem; /* 13px — BASE body */
29
+ --text-base--line-height: 1.25rem;
30
+ --text-lg: 0.9375rem; /* 15px — emphasized body, section headings */
31
+ --text-lg--line-height: 1.375rem;
32
+ --text-xl: 1.3125rem; /* 21px — page titles */
33
+ --text-xl--line-height: 1.75rem;
34
+ --text-2xl: 1.625rem; /* 26px — display */
35
+ --text-2xl--line-height: 2rem;
36
+
37
+ /* ---- Ink scale (the black brand ramp) ---- */
38
+ --color-ink-50: #f6f6f7;
39
+ --color-ink-100: #ececed;
40
+ --color-ink-200: #d9d9dc;
41
+ --color-ink-300: #b8b8bd;
42
+ --color-ink-400: #8f8f96;
43
+ --color-ink-500: #6e6e75;
44
+ --color-ink-600: #55555b;
45
+ --color-ink-700: #3f3f44;
46
+ --color-ink-800: #262629;
47
+ --color-ink-900: #161618;
48
+ --color-ink-950: #0a0a0b;
49
+
50
+ /* ---- Semantic accent ramps ---- */
51
+ --color-success-50: #f0fdf4;
52
+ --color-success-100: #dcfce7;
53
+ --color-success-500: #22c55e;
54
+ --color-success-600: #16a34a;
55
+ --color-success-700: #15803d;
56
+
57
+ --color-warning-50: #fffaeb;
58
+ --color-warning-100: #fef0c7;
59
+ --color-warning-500: #f79009;
60
+ --color-warning-600: #dc6803;
61
+ --color-warning-700: #b54708;
62
+
63
+ --color-danger-50: #fef3f2;
64
+ --color-danger-100: #fee4e2;
65
+ --color-danger-500: #f04438;
66
+ --color-danger-600: #d92d20;
67
+ --color-danger-700: #b42318;
68
+
69
+ --color-info-50: #eff8ff;
70
+ --color-info-100: #d1e9ff;
71
+ --color-info-500: #2e90fa;
72
+ --color-info-600: #1570ef;
73
+ --color-info-700: #175cd3;
74
+
75
+ /* ---- Radii ---- */
76
+ --radius-xs: 0.25rem;
77
+ --radius-sm: 0.375rem;
78
+ --radius-md: 0.5rem;
79
+ --radius-lg: 0.625rem;
80
+ --radius-xl: 0.875rem;
81
+ --radius-2xl: 1.25rem;
82
+ --radius-full: 9999px;
83
+ /* Status/indicator dots are SQUARE with a hair of softening — echoing the
84
+ growth-mark's square cells. Never render an indicator dot as a circle
85
+ (`rounded-full`); radio controls are the one exception (control
86
+ convention). */
87
+ --radius-dot: 2px;
88
+
89
+ /* ---- Elevation ---- ONE soft token (Claude-panel style).
90
+ Delineate surfaces with fill color first; add this to gently lift them. */
91
+ --shadow-elevation: 0 0 0 1px rgb(10 10 11 / 0.03),
92
+ 0 1px 2px 0 rgb(10 10 11 / 0.05),
93
+ 0 8px 24px -6px rgb(10 10 11 / 0.12);
94
+
95
+ /* ---- CTA inner glow ---- luminous inset highlight for primary buttons
96
+ (adapted from the "AI button" Figma): a crisp top-edge catch plus a soft
97
+ inner glow from the top and bottom, so a solid CTA reads as lit from within. */
98
+ --inner-glow-cta: inset 0 1px 0 0 rgb(255 255 255 / 0.25),
99
+ inset 0 10px 22px -10px rgb(255 255 255 / 0.28),
100
+ inset 0 -10px 22px -10px rgb(255 255 255 / 0.16);
101
+ /* Light-fill sibling — the same lit-from-within read for secondary/soft
102
+ buttons (white catch reads on gray fills at higher opacity). */
103
+ --inner-glow-fill: inset 0 1px 0 0 rgb(255 255 255 / 0.7),
104
+ inset 0 8px 16px -8px rgb(255 255 255 / 0.45);
105
+ /* Text fields — a whisper of inset depth so the writing surface reads
106
+ recessed into the page (persists through hover/focus/invalid). */
107
+ --inner-glow-field: inset 0 1px 2px 0 rgb(10 10 11 / 0.06);
108
+
109
+ /* ---- Motion ---- strong custom curves; the built-in CSS easings are too
110
+ weak. Declared here so the `ease-out` / `ease-in-out` utilities resolve
111
+ to these system-wide. JS mirror: src/lib/motion.ts — keep in sync. */
112
+ --ease-out: cubic-bezier(0.23, 1, 0.32, 1); /* entrances, exits, presses */
113
+ --ease-in-out: cubic-bezier(0.77, 0, 0.175, 1); /* on-screen movement / morphs */
114
+ --ease-drawer: cubic-bezier(0.32, 0.72, 0, 1); /* iOS-like drawer slide */
115
+ --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1); /* playful overshoot (rare) */
116
+
117
+ /* Durations — every animation/transition timing flows from these.
118
+ UI animations stay under 300ms; exits run faster than enters. */
119
+ --duration-fast: 0.15s; /* menu / popover / tooltip enter */
120
+ --duration-normal: 0.2s; /* state transitions */
121
+ --duration-spin: 0.8s; /* rotation loops (spinner) */
122
+ --duration-pulse: 1.5s; /* breathing / shimmer loops */
123
+ --duration-bloom: 0.9s; /* ambient reveals (chat texture bloom, curtain wipe) */
124
+ --duration-brand-loader: 3.4s; /* BrandLoader flicker loop */
125
+
126
+ /* Entrance-choreography beats — staggered delays for sequenced arrivals
127
+ (e.g. chat welcome: mark → greeting → composer). */
128
+ --stagger-1: 0.2s;
129
+ --stagger-2: 0.3s;
130
+ --stagger-3: 0.42s;
131
+
132
+ /* Press feedback — every pressable element scales down on :active */
133
+ --scale-press: 0.97;
134
+
135
+ /* ---- Layout ---- app-frame dimensions (Sidebar / Panel) */
136
+ --sidebar-width: 15rem; /* 240px — primary nav rail */
137
+ --sidebar-width-sm: 3.5rem; /* 56px — collapsed icon rail */
138
+ --sidebar-header: 4rem; /* 64px — brand / header row height */
139
+ --sidebar-item: 2rem; /* 32px — collapsed rail hit target (square) */
140
+ --sidebar-logo: 1.25rem; /* 20px — brand mark, centered in a --sidebar-item square */
141
+ --sidebar-text-indent: 2.375rem; /* px-3 + icon size-4 + gap-2.5 — history rows align to nav-item text */
142
+ --panel-header-height: 2.75rem; /* 44px — Panel / toolbar header */
143
+ --aside-width: 20rem; /* 320px — right-hand panel column */
144
+
145
+ /* ---- Component sizing ---- */
146
+ --card-padding: 1.25rem; /* 20px — inner padding for cards */
147
+ --connector-card-max: 30rem; /* 480px — max column width for connector-card grids (cap; no min) */
148
+ --connector-card-min: 20rem; /* 320px — min column width for auto-fill connector-card grids (cards stretch to 1fr; column count follows the container) */
149
+
150
+ /* ---- Chat (Ask Actioneer / assistant-ui) ---- */
151
+ --thread-max-width: 44rem; /* chat column cap — readable prose measure, all panes */
152
+ --thread-max-width-wide: 64rem; /* rich-content breakout cap (tables/charts/tool cards) on wide panes; prose keeps --thread-max-width */
153
+ --composer-bg: color-mix(in oklab, var(--muted) 30%, var(--background));
154
+ --composer-radius: var(--radius-2xl);
155
+ --composer-padding: 0.5rem;
156
+ --chat-texture-opacity: 0.06; /* welcome-state halftone wash */
157
+ }
158
+
159
+ /*
160
+ * Chart tokens are referenced from SVG prop strings, which Tailwind cannot
161
+ * discover while pruning @theme variables. Keep this palette explicit so
162
+ * every comparison series survives production builds.
163
+ */
164
+ :root {
165
+ --color-chart-1: var(--color-ink-950);
166
+ --color-chart-2: var(--color-ink-400);
167
+ --color-chart-3: var(--color-ink-300);
168
+ --color-chart-4: var(--color-info-500);
169
+ --color-chart-5: var(--color-warning-500);
170
+ --color-chart-6: var(--color-success-500);
171
+ }
172
+
173
+ /*
174
+ * Semantic role tokens — mapped through CSS vars.
175
+ * @theme inline exposes them as utilities (bg-background, text-primary, …).
176
+ */
177
+ @theme inline {
178
+ --color-background: var(--background);
179
+ --color-foreground: var(--foreground);
180
+
181
+ /* Text hierarchy — three accessible levels (all ≥ AA on --background) */
182
+ --color-primary: var(--text-primary);
183
+ --color-secondary: var(--text-secondary);
184
+ --color-tertiary: var(--text-tertiary);
185
+
186
+ --color-surface: var(--surface);
187
+ --color-surface-foreground: var(--surface-foreground);
188
+ --color-elevated: var(--elevated);
189
+
190
+ --color-muted: var(--muted);
191
+ --color-muted-foreground: var(--muted-foreground);
192
+
193
+ --color-card: var(--card);
194
+ --color-card-foreground: var(--card-foreground);
195
+
196
+ /* Brand (black) — used for solid fills, not body text */
197
+ --color-brand: var(--brand);
198
+ --color-brand-foreground: var(--brand-foreground);
199
+ --color-brand-hover: var(--brand-hover);
200
+
201
+ /* Quiet fill — secondary buttons, avatars, chips */
202
+ --color-fill: var(--fill);
203
+ --color-fill-foreground: var(--fill-foreground);
204
+
205
+ --color-accent: var(--accent);
206
+ --color-accent-foreground: var(--accent-foreground);
207
+
208
+ --color-success: var(--color-success-600);
209
+ --color-success-foreground: #ffffff;
210
+ --color-warning: var(--color-warning-500);
211
+ --color-warning-foreground: #ffffff;
212
+ --color-danger: var(--color-danger-600);
213
+ --color-danger-foreground: #ffffff;
214
+ --color-info: var(--color-info-600);
215
+ --color-info-foreground: #ffffff;
216
+
217
+ --color-border: var(--border);
218
+ --color-border-strong: var(--border-strong);
219
+ --color-input: var(--input);
220
+ --color-ring: var(--ring);
221
+ --color-overlay: var(--overlay);
222
+
223
+ /*
224
+ * shadcn-compat aliases — consumed ONLY by the vendored chat components
225
+ * (src/components/ui, src/components/assistant-ui). ADS UI never uses
226
+ * these; they map shadcn's expected roles onto ADS tokens.
227
+ */
228
+ --color-primary-foreground: var(--brand-foreground);
229
+ --color-secondary-foreground: #ffffff;
230
+ --color-destructive: var(--color-danger-600);
231
+ --color-destructive-foreground: #ffffff;
232
+ --color-popover: var(--elevated);
233
+ --color-popover-foreground: var(--foreground);
234
+ }
235
+
236
+ /* ---- Theme (light only) ---- */
237
+ :root {
238
+ --background: #ffffff;
239
+ --foreground: #0a0a0b;
240
+
241
+ /* Text hierarchy — accessible on #ffffff */
242
+ --text-primary: #0a0a0b; /* ~20:1 AAA */
243
+ --text-secondary: #52525b; /* ~7.6:1 AAA */
244
+ --text-tertiary: #6e6e75; /* ~5.2:1 AA */
245
+
246
+ --surface: #f6f6f7;
247
+ --surface-foreground: #262629;
248
+ --elevated: #ffffff;
249
+
250
+ --muted: #f6f6f7;
251
+ --muted-foreground: #6e6e75;
252
+
253
+ --card: #ffffff;
254
+ --card-foreground: #0a0a0b;
255
+
256
+ /* BLACK brand */
257
+ --brand: #0a0a0b;
258
+ --brand-foreground: #ffffff;
259
+ --brand-hover: #262629;
260
+
261
+ /* Quiet fill */
262
+ --fill: #ececed;
263
+ --fill-foreground: #161618;
264
+
265
+ --accent: #f6f6f7;
266
+ --accent-foreground: #161618;
267
+
268
+ --border: #ececed;
269
+ --border-strong: #d9d9dc;
270
+ --input: #d9d9dc;
271
+ --ring: rgb(10 10 11 / 0.35);
272
+ --overlay: rgb(10 10 11 / 0.5);
273
+ }