stream-chat-react-native-core 4.1.0-next.1 → 4.1.1-beta.2

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 (1331) hide show
  1. package/README.md +1 -13
  2. package/lib/commonjs/components/Attachment/Attachment.js +16 -15
  3. package/lib/commonjs/components/Attachment/Attachment.js.map +1 -1
  4. package/lib/commonjs/components/Attachment/AttachmentActions.js +4 -4
  5. package/lib/commonjs/components/Attachment/AttachmentActions.js.map +1 -1
  6. package/lib/commonjs/components/Attachment/Card.js +18 -15
  7. package/lib/commonjs/components/Attachment/Card.js.map +1 -1
  8. package/lib/commonjs/components/Attachment/FileAttachment.js +8 -8
  9. package/lib/commonjs/components/Attachment/FileAttachment.js.map +1 -1
  10. package/lib/commonjs/components/Attachment/FileAttachmentGroup.js +4 -4
  11. package/lib/commonjs/components/Attachment/FileAttachmentGroup.js.map +1 -1
  12. package/lib/commonjs/components/Attachment/FileIcon.js.map +1 -1
  13. package/lib/commonjs/components/Attachment/Gallery.js +123 -121
  14. package/lib/commonjs/components/Attachment/Gallery.js.map +1 -1
  15. package/lib/commonjs/components/Attachment/Giphy.js +112 -148
  16. package/lib/commonjs/components/Attachment/Giphy.js.map +1 -1
  17. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGallery.js +46 -0
  18. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGallery.js.map +1 -0
  19. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.js +88 -0
  20. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.js.map +1 -0
  21. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.js +75 -0
  22. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.js.map +1 -0
  23. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.js +43 -0
  24. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.js.map +1 -0
  25. package/lib/commonjs/components/Attachment/utils/buildGallery/buildThumbnail.js +30 -0
  26. package/lib/commonjs/components/Attachment/utils/buildGallery/buildThumbnail.js.map +1 -0
  27. package/lib/commonjs/components/Attachment/utils/buildGallery/buildThumbnailGrid.js +49 -0
  28. package/lib/commonjs/components/Attachment/utils/buildGallery/buildThumbnailGrid.js.map +1 -0
  29. package/lib/commonjs/components/Attachment/utils/buildGallery/types.js +4 -0
  30. package/lib/commonjs/{styleguideComponents/Reanimated.js.map → components/Attachment/utils/buildGallery/types.js.map} +0 -0
  31. package/lib/commonjs/components/Attachment/utils/getAspectRatio.js +14 -0
  32. package/lib/commonjs/components/Attachment/utils/getAspectRatio.js.map +1 -0
  33. package/lib/commonjs/components/Attachment/utils/getGalleryImageBorderRadius.js +36 -0
  34. package/lib/commonjs/components/Attachment/utils/getGalleryImageBorderRadius.js.map +1 -0
  35. package/lib/commonjs/components/AttachmentPicker/AttachmentPicker.js +9 -8
  36. package/lib/commonjs/components/AttachmentPicker/AttachmentPicker.js.map +1 -1
  37. package/lib/commonjs/components/AttachmentPicker/components/AttachmentSelectionBar.js +11 -8
  38. package/lib/commonjs/components/AttachmentPicker/components/AttachmentSelectionBar.js.map +1 -1
  39. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteInput.js +24 -48
  40. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteInput.js.map +1 -1
  41. package/lib/commonjs/components/AutoCompleteInput/{CommandsItem.js → AutoCompleteSuggestionCommandIcon.js} +21 -94
  42. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.js.map +1 -0
  43. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js +145 -0
  44. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js.map +1 -0
  45. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionItem.js +248 -0
  46. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionItem.js.map +1 -0
  47. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionList.js +223 -0
  48. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionList.js.map +1 -0
  49. package/lib/commonjs/components/Avatar/Avatar.js +13 -7
  50. package/lib/commonjs/components/Avatar/Avatar.js.map +1 -1
  51. package/lib/commonjs/components/Avatar/GroupAvatar.js +10 -8
  52. package/lib/commonjs/components/Avatar/GroupAvatar.js.map +1 -1
  53. package/lib/commonjs/components/Channel/Channel.js +303 -202
  54. package/lib/commonjs/components/Channel/Channel.js.map +1 -1
  55. package/lib/commonjs/components/Channel/hooks/useCreateChannelContext.js +7 -5
  56. package/lib/commonjs/components/Channel/hooks/useCreateChannelContext.js.map +1 -1
  57. package/lib/commonjs/components/Channel/hooks/useCreateInputMessageInputContext.js +7 -5
  58. package/lib/commonjs/components/Channel/hooks/useCreateInputMessageInputContext.js.map +1 -1
  59. package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js +13 -31
  60. package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
  61. package/lib/commonjs/components/Channel/hooks/useCreateOwnCapabilitiesContext.js +35 -0
  62. package/lib/commonjs/components/Channel/hooks/useCreateOwnCapabilitiesContext.js.map +1 -0
  63. package/lib/commonjs/components/Channel/hooks/useCreatePaginatedMessageListContext.js.map +1 -1
  64. package/lib/commonjs/components/Channel/hooks/useCreateThreadContext.js.map +1 -1
  65. package/lib/commonjs/components/Channel/hooks/useCreateTypingContext.js.map +1 -1
  66. package/lib/commonjs/components/ChannelList/ChannelList.js +6 -6
  67. package/lib/commonjs/components/ChannelList/ChannelList.js.map +1 -1
  68. package/lib/commonjs/components/ChannelList/ChannelListFooterLoadingIndicator.js +5 -4
  69. package/lib/commonjs/components/ChannelList/ChannelListFooterLoadingIndicator.js.map +1 -1
  70. package/lib/commonjs/components/ChannelList/ChannelListHeaderErrorIndicator.js +6 -7
  71. package/lib/commonjs/components/ChannelList/ChannelListHeaderErrorIndicator.js.map +1 -1
  72. package/lib/commonjs/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js +4 -3
  73. package/lib/commonjs/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js.map +1 -1
  74. package/lib/commonjs/components/ChannelList/ChannelListLoadingIndicator.js +7 -4
  75. package/lib/commonjs/components/ChannelList/ChannelListLoadingIndicator.js.map +1 -1
  76. package/lib/commonjs/components/ChannelList/ChannelListMessenger.js +17 -17
  77. package/lib/commonjs/components/ChannelList/ChannelListMessenger.js.map +1 -1
  78. package/lib/commonjs/components/ChannelList/Skeleton.js +14 -13
  79. package/lib/commonjs/components/ChannelList/Skeleton.js.map +1 -1
  80. package/lib/commonjs/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js +2 -2
  81. package/lib/commonjs/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js.map +1 -1
  82. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelDeleted.js.map +1 -1
  83. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelHidden.js.map +1 -1
  84. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelTruncated.js.map +1 -1
  85. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelUpdated.js.map +1 -1
  86. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelVisible.js +2 -2
  87. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelVisible.js.map +1 -1
  88. package/lib/commonjs/components/ChannelList/hooks/listeners/useConnectionRecovered.js +3 -1
  89. package/lib/commonjs/components/ChannelList/hooks/listeners/useConnectionRecovered.js.map +1 -1
  90. package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessage.js +2 -2
  91. package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessage.js.map +1 -1
  92. package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessageNotification.js +3 -3
  93. package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessageNotification.js.map +1 -1
  94. package/lib/commonjs/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.js.map +1 -1
  95. package/lib/commonjs/components/ChannelList/hooks/listeners/useUserPresence.js.map +1 -1
  96. package/lib/commonjs/components/ChannelList/hooks/useCreateChannelsContext.js +2 -2
  97. package/lib/commonjs/components/ChannelList/hooks/useCreateChannelsContext.js.map +1 -1
  98. package/lib/commonjs/components/ChannelList/hooks/usePaginatedChannels.js +96 -63
  99. package/lib/commonjs/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
  100. package/lib/commonjs/components/ChannelList/utils.js +1 -1
  101. package/lib/commonjs/components/ChannelList/utils.js.map +1 -1
  102. package/lib/commonjs/components/ChannelPreview/ChannelAvatar.js +2 -2
  103. package/lib/commonjs/components/ChannelPreview/ChannelAvatar.js.map +1 -1
  104. package/lib/commonjs/components/ChannelPreview/ChannelPreview.js +4 -4
  105. package/lib/commonjs/components/ChannelPreview/ChannelPreview.js.map +1 -1
  106. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessage.js +5 -5
  107. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessage.js.map +1 -1
  108. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessenger.js +49 -20
  109. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessenger.js.map +1 -1
  110. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMutedStatus.js +51 -0
  111. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMutedStatus.js.map +1 -0
  112. package/lib/commonjs/components/ChannelPreview/ChannelPreviewStatus.js +4 -4
  113. package/lib/commonjs/components/ChannelPreview/ChannelPreviewStatus.js.map +1 -1
  114. package/lib/commonjs/components/ChannelPreview/ChannelPreviewTitle.js +1 -1
  115. package/lib/commonjs/components/ChannelPreview/ChannelPreviewTitle.js.map +1 -1
  116. package/lib/commonjs/components/ChannelPreview/ChannelPreviewUnreadCount.js +2 -2
  117. package/lib/commonjs/components/ChannelPreview/ChannelPreviewUnreadCount.js.map +1 -1
  118. package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.js +16 -7
  119. package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.js.map +1 -1
  120. package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js.map +1 -1
  121. package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayPresence.js.map +1 -1
  122. package/lib/commonjs/components/ChannelPreview/hooks/useLatestMessagePreview.js +2 -1
  123. package/lib/commonjs/components/ChannelPreview/hooks/useLatestMessagePreview.js.map +1 -1
  124. package/lib/commonjs/components/Chat/Chat.js +8 -4
  125. package/lib/commonjs/components/Chat/Chat.js.map +1 -1
  126. package/lib/commonjs/components/Chat/hooks/useCreateChatContext.js.map +1 -1
  127. package/lib/commonjs/components/Chat/hooks/useIsOnline.js +40 -31
  128. package/lib/commonjs/components/Chat/hooks/useIsOnline.js.map +1 -1
  129. package/lib/commonjs/components/Chat/hooks/useMutedUsers.js.map +1 -1
  130. package/lib/commonjs/components/ImageGallery/ImageGallery.js +107 -97
  131. package/lib/commonjs/components/ImageGallery/ImageGallery.js.map +1 -1
  132. package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryImage.js +2 -2
  133. package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryImage.js.map +1 -1
  134. package/lib/commonjs/components/ImageGallery/components/ImageGalleryFooter.js +12 -12
  135. package/lib/commonjs/components/ImageGallery/components/ImageGalleryFooter.js.map +1 -1
  136. package/lib/commonjs/components/ImageGallery/components/ImageGalleryHeader.js +31 -16
  137. package/lib/commonjs/components/ImageGallery/components/ImageGalleryHeader.js.map +1 -1
  138. package/lib/commonjs/components/ImageGallery/components/ImageGrid.js +7 -9
  139. package/lib/commonjs/components/ImageGallery/components/ImageGrid.js.map +1 -1
  140. package/lib/commonjs/components/ImageGallery/components/ImageGridHandle.js +5 -5
  141. package/lib/commonjs/components/ImageGallery/components/ImageGridHandle.js.map +1 -1
  142. package/lib/commonjs/components/Indicators/LoadingErrorIndicator.js.map +1 -1
  143. package/lib/commonjs/components/Indicators/LoadingIndicator.js +9 -9
  144. package/lib/commonjs/components/Indicators/LoadingIndicator.js.map +1 -1
  145. package/lib/commonjs/components/KeyboardCompatibleView/KeyboardCompatibleView.js +20 -12
  146. package/lib/commonjs/components/KeyboardCompatibleView/KeyboardCompatibleView.js.map +1 -1
  147. package/lib/commonjs/components/Message/Message.js +152 -854
  148. package/lib/commonjs/components/Message/Message.js.map +1 -1
  149. package/lib/commonjs/components/Message/MessageSimple/MessageAvatar.js +6 -6
  150. package/lib/commonjs/components/Message/MessageSimple/MessageAvatar.js.map +1 -1
  151. package/lib/commonjs/components/Message/MessageSimple/MessageContent.js +41 -39
  152. package/lib/commonjs/components/Message/MessageSimple/MessageContent.js.map +1 -1
  153. package/lib/commonjs/components/Message/MessageSimple/MessageDeleted.js +8 -6
  154. package/lib/commonjs/components/Message/MessageSimple/MessageDeleted.js.map +1 -1
  155. package/lib/commonjs/components/Message/MessageSimple/MessageFooter.js +34 -22
  156. package/lib/commonjs/components/Message/MessageSimple/MessageFooter.js.map +1 -1
  157. package/lib/commonjs/components/Message/MessageSimple/MessagePinnedHeader.js +122 -0
  158. package/lib/commonjs/components/Message/MessageSimple/MessagePinnedHeader.js.map +1 -0
  159. package/lib/commonjs/components/Message/MessageSimple/MessageReplies.js +26 -10
  160. package/lib/commonjs/components/Message/MessageSimple/MessageReplies.js.map +1 -1
  161. package/lib/commonjs/components/Message/MessageSimple/MessageRepliesAvatars.js +5 -5
  162. package/lib/commonjs/components/Message/MessageSimple/MessageRepliesAvatars.js.map +1 -1
  163. package/lib/commonjs/components/Message/MessageSimple/MessageSimple.js +31 -14
  164. package/lib/commonjs/components/Message/MessageSimple/MessageSimple.js.map +1 -1
  165. package/lib/commonjs/components/Message/MessageSimple/MessageStatus.js +28 -24
  166. package/lib/commonjs/components/Message/MessageSimple/MessageStatus.js.map +1 -1
  167. package/lib/commonjs/components/Message/MessageSimple/MessageTextContainer.js +7 -3
  168. package/lib/commonjs/components/Message/MessageSimple/MessageTextContainer.js.map +1 -1
  169. package/lib/commonjs/components/Message/MessageSimple/ReactionList.js +86 -113
  170. package/lib/commonjs/components/Message/MessageSimple/ReactionList.js.map +1 -1
  171. package/lib/commonjs/components/Message/MessageSimple/utils/parseLinks.js +89 -0
  172. package/lib/commonjs/components/Message/MessageSimple/utils/parseLinks.js.map +1 -0
  173. package/lib/commonjs/components/Message/MessageSimple/utils/parseLinks.test.js +46 -0
  174. package/lib/commonjs/components/Message/MessageSimple/utils/parseLinks.test.js.map +1 -0
  175. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.js +207 -26
  176. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.js.map +1 -1
  177. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.test.js +240 -0
  178. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.test.js.map +1 -0
  179. package/lib/commonjs/components/Message/hooks/useCreateMessageContext.js +1 -5
  180. package/lib/commonjs/components/Message/hooks/useCreateMessageContext.js.map +1 -1
  181. package/lib/commonjs/components/Message/hooks/useMessageActionHandlers.js +307 -0
  182. package/lib/commonjs/components/Message/hooks/useMessageActionHandlers.js.map +1 -0
  183. package/lib/commonjs/components/Message/hooks/useMessageActions.js +563 -0
  184. package/lib/commonjs/components/Message/hooks/useMessageActions.js.map +1 -0
  185. package/lib/commonjs/components/Message/utils/messageActions.js +17 -15
  186. package/lib/commonjs/components/Message/utils/messageActions.js.map +1 -1
  187. package/lib/commonjs/components/Message/utils/removeReservedFields.js.map +1 -1
  188. package/lib/commonjs/components/MessageInput/AttachButton.js +6 -4
  189. package/lib/commonjs/components/MessageInput/AttachButton.js.map +1 -1
  190. package/lib/commonjs/components/MessageInput/CommandsButton.js +3 -3
  191. package/lib/commonjs/components/MessageInput/CommandsButton.js.map +1 -1
  192. package/lib/commonjs/components/MessageInput/CooldownTimer.js +78 -0
  193. package/lib/commonjs/components/MessageInput/CooldownTimer.js.map +1 -0
  194. package/lib/commonjs/components/MessageInput/FileUploadPreview.js +32 -27
  195. package/lib/commonjs/components/MessageInput/FileUploadPreview.js.map +1 -1
  196. package/lib/commonjs/components/MessageInput/ImageUploadPreview.js +9 -9
  197. package/lib/commonjs/components/MessageInput/ImageUploadPreview.js.map +1 -1
  198. package/lib/commonjs/components/MessageInput/InputButtons.js +17 -22
  199. package/lib/commonjs/components/MessageInput/InputButtons.js.map +1 -1
  200. package/lib/commonjs/components/MessageInput/MessageInput.js +93 -65
  201. package/lib/commonjs/components/MessageInput/MessageInput.js.map +1 -1
  202. package/lib/commonjs/components/MessageInput/MoreOptionsButton.js +3 -3
  203. package/lib/commonjs/components/MessageInput/MoreOptionsButton.js.map +1 -1
  204. package/lib/commonjs/components/MessageInput/SendButton.js +8 -6
  205. package/lib/commonjs/components/MessageInput/SendButton.js.map +1 -1
  206. package/lib/commonjs/components/MessageInput/SendMessageDisallowedIndicator.js +71 -0
  207. package/lib/commonjs/components/MessageInput/SendMessageDisallowedIndicator.js.map +1 -0
  208. package/lib/commonjs/components/MessageInput/ShowThreadMessageInChannelButton.js +11 -10
  209. package/lib/commonjs/components/MessageInput/ShowThreadMessageInChannelButton.js.map +1 -1
  210. package/lib/commonjs/components/MessageInput/hooks/useCooldown.js +63 -0
  211. package/lib/commonjs/components/MessageInput/hooks/useCooldown.js.map +1 -0
  212. package/lib/commonjs/components/MessageInput/hooks/useCountdown.js +57 -0
  213. package/lib/commonjs/components/MessageInput/hooks/useCountdown.js.map +1 -0
  214. package/lib/commonjs/components/MessageList/DateHeader.js +2 -2
  215. package/lib/commonjs/components/MessageList/DateHeader.js.map +1 -1
  216. package/lib/commonjs/components/MessageList/InlineDateSeparator.js +4 -3
  217. package/lib/commonjs/components/MessageList/InlineDateSeparator.js.map +1 -1
  218. package/lib/commonjs/components/MessageList/InlineLoadingMoreIndicator.js +4 -4
  219. package/lib/commonjs/components/MessageList/InlineLoadingMoreIndicator.js.map +1 -1
  220. package/lib/commonjs/components/MessageList/InlineLoadingMoreRecentIndicator.js +4 -4
  221. package/lib/commonjs/components/MessageList/InlineLoadingMoreRecentIndicator.js.map +1 -1
  222. package/lib/commonjs/components/MessageList/InlineLoadingMoreThreadIndicator.js +4 -4
  223. package/lib/commonjs/components/MessageList/InlineLoadingMoreThreadIndicator.js.map +1 -1
  224. package/lib/commonjs/components/MessageList/MessageList.js +106 -58
  225. package/lib/commonjs/components/MessageList/MessageList.js.map +1 -1
  226. package/lib/commonjs/components/MessageList/MessageSystem.js +6 -6
  227. package/lib/commonjs/components/MessageList/MessageSystem.js.map +1 -1
  228. package/lib/commonjs/components/MessageList/ScrollToBottomButton.js +7 -5
  229. package/lib/commonjs/components/MessageList/ScrollToBottomButton.js.map +1 -1
  230. package/lib/commonjs/components/MessageList/TypingIndicator.js +5 -5
  231. package/lib/commonjs/components/MessageList/TypingIndicator.js.map +1 -1
  232. package/lib/commonjs/components/MessageList/TypingIndicatorContainer.js +2 -2
  233. package/lib/commonjs/components/MessageList/TypingIndicatorContainer.js.map +1 -1
  234. package/lib/commonjs/components/MessageList/hooks/useMessageList.js +24 -11
  235. package/lib/commonjs/components/MessageList/hooks/useMessageList.js.map +1 -1
  236. package/lib/commonjs/components/MessageList/hooks/useTypingString.js +2 -2
  237. package/lib/commonjs/components/MessageList/hooks/useTypingString.js.map +1 -1
  238. package/lib/commonjs/components/MessageList/utils/filterTypingUsers.js.map +1 -1
  239. package/lib/commonjs/components/MessageList/utils/getDateSeparators.js +2 -1
  240. package/lib/commonjs/components/MessageList/utils/getDateSeparators.js.map +1 -1
  241. package/lib/commonjs/components/MessageList/utils/getGroupStyles.js +11 -10
  242. package/lib/commonjs/components/MessageList/utils/getGroupStyles.js.map +1 -1
  243. package/lib/commonjs/components/MessageList/utils/getLastReceivedMessage.js +3 -1
  244. package/lib/commonjs/components/MessageList/utils/getLastReceivedMessage.js.map +1 -1
  245. package/lib/commonjs/components/MessageList/utils/getReadStates.js.map +1 -1
  246. package/lib/{module/components/MessageOverlay/MessageActions.js → commonjs/components/MessageOverlay/MessageActionList.js} +33 -85
  247. package/lib/commonjs/components/MessageOverlay/MessageActionList.js.map +1 -0
  248. package/lib/commonjs/components/MessageOverlay/MessageActionListItem.js +131 -0
  249. package/lib/commonjs/components/MessageOverlay/MessageActionListItem.js.map +1 -0
  250. package/lib/commonjs/components/MessageOverlay/MessageOverlay.js +110 -115
  251. package/lib/commonjs/components/MessageOverlay/MessageOverlay.js.map +1 -1
  252. package/lib/commonjs/components/MessageOverlay/OverlayBackdrop.js +38 -0
  253. package/lib/commonjs/components/MessageOverlay/OverlayBackdrop.js.map +1 -0
  254. package/lib/commonjs/components/MessageOverlay/OverlayReactionList.js +17 -18
  255. package/lib/commonjs/components/MessageOverlay/OverlayReactionList.js.map +1 -1
  256. package/lib/commonjs/components/MessageOverlay/OverlayReactions.js +31 -34
  257. package/lib/commonjs/components/MessageOverlay/OverlayReactions.js.map +1 -1
  258. package/lib/commonjs/components/MessageOverlay/OverlayReactionsAvatar.js +41 -0
  259. package/lib/commonjs/components/MessageOverlay/OverlayReactionsAvatar.js.map +1 -0
  260. package/lib/commonjs/components/MessageOverlay/hooks/useMessageActionAnimation.js +37 -0
  261. package/lib/commonjs/components/MessageOverlay/hooks/useMessageActionAnimation.js.map +1 -0
  262. package/lib/commonjs/components/Reply/Reply.js +25 -19
  263. package/lib/commonjs/components/Reply/Reply.js.map +1 -1
  264. package/lib/commonjs/components/Thread/Thread.js +6 -6
  265. package/lib/commonjs/components/Thread/Thread.js.map +1 -1
  266. package/lib/commonjs/components/Thread/components/ThreadFooterComponent.js +13 -12
  267. package/lib/commonjs/components/Thread/components/ThreadFooterComponent.js.map +1 -1
  268. package/lib/commonjs/components/docs/ListProps.md +1 -1
  269. package/lib/commonjs/components/docs/data.js +45 -45
  270. package/lib/commonjs/components/docs/data.js.map +1 -1
  271. package/lib/commonjs/components/index.js +133 -55
  272. package/lib/commonjs/components/index.js.map +1 -1
  273. package/lib/commonjs/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js +2 -2
  274. package/lib/commonjs/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js.map +1 -1
  275. package/lib/commonjs/contexts/attachmentPickerContext/AttachmentPickerContext.js +2 -2
  276. package/lib/commonjs/contexts/attachmentPickerContext/AttachmentPickerContext.js.map +1 -1
  277. package/lib/commonjs/contexts/channelContext/ChannelContext.js +2 -2
  278. package/lib/commonjs/contexts/channelContext/ChannelContext.js.map +1 -1
  279. package/lib/commonjs/contexts/channelsContext/ChannelsContext.js +2 -2
  280. package/lib/commonjs/contexts/channelsContext/ChannelsContext.js.map +1 -1
  281. package/lib/commonjs/contexts/channelsStateContext/ChannelsStateContext.js +4 -4
  282. package/lib/commonjs/contexts/channelsStateContext/ChannelsStateContext.js.map +1 -1
  283. package/lib/commonjs/contexts/channelsStateContext/useChannelState.js +3 -3
  284. package/lib/commonjs/contexts/channelsStateContext/useChannelState.js.map +1 -1
  285. package/lib/commonjs/contexts/chatContext/ChatContext.js +2 -2
  286. package/lib/commonjs/contexts/chatContext/ChatContext.js.map +1 -1
  287. package/lib/commonjs/contexts/imageGalleryContext/ImageGalleryContext.js +2 -2
  288. package/lib/commonjs/contexts/imageGalleryContext/ImageGalleryContext.js.map +1 -1
  289. package/lib/commonjs/contexts/keyboardContext/KeyboardContext.js +2 -2
  290. package/lib/commonjs/contexts/keyboardContext/KeyboardContext.js.map +1 -1
  291. package/lib/commonjs/contexts/messageContext/MessageContext.js +2 -2
  292. package/lib/commonjs/contexts/messageContext/MessageContext.js.map +1 -1
  293. package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js +105 -70
  294. package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js.map +1 -1
  295. package/lib/commonjs/contexts/messageInputContext/hooks/useCreateMessageInputContext.js +9 -5
  296. package/lib/commonjs/contexts/messageInputContext/hooks/useCreateMessageInputContext.js.map +1 -1
  297. package/lib/commonjs/contexts/messageInputContext/hooks/useMessageDetailsForState.js +10 -3
  298. package/lib/commonjs/contexts/messageInputContext/hooks/useMessageDetailsForState.js.map +1 -1
  299. package/lib/commonjs/contexts/messageOverlayContext/MessageOverlayContext.js +5 -19
  300. package/lib/commonjs/contexts/messageOverlayContext/MessageOverlayContext.js.map +1 -1
  301. package/lib/commonjs/contexts/messageOverlayContext/hooks/useResettableState.js +36 -0
  302. package/lib/commonjs/contexts/messageOverlayContext/hooks/useResettableState.js.map +1 -0
  303. package/lib/commonjs/contexts/messageOverlayContext/hooks/useResettableState.test.js +105 -0
  304. package/lib/commonjs/contexts/messageOverlayContext/hooks/useResettableState.test.js.map +1 -0
  305. package/lib/commonjs/contexts/messagesContext/MessagesContext.js +2 -2
  306. package/lib/commonjs/contexts/messagesContext/MessagesContext.js.map +1 -1
  307. package/lib/commonjs/contexts/overlayContext/OverlayContext.js +1 -1
  308. package/lib/commonjs/contexts/overlayContext/OverlayContext.js.map +1 -1
  309. package/lib/commonjs/contexts/overlayContext/OverlayProvider.js +49 -51
  310. package/lib/commonjs/contexts/overlayContext/OverlayProvider.js.map +1 -1
  311. package/lib/commonjs/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js +61 -0
  312. package/lib/commonjs/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js.map +1 -0
  313. package/lib/commonjs/contexts/paginatedMessageListContext/PaginatedMessageListContext.js +2 -2
  314. package/lib/commonjs/contexts/paginatedMessageListContext/PaginatedMessageListContext.js.map +1 -1
  315. package/lib/commonjs/contexts/suggestionsContext/SuggestionsContext.js +20 -33
  316. package/lib/commonjs/contexts/suggestionsContext/SuggestionsContext.js.map +1 -1
  317. package/lib/commonjs/contexts/themeContext/ThemeContext.js +2 -2
  318. package/lib/commonjs/contexts/themeContext/ThemeContext.js.map +1 -1
  319. package/lib/commonjs/contexts/themeContext/utils/theme.js +48 -20
  320. package/lib/commonjs/contexts/themeContext/utils/theme.js.map +1 -1
  321. package/lib/commonjs/contexts/threadContext/ThreadContext.js +2 -2
  322. package/lib/commonjs/contexts/threadContext/ThreadContext.js.map +1 -1
  323. package/lib/commonjs/contexts/translationContext/TranslationContext.js +3 -3
  324. package/lib/commonjs/contexts/translationContext/TranslationContext.js.map +1 -1
  325. package/lib/commonjs/contexts/typingContext/TypingContext.js +2 -2
  326. package/lib/commonjs/contexts/typingContext/TypingContext.js.map +1 -1
  327. package/lib/commonjs/contexts/utils/getDisplayName.js.map +1 -1
  328. package/lib/commonjs/emoji-data/compiled.js +0 -315
  329. package/lib/commonjs/emoji-data/compiled.js.map +1 -1
  330. package/lib/commonjs/emoji-data/emojiNames.js +0 -105
  331. package/lib/commonjs/emoji-data/emojiNames.js.map +1 -1
  332. package/lib/commonjs/emoji-data/emojis.js +0 -175
  333. package/lib/commonjs/emoji-data/emojis.js.map +1 -1
  334. package/lib/commonjs/emoji-data/index.js +2 -2
  335. package/lib/commonjs/emoji-data/index.js.map +1 -1
  336. package/lib/commonjs/hooks/useAppStateListener.js +8 -5
  337. package/lib/commonjs/hooks/useAppStateListener.js.map +1 -1
  338. package/lib/commonjs/hooks/useIsMountedRef.js +19 -0
  339. package/lib/commonjs/hooks/useIsMountedRef.js.map +1 -0
  340. package/lib/commonjs/hooks/useStreami18n.js +5 -2
  341. package/lib/commonjs/hooks/useStreami18n.js.map +1 -1
  342. package/lib/commonjs/i18n/en.json +9 -3
  343. package/lib/commonjs/i18n/fr.json +9 -3
  344. package/lib/commonjs/i18n/hi.json +9 -3
  345. package/lib/commonjs/i18n/it.json +9 -3
  346. package/lib/commonjs/i18n/ja.json +9 -0
  347. package/lib/commonjs/i18n/ko.json +9 -0
  348. package/lib/commonjs/i18n/nl.json +9 -3
  349. package/lib/commonjs/i18n/ru.json +9 -3
  350. package/lib/commonjs/i18n/tr.json +10 -4
  351. package/lib/commonjs/icons/Pin.js +42 -0
  352. package/lib/commonjs/icons/Pin.js.map +1 -0
  353. package/lib/commonjs/icons/PinHeader.js +38 -0
  354. package/lib/commonjs/icons/PinHeader.js.map +1 -0
  355. package/lib/commonjs/icons/Unpin.js +38 -0
  356. package/lib/commonjs/icons/Unpin.js.map +1 -0
  357. package/lib/commonjs/icons/UserAdmin.js +62 -0
  358. package/lib/commonjs/icons/UserAdmin.js.map +1 -0
  359. package/lib/commonjs/icons/index.js +39 -26
  360. package/lib/commonjs/icons/index.js.map +1 -1
  361. package/lib/commonjs/icons/utils/base.js +1 -1
  362. package/lib/commonjs/index.js +6 -6
  363. package/lib/commonjs/init.js +13 -0
  364. package/lib/commonjs/init.js.map +1 -0
  365. package/lib/commonjs/mock-builders/api/error.js +1 -1
  366. package/lib/commonjs/mock-builders/api/queryChannels.js +1 -1
  367. package/lib/commonjs/mock-builders/api/queryChannels.js.map +1 -1
  368. package/lib/commonjs/mock-builders/api/sendMessage.js +4 -1
  369. package/lib/commonjs/mock-builders/api/sendMessage.js.map +1 -1
  370. package/lib/commonjs/mock-builders/generator/attachment.js +1 -3
  371. package/lib/commonjs/mock-builders/generator/attachment.js.map +1 -1
  372. package/lib/commonjs/mock-builders/generator/channel.js +101 -50
  373. package/lib/commonjs/mock-builders/generator/channel.js.map +1 -1
  374. package/lib/commonjs/mock-builders/generator/user.js +32 -33
  375. package/lib/commonjs/mock-builders/generator/user.js.map +1 -1
  376. package/lib/commonjs/mock-builders/mock.js +3 -3
  377. package/lib/commonjs/mock-builders/mock.js.map +1 -1
  378. package/lib/commonjs/mock-builders/native/react-native-mock.js +1 -1
  379. package/lib/commonjs/mock-builders/native/react-native-mock.js.map +1 -1
  380. package/lib/commonjs/native.js +1 -7
  381. package/lib/commonjs/native.js.map +1 -1
  382. package/lib/commonjs/utils/Streami18n.js.map +1 -1
  383. package/lib/commonjs/utils/date.js +13 -0
  384. package/lib/commonjs/utils/date.js.map +1 -0
  385. package/lib/commonjs/utils/getResizedImageUrl.js +37 -0
  386. package/lib/commonjs/utils/getResizedImageUrl.js.map +1 -0
  387. package/lib/commonjs/utils/getUrlOfImageAttachment.js +9 -0
  388. package/lib/commonjs/utils/getUrlOfImageAttachment.js.map +1 -0
  389. package/lib/commonjs/utils/utils.js +39 -19
  390. package/lib/commonjs/utils/utils.js.map +1 -1
  391. package/lib/commonjs/version.json +1 -1
  392. package/lib/module/components/Attachment/Attachment.js +16 -15
  393. package/lib/module/components/Attachment/Attachment.js.map +1 -1
  394. package/lib/module/components/Attachment/AttachmentActions.js +4 -4
  395. package/lib/module/components/Attachment/AttachmentActions.js.map +1 -1
  396. package/lib/module/components/Attachment/Card.js +18 -15
  397. package/lib/module/components/Attachment/Card.js.map +1 -1
  398. package/lib/module/components/Attachment/FileAttachment.js +8 -8
  399. package/lib/module/components/Attachment/FileAttachment.js.map +1 -1
  400. package/lib/module/components/Attachment/FileAttachmentGroup.js +4 -4
  401. package/lib/module/components/Attachment/FileAttachmentGroup.js.map +1 -1
  402. package/lib/module/components/Attachment/FileIcon.js.map +1 -1
  403. package/lib/module/components/Attachment/Gallery.js +123 -121
  404. package/lib/module/components/Attachment/Gallery.js.map +1 -1
  405. package/lib/module/components/Attachment/Giphy.js +112 -148
  406. package/lib/module/components/Attachment/Giphy.js.map +1 -1
  407. package/lib/module/components/Attachment/utils/buildGallery/buildGallery.js +46 -0
  408. package/lib/module/components/Attachment/utils/buildGallery/buildGallery.js.map +1 -0
  409. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.js +88 -0
  410. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.js.map +1 -0
  411. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.js +75 -0
  412. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.js.map +1 -0
  413. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.js +43 -0
  414. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.js.map +1 -0
  415. package/lib/module/components/Attachment/utils/buildGallery/buildThumbnail.js +30 -0
  416. package/lib/module/components/Attachment/utils/buildGallery/buildThumbnail.js.map +1 -0
  417. package/lib/module/components/Attachment/utils/buildGallery/buildThumbnailGrid.js +49 -0
  418. package/lib/module/components/Attachment/utils/buildGallery/buildThumbnailGrid.js.map +1 -0
  419. package/lib/module/components/Attachment/utils/buildGallery/types.js +4 -0
  420. package/lib/module/{styleguideComponents/Reanimated.js.map → components/Attachment/utils/buildGallery/types.js.map} +0 -0
  421. package/lib/module/components/Attachment/utils/getAspectRatio.js +14 -0
  422. package/lib/module/components/Attachment/utils/getAspectRatio.js.map +1 -0
  423. package/lib/module/components/Attachment/utils/getGalleryImageBorderRadius.js +36 -0
  424. package/lib/module/components/Attachment/utils/getGalleryImageBorderRadius.js.map +1 -0
  425. package/lib/module/components/AttachmentPicker/AttachmentPicker.js +9 -8
  426. package/lib/module/components/AttachmentPicker/AttachmentPicker.js.map +1 -1
  427. package/lib/module/components/AttachmentPicker/components/AttachmentSelectionBar.js +11 -8
  428. package/lib/module/components/AttachmentPicker/components/AttachmentSelectionBar.js.map +1 -1
  429. package/lib/module/components/AutoCompleteInput/AutoCompleteInput.js +24 -48
  430. package/lib/module/components/AutoCompleteInput/AutoCompleteInput.js.map +1 -1
  431. package/lib/module/components/AutoCompleteInput/{CommandsItem.js → AutoCompleteSuggestionCommandIcon.js} +21 -94
  432. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.js.map +1 -0
  433. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js +145 -0
  434. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js.map +1 -0
  435. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionItem.js +248 -0
  436. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionItem.js.map +1 -0
  437. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionList.js +223 -0
  438. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionList.js.map +1 -0
  439. package/lib/module/components/Avatar/Avatar.js +13 -7
  440. package/lib/module/components/Avatar/Avatar.js.map +1 -1
  441. package/lib/module/components/Avatar/GroupAvatar.js +10 -8
  442. package/lib/module/components/Avatar/GroupAvatar.js.map +1 -1
  443. package/lib/module/components/Channel/Channel.js +303 -202
  444. package/lib/module/components/Channel/Channel.js.map +1 -1
  445. package/lib/module/components/Channel/hooks/useCreateChannelContext.js +7 -5
  446. package/lib/module/components/Channel/hooks/useCreateChannelContext.js.map +1 -1
  447. package/lib/module/components/Channel/hooks/useCreateInputMessageInputContext.js +7 -5
  448. package/lib/module/components/Channel/hooks/useCreateInputMessageInputContext.js.map +1 -1
  449. package/lib/module/components/Channel/hooks/useCreateMessagesContext.js +13 -31
  450. package/lib/module/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
  451. package/lib/module/components/Channel/hooks/useCreateOwnCapabilitiesContext.js +35 -0
  452. package/lib/module/components/Channel/hooks/useCreateOwnCapabilitiesContext.js.map +1 -0
  453. package/lib/module/components/Channel/hooks/useCreatePaginatedMessageListContext.js.map +1 -1
  454. package/lib/module/components/Channel/hooks/useCreateThreadContext.js.map +1 -1
  455. package/lib/module/components/Channel/hooks/useCreateTypingContext.js.map +1 -1
  456. package/lib/module/components/ChannelList/ChannelList.js +6 -6
  457. package/lib/module/components/ChannelList/ChannelList.js.map +1 -1
  458. package/lib/module/components/ChannelList/ChannelListFooterLoadingIndicator.js +5 -4
  459. package/lib/module/components/ChannelList/ChannelListFooterLoadingIndicator.js.map +1 -1
  460. package/lib/module/components/ChannelList/ChannelListHeaderErrorIndicator.js +6 -7
  461. package/lib/module/components/ChannelList/ChannelListHeaderErrorIndicator.js.map +1 -1
  462. package/lib/module/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js +4 -3
  463. package/lib/module/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js.map +1 -1
  464. package/lib/module/components/ChannelList/ChannelListLoadingIndicator.js +7 -4
  465. package/lib/module/components/ChannelList/ChannelListLoadingIndicator.js.map +1 -1
  466. package/lib/module/components/ChannelList/ChannelListMessenger.js +17 -17
  467. package/lib/module/components/ChannelList/ChannelListMessenger.js.map +1 -1
  468. package/lib/module/components/ChannelList/Skeleton.js +14 -13
  469. package/lib/module/components/ChannelList/Skeleton.js.map +1 -1
  470. package/lib/module/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js +2 -2
  471. package/lib/module/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js.map +1 -1
  472. package/lib/module/components/ChannelList/hooks/listeners/useChannelDeleted.js.map +1 -1
  473. package/lib/module/components/ChannelList/hooks/listeners/useChannelHidden.js.map +1 -1
  474. package/lib/module/components/ChannelList/hooks/listeners/useChannelTruncated.js.map +1 -1
  475. package/lib/module/components/ChannelList/hooks/listeners/useChannelUpdated.js.map +1 -1
  476. package/lib/module/components/ChannelList/hooks/listeners/useChannelVisible.js +2 -2
  477. package/lib/module/components/ChannelList/hooks/listeners/useChannelVisible.js.map +1 -1
  478. package/lib/module/components/ChannelList/hooks/listeners/useConnectionRecovered.js +3 -1
  479. package/lib/module/components/ChannelList/hooks/listeners/useConnectionRecovered.js.map +1 -1
  480. package/lib/module/components/ChannelList/hooks/listeners/useNewMessage.js +2 -2
  481. package/lib/module/components/ChannelList/hooks/listeners/useNewMessage.js.map +1 -1
  482. package/lib/module/components/ChannelList/hooks/listeners/useNewMessageNotification.js +3 -3
  483. package/lib/module/components/ChannelList/hooks/listeners/useNewMessageNotification.js.map +1 -1
  484. package/lib/module/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.js.map +1 -1
  485. package/lib/module/components/ChannelList/hooks/listeners/useUserPresence.js.map +1 -1
  486. package/lib/module/components/ChannelList/hooks/useCreateChannelsContext.js +2 -2
  487. package/lib/module/components/ChannelList/hooks/useCreateChannelsContext.js.map +1 -1
  488. package/lib/module/components/ChannelList/hooks/usePaginatedChannels.js +96 -63
  489. package/lib/module/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
  490. package/lib/module/components/ChannelList/utils.js +1 -1
  491. package/lib/module/components/ChannelList/utils.js.map +1 -1
  492. package/lib/module/components/ChannelPreview/ChannelAvatar.js +2 -2
  493. package/lib/module/components/ChannelPreview/ChannelAvatar.js.map +1 -1
  494. package/lib/module/components/ChannelPreview/ChannelPreview.js +4 -4
  495. package/lib/module/components/ChannelPreview/ChannelPreview.js.map +1 -1
  496. package/lib/module/components/ChannelPreview/ChannelPreviewMessage.js +5 -5
  497. package/lib/module/components/ChannelPreview/ChannelPreviewMessage.js.map +1 -1
  498. package/lib/module/components/ChannelPreview/ChannelPreviewMessenger.js +49 -20
  499. package/lib/module/components/ChannelPreview/ChannelPreviewMessenger.js.map +1 -1
  500. package/lib/module/components/ChannelPreview/ChannelPreviewMutedStatus.js +51 -0
  501. package/lib/module/components/ChannelPreview/ChannelPreviewMutedStatus.js.map +1 -0
  502. package/lib/module/components/ChannelPreview/ChannelPreviewStatus.js +4 -4
  503. package/lib/module/components/ChannelPreview/ChannelPreviewStatus.js.map +1 -1
  504. package/lib/module/components/ChannelPreview/ChannelPreviewTitle.js +1 -1
  505. package/lib/module/components/ChannelPreview/ChannelPreviewTitle.js.map +1 -1
  506. package/lib/module/components/ChannelPreview/ChannelPreviewUnreadCount.js +2 -2
  507. package/lib/module/components/ChannelPreview/ChannelPreviewUnreadCount.js.map +1 -1
  508. package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.js +16 -7
  509. package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.js.map +1 -1
  510. package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js.map +1 -1
  511. package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayPresence.js.map +1 -1
  512. package/lib/module/components/ChannelPreview/hooks/useLatestMessagePreview.js +2 -1
  513. package/lib/module/components/ChannelPreview/hooks/useLatestMessagePreview.js.map +1 -1
  514. package/lib/module/components/Chat/Chat.js +8 -4
  515. package/lib/module/components/Chat/Chat.js.map +1 -1
  516. package/lib/module/components/Chat/hooks/useCreateChatContext.js.map +1 -1
  517. package/lib/module/components/Chat/hooks/useIsOnline.js +40 -31
  518. package/lib/module/components/Chat/hooks/useIsOnline.js.map +1 -1
  519. package/lib/module/components/Chat/hooks/useMutedUsers.js.map +1 -1
  520. package/lib/module/components/ImageGallery/ImageGallery.js +107 -97
  521. package/lib/module/components/ImageGallery/ImageGallery.js.map +1 -1
  522. package/lib/module/components/ImageGallery/components/AnimatedGalleryImage.js +2 -2
  523. package/lib/module/components/ImageGallery/components/AnimatedGalleryImage.js.map +1 -1
  524. package/lib/module/components/ImageGallery/components/ImageGalleryFooter.js +12 -12
  525. package/lib/module/components/ImageGallery/components/ImageGalleryFooter.js.map +1 -1
  526. package/lib/module/components/ImageGallery/components/ImageGalleryHeader.js +31 -16
  527. package/lib/module/components/ImageGallery/components/ImageGalleryHeader.js.map +1 -1
  528. package/lib/module/components/ImageGallery/components/ImageGrid.js +7 -9
  529. package/lib/module/components/ImageGallery/components/ImageGrid.js.map +1 -1
  530. package/lib/module/components/ImageGallery/components/ImageGridHandle.js +5 -5
  531. package/lib/module/components/ImageGallery/components/ImageGridHandle.js.map +1 -1
  532. package/lib/module/components/Indicators/LoadingErrorIndicator.js.map +1 -1
  533. package/lib/module/components/Indicators/LoadingIndicator.js +9 -9
  534. package/lib/module/components/Indicators/LoadingIndicator.js.map +1 -1
  535. package/lib/module/components/KeyboardCompatibleView/KeyboardCompatibleView.js +20 -12
  536. package/lib/module/components/KeyboardCompatibleView/KeyboardCompatibleView.js.map +1 -1
  537. package/lib/module/components/Message/Message.js +152 -854
  538. package/lib/module/components/Message/Message.js.map +1 -1
  539. package/lib/module/components/Message/MessageSimple/MessageAvatar.js +6 -6
  540. package/lib/module/components/Message/MessageSimple/MessageAvatar.js.map +1 -1
  541. package/lib/module/components/Message/MessageSimple/MessageContent.js +41 -39
  542. package/lib/module/components/Message/MessageSimple/MessageContent.js.map +1 -1
  543. package/lib/module/components/Message/MessageSimple/MessageDeleted.js +8 -6
  544. package/lib/module/components/Message/MessageSimple/MessageDeleted.js.map +1 -1
  545. package/lib/module/components/Message/MessageSimple/MessageFooter.js +34 -22
  546. package/lib/module/components/Message/MessageSimple/MessageFooter.js.map +1 -1
  547. package/lib/module/components/Message/MessageSimple/MessagePinnedHeader.js +122 -0
  548. package/lib/module/components/Message/MessageSimple/MessagePinnedHeader.js.map +1 -0
  549. package/lib/module/components/Message/MessageSimple/MessageReplies.js +26 -10
  550. package/lib/module/components/Message/MessageSimple/MessageReplies.js.map +1 -1
  551. package/lib/module/components/Message/MessageSimple/MessageRepliesAvatars.js +5 -5
  552. package/lib/module/components/Message/MessageSimple/MessageRepliesAvatars.js.map +1 -1
  553. package/lib/module/components/Message/MessageSimple/MessageSimple.js +31 -14
  554. package/lib/module/components/Message/MessageSimple/MessageSimple.js.map +1 -1
  555. package/lib/module/components/Message/MessageSimple/MessageStatus.js +28 -24
  556. package/lib/module/components/Message/MessageSimple/MessageStatus.js.map +1 -1
  557. package/lib/module/components/Message/MessageSimple/MessageTextContainer.js +7 -3
  558. package/lib/module/components/Message/MessageSimple/MessageTextContainer.js.map +1 -1
  559. package/lib/module/components/Message/MessageSimple/ReactionList.js +86 -113
  560. package/lib/module/components/Message/MessageSimple/ReactionList.js.map +1 -1
  561. package/lib/module/components/Message/MessageSimple/utils/parseLinks.js +89 -0
  562. package/lib/module/components/Message/MessageSimple/utils/parseLinks.js.map +1 -0
  563. package/lib/module/components/Message/MessageSimple/utils/parseLinks.test.js +46 -0
  564. package/lib/module/components/Message/MessageSimple/utils/parseLinks.test.js.map +1 -0
  565. package/lib/module/components/Message/MessageSimple/utils/renderText.js +207 -26
  566. package/lib/module/components/Message/MessageSimple/utils/renderText.js.map +1 -1
  567. package/lib/module/components/Message/MessageSimple/utils/renderText.test.js +240 -0
  568. package/lib/module/components/Message/MessageSimple/utils/renderText.test.js.map +1 -0
  569. package/lib/module/components/Message/hooks/useCreateMessageContext.js +1 -5
  570. package/lib/module/components/Message/hooks/useCreateMessageContext.js.map +1 -1
  571. package/lib/module/components/Message/hooks/useMessageActionHandlers.js +307 -0
  572. package/lib/module/components/Message/hooks/useMessageActionHandlers.js.map +1 -0
  573. package/lib/module/components/Message/hooks/useMessageActions.js +563 -0
  574. package/lib/module/components/Message/hooks/useMessageActions.js.map +1 -0
  575. package/lib/module/components/Message/utils/messageActions.js +17 -15
  576. package/lib/module/components/Message/utils/messageActions.js.map +1 -1
  577. package/lib/module/components/Message/utils/removeReservedFields.js.map +1 -1
  578. package/lib/module/components/MessageInput/AttachButton.js +6 -4
  579. package/lib/module/components/MessageInput/AttachButton.js.map +1 -1
  580. package/lib/module/components/MessageInput/CommandsButton.js +3 -3
  581. package/lib/module/components/MessageInput/CommandsButton.js.map +1 -1
  582. package/lib/module/components/MessageInput/CooldownTimer.js +78 -0
  583. package/lib/module/components/MessageInput/CooldownTimer.js.map +1 -0
  584. package/lib/module/components/MessageInput/FileUploadPreview.js +32 -27
  585. package/lib/module/components/MessageInput/FileUploadPreview.js.map +1 -1
  586. package/lib/module/components/MessageInput/ImageUploadPreview.js +9 -9
  587. package/lib/module/components/MessageInput/ImageUploadPreview.js.map +1 -1
  588. package/lib/module/components/MessageInput/InputButtons.js +17 -22
  589. package/lib/module/components/MessageInput/InputButtons.js.map +1 -1
  590. package/lib/module/components/MessageInput/MessageInput.js +93 -65
  591. package/lib/module/components/MessageInput/MessageInput.js.map +1 -1
  592. package/lib/module/components/MessageInput/MoreOptionsButton.js +3 -3
  593. package/lib/module/components/MessageInput/MoreOptionsButton.js.map +1 -1
  594. package/lib/module/components/MessageInput/SendButton.js +8 -6
  595. package/lib/module/components/MessageInput/SendButton.js.map +1 -1
  596. package/lib/module/components/MessageInput/SendMessageDisallowedIndicator.js +71 -0
  597. package/lib/module/components/MessageInput/SendMessageDisallowedIndicator.js.map +1 -0
  598. package/lib/module/components/MessageInput/ShowThreadMessageInChannelButton.js +11 -10
  599. package/lib/module/components/MessageInput/ShowThreadMessageInChannelButton.js.map +1 -1
  600. package/lib/module/components/MessageInput/hooks/useCooldown.js +63 -0
  601. package/lib/module/components/MessageInput/hooks/useCooldown.js.map +1 -0
  602. package/lib/module/components/MessageInput/hooks/useCountdown.js +57 -0
  603. package/lib/module/components/MessageInput/hooks/useCountdown.js.map +1 -0
  604. package/lib/module/components/MessageList/DateHeader.js +2 -2
  605. package/lib/module/components/MessageList/DateHeader.js.map +1 -1
  606. package/lib/module/components/MessageList/InlineDateSeparator.js +4 -3
  607. package/lib/module/components/MessageList/InlineDateSeparator.js.map +1 -1
  608. package/lib/module/components/MessageList/InlineLoadingMoreIndicator.js +4 -4
  609. package/lib/module/components/MessageList/InlineLoadingMoreIndicator.js.map +1 -1
  610. package/lib/module/components/MessageList/InlineLoadingMoreRecentIndicator.js +4 -4
  611. package/lib/module/components/MessageList/InlineLoadingMoreRecentIndicator.js.map +1 -1
  612. package/lib/module/components/MessageList/InlineLoadingMoreThreadIndicator.js +4 -4
  613. package/lib/module/components/MessageList/InlineLoadingMoreThreadIndicator.js.map +1 -1
  614. package/lib/module/components/MessageList/MessageList.js +106 -58
  615. package/lib/module/components/MessageList/MessageList.js.map +1 -1
  616. package/lib/module/components/MessageList/MessageSystem.js +6 -6
  617. package/lib/module/components/MessageList/MessageSystem.js.map +1 -1
  618. package/lib/module/components/MessageList/ScrollToBottomButton.js +7 -5
  619. package/lib/module/components/MessageList/ScrollToBottomButton.js.map +1 -1
  620. package/lib/module/components/MessageList/TypingIndicator.js +5 -5
  621. package/lib/module/components/MessageList/TypingIndicator.js.map +1 -1
  622. package/lib/module/components/MessageList/TypingIndicatorContainer.js +2 -2
  623. package/lib/module/components/MessageList/TypingIndicatorContainer.js.map +1 -1
  624. package/lib/module/components/MessageList/hooks/useMessageList.js +24 -11
  625. package/lib/module/components/MessageList/hooks/useMessageList.js.map +1 -1
  626. package/lib/module/components/MessageList/hooks/useTypingString.js +2 -2
  627. package/lib/module/components/MessageList/hooks/useTypingString.js.map +1 -1
  628. package/lib/module/components/MessageList/utils/filterTypingUsers.js.map +1 -1
  629. package/lib/module/components/MessageList/utils/getDateSeparators.js +2 -1
  630. package/lib/module/components/MessageList/utils/getDateSeparators.js.map +1 -1
  631. package/lib/module/components/MessageList/utils/getGroupStyles.js +11 -10
  632. package/lib/module/components/MessageList/utils/getGroupStyles.js.map +1 -1
  633. package/lib/module/components/MessageList/utils/getLastReceivedMessage.js +3 -1
  634. package/lib/module/components/MessageList/utils/getLastReceivedMessage.js.map +1 -1
  635. package/lib/module/components/MessageList/utils/getReadStates.js.map +1 -1
  636. package/lib/{commonjs/components/MessageOverlay/MessageActions.js → module/components/MessageOverlay/MessageActionList.js} +33 -85
  637. package/lib/module/components/MessageOverlay/MessageActionList.js.map +1 -0
  638. package/lib/module/components/MessageOverlay/MessageActionListItem.js +131 -0
  639. package/lib/module/components/MessageOverlay/MessageActionListItem.js.map +1 -0
  640. package/lib/module/components/MessageOverlay/MessageOverlay.js +110 -115
  641. package/lib/module/components/MessageOverlay/MessageOverlay.js.map +1 -1
  642. package/lib/module/components/MessageOverlay/OverlayBackdrop.js +38 -0
  643. package/lib/module/components/MessageOverlay/OverlayBackdrop.js.map +1 -0
  644. package/lib/module/components/MessageOverlay/OverlayReactionList.js +17 -18
  645. package/lib/module/components/MessageOverlay/OverlayReactionList.js.map +1 -1
  646. package/lib/module/components/MessageOverlay/OverlayReactions.js +31 -34
  647. package/lib/module/components/MessageOverlay/OverlayReactions.js.map +1 -1
  648. package/lib/module/components/MessageOverlay/OverlayReactionsAvatar.js +41 -0
  649. package/lib/module/components/MessageOverlay/OverlayReactionsAvatar.js.map +1 -0
  650. package/lib/module/components/MessageOverlay/hooks/useMessageActionAnimation.js +37 -0
  651. package/lib/module/components/MessageOverlay/hooks/useMessageActionAnimation.js.map +1 -0
  652. package/lib/module/components/Reply/Reply.js +25 -19
  653. package/lib/module/components/Reply/Reply.js.map +1 -1
  654. package/lib/module/components/Thread/Thread.js +6 -6
  655. package/lib/module/components/Thread/Thread.js.map +1 -1
  656. package/lib/module/components/Thread/components/ThreadFooterComponent.js +13 -12
  657. package/lib/module/components/Thread/components/ThreadFooterComponent.js.map +1 -1
  658. package/lib/module/components/docs/ListProps.md +1 -1
  659. package/lib/module/components/docs/data.js +45 -45
  660. package/lib/module/components/docs/data.js.map +1 -1
  661. package/lib/module/components/index.js +133 -55
  662. package/lib/module/components/index.js.map +1 -1
  663. package/lib/module/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js +2 -2
  664. package/lib/module/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js.map +1 -1
  665. package/lib/module/contexts/attachmentPickerContext/AttachmentPickerContext.js +2 -2
  666. package/lib/module/contexts/attachmentPickerContext/AttachmentPickerContext.js.map +1 -1
  667. package/lib/module/contexts/channelContext/ChannelContext.js +2 -2
  668. package/lib/module/contexts/channelContext/ChannelContext.js.map +1 -1
  669. package/lib/module/contexts/channelsContext/ChannelsContext.js +2 -2
  670. package/lib/module/contexts/channelsContext/ChannelsContext.js.map +1 -1
  671. package/lib/module/contexts/channelsStateContext/ChannelsStateContext.js +4 -4
  672. package/lib/module/contexts/channelsStateContext/ChannelsStateContext.js.map +1 -1
  673. package/lib/module/contexts/channelsStateContext/useChannelState.js +3 -3
  674. package/lib/module/contexts/channelsStateContext/useChannelState.js.map +1 -1
  675. package/lib/module/contexts/chatContext/ChatContext.js +2 -2
  676. package/lib/module/contexts/chatContext/ChatContext.js.map +1 -1
  677. package/lib/module/contexts/imageGalleryContext/ImageGalleryContext.js +2 -2
  678. package/lib/module/contexts/imageGalleryContext/ImageGalleryContext.js.map +1 -1
  679. package/lib/module/contexts/keyboardContext/KeyboardContext.js +2 -2
  680. package/lib/module/contexts/keyboardContext/KeyboardContext.js.map +1 -1
  681. package/lib/module/contexts/messageContext/MessageContext.js +2 -2
  682. package/lib/module/contexts/messageContext/MessageContext.js.map +1 -1
  683. package/lib/module/contexts/messageInputContext/MessageInputContext.js +105 -70
  684. package/lib/module/contexts/messageInputContext/MessageInputContext.js.map +1 -1
  685. package/lib/module/contexts/messageInputContext/hooks/useCreateMessageInputContext.js +9 -5
  686. package/lib/module/contexts/messageInputContext/hooks/useCreateMessageInputContext.js.map +1 -1
  687. package/lib/module/contexts/messageInputContext/hooks/useMessageDetailsForState.js +10 -3
  688. package/lib/module/contexts/messageInputContext/hooks/useMessageDetailsForState.js.map +1 -1
  689. package/lib/module/contexts/messageOverlayContext/MessageOverlayContext.js +5 -19
  690. package/lib/module/contexts/messageOverlayContext/MessageOverlayContext.js.map +1 -1
  691. package/lib/module/contexts/messageOverlayContext/hooks/useResettableState.js +36 -0
  692. package/lib/module/contexts/messageOverlayContext/hooks/useResettableState.js.map +1 -0
  693. package/lib/module/contexts/messageOverlayContext/hooks/useResettableState.test.js +105 -0
  694. package/lib/module/contexts/messageOverlayContext/hooks/useResettableState.test.js.map +1 -0
  695. package/lib/module/contexts/messagesContext/MessagesContext.js +2 -2
  696. package/lib/module/contexts/messagesContext/MessagesContext.js.map +1 -1
  697. package/lib/module/contexts/overlayContext/OverlayContext.js +1 -1
  698. package/lib/module/contexts/overlayContext/OverlayContext.js.map +1 -1
  699. package/lib/module/contexts/overlayContext/OverlayProvider.js +49 -51
  700. package/lib/module/contexts/overlayContext/OverlayProvider.js.map +1 -1
  701. package/lib/module/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js +61 -0
  702. package/lib/module/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js.map +1 -0
  703. package/lib/module/contexts/paginatedMessageListContext/PaginatedMessageListContext.js +2 -2
  704. package/lib/module/contexts/paginatedMessageListContext/PaginatedMessageListContext.js.map +1 -1
  705. package/lib/module/contexts/suggestionsContext/SuggestionsContext.js +20 -33
  706. package/lib/module/contexts/suggestionsContext/SuggestionsContext.js.map +1 -1
  707. package/lib/module/contexts/themeContext/ThemeContext.js +2 -2
  708. package/lib/module/contexts/themeContext/ThemeContext.js.map +1 -1
  709. package/lib/module/contexts/themeContext/utils/theme.js +48 -20
  710. package/lib/module/contexts/themeContext/utils/theme.js.map +1 -1
  711. package/lib/module/contexts/threadContext/ThreadContext.js +2 -2
  712. package/lib/module/contexts/threadContext/ThreadContext.js.map +1 -1
  713. package/lib/module/contexts/translationContext/TranslationContext.js +3 -3
  714. package/lib/module/contexts/translationContext/TranslationContext.js.map +1 -1
  715. package/lib/module/contexts/typingContext/TypingContext.js +2 -2
  716. package/lib/module/contexts/typingContext/TypingContext.js.map +1 -1
  717. package/lib/module/contexts/utils/getDisplayName.js.map +1 -1
  718. package/lib/module/emoji-data/compiled.js +0 -315
  719. package/lib/module/emoji-data/compiled.js.map +1 -1
  720. package/lib/module/emoji-data/emojiNames.js +0 -105
  721. package/lib/module/emoji-data/emojiNames.js.map +1 -1
  722. package/lib/module/emoji-data/emojis.js +0 -175
  723. package/lib/module/emoji-data/emojis.js.map +1 -1
  724. package/lib/module/emoji-data/index.js +2 -2
  725. package/lib/module/emoji-data/index.js.map +1 -1
  726. package/lib/module/hooks/useAppStateListener.js +8 -5
  727. package/lib/module/hooks/useAppStateListener.js.map +1 -1
  728. package/lib/module/hooks/useIsMountedRef.js +19 -0
  729. package/lib/module/hooks/useIsMountedRef.js.map +1 -0
  730. package/lib/module/hooks/useStreami18n.js +5 -2
  731. package/lib/module/hooks/useStreami18n.js.map +1 -1
  732. package/lib/module/i18n/en.json +9 -3
  733. package/lib/module/i18n/fr.json +9 -3
  734. package/lib/module/i18n/hi.json +9 -3
  735. package/lib/module/i18n/it.json +9 -3
  736. package/lib/module/i18n/ja.json +9 -0
  737. package/lib/module/i18n/ko.json +9 -0
  738. package/lib/module/i18n/nl.json +9 -3
  739. package/lib/module/i18n/ru.json +9 -3
  740. package/lib/module/i18n/tr.json +10 -4
  741. package/lib/module/icons/Pin.js +42 -0
  742. package/lib/module/icons/Pin.js.map +1 -0
  743. package/lib/module/icons/PinHeader.js +38 -0
  744. package/lib/module/icons/PinHeader.js.map +1 -0
  745. package/lib/module/icons/Unpin.js +38 -0
  746. package/lib/module/icons/Unpin.js.map +1 -0
  747. package/lib/module/icons/UserAdmin.js +62 -0
  748. package/lib/module/icons/UserAdmin.js.map +1 -0
  749. package/lib/module/icons/index.js +39 -26
  750. package/lib/module/icons/index.js.map +1 -1
  751. package/lib/module/icons/utils/base.js +1 -1
  752. package/lib/module/index.js +6 -6
  753. package/lib/module/init.js +13 -0
  754. package/lib/module/init.js.map +1 -0
  755. package/lib/module/mock-builders/api/error.js +1 -1
  756. package/lib/module/mock-builders/api/queryChannels.js +1 -1
  757. package/lib/module/mock-builders/api/queryChannels.js.map +1 -1
  758. package/lib/module/mock-builders/api/sendMessage.js +4 -1
  759. package/lib/module/mock-builders/api/sendMessage.js.map +1 -1
  760. package/lib/module/mock-builders/generator/attachment.js +1 -3
  761. package/lib/module/mock-builders/generator/attachment.js.map +1 -1
  762. package/lib/module/mock-builders/generator/channel.js +101 -50
  763. package/lib/module/mock-builders/generator/channel.js.map +1 -1
  764. package/lib/module/mock-builders/generator/user.js +32 -33
  765. package/lib/module/mock-builders/generator/user.js.map +1 -1
  766. package/lib/module/mock-builders/mock.js +3 -3
  767. package/lib/module/mock-builders/mock.js.map +1 -1
  768. package/lib/module/mock-builders/native/react-native-mock.js +1 -1
  769. package/lib/module/mock-builders/native/react-native-mock.js.map +1 -1
  770. package/lib/module/native.js +1 -7
  771. package/lib/module/native.js.map +1 -1
  772. package/lib/module/utils/Streami18n.js.map +1 -1
  773. package/lib/module/utils/date.js +13 -0
  774. package/lib/module/utils/date.js.map +1 -0
  775. package/lib/module/utils/getResizedImageUrl.js +37 -0
  776. package/lib/module/utils/getResizedImageUrl.js.map +1 -0
  777. package/lib/module/utils/getUrlOfImageAttachment.js +9 -0
  778. package/lib/module/utils/getUrlOfImageAttachment.js.map +1 -0
  779. package/lib/module/utils/utils.js +39 -19
  780. package/lib/module/utils/utils.js.map +1 -1
  781. package/lib/module/version.json +1 -1
  782. package/lib/typescript/components/Attachment/Attachment.d.ts +6 -6
  783. package/lib/typescript/components/Attachment/AttachmentActions.d.ts +5 -5
  784. package/lib/typescript/components/Attachment/Card.d.ts +7 -5
  785. package/lib/typescript/components/Attachment/FileAttachment.d.ts +6 -6
  786. package/lib/typescript/components/Attachment/FileAttachmentGroup.d.ts +4 -4
  787. package/lib/typescript/components/Attachment/Gallery.d.ts +19 -6
  788. package/lib/typescript/components/Attachment/Giphy.d.ts +7 -7
  789. package/lib/typescript/components/Attachment/utils/buildGallery/buildGallery.d.ts +23 -0
  790. package/lib/typescript/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.d.ts +7 -0
  791. package/lib/typescript/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.d.ts +7 -0
  792. package/lib/typescript/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.d.ts +7 -0
  793. package/lib/typescript/components/Attachment/utils/buildGallery/buildThumbnail.d.ts +10 -0
  794. package/lib/typescript/components/Attachment/utils/buildGallery/buildThumbnailGrid.d.ts +137 -0
  795. package/lib/typescript/components/Attachment/utils/buildGallery/types.d.ts +23 -0
  796. package/lib/typescript/components/Attachment/utils/getAspectRatio.d.ts +9 -0
  797. package/lib/typescript/components/Attachment/utils/getGalleryImageBorderRadius.d.ts +22 -0
  798. package/lib/typescript/components/AutoCompleteInput/AutoCompleteInput.d.ts +10 -4
  799. package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.d.ts +5 -0
  800. package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionHeader.d.ts +8 -0
  801. package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionItem.d.ts +10 -0
  802. package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionList.d.ts +21 -0
  803. package/lib/typescript/components/Avatar/Avatar.d.ts +1 -1
  804. package/lib/typescript/components/Channel/Channel.d.ts +13 -16
  805. package/lib/typescript/components/Channel/hooks/useCreateChannelContext.d.ts +2 -2
  806. package/lib/typescript/components/Channel/hooks/useCreateInputMessageInputContext.d.ts +3 -70
  807. package/lib/typescript/components/Channel/hooks/useCreateMessagesContext.d.ts +3 -126
  808. package/lib/typescript/components/Channel/hooks/useCreateOwnCapabilitiesContext.d.ts +7 -0
  809. package/lib/typescript/components/Channel/hooks/useCreatePaginatedMessageListContext.d.ts +3 -3
  810. package/lib/typescript/components/Channel/hooks/useCreateThreadContext.d.ts +2 -2
  811. package/lib/typescript/components/Channel/hooks/useCreateTypingContext.d.ts +2 -2
  812. package/lib/typescript/components/ChannelList/ChannelList.d.ts +15 -15
  813. package/lib/typescript/components/ChannelList/ChannelListMessenger.d.ts +4 -4
  814. package/lib/typescript/components/ChannelList/hooks/listeners/useAddedToChannelNotification.d.ts +5 -5
  815. package/lib/typescript/components/ChannelList/hooks/listeners/useChannelDeleted.d.ts +5 -5
  816. package/lib/typescript/components/ChannelList/hooks/listeners/useChannelHidden.d.ts +5 -5
  817. package/lib/typescript/components/ChannelList/hooks/listeners/useChannelTruncated.d.ts +5 -5
  818. package/lib/typescript/components/ChannelList/hooks/listeners/useChannelUpdated.d.ts +5 -5
  819. package/lib/typescript/components/ChannelList/hooks/listeners/useChannelVisible.d.ts +5 -5
  820. package/lib/typescript/components/ChannelList/hooks/listeners/useConnectionRecovered.d.ts +2 -2
  821. package/lib/typescript/components/ChannelList/hooks/listeners/useNewMessage.d.ts +4 -4
  822. package/lib/typescript/components/ChannelList/hooks/listeners/useNewMessageNotification.d.ts +5 -5
  823. package/lib/typescript/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.d.ts +5 -5
  824. package/lib/typescript/components/ChannelList/hooks/listeners/useUserPresence.d.ts +4 -4
  825. package/lib/typescript/components/ChannelList/hooks/useCreateChannelsContext.d.ts +2 -2
  826. package/lib/typescript/components/ChannelList/hooks/usePaginatedChannels.d.ts +11 -9
  827. package/lib/typescript/components/ChannelList/utils.d.ts +7 -7
  828. package/lib/typescript/components/ChannelPreview/ChannelAvatar.d.ts +3 -3
  829. package/lib/typescript/components/ChannelPreview/ChannelPreview.d.ts +7 -7
  830. package/lib/typescript/components/ChannelPreview/ChannelPreviewMessage.d.ts +4 -5
  831. package/lib/typescript/components/ChannelPreview/ChannelPreviewMessenger.d.ts +6 -6
  832. package/lib/typescript/components/ChannelPreview/ChannelPreviewMutedStatus.d.ts +9 -0
  833. package/lib/typescript/components/ChannelPreview/ChannelPreviewStatus.d.ts +3 -3
  834. package/lib/typescript/components/ChannelPreview/ChannelPreviewTitle.d.ts +3 -3
  835. package/lib/typescript/components/ChannelPreview/ChannelPreviewUnreadCount.d.ts +3 -3
  836. package/lib/typescript/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.d.ts +15 -3
  837. package/lib/typescript/components/ChannelPreview/hooks/useChannelPreviewDisplayName.d.ts +4 -4
  838. package/lib/typescript/components/ChannelPreview/hooks/useChannelPreviewDisplayPresence.d.ts +2 -2
  839. package/lib/typescript/components/ChannelPreview/hooks/useLatestMessagePreview.d.ts +5 -5
  840. package/lib/typescript/components/Chat/Chat.d.ts +3 -3
  841. package/lib/typescript/components/Chat/hooks/useCreateChatContext.d.ts +2 -2
  842. package/lib/typescript/components/Chat/hooks/useIsOnline.d.ts +2 -2
  843. package/lib/typescript/components/Chat/hooks/useMutedUsers.d.ts +2 -2
  844. package/lib/typescript/components/ImageGallery/ImageGallery.d.ts +13 -11
  845. package/lib/typescript/components/ImageGallery/components/AnimatedGalleryImage.d.ts +1 -1
  846. package/lib/typescript/components/ImageGallery/components/ImageGalleryFooter.d.ts +10 -10
  847. package/lib/typescript/components/ImageGallery/components/ImageGalleryHeader.d.ts +10 -10
  848. package/lib/typescript/components/ImageGallery/components/ImageGrid.d.ts +10 -11
  849. package/lib/typescript/components/ImageGallery/components/__tests__/ImageGalleryHeader.test.d.ts +1 -0
  850. package/lib/typescript/components/Indicators/LoadingErrorIndicator.d.ts +1 -1
  851. package/lib/typescript/components/KeyboardCompatibleView/KeyboardCompatibleView.d.ts +2 -1
  852. package/lib/typescript/components/Message/Message.d.ts +14 -13
  853. package/lib/typescript/components/Message/MessageSimple/MessageAvatar.d.ts +5 -5
  854. package/lib/typescript/components/Message/MessageSimple/MessageContent.d.ts +4 -4
  855. package/lib/typescript/components/Message/MessageSimple/MessageDeleted.d.ts +6 -6
  856. package/lib/typescript/components/Message/MessageSimple/MessageFooter.d.ts +8 -8
  857. package/lib/typescript/components/Message/MessageSimple/MessagePinnedHeader.d.ts +8 -0
  858. package/lib/typescript/components/Message/MessageSimple/MessageReplies.d.ts +4 -4
  859. package/lib/typescript/components/Message/MessageSimple/MessageRepliesAvatars.d.ts +3 -3
  860. package/lib/typescript/components/Message/MessageSimple/MessageSimple.d.ts +4 -4
  861. package/lib/typescript/components/Message/MessageSimple/MessageStatus.d.ts +4 -4
  862. package/lib/typescript/components/Message/MessageSimple/MessageTextContainer.d.ts +7 -6
  863. package/lib/typescript/components/Message/MessageSimple/ReactionList.d.ts +5 -4
  864. package/lib/typescript/components/Message/MessageSimple/utils/parseLinks.d.ts +7 -0
  865. package/lib/typescript/components/Message/MessageSimple/utils/parseLinks.test.d.ts +1 -0
  866. package/lib/typescript/components/Message/MessageSimple/utils/renderText.d.ts +21 -6
  867. package/lib/typescript/components/Message/MessageSimple/utils/renderText.test.d.ts +1 -0
  868. package/lib/typescript/components/Message/hooks/useCreateMessageContext.d.ts +2 -2
  869. package/lib/typescript/components/Message/hooks/useMessageActionHandlers.d.ts +15 -0
  870. package/lib/typescript/components/Message/hooks/useMessageActions.d.ts +26 -0
  871. package/lib/typescript/components/Message/utils/messageActions.d.ts +22 -21
  872. package/lib/typescript/components/Message/utils/removeReservedFields.d.ts +2 -2
  873. package/lib/typescript/components/MessageInput/AttachButton.d.ts +5 -5
  874. package/lib/typescript/components/MessageInput/CommandsButton.d.ts +5 -5
  875. package/lib/typescript/components/MessageInput/CooldownTimer.d.ts +10 -0
  876. package/lib/typescript/components/MessageInput/FileUploadPreview.d.ts +4 -4
  877. package/lib/typescript/components/MessageInput/ImageUploadPreview.d.ts +4 -4
  878. package/lib/typescript/components/MessageInput/InputButtons.d.ts +5 -5
  879. package/lib/typescript/components/MessageInput/MessageInput.d.ts +4 -4
  880. package/lib/typescript/components/MessageInput/MoreOptionsButton.d.ts +5 -5
  881. package/lib/typescript/components/MessageInput/SendButton.d.ts +4 -4
  882. package/lib/typescript/components/MessageInput/SendMessageDisallowedIndicator.d.ts +1 -0
  883. package/lib/typescript/components/MessageInput/ShowThreadMessageInChannelButton.d.ts +2 -2
  884. package/lib/typescript/components/MessageInput/hooks/useCooldown.d.ts +9 -0
  885. package/lib/typescript/components/MessageInput/hooks/useCountdown.d.ts +8 -0
  886. package/lib/typescript/components/MessageList/InlineLoadingMoreIndicator.d.ts +2 -2
  887. package/lib/typescript/components/MessageList/InlineLoadingMoreRecentIndicator.d.ts +2 -2
  888. package/lib/typescript/components/MessageList/InlineLoadingMoreThreadIndicator.d.ts +2 -2
  889. package/lib/typescript/components/MessageList/MessageList.d.ts +8 -7
  890. package/lib/typescript/components/MessageList/MessageSystem.d.ts +5 -5
  891. package/lib/typescript/components/MessageList/TypingIndicator.d.ts +2 -2
  892. package/lib/typescript/components/MessageList/TypingIndicatorContainer.d.ts +4 -4
  893. package/lib/typescript/components/MessageList/hooks/useMessageList.d.ts +6 -5
  894. package/lib/typescript/components/MessageList/hooks/useTypingString.d.ts +2 -2
  895. package/lib/typescript/components/MessageList/utils/filterTypingUsers.d.ts +3 -3
  896. package/lib/typescript/components/MessageList/utils/getDateSeparators.d.ts +4 -4
  897. package/lib/typescript/components/MessageList/utils/getGroupStyles.d.ts +5 -5
  898. package/lib/typescript/components/MessageList/utils/getLastReceivedMessage.d.ts +2 -2
  899. package/lib/typescript/components/MessageList/utils/getReadStates.d.ts +8 -5
  900. package/lib/typescript/components/MessageOverlay/MessageActionList.d.ts +12 -0
  901. package/lib/typescript/components/MessageOverlay/MessageActionListItem.d.ts +21 -0
  902. package/lib/typescript/components/MessageOverlay/MessageOverlay.d.ts +6 -7
  903. package/lib/typescript/components/MessageOverlay/OverlayBackdrop.d.ts +6 -0
  904. package/lib/typescript/components/MessageOverlay/OverlayReactionList.d.ts +6 -7
  905. package/lib/typescript/components/MessageOverlay/OverlayReactions.d.ts +3 -1
  906. package/lib/typescript/components/MessageOverlay/OverlayReactionsAvatar.d.ts +7 -0
  907. package/lib/typescript/components/MessageOverlay/hooks/useMessageActionAnimation.d.ts +12 -0
  908. package/lib/typescript/components/Reply/Reply.d.ts +5 -5
  909. package/lib/typescript/components/Thread/Thread.d.ts +8 -8
  910. package/lib/typescript/components/Thread/components/ThreadFooterComponent.d.ts +2 -2
  911. package/lib/typescript/components/index.d.ts +13 -7
  912. package/lib/typescript/contexts/attachmentPickerContext/AttachmentPickerContext.d.ts +2 -2
  913. package/lib/typescript/contexts/channelContext/ChannelContext.d.ts +39 -40
  914. package/lib/typescript/contexts/channelsContext/ChannelsContext.d.ts +30 -22
  915. package/lib/typescript/contexts/channelsStateContext/ChannelsStateContext.d.ts +19 -19
  916. package/lib/typescript/contexts/channelsStateContext/useChannelState.d.ts +17 -17
  917. package/lib/typescript/contexts/chatContext/ChatContext.d.ts +11 -11
  918. package/lib/typescript/contexts/imageGalleryContext/ImageGalleryContext.d.ts +8 -8
  919. package/lib/typescript/contexts/keyboardContext/KeyboardContext.d.ts +2 -2
  920. package/lib/typescript/contexts/messageContext/MessageContext.d.ts +12 -16
  921. package/lib/typescript/contexts/messageInputContext/MessageInputContext.d.ts +53 -42
  922. package/lib/typescript/contexts/messageInputContext/hooks/useCreateMessageInputContext.d.ts +3 -3
  923. package/lib/typescript/contexts/messageInputContext/hooks/useMessageDetailsForState.d.ts +3 -3
  924. package/lib/typescript/contexts/messageOverlayContext/MessageOverlayContext.d.ts +31 -32
  925. package/lib/typescript/contexts/messageOverlayContext/hooks/useResettableState.d.ts +12 -0
  926. package/lib/typescript/contexts/messageOverlayContext/hooks/useResettableState.test.d.ts +1 -0
  927. package/lib/typescript/contexts/messagesContext/MessagesContext.d.ts +77 -166
  928. package/lib/typescript/contexts/overlayContext/OverlayContext.d.ts +15 -8
  929. package/lib/typescript/contexts/overlayContext/OverlayProvider.d.ts +2 -2
  930. package/lib/typescript/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.d.ts +25 -0
  931. package/lib/typescript/contexts/paginatedMessageListContext/PaginatedMessageListContext.d.ts +8 -8
  932. package/lib/typescript/contexts/suggestionsContext/SuggestionsContext.d.ts +29 -28
  933. package/lib/typescript/contexts/themeContext/utils/theme.d.ts +48 -17
  934. package/lib/typescript/contexts/threadContext/ThreadContext.d.ts +10 -10
  935. package/lib/typescript/contexts/translationContext/TranslationContext.d.ts +2 -2
  936. package/lib/typescript/contexts/typingContext/TypingContext.d.ts +8 -8
  937. package/lib/typescript/contexts/utils/getDisplayName.d.ts +2 -2
  938. package/lib/typescript/hooks/useIsMountedRef.d.ts +20 -0
  939. package/lib/typescript/i18n/en.json +9 -3
  940. package/lib/typescript/i18n/fr.json +9 -3
  941. package/lib/typescript/i18n/hi.json +9 -3
  942. package/lib/typescript/i18n/it.json +9 -3
  943. package/lib/typescript/i18n/ja.json +9 -0
  944. package/lib/typescript/i18n/ko.json +9 -0
  945. package/lib/typescript/i18n/nl.json +9 -3
  946. package/lib/typescript/i18n/ru.json +9 -3
  947. package/lib/typescript/i18n/tr.json +10 -4
  948. package/lib/typescript/icons/{Left.d.ts → Pin.d.ts} +1 -1
  949. package/lib/typescript/icons/PinHeader.d.ts +3 -0
  950. package/lib/typescript/icons/{Right.d.ts → Unpin.d.ts} +1 -1
  951. package/lib/typescript/icons/UserAdmin.d.ts +3 -0
  952. package/lib/typescript/icons/index.d.ts +3 -2
  953. package/lib/typescript/init.d.ts +2 -0
  954. package/lib/typescript/native.d.ts +1 -9
  955. package/lib/typescript/types/types.d.ts +16 -13
  956. package/lib/typescript/utils/Streami18n.d.ts +15 -12
  957. package/lib/typescript/utils/date.d.ts +2 -0
  958. package/lib/typescript/utils/getResizedImageUrl.d.ts +20 -0
  959. package/lib/typescript/utils/getUrlOfImageAttachment.d.ts +7 -0
  960. package/lib/typescript/utils/utils.d.ts +36 -30
  961. package/package.json +15 -20
  962. package/src/components/Attachment/Attachment.tsx +20 -61
  963. package/src/components/Attachment/AttachmentActions.tsx +17 -57
  964. package/src/components/Attachment/Card.tsx +22 -52
  965. package/src/components/Attachment/FileAttachment.tsx +16 -51
  966. package/src/components/Attachment/FileAttachmentGroup.tsx +16 -57
  967. package/src/components/Attachment/FileIcon.tsx +2 -2
  968. package/src/components/Attachment/Gallery.tsx +209 -241
  969. package/src/components/Attachment/Giphy.tsx +84 -128
  970. package/src/components/Attachment/__tests__/Attachment.test.js +27 -19
  971. package/src/components/Attachment/__tests__/Gallery.test.js +233 -0
  972. package/src/components/Attachment/__tests__/buildGallery.test.js +131 -0
  973. package/src/components/Attachment/utils/buildGallery/buildGallery.ts +77 -0
  974. package/src/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.ts +91 -0
  975. package/src/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.ts +99 -0
  976. package/src/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.ts +66 -0
  977. package/src/components/Attachment/utils/buildGallery/buildThumbnail.ts +48 -0
  978. package/src/components/Attachment/utils/buildGallery/buildThumbnailGrid.ts +188 -0
  979. package/src/components/Attachment/utils/buildGallery/types.ts +27 -0
  980. package/src/components/Attachment/utils/getAspectRatio.ts +21 -0
  981. package/src/components/Attachment/utils/getGalleryImageBorderRadius.ts +71 -0
  982. package/src/components/AttachmentPicker/AttachmentPicker.tsx +4 -2
  983. package/src/components/AttachmentPicker/components/AttachmentSelectionBar.tsx +15 -3
  984. package/src/components/AutoCompleteInput/AutoCompleteInput.tsx +66 -96
  985. package/src/components/AutoCompleteInput/{CommandsItem.tsx → AutoCompleteSuggestionCommandIcon.tsx} +7 -59
  986. package/src/components/AutoCompleteInput/AutoCompleteSuggestionHeader.tsx +102 -0
  987. package/src/components/AutoCompleteInput/AutoCompleteSuggestionItem.tsx +149 -0
  988. package/src/components/AutoCompleteInput/AutoCompleteSuggestionList.tsx +209 -0
  989. package/src/components/AutoCompleteInput/__tests__/AutoCompleteInput.test.js +10 -16
  990. package/src/components/Avatar/Avatar.tsx +8 -11
  991. package/src/components/Avatar/GroupAvatar.tsx +7 -21
  992. package/src/components/Avatar/__tests__/Avatar.test.js +2 -33
  993. package/src/components/Channel/Channel.tsx +495 -477
  994. package/src/components/Channel/__tests__/Channel.test.js +63 -100
  995. package/src/components/Channel/__tests__/ownCapabilities.test.js +376 -0
  996. package/src/components/Channel/hooks/useCreateChannelContext.ts +11 -25
  997. package/src/components/Channel/hooks/useCreateInputMessageInputContext.ts +54 -69
  998. package/src/components/Channel/hooks/useCreateMessagesContext.ts +17 -49
  999. package/src/components/Channel/hooks/useCreateOwnCapabilitiesContext.ts +39 -0
  1000. package/src/components/Channel/hooks/useCreatePaginatedMessageListContext.ts +16 -32
  1001. package/src/components/Channel/hooks/useCreateThreadContext.ts +4 -19
  1002. package/src/components/Channel/hooks/useCreateTypingContext.ts +4 -19
  1003. package/src/components/ChannelList/ChannelList.tsx +36 -58
  1004. package/src/components/ChannelList/ChannelListFooterLoadingIndicator.tsx +2 -3
  1005. package/src/components/ChannelList/ChannelListHeaderErrorIndicator.tsx +3 -7
  1006. package/src/components/ChannelList/ChannelListHeaderNetworkDownIndicator.tsx +5 -2
  1007. package/src/components/ChannelList/ChannelListLoadingIndicator.tsx +5 -1
  1008. package/src/components/ChannelList/ChannelListMessenger.tsx +22 -74
  1009. package/src/components/ChannelList/Skeleton.tsx +2 -1
  1010. package/src/components/ChannelList/__tests__/ChannelList.test.js +75 -16
  1011. package/src/components/ChannelList/__tests__/ChannelListMessenger.test.js +46 -14
  1012. package/src/components/ChannelList/hooks/listeners/useAddedToChannelNotification.ts +17 -39
  1013. package/src/components/ChannelList/hooks/listeners/useChannelDeleted.ts +15 -37
  1014. package/src/components/ChannelList/hooks/listeners/useChannelHidden.ts +15 -37
  1015. package/src/components/ChannelList/hooks/listeners/useChannelTruncated.ts +17 -39
  1016. package/src/components/ChannelList/hooks/listeners/useChannelUpdated.ts +15 -37
  1017. package/src/components/ChannelList/hooks/listeners/useChannelVisible.ts +17 -39
  1018. package/src/components/ChannelList/hooks/listeners/useConnectionRecovered.ts +8 -20
  1019. package/src/components/ChannelList/hooks/listeners/useNewMessage.ts +13 -36
  1020. package/src/components/ChannelList/hooks/listeners/useNewMessageNotification.ts +17 -39
  1021. package/src/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.ts +15 -37
  1022. package/src/components/ChannelList/hooks/listeners/useUserPresence.ts +11 -33
  1023. package/src/components/ChannelList/hooks/useCreateChannelsContext.ts +5 -21
  1024. package/src/components/ChannelList/hooks/usePaginatedChannels.ts +95 -70
  1025. package/src/components/ChannelList/utils.ts +9 -42
  1026. package/src/components/ChannelPreview/ChannelAvatar.tsx +6 -29
  1027. package/src/components/ChannelPreview/ChannelPreview.tsx +21 -54
  1028. package/src/components/ChannelPreview/ChannelPreviewMessage.tsx +14 -24
  1029. package/src/components/ChannelPreview/ChannelPreviewMessenger.tsx +39 -56
  1030. package/src/components/ChannelPreview/ChannelPreviewMutedStatus.tsx +50 -0
  1031. package/src/components/ChannelPreview/ChannelPreviewStatus.tsx +10 -30
  1032. package/src/components/ChannelPreview/ChannelPreviewTitle.tsx +7 -28
  1033. package/src/components/ChannelPreview/ChannelPreviewUnreadCount.tsx +7 -27
  1034. package/src/components/ChannelPreview/__tests__/ChannelPreview.test.js +16 -22
  1035. package/src/components/ChannelPreview/__tests__/ChannelPreviewMessenger.test.js +23 -14
  1036. package/src/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.ts +15 -30
  1037. package/src/components/ChannelPreview/hooks/useChannelPreviewDisplayName.ts +8 -30
  1038. package/src/components/ChannelPreview/hooks/useChannelPreviewDisplayPresence.ts +9 -30
  1039. package/src/components/ChannelPreview/hooks/useLatestMessagePreview.ts +31 -81
  1040. package/src/components/Chat/Chat.tsx +19 -44
  1041. package/src/components/Chat/__tests__/Chat.test.js +12 -47
  1042. package/src/components/Chat/hooks/useCreateChatContext.ts +4 -19
  1043. package/src/components/Chat/hooks/useIsOnline.ts +45 -56
  1044. package/src/components/Chat/hooks/useMutedUsers.ts +5 -20
  1045. package/src/components/ImageGallery/ImageGallery.tsx +127 -133
  1046. package/src/components/ImageGallery/components/AnimatedGalleryImage.tsx +1 -2
  1047. package/src/components/ImageGallery/components/ImageGalleryFooter.tsx +20 -15
  1048. package/src/components/ImageGallery/components/ImageGalleryHeader.tsx +45 -25
  1049. package/src/components/ImageGallery/components/ImageGrid.tsx +46 -35
  1050. package/src/components/ImageGallery/components/ImageGridHandle.tsx +1 -0
  1051. package/src/components/ImageGallery/components/__tests__/ImageGalleryHeader.test.tsx +31 -0
  1052. package/src/components/Indicators/LoadingErrorIndicator.tsx +1 -1
  1053. package/src/components/Indicators/LoadingIndicator.tsx +1 -2
  1054. package/src/components/KeyboardCompatibleView/KeyboardCompatibleView.tsx +9 -2
  1055. package/src/components/Message/Message.tsx +196 -688
  1056. package/src/components/Message/MessageSimple/MessageAvatar.tsx +14 -56
  1057. package/src/components/Message/MessageSimple/MessageContent.tsx +42 -87
  1058. package/src/components/Message/MessageSimple/MessageDeleted.tsx +24 -63
  1059. package/src/components/Message/MessageSimple/MessageFooter.tsx +60 -84
  1060. package/src/components/Message/MessageSimple/MessagePinnedHeader.tsx +109 -0
  1061. package/src/components/Message/MessageSimple/MessageReplies.tsx +19 -60
  1062. package/src/components/Message/MessageSimple/MessageRepliesAvatars.tsx +7 -29
  1063. package/src/components/Message/MessageSimple/MessageSimple.tsx +64 -78
  1064. package/src/components/Message/MessageSimple/MessageStatus.tsx +35 -88
  1065. package/src/components/Message/MessageSimple/MessageTextContainer.tsx +24 -66
  1066. package/src/components/Message/MessageSimple/ReactionList.tsx +110 -163
  1067. package/src/components/Message/MessageSimple/__tests__/Message.test.js +24 -258
  1068. package/src/components/Message/MessageSimple/__tests__/MessageAvatar.test.js +9 -8
  1069. package/src/components/Message/MessageSimple/__tests__/MessageContent.test.js +63 -46
  1070. package/src/components/Message/MessageSimple/__tests__/MessagePinnedHeader.test.js +53 -0
  1071. package/src/components/Message/MessageSimple/__tests__/MessageReplies.test.js +13 -9
  1072. package/src/components/Message/MessageSimple/__tests__/MessageStatus.test.js +11 -47
  1073. package/src/components/Message/MessageSimple/__tests__/MessageTextContainer.test.js +2 -2
  1074. package/src/components/Message/MessageSimple/__tests__/__snapshots__/MessageAvatar.test.js.snap +35 -22
  1075. package/src/components/Message/MessageSimple/__tests__/__snapshots__/MessagePinnedHeader.test.js.snap +80 -0
  1076. package/src/components/Message/MessageSimple/__tests__/__snapshots__/MessageReplies.test.js.snap +72 -46
  1077. package/src/components/Message/MessageSimple/__tests__/__snapshots__/MessageStatus.test.js.snap +77 -48
  1078. package/src/components/Message/MessageSimple/__tests__/__snapshots__/MessageTextContainer.test.js.snap +6 -18
  1079. package/src/components/Message/MessageSimple/utils/parseLinks.test.ts +100 -0
  1080. package/src/components/Message/MessageSimple/utils/parseLinks.ts +95 -0
  1081. package/src/components/Message/MessageSimple/utils/renderText.test.tsx +70 -0
  1082. package/src/components/Message/MessageSimple/utils/renderText.tsx +138 -63
  1083. package/src/components/Message/hooks/useCreateMessageContext.ts +5 -26
  1084. package/src/components/Message/hooks/useMessageActionHandlers.ts +157 -0
  1085. package/src/components/Message/hooks/useMessageActions.tsx +371 -0
  1086. package/src/components/Message/utils/messageActions.ts +53 -54
  1087. package/src/components/Message/utils/removeReservedFields.ts +3 -18
  1088. package/src/components/MessageInput/AttachButton.tsx +15 -57
  1089. package/src/components/MessageInput/CommandsButton.tsx +16 -58
  1090. package/src/components/MessageInput/CooldownTimer.tsx +67 -0
  1091. package/src/components/MessageInput/FileUploadPreview.tsx +86 -118
  1092. package/src/components/MessageInput/ImageUploadPreview.tsx +15 -58
  1093. package/src/components/MessageInput/InputButtons.tsx +17 -64
  1094. package/src/components/MessageInput/MessageInput.tsx +83 -97
  1095. package/src/components/MessageInput/MoreOptionsButton.tsx +14 -56
  1096. package/src/components/MessageInput/SendButton.tsx +14 -55
  1097. package/src/components/MessageInput/SendMessageDisallowedIndicator.tsx +47 -0
  1098. package/src/components/MessageInput/ShowThreadMessageInChannelButton.tsx +6 -21
  1099. package/src/components/MessageInput/__tests__/AttachButton.test.js +2 -2
  1100. package/src/components/MessageInput/__tests__/FileUploadPreview.test.js +193 -97
  1101. package/src/components/MessageInput/__tests__/ImageUploadPreview.test.js +35 -35
  1102. package/src/components/MessageInput/__tests__/MessageInput.test.js +29 -17
  1103. package/src/components/MessageInput/__tests__/SendButton.test.js +2 -2
  1104. package/src/components/MessageInput/__tests__/UploadProgressIndicator.test.js +2 -2
  1105. package/src/components/MessageInput/__tests__/__snapshots__/AttachButton.test.js.snap +134 -52
  1106. package/src/components/MessageInput/__tests__/__snapshots__/FileUploadPreview.test.js.snap +3955 -1647
  1107. package/src/components/MessageInput/__tests__/__snapshots__/ImageUploadPreview.test.js.snap +1964 -1464
  1108. package/src/components/MessageInput/__tests__/__snapshots__/MessageInput.test.js.snap +633 -326
  1109. package/src/components/MessageInput/__tests__/__snapshots__/SendButton.test.js.snap +224 -124
  1110. package/src/components/MessageInput/__tests__/__snapshots__/UploadProgressIndicator.test.js.snap +85 -17
  1111. package/src/components/MessageInput/hooks/useCooldown.ts +48 -0
  1112. package/src/components/MessageInput/hooks/useCountdown.ts +48 -0
  1113. package/src/components/MessageList/DateHeader.tsx +2 -2
  1114. package/src/components/MessageList/InlineDateSeparator.tsx +5 -2
  1115. package/src/components/MessageList/InlineLoadingMoreIndicator.tsx +3 -18
  1116. package/src/components/MessageList/InlineLoadingMoreRecentIndicator.tsx +3 -18
  1117. package/src/components/MessageList/InlineLoadingMoreThreadIndicator.tsx +3 -18
  1118. package/src/components/MessageList/MessageList.tsx +198 -152
  1119. package/src/components/MessageList/MessageSystem.tsx +7 -28
  1120. package/src/components/MessageList/ScrollToBottomButton.tsx +6 -1
  1121. package/src/components/MessageList/TypingIndicator.tsx +4 -20
  1122. package/src/components/MessageList/TypingIndicatorContainer.tsx +14 -47
  1123. package/src/components/MessageList/__tests__/MessageList.test.js +231 -152
  1124. package/src/components/MessageList/__tests__/MessageSystem.test.js +3 -3
  1125. package/src/components/MessageList/__tests__/ScrollToBottomButton.test.js +13 -8
  1126. package/src/components/MessageList/__tests__/TypingIndicator.test.js +14 -97
  1127. package/src/components/MessageList/__tests__/__snapshots__/MessageSystem.test.js.snap +9 -4
  1128. package/src/components/MessageList/__tests__/__snapshots__/ScrollToBottomButton.test.js.snap +78 -32
  1129. package/src/components/MessageList/__tests__/__snapshots__/TypingIndicator.test.js.snap +60 -57
  1130. package/src/components/MessageList/hooks/useMessageList.ts +39 -62
  1131. package/src/components/MessageList/hooks/useTypingString.ts +6 -22
  1132. package/src/components/MessageList/utils/filterTypingUsers.ts +7 -28
  1133. package/src/components/MessageList/utils/getDateSeparators.ts +10 -30
  1134. package/src/components/MessageList/utils/getGroupStyles.ts +23 -44
  1135. package/src/components/MessageList/utils/getLastReceivedMessage.ts +9 -19
  1136. package/src/components/MessageList/utils/getReadStates.ts +5 -20
  1137. package/src/components/MessageOverlay/MessageActionList.tsx +170 -0
  1138. package/src/components/MessageOverlay/MessageActionListItem.tsx +124 -0
  1139. package/src/components/MessageOverlay/MessageOverlay.tsx +279 -310
  1140. package/src/components/MessageOverlay/OverlayBackdrop.tsx +18 -0
  1141. package/src/components/MessageOverlay/OverlayReactionList.tsx +24 -82
  1142. package/src/components/MessageOverlay/OverlayReactions.tsx +12 -8
  1143. package/src/components/MessageOverlay/OverlayReactionsAvatar.tsx +27 -0
  1144. package/src/components/MessageOverlay/hooks/useMessageActionAnimation.tsx +44 -0
  1145. package/src/components/Reply/Reply.tsx +44 -81
  1146. package/src/components/Thread/Thread.tsx +24 -58
  1147. package/src/components/Thread/__tests__/Thread.test.js +58 -77
  1148. package/src/components/Thread/__tests__/__snapshots__/Thread.test.js.snap +874 -1011
  1149. package/src/components/Thread/components/ThreadFooterComponent.tsx +13 -49
  1150. package/src/components/docs/ListProps.md +1 -1
  1151. package/src/components/docs/data.js +38 -37
  1152. package/src/components/index.ts +13 -7
  1153. package/src/contexts/activeChannelsRefContext/ActiveChannelsRefContext.tsx +1 -2
  1154. package/src/contexts/attachmentPickerContext/AttachmentPickerContext.tsx +10 -9
  1155. package/src/contexts/channelContext/ChannelContext.tsx +43 -79
  1156. package/src/contexts/channelsContext/ChannelsContext.tsx +37 -63
  1157. package/src/contexts/channelsStateContext/ChannelsStateContext.tsx +39 -117
  1158. package/src/contexts/channelsStateContext/useChannelState.ts +29 -61
  1159. package/src/contexts/chatContext/ChatContext.tsx +15 -51
  1160. package/src/contexts/imageGalleryContext/ImageGalleryContext.tsx +13 -56
  1161. package/src/contexts/keyboardContext/KeyboardContext.tsx +13 -8
  1162. package/src/contexts/messageContext/MessageContext.tsx +16 -57
  1163. package/src/contexts/messageInputContext/MessageInputContext.tsx +146 -157
  1164. package/src/contexts/messageInputContext/hooks/useCreateMessageInputContext.ts +13 -26
  1165. package/src/contexts/messageInputContext/hooks/useMessageDetailsForState.ts +15 -34
  1166. package/src/contexts/messageOverlayContext/MessageOverlayContext.tsx +41 -97
  1167. package/src/contexts/messageOverlayContext/hooks/useResettableState.test.tsx +46 -0
  1168. package/src/contexts/messageOverlayContext/hooks/useResettableState.ts +22 -0
  1169. package/src/contexts/messagesContext/MessagesContext.tsx +96 -234
  1170. package/src/contexts/overlayContext/OverlayContext.tsx +35 -35
  1171. package/src/contexts/overlayContext/OverlayProvider.tsx +50 -62
  1172. package/src/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.tsx +38 -0
  1173. package/src/contexts/paginatedMessageListContext/PaginatedMessageListContext.tsx +14 -55
  1174. package/src/contexts/suggestionsContext/SuggestionsContext.tsx +59 -80
  1175. package/src/contexts/suggestionsContext/__tests__/Suggestions.test.js +4 -2
  1176. package/src/contexts/themeContext/ThemeContext.tsx +1 -0
  1177. package/src/contexts/themeContext/utils/theme.ts +94 -36
  1178. package/src/contexts/threadContext/ThreadContext.tsx +14 -48
  1179. package/src/contexts/translationContext/TranslationContext.tsx +15 -10
  1180. package/src/contexts/typingContext/TypingContext.tsx +12 -46
  1181. package/src/contexts/utils/getDisplayName.ts +3 -1
  1182. package/src/emoji-data/compiled.ts +1830 -9609
  1183. package/src/emoji-data/emojiNames.ts +0 -140
  1184. package/src/emoji-data/emojis.ts +0 -210
  1185. package/src/emoji-data/index.js +1 -1
  1186. package/src/hooks/useAppStateListener.ts +26 -12
  1187. package/src/hooks/useIsMountedRef.ts +36 -0
  1188. package/src/hooks/useStreami18n.ts +5 -3
  1189. package/src/i18n/en.json +9 -3
  1190. package/src/i18n/fr.json +9 -3
  1191. package/src/i18n/hi.json +9 -3
  1192. package/src/i18n/it.json +9 -3
  1193. package/src/i18n/ja.json +9 -0
  1194. package/src/i18n/ko.json +9 -0
  1195. package/src/i18n/nl.json +9 -3
  1196. package/src/i18n/ru.json +9 -3
  1197. package/src/i18n/tr.json +10 -4
  1198. package/src/icons/Pin.tsx +17 -0
  1199. package/src/icons/PinHeader.tsx +12 -0
  1200. package/src/icons/Unpin.tsx +12 -0
  1201. package/src/icons/UserAdmin.tsx +23 -0
  1202. package/src/icons/index.ts +3 -2
  1203. package/src/init.ts +5 -0
  1204. package/src/mock-builders/api/queryChannels.js +1 -1
  1205. package/src/mock-builders/api/sendMessage.js +3 -1
  1206. package/src/mock-builders/generator/attachment.js +0 -2
  1207. package/src/mock-builders/generator/channel.js +101 -46
  1208. package/src/mock-builders/generator/user.js +33 -26
  1209. package/src/mock-builders/mock.js +2 -2
  1210. package/src/mock-builders/native/react-native-mock.js +1 -1
  1211. package/src/native.ts +2 -13
  1212. package/src/types/types.ts +16 -18
  1213. package/src/utils/Streami18n.ts +6 -6
  1214. package/src/utils/__tests__/Streami18n.test.js +9 -45
  1215. package/src/utils/__tests__/getResizedImageUrl.test.js +57 -0
  1216. package/src/utils/__tests__/utils.test.js +19 -0
  1217. package/src/utils/date.ts +4 -0
  1218. package/src/utils/getResizedImageUrl.ts +59 -0
  1219. package/src/utils/getUrlOfImageAttachment.ts +10 -0
  1220. package/src/utils/utils.ts +97 -142
  1221. package/src/version.json +1 -1
  1222. package/lib/commonjs/components/AutoCompleteInput/CommandsHeader.js +0 -78
  1223. package/lib/commonjs/components/AutoCompleteInput/CommandsHeader.js.map +0 -1
  1224. package/lib/commonjs/components/AutoCompleteInput/CommandsItem.js.map +0 -1
  1225. package/lib/commonjs/components/AutoCompleteInput/EmojisHeader.js +0 -81
  1226. package/lib/commonjs/components/AutoCompleteInput/EmojisHeader.js.map +0 -1
  1227. package/lib/commonjs/components/AutoCompleteInput/EmojisItem.js +0 -75
  1228. package/lib/commonjs/components/AutoCompleteInput/EmojisItem.js.map +0 -1
  1229. package/lib/commonjs/components/AutoCompleteInput/MentionsItem.js +0 -125
  1230. package/lib/commonjs/components/AutoCompleteInput/MentionsItem.js.map +0 -1
  1231. package/lib/commonjs/components/AutoCompleteInput/SuggestionsList.js +0 -199
  1232. package/lib/commonjs/components/AutoCompleteInput/SuggestionsList.js.map +0 -1
  1233. package/lib/commonjs/components/Channel/utils/debounce.js +0 -20
  1234. package/lib/commonjs/components/Channel/utils/debounce.js.map +0 -1
  1235. package/lib/commonjs/components/Channel/utils/throttle.js +0 -20
  1236. package/lib/commonjs/components/Channel/utils/throttle.js.map +0 -1
  1237. package/lib/commonjs/components/MessageOverlay/MessageActions.js.map +0 -1
  1238. package/lib/commonjs/icons/Left.js +0 -38
  1239. package/lib/commonjs/icons/Left.js.map +0 -1
  1240. package/lib/commonjs/icons/Right.js +0 -38
  1241. package/lib/commonjs/icons/Right.js.map +0 -1
  1242. package/lib/commonjs/styleguideComponents/ArgumentsRenderer.js +0 -100
  1243. package/lib/commonjs/styleguideComponents/ArgumentsRenderer.js.map +0 -1
  1244. package/lib/commonjs/styleguideComponents/BottomSheet.js +0 -25
  1245. package/lib/commonjs/styleguideComponents/BottomSheet.js.map +0 -1
  1246. package/lib/commonjs/styleguideComponents/JsDoc.js +0 -87
  1247. package/lib/commonjs/styleguideComponents/JsDoc.js.map +0 -1
  1248. package/lib/commonjs/styleguideComponents/Markdown.js +0 -12
  1249. package/lib/commonjs/styleguideComponents/Markdown.js.map +0 -1
  1250. package/lib/commonjs/styleguideComponents/PathlineRenderer.js +0 -92
  1251. package/lib/commonjs/styleguideComponents/PathlineRenderer.js.map +0 -1
  1252. package/lib/commonjs/styleguideComponents/PropsRenderer.js +0 -267
  1253. package/lib/commonjs/styleguideComponents/PropsRenderer.js.map +0 -1
  1254. package/lib/commonjs/styleguideComponents/Reanimated.js +0 -2
  1255. package/lib/commonjs/styleguideComponents/Wrapper.js +0 -29
  1256. package/lib/commonjs/styleguideComponents/Wrapper.js.map +0 -1
  1257. package/lib/commonjs/styleguideComponents/register-react-native-web.js +0 -44
  1258. package/lib/commonjs/styleguideComponents/register-react-native-web.js.map +0 -1
  1259. package/lib/commonjs/styleguideComponents/resolveAssetSource.js +0 -11
  1260. package/lib/commonjs/styleguideComponents/resolveAssetSource.js.map +0 -1
  1261. package/lib/module/components/AutoCompleteInput/CommandsHeader.js +0 -78
  1262. package/lib/module/components/AutoCompleteInput/CommandsHeader.js.map +0 -1
  1263. package/lib/module/components/AutoCompleteInput/CommandsItem.js.map +0 -1
  1264. package/lib/module/components/AutoCompleteInput/EmojisHeader.js +0 -81
  1265. package/lib/module/components/AutoCompleteInput/EmojisHeader.js.map +0 -1
  1266. package/lib/module/components/AutoCompleteInput/EmojisItem.js +0 -75
  1267. package/lib/module/components/AutoCompleteInput/EmojisItem.js.map +0 -1
  1268. package/lib/module/components/AutoCompleteInput/MentionsItem.js +0 -125
  1269. package/lib/module/components/AutoCompleteInput/MentionsItem.js.map +0 -1
  1270. package/lib/module/components/AutoCompleteInput/SuggestionsList.js +0 -199
  1271. package/lib/module/components/AutoCompleteInput/SuggestionsList.js.map +0 -1
  1272. package/lib/module/components/Channel/utils/debounce.js +0 -20
  1273. package/lib/module/components/Channel/utils/debounce.js.map +0 -1
  1274. package/lib/module/components/Channel/utils/throttle.js +0 -20
  1275. package/lib/module/components/Channel/utils/throttle.js.map +0 -1
  1276. package/lib/module/components/MessageOverlay/MessageActions.js.map +0 -1
  1277. package/lib/module/icons/Left.js +0 -38
  1278. package/lib/module/icons/Left.js.map +0 -1
  1279. package/lib/module/icons/Right.js +0 -38
  1280. package/lib/module/icons/Right.js.map +0 -1
  1281. package/lib/module/styleguideComponents/ArgumentsRenderer.js +0 -100
  1282. package/lib/module/styleguideComponents/ArgumentsRenderer.js.map +0 -1
  1283. package/lib/module/styleguideComponents/BottomSheet.js +0 -25
  1284. package/lib/module/styleguideComponents/BottomSheet.js.map +0 -1
  1285. package/lib/module/styleguideComponents/JsDoc.js +0 -87
  1286. package/lib/module/styleguideComponents/JsDoc.js.map +0 -1
  1287. package/lib/module/styleguideComponents/Markdown.js +0 -12
  1288. package/lib/module/styleguideComponents/Markdown.js.map +0 -1
  1289. package/lib/module/styleguideComponents/PathlineRenderer.js +0 -92
  1290. package/lib/module/styleguideComponents/PathlineRenderer.js.map +0 -1
  1291. package/lib/module/styleguideComponents/PropsRenderer.js +0 -267
  1292. package/lib/module/styleguideComponents/PropsRenderer.js.map +0 -1
  1293. package/lib/module/styleguideComponents/Reanimated.js +0 -2
  1294. package/lib/module/styleguideComponents/Wrapper.js +0 -29
  1295. package/lib/module/styleguideComponents/Wrapper.js.map +0 -1
  1296. package/lib/module/styleguideComponents/register-react-native-web.js +0 -44
  1297. package/lib/module/styleguideComponents/register-react-native-web.js.map +0 -1
  1298. package/lib/module/styleguideComponents/resolveAssetSource.js +0 -11
  1299. package/lib/module/styleguideComponents/resolveAssetSource.js.map +0 -1
  1300. package/lib/typescript/components/AutoCompleteInput/CommandsHeader.d.ts +0 -2
  1301. package/lib/typescript/components/AutoCompleteInput/CommandsItem.d.ts +0 -15
  1302. package/lib/typescript/components/AutoCompleteInput/EmojisHeader.d.ts +0 -5
  1303. package/lib/typescript/components/AutoCompleteInput/EmojisItem.d.ts +0 -12
  1304. package/lib/typescript/components/AutoCompleteInput/MentionsItem.d.ts +0 -16
  1305. package/lib/typescript/components/AutoCompleteInput/SuggestionsList.d.ts +0 -13
  1306. package/lib/typescript/components/Channel/utils/debounce.d.ts +0 -2
  1307. package/lib/typescript/components/Channel/utils/throttle.d.ts +0 -2
  1308. package/lib/typescript/components/MessageOverlay/MessageActions.d.ts +0 -11
  1309. package/src/components/AutoCompleteInput/CommandsHeader.tsx +0 -43
  1310. package/src/components/AutoCompleteInput/EmojisHeader.tsx +0 -45
  1311. package/src/components/AutoCompleteInput/EmojisItem.tsx +0 -52
  1312. package/src/components/AutoCompleteInput/MentionsItem.tsx +0 -74
  1313. package/src/components/AutoCompleteInput/SuggestionsList.tsx +0 -138
  1314. package/src/components/AutoCompleteInput/__tests__/CommandsItem.test.js +0 -29
  1315. package/src/components/AutoCompleteInput/__tests__/MentionsItem.test.js +0 -62
  1316. package/src/components/Channel/utils/debounce.ts +0 -12
  1317. package/src/components/Channel/utils/throttle.ts +0 -12
  1318. package/src/components/MessageList/__tests__/__snapshots__/MessageList.test.js.snap +0 -983
  1319. package/src/components/MessageOverlay/MessageActions.tsx +0 -243
  1320. package/src/icons/Left.tsx +0 -12
  1321. package/src/icons/Right.tsx +0 -12
  1322. package/src/styleguideComponents/ArgumentsRenderer.tsx +0 -59
  1323. package/src/styleguideComponents/BottomSheet.tsx +0 -3
  1324. package/src/styleguideComponents/JsDoc.tsx +0 -43
  1325. package/src/styleguideComponents/Markdown.tsx +0 -1
  1326. package/src/styleguideComponents/PathlineRenderer.tsx +0 -44
  1327. package/src/styleguideComponents/PropsRenderer.tsx +0 -138
  1328. package/src/styleguideComponents/Reanimated.tsx +0 -0
  1329. package/src/styleguideComponents/Wrapper.tsx +0 -6
  1330. package/src/styleguideComponents/register-react-native-web.js +0 -13
  1331. package/src/styleguideComponents/resolveAssetSource.js +0 -2
