# pandacoderz/ui > Composable React components for AI-native interfaces. Restyled from Nexus UI, distributed as a shadcn registry, documented with Astro. ## Project - Website: https://ui.spencerwueste.com - Repository: https://github.com/pandacoderz/ui - Docs Home: https://ui.spencerwueste.com/docs/ - Components Index: https://ui.spencerwueste.com/docs/components/ - Blocks Index: https://ui.spencerwueste.com/docs/blocks/ - Install Command: npx shadcn@latest add https://ui.spencerwueste.com/r/prompt-input.json ## Get Started - [Introduction](https://ui.spencerwueste.com/llm/index.md) ([docs](https://ui.spencerwueste.com/docs/)): Composable React components for AI-native interfaces, distributed as a shadcn registry and documented with Astro. - [Installation](https://ui.spencerwueste.com/llm/installation.md) ([docs](https://ui.spencerwueste.com/docs/installation/)): Set up a React 19, Tailwind CSS v4, and shadcn/ui project, then add components from the registry. - [Usage](https://ui.spencerwueste.com/llm/usage.md) ([docs](https://ui.spencerwueste.com/docs/usage/)): Compose components with slots and context instead of props-for-everything. ## Components - [Prompt Input](https://ui.spencerwueste.com/llm/components/prompt-input.md) ([docs](https://ui.spencerwueste.com/docs/components/prompt-input/)): Composable chat input with an auto-resizing textarea and action slots. - [Message](https://ui.spencerwueste.com/llm/components/message.md) ([docs](https://ui.spencerwueste.com/docs/components/message/)): Chat message with streaming markdown, avatar, and an action bar. - [Thread](https://ui.spencerwueste.com/llm/components/thread.md) ([docs](https://ui.spencerwueste.com/docs/components/thread/)): Scroll container that stays pinned to the newest message while content streams in. - [Suggestions](https://ui.spencerwueste.com/llm/components/suggestions.md) ([docs](https://ui.spencerwueste.com/docs/components/suggestions/)): Prompt suggestion chips and a dismissible suggestions panel. - [Model Selector](https://ui.spencerwueste.com/llm/components/model-selector.md) ([docs](https://ui.spencerwueste.com/docs/components/model-selector/)): Dropdown for choosing an AI model with search, groups, sub-menus, and locked items. - [Reasoning](https://ui.spencerwueste.com/llm/components/reasoning.md) ([docs](https://ui.spencerwueste.com/docs/components/reasoning/)): Collapsible thinking block that opens while streaming and reports elapsed time when done. - [Tool](https://ui.spencerwueste.com/llm/components/tool.md) ([docs](https://ui.spencerwueste.com/docs/components/tool/)): Tool call card with a status badge and collapsible input and output payloads. - [Text Shimmer](https://ui.spencerwueste.com/llm/components/text-shimmer.md) ([docs](https://ui.spencerwueste.com/docs/components/text-shimmer/)): Animated shimmer for loading and thinking states, with no dependencies. - [Feedback Bar](https://ui.spencerwueste.com/llm/components/feedback-bar.md) ([docs](https://ui.spencerwueste.com/docs/components/feedback-bar/)): Inline prompt asking whether a response was helpful, with action and close slots. - [Steps](https://ui.spencerwueste.com/llm/components/steps.md) ([docs](https://ui.spencerwueste.com/docs/components/steps/)): Vertical timeline for agent plans and multi-step runs, with status indicators and collapsible details. - [Diff View](https://ui.spencerwueste.com/llm/components/diff-view.md) ([docs](https://ui.spencerwueste.com/docs/components/diff-view/)): Unified diff with line numbers, per-hunk actions, and accepted or rejected states for agent-proposed patches. - [Citation](https://ui.spencerwueste.com/llm/components/citation.md) ([docs](https://ui.spencerwueste.com/docs/components/citation/)): Inline numbered citation chips with hover previews, plus source cards for answer-with-sources layouts. - [Waveform](https://ui.spencerwueste.com/llm/components/waveform.md) ([docs](https://ui.spencerwueste.com/docs/components/waveform/)): Audio-style bar visualizer for voice input and text-to-speech playback, animated in CSS. - [Usage Meter](https://ui.spencerwueste.com/llm/components/usage-meter.md) ([docs](https://ui.spencerwueste.com/docs/components/usage-meter/)): Labelled progress meter for context windows, rate limits, and budgets, with warning and danger thresholds. - [Command Menu](https://ui.spencerwueste.com/llm/components/command-menu.md) ([docs](https://ui.spencerwueste.com/docs/components/command-menu/)): Cmd-K menu with search, groups, keyboard navigation, and an always-visible "Ask AI" escape hatch. - [Mini Chart](https://ui.spencerwueste.com/llm/components/mini-chart.md) ([docs](https://ui.spencerwueste.com/docs/components/mini-chart/)): Dependency-free sparkline, bar chart, and stat tile for usage dashboards and inline metrics. - [File Drop](https://ui.spencerwueste.com/llm/components/file-drop.md) ([docs](https://ui.spencerwueste.com/docs/components/file-drop/)): Drag-and-drop upload zone with an attachment list that shows progress, size, and errors. ## Blocks - [AI Chat](https://ui.spencerwueste.com/llm/blocks/ai-chat.md) ([docs](https://ui.spencerwueste.com/docs/blocks/ai-chat/)): A complete chat surface that composes the nine core chat components, with a mock streaming transport you can swap for your API. - [Chat Shell](https://ui.spencerwueste.com/llm/blocks/chat-shell.md) ([docs](https://ui.spencerwueste.com/docs/blocks/chat-shell/)): Conversation sidebar with search, pin, rename, and delete wrapped around the AI Chat block. - [Answer with Sources](https://ui.spencerwueste.com/llm/blocks/answer-with-sources.md) ([docs](https://ui.spencerwueste.com/docs/blocks/answer-with-sources/)): Search-style answer with inline citations, a source grid, and follow-up questions. - [Voice Chat](https://ui.spencerwueste.com/llm/blocks/voice-chat.md) ([docs](https://ui.spencerwueste.com/docs/blocks/voice-chat/)): Push-to-talk assistant with live waveform, streaming transcript, and barge-in. - [AI Hero](https://ui.spencerwueste.com/llm/blocks/ai-hero.md) ([docs](https://ui.spencerwueste.com/docs/blocks/ai-hero/)): Landing hero with a rotating-placeholder prompt input, suggestion chips, and a streamed sample reply. - [Agent Run](https://ui.spencerwueste.com/llm/blocks/agent-run.md) ([docs](https://ui.spencerwueste.com/docs/blocks/agent-run/)): Live agent plan with nested tool calls, a streaming log, and a human approval gate. - [Agent Inbox](https://ui.spencerwueste.com/llm/blocks/agent-inbox.md) ([docs](https://ui.spencerwueste.com/docs/blocks/agent-inbox/)): Parallel agent runs as cards with status, progress, and an expandable detail panel. - [Code Review Agent](https://ui.spencerwueste.com/llm/blocks/code-review.md) ([docs](https://ui.spencerwueste.com/docs/blocks/code-review/)): Agent-proposed patch across files with per-hunk accept and reject. - [Artifact Canvas](https://ui.spencerwueste.com/llm/blocks/artifact-canvas.md) ([docs](https://ui.spencerwueste.com/docs/blocks/artifact-canvas/)): Chat beside a live preview and code tabs with a version switcher. - [Prompt Playground](https://ui.spencerwueste.com/llm/blocks/prompt-playground.md) ([docs](https://ui.spencerwueste.com/docs/blocks/prompt-playground/)): System prompt, parameter sliders, and side-by-side model comparison with latency and cost. - [Trace Viewer](https://ui.spencerwueste.com/llm/blocks/trace-viewer.md) ([docs](https://ui.spencerwueste.com/docs/blocks/trace-viewer/)): Span waterfall for one request with tokens, latency, and input and output payloads. - [Usage Dashboard](https://ui.spencerwueste.com/llm/blocks/usage-dashboard.md) ([docs](https://ui.spencerwueste.com/docs/blocks/usage-dashboard/)): Stat tiles, spend charts, rate-limit meters, and a recent-requests table. - [Command Palette](https://ui.spencerwueste.com/llm/blocks/command-palette.md) ([docs](https://ui.spencerwueste.com/docs/blocks/command-palette/)): Cmd-K over app data that turns into a streamed AI answer with actionable results. - [Editor Copilot](https://ui.spencerwueste.com/llm/blocks/editor-copilot.md) ([docs](https://ui.spencerwueste.com/docs/blocks/editor-copilot/)): Selection toolbar with rewrite actions, inline diff acceptance, and ghost-text completion. - [Document Q&A](https://ui.spencerwueste.com/llm/blocks/document-qa.md) ([docs](https://ui.spencerwueste.com/docs/blocks/document-qa/)): File drop, page thumbnails, and a chat whose citations jump to the cited page. - [Support Inbox](https://ui.spencerwueste.com/llm/blocks/support-inbox.md) ([docs](https://ui.spencerwueste.com/docs/blocks/support-inbox/)): Ticket list with an AI-drafted reply you can retone, edit, and send. ## Machine-Readable Sources - [Registry index](https://ui.spencerwueste.com/r/registry.json): every installable item with dependencies. - Component install manifests are available under `/r/.json`. - Raw markdown pages are available at `/llm/*.md` using the same path as `/docs/*`. - Example: https://ui.spencerwueste.com/docs/components/prompt-input/ -> https://ui.spencerwueste.com/llm/components/prompt-input.md