@assistant-ui/react-native 0.1.43 → 0.1.45

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 (234) hide show
  1. package/LICENSE +1 -1
  2. package/dist/context/AssistantContext.d.ts +2 -2
  3. package/dist/context/AssistantContext.d.ts.map +1 -0
  4. package/dist/context/providers/AttachmentByIndexProvider.d.ts +2 -2
  5. package/dist/context/providers/AttachmentByIndexProvider.d.ts.map +1 -0
  6. package/dist/context/providers/RuntimeAdapterProvider.d.ts +2 -2
  7. package/dist/context/providers/RuntimeAdapterProvider.d.ts.map +1 -0
  8. package/dist/context/providers/ThreadListItemRuntimeProvider.d.ts +2 -2
  9. package/dist/context/providers/ThreadListItemRuntimeProvider.d.ts.map +1 -0
  10. package/dist/index.d.ts +54 -23
  11. package/dist/index.d.ts.map +1 -0
  12. package/dist/index.js +4 -4
  13. package/dist/internal.d.ts +4 -3
  14. package/dist/internal.d.ts.map +1 -0
  15. package/dist/primitives/actionBar/ActionBarCopy.d.ts +7 -9
  16. package/dist/primitives/actionBar/ActionBarCopy.d.ts.map +1 -1
  17. package/dist/primitives/actionBar/ActionBarCopy.js.map +1 -1
  18. package/dist/primitives/actionBar/ActionBarEdit.d.ts +5 -7
  19. package/dist/primitives/actionBar/ActionBarEdit.d.ts.map +1 -1
  20. package/dist/primitives/actionBar/ActionBarEdit.js.map +1 -1
  21. package/dist/primitives/actionBar/ActionBarFeedbackNegative.d.ts +6 -8
  22. package/dist/primitives/actionBar/ActionBarFeedbackNegative.d.ts.map +1 -1
  23. package/dist/primitives/actionBar/ActionBarFeedbackNegative.js +28 -20
  24. package/dist/primitives/actionBar/ActionBarFeedbackNegative.js.map +1 -1
  25. package/dist/primitives/actionBar/ActionBarFeedbackPositive.d.ts +6 -8
  26. package/dist/primitives/actionBar/ActionBarFeedbackPositive.d.ts.map +1 -1
  27. package/dist/primitives/actionBar/ActionBarFeedbackPositive.js +28 -20
  28. package/dist/primitives/actionBar/ActionBarFeedbackPositive.js.map +1 -1
  29. package/dist/primitives/actionBar/ActionBarReload.d.ts +5 -7
  30. package/dist/primitives/actionBar/ActionBarReload.d.ts.map +1 -1
  31. package/dist/primitives/actionBar/ActionBarReload.js.map +1 -1
  32. package/dist/primitives/actionBar/ActionBarSpeak.d.ts +7 -9
  33. package/dist/primitives/actionBar/ActionBarSpeak.d.ts.map +1 -1
  34. package/dist/primitives/actionBar/ActionBarSpeak.js.map +1 -1
  35. package/dist/primitives/actionBar/ActionBarStopSpeaking.d.ts +7 -9
  36. package/dist/primitives/actionBar/ActionBarStopSpeaking.d.ts.map +1 -1
  37. package/dist/primitives/actionBar/ActionBarStopSpeaking.js.map +1 -1
  38. package/dist/primitives/actionBar.d.ts +7 -12
  39. package/dist/primitives/actionBar.d.ts.map +1 -1
  40. package/dist/primitives/attachment/AttachmentName.d.ts +2 -4
  41. package/dist/primitives/attachment/AttachmentName.d.ts.map +1 -1
  42. package/dist/primitives/attachment/AttachmentName.js.map +1 -1
  43. package/dist/primitives/attachment/AttachmentRemove.d.ts +2 -4
  44. package/dist/primitives/attachment/AttachmentRemove.d.ts.map +1 -1
  45. package/dist/primitives/attachment/AttachmentRemove.js.map +1 -1
  46. package/dist/primitives/attachment/AttachmentRoot.d.ts +3 -5
  47. package/dist/primitives/attachment/AttachmentRoot.d.ts.map +1 -1
  48. package/dist/primitives/attachment/AttachmentRoot.js.map +1 -1
  49. package/dist/primitives/attachment/AttachmentThumb.d.ts +2 -4
  50. package/dist/primitives/attachment/AttachmentThumb.d.ts.map +1 -1
  51. package/dist/primitives/attachment/AttachmentThumb.js.map +1 -1
  52. package/dist/primitives/attachment.d.ts +4 -9
  53. package/dist/primitives/attachment.d.ts.map +1 -1
  54. package/dist/primitives/branchPicker/BranchPickerCount.d.ts +1 -3
  55. package/dist/primitives/branchPicker/BranchPickerCount.d.ts.map +1 -1
  56. package/dist/primitives/branchPicker/BranchPickerCount.js.map +1 -1
  57. package/dist/primitives/branchPicker/BranchPickerNext.d.ts +5 -7
  58. package/dist/primitives/branchPicker/BranchPickerNext.d.ts.map +1 -1
  59. package/dist/primitives/branchPicker/BranchPickerNext.js.map +1 -1
  60. package/dist/primitives/branchPicker/BranchPickerNumber.d.ts +1 -3
  61. package/dist/primitives/branchPicker/BranchPickerNumber.d.ts.map +1 -1
  62. package/dist/primitives/branchPicker/BranchPickerNumber.js.map +1 -1
  63. package/dist/primitives/branchPicker/BranchPickerPrevious.d.ts +5 -7
  64. package/dist/primitives/branchPicker/BranchPickerPrevious.d.ts.map +1 -1
  65. package/dist/primitives/branchPicker/BranchPickerPrevious.js.map +1 -1
  66. package/dist/primitives/branchPicker.d.ts +4 -9
  67. package/dist/primitives/branchPicker.d.ts.map +1 -1
  68. package/dist/primitives/chainOfThought/ChainOfThoughtAccordionTrigger.d.ts +2 -4
  69. package/dist/primitives/chainOfThought/ChainOfThoughtAccordionTrigger.d.ts.map +1 -1
  70. package/dist/primitives/chainOfThought/ChainOfThoughtAccordionTrigger.js.map +1 -1
  71. package/dist/primitives/chainOfThought/ChainOfThoughtRoot.d.ts +3 -5
  72. package/dist/primitives/chainOfThought/ChainOfThoughtRoot.d.ts.map +1 -1
  73. package/dist/primitives/chainOfThought/ChainOfThoughtRoot.js.map +1 -1
  74. package/dist/primitives/chainOfThought.d.ts +3 -8
  75. package/dist/primitives/chainOfThought.d.ts.map +1 -1
  76. package/dist/primitives/composer/ComposerAddAttachment.d.ts +2 -4
  77. package/dist/primitives/composer/ComposerAddAttachment.d.ts.map +1 -1
  78. package/dist/primitives/composer/ComposerAddAttachment.js.map +1 -1
  79. package/dist/primitives/composer/ComposerAttachments.d.ts +1 -3
  80. package/dist/primitives/composer/ComposerAttachments.d.ts.map +1 -1
  81. package/dist/primitives/composer/ComposerCancel.d.ts +2 -4
  82. package/dist/primitives/composer/ComposerCancel.d.ts.map +1 -1
  83. package/dist/primitives/composer/ComposerCancel.js.map +1 -1
  84. package/dist/primitives/composer/ComposerIf.d.ts +2 -2
  85. package/dist/primitives/composer/ComposerIf.d.ts.map +1 -0
  86. package/dist/primitives/composer/ComposerInput.d.ts +8 -10
  87. package/dist/primitives/composer/ComposerInput.d.ts.map +1 -1
  88. package/dist/primitives/composer/ComposerInput.js +1 -1
  89. package/dist/primitives/composer/ComposerInput.js.map +1 -1
  90. package/dist/primitives/composer/ComposerQueue.d.ts +2 -2
  91. package/dist/primitives/composer/ComposerQueue.d.ts.map +1 -0
  92. package/dist/primitives/composer/ComposerQuote.d.ts +3 -5
  93. package/dist/primitives/composer/ComposerQuote.d.ts.map +1 -1
  94. package/dist/primitives/composer/ComposerQuote.js.map +1 -1
  95. package/dist/primitives/composer/ComposerQuoteDismiss.d.ts +2 -4
  96. package/dist/primitives/composer/ComposerQuoteDismiss.d.ts.map +1 -1
  97. package/dist/primitives/composer/ComposerQuoteDismiss.js.map +1 -1
  98. package/dist/primitives/composer/ComposerQuoteText.d.ts +3 -5
  99. package/dist/primitives/composer/ComposerQuoteText.d.ts.map +1 -1
  100. package/dist/primitives/composer/ComposerQuoteText.js.map +1 -1
  101. package/dist/primitives/composer/ComposerRoot.d.ts +3 -5
  102. package/dist/primitives/composer/ComposerRoot.d.ts.map +1 -1
  103. package/dist/primitives/composer/ComposerRoot.js.map +1 -1
  104. package/dist/primitives/composer/ComposerSend.d.ts +2 -4
  105. package/dist/primitives/composer/ComposerSend.d.ts.map +1 -1
  106. package/dist/primitives/composer/ComposerSend.js.map +1 -1
  107. package/dist/primitives/composer.d.ts +11 -16
  108. package/dist/primitives/composer.d.ts.map +1 -1
  109. package/dist/primitives/error/ErrorMessage.d.ts +5 -7
  110. package/dist/primitives/error/ErrorMessage.d.ts.map +1 -1
  111. package/dist/primitives/error/ErrorMessage.js.map +1 -1
  112. package/dist/primitives/error/ErrorRoot.d.ts +5 -7
  113. package/dist/primitives/error/ErrorRoot.d.ts.map +1 -1
  114. package/dist/primitives/error/ErrorRoot.js.map +1 -1
  115. package/dist/primitives/error/index.d.ts +2 -7
  116. package/dist/primitives/error/index.d.ts.map +1 -1
  117. package/dist/primitives/message/MessageAttachments.d.ts +1 -3
  118. package/dist/primitives/message/MessageAttachments.d.ts.map +1 -1
  119. package/dist/primitives/message/MessageContent.d.ts +46 -47
  120. package/dist/primitives/message/MessageContent.d.ts.map +1 -1
  121. package/dist/primitives/message/MessageContent.js +70 -54
  122. package/dist/primitives/message/MessageContent.js.map +1 -1
  123. package/dist/primitives/message/MessageIf.d.ts +7 -9
  124. package/dist/primitives/message/MessageIf.d.ts.map +1 -1
  125. package/dist/primitives/message/MessageIf.js.map +1 -1
  126. package/dist/primitives/message/MessageParts.d.ts +4 -6
  127. package/dist/primitives/message/MessageParts.d.ts.map +1 -1
  128. package/dist/primitives/message/MessageParts.js.map +1 -1
  129. package/dist/primitives/message/MessageRoot.d.ts +3 -5
  130. package/dist/primitives/message/MessageRoot.d.ts.map +1 -1
  131. package/dist/primitives/message/MessageRoot.js.map +1 -1
  132. package/dist/primitives/message.d.ts +6 -11
  133. package/dist/primitives/message.d.ts.map +1 -1
  134. package/dist/primitives/messagePart/MessagePartImage.d.ts +4 -6
  135. package/dist/primitives/messagePart/MessagePartImage.d.ts.map +1 -1
  136. package/dist/primitives/messagePart/MessagePartImage.js.map +1 -1
  137. package/dist/primitives/messagePart/MessagePartInProgress.d.ts +2 -2
  138. package/dist/primitives/messagePart/MessagePartInProgress.d.ts.map +1 -0
  139. package/dist/primitives/messagePart/MessagePartText.d.ts +4 -6
  140. package/dist/primitives/messagePart/MessagePartText.d.ts.map +1 -1
  141. package/dist/primitives/messagePart/MessagePartText.js.map +1 -1
  142. package/dist/primitives/messagePart.d.ts +4 -9
  143. package/dist/primitives/messagePart.d.ts.map +1 -1
  144. package/dist/primitives/queueItem/QueueItemRemove.d.ts +2 -4
  145. package/dist/primitives/queueItem/QueueItemRemove.d.ts.map +1 -1
  146. package/dist/primitives/queueItem/QueueItemRemove.js.map +1 -1
  147. package/dist/primitives/queueItem/QueueItemSteer.d.ts +2 -4
  148. package/dist/primitives/queueItem/QueueItemSteer.d.ts.map +1 -1
  149. package/dist/primitives/queueItem/QueueItemSteer.js.map +1 -1
  150. package/dist/primitives/queueItem/QueueItemText.d.ts +3 -5
  151. package/dist/primitives/queueItem/QueueItemText.d.ts.map +1 -1
  152. package/dist/primitives/queueItem/QueueItemText.js.map +1 -1
  153. package/dist/primitives/queueItem.d.ts +3 -8
  154. package/dist/primitives/queueItem.d.ts.map +1 -1
  155. package/dist/primitives/suggestion/SuggestionDescription.d.ts +3 -5
  156. package/dist/primitives/suggestion/SuggestionDescription.d.ts.map +1 -1
  157. package/dist/primitives/suggestion/SuggestionDescription.js.map +1 -1
  158. package/dist/primitives/suggestion/SuggestionTitle.d.ts +3 -5
  159. package/dist/primitives/suggestion/SuggestionTitle.d.ts.map +1 -1
  160. package/dist/primitives/suggestion/SuggestionTitle.js.map +1 -1
  161. package/dist/primitives/suggestion/SuggestionTrigger.d.ts +13 -15
  162. package/dist/primitives/suggestion/SuggestionTrigger.d.ts.map +1 -1
  163. package/dist/primitives/suggestion/SuggestionTrigger.js +1 -1
  164. package/dist/primitives/suggestion/SuggestionTrigger.js.map +1 -1
  165. package/dist/primitives/suggestion.d.ts +3 -8
  166. package/dist/primitives/suggestion.d.ts.map +1 -1
  167. package/dist/primitives/thread/ThreadEmpty.d.ts +2 -4
  168. package/dist/primitives/thread/ThreadEmpty.d.ts.map +1 -1
  169. package/dist/primitives/thread/ThreadEmpty.js.map +1 -1
  170. package/dist/primitives/thread/ThreadIf.d.ts +4 -6
  171. package/dist/primitives/thread/ThreadIf.d.ts.map +1 -1
  172. package/dist/primitives/thread/ThreadIf.js.map +1 -1
  173. package/dist/primitives/thread/ThreadMessages.d.ts +37 -37
  174. package/dist/primitives/thread/ThreadMessages.d.ts.map +1 -1
  175. package/dist/primitives/thread/ThreadMessages.js +70 -58
  176. package/dist/primitives/thread/ThreadMessages.js.map +1 -1
  177. package/dist/primitives/thread/ThreadRoot.d.ts +3 -5
  178. package/dist/primitives/thread/ThreadRoot.d.ts.map +1 -1
  179. package/dist/primitives/thread/ThreadRoot.js.map +1 -1
  180. package/dist/primitives/thread/ThreadSuggestion.d.ts +15 -17
  181. package/dist/primitives/thread/ThreadSuggestion.d.ts.map +1 -1
  182. package/dist/primitives/thread/ThreadSuggestion.js.map +1 -1
  183. package/dist/primitives/thread.d.ts +8 -11
  184. package/dist/primitives/thread.d.ts.map +1 -1
  185. package/dist/primitives/threadList/ThreadListItems.d.ts +6 -8
  186. package/dist/primitives/threadList/ThreadListItems.d.ts.map +1 -1
  187. package/dist/primitives/threadList/ThreadListItems.js +1 -1
  188. package/dist/primitives/threadList/ThreadListItems.js.map +1 -1
  189. package/dist/primitives/threadList/ThreadListNew.d.ts +5 -7
  190. package/dist/primitives/threadList/ThreadListNew.d.ts.map +1 -1
  191. package/dist/primitives/threadList/ThreadListNew.js +21 -17
  192. package/dist/primitives/threadList/ThreadListNew.js.map +1 -1
  193. package/dist/primitives/threadList/ThreadListRoot.d.ts +3 -5
  194. package/dist/primitives/threadList/ThreadListRoot.d.ts.map +1 -1
  195. package/dist/primitives/threadList/ThreadListRoot.js.map +1 -1
  196. package/dist/primitives/threadList.d.ts +3 -8
  197. package/dist/primitives/threadList.d.ts.map +1 -1
  198. package/dist/primitives/threadListItem/ThreadListItemArchive.d.ts +2 -4
  199. package/dist/primitives/threadListItem/ThreadListItemArchive.d.ts.map +1 -1
  200. package/dist/primitives/threadListItem/ThreadListItemArchive.js.map +1 -1
  201. package/dist/primitives/threadListItem/ThreadListItemDelete.d.ts +2 -4
  202. package/dist/primitives/threadListItem/ThreadListItemDelete.d.ts.map +1 -1
  203. package/dist/primitives/threadListItem/ThreadListItemDelete.js.map +1 -1
  204. package/dist/primitives/threadListItem/ThreadListItemRoot.d.ts +3 -5
  205. package/dist/primitives/threadListItem/ThreadListItemRoot.d.ts.map +1 -1
  206. package/dist/primitives/threadListItem/ThreadListItemRoot.js.map +1 -1
  207. package/dist/primitives/threadListItem/ThreadListItemTrigger.d.ts +5 -7
  208. package/dist/primitives/threadListItem/ThreadListItemTrigger.d.ts.map +1 -1
  209. package/dist/primitives/threadListItem/ThreadListItemTrigger.js +21 -17
  210. package/dist/primitives/threadListItem/ThreadListItemTrigger.js.map +1 -1
  211. package/dist/primitives/threadListItem/ThreadListItemUnarchive.d.ts +2 -4
  212. package/dist/primitives/threadListItem/ThreadListItemUnarchive.d.ts.map +1 -1
  213. package/dist/primitives/threadListItem/ThreadListItemUnarchive.js.map +1 -1
  214. package/dist/primitives/threadListItem.d.ts +6 -11
  215. package/dist/primitives/threadListItem.d.ts.map +1 -1
  216. package/dist/runtimes/useLocalRuntime.d.ts +2 -2
  217. package/dist/runtimes/useLocalRuntime.d.ts.map +1 -0
  218. package/dist/runtimes/useRemoteThreadListRuntime.d.ts +2 -2
  219. package/dist/runtimes/useRemoteThreadListRuntime.d.ts.map +1 -0
  220. package/package.json +12 -9
  221. package/src/index.ts +90 -1
  222. package/src/primitives/actionBar/ActionBar.test.tsx +76 -0
  223. package/src/primitives/actionBar/ActionBarFeedbackNegative.tsx +4 -1
  224. package/src/primitives/actionBar/ActionBarFeedbackPositive.tsx +4 -1
  225. package/src/primitives/composer/ComposerInput.test.tsx +17 -1
  226. package/src/primitives/composer/ComposerInput.tsx +6 -1
  227. package/src/primitives/message/MessageContent.test.tsx +110 -4
  228. package/src/primitives/message/MessageContent.tsx +8 -4
  229. package/src/primitives/thread/ThreadMessages.test.tsx +111 -5
  230. package/src/primitives/thread/ThreadMessages.tsx +41 -11
  231. package/src/primitives/threadList/ThreadListNew.test.tsx +35 -8
  232. package/src/primitives/threadList/ThreadListNew.tsx +4 -1
  233. package/src/primitives/threadListItem/ThreadListItemTrigger.test.tsx +32 -6
  234. 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","_exhaustiveCheck","_c"],"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 +1 @@
