Reasoning
Collapsible disclosure for a model's reasoning: pulsing Thinking… while live, Thought for 4s when done.
// Plain markup
import { Reasoning } from "@shavin/ui";Thinking
Comparing the refund clause with the order date…
Component Source
<Reasoning status="thinking">Comparing the refund clause with the order date…</Reasoning>Done
Component Source
<Reasoning status="done" duration="4s">The order was placed 12 days ago, inside the 30 day window.</Reasoning>Props
| Prop | Type | Default | Description |
|---|---|---|---|
| children | React.ReactNode | — | The model's thinking text. |
| status | "thinking" | "done" | with | thinking: live, open by default with a pulsing mark. done: collapsed summary. Default "done". |
| duration | string | — | Elapsed time shown when done, e.g. "4s". |
| label | string | — | Override the trigger label. |
| defaultOpen | boolean | — | Initial open state when uncontrolled. Defaults to open while thinking, closed when done. |
| open | boolean | — | Controlled open state. |
| onOpenChange | (open: boolean) => void | — | — |