Skip to main content
Our docs redesign is live!

ChatComposer (concierge)

Auto-growing chat input with a send button that morphs into a stop button while streaming.

components/molecules/concierge/ChatComposer.tsx

Props

PropTypeRequiredDescription
promptstringyesCurrent input value
setPrompt(value: string) => voidyesUpdates the input
isStreamingbooleanyesSwaps send → stop button
canSendbooleanyesEnables the send button
send() => Promise<void>yesSends the prompt
stop() => voidyesCancels the stream
autoFocusbooleannoFocus the textarea on mount/open
classNamestringnoExtra classes for the wrapper

Behavior

  • Enter sends; Shift+Enter inserts a newline.
  • Textarea grows with content up to ~160px, then scrolls.
  • Wrapper border highlights teal on focus.