@arcadeai/design-system 3.33.0 → 3.33.2

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.
Files changed (75) hide show
  1. package/dist/assets/icons/attio.js +6 -6
  2. package/dist/assets/icons/daytona.js +6 -6
  3. package/dist/assets/icons/math-toolkit.js +10 -0
  4. package/dist/components/index.js +431 -404
  5. package/dist/components/ui/atoms/command.js +288 -364
  6. package/dist/components/ui/atoms/copy-button.d.ts.map +1 -1
  7. package/dist/components/ui/atoms/copy-button.js +3 -2
  8. package/dist/components/ui/atoms/dropdown-menu.js +1 -1
  9. package/dist/components/ui/atoms/hover-card.js +1 -1
  10. package/dist/components/ui/atoms/icons/attio.d.ts.map +1 -1
  11. package/dist/components/ui/atoms/icons/attio.js +13 -25
  12. package/dist/components/ui/atoms/icons/daytona.d.ts.map +1 -1
  13. package/dist/components/ui/atoms/icons/daytona.js +9 -14
  14. package/dist/components/ui/atoms/icons/index.d.ts +1 -0
  15. package/dist/components/ui/atoms/icons/index.d.ts.map +1 -1
  16. package/dist/components/ui/atoms/icons/index.js +138 -136
  17. package/dist/components/ui/atoms/icons/math-toolkit.d.ts +4 -0
  18. package/dist/components/ui/atoms/icons/math-toolkit.d.ts.map +1 -0
  19. package/dist/components/ui/atoms/icons/math-toolkit.js +15 -0
  20. package/dist/components/ui/atoms/index.d.ts +1 -0
  21. package/dist/components/ui/atoms/index.d.ts.map +1 -1
  22. package/dist/components/ui/atoms/index.js +295 -289
  23. package/dist/components/ui/atoms/markdown.js +1 -1
  24. package/dist/components/ui/atoms/popover.js +1 -1
  25. package/dist/components/ui/atoms/scroll-button.d.ts.map +1 -1
  26. package/dist/components/ui/atoms/scroll-button.js +34 -28
  27. package/dist/components/ui/atoms/select.js +1 -1
  28. package/dist/components/ui/atoms/step-indicator.d.ts +17 -0
  29. package/dist/components/ui/atoms/step-indicator.d.ts.map +1 -0
  30. package/dist/components/ui/atoms/step-indicator.js +151 -0
  31. package/dist/components/ui/atoms/tooltip.js +1 -1
  32. package/dist/components/ui/index.js +431 -404
  33. package/dist/components/ui/molecules/chat-message-list.d.ts +74 -0
  34. package/dist/components/ui/molecules/chat-message-list.d.ts.map +1 -0
  35. package/dist/components/ui/molecules/chat-message-list.js +121 -0
  36. package/dist/components/ui/molecules/index.d.ts +6 -0
  37. package/dist/components/ui/molecules/index.d.ts.map +1 -1
  38. package/dist/components/ui/molecules/index.js +29 -20
  39. package/dist/components/ui/molecules/message.js +1 -1
  40. package/dist/components/ui/molecules/prompt-input.d.ts.map +1 -1
  41. package/dist/components/ui/molecules/prompt-input.js +42 -43
  42. package/dist/components/ui/molecules/requirement-badges.js +3 -3
  43. package/dist/components/ui/molecules/steps-progress.d.ts +13 -0
  44. package/dist/components/ui/molecules/steps-progress.d.ts.map +1 -0
  45. package/dist/components/ui/molecules/steps-progress.js +66 -0
  46. package/dist/components/ui/molecules/suggestion-card.d.ts +11 -0
  47. package/dist/components/ui/molecules/suggestion-card.d.ts.map +1 -0
  48. package/dist/components/ui/molecules/suggestion-card.js +53 -0
  49. package/dist/components/ui/molecules/toolkit-card.js +1 -1
  50. package/dist/components/ui/pages/chat-page.d.ts +75 -0
  51. package/dist/components/ui/pages/chat-page.d.ts.map +1 -0
  52. package/dist/components/ui/pages/chat-page.js +300 -0
  53. package/dist/components/ui/pages/index.d.ts +2 -0
  54. package/dist/components/ui/pages/index.d.ts.map +1 -1
  55. package/dist/components/ui/pages/index.js +2 -0
  56. package/dist/components/ui/templates/chat-template.d.ts +20 -0
  57. package/dist/components/ui/templates/chat-template.d.ts.map +1 -0
  58. package/dist/components/ui/templates/chat-template.js +148 -0
  59. package/dist/components/ui/templates/index.d.ts +2 -0
  60. package/dist/components/ui/templates/index.d.ts.map +1 -1
  61. package/dist/components/ui/templates/index.js +19 -9
  62. package/dist/highlighted-body-TPN3WLV5-DyOGcftJ.js +19 -0
  63. package/dist/index-BEZCAdXQ.js +1568 -0
  64. package/dist/main.js +461 -434
  65. package/dist/{markdown-ChximrBv.js → markdown-9KGBuupR.js} +6264 -6046
  66. package/dist/mermaid-O7DHMXV3-CUp9wvRi.js +4 -0
  67. package/dist/metadata/toolkit-icons.d.ts.map +1 -1
  68. package/dist/metadata/toolkit-icons.js +268 -259
  69. package/dist/metadata/toolkits.d.ts.map +1 -1
  70. package/dist/metadata/toolkits.js +80 -2
  71. package/dist/{toolkit-card-B0syFJQ6.js → toolkit-card-k8jio69G.js} +2 -2
  72. package/package.json +1 -1
  73. package/dist/highlighted-body-B3W2YXNL-D6XBJnwx.js +0 -19
  74. package/dist/index-DO05OIM5.js +0 -1545
  75. package/dist/mermaid-3ZIDBTTL-DtIP-JZq.js +0 -4
@@ -0,0 +1,75 @@
1
+ import { ChatMessageItem, ChatMessageListProps } from '../molecules/chat-message-list';
2
+ import { SuggestionCardProps } from '../molecules/suggestion-card';
3
+ import type * as React from "react";
4
+ /** A suggestion card item extended with an id and optional action string. */
5
+ export type ChatPageSuggestion = Pick<SuggestionCardProps, "icon" | "title" | "subtitle" | "onClick"> & {
6
+ id: string;
7
+ /** Message text to send when this suggestion is clicked. Used with `onSuggestionAction`. */
8
+ action?: string;
9
+ };
10
+ export type ChatPageProps = {
11
+ /** User information for greeting and sidebar avatar */
12
+ user?: {
13
+ name?: string;
14
+ email?: string;
15
+ avatarUrl?: string;
16
+ };
17
+ /** Logo element for the sidebar header */
18
+ logo?: React.ReactNode;
19
+ /** Suggested action cards shown when the chat is empty */
20
+ suggestedActions?: ChatPageSuggestion[];
21
+ /** Callback when a suggestion with an `action` string is clicked */
22
+ onSuggestionAction?: (action: string) => void;
23
+ /** Available models for the model selector dropdown */
24
+ models?: Array<{
25
+ id: string;
26
+ name: string;
27
+ description?: string;
28
+ }>;
29
+ /** Currently selected model ID */
30
+ selectedModelId?: string;
31
+ /** Callback when model changes */
32
+ onModelChange?: (id: string) => void;
33
+ /** Prompt input value (controlled) */
34
+ inputValue?: string;
35
+ /** Callback when input changes */
36
+ onInputChange?: (value: string) => void;
37
+ /** Callback when message is submitted */
38
+ onSubmit?: () => void;
39
+ /** Whether a response is loading / streaming */
40
+ isLoading?: boolean;
41
+ /** Callback to stop a streaming response */
42
+ onStop?: () => void;
43
+ /** Callback for creating a new chat */
44
+ onNewChat?: () => void;
45
+ /** Callback for deleting all chats */
46
+ onDeleteAll?: () => void;
47
+ /** Callback for sign out */
48
+ onSignOut?: () => void;
49
+ /** Callback for theme change */
50
+ onThemeChange?: (theme: "light" | "dark" | "system") => void;
51
+ /** Current theme */
52
+ theme?: "light" | "dark" | "system";
53
+ /** Chat history items for the sidebar */
54
+ chatHistory?: Array<{
55
+ id: string;
56
+ title: string;
57
+ isActive?: boolean;
58
+ }>;
59
+ /** Callback when a chat history item is selected */
60
+ onSelectChat?: (id: string) => void;
61
+ /** Whether the sidebar is open by default */
62
+ defaultSidebarOpen?: boolean;
63
+ /** Whether to show the sidebar. When false, the chat takes the full width. */
64
+ showSidebar?: boolean;
65
+ /** Normalized messages to render via ChatMessageList. When present with items, hides overview/suggestions. */
66
+ messages?: ChatMessageItem[];
67
+ /** Custom render function for individual messages (passed to ChatMessageList) */
68
+ renderMessage?: ChatMessageListProps["renderMessage"];
69
+ /** Custom loading indicator for streaming (passed to ChatMessageList) */
70
+ loadingIndicator?: React.ReactNode;
71
+ /** Children rendered in the body area. Overrides `messages` prop when present. */
72
+ children?: React.ReactNode;
73
+ };
74
+ export declare function ChatPage({ user, logo, suggestedActions, onSuggestionAction, models, selectedModelId, onModelChange, inputValue, onInputChange, onSubmit, isLoading, onStop, onNewChat, onDeleteAll, onSignOut, onThemeChange, theme, chatHistory, onSelectChat, defaultSidebarOpen, showSidebar, messages, renderMessage, loadingIndicator, children, }: ChatPageProps): import("react/jsx-runtime").JSX.Element;
75
+ //# sourceMappingURL=chat-page.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat-page.d.ts","sourceRoot":"","sources":["../../../../lib/components/ui/pages/chat-page.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAsCpC,OAAO,EACL,KAAK,eAAe,EAEpB,KAAK,oBAAoB,EAC1B,MAAM,6CAA6C,CAAC;AAOrD,OAAO,EAEL,KAAK,mBAAmB,EACzB,MAAM,2CAA2C,CAAC;AAenD,6EAA6E;AAC7E,MAAM,MAAM,kBAAkB,GAAG,IAAI,CACnC,mBAAmB,EACnB,MAAM,GAAG,OAAO,GAAG,UAAU,GAAG,SAAS,CAC1C,GAAG;IACF,EAAE,EAAE,MAAM,CAAC;IACX,4FAA4F;IAC5F,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,uDAAuD;IACvD,IAAI,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7D,0CAA0C;IAC1C,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,0DAA0D;IAC1D,gBAAgB,CAAC,EAAE,kBAAkB,EAAE,CAAC;IACxC,oEAAoE;IACpE,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,uDAAuD;IACvD,MAAM,CAAC,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACnE,kCAAkC;IAClC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kCAAkC;IAClC,aAAa,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,sCAAsC;IACtC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kCAAkC;IAClC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,yCAAyC;IACzC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,gDAAgD;IAChD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,4CAA4C;IAC5C,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,uCAAuC;IACvC,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,sCAAsC;IACtC,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,4BAA4B;IAC5B,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,gCAAgC;IAChC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,KAAK,IAAI,CAAC;IAC7D,oBAAoB;IACpB,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;IACpC,yCAAyC;IACzC,WAAW,CAAC,EAAE,KAAK,CAAC;QAClB,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB,CAAC,CAAC;IACH,oDAAoD;IACpD,YAAY,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,6CAA6C;IAC7C,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,8EAA8E;IAC9E,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,8GAA8G;IAC9G,QAAQ,CAAC,EAAE,eAAe,EAAE,CAAC;IAC7B,iFAAiF;IACjF,aAAa,CAAC,EAAE,oBAAoB,CAAC,eAAe,CAAC,CAAC;IACtD,yEAAyE;IACzE,gBAAgB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACnC,kFAAkF;IAClF,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B,CAAC;AAmLF,wBAAgB,QAAQ,CAAC,EACvB,IAAI,EACJ,IAAI,EACJ,gBAAgB,EAChB,kBAAkB,EAClB,MAAM,EACN,eAAe,EACf,aAAa,EACb,UAAU,EACV,aAAa,EACb,QAAQ,EACR,SAAiB,EACjB,MAAM,EACN,SAAS,EACT,WAAW,EACX,SAAS,EACT,aAAa,EACb,KAAgB,EAChB,WAAW,EACX,YAAY,EACZ,kBAAyB,EACzB,WAAkB,EAClB,QAAQ,EACR,aAAa,EACb,gBAAgB,EAChB,QAAQ,GACT,EAAE,aAAa,2CA4Lf"}
@@ -0,0 +1,300 @@
1
+ import { jsxs as a, jsx as e, Fragment as X } from "react/jsx-runtime";
2
+ import { PlusIcon as Y, SquareIcon as Z, ArrowUpIcon as _, Trash2Icon as $, SquarePenIcon as L, ChevronsUpDownIcon as T, SunIcon as ee, MoonIcon as ae, MonitorIcon as re, LogOutIcon as te } from "lucide-react";
3
+ import { Avatar as w, AvatarImage as I, AvatarFallback as M } from "../atoms/avatar.js";
4
+ import { Button as o } from "../atoms/button.js";
5
+ import { ChatContainerRoot as ne, ChatContainerContent as le, ChatContainerScrollAnchor as ie } from "../atoms/chat-container.js";
6
+ import { DropdownMenu as D, DropdownMenuTrigger as P, DropdownMenuContent as j, DropdownMenuRadioGroup as A, DropdownMenuRadioItem as p, DropdownMenuLabel as y, DropdownMenuSeparator as U, DropdownMenuItem as ce } from "../atoms/dropdown-menu.js";
7
+ import { ScrollButton as se } from "../atoms/scroll-button.js";
8
+ import { SidebarTrigger as de, SidebarProvider as oe, Sidebar as me, SidebarHeader as he, SidebarContent as pe, SidebarGroup as ue, SidebarGroupLabel as fe, SidebarGroupContent as ve, SidebarMenu as u, SidebarMenuItem as f, SidebarMenuButton as v, SidebarFooter as Ne, SidebarInset as ge } from "../atoms/sidebar.js";
9
+ import { ChatMessageList as xe } from "../molecules/chat-message-list.js";
10
+ import { PromptInput as be, PromptInputTextarea as Ce, PromptInputActions as Se, PromptInputAction as ze } from "../molecules/prompt-input.js";
11
+ import { SuggestionCard as we } from "../molecules/suggestion-card.js";
12
+ import { ChatTemplate as Ie, ChatTemplateHeader as Me, ChatTemplateHeaderGroup as k, ChatTemplateOverview as ye, ChatTemplateOverviewTitle as Ue, ChatTemplateOverviewSubtitle as ke, ChatTemplateFooter as Te, ChatTemplateSuggestions as De } from "../templates/chat-template.js";
13
+ import { cn as Pe } from "../../../lib/utils.js";
14
+ function je({
15
+ user: r,
16
+ theme: c = "system",
17
+ onThemeChange: l,
18
+ onSignOut: t
19
+ }) {
20
+ const m = r?.name?.split(" ").map((s) => s[0]).join("").slice(0, 2).toUpperCase();
21
+ return l || t ? /* @__PURE__ */ e(u, { children: /* @__PURE__ */ e(f, { children: /* @__PURE__ */ a(D, { children: [
22
+ /* @__PURE__ */ e(P, { asChild: !0, children: /* @__PURE__ */ a(
23
+ v,
24
+ {
25
+ className: "data-[state=open]:bg-sidebar-accent data-[state=open]:text-sidebar-accent-foreground",
26
+ size: "lg",
27
+ children: [
28
+ /* @__PURE__ */ a(w, { className: "size-8 rounded-lg", children: [
29
+ r?.avatarUrl && /* @__PURE__ */ e(I, { alt: r.name ?? "User", src: r.avatarUrl }),
30
+ /* @__PURE__ */ e(M, { className: "rounded-lg", children: m ?? "U" })
31
+ ] }),
32
+ /* @__PURE__ */ a("div", { className: "grid flex-1 text-left text-sm leading-tight", children: [
33
+ /* @__PURE__ */ e("span", { className: "truncate font-medium", children: r?.name ?? "User" }),
34
+ r?.email && /* @__PURE__ */ e("span", { className: "truncate text-muted-foreground text-xs", children: r.email })
35
+ ] }),
36
+ /* @__PURE__ */ e(T, { className: "ml-auto size-4" })
37
+ ]
38
+ }
39
+ ) }),
40
+ /* @__PURE__ */ a(
41
+ j,
42
+ {
43
+ align: "end",
44
+ className: "w-56",
45
+ side: "top",
46
+ sideOffset: 4,
47
+ children: [
48
+ /* @__PURE__ */ e(y, { children: "My Account" }),
49
+ /* @__PURE__ */ e(U, {}),
50
+ l && /* @__PURE__ */ a(X, { children: [
51
+ /* @__PURE__ */ e(y, { className: "font-normal text-muted-foreground text-xs", children: "Theme" }),
52
+ /* @__PURE__ */ a(
53
+ A,
54
+ {
55
+ onValueChange: (s) => l(s),
56
+ value: c,
57
+ children: [
58
+ /* @__PURE__ */ a(p, { value: "light", children: [
59
+ /* @__PURE__ */ e(ee, { className: "size-4" }),
60
+ "Light"
61
+ ] }),
62
+ /* @__PURE__ */ a(p, { value: "dark", children: [
63
+ /* @__PURE__ */ e(ae, { className: "size-4" }),
64
+ "Dark"
65
+ ] }),
66
+ /* @__PURE__ */ a(p, { value: "system", children: [
67
+ /* @__PURE__ */ e(re, { className: "size-4" }),
68
+ "System"
69
+ ] })
70
+ ]
71
+ }
72
+ ),
73
+ /* @__PURE__ */ e(U, {})
74
+ ] }),
75
+ t && /* @__PURE__ */ a(ce, { onClick: t, children: [
76
+ /* @__PURE__ */ e(te, { className: "size-4" }),
77
+ "Sign out"
78
+ ] })
79
+ ]
80
+ }
81
+ )
82
+ ] }) }) }) : /* @__PURE__ */ e(u, { children: /* @__PURE__ */ e(f, { children: /* @__PURE__ */ a(v, { className: "cursor-default", size: "lg", children: [
83
+ /* @__PURE__ */ a(w, { className: "size-8 rounded-lg", children: [
84
+ r?.avatarUrl && /* @__PURE__ */ e(I, { alt: r.name ?? "User", src: r.avatarUrl }),
85
+ /* @__PURE__ */ e(M, { className: "rounded-lg", children: m ?? "U" })
86
+ ] }),
87
+ /* @__PURE__ */ a("div", { className: "grid flex-1 text-left text-sm leading-tight", children: [
88
+ /* @__PURE__ */ e("span", { className: "truncate font-medium", children: r?.name ?? "User" }),
89
+ r?.email && /* @__PURE__ */ e("span", { className: "truncate text-muted-foreground text-xs", children: r.email })
90
+ ] })
91
+ ] }) }) });
92
+ }
93
+ function Ae({
94
+ models: r,
95
+ selectedModelId: c,
96
+ onModelChange: l
97
+ }) {
98
+ return !r || r.length === 0 ? null : /* @__PURE__ */ a(D, { children: [
99
+ /* @__PURE__ */ e(P, { asChild: !0, children: /* @__PURE__ */ a(o, { className: "h-[34px] gap-1 px-2", variant: "outline", children: [
100
+ r.find((t) => t.id === c)?.name ?? "Select model",
101
+ /* @__PURE__ */ e(T, { className: "size-3" })
102
+ ] }) }),
103
+ /* @__PURE__ */ e(j, { align: "start", className: "min-w-[300px]", children: /* @__PURE__ */ e(
104
+ A,
105
+ {
106
+ onValueChange: l,
107
+ value: c,
108
+ children: r.map((t) => /* @__PURE__ */ e(p, { value: t.id, children: /* @__PURE__ */ a("div", { className: "flex flex-col items-start gap-1", children: [
109
+ /* @__PURE__ */ e("div", { className: "font-medium", children: t.name }),
110
+ t.description && /* @__PURE__ */ e("div", { className: "text-muted-foreground text-xs", children: t.description })
111
+ ] }) }, t.id))
112
+ }
113
+ ) })
114
+ ] });
115
+ }
116
+ function Xe({
117
+ user: r,
118
+ logo: c,
119
+ suggestedActions: l,
120
+ onSuggestionAction: t,
121
+ models: m,
122
+ selectedModelId: s,
123
+ onModelChange: H,
124
+ inputValue: N,
125
+ onInputChange: G,
126
+ onSubmit: g,
127
+ isLoading: i = !1,
128
+ onStop: B,
129
+ onNewChat: h,
130
+ onDeleteAll: x,
131
+ onSignOut: F,
132
+ onThemeChange: O,
133
+ theme: R = "system",
134
+ chatHistory: q,
135
+ onSelectChat: V,
136
+ defaultSidebarOpen: E = !0,
137
+ showSidebar: b = !0,
138
+ messages: d,
139
+ renderMessage: J,
140
+ loadingIndicator: K,
141
+ children: C
142
+ }) {
143
+ const Q = !!C || d !== void 0 && d.length > 0, W = r?.name ?? "there", S = /* @__PURE__ */ a(Ie, { children: [
144
+ /* @__PURE__ */ a(Me, { children: [
145
+ /* @__PURE__ */ a(k, { children: [
146
+ b && /* @__PURE__ */ e(de, {}),
147
+ /* @__PURE__ */ e(
148
+ Ae,
149
+ {
150
+ models: m,
151
+ onModelChange: H,
152
+ selectedModelId: s
153
+ }
154
+ )
155
+ ] }),
156
+ /* @__PURE__ */ e("div", { className: "flex-1" }),
157
+ /* @__PURE__ */ e(k, { children: h && /* @__PURE__ */ a(
158
+ o,
159
+ {
160
+ "aria-label": "New chat",
161
+ className: "h-9 gap-1 px-2",
162
+ onClick: h,
163
+ variant: "outline",
164
+ children: [
165
+ /* @__PURE__ */ e(Y, { className: "size-4" }),
166
+ /* @__PURE__ */ e("span", { className: "md:sr-only", children: "New Chat" })
167
+ ]
168
+ }
169
+ ) })
170
+ ] }),
171
+ /* @__PURE__ */ a(ne, { className: "relative min-w-0 flex-1 flex-col pt-4", children: [
172
+ /* @__PURE__ */ a(le, { className: "gap-6 pb-4", children: [
173
+ C || (d && d.length > 0 ? /* @__PURE__ */ e(
174
+ xe,
175
+ {
176
+ isStreaming: i,
177
+ loadingIndicator: K,
178
+ messages: d,
179
+ renderMessage: J
180
+ }
181
+ ) : /* @__PURE__ */ a(ye, { children: [
182
+ /* @__PURE__ */ a(Ue, { children: [
183
+ "Hi, ",
184
+ /* @__PURE__ */ e("span", { className: "text-primary/80", children: W })
185
+ ] }),
186
+ /* @__PURE__ */ e(ke, { children: "How can I help you today?" })
187
+ ] })),
188
+ /* @__PURE__ */ e(ie, {})
189
+ ] }),
190
+ /* @__PURE__ */ e("div", { className: "pointer-events-none absolute right-0 bottom-0 left-0 z-10 h-10 bg-gradient-to-t from-10% from-background to-transparent" }),
191
+ /* @__PURE__ */ e("div", { className: "pointer-events-none absolute right-0 bottom-4 left-0 z-20 flex justify-center px-4", children: /* @__PURE__ */ e("div", { className: "flex w-full max-w-3xl justify-end pr-4", children: /* @__PURE__ */ e(se, { className: "pointer-events-auto shadow-md" }) }) })
192
+ ] }),
193
+ /* @__PURE__ */ a(Te, { children: [
194
+ !Q && l && l.length > 0 && /* @__PURE__ */ e(De, { children: l.map((n, z) => /* @__PURE__ */ e(
195
+ "div",
196
+ {
197
+ className: Pe(
198
+ "col-span-12 sm:col-span-6",
199
+ z < 3 ? "md:col-span-4" : "md:col-span-6",
200
+ z > 1 && "hidden sm:block"
201
+ ),
202
+ children: /* @__PURE__ */ e(
203
+ we,
204
+ {
205
+ icon: n.icon,
206
+ onClick: n.onClick ?? (n.action ? () => t?.(n.action ?? "") : void 0),
207
+ subtitle: n.subtitle,
208
+ title: n.title
209
+ }
210
+ )
211
+ },
212
+ n.id
213
+ )) }),
214
+ /* @__PURE__ */ a(
215
+ be,
216
+ {
217
+ isLoading: i,
218
+ onSubmit: g,
219
+ onValueChange: G,
220
+ value: N,
221
+ children: [
222
+ /* @__PURE__ */ e(Ce, { placeholder: "Send a message..." }),
223
+ /* @__PURE__ */ e(Se, { className: "justify-end px-2 pb-2", children: /* @__PURE__ */ e(
224
+ ze,
225
+ {
226
+ tooltip: i ? "Stop generating" : "Send message",
227
+ children: /* @__PURE__ */ e(
228
+ o,
229
+ {
230
+ "aria-label": i ? "Stop generating" : "Send message",
231
+ disabled: !(i || N?.trim()),
232
+ onClick: i ? B : g,
233
+ size: "icon",
234
+ variant: i ? "destructive" : "default",
235
+ children: i ? /* @__PURE__ */ e(Z, { className: "size-4 fill-current" }) : /* @__PURE__ */ e(_, { className: "size-4" })
236
+ }
237
+ )
238
+ }
239
+ ) })
240
+ ]
241
+ }
242
+ )
243
+ ] })
244
+ ] });
245
+ return b ? /* @__PURE__ */ a(oe, { defaultOpen: E, children: [
246
+ /* @__PURE__ */ a(me, { className: "group-data-[side=left]:border-r-0", children: [
247
+ /* @__PURE__ */ e(he, { children: /* @__PURE__ */ a("div", { className: "flex items-center justify-between", children: [
248
+ c && /* @__PURE__ */ e("div", { className: "flex items-center gap-2 px-2", children: c }),
249
+ /* @__PURE__ */ a("div", { className: "flex items-center gap-1", children: [
250
+ x && /* @__PURE__ */ e(
251
+ o,
252
+ {
253
+ "aria-label": "Delete all chats",
254
+ className: "size-8",
255
+ onClick: x,
256
+ size: "icon",
257
+ variant: "ghost",
258
+ children: /* @__PURE__ */ e($, { className: "size-4" })
259
+ }
260
+ ),
261
+ h && /* @__PURE__ */ e(
262
+ o,
263
+ {
264
+ "aria-label": "New chat",
265
+ className: "size-8",
266
+ onClick: h,
267
+ size: "icon",
268
+ variant: "ghost",
269
+ children: /* @__PURE__ */ e(L, { className: "size-4" })
270
+ }
271
+ )
272
+ ] })
273
+ ] }) }),
274
+ /* @__PURE__ */ e(pe, { children: /* @__PURE__ */ a(ue, { children: [
275
+ /* @__PURE__ */ e(fe, { children: "History" }),
276
+ /* @__PURE__ */ e(ve, { children: /* @__PURE__ */ e(u, { children: q?.map((n) => /* @__PURE__ */ e(f, { children: /* @__PURE__ */ e(
277
+ v,
278
+ {
279
+ isActive: n.isActive,
280
+ onClick: () => V?.(n.id),
281
+ children: /* @__PURE__ */ e("span", { children: n.title })
282
+ }
283
+ ) }, n.id)) }) })
284
+ ] }) }),
285
+ /* @__PURE__ */ e(Ne, { children: /* @__PURE__ */ e(
286
+ je,
287
+ {
288
+ onSignOut: F,
289
+ onThemeChange: O,
290
+ theme: R,
291
+ user: r
292
+ }
293
+ ) })
294
+ ] }),
295
+ /* @__PURE__ */ e(ge, { children: S })
296
+ ] }) : S;
297
+ }
298
+ export {
299
+ Xe as ChatPage
300
+ };
@@ -1,4 +1,6 @@
1
1
  /** biome-ignore-all lint/performance/noBarrelFile: Barrel files are acceptable for atomic component folders */
2
+ export type { ChatPageProps, ChatPageSuggestion } from './chat-page';
3
+ export { ChatPage } from './chat-page';
2
4
  export type { LoginPageProps } from './login-page';
3
5
  export { LoginPage } from './login-page';
4
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../lib/components/ui/pages/index.ts"],"names":[],"mappings":"AAAA,+GAA+G;AAE/G,YAAY,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../lib/components/ui/pages/index.ts"],"names":[],"mappings":"AAAA,+GAA+G;AAE/G,YAAY,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,YAAY,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC"}
@@ -1,4 +1,6 @@
1
+ import { ChatPage as r } from "./chat-page.js";
1
2
  import { LoginPage as g } from "./login-page.js";
2
3
  export {
4
+ r as ChatPage,
3
5
  g as LoginPage
4
6
  };
@@ -0,0 +1,20 @@
1
+ import type * as React from "react";
2
+ export type ChatTemplateProps = React.ComponentProps<"div">;
3
+ export declare function ChatTemplate({ className, ...props }: ChatTemplateProps): import("react/jsx-runtime").JSX.Element;
4
+ export type ChatTemplateHeaderProps = React.ComponentProps<"header">;
5
+ export declare function ChatTemplateHeader({ className, ...props }: ChatTemplateHeaderProps): import("react/jsx-runtime").JSX.Element;
6
+ export type ChatTemplateHeaderGroupProps = React.ComponentProps<"div">;
7
+ export declare function ChatTemplateHeaderGroup({ className, ...props }: ChatTemplateHeaderGroupProps): import("react/jsx-runtime").JSX.Element;
8
+ export type ChatTemplateBodyProps = React.ComponentProps<"div">;
9
+ export declare function ChatTemplateBody({ className, ...props }: ChatTemplateBodyProps): import("react/jsx-runtime").JSX.Element;
10
+ export type ChatTemplateFooterProps = React.ComponentProps<"div">;
11
+ export declare function ChatTemplateFooter({ className, ...props }: ChatTemplateFooterProps): import("react/jsx-runtime").JSX.Element;
12
+ export type ChatTemplateOverviewProps = React.ComponentProps<"div">;
13
+ export declare function ChatTemplateOverview({ className, ...props }: ChatTemplateOverviewProps): import("react/jsx-runtime").JSX.Element;
14
+ export type ChatTemplateOverviewTitleProps = React.ComponentProps<"h1">;
15
+ export declare function ChatTemplateOverviewTitle({ className, ...props }: ChatTemplateOverviewTitleProps): import("react/jsx-runtime").JSX.Element;
16
+ export type ChatTemplateOverviewSubtitleProps = React.ComponentProps<"h2">;
17
+ export declare function ChatTemplateOverviewSubtitle({ className, ...props }: ChatTemplateOverviewSubtitleProps): import("react/jsx-runtime").JSX.Element;
18
+ export type ChatTemplateSuggestionsProps = React.ComponentProps<"div">;
19
+ export declare function ChatTemplateSuggestions({ className, ...props }: ChatTemplateSuggestionsProps): import("react/jsx-runtime").JSX.Element;
20
+ //# sourceMappingURL=chat-template.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat-template.d.ts","sourceRoot":"","sources":["../../../../lib/components/ui/templates/chat-template.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAKpC,MAAM,MAAM,iBAAiB,GAAG,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;AAE5D,wBAAgB,YAAY,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,iBAAiB,2CAWtE;AAID,MAAM,MAAM,uBAAuB,GAAG,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;AAErE,wBAAgB,kBAAkB,CAAC,EACjC,SAAS,EACT,GAAG,KAAK,EACT,EAAE,uBAAuB,2CAWzB;AAID,MAAM,MAAM,4BAA4B,GAAG,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;AAEvE,wBAAgB,uBAAuB,CAAC,EACtC,SAAS,EACT,GAAG,KAAK,EACT,EAAE,4BAA4B,2CAQ9B;AAID,MAAM,MAAM,qBAAqB,GAAG,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;AAEhE,wBAAgB,gBAAgB,CAAC,EAC/B,SAAS,EACT,GAAG,KAAK,EACT,EAAE,qBAAqB,2CAWvB;AAID,MAAM,MAAM,uBAAuB,GAAG,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;AAElE,wBAAgB,kBAAkB,CAAC,EACjC,SAAS,EACT,GAAG,KAAK,EACT,EAAE,uBAAuB,2CAWzB;AAID,MAAM,MAAM,yBAAyB,GAAG,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;AAEpE,wBAAgB,oBAAoB,CAAC,EACnC,SAAS,EACT,GAAG,KAAK,EACT,EAAE,yBAAyB,2CAW3B;AAID,MAAM,MAAM,8BAA8B,GAAG,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;AAExE,wBAAgB,yBAAyB,CAAC,EACxC,SAAS,EACT,GAAG,KAAK,EACT,EAAE,8BAA8B,2CAWhC;AAID,MAAM,MAAM,iCAAiC,GAAG,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;AAE3E,wBAAgB,4BAA4B,CAAC,EAC3C,SAAS,EACT,GAAG,KAAK,EACT,EAAE,iCAAiC,2CAWnC;AAID,MAAM,MAAM,4BAA4B,GAAG,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;AAEvE,wBAAgB,uBAAuB,CAAC,EACtC,SAAS,EACT,GAAG,KAAK,EACT,EAAE,4BAA4B,2CAQ9B"}
@@ -0,0 +1,148 @@
1
+ import { jsx as a } from "react/jsx-runtime";
2
+ import { cn as l } from "../../../lib/utils.js";
3
+ function m({ className: t, ...e }) {
4
+ return /* @__PURE__ */ a(
5
+ "div",
6
+ {
7
+ className: l(
8
+ "relative flex h-dvh min-w-0 flex-col bg-background",
9
+ t
10
+ ),
11
+ "data-slot": "chat-template",
12
+ ...e
13
+ }
14
+ );
15
+ }
16
+ function n({
17
+ className: t,
18
+ ...e
19
+ }) {
20
+ return /* @__PURE__ */ a(
21
+ "header",
22
+ {
23
+ className: l(
24
+ "sticky top-0 z-10 flex items-center gap-2 bg-background px-2 py-1.5",
25
+ t
26
+ ),
27
+ "data-slot": "chat-template-header",
28
+ ...e
29
+ }
30
+ );
31
+ }
32
+ function i({
33
+ className: t,
34
+ ...e
35
+ }) {
36
+ return /* @__PURE__ */ a(
37
+ "div",
38
+ {
39
+ className: l("flex items-center gap-2", t),
40
+ "data-slot": "chat-template-header-group",
41
+ ...e
42
+ }
43
+ );
44
+ }
45
+ function s({
46
+ className: t,
47
+ ...e
48
+ }) {
49
+ return /* @__PURE__ */ a(
50
+ "div",
51
+ {
52
+ className: l(
53
+ "flex min-w-0 flex-1 flex-col gap-6 overflow-y-auto pt-4",
54
+ t
55
+ ),
56
+ "data-slot": "chat-template-body",
57
+ ...e
58
+ }
59
+ );
60
+ }
61
+ function d({
62
+ className: t,
63
+ ...e
64
+ }) {
65
+ return /* @__PURE__ */ a(
66
+ "div",
67
+ {
68
+ className: l(
69
+ "mx-auto flex w-full flex-col gap-1.5 px-4 pt-2 pb-4 md:max-w-3xl md:pb-6",
70
+ t
71
+ ),
72
+ "data-slot": "chat-template-footer",
73
+ ...e
74
+ }
75
+ );
76
+ }
77
+ function c({
78
+ className: t,
79
+ ...e
80
+ }) {
81
+ return /* @__PURE__ */ a(
82
+ "div",
83
+ {
84
+ className: l(
85
+ "mx-auto mt-8 flex max-w-xl flex-col rounded-xl p-6 text-center leading-relaxed sm:mt-16 md:mt-24",
86
+ t
87
+ ),
88
+ "data-slot": "chat-template-overview",
89
+ ...e
90
+ }
91
+ );
92
+ }
93
+ function p({
94
+ className: t,
95
+ ...e
96
+ }) {
97
+ return /* @__PURE__ */ a(
98
+ "h1",
99
+ {
100
+ className: l(
101
+ "mb-2 bg-linear-to-r from-foreground to-foreground/70 bg-clip-text font-bold font-serif text-2xl text-transparent tracking-wide sm:mb-4 sm:text-3xl md:text-4xl",
102
+ t
103
+ ),
104
+ "data-slot": "chat-template-overview-title",
105
+ ...e
106
+ }
107
+ );
108
+ }
109
+ function x({
110
+ className: t,
111
+ ...e
112
+ }) {
113
+ return /* @__PURE__ */ a(
114
+ "h2",
115
+ {
116
+ className: l(
117
+ "mb-4 bg-linear-to-r from-foreground/80 to-foreground/60 bg-clip-text font-medium text-transparent text-xl sm:mb-8 sm:text-2xl md:text-4xl",
118
+ t
119
+ ),
120
+ "data-slot": "chat-template-overview-subtitle",
121
+ ...e
122
+ }
123
+ );
124
+ }
125
+ function u({
126
+ className: t,
127
+ ...e
128
+ }) {
129
+ return /* @__PURE__ */ a(
130
+ "div",
131
+ {
132
+ className: l("mb-2 grid w-full grid-cols-12 gap-4 pt-1", t),
133
+ "data-slot": "chat-template-suggestions",
134
+ ...e
135
+ }
136
+ );
137
+ }
138
+ export {
139
+ m as ChatTemplate,
140
+ s as ChatTemplateBody,
141
+ d as ChatTemplateFooter,
142
+ n as ChatTemplateHeader,
143
+ i as ChatTemplateHeaderGroup,
144
+ c as ChatTemplateOverview,
145
+ x as ChatTemplateOverviewSubtitle,
146
+ p as ChatTemplateOverviewTitle,
147
+ u as ChatTemplateSuggestions
148
+ };
@@ -1,4 +1,6 @@
1
1
  /** biome-ignore-all lint/performance/noBarrelFile: Barrel files are acceptable for atomic component folders */
