@chat-lab/ui 0.1.0-beta.18 → 0.1.0-beta.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -113,7 +113,7 @@ const NewThread = () => {
|
|
|
113
113
|
});
|
|
114
114
|
ref.current?.setCurrentThread(id);
|
|
115
115
|
};
|
|
116
|
-
return (jsxRuntime.jsx(tooltipIconButton.TooltipIconButton, { tooltip: "\u65B0\u4F1A\u8BDD", onClick: handleCreateNewThread, className: "flex h-[
|
|
116
|
+
return (jsxRuntime.jsx(tooltipIconButton.TooltipIconButton, { tooltip: "\u65B0\u4F1A\u8BDD", onClick: handleCreateNewThread, className: "flex h-[30px] w-[30px] items-center justify-center rounded-full bg-background border border-[#EAEDF1] dark:border-muted text-foreground transition-colors hover:bg-accent disabled:opacity-50 disabled:pointer-events-none", children: jsxRuntime.jsx(NewSession, {}) }));
|
|
117
117
|
};
|
|
118
118
|
const ClearThread = () => {
|
|
119
119
|
const ref = ChatkitContext.useChatkitRef();
|
|
@@ -121,19 +121,19 @@ const ClearThread = () => {
|
|
|
121
121
|
ref.current?.clearCurrentThread();
|
|
122
122
|
};
|
|
123
123
|
const { currentThread } = useThread();
|
|
124
|
-
return (jsxRuntime.jsx(tooltipIconButton.TooltipIconButton, { tooltip: "\u6E05\u7A7A\u4F1A\u8BDD", disabled: currentThread?.messages.length === 0, onClick: handleCreateNewThread, className: utils.cn("flex h-[
|
|
124
|
+
return (jsxRuntime.jsx(tooltipIconButton.TooltipIconButton, { tooltip: "\u6E05\u7A7A\u4F1A\u8BDD", disabled: currentThread?.messages.length === 0, onClick: handleCreateNewThread, className: utils.cn("flex h-[38px] w-[38px] items-center justify-center rounded-full bg-background border border-[#EAEDF1] dark:border-muted text-foreground transition-colors hover:bg-accent disabled:pointer-events-none", currentThread?.messages.length === 0 && "opacity-50 pointer-events-none"), children: jsxRuntime.jsx(ClearIcon, { className: "h-[18px] w-[18px]" }) }));
|
|
125
125
|
};
|
|
126
126
|
const ThreadWelcome = () => {
|
|
127
127
|
return (jsxRuntime.jsx("div", { className: "aui-thread-welcome-root mx-auto flex w-full max-w-[var(--thread-max-width)] flex-col", children: jsxRuntime.jsx("div", { className: "aui-thread-welcome-center flex w-full flex-col items-center justify-center", children: jsxRuntime.jsx("div", { className: "aui-thread-welcome-message flex size-full flex-col justify-center px-8 text-[24px] text-center font-medium leading-[100%] text-[#0C0D0E]", children: "\u4F60\u597D" }) }) }));
|
|
128
128
|
};
|
|
129
129
|
const Composer = () => {
|
|
130
130
|
const { showThreadList, placeholder } = ChatkitContext.useChatkitContext();
|
|
131
|
-
return (jsxRuntime.jsxs("div", { className: "aui-composer-wrapper sticky bottom-0 mx-auto flex w-full max-w-[var(--thread-max-width)] flex-col gap-4 overflow-visible bg-background pb-4 md:pb-6", children: [jsxRuntime.jsx(ThreadScrollToBottom, {}), jsxRuntime.jsxs("div", { className: "flex items-center gap-[10px]", children: [jsxRuntime.jsx("div", { className: "flex items-center justify-center rounded-[1px]", children: showThreadList ? jsxRuntime.jsx(NewThread, {}) : jsxRuntime.jsx(ClearThread, {}) }), jsxRuntime.jsxs(ComposerRoot.ComposerPrimitiveRoot, { className: "aui-composer-root group/input-group relative flex flex-1 flex-col rounded-[68px] border border-[#EAEDF1] bg-background px-4 py-
|
|
131
|
+
return (jsxRuntime.jsxs("div", { className: "aui-composer-wrapper sticky bottom-0 mx-auto flex w-full max-w-[var(--thread-max-width)] flex-col gap-4 overflow-visible bg-background pb-4 md:pb-6", children: [jsxRuntime.jsx(ThreadScrollToBottom, {}), jsxRuntime.jsxs("div", { className: "flex items-center gap-[10px]", children: [jsxRuntime.jsx("div", { className: "flex items-center justify-center rounded-[1px]", children: showThreadList ? jsxRuntime.jsx(NewThread, {}) : jsxRuntime.jsx(ClearThread, {}) }), jsxRuntime.jsxs(ComposerRoot.ComposerPrimitiveRoot, { className: "aui-composer-root group/input-group relative flex flex-1 flex-col rounded-[68px] border border-[#EAEDF1] bg-background px-4 py-[10px] shadow-sm transition-all outline-none focus-within:border-primary/50 focus-within:ring-1 focus-within:ring-primary/50 dark:bg-background dark:border-muted", children: [jsxRuntime.jsx(attachment.ComposerAttachments, {}), jsxRuntime.jsxs("div", { className: "flex items-center w-full gap-2", children: [jsxRuntime.jsx(ComposerInput.ComposerPrimitiveInput, { placeholder: placeholder, className: "aui-composer-input max-h-32 min-h-[24px] flex-1 resize-none bg-transparent py-0 text-base outline-none placeholder:text-muted-foreground", rows: 1, autoFocus: true, "aria-label": "Message input" }), jsxRuntime.jsx(ComposerAction, {})] })] })] })] }));
|
|
132
132
|
};
|
|
133
133
|
const ComposerAction = () => {
|
|
134
134
|
const { currentThread } = useThread();
|
|
135
135
|
const plugins = ChatkitContext.useChatkitPlugins();
|
|
136
|
-
return (jsxRuntime.jsxs("div", { className: "aui-composer-action-wrapper flex items-center gap-3", children: [jsxRuntime.
|
|
136
|
+
return (jsxRuntime.jsxs("div", { className: "aui-composer-action-wrapper flex items-center gap-3", children: [jsxRuntime.jsx("div", { className: "flex items-center gap-2", children: plugins.map((plugin, idx) => (jsxRuntime.jsx("div", { className: "flex items-center justify-center", children: plugin }, idx))) }), jsxRuntime.jsx("div", { className: "h-5 w-[1px] bg-[#E5E7EB] dark:bg-border" }), jsxRuntime.jsx(ThreadIf.ThreadPrimitiveIf, { running: false, children: jsxRuntime.jsx(ComposerSend.ComposerPrimitiveSend, { asChild: true, children: jsxRuntime.jsx(tooltipIconButton.TooltipIconButton, { tooltip: "\u53D1\u9001", type: "submit", variant: "default", size: "icon", className: "aui-composer-send rounded-full size-[30px] bg-[#1664FF] text-white hover:bg-primary/10 hover:text-primary p-0", "aria-label": "Send message", children: currentThread?.loading ? (jsxRuntime.jsx(loaderCircle.default, { className: "aui-composer-send-icon size-[18px] animate-spin" })) : (jsxRuntime.jsx(arrowUp.default, { className: "aui-composer-send-icon size-[18px]" })) }) }) }), jsxRuntime.jsx(ThreadIf.ThreadPrimitiveIf, { running: true, children: jsxRuntime.jsx(ComposerCancel.ComposerPrimitiveCancel, { asChild: true, children: jsxRuntime.jsx(button.Button, { type: "button", variant: "default", size: "icon", className: "aui-composer-cancel size-[30px] rounded-full border border-muted-foreground/60 hover:bg-primary/75 dark:border-muted-foreground/90", "aria-label": "Stop generating", children: jsxRuntime.jsx(AbortMessage, { className: "aui-composer-cancel-icon size-[30px] fill-white" }) }) }) })] }));
|
|
137
137
|
};
|
|
138
138
|
const MessageError = () => {
|
|
139
139
|
return (jsxRuntime.jsx(MessageError$1.MessagePrimitiveError, { children: jsxRuntime.jsxs(ErrorRoot.ErrorPrimitiveRoot, { className: "aui-message-error-root mt-2 rounded-md border border-destructive bg-destructive/10 p-3 text-sm text-destructive dark:bg-destructive/5 dark:text-red-200", children: [jsxRuntime.jsx("div", { className: "font-medium text-destructive text-red-500", children: "\u8BF7\u6C42\u51FA\u73B0\u9519\u8BEF\uFF01" }), jsxRuntime.jsx(ErrorMessage.ErrorPrimitiveMessage, { className: "aui-message-error-message line-clamp-2" })] }) }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"thread.cjs","sources":["../../../src/components/assistant-ui/thread.tsx"],"sourcesContent":["import {\n ArrowDownIcon,\n ArrowUpIcon,\n CheckIcon,\n ChevronLeftIcon,\n ChevronRightIcon,\n PencilIcon,\n Square,\n Share2Icon, // 添加分享图标\n MoreHorizontalIcon,\n LoaderCircle,\n} from \"lucide-react\";\nimport { v4 as uuid } from \"uuid\";\nimport {\n ActionBarPrimitive,\n BranchPickerPrimitive,\n ComposerPrimitive,\n ErrorPrimitive,\n MessagePrimitive,\n ThreadPrimitive,\n useAssistantState,\n useMessagePartText,\n} from \"@assistant-ui/react\";\n\nimport { useMemo, useState, type FC, type PropsWithChildren } from \"react\";\nimport { LazyMotion, MotionConfig, domAnimation } from \"motion/react\";\nimport * as m from \"motion/react-m\";\n\nimport { Button } from \"@/components/ui/button\";\nimport { MarkdownText } from \"@/components/assistant-ui/markdown-text\";\nimport { ToolFallback } from \"@/components/assistant-ui/tool-fallback\";\nimport { TooltipIconButton } from \"@/components/assistant-ui/tooltip-icon-button\";\nimport {\n ComposerAddAttachment,\n ComposerAttachments,\n UserMessageAttachments,\n} from \"@/components/assistant-ui/attachment\";\nimport { File } from \"@/components/assistant-ui/file\";\n\nimport { cn } from \"@/lib/utils\";\nimport { Reasoning, ReasoningGroup } from \"./reasoning\";\nimport {\n useChatkitContext,\n useChatkitPlugins,\n useChatkitRef,\n} from \"@/contexts/ChatkitContext\";\nimport ThumbUpIcon from \"@/assets/ThumbUpIcon\";\nimport ThumbDownIcon from \"@/assets/ThumbDownIcon\";\nimport CopyIcon from \"@/assets/Copy\";\nimport RefreshIcon from \"@/assets/RefreshIcon\";\nimport ThreadHeader from \"./thread-header\";\nimport NewSession from \"@/assets/NewSession\";\nimport dayjs from \"dayjs\";\nimport useThread from \"@/hooks/useThread\";\nimport Recommend from \"../welcome\";\nimport { saveStringToMarkdown } from \"@/utils/download\";\nimport Download from \"@/assets/Download\";\nimport AbortMessage from \"@/assets/AbortMessage\";\nimport ClearIcon from \"@/assets/ClearIcon\";\n\nexport const Thread: FC<{\n welcome?: React.ReactNode;\n recommends?: string[];\n}> = ({ welcome, recommends }) => {\n const { currentThread } = useThread();\n const ref = useChatkitRef();\n const welcomeElement = useMemo(() => {\n if (welcome) return welcome;\n if (recommends)\n return (\n <Recommend\n recommends={recommends}\n onSelect={(question) => {\n ref.current?.sendMessage({\n content: [\n {\n type: \"text\",\n text: question,\n },\n ],\n });\n }}\n />\n );\n return undefined;\n }, [recommends]);\n const { showHeader } = useChatkitContext();\n return (\n <div className=\"min-w-full h-full flex flex-col\">\n {showHeader && (\n <ThreadHeader title={currentThread?.name || \"Thread Title\"} />\n )}\n <LazyMotion features={domAnimation}>\n <MotionConfig reducedMotion=\"user\">\n <ThreadPrimitive.Root\n className=\"aui-root aui-thread-root @container flex-1 flex h-[calc(100%-65px)] flex-col bg-background\"\n style={{\n [\"--thread-max-width\" as string]: \"66rem\",\n }}\n >\n <ThreadPrimitive.If empty={false}>\n <ThreadPrimitive.Viewport className=\"aui-thread-viewport relative flex flex-1 flex-col overflow-x-auto overflow-y-scroll px-4\">\n <ThreadPrimitive.Messages\n components={{\n UserMessage,\n EditComposer,\n AssistantMessage,\n }}\n />\n <div className=\"aui-thread-viewport-spacer min-h-12 grow z-9 bg-white\" />\n <Composer />\n </ThreadPrimitive.Viewport>\n </ThreadPrimitive.If>\n <ThreadPrimitive.If empty>\n <ThreadPrimitive.Viewport className=\"aui-thread-viewport relative flex flex-1 flex-col overflow-x-auto overflow-y-auto px-4 justify-center gap-[80px] \">\n <div className=\"min-h-12 grow z-9 bg-white\" />\n {currentThread?.loading ? (\n <div className=\"flex items-center justify-center gap-1.5 h-[180px]\">\n <span\n className=\"w-2.5 h-2.5 bg-gray-500 rounded-full\"\n style={{\n animation: \"bounce 1s ease-in-out infinite\",\n animationDelay: \"0ms\",\n }}\n />\n <span\n className=\"w-2.5 h-2.5 bg-gray-500 rounded-full\"\n style={{\n animation: \"bounce 1s ease-in-out infinite\",\n animationDelay: \"150ms\",\n }}\n />\n <span\n className=\"w-2.5 h-2.5 bg-gray-500 rounded-full\"\n style={{\n animation: \"bounce 1s ease-in-out infinite\",\n animationDelay: \"300ms\",\n }}\n />\n </div>\n ) : (\n welcomeElement ?? <ThreadWelcome />\n )}\n <div className=\"min-h-12 grow z-9 bg-white\" />\n <div className=\"flex items-center\">\n <Composer />\n </div>\n </ThreadPrimitive.Viewport>\n </ThreadPrimitive.If>\n </ThreadPrimitive.Root>\n </MotionConfig>\n </LazyMotion>\n </div>\n );\n};\n\nconst ThreadScrollToBottom: FC = () => {\n return (\n <ThreadPrimitive.ScrollToBottom asChild>\n <TooltipIconButton\n tooltip=\"Scroll to bottom\"\n variant=\"outline\"\n className=\"aui-thread-scroll-to-bottom absolute -top-12 z-10 self-center rounded-full p-4 disabled:invisible dark:bg-background dark:hover:bg-accent\"\n >\n <ArrowDownIcon />\n </TooltipIconButton>\n </ThreadPrimitive.ScrollToBottom>\n );\n};\n\nconst NewThread = () => {\n const ref = useChatkitRef();\n const handleCreateNewThread = () => {\n // 新建会话的逻辑\n const id = `thread-${Date.now()}`;\n ref.current?.addThread({\n id,\n name: \"新对话\",\n sending: false,\n metadata: {},\n messages: [],\n createdAt: dayjs().unix(),\n });\n ref.current?.setCurrentThread(id);\n };\n\n return (\n <TooltipIconButton\n tooltip=\"新会话\"\n onClick={handleCreateNewThread}\n className=\"flex h-[32px] w-[32px] items-center justify-center rounded-full bg-background border border-[#EAEDF1] dark:border-muted text-foreground transition-colors hover:bg-accent disabled:opacity-50 disabled:pointer-events-none\"\n >\n <NewSession />\n </TooltipIconButton>\n );\n};\n\nconst ClearThread = () => {\n const ref = useChatkitRef();\n const handleCreateNewThread = () => {\n ref.current?.clearCurrentThread();\n };\n const { currentThread } = useThread();\n\n return (\n <TooltipIconButton\n tooltip=\"清空会话\"\n disabled={currentThread?.messages.length === 0}\n onClick={handleCreateNewThread}\n className={cn(\n \"flex h-[44px] w-[44px] items-center justify-center rounded-full bg-background border border-[#EAEDF1] dark:border-muted text-foreground transition-colors hover:bg-accent disabled:pointer-events-none\",\n currentThread?.messages.length === 0 && \"opacity-50 pointer-events-none\"\n )}\n >\n <ClearIcon className=\"h-[16px] w-[16px]\" />\n </TooltipIconButton>\n );\n};\n\nconst ThreadWelcome: FC = () => {\n return (\n <div className=\"aui-thread-welcome-root mx-auto flex w-full max-w-[var(--thread-max-width)] flex-col\">\n <div className=\"aui-thread-welcome-center flex w-full flex-col items-center justify-center\">\n <div className=\"aui-thread-welcome-message flex size-full flex-col justify-center px-8 text-[24px] text-center font-medium leading-[100%] text-[#0C0D0E]\">\n 你好\n </div>\n </div>\n </div>\n );\n};\n\nconst ThreadSuggestions: FC = () => {\n return (\n <div className=\"aui-thread-welcome-suggestions grid w-full gap-2 pb-4 @md:grid-cols-2\">\n 你好\n </div>\n );\n};\n\nconst Composer: FC = () => {\n const { showThreadList, placeholder } = useChatkitContext();\n return (\n <div className=\"aui-composer-wrapper sticky bottom-0 mx-auto flex w-full max-w-[var(--thread-max-width)] flex-col gap-4 overflow-visible bg-background pb-4 md:pb-6\">\n <ThreadScrollToBottom />\n <div className=\"flex items-center gap-[10px]\">\n <div className=\"flex items-center justify-center rounded-[1px]\">\n {showThreadList ? <NewThread /> : <ClearThread />}\n </div>\n <ComposerPrimitive.Root className=\"aui-composer-root group/input-group relative flex flex-1 flex-col rounded-[68px] border border-[#EAEDF1] bg-background px-4 py-3 shadow-sm transition-all outline-none focus-within:border-primary/50 focus-within:ring-1 focus-within:ring-primary/50 dark:bg-background dark:border-muted\">\n <ComposerAttachments />\n <div className=\"flex items-center w-full gap-2\">\n <ComposerPrimitive.Input\n placeholder={placeholder}\n className=\"aui-composer-input max-h-32 min-h-[24px] flex-1 resize-none bg-transparent py-0 text-base outline-none placeholder:text-muted-foreground\"\n rows={1}\n autoFocus\n aria-label=\"Message input\"\n />\n <ComposerAction />\n </div>\n </ComposerPrimitive.Root>\n </div>\n </div>\n );\n};\n\nconst ComposerAction: FC = () => {\n const { currentThread } = useThread();\n const plugins = useChatkitPlugins();\n return (\n <div className=\"aui-composer-action-wrapper flex items-center gap-3\">\n <div className=\"flex items-center gap-2\">\n <ComposerAddAttachment />\n {plugins.map((plugin, idx) => (\n <div key={idx} className=\"flex items-center justify-center\">\n {plugin}\n </div>\n ))}\n </div>\n\n <div className=\"h-5 w-[1px] bg-[#E5E7EB] dark:bg-border\" />\n\n <ThreadPrimitive.If running={false}>\n <ComposerPrimitive.Send asChild>\n <TooltipIconButton\n tooltip=\"发送\"\n type=\"submit\"\n variant=\"default\"\n size=\"icon\"\n className=\"aui-composer-send rounded-full bg-[#1664FF] size-8 text-white hover:bg-primary/10 hover:text-primary p-0\"\n aria-label=\"Send message\"\n >\n {currentThread?.loading ? (\n <LoaderCircle className=\"aui-composer-send-icon size-5 animate-spin\" />\n ) : (\n <ArrowUpIcon className=\"aui-composer-send-icon size-5\" />\n )}\n </TooltipIconButton>\n </ComposerPrimitive.Send>\n </ThreadPrimitive.If>\n\n <ThreadPrimitive.If running>\n <ComposerPrimitive.Cancel asChild>\n <Button\n type=\"button\"\n variant=\"default\"\n size=\"icon\"\n className=\"aui-composer-cancel size-[32px] rounded-full border border-muted-foreground/60 hover:bg-primary/75 dark:border-muted-foreground/90\"\n aria-label=\"Stop generating\"\n >\n <AbortMessage className=\"aui-composer-cancel-icon size-[32px] fill-white\" />\n </Button>\n </ComposerPrimitive.Cancel>\n </ThreadPrimitive.If>\n </div>\n );\n};\n\nconst MessageError: FC = () => {\n return (\n <MessagePrimitive.Error>\n <ErrorPrimitive.Root className=\"aui-message-error-root mt-2 rounded-md border border-destructive bg-destructive/10 p-3 text-sm text-destructive dark:bg-destructive/5 dark:text-red-200\">\n <div className=\"font-medium text-destructive text-red-500\">\n 请求出现错误!\n </div>\n <ErrorPrimitive.Message className=\"aui-message-error-message line-clamp-2\" />\n </ErrorPrimitive.Root>\n </MessagePrimitive.Error>\n );\n};\n\nconst ToolGroup: FC<\n PropsWithChildren<{ startIndex: number; endIndex: number }>\n> = ({ startIndex, endIndex, children }) => {\n const toolCount = endIndex - startIndex + 1;\n return (\n <details className=\"my-2\">\n <summary className=\"cursor-pointer font-medium\">\n {toolCount} tool {toolCount === 1 ? \"call\" : \"calls\"}\n </summary>\n <div className=\"space-y-2 pl-4\">{children}</div>\n </details>\n );\n};\nconst AssistantMessage: FC = () => {\n return (\n <MessagePrimitive.Root asChild>\n <div\n className=\"aui-assistant-message-root relative mx-auto w-full max-w-[var(--thread-max-width)] py-4 duration-150 slide-in-from-bottom-1 last:mb-24\"\n data-role=\"assistant\"\n >\n <div className=\"group\">\n <div className=\"aui-assistant-message-content mx-2 leading-7 break-words text-foreground flex flex-col gap-[12px]\">\n <MessagePrimitive.Parts\n components={{\n Text: MarkdownText,\n tools: { Fallback: ToolFallback },\n File,\n Reasoning,\n // ToolGroup,\n ReasoningGroup,\n }}\n />\n <MessageError />\n </div>\n\n <div className=\"aui-assistant-message-footer mt-2 ml-2 flex hover:visible opacity-0 group-hover:opacity-100 transition-opacity duration-200\">\n <BranchPicker />\n <AssistantActionBar />\n </div>\n </div>\n </div>\n </MessagePrimitive.Root>\n );\n};\n\nconst AssistantActionBar: FC = () => {\n const [submittedFeedback, setSubmittedFeedback] = useState<\n \"positive\" | \"negative\" | undefined\n >(undefined);\n const { currentThread } = useThread();\n\n const downloadContent = useAssistantState(({ message }) => {\n if (\n (message.role !== \"assistant\" || message.status?.type !== \"running\") &&\n message.parts.some((c) => c.type === \"text\" && c.text.length > 0)\n ) {\n return message.parts\n .filter((c) => c.type === \"text\")\n .map((c) => c.text)\n .join(\"\\n\");\n }\n return \"\";\n });\n\n return (\n <ActionBarPrimitive.Root\n hideWhenRunning\n autohide=\"never\"\n autohideFloat=\"single-branch\"\n className=\"aui-assistant-action-bar-root col-start-3 row-start-2 -ml-1 flex items-center gap-[8px] text-muted-foreground data-floating:absolute data-floating:rounded-md data-floating:border data-floating:bg-background data-floating:p-1 data-floating:shadow-sm\"\n >\n <div\n className=\"flex items-center justify-center\"\n onClick={() =>\n setSubmittedFeedback(\n submittedFeedback === \"positive\" ? undefined : \"positive\"\n )\n }\n >\n <TooltipIconButton tooltip=\"Like\">\n <ThumbUpIcon\n className=\"aui-assistant-action-bar-copy-check-icon size-[16px]\"\n fill={submittedFeedback === \"positive\" ? \"#000\" : undefined}\n />\n </TooltipIconButton>\n </div>\n <div\n className=\"flex items-center justify-center\"\n onClick={() =>\n setSubmittedFeedback(\n submittedFeedback === \"negative\" ? undefined : \"negative\"\n )\n }\n >\n <TooltipIconButton tooltip=\"Dislike\">\n <ThumbDownIcon\n className=\"aui-assistant-action-bar-copy-check-icon size-[16px]\"\n fill={submittedFeedback === \"negative\" ? \"#000\" : undefined}\n />\n </TooltipIconButton>\n </div>\n\n <div className=\"w-[1px] h-[12px] bg-[#DDE2E9]\" />\n <ActionBarPrimitive.Copy asChild>\n <TooltipIconButton tooltip=\"Copy\">\n <MessagePrimitive.If copied>\n <CheckIcon className=\"aui-assistant-action-bar-copy-check-icon size-[16px]\" />\n </MessagePrimitive.If>\n <MessagePrimitive.If copied={false}>\n <CopyIcon className=\"aui-assistant-action-bar-copy-icon size-[16px]\" />\n </MessagePrimitive.If>\n </TooltipIconButton>\n </ActionBarPrimitive.Copy>\n\n <TooltipIconButton\n tooltip=\"download\"\n onClick={() => {\n saveStringToMarkdown(downloadContent, \"message.md\");\n }}\n >\n <Download className=\"aui-assistant-action-bar-refresh-icon size-[16px]\" />\n </TooltipIconButton>\n <ActionBarPrimitive.Reload asChild>\n <TooltipIconButton tooltip=\"Refresh\">\n <RefreshIcon className=\"aui-assistant-action-bar-refresh-icon size-[16px]\" />\n </TooltipIconButton>\n </ActionBarPrimitive.Reload>\n </ActionBarPrimitive.Root>\n );\n};\n\n// const UserActionBar: FC = () => {\n// return (\n// <ActionBarPrimitive.Root\n// hideWhenRunning\n// autohide=\"not-last\"\n// className=\"aui-user-action-bar-root flex flex-col items-end\"\n// >\n// <ActionBarPrimitive.Edit asChild>\n// <TooltipIconButton tooltip=\"Edit\" className=\"aui-user-action-edit p-4\">\n// <PencilIcon />\n// </TooltipIconButton>\n// </ActionBarPrimitive.Edit>\n// </ActionBarPrimitive.Root>\n// );\n// };\n\nconst EditComposer: FC = () => {\n return (\n <div className=\"aui-edit-composer-wrapper mx-auto flex w-full max-w-[var(--thread-max-width)] flex-col gap-4 px-2 first:mt-4\">\n <ComposerPrimitive.Root className=\"aui-edit-composer-root ml-auto flex w-full max-w-7/8 flex-col rounded-xl bg-muted\">\n <ComposerPrimitive.Input\n className=\"aui-edit-composer-input flex min-h-[60px] w-full resize-none bg-transparent p-4 text-foreground outline-none\"\n autoFocus\n />\n\n <div className=\"aui-edit-composer-footer mx-3 mb-3 flex items-center justify-center gap-2 self-end\">\n <ComposerPrimitive.Cancel asChild>\n <Button variant=\"ghost\" size=\"sm\" aria-label=\"Cancel edit\">\n Cancel\n </Button>\n </ComposerPrimitive.Cancel>\n <ComposerPrimitive.Send asChild>\n <Button size=\"sm\" aria-label=\"Update message\">\n Update\n </Button>\n </ComposerPrimitive.Send>\n </div>\n </ComposerPrimitive.Root>\n </div>\n );\n};\n\nconst BranchPicker: FC<BranchPickerPrimitive.Root.Props> = ({\n className,\n ...rest\n}) => {\n return (\n <BranchPickerPrimitive.Root\n hideWhenSingleBranch\n className={cn(\n \"aui-branch-picker-root mr-2 -ml-2 inline-flex items-center text-xs text-muted-foreground\",\n className\n )}\n {...rest}\n >\n <BranchPickerPrimitive.Previous asChild>\n <TooltipIconButton tooltip=\"Previous\">\n <ChevronLeftIcon />\n </TooltipIconButton>\n </BranchPickerPrimitive.Previous>\n <span className=\"aui-branch-picker-state font-medium\">\n <BranchPickerPrimitive.Number /> / <BranchPickerPrimitive.Count />\n </span>\n <BranchPickerPrimitive.Next asChild>\n <TooltipIconButton tooltip=\"Next\">\n <ChevronRightIcon />\n </TooltipIconButton>\n </BranchPickerPrimitive.Next>\n </BranchPickerPrimitive.Root>\n );\n};\n\nconst UserMessage: FC = () => {\n return (\n <MessagePrimitive.Root asChild>\n <div\n className=\"aui-user-message-root mx-auto grid w-full max-w-[var(--thread-max-width)] animate-in auto-rows-auto grid-cols-[minmax(72px,1fr)_auto] gap-y-2 px-2 py-4 duration-150 ease-out fade-in slide-in-from-bottom-1 first:mt-3 last:mb-5 [&:where(>*)]:col-start-2 group\"\n data-role=\"user\"\n >\n <UserMessageAttachments />\n\n <div className=\"aui-user-message-content-wrapper relative col-start-2 min-w-0\">\n <div className=\"aui-user-message-content bg-muted px-5 py-2.5 break-words text-foreground bg-[#F3F7FF] rounded-[8px]\">\n <MessagePrimitive.Parts />\n </div>\n {/* <div className=\"aui-user-action-bar-wrapper invisible group-hover:visible transition-all duration-200\">\n <UserActionBar />\n </div> */}\n </div>\n\n {/* 移除了下方工具栏代码 */}\n\n <BranchPicker className=\"aui-user-branch-picker col-span-full col-start-1 row-start-3 -mr-1 justify-end\" />\n </div>\n </MessagePrimitive.Root>\n );\n};\n\n// 2. 修改UserActionBar组件,添加编辑、分享和更多选项功能\nconst UserActionBar: FC = () => {\n return (\n <ActionBarPrimitive.Root\n hideWhenRunning\n className=\"aui-user-action-bar-root flex items-end gap-2 justify-end bg-background p-1 rounded-md\"\n >\n <ActionBarPrimitive.Edit asChild>\n <TooltipIconButton tooltip=\"编辑\" className=\"aui-user-action-edit\">\n <PencilIcon className=\"h-3.5 w-3.5\" />\n </TooltipIconButton>\n </ActionBarPrimitive.Edit>\n\n <TooltipIconButton tooltip=\"编辑\" className=\"aui-user-action-edit\">\n <Share2Icon className=\"h-3.5 w-3.5\" />\n </TooltipIconButton>\n <TooltipIconButton tooltip=\"编辑\" className=\"aui-user-action-edit\">\n <MoreHorizontalIcon className=\"h-3.5 w-3.5\" />\n </TooltipIconButton>\n </ActionBarPrimitive.Root>\n );\n};\n"],"names":["welcome","useChatkitRef","useMemo","_jsx","Recommend","useChatkitContext","_jsxs","ThreadHeader","LazyMotion","domAnimation","MotionConfig","ThreadPrimitive.Root","ThreadPrimitive.If","ThreadPrimitive.Viewport","ThreadPrimitive.Messages","ThreadPrimitive.ScrollToBottom","TooltipIconButton","ArrowDownIcon","dayjs","cn","ComposerPrimitive.Root","ComposerAttachments","ComposerPrimitive.Input","useChatkitPlugins","ComposerAddAttachment","ComposerPrimitive.Send","LoaderCircle","ArrowUpIcon","ComposerPrimitive.Cancel","Button","MessagePrimitive.Error","ErrorPrimitive.Root","ErrorPrimitive.Message","MessagePrimitive.Root","MessagePrimitive.Parts","MarkdownText","ToolFallback","File","Reasoning","ReasoningGroup","useState","useAssistantState","ActionBarPrimitive.Root","ActionBarPrimitive.Copy","MessagePrimitive.If","CheckIcon","CopyIcon","saveStringToMarkdown","ActionBarPrimitive.Reload","BranchPickerPrimitive.Root","BranchPickerPrimitive.Previous","ChevronLeftIcon","BranchPickerPrimitive.Number","BranchPickerPrimitive.Count","BranchPickerPrimitive.Next","ChevronRightIcon","UserMessageAttachments"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"thread.cjs","sources":["../../../src/components/assistant-ui/thread.tsx"],"sourcesContent":["import {\n ArrowDownIcon,\n ArrowUpIcon,\n CheckIcon,\n ChevronLeftIcon,\n ChevronRightIcon,\n PencilIcon,\n Square,\n Share2Icon, // 添加分享图标\n MoreHorizontalIcon,\n LoaderCircle,\n} from \"lucide-react\";\nimport { v4 as uuid } from \"uuid\";\nimport {\n ActionBarPrimitive,\n BranchPickerPrimitive,\n ComposerPrimitive,\n ErrorPrimitive,\n MessagePrimitive,\n ThreadPrimitive,\n useAssistantState,\n useMessagePartText,\n} from \"@assistant-ui/react\";\n\nimport { useMemo, useState, type FC, type PropsWithChildren } from \"react\";\nimport { LazyMotion, MotionConfig, domAnimation } from \"motion/react\";\nimport * as m from \"motion/react-m\";\n\nimport { Button } from \"@/components/ui/button\";\nimport { MarkdownText } from \"@/components/assistant-ui/markdown-text\";\nimport { ToolFallback } from \"@/components/assistant-ui/tool-fallback\";\nimport { TooltipIconButton } from \"@/components/assistant-ui/tooltip-icon-button\";\nimport {\n ComposerAddAttachment,\n ComposerAttachments,\n UserMessageAttachments,\n} from \"@/components/assistant-ui/attachment\";\nimport { File } from \"@/components/assistant-ui/file\";\n\nimport { cn } from \"@/lib/utils\";\nimport { Reasoning, ReasoningGroup } from \"./reasoning\";\nimport {\n useChatkitContext,\n useChatkitPlugins,\n useChatkitRef,\n} from \"@/contexts/ChatkitContext\";\nimport ThumbUpIcon from \"@/assets/ThumbUpIcon\";\nimport ThumbDownIcon from \"@/assets/ThumbDownIcon\";\nimport CopyIcon from \"@/assets/Copy\";\nimport RefreshIcon from \"@/assets/RefreshIcon\";\nimport ThreadHeader from \"./thread-header\";\nimport NewSession from \"@/assets/NewSession\";\nimport dayjs from \"dayjs\";\nimport useThread from \"@/hooks/useThread\";\nimport Recommend from \"../welcome\";\nimport { saveStringToMarkdown } from \"@/utils/download\";\nimport Download from \"@/assets/Download\";\nimport AbortMessage from \"@/assets/AbortMessage\";\nimport ClearIcon from \"@/assets/ClearIcon\";\n\nexport const Thread: FC<{\n welcome?: React.ReactNode;\n recommends?: string[];\n}> = ({ welcome, recommends }) => {\n const { currentThread } = useThread();\n const ref = useChatkitRef();\n const welcomeElement = useMemo(() => {\n if (welcome) return welcome;\n if (recommends)\n return (\n <Recommend\n recommends={recommends}\n onSelect={(question) => {\n ref.current?.sendMessage({\n content: [\n {\n type: \"text\",\n text: question,\n },\n ],\n });\n }}\n />\n );\n return undefined;\n }, [recommends]);\n const { showHeader } = useChatkitContext();\n return (\n <div className=\"min-w-full h-full flex flex-col\">\n {showHeader && (\n <ThreadHeader title={currentThread?.name || \"Thread Title\"} />\n )}\n <LazyMotion features={domAnimation}>\n <MotionConfig reducedMotion=\"user\">\n <ThreadPrimitive.Root\n className=\"aui-root aui-thread-root @container flex-1 flex h-[calc(100%-65px)] flex-col bg-background\"\n style={{\n [\"--thread-max-width\" as string]: \"66rem\",\n }}\n >\n <ThreadPrimitive.If empty={false}>\n <ThreadPrimitive.Viewport className=\"aui-thread-viewport relative flex flex-1 flex-col overflow-x-auto overflow-y-scroll px-4\">\n <ThreadPrimitive.Messages\n components={{\n UserMessage,\n EditComposer,\n AssistantMessage,\n }}\n />\n <div className=\"aui-thread-viewport-spacer min-h-12 grow z-9 bg-white\" />\n <Composer />\n </ThreadPrimitive.Viewport>\n </ThreadPrimitive.If>\n <ThreadPrimitive.If empty>\n <ThreadPrimitive.Viewport className=\"aui-thread-viewport relative flex flex-1 flex-col overflow-x-auto overflow-y-auto px-4 justify-center gap-[80px] \">\n <div className=\"min-h-12 grow z-9 bg-white\" />\n {currentThread?.loading ? (\n <div className=\"flex items-center justify-center gap-1.5 h-[180px]\">\n <span\n className=\"w-2.5 h-2.5 bg-gray-500 rounded-full\"\n style={{\n animation: \"bounce 1s ease-in-out infinite\",\n animationDelay: \"0ms\",\n }}\n />\n <span\n className=\"w-2.5 h-2.5 bg-gray-500 rounded-full\"\n style={{\n animation: \"bounce 1s ease-in-out infinite\",\n animationDelay: \"150ms\",\n }}\n />\n <span\n className=\"w-2.5 h-2.5 bg-gray-500 rounded-full\"\n style={{\n animation: \"bounce 1s ease-in-out infinite\",\n animationDelay: \"300ms\",\n }}\n />\n </div>\n ) : (\n welcomeElement ?? <ThreadWelcome />\n )}\n <div className=\"min-h-12 grow z-9 bg-white\" />\n <div className=\"flex items-center\">\n <Composer />\n </div>\n </ThreadPrimitive.Viewport>\n </ThreadPrimitive.If>\n </ThreadPrimitive.Root>\n </MotionConfig>\n </LazyMotion>\n </div>\n );\n};\n\nconst ThreadScrollToBottom: FC = () => {\n return (\n <ThreadPrimitive.ScrollToBottom asChild>\n <TooltipIconButton\n tooltip=\"Scroll to bottom\"\n variant=\"outline\"\n className=\"aui-thread-scroll-to-bottom absolute -top-12 z-10 self-center rounded-full p-4 disabled:invisible dark:bg-background dark:hover:bg-accent\"\n >\n <ArrowDownIcon />\n </TooltipIconButton>\n </ThreadPrimitive.ScrollToBottom>\n );\n};\n\nconst NewThread = () => {\n const ref = useChatkitRef();\n const handleCreateNewThread = () => {\n // 新建会话的逻辑\n const id = `thread-${Date.now()}`;\n ref.current?.addThread({\n id,\n name: \"新对话\",\n sending: false,\n metadata: {},\n messages: [],\n createdAt: dayjs().unix(),\n });\n ref.current?.setCurrentThread(id);\n };\n\n return (\n <TooltipIconButton\n tooltip=\"新会话\"\n onClick={handleCreateNewThread}\n className=\"flex h-[30px] w-[30px] items-center justify-center rounded-full bg-background border border-[#EAEDF1] dark:border-muted text-foreground transition-colors hover:bg-accent disabled:opacity-50 disabled:pointer-events-none\"\n >\n <NewSession />\n </TooltipIconButton>\n );\n};\n\nconst ClearThread = () => {\n const ref = useChatkitRef();\n const handleCreateNewThread = () => {\n ref.current?.clearCurrentThread();\n };\n const { currentThread } = useThread();\n\n return (\n <TooltipIconButton\n tooltip=\"清空会话\"\n disabled={currentThread?.messages.length === 0}\n onClick={handleCreateNewThread}\n className={cn(\n \"flex h-[38px] w-[38px] items-center justify-center rounded-full bg-background border border-[#EAEDF1] dark:border-muted text-foreground transition-colors hover:bg-accent disabled:pointer-events-none\",\n currentThread?.messages.length === 0 && \"opacity-50 pointer-events-none\"\n )}\n >\n <ClearIcon className=\"h-[18px] w-[18px]\" />\n </TooltipIconButton>\n );\n};\n\nconst ThreadWelcome: FC = () => {\n return (\n <div className=\"aui-thread-welcome-root mx-auto flex w-full max-w-[var(--thread-max-width)] flex-col\">\n <div className=\"aui-thread-welcome-center flex w-full flex-col items-center justify-center\">\n <div className=\"aui-thread-welcome-message flex size-full flex-col justify-center px-8 text-[24px] text-center font-medium leading-[100%] text-[#0C0D0E]\">\n 你好\n </div>\n </div>\n </div>\n );\n};\n\nconst ThreadSuggestions: FC = () => {\n return (\n <div className=\"aui-thread-welcome-suggestions grid w-full gap-2 pb-4 @md:grid-cols-2\">\n 你好\n </div>\n );\n};\n\nconst Composer: FC = () => {\n const { showThreadList, placeholder } = useChatkitContext();\n return (\n <div className=\"aui-composer-wrapper sticky bottom-0 mx-auto flex w-full max-w-[var(--thread-max-width)] flex-col gap-4 overflow-visible bg-background pb-4 md:pb-6\">\n <ThreadScrollToBottom />\n <div className=\"flex items-center gap-[10px]\">\n <div className=\"flex items-center justify-center rounded-[1px]\">\n {showThreadList ? <NewThread /> : <ClearThread />}\n </div>\n <ComposerPrimitive.Root className=\"aui-composer-root group/input-group relative flex flex-1 flex-col rounded-[68px] border border-[#EAEDF1] bg-background px-4 py-[10px] shadow-sm transition-all outline-none focus-within:border-primary/50 focus-within:ring-1 focus-within:ring-primary/50 dark:bg-background dark:border-muted\">\n <ComposerAttachments />\n <div className=\"flex items-center w-full gap-2\">\n <ComposerPrimitive.Input\n placeholder={placeholder}\n className=\"aui-composer-input max-h-32 min-h-[24px] flex-1 resize-none bg-transparent py-0 text-base outline-none placeholder:text-muted-foreground\"\n rows={1}\n autoFocus\n aria-label=\"Message input\"\n />\n <ComposerAction />\n </div>\n </ComposerPrimitive.Root>\n </div>\n </div>\n );\n};\n\nconst ComposerAction: FC = () => {\n const { currentThread } = useThread();\n const plugins = useChatkitPlugins();\n return (\n <div className=\"aui-composer-action-wrapper flex items-center gap-3\">\n <div className=\"flex items-center gap-2\">\n {plugins.map((plugin, idx) => (\n <div key={idx} className=\"flex items-center justify-center\">\n {plugin}\n </div>\n ))}\n </div>\n\n <div className=\"h-5 w-[1px] bg-[#E5E7EB] dark:bg-border\" />\n\n <ThreadPrimitive.If running={false}>\n <ComposerPrimitive.Send asChild>\n <TooltipIconButton\n tooltip=\"发送\"\n type=\"submit\"\n variant=\"default\"\n size=\"icon\"\n className=\"aui-composer-send rounded-full size-[30px] bg-[#1664FF] text-white hover:bg-primary/10 hover:text-primary p-0\"\n aria-label=\"Send message\"\n >\n {currentThread?.loading ? (\n <LoaderCircle className=\"aui-composer-send-icon size-[18px] animate-spin\" />\n ) : (\n <ArrowUpIcon className=\"aui-composer-send-icon size-[18px]\" />\n )}\n </TooltipIconButton>\n </ComposerPrimitive.Send>\n </ThreadPrimitive.If>\n\n <ThreadPrimitive.If running>\n <ComposerPrimitive.Cancel asChild>\n <Button\n type=\"button\"\n variant=\"default\"\n size=\"icon\"\n className=\"aui-composer-cancel size-[30px] rounded-full border border-muted-foreground/60 hover:bg-primary/75 dark:border-muted-foreground/90\"\n aria-label=\"Stop generating\"\n >\n <AbortMessage className=\"aui-composer-cancel-icon size-[30px] fill-white\" />\n </Button>\n </ComposerPrimitive.Cancel>\n </ThreadPrimitive.If>\n </div>\n );\n};\n\nconst MessageError: FC = () => {\n return (\n <MessagePrimitive.Error>\n <ErrorPrimitive.Root className=\"aui-message-error-root mt-2 rounded-md border border-destructive bg-destructive/10 p-3 text-sm text-destructive dark:bg-destructive/5 dark:text-red-200\">\n <div className=\"font-medium text-destructive text-red-500\">\n 请求出现错误!\n </div>\n <ErrorPrimitive.Message className=\"aui-message-error-message line-clamp-2\" />\n </ErrorPrimitive.Root>\n </MessagePrimitive.Error>\n );\n};\n\nconst ToolGroup: FC<\n PropsWithChildren<{ startIndex: number; endIndex: number }>\n> = ({ startIndex, endIndex, children }) => {\n const toolCount = endIndex - startIndex + 1;\n return (\n <details className=\"my-2\">\n <summary className=\"cursor-pointer font-medium\">\n {toolCount} tool {toolCount === 1 ? \"call\" : \"calls\"}\n </summary>\n <div className=\"space-y-2 pl-4\">{children}</div>\n </details>\n );\n};\nconst AssistantMessage: FC = () => {\n return (\n <MessagePrimitive.Root asChild>\n <div\n className=\"aui-assistant-message-root relative mx-auto w-full max-w-[var(--thread-max-width)] py-4 duration-150 slide-in-from-bottom-1 last:mb-24\"\n data-role=\"assistant\"\n >\n <div className=\"group\">\n <div className=\"aui-assistant-message-content mx-2 leading-7 break-words text-foreground flex flex-col gap-[12px]\">\n <MessagePrimitive.Parts\n components={{\n Text: MarkdownText,\n tools: { Fallback: ToolFallback },\n File,\n Reasoning,\n // ToolGroup,\n ReasoningGroup,\n }}\n />\n <MessageError />\n </div>\n\n <div className=\"aui-assistant-message-footer mt-2 ml-2 flex hover:visible opacity-0 group-hover:opacity-100 transition-opacity duration-200\">\n <BranchPicker />\n <AssistantActionBar />\n </div>\n </div>\n </div>\n </MessagePrimitive.Root>\n );\n};\n\nconst AssistantActionBar: FC = () => {\n const [submittedFeedback, setSubmittedFeedback] = useState<\n \"positive\" | \"negative\" | undefined\n >(undefined);\n const { currentThread } = useThread();\n\n const downloadContent = useAssistantState(({ message }) => {\n if (\n (message.role !== \"assistant\" || message.status?.type !== \"running\") &&\n message.parts.some((c) => c.type === \"text\" && c.text.length > 0)\n ) {\n return message.parts\n .filter((c) => c.type === \"text\")\n .map((c) => c.text)\n .join(\"\\n\");\n }\n return \"\";\n });\n\n return (\n <ActionBarPrimitive.Root\n hideWhenRunning\n autohide=\"never\"\n autohideFloat=\"single-branch\"\n className=\"aui-assistant-action-bar-root col-start-3 row-start-2 -ml-1 flex items-center gap-[8px] text-muted-foreground data-floating:absolute data-floating:rounded-md data-floating:border data-floating:bg-background data-floating:p-1 data-floating:shadow-sm\"\n >\n <div\n className=\"flex items-center justify-center\"\n onClick={() =>\n setSubmittedFeedback(\n submittedFeedback === \"positive\" ? undefined : \"positive\"\n )\n }\n >\n <TooltipIconButton tooltip=\"Like\">\n <ThumbUpIcon\n className=\"aui-assistant-action-bar-copy-check-icon size-[16px]\"\n fill={submittedFeedback === \"positive\" ? \"#000\" : undefined}\n />\n </TooltipIconButton>\n </div>\n <div\n className=\"flex items-center justify-center\"\n onClick={() =>\n setSubmittedFeedback(\n submittedFeedback === \"negative\" ? undefined : \"negative\"\n )\n }\n >\n <TooltipIconButton tooltip=\"Dislike\">\n <ThumbDownIcon\n className=\"aui-assistant-action-bar-copy-check-icon size-[16px]\"\n fill={submittedFeedback === \"negative\" ? \"#000\" : undefined}\n />\n </TooltipIconButton>\n </div>\n\n <div className=\"w-[1px] h-[12px] bg-[#DDE2E9]\" />\n <ActionBarPrimitive.Copy asChild>\n <TooltipIconButton tooltip=\"Copy\">\n <MessagePrimitive.If copied>\n <CheckIcon className=\"aui-assistant-action-bar-copy-check-icon size-[16px]\" />\n </MessagePrimitive.If>\n <MessagePrimitive.If copied={false}>\n <CopyIcon className=\"aui-assistant-action-bar-copy-icon size-[16px]\" />\n </MessagePrimitive.If>\n </TooltipIconButton>\n </ActionBarPrimitive.Copy>\n\n <TooltipIconButton\n tooltip=\"download\"\n onClick={() => {\n saveStringToMarkdown(downloadContent, \"message.md\");\n }}\n >\n <Download className=\"aui-assistant-action-bar-refresh-icon size-[16px]\" />\n </TooltipIconButton>\n <ActionBarPrimitive.Reload asChild>\n <TooltipIconButton tooltip=\"Refresh\">\n <RefreshIcon className=\"aui-assistant-action-bar-refresh-icon size-[16px]\" />\n </TooltipIconButton>\n </ActionBarPrimitive.Reload>\n </ActionBarPrimitive.Root>\n );\n};\n\n// const UserActionBar: FC = () => {\n// return (\n// <ActionBarPrimitive.Root\n// hideWhenRunning\n// autohide=\"not-last\"\n// className=\"aui-user-action-bar-root flex flex-col items-end\"\n// >\n// <ActionBarPrimitive.Edit asChild>\n// <TooltipIconButton tooltip=\"Edit\" className=\"aui-user-action-edit p-4\">\n// <PencilIcon />\n// </TooltipIconButton>\n// </ActionBarPrimitive.Edit>\n// </ActionBarPrimitive.Root>\n// );\n// };\n\nconst EditComposer: FC = () => {\n return (\n <div className=\"aui-edit-composer-wrapper mx-auto flex w-full max-w-[var(--thread-max-width)] flex-col gap-4 px-2 first:mt-4\">\n <ComposerPrimitive.Root className=\"aui-edit-composer-root ml-auto flex w-full max-w-7/8 flex-col rounded-xl bg-muted\">\n <ComposerPrimitive.Input\n className=\"aui-edit-composer-input flex min-h-[60px] w-full resize-none bg-transparent p-4 text-foreground outline-none\"\n autoFocus\n />\n\n <div className=\"aui-edit-composer-footer mx-3 mb-3 flex items-center justify-center gap-2 self-end\">\n <ComposerPrimitive.Cancel asChild>\n <Button variant=\"ghost\" size=\"sm\" aria-label=\"Cancel edit\">\n Cancel\n </Button>\n </ComposerPrimitive.Cancel>\n <ComposerPrimitive.Send asChild>\n <Button size=\"sm\" aria-label=\"Update message\">\n Update\n </Button>\n </ComposerPrimitive.Send>\n </div>\n </ComposerPrimitive.Root>\n </div>\n );\n};\n\nconst BranchPicker: FC<BranchPickerPrimitive.Root.Props> = ({\n className,\n ...rest\n}) => {\n return (\n <BranchPickerPrimitive.Root\n hideWhenSingleBranch\n className={cn(\n \"aui-branch-picker-root mr-2 -ml-2 inline-flex items-center text-xs text-muted-foreground\",\n className\n )}\n {...rest}\n >\n <BranchPickerPrimitive.Previous asChild>\n <TooltipIconButton tooltip=\"Previous\">\n <ChevronLeftIcon />\n </TooltipIconButton>\n </BranchPickerPrimitive.Previous>\n <span className=\"aui-branch-picker-state font-medium\">\n <BranchPickerPrimitive.Number /> / <BranchPickerPrimitive.Count />\n </span>\n <BranchPickerPrimitive.Next asChild>\n <TooltipIconButton tooltip=\"Next\">\n <ChevronRightIcon />\n </TooltipIconButton>\n </BranchPickerPrimitive.Next>\n </BranchPickerPrimitive.Root>\n );\n};\n\nconst UserMessage: FC = () => {\n return (\n <MessagePrimitive.Root asChild>\n <div\n className=\"aui-user-message-root mx-auto grid w-full max-w-[var(--thread-max-width)] animate-in auto-rows-auto grid-cols-[minmax(72px,1fr)_auto] gap-y-2 px-2 py-4 duration-150 ease-out fade-in slide-in-from-bottom-1 first:mt-3 last:mb-5 [&:where(>*)]:col-start-2 group\"\n data-role=\"user\"\n >\n <UserMessageAttachments />\n\n <div className=\"aui-user-message-content-wrapper relative col-start-2 min-w-0\">\n <div className=\"aui-user-message-content bg-muted px-5 py-2.5 break-words text-foreground bg-[#F3F7FF] rounded-[8px]\">\n <MessagePrimitive.Parts />\n </div>\n {/* <div className=\"aui-user-action-bar-wrapper invisible group-hover:visible transition-all duration-200\">\n <UserActionBar />\n </div> */}\n </div>\n\n {/* 移除了下方工具栏代码 */}\n\n <BranchPicker className=\"aui-user-branch-picker col-span-full col-start-1 row-start-3 -mr-1 justify-end\" />\n </div>\n </MessagePrimitive.Root>\n );\n};\n\n// 2. 修改UserActionBar组件,添加编辑、分享和更多选项功能\nconst UserActionBar: FC = () => {\n return (\n <ActionBarPrimitive.Root\n hideWhenRunning\n className=\"aui-user-action-bar-root flex items-end gap-2 justify-end bg-background p-1 rounded-md\"\n >\n <ActionBarPrimitive.Edit asChild>\n <TooltipIconButton tooltip=\"编辑\" className=\"aui-user-action-edit\">\n <PencilIcon className=\"h-3.5 w-3.5\" />\n </TooltipIconButton>\n </ActionBarPrimitive.Edit>\n\n <TooltipIconButton tooltip=\"编辑\" className=\"aui-user-action-edit\">\n <Share2Icon className=\"h-3.5 w-3.5\" />\n </TooltipIconButton>\n <TooltipIconButton tooltip=\"编辑\" className=\"aui-user-action-edit\">\n <MoreHorizontalIcon className=\"h-3.5 w-3.5\" />\n </TooltipIconButton>\n </ActionBarPrimitive.Root>\n );\n};\n"],"names":["welcome","useChatkitRef","useMemo","_jsx","Recommend","useChatkitContext","_jsxs","ThreadHeader","LazyMotion","domAnimation","MotionConfig","ThreadPrimitive.Root","ThreadPrimitive.If","ThreadPrimitive.Viewport","ThreadPrimitive.Messages","ThreadPrimitive.ScrollToBottom","TooltipIconButton","ArrowDownIcon","dayjs","cn","ComposerPrimitive.Root","ComposerAttachments","ComposerPrimitive.Input","useChatkitPlugins","ComposerPrimitive.Send","LoaderCircle","ArrowUpIcon","ComposerPrimitive.Cancel","Button","MessagePrimitive.Error","ErrorPrimitive.Root","ErrorPrimitive.Message","MessagePrimitive.Root","MessagePrimitive.Parts","MarkdownText","ToolFallback","File","Reasoning","ReasoningGroup","useState","useAssistantState","ActionBarPrimitive.Root","ActionBarPrimitive.Copy","MessagePrimitive.If","CheckIcon","CopyIcon","saveStringToMarkdown","ActionBarPrimitive.Reload","BranchPickerPrimitive.Root","BranchPickerPrimitive.Previous","ChevronLeftIcon","BranchPickerPrimitive.Number","BranchPickerPrimitive.Count","BranchPickerPrimitive.Next","ChevronRightIcon","UserMessageAttachments"],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@ import { Button } from '../ui/button.js';
|
|
|
4
4
|
import { MarkdownText } from './markdown-text.js';
|
|
5
5
|
import { ToolFallback } from './tool-fallback.js';
|
|
6
6
|
import { TooltipIconButton } from './tooltip-icon-button.js';
|
|
7
|
-
import { ComposerAttachments,
|
|
7
|
+
import { ComposerAttachments, UserMessageAttachments } from './attachment.js';
|
|
8
8
|
import { File } from './file/index.js';
|
|
9
9
|
import { cn } from '../../lib/utils.js';
|
|
10
10
|
import { Reasoning, ReasoningGroup } from './reasoning.js';
|
|
@@ -111,7 +111,7 @@ const NewThread = () => {
|
|
|
111
111
|
});
|
|
112
112
|
ref.current?.setCurrentThread(id);
|
|
113
113
|
};
|
|
114
|
-
return (jsx(TooltipIconButton, { tooltip: "\u65B0\u4F1A\u8BDD", onClick: handleCreateNewThread, className: "flex h-[
|
|
114
|
+
return (jsx(TooltipIconButton, { tooltip: "\u65B0\u4F1A\u8BDD", onClick: handleCreateNewThread, className: "flex h-[30px] w-[30px] items-center justify-center rounded-full bg-background border border-[#EAEDF1] dark:border-muted text-foreground transition-colors hover:bg-accent disabled:opacity-50 disabled:pointer-events-none", children: jsx(NewSession, {}) }));
|
|
115
115
|
};
|
|
116
116
|
const ClearThread = () => {
|
|
117
117
|
const ref = useChatkitRef();
|
|
@@ -119,19 +119,19 @@ const ClearThread = () => {
|
|
|
119
119
|
ref.current?.clearCurrentThread();
|
|
120
120
|
};
|
|
121
121
|
const { currentThread } = useThread();
|
|
122
|
-
return (jsx(TooltipIconButton, { tooltip: "\u6E05\u7A7A\u4F1A\u8BDD", disabled: currentThread?.messages.length === 0, onClick: handleCreateNewThread, className: cn("flex h-[
|
|
122
|
+
return (jsx(TooltipIconButton, { tooltip: "\u6E05\u7A7A\u4F1A\u8BDD", disabled: currentThread?.messages.length === 0, onClick: handleCreateNewThread, className: cn("flex h-[38px] w-[38px] items-center justify-center rounded-full bg-background border border-[#EAEDF1] dark:border-muted text-foreground transition-colors hover:bg-accent disabled:pointer-events-none", currentThread?.messages.length === 0 && "opacity-50 pointer-events-none"), children: jsx(ClearIcon, { className: "h-[18px] w-[18px]" }) }));
|
|
123
123
|
};
|
|
124
124
|
const ThreadWelcome = () => {
|
|
125
125
|
return (jsx("div", { className: "aui-thread-welcome-root mx-auto flex w-full max-w-[var(--thread-max-width)] flex-col", children: jsx("div", { className: "aui-thread-welcome-center flex w-full flex-col items-center justify-center", children: jsx("div", { className: "aui-thread-welcome-message flex size-full flex-col justify-center px-8 text-[24px] text-center font-medium leading-[100%] text-[#0C0D0E]", children: "\u4F60\u597D" }) }) }));
|
|
126
126
|
};
|
|
127
127
|
const Composer = () => {
|
|
128
128
|
const { showThreadList, placeholder } = useChatkitContext();
|
|
129
|
-
return (jsxs("div", { className: "aui-composer-wrapper sticky bottom-0 mx-auto flex w-full max-w-[var(--thread-max-width)] flex-col gap-4 overflow-visible bg-background pb-4 md:pb-6", children: [jsx(ThreadScrollToBottom, {}), jsxs("div", { className: "flex items-center gap-[10px]", children: [jsx("div", { className: "flex items-center justify-center rounded-[1px]", children: showThreadList ? jsx(NewThread, {}) : jsx(ClearThread, {}) }), jsxs(ComposerPrimitiveRoot, { className: "aui-composer-root group/input-group relative flex flex-1 flex-col rounded-[68px] border border-[#EAEDF1] bg-background px-4 py-
|
|
129
|
+
return (jsxs("div", { className: "aui-composer-wrapper sticky bottom-0 mx-auto flex w-full max-w-[var(--thread-max-width)] flex-col gap-4 overflow-visible bg-background pb-4 md:pb-6", children: [jsx(ThreadScrollToBottom, {}), jsxs("div", { className: "flex items-center gap-[10px]", children: [jsx("div", { className: "flex items-center justify-center rounded-[1px]", children: showThreadList ? jsx(NewThread, {}) : jsx(ClearThread, {}) }), jsxs(ComposerPrimitiveRoot, { className: "aui-composer-root group/input-group relative flex flex-1 flex-col rounded-[68px] border border-[#EAEDF1] bg-background px-4 py-[10px] shadow-sm transition-all outline-none focus-within:border-primary/50 focus-within:ring-1 focus-within:ring-primary/50 dark:bg-background dark:border-muted", children: [jsx(ComposerAttachments, {}), jsxs("div", { className: "flex items-center w-full gap-2", children: [jsx(ComposerPrimitiveInput, { placeholder: placeholder, className: "aui-composer-input max-h-32 min-h-[24px] flex-1 resize-none bg-transparent py-0 text-base outline-none placeholder:text-muted-foreground", rows: 1, autoFocus: true, "aria-label": "Message input" }), jsx(ComposerAction, {})] })] })] })] }));
|
|
130
130
|
};
|
|
131
131
|
const ComposerAction = () => {
|
|
132
132
|
const { currentThread } = useThread();
|
|
133
133
|
const plugins = useChatkitPlugins();
|
|
134
|
-
return (jsxs("div", { className: "aui-composer-action-wrapper flex items-center gap-3", children: [
|
|
134
|
+
return (jsxs("div", { className: "aui-composer-action-wrapper flex items-center gap-3", children: [jsx("div", { className: "flex items-center gap-2", children: plugins.map((plugin, idx) => (jsx("div", { className: "flex items-center justify-center", children: plugin }, idx))) }), jsx("div", { className: "h-5 w-[1px] bg-[#E5E7EB] dark:bg-border" }), jsx(ThreadPrimitiveIf, { running: false, children: jsx(ComposerPrimitiveSend, { asChild: true, children: jsx(TooltipIconButton, { tooltip: "\u53D1\u9001", type: "submit", variant: "default", size: "icon", className: "aui-composer-send rounded-full size-[30px] bg-[#1664FF] text-white hover:bg-primary/10 hover:text-primary p-0", "aria-label": "Send message", children: currentThread?.loading ? (jsx(LoaderCircle, { className: "aui-composer-send-icon size-[18px] animate-spin" })) : (jsx(ArrowUp, { className: "aui-composer-send-icon size-[18px]" })) }) }) }), jsx(ThreadPrimitiveIf, { running: true, children: jsx(ComposerPrimitiveCancel, { asChild: true, children: jsx(Button, { type: "button", variant: "default", size: "icon", className: "aui-composer-cancel size-[30px] rounded-full border border-muted-foreground/60 hover:bg-primary/75 dark:border-muted-foreground/90", "aria-label": "Stop generating", children: jsx(AbortMessage, { className: "aui-composer-cancel-icon size-[30px] fill-white" }) }) }) })] }));
|
|
135
135
|
};
|
|
136
136
|
const MessageError = () => {
|
|
137
137
|
return (jsx(MessagePrimitiveError, { children: jsxs(ErrorPrimitiveRoot, { className: "aui-message-error-root mt-2 rounded-md border border-destructive bg-destructive/10 p-3 text-sm text-destructive dark:bg-destructive/5 dark:text-red-200", children: [jsx("div", { className: "font-medium text-destructive text-red-500", children: "\u8BF7\u6C42\u51FA\u73B0\u9519\u8BEF\uFF01" }), jsx(ErrorPrimitiveMessage, { className: "aui-message-error-message line-clamp-2" })] }) }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"thread.js","sources":["../../../src/components/assistant-ui/thread.tsx"],"sourcesContent":["import {\n ArrowDownIcon,\n ArrowUpIcon,\n CheckIcon,\n ChevronLeftIcon,\n ChevronRightIcon,\n PencilIcon,\n Square,\n Share2Icon, // 添加分享图标\n MoreHorizontalIcon,\n LoaderCircle,\n} from \"lucide-react\";\nimport { v4 as uuid } from \"uuid\";\nimport {\n ActionBarPrimitive,\n BranchPickerPrimitive,\n ComposerPrimitive,\n ErrorPrimitive,\n MessagePrimitive,\n ThreadPrimitive,\n useAssistantState,\n useMessagePartText,\n} from \"@assistant-ui/react\";\n\nimport { useMemo, useState, type FC, type PropsWithChildren } from \"react\";\nimport { LazyMotion, MotionConfig, domAnimation } from \"motion/react\";\nimport * as m from \"motion/react-m\";\n\nimport { Button } from \"@/components/ui/button\";\nimport { MarkdownText } from \"@/components/assistant-ui/markdown-text\";\nimport { ToolFallback } from \"@/components/assistant-ui/tool-fallback\";\nimport { TooltipIconButton } from \"@/components/assistant-ui/tooltip-icon-button\";\nimport {\n ComposerAddAttachment,\n ComposerAttachments,\n UserMessageAttachments,\n} from \"@/components/assistant-ui/attachment\";\nimport { File } from \"@/components/assistant-ui/file\";\n\nimport { cn } from \"@/lib/utils\";\nimport { Reasoning, ReasoningGroup } from \"./reasoning\";\nimport {\n useChatkitContext,\n useChatkitPlugins,\n useChatkitRef,\n} from \"@/contexts/ChatkitContext\";\nimport ThumbUpIcon from \"@/assets/ThumbUpIcon\";\nimport ThumbDownIcon from \"@/assets/ThumbDownIcon\";\nimport CopyIcon from \"@/assets/Copy\";\nimport RefreshIcon from \"@/assets/RefreshIcon\";\nimport ThreadHeader from \"./thread-header\";\nimport NewSession from \"@/assets/NewSession\";\nimport dayjs from \"dayjs\";\nimport useThread from \"@/hooks/useThread\";\nimport Recommend from \"../welcome\";\nimport { saveStringToMarkdown } from \"@/utils/download\";\nimport Download from \"@/assets/Download\";\nimport AbortMessage from \"@/assets/AbortMessage\";\nimport ClearIcon from \"@/assets/ClearIcon\";\n\nexport const Thread: FC<{\n welcome?: React.ReactNode;\n recommends?: string[];\n}> = ({ welcome, recommends }) => {\n const { currentThread } = useThread();\n const ref = useChatkitRef();\n const welcomeElement = useMemo(() => {\n if (welcome) return welcome;\n if (recommends)\n return (\n <Recommend\n recommends={recommends}\n onSelect={(question) => {\n ref.current?.sendMessage({\n content: [\n {\n type: \"text\",\n text: question,\n },\n ],\n });\n }}\n />\n );\n return undefined;\n }, [recommends]);\n const { showHeader } = useChatkitContext();\n return (\n <div className=\"min-w-full h-full flex flex-col\">\n {showHeader && (\n <ThreadHeader title={currentThread?.name || \"Thread Title\"} />\n )}\n <LazyMotion features={domAnimation}>\n <MotionConfig reducedMotion=\"user\">\n <ThreadPrimitive.Root\n className=\"aui-root aui-thread-root @container flex-1 flex h-[calc(100%-65px)] flex-col bg-background\"\n style={{\n [\"--thread-max-width\" as string]: \"66rem\",\n }}\n >\n <ThreadPrimitive.If empty={false}>\n <ThreadPrimitive.Viewport className=\"aui-thread-viewport relative flex flex-1 flex-col overflow-x-auto overflow-y-scroll px-4\">\n <ThreadPrimitive.Messages\n components={{\n UserMessage,\n EditComposer,\n AssistantMessage,\n }}\n />\n <div className=\"aui-thread-viewport-spacer min-h-12 grow z-9 bg-white\" />\n <Composer />\n </ThreadPrimitive.Viewport>\n </ThreadPrimitive.If>\n <ThreadPrimitive.If empty>\n <ThreadPrimitive.Viewport className=\"aui-thread-viewport relative flex flex-1 flex-col overflow-x-auto overflow-y-auto px-4 justify-center gap-[80px] \">\n <div className=\"min-h-12 grow z-9 bg-white\" />\n {currentThread?.loading ? (\n <div className=\"flex items-center justify-center gap-1.5 h-[180px]\">\n <span\n className=\"w-2.5 h-2.5 bg-gray-500 rounded-full\"\n style={{\n animation: \"bounce 1s ease-in-out infinite\",\n animationDelay: \"0ms\",\n }}\n />\n <span\n className=\"w-2.5 h-2.5 bg-gray-500 rounded-full\"\n style={{\n animation: \"bounce 1s ease-in-out infinite\",\n animationDelay: \"150ms\",\n }}\n />\n <span\n className=\"w-2.5 h-2.5 bg-gray-500 rounded-full\"\n style={{\n animation: \"bounce 1s ease-in-out infinite\",\n animationDelay: \"300ms\",\n }}\n />\n </div>\n ) : (\n welcomeElement ?? <ThreadWelcome />\n )}\n <div className=\"min-h-12 grow z-9 bg-white\" />\n <div className=\"flex items-center\">\n <Composer />\n </div>\n </ThreadPrimitive.Viewport>\n </ThreadPrimitive.If>\n </ThreadPrimitive.Root>\n </MotionConfig>\n </LazyMotion>\n </div>\n );\n};\n\nconst ThreadScrollToBottom: FC = () => {\n return (\n <ThreadPrimitive.ScrollToBottom asChild>\n <TooltipIconButton\n tooltip=\"Scroll to bottom\"\n variant=\"outline\"\n className=\"aui-thread-scroll-to-bottom absolute -top-12 z-10 self-center rounded-full p-4 disabled:invisible dark:bg-background dark:hover:bg-accent\"\n >\n <ArrowDownIcon />\n </TooltipIconButton>\n </ThreadPrimitive.ScrollToBottom>\n );\n};\n\nconst NewThread = () => {\n const ref = useChatkitRef();\n const handleCreateNewThread = () => {\n // 新建会话的逻辑\n const id = `thread-${Date.now()}`;\n ref.current?.addThread({\n id,\n name: \"新对话\",\n sending: false,\n metadata: {},\n messages: [],\n createdAt: dayjs().unix(),\n });\n ref.current?.setCurrentThread(id);\n };\n\n return (\n <TooltipIconButton\n tooltip=\"新会话\"\n onClick={handleCreateNewThread}\n className=\"flex h-[32px] w-[32px] items-center justify-center rounded-full bg-background border border-[#EAEDF1] dark:border-muted text-foreground transition-colors hover:bg-accent disabled:opacity-50 disabled:pointer-events-none\"\n >\n <NewSession />\n </TooltipIconButton>\n );\n};\n\nconst ClearThread = () => {\n const ref = useChatkitRef();\n const handleCreateNewThread = () => {\n ref.current?.clearCurrentThread();\n };\n const { currentThread } = useThread();\n\n return (\n <TooltipIconButton\n tooltip=\"清空会话\"\n disabled={currentThread?.messages.length === 0}\n onClick={handleCreateNewThread}\n className={cn(\n \"flex h-[44px] w-[44px] items-center justify-center rounded-full bg-background border border-[#EAEDF1] dark:border-muted text-foreground transition-colors hover:bg-accent disabled:pointer-events-none\",\n currentThread?.messages.length === 0 && \"opacity-50 pointer-events-none\"\n )}\n >\n <ClearIcon className=\"h-[16px] w-[16px]\" />\n </TooltipIconButton>\n );\n};\n\nconst ThreadWelcome: FC = () => {\n return (\n <div className=\"aui-thread-welcome-root mx-auto flex w-full max-w-[var(--thread-max-width)] flex-col\">\n <div className=\"aui-thread-welcome-center flex w-full flex-col items-center justify-center\">\n <div className=\"aui-thread-welcome-message flex size-full flex-col justify-center px-8 text-[24px] text-center font-medium leading-[100%] text-[#0C0D0E]\">\n 你好\n </div>\n </div>\n </div>\n );\n};\n\nconst ThreadSuggestions: FC = () => {\n return (\n <div className=\"aui-thread-welcome-suggestions grid w-full gap-2 pb-4 @md:grid-cols-2\">\n 你好\n </div>\n );\n};\n\nconst Composer: FC = () => {\n const { showThreadList, placeholder } = useChatkitContext();\n return (\n <div className=\"aui-composer-wrapper sticky bottom-0 mx-auto flex w-full max-w-[var(--thread-max-width)] flex-col gap-4 overflow-visible bg-background pb-4 md:pb-6\">\n <ThreadScrollToBottom />\n <div className=\"flex items-center gap-[10px]\">\n <div className=\"flex items-center justify-center rounded-[1px]\">\n {showThreadList ? <NewThread /> : <ClearThread />}\n </div>\n <ComposerPrimitive.Root className=\"aui-composer-root group/input-group relative flex flex-1 flex-col rounded-[68px] border border-[#EAEDF1] bg-background px-4 py-3 shadow-sm transition-all outline-none focus-within:border-primary/50 focus-within:ring-1 focus-within:ring-primary/50 dark:bg-background dark:border-muted\">\n <ComposerAttachments />\n <div className=\"flex items-center w-full gap-2\">\n <ComposerPrimitive.Input\n placeholder={placeholder}\n className=\"aui-composer-input max-h-32 min-h-[24px] flex-1 resize-none bg-transparent py-0 text-base outline-none placeholder:text-muted-foreground\"\n rows={1}\n autoFocus\n aria-label=\"Message input\"\n />\n <ComposerAction />\n </div>\n </ComposerPrimitive.Root>\n </div>\n </div>\n );\n};\n\nconst ComposerAction: FC = () => {\n const { currentThread } = useThread();\n const plugins = useChatkitPlugins();\n return (\n <div className=\"aui-composer-action-wrapper flex items-center gap-3\">\n <div className=\"flex items-center gap-2\">\n <ComposerAddAttachment />\n {plugins.map((plugin, idx) => (\n <div key={idx} className=\"flex items-center justify-center\">\n {plugin}\n </div>\n ))}\n </div>\n\n <div className=\"h-5 w-[1px] bg-[#E5E7EB] dark:bg-border\" />\n\n <ThreadPrimitive.If running={false}>\n <ComposerPrimitive.Send asChild>\n <TooltipIconButton\n tooltip=\"发送\"\n type=\"submit\"\n variant=\"default\"\n size=\"icon\"\n className=\"aui-composer-send rounded-full bg-[#1664FF] size-8 text-white hover:bg-primary/10 hover:text-primary p-0\"\n aria-label=\"Send message\"\n >\n {currentThread?.loading ? (\n <LoaderCircle className=\"aui-composer-send-icon size-5 animate-spin\" />\n ) : (\n <ArrowUpIcon className=\"aui-composer-send-icon size-5\" />\n )}\n </TooltipIconButton>\n </ComposerPrimitive.Send>\n </ThreadPrimitive.If>\n\n <ThreadPrimitive.If running>\n <ComposerPrimitive.Cancel asChild>\n <Button\n type=\"button\"\n variant=\"default\"\n size=\"icon\"\n className=\"aui-composer-cancel size-[32px] rounded-full border border-muted-foreground/60 hover:bg-primary/75 dark:border-muted-foreground/90\"\n aria-label=\"Stop generating\"\n >\n <AbortMessage className=\"aui-composer-cancel-icon size-[32px] fill-white\" />\n </Button>\n </ComposerPrimitive.Cancel>\n </ThreadPrimitive.If>\n </div>\n );\n};\n\nconst MessageError: FC = () => {\n return (\n <MessagePrimitive.Error>\n <ErrorPrimitive.Root className=\"aui-message-error-root mt-2 rounded-md border border-destructive bg-destructive/10 p-3 text-sm text-destructive dark:bg-destructive/5 dark:text-red-200\">\n <div className=\"font-medium text-destructive text-red-500\">\n 请求出现错误!\n </div>\n <ErrorPrimitive.Message className=\"aui-message-error-message line-clamp-2\" />\n </ErrorPrimitive.Root>\n </MessagePrimitive.Error>\n );\n};\n\nconst ToolGroup: FC<\n PropsWithChildren<{ startIndex: number; endIndex: number }>\n> = ({ startIndex, endIndex, children }) => {\n const toolCount = endIndex - startIndex + 1;\n return (\n <details className=\"my-2\">\n <summary className=\"cursor-pointer font-medium\">\n {toolCount} tool {toolCount === 1 ? \"call\" : \"calls\"}\n </summary>\n <div className=\"space-y-2 pl-4\">{children}</div>\n </details>\n );\n};\nconst AssistantMessage: FC = () => {\n return (\n <MessagePrimitive.Root asChild>\n <div\n className=\"aui-assistant-message-root relative mx-auto w-full max-w-[var(--thread-max-width)] py-4 duration-150 slide-in-from-bottom-1 last:mb-24\"\n data-role=\"assistant\"\n >\n <div className=\"group\">\n <div className=\"aui-assistant-message-content mx-2 leading-7 break-words text-foreground flex flex-col gap-[12px]\">\n <MessagePrimitive.Parts\n components={{\n Text: MarkdownText,\n tools: { Fallback: ToolFallback },\n File,\n Reasoning,\n // ToolGroup,\n ReasoningGroup,\n }}\n />\n <MessageError />\n </div>\n\n <div className=\"aui-assistant-message-footer mt-2 ml-2 flex hover:visible opacity-0 group-hover:opacity-100 transition-opacity duration-200\">\n <BranchPicker />\n <AssistantActionBar />\n </div>\n </div>\n </div>\n </MessagePrimitive.Root>\n );\n};\n\nconst AssistantActionBar: FC = () => {\n const [submittedFeedback, setSubmittedFeedback] = useState<\n \"positive\" | \"negative\" | undefined\n >(undefined);\n const { currentThread } = useThread();\n\n const downloadContent = useAssistantState(({ message }) => {\n if (\n (message.role !== \"assistant\" || message.status?.type !== \"running\") &&\n message.parts.some((c) => c.type === \"text\" && c.text.length > 0)\n ) {\n return message.parts\n .filter((c) => c.type === \"text\")\n .map((c) => c.text)\n .join(\"\\n\");\n }\n return \"\";\n });\n\n return (\n <ActionBarPrimitive.Root\n hideWhenRunning\n autohide=\"never\"\n autohideFloat=\"single-branch\"\n className=\"aui-assistant-action-bar-root col-start-3 row-start-2 -ml-1 flex items-center gap-[8px] text-muted-foreground data-floating:absolute data-floating:rounded-md data-floating:border data-floating:bg-background data-floating:p-1 data-floating:shadow-sm\"\n >\n <div\n className=\"flex items-center justify-center\"\n onClick={() =>\n setSubmittedFeedback(\n submittedFeedback === \"positive\" ? undefined : \"positive\"\n )\n }\n >\n <TooltipIconButton tooltip=\"Like\">\n <ThumbUpIcon\n className=\"aui-assistant-action-bar-copy-check-icon size-[16px]\"\n fill={submittedFeedback === \"positive\" ? \"#000\" : undefined}\n />\n </TooltipIconButton>\n </div>\n <div\n className=\"flex items-center justify-center\"\n onClick={() =>\n setSubmittedFeedback(\n submittedFeedback === \"negative\" ? undefined : \"negative\"\n )\n }\n >\n <TooltipIconButton tooltip=\"Dislike\">\n <ThumbDownIcon\n className=\"aui-assistant-action-bar-copy-check-icon size-[16px]\"\n fill={submittedFeedback === \"negative\" ? \"#000\" : undefined}\n />\n </TooltipIconButton>\n </div>\n\n <div className=\"w-[1px] h-[12px] bg-[#DDE2E9]\" />\n <ActionBarPrimitive.Copy asChild>\n <TooltipIconButton tooltip=\"Copy\">\n <MessagePrimitive.If copied>\n <CheckIcon className=\"aui-assistant-action-bar-copy-check-icon size-[16px]\" />\n </MessagePrimitive.If>\n <MessagePrimitive.If copied={false}>\n <CopyIcon className=\"aui-assistant-action-bar-copy-icon size-[16px]\" />\n </MessagePrimitive.If>\n </TooltipIconButton>\n </ActionBarPrimitive.Copy>\n\n <TooltipIconButton\n tooltip=\"download\"\n onClick={() => {\n saveStringToMarkdown(downloadContent, \"message.md\");\n }}\n >\n <Download className=\"aui-assistant-action-bar-refresh-icon size-[16px]\" />\n </TooltipIconButton>\n <ActionBarPrimitive.Reload asChild>\n <TooltipIconButton tooltip=\"Refresh\">\n <RefreshIcon className=\"aui-assistant-action-bar-refresh-icon size-[16px]\" />\n </TooltipIconButton>\n </ActionBarPrimitive.Reload>\n </ActionBarPrimitive.Root>\n );\n};\n\n// const UserActionBar: FC = () => {\n// return (\n// <ActionBarPrimitive.Root\n// hideWhenRunning\n// autohide=\"not-last\"\n// className=\"aui-user-action-bar-root flex flex-col items-end\"\n// >\n// <ActionBarPrimitive.Edit asChild>\n// <TooltipIconButton tooltip=\"Edit\" className=\"aui-user-action-edit p-4\">\n// <PencilIcon />\n// </TooltipIconButton>\n// </ActionBarPrimitive.Edit>\n// </ActionBarPrimitive.Root>\n// );\n// };\n\nconst EditComposer: FC = () => {\n return (\n <div className=\"aui-edit-composer-wrapper mx-auto flex w-full max-w-[var(--thread-max-width)] flex-col gap-4 px-2 first:mt-4\">\n <ComposerPrimitive.Root className=\"aui-edit-composer-root ml-auto flex w-full max-w-7/8 flex-col rounded-xl bg-muted\">\n <ComposerPrimitive.Input\n className=\"aui-edit-composer-input flex min-h-[60px] w-full resize-none bg-transparent p-4 text-foreground outline-none\"\n autoFocus\n />\n\n <div className=\"aui-edit-composer-footer mx-3 mb-3 flex items-center justify-center gap-2 self-end\">\n <ComposerPrimitive.Cancel asChild>\n <Button variant=\"ghost\" size=\"sm\" aria-label=\"Cancel edit\">\n Cancel\n </Button>\n </ComposerPrimitive.Cancel>\n <ComposerPrimitive.Send asChild>\n <Button size=\"sm\" aria-label=\"Update message\">\n Update\n </Button>\n </ComposerPrimitive.Send>\n </div>\n </ComposerPrimitive.Root>\n </div>\n );\n};\n\nconst BranchPicker: FC<BranchPickerPrimitive.Root.Props> = ({\n className,\n ...rest\n}) => {\n return (\n <BranchPickerPrimitive.Root\n hideWhenSingleBranch\n className={cn(\n \"aui-branch-picker-root mr-2 -ml-2 inline-flex items-center text-xs text-muted-foreground\",\n className\n )}\n {...rest}\n >\n <BranchPickerPrimitive.Previous asChild>\n <TooltipIconButton tooltip=\"Previous\">\n <ChevronLeftIcon />\n </TooltipIconButton>\n </BranchPickerPrimitive.Previous>\n <span className=\"aui-branch-picker-state font-medium\">\n <BranchPickerPrimitive.Number /> / <BranchPickerPrimitive.Count />\n </span>\n <BranchPickerPrimitive.Next asChild>\n <TooltipIconButton tooltip=\"Next\">\n <ChevronRightIcon />\n </TooltipIconButton>\n </BranchPickerPrimitive.Next>\n </BranchPickerPrimitive.Root>\n );\n};\n\nconst UserMessage: FC = () => {\n return (\n <MessagePrimitive.Root asChild>\n <div\n className=\"aui-user-message-root mx-auto grid w-full max-w-[var(--thread-max-width)] animate-in auto-rows-auto grid-cols-[minmax(72px,1fr)_auto] gap-y-2 px-2 py-4 duration-150 ease-out fade-in slide-in-from-bottom-1 first:mt-3 last:mb-5 [&:where(>*)]:col-start-2 group\"\n data-role=\"user\"\n >\n <UserMessageAttachments />\n\n <div className=\"aui-user-message-content-wrapper relative col-start-2 min-w-0\">\n <div className=\"aui-user-message-content bg-muted px-5 py-2.5 break-words text-foreground bg-[#F3F7FF] rounded-[8px]\">\n <MessagePrimitive.Parts />\n </div>\n {/* <div className=\"aui-user-action-bar-wrapper invisible group-hover:visible transition-all duration-200\">\n <UserActionBar />\n </div> */}\n </div>\n\n {/* 移除了下方工具栏代码 */}\n\n <BranchPicker className=\"aui-user-branch-picker col-span-full col-start-1 row-start-3 -mr-1 justify-end\" />\n </div>\n </MessagePrimitive.Root>\n );\n};\n\n// 2. 修改UserActionBar组件,添加编辑、分享和更多选项功能\nconst UserActionBar: FC = () => {\n return (\n <ActionBarPrimitive.Root\n hideWhenRunning\n className=\"aui-user-action-bar-root flex items-end gap-2 justify-end bg-background p-1 rounded-md\"\n >\n <ActionBarPrimitive.Edit asChild>\n <TooltipIconButton tooltip=\"编辑\" className=\"aui-user-action-edit\">\n <PencilIcon className=\"h-3.5 w-3.5\" />\n </TooltipIconButton>\n </ActionBarPrimitive.Edit>\n\n <TooltipIconButton tooltip=\"编辑\" className=\"aui-user-action-edit\">\n <Share2Icon className=\"h-3.5 w-3.5\" />\n </TooltipIconButton>\n <TooltipIconButton tooltip=\"编辑\" className=\"aui-user-action-edit\">\n <MoreHorizontalIcon className=\"h-3.5 w-3.5\" />\n </TooltipIconButton>\n </ActionBarPrimitive.Root>\n );\n};\n"],"names":["_jsx","_jsxs","ThreadPrimitive.Root","ThreadPrimitive.If","ThreadPrimitive.Viewport","ThreadPrimitive.Messages","ThreadPrimitive.ScrollToBottom","ArrowDownIcon","ComposerPrimitive.Root","ComposerPrimitive.Input","ComposerPrimitive.Send","ArrowUpIcon","ComposerPrimitive.Cancel","MessagePrimitive.Error","ErrorPrimitive.Root","ErrorPrimitive.Message","MessagePrimitive.Root","MessagePrimitive.Parts","ActionBarPrimitive.Root","ActionBarPrimitive.Copy","MessagePrimitive.If","CheckIcon","ActionBarPrimitive.Reload","BranchPickerPrimitive.Root","BranchPickerPrimitive.Previous","ChevronLeftIcon","BranchPickerPrimitive.Number","BranchPickerPrimitive.Count","BranchPickerPrimitive.Next","ChevronRightIcon"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"thread.js","sources":["../../../src/components/assistant-ui/thread.tsx"],"sourcesContent":["import {\n ArrowDownIcon,\n ArrowUpIcon,\n CheckIcon,\n ChevronLeftIcon,\n ChevronRightIcon,\n PencilIcon,\n Square,\n Share2Icon, // 添加分享图标\n MoreHorizontalIcon,\n LoaderCircle,\n} from \"lucide-react\";\nimport { v4 as uuid } from \"uuid\";\nimport {\n ActionBarPrimitive,\n BranchPickerPrimitive,\n ComposerPrimitive,\n ErrorPrimitive,\n MessagePrimitive,\n ThreadPrimitive,\n useAssistantState,\n useMessagePartText,\n} from \"@assistant-ui/react\";\n\nimport { useMemo, useState, type FC, type PropsWithChildren } from \"react\";\nimport { LazyMotion, MotionConfig, domAnimation } from \"motion/react\";\nimport * as m from \"motion/react-m\";\n\nimport { Button } from \"@/components/ui/button\";\nimport { MarkdownText } from \"@/components/assistant-ui/markdown-text\";\nimport { ToolFallback } from \"@/components/assistant-ui/tool-fallback\";\nimport { TooltipIconButton } from \"@/components/assistant-ui/tooltip-icon-button\";\nimport {\n ComposerAddAttachment,\n ComposerAttachments,\n UserMessageAttachments,\n} from \"@/components/assistant-ui/attachment\";\nimport { File } from \"@/components/assistant-ui/file\";\n\nimport { cn } from \"@/lib/utils\";\nimport { Reasoning, ReasoningGroup } from \"./reasoning\";\nimport {\n useChatkitContext,\n useChatkitPlugins,\n useChatkitRef,\n} from \"@/contexts/ChatkitContext\";\nimport ThumbUpIcon from \"@/assets/ThumbUpIcon\";\nimport ThumbDownIcon from \"@/assets/ThumbDownIcon\";\nimport CopyIcon from \"@/assets/Copy\";\nimport RefreshIcon from \"@/assets/RefreshIcon\";\nimport ThreadHeader from \"./thread-header\";\nimport NewSession from \"@/assets/NewSession\";\nimport dayjs from \"dayjs\";\nimport useThread from \"@/hooks/useThread\";\nimport Recommend from \"../welcome\";\nimport { saveStringToMarkdown } from \"@/utils/download\";\nimport Download from \"@/assets/Download\";\nimport AbortMessage from \"@/assets/AbortMessage\";\nimport ClearIcon from \"@/assets/ClearIcon\";\n\nexport const Thread: FC<{\n welcome?: React.ReactNode;\n recommends?: string[];\n}> = ({ welcome, recommends }) => {\n const { currentThread } = useThread();\n const ref = useChatkitRef();\n const welcomeElement = useMemo(() => {\n if (welcome) return welcome;\n if (recommends)\n return (\n <Recommend\n recommends={recommends}\n onSelect={(question) => {\n ref.current?.sendMessage({\n content: [\n {\n type: \"text\",\n text: question,\n },\n ],\n });\n }}\n />\n );\n return undefined;\n }, [recommends]);\n const { showHeader } = useChatkitContext();\n return (\n <div className=\"min-w-full h-full flex flex-col\">\n {showHeader && (\n <ThreadHeader title={currentThread?.name || \"Thread Title\"} />\n )}\n <LazyMotion features={domAnimation}>\n <MotionConfig reducedMotion=\"user\">\n <ThreadPrimitive.Root\n className=\"aui-root aui-thread-root @container flex-1 flex h-[calc(100%-65px)] flex-col bg-background\"\n style={{\n [\"--thread-max-width\" as string]: \"66rem\",\n }}\n >\n <ThreadPrimitive.If empty={false}>\n <ThreadPrimitive.Viewport className=\"aui-thread-viewport relative flex flex-1 flex-col overflow-x-auto overflow-y-scroll px-4\">\n <ThreadPrimitive.Messages\n components={{\n UserMessage,\n EditComposer,\n AssistantMessage,\n }}\n />\n <div className=\"aui-thread-viewport-spacer min-h-12 grow z-9 bg-white\" />\n <Composer />\n </ThreadPrimitive.Viewport>\n </ThreadPrimitive.If>\n <ThreadPrimitive.If empty>\n <ThreadPrimitive.Viewport className=\"aui-thread-viewport relative flex flex-1 flex-col overflow-x-auto overflow-y-auto px-4 justify-center gap-[80px] \">\n <div className=\"min-h-12 grow z-9 bg-white\" />\n {currentThread?.loading ? (\n <div className=\"flex items-center justify-center gap-1.5 h-[180px]\">\n <span\n className=\"w-2.5 h-2.5 bg-gray-500 rounded-full\"\n style={{\n animation: \"bounce 1s ease-in-out infinite\",\n animationDelay: \"0ms\",\n }}\n />\n <span\n className=\"w-2.5 h-2.5 bg-gray-500 rounded-full\"\n style={{\n animation: \"bounce 1s ease-in-out infinite\",\n animationDelay: \"150ms\",\n }}\n />\n <span\n className=\"w-2.5 h-2.5 bg-gray-500 rounded-full\"\n style={{\n animation: \"bounce 1s ease-in-out infinite\",\n animationDelay: \"300ms\",\n }}\n />\n </div>\n ) : (\n welcomeElement ?? <ThreadWelcome />\n )}\n <div className=\"min-h-12 grow z-9 bg-white\" />\n <div className=\"flex items-center\">\n <Composer />\n </div>\n </ThreadPrimitive.Viewport>\n </ThreadPrimitive.If>\n </ThreadPrimitive.Root>\n </MotionConfig>\n </LazyMotion>\n </div>\n );\n};\n\nconst ThreadScrollToBottom: FC = () => {\n return (\n <ThreadPrimitive.ScrollToBottom asChild>\n <TooltipIconButton\n tooltip=\"Scroll to bottom\"\n variant=\"outline\"\n className=\"aui-thread-scroll-to-bottom absolute -top-12 z-10 self-center rounded-full p-4 disabled:invisible dark:bg-background dark:hover:bg-accent\"\n >\n <ArrowDownIcon />\n </TooltipIconButton>\n </ThreadPrimitive.ScrollToBottom>\n );\n};\n\nconst NewThread = () => {\n const ref = useChatkitRef();\n const handleCreateNewThread = () => {\n // 新建会话的逻辑\n const id = `thread-${Date.now()}`;\n ref.current?.addThread({\n id,\n name: \"新对话\",\n sending: false,\n metadata: {},\n messages: [],\n createdAt: dayjs().unix(),\n });\n ref.current?.setCurrentThread(id);\n };\n\n return (\n <TooltipIconButton\n tooltip=\"新会话\"\n onClick={handleCreateNewThread}\n className=\"flex h-[30px] w-[30px] items-center justify-center rounded-full bg-background border border-[#EAEDF1] dark:border-muted text-foreground transition-colors hover:bg-accent disabled:opacity-50 disabled:pointer-events-none\"\n >\n <NewSession />\n </TooltipIconButton>\n );\n};\n\nconst ClearThread = () => {\n const ref = useChatkitRef();\n const handleCreateNewThread = () => {\n ref.current?.clearCurrentThread();\n };\n const { currentThread } = useThread();\n\n return (\n <TooltipIconButton\n tooltip=\"清空会话\"\n disabled={currentThread?.messages.length === 0}\n onClick={handleCreateNewThread}\n className={cn(\n \"flex h-[38px] w-[38px] items-center justify-center rounded-full bg-background border border-[#EAEDF1] dark:border-muted text-foreground transition-colors hover:bg-accent disabled:pointer-events-none\",\n currentThread?.messages.length === 0 && \"opacity-50 pointer-events-none\"\n )}\n >\n <ClearIcon className=\"h-[18px] w-[18px]\" />\n </TooltipIconButton>\n );\n};\n\nconst ThreadWelcome: FC = () => {\n return (\n <div className=\"aui-thread-welcome-root mx-auto flex w-full max-w-[var(--thread-max-width)] flex-col\">\n <div className=\"aui-thread-welcome-center flex w-full flex-col items-center justify-center\">\n <div className=\"aui-thread-welcome-message flex size-full flex-col justify-center px-8 text-[24px] text-center font-medium leading-[100%] text-[#0C0D0E]\">\n 你好\n </div>\n </div>\n </div>\n );\n};\n\nconst ThreadSuggestions: FC = () => {\n return (\n <div className=\"aui-thread-welcome-suggestions grid w-full gap-2 pb-4 @md:grid-cols-2\">\n 你好\n </div>\n );\n};\n\nconst Composer: FC = () => {\n const { showThreadList, placeholder } = useChatkitContext();\n return (\n <div className=\"aui-composer-wrapper sticky bottom-0 mx-auto flex w-full max-w-[var(--thread-max-width)] flex-col gap-4 overflow-visible bg-background pb-4 md:pb-6\">\n <ThreadScrollToBottom />\n <div className=\"flex items-center gap-[10px]\">\n <div className=\"flex items-center justify-center rounded-[1px]\">\n {showThreadList ? <NewThread /> : <ClearThread />}\n </div>\n <ComposerPrimitive.Root className=\"aui-composer-root group/input-group relative flex flex-1 flex-col rounded-[68px] border border-[#EAEDF1] bg-background px-4 py-[10px] shadow-sm transition-all outline-none focus-within:border-primary/50 focus-within:ring-1 focus-within:ring-primary/50 dark:bg-background dark:border-muted\">\n <ComposerAttachments />\n <div className=\"flex items-center w-full gap-2\">\n <ComposerPrimitive.Input\n placeholder={placeholder}\n className=\"aui-composer-input max-h-32 min-h-[24px] flex-1 resize-none bg-transparent py-0 text-base outline-none placeholder:text-muted-foreground\"\n rows={1}\n autoFocus\n aria-label=\"Message input\"\n />\n <ComposerAction />\n </div>\n </ComposerPrimitive.Root>\n </div>\n </div>\n );\n};\n\nconst ComposerAction: FC = () => {\n const { currentThread } = useThread();\n const plugins = useChatkitPlugins();\n return (\n <div className=\"aui-composer-action-wrapper flex items-center gap-3\">\n <div className=\"flex items-center gap-2\">\n {plugins.map((plugin, idx) => (\n <div key={idx} className=\"flex items-center justify-center\">\n {plugin}\n </div>\n ))}\n </div>\n\n <div className=\"h-5 w-[1px] bg-[#E5E7EB] dark:bg-border\" />\n\n <ThreadPrimitive.If running={false}>\n <ComposerPrimitive.Send asChild>\n <TooltipIconButton\n tooltip=\"发送\"\n type=\"submit\"\n variant=\"default\"\n size=\"icon\"\n className=\"aui-composer-send rounded-full size-[30px] bg-[#1664FF] text-white hover:bg-primary/10 hover:text-primary p-0\"\n aria-label=\"Send message\"\n >\n {currentThread?.loading ? (\n <LoaderCircle className=\"aui-composer-send-icon size-[18px] animate-spin\" />\n ) : (\n <ArrowUpIcon className=\"aui-composer-send-icon size-[18px]\" />\n )}\n </TooltipIconButton>\n </ComposerPrimitive.Send>\n </ThreadPrimitive.If>\n\n <ThreadPrimitive.If running>\n <ComposerPrimitive.Cancel asChild>\n <Button\n type=\"button\"\n variant=\"default\"\n size=\"icon\"\n className=\"aui-composer-cancel size-[30px] rounded-full border border-muted-foreground/60 hover:bg-primary/75 dark:border-muted-foreground/90\"\n aria-label=\"Stop generating\"\n >\n <AbortMessage className=\"aui-composer-cancel-icon size-[30px] fill-white\" />\n </Button>\n </ComposerPrimitive.Cancel>\n </ThreadPrimitive.If>\n </div>\n );\n};\n\nconst MessageError: FC = () => {\n return (\n <MessagePrimitive.Error>\n <ErrorPrimitive.Root className=\"aui-message-error-root mt-2 rounded-md border border-destructive bg-destructive/10 p-3 text-sm text-destructive dark:bg-destructive/5 dark:text-red-200\">\n <div className=\"font-medium text-destructive text-red-500\">\n 请求出现错误!\n </div>\n <ErrorPrimitive.Message className=\"aui-message-error-message line-clamp-2\" />\n </ErrorPrimitive.Root>\n </MessagePrimitive.Error>\n );\n};\n\nconst ToolGroup: FC<\n PropsWithChildren<{ startIndex: number; endIndex: number }>\n> = ({ startIndex, endIndex, children }) => {\n const toolCount = endIndex - startIndex + 1;\n return (\n <details className=\"my-2\">\n <summary className=\"cursor-pointer font-medium\">\n {toolCount} tool {toolCount === 1 ? \"call\" : \"calls\"}\n </summary>\n <div className=\"space-y-2 pl-4\">{children}</div>\n </details>\n );\n};\nconst AssistantMessage: FC = () => {\n return (\n <MessagePrimitive.Root asChild>\n <div\n className=\"aui-assistant-message-root relative mx-auto w-full max-w-[var(--thread-max-width)] py-4 duration-150 slide-in-from-bottom-1 last:mb-24\"\n data-role=\"assistant\"\n >\n <div className=\"group\">\n <div className=\"aui-assistant-message-content mx-2 leading-7 break-words text-foreground flex flex-col gap-[12px]\">\n <MessagePrimitive.Parts\n components={{\n Text: MarkdownText,\n tools: { Fallback: ToolFallback },\n File,\n Reasoning,\n // ToolGroup,\n ReasoningGroup,\n }}\n />\n <MessageError />\n </div>\n\n <div className=\"aui-assistant-message-footer mt-2 ml-2 flex hover:visible opacity-0 group-hover:opacity-100 transition-opacity duration-200\">\n <BranchPicker />\n <AssistantActionBar />\n </div>\n </div>\n </div>\n </MessagePrimitive.Root>\n );\n};\n\nconst AssistantActionBar: FC = () => {\n const [submittedFeedback, setSubmittedFeedback] = useState<\n \"positive\" | \"negative\" | undefined\n >(undefined);\n const { currentThread } = useThread();\n\n const downloadContent = useAssistantState(({ message }) => {\n if (\n (message.role !== \"assistant\" || message.status?.type !== \"running\") &&\n message.parts.some((c) => c.type === \"text\" && c.text.length > 0)\n ) {\n return message.parts\n .filter((c) => c.type === \"text\")\n .map((c) => c.text)\n .join(\"\\n\");\n }\n return \"\";\n });\n\n return (\n <ActionBarPrimitive.Root\n hideWhenRunning\n autohide=\"never\"\n autohideFloat=\"single-branch\"\n className=\"aui-assistant-action-bar-root col-start-3 row-start-2 -ml-1 flex items-center gap-[8px] text-muted-foreground data-floating:absolute data-floating:rounded-md data-floating:border data-floating:bg-background data-floating:p-1 data-floating:shadow-sm\"\n >\n <div\n className=\"flex items-center justify-center\"\n onClick={() =>\n setSubmittedFeedback(\n submittedFeedback === \"positive\" ? undefined : \"positive\"\n )\n }\n >\n <TooltipIconButton tooltip=\"Like\">\n <ThumbUpIcon\n className=\"aui-assistant-action-bar-copy-check-icon size-[16px]\"\n fill={submittedFeedback === \"positive\" ? \"#000\" : undefined}\n />\n </TooltipIconButton>\n </div>\n <div\n className=\"flex items-center justify-center\"\n onClick={() =>\n setSubmittedFeedback(\n submittedFeedback === \"negative\" ? undefined : \"negative\"\n )\n }\n >\n <TooltipIconButton tooltip=\"Dislike\">\n <ThumbDownIcon\n className=\"aui-assistant-action-bar-copy-check-icon size-[16px]\"\n fill={submittedFeedback === \"negative\" ? \"#000\" : undefined}\n />\n </TooltipIconButton>\n </div>\n\n <div className=\"w-[1px] h-[12px] bg-[#DDE2E9]\" />\n <ActionBarPrimitive.Copy asChild>\n <TooltipIconButton tooltip=\"Copy\">\n <MessagePrimitive.If copied>\n <CheckIcon className=\"aui-assistant-action-bar-copy-check-icon size-[16px]\" />\n </MessagePrimitive.If>\n <MessagePrimitive.If copied={false}>\n <CopyIcon className=\"aui-assistant-action-bar-copy-icon size-[16px]\" />\n </MessagePrimitive.If>\n </TooltipIconButton>\n </ActionBarPrimitive.Copy>\n\n <TooltipIconButton\n tooltip=\"download\"\n onClick={() => {\n saveStringToMarkdown(downloadContent, \"message.md\");\n }}\n >\n <Download className=\"aui-assistant-action-bar-refresh-icon size-[16px]\" />\n </TooltipIconButton>\n <ActionBarPrimitive.Reload asChild>\n <TooltipIconButton tooltip=\"Refresh\">\n <RefreshIcon className=\"aui-assistant-action-bar-refresh-icon size-[16px]\" />\n </TooltipIconButton>\n </ActionBarPrimitive.Reload>\n </ActionBarPrimitive.Root>\n );\n};\n\n// const UserActionBar: FC = () => {\n// return (\n// <ActionBarPrimitive.Root\n// hideWhenRunning\n// autohide=\"not-last\"\n// className=\"aui-user-action-bar-root flex flex-col items-end\"\n// >\n// <ActionBarPrimitive.Edit asChild>\n// <TooltipIconButton tooltip=\"Edit\" className=\"aui-user-action-edit p-4\">\n// <PencilIcon />\n// </TooltipIconButton>\n// </ActionBarPrimitive.Edit>\n// </ActionBarPrimitive.Root>\n// );\n// };\n\nconst EditComposer: FC = () => {\n return (\n <div className=\"aui-edit-composer-wrapper mx-auto flex w-full max-w-[var(--thread-max-width)] flex-col gap-4 px-2 first:mt-4\">\n <ComposerPrimitive.Root className=\"aui-edit-composer-root ml-auto flex w-full max-w-7/8 flex-col rounded-xl bg-muted\">\n <ComposerPrimitive.Input\n className=\"aui-edit-composer-input flex min-h-[60px] w-full resize-none bg-transparent p-4 text-foreground outline-none\"\n autoFocus\n />\n\n <div className=\"aui-edit-composer-footer mx-3 mb-3 flex items-center justify-center gap-2 self-end\">\n <ComposerPrimitive.Cancel asChild>\n <Button variant=\"ghost\" size=\"sm\" aria-label=\"Cancel edit\">\n Cancel\n </Button>\n </ComposerPrimitive.Cancel>\n <ComposerPrimitive.Send asChild>\n <Button size=\"sm\" aria-label=\"Update message\">\n Update\n </Button>\n </ComposerPrimitive.Send>\n </div>\n </ComposerPrimitive.Root>\n </div>\n );\n};\n\nconst BranchPicker: FC<BranchPickerPrimitive.Root.Props> = ({\n className,\n ...rest\n}) => {\n return (\n <BranchPickerPrimitive.Root\n hideWhenSingleBranch\n className={cn(\n \"aui-branch-picker-root mr-2 -ml-2 inline-flex items-center text-xs text-muted-foreground\",\n className\n )}\n {...rest}\n >\n <BranchPickerPrimitive.Previous asChild>\n <TooltipIconButton tooltip=\"Previous\">\n <ChevronLeftIcon />\n </TooltipIconButton>\n </BranchPickerPrimitive.Previous>\n <span className=\"aui-branch-picker-state font-medium\">\n <BranchPickerPrimitive.Number /> / <BranchPickerPrimitive.Count />\n </span>\n <BranchPickerPrimitive.Next asChild>\n <TooltipIconButton tooltip=\"Next\">\n <ChevronRightIcon />\n </TooltipIconButton>\n </BranchPickerPrimitive.Next>\n </BranchPickerPrimitive.Root>\n );\n};\n\nconst UserMessage: FC = () => {\n return (\n <MessagePrimitive.Root asChild>\n <div\n className=\"aui-user-message-root mx-auto grid w-full max-w-[var(--thread-max-width)] animate-in auto-rows-auto grid-cols-[minmax(72px,1fr)_auto] gap-y-2 px-2 py-4 duration-150 ease-out fade-in slide-in-from-bottom-1 first:mt-3 last:mb-5 [&:where(>*)]:col-start-2 group\"\n data-role=\"user\"\n >\n <UserMessageAttachments />\n\n <div className=\"aui-user-message-content-wrapper relative col-start-2 min-w-0\">\n <div className=\"aui-user-message-content bg-muted px-5 py-2.5 break-words text-foreground bg-[#F3F7FF] rounded-[8px]\">\n <MessagePrimitive.Parts />\n </div>\n {/* <div className=\"aui-user-action-bar-wrapper invisible group-hover:visible transition-all duration-200\">\n <UserActionBar />\n </div> */}\n </div>\n\n {/* 移除了下方工具栏代码 */}\n\n <BranchPicker className=\"aui-user-branch-picker col-span-full col-start-1 row-start-3 -mr-1 justify-end\" />\n </div>\n </MessagePrimitive.Root>\n );\n};\n\n// 2. 修改UserActionBar组件,添加编辑、分享和更多选项功能\nconst UserActionBar: FC = () => {\n return (\n <ActionBarPrimitive.Root\n hideWhenRunning\n className=\"aui-user-action-bar-root flex items-end gap-2 justify-end bg-background p-1 rounded-md\"\n >\n <ActionBarPrimitive.Edit asChild>\n <TooltipIconButton tooltip=\"编辑\" className=\"aui-user-action-edit\">\n <PencilIcon className=\"h-3.5 w-3.5\" />\n </TooltipIconButton>\n </ActionBarPrimitive.Edit>\n\n <TooltipIconButton tooltip=\"编辑\" className=\"aui-user-action-edit\">\n <Share2Icon className=\"h-3.5 w-3.5\" />\n </TooltipIconButton>\n <TooltipIconButton tooltip=\"编辑\" className=\"aui-user-action-edit\">\n <MoreHorizontalIcon className=\"h-3.5 w-3.5\" />\n </TooltipIconButton>\n </ActionBarPrimitive.Root>\n );\n};\n"],"names":["_jsx","_jsxs","ThreadPrimitive.Root","ThreadPrimitive.If","ThreadPrimitive.Viewport","ThreadPrimitive.Messages","ThreadPrimitive.ScrollToBottom","ArrowDownIcon","ComposerPrimitive.Root","ComposerPrimitive.Input","ComposerPrimitive.Send","ArrowUpIcon","ComposerPrimitive.Cancel","MessagePrimitive.Error","ErrorPrimitive.Root","ErrorPrimitive.Message","MessagePrimitive.Root","MessagePrimitive.Parts","ActionBarPrimitive.Root","ActionBarPrimitive.Copy","MessagePrimitive.If","CheckIcon","ActionBarPrimitive.Reload","BranchPickerPrimitive.Root","BranchPickerPrimitive.Previous","ChevronLeftIcon","BranchPickerPrimitive.Number","BranchPickerPrimitive.Count","BranchPickerPrimitive.Next","ChevronRightIcon"],"mappings":"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"}
|
package/dist/index.css
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
.chatkit-wrapper *,.chatkit-wrapper :after,.chatkit-wrapper :before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.chatkit-wrapper ::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }
|
|
2
|
-
/* ! tailwindcss v3.4.18 | MIT License | https://tailwindcss.com */.chatkit-wrapper *,.chatkit-wrapper :after,.chatkit-wrapper :before{border:0 solid #e5e7eb;box-sizing:border-box}.chatkit-wrapper :after,.chatkit-wrapper :before{--tw-content:""}.chatkit-wrapper,.chatkit-wrapper :host{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4}.chatkit-wrapper{line-height:inherit;margin:0}.chatkit-wrapper hr{border-top-width:1px;color:inherit;height:0}.chatkit-wrapper abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.chatkit-wrapper h1,.chatkit-wrapper h2,.chatkit-wrapper h3,.chatkit-wrapper h4,.chatkit-wrapper h5,.chatkit-wrapper h6{font-size:inherit;font-weight:inherit}.chatkit-wrapper a{color:inherit;text-decoration:inherit}.chatkit-wrapper b,.chatkit-wrapper strong{font-weight:bolder}.chatkit-wrapper code,.chatkit-wrapper kbd,.chatkit-wrapper pre,.chatkit-wrapper samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}.chatkit-wrapper small{font-size:80%}.chatkit-wrapper sub,.chatkit-wrapper sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.chatkit-wrapper sub{bottom:-.25em}.chatkit-wrapper sup{top:-.5em}.chatkit-wrapper table{border-collapse:collapse;border-color:inherit;text-indent:0}.chatkit-wrapper button,.chatkit-wrapper input,.chatkit-wrapper optgroup,.chatkit-wrapper select,.chatkit-wrapper textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}.chatkit-wrapper button,.chatkit-wrapper select{text-transform:none}.chatkit-wrapper button,.chatkit-wrapper input:where([type=button]),.chatkit-wrapper input:where([type=reset]),.chatkit-wrapper input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}.chatkit-wrapper :-moz-focusring{outline:auto}.chatkit-wrapper :-moz-ui-invalid{box-shadow:none}.chatkit-wrapper progress{vertical-align:baseline}.chatkit-wrapper ::-webkit-inner-spin-button,.chatkit-wrapper ::-webkit-outer-spin-button{height:auto}.chatkit-wrapper [type=search]{-webkit-appearance:textfield;outline-offset:-2px}.chatkit-wrapper ::-webkit-search-decoration{-webkit-appearance:none}.chatkit-wrapper ::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}.chatkit-wrapper summary{display:list-item}.chatkit-wrapper blockquote,.chatkit-wrapper dd,.chatkit-wrapper dl,.chatkit-wrapper figure,.chatkit-wrapper h1,.chatkit-wrapper h2,.chatkit-wrapper h3,.chatkit-wrapper h4,.chatkit-wrapper h5,.chatkit-wrapper h6,.chatkit-wrapper hr,.chatkit-wrapper p,.chatkit-wrapper pre{margin:0}.chatkit-wrapper fieldset{margin:0;padding:0}.chatkit-wrapper legend{padding:0}.chatkit-wrapper menu,.chatkit-wrapper ol,.chatkit-wrapper ul{list-style:none;margin:0;padding:0}.chatkit-wrapper dialog{padding:0}.chatkit-wrapper textarea{resize:vertical}.chatkit-wrapper input::-moz-placeholder,.chatkit-wrapper textarea::-moz-placeholder{color:#9ca3af;opacity:1}.chatkit-wrapper input::placeholder,.chatkit-wrapper textarea::placeholder{color:#9ca3af;opacity:1}.chatkit-wrapper [role=button],.chatkit-wrapper button{cursor:pointer}.chatkit-wrapper :disabled{cursor:default}.chatkit-wrapper audio,.chatkit-wrapper canvas,.chatkit-wrapper embed,.chatkit-wrapper iframe,.chatkit-wrapper img,.chatkit-wrapper object,.chatkit-wrapper svg,.chatkit-wrapper video{display:block;vertical-align:middle}.chatkit-wrapper img,.chatkit-wrapper video{height:auto;max-width:100%}.chatkit-wrapper [hidden]:where(:not([hidden=until-found])){display:none}.chatkit-wrapper .container{width:100%}@media (min-width:640px){.chatkit-wrapper .container{max-width:640px}}@media (min-width:768px){.chatkit-wrapper .container{max-width:768px}}@media (min-width:1024px){.chatkit-wrapper .container{max-width:1024px}}@media (min-width:1280px){.chatkit-wrapper .container{max-width:1280px}}@media (min-width:1536px){.chatkit-wrapper .container{max-width:1536px}}.chatkit-wrapper .sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.chatkit-wrapper .pointer-events-none{pointer-events:none}.chatkit-wrapper .pointer-events-auto{pointer-events:auto}.chatkit-wrapper .invisible{visibility:hidden}.chatkit-wrapper .collapse{visibility:collapse}.chatkit-wrapper .static{position:static}.chatkit-wrapper .fixed{position:fixed}.chatkit-wrapper .absolute{position:absolute}.chatkit-wrapper .relative{position:relative}.chatkit-wrapper .sticky{position:sticky}.chatkit-wrapper .inset-0{inset:0}.chatkit-wrapper .inset-x-0{left:0;right:0}.chatkit-wrapper .inset-y-0{bottom:0;top:0}.chatkit-wrapper .-top-12{top:-3rem}.chatkit-wrapper .bottom-0{bottom:0}.chatkit-wrapper .left-0{left:0}.chatkit-wrapper .left-\[50\%\]{left:50%}.chatkit-wrapper .right-0{right:0}.chatkit-wrapper .right-1{right:.25rem}.chatkit-wrapper .right-1\.5{right:.375rem}.chatkit-wrapper .right-2{right:.5rem}.chatkit-wrapper .right-3{right:.75rem}.chatkit-wrapper .right-4{right:1rem}.chatkit-wrapper .top-0{top:0}.chatkit-wrapper .top-1\.5{top:.375rem}.chatkit-wrapper .top-2{top:.5rem}.chatkit-wrapper .top-3\.5{top:.875rem}.chatkit-wrapper .top-4{top:1rem}.chatkit-wrapper .top-\[50\%\]{top:50%}.chatkit-wrapper .z-0{z-index:0}.chatkit-wrapper .z-10{z-index:10}.chatkit-wrapper .z-20{z-index:20}.chatkit-wrapper .z-50{z-index:50}.chatkit-wrapper .z-\[100\]{z-index:100}.chatkit-wrapper .col-span-full{grid-column:1/-1}.chatkit-wrapper .col-start-1{grid-column-start:1}.chatkit-wrapper .col-start-2{grid-column-start:2}.chatkit-wrapper .col-start-3{grid-column-start:3}.chatkit-wrapper .row-start-1{grid-row-start:1}.chatkit-wrapper .row-start-2{grid-row-start:2}.chatkit-wrapper .row-start-3{grid-row-start:3}.chatkit-wrapper .m-0{margin:0}.chatkit-wrapper .m-\[4px\]{margin:4px}.chatkit-wrapper .-mx-2{margin-left:-.5rem;margin-right:-.5rem}.chatkit-wrapper .mx-2{margin-left:.5rem;margin-right:.5rem}.chatkit-wrapper .mx-3{margin-left:.75rem;margin-right:.75rem}.chatkit-wrapper .mx-3\.5{margin-left:.875rem;margin-right:.875rem}.chatkit-wrapper .mx-auto{margin-left:auto;margin-right:auto}.chatkit-wrapper .my-2{margin-bottom:.5rem;margin-top:.5rem}.chatkit-wrapper .my-4{margin-bottom:1rem;margin-top:1rem}.chatkit-wrapper .my-5{margin-bottom:1.25rem;margin-top:1.25rem}.chatkit-wrapper .-ml-1{margin-left:-.25rem}.chatkit-wrapper .-ml-2{margin-left:-.5rem}.chatkit-wrapper .-mr-1{margin-right:-.25rem}.chatkit-wrapper .mb-1{margin-bottom:.25rem}.chatkit-wrapper .mb-2{margin-bottom:.5rem}.chatkit-wrapper .mb-3{margin-bottom:.75rem}.chatkit-wrapper .mb-4{margin-bottom:1rem}.chatkit-wrapper .mb-5{margin-bottom:1.25rem}.chatkit-wrapper .mb-6{margin-bottom:1.5rem}.chatkit-wrapper .mb-8{margin-bottom:2rem}.chatkit-wrapper .mb-\[4px\]{margin-bottom:4px}.chatkit-wrapper .ml-2{margin-left:.5rem}.chatkit-wrapper .ml-3{margin-left:.75rem}.chatkit-wrapper .ml-6{margin-left:1.5rem}.chatkit-wrapper .ml-\[24px\]{margin-left:24px}.chatkit-wrapper .ml-auto{margin-left:auto}.chatkit-wrapper .mr-1{margin-right:.25rem}.chatkit-wrapper .mr-1\.5{margin-right:.375rem}.chatkit-wrapper .mr-2{margin-right:.5rem}.chatkit-wrapper .mr-3{margin-right:.75rem}.chatkit-wrapper .mr-4{margin-right:1rem}.chatkit-wrapper .mr-6{margin-right:1.5rem}.chatkit-wrapper .mt-0\.5{margin-top:.125rem}.chatkit-wrapper .mt-1{margin-top:.25rem}.chatkit-wrapper .mt-1\.5{margin-top:.375rem}.chatkit-wrapper .mt-2{margin-top:.5rem}.chatkit-wrapper .mt-4{margin-top:1rem}.chatkit-wrapper .mt-5{margin-top:1.25rem}.chatkit-wrapper .mt-6{margin-top:1.5rem}.chatkit-wrapper .mt-8{margin-top:2rem}.chatkit-wrapper .mt-\[8px\]{margin-top:8px}.chatkit-wrapper .mt-auto{margin-top:auto}.chatkit-wrapper .line-clamp-1{-webkit-line-clamp:1}.chatkit-wrapper .line-clamp-1,.chatkit-wrapper .line-clamp-2{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.chatkit-wrapper .line-clamp-2{-webkit-line-clamp:2}.chatkit-wrapper .block{display:block}.chatkit-wrapper .inline-block{display:inline-block}.chatkit-wrapper .flex{display:flex}.chatkit-wrapper .inline-flex{display:inline-flex}.chatkit-wrapper .table{display:table}.chatkit-wrapper .grid{display:grid}.chatkit-wrapper .\!contents{display:contents!important}.chatkit-wrapper .contents{display:contents}.chatkit-wrapper .hidden{display:none}.chatkit-wrapper .aspect-square{aspect-ratio:1/1}.chatkit-wrapper .size-10{height:2.5rem;width:2.5rem}.chatkit-wrapper .size-14{height:3.5rem;width:3.5rem}.chatkit-wrapper .size-2\.5{height:.625rem;width:.625rem}.chatkit-wrapper .size-3{height:.75rem;width:.75rem}.chatkit-wrapper .size-3\.5{height:.875rem;width:.875rem}.chatkit-wrapper .size-4{height:1rem;width:1rem}.chatkit-wrapper .size-5{height:1.25rem;width:1.25rem}.chatkit-wrapper .size-6{height:1.5rem;width:1.5rem}.chatkit-wrapper .size-7{height:1.75rem;width:1.75rem}.chatkit-wrapper .size-8{height:2rem;width:2rem}.chatkit-wrapper .size-9{height:2.25rem;width:2.25rem}.chatkit-wrapper .size-\[16px\]{height:16px;width:16px}.chatkit-wrapper .size-\[32px\]{height:32px;width:32px}.chatkit-wrapper .size-full{height:100%;width:100%}.chatkit-wrapper .h-10{height:2.5rem}.chatkit-wrapper .h-11{height:2.75rem}.chatkit-wrapper .h-12{height:3rem}.chatkit-wrapper .h-16{height:4rem}.chatkit-wrapper .h-2\.5{height:.625rem}.chatkit-wrapper .h-3{height:.75rem}.chatkit-wrapper .h-3\.5{height:.875rem}.chatkit-wrapper .h-4{height:1rem}.chatkit-wrapper .h-5{height:1.25rem}.chatkit-wrapper .h-7{height:1.75rem}.chatkit-wrapper .h-8{height:2rem}.chatkit-wrapper .h-9{height:2.25rem}.chatkit-wrapper .h-\[12px\]{height:12px}.chatkit-wrapper .h-\[16px\]{height:16px}.chatkit-wrapper .h-\[180px\]{height:180px}.chatkit-wrapper .h-\[22px\]{height:22px}.chatkit-wrapper .h-\[24px\]{height:24px}.chatkit-wrapper .h-\[28px\]{height:28px}.chatkit-wrapper .h-\[32px\]{height:32px}.chatkit-wrapper .h-\[38px\]{height:38px}.chatkit-wrapper .h-\[44px\]{height:44px}.chatkit-wrapper .h-\[61px\]{height:61px}.chatkit-wrapper .h-\[calc\(100\%-65px\)\]{height:calc(100% - 65px)}.chatkit-wrapper .h-auto{height:auto}.chatkit-wrapper .h-fit{height:-moz-fit-content;height:fit-content}.chatkit-wrapper .h-full{height:100%}.chatkit-wrapper .h-svh{height:100svh}.chatkit-wrapper .max-h-32{max-height:8rem}.chatkit-wrapper .max-h-\[200px\]{max-height:200px}.chatkit-wrapper .max-h-\[500px\]{max-height:500px}.chatkit-wrapper .max-h-\[600px\]{max-height:600px}.chatkit-wrapper .max-h-\[80dvh\]{max-height:80dvh}.chatkit-wrapper .max-h-\[80vh\]{max-height:80vh}.chatkit-wrapper .max-h-\[calc\(90vh-140px\)\]{max-height:calc(90vh - 140px)}.chatkit-wrapper .max-h-screen{max-height:100vh}.chatkit-wrapper .min-h-0{min-height:0}.chatkit-wrapper .min-h-12{min-height:3rem}.chatkit-wrapper .min-h-\[24px\]{min-height:24px}.chatkit-wrapper .min-h-\[400px\]{min-height:400px}.chatkit-wrapper .min-h-\[60px\]{min-height:60px}.chatkit-wrapper .min-h-svh{min-height:100svh}.chatkit-wrapper .w-1{width:.25rem}.chatkit-wrapper .w-10{width:2.5rem}.chatkit-wrapper .w-16{width:4rem}.chatkit-wrapper .w-2\.5{width:.625rem}.chatkit-wrapper .w-3{width:.75rem}.chatkit-wrapper .w-3\.5{width:.875rem}.chatkit-wrapper .w-3\/4{width:75%}.chatkit-wrapper .w-4{width:1rem}.chatkit-wrapper .w-5{width:1.25rem}.chatkit-wrapper .w-5\/6{width:83.333333%}.chatkit-wrapper .w-7{width:1.75rem}.chatkit-wrapper .w-8{width:2rem}.chatkit-wrapper .w-\[160px\]{width:160px}.chatkit-wrapper .w-\[16px\]{width:16px}.chatkit-wrapper .w-\[180px\]{width:180px}.chatkit-wrapper .w-\[1px\]{width:1px}.chatkit-wrapper .w-\[240px\]{width:240px}.chatkit-wrapper .w-\[28px\]{width:28px}.chatkit-wrapper .w-\[32px\]{width:32px}.chatkit-wrapper .w-\[44px\]{width:44px}.chatkit-wrapper .w-auto{width:auto}.chatkit-wrapper .w-fit{width:-moz-fit-content;width:fit-content}.chatkit-wrapper .w-full{width:100%}.chatkit-wrapper .w-max{width:-moz-max-content;width:max-content}.chatkit-wrapper .min-w-0{min-width:0}.chatkit-wrapper .min-w-5{min-width:1.25rem}.chatkit-wrapper .min-w-\[80px\]{min-width:80px}.chatkit-wrapper .min-w-full{min-width:100%}.chatkit-wrapper .max-w-2xl{max-width:42rem}.chatkit-wrapper .max-w-3xl{max-width:48rem}.chatkit-wrapper .max-w-4xl{max-width:56rem}.chatkit-wrapper .max-w-\[240px\]{max-width:240px}.chatkit-wrapper .max-w-\[800px\]{max-width:800px}.chatkit-wrapper .max-w-\[calc\(100\%-2rem\)\]{max-width:calc(100% - 2rem)}.chatkit-wrapper .max-w-\[var\(--thread-max-width\)\]{max-width:var(--thread-max-width)}.chatkit-wrapper .max-w-full{max-width:100%}.chatkit-wrapper .flex-1{flex:1 1 0%}.chatkit-wrapper .flex-shrink-0,.chatkit-wrapper .shrink-0{flex-shrink:0}.chatkit-wrapper .flex-grow{flex-grow:1}.chatkit-wrapper .flex-grow-0{flex-grow:0}.chatkit-wrapper .grow{flex-grow:1}.chatkit-wrapper .border-separate{border-collapse:separate}.chatkit-wrapper .border-spacing-0{--tw-border-spacing-x:0px;--tw-border-spacing-y:0px;border-spacing:var(--tw-border-spacing-x) var(--tw-border-spacing-y)}.chatkit-wrapper .-translate-x-1\/2{--tw-translate-x:-50%}.chatkit-wrapper .-translate-x-1\/2,.chatkit-wrapper .-translate-x-px{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.chatkit-wrapper .-translate-x-px{--tw-translate-x:-1px}.chatkit-wrapper .translate-x-\[-50\%\]{--tw-translate-x:-50%}.chatkit-wrapper .translate-x-\[-50\%\],.chatkit-wrapper .translate-x-px{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.chatkit-wrapper .translate-x-px{--tw-translate-x:1px}.chatkit-wrapper .translate-y-\[-50\%\]{--tw-translate-y:-50%}.chatkit-wrapper .translate-y-\[-50\%\],.chatkit-wrapper .translate-y-\[calc\(-50\%_-_2px\)\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.chatkit-wrapper .translate-y-\[calc\(-50\%_-_2px\)\]{--tw-translate-y:calc(-50% - 2px)}.chatkit-wrapper .rotate-0{--tw-rotate:0deg}.chatkit-wrapper .rotate-0,.chatkit-wrapper .rotate-180{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.chatkit-wrapper .rotate-180{--tw-rotate:180deg}.chatkit-wrapper .rotate-45{--tw-rotate:45deg}.chatkit-wrapper .rotate-45,.chatkit-wrapper .rotate-90{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.chatkit-wrapper .rotate-90{--tw-rotate:90deg}.chatkit-wrapper .transform-gpu{transform:translate3d(var(--tw-translate-x),var(--tw-translate-y),0) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.chatkit-wrapper .animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(1turn)}}.chatkit-wrapper .animate-spin{animation:spin 1s linear infinite}.chatkit-wrapper .cursor-pointer{cursor:pointer}.chatkit-wrapper .select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.chatkit-wrapper .resize-none{resize:none}.chatkit-wrapper .scroll-m-20{scroll-margin:5rem}.chatkit-wrapper .list-decimal{list-style-type:decimal}.chatkit-wrapper .list-disc{list-style-type:disc}.chatkit-wrapper .auto-rows-auto{grid-auto-rows:auto}.chatkit-wrapper .grid-cols-\[minmax\(72px\2c 1fr\)_auto\]{grid-template-columns:minmax(72px,1fr) auto}.chatkit-wrapper .flex-row{flex-direction:row}.chatkit-wrapper .flex-col{flex-direction:column}.chatkit-wrapper .flex-col-reverse{flex-direction:column-reverse}.chatkit-wrapper .items-start{align-items:flex-start}.chatkit-wrapper .items-end{align-items:flex-end}.chatkit-wrapper .items-center{align-items:center}.chatkit-wrapper .items-stretch{align-items:stretch}.chatkit-wrapper .justify-start{justify-content:flex-start}.chatkit-wrapper .justify-end{justify-content:flex-end}.chatkit-wrapper .justify-center{justify-content:center}.chatkit-wrapper .justify-between{justify-content:space-between}.chatkit-wrapper .gap-0{gap:0}.chatkit-wrapper .gap-0\.5{gap:.125rem}.chatkit-wrapper .gap-1{gap:.25rem}.chatkit-wrapper .gap-1\.5{gap:.375rem}.chatkit-wrapper .gap-2{gap:.5rem}.chatkit-wrapper .gap-3{gap:.75rem}.chatkit-wrapper .gap-4{gap:1rem}.chatkit-wrapper .gap-\[10px\]{gap:10px}.chatkit-wrapper .gap-\[12px\]{gap:12px}.chatkit-wrapper .gap-\[80px\]{gap:80px}.chatkit-wrapper .gap-\[8px\]{gap:8px}.chatkit-wrapper .gap-y-2{row-gap:.5rem}.chatkit-wrapper .space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(1rem*var(--tw-space-x-reverse))}.chatkit-wrapper .space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(0px*var(--tw-space-y-reverse));margin-top:calc(0px*(1 - var(--tw-space-y-reverse)))}.chatkit-wrapper .space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.25rem*var(--tw-space-y-reverse));margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))}.chatkit-wrapper .space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.375rem*var(--tw-space-y-reverse));margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)))}.chatkit-wrapper .space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.chatkit-wrapper .space-y-2\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.625rem*var(--tw-space-y-reverse));margin-top:calc(.625rem*(1 - var(--tw-space-y-reverse)))}.chatkit-wrapper .space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.75rem*var(--tw-space-y-reverse));margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)))}.chatkit-wrapper .space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.chatkit-wrapper .space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.25rem*var(--tw-space-y-reverse));margin-top:calc(1.25rem*(1 - var(--tw-space-y-reverse)))}.chatkit-wrapper .space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.5rem*var(--tw-space-y-reverse));margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)))}.chatkit-wrapper .divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-bottom-width:calc(1px*var(--tw-divide-y-reverse));border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)))}.chatkit-wrapper .divide-gray-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(243 244 246/var(--tw-divide-opacity,1))}.chatkit-wrapper .self-end{align-self:flex-end}.chatkit-wrapper .self-center{align-self:center}.chatkit-wrapper .overflow-auto{overflow:auto}.chatkit-wrapper .overflow-hidden{overflow:hidden}.chatkit-wrapper .overflow-visible{overflow:visible}.chatkit-wrapper .overflow-x-auto{overflow-x:auto}.chatkit-wrapper .overflow-y-auto{overflow-y:auto}.chatkit-wrapper .overflow-y-scroll{overflow-y:scroll}.chatkit-wrapper .truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chatkit-wrapper .whitespace-nowrap{white-space:nowrap}.chatkit-wrapper .whitespace-pre-wrap{white-space:pre-wrap}.chatkit-wrapper .text-balance{text-wrap:balance}.chatkit-wrapper .break-words{overflow-wrap:break-word}.chatkit-wrapper .break-all{word-break:break-all}.chatkit-wrapper .rounded{border-radius:.25rem}.chatkit-wrapper .rounded-2xl{border-radius:1rem}.chatkit-wrapper .rounded-\[10px\]{border-radius:10px}.chatkit-wrapper .rounded-\[14px\]{border-radius:14px}.chatkit-wrapper .rounded-\[1px\]{border-radius:1px}.chatkit-wrapper .rounded-\[2px\]{border-radius:2px}.chatkit-wrapper .rounded-\[4px\]{border-radius:4px}.chatkit-wrapper .rounded-\[68px\]{border-radius:68px}.chatkit-wrapper .rounded-\[8px\]{border-radius:8px}.chatkit-wrapper .rounded-full{border-radius:9999px}.chatkit-wrapper .rounded-lg{border-radius:.5rem}.chatkit-wrapper .rounded-md{border-radius:.375rem}.chatkit-wrapper .rounded-none{border-radius:0}.chatkit-wrapper .rounded-xl{border-radius:.75rem}.chatkit-wrapper .\!rounded-t-none{border-top-left-radius:0!important;border-top-right-radius:0!important}.chatkit-wrapper .rounded-b-lg{border-bottom-left-radius:.5rem;border-bottom-right-radius:.5rem}.chatkit-wrapper .rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.chatkit-wrapper .border{border-width:1px}.chatkit-wrapper .border-0{border-width:0}.chatkit-wrapper .border-2{border-width:2px}.chatkit-wrapper .border-\[1px\]{border-width:1px}.chatkit-wrapper .border-b{border-bottom-width:1px}.chatkit-wrapper .border-l{border-left-width:1px}.chatkit-wrapper .border-l-2{border-left-width:2px}.chatkit-wrapper .border-r{border-right-width:1px}.chatkit-wrapper .border-t{border-top-width:1px}.chatkit-wrapper .border-t-0{border-top-width:0}.chatkit-wrapper .border-solid{border-style:solid}.chatkit-wrapper .border-dashed{border-style:dashed}.chatkit-wrapper .border-none{border-style:none}.chatkit-wrapper .border-\[\#\#0000001a\]{border-color:##0000001a}.chatkit-wrapper .border-\[\#0000000A\]{border-color:#0000000a}.chatkit-wrapper .border-\[\#0000001A\]{border-color:#0000001a}.chatkit-wrapper .border-\[\#1664FF1A\]{border-color:#1664ff1a}.chatkit-wrapper .border-\[\#E5E7EB\]{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.chatkit-wrapper .border-\[\#EAEDF1\]{--tw-border-opacity:1;border-color:rgb(234 237 241/var(--tw-border-opacity,1))}.chatkit-wrapper .border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity,1))}.chatkit-wrapper .border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.chatkit-wrapper .border-gray-200\/80{border-color:rgba(229,231,235,.8)}.chatkit-wrapper .border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.chatkit-wrapper .border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.chatkit-wrapper .border-transparent{border-color:transparent}.chatkit-wrapper .bg-\[\#0000000A\]{background-color:#0000000a}.chatkit-wrapper .bg-\[\#1664FF\]{--tw-bg-opacity:1;background-color:rgb(22 100 255/var(--tw-bg-opacity,1))}.chatkit-wrapper .bg-\[\#DDE2E9\]{--tw-bg-opacity:1;background-color:rgb(221 226 233/var(--tw-bg-opacity,1))}.chatkit-wrapper .bg-\[\#E5E7EB\]{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.chatkit-wrapper .bg-\[\#EBF1FF\]{--tw-bg-opacity:1;background-color:rgb(235 241 255/var(--tw-bg-opacity,1))}.chatkit-wrapper .bg-\[\#F3F7FF\]{--tw-bg-opacity:1;background-color:rgb(243 247 255/var(--tw-bg-opacity,1))}.chatkit-wrapper .bg-\[\#F6F8FA\]{--tw-bg-opacity:1;background-color:rgb(246 248 250/var(--tw-bg-opacity,1))}.chatkit-wrapper .bg-\[\#FAFBFC\]{--tw-bg-opacity:1;background-color:rgb(250 251 252/var(--tw-bg-opacity,1))}.chatkit-wrapper .bg-background{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.chatkit-wrapper .bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.chatkit-wrapper .bg-black\/50{background-color:rgba(0,0,0,.5)}.chatkit-wrapper .bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.chatkit-wrapper .bg-gray-50\/50{background-color:rgba(249,250,251,.5)}.chatkit-wrapper .bg-gray-500{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity,1))}.chatkit-wrapper .bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.chatkit-wrapper .bg-transparent{background-color:transparent}.chatkit-wrapper .bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.chatkit-wrapper .bg-white\/95{background-color:hsla(0,0%,100%,.95)}.chatkit-wrapper .bg-\[linear-gradient\(to_top\2c var\(--color-background\)\2c transparent\)\]{background-image:linear-gradient(to top,var(--color-background),transparent)}.chatkit-wrapper .bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.chatkit-wrapper .bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.chatkit-wrapper .bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.chatkit-wrapper .from-blue-50{--tw-gradient-from:#eff6ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(239,246,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.chatkit-wrapper .from-blue-500{--tw-gradient-from:#3b82f6 var(--tw-gradient-from-position);--tw-gradient-to:rgba(59,130,246,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.chatkit-wrapper .from-blue-600{--tw-gradient-from:#2563eb var(--tw-gradient-from-position);--tw-gradient-to:rgba(37,99,235,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.chatkit-wrapper .from-gray-50\/30{--tw-gradient-from:rgba(249,250,251,.3) var(--tw-gradient-from-position);--tw-gradient-to:rgba(249,250,251,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.chatkit-wrapper .from-gray-50\/50{--tw-gradient-from:rgba(249,250,251,.5) var(--tw-gradient-from-position);--tw-gradient-to:rgba(249,250,251,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.chatkit-wrapper .from-red-500{--tw-gradient-from:#ef4444 var(--tw-gradient-from-position);--tw-gradient-to:rgba(239,68,68,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.chatkit-wrapper .to-blue-100{--tw-gradient-to:#dbeafe var(--tw-gradient-to-position)}.chatkit-wrapper .to-blue-600{--tw-gradient-to:#2563eb var(--tw-gradient-to-position)}.chatkit-wrapper .to-blue-700{--tw-gradient-to:#1d4ed8 var(--tw-gradient-to-position)}.chatkit-wrapper .to-purple-500{--tw-gradient-to:#a855f7 var(--tw-gradient-to-position)}.chatkit-wrapper .to-red-600{--tw-gradient-to:#dc2626 var(--tw-gradient-to-position)}.chatkit-wrapper .to-white{--tw-gradient-to:#fff var(--tw-gradient-to-position)}.chatkit-wrapper .fill-white{fill:#fff}.chatkit-wrapper .stroke-\[2px\]{stroke-width:2px}.chatkit-wrapper .object-contain{-o-object-fit:contain;object-fit:contain}.chatkit-wrapper .object-cover{-o-object-fit:cover;object-fit:cover}.chatkit-wrapper .p-0{padding:0}.chatkit-wrapper .p-1{padding:.25rem}.chatkit-wrapper .p-1\.5{padding:.375rem}.chatkit-wrapper .p-2{padding:.5rem}.chatkit-wrapper .p-3{padding:.75rem}.chatkit-wrapper .p-4{padding:1rem}.chatkit-wrapper .p-6{padding:1.5rem}.chatkit-wrapper .p-8{padding:2rem}.chatkit-wrapper .px-1{padding-left:.25rem;padding-right:.25rem}.chatkit-wrapper .px-1\.5{padding-left:.375rem;padding-right:.375rem}.chatkit-wrapper .px-2{padding-left:.5rem;padding-right:.5rem}.chatkit-wrapper .px-2\.5{padding-left:.625rem;padding-right:.625rem}.chatkit-wrapper .px-3{padding-left:.75rem;padding-right:.75rem}.chatkit-wrapper .px-4{padding-left:1rem;padding-right:1rem}.chatkit-wrapper .px-5{padding-left:1.25rem;padding-right:1.25rem}.chatkit-wrapper .px-6{padding-left:1.5rem;padding-right:1.5rem}.chatkit-wrapper .px-8{padding-left:2rem;padding-right:2rem}.chatkit-wrapper .px-\[15px\]{padding-left:15px;padding-right:15px}.chatkit-wrapper .px-\[6px\]{padding-left:6px;padding-right:6px}.chatkit-wrapper .py-0{padding-bottom:0;padding-top:0}.chatkit-wrapper .py-0\.5{padding-bottom:.125rem;padding-top:.125rem}.chatkit-wrapper .py-1{padding-bottom:.25rem;padding-top:.25rem}.chatkit-wrapper .py-1\.5{padding-bottom:.375rem;padding-top:.375rem}.chatkit-wrapper .py-10{padding-bottom:2.5rem;padding-top:2.5rem}.chatkit-wrapper .py-16{padding-bottom:4rem;padding-top:4rem}.chatkit-wrapper .py-2{padding-bottom:.5rem;padding-top:.5rem}.chatkit-wrapper .py-2\.5{padding-bottom:.625rem;padding-top:.625rem}.chatkit-wrapper .py-3{padding-bottom:.75rem;padding-top:.75rem}.chatkit-wrapper .py-4{padding-bottom:1rem;padding-top:1rem}.chatkit-wrapper .py-5{padding-bottom:1.25rem;padding-top:1.25rem}.chatkit-wrapper .py-6{padding-bottom:1.5rem;padding-top:1.5rem}.chatkit-wrapper .py-8{padding-bottom:2rem;padding-top:2rem}.chatkit-wrapper .py-\[12px\]{padding-bottom:12px;padding-top:12px}.chatkit-wrapper .py-\[6px\]{padding-bottom:6px;padding-top:6px}.chatkit-wrapper .py-\[8px\]{padding-bottom:8px;padding-top:8px}.chatkit-wrapper .pb-1{padding-bottom:.25rem}.chatkit-wrapper .pb-3{padding-bottom:.75rem}.chatkit-wrapper .pb-4{padding-bottom:1rem}.chatkit-wrapper .pb-6{padding-bottom:1.5rem}.chatkit-wrapper .pl-10{padding-left:2.5rem}.chatkit-wrapper .pl-4{padding-left:1rem}.chatkit-wrapper .pl-6{padding-left:1.5rem}.chatkit-wrapper .pl-\[14px\]{padding-left:14px}.chatkit-wrapper .pl-\[16px\]{padding-left:16px}.chatkit-wrapper .pl-\[8px\]{padding-left:8px}.chatkit-wrapper .pr-2{padding-right:.5rem}.chatkit-wrapper .pr-4{padding-right:1rem}.chatkit-wrapper .pr-8{padding-right:2rem}.chatkit-wrapper .pr-\[12px\]{padding-right:12px}.chatkit-wrapper .pt-0{padding-top:0}.chatkit-wrapper .pt-0\.5{padding-top:.125rem}.chatkit-wrapper .pt-1{padding-top:.25rem}.chatkit-wrapper .pt-2{padding-top:.5rem}.chatkit-wrapper .pt-3{padding-top:.75rem}.chatkit-wrapper .pt-4{padding-top:1rem}.chatkit-wrapper .pt-6{padding-top:1.5rem}.chatkit-wrapper .pt-\[8px\]{padding-top:8px}.chatkit-wrapper .text-left{text-align:left}.chatkit-wrapper .text-center{text-align:center}.chatkit-wrapper .text-start{text-align:start}.chatkit-wrapper .font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.chatkit-wrapper .text-2xl{font-size:1.5rem;line-height:2rem}.chatkit-wrapper .text-3xl{font-size:1.875rem;line-height:2.25rem}.chatkit-wrapper .text-4xl{font-size:2.25rem;line-height:2.5rem}.chatkit-wrapper .text-\[13px\]{font-size:13px}.chatkit-wrapper .text-\[16px\]{font-size:16px}.chatkit-wrapper .text-\[24px\]{font-size:24px}.chatkit-wrapper .text-base{font-size:1rem;line-height:1.5rem}.chatkit-wrapper .text-lg{font-size:1.125rem;line-height:1.75rem}.chatkit-wrapper .text-sm{font-size:.875rem;line-height:1.25rem}.chatkit-wrapper .text-xl{font-size:1.25rem;line-height:1.75rem}.chatkit-wrapper .text-xs{font-size:.75rem;line-height:1rem}.chatkit-wrapper .font-bold{font-weight:700}.chatkit-wrapper .font-extrabold{font-weight:800}.chatkit-wrapper .font-medium{font-weight:500}.chatkit-wrapper .font-normal{font-weight:400}.chatkit-wrapper .font-semibold{font-weight:600}.chatkit-wrapper .lowercase{text-transform:lowercase}.chatkit-wrapper .italic{font-style:italic}.chatkit-wrapper .tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.chatkit-wrapper .leading-7{line-height:1.75rem}.chatkit-wrapper .leading-\[100\%\]{line-height:100%}.chatkit-wrapper .leading-\[22px\]{line-height:22px}.chatkit-wrapper .leading-none{line-height:1}.chatkit-wrapper .leading-relaxed{line-height:1.625}.chatkit-wrapper .tracking-\[0\.3\%\]{letter-spacing:.3%}.chatkit-wrapper .tracking-tight{letter-spacing:-.025em}.chatkit-wrapper .text-\[\#0C0D0E\]{--tw-text-opacity:1;color:rgb(12 13 14/var(--tw-text-opacity,1))}.chatkit-wrapper .text-\[\#1664FF\]{--tw-text-opacity:1;color:rgb(22 100 255/var(--tw-text-opacity,1))}.chatkit-wrapper .text-\[\#1D2129\]{--tw-text-opacity:1;color:rgb(29 33 41/var(--tw-text-opacity,1))}.chatkit-wrapper .text-\[\#808388\]{--tw-text-opacity:1;color:rgb(128 131 136/var(--tw-text-opacity,1))}.chatkit-wrapper .text-\[\#86909C\]{--tw-text-opacity:1;color:rgb(134 144 156/var(--tw-text-opacity,1))}.chatkit-wrapper .text-amber-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.chatkit-wrapper .text-background{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.chatkit-wrapper .text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.chatkit-wrapper .text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.chatkit-wrapper .text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.chatkit-wrapper .text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.chatkit-wrapper .text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.chatkit-wrapper .text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.chatkit-wrapper .text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.chatkit-wrapper .text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.chatkit-wrapper .text-orange-500{--tw-text-opacity:1;color:rgb(249 115 22/var(--tw-text-opacity,1))}.chatkit-wrapper .text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.chatkit-wrapper .text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.chatkit-wrapper .text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.chatkit-wrapper .underline{text-decoration-line:underline}.chatkit-wrapper .underline-offset-4{text-underline-offset:4px}.chatkit-wrapper .opacity-0{opacity:0}.chatkit-wrapper .opacity-100{opacity:1}.chatkit-wrapper .opacity-50{opacity:.5}.chatkit-wrapper .opacity-70{opacity:.7}.chatkit-wrapper .opacity-90{opacity:.9}.chatkit-wrapper .shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.chatkit-wrapper .shadow-\[0_0_0_1px_hsl\(var\(--sidebar-border\)\)\]{--tw-shadow:0 0 0 1px hsl(var(--sidebar-border));--tw-shadow-colored:0 0 0 1px var(--tw-shadow-color)}.chatkit-wrapper .shadow-\[0_0_0_1px_hsl\(var\(--sidebar-border\)\)\],.chatkit-wrapper .shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.chatkit-wrapper .shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.chatkit-wrapper .shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.chatkit-wrapper .shadow-md,.chatkit-wrapper .shadow-none{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.chatkit-wrapper .shadow-none{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000}.chatkit-wrapper .shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.chatkit-wrapper .outline-none{outline:2px solid transparent;outline-offset:2px}.chatkit-wrapper .outline{outline-style:solid}.chatkit-wrapper .ring-offset-background{--tw-ring-offset-color:#fff}.chatkit-wrapper .filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.chatkit-wrapper .backdrop-blur-sm{--tw-backdrop-blur:blur(4px);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.chatkit-wrapper .transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.chatkit-wrapper .transition-\[color\2c box-shadow\]{transition-duration:.15s;transition-property:color,box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1)}.chatkit-wrapper .transition-\[left\2c right\2c width\]{transition-duration:.15s;transition-property:left,right,width;transition-timing-function:cubic-bezier(.4,0,.2,1)}.chatkit-wrapper .transition-\[margin\2c opacity\]{transition-duration:.15s;transition-property:margin,opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.chatkit-wrapper .transition-\[transform\2c opacity\]{transition-duration:.15s;transition-property:transform,opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.chatkit-wrapper .transition-\[width\2c height\2c padding\]{transition-duration:.15s;transition-property:width,height,padding;transition-timing-function:cubic-bezier(.4,0,.2,1)}.chatkit-wrapper .transition-\[width\]{transition-duration:.15s;transition-property:width;transition-timing-function:cubic-bezier(.4,0,.2,1)}.chatkit-wrapper .transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.chatkit-wrapper .transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.chatkit-wrapper .transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.chatkit-wrapper .transition-transform{transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.chatkit-wrapper .duration-150{transition-duration:.15s}.chatkit-wrapper .duration-200{transition-duration:.2s}.chatkit-wrapper .ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.chatkit-wrapper .ease-linear{transition-timing-function:linear}.chatkit-wrapper .ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.chatkit-wrapper .chatkit-wrapper{.chatkit-wrapper *,.chatkit-wrapper :after,.chatkit-wrapper :before{border:0 solid #e5e7eb;box-sizing:border-box}.chatkit-wrapper :after,.chatkit-wrapper :before{--tw-content:""}.chatkit-wrapper,.chatkit-wrapper :host{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4}.chatkit-wrapper{line-height:inherit;margin:0}.chatkit-wrapper hr{border-top-width:1px;color:inherit;height:0}.chatkit-wrapper abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.chatkit-wrapper h1,.chatkit-wrapper h2,.chatkit-wrapper h3,.chatkit-wrapper h4,.chatkit-wrapper h5,.chatkit-wrapper h6{font-size:inherit;font-weight:inherit}.chatkit-wrapper a{color:inherit;text-decoration:inherit}.chatkit-wrapper b,.chatkit-wrapper strong{font-weight:bolder}.chatkit-wrapper code,.chatkit-wrapper kbd,.chatkit-wrapper pre,.chatkit-wrapper samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}.chatkit-wrapper small{font-size:80%}.chatkit-wrapper sub,.chatkit-wrapper sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.chatkit-wrapper sub{bottom:-.25em}.chatkit-wrapper sup{top:-.5em}.chatkit-wrapper table{border-collapse:collapse;border-color:inherit;text-indent:0}.chatkit-wrapper button,.chatkit-wrapper input,.chatkit-wrapper optgroup,.chatkit-wrapper select,.chatkit-wrapper textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}.chatkit-wrapper button,.chatkit-wrapper select{text-transform:none}.chatkit-wrapper button,.chatkit-wrapper input:where([type=button]),.chatkit-wrapper input:where([type=reset]),.chatkit-wrapper input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}.chatkit-wrapper :-moz-focusring{outline:auto}.chatkit-wrapper :-moz-ui-invalid{box-shadow:none}.chatkit-wrapper progress{vertical-align:baseline}.chatkit-wrapper ::-webkit-inner-spin-button,.chatkit-wrapper ::-webkit-outer-spin-button{height:auto}.chatkit-wrapper [type=search]{-webkit-appearance:textfield;outline-offset:-2px}.chatkit-wrapper ::-webkit-search-decoration{-webkit-appearance:none}.chatkit-wrapper ::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}.chatkit-wrapper summary{display:list-item}.chatkit-wrapper blockquote,.chatkit-wrapper dd,.chatkit-wrapper dl,.chatkit-wrapper figure,.chatkit-wrapper h1,.chatkit-wrapper h2,.chatkit-wrapper h3,.chatkit-wrapper h4,.chatkit-wrapper h5,.chatkit-wrapper h6,.chatkit-wrapper hr,.chatkit-wrapper p,.chatkit-wrapper pre{margin:0}.chatkit-wrapper fieldset{margin:0;padding:0}.chatkit-wrapper legend{padding:0}.chatkit-wrapper menu,.chatkit-wrapper ol,.chatkit-wrapper ul{list-style:none;margin:0;padding:0}.chatkit-wrapper dialog{padding:0}.chatkit-wrapper textarea{resize:vertical}.chatkit-wrapper input::-moz-placeholder,.chatkit-wrapper textarea::-moz-placeholder{color:#9ca3af;opacity:1}.chatkit-wrapper input::placeholder,.chatkit-wrapper textarea::placeholder{color:#9ca3af;opacity:1}.chatkit-wrapper [role=button],.chatkit-wrapper button{cursor:pointer}.chatkit-wrapper :disabled{cursor:default}.chatkit-wrapper audio,.chatkit-wrapper canvas,.chatkit-wrapper embed,.chatkit-wrapper iframe,.chatkit-wrapper img,.chatkit-wrapper object,.chatkit-wrapper svg,.chatkit-wrapper video{display:block;vertical-align:middle}.chatkit-wrapper img,.chatkit-wrapper video{height:auto;max-width:100%}.chatkit-wrapper [hidden]:where(:not([hidden=until-found])){display:none}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}.chatkit-wrapper .file\:inline-flex::file-selector-button{display:inline-flex}.chatkit-wrapper .file\:h-7::file-selector-button{height:1.75rem}.chatkit-wrapper .file\:border-0::file-selector-button{border-width:0}.chatkit-wrapper .file\:bg-transparent::file-selector-button{background-color:transparent}.chatkit-wrapper .file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.chatkit-wrapper .file\:font-medium::file-selector-button{font-weight:500}.chatkit-wrapper .after\:absolute:after{content:var(--tw-content);position:absolute}.chatkit-wrapper .after\:-inset-2:after{content:var(--tw-content);inset:-.5rem}.chatkit-wrapper .after\:inset-y-0:after{bottom:0;content:var(--tw-content);top:0}.chatkit-wrapper .after\:left-1\/2:after{content:var(--tw-content);left:50%}.chatkit-wrapper .after\:w-\[2px\]:after{content:var(--tw-content);width:2px}.chatkit-wrapper .first\:mt-0:first-child{margin-top:0}.chatkit-wrapper .first\:mt-3:first-child{margin-top:.75rem}.chatkit-wrapper .first\:mt-4:first-child{margin-top:1rem}.chatkit-wrapper .first\:rounded-tl-lg:first-child{border-top-left-radius:.5rem}.chatkit-wrapper .first\:border-t:first-child{border-top-width:1px}.chatkit-wrapper .last\:mb-0:last-child{margin-bottom:0}.chatkit-wrapper .last\:mb-24:last-child{margin-bottom:6rem}.chatkit-wrapper .last\:mb-5:last-child{margin-bottom:1.25rem}.chatkit-wrapper .last\:rounded-tr-lg:last-child{border-top-right-radius:.5rem}.chatkit-wrapper .last\:border-r:last-child{border-right-width:1px}.chatkit-wrapper .empty\:hidden:empty{display:none}.chatkit-wrapper .focus-within\:ring-1:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.chatkit-wrapper .hover\:visible:hover{visibility:visible}.chatkit-wrapper .hover\:scale-\[1\.02\]:hover{--tw-scale-x:1.02;--tw-scale-y:1.02;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.chatkit-wrapper .hover\:border-blue-200:hover{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.chatkit-wrapper .hover\:border-gray-300:hover{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.chatkit-wrapper .hover\:border-gray-400:hover{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity,1))}.chatkit-wrapper .hover\:border-red-300:hover{--tw-border-opacity:1;border-color:rgb(252 165 165/var(--tw-border-opacity,1))}.chatkit-wrapper .hover\:\!bg-white:hover{--tw-bg-opacity:1!important;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))!important}.chatkit-wrapper .hover\:bg-\[rgba\(46\2c 50\2c 56\2c 0\.05\)\]:hover{background-color:rgba(46,50,56,.05)}.chatkit-wrapper .hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.chatkit-wrapper .hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.chatkit-wrapper .hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.chatkit-wrapper .hover\:bg-gray-50\/50:hover{background-color:rgba(249,250,251,.5)}.chatkit-wrapper .hover\:bg-red-50:hover{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.chatkit-wrapper .hover\:bg-red-600:hover{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.chatkit-wrapper .hover\:from-blue-600:hover{--tw-gradient-from:#2563eb var(--tw-gradient-from-position);--tw-gradient-to:rgba(37,99,235,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.chatkit-wrapper .hover\:from-blue-700:hover{--tw-gradient-from:#1d4ed8 var(--tw-gradient-from-position);--tw-gradient-to:rgba(29,78,216,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.chatkit-wrapper .hover\:from-red-600:hover{--tw-gradient-from:#dc2626 var(--tw-gradient-from-position);--tw-gradient-to:rgba(220,38,38,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.chatkit-wrapper .hover\:to-blue-700:hover{--tw-gradient-to:#1d4ed8 var(--tw-gradient-to-position)}.chatkit-wrapper .hover\:to-blue-800:hover{--tw-gradient-to:#1e40af var(--tw-gradient-to-position)}.chatkit-wrapper .hover\:to-red-700:hover{--tw-gradient-to:#b91c1c var(--tw-gradient-to-position)}.chatkit-wrapper .hover\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.chatkit-wrapper .hover\:text-gray-900:hover{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.chatkit-wrapper .hover\:underline:hover{text-decoration-line:underline}.chatkit-wrapper .hover\:opacity-100:hover{opacity:1}.chatkit-wrapper .hover\:opacity-75:hover{opacity:.75}.chatkit-wrapper .hover\:shadow-\[0_0_0_1px_hsl\(var\(--sidebar-accent\)\)\]:hover{--tw-shadow:0 0 0 1px hsl(var(--sidebar-accent));--tw-shadow-colored:0 0 0 1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.chatkit-wrapper .hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.chatkit-wrapper .hover\:shadow-lg:hover,.chatkit-wrapper .hover\:shadow-md:hover{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.chatkit-wrapper .hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.chatkit-wrapper .focus\:border-blue-400:focus{--tw-border-opacity:1;border-color:rgb(96 165 250/var(--tw-border-opacity,1))}.chatkit-wrapper .focus\:opacity-100:focus{opacity:1}.chatkit-wrapper .focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.chatkit-wrapper .focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.chatkit-wrapper .focus\:ring-2:focus,.chatkit-wrapper .focus\:ring-4:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.chatkit-wrapper .focus\:ring-4:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.chatkit-wrapper .focus\:ring-blue-50:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(239 246 255/var(--tw-ring-opacity,1))}.chatkit-wrapper .focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.chatkit-wrapper .focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.chatkit-wrapper .focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.chatkit-wrapper .focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.chatkit-wrapper .focus-visible\:ring-offset-0:focus-visible{--tw-ring-offset-width:0px}.chatkit-wrapper .active\:scale-95:active{--tw-scale-x:.95;--tw-scale-y:.95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.chatkit-wrapper .disabled\:pointer-events-none:disabled{pointer-events:none}.chatkit-wrapper .disabled\:invisible:disabled{visibility:hidden}.chatkit-wrapper .disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.chatkit-wrapper .disabled\:from-gray-300:disabled{--tw-gradient-from:#d1d5db var(--tw-gradient-from-position);--tw-gradient-to:rgba(209,213,219,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.chatkit-wrapper .disabled\:to-gray-300:disabled{--tw-gradient-to:#d1d5db var(--tw-gradient-to-position)}.chatkit-wrapper .disabled\:opacity-50:disabled{opacity:.5}.chatkit-wrapper .group\/menu-item:focus-within .group-focus-within\/menu-item\:opacity-100{opacity:1}.chatkit-wrapper .group:hover .group-hover\:visible{visibility:visible}.chatkit-wrapper .group:hover .group-hover\:translate-x-1{--tw-translate-x:0.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.chatkit-wrapper .group:hover .group-hover\:text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.chatkit-wrapper .group:hover .group-hover\:underline{text-decoration-line:underline}.chatkit-wrapper .group:hover .group-hover\:opacity-100,.chatkit-wrapper .group\/menu-item:hover .group-hover\/menu-item\:opacity-100{opacity:1}.chatkit-wrapper .group.destructive .group-\[\.destructive\]\:text-red-300{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.chatkit-wrapper .group.destructive .group-\[\.destructive\]\:hover\:text-red-50:hover{--tw-text-opacity:1;color:rgb(254 242 242/var(--tw-text-opacity,1))}.chatkit-wrapper .group.destructive .group-\[\.destructive\]\:focus\:ring-red-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(248 113 113/var(--tw-ring-opacity,1))}.chatkit-wrapper .group.destructive .group-\[\.destructive\]\:focus\:ring-offset-red-600:focus{--tw-ring-offset-color:#dc2626}.chatkit-wrapper .has-\[\>svg\]\:px-2\.5:has(>svg){padding-left:.625rem;padding-right:.625rem}.chatkit-wrapper .has-\[\>svg\]\:px-3:has(>svg){padding-left:.75rem;padding-right:.75rem}.chatkit-wrapper .has-\[\>svg\]\:px-4:has(>svg){padding-left:1rem;padding-right:1rem}.chatkit-wrapper .aria-disabled\:pointer-events-none[aria-disabled=true]{pointer-events:none}.chatkit-wrapper .aria-disabled\:opacity-50[aria-disabled=true]{opacity:.5}.chatkit-wrapper .data-\[state\=closed\]\:pointer-events-none[data-state=closed]{pointer-events:none}.chatkit-wrapper .data-\[orientation\=horizontal\]\:h-px[data-orientation=horizontal]{height:1px}.chatkit-wrapper .data-\[orientation\=vertical\]\:h-full[data-orientation=vertical]{height:100%}.chatkit-wrapper .data-\[orientation\=horizontal\]\:w-full[data-orientation=horizontal]{width:100%}.chatkit-wrapper .data-\[orientation\=vertical\]\:w-px[data-orientation=vertical]{width:1px}.chatkit-wrapper .data-\[state\=closed\]\:w-\[160px\][data-state=closed]{width:160px}.chatkit-wrapper .data-\[state\=open\]\:w-full[data-state=open]{width:100%}.chatkit-wrapper .data-\[swipe\=cancel\]\:translate-x-0[data-swipe=cancel]{--tw-translate-x:0px}.chatkit-wrapper .data-\[swipe\=cancel\]\:translate-x-0[data-swipe=cancel],.chatkit-wrapper .data-\[swipe\=end\]\:translate-x-\[var\(--radix-toast-swipe-end-x\)\][data-swipe=end]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.chatkit-wrapper .data-\[swipe\=end\]\:translate-x-\[var\(--radix-toast-swipe-end-x\)\][data-swipe=end]{--tw-translate-x:var(--radix-toast-swipe-end-x)}.chatkit-wrapper .data-\[swipe\=move\]\:translate-x-\[var\(--radix-toast-swipe-move-x\)\][data-swipe=move]{--tw-translate-x:var(--radix-toast-swipe-move-x);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.chatkit-wrapper .data-\[state\=open\]\:border-b[data-state=open]{border-bottom-width:1px}.chatkit-wrapper .data-\[active\=true\]\:font-medium[data-active=true]{font-weight:500}.chatkit-wrapper .data-\[state\=open\]\:opacity-100[data-state=open]{opacity:1}.chatkit-wrapper .data-\[swipe\=move\]\:transition-none[data-swipe=move]{transition-property:none}.chatkit-wrapper .data-\[state\=closed\]\:duration-300[data-state=closed]{transition-duration:.3s}.chatkit-wrapper .data-\[state\=open\]\:duration-500[data-state=open]{transition-duration:.5s}.chatkit-wrapper .group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:left-\[calc\(var\(--sidebar-width\)\*-1\)\]{left:calc(var(--sidebar-width)*-1)}.chatkit-wrapper .group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:right-\[calc\(var\(--sidebar-width\)\*-1\)\]{right:calc(var(--sidebar-width)*-1)}.chatkit-wrapper .group[data-side=left] .group-data-\[side\=left\]\:-right-4{right:-1rem}.chatkit-wrapper .group[data-side=right] .group-data-\[side\=right\]\:left-0{left:0}.chatkit-wrapper .group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:-mt-8{margin-top:-2rem}.chatkit-wrapper .group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:hidden{display:none}.chatkit-wrapper .group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+\(--spacing\(4\)\)\)\]{width:calc(var(--sidebar-width-icon) + (--spacing(4)))}.chatkit-wrapper .group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+\(--spacing\(4\)\)\+2px\)\]{width:calc(var(--sidebar-width-icon) + (--spacing(4)) + 2px)}.chatkit-wrapper .group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:w-0{width:0}.chatkit-wrapper .group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:translate-x-0{--tw-translate-x:0px}.chatkit-wrapper .group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:translate-x-0,.chatkit-wrapper .group[data-side=right] .group-data-\[side\=right\]\:rotate-180{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.chatkit-wrapper .group[data-side=right] .group-data-\[side\=right\]\:rotate-180{--tw-rotate:180deg}.chatkit-wrapper .group\/trigger[data-state=closed] .group-data-\[state\=closed\]\/trigger\:-rotate-90{--tw-rotate:-90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.chatkit-wrapper .group\/trigger[data-state=open] .group-data-\[state\=open\]\/trigger\:rotate-0{--tw-rotate:0deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.chatkit-wrapper .group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:overflow-hidden{overflow:hidden}.chatkit-wrapper .group[data-variant=floating] .group-data-\[variant\=floating\]\:rounded-lg{border-radius:.5rem}.chatkit-wrapper .group[data-variant=floating] .group-data-\[variant\=floating\]\:border{border-width:1px}.chatkit-wrapper .group[data-side=left] .group-data-\[side\=left\]\:border-r{border-right-width:1px}.chatkit-wrapper .group[data-side=right] .group-data-\[side\=right\]\:border-l{border-left-width:1px}.chatkit-wrapper .group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:opacity-0{opacity:0}.chatkit-wrapper .group[data-variant=floating] .group-data-\[variant\=floating\]\:shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.chatkit-wrapper .group\/collapsible-content[data-state=open] .group-data-\[state\=open\]\/collapsible-content\:delay-\[calc\(var\(--animation-duration\)\*0\.75\)\]{transition-delay:calc(var(--animation-duration)*.75)}.chatkit-wrapper .group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:after\:left-full:after{content:var(--tw-content);left:100%}.chatkit-wrapper .peer\/menu-button[data-size=default]~.peer-data-\[size\=default\]\/menu-button\:top-1\.5{top:.375rem}.chatkit-wrapper .peer\/menu-button[data-size=lg]~.peer-data-\[size\=lg\]\/menu-button\:top-2\.5{top:.625rem}.chatkit-wrapper .peer\/menu-button[data-size=sm]~.peer-data-\[size\=sm\]\/menu-button\:top-1{top:.25rem}@media (min-width:640px){.chatkit-wrapper .sm\:bottom-0{bottom:0}.chatkit-wrapper .sm\:right-0{right:0}.chatkit-wrapper .sm\:top-auto{top:auto}.chatkit-wrapper .sm\:flex{display:flex}.chatkit-wrapper .sm\:max-h-\[90vh\]{max-height:90vh}.chatkit-wrapper .sm\:max-w-3xl{max-width:48rem}.chatkit-wrapper .sm\:max-w-\[440px\]{max-width:440px}.chatkit-wrapper .sm\:max-w-\[480px\]{max-width:480px}.chatkit-wrapper .sm\:max-w-\[90vw\]{max-width:90vw}.chatkit-wrapper .sm\:max-w-lg{max-width:32rem}.chatkit-wrapper .sm\:max-w-sm{max-width:24rem}.chatkit-wrapper .sm\:flex-row{flex-direction:row}.chatkit-wrapper .sm\:flex-col{flex-direction:column}.chatkit-wrapper .sm\:justify-end{justify-content:flex-end}.chatkit-wrapper .sm\:text-left{text-align:left}}@media (min-width:768px){.chatkit-wrapper .md\:block{display:block}.chatkit-wrapper .md\:flex{display:flex}.chatkit-wrapper .md\:max-w-\[420px\]{max-width:420px}.chatkit-wrapper .md\:pb-6{padding-bottom:1.5rem}.chatkit-wrapper .md\:text-sm{font-size:.875rem;line-height:1.25rem}.chatkit-wrapper .md\:opacity-0{opacity:0}.chatkit-wrapper .md\:after\:hidden:after{content:var(--tw-content);display:none}.chatkit-wrapper .peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:m-2{margin:.5rem}.chatkit-wrapper .peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:ml-0{margin-left:0}.chatkit-wrapper .peer[data-variant=inset][data-state=collapsed]~.md\:peer-data-\[variant\=inset\]\:peer-data-\[state\=collapsed\]\:ml-2{margin-left:.5rem}.chatkit-wrapper .peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:rounded-xl{border-radius:.75rem}.chatkit-wrapper .peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}}@media (prefers-color-scheme:dark){.chatkit-wrapper .dark\:bg-background{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.chatkit-wrapper .dark\:stroke-\[2\.5px\]{stroke-width:2.5px}.chatkit-wrapper .dark\:text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity,1))}.chatkit-wrapper .dark\:text-red-200{--tw-text-opacity:1;color:rgb(254 202 202/var(--tw-text-opacity,1))}}.chatkit-wrapper .\[\&\:last-child\>td\:first-child\]\:rounded-bl-lg:last-child>td:first-child{border-bottom-left-radius:.5rem}.chatkit-wrapper .\[\&\:last-child\>td\:last-child\]\:rounded-br-lg:last-child>td:last-child{border-bottom-right-radius:.5rem}.chatkit-wrapper .\[\&\:where\(\>\*\)\]\:col-start-2:where(>*){grid-column-start:2}.chatkit-wrapper .only\:\[\&\>\#attachment-tile\]\:size-24>#attachment-tile:only-child{height:6rem;width:6rem}.chatkit-wrapper .\[\&\>a\]\:text-xs>a{font-size:.75rem;line-height:1rem}.chatkit-wrapper .\[\&\>a\]\:no-underline>a{text-decoration-line:none}.chatkit-wrapper .\[\&\>button\]\:hidden>button{display:none}.chatkit-wrapper .\[\&\>button\]\:rounded-full>button{border-radius:9999px}.chatkit-wrapper .\[\&\>button\]\:p-1>button{padding:.25rem}.chatkit-wrapper .\[\&\>button\]\:opacity-100>button{opacity:1}.chatkit-wrapper .\[\&\>button\]\:\!ring-0>button{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)!important;--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)!important;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)!important}.chatkit-wrapper .\[\&\>li\]\:mt-2>li{margin-top:.5rem}.chatkit-wrapper .\[\&\>span\:last-child\]\:truncate>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chatkit-wrapper .\[\&\>span\]\:text-xs>span{font-size:.75rem;line-height:1rem}.chatkit-wrapper .\[\&\>svg\]\:size-4>svg{height:1rem;width:1rem}.chatkit-wrapper .\[\&\>svg\]\:shrink-0>svg{flex-shrink:0}.chatkit-wrapper .\[\&\[align\=center\]\]\:text-center[align=center]{text-align:center}.chatkit-wrapper .\[\&\[align\=right\]\]\:text-right[align=right]{text-align:right}.chatkit-wrapper .\[\&_p\]\:-mb-2 p{margin-bottom:-.5rem}.chatkit-wrapper .\[\&_pre\]\:overflow-x-auto pre{overflow-x:auto}.chatkit-wrapper .\[\&_pre\]\:rounded-b-lg pre{border-bottom-left-radius:.5rem;border-bottom-right-radius:.5rem}.chatkit-wrapper .\[\&_pre\]\:border pre{border-width:1px}.chatkit-wrapper .\[\&_pre\]\:p-4 pre{padding:1rem}.chatkit-wrapper .\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){height:1rem;width:1rem}.chatkit-wrapper .\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.chatkit-wrapper .\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.chatkit-wrapper .\[\&_svg\]\:text-background svg{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.chatkit-wrapper .\[\&_svg\]\:text-black svg{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.chatkit-wrapper [data-side=left][data-collapsible=offcanvas] .\[\[data-side\=left\]\[data-collapsible\=offcanvas\]_\&\]\:-right-2{right:-.5rem}.chatkit-wrapper [data-side=left][data-state=collapsed] .\[\[data-side\=left\]\[data-state\=collapsed\]_\&\]\:cursor-e-resize{cursor:e-resize}.chatkit-wrapper [data-side=right][data-collapsible=offcanvas] .\[\[data-side\=right\]\[data-collapsible\=offcanvas\]_\&\]\:-left-2{left:-.5rem}.chatkit-wrapper [data-side=right][data-state=collapsed] .\[\[data-side\=right\]\[data-state\=collapsed\]_\&\]\:cursor-w-resize{cursor:w-resize}@keyframes aui-pulse{50%{opacity:.5}}.chatkit-wrapper :where(.aui-md[data-status=running]):empty:after,.chatkit-wrapper :where(.aui-md[data-status=running])>:where(:is(ol,ul):last-child)>:where(li:last-child)>:where(:is(ol,ul):last-child)>:where(li:last-child)>:where(:is(ol,ul):last-child)>:where(li:last-child):after,.chatkit-wrapper :where(.aui-md[data-status=running])>:where(:is(ol,ul):last-child)>:where(li:last-child)>:where(:is(ol,ul):last-child)>:where(li:last-child:not(:has(*>li))):after,.chatkit-wrapper :where(.aui-md[data-status=running])>:where(:is(ol,ul):last-child)>:where(li:last-child:not(:has(*>li))):after,.chatkit-wrapper :where(.aui-md[data-status=running])>:where(:not(ol):not(ul):not(pre)):last-child:after,.chatkit-wrapper :where(.aui-md[data-status=running])>pre:last-child code:after{--aui-content:"\25cf";animation:aui-pulse 2s cubic-bezier(.4,0,.6,1) infinite;content:var(--aui-content);font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;margin-left:.25rem;margin-right:.25rem}.chatkit-wrapper .chatkit-md-text-p img,.chatkit-wrapper .chatkit-md-text-p video{max-width:600px}@keyframes aui-pulse-chatkit{50%{opacity:.5;transform:scale(.7)}}.chatkit-wrapper .aui-root :where(.aui-md[data-status=running]):empty:after,.chatkit-wrapper .aui-root :where(.aui-md[data-status=running])>:where(:is(ol,ul):last-child)>:where(li:last-child)>:where(:is(ol,ul):last-child)>:where(li:last-child)>:where(:is(ol,ul):last-child)>:where(li:last-child):after,.chatkit-wrapper .aui-root :where(.aui-md[data-status=running])>:where(:is(ol,ul):last-child)>:where(li:last-child)>:where(:is(ol,ul):last-child)>:where(li:last-child:not(:has(*>li))):after,.chatkit-wrapper .aui-root :where(.aui-md[data-status=running])>:where(:is(ol,ul):last-child)>:where(li:last-child:not(:has(*>li))):after,.chatkit-wrapper .aui-root :where(.aui-md[data-status=running])>:where(:not(ol):not(ul):not(pre)):last-child:after,.chatkit-wrapper .aui-root :where(.aui-md[data-status=running])>pre:last-child code:after{--aui-content:"\25cf";animation:aui-pulse-chatkit 1.5s cubic-bezier(.4,0,.6,1) infinite;content:var(--aui-content);display:inline-block;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;margin-left:.2rem;margin-right:.2rem}
|
|
2
|
+
/* ! tailwindcss v3.4.18 | MIT License | https://tailwindcss.com */.chatkit-wrapper *,.chatkit-wrapper :after,.chatkit-wrapper :before{border:0 solid #e5e7eb;box-sizing:border-box}.chatkit-wrapper :after,.chatkit-wrapper :before{--tw-content:""}.chatkit-wrapper,.chatkit-wrapper :host{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4}.chatkit-wrapper{line-height:inherit;margin:0}.chatkit-wrapper hr{border-top-width:1px;color:inherit;height:0}.chatkit-wrapper abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.chatkit-wrapper h1,.chatkit-wrapper h2,.chatkit-wrapper h3,.chatkit-wrapper h4,.chatkit-wrapper h5,.chatkit-wrapper h6{font-size:inherit;font-weight:inherit}.chatkit-wrapper a{color:inherit;text-decoration:inherit}.chatkit-wrapper b,.chatkit-wrapper strong{font-weight:bolder}.chatkit-wrapper code,.chatkit-wrapper kbd,.chatkit-wrapper pre,.chatkit-wrapper samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}.chatkit-wrapper small{font-size:80%}.chatkit-wrapper sub,.chatkit-wrapper sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.chatkit-wrapper sub{bottom:-.25em}.chatkit-wrapper sup{top:-.5em}.chatkit-wrapper table{border-collapse:collapse;border-color:inherit;text-indent:0}.chatkit-wrapper button,.chatkit-wrapper input,.chatkit-wrapper optgroup,.chatkit-wrapper select,.chatkit-wrapper textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}.chatkit-wrapper button,.chatkit-wrapper select{text-transform:none}.chatkit-wrapper button,.chatkit-wrapper input:where([type=button]),.chatkit-wrapper input:where([type=reset]),.chatkit-wrapper input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}.chatkit-wrapper :-moz-focusring{outline:auto}.chatkit-wrapper :-moz-ui-invalid{box-shadow:none}.chatkit-wrapper progress{vertical-align:baseline}.chatkit-wrapper ::-webkit-inner-spin-button,.chatkit-wrapper ::-webkit-outer-spin-button{height:auto}.chatkit-wrapper [type=search]{-webkit-appearance:textfield;outline-offset:-2px}.chatkit-wrapper ::-webkit-search-decoration{-webkit-appearance:none}.chatkit-wrapper ::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}.chatkit-wrapper summary{display:list-item}.chatkit-wrapper blockquote,.chatkit-wrapper dd,.chatkit-wrapper dl,.chatkit-wrapper figure,.chatkit-wrapper h1,.chatkit-wrapper h2,.chatkit-wrapper h3,.chatkit-wrapper h4,.chatkit-wrapper h5,.chatkit-wrapper h6,.chatkit-wrapper hr,.chatkit-wrapper p,.chatkit-wrapper pre{margin:0}.chatkit-wrapper fieldset{margin:0;padding:0}.chatkit-wrapper legend{padding:0}.chatkit-wrapper menu,.chatkit-wrapper ol,.chatkit-wrapper ul{list-style:none;margin:0;padding:0}.chatkit-wrapper dialog{padding:0}.chatkit-wrapper textarea{resize:vertical}.chatkit-wrapper input::-moz-placeholder,.chatkit-wrapper textarea::-moz-placeholder{color:#9ca3af;opacity:1}.chatkit-wrapper input::placeholder,.chatkit-wrapper textarea::placeholder{color:#9ca3af;opacity:1}.chatkit-wrapper [role=button],.chatkit-wrapper button{cursor:pointer}.chatkit-wrapper :disabled{cursor:default}.chatkit-wrapper audio,.chatkit-wrapper canvas,.chatkit-wrapper embed,.chatkit-wrapper iframe,.chatkit-wrapper img,.chatkit-wrapper object,.chatkit-wrapper svg,.chatkit-wrapper video{display:block;vertical-align:middle}.chatkit-wrapper img,.chatkit-wrapper video{height:auto;max-width:100%}.chatkit-wrapper [hidden]:where(:not([hidden=until-found])){display:none}.chatkit-wrapper .container{width:100%}@media (min-width:640px){.chatkit-wrapper .container{max-width:640px}}@media (min-width:768px){.chatkit-wrapper .container{max-width:768px}}@media (min-width:1024px){.chatkit-wrapper .container{max-width:1024px}}@media (min-width:1280px){.chatkit-wrapper .container{max-width:1280px}}@media (min-width:1536px){.chatkit-wrapper .container{max-width:1536px}}.chatkit-wrapper .sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.chatkit-wrapper .pointer-events-none{pointer-events:none}.chatkit-wrapper .pointer-events-auto{pointer-events:auto}.chatkit-wrapper .invisible{visibility:hidden}.chatkit-wrapper .collapse{visibility:collapse}.chatkit-wrapper .static{position:static}.chatkit-wrapper .fixed{position:fixed}.chatkit-wrapper .absolute{position:absolute}.chatkit-wrapper .relative{position:relative}.chatkit-wrapper .sticky{position:sticky}.chatkit-wrapper .inset-0{inset:0}.chatkit-wrapper .inset-x-0{left:0;right:0}.chatkit-wrapper .inset-y-0{bottom:0;top:0}.chatkit-wrapper .-top-12{top:-3rem}.chatkit-wrapper .bottom-0{bottom:0}.chatkit-wrapper .left-0{left:0}.chatkit-wrapper .left-\[50\%\]{left:50%}.chatkit-wrapper .right-0{right:0}.chatkit-wrapper .right-1{right:.25rem}.chatkit-wrapper .right-1\.5{right:.375rem}.chatkit-wrapper .right-2{right:.5rem}.chatkit-wrapper .right-3{right:.75rem}.chatkit-wrapper .right-4{right:1rem}.chatkit-wrapper .top-0{top:0}.chatkit-wrapper .top-1\.5{top:.375rem}.chatkit-wrapper .top-2{top:.5rem}.chatkit-wrapper .top-3\.5{top:.875rem}.chatkit-wrapper .top-4{top:1rem}.chatkit-wrapper .top-\[50\%\]{top:50%}.chatkit-wrapper .z-0{z-index:0}.chatkit-wrapper .z-10{z-index:10}.chatkit-wrapper .z-20{z-index:20}.chatkit-wrapper .z-50{z-index:50}.chatkit-wrapper .z-\[100\]{z-index:100}.chatkit-wrapper .col-span-full{grid-column:1/-1}.chatkit-wrapper .col-start-1{grid-column-start:1}.chatkit-wrapper .col-start-2{grid-column-start:2}.chatkit-wrapper .col-start-3{grid-column-start:3}.chatkit-wrapper .row-start-1{grid-row-start:1}.chatkit-wrapper .row-start-2{grid-row-start:2}.chatkit-wrapper .row-start-3{grid-row-start:3}.chatkit-wrapper .m-0{margin:0}.chatkit-wrapper .m-\[4px\]{margin:4px}.chatkit-wrapper .-mx-2{margin-left:-.5rem;margin-right:-.5rem}.chatkit-wrapper .mx-2{margin-left:.5rem;margin-right:.5rem}.chatkit-wrapper .mx-3{margin-left:.75rem;margin-right:.75rem}.chatkit-wrapper .mx-3\.5{margin-left:.875rem;margin-right:.875rem}.chatkit-wrapper .mx-auto{margin-left:auto;margin-right:auto}.chatkit-wrapper .my-2{margin-bottom:.5rem;margin-top:.5rem}.chatkit-wrapper .my-4{margin-bottom:1rem;margin-top:1rem}.chatkit-wrapper .my-5{margin-bottom:1.25rem;margin-top:1.25rem}.chatkit-wrapper .-ml-1{margin-left:-.25rem}.chatkit-wrapper .-ml-2{margin-left:-.5rem}.chatkit-wrapper .-mr-1{margin-right:-.25rem}.chatkit-wrapper .mb-1{margin-bottom:.25rem}.chatkit-wrapper .mb-2{margin-bottom:.5rem}.chatkit-wrapper .mb-3{margin-bottom:.75rem}.chatkit-wrapper .mb-4{margin-bottom:1rem}.chatkit-wrapper .mb-5{margin-bottom:1.25rem}.chatkit-wrapper .mb-6{margin-bottom:1.5rem}.chatkit-wrapper .mb-8{margin-bottom:2rem}.chatkit-wrapper .mb-\[4px\]{margin-bottom:4px}.chatkit-wrapper .ml-2{margin-left:.5rem}.chatkit-wrapper .ml-3{margin-left:.75rem}.chatkit-wrapper .ml-6{margin-left:1.5rem}.chatkit-wrapper .ml-\[24px\]{margin-left:24px}.chatkit-wrapper .ml-auto{margin-left:auto}.chatkit-wrapper .mr-1{margin-right:.25rem}.chatkit-wrapper .mr-1\.5{margin-right:.375rem}.chatkit-wrapper .mr-2{margin-right:.5rem}.chatkit-wrapper .mr-3{margin-right:.75rem}.chatkit-wrapper .mr-4{margin-right:1rem}.chatkit-wrapper .mr-6{margin-right:1.5rem}.chatkit-wrapper .mt-0\.5{margin-top:.125rem}.chatkit-wrapper .mt-1{margin-top:.25rem}.chatkit-wrapper .mt-1\.5{margin-top:.375rem}.chatkit-wrapper .mt-2{margin-top:.5rem}.chatkit-wrapper .mt-4{margin-top:1rem}.chatkit-wrapper .mt-5{margin-top:1.25rem}.chatkit-wrapper .mt-6{margin-top:1.5rem}.chatkit-wrapper .mt-8{margin-top:2rem}.chatkit-wrapper .mt-\[8px\]{margin-top:8px}.chatkit-wrapper .mt-auto{margin-top:auto}.chatkit-wrapper .line-clamp-1{-webkit-line-clamp:1}.chatkit-wrapper .line-clamp-1,.chatkit-wrapper .line-clamp-2{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.chatkit-wrapper .line-clamp-2{-webkit-line-clamp:2}.chatkit-wrapper .block{display:block}.chatkit-wrapper .inline-block{display:inline-block}.chatkit-wrapper .flex{display:flex}.chatkit-wrapper .inline-flex{display:inline-flex}.chatkit-wrapper .table{display:table}.chatkit-wrapper .grid{display:grid}.chatkit-wrapper .\!contents{display:contents!important}.chatkit-wrapper .contents{display:contents}.chatkit-wrapper .hidden{display:none}.chatkit-wrapper .aspect-square{aspect-ratio:1/1}.chatkit-wrapper .size-10{height:2.5rem;width:2.5rem}.chatkit-wrapper .size-14{height:3.5rem;width:3.5rem}.chatkit-wrapper .size-2\.5{height:.625rem;width:.625rem}.chatkit-wrapper .size-3{height:.75rem;width:.75rem}.chatkit-wrapper .size-3\.5{height:.875rem;width:.875rem}.chatkit-wrapper .size-4{height:1rem;width:1rem}.chatkit-wrapper .size-5{height:1.25rem;width:1.25rem}.chatkit-wrapper .size-6{height:1.5rem;width:1.5rem}.chatkit-wrapper .size-7{height:1.75rem;width:1.75rem}.chatkit-wrapper .size-8{height:2rem;width:2rem}.chatkit-wrapper .size-9{height:2.25rem;width:2.25rem}.chatkit-wrapper .size-\[16px\]{height:16px;width:16px}.chatkit-wrapper .size-\[18px\]{height:18px;width:18px}.chatkit-wrapper .size-\[30px\]{height:30px;width:30px}.chatkit-wrapper .size-full{height:100%;width:100%}.chatkit-wrapper .h-10{height:2.5rem}.chatkit-wrapper .h-11{height:2.75rem}.chatkit-wrapper .h-12{height:3rem}.chatkit-wrapper .h-16{height:4rem}.chatkit-wrapper .h-2\.5{height:.625rem}.chatkit-wrapper .h-3{height:.75rem}.chatkit-wrapper .h-3\.5{height:.875rem}.chatkit-wrapper .h-4{height:1rem}.chatkit-wrapper .h-5{height:1.25rem}.chatkit-wrapper .h-7{height:1.75rem}.chatkit-wrapper .h-8{height:2rem}.chatkit-wrapper .h-9{height:2.25rem}.chatkit-wrapper .h-\[12px\]{height:12px}.chatkit-wrapper .h-\[180px\]{height:180px}.chatkit-wrapper .h-\[18px\]{height:18px}.chatkit-wrapper .h-\[22px\]{height:22px}.chatkit-wrapper .h-\[24px\]{height:24px}.chatkit-wrapper .h-\[28px\]{height:28px}.chatkit-wrapper .h-\[30px\]{height:30px}.chatkit-wrapper .h-\[38px\]{height:38px}.chatkit-wrapper .h-\[61px\]{height:61px}.chatkit-wrapper .h-\[calc\(100\%-65px\)\]{height:calc(100% - 65px)}.chatkit-wrapper .h-auto{height:auto}.chatkit-wrapper .h-fit{height:-moz-fit-content;height:fit-content}.chatkit-wrapper .h-full{height:100%}.chatkit-wrapper .h-svh{height:100svh}.chatkit-wrapper .max-h-32{max-height:8rem}.chatkit-wrapper .max-h-\[200px\]{max-height:200px}.chatkit-wrapper .max-h-\[500px\]{max-height:500px}.chatkit-wrapper .max-h-\[600px\]{max-height:600px}.chatkit-wrapper .max-h-\[80dvh\]{max-height:80dvh}.chatkit-wrapper .max-h-\[80vh\]{max-height:80vh}.chatkit-wrapper .max-h-\[calc\(90vh-140px\)\]{max-height:calc(90vh - 140px)}.chatkit-wrapper .max-h-screen{max-height:100vh}.chatkit-wrapper .min-h-0{min-height:0}.chatkit-wrapper .min-h-12{min-height:3rem}.chatkit-wrapper .min-h-\[24px\]{min-height:24px}.chatkit-wrapper .min-h-\[400px\]{min-height:400px}.chatkit-wrapper .min-h-\[60px\]{min-height:60px}.chatkit-wrapper .min-h-svh{min-height:100svh}.chatkit-wrapper .w-1{width:.25rem}.chatkit-wrapper .w-10{width:2.5rem}.chatkit-wrapper .w-16{width:4rem}.chatkit-wrapper .w-2\.5{width:.625rem}.chatkit-wrapper .w-3{width:.75rem}.chatkit-wrapper .w-3\.5{width:.875rem}.chatkit-wrapper .w-3\/4{width:75%}.chatkit-wrapper .w-4{width:1rem}.chatkit-wrapper .w-5{width:1.25rem}.chatkit-wrapper .w-5\/6{width:83.333333%}.chatkit-wrapper .w-7{width:1.75rem}.chatkit-wrapper .w-8{width:2rem}.chatkit-wrapper .w-\[160px\]{width:160px}.chatkit-wrapper .w-\[180px\]{width:180px}.chatkit-wrapper .w-\[18px\]{width:18px}.chatkit-wrapper .w-\[1px\]{width:1px}.chatkit-wrapper .w-\[240px\]{width:240px}.chatkit-wrapper .w-\[28px\]{width:28px}.chatkit-wrapper .w-\[30px\]{width:30px}.chatkit-wrapper .w-\[38px\]{width:38px}.chatkit-wrapper .w-auto{width:auto}.chatkit-wrapper .w-fit{width:-moz-fit-content;width:fit-content}.chatkit-wrapper .w-full{width:100%}.chatkit-wrapper .w-max{width:-moz-max-content;width:max-content}.chatkit-wrapper .min-w-0{min-width:0}.chatkit-wrapper .min-w-5{min-width:1.25rem}.chatkit-wrapper .min-w-\[80px\]{min-width:80px}.chatkit-wrapper .min-w-full{min-width:100%}.chatkit-wrapper .max-w-2xl{max-width:42rem}.chatkit-wrapper .max-w-3xl{max-width:48rem}.chatkit-wrapper .max-w-4xl{max-width:56rem}.chatkit-wrapper .max-w-\[240px\]{max-width:240px}.chatkit-wrapper .max-w-\[800px\]{max-width:800px}.chatkit-wrapper .max-w-\[calc\(100\%-2rem\)\]{max-width:calc(100% - 2rem)}.chatkit-wrapper .max-w-\[var\(--thread-max-width\)\]{max-width:var(--thread-max-width)}.chatkit-wrapper .max-w-full{max-width:100%}.chatkit-wrapper .flex-1{flex:1 1 0%}.chatkit-wrapper .flex-shrink-0,.chatkit-wrapper .shrink-0{flex-shrink:0}.chatkit-wrapper .flex-grow{flex-grow:1}.chatkit-wrapper .flex-grow-0{flex-grow:0}.chatkit-wrapper .grow{flex-grow:1}.chatkit-wrapper .border-separate{border-collapse:separate}.chatkit-wrapper .border-spacing-0{--tw-border-spacing-x:0px;--tw-border-spacing-y:0px;border-spacing:var(--tw-border-spacing-x) var(--tw-border-spacing-y)}.chatkit-wrapper .-translate-x-1\/2{--tw-translate-x:-50%}.chatkit-wrapper .-translate-x-1\/2,.chatkit-wrapper .-translate-x-px{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.chatkit-wrapper .-translate-x-px{--tw-translate-x:-1px}.chatkit-wrapper .translate-x-\[-50\%\]{--tw-translate-x:-50%}.chatkit-wrapper .translate-x-\[-50\%\],.chatkit-wrapper .translate-x-px{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.chatkit-wrapper .translate-x-px{--tw-translate-x:1px}.chatkit-wrapper .translate-y-\[-50\%\]{--tw-translate-y:-50%}.chatkit-wrapper .translate-y-\[-50\%\],.chatkit-wrapper .translate-y-\[calc\(-50\%_-_2px\)\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.chatkit-wrapper .translate-y-\[calc\(-50\%_-_2px\)\]{--tw-translate-y:calc(-50% - 2px)}.chatkit-wrapper .rotate-0{--tw-rotate:0deg}.chatkit-wrapper .rotate-0,.chatkit-wrapper .rotate-180{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.chatkit-wrapper .rotate-180{--tw-rotate:180deg}.chatkit-wrapper .rotate-45{--tw-rotate:45deg}.chatkit-wrapper .rotate-45,.chatkit-wrapper .rotate-90{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.chatkit-wrapper .rotate-90{--tw-rotate:90deg}.chatkit-wrapper .transform-gpu{transform:translate3d(var(--tw-translate-x),var(--tw-translate-y),0) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.chatkit-wrapper .animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(1turn)}}.chatkit-wrapper .animate-spin{animation:spin 1s linear infinite}.chatkit-wrapper .cursor-pointer{cursor:pointer}.chatkit-wrapper .select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.chatkit-wrapper .resize-none{resize:none}.chatkit-wrapper .scroll-m-20{scroll-margin:5rem}.chatkit-wrapper .list-decimal{list-style-type:decimal}.chatkit-wrapper .list-disc{list-style-type:disc}.chatkit-wrapper .auto-rows-auto{grid-auto-rows:auto}.chatkit-wrapper .grid-cols-\[minmax\(72px\2c 1fr\)_auto\]{grid-template-columns:minmax(72px,1fr) auto}.chatkit-wrapper .flex-row{flex-direction:row}.chatkit-wrapper .flex-col{flex-direction:column}.chatkit-wrapper .flex-col-reverse{flex-direction:column-reverse}.chatkit-wrapper .items-start{align-items:flex-start}.chatkit-wrapper .items-end{align-items:flex-end}.chatkit-wrapper .items-center{align-items:center}.chatkit-wrapper .items-stretch{align-items:stretch}.chatkit-wrapper .justify-start{justify-content:flex-start}.chatkit-wrapper .justify-end{justify-content:flex-end}.chatkit-wrapper .justify-center{justify-content:center}.chatkit-wrapper .justify-between{justify-content:space-between}.chatkit-wrapper .gap-0{gap:0}.chatkit-wrapper .gap-0\.5{gap:.125rem}.chatkit-wrapper .gap-1{gap:.25rem}.chatkit-wrapper .gap-1\.5{gap:.375rem}.chatkit-wrapper .gap-2{gap:.5rem}.chatkit-wrapper .gap-3{gap:.75rem}.chatkit-wrapper .gap-4{gap:1rem}.chatkit-wrapper .gap-\[10px\]{gap:10px}.chatkit-wrapper .gap-\[12px\]{gap:12px}.chatkit-wrapper .gap-\[80px\]{gap:80px}.chatkit-wrapper .gap-\[8px\]{gap:8px}.chatkit-wrapper .gap-y-2{row-gap:.5rem}.chatkit-wrapper .space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(1rem*var(--tw-space-x-reverse))}.chatkit-wrapper .space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(0px*var(--tw-space-y-reverse));margin-top:calc(0px*(1 - var(--tw-space-y-reverse)))}.chatkit-wrapper .space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.25rem*var(--tw-space-y-reverse));margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))}.chatkit-wrapper .space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.375rem*var(--tw-space-y-reverse));margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)))}.chatkit-wrapper .space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.chatkit-wrapper .space-y-2\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.625rem*var(--tw-space-y-reverse));margin-top:calc(.625rem*(1 - var(--tw-space-y-reverse)))}.chatkit-wrapper .space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.75rem*var(--tw-space-y-reverse));margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)))}.chatkit-wrapper .space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.chatkit-wrapper .space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.25rem*var(--tw-space-y-reverse));margin-top:calc(1.25rem*(1 - var(--tw-space-y-reverse)))}.chatkit-wrapper .space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.5rem*var(--tw-space-y-reverse));margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)))}.chatkit-wrapper .divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-bottom-width:calc(1px*var(--tw-divide-y-reverse));border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)))}.chatkit-wrapper .divide-gray-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(243 244 246/var(--tw-divide-opacity,1))}.chatkit-wrapper .self-end{align-self:flex-end}.chatkit-wrapper .self-center{align-self:center}.chatkit-wrapper .overflow-auto{overflow:auto}.chatkit-wrapper .overflow-hidden{overflow:hidden}.chatkit-wrapper .overflow-visible{overflow:visible}.chatkit-wrapper .overflow-x-auto{overflow-x:auto}.chatkit-wrapper .overflow-y-auto{overflow-y:auto}.chatkit-wrapper .overflow-y-scroll{overflow-y:scroll}.chatkit-wrapper .truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chatkit-wrapper .whitespace-nowrap{white-space:nowrap}.chatkit-wrapper .whitespace-pre-wrap{white-space:pre-wrap}.chatkit-wrapper .text-balance{text-wrap:balance}.chatkit-wrapper .break-words{overflow-wrap:break-word}.chatkit-wrapper .break-all{word-break:break-all}.chatkit-wrapper .rounded{border-radius:.25rem}.chatkit-wrapper .rounded-2xl{border-radius:1rem}.chatkit-wrapper .rounded-\[10px\]{border-radius:10px}.chatkit-wrapper .rounded-\[14px\]{border-radius:14px}.chatkit-wrapper .rounded-\[1px\]{border-radius:1px}.chatkit-wrapper .rounded-\[2px\]{border-radius:2px}.chatkit-wrapper .rounded-\[4px\]{border-radius:4px}.chatkit-wrapper .rounded-\[68px\]{border-radius:68px}.chatkit-wrapper .rounded-\[8px\]{border-radius:8px}.chatkit-wrapper .rounded-full{border-radius:9999px}.chatkit-wrapper .rounded-lg{border-radius:.5rem}.chatkit-wrapper .rounded-md{border-radius:.375rem}.chatkit-wrapper .rounded-none{border-radius:0}.chatkit-wrapper .rounded-xl{border-radius:.75rem}.chatkit-wrapper .\!rounded-t-none{border-top-left-radius:0!important;border-top-right-radius:0!important}.chatkit-wrapper .rounded-b-lg{border-bottom-left-radius:.5rem;border-bottom-right-radius:.5rem}.chatkit-wrapper .rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.chatkit-wrapper .border{border-width:1px}.chatkit-wrapper .border-0{border-width:0}.chatkit-wrapper .border-2{border-width:2px}.chatkit-wrapper .border-\[1px\]{border-width:1px}.chatkit-wrapper .border-b{border-bottom-width:1px}.chatkit-wrapper .border-l{border-left-width:1px}.chatkit-wrapper .border-l-2{border-left-width:2px}.chatkit-wrapper .border-r{border-right-width:1px}.chatkit-wrapper .border-t{border-top-width:1px}.chatkit-wrapper .border-t-0{border-top-width:0}.chatkit-wrapper .border-solid{border-style:solid}.chatkit-wrapper .border-dashed{border-style:dashed}.chatkit-wrapper .border-none{border-style:none}.chatkit-wrapper .border-\[\#\#0000001a\]{border-color:##0000001a}.chatkit-wrapper .border-\[\#0000000A\]{border-color:#0000000a}.chatkit-wrapper .border-\[\#0000001A\]{border-color:#0000001a}.chatkit-wrapper .border-\[\#1664FF1A\]{border-color:#1664ff1a}.chatkit-wrapper .border-\[\#E5E7EB\]{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.chatkit-wrapper .border-\[\#EAEDF1\]{--tw-border-opacity:1;border-color:rgb(234 237 241/var(--tw-border-opacity,1))}.chatkit-wrapper .border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity,1))}.chatkit-wrapper .border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.chatkit-wrapper .border-gray-200\/80{border-color:rgba(229,231,235,.8)}.chatkit-wrapper .border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.chatkit-wrapper .border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.chatkit-wrapper .border-transparent{border-color:transparent}.chatkit-wrapper .bg-\[\#0000000A\]{background-color:#0000000a}.chatkit-wrapper .bg-\[\#1664FF\]{--tw-bg-opacity:1;background-color:rgb(22 100 255/var(--tw-bg-opacity,1))}.chatkit-wrapper .bg-\[\#DDE2E9\]{--tw-bg-opacity:1;background-color:rgb(221 226 233/var(--tw-bg-opacity,1))}.chatkit-wrapper .bg-\[\#E5E7EB\]{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.chatkit-wrapper .bg-\[\#EBF1FF\]{--tw-bg-opacity:1;background-color:rgb(235 241 255/var(--tw-bg-opacity,1))}.chatkit-wrapper .bg-\[\#F3F7FF\]{--tw-bg-opacity:1;background-color:rgb(243 247 255/var(--tw-bg-opacity,1))}.chatkit-wrapper .bg-\[\#F6F8FA\]{--tw-bg-opacity:1;background-color:rgb(246 248 250/var(--tw-bg-opacity,1))}.chatkit-wrapper .bg-\[\#FAFBFC\]{--tw-bg-opacity:1;background-color:rgb(250 251 252/var(--tw-bg-opacity,1))}.chatkit-wrapper .bg-background{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.chatkit-wrapper .bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.chatkit-wrapper .bg-black\/50{background-color:rgba(0,0,0,.5)}.chatkit-wrapper .bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.chatkit-wrapper .bg-gray-50\/50{background-color:rgba(249,250,251,.5)}.chatkit-wrapper .bg-gray-500{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity,1))}.chatkit-wrapper .bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.chatkit-wrapper .bg-transparent{background-color:transparent}.chatkit-wrapper .bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.chatkit-wrapper .bg-white\/95{background-color:hsla(0,0%,100%,.95)}.chatkit-wrapper .bg-\[linear-gradient\(to_top\2c var\(--color-background\)\2c transparent\)\]{background-image:linear-gradient(to top,var(--color-background),transparent)}.chatkit-wrapper .bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.chatkit-wrapper .bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.chatkit-wrapper .bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.chatkit-wrapper .from-blue-50{--tw-gradient-from:#eff6ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(239,246,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.chatkit-wrapper .from-blue-500{--tw-gradient-from:#3b82f6 var(--tw-gradient-from-position);--tw-gradient-to:rgba(59,130,246,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.chatkit-wrapper .from-blue-600{--tw-gradient-from:#2563eb var(--tw-gradient-from-position);--tw-gradient-to:rgba(37,99,235,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.chatkit-wrapper .from-gray-50\/30{--tw-gradient-from:rgba(249,250,251,.3) var(--tw-gradient-from-position);--tw-gradient-to:rgba(249,250,251,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.chatkit-wrapper .from-gray-50\/50{--tw-gradient-from:rgba(249,250,251,.5) var(--tw-gradient-from-position);--tw-gradient-to:rgba(249,250,251,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.chatkit-wrapper .from-red-500{--tw-gradient-from:#ef4444 var(--tw-gradient-from-position);--tw-gradient-to:rgba(239,68,68,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.chatkit-wrapper .to-blue-100{--tw-gradient-to:#dbeafe var(--tw-gradient-to-position)}.chatkit-wrapper .to-blue-600{--tw-gradient-to:#2563eb var(--tw-gradient-to-position)}.chatkit-wrapper .to-blue-700{--tw-gradient-to:#1d4ed8 var(--tw-gradient-to-position)}.chatkit-wrapper .to-purple-500{--tw-gradient-to:#a855f7 var(--tw-gradient-to-position)}.chatkit-wrapper .to-red-600{--tw-gradient-to:#dc2626 var(--tw-gradient-to-position)}.chatkit-wrapper .to-white{--tw-gradient-to:#fff var(--tw-gradient-to-position)}.chatkit-wrapper .fill-white{fill:#fff}.chatkit-wrapper .stroke-\[2px\]{stroke-width:2px}.chatkit-wrapper .object-contain{-o-object-fit:contain;object-fit:contain}.chatkit-wrapper .object-cover{-o-object-fit:cover;object-fit:cover}.chatkit-wrapper .p-0{padding:0}.chatkit-wrapper .p-1{padding:.25rem}.chatkit-wrapper .p-1\.5{padding:.375rem}.chatkit-wrapper .p-2{padding:.5rem}.chatkit-wrapper .p-3{padding:.75rem}.chatkit-wrapper .p-4{padding:1rem}.chatkit-wrapper .p-6{padding:1.5rem}.chatkit-wrapper .p-8{padding:2rem}.chatkit-wrapper .px-1{padding-left:.25rem;padding-right:.25rem}.chatkit-wrapper .px-1\.5{padding-left:.375rem;padding-right:.375rem}.chatkit-wrapper .px-2{padding-left:.5rem;padding-right:.5rem}.chatkit-wrapper .px-2\.5{padding-left:.625rem;padding-right:.625rem}.chatkit-wrapper .px-3{padding-left:.75rem;padding-right:.75rem}.chatkit-wrapper .px-4{padding-left:1rem;padding-right:1rem}.chatkit-wrapper .px-5{padding-left:1.25rem;padding-right:1.25rem}.chatkit-wrapper .px-6{padding-left:1.5rem;padding-right:1.5rem}.chatkit-wrapper .px-8{padding-left:2rem;padding-right:2rem}.chatkit-wrapper .px-\[15px\]{padding-left:15px;padding-right:15px}.chatkit-wrapper .px-\[6px\]{padding-left:6px;padding-right:6px}.chatkit-wrapper .py-0{padding-bottom:0;padding-top:0}.chatkit-wrapper .py-0\.5{padding-bottom:.125rem;padding-top:.125rem}.chatkit-wrapper .py-1{padding-bottom:.25rem;padding-top:.25rem}.chatkit-wrapper .py-1\.5{padding-bottom:.375rem;padding-top:.375rem}.chatkit-wrapper .py-10{padding-bottom:2.5rem;padding-top:2.5rem}.chatkit-wrapper .py-16{padding-bottom:4rem;padding-top:4rem}.chatkit-wrapper .py-2{padding-bottom:.5rem;padding-top:.5rem}.chatkit-wrapper .py-2\.5{padding-bottom:.625rem;padding-top:.625rem}.chatkit-wrapper .py-3{padding-bottom:.75rem;padding-top:.75rem}.chatkit-wrapper .py-4{padding-bottom:1rem;padding-top:1rem}.chatkit-wrapper .py-5{padding-bottom:1.25rem;padding-top:1.25rem}.chatkit-wrapper .py-6{padding-bottom:1.5rem;padding-top:1.5rem}.chatkit-wrapper .py-8{padding-bottom:2rem;padding-top:2rem}.chatkit-wrapper .py-\[10px\]{padding-bottom:10px;padding-top:10px}.chatkit-wrapper .py-\[12px\]{padding-bottom:12px;padding-top:12px}.chatkit-wrapper .py-\[6px\]{padding-bottom:6px;padding-top:6px}.chatkit-wrapper .py-\[8px\]{padding-bottom:8px;padding-top:8px}.chatkit-wrapper .pb-1{padding-bottom:.25rem}.chatkit-wrapper .pb-3{padding-bottom:.75rem}.chatkit-wrapper .pb-4{padding-bottom:1rem}.chatkit-wrapper .pb-6{padding-bottom:1.5rem}.chatkit-wrapper .pl-10{padding-left:2.5rem}.chatkit-wrapper .pl-4{padding-left:1rem}.chatkit-wrapper .pl-6{padding-left:1.5rem}.chatkit-wrapper .pl-\[14px\]{padding-left:14px}.chatkit-wrapper .pl-\[16px\]{padding-left:16px}.chatkit-wrapper .pl-\[8px\]{padding-left:8px}.chatkit-wrapper .pr-2{padding-right:.5rem}.chatkit-wrapper .pr-4{padding-right:1rem}.chatkit-wrapper .pr-8{padding-right:2rem}.chatkit-wrapper .pr-\[12px\]{padding-right:12px}.chatkit-wrapper .pt-0{padding-top:0}.chatkit-wrapper .pt-0\.5{padding-top:.125rem}.chatkit-wrapper .pt-1{padding-top:.25rem}.chatkit-wrapper .pt-2{padding-top:.5rem}.chatkit-wrapper .pt-3{padding-top:.75rem}.chatkit-wrapper .pt-4{padding-top:1rem}.chatkit-wrapper .pt-6{padding-top:1.5rem}.chatkit-wrapper .pt-\[8px\]{padding-top:8px}.chatkit-wrapper .text-left{text-align:left}.chatkit-wrapper .text-center{text-align:center}.chatkit-wrapper .text-start{text-align:start}.chatkit-wrapper .font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.chatkit-wrapper .text-2xl{font-size:1.5rem;line-height:2rem}.chatkit-wrapper .text-3xl{font-size:1.875rem;line-height:2.25rem}.chatkit-wrapper .text-4xl{font-size:2.25rem;line-height:2.5rem}.chatkit-wrapper .text-\[13px\]{font-size:13px}.chatkit-wrapper .text-\[16px\]{font-size:16px}.chatkit-wrapper .text-\[24px\]{font-size:24px}.chatkit-wrapper .text-base{font-size:1rem;line-height:1.5rem}.chatkit-wrapper .text-lg{font-size:1.125rem;line-height:1.75rem}.chatkit-wrapper .text-sm{font-size:.875rem;line-height:1.25rem}.chatkit-wrapper .text-xl{font-size:1.25rem;line-height:1.75rem}.chatkit-wrapper .text-xs{font-size:.75rem;line-height:1rem}.chatkit-wrapper .font-bold{font-weight:700}.chatkit-wrapper .font-extrabold{font-weight:800}.chatkit-wrapper .font-medium{font-weight:500}.chatkit-wrapper .font-normal{font-weight:400}.chatkit-wrapper .font-semibold{font-weight:600}.chatkit-wrapper .lowercase{text-transform:lowercase}.chatkit-wrapper .italic{font-style:italic}.chatkit-wrapper .tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.chatkit-wrapper .leading-7{line-height:1.75rem}.chatkit-wrapper .leading-\[100\%\]{line-height:100%}.chatkit-wrapper .leading-\[22px\]{line-height:22px}.chatkit-wrapper .leading-none{line-height:1}.chatkit-wrapper .leading-relaxed{line-height:1.625}.chatkit-wrapper .tracking-\[0\.3\%\]{letter-spacing:.3%}.chatkit-wrapper .tracking-tight{letter-spacing:-.025em}.chatkit-wrapper .text-\[\#0C0D0E\]{--tw-text-opacity:1;color:rgb(12 13 14/var(--tw-text-opacity,1))}.chatkit-wrapper .text-\[\#1664FF\]{--tw-text-opacity:1;color:rgb(22 100 255/var(--tw-text-opacity,1))}.chatkit-wrapper .text-\[\#1D2129\]{--tw-text-opacity:1;color:rgb(29 33 41/var(--tw-text-opacity,1))}.chatkit-wrapper .text-\[\#808388\]{--tw-text-opacity:1;color:rgb(128 131 136/var(--tw-text-opacity,1))}.chatkit-wrapper .text-\[\#86909C\]{--tw-text-opacity:1;color:rgb(134 144 156/var(--tw-text-opacity,1))}.chatkit-wrapper .text-amber-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.chatkit-wrapper .text-background{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.chatkit-wrapper .text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.chatkit-wrapper .text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.chatkit-wrapper .text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.chatkit-wrapper .text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.chatkit-wrapper .text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.chatkit-wrapper .text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.chatkit-wrapper .text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.chatkit-wrapper .text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.chatkit-wrapper .text-orange-500{--tw-text-opacity:1;color:rgb(249 115 22/var(--tw-text-opacity,1))}.chatkit-wrapper .text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.chatkit-wrapper .text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.chatkit-wrapper .text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.chatkit-wrapper .underline{text-decoration-line:underline}.chatkit-wrapper .underline-offset-4{text-underline-offset:4px}.chatkit-wrapper .opacity-0{opacity:0}.chatkit-wrapper .opacity-100{opacity:1}.chatkit-wrapper .opacity-50{opacity:.5}.chatkit-wrapper .opacity-70{opacity:.7}.chatkit-wrapper .opacity-90{opacity:.9}.chatkit-wrapper .shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.chatkit-wrapper .shadow-\[0_0_0_1px_hsl\(var\(--sidebar-border\)\)\]{--tw-shadow:0 0 0 1px hsl(var(--sidebar-border));--tw-shadow-colored:0 0 0 1px var(--tw-shadow-color)}.chatkit-wrapper .shadow-\[0_0_0_1px_hsl\(var\(--sidebar-border\)\)\],.chatkit-wrapper .shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.chatkit-wrapper .shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.chatkit-wrapper .shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.chatkit-wrapper .shadow-md,.chatkit-wrapper .shadow-none{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.chatkit-wrapper .shadow-none{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000}.chatkit-wrapper .shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.chatkit-wrapper .outline-none{outline:2px solid transparent;outline-offset:2px}.chatkit-wrapper .outline{outline-style:solid}.chatkit-wrapper .ring-offset-background{--tw-ring-offset-color:#fff}.chatkit-wrapper .filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.chatkit-wrapper .backdrop-blur-sm{--tw-backdrop-blur:blur(4px);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.chatkit-wrapper .transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.chatkit-wrapper .transition-\[color\2c box-shadow\]{transition-duration:.15s;transition-property:color,box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1)}.chatkit-wrapper .transition-\[left\2c right\2c width\]{transition-duration:.15s;transition-property:left,right,width;transition-timing-function:cubic-bezier(.4,0,.2,1)}.chatkit-wrapper .transition-\[margin\2c opacity\]{transition-duration:.15s;transition-property:margin,opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.chatkit-wrapper .transition-\[transform\2c opacity\]{transition-duration:.15s;transition-property:transform,opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.chatkit-wrapper .transition-\[width\2c height\2c padding\]{transition-duration:.15s;transition-property:width,height,padding;transition-timing-function:cubic-bezier(.4,0,.2,1)}.chatkit-wrapper .transition-\[width\]{transition-duration:.15s;transition-property:width;transition-timing-function:cubic-bezier(.4,0,.2,1)}.chatkit-wrapper .transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.chatkit-wrapper .transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.chatkit-wrapper .transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.chatkit-wrapper .transition-transform{transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.chatkit-wrapper .duration-150{transition-duration:.15s}.chatkit-wrapper .duration-200{transition-duration:.2s}.chatkit-wrapper .ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.chatkit-wrapper .ease-linear{transition-timing-function:linear}.chatkit-wrapper .ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.chatkit-wrapper .chatkit-wrapper{.chatkit-wrapper *,.chatkit-wrapper :after,.chatkit-wrapper :before{border:0 solid #e5e7eb;box-sizing:border-box}.chatkit-wrapper :after,.chatkit-wrapper :before{--tw-content:""}.chatkit-wrapper,.chatkit-wrapper :host{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4}.chatkit-wrapper{line-height:inherit;margin:0}.chatkit-wrapper hr{border-top-width:1px;color:inherit;height:0}.chatkit-wrapper abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.chatkit-wrapper h1,.chatkit-wrapper h2,.chatkit-wrapper h3,.chatkit-wrapper h4,.chatkit-wrapper h5,.chatkit-wrapper h6{font-size:inherit;font-weight:inherit}.chatkit-wrapper a{color:inherit;text-decoration:inherit}.chatkit-wrapper b,.chatkit-wrapper strong{font-weight:bolder}.chatkit-wrapper code,.chatkit-wrapper kbd,.chatkit-wrapper pre,.chatkit-wrapper samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}.chatkit-wrapper small{font-size:80%}.chatkit-wrapper sub,.chatkit-wrapper sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.chatkit-wrapper sub{bottom:-.25em}.chatkit-wrapper sup{top:-.5em}.chatkit-wrapper table{border-collapse:collapse;border-color:inherit;text-indent:0}.chatkit-wrapper button,.chatkit-wrapper input,.chatkit-wrapper optgroup,.chatkit-wrapper select,.chatkit-wrapper textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}.chatkit-wrapper button,.chatkit-wrapper select{text-transform:none}.chatkit-wrapper button,.chatkit-wrapper input:where([type=button]),.chatkit-wrapper input:where([type=reset]),.chatkit-wrapper input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}.chatkit-wrapper :-moz-focusring{outline:auto}.chatkit-wrapper :-moz-ui-invalid{box-shadow:none}.chatkit-wrapper progress{vertical-align:baseline}.chatkit-wrapper ::-webkit-inner-spin-button,.chatkit-wrapper ::-webkit-outer-spin-button{height:auto}.chatkit-wrapper [type=search]{-webkit-appearance:textfield;outline-offset:-2px}.chatkit-wrapper ::-webkit-search-decoration{-webkit-appearance:none}.chatkit-wrapper ::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}.chatkit-wrapper summary{display:list-item}.chatkit-wrapper blockquote,.chatkit-wrapper dd,.chatkit-wrapper dl,.chatkit-wrapper figure,.chatkit-wrapper h1,.chatkit-wrapper h2,.chatkit-wrapper h3,.chatkit-wrapper h4,.chatkit-wrapper h5,.chatkit-wrapper h6,.chatkit-wrapper hr,.chatkit-wrapper p,.chatkit-wrapper pre{margin:0}.chatkit-wrapper fieldset{margin:0;padding:0}.chatkit-wrapper legend{padding:0}.chatkit-wrapper menu,.chatkit-wrapper ol,.chatkit-wrapper ul{list-style:none;margin:0;padding:0}.chatkit-wrapper dialog{padding:0}.chatkit-wrapper textarea{resize:vertical}.chatkit-wrapper input::-moz-placeholder,.chatkit-wrapper textarea::-moz-placeholder{color:#9ca3af;opacity:1}.chatkit-wrapper input::placeholder,.chatkit-wrapper textarea::placeholder{color:#9ca3af;opacity:1}.chatkit-wrapper [role=button],.chatkit-wrapper button{cursor:pointer}.chatkit-wrapper :disabled{cursor:default}.chatkit-wrapper audio,.chatkit-wrapper canvas,.chatkit-wrapper embed,.chatkit-wrapper iframe,.chatkit-wrapper img,.chatkit-wrapper object,.chatkit-wrapper svg,.chatkit-wrapper video{display:block;vertical-align:middle}.chatkit-wrapper img,.chatkit-wrapper video{height:auto;max-width:100%}.chatkit-wrapper [hidden]:where(:not([hidden=until-found])){display:none}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}.chatkit-wrapper .file\:inline-flex::file-selector-button{display:inline-flex}.chatkit-wrapper .file\:h-7::file-selector-button{height:1.75rem}.chatkit-wrapper .file\:border-0::file-selector-button{border-width:0}.chatkit-wrapper .file\:bg-transparent::file-selector-button{background-color:transparent}.chatkit-wrapper .file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.chatkit-wrapper .file\:font-medium::file-selector-button{font-weight:500}.chatkit-wrapper .after\:absolute:after{content:var(--tw-content);position:absolute}.chatkit-wrapper .after\:-inset-2:after{content:var(--tw-content);inset:-.5rem}.chatkit-wrapper .after\:inset-y-0:after{bottom:0;content:var(--tw-content);top:0}.chatkit-wrapper .after\:left-1\/2:after{content:var(--tw-content);left:50%}.chatkit-wrapper .after\:w-\[2px\]:after{content:var(--tw-content);width:2px}.chatkit-wrapper .first\:mt-0:first-child{margin-top:0}.chatkit-wrapper .first\:mt-3:first-child{margin-top:.75rem}.chatkit-wrapper .first\:mt-4:first-child{margin-top:1rem}.chatkit-wrapper .first\:rounded-tl-lg:first-child{border-top-left-radius:.5rem}.chatkit-wrapper .first\:border-t:first-child{border-top-width:1px}.chatkit-wrapper .last\:mb-0:last-child{margin-bottom:0}.chatkit-wrapper .last\:mb-24:last-child{margin-bottom:6rem}.chatkit-wrapper .last\:mb-5:last-child{margin-bottom:1.25rem}.chatkit-wrapper .last\:rounded-tr-lg:last-child{border-top-right-radius:.5rem}.chatkit-wrapper .last\:border-r:last-child{border-right-width:1px}.chatkit-wrapper .empty\:hidden:empty{display:none}.chatkit-wrapper .focus-within\:ring-1:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.chatkit-wrapper .hover\:visible:hover{visibility:visible}.chatkit-wrapper .hover\:scale-\[1\.02\]:hover{--tw-scale-x:1.02;--tw-scale-y:1.02;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.chatkit-wrapper .hover\:border-blue-200:hover{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.chatkit-wrapper .hover\:border-gray-300:hover{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.chatkit-wrapper .hover\:border-gray-400:hover{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity,1))}.chatkit-wrapper .hover\:border-red-300:hover{--tw-border-opacity:1;border-color:rgb(252 165 165/var(--tw-border-opacity,1))}.chatkit-wrapper .hover\:\!bg-white:hover{--tw-bg-opacity:1!important;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))!important}.chatkit-wrapper .hover\:bg-\[rgba\(46\2c 50\2c 56\2c 0\.05\)\]:hover{background-color:rgba(46,50,56,.05)}.chatkit-wrapper .hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.chatkit-wrapper .hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.chatkit-wrapper .hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.chatkit-wrapper .hover\:bg-gray-50\/50:hover{background-color:rgba(249,250,251,.5)}.chatkit-wrapper .hover\:bg-red-50:hover{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.chatkit-wrapper .hover\:bg-red-600:hover{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.chatkit-wrapper .hover\:from-blue-600:hover{--tw-gradient-from:#2563eb var(--tw-gradient-from-position);--tw-gradient-to:rgba(37,99,235,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.chatkit-wrapper .hover\:from-blue-700:hover{--tw-gradient-from:#1d4ed8 var(--tw-gradient-from-position);--tw-gradient-to:rgba(29,78,216,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.chatkit-wrapper .hover\:from-red-600:hover{--tw-gradient-from:#dc2626 var(--tw-gradient-from-position);--tw-gradient-to:rgba(220,38,38,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.chatkit-wrapper .hover\:to-blue-700:hover{--tw-gradient-to:#1d4ed8 var(--tw-gradient-to-position)}.chatkit-wrapper .hover\:to-blue-800:hover{--tw-gradient-to:#1e40af var(--tw-gradient-to-position)}.chatkit-wrapper .hover\:to-red-700:hover{--tw-gradient-to:#b91c1c var(--tw-gradient-to-position)}.chatkit-wrapper .hover\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.chatkit-wrapper .hover\:text-gray-900:hover{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.chatkit-wrapper .hover\:underline:hover{text-decoration-line:underline}.chatkit-wrapper .hover\:opacity-100:hover{opacity:1}.chatkit-wrapper .hover\:opacity-75:hover{opacity:.75}.chatkit-wrapper .hover\:shadow-\[0_0_0_1px_hsl\(var\(--sidebar-accent\)\)\]:hover{--tw-shadow:0 0 0 1px hsl(var(--sidebar-accent));--tw-shadow-colored:0 0 0 1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.chatkit-wrapper .hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.chatkit-wrapper .hover\:shadow-lg:hover,.chatkit-wrapper .hover\:shadow-md:hover{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.chatkit-wrapper .hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.chatkit-wrapper .focus\:border-blue-400:focus{--tw-border-opacity:1;border-color:rgb(96 165 250/var(--tw-border-opacity,1))}.chatkit-wrapper .focus\:opacity-100:focus{opacity:1}.chatkit-wrapper .focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.chatkit-wrapper .focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.chatkit-wrapper .focus\:ring-2:focus,.chatkit-wrapper .focus\:ring-4:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.chatkit-wrapper .focus\:ring-4:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.chatkit-wrapper .focus\:ring-blue-50:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(239 246 255/var(--tw-ring-opacity,1))}.chatkit-wrapper .focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.chatkit-wrapper .focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.chatkit-wrapper .focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.chatkit-wrapper .focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.chatkit-wrapper .focus-visible\:ring-offset-0:focus-visible{--tw-ring-offset-width:0px}.chatkit-wrapper .active\:scale-95:active{--tw-scale-x:.95;--tw-scale-y:.95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.chatkit-wrapper .disabled\:pointer-events-none:disabled{pointer-events:none}.chatkit-wrapper .disabled\:invisible:disabled{visibility:hidden}.chatkit-wrapper .disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.chatkit-wrapper .disabled\:from-gray-300:disabled{--tw-gradient-from:#d1d5db var(--tw-gradient-from-position);--tw-gradient-to:rgba(209,213,219,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.chatkit-wrapper .disabled\:to-gray-300:disabled{--tw-gradient-to:#d1d5db var(--tw-gradient-to-position)}.chatkit-wrapper .disabled\:opacity-50:disabled{opacity:.5}.chatkit-wrapper .group\/menu-item:focus-within .group-focus-within\/menu-item\:opacity-100{opacity:1}.chatkit-wrapper .group:hover .group-hover\:visible{visibility:visible}.chatkit-wrapper .group:hover .group-hover\:translate-x-1{--tw-translate-x:0.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.chatkit-wrapper .group:hover .group-hover\:text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.chatkit-wrapper .group:hover .group-hover\:underline{text-decoration-line:underline}.chatkit-wrapper .group:hover .group-hover\:opacity-100,.chatkit-wrapper .group\/menu-item:hover .group-hover\/menu-item\:opacity-100{opacity:1}.chatkit-wrapper .group.destructive .group-\[\.destructive\]\:text-red-300{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.chatkit-wrapper .group.destructive .group-\[\.destructive\]\:hover\:text-red-50:hover{--tw-text-opacity:1;color:rgb(254 242 242/var(--tw-text-opacity,1))}.chatkit-wrapper .group.destructive .group-\[\.destructive\]\:focus\:ring-red-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(248 113 113/var(--tw-ring-opacity,1))}.chatkit-wrapper .group.destructive .group-\[\.destructive\]\:focus\:ring-offset-red-600:focus{--tw-ring-offset-color:#dc2626}.chatkit-wrapper .has-\[\>svg\]\:px-2\.5:has(>svg){padding-left:.625rem;padding-right:.625rem}.chatkit-wrapper .has-\[\>svg\]\:px-3:has(>svg){padding-left:.75rem;padding-right:.75rem}.chatkit-wrapper .has-\[\>svg\]\:px-4:has(>svg){padding-left:1rem;padding-right:1rem}.chatkit-wrapper .aria-disabled\:pointer-events-none[aria-disabled=true]{pointer-events:none}.chatkit-wrapper .aria-disabled\:opacity-50[aria-disabled=true]{opacity:.5}.chatkit-wrapper .data-\[state\=closed\]\:pointer-events-none[data-state=closed]{pointer-events:none}.chatkit-wrapper .data-\[orientation\=horizontal\]\:h-px[data-orientation=horizontal]{height:1px}.chatkit-wrapper .data-\[orientation\=vertical\]\:h-full[data-orientation=vertical]{height:100%}.chatkit-wrapper .data-\[orientation\=horizontal\]\:w-full[data-orientation=horizontal]{width:100%}.chatkit-wrapper .data-\[orientation\=vertical\]\:w-px[data-orientation=vertical]{width:1px}.chatkit-wrapper .data-\[state\=closed\]\:w-\[160px\][data-state=closed]{width:160px}.chatkit-wrapper .data-\[state\=open\]\:w-full[data-state=open]{width:100%}.chatkit-wrapper .data-\[swipe\=cancel\]\:translate-x-0[data-swipe=cancel]{--tw-translate-x:0px}.chatkit-wrapper .data-\[swipe\=cancel\]\:translate-x-0[data-swipe=cancel],.chatkit-wrapper .data-\[swipe\=end\]\:translate-x-\[var\(--radix-toast-swipe-end-x\)\][data-swipe=end]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.chatkit-wrapper .data-\[swipe\=end\]\:translate-x-\[var\(--radix-toast-swipe-end-x\)\][data-swipe=end]{--tw-translate-x:var(--radix-toast-swipe-end-x)}.chatkit-wrapper .data-\[swipe\=move\]\:translate-x-\[var\(--radix-toast-swipe-move-x\)\][data-swipe=move]{--tw-translate-x:var(--radix-toast-swipe-move-x);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.chatkit-wrapper .data-\[state\=open\]\:border-b[data-state=open]{border-bottom-width:1px}.chatkit-wrapper .data-\[active\=true\]\:font-medium[data-active=true]{font-weight:500}.chatkit-wrapper .data-\[state\=open\]\:opacity-100[data-state=open]{opacity:1}.chatkit-wrapper .data-\[swipe\=move\]\:transition-none[data-swipe=move]{transition-property:none}.chatkit-wrapper .data-\[state\=closed\]\:duration-300[data-state=closed]{transition-duration:.3s}.chatkit-wrapper .data-\[state\=open\]\:duration-500[data-state=open]{transition-duration:.5s}.chatkit-wrapper .group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:left-\[calc\(var\(--sidebar-width\)\*-1\)\]{left:calc(var(--sidebar-width)*-1)}.chatkit-wrapper .group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:right-\[calc\(var\(--sidebar-width\)\*-1\)\]{right:calc(var(--sidebar-width)*-1)}.chatkit-wrapper .group[data-side=left] .group-data-\[side\=left\]\:-right-4{right:-1rem}.chatkit-wrapper .group[data-side=right] .group-data-\[side\=right\]\:left-0{left:0}.chatkit-wrapper .group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:-mt-8{margin-top:-2rem}.chatkit-wrapper .group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:hidden{display:none}.chatkit-wrapper .group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+\(--spacing\(4\)\)\)\]{width:calc(var(--sidebar-width-icon) + (--spacing(4)))}.chatkit-wrapper .group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+\(--spacing\(4\)\)\+2px\)\]{width:calc(var(--sidebar-width-icon) + (--spacing(4)) + 2px)}.chatkit-wrapper .group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:w-0{width:0}.chatkit-wrapper .group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:translate-x-0{--tw-translate-x:0px}.chatkit-wrapper .group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:translate-x-0,.chatkit-wrapper .group[data-side=right] .group-data-\[side\=right\]\:rotate-180{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.chatkit-wrapper .group[data-side=right] .group-data-\[side\=right\]\:rotate-180{--tw-rotate:180deg}.chatkit-wrapper .group\/trigger[data-state=closed] .group-data-\[state\=closed\]\/trigger\:-rotate-90{--tw-rotate:-90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.chatkit-wrapper .group\/trigger[data-state=open] .group-data-\[state\=open\]\/trigger\:rotate-0{--tw-rotate:0deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.chatkit-wrapper .group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:overflow-hidden{overflow:hidden}.chatkit-wrapper .group[data-variant=floating] .group-data-\[variant\=floating\]\:rounded-lg{border-radius:.5rem}.chatkit-wrapper .group[data-variant=floating] .group-data-\[variant\=floating\]\:border{border-width:1px}.chatkit-wrapper .group[data-side=left] .group-data-\[side\=left\]\:border-r{border-right-width:1px}.chatkit-wrapper .group[data-side=right] .group-data-\[side\=right\]\:border-l{border-left-width:1px}.chatkit-wrapper .group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:opacity-0{opacity:0}.chatkit-wrapper .group[data-variant=floating] .group-data-\[variant\=floating\]\:shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.chatkit-wrapper .group\/collapsible-content[data-state=open] .group-data-\[state\=open\]\/collapsible-content\:delay-\[calc\(var\(--animation-duration\)\*0\.75\)\]{transition-delay:calc(var(--animation-duration)*.75)}.chatkit-wrapper .group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:after\:left-full:after{content:var(--tw-content);left:100%}.chatkit-wrapper .peer\/menu-button[data-size=default]~.peer-data-\[size\=default\]\/menu-button\:top-1\.5{top:.375rem}.chatkit-wrapper .peer\/menu-button[data-size=lg]~.peer-data-\[size\=lg\]\/menu-button\:top-2\.5{top:.625rem}.chatkit-wrapper .peer\/menu-button[data-size=sm]~.peer-data-\[size\=sm\]\/menu-button\:top-1{top:.25rem}@media (min-width:640px){.chatkit-wrapper .sm\:bottom-0{bottom:0}.chatkit-wrapper .sm\:right-0{right:0}.chatkit-wrapper .sm\:top-auto{top:auto}.chatkit-wrapper .sm\:flex{display:flex}.chatkit-wrapper .sm\:max-h-\[90vh\]{max-height:90vh}.chatkit-wrapper .sm\:max-w-3xl{max-width:48rem}.chatkit-wrapper .sm\:max-w-\[440px\]{max-width:440px}.chatkit-wrapper .sm\:max-w-\[480px\]{max-width:480px}.chatkit-wrapper .sm\:max-w-\[90vw\]{max-width:90vw}.chatkit-wrapper .sm\:max-w-lg{max-width:32rem}.chatkit-wrapper .sm\:max-w-sm{max-width:24rem}.chatkit-wrapper .sm\:flex-row{flex-direction:row}.chatkit-wrapper .sm\:flex-col{flex-direction:column}.chatkit-wrapper .sm\:justify-end{justify-content:flex-end}.chatkit-wrapper .sm\:text-left{text-align:left}}@media (min-width:768px){.chatkit-wrapper .md\:block{display:block}.chatkit-wrapper .md\:flex{display:flex}.chatkit-wrapper .md\:max-w-\[420px\]{max-width:420px}.chatkit-wrapper .md\:pb-6{padding-bottom:1.5rem}.chatkit-wrapper .md\:text-sm{font-size:.875rem;line-height:1.25rem}.chatkit-wrapper .md\:opacity-0{opacity:0}.chatkit-wrapper .md\:after\:hidden:after{content:var(--tw-content);display:none}.chatkit-wrapper .peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:m-2{margin:.5rem}.chatkit-wrapper .peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:ml-0{margin-left:0}.chatkit-wrapper .peer[data-variant=inset][data-state=collapsed]~.md\:peer-data-\[variant\=inset\]\:peer-data-\[state\=collapsed\]\:ml-2{margin-left:.5rem}.chatkit-wrapper .peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:rounded-xl{border-radius:.75rem}.chatkit-wrapper .peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}}@media (prefers-color-scheme:dark){.chatkit-wrapper .dark\:bg-background{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.chatkit-wrapper .dark\:stroke-\[2\.5px\]{stroke-width:2.5px}.chatkit-wrapper .dark\:text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity,1))}.chatkit-wrapper .dark\:text-red-200{--tw-text-opacity:1;color:rgb(254 202 202/var(--tw-text-opacity,1))}}.chatkit-wrapper .\[\&\:last-child\>td\:first-child\]\:rounded-bl-lg:last-child>td:first-child{border-bottom-left-radius:.5rem}.chatkit-wrapper .\[\&\:last-child\>td\:last-child\]\:rounded-br-lg:last-child>td:last-child{border-bottom-right-radius:.5rem}.chatkit-wrapper .\[\&\:where\(\>\*\)\]\:col-start-2:where(>*){grid-column-start:2}.chatkit-wrapper .only\:\[\&\>\#attachment-tile\]\:size-24>#attachment-tile:only-child{height:6rem;width:6rem}.chatkit-wrapper .\[\&\>a\]\:text-xs>a{font-size:.75rem;line-height:1rem}.chatkit-wrapper .\[\&\>a\]\:no-underline>a{text-decoration-line:none}.chatkit-wrapper .\[\&\>button\]\:hidden>button{display:none}.chatkit-wrapper .\[\&\>button\]\:rounded-full>button{border-radius:9999px}.chatkit-wrapper .\[\&\>button\]\:p-1>button{padding:.25rem}.chatkit-wrapper .\[\&\>button\]\:opacity-100>button{opacity:1}.chatkit-wrapper .\[\&\>button\]\:\!ring-0>button{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)!important;--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)!important;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)!important}.chatkit-wrapper .\[\&\>li\]\:mt-2>li{margin-top:.5rem}.chatkit-wrapper .\[\&\>span\:last-child\]\:truncate>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chatkit-wrapper .\[\&\>span\]\:text-xs>span{font-size:.75rem;line-height:1rem}.chatkit-wrapper .\[\&\>svg\]\:size-4>svg{height:1rem;width:1rem}.chatkit-wrapper .\[\&\>svg\]\:shrink-0>svg{flex-shrink:0}.chatkit-wrapper .\[\&\[align\=center\]\]\:text-center[align=center]{text-align:center}.chatkit-wrapper .\[\&\[align\=right\]\]\:text-right[align=right]{text-align:right}.chatkit-wrapper .\[\&_p\]\:-mb-2 p{margin-bottom:-.5rem}.chatkit-wrapper .\[\&_pre\]\:overflow-x-auto pre{overflow-x:auto}.chatkit-wrapper .\[\&_pre\]\:rounded-b-lg pre{border-bottom-left-radius:.5rem;border-bottom-right-radius:.5rem}.chatkit-wrapper .\[\&_pre\]\:border pre{border-width:1px}.chatkit-wrapper .\[\&_pre\]\:p-4 pre{padding:1rem}.chatkit-wrapper .\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){height:1rem;width:1rem}.chatkit-wrapper .\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.chatkit-wrapper .\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.chatkit-wrapper .\[\&_svg\]\:text-background svg{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.chatkit-wrapper .\[\&_svg\]\:text-black svg{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.chatkit-wrapper [data-side=left][data-collapsible=offcanvas] .\[\[data-side\=left\]\[data-collapsible\=offcanvas\]_\&\]\:-right-2{right:-.5rem}.chatkit-wrapper [data-side=left][data-state=collapsed] .\[\[data-side\=left\]\[data-state\=collapsed\]_\&\]\:cursor-e-resize{cursor:e-resize}.chatkit-wrapper [data-side=right][data-collapsible=offcanvas] .\[\[data-side\=right\]\[data-collapsible\=offcanvas\]_\&\]\:-left-2{left:-.5rem}.chatkit-wrapper [data-side=right][data-state=collapsed] .\[\[data-side\=right\]\[data-state\=collapsed\]_\&\]\:cursor-w-resize{cursor:w-resize}@keyframes aui-pulse{50%{opacity:.5}}.chatkit-wrapper :where(.aui-md[data-status=running]):empty:after,.chatkit-wrapper :where(.aui-md[data-status=running])>:where(:is(ol,ul):last-child)>:where(li:last-child)>:where(:is(ol,ul):last-child)>:where(li:last-child)>:where(:is(ol,ul):last-child)>:where(li:last-child):after,.chatkit-wrapper :where(.aui-md[data-status=running])>:where(:is(ol,ul):last-child)>:where(li:last-child)>:where(:is(ol,ul):last-child)>:where(li:last-child:not(:has(*>li))):after,.chatkit-wrapper :where(.aui-md[data-status=running])>:where(:is(ol,ul):last-child)>:where(li:last-child:not(:has(*>li))):after,.chatkit-wrapper :where(.aui-md[data-status=running])>:where(:not(ol):not(ul):not(pre)):last-child:after,.chatkit-wrapper :where(.aui-md[data-status=running])>pre:last-child code:after{--aui-content:"\25cf";animation:aui-pulse 2s cubic-bezier(.4,0,.6,1) infinite;content:var(--aui-content);font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;margin-left:.25rem;margin-right:.25rem}.chatkit-wrapper .chatkit-md-text-p img,.chatkit-wrapper .chatkit-md-text-p video{max-width:600px}@keyframes aui-pulse-chatkit{50%{opacity:.5;transform:scale(.7)}}.chatkit-wrapper .aui-root :where(.aui-md[data-status=running]):empty:after,.chatkit-wrapper .aui-root :where(.aui-md[data-status=running])>:where(:is(ol,ul):last-child)>:where(li:last-child)>:where(:is(ol,ul):last-child)>:where(li:last-child)>:where(:is(ol,ul):last-child)>:where(li:last-child):after,.chatkit-wrapper .aui-root :where(.aui-md[data-status=running])>:where(:is(ol,ul):last-child)>:where(li:last-child)>:where(:is(ol,ul):last-child)>:where(li:last-child:not(:has(*>li))):after,.chatkit-wrapper .aui-root :where(.aui-md[data-status=running])>:where(:is(ol,ul):last-child)>:where(li:last-child:not(:has(*>li))):after,.chatkit-wrapper .aui-root :where(.aui-md[data-status=running])>:where(:not(ol):not(ul):not(pre)):last-child:after,.chatkit-wrapper .aui-root :where(.aui-md[data-status=running])>pre:last-child code:after{--aui-content:"\25cf";animation:aui-pulse-chatkit 1.5s cubic-bezier(.4,0,.6,1) infinite;content:var(--aui-content);display:inline-block;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;margin-left:.2rem;margin-right:.2rem}
|