stream-chat-react-native-core 4.0.0-beta.2 → 4.0.0-beta.3

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 (834) hide show
  1. package/lib/commonjs/components/Attachment/Attachment.js +2 -2
  2. package/lib/commonjs/components/Attachment/Attachment.js.map +1 -1
  3. package/lib/commonjs/components/Attachment/AttachmentActions.js.map +1 -1
  4. package/lib/commonjs/components/Attachment/Card.js +15 -15
  5. package/lib/commonjs/components/Attachment/Card.js.map +1 -1
  6. package/lib/commonjs/components/Attachment/FileAttachment.js +8 -8
  7. package/lib/commonjs/components/Attachment/FileAttachment.js.map +1 -1
  8. package/lib/commonjs/components/Attachment/FileIcon.js.map +1 -1
  9. package/lib/commonjs/components/Attachment/Gallery.js +97 -106
  10. package/lib/commonjs/components/Attachment/Gallery.js.map +1 -1
  11. package/lib/commonjs/components/Attachment/Giphy.js +27 -27
  12. package/lib/commonjs/components/Attachment/Giphy.js.map +1 -1
  13. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGallery.js +46 -0
  14. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGallery.js.map +1 -0
  15. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.js +88 -0
  16. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.js.map +1 -0
  17. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.js +75 -0
  18. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.js.map +1 -0
  19. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.js +43 -0
  20. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.js.map +1 -0
  21. package/lib/commonjs/components/Attachment/utils/buildGallery/buildThumbnail.js +30 -0
  22. package/lib/commonjs/components/Attachment/utils/buildGallery/buildThumbnail.js.map +1 -0
  23. package/lib/commonjs/components/Attachment/utils/buildGallery/buildThumbnailGrid.js +49 -0
  24. package/lib/commonjs/components/Attachment/utils/buildGallery/buildThumbnailGrid.js.map +1 -0
  25. package/lib/commonjs/components/Attachment/utils/buildGallery/types.js +4 -0
  26. package/lib/commonjs/components/Attachment/utils/buildGallery/types.js.map +1 -0
  27. package/lib/commonjs/components/Attachment/utils/getAspectRatio.js +14 -0
  28. package/lib/commonjs/components/Attachment/utils/getAspectRatio.js.map +1 -0
  29. package/lib/commonjs/components/Attachment/utils/getGalleryImageBorderRadius.js +36 -0
  30. package/lib/commonjs/components/Attachment/utils/getGalleryImageBorderRadius.js.map +1 -0
  31. package/lib/commonjs/components/AttachmentPicker/AttachmentPicker.js +9 -8
  32. package/lib/commonjs/components/AttachmentPicker/AttachmentPicker.js.map +1 -1
  33. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteInput.js +2 -2
  34. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteInput.js.map +1 -1
  35. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.js.map +1 -1
  36. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js.map +1 -1
  37. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionItem.js +16 -16
  38. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionItem.js.map +1 -1
  39. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionList.js +11 -11
  40. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionList.js.map +1 -1
  41. package/lib/commonjs/components/Avatar/Avatar.js +13 -7
  42. package/lib/commonjs/components/Avatar/Avatar.js.map +1 -1
  43. package/lib/commonjs/components/Avatar/GroupAvatar.js +10 -4
  44. package/lib/commonjs/components/Avatar/GroupAvatar.js.map +1 -1
  45. package/lib/commonjs/components/Channel/Channel.js +64 -64
  46. package/lib/commonjs/components/Channel/Channel.js.map +1 -1
  47. package/lib/commonjs/components/Channel/hooks/useCreateOwnCapabilitiesContext.js.map +1 -1
  48. package/lib/commonjs/components/ChannelList/ChannelList.js +6 -6
  49. package/lib/commonjs/components/ChannelList/ChannelList.js.map +1 -1
  50. package/lib/commonjs/components/ChannelList/ChannelListFooterLoadingIndicator.js +4 -4
  51. package/lib/commonjs/components/ChannelList/ChannelListFooterLoadingIndicator.js.map +1 -1
  52. package/lib/commonjs/components/ChannelList/ChannelListHeaderErrorIndicator.js +6 -7
  53. package/lib/commonjs/components/ChannelList/ChannelListHeaderErrorIndicator.js.map +1 -1
  54. package/lib/commonjs/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js +2 -2
  55. package/lib/commonjs/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js.map +1 -1
  56. package/lib/commonjs/components/ChannelList/ChannelListMessenger.js +17 -17
  57. package/lib/commonjs/components/ChannelList/ChannelListMessenger.js.map +1 -1
  58. package/lib/commonjs/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js +2 -2
  59. package/lib/commonjs/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js.map +1 -1
  60. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelDeleted.js.map +1 -1
  61. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelHidden.js.map +1 -1
  62. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelTruncated.js.map +1 -1
  63. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelUpdated.js.map +1 -1
  64. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelVisible.js +2 -2
  65. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelVisible.js.map +1 -1
  66. package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessage.js +2 -2
  67. package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessage.js.map +1 -1
  68. package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessageNotification.js +3 -3
  69. package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessageNotification.js.map +1 -1
  70. package/lib/commonjs/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.js.map +1 -1
  71. package/lib/commonjs/components/ChannelList/hooks/listeners/useUserPresence.js.map +1 -1
  72. package/lib/commonjs/components/ChannelList/hooks/useCreateChannelsContext.js +2 -2
  73. package/lib/commonjs/components/ChannelList/hooks/useCreateChannelsContext.js.map +1 -1
  74. package/lib/commonjs/components/ChannelList/hooks/usePaginatedChannels.js +83 -70
  75. package/lib/commonjs/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
  76. package/lib/commonjs/components/ChannelList/utils.js +1 -1
  77. package/lib/commonjs/components/ChannelPreview/ChannelAvatar.js +2 -2
  78. package/lib/commonjs/components/ChannelPreview/ChannelAvatar.js.map +1 -1
  79. package/lib/commonjs/components/ChannelPreview/ChannelPreview.js +2 -2
  80. package/lib/commonjs/components/ChannelPreview/ChannelPreview.js.map +1 -1
  81. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessage.js.map +1 -1
  82. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessenger.js +48 -20
  83. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessenger.js.map +1 -1
  84. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMutedStatus.js +51 -0
  85. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMutedStatus.js.map +1 -0
  86. package/lib/commonjs/components/ChannelPreview/ChannelPreviewStatus.js +4 -4
  87. package/lib/commonjs/components/ChannelPreview/ChannelPreviewStatus.js.map +1 -1
  88. package/lib/commonjs/components/ChannelPreview/ChannelPreviewTitle.js.map +1 -1
  89. package/lib/commonjs/components/ChannelPreview/ChannelPreviewUnreadCount.js +2 -2
  90. package/lib/commonjs/components/ChannelPreview/ChannelPreviewUnreadCount.js.map +1 -1
  91. package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.js.map +1 -1
  92. package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js.map +1 -1
  93. package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayPresence.js.map +1 -1
  94. package/lib/commonjs/components/ChannelPreview/hooks/useLatestMessagePreview.js.map +1 -1
  95. package/lib/commonjs/components/Chat/Chat.js.map +1 -1
  96. package/lib/commonjs/components/Chat/hooks/useIsOnline.js.map +1 -1
  97. package/lib/commonjs/components/ImageGallery/ImageGallery.js +89 -56
  98. package/lib/commonjs/components/ImageGallery/ImageGallery.js.map +1 -1
  99. package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryImage.js +2 -2
  100. package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryImage.js.map +1 -1
  101. package/lib/commonjs/components/ImageGallery/components/ImageGalleryFooter.js +12 -12
  102. package/lib/commonjs/components/ImageGallery/components/ImageGalleryFooter.js.map +1 -1
  103. package/lib/commonjs/components/ImageGallery/components/ImageGalleryHeader.js +10 -10
  104. package/lib/commonjs/components/ImageGallery/components/ImageGalleryHeader.js.map +1 -1
  105. package/lib/commonjs/components/ImageGallery/components/ImageGrid.js +7 -7
  106. package/lib/commonjs/components/ImageGallery/components/ImageGrid.js.map +1 -1
  107. package/lib/commonjs/components/ImageGallery/components/ImageGridHandle.js +5 -5
  108. package/lib/commonjs/components/ImageGallery/components/ImageGridHandle.js.map +1 -1
  109. package/lib/commonjs/components/Indicators/LoadingIndicator.js +9 -9
  110. package/lib/commonjs/components/Indicators/LoadingIndicator.js.map +1 -1
  111. package/lib/commonjs/components/Message/Message.js +13 -9
  112. package/lib/commonjs/components/Message/Message.js.map +1 -1
  113. package/lib/commonjs/components/Message/MessageSimple/MessageAvatar.js +6 -6
  114. package/lib/commonjs/components/Message/MessageSimple/MessageAvatar.js.map +1 -1
  115. package/lib/commonjs/components/Message/MessageSimple/MessageContent.js +19 -19
  116. package/lib/commonjs/components/Message/MessageSimple/MessageContent.js.map +1 -1
  117. package/lib/commonjs/components/Message/MessageSimple/MessageDeleted.js +5 -5
  118. package/lib/commonjs/components/Message/MessageSimple/MessageDeleted.js.map +1 -1
  119. package/lib/commonjs/components/Message/MessageSimple/MessageFooter.js +11 -11
  120. package/lib/commonjs/components/Message/MessageSimple/MessageFooter.js.map +1 -1
  121. package/lib/commonjs/components/Message/MessageSimple/MessagePinnedHeader.js +2 -2
  122. package/lib/commonjs/components/Message/MessageSimple/MessagePinnedHeader.js.map +1 -1
  123. package/lib/commonjs/components/Message/MessageSimple/MessageRepliesAvatars.js +5 -5
  124. package/lib/commonjs/components/Message/MessageSimple/MessageRepliesAvatars.js.map +1 -1
  125. package/lib/commonjs/components/Message/MessageSimple/MessageStatus.js +9 -7
  126. package/lib/commonjs/components/Message/MessageSimple/MessageStatus.js.map +1 -1
  127. package/lib/commonjs/components/Message/MessageSimple/utils/parseLinks.js +89 -0
  128. package/lib/commonjs/components/Message/MessageSimple/utils/parseLinks.js.map +1 -0
  129. package/lib/commonjs/components/Message/MessageSimple/utils/parseLinks.test.js +46 -0
  130. package/lib/commonjs/components/Message/MessageSimple/utils/parseLinks.test.js.map +1 -0
  131. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.js +14 -25
  132. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.js.map +1 -1
  133. package/lib/commonjs/components/Message/hooks/useCreateMessageContext.js.map +1 -1
  134. package/lib/commonjs/components/Message/hooks/useMessageActionHandlers.js +16 -3
  135. package/lib/commonjs/components/Message/hooks/useMessageActionHandlers.js.map +1 -1
  136. package/lib/commonjs/components/Message/hooks/useMessageActions.js +18 -14
  137. package/lib/commonjs/components/Message/hooks/useMessageActions.js.map +1 -1
  138. package/lib/commonjs/components/Message/utils/messageActions.js.map +1 -1
  139. package/lib/commonjs/components/Message/utils/removeReservedFields.js.map +1 -1
  140. package/lib/commonjs/components/MessageInput/AttachButton.js +3 -3
  141. package/lib/commonjs/components/MessageInput/AttachButton.js.map +1 -1
  142. package/lib/commonjs/components/MessageInput/CommandsButton.js +3 -3
  143. package/lib/commonjs/components/MessageInput/CommandsButton.js.map +1 -1
  144. package/lib/commonjs/components/MessageInput/CooldownTimer.js +2 -2
  145. package/lib/commonjs/components/MessageInput/CooldownTimer.js.map +1 -1
  146. package/lib/commonjs/components/MessageInput/FileUploadPreview.js +2 -2
  147. package/lib/commonjs/components/MessageInput/FileUploadPreview.js.map +1 -1
  148. package/lib/commonjs/components/MessageInput/ImageUploadPreview.js +7 -7
  149. package/lib/commonjs/components/MessageInput/ImageUploadPreview.js.map +1 -1
  150. package/lib/commonjs/components/MessageInput/InputButtons.js +3 -3
  151. package/lib/commonjs/components/MessageInput/InputButtons.js.map +1 -1
  152. package/lib/commonjs/components/MessageInput/MessageInput.js +40 -40
  153. package/lib/commonjs/components/MessageInput/MessageInput.js.map +1 -1
  154. package/lib/commonjs/components/MessageInput/MoreOptionsButton.js +3 -3
  155. package/lib/commonjs/components/MessageInput/MoreOptionsButton.js.map +1 -1
  156. package/lib/commonjs/components/MessageInput/SendMessageDisallowedIndicator.js +2 -2
  157. package/lib/commonjs/components/MessageInput/SendMessageDisallowedIndicator.js.map +1 -1
  158. package/lib/commonjs/components/MessageInput/ShowThreadMessageInChannelButton.js +3 -3
  159. package/lib/commonjs/components/MessageInput/ShowThreadMessageInChannelButton.js.map +1 -1
  160. package/lib/commonjs/components/MessageInput/hooks/useCooldown.js.map +1 -1
  161. package/lib/commonjs/components/MessageInput/hooks/useCountdown.js.map +1 -1
  162. package/lib/commonjs/components/MessageList/InlineLoadingMoreIndicator.js +1 -1
  163. package/lib/commonjs/components/MessageList/InlineLoadingMoreRecentIndicator.js +1 -1
  164. package/lib/commonjs/components/MessageList/InlineLoadingMoreThreadIndicator.js +1 -1
  165. package/lib/commonjs/components/MessageList/MessageList.js +2 -2
  166. package/lib/commonjs/components/MessageList/MessageList.js.map +1 -1
  167. package/lib/commonjs/components/MessageList/MessageSystem.js.map +1 -1
  168. package/lib/commonjs/components/MessageList/TypingIndicator.js +5 -5
  169. package/lib/commonjs/components/MessageList/TypingIndicator.js.map +1 -1
  170. package/lib/commonjs/components/MessageList/hooks/useMessageList.js +7 -7
  171. package/lib/commonjs/components/MessageList/hooks/useMessageList.js.map +1 -1
  172. package/lib/commonjs/components/MessageList/hooks/useTypingString.js +2 -2
  173. package/lib/commonjs/components/MessageList/hooks/useTypingString.js.map +1 -1
  174. package/lib/commonjs/components/MessageList/utils/getGroupStyles.js.map +1 -1
  175. package/lib/commonjs/components/MessageList/utils/getLastReceivedMessage.js +3 -1
  176. package/lib/commonjs/components/MessageList/utils/getLastReceivedMessage.js.map +1 -1
  177. package/lib/commonjs/components/MessageOverlay/MessageActionList.js +2 -2
  178. package/lib/commonjs/components/MessageOverlay/MessageActionList.js.map +1 -1
  179. package/lib/commonjs/components/MessageOverlay/MessageActionListItem.js +7 -7
  180. package/lib/commonjs/components/MessageOverlay/MessageActionListItem.js.map +1 -1
  181. package/lib/commonjs/components/MessageOverlay/MessageOverlay.js +38 -32
  182. package/lib/commonjs/components/MessageOverlay/MessageOverlay.js.map +1 -1
  183. package/lib/commonjs/components/MessageOverlay/OverlayBackdrop.js +1 -1
  184. package/lib/commonjs/components/MessageOverlay/OverlayBackdrop.js.map +1 -1
  185. package/lib/commonjs/components/MessageOverlay/OverlayReactionList.js +11 -11
  186. package/lib/commonjs/components/MessageOverlay/OverlayReactionList.js.map +1 -1
  187. package/lib/commonjs/components/MessageOverlay/OverlayReactions.js +31 -34
  188. package/lib/commonjs/components/MessageOverlay/OverlayReactions.js.map +1 -1
  189. package/lib/commonjs/components/MessageOverlay/OverlayReactionsAvatar.js +41 -0
  190. package/lib/commonjs/components/MessageOverlay/OverlayReactionsAvatar.js.map +1 -0
  191. package/lib/commonjs/components/MessageOverlay/hooks/useMessageActionAnimation.js.map +1 -1
  192. package/lib/commonjs/components/Reply/Reply.js +25 -19
  193. package/lib/commonjs/components/Reply/Reply.js.map +1 -1
  194. package/lib/commonjs/components/Thread/Thread.js +6 -6
  195. package/lib/commonjs/components/Thread/Thread.js.map +1 -1
  196. package/lib/commonjs/components/Thread/components/ThreadFooterComponent.js +12 -12
  197. package/lib/commonjs/components/Thread/components/ThreadFooterComponent.js.map +1 -1
  198. package/lib/commonjs/components/docs/data.js +1 -1
  199. package/lib/commonjs/components/index.js +26 -0
  200. package/lib/commonjs/components/index.js.map +1 -1
  201. package/lib/commonjs/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js +2 -2
  202. package/lib/commonjs/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js.map +1 -1
  203. package/lib/commonjs/contexts/attachmentPickerContext/AttachmentPickerContext.js +2 -2
  204. package/lib/commonjs/contexts/attachmentPickerContext/AttachmentPickerContext.js.map +1 -1
  205. package/lib/commonjs/contexts/channelContext/ChannelContext.js +2 -2
  206. package/lib/commonjs/contexts/channelContext/ChannelContext.js.map +1 -1
  207. package/lib/commonjs/contexts/channelsContext/ChannelsContext.js +2 -2
  208. package/lib/commonjs/contexts/channelsContext/ChannelsContext.js.map +1 -1
  209. package/lib/commonjs/contexts/channelsStateContext/ChannelsStateContext.js +3 -3
  210. package/lib/commonjs/contexts/channelsStateContext/ChannelsStateContext.js.map +1 -1
  211. package/lib/commonjs/contexts/channelsStateContext/useChannelState.js.map +1 -1
  212. package/lib/commonjs/contexts/chatContext/ChatContext.js +2 -2
  213. package/lib/commonjs/contexts/chatContext/ChatContext.js.map +1 -1
  214. package/lib/commonjs/contexts/imageGalleryContext/ImageGalleryContext.js +2 -2
  215. package/lib/commonjs/contexts/imageGalleryContext/ImageGalleryContext.js.map +1 -1
  216. package/lib/commonjs/contexts/keyboardContext/KeyboardContext.js +2 -2
  217. package/lib/commonjs/contexts/keyboardContext/KeyboardContext.js.map +1 -1
  218. package/lib/commonjs/contexts/messageContext/MessageContext.js +2 -2
  219. package/lib/commonjs/contexts/messageContext/MessageContext.js.map +1 -1
  220. package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js +18 -14
  221. package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js.map +1 -1
  222. package/lib/commonjs/contexts/messageInputContext/hooks/useCreateMessageInputContext.js.map +1 -1
  223. package/lib/commonjs/contexts/messageInputContext/hooks/useMessageDetailsForState.js +10 -3
  224. package/lib/commonjs/contexts/messageInputContext/hooks/useMessageDetailsForState.js.map +1 -1
  225. package/lib/commonjs/contexts/messageOverlayContext/MessageOverlayContext.js +5 -19
  226. package/lib/commonjs/contexts/messageOverlayContext/MessageOverlayContext.js.map +1 -1
  227. package/lib/commonjs/contexts/messageOverlayContext/hooks/useResettableState.js +36 -0
  228. package/lib/commonjs/contexts/messageOverlayContext/hooks/useResettableState.js.map +1 -0
  229. package/lib/commonjs/contexts/messageOverlayContext/hooks/useResettableState.test.js +105 -0
  230. package/lib/commonjs/contexts/messageOverlayContext/hooks/useResettableState.test.js.map +1 -0
  231. package/lib/commonjs/contexts/messagesContext/MessagesContext.js.map +1 -1
  232. package/lib/commonjs/contexts/overlayContext/OverlayContext.js +1 -1
  233. package/lib/commonjs/contexts/overlayContext/OverlayContext.js.map +1 -1
  234. package/lib/commonjs/contexts/overlayContext/OverlayProvider.js +33 -31
  235. package/lib/commonjs/contexts/overlayContext/OverlayProvider.js.map +1 -1
  236. package/lib/commonjs/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js +1 -1
  237. package/lib/commonjs/contexts/paginatedMessageListContext/PaginatedMessageListContext.js +2 -2
  238. package/lib/commonjs/contexts/paginatedMessageListContext/PaginatedMessageListContext.js.map +1 -1
  239. package/lib/commonjs/contexts/suggestionsContext/SuggestionsContext.js +3 -3
  240. package/lib/commonjs/contexts/suggestionsContext/SuggestionsContext.js.map +1 -1
  241. package/lib/commonjs/contexts/themeContext/ThemeContext.js +2 -2
  242. package/lib/commonjs/contexts/themeContext/ThemeContext.js.map +1 -1
  243. package/lib/commonjs/contexts/themeContext/utils/theme.js +13 -5
  244. package/lib/commonjs/contexts/themeContext/utils/theme.js.map +1 -1
  245. package/lib/commonjs/contexts/threadContext/ThreadContext.js +2 -2
  246. package/lib/commonjs/contexts/threadContext/ThreadContext.js.map +1 -1
  247. package/lib/commonjs/contexts/translationContext/TranslationContext.js +1 -1
  248. package/lib/commonjs/contexts/translationContext/TranslationContext.js.map +1 -1
  249. package/lib/commonjs/contexts/typingContext/TypingContext.js +2 -2
  250. package/lib/commonjs/contexts/typingContext/TypingContext.js.map +1 -1
  251. package/lib/commonjs/contexts/utils/getDisplayName.js.map +1 -1
  252. package/lib/commonjs/emoji-data/index.js +2 -2
  253. package/lib/commonjs/emoji-data/index.js.map +1 -1
  254. package/lib/commonjs/hooks/useStreami18n.js.map +1 -1
  255. package/lib/commonjs/icons/utils/base.js +1 -1
  256. package/lib/commonjs/index.js +6 -6
  257. package/lib/commonjs/mock-builders/api/error.js +1 -1
  258. package/lib/commonjs/mock-builders/api/sendMessage.js.map +1 -1
  259. package/lib/commonjs/mock-builders/generator/attachment.js +1 -3
  260. package/lib/commonjs/mock-builders/generator/attachment.js.map +1 -1
  261. package/lib/commonjs/mock-builders/generator/channel.js +101 -51
  262. package/lib/commonjs/mock-builders/generator/channel.js.map +1 -1
  263. package/lib/commonjs/mock-builders/generator/user.js +32 -33
  264. package/lib/commonjs/mock-builders/generator/user.js.map +1 -1
  265. package/lib/commonjs/mock-builders/mock.js +1 -1
  266. package/lib/commonjs/native.js +1 -1
  267. package/lib/commonjs/native.js.map +1 -1
  268. package/lib/commonjs/styleguideComponents/ArgumentsRenderer.js +7 -7
  269. package/lib/commonjs/styleguideComponents/ArgumentsRenderer.js.map +1 -1
  270. package/lib/commonjs/styleguideComponents/JsDoc.js +4 -4
  271. package/lib/commonjs/styleguideComponents/JsDoc.js.map +1 -1
  272. package/lib/commonjs/styleguideComponents/PathlineRenderer.js +7 -7
  273. package/lib/commonjs/styleguideComponents/PathlineRenderer.js.map +1 -1
  274. package/lib/commonjs/styleguideComponents/PropsRenderer.js +25 -25
  275. package/lib/commonjs/styleguideComponents/PropsRenderer.js.map +1 -1
  276. package/lib/commonjs/styleguideComponents/Wrapper.js +1 -1
  277. package/lib/commonjs/styleguideComponents/Wrapper.js.map +1 -1
  278. package/lib/commonjs/utils/Streami18n.js.map +1 -1
  279. package/lib/commonjs/utils/getResizedImageUrl.js +26 -0
  280. package/lib/commonjs/utils/getResizedImageUrl.js.map +1 -0
  281. package/lib/commonjs/utils/getUrlOfImageAttachment.js +9 -0
  282. package/lib/commonjs/utils/getUrlOfImageAttachment.js.map +1 -0
  283. package/lib/commonjs/utils/utils.js +9 -3
  284. package/lib/commonjs/utils/utils.js.map +1 -1
  285. package/lib/commonjs/version.json +1 -1
  286. package/lib/module/components/Attachment/Attachment.js +2 -2
  287. package/lib/module/components/Attachment/Attachment.js.map +1 -1
  288. package/lib/module/components/Attachment/AttachmentActions.js.map +1 -1
  289. package/lib/module/components/Attachment/Card.js +15 -15
  290. package/lib/module/components/Attachment/Card.js.map +1 -1
  291. package/lib/module/components/Attachment/FileAttachment.js +8 -8
  292. package/lib/module/components/Attachment/FileAttachment.js.map +1 -1
  293. package/lib/module/components/Attachment/FileIcon.js.map +1 -1
  294. package/lib/module/components/Attachment/Gallery.js +97 -106
  295. package/lib/module/components/Attachment/Gallery.js.map +1 -1
  296. package/lib/module/components/Attachment/Giphy.js +27 -27
  297. package/lib/module/components/Attachment/Giphy.js.map +1 -1
  298. package/lib/module/components/Attachment/utils/buildGallery/buildGallery.js +46 -0
  299. package/lib/module/components/Attachment/utils/buildGallery/buildGallery.js.map +1 -0
  300. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.js +88 -0
  301. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.js.map +1 -0
  302. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.js +75 -0
  303. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.js.map +1 -0
  304. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.js +43 -0
  305. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.js.map +1 -0
  306. package/lib/module/components/Attachment/utils/buildGallery/buildThumbnail.js +30 -0
  307. package/lib/module/components/Attachment/utils/buildGallery/buildThumbnail.js.map +1 -0
  308. package/lib/module/components/Attachment/utils/buildGallery/buildThumbnailGrid.js +49 -0
  309. package/lib/module/components/Attachment/utils/buildGallery/buildThumbnailGrid.js.map +1 -0
  310. package/lib/module/components/Attachment/utils/buildGallery/types.js +4 -0
  311. package/lib/module/components/Attachment/utils/buildGallery/types.js.map +1 -0
  312. package/lib/module/components/Attachment/utils/getAspectRatio.js +14 -0
  313. package/lib/module/components/Attachment/utils/getAspectRatio.js.map +1 -0
  314. package/lib/module/components/Attachment/utils/getGalleryImageBorderRadius.js +36 -0
  315. package/lib/module/components/Attachment/utils/getGalleryImageBorderRadius.js.map +1 -0
  316. package/lib/module/components/AttachmentPicker/AttachmentPicker.js +9 -8
  317. package/lib/module/components/AttachmentPicker/AttachmentPicker.js.map +1 -1
  318. package/lib/module/components/AutoCompleteInput/AutoCompleteInput.js +2 -2
  319. package/lib/module/components/AutoCompleteInput/AutoCompleteInput.js.map +1 -1
  320. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.js.map +1 -1
  321. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js.map +1 -1
  322. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionItem.js +16 -16
  323. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionItem.js.map +1 -1
  324. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionList.js +11 -11
  325. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionList.js.map +1 -1
  326. package/lib/module/components/Avatar/Avatar.js +13 -7
  327. package/lib/module/components/Avatar/Avatar.js.map +1 -1
  328. package/lib/module/components/Avatar/GroupAvatar.js +10 -4
  329. package/lib/module/components/Avatar/GroupAvatar.js.map +1 -1
  330. package/lib/module/components/Channel/Channel.js +64 -64
  331. package/lib/module/components/Channel/Channel.js.map +1 -1
  332. package/lib/module/components/Channel/hooks/useCreateOwnCapabilitiesContext.js.map +1 -1
  333. package/lib/module/components/ChannelList/ChannelList.js +6 -6
  334. package/lib/module/components/ChannelList/ChannelList.js.map +1 -1
  335. package/lib/module/components/ChannelList/ChannelListFooterLoadingIndicator.js +4 -4
  336. package/lib/module/components/ChannelList/ChannelListFooterLoadingIndicator.js.map +1 -1
  337. package/lib/module/components/ChannelList/ChannelListHeaderErrorIndicator.js +6 -7
  338. package/lib/module/components/ChannelList/ChannelListHeaderErrorIndicator.js.map +1 -1
  339. package/lib/module/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js +2 -2
  340. package/lib/module/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js.map +1 -1
  341. package/lib/module/components/ChannelList/ChannelListMessenger.js +17 -17
  342. package/lib/module/components/ChannelList/ChannelListMessenger.js.map +1 -1
  343. package/lib/module/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js +2 -2
  344. package/lib/module/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js.map +1 -1
  345. package/lib/module/components/ChannelList/hooks/listeners/useChannelDeleted.js.map +1 -1
  346. package/lib/module/components/ChannelList/hooks/listeners/useChannelHidden.js.map +1 -1
  347. package/lib/module/components/ChannelList/hooks/listeners/useChannelTruncated.js.map +1 -1
  348. package/lib/module/components/ChannelList/hooks/listeners/useChannelUpdated.js.map +1 -1
  349. package/lib/module/components/ChannelList/hooks/listeners/useChannelVisible.js +2 -2
  350. package/lib/module/components/ChannelList/hooks/listeners/useChannelVisible.js.map +1 -1
  351. package/lib/module/components/ChannelList/hooks/listeners/useNewMessage.js +2 -2
  352. package/lib/module/components/ChannelList/hooks/listeners/useNewMessage.js.map +1 -1
  353. package/lib/module/components/ChannelList/hooks/listeners/useNewMessageNotification.js +3 -3
  354. package/lib/module/components/ChannelList/hooks/listeners/useNewMessageNotification.js.map +1 -1
  355. package/lib/module/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.js.map +1 -1
  356. package/lib/module/components/ChannelList/hooks/listeners/useUserPresence.js.map +1 -1
  357. package/lib/module/components/ChannelList/hooks/useCreateChannelsContext.js +2 -2
  358. package/lib/module/components/ChannelList/hooks/useCreateChannelsContext.js.map +1 -1
  359. package/lib/module/components/ChannelList/hooks/usePaginatedChannels.js +83 -70
  360. package/lib/module/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
  361. package/lib/module/components/ChannelList/utils.js +1 -1
  362. package/lib/module/components/ChannelPreview/ChannelAvatar.js +2 -2
  363. package/lib/module/components/ChannelPreview/ChannelAvatar.js.map +1 -1
  364. package/lib/module/components/ChannelPreview/ChannelPreview.js +2 -2
  365. package/lib/module/components/ChannelPreview/ChannelPreview.js.map +1 -1
  366. package/lib/module/components/ChannelPreview/ChannelPreviewMessage.js.map +1 -1
  367. package/lib/module/components/ChannelPreview/ChannelPreviewMessenger.js +48 -20
  368. package/lib/module/components/ChannelPreview/ChannelPreviewMessenger.js.map +1 -1
  369. package/lib/module/components/ChannelPreview/ChannelPreviewMutedStatus.js +51 -0
  370. package/lib/module/components/ChannelPreview/ChannelPreviewMutedStatus.js.map +1 -0
  371. package/lib/module/components/ChannelPreview/ChannelPreviewStatus.js +4 -4
  372. package/lib/module/components/ChannelPreview/ChannelPreviewStatus.js.map +1 -1
  373. package/lib/module/components/ChannelPreview/ChannelPreviewTitle.js.map +1 -1
  374. package/lib/module/components/ChannelPreview/ChannelPreviewUnreadCount.js +2 -2
  375. package/lib/module/components/ChannelPreview/ChannelPreviewUnreadCount.js.map +1 -1
  376. package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.js.map +1 -1
  377. package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js.map +1 -1
  378. package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayPresence.js.map +1 -1
  379. package/lib/module/components/ChannelPreview/hooks/useLatestMessagePreview.js.map +1 -1
  380. package/lib/module/components/Chat/Chat.js.map +1 -1
  381. package/lib/module/components/Chat/hooks/useIsOnline.js.map +1 -1
  382. package/lib/module/components/ImageGallery/ImageGallery.js +89 -56
  383. package/lib/module/components/ImageGallery/ImageGallery.js.map +1 -1
  384. package/lib/module/components/ImageGallery/components/AnimatedGalleryImage.js +2 -2
  385. package/lib/module/components/ImageGallery/components/AnimatedGalleryImage.js.map +1 -1
  386. package/lib/module/components/ImageGallery/components/ImageGalleryFooter.js +12 -12
  387. package/lib/module/components/ImageGallery/components/ImageGalleryFooter.js.map +1 -1
  388. package/lib/module/components/ImageGallery/components/ImageGalleryHeader.js +10 -10
  389. package/lib/module/components/ImageGallery/components/ImageGalleryHeader.js.map +1 -1
  390. package/lib/module/components/ImageGallery/components/ImageGrid.js +7 -7
  391. package/lib/module/components/ImageGallery/components/ImageGrid.js.map +1 -1
  392. package/lib/module/components/ImageGallery/components/ImageGridHandle.js +5 -5
  393. package/lib/module/components/ImageGallery/components/ImageGridHandle.js.map +1 -1
  394. package/lib/module/components/Indicators/LoadingIndicator.js +9 -9
  395. package/lib/module/components/Indicators/LoadingIndicator.js.map +1 -1
  396. package/lib/module/components/Message/Message.js +13 -9
  397. package/lib/module/components/Message/Message.js.map +1 -1
  398. package/lib/module/components/Message/MessageSimple/MessageAvatar.js +6 -6
  399. package/lib/module/components/Message/MessageSimple/MessageAvatar.js.map +1 -1
  400. package/lib/module/components/Message/MessageSimple/MessageContent.js +19 -19
  401. package/lib/module/components/Message/MessageSimple/MessageContent.js.map +1 -1
  402. package/lib/module/components/Message/MessageSimple/MessageDeleted.js +5 -5
  403. package/lib/module/components/Message/MessageSimple/MessageDeleted.js.map +1 -1
  404. package/lib/module/components/Message/MessageSimple/MessageFooter.js +11 -11
  405. package/lib/module/components/Message/MessageSimple/MessageFooter.js.map +1 -1
  406. package/lib/module/components/Message/MessageSimple/MessagePinnedHeader.js +2 -2
  407. package/lib/module/components/Message/MessageSimple/MessagePinnedHeader.js.map +1 -1
  408. package/lib/module/components/Message/MessageSimple/MessageRepliesAvatars.js +5 -5
  409. package/lib/module/components/Message/MessageSimple/MessageRepliesAvatars.js.map +1 -1
  410. package/lib/module/components/Message/MessageSimple/MessageStatus.js +9 -7
  411. package/lib/module/components/Message/MessageSimple/MessageStatus.js.map +1 -1
  412. package/lib/module/components/Message/MessageSimple/utils/parseLinks.js +89 -0
  413. package/lib/module/components/Message/MessageSimple/utils/parseLinks.js.map +1 -0
  414. package/lib/module/components/Message/MessageSimple/utils/parseLinks.test.js +46 -0
  415. package/lib/module/components/Message/MessageSimple/utils/parseLinks.test.js.map +1 -0
  416. package/lib/module/components/Message/MessageSimple/utils/renderText.js +14 -25
  417. package/lib/module/components/Message/MessageSimple/utils/renderText.js.map +1 -1
  418. package/lib/module/components/Message/hooks/useCreateMessageContext.js.map +1 -1
  419. package/lib/module/components/Message/hooks/useMessageActionHandlers.js +16 -3
  420. package/lib/module/components/Message/hooks/useMessageActionHandlers.js.map +1 -1
  421. package/lib/module/components/Message/hooks/useMessageActions.js +18 -14
  422. package/lib/module/components/Message/hooks/useMessageActions.js.map +1 -1
  423. package/lib/module/components/Message/utils/messageActions.js.map +1 -1
  424. package/lib/module/components/Message/utils/removeReservedFields.js.map +1 -1
  425. package/lib/module/components/MessageInput/AttachButton.js +3 -3
  426. package/lib/module/components/MessageInput/AttachButton.js.map +1 -1
  427. package/lib/module/components/MessageInput/CommandsButton.js +3 -3
  428. package/lib/module/components/MessageInput/CommandsButton.js.map +1 -1
  429. package/lib/module/components/MessageInput/CooldownTimer.js +2 -2
  430. package/lib/module/components/MessageInput/CooldownTimer.js.map +1 -1
  431. package/lib/module/components/MessageInput/FileUploadPreview.js +2 -2
  432. package/lib/module/components/MessageInput/FileUploadPreview.js.map +1 -1
  433. package/lib/module/components/MessageInput/ImageUploadPreview.js +7 -7
  434. package/lib/module/components/MessageInput/ImageUploadPreview.js.map +1 -1
  435. package/lib/module/components/MessageInput/InputButtons.js +3 -3
  436. package/lib/module/components/MessageInput/InputButtons.js.map +1 -1
  437. package/lib/module/components/MessageInput/MessageInput.js +40 -40
  438. package/lib/module/components/MessageInput/MessageInput.js.map +1 -1
  439. package/lib/module/components/MessageInput/MoreOptionsButton.js +3 -3
  440. package/lib/module/components/MessageInput/MoreOptionsButton.js.map +1 -1
  441. package/lib/module/components/MessageInput/SendMessageDisallowedIndicator.js +2 -2
  442. package/lib/module/components/MessageInput/SendMessageDisallowedIndicator.js.map +1 -1
  443. package/lib/module/components/MessageInput/ShowThreadMessageInChannelButton.js +3 -3
  444. package/lib/module/components/MessageInput/ShowThreadMessageInChannelButton.js.map +1 -1
  445. package/lib/module/components/MessageInput/hooks/useCooldown.js.map +1 -1
  446. package/lib/module/components/MessageInput/hooks/useCountdown.js.map +1 -1
  447. package/lib/module/components/MessageList/InlineLoadingMoreIndicator.js +1 -1
  448. package/lib/module/components/MessageList/InlineLoadingMoreRecentIndicator.js +1 -1
  449. package/lib/module/components/MessageList/InlineLoadingMoreThreadIndicator.js +1 -1
  450. package/lib/module/components/MessageList/MessageList.js +2 -2
  451. package/lib/module/components/MessageList/MessageList.js.map +1 -1
  452. package/lib/module/components/MessageList/MessageSystem.js.map +1 -1
  453. package/lib/module/components/MessageList/TypingIndicator.js +5 -5
  454. package/lib/module/components/MessageList/TypingIndicator.js.map +1 -1
  455. package/lib/module/components/MessageList/hooks/useMessageList.js +7 -7
  456. package/lib/module/components/MessageList/hooks/useMessageList.js.map +1 -1
  457. package/lib/module/components/MessageList/hooks/useTypingString.js +2 -2
  458. package/lib/module/components/MessageList/hooks/useTypingString.js.map +1 -1
  459. package/lib/module/components/MessageList/utils/getGroupStyles.js.map +1 -1
  460. package/lib/module/components/MessageList/utils/getLastReceivedMessage.js +3 -1
  461. package/lib/module/components/MessageList/utils/getLastReceivedMessage.js.map +1 -1
  462. package/lib/module/components/MessageOverlay/MessageActionList.js +2 -2
  463. package/lib/module/components/MessageOverlay/MessageActionList.js.map +1 -1
  464. package/lib/module/components/MessageOverlay/MessageActionListItem.js +7 -7
  465. package/lib/module/components/MessageOverlay/MessageActionListItem.js.map +1 -1
  466. package/lib/module/components/MessageOverlay/MessageOverlay.js +38 -32
  467. package/lib/module/components/MessageOverlay/MessageOverlay.js.map +1 -1
  468. package/lib/module/components/MessageOverlay/OverlayBackdrop.js +1 -1
  469. package/lib/module/components/MessageOverlay/OverlayBackdrop.js.map +1 -1
  470. package/lib/module/components/MessageOverlay/OverlayReactionList.js +11 -11
  471. package/lib/module/components/MessageOverlay/OverlayReactionList.js.map +1 -1
  472. package/lib/module/components/MessageOverlay/OverlayReactions.js +31 -34
  473. package/lib/module/components/MessageOverlay/OverlayReactions.js.map +1 -1
  474. package/lib/module/components/MessageOverlay/OverlayReactionsAvatar.js +41 -0
  475. package/lib/module/components/MessageOverlay/OverlayReactionsAvatar.js.map +1 -0
  476. package/lib/module/components/MessageOverlay/hooks/useMessageActionAnimation.js.map +1 -1
  477. package/lib/module/components/Reply/Reply.js +25 -19
  478. package/lib/module/components/Reply/Reply.js.map +1 -1
  479. package/lib/module/components/Thread/Thread.js +6 -6
  480. package/lib/module/components/Thread/Thread.js.map +1 -1
  481. package/lib/module/components/Thread/components/ThreadFooterComponent.js +12 -12
  482. package/lib/module/components/Thread/components/ThreadFooterComponent.js.map +1 -1
  483. package/lib/module/components/docs/data.js +1 -1
  484. package/lib/module/components/index.js +26 -0
  485. package/lib/module/components/index.js.map +1 -1
  486. package/lib/module/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js +2 -2
  487. package/lib/module/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js.map +1 -1
  488. package/lib/module/contexts/attachmentPickerContext/AttachmentPickerContext.js +2 -2
  489. package/lib/module/contexts/attachmentPickerContext/AttachmentPickerContext.js.map +1 -1
  490. package/lib/module/contexts/channelContext/ChannelContext.js +2 -2
  491. package/lib/module/contexts/channelContext/ChannelContext.js.map +1 -1
  492. package/lib/module/contexts/channelsContext/ChannelsContext.js +2 -2
  493. package/lib/module/contexts/channelsContext/ChannelsContext.js.map +1 -1
  494. package/lib/module/contexts/channelsStateContext/ChannelsStateContext.js +3 -3
  495. package/lib/module/contexts/channelsStateContext/ChannelsStateContext.js.map +1 -1
  496. package/lib/module/contexts/channelsStateContext/useChannelState.js.map +1 -1
  497. package/lib/module/contexts/chatContext/ChatContext.js +2 -2
  498. package/lib/module/contexts/chatContext/ChatContext.js.map +1 -1
  499. package/lib/module/contexts/imageGalleryContext/ImageGalleryContext.js +2 -2
  500. package/lib/module/contexts/imageGalleryContext/ImageGalleryContext.js.map +1 -1
  501. package/lib/module/contexts/keyboardContext/KeyboardContext.js +2 -2
  502. package/lib/module/contexts/keyboardContext/KeyboardContext.js.map +1 -1
  503. package/lib/module/contexts/messageContext/MessageContext.js +2 -2
  504. package/lib/module/contexts/messageContext/MessageContext.js.map +1 -1
  505. package/lib/module/contexts/messageInputContext/MessageInputContext.js +18 -14
  506. package/lib/module/contexts/messageInputContext/MessageInputContext.js.map +1 -1
  507. package/lib/module/contexts/messageInputContext/hooks/useCreateMessageInputContext.js.map +1 -1
  508. package/lib/module/contexts/messageInputContext/hooks/useMessageDetailsForState.js +10 -3
  509. package/lib/module/contexts/messageInputContext/hooks/useMessageDetailsForState.js.map +1 -1
  510. package/lib/module/contexts/messageOverlayContext/MessageOverlayContext.js +5 -19
  511. package/lib/module/contexts/messageOverlayContext/MessageOverlayContext.js.map +1 -1
  512. package/lib/module/contexts/messageOverlayContext/hooks/useResettableState.js +36 -0
  513. package/lib/module/contexts/messageOverlayContext/hooks/useResettableState.js.map +1 -0
  514. package/lib/module/contexts/messageOverlayContext/hooks/useResettableState.test.js +105 -0
  515. package/lib/module/contexts/messageOverlayContext/hooks/useResettableState.test.js.map +1 -0
  516. package/lib/module/contexts/messagesContext/MessagesContext.js.map +1 -1
  517. package/lib/module/contexts/overlayContext/OverlayContext.js +1 -1
  518. package/lib/module/contexts/overlayContext/OverlayContext.js.map +1 -1
  519. package/lib/module/contexts/overlayContext/OverlayProvider.js +33 -31
  520. package/lib/module/contexts/overlayContext/OverlayProvider.js.map +1 -1
  521. package/lib/module/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js +1 -1
  522. package/lib/module/contexts/paginatedMessageListContext/PaginatedMessageListContext.js +2 -2
  523. package/lib/module/contexts/paginatedMessageListContext/PaginatedMessageListContext.js.map +1 -1
  524. package/lib/module/contexts/suggestionsContext/SuggestionsContext.js +3 -3
  525. package/lib/module/contexts/suggestionsContext/SuggestionsContext.js.map +1 -1
  526. package/lib/module/contexts/themeContext/ThemeContext.js +2 -2
  527. package/lib/module/contexts/themeContext/ThemeContext.js.map +1 -1
  528. package/lib/module/contexts/themeContext/utils/theme.js +13 -5
  529. package/lib/module/contexts/themeContext/utils/theme.js.map +1 -1
  530. package/lib/module/contexts/threadContext/ThreadContext.js +2 -2
  531. package/lib/module/contexts/threadContext/ThreadContext.js.map +1 -1
  532. package/lib/module/contexts/translationContext/TranslationContext.js +1 -1
  533. package/lib/module/contexts/translationContext/TranslationContext.js.map +1 -1
  534. package/lib/module/contexts/typingContext/TypingContext.js +2 -2
  535. package/lib/module/contexts/typingContext/TypingContext.js.map +1 -1
  536. package/lib/module/contexts/utils/getDisplayName.js.map +1 -1
  537. package/lib/module/emoji-data/index.js +2 -2
  538. package/lib/module/emoji-data/index.js.map +1 -1
  539. package/lib/module/hooks/useStreami18n.js.map +1 -1
  540. package/lib/module/icons/utils/base.js +1 -1
  541. package/lib/module/index.js +6 -6
  542. package/lib/module/mock-builders/api/error.js +1 -1
  543. package/lib/module/mock-builders/api/sendMessage.js.map +1 -1
  544. package/lib/module/mock-builders/generator/attachment.js +1 -3
  545. package/lib/module/mock-builders/generator/attachment.js.map +1 -1
  546. package/lib/module/mock-builders/generator/channel.js +101 -51
  547. package/lib/module/mock-builders/generator/channel.js.map +1 -1
  548. package/lib/module/mock-builders/generator/user.js +32 -33
  549. package/lib/module/mock-builders/generator/user.js.map +1 -1
  550. package/lib/module/mock-builders/mock.js +1 -1
  551. package/lib/module/native.js +1 -1
  552. package/lib/module/native.js.map +1 -1
  553. package/lib/module/styleguideComponents/ArgumentsRenderer.js +7 -7
  554. package/lib/module/styleguideComponents/ArgumentsRenderer.js.map +1 -1
  555. package/lib/module/styleguideComponents/JsDoc.js +4 -4
  556. package/lib/module/styleguideComponents/JsDoc.js.map +1 -1
  557. package/lib/module/styleguideComponents/PathlineRenderer.js +7 -7
  558. package/lib/module/styleguideComponents/PathlineRenderer.js.map +1 -1
  559. package/lib/module/styleguideComponents/PropsRenderer.js +25 -25
  560. package/lib/module/styleguideComponents/PropsRenderer.js.map +1 -1
  561. package/lib/module/styleguideComponents/Wrapper.js +1 -1
  562. package/lib/module/styleguideComponents/Wrapper.js.map +1 -1
  563. package/lib/module/utils/Streami18n.js.map +1 -1
  564. package/lib/module/utils/getResizedImageUrl.js +26 -0
  565. package/lib/module/utils/getResizedImageUrl.js.map +1 -0
  566. package/lib/module/utils/getUrlOfImageAttachment.js +9 -0
  567. package/lib/module/utils/getUrlOfImageAttachment.js.map +1 -0
  568. package/lib/module/utils/utils.js +9 -3
  569. package/lib/module/utils/utils.js.map +1 -1
  570. package/lib/module/version.json +1 -1
  571. package/lib/typescript/components/Attachment/Attachment.d.ts +1 -1
  572. package/lib/typescript/components/Attachment/AttachmentActions.d.ts +1 -1
  573. package/lib/typescript/components/Attachment/Card.d.ts +1 -1
  574. package/lib/typescript/components/Attachment/FileAttachment.d.ts +1 -1
  575. package/lib/typescript/components/Attachment/Gallery.d.ts +1 -4
  576. package/lib/typescript/components/Attachment/Giphy.d.ts +1 -1
  577. package/lib/typescript/components/Attachment/utils/buildGallery/buildGallery.d.ts +23 -0
  578. package/lib/typescript/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.d.ts +7 -0
  579. package/lib/typescript/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.d.ts +7 -0
  580. package/lib/typescript/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.d.ts +7 -0
  581. package/lib/typescript/components/Attachment/utils/buildGallery/buildThumbnail.d.ts +10 -0
  582. package/lib/typescript/components/Attachment/utils/buildGallery/buildThumbnailGrid.d.ts +137 -0
  583. package/lib/typescript/components/Attachment/utils/buildGallery/types.d.ts +23 -0
  584. package/lib/typescript/components/Attachment/utils/getAspectRatio.d.ts +9 -0
  585. package/lib/typescript/components/Attachment/utils/getGalleryImageBorderRadius.d.ts +22 -0
  586. package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionHeader.d.ts +1 -1
  587. package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionItem.d.ts +1 -1
  588. package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionList.d.ts +2 -3
  589. package/lib/typescript/components/Channel/Channel.d.ts +4 -4
  590. package/lib/typescript/components/Channel/hooks/useCreateOwnCapabilitiesContext.d.ts +1 -1
  591. package/lib/typescript/components/ChannelList/ChannelList.d.ts +1 -1
  592. package/lib/typescript/components/ChannelList/hooks/usePaginatedChannels.d.ts +4 -2
  593. package/lib/typescript/components/ChannelPreview/ChannelPreview.d.ts +2 -2
  594. package/lib/typescript/components/ChannelPreview/ChannelPreviewMessenger.d.ts +2 -2
  595. package/lib/typescript/components/ChannelPreview/ChannelPreviewMutedStatus.d.ts +9 -0
  596. package/lib/typescript/components/Chat/Chat.d.ts +1 -1
  597. package/lib/typescript/components/ImageGallery/ImageGallery.d.ts +3 -1
  598. package/lib/typescript/components/ImageGallery/components/AnimatedGalleryImage.d.ts +1 -1
  599. package/lib/typescript/components/ImageGallery/components/ImageGalleryFooter.d.ts +1 -1
  600. package/lib/typescript/components/ImageGallery/components/ImageGalleryHeader.d.ts +1 -1
  601. package/lib/typescript/components/ImageGallery/components/ImageGrid.d.ts +1 -1
  602. package/lib/typescript/components/Message/Message.d.ts +1 -1
  603. package/lib/typescript/components/Message/MessageSimple/MessageAvatar.d.ts +1 -1
  604. package/lib/typescript/components/Message/MessageSimple/MessageDeleted.d.ts +2 -2
  605. package/lib/typescript/components/Message/MessageSimple/MessageFooter.d.ts +2 -2
  606. package/lib/typescript/components/Message/MessageSimple/utils/parseLinks.d.ts +7 -0
  607. package/lib/typescript/components/Message/MessageSimple/utils/parseLinks.test.d.ts +1 -0
  608. package/lib/typescript/components/Message/MessageSimple/utils/renderText.d.ts +2 -2
  609. package/lib/typescript/components/Message/hooks/useMessageActionHandlers.d.ts +1 -1
  610. package/lib/typescript/components/Message/hooks/useMessageActions.d.ts +3 -3
  611. package/lib/typescript/components/Message/utils/messageActions.d.ts +2 -2
  612. package/lib/typescript/components/Message/utils/removeReservedFields.d.ts +1 -1
  613. package/lib/typescript/components/MessageInput/AttachButton.d.ts +1 -1
  614. package/lib/typescript/components/MessageInput/CommandsButton.d.ts +1 -1
  615. package/lib/typescript/components/MessageInput/MoreOptionsButton.d.ts +1 -1
  616. package/lib/typescript/components/MessageList/MessageSystem.d.ts +1 -1
  617. package/lib/typescript/components/MessageList/utils/getGroupStyles.d.ts +1 -1
  618. package/lib/typescript/components/MessageOverlay/MessageOverlay.d.ts +1 -1
  619. package/lib/typescript/components/MessageOverlay/OverlayReactions.d.ts +3 -1
  620. package/lib/typescript/components/MessageOverlay/OverlayReactionsAvatar.d.ts +7 -0
  621. package/lib/typescript/components/Reply/Reply.d.ts +1 -1
  622. package/lib/typescript/components/Thread/Thread.d.ts +2 -2
  623. package/lib/typescript/components/index.d.ts +2 -0
  624. package/lib/typescript/contexts/channelsContext/ChannelsContext.d.ts +13 -5
  625. package/lib/typescript/contexts/channelsStateContext/ChannelsStateContext.d.ts +1 -1
  626. package/lib/typescript/contexts/messageContext/MessageContext.d.ts +1 -1
  627. package/lib/typescript/contexts/messageInputContext/MessageInputContext.d.ts +6 -4
  628. package/lib/typescript/contexts/messageInputContext/hooks/useCreateMessageInputContext.d.ts +2 -2
  629. package/lib/typescript/contexts/messageInputContext/hooks/useMessageDetailsForState.d.ts +1 -1
  630. package/lib/typescript/contexts/messageOverlayContext/MessageOverlayContext.d.ts +6 -4
  631. package/lib/typescript/contexts/messageOverlayContext/hooks/useResettableState.d.ts +12 -0
  632. package/lib/typescript/contexts/messageOverlayContext/hooks/useResettableState.test.d.ts +1 -0
  633. package/lib/typescript/contexts/messagesContext/MessagesContext.d.ts +10 -10
  634. package/lib/typescript/contexts/overlayContext/OverlayContext.d.ts +5 -5
  635. package/lib/typescript/contexts/suggestionsContext/SuggestionsContext.d.ts +2 -2
  636. package/lib/typescript/contexts/themeContext/utils/theme.d.ts +11 -3
  637. package/lib/typescript/hooks/useStreami18n.d.ts +1 -1
  638. package/lib/typescript/utils/Streami18n.d.ts +2 -2
  639. package/lib/typescript/utils/getResizedImageUrl.d.ts +19 -0
  640. package/lib/typescript/utils/getUrlOfImageAttachment.d.ts +7 -0
  641. package/lib/typescript/utils/utils.d.ts +6 -1
  642. package/package.json +9 -13
  643. package/src/components/Attachment/Attachment.tsx +3 -3
  644. package/src/components/Attachment/AttachmentActions.tsx +2 -2
  645. package/src/components/Attachment/Card.tsx +3 -4
  646. package/src/components/Attachment/FileAttachment.tsx +3 -4
  647. package/src/components/Attachment/FileIcon.tsx +2 -2
  648. package/src/components/Attachment/Gallery.tsx +160 -184
  649. package/src/components/Attachment/Giphy.tsx +3 -4
  650. package/src/components/Attachment/__tests__/Attachment.test.js +11 -10
  651. package/src/components/Attachment/__tests__/Gallery.test.js +233 -0
  652. package/src/components/Attachment/__tests__/buildGallery.test.js +131 -0
  653. package/src/components/Attachment/utils/buildGallery/buildGallery.ts +75 -0
  654. package/src/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.ts +95 -0
  655. package/src/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.ts +99 -0
  656. package/src/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.ts +64 -0
  657. package/src/components/Attachment/utils/buildGallery/buildThumbnail.ts +46 -0
  658. package/src/components/Attachment/utils/buildGallery/buildThumbnailGrid.ts +186 -0
  659. package/src/components/Attachment/utils/buildGallery/types.ts +27 -0
  660. package/src/components/Attachment/utils/getAspectRatio.ts +21 -0
  661. package/src/components/Attachment/utils/getGalleryImageBorderRadius.ts +71 -0
  662. package/src/components/AttachmentPicker/AttachmentPicker.tsx +4 -2
  663. package/src/components/AutoCompleteInput/AutoCompleteInput.tsx +4 -3
  664. package/src/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.tsx +1 -1
  665. package/src/components/AutoCompleteInput/AutoCompleteSuggestionHeader.tsx +2 -2
  666. package/src/components/AutoCompleteInput/AutoCompleteSuggestionItem.tsx +7 -5
  667. package/src/components/AutoCompleteInput/AutoCompleteSuggestionList.tsx +5 -6
  668. package/src/components/AutoCompleteInput/__tests__/AutoCompleteInput.test.js +6 -8
  669. package/src/components/Avatar/Avatar.tsx +7 -10
  670. package/src/components/Avatar/GroupAvatar.tsx +7 -2
  671. package/src/components/Avatar/__tests__/Avatar.test.js +2 -2
  672. package/src/components/Channel/Channel.tsx +75 -68
  673. package/src/components/Channel/__tests__/Channel.test.js +10 -10
  674. package/src/components/Channel/__tests__/ownCapabilities.test.js +8 -8
  675. package/src/components/Channel/hooks/useCreateOwnCapabilitiesContext.ts +2 -1
  676. package/src/components/ChannelList/ChannelList.tsx +8 -9
  677. package/src/components/ChannelList/ChannelListFooterLoadingIndicator.tsx +1 -2
  678. package/src/components/ChannelList/ChannelListHeaderErrorIndicator.tsx +3 -7
  679. package/src/components/ChannelList/ChannelListHeaderNetworkDownIndicator.tsx +2 -2
  680. package/src/components/ChannelList/ChannelListMessenger.tsx +3 -4
  681. package/src/components/ChannelList/__tests__/ChannelList.test.js +73 -13
  682. package/src/components/ChannelList/__tests__/ChannelListMessenger.test.js +11 -12
  683. package/src/components/ChannelList/hooks/listeners/useAddedToChannelNotification.ts +3 -3
  684. package/src/components/ChannelList/hooks/listeners/useChannelDeleted.ts +2 -2
  685. package/src/components/ChannelList/hooks/listeners/useChannelHidden.ts +2 -2
  686. package/src/components/ChannelList/hooks/listeners/useChannelTruncated.ts +2 -2
  687. package/src/components/ChannelList/hooks/listeners/useChannelUpdated.ts +2 -2
  688. package/src/components/ChannelList/hooks/listeners/useChannelVisible.ts +3 -3
  689. package/src/components/ChannelList/hooks/listeners/useNewMessage.ts +2 -3
  690. package/src/components/ChannelList/hooks/listeners/useNewMessageNotification.ts +4 -4
  691. package/src/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.ts +2 -2
  692. package/src/components/ChannelList/hooks/listeners/useUserPresence.ts +2 -2
  693. package/src/components/ChannelList/hooks/useCreateChannelsContext.ts +1 -2
  694. package/src/components/ChannelList/hooks/usePaginatedChannels.ts +78 -48
  695. package/src/components/ChannelPreview/ChannelAvatar.tsx +3 -5
  696. package/src/components/ChannelPreview/ChannelPreview.tsx +3 -3
  697. package/src/components/ChannelPreview/ChannelPreviewMessage.tsx +2 -2
  698. package/src/components/ChannelPreview/ChannelPreviewMessenger.tsx +23 -10
  699. package/src/components/ChannelPreview/ChannelPreviewMutedStatus.tsx +71 -0
  700. package/src/components/ChannelPreview/ChannelPreviewStatus.tsx +4 -3
  701. package/src/components/ChannelPreview/ChannelPreviewTitle.tsx +2 -2
  702. package/src/components/ChannelPreview/ChannelPreviewUnreadCount.tsx +2 -1
  703. package/src/components/ChannelPreview/__tests__/ChannelPreview.test.js +8 -9
  704. package/src/components/ChannelPreview/__tests__/ChannelPreviewMessenger.test.js +8 -9
  705. package/src/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.ts +2 -2
  706. package/src/components/ChannelPreview/hooks/useChannelPreviewDisplayName.ts +3 -4
  707. package/src/components/ChannelPreview/hooks/useChannelPreviewDisplayPresence.ts +2 -2
  708. package/src/components/ChannelPreview/hooks/useLatestMessagePreview.ts +2 -2
  709. package/src/components/Chat/Chat.tsx +6 -6
  710. package/src/components/Chat/__tests__/Chat.test.js +5 -5
  711. package/src/components/Chat/hooks/useIsOnline.ts +4 -3
  712. package/src/components/ImageGallery/ImageGallery.tsx +82 -49
  713. package/src/components/ImageGallery/components/AnimatedGalleryImage.tsx +1 -2
  714. package/src/components/ImageGallery/components/ImageGalleryFooter.tsx +2 -5
  715. package/src/components/ImageGallery/components/ImageGalleryHeader.tsx +1 -2
  716. package/src/components/ImageGallery/components/ImageGrid.tsx +4 -5
  717. package/src/components/ImageGallery/components/ImageGridHandle.tsx +1 -0
  718. package/src/components/Indicators/LoadingIndicator.tsx +1 -2
  719. package/src/components/Message/Message.tsx +20 -20
  720. package/src/components/Message/MessageSimple/MessageAvatar.tsx +1 -2
  721. package/src/components/Message/MessageSimple/MessageContent.tsx +2 -3
  722. package/src/components/Message/MessageSimple/MessageDeleted.tsx +3 -4
  723. package/src/components/Message/MessageSimple/MessageFooter.tsx +6 -7
  724. package/src/components/Message/MessageSimple/MessagePinnedHeader.tsx +2 -2
  725. package/src/components/Message/MessageSimple/MessageRepliesAvatars.tsx +2 -3
  726. package/src/components/Message/MessageSimple/MessageStatus.tsx +9 -5
  727. package/src/components/Message/MessageSimple/__tests__/Message.test.js +9 -9
  728. package/src/components/Message/MessageSimple/__tests__/MessageAvatar.test.js +2 -2
  729. package/src/components/Message/MessageSimple/__tests__/MessageContent.test.js +9 -26
  730. package/src/components/Message/MessageSimple/__tests__/MessagePinnedHeader.test.js +2 -2
  731. package/src/components/Message/MessageSimple/__tests__/MessageReplies.test.js +2 -2
  732. package/src/components/Message/MessageSimple/__tests__/MessageStatus.test.js +4 -5
  733. package/src/components/Message/MessageSimple/__tests__/MessageTextContainer.test.js +2 -2
  734. package/src/components/Message/MessageSimple/__tests__/__snapshots__/MessageAvatar.test.js.snap +1 -1
  735. package/src/components/Message/MessageSimple/utils/parseLinks.test.ts +100 -0
  736. package/src/components/Message/MessageSimple/utils/parseLinks.ts +95 -0
  737. package/src/components/Message/MessageSimple/utils/renderText.tsx +11 -23
  738. package/src/components/Message/hooks/useCreateMessageContext.ts +1 -2
  739. package/src/components/Message/hooks/useMessageActionHandlers.ts +13 -4
  740. package/src/components/Message/hooks/useMessageActions.tsx +14 -9
  741. package/src/components/Message/utils/messageActions.ts +2 -2
  742. package/src/components/Message/utils/removeReservedFields.ts +1 -1
  743. package/src/components/MessageInput/AttachButton.tsx +1 -2
  744. package/src/components/MessageInput/CommandsButton.tsx +1 -2
  745. package/src/components/MessageInput/CooldownTimer.tsx +1 -0
  746. package/src/components/MessageInput/FileUploadPreview.tsx +3 -3
  747. package/src/components/MessageInput/ImageUploadPreview.tsx +1 -2
  748. package/src/components/MessageInput/InputButtons.tsx +1 -1
  749. package/src/components/MessageInput/MessageInput.tsx +5 -6
  750. package/src/components/MessageInput/MoreOptionsButton.tsx +1 -2
  751. package/src/components/MessageInput/SendMessageDisallowedIndicator.tsx +1 -1
  752. package/src/components/MessageInput/ShowThreadMessageInChannelButton.tsx +1 -1
  753. package/src/components/MessageInput/__tests__/AttachButton.test.js +2 -2
  754. package/src/components/MessageInput/__tests__/FileUploadPreview.test.js +15 -17
  755. package/src/components/MessageInput/__tests__/ImageUploadPreview.test.js +3 -3
  756. package/src/components/MessageInput/__tests__/MessageInput.test.js +8 -8
  757. package/src/components/MessageInput/__tests__/SendButton.test.js +2 -2
  758. package/src/components/MessageInput/__tests__/UploadProgressIndicator.test.js +2 -2
  759. package/src/components/MessageInput/__tests__/__snapshots__/FileUploadPreview.test.js.snap +1604 -4172
  760. package/src/components/MessageInput/__tests__/__snapshots__/MessageInput.test.js.snap +1 -643
  761. package/src/components/MessageInput/hooks/useCooldown.ts +2 -0
  762. package/src/components/MessageInput/hooks/useCountdown.ts +1 -0
  763. package/src/components/MessageList/MessageList.tsx +3 -3
  764. package/src/components/MessageList/MessageSystem.tsx +2 -2
  765. package/src/components/MessageList/TypingIndicator.tsx +1 -2
  766. package/src/components/MessageList/__tests__/MessageList.test.js +17 -17
  767. package/src/components/MessageList/__tests__/MessageSystem.test.js +3 -3
  768. package/src/components/MessageList/__tests__/ScrollToBottomButton.test.js +3 -3
  769. package/src/components/MessageList/__tests__/TypingIndicator.test.js +5 -6
  770. package/src/components/MessageList/__tests__/__snapshots__/TypingIndicator.test.js.snap +1 -1
  771. package/src/components/MessageList/hooks/useMessageList.ts +5 -7
  772. package/src/components/MessageList/hooks/useTypingString.ts +1 -2
  773. package/src/components/MessageList/utils/getGroupStyles.ts +1 -2
  774. package/src/components/MessageList/utils/getLastReceivedMessage.ts +6 -1
  775. package/src/components/MessageOverlay/MessageActionList.tsx +3 -3
  776. package/src/components/MessageOverlay/MessageActionListItem.tsx +3 -1
  777. package/src/components/MessageOverlay/MessageOverlay.tsx +20 -16
  778. package/src/components/MessageOverlay/OverlayBackdrop.tsx +1 -0
  779. package/src/components/MessageOverlay/OverlayReactionList.tsx +2 -4
  780. package/src/components/MessageOverlay/OverlayReactions.tsx +27 -8
  781. package/src/components/MessageOverlay/OverlayReactionsAvatar.tsx +27 -0
  782. package/src/components/MessageOverlay/hooks/useMessageActionAnimation.tsx +1 -0
  783. package/src/components/Reply/Reply.tsx +25 -15
  784. package/src/components/Thread/Thread.tsx +5 -6
  785. package/src/components/Thread/__tests__/Thread.test.js +12 -14
  786. package/src/components/Thread/__tests__/__snapshots__/Thread.test.js.snap +13 -13
  787. package/src/components/Thread/components/ThreadFooterComponent.tsx +1 -2
  788. package/src/components/index.ts +2 -0
  789. package/src/contexts/activeChannelsRefContext/ActiveChannelsRefContext.tsx +1 -2
  790. package/src/contexts/attachmentPickerContext/AttachmentPickerContext.tsx +1 -2
  791. package/src/contexts/channelContext/ChannelContext.tsx +1 -2
  792. package/src/contexts/channelsContext/ChannelsContext.tsx +18 -7
  793. package/src/contexts/channelsStateContext/ChannelsStateContext.tsx +7 -8
  794. package/src/contexts/channelsStateContext/useChannelState.ts +1 -0
  795. package/src/contexts/chatContext/ChatContext.tsx +1 -2
  796. package/src/contexts/imageGalleryContext/ImageGalleryContext.tsx +1 -2
  797. package/src/contexts/keyboardContext/KeyboardContext.tsx +1 -2
  798. package/src/contexts/messageContext/MessageContext.tsx +1 -2
  799. package/src/contexts/messageInputContext/MessageInputContext.tsx +27 -24
  800. package/src/contexts/messageInputContext/hooks/useCreateMessageInputContext.ts +2 -4
  801. package/src/contexts/messageInputContext/hooks/useMessageDetailsForState.ts +15 -10
  802. package/src/contexts/messageOverlayContext/MessageOverlayContext.tsx +10 -19
  803. package/src/contexts/messageOverlayContext/hooks/useResettableState.test.tsx +46 -0
  804. package/src/contexts/messageOverlayContext/hooks/useResettableState.ts +22 -0
  805. package/src/contexts/messagesContext/MessagesContext.tsx +13 -13
  806. package/src/contexts/overlayContext/OverlayContext.tsx +10 -8
  807. package/src/contexts/overlayContext/OverlayProvider.tsx +30 -25
  808. package/src/contexts/paginatedMessageListContext/PaginatedMessageListContext.tsx +1 -2
  809. package/src/contexts/suggestionsContext/SuggestionsContext.tsx +4 -3
  810. package/src/contexts/suggestionsContext/__tests__/Suggestions.test.js +1 -0
  811. package/src/contexts/themeContext/ThemeContext.tsx +1 -0
  812. package/src/contexts/themeContext/utils/theme.ts +23 -8
  813. package/src/contexts/threadContext/ThreadContext.tsx +1 -2
  814. package/src/contexts/translationContext/TranslationContext.tsx +2 -2
  815. package/src/contexts/typingContext/TypingContext.tsx +1 -2
  816. package/src/contexts/utils/getDisplayName.ts +1 -0
  817. package/src/emoji-data/index.js +1 -1
  818. package/src/hooks/useStreami18n.ts +1 -1
  819. package/src/mock-builders/api/sendMessage.js +1 -0
  820. package/src/mock-builders/generator/attachment.js +0 -2
  821. package/src/mock-builders/generator/channel.js +101 -64
  822. package/src/mock-builders/generator/user.js +33 -26
  823. package/src/native.ts +1 -0
  824. package/src/styleguideComponents/ArgumentsRenderer.tsx +2 -1
  825. package/src/styleguideComponents/JsDoc.tsx +3 -1
  826. package/src/styleguideComponents/PathlineRenderer.tsx +2 -1
  827. package/src/styleguideComponents/PropsRenderer.tsx +7 -4
  828. package/src/styleguideComponents/Wrapper.tsx +1 -0
  829. package/src/utils/Streami18n.ts +3 -3
  830. package/src/utils/__tests__/Streami18n.test.js +1 -2
  831. package/src/utils/getResizedImageUrl.ts +43 -0
  832. package/src/utils/getUrlOfImageAttachment.ts +10 -0
  833. package/src/utils/utils.ts +9 -4
  834. package/src/version.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["useLatestMessagePreview.ts"],"names":["getLatestMessageDisplayText","channel","client","message","t","bold","text","isMessageTypeDeleted","type","currentUserId","userID","messageOwnerId","user","id","members","Object","keys","state","owner","length","name","username","ownerText","boldOwner","includes","shortenedText","substring","replace","mentionedUsers","Array","isArray","mentioned_users","reduce","acc","cur","userName","regEx","RegExp","split","index","test","push","command","attachments","getLatestMessageDisplayDate","tDateTimeParser","parserOutput","created_at","isSame","Date","format","getLatestMessageReadStatus","readEvents","readList","read","messageUpdatedAt","updated_at","undefined","values","some","last_read","getLatestMessagePreview","params","lastMessage","messages","messageObject","previews","status","useLatestMessagePreview","forceUpdate","channelConfigExists","getConfig","channelLastMessageString","setReadEvents","latestMessagePreview","setLatestMessagePreview","readStatus","read_events"],"mappings":"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","sourcesContent":["import { useEffect, useState } from 'react';\n\nimport { useChatContext } from '../../../contexts/chatContext/ChatContext';\nimport {\n isDayOrMoment,\n TDateTimeParser,\n useTranslationContext,\n} from '../../../contexts/translationContext/TranslationContext';\n\nimport type { Channel, ChannelState, MessageResponse, 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 LatestMessage<\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 | ReturnType<ChannelState<At, Ch, Co, Ev, Me, Re, Us>['formatMessage']>\n | MessageResponse<At, Ch, Co, Me, Re, Us>;\n\nexport type LatestMessagePreview<\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 created_at: string | number | Date;\n messageObject: LatestMessage<At, Ch, Co, Ev, Me, Re, Us> | undefined;\n previews: {\n bold: boolean;\n text: string;\n }[];\n status: number;\n};\n\nconst getLatestMessageDisplayText = <\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 channel: Channel<At, Ch, Co, Ev, Me, Re, Us>,\n client: StreamChat<At, Ch, Co, Ev, Me, Re, Us>,\n message: LatestMessage<At, Ch, Co, Ev, Me, Re, Us> | undefined,\n t: (key: string) => string,\n) => {\n if (!message) return [{ bold: false, text: t('Nothing yet...') }];\n const isMessageTypeDeleted = message.type === 'deleted';\n if (isMessageTypeDeleted) return [{ bold: false, text: t('Message deleted') }];\n const currentUserId = client.userID;\n const messageOwnerId = message.user?.id;\n const members = Object.keys(channel.state.members);\n const owner =\n messageOwnerId === currentUserId\n ? t('You')\n : members.length > 2\n ? message.user?.name || message.user?.username || message.user?.id || ''\n : '';\n const ownerText = owner ? `${owner === t('You') ? '' : '@'}${owner}: ` : '';\n const boldOwner = ownerText.includes('@');\n if (message.text) {\n // rough guess optimization to limit string preview to max 100 characters\n const shortenedText = message.text.substring(0, 100).replace(/\\n/g, ' ');\n const mentionedUsers = Array.isArray(message.mentioned_users)\n ? message.mentioned_users.reduce((acc, cur) => {\n const userName = cur.name || cur.id || '';\n if (userName) {\n acc += `${acc.length ? '|' : ''}@${userName}`;\n }\n return acc;\n }, '')\n : '';\n const regEx = new RegExp(`^(${mentionedUsers})`);\n return [\n { bold: boldOwner, text: ownerText },\n ...shortenedText.split('').reduce(\n (acc, cur, index) => {\n if (cur === '@' && mentionedUsers && regEx.test(shortenedText.substring(index))) {\n acc.push({ bold: true, text: cur });\n } else if (mentionedUsers && regEx.test(acc[acc.length - 1].text)) {\n acc.push({ bold: false, text: cur });\n } else {\n acc[acc.length - 1].text += cur;\n }\n return acc;\n },\n [{ bold: false, text: '' }],\n ),\n ];\n }\n if (message.command) {\n return [\n { bold: boldOwner, text: ownerText },\n { bold: false, text: `/${message.command}` },\n ];\n }\n if (message.attachments?.length) {\n return [\n { bold: boldOwner, text: ownerText },\n { bold: false, text: t('🏙 Attachment...') },\n ];\n }\n return [\n { bold: boldOwner, text: ownerText },\n { bold: false, text: t('Empty message...') },\n ];\n};\n\nconst getLatestMessageDisplayDate = <\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 message: LatestMessage<At, Ch, Co, Ev, Me, Re, Us> | undefined,\n tDateTimeParser: TDateTimeParser,\n) => {\n const parserOutput = tDateTimeParser(message?.created_at);\n if (isDayOrMoment(parserOutput)) {\n if (parserOutput.isSame(new Date(), 'day')) {\n return parserOutput.format('LT');\n }\n return parserOutput.format('L');\n }\n return parserOutput;\n};\n\n/**\n * set up enum\n * 0 = latest message is not current user's message\n * 1 = nobody has read latest message which is the current user's message\n * 2 = someone has read latest message which is the current user's message\n */\nconst getLatestMessageReadStatus = <\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 channel: Channel<At, Ch, Co, Ev, Me, Re, Us>,\n client: StreamChat<At, Ch, Co, Ev, Me, Re, Us>,\n message: LatestMessage<At, Ch, Co, Ev, Me, Re, Us> | undefined,\n readEvents: boolean,\n) => {\n const currentUserId = client.userID;\n if (!message || currentUserId !== message.user?.id || readEvents === false) return 0;\n\n const readList = channel.state.read;\n if (currentUserId) {\n delete readList[currentUserId];\n }\n\n const messageUpdatedAt = message.updated_at\n ? typeof message.updated_at === 'string'\n ? new Date(message.updated_at)\n : message.updated_at\n : undefined;\n\n return Object.values(readList).some(\n ({ last_read }) => messageUpdatedAt && messageUpdatedAt < last_read,\n )\n ? 2\n : 1;\n};\n\nconst getLatestMessagePreview = <\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>(params: {\n channel: Channel<At, Ch, Co, Ev, Me, Re, Us>;\n client: StreamChat<At, Ch, Co, Ev, Me, Re, Us>;\n readEvents: boolean;\n t: (key: string) => string;\n tDateTimeParser: TDateTimeParser;\n lastMessage?:\n | ReturnType<ChannelState<At, Ch, Co, Ev, Me, Re, Us>['formatMessage']>\n | MessageResponse<At, Ch, Co, Me, Re, Us>;\n}) => {\n const { channel, client, lastMessage, readEvents, t, tDateTimeParser } = params;\n\n const messages = channel.state.messages;\n\n if (!messages.length && !lastMessage) {\n return {\n created_at: '',\n messageObject: undefined,\n previews: [\n {\n bold: false,\n text: t('Nothing yet...'),\n },\n ],\n status: 0,\n };\n }\n const message = lastMessage || messages.length ? messages[messages.length - 1] : undefined;\n\n return {\n created_at: getLatestMessageDisplayDate(message, tDateTimeParser),\n messageObject: message,\n previews: getLatestMessageDisplayText(channel, client, message, t),\n status: getLatestMessageReadStatus(channel, client, message, readEvents),\n };\n};\n\n/**\n * Hook to set the display preview for latest message on channel.\n *\n * @param {*} channel Channel object\n *\n * @returns {object} latest message preview e.g.. { text: 'this was last message ...', created_at: '11/12/2020', messageObject: { originalMessageObject } }\n */\nexport const useLatestMessagePreview = <\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 channel: Channel<At, Ch, Co, Ev, Me, Re, Us>,\n forceUpdate: number,\n lastMessage?:\n | ReturnType<ChannelState<At, Ch, Co, Ev, Me, Re, Us>['formatMessage']>\n | MessageResponse<At, Ch, Co, Me, Re, Us>,\n) => {\n const { client } = useChatContext<At, Ch, Co, Ev, Me, Re, Us>();\n const { t, tDateTimeParser } = useTranslationContext();\n\n const channelConfigExists = typeof channel?.getConfig === 'function';\n\n const messages = channel.state.messages;\n const message = messages.length ? messages[messages.length - 1] : undefined;\n\n const channelLastMessageString = `${lastMessage?.id || message?.id}${\n lastMessage?.updated_at || message?.updated_at\n }`;\n\n const [readEvents, setReadEvents] = useState(true);\n const [latestMessagePreview, setLatestMessagePreview] = useState<\n LatestMessagePreview<At, Ch, Co, Ev, Me, Re, Us>\n >({\n created_at: '',\n messageObject: undefined,\n previews: [\n {\n bold: false,\n text: '',\n },\n ],\n status: 0,\n });\n\n const readStatus = getLatestMessageReadStatus(\n channel,\n client,\n lastMessage || message,\n readEvents,\n );\n\n useEffect(() => {\n if (channelConfigExists) {\n const read_events = channel.getConfig()?.read_events;\n if (typeof read_events === 'boolean') {\n setReadEvents(read_events);\n }\n }\n }, [channelConfigExists]);\n\n useEffect(\n () =>\n setLatestMessagePreview(\n getLatestMessagePreview({\n channel,\n client,\n lastMessage,\n readEvents,\n t,\n tDateTimeParser,\n }),\n ),\n [channelLastMessageString, forceUpdate, readEvents, readStatus],\n );\n\n return latestMessagePreview;\n};\n"]}
