stream-chat-react 11.8.0 → 11.9.0

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 (354) hide show
  1. package/dist/{Window-7c2f264c.js → Window-5e0717c0.js} +1275 -132
  2. package/dist/browser.full-bundle.js +1402 -164
  3. package/dist/browser.full-bundle.js.map +1 -1
  4. package/dist/browser.full-bundle.min.js +4 -4
  5. package/dist/browser.full-bundle.min.js.map +1 -1
  6. package/dist/components/Attachment/Attachment.d.ts +1 -1
  7. package/dist/components/Attachment/Attachment.d.ts.map +1 -1
  8. package/dist/components/Attachment/AttachmentActions.d.ts +2 -1
  9. package/dist/components/Attachment/AttachmentActions.d.ts.map +1 -1
  10. package/dist/components/Attachment/AttachmentContainer.d.ts +9 -9
  11. package/dist/components/Attachment/AttachmentContainer.d.ts.map +1 -1
  12. package/dist/components/Attachment/Audio.d.ts +3 -3
  13. package/dist/components/Attachment/Audio.d.ts.map +1 -1
  14. package/dist/components/Attachment/Card.d.ts +3 -2
  15. package/dist/components/Attachment/Card.d.ts.map +1 -1
  16. package/dist/components/Attachment/DownloadButton.d.ts +2 -1
  17. package/dist/components/Attachment/DownloadButton.d.ts.map +1 -1
  18. package/dist/components/Attachment/FileAttachment.d.ts +2 -1
  19. package/dist/components/Attachment/FileAttachment.d.ts.map +1 -1
  20. package/dist/components/Attachment/FileSizeIndicator.d.ts +2 -1
  21. package/dist/components/Attachment/FileSizeIndicator.d.ts.map +1 -1
  22. package/dist/components/Attachment/UnsupportedAttachment.d.ts +2 -1
  23. package/dist/components/Attachment/UnsupportedAttachment.d.ts.map +1 -1
  24. package/dist/components/Attachment/icons.d.ts +4 -3
  25. package/dist/components/Attachment/icons.d.ts.map +1 -1
  26. package/dist/components/Attachment/utils.d.ts +8 -8
  27. package/dist/components/Attachment/utils.d.ts.map +1 -1
  28. package/dist/components/AutoCompleteTextarea/Header.d.ts +2 -1
  29. package/dist/components/AutoCompleteTextarea/Header.d.ts.map +1 -1
  30. package/dist/components/AutoCompleteTextarea/List.d.ts +2 -1
  31. package/dist/components/AutoCompleteTextarea/List.d.ts.map +1 -1
  32. package/dist/components/AutoCompleteTextarea/Textarea.d.ts +2 -2
  33. package/dist/components/AutoCompleteTextarea/Textarea.d.ts.map +1 -1
  34. package/dist/components/Avatar/Avatar.d.ts +1 -1
  35. package/dist/components/Avatar/Avatar.d.ts.map +1 -1
  36. package/dist/components/Channel/Channel.d.ts +2 -2
  37. package/dist/components/Channel/Channel.d.ts.map +1 -1
  38. package/dist/components/Channel/Channel.js +58 -52
  39. package/dist/components/Channel/LoadingChannel.d.ts +2 -1
  40. package/dist/components/Channel/LoadingChannel.d.ts.map +1 -1
  41. package/dist/components/ChannelHeader/ChannelHeader.d.ts +1 -1
  42. package/dist/components/ChannelHeader/ChannelHeader.d.ts.map +1 -1
  43. package/dist/components/ChannelHeader/ChannelHeader.js +1 -1
  44. package/dist/components/ChannelHeader/icons.d.ts +2 -1
  45. package/dist/components/ChannelHeader/icons.d.ts.map +1 -1
  46. package/dist/components/ChannelList/ChannelList.d.ts +1 -1
  47. package/dist/components/ChannelList/ChannelList.d.ts.map +1 -1
  48. package/dist/components/ChannelList/ChannelListMessenger.d.ts +1 -1
  49. package/dist/components/ChannelList/ChannelListMessenger.d.ts.map +1 -1
  50. package/dist/components/ChannelList/ChannelListMessenger.js +3 -1
  51. package/dist/components/ChannelList/hooks/usePaginatedChannels.d.ts.map +1 -1
  52. package/dist/components/ChannelList/hooks/usePaginatedChannels.js +1 -3
  53. package/dist/components/ChannelPreview/ChannelPreview.d.ts +1 -1
  54. package/dist/components/ChannelPreview/ChannelPreview.d.ts.map +1 -1
  55. package/dist/components/ChannelPreview/ChannelPreview.js +11 -8
  56. package/dist/components/ChannelPreview/ChannelPreviewMessenger.d.ts +2 -1
  57. package/dist/components/ChannelPreview/ChannelPreviewMessenger.d.ts.map +1 -1
  58. package/dist/components/ChannelPreview/utils.d.ts +2 -1
  59. package/dist/components/ChannelPreview/utils.d.ts.map +1 -1
  60. package/dist/components/ChannelSearch/ChannelSearch.d.ts +1 -1
  61. package/dist/components/ChannelSearch/ChannelSearch.d.ts.map +1 -1
  62. package/dist/components/ChannelSearch/SearchBar.d.ts +1 -1
  63. package/dist/components/ChannelSearch/SearchBar.d.ts.map +1 -1
  64. package/dist/components/ChannelSearch/SearchInput.d.ts +1 -1
  65. package/dist/components/ChannelSearch/SearchInput.d.ts.map +1 -1
  66. package/dist/components/ChannelSearch/SearchResults.d.ts +1 -1
  67. package/dist/components/ChannelSearch/SearchResults.d.ts.map +1 -1
  68. package/dist/components/ChannelSearch/SearchResults.js +2 -1
  69. package/dist/components/ChannelSearch/icons.d.ts +5 -4
  70. package/dist/components/ChannelSearch/icons.d.ts.map +1 -1
  71. package/dist/components/Chat/Chat.d.ts +1 -1
  72. package/dist/components/Chat/Chat.d.ts.map +1 -1
  73. package/dist/components/ChatAutoComplete/ChatAutoComplete.d.ts +1 -1
  74. package/dist/components/ChatAutoComplete/ChatAutoComplete.d.ts.map +1 -1
  75. package/dist/components/ChatDown/ChatDown.d.ts +1 -1
  76. package/dist/components/ChatDown/ChatDown.d.ts.map +1 -1
  77. package/dist/components/ChatDown/icons.d.ts +2 -1
  78. package/dist/components/ChatDown/icons.d.ts.map +1 -1
  79. package/dist/components/CommandItem/CommandItem.d.ts +2 -2
  80. package/dist/components/CommandItem/CommandItem.d.ts.map +1 -1
  81. package/dist/components/DateSeparator/DateSeparator.d.ts +2 -1
  82. package/dist/components/DateSeparator/DateSeparator.d.ts.map +1 -1
  83. package/dist/components/Emojis/EmojiPicker.d.ts +1 -1
  84. package/dist/components/Emojis/EmojiPicker.d.ts.map +1 -1
  85. package/dist/components/Emojis/EmojiPicker.js +1 -1
  86. package/dist/components/Emojis/index.cjs.js +4 -4
  87. package/dist/components/EmoticonItem/EmoticonItem.d.ts +2 -1
  88. package/dist/components/EmoticonItem/EmoticonItem.d.ts.map +1 -1
  89. package/dist/components/EmptyStateIndicator/EmptyStateIndicator.d.ts +2 -1
  90. package/dist/components/EmptyStateIndicator/EmptyStateIndicator.d.ts.map +1 -1
  91. package/dist/components/EmptyStateIndicator/icons.d.ts +2 -1
  92. package/dist/components/EmptyStateIndicator/icons.d.ts.map +1 -1
  93. package/dist/components/EventComponent/EventComponent.d.ts +1 -1
  94. package/dist/components/EventComponent/EventComponent.d.ts.map +1 -1
  95. package/dist/components/Gallery/BaseImage.d.ts +2 -2
  96. package/dist/components/Gallery/BaseImage.d.ts.map +1 -1
  97. package/dist/components/Gallery/Gallery.d.ts +2 -2
  98. package/dist/components/Gallery/Gallery.d.ts.map +1 -1
  99. package/dist/components/Gallery/Image.d.ts +2 -2
  100. package/dist/components/Gallery/Image.d.ts.map +1 -1
  101. package/dist/components/Gallery/ModalGallery.d.ts +2 -1
  102. package/dist/components/Gallery/ModalGallery.d.ts.map +1 -1
  103. package/dist/components/LoadMore/LoadMoreButton.d.ts +1 -1
  104. package/dist/components/LoadMore/LoadMoreButton.d.ts.map +1 -1
  105. package/dist/components/LoadMore/LoadMoreButton.js +1 -1
  106. package/dist/components/LoadMore/LoadMorePaginator.d.ts +2 -2
  107. package/dist/components/LoadMore/LoadMorePaginator.d.ts.map +1 -1
  108. package/dist/components/Loading/LoadingChannels.d.ts +1 -1
  109. package/dist/components/Loading/LoadingChannels.d.ts.map +1 -1
  110. package/dist/components/Loading/LoadingErrorIndicator.d.ts +2 -1
  111. package/dist/components/Loading/LoadingErrorIndicator.d.ts.map +1 -1
  112. package/dist/components/Loading/LoadingIndicator.d.ts +2 -1
  113. package/dist/components/Loading/LoadingIndicator.d.ts.map +1 -1
  114. package/dist/components/MML/MML.d.ts +2 -1
  115. package/dist/components/MML/MML.d.ts.map +1 -1
  116. package/dist/components/Message/FixedHeightMessage.d.ts +2 -1
  117. package/dist/components/Message/FixedHeightMessage.d.ts.map +1 -1
  118. package/dist/components/Message/Message.d.ts +2 -1
  119. package/dist/components/Message/Message.d.ts.map +1 -1
  120. package/dist/components/Message/MessageDeleted.d.ts +2 -1
  121. package/dist/components/Message/MessageDeleted.d.ts.map +1 -1
  122. package/dist/components/Message/MessageErrorText.d.ts +2 -2
  123. package/dist/components/Message/MessageErrorText.d.ts.map +1 -1
  124. package/dist/components/Message/MessageOptions.d.ts +1 -1
  125. package/dist/components/Message/MessageOptions.d.ts.map +1 -1
  126. package/dist/components/Message/MessageOptions.js +5 -3
  127. package/dist/components/Message/MessageRepliesCountButton.d.ts +2 -2
  128. package/dist/components/Message/MessageRepliesCountButton.d.ts.map +1 -1
  129. package/dist/components/Message/MessageSimple.d.ts +2 -1
  130. package/dist/components/Message/MessageSimple.d.ts.map +1 -1
  131. package/dist/components/Message/MessageStatus.d.ts +1 -1
  132. package/dist/components/Message/MessageStatus.d.ts.map +1 -1
  133. package/dist/components/Message/MessageText.d.ts +2 -1
  134. package/dist/components/Message/MessageText.d.ts.map +1 -1
  135. package/dist/components/Message/MessageTimestamp.d.ts +2 -1
  136. package/dist/components/Message/MessageTimestamp.d.ts.map +1 -1
  137. package/dist/components/Message/QuotedMessage.d.ts +2 -1
  138. package/dist/components/Message/QuotedMessage.d.ts.map +1 -1
  139. package/dist/components/Message/icons.d.ts +11 -10
  140. package/dist/components/Message/icons.d.ts.map +1 -1
  141. package/dist/components/Message/renderText/componentRenderers/Anchor.d.ts +2 -2
  142. package/dist/components/Message/renderText/componentRenderers/Anchor.d.ts.map +1 -1
  143. package/dist/components/Message/renderText/componentRenderers/Emoji.d.ts +2 -1
  144. package/dist/components/Message/renderText/componentRenderers/Emoji.d.ts.map +1 -1
  145. package/dist/components/Message/renderText/componentRenderers/Mention.d.ts +2 -2
  146. package/dist/components/Message/renderText/componentRenderers/Mention.d.ts.map +1 -1
  147. package/dist/components/Message/renderText/renderText.d.ts +2 -2
  148. package/dist/components/Message/renderText/renderText.d.ts.map +1 -1
  149. package/dist/components/MessageActions/CustomMessageActionsList.d.ts +2 -1
  150. package/dist/components/MessageActions/CustomMessageActionsList.d.ts.map +1 -1
  151. package/dist/components/MessageActions/MessageActions.d.ts +1 -1
  152. package/dist/components/MessageActions/MessageActions.d.ts.map +1 -1
  153. package/dist/components/MessageActions/MessageActions.js +3 -1
  154. package/dist/components/MessageActions/MessageActionsBox.d.ts +1 -1
  155. package/dist/components/MessageActions/MessageActionsBox.d.ts.map +1 -1
  156. package/dist/components/MessageActions/MessageActionsBox.js +1 -1
  157. package/dist/components/MessageBounce/MessageBounceModal.d.ts +2 -2
  158. package/dist/components/MessageBounce/MessageBounceModal.d.ts.map +1 -1
  159. package/dist/components/MessageBounce/MessageBouncePrompt.d.ts +2 -1
  160. package/dist/components/MessageBounce/MessageBouncePrompt.d.ts.map +1 -1
  161. package/dist/components/MessageInput/AttachmentPreviewList.d.ts +3 -2
  162. package/dist/components/MessageInput/AttachmentPreviewList.d.ts.map +1 -1
  163. package/dist/components/MessageInput/CooldownTimer.d.ts +1 -1
  164. package/dist/components/MessageInput/CooldownTimer.d.ts.map +1 -1
  165. package/dist/components/MessageInput/DefaultTriggerProvider.d.ts +1 -1
  166. package/dist/components/MessageInput/DefaultTriggerProvider.d.ts.map +1 -1
  167. package/dist/components/MessageInput/DropzoneProvider.d.ts +1 -1
  168. package/dist/components/MessageInput/DropzoneProvider.d.ts.map +1 -1
  169. package/dist/components/MessageInput/EditMessageForm.d.ts +2 -1
  170. package/dist/components/MessageInput/EditMessageForm.d.ts.map +1 -1
  171. package/dist/components/MessageInput/LinkPreviewList.d.ts +2 -1
  172. package/dist/components/MessageInput/LinkPreviewList.d.ts.map +1 -1
  173. package/dist/components/MessageInput/MessageInput.d.ts +1 -1
  174. package/dist/components/MessageInput/MessageInput.d.ts.map +1 -1
  175. package/dist/components/MessageInput/MessageInputFlat.d.ts +2 -1
  176. package/dist/components/MessageInput/MessageInputFlat.d.ts.map +1 -1
  177. package/dist/components/MessageInput/MessageInputFlat.js +1 -1
  178. package/dist/components/MessageInput/MessageInputSmall.d.ts +2 -1
  179. package/dist/components/MessageInput/MessageInputSmall.d.ts.map +1 -1
  180. package/dist/components/MessageInput/QuotedMessagePreview.d.ts +3 -2
  181. package/dist/components/MessageInput/QuotedMessagePreview.d.ts.map +1 -1
  182. package/dist/components/MessageInput/QuotedMessagePreview.js +1 -1
  183. package/dist/components/MessageInput/UploadsPreview.d.ts +2 -1
  184. package/dist/components/MessageInput/UploadsPreview.d.ts.map +1 -1
  185. package/dist/components/MessageInput/icons.d.ts +14 -14
  186. package/dist/components/MessageInput/icons.d.ts.map +1 -1
  187. package/dist/components/MessageInput/icons.js +2 -1
  188. package/dist/components/MessageList/ConnectionStatus.d.ts +1 -1
  189. package/dist/components/MessageList/ConnectionStatus.d.ts.map +1 -1
  190. package/dist/components/MessageList/CustomNotification.d.ts +2 -2
  191. package/dist/components/MessageList/CustomNotification.d.ts.map +1 -1
  192. package/dist/components/MessageList/GiphyPreviewMessage.d.ts +2 -1
  193. package/dist/components/MessageList/GiphyPreviewMessage.d.ts.map +1 -1
  194. package/dist/components/MessageList/MessageList.d.ts +7 -3
  195. package/dist/components/MessageList/MessageList.d.ts.map +1 -1
  196. package/dist/components/MessageList/MessageList.js +3 -2
  197. package/dist/components/MessageList/MessageListMainPanel.d.ts +2 -1
  198. package/dist/components/MessageList/MessageListMainPanel.d.ts.map +1 -1
  199. package/dist/components/MessageList/MessageListNotifications.d.ts +1 -1
  200. package/dist/components/MessageList/MessageListNotifications.d.ts.map +1 -1
  201. package/dist/components/MessageList/MessageNotification.d.ts +1 -1
  202. package/dist/components/MessageList/MessageNotification.d.ts.map +1 -1
  203. package/dist/components/MessageList/ScrollToBottomButton.d.ts +2 -1
  204. package/dist/components/MessageList/ScrollToBottomButton.d.ts.map +1 -1
  205. package/dist/components/MessageList/ScrollToBottomButton.js +44 -3
  206. package/dist/components/MessageList/UnreadMessagesNotification.d.ts +12 -1
  207. package/dist/components/MessageList/UnreadMessagesNotification.d.ts.map +1 -1
  208. package/dist/components/MessageList/UnreadMessagesNotification.js +4 -2
  209. package/dist/components/MessageList/UnreadMessagesSeparator.d.ts +9 -1
  210. package/dist/components/MessageList/UnreadMessagesSeparator.d.ts.map +1 -1
  211. package/dist/components/MessageList/UnreadMessagesSeparator.js +2 -2
  212. package/dist/components/MessageList/VirtualizedMessageList.d.ts +7 -3
  213. package/dist/components/MessageList/VirtualizedMessageList.d.ts.map +1 -1
  214. package/dist/components/MessageList/VirtualizedMessageList.js +4 -3
  215. package/dist/components/MessageList/VirtualizedMessageListComponents.d.ts +6 -6
  216. package/dist/components/MessageList/VirtualizedMessageListComponents.d.ts.map +1 -1
  217. package/dist/components/MessageList/hooks/MessageList/useUnreadMessagesNotification.d.ts +2 -1
  218. package/dist/components/MessageList/hooks/MessageList/useUnreadMessagesNotification.d.ts.map +1 -1
  219. package/dist/components/MessageList/hooks/MessageList/useUnreadMessagesNotification.js +27 -13
  220. package/dist/components/MessageList/hooks/VirtualizedMessageList/useUnreadMessagesNotificationVirtualized.d.ts +3 -1
  221. package/dist/components/MessageList/hooks/VirtualizedMessageList/useUnreadMessagesNotificationVirtualized.d.ts.map +1 -1
  222. package/dist/components/MessageList/hooks/VirtualizedMessageList/useUnreadMessagesNotificationVirtualized.js +13 -7
  223. package/dist/components/MessageList/hooks/useMarkRead.d.ts +3 -2
  224. package/dist/components/MessageList/hooks/useMarkRead.d.ts.map +1 -1
  225. package/dist/components/MessageList/hooks/useMarkRead.js +65 -11
  226. package/dist/components/MessageList/icons.d.ts +4 -3
  227. package/dist/components/MessageList/icons.d.ts.map +1 -1
  228. package/dist/components/MessageList/renderMessages.d.ts +2 -2
  229. package/dist/components/MessageList/renderMessages.d.ts.map +1 -1
  230. package/dist/components/Modal/Modal.d.ts +1 -1
  231. package/dist/components/Modal/Modal.d.ts.map +1 -1
  232. package/dist/components/Modal/Modal.js +9 -7
  233. package/dist/components/Modal/icons.d.ts +2 -1
  234. package/dist/components/Modal/icons.d.ts.map +1 -1
  235. package/dist/components/ReactFileUtilities/FileIcon/FileIcon.d.ts +1 -1
  236. package/dist/components/ReactFileUtilities/FileIcon/FileIcon.d.ts.map +1 -1
  237. package/dist/components/ReactFileUtilities/FileIcon/FileIconSet/v1.d.ts +12 -12
  238. package/dist/components/ReactFileUtilities/FileIcon/FileIconSet/v1.d.ts.map +1 -1
  239. package/dist/components/ReactFileUtilities/FileIcon/FileIconSet/v2.d.ts +18 -18
  240. package/dist/components/ReactFileUtilities/FileIcon/FileIconSet/v2.d.ts.map +1 -1
  241. package/dist/components/ReactFileUtilities/FilePreviewer.d.ts +2 -1
  242. package/dist/components/ReactFileUtilities/FilePreviewer.d.ts.map +1 -1
  243. package/dist/components/ReactFileUtilities/FileUploadButton.d.ts +2 -2
  244. package/dist/components/ReactFileUtilities/FileUploadButton.d.ts.map +1 -1
  245. package/dist/components/ReactFileUtilities/FileUploadButton.js +3 -1
  246. package/dist/components/ReactFileUtilities/IconButton.d.ts +2 -2
  247. package/dist/components/ReactFileUtilities/IconButton.d.ts.map +1 -1
  248. package/dist/components/ReactFileUtilities/IconButton.js +3 -1
  249. package/dist/components/ReactFileUtilities/ImageDropzone.d.ts +2 -2
  250. package/dist/components/ReactFileUtilities/ImageDropzone.d.ts.map +1 -1
  251. package/dist/components/ReactFileUtilities/ImagePreviewer.d.ts +2 -2
  252. package/dist/components/ReactFileUtilities/ImagePreviewer.d.ts.map +1 -1
  253. package/dist/components/ReactFileUtilities/ImagePreviewer.js +3 -1
  254. package/dist/components/ReactFileUtilities/ImageUploadButton.d.ts +2 -2
  255. package/dist/components/ReactFileUtilities/ImageUploadButton.d.ts.map +1 -1
  256. package/dist/components/ReactFileUtilities/ImageUploadButton.js +3 -1
  257. package/dist/components/ReactFileUtilities/LoadingIndicator.d.ts +2 -1
  258. package/dist/components/ReactFileUtilities/LoadingIndicator.d.ts.map +1 -1
  259. package/dist/components/ReactFileUtilities/Thumbnail.d.ts +2 -2
  260. package/dist/components/ReactFileUtilities/Thumbnail.d.ts.map +1 -1
  261. package/dist/components/ReactFileUtilities/ThumbnailPlaceholder.d.ts +2 -1
  262. package/dist/components/ReactFileUtilities/ThumbnailPlaceholder.d.ts.map +1 -1
  263. package/dist/components/ReactFileUtilities/UploadButton.d.ts +2 -2
  264. package/dist/components/ReactFileUtilities/UploadButton.d.ts.map +1 -1
  265. package/dist/components/ReactFileUtilities/icons/AttachmentIcon.d.ts +2 -1
  266. package/dist/components/ReactFileUtilities/icons/AttachmentIcon.d.ts.map +1 -1
  267. package/dist/components/ReactFileUtilities/icons/CloseIcon.d.ts +2 -1
  268. package/dist/components/ReactFileUtilities/icons/CloseIcon.d.ts.map +1 -1
  269. package/dist/components/ReactFileUtilities/icons/FilePlaceholderIcon.d.ts +2 -2
  270. package/dist/components/ReactFileUtilities/icons/FilePlaceholderIcon.d.ts.map +1 -1
  271. package/dist/components/ReactFileUtilities/icons/PictureIcon.d.ts +2 -1
  272. package/dist/components/ReactFileUtilities/icons/PictureIcon.d.ts.map +1 -1
  273. package/dist/components/ReactFileUtilities/icons/RetryIcon.d.ts +2 -1
  274. package/dist/components/ReactFileUtilities/icons/RetryIcon.d.ts.map +1 -1
  275. package/dist/components/Reactions/ReactionsList.d.ts +2 -1
  276. package/dist/components/Reactions/ReactionsList.d.ts.map +1 -1
  277. package/dist/components/Reactions/ReactionsList.js +3 -1
  278. package/dist/components/Reactions/ReactionsListModal.d.ts +2 -2
  279. package/dist/components/Reactions/ReactionsListModal.d.ts.map +1 -1
  280. package/dist/components/Reactions/ReactionsListModal.js +2 -2
  281. package/dist/components/Reactions/SimpleReactionsList.d.ts +2 -1
  282. package/dist/components/Reactions/SimpleReactionsList.d.ts.map +1 -1
  283. package/dist/components/Reactions/SpriteImage.d.ts +2 -1
  284. package/dist/components/Reactions/SpriteImage.d.ts.map +1 -1
  285. package/dist/components/Reactions/SpriteImage.js +3 -17
  286. package/dist/components/Reactions/StreamEmoji.d.ts +1 -1
  287. package/dist/components/Reactions/StreamEmoji.d.ts.map +1 -1
  288. package/dist/components/Reactions/StreamEmoji.js +3 -1
  289. package/dist/components/Reactions/hooks/useFetchReactions.js +2 -2
  290. package/dist/components/SafeAnchor/SafeAnchor.d.ts +2 -2
  291. package/dist/components/SafeAnchor/SafeAnchor.d.ts.map +1 -1
  292. package/dist/components/SafeAnchor/SafeAnchor.js +3 -1
  293. package/dist/components/Thread/Thread.d.ts +1 -1
  294. package/dist/components/Thread/Thread.d.ts.map +1 -1
  295. package/dist/components/Thread/ThreadHead.d.ts +2 -1
  296. package/dist/components/Thread/ThreadHead.d.ts.map +1 -1
  297. package/dist/components/Thread/ThreadHeader.d.ts +1 -1
  298. package/dist/components/Thread/ThreadHeader.d.ts.map +1 -1
  299. package/dist/components/Thread/ThreadHeader.js +1 -1
  300. package/dist/components/Thread/ThreadStart.d.ts +2 -1
  301. package/dist/components/Thread/ThreadStart.d.ts.map +1 -1
  302. package/dist/components/Thread/icons.d.ts +2 -1
  303. package/dist/components/Thread/icons.d.ts.map +1 -1
  304. package/dist/components/Tooltip/Tooltip.d.ts +2 -2
  305. package/dist/components/Tooltip/Tooltip.d.ts.map +1 -1
  306. package/dist/components/TypingIndicator/TypingIndicator.d.ts +1 -1
  307. package/dist/components/TypingIndicator/TypingIndicator.d.ts.map +1 -1
  308. package/dist/components/UserItem/UserItem.d.ts +1 -1
  309. package/dist/components/UserItem/UserItem.d.ts.map +1 -1
  310. package/dist/components/Window/Window.d.ts +1 -1
  311. package/dist/components/Window/Window.d.ts.map +1 -1
  312. package/dist/context/ChannelActionContext.d.ts +4 -3
  313. package/dist/context/ChannelActionContext.d.ts.map +1 -1
  314. package/dist/context/ChannelListContext.d.ts +1 -1
  315. package/dist/context/ChannelListContext.d.ts.map +1 -1
  316. package/dist/context/ChannelStateContext.d.ts +2 -2
  317. package/dist/context/ChannelStateContext.d.ts.map +1 -1
  318. package/dist/context/ChatContext.d.ts +2 -2
  319. package/dist/context/ChatContext.d.ts.map +1 -1
  320. package/dist/context/ComponentContext.d.ts +2 -2
  321. package/dist/context/ComponentContext.d.ts.map +1 -1
  322. package/dist/context/MessageBounceContext.d.ts +2 -2
  323. package/dist/context/MessageBounceContext.d.ts.map +1 -1
  324. package/dist/context/MessageContext.d.ts +2 -2
  325. package/dist/context/MessageContext.d.ts.map +1 -1
  326. package/dist/context/MessageInputContext.d.ts +1 -1
  327. package/dist/context/MessageInputContext.d.ts.map +1 -1
  328. package/dist/context/MessageListContext.d.ts +1 -1
  329. package/dist/context/MessageListContext.d.ts.map +1 -1
  330. package/dist/context/TranslationContext.d.ts +2 -2
  331. package/dist/context/TranslationContext.d.ts.map +1 -1
  332. package/dist/context/TypingContext.d.ts +2 -2
  333. package/dist/context/TypingContext.d.ts.map +1 -1
  334. package/dist/css/v2/index.css +1 -1
  335. package/dist/css/v2/index.layout.css +1 -1
  336. package/dist/i18n/Streami18n.d.ts +19 -0
  337. package/dist/i18n/Streami18n.d.ts.map +1 -1
  338. package/dist/i18n/de.json +19 -0
  339. package/dist/i18n/en.json +19 -0
  340. package/dist/i18n/es.json +19 -0
  341. package/dist/i18n/fr.json +19 -0
  342. package/dist/i18n/hi.json +19 -0
  343. package/dist/i18n/it.json +19 -0
  344. package/dist/i18n/ja.json +19 -0
  345. package/dist/i18n/ko.json +19 -0
  346. package/dist/i18n/nl.json +19 -0
  347. package/dist/i18n/pt.json +19 -0
  348. package/dist/i18n/ru.json +19 -0
  349. package/dist/i18n/tr.json +19 -0
  350. package/dist/index.cjs.js +117 -40
  351. package/dist/scss/v2/MessageReactions/MessageReactions-layout.scss +15 -1
  352. package/dist/version.d.ts +1 -1
  353. package/dist/version.js +1 -1
  354. package/package.json +7 -6
