@actioneer/ads 0.6.0 → 0.7.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 (112) hide show
  1. package/components/ai-elements/agent-trace.d.ts +2 -2
  2. package/components/ai-elements/agent-trace.js +163 -104
  3. package/components/ai-elements/chain-of-thought.d.ts +2 -2
  4. package/components/ai-elements/chain-of-thought.js +1 -1
  5. package/components/ai-elements/index.d.ts +0 -5
  6. package/components/ai-elements/inline-citation.js +1 -1
  7. package/components/alert.d.ts +6 -6
  8. package/components/alert.js +89 -53
  9. package/components/answer-sources.d.ts +2 -6
  10. package/components/answer-sources.js +58 -60
  11. package/components/answer.d.ts +5 -0
  12. package/components/answer.js +311 -271
  13. package/components/assistant-ui/composer-harness.js +15 -20
  14. package/components/assistant-ui/composer.d.ts +3 -1
  15. package/components/assistant-ui/composer.js +148 -144
  16. package/components/assistant-ui/index.d.ts +0 -3
  17. package/components/assistant-ui/thread-context.d.ts +3 -1
  18. package/components/assistant-ui/thread.js +50 -42
  19. package/components/avatar.js +42 -42
  20. package/components/badge.d.ts +5 -6
  21. package/components/badge.js +13 -76
  22. package/components/body-page-header.d.ts +15 -0
  23. package/components/body-page-header.js +24 -0
  24. package/components/brand-loader.d.ts +0 -3
  25. package/components/brand-loader.js +10 -32
  26. package/components/breadcrumbs.d.ts +0 -7
  27. package/components/breadcrumbs.js +54 -71
  28. package/components/button.d.ts +1 -1
  29. package/components/button.js +55 -49
  30. package/components/chart.js +298 -296
  31. package/components/chip.d.ts +13 -1
  32. package/components/chip.js +93 -80
  33. package/components/collection-header.d.ts +17 -0
  34. package/components/collection-header.js +31 -0
  35. package/components/connector-card.d.ts +6 -6
  36. package/components/connector-card.js +31 -32
  37. package/components/date-range-picker.d.ts +2 -1
  38. package/components/date-range-picker.js +158 -122
  39. package/components/drawer.d.ts +19 -3
  40. package/components/drawer.js +109 -100
  41. package/components/dropdown.d.ts +1 -2
  42. package/components/dropdown.js +88 -89
  43. package/components/field.js +39 -34
  44. package/components/file-dropzone.js +1 -1
  45. package/components/index.d.ts +4 -4
  46. package/components/index.js +499 -546
  47. package/components/infinite-canvas.js +24 -24
  48. package/components/input-field.d.ts +18 -3
  49. package/components/input-field.js +88 -72
  50. package/components/input.js +16 -15
  51. package/components/modal.d.ts +31 -3
  52. package/components/modal.js +243 -169
  53. package/components/number-field.js +45 -42
  54. package/components/page-body.d.ts +12 -0
  55. package/components/page-body.js +18 -0
  56. package/components/pagination.js +36 -36
  57. package/components/select.d.ts +21 -0
  58. package/components/select.js +189 -148
  59. package/components/setting-row.d.ts +6 -5
  60. package/components/setting-row.js +33 -32
  61. package/components/sidebar.d.ts +2 -0
  62. package/components/sidebar.js +165 -155
  63. package/components/skeleton.js +8 -7
  64. package/components/slider.js +1 -1
  65. package/components/surface-loader.d.ts +11 -0
  66. package/components/surface-loader.js +35 -0
  67. package/components/table.d.ts +16 -10
  68. package/components/table.js +426 -410
  69. package/components/tabs.d.ts +2 -0
  70. package/components/tabs.js +159 -294
  71. package/components/textarea.js +9 -9
  72. package/components/toast.d.ts +1 -1
  73. package/components/toast.js +181 -118
  74. package/components/tree.d.ts +5 -1
  75. package/components/tree.js +54 -49
  76. package/components/typography.d.ts +4 -4
  77. package/components/typography.js +13 -13
  78. package/components/ui/button.d.ts +1 -1
  79. package/components/ui/dialog.js +33 -33
  80. package/demo/components/add-to-artifact.js +6 -10
  81. package/lib/cn.js +11 -4
  82. package/lib/icons.d.ts +4 -0
  83. package/lib/icons.js +107 -106
  84. package/lib/interactive.d.ts +1 -1
  85. package/llms.txt +95 -152
  86. package/manifest.json +1628 -2729
  87. package/package.json +1 -2
  88. package/styles.css +347 -223
  89. package/theme.css +303 -177
  90. package/components/agent-icon.d.ts +0 -76
  91. package/components/agent-icon.js +0 -265
  92. package/components/ai-elements/queue.d.ts +0 -60
  93. package/components/ai-elements/queue.js +0 -193
  94. package/components/ai-elements/speech-input.d.ts +0 -16
  95. package/components/ai-elements/speech-input.js +0 -151
  96. package/components/ai-elements/task-progress.d.ts +0 -41
  97. package/components/ai-elements/task-progress.js +0 -224
  98. package/components/ai-elements/task.d.ts +0 -39
  99. package/components/ai-elements/task.js +0 -105
  100. package/components/ai-elements/voice.d.ts +0 -90
  101. package/components/ai-elements/voice.js +0 -496
  102. package/components/assistant-ui/follow-up-suggestions.d.ts +0 -11
  103. package/components/assistant-ui/follow-up-suggestions.js +0 -72
  104. package/components/assistant-ui/suggestions.d.ts +0 -7
  105. package/components/assistant-ui/suggestions.js +0 -19
  106. package/components/assistant-ui/voice.d.ts +0 -18
  107. package/components/link.d.ts +0 -14
  108. package/components/link.js +0 -72
  109. package/components/navbar.d.ts +0 -15
  110. package/components/navbar.js +0 -68
  111. package/components/pixel-icon.d.ts +0 -37
  112. package/components/pixel-icon.js +0 -859
package/llms.txt CHANGED
@@ -18,9 +18,15 @@
18
18
  Reference semantic roles, never raw color/dimension literals (ads-lint rejects literals). Each role produces `bg-/text-/border-<role>` utilities:
19
19
  - `background`
20
20
  - `foreground`
21
- - `primary` — Text hierarchy — three accessible levels (all ≥ AA on --background)
22
- - `secondary` — Text hierarchy — three accessible levels (all ≥ AA on --background)
23
- - `tertiary` — Text hierarchy — three accessible levels (all ≥ AA on --background)
21
+ - `on-white-primary` — Contextual text hierarchies — three accessible levels per surface.
22
+ - `on-white-secondary` — Contextual text hierarchies — three accessible levels per surface.
23
+ - `on-white-tertiary` — Contextual text hierarchies — three accessible levels per surface.
24
+ - `on-warm-grey-primary` — Contextual text hierarchies — three accessible levels per surface.
25
+ - `on-warm-grey-secondary` — Contextual text hierarchies — three accessible levels per surface.
26
+ - `on-warm-grey-tertiary` — Contextual text hierarchies — three accessible levels per surface.
27
+ - `primary` — Context-free compatibility aliases remain conservative.
28
+ - `secondary` — Context-free compatibility aliases remain conservative.
29
+ - `tertiary` — Context-free compatibility aliases remain conservative.
24
30
  - `surface`
25
31
  - `surface-foreground`
26
32
  - `elevated`