@@ -17,21 +17,27 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
17
17
 
18
18
  var _react = require("react");
19
19
 
20
- var _utils = require("../utils");
21
-
22
20
  var _ActiveChannelsRefContext = require("../../../contexts/activeChannelsRefContext/ActiveChannelsRefContext");
23
21
 
24
22
  var _ChatContext = require("../../../contexts/chatContext/ChatContext");
25
23
 
26
- var wait = function wait(ms) {
24
+ var _useIsMountedRef = require("../../../hooks/useIsMountedRef");
25
+
26
+ var _date = require("../../../utils/date");
27
+
28
+ var _utils = require("../utils");
29
+
30
+ var waitSeconds = function waitSeconds(seconds) {
27
31
  return new Promise(function (resolve) {
28
- setTimeout(resolve, ms);
32
+ setTimeout(resolve, seconds * _date.ONE_SECOND_IN_MS);
29
33
  });
30
34
  };
31
35
 
32
36
  var DEFAULT_OPTIONS = {
33
37
  message_limit: 10
34
38
  };
39
+ var MAX_NUMBER_OF_RETRIES = 3;
40
+ var RETRY_INTERVAL_IN_MS = 5000;
35
41
 
36
42
  var usePaginatedChannels = function usePaginatedChannels(_ref) {
37
43
  var _ref$filters = _ref.filters,
@@ -44,14 +50,14 @@ var usePaginatedChannels = function usePaginatedChannels(_ref) {
44
50
  var _useChatContext = (0, _ChatContext.useChatContext)(),
45
51
  client = _useChatContext.client;
46
52
 
47
- var activeChannels = (0, _ActiveChannelsRefContext.useActiveChannelsRefContext)();
48
-
49
53
  var _useState = (0, _react.useState)([]),
50
54
  _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
51
55
  channels = _useState2[0],
52
56
  setChannels = _useState2[1];
53
57
 
54
- var _useState3 = (0, _react.useState)(false),
58
+ var activeChannels = (0, _ActiveChannelsRefContext.useActiveChannelsRefContext)();
59
+
60
+ var _useState3 = (0, _react.useState)(),
55
61
  _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
56
62
  error = _useState4[0],
57
63
  setError = _useState4[1];
@@ -62,26 +68,17 @@ var usePaginatedChannels = function usePaginatedChannels(_ref) {
62
68
  setHasNextPage = _useState6[1];
63
69
 
64
70
  var lastRefresh = (0, _react.useRef)(Date.now());
71
+ var isQueryingRef = (0, _react.useRef)(false);
65
72
 
66
- var _useState7 = (0, _react.useState)(false),
73
+ var _useState7 = (0, _react.useState)(),
67
74
  _useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
68
- loadingChannels = _useState8[0],
69
- setLoadingChannels = _useState8[1];
70
-
71
- var _useState9 = (0, _react.useState)(false),
72
- _useState10 = (0, _slicedToArray2["default"])(_useState9, 2),
73
- loadingNextPage = _useState10[0],
74
- setLoadingNextPage = _useState10[1];
75
+ activeQueryType = _useState8[0],
76
+ setActiveQueryType = _useState8[1];
75
77
 
76
- var _useState11 = (0, _react.useState)(0),
77
- _useState12 = (0, _slicedToArray2["default"])(_useState11, 2),
78
- offset = _useState12[0],
79
- setOffset = _useState12[1];
80
-
81
- var _useState13 = (0, _react.useState)(false),
82
- _useState14 = (0, _slicedToArray2["default"])(_useState13, 2),
83
- refreshing = _useState14[0],
84
- setRefreshing = _useState14[1];
78
+ var isMountedRef = (0, _useIsMountedRef.useIsMountedRef)();
79
+ var filtersRef = (0, _react.useRef)(null);
80
+ var sortRef = (0, _react.useRef)(null);
81
+ var activeRequestId = (0, _react.useRef)(0);
85
82
 
86
83
  var queryChannels = function () {
87
84
  var _ref2 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee() {
@@ -89,6 +86,9 @@ var usePaginatedChannels = function usePaginatedChannels(_ref) {
89
86
 
90
87
  var queryType,
91
88
  retryCount,
89
+ hasUpdatedData,
90
+ isQueryStale,
91
+ currentRequestId,
92
92
  newOptions,
93
93
  channelQueryResponse,
94
94
  newChannels,
@@ -97,10 +97,10 @@ var usePaginatedChannels = function usePaginatedChannels(_ref) {
97
97
  while (1) {
98
98
  switch (_context.prev = _context.next) {
99
99
  case 0:
100
- queryType = _args.length > 0 && _args[0] !== undefined ? _args[0] : '';
100
+ queryType = _args.length > 0 && _args[0] !== undefined ? _args[0] : 'loadChannels';
101
101
  retryCount = _args.length > 1 && _args[1] !== undefined ? _args[1] : 0;
102
102
 
103
- if (!(!client || loadingChannels || loadingNextPage || refreshing)) {
103
+ if (!(!client || !isMountedRef.current)) {
104
104
  _context.next = 4;
105
105
  break;
106
106
  }
@@ -108,69 +108,102 @@ var usePaginatedChannels = function usePaginatedChannels(_ref) {
108
108
  return _context.abrupt("return");
109
109
 
110
110
  case 4:
111
- if (queryType === 'reload') {
112
- setLoadingChannels(true);
113
- } else if (queryType === 'refresh') {
114
- setRefreshing(true);
115
- } else if (!queryType) {
116
- setLoadingNextPage(true);
111
+ hasUpdatedData = queryType === 'loadChannels' || [JSON.stringify(filtersRef.current) !== JSON.stringify(filters), JSON.stringify(sortRef.current) !== JSON.stringify(sort)].some(Boolean);
112
+
113
+ isQueryStale = function isQueryStale() {
114
+ return !isMountedRef || activeRequestId.current !== currentRequestId;
115
+ };
116
+
117
+ if (hasUpdatedData) {
118
+ _context.next = 9;
119
+ break;
120
+ }
121
+
122
+ if (!(activeQueryType === null)) {
123
+ _context.next = 9;
124
+ break;
117
125
  }
118
126
 
127
+ return _context.abrupt("return");
128
+
129
+ case 9:
130
+ filtersRef.current = filters;
131
+ sortRef.current = sort;
132
+ isQueryingRef.current = true;
133
+ setError(undefined);
134
+ activeRequestId.current++;
135
+ currentRequestId = activeRequestId.current;
136
+ setActiveQueryType(queryType);
119
137
  newOptions = (0, _extends2["default"])({
120
138
  limit: (_options$limit = options == null ? void 0 : options.limit) != null ? _options$limit : _utils.MAX_QUERY_CHANNELS_LIMIT,
121
- offset: queryType === 'reload' || queryType === 'refresh' ? 0 : offset
139
+ offset: queryType === 'loadChannels' ? channels.length : 0
122
140
  }, options);
123
- _context.prev = 6;
124
- _context.next = 9;
141
+ _context.prev = 17;
142
+ _context.next = 20;
125
143
  return client.queryChannels(filters, sort, newOptions, {
126
144
  skipInitialization: activeChannels.current
127
145
  });
128
146
 
129
- case 9:
147
+ case 20:
130
148
  channelQueryResponse = _context.sent;
149
+
150
+ if (!(isQueryStale() || !isMountedRef.current)) {
151
+ _context.next = 23;
152
+ break;
153
+ }
154
+
155
+ return _context.abrupt("return");
156
+
157
+ case 23:
131
158
  channelQueryResponse.forEach(function (channel) {
132
159
  return channel.state.setIsUpToDate(true);
133
160
  });
134
- newChannels = queryType === 'reload' || queryType === 'refresh' ? channelQueryResponse : [].concat((0, _toConsumableArray2["default"])(channels), (0, _toConsumableArray2["default"])(channelQueryResponse));
161
+ newChannels = queryType === 'loadChannels' ? [].concat((0, _toConsumableArray2["default"])(channels), (0, _toConsumableArray2["default"])(channelQueryResponse)) : channelQueryResponse;
135
162
  setChannels(newChannels);
136
163
  setHasNextPage(channelQueryResponse.length >= newOptions.limit);
137
- setOffset(newChannels.length);
138
- setError(false);
139
- _context.next = 29;
164
+ setError(undefined);
165
+ isQueryingRef.current = false;
166
+ _context.next = 44;
140
167
  break;
141
168
 
142
- case 18:
143
- _context.prev = 18;
144
- _context.t0 = _context["catch"](6);
145
- _context.next = 22;
146
- return wait(2000);
169
+ case 31:
170
+ _context.prev = 31;
171
+ _context.t0 = _context["catch"](17);
172
+ isQueryingRef.current = false;
173
+ _context.next = 36;
174
+ return waitSeconds(2);
175
+
176
+ case 36:
177
+ if (!isQueryStale()) {
178
+ _context.next = 38;
179
+ break;
180
+ }
181
+
182
+ return _context.abrupt("return");
147
183
 
148
- case 22:
149
- if (!(retryCount === 3)) {
150
- _context.next = 28;
184
+ case 38:
185
+ if (!(retryCount === MAX_NUMBER_OF_RETRIES && !isQueryingRef.current)) {
186
+ _context.next = 43;
151
187
  break;
152
188
  }
153
189
 
154
- setLoadingChannels(false);
155
- setLoadingNextPage(false);
156
- setRefreshing(false);
190
+ setActiveQueryType(null);
157
191
  console.warn(_context.t0);
158
- return _context.abrupt("return", setError(true));
192
+ setError(new Error("Maximum number of retries reached in queryChannels. Last error message is: " + _context.t0));
193
+ return _context.abrupt("return");
159
194
 
160
- case 28:
195
+ case 43:
161
196
  return _context.abrupt("return", queryChannels(queryType, retryCount + 1));
162
197
 
163
- case 29:
164
- setLoadingChannels(false);
165
- setLoadingNextPage(false);
166
- setRefreshing(false);
198
+ case 44:
199
+ setActiveQueryType(null);
167
200
 
168
- case 32:
201
+ case 45:
169
202
  case "end":
170
203
  return _context.stop();
171
204
  }
172
205
  }
173
- }, _callee, null, [[6, 18]]);
206
+ }, _callee, null, [[17, 31]]);
174
207
  }));
175
208
 
176
209
  return function queryChannels() {
@@ -183,7 +216,7 @@ var usePaginatedChannels = function usePaginatedChannels(_ref) {
183
216
  var refreshList = function refreshList() {
184
217
  var now = Date.now();
185
218
 
186
- if (now - lastRefresh.current < 5000 && !error) {
219
+ if (now - lastRefresh.current < RETRY_INTERVAL_IN_MS && error === undefined) {
187
220
  return;
188
221
  }
189
222
 
@@ -208,10 +241,10 @@ var usePaginatedChannels = function usePaginatedChannels(_ref) {
208
241
  channels: channels,
209
242
  error: error,
210
243
  hasNextPage: hasNextPage,
211
- loadingChannels: loadingChannels,
212
- loadingNextPage: loadingNextPage,
244
+ loadingChannels: activeQueryType === 'reload',
245
+ loadingNextPage: activeQueryType === 'loadChannels',
213
246
  loadNextPage: loadNextPage,
214
- refreshing: refreshing,
247
+ refreshing: activeQueryType === 'refresh',
215
248
  refreshList: refreshList,
216
249
  reloadList: reloadList,
217
250
  setChannels: setChannels
@@ -1 +1 @@
1
- {"version":3,"sources":["usePaginatedChannels.ts"],"names":["wait","ms","Promise","resolve","setTimeout","DEFAULT_OPTIONS","message_limit","usePaginatedChannels","filters","options","sort","client","activeChannels","channels","setChannels","error","setError","hasNextPage","setHasNextPage","lastRefresh","Date","now","loadingChannels","setLoadingChannels","loadingNextPage","setLoadingNextPage","offset","setOffset","refreshing","setRefreshing","queryChannels","queryType","retryCount","newOptions","limit","MAX_QUERY_CHANNELS_LIMIT","skipInitialization","current","channelQueryResponse","forEach","channel","state","setIsUpToDate","newChannels","length","console","warn","loadNextPage","undefined","refreshList","reloadList","filterStr","JSON","stringify","sortStr"],"mappings":"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","sourcesContent":["import { useEffect, useMemo, useRef, useState } from 'react';\n\nimport { MAX_QUERY_CHANNELS_LIMIT } from '../utils';\n\nimport { useActiveChannelsRefContext } from '../../../contexts/activeChannelsRefContext/ActiveChannelsRefContext';\nimport { useChatContext } from '../../../contexts/chatContext/ChatContext';\n\nimport type { Channel, ChannelFilters, ChannelOptions, ChannelSort } from 'stream-chat';\n\nimport type {\n DefaultAttachmentType,\n DefaultChannelType,\n DefaultCommandType,\n DefaultEventType,\n DefaultMessageType,\n DefaultReactionType,\n DefaultUserType,\n UnknownType,\n} from '../../../types/types';\n\nconst wait = (ms: number) =>\n new Promise((resolve) => {\n setTimeout(resolve, ms);\n });\n\ntype Parameters<\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Us extends UnknownType = DefaultUserType,\n> = {\n filters: ChannelFilters<Ch, Co, Us>;\n options: ChannelOptions;\n sort: ChannelSort<Ch>;\n};\n\nconst DEFAULT_OPTIONS = {\n message_limit: 10,\n};\n\nexport const usePaginatedChannels = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>({\n filters = {},\n options = DEFAULT_OPTIONS,\n sort = {},\n}: Parameters<Ch, Co, Us>) => {\n const { client } = useChatContext<At, Ch, Co, Ev, Me, Re, Us>();\n const activeChannels = useActiveChannelsRefContext();\n\n const [channels, setChannels] = useState<Channel<At, Ch, Co, Ev, Me, Re, Us>[]>([]);\n const [error, setError] = useState(false);\n const [hasNextPage, setHasNextPage] = useState(true);\n const lastRefresh = useRef(Date.now());\n const [loadingChannels, setLoadingChannels] = useState(false);\n const [loadingNextPage, setLoadingNextPage] = useState(false);\n const [offset, setOffset] = useState(0);\n const [refreshing, setRefreshing] = useState(false);\n\n const queryChannels = async (queryType = '', retryCount = 0): Promise<void> => {\n if (!client || loadingChannels || loadingNextPage || refreshing) return;\n\n if (queryType === 'reload') {\n setLoadingChannels(true);\n } else if (queryType === 'refresh') {\n setRefreshing(true);\n } else if (!queryType) {\n setLoadingNextPage(true);\n }\n\n const newOptions = {\n limit: options?.limit ?? MAX_QUERY_CHANNELS_LIMIT,\n offset: queryType === 'reload' || queryType === 'refresh' ? 0 : offset,\n ...options,\n };\n\n try {\n const channelQueryResponse = await client.queryChannels(filters, sort, newOptions, {\n skipInitialization: activeChannels.current,\n });\n\n channelQueryResponse.forEach((channel) => channel.state.setIsUpToDate(true));\n\n const newChannels =\n queryType === 'reload' || queryType === 'refresh'\n ? channelQueryResponse\n : [...channels, ...channelQueryResponse];\n\n setChannels(newChannels);\n setHasNextPage(channelQueryResponse.length >= newOptions.limit);\n setOffset(newChannels.length);\n setError(false);\n } catch (err) {\n await wait(2000);\n\n if (retryCount === 3) {\n setLoadingChannels(false);\n setLoadingNextPage(false);\n setRefreshing(false);\n console.warn(err);\n return setError(true);\n }\n\n return queryChannels(queryType, retryCount + 1);\n }\n\n setLoadingChannels(false);\n setLoadingNextPage(false);\n setRefreshing(false);\n };\n\n const loadNextPage = hasNextPage ? queryChannels : undefined;\n const refreshList = () => {\n const now = Date.now();\n // Only allow pull-to-refresh 5 seconds after last successful refresh.\n if (now - lastRefresh.current < 5000 && !error) {\n return;\n }\n\n lastRefresh.current = Date.now();\n return queryChannels('refresh');\n };\n const reloadList = () => queryChannels('reload');\n\n /**\n * Equality check using stringified filters/sort ensure that we don't make un-necessary queryChannels api calls\n * for the scenario:\n *\n * <ChannelList\n * filters={{\n * members: { $in: ['vishal'] }\n * }}\n * ...\n * />\n *\n * Here we have passed filters as inline object, which means on every re-render of\n * parent component, ChannelList will receive new object reference (even though value is same), which\n * in return will trigger useEffect. To avoid this, we can add a value check.\n */\n const filterStr = useMemo(() => JSON.stringify(filters), [filters]);\n const sortStr = useMemo(() => JSON.stringify(sort), [sort]);\n\n useEffect(() => {\n reloadList();\n }, [filterStr, sortStr]);\n\n return {\n channels,\n error,\n hasNextPage,\n loadingChannels,\n loadingNextPage,\n loadNextPage,\n refreshing,\n refreshList,\n reloadList,\n setChannels,\n };\n};\n"]}
1
+ {"version":3,"sources":["usePaginatedChannels.ts"],"names":["waitSeconds","seconds","Promise","resolve","setTimeout","ONE_SECOND_IN_MS","DEFAULT_OPTIONS","message_limit","MAX_NUMBER_OF_RETRIES","RETRY_INTERVAL_IN_MS","usePaginatedChannels","filters","options","sort","client","channels","setChannels","activeChannels","error","setError","hasNextPage","setHasNextPage","lastRefresh","Date","now","isQueryingRef","activeQueryType","setActiveQueryType","isMountedRef","filtersRef","sortRef","activeRequestId","queryChannels","queryType","retryCount","current","hasUpdatedData","JSON","stringify","some","Boolean","isQueryStale","currentRequestId","undefined","newOptions","limit","MAX_QUERY_CHANNELS_LIMIT","offset","length","skipInitialization","channelQueryResponse","forEach","channel","state","setIsUpToDate","newChannels","console","warn","Error","loadNextPage","refreshList","reloadList","filterStr","sortStr","loadingChannels","loadingNextPage","refreshing"],"mappings":"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","sourcesContent":["import { useEffect, useMemo, useRef, useState } from 'react';\n\nimport type { Channel, ChannelFilters, ChannelOptions, ChannelSort } from 'stream-chat';\n\nimport { useActiveChannelsRefContext } from '../../../contexts/activeChannelsRefContext/ActiveChannelsRefContext';\nimport { useChatContext } from '../../../contexts/chatContext/ChatContext';\nimport { useIsMountedRef } from '../../../hooks/useIsMountedRef';\n\nimport type { DefaultStreamChatGenerics } from '../../../types/types';\nimport { ONE_SECOND_IN_MS } from '../../../utils/date';\nimport { MAX_QUERY_CHANNELS_LIMIT } from '../utils';\n\nconst waitSeconds = (seconds: number) =>\n new Promise((resolve) => {\n setTimeout(resolve, seconds * ONE_SECOND_IN_MS);\n });\n\ntype Parameters<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> =\n {\n filters: ChannelFilters<StreamChatGenerics>;\n options: ChannelOptions;\n sort: ChannelSort<StreamChatGenerics>;\n };\n\nconst DEFAULT_OPTIONS = {\n message_limit: 10,\n};\n\nconst MAX_NUMBER_OF_RETRIES = 3;\nconst RETRY_INTERVAL_IN_MS = 5000;\n\ntype QueryType = 'reload' | 'refresh' | 'loadChannels';\nexport type QueryChannels = (queryType?: QueryType, retryCount?: number) => Promise<void>;\n\nexport const usePaginatedChannels = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n filters = {},\n options = DEFAULT_OPTIONS,\n sort = {},\n}: Parameters<StreamChatGenerics>) => {\n const { client } = useChatContext<StreamChatGenerics>();\n const [channels, setChannels] = useState<Channel<StreamChatGenerics>[]>([]);\n const activeChannels = useActiveChannelsRefContext();\n\n const [error, setError] = useState<Error>();\n const [hasNextPage, setHasNextPage] = useState(true);\n const lastRefresh = useRef(Date.now());\n const isQueryingRef = useRef(false);\n const [activeQueryType, setActiveQueryType] = useState<QueryType | null>();\n const isMountedRef = useIsMountedRef();\n const filtersRef = useRef<typeof filters | null>(null);\n const sortRef = useRef<typeof sort | null>(null);\n const activeRequestId = useRef<number>(0);\n\n const queryChannels: QueryChannels = async (\n queryType: QueryType = 'loadChannels',\n retryCount = 0,\n ): Promise<void> => {\n if (!client || !isMountedRef.current) return;\n\n const hasUpdatedData =\n queryType === 'loadChannels' ||\n [\n JSON.stringify(filtersRef.current) !== JSON.stringify(filters),\n JSON.stringify(sortRef.current) !== JSON.stringify(sort),\n ].some(Boolean);\n\n const isQueryStale = () => !isMountedRef || activeRequestId.current !== currentRequestId;\n\n /**\n * We don't need to make another call to query channels if we don't\n * have new data for the query to include\n * */\n if (!hasUpdatedData) {\n if (activeQueryType === null) return;\n }\n\n filtersRef.current = filters;\n sortRef.current = sort;\n isQueryingRef.current = true;\n setError(undefined);\n activeRequestId.current++;\n const currentRequestId = activeRequestId.current;\n setActiveQueryType(queryType);\n\n const newOptions = {\n limit: options?.limit ?? MAX_QUERY_CHANNELS_LIMIT,\n offset: queryType === 'loadChannels' ? channels.length : 0,\n ...options,\n };\n\n try {\n const channelQueryResponse = await client.queryChannels(filters, sort, newOptions, {\n skipInitialization: activeChannels.current,\n });\n\n if (isQueryStale() || !isMountedRef.current) {\n return;\n }\n\n channelQueryResponse.forEach((channel) => channel.state.setIsUpToDate(true));\n\n const newChannels =\n queryType === 'loadChannels'\n ? [...channels, ...channelQueryResponse]\n : channelQueryResponse;\n\n setChannels(newChannels);\n setHasNextPage(channelQueryResponse.length >= newOptions.limit);\n setError(undefined);\n isQueryingRef.current = false;\n } catch (err: unknown) {\n isQueryingRef.current = false;\n await waitSeconds(2);\n\n if (isQueryStale()) {\n return;\n }\n\n // querying.current check is needed in order to make sure the next query call doesnt flick an error\n // state and then succeed (reconnect case)\n if (retryCount === MAX_NUMBER_OF_RETRIES && !isQueryingRef.current) {\n setActiveQueryType(null);\n console.warn(err);\n setError(\n new Error(\n `Maximum number of retries reached in queryChannels. Last error message is: ${err}`,\n ),\n );\n return;\n }\n\n return queryChannels(queryType, retryCount + 1);\n }\n\n setActiveQueryType(null);\n };\n\n const loadNextPage = hasNextPage ? queryChannels : undefined;\n\n const refreshList = () => {\n const now = Date.now();\n // Only allow pull-to-refresh 5 seconds after last successful refresh.\n if (now - lastRefresh.current < RETRY_INTERVAL_IN_MS && error === undefined) {\n return;\n }\n\n lastRefresh.current = Date.now();\n return queryChannels('refresh');\n };\n\n const reloadList = () => queryChannels('reload');\n\n /**\n * Equality check using stringified filters/sort ensure that we don't make un-necessary queryChannels api calls\n * for the scenario:\n *\n * <ChannelList\n * filters={{\n * members: { $in: ['vishal'] }\n * }}\n * ...\n * />\n *\n * Here we have passed filters as inline object, which means on every re-render of\n * parent component, ChannelList will receive new object reference (even though value is same), which\n * in return will trigger useEffect. To avoid this, we can add a value check.\n */\n const filterStr = useMemo(() => JSON.stringify(filters), [filters]);\n const sortStr = useMemo(() => JSON.stringify(sort), [sort]);\n\n useEffect(() => {\n reloadList();\n }, [filterStr, sortStr]);\n\n return {\n channels,\n error,\n hasNextPage,\n loadingChannels: activeQueryType === 'reload',\n loadingNextPage: activeQueryType === 'loadChannels',\n loadNextPage,\n refreshing: activeQueryType === 'refresh',\n refreshList,\n reloadList,\n setChannels,\n };\n};\n"]}
@@ -3,7 +3,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.MAX_QUERY_CHANNELS_LIMIT = exports.DEFAULT_QUERY_CHANNELS_LIMIT = exports.getChannel = exports.moveChannelUp = void 0;
6
+ exports.moveChannelUp = exports.getChannel = exports.MAX_QUERY_CHANNELS_LIMIT = exports.DEFAULT_QUERY_CHANNELS_LIMIT = void 0;
7
7
 
8
8
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
9
 
@@ -1 +1 @@
1
- {"version":3,"sources":["utils.ts"],"names":["moveChannelUp","cid","channels","index","findIndex","c","channel","splice","unshift","getChannel","client","id","type","watch","DEFAULT_QUERY_CHANNELS_LIMIT","MAX_QUERY_CHANNELS_LIMIT"],"mappings":";;;;;;;;;;;;;AA0BO,IAAMA,aAAa,GAAG,SAAhBA,aAAgB,OAWqB;AAAA,MAFhDC,GAEgD,QAFhDA,GAEgD;AAAA,2BADhDC,QACgD;AAAA,MADhDA,QACgD,8BADrC,EACqC;AAEhD,MAAMC,KAAK,GAAGD,QAAQ,CAACE,SAAT,CAAmB,UAACC,CAAD;AAAA,WAAOA,CAAC,CAACJ,GAAF,KAAUA,GAAjB;AAAA,GAAnB,CAAd;AACA,MAAIE,KAAK,IAAI,CAAb,EAAgB,OAAOD,QAAP;AAChB,MAAMI,OAAO,GAAGJ,QAAQ,CAACC,KAAD,CAAxB;AAGAD,EAAAA,QAAQ,CAACK,MAAT,CAAgBJ,KAAhB,EAAuB,CAAvB;AACAD,EAAAA,QAAQ,CAACM,OAAT,CAAiBF,OAAjB;AAEA,6CAAWJ,QAAX;AACD,CAtBM;;;;AAsCA,IAAMO,UAAU;AAAA,8EAAG;AAAA;AAAA;AAAA;AAAA;AAAA;AASxBC,YAAAA,MATwB,SASxBA,MATwB,EAUxBC,EAVwB,SAUxBA,EAVwB,EAWxBC,IAXwB,SAWxBA,IAXwB;AAalBN,YAAAA,OAbkB,GAaRI,MAAM,CAACJ,OAAP,CAAeM,IAAf,EAAqBD,EAArB,CAbQ;AAAA;AAAA,mBAclBL,OAAO,CAACO,KAAR,EAdkB;;AAAA;AAAA,6CAejBP,OAfiB;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAAH;;AAAA,kBAAVG,UAAU;AAAA;AAAA;AAAA,GAAhB;;;AAkBA,IAAMK,4BAA4B,GAAG,EAArC;;AACA,IAAMC,wBAAwB,GAAG,EAAjC","sourcesContent":["import type { Channel, StreamChat } from 'stream-chat';\n\nimport type {\n DefaultAttachmentType,\n DefaultChannelType,\n DefaultCommandType,\n DefaultEventType,\n DefaultMessageType,\n DefaultReactionType,\n DefaultUserType,\n UnknownType,\n} from '../../types/types';\n\ntype MoveParameters<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n> = {\n channels: Channel<At, Ch, Co, Ev, Me, Re, Us>[];\n cid: string;\n};\n\nexport const moveChannelUp = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>({\n cid,\n channels = [],\n}: MoveParameters<At, Ch, Co, Ev, Me, Re, Us>) => {\n // get channel from channels\n const index = channels.findIndex((c) => c.cid === cid);\n if (index <= 0) return channels;\n const channel = channels[index];\n\n // remove channel from current position and add to start\n channels.splice(index, 1);\n channels.unshift(channel);\n\n return [...channels];\n};\n\ntype GetParameters<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n> = {\n client: StreamChat<At, Ch, Co, Ev, Me, Re, Us>;\n id: string;\n type: string;\n};\n\nexport const getChannel = async <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>({\n client,\n id,\n type,\n}: GetParameters<At, Ch, Co, Ev, Me, Re, Us>) => {\n const channel = client.channel(type, id);\n await channel.watch();\n return channel;\n};\n\nexport const DEFAULT_QUERY_CHANNELS_LIMIT = 10;\nexport const MAX_QUERY_CHANNELS_LIMIT = 30;\n"]}
1
+ {"version":3,"sources":["utils.ts"],"names":["moveChannelUp","cid","channels","index","findIndex","c","channel","splice","unshift","getChannel","client","id","type","watch","DEFAULT_QUERY_CHANNELS_LIMIT","MAX_QUERY_CHANNELS_LIMIT"],"mappings":";;;;;;;;;;;;;AAWO,IAAMA,aAAa,GAAG,SAAhBA,aAAgB,OAKa;AAAA,MAFxCC,GAEwC,QAFxCA,GAEwC;AAAA,2BADxCC,QACwC;AAAA,MADxCA,QACwC,8BAD7B,EAC6B;AAExC,MAAMC,KAAK,GAAGD,QAAQ,CAACE,SAAT,CAAmB,UAACC,CAAD;AAAA,WAAOA,CAAC,CAACJ,GAAF,KAAUA,GAAjB;AAAA,GAAnB,CAAd;AACA,MAAIE,KAAK,IAAI,CAAb,EAAgB,OAAOD,QAAP;AAChB,MAAMI,OAAO,GAAGJ,QAAQ,CAACC,KAAD,CAAxB;AAGAD,EAAAA,QAAQ,CAACK,MAAT,CAAgBJ,KAAhB,EAAuB,CAAvB;AACAD,EAAAA,QAAQ,CAACM,OAAT,CAAiBF,OAAjB;AAEA,6CAAWJ,QAAX;AACD,CAhBM;;;;AA0BA,IAAMO,UAAU;AAAA,8EAAG;AAAA;AAAA;AAAA;AAAA;AAAA;AAGxBC,YAAAA,MAHwB,SAGxBA,MAHwB,EAIxBC,EAJwB,SAIxBA,EAJwB,EAKxBC,IALwB,SAKxBA,IALwB;AAOlBN,YAAAA,OAPkB,GAORI,MAAM,CAACJ,OAAP,CAAeM,IAAf,EAAqBD,EAArB,CAPQ;AAAA;AAAA,mBAQlBL,OAAO,CAACO,KAAR,EARkB;;AAAA;AAAA,6CASjBP,OATiB;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAAH;;AAAA,kBAAVG,UAAU;AAAA;AAAA;AAAA,GAAhB;;;AAYA,IAAMK,4BAA4B,GAAG,EAArC;;AACA,IAAMC,wBAAwB,GAAG,EAAjC","sourcesContent":["import type { Channel, StreamChat } from 'stream-chat';\n\nimport type { DefaultStreamChatGenerics } from '../../types/types';\n\ntype MoveParameters<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = {\n channels: Channel<StreamChatGenerics>[];\n cid: string;\n};\n\nexport const moveChannelUp = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n cid,\n channels = [],\n}: MoveParameters<StreamChatGenerics>) => {\n // get channel from channels\n const index = channels.findIndex((c) => c.cid === cid);\n if (index <= 0) return channels;\n const channel = channels[index];\n\n // remove channel from current position and add to start\n channels.splice(index, 1);\n channels.unshift(channel);\n\n return [...channels];\n};\n\ntype GetParameters<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = {\n client: StreamChat<StreamChatGenerics>;\n id: string;\n type: string;\n};\n\nexport const getChannel = async <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n client,\n id,\n type,\n}: GetParameters<StreamChatGenerics>) => {\n const channel = client.channel(type, id);\n await channel.watch();\n return channel;\n};\n\nexport const DEFAULT_QUERY_CHANNELS_LIMIT = 10;\nexport const MAX_QUERY_CHANNELS_LIMIT = 30;\n"]}
@@ -31,7 +31,7 @@ var ChannelAvatar = function ChannelAvatar(props) {
31
31
  __self: _this,
32
32
  __source: {
33
33
  fileName: _jsxFileName,
34
- lineNumber: 52,
34
+ lineNumber: 29,
35
35
  columnNumber: 12
36
36
  }
37
37
  });
@@ -45,7 +45,7 @@ var ChannelAvatar = function ChannelAvatar(props) {
45
45
  __self: _this,
46
46
  __source: {
47
47
  fileName: _jsxFileName,
48
- lineNumber: 56,
48
+ lineNumber: 33,
49
49
  columnNumber: 5
50
50
  }
51
51
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["ChannelAvatar.tsx"],"names":["ChannelAvatar","props","channel","displayAvatar","displayPresence","images","names","image","name"],"mappings":";;;;;;;AAAA;;AAEA;;AACA;;AAEA;;AACA;;;;;AA4BO,IAAMA,aAAa,GAAG,SAAhBA,aAAgB,CAS3BC,KAT2B,EAUxB;AACH,MAAQC,OAAR,GAAoBD,KAApB,CAAQC,OAAR;AAEA,MAAMC,aAAa,GAAG,oEAA+BD,OAA/B,CAAtB;AACA,MAAME,eAAe,GAAG,wEAAiCF,OAAjC,CAAxB;;AAEA,MAAIC,aAAa,CAACE,MAAlB,EAA0B;AACxB,WAAO,gCAAC,wBAAD;AAAa,MAAA,MAAM,EAAEF,aAAa,CAACE,MAAnC;AAA2C,MAAA,KAAK,EAAEF,aAAa,CAACG,KAAhE;AAAuE,MAAA,IAAI,EAAE,EAA7E;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAAP;AACD;;AAED,SACE,gCAAC,cAAD;AACE,IAAA,KAAK,EAAEH,aAAa,CAACI,KADvB;AAEE,IAAA,IAAI,EAAEJ,aAAa,CAACK,IAFtB;AAGE,IAAA,MAAM,EAAEJ,eAHV;AAIE,IAAA,IAAI,EAAE,EAJR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IADF;AAQD,CA5BM","sourcesContent":["import React from 'react';\n\nimport { useChannelPreviewDisplayAvatar } from './hooks/useChannelPreviewDisplayAvatar';\nimport { useChannelPreviewDisplayPresence } from './hooks/useChannelPreviewDisplayPresence';\n\nimport { Avatar } from '../Avatar/Avatar';\nimport { GroupAvatar } from '../Avatar/GroupAvatar';\n\nimport type { ChannelPreviewProps } from './ChannelPreview';\n\nimport type {\n DefaultAttachmentType,\n DefaultChannelType,\n DefaultCommandType,\n DefaultEventType,\n DefaultMessageType,\n DefaultReactionType,\n DefaultUserType,\n UnknownType,\n} from '../../types/types';\n\nexport type ChannelAvatarProps<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n> = Pick<ChannelPreviewProps<At, Ch, Co, Ev, Me, Re, Us>, 'channel'>;\n\n/**\n * This UI component displays an avatar for a particular channel.\n */\nexport const ChannelAvatar = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n props: ChannelAvatarProps<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const { channel } = props;\n\n const displayAvatar = useChannelPreviewDisplayAvatar(channel);\n const displayPresence = useChannelPreviewDisplayPresence(channel);\n\n if (displayAvatar.images) {\n return <GroupAvatar images={displayAvatar.images} names={displayAvatar.names} size={40} />;\n }\n\n return (\n <Avatar\n image={displayAvatar.image}\n name={displayAvatar.name}\n online={displayPresence}\n size={40}\n />\n );\n};\n"]}
1
+ {"version":3,"sources":["ChannelAvatar.tsx"],"names":["ChannelAvatar","props","channel","displayAvatar","displayPresence","images","names","image","name"],"mappings":";;;;;;;AAAA;;AAGA;;AACA;;AAGA;;AACA;;;;;AASO,IAAMA,aAAa,GAAG,SAAhBA,aAAgB,CAG3BC,KAH2B,EAIxB;AACH,MAAQC,OAAR,GAAoBD,KAApB,CAAQC,OAAR;AAEA,MAAMC,aAAa,GAAG,oEAA+BD,OAA/B,CAAtB;AACA,MAAME,eAAe,GAAG,wEAAiCF,OAAjC,CAAxB;;AAEA,MAAIC,aAAa,CAACE,MAAlB,EAA0B;AACxB,WAAO,gCAAC,wBAAD;AAAa,MAAA,MAAM,EAAEF,aAAa,CAACE,MAAnC;AAA2C,MAAA,KAAK,EAAEF,aAAa,CAACG,KAAhE;AAAuE,MAAA,IAAI,EAAE,EAA7E;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAAP;AACD;;AAED,SACE,gCAAC,cAAD;AACE,IAAA,KAAK,EAAEH,aAAa,CAACI,KADvB;AAEE,IAAA,IAAI,EAAEJ,aAAa,CAACK,IAFtB;AAGE,IAAA,MAAM,EAAEJ,eAHV;AAIE,IAAA,IAAI,EAAE,EAJR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IADF;AAQD,CAtBM","sourcesContent":["import React from 'react';\n\nimport type { ChannelPreviewProps } from './ChannelPreview';\nimport { useChannelPreviewDisplayAvatar } from './hooks/useChannelPreviewDisplayAvatar';\nimport { useChannelPreviewDisplayPresence } from './hooks/useChannelPreviewDisplayPresence';\n\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport { Avatar } from '../Avatar/Avatar';\nimport { GroupAvatar } from '../Avatar/GroupAvatar';\n\nexport type ChannelAvatarProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<ChannelPreviewProps<StreamChatGenerics>, 'channel'>;\n\n/**\n * This UI component displays an avatar for a particular channel.\n */\nexport const ChannelAvatar = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: ChannelAvatarProps<StreamChatGenerics>,\n) => {\n const { channel } = props;\n\n const displayAvatar = useChannelPreviewDisplayAvatar(channel);\n const displayPresence = useChannelPreviewDisplayPresence(channel);\n\n if (displayAvatar.images) {\n return <GroupAvatar images={displayAvatar.images} names={displayAvatar.names} size={40} />;\n }\n\n return (\n <Avatar\n image={displayAvatar.image}\n name={displayAvatar.name}\n online={displayPresence}\n size={40}\n />\n );\n};\n"]}
@@ -15,10 +15,10 @@ var _react = _interopRequireWildcard(require("react"));
15
15
 
16
16
  var _useLatestMessagePreview = require("./hooks/useLatestMessagePreview");
17
17
 
18
- var _ChatContext = require("../../contexts/chatContext/ChatContext");
19
-
20
18
  var _ChannelsContext = require("../../contexts/channelsContext/ChannelsContext");
21
19
 
20
+ var _ChatContext = require("../../contexts/chatContext/ChatContext");
21
+
22
22
  var _this = this,
23
23
  _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/ChannelPreview/ChannelPreview.tsx";
24
24
 
@@ -105,7 +105,7 @@ var ChannelPreviewWithContext = function ChannelPreviewWithContext(props) {
105
105
  __self: _this,
106
106
  __source: {
107
107
  fileName: _jsxFileName,
108
- lineNumber: 121,
108
+ lineNumber: 100,
109
109
  columnNumber: 10
110
110
  }
111
111
  });
@@ -125,7 +125,7 @@ var ChannelPreview = function ChannelPreview(props) {
125
125
  __self: _this,
126
126
  __source: {
127
127
  fileName: _jsxFileName,
128
- lineNumber: 149,
128
+ lineNumber: 116,
129
129
  columnNumber: 10
130
130
  }
131
131
  }));
@@ -1 +1 @@
1
- {"version":3,"sources":["ChannelPreview.tsx"],"names":["ChannelPreviewWithContext","props","channel","client","Preview","state","messages","length","lastMessage","setLastMessage","forceUpdate","setForceUpdate","countUnread","unread","setUnread","latestMessagePreview","channelLastMessage","channelLastMessageString","id","updated_at","newUnreadCount","handleEvent","event","message","type","on","off","handleReadEvent","user","userID","prev","ChannelPreview"],"mappings":"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","sourcesContent":["import React, { useEffect, useState } from 'react';\n\nimport { useLatestMessagePreview } from './hooks/useLatestMessagePreview';\n\nimport { ChatContextValue, useChatContext } from '../../contexts/chatContext/ChatContext';\nimport {\n ChannelsContextValue,\n useChannelsContext,\n} from '../../contexts/channelsContext/ChannelsContext';\n\nimport type { Channel, ChannelState, Event, MessageResponse } from 'stream-chat';\n\nimport type {\n DefaultAttachmentType,\n DefaultChannelType,\n DefaultCommandType,\n DefaultEventType,\n DefaultMessageType,\n DefaultReactionType,\n DefaultUserType,\n UnknownType,\n} from '../../types/types';\n\nexport type ChannelPreviewPropsWithContext<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n> = Pick<ChatContextValue<At, Ch, Co, Ev, Me, Re, Us>, 'client'> &\n Pick<ChannelsContextValue<At, Ch, Co, Ev, Me, Re, Us>, 'Preview'> & {\n /**\n * The previewed channel\n */\n channel: Channel<At, Ch, Co, Ev, Me, Re, Us>;\n };\n\n/**\n * This component manages state for the ChannelPreviewMessenger UI component and receives\n * all props from the ChannelListMessenger component.\n */\nconst ChannelPreviewWithContext = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n props: ChannelPreviewPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const { channel, client, Preview } = props;\n\n const [lastMessage, setLastMessage] = useState<\n | ReturnType<ChannelState<At, Ch, Co, Ev, Me, Re, Us>['formatMessage']>\n | MessageResponse<At, Ch, Co, Me, Re, Us>\n | undefined\n >(channel.state.messages[channel.state.messages.length - 1]);\n const [forceUpdate, setForceUpdate] = useState(0);\n const [unread, setUnread] = useState(channel.countUnread());\n\n const latestMessagePreview = useLatestMessagePreview(channel, forceUpdate, lastMessage);\n\n const channelLastMessage = channel.lastMessage();\n const channelLastMessageString = `${channelLastMessage?.id}${channelLastMessage?.updated_at}`;\n\n useEffect(() => {\n if (\n channelLastMessage &&\n (channelLastMessage.id !== lastMessage?.id ||\n channelLastMessage.updated_at !== lastMessage?.updated_at)\n ) {\n setLastMessage(channelLastMessage);\n }\n\n const newUnreadCount = channel.countUnread();\n\n if (newUnreadCount !== unread) {\n setUnread(newUnreadCount);\n }\n }, [channelLastMessageString]);\n\n useEffect(() => {\n const handleEvent = (event: Event<At, Ch, Co, Ev, Me, Re, Us>) => {\n if (event.message) {\n setLastMessage(event.message);\n }\n\n if (event.type === 'message.new') {\n setUnread(channel.countUnread());\n }\n };\n\n channel.on('message.new', handleEvent);\n channel.on('message.updated', handleEvent);\n channel.on('message.deleted', handleEvent);\n\n return () => {\n channel.off('message.new', handleEvent);\n channel.off('message.updated', handleEvent);\n channel.off('message.deleted', handleEvent);\n };\n }, []);\n\n useEffect(() => {\n const handleReadEvent = (event: Event<At, Ch, Co, Ev, Me, Re, Us>) => {\n if (event.user?.id === client.userID) {\n setUnread(0);\n } else if (event.user?.id) {\n setForceUpdate((prev) => prev + 1);\n }\n };\n\n channel.on('message.read', handleReadEvent);\n return () => channel.off('message.read', handleReadEvent);\n }, []);\n\n return <Preview channel={channel} latestMessagePreview={latestMessagePreview} unread={unread} />;\n};\n\nexport type ChannelPreviewProps<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n> = Partial<Omit<ChannelPreviewPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>, 'channel'>> &\n Pick<ChannelPreviewPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>, 'channel'>;\n\nexport const ChannelPreview = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n props: ChannelPreviewProps<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const { client } = useChatContext<At, Ch, Co, Ev, Me, Re, Us>();\n const { Preview } = useChannelsContext<At, Ch, Co, Ev, Me, Re, Us>();\n\n return <ChannelPreviewWithContext {...{ client, Preview }} {...props} />;\n};\n"]}
1
+ {"version":3,"sources":["ChannelPreview.tsx"],"names":["ChannelPreviewWithContext","props","channel","client","Preview","state","messages","length","lastMessage","setLastMessage","forceUpdate","setForceUpdate","countUnread","unread","setUnread","latestMessagePreview","channelLastMessage","channelLastMessageString","id","updated_at","newUnreadCount","handleEvent","event","message","type","on","off","handleReadEvent","user","userID","prev","ChannelPreview"],"mappings":"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","sourcesContent":["import React, { useEffect, useState } from 'react';\n\nimport type { Channel, ChannelState, Event, MessageResponse } from 'stream-chat';\n\nimport { useLatestMessagePreview } from './hooks/useLatestMessagePreview';\n\nimport {\n ChannelsContextValue,\n useChannelsContext,\n} from '../../contexts/channelsContext/ChannelsContext';\nimport { ChatContextValue, useChatContext } from '../../contexts/chatContext/ChatContext';\n\nimport type { DefaultStreamChatGenerics } from '../../types/types';\n\nexport type ChannelPreviewPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<ChatContextValue<StreamChatGenerics>, 'client'> &\n Pick<ChannelsContextValue<StreamChatGenerics>, 'Preview'> & {\n /**\n * The previewed channel\n */\n channel: Channel<StreamChatGenerics>;\n };\n\n/**\n * This component manages state for the ChannelPreviewMessenger UI component and receives\n * all props from the ChannelListMessenger component.\n */\nconst ChannelPreviewWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: ChannelPreviewPropsWithContext<StreamChatGenerics>,\n) => {\n const { channel, client, Preview } = props;\n\n const [lastMessage, setLastMessage] = useState<\n | ReturnType<ChannelState<StreamChatGenerics>['formatMessage']>\n | MessageResponse<StreamChatGenerics>\n | undefined\n >(channel.state.messages[channel.state.messages.length - 1]);\n const [forceUpdate, setForceUpdate] = useState(0);\n const [unread, setUnread] = useState(channel.countUnread());\n\n const latestMessagePreview = useLatestMessagePreview(channel, forceUpdate, lastMessage);\n\n const channelLastMessage = channel.lastMessage();\n const channelLastMessageString = `${channelLastMessage?.id}${channelLastMessage?.updated_at}`;\n\n useEffect(() => {\n if (\n channelLastMessage &&\n (channelLastMessage.id !== lastMessage?.id ||\n channelLastMessage.updated_at !== lastMessage?.updated_at)\n ) {\n setLastMessage(channelLastMessage);\n }\n\n const newUnreadCount = channel.countUnread();\n\n if (newUnreadCount !== unread) {\n setUnread(newUnreadCount);\n }\n }, [channelLastMessageString]);\n\n useEffect(() => {\n const handleEvent = (event: Event<StreamChatGenerics>) => {\n if (event.message) {\n setLastMessage(event.message);\n }\n\n if (event.type === 'message.new') {\n setUnread(channel.countUnread());\n }\n };\n\n channel.on('message.new', handleEvent);\n channel.on('message.updated', handleEvent);\n channel.on('message.deleted', handleEvent);\n\n return () => {\n channel.off('message.new', handleEvent);\n channel.off('message.updated', handleEvent);\n channel.off('message.deleted', handleEvent);\n };\n }, []);\n\n useEffect(() => {\n const handleReadEvent = (event: Event<StreamChatGenerics>) => {\n if (event.user?.id === client.userID) {\n setUnread(0);\n } else if (event.user?.id) {\n setForceUpdate((prev) => prev + 1);\n }\n };\n\n channel.on('message.read', handleReadEvent);\n return () => channel.off('message.read', handleReadEvent);\n }, []);\n\n return <Preview channel={channel} latestMessagePreview={latestMessagePreview} unread={unread} />;\n};\n\nexport type ChannelPreviewProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<Omit<ChannelPreviewPropsWithContext<StreamChatGenerics>, 'channel'>> &\n Pick<ChannelPreviewPropsWithContext<StreamChatGenerics>, 'channel'>;\n\nexport const ChannelPreview = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: ChannelPreviewProps<StreamChatGenerics>,\n) => {\n const { client } = useChatContext<StreamChatGenerics>();\n const { Preview } = useChannelsContext<StreamChatGenerics>();\n\n return <ChannelPreviewWithContext {...{ client, Preview }} {...props} />;\n};\n"]}
@@ -24,8 +24,8 @@ var styles = _reactNative.StyleSheet.create({
24
24
  }
25
25
  });
26
26
 
27
- var ChannelPreviewMessage = function ChannelPreviewMessage(_ref) {
28
- var latestMessagePreview = _ref.latestMessagePreview;
27
+ var ChannelPreviewMessage = function ChannelPreviewMessage(props) {
28
+ var latestMessagePreview = props.latestMessagePreview;
29
29
 
30
30
  var _useTheme = (0, _ThemeContext.useTheme)(),
31
31
  _useTheme$theme = _useTheme.theme,
@@ -40,7 +40,7 @@ var ChannelPreviewMessage = function ChannelPreviewMessage(_ref) {
40
40
  __self: _this,
41
41
  __source: {
42
42
  fileName: _jsxFileName,
43
- lineNumber: 49,
43
+ lineNumber: 39,
44
44
  columnNumber: 5
45
45
  }
46
46
  }, latestMessagePreview.previews.map(function (preview, index) {
@@ -48,11 +48,11 @@ var ChannelPreviewMessage = function ChannelPreviewMessage(_ref) {
48
48
  key: preview.text + "_" + index,
49
49
  style: [{
50
50
  color: grey
51
- }, preview.bold ? styles.bold : {}],
51
+ }, preview.bold ? styles.bold : {}, message],
52
52
  __self: _this,
53
53
  __source: {
54
54
  fileName: _jsxFileName,
55
- lineNumber: 52,
55
+ lineNumber: 42,
56
56
  columnNumber: 11
57
57
  }
58
58
  }, preview.text) : null;
@@ -1 +1 @@
1
- {"version":3,"sources":["ChannelPreviewMessage.tsx"],"names":["styles","StyleSheet","create","bold","fontWeight","message","flexShrink","fontSize","ChannelPreviewMessage","latestMessagePreview","theme","channelPreview","grey","colors","color","previews","map","preview","index","text"],"mappings":";;;;;;;AAAA;;AACA;;AAEA;;;;;AAeA,IAAMA,MAAM,GAAGC,wBAAWC,MAAX,CAAkB;AAC/BC,EAAAA,IAAI,EAAE;AAAEC,IAAAA,UAAU,EAAE;AAAd,GADyB;AAE/BC,EAAAA,OAAO,EAAE;AACPC,IAAAA,UAAU,EAAE,CADL;AAEPC,IAAAA,QAAQ,EAAE;AAFH;AAFsB,CAAlB,CAAf;;AAmBO,IAAMC,qBAA2D,GAAG,SAA9DA,qBAA8D,OAErE;AAAA,MADJC,oBACI,QADJA,oBACI;;AACJ,kBAKI,6BALJ;AAAA,kCACEC,KADF;AAAA,MAEsBL,OAFtB,mBAEIM,cAFJ,CAEsBN,OAFtB;AAAA,MAGcO,IAHd,mBAGIC,MAHJ,CAGcD,IAHd;;AAOA,SACE,gCAAC,iBAAD;AAAM,IAAA,aAAa,EAAE,CAArB;AAAwB,IAAA,KAAK,EAAE,CAACZ,MAAM,CAACK,OAAR,EAAiB;AAAES,MAAAA,KAAK,EAAEF;AAAT,KAAjB,EAAkCP,OAAlC,CAA/B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KACGI,oBAAoB,CAACM,QAArB,CAA8BC,GAA9B,CAAkC,UAACC,OAAD,EAAUC,KAAV;AAAA,WACjCD,OAAO,CAACE,IAAR,GACE,gCAAC,iBAAD;AACE,MAAA,GAAG,EAAKF,OAAO,CAACE,IAAb,SAAqBD,KAD1B;AAEE,MAAA,KAAK,EAAE,CAAC;AAAEJ,QAAAA,KAAK,EAAEF;AAAT,OAAD,EAAkBK,OAAO,CAACd,IAAR,GAAeH,MAAM,CAACG,IAAtB,GAA6B,EAA/C,CAFT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,OAIGc,OAAO,CAACE,IAJX,CADF,GAOI,IAR6B;AAAA,GAAlC,CADH,CADF;AAcD,CAxBM","sourcesContent":["import React from 'react';\nimport { StyleSheet, Text } from 'react-native';\n\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\n\nimport type { LatestMessagePreview } from './hooks/useLatestMessagePreview';\n\nimport type {\n DefaultAttachmentType,\n DefaultChannelType,\n DefaultCommandType,\n DefaultEventType,\n DefaultMessageType,\n DefaultReactionType,\n DefaultUserType,\n UnknownType,\n} from '../../types/types';\n\nconst styles = StyleSheet.create({\n bold: { fontWeight: '600' },\n message: {\n flexShrink: 1,\n fontSize: 12,\n },\n});\n\nexport type ChannelPreviewMessageProps<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n> = {\n latestMessagePreview: LatestMessagePreview<At, Ch, Co, Ev, Me, Re, Us>;\n};\nexport const ChannelPreviewMessage: React.FC<ChannelPreviewMessageProps> = ({\n latestMessagePreview,\n}) => {\n const {\n theme: {\n channelPreview: { message },\n colors: { grey },\n },\n } = useTheme();\n\n return (\n <Text numberOfLines={1} style={[styles.message, { color: grey }, message]}>\n {latestMessagePreview.previews.map((preview, index) =>\n preview.text ? (\n <Text\n key={`${preview.text}_${index}`}\n style={[{ color: grey }, preview.bold ? styles.bold : {}]}\n >\n {preview.text}\n </Text>\n ) : null,\n )}\n </Text>\n );\n};\n"]}
1
+ {"version":3,"sources":["ChannelPreviewMessage.tsx"],"names":["styles","StyleSheet","create","bold","fontWeight","message","flexShrink","fontSize","ChannelPreviewMessage","props","latestMessagePreview","theme","channelPreview","grey","colors","color","previews","map","preview","index","text"],"mappings":";;;;;;;AAAA;;AACA;;AAIA;;;;;AAIA,IAAMA,MAAM,GAAGC,wBAAWC,MAAX,CAAkB;AAC/BC,EAAAA,IAAI,EAAE;AAAEC,IAAAA,UAAU,EAAE;AAAd,GADyB;AAE/BC,EAAAA,OAAO,EAAE;AACPC,IAAAA,UAAU,EAAE,CADL;AAEPC,IAAAA,QAAQ,EAAE;AAFH;AAFsB,CAAlB,CAAf;;AAcO,IAAMC,qBAAqB,GAAG,SAAxBA,qBAAwB,CAGnCC,KAHmC,EAIhC;AACH,MAAQC,oBAAR,GAAiCD,KAAjC,CAAQC,oBAAR;;AAEA,kBAKI,6BALJ;AAAA,kCACEC,KADF;AAAA,MAEsBN,OAFtB,mBAEIO,cAFJ,CAEsBP,OAFtB;AAAA,MAGcQ,IAHd,mBAGIC,MAHJ,CAGcD,IAHd;;AAOA,SACE,gCAAC,iBAAD;AAAM,IAAA,aAAa,EAAE,CAArB;AAAwB,IAAA,KAAK,EAAE,CAACb,MAAM,CAACK,OAAR,EAAiB;AAAEU,MAAAA,KAAK,EAAEF;AAAT,KAAjB,EAAkCR,OAAlC,CAA/B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KACGK,oBAAoB,CAACM,QAArB,CAA8BC,GAA9B,CAAkC,UAACC,OAAD,EAAUC,KAAV;AAAA,WACjCD,OAAO,CAACE,IAAR,GACE,gCAAC,iBAAD;AACE,MAAA,GAAG,EAAKF,OAAO,CAACE,IAAb,SAAqBD,KAD1B;AAEE,MAAA,KAAK,EAAE,CAAC;AAAEJ,QAAAA,KAAK,EAAEF;AAAT,OAAD,EAAkBK,OAAO,CAACf,IAAR,GAAeH,MAAM,CAACG,IAAtB,GAA6B,EAA/C,EAAmDE,OAAnD,CAFT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,OAIGa,OAAO,CAACE,IAJX,CADF,GAOI,IAR6B;AAAA,GAAlC,CADH,CADF;AAcD,CA5BM","sourcesContent":["import React from 'react';\nimport { StyleSheet, Text } from 'react-native';\n\nimport type { LatestMessagePreview } from './hooks/useLatestMessagePreview';\n\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\n\nimport type { DefaultStreamChatGenerics } from '../../types/types';\n\nconst styles = StyleSheet.create({\n bold: { fontWeight: '600' },\n message: {\n flexShrink: 1,\n fontSize: 12,\n },\n});\n\nexport type ChannelPreviewMessageProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = {\n latestMessagePreview: LatestMessagePreview<StreamChatGenerics>;\n};\n\nexport const ChannelPreviewMessage = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: ChannelPreviewMessageProps<StreamChatGenerics>,\n) => {\n const { latestMessagePreview } = props;\n\n const {\n theme: {\n channelPreview: { message },\n colors: { grey },\n },\n } = useTheme();\n\n return (\n <Text numberOfLines={1} style={[styles.message, { color: grey }, message]}>\n {latestMessagePreview.previews.map((preview, index) =>\n preview.text ? (\n <Text\n key={`${preview.text}_${index}`}\n style={[{ color: grey }, preview.bold ? styles.bold : {}, message]}\n >\n {preview.text}\n </Text>\n ) : null,\n )}\n </Text>\n );\n};\n"]}