stream-chat-react 7.0.0 → 8.1.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 (388) hide show
  1. package/README.md +1 -1
  2. package/dist/browser.full-bundle.js +2033 -785
  3. package/dist/browser.full-bundle.js.map +1 -1
  4. package/dist/browser.full-bundle.min.js +5 -5
  5. package/dist/browser.full-bundle.min.js.map +1 -1
  6. package/dist/components/Attachment/Attachment.d.ts +8 -8
  7. package/dist/components/Attachment/Attachment.d.ts.map +1 -1
  8. package/dist/components/Attachment/AttachmentActions.d.ts +3 -4
  9. package/dist/components/Attachment/AttachmentActions.d.ts.map +1 -1
  10. package/dist/components/Attachment/Audio.d.ts +4 -5
  11. package/dist/components/Attachment/Audio.d.ts.map +1 -1
  12. package/dist/components/Attachment/Card.d.ts +2 -0
  13. package/dist/components/Attachment/Card.d.ts.map +1 -1
  14. package/dist/components/Attachment/Card.js +22 -2
  15. package/dist/components/Attachment/FileAttachment.d.ts +4 -5
  16. package/dist/components/Attachment/FileAttachment.d.ts.map +1 -1
  17. package/dist/components/Attachment/utils.d.ts +22 -22
  18. package/dist/components/Attachment/utils.d.ts.map +1 -1
  19. package/dist/components/Attachment/utils.js +3 -1
  20. package/dist/components/AutoCompleteTextarea/Item.d.ts.map +1 -1
  21. package/dist/components/AutoCompleteTextarea/Item.js +2 -1
  22. package/dist/components/AutoCompleteTextarea/List.d.ts.map +1 -1
  23. package/dist/components/AutoCompleteTextarea/Textarea.d.ts.map +1 -1
  24. package/dist/components/AutoCompleteTextarea/Textarea.js +1 -2
  25. package/dist/components/Avatar/Avatar.d.ts +4 -4
  26. package/dist/components/Avatar/Avatar.d.ts.map +1 -1
  27. package/dist/components/Channel/Channel.d.ts +47 -45
  28. package/dist/components/Channel/Channel.d.ts.map +1 -1
  29. package/dist/components/Channel/Channel.js +109 -34
  30. package/dist/components/Channel/channelState.d.ts +32 -15
  31. package/dist/components/Channel/channelState.d.ts.map +1 -1
  32. package/dist/components/Channel/channelState.js +24 -2
  33. package/dist/components/Channel/hooks/useCreateChannelStateContext.d.ts +3 -3
  34. package/dist/components/Channel/hooks/useCreateChannelStateContext.d.ts.map +1 -1
  35. package/dist/components/Channel/hooks/useCreateChannelStateContext.js +8 -1
  36. package/dist/components/Channel/hooks/useCreateTypingContext.d.ts +2 -2
  37. package/dist/components/Channel/hooks/useCreateTypingContext.d.ts.map +1 -1
  38. package/dist/components/Channel/hooks/useEditMessageHandler.d.ts +3 -3
  39. package/dist/components/Channel/hooks/useEditMessageHandler.d.ts.map +1 -1
  40. package/dist/components/Channel/hooks/useIsMounted.d.ts +0 -1
  41. package/dist/components/Channel/hooks/useIsMounted.d.ts.map +1 -1
  42. package/dist/components/Channel/hooks/useMentionsHandlers.d.ts +3 -3
  43. package/dist/components/Channel/hooks/useMentionsHandlers.d.ts.map +1 -1
  44. package/dist/components/Channel/utils.d.ts +5 -0
  45. package/dist/components/Channel/utils.d.ts.map +1 -0
  46. package/dist/components/Channel/utils.js +19 -0
  47. package/dist/components/ChannelHeader/ChannelHeader.d.ts +4 -2
  48. package/dist/components/ChannelHeader/ChannelHeader.d.ts.map +1 -1
  49. package/dist/components/ChannelHeader/ChannelHeader.js +5 -6
  50. package/dist/components/ChannelHeader/icons.d.ts +4 -0
  51. package/dist/components/ChannelHeader/icons.d.ts.map +1 -0
  52. package/dist/components/ChannelHeader/icons.js +9 -0
  53. package/dist/components/ChannelList/ChannelList.d.ts +19 -20
  54. package/dist/components/ChannelList/ChannelList.d.ts.map +1 -1
  55. package/dist/components/ChannelList/ChannelList.js +1 -0
  56. package/dist/components/ChannelList/ChannelListMessenger.d.ts +5 -5
  57. package/dist/components/ChannelList/ChannelListMessenger.d.ts.map +1 -1
  58. package/dist/components/ChannelList/hooks/useChannelDeletedListener.d.ts +2 -3
  59. package/dist/components/ChannelList/hooks/useChannelDeletedListener.d.ts.map +1 -1
  60. package/dist/components/ChannelList/hooks/useChannelHiddenListener.d.ts +2 -3
  61. package/dist/components/ChannelList/hooks/useChannelHiddenListener.d.ts.map +1 -1
  62. package/dist/components/ChannelList/hooks/useChannelTruncatedListener.d.ts +2 -3
  63. package/dist/components/ChannelList/hooks/useChannelTruncatedListener.d.ts.map +1 -1
  64. package/dist/components/ChannelList/hooks/useChannelUpdatedListener.d.ts +2 -3
  65. package/dist/components/ChannelList/hooks/useChannelUpdatedListener.d.ts.map +1 -1
  66. package/dist/components/ChannelList/hooks/useChannelVisibleListener.d.ts +2 -3
  67. package/dist/components/ChannelList/hooks/useChannelVisibleListener.d.ts.map +1 -1
  68. package/dist/components/ChannelList/hooks/useConnectionRecoveredListener.d.ts +2 -2
  69. package/dist/components/ChannelList/hooks/useConnectionRecoveredListener.d.ts.map +1 -1
  70. package/dist/components/ChannelList/hooks/useMessageNewListener.d.ts +2 -3
  71. package/dist/components/ChannelList/hooks/useMessageNewListener.d.ts.map +1 -1
  72. package/dist/components/ChannelList/hooks/useNotificationAddedToChannelListener.d.ts +2 -3
  73. package/dist/components/ChannelList/hooks/useNotificationAddedToChannelListener.d.ts.map +1 -1
  74. package/dist/components/ChannelList/hooks/useNotificationMessageNewListener.d.ts +2 -3
  75. package/dist/components/ChannelList/hooks/useNotificationMessageNewListener.d.ts.map +1 -1
  76. package/dist/components/ChannelList/hooks/useNotificationRemovedFromChannelListener.d.ts +2 -3
  77. package/dist/components/ChannelList/hooks/useNotificationRemovedFromChannelListener.d.ts.map +1 -1
  78. package/dist/components/ChannelList/hooks/usePaginatedChannels.d.ts +4 -5
  79. package/dist/components/ChannelList/hooks/usePaginatedChannels.d.ts.map +1 -1
  80. package/dist/components/ChannelList/hooks/useUserPresenceChangedListener.d.ts +2 -3
  81. package/dist/components/ChannelList/hooks/useUserPresenceChangedListener.d.ts.map +1 -1
  82. package/dist/components/ChannelList/utils.d.ts +6 -6
  83. package/dist/components/ChannelList/utils.d.ts.map +1 -1
  84. package/dist/components/ChannelPreview/ChannelPreview.d.ts +9 -9
  85. package/dist/components/ChannelPreview/ChannelPreview.d.ts.map +1 -1
  86. package/dist/components/ChannelPreview/ChannelPreview.js +6 -10
  87. package/dist/components/ChannelPreview/ChannelPreviewMessenger.d.ts +2 -3
  88. package/dist/components/ChannelPreview/ChannelPreviewMessenger.d.ts.map +1 -1
  89. package/dist/components/ChannelPreview/hooks/useIsChannelMuted.d.ts +2 -2
  90. package/dist/components/ChannelPreview/hooks/useIsChannelMuted.d.ts.map +1 -1
  91. package/dist/components/ChannelPreview/utils.d.ts +4 -5
  92. package/dist/components/ChannelPreview/utils.d.ts.map +1 -1
  93. package/dist/components/ChannelSearch/ChannelSearch.d.ts +16 -14
  94. package/dist/components/ChannelSearch/ChannelSearch.d.ts.map +1 -1
  95. package/dist/components/ChannelSearch/ChannelSearch.js +3 -3
  96. package/dist/components/ChannelSearch/SearchInput.d.ts +9 -7
  97. package/dist/components/ChannelSearch/SearchInput.d.ts.map +1 -1
  98. package/dist/components/ChannelSearch/SearchInput.js +2 -2
  99. package/dist/components/ChannelSearch/SearchResults.d.ts +14 -14
  100. package/dist/components/ChannelSearch/SearchResults.d.ts.map +1 -1
  101. package/dist/components/ChannelSearch/utils.d.ts +3 -3
  102. package/dist/components/ChannelSearch/utils.d.ts.map +1 -1
  103. package/dist/components/ChannelSearch/utils.js +1 -3
  104. package/dist/components/Chat/Chat.d.ts +4 -4
  105. package/dist/components/Chat/Chat.d.ts.map +1 -1
  106. package/dist/components/Chat/Chat.js +2 -1
  107. package/dist/components/Chat/hooks/useChat.d.ts +9 -9
  108. package/dist/components/Chat/hooks/useChat.d.ts.map +1 -1
  109. package/dist/components/Chat/hooks/useChat.js +14 -9
  110. package/dist/components/Chat/hooks/useCreateChatContext.d.ts +2 -2
  111. package/dist/components/Chat/hooks/useCreateChatContext.d.ts.map +1 -1
  112. package/dist/components/Chat/hooks/useCreateChatContext.js +2 -1
  113. package/dist/components/ChatAutoComplete/ChatAutoComplete.d.ts +15 -13
  114. package/dist/components/ChatAutoComplete/ChatAutoComplete.d.ts.map +1 -1
  115. package/dist/components/ChatAutoComplete/ChatAutoComplete.js +1 -1
  116. package/dist/components/DateSeparator/DateSeparator.d.ts +0 -1
  117. package/dist/components/DateSeparator/DateSeparator.d.ts.map +1 -1
  118. package/dist/components/EventComponent/EventComponent.d.ts +4 -4
  119. package/dist/components/EventComponent/EventComponent.d.ts.map +1 -1
  120. package/dist/components/Gallery/Gallery.d.ts +4 -5
  121. package/dist/components/Gallery/Gallery.d.ts.map +1 -1
  122. package/dist/components/InfiniteScrollPaginator/InfiniteScroll.d.ts +2 -2
  123. package/dist/components/InfiniteScrollPaginator/InfiniteScroll.d.ts.map +1 -1
  124. package/dist/components/InfiniteScrollPaginator/InfiniteScroll.js +16 -45
  125. package/dist/components/InfiniteScrollPaginator/index.d.ts +0 -2
  126. package/dist/components/InfiniteScrollPaginator/index.d.ts.map +1 -1
  127. package/dist/components/InfiniteScrollPaginator/index.js +0 -2
  128. package/dist/components/Message/FixedHeightMessage.d.ts +4 -5
  129. package/dist/components/Message/FixedHeightMessage.d.ts.map +1 -1
  130. package/dist/components/Message/Message.d.ts +2 -3
  131. package/dist/components/Message/Message.d.ts.map +1 -1
  132. package/dist/components/Message/Message.js +8 -7
  133. package/dist/components/Message/MessageCommerce.d.ts +2 -3
  134. package/dist/components/Message/MessageCommerce.d.ts.map +1 -1
  135. package/dist/components/Message/MessageCommerce.js +2 -1
  136. package/dist/components/Message/MessageDeleted.d.ts +4 -5
  137. package/dist/components/Message/MessageDeleted.d.ts.map +1 -1
  138. package/dist/components/Message/MessageLivestream.d.ts +2 -2
  139. package/dist/components/Message/MessageLivestream.d.ts.map +1 -1
  140. package/dist/components/Message/MessageLivestream.js +2 -1
  141. package/dist/components/Message/MessageOptions.d.ts +3 -3
  142. package/dist/components/Message/MessageOptions.d.ts.map +1 -1
  143. package/dist/components/Message/MessageOptions.js +1 -1
  144. package/dist/components/Message/MessageRepliesCountButton.d.ts.map +1 -1
  145. package/dist/components/Message/MessageRepliesCountButton.js +10 -24
  146. package/dist/components/Message/MessageSimple.d.ts +2 -3
  147. package/dist/components/Message/MessageSimple.d.ts.map +1 -1
  148. package/dist/components/Message/MessageSimple.js +6 -6
  149. package/dist/components/Message/MessageStatus.d.ts +2 -2
  150. package/dist/components/Message/MessageStatus.d.ts.map +1 -1
  151. package/dist/components/Message/MessageTeam.d.ts +2 -3
  152. package/dist/components/Message/MessageTeam.d.ts.map +1 -1
  153. package/dist/components/Message/MessageText.d.ts +4 -5
  154. package/dist/components/Message/MessageText.d.ts.map +1 -1
  155. package/dist/components/Message/MessageTimestamp.d.ts +4 -5
  156. package/dist/components/Message/MessageTimestamp.d.ts.map +1 -1
  157. package/dist/components/Message/QuotedMessage.d.ts +2 -3
  158. package/dist/components/Message/QuotedMessage.d.ts.map +1 -1
  159. package/dist/components/Message/QuotedMessage.js +3 -1
  160. package/dist/components/Message/hooks/useActionHandler.d.ts +2 -2
  161. package/dist/components/Message/hooks/useActionHandler.d.ts.map +1 -1
  162. package/dist/components/Message/hooks/useDeleteHandler.d.ts +4 -4
  163. package/dist/components/Message/hooks/useDeleteHandler.d.ts.map +1 -1
  164. package/dist/components/Message/hooks/useEditHandler.d.ts +0 -1
  165. package/dist/components/Message/hooks/useEditHandler.d.ts.map +1 -1
  166. package/dist/components/Message/hooks/useFlagHandler.d.ts +5 -5
  167. package/dist/components/Message/hooks/useFlagHandler.d.ts.map +1 -1
  168. package/dist/components/Message/hooks/useMentionsHandler.d.ts +6 -6
  169. package/dist/components/Message/hooks/useMentionsHandler.d.ts.map +1 -1
  170. package/dist/components/Message/hooks/useMuteHandler.d.ts +5 -5
  171. package/dist/components/Message/hooks/useMuteHandler.d.ts.map +1 -1
  172. package/dist/components/Message/hooks/useOpenThreadHandler.d.ts +2 -2
  173. package/dist/components/Message/hooks/useOpenThreadHandler.d.ts.map +1 -1
  174. package/dist/components/Message/hooks/usePinHandler.d.ts +4 -4
  175. package/dist/components/Message/hooks/usePinHandler.d.ts.map +1 -1
  176. package/dist/components/Message/hooks/useReactionHandler.d.ts +3 -3
  177. package/dist/components/Message/hooks/useReactionHandler.d.ts.map +1 -1
  178. package/dist/components/Message/hooks/useRetryHandler.d.ts +2 -2
  179. package/dist/components/Message/hooks/useRetryHandler.d.ts.map +1 -1
  180. package/dist/components/Message/hooks/useUserHandler.d.ts +5 -6
  181. package/dist/components/Message/hooks/useUserHandler.d.ts.map +1 -1
  182. package/dist/components/Message/hooks/useUserRole.d.ts +2 -2
  183. package/dist/components/Message/hooks/useUserRole.d.ts.map +1 -1
  184. package/dist/components/Message/icons.d.ts +2 -3
  185. package/dist/components/Message/icons.d.ts.map +1 -1
  186. package/dist/components/Message/types.d.ts +25 -24
  187. package/dist/components/Message/types.d.ts.map +1 -1
  188. package/dist/components/Message/utils.d.ts +14 -14
  189. package/dist/components/Message/utils.d.ts.map +1 -1
  190. package/dist/components/Message/utils.js +9 -1
  191. package/dist/components/MessageActions/MessageActions.d.ts +3 -3
  192. package/dist/components/MessageActions/MessageActions.d.ts.map +1 -1
  193. package/dist/components/MessageActions/MessageActions.js +14 -8
  194. package/dist/components/MessageActions/MessageActionsBox.d.ts +6 -7
  195. package/dist/components/MessageActions/MessageActionsBox.d.ts.map +1 -1
  196. package/dist/components/MessageInput/DefaultTriggerProvider.d.ts +7 -7
  197. package/dist/components/MessageInput/DefaultTriggerProvider.d.ts.map +1 -1
  198. package/dist/components/MessageInput/DropzoneProvider.d.ts +2 -2
  199. package/dist/components/MessageInput/DropzoneProvider.d.ts.map +1 -1
  200. package/dist/components/MessageInput/EditMessageForm.d.ts +2 -3
  201. package/dist/components/MessageInput/EditMessageForm.d.ts.map +1 -1
  202. package/dist/components/MessageInput/EmojiPicker.d.ts +2 -3
  203. package/dist/components/MessageInput/EmojiPicker.d.ts.map +1 -1
  204. package/dist/components/MessageInput/MessageInput.d.ts +10 -10
  205. package/dist/components/MessageInput/MessageInput.d.ts.map +1 -1
  206. package/dist/components/MessageInput/MessageInputFlat.d.ts +2 -3
  207. package/dist/components/MessageInput/MessageInputFlat.d.ts.map +1 -1
  208. package/dist/components/MessageInput/MessageInputFlat.js +27 -5
  209. package/dist/components/MessageInput/MessageInputSmall.d.ts +2 -3
  210. package/dist/components/MessageInput/MessageInputSmall.d.ts.map +1 -1
  211. package/dist/components/MessageInput/MessageInputSmall.js +27 -5
  212. package/dist/components/MessageInput/QuotedMessagePreview.d.ts +4 -5
  213. package/dist/components/MessageInput/QuotedMessagePreview.d.ts.map +1 -1
  214. package/dist/components/MessageInput/UploadsPreview.d.ts +2 -3
  215. package/dist/components/MessageInput/UploadsPreview.d.ts.map +1 -1
  216. package/dist/components/MessageInput/UploadsPreview.js +2 -16
  217. package/dist/components/MessageInput/hooks/useAttachments.d.ts +2 -3
  218. package/dist/components/MessageInput/hooks/useAttachments.d.ts.map +1 -1
  219. package/dist/components/MessageInput/hooks/useCommandTrigger.d.ts +2 -2
  220. package/dist/components/MessageInput/hooks/useCommandTrigger.d.ts.map +1 -1
  221. package/dist/components/MessageInput/hooks/useCommandTrigger.js +3 -1
  222. package/dist/components/MessageInput/hooks/useCooldownTimer.d.ts +2 -2
  223. package/dist/components/MessageInput/hooks/useCooldownTimer.d.ts.map +1 -1
  224. package/dist/components/MessageInput/hooks/useCooldownTimer.js +19 -28
  225. package/dist/components/MessageInput/hooks/useCreateMessageInputContext.d.ts +2 -2
  226. package/dist/components/MessageInput/hooks/useCreateMessageInputContext.d.ts.map +1 -1
  227. package/dist/components/MessageInput/hooks/useEmojiPicker.d.ts +2 -3
  228. package/dist/components/MessageInput/hooks/useEmojiPicker.d.ts.map +1 -1
  229. package/dist/components/MessageInput/hooks/useFileUploads.d.ts +2 -3
  230. package/dist/components/MessageInput/hooks/useFileUploads.d.ts.map +1 -1
  231. package/dist/components/MessageInput/hooks/useImageUploads.d.ts +2 -2
  232. package/dist/components/MessageInput/hooks/useImageUploads.d.ts.map +1 -1
  233. package/dist/components/MessageInput/hooks/useMessageInputState.d.ts +11 -11
  234. package/dist/components/MessageInput/hooks/useMessageInputState.d.ts.map +1 -1
  235. package/dist/components/MessageInput/hooks/useMessageInputText.d.ts +2 -3
  236. package/dist/components/MessageInput/hooks/useMessageInputText.d.ts.map +1 -1
  237. package/dist/components/MessageInput/hooks/useSubmitHandler.d.ts +3 -4
  238. package/dist/components/MessageInput/hooks/useSubmitHandler.d.ts.map +1 -1
  239. package/dist/components/MessageInput/hooks/useUserTrigger.d.ts +5 -5
  240. package/dist/components/MessageInput/hooks/useUserTrigger.d.ts.map +1 -1
  241. package/dist/components/MessageInput/hooks/utils.d.ts +8 -8
  242. package/dist/components/MessageInput/hooks/utils.d.ts.map +1 -1
  243. package/dist/components/MessageInput/icons.d.ts +4 -4
  244. package/dist/components/MessageInput/icons.d.ts.map +1 -1
  245. package/dist/components/MessageList/ConnectionStatus.d.ts.map +1 -1
  246. package/dist/components/MessageList/GiphyPreviewMessage.d.ts +4 -5
  247. package/dist/components/MessageList/GiphyPreviewMessage.d.ts.map +1 -1
  248. package/dist/components/MessageList/MessageList.d.ts +13 -8
  249. package/dist/components/MessageList/MessageList.d.ts.map +1 -1
  250. package/dist/components/MessageList/MessageList.js +90 -24
  251. package/dist/components/MessageList/MessageListNotifications.d.ts +1 -0
  252. package/dist/components/MessageList/MessageListNotifications.d.ts.map +1 -1
  253. package/dist/components/MessageList/MessageListNotifications.js +2 -2
  254. package/dist/components/MessageList/VirtualizedMessageList.d.ts +18 -8
  255. package/dist/components/MessageList/VirtualizedMessageList.d.ts.map +1 -1
  256. package/dist/components/MessageList/VirtualizedMessageList.js +154 -23
  257. package/dist/components/MessageList/hooks/index.d.ts +0 -1
  258. package/dist/components/MessageList/hooks/index.d.ts.map +1 -1
  259. package/dist/components/MessageList/hooks/index.js +0 -1
  260. package/dist/components/MessageList/hooks/useEnrichedMessages.d.ts +6 -7
  261. package/dist/components/MessageList/hooks/useEnrichedMessages.d.ts.map +1 -1
  262. package/dist/components/MessageList/hooks/useEnrichedMessages.js +4 -4
  263. package/dist/components/MessageList/hooks/useGiphyPreview.d.ts +4 -5
  264. package/dist/components/MessageList/hooks/useGiphyPreview.d.ts.map +1 -1
  265. package/dist/components/MessageList/hooks/useLastReadData.d.ts +5 -5
  266. package/dist/components/MessageList/hooks/useLastReadData.d.ts.map +1 -1
  267. package/dist/components/MessageList/hooks/useMessageListElements.d.ts +6 -6
  268. package/dist/components/MessageList/hooks/useMessageListElements.d.ts.map +1 -1
  269. package/dist/components/MessageList/hooks/useMessageListElements.js +6 -3
  270. package/dist/components/MessageList/hooks/useMessageListScrollManager.d.ts +4 -4
  271. package/dist/components/MessageList/hooks/useMessageListScrollManager.d.ts.map +1 -1
  272. package/dist/components/MessageList/hooks/useNewMessageNotification.d.ts +2 -3
  273. package/dist/components/MessageList/hooks/useNewMessageNotification.d.ts.map +1 -1
  274. package/dist/components/MessageList/hooks/useNewMessageNotification.js +6 -2
  275. package/dist/components/MessageList/hooks/usePrependMessagesCount.d.ts +2 -2
  276. package/dist/components/MessageList/hooks/usePrependMessagesCount.d.ts.map +1 -1
  277. package/dist/components/MessageList/hooks/usePrependMessagesCount.js +2 -0
  278. package/dist/components/MessageList/hooks/useScrollLocationLogic.d.ts +6 -4
  279. package/dist/components/MessageList/hooks/useScrollLocationLogic.d.ts.map +1 -1
  280. package/dist/components/MessageList/hooks/useScrollLocationLogic.js +9 -5
  281. package/dist/components/MessageList/hooks/useShouldForceScrollToBottom.d.ts +2 -2
  282. package/dist/components/MessageList/hooks/useShouldForceScrollToBottom.d.ts.map +1 -1
  283. package/dist/components/MessageList/utils.d.ts +36 -17
  284. package/dist/components/MessageList/utils.d.ts.map +1 -1
  285. package/dist/components/MessageList/utils.js +57 -35
  286. package/dist/components/Reactions/ReactionSelector.d.ts +4 -4
  287. package/dist/components/Reactions/ReactionSelector.d.ts.map +1 -1
  288. package/dist/components/Reactions/ReactionsList.d.ts +4 -5
  289. package/dist/components/Reactions/ReactionsList.d.ts.map +1 -1
  290. package/dist/components/Reactions/SimpleReactionsList.d.ts +4 -4
  291. package/dist/components/Reactions/SimpleReactionsList.d.ts.map +1 -1
  292. package/dist/components/Reactions/utils/utils.d.ts +0 -1
  293. package/dist/components/Reactions/utils/utils.d.ts.map +1 -1
  294. package/dist/components/Thread/Thread.d.ts +12 -10
  295. package/dist/components/Thread/Thread.d.ts.map +1 -1
  296. package/dist/components/Thread/Thread.js +6 -10
  297. package/dist/components/TypingIndicator/TypingIndicator.d.ts +4 -4
  298. package/dist/components/TypingIndicator/TypingIndicator.d.ts.map +1 -1
  299. package/dist/components/Window/Window.d.ts +4 -4
  300. package/dist/components/Window/Window.d.ts.map +1 -1
  301. package/dist/constants/messageTypes.d.ts +5 -0
  302. package/dist/constants/messageTypes.d.ts.map +1 -0
  303. package/dist/constants/messageTypes.js +4 -0
  304. package/dist/context/ChannelActionContext.d.ts +26 -26
  305. package/dist/context/ChannelActionContext.d.ts.map +1 -1
  306. package/dist/context/ChannelStateContext.d.ts +26 -21
  307. package/dist/context/ChannelStateContext.d.ts.map +1 -1
  308. package/dist/context/ChatContext.d.ts +15 -12
  309. package/dist/context/ChatContext.d.ts.map +1 -1
  310. package/dist/context/ComponentContext.d.ts +27 -27
  311. package/dist/context/ComponentContext.d.ts.map +1 -1
  312. package/dist/context/MessageContext.d.ts +18 -16
  313. package/dist/context/MessageContext.d.ts.map +1 -1
  314. package/dist/context/MessageInputContext.d.ts +7 -7
  315. package/dist/context/MessageInputContext.d.ts.map +1 -1
  316. package/dist/context/TypingContext.d.ts +8 -8
  317. package/dist/context/TypingContext.d.ts.map +1 -1
  318. package/dist/context/utils/getDisplayName.d.ts +0 -1
  319. package/dist/context/utils/getDisplayName.d.ts.map +1 -1
  320. package/dist/css/index.css +1 -1
  321. package/dist/i18n/Streami18n.d.ts +6 -4
  322. package/dist/i18n/Streami18n.d.ts.map +1 -1
  323. package/dist/i18n/Streami18n.js +5 -5
  324. package/dist/i18n/de.json +29 -27
  325. package/dist/i18n/en.json +4 -2
  326. package/dist/i18n/es.json +5 -2
  327. package/dist/i18n/fr.json +5 -2
  328. package/dist/i18n/hi.json +4 -2
  329. package/dist/i18n/it.json +5 -2
  330. package/dist/i18n/ja.json +4 -2
  331. package/dist/i18n/ko.json +4 -2
  332. package/dist/i18n/nl.json +4 -2
  333. package/dist/i18n/pt.json +22 -19
  334. package/dist/i18n/ru.json +6 -2
  335. package/dist/i18n/tr.json +4 -2
  336. package/dist/index.cjs.js +664 -390
  337. package/dist/index.cjs.js.map +1 -1
  338. package/dist/scss/ActionsBox.scss +2 -2
  339. package/dist/scss/Attachment.scss +5 -0
  340. package/dist/scss/Avatar.scss +1 -1
  341. package/dist/scss/ChannelHeader.scss +8 -13
  342. package/dist/scss/ChannelList.scss +6 -0
  343. package/dist/scss/ChannelSearch.scss +12 -1
  344. package/dist/scss/Gallery.scss +19 -0
  345. package/dist/scss/Message.scss +110 -93
  346. package/dist/scss/MessageInput.scss +8 -2
  347. package/dist/scss/MessageInputFlat.scss +24 -0
  348. package/dist/scss/MessageList.scss +7 -0
  349. package/dist/scss/MessageNotification.scss +6 -18
  350. package/dist/scss/ReactionList.scss +2 -1
  351. package/dist/scss/ReactionSelector.scss +2 -1
  352. package/dist/scss/SimpleReactionsList.scss +2 -1
  353. package/dist/scss/SmallMessageInput.scss +34 -0
  354. package/dist/scss/Thread.scss +25 -5
  355. package/dist/scss/VirtualMessage.scss +6 -0
  356. package/dist/scss/_base.scss +4 -0
  357. package/dist/scss/_variables.scss +4 -5
  358. package/dist/stories/connected-user.stories.d.ts +4 -0
  359. package/dist/stories/connected-user.stories.d.ts.map +1 -0
  360. package/dist/stories/connected-user.stories.js +55 -0
  361. package/dist/stories/hello.stories.d.ts +3 -0
  362. package/dist/stories/hello.stories.d.ts.map +1 -0
  363. package/dist/stories/hello.stories.js +47 -0
  364. package/dist/stories/jump-to-message.stories.d.ts +4 -0
  365. package/dist/stories/jump-to-message.stories.d.ts.map +1 -0
  366. package/dist/stories/jump-to-message.stories.js +111 -0
  367. package/dist/stories/mark-read.stories.d.ts +4 -0
  368. package/dist/stories/mark-read.stories.d.ts.map +1 -0
  369. package/dist/stories/mark-read.stories.js +77 -0
  370. package/dist/stories/utils.d.ts +27 -0
  371. package/dist/stories/utils.d.ts.map +1 -0
  372. package/dist/stories/utils.js +38 -0
  373. package/dist/types/types.d.ts +32 -10
  374. package/dist/types/types.d.ts.map +1 -1
  375. package/dist/utils.d.ts +5 -5
  376. package/dist/utils.d.ts.map +1 -1
  377. package/dist/version.d.ts +1 -1
  378. package/dist/version.js +1 -1
  379. package/package.json +27 -15
  380. package/dist/components/InfiniteScrollPaginator/InfiniteScrollPaginator.d.ts +0 -18
  381. package/dist/components/InfiniteScrollPaginator/InfiniteScrollPaginator.d.ts.map +0 -1
  382. package/dist/components/InfiniteScrollPaginator/InfiniteScrollPaginator.js +0 -8
  383. package/dist/components/InfiniteScrollPaginator/ReverseInfiniteScroll.d.ts +0 -4
  384. package/dist/components/InfiniteScrollPaginator/ReverseInfiniteScroll.d.ts.map +0 -1
  385. package/dist/components/InfiniteScrollPaginator/ReverseInfiniteScroll.js +0 -14
  386. package/dist/components/MessageList/hooks/useCallLoadMore.d.ts +0 -3
  387. package/dist/components/MessageList/hooks/useCallLoadMore.d.ts.map +0 -1
  388. package/dist/components/MessageList/hooks/useCallLoadMore.js +0 -8
@@ -56,11 +56,6 @@ var __rest = (this && this.__rest) || function (s, e) {
56
56
  }
57
57
  return t;
58
58
  };
59
- var __spreadArray = (this && this.__spreadArray) || function (to, from) {
60
- for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
61
- to[j] = from[i];
62
- return to;
63
- };
64
59
  import React, { useEffect, useLayoutEffect, useMemo, useReducer, useRef, useState, } from 'react';
65
60
  import debounce from 'lodash.debounce';
66
61
  import throttle from 'lodash.throttle';
@@ -85,6 +80,8 @@ import { EmojiProvider } from '../../context/EmojiContext';
85
80
  import { useTranslationContext } from '../../context/TranslationContext';
86
81
  import { TypingProvider } from '../../context/TypingContext';
87
82
  import defaultEmojiData from '../../stream-emoji.json';
83
+ import { makeAddNotifications } from './utils';
84
+ var JUMP_MESSAGE_PAGE_SIZE = 25;
88
85
  var UnMemoizedChannel = function (props) {
89
86
  var propsChannel = props.channel, _a = props.EmptyPlaceholder, EmptyPlaceholder = _a === void 0 ? null : _a;
90
87
  var contextChannel = useChatContext('Channel').channel;
@@ -96,7 +93,7 @@ var UnMemoizedChannel = function (props) {
96
93
  var ChannelInner = function (props) {
97
94
  var _a;
98
95
  var acceptedFiles = props.acceptedFiles, activeUnreadHandler = props.activeUnreadHandler, channel = props.channel, children = props.children, doMarkReadRequest = props.doMarkReadRequest, doSendMessageRequest = props.doSendMessageRequest, doUpdateMessageRequest = props.doUpdateMessageRequest, _b = props.dragAndDropWindow, dragAndDropWindow = _b === void 0 ? false : _b, _c = props.emojiData, emojiData = _c === void 0 ? defaultEmojiData : _c, _d = props.LoadingErrorIndicator, LoadingErrorIndicator = _d === void 0 ? DefaultLoadingErrorIndicator : _d, _e = props.LoadingIndicator, LoadingIndicator = _e === void 0 ? DefaultLoadingIndicator : _e, maxNumberOfFiles = props.maxNumberOfFiles, _f = props.multipleUploads, multipleUploads = _f === void 0 ? true : _f, onMentionsClick = props.onMentionsClick, onMentionsHover = props.onMentionsHover, _g = props.optionalMessageInputProps, optionalMessageInputProps = _g === void 0 ? {} : _g, skipMessageDataMemoization = props.skipMessageDataMemoization;
99
- var _h = useChatContext('Channel'), client = _h.client, customClasses = _h.customClasses, mutes = _h.mutes, theme = _h.theme, useImageFlagEmojisOnWindows = _h.useImageFlagEmojisOnWindows;
96
+ var _h = useChatContext('Channel'), client = _h.client, customClasses = _h.customClasses, latestMessageDatesByChannels = _h.latestMessageDatesByChannels, mutes = _h.mutes, theme = _h.theme, useImageFlagEmojisOnWindows = _h.useImageFlagEmojisOnWindows;
100
97
  var t = useTranslationContext('Channel').t;
101
98
  var _j = useState(channel.getConfig()), channelConfig = _j[0], setChannelConfig = _j[1];
102
99
  var _k = useState([]), notifications = _k[0], setNotifications = _k[1];
@@ -138,7 +135,7 @@ var ChannelInner = function (props) {
138
135
  };
139
136
  var markReadThrottled = throttle(markRead, 500, { leading: true, trailing: true });
140
137
  var handleEvent = function (event) {
141
- var _a, _b, _c, _d;
138
+ var _a, _b, _c, _d, _e, _f, _g, _h;
142
139
  if (event.message) {
143
140
  dispatch({
144
141
  channel: channel,
@@ -173,6 +170,16 @@ var ChannelInner = function (props) {
173
170
  }
174
171
  }
175
172
  }
173
+ if (((_f = (_e = event.message) === null || _e === void 0 ? void 0 : _e.user) === null || _f === void 0 ? void 0 : _f.id) === client.userID &&
174
+ ((_g = event === null || event === void 0 ? void 0 : event.message) === null || _g === void 0 ? void 0 : _g.created_at) &&
175
+ ((_h = event === null || event === void 0 ? void 0 : event.message) === null || _h === void 0 ? void 0 : _h.cid)) {
176
+ var messageDate = new Date(event.message.created_at);
177
+ var cid = event.message.cid;
178
+ if (!latestMessageDatesByChannels[cid] ||
179
+ latestMessageDatesByChannels[cid].getTime() < messageDate.getTime()) {
180
+ latestMessageDatesByChannels[cid] = messageDate;
181
+ }
182
+ }
176
183
  }
177
184
  throttledCopyStateFromChannel();
178
185
  };
@@ -234,33 +241,18 @@ var ChannelInner = function (props) {
234
241
  client.off('user.deleted', handleEvent);
235
242
  notificationTimeouts.forEach(clearTimeout);
236
243
  };
237
- }, [channel.cid]);
244
+ }, [channel.cid, doMarkReadRequest]);
238
245
  useEffect(function () {
239
246
  var _a;
240
- if (state.thread && ((_a = state.messages) === null || _a === void 0 ? void 0 : _a.length)) {
241
- for (var i = state.messages.length - 1; i >= 0; i -= 1) {
242
- if (state.messages[i].id === state.thread.id) {
243
- dispatch({ message: state.messages[i], type: 'setThread' });
244
- break;
245
- }
246
- }
247
- }
247
+ if (!state.thread)
248
+ return;
249
+ var message = (_a = state.messages) === null || _a === void 0 ? void 0 : _a.find(function (m) { var _a; return m.id === ((_a = state.thread) === null || _a === void 0 ? void 0 : _a.id); });
250
+ if (message)
251
+ dispatch({ message: message, type: 'setThread' });
248
252
  }, [state.messages, state.thread]);
249
253
  /** MESSAGE */
250
254
  // Adds a temporary notification to message list, will be removed after 5 seconds
251
- var addNotification = function (text, type) {
252
- if (typeof text !== 'string' || (type !== 'success' && type !== 'error')) {
253
- return;
254
- }
255
- var id = uuidv4();
256
- setNotifications(function (prevNotifications) { return __spreadArray(__spreadArray([], prevNotifications), [{ id: id, text: text, type: type }]); });
257
- var timeout = setTimeout(function () {
258
- return setNotifications(function (prevNotifications) {
259
- return prevNotifications.filter(function (notification) { return notification.id !== id; });
260
- });
261
- }, 5000);
262
- notificationTimeouts.push(timeout);
263
- };
255
+ var addNotification = makeAddNotifications(setNotifications, notificationTimeouts);
264
256
  var loadMoreFinished = debounce(function (hasMore, messages) {
265
257
  if (!isMounted.current)
266
258
  return;
@@ -280,8 +272,9 @@ var ChannelInner = function (props) {
280
272
  if (!online.current || !window.navigator.onLine)
281
273
  return [2 /*return*/, 0];
282
274
  oldestMessage = (_a = state === null || state === void 0 ? void 0 : state.messages) === null || _a === void 0 ? void 0 : _a[0];
283
- if (state.loadingMore || (oldestMessage === null || oldestMessage === void 0 ? void 0 : oldestMessage.status) !== 'received')
275
+ if (state.loadingMore || state.loadingMoreNewer || (oldestMessage === null || oldestMessage === void 0 ? void 0 : oldestMessage.status) !== 'received') {
284
276
  return [2 /*return*/, 0];
277
+ }
285
278
  // initial state loads with up to 25 messages, so if less than 25 no need for additional query
286
279
  if (channel.state.messages.length < 25) {
287
280
  loadMoreFinished(false, channel.state.messages);
@@ -313,6 +306,85 @@ var ChannelInner = function (props) {
313
306
  });
314
307
  });
315
308
  };
309
+ var loadMoreNewer = function (limit) {
310
+ if (limit === void 0) { limit = 100; }
311
+ return __awaiter(void 0, void 0, void 0, function () {
312
+ var newestMessage, newestId, perPage, queryResponse, e_3, hasMoreNewer;
313
+ var _a, _b;
314
+ return __generator(this, function (_c) {
315
+ switch (_c.label) {
316
+ case 0:
317
+ if (!online.current || !window.navigator.onLine)
318
+ return [2 /*return*/, 0];
319
+ newestMessage = (_a = state === null || state === void 0 ? void 0 : state.messages) === null || _a === void 0 ? void 0 : _a[((_b = state === null || state === void 0 ? void 0 : state.messages) === null || _b === void 0 ? void 0 : _b.length) - 1];
320
+ if (state.loadingMore || state.loadingMoreNewer)
321
+ return [2 /*return*/, 0];
322
+ dispatch({ loadingMoreNewer: true, type: 'setLoadingMoreNewer' });
323
+ newestId = newestMessage === null || newestMessage === void 0 ? void 0 : newestMessage.id;
324
+ perPage = limit;
325
+ _c.label = 1;
326
+ case 1:
327
+ _c.trys.push([1, 3, , 4]);
328
+ return [4 /*yield*/, channel.query({
329
+ messages: { id_gt: newestId, limit: perPage },
330
+ watchers: { limit: perPage },
331
+ })];
332
+ case 2:
333
+ queryResponse = _c.sent();
334
+ return [3 /*break*/, 4];
335
+ case 3:
336
+ e_3 = _c.sent();
337
+ console.warn('message pagination request failed with error', e_3);
338
+ dispatch({ loadingMoreNewer: false, type: 'setLoadingMoreNewer' });
339
+ return [2 /*return*/, 0];
340
+ case 4:
341
+ hasMoreNewer = channel.state.messages !== channel.state.latestMessages;
342
+ dispatch({ hasMoreNewer: hasMoreNewer, messages: channel.state.messages, type: 'loadMoreNewerFinished' });
343
+ return [2 /*return*/, queryResponse.messages.length];
344
+ }
345
+ });
346
+ });
347
+ };
348
+ var jumpToMessage = function (messageId) { return __awaiter(void 0, void 0, void 0, function () {
349
+ var indexOfMessage, hasMoreMessages;
350
+ return __generator(this, function (_a) {
351
+ switch (_a.label) {
352
+ case 0:
353
+ dispatch({ loadingMore: true, type: 'setLoadingMore' });
354
+ return [4 /*yield*/, channel.state.loadMessageIntoState(messageId)];
355
+ case 1:
356
+ _a.sent();
357
+ indexOfMessage = channel.state.messages.findIndex(function (message) { return message.id === messageId; });
358
+ hasMoreMessages = indexOfMessage >= Math.floor(JUMP_MESSAGE_PAGE_SIZE / 2);
359
+ loadMoreFinished(hasMoreMessages, channel.state.messages);
360
+ dispatch({
361
+ hasMoreNewer: channel.state.messages !== channel.state.latestMessages,
362
+ highlightedMessageId: messageId,
363
+ type: 'jumpToMessageFinished',
364
+ });
365
+ setTimeout(function () {
366
+ dispatch({ type: 'clearHighlightedMessage' });
367
+ }, 500);
368
+ return [2 /*return*/];
369
+ }
370
+ });
371
+ }); };
372
+ var jumpToLatestMessage = function () { return __awaiter(void 0, void 0, void 0, function () {
373
+ var hasMoreOlder;
374
+ return __generator(this, function (_a) {
375
+ switch (_a.label) {
376
+ case 0: return [4 /*yield*/, channel.state.loadMessageIntoState('latest')];
377
+ case 1:
378
+ _a.sent();
379
+ hasMoreOlder = channel.state.messages.length >= 25;
380
+ loadMoreFinished(hasMoreOlder, channel.state.messages);
381
+ dispatch({
382
+ type: 'jumpToLatestMessage',
383
+ });
384
+ return [2 /*return*/];
385
+ }
386
+ });
387
+ }); };
316
388
  var updateMessage = function (updatedMessage) {
317
389
  // add the message to the local channel state
318
390
  channel.state.addMessageSorted(updatedMessage, true);
@@ -434,7 +506,7 @@ var ChannelInner = function (props) {
434
506
  });
