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
@@ -9,7 +9,43 @@ var __assign = (this && this.__assign) || function () {
9
9
  };
10
10
  return __assign.apply(this, arguments);
11
11
  };
12
- import React, { useCallback, useEffect, useMemo, useRef } from 'react';
12
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
13
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
14
+ return new (P || (P = Promise))(function (resolve, reject) {
15
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
16
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
17
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
18
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
19
+ });
20
+ };
21
+ var __generator = (this && this.__generator) || function (thisArg, body) {
22
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
23
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
24
+ function verb(n) { return function (v) { return step([n, v]); }; }
25
+ function step(op) {
26
+ if (f) throw new TypeError("Generator is already executing.");
27
+ while (_) try {
28
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
29
+ if (y = 0, t) op = [op[0] & 2, t.value];
30
+ switch (op[0]) {
31
+ case 0: case 1: t = op; break;
32
+ case 4: _.label++; return { value: op[1], done: false };
33
+ case 5: _.label++; y = op[1]; op = [0]; continue;
34
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
35
+ default:
36
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
37
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
38
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
39
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
40
+ if (t[2]) _.ops.pop();
41
+ _.trys.pop(); continue;
42
+ }
43
+ op = body.call(thisArg, _);
44
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
45
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
46
+ }
47
+ };
48
+ import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';
13
49
  import { Virtuoso, } from 'react-virtuoso';
14
50
  import { GiphyPreviewMessage as DefaultGiphyPreviewMessage } from './GiphyPreviewMessage';
15
51
  import { useGiphyPreview } from './hooks/useGiphyPreview';
@@ -19,6 +55,7 @@ import { useShouldForceScrollToBottom } from './hooks/useShouldForceScrollToBott
19
55
  import { MessageNotification as DefaultMessageNotification } from './MessageNotification';
20
56
  import { MessageListNotifications as DefaultMessageListNotifications } from './MessageListNotifications';
21
57
  import { processMessages } from './utils';
58
+ import { CUSTOM_MESSAGE_TYPE } from '../../constants/messageTypes';
22
59
  import { DateSeparator as DefaultDateSeparator } from '../DateSeparator/DateSeparator';
23
60
  import { EmptyStateIndicator as DefaultEmptyStateIndicator } from '../EmptyStateIndicator/EmptyStateIndicator';
24
61
  import { EventComponent } from '../EventComponent/EventComponent';
@@ -30,10 +67,44 @@ import { useChatContext } from '../../context/ChatContext';
30
67
  import { useComponentContext } from '../../context/ComponentContext';
31
68
  import { isDate } from '../../context/TranslationContext';
32
69
  var PREPEND_OFFSET = Math.pow(10, 7);
70
+ function captureResizeObserverExceededError(e) {
71
+ if (e.message === 'ResizeObserver loop completed with undelivered notifications.' ||
72
+ e.message === 'ResizeObserver loop limit exceeded') {
73
+ e.stopImmediatePropagation();
74
+ }
75
+ }
76
+ function useCaptureResizeObserverExceededError() {
77
+ useEffect(function () {
78
+ window.addEventListener('error', captureResizeObserverExceededError);
79
+ return function () {
80
+ window.removeEventListener('error', captureResizeObserverExceededError);
81
+ };
82
+ }, []);
83
+ }
84
+ function fractionalItemSize(element) {
85
+ return element.getBoundingClientRect().height;
86
+ }
87
+ function findMessageIndex(messages, id) {
88
+ return messages.findIndex(function (message) { return message.id === id; });
89
+ }
90
+ function calculateInitialTopMostItemIndex(messages, highlightedMessageId) {
91
+ if (highlightedMessageId) {
92
+ var index = findMessageIndex(messages, highlightedMessageId);
93
+ if (index !== -1) {
94
+ return { align: 'center', index: index };
95
+ }
96
+ }
97
+ return messages.length - 1;
98
+ }
33
99
  var VirtualizedMessageListWithContext = function (props) {
34
- var additionalVirtuosoProps = props.additionalVirtuosoProps, channel = props.channel, closeReactionSelectorOnClick = props.closeReactionSelectorOnClick, customMessageRenderer = props.customMessageRenderer, defaultItemHeight = props.defaultItemHeight, _a = props.disableDateSeparator, disableDateSeparator = _a === void 0 ? true : _a, hasMore = props.hasMore, _b = props.hideDeletedMessages, hideDeletedMessages = _b === void 0 ? false : _b, _c = props.hideNewMessageSeparator, hideNewMessageSeparator = _c === void 0 ? false : _c, loadingMore = props.loadingMore, loadMore = props.loadMore, propMessage = props.Message, _d = props.messageLimit, messageLimit = _d === void 0 ? 100 : _d, messages = props.messages, notifications = props.notifications, _e = props.overscan, overscan = _e === void 0 ? 0 : _e,
100
+ var additionalVirtuosoProps = props.additionalVirtuosoProps, channel = props.channel, closeReactionSelectorOnClick = props.closeReactionSelectorOnClick, customMessageRenderer = props.customMessageRenderer, defaultItemHeight = props.defaultItemHeight, _a = props.disableDateSeparator, disableDateSeparator = _a === void 0 ? true : _a, hasMore = props.hasMore, hasMoreNewer = props.hasMoreNewer, _b = props.hideDeletedMessages, hideDeletedMessages = _b === void 0 ? false : _b, _c = props.hideNewMessageSeparator, hideNewMessageSeparator = _c === void 0 ? false : _c, highlightedMessageId = props.highlightedMessageId, jumpToLatestMessage = props.jumpToLatestMessage, loadingMore = props.loadingMore, loadMore = props.loadMore, loadMoreNewer = props.loadMoreNewer, propMessage = props.Message, _d = props.messageLimit, messageLimit = _d === void 0 ? 100 : _d, messages = props.messages, notifications = props.notifications,
101
+ // TODO: refactor to scrollSeekPlaceHolderConfiguration and components.ScrollSeekPlaceholder, like the Virtuoso Component
102
+ _e = props.overscan,
35
103
  // TODO: refactor to scrollSeekPlaceHolderConfiguration and components.ScrollSeekPlaceholder, like the Virtuoso Component
36
- scrollSeekPlaceHolder = props.scrollSeekPlaceHolder, _f = props.scrollToLatestMessageOnFocus, scrollToLatestMessageOnFocus = _f === void 0 ? false : _f, _g = props.separateGiphyPreview, separateGiphyPreview = _g === void 0 ? false : _g, _h = props.shouldGroupByUser, shouldGroupByUser = _h === void 0 ? false : _h, _j = props.stickToBottomScrollBehavior, stickToBottomScrollBehavior = _j === void 0 ? 'smooth' : _j;
104
+ overscan = _e === void 0 ? 0 : _e, scrollSeekPlaceHolder = props.scrollSeekPlaceHolder, _f = props.scrollToLatestMessageOnFocus, scrollToLatestMessageOnFocus = _f === void 0 ? false : _f, _g = props.separateGiphyPreview, separateGiphyPreview = _g === void 0 ? false : _g, _h = props.shouldGroupByUser, shouldGroupByUser = _h === void 0 ? false : _h, _j = props.stickToBottomScrollBehavior, stickToBottomScrollBehavior = _j === void 0 ? 'smooth' : _j, suppressAutoscroll = props.suppressAutoscroll;
105
+ // Stops errors generated from react-virtuoso to bubble up
106
+ // to Sentry or other tracking tools.
107
+ useCaptureResizeObserverExceededError();
37
108
  var _k = useComponentContext('VirtualizedMessageList'), _l = _k.DateSeparator, DateSeparator = _l === void 0 ? DefaultDateSeparator : _l, _m = _k.EmptyStateIndicator, EmptyStateIndicator = _m === void 0 ? DefaultEmptyStateIndicator : _m, _o = _k.GiphyPreviewMessage, GiphyPreviewMessage = _o === void 0 ? DefaultGiphyPreviewMessage : _o, _p = _k.LoadingIndicator, LoadingIndicator = _p === void 0 ? DefaultLoadingIndicator : _p, _q = _k.MessageListNotifications, MessageListNotifications = _q === void 0 ? DefaultMessageListNotifications : _q, _r = _k.MessageNotification, MessageNotification = _r === void 0 ? DefaultMessageNotification : _r, _s = _k.MessageSystem, MessageSystem = _s === void 0 ? EventComponent : _s, _t = _k.TypingIndicator, TypingIndicator = _t === void 0 ? null : _t, _u = _k.VirtualMessage, contextMessage = _u === void 0 ? MessageSimple : _u;
38
109
  var _v = useChatContext('VirtualizedMessageList'), client = _v.client, customClasses = _v.customClasses;
39
110
  var lastRead = useMemo(function () { var _a; return (_a = channel.lastRead) === null || _a === void 0 ? void 0 : _a.call(channel); }, [channel]);
@@ -50,12 +121,11 @@ var VirtualizedMessageListWithContext = function (props) {
50
121
  return messages;
51
122
  }
52
123
  return processMessages({
53
- disableDateSeparator: disableDateSeparator,
124
+ enableDateSeparator: !disableDateSeparator,
54
125
  hideDeletedMessages: hideDeletedMessages,
55
126
  hideNewMessageSeparator: hideNewMessageSeparator,
56
127
  lastRead: lastRead,
57
128
  messages: messages,
58
- separateGiphyPreview: separateGiphyPreview,
59
129
  setGiphyPreviewMessage: setGiphyPreviewMessage,
60
130
  userId: client.userID || '',
61
131
  });
@@ -69,27 +139,75 @@ var VirtualizedMessageListWithContext = function (props) {
69
139
  client.userID,
70
140
  ]);
71
141
  var virtuoso = useRef(null);
72
- var _x = useNewMessageNotification(processedMessages, client.userID), atBottom = _x.atBottom, newMessagesNotification = _x.newMessagesNotification, setNewMessagesNotification = _x.setNewMessagesNotification;
73
- var scrollToBottom = useCallback(function () {
74
- if (virtuoso.current) {
75
- virtuoso.current.scrollToIndex(processedMessages.length - 1);
76
- }
77
- setNewMessagesNotification(false);
78
- }, [virtuoso, processedMessages, setNewMessagesNotification, processedMessages.length]);
142
+ var _x = useNewMessageNotification(processedMessages, client.userID, hasMoreNewer), atBottom = _x.atBottom, newMessagesNotification = _x.newMessagesNotification, setNewMessagesNotification = _x.setNewMessagesNotification;
143
+ var scrollToBottom = useCallback(function () { return __awaiter(void 0, void 0, void 0, function () {
144
+ return __generator(this, function (_a) {
145
+ switch (_a.label) {
146
+ case 0:
147
+ if (!hasMoreNewer) return [3 /*break*/, 2];
148
+ return [4 /*yield*/, jumpToLatestMessage()];
149
+ case 1:
150
+ _a.sent();
151
+ return [2 /*return*/];
152
+ case 2:
153
+ if (virtuoso.current) {
154
+ virtuoso.current.scrollToIndex(processedMessages.length - 1);
155
+ }
156
+ setNewMessagesNotification(false);
157
+ return [2 /*return*/];
158
+ }
159
+ });
160
+ }); }, [
161
+ virtuoso,
162
+ processedMessages,
163
+ setNewMessagesNotification,
164
+ processedMessages.length,
165
+ hasMoreNewer,
166
+ jumpToLatestMessage,
167
+ ]);
168
+ var _y = React.useState(false), newMessagesReceivedInBackground = _y[0], setNewMessagesReceivedInBackground = _y[1];
169
+ var resetNewMessagesReceivedInBackground = useCallback(function () {
170
+ setNewMessagesReceivedInBackground(false);
171
+ }, []);
172
+ useEffect(function () {
173
+ setNewMessagesReceivedInBackground(true);
174
+ }, [messages]);
79
175
  var scrollToBottomIfConfigured = useCallback(function (event) {
80
176
  if (scrollToLatestMessageOnFocus && event.target === window) {
81
- setTimeout(scrollToBottom, 100);
177
+ if (newMessagesReceivedInBackground) {
178
+ setTimeout(scrollToBottom, 100);
179
+ }
82
180
  }
83
- }, [scrollToLatestMessageOnFocus, scrollToBottom]);
181
+ }, [scrollToLatestMessageOnFocus, scrollToBottom, newMessagesReceivedInBackground]);
84
182
  useEffect(function () {
85
183
  if (typeof window !== 'undefined') {
86
184
  window.addEventListener('focus', scrollToBottomIfConfigured);
185
+ window.addEventListener('blur', resetNewMessagesReceivedInBackground);
87
186
  }
88
- return function () { return window.removeEventListener('focus', scrollToBottomIfConfigured); };
187
+ return function () {
188
+ window.removeEventListener('focus', scrollToBottomIfConfigured);
189
+ window.removeEventListener('blur', resetNewMessagesReceivedInBackground);
190
+ };
89
191
  }, [scrollToBottomIfConfigured]);
