@actioneer/ads 0.5.9 → 0.6.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.
package/fonts.css CHANGED
@@ -1,4 +1,6 @@
1
1
  /* @actioneer/ads — generated by scripts/build-lib-styles.mjs. Do not edit. */
2
+ @import "@fontsource-variable/jetbrains-mono/wght.css";
3
+
2
4
  /* Aribau Grotesk — ADS UI typeface.
3
5
  TWO physical faces, both served compressed (woff2):
4
6
  • Regular → `font-normal` (weight 100–499)
package/llms.txt CHANGED
@@ -28,6 +28,9 @@ Reference semantic roles, never raw color/dimension literals (ads-lint rejects l
28
28
  - `muted-foreground`
29
29
  - `card`
30
30
  - `card-foreground`
31
+ - `action-primary` — Primary CTA role — restrained Studio green, used sparingly.
32
+ - `action-primary-foreground` — Primary CTA role — restrained Studio green, used sparingly.
33
+ - `action-primary-hover` — Primary CTA role — restrained Studio green, used sparingly.
31
34
  - `brand` — Compatibility action role — neutral ink, never a colored primary hue.
32
35
  - `brand-foreground` — Compatibility action role — neutral ink, never a colored primary hue.
33
36
  - `brand-hover` — Compatibility action role — neutral ink, never a colored primary hue.
@@ -168,6 +171,20 @@ When tabs and a search field control the same content, they share one responsive
168
171
  - Don't: Put a scoped search field on a separate row above its tabs when both controls fit side by side.
169
172
  - Don't: Place search before tabs in the reading or keyboard order.
170
173
 
174
+ ## UI grammar
175
+
176
+ 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
+
178
+ - `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)
180
+ - `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
+ - `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
+ - `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)
183
+ - `settings-card` — Settings card: A compact settings surface with grouped SettingRows and one save action. (intents: settings, preferences, configuration, toggles; Storybook: ADS/Recipes/Settings panel)
184
+ - `research-trace` — Inspectable research trace: ResearchActivity owns the run summary and contains the canonical ChainOfThought tree. (intents: agent trace, research, tool activity, sources, long-running task; Storybook: ADS/Components/AI Elements/Research Activity)
185
+ - `typed-answer` — Typed research answer: A request/answer turn where structured output flows through AnswerRenderer. (intents: answer, research result, citations, follow-up, assistant response; Storybook: ADS/Components/AI Elements/Message)
186
+ - `workflow-canvas` — Workflow canvas: InfiniteCanvas owns pan, zoom, grid, edges, controls, and responsive canvas chrome. (intents: workflow, node graph, canvas, diagram, flow builder; Storybook: ADS/Components/Data display/InfiniteCanvas)
187
+
171
188
  ## Components
172
189
 
173
190
  Before using any component below, preserve its built-in motion and apply the motion contract in Setup step 5.
@@ -265,12 +282,13 @@ Before using any component below, preserve its built-in motion and apply the mot
265
282
  - [Autocomplete] — Use for a single-select text field that filters a known list of options as the user types, with keyboard navigation and a selected-match checkmark. [docs](https://ads.actioneer.dev/#/autocomplete)
266
283
  - [Checkbox] — Use for a standalone boolean toggle or a multi-select list item — including a tri-state "select all" via `indeterminate`. [docs](https://ads.actioneer.dev/#/checkbox)
267
284
  - [CheckboxGroup] — component [docs](https://ads.actioneer.dev/#/checkbox)
285
+ - [DateRangePicker] — component [docs](https://ads.actioneer.dev/#/date-range-picker)
268
286
  - [Input] — Use for any single-line text value, wrapped in `Field` for label/description/error and `startContent`/`endContent` for icons or inline actions. [docs](https://ads.actioneer.dev/#/input)
269
287
  - [InputField] — component [docs](https://ads.actioneer.dev/#/input-field)
270
288
  - [NumberField] — Use for a bounded numeric quantity (e.g. seats, width, count) that benefits from stepper buttons and min/max clamping, not free-form numeric text entry. [docs](https://ads.actioneer.dev/#/number-field)
271
289
  - [Radio] — Use for choosing exactly one option from a small, fully visible set — wrap Radio options in a RadioGroup that owns the shared name and controlled value. [docs](https://ads.actioneer.dev/#/radio)
272
290
  - [RadioGroup] — component [docs](https://ads.actioneer.dev/#/radio)
273
- - [SegmentedControl] — Use for a small set (2-4) of mutually exclusive, always-visible options — like a range or view-mode switcher — not for navigation or long lists. Radius follows control size: 4px at sm and 8px at md/lg; tracks and options are never fully rounded. (variants: size: sm|md|lg; selected: true|false) [docs](https://ads.actioneer.dev/#/segmented)
291
+ - [SegmentedControl] — Use for a small set (2-4) of mutually exclusive, always-visible options — like a range or view-mode switcher — not for navigation or long lists. Radius follows control size: 4px at sm and 6px at md/lg; tracks and options are never fully rounded. (variants: size: sm|md|lg; selected: true|false) [docs](https://ads.actioneer.dev/#/segmented)
274
292
  - [Select] — Use for a single choice from a closed list of options in a form, especially when pairing with Field for a labeled control. (variants: size: sm|md|lg) [docs](https://ads.actioneer.dev/#/select)
275
293
  - [Slider] — Use for a single controlled numeric value picked from a bounded range (volume, brightness, threshold) — pair with Field or Label/Text for an accessible, labeled control. [docs](https://ads.actioneer.dev/#/slider)
276
294
  - [Switch] — Use for a single binary on/off preference that applies immediately, not as part of a form submitted later. [docs](https://ads.actioneer.dev/#/switch)
@@ -279,6 +297,8 @@ Before using any component below, preserve its built-in motion and apply the mot
279
297
  - [AutocompleteProps] — TypeScript type
280
298
  - [CheckboxGroupProps] — TypeScript type
281
299
  - [CheckboxProps] — TypeScript type
300
+ - [DateRangePickerProps] — TypeScript type
301
+ - [DateRangeValue] — TypeScript type
282
302
  - [InputFieldProps] — TypeScript type
283
303
  - [InputProps] — TypeScript type
284
304
  - [NumberFieldProps] — TypeScript type
@@ -346,7 +366,7 @@ Before using any component below, preserve its built-in motion and apply the mot
346
366
  - [AnswerRenderer] — component (variants: tone: default|primary|success|warning|danger|info) [docs](https://ads.actioneer.dev/#/ai/answer)
347
367
  - [AnswerSkeleton] — component (variants: tone: default|primary|success|warning|danger|info) [docs](https://ads.actioneer.dev/#/ai/answer)
348
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)
349
- - [AnswerSourceInspector] — Render as a separate white shell-level panel beside the answer when a source chip is selected; close and unmount it when the selection clears. [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)
350
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)
351
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)
352
372
  - [AreaChart] — component [docs](https://ads.actioneer.dev/#/ai/chart)