@@ -2,11 +2,13 @@ import React from 'react';
2
2
  import { CloseIcon } from './icons';
3
3
  import { useChannelActionContext, useTranslationContext } from '../../context';
4
4
  export var UnreadMessagesNotification = function (_a) {
5
- var queryMessageLimit = _a.queryMessageLimit, unreadCount = _a.unreadCount;
5
+ var queryMessageLimit = _a.queryMessageLimit, showCount = _a.showCount, unreadCount = _a.unreadCount;
6
6
  var _b = useChannelActionContext('UnreadMessagesNotification'), jumpToFirstUnreadMessage = _b.jumpToFirstUnreadMessage, markRead = _b.markRead;
7
7
  var t = useTranslationContext('UnreadMessagesNotification').t;
8
8
  return (React.createElement("div", { className: 'str-chat__unread-messages-notification', "data-testid": 'unread-messages-notification' },
9
- React.createElement("button", { onClick: function () { return jumpToFirstUnreadMessage(queryMessageLimit); } }, t('{{count}} unread', { count: unreadCount !== null && unreadCount !== void 0 ? unreadCount : 0 })),
9
+ React.createElement("button", { onClick: function () { return jumpToFirstUnreadMessage(queryMessageLimit); } }, unreadCount && showCount
10
+ ? t('{{count}} unread', { count: unreadCount !== null && unreadCount !== void 0 ? unreadCount : 0 })
11
+ : t('Unread messages')),
10
12
  React.createElement("button", { onClick: function () { return markRead(); } },
11
13
  React.createElement(CloseIcon, null))));
12
14
  };