435
507
  }, 2000, { leading: true, trailing: true });
436
508
  var loadMoreThread = function () { return __awaiter(void 0, void 0, void 0, function () {
437
- var parentID, oldMessages, oldestMessageID, limit, queryResponse, threadHasMoreMessages, newThreadMessages, e_3;
509
+ var parentID, oldMessages, oldestMessageID, limit, queryResponse, threadHasMoreMessages, newThreadMessages, e_4;
438
510
  var _a;
439
511
  return __generator(this, function (_b) {
440
512
  switch (_b.label) {
@@ -464,7 +536,7 @@ var ChannelInner = function (props) {
464
536
  loadMoreThreadFinished(threadHasMoreMessages, newThreadMessages);
465
537
  return [3 /*break*/, 4];
466
538
  case 3:
467
- e_3 = _b.sent();
539
+ e_4 = _b.sent();
468
540
  loadMoreThreadFinished(false, oldMessages);
469
541
  return [3 /*break*/, 4];
470
542
  case 4: return [2 /*return*/];
@@ -474,13 +546,16 @@ var ChannelInner = function (props) {
474
546
  var onMentionsHoverOrClick = useMentionsHandlers(onMentionsHover, onMentionsClick);
475
547
  var editMessage = useEditMessageHandler(doUpdateMessageRequest);
476
548
  var typing = state.typing, restState = __rest(state, ["typing"]);
477
- var channelStateContextValue = useCreateChannelStateContext(__assign(__assign({}, restState), { acceptedFiles: acceptedFiles, channel: channel, channelCapabilitiesArray: channelCapabilitiesArray, channelConfig: channelConfig, dragAndDropWindow: dragAndDropWindow, maxNumberOfFiles: maxNumberOfFiles, multipleUploads: multipleUploads, mutes: mutes, notifications: notifications, quotedMessage: quotedMessage, watcher_count: state.watcherCount }));
549
+ var channelStateContextValue = useCreateChannelStateContext(__assign(__assign({}, restState), { acceptedFiles: acceptedFiles, channel: channel, channelCapabilitiesArray: channelCapabilitiesArray, channelConfig: channelConfig, dragAndDropWindow: dragAndDropWindow, giphyVersion: props.giphyVersion || 'fixed_height', maxNumberOfFiles: maxNumberOfFiles, multipleUploads: multipleUploads, mutes: mutes, notifications: notifications, quotedMessage: quotedMessage, watcher_count: state.watcherCount }));
478
550
  var channelActionContextValue = useMemo(function () { return ({
479
551
  addNotification: addNotification,
480
552
  closeThread: closeThread,
481
553
  dispatch: dispatch,
482
554
  editMessage: editMessage,
555
+ jumpToLatestMessage: jumpToLatestMessage,
556
+ jumpToMessage: jumpToMessage,
483
557
  loadMore: loadMore,
558
+ loadMoreNewer: loadMoreNewer,
484
559
  loadMoreThread: loadMoreThread,
485
560
  onMentionsClick: onMentionsHoverOrClick,
486
561
  onMentionsHover: onMentionsHoverOrClick,
@@ -491,7 +566,7 @@ var ChannelInner = function (props) {
491
566
  setQuotedMessage: setQuotedMessage,
492
567
  skipMessageDataMemoization: skipMessageDataMemoization,
493
568
  updateMessage: updateMessage,
494
- }); }, [channel.cid, loadMore, quotedMessage]);
569
+ }); }, [channel.cid, loadMore, loadMoreNewer, quotedMessage, jumpToMessage, jumpToLatestMessage]);
495
570
  var componentContextValue = useMemo(function () { return ({
496
571
  Attachment: props.Attachment || DefaultAttachment,
497
572
  AutocompleteSuggestionHeader: props.AutocompleteSuggestionHeader,
@@ -1,30 +1,40 @@
1
1
  import type { Reducer } from 'react';
2
2
  import type { Channel, MessageResponse, ChannelState as StreamChannelState } from 'stream-chat';
3
3
  import type { ChannelState, StreamMessage } from '../../context/ChannelStateContext';
4
- import type { DefaultAttachmentType, DefaultChannelType, DefaultCommandType, DefaultEventType, DefaultMessageType, DefaultReactionType, DefaultUserType } from '../../types/types';
5
- export declare type ChannelStateReducerAction<At extends DefaultAttachmentType = DefaultAttachmentType, Ch extends DefaultChannelType = DefaultChannelType, Co extends DefaultCommandType = DefaultCommandType, Ev extends DefaultEventType = DefaultEventType, Me extends DefaultMessageType = DefaultMessageType, Re extends DefaultReactionType = DefaultReactionType, Us extends DefaultUserType<Us> = DefaultUserType> = {
4
+ import type { DefaultStreamChatGenerics } from '../../types/types';
5
+ export declare type ChannelStateReducerAction<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> = {
6
6
  type: 'closeThread';
7
7
  } | {
8
- channel: Channel<At, Ch, Co, Ev, Me, Re, Us>;
8
+ type: 'clearHighlightedMessage';
9
+ } | {
10
+ channel: Channel<StreamChatGenerics>;
9
11
  type: 'copyMessagesFromChannel';
10
12
  parentId?: string | null;
11
13
  } | {
12
- channel: Channel<At, Ch, Co, Ev, Me, Re, Us>;
14
+ channel: Channel<StreamChatGenerics>;
13
15
  type: 'copyStateFromChannelOnEvent';
14
16
  } | {
15
- channel: Channel<At, Ch, Co, Ev, Me, Re, Us>;
17
+ hasMoreNewer: boolean;
18
+ highlightedMessageId: string;
19
+ type: 'jumpToMessageFinished';
20
+ } | {
21
+ channel: Channel<StreamChatGenerics>;
16
22
  type: 'initStateFromChannel';
17
23
  } | {
18
24
  hasMore: boolean;
19
- messages: StreamMessage<At, Ch, Co, Ev, Me, Re, Us>[];
25
+ messages: StreamMessage<StreamChatGenerics>[];
20
26
  type: 'loadMoreFinished';
27
+ } | {
28
+ hasMoreNewer: boolean;
29
+ messages: StreamMessage<StreamChatGenerics>[];
30
+ type: 'loadMoreNewerFinished';
21
31
  } | {
22
32
  threadHasMore: boolean;
23
- threadMessages: Array<ReturnType<StreamChannelState<At, Ch, Co, Ev, Me, Re, Us>['formatMessage']>>;
33
+ threadMessages: Array<ReturnType<StreamChannelState<StreamChatGenerics>['formatMessage']>>;
24
34
  type: 'loadMoreThreadFinished';
25
35
  } | {
26
- channel: Channel<At, Ch, Co, Ev, Me, Re, Us>;
27
- message: StreamMessage<At, Ch, Co, Ev, Me, Re, Us>;
36
+ channel: Channel<StreamChatGenerics>;
37
+ message: StreamMessage<StreamChatGenerics>;
28
38
  type: 'openThread';
29
39
  } | {
30
40
  error: Error;
@@ -33,29 +43,36 @@ export declare type ChannelStateReducerAction<At extends DefaultAttachmentType =
33
43
  loadingMore: boolean;
34
44
  type: 'setLoadingMore';
35
45
  } | {
36
- message: StreamMessage<At, Ch, Co, Ev, Me, Re, Us>;
46
+ loadingMoreNewer: boolean;
47
+ type: 'setLoadingMoreNewer';
48
+ } | {
49
+ message: StreamMessage<StreamChatGenerics>;
37
50
  type: 'setThread';
38
51
  } | {
39
- channel: Channel<At, Ch, Co, Ev, Me, Re, Us>;
52
+ channel: Channel<StreamChatGenerics>;
40
53
  type: 'setTyping';
41
54
  } | {
42
55
  type: 'startLoadingThread';
43
56
  } | {
44
- channel: Channel<At, Ch, Co, Ev, Me, Re, Us>;
45
- message: MessageResponse<At, Ch, Co, Me, Re, Us>;
57
+ channel: Channel<StreamChatGenerics>;
58
+ message: MessageResponse<StreamChatGenerics>;
46
59
  type: 'updateThreadOnEvent';
60
+ } | {
61
+ type: 'jumpToLatestMessage';
47
62
  };
48
- export declare type ChannelStateReducer<At extends DefaultAttachmentType = DefaultAttachmentType, Ch extends DefaultChannelType = DefaultChannelType, Co extends DefaultCommandType = DefaultCommandType, Ev extends DefaultEventType = DefaultEventType, Me extends DefaultMessageType = DefaultMessageType, Re extends DefaultReactionType = DefaultReactionType, Us extends DefaultUserType<Us> = DefaultUserType> = Reducer<ChannelState<At, Ch, Co, Ev, Me, Re, Us>, ChannelStateReducerAction<At, Ch, Co, Ev, Me, Re, Us>>;
49
- export declare const channelReducer: <At extends DefaultAttachmentType = DefaultAttachmentType, Ch extends DefaultChannelType = DefaultChannelType, Co extends import("stream-chat").LiteralStringForUnion = import("stream-chat").LiteralStringForUnion, Ev extends import("../../types/types").UnknownType = import("../../types/types").UnknownType, Me extends DefaultMessageType = DefaultMessageType, Re extends import("../../types/types").UnknownType = import("../../types/types").UnknownType, Us extends DefaultUserType<Us> = DefaultUserType<import("../../types/types").DefaultUserTypeInternal>>(state: ChannelState<At, Ch, Co, Ev, Me, Re, Us>, action: ChannelStateReducerAction<At, Ch, Co, Ev, Me, Re, Us>) => ChannelState<At, Ch, Co, Ev, Me, Re, Us>;
63
+ export declare type ChannelStateReducer<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> = Reducer<ChannelState<StreamChatGenerics>, ChannelStateReducerAction<StreamChatGenerics>>;
64
+ export declare const channelReducer: <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(state: ChannelState<StreamChatGenerics>, action: ChannelStateReducerAction<StreamChatGenerics>) => ChannelState<StreamChatGenerics>;
50
65
  export declare const initialState: {
51
66
  error: null;
52
67
  hasMore: boolean;
68
+ hasMoreNewer: boolean;
53
69
  loading: boolean;
54
70
  loadingMore: boolean;
55
71
  members: {};
56
72
  messages: never[];
57
73
  pinnedMessages: never[];
58
74
  read: {};
75
+ suppressAutoscroll: boolean;
59
76
  thread: null;
60
77
  threadHasMore: boolean;
61
78
  threadLoadingMore: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"channelState.d.ts","sourceRoot":"","sources":["../../../src/components/Channel/channelState.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"channelState.d.ts","sourceRoot":"","sources":["../../../src/components/Channel/channelState.ts"],"names":[],"mappings":"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"}
@@ -22,7 +22,9 @@ export var channelReducer = function (state, action) {
22
22
  }
23
23
  case 'copyMessagesFromChannel': {
24
24
  var channel = action.channel, parentId = action.parentId;
25
- return __assign(__assign({}, state), { messages: __spreadArray([], channel.state.messages), pinnedMessages: __spreadArray([], channel.state.pinnedMessages), threadMessages: parentId
25
+ return __assign(__assign({}, state), { messages: __spreadArray([], channel.state.messages), pinnedMessages: __spreadArray([], channel.state.pinnedMessages),
26
+ // copying messages from channel happens with new message - this resets the suppressAutoscroll
27
+ suppressAutoscroll: false, threadMessages: parentId
26
28
  ? __assign({}, channel.state.threads)[parentId] || []
27
29
  : state.threadMessages });
28
30
  }
@@ -34,10 +36,23 @@ export var channelReducer = function (state, action) {
34
36
  var channel = action.channel;
35
37
  return __assign(__assign({}, state), { loading: false, members: __assign({}, channel.state.members), messages: __spreadArray([], channel.state.messages), pinnedMessages: __spreadArray([], channel.state.pinnedMessages), read: __assign({}, channel.state.read), watcherCount: channel.state.watcher_count, watchers: __assign({}, channel.state.watchers) });
36
38
  }
39
+ case 'jumpToLatestMessage': {
40
+ return __assign(__assign({}, state), { hasMoreNewer: false, highlightedMessageId: undefined, loading: false, suppressAutoscroll: false });
41
+ }
42
+ case 'jumpToMessageFinished': {
43
+ return __assign(__assign({}, state), { hasMoreNewer: action.hasMoreNewer, highlightedMessageId: action.highlightedMessageId });
44
+ }
45
+ case 'clearHighlightedMessage': {
46
+ return __assign(__assign({}, state), { highlightedMessageId: undefined });
47
+ }
37
48
  case 'loadMoreFinished': {
38
49
  var hasMore = action.hasMore, messages = action.messages;
39
50
  return __assign(__assign({}, state), { hasMore: hasMore, loadingMore: false, messages: messages });
40
51
  }
52
+ case 'loadMoreNewerFinished': {
53
+ var hasMoreNewer = action.hasMoreNewer, messages = action.messages;
54
+ return __assign(__assign({}, state), { hasMoreNewer: hasMoreNewer, loadingMoreNewer: false, messages: messages });
55
+ }
41
56
  case 'loadMoreThreadFinished': {
42
57
  var threadHasMore = action.threadHasMore, threadMessages = action.threadMessages;
43
58
  return __assign(__assign({}, state), { threadHasMore: threadHasMore, threadLoadingMore: false, threadMessages: threadMessages });
@@ -52,7 +67,12 @@ export var channelReducer = function (state, action) {
52
67
  }
53
68
  case 'setLoadingMore': {
54
69
  var loadingMore = action.loadingMore;
55
- return __assign(__assign({}, state), { loadingMore: loadingMore });
70
+ // supporess the autoscroll behavior
71
+ return __assign(__assign({}, state), { loadingMore: loadingMore, suppressAutoscroll: true });
72
+ }
73
+ case 'setLoadingMoreNewer': {
74
+ var loadingMoreNewer = action.loadingMoreNewer;
75
+ return __assign(__assign({}, state), { loadingMoreNewer: loadingMoreNewer });
56
76
  }
57
77
  case 'setThread': {
58
78
  var message = action.message;
@@ -78,12 +98,14 @@ export var channelReducer = function (state, action) {
78
98
  export var initialState = {
79
99
  error: null,
80
100
  hasMore: true,
101
+ hasMoreNewer: false,
81
102
  loading: true,
82
103
  loadingMore: false,
83
104
  members: {},
84
105
  messages: [],
85
106
  pinnedMessages: [],
86
107
  read: {},
108
+ suppressAutoscroll: false,
87
109
  thread: null,
88
110
  threadHasMore: true,
89
111
  threadLoadingMore: false,
@@ -1,7 +1,7 @@
1
1
  import type { ChannelStateContextValue } from '../../../context/ChannelStateContext';
2
- import type { DefaultAttachmentType, DefaultChannelType, DefaultMessageType, DefaultUserType } from '../../../types/types';
3
- export declare const useCreateChannelStateContext: <At extends DefaultAttachmentType = DefaultAttachmentType, Ch extends DefaultChannelType = DefaultChannelType, Co extends import("stream-chat").LiteralStringForUnion = import("stream-chat").LiteralStringForUnion, Ev extends import("../../../types/types").UnknownType = import("../../../types/types").UnknownType, Me extends DefaultMessageType = DefaultMessageType, Re extends import("../../../types/types").UnknownType = import("../../../types/types").UnknownType, Us extends DefaultUserType<Us> = DefaultUserType<import("../../../types/types").DefaultUserTypeInternal>>(value: Omit<ChannelStateContextValue<At, Ch, Co, Ev, Me, Re, Us>, "channelCapabilities"> & {
2
+ import type { DefaultStreamChatGenerics } from '../../../types/types';
3
+ export declare const useCreateChannelStateContext: <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(value: Omit<ChannelStateContextValue<StreamChatGenerics>, "channelCapabilities"> & {
4
4
  channelCapabilitiesArray: string[];
5
5
  skipMessageDataMemoization?: boolean | undefined;
6
- }) => ChannelStateContextValue<At, Ch, Co, Ev, Me, Re, Us>;
6
+ }) => ChannelStateContextValue<StreamChatGenerics>;
7
7
  //# sourceMappingURL=useCreateChannelStateContext.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useCreateChannelStateContext.d.ts","sourceRoot":"","sources":["../../../../src/components/Channel/hooks/useCreateChannelStateContext.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAErF,OAAO,KAAK,EACV,qBAAqB,EACrB,kBAAkB,EAGlB,kBAAkB,EAElB,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAE9B,eAAO,MAAM,4BAA4B;8BAUX,MAAM,EAAE;;0DAgIrC,CAAC"}
1
+ {"version":3,"file":"useCreateChannelStateContext.d.ts","sourceRoot":"","sources":["../../../../src/components/Channel/hooks/useCreateChannelStateContext.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAErF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEtE,eAAO,MAAM,4BAA4B;8BAIX,MAAM,EAAE;;kDA2IrC,CAAC"}
@@ -2,7 +2,7 @@ import { useMemo } from 'react';
2
2
  import { isDate, isDayOrMoment } from '../../../context/TranslationContext';
3
3
  export var useCreateChannelStateContext = function (value) {
4
4
  var _a;
5
- var acceptedFiles = value.acceptedFiles, channel = value.channel, _b = value.channelCapabilitiesArray, channelCapabilitiesArray = _b === void 0 ? [] : _b, channelConfig = value.channelConfig, dragAndDropWindow = value.dragAndDropWindow, error = value.error, hasMore = value.hasMore, loading = value.loading, loadingMore = value.loadingMore, maxNumberOfFiles = value.maxNumberOfFiles, members = value.members, _c = value.messages, messages = _c === void 0 ? [] : _c, multipleUploads = value.multipleUploads, mutes = value.mutes, notifications = value.notifications, pinnedMessages = value.pinnedMessages, quotedMessage = value.quotedMessage, _d = value.read, read = _d === void 0 ? {} : _d, skipMessageDataMemoization = value.skipMessageDataMemoization, thread = value.thread, threadHasMore = value.threadHasMore, threadLoadingMore = value.threadLoadingMore, _e = value.threadMessages, threadMessages = _e === void 0 ? [] : _e, watcherCount = value.watcherCount, watcher_count = value.watcher_count, watchers = value.watchers;
5
+ var acceptedFiles = value.acceptedFiles, channel = value.channel, _b = value.channelCapabilitiesArray, channelCapabilitiesArray = _b === void 0 ? [] : _b, channelConfig = value.channelConfig, dragAndDropWindow = value.dragAndDropWindow, giphyVersion = value.giphyVersion, error = value.error, hasMore = value.hasMore, hasMoreNewer = value.hasMoreNewer, suppressAutoscroll = value.suppressAutoscroll, highlightedMessageId = value.highlightedMessageId, loading = value.loading, loadingMore = value.loadingMore, maxNumberOfFiles = value.maxNumberOfFiles, members = value.members, _c = value.messages, messages = _c === void 0 ? [] : _c, multipleUploads = value.multipleUploads, mutes = value.mutes, notifications = value.notifications, pinnedMessages = value.pinnedMessages, quotedMessage = value.quotedMessage, _d = value.read, read = _d === void 0 ? {} : _d, skipMessageDataMemoization = value.skipMessageDataMemoization, thread = value.thread, threadHasMore = value.threadHasMore, threadLoadingMore = value.threadLoadingMore, _e = value.threadMessages, threadMessages = _e === void 0 ? [] : _e, watcherCount = value.watcherCount, watcher_count = value.watcher_count, watchers = value.watchers;
6
6
  var channelId = channel.cid;
7
7
  var lastRead = channel.initialized && ((_a = channel.lastRead()) === null || _a === void 0 ? void 0 : _a.getTime());
8
8
  var membersLength = Object.keys(members || []).length;
@@ -49,7 +49,10 @@ export var useCreateChannelStateContext = function (value) {
49
49
  channelConfig: channelConfig,
50
50
  dragAndDropWindow: dragAndDropWindow,
51
51
  error: error,
52
+ giphyVersion: giphyVersion,
52
53
  hasMore: hasMore,
54
+ hasMoreNewer: hasMoreNewer,
55
+ highlightedMessageId: highlightedMessageId,
53
56
  loading: loading,
54
57
  loadingMore: loadingMore,
55
58
  maxNumberOfFiles: maxNumberOfFiles,
@@ -61,6 +64,7 @@ export var useCreateChannelStateContext = function (value) {
61
64
  pinnedMessages: pinnedMessages,
62
65
  quotedMessage: quotedMessage,
63
66
  read: read,
67
+ suppressAutoscroll: suppressAutoscroll,
64
68
  thread: thread,
65
69
  threadHasMore: threadHasMore,
66
70
  threadLoadingMore: threadLoadingMore,
@@ -72,6 +76,8 @@ export var useCreateChannelStateContext = function (value) {
72
76
  channelId,
73
77
  error,
74
78
  hasMore,
79
+ hasMoreNewer,
80
+ highlightedMessageId,
75
81
  lastRead,
76
82
  loading,
77
83
  loadingMore,
@@ -83,6 +89,7 @@ export var useCreateChannelStateContext = function (value) {
83
89
  readUsersLength,
84
90
  readUsersLastReads,
85
91
  skipMessageDataMemoization,
92
+ suppressAutoscroll,
86
93
  thread,
87
94
  threadHasMore,
88
95
  threadLoadingMore,
@@ -1,4 +1,4 @@
1
1
  import type { TypingContextValue } from '../../../context/TypingContext';
2
- import type { DefaultAttachmentType, DefaultChannelType, DefaultMessageType, DefaultUserType } from '../../../types/types';
3
- export declare const useCreateTypingContext: <At extends DefaultAttachmentType = DefaultAttachmentType, Ch extends DefaultChannelType = DefaultChannelType, Co extends import("stream-chat").LiteralStringForUnion = import("stream-chat").LiteralStringForUnion, Ev extends import("../../../types/types").UnknownType = import("../../../types/types").UnknownType, Me extends DefaultMessageType = DefaultMessageType, Re extends import("../../../types/types").UnknownType = import("../../../types/types").UnknownType, Us extends DefaultUserType<Us> = DefaultUserType<import("../../../types/types").DefaultUserTypeInternal>>(value: TypingContextValue<At, Ch, Co, Ev, Me, Re, Us>) => TypingContextValue<At, Ch, Co, Ev, Me, Re, Us>;
2
+ import type { DefaultStreamChatGenerics } from '../../../types/types';
3
+ export declare const useCreateTypingContext: <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(value: TypingContextValue<StreamChatGenerics>) => TypingContextValue<StreamChatGenerics>;
4
4
  //# sourceMappingURL=useCreateTypingContext.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useCreateTypingContext.d.ts","sourceRoot":"","sources":["../../../../src/components/Channel/hooks/useCreateTypingContext.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,KAAK,EACV,qBAAqB,EACrB,kBAAkB,EAGlB,kBAAkB,EAElB,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAE9B,eAAO,MAAM,sBAAsB,qqBAuBlC,CAAC"}
1
+ {"version":3,"file":"useCreateTypingContext.d.ts","sourceRoot":"","sources":["../../../../src/components/Channel/hooks/useCreateTypingContext.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEtE,eAAO,MAAM,sBAAsB,6KAiBlC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import type { StreamChat, UpdatedMessage } from 'stream-chat';
2
- import type { DefaultAttachmentType, DefaultChannelType, DefaultCommandType, DefaultEventType, DefaultMessageType, DefaultReactionType, DefaultUserType } from '../../../types/types';
3
- declare type UpdateHandler<At extends DefaultAttachmentType = DefaultAttachmentType, Ch extends DefaultChannelType = DefaultChannelType, Co extends DefaultCommandType = DefaultCommandType, Ev extends DefaultEventType = DefaultEventType, Me extends DefaultMessageType = DefaultMessageType, Re extends DefaultReactionType = DefaultReactionType, Us extends DefaultUserType<Us> = DefaultUserType> = (cid: string, updatedMessage: UpdatedMessage<At, Ch, Co, Me, Re, Us>) => ReturnType<StreamChat<At, Ch, Co, Ev, Me, Re, Us>['updateMessage']>;
4
- export declare const useEditMessageHandler: <At extends DefaultAttachmentType = DefaultAttachmentType, Ch extends DefaultChannelType = DefaultChannelType, Co extends import("stream-chat").LiteralStringForUnion = import("stream-chat").LiteralStringForUnion, Ev extends import("../../../types/types").UnknownType = import("../../../types/types").UnknownType, Me extends DefaultMessageType = DefaultMessageType, Re extends import("../../../types/types").UnknownType = import("../../../types/types").UnknownType, Us extends DefaultUserType<Us> = DefaultUserType<import("../../../types/types").DefaultUserTypeInternal>>(doUpdateMessageRequest?: UpdateHandler<At, Ch, Co, Ev, Me, Re, Us> | undefined) => (updatedMessage: UpdatedMessage<At, Ch, Co, Me, Re, Us>) => Promise<import("stream-chat").UpdateMessageAPIResponse<At, Ch, Co, Me, Re, Us>>;
2
+ import type { DefaultStreamChatGenerics } from '../../../types/types';
3
+ declare type UpdateHandler<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> = (cid: string, updatedMessage: UpdatedMessage<StreamChatGenerics>) => ReturnType<StreamChat<StreamChatGenerics>['updateMessage']>;
4
+ export declare const useEditMessageHandler: <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(doUpdateMessageRequest?: UpdateHandler<StreamChatGenerics> | undefined) => (updatedMessage: UpdatedMessage<StreamChatGenerics>) => Promise<import("stream-chat").UpdateMessageAPIResponse<StreamChatGenerics>>;
5
5
  export {};
6
6
  //# sourceMappingURL=useEditMessageHandler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useEditMessageHandler.d.ts","sourceRoot":"","sources":["../../../../src/components/Channel/hooks/useEditMessageHandler.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE9D,OAAO,KAAK,EACV,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAE9B,aAAK,aAAa,CAChB,EAAE,SAAS,qBAAqB,GAAG,qBAAqB,EACxD,EAAE,SAAS,kBAAkB,GAAG,kBAAkB,EAClD,EAAE,SAAS,kBAAkB,GAAG,kBAAkB,EAClD,EAAE,SAAS,gBAAgB,GAAG,gBAAgB,EAC9C,EAAE,SAAS,kBAAkB,GAAG,kBAAkB,EAClD,EAAE,SAAS,mBAAmB,GAAG,mBAAmB,EACpD,EAAE,SAAS,eAAe,CAAC,EAAE,CAAC,GAAG,eAAe,IAC9C,CACF,GAAG,EAAE,MAAM,EACX,cAAc,EAAE,cAAc,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,KACnD,UAAU,CAAC,UAAU,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;AAEzE,eAAO,MAAM,qBAAqB,2xBAmBjC,CAAC"}
1
+ {"version":3,"file":"useEditMessageHandler.d.ts","sourceRoot":"","sources":["../../../../src/components/Channel/hooks/useEditMessageHandler.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE9D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEtE,aAAK,aAAa,CAChB,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E,CACF,GAAG,EAAE,MAAM,EACX,cAAc,EAAE,cAAc,CAAC,kBAAkB,CAAC,KAC/C,UAAU,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;AAEjE,eAAO,MAAM,qBAAqB,mSAajC,CAAC"}
@@ -1,3 +1,2 @@
1
- /// <reference types="react" />
2
1
  export declare const useIsMounted: () => import("react").MutableRefObject<boolean>;
3
2
  //# sourceMappingURL=useIsMounted.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useIsMounted.d.ts","sourceRoot":"","sources":["../../../../src/components/Channel/hooks/useIsMounted.ts"],"names":[],"mappings":";AAEA,eAAO,MAAM,YAAY,iDAWxB,CAAC"}
1
+ {"version":3,"file":"useIsMounted.d.ts","sourceRoot":"","sources":["../../../../src/components/Channel/hooks/useIsMounted.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,YAAY,iDAWxB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import type { UserResponse } from 'stream-chat';
3
- import type { DefaultUserType } from '../../../types/types';
4
- export declare type OnMentionAction<Us extends DefaultUserType<Us> = DefaultUserType> = (event: React.BaseSyntheticEvent, user?: UserResponse<Us>) => void;
5
- export declare const useMentionsHandlers: <Us extends DefaultUserType<Us> = DefaultUserType<import("../../../types/types").DefaultUserTypeInternal>>(onMentionsHover?: OnMentionAction<Us> | undefined, onMentionsClick?: OnMentionAction<Us> | undefined) => (event: React.BaseSyntheticEvent, mentioned_users: UserResponse<Us>[]) => void;
3
+ import type { DefaultStreamChatGenerics } from '../../../types/types';
4
+ export declare type OnMentionAction<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> = (event: React.BaseSyntheticEvent, user?: UserResponse<StreamChatGenerics>) => void;
5
+ export declare const useMentionsHandlers: <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(onMentionsHover?: OnMentionAction<StreamChatGenerics> | undefined, onMentionsClick?: OnMentionAction<StreamChatGenerics> | undefined) => (event: React.BaseSyntheticEvent, mentioned_users: UserResponse<StreamChatGenerics>[]) => void;
6
6
  //# sourceMappingURL=useMentionsHandlers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useMentionsHandlers.d.ts","sourceRoot":"","sources":["../../../../src/components/Channel/hooks/useMentionsHandlers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAsB,MAAM,OAAO,CAAC;AAE3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE5D,oBAAY,eAAe,CAAC,EAAE,SAAS,eAAe,CAAC,EAAE,CAAC,GAAG,eAAe,IAAI,CAC9E,KAAK,EAAE,KAAK,CAAC,kBAAkB,EAC/B,IAAI,CAAC,EAAE,YAAY,CAAC,EAAE,CAAC,KACpB,IAAI,CAAC;AAEV,eAAO,MAAM,mBAAmB,8NAKpB,MAAM,kBAAkB,8CA0BjC,CAAC"}
1
+ {"version":3,"file":"useMentionsHandlers.d.ts","sourceRoot":"","sources":["../../../../src/components/Channel/hooks/useMentionsHandlers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAsB,MAAM,OAAO,CAAC;AAE3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEtE,oBAAY,eAAe,CACzB,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E,CAAC,KAAK,EAAE,KAAK,CAAC,kBAAkB,EAAE,IAAI,CAAC,EAAE,YAAY,CAAC,kBAAkB,CAAC,KAAK,IAAI,CAAC;AAEvF,eAAO,MAAM,mBAAmB,sOAOpB,MAAM,kBAAkB,8DA0BjC,CAAC"}
@@ -0,0 +1,5 @@
1
+ /// <reference types="node" />
2
+ import type { Dispatch, SetStateAction } from 'react';
3
+ import type { ChannelNotifications } from '../../context/ChannelStateContext';
4
+ export declare const makeAddNotifications: (setNotifications: Dispatch<SetStateAction<ChannelNotifications>>, notificationTimeouts: NodeJS.Timeout[]) => (text: string, type: 'success' | 'error') => void;
5
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/components/Channel/utils.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AACtD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAG9E,eAAO,MAAM,oBAAoB,qBACb,SAAS,eAAe,oBAAoB,CAAC,CAAC,wBAC1C,OAAO,OAAO,EAAE,YAC5B,MAAM,QAAQ,SAAS,GAAG,OAAO,SAkB5C,CAAC"}
@@ -0,0 +1,19 @@
1
+ var __spreadArray = (this && this.__spreadArray) || function (to, from) {
2
+ for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
3
+ to[j] = from[i];
4
+ return to;
5
+ };
6
+ import { v4 as uuidv4 } from 'uuid';
7
+ export var makeAddNotifications = function (setNotifications, notificationTimeouts) { return function (text, type) {
8
+ if (typeof text !== 'string' || (type !== 'success' && type !== 'error')) {
9
+ return;
10
+ }
11
+ var id = uuidv4();
12
+ setNotifications(function (prevNotifications) { return __spreadArray(__spreadArray([], prevNotifications), [{ id: id, text: text, type: type }]); });
13
+ var timeout = setTimeout(function () {
14
+ return setNotifications(function (prevNotifications) {
15
+ return prevNotifications.filter(function (notification) { return notification.id !== id; });
16
+ });
17
+ }, 5000);
18
+ notificationTimeouts.push(timeout);
19
+ }; };
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { AvatarProps } from '../Avatar';
3
- import type { DefaultAttachmentType, DefaultChannelType, DefaultMessageType, DefaultUserType } from '../../types/types';
3
+ import type { DefaultStreamChatGenerics } from '../../types/types';
4
4
  export declare type ChannelHeaderProps = {
5
5
  /** UI component to display a user's avatar, defaults to and accepts same props as: [Avatar](https://github.com/GetStream/stream-chat-react/blob/master/src/components/Avatar/Avatar.tsx) */
6
6
  Avatar?: React.ComponentType<AvatarProps>;
@@ -8,11 +8,13 @@ export declare type ChannelHeaderProps = {
8
8
  image?: string;
9
9
  /** Show a little indicator that the Channel is live right now */
10
10
  live?: boolean;
11
+ /** UI component to display menu icon, defaults to [MenuIcon](https://github.com/GetStream/stream-chat-react/blob/master/src/components/ChannelHeader/ChannelHeader.tsx)*/
12
+ MenuIcon?: React.ComponentType;
11
13
  /** Set title manually */
12
14
  title?: string;
13
15
  };
14
16
  /**
15
17
  * The ChannelHeader component renders some basic information about a Channel.
16
18
  */
17
- export declare const ChannelHeader: <At extends DefaultAttachmentType = DefaultAttachmentType, Ch extends DefaultChannelType = DefaultChannelType, Co extends import("stream-chat").LiteralStringForUnion = import("stream-chat").LiteralStringForUnion, Ev extends import("../../types/types").UnknownType = import("../../types/types").UnknownType, Me extends DefaultMessageType = DefaultMessageType, Re extends import("../../types/types").UnknownType = import("../../types/types").UnknownType, Us extends DefaultUserType<Us> = DefaultUserType<import("../../types/types").DefaultUserTypeInternal>>(props: ChannelHeaderProps) => JSX.Element;
19
+ export declare const ChannelHeader: <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(props: ChannelHeaderProps) => JSX.Element;
18
20
  //# sourceMappingURL=ChannelHeader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChannelHeader.d.ts","sourceRoot":"","sources":["../../../src/components/ChannelHeader/ChannelHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,WAAW,EAA2B,MAAM,WAAW,CAAC;AAMjE,OAAO,KAAK,EACV,qBAAqB,EACrB,kBAAkB,EAGlB,kBAAkB,EAElB,eAAe,EAChB,MAAM,mBAAmB,CAAC;AAE3B,oBAAY,kBAAkB,GAAG;IAC/B,4LAA4L;IAC5L,MAAM,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IAC1C,sEAAsE;IACtE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iEAAiE;IACjE,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,yBAAyB;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAyDF;;GAEG;AACH,eAAO,MAAM,aAAa,qjBAjDjB,kBAAkB,gBAiDuE,CAAC"}
1
+ {"version":3,"file":"ChannelHeader.d.ts","sourceRoot":"","sources":["../../../src/components/ChannelHeader/ChannelHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,EAAE,WAAW,EAA2B,MAAM,WAAW,CAAC;AAMjE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAEnE,oBAAY,kBAAkB,GAAG;IAC/B,4LAA4L;IAC5L,MAAM,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IAC1C,sEAAsE;IACtE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iEAAiE;IACjE,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,0KAA0K;IAC1K,QAAQ,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC/B,yBAAyB;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAqDF;;GAEG;AACH,eAAO,MAAM,aAAa,4FAnDjB,kBAAkB,gBAmDuE,CAAC"}