stream-chat-react 12.13.1 → 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 (497) hide show
  1. package/README.md +27 -30
  2. package/dist/components/AIStateIndicator/AIStateIndicator.d.ts +4 -5
  3. package/dist/components/AIStateIndicator/hooks/useAIState.d.ts +2 -3
  4. package/dist/components/Attachment/Attachment.d.ts +8 -9
  5. package/dist/components/Attachment/Attachment.js +6 -5
  6. package/dist/components/Attachment/AttachmentActions.d.ts +2 -3
  7. package/dist/components/Attachment/AttachmentContainer.d.ts +15 -15
  8. package/dist/components/Attachment/AttachmentContainer.js +2 -2
  9. package/dist/components/Attachment/Audio.d.ts +3 -4
  10. package/dist/components/Attachment/Card.d.ts +1 -1
  11. package/dist/components/Attachment/FileAttachment.d.ts +3 -4
  12. package/dist/components/Attachment/FileAttachment.js +1 -1
  13. package/dist/components/Attachment/UnsupportedAttachment.d.ts +3 -4
  14. package/dist/components/Attachment/UnsupportedAttachment.js +1 -1
  15. package/dist/components/Attachment/VoiceRecording.d.ts +4 -5
  16. package/dist/components/Attachment/components/FileSizeIndicator.d.ts +1 -1
  17. package/dist/components/Attachment/components/FileSizeIndicator.js +4 -2
  18. package/dist/components/Attachment/utils.d.ts +8 -22
  19. package/dist/components/Attachment/utils.js +3 -18
  20. package/dist/components/Avatar/Avatar.d.ts +3 -4
  21. package/dist/components/Avatar/ChannelAvatar.d.ts +3 -4
  22. package/dist/components/Avatar/ChannelAvatar.js +1 -1
  23. package/dist/components/Avatar/GroupAvatar.d.ts +2 -2
  24. package/dist/components/Channel/Channel.d.ts +18 -37
  25. package/dist/components/Channel/Channel.js +31 -92
  26. package/dist/components/Channel/channelState.d.ts +17 -18
  27. package/dist/components/Channel/hooks/useChannelContainerClasses.d.ts +2 -3
  28. package/dist/components/Channel/hooks/useCreateChannelStateContext.d.ts +2 -3
  29. package/dist/components/Channel/hooks/useCreateChannelStateContext.js +1 -15
  30. package/dist/components/Channel/hooks/useCreateTypingContext.d.ts +1 -2
  31. package/dist/components/Channel/hooks/useEditMessageHandler.d.ts +3 -4
  32. package/dist/components/Channel/hooks/useMentionsHandlers.d.ts +3 -4
  33. package/dist/components/Channel/utils.d.ts +8 -6
  34. package/dist/components/Channel/utils.js +1 -0
  35. package/dist/components/ChannelHeader/ChannelHeader.d.ts +2 -3
  36. package/dist/components/ChannelList/ChannelList.d.ts +31 -30
  37. package/dist/components/ChannelList/ChannelList.js +8 -10
  38. package/dist/components/ChannelList/ChannelListMessenger.d.ts +6 -6
  39. package/dist/components/ChannelList/hooks/useChannelDeletedListener.d.ts +1 -2
  40. package/dist/components/ChannelList/hooks/useChannelHiddenListener.d.ts +1 -2
  41. package/dist/components/ChannelList/hooks/useChannelListShape.d.ts +44 -44
  42. package/dist/components/ChannelList/hooks/useChannelListShape.js +0 -2
  43. package/dist/components/ChannelList/hooks/useChannelMembershipState.d.ts +3 -3
  44. package/dist/components/ChannelList/hooks/useChannelTruncatedListener.d.ts +1 -2
  45. package/dist/components/ChannelList/hooks/useChannelUpdatedListener.d.ts +1 -2
  46. package/dist/components/ChannelList/hooks/useChannelVisibleListener.d.ts +1 -2
  47. package/dist/components/ChannelList/hooks/useConnectionRecoveredListener.d.ts +1 -2
  48. package/dist/components/ChannelList/hooks/useMessageNewListener.d.ts +1 -2
  49. package/dist/components/ChannelList/hooks/useNotificationAddedToChannelListener.d.ts +1 -2
  50. package/dist/components/ChannelList/hooks/useNotificationMessageNewListener.d.ts +1 -2
  51. package/dist/components/ChannelList/hooks/useNotificationRemovedFromChannelListener.d.ts +1 -2
  52. package/dist/components/ChannelList/hooks/usePaginatedChannels.d.ts +7 -8
  53. package/dist/components/ChannelList/hooks/usePaginatedChannels.js +3 -3
  54. package/dist/components/ChannelList/hooks/useSelectedChannelState.d.ts +7 -7
  55. package/dist/components/ChannelList/hooks/useUserPresenceChangedListener.d.ts +1 -2
  56. package/dist/components/ChannelList/utils.d.ts +20 -21
  57. package/dist/components/ChannelList/utils.js +2 -2
  58. package/dist/components/ChannelPreview/ChannelPreview.d.ts +15 -16
  59. package/dist/components/ChannelPreview/ChannelPreview.js +1 -1
  60. package/dist/components/ChannelPreview/ChannelPreviewActionButtons.d.ts +4 -4
  61. package/dist/components/ChannelPreview/ChannelPreviewMessenger.d.ts +1 -2
  62. package/dist/components/ChannelPreview/hooks/useChannelPreviewInfo.d.ts +3 -4
  63. package/dist/components/ChannelPreview/hooks/useIsChannelMuted.d.ts +1 -2
  64. package/dist/components/ChannelPreview/hooks/useMessageDeliveryStatus.d.ts +5 -7
  65. package/dist/components/ChannelPreview/icons.d.ts +1 -1
  66. package/dist/components/ChannelPreview/utils.d.ts +7 -7
  67. package/dist/components/ChannelSearch/ChannelSearch.d.ts +5 -6
  68. package/dist/components/ChannelSearch/ChannelSearch.js +2 -2
  69. package/dist/components/ChannelSearch/SearchBar.d.ts +1 -1
  70. package/dist/components/ChannelSearch/SearchBar.js +1 -1
  71. package/dist/components/ChannelSearch/SearchResults.d.ts +13 -14
  72. package/dist/components/ChannelSearch/SearchResults.js +1 -1
  73. package/dist/components/ChannelSearch/hooks/useChannelSearch.d.ts +17 -18
  74. package/dist/components/ChannelSearch/hooks/useChannelSearch.js +2 -6
  75. package/dist/components/ChannelSearch/utils.d.ts +2 -3
  76. package/dist/components/Chat/Chat.d.ts +9 -9
  77. package/dist/components/Chat/hooks/useChannelsQueryState.d.ts +1 -1
  78. package/dist/components/Chat/hooks/useChat.d.ts +10 -10
  79. package/dist/components/Chat/hooks/useChat.js +4 -3
  80. package/dist/components/Chat/hooks/useCreateChatClient.d.ts +4 -4
  81. package/dist/components/Chat/hooks/useCreateChatContext.d.ts +1 -2
  82. package/dist/components/Dialog/DialogAnchor.d.ts +4 -3
  83. package/dist/components/Dialog/DialogAnchor.js +2 -2
  84. package/dist/components/Dialog/DialogMenu.d.ts +2 -1
  85. package/dist/components/Dialog/DialogPortal.d.ts +2 -1
  86. package/dist/components/Dialog/FormDialog.d.ts +2 -1
  87. package/dist/components/Dialog/FormDialog.js +1 -1
  88. package/dist/components/Dialog/PromptDialog.d.ts +2 -1
  89. package/dist/components/DragAndDrop/DragAndDropContainer.d.ts +2 -1
  90. package/dist/components/EventComponent/EventComponent.d.ts +7 -6
  91. package/dist/components/Form/FieldError.d.ts +2 -1
  92. package/dist/components/Form/SwitchField.d.ts +2 -1
  93. package/dist/components/Form/SwitchField.js +1 -1
  94. package/dist/components/Gallery/Gallery.d.ts +5 -5
  95. package/dist/components/Gallery/Image.d.ts +6 -5
  96. package/dist/components/Gallery/ModalGallery.d.ts +3 -4
  97. package/dist/components/InfiniteScrollPaginator/InfiniteScroll.d.ts +2 -1
  98. package/dist/components/InfiniteScrollPaginator/InfiniteScrollPaginator.d.ts +2 -1
  99. package/dist/components/LoadMore/LoadMoreButton.d.ts +2 -1
  100. package/dist/components/LoadMore/LoadMorePaginator.d.ts +3 -2
  101. package/dist/components/LoadMore/LoadMorePaginator.js +1 -1
  102. package/dist/components/MediaRecorder/AudioRecorder/AudioRecorder.js +3 -2
  103. package/dist/components/MediaRecorder/AudioRecorder/AudioRecordingInProgress.js +1 -1
  104. package/dist/components/MediaRecorder/RecordingPermissionDeniedNotification.d.ts +1 -1
  105. package/dist/components/MediaRecorder/classes/MediaRecorderController.d.ts +11 -23
  106. package/dist/components/MediaRecorder/hooks/useMediaRecorder.d.ts +8 -8
  107. package/dist/components/MediaRecorder/hooks/useMediaRecorder.js +6 -4
  108. package/dist/components/MediaRecorder/observable/BehaviorSubject.d.ts +2 -2
  109. package/dist/components/MediaRecorder/observable/Observable.d.ts +1 -1
  110. package/dist/components/MediaRecorder/observable/Subject.d.ts +3 -2
  111. package/dist/components/Message/FixedHeightMessage.d.ts +4 -5
  112. package/dist/components/Message/Message.d.ts +1 -2
  113. package/dist/components/Message/MessageBlocked.d.ts +2 -0
  114. package/dist/components/Message/MessageBlocked.js +16 -0
  115. package/dist/components/Message/MessageDeleted.d.ts +4 -5
  116. package/dist/components/Message/MessageEditedTimestamp.d.ts +2 -3
  117. package/dist/components/Message/MessageErrorText.d.ts +4 -5
  118. package/dist/components/Message/MessageErrorText.js +2 -2
  119. package/dist/components/Message/MessageOptions.d.ts +3 -3
  120. package/dist/components/Message/MessageRepliesCountButton.d.ts +2 -1
  121. package/dist/components/Message/MessageSimple.d.ts +1 -2
  122. package/dist/components/Message/MessageSimple.js +14 -12
  123. package/dist/components/Message/MessageStatus.d.ts +3 -4
  124. package/dist/components/Message/MessageText.d.ts +6 -6
  125. package/dist/components/Message/MessageTimestamp.d.ts +4 -5
  126. package/dist/components/Message/QuotedMessage.d.ts +2 -3
  127. package/dist/components/Message/QuotedMessage.js +1 -1
  128. package/dist/components/Message/StreamedMessageText.d.ts +3 -4
  129. package/dist/components/Message/hooks/useActionHandler.d.ts +2 -3
  130. package/dist/components/Message/hooks/useActionHandler.js +1 -1
  131. package/dist/components/Message/hooks/useDeleteHandler.d.ts +4 -5
  132. package/dist/components/Message/hooks/useFlagHandler.d.ts +5 -6
  133. package/dist/components/Message/hooks/useMarkUnreadHandler.d.ts +5 -6
  134. package/dist/components/Message/hooks/useMentionsHandler.d.ts +6 -8
  135. package/dist/components/Message/hooks/useMessageTextStreaming.d.ts +2 -3
  136. package/dist/components/Message/hooks/useMuteHandler.d.ts +5 -7
  137. package/dist/components/Message/hooks/useMuteHandler.js +1 -1
  138. package/dist/components/Message/hooks/useOpenThreadHandler.d.ts +2 -3
  139. package/dist/components/Message/hooks/usePinHandler.d.ts +4 -5
  140. package/dist/components/Message/hooks/usePinHandler.js +1 -1
  141. package/dist/components/Message/hooks/useReactionHandler.d.ts +3 -4
  142. package/dist/components/Message/hooks/useReactionHandler.js +2 -4
  143. package/dist/components/Message/hooks/useReactionsFetcher.d.ts +5 -7
  144. package/dist/components/Message/hooks/useRetryHandler.d.ts +2 -3
  145. package/dist/components/Message/hooks/useRetryHandler.js +1 -1
  146. package/dist/components/Message/hooks/useUserHandler.d.ts +5 -6
  147. package/dist/components/Message/hooks/useUserRole.d.ts +2 -3
  148. package/dist/components/Message/hooks/useUserRole.js +1 -1
  149. package/dist/components/Message/icons.d.ts +2 -2
  150. package/dist/components/Message/icons.js +1 -1
  151. package/dist/components/Message/renderText/componentRenderers/Anchor.d.ts +2 -1
  152. package/dist/components/Message/renderText/componentRenderers/Emoji.d.ts +1 -1
  153. package/dist/components/Message/renderText/componentRenderers/Mention.d.ts +5 -5
  154. package/dist/components/Message/renderText/componentRenderers/Mention.js +1 -1
  155. package/dist/components/Message/renderText/rehypePlugins/mentionsMarkdownPlugin.d.ts +1 -2
  156. package/dist/components/Message/renderText/renderText.d.ts +6 -6
  157. package/dist/components/Message/renderText/types.d.ts +1 -1
  158. package/dist/components/Message/types.d.ts +27 -28
  159. package/dist/components/Message/utils.d.ts +21 -21
  160. package/dist/components/Message/utils.js +8 -4
  161. package/dist/components/MessageActions/CustomMessageActionsList.d.ts +6 -7
  162. package/dist/components/MessageActions/MessageActions.d.ts +6 -5
  163. package/dist/components/MessageActions/MessageActions.js +1 -1
  164. package/dist/components/MessageActions/MessageActionsBox.d.ts +5 -5
  165. package/dist/components/MessageActions/MessageActionsBox.js +4 -3
  166. package/dist/components/MessageActions/hooks/useMessageActionsBoxPopper.d.ts +1 -1
  167. package/dist/components/MessageBounce/MessageBounceModal.d.ts +4 -3
  168. package/dist/components/MessageBounce/MessageBouncePrompt.d.ts +1 -2
  169. package/dist/components/MessageInput/AttachmentPreviewList/AttachmentPreviewList.d.ts +11 -11
  170. package/dist/components/MessageInput/AttachmentPreviewList/AttachmentPreviewList.js +17 -14
  171. package/dist/components/MessageInput/AttachmentPreviewList/FileAttachmentPreview.d.ts +4 -12
  172. package/dist/components/MessageInput/AttachmentPreviewList/FileAttachmentPreview.js +8 -5
  173. package/dist/components/MessageInput/AttachmentPreviewList/ImageAttachmentPreview.d.ts +4 -5
  174. package/dist/components/MessageInput/AttachmentPreviewList/ImageAttachmentPreview.js +2 -2
  175. package/dist/components/MessageInput/AttachmentPreviewList/UnsupportedAttachmentPreview.d.ts +7 -5
  176. package/dist/components/MessageInput/AttachmentPreviewList/UnsupportedAttachmentPreview.js +5 -2
  177. package/dist/components/MessageInput/AttachmentPreviewList/VoiceRecordingPreview.d.ts +4 -5
  178. package/dist/components/MessageInput/AttachmentPreviewList/VoiceRecordingPreview.js +5 -2
  179. package/dist/components/MessageInput/AttachmentPreviewList/index.d.ts +1 -1
  180. package/dist/components/MessageInput/AttachmentPreviewList/types.d.ts +3 -4
  181. package/dist/components/MessageInput/AttachmentSelector.d.ts +1 -2
  182. package/dist/components/MessageInput/AttachmentSelector.js +5 -3
  183. package/dist/components/MessageInput/EditMessageForm.d.ts +3 -2
  184. package/dist/components/MessageInput/EditMessageForm.js +30 -6
  185. package/dist/components/MessageInput/LinkPreviewList.d.ts +6 -4
  186. package/dist/components/MessageInput/LinkPreviewList.js +24 -10
  187. package/dist/components/MessageInput/MessageInput.d.ts +23 -45
  188. package/dist/components/MessageInput/MessageInput.js +25 -15
  189. package/dist/components/MessageInput/MessageInputFlat.d.ts +1 -2
  190. package/dist/components/MessageInput/MessageInputFlat.js +31 -76
  191. package/dist/components/MessageInput/QuotedMessagePreview.d.ts +4 -7
  192. package/dist/components/MessageInput/QuotedMessagePreview.js +22 -16
  193. package/dist/components/MessageInput/SendButton.d.ts +4 -5
  194. package/dist/components/MessageInput/SendButton.js +6 -2
  195. package/dist/components/MessageInput/WithDragAndDropUpload.d.ts +38 -0
  196. package/dist/components/MessageInput/WithDragAndDropUpload.js +96 -0
  197. package/dist/components/MessageInput/hooks/index.d.ts +5 -1
  198. package/dist/components/MessageInput/hooks/index.js +5 -1
  199. package/dist/components/MessageInput/hooks/useAttachmentManagerState.d.ts +10 -0
  200. package/dist/components/MessageInput/hooks/useAttachmentManagerState.js +19 -0
  201. package/dist/components/MessageInput/hooks/useCanCreatePoll.d.ts +1 -0
  202. package/dist/components/MessageInput/hooks/useCanCreatePoll.js +10 -0
  203. package/dist/components/MessageInput/hooks/useCooldownTimer.d.ts +2 -3
  204. package/dist/components/MessageInput/hooks/useCreateMessageInputContext.d.ts +1 -2
  205. package/dist/components/MessageInput/hooks/useCreateMessageInputContext.js +1 -55
  206. package/dist/components/MessageInput/hooks/useMessageComposer.d.ts +2 -0
  207. package/dist/components/MessageInput/hooks/useMessageComposer.js +80 -0
  208. package/dist/components/MessageInput/hooks/useMessageComposerHasSendableData.d.ts +1 -0
  209. package/dist/components/MessageInput/hooks/useMessageComposerHasSendableData.js +8 -0
  210. package/dist/components/MessageInput/hooks/useMessageInputControls.d.ts +12 -0
  211. package/dist/components/MessageInput/hooks/useMessageInputControls.js +23 -0
  212. package/dist/components/MessageInput/hooks/useMessageInputText.d.ts +1 -5
  213. package/dist/components/MessageInput/hooks/useMessageInputText.js +19 -53
  214. package/dist/components/MessageInput/hooks/usePasteHandler.d.ts +1 -3
  215. package/dist/components/MessageInput/hooks/usePasteHandler.js +6 -8
  216. package/dist/components/MessageInput/hooks/useSubmitHandler.d.ts +2 -6
  217. package/dist/components/MessageInput/hooks/useSubmitHandler.js +30 -98
  218. package/dist/components/MessageInput/hooks/utils.d.ts +0 -27
  219. package/dist/components/MessageInput/hooks/utils.js +0 -124
  220. package/dist/components/MessageInput/index.d.ts +1 -2
  221. package/dist/components/MessageInput/index.js +1 -2
  222. package/dist/components/MessageList/ConnectionStatus.d.ts +1 -2
  223. package/dist/components/MessageList/ConnectionStatus.js +1 -1
  224. package/dist/components/MessageList/CustomNotification.d.ts +2 -1
  225. package/dist/components/MessageList/GiphyPreviewMessage.d.ts +4 -5
  226. package/dist/components/MessageList/MessageList.d.ts +11 -12
  227. package/dist/components/MessageList/MessageList.js +4 -4
  228. package/dist/components/MessageList/MessageNotification.d.ts +2 -1
  229. package/dist/components/MessageList/VirtualizedMessageList.d.ts +22 -21
  230. package/dist/components/MessageList/VirtualizedMessageList.js +6 -6
  231. package/dist/components/MessageList/VirtualizedMessageListComponents.d.ts +10 -10
  232. package/dist/components/MessageList/VirtualizedMessageListComponents.js +7 -7
  233. package/dist/components/MessageList/hooks/MessageList/useEnrichedMessages.d.ts +8 -10
  234. package/dist/components/MessageList/hooks/MessageList/useEnrichedMessages.js +1 -1
  235. package/dist/components/MessageList/hooks/MessageList/useMessageListElements.d.ts +11 -12
  236. package/dist/components/MessageList/hooks/MessageList/useMessageListScrollManager.d.ts +4 -5
  237. package/dist/components/MessageList/hooks/MessageList/useScrollLocationLogic.d.ts +5 -6
  238. package/dist/components/MessageList/hooks/VirtualizedMessageList/useGiphyPreview.d.ts +4 -5
  239. package/dist/components/MessageList/hooks/VirtualizedMessageList/useGiphyPreview.js +3 -2
  240. package/dist/components/MessageList/hooks/VirtualizedMessageList/useMessageSetKey.d.ts +4 -5
  241. package/dist/components/MessageList/hooks/VirtualizedMessageList/useMessageSetKey.js +1 -1
  242. package/dist/components/MessageList/hooks/VirtualizedMessageList/useNewMessageNotification.d.ts +2 -3
  243. package/dist/components/MessageList/hooks/VirtualizedMessageList/usePrependMessagesCount.d.ts +2 -3
  244. package/dist/components/MessageList/hooks/VirtualizedMessageList/usePrependMessagesCount.js +6 -2
  245. package/dist/components/MessageList/hooks/VirtualizedMessageList/useScrollToBottomOnNewMessage.d.ts +4 -5
  246. package/dist/components/MessageList/hooks/VirtualizedMessageList/useShouldForceScrollToBottom.d.ts +2 -3
  247. package/dist/components/MessageList/hooks/VirtualizedMessageList/useUnreadMessagesNotificationVirtualized.d.ts +3 -4
  248. package/dist/components/MessageList/hooks/VirtualizedMessageList/useUnreadMessagesNotificationVirtualized.js +5 -6
  249. package/dist/components/MessageList/hooks/useLastReadData.d.ts +5 -6
  250. package/dist/components/MessageList/hooks/useLastReadData.js +5 -1
  251. package/dist/components/MessageList/hooks/useMarkRead.d.ts +1 -2
  252. package/dist/components/MessageList/renderMessages.d.ts +14 -14
  253. package/dist/components/MessageList/renderMessages.js +8 -7
  254. package/dist/components/MessageList/utils.d.ts +34 -28
  255. package/dist/components/MessageList/utils.js +26 -21
  256. package/dist/components/Modal/Modal.d.ts +2 -1
  257. package/dist/components/Poll/Poll.d.ts +2 -3
  258. package/dist/components/Poll/Poll.js +1 -1
  259. package/dist/components/Poll/PollActions/AddCommentForm.d.ts +1 -2
  260. package/dist/components/Poll/PollActions/AddCommentForm.js +4 -2
  261. package/dist/components/Poll/PollActions/EndPollDialog.d.ts +1 -2
  262. package/dist/components/Poll/PollActions/EndPollDialog.js +1 -1
  263. package/dist/components/Poll/PollActions/PollAction.d.ts +2 -1
  264. package/dist/components/Poll/PollActions/PollActions.d.ts +7 -8
  265. package/dist/components/Poll/PollActions/PollActions.js +5 -5
  266. package/dist/components/Poll/PollActions/PollAnswerList.d.ts +1 -2
  267. package/dist/components/Poll/PollActions/PollOptionsFullList.d.ts +1 -2
  268. package/dist/components/Poll/PollActions/PollOptionsFullList.js +4 -2
  269. package/dist/components/Poll/PollActions/PollResults/PollOptionVotesList.d.ts +3 -4
  270. package/dist/components/Poll/PollActions/PollResults/PollOptionVotesList.js +1 -1
  271. package/dist/components/Poll/PollActions/PollResults/PollOptionWithLatestVotes.d.ts +3 -4
  272. package/dist/components/Poll/PollActions/PollResults/PollOptionWithVotesHeader.d.ts +4 -5
  273. package/dist/components/Poll/PollActions/PollResults/PollOptionWithVotesHeader.js +1 -1
  274. package/dist/components/Poll/PollActions/PollResults/PollResults.d.ts +1 -2
  275. package/dist/components/Poll/PollActions/PollResults/PollResults.js +1 -1
  276. package/dist/components/Poll/PollActions/SuggestPollOptionForm.d.ts +1 -2
  277. package/dist/components/Poll/PollActions/SuggestPollOptionForm.js +3 -1
  278. package/dist/components/Poll/PollContent.d.ts +1 -2
  279. package/dist/components/Poll/PollCreationDialog/MultipleAnswersField.d.ts +2 -0
  280. package/dist/components/Poll/PollCreationDialog/MultipleAnswersField.js +35 -0
  281. package/dist/components/Poll/PollCreationDialog/NameField.d.ts +2 -0
  282. package/dist/components/Poll/PollCreationDialog/NameField.js +26 -0
  283. package/dist/components/Poll/PollCreationDialog/OptionFieldSet.d.ts +1 -8
  284. package/dist/components/Poll/PollCreationDialog/OptionFieldSet.js +33 -65
  285. package/dist/components/Poll/PollCreationDialog/PollCreationDialog.js +31 -85
  286. package/dist/components/Poll/PollCreationDialog/PollCreationDialogControls.d.ts +1 -4
  287. package/dist/components/Poll/PollCreationDialog/PollCreationDialogControls.js +15 -41
  288. package/dist/components/Poll/PollCreationDialog/types.d.ts +0 -14
  289. package/dist/components/Poll/PollHeader.d.ts +1 -2
  290. package/dist/components/Poll/PollOptionList.d.ts +1 -2
  291. package/dist/components/Poll/PollOptionList.js +4 -2
  292. package/dist/components/Poll/PollOptionSelector.d.ts +3 -4
  293. package/dist/components/Poll/PollVote.d.ts +6 -7
  294. package/dist/components/Poll/PollVote.js +3 -3
  295. package/dist/components/Poll/QuotedPoll.d.ts +1 -2
  296. package/dist/components/Poll/constants.d.ts +0 -1
  297. package/dist/components/Poll/constants.js +0 -1
  298. package/dist/components/Poll/hooks/useManagePollVotesRealtime.d.ts +2 -3
  299. package/dist/components/Poll/hooks/usePollAnswerPagination.d.ts +2 -3
  300. package/dist/components/Poll/hooks/usePollAnswerPagination.js +2 -2
  301. package/dist/components/Poll/hooks/usePollOptionVotesPagination.d.ts +2 -3
  302. package/dist/components/Poll/hooks/usePollOptionVotesPagination.js +1 -1
  303. package/dist/components/Portal/Portal.d.ts +1 -1
  304. package/dist/components/ReactFileUtilities/FileIcon/FileIcon.d.ts +1 -1
  305. package/dist/components/ReactFileUtilities/FileIcon/FileIconSet.d.ts +2 -1
  306. package/dist/components/ReactFileUtilities/FileIcon/iconMap.d.ts +1 -1
  307. package/dist/components/ReactFileUtilities/UploadButton.d.ts +3 -2
  308. package/dist/components/ReactFileUtilities/UploadButton.js +16 -6
  309. package/dist/components/ReactFileUtilities/index.d.ts +0 -1
  310. package/dist/components/ReactFileUtilities/index.js +0 -1
  311. package/dist/components/ReactFileUtilities/utils.d.ts +2 -2
  312. package/dist/components/Reactions/ReactionSelector.d.ts +4 -5
  313. package/dist/components/Reactions/ReactionSelectorWithButton.d.ts +1 -2
  314. package/dist/components/Reactions/ReactionsList.d.ts +6 -7
  315. package/dist/components/Reactions/ReactionsList.js +2 -2
  316. package/dist/components/Reactions/ReactionsListModal.d.ts +9 -10
  317. package/dist/components/Reactions/SimpleReactionsList.d.ts +5 -6
  318. package/dist/components/Reactions/StreamEmoji.d.ts +1 -1
  319. package/dist/components/Reactions/hooks/useFetchReactions.d.ts +9 -10
  320. package/dist/components/Reactions/hooks/useProcessReactions.d.ts +1 -2
  321. package/dist/components/Reactions/types.d.ts +3 -4
  322. package/dist/components/Reactions/utils/utils.d.ts +1 -1
  323. package/dist/components/SafeAnchor/SafeAnchor.d.ts +2 -1
  324. package/dist/components/{CommandItem → TextareaComposer/SuggestionList}/CommandItem.d.ts +2 -1
  325. package/dist/components/{CommandItem → TextareaComposer/SuggestionList}/CommandItem.js +1 -2
  326. package/dist/components/{EmoticonItem → TextareaComposer/SuggestionList}/EmoticonItem.d.ts +7 -7
  327. package/dist/components/TextareaComposer/SuggestionList/EmoticonItem.js +12 -0
  328. package/dist/components/TextareaComposer/SuggestionList/SuggestionList.d.ts +16 -0
  329. package/dist/components/TextareaComposer/SuggestionList/SuggestionList.js +49 -0
  330. package/dist/components/TextareaComposer/SuggestionList/SuggestionListItem.d.ts +18 -0
  331. package/dist/components/TextareaComposer/SuggestionList/SuggestionListItem.js +25 -0
  332. package/dist/components/{UserItem → TextareaComposer/SuggestionList}/UserItem.d.ts +7 -4
  333. package/dist/components/TextareaComposer/SuggestionList/UserItem.js +24 -0
  334. package/dist/components/TextareaComposer/SuggestionList/index.d.ts +5 -0
  335. package/dist/components/TextareaComposer/SuggestionList/index.js +5 -0
  336. package/dist/components/TextareaComposer/TextareaComposer.d.ts +13 -0
  337. package/dist/components/TextareaComposer/TextareaComposer.js +155 -0
  338. package/dist/components/TextareaComposer/index.d.ts +2 -0
  339. package/dist/components/TextareaComposer/index.js +2 -0
  340. package/dist/components/Thread/Thread.d.ts +13 -10
  341. package/dist/components/Thread/Thread.js +23 -12
  342. package/dist/components/Thread/ThreadHead.d.ts +2 -3
  343. package/dist/components/Thread/ThreadHeader.d.ts +5 -6
  344. package/dist/components/Thread/ThreadHeader.js +1 -1
  345. package/dist/components/Threads/ThreadContext.d.ts +2 -2
  346. package/dist/components/Threads/ThreadContext.js +1 -4
  347. package/dist/components/Threads/ThreadList/ThreadList.d.ts +1 -1
  348. package/dist/components/Threads/ThreadList/ThreadListItem.d.ts +1 -1
  349. package/dist/components/Threads/hooks/useThreadManagerState.d.ts +1 -1
  350. package/dist/components/Threads/hooks/useThreadState.d.ts +1 -1
  351. package/dist/components/Threads/icons.d.ts +1 -1
  352. package/dist/components/Tooltip/Tooltip.d.ts +3 -2
  353. package/dist/components/Tooltip/hooks/useEnterLeaveHandlers.d.ts +1 -1
  354. package/dist/components/TypingIndicator/TypingIndicator.d.ts +1 -2
  355. package/dist/components/Window/Window.d.ts +6 -6
  356. package/dist/components/index.d.ts +1 -5
  357. package/dist/components/index.js +1 -5
  358. package/dist/context/AttachmentSelectorContext.d.ts +2 -1
  359. package/dist/context/ChannelActionContext.d.ts +26 -35
  360. package/dist/context/ChannelListContext.d.ts +9 -9
  361. package/dist/context/ChannelListContext.js +1 -1
  362. package/dist/context/ChannelStateContext.d.ts +24 -34
  363. package/dist/context/ChatContext.d.ts +18 -17
  364. package/dist/context/ComponentContext.d.ts +41 -37
  365. package/dist/context/DialogManagerContext.d.ts +2 -1
  366. package/dist/context/MessageBounceContext.d.ts +8 -7
  367. package/dist/context/MessageBounceContext.js +1 -1
  368. package/dist/context/MessageContext.d.ts +23 -23
  369. package/dist/context/MessageInputContext.d.ts +8 -26
  370. package/dist/context/MessageInputContext.js +3 -2
  371. package/dist/context/MessageListContext.d.ts +2 -1
  372. package/dist/context/PollContext.d.ts +8 -8
  373. package/dist/context/TranslationContext.d.ts +2 -1
  374. package/dist/context/TypingContext.d.ts +11 -10
  375. package/dist/context/VirtualizedMessageListContext.d.ts +2 -1
  376. package/dist/context/WithComponents.d.ts +3 -2
  377. package/dist/css/v2/index.css +1 -1
  378. package/dist/css/v2/index.layout.css +1 -1
  379. package/dist/experimental/MessageActions/MessageActions.d.ts +1 -1
  380. package/dist/experimental/MessageActions/MessageActions.js +1 -1
  381. package/dist/experimental/MessageActions/defaults.js +4 -3
  382. package/dist/experimental/Search/Search.d.ts +1 -2
  383. package/dist/experimental/Search/SearchContext.d.ts +8 -8
  384. package/dist/experimental/Search/SearchResults/SearchResultItem.d.ts +11 -11
  385. package/dist/experimental/Search/SearchResults/SearchResultItem.js +3 -3
  386. package/dist/experimental/Search/SearchResults/SearchResults.d.ts +1 -2
  387. package/dist/experimental/Search/SearchResults/SearchResultsHeader.d.ts +1 -2
  388. package/dist/experimental/Search/SearchResults/SearchResultsHeader.js +1 -1
  389. package/dist/experimental/Search/SearchResults/SearchSourceResultList.d.ts +2 -3
  390. package/dist/experimental/Search/SearchResults/SearchSourceResultListFooter.d.ts +1 -2
  391. package/dist/experimental/Search/SearchResults/SearchSourceResults.d.ts +1 -2
  392. package/dist/experimental/Search/SearchResults/SearchSourceResults.js +1 -1
  393. package/dist/experimental/Search/SearchSourceResultsContext.d.ts +2 -1
  394. package/dist/experimental/Search/hooks/useSearchFocusedMessage.d.ts +1 -2
  395. package/dist/experimental/Search/hooks/useSearchFocusedMessage.js +3 -1
  396. package/dist/experimental/Search/hooks/useSearchQueriesInProgress.d.ts +3 -4
  397. package/dist/experimental/index.browser.cjs +1139 -1075
  398. package/dist/experimental/index.browser.cjs.map +4 -4
  399. package/dist/experimental/index.node.cjs +1139 -1075
  400. package/dist/experimental/index.node.cjs.map +4 -4
  401. package/dist/i18n/Streami18n.d.ts +2 -1
  402. package/dist/i18n/de.json +1 -0
  403. package/dist/i18n/en.json +1 -0
  404. package/dist/i18n/es.json +1 -0
  405. package/dist/i18n/fr.json +1 -0
  406. package/dist/i18n/hi.json +1 -0
  407. package/dist/i18n/it.json +1 -0
  408. package/dist/i18n/ja.json +1 -0
  409. package/dist/i18n/ko.json +1 -0
  410. package/dist/i18n/nl.json +1 -0
  411. package/dist/i18n/pt.json +1 -0
  412. package/dist/i18n/ru.json +1 -0
  413. package/dist/i18n/tr.json +1 -0
  414. package/dist/i18n/types.d.ts +2 -2
  415. package/dist/i18n/utils.d.ts +1 -1
  416. package/dist/i18n/utils.js +3 -1
  417. package/dist/index.browser.cjs +28774 -30813
  418. package/dist/index.browser.cjs.map +4 -4
  419. package/dist/index.node.cjs +30798 -32844
  420. package/dist/index.node.cjs.map +4 -4
  421. package/dist/plugins/Emojis/index.browser.cjs +133 -5
  422. package/dist/plugins/Emojis/index.browser.cjs.map +4 -4
  423. package/dist/plugins/Emojis/index.d.ts +1 -0
  424. package/dist/plugins/Emojis/index.js +1 -0
  425. package/dist/plugins/Emojis/index.node.cjs +135 -6
  426. package/dist/plugins/Emojis/index.node.cjs.map +4 -4
  427. package/dist/plugins/Emojis/middleware/index.d.ts +1 -0
  428. package/dist/plugins/Emojis/middleware/index.js +1 -0
  429. package/dist/plugins/Emojis/middleware/textComposerEmojiMiddleware.d.ts +66 -0
  430. package/dist/plugins/Emojis/middleware/textComposerEmojiMiddleware.js +143 -0
  431. package/dist/plugins/encoders/mp3.browser.cjs.map +2 -2
  432. package/dist/plugins/encoders/mp3.node.cjs.map +2 -2
  433. package/dist/scss/v2/Autocomplete/Autocomplete-layout.scss +14 -0
  434. package/dist/scss/v2/Autocomplete/Autocomplete-theme.scss +11 -0
  435. package/dist/scss/v2/DropzoneContainer/DropzoneContainer-layout.scss +14 -0
  436. package/dist/scss/v2/DropzoneContainer/DropzoneContainer-theme.scss +17 -0
  437. package/dist/scss/v2/LinkPreview/LinkPreview-layout.scss +18 -0
  438. package/dist/scss/v2/LinkPreview/LinkPreview-theme.scss +15 -0
  439. package/dist/scss/v2/Message/Message-layout.scss +8 -0
  440. package/dist/scss/v2/Message/Message-theme.scss +29 -0
  441. package/dist/scss/v2/MessageInput/MessageInput-layout.scss +0 -13
  442. package/dist/scss/v2/MessageInput/MessageInput-theme.scss +8 -19
  443. package/dist/scss/v2/index.layout.scss +2 -1
  444. package/dist/scss/v2/index.scss +1 -0
  445. package/dist/types/defaultDataInterfaces.d.ts +25 -0
  446. package/dist/types/index.d.ts +2 -1
  447. package/dist/types/types.d.ts +2 -62
  448. package/dist/utils/getChannel.d.ts +5 -6
  449. package/dist/utils/mergeDeep.d.ts +2 -3
  450. package/package.json +8 -11
  451. package/dist/components/AutoCompleteTextarea/Item.d.ts +0 -2
  452. package/dist/components/AutoCompleteTextarea/Item.js +0 -10
  453. package/dist/components/AutoCompleteTextarea/List.d.ts +0 -17
  454. package/dist/components/AutoCompleteTextarea/List.js +0 -89
  455. package/dist/components/AutoCompleteTextarea/Textarea.d.ts +0 -114
  456. package/dist/components/AutoCompleteTextarea/Textarea.js +0 -593
  457. package/dist/components/AutoCompleteTextarea/index.d.ts +0 -4
  458. package/dist/components/AutoCompleteTextarea/index.js +0 -4
  459. package/dist/components/AutoCompleteTextarea/types.d.ts +0 -15
  460. package/dist/components/AutoCompleteTextarea/utils.d.ts +0 -6
  461. package/dist/components/AutoCompleteTextarea/utils.js +0 -40
  462. package/dist/components/ChatAutoComplete/ChatAutoComplete.d.ts +0 -78
  463. package/dist/components/ChatAutoComplete/ChatAutoComplete.js +0 -33
  464. package/dist/components/ChatAutoComplete/index.d.ts +0 -1
  465. package/dist/components/ChatAutoComplete/index.js +0 -1
  466. package/dist/components/CommandItem/index.d.ts +0 -1
  467. package/dist/components/CommandItem/index.js +0 -1
  468. package/dist/components/EmoticonItem/EmoticonItem.js +0 -16
  469. package/dist/components/EmoticonItem/index.d.ts +0 -1
  470. package/dist/components/EmoticonItem/index.js +0 -1
  471. package/dist/components/MessageInput/DefaultTriggerProvider.d.ts +0 -35
  472. package/dist/components/MessageInput/DefaultTriggerProvider.js +0 -24
  473. package/dist/components/MessageInput/DropzoneProvider.d.ts +0 -4
  474. package/dist/components/MessageInput/DropzoneProvider.js +0 -23
  475. package/dist/components/MessageInput/hooks/useAttachments.d.ts +0 -14
  476. package/dist/components/MessageInput/hooks/useAttachments.js +0 -209
  477. package/dist/components/MessageInput/hooks/useCommandTrigger.d.ts +0 -3
  478. package/dist/components/MessageInput/hooks/useCommandTrigger.js +0 -62
  479. package/dist/components/MessageInput/hooks/useEmojiTrigger.d.ts +0 -3
  480. package/dist/components/MessageInput/hooks/useEmojiTrigger.js +0 -29
  481. package/dist/components/MessageInput/hooks/useLinkPreviews.d.ts +0 -30
  482. package/dist/components/MessageInput/hooks/useLinkPreviews.js +0 -109
  483. package/dist/components/MessageInput/hooks/useMessageInputState.d.ts +0 -71
  484. package/dist/components/MessageInput/hooks/useMessageInputState.js +0 -200
  485. package/dist/components/MessageInput/hooks/useUserTrigger.d.ts +0 -12
  486. package/dist/components/MessageInput/hooks/useUserTrigger.js +0 -130
  487. package/dist/components/MessageInput/types.d.ts +0 -87
  488. package/dist/components/MessageInput/types.js +0 -19
  489. package/dist/components/ReactFileUtilities/ImageDropzone.d.ts +0 -16
  490. package/dist/components/ReactFileUtilities/ImageDropzone.js +0 -42
  491. package/dist/components/UserItem/UserItem.js +0 -26
  492. package/dist/components/UserItem/index.d.ts +0 -1
  493. package/dist/components/UserItem/index.js +0 -1
  494. /package/dist/components/{MessageInput → MediaRecorder/AudioRecorder}/hooks/useTimeElapsed.d.ts +0 -0
  495. /package/dist/components/{MessageInput → MediaRecorder/AudioRecorder}/hooks/useTimeElapsed.js +0 -0
  496. /package/dist/scss/v2/DragAndDropContainer/{DragAmdDropContainer-layout.scss → DragAndDropContainer-layout.scss} +0 -0
  497. /package/dist/{components/AutoCompleteTextarea/types.js → types/defaultDataInterfaces.js} +0 -0
