stream-chat-react 12.14.0 → 13.0.0-rc.1

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 (480) hide show
  1. package/dist/components/AIStateIndicator/AIStateIndicator.d.ts +4 -5
  2. package/dist/components/AIStateIndicator/hooks/useAIState.d.ts +2 -3
  3. package/dist/components/Attachment/Attachment.d.ts +8 -9
  4. package/dist/components/Attachment/Attachment.js +6 -5
  5. package/dist/components/Attachment/AttachmentActions.d.ts +2 -3
  6. package/dist/components/Attachment/AttachmentContainer.d.ts +15 -15
  7. package/dist/components/Attachment/AttachmentContainer.js +2 -2
  8. package/dist/components/Attachment/Audio.d.ts +3 -4
  9. package/dist/components/Attachment/Card.d.ts +1 -1
  10. package/dist/components/Attachment/FileAttachment.d.ts +3 -4
  11. package/dist/components/Attachment/FileAttachment.js +1 -1
  12. package/dist/components/Attachment/UnsupportedAttachment.d.ts +3 -4
  13. package/dist/components/Attachment/UnsupportedAttachment.js +1 -1
  14. package/dist/components/Attachment/VoiceRecording.d.ts +4 -5
  15. package/dist/components/Attachment/components/FileSizeIndicator.d.ts +1 -1
  16. package/dist/components/Attachment/components/FileSizeIndicator.js +4 -2
  17. package/dist/components/Attachment/utils.d.ts +8 -22
  18. package/dist/components/Attachment/utils.js +3 -18
  19. package/dist/components/Avatar/Avatar.d.ts +3 -4
  20. package/dist/components/Avatar/ChannelAvatar.d.ts +3 -4
  21. package/dist/components/Avatar/ChannelAvatar.js +1 -1
  22. package/dist/components/Avatar/GroupAvatar.d.ts +2 -2
  23. package/dist/components/Channel/Channel.d.ts +18 -37
  24. package/dist/components/Channel/Channel.js +25 -88
  25. package/dist/components/Channel/channelState.d.ts +17 -18
  26. package/dist/components/Channel/hooks/useChannelContainerClasses.d.ts +2 -3
  27. package/dist/components/Channel/hooks/useCreateChannelStateContext.d.ts +2 -3
  28. package/dist/components/Channel/hooks/useCreateChannelStateContext.js +1 -15
  29. package/dist/components/Channel/hooks/useCreateTypingContext.d.ts +1 -2
  30. package/dist/components/Channel/hooks/useEditMessageHandler.d.ts +3 -4
  31. package/dist/components/Channel/hooks/useMentionsHandlers.d.ts +3 -4
  32. package/dist/components/Channel/utils.d.ts +8 -6
  33. package/dist/components/Channel/utils.js +1 -0
  34. package/dist/components/ChannelHeader/ChannelHeader.d.ts +2 -3
  35. package/dist/components/ChannelList/ChannelList.d.ts +31 -30
  36. package/dist/components/ChannelList/ChannelList.js +8 -10
  37. package/dist/components/ChannelList/ChannelListMessenger.d.ts +6 -6
  38. package/dist/components/ChannelList/hooks/useChannelDeletedListener.d.ts +1 -2
  39. package/dist/components/ChannelList/hooks/useChannelHiddenListener.d.ts +1 -2
  40. package/dist/components/ChannelList/hooks/useChannelListShape.d.ts +44 -44
  41. package/dist/components/ChannelList/hooks/useChannelListShape.js +0 -2
  42. package/dist/components/ChannelList/hooks/useChannelMembershipState.d.ts +3 -3
  43. package/dist/components/ChannelList/hooks/useChannelTruncatedListener.d.ts +1 -2
  44. package/dist/components/ChannelList/hooks/useChannelUpdatedListener.d.ts +1 -2
  45. package/dist/components/ChannelList/hooks/useChannelVisibleListener.d.ts +1 -2
  46. package/dist/components/ChannelList/hooks/useConnectionRecoveredListener.d.ts +1 -2
  47. package/dist/components/ChannelList/hooks/useMessageNewListener.d.ts +1 -2
  48. package/dist/components/ChannelList/hooks/useNotificationAddedToChannelListener.d.ts +1 -2
  49. package/dist/components/ChannelList/hooks/useNotificationMessageNewListener.d.ts +1 -2
  50. package/dist/components/ChannelList/hooks/useNotificationRemovedFromChannelListener.d.ts +1 -2
  51. package/dist/components/ChannelList/hooks/usePaginatedChannels.d.ts +7 -8
  52. package/dist/components/ChannelList/hooks/usePaginatedChannels.js +3 -3
  53. package/dist/components/ChannelList/hooks/useSelectedChannelState.d.ts +7 -7
  54. package/dist/components/ChannelList/hooks/useUserPresenceChangedListener.d.ts +1 -2
  55. package/dist/components/ChannelList/utils.d.ts +20 -21
  56. package/dist/components/ChannelList/utils.js +2 -2
  57. package/dist/components/ChannelPreview/ChannelPreview.d.ts +15 -16
  58. package/dist/components/ChannelPreview/ChannelPreview.js +1 -1
  59. package/dist/components/ChannelPreview/ChannelPreviewActionButtons.d.ts +4 -4
  60. package/dist/components/ChannelPreview/ChannelPreviewMessenger.d.ts +1 -2
  61. package/dist/components/ChannelPreview/hooks/useChannelPreviewInfo.d.ts +3 -4
  62. package/dist/components/ChannelPreview/hooks/useIsChannelMuted.d.ts +1 -2
  63. package/dist/components/ChannelPreview/hooks/useMessageDeliveryStatus.d.ts +5 -7
  64. package/dist/components/ChannelPreview/icons.d.ts +1 -1
  65. package/dist/components/ChannelPreview/utils.d.ts +7 -7
  66. package/dist/components/ChannelSearch/ChannelSearch.d.ts +5 -6
  67. package/dist/components/ChannelSearch/ChannelSearch.js +2 -2
  68. package/dist/components/ChannelSearch/SearchBar.d.ts +1 -1
  69. package/dist/components/ChannelSearch/SearchBar.js +1 -1
  70. package/dist/components/ChannelSearch/SearchResults.d.ts +13 -14
  71. package/dist/components/ChannelSearch/SearchResults.js +1 -1
  72. package/dist/components/ChannelSearch/hooks/useChannelSearch.d.ts +17 -18
  73. package/dist/components/ChannelSearch/hooks/useChannelSearch.js +2 -6
  74. package/dist/components/ChannelSearch/utils.d.ts +2 -3
  75. package/dist/components/Chat/Chat.d.ts +9 -9
  76. package/dist/components/Chat/hooks/useChannelsQueryState.d.ts +1 -1
  77. package/dist/components/Chat/hooks/useChat.d.ts +10 -10
  78. package/dist/components/Chat/hooks/useChat.js +3 -3
  79. package/dist/components/Chat/hooks/useCreateChatClient.d.ts +4 -4
  80. package/dist/components/Chat/hooks/useCreateChatContext.d.ts +1 -2
  81. package/dist/components/Dialog/DialogAnchor.d.ts +4 -3
  82. package/dist/components/Dialog/DialogAnchor.js +2 -2
  83. package/dist/components/Dialog/DialogMenu.d.ts +2 -1
  84. package/dist/components/Dialog/DialogPortal.d.ts +2 -1
  85. package/dist/components/Dialog/FormDialog.d.ts +2 -1
  86. package/dist/components/Dialog/FormDialog.js +1 -1
  87. package/dist/components/Dialog/PromptDialog.d.ts +2 -1
  88. package/dist/components/DragAndDrop/DragAndDropContainer.d.ts +2 -1
  89. package/dist/components/EventComponent/EventComponent.d.ts +7 -6
  90. package/dist/components/Form/FieldError.d.ts +2 -1
  91. package/dist/components/Form/SwitchField.d.ts +2 -1
  92. package/dist/components/Form/SwitchField.js +1 -1
  93. package/dist/components/Gallery/Gallery.d.ts +5 -5
  94. package/dist/components/Gallery/Image.d.ts +6 -5
  95. package/dist/components/Gallery/ModalGallery.d.ts +3 -4
  96. package/dist/components/InfiniteScrollPaginator/InfiniteScroll.d.ts +2 -1
  97. package/dist/components/InfiniteScrollPaginator/InfiniteScrollPaginator.d.ts +2 -1
  98. package/dist/components/LoadMore/LoadMoreButton.d.ts +2 -1
  99. package/dist/components/LoadMore/LoadMorePaginator.d.ts +3 -2
  100. package/dist/components/LoadMore/LoadMorePaginator.js +1 -1
  101. package/dist/components/MediaRecorder/AudioRecorder/AudioRecorder.js +3 -2
  102. package/dist/components/MediaRecorder/AudioRecorder/AudioRecordingInProgress.js +1 -1
  103. package/dist/components/MediaRecorder/RecordingPermissionDeniedNotification.d.ts +1 -1
  104. package/dist/components/MediaRecorder/classes/MediaRecorderController.d.ts +11 -23
  105. package/dist/components/MediaRecorder/hooks/useMediaRecorder.d.ts +8 -8
  106. package/dist/components/MediaRecorder/hooks/useMediaRecorder.js +6 -4
  107. package/dist/components/MediaRecorder/observable/BehaviorSubject.d.ts +2 -2
  108. package/dist/components/MediaRecorder/observable/Observable.d.ts +1 -1
  109. package/dist/components/MediaRecorder/observable/Subject.d.ts +3 -2
  110. package/dist/components/Message/FixedHeightMessage.d.ts +4 -5
  111. package/dist/components/Message/Message.d.ts +1 -2
  112. package/dist/components/Message/MessageDeleted.d.ts +4 -5
  113. package/dist/components/Message/MessageEditedTimestamp.d.ts +2 -3
  114. package/dist/components/Message/MessageErrorText.d.ts +4 -5
  115. package/dist/components/Message/MessageErrorText.js +2 -2
  116. package/dist/components/Message/MessageOptions.d.ts +3 -3
  117. package/dist/components/Message/MessageRepliesCountButton.d.ts +2 -1
  118. package/dist/components/Message/MessageSimple.d.ts +1 -2
  119. package/dist/components/Message/MessageSimple.js +8 -10
  120. package/dist/components/Message/MessageStatus.d.ts +3 -4
  121. package/dist/components/Message/MessageText.d.ts +6 -6
  122. package/dist/components/Message/MessageTimestamp.d.ts +4 -5
  123. package/dist/components/Message/QuotedMessage.d.ts +2 -3
  124. package/dist/components/Message/QuotedMessage.js +1 -1
  125. package/dist/components/Message/StreamedMessageText.d.ts +3 -4
  126. package/dist/components/Message/hooks/useActionHandler.d.ts +2 -3
  127. package/dist/components/Message/hooks/useActionHandler.js +1 -1
  128. package/dist/components/Message/hooks/useDeleteHandler.d.ts +4 -5
  129. package/dist/components/Message/hooks/useFlagHandler.d.ts +5 -6
  130. package/dist/components/Message/hooks/useMarkUnreadHandler.d.ts +5 -6
  131. package/dist/components/Message/hooks/useMentionsHandler.d.ts +6 -8
  132. package/dist/components/Message/hooks/useMessageTextStreaming.d.ts +2 -3
  133. package/dist/components/Message/hooks/useMuteHandler.d.ts +5 -7
  134. package/dist/components/Message/hooks/useMuteHandler.js +1 -1
  135. package/dist/components/Message/hooks/useOpenThreadHandler.d.ts +2 -3
  136. package/dist/components/Message/hooks/usePinHandler.d.ts +4 -5
  137. package/dist/components/Message/hooks/usePinHandler.js +1 -1
  138. package/dist/components/Message/hooks/useReactionHandler.d.ts +3 -4
  139. package/dist/components/Message/hooks/useReactionHandler.js +2 -4
  140. package/dist/components/Message/hooks/useReactionsFetcher.d.ts +5 -7
  141. package/dist/components/Message/hooks/useRetryHandler.d.ts +2 -3
  142. package/dist/components/Message/hooks/useRetryHandler.js +1 -1
  143. package/dist/components/Message/hooks/useUserHandler.d.ts +5 -6
  144. package/dist/components/Message/hooks/useUserRole.d.ts +2 -3
  145. package/dist/components/Message/hooks/useUserRole.js +1 -1
  146. package/dist/components/Message/icons.d.ts +2 -2
  147. package/dist/components/Message/icons.js +1 -1
  148. package/dist/components/Message/renderText/componentRenderers/Anchor.d.ts +2 -1
  149. package/dist/components/Message/renderText/componentRenderers/Emoji.d.ts +1 -1
  150. package/dist/components/Message/renderText/componentRenderers/Mention.d.ts +5 -5
  151. package/dist/components/Message/renderText/componentRenderers/Mention.js +1 -1
  152. package/dist/components/Message/renderText/rehypePlugins/mentionsMarkdownPlugin.d.ts +1 -2
  153. package/dist/components/Message/renderText/renderText.d.ts +6 -6
  154. package/dist/components/Message/renderText/types.d.ts +1 -1
  155. package/dist/components/Message/types.d.ts +27 -28
  156. package/dist/components/Message/utils.d.ts +21 -22
  157. package/dist/components/Message/utils.js +5 -4
  158. package/dist/components/MessageActions/CustomMessageActionsList.d.ts +6 -7
  159. package/dist/components/MessageActions/MessageActions.d.ts +6 -5
  160. package/dist/components/MessageActions/MessageActions.js +1 -1
  161. package/dist/components/MessageActions/MessageActionsBox.d.ts +5 -5
  162. package/dist/components/MessageActions/MessageActionsBox.js +4 -3
  163. package/dist/components/MessageActions/hooks/useMessageActionsBoxPopper.d.ts +1 -1
  164. package/dist/components/MessageBounce/MessageBounceModal.d.ts +4 -3
  165. package/dist/components/MessageBounce/MessageBouncePrompt.d.ts +1 -2
  166. package/dist/components/MessageInput/AttachmentPreviewList/AttachmentPreviewList.d.ts +11 -11
  167. package/dist/components/MessageInput/AttachmentPreviewList/AttachmentPreviewList.js +17 -14
  168. package/dist/components/MessageInput/AttachmentPreviewList/FileAttachmentPreview.d.ts +4 -12
  169. package/dist/components/MessageInput/AttachmentPreviewList/FileAttachmentPreview.js +8 -5
  170. package/dist/components/MessageInput/AttachmentPreviewList/ImageAttachmentPreview.d.ts +4 -5
  171. package/dist/components/MessageInput/AttachmentPreviewList/ImageAttachmentPreview.js +2 -2
  172. package/dist/components/MessageInput/AttachmentPreviewList/UnsupportedAttachmentPreview.d.ts +7 -5
  173. package/dist/components/MessageInput/AttachmentPreviewList/UnsupportedAttachmentPreview.js +5 -2
  174. package/dist/components/MessageInput/AttachmentPreviewList/VoiceRecordingPreview.d.ts +4 -5
  175. package/dist/components/MessageInput/AttachmentPreviewList/VoiceRecordingPreview.js +5 -2
  176. package/dist/components/MessageInput/AttachmentPreviewList/index.d.ts +1 -1
  177. package/dist/components/MessageInput/AttachmentPreviewList/types.d.ts +3 -4
  178. package/dist/components/MessageInput/AttachmentSelector.d.ts +1 -2
  179. package/dist/components/MessageInput/AttachmentSelector.js +5 -3
  180. package/dist/components/MessageInput/EditMessageForm.d.ts +3 -2
  181. package/dist/components/MessageInput/EditMessageForm.js +30 -6
  182. package/dist/components/MessageInput/LinkPreviewList.d.ts +6 -4
  183. package/dist/components/MessageInput/LinkPreviewList.js +24 -10
  184. package/dist/components/MessageInput/MessageInput.d.ts +23 -45
  185. package/dist/components/MessageInput/MessageInput.js +25 -15
  186. package/dist/components/MessageInput/MessageInputFlat.d.ts +1 -2
  187. package/dist/components/MessageInput/MessageInputFlat.js +31 -76
  188. package/dist/components/MessageInput/QuotedMessagePreview.d.ts +4 -7
  189. package/dist/components/MessageInput/QuotedMessagePreview.js +22 -16
  190. package/dist/components/MessageInput/SendButton.d.ts +4 -5
  191. package/dist/components/MessageInput/SendButton.js +6 -2
  192. package/dist/components/MessageInput/WithDragAndDropUpload.d.ts +38 -0
  193. package/dist/components/MessageInput/WithDragAndDropUpload.js +96 -0
  194. package/dist/components/MessageInput/hooks/index.d.ts +5 -1
  195. package/dist/components/MessageInput/hooks/index.js +5 -1
  196. package/dist/components/MessageInput/hooks/useAttachmentManagerState.d.ts +10 -0
  197. package/dist/components/MessageInput/hooks/useAttachmentManagerState.js +19 -0
  198. package/dist/components/MessageInput/hooks/useCanCreatePoll.d.ts +1 -0
  199. package/dist/components/MessageInput/hooks/useCanCreatePoll.js +10 -0
  200. package/dist/components/MessageInput/hooks/useCooldownTimer.d.ts +2 -3
  201. package/dist/components/MessageInput/hooks/useCreateMessageInputContext.d.ts +1 -2
  202. package/dist/components/MessageInput/hooks/useCreateMessageInputContext.js +1 -55
  203. package/dist/components/MessageInput/hooks/useMessageComposer.d.ts +2 -0
  204. package/dist/components/MessageInput/hooks/useMessageComposer.js +80 -0
  205. package/dist/components/MessageInput/hooks/useMessageComposerHasSendableData.d.ts +1 -0
  206. package/dist/components/MessageInput/hooks/useMessageComposerHasSendableData.js +8 -0
  207. package/dist/components/MessageInput/hooks/useMessageInputControls.d.ts +12 -0
  208. package/dist/components/MessageInput/hooks/useMessageInputControls.js +23 -0
  209. package/dist/components/MessageInput/hooks/useMessageInputText.d.ts +1 -5
  210. package/dist/components/MessageInput/hooks/useMessageInputText.js +19 -53
  211. package/dist/components/MessageInput/hooks/usePasteHandler.d.ts +1 -3
  212. package/dist/components/MessageInput/hooks/usePasteHandler.js +6 -8
  213. package/dist/components/MessageInput/hooks/useSubmitHandler.d.ts +2 -6
  214. package/dist/components/MessageInput/hooks/useSubmitHandler.js +30 -98
  215. package/dist/components/MessageInput/hooks/utils.d.ts +0 -27
  216. package/dist/components/MessageInput/hooks/utils.js +0 -124
  217. package/dist/components/MessageInput/index.d.ts +1 -2
  218. package/dist/components/MessageInput/index.js +1 -2
  219. package/dist/components/MessageList/ConnectionStatus.d.ts +1 -2
  220. package/dist/components/MessageList/ConnectionStatus.js +1 -1
  221. package/dist/components/MessageList/CustomNotification.d.ts +2 -1
  222. package/dist/components/MessageList/GiphyPreviewMessage.d.ts +4 -5
  223. package/dist/components/MessageList/MessageList.d.ts +11 -12
  224. package/dist/components/MessageList/MessageList.js +4 -4
  225. package/dist/components/MessageList/MessageNotification.d.ts +2 -1
  226. package/dist/components/MessageList/VirtualizedMessageList.d.ts +22 -21
  227. package/dist/components/MessageList/VirtualizedMessageList.js +6 -6
  228. package/dist/components/MessageList/VirtualizedMessageListComponents.d.ts +10 -10
  229. package/dist/components/MessageList/VirtualizedMessageListComponents.js +7 -7
  230. package/dist/components/MessageList/hooks/MessageList/useEnrichedMessages.d.ts +8 -10
  231. package/dist/components/MessageList/hooks/MessageList/useEnrichedMessages.js +1 -1
  232. package/dist/components/MessageList/hooks/MessageList/useMessageListElements.d.ts +11 -12
  233. package/dist/components/MessageList/hooks/MessageList/useMessageListScrollManager.d.ts +4 -5
  234. package/dist/components/MessageList/hooks/MessageList/useScrollLocationLogic.d.ts +5 -6
  235. package/dist/components/MessageList/hooks/VirtualizedMessageList/useGiphyPreview.d.ts +4 -5
  236. package/dist/components/MessageList/hooks/VirtualizedMessageList/useGiphyPreview.js +3 -2
  237. package/dist/components/MessageList/hooks/VirtualizedMessageList/useMessageSetKey.d.ts +4 -5
  238. package/dist/components/MessageList/hooks/VirtualizedMessageList/useMessageSetKey.js +1 -1
  239. package/dist/components/MessageList/hooks/VirtualizedMessageList/useNewMessageNotification.d.ts +2 -3
  240. package/dist/components/MessageList/hooks/VirtualizedMessageList/usePrependMessagesCount.d.ts +2 -3
  241. package/dist/components/MessageList/hooks/VirtualizedMessageList/usePrependMessagesCount.js +6 -2
  242. package/dist/components/MessageList/hooks/VirtualizedMessageList/useScrollToBottomOnNewMessage.d.ts +4 -5
  243. package/dist/components/MessageList/hooks/VirtualizedMessageList/useShouldForceScrollToBottom.d.ts +2 -3
  244. package/dist/components/MessageList/hooks/VirtualizedMessageList/useUnreadMessagesNotificationVirtualized.d.ts +3 -4
  245. package/dist/components/MessageList/hooks/VirtualizedMessageList/useUnreadMessagesNotificationVirtualized.js +5 -6
  246. package/dist/components/MessageList/hooks/useLastReadData.d.ts +5 -6
  247. package/dist/components/MessageList/hooks/useLastReadData.js +5 -1
  248. package/dist/components/MessageList/hooks/useMarkRead.d.ts +1 -2
  249. package/dist/components/MessageList/renderMessages.d.ts +14 -14
  250. package/dist/components/MessageList/renderMessages.js +8 -7
  251. package/dist/components/MessageList/utils.d.ts +34 -28
  252. package/dist/components/MessageList/utils.js +26 -21
  253. package/dist/components/Modal/Modal.d.ts +2 -1
  254. package/dist/components/Poll/Poll.d.ts +2 -3
  255. package/dist/components/Poll/Poll.js +1 -1
  256. package/dist/components/Poll/PollActions/AddCommentForm.d.ts +1 -2
  257. package/dist/components/Poll/PollActions/AddCommentForm.js +4 -2
  258. package/dist/components/Poll/PollActions/EndPollDialog.d.ts +1 -2
  259. package/dist/components/Poll/PollActions/EndPollDialog.js +1 -1
  260. package/dist/components/Poll/PollActions/PollAction.d.ts +2 -1
  261. package/dist/components/Poll/PollActions/PollActions.d.ts +7 -8
  262. package/dist/components/Poll/PollActions/PollActions.js +5 -5
  263. package/dist/components/Poll/PollActions/PollAnswerList.d.ts +1 -2
  264. package/dist/components/Poll/PollActions/PollOptionsFullList.d.ts +1 -2
  265. package/dist/components/Poll/PollActions/PollOptionsFullList.js +4 -2
  266. package/dist/components/Poll/PollActions/PollResults/PollOptionVotesList.d.ts +3 -4
  267. package/dist/components/Poll/PollActions/PollResults/PollOptionVotesList.js +1 -1
  268. package/dist/components/Poll/PollActions/PollResults/PollOptionWithLatestVotes.d.ts +3 -4
  269. package/dist/components/Poll/PollActions/PollResults/PollOptionWithVotesHeader.d.ts +4 -5
  270. package/dist/components/Poll/PollActions/PollResults/PollOptionWithVotesHeader.js +1 -1
  271. package/dist/components/Poll/PollActions/PollResults/PollResults.d.ts +1 -2
  272. package/dist/components/Poll/PollActions/PollResults/PollResults.js +1 -1
  273. package/dist/components/Poll/PollActions/SuggestPollOptionForm.d.ts +1 -2
  274. package/dist/components/Poll/PollActions/SuggestPollOptionForm.js +3 -1
  275. package/dist/components/Poll/PollContent.d.ts +1 -2
  276. package/dist/components/Poll/PollCreationDialog/MultipleAnswersField.d.ts +2 -0
  277. package/dist/components/Poll/PollCreationDialog/MultipleAnswersField.js +35 -0
  278. package/dist/components/Poll/PollCreationDialog/NameField.d.ts +2 -0
  279. package/dist/components/Poll/PollCreationDialog/NameField.js +26 -0
  280. package/dist/components/Poll/PollCreationDialog/OptionFieldSet.d.ts +1 -8
  281. package/dist/components/Poll/PollCreationDialog/OptionFieldSet.js +33 -65
  282. package/dist/components/Poll/PollCreationDialog/PollCreationDialog.js +31 -85
  283. package/dist/components/Poll/PollCreationDialog/PollCreationDialogControls.d.ts +1 -4
  284. package/dist/components/Poll/PollCreationDialog/PollCreationDialogControls.js +15 -41
  285. package/dist/components/Poll/PollCreationDialog/types.d.ts +0 -14
  286. package/dist/components/Poll/PollHeader.d.ts +1 -2
  287. package/dist/components/Poll/PollOptionList.d.ts +1 -2
  288. package/dist/components/Poll/PollOptionList.js +4 -2
  289. package/dist/components/Poll/PollOptionSelector.d.ts +3 -4
  290. package/dist/components/Poll/PollVote.d.ts +6 -7
  291. package/dist/components/Poll/PollVote.js +3 -3
  292. package/dist/components/Poll/QuotedPoll.d.ts +1 -2
  293. package/dist/components/Poll/constants.d.ts +0 -1
  294. package/dist/components/Poll/constants.js +0 -1
  295. package/dist/components/Poll/hooks/useManagePollVotesRealtime.d.ts +2 -3
  296. package/dist/components/Poll/hooks/usePollAnswerPagination.d.ts +2 -3
  297. package/dist/components/Poll/hooks/usePollAnswerPagination.js +2 -2
  298. package/dist/components/Poll/hooks/usePollOptionVotesPagination.d.ts +2 -3
  299. package/dist/components/Poll/hooks/usePollOptionVotesPagination.js +1 -1
  300. package/dist/components/Portal/Portal.d.ts +1 -1
  301. package/dist/components/ReactFileUtilities/FileIcon/FileIcon.d.ts +1 -1
  302. package/dist/components/ReactFileUtilities/FileIcon/FileIconSet.d.ts +2 -1
  303. package/dist/components/ReactFileUtilities/FileIcon/iconMap.d.ts +1 -1
  304. package/dist/components/ReactFileUtilities/UploadButton.d.ts +3 -2
  305. package/dist/components/ReactFileUtilities/UploadButton.js +16 -6
  306. package/dist/components/ReactFileUtilities/index.d.ts +0 -1
  307. package/dist/components/ReactFileUtilities/index.js +0 -1
  308. package/dist/components/ReactFileUtilities/utils.d.ts +2 -2
  309. package/dist/components/Reactions/ReactionSelector.d.ts +4 -5
  310. package/dist/components/Reactions/ReactionSelectorWithButton.d.ts +1 -2
  311. package/dist/components/Reactions/ReactionsList.d.ts +6 -7
  312. package/dist/components/Reactions/ReactionsList.js +2 -2
  313. package/dist/components/Reactions/ReactionsListModal.d.ts +9 -10
  314. package/dist/components/Reactions/SimpleReactionsList.d.ts +5 -6
  315. package/dist/components/Reactions/StreamEmoji.d.ts +1 -1
  316. package/dist/components/Reactions/hooks/useFetchReactions.d.ts +9 -10
  317. package/dist/components/Reactions/hooks/useProcessReactions.d.ts +1 -2
  318. package/dist/components/Reactions/types.d.ts +3 -4
  319. package/dist/components/Reactions/utils/utils.d.ts +1 -1
  320. package/dist/components/SafeAnchor/SafeAnchor.d.ts +2 -1
  321. package/dist/components/{CommandItem → TextareaComposer/SuggestionList}/CommandItem.d.ts +2 -1
  322. package/dist/components/{CommandItem → TextareaComposer/SuggestionList}/CommandItem.js +1 -2
  323. package/dist/components/{EmoticonItem → TextareaComposer/SuggestionList}/EmoticonItem.d.ts +7 -7
  324. package/dist/components/TextareaComposer/SuggestionList/EmoticonItem.js +12 -0
  325. package/dist/components/TextareaComposer/SuggestionList/SuggestionList.d.ts +16 -0
  326. package/dist/components/TextareaComposer/SuggestionList/SuggestionList.js +49 -0
  327. package/dist/components/TextareaComposer/SuggestionList/SuggestionListItem.d.ts +18 -0
  328. package/dist/components/TextareaComposer/SuggestionList/SuggestionListItem.js +25 -0
  329. package/dist/components/{UserItem → TextareaComposer/SuggestionList}/UserItem.d.ts +7 -4
  330. package/dist/components/TextareaComposer/SuggestionList/UserItem.js +24 -0
  331. package/dist/components/TextareaComposer/SuggestionList/index.d.ts +5 -0
  332. package/dist/components/TextareaComposer/SuggestionList/index.js +5 -0
  333. package/dist/components/TextareaComposer/TextareaComposer.d.ts +13 -0
  334. package/dist/components/TextareaComposer/TextareaComposer.js +155 -0
  335. package/dist/components/TextareaComposer/index.d.ts +2 -0
  336. package/dist/components/TextareaComposer/index.js +2 -0
  337. package/dist/components/Thread/Thread.d.ts +13 -10
  338. package/dist/components/Thread/Thread.js +23 -12
  339. package/dist/components/Thread/ThreadHead.d.ts +2 -3
  340. package/dist/components/Thread/ThreadHeader.d.ts +5 -6
  341. package/dist/components/Thread/ThreadHeader.js +1 -1
  342. package/dist/components/Threads/ThreadContext.d.ts +2 -2
  343. package/dist/components/Threads/ThreadContext.js +1 -4
  344. package/dist/components/Threads/ThreadList/ThreadList.d.ts +1 -1
  345. package/dist/components/Threads/ThreadList/ThreadListItem.d.ts +1 -1
  346. package/dist/components/Threads/hooks/useThreadManagerState.d.ts +1 -1
  347. package/dist/components/Threads/hooks/useThreadState.d.ts +1 -1
  348. package/dist/components/Threads/icons.d.ts +1 -1
  349. package/dist/components/Tooltip/Tooltip.d.ts +3 -2
  350. package/dist/components/Tooltip/hooks/useEnterLeaveHandlers.d.ts +1 -1
  351. package/dist/components/TypingIndicator/TypingIndicator.d.ts +1 -2
  352. package/dist/components/Window/Window.d.ts +6 -6
  353. package/dist/components/index.d.ts +1 -5
  354. package/dist/components/index.js +1 -5
  355. package/dist/context/AttachmentSelectorContext.d.ts +2 -1
  356. package/dist/context/ChannelActionContext.d.ts +26 -35
  357. package/dist/context/ChannelListContext.d.ts +9 -9
  358. package/dist/context/ChannelListContext.js +1 -1
  359. package/dist/context/ChannelStateContext.d.ts +24 -34
  360. package/dist/context/ChatContext.d.ts +18 -17
  361. package/dist/context/ComponentContext.d.ts +39 -37
  362. package/dist/context/DialogManagerContext.d.ts +2 -1
  363. package/dist/context/MessageBounceContext.d.ts +8 -7
  364. package/dist/context/MessageBounceContext.js +1 -1
  365. package/dist/context/MessageContext.d.ts +23 -23
  366. package/dist/context/MessageInputContext.d.ts +8 -26
  367. package/dist/context/MessageInputContext.js +3 -2
  368. package/dist/context/MessageListContext.d.ts +2 -1
  369. package/dist/context/PollContext.d.ts +8 -8
  370. package/dist/context/TranslationContext.d.ts +2 -1
  371. package/dist/context/TypingContext.d.ts +11 -10
  372. package/dist/context/VirtualizedMessageListContext.d.ts +2 -1
  373. package/dist/context/WithComponents.d.ts +3 -2
  374. package/dist/css/v2/index.css +1 -1
  375. package/dist/css/v2/index.layout.css +1 -1
  376. package/dist/experimental/MessageActions/MessageActions.d.ts +1 -1
  377. package/dist/experimental/MessageActions/MessageActions.js +1 -1
  378. package/dist/experimental/MessageActions/defaults.js +4 -3
  379. package/dist/experimental/Search/Search.d.ts +1 -2
  380. package/dist/experimental/Search/SearchContext.d.ts +8 -8
  381. package/dist/experimental/Search/SearchResults/SearchResultItem.d.ts +11 -11
  382. package/dist/experimental/Search/SearchResults/SearchResultItem.js +3 -3
  383. package/dist/experimental/Search/SearchResults/SearchResults.d.ts +1 -2
  384. package/dist/experimental/Search/SearchResults/SearchResultsHeader.d.ts +1 -2
  385. package/dist/experimental/Search/SearchResults/SearchResultsHeader.js +1 -1
  386. package/dist/experimental/Search/SearchResults/SearchSourceResultList.d.ts +2 -3
  387. package/dist/experimental/Search/SearchResults/SearchSourceResultListFooter.d.ts +1 -2
  388. package/dist/experimental/Search/SearchResults/SearchSourceResults.d.ts +1 -2
  389. package/dist/experimental/Search/SearchResults/SearchSourceResults.js +1 -1
  390. package/dist/experimental/Search/SearchSourceResultsContext.d.ts +2 -1
  391. package/dist/experimental/Search/hooks/useSearchFocusedMessage.d.ts +1 -2
  392. package/dist/experimental/Search/hooks/useSearchFocusedMessage.js +3 -1
  393. package/dist/experimental/Search/hooks/useSearchQueriesInProgress.d.ts +3 -4
  394. package/dist/experimental/index.browser.cjs +1139 -1075
  395. package/dist/experimental/index.browser.cjs.map +4 -4
  396. package/dist/experimental/index.node.cjs +1139 -1075
  397. package/dist/experimental/index.node.cjs.map +4 -4
  398. package/dist/i18n/Streami18n.d.ts +1 -1
  399. package/dist/i18n/types.d.ts +2 -2
  400. package/dist/i18n/utils.d.ts +1 -1
  401. package/dist/i18n/utils.js +3 -1
  402. package/dist/index.browser.cjs +28545 -30631
  403. package/dist/index.browser.cjs.map +4 -4
  404. package/dist/index.node.cjs +30774 -32868
  405. package/dist/index.node.cjs.map +4 -4
  406. package/dist/plugins/Emojis/index.browser.cjs +133 -5
  407. package/dist/plugins/Emojis/index.browser.cjs.map +4 -4
  408. package/dist/plugins/Emojis/index.d.ts +1 -0
  409. package/dist/plugins/Emojis/index.js +1 -0
  410. package/dist/plugins/Emojis/index.node.cjs +135 -6
  411. package/dist/plugins/Emojis/index.node.cjs.map +4 -4
  412. package/dist/plugins/Emojis/middleware/index.d.ts +1 -0
  413. package/dist/plugins/Emojis/middleware/index.js +1 -0
  414. package/dist/plugins/Emojis/middleware/textComposerEmojiMiddleware.d.ts +66 -0
  415. package/dist/plugins/Emojis/middleware/textComposerEmojiMiddleware.js +143 -0
  416. package/dist/plugins/encoders/mp3.browser.cjs.map +2 -2
  417. package/dist/plugins/encoders/mp3.node.cjs.map +2 -2
  418. package/dist/scss/v2/Autocomplete/Autocomplete-layout.scss +14 -0
  419. package/dist/scss/v2/Autocomplete/Autocomplete-theme.scss +11 -0
  420. package/dist/scss/v2/DropzoneContainer/DropzoneContainer-layout.scss +14 -0
  421. package/dist/scss/v2/DropzoneContainer/DropzoneContainer-theme.scss +17 -0
  422. package/dist/scss/v2/LinkPreview/LinkPreview-layout.scss +18 -0
  423. package/dist/scss/v2/LinkPreview/LinkPreview-theme.scss +15 -0
  424. package/dist/scss/v2/MessageInput/MessageInput-layout.scss +0 -13
  425. package/dist/scss/v2/MessageInput/MessageInput-theme.scss +8 -19
  426. package/dist/scss/v2/index.layout.scss +2 -1
  427. package/dist/scss/v2/index.scss +1 -0
  428. package/dist/types/defaultDataInterfaces.d.ts +25 -0
  429. package/dist/types/index.d.ts +2 -1
  430. package/dist/types/types.d.ts +2 -62
  431. package/dist/utils/getChannel.d.ts +5 -6
  432. package/dist/utils/mergeDeep.d.ts +2 -3
  433. package/package.json +5 -5
  434. package/dist/components/AutoCompleteTextarea/Item.d.ts +0 -2
  435. package/dist/components/AutoCompleteTextarea/Item.js +0 -10
  436. package/dist/components/AutoCompleteTextarea/List.d.ts +0 -17
  437. package/dist/components/AutoCompleteTextarea/List.js +0 -89
  438. package/dist/components/AutoCompleteTextarea/Textarea.d.ts +0 -114
  439. package/dist/components/AutoCompleteTextarea/Textarea.js +0 -593
  440. package/dist/components/AutoCompleteTextarea/index.d.ts +0 -4
  441. package/dist/components/AutoCompleteTextarea/index.js +0 -4
  442. package/dist/components/AutoCompleteTextarea/types.d.ts +0 -15
  443. package/dist/components/AutoCompleteTextarea/utils.d.ts +0 -6
  444. package/dist/components/AutoCompleteTextarea/utils.js +0 -40
  445. package/dist/components/ChatAutoComplete/ChatAutoComplete.d.ts +0 -78
  446. package/dist/components/ChatAutoComplete/ChatAutoComplete.js +0 -33
  447. package/dist/components/ChatAutoComplete/index.d.ts +0 -1
  448. package/dist/components/ChatAutoComplete/index.js +0 -1
  449. package/dist/components/CommandItem/index.d.ts +0 -1
  450. package/dist/components/CommandItem/index.js +0 -1
  451. package/dist/components/EmoticonItem/EmoticonItem.js +0 -16
  452. package/dist/components/EmoticonItem/index.d.ts +0 -1
  453. package/dist/components/EmoticonItem/index.js +0 -1
  454. package/dist/components/MessageInput/DefaultTriggerProvider.d.ts +0 -35
  455. package/dist/components/MessageInput/DefaultTriggerProvider.js +0 -24
  456. package/dist/components/MessageInput/DropzoneProvider.d.ts +0 -4
  457. package/dist/components/MessageInput/DropzoneProvider.js +0 -23
  458. package/dist/components/MessageInput/hooks/useAttachments.d.ts +0 -14
  459. package/dist/components/MessageInput/hooks/useAttachments.js +0 -209
  460. package/dist/components/MessageInput/hooks/useCommandTrigger.d.ts +0 -3
  461. package/dist/components/MessageInput/hooks/useCommandTrigger.js +0 -62
  462. package/dist/components/MessageInput/hooks/useEmojiTrigger.d.ts +0 -3
  463. package/dist/components/MessageInput/hooks/useEmojiTrigger.js +0 -29
  464. package/dist/components/MessageInput/hooks/useLinkPreviews.d.ts +0 -30
  465. package/dist/components/MessageInput/hooks/useLinkPreviews.js +0 -109
  466. package/dist/components/MessageInput/hooks/useMessageInputState.d.ts +0 -71
  467. package/dist/components/MessageInput/hooks/useMessageInputState.js +0 -200
  468. package/dist/components/MessageInput/hooks/useUserTrigger.d.ts +0 -12
  469. package/dist/components/MessageInput/hooks/useUserTrigger.js +0 -130
  470. package/dist/components/MessageInput/types.d.ts +0 -87
  471. package/dist/components/MessageInput/types.js +0 -19
  472. package/dist/components/ReactFileUtilities/ImageDropzone.d.ts +0 -16
  473. package/dist/components/ReactFileUtilities/ImageDropzone.js +0 -42
  474. package/dist/components/UserItem/UserItem.js +0 -26
  475. package/dist/components/UserItem/index.d.ts +0 -1
  476. package/dist/components/UserItem/index.js +0 -1
  477. /package/dist/components/{MessageInput → MediaRecorder/AudioRecorder}/hooks/useTimeElapsed.d.ts +0 -0
  478. /package/dist/components/{MessageInput → MediaRecorder/AudioRecorder}/hooks/useTimeElapsed.js +0 -0
  479. /package/dist/scss/v2/DragAndDropContainer/{DragAmdDropContainer-layout.scss → DragAndDropContainer-layout.scss} +0 -0
  480. /package/dist/{components/AutoCompleteTextarea/types.js → types/defaultDataInterfaces.js} +0 -0
