Skip to content

assistant-ui/assistant-ui-react-ui

Repository files navigation

@assistant-ui/react-ui

Pre-styled React components for @assistant-ui/react.

Overview

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.

Installation

npm install @assistant-ui/react-ui @assistant-ui/react @assistant-ui/react-markdown

Components

  • 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

Basic Usage

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>
  );
}

Styling

CSS Classes

All components use CSS classes prefixed with aui- for easy customization:

.aui-thread-root { /* ... */ }
.aui-message-root { /* ... */ }
.aui-composer-root { /* ... */ }

Importing Styles

// Base styles (required)
import "@assistant-ui/react-ui/styles/index.css";

// Optional theme
import "@assistant-ui/react-ui/styles/themes/default.css";

Configuration

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>
  );
}

Compatibility

  • Compatible with @assistant-ui/react v0.11.x
  • Requires React 18 or 19
  • Full TypeScript support

License

MIT

About

No description, website, or topics provided.

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •