@arcadeai/design-system 3.35.2 → 3.36.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.
- package/dist/assets/icons/claude-code-logotype.js +10 -0
- package/dist/assets/icons/cursor-logotype.js +10 -0
- package/dist/assets/icons/langchain-logotype.js +10 -0
- package/dist/assets/icons/mastra-logotype.js +10 -0
- package/dist/assets/icons/vercel-logotype.js +10 -0
- package/dist/components/index.js +631 -600
- package/dist/components/ui/atoms/arcade-gradient.d.ts +4 -0
- package/dist/components/ui/atoms/arcade-gradient.d.ts.map +1 -0
- package/dist/components/ui/atoms/arcade-gradient.js +26 -0
- package/dist/components/ui/atoms/brand-chip.d.ts +9 -0
- package/dist/components/ui/atoms/brand-chip.d.ts.map +1 -0
- package/dist/components/ui/atoms/brand-chip.js +19 -0
- package/dist/components/ui/atoms/code-block.d.ts.map +1 -1
- package/dist/components/ui/atoms/code-block.js +31 -723
- package/dist/components/ui/atoms/icons/claude-code-logotype.d.ts +4 -0
- package/dist/components/ui/atoms/icons/claude-code-logotype.d.ts.map +1 -0
- package/dist/components/ui/atoms/icons/claude-code-logotype.js +34 -0
- package/dist/components/ui/atoms/icons/cursor-logotype.d.ts +4 -0
- package/dist/components/ui/atoms/icons/cursor-logotype.d.ts.map +1 -0
- package/dist/components/ui/atoms/icons/cursor-logotype.js +21 -0
- package/dist/components/ui/atoms/icons/index.d.ts +5 -0
- package/dist/components/ui/atoms/icons/index.d.ts.map +1 -1
- package/dist/components/ui/atoms/icons/index.js +278 -268
- package/dist/components/ui/atoms/icons/langchain-logotype.d.ts +4 -0
- package/dist/components/ui/atoms/icons/langchain-logotype.d.ts.map +1 -0
- package/dist/components/ui/atoms/icons/langchain-logotype.js +45 -0
- package/dist/components/ui/atoms/icons/mastra-logotype.d.ts +4 -0
- package/dist/components/ui/atoms/icons/mastra-logotype.d.ts.map +1 -0
- package/dist/components/ui/atoms/icons/mastra-logotype.js +19 -0
- package/dist/components/ui/atoms/icons/vercel-logotype.d.ts +4 -0
- package/dist/components/ui/atoms/icons/vercel-logotype.d.ts.map +1 -0
- package/dist/components/ui/atoms/icons/vercel-logotype.js +26 -0
- package/dist/components/ui/atoms/icons/vercel.d.ts.map +1 -1
- package/dist/components/ui/atoms/icons/vercel.js +0 -1
- package/dist/components/ui/atoms/index.d.ts +2 -0
- package/dist/components/ui/atoms/index.d.ts.map +1 -1
- package/dist/components/ui/atoms/index.js +530 -516
- package/dist/components/ui/atoms/virtualized-grid.d.ts.map +1 -1
- package/dist/components/ui/atoms/virtualized-grid.js +16 -16
- package/dist/components/ui/index.js +631 -600
- package/dist/components/ui/molecules/chat-history-item.d.ts +21 -0
- package/dist/components/ui/molecules/chat-history-item.d.ts.map +1 -0
- package/dist/components/ui/molecules/chat-history-item.js +88 -0
- package/dist/components/ui/molecules/chat-message-list.d.ts +6 -0
- package/dist/components/ui/molecules/chat-message-list.d.ts.map +1 -1
- package/dist/components/ui/molecules/chat-message-list.js +117 -61
- package/dist/components/ui/molecules/command-bar.d.ts +7 -0
- package/dist/components/ui/molecules/command-bar.d.ts.map +1 -0
- package/dist/components/ui/molecules/command-bar.js +38 -0
- package/dist/components/ui/molecules/confirm-popover.d.ts +20 -0
- package/dist/components/ui/molecules/confirm-popover.d.ts.map +1 -0
- package/dist/components/ui/molecules/confirm-popover.js +50 -0
- package/dist/components/ui/molecules/empty-state.d.ts +2 -1
- package/dist/components/ui/molecules/empty-state.d.ts.map +1 -1
- package/dist/components/ui/molecules/empty-state.js +9 -7
- package/dist/components/ui/molecules/error-state.d.ts +17 -0
- package/dist/components/ui/molecules/error-state.d.ts.map +1 -0
- package/dist/components/ui/molecules/error-state.js +45 -0
- package/dist/components/ui/molecules/index.d.ts +9 -4
- package/dist/components/ui/molecules/index.d.ts.map +1 -1
- package/dist/components/ui/molecules/index.js +51 -49
- package/dist/components/ui/molecules/requirement-badges.js +4 -5
- package/dist/components/ui/molecules/toolkit-card.js +1 -1
- package/dist/components/ui/pages/chat-page-skeleton.d.ts +7 -0
- package/dist/components/ui/pages/chat-page-skeleton.d.ts.map +1 -0
- package/dist/components/ui/pages/chat-page-skeleton.js +18 -0
- package/dist/components/ui/pages/index.d.ts +2 -2
- package/dist/components/ui/pages/index.d.ts.map +1 -1
- package/dist/components/ui/pages/index.js +4 -4
- package/dist/components/ui/templates/chat-template-skeletons.d.ts +12 -0
- package/dist/components/ui/templates/chat-template-skeletons.d.ts.map +1 -0
- package/dist/components/ui/templates/chat-template-skeletons.js +127 -0
- package/dist/components/ui/templates/error-template.d.ts +20 -0
- package/dist/components/ui/templates/error-template.d.ts.map +1 -0
- package/dist/components/ui/templates/error-template.js +117 -0
- package/dist/components/ui/templates/index.d.ts +4 -0
- package/dist/components/ui/templates/index.d.ts.map +1 -1
- package/dist/components/ui/templates/index.js +37 -22
- package/dist/hooks/use-mobile.d.ts.map +1 -1
- package/dist/hooks/use-mobile.js +12 -11
- package/dist/lib/shiki-themes.d.ts +5 -0
- package/dist/lib/shiki-themes.d.ts.map +1 -0
- package/dist/lib/shiki-themes.js +7 -0
- package/dist/main.js +656 -625
- package/dist/metadata/toolkit-icons.d.ts.map +1 -1
- package/dist/metadata/toolkit-icons.js +187 -186
- package/dist/metadata/toolkits.d.ts.map +1 -1
- package/dist/metadata/toolkits.js +13 -0
- package/dist/{toolkit-card-B97E7TBA.js → toolkit-card-CB1oiaei.js} +2 -3
- package/dist/web-BwFNdl01.js +697 -0
- package/package.json +3 -2
- package/dist/components/ui/molecules/switcher.d.ts +0 -83
- package/dist/components/ui/molecules/switcher.d.ts.map +0 -1
- package/dist/components/ui/molecules/switcher.js +0 -164
- package/dist/components/ui/pages/chat-page.d.ts +0 -83
- package/dist/components/ui/pages/chat-page.d.ts.map +0 -1
- package/dist/components/ui/pages/chat-page.js +0 -385
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type * as React from "react";
|
|
2
|
+
export type ChatHistoryItemProps = {
|
|
3
|
+
/** Chat title displayed in the sidebar item. */
|
|
4
|
+
title: string;
|
|
5
|
+
/** Whether this item is the currently active chat. */
|
|
6
|
+
isActive?: boolean;
|
|
7
|
+
/** Whether the chat is currently streaming a response. Shows a loading indicator. */
|
|
8
|
+
isStreaming?: boolean;
|
|
9
|
+
/** When set, the item renders as a link instead of a button. */
|
|
10
|
+
href?: string;
|
|
11
|
+
/** Router Link component for client-side routing. Receives `to` and `children`. When omitted, renders a native `<a>` with `href`. */
|
|
12
|
+
linkComponent?: React.ElementType;
|
|
13
|
+
/** Called when the item is clicked (for side-effects like stopping a stream). When `href` is set, navigation is handled by the link. */
|
|
14
|
+
onSelect?: () => void;
|
|
15
|
+
/** Called when the user confirms deletion. When set, a delete action appears on hover. */
|
|
16
|
+
onDelete?: () => void;
|
|
17
|
+
/** Icon component for the delete action. @default Trash2Icon from lucide-react */
|
|
18
|
+
deleteIcon?: React.ReactNode;
|
|
19
|
+
};
|
|
20
|
+
export declare function ChatHistoryItem({ title, isActive, isStreaming, href, linkComponent: LinkComp, onSelect, onDelete, deleteIcon, }: ChatHistoryItemProps): import("react/jsx-runtime").JSX.Element;
|
|
21
|
+
//# sourceMappingURL=chat-history-item.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chat-history-item.d.ts","sourceRoot":"","sources":["../../../../lib/components/ui/molecules/chat-history-item.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAgBpC,MAAM,MAAM,oBAAoB,GAAG;IACjC,gDAAgD;IAChD,KAAK,EAAE,MAAM,CAAC;IACd,sDAAsD;IACtD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,qFAAqF;IACrF,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,gEAAgE;IAChE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,qIAAqI;IACrI,aAAa,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC;IAClC,wIAAwI;IACxI,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,0FAA0F;IAC1F,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,kFAAkF;IAClF,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC9B,CAAC;AAEF,wBAAgB,eAAe,CAAC,EAC9B,KAAK,EACL,QAAQ,EACR,WAAmB,EACnB,IAAI,EACJ,aAAa,EAAE,QAAQ,EACvB,QAAQ,EACR,QAAQ,EACR,UAAU,GACX,EAAE,oBAAoB,2CA6FtB"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { jsxs as h, jsx as e } from "react/jsx-runtime";
|
|
2
|
+
import { Trash2Icon as N } from "lucide-react";
|
|
3
|
+
import { useState as T, useRef as v } from "react";
|
|
4
|
+
import { Loader as x } from "../atoms/loader.js";
|
|
5
|
+
import { SidebarMenuItem as O, SidebarMenuButton as u, SidebarMenuAction as p } from "../atoms/sidebar.js";
|
|
6
|
+
import { Tooltip as y, TooltipTrigger as I, TooltipContent as k } from "../atoms/tooltip.js";
|
|
7
|
+
import { ConfirmPopover as M } from "./confirm-popover.js";
|
|
8
|
+
import { cn as j } from "../../../lib/utils.js";
|
|
9
|
+
function P({
|
|
10
|
+
title: o,
|
|
11
|
+
isActive: s,
|
|
12
|
+
isStreaming: c = !1,
|
|
13
|
+
href: n,
|
|
14
|
+
linkComponent: l,
|
|
15
|
+
onSelect: t,
|
|
16
|
+
onDelete: i,
|
|
17
|
+
deleteIcon: f
|
|
18
|
+
}) {
|
|
19
|
+
const [b, d] = T(!1), r = v(null), g = (C) => {
|
|
20
|
+
if (!C) {
|
|
21
|
+
d(!1);
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
r.current && r.current.scrollWidth > r.current.offsetWidth && d(!0);
|
|
25
|
+
}, m = j(
|
|
26
|
+
"py-2.5 group-hover/menu-item:bg-sidebar-accent group-hover/menu-item:text-sidebar-accent-foreground",
|
|
27
|
+
(i || c) && "pr-8"
|
|
28
|
+
), a = /* @__PURE__ */ e("span", { className: "truncate", ref: r, children: o });
|
|
29
|
+
return /* @__PURE__ */ h(O, { children: [
|
|
30
|
+
/* @__PURE__ */ h(y, { onOpenChange: g, open: b, children: [
|
|
31
|
+
/* @__PURE__ */ e(I, { asChild: !0, children: n ? /* @__PURE__ */ e(
|
|
32
|
+
u,
|
|
33
|
+
{
|
|
34
|
+
asChild: !0,
|
|
35
|
+
className: m,
|
|
36
|
+
isActive: s,
|
|
37
|
+
children: l ? /* @__PURE__ */ e(l, { onClick: t, to: n, children: a }) : /* @__PURE__ */ e("a", { href: n, onClick: t, children: a })
|
|
38
|
+
}
|
|
39
|
+
) : /* @__PURE__ */ e(
|
|
40
|
+
u,
|
|
41
|
+
{
|
|
42
|
+
className: m,
|
|
43
|
+
isActive: s,
|
|
44
|
+
onClick: t,
|
|
45
|
+
children: a
|
|
46
|
+
}
|
|
47
|
+
) }),
|
|
48
|
+
/* @__PURE__ */ e(k, { side: "right", children: o })
|
|
49
|
+
] }),
|
|
50
|
+
c ? /* @__PURE__ */ e(
|
|
51
|
+
p,
|
|
52
|
+
{
|
|
53
|
+
"aria-hidden": "true",
|
|
54
|
+
className: "pointer-events-none",
|
|
55
|
+
tabIndex: -1,
|
|
56
|
+
children: /* @__PURE__ */ e(
|
|
57
|
+
x,
|
|
58
|
+
{
|
|
59
|
+
className: "border-sidebar-foreground/25 border-t-sidebar-foreground",
|
|
60
|
+
size: "sm",
|
|
61
|
+
variant: "circular"
|
|
62
|
+
}
|
|
63
|
+
)
|
|
64
|
+
}
|
|
65
|
+
) : i && /* @__PURE__ */ e(
|
|
66
|
+
M,
|
|
67
|
+
{
|
|
68
|
+
confirmLabel: "Delete",
|
|
69
|
+
description: "This action cannot be undone.",
|
|
70
|
+
onConfirm: i,
|
|
71
|
+
side: "right",
|
|
72
|
+
title: "Delete this chat?",
|
|
73
|
+
children: /* @__PURE__ */ e(
|
|
74
|
+
p,
|
|
75
|
+
{
|
|
76
|
+
"aria-label": `Delete "${o}"`,
|
|
77
|
+
className: "hover:bg-secondary hover:text-secondary-foreground",
|
|
78
|
+
showOnHover: !0,
|
|
79
|
+
children: f ?? /* @__PURE__ */ e(N, { className: "size-3.5" })
|
|
80
|
+
}
|
|
81
|
+
)
|
|
82
|
+
}
|
|
83
|
+
)
|
|
84
|
+
] });
|
|
85
|
+
}
|
|
86
|
+
export {
|
|
87
|
+
P as ChatHistoryItem
|
|
88
|
+
};
|
|
@@ -74,4 +74,10 @@ export type ChatStreamingIndicatorProps = React.ComponentProps<"div">;
|
|
|
74
74
|
* Renders a default typing animation, or pass children for a custom indicator.
|
|
75
75
|
*/
|
|
76
76
|
export declare function ChatStreamingIndicator({ children, className, ...props }: ChatStreamingIndicatorProps): import("react/jsx-runtime").JSX.Element;
|
|
77
|
+
export type ChatMessageListSkeletonProps = React.ComponentProps<"div">;
|
|
78
|
+
/**
|
|
79
|
+
* Skeleton placeholder that mirrors the `ChatMessageList` layout.
|
|
80
|
+
* Shows alternating user/assistant message bubbles as animated placeholders.
|
|
81
|
+
*/
|
|
82
|
+
export declare function ChatMessageListSkeleton({ className, ...props }: ChatMessageListSkeletonProps): import("react/jsx-runtime").JSX.Element;
|
|
77
83
|
//# sourceMappingURL=chat-message-list.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-message-list.d.ts","sourceRoot":"","sources":["../../../../lib/components/ui/molecules/chat-message-list.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"chat-message-list.d.ts","sourceRoot":"","sources":["../../../../lib/components/ui/molecules/chat-message-list.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AASpC;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,wCAAwC;IACxC,EAAE,EAAE,MAAM,CAAC;IACX,iCAAiC;IACjC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,QAAQ,CAAC;IACtC,kCAAkC;IAClC,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,eAAe,EAAE,CAAC;IAC7B,8DAA8D;IAC9D,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,mFAAmF;IACnF,aAAa,CAAC,EAAE,CACd,OAAO,EAAE,eAAe,EACxB,OAAO,EAAE;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,WAAW,EAAE,OAAO,CAAA;KAAE,KAC/C,KAAK,CAAC,SAAS,CAAC;IACrB,yEAAyE;IACzE,gBAAgB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CACpC,GAAG,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;AAIhC;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,EAC9B,QAAQ,EACR,WAAmB,EACnB,aAAa,EACb,gBAAgB,EAChB,QAAQ,EACR,SAAS,EACT,GAAG,KAAK,EACT,EAAE,oBAAoB,kDA0EtB;AAID,MAAM,MAAM,oBAAoB,GAAG,IAAI,CACrC,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,EAC3B,UAAU,CACX,GAAG;IACF,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF;;;GAGG;AACH,wBAAgB,eAAe,CAAC,EAC9B,QAAQ,EACR,SAAS,EACT,GAAG,KAAK,EACT,EAAE,oBAAoB,2CAYtB;AAID,MAAM,MAAM,yBAAyB,GAAG;IACtC,iEAAiE;IACjE,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,GAAG,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;AAEhC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,oBAAoB,CAAC,EACnC,QAAQ,EACR,WAAW,EACX,SAAS,EACT,GAAG,KAAK,EACT,EAAE,yBAAyB,2CAoB3B;AAID,MAAM,MAAM,2BAA2B,GAAG,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;AAEtE;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,EACrC,QAAQ,EACR,SAAS,EACT,GAAG,KAAK,EACT,EAAE,2BAA2B,2CAU7B;AAWD,MAAM,MAAM,4BAA4B,GAAG,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;AAEvE;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,EACtC,SAAS,EACT,GAAG,KAAK,EACT,EAAE,4BAA4B,2CAwC9B"}
|
|
@@ -1,121 +1,177 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import { Fragment as
|
|
3
|
-
import { Loader as
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
import { jsx as t, jsxs as w } from "react/jsx-runtime";
|
|
2
|
+
import { Fragment as N } from "react";
|
|
3
|
+
import { Loader as S } from "../atoms/loader.js";
|
|
4
|
+
import { Skeleton as u } from "../atoms/skeleton.js";
|
|
5
|
+
import { Message as f, MessageContent as p } from "./message.js";
|
|
6
|
+
import { cn as o } from "../../../lib/utils.js";
|
|
7
|
+
function b({
|
|
8
|
+
messages: a,
|
|
9
|
+
isStreaming: l = !1,
|
|
9
10
|
renderMessage: e,
|
|
10
|
-
loadingIndicator:
|
|
11
|
+
loadingIndicator: n,
|
|
11
12
|
children: c,
|
|
12
|
-
className:
|
|
13
|
-
...
|
|
13
|
+
className: s,
|
|
14
|
+
...m
|
|
14
15
|
}) {
|
|
15
|
-
const
|
|
16
|
+
const h = o(
|
|
16
17
|
"mx-auto flex w-full max-w-3xl flex-col gap-8 px-6",
|
|
17
|
-
|
|
18
|
+
s
|
|
18
19
|
);
|
|
19
20
|
if (c)
|
|
20
|
-
return /* @__PURE__ */
|
|
21
|
+
return /* @__PURE__ */ t(
|
|
21
22
|
"div",
|
|
22
23
|
{
|
|
23
24
|
"aria-live": "polite",
|
|
24
|
-
className:
|
|
25
|
+
className: h,
|
|
25
26
|
"data-slot": "chat-message-list",
|
|
26
27
|
role: "log",
|
|
27
|
-
...
|
|
28
|
+
...m,
|
|
28
29
|
children: c
|
|
29
30
|
}
|
|
30
31
|
);
|
|
31
|
-
if (!
|
|
32
|
+
if (!a)
|
|
32
33
|
return null;
|
|
33
|
-
const
|
|
34
|
-
return /* @__PURE__ */
|
|
34
|
+
const i = a.at(-1), g = l && (!i || i.role !== "assistant" || !i.content);
|
|
35
|
+
return /* @__PURE__ */ w(
|
|
35
36
|
"div",
|
|
36
37
|
{
|
|
37
38
|
"aria-live": "polite",
|
|
38
|
-
className:
|
|
39
|
+
className: h,
|
|
39
40
|
"data-slot": "chat-message-list",
|
|
40
41
|
role: "log",
|
|
41
|
-
...
|
|
42
|
+
...m,
|
|
42
43
|
children: [
|
|
43
|
-
|
|
44
|
-
const
|
|
45
|
-
return e ? /* @__PURE__ */
|
|
46
|
-
isLast:
|
|
47
|
-
isStreaming:
|
|
48
|
-
}) },
|
|
49
|
-
|
|
44
|
+
a.map((r) => {
|
|
45
|
+
const x = r.role === "user", d = r === i;
|
|
46
|
+
return e ? /* @__PURE__ */ t(N, { children: e(r, {
|
|
47
|
+
isLast: d,
|
|
48
|
+
isStreaming: d && l
|
|
49
|
+
}) }, r.id) : x || r.content ? x ? /* @__PURE__ */ t(v, { children: r.content }, r.id) : /* @__PURE__ */ t(
|
|
50
|
+
y,
|
|
50
51
|
{
|
|
51
|
-
isAnimating:
|
|
52
|
-
children:
|
|
52
|
+
isAnimating: d && l,
|
|
53
|
+
children: r.content
|
|
53
54
|
},
|
|
54
|
-
|
|
55
|
+
r.id
|
|
55
56
|
) : null;
|
|
56
57
|
}),
|
|
57
|
-
|
|
58
|
+
g && /* @__PURE__ */ t(C, { children: n })
|
|
58
59
|
]
|
|
59
60
|
}
|
|
60
61
|
);
|
|
61
62
|
}
|
|
62
|
-
function
|
|
63
|
-
children:
|
|
64
|
-
className:
|
|
63
|
+
function v({
|
|
64
|
+
children: a,
|
|
65
|
+
className: l,
|
|
65
66
|
...e
|
|
66
67
|
}) {
|
|
67
|
-
return /* @__PURE__ */
|
|
68
|
-
|
|
68
|
+
return /* @__PURE__ */ t(
|
|
69
|
+
f,
|
|
69
70
|
{
|
|
70
|
-
className:
|
|
71
|
+
className: o("ml-auto max-w-2xl", l),
|
|
71
72
|
"data-slot": "chat-user-message",
|
|
72
73
|
...e,
|
|
73
|
-
children: /* @__PURE__ */
|
|
74
|
+
children: /* @__PURE__ */ t(p, { className: "rounded-xl bg-primary px-4 py-2 text-primary-foreground", children: a })
|
|
74
75
|
}
|
|
75
76
|
);
|
|
76
77
|
}
|
|
77
|
-
function
|
|
78
|
-
children:
|
|
79
|
-
isAnimating:
|
|
78
|
+
function y({
|
|
79
|
+
children: a,
|
|
80
|
+
isAnimating: l,
|
|
80
81
|
className: e,
|
|
81
|
-
...
|
|
82
|
+
...n
|
|
82
83
|
}) {
|
|
83
|
-
return /* @__PURE__ */
|
|
84
|
-
|
|
84
|
+
return /* @__PURE__ */ t(
|
|
85
|
+
f,
|
|
85
86
|
{
|
|
86
87
|
className: e,
|
|
87
88
|
"data-slot": "chat-assistant-message",
|
|
88
|
-
...
|
|
89
|
-
children: typeof
|
|
90
|
-
|
|
89
|
+
...n,
|
|
90
|
+
children: typeof a == "string" ? /* @__PURE__ */ t(
|
|
91
|
+
p,
|
|
91
92
|
{
|
|
92
93
|
className: "prose-sm bg-transparent p-0 [&_h1]:text-2xl [&_h2]:text-xl [&_h3]:text-lg",
|
|
93
|
-
isAnimating:
|
|
94
|
+
isAnimating: l,
|
|
94
95
|
markdown: !0,
|
|
95
|
-
children:
|
|
96
|
+
children: a
|
|
96
97
|
}
|
|
97
|
-
) :
|
|
98
|
+
) : a
|
|
98
99
|
}
|
|
99
100
|
);
|
|
100
101
|
}
|
|
101
|
-
function
|
|
102
|
-
children:
|
|
103
|
-
className:
|
|
102
|
+
function C({
|
|
103
|
+
children: a,
|
|
104
|
+
className: l,
|
|
104
105
|
...e
|
|
105
106
|
}) {
|
|
106
|
-
return /* @__PURE__ */
|
|
107
|
+
return /* @__PURE__ */ t(
|
|
107
108
|
"div",
|
|
108
109
|
{
|
|
109
|
-
className:
|
|
110
|
+
className: o("flex items-center gap-2 px-1", l),
|
|
110
111
|
"data-slot": "chat-streaming-indicator",
|
|
111
112
|
...e,
|
|
112
|
-
children:
|
|
113
|
+
children: a ?? /* @__PURE__ */ t(S, { variant: "typing" })
|
|
114
|
+
}
|
|
115
|
+
);
|
|
116
|
+
}
|
|
117
|
+
const M = [
|
|
118
|
+
{ role: "user", lines: 1, width: "60%" },
|
|
119
|
+
{ role: "assistant", lines: 3, width: "85%" },
|
|
120
|
+
{ role: "user", lines: 1, width: "45%" },
|
|
121
|
+
{ role: "assistant", lines: 2, width: "75%" }
|
|
122
|
+
];
|
|
123
|
+
function U({
|
|
124
|
+
className: a,
|
|
125
|
+
...l
|
|
126
|
+
}) {
|
|
127
|
+
return /* @__PURE__ */ t(
|
|
128
|
+
"div",
|
|
129
|
+
{
|
|
130
|
+
className: o(
|
|
131
|
+
"mx-auto flex w-full max-w-3xl flex-col gap-8 px-6",
|
|
132
|
+
a
|
|
133
|
+
),
|
|
134
|
+
...l,
|
|
135
|
+
children: M.map(
|
|
136
|
+
(e, n) => e.role === "user" ? /* @__PURE__ */ t(
|
|
137
|
+
"div",
|
|
138
|
+
{
|
|
139
|
+
className: "ml-auto flex max-w-2xl items-start gap-3",
|
|
140
|
+
children: /* @__PURE__ */ t(
|
|
141
|
+
u,
|
|
142
|
+
{
|
|
143
|
+
className: "h-10 rounded-xl",
|
|
144
|
+
style: { width: e.width }
|
|
145
|
+
}
|
|
146
|
+
)
|
|
147
|
+
},
|
|
148
|
+
`msg-skeleton-${n.toString()}`
|
|
149
|
+
) : /* @__PURE__ */ t(
|
|
150
|
+
"div",
|
|
151
|
+
{
|
|
152
|
+
className: "flex flex-col gap-2",
|
|
153
|
+
style: { maxWidth: e.width },
|
|
154
|
+
children: Array.from({ length: e.lines }).map((c, s) => /* @__PURE__ */ t(
|
|
155
|
+
u,
|
|
156
|
+
{
|
|
157
|
+
className: "h-4 rounded",
|
|
158
|
+
style: {
|
|
159
|
+
width: s === e.lines - 1 ? "65%" : "100%"
|
|
160
|
+
}
|
|
161
|
+
},
|
|
162
|
+
`line-${n.toString()}-${s.toString()}`
|
|
163
|
+
))
|
|
164
|
+
},
|
|
165
|
+
`msg-skeleton-${n.toString()}`
|
|
166
|
+
)
|
|
167
|
+
)
|
|
113
168
|
}
|
|
114
169
|
);
|
|
115
170
|
}
|
|
116
171
|
export {
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
172
|
+
y as ChatAssistantMessage,
|
|
173
|
+
b as ChatMessageList,
|
|
174
|
+
U as ChatMessageListSkeleton,
|
|
175
|
+
C as ChatStreamingIndicator,
|
|
176
|
+
v as ChatUserMessage
|
|
121
177
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command-bar.d.ts","sourceRoot":"","sources":["../../../../lib/components/ui/molecules/command-bar.tsx"],"names":[],"mappings":"AAKA,KAAK,eAAe,GAAG;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,wBAAgB,UAAU,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,eAAe,2CA2BjE"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { jsxs as o, jsx as e } from "react/jsx-runtime";
|
|
2
|
+
import { w as a } from "../../../web-BwFNdl01.js";
|
|
3
|
+
import { CopyButton as l } from "../atoms/copy-button.js";
|
|
4
|
+
import { SHIKI_THEMES as s } from "../../../lib/shiki-themes.js";
|
|
5
|
+
import { cn as i } from "../../../lib/utils.js";
|
|
6
|
+
function u({ command: t, className: r }) {
|
|
7
|
+
return /* @__PURE__ */ o(
|
|
8
|
+
"div",
|
|
9
|
+
{
|
|
10
|
+
className: i("relative overflow-hidden rounded-md border", r),
|
|
11
|
+
children: [
|
|
12
|
+
/* @__PURE__ */ e("div", { className: "overflow-x-auto text-sm [&_.shiki]:py-3 [&_.shiki]:pr-14 [&_.shiki]:pl-10", children: /* @__PURE__ */ e(
|
|
13
|
+
a,
|
|
14
|
+
{
|
|
15
|
+
addDefaultStyles: !1,
|
|
16
|
+
defaultColor: !1,
|
|
17
|
+
language: "shellscript",
|
|
18
|
+
showLanguage: !1,
|
|
19
|
+
theme: s,
|
|
20
|
+
children: t
|
|
21
|
+
}
|
|
22
|
+
) }),
|
|
23
|
+
/* @__PURE__ */ e(
|
|
24
|
+
"span",
|
|
25
|
+
{
|
|
26
|
+
"aria-hidden": "true",
|
|
27
|
+
className: "pointer-events-none absolute top-1/2 left-4 -translate-y-1/2 select-none text-muted-foreground",
|
|
28
|
+
children: "$"
|
|
29
|
+
}
|
|
30
|
+
),
|
|
31
|
+
/* @__PURE__ */ e("div", { className: "absolute top-1/2 right-3 -translate-y-1/2", children: /* @__PURE__ */ e(l, { content: t }) })
|
|
32
|
+
]
|
|
33
|
+
}
|
|
34
|
+
);
|
|
35
|
+
}
|
|
36
|
+
export {
|
|
37
|
+
u as CommandBar
|
|
38
|
+
};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export type ConfirmPopoverProps = {
|
|
2
|
+
/** Title shown in the confirmation dialog. */
|
|
3
|
+
title: string;
|
|
4
|
+
/** Optional description shown below the title. */
|
|
5
|
+
description?: string;
|
|
6
|
+
/** Label for the confirm button. @default "Confirm" */
|
|
7
|
+
confirmLabel?: string;
|
|
8
|
+
/** Label for the cancel button. @default "Cancel" */
|
|
9
|
+
cancelLabel?: string;
|
|
10
|
+
/** Button variant for the confirm action. @default "destructive" */
|
|
11
|
+
confirmVariant?: "default" | "destructive" | "outline" | "secondary" | "ghost";
|
|
12
|
+
/** Called when the user confirms. */
|
|
13
|
+
onConfirm: () => void;
|
|
14
|
+
/** Trigger element (rendered via PopoverTrigger asChild). */
|
|
15
|
+
children: React.ReactNode;
|
|
16
|
+
/** Side of the trigger to place the popover. @default "bottom" */
|
|
17
|
+
side?: "top" | "bottom" | "left" | "right";
|
|
18
|
+
};
|
|
19
|
+
export declare function ConfirmPopover({ title, description, confirmLabel, cancelLabel, confirmVariant, onConfirm, children, side, }: ConfirmPopoverProps): import("react/jsx-runtime").JSX.Element;
|
|
20
|
+
//# sourceMappingURL=confirm-popover.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"confirm-popover.d.ts","sourceRoot":"","sources":["../../../../lib/components/ui/molecules/confirm-popover.tsx"],"names":[],"mappings":"AAQA,MAAM,MAAM,mBAAmB,GAAG;IAChC,8CAA8C;IAC9C,KAAK,EAAE,MAAM,CAAC;IACd,kDAAkD;IAClD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uDAAuD;IACvD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qDAAqD;IACrD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oEAAoE;IACpE,cAAc,CAAC,EACX,SAAS,GACT,aAAa,GACb,SAAS,GACT,WAAW,GACX,OAAO,CAAC;IACZ,qCAAqC;IACrC,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,6DAA6D;IAC7D,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,kEAAkE;IAClE,IAAI,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;CAC5C,CAAC;AAEF,wBAAgB,cAAc,CAAC,EAC7B,KAAK,EACL,WAAW,EACX,YAAwB,EACxB,WAAsB,EACtB,cAA8B,EAC9B,SAAS,EACT,QAAQ,EACR,IAAe,GAChB,EAAE,mBAAmB,2CAmCrB"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { jsxs as t, jsx as e } from "react/jsx-runtime";
|
|
2
|
+
import { useState as f } from "react";
|
|
3
|
+
import { Button as n } from "../atoms/button.js";
|
|
4
|
+
import { Popover as u, PopoverTrigger as v, PopoverContent as h } from "../atoms/popover.js";
|
|
5
|
+
function P({
|
|
6
|
+
title: i,
|
|
7
|
+
description: r,
|
|
8
|
+
confirmLabel: a = "Confirm",
|
|
9
|
+
cancelLabel: s = "Cancel",
|
|
10
|
+
confirmVariant: m = "destructive",
|
|
11
|
+
onConfirm: c,
|
|
12
|
+
children: l,
|
|
13
|
+
side: p = "bottom"
|
|
14
|
+
}) {
|
|
15
|
+
const [d, o] = f(!1);
|
|
16
|
+
return /* @__PURE__ */ t(u, { onOpenChange: o, open: d, children: [
|
|
17
|
+
/* @__PURE__ */ e(v, { asChild: !0, children: l }),
|
|
18
|
+
/* @__PURE__ */ t(h, { className: "w-auto max-w-64 space-y-3 p-4", side: p, children: [
|
|
19
|
+
/* @__PURE__ */ e("p", { className: "font-medium text-sm", children: i }),
|
|
20
|
+
r && /* @__PURE__ */ e("p", { className: "text-muted-foreground text-xs", children: r }),
|
|
21
|
+
/* @__PURE__ */ t("div", { className: "flex justify-end gap-2", children: [
|
|
22
|
+
/* @__PURE__ */ e(
|
|
23
|
+
n,
|
|
24
|
+
{
|
|
25
|
+
"data-testid": "confirm-popover-cancel",
|
|
26
|
+
onClick: () => o(!1),
|
|
27
|
+
size: "sm",
|
|
28
|
+
variant: "outline",
|
|
29
|
+
children: s
|
|
30
|
+
}
|
|
31
|
+
),
|
|
32
|
+
/* @__PURE__ */ e(
|
|
33
|
+
n,
|
|
34
|
+
{
|
|
35
|
+
"data-testid": "confirm-popover-confirm",
|
|
36
|
+
onClick: () => {
|
|
37
|
+
c(), o(!1);
|
|
38
|
+
},
|
|
39
|
+
size: "sm",
|
|
40
|
+
variant: m,
|
|
41
|
+
children: a
|
|
42
|
+
}
|
|
43
|
+
)
|
|
44
|
+
] })
|
|
45
|
+
] })
|
|
46
|
+
] });
|
|
47
|
+
}
|
|
48
|
+
export {
|
|
49
|
+
P as ConfirmPopover
|
|
50
|
+
};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type * as React from "react";
|
|
2
|
-
export declare function EmptyState({ title, description, ...rest }: {
|
|
2
|
+
export declare function EmptyState({ title, description, children, ...rest }: {
|
|
3
3
|
title?: string;
|
|
4
4
|
description?: string;
|
|
5
|
+
children?: React.ReactNode;
|
|
5
6
|
} & React.HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
|
|
6
7
|
//# sourceMappingURL=empty-state.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"empty-state.d.ts","sourceRoot":"","sources":["../../../../lib/components/ui/molecules/empty-state.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAEpC,wBAAgB,UAAU,CAAC,EACzB,KAAoB,EACpB,WAAoD,EACpD,GAAG,IAAI,EACR,EAAE;IACD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"empty-state.d.ts","sourceRoot":"","sources":["../../../../lib/components/ui/molecules/empty-state.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAEpC,wBAAgB,UAAU,CAAC,EACzB,KAAoB,EACpB,WAAoD,EACpD,QAAQ,EACR,GAAG,IAAI,EACR,EAAE;IACD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B,GAAG,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,2CAoBvC"}
|
|
@@ -1,25 +1,27 @@
|
|
|
1
1
|
import { jsxs as r, jsx as e } from "react/jsx-runtime";
|
|
2
|
-
import { Search as
|
|
3
|
-
function
|
|
2
|
+
import { Search as l } from "lucide-react";
|
|
3
|
+
function i({
|
|
4
4
|
title: t = "No results",
|
|
5
5
|
description: a = "Try adjusting your search or filters",
|
|
6
|
-
|
|
6
|
+
children: s,
|
|
7
|
+
...d
|
|
7
8
|
}) {
|
|
8
9
|
return /* @__PURE__ */ r(
|
|
9
10
|
"div",
|
|
10
11
|
{
|
|
11
12
|
className: "flex h-56 flex-col items-center justify-center gap-4 rounded-xl border-2 border-gray-200 border-dashed bg-gray-50/50 text-center dark:border-gray-800 dark:bg-gray-900/50",
|
|
12
|
-
...
|
|
13
|
+
...d,
|
|
13
14
|
children: [
|
|
14
|
-
/* @__PURE__ */ e("div", { className: "flex h-16 w-16 items-center justify-center rounded-full bg-gray-100 dark:bg-gray-800", children: /* @__PURE__ */ e(
|
|
15
|
+
/* @__PURE__ */ e("div", { className: "flex h-16 w-16 items-center justify-center rounded-full bg-gray-100 dark:bg-gray-800", children: /* @__PURE__ */ e(l, { className: "h-8 w-8 text-gray-400" }) }),
|
|
15
16
|
/* @__PURE__ */ r("div", { className: "space-y-1", children: [
|
|
16
17
|
/* @__PURE__ */ e("h3", { className: "font-semibold text-gray-900 text-lg dark:text-gray-100", children: t }),
|
|
17
18
|
/* @__PURE__ */ e("p", { className: "text-gray-600 text-sm dark:text-gray-400", children: a })
|
|
18
|
-
] })
|
|
19
|
+
] }),
|
|
20
|
+
s
|
|
19
21
|
]
|
|
20
22
|
}
|
|
21
23
|
);
|
|
22
24
|
}
|
|
23
25
|
export {
|
|
24
|
-
|
|
26
|
+
i as EmptyState
|
|
25
27
|
};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type * as React from "react";
|
|
2
|
+
export type ErrorStateProps = {
|
|
3
|
+
/** Primary heading (default: "Something went wrong") */
|
|
4
|
+
title?: string;
|
|
5
|
+
/** Supporting text below the heading */
|
|
6
|
+
description?: string;
|
|
7
|
+
/** Error message shown in a destructive Alert */
|
|
8
|
+
errorMessage?: string;
|
|
9
|
+
/** Stack trace shown in development only */
|
|
10
|
+
errorStack?: string;
|
|
11
|
+
/** Force the developer details panel to render. Defaults to dev mode. */
|
|
12
|
+
showDeveloperDetails?: boolean;
|
|
13
|
+
/** Action buttons rendered in the card footer */
|
|
14
|
+
children?: React.ReactNode;
|
|
15
|
+
} & Omit<React.ComponentProps<"div">, "children">;
|
|
16
|
+
export declare function ErrorState({ title, description, errorMessage, errorStack, showDeveloperDetails, children, className, ...props }: ErrorStateProps): import("react/jsx-runtime").JSX.Element;
|
|
17
|
+
//# sourceMappingURL=error-state.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error-state.d.ts","sourceRoot":"","sources":["../../../../lib/components/ui/molecules/error-state.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAYpC,MAAM,MAAM,eAAe,GAAG;IAC5B,wDAAwD;IACxD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wCAAwC;IACxC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iDAAiD;IACjD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,4CAA4C;IAC5C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,yEAAyE;IACzE,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,iDAAiD;IACjD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC,CAAC;AAElD,wBAAgB,UAAU,CAAC,EACzB,KAA8B,EAC9B,WAAuE,EACvE,YAAY,EACZ,UAAU,EACV,oBAA0C,EAC1C,QAAQ,EACR,SAAS,EACT,GAAG,KAAK,EACT,EAAE,eAAe,2CA8CjB"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { jsx as e, jsxs as r } from "react/jsx-runtime";
|
|
2
|
+
import { AlertTriangle as o } from "lucide-react";
|
|
3
|
+
import { Alert as x, AlertDescription as h } from "../atoms/alert.js";
|
|
4
|
+
import { Card as f, CardHeader as p, CardTitle as u, CardDescription as w, CardContent as N, CardFooter as v } from "../atoms/card.js";
|
|
5
|
+
import { cn as g } from "../../../lib/utils.js";
|
|
6
|
+
function A({
|
|
7
|
+
title: i = "Something went wrong",
|
|
8
|
+
description: l = "We've been notified of this error and will investigate.",
|
|
9
|
+
errorMessage: t,
|
|
10
|
+
errorStack: a,
|
|
11
|
+
showDeveloperDetails: n = !1,
|
|
12
|
+
children: s,
|
|
13
|
+
className: d,
|
|
14
|
+
...m
|
|
15
|
+
}) {
|
|
16
|
+
const c = !!(a && n);
|
|
17
|
+
return /* @__PURE__ */ e(
|
|
18
|
+
"div",
|
|
19
|
+
{
|
|
20
|
+
className: g("flex h-full items-center justify-center p-4", d),
|
|
21
|
+
...m,
|
|
22
|
+
children: /* @__PURE__ */ r(f, { className: "w-full max-w-md 2xl:max-w-xl", role: "alert", children: [
|
|
23
|
+
/* @__PURE__ */ r(p, { className: "text-center", children: [
|
|
24
|
+
/* @__PURE__ */ e("div", { className: "mx-auto mb-4 flex h-12 w-12 items-center justify-center rounded-full bg-red-100 dark:bg-red-900/20", children: /* @__PURE__ */ e(o, { className: "h-6 w-6 text-red-600 dark:text-red-400" }) }),
|
|
25
|
+
/* @__PURE__ */ e(u, { className: "text-xl", children: i }),
|
|
26
|
+
l && /* @__PURE__ */ e(w, { children: l })
|
|
27
|
+
] }),
|
|
28
|
+
(t || a) && /* @__PURE__ */ r(N, { className: "space-y-4", children: [
|
|
29
|
+
t && /* @__PURE__ */ r(x, { variant: "destructive", children: [
|
|
30
|
+
/* @__PURE__ */ e(o, { className: "h-4 w-4" }),
|
|
31
|
+
/* @__PURE__ */ e(h, { className: "whitespace-pre-wrap break-words font-mono text-sm", children: t })
|
|
32
|
+
] }),
|
|
33
|
+
c && /* @__PURE__ */ r("details", { className: "text-muted-foreground text-xs", children: [
|
|
34
|
+
/* @__PURE__ */ e("summary", { className: "cursor-pointer hover:text-foreground", children: "Developer Details" }),
|
|
35
|
+
/* @__PURE__ */ e("pre", { className: "mt-2 overflow-auto whitespace-pre-wrap rounded bg-muted p-2 text-xs", children: a })
|
|
36
|
+
] })
|
|
37
|
+
] }),
|
|
38
|
+
s && /* @__PURE__ */ e(v, { className: "flex gap-2", children: s })
|
|
39
|
+
] })
|
|
40
|
+
}
|
|
41
|
+
);
|
|
42
|
+
}
|
|
43
|
+
export {
|
|
44
|
+
A as ErrorState
|
|
45
|
+
};
|
|
@@ -1,8 +1,15 @@
|
|
|
1
1
|
/** biome-ignore-all lint/performance/noBarrelFile: Barrel files are acceptable for atomic component folders */
|
|
2
|
-
export type {
|
|
3
|
-
export {
|
|
2
|
+
export type { ChatHistoryItemProps } from './chat-history-item';
|
|
3
|
+
export { ChatHistoryItem } from './chat-history-item';
|
|
4
|
+
export type { ChatAssistantMessageProps, ChatMessageItem, ChatMessageListProps, ChatMessageListSkeletonProps, ChatStreamingIndicatorProps, ChatUserMessageProps, } from './chat-message-list';
|
|
5
|
+
export { ChatAssistantMessage, ChatMessageList, ChatMessageListSkeleton, ChatStreamingIndicator, ChatUserMessage, } from './chat-message-list';
|
|
6
|
+
export { CommandBar } from './command-bar';
|
|
7
|
+
export type { ConfirmPopoverProps } from './confirm-popover';
|
|
8
|
+
export { ConfirmPopover } from './confirm-popover';
|
|
4
9
|
export { DateTimePicker } from './date-time-picker';
|
|
5
10
|
export { EmptyState } from './empty-state';
|
|
11
|
+
export type { ErrorStateProps } from './error-state';
|
|
12
|
+
export { ErrorState } from './error-state';
|
|
6
13
|
export type { MessageActionProps, MessageActionsProps, MessageAvatarProps, MessageContentProps, MessageProps, } from './message';
|
|
7
14
|
export { Message, MessageAction, MessageActions, MessageAvatar, MessageContent, } from './message';
|
|
8
15
|
export type { PromptInputActionProps, PromptInputActionsProps, PromptInputProps, PromptInputTextareaProps, } from './prompt-input';
|
|
@@ -12,8 +19,6 @@ export type { Step, StepStatus, StepsProgressProps } from './steps-progress';
|
|
|
12
19
|
export { StepsProgress } from './steps-progress';
|
|
13
20
|
export type { SuggestionCardProps } from './suggestion-card';
|
|
14
21
|
export { SuggestionCard } from './suggestion-card';
|
|
15
|
-
export type { SwitcherContentProps, SwitcherInputProps, SwitcherItemProps, SwitcherProps, SwitcherTriggerProps, } from './switcher';
|
|
16
|
-
export { Switcher, SwitcherContent, SwitcherInput, SwitcherItem, SwitcherTrigger, useSwitcher, } from './switcher';
|
|
17
22
|
export type { ToolAuthorizationArgsProps, ToolAuthorizationHeaderProps, ToolAuthorizationMessageProps, ToolAuthorizationProps, ToolAuthorizationStatus, } from './tool-authorization';
|
|
18
23
|
export { ToolAuthorization, ToolAuthorizationArgs, ToolAuthorizationContent, ToolAuthorizationHeader, ToolAuthorizationMessage, } from './tool-authorization';
|
|
19
24
|
export type { ToolCallAccordionContentProps, ToolCallAccordionItemProps, ToolCallAccordionProps, ToolCallAccordionTriggerProps, ToolCallState, ToolCallView, } from './tool-call-accordion';
|