1
- {"version":3,"file":"ThreadRoot.js","names":["ReactNode","View","ViewProps","ThreadRootProps","children","ThreadRoot","t0","$","_c","viewProps","t1"],"sources":["../../../src/primitives/thread/ThreadRoot.tsx"],"sourcesContent":["import type { ReactNode } from \"react\";\nimport { View, type ViewProps } from \"react-native\";\n\nexport type ThreadRootProps = ViewProps & {\n children: ReactNode;\n};\n\nexport const ThreadRoot = ({ children, ...viewProps }: ThreadRootProps) => {\n return <View {...viewProps}>{children}</View>;\n};\n"],"mappings":";;;;AAOA,MAAaK,cAAaC,OAAA;CAAA,MAAAC,IAAAC,EAAA,CAAA;CAAA,IAAAJ;CAAA,IAAAK;CAAA,IAAAF,EAAA,OAAAD,IAAA;EAAC,CAAA,CAAAF,UAAA,GAAAK,aAAAH;EAA2CC,EAAA,KAAAD;EAAAC,EAAA,KAAAH;EAAAG,EAAA,KAAAE;CAAA,OAAA;EAAAL,WAAAG,EAAA;EAAAE,YAAAF,EAAA;CAAA;CAAA,IAAAG;CAAA,IAAAH,EAAA,OAAAH,YAAAG,EAAA,OAAAE,WAAA;EAC7DC,KAAA,oBAAC,MAAD;GAAK,GAAKD;GAAYL;EAAjB,CAAA;EAAiCG,EAAA,KAAAH;EAAAG,EAAA,KAAAE;EAAAF,EAAA,KAAAG;CAAA,OAAAA,KAAAH,EAAA;CAAA,OAAtCG;AAAsC"}
1
+ {"version":3,"file":"ThreadRoot.js","names":["ReactNode","View","ViewProps","ThreadRootProps","children","ThreadRoot","t0","$","_c","viewProps","t1","_c"],"sources":["../../../src/primitives/thread/ThreadRoot.tsx"],"sourcesContent":["import type { ReactNode } from \"react\";\nimport { View, type ViewProps } from \"react-native\";\n\nexport type ThreadRootProps = ViewProps & {\n children: ReactNode;\n};\n\nexport const ThreadRoot = ({ children, ...viewProps }: ThreadRootProps) => {\n return <View {...viewProps}>{children}</View>;\n};\n"],"mappings":";;;;AAOA,MAAaK,cAAaC,OAAA;CAAA,MAAAC,IAAAC,EAAA,CAAA;CAAA,IAAAJ;CAAA,IAAAK;CAAA,IAAAF,EAAA,OAAAD,IAAA;EAAC,CAAA,CAAAF,UAAA,GAAAK,aAAAH;EAA2CC,EAAA,KAAAD;EAAAC,EAAA,KAAAH;EAAAG,EAAA,KAAAE;CAAA,OAAA;EAAAL,WAAAG,EAAA;EAAAE,YAAAF,EAAA;CAAA;CAAA,IAAAG;CAAA,IAAAH,EAAA,OAAAH,YAAAG,EAAA,OAAAE,WAAA;EAC7DC,KAAA,oBAAC,MAAD;GAAK,GAAKD;GAAYL;EAAjB,CAAA;EAAiCG,EAAA,KAAAH;EAAAG,EAAA,KAAAE;EAAAF,EAAA,KAAAG;CAAA,OAAAA,KAAAH,EAAA;CAAA,OAAtCG;AAAsC"}
@@ -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 +1 @@
1
- {"version":3,"file":"ThreadSuggestion.js","names":["Pressable","PressableProps","useSuggestionTrigger","ThreadSuggestionProps","Omit","children","prompt","send","clearComposer","ThreadSuggestion","t0","$","_c","disabledProp","pressableProps","t1","disabled","undefined","t2","trigger","t3","t4"],"sources":["../../../src/primitives/thread/ThreadSuggestion.tsx"],"sourcesContent":["import { Pressable, type PressableProps } from \"react-native\";\nimport { useSuggestionTrigger } from \"@assistant-ui/core/react\";\n\nexport type ThreadSuggestionProps = Omit<\n PressableProps,\n \"onPress\" | \"children\"\n> & {\n children: PressableProps[\"children\"];\n /** The suggestion prompt. */\n prompt: string;\n /**\n * When true, automatically sends the message.\n * When false, replaces or appends the composer text with the suggestion.\n */\n send?: boolean | undefined;\n /**\n * Whether to clear the composer. When send is false, determines if composer\n * text is replaced (true) or appended (false).\n * @default true\n */\n clearComposer?: boolean | undefined;\n};\n\nexport const ThreadSuggestion = ({\n children,\n prompt,\n send,\n clearComposer = true,\n disabled: disabledProp,\n ...pressableProps\n}: ThreadSuggestionProps) => {\n const { trigger, disabled } = useSuggestionTrigger({\n prompt,\n send,\n clearComposer,\n });\n\n return (\n <Pressable\n onPress={trigger}\n disabled={disabledProp ?? disabled}\n accessibilityRole=\"button\"\n {...pressableProps}\n >\n {children}\n </Pressable>\n );\n};\n"],"mappings":";;;;;AAuBA,MAAaS,oBAAmBC,OAAA;CAAA,MAAAC,IAAAC,EAAA,EAAA;CAAA,IAAAP;CAAA,IAAAQ;CAAA,IAAAC;CAAA,IAAAR;CAAA,IAAAC;CAAA,IAAAQ;CAAA,IAAAJ,EAAA,OAAAD,IAAA;EAAC,CAAA,CAAAL,UAAAC,QAAAC,MAAAC,eAAAO,IAAAC,UAAAH,cAAA,GAAAC,kBAAAJ;EAOTC,EAAA,KAAAD;EAAAC,EAAA,KAAAN;EAAAM,EAAA,KAAAE;EAAAF,EAAA,KAAAG;EAAAH,EAAA,KAAAL;EAAAK,EAAA,KAAAJ;EAAAI,EAAA,KAAAI;CAAA,OAAA;EAAAV,WAAAM,EAAA;EAAAE,eAAAF,EAAA;EAAAG,iBAAAH,EAAA;EAAAL,SAAAK,EAAA;EAAAJ,OAAAI,EAAA;EAAAI,KAAAJ,EAAA;CAAA;CAHtB,MAAAH,gBAAAO,OAAAE,KAAAA,IAAA,OAAAF;CAAoB,IAAAG;CAAA,IAAAP,EAAA,OAAAH,iBAAAG,EAAA,OAAAL,UAAAK,EAAA,OAAAJ,MAAA;EAI+BW,KAAA;GAAAZ;GAAAC;GAAAC;EAInD;EAACG,EAAA,KAAAH;EAAAG,EAAA,KAAAL;EAAAK,EAAA,KAAAJ;EAAAI,EAAA,MAAAO;CAAA,OAAAA,KAAAP,EAAA;CAJD,MAAA,EAAAQ,SAAAH,aAA8Bd,qBAAqBgB,EAIlD;CAKa,MAAAE,KAAAP,gBAAAG;CAAwB,IAAAK;CAAA,IAAAV,EAAA,QAAAN,YAAAM,EAAA,QAAAG,kBAAAH,EAAA,QAAAS,MAAAT,EAAA,QAAAQ,SAAA;EAFpCE,KAAA,oBAAC,WAAD;GACWF,SAAAA;GACC,UAAAC;GACQ,mBAAA;GAAQ,GACtBN;GAEHT;EANO,CAAA;EAOEM,EAAA,MAAAN;EAAAM,EAAA,MAAAG;EAAAH,EAAA,MAAAS;EAAAT,EAAA,MAAAQ;EAAAR,EAAA,MAAAU;CAAA,OAAAA,KAAAV,EAAA;CAAA,OAPZU;AAOY"}
1
+ {"version":3,"file":"ThreadSuggestion.js","names":["Pressable","PressableProps","useSuggestionTrigger","ThreadSuggestionProps","Omit","children","prompt","send","clearComposer","ThreadSuggestion","t0","$","_c","disabledProp","pressableProps","t1","disabled","undefined","t2","trigger","t3","t4","_c"],"sources":["../../../src/primitives/thread/ThreadSuggestion.tsx"],"sourcesContent":["import { Pressable, type PressableProps } from \"react-native\";\nimport { useSuggestionTrigger } from \"@assistant-ui/core/react\";\n\nexport type ThreadSuggestionProps = Omit<\n PressableProps,\n \"onPress\" | \"children\"\n> & {\n children: PressableProps[\"children\"];\n /** The suggestion prompt. */\n prompt: string;\n /**\n * When true, automatically sends the message.\n * When false, replaces or appends the composer text with the suggestion.\n */\n send?: boolean | undefined;\n /**\n * Whether to clear the composer. When send is false, determines if composer\n * text is replaced (true) or appended (false).\n * @default true\n */\n clearComposer?: boolean | undefined;\n};\n\nexport const ThreadSuggestion = ({\n children,\n prompt,\n send,\n clearComposer = true,\n disabled: disabledProp,\n ...pressableProps\n}: ThreadSuggestionProps) => {\n const { trigger, disabled } = useSuggestionTrigger({\n prompt,\n send,\n clearComposer,\n });\n\n return (\n <Pressable\n onPress={trigger}\n disabled={disabledProp ?? disabled}\n accessibilityRole=\"button\"\n {...pressableProps}\n >\n {children}\n </Pressable>\n );\n};\n"],"mappings":";;;;;AAuBA,MAAaS,oBAAmBC,OAAA;CAAA,MAAAC,IAAAC,EAAA,EAAA;CAAA,IAAAP;CAAA,IAAAQ;CAAA,IAAAC;CAAA,IAAAR;CAAA,IAAAC;CAAA,IAAAQ;CAAA,IAAAJ,EAAA,OAAAD,IAAA;EAAC,CAAA,CAAAL,UAAAC,QAAAC,MAAAC,eAAAO,IAAAC,UAAAH,cAAA,GAAAC,kBAAAJ;EAOTC,EAAA,KAAAD;EAAAC,EAAA,KAAAN;EAAAM,EAAA,KAAAE;EAAAF,EAAA,KAAAG;EAAAH,EAAA,KAAAL;EAAAK,EAAA,KAAAJ;EAAAI,EAAA,KAAAI;CAAA,OAAA;EAAAV,WAAAM,EAAA;EAAAE,eAAAF,EAAA;EAAAG,iBAAAH,EAAA;EAAAL,SAAAK,EAAA;EAAAJ,OAAAI,EAAA;EAAAI,KAAAJ,EAAA;CAAA;CAHtB,MAAAH,gBAAAO,OAAAE,KAAAA,IAAA,OAAAF;CAAoB,IAAAG;CAAA,IAAAP,EAAA,OAAAH,iBAAAG,EAAA,OAAAL,UAAAK,EAAA,OAAAJ,MAAA;EAI+BW,KAAA;GAAAZ;GAAAC;GAAAC;EAInD;EAACG,EAAA,KAAAH;EAAAG,EAAA,KAAAL;EAAAK,EAAA,KAAAJ;EAAAI,EAAA,MAAAO;CAAA,OAAAA,KAAAP,EAAA;CAJD,MAAA,EAAAQ,SAAAH,aAA8Bd,qBAAqBgB,EAIlD;CAKa,MAAAE,KAAAP,gBAAAG;CAAwB,IAAAK;CAAA,IAAAV,EAAA,QAAAN,YAAAM,EAAA,QAAAG,kBAAAH,EAAA,QAAAS,MAAAT,EAAA,QAAAQ,SAAA;EAFpCE,KAAA,oBAAC,WAAD;GACWF,SAAAA;GACC,UAAAC;GACQ,mBAAA;GAAQ,GACtBN;GAEHT;EANO,CAAA;EAOEM,EAAA,MAAAN;EAAAM,EAAA,MAAAG;EAAAH,EAAA,MAAAS;EAAAT,EAAA,MAAAQ;EAAAR,EAAA,MAAAU;CAAA,OAAAA,KAAAV,EAAA;CAAA,OAPZU;AAOY"}
@@ -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 +1 @@
1
- {"version":3,"file":"ThreadListItems.js","names":["ReactElement","useCallback","FlatList","FlatListProps","useAuiState","ThreadListItemByIndexProvider","ThreadListItemsProps","Omit","renderItem","props","threadId","index","ThreadListItems","t0","$","_c","flatListProps","threadIds","_temp","t1","t2","item","renderFlatListItem","keyExtractor","_temp2","t3","s","threads","item_0"],"sources":["../../../src/primitives/threadList/ThreadListItems.tsx"],"sourcesContent":["import { type ReactElement, useCallback } from \"react\";\nimport { FlatList, type FlatListProps } from \"react-native\";\nimport { useAuiState } from \"@assistant-ui/store\";\nimport { ThreadListItemByIndexProvider } from \"@assistant-ui/core/react\";\n\nexport type ThreadListItemsProps = Omit<\n FlatListProps<string>,\n \"data\" | \"renderItem\"\n> & {\n renderItem: (props: { threadId: string; index: number }) => ReactElement;\n};\n\nexport const ThreadListItems = ({\n renderItem,\n ...flatListProps\n}: ThreadListItemsProps) => {\n const threadIds = useAuiState((s) => s.threads.threadIds);\n\n const renderFlatListItem = useCallback(\n ({ item, index }: { item: string; index: number }) => {\n return (\n <ThreadListItemByIndexProvider index={index} archived={false}>\n {renderItem({ threadId: item, index })}\n </ThreadListItemByIndexProvider>\n );\n },\n [renderItem],\n );\n\n const keyExtractor = useCallback((item: string) => item, []);\n\n return (\n <FlatList\n data={threadIds as string[]}\n renderItem={renderFlatListItem}\n keyExtractor={keyExtractor}\n {...flatListProps}\n />\n );\n};\n"],"mappings":";;;;;;;AAYA,MAAaY,mBAAkBC,OAAA;CAAA,MAAAC,IAAAC,EAAA,CAAA;CAAA,IAAAC;CAAA,IAAAR;CAAA,IAAAM,EAAA,OAAAD,IAAA;EAAC,CAAA,CAAAL,YAAA,GAAAQ,iBAAAH;EAGTC,EAAA,KAAAD;EAAAC,EAAA,KAAAE;EAAAF,EAAA,KAAAN;CAAA,OAAA;EAAAQ,gBAAAF,EAAA;EAAAN,aAAAM,EAAA;CAAA;CACrB,MAAAG,YAAkBb,YAAYc,KAA0B;CAAE,IAAAC;CAAA,IAAAL,EAAA,OAAAN,YAAA;EAGxDW,MAAAC,OAAA;GAAC,MAAA,EAAAC,MAAAV,UAAAS;GAAgD,OAE7C,oBAAC,+BAAD;IAAsCT;IAAiB,UAAA;IACpDH,UAAAA,WAAW;KAAAE,UAAYW;KAAIV;IAAQ,CAAC;GADT,CAAA;EAEE;EAEnCG,EAAA,KAAAN;EAAAM,EAAA,KAAAK;CAAA,OAAAA,KAAAL,EAAA;CAPH,MAAAQ,qBAA2BH;CAW3B,MAAAI,eAAqBC;CAIX,MAAAJ,KAAAH;CAAqB,IAAAQ;CAAA,IAAAX,EAAA,OAAAE,iBAAAF,EAAA,OAAAQ,sBAAAR,EAAA,OAAAM,IAAA;EAD7BK,KAAA,oBAAC,UAAD;GACQ,MAAAL;GACME,YAAAA;GACEC;GAAY,GACtBP;EAAa,CAAA;EACjBF,EAAA,KAAAE;EAAAF,EAAA,KAAAQ;EAAAR,EAAA,KAAAM;EAAAN,EAAA,KAAAW;CAAA,OAAAA,KAAAX,EAAA;CAAA,OALFW;AAKE;AAzByB,SAAAP,MAAAQ,GAAA;CAAA,OAIQA,EAACC,QAAQV;AAAU;AAJ3B,SAAAO,OAAAI,QAAA;CAAA,OAiBsBP;AAAI"}
1
+ {"version":3,"file":"ThreadListItems.js","names":["ReactElement","useCallback","FlatList","FlatListProps","useAuiState","ThreadListItemByIndexProvider","ThreadListItemsProps","Omit","renderItem","props","threadId","index","ThreadListItems","t0","$","_c","flatListProps","threadIds","_temp","t1","t2","item","renderFlatListItem","keyExtractor","_temp2","t3","s","threads","item_0","_c"],"sources":["../../../src/primitives/threadList/ThreadListItems.tsx"],"sourcesContent":["import { type ReactElement, useCallback } from \"react\";\nimport { FlatList, type FlatListProps } from \"react-native\";\nimport { useAuiState } from \"@assistant-ui/store\";\nimport { ThreadListItemByIndexProvider } from \"@assistant-ui/core/react\";\n\nexport type ThreadListItemsProps = Omit<\n FlatListProps<string>,\n \"data\" | \"renderItem\"\n> & {\n renderItem: (props: { threadId: string; index: number }) => ReactElement;\n};\n\nexport const ThreadListItems = ({\n renderItem,\n ...flatListProps\n}: ThreadListItemsProps) => {\n const threadIds = useAuiState((s) => s.threads.threadIds);\n\n const renderFlatListItem = useCallback(\n ({ item, index }: { item: string; index: number }) => {\n return (\n <ThreadListItemByIndexProvider index={index} archived={false}>\n {renderItem({ threadId: item, index })}\n </ThreadListItemByIndexProvider>\n );\n },\n [renderItem],\n );\n\n const keyExtractor = useCallback((item: string) => item, []);\n\n return (\n <FlatList\n data={threadIds as string[]}\n renderItem={renderFlatListItem}\n keyExtractor={keyExtractor}\n {...flatListProps}\n />\n );\n};\n"],"mappings":";;;;;;;AAYA,MAAaY,mBAAkBC,OAAA;CAAA,MAAAC,IAAAC,EAAA,CAAA;CAAA,IAAAC;CAAA,IAAAR;CAAA,IAAAM,EAAA,OAAAD,IAAA;EAAC,CAAA,CAAAL,YAAA,GAAAQ,iBAAAH;EAGTC,EAAA,KAAAD;EAAAC,EAAA,KAAAE;EAAAF,EAAA,KAAAN;CAAA,OAAA;EAAAQ,gBAAAF,EAAA;EAAAN,aAAAM,EAAA;CAAA;CACrB,MAAAG,YAAkBb,YAAYc,KAA0B;CAAE,IAAAC;CAAA,IAAAL,EAAA,OAAAN,YAAA;EAGxDW,MAAAC,OAAA;GAAC,MAAA,EAAAC,MAAAV,UAAAS;GAAgD,OAE7C,oBAAC,+BAAD;IAAsCT;IAAiB,UAAA;IACpDH,UAAAA,WAAW;KAAAE,UAAYW;KAAIV;IAAQ,CAAC;GADT,CAAA;EAEE;EAEnCG,EAAA,KAAAN;EAAAM,EAAA,KAAAK;CAAA,OAAAA,KAAAL,EAAA;CAPH,MAAAQ,qBAA2BH;CAW3B,MAAAI,eAAqBC;CAIX,MAAAJ,KAAAH;CAAqB,IAAAQ;CAAA,IAAAX,EAAA,OAAAE,iBAAAF,EAAA,OAAAQ,sBAAAR,EAAA,OAAAM,IAAA;EAD7BK,KAAA,oBAAC,UAAD;GACQ,MAAAL;GACME,YAAAA;GACEC;GAAY,GACtBP;EAAa,CAAA;EACjBF,EAAA,KAAAE;EAAAF,EAAA,KAAAQ;EAAAR,EAAA,KAAAM;EAAAN,EAAA,KAAAW;CAAA,OAAAA,KAAAX,EAAA;CAAA,OALFW;AAKE;AAzByB,SAAAP,MAAAQ,GAAA;CAAA,OAIQA,EAACC,QAAQV;AAAU;AAJ3B,SAAAO,OAAAI,QAAA;CAAA,OAiBsBP;AAAI"}
@@ -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","_c"],"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 +1 @@
1
- {"version":3,"file":"ThreadListRoot.js","names":["ReactNode","View","ViewProps","ThreadListRootProps","children","ThreadListRoot","t0","$","_c","viewProps","t1"],"sources":["../../../src/primitives/threadList/ThreadListRoot.tsx"],"sourcesContent":["import type { ReactNode } from \"react\";\nimport { View, type ViewProps } from \"react-native\";\n\nexport type ThreadListRootProps = ViewProps & {\n children: ReactNode;\n};\n\nexport const ThreadListRoot = ({\n children,\n ...viewProps\n}: ThreadListRootProps) => {\n return <View {...viewProps}>{children}</View>;\n};\n"],"mappings":";;;;AAOA,MAAaK,kBAAiBC,OAAA;CAAA,MAAAC,IAAAC,EAAA,CAAA;CAAA,IAAAJ;CAAA,IAAAK;CAAA,IAAAF,EAAA,OAAAD,IAAA;EAAC,CAAA,CAAAF,UAAA,GAAAK,aAAAH;EAGTC,EAAA,KAAAD;EAAAC,EAAA,KAAAH;EAAAG,EAAA,KAAAE;CAAA,OAAA;EAAAL,WAAAG,EAAA;EAAAE,YAAAF,EAAA;CAAA;CAAA,IAAAG;CAAA,IAAAH,EAAA,OAAAH,YAAAG,EAAA,OAAAE,WAAA;EACbC,KAAA,oBAAC,MAAD;GAAK,GAAKD;GAAYL;EAAjB,CAAA;EAAiCG,EAAA,KAAAH;EAAAG,EAAA,KAAAE;EAAAF,EAAA,KAAAG;CAAA,OAAAA,KAAAH,EAAA;CAAA,OAAtCG;AAAsC"}
1
+ {"version":3,"file":"ThreadListRoot.js","names":["ReactNode","View","ViewProps","ThreadListRootProps","children","ThreadListRoot","t0","$","_c","viewProps","t1","_c"],"sources":["../../../src/primitives/threadList/ThreadListRoot.tsx"],"sourcesContent":["import type { ReactNode } from \"react\";\nimport { View, type ViewProps } from \"react-native\";\n\nexport type ThreadListRootProps = ViewProps & {\n children: ReactNode;\n};\n\nexport const ThreadListRoot = ({\n children,\n ...viewProps\n}: ThreadListRootProps) => {\n return <View {...viewProps}>{children}</View>;\n};\n"],"mappings":";;;;AAOA,MAAaK,kBAAiBC,OAAA;CAAA,MAAAC,IAAAC,EAAA,CAAA;CAAA,IAAAJ;CAAA,IAAAK;CAAA,IAAAF,EAAA,OAAAD,IAAA;EAAC,CAAA,CAAAF,UAAA,GAAAK,aAAAH;EAGTC,EAAA,KAAAD;EAAAC,EAAA,KAAAH;EAAAG,EAAA,KAAAE;CAAA,OAAA;EAAAL,WAAAG,EAAA;EAAAE,YAAAF,EAAA;CAAA;CAAA,IAAAG;CAAA,IAAAH,EAAA,OAAAH,YAAAG,EAAA,OAAAE,WAAA;EACbC,KAAA,oBAAC,MAAD;GAAK,GAAKD;GAAYL;EAAjB,CAAA;EAAiCG,EAAA,KAAAH;EAAAG,EAAA,KAAAE;EAAAF,EAAA,KAAAG;CAAA,OAAAA,KAAAH,EAAA;CAAA,OAAtCG;AAAsC"}
@@ -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 +1 @@
1
- {"version":3,"file":"ThreadListItemArchive.js","names":["Pressable","PressableProps","useThreadListItemArchive","ThreadListItemArchiveProps","Omit","children","ThreadListItemArchive","t0","$","_c","pressableProps","archive","t1"],"sources":["../../../src/primitives/threadListItem/ThreadListItemArchive.tsx"],"sourcesContent":["import { Pressable, type PressableProps } from \"react-native\";\nimport { useThreadListItemArchive } from \"@assistant-ui/core/react\";\n\nexport type ThreadListItemArchiveProps = Omit<\n PressableProps,\n \"onPress\" | \"children\"\n> & {\n children: PressableProps[\"children\"];\n};\n\nexport const ThreadListItemArchive = ({\n children,\n ...pressableProps\n}: ThreadListItemArchiveProps) => {\n const { archive } = useThreadListItemArchive();\n\n return (\n <Pressable onPress={archive} accessibilityRole=\"button\" {...pressableProps}>\n {children}\n </Pressable>\n );\n};\n"],"mappings":";;;;;AAUA,MAAaM,yBAAwBC,OAAA;CAAA,MAAAC,IAAAC,EAAA,CAAA;CAAA,IAAAJ;CAAA,IAAAK;CAAA,IAAAF,EAAA,OAAAD,IAAA;EAAC,CAAA,CAAAF,UAAA,GAAAK,kBAAAH;EAGTC,EAAA,KAAAD;EAAAC,EAAA,KAAAH;EAAAG,EAAA,KAAAE;CAAA,OAAA;EAAAL,WAAAG,EAAA;EAAAE,iBAAAF,EAAA;CAAA;CAC3B,MAAA,EAAAG,YAAoBT,yBAAyB;CAAE,IAAAU;CAAA,IAAAJ,EAAA,OAAAG,WAAAH,EAAA,OAAAH,YAAAG,EAAA,OAAAE,gBAAA;EAG7CE,KAAA,oBAAC,WAAD;GAAoBD,SAAAA;GAA2B,mBAAA;GAAQ,GAAKD;GACzDL;EADO,CAAA;EAEEG,EAAA,KAAAG;EAAAH,EAAA,KAAAH;EAAAG,EAAA,KAAAE;EAAAF,EAAA,KAAAI;CAAA,OAAAA,KAAAJ,EAAA;CAAA,OAFZI;AAEY"}
1
+ {"version":3,"file":"ThreadListItemArchive.js","names":["Pressable","PressableProps","useThreadListItemArchive","ThreadListItemArchiveProps","Omit","children","ThreadListItemArchive","t0","$","_c","pressableProps","archive","t1","_c"],"sources":["../../../src/primitives/threadListItem/ThreadListItemArchive.tsx"],"sourcesContent":["import { Pressable, type PressableProps } from \"react-native\";\nimport { useThreadListItemArchive } from \"@assistant-ui/core/react\";\n\nexport type ThreadListItemArchiveProps = Omit<\n PressableProps,\n \"onPress\" | \"children\"\n> & {\n children: PressableProps[\"children\"];\n};\n\nexport const ThreadListItemArchive = ({\n children,\n ...pressableProps\n}: ThreadListItemArchiveProps) => {\n const { archive } = useThreadListItemArchive();\n\n return (\n <Pressable onPress={archive} accessibilityRole=\"button\" {...pressableProps}>\n {children}\n </Pressable>\n );\n};\n"],"mappings":";;;;;AAUA,MAAaM,yBAAwBC,OAAA;CAAA,MAAAC,IAAAC,EAAA,CAAA;CAAA,IAAAJ;CAAA,IAAAK;CAAA,IAAAF,EAAA,OAAAD,IAAA;EAAC,CAAA,CAAAF,UAAA,GAAAK,kBAAAH;EAGTC,EAAA,KAAAD;EAAAC,EAAA,KAAAH;EAAAG,EAAA,KAAAE;CAAA,OAAA;EAAAL,WAAAG,EAAA;EAAAE,iBAAAF,EAAA;CAAA;CAC3B,MAAA,EAAAG,YAAoBT,yBAAyB;CAAE,IAAAU;CAAA,IAAAJ,EAAA,OAAAG,WAAAH,EAAA,OAAAH,YAAAG,EAAA,OAAAE,gBAAA;EAG7CE,KAAA,oBAAC,WAAD;GAAoBD,SAAAA;GAA2B,mBAAA;GAAQ,GAAKD;GACzDL;EADO,CAAA;EAEEG,EAAA,KAAAG;EAAAH,EAAA,KAAAH;EAAAG,EAAA,KAAAE;EAAAF,EAAA,KAAAI;CAAA,OAAAA,KAAAJ,EAAA;CAAA,OAFZI;AAEY"}
@@ -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 +1 @@
1
- {"version":3,"file":"ThreadListItemDelete.js","names":["Pressable","PressableProps","useThreadListItemDelete","ThreadListItemDeleteProps","Omit","children","ThreadListItemDelete","t0","$","_c","pressableProps","delete","deleteThread","t1"],"sources":["../../../src/primitives/threadListItem/ThreadListItemDelete.tsx"],"sourcesContent":["import { Pressable, type PressableProps } from \"react-native\";\nimport { useThreadListItemDelete } from \"@assistant-ui/core/react\";\n\nexport type ThreadListItemDeleteProps = Omit<\n PressableProps,\n \"onPress\" | \"children\"\n> & {\n children: PressableProps[\"children\"];\n};\n\nexport const ThreadListItemDelete = ({\n children,\n ...pressableProps\n}: ThreadListItemDeleteProps) => {\n const { delete: deleteThread } = useThreadListItemDelete();\n\n return (\n <Pressable\n onPress={deleteThread}\n accessibilityRole=\"button\"\n {...pressableProps}\n >\n {children}\n </Pressable>\n );\n};\n"],"mappings":";;;;;AAUA,MAAaM,wBAAuBC,OAAA;CAAA,MAAAC,IAAAC,EAAA,CAAA;CAAA,IAAAJ;CAAA,IAAAK;CAAA,IAAAF,EAAA,OAAAD,IAAA;EAAC,CAAA,CAAAF,UAAA,GAAAK,kBAAAH;EAGTC,EAAA,KAAAD;EAAAC,EAAA,KAAAH;EAAAG,EAAA,KAAAE;CAAA,OAAA;EAAAL,WAAAG,EAAA;EAAAE,iBAAAF,EAAA;CAAA;CAC1B,MAAA,EAAAG,QAAAC,iBAAiCV,wBAAwB;CAAE,IAAAW;CAAA,IAAAL,EAAA,OAAAH,YAAAG,EAAA,OAAAI,gBAAAJ,EAAA,OAAAE,gBAAA;EAGzDG,KAAA,oBAAC,WAAD;GACWD,SAAAA;GACS,mBAAA;GAAQ,GACtBF;GAEHL;EALO,CAAA;EAMEG,EAAA,KAAAH;EAAAG,EAAA,KAAAI;EAAAJ,EAAA,KAAAE;EAAAF,EAAA,KAAAK;CAAA,OAAAA,KAAAL,EAAA;CAAA,OANZK;AAMY"}
1
+ {"version":3,"file":"ThreadListItemDelete.js","names":["Pressable","PressableProps","useThreadListItemDelete","ThreadListItemDeleteProps","Omit","children","ThreadListItemDelete","t0","$","_c","pressableProps","delete","deleteThread","t1","_c"],"sources":["../../../src/primitives/threadListItem/ThreadListItemDelete.tsx"],"sourcesContent":["import { Pressable, type PressableProps } from \"react-native\";\nimport { useThreadListItemDelete } from \"@assistant-ui/core/react\";\n\nexport type ThreadListItemDeleteProps = Omit<\n PressableProps,\n \"onPress\" | \"children\"\n> & {\n children: PressableProps[\"children\"];\n};\n\nexport const ThreadListItemDelete = ({\n children,\n ...pressableProps\n}: ThreadListItemDeleteProps) => {\n const { delete: deleteThread } = useThreadListItemDelete();\n\n return (\n <Pressable\n onPress={deleteThread}\n accessibilityRole=\"button\"\n {...pressableProps}\n >\n {children}\n </Pressable>\n );\n};\n"],"mappings":";;;;;AAUA,MAAaM,wBAAuBC,OAAA;CAAA,MAAAC,IAAAC,EAAA,CAAA;CAAA,IAAAJ;CAAA,IAAAK;CAAA,IAAAF,EAAA,OAAAD,IAAA;EAAC,CAAA,CAAAF,UAAA,GAAAK,kBAAAH;EAGTC,EAAA,KAAAD;EAAAC,EAAA,KAAAH;EAAAG,EAAA,KAAAE;CAAA,OAAA;EAAAL,WAAAG,EAAA;EAAAE,iBAAAF,EAAA;CAAA;CAC1B,MAAA,EAAAG,QAAAC,iBAAiCV,wBAAwB;CAAE,IAAAW;CAAA,IAAAL,EAAA,OAAAH,YAAAG,EAAA,OAAAI,gBAAAJ,EAAA,OAAAE,gBAAA;EAGzDG,KAAA,oBAAC,WAAD;GACWD,SAAAA;GACS,mBAAA;GAAQ,GACtBF;GAEHL;EALO,CAAA;EAMEG,EAAA,KAAAH;EAAAG,EAAA,KAAAI;EAAAJ,EAAA,KAAAE;EAAAF,EAAA,KAAAK;CAAA,OAAAA,KAAAL,EAAA;CAAA,OANZK;AAMY"}
@@ -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