Prompt
React components for chat interfaces. Each entry includes the code and styles used in its example.
Input
PromptInputAuto-resizing textarea with send button and keyboard shortcut hints. Submits on Enter, newline on Shift+Enter.
FeedbackBarThumbs up/down rating bar for AI responses. Optionally reveals a comment textarea on thumbs-down.
FileUploadDrag-and-drop file upload zone with click-to-browse and uploaded file list.
PromptSuggestionClickable suggestion chip for pre-filling prompt ideas. Supports an optional icon prefix.
Display
MessageThreadRenders a list of user/assistant messages as styled chat bubbles with proper alignment.
StreamTextCharacter-by-character streaming text simulation with blinking cursor. Optionally loops.
ModelBadgeCompact chip showing model name, version, provider, and optional live status dot.
ChainOfThoughtCollapsible reasoning chain showing numbered steps with done/active/pending status indicators.
CodeBlockStyled code display with language badge, optional filename, and one-click copy button.
MarkdownZero-dependency markdown renderer. Parses headings, bold, italic, inline code, fenced blocks, lists, and links.
MessageStructured message row with avatar initial, sender name, timestamp, and slot for content.
ReasoningCollapsible reasoning block with animated expand/collapse. Shows streaming dots while thinking.
ResponseStreamMulti-paragraph streaming text display with blinking cursor for in-progress AI responses.
SourceCitation chip with index number, title, and domain. Hover to reveal excerpt.
StepsVertical numbered step list for multi-step AI processes with complete/current/upcoming states.
SystemMessageCentered muted divider message for chat events like model changes or context clears.
ToolCollapsible tool call display showing name, JSON input, output, and running/done/error status.
Feedback
ThinkingDotsAnimated three-dot loading indicator for AI thinking state. Pure CSS, no dependencies.
LoaderFour loading variants: animated dots, spinning ring, pulsing circle, and progress bar fill.
TokenCounterLive token count with spring-animated number and a color-coded fill bar that shifts green→yellow→red as tokens approach the limit.
Layout
ChatContainerScrollable fixed-height container that auto-scrolls to bottom when children change.
Navigation
ScrollButtonAnimated jump-to-bottom button for chat interfaces. Fades in/out with framer-motion.
ModelSelectorDropdown for selecting an AI model. Shows the active model and provider badge; opens an animated popover listing models with colored dots and capability descriptions.
AbilitySelectorToggleable grid of AI capability chips (Web Search, Code Exec, etc.). Selected chips highlight with an animated checkmark.