@assistant-ui/react 0.7.7 → 0.7.9
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/api/AssistantRuntime.js +3 -3
- package/dist/api/ComposerRuntime.d.ts.map +1 -1
- package/dist/api/ComposerRuntime.js +4 -4
- package/dist/api/MessageRuntime.js +7 -7
- package/dist/api/ThreadListRuntime.js +4 -4
- package/dist/api/ThreadRuntime.js +6 -6
- package/dist/api/subscribable/LazyMemoizeSubject.js +2 -2
- package/dist/api/subscribable/NestedSubscriptionSubject.js +1 -1
- package/dist/api/subscribable/ShallowMemoizeSubject.js +3 -3
- package/dist/context/index.js +6 -6
- package/dist/context/index.js.map +1 -1
- package/dist/context/providers/AssistantRuntimeProvider.js +4 -4
- package/dist/context/providers/AttachmentRuntimeProvider.js +2 -2
- package/dist/context/providers/ContentPartRuntimeProvider.js +2 -2
- package/dist/context/providers/MessageRuntimeProvider.js +3 -3
- package/dist/context/providers/TextContentPartProvider.js +3 -3
- package/dist/context/providers/ThreadListItemRuntimeProvider.js +2 -2
- package/dist/context/providers/ThreadRuntimeProvider.js +3 -3
- package/dist/context/providers/index.js +2 -2
- package/dist/context/react/AssistantContext.js +2 -2
- package/dist/context/react/AttachmentContext.js +1 -1
- package/dist/context/react/ComposerContext.js +3 -3
- package/dist/context/react/ContentPartContext.js +2 -2
- package/dist/context/react/MessageContext.js +2 -2
- package/dist/context/react/ThreadContext.js +2 -2
- package/dist/context/react/ThreadListItemContext.js +2 -2
- package/dist/context/react/index.js +6 -6
- package/dist/context/react/utils/createContextStoreHook.d.ts.map +1 -1
- package/dist/edge.js +1 -1
- package/dist/index.js +17 -17
- package/dist/index.js.map +1 -1
- package/dist/internal.js +11 -11
- package/dist/internal.js.map +1 -1
- package/dist/model-config/index.js +6 -6
- package/dist/model-config/makeAssistantTool.js +1 -1
- package/dist/model-config/makeAssistantToolUI.js +1 -1
- package/dist/model-config/useAssistantInstructions.js +1 -1
- package/dist/model-config/useAssistantTool.js +1 -1
- package/dist/model-config/useAssistantToolUI.js +1 -1
- package/dist/primitive-hooks/actionBar/useActionBarCopy.js +2 -2
- package/dist/primitive-hooks/actionBar/useActionBarEdit.js +1 -1
- package/dist/primitive-hooks/actionBar/useActionBarFeedbackNegative.js +1 -1
- package/dist/primitive-hooks/actionBar/useActionBarFeedbackPositive.js +1 -1
- package/dist/primitive-hooks/actionBar/useActionBarReload.js +3 -3
- package/dist/primitive-hooks/actionBar/useActionBarSpeak.js +1 -1
- package/dist/primitive-hooks/actionBar/useActionBarStopSpeaking.js +1 -1
- package/dist/primitive-hooks/attachment/useAttachmentRemove.js +1 -1
- package/dist/primitive-hooks/branchPicker/useBranchPickerCount.js +1 -1
- package/dist/primitive-hooks/branchPicker/useBranchPickerNext.js +1 -1
- package/dist/primitive-hooks/branchPicker/useBranchPickerNumber.js +1 -1
- package/dist/primitive-hooks/branchPicker/useBranchPickerPrevious.js +1 -1
- package/dist/primitive-hooks/composer/useComposerAddAttachment.js +1 -1
- package/dist/primitive-hooks/composer/useComposerCancel.js +1 -1
- package/dist/primitive-hooks/composer/useComposerIf.js +1 -1
- package/dist/primitive-hooks/composer/useComposerSend.js +3 -3
- package/dist/primitive-hooks/contentPart/index.js +3 -3
- package/dist/primitive-hooks/contentPart/useContentPartDisplay.js +1 -1
- package/dist/primitive-hooks/contentPart/useContentPartImage.js +1 -1
- package/dist/primitive-hooks/contentPart/useContentPartText.js +1 -1
- package/dist/primitive-hooks/index.js +2 -2
- package/dist/primitive-hooks/index.js.map +1 -1
- package/dist/primitive-hooks/message/useMessageIf.js +2 -2
- package/dist/primitive-hooks/thread/useThreadEmpty.js +1 -1
- package/dist/primitive-hooks/thread/useThreadIf.js +1 -1
- package/dist/primitive-hooks/thread/useThreadScrollToBottom.js +2 -2
- package/dist/primitive-hooks/thread/useThreadSuggestion.js +2 -2
- package/dist/primitive-hooks/thread/useThreadViewportAutoScroll.js +5 -5
- package/dist/primitives/actionBar/ActionBarCopy.js +2 -2
- package/dist/primitives/actionBar/ActionBarEdit.js +2 -2
- package/dist/primitives/actionBar/ActionBarFeedbackNegative.js +2 -2
- package/dist/primitives/actionBar/ActionBarFeedbackPositive.js +2 -2
- package/dist/primitives/actionBar/ActionBarReload.js +2 -2
- package/dist/primitives/actionBar/ActionBarRoot.js +1 -1
- package/dist/primitives/actionBar/ActionBarSpeak.js +2 -2
- package/dist/primitives/actionBar/ActionBarStopSpeaking.js +1 -1
- package/dist/primitives/actionBar/index.js +8 -8
- package/dist/primitives/actionBar/useActionBarFloatStatus.js +3 -3
- package/dist/primitives/assistantModal/AssistantModalAnchor.js +1 -1
- package/dist/primitives/assistantModal/AssistantModalContent.js +1 -1
- package/dist/primitives/assistantModal/AssistantModalRoot.js +2 -2
- package/dist/primitives/assistantModal/AssistantModalTrigger.js +1 -1
- package/dist/primitives/assistantModal/index.js +4 -4
- package/dist/primitives/attachment/AttachmentName.js +1 -1
- package/dist/primitives/attachment/AttachmentRemove.js +2 -2
- package/dist/primitives/attachment/AttachmentThumb.js +1 -1
- package/dist/primitives/attachment/index.js +4 -4
- package/dist/primitives/branchPicker/BranchPickerCount.js +1 -1
- package/dist/primitives/branchPicker/BranchPickerNext.js +2 -2
- package/dist/primitives/branchPicker/BranchPickerNumber.js +1 -1
- package/dist/primitives/branchPicker/BranchPickerPrevious.js +2 -2
- package/dist/primitives/branchPicker/BranchPickerRoot.js +1 -1
- package/dist/primitives/branchPicker/index.js +5 -5
- package/dist/primitives/composer/ComposerAddAttachment.js +2 -2
- package/dist/primitives/composer/ComposerAttachments.js +3 -3
- package/dist/primitives/composer/ComposerCancel.js +2 -2
- package/dist/primitives/composer/ComposerIf.js +1 -1
- package/dist/primitives/composer/ComposerInput.js +3 -3
- package/dist/primitives/composer/ComposerRoot.js +1 -1
- package/dist/primitives/composer/ComposerSend.js +2 -2
- package/dist/primitives/composer/index.js +7 -7
- package/dist/primitives/contentPart/ContentPartDisplay.js +1 -1
- package/dist/primitives/contentPart/ContentPartImage.js +1 -1
- package/dist/primitives/contentPart/ContentPartInProgress.js +1 -1
- package/dist/primitives/contentPart/ContentPartText.js +2 -2
- package/dist/primitives/contentPart/index.js +4 -4
- package/dist/primitives/index.js +10 -10
- package/dist/primitives/message/MessageAttachments.js +3 -3
- package/dist/primitives/message/MessageContent.js +8 -8
- package/dist/primitives/message/MessageIf.js +1 -1
- package/dist/primitives/message/MessageRoot.js +2 -2
- package/dist/primitives/message/index.js +4 -4
- package/dist/primitives/thread/ThreadEmpty.js +1 -1
- package/dist/primitives/thread/ThreadIf.js +1 -1
- package/dist/primitives/thread/ThreadMessages.js +3 -3
- package/dist/primitives/thread/ThreadScrollToBottom.js +2 -2
- package/dist/primitives/thread/ThreadSuggestion.js +2 -2
- package/dist/primitives/thread/ThreadViewport.js +1 -1
- package/dist/primitives/thread/index.js +7 -7
- 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 +2 -2
- 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 +24 -7
- 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/primitives/threadList/index.js +2 -2
- package/dist/primitives/threadListItem/ThreadListItemArchive.js +2 -2
- package/dist/primitives/threadListItem/ThreadListItemDelete.js +2 -2
- package/dist/primitives/threadListItem/ThreadListItemRoot.js +2 -2
- package/dist/primitives/threadListItem/ThreadListItemRoot.js.map +1 -1
- package/dist/primitives/threadListItem/ThreadListItemRoot.mjs +1 -1
- package/dist/primitives/threadListItem/ThreadListItemRoot.mjs.map +1 -1
- package/dist/primitives/threadListItem/ThreadListItemTitle.js +1 -1
- package/dist/primitives/threadListItem/ThreadListItemTrigger.js +2 -2
- package/dist/primitives/threadListItem/ThreadListItemUnarchive.js +2 -2
- package/dist/primitives/threadListItem/index.js +6 -6
- package/dist/runtimes/attachment/index.js +3 -3
- package/dist/runtimes/composer/DefaultEditComposerRuntimeCore.js +2 -2
- package/dist/runtimes/composer/DefaultThreadComposerRuntimeCore.js +1 -1
- package/dist/runtimes/core/BaseAssistantRuntimeCore.js +1 -1
- package/dist/runtimes/core/BaseThreadRuntimeCore.js +4 -4
- package/dist/runtimes/dangerous-in-browser/DangerousInBrowserAdapter.js +6 -6
- package/dist/runtimes/dangerous-in-browser/index.js +1 -1
- package/dist/runtimes/dangerous-in-browser/useDangerousInBrowserRuntime.js +3 -3
- package/dist/runtimes/edge/EdgeChatAdapter.js +7 -7
- package/dist/runtimes/edge/EdgeRuntimeRequestOptions.js +1 -1
- package/dist/runtimes/edge/converters/fromCoreMessage.js +1 -1
- package/dist/runtimes/edge/converters/index.js +6 -6
- package/dist/runtimes/edge/createEdgeRuntimeAPI.js +9 -9
- package/dist/runtimes/edge/index.js +6 -6
- package/dist/runtimes/edge/index.js.map +1 -1
- package/dist/runtimes/edge/partial-json/parse-partial-json.js +1 -1
- package/dist/runtimes/edge/streams/assistantDecoderStream.js +1 -1
- package/dist/runtimes/edge/streams/assistantEncoderStream.js +1 -1
- package/dist/runtimes/edge/streams/runResultStream.js +1 -1
- package/dist/runtimes/edge/streams/utils/index.js +2 -2
- package/dist/runtimes/edge/streams/utils/streamPartDecoderStream.js +2 -2
- package/dist/runtimes/edge/streams/utils/streamPartEncoderStream.d.ts +1 -1
- package/dist/runtimes/edge/streams/utils/streamPartEncoderStream.d.ts.map +1 -1
- package/dist/runtimes/edge/streams/utils/streamPartEncoderStream.js +1 -1
- package/dist/runtimes/edge/useEdgeRuntime.js +3 -3
- package/dist/runtimes/external-store/ExternalStoreRuntimeCore.js +3 -3
- package/dist/runtimes/external-store/ExternalStoreThreadRuntimeCore.js +7 -7
- package/dist/runtimes/external-store/external-message-converter.js +4 -4
- package/dist/runtimes/external-store/index.js +3 -3
- package/dist/runtimes/external-store/useExternalStoreRuntime.js +3 -3
- package/dist/runtimes/index.js +16 -16
- package/dist/runtimes/index.js.map +1 -1
- package/dist/runtimes/local/LocalRuntimeCore.js +4 -4
- package/dist/runtimes/local/LocalThreadListRuntimeCore.js +1 -1
- package/dist/runtimes/local/LocalThreadRuntimeCore.js +5 -5
- package/dist/runtimes/local/index.js +1 -1
- package/dist/runtimes/local/useLocalRuntime.js +3 -3
- package/dist/runtimes/speech/index.js +1 -1
- package/dist/runtimes/utils/MessageRepository.js +2 -2
- package/dist/styles/index.css +78 -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 +5 -5
- 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-message.js +7 -7
- 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 +5 -5
- 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 +7 -7
- 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/avatar.js +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 +5 -5
- 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 +2 -2
- 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/base/tooltip.js +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 +5 -5
- 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 +7 -7
- 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/content-part.js +2 -2
- package/dist/ui/edit-composer.js +4 -4
- package/dist/ui/index.d.ts +4 -2
- package/dist/ui/index.d.ts.map +1 -1
- package/dist/ui/index.js +19 -13
- package/dist/ui/index.js.map +1 -1
- package/dist/ui/index.mjs +18 -14
- 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 +2 -2
- 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 +15 -0
- package/dist/ui/thread-list-item.d.ts.map +1 -0
- package/dist/ui/thread-list-item.js +94 -0
- package/dist/ui/thread-list-item.js.map +1 -0
- package/dist/ui/thread-list-item.mjs +64 -0
- package/dist/ui/thread-list-item.mjs.map +1 -0
- package/dist/ui/thread-list.d.ts +27 -0
- package/dist/ui/thread-list.d.ts.map +1 -0
- package/dist/ui/thread-list.js +91 -0
- package/dist/ui/thread-list.js.map +1 -0
- package/dist/ui/thread-list.mjs +61 -0
- package/dist/ui/thread-list.mjs.map +1 -0
- package/dist/ui/thread-welcome.js +5 -5
- package/dist/ui/thread.d.ts +2 -2
- package/dist/ui/thread.d.ts.map +1 -1
- package/dist/ui/thread.js +10 -10
- 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 +5 -5
- 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/dist/ui/user-message.js +6 -6
- package/dist/utils/ProxyConfigProvider.js +1 -1
- package/dist/utils/combined/createCombinedStore.d.ts.map +1 -1
- package/dist/utils/combined/useCombinedStore.d.ts.map +1 -1
- package/dist/utils/combined/useCombinedStore.js +1 -1
- package/dist/utils/hooks/useOnResizeContent.js +1 -1
- package/dist/utils/hooks/useOnScrollToBottom.js +1 -1
- package/dist/utils/smooth/SmoothContext.js +2 -2
- package/dist/utils/smooth/index.js +3 -3
- package/dist/utils/smooth/useSmooth.js +3 -3
- package/package.json +5 -5
- package/src/primitives/threadList/ThreadListItems.tsx +3 -3
- package/src/primitives/threadList/ThreadListNew.tsx +45 -0
- package/src/primitives/threadListItem/ThreadListItemRoot.tsx +1 -1
- 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 +7 -3
- package/src/ui/thread-config.tsx +13 -0
- package/src/ui/thread-list-item.tsx +91 -0
- package/src/ui/thread-list.tsx +78 -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
@@ -0,0 +1,91 @@
|
|
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 config = useThreadConfig();
|
43
|
+
const fallback =
|
44
|
+
config.strings?.threadList?.item?.title?.fallback ?? "New Chat";
|
45
|
+
|
46
|
+
return (
|
47
|
+
<p
|
48
|
+
ref={ref}
|
49
|
+
className={classNames("aui-thread-list-item-title", className)}
|
50
|
+
{...props}
|
51
|
+
>
|
52
|
+
<ThreadListItemPrimitive.Title fallback={fallback} />
|
53
|
+
</p>
|
54
|
+
);
|
55
|
+
});
|
56
|
+
|
57
|
+
ThreadListItemTitle.displayName = "ThreadListItemTitle";
|
58
|
+
|
59
|
+
const ThreadListItemArchive = forwardRef<
|
60
|
+
HTMLButtonElement,
|
61
|
+
Partial<TooltipIconButton.Props>
|
62
|
+
>(({ className, ...props }, ref) => {
|
63
|
+
const config = useThreadConfig();
|
64
|
+
const tooltip =
|
65
|
+
config.strings?.threadList?.item?.archive?.tooltip ?? "Archive thread";
|
66
|
+
|
67
|
+
return (
|
68
|
+
<ThreadListItemPrimitive.Archive asChild>
|
69
|
+
<TooltipIconButton
|
70
|
+
ref={ref}
|
71
|
+
className={classNames("aui-thread-list-item-archive", className)}
|
72
|
+
variant="ghost"
|
73
|
+
tooltip={tooltip}
|
74
|
+
{...props}
|
75
|
+
>
|
76
|
+
<ArchiveIcon />
|
77
|
+
</TooltipIconButton>
|
78
|
+
</ThreadListItemPrimitive.Archive>
|
79
|
+
);
|
80
|
+
});
|
81
|
+
|
82
|
+
ThreadListItemArchive.displayName = "ThreadListItemArchive";
|
83
|
+
|
84
|
+
const exports = {
|
85
|
+
Root: ThreadListItemRoot,
|
86
|
+
Title: ThreadListItemTitle,
|
87
|
+
Archive: ThreadListItemArchive,
|
88
|
+
};
|
89
|
+
|
90
|
+
export default Object.assign(ThreadListItem, exports) as typeof ThreadListItem &
|
91
|
+
typeof exports;
|
@@ -0,0 +1,78 @@
|
|
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 config = useThreadConfig();
|
31
|
+
const label = config.strings?.threadList?.new?.label ?? "New Thread";
|
32
|
+
|
33
|
+
return (
|
34
|
+
<ThreadListPrimitive.New asChild>
|
35
|
+
<Button
|
36
|
+
ref={ref}
|
37
|
+
className="aui-thread-list-new"
|
38
|
+
variant="ghost"
|
39
|
+
{...props}
|
40
|
+
>
|
41
|
+
<PlusIcon />
|
42
|
+
{label}
|
43
|
+
</Button>
|
44
|
+
</ThreadListPrimitive.New>
|
45
|
+
);
|
46
|
+
});
|
47
|
+
ThreadListNew.displayName = "ThreadListNew";
|
48
|
+
|
49
|
+
namespace ThreadListItems {
|
50
|
+
export type Props = {
|
51
|
+
/**
|
52
|
+
* Optional custom components to override default thread list items
|
53
|
+
*/
|
54
|
+
components?: Partial<ThreadListPrimitive.Items.Props["components"]>;
|
55
|
+
};
|
56
|
+
}
|
57
|
+
|
58
|
+
const ThreadListItems: FC<ThreadListItems.Props> = ({ components }) => {
|
59
|
+
return (
|
60
|
+
<ThreadListPrimitive.Items
|
61
|
+
components={{
|
62
|
+
...components,
|
63
|
+
ThreadListItem: components?.ThreadListItem ?? ThreadListItem,
|
64
|
+
}}
|
65
|
+
/>
|
66
|
+
);
|
67
|
+
};
|
68
|
+
|
69
|
+
ThreadListItems.displayName = "ThreadListItems";
|
70
|
+
|
71
|
+
const exports = {
|
72
|
+
Root: ThreadListRoot,
|
73
|
+
New: ThreadListNew,
|
74
|
+
Items: ThreadListItems,
|
75
|
+
};
|
76
|
+
|
77
|
+
export default Object.assign(ThreadList, exports) as typeof ThreadList &
|
78
|
+
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
|
-
);
|