2
2
  export type { AuthTemplateCardProps, AuthTemplateContentProps, AuthTemplateDefaultBackgroundProps, AuthTemplateDescriptionProps, AuthTemplateFooterProps, AuthTemplateGridOverlayProps, AuthTemplateHeaderProps, AuthTemplateLegalLinkProps, AuthTemplateLegalProps, AuthTemplateLogoProps, AuthTemplatePromptLinkProps, AuthTemplatePromptProps, AuthTemplateProps, AuthTemplateTitleProps, AuthTemplateVideoBackgroundProps, } from './auth-template';
3
3
  export { AuthTemplate, AuthTemplateCard, AuthTemplateContent, AuthTemplateDefaultBackground, AuthTemplateDescription, AuthTemplateFooter, AuthTemplateGridOverlay, AuthTemplateHeader, AuthTemplateLegal, AuthTemplateLegalLink, AuthTemplateLogo, AuthTemplatePrompt, AuthTemplatePromptLink, AuthTemplateTitle, AuthTemplateVideoBackground, } from './auth-template';
4
+ export type { ChatTemplateBodyProps, ChatTemplateFooterProps, ChatTemplateHeaderGroupProps, ChatTemplateHeaderProps, ChatTemplateOverviewProps, ChatTemplateOverviewSubtitleProps, ChatTemplateOverviewTitleProps, ChatTemplateProps, ChatTemplateSuggestionsProps, } from './chat-template';
5
+ export { ChatTemplate, ChatTemplateBody, ChatTemplateFooter, ChatTemplateHeader, ChatTemplateHeaderGroup, ChatTemplateOverview, ChatTemplateOverviewSubtitle, ChatTemplateOverviewTitle, ChatTemplateSuggestions, } from './chat-template';
4
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../lib/components/ui/templates/index.ts"],"names":[],"mappings":"AAAA,+GAA+G;AAE/G,YAAY,EACV,qBAAqB,EACrB,wBAAwB,EACxB,kCAAkC,EAClC,4BAA4B,EAC5B,uBAAuB,EACvB,4BAA4B,EAC5B,uBAAuB,EACvB,0BAA0B,EAC1B,sBAAsB,EACtB,qBAAqB,EACrB,2BAA2B,EAC3B,uBAAuB,EACvB,iBAAiB,EACjB,sBAAsB,EACtB,gCAAgC,GACjC,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,mBAAmB,EACnB,6BAA6B,EAC7B,uBAAuB,EACvB,kBAAkB,EAClB,uBAAuB,EACvB,kBAAkB,EAClB,iBAAiB,EACjB,qBAAqB,EACrB,gBAAgB,EAChB,kBAAkB,EAClB,sBAAsB,EACtB,iBAAiB,EACjB,2BAA2B,GAC5B,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../lib/components/ui/templates/index.ts"],"names":[],"mappings":"AAAA,+GAA+G;AAE/G,YAAY,EACV,qBAAqB,EACrB,wBAAwB,EACxB,kCAAkC,EAClC,4BAA4B,EAC5B,uBAAuB,EACvB,4BAA4B,EAC5B,uBAAuB,EACvB,0BAA0B,EAC1B,sBAAsB,EACtB,qBAAqB,EACrB,2BAA2B,EAC3B,uBAAuB,EACvB,iBAAiB,EACjB,sBAAsB,EACtB,gCAAgC,GACjC,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,mBAAmB,EACnB,6BAA6B,EAC7B,uBAAuB,EACvB,kBAAkB,EAClB,uBAAuB,EACvB,kBAAkB,EAClB,iBAAiB,EACjB,qBAAqB,EACrB,gBAAgB,EAChB,kBAAkB,EAClB,sBAAsB,EACtB,iBAAiB,EACjB,2BAA2B,GAC5B,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACV,qBAAqB,EACrB,uBAAuB,EACvB,4BAA4B,EAC5B,uBAAuB,EACvB,yBAAyB,EACzB,iCAAiC,EACjC,8BAA8B,EAC9B,iBAAiB,EACjB,4BAA4B,GAC7B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,uBAAuB,EACvB,oBAAoB,EACpB,4BAA4B,EAC5B,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,iBAAiB,CAAC"}
@@ -1,18 +1,28 @@
1
- import { AuthTemplate as a, AuthTemplateCard as l, AuthTemplateContent as p, AuthTemplateDefaultBackground as m, AuthTemplateDescription as u, AuthTemplateFooter as T, AuthTemplateGridOverlay as h, AuthTemplateHeader as A, AuthTemplateLegal as o, AuthTemplateLegalLink as r, AuthTemplateLogo as i, AuthTemplatePrompt as n, AuthTemplatePromptLink as d, AuthTemplateTitle as g, AuthTemplateVideoBackground as L } from "./auth-template.js";
1
+ import { AuthTemplate as a, AuthTemplateCard as l, AuthTemplateContent as p, AuthTemplateDefaultBackground as m, AuthTemplateDescription as T, AuthTemplateFooter as h, AuthTemplateGridOverlay as r, AuthTemplateHeader as u, AuthTemplateLegal as o, AuthTemplateLegalLink as A, AuthTemplateLogo as i, AuthTemplatePrompt as C, AuthTemplatePromptLink as d, AuthTemplateTitle as n, AuthTemplateVideoBackground as g } from "./auth-template.js";
2
+ import { ChatTemplate as L, ChatTemplateBody as k, ChatTemplateFooter as O, ChatTemplateHeader as c, ChatTemplateHeaderGroup as f, ChatTemplateOverview as s, ChatTemplateOverviewSubtitle as w, ChatTemplateOverviewTitle as B, ChatTemplateSuggestions as H } from "./chat-template.js";
2
3
  export {
3
4
  a as AuthTemplate,
4
5
  l as AuthTemplateCard,
5
6
  p as AuthTemplateContent,
6
7
  m as AuthTemplateDefaultBackground,
7
- u as AuthTemplateDescription,
8
- T as AuthTemplateFooter,
9
- h as AuthTemplateGridOverlay,
10
- A as AuthTemplateHeader,
8
+ T as AuthTemplateDescription,
9
+ h as AuthTemplateFooter,
10
+ r as AuthTemplateGridOverlay,
11
+ u as AuthTemplateHeader,
11
12
  o as AuthTemplateLegal,
12
- r as AuthTemplateLegalLink,
13
+ A as AuthTemplateLegalLink,
13
14
  i as AuthTemplateLogo,
14
- n as AuthTemplatePrompt,
15
+ C as AuthTemplatePrompt,
15
16
  d as AuthTemplatePromptLink,
16
- g as AuthTemplateTitle,
17
- L as AuthTemplateVideoBackground
17
+ n as AuthTemplateTitle,
18
+ g as AuthTemplateVideoBackground,
19
+ L as ChatTemplate,
20
+ k as ChatTemplateBody,
21
+ O as ChatTemplateFooter,
22
+ c as ChatTemplateHeader,
23
+ f as ChatTemplateHeaderGroup,
24
+ s as ChatTemplateOverview,
25
+ w as ChatTemplateOverviewSubtitle,
26
+ B as ChatTemplateOverviewTitle,
27
+ H as ChatTemplateSuggestions
18
28
  };
@@ -0,0 +1,19 @@
1
+ import { R as n, a as c, B as f } from "./markdown-9KGBuupR.js";
2
+ import { useContext as d, useState as p, useEffect as B } from "react";
3
+ import { jsx as x } from "react/jsx-runtime";
4
+ var L = ({ code: s, language: e, raw: a, className: l, startLine: g, ...m }) => {
5
+ let { shikiTheme: i } = d(n), t = c(), [u, r] = p(a);
6
+ return B(() => {
7
+ if (!t) {
8
+ r(a);
9
+ return;
10
+ }
11
+ let o = t.highlight({ code: s, language: e, themes: i }, (h) => {
12
+ r(h);
13
+ });
14
+ o && r(o);
15
+ }, [s, e, i, t, a]), x(f, { className: l, language: e, result: u, startLine: g, ...m });
16
+ };
17
+ export {
18
+ L as HighlightedCodeBlockBody
19
+ };