@assistant-ui/react-native 0.1.28 → 0.1.30
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/index.d.ts +2 -2
- package/dist/index.js +2 -2
- package/dist/primitives/actionBar/ActionBarCopy.d.ts +1 -8
- package/dist/primitives/actionBar/ActionBarCopy.d.ts.map +1 -1
- package/dist/primitives/actionBar/ActionBarEdit.d.ts +1 -6
- package/dist/primitives/actionBar/ActionBarEdit.d.ts.map +1 -1
- package/dist/primitives/actionBar/ActionBarFeedbackNegative.d.ts +1 -5
- package/dist/primitives/actionBar/ActionBarFeedbackNegative.d.ts.map +1 -1
- package/dist/primitives/actionBar/ActionBarFeedbackPositive.d.ts +1 -5
- package/dist/primitives/actionBar/ActionBarFeedbackPositive.d.ts.map +1 -1
- package/dist/primitives/actionBar/ActionBarReload.d.ts +1 -6
- package/dist/primitives/actionBar/ActionBarReload.d.ts.map +1 -1
- package/dist/primitives/actionBar.d.ts +0 -2
- package/dist/primitives/attachment/AttachmentName.d.ts +0 -1
- package/dist/primitives/attachment/AttachmentName.d.ts.map +1 -1
- package/dist/primitives/attachment/AttachmentRemove.d.ts +1 -5
- package/dist/primitives/attachment/AttachmentRemove.d.ts.map +1 -1
- package/dist/primitives/attachment/AttachmentRoot.d.ts +1 -5
- package/dist/primitives/attachment/AttachmentRoot.d.ts.map +1 -1
- package/dist/primitives/attachment/AttachmentThumb.d.ts +0 -1
- package/dist/primitives/attachment/AttachmentThumb.d.ts.map +1 -1
- package/dist/primitives/attachment.d.ts +0 -2
- package/dist/primitives/branchPicker/BranchPickerCount.d.ts +0 -1
- package/dist/primitives/branchPicker/BranchPickerCount.d.ts.map +1 -1
- package/dist/primitives/branchPicker/BranchPickerNext.d.ts +1 -6
- package/dist/primitives/branchPicker/BranchPickerNext.d.ts.map +1 -1
- package/dist/primitives/branchPicker/BranchPickerNumber.d.ts +0 -1
- package/dist/primitives/branchPicker/BranchPickerNumber.d.ts.map +1 -1
- package/dist/primitives/branchPicker/BranchPickerPrevious.d.ts +1 -6
- package/dist/primitives/branchPicker/BranchPickerPrevious.d.ts.map +1 -1
- package/dist/primitives/branchPicker.d.ts +0 -2
- package/dist/primitives/chainOfThought/ChainOfThoughtAccordionTrigger.d.ts +1 -5
- package/dist/primitives/chainOfThought/ChainOfThoughtAccordionTrigger.d.ts.map +1 -1
- package/dist/primitives/chainOfThought/ChainOfThoughtRoot.d.ts +1 -5
- package/dist/primitives/chainOfThought/ChainOfThoughtRoot.d.ts.map +1 -1
- package/dist/primitives/chainOfThought.d.ts +0 -2
- package/dist/primitives/composer/ComposerAddAttachment.d.ts +1 -6
- package/dist/primitives/composer/ComposerAddAttachment.d.ts.map +1 -1
- package/dist/primitives/composer/ComposerAttachments.d.ts +3 -16
- package/dist/primitives/composer/ComposerAttachments.d.ts.map +1 -1
- package/dist/primitives/composer/ComposerAttachments.js.map +1 -1
- package/dist/primitives/composer/ComposerCancel.d.ts +1 -6
- package/dist/primitives/composer/ComposerCancel.d.ts.map +1 -1
- package/dist/primitives/composer/ComposerInput.d.ts +1 -8
- package/dist/primitives/composer/ComposerInput.d.ts.map +1 -1
- package/dist/primitives/composer/ComposerInput.js +15 -2
- package/dist/primitives/composer/ComposerInput.js.map +1 -1
- package/dist/primitives/composer/ComposerRoot.d.ts +1 -5
- package/dist/primitives/composer/ComposerRoot.d.ts.map +1 -1
- package/dist/primitives/composer/ComposerSend.d.ts +1 -6
- package/dist/primitives/composer/ComposerSend.d.ts.map +1 -1
- package/dist/primitives/composer.d.ts +3 -5
- package/dist/primitives/composer.js.map +1 -1
- package/dist/primitives/error/ErrorMessage.d.ts +1 -5
- package/dist/primitives/error/ErrorMessage.d.ts.map +1 -1
- package/dist/primitives/error/ErrorRoot.d.ts +1 -5
- package/dist/primitives/error/ErrorRoot.d.ts.map +1 -1
- package/dist/primitives/error/index.d.ts +0 -2
- package/dist/primitives/message/MessageAttachments.d.ts +2 -9
- package/dist/primitives/message/MessageAttachments.d.ts.map +1 -1
- package/dist/primitives/message/MessageAttachments.js.map +1 -1
- package/dist/primitives/message/MessageContent.d.ts +1 -10
- package/dist/primitives/message/MessageContent.d.ts.map +1 -1
- package/dist/primitives/message/MessageIf.d.ts +1 -8
- package/dist/primitives/message/MessageIf.d.ts.map +1 -1
- package/dist/primitives/message/MessageParts.d.ts +0 -1
- package/dist/primitives/message/MessageParts.d.ts.map +1 -1
- package/dist/primitives/message/MessageRoot.d.ts +1 -5
- package/dist/primitives/message/MessageRoot.d.ts.map +1 -1
- package/dist/primitives/message.d.ts +3 -5
- package/dist/primitives/message.js.map +1 -1
- package/dist/primitives/suggestion/SuggestionDescription.d.ts +1 -5
- package/dist/primitives/suggestion/SuggestionDescription.d.ts.map +1 -1
- package/dist/primitives/suggestion/SuggestionTitle.d.ts +1 -5
- package/dist/primitives/suggestion/SuggestionTitle.d.ts.map +1 -1
- package/dist/primitives/suggestion/SuggestionTrigger.d.ts +1 -8
- package/dist/primitives/suggestion/SuggestionTrigger.d.ts.map +1 -1
- package/dist/primitives/suggestion.d.ts +0 -2
- package/dist/primitives/thread/ThreadEmpty.d.ts +1 -4
- package/dist/primitives/thread/ThreadEmpty.d.ts.map +1 -1
- package/dist/primitives/thread/ThreadIf.d.ts +1 -6
- package/dist/primitives/thread/ThreadIf.d.ts.map +1 -1
- package/dist/primitives/thread/ThreadMessages.d.ts +4 -11
- package/dist/primitives/thread/ThreadMessages.d.ts.map +1 -1
- package/dist/primitives/thread/ThreadMessages.js +11 -9
- package/dist/primitives/thread/ThreadMessages.js.map +1 -1
- package/dist/primitives/thread/ThreadRoot.d.ts +1 -5
- package/dist/primitives/thread/ThreadRoot.d.ts.map +1 -1
- package/dist/primitives/thread/ThreadSuggestion.d.ts +3 -10
- package/dist/primitives/thread/ThreadSuggestion.d.ts.map +1 -1
- package/dist/primitives/thread.d.ts +0 -2
- package/dist/primitives/threadList/ThreadListItems.d.ts +1 -5
- package/dist/primitives/threadList/ThreadListItems.d.ts.map +1 -1
- package/dist/primitives/threadList/ThreadListNew.d.ts +1 -5
- package/dist/primitives/threadList/ThreadListNew.d.ts.map +1 -1
- package/dist/primitives/threadList/ThreadListRoot.d.ts +1 -5
- package/dist/primitives/threadList/ThreadListRoot.d.ts.map +1 -1
- package/dist/primitives/threadList.d.ts +0 -2
- package/dist/primitives/threadListItem/ThreadListItemArchive.d.ts +1 -5
- package/dist/primitives/threadListItem/ThreadListItemArchive.d.ts.map +1 -1
- package/dist/primitives/threadListItem/ThreadListItemDelete.d.ts +1 -5
- package/dist/primitives/threadListItem/ThreadListItemDelete.d.ts.map +1 -1
- package/dist/primitives/threadListItem/ThreadListItemRoot.d.ts +1 -5
- package/dist/primitives/threadListItem/ThreadListItemRoot.d.ts.map +1 -1
- package/dist/primitives/threadListItem/ThreadListItemTrigger.d.ts +1 -5
- package/dist/primitives/threadListItem/ThreadListItemTrigger.d.ts.map +1 -1
- package/dist/primitives/threadListItem/ThreadListItemUnarchive.d.ts +1 -5
- package/dist/primitives/threadListItem/ThreadListItemUnarchive.d.ts.map +1 -1
- package/dist/primitives/threadListItem.d.ts +0 -2
- package/package.json +7 -7
- package/src/index.ts +5 -0
- package/src/primitives/composer/ComposerAttachments.tsx +3 -15
- package/src/primitives/composer/ComposerInput.test.tsx +106 -8
- package/src/primitives/composer/ComposerInput.tsx +21 -2
- package/src/primitives/composer.ts +2 -0
- package/src/primitives/message/MessageAttachments.tsx +3 -8
- package/src/primitives/message.ts +2 -0
- package/src/primitives/thread/ThreadMessages.test.tsx +21 -1
- package/src/primitives/thread/ThreadMessages.tsx +7 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThreadMessages.js","names":["ComponentType","FC","ReactNode","memo","useCallback","FlatList","FlatListProps","MessageState","ThreadMessage","RenderChildrenWithAccessor","useAuiState","MessageByIndexProvider","MessageComponents","Message","EditComposer","UserEditComposer","AssistantEditComposer","SystemEditComposer","UserMessage","AssistantMessage","SystemMessage","MessagesContent","components","children","value","message","ThreadMessagesProps","Omit","DEFAULT_SYSTEM_MESSAGE","getComponent","role","isEditing","_exhaustiveCheck","Error","ThreadMessageComponent","t0","$","_c","_temp","_temp2","t1","Component","t2","ThreadMessageByIndex","index","prev","next","displayName","ThreadMessageByChildren","aui","thread","getState","getItem","ThreadMessages","flatListProps","messages","_temp3","renderItem","keyExtractor","_temp4","t3","s","s_0","composer","item","id"],"sources":["../../../src/primitives/thread/ThreadMessages.tsx"],"sourcesContent":["import {\n type ComponentType,\n type FC,\n type ReactNode,\n memo,\n useCallback,\n} from \"react\";\nimport { FlatList, type FlatListProps } from \"react-native\";\nimport type { MessageState, ThreadMessage } from \"@assistant-ui/core\";\nimport { RenderChildrenWithAccessor, useAuiState } from \"@assistant-ui/store\";\nimport { MessageByIndexProvider } from \"@assistant-ui/core/react\";\n\ntype MessageComponents =\n | {\n Message: ComponentType;\n EditComposer?: ComponentType | undefined;\n UserEditComposer?: ComponentType | undefined;\n AssistantEditComposer?: ComponentType | undefined;\n SystemEditComposer?: ComponentType | undefined;\n UserMessage?: ComponentType | undefined;\n AssistantMessage?: ComponentType | undefined;\n SystemMessage?: ComponentType | undefined;\n }\n | {\n Message?: ComponentType | undefined;\n EditComposer?: ComponentType | undefined;\n UserEditComposer?: ComponentType | undefined;\n AssistantEditComposer?: ComponentType | undefined;\n SystemEditComposer?: ComponentType | undefined;\n UserMessage: ComponentType;\n AssistantMessage: ComponentType;\n SystemMessage?: ComponentType | undefined;\n };\n\ntype MessagesContent =\n | {\n /** @deprecated Use the children render function instead. */\n components: MessageComponents;\n children?: never;\n }\n | {\n children: (value: { message: MessageState }) => ReactNode;\n components?: never;\n };\n\nexport type ThreadMessagesProps = Omit<\n FlatListProps<ThreadMessage>,\n \"data\" | \"renderItem\" | \"children\"\n> &\n MessagesContent;\n\nconst DEFAULT_SYSTEM_MESSAGE = () => null;\n\nconst getComponent = (\n components: MessageComponents,\n role: ThreadMessage[\"role\"],\n isEditing: boolean,\n) => {\n switch (role) {\n case \"user\":\n if (isEditing) {\n return (\n components.UserEditComposer ??\n components.EditComposer ??\n components.UserMessage ??\n (components.Message as ComponentType)\n );\n } else {\n return components.UserMessage ?? (components.Message as ComponentType);\n }\n case \"assistant\":\n if (isEditing) {\n return (\n components.AssistantEditComposer ??\n components.EditComposer ??\n components.AssistantMessage ??\n (components.Message as ComponentType)\n );\n } else {\n return (\n components.AssistantMessage ?? (components.Message as ComponentType)\n );\n }\n case \"system\":\n if (isEditing) {\n return (\n components.SystemEditComposer ??\n components.EditComposer ??\n components.SystemMessage ??\n (components.Message as ComponentType)\n );\n } else {\n return (\n components.SystemMessage ??\n (components.Message as ComponentType) ??\n DEFAULT_SYSTEM_MESSAGE\n );\n }\n default: {\n const _exhaustiveCheck: never = role;\n throw new Error(`Unknown message role: ${_exhaustiveCheck}`);\n }\n }\n};\n\nconst ThreadMessageComponent: FC<{ components: MessageComponents }> = ({\n components,\n}) => {\n const role = useAuiState((s) => s.message.role);\n const isEditing = useAuiState((s) => s.message.composer.isEditing);\n const Component = getComponent(components, role, isEditing);\n\n return <Component />;\n};\n\nconst ThreadMessageByIndex = memo(\n ({ index, components }: { index: number; components: MessageComponents }) => {\n return (\n <MessageByIndexProvider index={index}>\n <ThreadMessageComponent components={components} />\n </MessageByIndexProvider>\n );\n },\n (prev, next) =>\n prev.index === next.index && prev.components === next.components,\n);\nThreadMessageByIndex.displayName = \"ThreadPrimitive.MessageByIndex\";\n\nconst ThreadMessageByChildren = memo(\n ({\n index,\n children,\n }: {\n index: number;\n children: (value: { message: MessageState }) => ReactNode;\n }) => {\n return (\n <MessageByIndexProvider index={index}>\n <RenderChildrenWithAccessor\n getItemState={(aui) => aui.thread().message({ index }).getState()}\n >\n {(getItem) =>\n children({\n get message() {\n return getItem();\n },\n })\n }\n </RenderChildrenWithAccessor>\n </MessageByIndexProvider>\n );\n },\n (prev, next) => prev.index === next.index && prev.children === next.children,\n);\nThreadMessageByChildren.displayName = \"ThreadPrimitive.MessageByChildren\";\n\nexport const ThreadMessages =
|
|
1
|
+
{"version":3,"file":"ThreadMessages.js","names":["ComponentType","FC","ReactNode","forwardRef","memo","useCallback","FlatList","FlatListProps","MessageState","ThreadMessage","RenderChildrenWithAccessor","useAuiState","MessageByIndexProvider","MessageComponents","Message","EditComposer","UserEditComposer","AssistantEditComposer","SystemEditComposer","UserMessage","AssistantMessage","SystemMessage","MessagesContent","components","children","value","message","ThreadMessagesProps","Omit","DEFAULT_SYSTEM_MESSAGE","getComponent","role","isEditing","_exhaustiveCheck","Error","ThreadMessageComponent","t0","$","_c","_temp","_temp2","t1","Component","t2","ThreadMessageByIndex","index","prev","next","displayName","ThreadMessageByChildren","aui","thread","getState","getItem","ThreadMessages","ref","flatListProps","messages","_temp3","renderItem","keyExtractor","_temp4","t3","s","s_0","composer","item","id"],"sources":["../../../src/primitives/thread/ThreadMessages.tsx"],"sourcesContent":["import {\n type ComponentType,\n type FC,\n type ReactNode,\n forwardRef,\n memo,\n useCallback,\n} from \"react\";\nimport { FlatList, type FlatListProps } from \"react-native\";\nimport type { MessageState, ThreadMessage } from \"@assistant-ui/core\";\nimport { RenderChildrenWithAccessor, useAuiState } from \"@assistant-ui/store\";\nimport { MessageByIndexProvider } from \"@assistant-ui/core/react\";\n\ntype MessageComponents =\n | {\n Message: ComponentType;\n EditComposer?: ComponentType | undefined;\n UserEditComposer?: ComponentType | undefined;\n AssistantEditComposer?: ComponentType | undefined;\n SystemEditComposer?: ComponentType | undefined;\n UserMessage?: ComponentType | undefined;\n AssistantMessage?: ComponentType | undefined;\n SystemMessage?: ComponentType | undefined;\n }\n | {\n Message?: ComponentType | undefined;\n EditComposer?: ComponentType | undefined;\n UserEditComposer?: ComponentType | undefined;\n AssistantEditComposer?: ComponentType | undefined;\n SystemEditComposer?: ComponentType | undefined;\n UserMessage: ComponentType;\n AssistantMessage: ComponentType;\n SystemMessage?: ComponentType | undefined;\n };\n\ntype MessagesContent =\n | {\n /** @deprecated Use the children render function instead. */\n components: MessageComponents;\n children?: never;\n }\n | {\n children: (value: { message: MessageState }) => ReactNode;\n components?: never;\n };\n\nexport type ThreadMessagesProps = Omit<\n FlatListProps<ThreadMessage>,\n \"data\" | \"renderItem\" | \"children\"\n> &\n MessagesContent;\n\nconst DEFAULT_SYSTEM_MESSAGE = () => null;\n\nconst getComponent = (\n components: MessageComponents,\n role: ThreadMessage[\"role\"],\n isEditing: boolean,\n) => {\n switch (role) {\n case \"user\":\n if (isEditing) {\n return (\n components.UserEditComposer ??\n components.EditComposer ??\n components.UserMessage ??\n (components.Message as ComponentType)\n );\n } else {\n return components.UserMessage ?? (components.Message as ComponentType);\n }\n case \"assistant\":\n if (isEditing) {\n return (\n components.AssistantEditComposer ??\n components.EditComposer ??\n components.AssistantMessage ??\n (components.Message as ComponentType)\n );\n } else {\n return (\n components.AssistantMessage ?? (components.Message as ComponentType)\n );\n }\n case \"system\":\n if (isEditing) {\n return (\n components.SystemEditComposer ??\n components.EditComposer ??\n components.SystemMessage ??\n (components.Message as ComponentType)\n );\n } else {\n return (\n components.SystemMessage ??\n (components.Message as ComponentType) ??\n DEFAULT_SYSTEM_MESSAGE\n );\n }\n default: {\n const _exhaustiveCheck: never = role;\n throw new Error(`Unknown message role: ${_exhaustiveCheck}`);\n }\n }\n};\n\nconst ThreadMessageComponent: FC<{ components: MessageComponents }> = ({\n components,\n}) => {\n const role = useAuiState((s) => s.message.role);\n const isEditing = useAuiState((s) => s.message.composer.isEditing);\n const Component = getComponent(components, role, isEditing);\n\n return <Component />;\n};\n\nconst ThreadMessageByIndex = memo(\n ({ index, components }: { index: number; components: MessageComponents }) => {\n return (\n <MessageByIndexProvider index={index}>\n <ThreadMessageComponent components={components} />\n </MessageByIndexProvider>\n );\n },\n (prev, next) =>\n prev.index === next.index && prev.components === next.components,\n);\nThreadMessageByIndex.displayName = \"ThreadPrimitive.MessageByIndex\";\n\nconst ThreadMessageByChildren = memo(\n ({\n index,\n children,\n }: {\n index: number;\n children: (value: { message: MessageState }) => ReactNode;\n }) => {\n return (\n <MessageByIndexProvider index={index}>\n <RenderChildrenWithAccessor\n getItemState={(aui) => aui.thread().message({ index }).getState()}\n >\n {(getItem) =>\n children({\n get message() {\n return getItem();\n },\n })\n }\n </RenderChildrenWithAccessor>\n </MessageByIndexProvider>\n );\n },\n (prev, next) => prev.index === next.index && prev.children === next.children,\n);\nThreadMessageByChildren.displayName = \"ThreadPrimitive.MessageByChildren\";\n\nexport const ThreadMessages = forwardRef<\n FlatList<ThreadMessage>,\n ThreadMessagesProps\n>(({ components, children, ...flatListProps }, ref) => {\n const messages = useAuiState((s) => s.thread.messages);\n\n const renderItem = useCallback(\n ({ index }: { item: ThreadMessage; index: number }) => {\n if (children) {\n return (\n <ThreadMessageByChildren index={index}>\n {children}\n </ThreadMessageByChildren>\n );\n }\n return <ThreadMessageByIndex index={index} components={components!} />;\n },\n [components, children],\n );\n\n const keyExtractor = useCallback((item: ThreadMessage) => item.id, []);\n\n return (\n <FlatList\n ref={ref}\n data={messages as unknown as ThreadMessage[]}\n renderItem={renderItem}\n keyExtractor={keyExtractor}\n {...flatListProps}\n />\n );\n});\nThreadMessages.displayName = \"ThreadPrimitive.Messages\";\n"],"mappings":"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"}
|
|
@@ -1,14 +1,10 @@
|
|
|
1
1
|
import { ViewProps } from "react-native";
|
|
2
2
|
import { ReactNode } from "react";
|
|
3
|
-
|
|
4
3
|
//#region src/primitives/thread/ThreadRoot.d.ts
|
|
5
4
|
type ThreadRootProps = ViewProps & {
|
|
6
5
|
children: ReactNode;
|
|
7
6
|
};
|
|
8
|
-
declare const ThreadRoot: ({
|
|
9
|
-
children,
|
|
10
|
-
...viewProps
|
|
11
|
-
}: ThreadRootProps) => import("react").JSX.Element;
|
|
7
|
+
declare const ThreadRoot: ({ children, ...viewProps }: ThreadRootProps) => import("react").JSX.Element;
|
|
12
8
|
//#endregion
|
|
13
9
|
export { ThreadRoot, ThreadRootProps };
|
|
14
10
|
//# sourceMappingURL=ThreadRoot.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThreadRoot.d.ts","names":[],"sources":["../../../src/primitives/thread/ThreadRoot.tsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ThreadRoot.d.ts","names":[],"sources":["../../../src/primitives/thread/ThreadRoot.tsx"],"mappings":";;;KAGY,kBAAkB;EAC5B,UAAU;;cAGC,eAAc,aAAA,aAA4B,oCAAe,IAAA"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { PressableProps } from "react-native";
|
|
2
2
|
import { ReactNode } from "react";
|
|
3
|
-
|
|
4
3
|
//#region src/primitives/thread/ThreadSuggestion.d.ts
|
|
5
4
|
type ThreadSuggestionProps = Omit<PressableProps, "onPress"> & {
|
|
6
|
-
children: ReactNode;
|
|
5
|
+
children: ReactNode;
|
|
6
|
+
/** The suggestion prompt. */
|
|
7
7
|
prompt: string;
|
|
8
8
|
/**
|
|
9
9
|
* When true, automatically sends the message.
|
|
@@ -17,14 +17,7 @@ type ThreadSuggestionProps = Omit<PressableProps, "onPress"> & {
|
|
|
17
17
|
*/
|
|
18
18
|
clearComposer?: boolean | undefined;
|
|
19
19
|
};
|
|
20
|
-
declare const ThreadSuggestion: ({
|
|
21
|
-
children,
|
|
22
|
-
prompt,
|
|
23
|
-
send,
|
|
24
|
-
clearComposer,
|
|
25
|
-
disabled: disabledProp,
|
|
26
|
-
...pressableProps
|
|
27
|
-
}: ThreadSuggestionProps) => import("react").JSX.Element;
|
|
20
|
+
declare const ThreadSuggestion: ({ children, prompt, send, clearComposer, disabled: disabledProp, ...pressableProps }: ThreadSuggestionProps) => import("react").JSX.Element;
|
|
28
21
|
//#endregion
|
|
29
22
|
export { ThreadSuggestion, ThreadSuggestionProps };
|
|
30
23
|
//# sourceMappingURL=ThreadSuggestion.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThreadSuggestion.d.ts","names":[],"sources":["../../../src/primitives/thread/ThreadSuggestion.tsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ThreadSuggestion.d.ts","names":[],"sources":["../../../src/primitives/thread/ThreadSuggestion.tsx"],"mappings":";;;KAIY,wBAAwB,KAAK;EACvC,UAAU;;EAEV;;;;;EAKA;;;;;;EAMA;;cAGW,qBAAoB,UAAA,QAAA,MAAA,eAAA,UAAA,iBAAA,kBAO9B,0CAAqB,IAAA"}
|
|
@@ -4,8 +4,6 @@ import { ThreadEmpty, ThreadEmptyProps } from "./thread/ThreadEmpty.js";
|
|
|
4
4
|
import { ThreadIf, ThreadIfProps } from "./thread/ThreadIf.js";
|
|
5
5
|
import { ThreadSuggestion, ThreadSuggestionProps } from "./thread/ThreadSuggestion.js";
|
|
6
6
|
import { ThreadPrimitiveMessageByIndex as MessageByIndex, ThreadPrimitiveSuggestionByIndex as SuggestionByIndex, ThreadPrimitiveSuggestions as Suggestions, ThreadPrimitiveUnstable_MessageById as Unstable_MessageById } from "@assistant-ui/core/react";
|
|
7
|
-
|
|
8
|
-
//#region src/primitives/thread.d.ts
|
|
9
7
|
declare namespace thread_d_exports {
|
|
10
8
|
export { ThreadEmpty as Empty, ThreadEmptyProps as EmptyProps, ThreadIf as If, ThreadIfProps as IfProps, MessageByIndex, ThreadMessages as Messages, ThreadMessagesProps as MessagesProps, ThreadRoot as Root, ThreadRootProps as RootProps, ThreadSuggestion as Suggestion, SuggestionByIndex, ThreadSuggestionProps as SuggestionProps, Suggestions, Unstable_MessageById };
|
|
11
9
|
}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { FlatListProps } from "react-native";
|
|
2
2
|
import { ReactElement } from "react";
|
|
3
|
-
|
|
4
3
|
//#region src/primitives/threadList/ThreadListItems.d.ts
|
|
5
4
|
type ThreadListItemsProps = Omit<FlatListProps<string>, "data" | "renderItem"> & {
|
|
6
5
|
renderItem: (props: {
|
|
@@ -8,10 +7,7 @@ type ThreadListItemsProps = Omit<FlatListProps<string>, "data" | "renderItem"> &
|
|
|
8
7
|
index: number;
|
|
9
8
|
}) => ReactElement;
|
|
10
9
|
};
|
|
11
|
-
declare const ThreadListItems: ({
|
|
12
|
-
renderItem,
|
|
13
|
-
...flatListProps
|
|
14
|
-
}: ThreadListItemsProps) => import("react").JSX.Element;
|
|
10
|
+
declare const ThreadListItems: ({ renderItem, ...flatListProps }: ThreadListItemsProps) => import("react").JSX.Element;
|
|
15
11
|
//#endregion
|
|
16
12
|
export { ThreadListItems, ThreadListItemsProps };
|
|
17
13
|
//# sourceMappingURL=ThreadListItems.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThreadListItems.d.ts","names":[],"sources":["../../../src/primitives/threadList/ThreadListItems.tsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ThreadListItems.d.ts","names":[],"sources":["../../../src/primitives/threadList/ThreadListItems.tsx"],"mappings":";;;KAIY,uBAAuB,KACjC;EAGA,aAAa;IAAS;IAAkB;QAAoB;;cAGjD,oBAAmB,eAAA,iBAG7B,yCAAoB,IAAA"}
|
|
@@ -1,14 +1,10 @@
|
|
|
1
1
|
import { PressableProps } from "react-native";
|
|
2
2
|
import { ReactNode } from "react";
|
|
3
|
-
|
|
4
3
|
//#region src/primitives/threadList/ThreadListNew.d.ts
|
|
5
4
|
type ThreadListNewProps = Omit<PressableProps, "onPress"> & {
|
|
6
5
|
children: ReactNode;
|
|
7
6
|
};
|
|
8
|
-
declare const ThreadListNew: ({
|
|
9
|
-
children,
|
|
10
|
-
...pressableProps
|
|
11
|
-
}: ThreadListNewProps) => import("react").JSX.Element;
|
|
7
|
+
declare const ThreadListNew: ({ children, ...pressableProps }: ThreadListNewProps) => import("react").JSX.Element;
|
|
12
8
|
//#endregion
|
|
13
9
|
export { ThreadListNew, ThreadListNewProps };
|
|
14
10
|
//# sourceMappingURL=ThreadListNew.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThreadListNew.d.ts","names":[],"sources":["../../../src/primitives/threadList/ThreadListNew.tsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ThreadListNew.d.ts","names":[],"sources":["../../../src/primitives/threadList/ThreadListNew.tsx"],"mappings":";;;KAIY,qBAAqB,KAAK;EACpC,UAAU;;cAGC,kBAAiB,aAAA,kBAG3B,uCAAkB,IAAA"}
|
|
@@ -1,14 +1,10 @@
|
|
|
1
1
|
import { ViewProps } from "react-native";
|
|
2
2
|
import { ReactNode } from "react";
|
|
3
|
-
|
|
4
3
|
//#region src/primitives/threadList/ThreadListRoot.d.ts
|
|
5
4
|
type ThreadListRootProps = ViewProps & {
|
|
6
5
|
children: ReactNode;
|
|
7
6
|
};
|
|
8
|
-
declare const ThreadListRoot: ({
|
|
9
|
-
children,
|
|
10
|
-
...viewProps
|
|
11
|
-
}: ThreadListRootProps) => import("react").JSX.Element;
|
|
7
|
+
declare const ThreadListRoot: ({ children, ...viewProps }: ThreadListRootProps) => import("react").JSX.Element;
|
|
12
8
|
//#endregion
|
|
13
9
|
export { ThreadListRoot, ThreadListRootProps };
|
|
14
10
|
//# sourceMappingURL=ThreadListRoot.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThreadListRoot.d.ts","names":[],"sources":["../../../src/primitives/threadList/ThreadListRoot.tsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ThreadListRoot.d.ts","names":[],"sources":["../../../src/primitives/threadList/ThreadListRoot.tsx"],"mappings":";;;KAGY,sBAAsB;EAChC,UAAU;;cAGC,mBAAkB,aAAA,aAG5B,wCAAmB,IAAA"}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import { ThreadListRoot, ThreadListRootProps } from "./threadList/ThreadListRoot.js";
|
|
2
2
|
import { ThreadListItems, ThreadListItemsProps } from "./threadList/ThreadListItems.js";
|
|
3
3
|
import { ThreadListNew, ThreadListNewProps } from "./threadList/ThreadListNew.js";
|
|
4
|
-
|
|
5
|
-
//#region src/primitives/threadList.d.ts
|
|
6
4
|
declare namespace threadList_d_exports {
|
|
7
5
|
export { ThreadListItems as Items, ThreadListItemsProps as ItemsProps, ThreadListNew as New, ThreadListNewProps as NewProps, ThreadListRoot as Root, ThreadListRootProps as RootProps };
|
|
8
6
|
}
|
|
@@ -1,14 +1,10 @@
|
|
|
1
1
|
import { PressableProps } from "react-native";
|
|
2
2
|
import { ReactNode } from "react";
|
|
3
|
-
|
|
4
3
|
//#region src/primitives/threadListItem/ThreadListItemArchive.d.ts
|
|
5
4
|
type ThreadListItemArchiveProps = Omit<PressableProps, "onPress"> & {
|
|
6
5
|
children: ReactNode;
|
|
7
6
|
};
|
|
8
|
-
declare const ThreadListItemArchive: ({
|
|
9
|
-
children,
|
|
10
|
-
...pressableProps
|
|
11
|
-
}: ThreadListItemArchiveProps) => import("react").JSX.Element;
|
|
7
|
+
declare const ThreadListItemArchive: ({ children, ...pressableProps }: ThreadListItemArchiveProps) => import("react").JSX.Element;
|
|
12
8
|
//#endregion
|
|
13
9
|
export { ThreadListItemArchive, ThreadListItemArchiveProps };
|
|
14
10
|
//# sourceMappingURL=ThreadListItemArchive.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThreadListItemArchive.d.ts","names":[],"sources":["../../../src/primitives/threadListItem/ThreadListItemArchive.tsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ThreadListItemArchive.d.ts","names":[],"sources":["../../../src/primitives/threadListItem/ThreadListItemArchive.tsx"],"mappings":";;;KAIY,6BAA6B,KAAK;EAC5C,UAAU;;cAGC,0BAAyB,aAAA,kBAGnC,+CAA0B,IAAA"}
|
|
@@ -1,14 +1,10 @@
|
|
|
1
1
|
import { PressableProps } from "react-native";
|
|
2
2
|
import { ReactNode } from "react";
|
|
3
|
-
|
|
4
3
|
//#region src/primitives/threadListItem/ThreadListItemDelete.d.ts
|
|
5
4
|
type ThreadListItemDeleteProps = Omit<PressableProps, "onPress"> & {
|
|
6
5
|
children: ReactNode;
|
|
7
6
|
};
|
|
8
|
-
declare const ThreadListItemDelete: ({
|
|
9
|
-
children,
|
|
10
|
-
...pressableProps
|
|
11
|
-
}: ThreadListItemDeleteProps) => import("react").JSX.Element;
|
|
7
|
+
declare const ThreadListItemDelete: ({ children, ...pressableProps }: ThreadListItemDeleteProps) => import("react").JSX.Element;
|
|
12
8
|
//#endregion
|
|
13
9
|
export { ThreadListItemDelete, ThreadListItemDeleteProps };
|
|
14
10
|
//# sourceMappingURL=ThreadListItemDelete.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThreadListItemDelete.d.ts","names":[],"sources":["../../../src/primitives/threadListItem/ThreadListItemDelete.tsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ThreadListItemDelete.d.ts","names":[],"sources":["../../../src/primitives/threadListItem/ThreadListItemDelete.tsx"],"mappings":";;;KAIY,4BAA4B,KAAK;EAC3C,UAAU;;cAGC,yBAAwB,aAAA,kBAGlC,8CAAyB,IAAA"}
|
|
@@ -1,14 +1,10 @@
|
|
|
1
1
|
import { ViewProps } from "react-native";
|
|
2
2
|
import { ReactNode } from "react";
|
|
3
|
-
|
|
4
3
|
//#region src/primitives/threadListItem/ThreadListItemRoot.d.ts
|
|
5
4
|
type ThreadListItemRootProps = ViewProps & {
|
|
6
5
|
children: ReactNode;
|
|
7
6
|
};
|
|
8
|
-
declare const ThreadListItemRoot: ({
|
|
9
|
-
children,
|
|
10
|
-
...viewProps
|
|
11
|
-
}: ThreadListItemRootProps) => import("react").JSX.Element;
|
|
7
|
+
declare const ThreadListItemRoot: ({ children, ...viewProps }: ThreadListItemRootProps) => import("react").JSX.Element;
|
|
12
8
|
//#endregion
|
|
13
9
|
export { ThreadListItemRoot, ThreadListItemRootProps };
|
|
14
10
|
//# sourceMappingURL=ThreadListItemRoot.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThreadListItemRoot.d.ts","names":[],"sources":["../../../src/primitives/threadListItem/ThreadListItemRoot.tsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ThreadListItemRoot.d.ts","names":[],"sources":["../../../src/primitives/threadListItem/ThreadListItemRoot.tsx"],"mappings":";;;KAGY,0BAA0B;EACpC,UAAU;;cAGC,uBAAsB,aAAA,aAGhC,4CAAuB,IAAA"}
|
|
@@ -1,14 +1,10 @@
|
|
|
1
1
|
import { PressableProps } from "react-native";
|
|
2
2
|
import { ReactNode } from "react";
|
|
3
|
-
|
|
4
3
|
//#region src/primitives/threadListItem/ThreadListItemTrigger.d.ts
|
|
5
4
|
type ThreadListItemTriggerProps = Omit<PressableProps, "onPress"> & {
|
|
6
5
|
children: ReactNode;
|
|
7
6
|
};
|
|
8
|
-
declare const ThreadListItemTrigger: ({
|
|
9
|
-
children,
|
|
10
|
-
...pressableProps
|
|
11
|
-
}: ThreadListItemTriggerProps) => import("react").JSX.Element;
|
|
7
|
+
declare const ThreadListItemTrigger: ({ children, ...pressableProps }: ThreadListItemTriggerProps) => import("react").JSX.Element;
|
|
12
8
|
//#endregion
|
|
13
9
|
export { ThreadListItemTrigger, ThreadListItemTriggerProps };
|
|
14
10
|
//# sourceMappingURL=ThreadListItemTrigger.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThreadListItemTrigger.d.ts","names":[],"sources":["../../../src/primitives/threadListItem/ThreadListItemTrigger.tsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ThreadListItemTrigger.d.ts","names":[],"sources":["../../../src/primitives/threadListItem/ThreadListItemTrigger.tsx"],"mappings":";;;KAIY,6BAA6B,KAAK;EAC5C,UAAU;;cAGC,0BAAyB,aAAA,kBAGnC,+CAA0B,IAAA"}
|
|
@@ -1,14 +1,10 @@
|
|
|
1
1
|
import { PressableProps } from "react-native";
|
|
2
2
|
import { ReactNode } from "react";
|
|
3
|
-
|
|
4
3
|
//#region src/primitives/threadListItem/ThreadListItemUnarchive.d.ts
|
|
5
4
|
type ThreadListItemUnarchiveProps = Omit<PressableProps, "onPress"> & {
|
|
6
5
|
children: ReactNode;
|
|
7
6
|
};
|
|
8
|
-
declare const ThreadListItemUnarchive: ({
|
|
9
|
-
children,
|
|
10
|
-
...pressableProps
|
|
11
|
-
}: ThreadListItemUnarchiveProps) => import("react").JSX.Element;
|
|
7
|
+
declare const ThreadListItemUnarchive: ({ children, ...pressableProps }: ThreadListItemUnarchiveProps) => import("react").JSX.Element;
|
|
12
8
|
//#endregion
|
|
13
9
|
export { ThreadListItemUnarchive, ThreadListItemUnarchiveProps };
|
|
14
10
|
//# sourceMappingURL=ThreadListItemUnarchive.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThreadListItemUnarchive.d.ts","names":[],"sources":["../../../src/primitives/threadListItem/ThreadListItemUnarchive.tsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ThreadListItemUnarchive.d.ts","names":[],"sources":["../../../src/primitives/threadListItem/ThreadListItemUnarchive.tsx"],"mappings":";;;KAIY,+BAA+B,KAAK;EAC9C,UAAU;;cAGC,4BAA2B,aAAA,kBAGrC,iDAA4B,IAAA"}
|
|
@@ -4,8 +4,6 @@ import { ThreadListItemDelete, ThreadListItemDeleteProps } from "./threadListIte
|
|
|
4
4
|
import { ThreadListItemArchive, ThreadListItemArchiveProps } from "./threadListItem/ThreadListItemArchive.js";
|
|
5
5
|
import { ThreadListItemUnarchive, ThreadListItemUnarchiveProps } from "./threadListItem/ThreadListItemUnarchive.js";
|
|
6
6
|
import { ThreadListItemPrimitiveTitle as Title } from "@assistant-ui/core/react";
|
|
7
|
-
|
|
8
|
-
//#region src/primitives/threadListItem.d.ts
|
|
9
7
|
declare namespace threadListItem_d_exports {
|
|
10
8
|
export { ThreadListItemArchive as Archive, ThreadListItemArchiveProps as ArchiveProps, ThreadListItemDelete as Delete, ThreadListItemDeleteProps as DeleteProps, ThreadListItemRoot as Root, ThreadListItemRootProps as RootProps, Title, ThreadListItemTrigger as Trigger, ThreadListItemTriggerProps as TriggerProps, ThreadListItemUnarchive as Unarchive, ThreadListItemUnarchiveProps as UnarchiveProps };
|
|
11
9
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@assistant-ui/react-native",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.30",
|
|
4
4
|
"description": "React Native bindings for assistant-ui",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"assistant",
|
|
@@ -31,10 +31,10 @@
|
|
|
31
31
|
],
|
|
32
32
|
"sideEffects": false,
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@assistant-ui/core": "^0.2.
|
|
35
|
-
"@assistant-ui/store": "^0.2.
|
|
36
|
-
"@assistant-ui/tap": "^0.9.
|
|
37
|
-
"assistant-stream": "^0.3.
|
|
34
|
+
"@assistant-ui/core": "^0.2.21",
|
|
35
|
+
"@assistant-ui/store": "^0.2.20",
|
|
36
|
+
"@assistant-ui/tap": "^0.9.4",
|
|
37
|
+
"assistant-stream": "^0.3.26",
|
|
38
38
|
"zustand": "^5.0.14"
|
|
39
39
|
},
|
|
40
40
|
"peerDependencies": {
|
|
@@ -55,8 +55,8 @@
|
|
|
55
55
|
"react-dom": "^19.2.7",
|
|
56
56
|
"react-native": "^0.86.0",
|
|
57
57
|
"react-native-web": "^0.21.2",
|
|
58
|
-
"vitest": "^4.1.
|
|
59
|
-
"@assistant-ui/x-buildutils": "0.0.
|
|
58
|
+
"vitest": "^4.1.10",
|
|
59
|
+
"@assistant-ui/x-buildutils": "0.0.18"
|
|
60
60
|
},
|
|
61
61
|
"publishConfig": {
|
|
62
62
|
"access": "public",
|
package/src/index.ts
CHANGED
|
@@ -137,8 +137,11 @@ export { unstable_useThreadMessageIds } from "@assistant-ui/core/react";
|
|
|
137
137
|
// Re-export shared providers from core/react
|
|
138
138
|
export {
|
|
139
139
|
ThreadListItemByIndexProvider,
|
|
140
|
+
ThreadListItemRuntimeProvider,
|
|
140
141
|
ChainOfThoughtByIndicesProvider,
|
|
141
142
|
MessageByIndexProvider,
|
|
143
|
+
MessageAttachmentByIndexProvider,
|
|
144
|
+
ComposerAttachmentByIndexProvider,
|
|
142
145
|
PartByIndexProvider,
|
|
143
146
|
TextMessagePartProvider,
|
|
144
147
|
ChainOfThoughtPartByIndexProvider,
|
|
@@ -178,7 +181,9 @@ export {
|
|
|
178
181
|
providerTool,
|
|
179
182
|
type ProviderToolConfig,
|
|
180
183
|
defineMcpToolkit,
|
|
184
|
+
type McpToolkitEntry,
|
|
181
185
|
type McpToolkitDefinition,
|
|
186
|
+
type McpToolkitToolConfig,
|
|
182
187
|
Tools,
|
|
183
188
|
DataRenderers,
|
|
184
189
|
Interactables,
|
|
@@ -1,24 +1,12 @@
|
|
|
1
|
-
import type { ComponentType } from "react";
|
|
2
1
|
import {
|
|
3
2
|
ComposerPrimitiveAttachments,
|
|
4
3
|
ComposerPrimitiveAttachmentByIndex,
|
|
5
4
|
} from "@assistant-ui/core/react";
|
|
6
5
|
|
|
7
|
-
export type
|
|
8
|
-
Image?: ComponentType | undefined;
|
|
9
|
-
Document?: ComponentType | undefined;
|
|
10
|
-
File?: ComponentType | undefined;
|
|
11
|
-
Attachment?: ComponentType | undefined;
|
|
12
|
-
};
|
|
6
|
+
export type ComposerAttachmentsProps = ComposerPrimitiveAttachments.Props;
|
|
13
7
|
|
|
14
|
-
export type
|
|
15
|
-
|
|
16
|
-
};
|
|
17
|
-
|
|
18
|
-
export type ComposerAttachmentByIndexProps = {
|
|
19
|
-
index: number;
|
|
20
|
-
components?: AttachmentComponents | undefined;
|
|
21
|
-
};
|
|
8
|
+
export type ComposerAttachmentByIndexProps =
|
|
9
|
+
ComposerPrimitiveAttachmentByIndex.Props;
|
|
22
10
|
|
|
23
11
|
export const ComposerAttachmentByIndex = ComposerPrimitiveAttachmentByIndex;
|
|
24
12
|
|
|
@@ -49,21 +49,28 @@ vi.mock("react-native", async (importOriginal) => {
|
|
|
49
49
|
|
|
50
50
|
(globalThis as Record<string, unknown>).IS_REACT_ACT_ENVIRONMENT = true;
|
|
51
51
|
|
|
52
|
-
const setNativeValue = (
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
52
|
+
const setNativeValue = (
|
|
53
|
+
input: HTMLInputElement | HTMLTextAreaElement,
|
|
54
|
+
value: string,
|
|
55
|
+
) => {
|
|
56
|
+
const prototype =
|
|
57
|
+
input instanceof HTMLTextAreaElement
|
|
58
|
+
? HTMLTextAreaElement.prototype
|
|
59
|
+
: HTMLInputElement.prototype;
|
|
60
|
+
const setter = Object.getOwnPropertyDescriptor(prototype, "value")?.set;
|
|
57
61
|
setter?.call(input, value);
|
|
58
62
|
};
|
|
59
63
|
|
|
60
|
-
const fireInput = (
|
|
64
|
+
const fireInput = (
|
|
65
|
+
input: HTMLInputElement | HTMLTextAreaElement,
|
|
66
|
+
value: string,
|
|
67
|
+
) => {
|
|
61
68
|
setNativeValue(input, value);
|
|
62
69
|
input.dispatchEvent(new InputEvent("input", { bubbles: true }));
|
|
63
70
|
};
|
|
64
71
|
|
|
65
72
|
const fireKeyDown = (
|
|
66
|
-
input: HTMLInputElement,
|
|
73
|
+
input: HTMLInputElement | HTMLTextAreaElement,
|
|
67
74
|
opts: {
|
|
68
75
|
key?: string;
|
|
69
76
|
shiftKey?: boolean;
|
|
@@ -114,7 +121,9 @@ describe("ComposerInput", () => {
|
|
|
114
121
|
await act(async () => {
|
|
115
122
|
root.render(<ComposerInput {...props} />);
|
|
116
123
|
});
|
|
117
|
-
const input = container.querySelector("input") as
|
|
124
|
+
const input = container.querySelector("textarea, input") as
|
|
125
|
+
| HTMLInputElement
|
|
126
|
+
| HTMLTextAreaElement;
|
|
118
127
|
expect(input).not.toBeNull();
|
|
119
128
|
return input;
|
|
120
129
|
};
|
|
@@ -207,6 +216,95 @@ describe("ComposerInput", () => {
|
|
|
207
216
|
expect(event.defaultPrevented).toBe(false);
|
|
208
217
|
});
|
|
209
218
|
|
|
219
|
+
it("shows a scrollbar when multiline content exceeds the maximum height", async () => {
|
|
220
|
+
h.composerState.text = "line 1";
|
|
221
|
+
const input = await mount({
|
|
222
|
+
multiline: true,
|
|
223
|
+
style: { maxHeight: 40 },
|
|
224
|
+
});
|
|
225
|
+
expect(input.tagName).toBe("TEXTAREA");
|
|
226
|
+
|
|
227
|
+
Object.defineProperty(input, "scrollHeight", {
|
|
228
|
+
configurable: true,
|
|
229
|
+
value: 120,
|
|
230
|
+
});
|
|
231
|
+
|
|
232
|
+
h.composerState.text = "line 1\nline 2\nline 3";
|
|
233
|
+
await act(async () => {
|
|
234
|
+
root.render(<ComposerInput multiline style={{ maxHeight: 40 }} />);
|
|
235
|
+
});
|
|
236
|
+
|
|
237
|
+
expect(input.style.height).toBe("40px");
|
|
238
|
+
expect(input.style.overflowY).toBe("auto");
|
|
239
|
+
expect(input.style.overflowX).toBe("hidden");
|
|
240
|
+
});
|
|
241
|
+
|
|
242
|
+
it("shrinks back below max height after content is deleted", async () => {
|
|
243
|
+
h.composerState.text = "line 1";
|
|
244
|
+
const input = await mount({
|
|
245
|
+
multiline: true,
|
|
246
|
+
style: { maxHeight: 40 },
|
|
247
|
+
});
|
|
248
|
+
expect(input.tagName).toBe("TEXTAREA");
|
|
249
|
+
|
|
250
|
+
let scrollHeight = 120;
|
|
251
|
+
Object.defineProperty(input, "scrollHeight", {
|
|
252
|
+
configurable: true,
|
|
253
|
+
get: () => scrollHeight,
|
|
254
|
+
});
|
|
255
|
+
|
|
256
|
+
h.composerState.text = "line 1\nline 2\nline 3";
|
|
257
|
+
await act(async () => {
|
|
258
|
+
root.render(<ComposerInput multiline style={{ maxHeight: 40 }} />);
|
|
259
|
+
});
|
|
260
|
+
|
|
261
|
+
expect(input.style.height).toBe("40px");
|
|
262
|
+
expect(input.style.overflowY).toBe("auto");
|
|
263
|
+
|
|
264
|
+
scrollHeight = 24;
|
|
265
|
+
h.composerState.text = "line 1";
|
|
266
|
+
await act(async () => {
|
|
267
|
+
root.render(<ComposerInput multiline style={{ maxHeight: 40 }} />);
|
|
268
|
+
});
|
|
269
|
+
|
|
270
|
+
expect(input.style.height).toBe("24px");
|
|
271
|
+
expect(input.style.overflowY).toBe("hidden");
|
|
272
|
+
});
|
|
273
|
+
|
|
274
|
+
it("prefers computed maxHeight over raw CSS unit parsing", async () => {
|
|
275
|
+
h.composerState.text = "line 1";
|
|
276
|
+
const computedStyleSpy = vi
|
|
277
|
+
.spyOn(globalThis, "getComputedStyle")
|
|
278
|
+
.mockImplementation((() => ({
|
|
279
|
+
maxHeight: "64px",
|
|
280
|
+
})) as unknown as typeof getComputedStyle);
|
|
281
|
+
|
|
282
|
+
try {
|
|
283
|
+
const input = await mount({
|
|
284
|
+
multiline: true,
|
|
285
|
+
style: { maxHeight: "4rem" as never },
|
|
286
|
+
});
|
|
287
|
+
expect(input.tagName).toBe("TEXTAREA");
|
|
288
|
+
|
|
289
|
+
Object.defineProperty(input, "scrollHeight", {
|
|
290
|
+
configurable: true,
|
|
291
|
+
value: 80,
|
|
292
|
+
});
|
|
293
|
+
|
|
294
|
+
h.composerState.text = "line 1\nline 2\nline 3";
|
|
295
|
+
await act(async () => {
|
|
296
|
+
root.render(
|
|
297
|
+
<ComposerInput multiline style={{ maxHeight: "4rem" as never }} />,
|
|
298
|
+
);
|
|
299
|
+
});
|
|
300
|
+
|
|
301
|
+
expect(input.style.height).toBe("64px");
|
|
302
|
+
expect(input.style.overflowY).toBe("auto");
|
|
303
|
+
} finally {
|
|
304
|
+
computedStyleSpy.mockRestore();
|
|
305
|
+
}
|
|
306
|
+
});
|
|
307
|
+
|
|
210
308
|
it("forwards keydown events to a consumer onKeyPress handler", async () => {
|
|
211
309
|
const onKeyPress = vi.fn();
|
|
212
310
|
const input = await mount({ onKeyPress });
|
|
@@ -22,6 +22,15 @@ export type ComposerInputProps = Omit<
|
|
|
22
22
|
submitMode?: "enter" | "none";
|
|
23
23
|
};
|
|
24
24
|
|
|
25
|
+
const getWebTextareaMaxHeight = (el: HTMLTextAreaElement) => {
|
|
26
|
+
const computedMaxHeight = globalThis.getComputedStyle?.(el).maxHeight;
|
|
27
|
+
const parsedComputedMaxHeight = Number.parseFloat(computedMaxHeight ?? "");
|
|
28
|
+
if (Number.isFinite(parsedComputedMaxHeight)) return parsedComputedMaxHeight;
|
|
29
|
+
|
|
30
|
+
const inlineMaxHeight = Number.parseFloat(el.style.maxHeight);
|
|
31
|
+
return Number.isFinite(inlineMaxHeight) ? inlineMaxHeight : null;
|
|
32
|
+
};
|
|
33
|
+
|
|
25
34
|
const adjustWebTextareaHeight = (ref: React.RefObject<TextInput | null>) => {
|
|
26
35
|
if (Platform.OS !== "web") return;
|
|
27
36
|
// On web, the TextInput ref IS the DOM element
|
|
@@ -29,9 +38,19 @@ const adjustWebTextareaHeight = (ref: React.RefObject<TextInput | null>) => {
|
|
|
29
38
|
if (!el) return;
|
|
30
39
|
// Ensure rows=1 so scrollHeight reflects actual content
|
|
31
40
|
if (el.rows !== 1) el.rows = 1;
|
|
32
|
-
|
|
41
|
+
|
|
42
|
+
el.style.overflowX = "hidden";
|
|
43
|
+
el.style.overflowY = "hidden";
|
|
33
44
|
el.style.height = "auto";
|
|
34
|
-
|
|
45
|
+
|
|
46
|
+
const scrollHeight = el.scrollHeight;
|
|
47
|
+
const maxHeight = getWebTextareaMaxHeight(el);
|
|
48
|
+
const needsScrollbar = maxHeight !== null && scrollHeight > maxHeight;
|
|
49
|
+
const nextHeight =
|
|
50
|
+
maxHeight === null ? scrollHeight : Math.min(scrollHeight, maxHeight);
|
|
51
|
+
|
|
52
|
+
el.style.overflowY = needsScrollbar ? "auto" : "hidden";
|
|
53
|
+
el.style.height = `${nextHeight}px`;
|
|
35
54
|
};
|
|
36
55
|
|
|
37
56
|
export const ComposerInput = ({
|
|
@@ -4,7 +4,9 @@ export {
|
|
|
4
4
|
} from "./composer/ComposerRoot";
|
|
5
5
|
export {
|
|
6
6
|
ComposerAttachments as Attachments,
|
|
7
|
+
type ComposerAttachmentsProps as AttachmentsProps,
|
|
7
8
|
ComposerAttachmentByIndex as AttachmentByIndex,
|
|
9
|
+
type ComposerAttachmentByIndexProps as AttachmentByIndexProps,
|
|
8
10
|
} from "./composer/ComposerAttachments";
|
|
9
11
|
export {
|
|
10
12
|
ComposerInput as Input,
|
|
@@ -2,16 +2,11 @@ import {
|
|
|
2
2
|
MessagePrimitiveAttachments,
|
|
3
3
|
MessagePrimitiveAttachmentByIndex,
|
|
4
4
|
} from "@assistant-ui/core/react";
|
|
5
|
-
import type { AttachmentComponents } from "../composer/ComposerAttachments";
|
|
6
5
|
|
|
7
|
-
export type MessageAttachmentsProps =
|
|
8
|
-
components: AttachmentComponents | undefined;
|
|
9
|
-
};
|
|
6
|
+
export type MessageAttachmentsProps = MessagePrimitiveAttachments.Props;
|
|
10
7
|
|
|
11
|
-
export type MessageAttachmentByIndexProps =
|
|
12
|
-
|
|
13
|
-
components?: AttachmentComponents | undefined;
|
|
14
|
-
};
|
|
8
|
+
export type MessageAttachmentByIndexProps =
|
|
9
|
+
MessagePrimitiveAttachmentByIndex.Props;
|
|
15
10
|
|
|
16
11
|
export const MessageAttachmentByIndex = MessagePrimitiveAttachmentByIndex;
|
|
17
12
|
|
|
@@ -17,5 +17,7 @@ export {
|
|
|
17
17
|
} from "./message/MessageIf";
|
|
18
18
|
export {
|
|
19
19
|
MessageAttachments as Attachments,
|
|
20
|
+
type MessageAttachmentsProps as AttachmentsProps,
|
|
20
21
|
MessageAttachmentByIndex as AttachmentByIndex,
|
|
22
|
+
type MessageAttachmentByIndexProps as AttachmentByIndexProps,
|
|
21
23
|
} from "./message/MessageAttachments";
|