import {
ArrowDownIcon,
ArrowUpIcon,
CheckIcon,
ChevronLeftIcon,
ChevronRightIcon,
CopyIcon,
PencilIcon,
RefreshCwIcon,
Square,
} from "lucide-react";
import {
ActionBarPrimitive,
BranchPickerPrimitive,
ComposerPrimitive,
ErrorPrimitive,
MessagePrimitive,
ThreadPrimitive,
} from "@assistant-ui/react";
import type { FC } from "react";
import { LazyMotion, MotionConfig, domAnimation } from "motion/react";
import * as m from "motion/react-m";
import { Button } from "@/components/ui/button";
import { MarkdownText } from "@/components/assistant-ui/markdown-text";
import { Reasoning, ReasoningGroup } from "@/components/assistant-ui/reasoning";
import { ToolFallback } from "@/components/assistant-ui/tool-fallback";
import { TooltipIconButton } from "@/components/assistant-ui/tooltip-icon-button";
import {
ComposerAddAttachment,
ComposerAttachments,
UserMessageAttachments,
} from "@/components/assistant-ui/attachment";
import { cn } from "@/lib/utils";
export const Thread: FC = () => {
return (
);
};
const ThreadScrollToBottom: FC = () => {
return (
);
};
const ThreadWelcome: FC = () => {
return (
Hello there!
How can I help you today?
);
};
const ThreadSuggestions: FC = () => {
return (
{[
{
title: "What's the weather",
label: "in San Francisco?",
action: "What's the weather in San Francisco?",
},
{
title: "Explain React hooks",
label: "like useState and useEffect",
action: "Explain React hooks like useState and useEffect",
},
{
title: "Write a SQL query",
label: "to find top customers",
action: "Write a SQL query to find top customers",
},
{
title: "Create a meal plan",
label: "for healthy weight loss",
action: "Create a meal plan for healthy weight loss",
},
].map((suggestedAction, index) => (
{suggestedAction.title}
{suggestedAction.label}
))}
);
};
const Composer: FC = () => {
return (
);
};
const ComposerAction: FC = () => {
return (
);
};
const MessageError: FC = () => {
return (
);
};
const AssistantMessage: FC = () => {
return (
);
};
const AssistantActionBar: FC = () => {
return (
);
};
const UserMessage: FC = () => {
return (
);
};
const UserActionBar: FC = () => {
return (
);
};
const EditComposer: FC = () => {
return (
);
};
const BranchPicker: FC = ({
className,
...rest
}) => {
return (
/
);
};