@assistant-ui/react-native 0.1.28 → 0.1.30

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (119) hide show
  1. package/dist/index.d.ts +2 -2
  2. package/dist/index.js +2 -2
  3. package/dist/primitives/actionBar/ActionBarCopy.d.ts +1 -8
  4. package/dist/primitives/actionBar/ActionBarCopy.d.ts.map +1 -1
  5. package/dist/primitives/actionBar/ActionBarEdit.d.ts +1 -6
  6. package/dist/primitives/actionBar/ActionBarEdit.d.ts.map +1 -1
  7. package/dist/primitives/actionBar/ActionBarFeedbackNegative.d.ts +1 -5
  8. package/dist/primitives/actionBar/ActionBarFeedbackNegative.d.ts.map +1 -1
  9. package/dist/primitives/actionBar/ActionBarFeedbackPositive.d.ts +1 -5
  10. package/dist/primitives/actionBar/ActionBarFeedbackPositive.d.ts.map +1 -1
  11. package/dist/primitives/actionBar/ActionBarReload.d.ts +1 -6
  12. package/dist/primitives/actionBar/ActionBarReload.d.ts.map +1 -1
  13. package/dist/primitives/actionBar.d.ts +0 -2
  14. package/dist/primitives/attachment/AttachmentName.d.ts +0 -1
  15. package/dist/primitives/attachment/AttachmentName.d.ts.map +1 -1
  16. package/dist/primitives/attachment/AttachmentRemove.d.ts +1 -5
  17. package/dist/primitives/attachment/AttachmentRemove.d.ts.map +1 -1
  18. package/dist/primitives/attachment/AttachmentRoot.d.ts +1 -5
  19. package/dist/primitives/attachment/AttachmentRoot.d.ts.map +1 -1
  20. package/dist/primitives/attachment/AttachmentThumb.d.ts +0 -1
  21. package/dist/primitives/attachment/AttachmentThumb.d.ts.map +1 -1
  22. package/dist/primitives/attachment.d.ts +0 -2
  23. package/dist/primitives/branchPicker/BranchPickerCount.d.ts +0 -1
  24. package/dist/primitives/branchPicker/BranchPickerCount.d.ts.map +1 -1
  25. package/dist/primitives/branchPicker/BranchPickerNext.d.ts +1 -6
  26. package/dist/primitives/branchPicker/BranchPickerNext.d.ts.map +1 -1
  27. package/dist/primitives/branchPicker/BranchPickerNumber.d.ts +0 -1
  28. package/dist/primitives/branchPicker/BranchPickerNumber.d.ts.map +1 -1
  29. package/dist/primitives/branchPicker/BranchPickerPrevious.d.ts +1 -6
  30. package/dist/primitives/branchPicker/BranchPickerPrevious.d.ts.map +1 -1
  31. package/dist/primitives/branchPicker.d.ts +0 -2
  32. package/dist/primitives/chainOfThought/ChainOfThoughtAccordionTrigger.d.ts +1 -5
  33. package/dist/primitives/chainOfThought/ChainOfThoughtAccordionTrigger.d.ts.map +1 -1
  34. package/dist/primitives/chainOfThought/ChainOfThoughtRoot.d.ts +1 -5
  35. package/dist/primitives/chainOfThought/ChainOfThoughtRoot.d.ts.map +1 -1
  36. package/dist/primitives/chainOfThought.d.ts +0 -2
  37. package/dist/primitives/composer/ComposerAddAttachment.d.ts +1 -6
  38. package/dist/primitives/composer/ComposerAddAttachment.d.ts.map +1 -1
  39. package/dist/primitives/composer/ComposerAttachments.d.ts +3 -16
  40. package/dist/primitives/composer/ComposerAttachments.d.ts.map +1 -1
  41. package/dist/primitives/composer/ComposerAttachments.js.map +1 -1
  42. package/dist/primitives/composer/ComposerCancel.d.ts +1 -6
  43. package/dist/primitives/composer/ComposerCancel.d.ts.map +1 -1
  44. package/dist/primitives/composer/ComposerInput.d.ts +1 -8
  45. package/dist/primitives/composer/ComposerInput.d.ts.map +1 -1
  46. package/dist/primitives/composer/ComposerInput.js +15 -2
  47. package/dist/primitives/composer/ComposerInput.js.map +1 -1
  48. package/dist/primitives/composer/ComposerRoot.d.ts +1 -5
  49. package/dist/primitives/composer/ComposerRoot.d.ts.map +1 -1
  50. package/dist/primitives/composer/ComposerSend.d.ts +1 -6
  51. package/dist/primitives/composer/ComposerSend.d.ts.map +1 -1
  52. package/dist/primitives/composer.d.ts +3 -5
  53. package/dist/primitives/composer.js.map +1 -1
  54. package/dist/primitives/error/ErrorMessage.d.ts +1 -5
  55. package/dist/primitives/error/ErrorMessage.d.ts.map +1 -1
  56. package/dist/primitives/error/ErrorRoot.d.ts +1 -5
  57. package/dist/primitives/error/ErrorRoot.d.ts.map +1 -1
  58. package/dist/primitives/error/index.d.ts +0 -2
  59. package/dist/primitives/message/MessageAttachments.d.ts +2 -9
  60. package/dist/primitives/message/MessageAttachments.d.ts.map +1 -1
  61. package/dist/primitives/message/MessageAttachments.js.map +1 -1
  62. package/dist/primitives/message/MessageContent.d.ts +1 -10
  63. package/dist/primitives/message/MessageContent.d.ts.map +1 -1
  64. package/dist/primitives/message/MessageIf.d.ts +1 -8
  65. package/dist/primitives/message/MessageIf.d.ts.map +1 -1
  66. package/dist/primitives/message/MessageParts.d.ts +0 -1
  67. package/dist/primitives/message/MessageParts.d.ts.map +1 -1
  68. package/dist/primitives/message/MessageRoot.d.ts +1 -5
  69. package/dist/primitives/message/MessageRoot.d.ts.map +1 -1
  70. package/dist/primitives/message.d.ts +3 -5
  71. package/dist/primitives/message.js.map +1 -1
  72. package/dist/primitives/suggestion/SuggestionDescription.d.ts +1 -5
  73. package/dist/primitives/suggestion/SuggestionDescription.d.ts.map +1 -1
  74. package/dist/primitives/suggestion/SuggestionTitle.d.ts +1 -5
  75. package/dist/primitives/suggestion/SuggestionTitle.d.ts.map +1 -1
  76. package/dist/primitives/suggestion/SuggestionTrigger.d.ts +1 -8
  77. package/dist/primitives/suggestion/SuggestionTrigger.d.ts.map +1 -1
  78. package/dist/primitives/suggestion.d.ts +0 -2
  79. package/dist/primitives/thread/ThreadEmpty.d.ts +1 -4
  80. package/dist/primitives/thread/ThreadEmpty.d.ts.map +1 -1
  81. package/dist/primitives/thread/ThreadIf.d.ts +1 -6
  82. package/dist/primitives/thread/ThreadIf.d.ts.map +1 -1
  83. package/dist/primitives/thread/ThreadMessages.d.ts +4 -11
  84. package/dist/primitives/thread/ThreadMessages.d.ts.map +1 -1
  85. package/dist/primitives/thread/ThreadMessages.js +11 -9
  86. package/dist/primitives/thread/ThreadMessages.js.map +1 -1
  87. package/dist/primitives/thread/ThreadRoot.d.ts +1 -5
  88. package/dist/primitives/thread/ThreadRoot.d.ts.map +1 -1
  89. package/dist/primitives/thread/ThreadSuggestion.d.ts +3 -10
  90. package/dist/primitives/thread/ThreadSuggestion.d.ts.map +1 -1
  91. package/dist/primitives/thread.d.ts +0 -2
  92. package/dist/primitives/threadList/ThreadListItems.d.ts +1 -5
  93. package/dist/primitives/threadList/ThreadListItems.d.ts.map +1 -1
  94. package/dist/primitives/threadList/ThreadListNew.d.ts +1 -5
  95. package/dist/primitives/threadList/ThreadListNew.d.ts.map +1 -1
  96. package/dist/primitives/threadList/ThreadListRoot.d.ts +1 -5
  97. package/dist/primitives/threadList/ThreadListRoot.d.ts.map +1 -1
  98. package/dist/primitives/threadList.d.ts +0 -2
  99. package/dist/primitives/threadListItem/ThreadListItemArchive.d.ts +1 -5
  100. package/dist/primitives/threadListItem/ThreadListItemArchive.d.ts.map +1 -1
  101. package/dist/primitives/threadListItem/ThreadListItemDelete.d.ts +1 -5
  102. package/dist/primitives/threadListItem/ThreadListItemDelete.d.ts.map +1 -1
  103. package/dist/primitives/threadListItem/ThreadListItemRoot.d.ts +1 -5
  104. package/dist/primitives/threadListItem/ThreadListItemRoot.d.ts.map +1 -1
  105. package/dist/primitives/threadListItem/ThreadListItemTrigger.d.ts +1 -5
  106. package/dist/primitives/threadListItem/ThreadListItemTrigger.d.ts.map +1 -1
  107. package/dist/primitives/threadListItem/ThreadListItemUnarchive.d.ts +1 -5
  108. package/dist/primitives/threadListItem/ThreadListItemUnarchive.d.ts.map +1 -1
  109. package/dist/primitives/threadListItem.d.ts +0 -2
  110. package/package.json +7 -7
  111. package/src/index.ts +5 -0
  112. package/src/primitives/composer/ComposerAttachments.tsx +3 -15
  113. package/src/primitives/composer/ComposerInput.test.tsx +106 -8
  114. package/src/primitives/composer/ComposerInput.tsx +21 -2
  115. package/src/primitives/composer.ts +2 -0
  116. package/src/primitives/message/MessageAttachments.tsx +3 -8
  117. package/src/primitives/message.ts +2 -0
  118. package/src/primitives/thread/ThreadMessages.test.tsx +21 -1
  119. package/src/primitives/thread/ThreadMessages.tsx +7 -6
