@assistant-ui/react-native 0.1.43 → 0.1.44

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.
Files changed (188) hide show
  1. package/dist/context/AssistantContext.d.ts +2 -2
  2. package/dist/context/AssistantContext.d.ts.map +1 -0
  3. package/dist/context/providers/AttachmentByIndexProvider.d.ts +2 -2
  4. package/dist/context/providers/AttachmentByIndexProvider.d.ts.map +1 -0
  5. package/dist/context/providers/RuntimeAdapterProvider.d.ts +2 -2
  6. package/dist/context/providers/RuntimeAdapterProvider.d.ts.map +1 -0
  7. package/dist/context/providers/ThreadListItemRuntimeProvider.d.ts +2 -2
  8. package/dist/context/providers/ThreadListItemRuntimeProvider.d.ts.map +1 -0
  9. package/dist/index.d.ts +54 -23
  10. package/dist/index.d.ts.map +1 -0
  11. package/dist/index.js +4 -4
  12. package/dist/internal.d.ts +4 -3
  13. package/dist/internal.d.ts.map +1 -0
  14. package/dist/primitives/actionBar/ActionBarCopy.d.ts +7 -9
  15. package/dist/primitives/actionBar/ActionBarCopy.d.ts.map +1 -1
  16. package/dist/primitives/actionBar/ActionBarEdit.d.ts +5 -7
  17. package/dist/primitives/actionBar/ActionBarEdit.d.ts.map +1 -1
  18. package/dist/primitives/actionBar/ActionBarFeedbackNegative.d.ts +6 -8
  19. package/dist/primitives/actionBar/ActionBarFeedbackNegative.d.ts.map +1 -1
  20. package/dist/primitives/actionBar/ActionBarFeedbackNegative.js +28 -20
  21. package/dist/primitives/actionBar/ActionBarFeedbackNegative.js.map +1 -1
  22. package/dist/primitives/actionBar/ActionBarFeedbackPositive.d.ts +6 -8
  23. package/dist/primitives/actionBar/ActionBarFeedbackPositive.d.ts.map +1 -1
  24. package/dist/primitives/actionBar/ActionBarFeedbackPositive.js +28 -20
  25. package/dist/primitives/actionBar/ActionBarFeedbackPositive.js.map +1 -1
  26. package/dist/primitives/actionBar/ActionBarReload.d.ts +5 -7
  27. package/dist/primitives/actionBar/ActionBarReload.d.ts.map +1 -1
  28. package/dist/primitives/actionBar/ActionBarSpeak.d.ts +7 -9
  29. package/dist/primitives/actionBar/ActionBarSpeak.d.ts.map +1 -1
  30. package/dist/primitives/actionBar/ActionBarStopSpeaking.d.ts +7 -9
  31. package/dist/primitives/actionBar/ActionBarStopSpeaking.d.ts.map +1 -1
  32. package/dist/primitives/actionBar.d.ts +7 -12
  33. package/dist/primitives/actionBar.d.ts.map +1 -1
  34. package/dist/primitives/attachment/AttachmentName.d.ts +2 -4
  35. package/dist/primitives/attachment/AttachmentName.d.ts.map +1 -1
  36. package/dist/primitives/attachment/AttachmentRemove.d.ts +2 -4
  37. package/dist/primitives/attachment/AttachmentRemove.d.ts.map +1 -1
  38. package/dist/primitives/attachment/AttachmentRoot.d.ts +3 -5
  39. package/dist/primitives/attachment/AttachmentRoot.d.ts.map +1 -1
  40. package/dist/primitives/attachment/AttachmentThumb.d.ts +2 -4
  41. package/dist/primitives/attachment/AttachmentThumb.d.ts.map +1 -1
  42. package/dist/primitives/attachment.d.ts +4 -9
  43. package/dist/primitives/attachment.d.ts.map +1 -1
  44. package/dist/primitives/branchPicker/BranchPickerCount.d.ts +1 -3
  45. package/dist/primitives/branchPicker/BranchPickerCount.d.ts.map +1 -1
  46. package/dist/primitives/branchPicker/BranchPickerNext.d.ts +5 -7
  47. package/dist/primitives/branchPicker/BranchPickerNext.d.ts.map +1 -1
  48. package/dist/primitives/branchPicker/BranchPickerNumber.d.ts +1 -3
  49. package/dist/primitives/branchPicker/BranchPickerNumber.d.ts.map +1 -1
  50. package/dist/primitives/branchPicker/BranchPickerPrevious.d.ts +5 -7
  51. package/dist/primitives/branchPicker/BranchPickerPrevious.d.ts.map +1 -1
  52. package/dist/primitives/branchPicker.d.ts +4 -9
  53. package/dist/primitives/branchPicker.d.ts.map +1 -1
  54. package/dist/primitives/chainOfThought/ChainOfThoughtAccordionTrigger.d.ts +2 -4
  55. package/dist/primitives/chainOfThought/ChainOfThoughtAccordionTrigger.d.ts.map +1 -1
  56. package/dist/primitives/chainOfThought/ChainOfThoughtRoot.d.ts +3 -5
  57. package/dist/primitives/chainOfThought/ChainOfThoughtRoot.d.ts.map +1 -1
  58. package/dist/primitives/chainOfThought.d.ts +3 -8
  59. package/dist/primitives/chainOfThought.d.ts.map +1 -1
  60. package/dist/primitives/composer/ComposerAddAttachment.d.ts +2 -4
  61. package/dist/primitives/composer/ComposerAddAttachment.d.ts.map +1 -1
  62. package/dist/primitives/composer/ComposerAttachments.d.ts +1 -3
  63. package/dist/primitives/composer/ComposerAttachments.d.ts.map +1 -1
  64. package/dist/primitives/composer/ComposerCancel.d.ts +2 -4
  65. package/dist/primitives/composer/ComposerCancel.d.ts.map +1 -1
  66. package/dist/primitives/composer/ComposerIf.d.ts +2 -2
  67. package/dist/primitives/composer/ComposerIf.d.ts.map +1 -0
  68. package/dist/primitives/composer/ComposerInput.d.ts +8 -10
  69. package/dist/primitives/composer/ComposerInput.d.ts.map +1 -1
  70. package/dist/primitives/composer/ComposerInput.js +1 -1
  71. package/dist/primitives/composer/ComposerInput.js.map +1 -1
  72. package/dist/primitives/composer/ComposerQueue.d.ts +2 -2
  73. package/dist/primitives/composer/ComposerQueue.d.ts.map +1 -0
  74. package/dist/primitives/composer/ComposerQuote.d.ts +3 -5
  75. package/dist/primitives/composer/ComposerQuote.d.ts.map +1 -1
  76. package/dist/primitives/composer/ComposerQuoteDismiss.d.ts +2 -4
  77. package/dist/primitives/composer/ComposerQuoteDismiss.d.ts.map +1 -1
  78. package/dist/primitives/composer/ComposerQuoteText.d.ts +3 -5
  79. package/dist/primitives/composer/ComposerQuoteText.d.ts.map +1 -1
  80. package/dist/primitives/composer/ComposerRoot.d.ts +3 -5
  81. package/dist/primitives/composer/ComposerRoot.d.ts.map +1 -1
  82. package/dist/primitives/composer/ComposerSend.d.ts +2 -4
  83. package/dist/primitives/composer/ComposerSend.d.ts.map +1 -1
  84. package/dist/primitives/composer.d.ts +11 -16
  85. package/dist/primitives/composer.d.ts.map +1 -1
  86. package/dist/primitives/error/ErrorMessage.d.ts +5 -7
  87. package/dist/primitives/error/ErrorMessage.d.ts.map +1 -1
  88. package/dist/primitives/error/ErrorRoot.d.ts +5 -7
  89. package/dist/primitives/error/ErrorRoot.d.ts.map +1 -1
  90. package/dist/primitives/error/index.d.ts +2 -7
  91. package/dist/primitives/error/index.d.ts.map +1 -1
  92. package/dist/primitives/message/MessageAttachments.d.ts +1 -3
  93. package/dist/primitives/message/MessageAttachments.d.ts.map +1 -1
  94. package/dist/primitives/message/MessageContent.d.ts +46 -47
  95. package/dist/primitives/message/MessageContent.d.ts.map +1 -1
  96. package/dist/primitives/message/MessageContent.js +27 -21
  97. package/dist/primitives/message/MessageContent.js.map +1 -1
  98. package/dist/primitives/message/MessageIf.d.ts +7 -9
  99. package/dist/primitives/message/MessageIf.d.ts.map +1 -1
  100. package/dist/primitives/message/MessageParts.d.ts +4 -6
  101. package/dist/primitives/message/MessageParts.d.ts.map +1 -1
  102. package/dist/primitives/message/MessageRoot.d.ts +3 -5
  103. package/dist/primitives/message/MessageRoot.d.ts.map +1 -1
  104. package/dist/primitives/message.d.ts +6 -11
  105. package/dist/primitives/message.d.ts.map +1 -1
  106. package/dist/primitives/messagePart/MessagePartImage.d.ts +4 -6
  107. package/dist/primitives/messagePart/MessagePartImage.d.ts.map +1 -1
  108. package/dist/primitives/messagePart/MessagePartInProgress.d.ts +2 -2
  109. package/dist/primitives/messagePart/MessagePartInProgress.d.ts.map +1 -0
  110. package/dist/primitives/messagePart/MessagePartText.d.ts +4 -6
  111. package/dist/primitives/messagePart/MessagePartText.d.ts.map +1 -1
  112. package/dist/primitives/messagePart.d.ts +4 -9
  113. package/dist/primitives/messagePart.d.ts.map +1 -1
  114. package/dist/primitives/queueItem/QueueItemRemove.d.ts +2 -4
  115. package/dist/primitives/queueItem/QueueItemRemove.d.ts.map +1 -1
  116. package/dist/primitives/queueItem/QueueItemSteer.d.ts +2 -4
  117. package/dist/primitives/queueItem/QueueItemSteer.d.ts.map +1 -1
  118. package/dist/primitives/queueItem/QueueItemText.d.ts +3 -5
  119. package/dist/primitives/queueItem/QueueItemText.d.ts.map +1 -1
  120. package/dist/primitives/queueItem.d.ts +3 -8
  121. package/dist/primitives/queueItem.d.ts.map +1 -1
  122. package/dist/primitives/suggestion/SuggestionDescription.d.ts +3 -5
  123. package/dist/primitives/suggestion/SuggestionDescription.d.ts.map +1 -1
  124. package/dist/primitives/suggestion/SuggestionTitle.d.ts +3 -5
  125. package/dist/primitives/suggestion/SuggestionTitle.d.ts.map +1 -1
  126. package/dist/primitives/suggestion/SuggestionTrigger.d.ts +13 -15
  127. package/dist/primitives/suggestion/SuggestionTrigger.d.ts.map +1 -1
  128. package/dist/primitives/suggestion/SuggestionTrigger.js +1 -1
  129. package/dist/primitives/suggestion.d.ts +3 -8
  130. package/dist/primitives/suggestion.d.ts.map +1 -1
  131. package/dist/primitives/thread/ThreadEmpty.d.ts +2 -4
  132. package/dist/primitives/thread/ThreadEmpty.d.ts.map +1 -1
  133. package/dist/primitives/thread/ThreadIf.d.ts +4 -6
  134. package/dist/primitives/thread/ThreadIf.d.ts.map +1 -1
  135. package/dist/primitives/thread/ThreadMessages.d.ts +37 -37
  136. package/dist/primitives/thread/ThreadMessages.d.ts.map +1 -1
  137. package/dist/primitives/thread/ThreadMessages.js +70 -58
  138. package/dist/primitives/thread/ThreadMessages.js.map +1 -1
  139. package/dist/primitives/thread/ThreadRoot.d.ts +3 -5
  140. package/dist/primitives/thread/ThreadRoot.d.ts.map +1 -1
  141. package/dist/primitives/thread/ThreadSuggestion.d.ts +15 -17
  142. package/dist/primitives/thread/ThreadSuggestion.d.ts.map +1 -1
  143. package/dist/primitives/thread.d.ts +8 -11
  144. package/dist/primitives/thread.d.ts.map +1 -1
  145. package/dist/primitives/threadList/ThreadListItems.d.ts +6 -8
  146. package/dist/primitives/threadList/ThreadListItems.d.ts.map +1 -1
  147. package/dist/primitives/threadList/ThreadListItems.js +1 -1
  148. package/dist/primitives/threadList/ThreadListNew.d.ts +5 -7
  149. package/dist/primitives/threadList/ThreadListNew.d.ts.map +1 -1
  150. package/dist/primitives/threadList/ThreadListNew.js +21 -17
  151. package/dist/primitives/threadList/ThreadListNew.js.map +1 -1
  152. package/dist/primitives/threadList/ThreadListRoot.d.ts +3 -5
  153. package/dist/primitives/threadList/ThreadListRoot.d.ts.map +1 -1
  154. package/dist/primitives/threadList.d.ts +3 -8
  155. package/dist/primitives/threadList.d.ts.map +1 -1
  156. package/dist/primitives/threadListItem/ThreadListItemArchive.d.ts +2 -4
  157. package/dist/primitives/threadListItem/ThreadListItemArchive.d.ts.map +1 -1
  158. package/dist/primitives/threadListItem/ThreadListItemDelete.d.ts +2 -4
  159. package/dist/primitives/threadListItem/ThreadListItemDelete.d.ts.map +1 -1
  160. package/dist/primitives/threadListItem/ThreadListItemRoot.d.ts +3 -5
  161. package/dist/primitives/threadListItem/ThreadListItemRoot.d.ts.map +1 -1
  162. package/dist/primitives/threadListItem/ThreadListItemTrigger.d.ts +5 -7
  163. package/dist/primitives/threadListItem/ThreadListItemTrigger.d.ts.map +1 -1
  164. package/dist/primitives/threadListItem/ThreadListItemTrigger.js +21 -17
  165. package/dist/primitives/threadListItem/ThreadListItemTrigger.js.map +1 -1
  166. package/dist/primitives/threadListItem/ThreadListItemUnarchive.d.ts +2 -4
  167. package/dist/primitives/threadListItem/ThreadListItemUnarchive.d.ts.map +1 -1
  168. package/dist/primitives/threadListItem.d.ts +6 -11
  169. package/dist/primitives/threadListItem.d.ts.map +1 -1
  170. package/dist/runtimes/useLocalRuntime.d.ts +2 -2
  171. package/dist/runtimes/useLocalRuntime.d.ts.map +1 -0
  172. package/dist/runtimes/useRemoteThreadListRuntime.d.ts +2 -2
  173. package/dist/runtimes/useRemoteThreadListRuntime.d.ts.map +1 -0
  174. package/package.json +7 -7
  175. package/src/index.ts +90 -1
  176. package/src/primitives/actionBar/ActionBar.test.tsx +76 -0
  177. package/src/primitives/actionBar/ActionBarFeedbackNegative.tsx +4 -1
  178. package/src/primitives/actionBar/ActionBarFeedbackPositive.tsx +4 -1
  179. package/src/primitives/composer/ComposerInput.test.tsx +17 -1
  180. package/src/primitives/composer/ComposerInput.tsx +6 -1
  181. package/src/primitives/message/MessageContent.test.tsx +64 -3
  182. package/src/primitives/message/MessageContent.tsx +5 -3
  183. package/src/primitives/thread/ThreadMessages.test.tsx +111 -5
  184. package/src/primitives/thread/ThreadMessages.tsx +41 -11
  185. package/src/primitives/threadList/ThreadListNew.test.tsx +35 -8
  186. package/src/primitives/threadList/ThreadListNew.tsx +4 -1
  187. package/src/primitives/threadListItem/ThreadListItemTrigger.test.tsx +32 -6
  188. package/src/primitives/threadListItem/ThreadListItemTrigger.tsx +4 -1
@@ -1 +1 @@
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","history","hasMore","isLoadingMore","loadMore","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","horizontal","t3","t4","t5","undefined","t6","Symbol","for","contentHeight","viewportHeight","scrollY","metricsRef","isAtBottomRef","lastScrollEventOffsetRef","initializeScrollRequestedRef","contentSizeVersionRef","pendingScrollToBottomRef","t7","updateIsAtBottom","t8","animated","contentHeight_0","viewportHeight_0","offset","Math","max","scrollToOffset","scrollToBottom","t9","event","wasAtBottom","previousViewportHeight","viewportHeight_1","nativeEvent","layout","width","height","pending","minimumContentSizeVersion","handleLayout","t10","event_0","contentOffset","contentSize","layoutMeasurement","scrollOffset","x","y","previousEventOffset","wasPinnedToBottom","upwardMove","handleScroll","t11","metrics","contentHeight_1","previousContentHeight","wasAtBottom_0","pendingScroll","handleContentSizeChange","t12","t13","t14","t15","t16","ThreadMessagesFlatList","flatListProps","onContentSizeChange","onLayout","onScroll","onStartReached","onStartReachedThreshold","scrollEventThrottle","messages","_temp3","length","handleAutoScrollContentSizeChange","handleAutoScrollLayout","handleAutoScrollScroll","renderItem","keyExtractor","_temp4","scrollTracking","canLoadMore","info","handleStartReached","minIndexForVisible","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 history?:\n | {\n hasMore: boolean;\n isLoadingMore: boolean;\n loadMore: () => void;\n }\n | 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 DEFAULT_SYSTEM_MESSAGE\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 horizontal = false,\n autoScroll = true,\n scrollToBottomOnRunStart = true,\n scrollToBottomOnInitialize = true,\n scrollToBottomOnThreadSwitch = true,\n}: {\n flatListRef: RefObject<FlatList<ThreadMessage> | null>;\n hasMessages: boolean;\n horizontal?: boolean | null | undefined;\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 lastScrollEventOffsetRef = useRef(0);\n const initializeScrollRequestedRef = useRef(false);\n const contentSizeVersionRef = useRef(0);\n const pendingScrollToBottomRef = useRef<\n | false\n | {\n animated: boolean;\n minimumContentSizeVersion: number;\n }\n >(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 const offset = Math.max(0, contentHeight - viewportHeight);\n metricsRef.current.scrollY = offset;\n isAtBottomRef.current = true;\n flatListRef.current?.scrollToOffset({ offset, animated });\n },\n [flatListRef],\n );\n\n const handleLayout = useCallback(\n (event: LayoutChangeEvent) => {\n const wasAtBottom = isAtBottomRef.current;\n const previousViewportHeight = metricsRef.current.viewportHeight;\n const viewportHeight = horizontal\n ? event.nativeEvent.layout.width\n : event.nativeEvent.layout.height;\n metricsRef.current.viewportHeight = viewportHeight;\n updateIsAtBottom();\n const pending = pendingScrollToBottomRef.current;\n if (\n pending &&\n contentSizeVersionRef.current >= pending.minimumContentSizeVersion &&\n viewportHeight > 0\n ) {\n pendingScrollToBottomRef.current = false;\n scrollToBottom(pending.animated);\n return;\n }\n if (!wasAtBottom) return;\n // Layout changes are never user gestures, so they must not unpin. Past\n // the first measurement, a viewport change while pinned re-commands the\n // bottom position, since no content-size event follows a bare keyboard\n // open or close.\n if (\n autoScroll &&\n previousViewportHeight !== 0 &&\n viewportHeight !== previousViewportHeight\n ) {\n scrollToBottom(pending ? pending.animated : false);\n } else {\n isAtBottomRef.current = true;\n }\n },\n [autoScroll, horizontal, scrollToBottom, updateIsAtBottom],\n );\n\n const handleScroll = useCallback(\n (event: NativeSyntheticEvent<NativeScrollEvent>) => {\n const { contentOffset, contentSize, layoutMeasurement } =\n event.nativeEvent;\n const scrollOffset = horizontal ? contentOffset.x : contentOffset.y;\n const previousEventOffset = lastScrollEventOffsetRef.current;\n const wasPinnedToBottom = isAtBottomRef.current;\n lastScrollEventOffsetRef.current = scrollOffset;\n metricsRef.current = {\n contentHeight: horizontal ? contentSize.width : contentSize.height,\n viewportHeight: horizontal\n ? layoutMeasurement.width\n : layoutMeasurement.height,\n scrollY: scrollOffset,\n };\n updateIsAtBottom();\n const upwardMove = scrollOffset < previousEventOffset;\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 [horizontal, updateIsAtBottom],\n );\n\n const handleContentSizeChange = useCallback(\n (width: number, height: number) => {\n const metrics = metricsRef.current;\n const contentHeight = horizontal ? width : height;\n const previousContentHeight = metrics.contentHeight;\n const wasAtBottom = isAtBottomRef.current;\n if (contentHeight > 0) contentSizeVersionRef.current += 1;\n metrics.contentHeight = contentHeight;\n updateIsAtBottom();\n\n // Initialize and thread-switch requests are repeated after the list has\n // measured so the explicit bottom offset uses real content metrics.\n const pendingScroll = pendingScrollToBottomRef.current;\n if (\n pendingScroll &&\n contentSizeVersionRef.current >=\n pendingScroll.minimumContentSizeVersion &&\n metrics.viewportHeight > 0\n ) {\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 (contentHeight <= previousContentHeight) return;\n\n scrollToBottom(false);\n },\n [autoScroll, horizontal, 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 = {\n animated: false,\n minimumContentSizeVersion: Math.max(1, contentSizeVersionRef.current),\n };\n scrollToBottom(false);\n }, [hasMessages, scrollToBottom, scrollToBottomOnInitialize]);\n\n useAuiEvent(\"thread.runStart\", () => {\n if (!scrollToBottomOnRunStart) return;\n pendingScrollToBottomRef.current = {\n animated: true,\n minimumContentSizeVersion: contentSizeVersionRef.current + 1,\n };\n scrollToBottom(true);\n });\n\n useAuiEvent(\"threads.selectionChanged\", () => {\n if (!scrollToBottomOnThreadSwitch) return;\n initializeScrollRequestedRef.current = false;\n lastScrollEventOffsetRef.current = 0;\n pendingScrollToBottomRef.current = {\n animated: false,\n minimumContentSizeVersion: contentSizeVersionRef.current + 1,\n };\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 onStartReached,\n onStartReachedThreshold,\n scrollEventThrottle,\n scrollToBottomOnInitialize,\n scrollToBottomOnRunStart,\n scrollToBottomOnThreadSwitch,\n history,\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 horizontal: flatListProps.horizontal,\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 const canLoadMore = history?.hasMore && !history.isLoadingMore;\n\n const handleStartReached = useCallback<\n NonNullable<FlatListProps<ThreadMessage>[\"onStartReached\"]>\n >(\n (info) => {\n onStartReached?.(info);\n history?.loadMore();\n },\n [history, onStartReached],\n );\n\n return (\n <FlatList\n ref={setFlatListRef}\n data={messages as unknown as ThreadMessage[]}\n renderItem={renderItem}\n keyExtractor={keyExtractor}\n maintainVisibleContentPosition={{ minIndexForVisible: 0 }}\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 {...(history\n ? {\n ...(canLoadMore\n ? { onStartReached: handleStartReached }\n : onStartReached\n ? { onStartReached }\n : {}),\n onStartReachedThreshold: onStartReachedThreshold ?? 1,\n }\n : {\n ...(onStartReached && { onStartReached }),\n ...(onStartReachedThreshold !== undefined && {\n onStartReachedThreshold,\n }),\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
+ {"version":3,"file":"ThreadMessages.js","names":["ComponentType","FC","ForwardedRef","ReactNode","RefObject","forwardRef","memo","useCallback","useEffect","useRef","FlatList","FlatListProps","LayoutChangeEvent","NativeScrollEvent","NativeSyntheticEvent","ThreadMessage","MessageState","RenderChildrenWithAccessor","useAuiEvent","useAuiState","MessageByIndexProvider","MessageComponents","Message","EditComposer","UserEditComposer","AssistantEditComposer","SystemEditComposer","UserMessage","AssistantMessage","SystemMessage","MessagesContent","components","children","value","message","ThreadMessagesFlatListProps","Omit","autoScroll","scrollToBottomOnRunStart","scrollToBottomOnInitialize","scrollToBottomOnThreadSwitch","history","hasMore","isLoadingMore","loadMore","ThreadMessagesProps","DEFAULT_SYSTEM_MESSAGE","AT_BOTTOM_THRESHOLD","useHistoryLoad","onStartReached","loadRequestedRef","current","handleStartReached","NonNullable","info","error","canLoadMore","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","useComposedFlatListRef","forwardedRef","flatListRef","node","setFlatListRef","const","useThreadMessagesFlatListAutoScroll","hasMessages","horizontal","t3","t4","t5","undefined","t6","Symbol","for","contentHeight","viewportHeight","scrollY","metricsRef","isAtBottomRef","lastScrollEventOffsetRef","initializeScrollRequestedRef","contentSizeVersionRef","pendingScrollToBottomRef","t7","updateIsAtBottom","t8","animated","contentHeight_0","viewportHeight_0","offset","Math","max","scrollToOffset","scrollToBottom","t9","event","wasAtBottom","previousViewportHeight","viewportHeight_1","nativeEvent","layout","width","height","pending","minimumContentSizeVersion","handleLayout","t10","event_0","contentOffset","contentSize","layoutMeasurement","scrollOffset","x","y","previousEventOffset","wasPinnedToBottom","upwardMove","handleScroll","t11","metrics","contentHeight_1","previousContentHeight","wasAtBottom_0","pendingScroll","handleContentSizeChange","t12","t13","t14","t15","t16","ThreadMessagesFlatList","flatListProps","onContentSizeChange","onLayout","onScroll","onStartReachedThreshold","scrollEventThrottle","messages","_temp3","length","handleAutoScrollContentSizeChange","handleAutoScrollLayout","handleAutoScrollScroll","renderItem","keyExtractor","_temp4","scrollTracking","minIndexForVisible","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 { ThreadMessage } from \"@assistant-ui/core\";\nimport type { MessageState } from \"@assistant-ui/core/store\";\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 history?:\n | {\n hasMore: boolean;\n isLoadingMore: boolean;\n loadMore: () => void;\n }\n | 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 useHistoryLoad = (\n history: ThreadMessagesFlatListProps[\"history\"],\n onStartReached: FlatListProps<ThreadMessage>[\"onStartReached\"],\n) => {\n const loadRequestedRef = useRef(false);\n const hasMore = history?.hasMore ?? false;\n const isLoadingMore = history?.isLoadingMore ?? false;\n\n // The latch is scoped to one commit so a no-op load cannot disable paging.\n useEffect(() => {\n loadRequestedRef.current = isLoadingMore;\n });\n\n const handleStartReached = useCallback<\n NonNullable<FlatListProps<ThreadMessage>[\"onStartReached\"]>\n >(\n (info) => {\n onStartReached?.(info);\n if (loadRequestedRef.current) return;\n loadRequestedRef.current = true;\n try {\n history?.loadMore();\n } catch (error) {\n loadRequestedRef.current = false;\n throw error;\n }\n },\n [history, onStartReached],\n );\n\n return {\n canLoadMore: hasMore && !isLoadingMore,\n handleStartReached,\n };\n};\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 DEFAULT_SYSTEM_MESSAGE\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 horizontal = false,\n autoScroll = true,\n scrollToBottomOnRunStart = true,\n scrollToBottomOnInitialize = true,\n scrollToBottomOnThreadSwitch = true,\n}: {\n flatListRef: RefObject<FlatList<ThreadMessage> | null>;\n hasMessages: boolean;\n horizontal?: boolean | null | undefined;\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 lastScrollEventOffsetRef = useRef(0);\n const initializeScrollRequestedRef = useRef(false);\n const contentSizeVersionRef = useRef(0);\n const pendingScrollToBottomRef = useRef<\n | false\n | {\n animated: boolean;\n minimumContentSizeVersion: number;\n }\n >(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 const offset = Math.max(0, contentHeight - viewportHeight);\n metricsRef.current.scrollY = offset;\n isAtBottomRef.current = true;\n flatListRef.current?.scrollToOffset({ offset, animated });\n },\n [flatListRef],\n );\n\n const handleLayout = useCallback(\n (event: LayoutChangeEvent) => {\n const wasAtBottom = isAtBottomRef.current;\n const previousViewportHeight = metricsRef.current.viewportHeight;\n const viewportHeight = horizontal\n ? event.nativeEvent.layout.width\n : event.nativeEvent.layout.height;\n metricsRef.current.viewportHeight = viewportHeight;\n updateIsAtBottom();\n const pending = pendingScrollToBottomRef.current;\n if (\n pending &&\n contentSizeVersionRef.current >= pending.minimumContentSizeVersion &&\n viewportHeight > 0\n ) {\n pendingScrollToBottomRef.current = false;\n scrollToBottom(pending.animated);\n return;\n }\n if (!wasAtBottom) return;\n // Layout changes are never user gestures, so they must not unpin. Past\n // the first measurement, a viewport change while pinned re-commands the\n // bottom position, since no content-size event follows a bare keyboard\n // open or close.\n if (\n autoScroll &&\n previousViewportHeight !== 0 &&\n viewportHeight !== previousViewportHeight\n ) {\n scrollToBottom(pending ? pending.animated : false);\n } else {\n isAtBottomRef.current = true;\n }\n },\n [autoScroll, horizontal, scrollToBottom, updateIsAtBottom],\n );\n\n const handleScroll = useCallback(\n (event: NativeSyntheticEvent<NativeScrollEvent>) => {\n const { contentOffset, contentSize, layoutMeasurement } =\n event.nativeEvent;\n const scrollOffset = horizontal ? contentOffset.x : contentOffset.y;\n const previousEventOffset = lastScrollEventOffsetRef.current;\n const wasPinnedToBottom = isAtBottomRef.current;\n lastScrollEventOffsetRef.current = scrollOffset;\n metricsRef.current = {\n contentHeight: horizontal ? contentSize.width : contentSize.height,\n viewportHeight: horizontal\n ? layoutMeasurement.width\n : layoutMeasurement.height,\n scrollY: scrollOffset,\n };\n updateIsAtBottom();\n const upwardMove = scrollOffset < previousEventOffset;\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 [horizontal, updateIsAtBottom],\n );\n\n const handleContentSizeChange = useCallback(\n (width: number, height: number) => {\n const metrics = metricsRef.current;\n const contentHeight = horizontal ? width : height;\n const previousContentHeight = metrics.contentHeight;\n const wasAtBottom = isAtBottomRef.current;\n if (contentHeight > 0) contentSizeVersionRef.current += 1;\n metrics.contentHeight = contentHeight;\n updateIsAtBottom();\n\n // Initialize and thread-switch requests are repeated after the list has\n // measured so the explicit bottom offset uses real content metrics.\n const pendingScroll = pendingScrollToBottomRef.current;\n if (\n pendingScroll &&\n contentSizeVersionRef.current >=\n pendingScroll.minimumContentSizeVersion &&\n metrics.viewportHeight > 0\n ) {\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 (contentHeight <= previousContentHeight) return;\n\n scrollToBottom(false);\n },\n [autoScroll, horizontal, 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 = {\n animated: false,\n minimumContentSizeVersion: Math.max(1, contentSizeVersionRef.current),\n };\n scrollToBottom(false);\n }, [hasMessages, scrollToBottom, scrollToBottomOnInitialize]);\n\n useAuiEvent(\"thread.runStart\", () => {\n if (!scrollToBottomOnRunStart) return;\n pendingScrollToBottomRef.current = {\n animated: true,\n minimumContentSizeVersion: contentSizeVersionRef.current + 1,\n };\n scrollToBottom(true);\n });\n\n useAuiEvent(\"threads.selectionChanged\", () => {\n if (!scrollToBottomOnThreadSwitch) return;\n initializeScrollRequestedRef.current = false;\n lastScrollEventOffsetRef.current = 0;\n pendingScrollToBottomRef.current = {\n animated: false,\n minimumContentSizeVersion: contentSizeVersionRef.current + 1,\n };\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 onStartReached,\n onStartReachedThreshold,\n scrollEventThrottle,\n scrollToBottomOnInitialize,\n scrollToBottomOnRunStart,\n scrollToBottomOnThreadSwitch,\n history,\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 horizontal: flatListProps.horizontal,\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 const { canLoadMore, handleStartReached } = useHistoryLoad(\n history,\n onStartReached,\n );\n\n return (\n <FlatList\n ref={setFlatListRef}\n data={messages as unknown as ThreadMessage[]}\n renderItem={renderItem}\n keyExtractor={keyExtractor}\n maintainVisibleContentPosition={{ minIndexForVisible: 0 }}\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 {...(history\n ? {\n ...(canLoadMore\n ? { onStartReached: handleStartReached }\n : onStartReached\n ? { onStartReached }\n : {}),\n onStartReachedThreshold: onStartReachedThreshold ?? 1,\n }\n : {\n ...(onStartReached && { onStartReached }),\n ...(onStartReachedThreshold !== undefined && {\n onStartReachedThreshold,\n }),\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,9 +1,7 @@
1
- import { ViewProps } from "react-native";
2
- import { ReactNode } from "react";
3
- //#region src/primitives/thread/ThreadRoot.d.ts
1
+ import type { ReactNode } from "react";
2
+ import { type ViewProps } from "react-native";
4
3
  export type ThreadRootProps = ViewProps & {
5
- children: ReactNode;
4
+ children: ReactNode;
6
5
  };
7
6
  export declare const ThreadRoot: ({ children, ...viewProps }: ThreadRootProps) => import("react").JSX.Element;
8
- //#endregion
9
7
  //# sourceMappingURL=ThreadRoot.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ThreadRoot.d.ts","names":[],"sources":["../../../src/primitives/thread/ThreadRoot.tsx"],"mappings":";;;YAGY,kBAAkB;EAC5B,UAAU;;qBAGC,eAAc,aAAA,aAA4B,oCAAe,IAAA"}
1
+ {"version":3,"file":"ThreadRoot.d.ts","sourceRoot":"","sources":["../../../src/primitives/thread/ThreadRoot.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAQ,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAEpD,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG;IACxC,QAAQ,EAAE,SAAS,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,4BAA4B,eAAe,gCAErE,CAAC"}
@@ -1,21 +1,19 @@
1
- import { PressableProps } from "react-native";
2
- //#region src/primitives/thread/ThreadSuggestion.d.ts
1
+ import { type PressableProps } from "react-native";
3
2
  export type ThreadSuggestionProps = Omit<PressableProps, "onPress" | "children"> & {
4
- children: PressableProps["children"];
5
- /** The suggestion prompt. */
6
- prompt: string;
7
- /**
8
- * When true, automatically sends the message.
9
- * When false, replaces or appends the composer text with the suggestion.
10
- */
11
- send?: boolean | undefined;
12
- /**
13
- * Whether to clear the composer. When send is false, determines if composer
14
- * text is replaced (true) or appended (false).
15
- * @default true
16
- */
17
- clearComposer?: boolean | undefined;
3
+ children: PressableProps["children"];
4
+ /** The suggestion prompt. */
5
+ prompt: string;
6
+ /**
7
+ * When true, automatically sends the message.
8
+ * When false, replaces or appends the composer text with the suggestion.
9
+ */
10
+ send?: boolean | undefined;
11
+ /**
12
+ * Whether to clear the composer. When send is false, determines if composer
13
+ * text is replaced (true) or appended (false).
14
+ * @default true
15
+ */
16
+ clearComposer?: boolean | undefined;
18
17
  };
19
18
  export declare const ThreadSuggestion: ({ children, prompt, send, clearComposer, disabled: disabledProp, ...pressableProps }: ThreadSuggestionProps) => import("react").JSX.Element;
20
- //#endregion
21
19
  //# sourceMappingURL=ThreadSuggestion.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ThreadSuggestion.d.ts","names":[],"sources":["../../../src/primitives/thread/ThreadSuggestion.tsx"],"mappings":";;YAGY,wBAAwB,KAClC;EAGA,UAAU;;EAEV;;;;;EAKA;;;;;;EAMA;;qBAGW,qBAAoB,UAAA,QAAA,MAAA,eAAA,UAAA,iBAAA,kBAO9B,0CAAqB,IAAA"}
1
+ {"version":3,"file":"ThreadSuggestion.d.ts","sourceRoot":"","sources":["../../../src/primitives/thread/ThreadSuggestion.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAG9D,MAAM,MAAM,qBAAqB,GAAG,IAAI,CACtC,cAAc,EACd,SAAS,GAAG,UAAU,CACvB,GAAG;IACF,QAAQ,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;IACrC,6BAA6B;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC3B;;;;OAIG;IACH,aAAa,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACrC,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,sFAO9B,qBAAqB,gCAiBvB,CAAC"}
@@ -1,12 +1,9 @@
1
- import { ThreadRoot, ThreadRootProps } from "./thread/ThreadRoot.js";
2
- import { ThreadMessages, ThreadMessagesFlatList, ThreadMessagesFlatListProps, ThreadMessagesProps } from "./thread/ThreadMessages.js";
3
- import { ThreadEmpty, ThreadEmptyProps } from "./thread/ThreadEmpty.js";
4
- import { ThreadIf, ThreadIfProps } from "./thread/ThreadIf.js";
5
- import { ThreadSuggestion, ThreadSuggestionProps } from "./thread/ThreadSuggestion.js";
6
- import { ThreadPrimitiveMessageByIndex as MessageByIndex, ThreadPrimitiveSuggestionByIndex as SuggestionByIndex, ThreadPrimitiveSuggestions as Suggestions, ThreadPrimitiveUnstable_MessageById as Unstable_MessageById } from "@assistant-ui/core/react";
7
- declare namespace thread_d_exports {
8
- export { ThreadEmpty as Empty, ThreadEmptyProps as EmptyProps, ThreadIf as If, ThreadIfProps as IfProps, MessageByIndex, ThreadMessages as Messages, ThreadMessagesFlatList as MessagesFlatList, ThreadMessagesFlatListProps as MessagesFlatListProps, ThreadMessagesProps as MessagesProps, ThreadRoot as Root, ThreadRootProps as RootProps, ThreadSuggestion as Suggestion, SuggestionByIndex, ThreadSuggestionProps as SuggestionProps, Suggestions, Unstable_MessageById };
9
- }
10
- //#endregion
11
- export { ThreadEmpty as Empty, type ThreadEmptyProps as EmptyProps, ThreadIf as If, type ThreadIfProps as IfProps, MessageByIndex, ThreadMessages as Messages, ThreadMessagesFlatList as MessagesFlatList, type ThreadMessagesFlatListProps as MessagesFlatListProps, type ThreadMessagesProps as MessagesProps, ThreadRoot as Root, type ThreadRootProps as RootProps, ThreadSuggestion as Suggestion, SuggestionByIndex, type ThreadSuggestionProps as SuggestionProps, Suggestions, Unstable_MessageById, thread_d_exports };
1
+ export { ThreadRoot as Root, type ThreadRootProps as RootProps, } from "./thread/ThreadRoot.js";
2
+ export { ThreadMessagesFlatList as MessagesFlatList, type ThreadMessagesFlatListProps as MessagesFlatListProps, ThreadMessages as Messages, type ThreadMessagesProps as MessagesProps, } from "./thread/ThreadMessages.js";
3
+ export { ThreadPrimitiveMessageByIndex as MessageByIndex } from "@assistant-ui/core/react";
4
+ export { ThreadPrimitiveUnstable_MessageById as Unstable_MessageById } from "@assistant-ui/core/react";
5
+ export { ThreadEmpty as Empty, type ThreadEmptyProps as EmptyProps, } from "./thread/ThreadEmpty.js";
6
+ export { ThreadIf as If, type ThreadIfProps as IfProps, } from "./thread/ThreadIf.js";
7
+ export { ThreadSuggestion as Suggestion, type ThreadSuggestionProps as SuggestionProps, } from "./thread/ThreadSuggestion.js";
8
+ export { ThreadPrimitiveSuggestions as Suggestions, ThreadPrimitiveSuggestionByIndex as SuggestionByIndex, } from "@assistant-ui/core/react";
12
9
  //# sourceMappingURL=thread.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"thread.d.ts","names":[],"sources":["../../src/primitives/thread.ts"],"mappings":""}
1
+ {"version":3,"file":"thread.d.ts","sourceRoot":"","sources":["../../src/primitives/thread.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,IAAI,IAAI,EAClB,KAAK,eAAe,IAAI,SAAS,GAClC,+BAA4B;AAC7B,OAAO,EACL,sBAAsB,IAAI,gBAAgB,EAC1C,KAAK,2BAA2B,IAAI,qBAAqB,EACzD,cAAc,IAAI,QAAQ,EAC1B,KAAK,mBAAmB,IAAI,aAAa,GAC1C,mCAAgC;AACjC,OAAO,EAAE,6BAA6B,IAAI,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC3F,OAAO,EAAE,mCAAmC,IAAI,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AACvG,OAAO,EACL,WAAW,IAAI,KAAK,EACpB,KAAK,gBAAgB,IAAI,UAAU,GACpC,gCAA6B;AAC9B,OAAO,EACL,QAAQ,IAAI,EAAE,EACd,KAAK,aAAa,IAAI,OAAO,GAC9B,6BAA0B;AAC3B,OAAO,EACL,gBAAgB,IAAI,UAAU,EAC9B,KAAK,qBAAqB,IAAI,eAAe,GAC9C,qCAAkC;AACnC,OAAO,EACL,0BAA0B,IAAI,WAAW,EACzC,gCAAgC,IAAI,iBAAiB,GACtD,MAAM,0BAA0B,CAAC"}
@@ -1,12 +1,10 @@
1
- import { FlatListProps } from "react-native";
2
- import { ReactElement } from "react";
3
- //#region src/primitives/threadList/ThreadListItems.d.ts
1
+ import { type ReactElement } from "react";
2
+ import { type FlatListProps } from "react-native";
4
3
  export type ThreadListItemsProps = Omit<FlatListProps<string>, "data" | "renderItem"> & {
5
- renderItem: (props: {
6
- threadId: string;
7
- index: number;
8
- }) => ReactElement;
4
+ renderItem: (props: {
5
+ threadId: string;
6
+ index: number;
7
+ }) => ReactElement;
9
8
  };
10
9
  export declare const ThreadListItems: ({ renderItem, ...flatListProps }: ThreadListItemsProps) => import("react").JSX.Element;
11
- //#endregion
12
10
  //# sourceMappingURL=ThreadListItems.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ThreadListItems.d.ts","names":[],"sources":["../../../src/primitives/threadList/ThreadListItems.tsx"],"mappings":";;;YAKY,uBAAuB,KACjC;EAGA,aAAa;IAAS;IAAkB;QAAoB;;qBAGjD,oBAAmB,eAAA,iBAG7B,yCAAoB,IAAA"}
1
+ {"version":3,"file":"ThreadListItems.d.ts","sourceRoot":"","sources":["../../../src/primitives/threadList/ThreadListItems.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAe,MAAM,OAAO,CAAC;AACvD,OAAO,EAAY,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AAI5D,MAAM,MAAM,oBAAoB,GAAG,IAAI,CACrC,aAAa,CAAC,MAAM,CAAC,EACrB,MAAM,GAAG,YAAY,CACtB,GAAG;IACF,UAAU,EAAE,CAAC,KAAK,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,YAAY,CAAC;CAC1E,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,kCAG7B,oBAAoB,gCAwBtB,CAAC"}
@@ -1,5 +1,5 @@
1
- import { useAuiState } from "@assistant-ui/store";
2
1
  import { ThreadListItemByIndexProvider } from "@assistant-ui/core/react";
2
+ import { useAuiState } from "@assistant-ui/store";
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";
@@ -1,11 +1,9 @@
1
- import { PressableProps, PressableStateCallbackType } from "react-native";
2
- import { ReactNode } from "react";
3
- //#region src/primitives/threadList/ThreadListNew.d.ts
1
+ import type { ReactNode } from "react";
2
+ import { type PressableProps, type PressableStateCallbackType } from "react-native";
4
3
  export type ThreadListNewProps = Omit<PressableProps, "onPress" | "children"> & {
5
- children: ReactNode | ((state: PressableStateCallbackType & {
6
- isActive: boolean;
7
- }) => ReactNode);
4
+ children: ReactNode | ((state: PressableStateCallbackType & {
5
+ isActive: boolean;
6
+ }) => ReactNode);
8
7
  };
9
8
  export declare const ThreadListNew: ({ children, accessibilityState, ...pressableProps }: ThreadListNewProps) => import("react").JSX.Element;
10
- //#endregion
11
9
  //# sourceMappingURL=ThreadListNew.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ThreadListNew.d.ts","names":[],"sources":["../../../src/primitives/threadList/ThreadListNew.tsx"],"mappings":";;;YASY,qBAAqB,KAC/B;EAGA,UACI,cAEE,OAAO;IAA+B;QACnC;;qBAGE,kBAAiB,UAAA,uBAAA,kBAI3B,uCAAkB,IAAA"}
1
+ {"version":3,"file":"ThreadListNew.d.ts","sourceRoot":"","sources":["../../../src/primitives/threadList/ThreadListNew.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAGL,KAAK,cAAc,EACnB,KAAK,0BAA0B,EAChC,MAAM,cAAc,CAAC;AAItB,MAAM,MAAM,kBAAkB,GAAG,IAAI,CACnC,cAAc,EACd,SAAS,GAAG,UAAU,CACvB,GAAG;IACF,QAAQ,EACJ,SAAS,GACT,CAAC,CACC,KAAK,EAAE,0BAA0B,GAAG;QAAE,QAAQ,EAAE,OAAO,CAAA;KAAE,KACtD,SAAS,CAAC,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,qDAI3B,kBAAkB,gCAoBpB,CAAC"}
@@ -1,11 +1,11 @@
1
- import { useAuiState } from "@assistant-ui/store";
2
1
  import { useThreadListNew } from "@assistant-ui/core/react";
2
+ import { useAuiState } from "@assistant-ui/store";
3
3
  import { c } from "@assistant-ui/tap/react-shim/compiler-runtime";
4
- import { Pressable } from "react-native";
4
+ import { Platform, Pressable } from "react-native";
5
5
  import { jsx } from "react/jsx-runtime";
6
6
  //#region src/primitives/threadList/ThreadListNew.tsx
7
7
  const ThreadListNew = (t0) => {
8
- const $ = c(15);
8
+ const $ = c(16);
9
9
  let accessibilityState;
10
10
  let children;
11
11
  let pressableProps;
@@ -22,42 +22,46 @@ const ThreadListNew = (t0) => {
22
22
  }
23
23
  const isActive = useAuiState(_temp);
24
24
  const { switchToNewThread } = useThreadListNew();
25
+ const selected = accessibilityState?.selected ?? isActive;
25
26
  let t1;
26
- if ($[4] !== accessibilityState || $[5] !== isActive) {
27
+ if ($[4] !== accessibilityState || $[5] !== selected) {
27
28
  t1 = {
28
- selected: isActive,
29
- ...accessibilityState
29
+ ...accessibilityState,
30
+ selected
30
31
  };
31
32
  $[4] = accessibilityState;
32
- $[5] = isActive;
33
+ $[5] = selected;
33
34
  $[6] = t1;
34
35
  } else t1 = $[6];
35
- let t2;
36
+ const t2 = Platform.OS === "web" && selected ? "true" : void 0;
37
+ let t3;
36
38
  if ($[7] !== children || $[8] !== isActive) {
37
- t2 = typeof children === "function" ? (state) => children({
39
+ t3 = typeof children === "function" ? (state) => children({
38
40
  ...state,
39
41
  isActive
40
42
  }) : children;
41
43
  $[7] = children;
42
44
  $[8] = isActive;
43
- $[9] = t2;
44
- } else t2 = $[9];
45
- let t3;
46
- if ($[10] !== pressableProps || $[11] !== switchToNewThread || $[12] !== t1 || $[13] !== t2) {
47
- t3 = /* @__PURE__ */ jsx(Pressable, {
45
+ $[9] = t3;
46
+ } else t3 = $[9];
47
+ let t4;
48
+ if ($[10] !== pressableProps || $[11] !== switchToNewThread || $[12] !== t1 || $[13] !== t2 || $[14] !== t3) {
49
+ t4 = /* @__PURE__ */ jsx(Pressable, {
48
50
  onPress: switchToNewThread,
49
51
  accessibilityRole: "button",
50
52
  accessibilityState: t1,
53
+ "aria-current": t2,
51
54
  ...pressableProps,
52
- children: t2
55
+ children: t3
53
56
  });
54
57
  $[10] = pressableProps;
55
58
  $[11] = switchToNewThread;
56
59
  $[12] = t1;
57
60
  $[13] = t2;
58
61
  $[14] = t3;
59
- } else t3 = $[14];
60
- return t3;
62
+ $[15] = t4;
63
+ } else t4 = $[15];
64
+ return t4;
61
65
  };
62
66
  function _temp(s) {
63
67
  return s.threads.newThreadId === s.threads.mainThreadId;
@@ -1 +1 @@
1
- {"version":3,"file":"ThreadListNew.js","names":["ReactNode","Pressable","PressableProps","PressableStateCallbackType","useAuiState","useThreadListNew","ThreadListNewProps","Omit","children","state","isActive","ThreadListNew","t0","$","_c","accessibilityState","pressableProps","_temp","switchToNewThread","t1","selected","t2","t3","s","threads","newThreadId","mainThreadId"],"sources":["../../../src/primitives/threadList/ThreadListNew.tsx"],"sourcesContent":["import type { ReactNode } from \"react\";\nimport {\n Pressable,\n type PressableProps,\n type PressableStateCallbackType,\n} from \"react-native\";\nimport { useAuiState } from \"@assistant-ui/store\";\nimport { useThreadListNew } from \"@assistant-ui/core/react\";\n\nexport type ThreadListNewProps = Omit<\n PressableProps,\n \"onPress\" | \"children\"\n> & {\n children:\n | ReactNode\n | ((\n state: PressableStateCallbackType & { isActive: boolean },\n ) => ReactNode);\n};\n\nexport const ThreadListNew = ({\n children,\n accessibilityState,\n ...pressableProps\n}: ThreadListNewProps) => {\n const isActive = useAuiState(\n (s) => s.threads.newThreadId === s.threads.mainThreadId,\n );\n const { switchToNewThread } = useThreadListNew();\n\n return (\n <Pressable\n onPress={switchToNewThread}\n accessibilityRole=\"button\"\n accessibilityState={{ selected: isActive, ...accessibilityState }}\n {...pressableProps}\n >\n {typeof children === \"function\"\n ? (state) => children({ ...state, isActive })\n : children}\n </Pressable>\n );\n};\n"],"mappings":";;;;;;AAoBA,MAAaW,iBAAgBC,OAAA;CAAA,MAAAC,IAAAC,EAAA,EAAA;CAAA,IAAAC;CAAA,IAAAP;CAAA,IAAAQ;CAAA,IAAAH,EAAA,OAAAD,IAAA;EAAC,CAAA,CAAAJ,UAAAO,oBAAA,GAAAC,kBAAAJ;EAITC,EAAA,KAAAD;EAAAC,EAAA,KAAAE;EAAAF,EAAA,KAAAL;EAAAK,EAAA,KAAAG;CAAA,OAAA;EAAAD,qBAAAF,EAAA;EAAAL,WAAAK,EAAA;EAAAG,iBAAAH,EAAA;CAAA;CACnB,MAAAH,WAAiBN,YACfa,KACF;CACA,MAAA,EAAAC,sBAA8Bb,iBAAiB;CAAE,IAAAc;CAAA,IAAAN,EAAA,OAAAE,sBAAAF,EAAA,OAAAH,UAAA;EAMzBS,KAAA;GAAAC,UAAYV;GAAQ,GAAKK;EAAmB;EAACF,EAAA,KAAAE;EAAAF,EAAA,KAAAH;EAAAG,EAAA,KAAAM;CAAA,OAAAA,KAAAN,EAAA;CAAA,IAAAQ;CAAA,IAAAR,EAAA,OAAAL,YAAAK,EAAA,OAAAH,UAAA;EAGhEW,KAAA,OAAOb,aAAa,cAApBC,UACcD,SAAS;GAAA,GAAKC;GAAKC;EAAW,CAAC,IAD7CF;EAEWK,EAAA,KAAAL;EAAAK,EAAA,KAAAH;EAAAG,EAAA,KAAAQ;CAAA,OAAAA,KAAAR,EAAA;CAAA,IAAAS;CAAA,IAAAT,EAAA,QAAAG,kBAAAH,EAAA,QAAAK,qBAAAL,EAAA,QAAAM,MAAAN,EAAA,QAAAQ,IAAA;EARdC,KAAA,oBAAC,WAAD;GACWJ,SAAAA;GACS,mBAAA;GACE,oBAAAC;GAA6C,GAC7DH;GAEHK,UAAAA;EANO,CAAA;EASER,EAAA,MAAAG;EAAAH,EAAA,MAAAK;EAAAL,EAAA,MAAAM;EAAAN,EAAA,MAAAQ;EAAAR,EAAA,MAAAS;CAAA,OAAAA,KAAAT,EAAA;CAAA,OATZS;AASY;AApBa,SAAAL,MAAAM,GAAA;CAAA,OAMlBA,EAACC,QAAQC,gBAAiBF,EAACC,QAAQE;AAAa"}
1
+ {"version":3,"file":"ThreadListNew.js","names":["ReactNode","Platform","Pressable","PressableProps","PressableStateCallbackType","useAuiState","useThreadListNew","ThreadListNewProps","Omit","children","state","isActive","ThreadListNew","t0","$","_c","accessibilityState","pressableProps","_temp","switchToNewThread","selected","t1","t2","OS","undefined","t3","t4","s","threads","newThreadId","mainThreadId"],"sources":["../../../src/primitives/threadList/ThreadListNew.tsx"],"sourcesContent":["import type { ReactNode } from \"react\";\nimport {\n Platform,\n Pressable,\n type PressableProps,\n type PressableStateCallbackType,\n} from \"react-native\";\nimport { useAuiState } from \"@assistant-ui/store\";\nimport { useThreadListNew } from \"@assistant-ui/core/react\";\n\nexport type ThreadListNewProps = Omit<\n PressableProps,\n \"onPress\" | \"children\"\n> & {\n children:\n | ReactNode\n | ((\n state: PressableStateCallbackType & { isActive: boolean },\n ) => ReactNode);\n};\n\nexport const ThreadListNew = ({\n children,\n accessibilityState,\n ...pressableProps\n}: ThreadListNewProps) => {\n const isActive = useAuiState(\n (s) => s.threads.newThreadId === s.threads.mainThreadId,\n );\n const { switchToNewThread } = useThreadListNew();\n const selected = accessibilityState?.selected ?? isActive;\n\n return (\n <Pressable\n onPress={switchToNewThread}\n accessibilityRole=\"button\"\n accessibilityState={{ ...accessibilityState, selected }}\n aria-current={Platform.OS === \"web\" && selected ? \"true\" : undefined}\n {...pressableProps}\n >\n {typeof children === \"function\"\n ? (state) => children({ ...state, isActive })\n : children}\n </Pressable>\n );\n};\n"],"mappings":";;;;;;AAqBA,MAAaY,iBAAgBC,OAAA;CAAA,MAAAC,IAAAC,EAAA,EAAA;CAAA,IAAAC;CAAA,IAAAP;CAAA,IAAAQ;CAAA,IAAAH,EAAA,OAAAD,IAAA;EAAC,CAAA,CAAAJ,UAAAO,oBAAA,GAAAC,kBAAAJ;EAITC,EAAA,KAAAD;EAAAC,EAAA,KAAAE;EAAAF,EAAA,KAAAL;EAAAK,EAAA,KAAAG;CAAA,OAAA;EAAAD,qBAAAF,EAAA;EAAAL,WAAAK,EAAA;EAAAG,iBAAAH,EAAA;CAAA;CACnB,MAAAH,WAAiBN,YACfa,KACF;CACA,MAAA,EAAAC,sBAA8Bb,iBAAiB;CAC/C,MAAAc,WAAiBJ,oBAAkBI,YAAlBT;CAAyC,IAAAU;CAAA,IAAAP,EAAA,OAAAE,sBAAAF,EAAA,OAAAM,UAAA;EAMlCC,KAAA;GAAA,GAAKL;GAAkBI;EAAW;EAACN,EAAA,KAAAE;EAAAF,EAAA,KAAAM;EAAAN,EAAA,KAAAO;CAAA,OAAAA,KAAAP,EAAA;CACzC,MAAAQ,KAAArB,SAAQsB,OAAQ,SAAhBH,WAAA,SAAAI,KAAAA;CAAsD,IAAAC;CAAA,IAAAX,EAAA,OAAAL,YAAAK,EAAA,OAAAH,UAAA;EAGnEc,KAAA,OAAOhB,aAAa,cAApBC,UACcD,SAAS;GAAA,GAAKC;GAAKC;EAAW,CAAC,IAD7CF;EAEWK,EAAA,KAAAL;EAAAK,EAAA,KAAAH;EAAAG,EAAA,KAAAW;CAAA,OAAAA,KAAAX,EAAA;CAAA,IAAAY;CAAA,IAAAZ,EAAA,QAAAG,kBAAAH,EAAA,QAAAK,qBAAAL,EAAA,QAAAO,MAAAP,EAAA,QAAAQ,MAAAR,EAAA,QAAAW,IAAA;EATdC,KAAA,oBAAC,WAAD;GACWP,SAAAA;GACS,mBAAA;GACE,oBAAAE;GACN,gBAAAC;GAAsD,GAChEL;GAEHQ,UAAAA;EAPO,CAAA;EAUEX,EAAA,MAAAG;EAAAH,EAAA,MAAAK;EAAAL,EAAA,MAAAO;EAAAP,EAAA,MAAAQ;EAAAR,EAAA,MAAAW;EAAAX,EAAA,MAAAY;CAAA,OAAAA,KAAAZ,EAAA;CAAA,OAVZY;AAUY;AAtBa,SAAAR,MAAAS,GAAA;CAAA,OAMlBA,EAACC,QAAQC,gBAAiBF,EAACC,QAAQE;AAAa"}
@@ -1,9 +1,7 @@
1
- import { ViewProps } from "react-native";
2
- import { ReactNode } from "react";
3
- //#region src/primitives/threadList/ThreadListRoot.d.ts
1
+ import type { ReactNode } from "react";
2
+ import { type ViewProps } from "react-native";
4
3
  export type ThreadListRootProps = ViewProps & {
5
- children: ReactNode;
4
+ children: ReactNode;
6
5
  };
7
6
  export declare const ThreadListRoot: ({ children, ...viewProps }: ThreadListRootProps) => import("react").JSX.Element;
8
- //#endregion
9
7
  //# sourceMappingURL=ThreadListRoot.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ThreadListRoot.d.ts","names":[],"sources":["../../../src/primitives/threadList/ThreadListRoot.tsx"],"mappings":";;;YAGY,sBAAsB;EAChC,UAAU;;qBAGC,mBAAkB,aAAA,aAG5B,wCAAmB,IAAA"}
1
+ {"version":3,"file":"ThreadListRoot.d.ts","sourceRoot":"","sources":["../../../src/primitives/threadList/ThreadListRoot.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAQ,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAEpD,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG;IAC5C,QAAQ,EAAE,SAAS,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,4BAG5B,mBAAmB,gCAErB,CAAC"}
@@ -1,9 +1,4 @@
1
- import { ThreadListRoot, ThreadListRootProps } from "./threadList/ThreadListRoot.js";
2
- import { ThreadListItems, ThreadListItemsProps } from "./threadList/ThreadListItems.js";
3
- import { ThreadListNew, ThreadListNewProps } from "./threadList/ThreadListNew.js";
4
- declare namespace threadList_d_exports {
5
- export { ThreadListItems as Items, ThreadListItemsProps as ItemsProps, ThreadListNew as New, ThreadListNewProps as NewProps, ThreadListRoot as Root, ThreadListRootProps as RootProps };
6
- }
7
- //#endregion
8
- export { ThreadListItems as Items, type ThreadListItemsProps as ItemsProps, ThreadListNew as New, type ThreadListNewProps as NewProps, ThreadListRoot as Root, type ThreadListRootProps as RootProps, threadList_d_exports };
1
+ export { ThreadListRoot as Root, type ThreadListRootProps as RootProps, } from "./threadList/ThreadListRoot.js";
2
+ export { ThreadListItems as Items, type ThreadListItemsProps as ItemsProps, } from "./threadList/ThreadListItems.js";
3
+ export { ThreadListNew as New, type ThreadListNewProps as NewProps, } from "./threadList/ThreadListNew.js";
9
4
  //# sourceMappingURL=threadList.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"threadList.d.ts","names":[],"sources":["../../src/primitives/threadList.ts"],"mappings":""}
1
+ {"version":3,"file":"threadList.d.ts","sourceRoot":"","sources":["../../src/primitives/threadList.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,IAAI,IAAI,EACtB,KAAK,mBAAmB,IAAI,SAAS,GACtC,uCAAoC;AACrC,OAAO,EACL,eAAe,IAAI,KAAK,EACxB,KAAK,oBAAoB,IAAI,UAAU,GACxC,wCAAqC;AACtC,OAAO,EACL,aAAa,IAAI,GAAG,EACpB,KAAK,kBAAkB,IAAI,QAAQ,GACpC,sCAAmC"}
@@ -1,8 +1,6 @@
1
- import { PressableProps } from "react-native";
2
- //#region src/primitives/threadListItem/ThreadListItemArchive.d.ts
1
+ import { type PressableProps } from "react-native";
3
2
  export type ThreadListItemArchiveProps = Omit<PressableProps, "onPress" | "children"> & {
4
- children: PressableProps["children"];
3
+ children: PressableProps["children"];
5
4
  };
6
5
  export declare const ThreadListItemArchive: ({ children, ...pressableProps }: ThreadListItemArchiveProps) => import("react").JSX.Element;
7
- //#endregion
8
6
  //# sourceMappingURL=ThreadListItemArchive.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ThreadListItemArchive.d.ts","names":[],"sources":["../../../src/primitives/threadListItem/ThreadListItemArchive.tsx"],"mappings":";;YAGY,6BAA6B,KACvC;EAGA,UAAU;;qBAGC,0BAAyB,aAAA,kBAGnC,+CAA0B,IAAA"}
1
+ {"version":3,"file":"ThreadListItemArchive.d.ts","sourceRoot":"","sources":["../../../src/primitives/threadListItem/ThreadListItemArchive.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAG9D,MAAM,MAAM,0BAA0B,GAAG,IAAI,CAC3C,cAAc,EACd,SAAS,GAAG,UAAU,CACvB,GAAG;IACF,QAAQ,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;CACtC,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAI,iCAGnC,0BAA0B,gCAQ5B,CAAC"}
@@ -1,8 +1,6 @@
1
- import { PressableProps } from "react-native";
2
- //#region src/primitives/threadListItem/ThreadListItemDelete.d.ts
1
+ import { type PressableProps } from "react-native";
3
2
  export type ThreadListItemDeleteProps = Omit<PressableProps, "onPress" | "children"> & {
4
- children: PressableProps["children"];
3
+ children: PressableProps["children"];
5
4
  };
6
5
  export declare const ThreadListItemDelete: ({ children, ...pressableProps }: ThreadListItemDeleteProps) => import("react").JSX.Element;
7
- //#endregion
8
6
  //# sourceMappingURL=ThreadListItemDelete.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ThreadListItemDelete.d.ts","names":[],"sources":["../../../src/primitives/threadListItem/ThreadListItemDelete.tsx"],"mappings":";;YAGY,4BAA4B,KACtC;EAGA,UAAU;;qBAGC,yBAAwB,aAAA,kBAGlC,8CAAyB,IAAA"}
1
+ {"version":3,"file":"ThreadListItemDelete.d.ts","sourceRoot":"","sources":["../../../src/primitives/threadListItem/ThreadListItemDelete.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAG9D,MAAM,MAAM,yBAAyB,GAAG,IAAI,CAC1C,cAAc,EACd,SAAS,GAAG,UAAU,CACvB,GAAG;IACF,QAAQ,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;CACtC,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,iCAGlC,yBAAyB,gCAY3B,CAAC"}
@@ -1,9 +1,7 @@
1
- import { ViewProps } from "react-native";
2
- import { ReactNode } from "react";
3
- //#region src/primitives/threadListItem/ThreadListItemRoot.d.ts
1
+ import type { ReactNode } from "react";
2
+ import { type ViewProps } from "react-native";
4
3
  export type ThreadListItemRootProps = ViewProps & {
5
- children: ReactNode;
4
+ children: ReactNode;
6
5
  };
7
6
  export declare const ThreadListItemRoot: ({ children, ...viewProps }: ThreadListItemRootProps) => import("react").JSX.Element;
8
- //#endregion
9
7
  //# sourceMappingURL=ThreadListItemRoot.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ThreadListItemRoot.d.ts","names":[],"sources":["../../../src/primitives/threadListItem/ThreadListItemRoot.tsx"],"mappings":";;;YAGY,0BAA0B;EACpC,UAAU;;qBAGC,uBAAsB,aAAA,aAGhC,4CAAuB,IAAA"}
1
+ {"version":3,"file":"ThreadListItemRoot.d.ts","sourceRoot":"","sources":["../../../src/primitives/threadListItem/ThreadListItemRoot.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAQ,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAEpD,MAAM,MAAM,uBAAuB,GAAG,SAAS,GAAG;IAChD,QAAQ,EAAE,SAAS,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,4BAGhC,uBAAuB,gCAEzB,CAAC"}
@@ -1,11 +1,9 @@
1
- import { PressableProps, PressableStateCallbackType } from "react-native";
2
- import { ReactNode } from "react";
3
- //#region src/primitives/threadListItem/ThreadListItemTrigger.d.ts
1
+ import type { ReactNode } from "react";
2
+ import { type PressableProps, type PressableStateCallbackType } from "react-native";
4
3
  export type ThreadListItemTriggerProps = Omit<PressableProps, "onPress" | "children"> & {
5
- children: ReactNode | ((state: PressableStateCallbackType & {
6
- isActive: boolean;
7
- }) => ReactNode);
4
+ children: ReactNode | ((state: PressableStateCallbackType & {
5
+ isActive: boolean;
6
+ }) => ReactNode);
8
7
  };
9
8
  export declare const ThreadListItemTrigger: ({ children, accessibilityState, ...pressableProps }: ThreadListItemTriggerProps) => import("react").JSX.Element;
10
- //#endregion
11
9
  //# sourceMappingURL=ThreadListItemTrigger.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ThreadListItemTrigger.d.ts","names":[],"sources":["../../../src/primitives/threadListItem/ThreadListItemTrigger.tsx"],"mappings":";;;YASY,6BAA6B,KACvC;EAGA,UACI,cAEE,OAAO;IAA+B;QACnC;;qBAGE,0BAAyB,UAAA,uBAAA,kBAInC,+CAA0B,IAAA"}
1
+ {"version":3,"file":"ThreadListItemTrigger.d.ts","sourceRoot":"","sources":["../../../src/primitives/threadListItem/ThreadListItemTrigger.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAGL,KAAK,cAAc,EACnB,KAAK,0BAA0B,EAChC,MAAM,cAAc,CAAC;AAItB,MAAM,MAAM,0BAA0B,GAAG,IAAI,CAC3C,cAAc,EACd,SAAS,GAAG,UAAU,CACvB,GAAG;IACF,QAAQ,EACJ,SAAS,GACT,CAAC,CACC,KAAK,EAAE,0BAA0B,GAAG;QAAE,QAAQ,EAAE,OAAO,CAAA;KAAE,KACtD,SAAS,CAAC,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAI,qDAInC,0BAA0B,gCAoB5B,CAAC"}