@@ -1,6 +1,14 @@
1
+ import React from 'react';
1
2
  export declare const UNREAD_MESSAGE_SEPARATOR_CLASS = "str-chat__unread-messages-separator";
2
3
  export type UnreadMessagesSeparatorProps = {
4
+ /**
5
+ * Configuration parameter to determine, whether the unread count is to be shown on the component. Disabled by default.
6
+ */
7
+ showCount?: boolean;
8
+ /**
9
+ * The count of unread messages to be displayed if enabled.
10
+ */
3
11
  unreadCount?: number;
4
12
  };
5
- export declare const UnreadMessagesSeparator: ({ unreadCount }: UnreadMessagesSeparatorProps) => JSX.Element;
13
+ export declare const UnreadMessagesSeparator: ({ showCount, unreadCount, }: UnreadMessagesSeparatorProps) => React.JSX.Element;
6
14
  //# sourceMappingURL=UnreadMessagesSeparator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"UnreadMessagesSeparator.d.ts","sourceRoot":"","sources":["../../../src/components/MessageList/UnreadMessagesSeparator.tsx"],"names":[],"mappings":"AAGA,eAAO,MAAM,8BAA8B,wCAAwC,CAAC;AAEpF,MAAM,MAAM,4BAA4B,GAAG;IACzC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,eAAO,MAAM,uBAAuB,oBAAqB,4BAA4B,gBASpF,CAAC"}