@@ -1,6 +1,8 @@
1
- import { act } from "react";
1
+ import { act, createRef } from "react";
2
2
  import { createRoot, type Root } from "react-dom/client";
3
3
  import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
4
+ import type { FlatList } from "react-native";
5
+ import type { ThreadMessage } from "@assistant-ui/core";
4
6
  import { ThreadMessages } from "./ThreadMessages";
5
7
 
6
8
  type Msg = { id: string; role: string };
@@ -189,4 +191,22 @@ describe("ThreadMessages", () => {
189
191
  });
190
192
  expect(container.querySelector('[data-testid="c-message"]')).toBeNull();
191
193
  });
194
+
195
+ it("forwards refs to the underlying FlatList", async () => {
196
+ h.state.thread.messages = [{ id: "1", role: "user" }];
197
+ const ref = createRef<FlatList<ThreadMessage>>();
198
+
199
+ await act(async () => {
200
+ root.render(
201
+ <ThreadMessages
202
+ ref={ref}
203
+ components={{
204
+ Message: () => <span data-testid="c-message">message</span>,
205
+ }}
206
+ />,
207
+ );
208
+ });
209
+
210
+ expect(ref.current).not.toBeNull();
211
+ });
192
212
  });
@@ -2,6 +2,7 @@ import {
2
2
  type ComponentType,
3
3
  type FC,
4
4
  type ReactNode,
5
+ forwardRef,
5
6
  memo,
6
7
  useCallback,
7
8
  } from "react";
@@ -154,11 +155,10 @@ const ThreadMessageByChildren = memo(
154
155
  );
155
156
  ThreadMessageByChildren.displayName = "ThreadPrimitive.MessageByChildren";
156
157
 
157
- export const ThreadMessages = ({
158
- components,
159
- children,
160
- ...flatListProps
161
- }: ThreadMessagesProps) => {
158
+ export const ThreadMessages = forwardRef<
159
+ FlatList<ThreadMessage>,
160
+ ThreadMessagesProps
161
+ >(({ components, children, ...flatListProps }, ref) => {
162
162
  const messages = useAuiState((s) => s.thread.messages);
163
163
 
164
164
  const renderItem = useCallback(
@@ -179,11 +179,12 @@ export const ThreadMessages = ({
179
179
 
180
180
  return (
181
181
  <FlatList
182
+ ref={ref}
182
183
  data={messages as unknown as ThreadMessage[]}
183
184
  renderItem={renderItem}
184
185
  keyExtractor={keyExtractor}
185
186
  {...flatListProps}
186
187
  />
187
188
  );
188
- };
189
+ });
189
190
  ThreadMessages.displayName = "ThreadPrimitive.Messages";