90
192
  var numItemsPrepended = usePrependedMessagesCount(processedMessages);
193
+ /**
194
+ * Logic to update the key of the virtuoso component when the list jumps to a new location.
195
+ */
196
+ var _z = useState(+new Date()), messageSetKey = _z[0], setMessageSetKey = _z[1];
197
+ var firstMessageId = useRef();
198
+ useEffect(function () {
199
+ var _a;
200
+ var continuousSet = messages && messages.find(function (message) { return message.id === firstMessageId.current; });
201
+ if (!continuousSet) {
202
+ setMessageSetKey(+new Date());
203
+ }
204
+ firstMessageId.current = (_a = messages === null || messages === void 0 ? void 0 : messages[0]) === null || _a === void 0 ? void 0 : _a.id;
205
+ }, [messages]);
91
206
  var shouldForceScrollToBottom = useShouldForceScrollToBottom(processedMessages, client.userID);
92
207
  var followOutput = function (isAtBottom) {
208
+ if (hasMoreNewer || suppressAutoscroll) {
209
+ return false;
210
+ }
93
211
  if (shouldForceScrollToBottom()) {
94
212
  return isAtBottom ? stickToBottomScrollBehavior : 'auto';
95
213
  }
@@ -104,7 +222,7 @@ var VirtualizedMessageListWithContext = function (props) {
104
222
  return customMessageRenderer(messageList, streamMessageIndex);
105
223
  }
106
224
  var message = messageList[streamMessageIndex];
107
- if (message.customType === 'message.date' && message.date && isDate(message.date)) {
225
+ if (message.customType === CUSTOM_MESSAGE_TYPE.date && message.date && isDate(message.date)) {
108
226
  return React.createElement(DateSeparator, { date: message.date, unread: message.unread });
109
227
  }
110
228
  if (!message)
@@ -149,13 +267,26 @@ var VirtualizedMessageListWithContext = function (props) {
149
267
  loadMore(messageLimit);
150
268
  }
151
269
  };
270
+ var endReached = function () {
271
+ if (hasMoreNewer && loadMoreNewer) {
272
+ loadMoreNewer(messageLimit);
273
+ }
274
+ };
275
+ useEffect(function () {
276
+ var _a;
277
+ if (highlightedMessageId) {
278
+ var index = findMessageIndex(processedMessages, highlightedMessageId);
279
+ if (index !== -1) {
280
+ (_a = virtuoso.current) === null || _a === void 0 ? void 0 : _a.scrollToIndex({ align: 'center', index: index });
281
+ }
282
+ }
283
+ }, [highlightedMessageId]);
152
284
  if (!processedMessages)
153
285
  return null;
154
- var virtualizedMessageListClass = (customClasses === null || customClasses === void 0 ? void 0 : customClasses.virtualizedMessageList) || 'str-chat__virtual-list';
155
286
  return (React.createElement(React.Fragment, null,
156
- React.createElement("div", { className: virtualizedMessageListClass },
157
- React.createElement(Virtuoso, __assign({ atBottomStateChange: atBottomStateChange, components: virtuosoComponents, firstItemIndex: PREPEND_OFFSET - numItemsPrepended, followOutput: followOutput, initialTopMostItemIndex: processedMessages.length ? processedMessages.length - 1 : 0, itemContent: function (i) { return messageRenderer(processedMessages, i); }, overscan: overscan, ref: virtuoso, startReached: startReached, style: { overflowX: 'hidden' }, totalCount: processedMessages.length }, additionalVirtuosoProps, (scrollSeekPlaceHolder ? { scrollSeek: scrollSeekPlaceHolder } : {}), (defaultItemHeight ? { defaultItemHeight: defaultItemHeight } : {})))),
158
- React.createElement(MessageListNotifications, { hasNewMessages: newMessagesNotification, MessageNotification: MessageNotification, notifications: notifications, scrollToBottom: scrollToBottom }),
287
+ React.createElement("div", { className: (customClasses === null || customClasses === void 0 ? void 0 : customClasses.virtualizedMessageList) || 'str-chat__virtual-list' },
288
+ React.createElement(Virtuoso, __assign({ atBottomStateChange: atBottomStateChange, components: virtuosoComponents, endReached: endReached, firstItemIndex: PREPEND_OFFSET - numItemsPrepended, followOutput: followOutput, increaseViewportBy: { bottom: 200, top: 0 }, initialTopMostItemIndex: calculateInitialTopMostItemIndex(processedMessages, highlightedMessageId), itemContent: function (i) { return messageRenderer(processedMessages, i); }, itemSize: fractionalItemSize, key: messageSetKey, overscan: overscan, ref: virtuoso, startReached: startReached, style: { overflowX: 'hidden' }, totalCount: processedMessages.length }, additionalVirtuosoProps, (scrollSeekPlaceHolder ? { scrollSeek: scrollSeekPlaceHolder } : {}), (defaultItemHeight ? { defaultItemHeight: defaultItemHeight } : {})))),
289
+ React.createElement(MessageListNotifications, { hasNewMessages: newMessagesNotification, isNotAtLatestMessageSet: hasMoreNewer, MessageNotification: MessageNotification, notifications: notifications, scrollToBottom: scrollToBottom }),
159
290
  giphyPreviewMessage && React.createElement(GiphyPreviewMessage, { message: giphyPreviewMessage })));
160
291
  };
