Atlas is an extended component library designed for building AI-powered chat interfaces. It provides a comprehensive set of components for creating conversational UI experiences, including chat windows, message displays, input composers, and recommendation cards.Documentation Index
Fetch the complete documentation index at: https://anvil.servicetitan.com/llms.txt
Use this file to discover all available pages before exploring further.
Installation
Atlas components are available from the@servicetitan/anvil2-ext-atlas package:
Import
Key Features
Chat Window System
The core chat experience is built around composable components that work together:- ChatWindow - The main container with open/close animations and positioning
- Header - Configurable header with drag, fullscreen, and navigation controls
- Footer - Message input area with the rich text composer
- Content - Scrollable message container with auto-scroll behavior
Message Components
Display different types of messages in the conversation:- UserMessage - Messages sent by the user
- AssistantMessage - Simple text responses from Atlas
- MarkdownMessage - Rich markdown-formatted responses with toolbox actions
- SystemMessage - Interactive system prompts with radio options
- ErrorMessage - Error states with retry functionality
Recommendation Cards
Present actionable recommendations to users:- SingleRecommendationCard - Single-select options with radio buttons
- MultipleRecommendationCard - Multi-select options with checkboxes
- ConfirmationCard - Simple confirmation prompts with action buttons
Utility Components
Supporting components for common patterns:- Suggestion / SuggestionList - Clickable suggestion chips
- Toolbox - Copy, like, dislike, and retry actions for messages
- Loader - Animated loading indicator for pending responses
- Spinner - Full-screen loading spinner
- Welcome - Onboarding welcome screen
- SystemError - Error state display
Hooks
React hooks for managing chat window behavior:- useDraggable - Make the chat window draggable with boundary constraints
- useInfiniteScroll - Load more content when scrolling
- useScrollCallback - Respond to scroll position changes
Component Architecture
The Atlas components are designed to be composed together to create a complete chat experience:Dependencies
Atlas components are built on top of the core Anvil2 component library and include:- Anvil2 - Core UI components (Button, Card, Flex, Text, etc.)
- Framer Motion - Animations and transitions
- React Markdown - Markdown rendering for message content
- MobX React - Observable state management (optional)