@@ -1,96 +1,42 @@
1
- import clsx from 'clsx';
2
- import { nanoid } from 'nanoid';
3
- import React, { useState } from 'react';
4
- import { FieldError } from '../../Form/FieldError';
1
+ import React, { useCallback } from 'react';
2
+ import { VotingVisibility } from 'stream-chat';
3
+ import { MultipleAnswersField } from './MultipleAnswersField';
4
+ import { NameField } from './NameField';
5
5
  import { OptionFieldSet } from './OptionFieldSet';
6
6
  import { PollCreationDialogControls } from './PollCreationDialogControls';
7
- import { VALID_MAX_VOTES_VALUE_REGEX } from '../constants';
8
7
  import { ModalHeader } from '../../Modal/ModalHeader';
9
8
  import { SimpleSwitchField } from '../../Form/SwitchField';
10
- import { useChatContext, useTranslationContext } from '../../../context';
9
+ import { useMessageComposer } from '../../MessageInput';
10
+ import { useTranslationContext } from '../../../context';
11
+ import { useStateStore } from '../../../store';
12
+ const pollComposerStateSelector = (state) => ({
13
+ allow_answers: state.data.allow_answers,
14
+ allow_user_suggested_options: state.data.allow_user_suggested_options,
15
+ voting_visibility: state.data.voting_visibility,
16
+ });
11
17
  export const PollCreationDialog = ({ close }) => {
12
- const { client } = useChatContext();
13
18
  const { t } = useTranslationContext();
14
- const [nameError, setNameError] = useState();
15
- const [optionsErrors, setOptionsErrors] = useState({});
16
- const [multipleAnswerCountError, setMultipleAnswerCountError] = useState();
17
- const [state, setState] = useState(() => ({
18
- allow_answers: false,
19
- allow_user_suggested_options: false,
20
- description: '',
21
- enforce_unique_vote: true,
22
- id: nanoid(),
23
- max_votes_allowed: '',
24
- name: '',
25
- options: [{ id: nanoid(), text: '' }],
26
- user_id: client.user?.id,
27
- voting_visibility: 'public',
28
- }));
19
+ const { pollComposer } = useMessageComposer();
20
+ const { allow_answers, allow_user_suggested_options, voting_visibility } = useStateStore(pollComposer.state, pollComposerStateSelector);
21
+ const onClose = useCallback(() => {
22
+ pollComposer.initState();
23
+ close();
24
+ }, [pollComposer, close]);
29
25
  return (React.createElement("div", { className: 'str-chat__dialog str-chat__poll-creation-dialog', "data-testid": 'poll-creation-dialog' },
30
- React.createElement(ModalHeader, { close: close, title: t('Create poll') }),
26
+ React.createElement(ModalHeader, { close: onClose, title: t('Create poll') }),
31
27
  React.createElement("div", { className: 'str-chat__dialog__body' },
32
28
  React.createElement("form", { autoComplete: 'off' },
33
- React.createElement("div", { className: clsx('str-chat__form__field str-chat__form__input-field str-chat__form__input-field--with-label', {
34
- 'str-chat__form__input-field--has-error': nameError,
35
- }) },
36
- React.createElement("label", { className: 'str-chat__form__field-label', htmlFor: 'name' }, t('Question')),
37
- React.createElement("div", { className: clsx('str-chat__form__input-field__value') },
38
- React.createElement(FieldError, { className: 'str-chat__form__input-field__error', "data-testid": 'poll-name-input-field-error', text: nameError }),
39
- React.createElement("input", { id: 'name', onBlur: (e) => {
40
- if (!e.target.value) {
41
- setNameError('The field is required');
42
- }
43
- }, onChange: (e) => {
44
- setState((prev) => ({ ...prev, name: e.target.value }));
45
- if (nameError && e.target.value) {
46
- setNameError(undefined);
47
- }
48
- }, placeholder: t('Ask a question'), type: 'text', value: state.name }))),
49
- React.createElement(OptionFieldSet, { errors: optionsErrors, options: state.options, setErrors: setOptionsErrors, setState: setState }),
50
- React.createElement("div", { className: clsx('str-chat__form__expandable-field', {
51
- 'str-chat__form__expandable-field--expanded': !state.enforce_unique_vote,
52
- }) },
53
- React.createElement(SimpleSwitchField, { checked: !state.enforce_unique_vote, id: 'enforce_unique_vote', labelText: t('Multiple answers'), onChange: (e) => {
54
- setState((prev) => ({
55
- ...prev,
56
- enforce_unique_vote: !e.target.checked,
57
- max_votes_allowed: '',
58
- }));
59
- setMultipleAnswerCountError(undefined);
60
- } }),
61
- !state.enforce_unique_vote && (React.createElement("div", { className: clsx('str-chat__form__input-field', {
62
- 'str-chat__form__input-field--has-error': multipleAnswerCountError,
63
- }) },
64
- React.createElement("div", { className: clsx('str-chat__form__input-field__value') },
65
- React.createElement(FieldError, { className: 'str-chat__form__input-field__error', "data-testid": 'poll-max-votes-allowed-input-field-error', text: multipleAnswerCountError }),
66
- React.createElement("input", { id: 'max_votes_allowed', onChange: (e) => {
67
- const isValidValue = !e.target.value ||
68
- e.target.value.match(VALID_MAX_VOTES_VALUE_REGEX);
69
- if (!isValidValue) {
70
- setMultipleAnswerCountError(t('Type a number from 2 to 10'));
71
- }
72
- else if (multipleAnswerCountError) {
73
- setMultipleAnswerCountError(undefined);
74
- }
75
- setState((prev) => ({
76
- ...prev,
77
- max_votes_allowed: e.target.value,
78
- }));
79
- }, placeholder: t('Maximum number of votes (from 2 to 10)'), type: 'number', value: state.max_votes_allowed }))))),
80
- React.createElement(SimpleSwitchField, { checked: state.voting_visibility === 'anonymous', id: 'voting_visibility', labelText: t('Anonymous poll'), onChange: (e) => setState((prev) => ({
81
- ...prev,
82
- voting_visibility: (e.target.checked
83
- ? 'anonymous'
84
- : 'public'),
85
- })) }),
86
- React.createElement(SimpleSwitchField, { checked: state.allow_user_suggested_options, id: 'allow_user_suggested_options', labelText: t('Allow option suggestion'), onChange: (e) => setState((prev) => ({
87
- ...prev,
29
+ React.createElement(NameField, null),
30
+ React.createElement(OptionFieldSet, null),
31
+ React.createElement(MultipleAnswersField, null),
32
+ React.createElement(SimpleSwitchField, { checked: voting_visibility === 'anonymous', id: 'voting_visibility', labelText: t('Anonymous poll'), onChange: (e) => pollComposer.updateFields({
33
+ voting_visibility: e.target.checked
34
+ ? VotingVisibility.anonymous
35
+ : VotingVisibility.public,
36
+ }) }),
37
+ React.createElement(SimpleSwitchField, { checked: allow_user_suggested_options, id: 'allow_user_suggested_options', labelText: t('Allow option suggestion'), onChange: (e) => pollComposer.updateFields({
88
38
  allow_user_suggested_options: e.target.checked,
89
- })) }),
90
- React.createElement(SimpleSwitchField, { checked: state.allow_answers, id: 'allow_answers', labelText: t('Allow comments'), onChange: (e) => setState((prev) => ({ ...prev, allow_answers: e.target.checked })) }))),
91
- React.createElement(PollCreationDialogControls, { close: close, errors: [
92
- ...(nameError ?? []),
93
- ...(multipleAnswerCountError ?? []),
94
- ...Object.keys(optionsErrors),
95
- ], state: state })));
39
+ }) }),
40
+ React.createElement(SimpleSwitchField, { checked: allow_answers, id: 'allow_answers', labelText: t('Allow comments'), onChange: (e) => pollComposer.updateFields({ allow_answers: e.target.checked }) }))),
41
+ React.createElement(PollCreationDialogControls, { close: close })));
96
42
  };