161
292
  /**
@@ -165,8 +296,8 @@ var VirtualizedMessageListWithContext = function (props) {
165
296
  * **Note**: It works well when there are thousands of messages in a channel, it has a shortcoming though - the message UI should have a fixed height.
166
297
  */
167
298
  export function VirtualizedMessageList(props) {
168
- var loadMore = useChannelActionContext('VirtualizedMessageList').loadMore;
169
- var _a = useChannelStateContext('VirtualizedMessageList'), channel = _a.channel, hasMore = _a.hasMore, loadingMore = _a.loadingMore, contextMessages = _a.messages, notifications = _a.notifications;
299
+ var _a = useChannelActionContext('VirtualizedMessageList'), jumpToLatestMessage = _a.jumpToLatestMessage, loadMore = _a.loadMore, loadMoreNewer = _a.loadMoreNewer;
300
+ var _b = useChannelStateContext('VirtualizedMessageList'), channel = _b.channel, hasMore = _b.hasMore, hasMoreNewer = _b.hasMoreNewer, highlightedMessageId = _b.highlightedMessageId, loadingMore = _b.loadingMore, loadingMoreNewer = _b.loadingMoreNewer, contextMessages = _b.messages, notifications = _b.notifications, suppressAutoscroll = _b.suppressAutoscroll;
170
301
  var messages = props.messages || contextMessages;
171
- return (React.createElement(VirtualizedMessageListWithContext, __assign({ channel: channel, hasMore: !!hasMore, loadingMore: !!loadingMore, loadMore: loadMore, messages: messages, notifications: notifications }, props)));
302
+ return (React.createElement(VirtualizedMessageListWithContext, __assign({ channel: channel, hasMore: !!hasMore, hasMoreNewer: !!hasMoreNewer, highlightedMessageId: highlightedMessageId, jumpToLatestMessage: jumpToLatestMessage, loadingMore: !!loadingMore, loadingMoreNewer: !!loadingMoreNewer, loadMore: loadMore, loadMoreNewer: loadMoreNewer, messages: messages, notifications: notifications, suppressAutoscroll: suppressAutoscroll }, props)));
172
303
  }
