ChatInputProps
Defined in: react/components/controls/chat-input.tsx:8
Props for ChatInput — a chat composer for AI-agent UIs.
Extends
Section titled “Extends”Properties
Section titled “Properties”acceptSuggestionKey?
Section titled “acceptSuggestionKey?”
optionalacceptSuggestionKey?:"right"|"tab"|"ctrl-e"
Defined in: react/components/controls/chat-input.tsx:28
Ghost-text accept key (default “right”).
optionalbusy?:boolean
Defined in: react/components/controls/chat-input.tsx:14
True while the agent is generating — shows the in-border stop affordance.
children?
Section titled “children?”
optionalchildren?:ReactNode
Defined in: react/components/types.ts:38
Child elements.
Inherited from
Section titled “Inherited from”chipStyle?
Section titled “chipStyle?”
optionalchipStyle?:"fill"|"bracket"
Defined in: react/components/controls/chat-input.tsx:24
Chip rendering style.
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”commands?
Section titled “commands?”
optionalcommands?:Command[]
Defined in: react/components/controls/chat-input.tsx:37
Keybinding/palette commands.
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/controls/chat-input.tsx:39
Extra host hints always appended to the contextual help 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”getHistory?
Section titled “getHistory?”
optionalgetHistory?: () =>string[]
Defined in: react/components/controls/chat-input.tsx:46
App-provided history, pulled lazily for Up/Down recall.
Returns
Section titled “Returns”string[]
historyEdge?
Section titled “historyEdge?”
optionalhistoryEdge?:"row"|"bump"
Defined in: react/components/controls/chat-input.tsx:33
When Up/Down recall history. “bump” (default): only at the buffer’s true start/end (never mid-edit). “row”: eager — anywhere on the first/last row.
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”maxRows?
Section titled “maxRows?”
optionalmaxRows?:number
Defined in: react/components/controls/chat-input.tsx:20
Maximum visible rows before the content scrolls.
minRows?
Section titled “minRows?”
optionalminRows?:number
Defined in: react/components/controls/chat-input.tsx:18
Minimum visible rows.
onChange?
Section titled “onChange?”
optionalonChange?: (value) =>void
Defined in: react/components/controls/chat-input.tsx:50
Called on every edit with the new value.
Parameters
Section titled “Parameters”string
Returns
Section titled “Returns”void
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”onCommand?
Section titled “onCommand?”
optionalonCommand?: (name,args?) =>void
Defined in: react/components/controls/chat-input.tsx:56
Called when a trigger/command resolves to an action.
Parameters
Section titled “Parameters”string
unknown
Returns
Section titled “Returns”void
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”onHintsChange?
Section titled “onHintsChange?”
optionalonHintsChange?: (hints) =>void
Defined in: react/components/controls/chat-input.tsx:58
Called when the contextual hint set changes (render a help line).
Parameters
Section titled “Parameters”ChatHint[]
Returns
Section titled “Returns”void
onInterrupt?
Section titled “onInterrupt?”
optionalonInterrupt?: () =>void
Defined in: react/components/controls/chat-input.tsx:54
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/controls/chat-input.tsx:52
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/controls/chat-input.tsx:12
Hint shown when empty.
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”serialize?
Section titled “serialize?”
optionalserialize?:ChipSerializer
Defined in: react/components/controls/chat-input.tsx:48
How a chip serializes into the submitted string.
showActionGlyph?
Section titled “showActionGlyph?”
optionalshowActionGlyph?:boolean
Defined in: react/components/controls/chat-input.tsx:26
Show the in-border send/stop glyph (default true; keyboard always works).
softWrap?
Section titled “softWrap?”
optionalsoftWrap?:boolean
Defined in: react/components/controls/chat-input.tsx:22
Wrap long lines (default true).
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”submitMode?
Section titled “submitMode?”
optionalsubmitMode?:"enter"|"modifier-enter"
Defined in: react/components/controls/chat-input.tsx:16
Enter sends (“enter”, default) or Mod+Enter sends (“modifier-enter”).
suggestionProvider?
Section titled “suggestionProvider?”
optionalsuggestionProvider?: (ctx) =>string|Promise<string|null> |null
Defined in: react/components/controls/chat-input.tsx:41
App-provided inline ghost-text autocomplete.
Parameters
Section titled “Parameters”caretOffset
Section titled “caretOffset”number
string
Returns
Section titled “Returns”string | Promise<string | null> | null
theme?
Section titled “theme?”
optionaltheme?:string
Defined in: react/components/types.ts:34
Re-theme this subtree; descendants resolve $tokens against it.
Inherited from
Section titled “Inherited from”triggers?
Section titled “triggers?”
optionaltriggers?:Trigger[]
Defined in: react/components/controls/chat-input.tsx:35
Character-triggered completion sources (slash, mention, …).
value?
Section titled “value?”
optionalvalue?:string
Defined in: react/components/controls/chat-input.tsx:10
Current text (controlled; setting it does not re-emit onChange).