@assistant-ui/react 0.7.7 → 0.7.8
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/primitives/threadList/ThreadListItems.d.ts +2 -2
- package/dist/primitives/threadList/ThreadListItems.d.ts.map +1 -1
- package/dist/primitives/threadList/ThreadListItems.js.map +1 -1
- package/dist/primitives/threadList/ThreadListItems.mjs.map +1 -1
- package/dist/primitives/threadList/ThreadListNew.d.ts.map +1 -1
- package/dist/primitives/threadList/ThreadListNew.js +23 -6
- package/dist/primitives/threadList/ThreadListNew.js.map +1 -1
- package/dist/primitives/threadList/ThreadListNew.mjs +24 -9
- package/dist/primitives/threadList/ThreadListNew.mjs.map +1 -1
- package/dist/styles/index.css +66 -0
- package/dist/styles/index.css.map +1 -1
- package/dist/styles/tailwindcss/thread.css +30 -0
- package/dist/styles/tailwindcss/thread.css.json +21 -0
- package/dist/ui/assistant-action-bar.d.ts +7 -7
- package/dist/ui/assistant-action-bar.d.ts.map +1 -1
- package/dist/ui/assistant-action-bar.js.map +1 -1
- package/dist/ui/assistant-action-bar.mjs +1 -3
- package/dist/ui/assistant-action-bar.mjs.map +1 -1
- package/dist/ui/assistant-modal.d.ts +3 -3
- package/dist/ui/assistant-modal.d.ts.map +1 -1
- package/dist/ui/assistant-modal.js.map +1 -1
- package/dist/ui/assistant-modal.mjs +1 -3
- package/dist/ui/assistant-modal.mjs.map +1 -1
- package/dist/ui/attachment-ui.d.ts +2 -2
- package/dist/ui/attachment-ui.d.ts.map +1 -1
- package/dist/ui/attachment-ui.js.map +1 -1
- package/dist/ui/attachment-ui.mjs +1 -3
- package/dist/ui/attachment-ui.mjs.map +1 -1
- package/dist/ui/base/index.d.ts +1 -1
- package/dist/ui/base/index.d.ts.map +1 -1
- package/dist/ui/base/index.js.map +1 -1
- package/dist/ui/base/index.mjs +1 -3
- package/dist/ui/base/index.mjs.map +1 -1
- package/dist/ui/base/tooltip-icon-button.d.ts +6 -4
- package/dist/ui/base/tooltip-icon-button.d.ts.map +1 -1
- package/dist/ui/base/tooltip-icon-button.js.map +1 -1
- package/dist/ui/base/tooltip-icon-button.mjs.map +1 -1
- package/dist/ui/branch-picker.d.ts +3 -3
- package/dist/ui/branch-picker.d.ts.map +1 -1
- package/dist/ui/branch-picker.js.map +1 -1
- package/dist/ui/branch-picker.mjs +1 -3
- package/dist/ui/branch-picker.mjs.map +1 -1
- package/dist/ui/composer.d.ts +4 -4
- package/dist/ui/composer.d.ts.map +1 -1
- package/dist/ui/composer.js.map +1 -1
- package/dist/ui/composer.mjs +1 -3
- package/dist/ui/composer.mjs.map +1 -1
- package/dist/ui/index.d.ts +2 -0
- package/dist/ui/index.d.ts.map +1 -1
- package/dist/ui/index.js +6 -0
- package/dist/ui/index.js.map +1 -1
- package/dist/ui/index.mjs +4 -0
- package/dist/ui/index.mjs.map +1 -1
- package/dist/ui/thread-config.d.ts +13 -0
- package/dist/ui/thread-config.d.ts.map +1 -1
- package/dist/ui/thread-config.js.map +1 -1
- package/dist/ui/thread-config.mjs.map +1 -1
- package/dist/ui/thread-list-item.d.ts +24 -0
- package/dist/ui/thread-list-item.d.ts.map +1 -0
- package/dist/ui/thread-list-item.js +107 -0
- package/dist/ui/thread-list-item.js.map +1 -0
- package/dist/ui/thread-list-item.mjs +77 -0
- package/dist/ui/thread-list-item.mjs.map +1 -0
- package/dist/ui/thread-list.d.ts +20 -0
- package/dist/ui/thread-list.d.ts.map +1 -0
- package/dist/ui/thread-list.js +92 -0
- package/dist/ui/thread-list.js.map +1 -0
- package/dist/ui/thread-list.mjs +62 -0
- package/dist/ui/thread-list.mjs.map +1 -0
- package/dist/ui/thread.d.ts +2 -2
- package/dist/ui/thread.d.ts.map +1 -1
- package/dist/ui/thread.js.map +1 -1
- package/dist/ui/thread.mjs +1 -3
- package/dist/ui/thread.mjs.map +1 -1
- package/dist/ui/user-action-bar.d.ts +2 -2
- package/dist/ui/user-action-bar.d.ts.map +1 -1
- package/dist/ui/user-action-bar.js.map +1 -1
- package/dist/ui/user-action-bar.mjs +1 -3
- package/dist/ui/user-action-bar.mjs.map +1 -1
- package/package.json +5 -5
- package/src/primitives/threadList/ThreadListItems.tsx +3 -3
- package/src/primitives/threadList/ThreadListNew.tsx +45 -0
- package/src/styles/tailwindcss/thread.css +30 -0
- package/src/ui/assistant-action-bar.tsx +7 -10
- package/src/ui/assistant-modal.tsx +3 -6
- package/src/ui/attachment-ui.tsx +2 -5
- package/src/ui/base/index.ts +1 -4
- package/src/ui/base/tooltip-icon-button.tsx +7 -5
- package/src/ui/branch-picker.tsx +3 -6
- package/src/ui/composer.tsx +4 -7
- package/src/ui/index.ts +4 -0
- package/src/ui/thread-config.tsx +13 -0
- package/src/ui/thread-list-item.tsx +99 -0
- package/src/ui/thread-list.tsx +72 -0
- package/src/ui/thread.tsx +2 -5
- package/src/ui/user-action-bar.tsx +2 -5
- package/src/primitives/threadList/ThreadListNew.ts +0 -25
package/src/ui/attachment-ui.tsx
CHANGED
@@ -10,10 +10,7 @@ import {
|
|
10
10
|
import { CircleXIcon, FileIcon } from "lucide-react";
|
11
11
|
import { withDefaults } from "./utils/withDefaults";
|
12
12
|
import { useThreadConfig } from "./thread-config";
|
13
|
-
import {
|
14
|
-
TooltipIconButton,
|
15
|
-
TooltipIconButtonProps,
|
16
|
-
} from "./base/tooltip-icon-button";
|
13
|
+
import { TooltipIconButton } from "./base/tooltip-icon-button";
|
17
14
|
import { AttachmentPrimitive } from "../primitives";
|
18
15
|
import { useAttachment } from "../context/react/AttachmentContext";
|
19
16
|
import {
|
@@ -169,7 +166,7 @@ AttachmentUI.displayName = "Attachment";
|
|
169
166
|
|
170
167
|
namespace AttachmentRemove {
|
171
168
|
export type Element = HTMLButtonElement;
|
172
|
-
export type Props = Partial<
|
169
|
+
export type Props = Partial<TooltipIconButton.Props>;
|
173
170
|
}
|
174
171
|
|
175
172
|
const AttachmentRemove = forwardRef<
|
package/src/ui/base/index.ts
CHANGED
@@ -10,9 +10,6 @@ export { Button, buttonVariants, type ButtonProps } from "./button";
|
|
10
10
|
|
11
11
|
export { Tooltip, TooltipContent, TooltipTrigger } from "./tooltip";
|
12
12
|
|
13
|
-
export {
|
14
|
-
TooltipIconButton,
|
15
|
-
type TooltipIconButtonProps,
|
16
|
-
} from "./tooltip-icon-button";
|
13
|
+
export { TooltipIconButton } from "./tooltip-icon-button";
|
17
14
|
|
18
15
|
export { CircleStopIcon } from "./CircleStopIcon";
|
@@ -4,14 +4,16 @@ import { forwardRef } from "react";
|
|
4
4
|
import { Tooltip, TooltipContent, TooltipTrigger } from "./tooltip";
|
5
5
|
import { Button, ButtonProps } from "./button";
|
6
6
|
|
7
|
-
export
|
8
|
-
|
9
|
-
|
10
|
-
|
7
|
+
export namespace TooltipIconButton {
|
8
|
+
export type Props = ButtonProps & {
|
9
|
+
tooltip: string;
|
10
|
+
side?: "top" | "bottom" | "left" | "right";
|
11
|
+
};
|
12
|
+
}
|
11
13
|
|
12
14
|
export const TooltipIconButton = forwardRef<
|
13
15
|
HTMLButtonElement,
|
14
|
-
|
16
|
+
TooltipIconButton.Props
|
15
17
|
>(({ children, tooltip, side = "bottom", ...rest }, ref) => {
|
16
18
|
return (
|
17
19
|
<Tooltip>
|
package/src/ui/branch-picker.tsx
CHANGED
@@ -3,10 +3,7 @@
|
|
3
3
|
import { ComponentPropsWithoutRef, forwardRef, type FC } from "react";
|
4
4
|
import { ChevronLeftIcon, ChevronRightIcon } from "lucide-react";
|
5
5
|
|
6
|
-
import {
|
7
|
-
TooltipIconButton,
|
8
|
-
TooltipIconButtonProps,
|
9
|
-
} from "./base/tooltip-icon-button";
|
6
|
+
import { TooltipIconButton } from "./base/tooltip-icon-button";
|
10
7
|
import { withDefaults } from "./utils/withDefaults";
|
11
8
|
import { useThreadConfig } from "./thread-config";
|
12
9
|
import { BranchPickerPrimitive } from "../primitives";
|
@@ -40,7 +37,7 @@ BranchPickerRoot.displayName = "BranchPickerRoot";
|
|
40
37
|
|
41
38
|
namespace BranchPickerPrevious {
|
42
39
|
export type Element = BranchPickerPrimitive.Previous.Element;
|
43
|
-
export type Props = Partial<
|
40
|
+
export type Props = Partial<TooltipIconButton.Props>;
|
44
41
|
}
|
45
42
|
|
46
43
|
const BranchPickerPrevious = forwardRef<
|
@@ -88,7 +85,7 @@ BranchPickerState.displayName = "BranchPickerState";
|
|
88
85
|
|
89
86
|
namespace BranchPickerNext {
|
90
87
|
export type Element = BranchPickerPrimitive.Next.Element;
|
91
|
-
export type Props = Partial<
|
88
|
+
export type Props = Partial<TooltipIconButton.Props>;
|
92
89
|
}
|
93
90
|
|
94
91
|
const BranchPickerNext = forwardRef<
|
package/src/ui/composer.tsx
CHANGED
@@ -5,10 +5,7 @@ import { ComponentPropsWithoutRef, forwardRef, type FC } from "react";
|
|
5
5
|
import { PaperclipIcon, SendHorizontalIcon } from "lucide-react";
|
6
6
|
import { withDefaults } from "./utils/withDefaults";
|
7
7
|
import { useThreadConfig } from "./thread-config";
|
8
|
-
import {
|
9
|
-
TooltipIconButton,
|
10
|
-
TooltipIconButtonProps,
|
11
|
-
} from "./base/tooltip-icon-button";
|
8
|
+
import { TooltipIconButton } from "./base/tooltip-icon-button";
|
12
9
|
import { CircleStopIcon } from "./base/CircleStopIcon";
|
13
10
|
import { ComposerPrimitive, ThreadPrimitive } from "../primitives";
|
14
11
|
import { useThread } from "../context/react/ThreadContext";
|
@@ -94,7 +91,7 @@ const ComposerAttachButton = withDefaults(TooltipIconButton, {
|
|
94
91
|
|
95
92
|
namespace ComposerAddAttachment {
|
96
93
|
export type Element = HTMLButtonElement;
|
97
|
-
export type Props = Partial<
|
94
|
+
export type Props = Partial<TooltipIconButton.Props>;
|
98
95
|
}
|
99
96
|
|
100
97
|
const ComposerAddAttachment = forwardRef<
|
@@ -152,7 +149,7 @@ const ComposerSendButton = withDefaults(TooltipIconButton, {
|
|
152
149
|
|
153
150
|
namespace ComposerSend {
|
154
151
|
export type Element = HTMLButtonElement;
|
155
|
-
export type Props = Partial<
|
152
|
+
export type Props = Partial<TooltipIconButton.Props>;
|
156
153
|
}
|
157
154
|
|
158
155
|
const ComposerSend = forwardRef<ComposerSend.Element, ComposerSend.Props>(
|
@@ -179,7 +176,7 @@ const ComposerCancelButton = withDefaults(TooltipIconButton, {
|
|
179
176
|
|
180
177
|
namespace ComposerCancel {
|
181
178
|
export type Element = HTMLButtonElement;
|
182
|
-
export type Props = Partial<
|
179
|
+
export type Props = Partial<TooltipIconButton.Props>;
|
183
180
|
}
|
184
181
|
|
185
182
|
const ComposerCancel = forwardRef<ComposerCancel.Element, ComposerCancel.Props>(
|
package/src/ui/index.ts
CHANGED
@@ -35,3 +35,7 @@ export { default as UserActionBar } from "./user-action-bar";
|
|
35
35
|
export { default as ThreadWelcome } from "./thread-welcome";
|
36
36
|
|
37
37
|
export { default as ContentPart } from "./content-part";
|
38
|
+
|
39
|
+
export { default as ThreadList } from "./thread-list";
|
40
|
+
|
41
|
+
export { default as ThreadListItem } from "./thread-list-item";
|
package/src/ui/thread-config.tsx
CHANGED
@@ -65,6 +65,19 @@ export type StringsConfig = {
|
|
65
65
|
};
|
66
66
|
};
|
67
67
|
};
|
68
|
+
threadList?: {
|
69
|
+
new?: {
|
70
|
+
label?: string | undefined;
|
71
|
+
};
|
72
|
+
item?: {
|
73
|
+
title?: {
|
74
|
+
fallback?: string | undefined;
|
75
|
+
};
|
76
|
+
archive?: {
|
77
|
+
label?: string | undefined;
|
78
|
+
};
|
79
|
+
};
|
80
|
+
};
|
68
81
|
thread?: {
|
69
82
|
scrollToBottom?: {
|
70
83
|
tooltip?: string | undefined;
|
@@ -0,0 +1,99 @@
|
|
1
|
+
"use client";
|
2
|
+
|
3
|
+
import { ComponentPropsWithoutRef, forwardRef, type FC } from "react";
|
4
|
+
import { ArchiveIcon } from "lucide-react";
|
5
|
+
|
6
|
+
import { withDefaults } from "./utils/withDefaults";
|
7
|
+
import { TooltipIconButton } from "./base/tooltip-icon-button";
|
8
|
+
import { ThreadListItemPrimitive } from "../primitives";
|
9
|
+
import { useThreadConfig } from "./thread-config";
|
10
|
+
import classNames from "classnames";
|
11
|
+
|
12
|
+
const ThreadListItem: FC = () => {
|
13
|
+
return (
|
14
|
+
<ThreadListItemRoot>
|
15
|
+
<ThreadListItemTrigger>
|
16
|
+
<ThreadListItemTitle />
|
17
|
+
</ThreadListItemTrigger>
|
18
|
+
<ThreadListItemArchive />
|
19
|
+
</ThreadListItemRoot>
|
20
|
+
);
|
21
|
+
};
|
22
|
+
|
23
|
+
const ThreadListItemRoot = withDefaults(ThreadListItemPrimitive.Root, {
|
24
|
+
className: "aui-thread-list-item",
|
25
|
+
});
|
26
|
+
|
27
|
+
ThreadListItemRoot.displayName = "ThreadListItemRoot";
|
28
|
+
|
29
|
+
const ThreadListItemTrigger = withDefaults(ThreadListItemPrimitive.Trigger, {
|
30
|
+
className: "aui-thread-list-item-trigger",
|
31
|
+
});
|
32
|
+
|
33
|
+
namespace ThreadListItemPrimitiveTitle {
|
34
|
+
export type Element = HTMLParagraphElement;
|
35
|
+
export type Props = ComponentPropsWithoutRef<"p">;
|
36
|
+
}
|
37
|
+
|
38
|
+
const ThreadListItemTitle = forwardRef<
|
39
|
+
ThreadListItemPrimitiveTitle.Element,
|
40
|
+
ThreadListItemPrimitiveTitle.Props
|
41
|
+
>(({ className, ...props }, ref) => {
|
42
|
+
const {
|
43
|
+
strings: {
|
44
|
+
threadList: { item: { title: { fallback = "New Chat" } = {} } = {} } = {},
|
45
|
+
} = {},
|
46
|
+
} = useThreadConfig();
|
47
|
+
|
48
|
+
return (
|
49
|
+
<p
|
50
|
+
ref={ref}
|
51
|
+
className={classNames("aui-thread-list-item-title", className)}
|
52
|
+
{...props}
|
53
|
+
>
|
54
|
+
<ThreadListItemPrimitive.Title fallback={fallback} />
|
55
|
+
</p>
|
56
|
+
);
|
57
|
+
});
|
58
|
+
|
59
|
+
ThreadListItemTitle.displayName = "ThreadListItemTitle";
|
60
|
+
|
61
|
+
const ThreadListItemArchive = withDefaults(
|
62
|
+
forwardRef<HTMLButtonElement, TooltipIconButton.Props>(
|
63
|
+
({ className, ...props }, ref) => {
|
64
|
+
const {
|
65
|
+
strings: {
|
66
|
+
threadList: {
|
67
|
+
item: { archive: { label = "Archive thread" } = {} } = {},
|
68
|
+
} = {},
|
69
|
+
} = {},
|
70
|
+
} = useThreadConfig();
|
71
|
+
|
72
|
+
return (
|
73
|
+
<ThreadListItemPrimitive.Archive asChild>
|
74
|
+
<TooltipIconButton
|
75
|
+
{...props}
|
76
|
+
ref={ref}
|
77
|
+
className={classNames("aui-thread-list-item-archive", className)}
|
78
|
+
variant="ghost"
|
79
|
+
tooltip={label}
|
80
|
+
>
|
81
|
+
<ArchiveIcon />
|
82
|
+
</TooltipIconButton>
|
83
|
+
</ThreadListItemPrimitive.Archive>
|
84
|
+
);
|
85
|
+
},
|
86
|
+
),
|
87
|
+
{},
|
88
|
+
);
|
89
|
+
|
90
|
+
ThreadListItemArchive.displayName = "ThreadListItemArchive";
|
91
|
+
|
92
|
+
const exports = {
|
93
|
+
Root: ThreadListItemRoot,
|
94
|
+
Title: ThreadListItemTitle,
|
95
|
+
Archive: ThreadListItemArchive,
|
96
|
+
};
|
97
|
+
|
98
|
+
export default Object.assign(ThreadListItem, exports) as typeof ThreadListItem &
|
99
|
+
typeof exports;
|
@@ -0,0 +1,72 @@
|
|
1
|
+
"use client";
|
2
|
+
|
3
|
+
import { forwardRef, type FC } from "react";
|
4
|
+
import { PlusIcon } from "lucide-react";
|
5
|
+
|
6
|
+
import { withDefaults } from "./utils/withDefaults";
|
7
|
+
import { ThreadListPrimitive } from "../primitives";
|
8
|
+
import ThreadListItem from "./thread-list-item";
|
9
|
+
import { useThreadConfig } from "./thread-config";
|
10
|
+
import { Button, ButtonProps } from "./base";
|
11
|
+
|
12
|
+
const ThreadList: FC = () => {
|
13
|
+
return (
|
14
|
+
<ThreadListRoot>
|
15
|
+
<ThreadListNew />
|
16
|
+
<ThreadListItems />
|
17
|
+
</ThreadListRoot>
|
18
|
+
);
|
19
|
+
};
|
20
|
+
|
21
|
+
const ThreadListRoot = withDefaults("div", {
|
22
|
+
className: "aui-root aui-thread-list-root",
|
23
|
+
});
|
24
|
+
ThreadListRoot.displayName = "ThreadListRoot";
|
25
|
+
|
26
|
+
const ThreadListNew = forwardRef<
|
27
|
+
HTMLButtonElement,
|
28
|
+
ThreadListPrimitive.New.Props & ButtonProps
|
29
|
+
>((props, ref) => {
|
30
|
+
const {
|
31
|
+
strings: { threadList: { new: { label = "New Thread" } = {} } = {} } = {},
|
32
|
+
} = useThreadConfig();
|
33
|
+
|
34
|
+
return (
|
35
|
+
<ThreadListPrimitive.New asChild>
|
36
|
+
<Button
|
37
|
+
{...props}
|
38
|
+
ref={ref}
|
39
|
+
className="aui-thread-list-new"
|
40
|
+
variant="ghost"
|
41
|
+
>
|
42
|
+
<PlusIcon />
|
43
|
+
{label}
|
44
|
+
</Button>
|
45
|
+
</ThreadListPrimitive.New>
|
46
|
+
);
|
47
|
+
});
|
48
|
+
ThreadListNew.displayName = "ThreadListNew";
|
49
|
+
|
50
|
+
const ThreadListItems: FC<{
|
51
|
+
components?: Partial<ThreadListPrimitive.Items.Props["components"]>;
|
52
|
+
}> = ({ components }) => {
|
53
|
+
return (
|
54
|
+
<ThreadListPrimitive.Items
|
55
|
+
components={{
|
56
|
+
...components,
|
57
|
+
ThreadListItem: components?.ThreadListItem ?? ThreadListItem,
|
58
|
+
}}
|
59
|
+
/>
|
60
|
+
);
|
61
|
+
};
|
62
|
+
|
63
|
+
ThreadListItems.displayName = "ThreadListItems";
|
64
|
+
|
65
|
+
const exports = {
|
66
|
+
Root: ThreadListRoot,
|
67
|
+
New: ThreadListNew,
|
68
|
+
Items: ThreadListItems,
|
69
|
+
};
|
70
|
+
|
71
|
+
export default Object.assign(ThreadList, exports) as typeof ThreadList &
|
72
|
+
typeof exports;
|
package/src/ui/thread.tsx
CHANGED
@@ -6,10 +6,7 @@ import { ArrowDownIcon } from "lucide-react";
|
|
6
6
|
import { withDefaults } from "./utils/withDefaults";
|
7
7
|
import Composer from "./composer";
|
8
8
|
import ThreadWelcome from "./thread-welcome";
|
9
|
-
import {
|
10
|
-
TooltipIconButton,
|
11
|
-
TooltipIconButtonProps,
|
12
|
-
} from "./base/tooltip-icon-button";
|
9
|
+
import { TooltipIconButton } from "./base/tooltip-icon-button";
|
13
10
|
import AssistantMessage from "./assistant-message";
|
14
11
|
import UserMessage from "./user-message";
|
15
12
|
import EditComposer from "./edit-composer";
|
@@ -133,7 +130,7 @@ const ThreadScrollToBottomIconButton = withDefaults(TooltipIconButton, {
|
|
133
130
|
|
134
131
|
namespace ThreadScrollToBottom {
|
135
132
|
export type Element = HTMLButtonElement;
|
136
|
-
export type Props = Partial<
|
133
|
+
export type Props = Partial<TooltipIconButton.Props>;
|
137
134
|
}
|
138
135
|
|
139
136
|
const ThreadScrollToBottom = forwardRef<
|
@@ -3,10 +3,7 @@
|
|
3
3
|
import { forwardRef, type FC } from "react";
|
4
4
|
import { PencilIcon } from "lucide-react";
|
5
5
|
|
6
|
-
import {
|
7
|
-
TooltipIconButton,
|
8
|
-
TooltipIconButtonProps,
|
9
|
-
} from "./base/tooltip-icon-button";
|
6
|
+
import { TooltipIconButton } from "./base/tooltip-icon-button";
|
10
7
|
import { withDefaults } from "./utils/withDefaults";
|
11
8
|
import { useThreadConfig } from "./thread-config";
|
12
9
|
import { useThread } from "../context";
|
@@ -38,7 +35,7 @@ UserActionBarRoot.displayName = "UserActionBarRoot";
|
|
38
35
|
|
39
36
|
namespace UserActionBarEdit {
|
40
37
|
export type Element = ActionBarPrimitive.Edit.Element;
|
41
|
-
export type Props = Partial<
|
38
|
+
export type Props = Partial<TooltipIconButton.Props>;
|
42
39
|
}
|
43
40
|
|
44
41
|
const UserActionBarEdit = forwardRef<
|
@@ -1,25 +0,0 @@
|
|
1
|
-
"use client";
|
2
|
-
|
3
|
-
import {
|
4
|
-
ActionButtonElement,
|
5
|
-
ActionButtonProps,
|
6
|
-
createActionButton,
|
7
|
-
} from "../../utils/createActionButton";
|
8
|
-
import { useAssistantRuntime } from "../../context";
|
9
|
-
|
10
|
-
const useThreadListNew = () => {
|
11
|
-
const runtime = useAssistantRuntime();
|
12
|
-
return () => {
|
13
|
-
runtime.switchToNewThread();
|
14
|
-
};
|
15
|
-
};
|
16
|
-
|
17
|
-
export namespace ThreadListPrimitiveNew {
|
18
|
-
export type Element = ActionButtonElement;
|
19
|
-
export type Props = ActionButtonProps<typeof useThreadListNew>;
|
20
|
-
}
|
21
|
-
|
22
|
-
export const ThreadListPrimitiveNew = createActionButton(
|
23
|
-
"ThreadListPrimitive.New",
|
24
|
-
useThreadListNew,
|
25
|
-
);
|