@@ -1,15 +1,14 @@
1
1
  import React from 'react';
2
2
  import type { ReactionDetailsComparator, ReactionSummary, ReactionType } from './types';
3
- import { ModalProps } from '../Modal';
4
- import { MessageContextValue } from '../../context';
5
- import { DefaultStreamChatGenerics } from '../../types/types';
6
- import { ReactionSort } from 'stream-chat';
7
- export type ReactionsListModalProps<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> = ModalProps & Partial<Pick<MessageContextValue<StreamChatGenerics>, 'handleFetchReactions' | 'reactionDetailsSort'>> & {
3
+ import type { ModalProps } from '../Modal';
4
+ import type { MessageContextValue } from '../../context';
5
+ import type { ReactionSort } from 'stream-chat';
6
+ export type ReactionsListModalProps = ModalProps & Partial<Pick<MessageContextValue, 'handleFetchReactions' | 'reactionDetailsSort'>> & {
8
7
  reactions: ReactionSummary[];
9
- selectedReactionType: ReactionType<StreamChatGenerics>;
10
- onSelectedReactionTypeChange?: (reactionType: ReactionType<StreamChatGenerics>) => void;
11
- sort?: ReactionSort<StreamChatGenerics>;
8
+ selectedReactionType: ReactionType;
9
+ onSelectedReactionTypeChange?: (reactionType: ReactionType) => void;
10
+ sort?: ReactionSort;
12
11
  /** @deprecated use `sort` instead */
13
- sortReactionDetails?: ReactionDetailsComparator<StreamChatGenerics>;
12
+ sortReactionDetails?: ReactionDetailsComparator;
14
13
  };
15
- export declare function ReactionsListModal<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>({ handleFetchReactions, onSelectedReactionTypeChange, reactionDetailsSort: propReactionDetailsSort, reactions, selectedReactionType, sortReactionDetails: propSortReactionDetails, ...modalProps }: ReactionsListModalProps<StreamChatGenerics>): React.JSX.Element;
14
+ export declare function ReactionsListModal({ handleFetchReactions, onSelectedReactionTypeChange, reactionDetailsSort: propReactionDetailsSort, reactions, selectedReactionType, sortReactionDetails: propSortReactionDetails, ...modalProps }: ReactionsListModalProps): React.JSX.Element;
@@ -1,11 +1,10 @@
1
1
  import React from 'react';
2
2
  import type { ReactionGroupResponse, ReactionResponse } from 'stream-chat';
3
- import { MessageContextValue } from '../../context/MessageContext';
4
- import type { DefaultStreamChatGenerics } from '../../types/types';
3
+ import type { MessageContextValue } from '../../context/MessageContext';
5
4
  import type { ReactionOptions } from './reactionOptions';
6
- export type SimpleReactionsListProps<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> = Partial<Pick<MessageContextValue, 'handleFetchReactions' | 'handleReaction'>> & {
5
+ export type SimpleReactionsListProps = Partial<Pick<MessageContextValue, 'handleFetchReactions' | 'handleReaction'>> & {
7
6
  /** An array of the own reaction objects to distinguish own reactions visually */
8
- own_reactions?: ReactionResponse<StreamChatGenerics>[];
7
+ own_reactions?: ReactionResponse[];
9
8
  /**
10
9
  * An object that keeps track of the count of each type of reaction on a message
11
10
  * @deprecated This override value is no longer taken into account. Use `reaction_groups` to override reaction counts instead.
@@ -16,6 +15,6 @@ export type SimpleReactionsListProps<StreamChatGenerics extends DefaultStreamCha
16
15
  /** A list of the currently supported reactions on a message */
17
16
  reactionOptions?: ReactionOptions;
18
17
  /** An array of the reaction objects to display in the list */
19
- reactions?: ReactionResponse<StreamChatGenerics>[];
18
+ reactions?: ReactionResponse[];
20
19
  };
21
- export declare const SimpleReactionsList: <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(props: SimpleReactionsListProps<StreamChatGenerics>) => React.JSX.Element | null;
20
+ export declare const SimpleReactionsList: (props: SimpleReactionsListProps) => React.JSX.Element | null;
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { SpriteImageProps } from './SpriteImage';
2
+ import type { SpriteImageProps } from './SpriteImage';
3
3
  import type { Readable } from '../../types/types';
4
4
  declare const StreamSpriteEmojiPositions: {
5
5
  angry: number[];
@@ -1,14 +1,13 @@
1
- import { ReactionResponse, ReactionSort } from 'stream-chat';
2
- import { MessageContextValue } from '../../../context';
3
- import { DefaultStreamChatGenerics } from '../../../types/types';
4
- import { ReactionType } from '../types';
5
- export interface FetchReactionsOptions<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> {
6
- reactionType: ReactionType<StreamChatGenerics>;
1
+ import type { ReactionResponse, ReactionSort } from 'stream-chat';
2
+ import type { MessageContextValue } from '../../../context';
3
+ import type { ReactionType } from '../types';
4
+ export interface FetchReactionsOptions {
5
+ reactionType: ReactionType;
7
6
  shouldFetch: boolean;
8
- handleFetchReactions?: MessageContextValue<StreamChatGenerics>['handleFetchReactions'];
9
- sort?: ReactionSort<StreamChatGenerics>;
7
+ handleFetchReactions?: MessageContextValue['handleFetchReactions'];
8
+ sort?: ReactionSort;
10
9
  }
11
- export declare function useFetchReactions<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(options: FetchReactionsOptions<StreamChatGenerics>): {
10
+ export declare function useFetchReactions(options: FetchReactionsOptions): {
12
11
  isLoading: boolean;
13
- reactions: ReactionResponse<StreamChatGenerics>[];
12
+ reactions: ReactionResponse[];
14
13
  };
@@ -1,12 +1,11 @@
1
1
  import type { ReactionsListProps } from '../ReactionsList';
2
- import type { DefaultStreamChatGenerics } from '../../../types/types';
3
2
  import type { ReactionsComparator, ReactionSummary } from '../types';
4
3
  type SharedReactionListProps = 'own_reactions' | 'reaction_counts' | 'reaction_groups' | 'reactionOptions' | 'reactions';
5
4
  type UseProcessReactionsParams = Pick<ReactionsListProps, SharedReactionListProps> & {
6
5
  sortReactions?: ReactionsComparator;
7
6
  };
8
7
  export declare const defaultReactionsSort: ReactionsComparator;
9
- export declare const useProcessReactions: <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(params: UseProcessReactionsParams) => {
8
+ export declare const useProcessReactions: (params: UseProcessReactionsParams) => {
10
9
  existingReactions: ReactionSummary[];
11
10
  hasReactions: boolean;
12
11
  totalReactionCount: number;
@@ -1,6 +1,5 @@
1
1
  import type { ComponentType } from 'react';
2
- import type { DefaultGenerics, ExtendableGenerics, ReactionResponse } from 'stream-chat';
3
- import { DefaultStreamChatGenerics } from '../../types';
2
+ import type { ReactionResponse } from 'stream-chat';
4
3
  export interface ReactionSummary {
5
4
  EmojiComponent: ComponentType | null;
6
5
  firstReactionAt: Date | null;
@@ -12,5 +11,5 @@ export interface ReactionSummary {
12
11
  unlistedReactedUserCount: number;
13
12
  }
14
13
  export type ReactionsComparator = (a: ReactionSummary, b: ReactionSummary) => number;
15
- export type ReactionDetailsComparator<StreamChatGenerics extends ExtendableGenerics = DefaultGenerics> = (a: ReactionResponse<StreamChatGenerics>, b: ReactionResponse<StreamChatGenerics>) => number;
16
- export type ReactionType<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> = ReactionResponse<StreamChatGenerics>['type'];
14
+ export type ReactionDetailsComparator = (a: ReactionResponse, b: ReactionResponse) => number;
15
+ export type ReactionType = ReactionResponse['type'];
@@ -1,3 +1,3 @@
1
- import { ForwardedRef, MutableRefObject } from 'react';
1
+ import type { ForwardedRef, MutableRefObject } from 'react';
2
2
  export declare const isMutableRef: <T>(ref: ForwardedRef<T> | null) => ref is MutableRefObject<T>;
3
3
  export declare const getImageDimensions: (source: string) => Promise<[number, number]>;
@@ -1,4 +1,5 @@
1
- import React, { PropsWithChildren } from 'react';
1
+ import type { PropsWithChildren } from 'react';
2
+ import React from 'react';
2
3
  /**
3
4
  * Similar to a regular anchor tag, but it sanitizes the href value and prevents XSS
4
5
  */
@@ -1,4 +1,5 @@
1
- import React, { PropsWithChildren } from 'react';
1
+ import type { PropsWithChildren } from 'react';
2
+ import React from 'react';
2
3
  export type CommandItemProps = {
3
4
  entity: {
4
5
  /** Arguments of command */
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- const UnMemoizedCommandItem = (props) => {
2
+ export const CommandItem = (props) => {
3
3
  const { entity } = props;
4
4
  return (React.createElement("div", { className: 'str-chat__slash-command' },
5
5
  React.createElement("span", { className: 'str-chat__slash-command-header' },
@@ -9,4 +9,3 @@ const UnMemoizedCommandItem = (props) => {
9
9
  React.createElement("br", null),
10
10
  React.createElement("span", { className: 'str-chat__slash-command-description' }, entity.description)));
11
11
  };
12
- export const CommandItem = React.memo(UnMemoizedCommandItem);
@@ -1,17 +1,17 @@
1
1
  import React from 'react';
2
2
  export type EmoticonItemProps = {
3
3
  entity: {
4
+ /** Name for emoticon */
5
+ name: string;
6
+ /** Native value or actual emoticon */
7
+ native: string;
4
8
  /** The parts of the Name property of the entity (or id if no name) that can be matched to the user input value.
5
9
  * Default is bold for matches, but can be overwritten in css.
6
10
  * */
7
- itemNameParts: {
8
- match: string;
11
+ tokenizedDisplayName: {
12
+ token: string;
9
13
  parts: string[];
10
14
  };
11
- /** Name for emoticon */
12
- name: string;
13
- /** Native value or actual emoticon */
14
- native: string;
15
15
  };
16
16
  };
17
- export declare const EmoticonItem: (props: EmoticonItemProps) => React.JSX.Element;
17
+ export declare const EmoticonItem: (props: EmoticonItemProps) => React.JSX.Element | null;
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ export const EmoticonItem = (props) => {
3
+ const { entity } = props;
4
+ const hasEntity = Object.keys(entity).length;
5
+ if (!hasEntity)
6
+ return null;
7
+ const { parts, token } = entity.tokenizedDisplayName ?? {};
8
+ const renderName = () => parts?.map((part, i) => part.toLowerCase() === token ? (React.createElement("span", { className: 'str-chat__emoji-item--highlight', key: `part-${i}` }, part)) : (React.createElement("span", { className: 'str-chat__emoji-item--part', key: `part-${i}` }, part))) ?? null;
9
+ return (React.createElement("div", { className: 'str-chat__emoji-item' },
10
+ React.createElement("span", { className: 'str-chat__emoji-item--entity' }, entity.native),
11
+ React.createElement("span", { className: 'str-chat__emoji-item--name' }, renderName())));
12
+ };
@@ -0,0 +1,16 @@
1
+ import React from 'react';
2
+ import type { SuggestionItemProps } from './SuggestionListItem';
3
+ export type SuggestionListProps = Partial<{
4
+ SuggestionItem: React.ComponentType<SuggestionItemProps>;
5
+ className?: string;
6
+ closeOnClickOutside?: boolean;
7
+ containerClassName?: string;
8
+ focusedItemIndex: number;
9
+ setFocusedItemIndex: (index: number) => void;
10
+ }>;
11
+ export declare const defaultComponents: {
12
+ '/': (props: React.PropsWithChildren<import("./CommandItem").CommandItemProps>) => React.JSX.Element;
13
+ ':': (props: import("./EmoticonItem").EmoticonItemProps) => React.JSX.Element | null;
14
+ '@': ({ Avatar, entity }: import("./UserItem").UserItemProps) => React.JSX.Element | null;
15
+ };
16
+ export declare const SuggestionList: ({ className, closeOnClickOutside, containerClassName, focusedItemIndex, setFocusedItemIndex, }: SuggestionListProps) => React.JSX.Element | null;
@@ -0,0 +1,49 @@
1
+ import clsx from 'clsx';
2
+ import React, { useEffect, useState } from 'react';
3
+ import { CommandItem } from './CommandItem';
4
+ import { EmoticonItem } from './EmoticonItem';
5
+ import { SuggestionListItem as DefaultSuggestionListItem } from './SuggestionListItem';
6
+ import { UserItem } from './UserItem';
7
+ import { useComponentContext } from '../../../context/ComponentContext';
8
+ import { useStateStore } from '../../../store';
9
+ import { InfiniteScrollPaginator } from '../../InfiniteScrollPaginator/InfiniteScrollPaginator';
10
+ import { useMessageComposer } from '../../MessageInput';
11
+ const textComposerStateSelector = (state) => ({
12
+ suggestions: state.suggestions,
13
+ });
14
+ const searchSourceStateSelector = (nextValue) => ({
15
+ items: nextValue.items ?? [],
16
+ });
17
+ export const defaultComponents = {
18
+ '/': CommandItem,
19
+ ':': EmoticonItem,
20
+ '@': UserItem,
21
+ };
22
+ export const SuggestionList = ({ className, closeOnClickOutside = true, containerClassName, focusedItemIndex, setFocusedItemIndex, }) => {
23
+ const { AutocompleteSuggestionItem = DefaultSuggestionListItem } = useComponentContext();
24
+ const messageComposer = useMessageComposer();
25
+ const { textComposer } = messageComposer;
26
+ const { suggestions } = useStateStore(textComposer.state, textComposerStateSelector);
27
+ const { items } = useStateStore(suggestions?.searchSource.state, searchSourceStateSelector) ?? {};
28
+ const [container, setContainer] = useState(null);
29
+ // @ts-expect-error component type mismatch
30
+ const component = suggestions?.trigger && defaultComponents[suggestions?.trigger];
31
+ useEffect(() => {
32
+ if (!closeOnClickOutside || !suggestions || !container)
33
+ return;
34
+ const handleClick = (event) => {
35
+ if (container.contains(event.target))
36
+ return;
37
+ textComposer.closeSuggestions();
38
+ };
39
+ document.addEventListener('click', handleClick);
40
+ return () => {
41
+ document.removeEventListener('click', handleClick);
42
+ };
43
+ }, [closeOnClickOutside, suggestions, container, textComposer]);
44
+ if (!suggestions || !items?.length || !component)
45
+ return null;
46
+ return (React.createElement("div", { className: clsx('str-chat__suggestion-list-container', containerClassName), ref: setContainer },
47
+ React.createElement(InfiniteScrollPaginator, { loadNextOnScrollToBottom: suggestions.searchSource.search, threshold: 100 },
48
+ React.createElement("ul", { className: clsx('str-chat__suggestion-list str-chat__suggestion-list--react', className) }, items.map((item, i) => (React.createElement(AutocompleteSuggestionItem, { component: component, focused: focusedItemIndex === i, item: item, key: item.id.toString(), onMouseEnter: () => setFocusedItemIndex?.(i) })))))));
49
+ };
@@ -0,0 +1,18 @@
1
+ import React from 'react';
2
+ import type { CommandResponse, TextComposerSuggestion, UserResponse } from 'stream-chat';
3
+ import type { EmojiSearchIndexResult } from '../../MessageInput';
4
+ export type SuggestionCommand = CommandResponse;
5
+ export type SuggestionUser = UserResponse;
6
+ export type SuggestionEmoji = EmojiSearchIndexResult;
7
+ export type SuggestionItem = SuggestionUser | SuggestionCommand | SuggestionEmoji;
8
+ export type SuggestionItemProps = {
9
+ component: React.ComponentType<{
10
+ entity: SuggestionItem;
11
+ focused: boolean;
12
+ }>;
13
+ item: TextComposerSuggestion;
14
+ focused: boolean;
15
+ className?: string;
16
+ onMouseEnter?: () => void;
17
+ };
18
+ export declare const SuggestionListItem: React.ForwardRefExoticComponent<SuggestionItemProps & React.RefAttributes<HTMLButtonElement>>;
@@ -0,0 +1,25 @@
1
+ import clsx from 'clsx';
2
+ import { useLayoutEffect } from 'react';
3
+ import React, { useCallback, useRef } from 'react';
4
+ import { useMessageComposer } from '../../MessageInput';
5
+ export const SuggestionListItem = React.forwardRef(function SuggestionListItem({ className, component: Component, focused, item, onMouseEnter }, innerRef) {
6
+ const { textComposer } = useMessageComposer();
7
+ const containerRef = useRef(null);
8
+ const handleSelect = useCallback(() => {
9
+ textComposer.handleSelect(item);
10
+ }, [item, textComposer]);
11
+ useLayoutEffect(() => {
12
+ if (!focused)
13
+ return;
14
+ containerRef.current?.scrollIntoView({ behavior: 'instant', block: 'nearest' });
15
+ }, [focused, containerRef]);
16
+ return (React.createElement("li", { className: clsx('str-chat__suggestion-list-item', className, {
17
+ 'str-chat__suggestion-item--selected': focused,
18
+ }), onMouseEnter: onMouseEnter, ref: containerRef },
19
+ React.createElement("button", { onClick: handleSelect, onKeyDown: (event) => {
20
+ if (event.key === 'Enter') {
21
+ handleSelect();
22
+ }
23
+ }, ref: innerRef },
24
+ React.createElement(Component, { entity: item, focused: focused }))));
25
+ });
@@ -1,13 +1,13 @@
1
1
  import React from 'react';
2
- import { AvatarProps } from '../Avatar';
2
+ import type { AvatarProps } from '../../Avatar';
3
3
  export type UserItemProps = {
4
4
  /** The user */
5
5
  entity: {
6
6
  /** The parts of the Name property of the entity (or id if no name) that can be matched to the user input value.
7
7
  * Default is bold for matches, but can be overwritten in css.
8
8
  * */
9
- itemNameParts: {
10
- match: string;
9
+ tokenizedDisplayName: {
10
+ token: string;
11
11
  parts: string[];
12
12
  };
13
13
  /** Id of the user */
@@ -20,4 +20,7 @@ export type UserItemProps = {
20
20
  /** Custom UI component to display user avatar, defaults to and accepts same props as: [Avatar](https://github.com/GetStream/stream-chat-react/blob/master/src/components/Avatar/Avatar.tsx) */
21
21
  Avatar?: React.ComponentType<AvatarProps>;
22
22
  };
23
- export declare const UserItem: ({ Avatar, entity }: UserItemProps) => React.JSX.Element;
23
+ /**
24
+ * UI component for mentions rendered in suggestion list
25
+ */
26
+ export declare const UserItem: ({ Avatar, entity }: UserItemProps) => React.JSX.Element | null;
@@ -0,0 +1,24 @@
1
+ import React from 'react';
2
+ import clsx from 'clsx';
3
+ import { Avatar as DefaultAvatar } from '../../Avatar';
4
+ /**
5
+ * UI component for mentions rendered in suggestion list
6
+ */
7
+ export const UserItem = ({ Avatar = DefaultAvatar, entity }) => {
8
+ const hasEntity = !!Object.keys(entity).length;
9
+ if (!hasEntity)
10
+ return null;
11
+ const { parts, token } = entity.tokenizedDisplayName;
12
+ const renderName = () => parts.map((part, i) => {
13
+ const matches = part.toLowerCase() === token;
14
+ const partWithHTMLSpacesAround = part.replace(/^\s+|\s+$/g, '\u00A0');
15
+ return (React.createElement("span", { className: clsx({
16
+ 'str-chat__emoji-item--highlight': matches,
17
+ 'str-chat__emoji-item--part': !matches,
18
+ }), key: `part-${i}` }, partWithHTMLSpacesAround));
19
+ });
20
+ return (React.createElement("div", { className: 'str-chat__user-item' },
21
+ React.createElement(Avatar, { className: 'str-chat__avatar--autocomplete-item', image: entity.image, name: entity.name || entity.id }),
22
+ React.createElement("span", { className: 'str-chat__user-item--name', "data-testid": 'user-item-name' }, renderName()),
23
+ React.createElement("div", { className: 'str-chat__user-item-at' }, "@")));
24
+ };
@@ -0,0 +1,5 @@
1
+ export * from './CommandItem';
2
+ export * from './EmoticonItem';
3
+ export * from './SuggestionList';
4
+ export * from './SuggestionListItem';
5
+ export * from './UserItem';
@@ -0,0 +1,5 @@
1
+ export * from './CommandItem';
2
+ export * from './EmoticonItem';
3
+ export * from './SuggestionList';
4
+ export * from './SuggestionListItem';
5
+ export * from './UserItem';
@@ -0,0 +1,13 @@
1
+ import type { TextareaHTMLAttributes } from 'react';
2
+ import React from 'react';
3
+ export type TextComposerProps = Omit<TextareaHTMLAttributes<HTMLTextAreaElement>, 'style' | 'defaultValue' | 'disabled'> & {
4
+ closeSuggestionsOnClickOutside?: boolean;
5
+ containerClassName?: string;
6
+ dropdownClassName?: string;
7
+ grow?: boolean;
8
+ itemClassName?: string;
9
+ listClassName?: string;
10
+ maxRows?: number;
11
+ shouldSubmit?: (event: React.KeyboardEvent<HTMLTextAreaElement>) => boolean;
12
+ };
13
+ export declare const TextareaComposer: ({ className, closeSuggestionsOnClickOutside, containerClassName, grow: growProp, listClassName, maxRows: maxRowsProp, onBlur, onChange, onKeyDown, onScroll, placeholder: placeholderProp, shouldSubmit: shouldSubmitProp, ...restProps }: TextComposerProps) => React.JSX.Element;
@@ -0,0 +1,155 @@
1
+ import clsx from 'clsx';
2
+ import React, { useCallback, useEffect, useRef, useState } from 'react';
3
+ import Textarea from 'react-textarea-autosize';
4
+ import { useMessageComposer } from '../MessageInput';
5
+ import { useComponentContext, useMessageInputContext, useTranslationContext, } from '../../context';
6
+ import { useStateStore } from '../../store';
7
+ import { SuggestionList as DefaultSuggestionList } from './SuggestionList';
8
+ const textComposerStateSelector = (state) => ({
9
+ selection: state.selection,
10
+ suggestions: state.suggestions,
11
+ text: state.text,
12
+ });
13
+ const searchSourceStateSelector = (state) => ({
14
+ isLoadingItems: state.isLoading,
15
+ items: state.items,
16
+ });
17
+ const configStateSelector = (state) => ({
18
+ enabled: state.text.enabled,
19
+ });
20
+ /**
21
+ * isComposing prevents double submissions in Korean and other languages.
22
+ * starting point for a read:
23
+ * https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/isComposing
24
+ * In the long term, the fix should happen by handling keypress, but changing this has unknown implications.
25
+ */
26
+ const defaultShouldSubmit = (event) => event.key === 'Enter' && !event.shiftKey && !event.nativeEvent.isComposing;
27
+ export const TextareaComposer = ({ className, closeSuggestionsOnClickOutside, containerClassName,
28
+ // dropdownClassName, // todo: X find a different way to prevent prop drilling
29
+ grow: growProp,
30
+ // itemClassName, // todo: X find a different way to prevent prop drilling
31
+ listClassName, maxRows: maxRowsProp = 1, onBlur, onChange, onKeyDown, onScroll, placeholder: placeholderProp, shouldSubmit: shouldSubmitProp, ...restProps }) => {
32
+ const { t } = useTranslationContext();
33
+ const { AutocompleteSuggestionList = DefaultSuggestionList } = useComponentContext();
34
+ const { additionalTextareaProps, cooldownRemaining, grow: growContext, handleSubmit, maxRows: maxRowsContext, onPaste, shouldSubmit: shouldSubmitContext, textareaRef, } = useMessageInputContext();
35
+ const grow = growProp ?? growContext;
36
+ const maxRows = maxRowsProp ?? maxRowsContext;
37
+ const placeholder = placeholderProp ?? additionalTextareaProps?.placeholder;
38
+ const shouldSubmit = shouldSubmitProp ?? shouldSubmitContext ?? defaultShouldSubmit;
39
+ const messageComposer = useMessageComposer();
40
+ const { textComposer } = messageComposer;
41
+ const { selection, suggestions, text } = useStateStore(textComposer.state, textComposerStateSelector);
42
+ const { enabled } = useStateStore(messageComposer.configState, configStateSelector);
43
+ const { isLoadingItems } = useStateStore(suggestions?.searchSource.state, searchSourceStateSelector) ?? {};
44
+ const containerRef = useRef(null);
45
+ const [focusedItemIndex, setFocusedItemIndex] = useState(0);
46
+ const [isComposing, setIsComposing] = useState(false);
47
+ const changeHandler = useCallback((e) => {
48
+ if (onChange) {
49
+ onChange(e);
50
+ return;
51
+ }
52
+ if (!textareaRef.current)
53
+ return;
54
+ textComposer.handleChange({
55
+ selection: {
56
+ end: textareaRef.current.selectionEnd,
57
+ start: textareaRef.current.selectionStart,
58
+ },
59
+ text: e.target.value,
60
+ });
61
+ }, [onChange, textComposer, textareaRef]);
62
+ const onCompositionEnd = useCallback(() => {
63
+ setIsComposing(false);
64
+ }, []);
65
+ const onCompositionStart = useCallback(() => {
66
+ setIsComposing(true);
67
+ }, []);
68
+ const keyDownHandler = useCallback((event) => {
69
+ if (onKeyDown) {
70
+ onKeyDown(event);
71
+ return;
72
+ }
73
+ if (event.key === 'Enter') {
74
+ // allow next line only on Shift + Enter. Enter is reserved for submission.
75
+ event.preventDefault();
76
+ }
77
+ if (textComposer.suggestions &&
78
+ textComposer.suggestions.searchSource.items?.length) {
79
+ if (event.key === 'Escape')
80
+ return textComposer.closeSuggestions();
81
+ const loadedItems = textComposer.suggestions.searchSource.items;
82
+ if (event.key === 'Enter') {
83
+ textComposer.handleSelect(loadedItems[focusedItemIndex]);
84
+ }
85
+ if (event.key === 'ArrowUp') {
86
+ event.preventDefault();
87
+ setFocusedItemIndex((prev) => {
88
+ let nextIndex = prev - 1;
89
+ if (suggestions?.searchSource.hasNext) {
90
+ nextIndex = prev;
91
+ }
92
+ else if (nextIndex < 0) {
93
+ nextIndex = loadedItems.length - 1;
94
+ }
95
+ return nextIndex;
96
+ });
97
+ }
98
+ if (event.key === 'ArrowDown') {
99
+ event.preventDefault();
100
+ setFocusedItemIndex((prev) => {
101
+ let nextIndex = prev + 1;
102
+ if (suggestions?.searchSource.hasNext) {
103
+ nextIndex = prev;
104
+ }
105
+ else if (nextIndex >= loadedItems.length) {
106
+ nextIndex = 0;
107
+ }
108
+ return nextIndex;
109
+ });
110
+ }
111
+ }
112
+ else if (shouldSubmit(event) && textareaRef.current) {
113
+ handleSubmit();
114
+ textareaRef.current.selectionEnd = 0;
115
+ }
116
+ }, [
117
+ focusedItemIndex,
118
+ handleSubmit,
119
+ onKeyDown,
120
+ shouldSubmit,
121
+ suggestions,
122
+ textComposer,
123
+ textareaRef,
124
+ ]);
125
+ const scrollHandler = useCallback((event) => {
126
+ if (onScroll) {
127
+ onScroll(event);
128
+ }
129
+ else {
130
+ textComposer.closeSuggestions();
131
+ }
132
+ }, [onScroll, textComposer]);
133
+ useEffect(() => {
134
+ // FIXME: find the real reason for cursor being set to the end on each change
135
+ // This is a workaround to prevent the cursor from jumping
136
+ // to the end of the textarea when the user is typing
137
+ // at the position that is not at the end of the textarea value.
138
+ if (textareaRef.current && !isComposing) {
139
+ textareaRef.current.selectionStart = selection.start;
140
+ textareaRef.current.selectionEnd = selection.end;
141
+ }
142
+ }, [text, textareaRef, selection.start, selection.end, isComposing]);
143
+ useEffect(() => {
144
+ if (textComposer.suggestions) {
145
+ setFocusedItemIndex(0);
146
+ }
147
+ }, [textComposer.suggestions]);
148
+ return (React.createElement("div", { className: clsx('rta', 'str-chat__textarea str-chat__message-textarea-react-host', containerClassName, {
149
+ ['rta--loading']: isLoadingItems,
150
+ }), ref: containerRef },
151
+ React.createElement(Textarea, { ...restProps, "aria-label": cooldownRemaining ? t('Slow Mode ON') : placeholder, className: clsx('rta__textarea', 'str-chat__textarea__textarea str-chat__message-textarea', className), "data-testid": 'message-input', disabled: !enabled || !!cooldownRemaining, maxRows: grow ? maxRows : 1, onBlur: onBlur, onChange: changeHandler, onCompositionEnd: onCompositionEnd, onCompositionStart: onCompositionStart, onKeyDown: keyDownHandler, onPaste: onPaste, onScroll: scrollHandler, placeholder: placeholder || t('Type your message'), ref: (ref) => {
152
+ textareaRef.current = ref;
153
+ }, value: text }),
154
+ !isComposing && (React.createElement(AutocompleteSuggestionList, { className: listClassName, closeOnClickOutside: closeSuggestionsOnClickOutside, focusedItemIndex: focusedItemIndex, setFocusedItemIndex: setFocusedItemIndex }))));
155
+ };
@@ -0,0 +1,2 @@
1
+ export * from './SuggestionList';
2
+ export * from './TextareaComposer';
@@ -0,0 +1,2 @@
1
+ export * from './SuggestionList';
2
+ export * from './TextareaComposer';
@@ -1,18 +1,18 @@
1
1
  import React from 'react';
2
- import { MessageInputProps } from '../MessageInput';
3
- import { MessageListProps, VirtualizedMessageListProps } from '../MessageList';
2
+ import type { MessageInputProps } from '../MessageInput';
3
+ import type { MessageListProps, VirtualizedMessageListProps } from '../MessageList';
4
4
  import type { MessageProps, MessageUIComponentProps } from '../Message/types';
5
5
  import type { MessageActionsArray } from '../Message/utils';
6
- import type { CustomTrigger, DefaultStreamChatGenerics } from '../../types/types';
7
- export type ThreadProps<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics, V extends CustomTrigger = CustomTrigger> = {
6
+ import type { LocalMessage } from 'stream-chat';
7
+ export type ThreadProps = {
8
8
  /** Additional props for `MessageInput` component: [available props](https://getstream.io/chat/docs/sdk/react/message-input-components/message_input/#props) */
9
- additionalMessageInputProps?: MessageInputProps<StreamChatGenerics, V>;
9
+ additionalMessageInputProps?: MessageInputProps;
10
10
  /** Additional props for `MessageList` component: [available props](https://getstream.io/chat/docs/sdk/react/core-components/message_list/#props) */
11
- additionalMessageListProps?: MessageListProps<StreamChatGenerics>;
11
+ additionalMessageListProps?: MessageListProps;
12
12
  /** Additional props for `Message` component of the parent message: [available props](https://getstream.io/chat/docs/sdk/react/message-components/message/#props) */
13
- additionalParentMessageProps?: Partial<MessageProps<StreamChatGenerics>>;
13
+ additionalParentMessageProps?: Partial<MessageProps>;
14
14
  /** Additional props for `VirtualizedMessageList` component: [available props](https://getstream.io/chat/docs/sdk/react/core-components/virtualized_list/#props) */
15
- additionalVirtualizedMessageListProps?: VirtualizedMessageListProps<StreamChatGenerics>;
15
+ additionalVirtualizedMessageListProps?: VirtualizedMessageListProps;
16
16
  /** If true, focuses the `MessageInput` component on opening a thread */
17
17
  autoFocus?: boolean;
18
18
  /** Injects date separator components into `Thread`, defaults to `false`. To be passed to the underlying `MessageList` or `VirtualizedMessageList` components */
@@ -20,13 +20,16 @@ export type ThreadProps<StreamChatGenerics extends DefaultStreamChatGenerics = D
20
20
  /** Custom thread input UI component used to override the default `Input` value stored in `ComponentContext` or the [MessageInputSmall](https://github.com/GetStream/stream-chat-react/blob/master/src/components/MessageInput/MessageInputSmall.tsx) default */
21
21
  Input?: React.ComponentType;
22
22
  /** Custom thread message UI component used to override the default `Message` value stored in `ComponentContext` */
23
- Message?: React.ComponentType<MessageUIComponentProps<StreamChatGenerics>>;
23
+ Message?: React.ComponentType<MessageUIComponentProps>;
24
24
  /** Array of allowed message actions (ex: ['edit', 'delete', 'flag', 'mute', 'pin', 'quote', 'react', 'reply']). To disable all actions, provide an empty array. */
25
25
  messageActions?: MessageActionsArray;
26
26
  /** If true, render the `VirtualizedMessageList` instead of the standard `MessageList` component */
27
27
  virtualized?: boolean;
28
28
  };
29
+ export declare const useLegacyThreadContext: () => {
30
+ legacyThread: LocalMessage | undefined;
31
+ };
29
32
  /**
30
33
  * The Thread component renders a parent Message with a list of replies
31
34
  */
32
- export declare const Thread: <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics, V extends CustomTrigger = CustomTrigger>(props: ThreadProps<StreamChatGenerics, V>) => React.JSX.Element | null;
35
+ export declare const Thread: (props: ThreadProps) => React.JSX.Element | null;