@@ -1,8 +1,5 @@
1
1
  import React from 'react';
2
- import type { PollFormState } from './types';
3
2
  export type PollCreationDialogControlsProps = {
4
3
  close: () => void;
5
- errors: string[];
6
- state: PollFormState;
7
4
  };
8
- export declare const PollCreationDialogControls: ({ close, errors, state, }: PollCreationDialogControlsProps) => React.JSX.Element;
5
+ export declare const PollCreationDialogControls: ({ close, }: PollCreationDialogControlsProps) => React.JSX.Element;
@@ -1,47 +1,21 @@
1
1
  import React from 'react';
2
- import { VALID_MAX_VOTES_VALUE_REGEX } from '../constants';
3
- import { useChatContext, useMessageInputContext, useTranslationContext, } from '../../../context';
4
- export const PollCreationDialogControls = ({ close, errors, state, }) => {
5
- const { client } = useChatContext();
2
+ import { useCanCreatePoll, useMessageComposer } from '../../MessageInput';
3
+ import { useMessageInputContext, useTranslationContext } from '../../../context';
4
+ export const PollCreationDialogControls = ({ close, }) => {
6
5
  const { t } = useTranslationContext('PollCreationDialogControls');
7
- const { handleSubmit: handleSubmitMessage } = useMessageInputContext('PollCreationDialogControls');
8
- const canSubmit = () => {
9
- const hasAtLeastOneOption = state.options.filter((o) => !!o.text).length > 0;
10
- const hasName = !!state.name;
11
- const maxVotesAllowedNumber = parseInt(state.max_votes_allowed?.match(VALID_MAX_VOTES_VALUE_REGEX)?.[0] || '');
12
- const validMaxVotesAllowed = state.max_votes_allowed === '' ||
13
- (!!maxVotesAllowedNumber &&
14
- (2 <= maxVotesAllowedNumber || maxVotesAllowedNumber <= 10));
15
- const noErrors = errors.length === 0;
16
- return hasAtLeastOneOption && hasName && validMaxVotesAllowed && noErrors;
17
- };
6
+ const { handleSubmit: handleSubmitMessage } = useMessageInputContext();
7
+ const messageComposer = useMessageComposer();
8
+ const canCreatePoll = useCanCreatePoll();
18
9
  return (React.createElement("div", { className: 'str-chat__dialog__controls' },
19
- React.createElement("button", { className: 'str-chat__dialog__controls-button str-chat__dialog__controls-button--cancel', onClick: close }, t('Cancel')),
20
- React.createElement("button", { className: 'str-chat__dialog__controls-button str-chat__dialog__controls-button--submit', disabled: !canSubmit(), onClick: async (e) => {
21
- let pollId;
22
- try {
23
- const { poll } = await client.createPoll({
24
- ...state,
25
- max_votes_allowed: state.max_votes_allowed
26
- ? parseInt(state.max_votes_allowed)
27
- : undefined,
28
- options: state.options
29
- ?.filter((o) => o.text)
30
- .map((o) => ({ text: o.text })),
31
- });
32
- pollId = poll.id;
33
- }
34
- catch (e) {
35
- // todo: add notification
36
- return;
37
- }
38
- try {
39
- await handleSubmitMessage(e, { poll_id: pollId });
40
- }
41
- catch (e) {
42
- // todo: add notification
43
- return;
44
- }
10
+ React.createElement("button", { className: 'str-chat__dialog__controls-button str-chat__dialog__controls-button--cancel', onClick: () => {
11
+ messageComposer.pollComposer.initState();
45
12
  close();
13
+ } }, t('Cancel')),
14
+ React.createElement("button", { className: 'str-chat__dialog__controls-button str-chat__dialog__controls-button--submit', disabled: !canCreatePoll, onClick: () => {
15
+ messageComposer
16
+ .createPoll()
17
+ .then(() => handleSubmitMessage())
18
+ .then(close)
19
+ .catch(console.error);
46
20
  }, type: 'submit' }, t('Create'))));
47
21
  };
@@ -1,21 +1,7 @@
1
- import type { VotingVisibility } from 'stream-chat';
2
1
  type Id = string;
3
2
  export type PollOptionFormData = {
4
3
  id: Id;
5
4
  text: string;
6
5
  };
7
- export type PollFormState = {
8
- id: Id;
9
- max_votes_allowed: string;
10
- name: string;
11
- options: PollOptionFormData[];
12
- allow_answers?: boolean;
13
- allow_user_suggested_options?: boolean;
14
- description?: string;
15
- enforce_unique_vote?: boolean;
16
- is_closed?: boolean;
17
- user_id?: string;
18
- voting_visibility?: VotingVisibility;
19
- };
20
6
  export type OptionErrors = Record<Id, string>;
21
7
  export {};
@@ -1,3 +1,2 @@
1
1
  import React from 'react';
2
- import type { DefaultStreamChatGenerics } from '../../types';
3
- export declare const PollHeader: <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>() => React.JSX.Element | undefined;
2
+ export declare const PollHeader: () => React.JSX.Element | undefined;
@@ -1,6 +1,5 @@
1
1
  import React from 'react';
2
- import type { DefaultStreamChatGenerics } from '../../types';
3
2
  export type PollOptionListProps = {
4
3
  optionsDisplayCount?: number;
5
4
  };
6
- export declare const PollOptionList: <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>({ optionsDisplayCount, }: PollOptionListProps) => React.JSX.Element;
5
+ export declare const PollOptionList: ({ optionsDisplayCount }: PollOptionListProps) => React.JSX.Element;
@@ -3,8 +3,10 @@ import React from 'react';
3
3
  import { PollOptionSelector as DefaultPollOptionSelector } from './PollOptionSelector';
4
4
  import { useStateStore } from '../../store';
5
5
  import { useComponentContext, usePollContext } from '../../context';
6
- const pollStateSelector = (nextValue) => ({ options: nextValue.options });
7
- export const PollOptionList = ({ optionsDisplayCount, }) => {
6
+ const pollStateSelector = (nextValue) => ({
7
+ options: nextValue.options,
8
+ });
9
+ export const PollOptionList = ({ optionsDisplayCount }) => {
8
10
  const { PollOptionSelector = DefaultPollOptionSelector } = useComponentContext();
9
11
  const { poll } = usePollContext();
10
12
  const { options } = useStateStore(poll.state, pollStateSelector);
@@ -1,6 +1,5 @@
1
1
  import React from 'react';
2
2
  import type { PollOption } from 'stream-chat';
3
- import type { DefaultStreamChatGenerics } from '../../types';
4
3
  type AmountBarProps = {
5
4
  amount: number;
6
5
  className?: string;
@@ -10,10 +9,10 @@ export type CheckmarkProps = {
10
9
  checked?: boolean;
11
10
  };
12
11
  export declare const Checkmark: ({ checked }: CheckmarkProps) => React.JSX.Element;
13
- export type PollOptionSelectorProps<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> = {
14
- option: PollOption<StreamChatGenerics>;
12
+ export type PollOptionSelectorProps = {
13
+ option: PollOption;
15
14
  displayAvatarCount?: number;
16
15
  voteCountVerbose?: boolean;
17
16
  };
18
- export declare const PollOptionSelector: <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>({ displayAvatarCount, option, voteCountVerbose, }: PollOptionSelectorProps<StreamChatGenerics>) => React.JSX.Element;
17
+ export declare const PollOptionSelector: ({ displayAvatarCount, option, voteCountVerbose, }: PollOptionSelectorProps) => React.JSX.Element;
19
18
  export {};
@@ -1,12 +1,11 @@
1
1
  import React from 'react';
2
2
  import type { PollVote as PollVoteType } from 'stream-chat';
3
- import type { DefaultStreamChatGenerics } from '../../types';
4
- type PollVoteProps<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> = {
5
- vote: PollVoteType<StreamChatGenerics>;
3
+ type PollVoteProps = {
4
+ vote: PollVoteType;
6
5
  };
7
- export declare const PollVote: <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>({ vote, }: PollVoteProps<StreamChatGenerics>) => React.JSX.Element;
8
- export type PollVoteListingProps<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> = {
9
- votes: PollVoteType<StreamChatGenerics>[];
6
+ export declare const PollVote: ({ vote }: PollVoteProps) => React.JSX.Element;
7
+ export type PollVoteListingProps = {
8
+ votes: PollVoteType[];
10
9
  };
11
- export declare const PollVoteListing: <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>({ votes, }: PollVoteListingProps<StreamChatGenerics>) => React.JSX.Element;
10
+ export declare const PollVoteListing: ({ votes }: PollVoteListingProps) => React.JSX.Element;
12
11
  export {};
@@ -12,7 +12,7 @@ const PollVoteTimestamp = ({ timestamp }) => {
12
12
  t('timestamp/PollVote', { timestamp: timestampDate }),
13
13
  React.createElement(PopperTooltip, { offset: [0, 5], placement: 'bottom', referenceElement: referenceElement, visible: tooltipVisible }, t('timestamp/PollVoteTooltip', { timestamp: timestampDate }))));
14
14
  };
15
- const PollVoteAuthor = ({ vote, }) => {
15
+ const PollVoteAuthor = ({ vote }) => {
16
16
  const { t } = useTranslationContext();
17
17
  const { client } = useChatContext();
18
18
  const { handleEnter, handleLeave, tooltipVisible } = useEnterLeaveHandlers();
@@ -25,7 +25,7 @@ const PollVoteAuthor = ({ vote, }) => {
25
25
  React.createElement("div", { className: 'str-chat__poll-vote__author__name' }, displayName),
26
26
  React.createElement(PopperTooltip, { offset: [0, 5], placement: 'bottom', referenceElement: referenceElement, visible: tooltipVisible }, displayName)));
27
27
  };
28
- export const PollVote = ({ vote, }) => (React.createElement("div", { className: 'str-chat__poll-vote' },
28
+ export const PollVote = ({ vote }) => (React.createElement("div", { className: 'str-chat__poll-vote' },
29
29
  React.createElement(PollVoteAuthor, { vote: vote }),
30
30
  React.createElement(PollVoteTimestamp, { timestamp: vote.created_at })));
31
- export const PollVoteListing = ({ votes, }) => (React.createElement("div", { className: 'str-chat__poll-vote-listing' }, votes.map((vote) => (React.createElement(PollVote, { key: `poll-vote-${vote.id}`, vote: vote })))));
31
+ export const PollVoteListing = ({ votes }) => (React.createElement("div", { className: 'str-chat__poll-vote-listing' }, votes.map((vote) => (React.createElement(PollVote, { key: `poll-vote-${vote.id}`, vote: vote })))));
@@ -1,3 +1,2 @@
1
1
  import React from 'react';
2
- import type { DefaultStreamChatGenerics } from '../../types';
3
- export declare const QuotedPoll: <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>() => React.JSX.Element;
2
+ export declare const QuotedPoll: () => React.JSX.Element;
@@ -1,3 +1,2 @@
1
1
  export declare const MAX_POLL_OPTIONS: 100;
2
- export declare const VALID_MAX_VOTES_VALUE_REGEX: RegExp;
3
2
  export declare const MAX_OPTIONS_DISPLAYED: 10;
@@ -1,3 +1,2 @@
1
1
  export const MAX_POLL_OPTIONS = 100;
2
- export const VALID_MAX_VOTES_VALUE_REGEX = /^([2-9]|10)$/;
3
2
  export const MAX_OPTIONS_DISPLAYED = 10;
@@ -1,4 +1,3 @@
1
1
  import type { PollAnswer, PollVote } from 'stream-chat';
2
- import type { DefaultStreamChatGenerics } from '../../../types';
3
- import { CursorPaginatorStateStore } from '../../InfiniteScrollPaginator/hooks/useCursorPaginator';
4
- export declare function useManagePollVotesRealtime<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics, T extends PollVote<StreamChatGenerics> | PollAnswer<StreamChatGenerics> = PollVote<StreamChatGenerics>>(managedVoteType: 'answer' | 'vote', cursorPaginatorState?: CursorPaginatorStateStore<T>, optionId?: string): T[];
2
+ import type { CursorPaginatorStateStore } from '../../InfiniteScrollPaginator/hooks/useCursorPaginator';
3
+ export declare function useManagePollVotesRealtime<T extends PollVote | PollAnswer = PollVote>(managedVoteType: 'answer' | 'vote', cursorPaginatorState?: CursorPaginatorStateStore<T>, optionId?: string): T[];
@@ -1,10 +1,9 @@
1
1
  import type { PollAnswer, PollAnswersQueryParams } from 'stream-chat';
2
- import type { DefaultStreamChatGenerics } from '../../../types';
3
2
  type UsePollAnswerPaginationParams = {
4
3
  paginationParams?: PollAnswersQueryParams;
5
4
  };
6
- export declare const usePollAnswerPagination: <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>({ paginationParams }?: UsePollAnswerPaginationParams) => {
7
- answers: PollAnswer<StreamChatGenerics>[];
5
+ export declare const usePollAnswerPagination: ({ paginationParams, }?: UsePollAnswerPaginationParams) => {
6
+ answers: PollAnswer[];
8
7
  error: Error | undefined;
9
8
  hasNextPage: boolean;
10
9
  loading: boolean;
@@ -1,6 +1,6 @@
1
1
  import { useCallback } from 'react';
2
2
  import { useManagePollVotesRealtime } from './useManagePollVotesRealtime';
3
- import { useCursorPaginator, } from '../../InfiniteScrollPaginator/hooks/useCursorPaginator';
3
+ import { useCursorPaginator } from '../../InfiniteScrollPaginator/hooks/useCursorPaginator';
4
4
  import { usePollContext } from '../../../context';
5
5
  import { useStateStore } from '../../../store';
6
6
  const paginationStateSelector = (state) => [
@@ -8,7 +8,7 @@ const paginationStateSelector = (state) => [
8
8
  state.hasNextPage,
9
9
  state.loading,
10
10
  ];
11
- export const usePollAnswerPagination = ({ paginationParams } = {}) => {
11
+ export const usePollAnswerPagination = ({ paginationParams, } = {}) => {
12
12
  const { poll } = usePollContext();
13
13
  const paginationFn = useCallback(async (next) => {
14
14
  const { next: newNext, votes } = await poll.queryAnswers({
@@ -1,13 +1,12 @@
1
- import type { DefaultStreamChatGenerics } from '../../../types';
2
1
  import type { PollOptionVotesQueryParams, PollVote } from 'stream-chat';
3
2
  type UsePollOptionVotesPaginationParams = {
4
3
  paginationParams: PollOptionVotesQueryParams;
5
4
  };
6
- export declare const usePollOptionVotesPagination: <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>({ paginationParams, }: UsePollOptionVotesPaginationParams) => {
5
+ export declare const usePollOptionVotesPagination: ({ paginationParams, }: UsePollOptionVotesPaginationParams) => {
7
6
  error: Error | undefined;
8
7
  hasNextPage: boolean;
9
8
  loading: boolean;
10
9
  loadMore: () => Promise<void>;
11
- votes: PollVote<StreamChatGenerics>[];
10
+ votes: PollVote[];
12
11
  };
13
12
  export {};
@@ -1,6 +1,6 @@
1
1
  import { useCallback } from 'react';
2
2
  import { useManagePollVotesRealtime } from './useManagePollVotesRealtime';
3
- import { useCursorPaginator, } from '../../InfiniteScrollPaginator/hooks/useCursorPaginator';
3
+ import { useCursorPaginator } from '../../InfiniteScrollPaginator/hooks/useCursorPaginator';
4
4
  import { useStateStore } from '../../../store';
5
5
  import { usePollContext } from '../../../context';
6
6
  const paginationStateSelector = (state) => [
@@ -1,4 +1,4 @@
1
- import { PropsWithChildren, ReactPortal } from 'react';
1
+ import type { PropsWithChildren, ReactPortal } from 'react';
2
2
  export type PortalProps = {
3
3
  getPortalDestination: () => Element | null;
4
4
  isOpen?: boolean;
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { IconType } from './iconMap';
2
+ import type { IconType } from './iconMap';
3
3
  export type FileIconProps = {
4
4
  big?: boolean;
5
5
  className?: string;
@@ -1,4 +1,5 @@
1
- import React, { ComponentPropsWithoutRef } from 'react';
1
+ import type { ComponentPropsWithoutRef } from 'react';
2
+ import React from 'react';
2
3
  export type IconTypeV2 = 'standard' | 'alt';
3
4
  export type IconProps = {
4
5
  mimeType?: string;
@@ -1,4 +1,4 @@
1
- import { GeneralType, SupportedMimeType } from './mimeTypes';
1
+ import type { GeneralType, SupportedMimeType } from './mimeTypes';
2
2
  import type { ComponentType } from 'react';
3
3
  import type { IconProps } from './FileIconSet';
4
4
  export type IconType = 'standard' | 'alt';
@@ -1,5 +1,6 @@
1
- import React, { ComponentProps } from 'react';
2
- import { PartialSelected } from '../../types/types';
1
+ import type { ComponentProps } from 'react';
2
+ import React from 'react';
3
+ import type { PartialSelected } from '../../types/types';
3
4
  /**
4
5
  * @deprecated Use FileInputProps instead.
5
6
  */
@@ -2,7 +2,14 @@ import clsx from 'clsx';
2
2
  import { nanoid } from 'nanoid';
3
3
  import React, { forwardRef, useCallback, useMemo } from 'react';
4
4
  import { useHandleFileChangeWrapper } from './utils';
5
- import { useChannelStateContext, useMessageInputContext, useTranslationContext, } from '../../context';
5
+ import { useMessageInputContext, useTranslationContext } from '../../context';
6
+ import { useMessageComposer } from '../MessageInput';
7
+ import { useAttachmentManagerState } from '../MessageInput/hooks/useAttachmentManagerState';
8
+ import { useStateStore } from '../../store';
9
+ const attachmentManagerConfigStateSelector = (state) => ({
10
+ acceptedFiles: state.attachments.acceptedFiles,
11
+ maxNumberOfFilesPerMessage: state.attachments.maxNumberOfFilesPerMessage,
12
+ });
6
13
  /**
7
14
  * @deprecated Use FileInput instead
8
15
  */
@@ -13,12 +20,15 @@ export const UploadButton = forwardRef(function UploadButton({ onFileChange, res
13
20
  export const FileInput = UploadButton;
14
21
  export const UploadFileInput = forwardRef(function UploadFileInput({ className, onFileChange: onFileChangeCustom, ...props }, ref) {
15
22
  const { t } = useTranslationContext('UploadFileInput');
16
- const { acceptedFiles = [], multipleUploads } = useChannelStateContext('UploadFileInput');
17
- const { isUploadEnabled, maxFilesLeft, uploadNewFiles } = useMessageInputContext('UploadFileInput');
23
+ const { cooldownRemaining } = useMessageInputContext();
24
+ const messageComposer = useMessageComposer();
25
+ const { attachmentManager } = messageComposer;
26
+ const { isUploadEnabled } = useAttachmentManagerState();
27
+ const { acceptedFiles, maxNumberOfFilesPerMessage } = useStateStore(messageComposer.configState, attachmentManagerConfigStateSelector);
18
28
  const id = useMemo(() => nanoid(), []);
19
29
  const onFileChange = useCallback((files) => {
20
- uploadNewFiles(files);
30
+ attachmentManager.uploadFiles(files);
21
31
  onFileChangeCustom?.(files);
22
- }, [onFileChangeCustom, uploadNewFiles]);
23
- return (React.createElement(FileInput, { accept: acceptedFiles?.join(','), "aria-label": t('aria/File upload'), "data-testid": 'file-input', disabled: !isUploadEnabled || maxFilesLeft === 0, id: id, multiple: multipleUploads, ...props, className: clsx('str-chat__file-input', className), onFileChange: onFileChange, ref: ref }));
32
+ }, [onFileChangeCustom, attachmentManager]);
33
+ return (React.createElement(FileInput, { accept: acceptedFiles?.join(','), "aria-label": t('aria/File upload'), "data-testid": 'file-input', disabled: !isUploadEnabled || !!cooldownRemaining, id: id, multiple: maxNumberOfFilesPerMessage > 1, ...props, className: clsx('str-chat__file-input', className), onFileChange: onFileChange, ref: ref }));
24
34
  });
@@ -1,5 +1,4 @@
1
1
  export * from './FileIcon';
2
- export * from './ImageDropzone';
3
2
  export * from './LoadingIndicator';
4
3
  export * from './UploadButton';
5
4
  export * from './types';
@@ -1,5 +1,4 @@
1
1
  export * from './FileIcon';
2
- export * from './ImageDropzone';
3
2
  export * from './LoadingIndicator';
4
3
  export * from './UploadButton';
5
4
  export * from './types';
@@ -1,5 +1,5 @@
1
- import { FileLike, RecordedMediaType } from './types';
2
- import { ChangeEvent } from 'react';
1
+ import type { FileLike, RecordedMediaType } from './types';
2
+ import type { ChangeEvent } from 'react';
3
3
  export declare const useHandleFileChangeWrapper: (resetOnChange?: boolean, handler?: (files: Array<File>) => void) => ({ currentTarget }: ChangeEvent<HTMLInputElement>) => void;
4
4
  export declare function dataTransferItemsHaveFiles(items?: DataTransferItem[]): boolean;
5
5
  export declare function dataTransferItemsToFiles(items?: DataTransferItem[]): Promise<FileLike[]>;
@@ -1,9 +1,8 @@
1
1
  import React from 'react';
2
2
  import type { ReactionGroupResponse, ReactionResponse } from 'stream-chat';
3
3
  import type { AvatarProps } from '../Avatar';
4
- import type { DefaultStreamChatGenerics } from '../../types/types';
5
4
  import type { ReactionOptions } from './reactionOptions';
6
- export type ReactionSelectorProps<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> = {
5
+ export type ReactionSelectorProps = {
7
6
  /** 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) */
8
7
  Avatar?: React.ElementType<AvatarProps>;
9
8
  /** If true, shows the user's avatar with the reaction */
@@ -11,9 +10,9 @@ export type ReactionSelectorProps<StreamChatGenerics extends DefaultStreamChatGe
11
10
  /** Function that adds/removes a reaction on a message (overrides the function stored in `MessageContext`) */
12
11
  handleReaction?: (reactionType: string, event: React.BaseSyntheticEvent) => Promise<void>;
13
12
  /** An array of the reaction objects to display in the list */
14
- latest_reactions?: ReactionResponse<StreamChatGenerics>[];
13
+ latest_reactions?: ReactionResponse[];
15
14
  /** An array of the own reaction objects to distinguish own reactions visually */
16
- own_reactions?: ReactionResponse<StreamChatGenerics>[];
15
+ own_reactions?: ReactionResponse[];
17
16
  /**
18
17
  * An object that keeps track of the count of each type of reaction on a message
19
18
  * @deprecated This override value is no longer taken into account. Use `reaction_groups` to override reaction counts instead.
@@ -32,4 +31,4 @@ export type ReactionSelectorProps<StreamChatGenerics extends DefaultStreamChatGe
32
31
  /**
33
32
  * Component that allows a user to select a reaction.
34
33
  */
35
- export declare const ReactionSelector: <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(props: ReactionSelectorProps<StreamChatGenerics>) => React.JSX.Element;
34
+ export declare const ReactionSelector: (props: ReactionSelectorProps) => React.JSX.Element;
@@ -1,5 +1,4 @@
1
1
  import React from 'react';
2
- import type { DefaultStreamChatGenerics } from '../../types';
3
2
  import type { IconProps } from '../../types/types';
4
3
  type ReactionSelectorWithButtonProps = {
5
4
  ReactionIcon: React.ComponentType<IconProps>;
@@ -8,5 +7,5 @@ type ReactionSelectorWithButtonProps = {
8
7
  * Internal convenience component - not to be exported. It just groups the button and the dialog anchor and thus prevents
9
8
  * cluttering the parent component.
10
9
  */
11
- export declare const ReactionSelectorWithButton: <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>({ ReactionIcon, }: ReactionSelectorWithButtonProps) => React.JSX.Element;
10
+ export declare const ReactionSelectorWithButton: ({ ReactionIcon, }: ReactionSelectorWithButtonProps) => React.JSX.Element;
12
11
  export {};
@@ -1,12 +1,11 @@
1
1
  import React from 'react';
2
- import { MessageContextValue } from '../../context';
2
+ import type { MessageContextValue } from '../../context';
3
3
  import type { ReactionGroupResponse, ReactionResponse } from 'stream-chat';
4
- import type { DefaultStreamChatGenerics } from '../../types/types';
5
4
  import type { ReactionOptions } from './reactionOptions';
6
5
  import type { ReactionDetailsComparator, ReactionsComparator } from './types';
7
- export type ReactionsListProps<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> = Partial<Pick<MessageContextValue<StreamChatGenerics>, 'handleFetchReactions' | 'reactionDetailsSort'>> & {
6
+ export type ReactionsListProps = Partial<Pick<MessageContextValue, 'handleFetchReactions' | 'reactionDetailsSort'>> & {
8
7
  /** An array of the own reaction objects to distinguish own reactions visually */
9
- own_reactions?: ReactionResponse<StreamChatGenerics>[];
8
+ own_reactions?: ReactionResponse[];
10
9
  /**
11
10
  * An object that keeps track of the count of each type of reaction on a message
12
11
  * @deprecated This override value is no longer taken into account. Use `reaction_groups` to override reaction counts instead.
@@ -20,17 +19,17 @@ export type ReactionsListProps<StreamChatGenerics extends DefaultStreamChatGener
20
19
  * */
21
20
  reactionOptions?: ReactionOptions;
22
21
  /** An array of the reaction objects to display in the list */
23
- reactions?: ReactionResponse<StreamChatGenerics>[];
22
+ reactions?: ReactionResponse[];
24
23
  /** Display the reactions in the list in reverse order, defaults to false */
25
24
  reverse?: boolean;
26
25
  /** Comparator function to sort the list of reacted users
27
26
  * @deprecated use `reactionDetailsSort` instead
28
27
  */
29
- sortReactionDetails?: ReactionDetailsComparator<StreamChatGenerics>;
28
+ sortReactionDetails?: ReactionDetailsComparator;
30
29
  /** Comparator function to sort reactions, defaults to chronological order */
31
30
  sortReactions?: ReactionsComparator;
32
31
  };
33
32
  /**
34
33
  * Component that displays a list of reactions on a message.
35
34
  */
36
- export declare const ReactionsList: <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(props: ReactionsListProps<StreamChatGenerics>) => React.JSX.Element | null;
35
+ export declare const ReactionsList: (props: ReactionsListProps) => React.JSX.Element | null;
@@ -1,8 +1,8 @@
1
1
  import React, { useState } from 'react';
2
2
  import clsx from 'clsx';
3
- import { ReactionsListModal as DefaultReactionsListModal, } from './ReactionsListModal';
3
+ import { ReactionsListModal as DefaultReactionsListModal } from './ReactionsListModal';
4
4
  import { useProcessReactions } from './hooks/useProcessReactions';
5
- import { useComponentContext, useTranslationContext, } from '../../context';
5
+ import { useComponentContext, useTranslationContext } from '../../context';
6
6
  import { MAX_MESSAGE_REACTIONS_TO_FETCH } from '../Message/hooks';
7
7
  const UnMemoizedReactionsList = (props) => {
8
8
  const { handleFetchReactions,