Overview
The component library includes:- AI Components - Chat interfaces, message displays, thread management
- Data Visualization - Charts, graphs, and interactive data displays
- Interactive Elements - Forms, inputs, and user interaction patterns
- Layout Components - Containers, grids, and responsive layouts
- Utility Components - Loading states, skeletons, and error boundaries
Using the Component Library
Installation via CLI
Add components to your project using the Tambo CLI:Component Structure
Each component includes:- Component files - React component implementation
- Dependencies - Required packages and utilities
- Styles - Tailwind CSS classes
- Configuration - Component metadata and options
Available Components
Chat & Messaging
Message
Display AI and user messages with support for streaming, tool calls, and rich content.- Markdown rendering with syntax highlighting
- Streaming text support
- Tool call display
- Component rendering
- Copy to clipboard
- Reasoning display (for models like o1)
Message Input
Advanced text input with file attachments, context helpers, and voice input.- Rich text editing with TipTap
- File and image attachments
- Voice input with dictation
- Context helpers
- MCP resource suggestions
- Keyboard shortcuts
Thread History
Navigate and manage conversation threads.- Thread list with search
- New thread creation
- Thread renaming
- Thread deletion
- Responsive sidebar
Data Visualization
Graph
Display data as interactive charts using Recharts.- Line charts
- Bar charts
- Pie charts
- Area charts
- Composed charts
Interactive Map
Display locations and routes using React Leaflet.- Location markers
- Custom icons
- Zoom controls
- Tile layer customization
Forms & Input
Elicitation UI
Handle MCP elicitation requests with validation.- Dynamic form generation
- Input validation
- Submit/cancel actions
- Error handling
Layout & Structure
Message Thread Panel
Container for displaying message threads.- Responsive layout
- Auto-scroll to bottom
- Loading states
- Empty state handling
Component Dependencies
The CLI automatically handles dependencies:Customization
All components use Tailwind CSS and can be customized:Using CSS Variables
Modifying Components
Components are copied to your project, so you can modify them directly:Updating Components
Update components to the latest versions:Showcase Application
See all components in action at the Tambo Showcase or run locally:http://localhost:8262 to explore all components.
Component Registry
The component registry is open source and lives in the Tambo monorepo:- Source:
packages/ui-registry/src/components/ - Configuration: Each component has a
config.json - Distribution: Components are copied to CLI at build time
Contributing Components
Want to contribute a component? See the Contributing Guide for details.Best Practices
Component Selection
- Start with
message,message-input, andmessage-thread-panel - Add visualization components as needed
- Use
thread-historyfor multi-conversation interfaces
Styling
- Use Tailwind classes for consistency
- Define custom colors in CSS variables
- Keep components responsive
Performance
- Lazy load heavy components
- Memoize expensive computations
- Use React.memo for static components