"use client"; import { ActionBarPrimitive, BranchPickerPrimitive, ComposerPrimitive, MessagePrimitive, ThreadPrimitive, } from "@assistant-ui/react"; import { ArrowDownIcon, ArrowUpIcon, CheckIcon, ChevronLeftIcon, ChevronRightIcon, CopyIcon, RefreshCwIcon, SquareIcon, } from "lucide-react"; import type { FC } from "react"; import { MarkdownText } from "./markdown-text"; import { cn } from "@/lib/utils"; // --------------------------------------------------------------------------- // Thread root // --------------------------------------------------------------------------- export const Thread: FC = () => (
); // --------------------------------------------------------------------------- // Scroll to bottom // --------------------------------------------------------------------------- const ThreadScrollToBottom: FC = () => ( ); // --------------------------------------------------------------------------- // Welcome screen (shown when thread is empty) // --------------------------------------------------------------------------- const ThreadWelcome: FC = () => (
A

Atlas

Your product requirements guide. Let's define what you're building.

); // --------------------------------------------------------------------------- // Followup suggestions // --------------------------------------------------------------------------- const FollowupSuggestion: FC<{ suggestion: { prompt: string } }> = ({ suggestion }) => ( ); // --------------------------------------------------------------------------- // Composer (input area) // --------------------------------------------------------------------------- const Composer: FC = () => ( ); // --------------------------------------------------------------------------- // User message // --------------------------------------------------------------------------- const UserMessage: FC = () => (
); const UserText: FC<{ text: string }> = ({ text }) => (
{text}
); const UserActionBar: FC = () => ( ); // --------------------------------------------------------------------------- // Assistant message // --------------------------------------------------------------------------- const AssistantMessage: FC = () => (
A
); const AssistantText: FC = () => ; const AssistantActionBar: FC = () => ( ); // --------------------------------------------------------------------------- // Branch picker (for regenerated responses) // --------------------------------------------------------------------------- const BranchPicker: FC = () => ( / );