1
+ {"version":3,"file":"UnreadMessagesSeparator.d.ts","sourceRoot":"","sources":["../../../src/components/MessageList/UnreadMessagesSeparator.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,eAAO,MAAM,8BAA8B,wCAAwC,CAAC;AAEpF,MAAM,MAAM,4BAA4B,GAAG;IACzC;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,eAAO,MAAM,uBAAuB,gCAGjC,4BAA4B,sBAS9B,CAAC"}
@@ -2,9 +2,9 @@ import React from 'react';
2
2
  import { useTranslationContext } from '../../context';
3
3
  export var UNREAD_MESSAGE_SEPARATOR_CLASS = 'str-chat__unread-messages-separator';
4
4
  export var UnreadMessagesSeparator = function (_a) {
5
- var unreadCount = _a.unreadCount;
5
+ var showCount = _a.showCount, unreadCount = _a.unreadCount;
6
6
  var t = useTranslationContext('UnreadMessagesSeparator').t;
7
- return (React.createElement("div", { className: UNREAD_MESSAGE_SEPARATOR_CLASS, "data-testid": 'unread-messages-separator' }, unreadCount
7
+ return (React.createElement("div", { className: UNREAD_MESSAGE_SEPARATOR_CLASS, "data-testid": 'unread-messages-separator' }, unreadCount && showCount
8
8
  ? t('unreadMessagesSeparatorText', { count: unreadCount })
9
9
  : t('Unread messages')));
10
10
  };
@@ -74,8 +74,6 @@ export type VirtualizedMessageListProps<StreamChatGenerics extends DefaultStream
74
74
  loadMore?: ChannelActionContextValue['loadMore'] | (() => Promise<void>);
75
75
  /** Function called when new messages are to be loaded, defaults to function stored in [ChannelActionContext](https://getstream.io/chat/docs/sdk/react/contexts/channel_action_context/) */
76
76
  loadMoreNewer?: ChannelActionContextValue['loadMore'] | (() => Promise<void>);
77
- /** When enabled, the channel will be marked read when a user scrolls to the bottom. Ignored when scrolled to the bottom of a thread message list. */
78
- markReadOnScrolledToBottom?: boolean;
79
77
  /** Custom UI component to display a message, defaults to and accepts same props as [MessageSimple](https://github.com/GetStream/stream-chat-react/blob/master/src/components/Message/MessageSimple.tsx) */
80
78
  Message?: React.ComponentType<MessageUIComponentProps<StreamChatGenerics>>;
81
79
  /** The limit to use when paginating messages */
@@ -111,6 +109,12 @@ export type VirtualizedMessageListProps<StreamChatGenerics extends DefaultStream
111
109
  separateGiphyPreview?: boolean;
112
110
  /** If true, group messages belonging to the same user, otherwise show each message individually */
113
111
  shouldGroupByUser?: boolean;
112
+ /**
113
+ * The floating notification informing about unread messages will be shown when the
114
+ * UnreadMessagesSeparator is not visible. The default is false, that means the notification
115
+ * is shown only when viewing unread messages.
116
+ */
117
+ showUnreadNotificationAlways?: boolean;
114
118
  /** The scrollTo behavior when new messages appear. Use `"smooth"` for regular chat channels, and `"auto"` (which results in instant scroll to bottom) if you expect high throughput. */
115
119
  stickToBottomScrollBehavior?: 'smooth' | 'auto';
116
120
  /** stops the list from autoscrolling when new messages are loaded */
@@ -122,6 +126,6 @@ export type VirtualizedMessageListProps<StreamChatGenerics extends DefaultStream
122
126
  * The VirtualizedMessageList component renders a list of messages in a virtualized list.
123
127
  * It is a consumer of the React contexts set in [Channel](https://github.com/GetStream/stream-chat-react/blob/master/src/components/Channel/Channel.tsx).
124
128
  */
125
- export declare function VirtualizedMessageList<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(props: VirtualizedMessageListProps<StreamChatGenerics>): JSX.Element;
129
+ export declare function VirtualizedMessageList<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(props: VirtualizedMessageListProps<StreamChatGenerics>): React.JSX.Element;
126
130
  export {};
127
131
  //# sourceMappingURL=VirtualizedMessageList.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"VirtualizedMessageList.d.ts","sourceRoot":"","sources":["../../../src/components/MessageList/VirtualizedMessageList.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"VirtualizedMessageList.d.ts","sourceRoot":"","sources":["../../../src/components/MessageList/VirtualizedMessageList.tsx"],"names":[],"mappings":"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"}
@@ -47,11 +47,11 @@ function calculateInitialTopMostItemIndex(messages, highlightedMessageId) {
47
47
  }
48
48
  var VirtualizedMessageListWithContext = function (props) {
49
49
  var _a, _b;
50
- var additionalMessageInputProps = props.additionalMessageInputProps, _c = props.additionalVirtuosoProps, additionalVirtuosoProps = _c === void 0 ? {} : _c, channel = props.channel, channelUnreadUiState = props.channelUnreadUiState, closeReactionSelectorOnClick = props.closeReactionSelectorOnClick, customMessageActions = props.customMessageActions, customMessageRenderer = props.customMessageRenderer, defaultItemHeight = props.defaultItemHeight, _d = props.disableDateSeparator, disableDateSeparator = _d === void 0 ? true : _d, groupStyles = props.groupStyles, hasMoreNewer = props.hasMoreNewer, head = props.head, _e = props.hideDeletedMessages, hideDeletedMessages = _e === void 0 ? false : _e, _f = props.hideNewMessageSeparator, hideNewMessageSeparator = _f === void 0 ? false : _f, highlightedMessageId = props.highlightedMessageId, jumpToLatestMessage = props.jumpToLatestMessage, loadingMore = props.loadingMore, loadMore = props.loadMore, loadMoreNewer = props.loadMoreNewer, markReadOnScrolledToBottom = props.markReadOnScrolledToBottom, MessageUIComponentFromProps = props.Message, messageActions = props.messageActions, _g = props.messageLimit, messageLimit = _g === void 0 ? 100 : _g, messages = props.messages, notifications = props.notifications,
50
+ var additionalMessageInputProps = props.additionalMessageInputProps, _c = props.additionalVirtuosoProps, additionalVirtuosoProps = _c === void 0 ? {} : _c, channel = props.channel, channelUnreadUiState = props.channelUnreadUiState, closeReactionSelectorOnClick = props.closeReactionSelectorOnClick, customMessageActions = props.customMessageActions, customMessageRenderer = props.customMessageRenderer, defaultItemHeight = props.defaultItemHeight, _d = props.disableDateSeparator, disableDateSeparator = _d === void 0 ? true : _d, groupStyles = props.groupStyles, hasMoreNewer = props.hasMoreNewer, head = props.head, _e = props.hideDeletedMessages, hideDeletedMessages = _e === void 0 ? false : _e, _f = props.hideNewMessageSeparator, hideNewMessageSeparator = _f === void 0 ? false : _f, highlightedMessageId = props.highlightedMessageId, jumpToLatestMessage = props.jumpToLatestMessage, loadingMore = props.loadingMore, loadMore = props.loadMore, loadMoreNewer = props.loadMoreNewer, MessageUIComponentFromProps = props.Message, messageActions = props.messageActions, _g = props.messageLimit, messageLimit = _g === void 0 ? 100 : _g, messages = props.messages, notifications = props.notifications,
51
51
  // TODO: refactor to scrollSeekPlaceHolderConfiguration and components.ScrollSeekPlaceholder, like the Virtuoso Component
52
52
  _h = props.overscan,
53
53
  // TODO: refactor to scrollSeekPlaceHolderConfiguration and components.ScrollSeekPlaceholder, like the Virtuoso Component
54
- overscan = _h === void 0 ? 0 : _h, read = props.read, _j = props.returnAllReadData, returnAllReadData = _j === void 0 ? false : _j, scrollSeekPlaceHolder = props.scrollSeekPlaceHolder, _k = props.scrollToLatestMessageOnFocus, scrollToLatestMessageOnFocus = _k === void 0 ? false : _k, _l = props.separateGiphyPreview, separateGiphyPreview = _l === void 0 ? false : _l, _m = props.shouldGroupByUser, shouldGroupByUser = _m === void 0 ? false : _m, _o = props.stickToBottomScrollBehavior, stickToBottomScrollBehavior = _o === void 0 ? 'smooth' : _o, suppressAutoscroll = props.suppressAutoscroll, threadList = props.threadList;
54
+ overscan = _h === void 0 ? 0 : _h, read = props.read, _j = props.returnAllReadData, returnAllReadData = _j === void 0 ? false : _j, scrollSeekPlaceHolder = props.scrollSeekPlaceHolder, _k = props.scrollToLatestMessageOnFocus, scrollToLatestMessageOnFocus = _k === void 0 ? false : _k, _l = props.separateGiphyPreview, separateGiphyPreview = _l === void 0 ? false : _l, _m = props.shouldGroupByUser, shouldGroupByUser = _m === void 0 ? false : _m, showUnreadNotificationAlways = props.showUnreadNotificationAlways, _o = props.stickToBottomScrollBehavior, stickToBottomScrollBehavior = _o === void 0 ? 'smooth' : _o, suppressAutoscroll = props.suppressAutoscroll, threadList = props.threadList;
55
55
  var virtuosoComponentsFromProps = additionalVirtuosoProps.components, overridingVirtuosoProps = __rest(additionalVirtuosoProps, ["components"]);
56
56
  // Stops errors generated from react-virtuoso to bubble up
57
57
  // to Sentry or other tracking tools.
@@ -63,6 +63,7 @@ var VirtualizedMessageListWithContext = function (props) {
63
63
  var lastRead = useMemo(function () { var _a; return (_a = channel.lastRead) === null || _a === void 0 ? void 0 : _a.call(channel); }, [channel]);
64
64
  var _w = useUnreadMessagesNotificationVirtualized({
65
65
  lastRead: channelUnreadUiState === null || channelUnreadUiState === void 0 ? void 0 : channelUnreadUiState.last_read,
66
+ showAlways: !!showUnreadNotificationAlways,
66
67
  unreadCount: (_a = channelUnreadUiState === null || channelUnreadUiState === void 0 ? void 0 : channelUnreadUiState.unread_messages) !== null && _a !== void 0 ? _a : 0,
67
68
  }), showUnreadMessagesNotification = _w.show, toggleShowUnreadMessagesNotification = _w.toggleShowUnreadMessagesNotification;
68
69
  var _x = useGiphyPreview(separateGiphyPreview), giphyPreviewMessage = _x.giphyPreviewMessage, setGiphyPreviewMessage = _x.setGiphyPreviewMessage;
@@ -120,9 +121,9 @@ var VirtualizedMessageListWithContext = function (props) {
120
121
  var _y = useNewMessageNotification(processedMessages, client.userID, hasMoreNewer), atBottom = _y.atBottom, isMessageListScrolledToBottom = _y.isMessageListScrolledToBottom, newMessagesNotification = _y.newMessagesNotification, setIsMessageListScrolledToBottom = _y.setIsMessageListScrolledToBottom, setNewMessagesNotification = _y.setNewMessagesNotification;
121
122
  useMarkRead({
122
123
  isMessageListScrolledToBottom: isMessageListScrolledToBottom,
123
- markReadOnScrolledToBottom: markReadOnScrolledToBottom,
124
124
  messageListIsThread: !!threadList,
125
125
  unreadCount: (_b = channelUnreadUiState === null || channelUnreadUiState === void 0 ? void 0 : channelUnreadUiState.unread_messages) !== null && _b !== void 0 ? _b : 0,
126
+ wasMarkedUnread: !!(channelUnreadUiState === null || channelUnreadUiState === void 0 ? void 0 : channelUnreadUiState.first_unread_message_id),
126
127
  });
127
128
  var scrollToBottom = useCallback(function () { return __awaiter(void 0, void 0, void 0, function () {
128
129
  return __generator(this, function (_a) {
@@ -9,17 +9,17 @@ export declare const makeItemsRenderedHandler: <StreamChatGenerics extends Defau
9
9
  type CommonVirtuosoComponentProps<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> = {
10
10
  context?: VirtuosoContext<StreamChatGenerics>;
11
11
  };
12
- export declare const Item: <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>({ context, ...props }: Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
12
+ export declare const Item: <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>({ context, ...props }: Pick<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
13
13
  ref?: ((instance: HTMLDivElement | null) => void) | React.RefObject<HTMLDivElement> | null | undefined;
14
14
  }, "style" | "children"> & {
15
15
  'data-index': number;
16
16
  'data-item-index': number;
17
17
  'data-item-group-index'?: number | undefined;
18
18
  'data-known-size': number;
19
- } & CommonVirtuosoComponentProps<StreamChatGenerics>) => JSX.Element;
20
- export declare const Header: <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>({ context, }: CommonVirtuosoComponentProps<StreamChatGenerics>) => JSX.Element | null;
21
- export declare const EmptyPlaceholder: <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>({ context, }: CommonVirtuosoComponentProps<StreamChatGenerics>) => JSX.Element;
22
- export declare const Footer: <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>() => JSX.Element | null;
23
- export declare const messageRenderer: <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(virtuosoIndex: number, _data: UnknownType, virtuosoContext: VirtuosoContext<StreamChatGenerics>) => JSX.Element | null;
19
+ } & CommonVirtuosoComponentProps<StreamChatGenerics>) => React.JSX.Element;
20
+ export declare const Header: <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>({ context, }: CommonVirtuosoComponentProps<StreamChatGenerics>) => React.JSX.Element | null;
21
+ export declare const EmptyPlaceholder: <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>({ context, }: CommonVirtuosoComponentProps<StreamChatGenerics>) => React.JSX.Element;
22
+ export declare const Footer: <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>() => React.JSX.Element | null;
23
+ export declare const messageRenderer: <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(virtuosoIndex: number, _data: UnknownType, virtuosoContext: VirtuosoContext<StreamChatGenerics>) => React.JSX.Element | null;
24
24
  export {};
25
25
  //# sourceMappingURL=VirtualizedMessageListComponents.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"VirtualizedMessageListComponents.d.ts","sourceRoot":"","sources":["../../../src/components/MessageList/VirtualizedMessageListComponents.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAMrD,OAAO,EAAU,aAAa,EAAuB,MAAM,eAAe,CAAC;AAI3E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,EAAE,yBAAyB,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAIhF,wBAAgB,kBAAkB,CAAC,aAAa,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,UAElF;AAED,wBAAgB,uBAAuB,CAAC,iBAAiB,EAAE,MAAM,UAEhE;AAED,eAAO,MAAM,wBAAwB,0JAGuC,IAAI,uGAG7D,SAAS,WAAW,CAAC,EAAE,UAUjC,CAAC;AAEV,KAAK,4BAA4B,CAC/B,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E;IACF,OAAO,CAAC,EAAE,eAAe,CAAC,kBAAkB,CAAC,CAAC;CAC/C,CAAC;AAGF,eAAO,MAAM,IAAI;;;;;;;oEAyBhB,CAAC;AACF,eAAO,MAAM,MAAM,0KAgBlB,CAAC;AACF,eAAO,MAAM,gBAAgB,mKAe5B,CAAC;AACF,eAAO,MAAM,MAAM,4GAKlB,CAAC;AACF,eAAO,MAAM,eAAe,oGAGX,MAAM,SACd,WAAW,6EA+EnB,CAAC"}
1
+ {"version":3,"file":"VirtualizedMessageListComponents.d.ts","sourceRoot":"","sources":["../../../src/components/MessageList/VirtualizedMessageListComponents.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAMrD,OAAO,EAAU,aAAa,EAAuB,MAAM,eAAe,CAAC;AAI3E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,EAAE,yBAAyB,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAIhF,wBAAgB,kBAAkB,CAAC,aAAa,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,UAElF;AAED,wBAAgB,uBAAuB,CAAC,iBAAiB,EAAE,MAAM,UAEhE;AAED,eAAO,MAAM,wBAAwB,0JAGuC,IAAI,uGAG7D,SAAS,WAAW,CAAC,EAAE,UAUjC,CAAC;AAEV,KAAK,4BAA4B,CAC/B,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E;IACF,OAAO,CAAC,EAAE,eAAe,CAAC,kBAAkB,CAAC,CAAC;CAC/C,CAAC;AAGF,eAAO,MAAM,IAAI;;;;;;;0EAyBhB,CAAC;AACF,eAAO,MAAM,MAAM,gLAgBlB,CAAC;AACF,eAAO,MAAM,gBAAgB,yKAe5B,CAAC;AACF,eAAO,MAAM,MAAM,kHAKlB,CAAC;AACF,eAAO,MAAM,eAAe,oGAGX,MAAM,SACd,WAAW,mFA+EnB,CAAC"}
@@ -1,8 +1,9 @@
1
1
  export type UseUnreadMessagesNotificationParams = {
2
2
  isMessageListScrolledToBottom: boolean;
3
+ showAlways: boolean;
3
4
  unreadCount?: number;
4
5
  };
5
- export declare const useUnreadMessagesNotification: ({ isMessageListScrolledToBottom, unreadCount, }: UseUnreadMessagesNotificationParams) => {
6
+ export declare const useUnreadMessagesNotification: ({ isMessageListScrolledToBottom, showAlways, unreadCount, }: UseUnreadMessagesNotificationParams) => {
6
7
  show: boolean;
7
8
  };
8
9
  //# sourceMappingURL=useUnreadMessagesNotification.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useUnreadMessagesNotification.d.ts","sourceRoot":"","sources":["../../../../../src/components/MessageList/hooks/MessageList/useUnreadMessagesNotification.ts"],"names":[],"mappings":"AAWA,MAAM,MAAM,mCAAmC,GAAG;IAChD,6BAA6B,EAAE,OAAO,CAAC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,eAAO,MAAM,6BAA6B,oDAGvC,mCAAmC;;CA0DrC,CAAC"}
1
+ {"version":3,"file":"useUnreadMessagesNotification.d.ts","sourceRoot":"","sources":["../../../../../src/components/MessageList/hooks/MessageList/useUnreadMessagesNotification.ts"],"names":[],"mappings":"AAgBA,MAAM,MAAM,mCAAmC,GAAG;IAChD,6BAA6B,EAAE,OAAO,CAAC;IACvC,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,eAAO,MAAM,6BAA6B,gEAIvC,mCAAmC;;CAsErC,CAAC"}
@@ -2,13 +2,17 @@ import { useChannelStateContext } from '../../../../context';
2
2
  import { useEffect, useRef, useState } from 'react';
3
3
  import { MESSAGE_LIST_MAIN_PANEL_CLASS } from '../../MessageListMainPanel';
4
4
  import { UNREAD_MESSAGE_SEPARATOR_CLASS } from '../../UnreadMessagesSeparator';
5
- var targetIsVisibleInContainer = function (element, container) {
6
- var msgListHeight = container.getBoundingClientRect().height;
7
- var targetMessageY = element.getBoundingClientRect().y;
8
- return 0 <= targetMessageY && targetMessageY <= msgListHeight;
5
+ var targetScrolledAboveVisibleContainerArea = function (element) {
6
+ var targetBottom = element.getBoundingClientRect().bottom;
7
+ return targetBottom < 0;
8
+ };
9
+ var targetScrolledBelowVisibleContainerArea = function (element, container) {
10
+ var targetTop = element.getBoundingClientRect().top;
11
+ var containerBottom = container.getBoundingClientRect().top;
12
+ return targetTop > containerBottom;
9
13
  };
10
14
  export var useUnreadMessagesNotification = function (_a) {
11
- var isMessageListScrolledToBottom = _a.isMessageListScrolledToBottom, unreadCount = _a.unreadCount;
15
+ var isMessageListScrolledToBottom = _a.isMessageListScrolledToBottom, showAlways = _a.showAlways, unreadCount = _a.unreadCount;
12
16
  var messages = useChannelStateContext('UnreadMessagesNotification').messages;
13
17
  var _b = useState(false), show = _b[0], setShow = _b[1];
14
18
  var isScrolledAboveTargetTop = useRef(false);
@@ -26,22 +30,32 @@ export var useUnreadMessagesNotification = function (_a) {
26
30
  setShow(true);
27
31
  return;
28
32
  }
29
- setShow(!targetIsVisibleInContainer(observedTarget, msgListPanel));
33
+ var scrolledBelowSeparator = targetScrolledAboveVisibleContainerArea(observedTarget);
34
+ var scrolledAboveSeparator = targetScrolledBelowVisibleContainerArea(observedTarget, msgListPanel);
35
+ setShow(showAlways ? scrolledBelowSeparator || scrolledAboveSeparator : scrolledBelowSeparator);
30
36
  var observer = new IntersectionObserver(function (elements) {
31
37
  if (!elements.length)
32
38
  return;
33
- var _a = elements[0], boundingClientRect = _a.boundingClientRect, isIntersecting = _a.isIntersecting, rootBounds = _a.rootBounds;
34
- var isScrolledAboveTargetTopCurrent = !!(rootBounds &&
35
- boundingClientRect &&
36
- rootBounds.bottom < boundingClientRect.top);
37
- setShow(!isIntersecting && !isScrolledAboveTargetTopCurrent);
38
- isScrolledAboveTargetTop.current = isScrolledAboveTargetTopCurrent;
39
+ var _a = elements[0], boundingClientRect = _a.boundingClientRect, isIntersecting = _a.isIntersecting;
40
+ if (isIntersecting) {
41
+ setShow(false);
42
+ return;
43
+ }
44
+ var separatorIsAboveContainerTop = boundingClientRect.bottom < 0;
45
+ setShow(showAlways || separatorIsAboveContainerTop);
46
+ isScrolledAboveTargetTop.current = separatorIsAboveContainerTop;
39
47
  }, { root: msgListPanel });
40
48
  observer.observe(observedTarget);
41
49
  return function () {
42
50
  observer.disconnect();
43
51
  };
44
- }, [intersectionObserverIsSupported, messages, unreadCount]);
52
+ }, [
53
+ intersectionObserverIsSupported,
54
+ isMessageListScrolledToBottom,
55
+ messages,
56
+ showAlways,
57
+ unreadCount,
58
+ ]);
45
59
  useEffect(function () {
46
60
  /**
47
61
  * Handle situation when scrollToBottom is called from another component when the msg list is scrolled above the observed target (unread separator).
@@ -1,6 +1,7 @@
1
1
  import { StreamMessage } from '../../../../context';
2
2
  import type { DefaultStreamChatGenerics } from '../../../../types/types';
3
3
  export type UseUnreadMessagesNotificationParams = {
4
+ showAlways: boolean;
4
5
  unreadCount: number;
5
6
  lastRead?: Date | null;
6
7
  };
@@ -13,9 +14,10 @@ export type UseUnreadMessagesNotificationParams = {
13
14
  * `UnreadMessagesNotification` component is rendered. This is an approximate equivalent to being
14
15
  * scrolled below the `UnreadMessagesNotification` component.
15
16
  * @param lastRead
17
+ * @param showAlways
16
18
  * @param unreadCount
17
19
  */
18
- export declare const useUnreadMessagesNotificationVirtualized: <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>({ lastRead, unreadCount, }: UseUnreadMessagesNotificationParams) => {
20
+ export declare const useUnreadMessagesNotificationVirtualized: <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>({ lastRead, showAlways, unreadCount, }: UseUnreadMessagesNotificationParams) => {
19
21
  show: boolean;
20
22
  toggleShowUnreadMessagesNotification: (renderedMessages: StreamMessage<StreamChatGenerics>[]) => void;
21
23
  };
@@ -1 +1 @@
1
- {"version":3,"file":"useUnreadMessagesNotificationVirtualized.d.ts","sourceRoot":"","sources":["../../../../../src/components/MessageList/hooks/VirtualizedMessageList/useUnreadMessagesNotificationVirtualized.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAEzE,MAAM,MAAM,mCAAmC,GAAG;IAChD,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;CACxB,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,wCAAwC,iHAKlD,mCAAmC;;;CAmBrC,CAAC"}
1
+ {"version":3,"file":"useUnreadMessagesNotificationVirtualized.d.ts","sourceRoot":"","sources":["../../../../../src/components/MessageList/hooks/VirtualizedMessageList/useUnreadMessagesNotificationVirtualized.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAEzE,MAAM,MAAM,mCAAmC,GAAG;IAChD,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;CACxB,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,wCAAwC,6HAMlD,mCAAmC;;;CA4BrC,CAAC"}
@@ -8,19 +8,25 @@ import { useCallback, useEffect, useState } from 'react';
8
8
  * `UnreadMessagesNotification` component is rendered. This is an approximate equivalent to being
9
9
  * scrolled below the `UnreadMessagesNotification` component.
10
10
  * @param lastRead
11
+ * @param showAlways
11
12
  * @param unreadCount
12
13
  */
13
14
  export var useUnreadMessagesNotificationVirtualized = function (_a) {
14
- var lastRead = _a.lastRead, unreadCount = _a.unreadCount;
15
+ var lastRead = _a.lastRead, showAlways = _a.showAlways, unreadCount = _a.unreadCount;
15
16
  var _b = useState(false), show = _b[0], setShow = _b[1];
16
17
  var toggleShowUnreadMessagesNotification = useCallback(function (renderedMessages) {
17
- if (!renderedMessages.length)
18
+ if (!unreadCount)
19
+ return;
20
+ var firstRenderedMessage = renderedMessages[0];
21
+ var lastRenderedMessage = renderedMessages.slice(-1)[0];
22
+ if (!(firstRenderedMessage && lastRenderedMessage))
18
23
  return;
19
- var firstRenderedMessageTimestamp = renderedMessages[0].created_at
20
- ? new Date(renderedMessages[0].created_at).getTime()
21
- : 0;
22
- setShow(unreadCount > 0 && !!lastRead && firstRenderedMessageTimestamp > lastRead.getTime());
23
- }, [unreadCount, lastRead]);
24
+ var scrolledBelowSeparator = !!lastRead &&
25
+ new Date(firstRenderedMessage.created_at).getTime() > lastRead.getTime();
26
+ var scrolledAboveSeparator = !!lastRead &&
27
+ new Date(lastRenderedMessage.created_at).getTime() < lastRead.getTime();
28
+ setShow(showAlways ? scrolledBelowSeparator || scrolledAboveSeparator : scrolledBelowSeparator);
29
+ }, [lastRead, showAlways, unreadCount]);
24
30
  useEffect(function () {
25
31
  if (!unreadCount)
26
32
  setShow(false);
@@ -1,8 +1,9 @@
1
+ import { DefaultStreamChatGenerics } from '../../../types';
1
2
  type UseMarkReadParams = {
2
3
  isMessageListScrolledToBottom: boolean;
3
4
  messageListIsThread: boolean;
4
5
  unreadCount: number;
5
- markReadOnScrolledToBottom?: boolean;
6
+ wasMarkedUnread?: boolean;
6
7
  };
7
8
  /**
8
9
  * Takes care of marking a channel read. The channel is read only if all the following applies:
@@ -14,6 +15,6 @@ type UseMarkReadParams = {
14
15
  * @param unreadCount
15
16
  * @param wasChannelMarkedUnread
16
17
  */
17
- export declare const useMarkRead: ({ isMessageListScrolledToBottom, markReadOnScrolledToBottom, messageListIsThread, unreadCount, }: UseMarkReadParams) => void;
18
+ export declare const useMarkRead: <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>({ isMessageListScrolledToBottom, messageListIsThread, unreadCount, wasMarkedUnread, }: UseMarkReadParams) => void;
18
19
  export {};
19
20
  //# sourceMappingURL=useMarkRead.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useMarkRead.d.ts","sourceRoot":"","sources":["../../../../src/components/MessageList/hooks/useMarkRead.ts"],"names":[],"mappings":"AAGA,KAAK,iBAAiB,GAAG;IACvB,6BAA6B,EAAE,OAAO,CAAC;IACvC,mBAAmB,EAAE,OAAO,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,0BAA0B,CAAC,EAAE,OAAO,CAAC;CACtC,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,WAAW,qGAKrB,iBAAiB,SA4BnB,CAAC"}
1
+ {"version":3,"file":"useMarkRead.d.ts","sourceRoot":"","sources":["../../../../src/components/MessageList/hooks/useMarkRead.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAE3D,KAAK,iBAAiB,GAAG;IACvB,6BAA6B,EAAE,OAAO,CAAC;IACvC,mBAAmB,EAAE,OAAO,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,WAAW,4KAOrB,iBAAiB,SAyEnB,CAAC"}
@@ -1,5 +1,6 @@
1
- import { useEffect } from 'react';
2
- import { useChannelActionContext } from '../../../context';
1
+ import { __assign } from "tslib";
2
+ import { useEffect, useRef } from 'react';
3
+ import { useChannelActionContext, useChannelStateContext, useChatContext, } from '../../../context';
3
4
  /**
4
5
  * Takes care of marking a channel read. The channel is read only if all the following applies:
5
6
  * 1. the message list is not rendered in a thread
@@ -11,28 +12,81 @@ import { useChannelActionContext } from '../../../context';
11
12
  * @param wasChannelMarkedUnread
12
13
  */
13
14
  export var useMarkRead = function (_a) {
14
- var isMessageListScrolledToBottom = _a.isMessageListScrolledToBottom, markReadOnScrolledToBottom = _a.markReadOnScrolledToBottom, messageListIsThread = _a.messageListIsThread, unreadCount = _a.unreadCount;
15
- var markRead = useChannelActionContext('useMarkRead').markRead;
15
+ var isMessageListScrolledToBottom = _a.isMessageListScrolledToBottom, messageListIsThread = _a.messageListIsThread, unreadCount = _a.unreadCount, wasMarkedUnread = _a.wasMarkedUnread;
16
+ var client = useChatContext('useMarkRead').client;
17
+ var _b = useChannelActionContext('useMarkRead'), markRead = _b.markRead, setChannelUnreadUiState = _b.setChannelUnreadUiState;
18
+ var channel = useChannelStateContext('useMarkRead').channel;
19
+ var previousRenderMessageListScrolledToBottom = useRef(isMessageListScrolledToBottom);
16
20
  useEffect(function () {
17
- var shouldMarkRead = !messageListIsThread &&
18
- isMessageListScrolledToBottom &&
19
- markReadOnScrolledToBottom &&
20
- unreadCount > 0;
21
+ var shouldMarkRead = function (unreadMessages) {
22
+ return !document.hidden &&
23
+ !wasMarkedUnread &&
24
+ !messageListIsThread &&
25
+ isMessageListScrolledToBottom &&
26
+ unreadMessages > 0;
27
+ };
21
28
  var onVisibilityChange = function () {
22
- if (!document.hidden && shouldMarkRead)
29
+ if (shouldMarkRead(unreadCount))
30
+ markRead();
31
+ };
32
+ var handleMessageNew = function (event) {
33
+ var _a, _b, _c, _d;
34
+ var newMessageToCurrentChannel = event.cid === channel.cid;
35
+ var isOwnMessage = ((_a = event.user) === null || _a === void 0 ? void 0 : _a.id) && event.user.id === ((_b = client.user) === null || _b === void 0 ? void 0 : _b.id);
36
+ var mainChannelUpdated = !((_c = event.message) === null || _c === void 0 ? void 0 : _c.parent_id) || ((_d = event.message) === null || _d === void 0 ? void 0 : _d.show_in_channel);
37
+ if (isOwnMessage)
38
+ return;
39
+ if (!isMessageListScrolledToBottom || wasMarkedUnread || document.hidden) {
40
+ setChannelUnreadUiState(function (prev) {
41
+ var _a, _b;
42
+ var previousUnreadCount = (_a = prev === null || prev === void 0 ? void 0 : prev.unread_messages) !== null && _a !== void 0 ? _a : 0;
43
+ var previousLastMessage = getPreviousLastMessage(channel.state.messages, event.message);
44
+ return __assign(__assign({}, (prev || {})), { last_read: (_b = prev === null || prev === void 0 ? void 0 : prev.last_read) !== null && _b !== void 0 ? _b : (previousUnreadCount === 0 && (previousLastMessage === null || previousLastMessage === void 0 ? void 0 : previousLastMessage.created_at)
45
+ ? new Date(previousLastMessage.created_at)
46
+ : new Date(0)), unread_messages: previousUnreadCount + 1 });
47
+ });
48
+ }
49
+ else if (newMessageToCurrentChannel &&
50
+ mainChannelUpdated &&
51
+ !isOwnMessage &&
52
+ shouldMarkRead(channel.countUnread())) {
23
53
  markRead();
54
+ }
24
55
  };
56
+ client.on('message.new', handleMessageNew);
25
57
  document.addEventListener('visibilitychange', onVisibilityChange);
26
- if (shouldMarkRead)
58
+ var hasScrolledToBottom = previousRenderMessageListScrolledToBottom.current !== isMessageListScrolledToBottom &&
59
+ isMessageListScrolledToBottom;
60
+ if (shouldMarkRead(hasScrolledToBottom ? channel.countUnread() : unreadCount))
27
61
  markRead();
62
+ previousRenderMessageListScrolledToBottom.current = isMessageListScrolledToBottom;
28
63
  return function () {
64
+ client.off('message.new', handleMessageNew);
29
65
  document.removeEventListener('visibilitychange', onVisibilityChange);
30
66
  };
31
67
  }, [
68
+ channel,
69
+ client,
32
70
  isMessageListScrolledToBottom,
33
71
  markRead,
34
72
  messageListIsThread,
73
+ setChannelUnreadUiState,
35
74
  unreadCount,
36
- markReadOnScrolledToBottom,
75
+ wasMarkedUnread,
37
76
  ]);
38
77
  };
78
+ function getPreviousLastMessage(messages, newMessage) {
79
+ if (!newMessage)
80
+ return;
81
+ var previousLastMessage;
82
+ for (var i = messages.length - 1; i >= 0; i--) {
83
+ var msg = messages[i];
84
+ if (!(msg === null || msg === void 0 ? void 0 : msg.id))
85
+ break;
86
+ if (msg.id !== newMessage.id) {
87
+ previousLastMessage = msg;
88
+ break;
89
+ }
90
+ }
91
+ return previousLastMessage;
92
+ }
@@ -1,9 +1,10 @@
1
+ import React from 'react';
1
2
  interface ArrowProps {
2
3
  className?: string;
3
4
  color?: string;
4
5
  }
5
- export declare const ArrowUp: ({ className, color }: ArrowProps) => JSX.Element;
6
- export declare const ArrowDown: ({ className, color }: ArrowProps) => JSX.Element;
7
- export declare const CloseIcon: () => JSX.Element;
6
+ export declare const ArrowUp: ({ className, color }: ArrowProps) => React.JSX.Element;
7
+ export declare const ArrowDown: ({ className, color }: ArrowProps) => React.JSX.Element;
8
+ export declare const CloseIcon: () => React.JSX.Element;
8
9
  export {};
9
10
  //# sourceMappingURL=icons.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["../../../src/components/MessageList/icons.tsx"],"names":[],"mappings":"AAEA,UAAU,UAAU;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,OAAO,yBAA0B,UAAU,gBAevD,CAAC;AAEF,eAAO,MAAM,SAAS,yBAA0B,UAAU,gBAezD,CAAC;AAEF,eAAO,MAAM,SAAS,mBAIrB,CAAC"}
1
+ {"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["../../../src/components/MessageList/icons.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,UAAU,UAAU;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,OAAO,yBAA0B,UAAU,sBAevD,CAAC;AAEF,eAAO,MAAM,SAAS,yBAA0B,UAAU,sBAezD,CAAC;AAEF,eAAO,MAAM,SAAS,yBAIrB,CAAC"}
@@ -1,4 +1,4 @@
1
- import { ReactNode } from 'react';
1
+ import React, { ReactNode } from 'react';
2
2
  import { MessageProps } from '../Message/types';
3
3
  import { StreamMessage } from '../../context/ChannelStateContext';
4
4
  import { ChannelUnreadUiState, DefaultStreamChatGenerics } from '../../types/types';
@@ -29,6 +29,6 @@ export interface RenderMessagesOptions<StreamChatGenerics extends DefaultStreamC
29
29
  export type SharedMessageProps<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> = Omit<MessageProps<StreamChatGenerics>, MessagePropsToOmit>;
30
30
  export type MessageRenderer<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> = (options: RenderMessagesOptions<StreamChatGenerics>) => Array<ReactNode>;
31
31
  type MessagePropsToOmit = 'channel' | 'groupStyles' | 'initialMessage' | 'lastReceivedId' | 'message' | 'readBy';
32
- export declare function defaultRenderMessages<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>({ channelUnreadUiState, components, customClasses, lastReceivedMessageId: lastReceivedId, messageGroupStyles, messages, readData, sharedMessageProps: messageProps, }: RenderMessagesOptions<StreamChatGenerics>): JSX.Element[];
32
+ export declare function defaultRenderMessages<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>({ channelUnreadUiState, components, customClasses, lastReceivedMessageId: lastReceivedId, messageGroupStyles, messages, readData, sharedMessageProps: messageProps, }: RenderMessagesOptions<StreamChatGenerics>): React.JSX.Element[];
33
33
  export {};
34
34
  //# sourceMappingURL=renderMessages.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"renderMessages.d.ts","sourceRoot":"","sources":["../../../src/components/MessageList/renderMessages.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAY,SAAS,EAAE,MAAM,OAAO,CAAC;AAEnD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AACpF,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAU,MAAM,eAAe,CAAC;AAE7E,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,MAAM,WAAW,qBAAqB,CACpC,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB;IAEhF,UAAU,EAAE,qBAAqB,CAAC,kBAAkB,CAAC,CAAC;IACtD,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAC/C,QAAQ,EAAE,KAAK,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC,CAAC;IACnD;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;IAClE;;OAEG;IACH,kBAAkB,EAAE,kBAAkB,CAAC,kBAAkB,CAAC,CAAC;IAC3D;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,oBAAoB,CAAC,kBAAkB,CAAC,CAAC;IAChE,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B;AAED,MAAM,MAAM,kBAAkB,CAC5B,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,EAAE,kBAAkB,CAAC,CAAC;AAE/D,MAAM,MAAM,eAAe,CACzB,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E,CAAC,OAAO,EAAE,qBAAqB,CAAC,kBAAkB,CAAC,KAAK,KAAK,CAAC,SAAS,CAAC,CAAC;AAE7E,KAAK,kBAAkB,GACnB,SAAS,GACT,aAAa,GACb,gBAAgB,GAChB,gBAAgB,GAChB,SAAS,GACT,QAAQ,CAAC;AAEb,wBAAgB,qBAAqB,CACnC,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,EAChF,EACA,oBAAoB,EACpB,UAAU,EACV,aAAa,EACb,qBAAqB,EAAE,cAAc,EACrC,kBAAkB,EAClB,QAAQ,EACR,QAAQ,EACR,kBAAkB,EAAE,YAAY,GACjC,EAAE,qBAAqB,CAAC,kBAAkB,CAAC,iBA6D3C"}
1
+ {"version":3,"file":"renderMessages.d.ts","sourceRoot":"","sources":["../../../src/components/MessageList/renderMessages.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAY,SAAS,EAAE,MAAM,OAAO,CAAC;AAEnD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AACpF,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAU,MAAM,eAAe,CAAC;AAE7E,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,MAAM,WAAW,qBAAqB,CACpC,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB;IAEhF,UAAU,EAAE,qBAAqB,CAAC,kBAAkB,CAAC,CAAC;IACtD,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAC/C,QAAQ,EAAE,KAAK,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC,CAAC;IACnD;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;IAClE;;OAEG;IACH,kBAAkB,EAAE,kBAAkB,CAAC,kBAAkB,CAAC,CAAC;IAC3D;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,oBAAoB,CAAC,kBAAkB,CAAC,CAAC;IAChE,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B;AAED,MAAM,MAAM,kBAAkB,CAC5B,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,EAAE,kBAAkB,CAAC,CAAC;AAE/D,MAAM,MAAM,eAAe,CACzB,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E,CAAC,OAAO,EAAE,qBAAqB,CAAC,kBAAkB,CAAC,KAAK,KAAK,CAAC,SAAS,CAAC,CAAC;AAE7E,KAAK,kBAAkB,GACnB,SAAS,GACT,aAAa,GACb,gBAAgB,GAChB,gBAAgB,GAChB,SAAS,GACT,QAAQ,CAAC;AAEb,wBAAgB,qBAAqB,CACnC,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,EAChF,EACA,oBAAoB,EACpB,UAAU,EACV,aAAa,EACb,qBAAqB,EAAE,cAAc,EACrC,kBAAkB,EAClB,QAAQ,EACR,QAAQ,EACR,kBAAkB,EAAE,YAAY,GACjC,EAAE,qBAAqB,CAAC,kBAAkB,CAAC,uBA6D3C"}
@@ -5,5 +5,5 @@ export type ModalProps = {
5
5
  /** Callback handler for closing of modal. */
6
6
  onClose?: (event: React.KeyboardEvent | React.MouseEvent<HTMLButtonElement | HTMLDivElement>) => void;
7
7
  };
8
- export declare const Modal: ({ children, onClose, open }: PropsWithChildren<ModalProps>) => JSX.Element | null;
8
+ export declare const Modal: ({ children, onClose, open }: PropsWithChildren<ModalProps>) => React.JSX.Element | null;
9
9
  //# sourceMappingURL=Modal.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Modal.d.ts","sourceRoot":"","sources":["../../../src/components/Modal/Modal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,iBAAiB,EAAqB,MAAM,OAAO,CAAC;AAMpE,MAAM,MAAM,UAAU,GAAG;IACvB,2CAA2C;IAC3C,IAAI,EAAE,OAAO,CAAC;IACd,6CAA6C;IAC7C,OAAO,CAAC,EAAE,CACR,KAAK,EAAE,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC,UAAU,CAAC,iBAAiB,GAAG,cAAc,CAAC,KAC9E,IAAI,CAAC;CACX,CAAC;AAEF,eAAO,MAAM,KAAK,gCAAiC,kBAAkB,UAAU,CAAC,uBAiD/E,CAAC"}
1
+ {"version":3,"file":"Modal.d.ts","sourceRoot":"","sources":["../../../src/components/Modal/Modal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,iBAAiB,EAAqB,MAAM,OAAO,CAAC;AAOpE,MAAM,MAAM,UAAU,GAAG;IACvB,2CAA2C;IAC3C,IAAI,EAAE,OAAO,CAAC;IACd,6CAA6C;IAC7C,OAAO,CAAC,EAAE,CACR,KAAK,EAAE,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC,UAAU,CAAC,iBAAiB,GAAG,cAAc,CAAC,KAC9E,IAAI,CAAC;CACX,CAAC;AAEF,eAAO,MAAM,KAAK,gCAAiC,kBAAkB,UAAU,CAAC,6BAmD/E,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import React, { useEffect, useRef } from 'react';
2
+ import { FocusScope } from '@react-aria/focus';
2
3
  import { CloseIconRound } from './icons';
3
4
  import { useChatContext, useTranslationContext } from '../../context';
4
5
  export var Modal = function (_a) {
@@ -27,11 +28,12 @@ export var Modal = function (_a) {
27
28
  if (!open)
28
29
  return null;
29
30
  return (React.createElement("div", { className: 'str-chat__modal str-chat__modal--open', onClick: handleClick },
30
- React.createElement("button", { className: 'str-chat__modal__close-button', ref: closeRef, title: t('Close') },
31
- themeVersion === '2' && React.createElement(CloseIconRound, null),
32
- themeVersion === '1' && (React.createElement(React.Fragment, null,
33
- t('Close'),
34
- React.createElement("svg", { height: '10', width: '10', xmlns: 'http://www.w3.org/2000/svg' },
35
- React.createElement("path", { d: 'M9.916 1.027L8.973.084 5 4.058 1.027.084l-.943.943L4.058 5 .084 8.973l.943.943L5 5.942l3.973 3.974.943-.943L5.942 5z', fillRule: 'evenodd' }))))),
36
- React.createElement("div", { className: 'str-chat__modal__inner str-chat-react__modal__inner', ref: innerRef }, children)));
31
+ React.createElement(FocusScope, { autoFocus: true, contain: true },
32
+ React.createElement("button", { className: 'str-chat__modal__close-button', ref: closeRef, title: t('Close') },
33
+ themeVersion === '2' && React.createElement(CloseIconRound, null),
34
+ themeVersion === '1' && (React.createElement(React.Fragment, null,
35
+ t('Close'),
36
+ React.createElement("svg", { height: '10', width: '10', xmlns: 'http://www.w3.org/2000/svg' },
37
+ React.createElement("path", { d: 'M9.916 1.027L8.973.084 5 4.058 1.027.084l-.943.943L4.058 5 .084 8.973l.943.943L5 5.942l3.973 3.974.943-.943L5.942 5z', fillRule: 'evenodd' }))))),
38
+ React.createElement("div", { className: 'str-chat__modal__inner str-chat-react__modal__inner', ref: innerRef }, children))));
37
39
  };
@@ -1,2 +1,3 @@
1
- export declare const CloseIconRound: () => JSX.Element;
1
+ import React from 'react';
2
+ export declare const CloseIconRound: () => React.JSX.Element;
2
3
  //# sourceMappingURL=icons.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["../../../src/components/Modal/icons.tsx"],"names":[],"mappings":"AAEA,eAAO,MAAM,cAAc,mBAkB1B,CAAC"}
1
+ {"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["../../../src/components/Modal/icons.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,eAAO,MAAM,cAAc,yBAkB1B,CAAC"}
@@ -11,5 +11,5 @@ export type FileIconProps = {
11
11
  version?: IconVersion;
12
12
  };
13
13
  export declare function mimeTypeToIcon(type?: IconType, version?: IconVersion, mimeType?: string): React.ComponentType<import("./FileIconSet/v1").IconPropsV1> | React.ComponentType<import("./FileIconSet/v2").IconPropsV2>;
14
- export declare const FileIcon: (props: FileIconProps) => JSX.Element;
14
+ export declare const FileIcon: (props: FileIconProps) => React.JSX.Element;
15
15
  //# sourceMappingURL=FileIcon.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FileIcon.d.ts","sourceRoot":"","sources":["../../../../src/components/ReactFileUtilities/FileIcon/FileIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAW,QAAQ,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAE3D,MAAM,MAAM,aAAa,GAAG;IAC1B,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,OAAO,CAAC,EAAE,WAAW,CAAC;CACvB,CAAC;AAEF,wBAAgB,cAAc,CAC5B,IAAI,GAAE,QAAqB,EAC3B,OAAO,GAAE,WAAiB,EAC1B,QAAQ,CAAC,EAAE,MAAM,6HAelB;AAED,eAAO,MAAM,QAAQ,UAAW,aAAa,gBAc5C,CAAC"}
1
+ {"version":3,"file":"FileIcon.d.ts","sourceRoot":"","sources":["../../../../src/components/ReactFileUtilities/FileIcon/FileIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAW,QAAQ,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAE3D,MAAM,MAAM,aAAa,GAAG;IAC1B,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,OAAO,CAAC,EAAE,WAAW,CAAC;CACvB,CAAC;AAEF,wBAAgB,cAAc,CAC5B,IAAI,GAAE,QAAqB,EAC3B,OAAO,GAAE,WAAiB,EAC1B,QAAQ,CAAC,EAAE,MAAM,6HAelB;AAED,eAAO,MAAM,QAAQ,UAAW,aAAa,sBAc5C,CAAC"}