@assistant-ui/react-native 0.1.29 → 0.1.31
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/primitives/actionBar/ActionBarCopy.d.ts +1 -8
- package/dist/primitives/actionBar/ActionBarCopy.d.ts.map +1 -1
- package/dist/primitives/actionBar/ActionBarCopy.js.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/ActionBarFeedbackNegative.js.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/ActionBarFeedbackPositive.js.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/AttachmentName.js.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/AttachmentThumb.js.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/BranchPickerCount.js.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/BranchPickerNumber.js.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/ErrorMessage.js.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/MessageIf.js.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/SuggestionDescription.js.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/SuggestionTitle.js.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/ThreadIf.js.map +1 -1
- package/dist/primitives/thread/ThreadMessages.d.ts +14 -12
- package/dist/primitives/thread/ThreadMessages.d.ts.map +1 -1
- package/dist/primitives/thread/ThreadMessages.js +376 -33
- 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 +3 -5
- package/dist/primitives/thread.js +3 -2
- package/dist/primitives/thread.js.map +1 -1
- 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 +9 -9
- package/src/index.ts +2 -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 +444 -10
- package/src/primitives/thread/ThreadMessages.tsx +320 -29
- package/src/primitives/thread.ts +2 -0
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { MessageState, ThreadMessage } from "@assistant-ui/core";
|
|
2
|
-
import { FlatListProps } from "react-native";
|
|
2
|
+
import { FlatList, FlatListProps } from "react-native";
|
|
3
3
|
import { ComponentType, ReactNode } from "react";
|
|
4
|
-
|
|
5
4
|
//#region src/primitives/thread/ThreadMessages.d.ts
|
|
6
5
|
type MessageComponents = {
|
|
7
6
|
Message: ComponentType;
|
|
@@ -23,7 +22,8 @@ type MessageComponents = {
|
|
|
23
22
|
SystemMessage?: ComponentType | undefined;
|
|
24
23
|
};
|
|
25
24
|
type MessagesContent = {
|
|
26
|
-
/** @deprecated Use the children render function instead. */
|
|
25
|
+
/** @deprecated Use the children render function instead. */
|
|
26
|
+
components: MessageComponents;
|
|
27
27
|
children?: never;
|
|
28
28
|
} | {
|
|
29
29
|
children: (value: {
|
|
@@ -31,15 +31,17 @@ type MessagesContent = {
|
|
|
31
31
|
}) => ReactNode;
|
|
32
32
|
components?: never;
|
|
33
33
|
};
|
|
34
|
-
type
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
...flatListProps
|
|
40
|
-
}: ThreadMessagesProps): import("react").JSX.Element;
|
|
41
|
-
displayName: string;
|
|
34
|
+
type ThreadMessagesFlatListProps = Omit<FlatListProps<ThreadMessage>, "data" | "renderItem" | "children"> & MessagesContent & {
|
|
35
|
+
autoScroll?: boolean | undefined;
|
|
36
|
+
scrollToBottomOnRunStart?: boolean | undefined;
|
|
37
|
+
scrollToBottomOnInitialize?: boolean | undefined;
|
|
38
|
+
scrollToBottomOnThreadSwitch?: boolean | undefined;
|
|
42
39
|
};
|
|
40
|
+
/** @deprecated Use ThreadMessagesFlatListProps instead. */
|
|
41
|
+
type ThreadMessagesProps = ThreadMessagesFlatListProps;
|
|
42
|
+
declare const ThreadMessagesFlatList: import("react").ForwardRefExoticComponent<ThreadMessagesFlatListProps & import("react").RefAttributes<FlatList<ThreadMessage>>>;
|
|
43
|
+
/** @deprecated Use ThreadPrimitive.MessagesFlatList instead. */
|
|
44
|
+
declare const ThreadMessages: import("react").ForwardRefExoticComponent<ThreadMessagesFlatListProps & import("react").RefAttributes<FlatList<ThreadMessage>>>;
|
|
43
45
|
//#endregion
|
|
44
|
-
export { ThreadMessages, ThreadMessagesProps };
|
|
46
|
+
export { ThreadMessages, ThreadMessagesFlatList, ThreadMessagesFlatListProps, ThreadMessagesProps };
|
|
45
47
|
//# sourceMappingURL=ThreadMessages.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThreadMessages.d.ts","names":[],"sources":["../../../src/primitives/thread/ThreadMessages.tsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ThreadMessages.d.ts","names":[],"sources":["../../../src/primitives/thread/ThreadMessages.tsx"],"mappings":";;;;KA2BK;EAEC,SAAS;EACT,eAAe;EACf,mBAAmB;EACnB,wBAAwB;EACxB,qBAAqB;EACrB,cAAc;EACd,mBAAmB;EACnB,gBAAgB;;EAGhB,UAAU;EACV,eAAe;EACf,mBAAmB;EACnB,wBAAwB;EACxB,qBAAqB;EACrB,aAAa;EACb,kBAAkB;EAClB,gBAAgB;;KAGjB;;EAGC,YAAY;EACZ;;EAGA,WAAW;IAAS,SAAS;QAAmB;EAChD;;KAGM,8BAA8B,KACxC,cAAc,sDAGd;EACE;EACA;EACA;EACA;;;KAIQ,sBAAsB;cAmRrB,wCAAsB,0BAAA,8CAAA,cAAA,SAAA;;cA4GtB,gCAAc,0BAAA,8CAAA,cAAA,SAAA"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import { RenderChildrenWithAccessor, useAuiState } from "@assistant-ui/store";
|
|
1
|
+
import { RenderChildrenWithAccessor, useAuiEvent, useAuiState } from "@assistant-ui/store";
|
|
2
2
|
import { MessageByIndexProvider } from "@assistant-ui/core/react";
|
|
3
3
|
import { c } from "@assistant-ui/tap/react-shim/compiler-runtime";
|
|
4
4
|
import { FlatList } from "react-native";
|
|
5
5
|
import { jsx } from "react/jsx-runtime";
|
|
6
|
-
import { memo } from "@assistant-ui/tap/react-shim";
|
|
6
|
+
import { forwardRef, memo, useEffect, useRef } from "@assistant-ui/tap/react-shim";
|
|
7
7
|
//#region src/primitives/thread/ThreadMessages.tsx
|
|
8
8
|
const DEFAULT_SYSTEM_MESSAGE = () => null;
|
|
9
|
+
const AT_BOTTOM_THRESHOLD = 4;
|
|
9
10
|
const getComponent = (components, role, isEditing) => {
|
|
10
11
|
switch (role) {
|
|
11
12
|
case "user": if (isEditing) return components.UserEditComposer ?? components.EditComposer ?? components.UserMessage ?? components.Message;
|
|
@@ -73,27 +74,260 @@ const ThreadMessageByChildren = memo(({ index, children }) => {
|
|
|
73
74
|
});
|
|
74
75
|
}, (prev, next) => prev.index === next.index && prev.children === next.children);
|
|
75
76
|
ThreadMessageByChildren.displayName = "ThreadPrimitive.MessageByChildren";
|
|
76
|
-
const
|
|
77
|
-
|
|
77
|
+
const setForwardedRef = (ref, value) => {
|
|
78
|
+
if (typeof ref === "function") ref(value);
|
|
79
|
+
else if (ref) ref.current = value;
|
|
80
|
+
};
|
|
81
|
+
const useComposedFlatListRef = (forwardedRef) => {
|
|
82
|
+
const $ = c(4);
|
|
83
|
+
const flatListRef = useRef(null);
|
|
84
|
+
let t0;
|
|
85
|
+
if ($[0] !== forwardedRef) {
|
|
86
|
+
t0 = (node) => {
|
|
87
|
+
flatListRef.current = node;
|
|
88
|
+
setForwardedRef(forwardedRef, node);
|
|
89
|
+
};
|
|
90
|
+
$[0] = forwardedRef;
|
|
91
|
+
$[1] = t0;
|
|
92
|
+
} else t0 = $[1];
|
|
93
|
+
const setFlatListRef = t0;
|
|
94
|
+
let t1;
|
|
95
|
+
if ($[2] !== setFlatListRef) {
|
|
96
|
+
t1 = [flatListRef, setFlatListRef];
|
|
97
|
+
$[2] = setFlatListRef;
|
|
98
|
+
$[3] = t1;
|
|
99
|
+
} else t1 = $[3];
|
|
100
|
+
return t1;
|
|
101
|
+
};
|
|
102
|
+
const useThreadMessagesFlatListAutoScroll = (t0) => {
|
|
103
|
+
const $ = c(22);
|
|
104
|
+
const { flatListRef, hasMessages, autoScroll: t1, scrollToBottomOnRunStart: t2, scrollToBottomOnInitialize: t3, scrollToBottomOnThreadSwitch: t4 } = t0;
|
|
105
|
+
const autoScroll = t1 === void 0 ? true : t1;
|
|
106
|
+
const scrollToBottomOnRunStart = t2 === void 0 ? true : t2;
|
|
107
|
+
const scrollToBottomOnInitialize = t3 === void 0 ? true : t3;
|
|
108
|
+
const scrollToBottomOnThreadSwitch = t4 === void 0 ? true : t4;
|
|
109
|
+
let t5;
|
|
110
|
+
if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
|
|
111
|
+
t5 = {
|
|
112
|
+
contentHeight: 0,
|
|
113
|
+
viewportHeight: 0,
|
|
114
|
+
scrollY: 0
|
|
115
|
+
};
|
|
116
|
+
$[0] = t5;
|
|
117
|
+
} else t5 = $[0];
|
|
118
|
+
const metricsRef = useRef(t5);
|
|
119
|
+
const isAtBottomRef = useRef(true);
|
|
120
|
+
const lastScrollEventYRef = useRef(0);
|
|
121
|
+
const initializeScrollRequestedRef = useRef(false);
|
|
122
|
+
const pendingScrollToBottomRef = useRef(false);
|
|
123
|
+
let t6;
|
|
124
|
+
if ($[1] === Symbol.for("react.memo_cache_sentinel")) {
|
|
125
|
+
t6 = () => {
|
|
126
|
+
const { contentHeight, scrollY, viewportHeight } = metricsRef.current;
|
|
127
|
+
isAtBottomRef.current = contentHeight <= viewportHeight || contentHeight - scrollY - viewportHeight <= AT_BOTTOM_THRESHOLD;
|
|
128
|
+
};
|
|
129
|
+
$[1] = t6;
|
|
130
|
+
} else t6 = $[1];
|
|
131
|
+
const updateIsAtBottom = t6;
|
|
132
|
+
let t7;
|
|
133
|
+
if ($[2] !== flatListRef) {
|
|
134
|
+
t7 = (animated) => {
|
|
135
|
+
const { contentHeight: contentHeight_0, viewportHeight: viewportHeight_0 } = metricsRef.current;
|
|
136
|
+
metricsRef.current.scrollY = Math.max(0, contentHeight_0 - viewportHeight_0);
|
|
137
|
+
isAtBottomRef.current = true;
|
|
138
|
+
flatListRef.current?.scrollToEnd({ animated });
|
|
139
|
+
};
|
|
140
|
+
$[2] = flatListRef;
|
|
141
|
+
$[3] = t7;
|
|
142
|
+
} else t7 = $[3];
|
|
143
|
+
const scrollToBottom = t7;
|
|
144
|
+
let t8;
|
|
145
|
+
if ($[4] === Symbol.for("react.memo_cache_sentinel")) {
|
|
146
|
+
t8 = (event) => {
|
|
147
|
+
metricsRef.current.viewportHeight = event.nativeEvent.layout.height;
|
|
148
|
+
updateIsAtBottom();
|
|
149
|
+
};
|
|
150
|
+
$[4] = t8;
|
|
151
|
+
} else t8 = $[4];
|
|
152
|
+
const handleLayout = t8;
|
|
153
|
+
let t9;
|
|
154
|
+
if ($[5] === Symbol.for("react.memo_cache_sentinel")) {
|
|
155
|
+
t9 = (event_0) => {
|
|
156
|
+
const { contentOffset, contentSize, layoutMeasurement } = event_0.nativeEvent;
|
|
157
|
+
const previousEventY = lastScrollEventYRef.current;
|
|
158
|
+
const wasPinnedToBottom = isAtBottomRef.current;
|
|
159
|
+
lastScrollEventYRef.current = contentOffset.y;
|
|
160
|
+
metricsRef.current = {
|
|
161
|
+
contentHeight: contentSize.height,
|
|
162
|
+
viewportHeight: layoutMeasurement.height,
|
|
163
|
+
scrollY: contentOffset.y
|
|
164
|
+
};
|
|
165
|
+
updateIsAtBottom();
|
|
166
|
+
const upwardMove = contentOffset.y < previousEventY;
|
|
167
|
+
if (wasPinnedToBottom && !upwardMove) isAtBottomRef.current = true;
|
|
168
|
+
if (!isAtBottomRef.current && upwardMove) pendingScrollToBottomRef.current = false;
|
|
169
|
+
};
|
|
170
|
+
$[5] = t9;
|
|
171
|
+
} else t9 = $[5];
|
|
172
|
+
const handleScroll = t9;
|
|
173
|
+
let t10;
|
|
174
|
+
if ($[6] !== autoScroll || $[7] !== scrollToBottom) {
|
|
175
|
+
t10 = (_width, height) => {
|
|
176
|
+
const metrics = metricsRef.current;
|
|
177
|
+
const previousContentHeight = metrics.contentHeight;
|
|
178
|
+
const wasAtBottom = isAtBottomRef.current;
|
|
179
|
+
metrics.contentHeight = height;
|
|
180
|
+
updateIsAtBottom();
|
|
181
|
+
const pendingScroll = pendingScrollToBottomRef.current;
|
|
182
|
+
if (pendingScroll) {
|
|
183
|
+
pendingScrollToBottomRef.current = false;
|
|
184
|
+
scrollToBottom(pendingScroll.animated);
|
|
185
|
+
return;
|
|
186
|
+
}
|
|
187
|
+
if (!autoScroll) return;
|
|
188
|
+
if (!wasAtBottom) return;
|
|
189
|
+
if (previousContentHeight === 0) return;
|
|
190
|
+
if (height <= previousContentHeight) return;
|
|
191
|
+
scrollToBottom(false);
|
|
192
|
+
};
|
|
193
|
+
$[6] = autoScroll;
|
|
194
|
+
$[7] = scrollToBottom;
|
|
195
|
+
$[8] = t10;
|
|
196
|
+
} else t10 = $[8];
|
|
197
|
+
const handleContentSizeChange = t10;
|
|
198
|
+
let t11;
|
|
199
|
+
let t12;
|
|
200
|
+
if ($[9] !== hasMessages || $[10] !== scrollToBottom || $[11] !== scrollToBottomOnInitialize) {
|
|
201
|
+
t11 = () => {
|
|
202
|
+
if (!scrollToBottomOnInitialize) return;
|
|
203
|
+
if (!hasMessages) {
|
|
204
|
+
initializeScrollRequestedRef.current = false;
|
|
205
|
+
return;
|
|
206
|
+
}
|
|
207
|
+
if (initializeScrollRequestedRef.current) return;
|
|
208
|
+
initializeScrollRequestedRef.current = true;
|
|
209
|
+
pendingScrollToBottomRef.current = { animated: false };
|
|
210
|
+
scrollToBottom(false);
|
|
211
|
+
};
|
|
212
|
+
t12 = [
|
|
213
|
+
hasMessages,
|
|
214
|
+
scrollToBottom,
|
|
215
|
+
scrollToBottomOnInitialize
|
|
216
|
+
];
|
|
217
|
+
$[9] = hasMessages;
|
|
218
|
+
$[10] = scrollToBottom;
|
|
219
|
+
$[11] = scrollToBottomOnInitialize;
|
|
220
|
+
$[12] = t11;
|
|
221
|
+
$[13] = t12;
|
|
222
|
+
} else {
|
|
223
|
+
t11 = $[12];
|
|
224
|
+
t12 = $[13];
|
|
225
|
+
}
|
|
226
|
+
useEffect(t11, t12);
|
|
227
|
+
let t13;
|
|
228
|
+
if ($[14] !== scrollToBottom || $[15] !== scrollToBottomOnRunStart) {
|
|
229
|
+
t13 = () => {
|
|
230
|
+
if (!scrollToBottomOnRunStart) return;
|
|
231
|
+
pendingScrollToBottomRef.current = { animated: true };
|
|
232
|
+
scrollToBottom(true);
|
|
233
|
+
};
|
|
234
|
+
$[14] = scrollToBottom;
|
|
235
|
+
$[15] = scrollToBottomOnRunStart;
|
|
236
|
+
$[16] = t13;
|
|
237
|
+
} else t13 = $[16];
|
|
238
|
+
useAuiEvent("thread.runStart", t13);
|
|
239
|
+
let t14;
|
|
240
|
+
if ($[17] !== scrollToBottom || $[18] !== scrollToBottomOnThreadSwitch) {
|
|
241
|
+
t14 = () => {
|
|
242
|
+
if (!scrollToBottomOnThreadSwitch) return;
|
|
243
|
+
initializeScrollRequestedRef.current = false;
|
|
244
|
+
lastScrollEventYRef.current = 0;
|
|
245
|
+
pendingScrollToBottomRef.current = { animated: false };
|
|
246
|
+
scrollToBottom(false);
|
|
247
|
+
};
|
|
248
|
+
$[17] = scrollToBottom;
|
|
249
|
+
$[18] = scrollToBottomOnThreadSwitch;
|
|
250
|
+
$[19] = t14;
|
|
251
|
+
} else t14 = $[19];
|
|
252
|
+
useAuiEvent("threadListItem.switchedTo", t14);
|
|
253
|
+
let t15;
|
|
254
|
+
if ($[20] !== handleContentSizeChange) {
|
|
255
|
+
t15 = {
|
|
256
|
+
handleLayout,
|
|
257
|
+
handleScroll,
|
|
258
|
+
handleContentSizeChange
|
|
259
|
+
};
|
|
260
|
+
$[20] = handleContentSizeChange;
|
|
261
|
+
$[21] = t15;
|
|
262
|
+
} else t15 = $[21];
|
|
263
|
+
return t15;
|
|
264
|
+
};
|
|
265
|
+
const ThreadMessagesFlatList = forwardRef((t0, forwardedRef) => {
|
|
266
|
+
const $ = c(46);
|
|
267
|
+
let autoScroll;
|
|
78
268
|
let children;
|
|
79
269
|
let components;
|
|
80
270
|
let flatListProps;
|
|
271
|
+
let onContentSizeChange;
|
|
272
|
+
let onLayout;
|
|
273
|
+
let onScroll;
|
|
274
|
+
let scrollEventThrottle;
|
|
275
|
+
let scrollToBottomOnInitialize;
|
|
276
|
+
let scrollToBottomOnRunStart;
|
|
277
|
+
let scrollToBottomOnThreadSwitch;
|
|
81
278
|
if ($[0] !== t0) {
|
|
82
|
-
({components, children, ...flatListProps} = t0);
|
|
279
|
+
({autoScroll, components, children, onContentSizeChange, onLayout, onScroll, scrollEventThrottle, scrollToBottomOnInitialize, scrollToBottomOnRunStart, scrollToBottomOnThreadSwitch, ...flatListProps} = t0);
|
|
83
280
|
$[0] = t0;
|
|
84
|
-
$[1] =
|
|
85
|
-
$[2] =
|
|
86
|
-
$[3] =
|
|
281
|
+
$[1] = autoScroll;
|
|
282
|
+
$[2] = children;
|
|
283
|
+
$[3] = components;
|
|
284
|
+
$[4] = flatListProps;
|
|
285
|
+
$[5] = onContentSizeChange;
|
|
286
|
+
$[6] = onLayout;
|
|
287
|
+
$[7] = onScroll;
|
|
288
|
+
$[8] = scrollEventThrottle;
|
|
289
|
+
$[9] = scrollToBottomOnInitialize;
|
|
290
|
+
$[10] = scrollToBottomOnRunStart;
|
|
291
|
+
$[11] = scrollToBottomOnThreadSwitch;
|
|
87
292
|
} else {
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
293
|
+
autoScroll = $[1];
|
|
294
|
+
children = $[2];
|
|
295
|
+
components = $[3];
|
|
296
|
+
flatListProps = $[4];
|
|
297
|
+
onContentSizeChange = $[5];
|
|
298
|
+
onLayout = $[6];
|
|
299
|
+
onScroll = $[7];
|
|
300
|
+
scrollEventThrottle = $[8];
|
|
301
|
+
scrollToBottomOnInitialize = $[9];
|
|
302
|
+
scrollToBottomOnRunStart = $[10];
|
|
303
|
+
scrollToBottomOnThreadSwitch = $[11];
|
|
91
304
|
}
|
|
92
305
|
const messages = useAuiState(_temp3);
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
306
|
+
const [flatListRef, setFlatListRef] = useComposedFlatListRef(forwardedRef);
|
|
307
|
+
const t1 = messages.length > 0;
|
|
308
|
+
let t2;
|
|
309
|
+
if ($[12] !== autoScroll || $[13] !== flatListRef || $[14] !== scrollToBottomOnInitialize || $[15] !== scrollToBottomOnRunStart || $[16] !== scrollToBottomOnThreadSwitch || $[17] !== t1) {
|
|
310
|
+
t2 = {
|
|
311
|
+
flatListRef,
|
|
312
|
+
hasMessages: t1,
|
|
313
|
+
autoScroll,
|
|
314
|
+
scrollToBottomOnInitialize,
|
|
315
|
+
scrollToBottomOnRunStart,
|
|
316
|
+
scrollToBottomOnThreadSwitch
|
|
317
|
+
};
|
|
318
|
+
$[12] = autoScroll;
|
|
319
|
+
$[13] = flatListRef;
|
|
320
|
+
$[14] = scrollToBottomOnInitialize;
|
|
321
|
+
$[15] = scrollToBottomOnRunStart;
|
|
322
|
+
$[16] = scrollToBottomOnThreadSwitch;
|
|
323
|
+
$[17] = t1;
|
|
324
|
+
$[18] = t2;
|
|
325
|
+
} else t2 = $[18];
|
|
326
|
+
const { handleContentSizeChange: handleAutoScrollContentSizeChange, handleLayout: handleAutoScrollLayout, handleScroll: handleAutoScrollScroll } = useThreadMessagesFlatListAutoScroll(t2);
|
|
327
|
+
let t3;
|
|
328
|
+
if ($[19] !== children || $[20] !== components) {
|
|
329
|
+
t3 = (t4) => {
|
|
330
|
+
const { index } = t4;
|
|
97
331
|
if (children) return /* @__PURE__ */ jsx(ThreadMessageByChildren, {
|
|
98
332
|
index,
|
|
99
333
|
children
|
|
@@ -103,28 +337,137 @@ const ThreadMessages = (t0) => {
|
|
|
103
337
|
components
|
|
104
338
|
});
|
|
105
339
|
};
|
|
106
|
-
$[
|
|
107
|
-
$[
|
|
108
|
-
$[
|
|
109
|
-
} else
|
|
110
|
-
const renderItem =
|
|
340
|
+
$[19] = children;
|
|
341
|
+
$[20] = components;
|
|
342
|
+
$[21] = t3;
|
|
343
|
+
} else t3 = $[21];
|
|
344
|
+
const renderItem = t3;
|
|
111
345
|
const keyExtractor = _temp4;
|
|
112
|
-
const
|
|
113
|
-
let
|
|
114
|
-
if ($[
|
|
115
|
-
|
|
116
|
-
|
|
346
|
+
const scrollTracking = (autoScroll ?? true) || (scrollToBottomOnInitialize ?? true) || (scrollToBottomOnRunStart ?? true) || (scrollToBottomOnThreadSwitch ?? true);
|
|
347
|
+
let t4;
|
|
348
|
+
if ($[22] !== handleAutoScrollLayout || $[23] !== onLayout) {
|
|
349
|
+
t4 = (event) => {
|
|
350
|
+
handleAutoScrollLayout(event);
|
|
351
|
+
onLayout?.(event);
|
|
352
|
+
};
|
|
353
|
+
$[22] = handleAutoScrollLayout;
|
|
354
|
+
$[23] = onLayout;
|
|
355
|
+
$[24] = t4;
|
|
356
|
+
} else t4 = $[24];
|
|
357
|
+
const handleLayout = t4;
|
|
358
|
+
let t5;
|
|
359
|
+
if ($[25] !== handleAutoScrollScroll || $[26] !== onScroll) {
|
|
360
|
+
t5 = (event_0) => {
|
|
361
|
+
handleAutoScrollScroll(event_0);
|
|
362
|
+
onScroll?.(event_0);
|
|
363
|
+
};
|
|
364
|
+
$[25] = handleAutoScrollScroll;
|
|
365
|
+
$[26] = onScroll;
|
|
366
|
+
$[27] = t5;
|
|
367
|
+
} else t5 = $[27];
|
|
368
|
+
const handleScroll = t5;
|
|
369
|
+
let t6;
|
|
370
|
+
if ($[28] !== handleAutoScrollContentSizeChange || $[29] !== onContentSizeChange) {
|
|
371
|
+
t6 = (width, height) => {
|
|
372
|
+
handleAutoScrollContentSizeChange(width, height);
|
|
373
|
+
onContentSizeChange?.(width, height);
|
|
374
|
+
};
|
|
375
|
+
$[28] = handleAutoScrollContentSizeChange;
|
|
376
|
+
$[29] = onContentSizeChange;
|
|
377
|
+
$[30] = t6;
|
|
378
|
+
} else t6 = $[30];
|
|
379
|
+
const handleContentSizeChange = t6;
|
|
380
|
+
const t7 = messages;
|
|
381
|
+
let t8;
|
|
382
|
+
if ($[31] !== handleContentSizeChange || $[32] !== handleLayout || $[33] !== handleScroll || $[34] !== onContentSizeChange || $[35] !== onLayout || $[36] !== onScroll || $[37] !== scrollEventThrottle || $[38] !== scrollTracking) {
|
|
383
|
+
t8 = scrollTracking ? {
|
|
384
|
+
onContentSizeChange: handleContentSizeChange,
|
|
385
|
+
onLayout: handleLayout,
|
|
386
|
+
onScroll: handleScroll,
|
|
387
|
+
scrollEventThrottle: scrollEventThrottle ?? 16
|
|
388
|
+
} : {
|
|
389
|
+
...onContentSizeChange && { onContentSizeChange },
|
|
390
|
+
...onLayout && { onLayout },
|
|
391
|
+
...onScroll && { onScroll },
|
|
392
|
+
...scrollEventThrottle !== void 0 && { scrollEventThrottle }
|
|
393
|
+
};
|
|
394
|
+
$[31] = handleContentSizeChange;
|
|
395
|
+
$[32] = handleLayout;
|
|
396
|
+
$[33] = handleScroll;
|
|
397
|
+
$[34] = onContentSizeChange;
|
|
398
|
+
$[35] = onLayout;
|
|
399
|
+
$[36] = onScroll;
|
|
400
|
+
$[37] = scrollEventThrottle;
|
|
401
|
+
$[38] = scrollTracking;
|
|
402
|
+
$[39] = t8;
|
|
403
|
+
} else t8 = $[39];
|
|
404
|
+
let t9;
|
|
405
|
+
if ($[40] !== flatListProps || $[41] !== renderItem || $[42] !== setFlatListRef || $[43] !== t7 || $[44] !== t8) {
|
|
406
|
+
t9 = /* @__PURE__ */ jsx(FlatList, {
|
|
407
|
+
ref: setFlatListRef,
|
|
408
|
+
data: t7,
|
|
117
409
|
renderItem,
|
|
118
410
|
keyExtractor,
|
|
411
|
+
...t8,
|
|
119
412
|
...flatListProps
|
|
120
413
|
});
|
|
121
|
-
$[
|
|
122
|
-
$[
|
|
123
|
-
$[
|
|
124
|
-
$[
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
};
|
|
414
|
+
$[40] = flatListProps;
|
|
415
|
+
$[41] = renderItem;
|
|
416
|
+
$[42] = setFlatListRef;
|
|
417
|
+
$[43] = t7;
|
|
418
|
+
$[44] = t8;
|
|
419
|
+
$[45] = t9;
|
|
420
|
+
} else t9 = $[45];
|
|
421
|
+
return t9;
|
|
422
|
+
});
|
|
423
|
+
ThreadMessagesFlatList.displayName = "ThreadPrimitive.MessagesFlatList";
|
|
424
|
+
/** @deprecated Use ThreadPrimitive.MessagesFlatList instead. */
|
|
425
|
+
const ThreadMessages = forwardRef((t0, ref) => {
|
|
426
|
+
const $ = c(13);
|
|
427
|
+
let props;
|
|
428
|
+
let t1;
|
|
429
|
+
let t2;
|
|
430
|
+
let t3;
|
|
431
|
+
let t4;
|
|
432
|
+
if ($[0] !== t0) {
|
|
433
|
+
({autoScroll: t1, scrollToBottomOnInitialize: t2, scrollToBottomOnRunStart: t3, scrollToBottomOnThreadSwitch: t4, ...props} = t0);
|
|
434
|
+
$[0] = t0;
|
|
435
|
+
$[1] = props;
|
|
436
|
+
$[2] = t1;
|
|
437
|
+
$[3] = t2;
|
|
438
|
+
$[4] = t3;
|
|
439
|
+
$[5] = t4;
|
|
440
|
+
} else {
|
|
441
|
+
props = $[1];
|
|
442
|
+
t1 = $[2];
|
|
443
|
+
t2 = $[3];
|
|
444
|
+
t3 = $[4];
|
|
445
|
+
t4 = $[5];
|
|
446
|
+
}
|
|
447
|
+
const autoScroll = t1 === void 0 ? false : t1;
|
|
448
|
+
const scrollToBottomOnInitialize = t2 === void 0 ? false : t2;
|
|
449
|
+
const scrollToBottomOnRunStart = t3 === void 0 ? false : t3;
|
|
450
|
+
const scrollToBottomOnThreadSwitch = t4 === void 0 ? false : t4;
|
|
451
|
+
let t5;
|
|
452
|
+
if ($[6] !== autoScroll || $[7] !== props || $[8] !== ref || $[9] !== scrollToBottomOnInitialize || $[10] !== scrollToBottomOnRunStart || $[11] !== scrollToBottomOnThreadSwitch) {
|
|
453
|
+
t5 = /* @__PURE__ */ jsx(ThreadMessagesFlatList, {
|
|
454
|
+
ref,
|
|
455
|
+
autoScroll,
|
|
456
|
+
scrollToBottomOnInitialize,
|
|
457
|
+
scrollToBottomOnRunStart,
|
|
458
|
+
scrollToBottomOnThreadSwitch,
|
|
459
|
+
...props
|
|
460
|
+
});
|
|
461
|
+
$[6] = autoScroll;
|
|
462
|
+
$[7] = props;
|
|
463
|
+
$[8] = ref;
|
|
464
|
+
$[9] = scrollToBottomOnInitialize;
|
|
465
|
+
$[10] = scrollToBottomOnRunStart;
|
|
466
|
+
$[11] = scrollToBottomOnThreadSwitch;
|
|
467
|
+
$[12] = t5;
|
|
468
|
+
} else t5 = $[12];
|
|
469
|
+
return t5;
|
|
470
|
+
});
|
|
128
471
|
ThreadMessages.displayName = "ThreadPrimitive.Messages";
|
|
129
472
|
function _temp(s) {
|
|
130
473
|
return s.message.role;
|
|
@@ -139,6 +482,6 @@ function _temp4(item) {
|
|
|
139
482
|
return item.id;
|
|
140
483
|
}
|
|
141
484
|
//#endregion
|
|
142
|
-
export { ThreadMessages };
|
|
485
|
+
export { ThreadMessages, ThreadMessagesFlatList };
|
|
143
486
|
|
|
144
487
|
//# sourceMappingURL=ThreadMessages.js.map
|
|
@@ -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 = ({\n components,\n children,\n ...flatListProps\n}: ThreadMessagesProps) => {\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 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
|
+
{"version":3,"file":"ThreadMessages.js","names":["ComponentType","FC","ForwardedRef","ReactNode","RefObject","forwardRef","memo","useCallback","useEffect","useRef","FlatList","FlatListProps","LayoutChangeEvent","NativeScrollEvent","NativeSyntheticEvent","MessageState","ThreadMessage","RenderChildrenWithAccessor","useAuiEvent","useAuiState","MessageByIndexProvider","MessageComponents","Message","EditComposer","UserEditComposer","AssistantEditComposer","SystemEditComposer","UserMessage","AssistantMessage","SystemMessage","MessagesContent","components","children","value","message","ThreadMessagesFlatListProps","Omit","autoScroll","scrollToBottomOnRunStart","scrollToBottomOnInitialize","scrollToBottomOnThreadSwitch","ThreadMessagesProps","DEFAULT_SYSTEM_MESSAGE","AT_BOTTOM_THRESHOLD","getComponent","role","isEditing","_exhaustiveCheck","Error","ThreadMessageComponent","t0","$","_c","_temp","_temp2","t1","Component","t2","ThreadMessageByIndex","index","prev","next","displayName","ThreadMessageByChildren","aui","thread","getState","getItem","setForwardedRef","ref","T","current","useComposedFlatListRef","forwardedRef","flatListRef","node","setFlatListRef","const","useThreadMessagesFlatListAutoScroll","hasMessages","t3","t4","undefined","t5","Symbol","for","contentHeight","viewportHeight","scrollY","metricsRef","isAtBottomRef","lastScrollEventYRef","initializeScrollRequestedRef","pendingScrollToBottomRef","t6","updateIsAtBottom","t7","animated","contentHeight_0","viewportHeight_0","Math","max","scrollToEnd","scrollToBottom","t8","event","nativeEvent","layout","height","handleLayout","t9","event_0","contentOffset","contentSize","layoutMeasurement","previousEventY","wasPinnedToBottom","y","upwardMove","handleScroll","t10","_width","metrics","previousContentHeight","wasAtBottom","pendingScroll","handleContentSizeChange","t11","t12","t13","t14","t15","ThreadMessagesFlatList","flatListProps","onContentSizeChange","onLayout","onScroll","scrollEventThrottle","messages","_temp3","length","handleAutoScrollContentSizeChange","handleAutoScrollLayout","handleAutoScrollScroll","renderItem","keyExtractor","_temp4","scrollTracking","width","ThreadMessages","props","s","s_0","composer","item","id"],"sources":["../../../src/primitives/thread/ThreadMessages.tsx"],"sourcesContent":["import {\n type ComponentType,\n type FC,\n type ForwardedRef,\n type ReactNode,\n type RefObject,\n forwardRef,\n memo,\n useCallback,\n useEffect,\n useRef,\n} from \"react\";\nimport {\n FlatList,\n type FlatListProps,\n type LayoutChangeEvent,\n type NativeScrollEvent,\n type NativeSyntheticEvent,\n} from \"react-native\";\nimport type { MessageState, ThreadMessage } from \"@assistant-ui/core\";\nimport {\n RenderChildrenWithAccessor,\n useAuiEvent,\n useAuiState,\n} 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 ThreadMessagesFlatListProps = Omit<\n FlatListProps<ThreadMessage>,\n \"data\" | \"renderItem\" | \"children\"\n> &\n MessagesContent & {\n autoScroll?: boolean | undefined;\n scrollToBottomOnRunStart?: boolean | undefined;\n scrollToBottomOnInitialize?: boolean | undefined;\n scrollToBottomOnThreadSwitch?: boolean | undefined;\n };\n\n/** @deprecated Use ThreadMessagesFlatListProps instead. */\nexport type ThreadMessagesProps = ThreadMessagesFlatListProps;\n\nconst DEFAULT_SYSTEM_MESSAGE = () => null;\nconst AT_BOTTOM_THRESHOLD = 4;\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\nconst setForwardedRef = <T,>(ref: ForwardedRef<T>, value: T | null) => {\n if (typeof ref === \"function\") {\n ref(value);\n } else if (ref) {\n ref.current = value;\n }\n};\n\nconst useComposedFlatListRef = (\n forwardedRef: ForwardedRef<FlatList<ThreadMessage>>,\n) => {\n const flatListRef = useRef<FlatList<ThreadMessage> | null>(null);\n\n const setFlatListRef = useCallback(\n (node: FlatList<ThreadMessage> | null) => {\n flatListRef.current = node;\n setForwardedRef(forwardedRef, node);\n },\n [forwardedRef],\n );\n\n return [flatListRef, setFlatListRef] as const;\n};\n\nconst useThreadMessagesFlatListAutoScroll = ({\n flatListRef,\n hasMessages,\n autoScroll = true,\n scrollToBottomOnRunStart = true,\n scrollToBottomOnInitialize = true,\n scrollToBottomOnThreadSwitch = true,\n}: {\n flatListRef: RefObject<FlatList<ThreadMessage> | null>;\n hasMessages: boolean;\n autoScroll?: boolean | undefined;\n scrollToBottomOnRunStart?: boolean | undefined;\n scrollToBottomOnInitialize?: boolean | undefined;\n scrollToBottomOnThreadSwitch?: boolean | undefined;\n}) => {\n const metricsRef = useRef({\n contentHeight: 0,\n viewportHeight: 0,\n scrollY: 0,\n });\n const isAtBottomRef = useRef(true);\n const lastScrollEventYRef = useRef(0);\n const initializeScrollRequestedRef = useRef(false);\n const pendingScrollToBottomRef = useRef<false | { animated: boolean }>(false);\n\n const updateIsAtBottom = useCallback(() => {\n const { contentHeight, scrollY, viewportHeight } = metricsRef.current;\n isAtBottomRef.current =\n contentHeight <= viewportHeight ||\n contentHeight - scrollY - viewportHeight <= AT_BOTTOM_THRESHOLD;\n }, []);\n\n // Commanding a scroll records the intended position immediately; the\n // native scroll echo is bridged and throttled, so waiting for it lets a\n // fast stream observe stale metrics and drop out of following.\n const scrollToBottom = useCallback(\n (animated: boolean) => {\n const { contentHeight, viewportHeight } = metricsRef.current;\n metricsRef.current.scrollY = Math.max(0, contentHeight - viewportHeight);\n isAtBottomRef.current = true;\n flatListRef.current?.scrollToEnd({ animated });\n },\n [flatListRef],\n );\n\n const handleLayout = useCallback(\n (event: LayoutChangeEvent) => {\n metricsRef.current.viewportHeight = event.nativeEvent.layout.height;\n updateIsAtBottom();\n },\n [updateIsAtBottom],\n );\n\n const handleScroll = useCallback(\n (event: NativeSyntheticEvent<NativeScrollEvent>) => {\n const { contentOffset, contentSize, layoutMeasurement } =\n event.nativeEvent;\n const previousEventY = lastScrollEventYRef.current;\n const wasPinnedToBottom = isAtBottomRef.current;\n lastScrollEventYRef.current = contentOffset.y;\n metricsRef.current = {\n contentHeight: contentSize.height,\n viewportHeight: layoutMeasurement.height,\n scrollY: contentOffset.y,\n };\n updateIsAtBottom();\n const upwardMove = contentOffset.y < previousEventY;\n // Only a deliberate upward move unpins or cancels a pending scroll.\n // Gestures are detected echo-to-echo because a commanded scroll\n // optimistically moves the tracked position ahead of its ascending\n // animation echoes, and those echoes must not unpin mid-flight.\n if (wasPinnedToBottom && !upwardMove) {\n isAtBottomRef.current = true;\n }\n if (!isAtBottomRef.current && upwardMove) {\n pendingScrollToBottomRef.current = false;\n }\n },\n [updateIsAtBottom],\n );\n\n const handleContentSizeChange = useCallback(\n (_width: number, height: number) => {\n const metrics = metricsRef.current;\n const previousContentHeight = metrics.contentHeight;\n const wasAtBottom = isAtBottomRef.current;\n metrics.contentHeight = height;\n updateIsAtBottom();\n\n // FlatList.scrollToEnd is a no-op before the list has measured, so the\n // initialize and thread-switch scrolls land on the next content-size\n // event, once real metrics exist.\n const pendingScroll = pendingScrollToBottomRef.current;\n if (pendingScroll) {\n pendingScrollToBottomRef.current = false;\n scrollToBottom(pendingScroll.animated);\n return;\n }\n\n if (!autoScroll) return;\n if (!wasAtBottom) return;\n if (previousContentHeight === 0) return;\n if (height <= previousContentHeight) return;\n\n scrollToBottom(false);\n },\n [autoScroll, scrollToBottom, updateIsAtBottom],\n );\n\n useEffect(() => {\n if (!scrollToBottomOnInitialize) return;\n if (!hasMessages) {\n initializeScrollRequestedRef.current = false;\n return;\n }\n if (initializeScrollRequestedRef.current) return;\n\n initializeScrollRequestedRef.current = true;\n pendingScrollToBottomRef.current = { animated: false };\n scrollToBottom(false);\n }, [hasMessages, scrollToBottom, scrollToBottomOnInitialize]);\n\n useAuiEvent(\"thread.runStart\", () => {\n if (!scrollToBottomOnRunStart) return;\n pendingScrollToBottomRef.current = { animated: true };\n scrollToBottom(true);\n });\n\n useAuiEvent(\"threadListItem.switchedTo\", () => {\n if (!scrollToBottomOnThreadSwitch) return;\n initializeScrollRequestedRef.current = false;\n lastScrollEventYRef.current = 0;\n pendingScrollToBottomRef.current = { animated: false };\n scrollToBottom(false);\n });\n\n return {\n handleLayout,\n handleScroll,\n handleContentSizeChange,\n };\n};\n\nexport const ThreadMessagesFlatList = forwardRef<\n FlatList<ThreadMessage>,\n ThreadMessagesFlatListProps\n>(\n (\n {\n autoScroll,\n components,\n children,\n onContentSizeChange,\n onLayout,\n onScroll,\n scrollEventThrottle,\n scrollToBottomOnInitialize,\n scrollToBottomOnRunStart,\n scrollToBottomOnThreadSwitch,\n ...flatListProps\n },\n forwardedRef,\n ) => {\n const messages = useAuiState((s) => s.thread.messages);\n const [flatListRef, setFlatListRef] = useComposedFlatListRef(forwardedRef);\n const {\n handleContentSizeChange: handleAutoScrollContentSizeChange,\n handleLayout: handleAutoScrollLayout,\n handleScroll: handleAutoScrollScroll,\n } = useThreadMessagesFlatListAutoScroll({\n flatListRef,\n hasMessages: messages.length > 0,\n autoScroll,\n scrollToBottomOnInitialize,\n scrollToBottomOnRunStart,\n scrollToBottomOnThreadSwitch,\n });\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 const scrollTracking =\n (autoScroll ?? true) ||\n (scrollToBottomOnInitialize ?? true) ||\n (scrollToBottomOnRunStart ?? true) ||\n (scrollToBottomOnThreadSwitch ?? true);\n\n const handleLayout = useCallback(\n (event: LayoutChangeEvent) => {\n handleAutoScrollLayout(event);\n onLayout?.(event);\n },\n [handleAutoScrollLayout, onLayout],\n );\n\n const handleScroll = useCallback(\n (event: NativeSyntheticEvent<NativeScrollEvent>) => {\n handleAutoScrollScroll(event);\n onScroll?.(event);\n },\n [handleAutoScrollScroll, onScroll],\n );\n\n const handleContentSizeChange = useCallback(\n (width: number, height: number) => {\n handleAutoScrollContentSizeChange(width, height);\n onContentSizeChange?.(width, height);\n },\n [handleAutoScrollContentSizeChange, onContentSizeChange],\n );\n\n return (\n <FlatList\n ref={setFlatListRef}\n data={messages as unknown as ThreadMessage[]}\n renderItem={renderItem}\n keyExtractor={keyExtractor}\n {...(scrollTracking\n ? {\n onContentSizeChange: handleContentSizeChange,\n onLayout: handleLayout,\n onScroll: handleScroll,\n scrollEventThrottle: scrollEventThrottle ?? 16,\n }\n : {\n ...(onContentSizeChange && { onContentSizeChange }),\n ...(onLayout && { onLayout }),\n ...(onScroll && { onScroll }),\n ...(scrollEventThrottle !== undefined && { scrollEventThrottle }),\n })}\n {...flatListProps}\n />\n );\n },\n);\nThreadMessagesFlatList.displayName = \"ThreadPrimitive.MessagesFlatList\";\n\n/** @deprecated Use ThreadPrimitive.MessagesFlatList instead. */\nexport const ThreadMessages = forwardRef<\n FlatList<ThreadMessage>,\n ThreadMessagesProps\n>(\n (\n {\n autoScroll = false,\n scrollToBottomOnInitialize = false,\n scrollToBottomOnRunStart = false,\n scrollToBottomOnThreadSwitch = false,\n ...props\n },\n ref,\n ) => (\n <ThreadMessagesFlatList\n ref={ref}\n autoScroll={autoScroll}\n scrollToBottomOnInitialize={scrollToBottomOnInitialize}\n scrollToBottomOnRunStart={scrollToBottomOnRunStart}\n scrollToBottomOnThreadSwitch={scrollToBottomOnThreadSwitch}\n {...props}\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"}
|