@@ -1,4 +1,3 @@
1
- export * from './useCallLoadMore';
2
1
  export * from './useEnrichedMessages';
3
2
  export * from './useLastReadData';
4
3
  export * from './useMessageListElements';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/MessageList/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,gCAAgC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/MessageList/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,gCAAgC,CAAC"}
@@ -1,4 +1,3 @@
1
- export * from './useCallLoadMore';
2
1
  export * from './useEnrichedMessages';
3
2
  export * from './useLastReadData';
4
3
  export * from './useMessageListElements';
@@ -1,19 +1,18 @@
1
1
  import { GroupStyle } from '../utils';
2
2
  import type { Channel } from 'stream-chat';
3
3
  import type { StreamMessage } from '../../../context/ChannelStateContext';
4
- import type { DefaultAttachmentType, DefaultChannelType, DefaultMessageType, DefaultUserType } from '../../../types/types';
5
- export declare const useEnrichedMessages: <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>>(args: {
6
- channel: Channel<At, Ch, Co, Ev, Me, Re, Us>;
4
+ import type { DefaultStreamChatGenerics } from '../../../types/types';
5
+ export declare const useEnrichedMessages: <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(args: {
6
+ channel: Channel<StreamChatGenerics>;
7
7
  disableDateSeparator: boolean;
8
8
  hideDeletedMessages: boolean;
9
9
  hideNewMessageSeparator: boolean;
10
- messages: StreamMessage<At, Ch, Co, Ev, Me, Re, Us>[];
10
+ messages: StreamMessage<StreamChatGenerics>[];
11
11
  noGroupByUser: boolean;
12
- threadList: boolean;
13
- groupStyles?: ((message: StreamMessage<At, Ch, Co, Ev, Me, Re, Us>, previousMessage: StreamMessage<At, Ch, Co, Ev, Me, Re, Us>, nextMessage: StreamMessage<At, Ch, Co, Ev, Me, Re, Us>, noGroupByUser: boolean) => GroupStyle) | undefined;
12
+ groupStyles?: ((message: StreamMessage<StreamChatGenerics>, previousMessage: StreamMessage<StreamChatGenerics>, nextMessage: StreamMessage<StreamChatGenerics>, noGroupByUser: boolean) => GroupStyle) | undefined;
14
13
  headerPosition?: number | undefined;
15
14
  }) => {
16
15
  messageGroupStyles: Record<string, GroupStyle>;
17
- messages: StreamMessage<At, Ch, Co, Ev, Me, Re, Us>[];
16
+ messages: StreamMessage<StreamChatGenerics>[];
18
17
  };
19
18
  //# sourceMappingURL=useEnrichedMessages.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useEnrichedMessages.d.ts","sourceRoot":"","sources":["../../../../src/components/MessageList/hooks/useEnrichedMessages.ts"],"names":[],"mappings":"AAEA,OAAO,EAAkB,UAAU,EAAgC,MAAM,UAAU,CAAC;AAKpF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAE1E,OAAO,KAAK,EACV,qBAAqB,EACrB,kBAAkB,EAGlB,kBAAkB,EAElB,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAE9B,eAAO,MAAM,mBAAmB;;0BAUR,OAAO;yBACR,OAAO;6BACH,OAAO;;mBAEjB,OAAO;gBACV,OAAO;2MAKF,OAAO,KACnB,UAAU;;;;;CAwDhB,CAAC"}
1
+ {"version":3,"file":"useEnrichedMessages.d.ts","sourceRoot":"","sources":["../../../../src/components/MessageList/hooks/useEnrichedMessages.ts"],"names":[],"mappings":"AAEA,OAAO,EAAkB,UAAU,EAAgC,MAAM,UAAU,CAAC;AAKpF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAE1E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEtE,eAAO,MAAM,mBAAmB;;0BAIR,OAAO;yBACR,OAAO;6BACH,OAAO;;mBAEjB,OAAO;mLAKL,OAAO,KACnB,UAAU;;;;;CAsDhB,CAAC"}
@@ -3,19 +3,19 @@ import { getGroupStyles, insertIntro, processMessages } from '../utils';
3
3
  import { useChatContext } from '../../../context/ChatContext';
4
4
  import { useComponentContext } from '../../../context/ComponentContext';
5
5
  export var useEnrichedMessages = function (args) {
6
- var channel = args.channel, disableDateSeparator = args.disableDateSeparator, groupStyles = args.groupStyles, headerPosition = args.headerPosition, hideDeletedMessages = args.hideDeletedMessages, hideNewMessageSeparator = args.hideNewMessageSeparator, messages = args.messages, noGroupByUser = args.noGroupByUser, threadList = args.threadList;
6
+ var channel = args.channel, disableDateSeparator = args.disableDateSeparator, groupStyles = args.groupStyles, headerPosition = args.headerPosition, hideDeletedMessages = args.hideDeletedMessages, hideNewMessageSeparator = args.hideNewMessageSeparator, messages = args.messages, noGroupByUser = args.noGroupByUser;
7
7
  var client = useChatContext('useEnrichedMessages').client;
8
8
  var HeaderComponent = useComponentContext('useEnrichedMessages').HeaderComponent;
9
9
  var lastRead = useMemo(function () { var _a; return (_a = channel.lastRead) === null || _a === void 0 ? void 0 : _a.call(channel); }, [channel]);
10
- var messagesWithDates = disableDateSeparator && !hideDeletedMessages && hideNewMessageSeparator
10
+ var enableDateSeparator = !disableDateSeparator;
11
+ var messagesWithDates = !enableDateSeparator && !hideDeletedMessages && hideNewMessageSeparator
11
12
  ? messages
12
13
  : processMessages({
13
- disableDateSeparator: disableDateSeparator,
14
+ enableDateSeparator: enableDateSeparator,
14
15
  hideDeletedMessages: hideDeletedMessages,
15
16
  hideNewMessageSeparator: hideNewMessageSeparator,
16
17
  lastRead: lastRead,
17
18
  messages: messages,
18
- threadList: threadList,
19
19
  userId: client.userID || '',
20
20
  });
21
21
  if (HeaderComponent) {
@@ -1,8 +1,7 @@
1
- /// <reference types="react" />
2
1
  import type { StreamMessage } from '../../../context/ChannelStateContext';
3
- import type { DefaultAttachmentType, DefaultChannelType, DefaultMessageType, DefaultUserType } from '../../../types/types';
4
- export declare const useGiphyPreview: <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>>(separateGiphyPreview: boolean) => {
5
- giphyPreviewMessage: StreamMessage<At, Ch, Co, Ev, Me, Re, Us> | undefined;
6
- setGiphyPreviewMessage: import("react").Dispatch<import("react").SetStateAction<StreamMessage<At, Ch, Co, Ev, Me, Re, Us> | undefined>>;
2
+ import type { DefaultStreamChatGenerics } from '../../../types/types';
3
+ export declare const useGiphyPreview: <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(separateGiphyPreview: boolean) => {
4
+ giphyPreviewMessage: StreamMessage<StreamChatGenerics> | undefined;
5
+ setGiphyPreviewMessage: import("react").Dispatch<import("react").SetStateAction<StreamMessage<StreamChatGenerics> | undefined>>;
7
6
  };
8
7
  //# sourceMappingURL=useGiphyPreview.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useGiphyPreview.d.ts","sourceRoot":"","sources":["../../../../src/components/MessageList/hooks/useGiphyPreview.ts"],"names":[],"mappings":";AAMA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAE1E,OAAO,KAAK,EACV,qBAAqB,EACrB,kBAAkB,EAGlB,kBAAkB,EAElB,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAE9B,eAAO,MAAM,eAAe,mlBASJ,OAAO;;;CAsB9B,CAAC"}
1
+ {"version":3,"file":"useGiphyPreview.d.ts","sourceRoot":"","sources":["../../../../src/components/MessageList/hooks/useGiphyPreview.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAE1E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEtE,eAAO,MAAM,eAAe,2GAGJ,OAAO;;;CAsB9B,CAAC"}
@@ -1,15 +1,15 @@
1
1
  import type { UserResponse } from 'stream-chat';
2
2
  import type { StreamMessage } from '../../../context/ChannelStateContext';
3
- import type { DefaultAttachmentType, DefaultChannelType, DefaultCommandType, DefaultEventType, DefaultMessageType, DefaultReactionType, DefaultUserType } from '../../../types/types';
4
- declare type UseLastReadDataParams<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> = {
5
- messages: StreamMessage<At, Ch, Co, Ev, Me, Re, Us>[];
3
+ import type { DefaultStreamChatGenerics } from '../../../types/types';
4
+ declare type UseLastReadDataParams<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> = {
5
+ messages: StreamMessage<StreamChatGenerics>[];
6
6
  returnAllReadData: boolean;
7
7
  userID: string | undefined;
8
8
  read?: Record<string, {
9
9
  last_read: Date;
10
- user: UserResponse<Us>;
10
+ user: UserResponse<StreamChatGenerics>;
11
11
  }>;
12
12
  };
13
- export declare const useLastReadData: <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: UseLastReadDataParams<At, Ch, Co, Ev, Me, Re, Us>) => Record<string, UserResponse<Us>[]>;
13
+ export declare const useLastReadData: <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(props: UseLastReadDataParams<StreamChatGenerics>) => Record<string, UserResponse<StreamChatGenerics>[]>;
14
14
  export {};
15
15
  //# sourceMappingURL=useLastReadData.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useLastReadData.d.ts","sourceRoot":"","sources":["../../../../src/components/MessageList/hooks/useLastReadData.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAE1E,OAAO,KAAK,EACV,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAE9B,aAAK,qBAAqB,CACxB,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;IACF,QAAQ,EAAE,aAAa,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;IACtD,iBAAiB,EAAE,OAAO,CAAC;IAC3B,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,SAAS,EAAE,IAAI,CAAC;QAAC,IAAI,EAAE,YAAY,CAAC,EAAE,CAAC,CAAA;KAAE,CAAC,CAAC;CACpE,CAAC;AAEF,eAAO,MAAM,eAAe,4pBAsB3B,CAAC"}
1
+ {"version":3,"file":"useLastReadData.d.ts","sourceRoot":"","sources":["../../../../src/components/MessageList/hooks/useLastReadData.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAE1E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEtE,aAAK,qBAAqB,CACxB,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E;IACF,QAAQ,EAAE,aAAa,CAAC,kBAAkB,CAAC,EAAE,CAAC;IAC9C,iBAAiB,EAAE,OAAO,CAAC;IAC3B,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,SAAS,EAAE,IAAI,CAAC;QAAC,IAAI,EAAE,YAAY,CAAC,kBAAkB,CAAC,CAAA;KAAE,CAAC,CAAC;CACpF,CAAC;AAEF,eAAO,MAAM,eAAe,4LAgB3B,CAAC"}
@@ -3,20 +3,20 @@ import { GroupStyle } from '../utils';
3
3
  import type { UserResponse } from 'stream-chat';
4
4
  import type { MessageProps } from '../../Message/types';
5
5
  import type { StreamMessage } from '../../../context/ChannelStateContext';
6
- import type { DefaultAttachmentType, DefaultChannelType, DefaultCommandType, DefaultEventType, DefaultMessageType, DefaultReactionType, DefaultUserType } from '../../../types/types';
6
+ import type { DefaultStreamChatGenerics } from '../../../types/types';
7
7
  declare type MessagePropsToOmit = 'channel' | 'groupStyles' | 'initialMessage' | 'lastReceivedId' | 'message' | 'readBy' | 'threadList';
8
- declare type UseMessageListElementsProps<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> = {
9
- enrichedMessages: StreamMessage<At, Ch, Co, Ev, Me, Re, Us>[];
10
- internalMessageProps: Omit<MessageProps<At, Ch, Co, Ev, Me, Re, Us>, MessagePropsToOmit>;
8
+ declare type UseMessageListElementsProps<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> = {
9
+ enrichedMessages: StreamMessage<StreamChatGenerics>[];
10
+ internalMessageProps: Omit<MessageProps<StreamChatGenerics>, MessagePropsToOmit>;
11
11
  messageGroupStyles: Record<string, GroupStyle>;
12
12
  onMessageLoadCaptured: (event: React.SyntheticEvent<HTMLLIElement, Event>) => void;
13
13
  returnAllReadData: boolean;
14
14
  threadList: boolean;
15
15
  read?: Record<string, {
16
16
  last_read: Date;
17
- user: UserResponse<Us>;
17
+ user: UserResponse<StreamChatGenerics>;
18
18
  }>;
19
19
  };
20
- export declare const useMessageListElements: <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: UseMessageListElementsProps<At, Ch, Co, Ev, Me, Re, Us>) => JSX.Element[];
20
+ export declare const useMessageListElements: <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(props: UseMessageListElementsProps<StreamChatGenerics>) => JSX.Element[];
21
21
  export {};
22
22
  //# sourceMappingURL=useMessageListElements.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useMessageListElements.d.ts","sourceRoot":"","sources":["../../../../src/components/MessageList/hooks/useMessageListElements.tsx"],"names":[],"mappings":"AACA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAGvC,OAAO,EAAmB,UAAU,EAAE,MAAM,UAAU,CAAC;AAUvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAE1E,OAAO,KAAK,EACV,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAE9B,aAAK,kBAAkB,GACnB,SAAS,GACT,aAAa,GACb,gBAAgB,GAChB,gBAAgB,GAChB,SAAS,GACT,QAAQ,GACR,YAAY,CAAC;AAEjB,aAAK,2BAA2B,CAC9B,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;IACF,gBAAgB,EAAE,aAAa,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;IAC9D,oBAAoB,EAAE,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,kBAAkB,CAAC,CAAC;IACzF,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAC/C,qBAAqB,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,aAAa,EAAE,KAAK,CAAC,KAAK,IAAI,CAAC;IACnF,iBAAiB,EAAE,OAAO,CAAC;IAC3B,UAAU,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,SAAS,EAAE,IAAI,CAAC;QAAC,IAAI,EAAE,YAAY,CAAC,EAAE,CAAC,CAAA;KAAE,CAAC,CAAC;CACpE,CAAC;AAEF,eAAO,MAAM,sBAAsB,6oBA4GlC,CAAC"}
1
+ {"version":3,"file":"useMessageListElements.d.ts","sourceRoot":"","sources":["../../../../src/components/MessageList/hooks/useMessageListElements.tsx"],"names":[],"mappings":"AACA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAGvC,OAAO,EAAmB,UAAU,EAAE,MAAM,UAAU,CAAC;AAWvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAE1E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEtE,aAAK,kBAAkB,GACnB,SAAS,GACT,aAAa,GACb,gBAAgB,GAChB,gBAAgB,GAChB,SAAS,GACT,QAAQ,GACR,YAAY,CAAC;AAEjB,aAAK,2BAA2B,CAC9B,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E;IACF,gBAAgB,EAAE,aAAa,CAAC,kBAAkB,CAAC,EAAE,CAAC;IACtD,oBAAoB,EAAE,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,EAAE,kBAAkB,CAAC,CAAC;IACjF,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAC/C,qBAAqB,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,aAAa,EAAE,KAAK,CAAC,KAAK,IAAI,CAAC;IACnF,iBAAiB,EAAE,OAAO,CAAC;IAC3B,UAAU,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,SAAS,EAAE,IAAI,CAAC;QAAC,IAAI,EAAE,YAAY,CAAC,kBAAkB,CAAC,CAAA;KAAE,CAAC,CAAC;CACpF,CAAC;AAEF,eAAO,MAAM,sBAAsB,6JAyGlC,CAAC"}
@@ -13,6 +13,7 @@ var __assign = (this && this.__assign) || function () {
13
13
  import React, { useMemo } from 'react';
14
14
  import { useLastReadData } from './useLastReadData';
15
15
  import { getLastReceived } from '../utils';
16
+ import { CUSTOM_MESSAGE_TYPE } from '../../../constants/messageTypes';
16
17
  import { DateSeparator as DefaultDateSeparator } from '../../DateSeparator/DateSeparator';
17
18
  import { EventComponent } from '../../EventComponent/EventComponent';
18
19
  import { Message } from '../../Message';
@@ -34,11 +35,13 @@ export var useMessageListElements = function (props) {
34
35
  return useMemo(function () {
35
36
  return enrichedMessages.map(function (message) {
36
37
  var _a;
37
- if (message.customType === 'message.date' && message.date && isDate(message.date)) {
38
+ if (message.customType === CUSTOM_MESSAGE_TYPE.date &&
39
+ message.date &&
40
+ isDate(message.date)) {
38
41
  return (React.createElement("li", { key: message.date.toISOString() + "-i" },
39
42
  React.createElement(DateSeparator, { date: message.date, formatDate: internalMessageProps.formatDate, unread: message.unread })));
40
43
  }
41
- if (message.customType === 'channel.intro' && HeaderComponent) {
44
+ if (message.customType === CUSTOM_MESSAGE_TYPE.intro && HeaderComponent) {
42
45
  return (React.createElement("li", { key: 'intro' },
43
46
  React.createElement(HeaderComponent, null)));
44
47
  }
@@ -50,7 +53,7 @@ export var useMessageListElements = function (props) {
50
53
  }
51
54
  var groupStyles = messageGroupStyles[message.id] || '';
52
55
  var messageClass = (customClasses === null || customClasses === void 0 ? void 0 : customClasses.message) || "str-chat__li str-chat__li--" + groupStyles;
53
- return (React.createElement("li", { className: messageClass, "data-testid": messageClass, key: message.id || message.created_at, onLoadCapture: onMessageLoadCaptured },
56
+ return (React.createElement("li", { className: messageClass, "data-message-id": message.id, "data-testid": messageClass, key: message.id || message.created_at, onLoadCapture: onMessageLoadCaptured },
54
57
  React.createElement(Message, __assign({ groupStyles: [groupStyles], lastReceivedId: lastReceivedId, message: message, readBy: readData[message.id] || [], threadList: threadList }, internalMessageProps))));
55
58
  });
56
59
  }, [
@@ -1,16 +1,16 @@
1
1
  import type { StreamMessage } from '../../../context/ChannelStateContext';
2
- import type { DefaultAttachmentType, DefaultChannelType, DefaultCommandType, DefaultEventType, DefaultMessageType, DefaultReactionType, DefaultUserType } from '../../../types/types';
2
+ import type { DefaultStreamChatGenerics } from '../../../types/types';
3
3
  export declare type ContainerMeasures = {
4
4
  offsetHeight: number;
5
5
  scrollHeight: number;
6
6
  };
7
- export declare type UseMessageListScrollManagerParams<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> = {
8
- messages: StreamMessage<At, Ch, Co, Ev, Me, Re, Us>[];
7
+ export declare type UseMessageListScrollManagerParams<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> = {
8
+ messages: StreamMessage<StreamChatGenerics>[];
9
9
  onScrollBy: (scrollBy: number) => void;
10
10
  scrollContainerMeasures: () => ContainerMeasures;
11
11
  scrolledUpThreshold: number;
12
12
  scrollToBottom: () => void;
13
13
  showNewMessages: () => void;
14
14
  };
15
- export declare function useMessageListScrollManager<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>(params: UseMessageListScrollManagerParams<At, Ch, Co, Ev, Me, Re, Us>): (scrollTopValue: number) => void;
15
+ export declare function useMessageListScrollManager<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(params: UseMessageListScrollManagerParams<StreamChatGenerics>): (scrollTopValue: number) => void;
16
16
  //# sourceMappingURL=useMessageListScrollManager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useMessageListScrollManager.d.ts","sourceRoot":"","sources":["../../../../src/components/MessageList/hooks/useMessageListScrollManager.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAE1E,OAAO,KAAK,EACV,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAE9B,oBAAY,iBAAiB,GAAG;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,oBAAY,iCAAiC,CAC3C,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;IACF,QAAQ,EAAE,aAAa,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;IACtD,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;IACjD,mBAAmB,EAAE,MAAM,CAAC;IAC5B,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,eAAe,EAAE,MAAM,IAAI,CAAC;CAC7B,CAAC;AAEF,wBAAgB,2BAA2B,CACzC,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,EAChD,MAAM,EAAE,iCAAiC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,oBAqE7C,MAAM,UAG/B"}
1
+ {"version":3,"file":"useMessageListScrollManager.d.ts","sourceRoot":"","sources":["../../../../src/components/MessageList/hooks/useMessageListScrollManager.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAE1E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEtE,oBAAY,iBAAiB,GAAG;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,oBAAY,iCAAiC,CAC3C,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E;IACF,QAAQ,EAAE,aAAa,CAAC,kBAAkB,CAAC,EAAE,CAAC;IAC9C,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;IACjD,mBAAmB,EAAE,MAAM,CAAC;IAC5B,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,eAAe,EAAE,MAAM,IAAI,CAAC;CAC7B,CAAC;AAEF,wBAAgB,2BAA2B,CACzC,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,EAChF,MAAM,EAAE,iCAAiC,CAAC,kBAAkB,CAAC,oBAqErC,MAAM,UAG/B"}
@@ -1,7 +1,6 @@
1
- /// <reference types="react" />
2
1
  import type { StreamMessage } from '../../../context/ChannelStateContext';
3
- import type { DefaultAttachmentType, DefaultChannelType, DefaultCommandType, DefaultEventType, DefaultMessageType, DefaultReactionType, DefaultUserType } from '../../../types/types';
4
- export declare function useNewMessageNotification<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>(messages: StreamMessage<At, Ch, Co, Ev, Me, Re, Us>[], currentUserId?: string): {
2
+ import type { DefaultStreamChatGenerics } from '../../../types/types';
3
+ export declare function useNewMessageNotification<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(messages: StreamMessage<StreamChatGenerics>[], currentUserId: string | undefined, hasMoreNewer?: boolean): {
5
4
  atBottom: import("react").MutableRefObject<boolean>;
6
5
  newMessagesNotification: boolean;
7
6
  setNewMessagesNotification: import("react").Dispatch<import("react").SetStateAction<boolean>>;
@@ -1 +1 @@
1
- {"version":3,"file":"useNewMessageNotification.d.ts","sourceRoot":"","sources":["../../../../src/components/MessageList/hooks/useNewMessageNotification.ts"],"names":[],"mappings":";AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAE1E,OAAO,KAAK,EACV,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAE9B,wBAAgB,yBAAyB,CACvC,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,EAChD,QAAQ,EAAE,aAAa,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,aAAa,CAAC,EAAE,MAAM;;;;EAiC9E"}
1
+ {"version":3,"file":"useNewMessageNotification.d.ts","sourceRoot":"","sources":["../../../../src/components/MessageList/hooks/useNewMessageNotification.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAE1E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEtE,wBAAgB,yBAAyB,CACvC,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,EAEhF,QAAQ,EAAE,aAAa,CAAC,kBAAkB,CAAC,EAAE,EAC7C,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,YAAY,CAAC,EAAE,OAAO;;;;EAsCvB"}
@@ -1,5 +1,5 @@
1
1
  import { useEffect, useRef, useState } from 'react';
2
- export function useNewMessageNotification(messages, currentUserId) {
2
+ export function useNewMessageNotification(messages, currentUserId, hasMoreNewer) {
3
3
  var _a = useState(false), newMessagesNotification = _a[0], setNewMessagesNotification = _a[1];
4
4
  /**
5
5
  * use the flag to avoid the initial "new messages" quick blink
@@ -9,6 +9,10 @@ export function useNewMessageNotification(messages, currentUserId) {
9
9
  var atBottom = useRef(false);
10
10
  useEffect(function () {
11
11
  var _a;
12
+ if (hasMoreNewer) {
13
+ setNewMessagesNotification(true);
14
+ return;
15
+ }
12
16
  /* handle scrolling behavior for new messages */
13
17
  if (!(messages === null || messages === void 0 ? void 0 : messages.length))
14
18
  return;
@@ -27,6 +31,6 @@ export function useNewMessageNotification(messages, currentUserId) {
27
31
  setNewMessagesNotification(true);
28
32
  }
29
33
  didMount.current = true;
30
- }, [currentUserId, messages]);
34
+ }, [currentUserId, messages, hasMoreNewer]);
31
35
  return { atBottom: atBottom, newMessagesNotification: newMessagesNotification, setNewMessagesNotification: setNewMessagesNotification };
32
36
  }
@@ -1,4 +1,4 @@
1
1
  import type { StreamMessage } from '../../../context/ChannelStateContext';
2
- import type { DefaultAttachmentType, DefaultChannelType, DefaultCommandType, DefaultEventType, DefaultMessageType, DefaultReactionType, DefaultUserType } from '../../../types/types';
3
- export declare function usePrependedMessagesCount<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>(messages: StreamMessage<At, Ch, Co, Ev, Me, Re, Us>[]): number;
2
+ import type { DefaultStreamChatGenerics } from '../../../types/types';
3
+ export declare function usePrependedMessagesCount<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(messages: StreamMessage<StreamChatGenerics>[]): number;
4
4
  //# sourceMappingURL=usePrependMessagesCount.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"usePrependMessagesCount.d.ts","sourceRoot":"","sources":["../../../../src/components/MessageList/hooks/usePrependMessagesCount.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAE1E,OAAO,KAAK,EACV,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAE9B,wBAAgB,yBAAyB,CACvC,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,EAChD,QAAQ,EAAE,aAAa,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,UAiCtD"}
1
+ {"version":3,"file":"usePrependMessagesCount.d.ts","sourceRoot":"","sources":["../../../../src/components/MessageList/hooks/usePrependMessagesCount.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAE1E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEtE,wBAAgB,yBAAyB,CACvC,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,EAChF,QAAQ,EAAE,aAAa,CAAC,kBAAkB,CAAC,EAAE,UAqC9C"}
@@ -25,6 +25,8 @@ export function usePrependedMessagesCount(messages) {
25
25
  return i;
26
26
  }
27
27
  }
28
+ // if no match has found, we have jumped
29
+ firstMessageId.current = currentFirstMessageId;
28
30
  return 0;
29
31
  // TODO: there's a bug here, the messages prop is the same array instance (something mutates it)
30
32
  // that's why the second dependency is necessary
@@ -1,12 +1,14 @@
1
1
  import React from 'react';
2
2
  import type { StreamMessage } from '../../../context/ChannelStateContext';
3
- import type { DefaultAttachmentType, DefaultChannelType, DefaultCommandType, DefaultEventType, DefaultMessageType, DefaultReactionType, DefaultUserType } from '../../../types/types';
4
- export declare type UseScrollLocationLogicParams<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> = {
3
+ import type { DefaultStreamChatGenerics } from '../../../types/types';
4
+ export declare type UseScrollLocationLogicParams<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> = {
5
+ hasMoreNewer: boolean;
6
+ suppressAutoscroll: boolean;
5
7
  currentUserId?: string;
6
- messages?: StreamMessage<At, Ch, Co, Ev, Me, Re, Us>[];
8
+ messages?: StreamMessage<StreamChatGenerics>[];
7
9
  scrolledUpThreshold?: number;
8
10
  };
9
- export declare const useScrollLocationLogic: <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>>(params: UseScrollLocationLogicParams<At, Ch, Co, Ev, Me, Re, Us>) => {
11
+ export declare const useScrollLocationLogic: <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(params: UseScrollLocationLogicParams<StreamChatGenerics>) => {
10
12
  hasNewMessages: boolean;
11
13
  listRef: React.RefObject<HTMLDivElement>;
12
14
  onMessageLoadCaptured: () => void;
@@ -1 +1 @@
1
- {"version":3,"file":"useScrollLocationLogic.d.ts","sourceRoot":"","sources":["../../../../src/components/MessageList/hooks/useScrollLocationLogic.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyD,MAAM,OAAO,CAAC;AAI9E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAE1E,OAAO,KAAK,EACV,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAE9B,oBAAY,4BAA4B,CACtC,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;IACF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,aAAa,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;IACvD,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;;sBAwDvB,aAAa,CAAC,cAAc,CAAC;;;CAqCxC,CAAC"}
1
+ {"version":3,"file":"useScrollLocationLogic.d.ts","sourceRoot":"","sources":["../../../../src/components/MessageList/hooks/useScrollLocationLogic.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyD,MAAM,OAAO,CAAC;AAI9E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAE1E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEtE,oBAAY,4BAA4B,CACtC,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E;IACF,YAAY,EAAE,OAAO,CAAC;IACtB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,aAAa,CAAC,kBAAkB,CAAC,EAAE,CAAC;IAC/C,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;;sBAuDvB,aAAa,CAAC,cAAc,CAAC;;;CAqCxC,CAAC"}