@@ -28,21 +34,27 @@ Reference semantic roles, never raw color/dimension literals (ads-lint rejects l
28
34
  - `muted-foreground`
29
35
  - `card`
30
36
  - `card-foreground`
37
+ - `specimen-stroke`
31
38
  - `action-primary` — Primary CTA role — restrained Studio green, used sparingly.
32
39
  - `action-primary-foreground` — Primary CTA role — restrained Studio green, used sparingly.
33
40
  - `action-primary-hover` — Primary CTA role — restrained Studio green, used sparingly.
41
+ - `action-primary-text` — Primary CTA role — restrained Studio green, used sparingly.
42
+ - `action-primary-soft` — Primary CTA role — restrained Studio green, used sparingly.
43
+ - `field-focus` — Primary CTA role — restrained Studio green, used sparingly.
34
44
  - `brand` — Compatibility action role — neutral ink, never a colored primary hue.
35
45
  - `brand-foreground` — Compatibility action role — neutral ink, never a colored primary hue.
36
46
  - `brand-hover` — Compatibility action role — neutral ink, never a colored primary hue.
37
47
  - `brand-text` — Compatibility action role — neutral ink, never a colored primary hue.
38
- - `fill` — Quiet fill — secondary buttons, avatars, chips
39
- - `fill-foreground` — Quiet fill — secondary buttons, avatars, chips
40
- - `table-shell` — Quiet fill — secondary buttons, avatars, chips
48
+ - `fill` — Quiet fill — avatars, chips, and disabled controls
49
+ - `fill-foreground` — Quiet fill — avatars, chips, and disabled controls
50
+ - `table-shell` — Quiet fill — avatars, chips, and disabled controls
51
+ - `table-stroke` — Quiet fill — avatars, chips, and disabled controls
52
+ - `table-header-foreground` — Quiet fill — avatars, chips, and disabled controls
41
53
  - `artifact-canvas`
42
54
  - `accent`
43
55
  - `accent-foreground`
44
- - `success` — success-700 on white = 5.48:1 (600 was 3.77:1, failed AA).
45
- - `success-foreground` — success-700 on white = 5.48:1 (600 was 3.77:1, failed AA).
56
+ - `success` — Lichen success-700 clears AA on White and both success soft fills;
57
+ - `success-foreground` — Lichen success-700 clears AA on White and both success soft fills;
46
58
  - `warning` — Amber-500 fill kept (it IS the caution signal); dark ink foreground
47
59
  - `warning-foreground` — Amber-500 fill kept (it IS the caution signal); dark ink foreground
48
60
  - `danger` — Amber-500 fill kept (it IS the caution signal); dark ink foreground
@@ -55,6 +67,9 @@ Reference semantic roles, never raw color/dimension literals (ads-lint rejects l
55
67
  - `border`
56
68
  - `border-strong`
57
69
  - `input`
70
+ - `menu-stroke`
71
+ - `toast-stroke`
72
+ - `tree-stroke`
58
73
  - `ring`
59
74
  - `overlay`
60
75
 
@@ -64,23 +79,27 @@ The house rules for every ADS UI. `[lint]` = `@actioneer/ads-lint` auto-checks i
64
79
 
65
80
  ### 1. Prefer fills & elevation over strokes — but keep a balance (~75/25) [judgment]
66
81
 
67
- Delineate SURFACES (cards, panels, sidebars, page regions) with color contrast, elevation, and spacing — not borders. Aim for ~75% shadow/fill, 25% strokes: form controls and floating menus keep a subtle border so they read as interactive; surfaces do not.
82
+ Delineate SURFACES (cards, panels, sidebars, page regions) with color contrast, elevation, and spacing — not borders. Keep no more than two persistent neutral layers in one composition: panels establish hierarchy; embedded items express state. Aim for ~75% shadow/fill, 25% strokes: form controls and floating menus keep a subtle border so they read as interactive; surfaces do not.
68
83
 
69
- - Do: Separate regions by fill color first: bg-background → bg-surface → bg-card/bg-elevated → bg-muted.
84
+ - Do: Establish hierarchy with at most two persistent layers: bg-background for the screen ground and bg-card/bg-elevated for the primary surface.
85
+ - Do: Inside a white Panel or Card, keep rows and items transparent at rest; group them with spacing or inset dividers, use bg-muted for hover/selection, and reserve bg-surface for one continuous semantic recess such as an editor or table tray.
70
86
  - Do: Use border-border for outline buttons and lightweight action rows; reserve border-input for form controls (input, select, textarea, checkbox, radio, segmented-control track) and floating menus (dropdown, popover, listboxes).
71
87
  - Do: Keep strokes on focus rings, the outline Button/Badge/Chip variants, Kbd, Divider, the Tree connector rail, and functional color swatches.
72
88
  - Don't: Add a border to a surface to separate or group it — use fill/elevation/spacing instead.
89
+ - Don't: Alternate persistent neutral fills inside one panel (for example white Panel → grey item → white child); flatten the item or promote the recess to the container.
73
90
  - Don't: Give a filled control no stroke on the tinted canvas — it disappears; it needs a crisp edge.
74
91
 
75
- ### 2. Elevation = actionability [judgment]
92
+ ### 2. Shadow only by request [judgment]
76
93
 
77
- The single shadow-elevation token is an affordance: it goes ONLY on surfaces the user can act on. Never elevate something that can't be clicked. There is no shadow scale.
94
+ Every surface defaults to shadow-0. Use the numbered elevation ladder only when the user explicitly requests a shadow for the named surface; the legacy shadow-elevation hook remains flat.
78
95
 
79
- - Do: Elevate actionable surfaces: pressable/hoverable cards, primary CTAs, control thumbs (Switch, Slider, active tab segments), and interactive floating layers (Modal, Drawer, Popover, Dropdown, listboxes, Toast).
80
- - Do: Keep static surfaces flat: Panel, plain Card, Kbd, Navbar, headers, rails, docs boxes, Tooltip, InlineDrawer — they read by fill/color.
81
- - Do: Ask 'can the user click this surface?' — if no, it's flat.
82
- - Don't: Reintroduce a shadow scale (shadow-xs/sm/md/lg/xl) — there is one token only, shadow-elevation.
96
+ - Do: Keep controls, cards, menus, overlays, panels, and other surfaces at shadow-0 unless the user specifically requests elevation.
97
+ - Do: When requested, use shadow-100 for controls, shadow-200 for raised surfaces and pressable cards, shadow-300 for menus, popovers, listboxes, and toasts, and shadow-400 for dialogs and overlay drawers.
98
+ - Do: Reserve shadow-500 and shadow-600 for rare higher stacked layers; the legacy shadow-elevation hook resolves to shadow-0.
99
+ - Don't: Infer permission to use a shadow from actionability, floating placement, or component type.
100
+ - Don't: Use raw shadow values or legacy shadow-sm/md/lg/xl utilities.
83
101
  - Don't: Put a shadow on a non-interactive surface for decoration.
102
+ - Don't: Use shadow-500 or shadow-600 as a routine default.
84
103
 
85
104
  ### 3. Motion follows the interaction [lint: unbounded-transition, sluggish-easing, zero-scale-entrance, undersized-zoom-entrance, raw-spring-config]
86
105
 
@@ -137,9 +156,11 @@ A screen carries ONLY what the user needs to move forward: one title, the inputs
137
156
 
138
157
  - Do: Prefer more, smaller steps over dense ones; ask one thing at a time.
139
158
  - Do: Derive instead of asking whenever possible (a name from a work email, the company from its domain).
159
+ - Do: Prefer clear text-only buttons; add an icon only when it communicates essential meaning the label cannot carry alone, or for a compact conventional icon-only control.
140
160
  - Do: Render multi-step flows full-screen — a single content container that holds the inputs and its own Back/Continue is fine.
141
161
  - Don't: Add section eyebrows above a title that already names the screen, or helper text that restates the obvious / duplicates a disabled button's meaning.
142
162
  - Don't: Add any header description unless the user explicitly requested supporting copy for that page, section, panel, modal, dialog, drawer, or popover.
163
+ - Don't: Decorate a labeled button with a redundant leading or trailing icon.
143
164
  - Don't: Nest panel/step-rail chrome inside a multi-step flow.
144
165
 
145
166
  ### 9. Responsive = container-fluid components, shells own the width [judgment]
@@ -147,7 +168,7 @@ A screen carries ONLY what the user needs to move forward: one title, the inputs
147
168
  ADS targets landscape tablet (1024) → laptop (1440) → wide display (1920+); phone/portrait is out of scope. Components adapt to their CONTAINER via container queries; shells and pages decide pane widths through width tokens. Design against under-utilization, not cramping.
148
169
 
149
170
  - Do: Use @container on the pane and @lg:/@xl: variants on children inside components.
150
- - Do: Set pane widths in shells/pages through width tokens (--thread-max-width, --sidebar-width, --aside-width, --connector-card-min/-max).
171
+ - Do: Set pane widths in shells/pages through width tokens (thread-max-width, sidebar-width, aside-width, connector-card-min/-max).
151
172
  - Do: Cap prose at its measure; let tables/charts/tool cards break out wider. Use auto-fill + minmax(min, 1fr) for grids.
152
173
  - Don't: Use sm:/md: viewport variants inside src/components, or hardcode a pane width there.
153
174
  - Don't: Cap a grid at a hard column count so it stops growing on wide displays.
@@ -176,7 +197,7 @@ When tabs and a search field control the same content, they share one responsive
176
197
  Before composing a screen, match its intent to one production below, preserve the named JSX tree, then query the design graph for required component states. State axes are independent; render only the representative combinations named by the graph instead of a Cartesian product.
177
198
 
178
199
  - `standard-screen` — Standard screen: One shell-owned screen frame containing a single primary Panel. (intents: screen, page, workspace, editor, detail page; Storybook: ADS/Components/Layout/Panel)
179
- - `browse-with-detail` — Browse with selection-driven detail: A primary browse Panel and an inline Drawer mounted as shell-level siblings. (intents: browse, records, list detail, inspector, audit log; Storybook: ADS/Recipes/Immersive detail view)
200
+ - `browse-with-detail` — Browse with selection-driven detail: A primary browse Panel and an inline Drawer mounted as shell-level siblings. (intents: browse, records, list detail, inspector, audit log; Storybook: ADS/Components/Navigation/Sidebar)
180
201
  - `data-table` — Structured data table: Semantic table anatomy with matching header and body rows. (intents: table, records, comparison, sorting, selection; Storybook: ADS/Components/Data display/Table)
181
202
  - `tabbed-results` — Tabbed results with scoped search: Tabs lead and a scoped search trails in one responsive control row. (intents: tabs, filter, search, results, segmented views; Storybook: ADS/Components/Data display/Tabs)
182
203
  - `modal-task` — Blocking modal task: A focused interruption with one title, body, and decisive footer. (intents: modal, confirmation, short form, blocking task, destructive action; Storybook: ADS/Components/Overlays/Modal)
@@ -222,7 +243,7 @@ Before using any component below, preserve its built-in motion and apply the mot
222
243
  ### Foundations
223
244
 
224
245
  - [AudioWaveform] — component [docs](https://ads.actioneer.dev/#/audio-waveform)
225
- - [Button] — Use Button for any pressable action — a primary CTA, secondary action, or icon-only control — choosing variant by emphasis and size by context. (variants: variant: solid|secondary|outline|ghost|soft|link|danger; size: xs|sm|md|lg|icon|icon-sm|icon-xs) [docs](https://ads.actioneer.dev/#/button)
246
+ - [Button] — Use Button for any pressable action and prefer a clear text-only label. Add an icon only when it communicates essential meaning the label cannot carry alone; reserve icon-only buttons for compact, repeated controls with universally understood symbols and an accessible label. (variants: variant: solid|secondary|outline|ghost|link|danger; size: xs|sm|md|lg|icon|icon-sm|icon-xs) [docs](https://ads.actioneer.dev/#/button)
226
247
  - [Code] — Use inline within a Text/paragraph to mark a literal token — a command, filename, variable, or short snippet — never as a block-level code display. [docs](https://ads.actioneer.dev/#/typography)
227
248
  - [CodeBlock] — Show multi-line source — a query, config, or tool payload — by passing it as a string child. The default treatment is an unfilled outlined filename toolbar above a white outlined source surface, separated by the toolbar's bottom stroke. Line numbers are on by default; add language for syntax highlighting and dedicated props for highlighted, added, or removed lines. Use inline Code for a token inside a sentence. (variants: variant: soft|plain) [docs](https://ads.actioneer.dev/#/code-block)
228
249
  - [Divider] — Separate grouped content or inline clusters with a thin rule instead of adding a border to the container. [docs](https://ads.actioneer.dev/#/divider)
@@ -233,7 +254,6 @@ Before using any component below, preserve its built-in motion and apply the mot
233
254
  - [Heading] — Use Heading for semantic h1–h4 titles above a page, section, or card, sized by document level via `level` (never a `size` prop). [docs](https://ads.actioneer.dev/#/typography)
234
255
  - [Kbd] — Use to display a keyboard shortcut or key name, inline in text or trailing a label in a shortcut list. [docs](https://ads.actioneer.dev/#/kbd)
235
256
  - [Label] — component [docs](https://ads.actioneer.dev/#/field)
236
- - [Link] — Use Link for inline or standalone anchor navigation; add isExternal for links that leave the app. [docs](https://ads.actioneer.dev/#/link)
237
257
  - [ResizablePanel] — component [docs](https://ads.actioneer.dev/#/review/resizable-panel)
238
258
  - [Reveal] — Choreograph a data surface's entrance instead of a skeleton swap: wrap the shell, labels, values, and charts in ordered Reveals so the layout lands instantly and the content draws itself in. [docs](https://ads.actioneer.dev/#/reveal)
239
259
  - [RevealGroup] — component [docs](https://ads.actioneer.dev/#/reveal)
@@ -253,7 +273,6 @@ Before using any component below, preserve its built-in motion and apply the mot
253
273
  - [FileDropzoneProps] — TypeScript type
254
274
  - [HeadingProps] — TypeScript type
255
275
  - [KbdProps] — TypeScript type
256
- - [LinkProps] — TypeScript type
257
276
  - [ResizablePanelProps] — TypeScript type
258
277
  - [RevealGroupProps] — TypeScript type
259
278
  - [RevealProps] — TypeScript type
@@ -299,6 +318,7 @@ Before using any component below, preserve its built-in motion and apply the mot
299
318
  - [CheckboxProps] — TypeScript type
300
319
  - [DateRangePickerProps] — TypeScript type
301
320
  - [DateRangeValue] — TypeScript type
321
+ - [DropdownOptionsProps] — TypeScript type
302
322
  - [InputFieldProps] — TypeScript type
303
323
  - [InputProps] — TypeScript type
304
324
  - [NumberFieldProps] — TypeScript type
@@ -311,6 +331,7 @@ Before using any component below, preserve its built-in motion and apply the mot
311
331
  - [SliderProps] — TypeScript type
312
332
  - [SwitchProps] — TypeScript type
313
333
  - [TextareaProps] — TypeScript type
334
+ - [DropdownOptions] — utility
314
335
 
315
336
  ### Overlays
316
337
 
@@ -326,26 +347,32 @@ Before using any component below, preserve its built-in motion and apply the mot
326
347
  - [DropdownLabel] — component [docs](https://ads.actioneer.dev/#/dropdown)
327
348
  - [DropdownSeparator] — component [docs](https://ads.actioneer.dev/#/dropdown)
328
349
  - [DropdownTrigger] — component [docs](https://ads.actioneer.dev/#/dropdown)
350
+ - [FloatingDrawer] — component (variants: side: right|left|bottom; size: sm|md|lg|xl) [docs](https://ads.actioneer.dev/#/drawer)
329
351
  - [InlineDrawer] — component (variants: side: right|left|bottom; size: sm|md|lg|xl) [docs](https://ads.actioneer.dev/#/drawer)
330
- - [Modal] — Use for a blocking, focused task or confirmation that must interrupt the page until resolved (portaled, focus-trapped, Escape/backdrop dismissible). (variants: size: sm|md|lg|xl) [docs](https://ads.actioneer.dev/#/modal)
331
- - [ModalBody] — component (variants: size: sm|md|lg|xl) [docs](https://ads.actioneer.dev/#/modal)
332
- - [ModalDescription] — component (variants: size: sm|md|lg|xl) [docs](https://ads.actioneer.dev/#/modal)
352
+ - [Modal] — Use for a blocking, focused task or confirmation that must interrupt the page until resolved (portaled, focus-trapped, Escape/backdrop dismissible). (variants: size: sm|md|lg|xl|full; position: center|top) [docs](https://ads.actioneer.dev/#/modal)
353
+ - [ModalBody] — component (variants: size: sm|md|lg|xl|full; position: center|top) [docs](https://ads.actioneer.dev/#/modal)
354
+ - [ModalClose] — component (variants: size: sm|md|lg|xl|full; position: center|top) [docs](https://ads.actioneer.dev/#/modal)
355
+ - [ModalDescription] — component (variants: size: sm|md|lg|xl|full; position: center|top) [docs](https://ads.actioneer.dev/#/modal)
333
356
  - [ModalDrawer] — component (variants: side: right|left|bottom; size: sm|md|lg|xl) [docs](https://ads.actioneer.dev/#/drawer)
334
- - [ModalFooter] — component (variants: size: sm|md|lg|xl) [docs](https://ads.actioneer.dev/#/modal)
335
- - [ModalHeader] — component (variants: size: sm|md|lg|xl) [docs](https://ads.actioneer.dev/#/modal)
336
- - [ModalTitle] — component (variants: size: sm|md|lg|xl) [docs](https://ads.actioneer.dev/#/modal)
357
+ - [ModalFooter] — component (variants: size: sm|md|lg|xl|full; position: center|top) [docs](https://ads.actioneer.dev/#/modal)
358
+ - [ModalHeader] — component (variants: size: sm|md|lg|xl|full; position: center|top) [docs](https://ads.actioneer.dev/#/modal)
359
+ - [ModalSection] — component (variants: size: sm|md|lg|xl|full; position: center|top) [docs](https://ads.actioneer.dev/#/modal)
360
+ - [ModalTitle] — component (variants: size: sm|md|lg|xl|full; position: center|top) [docs](https://ads.actioneer.dev/#/modal)
337
361
  - [Popover] — Use Popover for a portaled, dismissible panel anchored to a trigger — quick settings, a profile card, or a short inline form — that closes on outside click or Escape. [docs](https://ads.actioneer.dev/#/popover)
338
362
  - [PopoverContent] — component [docs](https://ads.actioneer.dev/#/popover)
339
363
  - [PopoverTrigger] — component [docs](https://ads.actioneer.dev/#/popover)
340
364
  - [ToastProvider] — component [docs](https://ads.actioneer.dev/#/toast)
341
365
  - [CommandPaletteItem] — TypeScript type
342
366
  - [CommandPaletteProps] — TypeScript type
367
+ - [DrawerAppearance] — TypeScript type
343
368
  - [DrawerProps] — TypeScript type
344
369
  - [DropdownContentProps] — TypeScript type
345
370
  - [DropdownItemProps] — TypeScript type
346
371
  - [DropdownProps] — TypeScript type
347
372
  - [DropdownTriggerProps] — TypeScript type
373
+ - [FloatingDrawerProps] — TypeScript type
348
374
  - [InlineDrawerProps] — TypeScript type
375
+ - [ModalBodyProps] — TypeScript type
349
376
  - [ModalDrawerProps] — TypeScript type
350
377
  - [ModalProps] — TypeScript type
351
378
  - [PopoverContentProps] — TypeScript type
@@ -365,14 +392,14 @@ Before using any component below, preserve its built-in motion and apply the mot
365
392
  - [AccordionItem] — component [docs](https://ads.actioneer.dev/#/accordion)
366
393
  - [AnswerRenderer] — component (variants: tone: default|primary|success|warning|danger|info) [docs](https://ads.actioneer.dev/#/ai/answer)
367
394
  - [AnswerSkeleton] — component (variants: tone: default|primary|success|warning|danger|info) [docs](https://ads.actioneer.dev/#/ai/answer)
368
- - [AnswerSourceChip] — Use the blue connector/source chip inside AnswerSources to open only the referenced nodes represented by that chip in the shell's inspector. [docs](https://ads.actioneer.dev/#/ai/sources)
369
- - [AnswerSourceInspector] — Render as a persistent right-side sibling when a source or node is selected, then unmount it when that context clears. Execution contract: use a transparent split wrapper with an 8px gap; keep the inspector fixed at 320px and shrink-0 while the primary panel stays min-w-0; use a bg-background canvas, bg-card panels, bg-surface detail rows, independent border-border strokes, text-primary/text-secondary/text-tertiary text, and bg-action-primary CTAs (bg-action-primary-hover on hover); apply the 2/4/6/8px radius scale with 8px on panels and rows, 24px panel padding, and no panel shadow; keep the immersive outer shell transparent, borderless, shadowless, and square; never fill the gutter or draw one shared border around both panels. [docs](https://ads.actioneer.dev/#/ai/sources)
370
- - [AnswerSourceItem] — Use as an outlined clickable row inside AnswerSourceInspector for one referenced table or node, including its parent source, read state, and optional status. [docs](https://ads.actioneer.dev/#/ai/sources)
371
- - [AnswerSources] — Place immediately above an answer's follow-up questions to summarize the referenced nodes and group them into clickable AnswerSourceChips. [docs](https://ads.actioneer.dev/#/ai/sources)
395
+ - [AnswerSourceChip] — Use the blue connector/source chip inside AnswerSources to open only the referenced nodes represented by that chip in the shell's inspector. [docs](https://ads.actioneer.dev/#/ai/answer)
396
+ - [AnswerSourceInspector] — Render as a persistent right-side sibling when a source or node is selected, then unmount it when that context clears. Execution contract: use a transparent split wrapper with an 8px gap; keep the inspector fixed at 320px and shrink-0 while the primary panel stays min-w-0; use a bg-background canvas, bg-card panels, bg-surface detail rows, independent border-border strokes, text-primary/text-secondary/text-tertiary text, and bg-action-primary CTAs (bg-action-primary-hover on hover); apply the 2/4/6/8px radius scale with 8px on panels and rows, 24px panel padding, and no panel shadow; keep the split workspace wrapper transparent, borderless, shadowless, and square; never fill the gutter or draw one shared border around both panels. [docs](https://ads.actioneer.dev/#/ai/answer)
397
+ - [AnswerSourceItem] — Use as an outlined clickable row inside AnswerSourceInspector for one referenced table or node, including its parent source, read state, and optional status. [docs](https://ads.actioneer.dev/#/ai/answer)
398
+ - [AnswerSources] — Place immediately above an answer's follow-up questions to summarize the referenced nodes and group them into clickable AnswerSourceChips. [docs](https://ads.actioneer.dev/#/ai/answer)
372
399
  - [AreaChart] — component [docs](https://ads.actioneer.dev/#/ai/chart)
373
400
  - [Avatar] — Use to represent a person or entity as a compact photo-or-initials glyph, standalone or stacked in an AvatarGroup. [docs](https://ads.actioneer.dev/#/avatar)
374
401
  - [AvatarGroup] — component [docs](https://ads.actioneer.dev/#/avatar)
375
- - [Badge] — Use Badge for a small inline label — status, counts, or tags — attached to text or a row. (variants: variant: solid|soft|outline|dot; color: default|primary|success|warning|danger|info) [docs](https://ads.actioneer.dev/#/badge)
402
+ - [Badge] — Use Badge for a small inline label — status, counts, or tags — attached to text or a row. [docs](https://ads.actioneer.dev/#/badge)
376
403
  - [BarChart] — component [docs](https://ads.actioneer.dev/#/ai/chart)
377
404
  - [BaseEdge] — component [docs](https://ads.actioneer.dev/#/infinite-canvas)
378
405
  - [BreakdownAnswer] — component (variants: tone: default|primary|success|warning|danger|info) [docs](https://ads.actioneer.dev/#/ai/answer)
@@ -388,7 +415,7 @@ Before using any component below, preserve its built-in motion and apply the mot
388
415
  - [CarouselItem] — component [docs](https://ads.actioneer.dev/#/carousel)
389
416
  - [CarouselNext] — component [docs](https://ads.actioneer.dev/#/carousel)
390
417
  - [CarouselPrevious] — component [docs](https://ads.actioneer.dev/#/carousel)
391
- - [Chip] — A compact pill for statuses, tags, or metadata, with an optional leading icon/avatar or a dismiss control. (variants: variant: solid|soft|outline|dot; color: default|primary|success|warning|danger|info) [docs](https://ads.actioneer.dev/#/chip)
418
+ - [Chip] — A compact pill for statuses, tags, or metadata, with an optional leading icon/avatar or a dismiss control. (variants: variant: solid|outline; color: default|primary|success|warning|danger|info) [docs](https://ads.actioneer.dev/#/chip)
392
419
  - [ClarificationAnswer] — component (variants: tone: default|primary|success|warning|danger|info) [docs](https://ads.actioneer.dev/#/ai/answer)
393
420
  - [ComboChart] — component [docs](https://ads.actioneer.dev/#/ai/chart)
394
421
  - [ComparisonAnswer] — component (variants: tone: default|primary|success|warning|danger|info) [docs](https://ads.actioneer.dev/#/ai/answer)
@@ -402,6 +429,7 @@ Before using any component below, preserve its built-in motion and apply the mot
402
429
  - [ErrorAnswer] — component (variants: tone: default|primary|success|warning|danger|info) [docs](https://ads.actioneer.dev/#/ai/answer)
403
430
  - [ExplanationAnswer] — component (variants: tone: default|primary|success|warning|danger|info) [docs](https://ads.actioneer.dev/#/ai/answer)
404
431
  - [FactAnswer] — component (variants: tone: default|primary|success|warning|danger|info) [docs](https://ads.actioneer.dev/#/ai/answer)
432
+ - [FollowUpQuestion] — Use for the two or three full-width next-question rows that close a structured answer, immediately after its source strip; show the exact prompt that clicking will send. (variants: tone: default|primary|success|warning|danger|info) [docs](https://ads.actioneer.dev/#/ai/answer)
405
433
  - [FunnelBarsHorizontal] — component [docs](https://ads.actioneer.dev/#/viz-charts)
406
434
  - [FunnelChart] — component [docs](https://ads.actioneer.dev/#/ai/chart)
407
435
  - [FunnelViz] — component [docs](https://ads.actioneer.dev/#/viz-charts)
@@ -424,7 +452,7 @@ Before using any component below, preserve its built-in motion and apply the mot
424
452
  - [ScatterChart] — component [docs](https://ads.actioneer.dev/#/ai/chart)
425
453
  - [SeriesChart] — component [docs](https://ads.actioneer.dev/#/viz-charts)
426
454
  - [StatusAnswer] — component (variants: tone: default|primary|success|warning|danger|info) [docs](https://ads.actioneer.dev/#/ai/answer)
427
- - [Tab] — component (variants: variant: primary|secondary|pill; orientation: horizontal|vertical; size: sm|md|lg; selected: true|false) [docs](https://ads.actioneer.dev/#/tabs)
455
+ - [Tab] — component (variants: orientation: horizontal|vertical; selected: true|false) [docs](https://ads.actioneer.dev/#/tabs)
428
456
  - [Table] — Use Table for structured tabular data that may need row selection, column sorting, sticky columns, or a paginated footer — not for simple key-value lists. Interactive rows inherit the shared soft neutral hover/focus sink and keep their normal table geometry; do not add a brand tint or hover-only corner rounding. Primary record links stay text-only in every state: never reveal an arrow, chevron, or other directional icon only on hover. Persistent row actions use a final sticky-right column plus elevatedActionColumn so one body-column shadow lifts the action surface instead of repeating on individual cells. The empty matching header cell remains transparent and non-sticky. [docs](https://ads.actioneer.dev/#/table)
429
457
  - [TableAnswer] — component (variants: tone: default|primary|success|warning|danger|info) [docs](https://ads.actioneer.dev/#/ai/answer)
430
458
  - [TableBody] — component [docs](https://ads.actioneer.dev/#/table)
@@ -432,10 +460,10 @@ Before using any component below, preserve its built-in motion and apply the mot
432
460
  - [TableColumn] — component [docs](https://ads.actioneer.dev/#/table)
433
461
  - [TableHeader] — component [docs](https://ads.actioneer.dev/#/table)
434
462
  - [TableRow] — component [docs](https://ads.actioneer.dev/#/table)
435
- - [TabList] — component (variants: variant: primary|secondary|pill; orientation: horizontal|vertical; size: sm|md|lg) [docs](https://ads.actioneer.dev/#/tabs)
436
- - [TabPanel] — component (variants: variant: primary|secondary|pill; orientation: horizontal|vertical; size: sm|md|lg; selected: true|false) [docs](https://ads.actioneer.dev/#/tabs)
437
- - [Tabs] — Use Tabs to switch between mutually exclusive views/sections that share the same page context, not for page-level navigation. Always reach for the primary recessed-track variant — it is the default; use secondary only when explicitly asked for it. Tab radius follows control size (4px sm, 8px md/lg), never rounded-full. When Tabs and a scoped search field coexist, compose one responsive control row with tabs leading and search trailing; do not stack search above tabs at widths where both fit. (variants: variant: primary|secondary|pill; orientation: horizontal|vertical; size: sm|md|lg; selected: true|false) [docs](https://ads.actioneer.dev/#/tabs)
438
- - [TabSeparator] — component (variants: variant: primary|secondary|pill; orientation: horizontal|vertical; size: sm|md|lg; selected: true|false) [docs](https://ads.actioneer.dev/#/tabs)
463
+ - [TabList] — component (variants: orientation: horizontal|vertical) [docs](https://ads.actioneer.dev/#/tabs)
464
+ - [TabPanel] — component (variants: orientation: horizontal|vertical; selected: true|false) [docs](https://ads.actioneer.dev/#/tabs)
465
+ - [Tabs] — Use Tabs to switch between mutually exclusive views/sections that share the same page context, not for page-level navigation. Always reach for the primary recessed-track variant — it is the default; use secondary only when explicitly asked for it. Tab radius follows control size: 4px at sm and 8px at md/lg, never rounded-full. When Tabs and a scoped search field coexist, compose one responsive control row with tabs leading and search trailing; do not stack search above tabs at widths where both fit. (variants: orientation: horizontal|vertical; selected: true|false) [docs](https://ads.actioneer.dev/#/tabs)
466
+ - [TabSeparator] — component (variants: orientation: horizontal|vertical; selected: true|false) [docs](https://ads.actioneer.dev/#/tabs)
439
467
  - [Timeline] — Use for a vertical rail of dated events — version history, audit trails, activity/status feeds. [docs](https://ads.actioneer.dev/#/timeline)
440
468
  - [TimelineItem] — component [docs](https://ads.actioneer.dev/#/timeline)
441
469
  - [Tree] — component [docs](https://ads.actioneer.dev/#/tree)
@@ -484,6 +512,7 @@ Before using any component below, preserve its built-in motion and apply the mot
484
512
  - [ChartTooltipItem] — TypeScript type
485
513
  - [ChartTooltipRenderer] — TypeScript type
486
514
  - [ChartXScale] — TypeScript type
515
+ - [ChipInteraction] — TypeScript type
487
516
  - [ChipProps] — TypeScript type
488
517
  - [ClarificationAnswerProps] — TypeScript type
489
518
  - [ClarificationAnswerSpec] — TypeScript type
@@ -514,6 +543,7 @@ Before using any component below, preserve its built-in motion and apply the mot
514
543
  - [ExplanationAnswerSpec] — TypeScript type
515
544
  - [FactAnswerProps] — TypeScript type
516
545
  - [FactAnswerSpec] — TypeScript type
546
+ - [FollowUpQuestionProps] — TypeScript type
517
547
  - [FunnelBarsHorizontalProps] — TypeScript type
518
548
  - [FunnelChartProps] — TypeScript type
519
549
  - [FunnelLabelContext] — TypeScript type
@@ -568,6 +598,7 @@ Before using any component below, preserve its built-in motion and apply the mot
568
598
  - [TreeItemProps] — TypeScript type
569
599
  - [TreemapChartProps] — TypeScript type
570
600
  - [TreemapDatum] — TypeScript type
601
+ - [TreeProps] — TypeScript type
571
602
  - [TrendAnswerProps] — TypeScript type
572
603
  - [TrendAnswerSpec] — TypeScript type
573
604
  - [Viewport] — TypeScript type
@@ -616,11 +647,9 @@ Before using any component below, preserve its built-in motion and apply the mot
616
647
 
617
648
  ### Feedback
618
649
 
619
- - [AgentIcon] — component [docs](https://ads.actioneer.dev/#/agent-icon)
620
- - [Alert] — Use for persistent inline status messaging on a page (not toasts) — a neutral surface where only the icon and title carry variant color. (variants: variant: default|success|warning|danger|info) [docs](https://ads.actioneer.dev/#/alert)
650
+ - [Alert] — Use for inline status messaging on a raised white surface. Add duration for a temporary announcement with a countdown bar; otherwise it remains persistent. (variants: variant: default|success|warning|danger|info) [docs](https://ads.actioneer.dev/#/alert)
621
651
  - [AlertDescription] — component (variants: variant: default|success|warning|danger|info) [docs](https://ads.actioneer.dev/#/alert)
622
652
  - [AlertTitle] — component (variants: variant: default|success|warning|danger|info) [docs](https://ads.actioneer.dev/#/alert)
623
- - [BrandLoader] — Use for a branded loading/generating indicator (inline in a text row or as a standalone full-screen moment) instead of a generic spinner. [docs](https://ads.actioneer.dev/#/brand-loader)
624
653
  - [BrandMark] — component [docs](https://ads.actioneer.dev/#/brand-loader)
625
654
  - [BrandTexture] — Place the ambient halftone wash behind a welcome or hero surface inside a relative container; set lifted when real content takes over so the field dissolves upward, and paused a beat later to stop the shader clock. [docs](https://ads.actioneer.dev/#/brand-texture)
626
655
  - [BrandTextureField] — component [docs](https://ads.actioneer.dev/#/brand-texture)
@@ -630,41 +659,31 @@ Before using any component below, preserve its built-in motion and apply the mot
630
659
  - [EmptySearch] — component [docs](https://ads.actioneer.dev/#/empty-state)
631
660
  - [EmptyState] — Use as the centered placeholder inside a list, table, or panel that currently has nothing to show. [docs](https://ads.actioneer.dev/#/empty-state)
632
661
  - [PixelBlastSVG] — component [docs](https://ads.actioneer.dev/#/pixel-blast-svg)
633
- - [PixelIcon] — component [docs](https://ads.actioneer.dev/#/pixel-icon)
634
662
  - [Progress] — Use for a determinate or indeterminate bar showing task completion, driven by a value/max (default 100). [docs](https://ads.actioneer.dev/#/progress)
635
663
  - [ProgressCircle] — Use for a compact circular loading/progress indicator (determinate or indeterminate) where a linear bar doesn't fit, e.g. inline with a caption or a small avatar-sized control. [docs](https://ads.actioneer.dev/#/progress-circle)
636
664
  - [Ripple] — component [docs](https://ads.actioneer.dev/#/ripple)
637
665
  - [Skeleton] — Placeholder the shape of content that's still loading — size it via className and pair with circle for avatars. [docs](https://ads.actioneer.dev/#/skeleton)
638
- - [AgentIconColorPreset] — TypeScript type
639
- - [AgentIconName] — TypeScript type
640
- - [AgentIconProps] — TypeScript type
641
- - [AgentIconState] — TypeScript type
666
+ - [SurfaceLoader] — Use for any whole panel, modal, or page that is temporarily blocked; it owns the ADS surface spinner, visible status, spacing, and busy semantics. [docs](https://ads.actioneer.dev/#/surface-loader)
642
667
  - [AlertProps] — TypeScript type
643
- - [BrandLoaderProps] — TypeScript type
644
668
  - [BrandMarkProps] — TypeScript type
645
669
  - [BrandTextureProps] — TypeScript type
646
670
  - [EmptyStateProps] — TypeScript type
647
671
  - [PixelBlastSVGProps] — TypeScript type
648
- - [PixelIconMask] — TypeScript type
649
- - [PixelIconProps] — TypeScript type
650
672
  - [ProgressCircleProps] — TypeScript type
651
673
  - [ProgressProps] — TypeScript type
652
674
  - [RippleProps] — TypeScript type
653
675
  - [SkeletonProps] — TypeScript type
654
- - [AGENT_ICON_NAMES] — utility
655
- - [AGENT_ICONS] — utility
676
+ - [SurfaceLoaderProps] — TypeScript type
656
677
 
657
678
  ### Navigation
658
679
 
680
+ - [BodyPageHeader] — component [docs](https://ads.actioneer.dev/#/body-page-header)
659
681
  - [BreadcrumbItem] — component [docs](https://ads.actioneer.dev/#/breadcrumbs)
660
682
  - [Breadcrumbs] — Use to show a page's location in a hierarchy as a trail of parent links ending in the current page. Keep item labels text-only; the component supplies right-chevron separators. Each drill-down level gets a full-width 48px bar with a subtle bottom stroke. [docs](https://ads.actioneer.dev/#/breadcrumbs)
661
- - [Navbar] — Use for a sticky top-of-page nav shell with a brand slot, justified link/action groups, and active-state item links. (variants: justify: start|center|end) [docs](https://ads.actioneer.dev/#/navbar)
662
- - [NavbarBrand] — component (variants: justify: start|center|end) [docs](https://ads.actioneer.dev/#/navbar)
663
- - [NavbarContent] — component (variants: justify: start|center|end) [docs](https://ads.actioneer.dev/#/navbar)
664
- - [NavbarItem] — component (variants: justify: start|center|end) [docs](https://ads.actioneer.dev/#/navbar)
665
- - [PageHeader] — Use for every page title row; supply onBack to anchor an icon-only back arrow immediately before the title, never in the trailing actions area. [docs](https://ads.actioneer.dev/#/page-header)
683
+ - [CollectionHeader] — Use for a top-level sidebar destination or collection. Supply the destination icon, keep search and secondary controls before one compact primary action, and place collection content below its built-in separator. [docs](https://ads.actioneer.dev/#/collection-header)
684
+ - [PageHeader] — Use for detail, create, and edit page title rows; supply onBack to anchor an icon-only back arrow immediately before the title. Use CollectionHeader for top-level sidebar destinations and collections. [docs](https://ads.actioneer.dev/#/page-header)
666
685
  - [Pagination] — Use for navigating multi-page numbered content — table footers, search results, or any list too long for one screen. [docs](https://ads.actioneer.dev/#/pagination)
667
- - [Sidebar] — Use as an app's vertical navigation rail. The canonical Actioneer shell pairs one collapsible global product rail with one fixed contextual Sidebar inside the shared workspace Panel; only the global rail owns a collapse control. Compose SidebarBrand, grouped SidebarItems, optional SidebarHistory, and SidebarAccount as the area requires. [docs](https://ads.actioneer.dev/#/sidebar)
686
+ - [Sidebar] — Use as an app's vertical navigation rail. The canonical Actioneer shell uses one collapsible Sidebar for product areas and the active area's grouped internal options. Compose SidebarBrand, grouped SidebarItems, optional SidebarHistory, and SidebarAccount as the area requires. [docs](https://ads.actioneer.dev/#/sidebar)
668
687
  - [SidebarAccount] — component [docs](https://ads.actioneer.dev/#/sidebar)
669
688
  - [SidebarAction] — component [docs](https://ads.actioneer.dev/#/sidebar)
670
689
  - [SidebarBrand] — component [docs](https://ads.actioneer.dev/#/sidebar)
@@ -676,10 +695,10 @@ Before using any component below, preserve its built-in motion and apply the mot
676
695
  - [SidebarNav] — component [docs](https://ads.actioneer.dev/#/sidebar)
677
696
  - [SidebarSection] — component [docs](https://ads.actioneer.dev/#/sidebar)
678
697
  - [SidebarTrigger] — component [docs](https://ads.actioneer.dev/#/sidebar)
698
+ - [BodyPageHeaderProps] — TypeScript type
679
699
  - [BreadcrumbItemProps] — TypeScript type
680
700
  - [BreadcrumbsProps] — TypeScript type
681
- - [NavbarContentProps] — TypeScript type
682
- - [NavbarItemProps] — TypeScript type
701
+ - [CollectionHeaderProps] — TypeScript type
683
702
  - [PageHeaderProps] — TypeScript type
684
703
  - [PaginationProps] — TypeScript type
685
704
  - [SidebarAccountProps] — TypeScript type
@@ -697,6 +716,7 @@ Before using any component below, preserve its built-in motion and apply the mot
697
716
  - [Collapsible] — Reach for it to build a single disclosure row, detail panel, or FAQ item that expands/collapses in place — compose several instances for a list since ADS has no accordion-group wrapper. [docs](https://ads.actioneer.dev/#/collapsible)
698
717
  - [CollapsibleContent] — component [docs](https://ads.actioneer.dev/#/collapsible)
699
718
  - [CollapsibleTrigger] — component [docs](https://ads.actioneer.dev/#/collapsible)
719
+ - [PageBody] — component [docs](https://ads.actioneer.dev/#/page-body)
700
720
  - [Panel] — Use Panel for app-frame regions (editors, previews, side columns, tool windows) that need a fixed header/footer around independently scrolling body content. [docs](https://ads.actioneer.dev/#/panel)
701
721
  - [PanelBody] — component [docs](https://ads.actioneer.dev/#/panel)
702
722
  - [PanelFooter] — component [docs](https://ads.actioneer.dev/#/panel)
@@ -705,6 +725,7 @@ Before using any component below, preserve its built-in motion and apply the mot
705
725
  - [PanelToolbar] — component [docs](https://ads.actioneer.dev/#/panel)
706
726
  - [SelectionActionBar] — Render it above a selectable list or table once selectedCount is greater than zero, to summarize the selection and expose bulk actions plus a clear control. [docs](https://ads.actioneer.dev/#/selection-action-bar)
707
727
  - [SelectionActionBarAction] — component [docs](https://ads.actioneer.dev/#/selection-action-bar)
728
+ - [PageBodyProps] — TypeScript type
708
729
  - [SelectionActionBarProps] — TypeScript type
709
730
 
710
731
  ### AI Elements
@@ -724,20 +745,20 @@ Before using any component below, preserve its built-in motion and apply the mot
724
745
  - [ChainOfThoughtSearchResults] — component [docs](https://ads.actioneer.dev/#/ai/chain-of-thought)
725
746
  - [ChainOfThoughtStep] — component [docs](https://ads.actioneer.dev/#/ai/chain-of-thought)
726
747
  - [ChainOfThoughtTrigger] — component [docs](https://ads.actioneer.dev/#/ai/chain-of-thought)
727
- - [InlineCitation] — component [docs](https://ads.actioneer.dev/#/ai/inline-citation)
728
- - [InlineCitationCard] — component [docs](https://ads.actioneer.dev/#/ai/inline-citation)
729
- - [InlineCitationCardBody] — component [docs](https://ads.actioneer.dev/#/ai/inline-citation)
730
- - [InlineCitationCardTrigger] — component [docs](https://ads.actioneer.dev/#/ai/inline-citation)
731
- - [InlineCitationCarousel] — component [docs](https://ads.actioneer.dev/#/ai/inline-citation)
732
- - [InlineCitationCarouselContent] — component [docs](https://ads.actioneer.dev/#/ai/inline-citation)
733
- - [InlineCitationCarouselHeader] — component [docs](https://ads.actioneer.dev/#/ai/inline-citation)
734
- - [InlineCitationCarouselIndex] — component [docs](https://ads.actioneer.dev/#/ai/inline-citation)
735
- - [InlineCitationCarouselItem] — component [docs](https://ads.actioneer.dev/#/ai/inline-citation)
736
- - [InlineCitationCarouselNext] — component [docs](https://ads.actioneer.dev/#/ai/inline-citation)
737
- - [InlineCitationCarouselPrev] — component [docs](https://ads.actioneer.dev/#/ai/inline-citation)
738
- - [InlineCitationQuote] — component [docs](https://ads.actioneer.dev/#/ai/inline-citation)
739
- - [InlineCitationSource] — component [docs](https://ads.actioneer.dev/#/ai/inline-citation)
740
- - [InlineCitationText] — component [docs](https://ads.actioneer.dev/#/ai/inline-citation)
748
+ - [InlineCitation] — component [docs](https://ads.actioneer.dev/#/inline-citation)
749
+ - [InlineCitationCard] — component [docs](https://ads.actioneer.dev/#/inline-citation)
750
+ - [InlineCitationCardBody] — component [docs](https://ads.actioneer.dev/#/inline-citation)
751
+ - [InlineCitationCardTrigger] — component [docs](https://ads.actioneer.dev/#/inline-citation)
752
+ - [InlineCitationCarousel] — component [docs](https://ads.actioneer.dev/#/inline-citation)
753
+ - [InlineCitationCarouselContent] — component [docs](https://ads.actioneer.dev/#/inline-citation)
754
+ - [InlineCitationCarouselHeader] — component [docs](https://ads.actioneer.dev/#/inline-citation)
755
+ - [InlineCitationCarouselIndex] — component [docs](https://ads.actioneer.dev/#/inline-citation)
756
+ - [InlineCitationCarouselItem] — component [docs](https://ads.actioneer.dev/#/inline-citation)
757
+ - [InlineCitationCarouselNext] — component [docs](https://ads.actioneer.dev/#/inline-citation)
758
+ - [InlineCitationCarouselPrev] — component [docs](https://ads.actioneer.dev/#/inline-citation)
759
+ - [InlineCitationQuote] — component [docs](https://ads.actioneer.dev/#/inline-citation)
760
+ - [InlineCitationSource] — component [docs](https://ads.actioneer.dev/#/inline-citation)
761
+ - [InlineCitationText] — component [docs](https://ads.actioneer.dev/#/inline-citation)
741
762
  - [Message] — component (variants: align: start|end) [docs](https://ads.actioneer.dev/#/ai/message)
742
763
  - [MessageAction] — component (variants: align: start|end; variant: contained|flat|plain|request) [docs](https://ads.actioneer.dev/#/ai/message)
743
764
  - [MessageActions] — component (variants: align: start|end; variant: contained|flat|plain|request) [docs](https://ads.actioneer.dev/#/ai/message)
@@ -754,43 +775,14 @@ Before using any component below, preserve its built-in motion and apply the mot
754
775
  - [MessageMeta] — component (variants: align: start|end; variant: contained|flat|plain|request) [docs](https://ads.actioneer.dev/#/ai/message)
755
776
  - [MessageResponse] — component (variants: align: start|end; variant: contained|flat|plain|request) [docs](https://ads.actioneer.dev/#/ai/message)
756
777
  - [MessageToolbar] — component (variants: align: start|end; variant: contained|flat|plain|request) [docs](https://ads.actioneer.dev/#/ai/message)
757
- - [Queue] — component [docs](https://ads.actioneer.dev/#/ai/queue)
758
- - [QueueItem] — component [docs](https://ads.actioneer.dev/#/ai/queue)
759
- - [QueueItemAction] — component [docs](https://ads.actioneer.dev/#/ai/queue)
760
- - [QueueItemActions] — component [docs](https://ads.actioneer.dev/#/ai/queue)
761
- - [QueueItemAttachment] — component [docs](https://ads.actioneer.dev/#/ai/queue)
762
- - [QueueItemContent] — component [docs](https://ads.actioneer.dev/#/ai/queue)
763
- - [QueueItemDescription] — component [docs](https://ads.actioneer.dev/#/ai/queue)
764
- - [QueueItemFile] — component [docs](https://ads.actioneer.dev/#/ai/queue)
765
- - [QueueItemImage] — component [docs](https://ads.actioneer.dev/#/ai/queue)
766
- - [QueueItemIndicator] — component [docs](https://ads.actioneer.dev/#/ai/queue)
767
- - [QueueList] — component [docs](https://ads.actioneer.dev/#/ai/queue)
768
- - [QueueSection] — component [docs](https://ads.actioneer.dev/#/ai/queue)
769
- - [QueueSectionContent] — component [docs](https://ads.actioneer.dev/#/ai/queue)
770
- - [QueueSectionLabel] — component [docs](https://ads.actioneer.dev/#/ai/queue)
771
- - [QueueSectionTrigger] — component [docs](https://ads.actioneer.dev/#/ai/queue)
772
778
  - [ResearchActivity] — Wrap a multi-step research trace that may run for minutes; pass activity so the run reads as one morphing live line with the full trace a click away, then settle into its source count, duration, and first-insight time. (variants: status: active|complete) [docs](https://ads.actioneer.dev/#/ai/research-activity)
773
- - [Shimmer] — component [docs](https://ads.actioneer.dev/#/ai/shimmer)
774
- - [SpeechInput] — component [docs](https://ads.actioneer.dev/#/ai/speech-input)
775
- - [Task] — component [docs](https://ads.actioneer.dev/#/ai/task)
776
- - [TaskContent] — component [docs](https://ads.actioneer.dev/#/ai/task)
777
- - [TaskItem] — component [docs](https://ads.actioneer.dev/#/ai/task)
778
- - [TaskItemFile] — component [docs](https://ads.actioneer.dev/#/ai/task)
779
- - [TaskProgress] — Keep a multi-step answer’s current task, elapsed time, completed work, and pending work visible in a collapsible dock above the chat composer. (variants: isSticky: true|false) [docs](https://ads.actioneer.dev/#/ai/task-progress)
780
- - [TaskProgressDock] — component (variants: isSticky: true|false) [docs](https://ads.actioneer.dev/#/ai/task-progress)
781
- - [TaskTrigger] — component [docs](https://ads.actioneer.dev/#/ai/task)
779
+ - [Shimmer] — component [docs](https://ads.actioneer.dev/#/shimmer)
782
780
  - [ToolContent] — component [docs](https://ads.actioneer.dev/#/ai/tool)
783
781
  - [ToolHeader] — component [docs](https://ads.actioneer.dev/#/ai/tool)
784
782
  - [ToolInput] — component [docs](https://ads.actioneer.dev/#/ai/tool)
785
783
  - [ToolOutput] — component [docs](https://ads.actioneer.dev/#/ai/tool)
786
784
  - [TraceStateIcon] — component [docs](https://ads.actioneer.dev/#/chain-of-thought-icon)
787
785
  - [Transcript] — component [docs](https://ads.actioneer.dev/#/ai/transcript)
788
- - [Voice] — component [docs](https://ads.actioneer.dev/#/ai/voice)
789
- - [VoiceConnectButton] — component [docs](https://ads.actioneer.dev/#/ai/voice)
790
- - [VoiceControl] — component [docs](https://ads.actioneer.dev/#/ai/voice)
791
- - [VoiceDisconnectButton] — component [docs](https://ads.actioneer.dev/#/ai/voice)
792
- - [VoiceMuteButton] — component [docs](https://ads.actioneer.dev/#/ai/voice)
793
- - [VoiceStatusDot] — component [docs](https://ads.actioneer.dev/#/ai/voice)
794
786
  - [ActiveChainOfThoughtState] — TypeScript type
795
787
  - [AgentTraceCall] — TypeScript type
796
788
  - [AgentTraceProps] — TypeScript type
@@ -848,36 +840,8 @@ Before using any component below, preserve its built-in motion and apply the mot
848
840
  - [MessageResponseProps] — TypeScript type
849
841
  - [MessageRole] — TypeScript type
850
842
  - [MessageToolbarProps] — TypeScript type
851
- - [QueueItemActionProps] — TypeScript type
852
- - [QueueItemActionsProps] — TypeScript type
853
- - [QueueItemAttachmentProps] — TypeScript type
854
- - [QueueItemContentProps] — TypeScript type
855
- - [QueueItemDescriptionProps] — TypeScript type
856
- - [QueueItemFileProps] — TypeScript type
857
- - [QueueItemImageProps] — TypeScript type
858
- - [QueueItemIndicatorProps] — TypeScript type
859
- - [QueueItemProps] — TypeScript type
860
- - [QueueListProps] — TypeScript type
861
- - [QueueMessage] — TypeScript type
862
- - [QueueMessagePart] — TypeScript type
863
- - [QueueProps] — TypeScript type
864
- - [QueueSectionContentProps] — TypeScript type
865
- - [QueueSectionLabelProps] — TypeScript type
866
- - [QueueSectionProps] — TypeScript type
867
- - [QueueSectionTriggerProps] — TypeScript type
868
- - [QueueTodo] — TypeScript type
869
843
  - [ResearchActivityProps] — TypeScript type
870
844
  - [ResearchActivityStatus] — TypeScript type
871
- - [SpeechInputProps] — TypeScript type
872
- - [TaskContentProps] — TypeScript type
873
- - [TaskItemFileProps] — TypeScript type
874
- - [TaskItemProps] — TypeScript type
875
- - [TaskProgressDockProps] — TypeScript type
876
- - [TaskProgressProps] — TypeScript type
877
- - [TaskProgressStatus] — TypeScript type
878
- - [TaskProgressStep] — TypeScript type
879
- - [TaskProps] — TypeScript type
880
- - [TaskTriggerProps] — TypeScript type
881
845
  - [TextShimmerProps] — TypeScript type
882
846
  - [ToolContentProps] — TypeScript type
883
847
  - [ToolHeaderProps] — TypeScript type
@@ -889,24 +853,11 @@ Before using any component below, preserve its built-in motion and apply the mot
889
853
  - [TranscriptProps] — TypeScript type
890
854
  - [TranscriptTone] — TypeScript type
891
855
  - [TranscriptTurn] — TypeScript type
892
- - [VoiceConnectButtonProps] — TypeScript type
893
- - [VoiceControlProps] — TypeScript type
894
- - [VoiceDisconnectButtonProps] — TypeScript type
895
- - [VoiceMuteButtonProps] — TypeScript type
896
- - [VoiceOrbPalette] — TypeScript type
897
- - [VoicePalette] — TypeScript type
898
- - [VoiceProps] — TypeScript type
899
- - [VoiceState] — TypeScript type
900
- - [VoiceStatusDotProps] — TypeScript type
901
- - [VoiceVariant] — TypeScript type
902
856
  - [aiChartVariants] — utility
903
857
  - [CHAIN_OF_THOUGHT_DESCRIPTIONS] — utility
904
858
  - [CHAIN_OF_THOUGHT_STATES] — utility
905
859
  - [resolveTraceState] — utility
906
860
  - [Tool] — utility
907
- - [VOICE_PALETTES] — utility
908
- - [VOICE_STATES] — utility
909
- - [VOICE_VARIANTS] — utility
910
861
 
911
862
  ### Chat
912
863
 
@@ -914,7 +865,6 @@ Before using any component below, preserve its built-in motion and apply the mot
914
865
  - [AssistantMessage] — component [docs](https://ads.actioneer.dev/#/demo/ask)
915
866
  - [AssistantRuntimeProvider] — component [docs](https://ads.actioneer.dev/#/demo/ask)
916
867
  - [AttachmentPrimitive] — component [docs](https://ads.actioneer.dev/#/demo/ask)
917
- - [BranchPicker] — component [docs](https://ads.actioneer.dev/#/demo/ask)
918
868
  - [Composer] — component [docs](https://ads.actioneer.dev/#/demo/ask)
919
869
  - [ComposerAddAttachment] — component [docs](https://ads.actioneer.dev/#/demo/ask)
920
870
  - [ComposerAddDocument] — component [docs](https://ads.actioneer.dev/#/demo/ask)
@@ -942,8 +892,6 @@ Before using any component below, preserve its built-in motion and apply the mot
942
892
  - [FileName] — component [docs](https://ads.actioneer.dev/#/demo/ask)
943
893
  - [FileRoot] — component [docs](https://ads.actioneer.dev/#/demo/ask)
944
894
  - [FileSize] — component [docs](https://ads.actioneer.dev/#/demo/ask)
945
- - [FollowUpQuestion] — Use for the two or three full-width next-question rows that close a structured answer, immediately after its source strip; show the exact prompt that clicking will send. [docs](https://ads.actioneer.dev/#/ai/follow-up-suggestions)
946
- - [FollowUpSuggestion] — Use only for compact runtime suggestion chips above the composer; use FollowUpQuestion for the larger answer-ending question rows. [docs](https://ads.actioneer.dev/#/ai/follow-up-suggestions)
947
895
  - [Image] — component [docs](https://ads.actioneer.dev/#/demo/ask)
948
896
  - [ImageActions] — component [docs](https://ads.actioneer.dev/#/demo/ask)
949
897
  - [ImageContentFilterError] — component [docs](https://ads.actioneer.dev/#/demo/ask)
@@ -971,11 +919,8 @@ Before using any component below, preserve its built-in motion and apply the mot
971
919
  - [Sources] — component [docs](https://ads.actioneer.dev/#/demo/ask)
972
920
  - [SourceTitle] — component [docs](https://ads.actioneer.dev/#/demo/ask)
973
921
  - [Thread] — component [docs](https://ads.actioneer.dev/#/demo/ask)
974
- - [ThreadFollowupSuggestions] — component [docs](https://ads.actioneer.dev/#/demo/ask)
975
922
  - [ThreadMessage] — component [docs](https://ads.actioneer.dev/#/demo/ask)
976
923
  - [ThreadPrimitive] — component [docs](https://ads.actioneer.dev/#/demo/ask)
977
- - [ThreadSuggestionItem] — component [docs](https://ads.actioneer.dev/#/demo/ask)
978
- - [ThreadSuggestions] — component [docs](https://ads.actioneer.dev/#/demo/ask)
979
924
  - [ToolFallback] — component [docs](https://ads.actioneer.dev/#/demo/ask)
980
925
  - [ToolFallbackApproval] — component [docs](https://ads.actioneer.dev/#/demo/ask)
981
926
  - [ToolFallbackArgs] — component [docs](https://ads.actioneer.dev/#/demo/ask)
@@ -997,8 +942,6 @@ Before using any component below, preserve its built-in motion and apply the mot
997
942
  - [CreateDirectiveTextOptions] — TypeScript type
998
943
  - [DeepResearchState] — TypeScript type
999
944
  - [FileRootProps] — TypeScript type
1000
- - [FollowUpQuestionProps] — TypeScript type
1001
- - [FollowUpSuggestionProps] — TypeScript type
1002
945
  - [ImageActionsProps] — TypeScript type
1003
946
  - [ImageRootProps] — TypeScript type
1004
947
  - [LocalRuntimeOptions] — TypeScript type