1
+ {"version":3,"sources":["useLatestMessagePreview.ts"],"names":["getLatestMessageDisplayText","channel","client","message","t","bold","text","isMessageTypeDeleted","type","currentUserId","userID","messageOwnerId","user","id","members","Object","keys","state","owner","length","name","username","ownerText","boldOwner","includes","shortenedText","substring","replace","mentionedUsers","Array","isArray","mentioned_users","reduce","acc","cur","userName","regEx","RegExp","split","index","test","push","command","attachments","getLatestMessageDisplayDate","tDateTimeParser","parserOutput","created_at","isSame","Date","format","getLatestMessageReadStatus","readEvents","readList","read","messageUpdatedAt","updated_at","undefined","values","some","last_read","getLatestMessagePreview","params","lastMessage","messages","messageObject","previews","status","useLatestMessagePreview","forceUpdate","channelConfigExists","getConfig","channelLastMessageString","setReadEvents","latestMessagePreview","setLatestMessagePreview","readStatus","read_events"],"mappings":"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","sourcesContent":["import { useEffect, useState } from 'react';\n\nimport type { Channel, ChannelState, MessageResponse, StreamChat } from 'stream-chat';\n\nimport { useChatContext } from '../../../contexts/chatContext/ChatContext';\nimport {\n isDayOrMoment,\n TDateTimeParser,\n useTranslationContext,\n} from '../../../contexts/translationContext/TranslationContext';\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 LatestMessage<\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 | ReturnType<ChannelState<At, Ch, Co, Ev, Me, Re, Us>['formatMessage']>\n | MessageResponse<At, Ch, Co, Me, Re, Us>;\n\nexport type LatestMessagePreview<\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 created_at: string | number | Date;\n messageObject: LatestMessage<At, Ch, Co, Ev, Me, Re, Us> | undefined;\n previews: {\n bold: boolean;\n text: string;\n }[];\n status: number;\n};\n\nconst getLatestMessageDisplayText = <\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 channel: Channel<At, Ch, Co, Ev, Me, Re, Us>,\n client: StreamChat<At, Ch, Co, Ev, Me, Re, Us>,\n message: LatestMessage<At, Ch, Co, Ev, Me, Re, Us> | undefined,\n t: (key: string) => string,\n) => {\n if (!message) return [{ bold: false, text: t('Nothing yet...') }];\n const isMessageTypeDeleted = message.type === 'deleted';\n if (isMessageTypeDeleted) return [{ bold: false, text: t('Message deleted') }];\n const currentUserId = client.userID;\n const messageOwnerId = message.user?.id;\n const members = Object.keys(channel.state.members);\n const owner =\n messageOwnerId === currentUserId\n ? t('You')\n : members.length > 2\n ? message.user?.name || message.user?.username || message.user?.id || ''\n : '';\n const ownerText = owner ? `${owner === t('You') ? '' : '@'}${owner}: ` : '';\n const boldOwner = ownerText.includes('@');\n if (message.text) {\n // rough guess optimization to limit string preview to max 100 characters\n const shortenedText = message.text.substring(0, 100).replace(/\\n/g, ' ');\n const mentionedUsers = Array.isArray(message.mentioned_users)\n ? message.mentioned_users.reduce((acc, cur) => {\n const userName = cur.name || cur.id || '';\n if (userName) {\n acc += `${acc.length ? '|' : ''}@${userName}`;\n }\n return acc;\n }, '')\n : '';\n const regEx = new RegExp(`^(${mentionedUsers})`);\n return [\n { bold: boldOwner, text: ownerText },\n ...shortenedText.split('').reduce(\n (acc, cur, index) => {\n if (cur === '@' && mentionedUsers && regEx.test(shortenedText.substring(index))) {\n acc.push({ bold: true, text: cur });\n } else if (mentionedUsers && regEx.test(acc[acc.length - 1].text)) {\n acc.push({ bold: false, text: cur });\n } else {\n acc[acc.length - 1].text += cur;\n }\n return acc;\n },\n [{ bold: false, text: '' }],\n ),\n ];\n }\n if (message.command) {\n return [\n { bold: boldOwner, text: ownerText },\n { bold: false, text: `/${message.command}` },\n ];\n }\n if (message.attachments?.length) {\n return [\n { bold: boldOwner, text: ownerText },\n { bold: false, text: t('🏙 Attachment...') },\n ];\n }\n return [\n { bold: boldOwner, text: ownerText },\n { bold: false, text: t('Empty message...') },\n ];\n};\n\nconst getLatestMessageDisplayDate = <\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 message: LatestMessage<At, Ch, Co, Ev, Me, Re, Us> | undefined,\n tDateTimeParser: TDateTimeParser,\n) => {\n const parserOutput = tDateTimeParser(message?.created_at);\n if (isDayOrMoment(parserOutput)) {\n if (parserOutput.isSame(new Date(), 'day')) {\n return parserOutput.format('LT');\n }\n return parserOutput.format('L');\n }\n return parserOutput;\n};\n\n/**\n * set up enum\n * 0 = latest message is not current user's message\n * 1 = nobody has read latest message which is the current user's message\n * 2 = someone has read latest message which is the current user's message\n */\nconst getLatestMessageReadStatus = <\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 channel: Channel<At, Ch, Co, Ev, Me, Re, Us>,\n client: StreamChat<At, Ch, Co, Ev, Me, Re, Us>,\n message: LatestMessage<At, Ch, Co, Ev, Me, Re, Us> | undefined,\n readEvents: boolean,\n) => {\n const currentUserId = client.userID;\n if (!message || currentUserId !== message.user?.id || readEvents === false) return 0;\n\n const readList = channel.state.read;\n if (currentUserId) {\n delete readList[currentUserId];\n }\n\n const messageUpdatedAt = message.updated_at\n ? typeof message.updated_at === 'string'\n ? new Date(message.updated_at)\n : message.updated_at\n : undefined;\n\n return Object.values(readList).some(\n ({ last_read }) => messageUpdatedAt && messageUpdatedAt < last_read,\n )\n ? 2\n : 1;\n};\n\nconst getLatestMessagePreview = <\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>(params: {\n channel: Channel<At, Ch, Co, Ev, Me, Re, Us>;\n client: StreamChat<At, Ch, Co, Ev, Me, Re, Us>;\n readEvents: boolean;\n t: (key: string) => string;\n tDateTimeParser: TDateTimeParser;\n lastMessage?:\n | ReturnType<ChannelState<At, Ch, Co, Ev, Me, Re, Us>['formatMessage']>\n | MessageResponse<At, Ch, Co, Me, Re, Us>;\n}) => {\n const { channel, client, lastMessage, readEvents, t, tDateTimeParser } = params;\n\n const messages = channel.state.messages;\n\n if (!messages.length && !lastMessage) {\n return {\n created_at: '',\n messageObject: undefined,\n previews: [\n {\n bold: false,\n text: t('Nothing yet...'),\n },\n ],\n status: 0,\n };\n }\n const message = lastMessage || messages.length ? messages[messages.length - 1] : undefined;\n\n return {\n created_at: getLatestMessageDisplayDate(message, tDateTimeParser),\n messageObject: message,\n previews: getLatestMessageDisplayText(channel, client, message, t),\n status: getLatestMessageReadStatus(channel, client, message, readEvents),\n };\n};\n\n/**\n * Hook to set the display preview for latest message on channel.\n *\n * @param {*} channel Channel object\n *\n * @returns {object} latest message preview e.g.. { text: 'this was last message ...', created_at: '11/12/2020', messageObject: { originalMessageObject } }\n */\nexport const useLatestMessagePreview = <\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 channel: Channel<At, Ch, Co, Ev, Me, Re, Us>,\n forceUpdate: number,\n lastMessage?:\n | ReturnType<ChannelState<At, Ch, Co, Ev, Me, Re, Us>['formatMessage']>\n | MessageResponse<At, Ch, Co, Me, Re, Us>,\n) => {\n const { client } = useChatContext<At, Ch, Co, Ev, Me, Re, Us>();\n const { t, tDateTimeParser } = useTranslationContext();\n\n const channelConfigExists = typeof channel?.getConfig === 'function';\n\n const messages = channel.state.messages;\n const message = messages.length ? messages[messages.length - 1] : undefined;\n\n const channelLastMessageString = `${lastMessage?.id || message?.id}${\n lastMessage?.updated_at || message?.updated_at\n }`;\n\n const [readEvents, setReadEvents] = useState(true);\n const [latestMessagePreview, setLatestMessagePreview] = useState<\n LatestMessagePreview<At, Ch, Co, Ev, Me, Re, Us>\n >({\n created_at: '',\n messageObject: undefined,\n previews: [\n {\n bold: false,\n text: '',\n },\n ],\n status: 0,\n });\n\n const readStatus = getLatestMessageReadStatus(\n channel,\n client,\n lastMessage || message,\n readEvents,\n );\n\n useEffect(() => {\n if (channelConfigExists) {\n const read_events = channel.getConfig()?.read_events;\n if (typeof read_events === 'boolean') {\n setReadEvents(read_events);\n }\n }\n }, [channelConfigExists]);\n\n useEffect(\n () =>\n setLatestMessagePreview(\n getLatestMessagePreview({\n channel,\n client,\n lastMessage,\n readEvents,\n t,\n tDateTimeParser,\n }),\n ),\n [channelLastMessageString, forceUpdate, readEvents, readStatus],\n );\n\n return latestMessagePreview;\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["Chat.tsx"],"names":["ChatWithContext","props","children","client","closeConnectionOnBackground","i18nInstance","style","channel","setChannel","t","key","tDateTimeParser","input","translators","setTranslators","loadingTranslators","connectionRecovering","isOnline","mutedUsers","setUserAgent","SDK","Platform","OS","version","recoverStateOnReconnect","setActiveChannel","newChannel","chatContext","Chat"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AACA;;AAEA;;AACA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AAIA;;AAEA;;AACA;;;;;;;;;AAoHA,IAAMA,eAAe,GAAG,SAAlBA,eAAkB,CAStBC,KATsB,EAUnB;AACH,MAAQC,QAAR,GAAsFD,KAAtF,CAAQC,QAAR;AAAA,MAAkBC,MAAlB,GAAsFF,KAAtF,CAAkBE,MAAlB;AAAA,8BAAsFF,KAAtF,CAA0BG,2BAA1B;AAAA,MAA0BA,2BAA1B,sCAAwD,IAAxD;AAAA,MAA8DC,YAA9D,GAAsFJ,KAAtF,CAA8DI,YAA9D;AAAA,MAA4EC,KAA5E,GAAsFL,KAAtF,CAA4EK,KAA5E;;AAEA,kBAA8B,sBAA9B;AAAA;AAAA,MAAOC,OAAP;AAAA,MAAgBC,UAAhB;;AACA,mBAAsC,qBAAkC;AACtEC,IAAAA,CAAC,EAAE,WAACC,GAAD;AAAA,aAAiBA,GAAjB;AAAA,KADmE;AAEtEC,IAAAA,eAAe,EAAE,yBAACC,KAAD;AAAA,aAAoC,uBAAMA,KAAN,CAApC;AAAA;AAFqD,GAAlC,CAAtC;AAAA;AAAA,MAAOC,WAAP;AAAA,MAAoBC,cAApB;;AAQA,MAAMC,kBAAkB,GAAG,kCAAc;AAAEV,IAAAA,YAAY,EAAZA,YAAF;AAAgBS,IAAAA,cAAc,EAAdA;AAAhB,GAAd,CAA3B;;AAKA,qBAA2C,+BACzCX,MADyC,EAEzCC,2BAFyC,CAA3C;AAAA,MAAQY,oBAAR,gBAAQA,oBAAR;AAAA,MAA8BC,QAA9B,gBAA8BA,QAA9B;;AAQA,MAAMC,UAAU,GAAG,kCAA0Cf,MAA1C,CAAnB;AAEA,wBAAU,YAAM;AACd,QAAIA,MAAM,CAACgB,YAAX,EAAyB;AACvBhB,MAAAA,MAAM,CAACgB,YAAP,CAAuBC,WAAvB,SAA8BC,sBAASC,EAAvC,SAA6CC,gBAA7C;AAEApB,MAAAA,MAAM,CAACqB,uBAAP,GAAiC,KAAjC;AACD;AACF,GAND,EAMG,EANH;;AAQA,MAAMC,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACC,UAAD;AAAA,WACvBlB,UAAU,CAACkB,UAAD,CADa;AAAA,GAAzB;;AAGA,MAAMC,WAAW,GAAG,gDAAqB;AACvCpB,IAAAA,OAAO,EAAPA,OADuC;AAEvCJ,IAAAA,MAAM,EAANA,MAFuC;AAGvCa,IAAAA,oBAAoB,EAApBA,oBAHuC;AAIvCC,IAAAA,QAAQ,EAARA,QAJuC;AAKvCC,IAAAA,UAAU,EAAVA,UALuC;AAMvCO,IAAAA,gBAAgB,EAAhBA;AANuC,GAArB,CAApB;AASA,MAAIV,kBAAJ,EAAwB,OAAO,IAAP;AAExB,SACE,gCAAC,yBAAD;AAA0C,IAAA,KAAK,EAAEY,WAAjD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KACE,gCAAC,uCAAD;AAAqB,IAAA,KAAK,EAAEd,WAA5B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KACE,gCAAC,2BAAD;AAAe,IAAA,KAAK,EAAEP,KAAtB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAA8BJ,QAA9B,CADF,CADF,CADF;AAOD,CAlED;;AAyFO,IAAM0B,IAAI,GAAG,SAAPA,IAAO,CASlB3B,KATkB,EAUf;AACH,2BAAkB,wCAAlB;AAAA,MAAQK,KAAR,sBAAQA,KAAR;;AAEA,SAAO,gCAAC,eAAD;AAAuBA,IAAAA,KAAK,EAALA;AAAvB,KAAoCL,KAApC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAAP;AACD,CAdM","sourcesContent":["import React, { PropsWithChildren, useEffect, useState } from 'react';\nimport { Platform } from 'react-native';\nimport Dayjs from 'dayjs';\n\nimport { useCreateChatContext } from './hooks/useCreateChatContext';\nimport { useIsOnline } from './hooks/useIsOnline';\nimport { useMutedUsers } from './hooks/useMutedUsers';\n\nimport { ChatContextValue, ChatProvider } from '../../contexts/chatContext/ChatContext';\nimport { useOverlayContext } from '../../contexts/overlayContext/OverlayContext';\nimport { DeepPartial, ThemeProvider } from '../../contexts/themeContext/ThemeContext';\nimport {\n TranslationContextValue,\n TranslationProvider,\n} from '../../contexts/translationContext/TranslationContext';\nimport { useStreami18n } from '../../hooks/useStreami18n';\n\nimport { SDK } from '../../native';\nimport { version } from '../../version.json';\n\nimport type { Channel } from 'stream-chat';\n\nimport type { Theme } from '../../contexts/themeContext/utils/theme';\nimport type { Streami18n } from '../../utils/Streami18n';\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 ChatProps<\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 /**\n * When false, ws connection won't be disconnection upon backgrounding the app.\n * To receive push notifications, its necessary that user doesn't have active\n * websocket connection. So by default, we disconnect websocket connection when\n * app goes to background, and reconnect when app comes to foreground.\n */\n closeConnectionOnBackground?: boolean;\n /**\n * Instance of Streami18n class should be provided to Chat component to enable internationalization.\n *\n * Stream provides following list of in-built translations:\n * 1. English (en)\n * 2. Dutch (nl)\n * 3. ...\n * 4. ...\n *\n * Simplest way to start using chat components in one of the in-built languages would be following:\n *\n * ```\n * const i18n = new Streami18n('nl');\n * <Chat client={chatClient} i18nInstance={i18n}>\n * ...\n * </Chat>\n * ```\n *\n * If you would like to override certain keys in in-built translation.\n * UI will be automatically updated in this case.\n *\n * ```\n * const i18n = new Streami18n('nl');\n *\n * i18n.registerTranslation('nl', {\n * 'Nothing yet...': 'Nog Niet ...',\n * '{{ firstUser }} and {{ secondUser }} are typing...': '{{ firstUser }} en {{ secondUser }} zijn aan het typen...',\n * });\n *\n * <Chat client={chatClient} i18nInstance={i18n}>\n * ...\n * </Chat>\n * ```\n *\n * You can use the same function to add whole new language.\n *\n * ```\n * const i18n = new Streami18n('it');\n *\n * i18n.registerTranslation('it', {\n * 'Nothing yet...': 'Non ancora ...',\n * '{{ firstUser }} and {{ secondUser }} are typing...': '{{ firstUser }} a {{ secondUser }} stanno scrivendo...',\n * });\n *\n * // Make sure to call setLanguage to reflect new language in UI.\n * i18n.setLanguage('it');\n * <Chat client={chatClient} i18nInstance={i18n}>\n * ...\n * </Chat>\n * ```\n */\n i18nInstance?: Streami18n;\n /**\n * You can pass the theme object to customize the styles of Chat components. You can check the default theme in [theme.ts](https://github.com/GetStream/stream-chat-react-native/blob/master/src/contexts/themeContext/utils/theme.ts)\n *\n * Please check section about [themes in cookbook](https://github.com/GetStream/stream-chat-react-native/wiki/Cookbook-v3.0#theme) for details.\n *\n * ```\n * import type { DeepPartial, Theme } from 'stream-chat-react-native';\n *\n * const theme: DeepPartial<Theme> = {\n * messageSimple: {\n * file: {\n * container: {\n * backgroundColor: 'red',\n * },\n * icon: {\n * height: 16,\n * width: 16,\n * },\n * },\n * },\n * };\n *\n * <Chat style={theme}>\n * </Chat>\n * ```\n *\n * @overrideType object\n */\n style?: DeepPartial<Theme>;\n};\n\nconst ChatWithContext = <\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: PropsWithChildren<ChatProps<At, Ch, Co, Ev, Me, Re, Us>>,\n) => {\n const { children, client, closeConnectionOnBackground = true, i18nInstance, style } = props;\n\n const [channel, setChannel] = useState<Channel<At, Ch, Co, Ev, Me, Re, Us>>();\n const [translators, setTranslators] = useState<TranslationContextValue>({\n t: (key: string) => key,\n tDateTimeParser: (input?: string | number | Date) => Dayjs(input),\n });\n\n /**\n * Setup translators\n */\n const loadingTranslators = useStreami18n({ i18nInstance, setTranslators });\n\n /**\n * Setup connection event listeners\n */\n const { connectionRecovering, isOnline } = useIsOnline<At, Ch, Co, Ev, Me, Re, Us>(\n client,\n closeConnectionOnBackground,\n );\n\n /**\n * Setup muted user listener\n */\n const mutedUsers = useMutedUsers<At, Ch, Co, Ev, Me, Re, Us>(client);\n\n useEffect(() => {\n if (client.setUserAgent) {\n client.setUserAgent(`${SDK}-${Platform.OS}-${version}`);\n // This is to disable recovery related logic in js client, since we handle it in this SDK\n client.recoverStateOnReconnect = false;\n }\n }, []);\n\n const setActiveChannel = (newChannel?: Channel<At, Ch, Co, Ev, Me, Re, Us>) =>\n setChannel(newChannel);\n\n const chatContext = useCreateChatContext({\n channel,\n client,\n connectionRecovering,\n isOnline,\n mutedUsers,\n setActiveChannel,\n });\n\n if (loadingTranslators) return null;\n\n return (\n <ChatProvider<At, Ch, Co, Ev, Me, Re, Us> value={chatContext}>\n <TranslationProvider value={translators}>\n <ThemeProvider style={style}>{children}</ThemeProvider>\n </TranslationProvider>\n </ChatProvider>\n );\n};\n\n/**\n * Chat - Wrapper component for Chat. The needs to be placed around any other chat components.\n * This Chat component provides the ChatContext to all other components.\n *\n * The ChatContext provides the following props:\n *\n * - channel - currently active channel\n * - client - client connection\n * - connectionRecovering - whether or not websocket is reconnecting\n * - isOnline - whether or not set user is active\n * - setActiveChannel - function to set the currently active channel\n *\n * The Chat Component takes the following generics in order:\n * - At (AttachmentType) - custom Attachment object extension\n * - Ct (ChannelType) - custom Channel object extension\n * - Co (CommandType) - custom Command string union extension\n * - Ev (EventType) - custom Event object extension\n * - Me (MessageType) - custom Message object extension\n * - Re (ReactionType) - custom Reaction object extension\n * - Us (UserType) - custom User object extension\n */\nexport const Chat = <\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: PropsWithChildren<ChatProps<At, Ch, Co, Ev, Me, Re, Us>>,\n) => {\n const { style } = useOverlayContext();\n\n return <ChatWithContext {...{ style }} {...props} />;\n};\n"]}
1
+ {"version":3,"sources":["Chat.tsx"],"names":["ChatWithContext","props","children","client","closeConnectionOnBackground","i18nInstance","style","channel","setChannel","t","key","tDateTimeParser","input","translators","setTranslators","loadingTranslators","connectionRecovering","isOnline","mutedUsers","setUserAgent","SDK","Platform","OS","version","recoverStateOnReconnect","setActiveChannel","newChannel","chatContext","Chat"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AAEA;;AAIA;;AACA;;AACA;;AAEA;;AACA;;AACA;;AAEA;;AAIA;;AAEA;;AAYA;;;;;;;;;AAqGA,IAAMA,eAAe,GAAG,SAAlBA,eAAkB,CAStBC,KATsB,EAUnB;AACH,MAAQC,QAAR,GAAsFD,KAAtF,CAAQC,QAAR;AAAA,MAAkBC,MAAlB,GAAsFF,KAAtF,CAAkBE,MAAlB;AAAA,8BAAsFF,KAAtF,CAA0BG,2BAA1B;AAAA,MAA0BA,2BAA1B,sCAAwD,IAAxD;AAAA,MAA8DC,YAA9D,GAAsFJ,KAAtF,CAA8DI,YAA9D;AAAA,MAA4EC,KAA5E,GAAsFL,KAAtF,CAA4EK,KAA5E;;AAEA,kBAA8B,sBAA9B;AAAA;AAAA,MAAOC,OAAP;AAAA,MAAgBC,UAAhB;;AACA,mBAAsC,qBAAkC;AACtEC,IAAAA,CAAC,EAAE,WAACC,GAAD;AAAA,aAAiBA,GAAjB;AAAA,KADmE;AAEtEC,IAAAA,eAAe,EAAE,yBAACC,KAAD;AAAA,aAAoC,uBAAMA,KAAN,CAApC;AAAA;AAFqD,GAAlC,CAAtC;AAAA;AAAA,MAAOC,WAAP;AAAA,MAAoBC,cAApB;;AAQA,MAAMC,kBAAkB,GAAG,kCAAc;AAAEV,IAAAA,YAAY,EAAZA,YAAF;AAAgBS,IAAAA,cAAc,EAAdA;AAAhB,GAAd,CAA3B;;AAKA,qBAA2C,+BACzCX,MADyC,EAEzCC,2BAFyC,CAA3C;AAAA,MAAQY,oBAAR,gBAAQA,oBAAR;AAAA,MAA8BC,QAA9B,gBAA8BA,QAA9B;;AAQA,MAAMC,UAAU,GAAG,kCAA0Cf,MAA1C,CAAnB;AAEA,wBAAU,YAAM;AACd,QAAIA,MAAM,CAACgB,YAAX,EAAyB;AACvBhB,MAAAA,MAAM,CAACgB,YAAP,CAAuBC,WAAvB,SAA8BC,sBAASC,EAAvC,SAA6CC,gBAA7C;AAEApB,MAAAA,MAAM,CAACqB,uBAAP,GAAiC,KAAjC;AACD;AACF,GAND,EAMG,EANH;;AAQA,MAAMC,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACC,UAAD;AAAA,WACvBlB,UAAU,CAACkB,UAAD,CADa;AAAA,GAAzB;;AAGA,MAAMC,WAAW,GAAG,gDAAqB;AACvCpB,IAAAA,OAAO,EAAPA,OADuC;AAEvCJ,IAAAA,MAAM,EAANA,MAFuC;AAGvCa,IAAAA,oBAAoB,EAApBA,oBAHuC;AAIvCC,IAAAA,QAAQ,EAARA,QAJuC;AAKvCC,IAAAA,UAAU,EAAVA,UALuC;AAMvCO,IAAAA,gBAAgB,EAAhBA;AANuC,GAArB,CAApB;AASA,MAAIV,kBAAJ,EAAwB,OAAO,IAAP;AAExB,SACE,gCAAC,yBAAD;AAA0C,IAAA,KAAK,EAAEY,WAAjD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KACE,gCAAC,uCAAD;AAAqB,IAAA,KAAK,EAAEd,WAA5B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KACE,gCAAC,2BAAD;AAAe,IAAA,KAAK,EAAEP,KAAtB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAA8BJ,QAA9B,CADF,CADF,CADF;AAOD,CAlED;;AAyFO,IAAM0B,IAAI,GAAG,SAAPA,IAAO,CASlB3B,KATkB,EAUf;AACH,2BAAkB,wCAAlB;AAAA,MAAQK,KAAR,sBAAQA,KAAR;;AAEA,SAAO,gCAAC,eAAD;AAAuBA,IAAAA,KAAK,EAALA;AAAvB,KAAoCL,KAApC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAAP;AACD,CAdM","sourcesContent":["import React, { PropsWithChildren, useEffect, useState } from 'react';\nimport { Platform } from 'react-native';\n\nimport Dayjs from 'dayjs';\n\nimport type { Channel } from 'stream-chat';\n\nimport { useCreateChatContext } from './hooks/useCreateChatContext';\nimport { useIsOnline } from './hooks/useIsOnline';\nimport { useMutedUsers } from './hooks/useMutedUsers';\n\nimport { ChatContextValue, ChatProvider } from '../../contexts/chatContext/ChatContext';\nimport { useOverlayContext } from '../../contexts/overlayContext/OverlayContext';\nimport { DeepPartial, ThemeProvider } from '../../contexts/themeContext/ThemeContext';\nimport type { Theme } from '../../contexts/themeContext/utils/theme';\nimport {\n TranslationContextValue,\n TranslationProvider,\n} from '../../contexts/translationContext/TranslationContext';\nimport { useStreami18n } from '../../hooks/useStreami18n';\n\nimport { SDK } from '../../native';\nimport type {\n DefaultAttachmentType,\n DefaultChannelType,\n DefaultCommandType,\n DefaultEventType,\n DefaultMessageType,\n DefaultReactionType,\n DefaultUserType,\n UnknownType,\n} from '../../types/types';\nimport type { Streami18n } from '../../utils/Streami18n';\nimport { version } from '../../version.json';\n\nexport type ChatProps<\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 /**\n * When false, ws connection won't be disconnection upon backgrounding the app.\n * To receive push notifications, its necessary that user doesn't have active\n * websocket connection. So by default, we disconnect websocket connection when\n * app goes to background, and reconnect when app comes to foreground.\n */\n closeConnectionOnBackground?: boolean;\n /**\n * Instance of Streami18n class should be provided to Chat component to enable internationalization.\n *\n * Stream provides following list of in-built translations:\n * 1. English (en)\n * 2. Dutch (nl)\n * 3. ...\n * 4. ...\n *\n * Simplest way to start using chat components in one of the in-built languages would be following:\n *\n * ```\n * const i18n = new Streami18n('nl');\n * <Chat client={chatClient} i18nInstance={i18n}>\n * ...\n * </Chat>\n * ```\n *\n * If you would like to override certain keys in in-built translation.\n * UI will be automatically updated in this case.\n *\n * ```\n * const i18n = new Streami18n('nl');\n *\n * i18n.registerTranslation('nl', {\n * 'Nothing yet...': 'Nog Niet ...',\n * '{{ firstUser }} and {{ secondUser }} are typing...': '{{ firstUser }} en {{ secondUser }} zijn aan het typen...',\n * });\n *\n * <Chat client={chatClient} i18nInstance={i18n}>\n * ...\n * </Chat>\n * ```\n *\n * You can use the same function to add whole new language.\n *\n * ```\n * const i18n = new Streami18n('it');\n *\n * i18n.registerTranslation('it', {\n * 'Nothing yet...': 'Non ancora ...',\n * '{{ firstUser }} and {{ secondUser }} are typing...': '{{ firstUser }} a {{ secondUser }} stanno scrivendo...',\n * });\n *\n * // Make sure to call setLanguage to reflect new language in UI.\n * i18n.setLanguage('it');\n * <Chat client={chatClient} i18nInstance={i18n}>\n * ...\n * </Chat>\n * ```\n */\n i18nInstance?: Streami18n;\n /**\n * You can pass the theme object to customize the styles of Chat components. You can check the default theme in [theme.ts](https://github.com/GetStream/stream-chat-react-native/blob/master/src/contexts/themeContext/utils/theme.ts)\n *\n * Please check section about [themes in cookbook](https://github.com/GetStream/stream-chat-react-native/wiki/Cookbook-v3.0#theme) for details.\n *\n * ```\n * import type { DeepPartial, Theme } from 'stream-chat-react-native';\n *\n * const theme: DeepPartial<Theme> = {\n * messageSimple: {\n * file: {\n * container: {\n * backgroundColor: 'red',\n * },\n * icon: {\n * height: 16,\n * width: 16,\n * },\n * },\n * },\n * };\n *\n * <Chat style={theme}>\n * </Chat>\n * ```\n *\n * @overrideType object\n */\n style?: DeepPartial<Theme>;\n};\n\nconst ChatWithContext = <\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: PropsWithChildren<ChatProps<At, Ch, Co, Ev, Me, Re, Us>>,\n) => {\n const { children, client, closeConnectionOnBackground = true, i18nInstance, style } = props;\n\n const [channel, setChannel] = useState<Channel<At, Ch, Co, Ev, Me, Re, Us>>();\n const [translators, setTranslators] = useState<TranslationContextValue>({\n t: (key: string) => key,\n tDateTimeParser: (input?: string | number | Date) => Dayjs(input),\n });\n\n /**\n * Setup translators\n */\n const loadingTranslators = useStreami18n({ i18nInstance, setTranslators });\n\n /**\n * Setup connection event listeners\n */\n const { connectionRecovering, isOnline } = useIsOnline<At, Ch, Co, Ev, Me, Re, Us>(\n client,\n closeConnectionOnBackground,\n );\n\n /**\n * Setup muted user listener\n */\n const mutedUsers = useMutedUsers<At, Ch, Co, Ev, Me, Re, Us>(client);\n\n useEffect(() => {\n if (client.setUserAgent) {\n client.setUserAgent(`${SDK}-${Platform.OS}-${version}`);\n // This is to disable recovery related logic in js client, since we handle it in this SDK\n client.recoverStateOnReconnect = false;\n }\n }, []);\n\n const setActiveChannel = (newChannel?: Channel<At, Ch, Co, Ev, Me, Re, Us>) =>\n setChannel(newChannel);\n\n const chatContext = useCreateChatContext({\n channel,\n client,\n connectionRecovering,\n isOnline,\n mutedUsers,\n setActiveChannel,\n });\n\n if (loadingTranslators) return null;\n\n return (\n <ChatProvider<At, Ch, Co, Ev, Me, Re, Us> value={chatContext}>\n <TranslationProvider value={translators}>\n <ThemeProvider style={style}>{children}</ThemeProvider>\n </TranslationProvider>\n </ChatProvider>\n );\n};\n\n/**\n * Chat - Wrapper component for Chat. The needs to be placed around any other chat components.\n * This Chat component provides the ChatContext to all other components.\n *\n * The ChatContext provides the following props:\n *\n * - channel - currently active channel\n * - client - client connection\n * - connectionRecovering - whether or not websocket is reconnecting\n * - isOnline - whether or not set user is active\n * - setActiveChannel - function to set the currently active channel\n *\n * The Chat Component takes the following generics in order:\n * - At (AttachmentType) - custom Attachment object extension\n * - Ct (ChannelType) - custom Channel object extension\n * - Co (CommandType) - custom Command string union extension\n * - Ev (EventType) - custom Event object extension\n * - Me (MessageType) - custom Message object extension\n * - Re (ReactionType) - custom Reaction object extension\n * - Us (UserType) - custom User object extension\n */\nexport const Chat = <\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: PropsWithChildren<ChatProps<At, Ch, Co, Ev, Me, Re, Us>>,\n) => {\n const { style } = useOverlayContext();\n\n return <ChatWithContext {...{ style }} {...props} />;\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["useIsOnline.ts"],"names":["useIsOnline","client","closeConnectionOnBackground","isOnline","setIsOnline","connectionRecovering","setConnectionRecovering","isMounted","clientExits","onBackground","cid","activeChannels","channel","state","setIsUpToDate","closeConnection","onForeground","openConnection","handleChangedEvent","event","online","handleRecoveredEvent","notifyChatClient","netInfoState","wsConnection","onlineStatusChanged","type","unsubscribeNetInfo","setNetInfoListener","NetInfo","addEventListener","isHealthy","setInitialOnlineState","fetch","status","current","chatListeners","push","on","forEach","listener","unsubscribe"],"mappings":";;;;;;;;;;;;;AAAA;;AAEA;;AACA;;AACA;;AAsBO,IAAMA,WAAW,GAAG,SAAdA,WAAc,CASzBC,MATyB,EAWtB;AAAA,MADHC,2BACG,uEAD2B,IAC3B;;AACH,kBAAgC,qBAAS,IAAT,CAAhC;AAAA;AAAA,MAAOC,QAAP;AAAA,MAAiBC,WAAjB;;AACA,mBAAwD,qBAAS,KAAT,CAAxD;AAAA;AAAA,MAAOC,oBAAP;AAAA,MAA6BC,uBAA7B;;AACA,MAAMC,SAAS,GAAG,uCAAlB;AACA,MAAMC,WAAW,GAAG,CAAC,CAACP,MAAtB;AAEA,MAAMQ,YAAY,GAAG,wBAAY,YAAM;AACrC,QAAI,CAACP,2BAAL,EAAkC;;AAElC,SAAK,IAAMQ,GAAX,IAAkBT,MAAM,CAACU,cAAzB,EAAyC;AACvC,UAAMC,OAAO,GAAGX,MAAM,CAACU,cAAP,CAAsBD,GAAtB,CAAhB;AACAE,MAAAA,OAAO,QAAP,YAAAA,OAAO,CAAEC,KAAT,CAAeC,aAAf,CAA6B,KAA7B;AACD;;AAEDb,IAAAA,MAAM,CAACc,eAAP;AACAX,IAAAA,WAAW,CAAC,KAAD,CAAX;AACD,GAVoB,EAUlB,CAACF,2BAAD,EAA8BD,MAA9B,CAVkB,CAArB;AAYA,MAAMe,YAAY,GAAG,wBAAY,YAAM;AACrC,QAAI,CAACd,2BAAL,EAAkC;AAElCD,IAAAA,MAAM,CAACgB,cAAP;AACD,GAJoB,EAIlB,CAACf,2BAAD,EAA8BD,MAA9B,CAJkB,CAArB;AAMA,gDAAoBe,YAApB,EAAkCP,YAAlC;AAEA,wBAAU,YAAM;AACd,QAAMS,kBAAkB,GAAG,SAArBA,kBAAqB,CAACC,KAAD,EAAoD;AAC7Eb,MAAAA,uBAAuB,CAAC,CAACa,KAAK,CAACC,MAAR,CAAvB;AACAhB,MAAAA,WAAW,CAACe,KAAK,CAACC,MAAN,IAAgB,KAAjB,CAAX;AACD,KAHD;;AAKA,QAAMC,oBAAoB,GAAG,SAAvBA,oBAAuB;AAAA,aAAMf,uBAAuB,CAAC,KAAD,CAA7B;AAAA,KAA7B;;AAEA,QAAMgB,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACC,YAAD,EAA2B;AAClD,UAAItB,MAAJ,YAAIA,MAAM,CAAEuB,YAAZ,EAA0B;AACxB,YAAID,YAAJ,EAAkB;AAChBtB,UAAAA,MAAM,CAACuB,YAAP,CAAoBC,mBAApB,CAAwC;AACtCC,YAAAA,IAAI,EAAE;AADgC,WAAxC;AAGD,SAJD,MAIO;AACLzB,UAAAA,MAAM,CAACuB,YAAP,CAAoBC,mBAApB,CAAwC;AACtCC,YAAAA,IAAI,EAAE;AADgC,WAAxC;AAGD;AACF;AACF,KAZD;;AAcA,QAAIC,kBAAJ;;AACA,QAAMC,kBAAkB,GAAG,SAArBA,kBAAqB,GAAM;AAC/BD,MAAAA,kBAAkB,GAAGE,gBAAQC,gBAAR,CAAyB,UAACP,YAAD,EAAkB;AAAA;;AAC9D,YAAIA,YAAY,KAAK,KAAjB,IAA0B,0BAACtB,MAAM,CAACuB,YAAR,aAAC,qBAAqBO,SAAtB,CAA9B,EAA+D;AAC7DzB,UAAAA,uBAAuB,CAAC,IAAD,CAAvB;AACAF,UAAAA,WAAW,CAAC,KAAD,CAAX;AACD;;AACDkB,QAAAA,gBAAgB,CAACC,YAAD,CAAhB;AACD,OANoB,CAArB;AAOD,KARD;;AAUA,QAAMS,qBAAqB;AAAA,iFAAG;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBACPH,gBAAQI,KAAR,EADO;;AAAA;AACtBC,gBAAAA,MADsB;;AAE5B,oBAAI3B,SAAS,CAAC4B,OAAd,EAAuB;AACrB/B,kBAAAA,WAAW,CAAC8B,MAAD,CAAX;AACAZ,kBAAAA,gBAAgB,CAACY,MAAD,CAAhB;AACD;;AAL2B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,OAAH;;AAAA,sBAArBF,qBAAqB;AAAA;AAAA;AAAA,OAA3B;;AAQAA,IAAAA,qBAAqB;AACrB,QAAMI,aAAkD,GAAG,EAA3D;;AAEA,QAAInC,MAAJ,EAAY;AACVmC,MAAAA,aAAa,CAACC,IAAd,CAAmBpC,MAAM,CAACqC,EAAP,CAAU,oBAAV,EAAgCpB,kBAAhC,CAAnB;AACAkB,MAAAA,aAAa,CAACC,IAAd,CAAmBpC,MAAM,CAACqC,EAAP,CAAU,sBAAV,EAAkCjB,oBAAlC,CAAnB;AACAO,MAAAA,kBAAkB;AACnB;;AAED,WAAO,YAAM;AACXQ,MAAAA,aAAa,CAACG,OAAd,CAAsB,UAACC,QAAD;AAAA,eAAcA,QAAQ,CAACC,WAAvB,oBAAcD,QAAQ,CAACC,WAAT,EAAd;AAAA,OAAtB;AACAd,MAAAA,kBAAkB,QAAlB,YAAAA,kBAAkB;AACnB,KAHD;AAID,GAtDD,EAsDG,CAACnB,WAAD,CAtDH;AAwDA,SAAO;AAAEH,IAAAA,oBAAoB,EAApBA,oBAAF;AAAwBF,IAAAA,QAAQ,EAARA;AAAxB,GAAP;AACD,CA9FM","sourcesContent":["import { useCallback, useEffect, useState } from 'react';\n\nimport { useAppStateListener } from '../../../hooks/useAppStateListener';\nimport { useIsMountedRef } from '../../../hooks/useIsMountedRef';\nimport { NetInfo } from '../../../native';\n\nimport type { NetInfoSubscription } from '@react-native-community/netinfo';\nimport type { StreamChat, Event as StreamEvent } 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\n/**\n * Disconnect the websocket connection when app goes to background,\n * and reconnect when app comes to foreground.\n * We do this to make sure, user receives push notifications when app is in the background.\n * You can't receive push notification until you have active websocket connection.\n */\nexport const useIsOnline = <\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 closeConnectionOnBackground = true,\n) => {\n const [isOnline, setIsOnline] = useState(true);\n const [connectionRecovering, setConnectionRecovering] = useState(false);\n const isMounted = useIsMountedRef();\n const clientExits = !!client;\n\n const onBackground = useCallback(() => {\n if (!closeConnectionOnBackground) return;\n\n for (const cid in client.activeChannels) {\n const channel = client.activeChannels[cid];\n channel?.state.setIsUpToDate(false);\n }\n\n client.closeConnection();\n setIsOnline(false);\n }, [closeConnectionOnBackground, client]);\n\n const onForeground = useCallback(() => {\n if (!closeConnectionOnBackground) return;\n\n client.openConnection();\n }, [closeConnectionOnBackground, client]);\n\n useAppStateListener(onForeground, onBackground);\n\n useEffect(() => {\n const handleChangedEvent = (event: StreamEvent<At, Ch, Co, Ev, Me, Re, Us>) => {\n setConnectionRecovering(!event.online);\n setIsOnline(event.online || false);\n };\n\n const handleRecoveredEvent = () => setConnectionRecovering(false);\n\n const notifyChatClient = (netInfoState: boolean) => {\n if (client?.wsConnection) {\n if (netInfoState) {\n client.wsConnection.onlineStatusChanged({\n type: 'online',\n } as Event);\n } else {\n client.wsConnection.onlineStatusChanged({\n type: 'offline',\n } as Event);\n }\n }\n };\n\n let unsubscribeNetInfo: NetInfoSubscription;\n const setNetInfoListener = () => {\n unsubscribeNetInfo = NetInfo.addEventListener((netInfoState) => {\n if (netInfoState === false && !client.wsConnection?.isHealthy) {\n setConnectionRecovering(true);\n setIsOnline(false);\n }\n notifyChatClient(netInfoState);\n });\n };\n\n const setInitialOnlineState = async () => {\n const status = await NetInfo.fetch();\n if (isMounted.current) {\n setIsOnline(status);\n notifyChatClient(status);\n }\n };\n\n setInitialOnlineState();\n const chatListeners: Array<ReturnType<StreamChat['on']>> = [];\n\n if (client) {\n chatListeners.push(client.on('connection.changed', handleChangedEvent));\n chatListeners.push(client.on('connection.recovered', handleRecoveredEvent));\n setNetInfoListener();\n }\n\n return () => {\n chatListeners.forEach((listener) => listener.unsubscribe?.());\n unsubscribeNetInfo?.();\n };\n }, [clientExits]);\n\n return { connectionRecovering, isOnline };\n};\n"]}
1
+ {"version":3,"sources":["useIsOnline.ts"],"names":["useIsOnline","client","closeConnectionOnBackground","isOnline","setIsOnline","connectionRecovering","setConnectionRecovering","isMounted","clientExits","onBackground","cid","activeChannels","channel","state","setIsUpToDate","closeConnection","onForeground","openConnection","handleChangedEvent","event","online","handleRecoveredEvent","notifyChatClient","netInfoState","wsConnection","onlineStatusChanged","type","unsubscribeNetInfo","setNetInfoListener","NetInfo","addEventListener","isHealthy","setInitialOnlineState","fetch","status","current","chatListeners","push","on","forEach","listener","unsubscribe"],"mappings":"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","sourcesContent":["import { useCallback, useEffect, useState } from 'react';\n\nimport type { NetInfoSubscription } from '@react-native-community/netinfo';\n\nimport type { StreamChat, Event as StreamEvent } from 'stream-chat';\n\nimport { useAppStateListener } from '../../../hooks/useAppStateListener';\nimport { useIsMountedRef } from '../../../hooks/useIsMountedRef';\nimport { NetInfo } from '../../../native';\n\nimport type {\n DefaultAttachmentType,\n DefaultChannelType,\n DefaultCommandType,\n DefaultEventType,\n DefaultMessageType,\n DefaultReactionType,\n DefaultUserType,\n UnknownType,\n} from '../../../types/types';\n\n/**\n * Disconnect the websocket connection when app goes to background,\n * and reconnect when app comes to foreground.\n * We do this to make sure, user receives push notifications when app is in the background.\n * You can't receive push notification until you have active websocket connection.\n */\nexport const useIsOnline = <\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 closeConnectionOnBackground = true,\n) => {\n const [isOnline, setIsOnline] = useState(true);\n const [connectionRecovering, setConnectionRecovering] = useState(false);\n const isMounted = useIsMountedRef();\n const clientExits = !!client;\n\n const onBackground = useCallback(() => {\n if (!closeConnectionOnBackground) return;\n\n for (const cid in client.activeChannels) {\n const channel = client.activeChannels[cid];\n channel?.state.setIsUpToDate(false);\n }\n\n client.closeConnection();\n setIsOnline(false);\n }, [closeConnectionOnBackground, client]);\n\n const onForeground = useCallback(() => {\n if (!closeConnectionOnBackground) return;\n\n client.openConnection();\n }, [closeConnectionOnBackground, client]);\n\n useAppStateListener(onForeground, onBackground);\n\n useEffect(() => {\n const handleChangedEvent = (event: StreamEvent<At, Ch, Co, Ev, Me, Re, Us>) => {\n setConnectionRecovering(!event.online);\n setIsOnline(event.online || false);\n };\n\n const handleRecoveredEvent = () => setConnectionRecovering(false);\n\n const notifyChatClient = (netInfoState: boolean) => {\n if (client?.wsConnection) {\n if (netInfoState) {\n client.wsConnection.onlineStatusChanged({\n type: 'online',\n } as Event);\n } else {\n client.wsConnection.onlineStatusChanged({\n type: 'offline',\n } as Event);\n }\n }\n };\n\n let unsubscribeNetInfo: NetInfoSubscription;\n const setNetInfoListener = () => {\n unsubscribeNetInfo = NetInfo.addEventListener((netInfoState) => {\n if (netInfoState === false && !client.wsConnection?.isHealthy) {\n setConnectionRecovering(true);\n setIsOnline(false);\n }\n notifyChatClient(netInfoState);\n });\n };\n\n const setInitialOnlineState = async () => {\n const status = await NetInfo.fetch();\n if (isMounted.current) {\n setIsOnline(status);\n notifyChatClient(status);\n }\n };\n\n setInitialOnlineState();\n const chatListeners: Array<ReturnType<StreamChat['on']>> = [];\n\n if (client) {\n chatListeners.push(client.on('connection.changed', handleChangedEvent));\n chatListeners.push(client.on('connection.recovered', handleRecoveredEvent));\n setNetInfoListener();\n }\n\n return () => {\n chatListeners.forEach((listener) => listener.unsubscribe?.());\n unsubscribeNetInfo?.();\n };\n }, [clientExits]);\n\n return { connectionRecovering, isOnline };\n};\n"]}
@@ -5,7 +5,7 @@ var _typeof = require("@babel/runtime/helpers/typeof");
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.clamp = exports.ImageGallery = exports.IsSwiping = exports.HasPinched = void 0;
8
+ exports.clamp = exports.IsSwiping = exports.ImageGallery = exports.HasPinched = void 0;
9
9
 
10
10
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
11
 
@@ -17,12 +17,12 @@ var _react = _interopRequireWildcard(require("react"));
17
17
 
18
18
  var _reactNative = require("react-native");
19
19
 
20
- var _bottomSheet = _interopRequireDefault(require("@gorhom/bottom-sheet"));
21
-
22
20
  var _reactNativeGestureHandler = require("react-native-gesture-handler");
23
21
 
24
22
  var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
25
23
 
24
+ var _bottomSheet = require("@gorhom/bottom-sheet");
25
+
26
26
  var _AnimatedGalleryImage = require("./components/AnimatedGalleryImage");
27
27
 
28
28
  var _ImageGalleryFooter = require("./components/ImageGalleryFooter");
@@ -43,6 +43,10 @@ var _ThemeContext = require("../../contexts/themeContext/ThemeContext");
43
43
 
44
44
  var _native = require("../../native");
45
45
 
46
+ var _getResizedImageUrl = require("../../utils/getResizedImageUrl");
47
+
48
+ var _getUrlOfImageAttachment = require("../../utils/getUrlOfImageAttachment");
49
+
46
50
  var _utils = require("../../utils/utils");
47
51
 
48
52
  var _this = this,
@@ -92,6 +96,11 @@ var ImageGallery = function ImageGallery(props) {
92
96
  white_snow = _useTheme$theme.colors.white_snow,
93
97
  backgroundColor = _useTheme$theme.imageGallery.backgroundColor;
94
98
 
99
+ var _useState = (0, _react.useState)([]),
100
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
101
+ gridPhotos = _useState2[0],
102
+ setGridPhotos = _useState2[1];
103
+
95
104
  var _useOverlayContext = (0, _OverlayContext.useOverlayContext)(),
96
105
  overlay = _useOverlayContext.overlay,
97
106
  setOverlay = _useOverlayContext.setOverlay,
@@ -110,15 +119,15 @@ var ImageGallery = function ImageGallery(props) {
110
119
  var quarterScreenHeight = screenHeight / 4;
111
120
 
112
121
  var snapPoints = _react["default"].useMemo(function () {
113
- return [0, screenHeight * 9 / 10];
122
+ return [screenHeight * 9 / 10];
114
123
  }, []);
115
124
 
116
- var bottomSheetRef = (0, _react.useRef)(null);
125
+ var bottomSheetModalRef = (0, _react.useRef)(null);
117
126
 
118
- var _useState = (0, _react.useState)(0),
119
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
120
- currentBottomSheetIndex = _useState2[0],
121
- setCurrentBottomSheetIndex = _useState2[1];
127
+ var _useState3 = (0, _react.useState)(0),
128
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
129
+ currentBottomSheetIndex = _useState4[0],
130
+ setCurrentBottomSheetIndex = _useState4[1];
122
131
 
123
132
  var animatedBottomSheetIndex = (0, _reactNativeReanimated.useSharedValue)(0);
124
133
  var showScreen = (0, _reactNativeReanimated.useSharedValue)(0);
@@ -140,15 +149,15 @@ var ImageGallery = function ImageGallery(props) {
140
149
  fadeScreen(visible);
141
150
  }, [visible]);
142
151
 
143
- var _useState3 = (0, _react.useState)(screenHeight),
144
- _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
145
- currentImageHeight = _useState4[0],
146
- setCurrentImageHeight = _useState4[1];
147
-
148
- var _useState5 = (0, _react.useState)(0),
152
+ var _useState5 = (0, _react.useState)(screenHeight),
149
153
  _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
150
- selectedIndex = _useState6[0],
151
- setSelectedIndex = _useState6[1];
154
+ currentImageHeight = _useState6[0],
155
+ setCurrentImageHeight = _useState6[1];
156
+
157
+ var _useState7 = (0, _react.useState)(0),
158
+ _useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
159
+ selectedIndex = _useState8[0],
160
+ setSelectedIndex = _useState8[1];
152
161
 
153
162
  var index = (0, _reactNativeReanimated.useSharedValue)(0);
154
163
  var headerFooterVisible = (0, _reactNativeReanimated.useSharedValue)(1);
@@ -230,15 +239,22 @@ var ImageGallery = function ImageGallery(props) {
230
239
  var _cur$attachments;
231
240
 
232
241
  var attachmentImages = ((_cur$attachments = cur.attachments) == null ? void 0 : _cur$attachments.filter(function (attachment) {
233
- return attachment.type === 'image' && !attachment.title_link && !attachment.og_scrape_url && (attachment.image_url || attachment.thumb_url);
242
+ return attachment.type === 'image' && !attachment.title_link && !attachment.og_scrape_url && (0, _getUrlOfImageAttachment.getUrlOfImageAttachment)(attachment);
234
243
  })) || [];
235
- var attachmentPhotos = attachmentImages.map(function (attachmentImage) {
244
+ var attachmentPhotos = attachmentImages.map(function (a) {
245
+ var imageUrl = (0, _getUrlOfImageAttachment.getUrlOfImageAttachment)(a);
236
246
  return {
237
247
  channelId: cur.cid,
238
248
  created_at: cur.created_at,
239
- id: "photoId-" + cur.id + "-" + (attachmentImage.image_url || attachmentImage.thumb_url),
249
+ id: "photoId-" + cur.id + "-" + imageUrl,
240
250
  messageId: cur.id,
241
- uri: attachmentImage.image_url || attachmentImage.thumb_url || '',
251
+ original_height: a.original_height,
252
+ original_width: a.original_width,
253
+ uri: (0, _getResizedImageUrl.getResizedImageUrl)({
254
+ height: screenHeight,
255
+ url: imageUrl,
256
+ width: screenWidth
257
+ }),
242
258
  user: cur.user,
243
259
  user_id: cur.user_id
244
260
  };
@@ -264,12 +280,16 @@ var ImageGallery = function ImageGallery(props) {
264
280
  }, [image, photoLength]);
265
281
  var uriForCurrentImage = (_photos$selectedIndex = photos[selectedIndex]) == null ? void 0 : _photos$selectedIndex.uri;
266
282
  (0, _react.useEffect)(function () {
267
- var _photos$index$value;
268
-
269
283
  setCurrentImageHeight(screenHeight);
270
-
271
- if ((_photos$index$value = photos[index.value]) != null && _photos$index$value.uri) {
272
- _reactNative.Image.getSize(photos[index.value].uri, function (width, height) {
284
+ var photo = photos[index.value];
285
+ var height = photo == null ? void 0 : photo.original_height;
286
+ var width = photo == null ? void 0 : photo.original_width;
287
+
288
+ if (height && width) {
289
+ var imageHeight = Math.floor(height * (screenWidth / width));
290
+ setCurrentImageHeight(imageHeight > screenHeight ? screenHeight : imageHeight);
291
+ } else if (photo != null && photo.uri) {
292
+ _reactNative.Image.getSize(photo.uri, function (width, height) {
273
293
  var imageHeight = Math.floor(height * (screenWidth / width));
274
294
  setCurrentImageHeight(imageHeight > screenHeight ? screenHeight : imageHeight);
275
295
  });
@@ -560,14 +580,20 @@ var ImageGallery = function ImageGallery(props) {
560
580
  }, []);
561
581
 
562
582
  var closeGridView = function closeGridView() {
563
- if (bottomSheetRef.current) {
564
- bottomSheetRef.current.close();
583
+ var _bottomSheetModalRef$;
584
+
585
+ if ((_bottomSheetModalRef$ = bottomSheetModalRef.current) != null && _bottomSheetModalRef$.close) {
586
+ bottomSheetModalRef.current.close();
587
+ setGridPhotos([]);
565
588
  }
566
589
  };
567
590
 
568
591
  var openGridView = function openGridView() {
569
- if (bottomSheetRef.current) {
570
- bottomSheetRef.current.snapTo(1);
592
+ var _bottomSheetModalRef$2;
593
+
594
+ if ((_bottomSheetModalRef$2 = bottomSheetModalRef.current) != null && _bottomSheetModalRef$2.present) {
595
+ bottomSheetModalRef.current.present();
596
+ setGridPhotos(photos);
571
597
  }
572
598
  };
573
599
 
@@ -577,7 +603,7 @@ var ImageGallery = function ImageGallery(props) {
577
603
  __self: _this,
578
604
  __source: {
579
605
  fileName: _jsxFileName,
580
- lineNumber: 1055,
606
+ lineNumber: 1084,
581
607
  columnNumber: 5
582
608
  }
583
609
  }, _react["default"].createElement(_reactNativeReanimated["default"].View, {
@@ -585,7 +611,7 @@ var ImageGallery = function ImageGallery(props) {
585
611
  __self: _this,
586
612
  __source: {
587
613
  fileName: _jsxFileName,
588
- lineNumber: 1059,
614
+ lineNumber: 1088,
589
615
  columnNumber: 7
590
616
  }
591
617
  }), _react["default"].createElement(_reactNativeGestureHandler.TapGestureHandler, {
@@ -597,7 +623,7 @@ var ImageGallery = function ImageGallery(props) {
597
623
  __self: _this,
598
624
  __source: {
599
625
  fileName: _jsxFileName,
600
- lineNumber: 1060,
626
+ lineNumber: 1089,
601
627
  columnNumber: 7
602
628
  }
603
629
  }, _react["default"].createElement(_reactNativeReanimated["default"].View, {
@@ -605,7 +631,7 @@ var ImageGallery = function ImageGallery(props) {
605
631
  __self: _this,
606
632
  __source: {
607
633
  fileName: _jsxFileName,
608
- lineNumber: 1067,
634
+ lineNumber: 1096,
609
635
  columnNumber: 9
610
636
  }
611
637
  }, _react["default"].createElement(_reactNativeGestureHandler.TapGestureHandler, {
@@ -619,7 +645,7 @@ var ImageGallery = function ImageGallery(props) {
619
645
  __self: _this,
620
646
  __source: {
621
647
  fileName: _jsxFileName,
622
- lineNumber: 1068,
648
+ lineNumber: 1097,
623
649
  columnNumber: 11
624
650
  }
625
651
  }, _react["default"].createElement(_reactNativeReanimated["default"].View, {
@@ -627,7 +653,7 @@ var ImageGallery = function ImageGallery(props) {
627
653
  __self: _this,
628
654
  __source: {
629
655
  fileName: _jsxFileName,
630
- lineNumber: 1077,
656
+ lineNumber: 1106,
631
657
  columnNumber: 13
632
658
  }
633
659
  }, _react["default"].createElement(_reactNativeGestureHandler.PinchGestureHandler, {
@@ -637,7 +663,7 @@ var ImageGallery = function ImageGallery(props) {
637
663
  __self: _this,
638
664
  __source: {
639
665
  fileName: _jsxFileName,
640
- lineNumber: 1078,
666
+ lineNumber: 1107,
641
667
  columnNumber: 15
642
668
  }
643
669
  }, _react["default"].createElement(_reactNativeReanimated["default"].View, {
@@ -645,7 +671,7 @@ var ImageGallery = function ImageGallery(props) {
645
671
  __self: _this,
646
672
  __source: {
647
673
  fileName: _jsxFileName,
648
- lineNumber: 1083,
674
+ lineNumber: 1112,
649
675
  columnNumber: 17
650
676
  }
651
677
  }, _react["default"].createElement(_reactNativeGestureHandler.PanGestureHandler, {
@@ -658,7 +684,7 @@ var ImageGallery = function ImageGallery(props) {
658
684
  __self: _this,
659
685
  __source: {
660
686
  fileName: _jsxFileName,
661
- lineNumber: 1084,
687
+ lineNumber: 1113,
662
688
  columnNumber: 19
663
689
  }
664
690
  }, _react["default"].createElement(_reactNativeReanimated["default"].View, {
@@ -666,7 +692,7 @@ var ImageGallery = function ImageGallery(props) {
666
692
  __self: _this,
667
693
  __source: {
668
694
  fileName: _jsxFileName,
669
- lineNumber: 1092,
695
+ lineNumber: 1121,
670
696
  columnNumber: 21
671
697
  }
672
698
  }, _react["default"].createElement(_reactNativeReanimated["default"].View, {
@@ -680,7 +706,7 @@ var ImageGallery = function ImageGallery(props) {
680
706
  __self: _this,
681
707
  __source: {
682
708
  fileName: _jsxFileName,
683
- lineNumber: 1093,
709
+ lineNumber: 1122,
684
710
  columnNumber: 23
685
711
  }
686
712
  }, photos.map(function (photo, i) {
@@ -704,7 +730,7 @@ var ImageGallery = function ImageGallery(props) {
704
730
  __self: _this,
705
731
  __source: {
706
732
  fileName: _jsxFileName,
707
- lineNumber: 1108,
733
+ lineNumber: 1137,
708
734
  columnNumber: 27
709
735
  }
710
736
  });
@@ -716,7 +742,7 @@ var ImageGallery = function ImageGallery(props) {
716
742
  __self: _this,
717
743
  __source: {
718
744
  fileName: _jsxFileName,
719
- lineNumber: 1136,
745
+ lineNumber: 1165,
720
746
  columnNumber: 7
721
747
  }
722
748
  })), _react["default"].createElement(_ImageGalleryFooter.ImageGalleryFooter, (0, _extends2["default"])({
@@ -730,7 +756,7 @@ var ImageGallery = function ImageGallery(props) {
730
756
  __self: _this,
731
757
  __source: {
732
758
  fileName: _jsxFileName,
733
- lineNumber: 1142,
759
+ lineNumber: 1171,
734
760
  columnNumber: 7
735
761
  }
736
762
  })), _react["default"].createElement(_ImageGalleryOverlay.ImageGalleryOverlay, {
@@ -740,12 +766,19 @@ var ImageGallery = function ImageGallery(props) {
740
766
  __self: _this,
741
767
  __source: {
742
768
  fileName: _jsxFileName,
743
- lineNumber: 1151,
769
+ lineNumber: 1180,
770
+ columnNumber: 7
771
+ }
772
+ }), _react["default"].createElement(_bottomSheet.BottomSheetModalProvider, {
773
+ __self: _this,
774
+ __source: {
775
+ fileName: _jsxFileName,
776
+ lineNumber: 1185,
744
777
  columnNumber: 7
745
778
  }
746
- }), _react["default"].createElement(_bottomSheet["default"], {
779
+ }, _react["default"].createElement(_bottomSheet.BottomSheetModal, {
747
780
  animatedIndex: animatedBottomSheetIndex,
748
- containerHeight: fullScreenHeight,
781
+ enablePanDownToClose: true,
749
782
  handleComponent: function handleComponent() {
750
783
  return _react["default"].createElement(_ImageGridHandle.ImageGridHandle, (0, _extends2["default"])({
751
784
  closeGridView: closeGridView
@@ -753,8 +786,8 @@ var ImageGallery = function ImageGallery(props) {
753
786
  __self: _this,
754
787
  __source: {
755
788
  fileName: _jsxFileName,
756
- lineNumber: 1160,
757
- columnNumber: 11
789
+ lineNumber: 1190,
790
+ columnNumber: 13
758
791
  }
759
792
  }));
760
793
  },
@@ -763,28 +796,28 @@ var ImageGallery = function ImageGallery(props) {
763
796
  onChange: function onChange(index) {
764
797
  return setCurrentBottomSheetIndex(index);
765
798
  },
766
- ref: bottomSheetRef,
799
+ ref: bottomSheetModalRef,
767
800
  snapPoints: imageGalleryGridSnapPoints || snapPoints,
768
801
  __self: _this,
769
802
  __source: {
770
803
  fileName: _jsxFileName,
771
- lineNumber: 1156,
772
- columnNumber: 7
804
+ lineNumber: 1186,
805
+ columnNumber: 9
773
806
  }
774
807
  }, _react["default"].createElement(_ImageGrid.ImageGrid, (0, _extends2["default"])({
775
808
  closeGridView: closeGridView,
776
809
  numberOfImageGalleryGridColumns: numberOfImageGalleryGridColumns,
777
- photos: photos,
810
+ photos: gridPhotos,
778
811
  resetVisibleValues: resetVisibleValues,
779
812
  setImage: setImage
780
813
  }, imageGalleryCustomComponents == null ? void 0 : imageGalleryCustomComponents.grid, {
781
814
  __self: _this,
782
815
  __source: {
783
816
  fileName: _jsxFileName,
784
- lineNumber: 1171,
785
- columnNumber: 9
817
+ lineNumber: 1201,
818
+ columnNumber: 11
786
819
  }
787
- }))));
820
+ })))));
788
821
  };
789
822
 
790
823
  exports.ImageGallery = ImageGallery;