ConversationProps
Defined in: react/components/agent/conversation.tsx:11
Props shared by every ztui React component (plus each component’s own props).
Extends
Section titled “Extends”Properties
Section titled “Properties”
optionalbusy?:boolean
Defined in: react/components/agent/conversation.tsx:22
True while the agent is generating — shows the composer’s in-border stop affordance.
children
Section titled “children”children:
ReactNode
Defined in: react/components/agent/conversation.tsx:13
The turns — ChatBubble/ToolRender/Reasoning/… rendered in the transcript.
Overrides
Section titled “Overrides”className?
Section titled “className?”
optionalclassName?:string
Defined in: react/components/types.ts:24
Space-separated class names (currently advisory; no CSS cascade).
Inherited from
Section titled “Inherited from”composer?
Section titled “composer?”
optionalcomposer?:Partial<ChatInputProps>
Defined in: react/components/agent/conversation.tsx:33
The long tail of ChatInputProps — triggers, commands, history,
ghost-text suggestions, chip serialization, submit mode, …. The top-level
placeholder/busy/onSubmit/onInterrupt take precedence over the same
keys here.
disabled?
Section titled “disabled?”
optionaldisabled?:boolean
Defined in: react/components/types.ts:52
Marks the widget (and its descendants) as inert: not focusable, ignores key/mouse input, and interactive controls render in a muted style. A disabled container propagates to every control inside it.
Inherited from
Section titled “Inherited from”extraHints?
Section titled “extraHints?”
optionalextraHints?:ChatHint[]
Defined in: react/components/agent/conversation.tsx:45
Extra hints appended to the auto-rendered hint line.
focusable?
Section titled “focusable?”
optionalfocusable?:boolean
Defined in: react/components/types.ts:40
Allow this widget to take keyboard focus.
Inherited from
Section titled “Inherited from”focusOnClick?
Section titled “focusOnClick?”
optionalfocusOnClick?:boolean
Defined in: react/components/types.ts:46
When a click lands on this container (its padding, border, or a non-focusable
child), move focus to its first focusable descendant — so clicking a
Form/Panel/Box hands focus to its first field. Off by default.
Inherited from
Section titled “Inherited from”followTail?
Section titled “followTail?”
optionalfollowTail?:boolean
Defined in: react/components/agent/conversation.tsx:15
Pin to the newest turn until the user scrolls up (and re-pin on return). Default true.
footer?
Section titled “footer?”
optionalfooter?:ReactNode
Defined in: react/components/agent/conversation.tsx:38
Optional region between the transcript and the composer (e.g. a UsageMeter).
header?
Section titled “header?”
optionalheader?:ReactNode
Defined in: react/components/agent/conversation.tsx:36
Optional region above the transcript (e.g. a title bar).
hintLeading?
Section titled “hintLeading?”
optionalhintLeading?:ReactNode
Defined in: react/components/agent/conversation.tsx:50
Slot pinned to the left of the hint line, on the same row — for a status
glyph, a connection Pill, a mode badge, etc.
hintTrailing?
Section titled “hintTrailing?”
optionalhintTrailing?:ReactNode
Defined in: react/components/agent/conversation.tsx:56
Slot pinned to the right of the hint line, on the same row — for a model
name, a UsageMeter, a token-rate readout, etc. A 1fr spacer separates it
from the hints, so it hugs the right edge.
hoverInterest?
Section titled “hoverInterest?”
optionalhoverInterest?:boolean
Defined in: react/components/types.ts:66
Opt-in hint that this widget cares about passive hover movement.
Inherited from
Section titled “Inherited from”
optionalid?:string
Defined in: react/components/types.ts:22
Stable identifier, handy for tests and lookups.
Inherited from
Section titled “Inherited from”label?
Section titled “label?”
optionallabel?:string
Defined in: react/components/types.ts:36
Structural/accessible label (also the tab title inside TabContainer).
Inherited from
Section titled “Inherited from”onClick?
Section titled “onClick?”
optionalonClick?: (ev) =>void
Defined in: react/components/types.ts:54
Pointer click.
Parameters
Section titled “Parameters”any
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”onDragEnd?
Section titled “onDragEnd?”
optionalonDragEnd?: (x,y,moved) =>void
Defined in: react/components/types.ts:72
Drag released; moved is false for a tap with no movement.
Parameters
Section titled “Parameters”number
number
boolean
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”onDragMove?
Section titled “onDragMove?”
optionalonDragMove?: (x,y) =>void
Defined in: react/components/types.ts:70
Pointer moved while dragging from this widget.
Parameters
Section titled “Parameters”number
number
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”onDragStart?
Section titled “onDragStart?”
optionalonDragStart?: (x,y) =>void
Defined in: react/components/types.ts:68
Pointer-drag lifecycle; moved is false for a tap with no movement.
Parameters
Section titled “Parameters”number
number
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”onInterrupt?
Section titled “onInterrupt?”
optionalonInterrupt?: () =>void
Defined in: react/components/agent/conversation.tsx:26
Called when the user interrupts a busy agent (Esc / stop glyph).
Returns
Section titled “Returns”void
onKey?
Section titled “onKey?”
optionalonKey?: (ev) =>void
Defined in: react/components/types.ts:58
Key event while focused; set ev.handled to consume it.
Parameters
Section titled “Parameters”any
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”onMouseDown?
Section titled “onMouseDown?”
optionalonMouseDown?: (ev) =>void
Defined in: react/components/types.ts:56
Pointer pressed (any button); the event carries button and x/y.
Parameters
Section titled “Parameters”any
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”onMouseEnter?
Section titled “onMouseEnter?”
optionalonMouseEnter?: (ev) =>void
Defined in: react/components/types.ts:62
Pointer entered this widget’s region.
Parameters
Section titled “Parameters”any
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”onMouseLeave?
Section titled “onMouseLeave?”
optionalonMouseLeave?: (ev) =>void
Defined in: react/components/types.ts:64
Pointer left this widget’s region.
Parameters
Section titled “Parameters”any
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”onScroll?
Section titled “onScroll?”
optionalonScroll?: (ev) =>void
Defined in: react/components/types.ts:60
Wheel / scroll event.
Parameters
Section titled “Parameters”any
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”onSubmit?
Section titled “onSubmit?”
optionalonSubmit?: (value,attachments) =>void
Defined in: react/components/agent/conversation.tsx:24
Called when the user sends a turn.
Parameters
Section titled “Parameters”string
attachments
Section titled “attachments”Returns
Section titled “Returns”void
placeholder?
Section titled “placeholder?”
optionalplaceholder?:string
Defined in: react/components/agent/conversation.tsx:20
Hint shown in the empty composer.
readOnly?
Section titled “readOnly?”
optionalreadOnly?:boolean
Defined in: react/components/agent/conversation.tsx:18
Hide the composer for a read-only transcript view.
optionalref?:Ref<Widget>
Defined in: react/components/types.ts:30
Captures the underlying widget instance (React 19 ref-as-prop). Defaults to
the base Widget; narrow it with a cast when you need a subclass field,
e.g. ref={inputRef as React.Ref<InputWidget>}.
Inherited from
Section titled “Inherited from”showHints?
Section titled “showHints?”
optionalshowHints?:boolean
Defined in: react/components/agent/conversation.tsx:43
Auto-render the composer’s contextual hint line beneath it. Default true.
The component tracks the live hints itself — no onHintsChange plumbing.
style?
Section titled “style?”
optionalstyle?:WidgetStyles
Defined in: react/components/types.ts:32
Inline styles for this widget — see the Styling guide.
Inherited from
Section titled “Inherited from”theme?
Section titled “theme?”
optionaltheme?:string
Defined in: react/components/types.ts:34
Re-theme this subtree; descendants resolve $tokens against it.