Pre-styled React components for @assistant-ui/react.
This package contains styled UI components that were previously part of the main @assistant-ui/react
package (prior to v0.8). It provides ready-to-use, customizable components for building AI chat interfaces.
npm install @assistant-ui/react-ui @assistant-ui/react @assistant-ui/react-markdown
- Thread - Complete chat interface with messages, composer, and scroll management
- ThreadList - List view for managing multiple conversation threads
- AssistantModal - Floating modal chat interface
- AssistantMessage - Styled assistant message component with action bar
- UserMessage - Styled user message component with edit capabilities
- Composer - Message input with attachment support
- EditComposer - Message editing interface
- BranchPicker - Navigate between message branches
- MessagePart - Render message content parts
- ThreadWelcome - Welcome screen with suggestions
- AttachmentUI - Attachment display component
- makeMarkdownText - Factory for markdown rendering
import { Thread } from "@assistant-ui/react-ui";
import { AssistantRuntimeProvider } from "@assistant-ui/react";
import "@assistant-ui/react-ui/styles/index.css";
function MyChat() {
return (
<AssistantRuntimeProvider runtime={runtime}>
<Thread />
</AssistantRuntimeProvider>
);
}
All components use CSS classes prefixed with aui-
for easy customization:
.aui-thread-root { /* ... */ }
.aui-message-root { /* ... */ }
.aui-composer-root { /* ... */ }
// Base styles (required)
import "@assistant-ui/react-ui/styles/index.css";
// Optional theme
import "@assistant-ui/react-ui/styles/themes/default.css";
Components accept configuration through the ThreadConfigProvider
:
import { Thread, ThreadConfigProvider } from "@assistant-ui/react-ui";
function MyChat() {
return (
<ThreadConfigProvider
config={{
assistantMessage: {
allowReload: true,
allowCopy: true,
allowFeedbackPositive: true,
allowFeedbackNegative: true,
},
userMessage: {
allowEdit: true,
},
composer: {
allowAttachments: true,
},
}}
>
<Thread />
</ThreadConfigProvider>
);
}
- Compatible with
@assistant-ui/react
v0.11.x - Requires React 18 or 19
- Full TypeScript support
MIT