A container for displaying a list of chat messages with auto-scroll and loading states.

npx slipstream-ui@latest add conversation
Playground
U
You
Hello, can you help me with React?
A
Assistant
Of course! I'd be happy to help you with React. What specific aspect would you like to learn about?
U
You
How do I manage state in React applications?
With loading state
U
You
Hello, can you help me with React?
A
Assistant
Of course! I'd be happy to help you with React. What specific aspect would you like to learn about?
U
You
How do I manage state in React applications?
A
Assistant
Thinking...

Props

PropTypeDefaultDescription
messagesMessage[]requiredArray of message objects to display
isLoadingbooleanfalseWhether assistant is generating a response
showAvatarsbooleantrueWhether to show avatars for messages
loadingMessagestring'Thinking...'Text to display while loading
renderContent(content: string) => ReactNodeundefinedCustom renderer applied to every message (e.g. markdown)
streamingMessageIdstringundefinedID of the message still generating; shows its cursor and auto-scrolls

Accessibility

  • Auto-scroll behavior is smooth and doesn't interrupt users
  • Loading state is visually indicated
  • Consider adding aria-live regions for streaming responses
  • Ensure users can navigate through messages with keyboard if needed