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
@@ -15,10 +15,10 @@ var _react = _interopRequireWildcard(require("react"));
15
15
 
16
16
  var _useLatestMessagePreview = require("./hooks/useLatestMessagePreview");
17
17
 
18
- var _ChatContext = require("../../contexts/chatContext/ChatContext");
19
-
20
18
  var _ChannelsContext = require("../../contexts/channelsContext/ChannelsContext");
21
19
 
20
+ var _ChatContext = require("../../contexts/chatContext/ChatContext");
21
+
22
22
  var _this = this,
23
23
  _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/ChannelPreview/ChannelPreview.tsx";
24
24
 
@@ -1 +1 @@
1
- {"version":3,"sources":["ChannelPreview.tsx"],"names":["ChannelPreviewWithContext","props","channel","client","Preview","state","messages","length","lastMessage","setLastMessage","forceUpdate","setForceUpdate","countUnread","unread","setUnread","latestMessagePreview","channelLastMessage","channelLastMessageString","id","updated_at","newUnreadCount","handleEvent","event","message","type","on","off","handleReadEvent","user","userID","prev","ChannelPreview"],"mappings":"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","sourcesContent":["import React, { useEffect, useState } from 'react';\n\nimport { useLatestMessagePreview } from './hooks/useLatestMessagePreview';\n\nimport { ChatContextValue, useChatContext } from '../../contexts/chatContext/ChatContext';\nimport {\n ChannelsContextValue,\n useChannelsContext,\n} from '../../contexts/channelsContext/ChannelsContext';\n\nimport type { Channel, ChannelState, Event, MessageResponse } from 'stream-chat';\n\nimport type {\n DefaultAttachmentType,\n DefaultChannelType,\n DefaultCommandType,\n DefaultEventType,\n DefaultMessageType,\n DefaultReactionType,\n DefaultUserType,\n UnknownType,\n} from '../../types/types';\n\nexport type ChannelPreviewPropsWithContext<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n> = Pick<ChatContextValue<At, Ch, Co, Ev, Me, Re, Us>, 'client'> &\n Pick<ChannelsContextValue<At, Ch, Co, Ev, Me, Re, Us>, 'Preview'> & {\n /**\n * The previewed channel\n */\n channel: Channel<At, Ch, Co, Ev, Me, Re, Us>;\n };\n\n/**\n * This component manages state for the ChannelPreviewMessenger UI component and receives\n * all props from the ChannelListMessenger component.\n */\nconst ChannelPreviewWithContext = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n props: ChannelPreviewPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const { channel, client, Preview } = props;\n\n const [lastMessage, setLastMessage] = useState<\n | ReturnType<ChannelState<At, Ch, Co, Ev, Me, Re, Us>['formatMessage']>\n | MessageResponse<At, Ch, Co, Me, Re, Us>\n | undefined\n >(channel.state.messages[channel.state.messages.length - 1]);\n const [forceUpdate, setForceUpdate] = useState(0);\n const [unread, setUnread] = useState(channel.countUnread());\n\n const latestMessagePreview = useLatestMessagePreview(channel, forceUpdate, lastMessage);\n\n const channelLastMessage = channel.lastMessage();\n const channelLastMessageString = `${channelLastMessage?.id}${channelLastMessage?.updated_at}`;\n\n useEffect(() => {\n if (\n channelLastMessage &&\n (channelLastMessage.id !== lastMessage?.id ||\n channelLastMessage.updated_at !== lastMessage?.updated_at)\n ) {\n setLastMessage(channelLastMessage);\n }\n\n const newUnreadCount = channel.countUnread();\n\n if (newUnreadCount !== unread) {\n setUnread(newUnreadCount);\n }\n }, [channelLastMessageString]);\n\n useEffect(() => {\n const handleEvent = (event: Event<At, Ch, Co, Ev, Me, Re, Us>) => {\n if (event.message) {\n setLastMessage(event.message);\n }\n\n if (event.type === 'message.new') {\n setUnread(channel.countUnread());\n }\n };\n\n channel.on('message.new', handleEvent);\n channel.on('message.updated', handleEvent);\n channel.on('message.deleted', handleEvent);\n\n return () => {\n channel.off('message.new', handleEvent);\n channel.off('message.updated', handleEvent);\n channel.off('message.deleted', handleEvent);\n };\n }, []);\n\n useEffect(() => {\n const handleReadEvent = (event: Event<At, Ch, Co, Ev, Me, Re, Us>) => {\n if (event.user?.id === client.userID) {\n setUnread(0);\n } else if (event.user?.id) {\n setForceUpdate((prev) => prev + 1);\n }\n };\n\n channel.on('message.read', handleReadEvent);\n return () => channel.off('message.read', handleReadEvent);\n }, []);\n\n return <Preview channel={channel} latestMessagePreview={latestMessagePreview} unread={unread} />;\n};\n\nexport type ChannelPreviewProps<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n> = Partial<Omit<ChannelPreviewPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>, 'channel'>> &\n Pick<ChannelPreviewPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>, 'channel'>;\n\nexport const ChannelPreview = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n props: ChannelPreviewProps<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const { client } = useChatContext<At, Ch, Co, Ev, Me, Re, Us>();\n const { Preview } = useChannelsContext<At, Ch, Co, Ev, Me, Re, Us>();\n\n return <ChannelPreviewWithContext {...{ client, Preview }} {...props} />;\n};\n"]}
1
+ {"version":3,"sources":["ChannelPreview.tsx"],"names":["ChannelPreviewWithContext","props","channel","client","Preview","state","messages","length","lastMessage","setLastMessage","forceUpdate","setForceUpdate","countUnread","unread","setUnread","latestMessagePreview","channelLastMessage","channelLastMessageString","id","updated_at","newUnreadCount","handleEvent","event","message","type","on","off","handleReadEvent","user","userID","prev","ChannelPreview"],"mappings":"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","sourcesContent":["import React, { useEffect, useState } from 'react';\n\nimport type { Channel, ChannelState, Event, MessageResponse } from 'stream-chat';\n\nimport { useLatestMessagePreview } from './hooks/useLatestMessagePreview';\n\nimport {\n ChannelsContextValue,\n useChannelsContext,\n} from '../../contexts/channelsContext/ChannelsContext';\nimport { ChatContextValue, useChatContext } from '../../contexts/chatContext/ChatContext';\n\nimport type {\n DefaultAttachmentType,\n DefaultChannelType,\n DefaultCommandType,\n DefaultEventType,\n DefaultMessageType,\n DefaultReactionType,\n DefaultUserType,\n UnknownType,\n} from '../../types/types';\n\nexport type ChannelPreviewPropsWithContext<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n> = Pick<ChatContextValue<At, Ch, Co, Ev, Me, Re, Us>, 'client'> &\n Pick<ChannelsContextValue<At, Ch, Co, Ev, Me, Re, Us>, 'Preview'> & {\n /**\n * The previewed channel\n */\n channel: Channel<At, Ch, Co, Ev, Me, Re, Us>;\n };\n\n/**\n * This component manages state for the ChannelPreviewMessenger UI component and receives\n * all props from the ChannelListMessenger component.\n */\nconst ChannelPreviewWithContext = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n props: ChannelPreviewPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const { channel, client, Preview } = props;\n\n const [lastMessage, setLastMessage] = useState<\n | ReturnType<ChannelState<At, Ch, Co, Ev, Me, Re, Us>['formatMessage']>\n | MessageResponse<At, Ch, Co, Me, Re, Us>\n | undefined\n >(channel.state.messages[channel.state.messages.length - 1]);\n const [forceUpdate, setForceUpdate] = useState(0);\n const [unread, setUnread] = useState(channel.countUnread());\n\n const latestMessagePreview = useLatestMessagePreview(channel, forceUpdate, lastMessage);\n\n const channelLastMessage = channel.lastMessage();\n const channelLastMessageString = `${channelLastMessage?.id}${channelLastMessage?.updated_at}`;\n\n useEffect(() => {\n if (\n channelLastMessage &&\n (channelLastMessage.id !== lastMessage?.id ||\n channelLastMessage.updated_at !== lastMessage?.updated_at)\n ) {\n setLastMessage(channelLastMessage);\n }\n\n const newUnreadCount = channel.countUnread();\n\n if (newUnreadCount !== unread) {\n setUnread(newUnreadCount);\n }\n }, [channelLastMessageString]);\n\n useEffect(() => {\n const handleEvent = (event: Event<At, Ch, Co, Ev, Me, Re, Us>) => {\n if (event.message) {\n setLastMessage(event.message);\n }\n\n if (event.type === 'message.new') {\n setUnread(channel.countUnread());\n }\n };\n\n channel.on('message.new', handleEvent);\n channel.on('message.updated', handleEvent);\n channel.on('message.deleted', handleEvent);\n\n return () => {\n channel.off('message.new', handleEvent);\n channel.off('message.updated', handleEvent);\n channel.off('message.deleted', handleEvent);\n };\n }, []);\n\n useEffect(() => {\n const handleReadEvent = (event: Event<At, Ch, Co, Ev, Me, Re, Us>) => {\n if (event.user?.id === client.userID) {\n setUnread(0);\n } else if (event.user?.id) {\n setForceUpdate((prev) => prev + 1);\n }\n };\n\n channel.on('message.read', handleReadEvent);\n return () => channel.off('message.read', handleReadEvent);\n }, []);\n\n return <Preview channel={channel} latestMessagePreview={latestMessagePreview} unread={unread} />;\n};\n\nexport type ChannelPreviewProps<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n> = Partial<Omit<ChannelPreviewPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>, 'channel'>> &\n Pick<ChannelPreviewPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>, 'channel'>;\n\nexport const ChannelPreview = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n props: ChannelPreviewProps<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const { client } = useChatContext<At, Ch, Co, Ev, Me, Re, Us>();\n const { Preview } = useChannelsContext<At, Ch, Co, Ev, Me, Re, Us>();\n\n return <ChannelPreviewWithContext {...{ client, Preview }} {...props} />;\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["ChannelPreviewMessage.tsx"],"names":["styles","StyleSheet","create","bold","fontWeight","message","flexShrink","fontSize","ChannelPreviewMessage","latestMessagePreview","theme","channelPreview","grey","colors","color","previews","map","preview","index","text"],"mappings":";;;;;;;AAAA;;AACA;;AAEA;;;;;AAeA,IAAMA,MAAM,GAAGC,wBAAWC,MAAX,CAAkB;AAC/BC,EAAAA,IAAI,EAAE;AAAEC,IAAAA,UAAU,EAAE;AAAd,GADyB;AAE/BC,EAAAA,OAAO,EAAE;AACPC,IAAAA,UAAU,EAAE,CADL;AAEPC,IAAAA,QAAQ,EAAE;AAFH;AAFsB,CAAlB,CAAf;;AAmBO,IAAMC,qBAA2D,GAAG,SAA9DA,qBAA8D,OAErE;AAAA,MADJC,oBACI,QADJA,oBACI;;AACJ,kBAKI,6BALJ;AAAA,kCACEC,KADF;AAAA,MAEsBL,OAFtB,mBAEIM,cAFJ,CAEsBN,OAFtB;AAAA,MAGcO,IAHd,mBAGIC,MAHJ,CAGcD,IAHd;;AAOA,SACE,gCAAC,iBAAD;AAAM,IAAA,aAAa,EAAE,CAArB;AAAwB,IAAA,KAAK,EAAE,CAACZ,MAAM,CAACK,OAAR,EAAiB;AAAES,MAAAA,KAAK,EAAEF;AAAT,KAAjB,EAAkCP,OAAlC,CAA/B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KACGI,oBAAoB,CAACM,QAArB,CAA8BC,GAA9B,CAAkC,UAACC,OAAD,EAAUC,KAAV;AAAA,WACjCD,OAAO,CAACE,IAAR,GACE,gCAAC,iBAAD;AACE,MAAA,GAAG,EAAKF,OAAO,CAACE,IAAb,SAAqBD,KAD1B;AAEE,MAAA,KAAK,EAAE,CAAC;AAAEJ,QAAAA,KAAK,EAAEF;AAAT,OAAD,EAAkBK,OAAO,CAACd,IAAR,GAAeH,MAAM,CAACG,IAAtB,GAA6B,EAA/C,EAAmDE,OAAnD,CAFT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,OAIGY,OAAO,CAACE,IAJX,CADF,GAOI,IAR6B;AAAA,GAAlC,CADH,CADF;AAcD,CAxBM","sourcesContent":["import React from 'react';\nimport { StyleSheet, Text } from 'react-native';\n\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\n\nimport type { LatestMessagePreview } from './hooks/useLatestMessagePreview';\n\nimport type {\n DefaultAttachmentType,\n DefaultChannelType,\n DefaultCommandType,\n DefaultEventType,\n DefaultMessageType,\n DefaultReactionType,\n DefaultUserType,\n UnknownType,\n} from '../../types/types';\n\nconst styles = StyleSheet.create({\n bold: { fontWeight: '600' },\n message: {\n flexShrink: 1,\n fontSize: 12,\n },\n});\n\nexport type ChannelPreviewMessageProps<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n> = {\n latestMessagePreview: LatestMessagePreview<At, Ch, Co, Ev, Me, Re, Us>;\n};\nexport const ChannelPreviewMessage: React.FC<ChannelPreviewMessageProps> = ({\n latestMessagePreview,\n}) => {\n const {\n theme: {\n channelPreview: { message },\n colors: { grey },\n },\n } = useTheme();\n\n return (\n <Text numberOfLines={1} style={[styles.message, { color: grey }, message]}>\n {latestMessagePreview.previews.map((preview, index) =>\n preview.text ? (\n <Text\n key={`${preview.text}_${index}`}\n style={[{ color: grey }, preview.bold ? styles.bold : {}, message]}\n >\n {preview.text}\n </Text>\n ) : null,\n )}\n </Text>\n );\n};\n"]}
1
+ {"version":3,"sources":["ChannelPreviewMessage.tsx"],"names":["styles","StyleSheet","create","bold","fontWeight","message","flexShrink","fontSize","ChannelPreviewMessage","latestMessagePreview","theme","channelPreview","grey","colors","color","previews","map","preview","index","text"],"mappings":";;;;;;;AAAA;;AACA;;AAIA;;;;;AAaA,IAAMA,MAAM,GAAGC,wBAAWC,MAAX,CAAkB;AAC/BC,EAAAA,IAAI,EAAE;AAAEC,IAAAA,UAAU,EAAE;AAAd,GADyB;AAE/BC,EAAAA,OAAO,EAAE;AACPC,IAAAA,UAAU,EAAE,CADL;AAEPC,IAAAA,QAAQ,EAAE;AAFH;AAFsB,CAAlB,CAAf;;AAmBO,IAAMC,qBAA2D,GAAG,SAA9DA,qBAA8D,OAErE;AAAA,MADJC,oBACI,QADJA,oBACI;;AACJ,kBAKI,6BALJ;AAAA,kCACEC,KADF;AAAA,MAEsBL,OAFtB,mBAEIM,cAFJ,CAEsBN,OAFtB;AAAA,MAGcO,IAHd,mBAGIC,MAHJ,CAGcD,IAHd;;AAOA,SACE,gCAAC,iBAAD;AAAM,IAAA,aAAa,EAAE,CAArB;AAAwB,IAAA,KAAK,EAAE,CAACZ,MAAM,CAACK,OAAR,EAAiB;AAAES,MAAAA,KAAK,EAAEF;AAAT,KAAjB,EAAkCP,OAAlC,CAA/B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KACGI,oBAAoB,CAACM,QAArB,CAA8BC,GAA9B,CAAkC,UAACC,OAAD,EAAUC,KAAV;AAAA,WACjCD,OAAO,CAACE,IAAR,GACE,gCAAC,iBAAD;AACE,MAAA,GAAG,EAAKF,OAAO,CAACE,IAAb,SAAqBD,KAD1B;AAEE,MAAA,KAAK,EAAE,CAAC;AAAEJ,QAAAA,KAAK,EAAEF;AAAT,OAAD,EAAkBK,OAAO,CAACd,IAAR,GAAeH,MAAM,CAACG,IAAtB,GAA6B,EAA/C,EAAmDE,OAAnD,CAFT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,OAIGY,OAAO,CAACE,IAJX,CADF,GAOI,IAR6B;AAAA,GAAlC,CADH,CADF;AAcD,CAxBM","sourcesContent":["import React from 'react';\nimport { StyleSheet, Text } from 'react-native';\n\nimport type { LatestMessagePreview } from './hooks/useLatestMessagePreview';\n\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\n\nimport type {\n DefaultAttachmentType,\n DefaultChannelType,\n DefaultCommandType,\n DefaultEventType,\n DefaultMessageType,\n DefaultReactionType,\n DefaultUserType,\n UnknownType,\n} from '../../types/types';\n\nconst styles = StyleSheet.create({\n bold: { fontWeight: '600' },\n message: {\n flexShrink: 1,\n fontSize: 12,\n },\n});\n\nexport type ChannelPreviewMessageProps<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n> = {\n latestMessagePreview: LatestMessagePreview<At, Ch, Co, Ev, Me, Re, Us>;\n};\nexport const ChannelPreviewMessage: React.FC<ChannelPreviewMessageProps> = ({\n latestMessagePreview,\n}) => {\n const {\n theme: {\n channelPreview: { message },\n colors: { grey },\n },\n } = useTheme();\n\n return (\n <Text numberOfLines={1} style={[styles.message, { color: grey }, message]}>\n {latestMessagePreview.previews.map((preview, index) =>\n preview.text ? (\n <Text\n key={`${preview.text}_${index}`}\n style={[{ color: grey }, preview.bold ? styles.bold : {}, message]}\n >\n {preview.text}\n </Text>\n ) : null,\n )}\n </Text>\n );\n};\n"]}
@@ -15,21 +15,23 @@ var _reactNativeGestureHandler = require("react-native-gesture-handler");
15
15
 
16
16
  var _ChannelAvatar = require("./ChannelAvatar");
17
17
 
18
- var _useChannelPreviewDisplayName = require("./hooks/useChannelPreviewDisplayName");
19
-
20
- var _ChannelsContext = require("../../contexts/channelsContext/ChannelsContext");
18
+ var _ChannelPreviewMessage = require("./ChannelPreviewMessage");
21
19
 
22
- var _ThemeContext = require("../../contexts/themeContext/ThemeContext");
20
+ var _ChannelPreviewMutedStatus = require("./ChannelPreviewMutedStatus");
23
21
 
24
- var _utils = require("../../utils/utils");
22
+ var _ChannelPreviewStatus = require("./ChannelPreviewStatus");
25
23
 
26
24
  var _ChannelPreviewTitle = require("./ChannelPreviewTitle");
27
25
 
28
- var _ChannelPreviewMessage = require("./ChannelPreviewMessage");
26
+ var _ChannelPreviewUnreadCount = require("./ChannelPreviewUnreadCount");
29
27
 
30
- var _ChannelPreviewStatus = require("./ChannelPreviewStatus");
28
+ var _useChannelPreviewDisplayName = require("./hooks/useChannelPreviewDisplayName");
31
29
 
32
- var _ChannelPreviewUnreadCount = require("./ChannelPreviewUnreadCount");
30
+ var _ChannelsContext = require("../../contexts/channelsContext/ChannelsContext");
31
+
32
+ var _ThemeContext = require("../../contexts/themeContext/ThemeContext");
33
+
34
+ var _utils = require("../../utils/utils");
33
35
 
34
36
  var _this = this,
35
37
  _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/ChannelPreview/ChannelPreviewMessenger.tsx";
@@ -52,6 +54,10 @@ var styles = _reactNative.StyleSheet.create({
52
54
  justifyContent: 'space-between',
53
55
  paddingLeft: 8
54
56
  },
57
+ statusContainer: {
58
+ display: 'flex',
59
+ flexDirection: 'row'
60
+ },
55
61
  title: {
56
62
  fontSize: 14,
57
63
  fontWeight: '700'
@@ -76,6 +82,8 @@ var ChannelPreviewMessengerWithContext = function ChannelPreviewMessengerWithCon
76
82
  PreviewTitle = _props$PreviewTitle === void 0 ? _ChannelPreviewTitle.ChannelPreviewTitle : _props$PreviewTitle,
77
83
  _props$PreviewUnreadC = props.PreviewUnreadCount,
78
84
  PreviewUnreadCount = _props$PreviewUnreadC === void 0 ? _ChannelPreviewUnreadCount.ChannelPreviewUnreadCount : _props$PreviewUnreadC,
85
+ _props$PreviewMutedSt = props.PreviewMutedStatus,
86
+ PreviewMutedStatus = _props$PreviewMutedSt === void 0 ? _ChannelPreviewMutedStatus.ChannelPreviewMutedStatus : _props$PreviewMutedSt,
79
87
  unread = props.unread;
80
88
 
81
89
  var _useTheme = (0, _ThemeContext.useTheme)(),
@@ -90,6 +98,7 @@ var ChannelPreviewMessengerWithContext = function ChannelPreviewMessengerWithCon
90
98
  white_snow = _useTheme$theme$color.white_snow;
91
99
 
92
100
  var displayName = (0, _useChannelPreviewDisplayName.useChannelPreviewDisplayName)(channel, Math.floor(maxWidth / ((title.fontSize || styles.title.fontSize) / 2)));
101
+ var isChannelMuted = channel.muteStatus().muted;
93
102
  return _react["default"].createElement(_reactNativeGestureHandler.TouchableOpacity, {
94
103
  onPress: function onPress() {
95
104
  if (onSelect) {
@@ -104,7 +113,7 @@ var ChannelPreviewMessengerWithContext = function ChannelPreviewMessengerWithCon
104
113
  __self: _this,
105
114
  __source: {
106
115
  fileName: _jsxFileName,
107
- lineNumber: 145,
116
+ lineNumber: 153,
108
117
  columnNumber: 5
109
118
  }
110
119
  }, _react["default"].createElement(PreviewAvatar, {
@@ -112,7 +121,7 @@ var ChannelPreviewMessengerWithContext = function ChannelPreviewMessengerWithCon
112
121
  __self: _this,
113
122
  __source: {
114
123
  fileName: _jsxFileName,
115
- lineNumber: 158,
124
+ lineNumber: 166,
116
125
  columnNumber: 7
117
126
  }
118
127
  }), _react["default"].createElement(_reactNative.View, {
@@ -121,7 +130,7 @@ var ChannelPreviewMessengerWithContext = function ChannelPreviewMessengerWithCon
121
130
  __self: _this,
122
131
  __source: {
123
132
  fileName: _jsxFileName,
124
- lineNumber: 159,
133
+ lineNumber: 167,
125
134
  columnNumber: 7
126
135
  }
127
136
  }, _react["default"].createElement(_reactNative.View, {
@@ -129,7 +138,7 @@ var ChannelPreviewMessengerWithContext = function ChannelPreviewMessengerWithCon
129
138
  __self: _this,
130
139
  __source: {
131
140
  fileName: _jsxFileName,
132
- lineNumber: 163,
141
+ lineNumber: 171,
133
142
  columnNumber: 9
134
143
  }
135
144
  }, _react["default"].createElement(PreviewTitle, {
@@ -138,9 +147,26 @@ var ChannelPreviewMessengerWithContext = function ChannelPreviewMessengerWithCon
138
147
  __self: _this,
139
148
  __source: {
140
149
  fileName: _jsxFileName,
141
- lineNumber: 164,
150
+ lineNumber: 172,
151
+ columnNumber: 11
152
+ }
153
+ }), _react["default"].createElement(_reactNative.View, {
154
+ style: [styles.statusContainer, row],
155
+ __self: _this,
156
+ __source: {
157
+ fileName: _jsxFileName,
158
+ lineNumber: 173,
142
159
  columnNumber: 11
143
160
  }
161
+ }, _react["default"].createElement(PreviewMutedStatus, {
162
+ channel: channel,
163
+ muted: isChannelMuted,
164
+ __self: _this,
165
+ __source: {
166
+ fileName: _jsxFileName,
167
+ lineNumber: 174,
168
+ columnNumber: 13
169
+ }
144
170
  }), _react["default"].createElement(PreviewUnreadCount, {
145
171
  channel: channel,
146
172
  maxUnreadCount: maxUnreadCount,
@@ -148,15 +174,15 @@ var ChannelPreviewMessengerWithContext = function ChannelPreviewMessengerWithCon
148
174
  __self: _this,
149
175
  __source: {
150
176
  fileName: _jsxFileName,
151
- lineNumber: 165,
152
- columnNumber: 11
177
+ lineNumber: 175,
178
+ columnNumber: 13
153
179
  }
154
- })), _react["default"].createElement(_reactNative.View, {
180
+ }))), _react["default"].createElement(_reactNative.View, {
155
181
  style: [styles.row, row],
156
182
  __self: _this,
157
183
  __source: {
158
184
  fileName: _jsxFileName,
159
- lineNumber: 167,
185
+ lineNumber: 178,
160
186
  columnNumber: 9
161
187
  }
162
188
  }, _react["default"].createElement(PreviewMessage, {
@@ -164,7 +190,7 @@ var ChannelPreviewMessengerWithContext = function ChannelPreviewMessengerWithCon
164
190
  __self: _this,
165
191
  __source: {
166
192
  fileName: _jsxFileName,
167
- lineNumber: 168,
193
+ lineNumber: 179,
168
194
  columnNumber: 11
169
195
  }
170
196
  }), _react["default"].createElement(PreviewStatus, {
@@ -174,7 +200,7 @@ var ChannelPreviewMessengerWithContext = function ChannelPreviewMessengerWithCon
174
200
  __self: _this,
175
201
  __source: {
176
202
  fileName: _jsxFileName,
177
- lineNumber: 169,
203
+ lineNumber: 180,
178
204
  columnNumber: 11
179
205
  }
180
206
  }))));
@@ -188,6 +214,7 @@ var ChannelPreviewMessenger = function ChannelPreviewMessenger(props) {
188
214
  onSelect = _useChannelsContext.onSelect,
189
215
  PreviewAvatar = _useChannelsContext.PreviewAvatar,
190
216
  PreviewMessage = _useChannelsContext.PreviewMessage,
217
+ PreviewMutedStatus = _useChannelsContext.PreviewMutedStatus,
191
218
  PreviewStatus = _useChannelsContext.PreviewStatus,
192
219
  PreviewTitle = _useChannelsContext.PreviewTitle,
193
220
  PreviewUnreadCount = _useChannelsContext.PreviewUnreadCount;
@@ -197,6 +224,7 @@ var ChannelPreviewMessenger = function ChannelPreviewMessenger(props) {
197
224
  onSelect: onSelect,
198
225
  PreviewAvatar: PreviewAvatar,
199
226
  PreviewMessage: PreviewMessage,
227
+ PreviewMutedStatus: PreviewMutedStatus,
200
228
  PreviewStatus: PreviewStatus,
201
229
  PreviewTitle: PreviewTitle,
202
230
  PreviewUnreadCount: PreviewUnreadCount
@@ -204,7 +232,7 @@ var ChannelPreviewMessenger = function ChannelPreviewMessenger(props) {
204
232
  __self: _this,
205
233
  __source: {
206
234
  fileName: _jsxFileName,
207
- lineNumber: 228,
235
+ lineNumber: 240,
208
236
  columnNumber: 5
209
237
  }
210
238
  }));
@@ -1 +1 @@
1
- {"version":3,"sources":["ChannelPreviewMessenger.tsx"],"names":["styles","StyleSheet","create","container","borderBottomWidth","flex","flexDirection","paddingHorizontal","paddingVertical","contentContainer","row","alignItems","justifyContent","paddingLeft","title","fontSize","fontWeight","maxWidth","ChannelPreviewMessengerWithContext","props","channel","formatLatestMessageDate","latestMessagePreview","maxUnreadCount","onSelect","PreviewAvatar","ChannelAvatar","PreviewMessage","ChannelPreviewMessage","PreviewStatus","ChannelPreviewStatus","PreviewTitle","ChannelPreviewTitle","PreviewUnreadCount","ChannelPreviewUnreadCount","unread","theme","channelPreview","colors","border","white_snow","displayName","Math","floor","backgroundColor","borderBottomColor","id","MemoizedChannelPreviewMessengerWithContext","React","memo","ChannelPreviewMessenger"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { StyleSheet, View } from 'react-native';\nimport { TouchableOpacity } from 'react-native-gesture-handler';\n\nimport { ChannelAvatar } from './ChannelAvatar';\nimport { useChannelPreviewDisplayName } from './hooks/useChannelPreviewDisplayName';\n\nimport {\n ChannelsContextValue,\n useChannelsContext,\n} from '../../contexts/channelsContext/ChannelsContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { vw } from '../../utils/utils';\n\nimport type { ChannelPreviewProps } from './ChannelPreview';\nimport type { LatestMessagePreview } from './hooks/useLatestMessagePreview';\n\nimport type {\n DefaultAttachmentType,\n DefaultChannelType,\n DefaultCommandType,\n DefaultEventType,\n DefaultMessageType,\n DefaultReactionType,\n DefaultUserType,\n UnknownType,\n} from '../../types/types';\nimport { ChannelPreviewTitle } from './ChannelPreviewTitle';\nimport { ChannelPreviewMessage } from './ChannelPreviewMessage';\nimport { ChannelPreviewStatus } from './ChannelPreviewStatus';\nimport { ChannelPreviewUnreadCount } from './ChannelPreviewUnreadCount';\n\nconst styles = StyleSheet.create({\n container: {\n borderBottomWidth: 1,\n flex: 1,\n flexDirection: 'row',\n paddingHorizontal: 8,\n paddingVertical: 12,\n },\n contentContainer: { flex: 1 },\n row: {\n alignItems: 'center',\n flex: 1,\n flexDirection: 'row',\n justifyContent: 'space-between',\n paddingLeft: 8,\n },\n title: { fontSize: 14, fontWeight: '700' },\n});\n\nconst maxWidth = vw(80) - 16 - 40;\n\nexport type ChannelPreviewMessengerPropsWithContext<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n> = Pick<ChannelPreviewProps<At, Ch, Co, Ev, Me, Re, Us>, 'channel'> &\n Pick<\n ChannelsContextValue<At, Ch, Co, Ev, Me, Re, Us>,\n | 'maxUnreadCount'\n | 'onSelect'\n | 'PreviewAvatar'\n | 'PreviewMessage'\n | 'PreviewStatus'\n | 'PreviewTitle'\n | 'PreviewUnreadCount'\n > & {\n /**\n * Latest message on a channel, formatted for preview\n *\n * e.g.,\n *\n * ```json\n * {\n * created_at: '' ,\n * messageObject: { ... },\n * previews: {\n * bold: true,\n * text: 'This is the message preview text'\n * },\n * status: 0 | 1 | 2 // read states of latest message.\n * }\n * ```\n *\n * @overrideType object\n */\n latestMessagePreview: LatestMessagePreview<At, Ch, Co, Ev, Me, Re, Us>;\n /**\n * Formatter function for date of latest message.\n * @param date Message date\n * @returns Formatted date string\n *\n * By default today's date is shown in 'HH:mm A' format and other dates\n * are displayed in 'DD/MM/YY' format. props.latestMessage.created_at is the\n * default formatted date. This default logic is part of ChannelPreview component.\n */\n formatLatestMessageDate?: (date: Date) => string;\n /** Number of unread messages on the channel */\n unread?: number;\n };\n\nconst ChannelPreviewMessengerWithContext = <\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: ChannelPreviewMessengerPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const {\n channel,\n formatLatestMessageDate,\n latestMessagePreview,\n maxUnreadCount,\n onSelect,\n PreviewAvatar = ChannelAvatar,\n PreviewMessage = ChannelPreviewMessage,\n PreviewStatus = ChannelPreviewStatus,\n PreviewTitle = ChannelPreviewTitle,\n PreviewUnreadCount = ChannelPreviewUnreadCount,\n unread,\n } = props;\n\n const {\n theme: {\n channelPreview: { container, contentContainer, row, title },\n colors: { border, white_snow },\n },\n } = useTheme();\n\n const displayName = useChannelPreviewDisplayName(\n channel,\n Math.floor(maxWidth / ((title.fontSize || styles.title.fontSize) / 2)),\n );\n\n return (\n <TouchableOpacity\n onPress={() => {\n if (onSelect) {\n onSelect(channel);\n }\n }}\n style={[\n styles.container,\n { backgroundColor: white_snow, borderBottomColor: border },\n container,\n ]}\n testID='channel-preview-button'\n >\n <PreviewAvatar channel={channel} />\n <View\n style={[styles.contentContainer, contentContainer]}\n testID={`channel-preview-content-${channel.id}`}\n >\n <View style={[styles.row, row]}>\n <PreviewTitle channel={channel} displayName={displayName} />\n <PreviewUnreadCount channel={channel} maxUnreadCount={maxUnreadCount} unread={unread} />\n </View>\n <View style={[styles.row, row]}>\n <PreviewMessage latestMessagePreview={latestMessagePreview} />\n <PreviewStatus\n channel={channel}\n formatLatestMessageDate={formatLatestMessageDate}\n latestMessagePreview={latestMessagePreview}\n />\n </View>\n </View>\n </TouchableOpacity>\n );\n};\n\nexport type ChannelPreviewMessengerProps<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n> = Partial<\n Omit<\n ChannelPreviewMessengerPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n 'channel' | 'latestMessagePreview'\n >\n> &\n Pick<\n ChannelPreviewMessengerPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n 'channel' | 'latestMessagePreview'\n >;\n\nconst MemoizedChannelPreviewMessengerWithContext = React.memo(\n ChannelPreviewMessengerWithContext,\n) as typeof ChannelPreviewMessengerWithContext;\n\n/**\n * This UI component displays an individual preview item for each channel in a list. It also receives all props\n * from the ChannelPreview component.\n */\nexport const ChannelPreviewMessenger = <\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: ChannelPreviewMessengerProps<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const {\n maxUnreadCount,\n onSelect,\n PreviewAvatar,\n PreviewMessage,\n PreviewStatus,\n PreviewTitle,\n PreviewUnreadCount,\n } = useChannelsContext<At, Ch, Co, Ev, Me, Re, Us>();\n return (\n <MemoizedChannelPreviewMessengerWithContext\n {...{\n maxUnreadCount,\n onSelect,\n PreviewAvatar,\n PreviewMessage,\n PreviewStatus,\n PreviewTitle,\n PreviewUnreadCount,\n }}\n {...props}\n />\n );\n};\n\nChannelPreviewMessenger.displayName = 'ChannelPreviewMessenger{channelPreview}';\n"]}
1
+ {"version":3,"sources":["ChannelPreviewMessenger.tsx"],"names":["styles","StyleSheet","create","container","borderBottomWidth","flex","flexDirection","paddingHorizontal","paddingVertical","contentContainer","row","alignItems","justifyContent","paddingLeft","statusContainer","display","title","fontSize","fontWeight","maxWidth","ChannelPreviewMessengerWithContext","props","channel","formatLatestMessageDate","latestMessagePreview","maxUnreadCount","onSelect","PreviewAvatar","ChannelAvatar","PreviewMessage","ChannelPreviewMessage","PreviewStatus","ChannelPreviewStatus","PreviewTitle","ChannelPreviewTitle","PreviewUnreadCount","ChannelPreviewUnreadCount","PreviewMutedStatus","ChannelPreviewMutedStatus","unread","theme","channelPreview","colors","border","white_snow","displayName","Math","floor","isChannelMuted","muteStatus","muted","backgroundColor","borderBottomColor","id","MemoizedChannelPreviewMessengerWithContext","React","memo","ChannelPreviewMessenger"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { StyleSheet, View } from 'react-native';\nimport { TouchableOpacity } from 'react-native-gesture-handler';\n\nimport { ChannelAvatar } from './ChannelAvatar';\nimport type { ChannelPreviewProps } from './ChannelPreview';\nimport { ChannelPreviewMessage } from './ChannelPreviewMessage';\nimport { ChannelPreviewMutedStatus } from './ChannelPreviewMutedStatus';\nimport { ChannelPreviewStatus } from './ChannelPreviewStatus';\nimport { ChannelPreviewTitle } from './ChannelPreviewTitle';\nimport { ChannelPreviewUnreadCount } from './ChannelPreviewUnreadCount';\nimport { useChannelPreviewDisplayName } from './hooks/useChannelPreviewDisplayName';\n\nimport type { LatestMessagePreview } from './hooks/useLatestMessagePreview';\n\nimport {\n ChannelsContextValue,\n useChannelsContext,\n} from '../../contexts/channelsContext/ChannelsContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport type {\n DefaultAttachmentType,\n DefaultChannelType,\n DefaultCommandType,\n DefaultEventType,\n DefaultMessageType,\n DefaultReactionType,\n DefaultUserType,\n UnknownType,\n} from '../../types/types';\nimport { vw } from '../../utils/utils';\n\nconst styles = StyleSheet.create({\n container: {\n borderBottomWidth: 1,\n flex: 1,\n flexDirection: 'row',\n paddingHorizontal: 8,\n paddingVertical: 12,\n },\n contentContainer: { flex: 1 },\n row: {\n alignItems: 'center',\n flex: 1,\n flexDirection: 'row',\n justifyContent: 'space-between',\n paddingLeft: 8,\n },\n statusContainer: {\n display: 'flex',\n flexDirection: 'row',\n },\n title: { fontSize: 14, fontWeight: '700' },\n});\n\nconst maxWidth = vw(80) - 16 - 40;\n\nexport type ChannelPreviewMessengerPropsWithContext<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n> = Pick<ChannelPreviewProps<At, Ch, Co, Ev, Me, Re, Us>, 'channel'> &\n Pick<\n ChannelsContextValue<At, Ch, Co, Ev, Me, Re, Us>,\n | 'maxUnreadCount'\n | 'onSelect'\n | 'PreviewAvatar'\n | 'PreviewMessage'\n | 'PreviewMutedStatus'\n | 'PreviewStatus'\n | 'PreviewTitle'\n | 'PreviewUnreadCount'\n > & {\n /**\n * Latest message on a channel, formatted for preview\n *\n * e.g.,\n *\n * ```json\n * {\n * created_at: '' ,\n * messageObject: { ... },\n * previews: {\n * bold: true,\n * text: 'This is the message preview text'\n * },\n * status: 0 | 1 | 2 // read states of latest message.\n * }\n * ```\n *\n * @overrideType object\n */\n latestMessagePreview: LatestMessagePreview<At, Ch, Co, Ev, Me, Re, Us>;\n /**\n * Formatter function for date of latest message.\n * @param date Message date\n * @returns Formatted date string\n *\n * By default today's date is shown in 'HH:mm A' format and other dates\n * are displayed in 'DD/MM/YY' format. props.latestMessage.created_at is the\n * default formatted date. This default logic is part of ChannelPreview component.\n */\n formatLatestMessageDate?: (date: Date) => string;\n /** Number of unread messages on the channel */\n unread?: number;\n };\n\nconst ChannelPreviewMessengerWithContext = <\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: ChannelPreviewMessengerPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const {\n channel,\n formatLatestMessageDate,\n latestMessagePreview,\n maxUnreadCount,\n onSelect,\n PreviewAvatar = ChannelAvatar,\n PreviewMessage = ChannelPreviewMessage,\n PreviewStatus = ChannelPreviewStatus,\n PreviewTitle = ChannelPreviewTitle,\n PreviewUnreadCount = ChannelPreviewUnreadCount,\n PreviewMutedStatus = ChannelPreviewMutedStatus,\n unread,\n } = props;\n\n const {\n theme: {\n channelPreview: { container, contentContainer, row, title },\n colors: { border, white_snow },\n },\n } = useTheme();\n\n const displayName = useChannelPreviewDisplayName(\n channel,\n Math.floor(maxWidth / ((title.fontSize || styles.title.fontSize) / 2)),\n );\n\n const isChannelMuted = channel.muteStatus().muted;\n\n return (\n <TouchableOpacity\n onPress={() => {\n if (onSelect) {\n onSelect(channel);\n }\n }}\n style={[\n styles.container,\n { backgroundColor: white_snow, borderBottomColor: border },\n container,\n ]}\n testID='channel-preview-button'\n >\n <PreviewAvatar channel={channel} />\n <View\n style={[styles.contentContainer, contentContainer]}\n testID={`channel-preview-content-${channel.id}`}\n >\n <View style={[styles.row, row]}>\n <PreviewTitle channel={channel} displayName={displayName} />\n <View style={[styles.statusContainer, row]}>\n <PreviewMutedStatus channel={channel} muted={isChannelMuted} />\n <PreviewUnreadCount channel={channel} maxUnreadCount={maxUnreadCount} unread={unread} />\n </View>\n </View>\n <View style={[styles.row, row]}>\n <PreviewMessage latestMessagePreview={latestMessagePreview} />\n <PreviewStatus\n channel={channel}\n formatLatestMessageDate={formatLatestMessageDate}\n latestMessagePreview={latestMessagePreview}\n />\n </View>\n </View>\n </TouchableOpacity>\n );\n};\n\nexport type ChannelPreviewMessengerProps<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n> = Partial<\n Omit<\n ChannelPreviewMessengerPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n 'channel' | 'latestMessagePreview'\n >\n> &\n Pick<\n ChannelPreviewMessengerPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n 'channel' | 'latestMessagePreview'\n >;\n\nconst MemoizedChannelPreviewMessengerWithContext = React.memo(\n ChannelPreviewMessengerWithContext,\n) as typeof ChannelPreviewMessengerWithContext;\n\n/**\n * This UI component displays an individual preview item for each channel in a list. It also receives all props\n * from the ChannelPreview component.\n */\nexport const ChannelPreviewMessenger = <\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: ChannelPreviewMessengerProps<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const {\n maxUnreadCount,\n onSelect,\n PreviewAvatar,\n PreviewMessage,\n PreviewMutedStatus,\n PreviewStatus,\n PreviewTitle,\n PreviewUnreadCount,\n } = useChannelsContext<At, Ch, Co, Ev, Me, Re, Us>();\n return (\n <MemoizedChannelPreviewMessengerWithContext\n {...{\n maxUnreadCount,\n onSelect,\n PreviewAvatar,\n PreviewMessage,\n PreviewMutedStatus,\n PreviewStatus,\n PreviewTitle,\n PreviewUnreadCount,\n }}\n {...props}\n />\n );\n};\n\nChannelPreviewMessenger.displayName = 'ChannelPreviewMessenger{channelPreview}';\n"]}
@@ -0,0 +1,51 @@
1
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ChannelPreviewMutedStatus = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _reactNative = require("react-native");
11
+
12
+ var _ThemeContext = require("../../contexts/themeContext/ThemeContext");
13
+
14
+ var _icons = require("../../icons");
15
+
16
+ var _this = this,
17
+ _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/ChannelPreview/ChannelPreviewMutedStatus.tsx";
18
+
19
+ var styles = _reactNative.StyleSheet.create({
20
+ iconStyle: {
21
+ marginRight: 8
22
+ }
23
+ });
24
+
25
+ var ChannelPreviewMutedStatus = function ChannelPreviewMutedStatus(props) {
26
+ var muted = props.muted;
27
+
28
+ var _useTheme = (0, _ThemeContext.useTheme)(),
29
+ _useTheme$theme = _useTheme.theme,
30
+ _useTheme$theme$chann = _useTheme$theme.channelPreview.mutedStatus,
31
+ height = _useTheme$theme$chann.height,
32
+ iconStyle = _useTheme$theme$chann.iconStyle,
33
+ width = _useTheme$theme$chann.width,
34
+ grey_dark = _useTheme$theme.colors.grey_dark;
35
+
36
+ return muted ? _react["default"].createElement(_icons.Mute, {
37
+ height: height,
38
+ pathFill: grey_dark,
39
+ style: [styles.iconStyle, iconStyle],
40
+ width: width,
41
+ __self: _this,
42
+ __source: {
43
+ fileName: _jsxFileName,
44
+ lineNumber: 64,
45
+ columnNumber: 5
46
+ }
47
+ }) : null;
48
+ };
49
+
50
+ exports.ChannelPreviewMutedStatus = ChannelPreviewMutedStatus;
51
+ //# sourceMappingURL=ChannelPreviewMutedStatus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["ChannelPreviewMutedStatus.tsx"],"names":["styles","StyleSheet","create","iconStyle","marginRight","ChannelPreviewMutedStatus","props","muted","theme","channelPreview","mutedStatus","height","width","grey_dark","colors"],"mappings":";;;;;;;AAAA;;AAEA;;AAIA;;AACA;;;;;AAYA,IAAMA,MAAM,GAAGC,wBAAWC,MAAX,CAAkB;AAC/BC,EAAAA,SAAS,EAAE;AACTC,IAAAA,WAAW,EAAE;AADJ;AADoB,CAAlB,CAAf;;AAqBO,IAAMC,yBAAyB,GAAG,SAA5BA,yBAA4B,CASvCC,KATuC,EAUpC;AACH,MAAQC,KAAR,GAAkBD,KAAlB,CAAQC,KAAR;;AAEA,kBAOI,6BAPJ;AAAA,kCACEC,KADF;AAAA,8CAEIC,cAFJ,CAGMC,WAHN;AAAA,MAGqBC,MAHrB,yBAGqBA,MAHrB;AAAA,MAG6BR,SAH7B,yBAG6BA,SAH7B;AAAA,MAGwCS,KAHxC,yBAGwCA,KAHxC;AAAA,MAKcC,SALd,mBAKIC,MALJ,CAKcD,SALd;;AASA,SAAON,KAAK,GACV,gCAAC,WAAD;AACE,IAAA,MAAM,EAAEI,MADV;AAEE,IAAA,QAAQ,EAAEE,SAFZ;AAGE,IAAA,KAAK,EAAE,CAACb,MAAM,CAACG,SAAR,EAAmBA,SAAnB,CAHT;AAIE,IAAA,KAAK,EAAES,KAJT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IADU,GAOR,IAPJ;AAQD,CA9BM","sourcesContent":["import React from 'react';\n\nimport { StyleSheet } from 'react-native';\n\nimport type { ChannelPreviewProps } from './ChannelPreview';\n\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { Mute } from '../../icons';\nimport type {\n DefaultAttachmentType,\n DefaultChannelType,\n DefaultCommandType,\n DefaultEventType,\n DefaultMessageType,\n DefaultReactionType,\n DefaultUserType,\n UnknownType,\n} from '../../types/types';\n\nconst styles = StyleSheet.create({\n iconStyle: {\n marginRight: 8,\n },\n});\n\nexport type ChannelPreviewMutedStatusProps<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n> = Pick<ChannelPreviewProps<At, Ch, Co, Ev, Me, Re, Us>, 'channel'> & {\n muted: boolean;\n};\n\n/**\n * This UI component displays an avatar for a particular channel.\n */\nexport const ChannelPreviewMutedStatus = <\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: ChannelPreviewMutedStatusProps<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const { muted } = props;\n\n const {\n theme: {\n channelPreview: {\n mutedStatus: { height, iconStyle, width },\n },\n colors: { grey_dark },\n },\n } = useTheme();\n\n return muted ? (\n <Mute\n height={height}\n pathFill={grey_dark}\n style={[styles.iconStyle, iconStyle]}\n width={width}\n />\n ) : null;\n};\n"]}
@@ -53,7 +53,7 @@ var ChannelPreviewStatus = function ChannelPreviewStatus(props) {
53
53
  __self: _this,
54
54
  __source: {
55
55
  fileName: _jsxFileName,
56
- lineNumber: 70,
56
+ lineNumber: 71,
57
57
  columnNumber: 5
58
58
  }
59
59
  }, status === 2 ? _react["default"].createElement(_icons.CheckAll, (0, _extends2["default"])({
@@ -62,7 +62,7 @@ var ChannelPreviewStatus = function ChannelPreviewStatus(props) {
62
62
  __self: _this,
63
63
  __source: {
64
64
  fileName: _jsxFileName,
65
- lineNumber: 72,
65
+ lineNumber: 73,
66
66
  columnNumber: 9
67
67
  }
68
68
  })) : status === 1 ? _react["default"].createElement(_icons.Check, (0, _extends2["default"])({
@@ -71,7 +71,7 @@ var ChannelPreviewStatus = function ChannelPreviewStatus(props) {
71
71
  __self: _this,
72
72
  __source: {
73
73
  fileName: _jsxFileName,
74
- lineNumber: 74,
74
+ lineNumber: 75,
75
75
  columnNumber: 9
76
76
  }
77
77
  })) : null, _react["default"].createElement(_reactNative.Text, {
@@ -81,7 +81,7 @@ var ChannelPreviewStatus = function ChannelPreviewStatus(props) {
81
81
  __self: _this,
82
82
  __source: {
83
83
  fileName: _jsxFileName,
84
- lineNumber: 76,
84
+ lineNumber: 77,
85
85
  columnNumber: 7
86
86
  }
87
87
  }, formatLatestMessageDate && latestMessageDate ? formatLatestMessageDate(latestMessageDate) : latestMessagePreview.created_at));
@@ -1 +1 @@
1
- {"version":3,"sources":["ChannelPreviewStatus.tsx"],"names":["styles","StyleSheet","create","date","fontSize","marginLeft","textAlign","flexRow","flexDirection","ChannelPreviewStatus","props","formatLatestMessageDate","latestMessagePreview","theme","channelPreview","checkAllIcon","checkIcon","colors","accent_blue","grey","created_at","messageObject","latestMessageDate","Date","status","color"],"mappings":";;;;;;;;;AAAA;;AACA;;AAEA;;AACA;;;;;AAgBA,IAAMA,MAAM,GAAGC,wBAAWC,MAAX,CAAkB;AAC/BC,EAAAA,IAAI,EAAE;AACJC,IAAAA,QAAQ,EAAE,EADN;AAEJC,IAAAA,UAAU,EAAE,CAFR;AAGJC,IAAAA,SAAS,EAAE;AAHP,GADyB;AAM/BC,EAAAA,OAAO,EAAE;AACPC,IAAAA,aAAa,EAAE;AADR;AANsB,CAAlB,CAAf;;AAyBO,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAuB,CASlCC,KATkC,EAU/B;AAAA;;AACH,MAAQC,uBAAR,GAA0DD,KAA1D,CAAQC,uBAAR;AAAA,MAAiCC,oBAAjC,GAA0DF,KAA1D,CAAiCE,oBAAjC;;AACA,kBAKI,6BALJ;AAAA,kCACEC,KADF;AAAA,8CAEIC,cAFJ;AAAA,MAEsBC,YAFtB,yBAEsBA,YAFtB;AAAA,MAEoCC,SAFpC,yBAEoCA,SAFpC;AAAA,MAE+Cb,IAF/C,yBAE+CA,IAF/C;AAAA,8CAGIc,MAHJ;AAAA,MAGcC,WAHd,yBAGcA,WAHd;AAAA,MAG2BC,IAH3B,yBAG2BA,IAH3B;;AAOA,MAAMC,UAAU,4BAAGR,oBAAoB,CAACS,aAAxB,qBAAG,sBAAoCD,UAAvD;AACA,MAAME,iBAAiB,GAAGF,UAAU,GAAG,IAAIG,IAAJ,CAASH,UAAT,CAAH,GAA0B,IAAIG,IAAJ,EAA9D;AACA,MAAMC,MAAM,GAAGZ,oBAAoB,CAACY,MAApC;AAEA,SACE,gCAAC,iBAAD;AAAM,IAAA,KAAK,EAAExB,MAAM,CAACO,OAApB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KACGiB,MAAM,KAAK,CAAX,GACC,gCAAC,eAAD;AAAU,IAAA,QAAQ,EAAEN;AAApB,KAAqCH,YAArC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KADD,GAEGS,MAAM,KAAK,CAAX,GACF,gCAAC,YAAD;AAAO,IAAA,QAAQ,EAAEL;AAAjB,KAA2BH,SAA3B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KADE,GAEA,IALN,EAME,gCAAC,iBAAD;AAAM,IAAA,KAAK,EAAE,CAAChB,MAAM,CAACG,IAAR,EAAc;AAAEsB,MAAAA,KAAK,EAAEN;AAAT,KAAd,EAA+BhB,IAA/B,CAAb;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KACGQ,uBAAuB,IAAIW,iBAA3B,GACGX,uBAAuB,CAACW,iBAAD,CAD1B,GAEGV,oBAAoB,CAACQ,UAH3B,CANF,CADF;AAcD,CArCM","sourcesContent":["import React from 'react';\nimport { StyleSheet, Text, View } from 'react-native';\n\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { Check, CheckAll } from '../../icons';\n\nimport type { ChannelPreviewProps } from './ChannelPreview';\nimport type { ChannelPreviewMessengerPropsWithContext } from './ChannelPreviewMessenger';\n\nimport type {\n DefaultAttachmentType,\n DefaultChannelType,\n DefaultCommandType,\n DefaultEventType,\n DefaultMessageType,\n DefaultReactionType,\n DefaultUserType,\n UnknownType,\n} from '../../types/types';\n\nconst styles = StyleSheet.create({\n date: {\n fontSize: 12,\n marginLeft: 2,\n textAlign: 'right',\n },\n flexRow: {\n flexDirection: 'row',\n },\n});\n\nexport type ChannelPreviewStatusProps<\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<\n ChannelPreviewMessengerPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n 'latestMessagePreview' | 'formatLatestMessageDate'\n> &\n Pick<ChannelPreviewProps<At, Ch, Co, Ev, Me, Re, Us>, 'channel'>;\n\nexport const ChannelPreviewStatus = <\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: ChannelPreviewStatusProps<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const { formatLatestMessageDate, latestMessagePreview } = props;\n const {\n theme: {\n channelPreview: { checkAllIcon, checkIcon, date },\n colors: { accent_blue, grey },\n },\n } = useTheme();\n\n const created_at = latestMessagePreview.messageObject?.created_at;\n const latestMessageDate = created_at ? new Date(created_at) : new Date();\n const status = latestMessagePreview.status;\n\n return (\n <View style={styles.flexRow}>\n {status === 2 ? (\n <CheckAll pathFill={accent_blue} {...checkAllIcon} />\n ) : status === 1 ? (\n <Check pathFill={grey} {...checkIcon} />\n ) : null}\n <Text style={[styles.date, { color: grey }, date]}>\n {formatLatestMessageDate && latestMessageDate\n ? formatLatestMessageDate(latestMessageDate)\n : latestMessagePreview.created_at}\n </Text>\n </View>\n );\n};\n"]}
1
+ {"version":3,"sources":["ChannelPreviewStatus.tsx"],"names":["styles","StyleSheet","create","date","fontSize","marginLeft","textAlign","flexRow","flexDirection","ChannelPreviewStatus","props","formatLatestMessageDate","latestMessagePreview","theme","channelPreview","checkAllIcon","checkIcon","colors","accent_blue","grey","created_at","messageObject","latestMessageDate","Date","status","color"],"mappings":";;;;;;;;;AAAA;;AACA;;AAMA;;AACA;;;;;AAaA,IAAMA,MAAM,GAAGC,wBAAWC,MAAX,CAAkB;AAC/BC,EAAAA,IAAI,EAAE;AACJC,IAAAA,QAAQ,EAAE,EADN;AAEJC,IAAAA,UAAU,EAAE,CAFR;AAGJC,IAAAA,SAAS,EAAE;AAHP,GADyB;AAM/BC,EAAAA,OAAO,EAAE;AACPC,IAAAA,aAAa,EAAE;AADR;AANsB,CAAlB,CAAf;;AAyBO,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAuB,CASlCC,KATkC,EAU/B;AAAA;;AACH,MAAQC,uBAAR,GAA0DD,KAA1D,CAAQC,uBAAR;AAAA,MAAiCC,oBAAjC,GAA0DF,KAA1D,CAAiCE,oBAAjC;;AACA,kBAKI,6BALJ;AAAA,kCACEC,KADF;AAAA,8CAEIC,cAFJ;AAAA,MAEsBC,YAFtB,yBAEsBA,YAFtB;AAAA,MAEoCC,SAFpC,yBAEoCA,SAFpC;AAAA,MAE+Cb,IAF/C,yBAE+CA,IAF/C;AAAA,8CAGIc,MAHJ;AAAA,MAGcC,WAHd,yBAGcA,WAHd;AAAA,MAG2BC,IAH3B,yBAG2BA,IAH3B;;AAOA,MAAMC,UAAU,4BAAGR,oBAAoB,CAACS,aAAxB,qBAAG,sBAAoCD,UAAvD;AACA,MAAME,iBAAiB,GAAGF,UAAU,GAAG,IAAIG,IAAJ,CAASH,UAAT,CAAH,GAA0B,IAAIG,IAAJ,EAA9D;AACA,MAAMC,MAAM,GAAGZ,oBAAoB,CAACY,MAApC;AAEA,SACE,gCAAC,iBAAD;AAAM,IAAA,KAAK,EAAExB,MAAM,CAACO,OAApB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KACGiB,MAAM,KAAK,CAAX,GACC,gCAAC,eAAD;AAAU,IAAA,QAAQ,EAAEN;AAApB,KAAqCH,YAArC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KADD,GAEGS,MAAM,KAAK,CAAX,GACF,gCAAC,YAAD;AAAO,IAAA,QAAQ,EAAEL;AAAjB,KAA2BH,SAA3B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KADE,GAEA,IALN,EAME,gCAAC,iBAAD;AAAM,IAAA,KAAK,EAAE,CAAChB,MAAM,CAACG,IAAR,EAAc;AAAEsB,MAAAA,KAAK,EAAEN;AAAT,KAAd,EAA+BhB,IAA/B,CAAb;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KACGQ,uBAAuB,IAAIW,iBAA3B,GACGX,uBAAuB,CAACW,iBAAD,CAD1B,GAEGV,oBAAoB,CAACQ,UAH3B,CANF,CADF;AAcD,CArCM","sourcesContent":["import React from 'react';\nimport { StyleSheet, Text, View } from 'react-native';\n\nimport type { ChannelPreviewProps } from './ChannelPreview';\n\nimport type { ChannelPreviewMessengerPropsWithContext } from './ChannelPreviewMessenger';\n\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { Check, CheckAll } from '../../icons';\n\nimport type {\n DefaultAttachmentType,\n DefaultChannelType,\n DefaultCommandType,\n DefaultEventType,\n DefaultMessageType,\n DefaultReactionType,\n DefaultUserType,\n UnknownType,\n} from '../../types/types';\n\nconst styles = StyleSheet.create({\n date: {\n fontSize: 12,\n marginLeft: 2,\n textAlign: 'right',\n },\n flexRow: {\n flexDirection: 'row',\n },\n});\n\nexport type ChannelPreviewStatusProps<\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<\n ChannelPreviewMessengerPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n 'latestMessagePreview' | 'formatLatestMessageDate'\n> &\n Pick<ChannelPreviewProps<At, Ch, Co, Ev, Me, Re, Us>, 'channel'>;\n\nexport const ChannelPreviewStatus = <\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: ChannelPreviewStatusProps<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const { formatLatestMessageDate, latestMessagePreview } = props;\n const {\n theme: {\n channelPreview: { checkAllIcon, checkIcon, date },\n colors: { accent_blue, grey },\n },\n } = useTheme();\n\n const created_at = latestMessagePreview.messageObject?.created_at;\n const latestMessageDate = created_at ? new Date(created_at) : new Date();\n const status = latestMessagePreview.status;\n\n return (\n <View style={styles.flexRow}>\n {status === 2 ? (\n <CheckAll pathFill={accent_blue} {...checkAllIcon} />\n ) : status === 1 ? (\n <Check pathFill={grey} {...checkIcon} />\n ) : null}\n <Text style={[styles.date, { color: grey }, date]}>\n {formatLatestMessageDate && latestMessageDate\n ? formatLatestMessageDate(latestMessageDate)\n : latestMessagePreview.created_at}\n </Text>\n </View>\n );\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["ChannelPreviewTitle.tsx"],"names":["styles","StyleSheet","create","title","fontSize","fontWeight","ChannelPreviewTitle","props","displayName","theme","channelPreview","black","colors","color"],"mappings":";;;;;;;AAAA;;AACA;;AAEA;;;;;AAeA,IAAMA,MAAM,GAAGC,wBAAWC,MAAX,CAAkB;AAC/BC,EAAAA,KAAK,EAAE;AAAEC,IAAAA,QAAQ,EAAE,EAAZ;AAAgBC,IAAAA,UAAU,EAAE;AAA5B;AADwB,CAAlB,CAAf;;AAgBO,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAsB,CASjCC,KATiC,EAU9B;AACH,MAAQC,WAAR,GAAwBD,KAAxB,CAAQC,WAAR;;AACA,kBAKI,6BALJ;AAAA,kCACEC,KADF;AAAA,MAEsBN,KAFtB,mBAEIO,cAFJ,CAEsBP,KAFtB;AAAA,MAGcQ,KAHd,mBAGIC,MAHJ,CAGcD,KAHd;;AAOA,SACE,gCAAC,iBAAD;AAAM,IAAA,aAAa,EAAE,CAArB;AAAwB,IAAA,KAAK,EAAE,CAACX,MAAM,CAACG,KAAR,EAAe;AAAEU,MAAAA,KAAK,EAAEF;AAAT,KAAf,EAAiCR,KAAjC,CAA/B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KACGK,WADH,CADF;AAKD,CAxBM","sourcesContent":["import React from 'react';\nimport { StyleSheet, Text } from 'react-native';\n\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\n\nimport type { ChannelPreviewProps } from './ChannelPreview';\n\nimport type {\n DefaultAttachmentType,\n DefaultChannelType,\n DefaultCommandType,\n DefaultEventType,\n DefaultMessageType,\n DefaultReactionType,\n DefaultUserType,\n UnknownType,\n} from '../../types/types';\n\nconst styles = StyleSheet.create({\n title: { fontSize: 14, fontWeight: '700' },\n});\n\nexport type ChannelPreviewTitleProps<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n> = Pick<ChannelPreviewProps<At, Ch, Co, Ev, Me, Re, Us>, 'channel'> & {\n displayName: string;\n};\n\nexport const ChannelPreviewTitle = <\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: ChannelPreviewTitleProps<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const { displayName } = props;\n const {\n theme: {\n channelPreview: { title },\n colors: { black },\n },\n } = useTheme();\n\n return (\n <Text numberOfLines={1} style={[styles.title, { color: black }, title]}>\n {displayName}\n </Text>\n );\n};\n"]}
1
+ {"version":3,"sources":["ChannelPreviewTitle.tsx"],"names":["styles","StyleSheet","create","title","fontSize","fontWeight","ChannelPreviewTitle","props","displayName","theme","channelPreview","black","colors","color"],"mappings":";;;;;;;AAAA;;AACA;;AAIA;;;;;AAaA,IAAMA,MAAM,GAAGC,wBAAWC,MAAX,CAAkB;AAC/BC,EAAAA,KAAK,EAAE;AAAEC,IAAAA,QAAQ,EAAE,EAAZ;AAAgBC,IAAAA,UAAU,EAAE;AAA5B;AADwB,CAAlB,CAAf;;AAgBO,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAsB,CASjCC,KATiC,EAU9B;AACH,MAAQC,WAAR,GAAwBD,KAAxB,CAAQC,WAAR;;AACA,kBAKI,6BALJ;AAAA,kCACEC,KADF;AAAA,MAEsBN,KAFtB,mBAEIO,cAFJ,CAEsBP,KAFtB;AAAA,MAGcQ,KAHd,mBAGIC,MAHJ,CAGcD,KAHd;;AAOA,SACE,gCAAC,iBAAD;AAAM,IAAA,aAAa,EAAE,CAArB;AAAwB,IAAA,KAAK,EAAE,CAACX,MAAM,CAACG,KAAR,EAAe;AAAEU,MAAAA,KAAK,EAAEF;AAAT,KAAf,EAAiCR,KAAjC,CAA/B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KACGK,WADH,CADF;AAKD,CAxBM","sourcesContent":["import React from 'react';\nimport { StyleSheet, Text } from 'react-native';\n\nimport type { ChannelPreviewProps } from './ChannelPreview';\n\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\n\nimport type {\n DefaultAttachmentType,\n DefaultChannelType,\n DefaultCommandType,\n DefaultEventType,\n DefaultMessageType,\n DefaultReactionType,\n DefaultUserType,\n UnknownType,\n} from '../../types/types';\n\nconst styles = StyleSheet.create({\n title: { fontSize: 14, fontWeight: '700' },\n});\n\nexport type ChannelPreviewTitleProps<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n> = Pick<ChannelPreviewProps<At, Ch, Co, Ev, Me, Re, Us>, 'channel'> & {\n displayName: string;\n};\n\nexport const ChannelPreviewTitle = <\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: ChannelPreviewTitleProps<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const { displayName } = props;\n const {\n theme: {\n channelPreview: { title },\n colors: { black },\n },\n } = useTheme();\n\n return (\n <Text numberOfLines={1} style={[styles.title, { color: black }, title]}>\n {displayName}\n </Text>\n );\n};\n"]}
@@ -48,7 +48,7 @@ var ChannelPreviewUnreadCount = function ChannelPreviewUnreadCount(props) {
48
48
  __self: _this,
49
49
  __source: {
50
50
  fileName: _jsxFileName,
51
- lineNumber: 67,
51
+ lineNumber: 68,
52
52
  columnNumber: 5
53
53
  }
54
54
  }, !!unread && _react["default"].createElement(_reactNative.Text, {
@@ -57,7 +57,7 @@ var ChannelPreviewUnreadCount = function ChannelPreviewUnreadCount(props) {
57
57
  __self: _this,
58
58
  __source: {
59
59
  fileName: _jsxFileName,
60
- lineNumber: 69,
60
+ lineNumber: 70,
61
61
  columnNumber: 9
62
62
  }
63
63
  }, unread > maxUnreadCount ? maxUnreadCount + "+" : unread));
@@ -1 +1 @@
1
- {"version":3,"sources":["ChannelPreviewUnreadCount.tsx"],"names":["styles","StyleSheet","create","unreadContainer","alignItems","borderRadius","flexShrink","justifyContent","unreadText","color","fontSize","fontWeight","paddingHorizontal","paddingVertical","ChannelPreviewUnreadCount","props","maxUnreadCount","unread","theme","channelPreview","accent_red","colors","backgroundColor"],"mappings":";;;;;;;AAAA;;AACA;;AAEA;;;;;AAcA,IAAMA,MAAM,GAAGC,wBAAWC,MAAX,CAAkB;AAC/BC,EAAAA,eAAe,EAAE;AACfC,IAAAA,UAAU,EAAE,QADG;AAEfC,IAAAA,YAAY,EAAE,CAFC;AAGfC,IAAAA,UAAU,EAAE,CAHG;AAIfC,IAAAA,cAAc,EAAE;AAJD,GADc;AAO/BC,EAAAA,UAAU,EAAE;AACVC,IAAAA,KAAK,EAAE,SADG;AAEVC,IAAAA,QAAQ,EAAE,EAFA;AAGVC,IAAAA,UAAU,EAAE,KAHF;AAIVC,IAAAA,iBAAiB,EAAE,CAJT;AAKVC,IAAAA,eAAe,EAAE;AALP;AAPmB,CAAlB,CAAf;;AA6BO,IAAMC,yBAAyB,GAAG,SAA5BA,yBAA4B,CASvCC,KATuC,EAUpC;AACH,MAAQC,cAAR,GAAmCD,KAAnC,CAAQC,cAAR;AAAA,MAAwBC,MAAxB,GAAmCF,KAAnC,CAAwBE,MAAxB;;AACA,kBAKI,6BALJ;AAAA,kCACEC,KADF;AAAA,8CAEIC,cAFJ;AAAA,MAEsBhB,eAFtB,yBAEsBA,eAFtB;AAAA,MAEuCK,UAFvC,yBAEuCA,UAFvC;AAAA,MAGcY,UAHd,mBAGIC,MAHJ,CAGcD,UAHd;;AAOA,SACE,gCAAC,iBAAD;AAAM,IAAA,KAAK,EAAE,CAACpB,MAAM,CAACG,eAAR,EAAyB;AAAEmB,MAAAA,eAAe,EAAEF;AAAnB,KAAzB,EAA0DjB,eAA1D,CAAb;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KACG,CAAC,CAACc,MAAF,IACC,gCAAC,iBAAD;AAAM,IAAA,aAAa,EAAE,CAArB;AAAwB,IAAA,KAAK,EAAE,CAACjB,MAAM,CAACQ,UAAR,EAAoBA,UAApB,CAA/B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KACGS,MAAM,GAAGD,cAAT,GAA6BA,cAA7B,SAAiDC,MADpD,CAFJ,CADF;AASD,CA5BM","sourcesContent":["import React from 'react';\nimport { StyleSheet, Text, View } from 'react-native';\n\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\n\nimport type { ChannelPreviewProps } from './ChannelPreview';\nimport type {\n DefaultAttachmentType,\n DefaultChannelType,\n DefaultCommandType,\n DefaultEventType,\n DefaultMessageType,\n DefaultReactionType,\n DefaultUserType,\n UnknownType,\n} from '../../types/types';\n\nconst styles = StyleSheet.create({\n unreadContainer: {\n alignItems: 'center',\n borderRadius: 8,\n flexShrink: 1,\n justifyContent: 'center',\n },\n unreadText: {\n color: '#FFFFFF',\n fontSize: 11,\n fontWeight: '700',\n paddingHorizontal: 5,\n paddingVertical: 1,\n },\n});\n\nexport type ChannelPreviewUnreadCountProps<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n> = Pick<ChannelPreviewProps<At, Ch, Co, Ev, Me, Re, Us>, 'channel'> & {\n maxUnreadCount: number;\n unread?: number;\n};\n\nexport const ChannelPreviewUnreadCount = <\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: ChannelPreviewUnreadCountProps<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const { maxUnreadCount, unread } = props;\n const {\n theme: {\n channelPreview: { unreadContainer, unreadText },\n colors: { accent_red },\n },\n } = useTheme();\n\n return (\n <View style={[styles.unreadContainer, { backgroundColor: accent_red }, unreadContainer]}>\n {!!unread && (\n <Text numberOfLines={1} style={[styles.unreadText, unreadText]}>\n {unread > maxUnreadCount ? `${maxUnreadCount}+` : unread}\n </Text>\n )}\n </View>\n );\n};\n"]}
1
+ {"version":3,"sources":["ChannelPreviewUnreadCount.tsx"],"names":["styles","StyleSheet","create","unreadContainer","alignItems","borderRadius","flexShrink","justifyContent","unreadText","color","fontSize","fontWeight","paddingHorizontal","paddingVertical","ChannelPreviewUnreadCount","props","maxUnreadCount","unread","theme","channelPreview","accent_red","colors","backgroundColor"],"mappings":";;;;;;;AAAA;;AACA;;AAIA;;;;;AAaA,IAAMA,MAAM,GAAGC,wBAAWC,MAAX,CAAkB;AAC/BC,EAAAA,eAAe,EAAE;AACfC,IAAAA,UAAU,EAAE,QADG;AAEfC,IAAAA,YAAY,EAAE,CAFC;AAGfC,IAAAA,UAAU,EAAE,CAHG;AAIfC,IAAAA,cAAc,EAAE;AAJD,GADc;AAO/BC,EAAAA,UAAU,EAAE;AACVC,IAAAA,KAAK,EAAE,SADG;AAEVC,IAAAA,QAAQ,EAAE,EAFA;AAGVC,IAAAA,UAAU,EAAE,KAHF;AAIVC,IAAAA,iBAAiB,EAAE,CAJT;AAKVC,IAAAA,eAAe,EAAE;AALP;AAPmB,CAAlB,CAAf;;AA6BO,IAAMC,yBAAyB,GAAG,SAA5BA,yBAA4B,CASvCC,KATuC,EAUpC;AACH,MAAQC,cAAR,GAAmCD,KAAnC,CAAQC,cAAR;AAAA,MAAwBC,MAAxB,GAAmCF,KAAnC,CAAwBE,MAAxB;;AACA,kBAKI,6BALJ;AAAA,kCACEC,KADF;AAAA,8CAEIC,cAFJ;AAAA,MAEsBhB,eAFtB,yBAEsBA,eAFtB;AAAA,MAEuCK,UAFvC,yBAEuCA,UAFvC;AAAA,MAGcY,UAHd,mBAGIC,MAHJ,CAGcD,UAHd;;AAOA,SACE,gCAAC,iBAAD;AAAM,IAAA,KAAK,EAAE,CAACpB,MAAM,CAACG,eAAR,EAAyB;AAAEmB,MAAAA,eAAe,EAAEF;AAAnB,KAAzB,EAA0DjB,eAA1D,CAAb;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KACG,CAAC,CAACc,MAAF,IACC,gCAAC,iBAAD;AAAM,IAAA,aAAa,EAAE,CAArB;AAAwB,IAAA,KAAK,EAAE,CAACjB,MAAM,CAACQ,UAAR,EAAoBA,UAApB,CAA/B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KACGS,MAAM,GAAGD,cAAT,GAA6BA,cAA7B,SAAiDC,MADpD,CAFJ,CADF;AASD,CA5BM","sourcesContent":["import React from 'react';\nimport { StyleSheet, Text, View } from 'react-native';\n\nimport type { ChannelPreviewProps } from './ChannelPreview';\n\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\n\nimport type {\n DefaultAttachmentType,\n DefaultChannelType,\n DefaultCommandType,\n DefaultEventType,\n DefaultMessageType,\n DefaultReactionType,\n DefaultUserType,\n UnknownType,\n} from '../../types/types';\n\nconst styles = StyleSheet.create({\n unreadContainer: {\n alignItems: 'center',\n borderRadius: 8,\n flexShrink: 1,\n justifyContent: 'center',\n },\n unreadText: {\n color: '#FFFFFF',\n fontSize: 11,\n fontWeight: '700',\n paddingHorizontal: 5,\n paddingVertical: 1,\n },\n});\n\nexport type ChannelPreviewUnreadCountProps<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n> = Pick<ChannelPreviewProps<At, Ch, Co, Ev, Me, Re, Us>, 'channel'> & {\n maxUnreadCount: number;\n unread?: number;\n};\n\nexport const ChannelPreviewUnreadCount = <\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: ChannelPreviewUnreadCountProps<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const { maxUnreadCount, unread } = props;\n const {\n theme: {\n channelPreview: { unreadContainer, unreadText },\n colors: { accent_red },\n },\n } = useTheme();\n\n return (\n <View style={[styles.unreadContainer, { backgroundColor: accent_red }, unreadContainer]}>\n {!!unread && (\n <Text numberOfLines={1} style={[styles.unreadText, unreadText]}>\n {unread > maxUnreadCount ? `${maxUnreadCount}+` : unread}\n </Text>\n )}\n </View>\n );\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["useChannelPreviewDisplayAvatar.ts"],"names":["getChannelPreviewDisplayAvatar","channel","client","currentUserId","user","id","channelId","channelData","data","channelName","name","channelImage","image","members","Object","values","state","otherMembers","filter","member","length","ids","slice","map","images","names","useChannelPreviewDisplayAvatar","displayAvatar","setDisplayAvatar"],"mappings":"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","sourcesContent":["import { useEffect, useState } from 'react';\n\nimport { useChatContext } from '../../../contexts/chatContext/ChatContext';\n\nimport type { Channel, StreamChat } from 'stream-chat';\n\nimport type {\n DefaultAttachmentType,\n DefaultChannelType,\n DefaultCommandType,\n DefaultEventType,\n DefaultMessageType,\n DefaultReactionType,\n DefaultUserType,\n UnknownType,\n} from '../../../types/types';\n\nexport const getChannelPreviewDisplayAvatar = <\n At extends DefaultAttachmentType = DefaultAttachmentType,\n Ch extends DefaultChannelType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends DefaultEventType = DefaultEventType,\n Me extends DefaultMessageType = DefaultMessageType,\n Re extends DefaultReactionType = DefaultReactionType,\n Us extends DefaultUserType = DefaultUserType,\n>(\n channel: Channel<At, Ch, Co, Ev, Me, Re, Us>,\n client: StreamChat<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const currentUserId = client?.user?.id;\n const channelId = channel?.id;\n const channelData = channel?.data;\n const channelName = channelData?.name;\n const channelImage = channelData?.image;\n\n if (channelImage) {\n return {\n id: channelId,\n image: channelImage,\n name: channelName,\n };\n } else if (currentUserId) {\n const members = Object.values(channel.state?.members);\n const otherMembers = members.filter((member) => member.user?.id !== currentUserId);\n\n if (otherMembers.length === 1) {\n return {\n id: otherMembers[0].user?.id,\n image: otherMembers[0].user?.image,\n name: channelName || otherMembers[0].user?.name,\n };\n }\n\n return {\n ids: otherMembers.slice(0, 4).map((member) => member.user?.id || ''),\n images: otherMembers.slice(0, 4).map((member) => member.user?.image || ''),\n names: otherMembers.slice(0, 4).map((member) => member.user?.name || ''),\n };\n }\n return {\n id: channelId,\n name: channelName,\n };\n};\n\n/**\n * Hook to set the display avatar for channel preview\n * @param {*} channel\n *\n * @returns {object} e.g., { image: 'http://dummyurl.com/test.png', name: 'Uhtred Bebbanburg' }\n */\nexport const useChannelPreviewDisplayAvatar = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends DefaultChannelType = 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) => {\n const { client } = useChatContext<At, Ch, Co, Ev, Me, Re, Us>();\n\n const channelData = channel?.data;\n const image = channelData?.image;\n const name = channelData?.name;\n const id = client?.user?.id;\n\n const [displayAvatar, setDisplayAvatar] = useState(\n getChannelPreviewDisplayAvatar(channel, client),\n );\n\n useEffect(() => {\n setDisplayAvatar(getChannelPreviewDisplayAvatar(channel, client));\n }, [id, image, name]);\n\n return displayAvatar;\n};\n"]}
1
+ {"version":3,"sources":["useChannelPreviewDisplayAvatar.ts"],"names":["getChannelPreviewDisplayAvatar","channel","client","currentUserId","user","id","channelId","channelData","data","channelName","name","channelImage","image","members","Object","values","state","otherMembers","filter","member","length","ids","slice","map","images","names","useChannelPreviewDisplayAvatar","displayAvatar","setDisplayAvatar"],"mappings":"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","sourcesContent":["import { useEffect, useState } from 'react';\n\nimport type { Channel, StreamChat } from 'stream-chat';\n\nimport { useChatContext } from '../../../contexts/chatContext/ChatContext';\n\nimport type {\n DefaultAttachmentType,\n DefaultChannelType,\n DefaultCommandType,\n DefaultEventType,\n DefaultMessageType,\n DefaultReactionType,\n DefaultUserType,\n UnknownType,\n} from '../../../types/types';\n\nexport const getChannelPreviewDisplayAvatar = <\n At extends DefaultAttachmentType = DefaultAttachmentType,\n Ch extends DefaultChannelType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends DefaultEventType = DefaultEventType,\n Me extends DefaultMessageType = DefaultMessageType,\n Re extends DefaultReactionType = DefaultReactionType,\n Us extends DefaultUserType = DefaultUserType,\n>(\n channel: Channel<At, Ch, Co, Ev, Me, Re, Us>,\n client: StreamChat<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const currentUserId = client?.user?.id;\n const channelId = channel?.id;\n const channelData = channel?.data;\n const channelName = channelData?.name;\n const channelImage = channelData?.image;\n\n if (channelImage) {\n return {\n id: channelId,\n image: channelImage,\n name: channelName,\n };\n } else if (currentUserId) {\n const members = Object.values(channel.state?.members);\n const otherMembers = members.filter((member) => member.user?.id !== currentUserId);\n\n if (otherMembers.length === 1) {\n return {\n id: otherMembers[0].user?.id,\n image: otherMembers[0].user?.image,\n name: channelName || otherMembers[0].user?.name,\n };\n }\n\n return {\n ids: otherMembers.slice(0, 4).map((member) => member.user?.id || ''),\n images: otherMembers.slice(0, 4).map((member) => member.user?.image || ''),\n names: otherMembers.slice(0, 4).map((member) => member.user?.name || ''),\n };\n }\n return {\n id: channelId,\n name: channelName,\n };\n};\n\n/**\n * Hook to set the display avatar for channel preview\n * @param {*} channel\n *\n * @returns {object} e.g., { image: 'http://dummyurl.com/test.png', name: 'Uhtred Bebbanburg' }\n */\nexport const useChannelPreviewDisplayAvatar = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends DefaultChannelType = 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) => {\n const { client } = useChatContext<At, Ch, Co, Ev, Me, Re, Us>();\n\n const channelData = channel?.data;\n const image = channelData?.image;\n const name = channelData?.name;\n const id = client?.user?.id;\n\n const [displayAvatar, setDisplayAvatar] = useState(\n getChannelPreviewDisplayAvatar(channel, client),\n );\n\n useEffect(() => {\n setDisplayAvatar(getChannelPreviewDisplayAvatar(channel, client));\n }, [id, image, name]);\n\n return displayAvatar;\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["useChannelPreviewDisplayName.ts"],"names":["maxCharacterLengthDefault","getChannelPreviewDisplayName","channelName","currentUserId","maxCharacterLength","members","channelMembers","Object","values","otherMembers","filter","member","user","id","name","slice","reduce","returnString","currentMember","index","originalArray","returnStringLength","length","currentMemberName","remainingMembers","splice","useChannelPreviewDisplayName","channel","characterLength","client","userID","state","numOfMembers","keys","data","displayName","setDisplayName"],"mappings":"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","sourcesContent":["import { useEffect, useState } from 'react';\n\nimport { useChatContext } from '../../../contexts/chatContext/ChatContext';\n\nimport { vw } from '../../../utils/utils';\n\nimport type { Channel } from 'stream-chat';\n\nimport type {\n DefaultAttachmentType,\n DefaultChannelType,\n DefaultCommandType,\n DefaultEventType,\n DefaultMessageType,\n DefaultReactionType,\n DefaultUserType,\n UnknownType,\n} from '../../../types/types';\n\nconst maxCharacterLengthDefault = (vw(100) - 16) / 6;\n\nexport const getChannelPreviewDisplayName = <\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 channelName,\n currentUserId,\n maxCharacterLength,\n members,\n}: {\n maxCharacterLength: number;\n channelName?: string;\n currentUserId?: string;\n members?: Channel<At, Ch, Co, Ev, Me, Re, Us>['state']['members'];\n}) => {\n if (channelName) return channelName;\n\n const channelMembers = Object.values(members || {});\n const otherMembers = channelMembers.filter((member) => member.user?.id !== currentUserId);\n\n const name = otherMembers.slice(0).reduce((returnString, currentMember, index, originalArray) => {\n const returnStringLength = returnString.length;\n const currentMemberName = currentMember.user?.name || currentMember.user?.id || 'Unknown User';\n // a rough approximation of when the +Number shows up\n if (returnStringLength + (currentMemberName.length + 2) < maxCharacterLength) {\n if (returnStringLength) {\n returnString += `, ${currentMemberName}`;\n } else {\n returnString = currentMemberName;\n }\n } else {\n const remainingMembers = originalArray.length - index;\n returnString += `, +${remainingMembers}`;\n originalArray.splice(1); // exit early\n }\n return returnString;\n }, '');\n\n return name;\n};\n\nexport const useChannelPreviewDisplayName = <\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 characterLength?: number,\n) => {\n const { client } = useChatContext<At, Ch, Co, Ev, Me, Re, Us>();\n\n const currentUserId = client.userID;\n const members = channel?.state.members;\n const numOfMembers = Object.keys(members || {}).length;\n const channelName = channel?.data?.name;\n const maxCharacterLength = characterLength || maxCharacterLengthDefault;\n\n const [displayName, setDisplayName] = useState(\n getChannelPreviewDisplayName({\n channelName,\n currentUserId,\n maxCharacterLength,\n members,\n }),\n );\n\n useEffect(() => {\n setDisplayName(\n getChannelPreviewDisplayName({\n channelName,\n currentUserId,\n maxCharacterLength,\n members,\n }),\n );\n }, [channelName, currentUserId, maxCharacterLength, numOfMembers]);\n\n return displayName;\n};\n"]}
1
+ {"version":3,"sources":["useChannelPreviewDisplayName.ts"],"names":["maxCharacterLengthDefault","getChannelPreviewDisplayName","channelName","currentUserId","maxCharacterLength","members","channelMembers","Object","values","otherMembers","filter","member","user","id","name","slice","reduce","returnString","currentMember","index","originalArray","returnStringLength","length","currentMemberName","remainingMembers","splice","useChannelPreviewDisplayName","channel","characterLength","client","userID","state","numOfMembers","keys","data","displayName","setDisplayName"],"mappings":"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","sourcesContent":["import { useEffect, useState } from 'react';\n\nimport type { Channel } from 'stream-chat';\n\nimport { useChatContext } from '../../../contexts/chatContext/ChatContext';\n\nimport type {\n DefaultAttachmentType,\n DefaultChannelType,\n DefaultCommandType,\n DefaultEventType,\n DefaultMessageType,\n DefaultReactionType,\n DefaultUserType,\n UnknownType,\n} from '../../../types/types';\nimport { vw } from '../../../utils/utils';\n\nconst maxCharacterLengthDefault = (vw(100) - 16) / 6;\n\nexport const getChannelPreviewDisplayName = <\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 channelName,\n currentUserId,\n maxCharacterLength,\n members,\n}: {\n maxCharacterLength: number;\n channelName?: string;\n currentUserId?: string;\n members?: Channel<At, Ch, Co, Ev, Me, Re, Us>['state']['members'];\n}) => {\n if (channelName) return channelName;\n\n const channelMembers = Object.values(members || {});\n const otherMembers = channelMembers.filter((member) => member.user?.id !== currentUserId);\n\n const name = otherMembers.slice(0).reduce((returnString, currentMember, index, originalArray) => {\n const returnStringLength = returnString.length;\n const currentMemberName = currentMember.user?.name || currentMember.user?.id || 'Unknown User';\n // a rough approximation of when the +Number shows up\n if (returnStringLength + (currentMemberName.length + 2) < maxCharacterLength) {\n if (returnStringLength) {\n returnString += `, ${currentMemberName}`;\n } else {\n returnString = currentMemberName;\n }\n } else {\n const remainingMembers = originalArray.length - index;\n returnString += `, +${remainingMembers}`;\n originalArray.splice(1); // exit early\n }\n return returnString;\n }, '');\n\n return name;\n};\n\nexport const useChannelPreviewDisplayName = <\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 characterLength?: number,\n) => {\n const { client } = useChatContext<At, Ch, Co, Ev, Me, Re, Us>();\n\n const currentUserId = client.userID;\n const members = channel?.state.members;\n const numOfMembers = Object.keys(members || {}).length;\n const channelName = channel?.data?.name;\n const maxCharacterLength = characterLength || maxCharacterLengthDefault;\n\n const [displayName, setDisplayName] = useState(\n getChannelPreviewDisplayName({\n channelName,\n currentUserId,\n maxCharacterLength,\n members,\n }),\n );\n\n useEffect(() => {\n setDisplayName(\n getChannelPreviewDisplayName({\n channelName,\n currentUserId,\n maxCharacterLength,\n members,\n }),\n );\n }, [channelName, currentUserId, maxCharacterLength, numOfMembers]);\n\n return displayName;\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["useChannelPreviewDisplayPresence.ts"],"names":["getChannelPreviewDisplayPresence","channel","client","currentUserId","userID","members","Object","values","state","otherMembers","filter","member","user","id","length","online","useChannelPreviewDisplayPresence","channelMemberOnline","some","displayPresence","setDisplayPresence"],"mappings":";;;;;;;;;AAAA;;AAEA;;AAeA,IAAMA,gCAAgC,GAAG,SAAnCA,gCAAmC,CASvCC,OATuC,EAUvCC,MAVuC,EAWpC;AACH,MAAMC,aAAa,GAAGD,MAAM,CAACE,MAA7B;;AAEA,MAAID,aAAJ,EAAmB;AACjB,QAAME,OAAO,GAAGC,MAAM,CAACC,MAAP,CAAcN,OAAO,CAACO,KAAR,CAAcH,OAA5B,CAAhB;AACA,QAAMI,YAAY,GAAGJ,OAAO,CAACK,MAAR,CAAe,UAACC,MAAD;AAAA;;AAAA,aAAY,iBAAAA,MAAM,CAACC,IAAP,kCAAaC,EAAb,MAAoBV,aAAhC;AAAA,KAAf,CAArB;;AAEA,QAAIM,YAAY,CAACK,MAAb,KAAwB,CAA5B,EAA+B;AAAA;;AAC7B,aAAO,CAAC,0BAACL,YAAY,CAAC,CAAD,CAAZ,CAAgBG,IAAjB,aAAC,qBAAsBG,MAAvB,CAAR;AACD;AACF;;AACD,SAAO,KAAP;AACD,CAvBD;;AA+BO,IAAMC,gCAAgC,GAAG,SAAnCA,gCAAmC,CAS9Cf,OAT8C,EAU3C;AACH,wBAAmB,kCAAnB;AAAA,MAAQC,MAAR,mBAAQA,MAAR;;AAEA,MAAMC,aAAa,GAAGD,MAAM,CAACE,MAA7B;AACA,MAAMC,OAAO,GAAGC,MAAM,CAACC,MAAP,CAAcN,OAAO,CAACO,KAAR,CAAcH,OAA5B,EAAqCK,MAArC,CACd,UAACC,MAAD;AAAA;;AAAA,WAAY,CAAC,mBAACA,MAAM,CAACC,IAAR,aAAC,cAAaC,EAAd,CAAD,IAAqB,CAAC,CAACV,aAAvB,IAAwC,kBAAAQ,MAAM,CAACC,IAAP,mCAAaC,EAAb,MAAoBV,aAAxE;AAAA,GADc,CAAhB;AAGA,MAAMc,mBAAmB,GAAGZ,OAAO,CAACa,IAAR,CAAa,UAACP,MAAD;AAAA;;AAAA,4BAAYA,MAAM,CAACC,IAAnB,qBAAY,cAAaG,MAAzB;AAAA,GAAb,CAA5B;;AAEA,kBAA8C,qBAAS,KAAT,CAA9C;AAAA;AAAA,MAAOI,eAAP;AAAA,MAAwBC,kBAAxB;;AAEA,wBAAU,YAAM;AACdA,IAAAA,kBAAkB,CAACpB,gCAAgC,CAACC,OAAD,EAAUC,MAAV,CAAjC,CAAlB;AACD,GAFD,EAEG,CAACe,mBAAD,CAFH;AAIA,SAAOE,eAAP;AACD,CA1BM","sourcesContent":["import { useEffect, useState } from 'react';\n\nimport { useChatContext } from '../../../contexts/chatContext/ChatContext';\n\nimport type { Channel, StreamChat } from 'stream-chat';\n\nimport type {\n DefaultAttachmentType,\n DefaultChannelType,\n DefaultCommandType,\n DefaultEventType,\n DefaultMessageType,\n DefaultReactionType,\n DefaultUserType,\n UnknownType,\n} from '../../../types/types';\n\nconst getChannelPreviewDisplayPresence = <\n At extends DefaultAttachmentType = DefaultAttachmentType,\n Ch extends DefaultChannelType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends DefaultEventType = DefaultEventType,\n Me extends DefaultMessageType = DefaultMessageType,\n Re extends DefaultReactionType = DefaultReactionType,\n Us extends DefaultUserType = DefaultUserType,\n>(\n channel: Channel<At, Ch, Co, Ev, Me, Re, Us>,\n client: StreamChat<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const currentUserId = client.userID;\n\n if (currentUserId) {\n const members = Object.values(channel.state.members);\n const otherMembers = members.filter((member) => member.user?.id !== currentUserId);\n\n if (otherMembers.length === 1) {\n return !!otherMembers[0].user?.online;\n }\n }\n return false;\n};\n\n/**\n * Hook to set the display avatar presence for channel preview\n * @param {*} channel\n *\n * @returns {boolean} e.g., true\n */\nexport const useChannelPreviewDisplayPresence = <\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) => {\n const { client } = useChatContext<At, Ch, Co, Ev, Me, Re, Us>();\n\n const currentUserId = client.userID;\n const members = Object.values(channel.state.members).filter(\n (member) => !!member.user?.id && !!currentUserId && member.user?.id !== currentUserId,\n );\n const channelMemberOnline = members.some((member) => member.user?.online);\n\n const [displayPresence, setDisplayPresence] = useState(false);\n\n useEffect(() => {\n setDisplayPresence(getChannelPreviewDisplayPresence(channel, client));\n }, [channelMemberOnline]);\n\n return displayPresence;\n};\n"]}
1
+ {"version":3,"sources":["useChannelPreviewDisplayPresence.ts"],"names":["getChannelPreviewDisplayPresence","channel","client","currentUserId","userID","members","Object","values","state","otherMembers","filter","member","user","id","length","online","useChannelPreviewDisplayPresence","channelMemberOnline","some","displayPresence","setDisplayPresence"],"mappings":";;;;;;;;;AAAA;;AAIA;;AAaA,IAAMA,gCAAgC,GAAG,SAAnCA,gCAAmC,CASvCC,OATuC,EAUvCC,MAVuC,EAWpC;AACH,MAAMC,aAAa,GAAGD,MAAM,CAACE,MAA7B;;AAEA,MAAID,aAAJ,EAAmB;AACjB,QAAME,OAAO,GAAGC,MAAM,CAACC,MAAP,CAAcN,OAAO,CAACO,KAAR,CAAcH,OAA5B,CAAhB;AACA,QAAMI,YAAY,GAAGJ,OAAO,CAACK,MAAR,CAAe,UAACC,MAAD;AAAA;;AAAA,aAAY,iBAAAA,MAAM,CAACC,IAAP,kCAAaC,EAAb,MAAoBV,aAAhC;AAAA,KAAf,CAArB;;AAEA,QAAIM,YAAY,CAACK,MAAb,KAAwB,CAA5B,EAA+B;AAAA;;AAC7B,aAAO,CAAC,0BAACL,YAAY,CAAC,CAAD,CAAZ,CAAgBG,IAAjB,aAAC,qBAAsBG,MAAvB,CAAR;AACD;AACF;;AACD,SAAO,KAAP;AACD,CAvBD;;AA+BO,IAAMC,gCAAgC,GAAG,SAAnCA,gCAAmC,CAS9Cf,OAT8C,EAU3C;AACH,wBAAmB,kCAAnB;AAAA,MAAQC,MAAR,mBAAQA,MAAR;;AAEA,MAAMC,aAAa,GAAGD,MAAM,CAACE,MAA7B;AACA,MAAMC,OAAO,GAAGC,MAAM,CAACC,MAAP,CAAcN,OAAO,CAACO,KAAR,CAAcH,OAA5B,EAAqCK,MAArC,CACd,UAACC,MAAD;AAAA;;AAAA,WAAY,CAAC,mBAACA,MAAM,CAACC,IAAR,aAAC,cAAaC,EAAd,CAAD,IAAqB,CAAC,CAACV,aAAvB,IAAwC,kBAAAQ,MAAM,CAACC,IAAP,mCAAaC,EAAb,MAAoBV,aAAxE;AAAA,GADc,CAAhB;AAGA,MAAMc,mBAAmB,GAAGZ,OAAO,CAACa,IAAR,CAAa,UAACP,MAAD;AAAA;;AAAA,4BAAYA,MAAM,CAACC,IAAnB,qBAAY,cAAaG,MAAzB;AAAA,GAAb,CAA5B;;AAEA,kBAA8C,qBAAS,KAAT,CAA9C;AAAA;AAAA,MAAOI,eAAP;AAAA,MAAwBC,kBAAxB;;AAEA,wBAAU,YAAM;AACdA,IAAAA,kBAAkB,CAACpB,gCAAgC,CAACC,OAAD,EAAUC,MAAV,CAAjC,CAAlB;AACD,GAFD,EAEG,CAACe,mBAAD,CAFH;AAIA,SAAOE,eAAP;AACD,CA1BM","sourcesContent":["import { useEffect, useState } from 'react';\n\nimport type { Channel, StreamChat } from 'stream-chat';\n\nimport { useChatContext } from '../../../contexts/chatContext/ChatContext';\n\nimport type {\n DefaultAttachmentType,\n DefaultChannelType,\n DefaultCommandType,\n DefaultEventType,\n DefaultMessageType,\n DefaultReactionType,\n DefaultUserType,\n UnknownType,\n} from '../../../types/types';\n\nconst getChannelPreviewDisplayPresence = <\n At extends DefaultAttachmentType = DefaultAttachmentType,\n Ch extends DefaultChannelType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends DefaultEventType = DefaultEventType,\n Me extends DefaultMessageType = DefaultMessageType,\n Re extends DefaultReactionType = DefaultReactionType,\n Us extends DefaultUserType = DefaultUserType,\n>(\n channel: Channel<At, Ch, Co, Ev, Me, Re, Us>,\n client: StreamChat<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const currentUserId = client.userID;\n\n if (currentUserId) {\n const members = Object.values(channel.state.members);\n const otherMembers = members.filter((member) => member.user?.id !== currentUserId);\n\n if (otherMembers.length === 1) {\n return !!otherMembers[0].user?.online;\n }\n }\n return false;\n};\n\n/**\n * Hook to set the display avatar presence for channel preview\n * @param {*} channel\n *\n * @returns {boolean} e.g., true\n */\nexport const useChannelPreviewDisplayPresence = <\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) => {\n const { client } = useChatContext<At, Ch, Co, Ev, Me, Re, Us>();\n\n const currentUserId = client.userID;\n const members = Object.values(channel.state.members).filter(\n (member) => !!member.user?.id && !!currentUserId && member.user?.id !== currentUserId,\n );\n const channelMemberOnline = members.some((member) => member.user?.online);\n\n const [displayPresence, setDisplayPresence] = useState(false);\n\n useEffect(() => {\n setDisplayPresence(getChannelPreviewDisplayPresence(channel, client));\n }, [channelMemberOnline]);\n\n return displayPresence;\n};\n"]}